feat: multimodal AI event creation with image support #1
Reference in New Issue
Block a user
No description provided.
Delete Branch "image-parse"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
bun run typecheckandbun run lint(ESLint + Biome)Changes
New Features
ImagePickercomponent for file upload (PNG, JPEG, WebP)AIToolbarDragDropContainerSecurity & Validation
data:image/(png|jpeg|webp);base64,...), actual binary size check (≤10MB)start/endfieldsDATABASE_URLenv var validation with descriptive error instead of non-null assertionCode Quality
extractJsonFromTextto sharedsrc/lib/json-utils.tssrc/lib/constants.tshandleAiCreateinto focused functions (sendAiRequest,populateEventForm,persistAiEvents)setAiLoadingrace conditionextractContentFromChatResponse()instead of nested ternary fallthroughCalendarEventtype fromAiEventResponseItemImagePickervariant/size types frombuttonVariantsviaVariantPropsprocess.env.AI_MODELTooling
biome.jsonwith Tailwind CSS directive supportsrc/css.d.tsmodule declaration for TypeScriptFiles Changed
.opencode/context files and lockfile updatesTest Plan
bun run typecheckpasses with zero errorsbun run lintpasses with zero errors/warnings