learning_ai_notes/web
saravanakumardb1 3260b7ea0a feat(smart-actions): F1-F4 inline editor AI, F15-F19 mobile capture modes, F25-F27 scheduler/webhooks/approval
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
2026-04-06 10:25:34 -07:00
..
e2e chore: resolve pnpm-lock.yaml conflict after rebase 2026-04-06 08:03:46 -07:00
public feat: implement WEB_AI_FAST_ROADMAP (web + backend + docs) 2026-03-31 13:00:36 -07:00
src feat(smart-actions): F1-F4 inline editor AI, F15-F19 mobile capture modes, F25-F27 scheduler/webhooks/approval 2026-04-06 10:25:34 -07:00
test-results chore: update dependencies 2026-03-29 10:50:57 -07:00
.env.example feat: implement WEB_AI_FAST_ROADMAP (web + backend + docs) 2026-03-31 13:00:36 -07:00
.gitignore feat(notes): scaffold product surfaces and backend MCP slices 2026-03-10 08:53:07 -07:00
Dockerfile chore: resolve pnpm-lock.yaml conflict after rebase 2026-04-06 08:03:46 -07:00
eslint.config.mjs fix(repo): restore web lint and ignore generated artifacts 2026-03-10 10:30:49 -07:00
next-env.d.ts chore: resolve pnpm-lock.yaml conflict after rebase 2026-04-06 08:03:46 -07:00
next.config.ts fix(web): prepare Vercel build and standalone runtime 2026-03-31 06:05:16 +00:00
package.json fix(web): prepare Vercel build and standalone runtime 2026-03-31 06:05:16 +00:00
playwright.config.ts chore: resolve pnpm-lock.yaml conflict after rebase 2026-04-06 08:03:46 -07:00
tsconfig.json feat(repo): migrate notelett workspace to pnpm 2026-03-22 15:50:54 -07:00
vitest.config.ts fix(web): add Next.js module mocks for Vitest — all 14 tests pass (was 10/14) 2026-03-29 01:03:11 -07:00