@mndrk/agx 2.0.36 → 2.0.38
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/cloud-runtime/standalone/.next/BUILD_ID +1 -1
- package/cloud-runtime/standalone/.next/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/prerender-manifest.json +3 -3
- package/cloud-runtime/standalone/.next/required-server-files.json +0 -3
- 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_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 +4 -4
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +4 -4
- 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 +4 -4
- 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 +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_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 +5 -5
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_full.segment.rsc +5 -5
- 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 +4 -4
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_tree.segment.rsc +1 -1
- 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 +3 -3
- 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]/messages/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/messages/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js +3 -3
- 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 +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/attachments/[id]/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/attachments/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js +3 -3
- 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 +1 -1
- 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 +4 -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.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route.js.nft.json +1 -1
- 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 +1 -1
- 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 +3 -3
- 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 +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 +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.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js +3 -3
- 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 +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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +2 -2
- 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 +4 -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 +3 -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 +1 -1
- 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 +4 -4
- 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 +2 -2
- 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 +2 -2
- 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 +3 -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 +4 -4
- 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 +4 -4
- 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 +4 -4
- 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 +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/cancel/route.js +4 -4
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/cancel/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/route.js +4 -4
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/runs/route.js +4 -4
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/runs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route.js +4 -4
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route.js +4 -4
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/route.js +4 -4
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js +3 -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 +3 -3
- 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 +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 +1 -1
- 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 +2 -2
- 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 +1 -1
- 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 +2 -2
- 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 +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/skills/assign/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/available/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/skills/available/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/history/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/skills/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/skills/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/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 +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 +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 -4
- 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 +2 -2
- 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 +3 -3
- 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 +1 -1
- 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 +3 -3
- 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 +2 -2
- 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 +2 -2
- 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 +1 -1
- 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 +4 -4
- 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 +3 -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 +3 -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 +4 -4
- 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 +4 -4
- 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 +3 -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 +1 -1
- 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 +1 -1
- 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 +3 -3
- 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 -4
- 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 +1 -1
- 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 +2 -2
- 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 +5 -5
- 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 +5 -5
- 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 +5 -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 +5 -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 +5 -5
- 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 +6 -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 -4
- 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 +3 -3
- 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 +4 -4
- 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 +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/stream/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/thread-repos/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/thread-repos/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/threads/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/threads/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/upload/[id]/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/upload/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/upload/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/upload/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js +3 -3
- 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_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 +5 -5
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_full.segment.rsc +5 -5
- 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 +4 -4
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_tree.segment.rsc +1 -1
- 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_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 +4 -4
- package/cloud-runtime/standalone/.next/server/app/board.segments/_full.segment.rsc +4 -4
- 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 +4 -4
- package/cloud-runtime/standalone/.next/server/app/board.segments/_tree.segment.rsc +1 -1
- 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_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 +5 -5
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_full.segment.rsc +5 -5
- 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 +4 -4
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_tree.segment.rsc +1 -1
- 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 +5 -5
- 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 +5 -5
- 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 +4 -4
- package/cloud-runtime/standalone/.next/server/app/index.segments/_tree.segment.rsc +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]/automations/page_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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 +5 -5
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_full.segment.rsc +5 -5
- 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 +4 -4
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_tree.segment.rsc +1 -1
- 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_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 +5 -5
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_full.segment.rsc +5 -5
- 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 +4 -4
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_tree.segment.rsc +1 -1
- 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_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 +5 -5
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_full.segment.rsc +5 -5
- 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 +4 -4
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.segments/settings.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/skills.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/skills.rsc +5 -5
- package/cloud-runtime/standalone/.next/server/app/skills.segments/_full.segment.rsc +5 -5
- package/cloud-runtime/standalone/.next/server/app/skills.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/skills.segments/_index.segment.rsc +4 -4
- package/cloud-runtime/standalone/.next/server/app/skills.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/skills.segments/skills/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/skills.segments/skills.segment.rsc +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 +5 -5
- package/cloud-runtime/standalone/.next/server/app/status.segments/_full.segment.rsc +5 -5
- 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 +4 -4
- package/cloud-runtime/standalone/.next/server/app/status.segments/_tree.segment.rsc +1 -1
- 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_client-reference-manifest.js +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 +5 -5
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_full.segment.rsc +5 -5
- 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 +4 -4
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_tree.segment.rsc +1 -1
- 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/chunks/{[externals]__cf9f18a6._.js → [externals]__986fcdb7._.js} +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__01cd082e._.js +13 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__b500f1bf._.js → [root-of-the-server]__0936925d._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__0c3dd73b._.js +13 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__0cc3f3b7._.js +18 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__d4126e05._.js → [root-of-the-server]__1b0bb735._.js} +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__4d865017._.js → [root-of-the-server]__1c86bf6e._.js} +6 -6
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1dce6c15._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__0bb52353._.js → [root-of-the-server]__20c58b41._.js} +18 -18
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__2126c763._.js +42 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__255b11f2._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__26817611._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__277ed37d._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__294fceef._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__2f06f568._.js +46 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__30bd0c87._.js +13 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__314d5c41._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__352dad6d._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__374cd94c._.js +42 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3785024c._.js +80 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__379604d4._.js +13 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3c8f1de6._.js +15 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3d0df5a8._.js +8 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__0b3b6a47._.js → [root-of-the-server]__4014ed70._.js} +20 -20
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__42fcb81c._.js +52 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4a3cd6ac._.js +13 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4a4265e0._.js +22 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c99509c2._.js → [root-of-the-server]__4bce7db7._.js} +17 -17
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4c5c536d._.js +18 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4e522535._.js +6 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__50c24784._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__50ddd3ce._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__529a6e1c._.js +80 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__59d1cdd8._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5a1fd688._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5d359afa._.js +18 -18
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__628d686b._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__005b3c82._.js → [root-of-the-server]__644e6285._.js} +8 -8
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__65755104._.js +7 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__068b4f08._.js → [root-of-the-server]__73c20995._.js} +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__762ab29c._.js +51 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__981d92dd._.js → [root-of-the-server]__8125bbc3._.js} +20 -20
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__85275b88._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__89666394._.js +8 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__8c0fb154._.js +13 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__8f5cac13._.js +46 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__91b22098._.js +8 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__92924218._.js +13 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__94bd7f65._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__9746d1f5._.js +18 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__98ce983b._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__ee6511a0._.js → [root-of-the-server]__9a9fd39f._.js} +10 -10
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__9ad4e385._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__9b69f93e._.js +18 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a01ddd0b._.js +46 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__8ac0286e._.js → [root-of-the-server]__a099c992._.js} +20 -20
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a9b949c3._.js +7 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ab7343c8._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__af7a73fd._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__bd43017b._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__bf6fb108._.js +80 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c0a18648._.js +10 -10
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__7ee9b7b6._.js → [root-of-the-server]__c122c54a._.js} +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c4ea4921._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__8b0ab82f._.js → [root-of-the-server]__c4ed5d83._.js} +7 -7
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c695a5f2._.js +18 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c8b49077._.js +10 -10
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d57e800e._.js +13 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d8b615bf._.js +34 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d9bd6334._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__543ba6c4._.js → [root-of-the-server]__da3a1ce7._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__db469f1b._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__de2a1e43._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__5031f8d4._.js → [root-of-the-server]__dec3e1b7._.js} +11 -11
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f1147a4a._.js +15 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f5597fea._.js +13 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f8c94cb3._.js +8 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__ceb02db8._.js → [root-of-the-server]__f9cff4b0._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f9f7f2df._.js +4 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fa79d53f._.js +46 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fb14cd4a._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__a55c16a5._.js → [root-of-the-server]__fc27a898._.js} +31 -31
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fcf0b40a._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ffb21023._.js +80 -0
- package/cloud-runtime/standalone/.next/server/chunks/_05fa3b89._.js +18 -18
- package/cloud-runtime/standalone/.next/server/chunks/_17e53c87._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_4190f170._.js +18 -18
- package/cloud-runtime/standalone/.next/server/chunks/_42e9c8d5._.js +18 -18
- package/cloud-runtime/standalone/.next/server/chunks/_5ca51127._.js +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/_5fd6af5d._.js +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/_8b9fde82._.js +20 -20
- package/cloud-runtime/standalone/.next/server/chunks/_994414cd._.js +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/_99b78daf._.js +18 -18
- package/cloud-runtime/standalone/.next/server/chunks/_affbdbb0._.js +18 -18
- package/cloud-runtime/standalone/.next/server/chunks/_d22934ab._.js +20 -20
- package/cloud-runtime/standalone/.next/server/chunks/_efc73784._.js +18 -18
- package/cloud-runtime/standalone/.next/server/chunks/lib_a5adca60._.js +15 -15
- package/cloud-runtime/standalone/.next/server/chunks/lib_check-node-version_ts_ef89bf83._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/lib_ea45fe73._.js +18 -18
- package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_2e721df2._.js +39 -39
- package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_74d1c060._.js +39 -39
- package/cloud-runtime/standalone/.next/server/chunks/lib_sqlite-query-adapter_ts_3ea4d849._.js +18 -18
- package/cloud-runtime/standalone/.next/server/chunks/lib_sqlite-query-adapter_ts_b0b1a9b2._.js +19 -19
- package/cloud-runtime/standalone/.next/server/chunks/src_graph_14067235._.js +18 -18
- package/cloud-runtime/standalone/.next/server/chunks/src_graph_b63e2d39._.js +18 -18
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_0c5c111f._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_314f4c49._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/components_thread_WorkspaceSidebar_tsx_e660301b._.js +1 -1
- package/cloud-runtime/standalone/.next/server/instrumentation.js +1 -1
- package/cloud-runtime/standalone/.next/server/middleware-manifest.json +5 -5
- 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/{47f22a56011af8d3.js → 5c0819dcc4bfec85.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/{25c9ac515cfe5635.js → 9bde80696400d2ff.js} +2 -2
- package/cloud-runtime/standalone/.next/static/chunks/ac9a7d8cf17b5d75.js +1 -0
- package/cloud-runtime/standalone/app/api/agents/[id]/messages/route.ts +4 -3
- package/cloud-runtime/standalone/app/api/agents/[id]/profile/route.ts +1 -1
- package/cloud-runtime/standalone/app/api/automations/route.ts +1 -1
- package/cloud-runtime/standalone/app/api/chat/route.ts +2 -2
- package/cloud-runtime/standalone/app/api/memories/route.ts +2 -2
- package/cloud-runtime/standalone/app/api/prompt-jobs/[id]/route.ts +9 -1
- package/cloud-runtime/standalone/app/api/system/db-status/route.ts +12 -11
- package/cloud-runtime/standalone/components/PromptJobBoard.tsx +12 -1
- package/cloud-runtime/standalone/components/errors/StartupGuard.tsx +1 -1
- package/cloud-runtime/standalone/components/errors/StartupGuardWrapper.tsx +1 -1
- package/cloud-runtime/standalone/components/thread/WorkspaceSidebar.tsx +1 -1
- package/cloud-runtime/standalone/hooks/usePromptJobs.ts +9 -18
- package/cloud-runtime/standalone/instrumentation.ts +1 -0
- package/cloud-runtime/standalone/lib/agent-process-registry.ts +10 -9
- package/cloud-runtime/standalone/lib/attachment-store.ts +6 -5
- package/cloud-runtime/standalone/lib/check-node-version.ts +12 -0
- package/cloud-runtime/standalone/lib/db-adapter.interface.ts +1 -1
- package/cloud-runtime/standalone/lib/history-store.ts +46 -46
- package/cloud-runtime/standalone/lib/knowledge-store.ts +2 -1
- package/cloud-runtime/standalone/lib/participants-store.ts +9 -8
- package/cloud-runtime/standalone/lib/queue/sqlite-adapter.ts +12 -11
- package/cloud-runtime/standalone/lib/repo-knowledge.ts +6 -5
- package/cloud-runtime/standalone/lib/sqlite-compat.ts +75 -0
- package/cloud-runtime/standalone/lib/sqlite-query-adapter.ts +15 -14
- package/cloud-runtime/standalone/lib/sqlite_writer.ts +10 -9
- package/cloud-runtime/standalone/lib/startup.ts +18 -19
- package/cloud-runtime/standalone/lib/thread-knowledge-runs.ts +2 -1
- package/cloud-runtime/standalone/lib/workspaces-to-projects-migration.ts +19 -18
- package/cloud-runtime/standalone/mcp/package-lock.json +3 -147
- package/cloud-runtime/standalone/mcp/package.json +1 -1
- package/cloud-runtime/standalone/mcp/src/check-node-version.ts +8 -0
- package/cloud-runtime/standalone/mcp/src/db.ts +4 -5
- package/cloud-runtime/standalone/mcp/src/index.ts +1 -0
- package/cloud-runtime/standalone/next.config.ts +0 -1
- package/cloud-runtime/standalone/package-lock.json +9 -413
- package/cloud-runtime/standalone/package.json +3 -2
- package/cloud-runtime/standalone/scripts/bench-queue.ts +5 -4
- package/cloud-runtime/standalone/server.js +1 -1
- package/cloud-runtime/standalone/src/db/backup.ts +12 -11
- package/cloud-runtime/standalone/src/db/checks.ts +3 -3
- package/cloud-runtime/standalone/src/db/init.ts +13 -12
- package/cloud-runtime/standalone/src/graph/schedule-runner.ts +1 -1
- package/cloud-runtime/standalone/src/graph/store.ts +14 -13
- package/cloud-runtime/standalone/src/prompt-scheduler/get-store.ts +19 -3
- package/cloud-runtime/standalone/src/prompt-scheduler/store.ts +9 -9
- package/cloud-runtime/standalone/test/adapters/sqlite.ts +7 -6
- package/cloud-runtime/standalone/worker/index.js +110 -823
- package/cloud-runtime/standalone/worker/index.ts +1 -0
- package/package.json +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__017f03c3._.js +0 -13
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__056d94e4._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__06634853._.js +0 -80
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__0f580808._.js +0 -13
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__164a80ba._.js +0 -18
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__16dd1fd7._.js +0 -13
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1a8e0957._.js +0 -7
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1cc2fe7f._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__23ad03bf._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__241a8bcf._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__29419d66._.js +0 -42
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__2948f712._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__32ef6623._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__34cb1b98._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3c1567b6._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3c37453e._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3faa64cd._.js +0 -4
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4041bb93._.js +0 -18
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__42497c7b._.js +0 -80
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__49c03d66._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4a8d14c1._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4c50f159._.js +0 -18
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4c861686._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__588b6ab0._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__596d0e81._.js +0 -42
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__59b5d4e5._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__61c99680._.js +0 -52
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__64712846._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__707c32af._.js +0 -15
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7370bb86._.js +0 -8
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__749af50f._.js +0 -8
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__74b97f0a._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__75cedecf._.js +0 -6
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7e79d86a._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__8b461158._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__918f0106._.js +0 -80
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__922eb7cd._.js +0 -80
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__927cfc20._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__952af4b3._.js +0 -22
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__98b352f7._.js +0 -13
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a44db634._.js +0 -8
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a67cd108._.js +0 -51
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ab2bf82d._.js +0 -13
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__abb032c1._.js +0 -34
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b4931ee1._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b4d05543._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b707e701._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b9e41767._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__be4ad4b5._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__bf5803eb._.js +0 -13
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ccd4846e._.js +0 -13
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d7e839a8._.js +0 -18
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d908c9ea._.js +0 -8
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__da20a0aa._.js +0 -18
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__dcdeee3d._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e069c0a3._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e1e51c02._.js +0 -7
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e3a4fd97._.js +0 -13
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e4a87984._.js +0 -15
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ef82dda1._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fa0ebee3._.js +0 -13
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fee58db1._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/_d225c04f._.js +0 -3
- package/cloud-runtime/standalone/.next/static/chunks/d73f1cc3ebc9993b.js +0 -1
- package/cloud-runtime/standalone/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
- package/cloud-runtime/standalone/node_modules/better-sqlite3/lib/database.js +0 -90
- package/cloud-runtime/standalone/node_modules/better-sqlite3/lib/index.js +0 -3
- package/cloud-runtime/standalone/node_modules/better-sqlite3/lib/methods/aggregate.js +0 -43
- package/cloud-runtime/standalone/node_modules/better-sqlite3/lib/methods/backup.js +0 -67
- package/cloud-runtime/standalone/node_modules/better-sqlite3/lib/methods/function.js +0 -31
- package/cloud-runtime/standalone/node_modules/better-sqlite3/lib/methods/inspect.js +0 -7
- package/cloud-runtime/standalone/node_modules/better-sqlite3/lib/methods/pragma.js +0 -12
- package/cloud-runtime/standalone/node_modules/better-sqlite3/lib/methods/serialize.js +0 -16
- package/cloud-runtime/standalone/node_modules/better-sqlite3/lib/methods/table.js +0 -189
- package/cloud-runtime/standalone/node_modules/better-sqlite3/lib/methods/transaction.js +0 -78
- package/cloud-runtime/standalone/node_modules/better-sqlite3/lib/methods/wrappers.js +0 -54
- package/cloud-runtime/standalone/node_modules/better-sqlite3/lib/sqlite-error.js +0 -20
- package/cloud-runtime/standalone/node_modules/better-sqlite3/lib/util.js +0 -12
- package/cloud-runtime/standalone/node_modules/better-sqlite3/package.json +0 -59
- package/cloud-runtime/standalone/node_modules/better-sqlite3-90e2652d1716b047/build/Release/better_sqlite3.node +0 -0
- package/cloud-runtime/standalone/node_modules/better-sqlite3-90e2652d1716b047/lib/database.js +0 -90
- package/cloud-runtime/standalone/node_modules/better-sqlite3-90e2652d1716b047/lib/index.js +0 -3
- package/cloud-runtime/standalone/node_modules/better-sqlite3-90e2652d1716b047/lib/methods/aggregate.js +0 -43
- package/cloud-runtime/standalone/node_modules/better-sqlite3-90e2652d1716b047/lib/methods/backup.js +0 -67
- package/cloud-runtime/standalone/node_modules/better-sqlite3-90e2652d1716b047/lib/methods/function.js +0 -31
- package/cloud-runtime/standalone/node_modules/better-sqlite3-90e2652d1716b047/lib/methods/inspect.js +0 -7
- package/cloud-runtime/standalone/node_modules/better-sqlite3-90e2652d1716b047/lib/methods/pragma.js +0 -12
- package/cloud-runtime/standalone/node_modules/better-sqlite3-90e2652d1716b047/lib/methods/serialize.js +0 -16
- package/cloud-runtime/standalone/node_modules/better-sqlite3-90e2652d1716b047/lib/methods/table.js +0 -189
- package/cloud-runtime/standalone/node_modules/better-sqlite3-90e2652d1716b047/lib/methods/transaction.js +0 -78
- package/cloud-runtime/standalone/node_modules/better-sqlite3-90e2652d1716b047/lib/methods/wrappers.js +0 -54
- package/cloud-runtime/standalone/node_modules/better-sqlite3-90e2652d1716b047/lib/sqlite-error.js +0 -20
- package/cloud-runtime/standalone/node_modules/better-sqlite3-90e2652d1716b047/lib/util.js +0 -12
- package/cloud-runtime/standalone/node_modules/better-sqlite3-90e2652d1716b047/package.json +0 -59
- package/cloud-runtime/standalone/node_modules/bindings/bindings.js +0 -221
- package/cloud-runtime/standalone/node_modules/bindings/package.json +0 -28
- package/cloud-runtime/standalone/node_modules/file-uri-to-path/index.js +0 -66
- package/cloud-runtime/standalone/node_modules/file-uri-to-path/package.json +0 -32
- package/cloud-runtime/standalone/scripts/fix-turbopack-externals.mjs +0 -87
- /package/cloud-runtime/standalone/.next/static/{15nzSRnot8KsYYP8yMBe- → V5ruh627UpcC-LTWDgYk8}/_buildManifest.js +0 -0
- /package/cloud-runtime/standalone/.next/static/{15nzSRnot8KsYYP8yMBe- → V5ruh627UpcC-LTWDgYk8}/_clientMiddlewareManifest.json +0 -0
- /package/cloud-runtime/standalone/.next/static/{15nzSRnot8KsYYP8yMBe- → V5ruh627UpcC-LTWDgYk8}/_ssgManifest.js +0 -0
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { DatabaseSync } from "node:sqlite";
|
|
2
|
+
import { pragmaAll, transaction } from "../sqlite-compat";
|
|
2
3
|
import { v4 as uuidv4 } from "uuid";
|
|
3
4
|
import path from "path";
|
|
4
5
|
import fs from "fs";
|
|
@@ -33,7 +34,7 @@ interface SQLiteJobRow {
|
|
|
33
34
|
}
|
|
34
35
|
|
|
35
36
|
export class SQLiteQueueAdapter implements QueueAdapter {
|
|
36
|
-
private db:
|
|
37
|
+
private db: DatabaseSync;
|
|
37
38
|
private workers: Map<string, { handler: Function; options: WorkerOptions; running: boolean }> = new Map();
|
|
38
39
|
private pollingInterval: NodeJS.Timeout | null = null;
|
|
39
40
|
private writeRateInterval: NodeJS.Timeout | null = null;
|
|
@@ -50,7 +51,7 @@ export class SQLiteQueueAdapter implements QueueAdapter {
|
|
|
50
51
|
fs.mkdirSync(dir, { recursive: true });
|
|
51
52
|
}
|
|
52
53
|
|
|
53
|
-
this.db = new
|
|
54
|
+
this.db = new DatabaseSync(finalPath);
|
|
54
55
|
|
|
55
56
|
// Apply contract PRAGMAs and validate environment
|
|
56
57
|
const errors = validateSQLiteEnvironment(this.db, finalPath);
|
|
@@ -93,7 +94,7 @@ export class SQLiteQueueAdapter implements QueueAdapter {
|
|
|
93
94
|
`);
|
|
94
95
|
|
|
95
96
|
// Migrate: add columns that may be missing from older schemas
|
|
96
|
-
const cols = this.db
|
|
97
|
+
const cols = pragmaAll(this.db, 'table_info(agx_jobs)') as { name: string }[];
|
|
97
98
|
const colNames = new Set(cols.map(c => c.name));
|
|
98
99
|
if (!colNames.has('failed_at')) {
|
|
99
100
|
this.db.exec(`ALTER TABLE agx_jobs ADD COLUMN failed_at INTEGER`);
|
|
@@ -187,7 +188,7 @@ export class SQLiteQueueAdapter implements QueueAdapter {
|
|
|
187
188
|
const staleBefore = now - getStaleJobTimeoutMs();
|
|
188
189
|
|
|
189
190
|
// Transactional claim
|
|
190
|
-
const jobs = this.db
|
|
191
|
+
const jobs = transaction(this.db, () => {
|
|
191
192
|
const reapedJobs = this.reapStaleJobs(queue, now, staleBefore);
|
|
192
193
|
if (reapedJobs.length > 0) {
|
|
193
194
|
writeDebugLog("queue.reap_stale", {
|
|
@@ -227,7 +228,7 @@ export class SQLiteQueueAdapter implements QueueAdapter {
|
|
|
227
228
|
name: queue,
|
|
228
229
|
data: JSON.parse(c.data)
|
|
229
230
|
}));
|
|
230
|
-
})
|
|
231
|
+
});
|
|
231
232
|
|
|
232
233
|
if (jobs.length > 0) {
|
|
233
234
|
writeDebugLog("queue.claim", {
|
|
@@ -271,9 +272,9 @@ export class SQLiteQueueAdapter implements QueueAdapter {
|
|
|
271
272
|
SET status = 'completed', completed_at = ?, worker_id = NULL
|
|
272
273
|
WHERE id = ?
|
|
273
274
|
`);
|
|
274
|
-
this.db
|
|
275
|
+
transaction(this.db, () => {
|
|
275
276
|
for (const id of ids) stmt.run(now, id);
|
|
276
|
-
})
|
|
277
|
+
});
|
|
277
278
|
}
|
|
278
279
|
|
|
279
280
|
private failJobs(ids: string[], error: string) {
|
|
@@ -299,9 +300,9 @@ export class SQLiteQueueAdapter implements QueueAdapter {
|
|
|
299
300
|
WHERE id = ?
|
|
300
301
|
`);
|
|
301
302
|
|
|
302
|
-
this.db
|
|
303
|
+
transaction(this.db, () => {
|
|
303
304
|
for (const id of ids) {
|
|
304
|
-
const job = stmt.get(id) as SQLiteJobRow;
|
|
305
|
+
const job = stmt.get(id) as unknown as SQLiteJobRow;
|
|
305
306
|
if (job && job.retry_count < job.retry_limit) {
|
|
306
307
|
// Retry
|
|
307
308
|
// Simple backoff: 2s * retry_count
|
|
@@ -312,7 +313,7 @@ export class SQLiteQueueAdapter implements QueueAdapter {
|
|
|
312
313
|
updateFailed.run(now, error, id);
|
|
313
314
|
}
|
|
314
315
|
}
|
|
315
|
-
})
|
|
316
|
+
});
|
|
316
317
|
}
|
|
317
318
|
|
|
318
319
|
private reapStaleJobs(queue: string, now: number, staleBefore: number): Array<{
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { getSQLiteDb } from "./sqlite-query-adapter";
|
|
2
|
+
import { transaction } from "./sqlite-compat";
|
|
2
3
|
import { getKnowledgeNote } from "./knowledge-notes";
|
|
3
4
|
|
|
4
5
|
export type RepoKnowledgeProducer = "human" | "system";
|
|
@@ -29,7 +30,7 @@ function getRepoRow(repoId: string): RepoRow | null {
|
|
|
29
30
|
FROM project_repos
|
|
30
31
|
WHERE id = ?`
|
|
31
32
|
)
|
|
32
|
-
.get(repoId) as RepoRow | undefined) ?? null
|
|
33
|
+
.get(repoId) as unknown as RepoRow | undefined) ?? null
|
|
33
34
|
);
|
|
34
35
|
}
|
|
35
36
|
|
|
@@ -61,7 +62,7 @@ export function listRepoKnowledge(
|
|
|
61
62
|
WHERE repo_id = ? AND producer = ?
|
|
62
63
|
ORDER BY created_at DESC`
|
|
63
64
|
)
|
|
64
|
-
.all(repoId, producer) as RepoKnowledgeRow[])
|
|
65
|
+
.all(repoId, producer) as unknown as RepoKnowledgeRow[])
|
|
65
66
|
: (db
|
|
66
67
|
.prepare(
|
|
67
68
|
`SELECT id, repo_id, content, producer, created_at
|
|
@@ -69,7 +70,7 @@ export function listRepoKnowledge(
|
|
|
69
70
|
WHERE repo_id = ?
|
|
70
71
|
ORDER BY created_at DESC`
|
|
71
72
|
)
|
|
72
|
-
.all(repoId) as RepoKnowledgeRow[]);
|
|
73
|
+
.all(repoId) as unknown as RepoKnowledgeRow[]);
|
|
73
74
|
|
|
74
75
|
if (options?.includeLegacyHumanFallback === false) {
|
|
75
76
|
return rows;
|
|
@@ -113,12 +114,12 @@ export function replaceRepoKnowledge(
|
|
|
113
114
|
const db = getSQLiteDb();
|
|
114
115
|
const trimmed = content.trim();
|
|
115
116
|
|
|
116
|
-
|
|
117
|
+
transaction(db, () => {
|
|
117
118
|
db.prepare("DELETE FROM repo_knowledge WHERE repo_id = ? AND producer = ?").run(repoId, producer);
|
|
118
119
|
if (trimmed) {
|
|
119
120
|
db.prepare("INSERT INTO repo_knowledge (repo_id, content, producer) VALUES (?, ?, ?)").run(repoId, trimmed, producer);
|
|
120
121
|
}
|
|
121
|
-
})
|
|
122
|
+
});
|
|
122
123
|
|
|
123
124
|
return listRepoKnowledge(repoId, { producer, includeLegacyHumanFallback: false });
|
|
124
125
|
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Compatibility helpers for migrating from better-sqlite3 to node:sqlite.
|
|
3
|
+
*
|
|
4
|
+
* Provides pragma() and transaction() helpers that match
|
|
5
|
+
* the better-sqlite3 API surface used throughout agx-cloud.
|
|
6
|
+
*
|
|
7
|
+
* For backups, use the module-level `backup()` from "node:sqlite" directly.
|
|
8
|
+
*/
|
|
9
|
+
import { DatabaseSync } from "node:sqlite";
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Read a PRAGMA value, returning the value directly (like better-sqlite3's simple mode).
|
|
13
|
+
* Example: pragmaGet(db, "journal_mode") => "wal"
|
|
14
|
+
*/
|
|
15
|
+
export function pragmaGet(db: DatabaseSync, key: string): unknown {
|
|
16
|
+
const row = db.prepare(`PRAGMA ${key}`).get() as Record<string, unknown> | undefined;
|
|
17
|
+
if (!row) return undefined;
|
|
18
|
+
// Return the first column value regardless of column name.
|
|
19
|
+
// Some PRAGMAs use a different column name than the key (e.g. busy_timeout → timeout).
|
|
20
|
+
const values = Object.values(row);
|
|
21
|
+
return values.length > 0 ? values[0] : undefined;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Read a PRAGMA that returns multiple rows (like table_info, foreign_key_check).
|
|
26
|
+
* Example: pragmaAll(db, "table_info(agents)") => [{ cid: 0, name: "id", ... }]
|
|
27
|
+
*/
|
|
28
|
+
export function pragmaAll(db: DatabaseSync, key: string): unknown[] {
|
|
29
|
+
return db.prepare(`PRAGMA ${key}`).all();
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Set a PRAGMA value.
|
|
34
|
+
* Example: pragmaSet(db, "journal_mode = WAL")
|
|
35
|
+
*/
|
|
36
|
+
export function pragmaSet(db: DatabaseSync, pragma: string): void {
|
|
37
|
+
db.exec(`PRAGMA ${pragma}`);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Run a function inside a transaction. Mimics better-sqlite3's db.transaction() API.
|
|
42
|
+
* Automatically commits on success, rolls back on error.
|
|
43
|
+
*/
|
|
44
|
+
export function transaction<T>(db: DatabaseSync, fn: () => T): T {
|
|
45
|
+
db.exec("BEGIN");
|
|
46
|
+
try {
|
|
47
|
+
const result = fn();
|
|
48
|
+
db.exec("COMMIT");
|
|
49
|
+
return result;
|
|
50
|
+
} catch (err) {
|
|
51
|
+
db.exec("ROLLBACK");
|
|
52
|
+
throw err;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Returns a reusable transaction wrapper (like better-sqlite3's db.transaction(fn)).
|
|
58
|
+
* The returned function accepts args and passes them to fn.
|
|
59
|
+
*/
|
|
60
|
+
export function transactionFn<TArgs extends unknown[], TResult>(
|
|
61
|
+
db: DatabaseSync,
|
|
62
|
+
fn: (...args: TArgs) => TResult,
|
|
63
|
+
): (...args: TArgs) => TResult {
|
|
64
|
+
return (...args: TArgs) => {
|
|
65
|
+
db.exec("BEGIN");
|
|
66
|
+
try {
|
|
67
|
+
const result = fn(...args);
|
|
68
|
+
db.exec("COMMIT");
|
|
69
|
+
return result;
|
|
70
|
+
} catch (err) {
|
|
71
|
+
db.exec("ROLLBACK");
|
|
72
|
+
throw err;
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* SQLite QueryBuilder — drop-in replacement for the Postgres QueryBuilder in db-adapter.ts.
|
|
3
3
|
*
|
|
4
4
|
* Translates the same fluent API (.from().select().eq().single() etc.) into
|
|
5
|
-
* SQLite-compatible SQL executed via
|
|
5
|
+
* SQLite-compatible SQL executed via node:sqlite.
|
|
6
6
|
*
|
|
7
7
|
* Key dialect differences handled:
|
|
8
8
|
* - Parameterised placeholders: $N → ?
|
|
@@ -14,7 +14,8 @@
|
|
|
14
14
|
* - RETURNING → supported in SQLite ≥ 3.35
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import
|
|
17
|
+
import { DatabaseSync } from "node:sqlite";
|
|
18
|
+
import { pragmaAll } from "./sqlite-compat";
|
|
18
19
|
import fs from "fs";
|
|
19
20
|
import path from "path";
|
|
20
21
|
import os from "os";
|
|
@@ -42,16 +43,16 @@ export function sqlExpr(expr: string): SqlExpression {
|
|
|
42
43
|
|
|
43
44
|
// ── Singleton connection ────────────────────────────────────────────────────
|
|
44
45
|
|
|
45
|
-
let _db:
|
|
46
|
+
let _db: DatabaseSync | null = null;
|
|
46
47
|
|
|
47
|
-
export function getSQLiteDb():
|
|
48
|
+
export function getSQLiteDb(): DatabaseSync {
|
|
48
49
|
if (_db) return _db;
|
|
49
50
|
|
|
50
51
|
const dbPath =
|
|
51
52
|
process.env.SQLITE_DB_PATH ||
|
|
52
53
|
path.join(AGX_DATA_DIR, "agx-board.db");
|
|
53
54
|
|
|
54
|
-
_db = new
|
|
55
|
+
_db = new DatabaseSync(dbPath);
|
|
55
56
|
|
|
56
57
|
// Validate environment (applies PRAGMAs, checks version/extensions)
|
|
57
58
|
const errors = validateSQLiteEnvironment(_db, dbPath);
|
|
@@ -82,7 +83,7 @@ export function getSQLiteDb(): Database.Database {
|
|
|
82
83
|
return _db;
|
|
83
84
|
}
|
|
84
85
|
|
|
85
|
-
function initSQLiteSchema(db:
|
|
86
|
+
function initSQLiteSchema(db: DatabaseSync): void {
|
|
86
87
|
const ddlPath = path.join(process.cwd(), "db", "sqlite", "001_agx_board_schema.sql");
|
|
87
88
|
if (!fs.existsSync(ddlPath)) {
|
|
88
89
|
console.warn(`[sqlite] DDL not found at ${ddlPath}, skipping schema init`);
|
|
@@ -94,7 +95,7 @@ function initSQLiteSchema(db: Database.Database): void {
|
|
|
94
95
|
|
|
95
96
|
// ── Runtime migrations (idempotent) ──────────────────────────────────────────
|
|
96
97
|
|
|
97
|
-
function dropLegacyTeamsTables(db:
|
|
98
|
+
function dropLegacyTeamsTables(db: DatabaseSync): void {
|
|
98
99
|
const hasTeams = db.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='teams'").get();
|
|
99
100
|
if (!hasTeams) return;
|
|
100
101
|
|
|
@@ -112,12 +113,12 @@ function dropLegacyTeamsTables(db: Database.Database): void {
|
|
|
112
113
|
console.log("[sqlite] dropped legacy teams, team_agents, team_workspaces tables");
|
|
113
114
|
}
|
|
114
115
|
|
|
115
|
-
function runMigrations(db:
|
|
116
|
+
function runMigrations(db: DatabaseSync): void {
|
|
116
117
|
const graphTables = db
|
|
117
118
|
.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='execution_graphs'")
|
|
118
119
|
.all();
|
|
119
120
|
if (graphTables.length > 0) {
|
|
120
|
-
const columns = db
|
|
121
|
+
const columns = pragmaAll(db, "table_info(execution_graphs)") as { name: string }[];
|
|
121
122
|
if (!columns.some((column) => column.name === "schedule")) {
|
|
122
123
|
db.exec("ALTER TABLE execution_graphs ADD COLUMN schedule JSON");
|
|
123
124
|
}
|
|
@@ -127,7 +128,7 @@ function runMigrations(db: Database.Database): void {
|
|
|
127
128
|
.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='project_memory'")
|
|
128
129
|
.all();
|
|
129
130
|
if (projectMemoryTables.length > 0) {
|
|
130
|
-
const projectMemoryCols = db
|
|
131
|
+
const projectMemoryCols = pragmaAll(db, "table_info(project_memory)") as { name: string }[];
|
|
131
132
|
if (!projectMemoryCols.some((column) => column.name === "producer")) {
|
|
132
133
|
db.exec("ALTER TABLE project_memory ADD COLUMN producer TEXT NOT NULL DEFAULT 'human' CHECK(producer IN ('human', 'system'))");
|
|
133
134
|
}
|
|
@@ -137,7 +138,7 @@ function runMigrations(db: Database.Database): void {
|
|
|
137
138
|
// Add new agent identity columns (voice, seed, model, provider, color)
|
|
138
139
|
const agentTables = db.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='agents'").all();
|
|
139
140
|
if (agentTables.length > 0) {
|
|
140
|
-
const agentCols = db
|
|
141
|
+
const agentCols = pragmaAll(db, "table_info(agents)") as { name: string }[];
|
|
141
142
|
const agentColNames = new Set(agentCols.map((c) => c.name));
|
|
142
143
|
if (!agentColNames.has("voice")) db.exec("ALTER TABLE agents ADD COLUMN voice TEXT");
|
|
143
144
|
if (!agentColNames.has("seed")) db.exec("ALTER TABLE agents ADD COLUMN seed TEXT");
|
|
@@ -385,7 +386,7 @@ function runMigrations(db: Database.Database): void {
|
|
|
385
386
|
|
|
386
387
|
}
|
|
387
388
|
|
|
388
|
-
function backfillAgentsFromFilesystem(db:
|
|
389
|
+
function backfillAgentsFromFilesystem(db: DatabaseSync): void {
|
|
389
390
|
const upsertAgent = db.prepare(
|
|
390
391
|
`INSERT INTO agents (id, user_id, name, style, description, voice, seed)
|
|
391
392
|
VALUES (?, ?, ?, 'balanced', NULL, ?, ?)
|
|
@@ -412,7 +413,7 @@ function backfillAgentsFromFilesystem(db: Database.Database): void {
|
|
|
412
413
|
}
|
|
413
414
|
}
|
|
414
415
|
|
|
415
|
-
function backfillAgentSkillsFromLegacyParticipants(db:
|
|
416
|
+
function backfillAgentSkillsFromLegacyParticipants(db: DatabaseSync): void {
|
|
416
417
|
const participants = loadParticipants();
|
|
417
418
|
const existingAgents = new Set(
|
|
418
419
|
(db.prepare("SELECT id FROM agents").all() as Array<{ id: string }>).map((row) => row.id)
|
|
@@ -434,7 +435,7 @@ function backfillAgentSkillsFromLegacyParticipants(db: Database.Database): void
|
|
|
434
435
|
}
|
|
435
436
|
}
|
|
436
437
|
|
|
437
|
-
function ensureRuntimeArtifactsForDbAgents(db:
|
|
438
|
+
function ensureRuntimeArtifactsForDbAgents(db: DatabaseSync): void {
|
|
438
439
|
const agents = db
|
|
439
440
|
.prepare("SELECT id, voice, seed FROM agents")
|
|
440
441
|
.all() as Array<{ id: string; voice: string | null; seed: string | null }>;
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
* Handles type coercion from PG types to SQLite types and
|
|
5
5
|
* writes batches inside transactions for performance.
|
|
6
6
|
*/
|
|
7
|
-
import
|
|
7
|
+
import { DatabaseSync } from "node:sqlite";
|
|
8
|
+
import { pragmaSet, pragmaAll, transactionFn } from "./sqlite-compat";
|
|
8
9
|
import * as fs from "fs";
|
|
9
10
|
import * as path from "path";
|
|
10
11
|
|
|
@@ -14,13 +15,13 @@ export interface SqliteWriterOptions {
|
|
|
14
15
|
}
|
|
15
16
|
|
|
16
17
|
export class SqliteWriter {
|
|
17
|
-
db:
|
|
18
|
+
db: DatabaseSync;
|
|
18
19
|
|
|
19
20
|
constructor(opts: SqliteWriterOptions) {
|
|
20
|
-
this.db = new
|
|
21
|
-
this.db
|
|
22
|
-
this.db
|
|
23
|
-
this.db
|
|
21
|
+
this.db = new DatabaseSync(opts.dbPath);
|
|
22
|
+
pragmaSet(this.db, "journal_mode = WAL");
|
|
23
|
+
pragmaSet(this.db, "foreign_keys = OFF"); // off during migration, checked after
|
|
24
|
+
pragmaSet(this.db, "synchronous = NORMAL");
|
|
24
25
|
}
|
|
25
26
|
|
|
26
27
|
/** Initialize the SQLite schema from the DDL file */
|
|
@@ -45,7 +46,7 @@ export class SqliteWriter {
|
|
|
45
46
|
`INSERT OR IGNORE INTO "${table}" (${quotedCols}) VALUES (${placeholders})`
|
|
46
47
|
);
|
|
47
48
|
|
|
48
|
-
const tx = this.db
|
|
49
|
+
const tx = transactionFn(this.db, (batch: Record<string, unknown>[]) => {
|
|
49
50
|
for (const row of batch) {
|
|
50
51
|
const values = columns.map((col) =>
|
|
51
52
|
coercePgToSqlite(row[col], pgTypes.get(col) ?? "text")
|
|
@@ -130,8 +131,8 @@ export class SqliteWriter {
|
|
|
130
131
|
|
|
131
132
|
/** Run PRAGMA foreign_key_check and return violations */
|
|
132
133
|
checkForeignKeys(): { table: string; rowid: number; parent: string; fkid: number }[] {
|
|
133
|
-
this.db
|
|
134
|
-
const violations = this.db
|
|
134
|
+
pragmaSet(this.db, "foreign_keys = ON");
|
|
135
|
+
const violations = pragmaAll(this.db, "foreign_key_check") as {
|
|
135
136
|
table: string;
|
|
136
137
|
rowid: number;
|
|
137
138
|
parent: string;
|
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
* Import and call `validateSQLiteEnvironment(db)` before any query execution.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import
|
|
8
|
+
import { DatabaseSync, backup as sqliteBackup } from "node:sqlite";
|
|
9
|
+
import { pragmaGet, pragmaSet } from "./sqlite-compat";
|
|
9
10
|
import fs from "fs";
|
|
10
11
|
import os from "os";
|
|
11
12
|
import path from "path";
|
|
@@ -108,7 +109,7 @@ function detectFilesystemType(dbPath: string): string | null {
|
|
|
108
109
|
|
|
109
110
|
// ── Extension check ─────────────────────────────────────────────────────────
|
|
110
111
|
|
|
111
|
-
function checkExtension(db:
|
|
112
|
+
function checkExtension(db: DatabaseSync, ext: string): boolean {
|
|
112
113
|
try {
|
|
113
114
|
if (ext === "json1") {
|
|
114
115
|
db.prepare("SELECT json('{}')").get();
|
|
@@ -132,7 +133,7 @@ function checkExtension(db: Database.Database, ext: string): boolean {
|
|
|
132
133
|
* Validate SQLite runtime environment. Returns array of errors (empty = OK).
|
|
133
134
|
* Call this once at startup before serving requests.
|
|
134
135
|
*/
|
|
135
|
-
export function validateSQLiteEnvironment(db:
|
|
136
|
+
export function validateSQLiteEnvironment(db: DatabaseSync, dbPath: string): StartupError[] {
|
|
136
137
|
const errors: StartupError[] = [];
|
|
137
138
|
|
|
138
139
|
// 1. Version check
|
|
@@ -144,9 +145,7 @@ export function validateSQLiteEnvironment(db: Database.Database, dbPath: string)
|
|
|
144
145
|
found: version.v,
|
|
145
146
|
required: `>= ${MIN_SQLITE_VERSION}`,
|
|
146
147
|
fix:
|
|
147
|
-
|
|
148
|
-
? "brew install sqlite3 && npm rebuild better-sqlite3"
|
|
149
|
-
: "apt-get install -y libsqlite3-dev && npm rebuild better-sqlite3",
|
|
148
|
+
"Ensure Node.js >= 22.16 is installed (node:sqlite is built-in)",
|
|
150
149
|
});
|
|
151
150
|
}
|
|
152
151
|
|
|
@@ -186,20 +185,20 @@ export function validateSQLiteEnvironment(db: Database.Database, dbPath: string)
|
|
|
186
185
|
|
|
187
186
|
// 5. Apply PRAGMAs
|
|
188
187
|
try {
|
|
189
|
-
db
|
|
190
|
-
db
|
|
191
|
-
db
|
|
192
|
-
db
|
|
193
|
-
db
|
|
188
|
+
pragmaSet(db, `journal_mode = ${REQUIRED_PRAGMAS.journal_mode}`);
|
|
189
|
+
pragmaSet(db, `foreign_keys = ${REQUIRED_PRAGMAS.foreign_keys}`);
|
|
190
|
+
pragmaSet(db, `busy_timeout = ${REQUIRED_PRAGMAS.busy_timeout}`);
|
|
191
|
+
pragmaSet(db, `synchronous = ${REQUIRED_PRAGMAS.synchronous}`);
|
|
192
|
+
pragmaSet(db, `cache_size = ${REQUIRED_PRAGMAS.cache_size}`);
|
|
194
193
|
|
|
195
194
|
// Verify journal_mode stuck — WAL preferred, DELETE acceptable (network FS),
|
|
196
195
|
// memory/off are not safe for production.
|
|
197
|
-
const jm = (db
|
|
196
|
+
const jm = (pragmaGet(db, "journal_mode") as string).toLowerCase();
|
|
198
197
|
const ACCEPTABLE_JOURNAL_MODES = new Set(["wal", "delete"]);
|
|
199
198
|
if (!ACCEPTABLE_JOURNAL_MODES.has(jm)) {
|
|
200
199
|
// WAL failed — try DELETE as fallback (works on network filesystems)
|
|
201
|
-
db
|
|
202
|
-
const jm2 = (db
|
|
200
|
+
pragmaSet(db, "journal_mode = DELETE");
|
|
201
|
+
const jm2 = (pragmaGet(db, "journal_mode") as string).toLowerCase();
|
|
203
202
|
if (!ACCEPTABLE_JOURNAL_MODES.has(jm2)) {
|
|
204
203
|
errors.push({
|
|
205
204
|
kind: "pragma_error",
|
|
@@ -210,7 +209,7 @@ export function validateSQLiteEnvironment(db: Database.Database, dbPath: string)
|
|
|
210
209
|
});
|
|
211
210
|
} else {
|
|
212
211
|
// DELETE mode needs synchronous=FULL for durability (WAL is safe with NORMAL)
|
|
213
|
-
db
|
|
212
|
+
pragmaSet(db, "synchronous = FULL");
|
|
214
213
|
console.warn(`[startup] WAL unavailable, using journal_mode=${jm2} with synchronous=FULL`);
|
|
215
214
|
}
|
|
216
215
|
}
|
|
@@ -231,17 +230,17 @@ export function validateSQLiteEnvironment(db: Database.Database, dbPath: string)
|
|
|
231
230
|
* WAL-safe online backup using SQLite backup API.
|
|
232
231
|
*
|
|
233
232
|
* Contract:
|
|
234
|
-
* - Use `
|
|
233
|
+
* - Use `backup(db, destPath)` from node:sqlite
|
|
235
234
|
* - Checkpoint WAL before backup: PRAGMA wal_checkpoint(TRUNCATE)
|
|
236
235
|
* - Checkpoint policy: auto-checkpoint at 1000 pages (SQLite default)
|
|
237
236
|
* - Restore: stop app → replace DB file → delete WAL/SHM → restart
|
|
238
237
|
* - RTO target: < 5 minutes for databases under 1 GB
|
|
239
238
|
*/
|
|
240
|
-
export async function backupDatabase(db:
|
|
239
|
+
export async function backupDatabase(db: DatabaseSync, destPath: string): Promise<void> {
|
|
241
240
|
// Checkpoint to flush WAL into main DB
|
|
242
|
-
db.
|
|
241
|
+
db.exec("PRAGMA wal_checkpoint(TRUNCATE)");
|
|
243
242
|
// Use the backup API
|
|
244
|
-
await db
|
|
243
|
+
await sqliteBackup(db, destPath);
|
|
245
244
|
}
|
|
246
245
|
|
|
247
246
|
/**
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { randomUUID } from "crypto";
|
|
2
2
|
import { getSQLiteDb } from "./sqlite-query-adapter";
|
|
3
|
+
import { transactionFn } from "./sqlite-compat";
|
|
3
4
|
|
|
4
5
|
export type ThreadKnowledgeScope = "repo" | "project";
|
|
5
6
|
export type ThreadKnowledgeRunStatus = "running" | "completed" | "failed";
|
|
@@ -93,7 +94,7 @@ export function startThreadKnowledgeRun(input: {
|
|
|
93
94
|
}): { run: ThreadKnowledgeRun; reused: boolean } {
|
|
94
95
|
const db = getSQLiteDb();
|
|
95
96
|
const now = new Date().toISOString();
|
|
96
|
-
const tx = db
|
|
97
|
+
const tx = transactionFn(db, (args: {
|
|
97
98
|
threadId: string;
|
|
98
99
|
rootMessageId: string;
|
|
99
100
|
scopes: ThreadKnowledgeScope[];
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { DatabaseSync } from "node:sqlite";
|
|
2
|
+
import { transaction } from "./sqlite-compat";
|
|
2
3
|
import { loadParticipants } from "@/lib/participants-store";
|
|
3
4
|
import { LOCAL_USER } from "@/lib/auth-mode";
|
|
4
5
|
|
|
@@ -53,7 +54,7 @@ export interface WorkspacesToProjectsMigrationResult {
|
|
|
53
54
|
}>;
|
|
54
55
|
}
|
|
55
56
|
|
|
56
|
-
function ensureMigrationStateTable(db:
|
|
57
|
+
function ensureMigrationStateTable(db: DatabaseSync) {
|
|
57
58
|
db.exec(`
|
|
58
59
|
CREATE TABLE IF NOT EXISTS app_migrations (
|
|
59
60
|
key TEXT PRIMARY KEY,
|
|
@@ -63,7 +64,7 @@ function ensureMigrationStateTable(db: Database.Database) {
|
|
|
63
64
|
`);
|
|
64
65
|
}
|
|
65
66
|
|
|
66
|
-
function isMigrationApplied(db:
|
|
67
|
+
function isMigrationApplied(db: DatabaseSync, key: string): boolean {
|
|
67
68
|
ensureMigrationStateTable(db);
|
|
68
69
|
const row = db
|
|
69
70
|
.prepare("SELECT 1 FROM app_migrations WHERE key = ? LIMIT 1")
|
|
@@ -72,7 +73,7 @@ function isMigrationApplied(db: Database.Database, key: string): boolean {
|
|
|
72
73
|
}
|
|
73
74
|
|
|
74
75
|
function markMigrationApplied(
|
|
75
|
-
db:
|
|
76
|
+
db: DatabaseSync,
|
|
76
77
|
key: string,
|
|
77
78
|
metadata: Record<string, unknown>
|
|
78
79
|
) {
|
|
@@ -104,22 +105,22 @@ function titleCase(value: string): string {
|
|
|
104
105
|
.join(" ");
|
|
105
106
|
}
|
|
106
107
|
|
|
107
|
-
function loadLegacyState(db:
|
|
108
|
+
function loadLegacyState(db: DatabaseSync) {
|
|
108
109
|
const teams = db
|
|
109
110
|
.prepare("SELECT id, name, user_id, COALESCE(is_default, 0) AS is_default FROM teams ORDER BY name ASC")
|
|
110
|
-
.all() as LegacyTeamRow[];
|
|
111
|
+
.all() as unknown as LegacyTeamRow[];
|
|
111
112
|
const teamAgents = db
|
|
112
113
|
.prepare("SELECT team_id, agent_id, routing_order FROM team_agents ORDER BY team_id, routing_order ASC")
|
|
113
|
-
.all() as LegacyTeamAgentRow[];
|
|
114
|
+
.all() as unknown as LegacyTeamAgentRow[];
|
|
114
115
|
const teamWorkspaces = db
|
|
115
116
|
.prepare("SELECT team_id, thread_id FROM team_workspaces ORDER BY team_id, thread_id ASC")
|
|
116
|
-
.all() as LegacyTeamWorkspaceRow[];
|
|
117
|
+
.all() as unknown as LegacyTeamWorkspaceRow[];
|
|
117
118
|
|
|
118
119
|
return { teams, teamAgents, teamWorkspaces };
|
|
119
120
|
}
|
|
120
121
|
|
|
121
122
|
function ensureProject(
|
|
122
|
-
db:
|
|
123
|
+
db: DatabaseSync,
|
|
123
124
|
userId: string,
|
|
124
125
|
team: LegacyTeamRow,
|
|
125
126
|
result: WorkspacesToProjectsMigrationResult
|
|
@@ -151,7 +152,7 @@ function ensureProject(
|
|
|
151
152
|
}
|
|
152
153
|
|
|
153
154
|
function importLegacyParticipants(
|
|
154
|
-
db:
|
|
155
|
+
db: DatabaseSync,
|
|
155
156
|
userId: string,
|
|
156
157
|
participants: LegacyParticipant[],
|
|
157
158
|
result: WorkspacesToProjectsMigrationResult
|
|
@@ -189,7 +190,7 @@ function importLegacyParticipants(
|
|
|
189
190
|
}
|
|
190
191
|
|
|
191
192
|
function migrateProjectResources(
|
|
192
|
-
db:
|
|
193
|
+
db: DatabaseSync,
|
|
193
194
|
projectId: string,
|
|
194
195
|
agentIds: string[],
|
|
195
196
|
participantById: Map<string, LegacyParticipant>,
|
|
@@ -223,7 +224,7 @@ function migrateProjectResources(
|
|
|
223
224
|
}
|
|
224
225
|
|
|
225
226
|
function migrateAgentSkills(
|
|
226
|
-
db:
|
|
227
|
+
db: DatabaseSync,
|
|
227
228
|
participants: LegacyParticipant[],
|
|
228
229
|
result: WorkspacesToProjectsMigrationResult
|
|
229
230
|
) {
|
|
@@ -251,7 +252,7 @@ function migrateAgentSkills(
|
|
|
251
252
|
}
|
|
252
253
|
|
|
253
254
|
export function migrateLegacyWorkspacesToProjects(
|
|
254
|
-
inputDb?:
|
|
255
|
+
inputDb?: DatabaseSync
|
|
255
256
|
): WorkspacesToProjectsMigrationResult {
|
|
256
257
|
if (!inputDb) {
|
|
257
258
|
throw new Error("migrateLegacyWorkspacesToProjects requires an explicit database handle");
|
|
@@ -279,7 +280,7 @@ export function migrateLegacyWorkspacesToProjects(
|
|
|
279
280
|
return result;
|
|
280
281
|
}
|
|
281
282
|
|
|
282
|
-
const participants = loadParticipants() as LegacyParticipant[];
|
|
283
|
+
const participants = loadParticipants() as unknown as LegacyParticipant[];
|
|
283
284
|
const participantById = new Map(participants.map((participant) => [participant.id, participant]));
|
|
284
285
|
|
|
285
286
|
const { teams, teamAgents, teamWorkspaces } = loadLegacyState(db);
|
|
@@ -304,7 +305,7 @@ export function migrateLegacyWorkspacesToProjects(
|
|
|
304
305
|
workspacesByTeam.set(row.team_id, list);
|
|
305
306
|
}
|
|
306
307
|
|
|
307
|
-
const migrateTxn =
|
|
308
|
+
const migrateTxn = () => transaction(db, () => {
|
|
308
309
|
for (const [userId, userTeams] of teamsByUser.entries()) {
|
|
309
310
|
result.usersProcessed++;
|
|
310
311
|
const effectiveUserId = userId || LOCAL_USER.id;
|
|
@@ -363,7 +364,7 @@ export function migrateLegacyWorkspacesToProjects(
|
|
|
363
364
|
for (const [projectId, threadIds] of intendedThreadsByProject.entries()) {
|
|
364
365
|
for (const threadId of threadIds) {
|
|
365
366
|
const removed = deleteThreadLinksElsewhere.run(threadId, projectId);
|
|
366
|
-
result.remappedThreadLinks += removed.changes;
|
|
367
|
+
result.remappedThreadLinks += Number(removed.changes);
|
|
367
368
|
const linked = insertProjectThread.run(projectId, threadId);
|
|
368
369
|
if (linked.changes > 0) result.projectThreadsLinked++;
|
|
369
370
|
}
|
|
@@ -376,7 +377,7 @@ export function migrateLegacyWorkspacesToProjects(
|
|
|
376
377
|
}
|
|
377
378
|
|
|
378
379
|
export function autoMigrateLegacyWorkspacesToProjects(
|
|
379
|
-
inputDb?:
|
|
380
|
+
inputDb?: DatabaseSync
|
|
380
381
|
): WorkspacesToProjectsMigrationResult | null {
|
|
381
382
|
if (!inputDb) {
|
|
382
383
|
throw new Error("autoMigrateLegacyWorkspacesToProjects requires an explicit database handle");
|
|
@@ -410,7 +411,7 @@ export function autoMigrateLegacyWorkspacesToProjects(
|
|
|
410
411
|
return result;
|
|
411
412
|
}
|
|
412
413
|
|
|
413
|
-
export function getLegacyWorkspaceMigrationStatus(inputDb?:
|
|
414
|
+
export function getLegacyWorkspaceMigrationStatus(inputDb?: DatabaseSync): {
|
|
414
415
|
applied: boolean;
|
|
415
416
|
appliedAt: string | null;
|
|
416
417
|
metadata: Record<string, unknown> | null;
|