Convex control plane (Slices 1-4 prerequisites for Slice 5): - Versioned Definition/Design persistence: revisions preserve history instead of deleting prior slices/approvals - Fenced conversation turn queue: attempt-numbered leases prevent stale worker overwrites; expired turns reconciled by cron - Fenced Run/Attempt claiming: only queued attempts from running Runs can be claimed; lease expiry checks on every finish/checkpoint - Multi-slice progression: successful slice marks next slice ready instead of completing the whole Work; completed Runs blocked from retry - Typed AttemptClassification in schema and resolver decisions table - Durable resolver decisions for normal outcomes, cancellation, and lease-expiry recovery - Persistent artifacts and delivery metadata with provenance, source revision, verification status, and controlled delivery transitions - High-impact open questions block definition approval - Question submission gated to defining/awaiting-approval states only - Delivery status updates validate JSON metadata before persisting - Planner failures recorded as durable blocked events - Approval identity uses canonical tokenIdentifier Primitives: - decodeDefinition separates decode from validate - Design validation enforces 1-4 slices with unique IDs and valid deps - Artifact and delivery draft schemas with verified-revision binding - Delivery status transition table Package management: - Consolidated shared deps into single catalog (hono, valibot, streamdown, @types/react, @types/node, @tailwindcss/*, react-native) - Removed cross-version Hono boundary: flue() exported as Fetchable - Deleted bun.lock and regenerated from clean catalog resolution Lint/format: - Removed .eslintignore; oxc uses native ignorePatterns in oxlint.config.ts - Deleted redundant packages/backend/.oxlintrc.json - Added repos/** and scripts/** to ignore patterns - Convex-specific rule overrides for ES2022 target constraints - Fixed all oxc errors in fluePersistence.ts and agents/src/db.ts - Fixed all formatting across changed files
47 lines
1.2 KiB
JSON
47 lines
1.2 KiB
JSON
{
|
|
"name": "@code/ui",
|
|
"version": "0.0.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"exports": {
|
|
"./globals.css": "./src/styles/globals.css",
|
|
"./lib/*": "./src/lib/*.ts",
|
|
"./components/*": "./src/components/*.tsx",
|
|
"./hooks/*": "./src/hooks/*.ts",
|
|
"./postcss.config": "./postcss.config.mjs"
|
|
},
|
|
"scripts": {
|
|
"check-types": "tsc --noEmit"
|
|
},
|
|
"dependencies": {
|
|
"@base-ui/react": "^1.6.0",
|
|
"@shadcn/react": "^0.2.0",
|
|
"@streamdown/cjk": "^1.0.3",
|
|
"@streamdown/code": "^1.1.1",
|
|
"@streamdown/math": "^1.0.2",
|
|
"@streamdown/mermaid": "^1.0.2",
|
|
"ai": "^7.0.35",
|
|
"class-variance-authority": "^0.7.1",
|
|
"clsx": "^2.1.1",
|
|
"lucide-react": "catalog:",
|
|
"next-themes": "catalog:",
|
|
"react": "catalog:",
|
|
"react-dom": "catalog:",
|
|
"shadcn": "^4.12.0",
|
|
"shiki": "^4.3.1",
|
|
"sonner": "catalog:",
|
|
"streamdown": "catalog:",
|
|
"tailwind-merge": "catalog:",
|
|
"tw-animate-css": "^1.4.0",
|
|
"use-stick-to-bottom": "^1.1.6"
|
|
},
|
|
"devDependencies": {
|
|
"@code/config": "workspace:*",
|
|
"@tailwindcss/postcss": "catalog:",
|
|
"@types/react": "catalog:",
|
|
"@types/react-dom": "catalog:",
|
|
"tailwindcss": "catalog:",
|
|
"typescript": "catalog:"
|
|
}
|
|
}
|