@mndrk/agx 2.0.38 → 2.0.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cloud-runtime/standalone/.next/BUILD_ID +1 -1
- package/cloud-runtime/standalone/.next/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/prerender-manifest.json +3 -3
- package/cloud-runtime/standalone/.next/required-server-files.json +4 -4
- 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.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- 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 +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents/[id]/page/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents/page/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_full.segment.rsc +1 -1
- 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 +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +1 -1
- 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.nft.json +1 -1
- 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.nft.json +1 -1
- 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.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/file-search/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/health/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/history/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js.nft.json +1 -1
- 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.nft.json +1 -1
- 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.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/migrate/workspaces-to-projects/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js.nft.json +1 -1
- 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.nft.json +1 -1
- 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.nft.json +1 -1
- 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.nft.json +1 -1
- 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.nft.json +1 -1
- 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.nft.json +1 -1
- 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.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/cancel/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/runs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js.nft.json +1 -1
- 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.nft.json +1 -1
- 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.nft.json +1 -1
- 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/skills/assign/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/available/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route.js.nft.json +1 -1
- 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.nft.json +1 -1
- 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.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
- 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.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/pause/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
- 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.nft.json +1 -1
- 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.nft.json +1 -1
- 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.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/heartbeat/route.js.nft.json +1 -1
- 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.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/stream/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -1
- 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.nft.json +1 -1
- 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.nft.json +1 -1
- 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.nft.json +1 -1
- 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.nft.json +1 -1
- 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.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/stream/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/thread-repos/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/threads/route.js.nft.json +1 -1
- 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.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/automations.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_full.segment.rsc +1 -1
- 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 +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +1 -1
- 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.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/board.segments/_full.segment.rsc +1 -1
- 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 +1 -1
- package/cloud-runtime/standalone/.next/server/app/board.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/board.segments/board.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph/page/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_full.segment.rsc +1 -1
- 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 +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +1 -1
- 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 +1 -1
- package/cloud-runtime/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/index.segments/_full.segment.rsc +1 -1
- 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 +1 -1
- package/cloud-runtime/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/page/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page/build-manifest.json +2 -2
- 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]/knowledge/page/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans/page/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_full.segment.rsc +1 -1
- 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 +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +1 -1
- 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.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_full.segment.rsc +1 -1
- 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 +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +1 -1
- 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.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_full.segment.rsc +1 -1
- 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 +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings.segments/settings.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/skills/page/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/skills.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/skills.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/skills.segments/_full.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/skills.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/skills.segments/_index.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/skills.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/skills.segments/skills/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/skills.segments/skills.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/status/page/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/status.segments/_full.segment.rsc +1 -1
- 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 +1 -1
- package/cloud-runtime/standalone/.next/server/app/status.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/status.segments/status/__PAGE__.segment.rsc +1 -1
- 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/welcome/page/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_full.segment.rsc +1 -1
- 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 +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/{[externals]__986fcdb7._.js → [externals]__bc6c7111._.js} +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__01cd082e._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__0936925d._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__09ca81e1._.js +101 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__0c3dd73b._.js +6 -6
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__f9cff4b0._.js → [root-of-the-server]__1017e012._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1ac3236d._.js +25 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1b0bb735._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1c86bf6e._.js +5 -5
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__20c58b41._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__2126c763._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__762ab29c._.js → [root-of-the-server]__236c35bb._.js} +4 -4
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__255b11f2._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__277ed37d._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__2f06f568._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__30bd0c87._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__374cd94c._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3785024c._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__379604d4._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3c8f1de6._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3d0df5a8._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4014ed70._.js +7 -7
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__42fcb81c._.js +16 -16
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4a3cd6ac._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4e522535._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__50c24784._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__50ddd3ce._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__529a6e1c._.js +12 -12
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__59d1cdd8._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__628d686b._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__644e6285._.js +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__65755104._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__73c20995._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__8125bbc3._.js +6 -6
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__85275b88._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__89666394._.js +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__8c0fb154._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__8f5cac13._.js +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__91b22098._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__92924218._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__96ae701e._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__98ce983b._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__9a9fd39f._.js +6 -6
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__9ad4e385._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a01ddd0b._.js +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a099c992._.js +14 -14
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__ab7343c8._.js → [root-of-the-server]__a1e62918._.js} +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a9b949c3._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__af7a73fd._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__bd43017b._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__bf6fb108._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c122c54a._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c4ea4921._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d57e800e._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__db469f1b._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__da3a1ce7._.js → [root-of-the-server]__dc542063._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__dec3e1b7._.js +4 -4
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f1147a4a._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f5597fea._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f8c94cb3._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f9f7f2df._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fa79d53f._.js +11 -11
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fb14cd4a._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fcf0b40a._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ffb21023._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/_22fe5fd2._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/lib_2492d514._.js +81 -0
- package/cloud-runtime/standalone/.next/server/chunks/lib_281e5787._.js +16 -0
- package/cloud-runtime/standalone/.next/server/chunks/lib_63067e21._.js +16 -0
- package/cloud-runtime/standalone/.next/server/chunks/lib_orchestrator_chat-processor_ts_4c335719._.js +134 -0
- package/cloud-runtime/standalone/.next/server/chunks/lib_sqlite-query-adapter_ts_3ea4d849._.js +82 -21
- package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_next_dist_61a87db9._.js +1 -1
- package/cloud-runtime/standalone/.next/server/instrumentation.js +1 -1
- package/cloud-runtime/standalone/.next/server/middleware-build-manifest.js +2 -2
- package/cloud-runtime/standalone/.next/server/middleware-manifest.json +5 -5
- package/cloud-runtime/standalone/.next/server/pages/404.html +2 -2
- package/cloud-runtime/standalone/.next/server/pages/500.html +2 -2
- package/cloud-runtime/standalone/.next/server/server-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/server-reference-manifest.json +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/{dfff51033c303fc7.js → ee5f1457fbc593e1.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/{turbopack-22475f0dd0c18f92.js → turbopack-e1d640f2fbe4fa5e.js} +1 -1
- package/cloud-runtime/standalone/coverage/clover.xml +1208 -0
- package/cloud-runtime/standalone/coverage/coverage-final.json +29 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/audit/index.html +116 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/audit/route.ts.html +208 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/[...nextauth]/index.html +116 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/[...nextauth]/route.ts.html +166 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/daemon-secret/index.html +116 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/daemon-secret/route.ts.html +532 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/status/index.html +116 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/status/route.ts.html +178 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/learnings/index.html +116 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/learnings/route.ts.html +262 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/logs/stream/index.html +116 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/logs/stream/route.ts.html +448 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/queue/complete/index.html +116 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/queue/complete/route.ts.html +331 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/queue/index.html +116 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/queue/route.ts.html +505 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/stage-prompts/index.html +116 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/stage-prompts/route.ts.html +412 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/advance/index.html +116 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/advance/route.ts.html +304 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/index.html +116 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/logs/index.html +116 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/logs/route.ts.html +202 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/route.ts.html +373 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/index.html +116 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/route.ts.html +499 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/stream/index.html +116 -0
- package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/stream/route.ts.html +349 -0
- package/cloud-runtime/standalone/coverage/lcov-report/base.css +224 -0
- package/cloud-runtime/standalone/coverage/lcov-report/block-navigation.js +87 -0
- package/cloud-runtime/standalone/coverage/lcov-report/components/AuthProvider.tsx.html +259 -0
- package/cloud-runtime/standalone/coverage/lcov-report/components/ChatInterface.tsx.html +1228 -0
- package/cloud-runtime/standalone/coverage/lcov-report/components/KanbanBoard.tsx.html +1024 -0
- package/cloud-runtime/standalone/coverage/lcov-report/components/Layout.tsx.html +211 -0
- package/cloud-runtime/standalone/coverage/lcov-report/components/LearningsPanel.tsx.html +535 -0
- package/cloud-runtime/standalone/coverage/lcov-report/components/LogTimeline.tsx.html +415 -0
- package/cloud-runtime/standalone/coverage/lcov-report/components/SortableTaskCard.tsx.html +358 -0
- package/cloud-runtime/standalone/coverage/lcov-report/components/StagePills.tsx.html +439 -0
- package/cloud-runtime/standalone/coverage/lcov-report/components/TaskCard.tsx.html +514 -0
- package/cloud-runtime/standalone/coverage/lcov-report/components/TaskCardOverlay.tsx.html +256 -0
- package/cloud-runtime/standalone/coverage/lcov-report/components/TaskDetail.tsx.html +622 -0
- package/cloud-runtime/standalone/coverage/lcov-report/components/TaskList.tsx.html +253 -0
- package/cloud-runtime/standalone/coverage/lcov-report/components/index.html +281 -0
- package/cloud-runtime/standalone/coverage/lcov-report/favicon.png +0 -0
- package/cloud-runtime/standalone/coverage/lcov-report/hooks/index.html +116 -0
- package/cloud-runtime/standalone/coverage/lcov-report/hooks/useTasks.ts.html +1042 -0
- package/cloud-runtime/standalone/coverage/lcov-report/index.html +341 -0
- package/cloud-runtime/standalone/coverage/lcov-report/lib/auth-client.ts.html +202 -0
- package/cloud-runtime/standalone/coverage/lcov-report/lib/auth-server.ts.html +172 -0
- package/cloud-runtime/standalone/coverage/lcov-report/lib/auth.ts.html +265 -0
- package/cloud-runtime/standalone/coverage/lcov-report/lib/db.ts.html +1252 -0
- package/cloud-runtime/standalone/coverage/lcov-report/lib/index.html +131 -0
- package/cloud-runtime/standalone/coverage/lcov-report/lib/orchestrator.ts.html +409 -0
- package/cloud-runtime/standalone/coverage/lcov-report/lib/security.ts.html +1165 -0
- package/cloud-runtime/standalone/coverage/lcov-report/lib/supabase-server.ts.html +175 -0
- package/cloud-runtime/standalone/coverage/lcov-report/lib/supabase.ts.html +157 -0
- package/cloud-runtime/standalone/coverage/lcov-report/prettify.css +1 -0
- package/cloud-runtime/standalone/coverage/lcov-report/prettify.js +2 -0
- package/cloud-runtime/standalone/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/cloud-runtime/standalone/coverage/lcov-report/sorter.js +210 -0
- package/cloud-runtime/standalone/coverage/lcov.info +2386 -0
- package/cloud-runtime/standalone/docs/LIMITS.md +63 -0
- package/cloud-runtime/standalone/docs/architecture/ADR-001-hybrid-to-full-sqlite.md +345 -0
- package/cloud-runtime/standalone/docs/baseline/baseline-report.json +1009 -0
- package/cloud-runtime/standalone/docs/baseline/critical-queries.md +105 -0
- package/cloud-runtime/standalone/docs/baseline/lock-metrics.json +21 -0
- package/cloud-runtime/standalone/docs/baseline/read-latency.json +146 -0
- package/cloud-runtime/standalone/docs/baseline/restore-time.json +10 -0
- package/cloud-runtime/standalone/docs/baseline/write-metrics.json +803 -0
- package/cloud-runtime/standalone/docs/decisions/sqlite-migration-adr.md +327 -0
- package/cloud-runtime/standalone/docs/error-code-mapping.md +74 -0
- package/cloud-runtime/standalone/docs/migration-plan.md +120 -0
- package/cloud-runtime/standalone/docs/migration-spec.md +345 -0
- package/cloud-runtime/standalone/docs/pg-sqlite-compatibility-matrix.md +554 -0
- package/cloud-runtime/standalone/docs/project-agent-migration-status.md +229 -0
- package/cloud-runtime/standalone/docs/runbook-shadow-read.md +66 -0
- package/cloud-runtime/standalone/docs/runbook.md +155 -0
- package/cloud-runtime/standalone/docs/specs/cli-postgres-removal.md +69 -0
- package/cloud-runtime/standalone/docs/specs/thread-mentions.md +53 -0
- package/cloud-runtime/standalone/docs/superpowers/plans/2026-04-01-prompt-scheduler.md +1907 -0
- package/cloud-runtime/standalone/docs/superpowers/plans/2026-04-02-sqlite-migration.md +1047 -0
- package/cloud-runtime/standalone/docs/transcript.txt +282 -0
- package/cloud-runtime/standalone/docs/ux/GlobalChatFlow.storyboard +23 -0
- package/cloud-runtime/standalone/docs/ux/assistant-chat-cli.md +32 -0
- package/cloud-runtime/standalone/instrumentation.ts +34 -0
- package/cloud-runtime/standalone/mcp/dist/constants.js +66 -0
- package/cloud-runtime/standalone/mcp/dist/db.js +220 -0
- package/cloud-runtime/standalone/mcp/dist/index.js +7 -0
- package/cloud-runtime/standalone/mcp/dist/security.js +18 -0
- package/cloud-runtime/standalone/mcp/dist/server.js +240 -0
- package/cloud-runtime/standalone/mcp/dist/task-context.js +287 -0
- package/cloud-runtime/standalone/mcp/dist/test-client.js +82 -0
- package/cloud-runtime/standalone/mcp/dist/tools/audit.js +69 -0
- package/cloud-runtime/standalone/mcp/dist/tools/learnings.js +88 -0
- package/cloud-runtime/standalone/mcp/dist/tools/queue.js +312 -0
- package/cloud-runtime/standalone/mcp/dist/tools/tasks.js +244 -0
- package/cloud-runtime/standalone/mcp/dist/types.js +74 -0
- package/cloud-runtime/standalone/node_modules/@img/sharp-darwin-arm64/lib/sharp-darwin-arm64.node +0 -0
- package/cloud-runtime/standalone/node_modules/@img/{sharp-linux-x64 → sharp-darwin-arm64}/package.json +7 -13
- package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-linux-x64 → sharp-libvips-darwin-arm64}/README.md +2 -2
- package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-linuxmusl-x64 → sharp-libvips-darwin-arm64}/lib/glib-2.0/include/glibconfig.h +8 -9
- package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-linux-x64/lib/libvips-cpp.so.8.17.3 → sharp-libvips-darwin-arm64/lib/libvips-cpp.8.17.3.dylib} +0 -0
- package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-linux-x64 → sharp-libvips-darwin-arm64}/package.json +5 -11
- package/cloud-runtime/standalone/notes/comments-context-demo.md +141 -0
- package/cloud-runtime/standalone/notes/comments-context-plan.md +119 -0
- package/cloud-runtime/standalone/notes/context-audit.md +21 -0
- package/cloud-runtime/standalone/notes/project-layer-plan.md +30 -0
- package/cloud-runtime/standalone/notes/project-layer.md +123 -0
- package/cloud-runtime/standalone/notes/temporal-migration-design.md +199 -0
- package/cloud-runtime/standalone/playwright-report/data/00d55996f37c1506b90144c85493dd85032c13e5.png +0 -0
- package/cloud-runtime/standalone/playwright-report/data/0b9d409e57237ae111d7ba258d3dfe64dc368456.png +0 -0
- package/cloud-runtime/standalone/playwright-report/data/b33d5e80a15bd1deda4415b9d318ef73f581c950.png +0 -0
- package/cloud-runtime/standalone/playwright-report/data/b55684161aa440d0614595e13c91338f0420abbb.md +131 -0
- package/cloud-runtime/standalone/playwright-report/data/b9913957ae07e7565c38ddd71215be79b1ceb017.png +0 -0
- package/cloud-runtime/standalone/playwright-report/data/c3538be8ebbebc9fe4a7df8f12f04483af4a0d91.png +0 -0
- package/cloud-runtime/standalone/playwright-report/data/fe638f64ff5e36f1c30325564565662d3f57da87.md +180 -0
- package/cloud-runtime/standalone/playwright-report/index.html +85 -0
- package/cloud-runtime/standalone/server.js +1 -1
- package/cloud-runtime/standalone/test-results/auth-Authentication-Flow-S-aff25-sion-across-page-navigation-chromium/test-failed-1.png +0 -0
- package/cloud-runtime/standalone/test-results/comments-Task-comments-add-4dc59-nd-persists-it-for-the-task-chromium/error-context.md +131 -0
- package/cloud-runtime/standalone/test-results/comments-Task-comments-add-4dc59-nd-persists-it-for-the-task-chromium/test-failed-1.png +0 -0
- package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Stage--4082a-er-planning-after-ideation--chromium/error-context.md +180 -0
- package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Stage--4082a-er-planning-after-ideation--chromium/test-failed-1.png +0 -0
- package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Stage-Columns-displays-all-9-SDLC-stages-chromium/error-context.md +180 -0
- package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Stage-Columns-displays-all-9-SDLC-stages-chromium/test-failed-1.png +0 -0
- package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Task-D-b6d98-ys-tasks-in-correct-columns-chromium/error-context.md +180 -0
- package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Task-D-b6d98-ys-tasks-in-correct-columns-chromium/test-failed-1.png +0 -0
- package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Task-Display-shows-task-count-per-column-chromium/test-failed-1.png +0 -0
- package/cloud-runtime/standalone/test-results/kanban-Task-Lifecycle-can-advance-task-through-all-stages-chromium/test-failed-1.png +0 -0
- package/cloud-runtime/standalone/tsconfig.json +1 -2
- package/cloud-runtime/standalone/tsconfig.tsbuildinfo +1 -0
- package/package.json +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4bce7db7._.js +0 -101
- package/cloud-runtime/standalone/.next/server/chunks/_17e53c87._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/lib_ea45fe73._.js +0 -94
- package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/glib-2.0/include/glibconfig.h +0 -221
- package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md +0 -46
- package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js +0 -1
- package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.17.3 +0 -0
- package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +0 -42
- package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +0 -30
- package/cloud-runtime/standalone/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64.node +0 -0
- package/cloud-runtime/standalone/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64.node +0 -0
- package/cloud-runtime/standalone/node_modules/@img/sharp-linuxmusl-x64/package.json +0 -46
- /package/cloud-runtime/standalone/.next/static/{V5ruh627UpcC-LTWDgYk8 → tIFXRWCxPD896ykJ6O--N}/_buildManifest.js +0 -0
- /package/cloud-runtime/standalone/.next/static/{V5ruh627UpcC-LTWDgYk8 → tIFXRWCxPD896ykJ6O--N}/_clientMiddlewareManifest.json +0 -0
- /package/cloud-runtime/standalone/.next/static/{V5ruh627UpcC-LTWDgYk8 → tIFXRWCxPD896ykJ6O--N}/_ssgManifest.js +0 -0
- /package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-linux-x64 → sharp-libvips-darwin-arm64}/lib/index.js +0 -0
- /package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-linux-x64 → sharp-libvips-darwin-arm64}/versions.json +0 -0
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { getSupabase } from "../db.js";
|
|
3
|
+
import { buildTaskContext } from "../task-context.js";
|
|
4
|
+
import { signTask } from "../security.js";
|
|
5
|
+
import { STAGE_ORDER, parseFrontmatter, buildContent, resolveTaskConfig, } from "../types.js";
|
|
6
|
+
// ============ SCHEMAS ============
|
|
7
|
+
export const tasksListSchema = z.object({
|
|
8
|
+
userId: z.string().uuid().optional().describe("Filter by user ID"),
|
|
9
|
+
project: z.string().optional().describe("Filter by project name"),
|
|
10
|
+
status: z.enum(["queued", "in_progress", "blocked", "completed", "failed"])
|
|
11
|
+
.optional().describe("Filter by status"),
|
|
12
|
+
stage: z.enum(STAGE_ORDER).optional().describe("Filter by SDLC stage"),
|
|
13
|
+
limit: z.number().int().min(1).max(100).default(50).describe("Max results"),
|
|
14
|
+
});
|
|
15
|
+
export const tasksGetSchema = z.object({
|
|
16
|
+
id: z.string().uuid().describe("Task ID"),
|
|
17
|
+
includeLogs: z.boolean().default(false).describe("Include task logs"),
|
|
18
|
+
});
|
|
19
|
+
export const tasksCreateSchema = z.object({
|
|
20
|
+
title: z.string().min(1).describe("Task title"),
|
|
21
|
+
description: z.string().optional().describe("Task description"),
|
|
22
|
+
project: z.string().optional().describe("Project name"),
|
|
23
|
+
priority: z.number().int().min(1).max(5).default(3).describe("Priority (1=highest, 5=lowest)"),
|
|
24
|
+
engine: z.enum(["claude", "gemini", "ollama"]).default("claude").describe("AI engine to use"),
|
|
25
|
+
provider: z.string().optional().describe("Provider/runtime to use (e.g. cao, claude_code)"),
|
|
26
|
+
model: z.string().optional().describe("Model to use (e.g. claude-3-5-sonnet)"),
|
|
27
|
+
swarm: z.boolean().optional().describe("Route task to swarm/CAO runtime"),
|
|
28
|
+
stage: z.enum(STAGE_ORDER).default("ideation").describe("Initial SDLC stage"),
|
|
29
|
+
userId: z.string().uuid().optional().describe("Owner user ID"),
|
|
30
|
+
});
|
|
31
|
+
export const tasksUpdateSchema = z.object({
|
|
32
|
+
id: z.string().uuid().describe("Task ID"),
|
|
33
|
+
status: z.enum(["queued", "in_progress", "blocked", "completed", "failed"]).optional(),
|
|
34
|
+
stage: z.enum(STAGE_ORDER).optional(),
|
|
35
|
+
priority: z.number().int().min(1).max(5).optional(),
|
|
36
|
+
project: z.string().optional(),
|
|
37
|
+
progress: z.number().int().min(0).max(100).optional().describe("Progress percentage (0-100)"),
|
|
38
|
+
result: z.string().optional().describe("Result/output summary"),
|
|
39
|
+
swarm: z.boolean().optional(),
|
|
40
|
+
});
|
|
41
|
+
export const tasksLogSchema = z.object({
|
|
42
|
+
taskId: z.string().uuid().describe("Task ID"),
|
|
43
|
+
content: z.string().min(1).describe("Log content"),
|
|
44
|
+
});
|
|
45
|
+
// ============ HANDLERS ============
|
|
46
|
+
export async function tasksList(args) {
|
|
47
|
+
const supabase = getSupabase();
|
|
48
|
+
const activeQueueStatuses = ["queued", "in_progress"];
|
|
49
|
+
let query = supabase
|
|
50
|
+
.from("tasks")
|
|
51
|
+
.select("*")
|
|
52
|
+
.order("priority", { ascending: true, nullsFirst: false })
|
|
53
|
+
.order("created_at", { ascending: false })
|
|
54
|
+
.limit(args.limit);
|
|
55
|
+
if (args.userId)
|
|
56
|
+
query = query.eq("user_id", args.userId);
|
|
57
|
+
if (args.project)
|
|
58
|
+
query = query.eq("project", args.project);
|
|
59
|
+
if (args.status)
|
|
60
|
+
query = query.eq("status", args.status);
|
|
61
|
+
if (args.stage && !args.status)
|
|
62
|
+
query = query.in("status", activeQueueStatuses);
|
|
63
|
+
if (args.stage)
|
|
64
|
+
query = query.eq("stage", args.stage);
|
|
65
|
+
const { data, error } = await query;
|
|
66
|
+
if (error)
|
|
67
|
+
throw new Error(`Failed to list tasks: ${error.message}`);
|
|
68
|
+
return {
|
|
69
|
+
tasks: data || [],
|
|
70
|
+
count: data?.length || 0,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
export async function tasksGet(args) {
|
|
74
|
+
const supabase = getSupabase();
|
|
75
|
+
const { data: task, error } = await supabase
|
|
76
|
+
.from("tasks")
|
|
77
|
+
.select("*")
|
|
78
|
+
.eq("id", args.id)
|
|
79
|
+
.single();
|
|
80
|
+
if (error) {
|
|
81
|
+
if (error.code === "PGRST116") {
|
|
82
|
+
throw new Error(`Task not found: ${args.id}`);
|
|
83
|
+
}
|
|
84
|
+
throw new Error(`Failed to get task: ${error.message}`);
|
|
85
|
+
}
|
|
86
|
+
// Fetch stage prompt
|
|
87
|
+
const context = await buildTaskContext(task);
|
|
88
|
+
const { comments_digest: commentsDigest, stage_config } = context;
|
|
89
|
+
// Resolve configuration (Task > Stage)
|
|
90
|
+
const resolvedConfig = resolveTaskConfig(task, stage_config);
|
|
91
|
+
let signature = task.signature;
|
|
92
|
+
if (task.user_id) {
|
|
93
|
+
const { data: secretData } = await supabase
|
|
94
|
+
.from("user_secrets")
|
|
95
|
+
.select("daemon_secret_hash")
|
|
96
|
+
.eq("user_id", task.user_id)
|
|
97
|
+
.single();
|
|
98
|
+
if (secretData?.daemon_secret_hash) {
|
|
99
|
+
const newSignature = signTask({
|
|
100
|
+
id: task.id,
|
|
101
|
+
user_id: task.user_id,
|
|
102
|
+
content: task.content,
|
|
103
|
+
stage: task.stage || "ideation",
|
|
104
|
+
engine: task.engine || "claude",
|
|
105
|
+
provider: resolvedConfig.provider,
|
|
106
|
+
model: resolvedConfig.model,
|
|
107
|
+
swarm: resolvedConfig.swarm,
|
|
108
|
+
swarm_models: resolvedConfig.swarm_models,
|
|
109
|
+
created_at: task.created_at,
|
|
110
|
+
comments_digest: commentsDigest,
|
|
111
|
+
}, secretData.daemon_secret_hash);
|
|
112
|
+
if (newSignature !== signature) {
|
|
113
|
+
await supabase
|
|
114
|
+
.from("tasks")
|
|
115
|
+
.update({ signature: newSignature })
|
|
116
|
+
.eq("id", task.id);
|
|
117
|
+
}
|
|
118
|
+
signature = newSignature;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
const result = {
|
|
122
|
+
task: { ...task, ...resolvedConfig, signature, ...context },
|
|
123
|
+
};
|
|
124
|
+
if (args.includeLogs) {
|
|
125
|
+
const { data: logs, error: logsError } = await supabase
|
|
126
|
+
.from("task_logs")
|
|
127
|
+
.select("*")
|
|
128
|
+
.eq("task_id", args.id)
|
|
129
|
+
.order("created_at", { ascending: true });
|
|
130
|
+
if (logsError) {
|
|
131
|
+
throw new Error(`Failed to get task logs: ${logsError.message}`);
|
|
132
|
+
}
|
|
133
|
+
result.logs = logs || [];
|
|
134
|
+
}
|
|
135
|
+
return result;
|
|
136
|
+
}
|
|
137
|
+
export async function tasksCreate(args) {
|
|
138
|
+
const supabase = getSupabase();
|
|
139
|
+
// Build markdown content with frontmatter
|
|
140
|
+
const frontmatter = {
|
|
141
|
+
status: "queued",
|
|
142
|
+
stage: args.stage,
|
|
143
|
+
engine: args.engine,
|
|
144
|
+
priority: args.priority,
|
|
145
|
+
};
|
|
146
|
+
if (args.provider)
|
|
147
|
+
frontmatter.provider = args.provider;
|
|
148
|
+
if (args.model)
|
|
149
|
+
frontmatter.model = args.model;
|
|
150
|
+
if (typeof args.swarm === "boolean")
|
|
151
|
+
frontmatter.swarm = args.swarm;
|
|
152
|
+
if (args.project)
|
|
153
|
+
frontmatter.project = args.project;
|
|
154
|
+
const body = `# ${args.title}\n\n${args.description || ""}`;
|
|
155
|
+
const content = buildContent(frontmatter, body);
|
|
156
|
+
const { data, error } = await supabase
|
|
157
|
+
.from("tasks")
|
|
158
|
+
.insert({
|
|
159
|
+
content,
|
|
160
|
+
title: args.title,
|
|
161
|
+
status: "queued",
|
|
162
|
+
stage: args.stage,
|
|
163
|
+
project: args.project,
|
|
164
|
+
priority: args.priority,
|
|
165
|
+
engine: args.engine,
|
|
166
|
+
provider: args.provider,
|
|
167
|
+
model: args.model,
|
|
168
|
+
swarm: args.swarm,
|
|
169
|
+
user_id: args.userId,
|
|
170
|
+
})
|
|
171
|
+
.select()
|
|
172
|
+
.single();
|
|
173
|
+
if (error)
|
|
174
|
+
throw new Error(`Failed to create task: ${error.message}`);
|
|
175
|
+
return { task: data };
|
|
176
|
+
}
|
|
177
|
+
export async function tasksUpdate(args) {
|
|
178
|
+
const supabase = getSupabase();
|
|
179
|
+
// Get current task
|
|
180
|
+
const { data: task, error: getError } = await supabase
|
|
181
|
+
.from("tasks")
|
|
182
|
+
.select("*")
|
|
183
|
+
.eq("id", args.id)
|
|
184
|
+
.single();
|
|
185
|
+
if (getError) {
|
|
186
|
+
if (getError.code === "PGRST116") {
|
|
187
|
+
throw new Error(`Task not found: ${args.id}`);
|
|
188
|
+
}
|
|
189
|
+
throw new Error(`Failed to get task: ${getError.message}`);
|
|
190
|
+
}
|
|
191
|
+
// Parse and update frontmatter
|
|
192
|
+
const { frontmatter, body } = parseFrontmatter(task.content);
|
|
193
|
+
if (args.status !== undefined)
|
|
194
|
+
frontmatter.status = args.status;
|
|
195
|
+
if (args.stage !== undefined)
|
|
196
|
+
frontmatter.stage = args.stage;
|
|
197
|
+
if (args.priority !== undefined)
|
|
198
|
+
frontmatter.priority = args.priority;
|
|
199
|
+
if (args.project !== undefined)
|
|
200
|
+
frontmatter.project = args.project;
|
|
201
|
+
if (args.progress !== undefined)
|
|
202
|
+
frontmatter.progress = args.progress;
|
|
203
|
+
if (args.result !== undefined)
|
|
204
|
+
frontmatter.result = args.result;
|
|
205
|
+
if (args.swarm !== undefined)
|
|
206
|
+
frontmatter.swarm = args.swarm;
|
|
207
|
+
const updatedContent = buildContent(frontmatter, body);
|
|
208
|
+
// Build update object
|
|
209
|
+
const updates = {
|
|
210
|
+
content: updatedContent,
|
|
211
|
+
updated_at: new Date().toISOString(),
|
|
212
|
+
};
|
|
213
|
+
if (args.status !== undefined)
|
|
214
|
+
updates.status = args.status;
|
|
215
|
+
if (args.stage !== undefined)
|
|
216
|
+
updates.stage = args.stage;
|
|
217
|
+
if (args.priority !== undefined)
|
|
218
|
+
updates.priority = args.priority;
|
|
219
|
+
if (args.project !== undefined)
|
|
220
|
+
updates.project = args.project;
|
|
221
|
+
if (args.swarm !== undefined)
|
|
222
|
+
updates.swarm = args.swarm;
|
|
223
|
+
const { data: updatedTask, error: updateError } = await supabase
|
|
224
|
+
.from("tasks")
|
|
225
|
+
.update(updates)
|
|
226
|
+
.eq("id", args.id)
|
|
227
|
+
.select()
|
|
228
|
+
.single();
|
|
229
|
+
if (updateError)
|
|
230
|
+
throw new Error(`Failed to update task: ${updateError.message}`);
|
|
231
|
+
return { task: updatedTask };
|
|
232
|
+
}
|
|
233
|
+
export async function tasksLog(args) {
|
|
234
|
+
const supabase = getSupabase();
|
|
235
|
+
const { data, error } = await supabase
|
|
236
|
+
.from("task_logs")
|
|
237
|
+
.insert({ task_id: args.taskId, content: args.content })
|
|
238
|
+
.select()
|
|
239
|
+
.single();
|
|
240
|
+
if (error)
|
|
241
|
+
throw new Error(`Failed to add log: ${error.message}`);
|
|
242
|
+
return { log: data };
|
|
243
|
+
}
|
|
244
|
+
//# sourceMappingURL=tasks.js.map
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
export const STAGE_ORDER = [
|
|
2
|
+
"ideation",
|
|
3
|
+
"planning",
|
|
4
|
+
"coding",
|
|
5
|
+
"qa",
|
|
6
|
+
"acceptance",
|
|
7
|
+
"pr",
|
|
8
|
+
"pr_review",
|
|
9
|
+
"merge",
|
|
10
|
+
"done",
|
|
11
|
+
];
|
|
12
|
+
/**
|
|
13
|
+
* Resolves task configuration by merging task-level settings with stage-level defaults.
|
|
14
|
+
* Task settings take precedence.
|
|
15
|
+
*/
|
|
16
|
+
export function resolveTaskConfig(task, stageConfig) {
|
|
17
|
+
const provider = task.provider || stageConfig?.provider || "unspecified";
|
|
18
|
+
const model = task.model || stageConfig?.model || "unspecified";
|
|
19
|
+
const swarm = task.swarm ?? stageConfig?.swarm ?? false;
|
|
20
|
+
const swarm_models = task.swarm_models?.length ? task.swarm_models : (stageConfig?.swarm_models || []);
|
|
21
|
+
return {
|
|
22
|
+
provider,
|
|
23
|
+
model,
|
|
24
|
+
swarm,
|
|
25
|
+
swarm_models,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
// Parse YAML frontmatter from markdown
|
|
29
|
+
export function parseFrontmatter(markdown) {
|
|
30
|
+
const match = markdown.match(/^---\n([\s\S]*?)\n---\n([\s\S]*)$/);
|
|
31
|
+
if (!match) {
|
|
32
|
+
return { frontmatter: {}, body: markdown };
|
|
33
|
+
}
|
|
34
|
+
const frontmatter = {};
|
|
35
|
+
const lines = match[1].split('\n');
|
|
36
|
+
for (const line of lines) {
|
|
37
|
+
const colonIndex = line.indexOf(':');
|
|
38
|
+
if (colonIndex > 0) {
|
|
39
|
+
const key = line.slice(0, colonIndex).trim();
|
|
40
|
+
const value = line.slice(colonIndex + 1).trim();
|
|
41
|
+
// Parse numbers and booleans
|
|
42
|
+
if (value === 'true')
|
|
43
|
+
frontmatter[key] = true;
|
|
44
|
+
else if (value === 'false')
|
|
45
|
+
frontmatter[key] = false;
|
|
46
|
+
else if (/^\d+$/.test(value))
|
|
47
|
+
frontmatter[key] = parseInt(value);
|
|
48
|
+
else
|
|
49
|
+
frontmatter[key] = value;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return { frontmatter, body: match[2] };
|
|
53
|
+
}
|
|
54
|
+
// Extract title from markdown (first H1)
|
|
55
|
+
export function extractTitle(markdown) {
|
|
56
|
+
const { body } = parseFrontmatter(markdown);
|
|
57
|
+
const match = body.match(/^#\s+(.+)$/m);
|
|
58
|
+
return match ? match[1] : undefined;
|
|
59
|
+
}
|
|
60
|
+
// Build content from frontmatter and body
|
|
61
|
+
export function buildContent(frontmatter, body) {
|
|
62
|
+
const frontmatterStr = Object.entries(frontmatter)
|
|
63
|
+
.map(([k, v]) => `${k}: ${v}`)
|
|
64
|
+
.join("\n");
|
|
65
|
+
return `---\n${frontmatterStr}\n---\n${body}`;
|
|
66
|
+
}
|
|
67
|
+
// Get next SDLC stage
|
|
68
|
+
export function getNextStage(currentStage) {
|
|
69
|
+
const index = STAGE_ORDER.indexOf(currentStage);
|
|
70
|
+
if (index === -1 || index >= STAGE_ORDER.length - 1)
|
|
71
|
+
return null;
|
|
72
|
+
return STAGE_ORDER[index + 1];
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=types.js.map
|
package/cloud-runtime/standalone/node_modules/@img/sharp-darwin-arm64/lib/sharp-darwin-arm64.node
ADDED
|
Binary file
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "@img/sharp-
|
|
2
|
+
"name": "@img/sharp-darwin-arm64",
|
|
3
3
|
"version": "0.34.5",
|
|
4
|
-
"description": "Prebuilt sharp for use with
|
|
4
|
+
"description": "Prebuilt sharp for use with macOS 64-bit ARM",
|
|
5
5
|
"author": "Lovell Fuller <npm@lovell.info>",
|
|
6
6
|
"homepage": "https://sharp.pixelplumbing.com",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
9
9
|
"url": "git+https://github.com/lovell/sharp.git",
|
|
10
|
-
"directory": "npm/
|
|
10
|
+
"directory": "npm/darwin-arm64"
|
|
11
11
|
},
|
|
12
12
|
"license": "Apache-2.0",
|
|
13
13
|
"funding": {
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
},
|
|
16
16
|
"preferUnplugged": true,
|
|
17
17
|
"optionalDependencies": {
|
|
18
|
-
"@img/sharp-libvips-
|
|
18
|
+
"@img/sharp-libvips-darwin-arm64": "1.2.4"
|
|
19
19
|
},
|
|
20
20
|
"files": [
|
|
21
21
|
"lib"
|
|
@@ -25,22 +25,16 @@
|
|
|
25
25
|
},
|
|
26
26
|
"type": "commonjs",
|
|
27
27
|
"exports": {
|
|
28
|
-
"./sharp.node": "./lib/sharp-
|
|
28
|
+
"./sharp.node": "./lib/sharp-darwin-arm64.node",
|
|
29
29
|
"./package": "./package.json"
|
|
30
30
|
},
|
|
31
31
|
"engines": {
|
|
32
32
|
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
|
33
33
|
},
|
|
34
|
-
"config": {
|
|
35
|
-
"glibc": ">=2.26"
|
|
36
|
-
},
|
|
37
34
|
"os": [
|
|
38
|
-
"
|
|
39
|
-
],
|
|
40
|
-
"libc": [
|
|
41
|
-
"glibc"
|
|
35
|
+
"darwin"
|
|
42
36
|
],
|
|
43
37
|
"cpu": [
|
|
44
|
-
"
|
|
38
|
+
"arm64"
|
|
45
39
|
]
|
|
46
40
|
}
|
|
@@ -63,15 +63,15 @@ typedef unsigned int guint32;
|
|
|
63
63
|
|
|
64
64
|
#define G_HAVE_GINT64 1 /* deprecated, always true */
|
|
65
65
|
|
|
66
|
-
typedef signed long gint64;
|
|
67
|
-
typedef unsigned long guint64;
|
|
66
|
+
G_GNUC_EXTENSION typedef signed long long gint64;
|
|
67
|
+
G_GNUC_EXTENSION typedef unsigned long long guint64;
|
|
68
68
|
|
|
69
|
-
#define G_GINT64_CONSTANT(val) (val##
|
|
70
|
-
#define G_GUINT64_CONSTANT(val) (val##
|
|
69
|
+
#define G_GINT64_CONSTANT(val) (G_GNUC_EXTENSION (val##LL))
|
|
70
|
+
#define G_GUINT64_CONSTANT(val) (G_GNUC_EXTENSION (val##ULL))
|
|
71
71
|
|
|
72
|
-
#define G_GINT64_MODIFIER "
|
|
73
|
-
#define G_GINT64_FORMAT "
|
|
74
|
-
#define G_GUINT64_FORMAT "
|
|
72
|
+
#define G_GINT64_MODIFIER "ll"
|
|
73
|
+
#define G_GINT64_FORMAT "lli"
|
|
74
|
+
#define G_GUINT64_FORMAT "llu"
|
|
75
75
|
|
|
76
76
|
|
|
77
77
|
#define GLIB_SIZEOF_VOID_P 8
|
|
@@ -121,7 +121,6 @@ typedef unsigned long guintptr;
|
|
|
121
121
|
|
|
122
122
|
#define G_VA_COPY va_copy
|
|
123
123
|
|
|
124
|
-
#define G_VA_COPY_AS_ARRAY 1
|
|
125
124
|
|
|
126
125
|
#define G_HAVE_ISO_VARARGS 1
|
|
127
126
|
|
|
@@ -203,7 +202,7 @@ typedef int GPid;
|
|
|
203
202
|
|
|
204
203
|
#define GLIB_SYSDEF_AF_UNIX 1
|
|
205
204
|
#define GLIB_SYSDEF_AF_INET 2
|
|
206
|
-
#define GLIB_SYSDEF_AF_INET6
|
|
205
|
+
#define GLIB_SYSDEF_AF_INET6 30
|
|
207
206
|
|
|
208
207
|
#define GLIB_SYSDEF_MSG_OOB 1
|
|
209
208
|
#define GLIB_SYSDEF_MSG_PEEK 2
|
|
Binary file
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "@img/sharp-libvips-
|
|
2
|
+
"name": "@img/sharp-libvips-darwin-arm64",
|
|
3
3
|
"version": "1.2.4",
|
|
4
|
-
"description": "Prebuilt libvips and dependencies for use with sharp on
|
|
4
|
+
"description": "Prebuilt libvips and dependencies for use with sharp on macOS 64-bit ARM",
|
|
5
5
|
"author": "Lovell Fuller <npm@lovell.info>",
|
|
6
6
|
"homepage": "https://sharp.pixelplumbing.com",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
9
9
|
"url": "git+https://github.com/lovell/sharp-libvips.git",
|
|
10
|
-
"directory": "npm/
|
|
10
|
+
"directory": "npm/darwin-arm64"
|
|
11
11
|
},
|
|
12
12
|
"license": "LGPL-3.0-or-later",
|
|
13
13
|
"funding": {
|
|
@@ -27,16 +27,10 @@
|
|
|
27
27
|
"./package": "./package.json",
|
|
28
28
|
"./versions": "./versions.json"
|
|
29
29
|
},
|
|
30
|
-
"config": {
|
|
31
|
-
"glibc": ">=2.26"
|
|
32
|
-
},
|
|
33
30
|
"os": [
|
|
34
|
-
"
|
|
35
|
-
],
|
|
36
|
-
"libc": [
|
|
37
|
-
"glibc"
|
|
31
|
+
"darwin"
|
|
38
32
|
],
|
|
39
33
|
"cpu": [
|
|
40
|
-
"
|
|
34
|
+
"arm64"
|
|
41
35
|
]
|
|
42
36
|
}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
# Demo: Task Comments as Execution Context
|
|
2
|
+
|
|
3
|
+
## What was built
|
|
4
|
+
- Task comments are part of signed execution context.
|
|
5
|
+
- `lib/task-context.ts` composes prompt context with a `COMMENTS` section and computes `comments_digest` (SHA-256 over ordered comments).
|
|
6
|
+
- Signed payload producers re-compute digest and re-sign when comments change:
|
|
7
|
+
- `POST /api/tasks/[id]/comments`
|
|
8
|
+
- `DELETE /api/tasks/[id]/comments/[commentId]`
|
|
9
|
+
- `GET /api/tasks/[id]`
|
|
10
|
+
- `POST /api/queue` (pull)
|
|
11
|
+
- MCP `tasks.get` and `queue.pull`
|
|
12
|
+
- Signature includes `comments_digest`, so stale signatures are invalid after comment mutations.
|
|
13
|
+
|
|
14
|
+
## Acceptance status (2026-02-07)
|
|
15
|
+
- E2E blocked in this sandbox by port restrictions (cannot bind localhost on `127.0.0.1:3100`).
|
|
16
|
+
- Cloud sync blocked in this sandbox: `tsx` IPC socket bind blocked.
|
|
17
|
+
- Rerun in an environment that allows localhost binds + IPC sockets and has DB credentials, then record results here.
|
|
18
|
+
|
|
19
|
+
## Local setup (required for demo)
|
|
20
|
+
1. Install dependencies:
|
|
21
|
+
```bash
|
|
22
|
+
npm install
|
|
23
|
+
```
|
|
24
|
+
2. Configure env:
|
|
25
|
+
```bash
|
|
26
|
+
cp .env.example .env.local
|
|
27
|
+
# Fill in DB values for:
|
|
28
|
+
# - NEXT_PUBLIC_DB_URL (or DB_URL)
|
|
29
|
+
# - DB_SERVICE_ROLE_KEY
|
|
30
|
+
```
|
|
31
|
+
3. Run dev server:
|
|
32
|
+
```bash
|
|
33
|
+
npm run dev
|
|
34
|
+
```
|
|
35
|
+
Expected:
|
|
36
|
+
- App available at `http://localhost:3000`.
|
|
37
|
+
- Auth + task data load via DB.
|
|
38
|
+
|
|
39
|
+
## Demo (UI)
|
|
40
|
+
1. Start the app: `npm run dev`
|
|
41
|
+
2. Open dashboard and select a task.
|
|
42
|
+
3. Add a comment in `Comments`.
|
|
43
|
+
4. Confirm it appears in timeline.
|
|
44
|
+
5. Refresh and verify prompt/context now includes the comment.
|
|
45
|
+
|
|
46
|
+
Expected:
|
|
47
|
+
- `COMMENTS` section includes the new entry.
|
|
48
|
+
- `comments_digest` changes after each comment mutation.
|
|
49
|
+
- Returned `signature` matches the new digest.
|
|
50
|
+
|
|
51
|
+
## Demo (API)
|
|
52
|
+
1. Add comment:
|
|
53
|
+
```bash
|
|
54
|
+
curl -X POST "http://localhost:3000/api/tasks/<taskId>/comments" \
|
|
55
|
+
-H "Content-Type: application/json" \
|
|
56
|
+
-H "Authorization: Bearer <access_token>" \
|
|
57
|
+
-d '{"content":"Add context here"}'
|
|
58
|
+
```
|
|
59
|
+
2. Fetch task:
|
|
60
|
+
```bash
|
|
61
|
+
curl -X GET "http://localhost:3000/api/tasks/<taskId>" \
|
|
62
|
+
-H "Authorization: Bearer <access_token>"
|
|
63
|
+
```
|
|
64
|
+
3. Verify:
|
|
65
|
+
- `comments_digest` present and updated.
|
|
66
|
+
- `context.prompt` contains `COMMENTS`.
|
|
67
|
+
- `signature` changes when digest changes.
|
|
68
|
+
|
|
69
|
+
## Demo (Queue/MCP)
|
|
70
|
+
1. Pull via queue (`POST /api/queue`) or MCP (`queue.pull`).
|
|
71
|
+
2. Verify returned prompt includes `COMMENTS` and digest/signature fields.
|
|
72
|
+
3. Add another comment and pull again; verify digest/signature roll forward.
|
|
73
|
+
|
|
74
|
+
## E2E (Playwright) — rerun commands
|
|
75
|
+
```bash
|
|
76
|
+
npm run test:e2e:sandbox -- e2e/comments.spec.ts
|
|
77
|
+
```
|
|
78
|
+
If you are not in a sandbox and want to override host/port:
|
|
79
|
+
```bash
|
|
80
|
+
SANDBOX=1 CLOUD_SYNC_DISABLED=1 E2E_HOST=0.0.0.0 E2E_PORT=3101 npx playwright test e2e/comments.spec.ts
|
|
81
|
+
```
|
|
82
|
+
Expected:
|
|
83
|
+
- Playwright starts Next.js dev server.
|
|
84
|
+
- Browser flow creates a comment and validates digest/signature changes.
|
|
85
|
+
|
|
86
|
+
## Cloud sync (MCP log) — rerun commands
|
|
87
|
+
```bash
|
|
88
|
+
export DB_URL="https://<project>.db.co"
|
|
89
|
+
export DB_SERVICE_ROLE_KEY="<service-role-key>"
|
|
90
|
+
node mcp/tmp-log.mjs
|
|
91
|
+
```
|
|
92
|
+
Expected:
|
|
93
|
+
- MCP tool connects and writes a task log entry for this acceptance run.
|
|
94
|
+
|
|
95
|
+
## Evidence (this environment)
|
|
96
|
+
- `npm run test:e2e:sandbox -- e2e/comments.spec.ts` failed (Next.js web server did not start; no URL visited):
|
|
97
|
+
- Command output:
|
|
98
|
+
- `> agx-cloud@0.1.0 test:e2e:sandbox`
|
|
99
|
+
- `> SANDBOX=1 CLOUD_SYNC_DISABLED=1 E2E_HOST=127.0.0.1 E2E_PORT=3100 playwright test e2e/comments.spec.ts`
|
|
100
|
+
- `[WebServer] (node:11097) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.`
|
|
101
|
+
- `[WebServer] (Use \`node --trace-warnings ...\` to show where the warning was created)`
|
|
102
|
+
- `[WebServer] ⚠ Warning: Next.js inferred your workspace root, but it may not be correct.`
|
|
103
|
+
- `[WebServer] We detected multiple lockfiles and selected the directory of /Users/mendrika/package-lock.json as the root directory.`
|
|
104
|
+
- `[WebServer] Detected additional lockfiles:`
|
|
105
|
+
- `[WebServer] * /Users/mendrika/Projects/Agents/agx-cloud/package-lock.json`
|
|
106
|
+
- `[WebServer] (node:11098) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.`
|
|
107
|
+
- `[WebServer] (Use \`node --trace-warnings ...\` to show where the warning was created)`
|
|
108
|
+
- `[WebServer] ⨯ Failed to start server`
|
|
109
|
+
- `[WebServer] Error: listen EPERM: operation not permitted 127.0.0.1:3100`
|
|
110
|
+
- `[WebServer] at <unknown> (Error: listen EPERM: operation not permitted 127.0.0.1:3100) {`
|
|
111
|
+
- `[WebServer] code: 'EPERM'`
|
|
112
|
+
- `[WebServer] errno: -1`
|
|
113
|
+
- `[WebServer] syscall: 'listen'`
|
|
114
|
+
- `[WebServer] address: '127.0.0.1'`
|
|
115
|
+
- `[WebServer] port: 3100`
|
|
116
|
+
- `[WebServer] }`
|
|
117
|
+
- `Error: Process from config.webServer exited early.`
|
|
118
|
+
- `DB_URL=https://iicvrgtzktvsrestfqif.db.co DB_SERVICE_ROLE_KEY="<service-role-key>" node mcp/tmp-log.mjs` failed (IPC socket blocked):
|
|
119
|
+
- Command output:
|
|
120
|
+
- `Error: listen EPERM: operation not permitted /tmp/tsx-501/11143.pipe`
|
|
121
|
+
- `at Server.setupListenHandle [as _listen2] (node:net:1918:21)`
|
|
122
|
+
- `at listenInCluster (node:net:1997:12)`
|
|
123
|
+
- `at Server.listen (node:net:2119:5)`
|
|
124
|
+
- `at file:///Users/mendrika/Projects/Agents/agx-cloud/mcp/node_modules/tsx/dist/cli.mjs:53:31537`
|
|
125
|
+
- `code: 'EPERM' errno: -1 syscall: 'listen' address: '/tmp/tsx-501/11143.pipe'`
|
|
126
|
+
- `Node.js v25.5.0`
|
|
127
|
+
- `Failed to log via MCP: McpError: MCP error -32000: Connection closed`
|
|
128
|
+
- `at McpError.fromError (file:///Users/mendrika/Projects/Agents/agx-cloud/mcp/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js:2035:16)`
|
|
129
|
+
- `at Client._onclose (file:///Users/mendrika/Projects/Agents/agx-cloud/mcp/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js:259:32)`
|
|
130
|
+
- `at _transport.onclose (file:///Users/mendrika/Projects/Agents/agx-cloud/mcp/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js:223:18)`
|
|
131
|
+
- `at ChildProcess.<anonymous> (file:///Users/mendrika/Projects/Agents/agx-cloud/mcp/node_modules/@modelcontextprotocol/sdk/dist/esm/client/stdio.js:85:31)`
|
|
132
|
+
- `at ChildProcess.emit (node:events:508:20)`
|
|
133
|
+
- `at maybeClose (node:internal/child_process:1084:16)`
|
|
134
|
+
- `at ChildProcess._handle.onexit (node:internal/child_process:304:5) {`
|
|
135
|
+
- `code: -32000`
|
|
136
|
+
- `data: undefined`
|
|
137
|
+
- `}`
|
|
138
|
+
|
|
139
|
+
## Notes
|
|
140
|
+
- Comments beginning with `[execution/` or `Execution result from agx` are excluded from prompt context.
|
|
141
|
+
- Clients should treat signature/digest mismatch as fatal and re-pull task context before continuing execution.
|