@mndrk/agx 2.0.0-next.8 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -5
- 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 +9 -1
- 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 +27 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/routes-manifest.json +57 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error/page.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- 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/page.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found/page_client-reference-manifest.js +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 +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- 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 +2 -2
- 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 +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/daemon/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/daemon/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/daemon/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/daemon/route.js +7 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/daemon/route.js.map +5 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/daemon/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/daemon/route_client-reference-manifest.js +2 -0
- 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/history/route.js +2 -2
- 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/notification-outbox/[id]/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notification-outbox/[id]/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notification-outbox/[id]/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notification-outbox/[id]/route.js +8 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notification-outbox/[id]/route.js.map +5 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notification-outbox/[id]/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notification-outbox/[id]/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/[id]/read/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/[id]/read/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/[id]/read/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/[id]/read/route.js +8 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/[id]/read/route.js.map +5 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/[id]/read/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/[id]/read/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/route.js +8 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/route.js.map +5 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/unread-count/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/unread-count/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/unread-count/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/unread-count/route.js +8 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/unread-count/route.js.map +5 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/unread-count/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/unread-count/route_client-reference-manifest.js +2 -0
- 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/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/system/db-status/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/user-settings/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board/page.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board/page_client-reference-manifest.js +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 +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/_full.segment.rsc +2 -2
- 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 +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/_tree.segment.rsc +2 -2
- 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/page.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph/page_client-reference-manifest.js +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 +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/_full.segment.rsc +3 -3
- 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 +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +2 -2
- 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 +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.segments/_full.segment.rsc +3 -3
- 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 +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/page.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/graph/[taskId]/page.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/page.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans/page.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans/page_client-reference-manifest.js +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 +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/_full.segment.rsc +3 -3
- 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 +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +2 -2
- 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/page.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/page_client-reference-manifest.js +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 +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/_full.segment.rsc +3 -3
- 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 +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
- 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/page.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings/page_client-reference-manifest.js +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 +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/_full.segment.rsc +3 -3
- 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 +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
- 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/page.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status/page_client-reference-manifest.js +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 +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/_full.segment.rsc +3 -3
- 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 +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/status/__PAGE__.segment.rsc +2 -2
- 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/w/[workspaceId]/[threadId]/page/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/[threadId]/page/build-manifest.json +18 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/[threadId]/page/next-font-manifest.json +11 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/[threadId]/page/react-loadable-manifest.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/[threadId]/page/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/[threadId]/page.js +16 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/[threadId]/page.js.map +5 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/[threadId]/page.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/[threadId]/page_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/page/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/page/build-manifest.json +18 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/page/next-font-manifest.json +11 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/page/react-loadable-manifest.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/page/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/page.js +16 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/page.js.map +5 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/page.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/page_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome/page/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome/page/build-manifest.json +18 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome/page/next-font-manifest.json +11 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome/page/react-loadable-manifest.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome/page/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome/page.js +15 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome/page.js.map +5 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome/page.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome/page_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.html +9 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.meta +15 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.rsc +23 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/_full.segment.rsc +23 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/_head.segment.rsc +5 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/_index.segment.rsc +9 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/_tree.segment.rsc +5 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +9 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/welcome.segment.rsc +4 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app-paths-manifest.json +9 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/7e210_Agents_agx-cloud__next-internal_server_app_api_daemon_route_actions_460dc557.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_ef3cf579._.js +8 -8
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_lib_6a5d1c80._.js +11 -11
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_lib_7eefb426._.js +10 -10
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__1f176ebf._.js +4 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__22d0d2cc._.js +10 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__26bfcde9._.js +7 -7
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__27e9e463._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__299302d8._.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__2ed85740._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__33e7bfc0._.js +5 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__8f9b0934._.js +28 -28
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__9b8efd58._.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__a7a82510._.js +7 -7
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__bea8711d._.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__ec8bbb77._.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/a2576__next-internal_server_app_api_notification-outbox_[id]_route_actions_c429c549.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/a2576__next-internal_server_app_api_notifications_[id]_read_route_actions_615ae13d.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/a2576__next-internal_server_app_api_notifications_unread-count_route_actions_b61a9301.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ad555_agx-cloud__next-internal_server_app_api_notifications_route_actions_06dbcdc4.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ae43b_next_dist_esm_build_templates_app-route_122e31fe.js +28 -24
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/7e210_Agents_agx-cloud__next-internal_server_app_welcome_page_actions_5176f4d4.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_033373a0._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_039c43e5._.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_0562c9cd._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_0cf15b7b._.js +8 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_0d91718c._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_1e1c23f7._.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_502ede06._.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_68972519._.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_69570e90._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_6cbdc6fd._.js +4 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_82783170._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_a0e26bca._.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_a2a39dbe._.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_aaa774d8._.js +4 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_afe007c2._.js +4 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_b2707e4d._.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_components_chat-ui_f59beea5._.js +95 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/{Projects_Agents_agx-cloud_e7635878._.js → Projects_Agents_agx-cloud_dc82c7bf._.js} +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_ef6ea3fc._.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_ff11dd7c._.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/{[root-of-the-server]__9d72d782._.js → [root-of-the-server]__00507cd5._.js} +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__24a978df._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__523e8b0b._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__546c34e3._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__807e5ecc._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__9668fae0._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__97870484._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/{[root-of-the-server]__657b446b._.js → [root-of-the-server]__99fa92e8._.js} +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__a4a5c57b._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__b549e8c2._.js +4 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/{[root-of-the-server]__5dace3c6._.js → [root-of-the-server]__d78dfcf2._.js} +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__e915acb2._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/a2576__next-internal_server_app_w_[workspaceId]_[threadId]_page_actions_f668795b.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/ad555_agx-cloud__next-internal_server_app_w_[workspaceId]_page_actions_8ade5a6c.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/ae43b_@dnd-kit_core_dist_core_esm_e4fe20d7.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/ae43b_db3f38e3._.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/ae43b_lucide-react_dist_esm_63b016a6._.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/ae43b_next_dist_2cd20dd7._.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/ae43b_next_dist_832595f2._.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/ae43b_next_dist_esm_build_templates_app-page_e4003e94.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/functions-config-manifest.json +1 -0
- 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/next-font-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/next-font-manifest.json +12 -0
- 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/.next/static/chunks/0804e1cf36ac4c40.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/245ea04687930f1c.css +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/2f63efec13a9346a.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/54fbb309ba7c2b4b.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/55f8c843a8037ac8.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/5eda5cd286808293.js +93 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/6bfec2ea0d682ffc.js +18 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/7d2c10033c8a8554.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/{b47938cee3a79764.js → 822bd641355a9397.js} +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/{49b2630db3ff37fe.js → 8dad5ee086c3d46d.js} +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/c6ed4939c63ba444.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/e4b656247e95267b.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/ef426b92c6ce58a5.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/daemon/route.ts +55 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/notification-outbox/[id]/route.ts +42 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/notifications/[id]/read/route.ts +43 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/notifications/route.ts +46 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/notifications/unread-count/route.ts +24 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/participants/route.ts +13 -6
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/system/db-status/route.ts +23 -15
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/projects/[slug]/layout.tsx +28 -10
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/w/[workspaceId]/[threadId]/page.tsx +4 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/w/[workspaceId]/layout.tsx +7 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/w/[workspaceId]/page.tsx +4 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/welcome/page.tsx +117 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/Layout.tsx +4 -6
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/Notifications/NotificationBell.tsx +62 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/Notifications/NotificationItem.tsx +96 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/Notifications/NotificationsPanel.tsx +127 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/Notifications/index.ts +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/WorkspaceNav.tsx +67 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/chat-ui/ChatContainer.tsx +181 -122
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/chat-ui/ChatPreview.tsx +85 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/chat-ui/MessageBubble.tsx +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/chat-ui/MessageList.tsx +3 -16
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/chat-ui/ParticipantBar.tsx +41 -86
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/chat-ui/ThreadView.tsx +4 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/thread/ThreadItem.tsx +9 -9
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/thread/ThreadList.tsx +15 -15
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/thread/ThreadSidebar.tsx +34 -34
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/db/sqlite/001_agx_board_schema.sql +52 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/hooks/useNotifications.ts +115 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/hooks/useThreadState.ts +85 -85
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/cli-runner.ts +6 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/db/cursors.js +75 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/db/notifications.js +70 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/db/preferences.js +110 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/demo-threads.ts +76 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/jobs/pruneNotifications.js +87 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/participants-store.ts +7 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/projectors/notificationProjector.js +351 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/storage/index.ts +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/storage/local-thread-adapter.ts +27 -27
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/storage/thread-adapter.ts +31 -31
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/stream-multiplexer.ts +45 -9
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/types.ts +7 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/migrations/sqlite_schema.sql +45 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/script.txt +111 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/services/threadService.ts +32 -32
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/state/threadSelection.test.ts +30 -30
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/state/threadSelection.ts +21 -21
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/state/uiSettings.ts +14 -11
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/tests/projector/_helpers.js +68 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/tests/projector/crash.test.js +139 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/tests/projector/duplicate.test.js +111 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/tests/projector/flood.test.js +162 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/tests/projector/replay.test.js +107 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/tsconfig.tsbuildinfo +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/types/userPreferences.ts +12 -8
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/worker/index.js +5 -1
- package/lib/cli/daemon.js +7 -1
- package/lib/cli/onboarding.js +71 -1
- package/lib/cli/providers.js +5 -5
- package/lib/cli/runCli.js +12 -1
- package/lib/commands/chat.js +8 -2
- package/lib/executor.js +56 -3
- package/lib/proc/commandExists.js +14 -8
- package/package.json +1 -1
- package/scripts/postinstall.js +19 -7
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_215731e9._.js +0 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_2b2a91e2._.js +0 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_a7533794._.js +0 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_e1b68242._.js +0 -8
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__0d6259d5._.js +0 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__13df20fe._.js +0 -95
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__c76acf29._.js +0 -4
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__e5a1e0b5._.js +0 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/ae43b_lucide-react_dist_esm_6c755856._.js +0 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/ae43b_lucide-react_dist_esm_icons_search_04b9412a.js +0 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/0d58db99a936501d.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/20d98b7f52e93d14.js +0 -18
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/216d8e2f28fa9ab1.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/5d94ba021f22122d.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/5e2849404c532f70.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/81d22c5173d36098.js +0 -93
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/9b2c429432840844.css +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/9fa263ad20d27969.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/dc534541f2bd6342.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/agx-board.db +0 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/agx-board.db-shm +0 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/agx-board.db-wal +0 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/agx-queue.db +0 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/agx-queue.db-shm +0 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/agx-queue.db-wal +0 -0
- /package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/{m5R8F5c1zxb5EWbYNiR5n → UBZZwc9vLlz1xCm5PYCTc}/_buildManifest.js +0 -0
- /package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/{m5R8F5c1zxb5EWbYNiR5n → UBZZwc9vLlz1xCm5PYCTc}/_clientMiddlewareManifest.json +0 -0
- /package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/{m5R8F5c1zxb5EWbYNiR5n → UBZZwc9vLlz1xCm5PYCTc}/_ssgManifest.js +0 -0
package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/chat-ui/ChatContainer.tsx
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
3
|
import { useEffect, useRef, useState, useCallback, useMemo } from "react";
|
|
4
|
+
import { useRouter, useParams } from "next/navigation";
|
|
4
5
|
import { useGroupChat } from "@/hooks/useGroupChat";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
6
|
+
import { useWorkspaceState } from "@/hooks/useThreadState";
|
|
7
|
+
import { WorkspaceSidebar } from "@/components/thread/ThreadSidebar";
|
|
7
8
|
import "@/styles/threadSidebar.css";
|
|
8
9
|
import { MessageList } from "./MessageList";
|
|
9
10
|
import { ThreadView } from "./ThreadView";
|
|
@@ -11,8 +12,8 @@ import { SearchResults } from "./SearchResults";
|
|
|
11
12
|
import { Composer } from "./Composer";
|
|
12
13
|
import { LogPanel } from "./LogPanel";
|
|
13
14
|
import {
|
|
14
|
-
|
|
15
|
-
|
|
15
|
+
loadWorkspaceSidebarVisible,
|
|
16
|
+
persistWorkspaceSidebarVisible,
|
|
16
17
|
} from "@/state/uiSettings";
|
|
17
18
|
import {
|
|
18
19
|
loadStoredActiveParticipantIds,
|
|
@@ -29,7 +30,7 @@ import { buildTasks } from "@/services/agxService";
|
|
|
29
30
|
import { SquareTerminal, Search, ChevronLeft } from "lucide-react";
|
|
30
31
|
import { StatusIndicator } from "./StatusIndicator";
|
|
31
32
|
|
|
32
|
-
const
|
|
33
|
+
const LEGACY_WORKSPACE_ID = "global";
|
|
33
34
|
const SUMMARY_MARKER = "<!-- thread-summary -->";
|
|
34
35
|
const TASK_DRAFT_MARKER = "<!-- task-draft -->";
|
|
35
36
|
|
|
@@ -138,35 +139,51 @@ function toMarkdown(
|
|
|
138
139
|
return lines.join("\n").trim();
|
|
139
140
|
}
|
|
140
141
|
|
|
141
|
-
|
|
142
|
+
interface ChatContainerProps {
|
|
143
|
+
/** Workspace ID from URL (/w/<id>) */
|
|
144
|
+
workspaceId?: string;
|
|
145
|
+
/** Root message ID to open as a sub-thread view (/w/<id>/<threadId>) */
|
|
146
|
+
openRootMessageId?: string;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
export function ChatContainer({ workspaceId: propWorkspaceId, openRootMessageId }: ChatContainerProps = {}) {
|
|
150
|
+
const router = useRouter();
|
|
151
|
+
const params = useParams();
|
|
152
|
+
// Read from URL params so navigating /w/<id> <-> /w/<id>/<threadId> doesn't remount
|
|
153
|
+
const urlWorkspaceId = (params?.workspaceId as string | undefined) ?? propWorkspaceId;
|
|
154
|
+
const urlThreadId = (params?.threadId as string | undefined) ?? openRootMessageId ?? null;
|
|
142
155
|
const {
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
156
|
+
workspaces,
|
|
157
|
+
activeWorkspaceId,
|
|
158
|
+
selectWorkspace,
|
|
159
|
+
createWorkspace,
|
|
160
|
+
deleteWorkspace,
|
|
161
|
+
updateWorkspaceMessages,
|
|
149
162
|
isCreating,
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
isLoading:
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
} =
|
|
163
|
+
deletingWorkspaceId,
|
|
164
|
+
renamingWorkspaceId,
|
|
165
|
+
isLoading: workspacesLoading,
|
|
166
|
+
isRestoringActiveWorkspace,
|
|
167
|
+
renameWorkspace,
|
|
168
|
+
} = useWorkspaceState();
|
|
156
169
|
const { messages, streaming, loading, logs, sendMessage, loadHistory, clearLogs, stop, stopThread } =
|
|
157
|
-
useGroupChat(
|
|
170
|
+
useGroupChat(activeWorkspaceId);
|
|
158
171
|
const [participants, setParticipants] = useState<Participant[]>([]);
|
|
159
172
|
const [participantsLoaded, setParticipantsLoaded] = useState(false);
|
|
160
173
|
const [activeParticipantIds, setActiveParticipantIds] = useState<string[]>([]);
|
|
161
174
|
const [copied, setCopied] = useState(false);
|
|
162
175
|
const [logsOpen, setLogsOpen] = useState(false);
|
|
163
|
-
const [
|
|
176
|
+
const [workspaceSidebarVisible, setWorkspaceSidebarVisible] = useState(false);
|
|
164
177
|
|
|
165
178
|
// Sync sidebar visibility from localStorage after hydration to avoid SSR mismatch
|
|
166
179
|
useEffect(() => {
|
|
167
|
-
|
|
180
|
+
setWorkspaceSidebarVisible(loadWorkspaceSidebarVisible());
|
|
168
181
|
}, []);
|
|
169
|
-
const [openThreadId, setOpenThreadId] = useState<string | null>(
|
|
182
|
+
const [openThreadId, setOpenThreadId] = useState<string | null>(urlThreadId);
|
|
183
|
+
// Sync openThreadId with URL changes (navigating between /w/<id> and /w/<id>/<threadId>)
|
|
184
|
+
useEffect(() => {
|
|
185
|
+
setOpenThreadId(urlThreadId);
|
|
186
|
+
}, [urlThreadId]);
|
|
170
187
|
const [searchQuery, setSearchQuery] = useState("");
|
|
171
188
|
const [searchResults, setSearchResults] = useState<MessageSearchResult[]>([]);
|
|
172
189
|
const [searchTotal, setSearchTotal] = useState(0);
|
|
@@ -180,20 +197,20 @@ export function ChatContainer() {
|
|
|
180
197
|
setTaskDraftsRaw((prev) => {
|
|
181
198
|
const next = typeof update === "function" ? update(prev) : update;
|
|
182
199
|
// persist each changed draft
|
|
183
|
-
if (
|
|
200
|
+
if (activeWorkspaceId) {
|
|
184
201
|
for (const [msgId, draft] of Object.entries(next)) {
|
|
185
202
|
if (prev[msgId] !== draft) {
|
|
186
203
|
fetch("/api/task-drafts", {
|
|
187
204
|
method: "POST",
|
|
188
205
|
headers: { "Content-Type": "application/json" },
|
|
189
|
-
body: JSON.stringify({ threadId:
|
|
206
|
+
body: JSON.stringify({ threadId: activeWorkspaceId, messageId: msgId, draft }),
|
|
190
207
|
}).catch(() => { });
|
|
191
208
|
}
|
|
192
209
|
}
|
|
193
210
|
}
|
|
194
211
|
return next;
|
|
195
212
|
});
|
|
196
|
-
}, [
|
|
213
|
+
}, [activeWorkspaceId]);
|
|
197
214
|
const [extractingTasks, setExtractingTasks] = useState<Set<string>>(new Set());
|
|
198
215
|
const [buildingDrafts, setBuildingDrafts] = useState<Set<string>>(new Set());
|
|
199
216
|
const searchInputRef = useRef<HTMLInputElement | null>(null);
|
|
@@ -218,9 +235,9 @@ export function ChatContainer() {
|
|
|
218
235
|
[]
|
|
219
236
|
);
|
|
220
237
|
|
|
221
|
-
const
|
|
238
|
+
const persistWorkspaceSidebarPreferenceRemotely = useCallback(async (visible: boolean) => {
|
|
222
239
|
try {
|
|
223
|
-
await updateUserPreferences({
|
|
240
|
+
await updateUserPreferences({ workspaceSidebarVisible: visible });
|
|
224
241
|
} catch (error) {
|
|
225
242
|
console.error("Unable to persist thread sidebar preference", error);
|
|
226
243
|
}
|
|
@@ -228,20 +245,20 @@ export function ChatContainer() {
|
|
|
228
245
|
|
|
229
246
|
const persistSidebarPreference = useCallback(
|
|
230
247
|
(visible: boolean) => {
|
|
231
|
-
|
|
232
|
-
void
|
|
248
|
+
persistWorkspaceSidebarVisible(visible);
|
|
249
|
+
void persistWorkspaceSidebarPreferenceRemotely(visible);
|
|
233
250
|
},
|
|
234
|
-
[
|
|
251
|
+
[persistWorkspaceSidebarPreferenceRemotely]
|
|
235
252
|
);
|
|
236
253
|
|
|
237
254
|
const normalizedSearchQuery = searchQuery.trim();
|
|
238
255
|
const searchActive = normalizedSearchQuery.length > 0;
|
|
239
|
-
const
|
|
256
|
+
const workspaceTitleById = useMemo(
|
|
240
257
|
() =>
|
|
241
258
|
Object.fromEntries(
|
|
242
|
-
|
|
259
|
+
workspaces.map((workspace) => [workspace.id, workspace.title?.trim() || "Untitled workspace"])
|
|
243
260
|
),
|
|
244
|
-
[
|
|
261
|
+
[workspaces]
|
|
245
262
|
);
|
|
246
263
|
|
|
247
264
|
const activeThreadParticipants = useMemo(() => {
|
|
@@ -372,12 +389,12 @@ export function ChatContainer() {
|
|
|
372
389
|
const participantIds = participants.map((participant) => participant.id);
|
|
373
390
|
const participantIdSet = new Set(participantIds);
|
|
374
391
|
|
|
375
|
-
if (!
|
|
392
|
+
if (!activeWorkspaceId) {
|
|
376
393
|
setActiveParticipantIds(participantIds);
|
|
377
394
|
return;
|
|
378
395
|
}
|
|
379
396
|
|
|
380
|
-
const storedIds = loadStoredActiveParticipantIds(
|
|
397
|
+
const storedIds = loadStoredActiveParticipantIds(activeWorkspaceId);
|
|
381
398
|
if (storedIds === null) {
|
|
382
399
|
setActiveParticipantIds(participantIds);
|
|
383
400
|
return;
|
|
@@ -385,10 +402,10 @@ export function ChatContainer() {
|
|
|
385
402
|
|
|
386
403
|
const reconciled = storedIds.filter((id) => participantIdSet.has(id));
|
|
387
404
|
if (reconciled.length !== storedIds.length) {
|
|
388
|
-
persistStoredActiveParticipantIds(
|
|
405
|
+
persistStoredActiveParticipantIds(activeWorkspaceId, reconciled);
|
|
389
406
|
}
|
|
390
407
|
setActiveParticipantIds(reconciled);
|
|
391
|
-
}, [
|
|
408
|
+
}, [activeWorkspaceId, participants, participantsLoaded]);
|
|
392
409
|
|
|
393
410
|
useEffect(() => {
|
|
394
411
|
let cancelled = false;
|
|
@@ -396,12 +413,12 @@ export function ChatContainer() {
|
|
|
396
413
|
try {
|
|
397
414
|
const preferences = await fetchUserPreferences();
|
|
398
415
|
if (cancelled) return;
|
|
399
|
-
|
|
400
|
-
if (current === preferences.
|
|
416
|
+
setWorkspaceSidebarVisible((current) => {
|
|
417
|
+
if (current === preferences.workspaceSidebarVisible) {
|
|
401
418
|
return current;
|
|
402
419
|
}
|
|
403
|
-
|
|
404
|
-
return preferences.
|
|
420
|
+
persistWorkspaceSidebarVisible(preferences.workspaceSidebarVisible);
|
|
421
|
+
return preferences.workspaceSidebarVisible;
|
|
405
422
|
});
|
|
406
423
|
} catch (error) {
|
|
407
424
|
console.error("Failed to load user preferences", error);
|
|
@@ -410,13 +427,49 @@ export function ChatContainer() {
|
|
|
410
427
|
return () => {
|
|
411
428
|
cancelled = true;
|
|
412
429
|
};
|
|
413
|
-
}, [fetchUserPreferences,
|
|
430
|
+
}, [fetchUserPreferences, persistWorkspaceSidebarVisible]);
|
|
431
|
+
|
|
432
|
+
useEffect(() => {
|
|
433
|
+
if (!workspacesLoading && !isCreating && workspaces.length === 0) {
|
|
434
|
+
void createWorkspace({ id: LEGACY_WORKSPACE_ID, title: "General" });
|
|
435
|
+
}
|
|
436
|
+
}, [workspacesLoading, isCreating, workspaces.length, createWorkspace]);
|
|
437
|
+
|
|
438
|
+
// Select workspace from URL param on mount
|
|
439
|
+
const urlWorkspaceHandledRef = useRef(false);
|
|
440
|
+
useEffect(() => {
|
|
441
|
+
if (!urlWorkspaceId || workspacesLoading || urlWorkspaceHandledRef.current) return;
|
|
442
|
+
urlWorkspaceHandledRef.current = true;
|
|
443
|
+
const existing = workspaces.find((w) => w.id === urlWorkspaceId);
|
|
444
|
+
if (existing) {
|
|
445
|
+
selectWorkspace(urlWorkspaceId);
|
|
446
|
+
} else {
|
|
447
|
+
void createWorkspace({ id: urlWorkspaceId });
|
|
448
|
+
}
|
|
449
|
+
}, [urlWorkspaceId, workspacesLoading, workspaces, selectWorkspace, createWorkspace]);
|
|
450
|
+
|
|
451
|
+
// Redirect bare / to /w/<activeWorkspaceId>
|
|
452
|
+
const hasRedirectedRef = useRef(false);
|
|
453
|
+
useEffect(() => {
|
|
454
|
+
if (urlWorkspaceId || hasRedirectedRef.current || !activeWorkspaceId || workspacesLoading) return;
|
|
455
|
+
hasRedirectedRef.current = true;
|
|
456
|
+
router.replace(`/w/${activeWorkspaceId}`);
|
|
457
|
+
}, [urlWorkspaceId, activeWorkspaceId, workspacesLoading, router]);
|
|
414
458
|
|
|
459
|
+
// Sync URL when active workspace changes (only when already on /w/ route)
|
|
460
|
+
const prevActiveWorkspaceIdForUrlRef = useRef<string | null>(null);
|
|
415
461
|
useEffect(() => {
|
|
416
|
-
if (!
|
|
417
|
-
|
|
462
|
+
if (!urlWorkspaceId || !activeWorkspaceId) return;
|
|
463
|
+
if (prevActiveWorkspaceIdForUrlRef.current === null) {
|
|
464
|
+
prevActiveWorkspaceIdForUrlRef.current = activeWorkspaceId;
|
|
465
|
+
return;
|
|
418
466
|
}
|
|
419
|
-
|
|
467
|
+
if (activeWorkspaceId !== prevActiveWorkspaceIdForUrlRef.current) {
|
|
468
|
+
prevActiveWorkspaceIdForUrlRef.current = activeWorkspaceId;
|
|
469
|
+
router.replace(`/w/${activeWorkspaceId}`);
|
|
470
|
+
}
|
|
471
|
+
}, [urlWorkspaceId, activeWorkspaceId, router]);
|
|
472
|
+
|
|
420
473
|
|
|
421
474
|
useEffect(() => {
|
|
422
475
|
return () => {
|
|
@@ -502,10 +555,10 @@ export function ChatContainer() {
|
|
|
502
555
|
};
|
|
503
556
|
}, [normalizedSearchQuery]);
|
|
504
557
|
|
|
505
|
-
const
|
|
558
|
+
const prevActiveWorkspaceIdRef = useRef<string | null>(null);
|
|
506
559
|
useEffect(() => {
|
|
507
|
-
// Only stop active streams when actually switching
|
|
508
|
-
if (
|
|
560
|
+
// Only stop active streams when actually switching workspaces, not on initial mount.
|
|
561
|
+
if (prevActiveWorkspaceIdRef.current !== null && prevActiveWorkspaceIdRef.current !== activeWorkspaceId) {
|
|
509
562
|
stop();
|
|
510
563
|
if (pendingOpenThreadIdRef.current) {
|
|
511
564
|
setOpenThreadId(pendingOpenThreadIdRef.current);
|
|
@@ -514,11 +567,11 @@ export function ChatContainer() {
|
|
|
514
567
|
setOpenThreadId(null);
|
|
515
568
|
}
|
|
516
569
|
}
|
|
517
|
-
|
|
518
|
-
if (!
|
|
519
|
-
void loadHistory(
|
|
570
|
+
prevActiveWorkspaceIdRef.current = activeWorkspaceId;
|
|
571
|
+
if (!activeWorkspaceId) return;
|
|
572
|
+
void loadHistory(activeWorkspaceId);
|
|
520
573
|
// Load persisted task drafts
|
|
521
|
-
fetch(`/api/task-drafts?threadId=${encodeURIComponent(
|
|
574
|
+
fetch(`/api/task-drafts?threadId=${encodeURIComponent(activeWorkspaceId)}`)
|
|
522
575
|
.then((r) => r.json())
|
|
523
576
|
.then((data) => {
|
|
524
577
|
if (data.drafts && Object.keys(data.drafts).length > 0) {
|
|
@@ -528,33 +581,33 @@ export function ChatContainer() {
|
|
|
528
581
|
}
|
|
529
582
|
})
|
|
530
583
|
.catch(() => setTaskDraftsRaw({}));
|
|
531
|
-
}, [
|
|
584
|
+
}, [activeWorkspaceId, loadHistory, stop]);
|
|
532
585
|
|
|
533
586
|
useEffect(() => {
|
|
534
|
-
if (!
|
|
535
|
-
void
|
|
536
|
-
}, [
|
|
587
|
+
if (!activeWorkspaceId) return;
|
|
588
|
+
void updateWorkspaceMessages(activeWorkspaceId, messages);
|
|
589
|
+
}, [activeWorkspaceId, messages, updateWorkspaceMessages]);
|
|
537
590
|
|
|
538
591
|
const handleThreadReply = useCallback(
|
|
539
592
|
(rootMessageId: string, content: string, maxRounds: number = 10) => {
|
|
540
|
-
if (!
|
|
593
|
+
if (!activeWorkspaceId) return;
|
|
541
594
|
if (activeParticipants.length === 0) return;
|
|
542
595
|
void sendMessage(
|
|
543
596
|
content,
|
|
544
597
|
maxRounds,
|
|
545
|
-
|
|
598
|
+
activeWorkspaceId,
|
|
546
599
|
rootMessageId,
|
|
547
600
|
undefined,
|
|
548
601
|
undefined,
|
|
549
602
|
activeParticipants.map((participant) => participant.id)
|
|
550
603
|
);
|
|
551
604
|
},
|
|
552
|
-
[
|
|
605
|
+
[activeWorkspaceId, sendMessage, activeParticipants]
|
|
553
606
|
);
|
|
554
607
|
|
|
555
608
|
|
|
556
609
|
const handleSummarize = useCallback(async (rootMessageId: string) => {
|
|
557
|
-
if (!
|
|
610
|
+
if (!activeWorkspaceId) return;
|
|
558
611
|
if (activeParticipants.length === 0) {
|
|
559
612
|
window.alert("Enable at least one agent in this workspace.");
|
|
560
613
|
return;
|
|
@@ -565,13 +618,13 @@ export function ChatContainer() {
|
|
|
565
618
|
method: "POST",
|
|
566
619
|
headers: { "Content-Type": "application/json" },
|
|
567
620
|
body: JSON.stringify({
|
|
568
|
-
threadId:
|
|
621
|
+
threadId: activeWorkspaceId,
|
|
569
622
|
rootMessageId,
|
|
570
623
|
activeParticipantIds: activeParticipants.map((participant) => participant.id),
|
|
571
624
|
}),
|
|
572
625
|
});
|
|
573
626
|
if (res.ok) {
|
|
574
|
-
await loadHistory(
|
|
627
|
+
await loadHistory(activeWorkspaceId);
|
|
575
628
|
} else {
|
|
576
629
|
console.error("Summarize failed:", await res.text());
|
|
577
630
|
}
|
|
@@ -584,10 +637,10 @@ export function ChatContainer() {
|
|
|
584
637
|
return next;
|
|
585
638
|
});
|
|
586
639
|
}
|
|
587
|
-
}, [
|
|
640
|
+
}, [activeWorkspaceId, loadHistory, activeParticipants]);
|
|
588
641
|
|
|
589
642
|
const handleExtractTasks = useCallback(async (rootMessageId: string) => {
|
|
590
|
-
if (!
|
|
643
|
+
if (!activeWorkspaceId) return;
|
|
591
644
|
if (activeParticipants.length === 0) {
|
|
592
645
|
window.alert("Enable at least one agent in this workspace.");
|
|
593
646
|
return;
|
|
@@ -598,7 +651,7 @@ export function ChatContainer() {
|
|
|
598
651
|
method: "POST",
|
|
599
652
|
headers: { "Content-Type": "application/json" },
|
|
600
653
|
body: JSON.stringify({
|
|
601
|
-
threadId:
|
|
654
|
+
threadId: activeWorkspaceId,
|
|
602
655
|
rootMessageId,
|
|
603
656
|
activeParticipantIds: activeParticipants.map((participant) => participant.id),
|
|
604
657
|
}),
|
|
@@ -624,14 +677,14 @@ export function ChatContainer() {
|
|
|
624
677
|
return next;
|
|
625
678
|
});
|
|
626
679
|
}
|
|
627
|
-
}, [
|
|
680
|
+
}, [activeWorkspaceId, activeParticipants]);
|
|
628
681
|
|
|
629
682
|
const handleUpdateTaskDraft = useCallback((rootMessageId: string, draft: TaskDraftMessage) => {
|
|
630
683
|
setTaskDrafts((prev) => ({ ...prev, [rootMessageId]: draft }));
|
|
631
684
|
}, []);
|
|
632
685
|
|
|
633
686
|
const handleBuildTasks = useCallback(async (rootMessageId: string, draft: TaskDraftMessage, projectId: string, projectName: string) => {
|
|
634
|
-
if (!
|
|
687
|
+
if (!activeWorkspaceId) return;
|
|
635
688
|
setBuildingDrafts((prev) => new Set(prev).add(draft.draftId));
|
|
636
689
|
setTaskDrafts((prev) => ({
|
|
637
690
|
...prev,
|
|
@@ -676,10 +729,10 @@ export function ChatContainer() {
|
|
|
676
729
|
return next;
|
|
677
730
|
});
|
|
678
731
|
}
|
|
679
|
-
}, [
|
|
732
|
+
}, [activeWorkspaceId]);
|
|
680
733
|
|
|
681
734
|
const handleCreateTasksCommand = useCallback(() => {
|
|
682
|
-
if (!
|
|
735
|
+
if (!activeWorkspaceId) return;
|
|
683
736
|
const targetRootId = (() => {
|
|
684
737
|
if (openThreadId) return openThreadId;
|
|
685
738
|
const replyRoots = new Set(
|
|
@@ -700,15 +753,17 @@ export function ChatContainer() {
|
|
|
700
753
|
return;
|
|
701
754
|
}
|
|
702
755
|
void handleExtractTasks(targetRootId);
|
|
703
|
-
}, [
|
|
756
|
+
}, [activeWorkspaceId, handleExtractTasks, messages, openThreadId]);
|
|
704
757
|
|
|
705
758
|
const handleReplyToMessage = useCallback((messageId: string) => {
|
|
706
759
|
setOpenThreadId(messageId);
|
|
707
760
|
}, []);
|
|
708
761
|
|
|
709
762
|
const handleOpenThread = useCallback((rootMessageId: string) => {
|
|
710
|
-
|
|
711
|
-
|
|
763
|
+
if (activeWorkspaceId) {
|
|
764
|
+
router.push(`/w/${activeWorkspaceId}/${rootMessageId}`);
|
|
765
|
+
}
|
|
766
|
+
}, [activeWorkspaceId, router]);
|
|
712
767
|
|
|
713
768
|
const handleSearchCommand = useCallback((query?: string) => {
|
|
714
769
|
const normalized = query?.trim() ?? "";
|
|
@@ -724,7 +779,7 @@ export function ChatContainer() {
|
|
|
724
779
|
}, []);
|
|
725
780
|
|
|
726
781
|
const handleSummarizeCommand = useCallback(() => {
|
|
727
|
-
if (!
|
|
782
|
+
if (!activeWorkspaceId) return;
|
|
728
783
|
|
|
729
784
|
const targetRootId = (() => {
|
|
730
785
|
if (openThreadId) return openThreadId;
|
|
@@ -747,7 +802,7 @@ export function ChatContainer() {
|
|
|
747
802
|
return;
|
|
748
803
|
}
|
|
749
804
|
void handleSummarize(targetRootId);
|
|
750
|
-
}, [
|
|
805
|
+
}, [activeWorkspaceId, handleSummarize, messages, openThreadId]);
|
|
751
806
|
|
|
752
807
|
const handleSend = useCallback(
|
|
753
808
|
async (prompt: string, maxRounds: number, attachmentIds?: string[], attachmentMetas?: import("@/lib/types").Attachment[]) => {
|
|
@@ -767,10 +822,10 @@ export function ChatContainer() {
|
|
|
767
822
|
return;
|
|
768
823
|
}
|
|
769
824
|
|
|
770
|
-
let
|
|
771
|
-
if (!
|
|
772
|
-
const created = await
|
|
773
|
-
|
|
825
|
+
let workspaceId = activeWorkspaceId;
|
|
826
|
+
if (!workspaceId) {
|
|
827
|
+
const created = await createWorkspace();
|
|
828
|
+
workspaceId = created.id;
|
|
774
829
|
}
|
|
775
830
|
|
|
776
831
|
const selectedActiveIds = activeParticipants.map((participant) => participant.id);
|
|
@@ -783,7 +838,7 @@ export function ChatContainer() {
|
|
|
783
838
|
await sendMessage(
|
|
784
839
|
prompt,
|
|
785
840
|
maxRounds,
|
|
786
|
-
|
|
841
|
+
workspaceId,
|
|
787
842
|
openThreadId,
|
|
788
843
|
attachmentIds,
|
|
789
844
|
attachmentMetas,
|
|
@@ -797,7 +852,7 @@ export function ChatContainer() {
|
|
|
797
852
|
await sendMessage(
|
|
798
853
|
prompt,
|
|
799
854
|
maxRounds,
|
|
800
|
-
|
|
855
|
+
workspaceId,
|
|
801
856
|
null,
|
|
802
857
|
attachmentIds,
|
|
803
858
|
attachmentMetas,
|
|
@@ -805,8 +860,8 @@ export function ChatContainer() {
|
|
|
805
860
|
);
|
|
806
861
|
},
|
|
807
862
|
[
|
|
808
|
-
|
|
809
|
-
|
|
863
|
+
activeWorkspaceId,
|
|
864
|
+
createWorkspace,
|
|
810
865
|
handleSearchCommand,
|
|
811
866
|
handleSummarizeCommand,
|
|
812
867
|
openThreadId,
|
|
@@ -818,9 +873,9 @@ export function ChatContainer() {
|
|
|
818
873
|
const handleSelectSearchResult = useCallback(
|
|
819
874
|
(result: MessageSearchResult) => {
|
|
820
875
|
const targetRootId = result.rootMessageId || result.messageId;
|
|
821
|
-
if (result.threadId !==
|
|
876
|
+
if (result.threadId !== activeWorkspaceId) {
|
|
822
877
|
pendingOpenThreadIdRef.current = targetRootId;
|
|
823
|
-
|
|
878
|
+
selectWorkspace(result.threadId);
|
|
824
879
|
} else {
|
|
825
880
|
setOpenThreadId(targetRootId);
|
|
826
881
|
}
|
|
@@ -836,20 +891,20 @@ export function ChatContainer() {
|
|
|
836
891
|
});
|
|
837
892
|
clearSearch();
|
|
838
893
|
},
|
|
839
|
-
[
|
|
894
|
+
[activeWorkspaceId, clearSearch, selectWorkspace]
|
|
840
895
|
);
|
|
841
896
|
|
|
842
|
-
const
|
|
843
|
-
async (
|
|
897
|
+
const handleDeleteWorkspace = useCallback(
|
|
898
|
+
async (workspaceId: string) => {
|
|
844
899
|
stop();
|
|
845
|
-
await
|
|
900
|
+
await deleteWorkspace(workspaceId);
|
|
846
901
|
},
|
|
847
|
-
[
|
|
902
|
+
[deleteWorkspace, stop]
|
|
848
903
|
);
|
|
849
904
|
|
|
850
|
-
const
|
|
905
|
+
const handleDeleteWorkspaceRoot = useCallback(
|
|
851
906
|
async (rootMessageId: string) => {
|
|
852
|
-
if (!
|
|
907
|
+
if (!activeWorkspaceId || !rootMessageId) return;
|
|
853
908
|
const confirmed = window.confirm("Delete this thread and all of its replies?");
|
|
854
909
|
if (!confirmed) return;
|
|
855
910
|
|
|
@@ -858,7 +913,7 @@ export function ChatContainer() {
|
|
|
858
913
|
|
|
859
914
|
try {
|
|
860
915
|
const params = new URLSearchParams({
|
|
861
|
-
threadId:
|
|
916
|
+
threadId: activeWorkspaceId,
|
|
862
917
|
rootMessageId,
|
|
863
918
|
});
|
|
864
919
|
const response = await fetch(`/api/history?${params.toString()}`, { method: "DELETE" });
|
|
@@ -873,15 +928,15 @@ export function ChatContainer() {
|
|
|
873
928
|
const nextMessages = messages.filter(
|
|
874
929
|
(message) => message.id !== rootMessageId && message.rootMessageId !== rootMessageId
|
|
875
930
|
);
|
|
876
|
-
void
|
|
877
|
-
await loadHistory(
|
|
931
|
+
void updateWorkspaceMessages(activeWorkspaceId, nextMessages);
|
|
932
|
+
await loadHistory(activeWorkspaceId);
|
|
878
933
|
} catch (error) {
|
|
879
934
|
console.error("Failed to delete message thread", error);
|
|
880
935
|
} finally {
|
|
881
936
|
setDeletingThreadRootId((current) => (current === rootMessageId ? null : current));
|
|
882
937
|
}
|
|
883
938
|
},
|
|
884
|
-
[
|
|
939
|
+
[activeWorkspaceId, loadHistory, messages, stopThread, updateWorkspaceMessages]
|
|
885
940
|
);
|
|
886
941
|
|
|
887
942
|
const slashCommands: SlashCommand[] = useMemo(
|
|
@@ -923,8 +978,8 @@ export function ChatContainer() {
|
|
|
923
978
|
[handleThreadReply, stopThread, streaming, activeParticipants, slashCommands, messages]
|
|
924
979
|
);
|
|
925
980
|
|
|
926
|
-
const
|
|
927
|
-
|
|
981
|
+
const toggleWorkspaceSidebar = useCallback(() => {
|
|
982
|
+
setWorkspaceSidebarVisible((prev) => {
|
|
928
983
|
const next = !prev;
|
|
929
984
|
persistSidebarPreference(next);
|
|
930
985
|
return next;
|
|
@@ -961,10 +1016,10 @@ export function ChatContainer() {
|
|
|
961
1016
|
});
|
|
962
1017
|
if (res.ok) {
|
|
963
1018
|
setParticipants((prev) => prev.filter((p) => p.id !== id));
|
|
964
|
-
if (
|
|
1019
|
+
if (activeWorkspaceId) {
|
|
965
1020
|
setActiveParticipantIds((prev) => {
|
|
966
1021
|
const next = prev.filter((participantId) => participantId !== id);
|
|
967
|
-
persistStoredActiveParticipantIds(
|
|
1022
|
+
persistStoredActiveParticipantIds(activeWorkspaceId, next);
|
|
968
1023
|
return next;
|
|
969
1024
|
});
|
|
970
1025
|
}
|
|
@@ -1003,14 +1058,14 @@ export function ChatContainer() {
|
|
|
1003
1058
|
.map((participant) => participant.id)
|
|
1004
1059
|
.filter((id) => nextSet.has(id));
|
|
1005
1060
|
|
|
1006
|
-
if (
|
|
1007
|
-
persistStoredActiveParticipantIds(
|
|
1061
|
+
if (activeWorkspaceId) {
|
|
1062
|
+
persistStoredActiveParticipantIds(activeWorkspaceId, next);
|
|
1008
1063
|
}
|
|
1009
1064
|
|
|
1010
1065
|
return next;
|
|
1011
1066
|
});
|
|
1012
1067
|
},
|
|
1013
|
-
[
|
|
1068
|
+
[activeWorkspaceId, participants]
|
|
1014
1069
|
);
|
|
1015
1070
|
|
|
1016
1071
|
const searchInputBar = (
|
|
@@ -1053,27 +1108,31 @@ export function ChatContainer() {
|
|
|
1053
1108
|
|
|
1054
1109
|
return (
|
|
1055
1110
|
<div className="flex h-screen bg-white text-zinc-900">
|
|
1056
|
-
<
|
|
1057
|
-
|
|
1111
|
+
<WorkspaceSidebar
|
|
1112
|
+
workspaces={workspaces}
|
|
1058
1113
|
participants={participants}
|
|
1059
|
-
|
|
1060
|
-
isLoading={
|
|
1061
|
-
|
|
1114
|
+
activeWorkspaceId={activeWorkspaceId}
|
|
1115
|
+
isLoading={workspacesLoading}
|
|
1116
|
+
isRestoringActiveWorkspace={isRestoringActiveWorkspace}
|
|
1062
1117
|
isCreating={isCreating}
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1118
|
+
deletingWorkspaceId={deletingWorkspaceId}
|
|
1119
|
+
renamingWorkspaceId={renamingWorkspaceId}
|
|
1120
|
+
onSelectWorkspace={(workspaceId: string) => {
|
|
1121
|
+
setOpenThreadId(null);
|
|
1122
|
+
selectWorkspace(workspaceId);
|
|
1123
|
+
router.push(`/w/${workspaceId}`);
|
|
1124
|
+
}}
|
|
1125
|
+
onCreateWorkspace={createWorkspace}
|
|
1126
|
+
onRenameWorkspace={renameWorkspace}
|
|
1127
|
+
onDeleteWorkspace={handleDeleteWorkspace}
|
|
1069
1128
|
onAddParticipant={handleAdd}
|
|
1070
1129
|
onUpdateParticipant={handleUpdate}
|
|
1071
1130
|
onRemoveParticipant={handleRemove}
|
|
1072
1131
|
activeParticipantIds={activeParticipantIds}
|
|
1073
1132
|
onToggleParticipantActive={handleToggleParticipantActive}
|
|
1074
1133
|
onReorderParticipants={handleReorderParticipants}
|
|
1075
|
-
visible={
|
|
1076
|
-
onToggle={
|
|
1134
|
+
visible={workspaceSidebarVisible}
|
|
1135
|
+
onToggle={toggleWorkspaceSidebar}
|
|
1077
1136
|
|
|
1078
1137
|
/>
|
|
1079
1138
|
<div className="flex flex-col flex-1 min-w-0 relative">
|
|
@@ -1105,7 +1164,7 @@ export function ChatContainer() {
|
|
|
1105
1164
|
<header className="border-b border-slate-200 px-6 py-4 flex items-center h-16 pr-14">
|
|
1106
1165
|
<div className="flex items-center gap-3 min-w-0">
|
|
1107
1166
|
<button
|
|
1108
|
-
onClick={() =>
|
|
1167
|
+
onClick={() => router.push(activeWorkspaceId ? `/w/${activeWorkspaceId}` : "/")}
|
|
1109
1168
|
className="p-1.5 text-slate-400 hover:text-indigo-600 hover:bg-zinc-100 rounded-lg transition-all active:scale-95 flex-shrink-0"
|
|
1110
1169
|
title="Back to main feed"
|
|
1111
1170
|
>
|
|
@@ -1138,7 +1197,7 @@ export function ChatContainer() {
|
|
|
1138
1197
|
</header>
|
|
1139
1198
|
)}
|
|
1140
1199
|
{
|
|
1141
|
-
|
|
1200
|
+
isRestoringActiveWorkspace ? (
|
|
1142
1201
|
<div className="flex-1 flex items-center justify-center px-4 text-sm text-zinc-500">
|
|
1143
1202
|
Loading your last workspace…
|
|
1144
1203
|
</div>
|
|
@@ -1153,7 +1212,7 @@ export function ChatContainer() {
|
|
|
1153
1212
|
results={searchResults}
|
|
1154
1213
|
total={searchTotal}
|
|
1155
1214
|
participants={participants}
|
|
1156
|
-
threadTitleById={
|
|
1215
|
+
threadTitleById={workspaceTitleById}
|
|
1157
1216
|
isLoading={searchLoading}
|
|
1158
1217
|
error={searchError}
|
|
1159
1218
|
onSelectResult={handleSelectSearchResult}
|
|
@@ -1164,10 +1223,10 @@ export function ChatContainer() {
|
|
|
1164
1223
|
streaming={streaming}
|
|
1165
1224
|
participants={participants}
|
|
1166
1225
|
rootMessageId={openThreadId}
|
|
1167
|
-
onClose={() =>
|
|
1226
|
+
onClose={() => router.push(activeWorkspaceId ? `/w/${activeWorkspaceId}` : "/")}
|
|
1168
1227
|
onCopyThread={handleCopyThread}
|
|
1169
1228
|
onAddToChat={handleAddToChat}
|
|
1170
|
-
onDeleteThreadRoot={
|
|
1229
|
+
onDeleteThreadRoot={handleDeleteWorkspaceRoot}
|
|
1171
1230
|
highlightedMessageId={highlightedMessageId || undefined}
|
|
1172
1231
|
renderReplyComposer={renderReplyComposer}
|
|
1173
1232
|
/>
|
|
@@ -1179,7 +1238,7 @@ export function ChatContainer() {
|
|
|
1179
1238
|
onOpenThread={handleOpenThread}
|
|
1180
1239
|
onCopyThread={handleCopyThread}
|
|
1181
1240
|
onAddToChat={handleAddToChat}
|
|
1182
|
-
onDeleteThreadRoot={
|
|
1241
|
+
onDeleteThreadRoot={handleDeleteWorkspaceRoot}
|
|
1183
1242
|
onSummarize={handleSummarize}
|
|
1184
1243
|
onCreateTasks={handleExtractTasks}
|
|
1185
1244
|
onUpdateTaskDraft={handleUpdateTaskDraft}
|
|
@@ -1209,7 +1268,7 @@ export function ChatContainer() {
|
|
|
1209
1268
|
)
|
|
1210
1269
|
}
|
|
1211
1270
|
</div >
|
|
1212
|
-
<LogPanel logs={logs} participants={participants} onClear={() => void clearLogs(
|
|
1271
|
+
<LogPanel logs={logs} participants={participants} onClear={() => void clearLogs(activeWorkspaceId)} open={logsOpen} onToggle={() => setLogsOpen(false)} />
|
|
1213
1272
|
</div >
|
|
1214
1273
|
);
|
|
1215
1274
|
}
|