@mndrk/agx 2.0.16 → 2.0.18
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/Projects/Agents/agx-cloud/.next/BUILD_ID +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/app-path-routes-manifest.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/build-manifest.json +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/prerender-manifest.json +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/routes-manifest.json +6 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents.segments/_full.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents.segments/_index.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents.segments/agents.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/chat/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/chat/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/file-search/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/health/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/learnings/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/logs/stream/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/memories/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/participants/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/processes/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/processes/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/processes/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/processes/route.js +8 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/processes/route.js.map +5 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/processes/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/processes/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/migrate-v1/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/migrate-v2/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/complete/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/costs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/dependencies/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/pause/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/start/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/stop/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/heartbeat/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/logs/stream/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/assign-orphans/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/stream/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/teams/[id]/agents/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/teams/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/teams/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/user-settings/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/_full.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/_index.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/board.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/_full.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/_index.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.segments/_full.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.segments/_index.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.html +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/_full.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/_index.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/_full.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/_index.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/projects.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/_full.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/_index.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/settings.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/_full.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/_index.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/status/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/status.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/_full.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/_index.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/welcome.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app-paths-manifest.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/7e210_Agents_agx-cloud__next-internal_server_app_api_processes_route_actions_3d9dbdd8.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_ef3cf579._.js +7 -7
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_lib_6041e016._.js +14 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_lib_6a5d1c80._.js +25 -14
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_lib_7eefb426._.js +9 -9
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_lib_8c82981b._.js +14 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__42ab2b45._.js → [root-of-the-server]__39768bc0._.js} +35 -34
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__481a7f9c._.js +4 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__5ad371f3._.js +7 -7
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__d339de9d._.js +15 -15
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ae43b_next_dist_esm_build_templates_app-route_122e31fe.js +16 -16
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/middleware-manifest.json +5 -5
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages/404.html +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages/500.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/server-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/server-reference-manifest.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/chat/route.ts +5 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/processes/route.ts +6 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/agent-process-registry.ts +126 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/cli-runner.ts +7 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/sqlite-query-adapter.ts +15 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/stream-multiplexer.ts +24 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/tsconfig.tsbuildinfo +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/worker/index.js +20 -3
- package/lib/cli/runCli.js +4 -0
- package/lib/commands/update.js +51 -0
- package/package.json +1 -1
- /package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/{cQx_idFVUUY_8HM8dQbVC → 1H85C8T4JXGTcuoMfgKmi}/_buildManifest.js +0 -0
- /package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/{cQx_idFVUUY_8HM8dQbVC → 1H85C8T4JXGTcuoMfgKmi}/_clientMiddlewareManifest.json +0 -0
- /package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/{cQx_idFVUUY_8HM8dQbVC → 1H85C8T4JXGTcuoMfgKmi}/_ssgManifest.js +0 -0
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
module.exports=[93695,(e,t,a)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,a)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,a)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,a)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},14747,(e,t,a)=>{t.exports=e.x("path",()=>require("path"))},46786,(e,t,a)=>{t.exports=e.x("os",()=>require("os"))},22734,(e,t,a)=>{t.exports=e.x("fs",()=>require("fs"))},17920,(e,t,a)=>{t.exports=e.x("better-sqlite3-e930ad348bee7320",()=>require("better-sqlite3-e930ad348bee7320"))},33405,(e,t,a)=>{t.exports=e.x("child_process",()=>require("child_process"))},14189,e=>{"use strict";var t=e.i(33405);let a=e=>"string"==typeof e&&e.trim().length>0,
|
|
2
|
-
`)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;s(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&s(t),t=""}}},s=e=>{let t="",
|
|
3
|
-
`)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;s(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&s(t),t=""}}},n=e=>{let t="",
|
|
4
|
-
`)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;s(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&s(t),t=""}}},o=e=>{let t="",a=!1,
|
|
5
|
-
`);let
|
|
1
|
+
module.exports=[93695,(e,t,a)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,a)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,a)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,a)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},14747,(e,t,a)=>{t.exports=e.x("path",()=>require("path"))},46786,(e,t,a)=>{t.exports=e.x("os",()=>require("os"))},22734,(e,t,a)=>{t.exports=e.x("fs",()=>require("fs"))},17920,(e,t,a)=>{t.exports=e.x("better-sqlite3-e930ad348bee7320",()=>require("better-sqlite3-e930ad348bee7320"))},33405,(e,t,a)=>{t.exports=e.x("child_process",()=>require("child_process"))},14189,e=>{"use strict";var t=e.i(33405);let a=e=>"string"==typeof e&&e.trim().length>0,i=e=>({push:e,flush:()=>{}}),r=e=>{let t="",i=0,r=!1,s=t=>{let s=t.trim();if(s)try{let t=JSON.parse(s);r=!0;let n=(e=>{if(!e||"object"!=typeof e)return"";if("assistant"===e.type)return(Array.isArray(e?.message?.content)?e.message.content:[]).flatMap(e=>e?.type==="text"&&a(e.text)?[e.text]:[]).join("");let t=e?.event;return"stream_event"===e.type&&t?.type==="content_block_delta"&&t?.delta?.type==="text_delta"&&a(t?.delta?.text)?t.delta.text:""})(t);if(!n||t?.type==="assistant"&&i>0)return;i+=n.length,e(n)}catch{r||e(`${t}
|
|
2
|
+
`)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;s(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&s(t),t=""}}},s=e=>{let t="",i=!1,r="",s=t=>{let s=t.trim();if(s)try{let t=JSON.parse(s);i=!0,t?.type==="message"&&t?.role==="assistant"&&a(t?.content)&&((t,a)=>{if(t){if(a){if(r&&t.startsWith(r)){let a=t.slice(r.length);a&&e(a),r=t;return}e(t),r+=t;return}if(r&&t.startsWith(r)){let a=t.slice(r.length);a&&e(a),r=t;return}r||(e(t),r=t)}})(t.content,t?.delta===!0)}catch{i||e(`${t}
|
|
3
|
+
`)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;s(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&s(t),t=""}}},n=e=>{let t="",i=!1,r=new Set,s=t=>{let s=t.trim();if(s)try{let t=JSON.parse(s);if(i=!0,t?.type==="item.completed"&&a(t?.item?.id)){if(r.has(t.item.id))return;r.add(t.item.id)}let n=t&&"object"==typeof t?"item.completed"===t.type&&t.item?.type==="agent_message"&&a(t.item?.text)?t.item.text:"item.delta"===t.type&&t.item?.type==="agent_message"&&a(t.delta?.text)?t.delta.text:"":"";n&&e(n)}catch{i||e(`${t}
|
|
4
|
+
`)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;s(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&s(t),t=""}}},o=e=>{let t="",a=!1,i=[/^Thinking\.\.\./,/^<think>/i],r=[/\.\.\.done thinking\.?\s*/,/<\/think>/i];return{push:s=>{t+=s,(()=>{for(;t.length>0;){if(a){let e=-1,i=0;for(let a of r){let r=t.match(a);r&&void 0!==r.index&&(r.index,r[0].length,(-1===e||r.index<e)&&(e=r.index,i=r[0].length))}if(-1!==e){t=t.slice(e+i),a=!1,t=t.replace(/^\s*\n*/,"");continue}return}for(let r of i){let i=t.match(r);if(i&&void 0!==i.index){let r=t.slice(0,i.index);r&&e.push(r),t=t.slice(i.index+i[0].length),a=!0;break}}if(a)continue;let s=Math.max(0,t.length-30);s>0&&(e.push(t.slice(0,s)),t=t.slice(s));return}})()},flush:()=>{!a&&t&&e.push(t),t="",e.flush()}}};async function d({command:e,args:a,timeoutMs:i,signal:r,onDelta:s,onLog:n,onSpawn:o}){await new Promise((d,l)=>{n&&n("stderr",`$ ${e} ${a.map(e=>e.length>80?e.slice(0,80)+"…":e).join(" ")}
|
|
5
|
+
`);let p=(0,t.spawn)(e,a,{stdio:["ignore","pipe","pipe"],env:{...process.env,CLAUDECODE:void 0}}),m=!1,c="",E=!1,T=e=>{m||(m=!0,clearTimeout(_),r&&r.removeEventListener("abort",u),e?l(e):d())},u=()=>{p.kill("SIGTERM"),T(Error("Chat request aborted."))};r&&r.addEventListener("abort",u,{once:!0}),o&&p.pid&&o(p.pid);let _=setTimeout(()=>{E=!0,p.kill("SIGKILL"),T(Error(`CLI request timed out after ${i}ms.`))},i);p.stdout.on("data",e=>{let t=e.toString();c+=t,s(t),n&&n("stdout",t)}),p.stderr.on("data",e=>{let t=e.toString();c+=t,n&&n("stderr",t)}),p.on("error",e=>T(e)),p.on("close",(e,t)=>{if(!m&&!E){if(0===e)return void T();T(Error(`CLI command failed (exit=${e??"unknown"} signal=${t??"none"}).${c.trim()?` ${c.trim()}`:""}`))}})})}async function l({provider:e,model:a,prompt:l,identity:p,self:m,skills:c,systemContext:E,signal:T,onDelta:u,onLog:_,onSpawn:f}){let g,N,h,L,R=(g=!1,N=!1,h="",L=/^(?:```|~~~|#{1,6}\s|>\s|[-*+]\s|\d+\.\s)/,e=>{let t=e.replace(/\u001B\[[0-9;]*[A-Za-z]/g,"").replace(/\r\n/g,"\n").replace(/\r/g,"\n").replace(/[ \t]+\n/g,"\n").replace(/\n{3,}/g,"\n\n");if(!t.trim())return t.includes("\n")&&!g?(g=!0,"\n"):"";let a=g?t.replace(/^\n+/,"\n"):t,i=a.trimStart(),r=L.test(i),s=N&&r&&!g,n=N&&!g&&!s&&!/^\s/.test(a)&&/[.!?)]/.test(h)&&/^[A-Z0-9`(]/.test(a),o=s?`
|
|
6
6
|
|
|
7
7
|
${a}`:n?`
|
|
8
|
-
${a}`:a;
|
|
8
|
+
${a}`:a;g=o.endsWith("\n"),N=N||o.trim().length>0;let d=o.replace(/\s+$/g,"");return d.length>0&&(h=d[d.length-1]??h),o}),A=e=>{let t=R(e);t&&u(t)},y=[],O=[];E&&O.push(E),p&&O.push(`<identity>
|
|
9
9
|
${p}
|
|
10
|
-
</identity>`),m&&
|
|
10
|
+
</identity>`),m&&O.push(`<self>
|
|
11
11
|
${m}
|
|
12
|
-
</self>`),c&&
|
|
12
|
+
</self>`),c&&O.push(`<skills>
|
|
13
13
|
${c}
|
|
14
|
-
</skills>`);let O
|
|
14
|
+
</skills>`);let S=O.length>0?O.join("\n\n"):void 0;if((e=>{try{return 0===(0,t.spawnSync)("bash",["-lc","command -v agx >/dev/null 2>&1"],{encoding:"utf8"}).status}catch{return!1}})(0)){let t=S?`${S}
|
|
15
15
|
|
|
16
|
-
${
|
|
16
|
+
${l}`:l;y.push(function({provider:e,model:t,prompt:a}){let i=[e,"-y","--print","--prompt",a];return t&&i.push("--model",t),{command:"agx",args:i,parser:"raw"}}({provider:e,model:a,prompt:t}))}if(0===y.length)throw Error(`No CLI runner available for provider "${e}". Install agx or provider CLI.`);let I=null;for(let e of y){let t="claude-stream-json"===e.parser?r(A):"codex-json"===e.parser?n(A):"gemini-stream-json"===e.parser?s(A):i(A),a=e.filterThoughts?o(t):t;try{await d({command:e.command,args:e.args,timeoutMs:6e5,signal:T,onDelta:a.push,onLog:_,onSpawn:f}),a.flush();return}catch(e){I=e instanceof Error?e:Error(String(e))}}throw I||Error("CLI execution failed.")}e.s(["runCliResponse",()=>l],14189)},64246,e=>{"use strict";var t=e.i(17920),a=e.i(22734),i=e.i(14747),r=e.i(46786);let s=process.env.AGX_GROUP_CHAT_DIR?.trim()||i.default.join(r.default.homedir(),".agx","group-chat"),n=i.default.join(s,"history.sqlite"),o="global",d=new Set(["ack","working","done","clarify","blocked"]),l={ack:new Set(["ack","working"]),working:new Set(["ack","working","done","clarify","blocked"]),done:new Set(["done","ack","working"]),clarify:new Set(["ack","clarify","working"]),blocked:new Set(["ack","blocked","working"])};class p extends Error{status;constructor(e,t){super(e),this.name="ReactionStoreError",this.status=t}}function m(e,t){return e.prepare(`PRAGMA table_info(${t})`).all().some(e=>"thread_id"===e.name)}let c=async e=>{await a.promises.mkdir(s,{recursive:!0});let i=new t.default(n);i.pragma("journal_mode = WAL");try{return i.exec(`
|
|
17
17
|
CREATE TABLE IF NOT EXISTS messages (
|
|
18
18
|
thread_id TEXT NOT NULL,
|
|
19
19
|
id TEXT NOT NULL,
|
|
@@ -48,7 +48,7 @@ ${d}`:d;y.push(function({provider:e,model:t,prompt:a}){let r=[e,"-y","--print","
|
|
|
48
48
|
updated_at INTEGER NOT NULL,
|
|
49
49
|
PRIMARY KEY (thread_id, message_id)
|
|
50
50
|
);
|
|
51
|
-
`),m(
|
|
51
|
+
`),m(i,"messages")||i.exec(`
|
|
52
52
|
ALTER TABLE messages RENAME TO messages_legacy;
|
|
53
53
|
CREATE TABLE messages (
|
|
54
54
|
thread_id TEXT NOT NULL,
|
|
@@ -63,7 +63,7 @@ ${d}`:d;y.push(function({provider:e,model:t,prompt:a}){let r=[e,"-y","--print","
|
|
|
63
63
|
SELECT '${o}', id, role, participant_id, content, timestamp
|
|
64
64
|
FROM messages_legacy;
|
|
65
65
|
DROP TABLE messages_legacy;
|
|
66
|
-
`),m(
|
|
66
|
+
`),m(i,"message_reactions")||i.exec(`
|
|
67
67
|
ALTER TABLE message_reactions RENAME TO message_reactions_legacy;
|
|
68
68
|
CREATE TABLE message_reactions (
|
|
69
69
|
thread_id TEXT NOT NULL,
|
|
@@ -79,7 +79,7 @@ ${d}`:d;y.push(function({provider:e,model:t,prompt:a}){let r=[e,"-y","--print","
|
|
|
79
79
|
SELECT '${o}', message_id, participant_id, type, reason, blocker_code, updated_at
|
|
80
80
|
FROM message_reactions_legacy;
|
|
81
81
|
DROP TABLE message_reactions_legacy;
|
|
82
|
-
`),m(
|
|
82
|
+
`),m(i,"logs")||i.exec(`
|
|
83
83
|
ALTER TABLE logs RENAME TO logs_legacy;
|
|
84
84
|
CREATE TABLE logs (
|
|
85
85
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
@@ -93,12 +93,12 @@ ${d}`:d;y.push(function({provider:e,model:t,prompt:a}){let r=[e,"-y","--print","
|
|
|
93
93
|
SELECT '${o}', participant_id, stream, line, timestamp
|
|
94
94
|
FROM logs_legacy;
|
|
95
95
|
DROP TABLE logs_legacy;
|
|
96
|
-
`),new Set(
|
|
96
|
+
`),new Set(i.prepare("PRAGMA table_info(messages)").all().map(e=>e.name)).has("root_message_id")||i.exec(`
|
|
97
97
|
ALTER TABLE messages ADD COLUMN root_message_id TEXT;
|
|
98
98
|
ALTER TABLE messages ADD COLUMN parent_message_id TEXT;
|
|
99
99
|
ALTER TABLE messages ADD COLUMN depth INTEGER NOT NULL DEFAULT 0;
|
|
100
100
|
CREATE INDEX IF NOT EXISTS idx_messages_root ON messages(thread_id, root_message_id);
|
|
101
|
-
`),new Set(
|
|
101
|
+
`),new Set(i.prepare("PRAGMA table_info(messages)").all().map(e=>e.name)).has("thread_status")||i.exec(`
|
|
102
102
|
ALTER TABLE messages ADD COLUMN thread_status TEXT;
|
|
103
103
|
ALTER TABLE messages ADD COLUMN outcome_note TEXT;
|
|
104
104
|
`),!function(e){let t=!!e.prepare("SELECT 1 FROM sqlite_master WHERE type = ? AND name = ? LIMIT 1").get("table","messages_fts");if(e.exec(`
|
|
@@ -119,21 +119,21 @@ ${d}`:d;y.push(function({provider:e,model:t,prompt:a}){let r=[e,"-y","--print","
|
|
|
119
119
|
INSERT INTO messages_fts(messages_fts, rowid, content) VALUES('delete', old.rowid, old.content);
|
|
120
120
|
INSERT INTO messages_fts(rowid, content) VALUES (new.rowid, new.content);
|
|
121
121
|
END;
|
|
122
|
-
`),0===e.prepare("SELECT COUNT(*) as count FROM messages").get().count)return;let a=e.prepare("SELECT COUNT(*) as count FROM messages_fts").get().count;t&&0!==a||e.exec("INSERT INTO messages_fts(rowid, content) SELECT rowid, content FROM messages;")}(
|
|
122
|
+
`),0===e.prepare("SELECT COUNT(*) as count FROM messages").get().count)return;let a=e.prepare("SELECT COUNT(*) as count FROM messages_fts").get().count;t&&0!==a||e.exec("INSERT INTO messages_fts(rowid, content) SELECT rowid, content FROM messages;")}(i),i.exec(`
|
|
123
123
|
CREATE INDEX IF NOT EXISTS idx_messages_thread_ts ON messages(thread_id, timestamp ASC);
|
|
124
124
|
CREATE INDEX IF NOT EXISTS idx_reactions_thread_message ON message_reactions(thread_id, message_id, updated_at ASC);
|
|
125
125
|
CREATE INDEX IF NOT EXISTS idx_logs_thread_ts ON logs(thread_id, timestamp ASC);
|
|
126
|
-
`),e(
|
|
126
|
+
`),e(i)}finally{i.close()}};function E(e){let t=new Map;for(let a of e){let e=t.get(a.message_id);e||(e=new Map,t.set(a.message_id,e));let i=e.get(a.type);i||(i={type:a.type,count:0,participantIds:[]},e.set(a.type,i)),i.count+=1,i.participantIds.push(a.participant_id)}let a=new Map;for(let[e,i]of t.entries()){let t=Array.from(i.values()).sort((e,t)=>t.count!==e.count?t.count-e.count:e.type.localeCompare(t.type));a.set(e,t)}return a}function T(e,t,a){if(a&&0===a.length)return new Map;if(a){let i=a.map(()=>"?").join(", ");return E(e.prepare(`SELECT message_id, participant_id, type
|
|
127
127
|
FROM message_reactions
|
|
128
|
-
WHERE thread_id = ? AND message_id IN (${
|
|
128
|
+
WHERE thread_id = ? AND message_id IN (${i})
|
|
129
129
|
ORDER BY updated_at ASC`).all(t,...a))}return E(e.prepare(`SELECT message_id, participant_id, type
|
|
130
130
|
FROM message_reactions
|
|
131
131
|
WHERE thread_id = ?
|
|
132
132
|
ORDER BY updated_at ASC`).all(t))}function u(e){if("string"!=typeof e)return null;let t=e.trim();return t.length>0?t:null}async function _(e){let t=e.trim()||o;return c(e=>{let a=e.prepare(`SELECT id, role, participant_id, content, timestamp, root_message_id, parent_message_id, depth, thread_status, outcome_note
|
|
133
133
|
FROM messages
|
|
134
134
|
WHERE thread_id = ?
|
|
135
|
-
ORDER BY timestamp ASC`).all(t),
|
|
136
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`);e.transaction(e=>{for(let t of e)
|
|
135
|
+
ORDER BY timestamp ASC`).all(t),i=T(e,t);return a.map(e=>({id:e.id,role:e.role,participantId:e.participant_id,content:e.content,timestamp:e.timestamp,reactions:i.get(e.id),rootMessageId:e.root_message_id,parentMessageId:e.parent_message_id,depth:e.depth,...e.thread_status?{threadStatus:e.thread_status}:{},...e.outcome_note?{outcomeNote:e.outcome_note}:{}}))})}async function f(e,t){if(0===t.length)return;let a=e.trim()||o;await c(e=>{let i=e.prepare(`INSERT OR REPLACE INTO messages (thread_id, id, role, participant_id, content, timestamp, root_message_id, parent_message_id, depth, thread_status, outcome_note)
|
|
136
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`);e.transaction(e=>{for(let t of e)i.run(a,t.id,t.role,t.participantId,t.content,t.timestamp,t.rootMessageId??null,t.parentMessageId??null,t.depth??0,t.threadStatus??null,t.outcomeNote??null)})(t)})}async function g(e,t,a,i){let r=e.trim()||o;await c(e=>{e.prepare("UPDATE messages SET thread_status = ?, outcome_note = ? WHERE thread_id = ? AND id = ?").run(a,i,r,t)})}async function N(e){let t=e.trim()||o;await c(e=>{e.transaction(t=>{e.prepare("DELETE FROM message_reactions WHERE thread_id = ?").run(t),e.prepare("DELETE FROM messages WHERE thread_id = ?").run(t)})(t)})}async function h(e,t){let a=e.trim()||o,i=t.trim();i&&await c(e=>{e.transaction((t,a)=>{e.prepare(`DELETE FROM message_reactions
|
|
137
137
|
WHERE thread_id = ?
|
|
138
138
|
AND message_id IN (
|
|
139
139
|
SELECT id
|
|
@@ -142,37 +142,37 @@ ${d}`:d;y.push(function({provider:e,model:t,prompt:a}){let r=[e,"-y","--print","
|
|
|
142
142
|
AND (id = ? OR root_message_id = ?)
|
|
143
143
|
)`).run(t,t,a,a),e.prepare(`DELETE FROM messages
|
|
144
144
|
WHERE thread_id = ?
|
|
145
|
-
AND (id = ? OR root_message_id = ?)`).run(t,a,a)})(a,
|
|
145
|
+
AND (id = ? OR root_message_id = ?)`).run(t,a,a)})(a,i)})}async function L(e){let t=e.query.trim();if(!t)return{results:[],total:0};let a="string"==typeof e.threadId&&e.threadId.trim()||null,i=Number.isFinite(e.limit)?Number(e.limit):20,r=Number.isFinite(e.offset)?Number(e.offset):0,s=Math.min(Math.max(Math.trunc(i),1),100),n=Math.max(Math.trunc(r),0);return c(e=>{let i=["messages_fts MATCH ?"],r=[t];a&&(i.push("m.thread_id = ?"),r.push(a));let o=i.join(" AND "),d=e.prepare(`SELECT m.thread_id, m.id, m.role, m.participant_id, m.timestamp, m.root_message_id,
|
|
146
146
|
snippet(messages_fts, 0, '<mark>', '</mark>', '...', 32) AS snippet,
|
|
147
147
|
bm25(messages_fts) as rank
|
|
148
148
|
FROM messages_fts
|
|
149
149
|
JOIN messages m ON messages_fts.rowid = m.rowid
|
|
150
150
|
WHERE ${o}
|
|
151
151
|
ORDER BY rank ASC, m.timestamp DESC
|
|
152
|
-
LIMIT ? OFFSET ?`).all(...
|
|
152
|
+
LIMIT ? OFFSET ?`).all(...r,s,n),l=e.prepare(`SELECT COUNT(*) as total
|
|
153
153
|
FROM messages_fts
|
|
154
154
|
JOIN messages m ON messages_fts.rowid = m.rowid
|
|
155
|
-
WHERE ${o}`).get(...
|
|
155
|
+
WHERE ${o}`).get(...r);return{results:d.map(e=>({threadId:e.thread_id,messageId:e.id,role:e.role,participantId:e.participant_id,snippet:e.snippet,timestamp:e.timestamp,rootMessageId:e.root_message_id})),total:l?.total??0}})}async function R(e){let t=e.threadId?.trim()||o,a=e.messageId?.trim(),i=e.participantId?.trim(),r=e.type;if(!a)throw new p("messageId is required",400);if(!i)throw new p("participantId is required",400);if(!d.has(r))throw new p(`Invalid reaction type: ${String(r)}`,400);let s=u(e.reason),n=u(e.blockerCode),m="clarify"===r||"blocked"===r;if(m&&!s)throw new p(`"${r}" reactions require a reason`,400);let E=m?s:null,_="blocked"===r?n:null;return c(e=>{var s;if(!e.prepare("SELECT 1 FROM messages WHERE thread_id = ? AND id = ? LIMIT 1").get(t,a))throw new p(`Message not found: ${a}`,404);let n=e.prepare(`SELECT type, reason, blocker_code
|
|
156
156
|
FROM message_reactions
|
|
157
|
-
WHERE thread_id = ? AND message_id = ? AND participant_id = ?`).get(t,a,
|
|
157
|
+
WHERE thread_id = ? AND message_id = ? AND participant_id = ?`).get(t,a,i);if(s=n?.type??null,!(!s||l[s].has(r)))throw new p(`Cannot transition reaction from "${n.type}" to "${r}"`,409);if(n&&n.type===r&&u(n.reason)===E&&u(n.blocker_code)===_)return{updated:!1,reactions:T(e,t,[a]).get(a)??[]};let o=Date.now();return e.prepare(`INSERT INTO message_reactions (thread_id, message_id, participant_id, type, reason, blocker_code, updated_at)
|
|
158
158
|
VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
159
159
|
ON CONFLICT(thread_id, message_id, participant_id)
|
|
160
160
|
DO UPDATE SET
|
|
161
161
|
type = excluded.type,
|
|
162
162
|
reason = excluded.reason,
|
|
163
163
|
blocker_code = excluded.blocker_code,
|
|
164
|
-
updated_at = excluded.updated_at`).run(t,a,r,
|
|
164
|
+
updated_at = excluded.updated_at`).run(t,a,i,r,E,_,o),{updated:!0,reactions:T(e,t,[a]).get(a)??[]}})}async function A(e,t){if(0===t.length)return;let a=e.trim()||o;return c(e=>{let i=e.prepare("INSERT INTO logs (thread_id, participant_id, stream, line, timestamp) VALUES (?, ?, ?, ?, ?)");e.transaction(()=>{for(let e of t)i.run(a,e.participantId,e.stream,e.line,e.timestamp)})()})}async function y(e){let t=e.trim()||o;return c(e=>e.prepare(`SELECT id, participant_id, stream, line, timestamp
|
|
165
165
|
FROM logs
|
|
166
166
|
WHERE thread_id = ?
|
|
167
|
-
ORDER BY timestamp ASC, id ASC`).all(t))}async function O(e){let t=e.trim()||o;return c(e=>{e.prepare("DELETE FROM logs WHERE thread_id = ?").run(t)})}async function S(e,t=3e5){let a=e.trim()||o,
|
|
167
|
+
ORDER BY timestamp ASC, id ASC`).all(t))}async function O(e){let t=e.trim()||o;return c(e=>{e.prepare("DELETE FROM logs WHERE thread_id = ?").run(t)})}async function S(e,t=3e5){let a=e.trim()||o,i=Number.isFinite(t)?Math.max(t,1):3e5,r=Date.now(),s=r-i;return c(e=>({updated:e.prepare(`UPDATE message_reactions
|
|
168
168
|
SET type = 'blocked',
|
|
169
169
|
reason = 'stale_timeout',
|
|
170
170
|
blocker_code = 'stale_timeout',
|
|
171
171
|
updated_at = ?
|
|
172
|
-
WHERE thread_id = ? AND type = 'working' AND updated_at <= ?`).run(
|
|
172
|
+
WHERE thread_id = ? AND type = 'working' AND updated_at <= ?`).run(r,a,s).changes}))}async function I(e,t,a){let i=e.trim()||o;return c(e=>{e.prepare(`INSERT INTO task_drafts (thread_id, message_id, data, updated_at)
|
|
173
173
|
VALUES (?, ?, ?, ?)
|
|
174
174
|
ON CONFLICT(thread_id, message_id)
|
|
175
|
-
DO UPDATE SET data = excluded.data, updated_at = excluded.updated_at`).run(
|
|
175
|
+
DO UPDATE SET data = excluded.data, updated_at = excluded.updated_at`).run(i,t,JSON.stringify(a),Date.now())})}async function x(e){let t=e.trim()||o;return c(e=>{let a=e.prepare("SELECT message_id, data FROM task_drafts WHERE thread_id = ?").all(t),i={};for(let e of a)i[e.message_id]=JSON.parse(e.data);return i})}e.s(["ReactionStoreError",()=>p,"clearHistory",()=>N,"clearLogs",()=>O,"clearRootThread",()=>h,"loadHistory",()=>_,"loadLogs",()=>y,"loadTaskDrafts",()=>x,"saveLogs",()=>A,"saveMessages",()=>f,"saveTaskDraft",()=>I,"searchMessages",()=>L,"setReaction",()=>R,"sweepStaleWorkingReactions",()=>S,"updateMessageStatus",()=>g])},24868,(e,t,a)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},13466,e=>{"use strict";var t=e.i(17920),a=e.i(22734),i=e.i(14747),r=e.i(46786);let s=process.env.AGX_GROUP_CHAT_DIR?.trim()||i.default.join(r.default.homedir(),".agx","group-chat"),n=i.default.join(s,"history.sqlite"),o=process.env.AGX_AGENTS_DIR?.trim()||i.default.join(r.default.homedir(),".agx","agents");function d(){(0,a.mkdirSync)(s,{recursive:!0});let e=new t.default(n);e.pragma("journal_mode = WAL"),e.exec(`
|
|
176
176
|
CREATE TABLE IF NOT EXISTS participants (
|
|
177
177
|
id TEXT PRIMARY KEY,
|
|
178
178
|
name TEXT NOT NULL,
|
|
@@ -184,8 +184,8 @@ ${d}`:d;y.push(function({provider:e,model:t,prompt:a}){let r=[e,"-y","--print","
|
|
|
184
184
|
color TEXT NOT NULL,
|
|
185
185
|
sort_order INTEGER NOT NULL DEFAULT 0
|
|
186
186
|
);
|
|
187
|
-
`);let
|
|
188
|
-
`,"utf8")}catch{}}(t.from,t.to,t.name)}(e),e}function
|
|
187
|
+
`);let r=e.prepare("PRAGMA table_info(participants)").all();return r.some(e=>"persona"===e.name)&&(e.exec("ALTER TABLE participants RENAME COLUMN persona TO identity"),e.exec("ALTER TABLE participants RENAME COLUMN persona_file TO identity_file")),r.some(e=>"identity_file"===e.name)||r.some(e=>"persona_file"===e.name)||e.exec("ALTER TABLE participants ADD COLUMN identity_file TEXT"),r.some(e=>"skills_json"===e.name)||e.exec("ALTER TABLE participants ADD COLUMN skills_json TEXT"),r.some(e=>"variables_json"===e.name)||e.exec("ALTER TABLE participants ADD COLUMN variables_json TEXT"),r.some(e=>"sort_order"===e.name)||(e.exec("ALTER TABLE participants ADD COLUMN sort_order INTEGER NOT NULL DEFAULT 0"),e.exec("UPDATE participants SET sort_order = rowid")),!function(e){let t=e.prepare("SELECT id, name, provider FROM participants").all();if(0===t.length)return;let r=new Set(t.map(e=>e.id)),s=new Map(t.map(e=>[e.id,e.id])),n=[];for(let e of t){let t=(e.name||"").trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/--+/g,"-");if(!t||e.id===t||e.id!==e.provider)continue;r.delete(e.id);let a=function(e,t){if(!t.has(e))return e;let a=2,i=`${e}-${a}`;for(;t.has(i);)a+=1,i=`${e}-${a}`;return i}(t,r);r.add(a),s.set(e.id,a),n.push({from:e.id,to:a,name:e.name})}let d=t.map(e=>({id:s.get(e.id)||e.id,provider:e.provider})),l=new Set(d.map(e=>e.id)),p=new Map;for(let e of d){let t=e.provider.trim();if(!t)continue;let a=p.get(t)||new Set;a.add(e.id),p.set(t,a)}let m=[];for(let[e,t]of p){if(1!==t.size)continue;let[a]=Array.from(t);a&&e!==a&&(l.has(e)||m.push({from:e,to:a}))}if(0===n.length&&0===m.length)return;let c=new Map;for(let e of n)c.set(e.from,e.to);for(let e of m)c.set(e.from,e.to);let E=Array.from(c.entries()).map(([e,t])=>({from:e,to:t})),T=new Set(e.prepare("SELECT name FROM sqlite_master WHERE type = 'table'").all().map(e=>e.name));for(let t of(e.transaction((t,a)=>{let i=e.prepare("UPDATE participants SET id = ? WHERE id = ?"),r=T.has("messages")?e.prepare("UPDATE messages SET participant_id = ? WHERE participant_id = ?"):null,s=T.has("logs")?e.prepare("UPDATE logs SET participant_id = ? WHERE participant_id = ?"):null,n=T.has("message_reactions")?e.prepare("UPDATE message_reactions SET participant_id = ? WHERE participant_id = ?"):null;for(let e of t)i.run(e.to,e.from);for(let e of a)r?.run(e.to,e.from),s?.run(e.to,e.from),n?.run(e.to,e.from)})(n.map(e=>({from:e.from,to:e.to})),E),n))!function(e,t,r){if(!e||!t||e===t)return;let s=i.default.join(o,e),n=i.default.join(o,t);if(!(0,a.existsSync)(s)||(0,a.existsSync)(n))return;(0,a.mkdirSync)(o,{recursive:!0}),(0,a.renameSync)(s,n);let d=i.default.join(n,"identity.json");if((0,a.existsSync)(d))try{let e={...JSON.parse((0,a.readFileSync)(d,"utf8")),name:"string"==typeof r&&r.trim()?r.trim():t};(0,a.writeFileSync)(d,`${JSON.stringify(e,null,2)}
|
|
188
|
+
`,"utf8")}catch{}}(t.from,t.to,t.name)}(e),e}function l(){let e=d();try{return e.prepare("SELECT id, name, provider, model, identity, identity_file, skills_json, variables_json, color, sort_order FROM participants ORDER BY sort_order ASC, rowid ASC").all().map(e=>({id:e.id,name:e.name,provider:e.provider,model:e.model,color:e.color,...e.identity?{identity:e.identity}:{},...e.identity_file?{identityFile:e.identity_file}:{},...e.variables_json?(()=>{try{let t=JSON.parse(e.variables_json);if(t&&"object"==typeof t&&!Array.isArray(t))return{variables:t};return{}}catch{return{}}})():{},...e.skills_json?{skills:(()=>{try{let t=JSON.parse(e.skills_json);if(!Array.isArray(t))return[];return t.map(e=>"string"==typeof e?{file:e,condition:""}:e)}catch{return[]}})()}:{}}))}finally{e.close()}}function p(e){let t=d();try{t.prepare("INSERT OR REPLACE INTO participants (id, name, provider, model, identity, identity_file, skills_json, variables_json, color) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)").run(e.id,e.name,e.provider,e.model,e.identity??null,e.identityFile??null,e.skills&&e.skills.length>0?JSON.stringify(e.skills):null,e.variables&&Object.keys(e.variables).length>0?JSON.stringify(e.variables):null,e.color)}finally{t.close()}}function m(e){let t=d();try{t.prepare("UPDATE participants SET name = ?, provider = ?, model = ?, identity = ?, identity_file = ?, skills_json = ?, variables_json = ?, color = ? WHERE id = ?").run(e.name,e.provider,e.model,e.identity??null,e.identityFile??null,e.skills&&e.skills.length>0?JSON.stringify(e.skills):null,e.variables&&Object.keys(e.variables).length>0?JSON.stringify(e.variables):null,e.color,e.id)}finally{t.close()}}function c(e){let t=d();try{let a=t.prepare("UPDATE participants SET sort_order = ? WHERE id = ?");t.transaction(e=>{for(let t=0;t<e.length;t++)a.run(t,e[t])})(e)}finally{t.close()}}function E(e){let t=d();try{t.prepare("DELETE FROM participants WHERE id = ?").run(e)}finally{t.close()}}e.s(["addParticipant",()=>p,"loadParticipants",()=>l,"removeParticipant",()=>E,"reorderParticipants",()=>c,"updateParticipant",()=>m])},3994,e=>{"use strict";var t=e.i(17920),a=e.i(22734),i=e.i(14747),r=e.i(46786);let s=process.env.AGX_GROUP_CHAT_DIR?.trim()||i.default.join(r.default.homedir(),".agx","group-chat"),n=i.default.join(s,"history.sqlite"),o=i.default.join(s,"uploads");function d(){let e=new t.default(n);return e.pragma("journal_mode = WAL"),e}function l(e){if(e.exec(`
|
|
189
189
|
CREATE TABLE IF NOT EXISTS attachments (
|
|
190
190
|
id TEXT PRIMARY KEY,
|
|
191
191
|
message_id TEXT,
|
|
@@ -197,9 +197,10 @@ ${d}`:d;y.push(function({provider:e,model:t,prompt:a}){let r=[e,"-y","--print","
|
|
|
197
197
|
created_at INTEGER NOT NULL
|
|
198
198
|
);
|
|
199
199
|
CREATE INDEX IF NOT EXISTS idx_attachments_message ON attachments(message_id);
|
|
200
|
-
`),!e.prepare("PRAGMA table_info(attachments)").all().some(e=>"disk_name"===e.name)){e.exec("ALTER TABLE attachments ADD COLUMN disk_name TEXT NOT NULL DEFAULT ''");let t=e.prepare("SELECT id, filename FROM attachments WHERE disk_name = ''").all(),a=e.prepare("UPDATE attachments SET disk_name = ? WHERE id = ?");for(let e of t){let t=e.filename.includes(".")?"."+e.filename.split(".").pop().toLowerCase():"";a.run(e.id+t,e.id)}}}async function p(e){await a.promises.mkdir(o,{recursive:!0});let t=e.filename.includes(".")?"."+e.filename.split(".").pop().toLowerCase():"",
|
|
201
|
-
VALUES (?, ?, ?, ?, ?, 'uploaded', ?)`).run(e.id,
|
|
200
|
+
`),!e.prepare("PRAGMA table_info(attachments)").all().some(e=>"disk_name"===e.name)){e.exec("ALTER TABLE attachments ADD COLUMN disk_name TEXT NOT NULL DEFAULT ''");let t=e.prepare("SELECT id, filename FROM attachments WHERE disk_name = ''").all(),a=e.prepare("UPDATE attachments SET disk_name = ? WHERE id = ?");for(let e of t){let t=e.filename.includes(".")?"."+e.filename.split(".").pop().toLowerCase():"";a.run(e.id+t,e.id)}}}async function p(e){await a.promises.mkdir(o,{recursive:!0});let t=e.filename.includes(".")?"."+e.filename.split(".").pop().toLowerCase():"",r=e.id+t,s=i.default.join(o,r);await a.promises.writeFile(s,e.data);let n=d();try{l(n),n.prepare(`INSERT INTO attachments (id, disk_name, filename, mime_type, size, status, created_at)
|
|
201
|
+
VALUES (?, ?, ?, ?, ?, 'uploaded', ?)`).run(e.id,r,e.filename,e.mimeType,e.size,Date.now())}finally{n.close()}return{id:e.id,filename:e.filename,mimeType:e.mimeType,size:e.size,status:"uploaded",url:`/api/attachments/${e.id}`}}async function m(e,t){if(0===t.length)return[];let a=d();try{l(a);let r=t.map(()=>"?").join(", ");return a.prepare(`UPDATE attachments SET message_id = ? WHERE id IN (${r})`).run(e,...t),a.prepare(`SELECT id, disk_name, filename, mime_type, size, status FROM attachments WHERE id IN (${r})`).all(...t).map(e=>({id:e.id,filename:e.filename,mimeType:e.mime_type,size:e.size,status:e.status,url:`/api/attachments/${e.id}`,diskPath:i.default.join(o,e.disk_name||e.id)}))}finally{a.close()}}async function c(e){let t=i.default.join(o,e);try{await a.promises.unlink(t)}catch{}let r=d();try{return l(r),r.prepare("DELETE FROM attachments WHERE id = ?").run(e).changes>0}finally{r.close()}}async function E(e){let t=d();try{l(t);let a=t.prepare("SELECT filename, disk_name, mime_type, size FROM attachments WHERE id = ?").get(e);if(!a)return null;let r=a.disk_name||e;return{filename:a.filename,mimeType:a.mime_type,size:a.size,diskPath:i.default.join(o,r)}}finally{t.close()}}async function T(e){if(0===e.length)return new Map;let t=d();try{l(t);let a=e.map(()=>"?").join(", "),i=t.prepare(`SELECT id, message_id, filename, mime_type, size, status
|
|
202
202
|
FROM attachments
|
|
203
|
-
WHERE message_id IN (${a})`).all(...e),
|
|
203
|
+
WHERE message_id IN (${a})`).all(...e),r=new Map;for(let e of i){let t={id:e.id,filename:e.filename,mimeType:e.mime_type,size:e.size,status:e.status,url:`/api/attachments/${e.id}`},a=r.get(e.message_id)||[];a.push(t),r.set(e.message_id,a)}return r}finally{t.close()}}async function u(){let e=Date.now()-864e5,t=d();try{l(t);let r=t.prepare("SELECT id, disk_name FROM attachments WHERE message_id IS NULL AND created_at < ?").all(e);for(let{id:e,disk_name:t}of r){let r=i.default.join(o,t||e);try{await a.promises.unlink(r)}catch{}}if(r.length>0){let e=r.map(()=>"?").join(", ");t.prepare(`DELETE FROM attachments WHERE id IN (${e})`).run(...r.map(e=>e.id))}return r.length}finally{t.close()}}e.s(["createAttachment",()=>p,"deleteAttachment",()=>c,"finalizeAttachments",()=>m,"gcOrphanedAttachments",()=>u,"getAttachmentMeta",()=>E,"getAttachmentsForMessages",()=>T])},68650,e=>{"use strict";var t=e.i(74949);function a(e){return{threadId:e.thread_id,agentId:e.agent_id,pid:e.pid,state:e.state,sinceMessageId:e.since_message_id,startedAt:e.started_at,lastActivity:e.last_activity}}function i(e){(0,t.getSQLiteDb)().prepare(`INSERT OR REPLACE INTO agent_processes (thread_id, agent_id, pid, state, since_message_id, started_at, last_activity)
|
|
204
|
+
VALUES (?, ?, ?, ?, ?, ?, ?)`).run(e.threadId,e.agentId,e.pid,e.state,e.sinceMessageId,e.startedAt,e.lastActivity)}function r(e,a,i){let r=[],s=[];void 0!==i.state&&(r.push("state = ?"),s.push(i.state)),void 0!==i.lastActivity&&(r.push("last_activity = ?"),s.push(i.lastActivity)),void 0!==i.pid&&(r.push("pid = ?"),s.push(i.pid)),0===r.length||(0,t.getSQLiteDb)().prepare(`UPDATE agent_processes SET ${r.join(", ")} WHERE thread_id = ? AND agent_id = ?`).run(...s,e,a)}function s(e,a){(0,t.getSQLiteDb)().prepare("DELETE FROM agent_processes WHERE thread_id = ? AND agent_id = ?").run(e,a)}function n(){return(0,t.getSQLiteDb)().prepare("SELECT * FROM agent_processes").all().map(a)}e.s(["getAll",()=>n,"register",()=>i,"remove",()=>s,"update",()=>r])}];
|
|
204
205
|
|
|
205
|
-
//# sourceMappingURL=%5Broot-of-the-server%
|
|
206
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__39768bc0._.js.map
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},17920,(e,t,r)=>{t.exports=e.x("better-sqlite3-e930ad348bee7320",()=>require("better-sqlite3-e930ad348bee7320"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},68650,e=>{"use strict";var t=e.i(74949);function r(e){return{threadId:e.thread_id,agentId:e.agent_id,pid:e.pid,state:e.state,sinceMessageId:e.since_message_id,startedAt:e.started_at,lastActivity:e.last_activity}}function a(e){(0,t.getSQLiteDb)().prepare(`INSERT OR REPLACE INTO agent_processes (thread_id, agent_id, pid, state, since_message_id, started_at, last_activity)
|
|
2
|
+
VALUES (?, ?, ?, ?, ?, ?, ?)`).run(e.threadId,e.agentId,e.pid,e.state,e.sinceMessageId,e.startedAt,e.lastActivity)}function s(e,r,a){let s=[],n=[];void 0!==a.state&&(s.push("state = ?"),n.push(a.state)),void 0!==a.lastActivity&&(s.push("last_activity = ?"),n.push(a.lastActivity)),void 0!==a.pid&&(s.push("pid = ?"),n.push(a.pid)),0===s.length||(0,t.getSQLiteDb)().prepare(`UPDATE agent_processes SET ${s.join(", ")} WHERE thread_id = ? AND agent_id = ?`).run(...n,e,r)}function n(e,r){(0,t.getSQLiteDb)().prepare("DELETE FROM agent_processes WHERE thread_id = ? AND agent_id = ?").run(e,r)}function i(){return(0,t.getSQLiteDb)().prepare("SELECT * FROM agent_processes").all().map(r)}e.s(["getAll",()=>i,"register",()=>a,"remove",()=>n,"update",()=>s])},75068,e=>{"use strict";var t=e.i(11794),r=e.i(41852),a=e.i(19309),s=e.i(90850),n=e.i(24918),i=e.i(84604),o=e.i(37756),l=e.i(90661),d=e.i(90315),p=e.i(9168),u=e.i(12965),c=e.i(43715),h=e.i(79218),x=e.i(66263),g=e.i(15255),v=e.i(93695);e.i(65858);var R=e.i(95175),E=e.i(12244),f=e.i(68650);async function A(){return E.NextResponse.json((0,f.getAll)())}e.s(["GET",()=>A],17074);var _=e.i(17074);let m=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/processes/route",pathname:"/api/processes",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/Projects/Agents/agx-cloud/app/api/processes/route.ts",nextConfigOutput:"standalone",userland:_}),{workAsyncStorage:w,workUnitAsyncStorage:y,serverHooks:C}=m;function b(){return(0,a.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:y})}async function T(e,t,a){m.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let E="/api/processes/route";E=E.replace(/\/index$/,"")||"/";let f=await m.prepare(e,t,{srcPage:E,multiZoneDraftMode:!1});if(!f)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:A,params:_,nextConfig:w,parsedUrl:y,isDraftMode:C,prerenderManifest:b,routerServerContext:T,isOnDemandRevalidate:N,revalidateOnlyGenerated:S,resolvedPathname:q,clientReferenceManifest:P,serverActionsManifest:O}=f,I=(0,o.normalizeAppPath)(E),k=!!(b.dynamicRoutes[I]||b.routes[q]),D=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,y,!1):t.end("This page could not be found"),null);if(k&&!C){let e=!!b.routes[q],t=b.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(w.experimental.adapterPath)return await D();throw new v.NoFallbackError}}let j=null;!k||m.isDev||C||(j="/index"===(j=q)?"/":j);let H=!0===m.isDev||!k,U=k&&!H;O&&P&&(0,i.setManifestsSingleton)({page:E,clientReferenceManifest:P,serverActionsManifest:O});let M=e.method||"GET",L=(0,n.getTracer)(),F=L.getActiveScopeSpan(),$={params:_,prerenderManifest:b,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:H,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:w.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>m.onRequestError(e,t,a,s,T)},sharedContext:{buildId:A}},K=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),G=d.NextRequestAdapter.fromNodeNextRequest(K,(0,d.signalFromNodeResponse)(t));try{let i=async e=>m.handle(G,$).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=L.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${M} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${M} ${E}`)}),o=!!(0,s.getRequestMeta)(e,"minimalMode"),l=async s=>{var n,l;let d=async({previousCacheEntry:r})=>{try{if(!o&&N&&S&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(s);e.fetchMetrics=$.renderOpts.fetchMetrics;let l=$.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let d=$.renderOpts.collectedTags;if(!k)return await (0,c.sendResponse)(K,B,n,$.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);d&&(t[g.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,a=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:R.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await m.onRequestError(e,t,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:N})},!1,T),t}},p=await m.handleResponse({req:e,nextConfig:w,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:S,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:o});if(!k)return null;if((null==p||null==(n=p.value)?void 0:n.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==p||null==(l=p.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",N?"REVALIDATED":p.isMiss?"MISS":p.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let v=(0,h.fromNodeOutgoingHttpHeaders)(p.value.headers);return o&&k||v.delete(g.NEXT_CACHE_TAGS_HEADER),!p.cacheControl||t.getHeader("Cache-Control")||v.get("Cache-Control")||v.set("Cache-Control",(0,x.getCacheControlHeader)(p.cacheControl)),await (0,c.sendResponse)(K,B,new Response(p.value.body,{headers:v,status:p.value.status||200})),null};F?await l(F):await L.withPropagatedContext(e.headers,()=>L.trace(p.BaseServerSpan.handleRequest,{spanName:`${M} ${E}`,kind:n.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l))}catch(t){if(t instanceof v.NoFallbackError||await m.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:N})},!1,T),k)throw t;return await (0,c.sendResponse)(K,B,new Response(null,{status:500})),null}}e.s(["handler",()=>T,"patchFetch",()=>b,"routeModule",()=>m,"serverHooks",()=>C,"workAsyncStorage",()=>w,"workUnitAsyncStorage",()=>y],75068)}];
|
|
3
|
+
|
|
4
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__481a7f9c._.js.map
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},17920,(e,t,r)=>{t.exports=e.x("better-sqlite3-e930ad348bee7320",()=>require("better-sqlite3-e930ad348bee7320"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},14189,e=>{"use strict";var t=e.i(33405);let r=e=>"string"==typeof e&&e.trim().length>0,a=e=>({push:e,flush:()=>{}}),s=e=>{let t="",a=0,s=!1,i=t=>{let i=t.trim();if(i)try{let t=JSON.parse(i);s=!0;let n=(e=>{if(!e||"object"!=typeof e)return"";if("assistant"===e.type)return(Array.isArray(e?.message?.content)?e.message.content:[]).flatMap(e=>e?.type==="text"&&r(e.text)?[e.text]:[]).join("");let t=e?.event;return"stream_event"===e.type&&t?.type==="content_block_delta"&&t?.delta?.type==="text_delta"&&r(t?.delta?.text)?t.delta.text:""})(t);if(!n||t?.type==="assistant"&&a>0)return;a+=n.length,e(n)}catch{s||e(`${t}
|
|
2
2
|
`)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;i(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&i(t),t=""}}},i=e=>{let t="",a=!1,s="",i=t=>{let i=t.trim();if(i)try{let t=JSON.parse(i);a=!0,t?.type==="message"&&t?.role==="assistant"&&r(t?.content)&&((t,r)=>{if(t){if(r){if(s&&t.startsWith(s)){let r=t.slice(s.length);r&&e(r),s=t;return}e(t),s+=t;return}if(s&&t.startsWith(s)){let r=t.slice(s.length);r&&e(r),s=t;return}s||(e(t),s=t)}})(t.content,t?.delta===!0)}catch{a||e(`${t}
|
|
3
3
|
`)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;i(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&i(t),t=""}}},n=e=>{let t="",a=!1,s=new Set,i=t=>{let i=t.trim();if(i)try{let t=JSON.parse(i);if(a=!0,t?.type==="item.completed"&&r(t?.item?.id)){if(s.has(t.item.id))return;s.add(t.item.id)}let n=t&&"object"==typeof t?"item.completed"===t.type&&t.item?.type==="agent_message"&&r(t.item?.text)?t.item.text:"item.delta"===t.type&&t.item?.type==="agent_message"&&r(t.delta?.text)?t.delta.text:"":"";n&&e(n)}catch{a||e(`${t}
|
|
4
|
-
`)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;i(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&i(t),t=""}}},o=e=>{let t="",r=!1,a=[/^Thinking\.\.\./,/^<think>/i],s=[/\.\.\.done thinking\.?\s*/,/<\/think>/i];return{push:i=>{t+=i,(()=>{for(;t.length>0;){if(r){let e=-1,a=0;for(let r of s){let s=t.match(r);s&&void 0!==s.index&&(s.index,s[0].length,(-1===e||s.index<e)&&(e=s.index,a=s[0].length))}if(-1!==e){t=t.slice(e+a),r=!1,t=t.replace(/^\s*\n*/,"");continue}return}for(let s of a){let a=t.match(s);if(a&&void 0!==a.index){let s=t.slice(0,a.index);s&&e.push(s),t=t.slice(a.index+a[0].length),r=!0;break}}if(r)continue;let i=Math.max(0,t.length-30);i>0&&(e.push(t.slice(0,i)),t=t.slice(i));return}})()},flush:()=>{!r&&t&&e.push(t),t="",e.flush()}}};async function l({command:e,args:r,timeoutMs:a,signal:s,onDelta:i,onLog:n}){await new Promise((
|
|
5
|
-
`);let
|
|
4
|
+
`)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;i(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&i(t),t=""}}},o=e=>{let t="",r=!1,a=[/^Thinking\.\.\./,/^<think>/i],s=[/\.\.\.done thinking\.?\s*/,/<\/think>/i];return{push:i=>{t+=i,(()=>{for(;t.length>0;){if(r){let e=-1,a=0;for(let r of s){let s=t.match(r);s&&void 0!==s.index&&(s.index,s[0].length,(-1===e||s.index<e)&&(e=s.index,a=s[0].length))}if(-1!==e){t=t.slice(e+a),r=!1,t=t.replace(/^\s*\n*/,"");continue}return}for(let s of a){let a=t.match(s);if(a&&void 0!==a.index){let s=t.slice(0,a.index);s&&e.push(s),t=t.slice(a.index+a[0].length),r=!0;break}}if(r)continue;let i=Math.max(0,t.length-30);i>0&&(e.push(t.slice(0,i)),t=t.slice(i));return}})()},flush:()=>{!r&&t&&e.push(t),t="",e.flush()}}};async function l({command:e,args:r,timeoutMs:a,signal:s,onDelta:i,onLog:n,onSpawn:o}){await new Promise((l,d)=>{n&&n("stderr",`$ ${e} ${r.map(e=>e.length>80?e.slice(0,80)+"…":e).join(" ")}
|
|
5
|
+
`);let p=(0,t.spawn)(e,r,{stdio:["ignore","pipe","pipe"],env:{...process.env,CLAUDECODE:void 0}}),c=!1,u="",m=!1,E=e=>{c||(c=!0,clearTimeout(g),s&&s.removeEventListener("abort",T),e?d(e):l())},T=()=>{p.kill("SIGTERM"),E(Error("Chat request aborted."))};s&&s.addEventListener("abort",T,{once:!0}),o&&p.pid&&o(p.pid);let g=setTimeout(()=>{m=!0,p.kill("SIGKILL"),E(Error(`CLI request timed out after ${a}ms.`))},a);p.stdout.on("data",e=>{let t=e.toString();u+=t,i(t),n&&n("stdout",t)}),p.stderr.on("data",e=>{let t=e.toString();u+=t,n&&n("stderr",t)}),p.on("error",e=>E(e)),p.on("close",(e,t)=>{if(!c&&!m){if(0===e)return void E();E(Error(`CLI command failed (exit=${e??"unknown"} signal=${t??"none"}).${u.trim()?` ${u.trim()}`:""}`))}})})}async function d({provider:e,model:r,prompt:d,identity:p,self:c,skills:u,systemContext:m,signal:E,onDelta:T,onLog:g,onSpawn:_}){let f,h,N,R,y=(f=!1,h=!1,N="",R=/^(?:```|~~~|#{1,6}\s|>\s|[-*+]\s|\d+\.\s)/,e=>{let t=e.replace(/\u001B\[[0-9;]*[A-Za-z]/g,"").replace(/\r\n/g,"\n").replace(/\r/g,"\n").replace(/[ \t]+\n/g,"\n").replace(/\n{3,}/g,"\n\n");if(!t.trim())return t.includes("\n")&&!f?(f=!0,"\n"):"";let r=f?t.replace(/^\n+/,"\n"):t,a=r.trimStart(),s=R.test(a),i=h&&s&&!f,n=h&&!f&&!i&&!/^\s/.test(r)&&/[.!?)]/.test(N)&&/^[A-Z0-9`(]/.test(r),o=i?`
|
|
6
6
|
|
|
7
7
|
${r}`:n?`
|
|
8
|
-
${r}`:r;
|
|
8
|
+
${r}`:r;f=o.endsWith("\n"),h=h||o.trim().length>0;let l=o.replace(/\s+$/g,"");return l.length>0&&(N=l[l.length-1]??N),o}),A=e=>{let t=y(e);t&&T(t)},L=[],O=[];m&&O.push(m),p&&O.push(`<identity>
|
|
9
9
|
${p}
|
|
10
|
-
</identity>`),c&&
|
|
10
|
+
</identity>`),c&&O.push(`<self>
|
|
11
11
|
${c}
|
|
12
|
-
</self>`),u&&
|
|
12
|
+
</self>`),u&&O.push(`<skills>
|
|
13
13
|
${u}
|
|
14
|
-
</skills>`);let O
|
|
14
|
+
</skills>`);let S=O.length>0?O.join("\n\n"):void 0;if((e=>{try{return 0===(0,t.spawnSync)("bash",["-lc","command -v agx >/dev/null 2>&1"],{encoding:"utf8"}).status}catch{return!1}})(0)){let t=S?`${S}
|
|
15
15
|
|
|
16
|
-
${d}`:d;
|
|
16
|
+
${d}`:d;L.push(function({provider:e,model:t,prompt:r}){let a=[e,"-y","--print","--prompt",r];return t&&a.push("--model",t),{command:"agx",args:a,parser:"raw"}}({provider:e,model:r,prompt:t}))}if(0===L.length)throw Error(`No CLI runner available for provider "${e}". Install agx or provider CLI.`);let I=null;for(let e of L){let t="claude-stream-json"===e.parser?s(A):"codex-json"===e.parser?n(A):"gemini-stream-json"===e.parser?i(A):a(A),r=e.filterThoughts?o(t):t;try{await l({command:e.command,args:e.args,timeoutMs:6e5,signal:E,onDelta:r.push,onLog:g,onSpawn:_}),r.flush();return}catch(e){I=e instanceof Error?e:Error(String(e))}}throw I||Error("CLI execution failed.")}e.s(["runCliResponse",()=>d],14189)},64246,e=>{"use strict";var t=e.i(17920),r=e.i(22734),a=e.i(14747),s=e.i(46786);let i=process.env.AGX_GROUP_CHAT_DIR?.trim()||a.default.join(s.default.homedir(),".agx","group-chat"),n=a.default.join(i,"history.sqlite"),o="global",l=new Set(["ack","working","done","clarify","blocked"]),d={ack:new Set(["ack","working"]),working:new Set(["ack","working","done","clarify","blocked"]),done:new Set(["done","ack","working"]),clarify:new Set(["ack","clarify","working"]),blocked:new Set(["ack","blocked","working"])};class p extends Error{status;constructor(e,t){super(e),this.name="ReactionStoreError",this.status=t}}function c(e,t){return e.prepare(`PRAGMA table_info(${t})`).all().some(e=>"thread_id"===e.name)}let u=async e=>{await r.promises.mkdir(i,{recursive:!0});let a=new t.default(n);a.pragma("journal_mode = WAL");try{return a.exec(`
|
|
17
17
|
CREATE TABLE IF NOT EXISTS messages (
|
|
18
18
|
thread_id TEXT NOT NULL,
|
|
19
19
|
id TEXT NOT NULL,
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},17920,(e,t,r)=>{t.exports=e.x("better-sqlite3-e930ad348bee7320",()=>require("better-sqlite3-e930ad348bee7320"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},14189,e=>{"use strict";var t=e.i(33405);let r=e=>"string"==typeof e&&e.trim().length>0,a=e=>({push:e,flush:()=>{}}),s=e=>{let t="",a=0,s=!1,i=t=>{let i=t.trim();if(i)try{let t=JSON.parse(i);s=!0;let n=(e=>{if(!e||"object"!=typeof e)return"";if("assistant"===e.type)return(Array.isArray(e?.message?.content)?e.message.content:[]).flatMap(e=>e?.type==="text"&&r(e.text)?[e.text]:[]).join("");let t=e?.event;return"stream_event"===e.type&&t?.type==="content_block_delta"&&t?.delta?.type==="text_delta"&&r(t?.delta?.text)?t.delta.text:""})(t);if(!n||t?.type==="assistant"&&a>0)return;a+=n.length,e(n)}catch{s||e(`${t}
|
|
2
2
|
`)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;i(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&i(t),t=""}}},i=e=>{let t="",a=!1,s="",i=t=>{let i=t.trim();if(i)try{let t=JSON.parse(i);a=!0,t?.type==="message"&&t?.role==="assistant"&&r(t?.content)&&((t,r)=>{if(t){if(r){if(s&&t.startsWith(s)){let r=t.slice(s.length);r&&e(r),s=t;return}e(t),s+=t;return}if(s&&t.startsWith(s)){let r=t.slice(s.length);r&&e(r),s=t;return}s||(e(t),s=t)}})(t.content,t?.delta===!0)}catch{a||e(`${t}
|
|
3
3
|
`)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;i(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&i(t),t=""}}},n=e=>{let t="",a=!1,s=new Set,i=t=>{let i=t.trim();if(i)try{let t=JSON.parse(i);if(a=!0,t?.type==="item.completed"&&r(t?.item?.id)){if(s.has(t.item.id))return;s.add(t.item.id)}let n=t&&"object"==typeof t?"item.completed"===t.type&&t.item?.type==="agent_message"&&r(t.item?.text)?t.item.text:"item.delta"===t.type&&t.item?.type==="agent_message"&&r(t.delta?.text)?t.delta.text:"":"";n&&e(n)}catch{a||e(`${t}
|
|
4
|
-
`)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;i(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&i(t),t=""}}},o=e=>{let t="",r=!1,a=[/^Thinking\.\.\./,/^<think>/i],s=[/\.\.\.done thinking\.?\s*/,/<\/think>/i];return{push:i=>{t+=i,(()=>{for(;t.length>0;){if(r){let e=-1,a=0;for(let r of s){let s=t.match(r);s&&void 0!==s.index&&(s.index,s[0].length,(-1===e||s.index<e)&&(e=s.index,a=s[0].length))}if(-1!==e){t=t.slice(e+a),r=!1,t=t.replace(/^\s*\n*/,"");continue}return}for(let s of a){let a=t.match(s);if(a&&void 0!==a.index){let s=t.slice(0,a.index);s&&e.push(s),t=t.slice(a.index+a[0].length),r=!0;break}}if(r)continue;let i=Math.max(0,t.length-30);i>0&&(e.push(t.slice(0,i)),t=t.slice(i));return}})()},flush:()=>{!r&&t&&e.push(t),t="",e.flush()}}};async function
|
|
5
|
-
`);let
|
|
4
|
+
`)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;i(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&i(t),t=""}}},o=e=>{let t="",r=!1,a=[/^Thinking\.\.\./,/^<think>/i],s=[/\.\.\.done thinking\.?\s*/,/<\/think>/i];return{push:i=>{t+=i,(()=>{for(;t.length>0;){if(r){let e=-1,a=0;for(let r of s){let s=t.match(r);s&&void 0!==s.index&&(s.index,s[0].length,(-1===e||s.index<e)&&(e=s.index,a=s[0].length))}if(-1!==e){t=t.slice(e+a),r=!1,t=t.replace(/^\s*\n*/,"");continue}return}for(let s of a){let a=t.match(s);if(a&&void 0!==a.index){let s=t.slice(0,a.index);s&&e.push(s),t=t.slice(a.index+a[0].length),r=!0;break}}if(r)continue;let i=Math.max(0,t.length-30);i>0&&(e.push(t.slice(0,i)),t=t.slice(i));return}})()},flush:()=>{!r&&t&&e.push(t),t="",e.flush()}}};async function d({command:e,args:r,timeoutMs:a,signal:s,onDelta:i,onLog:n,onSpawn:o}){await new Promise((d,l)=>{n&&n("stderr",`$ ${e} ${r.map(e=>e.length>80?e.slice(0,80)+"…":e).join(" ")}
|
|
5
|
+
`);let p=(0,t.spawn)(e,r,{stdio:["ignore","pipe","pipe"],env:{...process.env,CLAUDECODE:void 0}}),c=!1,u="",m=!1,E=e=>{c||(c=!0,clearTimeout(f),s&&s.removeEventListener("abort",T),e?l(e):d())},T=()=>{p.kill("SIGTERM"),E(Error("Chat request aborted."))};s&&s.addEventListener("abort",T,{once:!0}),o&&p.pid&&o(p.pid);let f=setTimeout(()=>{m=!0,p.kill("SIGKILL"),E(Error(`CLI request timed out after ${a}ms.`))},a);p.stdout.on("data",e=>{let t=e.toString();u+=t,i(t),n&&n("stdout",t)}),p.stderr.on("data",e=>{let t=e.toString();u+=t,n&&n("stderr",t)}),p.on("error",e=>E(e)),p.on("close",(e,t)=>{if(!c&&!m){if(0===e)return void E();E(Error(`CLI command failed (exit=${e??"unknown"} signal=${t??"none"}).${u.trim()?` ${u.trim()}`:""}`))}})})}async function l({provider:e,model:r,prompt:l,identity:p,self:c,skills:u,systemContext:m,signal:E,onDelta:T,onLog:f,onSpawn:g}){let _,h,N,R,y=(_=!1,h=!1,N="",R=/^(?:```|~~~|#{1,6}\s|>\s|[-*+]\s|\d+\.\s)/,e=>{let t=e.replace(/\u001B\[[0-9;]*[A-Za-z]/g,"").replace(/\r\n/g,"\n").replace(/\r/g,"\n").replace(/[ \t]+\n/g,"\n").replace(/\n{3,}/g,"\n\n");if(!t.trim())return t.includes("\n")&&!_?(_=!0,"\n"):"";let r=_?t.replace(/^\n+/,"\n"):t,a=r.trimStart(),s=R.test(a),i=h&&s&&!_,n=h&&!_&&!i&&!/^\s/.test(r)&&/[.!?)]/.test(N)&&/^[A-Z0-9`(]/.test(r),o=i?`
|
|
6
6
|
|
|
7
7
|
${r}`:n?`
|
|
8
|
-
${r}`:r;
|
|
8
|
+
${r}`:r;_=o.endsWith("\n"),h=h||o.trim().length>0;let d=o.replace(/\s+$/g,"");return d.length>0&&(N=d[d.length-1]??N),o}),L=e=>{let t=y(e);t&&T(t)},A=[],O=[];m&&O.push(m),p&&O.push(`<identity>
|
|
9
9
|
${p}
|
|
10
|
-
</identity>`),c&&
|
|
10
|
+
</identity>`),c&&O.push(`<self>
|
|
11
11
|
${c}
|
|
12
|
-
</self>`),u&&
|
|
12
|
+
</self>`),u&&O.push(`<skills>
|
|
13
13
|
${u}
|
|
14
|
-
</skills>`);let O
|
|
14
|
+
</skills>`);let S=O.length>0?O.join("\n\n"):void 0;if((e=>{try{return 0===(0,t.spawnSync)("bash",["-lc","command -v agx >/dev/null 2>&1"],{encoding:"utf8"}).status}catch{return!1}})(0)){let t=S?`${S}
|
|
15
15
|
|
|
16
|
-
${
|
|
16
|
+
${l}`:l;A.push(function({provider:e,model:t,prompt:r}){let a=[e,"-y","--print","--prompt",r];return t&&a.push("--model",t),{command:"agx",args:a,parser:"raw"}}({provider:e,model:r,prompt:t}))}if(0===A.length)throw Error(`No CLI runner available for provider "${e}". Install agx or provider CLI.`);let I=null;for(let e of A){let t="claude-stream-json"===e.parser?s(L):"codex-json"===e.parser?n(L):"gemini-stream-json"===e.parser?i(L):a(L),r=e.filterThoughts?o(t):t;try{await d({command:e.command,args:e.args,timeoutMs:6e5,signal:E,onDelta:r.push,onLog:f,onSpawn:g}),r.flush();return}catch(e){I=e instanceof Error?e:Error(String(e))}}throw I||Error("CLI execution failed.")}e.s(["runCliResponse",()=>l],14189)},64246,e=>{"use strict";var t=e.i(17920),r=e.i(22734),a=e.i(14747),s=e.i(46786);let i=process.env.AGX_GROUP_CHAT_DIR?.trim()||a.default.join(s.default.homedir(),".agx","group-chat"),n=a.default.join(i,"history.sqlite"),o="global",d=new Set(["ack","working","done","clarify","blocked"]),l={ack:new Set(["ack","working"]),working:new Set(["ack","working","done","clarify","blocked"]),done:new Set(["done","ack","working"]),clarify:new Set(["ack","clarify","working"]),blocked:new Set(["ack","blocked","working"])};class p extends Error{status;constructor(e,t){super(e),this.name="ReactionStoreError",this.status=t}}function c(e,t){return e.prepare(`PRAGMA table_info(${t})`).all().some(e=>"thread_id"===e.name)}let u=async e=>{await r.promises.mkdir(i,{recursive:!0});let a=new t.default(n);a.pragma("journal_mode = WAL");try{return a.exec(`
|
|
17
17
|
CREATE TABLE IF NOT EXISTS messages (
|
|
18
18
|
thread_id TEXT NOT NULL,
|
|
19
19
|
id TEXT NOT NULL,
|
|
@@ -142,19 +142,19 @@ ${d}`:d;L.push(function({provider:e,model:t,prompt:r}){let a=[e,"-y","--print","
|
|
|
142
142
|
AND (id = ? OR root_message_id = ?)
|
|
143
143
|
)`).run(t,t,r,r),e.prepare(`DELETE FROM messages
|
|
144
144
|
WHERE thread_id = ?
|
|
145
|
-
AND (id = ? OR root_message_id = ?)`).run(t,r,r)})(r,a)})}async function R(e){let t=e.query.trim();if(!t)return{results:[],total:0};let r="string"==typeof e.threadId&&e.threadId.trim()||null,a=Number.isFinite(e.limit)?Number(e.limit):20,s=Number.isFinite(e.offset)?Number(e.offset):0,i=Math.min(Math.max(Math.trunc(a),1),100),n=Math.max(Math.trunc(s),0);return u(e=>{let a=["messages_fts MATCH ?"],s=[t];r&&(a.push("m.thread_id = ?"),s.push(r));let o=a.join(" AND "),
|
|
145
|
+
AND (id = ? OR root_message_id = ?)`).run(t,r,r)})(r,a)})}async function R(e){let t=e.query.trim();if(!t)return{results:[],total:0};let r="string"==typeof e.threadId&&e.threadId.trim()||null,a=Number.isFinite(e.limit)?Number(e.limit):20,s=Number.isFinite(e.offset)?Number(e.offset):0,i=Math.min(Math.max(Math.trunc(a),1),100),n=Math.max(Math.trunc(s),0);return u(e=>{let a=["messages_fts MATCH ?"],s=[t];r&&(a.push("m.thread_id = ?"),s.push(r));let o=a.join(" AND "),d=e.prepare(`SELECT m.thread_id, m.id, m.role, m.participant_id, m.timestamp, m.root_message_id,
|
|
146
146
|
snippet(messages_fts, 0, '<mark>', '</mark>', '...', 32) AS snippet,
|
|
147
147
|
bm25(messages_fts) as rank
|
|
148
148
|
FROM messages_fts
|
|
149
149
|
JOIN messages m ON messages_fts.rowid = m.rowid
|
|
150
150
|
WHERE ${o}
|
|
151
151
|
ORDER BY rank ASC, m.timestamp DESC
|
|
152
|
-
LIMIT ? OFFSET ?`).all(...s,i,n),
|
|
152
|
+
LIMIT ? OFFSET ?`).all(...s,i,n),l=e.prepare(`SELECT COUNT(*) as total
|
|
153
153
|
FROM messages_fts
|
|
154
154
|
JOIN messages m ON messages_fts.rowid = m.rowid
|
|
155
|
-
WHERE ${o}`).get(...s);return{results:
|
|
155
|
+
WHERE ${o}`).get(...s);return{results:d.map(e=>({threadId:e.thread_id,messageId:e.id,role:e.role,participantId:e.participant_id,snippet:e.snippet,timestamp:e.timestamp,rootMessageId:e.root_message_id})),total:l?.total??0}})}async function y(e){let t=e.threadId?.trim()||o,r=e.messageId?.trim(),a=e.participantId?.trim(),s=e.type;if(!r)throw new p("messageId is required",400);if(!a)throw new p("participantId is required",400);if(!d.has(s))throw new p(`Invalid reaction type: ${String(s)}`,400);let i=T(e.reason),n=T(e.blockerCode),c="clarify"===s||"blocked"===s;if(c&&!i)throw new p(`"${s}" reactions require a reason`,400);let m=c?i:null,f="blocked"===s?n:null;return u(e=>{var i;if(!e.prepare("SELECT 1 FROM messages WHERE thread_id = ? AND id = ? LIMIT 1").get(t,r))throw new p(`Message not found: ${r}`,404);let n=e.prepare(`SELECT type, reason, blocker_code
|
|
156
156
|
FROM message_reactions
|
|
157
|
-
WHERE thread_id = ? AND message_id = ? AND participant_id = ?`).get(t,r,a);if(i=n?.type??null,!(!i||
|
|
157
|
+
WHERE thread_id = ? AND message_id = ? AND participant_id = ?`).get(t,r,a);if(i=n?.type??null,!(!i||l[i].has(s)))throw new p(`Cannot transition reaction from "${n.type}" to "${s}"`,409);if(n&&n.type===s&&T(n.reason)===m&&T(n.blocker_code)===f)return{updated:!1,reactions:E(e,t,[r]).get(r)??[]};let o=Date.now();return e.prepare(`INSERT INTO message_reactions (thread_id, message_id, participant_id, type, reason, blocker_code, updated_at)
|
|
158
158
|
VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
159
159
|
ON CONFLICT(thread_id, message_id, participant_id)
|
|
160
160
|
DO UPDATE SET
|
|
@@ -172,7 +172,7 @@ ${d}`:d;L.push(function({provider:e,model:t,prompt:r}){let a=[e,"-y","--print","
|
|
|
172
172
|
WHERE thread_id = ? AND type = 'working' AND updated_at <= ?`).run(s,r,i).changes}))}async function I(e,t,r){let a=e.trim()||o;return u(e=>{e.prepare(`INSERT INTO task_drafts (thread_id, message_id, data, updated_at)
|
|
173
173
|
VALUES (?, ?, ?, ?)
|
|
174
174
|
ON CONFLICT(thread_id, message_id)
|
|
175
|
-
DO UPDATE SET data = excluded.data, updated_at = excluded.updated_at`).run(a,t,JSON.stringify(r),Date.now())})}async function x(e){let t=e.trim()||o;return u(e=>{let r=e.prepare("SELECT message_id, data FROM task_drafts WHERE thread_id = ?").all(t),a={};for(let e of r)a[e.message_id]=JSON.parse(e.data);return a})}e.s(["ReactionStoreError",()=>p,"clearHistory",()=>h,"clearLogs",()=>O,"clearRootThread",()=>N,"loadHistory",()=>f,"loadLogs",()=>A,"loadTaskDrafts",()=>x,"saveLogs",()=>L,"saveMessages",()=>g,"saveTaskDraft",()=>I,"searchMessages",()=>R,"setReaction",()=>y,"sweepStaleWorkingReactions",()=>S,"updateMessageStatus",()=>_])},13466,e=>{"use strict";var t=e.i(17920),r=e.i(22734),a=e.i(14747),s=e.i(46786);let i=process.env.AGX_GROUP_CHAT_DIR?.trim()||a.default.join(s.default.homedir(),".agx","group-chat"),n=a.default.join(i,"history.sqlite"),o=process.env.AGX_AGENTS_DIR?.trim()||a.default.join(s.default.homedir(),".agx","agents");function
|
|
175
|
+
DO UPDATE SET data = excluded.data, updated_at = excluded.updated_at`).run(a,t,JSON.stringify(r),Date.now())})}async function x(e){let t=e.trim()||o;return u(e=>{let r=e.prepare("SELECT message_id, data FROM task_drafts WHERE thread_id = ?").all(t),a={};for(let e of r)a[e.message_id]=JSON.parse(e.data);return a})}e.s(["ReactionStoreError",()=>p,"clearHistory",()=>h,"clearLogs",()=>O,"clearRootThread",()=>N,"loadHistory",()=>f,"loadLogs",()=>A,"loadTaskDrafts",()=>x,"saveLogs",()=>L,"saveMessages",()=>g,"saveTaskDraft",()=>I,"searchMessages",()=>R,"setReaction",()=>y,"sweepStaleWorkingReactions",()=>S,"updateMessageStatus",()=>_])},13466,e=>{"use strict";var t=e.i(17920),r=e.i(22734),a=e.i(14747),s=e.i(46786);let i=process.env.AGX_GROUP_CHAT_DIR?.trim()||a.default.join(s.default.homedir(),".agx","group-chat"),n=a.default.join(i,"history.sqlite"),o=process.env.AGX_AGENTS_DIR?.trim()||a.default.join(s.default.homedir(),".agx","agents");function d(){(0,r.mkdirSync)(i,{recursive:!0});let e=new t.default(n);e.pragma("journal_mode = WAL"),e.exec(`
|
|
176
176
|
CREATE TABLE IF NOT EXISTS participants (
|
|
177
177
|
id TEXT PRIMARY KEY,
|
|
178
178
|
name TEXT NOT NULL,
|
|
@@ -184,8 +184,8 @@ ${d}`:d;L.push(function({provider:e,model:t,prompt:r}){let a=[e,"-y","--print","
|
|
|
184
184
|
color TEXT NOT NULL,
|
|
185
185
|
sort_order INTEGER NOT NULL DEFAULT 0
|
|
186
186
|
);
|
|
187
|
-
`);let s=e.prepare("PRAGMA table_info(participants)").all();return s.some(e=>"persona"===e.name)&&(e.exec("ALTER TABLE participants RENAME COLUMN persona TO identity"),e.exec("ALTER TABLE participants RENAME COLUMN persona_file TO identity_file")),s.some(e=>"identity_file"===e.name)||s.some(e=>"persona_file"===e.name)||e.exec("ALTER TABLE participants ADD COLUMN identity_file TEXT"),s.some(e=>"skills_json"===e.name)||e.exec("ALTER TABLE participants ADD COLUMN skills_json TEXT"),s.some(e=>"variables_json"===e.name)||e.exec("ALTER TABLE participants ADD COLUMN variables_json TEXT"),s.some(e=>"sort_order"===e.name)||(e.exec("ALTER TABLE participants ADD COLUMN sort_order INTEGER NOT NULL DEFAULT 0"),e.exec("UPDATE participants SET sort_order = rowid")),!function(e){let t=e.prepare("SELECT id, name, provider FROM participants").all();if(0===t.length)return;let s=new Set(t.map(e=>e.id)),i=new Map(t.map(e=>[e.id,e.id])),n=[];for(let e of t){let t=(e.name||"").trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/--+/g,"-");if(!t||e.id===t||e.id!==e.provider)continue;s.delete(e.id);let r=function(e,t){if(!t.has(e))return e;let r=2,a=`${e}-${r}`;for(;t.has(a);)r+=1,a=`${e}-${r}`;return a}(t,s);s.add(r),i.set(e.id,r),n.push({from:e.id,to:r,name:e.name})}let
|
|
188
|
-
`,"utf8")}catch{}}(t.from,t.to,t.name)}(e),e}function
|
|
187
|
+
`);let s=e.prepare("PRAGMA table_info(participants)").all();return s.some(e=>"persona"===e.name)&&(e.exec("ALTER TABLE participants RENAME COLUMN persona TO identity"),e.exec("ALTER TABLE participants RENAME COLUMN persona_file TO identity_file")),s.some(e=>"identity_file"===e.name)||s.some(e=>"persona_file"===e.name)||e.exec("ALTER TABLE participants ADD COLUMN identity_file TEXT"),s.some(e=>"skills_json"===e.name)||e.exec("ALTER TABLE participants ADD COLUMN skills_json TEXT"),s.some(e=>"variables_json"===e.name)||e.exec("ALTER TABLE participants ADD COLUMN variables_json TEXT"),s.some(e=>"sort_order"===e.name)||(e.exec("ALTER TABLE participants ADD COLUMN sort_order INTEGER NOT NULL DEFAULT 0"),e.exec("UPDATE participants SET sort_order = rowid")),!function(e){let t=e.prepare("SELECT id, name, provider FROM participants").all();if(0===t.length)return;let s=new Set(t.map(e=>e.id)),i=new Map(t.map(e=>[e.id,e.id])),n=[];for(let e of t){let t=(e.name||"").trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/--+/g,"-");if(!t||e.id===t||e.id!==e.provider)continue;s.delete(e.id);let r=function(e,t){if(!t.has(e))return e;let r=2,a=`${e}-${r}`;for(;t.has(a);)r+=1,a=`${e}-${r}`;return a}(t,s);s.add(r),i.set(e.id,r),n.push({from:e.id,to:r,name:e.name})}let d=t.map(e=>({id:i.get(e.id)||e.id,provider:e.provider})),l=new Set(d.map(e=>e.id)),p=new Map;for(let e of d){let t=e.provider.trim();if(!t)continue;let r=p.get(t)||new Set;r.add(e.id),p.set(t,r)}let c=[];for(let[e,t]of p){if(1!==t.size)continue;let[r]=Array.from(t);r&&e!==r&&(l.has(e)||c.push({from:e,to:r}))}if(0===n.length&&0===c.length)return;let u=new Map;for(let e of n)u.set(e.from,e.to);for(let e of c)u.set(e.from,e.to);let m=Array.from(u.entries()).map(([e,t])=>({from:e,to:t})),E=new Set(e.prepare("SELECT name FROM sqlite_master WHERE type = 'table'").all().map(e=>e.name));for(let t of(e.transaction((t,r)=>{let a=e.prepare("UPDATE participants SET id = ? WHERE id = ?"),s=E.has("messages")?e.prepare("UPDATE messages SET participant_id = ? WHERE participant_id = ?"):null,i=E.has("logs")?e.prepare("UPDATE logs SET participant_id = ? WHERE participant_id = ?"):null,n=E.has("message_reactions")?e.prepare("UPDATE message_reactions SET participant_id = ? WHERE participant_id = ?"):null;for(let e of t)a.run(e.to,e.from);for(let e of r)s?.run(e.to,e.from),i?.run(e.to,e.from),n?.run(e.to,e.from)})(n.map(e=>({from:e.from,to:e.to})),m),n))!function(e,t,s){if(!e||!t||e===t)return;let i=a.default.join(o,e),n=a.default.join(o,t);if(!(0,r.existsSync)(i)||(0,r.existsSync)(n))return;(0,r.mkdirSync)(o,{recursive:!0}),(0,r.renameSync)(i,n);let d=a.default.join(n,"identity.json");if((0,r.existsSync)(d))try{let e={...JSON.parse((0,r.readFileSync)(d,"utf8")),name:"string"==typeof s&&s.trim()?s.trim():t};(0,r.writeFileSync)(d,`${JSON.stringify(e,null,2)}
|
|
188
|
+
`,"utf8")}catch{}}(t.from,t.to,t.name)}(e),e}function l(){let e=d();try{return e.prepare("SELECT id, name, provider, model, identity, identity_file, skills_json, variables_json, color, sort_order FROM participants ORDER BY sort_order ASC, rowid ASC").all().map(e=>({id:e.id,name:e.name,provider:e.provider,model:e.model,color:e.color,...e.identity?{identity:e.identity}:{},...e.identity_file?{identityFile:e.identity_file}:{},...e.variables_json?(()=>{try{let t=JSON.parse(e.variables_json);if(t&&"object"==typeof t&&!Array.isArray(t))return{variables:t};return{}}catch{return{}}})():{},...e.skills_json?{skills:(()=>{try{let t=JSON.parse(e.skills_json);if(!Array.isArray(t))return[];return t.map(e=>"string"==typeof e?{file:e,condition:""}:e)}catch{return[]}})()}:{}}))}finally{e.close()}}function p(e){let t=d();try{t.prepare("INSERT OR REPLACE INTO participants (id, name, provider, model, identity, identity_file, skills_json, variables_json, color) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)").run(e.id,e.name,e.provider,e.model,e.identity??null,e.identityFile??null,e.skills&&e.skills.length>0?JSON.stringify(e.skills):null,e.variables&&Object.keys(e.variables).length>0?JSON.stringify(e.variables):null,e.color)}finally{t.close()}}function c(e){let t=d();try{t.prepare("UPDATE participants SET name = ?, provider = ?, model = ?, identity = ?, identity_file = ?, skills_json = ?, variables_json = ?, color = ? WHERE id = ?").run(e.name,e.provider,e.model,e.identity??null,e.identityFile??null,e.skills&&e.skills.length>0?JSON.stringify(e.skills):null,e.variables&&Object.keys(e.variables).length>0?JSON.stringify(e.variables):null,e.color,e.id)}finally{t.close()}}function u(e){let t=d();try{let r=t.prepare("UPDATE participants SET sort_order = ? WHERE id = ?");t.transaction(e=>{for(let t=0;t<e.length;t++)r.run(t,e[t])})(e)}finally{t.close()}}function m(e){let t=d();try{t.prepare("DELETE FROM participants WHERE id = ?").run(e)}finally{t.close()}}e.s(["addParticipant",()=>p,"loadParticipants",()=>l,"removeParticipant",()=>m,"reorderParticipants",()=>u,"updateParticipant",()=>c])},84210,e=>{"use strict";var t=e.i(11794),r=e.i(41852),a=e.i(19309),s=e.i(90850),i=e.i(24918),n=e.i(84604),o=e.i(37756),d=e.i(90661),l=e.i(90315),p=e.i(9168),c=e.i(12965),u=e.i(43715),m=e.i(79218),E=e.i(66263),T=e.i(15255),f=e.i(93695);e.i(65858);var g=e.i(95175),_=e.i(12244),h=e.i(64246),N=e.i(13466),R=e.i(14189);async function y(e){try{let t,{threadId:r,rootMessageId:a,activeParticipantIds:s}=await e.json();if(!r||!a)return _.NextResponse.json({error:"threadId and rootMessageId are required"},{status:400});let i=await (0,h.loadHistory)(r),n=i.find(e=>e.id===a);if(!n)return _.NextResponse.json({error:"Root message not found"},{status:404});let o=i.filter(e=>e.rootMessageId===a).sort((e,t)=>e.timestamp-t.timestamp),d=[n,...o],l=(0,N.loadParticipants)(),p=Array.isArray(s),c=function(e){if(!Array.isArray(e))return[];let t=new Set,r=[];for(let a of e){if("string"!=typeof a)continue;let e=a.trim();!e||t.has(e)||(t.add(e),r.push(e))}return r}(s),u=p?new Set(c):null,m=(null===u?l:l.filter(e=>u.has(e.id)))[0];if(!m)return _.NextResponse.json({error:"No active agents configured for this workspace"},{status:400});let E=Object.fromEntries(l.map(e=>[e.id,e])),T=d.map(e=>{let t="user"===e.role?"User":e.participantId?E[e.participantId]?.name||e.participantId:"Assistant";return`${t}: ${e.content}`}).join("\n\n"),f=`Read the following conversation and extract a list of actionable tasks that were discussed. Order them by execution sequence — tasks that others depend on should come first.
|
|
189
189
|
|
|
190
190
|
For each task, provide:
|
|
191
191
|
- "title": a concise title (under 80 characters)
|
|
@@ -196,6 +196,6 @@ Return ONLY a valid JSON array of objects with "title", "description", and "depe
|
|
|
196
196
|
|
|
197
197
|
---
|
|
198
198
|
${T}
|
|
199
|
-
---`,g="";await (0,R.runCliResponse)({provider:m.provider,model:m.model,prompt:f,identity:m.identity,onDelta:e=>{g+=e}});let y=g=g.trim(),L=g.match(/```(?:json)?\s*([\s\S]*?)```/);L&&(y=L[1].trim());try{if(t=JSON.parse(y),!Array.isArray(t))throw Error("Not an array")}catch{return _.NextResponse.json({error:"Failed to parse tasks from LLM response",raw:g},{status:500})}let A=t.filter(e=>e.title&&e.description).slice(0,20),O=A.map(()=>crypto.randomUUID()),S=A.map((e,t)=>({id:O[t],title:e.title.slice(0,200),description:e.description,dependsOn:(e.depends_on||[]).filter(e=>e>=0&&e<A.length&&e!==t).map(e=>O[e])}));return _.NextResponse.json({ok:!0,tasks:S})}catch(e){return console.error("Task extraction error:",e),_.NextResponse.json({error:e instanceof Error?e.message:"Unknown error"},{status:500})}}e.s(["POST",()=>y],16492);var L=e.i(16492);let A=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/tasks/extract/route",pathname:"/api/tasks/extract",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/Projects/Agents/agx-cloud/app/api/tasks/extract/route.ts",nextConfigOutput:"standalone",userland:L}),{workAsyncStorage:O,workUnitAsyncStorage:S,serverHooks:I}=A;function x(){return(0,a.patchFetch)({workAsyncStorage:O,workUnitAsyncStorage:S})}async function w(e,t,a){A.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let _="/api/tasks/extract/route";_=_.replace(/\/index$/,"")||"/";let h=await A.prepare(e,t,{srcPage:_,multiZoneDraftMode:!1});if(!h)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:N,params:R,nextConfig:y,parsedUrl:L,isDraftMode:O,prerenderManifest:S,routerServerContext:I,isOnDemandRevalidate:x,revalidateOnlyGenerated:w,resolvedPathname:C,clientReferenceManifest:v,serverActionsManifest:k}=h,U=(0,o.normalizeAppPath)(_),M=!!(S.dynamicRoutes[U]||S.routes[C]),b=async()=>((null==I?void 0:I.render404)?await I.render404(e,t,L,!1):t.end("This page could not be found"),null);if(M&&!O){let e=!!S.routes[C],t=S.dynamicRoutes[U];if(t&&!1===t.fallback&&!e){if(y.experimental.adapterPath)return await b();throw new f.NoFallbackError}}let D=null;!M||A.isDev||O||(D="/index"===(D=C)?"/":D);let X=!0===A.isDev||!M,j=M&&!X;k&&v&&(0,n.setManifestsSingleton)({page:_,clientReferenceManifest:v,serverActionsManifest:k});let F=e.method||"GET",P=(0,i.getTracer)(),$=P.getActiveScopeSpan(),H={params:R,prerenderManifest:S,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:X,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:y.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>A.onRequestError(e,t,a,s,I)},sharedContext:{buildId:N}},B=new
|
|
199
|
+
---`,g="";await (0,R.runCliResponse)({provider:m.provider,model:m.model,prompt:f,identity:m.identity,onDelta:e=>{g+=e}});let y=g=g.trim(),L=g.match(/```(?:json)?\s*([\s\S]*?)```/);L&&(y=L[1].trim());try{if(t=JSON.parse(y),!Array.isArray(t))throw Error("Not an array")}catch{return _.NextResponse.json({error:"Failed to parse tasks from LLM response",raw:g},{status:500})}let A=t.filter(e=>e.title&&e.description).slice(0,20),O=A.map(()=>crypto.randomUUID()),S=A.map((e,t)=>({id:O[t],title:e.title.slice(0,200),description:e.description,dependsOn:(e.depends_on||[]).filter(e=>e>=0&&e<A.length&&e!==t).map(e=>O[e])}));return _.NextResponse.json({ok:!0,tasks:S})}catch(e){return console.error("Task extraction error:",e),_.NextResponse.json({error:e instanceof Error?e.message:"Unknown error"},{status:500})}}e.s(["POST",()=>y],16492);var L=e.i(16492);let A=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/tasks/extract/route",pathname:"/api/tasks/extract",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/Projects/Agents/agx-cloud/app/api/tasks/extract/route.ts",nextConfigOutput:"standalone",userland:L}),{workAsyncStorage:O,workUnitAsyncStorage:S,serverHooks:I}=A;function x(){return(0,a.patchFetch)({workAsyncStorage:O,workUnitAsyncStorage:S})}async function w(e,t,a){A.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let _="/api/tasks/extract/route";_=_.replace(/\/index$/,"")||"/";let h=await A.prepare(e,t,{srcPage:_,multiZoneDraftMode:!1});if(!h)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:N,params:R,nextConfig:y,parsedUrl:L,isDraftMode:O,prerenderManifest:S,routerServerContext:I,isOnDemandRevalidate:x,revalidateOnlyGenerated:w,resolvedPathname:C,clientReferenceManifest:v,serverActionsManifest:k}=h,U=(0,o.normalizeAppPath)(_),M=!!(S.dynamicRoutes[U]||S.routes[C]),b=async()=>((null==I?void 0:I.render404)?await I.render404(e,t,L,!1):t.end("This page could not be found"),null);if(M&&!O){let e=!!S.routes[C],t=S.dynamicRoutes[U];if(t&&!1===t.fallback&&!e){if(y.experimental.adapterPath)return await b();throw new f.NoFallbackError}}let D=null;!M||A.isDev||O||(D="/index"===(D=C)?"/":D);let X=!0===A.isDev||!M,j=M&&!X;k&&v&&(0,n.setManifestsSingleton)({page:_,clientReferenceManifest:v,serverActionsManifest:k});let F=e.method||"GET",P=(0,i.getTracer)(),$=P.getActiveScopeSpan(),H={params:R,prerenderManifest:S,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:X,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:y.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>A.onRequestError(e,t,a,s,I)},sharedContext:{buildId:N}},B=new d.NodeNextRequest(e),q=new d.NodeNextResponse(t),G=l.NextRequestAdapter.fromNodeNextRequest(B,(0,l.signalFromNodeResponse)(t));try{let n=async e=>A.handle(G,H).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=P.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${F} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${F} ${_}`)}),o=!!(0,s.getRequestMeta)(e,"minimalMode"),d=async s=>{var i,d;let l=async({previousCacheEntry:r})=>{try{if(!o&&x&&w&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await n(s);e.fetchMetrics=H.renderOpts.fetchMetrics;let d=H.renderOpts.pendingWaitUntil;d&&a.waitUntil&&(a.waitUntil(d),d=void 0);let l=H.renderOpts.collectedTags;if(!M)return await (0,u.sendResponse)(B,q,i,H.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(i.headers);l&&(t[T.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==H.renderOpts.collectedRevalidate&&!(H.renderOpts.collectedRevalidate>=T.INFINITE_CACHE)&&H.renderOpts.collectedRevalidate,a=void 0===H.renderOpts.collectedExpire||H.renderOpts.collectedExpire>=T.INFINITE_CACHE?void 0:H.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await A.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:x})},!1,I),t}},p=await A.handleResponse({req:e,nextConfig:y,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:x,revalidateOnlyGenerated:w,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:o});if(!M)return null;if((null==p||null==(i=p.value)?void 0:i.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==p||null==(d=p.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",x?"REVALIDATED":p.isMiss?"MISS":p.isStale?"STALE":"HIT"),O&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,m.fromNodeOutgoingHttpHeaders)(p.value.headers);return o&&M||f.delete(T.NEXT_CACHE_TAGS_HEADER),!p.cacheControl||t.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,E.getCacheControlHeader)(p.cacheControl)),await (0,u.sendResponse)(B,q,new Response(p.value.body,{headers:f,status:p.value.status||200})),null};$?await d($):await P.withPropagatedContext(e.headers,()=>P.trace(p.BaseServerSpan.handleRequest,{spanName:`${F} ${_}`,kind:i.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},d))}catch(t){if(t instanceof f.NoFallbackError||await A.onRequestError(e,t,{routerKind:"App Router",routePath:U,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:x})},!1,I),M)throw t;return await (0,u.sendResponse)(B,q,new Response(null,{status:500})),null}}e.s(["handler",()=>w,"patchFetch",()=>x,"routeModule",()=>A,"serverHooks",()=>I,"workAsyncStorage",()=>O,"workUnitAsyncStorage",()=>S],84210)}];
|
|
200
200
|
|
|
201
201
|
//# sourceMappingURL=%5Broot-of-the-server%5D__d339de9d._.js.map
|