veritas-kanban/server
Brad Groux 564d2b4386 feat(server): Add Zod validation layer for request inputs (RF-07)
- Add reusable validation middleware (middleware/validate.ts)
  - Generic type-safe ValidatedRequest for typed access to validated data
  - ZodError → ValidationError transformation with details

- Add common validation schemas (schemas/common.ts)
  - TaskIdSchema with format validation (task_YYYYMMDD_XXXXXX)
  - Helper functions: positiveInt, optionalPositiveInt, nonEmptyString
  - TelemetryEventTypeSchema, MetricsPeriodSchema enums

- Add route-specific schemas:
  - diff-schemas.ts: DiffParamsSchema, DiffFileQuerySchema
  - preview-schemas.ts: PreviewParamsSchema, PreviewOutputQuerySchema
  - telemetry-schemas.ts: TelemetryEventsQuerySchema, TelemetryCountQuerySchema
  - metrics-schemas.ts: MetricsQuerySchema with period validation
  - conflicts-schemas.ts: ResolveConflictBodySchema, ContinueMergeBodySchema

- Update routes to use validation middleware:
  - diff.ts: Validate taskId params and file path query
  - preview.ts: Validate taskId and lines query (default 50, max 1000)
  - telemetry.ts: Validate event type filters with enum check
  - metrics.ts: Validate period enum (24h|7d|30d)
  - conflicts.ts: Validate taskId, path, and resolution body

- Update task-service.ts:
  - Wrap gray-matter parsing in try-catch to handle malformed frontmatter
  - Add TaskId format validation with warning log for invalid files
  - Filter out null values from failed task file parses

- Fix metrics-service.ts type compatibility with updated shared types
  - Change AgentType to string to match telemetry event types

Closes RF-07
2026-01-28 07:39:23 -06:00
..
.veritas-kanban feat(sprint-1500): status refactor review→blocked + blocked reason tracking 2026-01-28 07:30:05 -06:00
src feat(server): Add Zod validation layer for request inputs (RF-07) 2026-01-28 07:39:23 -06:00
.env.example feat(server): Add authentication & authorization system 2026-01-28 07:37:44 -06:00
package.json feat: Sprint US-1200 Refactoring batch — 13 tasks complete 2026-01-28 06:08:59 -06:00
tsconfig.json feat: Sprint US-1200 Refactoring batch — 13 tasks complete 2026-01-28 06:08:59 -06:00
vitest.config.ts US-1154: Add test coverage for settings features 2026-01-28 03:05:52 -06:00