@mndrk/agx 2.0.26 → 2.0.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -6
- package/cloud-runtime/standalone/.next/BUILD_ID +1 -1
- package/cloud-runtime/standalone/.next/app-path-routes-manifest.json +7 -0
- package/cloud-runtime/standalone/.next/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/prerender-manifest.json +3 -3
- package/cloud-runtime/standalone/.next/required-server-files.json +4 -4
- package/cloud-runtime/standalone/.next/routes-manifest.json +51 -0
- package/cloud-runtime/standalone/.next/server/app/_global-error/page/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/_global-error.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/_global-error.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found/page/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents/[id]/page/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents/[id]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents/page/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents.segments/agents.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/agent-specs/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/agent-specs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js +4 -4
- package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/automations/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/automations/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/chat/route.js +7 -4
- package/cloud-runtime/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route.js +8 -0
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js +7 -0
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route.js +8 -0
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/api/daemon/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/daemon/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/file-search/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/health/route.js +5 -4
- package/cloud-runtime/standalone/.next/server/app/api/health/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/history/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js +8 -0
- package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js +5 -4
- package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/logs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/logs/stream/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/logs/stream/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/memories/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/memories/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/messages/[id]/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/messages/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/migrate/teams-to-projects/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/migrate/teams-to-projects/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/migrate/workspaces-to-projects/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/migrate/workspaces-to-projects/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js +6 -4
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js +4 -3
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/participants/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/participants/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/processes/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/processes/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/memory/route.js +4 -4
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/memory/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js +4 -4
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js +4 -4
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js +4 -3
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/route.js +4 -3
- package/cloud-runtime/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/providers/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/providers/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js +4 -3
- package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/queue/route.js +6 -5
- package/cloud-runtime/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/reactions/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/repos/[id]/knowledge/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/repos/[id]/knowledge/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js +4 -4
- package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js +4 -4
- package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/schedules/route.js +4 -4
- package/cloud-runtime/standalone/.next/server/app/api/schedules/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/search/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/status/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/system/db-status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/task-drafts/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js +4 -3
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js +6 -5
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js +5 -4
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js +5 -4
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js +4 -4
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js +5 -5
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js +5 -5
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/pause/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/pause/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js +5 -5
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js +4 -3
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js +4 -3
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js +4 -4
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js +5 -5
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js +6 -5
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js +4 -3
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/heartbeat/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/heartbeat/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js +5 -4
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js +4 -3
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/stream/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/stream/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js +7 -6
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js +7 -6
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js +6 -5
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js +6 -5
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js +7 -6
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js +8 -6
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js +4 -3
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js +5 -4
- package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js +7 -6
- package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/stream/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/tasks/stream/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js +10 -0
- package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/api/threads/route.js +5 -2
- package/cloud-runtime/standalone/.next/server/app/api/threads/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js +5 -4
- package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations/page/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/automations/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/automations.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/automations.segments/automations.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/board/page/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/board/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/board.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/board.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/board.segments/board.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph/page/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/index.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/index.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/page/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page/build-manifest.json +18 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page/next-font-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page/react-loadable-manifest.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page.js +16 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page/build-manifest.json +18 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page/next-font-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page/react-loadable-manifest.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page.js +16 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/projects/orphans/page/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/page/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.segments/projects.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings/page/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings.segments/settings.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/status/page/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/status/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/status/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/status.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/status.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/status.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/status.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.segments/status/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.segments/status.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/thread/[id]/page/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/thread/[id]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome/page/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app-paths-manifest.json +7 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__017f03c3._.js +13 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__06634853._.js +80 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__0b3b6a47._.js +51 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__16dd1fd7._.js +13 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__18423486._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__19520d85._.js +75 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1c18c0d1._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1cc2fe7f._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__241a8bcf._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__29419d66._.js +42 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__32b13ba9._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3c1567b6._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3c37453e._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3faa64cd._.js +4 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__42497c7b._.js +80 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4837d72a._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__49c03d66._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__b40c7aab._.js → [root-of-the-server]__4a8d14c1._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4c50f159._.js +4 -4
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4c861686._.js +46 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4c8624cc._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4d8c6e3d._.js +58 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__50ddd3ce._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__543ba6c4._.js +5 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__588b6ab0._.js +46 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__59b5d4e5._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5a348fba._.js +42 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5d359afa._.js +46 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__61c99680._.js +52 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__666f8712._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6acb940d._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6c26221d._.js +7 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__74b97f0a._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7e79d86a._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7ffcc20c._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__875279cb._.js +112 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__13677d96._.js → [root-of-the-server]__8b0ab82f._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__8b461158._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__918f0106._.js +80 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__922eb7cd._.js +80 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a189593a._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__e6ad07c3._.js → [root-of-the-server]__a67cd108._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__d8cedc8a._.js → [root-of-the-server]__abb032c1._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b3ed0a00._.js +46 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b4d05543._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b63cb741._.js +63 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b9b3fde6._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__be4ad4b5._.js +46 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c0a18648._.js +80 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c480c9c2._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c5b8ceb7._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c8b49077._.js +79 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c99509c2._.js +101 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ceb02db8._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d6e1ee6e._.js +32 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__da20a0aa._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e069c0a3._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e122cae2._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e1e51c02._.js +7 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ef82dda1._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f168c6dc._.js +25 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f1b7932f._.js +36 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f701b208._.js +146 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fa0ebee3._.js +13 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fce2cdce._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__2e596cc8._.js → [root-of-the-server]__fee58db1._.js} +5 -5
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ffffceac._.js +6 -0
- package/cloud-runtime/standalone/.next/server/chunks/_05fa3b89._.js +46 -0
- package/cloud-runtime/standalone/.next/server/chunks/_0a767dfe._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_2f3e5ac1._.js +6 -0
- package/cloud-runtime/standalone/.next/server/chunks/_4190f170._.js +46 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__a104cda8._.js → _42e9c8d5._.js} +7 -7
- package/cloud-runtime/standalone/.next/server/chunks/_5462a047._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_5ca51127._.js +54 -0
- package/cloud-runtime/standalone/.next/server/chunks/_5fd6af5d._.js +57 -0
- package/cloud-runtime/standalone/.next/server/chunks/_6bb93816._.js +6 -0
- package/cloud-runtime/standalone/.next/server/chunks/_7011db4f._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_8b9fde82._.js +97 -0
- package/cloud-runtime/standalone/.next/server/chunks/_95ac98db._.js +49 -0
- package/cloud-runtime/standalone/.next/server/chunks/_994414cd._.js +54 -0
- package/cloud-runtime/standalone/.next/server/chunks/_99b78daf._.js +46 -0
- package/cloud-runtime/standalone/.next/server/chunks/_a877d34f._.js +6 -0
- package/cloud-runtime/standalone/.next/server/chunks/_affbdbb0._.js +46 -0
- package/cloud-runtime/standalone/.next/server/chunks/_c31ca6ab._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_c965f7b3._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_d225c04f._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_d22934ab._.js +97 -0
- package/cloud-runtime/standalone/.next/server/chunks/_ee99a36b._.js +6 -0
- package/cloud-runtime/standalone/.next/server/chunks/_efc73784._.js +46 -0
- package/cloud-runtime/standalone/.next/server/chunks/_fba13a4a._.js +6 -0
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_chat-runs_[id]_route_actions_033ac330.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_chat-runs_[id]_signal_route_actions_4b56f1cd.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_chat-runs_route_actions_0c8cd01c.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_knowledge-notes_route_actions_0ddf6109.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_threads_knowledge_route_actions_c139bcf7.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/lib_7cad5c77._.js +64 -0
- package/cloud-runtime/standalone/.next/server/chunks/lib_87c06aeb._.js +25 -0
- package/cloud-runtime/standalone/.next/server/chunks/lib_db_ts_e06c6085._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/lib_ea45fe73._.js +68 -23
- package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_2e721df2._.js +94 -42
- package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_74d1c060._.js +91 -44
- package/cloud-runtime/standalone/.next/server/chunks/lib_sqlite-query-adapter_ts_3ea4d849._.js +87 -17
- package/cloud-runtime/standalone/.next/server/chunks/lib_sqlite-query-adapter_ts_b0b1a9b2._.js +294 -0
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0f808fa3.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_2bdede98.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_371d0bff.js +50 -43
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_3d31fed0.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_57a073eb.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_7f8022ab.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_84e28f38.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_8ec90680.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_a590fcd6.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_cc6c687d.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/src_graph_14067235._.js +46 -0
- package/cloud-runtime/standalone/.next/server/chunks/src_graph_api-route-utils_ts_b7225a0e._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/src_graph_b63e2d39._.js +46 -0
- package/cloud-runtime/standalone/.next/server/chunks/src_graph_executor_ts_55c06268._.js +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/src_graph_executor_ts_a8bc8d58._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__04d1aa70._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__2d80540b._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__47caef59._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__5ffa2883._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__6e83bf83._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__8973b16a._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__a0a1cb74._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__a416df95._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__c108f06c._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__fca7df40._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_27f9c020._.js → _0061ebd8._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_064370bc._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_41f60c52._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_6b14826d._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_a696e9b3._.js → _84879a01._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_85ca101b._.js +8 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_c838f593._.js → _9eeb2fa0._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_a0cc0fe7._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_a10eb951._.js +4 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_4b5d7c9b._.js → _a1d30b20._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_27cb3359._.js → _c87c359c._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_cb4d8a23._.js +4 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_6a367524._.js → _ccb409c5._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_cd5e154b._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_d021529a._.js → _dd31b6e0._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_f0ce6183._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_next-internal_server_app_projects_[slug]_knowledge_page_actions_1037c40a.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/app_execution-graph_page_tsx_f854185a._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_graph_[taskId]_page_tsx_d8b1d582._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_knowledge_page_tsx_e2a55cbd._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/app_welcome_page_tsx_6c79bc59._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/ce889_server_app_projects_[slug]_thread_[threadId]_page_actions_660a8857.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/components_chat-ui_bfeda794._.js +5 -5
- package/cloud-runtime/standalone/.next/server/chunks/ssr/components_thread_WorkspaceSidebar_tsx_e660301b._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_e70f9321._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_bf855424._.js +3 -0
- package/cloud-runtime/standalone/.next/server/functions-config-manifest.json +5 -0
- package/cloud-runtime/standalone/.next/server/middleware-build-manifest.js +2 -2
- package/cloud-runtime/standalone/.next/server/middleware-manifest.json +5 -5
- package/cloud-runtime/standalone/.next/server/next-font-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/next-font-manifest.json +8 -0
- package/cloud-runtime/standalone/.next/server/pages/404.html +2 -2
- package/cloud-runtime/standalone/.next/server/pages/500.html +2 -2
- package/cloud-runtime/standalone/.next/server/server-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/server-reference-manifest.json +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/{b5bd2eb6e0c7f71a.js → 010aff7b601302de.js} +3 -3
- package/cloud-runtime/standalone/.next/static/chunks/012e3e9699415997.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/031d99fbe758545a.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/0c467f54bc78a380.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/{b4e298542d366e31.js → 116985039c24f1f8.js} +9 -9
- package/cloud-runtime/standalone/.next/static/chunks/2ee8d24314eec47c.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/3a55441b018d52e4.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/43f6157bc3db9c52.js +6 -0
- package/cloud-runtime/standalone/.next/static/chunks/486bf7ff282b91a6.js +5 -0
- package/cloud-runtime/standalone/.next/static/chunks/{e44264686aa5ecbf.js → 56a01238098d495d.js} +9 -9
- package/cloud-runtime/standalone/.next/static/chunks/{45b4d0ee5c92d45b.js → 601996727991149e.js} +9 -9
- package/cloud-runtime/standalone/.next/static/chunks/851b1d97179bd39b.css +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/8d15ced2dc70090a.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/90b581e9631d8cea.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/b22947e6df238fd5.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/{616d66dbec9e4b8b.js → b2dcd19ebe3af3f6.js} +9 -9
- package/cloud-runtime/standalone/.next/static/chunks/bc06988336ffd261.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/{3344004561eabdf8.js → bc3cad3c821b169b.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/c93b9643c81c134e.js +8 -0
- package/cloud-runtime/standalone/.next/static/chunks/d5d6be8239e57c56.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/{88e24940a5d5d386.js → d78cc7d749043fef.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/{ee5f1457fbc593e1.js → dfff51033c303fc7.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/ebaf4e8f04bae7b6.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/f4909e7ae8229b1c.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/fd221a50082e5128.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/{turbopack-5b5918f610666d2d.js → turbopack-97e846241a3a64af.js} +1 -1
- package/cloud-runtime/standalone/README.md +3 -3
- package/cloud-runtime/standalone/app/api/chat/route.ts +74 -28
- package/cloud-runtime/standalone/app/api/chat-runs/[id]/route.ts +19 -0
- package/cloud-runtime/standalone/app/api/chat-runs/[id]/signal/route.ts +32 -0
- package/cloud-runtime/standalone/app/api/chat-runs/route.ts +37 -0
- package/cloud-runtime/standalone/app/api/history/route.ts +6 -0
- package/cloud-runtime/standalone/app/api/knowledge-notes/route.ts +53 -0
- package/cloud-runtime/standalone/app/api/projects/[id]/memory/route.ts +17 -0
- package/cloud-runtime/standalone/app/api/providers/route.ts +9 -13
- package/cloud-runtime/standalone/app/api/schedules/debug/route.ts +23 -3
- package/cloud-runtime/standalone/app/api/schedules/poll/route.ts +5 -3
- package/cloud-runtime/standalone/app/api/schedules/route.ts +12 -17
- package/cloud-runtime/standalone/app/api/status/route.ts +6 -5
- package/cloud-runtime/standalone/app/api/threads/knowledge/route.ts +91 -0
- package/cloud-runtime/standalone/app/api/threads/route.ts +18 -1
- package/cloud-runtime/standalone/app/globals.css +1 -4
- package/cloud-runtime/standalone/app/projects/[slug]/graph/[taskId]/page.tsx +0 -21
- package/cloud-runtime/standalone/app/projects/[slug]/knowledge/page.tsx +792 -0
- package/cloud-runtime/standalone/app/projects/[slug]/layout.tsx +18 -2
- package/cloud-runtime/standalone/app/projects/[slug]/page.tsx +1 -455
- package/cloud-runtime/standalone/app/projects/[slug]/thread/[threadId]/page.tsx +14 -0
- package/cloud-runtime/standalone/app/welcome/page.tsx +329 -107
- package/cloud-runtime/standalone/components/ActionToolbar.tsx +3 -3
- package/cloud-runtime/standalone/components/ConfirmDialog.tsx +133 -0
- package/cloud-runtime/standalone/components/IconButton.tsx +3 -3
- package/cloud-runtime/standalone/components/ProjectModal.tsx +2 -2
- package/cloud-runtime/standalone/components/chat-ui/ChatContainer.tsx +441 -81
- package/cloud-runtime/standalone/components/chat-ui/Composer.tsx +149 -97
- package/cloud-runtime/standalone/components/chat-ui/Markdown.tsx +19 -9
- package/cloud-runtime/standalone/components/chat-ui/ThreadView.tsx +73 -34
- package/cloud-runtime/standalone/components/thread/WorkspaceSidebar.tsx +83 -50
- package/cloud-runtime/standalone/hooks/useComposerHistory.ts +130 -0
- package/cloud-runtime/standalone/hooks/useGroupChat.ts +28 -1
- package/cloud-runtime/standalone/hooks/useProcessPolling.ts +70 -6
- package/cloud-runtime/standalone/hooks/useThreadState.ts +10 -2
- package/cloud-runtime/standalone/lib/cli-runner.ts +212 -14
- package/cloud-runtime/standalone/lib/db.ts +1 -1
- package/cloud-runtime/standalone/lib/debug-log.ts +48 -0
- package/cloud-runtime/standalone/lib/history-store.ts +610 -40
- package/cloud-runtime/standalone/lib/knowledge-notes.ts +251 -0
- package/cloud-runtime/standalone/lib/knowledge-store.ts +233 -0
- package/cloud-runtime/standalone/lib/memory-extractor.ts +76 -60
- package/cloud-runtime/standalone/lib/mesh-core/journal.ts +30 -0
- package/cloud-runtime/standalone/lib/mesh-core/self.ts +94 -0
- package/cloud-runtime/standalone/lib/orchestrator/chat-activities.ts +60 -0
- package/cloud-runtime/standalone/lib/orchestrator/chat-processor.ts +219 -0
- package/cloud-runtime/standalone/lib/orchestrator/chat-types.ts +29 -0
- package/cloud-runtime/standalone/lib/orchestrator/runtime.ts +26 -0
- package/cloud-runtime/standalone/lib/provider-clis.ts +63 -0
- package/cloud-runtime/standalone/lib/queue/boss.ts +2 -1
- package/cloud-runtime/standalone/lib/queue/sqlite-adapter.ts +117 -2
- package/cloud-runtime/standalone/lib/repo-knowledge.ts +19 -2
- package/cloud-runtime/standalone/lib/sqlite-query-adapter.ts +78 -0
- package/cloud-runtime/standalone/lib/stream-multiplexer.ts +101 -14
- package/cloud-runtime/standalone/lib/task-context.ts +7 -4
- package/cloud-runtime/standalone/lib/thread-knowledge-runs.ts +227 -0
- package/cloud-runtime/standalone/lib/thread-knowledge.ts +419 -0
- package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/README.md +2 -2
- package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/lib/glib-2.0/include/glibconfig.h +9 -8
- package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-darwin-arm64/lib/libvips-cpp.8.17.3.dylib → sharp-libvips-linux-x64/lib/libvips-cpp.so.8.17.3} +0 -0
- package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/package.json +11 -5
- package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md +46 -0
- package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h +221 -0
- package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js +1 -0
- package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.17.3 +0 -0
- package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +42 -0
- package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +30 -0
- package/cloud-runtime/standalone/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64.node +0 -0
- package/cloud-runtime/standalone/node_modules/@img/{sharp-darwin-arm64 → sharp-linux-x64}/package.json +13 -7
- package/cloud-runtime/standalone/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64.node +0 -0
- package/cloud-runtime/standalone/node_modules/@img/sharp-linuxmusl-x64/package.json +46 -0
- package/cloud-runtime/standalone/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
- package/cloud-runtime/standalone/node_modules/better-sqlite3-90e2652d1716b047/build/Release/better_sqlite3.node +0 -0
- package/cloud-runtime/standalone/package-lock.json +13 -0
- package/cloud-runtime/standalone/package.json +1 -0
- package/cloud-runtime/standalone/server.js +1 -1
- package/cloud-runtime/standalone/src/graph/api-schemas.ts +2 -2
- package/cloud-runtime/standalone/src/graph/executor.ts +9 -7
- package/cloud-runtime/standalone/src/graph/function-executor.ts +4 -1
- package/cloud-runtime/standalone/src/graph/internal-function-dispatcher.ts +174 -0
- package/cloud-runtime/standalone/src/graph/types.ts +3 -3
- package/cloud-runtime/standalone/src/graph/work-dispatcher.ts +5 -1
- package/cloud-runtime/standalone/transcri +0 -0
- package/cloud-runtime/standalone/tsconfig.json +3 -1
- package/cloud-runtime/standalone/worker/index.js +3447 -215
- package/cloud-runtime/standalone/worker/index.ts +8 -1
- package/lib/cli/runCli.js +0 -97
- package/lib/commands/update.js +159 -17
- package/package.json +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[externals]_child_process_964038fc._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__03a1bf91._.js +0 -6
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__065c5114._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__07dce481._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__09f46c85._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__149bcf6d._.js +0 -115
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__14bad16e._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__14e3bf74._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1632828c._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1dd062c1._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__24b8ccd3._.js +0 -52
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__284e1cbe._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__28d6e806._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__2bcb75a7._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3198c5c8._.js +0 -52
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__32e5f341._.js +0 -4
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__36d9edbd._.js +0 -67
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3b4a126a._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3c7464e8._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3d82dc78._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__406bdd54._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__40d6458a._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__47ca4946._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__49fb4a12._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4dc25d71._.js +0 -18
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5327e395._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__55d75c3a._.js +0 -7
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__592e81f9._.js +0 -13
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5a6a194c._.js +0 -52
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5af16b4f._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__60ba5058._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6716441c._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__673aedc6._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6a44c891._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6b680112._.js +0 -55
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7312fad4._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7456196c._.js +0 -52
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__74d26856._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__772c6fae._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__787ba54b._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__79157eef._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7be8f159._.js +0 -52
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__82d76712._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__8311f060._.js +0 -6
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__84e90655._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__90a887dc._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__9345d703._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__98294450._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__985f0d9f._.js +0 -51
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__9b32295e._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a64d978e._.js +0 -6
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__babcd1af._.js +0 -13
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c16f03fb._.js +0 -13
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c2767ca5._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c72c6d4a._.js +0 -25
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ca851b15._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d25227df._.js +0 -29
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e06820c3._.js +0 -6
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e429a0bc._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e4397d43._.js +0 -7
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e45a2a1d._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ec8735f4._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ef09ab99._.js +0 -13
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f366a937._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fdaa8a27._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fddde532._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ff53f445._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/_1111d342._.js +0 -101
- package/cloud-runtime/standalone/.next/server/chunks/_4b60ba15._.js +0 -49
- package/cloud-runtime/standalone/.next/server/chunks/_54252651._.js +0 -49
- package/cloud-runtime/standalone/.next/server/chunks/_818a89c4._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/_a4a21d4f._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/_a759d52b._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/_e6b28eae._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/_e868e7c1._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/lib_23509137._.js +0 -196
- package/cloud-runtime/standalone/.next/server/chunks/lib_3273d5f9._.js +0 -196
- package/cloud-runtime/standalone/.next/server/chunks/lib_50ba0b4c._.js +0 -63
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_33963d95.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_56c5acb3.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_888b3578.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/src_graph_e3bb4da8._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__113d6767._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__6a9d3855._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__942ca438._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__ce3b51aa._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_1ec61dee._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_27904584._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_43472af3._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_94effa0f._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_d458d1eb._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_fbced30b._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_page_tsx_e0fabf6e._.js +0 -8
- package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_a8f86889._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_play_6595a532.js +0 -3
- package/cloud-runtime/standalone/.next/static/chunks/1184bf1bfdf97666.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/4c01a5f19f9e775e.js +0 -8
- package/cloud-runtime/standalone/.next/static/chunks/5ace4b4f4475962a.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/6509f7fecbf44493.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/661090206d8bae9b.css +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/6dbf5940e30fa9c7.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/7e91f395ace1dd2c.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/7f13efe9329d3f97.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/80219bbddcf65109.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/86ace6febb11ad71.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/b079c677d9b39f98.js +0 -5
- package/cloud-runtime/standalone/.next/static/chunks/b88352740262931f.js +0 -6
- package/cloud-runtime/standalone/.next/static/chunks/c5609fd2abb65850.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/d95cd010361834be.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/f7bbf5cfcfed8ba9.js +0 -1
- package/cloud-runtime/standalone/coverage/clover.xml +0 -1208
- package/cloud-runtime/standalone/coverage/coverage-final.json +0 -29
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/audit/index.html +0 -116
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/audit/route.ts.html +0 -208
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/[...nextauth]/index.html +0 -116
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/[...nextauth]/route.ts.html +0 -166
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/daemon-secret/index.html +0 -116
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/daemon-secret/route.ts.html +0 -532
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/status/index.html +0 -116
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/status/route.ts.html +0 -178
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/learnings/index.html +0 -116
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/learnings/route.ts.html +0 -262
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/logs/stream/index.html +0 -116
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/logs/stream/route.ts.html +0 -448
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/queue/complete/index.html +0 -116
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/queue/complete/route.ts.html +0 -331
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/queue/index.html +0 -116
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/queue/route.ts.html +0 -505
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/stage-prompts/index.html +0 -116
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/stage-prompts/route.ts.html +0 -412
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/advance/index.html +0 -116
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/advance/route.ts.html +0 -304
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/index.html +0 -116
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/logs/index.html +0 -116
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/logs/route.ts.html +0 -202
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/route.ts.html +0 -373
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/index.html +0 -116
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/route.ts.html +0 -499
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/stream/index.html +0 -116
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/stream/route.ts.html +0 -349
- package/cloud-runtime/standalone/coverage/lcov-report/base.css +0 -224
- package/cloud-runtime/standalone/coverage/lcov-report/block-navigation.js +0 -87
- package/cloud-runtime/standalone/coverage/lcov-report/components/AuthProvider.tsx.html +0 -259
- package/cloud-runtime/standalone/coverage/lcov-report/components/ChatInterface.tsx.html +0 -1228
- package/cloud-runtime/standalone/coverage/lcov-report/components/KanbanBoard.tsx.html +0 -1024
- package/cloud-runtime/standalone/coverage/lcov-report/components/Layout.tsx.html +0 -211
- package/cloud-runtime/standalone/coverage/lcov-report/components/LearningsPanel.tsx.html +0 -535
- package/cloud-runtime/standalone/coverage/lcov-report/components/LogTimeline.tsx.html +0 -415
- package/cloud-runtime/standalone/coverage/lcov-report/components/SortableTaskCard.tsx.html +0 -358
- package/cloud-runtime/standalone/coverage/lcov-report/components/StagePills.tsx.html +0 -439
- package/cloud-runtime/standalone/coverage/lcov-report/components/TaskCard.tsx.html +0 -514
- package/cloud-runtime/standalone/coverage/lcov-report/components/TaskCardOverlay.tsx.html +0 -256
- package/cloud-runtime/standalone/coverage/lcov-report/components/TaskDetail.tsx.html +0 -622
- package/cloud-runtime/standalone/coverage/lcov-report/components/TaskList.tsx.html +0 -253
- package/cloud-runtime/standalone/coverage/lcov-report/components/index.html +0 -281
- package/cloud-runtime/standalone/coverage/lcov-report/favicon.png +0 -0
- package/cloud-runtime/standalone/coverage/lcov-report/hooks/index.html +0 -116
- package/cloud-runtime/standalone/coverage/lcov-report/hooks/useTasks.ts.html +0 -1042
- package/cloud-runtime/standalone/coverage/lcov-report/index.html +0 -341
- package/cloud-runtime/standalone/coverage/lcov-report/lib/auth-client.ts.html +0 -202
- package/cloud-runtime/standalone/coverage/lcov-report/lib/auth-server.ts.html +0 -172
- package/cloud-runtime/standalone/coverage/lcov-report/lib/auth.ts.html +0 -265
- package/cloud-runtime/standalone/coverage/lcov-report/lib/db.ts.html +0 -1252
- package/cloud-runtime/standalone/coverage/lcov-report/lib/index.html +0 -131
- package/cloud-runtime/standalone/coverage/lcov-report/lib/orchestrator.ts.html +0 -409
- package/cloud-runtime/standalone/coverage/lcov-report/lib/security.ts.html +0 -1165
- package/cloud-runtime/standalone/coverage/lcov-report/lib/supabase-server.ts.html +0 -175
- package/cloud-runtime/standalone/coverage/lcov-report/lib/supabase.ts.html +0 -157
- package/cloud-runtime/standalone/coverage/lcov-report/prettify.css +0 -1
- package/cloud-runtime/standalone/coverage/lcov-report/prettify.js +0 -2
- package/cloud-runtime/standalone/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/cloud-runtime/standalone/coverage/lcov-report/sorter.js +0 -210
- package/cloud-runtime/standalone/coverage/lcov.info +0 -2386
- package/cloud-runtime/standalone/docs/LIMITS.md +0 -63
- package/cloud-runtime/standalone/docs/architecture/ADR-001-hybrid-to-full-sqlite.md +0 -345
- package/cloud-runtime/standalone/docs/baseline/baseline-report.json +0 -1009
- package/cloud-runtime/standalone/docs/baseline/critical-queries.md +0 -105
- package/cloud-runtime/standalone/docs/baseline/lock-metrics.json +0 -21
- package/cloud-runtime/standalone/docs/baseline/read-latency.json +0 -146
- package/cloud-runtime/standalone/docs/baseline/restore-time.json +0 -10
- package/cloud-runtime/standalone/docs/baseline/write-metrics.json +0 -803
- package/cloud-runtime/standalone/docs/decisions/sqlite-migration-adr.md +0 -327
- package/cloud-runtime/standalone/docs/error-code-mapping.md +0 -74
- package/cloud-runtime/standalone/docs/migration-plan.md +0 -120
- package/cloud-runtime/standalone/docs/migration-spec.md +0 -345
- package/cloud-runtime/standalone/docs/pg-sqlite-compatibility-matrix.md +0 -554
- package/cloud-runtime/standalone/docs/project-agent-migration-status.md +0 -229
- package/cloud-runtime/standalone/docs/runbook-shadow-read.md +0 -66
- package/cloud-runtime/standalone/docs/runbook.md +0 -155
- package/cloud-runtime/standalone/docs/specs/cli-postgres-removal.md +0 -69
- package/cloud-runtime/standalone/docs/specs/thread-mentions.md +0 -53
- package/cloud-runtime/standalone/docs/ux/GlobalChatFlow.storyboard +0 -23
- package/cloud-runtime/standalone/docs/ux/assistant-chat-cli.md +0 -32
- package/cloud-runtime/standalone/mcp/dist/constants.js +0 -66
- package/cloud-runtime/standalone/mcp/dist/db.js +0 -220
- package/cloud-runtime/standalone/mcp/dist/index.js +0 -7
- package/cloud-runtime/standalone/mcp/dist/security.js +0 -18
- package/cloud-runtime/standalone/mcp/dist/server.js +0 -240
- package/cloud-runtime/standalone/mcp/dist/task-context.js +0 -287
- package/cloud-runtime/standalone/mcp/dist/test-client.js +0 -82
- package/cloud-runtime/standalone/mcp/dist/tools/audit.js +0 -69
- package/cloud-runtime/standalone/mcp/dist/tools/learnings.js +0 -88
- package/cloud-runtime/standalone/mcp/dist/tools/queue.js +0 -312
- package/cloud-runtime/standalone/mcp/dist/tools/tasks.js +0 -244
- package/cloud-runtime/standalone/mcp/dist/types.js +0 -74
- package/cloud-runtime/standalone/node_modules/@img/sharp-darwin-arm64/lib/sharp-darwin-arm64.node +0 -0
- package/cloud-runtime/standalone/notes/comments-context-demo.md +0 -141
- package/cloud-runtime/standalone/notes/comments-context-plan.md +0 -119
- package/cloud-runtime/standalone/notes/context-audit.md +0 -21
- package/cloud-runtime/standalone/notes/project-layer-plan.md +0 -30
- package/cloud-runtime/standalone/notes/project-layer.md +0 -123
- package/cloud-runtime/standalone/notes/temporal-migration-design.md +0 -199
- package/cloud-runtime/standalone/playwright-report/data/00d55996f37c1506b90144c85493dd85032c13e5.png +0 -0
- package/cloud-runtime/standalone/playwright-report/data/0b9d409e57237ae111d7ba258d3dfe64dc368456.png +0 -0
- package/cloud-runtime/standalone/playwright-report/data/b33d5e80a15bd1deda4415b9d318ef73f581c950.png +0 -0
- package/cloud-runtime/standalone/playwright-report/data/b55684161aa440d0614595e13c91338f0420abbb.md +0 -131
- package/cloud-runtime/standalone/playwright-report/data/b9913957ae07e7565c38ddd71215be79b1ceb017.png +0 -0
- package/cloud-runtime/standalone/playwright-report/data/c3538be8ebbebc9fe4a7df8f12f04483af4a0d91.png +0 -0
- package/cloud-runtime/standalone/playwright-report/data/fe638f64ff5e36f1c30325564565662d3f57da87.md +0 -180
- package/cloud-runtime/standalone/playwright-report/index.html +0 -85
- package/cloud-runtime/standalone/test-results/auth-Authentication-Flow-S-aff25-sion-across-page-navigation-chromium/test-failed-1.png +0 -0
- package/cloud-runtime/standalone/test-results/comments-Task-comments-add-4dc59-nd-persists-it-for-the-task-chromium/error-context.md +0 -131
- package/cloud-runtime/standalone/test-results/comments-Task-comments-add-4dc59-nd-persists-it-for-the-task-chromium/test-failed-1.png +0 -0
- package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Stage--4082a-er-planning-after-ideation--chromium/error-context.md +0 -180
- package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Stage--4082a-er-planning-after-ideation--chromium/test-failed-1.png +0 -0
- package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Stage-Columns-displays-all-9-SDLC-stages-chromium/error-context.md +0 -180
- package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Stage-Columns-displays-all-9-SDLC-stages-chromium/test-failed-1.png +0 -0
- package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Task-D-b6d98-ys-tasks-in-correct-columns-chromium/error-context.md +0 -180
- package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Task-D-b6d98-ys-tasks-in-correct-columns-chromium/test-failed-1.png +0 -0
- package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Task-Display-shows-task-count-per-column-chromium/test-failed-1.png +0 -0
- package/cloud-runtime/standalone/test-results/kanban-Task-Lifecycle-can-advance-task-through-all-stages-chromium/test-failed-1.png +0 -0
- package/cloud-runtime/standalone/tsconfig.tsbuildinfo +0 -1
- /package/cloud-runtime/standalone/.next/static/{AB08MY3MKLsqeJYL8OZ2g → 68nLQxEpwR_feFvB8T4tR}/_buildManifest.js +0 -0
- /package/cloud-runtime/standalone/.next/static/{AB08MY3MKLsqeJYL8OZ2g → 68nLQxEpwR_feFvB8T4tR}/_clientMiddlewareManifest.json +0 -0
- /package/cloud-runtime/standalone/.next/static/{AB08MY3MKLsqeJYL8OZ2g → 68nLQxEpwR_feFvB8T4tR}/_ssgManifest.js +0 -0
- /package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/lib/index.js +0 -0
- /package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/versions.json +0 -0
|
@@ -1,327 +0,0 @@
|
|
|
1
|
-
# ADR: Full Migration from Postgres to SQLite
|
|
2
|
-
|
|
3
|
-
**Status**: Accepted
|
|
4
|
-
**Date**: 2026-02-21
|
|
5
|
-
**Author**: Flint
|
|
6
|
-
**Reviewers**: Jewel, Cody
|
|
7
|
-
**Stakeholders**: Jewel (queue), Cody (queries/validation), Jane (schema), Flint (tests)
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## Context
|
|
12
|
-
|
|
13
|
-
AGX Cloud originally used a hybrid architecture: Postgres for the application database and `pg-boss` for the job queue. This introduced operational overhead — a managed Postgres instance for what is fundamentally a single-node, single-tenant dashboard app.
|
|
14
|
-
|
|
15
|
-
### Original Hybrid Model Rationale
|
|
16
|
-
|
|
17
|
-
The project first moved to a **hybrid Postgres + SQLite** model:
|
|
18
|
-
|
|
19
|
-
- **Postgres** retained for the main 18-table application schema (tasks, projects, graphs, workflows, learnings, etc.) — leveraging `JSONB`, `uuid[]`, triggers, and `gen_random_uuid()`.
|
|
20
|
-
- **SQLite** adopted for ancillary stores (participants, attachments, message history) where embedded, zero-config storage was sufficient.
|
|
21
|
-
- **pg-boss** used for durable job queues on top of Postgres.
|
|
22
|
-
|
|
23
|
-
This hybrid approach let the team start de-risking SQLite adoption incrementally while keeping the battle-tested Postgres schema intact.
|
|
24
|
-
|
|
25
|
-
### Jewel's pg-boss Blocker Analysis
|
|
26
|
-
|
|
27
|
-
Jewel identified **pg-boss as the critical blocker** preventing full Postgres removal:
|
|
28
|
-
|
|
29
|
-
1. **Operational overhead** — pg-boss requires a live Postgres connection, periodic maintenance (`maintenance` cron), and schema migrations on its internal tables.
|
|
30
|
-
2. **Deployment coupling** — Every agx-cloud deployment needed a Postgres instance, even for single-user or edge scenarios where a full RDBMS is unnecessary.
|
|
31
|
-
3. **Transactional semantics mismatch** — pg-boss's internal polling and advisory-lock mechanism added latency and complexity that a simpler embedded queue could avoid.
|
|
32
|
-
4. **Dependency weight** — `pg-boss@12.9.0` + `pg@8.16.3` pulled in connection pooling, type parsing, and protocol handling that the application didn't need if the queue moved to SQLite.
|
|
33
|
-
|
|
34
|
-
The core insight: if the queue layer could run on SQLite, the *only* remaining Postgres dependency would be the application schema — and that could be migrated on a known timeline.
|
|
35
|
-
|
|
36
|
-
### How the Blocker Was Resolved: SQLiteQueueAdapter
|
|
37
|
-
|
|
38
|
-
Jewel implemented `lib/queue/sqlite-adapter.ts` — a custom `QueueAdapter` backed by `better-sqlite3`:
|
|
39
|
-
|
|
40
|
-
- **WAL mode** for concurrent reads during writes.
|
|
41
|
-
- **Job claiming via polling** — replaces `SKIP LOCKED` with `UPDATE ... WHERE status = 'pending' AND start_after <= ? LIMIT 1` inside an exclusive transaction. WAL mode ensures readers aren't blocked during the brief write lock.
|
|
42
|
-
- **Exponential backoff retry** with configurable `retryLimit`, `retryDelay`, and `retryBackoff`.
|
|
43
|
-
- **Job lifecycle**: `pending → active → completed | failed | retry`.
|
|
44
|
-
- **Worker ID tracking** — each adapter instance generates a UUID, recorded on claimed jobs for observability.
|
|
45
|
-
- **Index**: `(queue, status, start_after, priority DESC, created_at ASC)` for efficient polling.
|
|
46
|
-
- **No external dependencies** — uses `better-sqlite3` (already in the dependency tree for the app DB migration).
|
|
47
|
-
|
|
48
|
-
The temporal service compatibility layer (`lib/temporal/service.ts`) was updated to route through this adapter, preserving API-route compatibility.
|
|
49
|
-
|
|
50
|
-
**Result:** pg-boss fully replaced. The queue entry point (`lib/queue/boss.ts`) now returns `SQLiteQueueAdapter` by default.
|
|
51
|
-
|
|
52
|
-
---
|
|
53
|
-
|
|
54
|
-
## Decision
|
|
55
|
-
|
|
56
|
-
**Fully migrate from Postgres to SQLite** across all data layers. AGX Cloud runs on SQLite only (`better-sqlite3`), zero external infrastructure.
|
|
57
|
-
|
|
58
|
-
---
|
|
59
|
-
|
|
60
|
-
## Migration Spec
|
|
61
|
-
|
|
62
|
-
Full specification: [`planning/pg-to-sqlite-migration-spec-v2.md`](../../planning/pg-to-sqlite-migration-spec-v2.md)
|
|
63
|
-
Short version: [`docs/migration-spec.md`](../migration-spec.md)
|
|
64
|
-
|
|
65
|
-
### Phases
|
|
66
|
-
|
|
67
|
-
| Phase | Owner | Description | Status |
|
|
68
|
-
|-------|-------|-------------|--------|
|
|
69
|
-
| 0 | Jewel | Queue layer → SQLiteQueueAdapter | **Complete** |
|
|
70
|
-
| 1 | Jewel | DbAdapter interface (pluggable PG/SQLite) | Pending |
|
|
71
|
-
| 2 | Cody | Query compatibility matrix (ILIKE→LIKE, JSONB→json_each, etc.) | Pending |
|
|
72
|
-
| 3 | Jane | Schema & data migration (18 tables → SQLite DDL) | Pending |
|
|
73
|
-
| 4 | Flint | Parity test harness (CRUD, filters, concurrency, edge cases) | Pending |
|
|
74
|
-
| 5 | Cody | Shadow-read validation (48-72h dual-run) | Pending |
|
|
75
|
-
| 6 | All | Cleanup: remove `pg`, `pg-boss`, `@types/pg` after 30-day soak | Pending |
|
|
76
|
-
|
|
77
|
-
### Key Technical Contracts
|
|
78
|
-
|
|
79
|
-
**SQLite Runtime (per connection):**
|
|
80
|
-
```sql
|
|
81
|
-
PRAGMA journal_mode = WAL;
|
|
82
|
-
PRAGMA foreign_keys = ON;
|
|
83
|
-
PRAGMA busy_timeout = 5000;
|
|
84
|
-
PRAGMA synchronous = NORMAL;
|
|
85
|
-
PRAGMA cache_size = -16000;
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
**Type Semantics (PG → SQLite):**
|
|
89
|
-
|
|
90
|
-
| PG Type | SQLite | Encoding |
|
|
91
|
-
|---------|--------|----------|
|
|
92
|
-
| `uuid` | `TEXT` | Lowercase hex with hyphens |
|
|
93
|
-
| `timestamptz` | `TEXT` | ISO 8601 UTC with `Z` suffix |
|
|
94
|
-
| `boolean` | `INTEGER` | `0`/`1` with CHECK constraint |
|
|
95
|
-
| `jsonb` | `TEXT` | `JSON.stringify`, validated with `json_valid()` |
|
|
96
|
-
| `uuid[]` / `text[]` | `TEXT` | JSON array |
|
|
97
|
-
| `numeric(12,6)` | `REAL` | IEEE 754 (acceptable precision loss for costs) |
|
|
98
|
-
|
|
99
|
-
---
|
|
100
|
-
|
|
101
|
-
## Backend and API Layer Changes
|
|
102
|
-
|
|
103
|
-
### Connection Management
|
|
104
|
-
|
|
105
|
-
| Concern | Postgres (current) | SQLite (target) |
|
|
106
|
-
|---------|-------------------|-----------------|
|
|
107
|
-
| Connection model | Pool of N TCP connections | Single file handle, synchronous |
|
|
108
|
-
| Concurrency | Multiple concurrent writers | Single writer + concurrent readers (WAL) |
|
|
109
|
-
| Schema isolation | `search_path=agx,public` | Not applicable (single namespace) |
|
|
110
|
-
| Parameterization | `$1, $2, …` positional params | `?, ?, …` positional params |
|
|
111
|
-
| Startup cost | TCP handshake + auth per connection | `ffi` open, ~1ms |
|
|
112
|
-
|
|
113
|
-
### Transaction Semantics Differences
|
|
114
|
-
|
|
115
|
-
| Behavior | Postgres | SQLite | Migration Impact |
|
|
116
|
-
|----------|----------|--------|------------------|
|
|
117
|
-
| **Implicit transactions** | Each statement auto-commits; explicit `BEGIN`/`COMMIT` for multi-statement | Same, but `BEGIN IMMEDIATE` needed for write transactions | Must use `BEGIN IMMEDIATE` to avoid `SQLITE_BUSY` upgrade failures |
|
|
118
|
-
| **Isolation level** | Read Committed (default) | Serializable (only level available) | Stricter — no dirty reads, but write contention increases |
|
|
119
|
-
| **Concurrent writes** | Multiple writers, row-level locking | Single writer; others wait up to `busy_timeout` | `busy_timeout = 5000` absorbs typical contention |
|
|
120
|
-
| **Advisory locks** | `pg_advisory_lock()` used by pg-boss | Not available | Replaced by SQLiteQueueAdapter's transactional claim pattern |
|
|
121
|
-
| **RETURNING clause** | Full support | Supported since SQLite 3.35.0 | No change needed |
|
|
122
|
-
| **ON CONFLICT (upsert)** | `ON CONFLICT … DO UPDATE SET` | Same syntax | No change needed |
|
|
123
|
-
| **`IS NOT DISTINCT FROM`** | Native operator | Not supported | Rewrite to `(col = ? OR (col IS NULL AND ? IS NULL))` |
|
|
124
|
-
| **`= ANY($1)`** | Native array parameter | Not supported | Rewrite to `IN (?, ?, …)` or `json_each()` |
|
|
125
|
-
| **`ILIKE`** | Case-insensitive LIKE | Not supported | Rewrite to `LIKE` with `COLLATE NOCASE` or `lower()` |
|
|
126
|
-
|
|
127
|
-
### QueryBuilder Migration Patterns
|
|
128
|
-
|
|
129
|
-
The `QueryBuilder` in `lib/db-adapter.ts` requires these changes:
|
|
130
|
-
|
|
131
|
-
1. **Parameterized queries**: `$1, $2, …` → `?, ?, …`
|
|
132
|
-
2. **Array containment**: `@> $N` → subquery with `json_each()`
|
|
133
|
-
3. **Array membership**: `= ANY($N)` → `IN (?, ?, …)` with param expansion
|
|
134
|
-
4. **`IS NOT DISTINCT FROM`** → `(col = ? OR (col IS NULL AND ? IS NULL))`
|
|
135
|
-
5. **`ILIKE`** in `or()` filter → `LIKE` with `COLLATE NOCASE`
|
|
136
|
-
6. **`RETURNING` clause**: Compatible — no change needed (SQLite ≥ 3.35.0)
|
|
137
|
-
7. **`ON CONFLICT … DO UPDATE`**: Compatible — no change needed
|
|
138
|
-
|
|
139
|
-
### Affected Backend Services
|
|
140
|
-
|
|
141
|
-
| Service File | DB Operations | Migration Notes |
|
|
142
|
-
|-------------|---------------|-----------------|
|
|
143
|
-
| `lib/db.ts` | ~40 call sites — CRUD for tasks, projects, learnings, comments, logs, costs, settings, workflows, graphs, runs | Central data layer; every query must pass SQLite compatibility |
|
|
144
|
-
| `lib/db-adapter.ts` | `QueryBuilder` with PG-specific SQL generation | **Primary migration target** |
|
|
145
|
-
| `lib/db-server.ts` | Thin wrapper returning `createAdminDbClient()` | Swap underlying adapter |
|
|
146
|
-
| `lib/task-context.ts` | Task context resolution (3 call sites) | Standard CRUD — no PG-specific patterns |
|
|
147
|
-
| `lib/dependency-manager.ts` | Task dependency graph queries (5 call sites) | Standard CRUD |
|
|
148
|
-
| `lib/security.ts` | API key management, rate limiting (4 call sites) | `ON CONFLICT … DO UPDATE` — compatible |
|
|
149
|
-
| `lib/orchestrator/activities.ts` | Task orchestration state transitions (4 call sites) | Standard CRUD |
|
|
150
|
-
| `src/graph/store.ts` | Graph state persistence | Uses `pool.query` directly — must route through adapter |
|
|
151
|
-
|
|
152
|
-
---
|
|
153
|
-
|
|
154
|
-
## Data Layer Changes
|
|
155
|
-
|
|
156
|
-
### Schema Differences: Postgres → SQLite
|
|
157
|
-
|
|
158
|
-
The Postgres schema (`docker/postgres/init/001_agx_board_schema.sql`) defines 22 tables across the `agx` schema. Key structural changes:
|
|
159
|
-
|
|
160
|
-
| Postgres Feature | SQLite Equivalent | Tables Affected |
|
|
161
|
-
|-----------------|-------------------|-----------------|
|
|
162
|
-
| `agx.` schema prefix | Flat namespace (no schemas) | All 22 tables |
|
|
163
|
-
| `gen_random_uuid()` default | `crypto.randomUUID()` in application | All tables with UUID PKs |
|
|
164
|
-
| `text[]` / `uuid[]` arrays | `TEXT` (JSON-encoded array) | `stage_prompts.outputs`, `tasks.depends_on` |
|
|
165
|
-
| `GIN` indexes on `jsonb` | Expression indexes or `json_each()` queries | `tasks.stage_decisions` |
|
|
166
|
-
| `CHECK` with `ANY(ARRAY[...])` | `CHECK(col IN (...))` | 10 tables with enum-like constraints |
|
|
167
|
-
| Partial unique indexes | Supported since SQLite 3.15.0 | `task_templates`, `tasks`, `projects` |
|
|
168
|
-
|
|
169
|
-
### Trigger Migration
|
|
170
|
-
|
|
171
|
-
| Postgres Trigger | SQLite Equivalent |
|
|
172
|
-
|-----------------|-------------------|
|
|
173
|
-
| `update_updated_at()` function + per-table triggers | Inline `BEFORE UPDATE` trigger with `datetime('now')` |
|
|
174
|
-
| `increment_task_version()` | Inline: `SET version = OLD.version + 1` |
|
|
175
|
-
| `increment_graph_version()` | Inline: `SET graph_version = OLD.graph_version + 1` |
|
|
176
|
-
| `check_rate_limit()` PL/pgSQL function | Application-layer logic |
|
|
177
|
-
|
|
178
|
-
### SQLite-Specific Constraints
|
|
179
|
-
|
|
180
|
-
1. **Single-writer**: Only one write transaction at a time. Concurrent writers wait up to `busy_timeout` (5000ms). Current write patterns are sequential per-task.
|
|
181
|
-
2. **No concurrent schema changes**: DDL acquires exclusive lock. Run during maintenance windows.
|
|
182
|
-
3. **JSON not indexed natively**: Requires expression indexes for indexed JSON access.
|
|
183
|
-
4. **No `LISTEN/NOTIFY`**: SSE streaming routes already use polling — no change needed.
|
|
184
|
-
5. **Max database size**: 281 TB theoretical. Current dataset (~84 tasks, ~4k graph nodes) is well within bounds.
|
|
185
|
-
|
|
186
|
-
---
|
|
187
|
-
|
|
188
|
-
## Frontend Impact
|
|
189
|
-
|
|
190
|
-
The frontend is fully decoupled from the database layer. All data access flows through REST API routes via `fetch()` calls in React hooks (`hooks/useProjects.ts`, `hooks/useProviders.ts`, etc.).
|
|
191
|
-
|
|
192
|
-
**No client-side behavioral changes.** The API response shapes are defined by the `DbAdapter` interface (`lib/db-adapter.interface.ts`), which remains stable. Type changes (`uuid` → TEXT, `timestamptz` → TEXT, `boolean` → INTEGER) are serialized identically in API responses.
|
|
193
|
-
|
|
194
|
-
**Observability differences to monitor:**
|
|
195
|
-
- SSE polling latency — SQLite read performance under WAL is comparable for current dataset size but has different I/O characteristics.
|
|
196
|
-
- Concurrent write-heavy routes (e.g., `/api/tasks/[id]/heartbeat`) may see increased latency under `busy_timeout` contention.
|
|
197
|
-
|
|
198
|
-
---
|
|
199
|
-
|
|
200
|
-
## Consequences
|
|
201
|
-
|
|
202
|
-
**Positive:**
|
|
203
|
-
- Single-binary deployment — no external database process required
|
|
204
|
-
- Simpler ops — no connection pooling, no Postgres upgrades, no pg-boss maintenance
|
|
205
|
-
- Edge-deployable — SQLite works anywhere, including resource-constrained environments
|
|
206
|
-
- Faster cold starts (no connection handshake), simpler backup (copy one file)
|
|
207
|
-
|
|
208
|
-
**Negative / Risks:**
|
|
209
|
-
- Write concurrency limited to single-writer (mitigated by `busy_timeout` + WAL)
|
|
210
|
-
- JSON query performance may regress vs. native JSONB (mitigated by expression indexes)
|
|
211
|
-
- Loss of Postgres-specific features (advisory locks, `LISTEN/NOTIFY`, full-text with `tsvector`)
|
|
212
|
-
- Ecosystem tooling (ORMs, migration frameworks) has stronger Postgres support
|
|
213
|
-
- No built-in replication — backup strategy relies on file copies or Litestream
|
|
214
|
-
|
|
215
|
-
---
|
|
216
|
-
|
|
217
|
-
## Reopen Criteria
|
|
218
|
-
|
|
219
|
-
The team should reconsider adding Postgres back if **any** of the following thresholds are crossed:
|
|
220
|
-
|
|
221
|
-
| Trigger | Threshold | Measurement |
|
|
222
|
-
|---------|-----------|-------------|
|
|
223
|
-
| **Write concurrency** | >10 concurrent writers sustained for >1 min, causing >5% of writes to hit busy timeout | Application logs: count of `SQLITE_BUSY` errors per minute |
|
|
224
|
-
| **Database size** | Single SQLite file exceeds 10 GB | `PRAGMA page_count * page_size` |
|
|
225
|
-
| **Query latency p99** | Any critical-path query exceeds 500ms at p99 over a 1-hour window | Application-level query timing metrics |
|
|
226
|
-
| **Multi-node requirement** | Product requires >1 instance serving writes to the same database | Architecture review |
|
|
227
|
-
| **Compliance mandate** | Regulatory requirement demands RDBMS certification SQLite lacks | Security/compliance audit |
|
|
228
|
-
| **Data loss incident** | Unrecoverable data loss attributable to SQLite limitations | Incident post-mortem |
|
|
229
|
-
|
|
230
|
-
If a trigger is crossed, open a new ADR referencing this one and run Cody's revisit checklist below before proceeding.
|
|
231
|
-
|
|
232
|
-
---
|
|
233
|
-
|
|
234
|
-
## Cody's Revisit Checklist
|
|
235
|
-
|
|
236
|
-
Before re-introducing Postgres (or any external database), **all six items must pass**.
|
|
237
|
-
|
|
238
|
-
### 1. Portability Audit
|
|
239
|
-
|
|
240
|
-
**Question**: Can the application run on both SQLite and Postgres without conditional code paths proliferating?
|
|
241
|
-
|
|
242
|
-
**Pass criteria**:
|
|
243
|
-
- [ ] All SQL queries routed through an adapter interface (no raw driver calls outside `lib/db.ts` and `lib/queue/`)
|
|
244
|
-
- [ ] Branch prototype runs full test suite against both backends with ≤5 adapter-level `if` blocks
|
|
245
|
-
- [ ] No SQLite-specific PRAGMAs leak into shared application code
|
|
246
|
-
|
|
247
|
-
**Fail if**: >20% of query callsites need backend-specific branches, or adapter layer exceeds 500 LOC of conditional logic.
|
|
248
|
-
|
|
249
|
-
### 2. Transaction Semantics Test
|
|
250
|
-
|
|
251
|
-
**Question**: Does the replacement backend preserve the transaction guarantees the app depends on?
|
|
252
|
-
|
|
253
|
-
**Pass criteria**:
|
|
254
|
-
- [ ] All existing `db.transaction()` calls pass under the new backend without modification
|
|
255
|
-
- [ ] Concurrency stress test (50 concurrent job claims, 100 concurrent task updates) completes with zero lost updates
|
|
256
|
-
- [ ] WAL-equivalent read-during-write behavior verified (readers never block >100ms)
|
|
257
|
-
|
|
258
|
-
**Fail if**: Any transaction block requires restructuring, or stress test shows data anomalies.
|
|
259
|
-
|
|
260
|
-
### 3. Migration Safety Plan
|
|
261
|
-
|
|
262
|
-
**Question**: Can we migrate live data without downtime or data loss?
|
|
263
|
-
|
|
264
|
-
**Pass criteria**:
|
|
265
|
-
- [ ] Written migration runbook with step-by-step commands
|
|
266
|
-
- [ ] Migration executed on production data copy (full round-trip with row count and checksum verification)
|
|
267
|
-
- [ ] Rollback procedure documented and tested: new backend → SQLite within 15 minutes
|
|
268
|
-
- [ ] Migration time for current data volume <10 minutes
|
|
269
|
-
|
|
270
|
-
**Fail if**: Any data type loses fidelity, or rollback takes >30 minutes.
|
|
271
|
-
|
|
272
|
-
### 4. Reliability SLO Proof
|
|
273
|
-
|
|
274
|
-
**Question**: Does the new backend meet or exceed SQLite's reliability?
|
|
275
|
-
|
|
276
|
-
**Pass criteria**:
|
|
277
|
-
- [ ] 7-day soak test on staging: zero unplanned restarts, zero data corruption
|
|
278
|
-
- [ ] Backup and restore tested: point-in-time recovery to within 1 minute
|
|
279
|
-
- [ ] Availability ≥99.9% during soak test
|
|
280
|
-
- [ ] Connection pool behavior documented (max connections, timeout handling, leak detection)
|
|
281
|
-
|
|
282
|
-
**Fail if**: Any data corruption during soak test, or availability below 99.9%.
|
|
283
|
-
|
|
284
|
-
### 5. Security / Compliance Parity
|
|
285
|
-
|
|
286
|
-
**Question**: Does the new backend maintain the same security posture?
|
|
287
|
-
|
|
288
|
-
**Pass criteria**:
|
|
289
|
-
- [ ] Encryption at rest: database files encrypted or on encrypted volume
|
|
290
|
-
- [ ] Access control: credentials rotated, not hardcoded, in secrets manager
|
|
291
|
-
- [ ] Network exposure: if network-accessible, TLS enforced and IP-restricted
|
|
292
|
-
- [ ] Audit logging: all DDL and privileged access logged
|
|
293
|
-
|
|
294
|
-
**Fail if**: New backend introduces network attack surface without compensating controls.
|
|
295
|
-
|
|
296
|
-
### 6. Runbook Readiness
|
|
297
|
-
|
|
298
|
-
**Question**: Can any team member operate the new backend without specialized expertise?
|
|
299
|
-
|
|
300
|
-
**Pass criteria**:
|
|
301
|
-
- [ ] Runbook covers: provisioning, connection config, backup/restore, monitoring, common failures
|
|
302
|
-
- [ ] New operator completes runbook end-to-end in <2 hours
|
|
303
|
-
- [ ] Monitoring dashboards for: connection count, query latency, disk usage, replication lag
|
|
304
|
-
- [ ] On-call escalation path documented
|
|
305
|
-
|
|
306
|
-
**Fail if**: Runbook requires >4 hours for a new operator, or no monitoring at launch.
|
|
307
|
-
|
|
308
|
-
---
|
|
309
|
-
|
|
310
|
-
## References
|
|
311
|
-
|
|
312
|
-
- Migration spec v2: `planning/pg-to-sqlite-migration-spec-v2.md`
|
|
313
|
-
- Migration spec (short): `docs/migration-spec.md`
|
|
314
|
-
- SQLiteQueueAdapter: `lib/queue/sqlite-adapter.ts`
|
|
315
|
-
- Queue adapter interface: `lib/queue/adapter.ts`
|
|
316
|
-
- Queue entry point: `lib/queue/boss.ts`
|
|
317
|
-
- Temporal compat layer: `lib/temporal/service.ts`
|
|
318
|
-
- PG schema: `docker/postgres/init/001_agx_board_schema.sql`
|
|
319
|
-
- Current PG adapter: `lib/db-adapter.ts`
|
|
320
|
-
- DB adapter interface: `lib/db-adapter.interface.ts`
|
|
321
|
-
- DB init / PRAGMAs: `src/db/init.ts`
|
|
322
|
-
- DB validation: `src/db/checks.ts`
|
|
323
|
-
- Frontend hooks: `hooks/useProjects.ts`, `hooks/useProviders.ts`
|
|
324
|
-
|
|
325
|
-
---
|
|
326
|
-
|
|
327
|
-
*This ADR supersedes the hybrid Postgres+SQLite architecture. If reopened, file a new ADR and reference this document.*
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
# PostgreSQL ↔ SQLite Error Code Mapping
|
|
2
|
-
|
|
3
|
-
Maps database error codes between PostgreSQL and SQLite for consistent error handling in the agx-cloud application layer.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Error Code Table
|
|
8
|
-
|
|
9
|
-
| Error Type | PostgreSQL Code | PostgreSQL Name | SQLite Extended Code | SQLite Constant | Detection Strategy |
|
|
10
|
-
|---|---|---|---|---|---|
|
|
11
|
-
| **Unique violation** | `23505` | `unique_violation` | `2067` (SQLITE_CONSTRAINT_UNIQUE) | `SQLITE_CONSTRAINT_UNIQUE` | Check `code` or `message.includes('UNIQUE constraint')` |
|
|
12
|
-
| **Foreign key violation** | `23503` | `foreign_key_violation` | `787` (SQLITE_CONSTRAINT_FOREIGNKEY) | `SQLITE_CONSTRAINT_FOREIGNKEY` | Check `code` or `message.includes('FOREIGN KEY constraint')` |
|
|
13
|
-
| **Not-null violation** | `23502` | `not_null_violation` | `1299` (SQLITE_CONSTRAINT_NOTNULL) | `SQLITE_CONSTRAINT_NOTNULL` | Check `code` or `message.includes('NOT NULL constraint')` |
|
|
14
|
-
| **Check constraint** | `23514` | `check_violation` | `275` (SQLITE_CONSTRAINT_CHECK) | `SQLITE_CONSTRAINT_CHECK` | Check `code` or `message.includes('CHECK constraint')` |
|
|
15
|
-
| **Primary key violation** | `23505` | `unique_violation` | `1555` (SQLITE_CONSTRAINT_PRIMARYKEY) | `SQLITE_CONSTRAINT_PRIMARYKEY` | PG uses same code as unique; SQLite distinguishes |
|
|
16
|
-
| **Database locked** | N/A (uses row-level locks) | N/A | `5` (SQLITE_BUSY) | `SQLITE_BUSY` | Retry with backoff |
|
|
17
|
-
| **Table locked** | `55P03` | `lock_not_available` | `6` (SQLITE_LOCKED) | `SQLITE_LOCKED` | Retry with backoff |
|
|
18
|
-
| **Read-only database** | `25006` | `read_only_sql_transaction` | `8` (SQLITE_READONLY) | `SQLITE_READONLY` | Application error |
|
|
19
|
-
| **Data too long** | `22001` | `string_data_right_truncation` | N/A | N/A | SQLite has no length limits on TEXT |
|
|
20
|
-
| **Invalid JSON** | `22P02` | `invalid_text_representation` | `1` (SQLITE_ERROR) | `SQLITE_ERROR` | `json()` function raises generic error |
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
## Unified Error Handling (TypeScript)
|
|
25
|
-
|
|
26
|
-
```typescript
|
|
27
|
-
type DbErrorKind =
|
|
28
|
-
| "UNIQUE_VIOLATION"
|
|
29
|
-
| "FK_VIOLATION"
|
|
30
|
-
| "NOT_NULL_VIOLATION"
|
|
31
|
-
| "CHECK_VIOLATION"
|
|
32
|
-
| "BUSY"
|
|
33
|
-
| "UNKNOWN";
|
|
34
|
-
|
|
35
|
-
function classifyDbError(err: any): DbErrorKind {
|
|
36
|
-
// PostgreSQL (node-postgres)
|
|
37
|
-
if (err.code === "23505") return "UNIQUE_VIOLATION";
|
|
38
|
-
if (err.code === "23503") return "FK_VIOLATION";
|
|
39
|
-
if (err.code === "23502") return "NOT_NULL_VIOLATION";
|
|
40
|
-
if (err.code === "23514") return "CHECK_VIOLATION";
|
|
41
|
-
if (err.code === "55P03") return "BUSY";
|
|
42
|
-
|
|
43
|
-
// SQLite (better-sqlite3 / sqlite3)
|
|
44
|
-
const msg = String(err.message || "");
|
|
45
|
-
if (err.code === "SQLITE_CONSTRAINT_UNIQUE" || msg.includes("UNIQUE constraint"))
|
|
46
|
-
return "UNIQUE_VIOLATION";
|
|
47
|
-
if (err.code === "SQLITE_CONSTRAINT_PRIMARYKEY" || msg.includes("PRIMARY KEY"))
|
|
48
|
-
return "UNIQUE_VIOLATION";
|
|
49
|
-
if (err.code === "SQLITE_CONSTRAINT_FOREIGNKEY" || msg.includes("FOREIGN KEY"))
|
|
50
|
-
return "FK_VIOLATION";
|
|
51
|
-
if (err.code === "SQLITE_CONSTRAINT_NOTNULL" || msg.includes("NOT NULL"))
|
|
52
|
-
return "NOT_NULL_VIOLATION";
|
|
53
|
-
if (err.code === "SQLITE_CONSTRAINT_CHECK" || msg.includes("CHECK constraint"))
|
|
54
|
-
return "CHECK_VIOLATION";
|
|
55
|
-
if (err.code === "SQLITE_BUSY" || err.code === "SQLITE_LOCKED")
|
|
56
|
-
return "BUSY";
|
|
57
|
-
|
|
58
|
-
return "UNKNOWN";
|
|
59
|
-
}
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
---
|
|
63
|
-
|
|
64
|
-
## Key Differences
|
|
65
|
-
|
|
66
|
-
1. **Locking model:** PG uses row-level MVCC locks; SQLite uses database-level locks. `SQLITE_BUSY` errors require retry logic with exponential backoff (WAL mode reduces frequency).
|
|
67
|
-
|
|
68
|
-
2. **Unique vs Primary Key:** PG reports both as `23505`. SQLite distinguishes `SQLITE_CONSTRAINT_UNIQUE` (2067) from `SQLITE_CONSTRAINT_PRIMARYKEY` (1555). The unified handler above maps both to `UNIQUE_VIOLATION`.
|
|
69
|
-
|
|
70
|
-
3. **Extended error codes:** SQLite extended codes must be enabled via `PRAGMA extended_result_codes = ON;` (or the driver equivalent). Without this, all constraint errors return generic code `19` (SQLITE_CONSTRAINT).
|
|
71
|
-
|
|
72
|
-
4. **Error messages:** SQLite error messages include the constraint name/column, making message-based detection reliable as a fallback.
|
|
73
|
-
|
|
74
|
-
5. **FOREIGN KEY enforcement:** SQLite requires `PRAGMA foreign_keys = ON;` per connection. Without it, FK violations are silently ignored.
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
# PG → SQLite Data Migration Plan
|
|
2
|
-
|
|
3
|
-
## Schema Mapping
|
|
4
|
-
|
|
5
|
-
Both schemas already exist and are in sync:
|
|
6
|
-
- **PG**: `docker/postgres/init/001_agx_board_schema.sql` (26 tables in `agx` schema)
|
|
7
|
-
- **SQLite**: `db/sqlite/001_agx_board_schema.sql` (26 tables, no schema prefix)
|
|
8
|
-
|
|
9
|
-
### Type Mapping (applied during migration)
|
|
10
|
-
|
|
11
|
-
| PG Type | SQLite Type | Conversion |
|
|
12
|
-
|---------|-------------|------------|
|
|
13
|
-
| `uuid` | `TEXT` | Pass-through (already lowercase hex) |
|
|
14
|
-
| `timestamptz` | `TEXT` | `to_char(col, 'YYYY-MM-DD"T"HH24:MI:SS.MS"Z"')` or JS `new Date(v).toISOString()` |
|
|
15
|
-
| `boolean` | `INTEGER` | `true→1, false→0` |
|
|
16
|
-
| `jsonb` | `JSON` (TEXT) | `JSON.stringify()` — already text in pg result |
|
|
17
|
-
| `uuid[]` | `JSON` (TEXT) | `JSON.stringify(array)` |
|
|
18
|
-
| `text[]` | `JSON` (TEXT) | `JSON.stringify(array)` |
|
|
19
|
-
| `numeric(12,6)` | `REAL` | `parseFloat()` |
|
|
20
|
-
| `inet` | `TEXT` | Pass-through |
|
|
21
|
-
| `integer` | `INTEGER` | Pass-through |
|
|
22
|
-
| `text` | `TEXT` | Pass-through |
|
|
23
|
-
|
|
24
|
-
### FK Dependency Order (insert order)
|
|
25
|
-
|
|
26
|
-
Tables must be inserted in this order to satisfy FK constraints:
|
|
27
|
-
|
|
28
|
-
1. `device_codes` (no FK deps)
|
|
29
|
-
2. `learnings` (no FK deps)
|
|
30
|
-
3. `user_secrets` (no FK deps)
|
|
31
|
-
4. `user_settings` (no FK deps)
|
|
32
|
-
5. `rate_limits` (no FK deps)
|
|
33
|
-
6. `task_templates` (no FK deps)
|
|
34
|
-
7. `workflows` (no FK deps)
|
|
35
|
-
8. `agents` (no FK deps)
|
|
36
|
-
9. `projects` (→ workflows)
|
|
37
|
-
10. `project_repos` (→ projects)
|
|
38
|
-
11. `stage_prompts` (→ workflows)
|
|
39
|
-
12. `tasks` (→ projects)
|
|
40
|
-
13. `execution_graphs` (→ tasks)
|
|
41
|
-
14. `graph_nodes` (→ execution_graphs)
|
|
42
|
-
15. `graph_edges` (→ execution_graphs)
|
|
43
|
-
16. `graph_events` (→ execution_graphs)
|
|
44
|
-
17. `graph_migration_backups` (no FK deps, but logically after tasks)
|
|
45
|
-
18. `task_audit_log` (→ tasks)
|
|
46
|
-
19. `task_comments` (→ tasks)
|
|
47
|
-
20. `task_logs` (→ tasks)
|
|
48
|
-
21. `task_costs` (→ tasks)
|
|
49
|
-
22. `task_run_history` (→ tasks)
|
|
50
|
-
23. `task_workflow_events` (→ tasks)
|
|
51
|
-
24. `workflow_instances` (→ workflows, projects)
|
|
52
|
-
25. `workflow_nodes` (→ workflows)
|
|
53
|
-
26. `workflow_transitions` (→ workflow_nodes, workflows)
|
|
54
|
-
|
|
55
|
-
### JSON Columns Requiring `json_valid()` Verification
|
|
56
|
-
|
|
57
|
-
| Table | Column | Default |
|
|
58
|
-
|-------|--------|---------|
|
|
59
|
-
| `workflows` | `definition` | `{}` |
|
|
60
|
-
| `projects` | `metadata` | `{}` |
|
|
61
|
-
| `stage_prompts` | `outputs` | NULL |
|
|
62
|
-
| `stage_prompts` | `swarm_models` | NULL |
|
|
63
|
-
| `user_settings` | `models` | `{}` |
|
|
64
|
-
| `tasks` | `depends_on` | `[]` |
|
|
65
|
-
| `tasks` | `swarm_models` | NULL |
|
|
66
|
-
| `tasks` | `stage_decisions` | `{}` |
|
|
67
|
-
| `tasks` | `run_index` | `[]` |
|
|
68
|
-
| `tasks` | `open_blockers` | `[]` |
|
|
69
|
-
| `task_audit_log` | `payload` | — |
|
|
70
|
-
| `task_workflow_events` | `payload` | `{}` |
|
|
71
|
-
| `workflow_instances` | `input` | `{}` |
|
|
72
|
-
| `workflow_instances` | `output` | NULL |
|
|
73
|
-
| `workflow_nodes` | `metadata` | `{}` |
|
|
74
|
-
| `workflow_transitions` | `metadata` | `{}` |
|
|
75
|
-
| `agents` | `config` | `{}` |
|
|
76
|
-
| `execution_graphs` | `policy` | `{}` |
|
|
77
|
-
| `execution_graphs` | `done_criteria` | `{}` |
|
|
78
|
-
| `graph_nodes` | `config` | `{}` |
|
|
79
|
-
| `graph_nodes` | `output` | NULL |
|
|
80
|
-
| `graph_nodes` | `metrics` | NULL |
|
|
81
|
-
| `graph_edges` | `data_mapping` | NULL |
|
|
82
|
-
| `graph_events` | `payload` | `{}` |
|
|
83
|
-
| `graph_migration_backups` | `task_snapshot` | — |
|
|
84
|
-
|
|
85
|
-
### Tables Estimated to Need Streaming (>1K rows potential)
|
|
86
|
-
|
|
87
|
-
| Table | Likely Large | Reason |
|
|
88
|
-
|-------|-------------|--------|
|
|
89
|
-
| `tasks` | Yes | Core entity, grows unbounded |
|
|
90
|
-
| `task_logs` | Yes | Multiple logs per task |
|
|
91
|
-
| `task_comments` | Moderate | Multiple per task |
|
|
92
|
-
| `task_costs` | Moderate | Per-stage per task |
|
|
93
|
-
| `task_audit_log` | Yes | Every action logged |
|
|
94
|
-
| `task_run_history` | Moderate | Per retry |
|
|
95
|
-
| `graph_events` | Yes | Event sourced, many per graph |
|
|
96
|
-
| `graph_nodes` | Moderate | Multiple per graph |
|
|
97
|
-
| `graph_edges` | Moderate | Multiple per graph |
|
|
98
|
-
| All others | Small | Config/reference tables |
|
|
99
|
-
|
|
100
|
-
**Streaming threshold**: 500 rows. Tables above this use cursor-based streaming.
|
|
101
|
-
|
|
102
|
-
## Migration Window Strategy
|
|
103
|
-
|
|
104
|
-
**Recommended: Brief pause (30s–2min)**
|
|
105
|
-
|
|
106
|
-
1. Stop all agx daemon workers and API servers
|
|
107
|
-
2. Run migration script (streams PG → SQLite)
|
|
108
|
-
3. Run verification (row counts, checksums, FK integrity, JSON validity)
|
|
109
|
-
4. If verification passes: start services with `DB_BACKEND=sqlite`
|
|
110
|
-
5. If verification fails: restart services with PG (no data lost)
|
|
111
|
-
|
|
112
|
-
**Rollback plan**: PG schema is never modified. The migration is read-only on PG. If SQLite verification fails, simply delete the `.db` file and restart with PG.
|
|
113
|
-
|
|
114
|
-
## Verification Checklist
|
|
115
|
-
|
|
116
|
-
- [ ] Per-table row count: `PG count = SQLite count`
|
|
117
|
-
- [ ] Per-table deterministic checksum: `MD5(sorted rows) matches`
|
|
118
|
-
- [ ] `PRAGMA foreign_key_check` returns empty (no FK violations)
|
|
119
|
-
- [ ] `json_valid(col)` for every non-NULL JSON column value
|
|
120
|
-
- [ ] `PRAGMA integrity_check` returns `ok`
|