@mndrk/agx 2.0.0-next.9 → 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]__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/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/{f87cvqFLj2B3xctO0c7J0 → UBZZwc9vLlz1xCm5PYCTc}/_buildManifest.js +0 -0
- /package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/{f87cvqFLj2B3xctO0c7J0 → UBZZwc9vLlz1xCm5PYCTc}/_clientMiddlewareManifest.json +0 -0
- /package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/{f87cvqFLj2B3xctO0c7J0 → UBZZwc9vLlz1xCm5PYCTc}/_ssgManifest.js +0 -0
|
@@ -1,33 +1,33 @@
|
|
|
1
1
|
import type { GroupMessage } from "../types";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* Arbitrary metadata that can be stored alongside a
|
|
4
|
+
* Arbitrary metadata that can be stored alongside a workspace for sorting/filtering.
|
|
5
5
|
*/
|
|
6
|
-
export type
|
|
6
|
+
export type WorkspaceMetadata = Record<string, unknown>;
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
|
-
* The canonical representation of a
|
|
9
|
+
* The canonical representation of a workspace in agx-chat.
|
|
10
10
|
*/
|
|
11
|
-
export interface
|
|
12
|
-
/** Unique identifier for the
|
|
11
|
+
export interface Workspace {
|
|
12
|
+
/** Unique identifier for the workspace. */
|
|
13
13
|
id: string;
|
|
14
14
|
/** Human-friendly title (optional). */
|
|
15
15
|
title?: string;
|
|
16
|
-
/** Ordered messages that belong to the
|
|
16
|
+
/** Ordered messages that belong to the workspace. */
|
|
17
17
|
messages: GroupMessage[];
|
|
18
|
-
/** Denotes when the
|
|
18
|
+
/** Denotes when the workspace was created (epoch ms). */
|
|
19
19
|
createdAt: number;
|
|
20
|
-
/** Denotes the last time the
|
|
20
|
+
/** Denotes the last time the workspace was updated (epoch ms). */
|
|
21
21
|
updatedAt: number;
|
|
22
22
|
/** Optional metadata bucket adapters can use for sorting/filtering. */
|
|
23
|
-
metadata?:
|
|
23
|
+
metadata?: WorkspaceMetadata;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
/**
|
|
27
|
-
* Input data that is required when creating or updating a
|
|
27
|
+
* Input data that is required when creating or updating a workspace.
|
|
28
28
|
* Adapters may enrich this input with timestamps or derived metadata before persistence.
|
|
29
29
|
*/
|
|
30
|
-
export interface
|
|
30
|
+
export interface SaveWorkspaceInput extends Omit<Workspace, "createdAt" | "updatedAt"> {
|
|
31
31
|
/** Allow callers to override the created timestamp when reconstructing archives. */
|
|
32
32
|
createdAt?: number;
|
|
33
33
|
/** Allow callers to override the updated timestamp when reconstructing archives. */
|
|
@@ -35,48 +35,48 @@ export interface SaveThreadInput extends Omit<Thread, "createdAt" | "updatedAt">
|
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
/**
|
|
38
|
-
* Pagination and sort hints that adapters should honor when listing
|
|
38
|
+
* Pagination and sort hints that adapters should honor when listing workspaces.
|
|
39
39
|
*/
|
|
40
|
-
export interface
|
|
41
|
-
/** Maximum number of
|
|
40
|
+
export interface WorkspaceListOptions {
|
|
41
|
+
/** Maximum number of workspaces to return. Defaults to all available workspaces. */
|
|
42
42
|
limit?: number;
|
|
43
|
-
/** Number of
|
|
43
|
+
/** Number of workspaces to skip before collecting results (offset-style cursor). */
|
|
44
44
|
offset?: number;
|
|
45
|
-
/** Sort order for the
|
|
45
|
+
/** Sort order for the workspaces based on `updatedAt`. Defaults to "desc" (newest first). */
|
|
46
46
|
order?: "asc" | "desc";
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
/**
|
|
50
|
-
* Result payload for `
|
|
50
|
+
* Result payload for `listWorkspaces` that includes the requested subset and the total size.
|
|
51
51
|
*/
|
|
52
|
-
export interface
|
|
53
|
-
/**
|
|
54
|
-
|
|
55
|
-
/** Total number of available
|
|
52
|
+
export interface ListWorkspacesResult {
|
|
53
|
+
/** Workspaces for the current page. */
|
|
54
|
+
workspaces: Workspace[];
|
|
55
|
+
/** Total number of available workspaces (before paging). */
|
|
56
56
|
total: number;
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
/**
|
|
60
|
-
* Abstraction over storage mechanisms that persist
|
|
60
|
+
* Abstraction over storage mechanisms that persist workspaces.
|
|
61
61
|
*/
|
|
62
|
-
export interface
|
|
62
|
+
export interface WorkspaceAdapter {
|
|
63
63
|
/**
|
|
64
|
-
* Persist a
|
|
64
|
+
* Persist a workspace. Implementations should update timestamps and return the stored result.
|
|
65
65
|
*/
|
|
66
|
-
|
|
66
|
+
saveWorkspace(input: SaveWorkspaceInput): Promise<Workspace>;
|
|
67
67
|
|
|
68
68
|
/**
|
|
69
|
-
* Load a
|
|
69
|
+
* Load a workspace by its `id`. Return `null` when the workspace does not exist.
|
|
70
70
|
*/
|
|
71
|
-
|
|
71
|
+
loadWorkspace(workspaceId: string): Promise<Workspace | null>;
|
|
72
72
|
|
|
73
73
|
/**
|
|
74
|
-
* List persisted
|
|
74
|
+
* List persisted workspaces with optional pagination/sorting hints.
|
|
75
75
|
*/
|
|
76
|
-
|
|
76
|
+
listWorkspaces(options?: WorkspaceListOptions): Promise<ListWorkspacesResult>;
|
|
77
77
|
|
|
78
78
|
/**
|
|
79
|
-
* Remove a persisted
|
|
79
|
+
* Remove a persisted workspace. The method should be idempotent.
|
|
80
80
|
*/
|
|
81
|
-
|
|
81
|
+
deleteWorkspace(workspaceId: string): Promise<void>;
|
|
82
82
|
}
|
|
@@ -323,7 +323,8 @@ function buildContext(
|
|
|
323
323
|
transcript: Array<{ name: string; content: string }>,
|
|
324
324
|
recentHistory: Array<{ id: string; name: string; content: string }>,
|
|
325
325
|
exchangeMessages: Array<{ id: string; name: string; content: string }>,
|
|
326
|
-
currentUserMessageId: string | null
|
|
326
|
+
currentUserMessageId: string | null,
|
|
327
|
+
invitedBy: string | null
|
|
327
328
|
): string {
|
|
328
329
|
const otherActive = active.filter((p) => p.id !== self.id);
|
|
329
330
|
const otherNames = otherActive.map((p) => p.name).join(", ");
|
|
@@ -337,6 +338,9 @@ You are "${self.name}" in a group chat. All agents: ${allNames}.`;
|
|
|
337
338
|
if (otherNames) {
|
|
338
339
|
context += ` Currently active in this exchange: ${otherNames}.`;
|
|
339
340
|
}
|
|
341
|
+
if (invitedBy) {
|
|
342
|
+
context += `\nYou were invited into this conversation by ${invitedBy}. The user's message was directed at ${invitedBy}, not at you. Your job is to contribute your own perspective, feedback, or expertise — not to re-ask others to do the same thing.`;
|
|
343
|
+
}
|
|
340
344
|
context += `
|
|
341
345
|
Respond as ${self.name} only. Keep responses conversational and concise.
|
|
342
346
|
IMPORTANT: Always respond to the user's actual question. Do not reference unrelated technical context, previous threads, or system internals unless directly asked.
|
|
@@ -349,6 +353,8 @@ Mentions:
|
|
|
349
353
|
- To run agents in parallel, use @@ (double-at): @@${exampleName} — e.g. "@@Alice @@Bob" runs both concurrently.
|
|
350
354
|
- You only get another turn if someone @mentions you. If you need to continue working (e.g. writing code), @mention yourself: @${self.name}.
|
|
351
355
|
- If your work is complete, do NOT @mention yourself — just deliver your final response.
|
|
356
|
+
- NEVER just forward or re-delegate a request. If someone asks you to review, give your actual review. If asked to help, do the work. Simply @mentioning others to do what you were asked to do is not a valid response.
|
|
357
|
+
- Only @mention others when you genuinely need their specific input on something new — not to pass along the same request you received.
|
|
352
358
|
|
|
353
359
|
Reactions (machine-readable status channel):
|
|
354
360
|
- Emit status with tags: [reaction target=<messageId> type=ack|working|done|clarify|blocked reason="..." blockerCode=<optional>]
|
|
@@ -412,7 +418,8 @@ async function runAgent(
|
|
|
412
418
|
currentUserMessageId: string | null,
|
|
413
419
|
signal: AbortSignal | undefined,
|
|
414
420
|
write: (event: ChatEvent) => void,
|
|
415
|
-
rootMessageId?: string | null
|
|
421
|
+
rootMessageId?: string | null,
|
|
422
|
+
invitedBy?: string | null
|
|
416
423
|
): Promise<{
|
|
417
424
|
skipped: boolean;
|
|
418
425
|
response: string;
|
|
@@ -444,13 +451,19 @@ async function runAgent(
|
|
|
444
451
|
selfContent = `[Self — who you've become through experience]\n${agentSelf.content}`;
|
|
445
452
|
}
|
|
446
453
|
|
|
447
|
-
// Resolve skills: read each file and concatenate
|
|
454
|
+
// Resolve skills: read each file and concatenate with conditions
|
|
448
455
|
let skillsContent: string | undefined;
|
|
449
456
|
if (p.skills && p.skills.length > 0) {
|
|
450
457
|
const parts = await Promise.all(
|
|
451
|
-
p.skills.map(async (
|
|
458
|
+
p.skills.map(async (skill) => {
|
|
459
|
+
// Support both new {file,condition} format and legacy string format
|
|
460
|
+
const reference = typeof skill === "string" ? skill : skill.file;
|
|
461
|
+
const condition = typeof skill === "string" ? "" : skill.condition;
|
|
452
462
|
const resolved = await readReferenceContent(reference);
|
|
453
|
-
|
|
463
|
+
const header = condition
|
|
464
|
+
? `--- ${resolved.label} ---\nUse when: ${condition}`
|
|
465
|
+
: `--- ${resolved.label} ---`;
|
|
466
|
+
return `${header}\n${resolved.content}`;
|
|
454
467
|
})
|
|
455
468
|
);
|
|
456
469
|
skillsContent = `[Skills]\n${parts.join("\n\n")}`;
|
|
@@ -464,7 +477,8 @@ async function runAgent(
|
|
|
464
477
|
transcript,
|
|
465
478
|
recentHistory,
|
|
466
479
|
exchangeMessages,
|
|
467
|
-
currentUserMessageId
|
|
480
|
+
currentUserMessageId,
|
|
481
|
+
invitedBy ?? null
|
|
468
482
|
);
|
|
469
483
|
write({
|
|
470
484
|
type: "log",
|
|
@@ -707,6 +721,8 @@ export function createMultiplexedStream({
|
|
|
707
721
|
|
|
708
722
|
const transcript: Array<{ name: string; content: string }> = [];
|
|
709
723
|
const exchangeMessages: Array<{ id: string; name: string; content: string }> = [];
|
|
724
|
+
// Track who invited each agent so they know their role (contributor vs. lead)
|
|
725
|
+
const invitedByMap = new Map<string, string>();
|
|
710
726
|
// Prior messages for dedup — includes recent DB history so we catch
|
|
711
727
|
// repetitions across separate user sends, not just within one exchange
|
|
712
728
|
const priorMessages: Array<{ name: string; content: string }> = recentHistory
|
|
@@ -761,7 +777,8 @@ export function createMultiplexedStream({
|
|
|
761
777
|
currentUserMessageId || null,
|
|
762
778
|
signal,
|
|
763
779
|
write,
|
|
764
|
-
rootMessageId
|
|
780
|
+
rootMessageId,
|
|
781
|
+
invitedByMap.get(agent.id) || null
|
|
765
782
|
);
|
|
766
783
|
return { agent, result };
|
|
767
784
|
});
|
|
@@ -792,6 +809,10 @@ export function createMultiplexedStream({
|
|
|
792
809
|
}
|
|
793
810
|
|
|
794
811
|
for (const id of result.mentions) {
|
|
812
|
+
if (id === agent.id) continue;
|
|
813
|
+
if (!invitedByMap.has(id)) {
|
|
814
|
+
invitedByMap.set(id, agent.name);
|
|
815
|
+
}
|
|
795
816
|
activeIds.add(id);
|
|
796
817
|
const mentionedIdx = activeList.findIndex((a) => a.id === id);
|
|
797
818
|
const isPendingInThisRound =
|
|
@@ -824,7 +845,8 @@ export function createMultiplexedStream({
|
|
|
824
845
|
currentUserMessageId || null,
|
|
825
846
|
signal,
|
|
826
847
|
write,
|
|
827
|
-
rootMessageId
|
|
848
|
+
rootMessageId,
|
|
849
|
+
invitedByMap.get(p.id) || null
|
|
828
850
|
);
|
|
829
851
|
|
|
830
852
|
if (result.skipped) continue;
|
|
@@ -853,6 +875,14 @@ export function createMultiplexedStream({
|
|
|
853
875
|
|
|
854
876
|
// Mark mentioned agents as addressed for next round
|
|
855
877
|
for (const id of result.mentions) {
|
|
878
|
+
// Skip self-mentions — agents shouldn't invite themselves
|
|
879
|
+
if (id === p.id) continue;
|
|
880
|
+
|
|
881
|
+
// Track who invited this agent (first inviter wins)
|
|
882
|
+
if (!invitedByMap.has(id)) {
|
|
883
|
+
invitedByMap.set(id, p.name);
|
|
884
|
+
}
|
|
885
|
+
|
|
856
886
|
// Optimization: if the mentioned agent is yet to run in THIS round (and is addressed),
|
|
857
887
|
// they will see this message and respond immediately. No need to queue them for next round.
|
|
858
888
|
const mentionedIdx = activeList.findIndex((a) => a.id === id);
|
|
@@ -868,6 +898,7 @@ export function createMultiplexedStream({
|
|
|
868
898
|
// Collect newly invited agents
|
|
869
899
|
const newlyInvited = new Set<string>();
|
|
870
900
|
for (const id of result.mentions) {
|
|
901
|
+
if (id === p.id) continue; // ignore self-mentions
|
|
871
902
|
if (!activeIds.has(id)) {
|
|
872
903
|
activeIds.add(id);
|
|
873
904
|
newlyInvited.add(id);
|
|
@@ -893,7 +924,8 @@ export function createMultiplexedStream({
|
|
|
893
924
|
currentUserMessageId || null,
|
|
894
925
|
signal,
|
|
895
926
|
write,
|
|
896
|
-
rootMessageId
|
|
927
|
+
rootMessageId,
|
|
928
|
+
invitedByMap.get(a.id) || null
|
|
897
929
|
);
|
|
898
930
|
return { agent: a, result: r };
|
|
899
931
|
});
|
|
@@ -917,6 +949,10 @@ export function createMultiplexedStream({
|
|
|
917
949
|
transcript.push({ name: agent.name, content: r.response });
|
|
918
950
|
}
|
|
919
951
|
for (const id of r.mentions) {
|
|
952
|
+
if (id === agent.id) continue;
|
|
953
|
+
if (!invitedByMap.has(id)) {
|
|
954
|
+
invitedByMap.set(id, agent.name);
|
|
955
|
+
}
|
|
920
956
|
activeIds.add(id);
|
|
921
957
|
addressedNextRound.add(id);
|
|
922
958
|
}
|
|
@@ -15,9 +15,15 @@ export interface Participant {
|
|
|
15
15
|
color: string;
|
|
16
16
|
identity?: string;
|
|
17
17
|
identityFile?: string;
|
|
18
|
-
skills?:
|
|
18
|
+
skills?: Skill[];
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
+
export interface Skill {
|
|
22
|
+
file: string;
|
|
23
|
+
condition: string;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
|
|
21
27
|
export type ReactionType = "ack" | "working" | "done" | "clarify" | "blocked";
|
|
22
28
|
|
|
23
29
|
export interface MessageReaction {
|
|
@@ -480,3 +480,48 @@ CREATE TRIGGER IF NOT EXISTS execution_graphs_auto_update
|
|
|
480
480
|
graph_version = OLD.graph_version + 1
|
|
481
481
|
WHERE rowid = NEW.rowid;
|
|
482
482
|
END;
|
|
483
|
+
|
|
484
|
+
-- ---------------------------------------------------------------------------
|
|
485
|
+
-- Notifications read-model (projector output)
|
|
486
|
+
-- ---------------------------------------------------------------------------
|
|
487
|
+
|
|
488
|
+
CREATE TABLE IF NOT EXISTS notifications (
|
|
489
|
+
id TEXT NOT NULL PRIMARY KEY DEFAULT (lower(hex(randomblob(4)) || '-' || hex(randomblob(2)) || '-4' || substr(hex(randomblob(2)),2) || '-' || substr('89ab',abs(random()) % 4 + 1, 1) || substr(hex(randomblob(2)),2) || '-' || hex(randomblob(6)))),
|
|
490
|
+
user_id TEXT NOT NULL,
|
|
491
|
+
task_id TEXT NOT NULL,
|
|
492
|
+
event_id TEXT NOT NULL,
|
|
493
|
+
type TEXT NOT NULL,
|
|
494
|
+
tier TEXT NOT NULL DEFAULT 'info' CHECK(tier IN ('info', 'warning', 'error', 'success')),
|
|
495
|
+
title TEXT NOT NULL,
|
|
496
|
+
body TEXT,
|
|
497
|
+
created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now')),
|
|
498
|
+
read_at TEXT,
|
|
499
|
+
UNIQUE (event_id, user_id, type)
|
|
500
|
+
);
|
|
501
|
+
|
|
502
|
+
CREATE INDEX IF NOT EXISTS idx_notifications_user_unread ON notifications(user_id, read_at);
|
|
503
|
+
CREATE INDEX IF NOT EXISTS idx_notifications_task ON notifications(task_id);
|
|
504
|
+
|
|
505
|
+
-- ---------------------------------------------------------------------------
|
|
506
|
+
-- Notification outbox
|
|
507
|
+
-- ---------------------------------------------------------------------------
|
|
508
|
+
|
|
509
|
+
CREATE TABLE IF NOT EXISTS notification_outbox (
|
|
510
|
+
id TEXT NOT NULL PRIMARY KEY DEFAULT (lower(hex(randomblob(4)) || '-' || hex(randomblob(2)) || '-4' || substr(hex(randomblob(2)),2) || '-' || substr('89ab',abs(random()) % 4 + 1, 1) || substr(hex(randomblob(2)),2) || '-' || hex(randomblob(6)))),
|
|
511
|
+
notification_id TEXT NOT NULL REFERENCES notifications(id) ON DELETE CASCADE,
|
|
512
|
+
payload JSON NOT NULL CHECK(json_valid(payload)),
|
|
513
|
+
created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now')),
|
|
514
|
+
delivered_at TEXT
|
|
515
|
+
);
|
|
516
|
+
|
|
517
|
+
CREATE INDEX IF NOT EXISTS idx_notification_outbox_pending ON notification_outbox(delivered_at, created_at);
|
|
518
|
+
|
|
519
|
+
-- ---------------------------------------------------------------------------
|
|
520
|
+
-- Projector checkpoint cursors
|
|
521
|
+
-- ---------------------------------------------------------------------------
|
|
522
|
+
|
|
523
|
+
CREATE TABLE IF NOT EXISTS projector_cursors (
|
|
524
|
+
consumer_id TEXT NOT NULL PRIMARY KEY,
|
|
525
|
+
last_event_id TEXT NOT NULL,
|
|
526
|
+
updated_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now'))
|
|
527
|
+
);
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
AGX — THINK FIRST, BUILD FAST
|
|
2
|
+
==============================
|
|
3
|
+
|
|
4
|
+
PART 1: THE PROBLEM
|
|
5
|
+
-------------------
|
|
6
|
+
|
|
7
|
+
When I want to build something, I usually start by brainstorming ideas, then come up with a plan, before writing any code.
|
|
8
|
+
|
|
9
|
+
To refine the idea into plan before execution I used to jump between:
|
|
10
|
+
- different models Claude, GPT
|
|
11
|
+
- and tools: claude code, codex, cursor, antigravity
|
|
12
|
+
|
|
13
|
+
Now, all of that happens in one place.
|
|
14
|
+
|
|
15
|
+
PART 2: WHAT CHANGED
|
|
16
|
+
---------------------
|
|
17
|
+
|
|
18
|
+
Let's say I want to add a notification system to AGX.
|
|
19
|
+
|
|
20
|
+
Let's start with something vague:
|
|
21
|
+
|
|
22
|
+
"Add a notification system to AGX."
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
PART 3: HOW IT WORKS — A LIVE EXAMPLE
|
|
28
|
+
--------------------------------------
|
|
29
|
+
|
|
30
|
+
Let me show you what this looks like in practice.
|
|
31
|
+
|
|
32
|
+
Say I want to add a notification system to AGX. I'll start with something
|
|
33
|
+
intentionally vague:
|
|
34
|
+
|
|
35
|
+
"Add a notification system to AGX."
|
|
36
|
+
|
|
37
|
+
I keep it vague on purpose. I don't want to jump to implementation. I want
|
|
38
|
+
my agents to help me figure out what I actually want.
|
|
39
|
+
|
|
40
|
+
[DEMO: Type the vague prompt into AGX chat]
|
|
41
|
+
|
|
42
|
+
The agents don't just start coding. They start asking questions:
|
|
43
|
+
|
|
44
|
+
— What types of notifications? Errors? Status updates? Mentions?
|
|
45
|
+
— In-app? Email? Both?
|
|
46
|
+
— Real-time push, or periodic digests?
|
|
47
|
+
— Per-user preferences, or system-wide defaults?
|
|
48
|
+
— Event-driven, or polling?
|
|
49
|
+
|
|
50
|
+
This is the diverge phase. We're expanding the problem space, not narrowing
|
|
51
|
+
it. I'm not answering a spec — I'm discovering what I care about.
|
|
52
|
+
|
|
53
|
+
[DEMO: Show the back-and-forth conversation in AGX]
|
|
54
|
+
|
|
55
|
+
And here's the key: some of the best questions are ones I wouldn't have
|
|
56
|
+
thought to ask myself. The agents surface tradeoffs I hadn't considered.
|
|
57
|
+
They make me think harder.
|
|
58
|
+
|
|
59
|
+
Through this conversation, I start to see the shape of what I actually want:
|
|
60
|
+
|
|
61
|
+
— Event-driven architecture
|
|
62
|
+
— Multiple notification channels
|
|
63
|
+
— Users control their own frequency and preferences
|
|
64
|
+
— Start with in-app, design for email later
|
|
65
|
+
|
|
66
|
+
We diverged first. Explored. Now we converge on a clear direction.
|
|
67
|
+
|
|
68
|
+
[DEMO: Show the refined plan that emerges from the conversation]
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
PART 4: FROM PLAN TO EXECUTION
|
|
72
|
+
-------------------------------
|
|
73
|
+
|
|
74
|
+
Now — and only now — do we start building.
|
|
75
|
+
|
|
76
|
+
But the transition is seamless. The agents already have full context from
|
|
77
|
+
the thinking phase. There's no handoff. No "let me re-explain what I want
|
|
78
|
+
to a different tool." The same environment that helped me think now helps
|
|
79
|
+
me build.
|
|
80
|
+
|
|
81
|
+
[DEMO: Show AGX generating tasks from the plan]
|
|
82
|
+
|
|
83
|
+
The plan becomes tasks. The tasks become code. The code gets tested. All
|
|
84
|
+
in the same place, with the same context, by the same agents who helped me
|
|
85
|
+
think through the design.
|
|
86
|
+
|
|
87
|
+
[DEMO: Show code being generated and tested]
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
PART 5: WHY THIS MATTERS
|
|
91
|
+
--------------------------
|
|
92
|
+
|
|
93
|
+
The old way:
|
|
94
|
+
|
|
95
|
+
Idea → Tool A → Tool B → Tool C → Tool D → Maybe the right thing
|
|
96
|
+
|
|
97
|
+
The AGX way:
|
|
98
|
+
|
|
99
|
+
Vague idea → Thinking → Clear plan → Execution → The right thing
|
|
100
|
+
|
|
101
|
+
The difference isn't speed. It's accuracy. When you think clearly first,
|
|
102
|
+
you build the right thing the first time. You don't waste cycles building
|
|
103
|
+
something, realizing it's wrong, and starting over.
|
|
104
|
+
|
|
105
|
+
AGX doesn't just make me faster. It makes me more intentional.
|
|
106
|
+
|
|
107
|
+
I don't start by coding. I start by thinking.
|
|
108
|
+
And AGX makes sure the thinking is as rigorous as the code.
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
=== END ===
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type {
|
|
1
|
+
import { LocalWorkspaceAdapter } from "@/lib/storage";
|
|
2
|
+
import type { SaveWorkspaceInput, Workspace } from "@/lib/storage";
|
|
3
3
|
import type { GroupMessage } from "@/lib/types";
|
|
4
4
|
|
|
5
|
-
const adapter = new
|
|
5
|
+
const adapter = new LocalWorkspaceAdapter();
|
|
6
6
|
|
|
7
|
-
const
|
|
7
|
+
const createWorkspaceId = (): string => {
|
|
8
8
|
if (typeof crypto !== "undefined" && typeof crypto.randomUUID === "function") {
|
|
9
9
|
return crypto.randomUUID();
|
|
10
10
|
}
|
|
11
|
-
return `
|
|
11
|
+
return `workspace-${Date.now()}-${Math.random().toString(16).slice(2)}`;
|
|
12
12
|
};
|
|
13
13
|
|
|
14
|
-
const sortByUpdatedAt = (
|
|
15
|
-
[...
|
|
14
|
+
const sortByUpdatedAt = (workspaces: Workspace[]) =>
|
|
15
|
+
[...workspaces].sort((a, b) => b.updatedAt - a.updatedAt);
|
|
16
16
|
|
|
17
|
-
function
|
|
18
|
-
const archived = (
|
|
17
|
+
function isArchivedWorkspace(workspace: Workspace): boolean {
|
|
18
|
+
const archived = (workspace.metadata as { archived?: unknown } | undefined)?.archived;
|
|
19
19
|
return archived === true;
|
|
20
20
|
}
|
|
21
21
|
|
|
@@ -44,19 +44,19 @@ function areMessagesEqual(a: GroupMessage[], b: GroupMessage[]): boolean {
|
|
|
44
44
|
return true;
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
export const
|
|
48
|
-
async
|
|
49
|
-
const result = await adapter.
|
|
50
|
-
return sortByUpdatedAt(result.
|
|
47
|
+
export const workspaceService = {
|
|
48
|
+
async listWorkspaces(): Promise<Workspace[]> {
|
|
49
|
+
const result = await adapter.listWorkspaces({ order: "desc" });
|
|
50
|
+
return sortByUpdatedAt(result.workspaces.filter((workspace) => !isArchivedWorkspace(workspace)));
|
|
51
51
|
},
|
|
52
52
|
|
|
53
|
-
async
|
|
54
|
-
input?: Partial<Pick<
|
|
55
|
-
): Promise<
|
|
53
|
+
async createWorkspace(
|
|
54
|
+
input?: Partial<Pick<SaveWorkspaceInput, "id" | "title" | "messages" | "metadata">>
|
|
55
|
+
): Promise<Workspace> {
|
|
56
56
|
const requestedId = typeof input?.id === "string" ? input.id.trim() : "";
|
|
57
57
|
|
|
58
58
|
if (requestedId) {
|
|
59
|
-
const existing = await adapter.
|
|
59
|
+
const existing = await adapter.loadWorkspace(requestedId);
|
|
60
60
|
if (existing) {
|
|
61
61
|
const metadata = {
|
|
62
62
|
...(existing.metadata ?? {}),
|
|
@@ -64,7 +64,7 @@ export const threadService = {
|
|
|
64
64
|
archived: false,
|
|
65
65
|
archivedAt: null,
|
|
66
66
|
};
|
|
67
|
-
return adapter.
|
|
67
|
+
return adapter.saveWorkspace({
|
|
68
68
|
id: existing.id,
|
|
69
69
|
title: input?.title ?? existing.title,
|
|
70
70
|
messages: input?.messages?.length ? input.messages : existing.messages,
|
|
@@ -74,20 +74,20 @@ export const threadService = {
|
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
-
const payload:
|
|
78
|
-
id: requestedId ||
|
|
77
|
+
const payload: SaveWorkspaceInput = {
|
|
78
|
+
id: requestedId || createWorkspaceId(),
|
|
79
79
|
messages: input?.messages?.length ? input.messages : [],
|
|
80
80
|
title: input?.title,
|
|
81
81
|
metadata: input?.metadata,
|
|
82
82
|
};
|
|
83
|
-
return adapter.
|
|
83
|
+
return adapter.saveWorkspace(payload);
|
|
84
84
|
},
|
|
85
85
|
|
|
86
|
-
async
|
|
87
|
-
const id =
|
|
86
|
+
async deleteWorkspace(workspaceId: string) {
|
|
87
|
+
const id = workspaceId.trim();
|
|
88
88
|
if (!id) return;
|
|
89
89
|
|
|
90
|
-
const existing = await adapter.
|
|
90
|
+
const existing = await adapter.loadWorkspace(id);
|
|
91
91
|
if (!existing) return;
|
|
92
92
|
|
|
93
93
|
const metadata = {
|
|
@@ -96,7 +96,7 @@ export const threadService = {
|
|
|
96
96
|
archivedAt: Date.now(),
|
|
97
97
|
};
|
|
98
98
|
|
|
99
|
-
await adapter.
|
|
99
|
+
await adapter.saveWorkspace({
|
|
100
100
|
id: existing.id,
|
|
101
101
|
title: existing.title,
|
|
102
102
|
messages: existing.messages,
|
|
@@ -105,19 +105,19 @@ export const threadService = {
|
|
|
105
105
|
});
|
|
106
106
|
},
|
|
107
107
|
|
|
108
|
-
async
|
|
109
|
-
const id =
|
|
108
|
+
async renameWorkspace(workspaceId: string, title: string) {
|
|
109
|
+
const id = workspaceId.trim();
|
|
110
110
|
const nextTitle = title.trim();
|
|
111
111
|
if (!id || !nextTitle) return null;
|
|
112
112
|
|
|
113
|
-
const existing = await adapter.
|
|
113
|
+
const existing = await adapter.loadWorkspace(id);
|
|
114
114
|
if (!existing) return null;
|
|
115
115
|
|
|
116
116
|
if ((existing.title?.trim() ?? "") === nextTitle) {
|
|
117
117
|
return existing;
|
|
118
118
|
}
|
|
119
119
|
|
|
120
|
-
return adapter.
|
|
120
|
+
return adapter.saveWorkspace({
|
|
121
121
|
id: existing.id,
|
|
122
122
|
title: nextTitle,
|
|
123
123
|
messages: existing.messages,
|
|
@@ -126,8 +126,8 @@ export const threadService = {
|
|
|
126
126
|
});
|
|
127
127
|
},
|
|
128
128
|
|
|
129
|
-
async
|
|
130
|
-
const existing = await adapter.
|
|
129
|
+
async saveWorkspaceMessages(workspaceId: string, messages: GroupMessage[]): Promise<Workspace | null> {
|
|
130
|
+
const existing = await adapter.loadWorkspace(workspaceId);
|
|
131
131
|
if (!existing) return null;
|
|
132
132
|
|
|
133
133
|
const title = existing.title?.trim() || deriveTitleFromMessages(messages);
|
|
@@ -135,7 +135,7 @@ export const threadService = {
|
|
|
135
135
|
return existing;
|
|
136
136
|
}
|
|
137
137
|
|
|
138
|
-
return adapter.
|
|
138
|
+
return adapter.saveWorkspace({
|
|
139
139
|
id: existing.id,
|
|
140
140
|
title,
|
|
141
141
|
messages,
|