@mndrk/agx 2.0.36 → 2.0.39
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 +4 -4
- package/cloud-runtime/standalone/.next/prerender-manifest.json +3 -3
- package/cloud-runtime/standalone/.next/required-server-files.json +4 -7
- 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 +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/build-manifest.json +2 -2
- 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_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/build-manifest.json +2 -2
- 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/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 +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/build-manifest.json +2 -2
- 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/build-manifest.json +2 -2
- 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/build-manifest.json +2 -2
- 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/build-manifest.json +2 -2
- 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/build-manifest.json +2 -2
- 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/build-manifest.json +2 -2
- 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/build-manifest.json +2 -2
- 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/build-manifest.json +2 -2
- 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/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 +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/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 +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/build-manifest.json +2 -2
- 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/build-manifest.json +2 -2
- 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/build-manifest.json +2 -2
- 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_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]__0936925d._.js +3 -0
- 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]__4bce7db7._.js +101 -0
- 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} +19 -19
- 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]__96ae701e._.js +1 -1
- 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-build-manifest.js +2 -2
- 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/.next/static/chunks/{dfff51033c303fc7.js → ee5f1457fbc593e1.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/{turbopack-22475f0dd0c18f92.js → turbopack-e1d640f2fbe4fa5e.js} +1 -1
- 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/coverage/clover.xml +1208 -0
- package/cloud-runtime/standalone/coverage/coverage-final.json +29 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/audit/index.html +116 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/audit/route.ts.html +208 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/[...nextauth]/index.html +116 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/[...nextauth]/route.ts.html +166 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/daemon-secret/index.html +116 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/daemon-secret/route.ts.html +532 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/status/index.html +116 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/status/route.ts.html +178 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/learnings/index.html +116 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/learnings/route.ts.html +262 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/logs/stream/index.html +116 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/logs/stream/route.ts.html +448 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/queue/complete/index.html +116 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/queue/complete/route.ts.html +331 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/queue/index.html +116 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/queue/route.ts.html +505 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/stage-prompts/index.html +116 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/stage-prompts/route.ts.html +412 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/advance/index.html +116 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/advance/route.ts.html +304 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/index.html +116 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/logs/index.html +116 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/logs/route.ts.html +202 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/route.ts.html +373 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/index.html +116 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/route.ts.html +499 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/stream/index.html +116 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/stream/route.ts.html +349 -0
- package/cloud-runtime/standalone/coverage/lcov-report/base.css +224 -0
- package/cloud-runtime/standalone/coverage/lcov-report/block-navigation.js +87 -0
- package/cloud-runtime/standalone/coverage/lcov-report/components/AuthProvider.tsx.html +259 -0
- package/cloud-runtime/standalone/coverage/lcov-report/components/ChatInterface.tsx.html +1228 -0
- package/cloud-runtime/standalone/coverage/lcov-report/components/KanbanBoard.tsx.html +1024 -0
- package/cloud-runtime/standalone/coverage/lcov-report/components/Layout.tsx.html +211 -0
- package/cloud-runtime/standalone/coverage/lcov-report/components/LearningsPanel.tsx.html +535 -0
- package/cloud-runtime/standalone/coverage/lcov-report/components/LogTimeline.tsx.html +415 -0
- package/cloud-runtime/standalone/coverage/lcov-report/components/SortableTaskCard.tsx.html +358 -0
- package/cloud-runtime/standalone/coverage/lcov-report/components/StagePills.tsx.html +439 -0
- package/cloud-runtime/standalone/coverage/lcov-report/components/TaskCard.tsx.html +514 -0
- package/cloud-runtime/standalone/coverage/lcov-report/components/TaskCardOverlay.tsx.html +256 -0
- package/cloud-runtime/standalone/coverage/lcov-report/components/TaskDetail.tsx.html +622 -0
- package/cloud-runtime/standalone/coverage/lcov-report/components/TaskList.tsx.html +253 -0
- package/cloud-runtime/standalone/coverage/lcov-report/components/index.html +281 -0
- package/cloud-runtime/standalone/coverage/lcov-report/favicon.png +0 -0
- package/cloud-runtime/standalone/coverage/lcov-report/hooks/index.html +116 -0
- package/cloud-runtime/standalone/coverage/lcov-report/hooks/useTasks.ts.html +1042 -0
- package/cloud-runtime/standalone/coverage/lcov-report/index.html +341 -0
- package/cloud-runtime/standalone/coverage/lcov-report/lib/auth-client.ts.html +202 -0
- package/cloud-runtime/standalone/coverage/lcov-report/lib/auth-server.ts.html +172 -0
- package/cloud-runtime/standalone/coverage/lcov-report/lib/auth.ts.html +265 -0
- package/cloud-runtime/standalone/coverage/lcov-report/lib/db.ts.html +1252 -0
- package/cloud-runtime/standalone/coverage/lcov-report/lib/index.html +131 -0
- package/cloud-runtime/standalone/coverage/lcov-report/lib/orchestrator.ts.html +409 -0
- package/cloud-runtime/standalone/coverage/lcov-report/lib/security.ts.html +1165 -0
- package/cloud-runtime/standalone/coverage/lcov-report/lib/supabase-server.ts.html +175 -0
- package/cloud-runtime/standalone/coverage/lcov-report/lib/supabase.ts.html +157 -0
- package/cloud-runtime/standalone/coverage/lcov-report/prettify.css +1 -0
- package/cloud-runtime/standalone/coverage/lcov-report/prettify.js +2 -0
- package/cloud-runtime/standalone/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/cloud-runtime/standalone/coverage/lcov-report/sorter.js +210 -0
- package/cloud-runtime/standalone/coverage/lcov.info +2386 -0
- package/cloud-runtime/standalone/docs/LIMITS.md +63 -0
- package/cloud-runtime/standalone/docs/architecture/ADR-001-hybrid-to-full-sqlite.md +345 -0
- package/cloud-runtime/standalone/docs/baseline/baseline-report.json +1009 -0
- package/cloud-runtime/standalone/docs/baseline/critical-queries.md +105 -0
- package/cloud-runtime/standalone/docs/baseline/lock-metrics.json +21 -0
- package/cloud-runtime/standalone/docs/baseline/read-latency.json +146 -0
- package/cloud-runtime/standalone/docs/baseline/restore-time.json +10 -0
- package/cloud-runtime/standalone/docs/baseline/write-metrics.json +803 -0
- package/cloud-runtime/standalone/docs/decisions/sqlite-migration-adr.md +327 -0
- package/cloud-runtime/standalone/docs/error-code-mapping.md +74 -0
- package/cloud-runtime/standalone/docs/migration-plan.md +120 -0
- package/cloud-runtime/standalone/docs/migration-spec.md +345 -0
- package/cloud-runtime/standalone/docs/pg-sqlite-compatibility-matrix.md +554 -0
- package/cloud-runtime/standalone/docs/project-agent-migration-status.md +229 -0
- package/cloud-runtime/standalone/docs/runbook-shadow-read.md +66 -0
- package/cloud-runtime/standalone/docs/runbook.md +155 -0
- package/cloud-runtime/standalone/docs/specs/cli-postgres-removal.md +69 -0
- package/cloud-runtime/standalone/docs/specs/thread-mentions.md +53 -0
- package/cloud-runtime/standalone/docs/superpowers/plans/2026-04-01-prompt-scheduler.md +1907 -0
- package/cloud-runtime/standalone/docs/superpowers/plans/2026-04-02-sqlite-migration.md +1047 -0
- package/cloud-runtime/standalone/docs/transcript.txt +282 -0
- package/cloud-runtime/standalone/docs/ux/GlobalChatFlow.storyboard +23 -0
- package/cloud-runtime/standalone/docs/ux/assistant-chat-cli.md +32 -0
- package/cloud-runtime/standalone/hooks/usePromptJobs.ts +9 -18
- package/cloud-runtime/standalone/instrumentation.ts +33 -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/dist/constants.js +66 -0
- package/cloud-runtime/standalone/mcp/dist/db.js +220 -0
- package/cloud-runtime/standalone/mcp/dist/index.js +7 -0
- package/cloud-runtime/standalone/mcp/dist/security.js +18 -0
- package/cloud-runtime/standalone/mcp/dist/server.js +240 -0
- package/cloud-runtime/standalone/mcp/dist/task-context.js +287 -0
- package/cloud-runtime/standalone/mcp/dist/test-client.js +82 -0
- package/cloud-runtime/standalone/mcp/dist/tools/audit.js +69 -0
- package/cloud-runtime/standalone/mcp/dist/tools/learnings.js +88 -0
- package/cloud-runtime/standalone/mcp/dist/tools/queue.js +312 -0
- package/cloud-runtime/standalone/mcp/dist/tools/tasks.js +244 -0
- package/cloud-runtime/standalone/mcp/dist/types.js +74 -0
- 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/node_modules/@img/sharp-darwin-arm64/lib/sharp-darwin-arm64.node +0 -0
- package/cloud-runtime/standalone/node_modules/@img/{sharp-linux-x64 → sharp-darwin-arm64}/package.json +7 -13
- package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-linux-x64 → sharp-libvips-darwin-arm64}/README.md +2 -2
- package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-linuxmusl-x64 → sharp-libvips-darwin-arm64}/lib/glib-2.0/include/glibconfig.h +8 -9
- package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-linux-x64/lib/libvips-cpp.so.8.17.3 → sharp-libvips-darwin-arm64/lib/libvips-cpp.8.17.3.dylib} +0 -0
- package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-linux-x64 → sharp-libvips-darwin-arm64}/package.json +5 -11
- package/cloud-runtime/standalone/notes/comments-context-demo.md +141 -0
- package/cloud-runtime/standalone/notes/comments-context-plan.md +119 -0
- package/cloud-runtime/standalone/notes/context-audit.md +21 -0
- package/cloud-runtime/standalone/notes/project-layer-plan.md +30 -0
- package/cloud-runtime/standalone/notes/project-layer.md +123 -0
- package/cloud-runtime/standalone/notes/temporal-migration-design.md +199 -0
- package/cloud-runtime/standalone/package-lock.json +9 -413
- package/cloud-runtime/standalone/package.json +3 -2
- 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 +131 -0
- 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 +180 -0
- package/cloud-runtime/standalone/playwright-report/index.html +85 -0
- 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/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 +131 -0
- 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 +180 -0
- 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 +180 -0
- 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 +180 -0
- 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.json +1 -2
- package/cloud-runtime/standalone/tsconfig.tsbuildinfo +1 -0
- 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]__b500f1bf._.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]__c99509c2._.js +0 -101
- 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/@img/sharp-libvips-linux-x64/lib/glib-2.0/include/glibconfig.h +0 -221
- package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md +0 -46
- package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js +0 -1
- 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 +0 -42
- package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +0 -30
- 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-linuxmusl-x64/lib/sharp-linuxmusl-x64.node +0 -0
- package/cloud-runtime/standalone/node_modules/@img/sharp-linuxmusl-x64/package.json +0 -46
- 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- → 9PXl40CrFxI8nirdJ1A-T}/_buildManifest.js +0 -0
- /package/cloud-runtime/standalone/.next/static/{15nzSRnot8KsYYP8yMBe- → 9PXl40CrFxI8nirdJ1A-T}/_clientMiddlewareManifest.json +0 -0
- /package/cloud-runtime/standalone/.next/static/{15nzSRnot8KsYYP8yMBe- → 9PXl40CrFxI8nirdJ1A-T}/_ssgManifest.js +0 -0
- /package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-linux-x64 → sharp-libvips-darwin-arm64}/lib/index.js +0 -0
- /package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-linux-x64 → sharp-libvips-darwin-arm64}/versions.json +0 -0
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { DatabaseSync, type SQLInputValue } from "node:sqlite";
|
|
2
|
+
import { pragmaAll, pragmaSet, transaction, transactionFn } from "./sqlite-compat";
|
|
2
3
|
import { promises as fs } from "fs";
|
|
3
4
|
import path from "path";
|
|
4
5
|
import os from "os";
|
|
@@ -218,7 +219,7 @@ export interface ThreadStatusSnapshot {
|
|
|
218
219
|
lastUpdatedAt: number | null;
|
|
219
220
|
}
|
|
220
221
|
|
|
221
|
-
function hasSqliteObject(db:
|
|
222
|
+
function hasSqliteObject(db: DatabaseSync, type: "table" | "trigger", name: string): boolean {
|
|
222
223
|
const row = db
|
|
223
224
|
.prepare(`SELECT 1 FROM sqlite_master WHERE type = ? AND name = ? LIMIT 1`)
|
|
224
225
|
.get(type, name);
|
|
@@ -235,7 +236,7 @@ function isPidAlive(pid: number | null | undefined): boolean {
|
|
|
235
236
|
}
|
|
236
237
|
}
|
|
237
238
|
|
|
238
|
-
function initializeMessageSearch(db:
|
|
239
|
+
function initializeMessageSearch(db: DatabaseSync): void {
|
|
239
240
|
const hasFtsTable = hasSqliteObject(db, "table", "messages_fts");
|
|
240
241
|
db.exec(`
|
|
241
242
|
CREATE VIRTUAL TABLE IF NOT EXISTS messages_fts USING fts5(
|
|
@@ -272,13 +273,13 @@ function initializeMessageSearch(db: Database.Database): void {
|
|
|
272
273
|
}
|
|
273
274
|
}
|
|
274
275
|
|
|
275
|
-
function isThreadScopedTable(db:
|
|
276
|
-
const columns = db
|
|
276
|
+
function isThreadScopedTable(db: DatabaseSync, tableName: string): boolean {
|
|
277
|
+
const columns = pragmaAll(db, `table_info(${tableName})`) as Array<{ name: string }>;
|
|
277
278
|
return columns.some((column) => column.name === "thread_id");
|
|
278
279
|
}
|
|
279
280
|
|
|
280
|
-
function migrateThreadReplyColumns(db:
|
|
281
|
-
const columns = db
|
|
281
|
+
function migrateThreadReplyColumns(db: DatabaseSync): void {
|
|
282
|
+
const columns = pragmaAll(db, `table_info(messages)`) as Array<{ name: string }>;
|
|
282
283
|
const colNames = new Set(columns.map((c) => c.name));
|
|
283
284
|
if (!colNames.has("root_message_id")) {
|
|
284
285
|
db.exec(`
|
|
@@ -290,8 +291,8 @@ function migrateThreadReplyColumns(db: Database.Database): void {
|
|
|
290
291
|
}
|
|
291
292
|
}
|
|
292
293
|
|
|
293
|
-
function migrateThreadStatusColumns(db:
|
|
294
|
-
const columns = db
|
|
294
|
+
function migrateThreadStatusColumns(db: DatabaseSync): void {
|
|
295
|
+
const columns = pragmaAll(db, `table_info(messages)`) as Array<{ name: string }>;
|
|
295
296
|
const colNames = new Set(columns.map((c) => c.name));
|
|
296
297
|
if (!colNames.has("thread_status")) {
|
|
297
298
|
db.exec(`
|
|
@@ -301,8 +302,8 @@ function migrateThreadStatusColumns(db: Database.Database): void {
|
|
|
301
302
|
}
|
|
302
303
|
}
|
|
303
304
|
|
|
304
|
-
function migrateReactionHostPidColumn(db:
|
|
305
|
-
const columns = db
|
|
305
|
+
function migrateReactionHostPidColumn(db: DatabaseSync): void {
|
|
306
|
+
const columns = pragmaAll(db, `table_info(message_reactions)`) as Array<{ name: string }>;
|
|
306
307
|
const colNames = new Set(columns.map((c) => c.name));
|
|
307
308
|
if (!colNames.has("host_pid")) {
|
|
308
309
|
db.exec(`ALTER TABLE message_reactions ADD COLUMN host_pid INTEGER`);
|
|
@@ -312,8 +313,8 @@ function migrateReactionHostPidColumn(db: Database.Database): void {
|
|
|
312
313
|
}
|
|
313
314
|
}
|
|
314
315
|
|
|
315
|
-
function migrateLogsToAgentProcessId(db:
|
|
316
|
-
const columns = db
|
|
316
|
+
function migrateLogsToAgentProcessId(db: DatabaseSync): void {
|
|
317
|
+
const columns = pragmaAll(db, `table_info(logs)`) as Array<{ name: string }>;
|
|
317
318
|
const colNames = new Set(columns.map((c) => c.name));
|
|
318
319
|
// Already migrated if agent_process_id exists
|
|
319
320
|
if (colNames.has("agent_process_id")) return;
|
|
@@ -331,8 +332,8 @@ function migrateLogsToAgentProcessId(db: Database.Database): void {
|
|
|
331
332
|
`);
|
|
332
333
|
}
|
|
333
334
|
|
|
334
|
-
function migrateAgentProcessesAddId(db:
|
|
335
|
-
const columns = db
|
|
335
|
+
function migrateAgentProcessesAddId(db: DatabaseSync): void {
|
|
336
|
+
const columns = pragmaAll(db, `table_info(agent_processes)`) as Array<{ name: string }>;
|
|
336
337
|
if (columns.length === 0) return; // table doesn't exist yet, DDL will create it
|
|
337
338
|
const colNames = new Set(columns.map((c) => c.name));
|
|
338
339
|
if (colNames.has("id")) return; // already has id column
|
|
@@ -416,7 +417,7 @@ function toChatRunStepRecord(row: ChatRunStepRow): ChatRunStepRecord {
|
|
|
416
417
|
};
|
|
417
418
|
}
|
|
418
419
|
|
|
419
|
-
function migrateLegacyTables(db:
|
|
420
|
+
function migrateLegacyTables(db: DatabaseSync): void {
|
|
420
421
|
if (!isThreadScopedTable(db, "messages")) {
|
|
421
422
|
db.exec(`
|
|
422
423
|
ALTER TABLE messages RENAME TO messages_legacy;
|
|
@@ -462,10 +463,10 @@ function migrateLegacyTables(db: Database.Database): void {
|
|
|
462
463
|
migrateLogsToAgentProcessId(db);
|
|
463
464
|
}
|
|
464
465
|
|
|
465
|
-
const withDatabase = async <T>(run: (db:
|
|
466
|
+
const withDatabase = async <T>(run: (db: DatabaseSync) => T): Promise<T> => {
|
|
466
467
|
await fs.mkdir(HISTORY_DIR, { recursive: true });
|
|
467
|
-
const db = new
|
|
468
|
-
db
|
|
468
|
+
const db = new DatabaseSync(DB_PATH);
|
|
469
|
+
pragmaSet(db, "journal_mode = WAL");
|
|
469
470
|
try {
|
|
470
471
|
db.exec(`
|
|
471
472
|
CREATE TABLE IF NOT EXISTS messages (
|
|
@@ -611,7 +612,7 @@ function aggregateReactionRows(rows: ReactionRow[]): Map<string, MessageReaction
|
|
|
611
612
|
}
|
|
612
613
|
|
|
613
614
|
function loadMessageReactions(
|
|
614
|
-
db:
|
|
615
|
+
db: DatabaseSync,
|
|
615
616
|
threadId: string,
|
|
616
617
|
messageIds?: string[]
|
|
617
618
|
): Map<string, MessageReaction[]> {
|
|
@@ -626,7 +627,7 @@ function loadMessageReactions(
|
|
|
626
627
|
WHERE thread_id = ? AND message_id IN (${placeholders})
|
|
627
628
|
ORDER BY updated_at ASC`
|
|
628
629
|
)
|
|
629
|
-
.all(threadId, ...messageIds) as ReactionRow[];
|
|
630
|
+
.all(threadId, ...messageIds) as unknown as ReactionRow[];
|
|
630
631
|
return aggregateReactionRows(rows);
|
|
631
632
|
}
|
|
632
633
|
|
|
@@ -637,7 +638,7 @@ function loadMessageReactions(
|
|
|
637
638
|
WHERE thread_id = ?
|
|
638
639
|
ORDER BY updated_at ASC`
|
|
639
640
|
)
|
|
640
|
-
.all(threadId) as ReactionRow[];
|
|
641
|
+
.all(threadId) as unknown as ReactionRow[];
|
|
641
642
|
return aggregateReactionRows(rows);
|
|
642
643
|
}
|
|
643
644
|
|
|
@@ -769,7 +770,7 @@ export async function listRootMessages(options?: {
|
|
|
769
770
|
|
|
770
771
|
const countRow = db
|
|
771
772
|
.prepare(`SELECT COUNT(*) as cnt FROM messages m WHERE ${whereClause}`)
|
|
772
|
-
.get(...(params.length ? [params] : []).flat()) as { cnt: number };
|
|
773
|
+
.get(...(params.length ? [params] : []).flat().map(v => v as SQLInputValue)) as { cnt: number };
|
|
773
774
|
|
|
774
775
|
const rows = db
|
|
775
776
|
.prepare(
|
|
@@ -782,7 +783,7 @@ export async function listRootMessages(options?: {
|
|
|
782
783
|
ORDER BY last_activity DESC
|
|
783
784
|
LIMIT ? OFFSET ?`
|
|
784
785
|
)
|
|
785
|
-
.all(...params, limit, offset) as RootMessageRow[];
|
|
786
|
+
.all(...params.map(v => v as SQLInputValue), limit, offset) as unknown as RootMessageRow[];
|
|
786
787
|
|
|
787
788
|
return { rows, total: countRow.cnt };
|
|
788
789
|
});
|
|
@@ -840,7 +841,7 @@ export async function loadHistory(threadId: string, since?: number): Promise<Gro
|
|
|
840
841
|
ORDER BY timestamp ASC`;
|
|
841
842
|
const rows = (since != null
|
|
842
843
|
? db.prepare(query).all(normalizedThreadId, since)
|
|
843
|
-
: db.prepare(query).all(normalizedThreadId)) as MessageRow[];
|
|
844
|
+
: db.prepare(query).all(normalizedThreadId)) as unknown as MessageRow[];
|
|
844
845
|
const reactionMap = loadMessageReactions(
|
|
845
846
|
db,
|
|
846
847
|
normalizedThreadId,
|
|
@@ -919,7 +920,7 @@ export async function getThreadStatusSnapshot(
|
|
|
919
920
|
WHERE thread_id = ? AND id = ?
|
|
920
921
|
LIMIT 1`
|
|
921
922
|
)
|
|
922
|
-
.get(scopedThreadId, scopedRootMessageId) as MessageRow | undefined;
|
|
923
|
+
.get(scopedThreadId, scopedRootMessageId) as unknown as MessageRow | undefined;
|
|
923
924
|
|
|
924
925
|
if (!rootCandidate) {
|
|
925
926
|
return {
|
|
@@ -1036,7 +1037,7 @@ export async function getThreadStatusSnapshot(
|
|
|
1036
1037
|
last_activity = ?
|
|
1037
1038
|
WHERE id = ?`
|
|
1038
1039
|
);
|
|
1039
|
-
const markManyStale = db
|
|
1040
|
+
const markManyStale = transactionFn(db, (ids: number[]) => {
|
|
1040
1041
|
for (const id of ids) {
|
|
1041
1042
|
markStale.run(now, id);
|
|
1042
1043
|
}
|
|
@@ -1142,7 +1143,7 @@ export async function saveMessages(threadId: string, messages: GroupMessage[]):
|
|
|
1142
1143
|
`INSERT OR REPLACE INTO messages (thread_id, id, role, participant_id, content, timestamp, root_message_id, parent_message_id, depth, thread_status, outcome_note)
|
|
1143
1144
|
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`
|
|
1144
1145
|
);
|
|
1145
|
-
const insertMany = db
|
|
1146
|
+
const insertMany = transactionFn(db, (msgs: GroupMessage[]) => {
|
|
1146
1147
|
for (const m of msgs) {
|
|
1147
1148
|
stmt.run(normalizedThreadId, m.id, m.role, m.participantId, m.content, m.timestamp, m.rootMessageId ?? null, m.parentMessageId ?? null, m.depth ?? 0, m.threadStatus ?? null, m.outcomeNote ?? null);
|
|
1148
1149
|
}
|
|
@@ -1182,7 +1183,7 @@ export async function createChatRun(input: {
|
|
|
1182
1183
|
now
|
|
1183
1184
|
);
|
|
1184
1185
|
|
|
1185
|
-
const row = db.prepare("SELECT * FROM chat_runs WHERE id = ? LIMIT 1").get(input.id) as ChatRunRow | undefined;
|
|
1186
|
+
const row = db.prepare("SELECT * FROM chat_runs WHERE id = ? LIMIT 1").get(input.id) as unknown as ChatRunRow | undefined;
|
|
1186
1187
|
if (!row) {
|
|
1187
1188
|
throw new Error(`Failed to create chat run ${input.id}`);
|
|
1188
1189
|
}
|
|
@@ -1221,14 +1222,14 @@ export async function sweepStaleChatRuns(input?: {
|
|
|
1221
1222
|
)
|
|
1222
1223
|
.run(now, now, ...params);
|
|
1223
1224
|
|
|
1224
|
-
return result.changes;
|
|
1225
|
+
return Number(result.changes);
|
|
1225
1226
|
});
|
|
1226
1227
|
}
|
|
1227
1228
|
|
|
1228
1229
|
export async function getChatRun(chatRunId: string): Promise<ChatRunRecord | null> {
|
|
1229
1230
|
await sweepStaleChatRuns();
|
|
1230
1231
|
return withDatabase((db) => {
|
|
1231
|
-
const row = db.prepare("SELECT * FROM chat_runs WHERE id = ? LIMIT 1").get(chatRunId) as ChatRunRow | undefined;
|
|
1232
|
+
const row = db.prepare("SELECT * FROM chat_runs WHERE id = ? LIMIT 1").get(chatRunId) as unknown as ChatRunRow | undefined;
|
|
1232
1233
|
return row ? toChatRunRecord(row) : null;
|
|
1233
1234
|
});
|
|
1234
1235
|
}
|
|
@@ -1260,7 +1261,7 @@ export async function listChatRuns(input: {
|
|
|
1260
1261
|
const where = clauses.length > 0 ? `WHERE ${clauses.join(" AND ")}` : "";
|
|
1261
1262
|
const rows = db
|
|
1262
1263
|
.prepare(`SELECT * FROM chat_runs ${where} ORDER BY updated_at DESC LIMIT ?`)
|
|
1263
|
-
.all(...params, limit) as ChatRunRow[];
|
|
1264
|
+
.all(...params, limit) as unknown as ChatRunRow[];
|
|
1264
1265
|
return rows.map(toChatRunRecord);
|
|
1265
1266
|
});
|
|
1266
1267
|
}
|
|
@@ -1311,7 +1312,7 @@ export async function updateChatRun(input: {
|
|
|
1311
1312
|
params.push(input.id);
|
|
1312
1313
|
db.prepare(`UPDATE chat_runs SET ${updates.join(", ")} WHERE id = ?`).run(...params);
|
|
1313
1314
|
|
|
1314
|
-
const row = db.prepare("SELECT * FROM chat_runs WHERE id = ? LIMIT 1").get(input.id) as ChatRunRow | undefined;
|
|
1315
|
+
const row = db.prepare("SELECT * FROM chat_runs WHERE id = ? LIMIT 1").get(input.id) as unknown as ChatRunRow | undefined;
|
|
1315
1316
|
return row ? toChatRunRecord(row) : null;
|
|
1316
1317
|
});
|
|
1317
1318
|
}
|
|
@@ -1346,7 +1347,7 @@ export async function appendChatRunStep(input: {
|
|
|
1346
1347
|
input.status === "completed" || input.status === "failed" ? now : null
|
|
1347
1348
|
);
|
|
1348
1349
|
|
|
1349
|
-
const row = db.prepare("SELECT * FROM chat_run_steps WHERE id = ? LIMIT 1").get(input.id) as ChatRunStepRow | undefined;
|
|
1350
|
+
const row = db.prepare("SELECT * FROM chat_run_steps WHERE id = ? LIMIT 1").get(input.id) as unknown as ChatRunStepRow | undefined;
|
|
1350
1351
|
if (!row) {
|
|
1351
1352
|
throw new Error(`Failed to append chat run step ${input.id}`);
|
|
1352
1353
|
}
|
|
@@ -1376,12 +1377,12 @@ export async function updateChatRunStep(input: {
|
|
|
1376
1377
|
params.push(input.completedAt);
|
|
1377
1378
|
}
|
|
1378
1379
|
if (updates.length === 0) {
|
|
1379
|
-
const existing = db.prepare("SELECT * FROM chat_run_steps WHERE id = ? LIMIT 1").get(input.id) as ChatRunStepRow | undefined;
|
|
1380
|
+
const existing = db.prepare("SELECT * FROM chat_run_steps WHERE id = ? LIMIT 1").get(input.id) as unknown as ChatRunStepRow | undefined;
|
|
1380
1381
|
return existing ? toChatRunStepRecord(existing) : null;
|
|
1381
1382
|
}
|
|
1382
1383
|
params.push(input.id);
|
|
1383
1384
|
db.prepare(`UPDATE chat_run_steps SET ${updates.join(", ")} WHERE id = ?`).run(...params);
|
|
1384
|
-
const row = db.prepare("SELECT * FROM chat_run_steps WHERE id = ? LIMIT 1").get(input.id) as ChatRunStepRow | undefined;
|
|
1385
|
+
const row = db.prepare("SELECT * FROM chat_run_steps WHERE id = ? LIMIT 1").get(input.id) as unknown as ChatRunStepRow | undefined;
|
|
1385
1386
|
return row ? toChatRunStepRecord(row) : null;
|
|
1386
1387
|
});
|
|
1387
1388
|
}
|
|
@@ -1390,7 +1391,7 @@ export async function listChatRunSteps(chatRunId: string): Promise<ChatRunStepRe
|
|
|
1390
1391
|
return withDatabase((db) => {
|
|
1391
1392
|
const rows = db
|
|
1392
1393
|
.prepare("SELECT * FROM chat_run_steps WHERE chat_run_id = ? ORDER BY step_index ASC, started_at ASC")
|
|
1393
|
-
.all(chatRunId) as ChatRunStepRow[];
|
|
1394
|
+
.all(chatRunId) as unknown as ChatRunStepRow[];
|
|
1394
1395
|
return rows.map(toChatRunStepRecord);
|
|
1395
1396
|
});
|
|
1396
1397
|
}
|
|
@@ -1419,7 +1420,7 @@ export async function getMessageThread(messageId: string): Promise<{ threadId: s
|
|
|
1419
1420
|
export async function clearHistory(threadId: string): Promise<void> {
|
|
1420
1421
|
const normalizedThreadId = threadId.trim() || LEGACY_THREAD_ID;
|
|
1421
1422
|
await withDatabase((db) => {
|
|
1422
|
-
const tx = db
|
|
1423
|
+
const tx = transactionFn(db, (id: string) => {
|
|
1423
1424
|
db.prepare(`DELETE FROM message_reactions WHERE thread_id = ?`).run(id);
|
|
1424
1425
|
db.prepare(`DELETE FROM messages WHERE thread_id = ?`).run(id);
|
|
1425
1426
|
});
|
|
@@ -1433,7 +1434,7 @@ export async function deleteMessage(threadId: string, messageId: string): Promis
|
|
|
1433
1434
|
if (!normalizedMessageId) return;
|
|
1434
1435
|
|
|
1435
1436
|
await withDatabase((db) => {
|
|
1436
|
-
const tx = db
|
|
1437
|
+
const tx = transactionFn(db, (thread: string, msgId: string) => {
|
|
1437
1438
|
db.prepare(
|
|
1438
1439
|
`DELETE FROM message_reactions WHERE thread_id = ? AND message_id = ?`
|
|
1439
1440
|
).run(thread, msgId);
|
|
@@ -1451,7 +1452,7 @@ export async function clearRootThread(threadId: string, rootMessageId: string):
|
|
|
1451
1452
|
if (!normalizedRootMessageId) return;
|
|
1452
1453
|
|
|
1453
1454
|
await withDatabase((db) => {
|
|
1454
|
-
const tx = db
|
|
1455
|
+
const tx = transactionFn(db, (thread: string, rootId: string) => {
|
|
1455
1456
|
db.prepare(
|
|
1456
1457
|
`DELETE FROM message_reactions
|
|
1457
1458
|
WHERE thread_id = ?
|
|
@@ -1509,7 +1510,7 @@ export async function searchMessages(input: SearchMessagesInput): Promise<Search
|
|
|
1509
1510
|
WHERE ${ftsWhereClauses.join(" AND ")}
|
|
1510
1511
|
ORDER BY rank ASC, m.timestamp DESC`
|
|
1511
1512
|
)
|
|
1512
|
-
.all(...ftsWhereParams) as Array<SearchRow & { snippet: string; rank: number }>;
|
|
1513
|
+
.all(...ftsWhereParams) as unknown as Array<SearchRow & { snippet: string; rank: number }>;
|
|
1513
1514
|
|
|
1514
1515
|
for (const row of ftsRows) {
|
|
1515
1516
|
const key = `${row.thread_id}:${row.id}`;
|
|
@@ -1550,7 +1551,7 @@ export async function searchMessages(input: SearchMessagesInput): Promise<Search
|
|
|
1550
1551
|
WHERE ${fallbackClauses.join(" AND ")}
|
|
1551
1552
|
ORDER BY m.timestamp DESC`
|
|
1552
1553
|
)
|
|
1553
|
-
.all(...fallbackParams) as Array<SearchRow & { content: string }>;
|
|
1554
|
+
.all(...fallbackParams) as unknown as Array<SearchRow & { content: string }>;
|
|
1554
1555
|
|
|
1555
1556
|
for (const row of fallbackRows) {
|
|
1556
1557
|
const key = `${row.thread_id}:${row.id}`;
|
|
@@ -1736,12 +1737,11 @@ export async function saveLogs(
|
|
|
1736
1737
|
const stmt = db.prepare(
|
|
1737
1738
|
"INSERT INTO logs (agent_process_id, stream, line, timestamp) VALUES (?, ?, ?, ?)"
|
|
1738
1739
|
);
|
|
1739
|
-
|
|
1740
|
+
transaction(db, () => {
|
|
1740
1741
|
for (const e of entries) {
|
|
1741
1742
|
stmt.run(agentProcessId, e.stream, e.line, e.timestamp);
|
|
1742
1743
|
}
|
|
1743
1744
|
});
|
|
1744
|
-
tx();
|
|
1745
1745
|
});
|
|
1746
1746
|
}
|
|
1747
1747
|
|
|
@@ -1758,7 +1758,7 @@ export async function loadLogs(workspaceId: string): Promise<LogRow[]> {
|
|
|
1758
1758
|
ORDER BY l.timestamp DESC, l.id DESC
|
|
1759
1759
|
LIMIT 100`
|
|
1760
1760
|
)
|
|
1761
|
-
.all(normalized) as LogRow[];
|
|
1761
|
+
.all(normalized) as unknown as LogRow[];
|
|
1762
1762
|
return rows.reverse();
|
|
1763
1763
|
});
|
|
1764
1764
|
}
|
|
@@ -1836,7 +1836,7 @@ export async function sweepStaleWorkingReactions(
|
|
|
1836
1836
|
)
|
|
1837
1837
|
.run(now, normalizedThreadId, cutoff);
|
|
1838
1838
|
|
|
1839
|
-
return { updated: result.changes };
|
|
1839
|
+
return { updated: Number(result.changes) };
|
|
1840
1840
|
});
|
|
1841
1841
|
}
|
|
1842
1842
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createHash, randomUUID } from "crypto";
|
|
2
2
|
import { getSQLiteDb } from "./sqlite-query-adapter";
|
|
3
|
+
import { transactionFn } from "./sqlite-compat";
|
|
3
4
|
|
|
4
5
|
export type KnowledgeScope = "agent" | "repo" | "project";
|
|
5
6
|
export type KnowledgeSourceType = "reflection" | "thread_transition" | "task_completion";
|
|
@@ -191,7 +192,7 @@ export function storeKnowledgeEntries(drafts: KnowledgeDraft[]): number {
|
|
|
191
192
|
);
|
|
192
193
|
|
|
193
194
|
let inserted = 0;
|
|
194
|
-
const tx = db
|
|
195
|
+
const tx = transactionFn(db, (entries: KnowledgeDraft[]) => {
|
|
195
196
|
for (const draft of entries) {
|
|
196
197
|
const subjectId = draft.subjectId.trim();
|
|
197
198
|
const title = draft.title.trim();
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { DatabaseSync } from "node:sqlite";
|
|
2
|
+
import { pragmaAll, pragmaSet, transaction, transactionFn } from "./sqlite-compat";
|
|
2
3
|
import { existsSync, mkdirSync, readFileSync, renameSync, writeFileSync } from "fs";
|
|
3
4
|
import path from "path";
|
|
4
5
|
import os from "os";
|
|
@@ -55,7 +56,7 @@ function migrateAgentDirectory(oldId: string, newId: string, displayName: string
|
|
|
55
56
|
}
|
|
56
57
|
}
|
|
57
58
|
|
|
58
|
-
function migrateLegacyParticipantIds(db:
|
|
59
|
+
function migrateLegacyParticipantIds(db: DatabaseSync): void {
|
|
59
60
|
const rows = db
|
|
60
61
|
.prepare("SELECT id, name, provider FROM participants")
|
|
61
62
|
.all() as Array<{ id: string; name: string; provider: string }>;
|
|
@@ -125,7 +126,7 @@ function migrateLegacyParticipantIds(db: Database.Database): void {
|
|
|
125
126
|
).map((row) => row.name)
|
|
126
127
|
);
|
|
127
128
|
|
|
128
|
-
const migrateTxn = db
|
|
129
|
+
const migrateTxn = transactionFn(db, (participantOps: Array<{ from: string; to: string }>, referenceOps: Array<{ from: string; to: string }>) => {
|
|
129
130
|
const updateParticipant = db.prepare("UPDATE participants SET id = ? WHERE id = ?");
|
|
130
131
|
const updateMessages = tableNames.has("messages")
|
|
131
132
|
? db.prepare("UPDATE messages SET participant_id = ? WHERE participant_id = ?")
|
|
@@ -158,10 +159,10 @@ function migrateLegacyParticipantIds(db: Database.Database): void {
|
|
|
158
159
|
}
|
|
159
160
|
}
|
|
160
161
|
|
|
161
|
-
function getDb():
|
|
162
|
+
function getDb(): DatabaseSync {
|
|
162
163
|
mkdirSync(STORE_DIR, { recursive: true });
|
|
163
|
-
const db = new
|
|
164
|
-
db
|
|
164
|
+
const db = new DatabaseSync(DB_PATH);
|
|
165
|
+
pragmaSet(db, "journal_mode = WAL");
|
|
165
166
|
db.exec(`
|
|
166
167
|
CREATE TABLE IF NOT EXISTS participants (
|
|
167
168
|
id TEXT PRIMARY KEY,
|
|
@@ -176,7 +177,7 @@ function getDb(): Database.Database {
|
|
|
176
177
|
);
|
|
177
178
|
`);
|
|
178
179
|
|
|
179
|
-
const columns = db
|
|
180
|
+
const columns = pragmaAll(db, "table_info(participants)") as Array<{ name: string }>;
|
|
180
181
|
// Migration: rename persona -> identity, persona_file -> identity_file
|
|
181
182
|
if (columns.some((column) => column.name === "persona")) {
|
|
182
183
|
db.exec("ALTER TABLE participants RENAME COLUMN persona TO identity");
|
|
@@ -310,7 +311,7 @@ export function reorderParticipants(orderedIds: string[]): void {
|
|
|
310
311
|
const db = getDb();
|
|
311
312
|
try {
|
|
312
313
|
const stmt = db.prepare("UPDATE participants SET sort_order = ? WHERE id = ?");
|
|
313
|
-
const txn = db
|
|
314
|
+
const txn = transactionFn(db, (ids: string[]) => {
|
|
314
315
|
for (let i = 0; i < ids.length; i++) {
|
|
315
316
|
stmt.run(i, ids[i]);
|
|
316
317
|
}
|
|
@@ -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
|
+
}
|