npmrun
57fba8a988
feat: add RegisterForm component with field-level error handling
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
556ba475ef
feat: add CaptchaField component with v-model and loading/error states
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
82d37e04b6
fix: fix PasswordInput test stubs for Vue Test Utils compatibility
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
decabd2fe9
feat: add PasswordInput component with show/hide toggle
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
bf03b50ae3
fix: accept any letter case for password strength score 2
Score 2 (letters+digits >=8) previously only matched lowercase letters.
Now uses hasLetter = hasLower || hasUpper to match the spec's intent.
Added test case for uppercase-only + digits password.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
4c511e404f
feat: add PasswordStrength component with real-time strength scoring
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
882e40baa1
fix: use Zod v4 compatible schema definition without .omit() on refined schemas
Zod v4 does not support .omit() on schemas containing .refine(). Restructured
the shared schema to define server and client schemas independently while
sharing field definitions to avoid duplication.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
b901041d65
chore: add vitest and @nuxt/test-utils for testing
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
9314923f52
feat: add field-level error metadata to register endpoint responses
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
f6ed96efbb
refactor: extract shared Zod registration schema to packages/shared
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
823009e998
fix: make ApiError generic to preserve type information
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
9ca4608fe0
feat: add ApiError class to preserve error data through unwrapApiBody
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
5f95f33d6b
fix: return data parameter in R.error response helper
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
ae9a68eed4
docs: add registration page improvement implementation plan
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
0d88aa3d11
docs: add registration page improvement design spec
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
69c800fbb6
fix: differentiate UNIQUE constraint from other DB errors on registration
Previously the catch block treated all insert errors as "username already
exists". Now it checks the error message for UNIQUE/SQLITE_CONSTRAINT and
only returns the duplicate-username message for that case. Other errors
are logged and return a generic failure message.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
4dd9e8627c
feat: wire header login button to /register
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
f1853b8fab
fix: add double-submission guard, captcha ARIA labels, and error handling on mount
- Guard onSubmit against concurrent calls via loading flag
- Add role="img" and aria-label to captcha SVG container for accessibility
- Wrap initial captcha fetch in try/catch to show error toast on failure
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
c151fda781
feat: add registration page with captcha support
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
4d507df75d
fix: use try-catch on insert to handle TOCTOU username race condition
Replaced select-then-insert with direct insert wrapped in try-catch.
The UNIQUE constraint on username catches duplicate registrations
atomically, returning a clean error message instead of leaking
a raw DB exception.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
c7f791cf55
feat: add POST /api/auth/register endpoint
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
0aa5660d20
feat: add GET /api/auth/captcha endpoint
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
d669977f9a
fix: add trim() to username validation to prevent whitespace-only values
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
782697bd46
feat: add registration Zod validation schema
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
3f4aaa5773
feat: add captcha generation and verification utility
2 weeks ago
npmrun
d8a0191786
chore: add svg-captcha dependency
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
e138b12f57
docs: add registration page implementation plan
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
67e3f3e508
docs: add registration page design spec
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
a1eeb0683f
feat: add MCP server configuration and enhance scheduler task modal with advanced settings
2 weeks ago
npmrun
0e9a27c6b8
fix: resolve TypeScript type errors in scheduler admin pages
- Use properly typed computed properties for API data
- Cast UTable rows through unknown to avoid type overlap errors
- Use valid Nuxt UI badge colors (success/error/warning/neutral)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
b40e37ac0e
fix: use explicit import for cleanup-logs to avoid tree-shaking
Nuxt's bundler tree-shakes side-effect-only imports (import "./file").
Changed to export the handler from cleanup-logs.ts and call registerTask
explicitly in the plugin to ensure the task is registered at startup.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
0a1e5b9e6e
feat: add example cleanup-logs system task
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
d5a7b5ca03
feat: add scheduler task detail page with execution history
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
d5250222be
feat: add scheduler task create/edit modal component
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
db8aebb56d
feat: add scheduler admin list page with task table
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
7a274bc7f0
feat: add API endpoints for execution logs and stats
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
5f8fc0dfc4
feat: add API endpoints to trigger and toggle tasks
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
825116ecdc
feat: add API endpoints to get, update, and delete tasks
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
61d4d3bcd2
feat: add API endpoints to list and create scheduled tasks
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
512ee6cc27
feat: wire scheduler lifecycle into Nitro plugin
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
2fc5573dc1
feat: add Scheduler Engine with croner integration and hot-reload support
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
d853e57db7
feat: add Executor Pool with concurrency control
2 weeks ago
npmrun
a16e0b7099
feat: add Task Registry for named function handlers
2 weeks ago
npmrun
9bbe84ae03
feat: add scheduler service layer with task/execution CRUD
2 weeks ago
npmrun
1e98071044
feat: add scheduler tables migration
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
a079ec159a
feat: add scheduler Drizzle schema (scheduled_tasks, task_execution_logs)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
cab7c587ca
chore: add croner dependency for scheduled tasks
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
741d152e14
add scheduled tasks implementation plan (18 tasks)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
e42b0a6a37
add scheduled tasks feature design spec
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
npmrun
49a6446dc1
add
2 weeks ago