@mndrk/agx 2.0.26 → 2.0.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -6
- package/cloud-runtime/standalone/.next/BUILD_ID +1 -1
- package/cloud-runtime/standalone/.next/app-path-routes-manifest.json +6 -0
- package/cloud-runtime/standalone/.next/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/prerender-manifest.json +3 -3
- package/cloud-runtime/standalone/.next/required-server-files.json +4 -4
- package/cloud-runtime/standalone/.next/routes-manifest.json +45 -0
- package/cloud-runtime/standalone/.next/server/app/_global-error/page/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/_global-error.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/_global-error.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found/page/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents/[id]/page/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents/[id]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents/page/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents.segments/agents.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/agent-specs/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/agent-specs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js +4 -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 +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/automations/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/chat/route.js +7 -4
- package/cloud-runtime/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route.js +8 -0
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js +7 -0
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route.js +8 -0
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/api/file-search/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/health/route.js +5 -4
- package/cloud-runtime/standalone/.next/server/app/api/health/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/history/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js +5 -4
- package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/logs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/logs/stream/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/logs/stream/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/memories/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/memories/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/messages/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/migrate/teams-to-projects/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/migrate/teams-to-projects/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/migrate/workspaces-to-projects/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/migrate/workspaces-to-projects/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js +5 -4
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js +4 -3
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/participants/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/participants/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/memory/route.js +4 -4
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/memory/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js +4 -4
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js +4 -4
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js +4 -3
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/route.js +4 -3
- package/cloud-runtime/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/providers/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/providers/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js +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 +5 -4
- package/cloud-runtime/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/reactions/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/repos/[id]/knowledge/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/repos/[id]/knowledge/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js +5 -4
- package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js +4 -3
- package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/schedules/route.js +4 -3
- package/cloud-runtime/standalone/.next/server/app/api/schedules/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/search/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/status/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/system/db-status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/task-drafts/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js +6 -5
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js +6 -5
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js +5 -4
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js +4 -3
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js +4 -4
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js +5 -5
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js +5 -5
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/pause/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/pause/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js +5 -5
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js +4 -3
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js +4 -3
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js +4 -4
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js +5 -5
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js +6 -5
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js +4 -3
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/heartbeat/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/heartbeat/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js +5 -4
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js +4 -3
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/stream/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/stream/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js +7 -6
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js +7 -6
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js +6 -5
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js +6 -5
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js +7 -6
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js +8 -6
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js +4 -3
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js +5 -4
- package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js +5 -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 +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/tasks/stream/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js +10 -0
- package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/api/threads/route.js +5 -2
- package/cloud-runtime/standalone/.next/server/app/api/threads/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js +5 -4
- package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations/page/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/automations/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/automations.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/automations.segments/automations.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/board/page/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/board/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/board.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/board.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/board.segments/board.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph/page/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/index.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/index.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/page/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page/build-manifest.json +18 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page/next-font-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page/react-loadable-manifest.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page.js +16 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page/build-manifest.json +18 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page/next-font-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page/react-loadable-manifest.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page.js +16 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/projects/orphans/page/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/page/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.segments/projects.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings/page/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings.segments/settings.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/status/page/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/status/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/status/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/status.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/status.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/status.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/status.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.segments/status/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.segments/status.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/thread/[id]/page/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/thread/[id]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome/page/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app-paths-manifest.json +6 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__017f03c3._.js +13 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__0925dd01._.js +46 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__10940c29._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__12afd8a3._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__12c7e188._.js +29 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__16dd1fd7._.js +13 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__17c2d68f._.js +52 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1dd062c1._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__20b3baea._.js +55 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__2388b2b3._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__241a8bcf._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__254e942f._.js +20 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__29ce9c60._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__2e596cc8._.js +4 -4
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3198c5c8._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__36d9edbd._.js +14 -14
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__399b2ca9._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4761dc17._.js +8 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4b1a512c._.js +52 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4c50f159._.js +4 -4
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4c8624cc._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4d318eb0._.js +146 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__507a4363._.js +4 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__50ddd3ce._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__543ba6c4._.js +5 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__59b5d4e5._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5ca87ba0._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5d359afa._.js +46 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__666f8712._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6c187704._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6c26221d._.js +7 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6e59b27c._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__74b97f0a._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__75bff965._.js +46 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7be8f159._.js +8 -8
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__80655727._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__86f7d27b._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__94fa1edc._.js +46 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__98535eb3._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__9dfaaf72._.js +52 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a189593a._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ac3c2f7f._.js +52 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b40c7aab._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b4d05543._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__bfcedb7c._.js +52 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c08bef05._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c5634f17._.js +112 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c5b8ceb7._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ccfcbcd5._.js +42 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ceb02db8._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__da20a0aa._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__dede3dcd._.js +75 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e122cae2._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e1e7dd1e._.js +25 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e446cb39._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e6ad07c3._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f4b70b67._.js +46 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f5a2358a._.js +7 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f5b93200._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fa0ebee3._.js +13 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fcd3e3b8._.js +15 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fce2cdce._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ff9c61da._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_05fa3b89._.js +46 -0
- package/cloud-runtime/standalone/.next/server/chunks/_0a767dfe._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_2f3e5ac1._.js +6 -0
- package/cloud-runtime/standalone/.next/server/chunks/_3e0d34cc._.js +97 -0
- package/cloud-runtime/standalone/.next/server/chunks/_4190f170._.js +46 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__a104cda8._.js → _42e9c8d5._.js} +7 -7
- package/cloud-runtime/standalone/.next/server/chunks/_5ca51127._.js +54 -0
- package/cloud-runtime/standalone/.next/server/chunks/_66e1ddec._.js +57 -0
- package/cloud-runtime/standalone/.next/server/chunks/_6bb93816._.js +6 -0
- package/cloud-runtime/standalone/.next/server/chunks/_7011db4f._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_8b9fde82._.js +97 -0
- package/cloud-runtime/standalone/.next/server/chunks/_95ac98db._.js +49 -0
- package/cloud-runtime/standalone/.next/server/chunks/_994414cd._.js +54 -0
- package/cloud-runtime/standalone/.next/server/chunks/_99b78daf._.js +46 -0
- package/cloud-runtime/standalone/.next/server/chunks/_a877d34f._.js +6 -0
- package/cloud-runtime/standalone/.next/server/chunks/_affbdbb0._.js +46 -0
- package/cloud-runtime/standalone/.next/server/chunks/_c31ca6ab._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_d225c04f._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_ee99a36b._.js +6 -0
- package/cloud-runtime/standalone/.next/server/chunks/_efc73784._.js +46 -0
- package/cloud-runtime/standalone/.next/server/chunks/_fba13a4a._.js +6 -0
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_chat-runs_[id]_route_actions_033ac330.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_chat-runs_[id]_signal_route_actions_4b56f1cd.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_chat-runs_route_actions_0c8cd01c.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_threads_knowledge_route_actions_c139bcf7.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/lib_09aac4e7._.js +57 -0
- package/cloud-runtime/standalone/.next/server/chunks/lib_cli-runner_ts_dfcf3fda._.js +18 -0
- package/cloud-runtime/standalone/.next/server/chunks/lib_db_ts_e06c6085._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/lib_ea45fe73._.js +68 -23
- package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_2e721df2._.js +74 -30
- package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_74d1c060._.js +70 -31
- package/cloud-runtime/standalone/.next/server/chunks/lib_sqlite-query-adapter_ts_3ea4d849._.js +87 -17
- package/cloud-runtime/standalone/.next/server/chunks/lib_sqlite-query-adapter_ts_b0b1a9b2._.js +294 -0
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0f808fa3.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_2bdede98.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_371d0bff.js +50 -43
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_3d31fed0.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_57a073eb.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_69b6b2e1.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_7f8022ab.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_84e28f38.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_8ec90680.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_a590fcd6.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_cc6c687d.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/src_graph_14067235._.js +46 -0
- package/cloud-runtime/standalone/.next/server/chunks/src_graph_api-route-utils_ts_b7225a0e._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/src_graph_b63e2d39._.js +46 -0
- package/cloud-runtime/standalone/.next/server/chunks/src_graph_executor_ts_55c06268._.js +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/src_graph_executor_ts_a8bc8d58._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__1322ced8._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__47caef59._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__6e83bf83._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__783669c3._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__8973b16a._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__9166c1d6._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__a0a1cb74._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__a8a8afdc._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__fca7df40._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_27f9c020._.js → _0061ebd8._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_064370bc._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_0f4e70b1._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_16c45024._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_27cb3359._.js → _5b2b8a85._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_a696e9b3._.js → _68ac991e._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_6de3f1de._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_c838f593._.js → _6fc3736e._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_85ca101b._.js +8 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_a0cc0fe7._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_a10eb951._.js +4 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_cb4d8a23._.js +4 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_6a367524._.js → _ccb409c5._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_cd5e154b._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_d021529a._.js → _fb292eed._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_4b5d7c9b._.js → _ff5799d6._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_next-internal_server_app_projects_[slug]_knowledge_page_actions_1037c40a.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/app_execution-graph_page_tsx_f854185a._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_graph_[taskId]_page_tsx_d8b1d582._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_knowledge_page_tsx_e2a55cbd._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/app_welcome_page_tsx_6c79bc59._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/ce889_server_app_projects_[slug]_thread_[threadId]_page_actions_660a8857.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/components_chat-ui_bfeda794._.js +5 -5
- package/cloud-runtime/standalone/.next/server/chunks/ssr/components_thread_WorkspaceSidebar_tsx_e660301b._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_e70f9321._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_678fa868._.js +3 -0
- package/cloud-runtime/standalone/.next/server/functions-config-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/middleware-build-manifest.js +2 -2
- package/cloud-runtime/standalone/.next/server/middleware-manifest.json +5 -5
- package/cloud-runtime/standalone/.next/server/next-font-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/next-font-manifest.json +8 -0
- package/cloud-runtime/standalone/.next/server/pages/404.html +2 -2
- package/cloud-runtime/standalone/.next/server/pages/500.html +2 -2
- package/cloud-runtime/standalone/.next/server/server-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/server-reference-manifest.json +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/{b5bd2eb6e0c7f71a.js → 010aff7b601302de.js} +3 -3
- package/cloud-runtime/standalone/.next/static/chunks/0c467f54bc78a380.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/1f415d0ce7ebbd08.js +8 -0
- package/cloud-runtime/standalone/.next/static/chunks/24a6ee21f430da93.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/27129bea5b512ce8.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/{e44264686aa5ecbf.js → 4200b512bdc226bc.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/463edf3533d27a56.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/486bf7ff282b91a6.js +5 -0
- package/cloud-runtime/standalone/.next/static/chunks/{616d66dbec9e4b8b.js → 58025a80caa3629d.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/5cb0c885b085ea6c.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/60c054bb8b2cffa6.css +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/{45b4d0ee5c92d45b.js → 6fbe08eab578c7d3.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/7e2edf97bd6c0874.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/8249f202d33d0d95.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/{b4e298542d366e31.js → 87f099ea02aa419d.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/8d15ced2dc70090a.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/9f8f719c4aa25e3d.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/a66e1891e808a664.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/{3344004561eabdf8.js → bc3cad3c821b169b.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/bc727d3d9993e9be.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/cd308f61797939cd.js +6 -0
- package/cloud-runtime/standalone/.next/static/chunks/d5d6be8239e57c56.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/{ee5f1457fbc593e1.js → dfff51033c303fc7.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/e62d5fa120fdf21f.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/{turbopack-5b5918f610666d2d.js → turbopack-97e846241a3a64af.js} +1 -1
- package/cloud-runtime/standalone/README.md +3 -3
- package/cloud-runtime/standalone/app/api/chat/route.ts +38 -28
- package/cloud-runtime/standalone/app/api/chat-runs/[id]/route.ts +19 -0
- package/cloud-runtime/standalone/app/api/chat-runs/[id]/signal/route.ts +32 -0
- package/cloud-runtime/standalone/app/api/chat-runs/route.ts +37 -0
- package/cloud-runtime/standalone/app/api/history/route.ts +6 -0
- package/cloud-runtime/standalone/app/api/projects/[id]/memory/route.ts +17 -0
- package/cloud-runtime/standalone/app/api/providers/route.ts +9 -13
- package/cloud-runtime/standalone/app/api/schedules/debug/route.ts +23 -3
- package/cloud-runtime/standalone/app/api/schedules/poll/route.ts +5 -3
- package/cloud-runtime/standalone/app/api/schedules/route.ts +12 -17
- package/cloud-runtime/standalone/app/api/status/route.ts +6 -5
- package/cloud-runtime/standalone/app/api/threads/knowledge/route.ts +91 -0
- package/cloud-runtime/standalone/app/api/threads/route.ts +18 -1
- package/cloud-runtime/standalone/app/globals.css +1 -4
- package/cloud-runtime/standalone/app/projects/[slug]/graph/[taskId]/page.tsx +0 -21
- package/cloud-runtime/standalone/app/projects/[slug]/knowledge/page.tsx +608 -0
- package/cloud-runtime/standalone/app/projects/[slug]/layout.tsx +18 -2
- package/cloud-runtime/standalone/app/projects/[slug]/page.tsx +1 -455
- package/cloud-runtime/standalone/app/projects/[slug]/thread/[threadId]/page.tsx +14 -0
- package/cloud-runtime/standalone/app/welcome/page.tsx +329 -107
- package/cloud-runtime/standalone/components/ActionToolbar.tsx +3 -3
- package/cloud-runtime/standalone/components/ConfirmDialog.tsx +133 -0
- package/cloud-runtime/standalone/components/IconButton.tsx +3 -3
- package/cloud-runtime/standalone/components/ProjectModal.tsx +2 -2
- package/cloud-runtime/standalone/components/chat-ui/ChatContainer.tsx +415 -76
- package/cloud-runtime/standalone/components/chat-ui/Composer.tsx +149 -97
- package/cloud-runtime/standalone/components/chat-ui/ThreadView.tsx +73 -34
- package/cloud-runtime/standalone/components/thread/WorkspaceSidebar.tsx +51 -23
- package/cloud-runtime/standalone/hooks/useComposerHistory.ts +130 -0
- package/cloud-runtime/standalone/hooks/useGroupChat.ts +24 -1
- package/cloud-runtime/standalone/hooks/useProcessPolling.ts +69 -6
- package/cloud-runtime/standalone/lib/history-store.ts +532 -38
- package/cloud-runtime/standalone/lib/knowledge-notes.ts +251 -0
- package/cloud-runtime/standalone/lib/knowledge-store.ts +233 -0
- package/cloud-runtime/standalone/lib/memory-extractor.ts +76 -60
- package/cloud-runtime/standalone/lib/mesh-core/journal.ts +30 -0
- package/cloud-runtime/standalone/lib/mesh-core/self.ts +94 -0
- package/cloud-runtime/standalone/lib/orchestrator/chat-activities.ts +60 -0
- package/cloud-runtime/standalone/lib/orchestrator/chat-processor.ts +168 -0
- package/cloud-runtime/standalone/lib/orchestrator/chat-types.ts +29 -0
- package/cloud-runtime/standalone/lib/orchestrator/runtime.ts +20 -0
- package/cloud-runtime/standalone/lib/provider-clis.ts +63 -0
- package/cloud-runtime/standalone/lib/queue/boss.ts +2 -1
- package/cloud-runtime/standalone/lib/repo-knowledge.ts +19 -2
- package/cloud-runtime/standalone/lib/sqlite-query-adapter.ts +78 -0
- package/cloud-runtime/standalone/lib/stream-multiplexer.ts +101 -14
- package/cloud-runtime/standalone/lib/task-context.ts +7 -4
- package/cloud-runtime/standalone/lib/thread-knowledge-runs.ts +227 -0
- package/cloud-runtime/standalone/lib/thread-knowledge.ts +419 -0
- package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/README.md +2 -2
- package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/lib/glib-2.0/include/glibconfig.h +9 -8
- package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-darwin-arm64/lib/libvips-cpp.8.17.3.dylib → sharp-libvips-linux-x64/lib/libvips-cpp.so.8.17.3} +0 -0
- package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/package.json +11 -5
- package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md +46 -0
- package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h +221 -0
- package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js +1 -0
- package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.17.3 +0 -0
- package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +42 -0
- package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +30 -0
- package/cloud-runtime/standalone/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64.node +0 -0
- package/cloud-runtime/standalone/node_modules/@img/{sharp-darwin-arm64 → sharp-linux-x64}/package.json +13 -7
- package/cloud-runtime/standalone/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64.node +0 -0
- package/cloud-runtime/standalone/node_modules/@img/sharp-linuxmusl-x64/package.json +46 -0
- package/cloud-runtime/standalone/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
- package/cloud-runtime/standalone/node_modules/better-sqlite3-90e2652d1716b047/build/Release/better_sqlite3.node +0 -0
- package/cloud-runtime/standalone/package-lock.json +13 -0
- package/cloud-runtime/standalone/package.json +1 -0
- package/cloud-runtime/standalone/server.js +1 -1
- package/cloud-runtime/standalone/src/graph/api-schemas.ts +2 -2
- package/cloud-runtime/standalone/src/graph/executor.ts +9 -7
- package/cloud-runtime/standalone/src/graph/function-executor.ts +4 -1
- package/cloud-runtime/standalone/src/graph/internal-function-dispatcher.ts +174 -0
- package/cloud-runtime/standalone/src/graph/types.ts +3 -3
- package/cloud-runtime/standalone/src/graph/work-dispatcher.ts +5 -1
- package/cloud-runtime/standalone/tsconfig.json +3 -1
- package/cloud-runtime/standalone/worker/index.js +2930 -137
- package/cloud-runtime/standalone/worker/index.ts +8 -1
- package/package.json +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[externals]_child_process_964038fc._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__03a1bf91._.js +0 -6
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__065c5114._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__07dce481._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__09f46c85._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__149bcf6d._.js +0 -115
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__14bad16e._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__14e3bf74._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1632828c._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__24b8ccd3._.js +0 -52
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__284e1cbe._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__28d6e806._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__2bcb75a7._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__32e5f341._.js +0 -4
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3b4a126a._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3c7464e8._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3d82dc78._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__406bdd54._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__40d6458a._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__47ca4946._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__49fb4a12._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5327e395._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__55d75c3a._.js +0 -7
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__592e81f9._.js +0 -13
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5a6a194c._.js +0 -52
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5af16b4f._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__60ba5058._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6716441c._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__673aedc6._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6a44c891._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6b680112._.js +0 -55
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7312fad4._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7456196c._.js +0 -52
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__74d26856._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__772c6fae._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__787ba54b._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__79157eef._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__82d76712._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__8311f060._.js +0 -6
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__84e90655._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__90a887dc._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__9345d703._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__98294450._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__985f0d9f._.js +0 -51
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__9b32295e._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a64d978e._.js +0 -6
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__babcd1af._.js +0 -13
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c16f03fb._.js +0 -13
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c2767ca5._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c72c6d4a._.js +0 -25
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ca851b15._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d25227df._.js +0 -29
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e06820c3._.js +0 -6
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e429a0bc._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e4397d43._.js +0 -7
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ec8735f4._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ef09ab99._.js +0 -13
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f366a937._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fdaa8a27._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fddde532._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ff53f445._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/_1111d342._.js +0 -101
- package/cloud-runtime/standalone/.next/server/chunks/_4b60ba15._.js +0 -49
- package/cloud-runtime/standalone/.next/server/chunks/_54252651._.js +0 -49
- package/cloud-runtime/standalone/.next/server/chunks/_818a89c4._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/_a4a21d4f._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/_a759d52b._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/_e6b28eae._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/_e868e7c1._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/lib_23509137._.js +0 -196
- package/cloud-runtime/standalone/.next/server/chunks/lib_3273d5f9._.js +0 -196
- package/cloud-runtime/standalone/.next/server/chunks/lib_50ba0b4c._.js +0 -63
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_33963d95.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_56c5acb3.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_888b3578.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/src_graph_e3bb4da8._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__113d6767._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__6a9d3855._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__942ca438._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__ce3b51aa._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_1ec61dee._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_27904584._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_43472af3._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_94effa0f._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_d458d1eb._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_fbced30b._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_page_tsx_e0fabf6e._.js +0 -8
- package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_a8f86889._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_play_6595a532.js +0 -3
- package/cloud-runtime/standalone/.next/static/chunks/1184bf1bfdf97666.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/4c01a5f19f9e775e.js +0 -8
- package/cloud-runtime/standalone/.next/static/chunks/5ace4b4f4475962a.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/6509f7fecbf44493.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/661090206d8bae9b.css +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/6dbf5940e30fa9c7.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/7e91f395ace1dd2c.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/7f13efe9329d3f97.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/80219bbddcf65109.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/86ace6febb11ad71.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/b079c677d9b39f98.js +0 -5
- package/cloud-runtime/standalone/.next/static/chunks/b88352740262931f.js +0 -6
- package/cloud-runtime/standalone/.next/static/chunks/c5609fd2abb65850.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/d95cd010361834be.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/f7bbf5cfcfed8ba9.js +0 -1
- package/cloud-runtime/standalone/coverage/clover.xml +0 -1208
- package/cloud-runtime/standalone/coverage/coverage-final.json +0 -29
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/audit/index.html +0 -116
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/audit/route.ts.html +0 -208
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/[...nextauth]/index.html +0 -116
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/[...nextauth]/route.ts.html +0 -166
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/daemon-secret/index.html +0 -116
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/daemon-secret/route.ts.html +0 -532
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/status/index.html +0 -116
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/status/route.ts.html +0 -178
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/learnings/index.html +0 -116
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/learnings/route.ts.html +0 -262
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/logs/stream/index.html +0 -116
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/logs/stream/route.ts.html +0 -448
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/queue/complete/index.html +0 -116
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/queue/complete/route.ts.html +0 -331
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/queue/index.html +0 -116
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/queue/route.ts.html +0 -505
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/stage-prompts/index.html +0 -116
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/stage-prompts/route.ts.html +0 -412
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/advance/index.html +0 -116
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/advance/route.ts.html +0 -304
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/index.html +0 -116
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/logs/index.html +0 -116
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/logs/route.ts.html +0 -202
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/route.ts.html +0 -373
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/index.html +0 -116
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/route.ts.html +0 -499
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/stream/index.html +0 -116
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/stream/route.ts.html +0 -349
- package/cloud-runtime/standalone/coverage/lcov-report/base.css +0 -224
- package/cloud-runtime/standalone/coverage/lcov-report/block-navigation.js +0 -87
- package/cloud-runtime/standalone/coverage/lcov-report/components/AuthProvider.tsx.html +0 -259
- package/cloud-runtime/standalone/coverage/lcov-report/components/ChatInterface.tsx.html +0 -1228
- package/cloud-runtime/standalone/coverage/lcov-report/components/KanbanBoard.tsx.html +0 -1024
- package/cloud-runtime/standalone/coverage/lcov-report/components/Layout.tsx.html +0 -211
- package/cloud-runtime/standalone/coverage/lcov-report/components/LearningsPanel.tsx.html +0 -535
- package/cloud-runtime/standalone/coverage/lcov-report/components/LogTimeline.tsx.html +0 -415
- package/cloud-runtime/standalone/coverage/lcov-report/components/SortableTaskCard.tsx.html +0 -358
- package/cloud-runtime/standalone/coverage/lcov-report/components/StagePills.tsx.html +0 -439
- package/cloud-runtime/standalone/coverage/lcov-report/components/TaskCard.tsx.html +0 -514
- package/cloud-runtime/standalone/coverage/lcov-report/components/TaskCardOverlay.tsx.html +0 -256
- package/cloud-runtime/standalone/coverage/lcov-report/components/TaskDetail.tsx.html +0 -622
- package/cloud-runtime/standalone/coverage/lcov-report/components/TaskList.tsx.html +0 -253
- package/cloud-runtime/standalone/coverage/lcov-report/components/index.html +0 -281
- package/cloud-runtime/standalone/coverage/lcov-report/favicon.png +0 -0
- package/cloud-runtime/standalone/coverage/lcov-report/hooks/index.html +0 -116
- package/cloud-runtime/standalone/coverage/lcov-report/hooks/useTasks.ts.html +0 -1042
- package/cloud-runtime/standalone/coverage/lcov-report/index.html +0 -341
- package/cloud-runtime/standalone/coverage/lcov-report/lib/auth-client.ts.html +0 -202
- package/cloud-runtime/standalone/coverage/lcov-report/lib/auth-server.ts.html +0 -172
- package/cloud-runtime/standalone/coverage/lcov-report/lib/auth.ts.html +0 -265
- package/cloud-runtime/standalone/coverage/lcov-report/lib/db.ts.html +0 -1252
- package/cloud-runtime/standalone/coverage/lcov-report/lib/index.html +0 -131
- package/cloud-runtime/standalone/coverage/lcov-report/lib/orchestrator.ts.html +0 -409
- package/cloud-runtime/standalone/coverage/lcov-report/lib/security.ts.html +0 -1165
- package/cloud-runtime/standalone/coverage/lcov-report/lib/supabase-server.ts.html +0 -175
- package/cloud-runtime/standalone/coverage/lcov-report/lib/supabase.ts.html +0 -157
- package/cloud-runtime/standalone/coverage/lcov-report/prettify.css +0 -1
- package/cloud-runtime/standalone/coverage/lcov-report/prettify.js +0 -2
- package/cloud-runtime/standalone/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/cloud-runtime/standalone/coverage/lcov-report/sorter.js +0 -210
- package/cloud-runtime/standalone/coverage/lcov.info +0 -2386
- package/cloud-runtime/standalone/docs/LIMITS.md +0 -63
- package/cloud-runtime/standalone/docs/architecture/ADR-001-hybrid-to-full-sqlite.md +0 -345
- package/cloud-runtime/standalone/docs/baseline/baseline-report.json +0 -1009
- package/cloud-runtime/standalone/docs/baseline/critical-queries.md +0 -105
- package/cloud-runtime/standalone/docs/baseline/lock-metrics.json +0 -21
- package/cloud-runtime/standalone/docs/baseline/read-latency.json +0 -146
- package/cloud-runtime/standalone/docs/baseline/restore-time.json +0 -10
- package/cloud-runtime/standalone/docs/baseline/write-metrics.json +0 -803
- package/cloud-runtime/standalone/docs/decisions/sqlite-migration-adr.md +0 -327
- package/cloud-runtime/standalone/docs/error-code-mapping.md +0 -74
- package/cloud-runtime/standalone/docs/migration-plan.md +0 -120
- package/cloud-runtime/standalone/docs/migration-spec.md +0 -345
- package/cloud-runtime/standalone/docs/pg-sqlite-compatibility-matrix.md +0 -554
- package/cloud-runtime/standalone/docs/project-agent-migration-status.md +0 -229
- package/cloud-runtime/standalone/docs/runbook-shadow-read.md +0 -66
- package/cloud-runtime/standalone/docs/runbook.md +0 -155
- package/cloud-runtime/standalone/docs/specs/cli-postgres-removal.md +0 -69
- package/cloud-runtime/standalone/docs/specs/thread-mentions.md +0 -53
- package/cloud-runtime/standalone/docs/ux/GlobalChatFlow.storyboard +0 -23
- package/cloud-runtime/standalone/docs/ux/assistant-chat-cli.md +0 -32
- package/cloud-runtime/standalone/mcp/dist/constants.js +0 -66
- package/cloud-runtime/standalone/mcp/dist/db.js +0 -220
- package/cloud-runtime/standalone/mcp/dist/index.js +0 -7
- package/cloud-runtime/standalone/mcp/dist/security.js +0 -18
- package/cloud-runtime/standalone/mcp/dist/server.js +0 -240
- package/cloud-runtime/standalone/mcp/dist/task-context.js +0 -287
- package/cloud-runtime/standalone/mcp/dist/test-client.js +0 -82
- package/cloud-runtime/standalone/mcp/dist/tools/audit.js +0 -69
- package/cloud-runtime/standalone/mcp/dist/tools/learnings.js +0 -88
- package/cloud-runtime/standalone/mcp/dist/tools/queue.js +0 -312
- package/cloud-runtime/standalone/mcp/dist/tools/tasks.js +0 -244
- package/cloud-runtime/standalone/mcp/dist/types.js +0 -74
- package/cloud-runtime/standalone/node_modules/@img/sharp-darwin-arm64/lib/sharp-darwin-arm64.node +0 -0
- package/cloud-runtime/standalone/notes/comments-context-demo.md +0 -141
- package/cloud-runtime/standalone/notes/comments-context-plan.md +0 -119
- package/cloud-runtime/standalone/notes/context-audit.md +0 -21
- package/cloud-runtime/standalone/notes/project-layer-plan.md +0 -30
- package/cloud-runtime/standalone/notes/project-layer.md +0 -123
- package/cloud-runtime/standalone/notes/temporal-migration-design.md +0 -199
- package/cloud-runtime/standalone/playwright-report/data/00d55996f37c1506b90144c85493dd85032c13e5.png +0 -0
- package/cloud-runtime/standalone/playwright-report/data/0b9d409e57237ae111d7ba258d3dfe64dc368456.png +0 -0
- package/cloud-runtime/standalone/playwright-report/data/b33d5e80a15bd1deda4415b9d318ef73f581c950.png +0 -0
- package/cloud-runtime/standalone/playwright-report/data/b55684161aa440d0614595e13c91338f0420abbb.md +0 -131
- package/cloud-runtime/standalone/playwright-report/data/b9913957ae07e7565c38ddd71215be79b1ceb017.png +0 -0
- package/cloud-runtime/standalone/playwright-report/data/c3538be8ebbebc9fe4a7df8f12f04483af4a0d91.png +0 -0
- package/cloud-runtime/standalone/playwright-report/data/fe638f64ff5e36f1c30325564565662d3f57da87.md +0 -180
- package/cloud-runtime/standalone/playwright-report/index.html +0 -85
- package/cloud-runtime/standalone/test-results/auth-Authentication-Flow-S-aff25-sion-across-page-navigation-chromium/test-failed-1.png +0 -0
- package/cloud-runtime/standalone/test-results/comments-Task-comments-add-4dc59-nd-persists-it-for-the-task-chromium/error-context.md +0 -131
- package/cloud-runtime/standalone/test-results/comments-Task-comments-add-4dc59-nd-persists-it-for-the-task-chromium/test-failed-1.png +0 -0
- package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Stage--4082a-er-planning-after-ideation--chromium/error-context.md +0 -180
- package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Stage--4082a-er-planning-after-ideation--chromium/test-failed-1.png +0 -0
- package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Stage-Columns-displays-all-9-SDLC-stages-chromium/error-context.md +0 -180
- package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Stage-Columns-displays-all-9-SDLC-stages-chromium/test-failed-1.png +0 -0
- package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Task-D-b6d98-ys-tasks-in-correct-columns-chromium/error-context.md +0 -180
- package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Task-D-b6d98-ys-tasks-in-correct-columns-chromium/test-failed-1.png +0 -0
- package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Task-Display-shows-task-count-per-column-chromium/test-failed-1.png +0 -0
- package/cloud-runtime/standalone/test-results/kanban-Task-Lifecycle-can-advance-task-through-all-stages-chromium/test-failed-1.png +0 -0
- package/cloud-runtime/standalone/tsconfig.tsbuildinfo +0 -1
- /package/cloud-runtime/standalone/.next/static/{AB08MY3MKLsqeJYL8OZ2g → i_9nSHyb52FGkCbRgv7EJ}/_buildManifest.js +0 -0
- /package/cloud-runtime/standalone/.next/static/{AB08MY3MKLsqeJYL8OZ2g → i_9nSHyb52FGkCbRgv7EJ}/_clientMiddlewareManifest.json +0 -0
- /package/cloud-runtime/standalone/.next/static/{AB08MY3MKLsqeJYL8OZ2g → i_9nSHyb52FGkCbRgv7EJ}/_ssgManifest.js +0 -0
- /package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/lib/index.js +0 -0
- /package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/versions.json +0 -0
|
@@ -78,6 +78,15 @@ interface SearchMessagesResult {
|
|
|
78
78
|
total: number;
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
+
interface SearchRow {
|
|
82
|
+
thread_id: string;
|
|
83
|
+
id: string;
|
|
84
|
+
role: "user" | "assistant";
|
|
85
|
+
participant_id: string | null;
|
|
86
|
+
timestamp: number;
|
|
87
|
+
root_message_id: string | null;
|
|
88
|
+
}
|
|
89
|
+
|
|
81
90
|
interface MessageRow {
|
|
82
91
|
id: string;
|
|
83
92
|
role: string;
|
|
@@ -125,6 +134,81 @@ interface GetThreadStatusSnapshotInput {
|
|
|
125
134
|
processLimit?: number;
|
|
126
135
|
}
|
|
127
136
|
|
|
137
|
+
export type ChatRunStatus =
|
|
138
|
+
| "queued"
|
|
139
|
+
| "running"
|
|
140
|
+
| "awaiting_user"
|
|
141
|
+
| "blocked"
|
|
142
|
+
| "completed"
|
|
143
|
+
| "failed"
|
|
144
|
+
| "cancelled";
|
|
145
|
+
|
|
146
|
+
export type ChatRunStepStatus = "queued" | "running" | "completed" | "failed";
|
|
147
|
+
|
|
148
|
+
export interface ChatRunRecord {
|
|
149
|
+
id: string;
|
|
150
|
+
threadId: string;
|
|
151
|
+
rootMessageId: string | null;
|
|
152
|
+
userId: string;
|
|
153
|
+
projectSlug: string | null;
|
|
154
|
+
status: ChatRunStatus;
|
|
155
|
+
currentStep: number;
|
|
156
|
+
maxSteps: number;
|
|
157
|
+
stepsUsed: number;
|
|
158
|
+
lastError: string | null;
|
|
159
|
+
activeParticipantIds: string[];
|
|
160
|
+
payload: Record<string, unknown> | null;
|
|
161
|
+
result: Record<string, unknown> | null;
|
|
162
|
+
createdAt: number;
|
|
163
|
+
updatedAt: number;
|
|
164
|
+
completedAt: number | null;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
export interface ChatRunStepRecord {
|
|
168
|
+
id: string;
|
|
169
|
+
chatRunId: string;
|
|
170
|
+
stepIndex: number;
|
|
171
|
+
kind: string;
|
|
172
|
+
status: ChatRunStepStatus;
|
|
173
|
+
participantId: string | null;
|
|
174
|
+
inputPayload: Record<string, unknown> | null;
|
|
175
|
+
outputPayload: Record<string, unknown> | null;
|
|
176
|
+
startedAt: number;
|
|
177
|
+
completedAt: number | null;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
interface ChatRunRow {
|
|
181
|
+
id: string;
|
|
182
|
+
thread_id: string;
|
|
183
|
+
root_message_id: string | null;
|
|
184
|
+
user_id: string;
|
|
185
|
+
project_slug: string | null;
|
|
186
|
+
status: ChatRunStatus;
|
|
187
|
+
current_step: number;
|
|
188
|
+
max_steps: number;
|
|
189
|
+
steps_used: number;
|
|
190
|
+
last_error: string | null;
|
|
191
|
+
active_participant_ids: string;
|
|
192
|
+
payload_json: string | null;
|
|
193
|
+
result_json: string | null;
|
|
194
|
+
created_at: number;
|
|
195
|
+
updated_at: number;
|
|
196
|
+
completed_at: number | null;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
interface ChatRunStepRow {
|
|
200
|
+
id: string;
|
|
201
|
+
chat_run_id: string;
|
|
202
|
+
step_index: number;
|
|
203
|
+
kind: string;
|
|
204
|
+
status: ChatRunStepStatus;
|
|
205
|
+
participant_id: string | null;
|
|
206
|
+
input_payload_json: string | null;
|
|
207
|
+
output_payload_json: string | null;
|
|
208
|
+
started_at: number;
|
|
209
|
+
completed_at: number | null;
|
|
210
|
+
}
|
|
211
|
+
|
|
128
212
|
export interface ThreadStatusSnapshot {
|
|
129
213
|
rootMessage: GroupMessage | null;
|
|
130
214
|
processes: ThreadStatusProcess[];
|
|
@@ -262,6 +346,64 @@ function migrateAgentProcessesAddId(db: Database.Database): void {
|
|
|
262
346
|
`);
|
|
263
347
|
}
|
|
264
348
|
|
|
349
|
+
function parseJsonObject(value: string | null): Record<string, unknown> | null {
|
|
350
|
+
if (!value) return null;
|
|
351
|
+
try {
|
|
352
|
+
const parsed = JSON.parse(value) as unknown;
|
|
353
|
+
return parsed && typeof parsed === "object" && !Array.isArray(parsed)
|
|
354
|
+
? (parsed as Record<string, unknown>)
|
|
355
|
+
: null;
|
|
356
|
+
} catch {
|
|
357
|
+
return null;
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
function parseJsonStringArray(value: string | null): string[] {
|
|
362
|
+
if (!value) return [];
|
|
363
|
+
try {
|
|
364
|
+
const parsed = JSON.parse(value) as unknown;
|
|
365
|
+
return Array.isArray(parsed) ? parsed.filter((item): item is string => typeof item === "string") : [];
|
|
366
|
+
} catch {
|
|
367
|
+
return [];
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
function toChatRunRecord(row: ChatRunRow): ChatRunRecord {
|
|
372
|
+
return {
|
|
373
|
+
id: row.id,
|
|
374
|
+
threadId: row.thread_id,
|
|
375
|
+
rootMessageId: row.root_message_id,
|
|
376
|
+
userId: row.user_id,
|
|
377
|
+
projectSlug: row.project_slug,
|
|
378
|
+
status: row.status,
|
|
379
|
+
currentStep: row.current_step,
|
|
380
|
+
maxSteps: row.max_steps,
|
|
381
|
+
stepsUsed: row.steps_used,
|
|
382
|
+
lastError: row.last_error,
|
|
383
|
+
activeParticipantIds: parseJsonStringArray(row.active_participant_ids),
|
|
384
|
+
payload: parseJsonObject(row.payload_json),
|
|
385
|
+
result: parseJsonObject(row.result_json),
|
|
386
|
+
createdAt: row.created_at,
|
|
387
|
+
updatedAt: row.updated_at,
|
|
388
|
+
completedAt: row.completed_at,
|
|
389
|
+
};
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
function toChatRunStepRecord(row: ChatRunStepRow): ChatRunStepRecord {
|
|
393
|
+
return {
|
|
394
|
+
id: row.id,
|
|
395
|
+
chatRunId: row.chat_run_id,
|
|
396
|
+
stepIndex: row.step_index,
|
|
397
|
+
kind: row.kind,
|
|
398
|
+
status: row.status,
|
|
399
|
+
participantId: row.participant_id,
|
|
400
|
+
inputPayload: parseJsonObject(row.input_payload_json),
|
|
401
|
+
outputPayload: parseJsonObject(row.output_payload_json),
|
|
402
|
+
startedAt: row.started_at,
|
|
403
|
+
completedAt: row.completed_at,
|
|
404
|
+
};
|
|
405
|
+
}
|
|
406
|
+
|
|
265
407
|
function migrateLegacyTables(db: Database.Database): void {
|
|
266
408
|
if (!isThreadScopedTable(db, "messages")) {
|
|
267
409
|
db.exec(`
|
|
@@ -362,6 +504,36 @@ const withDatabase = async <T>(run: (db: Database.Database) => T): Promise<T> =>
|
|
|
362
504
|
updated_at INTEGER NOT NULL,
|
|
363
505
|
PRIMARY KEY (thread_id, message_id)
|
|
364
506
|
);
|
|
507
|
+
CREATE TABLE IF NOT EXISTS chat_runs (
|
|
508
|
+
id TEXT PRIMARY KEY,
|
|
509
|
+
thread_id TEXT NOT NULL,
|
|
510
|
+
root_message_id TEXT,
|
|
511
|
+
user_id TEXT NOT NULL,
|
|
512
|
+
project_slug TEXT,
|
|
513
|
+
status TEXT NOT NULL,
|
|
514
|
+
current_step INTEGER NOT NULL DEFAULT 0,
|
|
515
|
+
max_steps INTEGER NOT NULL DEFAULT 10,
|
|
516
|
+
steps_used INTEGER NOT NULL DEFAULT 0,
|
|
517
|
+
last_error TEXT,
|
|
518
|
+
active_participant_ids TEXT NOT NULL DEFAULT '[]',
|
|
519
|
+
payload_json TEXT,
|
|
520
|
+
result_json TEXT,
|
|
521
|
+
created_at INTEGER NOT NULL,
|
|
522
|
+
updated_at INTEGER NOT NULL,
|
|
523
|
+
completed_at INTEGER
|
|
524
|
+
);
|
|
525
|
+
CREATE TABLE IF NOT EXISTS chat_run_steps (
|
|
526
|
+
id TEXT PRIMARY KEY,
|
|
527
|
+
chat_run_id TEXT NOT NULL,
|
|
528
|
+
step_index INTEGER NOT NULL,
|
|
529
|
+
kind TEXT NOT NULL,
|
|
530
|
+
status TEXT NOT NULL,
|
|
531
|
+
participant_id TEXT,
|
|
532
|
+
input_payload_json TEXT,
|
|
533
|
+
output_payload_json TEXT,
|
|
534
|
+
started_at INTEGER NOT NULL,
|
|
535
|
+
completed_at INTEGER
|
|
536
|
+
);
|
|
365
537
|
`);
|
|
366
538
|
migrateLegacyTables(db);
|
|
367
539
|
migrateThreadReplyColumns(db);
|
|
@@ -380,6 +552,9 @@ const withDatabase = async <T>(run: (db: Database.Database) => T): Promise<T> =>
|
|
|
380
552
|
CREATE INDEX IF NOT EXISTS idx_messages_thread_ts ON messages(thread_id, timestamp ASC);
|
|
381
553
|
CREATE INDEX IF NOT EXISTS idx_reactions_thread_message ON message_reactions(thread_id, message_id, updated_at ASC);
|
|
382
554
|
CREATE INDEX IF NOT EXISTS idx_logs_process_ts ON logs(agent_process_id, timestamp ASC);
|
|
555
|
+
CREATE INDEX IF NOT EXISTS idx_chat_runs_thread_updated ON chat_runs(thread_id, updated_at DESC);
|
|
556
|
+
CREATE INDEX IF NOT EXISTS idx_chat_runs_status_updated ON chat_runs(status, updated_at DESC);
|
|
557
|
+
CREATE INDEX IF NOT EXISTS idx_chat_run_steps_run_step ON chat_run_steps(chat_run_id, step_index ASC);
|
|
383
558
|
`);
|
|
384
559
|
return run(db);
|
|
385
560
|
} finally {
|
|
@@ -470,6 +645,51 @@ function clampPositiveInt(value: number | undefined, fallback: number, max: numb
|
|
|
470
645
|
return Math.min(Math.max(Math.trunc(normalized), 1), max);
|
|
471
646
|
}
|
|
472
647
|
|
|
648
|
+
function tokenizeSearchTerms(query: string): string[] {
|
|
649
|
+
const matches = query.toLowerCase().match(/[\p{L}\p{N}]+/gu) ?? [];
|
|
650
|
+
const seen = new Set<string>();
|
|
651
|
+
const tokens: string[] = [];
|
|
652
|
+
for (const match of matches) {
|
|
653
|
+
if (seen.has(match)) continue;
|
|
654
|
+
seen.add(match);
|
|
655
|
+
tokens.push(match);
|
|
656
|
+
}
|
|
657
|
+
return tokens;
|
|
658
|
+
}
|
|
659
|
+
|
|
660
|
+
function escapeLikePattern(value: string): string {
|
|
661
|
+
return value.replace(/[\\%_]/g, "\\$&");
|
|
662
|
+
}
|
|
663
|
+
|
|
664
|
+
function escapeRegExp(value: string): string {
|
|
665
|
+
return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
666
|
+
}
|
|
667
|
+
|
|
668
|
+
function buildSearchSnippet(content: string, terms: string[]): string {
|
|
669
|
+
const compact = stripAgxMarkers(content).replace(/\s+/g, " ").trim();
|
|
670
|
+
if (!compact) return "";
|
|
671
|
+
|
|
672
|
+
const searchTerms = terms.filter(Boolean);
|
|
673
|
+
const lowerContent = compact.toLowerCase();
|
|
674
|
+
const firstMatchIndex = searchTerms.reduce((best, term) => {
|
|
675
|
+
const index = lowerContent.indexOf(term);
|
|
676
|
+
if (index === -1) return best;
|
|
677
|
+
if (best === -1 || index < best) return index;
|
|
678
|
+
return best;
|
|
679
|
+
}, -1);
|
|
680
|
+
|
|
681
|
+
const start = firstMatchIndex >= 0 ? Math.max(0, firstMatchIndex - 48) : 0;
|
|
682
|
+
const end = firstMatchIndex >= 0 ? Math.min(compact.length, firstMatchIndex + 112) : Math.min(compact.length, 160);
|
|
683
|
+
const prefix = start > 0 ? "..." : "";
|
|
684
|
+
const suffix = end < compact.length ? "..." : "";
|
|
685
|
+
const excerpt = `${prefix}${compact.slice(start, end)}${suffix}`;
|
|
686
|
+
|
|
687
|
+
if (searchTerms.length === 0) return excerpt;
|
|
688
|
+
|
|
689
|
+
const pattern = new RegExp(`(${searchTerms.map(escapeRegExp).join("|")})`, "giu");
|
|
690
|
+
return excerpt.replace(pattern, "<mark>$1</mark>");
|
|
691
|
+
}
|
|
692
|
+
|
|
473
693
|
function toGroupMessage(row: MessageRow, reactionMap: Map<string, MessageReaction[]>): GroupMessage {
|
|
474
694
|
return {
|
|
475
695
|
id: row.id,
|
|
@@ -887,6 +1107,213 @@ export async function saveMessages(threadId: string, messages: GroupMessage[]):
|
|
|
887
1107
|
});
|
|
888
1108
|
}
|
|
889
1109
|
|
|
1110
|
+
export async function createChatRun(input: {
|
|
1111
|
+
id: string;
|
|
1112
|
+
threadId: string;
|
|
1113
|
+
rootMessageId?: string | null;
|
|
1114
|
+
userId: string;
|
|
1115
|
+
projectSlug?: string | null;
|
|
1116
|
+
maxSteps: number;
|
|
1117
|
+
activeParticipantIds: string[];
|
|
1118
|
+
payload?: Record<string, unknown> | null;
|
|
1119
|
+
}): Promise<ChatRunRecord> {
|
|
1120
|
+
const now = Date.now();
|
|
1121
|
+
return withDatabase((db) => {
|
|
1122
|
+
db.prepare(
|
|
1123
|
+
`INSERT INTO chat_runs (
|
|
1124
|
+
id, thread_id, root_message_id, user_id, project_slug, status,
|
|
1125
|
+
current_step, max_steps, steps_used, last_error, active_participant_ids,
|
|
1126
|
+
payload_json, result_json, created_at, updated_at, completed_at
|
|
1127
|
+
) VALUES (?, ?, ?, ?, ?, 'queued', 0, ?, 0, NULL, ?, ?, NULL, ?, ?, NULL)`
|
|
1128
|
+
).run(
|
|
1129
|
+
input.id,
|
|
1130
|
+
input.threadId.trim() || LEGACY_THREAD_ID,
|
|
1131
|
+
normalizeOptionalText(input.rootMessageId),
|
|
1132
|
+
input.userId,
|
|
1133
|
+
normalizeOptionalText(input.projectSlug),
|
|
1134
|
+
clampPositiveInt(input.maxSteps, 10, 50),
|
|
1135
|
+
JSON.stringify(input.activeParticipantIds),
|
|
1136
|
+
input.payload ? JSON.stringify(input.payload) : null,
|
|
1137
|
+
now,
|
|
1138
|
+
now
|
|
1139
|
+
);
|
|
1140
|
+
|
|
1141
|
+
const row = db.prepare("SELECT * FROM chat_runs WHERE id = ? LIMIT 1").get(input.id) as ChatRunRow | undefined;
|
|
1142
|
+
if (!row) {
|
|
1143
|
+
throw new Error(`Failed to create chat run ${input.id}`);
|
|
1144
|
+
}
|
|
1145
|
+
return toChatRunRecord(row);
|
|
1146
|
+
});
|
|
1147
|
+
}
|
|
1148
|
+
|
|
1149
|
+
export async function getChatRun(chatRunId: string): Promise<ChatRunRecord | null> {
|
|
1150
|
+
return withDatabase((db) => {
|
|
1151
|
+
const row = db.prepare("SELECT * FROM chat_runs WHERE id = ? LIMIT 1").get(chatRunId) as ChatRunRow | undefined;
|
|
1152
|
+
return row ? toChatRunRecord(row) : null;
|
|
1153
|
+
});
|
|
1154
|
+
}
|
|
1155
|
+
|
|
1156
|
+
export async function listChatRuns(input: {
|
|
1157
|
+
threadId?: string | null;
|
|
1158
|
+
status?: ChatRunStatus | "active";
|
|
1159
|
+
limit?: number;
|
|
1160
|
+
}): Promise<ChatRunRecord[]> {
|
|
1161
|
+
const normalizedThreadId = normalizeOptionalText(input.threadId ?? null);
|
|
1162
|
+
const limit = clampPositiveInt(input.limit, 20, 100);
|
|
1163
|
+
return withDatabase((db) => {
|
|
1164
|
+
const clauses: string[] = [];
|
|
1165
|
+
const params: Array<string | number> = [];
|
|
1166
|
+
|
|
1167
|
+
if (normalizedThreadId) {
|
|
1168
|
+
clauses.push("thread_id = ?");
|
|
1169
|
+
params.push(normalizedThreadId);
|
|
1170
|
+
}
|
|
1171
|
+
|
|
1172
|
+
if (input.status === "active") {
|
|
1173
|
+
clauses.push("status IN ('queued', 'running')");
|
|
1174
|
+
} else if (input.status) {
|
|
1175
|
+
clauses.push("status = ?");
|
|
1176
|
+
params.push(input.status);
|
|
1177
|
+
}
|
|
1178
|
+
|
|
1179
|
+
const where = clauses.length > 0 ? `WHERE ${clauses.join(" AND ")}` : "";
|
|
1180
|
+
const rows = db
|
|
1181
|
+
.prepare(`SELECT * FROM chat_runs ${where} ORDER BY updated_at DESC LIMIT ?`)
|
|
1182
|
+
.all(...params, limit) as ChatRunRow[];
|
|
1183
|
+
return rows.map(toChatRunRecord);
|
|
1184
|
+
});
|
|
1185
|
+
}
|
|
1186
|
+
|
|
1187
|
+
export async function updateChatRun(input: {
|
|
1188
|
+
id: string;
|
|
1189
|
+
status?: ChatRunStatus;
|
|
1190
|
+
currentStep?: number;
|
|
1191
|
+
stepsUsed?: number;
|
|
1192
|
+
lastError?: string | null;
|
|
1193
|
+
payload?: Record<string, unknown> | null;
|
|
1194
|
+
result?: Record<string, unknown> | null;
|
|
1195
|
+
completedAt?: number | null;
|
|
1196
|
+
}): Promise<ChatRunRecord | null> {
|
|
1197
|
+
return withDatabase((db) => {
|
|
1198
|
+
const updates: string[] = ["updated_at = ?"];
|
|
1199
|
+
const params: Array<string | number | null> = [Date.now()];
|
|
1200
|
+
|
|
1201
|
+
if (input.status) {
|
|
1202
|
+
updates.push("status = ?");
|
|
1203
|
+
params.push(input.status);
|
|
1204
|
+
}
|
|
1205
|
+
if (typeof input.currentStep === "number") {
|
|
1206
|
+
updates.push("current_step = ?");
|
|
1207
|
+
params.push(input.currentStep);
|
|
1208
|
+
}
|
|
1209
|
+
if (typeof input.stepsUsed === "number") {
|
|
1210
|
+
updates.push("steps_used = ?");
|
|
1211
|
+
params.push(input.stepsUsed);
|
|
1212
|
+
}
|
|
1213
|
+
if (input.lastError !== undefined) {
|
|
1214
|
+
updates.push("last_error = ?");
|
|
1215
|
+
params.push(normalizeOptionalText(input.lastError));
|
|
1216
|
+
}
|
|
1217
|
+
if (input.payload !== undefined) {
|
|
1218
|
+
updates.push("payload_json = ?");
|
|
1219
|
+
params.push(input.payload ? JSON.stringify(input.payload) : null);
|
|
1220
|
+
}
|
|
1221
|
+
if (input.result !== undefined) {
|
|
1222
|
+
updates.push("result_json = ?");
|
|
1223
|
+
params.push(input.result ? JSON.stringify(input.result) : null);
|
|
1224
|
+
}
|
|
1225
|
+
if (input.completedAt !== undefined) {
|
|
1226
|
+
updates.push("completed_at = ?");
|
|
1227
|
+
params.push(input.completedAt);
|
|
1228
|
+
}
|
|
1229
|
+
|
|
1230
|
+
params.push(input.id);
|
|
1231
|
+
db.prepare(`UPDATE chat_runs SET ${updates.join(", ")} WHERE id = ?`).run(...params);
|
|
1232
|
+
|
|
1233
|
+
const row = db.prepare("SELECT * FROM chat_runs WHERE id = ? LIMIT 1").get(input.id) as ChatRunRow | undefined;
|
|
1234
|
+
return row ? toChatRunRecord(row) : null;
|
|
1235
|
+
});
|
|
1236
|
+
}
|
|
1237
|
+
|
|
1238
|
+
export async function appendChatRunStep(input: {
|
|
1239
|
+
id: string;
|
|
1240
|
+
chatRunId: string;
|
|
1241
|
+
stepIndex: number;
|
|
1242
|
+
kind: string;
|
|
1243
|
+
status: ChatRunStepStatus;
|
|
1244
|
+
participantId?: string | null;
|
|
1245
|
+
inputPayload?: Record<string, unknown> | null;
|
|
1246
|
+
outputPayload?: Record<string, unknown> | null;
|
|
1247
|
+
}): Promise<ChatRunStepRecord> {
|
|
1248
|
+
const now = Date.now();
|
|
1249
|
+
return withDatabase((db) => {
|
|
1250
|
+
db.prepare(
|
|
1251
|
+
`INSERT INTO chat_run_steps (
|
|
1252
|
+
id, chat_run_id, step_index, kind, status, participant_id,
|
|
1253
|
+
input_payload_json, output_payload_json, started_at, completed_at
|
|
1254
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`
|
|
1255
|
+
).run(
|
|
1256
|
+
input.id,
|
|
1257
|
+
input.chatRunId,
|
|
1258
|
+
input.stepIndex,
|
|
1259
|
+
input.kind,
|
|
1260
|
+
input.status,
|
|
1261
|
+
normalizeOptionalText(input.participantId),
|
|
1262
|
+
input.inputPayload ? JSON.stringify(input.inputPayload) : null,
|
|
1263
|
+
input.outputPayload ? JSON.stringify(input.outputPayload) : null,
|
|
1264
|
+
now,
|
|
1265
|
+
input.status === "completed" || input.status === "failed" ? now : null
|
|
1266
|
+
);
|
|
1267
|
+
|
|
1268
|
+
const row = db.prepare("SELECT * FROM chat_run_steps WHERE id = ? LIMIT 1").get(input.id) as ChatRunStepRow | undefined;
|
|
1269
|
+
if (!row) {
|
|
1270
|
+
throw new Error(`Failed to append chat run step ${input.id}`);
|
|
1271
|
+
}
|
|
1272
|
+
return toChatRunStepRecord(row);
|
|
1273
|
+
});
|
|
1274
|
+
}
|
|
1275
|
+
|
|
1276
|
+
export async function updateChatRunStep(input: {
|
|
1277
|
+
id: string;
|
|
1278
|
+
status?: ChatRunStepStatus;
|
|
1279
|
+
outputPayload?: Record<string, unknown> | null;
|
|
1280
|
+
completedAt?: number | null;
|
|
1281
|
+
}): Promise<ChatRunStepRecord | null> {
|
|
1282
|
+
return withDatabase((db) => {
|
|
1283
|
+
const updates: string[] = [];
|
|
1284
|
+
const params: Array<string | number | null> = [];
|
|
1285
|
+
if (input.status) {
|
|
1286
|
+
updates.push("status = ?");
|
|
1287
|
+
params.push(input.status);
|
|
1288
|
+
}
|
|
1289
|
+
if (input.outputPayload !== undefined) {
|
|
1290
|
+
updates.push("output_payload_json = ?");
|
|
1291
|
+
params.push(input.outputPayload ? JSON.stringify(input.outputPayload) : null);
|
|
1292
|
+
}
|
|
1293
|
+
if (input.completedAt !== undefined) {
|
|
1294
|
+
updates.push("completed_at = ?");
|
|
1295
|
+
params.push(input.completedAt);
|
|
1296
|
+
}
|
|
1297
|
+
if (updates.length === 0) {
|
|
1298
|
+
const existing = db.prepare("SELECT * FROM chat_run_steps WHERE id = ? LIMIT 1").get(input.id) as ChatRunStepRow | undefined;
|
|
1299
|
+
return existing ? toChatRunStepRecord(existing) : null;
|
|
1300
|
+
}
|
|
1301
|
+
params.push(input.id);
|
|
1302
|
+
db.prepare(`UPDATE chat_run_steps SET ${updates.join(", ")} WHERE id = ?`).run(...params);
|
|
1303
|
+
const row = db.prepare("SELECT * FROM chat_run_steps WHERE id = ? LIMIT 1").get(input.id) as ChatRunStepRow | undefined;
|
|
1304
|
+
return row ? toChatRunStepRecord(row) : null;
|
|
1305
|
+
});
|
|
1306
|
+
}
|
|
1307
|
+
|
|
1308
|
+
export async function listChatRunSteps(chatRunId: string): Promise<ChatRunStepRecord[]> {
|
|
1309
|
+
return withDatabase((db) => {
|
|
1310
|
+
const rows = db
|
|
1311
|
+
.prepare("SELECT * FROM chat_run_steps WHERE chat_run_id = ? ORDER BY step_index ASC, started_at ASC")
|
|
1312
|
+
.all(chatRunId) as ChatRunStepRow[];
|
|
1313
|
+
return rows.map(toChatRunStepRecord);
|
|
1314
|
+
});
|
|
1315
|
+
}
|
|
1316
|
+
|
|
890
1317
|
export async function updateMessageStatus(
|
|
891
1318
|
threadId: string,
|
|
892
1319
|
messageId: string,
|
|
@@ -919,6 +1346,24 @@ export async function clearHistory(threadId: string): Promise<void> {
|
|
|
919
1346
|
});
|
|
920
1347
|
}
|
|
921
1348
|
|
|
1349
|
+
export async function deleteMessage(threadId: string, messageId: string): Promise<void> {
|
|
1350
|
+
const normalizedThreadId = threadId.trim() || LEGACY_THREAD_ID;
|
|
1351
|
+
const normalizedMessageId = messageId.trim();
|
|
1352
|
+
if (!normalizedMessageId) return;
|
|
1353
|
+
|
|
1354
|
+
await withDatabase((db) => {
|
|
1355
|
+
const tx = db.transaction((thread: string, msgId: string) => {
|
|
1356
|
+
db.prepare(
|
|
1357
|
+
`DELETE FROM message_reactions WHERE thread_id = ? AND message_id = ?`
|
|
1358
|
+
).run(thread, msgId);
|
|
1359
|
+
db.prepare(
|
|
1360
|
+
`DELETE FROM messages WHERE thread_id = ? AND id = ?`
|
|
1361
|
+
).run(thread, msgId);
|
|
1362
|
+
});
|
|
1363
|
+
tx(normalizedThreadId, normalizedMessageId);
|
|
1364
|
+
});
|
|
1365
|
+
}
|
|
1366
|
+
|
|
922
1367
|
export async function clearRootThread(threadId: string, rootMessageId: string): Promise<void> {
|
|
923
1368
|
const normalizedThreadId = threadId.trim() || LEGACY_THREAD_ID;
|
|
924
1369
|
const normalizedRootMessageId = rootMessageId.trim();
|
|
@@ -959,59 +1404,108 @@ export async function searchMessages(input: SearchMessagesInput): Promise<Search
|
|
|
959
1404
|
const requestedOffset = Number.isFinite(input.offset) ? Number(input.offset) : 0;
|
|
960
1405
|
const limit = Math.min(Math.max(Math.trunc(requestedLimit), 1), 100);
|
|
961
1406
|
const offset = Math.max(Math.trunc(requestedOffset), 0);
|
|
1407
|
+
const searchTerms = tokenizeSearchTerms(normalizedQuery);
|
|
1408
|
+
const ftsQuery = searchTerms.length > 0 ? searchTerms.map((term) => `${term}*`).join(" ") : null;
|
|
962
1409
|
|
|
963
1410
|
return withDatabase((db) => {
|
|
964
|
-
const
|
|
965
|
-
|
|
966
|
-
if (
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
1411
|
+
const merged = new Map<string, MessageSearchResult & { sortRank: number; matchedByFts: boolean }>();
|
|
1412
|
+
|
|
1413
|
+
if (ftsQuery) {
|
|
1414
|
+
const ftsWhereClauses = ["messages_fts MATCH ?"];
|
|
1415
|
+
const ftsWhereParams: Array<string | number> = [ftsQuery];
|
|
1416
|
+
if (normalizedThreadId) {
|
|
1417
|
+
ftsWhereClauses.push("m.thread_id = ?");
|
|
1418
|
+
ftsWhereParams.push(normalizedThreadId);
|
|
1419
|
+
}
|
|
970
1420
|
|
|
971
|
-
|
|
1421
|
+
const ftsRows = db
|
|
1422
|
+
.prepare(
|
|
1423
|
+
`SELECT m.thread_id, m.id, m.role, m.participant_id, m.timestamp, m.root_message_id,
|
|
1424
|
+
snippet(messages_fts, 0, '<mark>', '</mark>', '...', 32) AS snippet,
|
|
1425
|
+
bm25(messages_fts) as rank
|
|
1426
|
+
FROM messages_fts
|
|
1427
|
+
JOIN messages m ON messages_fts.rowid = m.rowid
|
|
1428
|
+
WHERE ${ftsWhereClauses.join(" AND ")}
|
|
1429
|
+
ORDER BY rank ASC, m.timestamp DESC`
|
|
1430
|
+
)
|
|
1431
|
+
.all(...ftsWhereParams) as Array<SearchRow & { snippet: string; rank: number }>;
|
|
1432
|
+
|
|
1433
|
+
for (const row of ftsRows) {
|
|
1434
|
+
const key = `${row.thread_id}:${row.id}`;
|
|
1435
|
+
merged.set(key, {
|
|
1436
|
+
threadId: row.thread_id,
|
|
1437
|
+
messageId: row.id,
|
|
1438
|
+
role: row.role,
|
|
1439
|
+
participantId: row.participant_id,
|
|
1440
|
+
snippet: row.snippet,
|
|
1441
|
+
timestamp: row.timestamp,
|
|
1442
|
+
rootMessageId: row.root_message_id,
|
|
1443
|
+
sortRank: row.rank,
|
|
1444
|
+
matchedByFts: true,
|
|
1445
|
+
});
|
|
1446
|
+
}
|
|
1447
|
+
}
|
|
972
1448
|
|
|
973
|
-
const
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
participant_id: string | null;
|
|
989
|
-
snippet: string;
|
|
990
|
-
timestamp: number;
|
|
991
|
-
root_message_id: string | null;
|
|
992
|
-
rank: number;
|
|
993
|
-
}>;
|
|
1449
|
+
const fallbackClauses: string[] = [];
|
|
1450
|
+
const fallbackParams: Array<string | number> = [];
|
|
1451
|
+
if (normalizedThreadId) {
|
|
1452
|
+
fallbackClauses.push("m.thread_id = ?");
|
|
1453
|
+
fallbackParams.push(normalizedThreadId);
|
|
1454
|
+
}
|
|
1455
|
+
if (searchTerms.length > 0) {
|
|
1456
|
+
for (const term of searchTerms) {
|
|
1457
|
+
fallbackClauses.push("LOWER(m.content) LIKE ? ESCAPE '\\'");
|
|
1458
|
+
fallbackParams.push(`%${escapeLikePattern(term)}%`);
|
|
1459
|
+
}
|
|
1460
|
+
} else {
|
|
1461
|
+
fallbackClauses.push("LOWER(m.content) LIKE ? ESCAPE '\\'");
|
|
1462
|
+
fallbackParams.push(`%${escapeLikePattern(normalizedQuery.toLowerCase())}%`);
|
|
1463
|
+
}
|
|
994
1464
|
|
|
995
|
-
const
|
|
1465
|
+
const fallbackRows = db
|
|
996
1466
|
.prepare(
|
|
997
|
-
`SELECT
|
|
998
|
-
FROM
|
|
999
|
-
|
|
1000
|
-
|
|
1467
|
+
`SELECT m.thread_id, m.id, m.role, m.participant_id, m.content, m.timestamp, m.root_message_id
|
|
1468
|
+
FROM messages m
|
|
1469
|
+
WHERE ${fallbackClauses.join(" AND ")}
|
|
1470
|
+
ORDER BY m.timestamp DESC`
|
|
1001
1471
|
)
|
|
1002
|
-
.
|
|
1472
|
+
.all(...fallbackParams) as Array<SearchRow & { content: string }>;
|
|
1003
1473
|
|
|
1004
|
-
|
|
1005
|
-
|
|
1474
|
+
for (const row of fallbackRows) {
|
|
1475
|
+
const key = `${row.thread_id}:${row.id}`;
|
|
1476
|
+
if (merged.has(key)) continue;
|
|
1477
|
+
merged.set(key, {
|
|
1006
1478
|
threadId: row.thread_id,
|
|
1007
1479
|
messageId: row.id,
|
|
1008
1480
|
role: row.role,
|
|
1009
1481
|
participantId: row.participant_id,
|
|
1010
|
-
snippet: row.
|
|
1482
|
+
snippet: buildSearchSnippet(row.content, searchTerms),
|
|
1011
1483
|
timestamp: row.timestamp,
|
|
1012
1484
|
rootMessageId: row.root_message_id,
|
|
1485
|
+
sortRank: Number.POSITIVE_INFINITY,
|
|
1486
|
+
matchedByFts: false,
|
|
1487
|
+
});
|
|
1488
|
+
}
|
|
1489
|
+
|
|
1490
|
+
const rows = Array.from(merged.values())
|
|
1491
|
+
.sort((a, b) => {
|
|
1492
|
+
if (a.matchedByFts !== b.matchedByFts) return a.matchedByFts ? -1 : 1;
|
|
1493
|
+
if (a.sortRank !== b.sortRank) return a.sortRank - b.sortRank;
|
|
1494
|
+
return b.timestamp - a.timestamp;
|
|
1495
|
+
})
|
|
1496
|
+
.slice(offset, offset + limit);
|
|
1497
|
+
|
|
1498
|
+
return {
|
|
1499
|
+
results: rows.map((row) => ({
|
|
1500
|
+
threadId: row.threadId,
|
|
1501
|
+
messageId: row.messageId,
|
|
1502
|
+
role: row.role,
|
|
1503
|
+
participantId: row.participantId,
|
|
1504
|
+
snippet: row.snippet,
|
|
1505
|
+
timestamp: row.timestamp,
|
|
1506
|
+
rootMessageId: row.rootMessageId,
|
|
1013
1507
|
})),
|
|
1014
|
-
total:
|
|
1508
|
+
total: merged.size,
|
|
1015
1509
|
};
|
|
1016
1510
|
});
|
|
1017
1511
|
}
|