F1-F4: Inline editor AI - Backend: expand CopilotAction with fix-rewrite, change-tone, continue, explain - Backend: add tone parameter to copilot route for change-tone action - Web: copilot-client adds CopilotTone type and tone parameter - Web: NoteEditor toolbar gains AI row with Fix & Rewrite, Change Tone dropdown, Continue Writing (appends at cursor), Explain (inline popover) F15-F19: Mobile capture enhancements - Backend: POST /note-prompts/url-extract endpoint (fetch, strip HTML, LLM summarize) - Mobile API: extractFromUrl() and copilotTransform() client functions - Mobile: capture tab rewritten with 6 capture modes grid (text, photo, voice, URL, scan, paste) — URL extract + clipboard paste fully wired, camera/voice/scan surface native permission prompts (require expo-av/expo-image-picker) - expo-clipboard added as dependency F25-F27: Scheduled actions, webhook triggers, approval-gated actions - New scheduler.ts module with PromptScheduleDoc + PromptWebhookDoc types - Schedule CRUD: GET/POST/PATCH/DELETE /prompt-schedules - Webhook CRUD: GET/POST/PATCH/DELETE /prompt-webhooks - POST /prompt-webhooks/:id/trigger — execute template against note - Scheduler loop (60s tick) with cron next-run calculation - Diagnostics endpoint: GET /prompt-schedules/diagnostics - Cosmos containers: note_prompt_schedules, note_prompt_webhooks - PromptTemplateDoc gains requiresApproval field (F27) - Runner produces approvalState: proposed|applied based on template flag - Create/Update schemas accept requiresApproval boolean
58 lines
1.8 KiB
JSON
58 lines
1.8 KiB
JSON
{
|
|
"name": "@notelett/mobile",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"packageManager": "pnpm@10.6.5",
|
|
"main": "index.ts",
|
|
"scripts": {
|
|
"start": "expo start",
|
|
"ios": "expo start --ios",
|
|
"android": "expo start --android",
|
|
"web": "expo start --web",
|
|
"test": "vitest run --passWithNoTests",
|
|
"test:watch": "vitest",
|
|
"typecheck": "tsc --noEmit",
|
|
"lint": "eslint . --ext .ts,.tsx"
|
|
},
|
|
"dependencies": {
|
|
"@bytelyst/api-client": "^0.1.0",
|
|
"@bytelyst/auth-client": "^0.1.0",
|
|
"@bytelyst/blob-client": "^0.1.0",
|
|
"@bytelyst/broadcast-client": "^0.1.0",
|
|
"@bytelyst/design-tokens": "^0.1.0",
|
|
"@bytelyst/diagnostics-client": "^0.1.0",
|
|
"@bytelyst/feature-flag-client": "^0.1.0",
|
|
"@bytelyst/feedback-client": "^0.1.0",
|
|
"@bytelyst/kill-switch-client": "^0.1.0",
|
|
"@bytelyst/offline-queue": "^0.1.0",
|
|
"@bytelyst/survey-client": "^0.1.0",
|
|
"@bytelyst/telemetry-client": "^0.1.0",
|
|
"expo": "~55.0.4",
|
|
"expo-clipboard": "^55.0.11",
|
|
"expo-constants": "~18.0.13",
|
|
"expo-router": "~6.0.4",
|
|
"expo-status-bar": "~3.0.9",
|
|
"react": "19.2.0",
|
|
"react-dom": "19.2.0",
|
|
"react-native": "0.83.2",
|
|
"react-native-gesture-handler": "~2.30.0",
|
|
"react-native-mmkv": "^3.2.0",
|
|
"react-native-reanimated": "4.2.1",
|
|
"react-native-safe-area-context": "~5.6.2",
|
|
"react-native-screens": "~4.23.0",
|
|
"zustand": "^5.0.8"
|
|
},
|
|
"devDependencies": {
|
|
"@testing-library/react-native": "^13.2.1",
|
|
"@types/react": "~19.2.10",
|
|
"@types/react-test-renderer": "^19.1.0",
|
|
"@typescript-eslint/eslint-plugin": "^8.44.0",
|
|
"@typescript-eslint/parser": "^8.44.0",
|
|
"eslint": "^9.36.0",
|
|
"eslint-config-expo": "~10.0.0",
|
|
"react-test-renderer": "19.2.0",
|
|
"typescript": "~5.9.2",
|
|
"vitest": "^3.2.4"
|
|
}
|
|
}
|