@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
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { useState, useEffect, useRef } from "react";
|
|
4
|
+
import { DEMO_MESSAGES, DEMO_PARTICIPANTS } from "@/lib/demo-threads";
|
|
5
|
+
import { agentAvatarUrl } from "./ParticipantBar";
|
|
6
|
+
import { Markdown } from "./Markdown";
|
|
7
|
+
import { User } from "lucide-react";
|
|
8
|
+
|
|
9
|
+
const STAGGER_MS = 400;
|
|
10
|
+
|
|
11
|
+
export function ChatPreview() {
|
|
12
|
+
const [visibleCount, setVisibleCount] = useState(0);
|
|
13
|
+
const containerRef = useRef<HTMLDivElement>(null);
|
|
14
|
+
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
if (visibleCount >= DEMO_MESSAGES.length) return;
|
|
17
|
+
const timer = setTimeout(() => {
|
|
18
|
+
setVisibleCount((c) => c + 1);
|
|
19
|
+
}, visibleCount === 0 ? 300 : STAGGER_MS);
|
|
20
|
+
return () => clearTimeout(timer);
|
|
21
|
+
}, [visibleCount]);
|
|
22
|
+
|
|
23
|
+
useEffect(() => {
|
|
24
|
+
containerRef.current?.scrollTo({
|
|
25
|
+
top: containerRef.current.scrollHeight,
|
|
26
|
+
behavior: "smooth",
|
|
27
|
+
});
|
|
28
|
+
}, [visibleCount]);
|
|
29
|
+
|
|
30
|
+
const participantMap = Object.fromEntries(
|
|
31
|
+
DEMO_PARTICIPANTS.map((p) => [p.id, p])
|
|
32
|
+
);
|
|
33
|
+
|
|
34
|
+
return (
|
|
35
|
+
<div
|
|
36
|
+
ref={containerRef}
|
|
37
|
+
className="flex-1 overflow-y-auto px-4 py-6"
|
|
38
|
+
>
|
|
39
|
+
<div className="max-w-2xl mx-auto space-y-4">
|
|
40
|
+
{DEMO_MESSAGES.slice(0, visibleCount).map((msg, i) => {
|
|
41
|
+
const isUser = msg.role === "user";
|
|
42
|
+
const p = msg.participantId ? participantMap[msg.participantId] : null;
|
|
43
|
+
|
|
44
|
+
return (
|
|
45
|
+
<div
|
|
46
|
+
key={msg.id}
|
|
47
|
+
className="flex gap-3 animate-in fade-in slide-in-from-bottom-2 duration-300"
|
|
48
|
+
style={{ animationDelay: `${i * 50}ms` }}
|
|
49
|
+
>
|
|
50
|
+
<div className="w-8 h-8 rounded-full overflow-hidden border border-slate-100 shadow-sm shrink-0 mt-0.5 flex items-center justify-center bg-slate-100">
|
|
51
|
+
{isUser ? (
|
|
52
|
+
<User className="w-4 h-4 text-slate-400" />
|
|
53
|
+
) : p ? (
|
|
54
|
+
<img
|
|
55
|
+
src={agentAvatarUrl(p.id, 32, p.color)}
|
|
56
|
+
alt={p.name}
|
|
57
|
+
className="w-full h-full object-cover"
|
|
58
|
+
/>
|
|
59
|
+
) : null}
|
|
60
|
+
</div>
|
|
61
|
+
<div className="flex-1 min-w-0">
|
|
62
|
+
<div className="flex items-baseline gap-2">
|
|
63
|
+
<span
|
|
64
|
+
className="text-[12px] font-bold tracking-wide uppercase"
|
|
65
|
+
style={{ color: isUser ? "#334155" : (p?.color || "#64748b") }}
|
|
66
|
+
>
|
|
67
|
+
{isUser ? "You" : (p?.name || "Agent")}
|
|
68
|
+
</span>
|
|
69
|
+
{!isUser && p?.model && (
|
|
70
|
+
<span className="text-[10px] text-slate-400 font-medium">
|
|
71
|
+
{p.model}
|
|
72
|
+
</span>
|
|
73
|
+
)}
|
|
74
|
+
</div>
|
|
75
|
+
<div className="text-[14px] text-slate-700 leading-relaxed mt-0.5">
|
|
76
|
+
<Markdown content={msg.content} isUser={isUser} />
|
|
77
|
+
</div>
|
|
78
|
+
</div>
|
|
79
|
+
</div>
|
|
80
|
+
);
|
|
81
|
+
})}
|
|
82
|
+
</div>
|
|
83
|
+
</div>
|
|
84
|
+
);
|
|
85
|
+
}
|
package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/chat-ui/MessageBubble.tsx
CHANGED
|
@@ -11,6 +11,7 @@ interface Props {
|
|
|
11
11
|
message: GroupMessage;
|
|
12
12
|
participantName?: string;
|
|
13
13
|
participantColor?: string;
|
|
14
|
+
participantModel?: string | null;
|
|
14
15
|
participantId?: string;
|
|
15
16
|
onReply?: (messageId: string) => void;
|
|
16
17
|
onOpenThread?: (rootMessageId: string) => void;
|
|
@@ -25,6 +26,7 @@ export function MessageBubble({
|
|
|
25
26
|
message,
|
|
26
27
|
participantName,
|
|
27
28
|
participantColor,
|
|
29
|
+
participantModel,
|
|
28
30
|
participantId,
|
|
29
31
|
onReply,
|
|
30
32
|
onOpenThread,
|
|
@@ -69,6 +71,7 @@ export function MessageBubble({
|
|
|
69
71
|
{isUser ? "You" : (participantName || "Unknown")}
|
|
70
72
|
</span>
|
|
71
73
|
)}
|
|
74
|
+
|
|
72
75
|
<span className="text-xs text-slate-400 font-medium">
|
|
73
76
|
{formatTimestamp(message.timestamp)}
|
|
74
77
|
</span>
|
package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/chat-ui/MessageList.tsx
CHANGED
|
@@ -218,10 +218,11 @@ export function MessageList({
|
|
|
218
218
|
)}
|
|
219
219
|
<div className="flex-1 min-w-0 pt-0.5">
|
|
220
220
|
{msg.role !== 'user' && (
|
|
221
|
-
<div className="flex items-
|
|
221
|
+
<div className="flex items-baseline gap-2 mb-0.5">
|
|
222
222
|
<span className="font-bold text-sm text-slate-900">
|
|
223
223
|
{p?.name || msg.participantId || "Assistant"}
|
|
224
224
|
</span>
|
|
225
|
+
|
|
225
226
|
</div>
|
|
226
227
|
)}
|
|
227
228
|
<div
|
|
@@ -387,6 +388,7 @@ export function MessageList({
|
|
|
387
388
|
message={reply}
|
|
388
389
|
participantName={rp?.name || reply.participantId || "Assistant"}
|
|
389
390
|
participantColor={rp?.color}
|
|
391
|
+
participantModel={rp?.model}
|
|
390
392
|
participantId={rp?.id || reply.participantId || undefined}
|
|
391
393
|
onOpenThread={onOpenThread}
|
|
392
394
|
highlighted={reply.id === highlightedMessageId}
|
|
@@ -421,21 +423,6 @@ export function MessageList({
|
|
|
421
423
|
);
|
|
422
424
|
})}
|
|
423
425
|
|
|
424
|
-
{Object.entries(streaming)
|
|
425
|
-
.filter(([, entry]) => !entry.rootMessageId)
|
|
426
|
-
.map(([pid, entry]) => {
|
|
427
|
-
const p = participantMap[pid];
|
|
428
|
-
return (
|
|
429
|
-
<div key={`streaming-${pid}`} className="max-w-2xl mx-auto mb-8 px-4">
|
|
430
|
-
<TypingIndicator
|
|
431
|
-
participantId={pid}
|
|
432
|
-
participantName={p?.name || pid}
|
|
433
|
-
participantColor={p?.color || "#888"}
|
|
434
|
-
content={entry.content}
|
|
435
|
-
/>
|
|
436
|
-
</div>
|
|
437
|
-
);
|
|
438
|
-
})}
|
|
439
426
|
<div ref={bottomRef} />
|
|
440
427
|
</div>
|
|
441
428
|
</div>
|
package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/chat-ui/ParticipantBar.tsx
CHANGED
|
@@ -30,7 +30,7 @@ import {
|
|
|
30
30
|
verticalListSortingStrategy,
|
|
31
31
|
} from "@dnd-kit/sortable";
|
|
32
32
|
import { CSS } from "@dnd-kit/utilities";
|
|
33
|
-
import type { Participant, ChatProvider } from "@/lib/types";
|
|
33
|
+
import type { Participant, ChatProvider, Skill } from "@/lib/types";
|
|
34
34
|
|
|
35
35
|
const COLORS = ["#D97706", "#2563EB", "#059669", "#DC2626", "#7C3AED", "#DB2777", "#0891B2"];
|
|
36
36
|
|
|
@@ -152,7 +152,7 @@ interface AgentFormData {
|
|
|
152
152
|
model: string;
|
|
153
153
|
identity: string;
|
|
154
154
|
identityFile: string;
|
|
155
|
-
skills:
|
|
155
|
+
skills: Skill[];
|
|
156
156
|
}
|
|
157
157
|
|
|
158
158
|
function AgentForm({
|
|
@@ -192,17 +192,11 @@ function AgentForm({
|
|
|
192
192
|
initial.identityFile ? inferRefLabel(initial.identityFile) : ""
|
|
193
193
|
);
|
|
194
194
|
const [identityMode, setIdentityMode] = useState<"text" | "file">(initial.identityFile ? "file" : "text");
|
|
195
|
-
const [skills, setSkills] = useState<
|
|
196
|
-
const [skillLabels, setSkillLabels] = useState<Record<string, string>>(
|
|
197
|
-
Object.fromEntries(initial.skills.map((skillRef) => [skillRef, inferRefLabel(skillRef)]))
|
|
198
|
-
);
|
|
195
|
+
const [skills, setSkills] = useState<Skill[]>(initial.skills.length > 0 ? initial.skills : []);
|
|
199
196
|
const [isIdentityUploading, setIsIdentityUploading] = useState(false);
|
|
200
197
|
const [identityUploadProgress, setIdentityUploadProgress] = useState(0);
|
|
201
|
-
const [isSkillsUploading, setIsSkillsUploading] = useState(false);
|
|
202
|
-
const [skillsUploadProgress, setSkillsUploadProgress] = useState(0);
|
|
203
198
|
|
|
204
199
|
const identityFileInputRef = useRef<HTMLInputElement>(null);
|
|
205
|
-
const skillsFileInputRef = useRef<HTMLInputElement>(null);
|
|
206
200
|
const ref = useRef<HTMLDivElement>(null);
|
|
207
201
|
|
|
208
202
|
useClickOutside(ref, onCancel);
|
|
@@ -266,41 +260,6 @@ function AgentForm({
|
|
|
266
260
|
}
|
|
267
261
|
};
|
|
268
262
|
|
|
269
|
-
const handleSkillsUpload = async (e: React.ChangeEvent<HTMLInputElement>) => {
|
|
270
|
-
const fileList = e.target.files;
|
|
271
|
-
if (!fileList || fileList.length === 0) return;
|
|
272
|
-
|
|
273
|
-
setIsSkillsUploading(true);
|
|
274
|
-
setSkillsUploadProgress(0);
|
|
275
|
-
try {
|
|
276
|
-
const uploaded = await uploadFiles(Array.from(fileList), setSkillsUploadProgress);
|
|
277
|
-
if (uploaded.length === 0) return;
|
|
278
|
-
|
|
279
|
-
const refs = uploaded.map((file) => toAttachmentRef(file.id));
|
|
280
|
-
setSkills((prev) => {
|
|
281
|
-
const seen = new Set(prev);
|
|
282
|
-
const next = [...prev];
|
|
283
|
-
for (const refValue of refs) {
|
|
284
|
-
if (!seen.has(refValue)) {
|
|
285
|
-
next.push(refValue);
|
|
286
|
-
seen.add(refValue);
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
return next;
|
|
290
|
-
});
|
|
291
|
-
setSkillLabels((prev) => ({
|
|
292
|
-
...prev,
|
|
293
|
-
...Object.fromEntries(uploaded.map((file) => [toAttachmentRef(file.id), file.filename])),
|
|
294
|
-
}));
|
|
295
|
-
} catch (error) {
|
|
296
|
-
console.error("Skills upload failed", error);
|
|
297
|
-
} finally {
|
|
298
|
-
setIsSkillsUploading(false);
|
|
299
|
-
if (skillsFileInputRef.current) {
|
|
300
|
-
skillsFileInputRef.current.value = "";
|
|
301
|
-
}
|
|
302
|
-
}
|
|
303
|
-
};
|
|
304
263
|
|
|
305
264
|
const handleSubmit = () => {
|
|
306
265
|
if (!name.trim() || !model.trim()) return;
|
|
@@ -310,7 +269,7 @@ function AgentForm({
|
|
|
310
269
|
model: model.trim(),
|
|
311
270
|
identity: identityMode === "text" ? identity.trim() : "",
|
|
312
271
|
identityFile: identityMode === "file" ? identityFile.trim() : "",
|
|
313
|
-
skills: skills.
|
|
272
|
+
skills: skills.filter((s) => s.file.trim()),
|
|
314
273
|
});
|
|
315
274
|
};
|
|
316
275
|
|
|
@@ -451,57 +410,53 @@ function AgentForm({
|
|
|
451
410
|
<label className="flex items-center gap-2 text-sm font-medium text-slate-500">
|
|
452
411
|
<Wrench size={16} /> Skills
|
|
453
412
|
</label>
|
|
454
|
-
<input
|
|
455
|
-
type="file"
|
|
456
|
-
ref={skillsFileInputRef}
|
|
457
|
-
onChange={handleSkillsUpload}
|
|
458
|
-
className="hidden"
|
|
459
|
-
multiple
|
|
460
|
-
accept=".txt,.md,.json,.yaml,.yml,.toml"
|
|
461
|
-
/>
|
|
462
413
|
<button
|
|
463
414
|
type="button"
|
|
464
|
-
onClick={() =>
|
|
415
|
+
onClick={() => setSkills((prev) => [...prev, { file: "", condition: "" }])}
|
|
465
416
|
className="flex items-center gap-1 text-[11px] font-bold text-indigo-600 hover:text-indigo-700 uppercase tracking-wider"
|
|
466
417
|
>
|
|
467
|
-
<Plus size={14} />
|
|
418
|
+
<Plus size={14} /> Add
|
|
468
419
|
</button>
|
|
469
420
|
</div>
|
|
470
421
|
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
<div className="
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
422
|
+
<div className="space-y-3">
|
|
423
|
+
{skills.map((skill, index) => (
|
|
424
|
+
<div key={index} className="p-2.5 bg-indigo-50/50 border border-indigo-100 rounded-lg space-y-2 animate-in slide-in-from-left-2 duration-200">
|
|
425
|
+
<div className="flex items-center gap-2">
|
|
426
|
+
<input
|
|
427
|
+
type="text"
|
|
428
|
+
placeholder="/path/to/skill.md"
|
|
429
|
+
value={skill.file}
|
|
430
|
+
onChange={(e) =>
|
|
431
|
+
setSkills((prev) =>
|
|
432
|
+
prev.map((s, i) => i === index ? { ...s, file: e.target.value } : s)
|
|
433
|
+
)
|
|
434
|
+
}
|
|
435
|
+
className="flex-1 bg-white border border-indigo-100 rounded-md px-2.5 py-1.5 text-xs font-mono text-slate-700 placeholder:text-slate-400 focus:outline-none focus:ring-1 focus:ring-indigo-300"
|
|
436
|
+
/>
|
|
437
|
+
<button
|
|
438
|
+
type="button"
|
|
439
|
+
onClick={() => setSkills((prev) => prev.filter((_, i) => i !== index))}
|
|
440
|
+
className="p-1 text-indigo-300 hover:text-indigo-600 transition-colors"
|
|
441
|
+
>
|
|
442
|
+
<X size={14} />
|
|
443
|
+
</button>
|
|
483
444
|
</div>
|
|
484
|
-
<
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
});
|
|
496
|
-
}}
|
|
497
|
-
className="p-1 text-indigo-300 hover:text-indigo-600 transition-colors"
|
|
498
|
-
>
|
|
499
|
-
<X size={14} />
|
|
500
|
-
</button>
|
|
445
|
+
<input
|
|
446
|
+
type="text"
|
|
447
|
+
placeholder="When to use this skill..."
|
|
448
|
+
value={skill.condition}
|
|
449
|
+
onChange={(e) =>
|
|
450
|
+
setSkills((prev) =>
|
|
451
|
+
prev.map((s, i) => i === index ? { ...s, condition: e.target.value } : s)
|
|
452
|
+
)
|
|
453
|
+
}
|
|
454
|
+
className="w-full bg-white border border-indigo-100 rounded-md px-2.5 py-1.5 text-xs text-slate-700 placeholder:text-slate-400 focus:outline-none focus:ring-1 focus:ring-indigo-300"
|
|
455
|
+
/>
|
|
501
456
|
</div>
|
|
502
457
|
))}
|
|
503
458
|
{skills.length === 0 ? (
|
|
504
|
-
<div className="text-xs text-slate-400 px-1">No
|
|
459
|
+
<div className="text-xs text-slate-400 px-1">No skills added.</div>
|
|
505
460
|
) : null}
|
|
506
461
|
</div>
|
|
507
462
|
</div>
|
|
@@ -516,7 +471,7 @@ function AgentForm({
|
|
|
516
471
|
</button>
|
|
517
472
|
<button
|
|
518
473
|
onClick={handleSubmit}
|
|
519
|
-
disabled={isIdentityUploading ||
|
|
474
|
+
disabled={isIdentityUploading || !name.trim() || !model.trim()}
|
|
520
475
|
className="px-8 py-2.5 bg-indigo-600 text-white text-sm font-semibold rounded-xl shadow-[0_4px_12px_rgba(79,70,229,0.3)] hover:bg-indigo-700 active:scale-95 disabled:opacity-50 transition-all font-bold"
|
|
521
476
|
>
|
|
522
477
|
{submitLabel}
|
package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/chat-ui/ThreadView.tsx
CHANGED
|
@@ -5,7 +5,7 @@ import type { GroupMessage, Participant } from "@/lib/types";
|
|
|
5
5
|
import type { StreamingEntry } from "@/hooks/useGroupChat";
|
|
6
6
|
import type { TaskDraftMessage } from "@/types/tasks";
|
|
7
7
|
import { Markdown } from "./Markdown";
|
|
8
|
-
import { Copy,
|
|
8
|
+
import { Copy, Trash2, ChevronLeft, User, Link } from "lucide-react";
|
|
9
9
|
import { MessageAttachments } from "./MessageAttachments";
|
|
10
10
|
import { agentAvatarUrl } from "./ParticipantBar";
|
|
11
11
|
import { MessageReactionsBar } from "./MessageReactionsBar";
|
|
@@ -160,9 +160,10 @@ export function ThreadView({
|
|
|
160
160
|
)}
|
|
161
161
|
<button
|
|
162
162
|
className="p-1.5 text-slate-400 hover:text-slate-600 hover:bg-slate-50 rounded"
|
|
163
|
-
title="
|
|
163
|
+
title="Copy as Markdown"
|
|
164
|
+
onClick={() => navigator.clipboard.writeText(msg.content)}
|
|
164
165
|
>
|
|
165
|
-
<
|
|
166
|
+
<Copy size={14} />
|
|
166
167
|
</button>
|
|
167
168
|
{msg.id === rootMessageId && onDeleteThreadRoot && (
|
|
168
169
|
<button
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
3
|
import { Hash } from "lucide-react";
|
|
4
|
-
import type {
|
|
4
|
+
import type { Workspace } from "@/lib/storage";
|
|
5
5
|
|
|
6
|
-
interface
|
|
7
|
-
|
|
6
|
+
interface WorkspaceItemProps {
|
|
7
|
+
workspace: Workspace;
|
|
8
8
|
isActive: boolean;
|
|
9
9
|
onSelect: () => void;
|
|
10
10
|
}
|
|
@@ -17,8 +17,8 @@ const formatTimestamp = (value: number) =>
|
|
|
17
17
|
minute: "2-digit",
|
|
18
18
|
}).format(value);
|
|
19
19
|
|
|
20
|
-
const getPreview = (
|
|
21
|
-
const latest =
|
|
20
|
+
const getPreview = (workspace: Workspace) => {
|
|
21
|
+
const latest = workspace.messages.at(-1)?.content?.trim();
|
|
22
22
|
if (!latest) {
|
|
23
23
|
return "No messages yet";
|
|
24
24
|
}
|
|
@@ -26,9 +26,9 @@ const getPreview = (thread: Thread) => {
|
|
|
26
26
|
return normalized.length > 80 ? `${normalized.slice(0, 80).trim()}…` : normalized;
|
|
27
27
|
};
|
|
28
28
|
|
|
29
|
-
export function
|
|
30
|
-
const title =
|
|
31
|
-
const preview = getPreview(
|
|
29
|
+
export function WorkspaceItem({ workspace, isActive, onSelect }: WorkspaceItemProps) {
|
|
30
|
+
const title = workspace.title?.trim() || "Untitled workspace";
|
|
31
|
+
const preview = getPreview(workspace);
|
|
32
32
|
return (
|
|
33
33
|
<li className="thread-sidebar__list-item">
|
|
34
34
|
<button
|
|
@@ -42,7 +42,7 @@ export function ThreadItem({ thread, isActive, onSelect }: ThreadItemProps) {
|
|
|
42
42
|
<Hash size={12} className="thread-item__hash" aria-hidden="true" />
|
|
43
43
|
<span className="thread-item__title">{title}</span>
|
|
44
44
|
</div>
|
|
45
|
-
<span className="thread-item__timestamp">{formatTimestamp(
|
|
45
|
+
<span className="thread-item__timestamp">{formatTimestamp(workspace.updatedAt)}</span>
|
|
46
46
|
</div>
|
|
47
47
|
<span className="thread-item__meta">{preview}</span>
|
|
48
48
|
</button>
|
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import type {
|
|
4
|
-
import {
|
|
3
|
+
import type { Workspace } from "@/lib/storage";
|
|
4
|
+
import { WorkspaceItem } from "./ThreadItem";
|
|
5
5
|
|
|
6
|
-
interface
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
interface WorkspaceListProps {
|
|
7
|
+
workspaces: Workspace[];
|
|
8
|
+
activeWorkspaceId: string | null;
|
|
9
|
+
onSelectWorkspace: (workspaceId: string) => void;
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
export function
|
|
13
|
-
if (
|
|
12
|
+
export function WorkspaceList({ workspaces, activeWorkspaceId, onSelectWorkspace }: WorkspaceListProps) {
|
|
13
|
+
if (workspaces.length === 0) {
|
|
14
14
|
return null;
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
const
|
|
17
|
+
const sortedWorkspaces = [...workspaces].sort((a, b) => b.updatedAt - a.updatedAt);
|
|
18
18
|
|
|
19
19
|
return (
|
|
20
20
|
<ul className="thread-sidebar__list" role="list">
|
|
21
|
-
{
|
|
22
|
-
<
|
|
23
|
-
key={
|
|
24
|
-
|
|
25
|
-
isActive={
|
|
26
|
-
onSelect={() =>
|
|
21
|
+
{sortedWorkspaces.map((workspace) => (
|
|
22
|
+
<WorkspaceItem
|
|
23
|
+
key={workspace.id}
|
|
24
|
+
workspace={workspace}
|
|
25
|
+
isActive={workspace.id === activeWorkspaceId}
|
|
26
|
+
onSelect={() => onSelectWorkspace(workspace.id)}
|
|
27
27
|
/>
|
|
28
28
|
))}
|
|
29
29
|
</ul>
|
package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/thread/ThreadSidebar.tsx
CHANGED
|
@@ -11,24 +11,24 @@ import {
|
|
|
11
11
|
Trash2,
|
|
12
12
|
} from "lucide-react";
|
|
13
13
|
import Link from "next/link";
|
|
14
|
-
import type {
|
|
14
|
+
import type { Workspace } from "@/lib/storage";
|
|
15
15
|
import type { Participant } from "@/lib/types";
|
|
16
16
|
import { useFocusManagement } from "@/hooks/useFocusManagement";
|
|
17
17
|
import { useProjects } from "@/hooks/useProjects";
|
|
18
18
|
import { ParticipantBar } from "@/components/chat-ui/ParticipantBar";
|
|
19
19
|
|
|
20
|
-
interface
|
|
21
|
-
|
|
20
|
+
interface WorkspaceSidebarProps {
|
|
21
|
+
workspaces: Workspace[];
|
|
22
22
|
participants?: Participant[];
|
|
23
|
-
|
|
23
|
+
activeWorkspaceId: string | null;
|
|
24
24
|
isLoading: boolean;
|
|
25
25
|
isCreating: boolean;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
26
|
+
onSelectWorkspace: (workspaceId: string) => void;
|
|
27
|
+
onCreateWorkspace: (input?: { title?: string }) => Promise<unknown> | void;
|
|
28
|
+
onRenameWorkspace: (workspaceId: string, title: string) => Promise<unknown> | void;
|
|
29
|
+
onDeleteWorkspace: (workspaceId: string) => void;
|
|
30
|
+
deletingWorkspaceId?: string | null;
|
|
31
|
+
renamingWorkspaceId?: string | null;
|
|
32
32
|
onAddParticipant?: (participant: Participant) => void;
|
|
33
33
|
onUpdateParticipant?: (participant: Participant) => void;
|
|
34
34
|
onRemoveParticipant?: (participantId: string) => void;
|
|
@@ -36,23 +36,23 @@ interface ThreadSidebarProps {
|
|
|
36
36
|
onToggleParticipantActive?: (participantId: string, active: boolean) => void;
|
|
37
37
|
onReorderParticipants?: (orderedIds: string[]) => void;
|
|
38
38
|
visible?: boolean;
|
|
39
|
-
|
|
39
|
+
isRestoringActiveWorkspace?: boolean;
|
|
40
40
|
onToggle?: () => void;
|
|
41
41
|
onSearch?: () => void;
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
export function
|
|
45
|
-
|
|
44
|
+
export function WorkspaceSidebar({
|
|
45
|
+
workspaces,
|
|
46
46
|
participants = [],
|
|
47
|
-
|
|
47
|
+
activeWorkspaceId,
|
|
48
48
|
isLoading,
|
|
49
49
|
isCreating,
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
50
|
+
onSelectWorkspace,
|
|
51
|
+
onCreateWorkspace,
|
|
52
|
+
onRenameWorkspace,
|
|
53
|
+
onDeleteWorkspace,
|
|
54
|
+
deletingWorkspaceId = null,
|
|
55
|
+
renamingWorkspaceId = null,
|
|
56
56
|
onAddParticipant,
|
|
57
57
|
onUpdateParticipant,
|
|
58
58
|
onRemoveParticipant,
|
|
@@ -60,21 +60,21 @@ export function ThreadSidebar({
|
|
|
60
60
|
onToggleParticipantActive,
|
|
61
61
|
onReorderParticipants,
|
|
62
62
|
visible = false,
|
|
63
|
-
|
|
63
|
+
isRestoringActiveWorkspace = false,
|
|
64
64
|
onToggle,
|
|
65
65
|
onSearch,
|
|
66
|
-
}:
|
|
66
|
+
}: WorkspaceSidebarProps) {
|
|
67
67
|
const emptyCtaRef = useRef<HTMLButtonElement | null>(null);
|
|
68
68
|
const [openAddAgentNonce, setOpenAddAgentNonce] = useState<number | null>(null);
|
|
69
69
|
const { projects } = useProjects();
|
|
70
70
|
|
|
71
|
-
const
|
|
72
|
-
const showRestoringState =
|
|
73
|
-
const showLoadingState = (isLoading && !
|
|
74
|
-
const showEmptyState = !showLoadingState && !
|
|
71
|
+
const hasWorkspaces = workspaces.length > 0;
|
|
72
|
+
const showRestoringState = isRestoringActiveWorkspace && hasWorkspaces;
|
|
73
|
+
const showLoadingState = (isLoading && !hasWorkspaces) || showRestoringState;
|
|
74
|
+
const showEmptyState = !showLoadingState && !hasWorkspaces;
|
|
75
75
|
const isVisible = Boolean(visible);
|
|
76
76
|
const canManageParticipants = Boolean(onAddParticipant && onUpdateParticipant && onRemoveParticipant);
|
|
77
|
-
const sortedWorkspaces = [...
|
|
77
|
+
const sortedWorkspaces = [...workspaces].sort((a, b) => (a.title || "").localeCompare(b.title || ""));
|
|
78
78
|
|
|
79
79
|
useFocusManagement({
|
|
80
80
|
focusTarget: emptyCtaRef,
|
|
@@ -91,11 +91,11 @@ export function ThreadSidebar({
|
|
|
91
91
|
return;
|
|
92
92
|
}
|
|
93
93
|
|
|
94
|
-
void
|
|
94
|
+
void onCreateWorkspace({ title });
|
|
95
95
|
};
|
|
96
96
|
|
|
97
97
|
const handleDeleteClick = (workspaceId: string) => {
|
|
98
|
-
void
|
|
98
|
+
void onDeleteWorkspace(workspaceId);
|
|
99
99
|
};
|
|
100
100
|
|
|
101
101
|
const handleRenameClick = (workspaceId: string, currentTitle: string) => {
|
|
@@ -108,7 +108,7 @@ export function ThreadSidebar({
|
|
|
108
108
|
return;
|
|
109
109
|
}
|
|
110
110
|
|
|
111
|
-
void
|
|
111
|
+
void onRenameWorkspace(workspaceId, title);
|
|
112
112
|
};
|
|
113
113
|
|
|
114
114
|
if (!isVisible) {
|
|
@@ -189,9 +189,9 @@ export function ThreadSidebar({
|
|
|
189
189
|
</div>
|
|
190
190
|
</div>
|
|
191
191
|
{sortedWorkspaces.map((workspace) => {
|
|
192
|
-
const isActive = workspace.id ===
|
|
193
|
-
const isDeletingWorkspace =
|
|
194
|
-
const isRenamingWorkspace =
|
|
192
|
+
const isActive = workspace.id === activeWorkspaceId;
|
|
193
|
+
const isDeletingWorkspace = deletingWorkspaceId === workspace.id;
|
|
194
|
+
const isRenamingWorkspace = renamingWorkspaceId === workspace.id;
|
|
195
195
|
const title = workspace.title?.trim() || "Untitled workspace";
|
|
196
196
|
|
|
197
197
|
return (
|
|
@@ -199,7 +199,7 @@ export function ThreadSidebar({
|
|
|
199
199
|
<button
|
|
200
200
|
type="button"
|
|
201
201
|
className={`thread-sidebar__nav-item thread-sidebar__workspace-nav-item ${isActive ? "thread-sidebar__nav-item--active thread-sidebar__workspace-nav-item--active" : ""}`}
|
|
202
|
-
onClick={() =>
|
|
202
|
+
onClick={() => onSelectWorkspace(workspace.id)}
|
|
203
203
|
aria-current={isActive ? "page" : undefined}
|
|
204
204
|
>
|
|
205
205
|
<Hash size={18} />
|
package/cloud-runtime/standalone/Projects/Agents/agx-cloud/db/sqlite/001_agx_board_schema.sql
CHANGED
|
@@ -494,3 +494,55 @@ CREATE TABLE IF NOT EXISTS agent_memory (
|
|
|
494
494
|
);
|
|
495
495
|
CREATE INDEX IF NOT EXISTS idx_agent_memory_agent_id ON agent_memory(agent_id);
|
|
496
496
|
CREATE INDEX IF NOT EXISTS idx_agent_memory_task_id ON agent_memory(task_id);
|
|
497
|
+
|
|
498
|
+
-- ---------------------------------------------------------------------------
|
|
499
|
+
-- Notifications read-model (projector output)
|
|
500
|
+
-- ---------------------------------------------------------------------------
|
|
501
|
+
|
|
502
|
+
CREATE TABLE IF NOT EXISTS notifications (
|
|
503
|
+
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)))),
|
|
504
|
+
user_id TEXT NOT NULL,
|
|
505
|
+
task_id TEXT NOT NULL,
|
|
506
|
+
event_id TEXT NOT NULL,
|
|
507
|
+
type TEXT NOT NULL, -- e.g. 'task.blocked', 'task.done', 'task.failed'
|
|
508
|
+
tier TEXT NOT NULL DEFAULT 'info' CHECK(tier IN ('info', 'warning', 'error', 'success')),
|
|
509
|
+
title TEXT NOT NULL,
|
|
510
|
+
body TEXT,
|
|
511
|
+
created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now')),
|
|
512
|
+
read_at TEXT, -- NULL = unread
|
|
513
|
+
-- Dedup: one notification per (event, user, type)
|
|
514
|
+
UNIQUE (event_id, user_id, type)
|
|
515
|
+
);
|
|
516
|
+
|
|
517
|
+
-- Fast unread queries: WHERE user_id = ? AND read_at IS NULL
|
|
518
|
+
CREATE INDEX IF NOT EXISTS idx_notifications_user_unread ON notifications(user_id, read_at);
|
|
519
|
+
-- Fast task-scoped lookups
|
|
520
|
+
CREATE INDEX IF NOT EXISTS idx_notifications_task ON notifications(task_id);
|
|
521
|
+
|
|
522
|
+
-- ---------------------------------------------------------------------------
|
|
523
|
+
-- Notification outbox (transactional relay buffer)
|
|
524
|
+
-- Projector writes notification + outbox row in one transaction so no
|
|
525
|
+
-- notification can be written but never pushed.
|
|
526
|
+
-- ---------------------------------------------------------------------------
|
|
527
|
+
|
|
528
|
+
CREATE TABLE IF NOT EXISTS notification_outbox (
|
|
529
|
+
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)))),
|
|
530
|
+
notification_id TEXT NOT NULL REFERENCES notifications(id) ON DELETE CASCADE,
|
|
531
|
+
payload JSON NOT NULL CHECK(json_valid(payload)),
|
|
532
|
+
created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now')),
|
|
533
|
+
delivered_at TEXT -- NULL = pending delivery
|
|
534
|
+
);
|
|
535
|
+
|
|
536
|
+
-- Relay consumer polls: WHERE delivered_at IS NULL ORDER BY created_at
|
|
537
|
+
CREATE INDEX IF NOT EXISTS idx_notification_outbox_pending ON notification_outbox(delivered_at, created_at);
|
|
538
|
+
|
|
539
|
+
-- ---------------------------------------------------------------------------
|
|
540
|
+
-- Projector checkpoint cursors (consumer isolation)
|
|
541
|
+
-- Each consumer (consumer_id) tracks its own position in the event stream.
|
|
542
|
+
-- ---------------------------------------------------------------------------
|
|
543
|
+
|
|
544
|
+
CREATE TABLE IF NOT EXISTS projector_cursors (
|
|
545
|
+
consumer_id TEXT NOT NULL PRIMARY KEY, -- e.g. 'notification-projector'
|
|
546
|
+
last_event_id TEXT NOT NULL, -- last processed event id
|
|
547
|
+
updated_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now'))
|
|
548
|
+
);
|