@mndrk/agx 2.0.22 → 2.0.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cloud-runtime/standalone/.next/BUILD_ID +1 -1
- package/cloud-runtime/standalone/.next/app-path-routes-manifest.json +1 -0
- package/cloud-runtime/standalone/.next/build-manifest.json +6 -6
- package/cloud-runtime/standalone/.next/prerender-manifest.json +3 -3
- package/cloud-runtime/standalone/.next/routes-manifest.json +6 -0
- package/cloud-runtime/standalone/.next/server/app/_global-error/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/_global-error/page.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/_global-error.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/_not-found/page.js +6 -5
- package/cloud-runtime/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found.html +14 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found.rsc +11 -11
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +11 -11
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +7 -7
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents/[id]/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/agents/[id]/page.js +5 -5
- package/cloud-runtime/standalone/.next/server/app/agents/[id]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/agents/page.js +5 -5
- package/cloud-runtime/standalone/.next/server/app/agents/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents.html +14 -2
- package/cloud-runtime/standalone/.next/server/app/agents.rsc +10 -10
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_full.segment.rsc +10 -10
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_index.segment.rsc +4 -4
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +4 -4
- package/cloud-runtime/standalone/.next/server/app/agents.segments/agents.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/file-search/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/filesystem/browse/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/api/filesystem/browse/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/api/filesystem/browse/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/api/filesystem/browse/route.js +7 -0
- package/cloud-runtime/standalone/.next/server/app/api/filesystem/browse/route.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/api/filesystem/browse/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/api/filesystem/browse/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/api/providers/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/providers/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/status/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/automations/page.js +5 -5
- package/cloud-runtime/standalone/.next/server/app/automations/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations.html +14 -2
- package/cloud-runtime/standalone/.next/server/app/automations.rsc +11 -11
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_full.segment.rsc +11 -11
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_index.segment.rsc +4 -4
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_tree.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +5 -5
- package/cloud-runtime/standalone/.next/server/app/automations.segments/automations.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/board/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/board/page.js +6 -6
- package/cloud-runtime/standalone/.next/server/app/board/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/board/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/board.html +14 -2
- package/cloud-runtime/standalone/.next/server/app/board.rsc +8 -8
- package/cloud-runtime/standalone/.next/server/app/board.segments/_full.segment.rsc +8 -8
- package/cloud-runtime/standalone/.next/server/app/board.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/board.segments/_index.segment.rsc +4 -4
- package/cloud-runtime/standalone/.next/server/app/board.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/board/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/board.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/execution-graph/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/execution-graph/page.js +5 -5
- package/cloud-runtime/standalone/.next/server/app/execution-graph/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph.html +14 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.rsc +10 -10
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_full.segment.rsc +10 -10
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_index.segment.rsc +4 -4
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +4 -4
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/index.html +14 -2
- package/cloud-runtime/standalone/.next/server/app/index.rsc +10 -10
- package/cloud-runtime/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +4 -4
- package/cloud-runtime/standalone/.next/server/app/index.segments/_full.segment.rsc +10 -10
- package/cloud-runtime/standalone/.next/server/app/index.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/index.segments/_index.segment.rsc +4 -4
- package/cloud-runtime/standalone/.next/server/app/index.segments/_tree.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/page.js +5 -5
- package/cloud-runtime/standalone/.next/server/app/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page.js +5 -5
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page.js +5 -5
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/projects/orphans/page.js +5 -5
- package/cloud-runtime/standalone/.next/server/app/projects/orphans/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.html +13 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.rsc +10 -10
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_full.segment.rsc +10 -10
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_index.segment.rsc +4 -4
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +4 -4
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/projects/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/projects/page.js +5 -5
- package/cloud-runtime/standalone/.next/server/app/projects/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects.html +14 -2
- package/cloud-runtime/standalone/.next/server/app/projects.rsc +10 -10
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_full.segment.rsc +10 -10
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_index.segment.rsc +4 -4
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +4 -4
- package/cloud-runtime/standalone/.next/server/app/projects.segments/projects.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/settings/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/settings/page.js +5 -5
- package/cloud-runtime/standalone/.next/server/app/settings/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings.html +14 -2
- package/cloud-runtime/standalone/.next/server/app/settings.rsc +9 -9
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_full.segment.rsc +9 -9
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_index.segment.rsc +4 -4
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/settings.segments/settings.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/status/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/status/page.js +5 -5
- package/cloud-runtime/standalone/.next/server/app/status/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/status/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/status.html +14 -2
- package/cloud-runtime/standalone/.next/server/app/status.rsc +10 -10
- package/cloud-runtime/standalone/.next/server/app/status.segments/_full.segment.rsc +10 -10
- package/cloud-runtime/standalone/.next/server/app/status.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/status.segments/_index.segment.rsc +4 -4
- package/cloud-runtime/standalone/.next/server/app/status.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.segments/status/__PAGE__.segment.rsc +4 -4
- package/cloud-runtime/standalone/.next/server/app/status.segments/status.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/thread/[id]/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/thread/[id]/page.js +5 -5
- package/cloud-runtime/standalone/.next/server/app/thread/[id]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/welcome/page.js +5 -5
- package/cloud-runtime/standalone/.next/server/app/welcome/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome.html +14 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.rsc +10 -10
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_full.segment.rsc +10 -10
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_index.segment.rsc +4 -4
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +4 -4
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app-paths-manifest.json +1 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__60ba5058._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__621dcb4a._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__babd2675._.js → [root-of-the-server]__82d76712._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__d36da34d._.js → [root-of-the-server]__c2767ca5._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_filesystem_browse_route_actions_8e268170.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_2e721df2._.js +4 -4
- package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_74d1c060._.js +6 -6
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__fb05a385._.js → [root-of-the-server]__056cdf7d._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__113d6767._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__8d1af2c9._.js → [root-of-the-server]__11e33b9b._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__296a25b5._.js → [root-of-the-server]__19cd257e._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__226f8a19._.js +13 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__51980630._.js → [root-of-the-server]__26d669c2._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__47caef59._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0a103abc._.js → [root-of-the-server]__4ebf5947._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__5ffa2883._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__6a9d3855._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__942ca438._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__c45c7360._.js → [root-of-the-server]__a667191a._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__1cfbd715._.js → [root-of-the-server]__aa28d46f._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__bd4d5430._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__ab36b420._.js → [root-of-the-server]__bde5bc78._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__cde88183._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__ce3b51aa._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__2503b467._.js → [root-of-the-server]__d36dd8bc._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__b77ae83d._.js → [root-of-the-server]__dac5ab29._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__3405b8e4._.js → [root-of-the-server]__e87ba2b0._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__b9356576._.js → [root-of-the-server]__f62d412e._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__756711b8._.js → [root-of-the-server]__f63d6594._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__46de03a9._.js → [root-of-the-server]__febbd0b8._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__89c70d6f._.js → [root-of-the-server]__ff22a10e._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_a19a362a._.js → _02c78cac._.js} +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{node_modules_next_dist_08570d7f._.js → _0b36c9d6._.js} +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_0ff7c687._.js +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_0ffd2660._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_37435df3._.js → _173da79d._.js} +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_4fe611fe._.js → _1c58ab2d._.js} +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_a88b4884._.js → _222af282._.js} +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_27cb3359._.js +95 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_8ebf36f6._.js → _3aa32c11._.js} +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_43472af3._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_4b5d7c9b._.js +95 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_c52176ad._.js → _4d4ba84b._.js} +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_194cda6c._.js → _50d04b8f._.js} +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_a8eaf6bc._.js → _629dc55c._.js} +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_6a367524._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_93914ecd._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_94effa0f._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_a696e9b3._.js +95 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_ae20456d._.js +4 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_c838f593._.js +95 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_cd5e154b._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_d021529a._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_fc18d7b5._.js → _e04b4053._.js} +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_e1769638._.js +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_b9d3574c._.js → _f1465cc8._.js} +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_d4878ef1._.js → _f2a7beb1._.js} +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_fbced30b._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_8d8836a8._.js → _fc1aaf9e._.js} +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/app_agents_[id]_page_tsx_9c49d8c8._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/app_agents_page_tsx_f5f08ed8._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/app_automations_page_tsx_3d732184._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/app_execution-graph_page_tsx_f854185a._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/app_global-error_tsx_9170b7a0._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_page_tsx_e0fabf6e._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/components_chat-ui_bfeda794._.js +5 -5
- package/cloud-runtime/standalone/.next/server/chunks/ssr/components_thread_WorkspaceSidebar_tsx_e660301b._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_next_dist_03ec2107._.js +4 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{node_modules_next_dist_esm_build_templates_app-page_d92e159d.js → node_modules_next_dist_esm_build_templates_app-page_61c49327.js} +3 -3
- package/cloud-runtime/standalone/.next/server/middleware-build-manifest.js +4 -4
- package/cloud-runtime/standalone/.next/server/middleware-manifest.json +5 -5
- package/cloud-runtime/standalone/.next/server/pages/404.html +13 -1
- package/cloud-runtime/standalone/.next/server/pages/500.html +2 -2
- package/cloud-runtime/standalone/.next/server/server-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/server-reference-manifest.json +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/{785cb91c31bb3303.js → 09f9eeea393db0fd.js} +3 -3
- package/cloud-runtime/standalone/.next/static/chunks/1184bf1bfdf97666.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/2acd153dc5252e88.js +30 -0
- package/cloud-runtime/standalone/.next/static/chunks/2deeba875ec50761.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/45b4d0ee5c92d45b.js +93 -0
- package/cloud-runtime/standalone/.next/static/chunks/5ace4b4f4475962a.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/616d66dbec9e4b8b.js +93 -0
- package/cloud-runtime/standalone/.next/static/chunks/64f812259cf8c243.js +18 -0
- package/cloud-runtime/standalone/.next/static/chunks/6dbf5940e30fa9c7.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/7d4c1d97169c8522.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/7f13efe9329d3f97.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/80219bbddcf65109.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/{47ef8bb2118ea917.js → 86ace6febb11ad71.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/{90c7dbc004f59a42.js → 88e24940a5d5d386.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/9d50c2514f72d926.css +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/b079c677d9b39f98.js +5 -0
- package/cloud-runtime/standalone/.next/static/chunks/b4e298542d366e31.js +93 -0
- package/cloud-runtime/standalone/.next/static/chunks/b88352740262931f.js +6 -0
- package/cloud-runtime/standalone/.next/static/chunks/bd6c5b5b4fbd6413.css +2 -0
- package/cloud-runtime/standalone/.next/static/chunks/c5609fd2abb65850.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/{7ca3e4f9ed7425a8.js → d95cd010361834be.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/da434b1ad885d636.js +30 -0
- package/cloud-runtime/standalone/.next/static/chunks/e44264686aa5ecbf.js +93 -0
- package/cloud-runtime/standalone/.next/static/chunks/eab1c7d0246592f8.js +8 -0
- package/cloud-runtime/standalone/.next/static/chunks/f7bbf5cfcfed8ba9.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/{turbopack-92401168917c21f2.js → turbopack-5b5918f610666d2d.js} +1 -1
- package/cloud-runtime/standalone/README.md +15 -3
- package/cloud-runtime/standalone/app/agents/[id]/page.tsx +147 -147
- package/cloud-runtime/standalone/app/agents/page.tsx +115 -310
- package/cloud-runtime/standalone/app/api/filesystem/browse/route.ts +39 -0
- package/cloud-runtime/standalone/app/api/status/route.ts +1 -1
- package/cloud-runtime/standalone/app/api/threads/route.ts +4 -5
- package/cloud-runtime/standalone/app/automations/page.tsx +1 -1
- package/cloud-runtime/standalone/app/execution-graph/page.tsx +86 -86
- package/cloud-runtime/standalone/app/global-error.tsx +54 -0
- package/cloud-runtime/standalone/app/globals.css +165 -59
- package/cloud-runtime/standalone/app/layout.tsx +17 -0
- package/cloud-runtime/standalone/app/projects/[slug]/layout.tsx +1 -1
- package/cloud-runtime/standalone/app/projects/[slug]/page.tsx +58 -58
- package/cloud-runtime/standalone/app/status/page.tsx +20 -20
- package/cloud-runtime/standalone/app/welcome/page.tsx +20 -15
- package/cloud-runtime/standalone/components/AutomationsBoard.tsx +1 -1
- package/cloud-runtime/standalone/components/ClientOnly.tsx +17 -0
- package/cloud-runtime/standalone/components/ConsentToggle/index.tsx +3 -3
- package/cloud-runtime/standalone/components/ContextMenu.tsx +123 -0
- package/cloud-runtime/standalone/components/DaemonBar.tsx +9 -9
- package/cloud-runtime/standalone/components/DirectoryBrowser.tsx +140 -0
- package/cloud-runtime/standalone/components/FirstRunModal/index.tsx +10 -10
- package/cloud-runtime/standalone/components/KanbanBoard.tsx +9 -9
- package/cloud-runtime/standalone/components/OfflineIndicator.tsx +149 -0
- package/cloud-runtime/standalone/components/ProjectModal.tsx +32 -8
- package/cloud-runtime/standalone/components/TaskCard.tsx +3 -3
- package/cloud-runtime/standalone/components/WorkspaceRootsList/index.tsx +57 -35
- package/cloud-runtime/standalone/components/chat-ui/AttachmentTray.tsx +7 -7
- package/cloud-runtime/standalone/components/chat-ui/ChatContainer.tsx +218 -121
- package/cloud-runtime/standalone/components/chat-ui/ChatPreview.tsx +4 -4
- package/cloud-runtime/standalone/components/chat-ui/CommandPopover.tsx +4 -4
- package/cloud-runtime/standalone/components/chat-ui/Composer.tsx +65 -29
- package/cloud-runtime/standalone/components/chat-ui/FileMentionPopover.tsx +4 -4
- package/cloud-runtime/standalone/components/chat-ui/FileMentionPopoverItem.tsx +9 -9
- package/cloud-runtime/standalone/components/chat-ui/LogPanel.tsx +5 -5
- package/cloud-runtime/standalone/components/chat-ui/Markdown.tsx +11 -11
- package/cloud-runtime/standalone/components/chat-ui/MentionPopover.tsx +11 -11
- package/cloud-runtime/standalone/components/chat-ui/MessageAttachments.tsx +5 -5
- package/cloud-runtime/standalone/components/chat-ui/MessageBubble.tsx +6 -6
- package/cloud-runtime/standalone/components/chat-ui/MessageList.tsx +60 -135
- package/cloud-runtime/standalone/components/chat-ui/ParticipantBar.tsx +507 -263
- package/cloud-runtime/standalone/components/chat-ui/ProjectPicker.tsx +17 -17
- package/cloud-runtime/standalone/components/chat-ui/ReactionChip.tsx +1 -1
- package/cloud-runtime/standalone/components/chat-ui/SearchResults.tsx +14 -14
- package/cloud-runtime/standalone/components/chat-ui/StatusIndicator.tsx +7 -7
- package/cloud-runtime/standalone/components/chat-ui/TaskDraftCard.tsx +14 -14
- package/cloud-runtime/standalone/components/chat-ui/TaskStatusCard.tsx +10 -10
- package/cloud-runtime/standalone/components/chat-ui/ThreadMentionPopover.tsx +8 -8
- package/cloud-runtime/standalone/components/chat-ui/ThreadView.tsx +36 -33
- package/cloud-runtime/standalone/components/chat-ui/TypingIndicator.tsx +7 -7
- package/cloud-runtime/standalone/components/errors/StartupGuardWrapper.tsx +96 -0
- package/cloud-runtime/standalone/components/thread/WorkspaceSidebar.tsx +173 -193
- package/cloud-runtime/standalone/fix-primary.js +30 -0
- package/cloud-runtime/standalone/fix-theme.js +78 -0
- package/cloud-runtime/standalone/hooks/useKeyboardShortcuts.ts +131 -0
- package/cloud-runtime/standalone/lib/history-store.ts +6 -1
- package/cloud-runtime/standalone/lib/storage/thread-adapter.ts +3 -3
- package/cloud-runtime/standalone/state/windowState.ts +179 -0
- package/cloud-runtime/standalone/styles/workspaceSidebar.css +89 -94
- package/cloud-runtime/standalone/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__3fe0b1a1._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__5ea3dff5._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__931817d6._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__e68a6e30._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__fad8b80a._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_181427d4._.js +0 -95
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_2da02644._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_60f7e403._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_7dbc349d._.js +0 -95
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_a17cabe8._.js +0 -95
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_d743f11d._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_e05b04a5._.js +0 -4
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_f2970e5f._.js +0 -4
- package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_001a8448._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_ece394eb.js +0 -3
- package/cloud-runtime/standalone/.next/static/chunks/047593c886feba72.css +0 -2
- package/cloud-runtime/standalone/.next/static/chunks/0c589ec8063c3a1f.js +0 -30
- package/cloud-runtime/standalone/.next/static/chunks/1826707bd2f73ca6.js +0 -8
- package/cloud-runtime/standalone/.next/static/chunks/1f1b912fe2e3d5bd.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/32f13ace6661115d.js +0 -93
- package/cloud-runtime/standalone/.next/static/chunks/3b0a3b913dd15028.js +0 -30
- package/cloud-runtime/standalone/.next/static/chunks/4b3358c52d01a3f9.css +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/4ee6151684568990.js +0 -93
- package/cloud-runtime/standalone/.next/static/chunks/5488a71a8515e8b2.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/5aad4adabb65cd20.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/5ce01dbd17ce3bb2.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/5f5ae2ea4fa2b8f0.js +0 -12
- package/cloud-runtime/standalone/.next/static/chunks/6bb1ecbc3b80922c.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/7657d70cc0c40c81.js +0 -6
- package/cloud-runtime/standalone/.next/static/chunks/7f2513325b592f25.js +0 -18
- package/cloud-runtime/standalone/.next/static/chunks/8b658ccf17b771b9.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/b39122b85655e5b0.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/b649593a57df218f.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/b8ca4cb386211980.js +0 -5
- package/cloud-runtime/standalone/.next/static/chunks/e103488c85a7b445.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/e355ac901e70f43d.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/ebebe08434070698.js +0 -93
- /package/cloud-runtime/standalone/.next/static/{H3MuYxcqCPfZoSC2uYW8f → Rn0z3Af30mHwrHLLwgKlz}/_buildManifest.js +0 -0
- /package/cloud-runtime/standalone/.next/static/{H3MuYxcqCPfZoSC2uYW8f → Rn0z3Af30mHwrHLLwgKlz}/_clientMiddlewareManifest.json +0 -0
- /package/cloud-runtime/standalone/.next/static/{H3MuYxcqCPfZoSC2uYW8f → Rn0z3Af30mHwrHLLwgKlz}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { NextRequest, NextResponse } from "next/server";
|
|
2
|
+
import fs from "node:fs";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import os from "node:os";
|
|
5
|
+
|
|
6
|
+
export async function GET(req: NextRequest) {
|
|
7
|
+
const rawPath = req.nextUrl.searchParams.get("path");
|
|
8
|
+
const target = rawPath?.trim() || os.homedir();
|
|
9
|
+
|
|
10
|
+
try {
|
|
11
|
+
const resolved = path.resolve(target);
|
|
12
|
+
const stat = fs.statSync(resolved);
|
|
13
|
+
if (!stat.isDirectory()) {
|
|
14
|
+
return NextResponse.json({ error: "Not a directory" }, { status: 400 });
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
const entries = fs.readdirSync(resolved, { withFileTypes: true });
|
|
18
|
+
const dirs = entries
|
|
19
|
+
.filter((e) => e.isDirectory() && !e.name.startsWith("."))
|
|
20
|
+
.map((e) => ({
|
|
21
|
+
name: e.name,
|
|
22
|
+
path: path.join(resolved, e.name),
|
|
23
|
+
}))
|
|
24
|
+
.sort((a, b) => a.name.localeCompare(b.name));
|
|
25
|
+
|
|
26
|
+
const parent = path.dirname(resolved);
|
|
27
|
+
|
|
28
|
+
return NextResponse.json({
|
|
29
|
+
current: resolved,
|
|
30
|
+
parent: parent !== resolved ? parent : null,
|
|
31
|
+
dirs,
|
|
32
|
+
});
|
|
33
|
+
} catch {
|
|
34
|
+
return NextResponse.json(
|
|
35
|
+
{ error: "Cannot read directory", current: target, parent: null, dirs: [] },
|
|
36
|
+
{ status: 400 }
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -65,7 +65,7 @@ export async function GET() {
|
|
|
65
65
|
{ id: "ollama", bin: "ollama", label: "Installed" },
|
|
66
66
|
{ id: "gemini", bin: "gemini", label: "Installed" },
|
|
67
67
|
{ id: "codex", bin: "codex", label: "Installed" },
|
|
68
|
-
{ id: "zai", bin: "claude", label: "Via Claude CLI +
|
|
68
|
+
{ id: "zai", bin: "claude", label: "Via Claude CLI + Z.AI API key" },
|
|
69
69
|
] as const;
|
|
70
70
|
for (const tool of cliTools) {
|
|
71
71
|
const exists = commandExists(tool.bin);
|
|
@@ -9,12 +9,11 @@ const DEFAULT_LIMIT = 20;
|
|
|
9
9
|
const MAX_LIMIT = 100;
|
|
10
10
|
|
|
11
11
|
const VALID_STATUSES = new Set<ThreadStatus>([
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"resolved",
|
|
12
|
+
"active",
|
|
13
|
+
"paused",
|
|
15
14
|
"in-review",
|
|
15
|
+
"done",
|
|
16
16
|
"archived",
|
|
17
|
-
"paused",
|
|
18
17
|
]);
|
|
19
18
|
|
|
20
19
|
function parseBoundedInt(value: string | null, fallback: number): number {
|
|
@@ -156,7 +155,7 @@ export async function GET(request: NextRequest) {
|
|
|
156
155
|
id: r.id,
|
|
157
156
|
threadId: r.thread_id,
|
|
158
157
|
title: titleFromContent(r.content),
|
|
159
|
-
status: r.thread_status ?? "
|
|
158
|
+
status: r.thread_status ?? "active",
|
|
160
159
|
replyCount: r.reply_count,
|
|
161
160
|
createdAt: r.timestamp,
|
|
162
161
|
lastActivity: r.last_activity,
|
|
@@ -25,7 +25,7 @@ export default function AutomationsPage() {
|
|
|
25
25
|
};
|
|
26
26
|
|
|
27
27
|
return (
|
|
28
|
-
<div className="flex h-screen bg-
|
|
28
|
+
<div className="flex h-screen bg-[var(--card-bg)] text-[var(--foreground)]">
|
|
29
29
|
<WorkspaceSidebar
|
|
30
30
|
threads={[]}
|
|
31
31
|
activeThreadId={null}
|
|
@@ -98,7 +98,7 @@ const NodeIcon = ({ status, className, size = 16 }: { status: string, className?
|
|
|
98
98
|
case 'passed': return <CheckCircle2 size={size} className={`${className} text-green-500`} />;
|
|
99
99
|
case 'running': return <RotateCcw size={size} className={`${className} text-blue-500 animate-spin`} />;
|
|
100
100
|
case 'failed': return <XCircle size={size} className={`${className} text-red-500`} />;
|
|
101
|
-
case 'pending': return <Pause size={size} className={`${className} text-
|
|
101
|
+
case 'pending': return <Pause size={size} className={`${className} text-[var(--app-shell-soft-text)]`} />;
|
|
102
102
|
case 'blocked': return <Construction size={size} className={`${className} text-orange-500`} />;
|
|
103
103
|
default: return null;
|
|
104
104
|
}
|
|
@@ -108,11 +108,11 @@ const BudgetBar = ({ label, current, total, colorClass }: { label: string, curre
|
|
|
108
108
|
const percentage = (current / total) * 100;
|
|
109
109
|
return (
|
|
110
110
|
<div className="mb-4">
|
|
111
|
-
<div className="flex justify-between text-[10px] font-bold text-
|
|
111
|
+
<div className="flex justify-between text-[10px] font-bold text-[var(--app-shell-soft-text)] uppercase tracking-wider mb-1">
|
|
112
112
|
<span>{label}</span>
|
|
113
113
|
<span>{current}/{total}</span>
|
|
114
114
|
</div>
|
|
115
|
-
<div className="w-full h-2 bg-
|
|
115
|
+
<div className="w-full h-2 bg-[var(--secondary)] rounded-full overflow-hidden border border-[var(--border)]/50">
|
|
116
116
|
<div
|
|
117
117
|
className={`h-full transition-all duration-700 ease-out ${colorClass}`}
|
|
118
118
|
style={{ width: `${percentage}%` }}
|
|
@@ -125,27 +125,27 @@ const BudgetBar = ({ label, current, total, colorClass }: { label: string, curre
|
|
|
125
125
|
const TaskCard = ({ task, onClick }: { task: any, onClick: (task: any) => void }) => (
|
|
126
126
|
<div
|
|
127
127
|
onClick={() => onClick(task)}
|
|
128
|
-
className="bg-
|
|
128
|
+
className="bg-[var(--card-bg)] border border-[var(--border)] rounded-xl p-4 shadow-sm hover:shadow-lg hover:border-blue-200 transition-all cursor-pointer group"
|
|
129
129
|
>
|
|
130
130
|
<div className="flex justify-between items-start mb-2">
|
|
131
|
-
<h4 className="font-bold text-
|
|
132
|
-
<span className={`text-[9px] px-1.5 py-0.5 rounded font-black uppercase tracking-widest ${task.mode === 'SIMPLE' ? 'bg-
|
|
131
|
+
<h4 className="font-bold text-[var(--foreground)] group-hover:text-blue-600 transition-colors">{task.title}</h4>
|
|
132
|
+
<span className={`text-[9px] px-1.5 py-0.5 rounded font-black uppercase tracking-widest ${task.mode === 'SIMPLE' ? 'bg-[var(--secondary)] text-[var(--muted-foreground)]' : 'bg-blue-100 text-blue-600'}`}>
|
|
133
133
|
{task.mode}
|
|
134
134
|
</span>
|
|
135
135
|
</div>
|
|
136
136
|
|
|
137
|
-
<div className="flex items-center gap-2 text-[10px] font-bold text-
|
|
137
|
+
<div className="flex items-center gap-2 text-[10px] font-bold text-[var(--app-shell-soft-text)] mb-4">
|
|
138
138
|
<Network size={12} />
|
|
139
139
|
<span>{task.nodesCount} nodes</span>
|
|
140
|
-
<span className="text-
|
|
140
|
+
<span className="text-[var(--border)]">•</span>
|
|
141
141
|
<span>{task.version}</span>
|
|
142
142
|
</div>
|
|
143
143
|
|
|
144
144
|
<div className="mb-4">
|
|
145
145
|
<div className="flex justify-between items-center mb-1.5">
|
|
146
|
-
<span className="text-[10px] font-black text-
|
|
146
|
+
<span className="text-[10px] font-black text-[var(--muted-foreground)]">{task.progress}%</span>
|
|
147
147
|
</div>
|
|
148
|
-
<div className="w-full h-1.5 bg-
|
|
148
|
+
<div className="w-full h-1.5 bg-[var(--secondary)] rounded-full overflow-hidden">
|
|
149
149
|
<div
|
|
150
150
|
className={`h-full transition-all duration-1000 ${task.status === 'DONE' ? 'bg-green-500' : 'bg-blue-500'}`}
|
|
151
151
|
style={{ width: `${task.progress}%` }}
|
|
@@ -162,7 +162,7 @@ const TaskCard = ({ task, onClick }: { task: any, onClick: (task: any) => void }
|
|
|
162
162
|
)}
|
|
163
163
|
|
|
164
164
|
{task.status === 'INTAKE' && (
|
|
165
|
-
<div className="flex items-center gap-2 text-[10px] font-bold text-
|
|
165
|
+
<div className="flex items-center gap-2 text-[10px] font-bold text-[var(--app-shell-soft-text)] px-2 py-1.5 bg-[var(--secondary)] rounded-lg border border-[var(--border)] italic animate-pulse">
|
|
166
166
|
<Terminal size={12} />
|
|
167
167
|
<span>{task.blockingReason}</span>
|
|
168
168
|
</div>
|
|
@@ -178,7 +178,7 @@ const GraphNode = ({ node, isSelected, onClick }: { node: any, isSelected: boole
|
|
|
178
178
|
done: 'border-green-500 bg-green-50 text-green-700',
|
|
179
179
|
passed: 'border-green-500 bg-green-50 text-green-700',
|
|
180
180
|
running: 'border-blue-500 bg-blue-50 shadow-blue-100 shadow-xl ring-4 ring-blue-50',
|
|
181
|
-
pending: 'border-
|
|
181
|
+
pending: 'border-[var(--border)] bg-[var(--card-bg)] text-[var(--app-shell-soft-text)]',
|
|
182
182
|
failed: 'border-red-500 bg-red-50 text-red-700',
|
|
183
183
|
blocked: 'border-orange-500 bg-orange-50 text-orange-700',
|
|
184
184
|
};
|
|
@@ -259,8 +259,8 @@ export default function ExecutionGraphPage() {
|
|
|
259
259
|
};
|
|
260
260
|
|
|
261
261
|
const renderBoard = () => (
|
|
262
|
-
<div className="flex flex-col h-screen bg-
|
|
263
|
-
<header className="flex items-center justify-between px-8 py-5 bg-
|
|
262
|
+
<div className="flex flex-col h-screen bg-[var(--secondary)] font-sans text-[var(--foreground)] overflow-hidden">
|
|
263
|
+
<header className="flex items-center justify-between px-8 py-5 bg-[var(--card-bg)] border-b border-[var(--border)]">
|
|
264
264
|
<div className="flex items-center gap-4">
|
|
265
265
|
<div className="w-12 h-12 bg-blue-600 rounded-xl flex items-center justify-center text-white font-black text-2xl shadow-xl shadow-blue-200 transform -rotate-3 hover:rotate-0 transition-transform cursor-pointer">
|
|
266
266
|
ag
|
|
@@ -269,11 +269,11 @@ export default function ExecutionGraphPage() {
|
|
|
269
269
|
<h1 className="text-2xl font-black tracking-tight flex items-center gap-2">
|
|
270
270
|
agx <span className="text-blue-600">v2</span>
|
|
271
271
|
</h1>
|
|
272
|
-
<p className="text-[10px] font-black text-
|
|
272
|
+
<p className="text-[10px] font-black text-[var(--app-shell-soft-text)] uppercase tracking-[0.2em]">Execution Graph Engine</p>
|
|
273
273
|
</div>
|
|
274
274
|
</div>
|
|
275
275
|
<div className="flex gap-4">
|
|
276
|
-
<div className="flex items-center gap-2 px-4 py-2 bg-
|
|
276
|
+
<div className="flex items-center gap-2 px-4 py-2 bg-[var(--secondary)] rounded-lg text-[var(--muted-foreground)] font-bold text-xs border border-[var(--border)]">
|
|
277
277
|
<Clock size={14} /> System Time: 21:50
|
|
278
278
|
</div>
|
|
279
279
|
<button className="flex items-center gap-2 px-5 py-2.5 bg-blue-600 hover:bg-blue-700 text-white rounded-xl font-bold transition-all shadow-lg shadow-blue-200 active:scale-95">
|
|
@@ -295,7 +295,7 @@ export default function ExecutionGraphPage() {
|
|
|
295
295
|
<div className={`flex items-center gap-2 font-black text-sm uppercase tracking-widest text-${col.color}-500`}>
|
|
296
296
|
{col.icon} {col.label}
|
|
297
297
|
</div>
|
|
298
|
-
<span className="text-[10px] font-black bg-
|
|
298
|
+
<span className="text-[10px] font-black bg-[var(--card-bg)] border border-[var(--border)] text-[var(--app-shell-soft-text)] px-3 py-1 rounded-full shadow-sm">
|
|
299
299
|
{tasks.filter(t => t.status === col.id).length}
|
|
300
300
|
</span>
|
|
301
301
|
</div>
|
|
@@ -315,11 +315,11 @@ export default function ExecutionGraphPage() {
|
|
|
315
315
|
const isProject = selectedTask.mode === 'PROJECT';
|
|
316
316
|
|
|
317
317
|
return (
|
|
318
|
-
<div className="flex flex-col h-screen bg-
|
|
319
|
-
<header className="flex items-center px-6 py-4 border-b border-
|
|
318
|
+
<div className="flex flex-col h-screen bg-[var(--card-bg)] font-sans text-[var(--foreground)] overflow-hidden">
|
|
319
|
+
<header className="flex items-center px-6 py-4 border-b border-[var(--border)] bg-[var(--card-bg)] z-50 shadow-sm">
|
|
320
320
|
<button
|
|
321
321
|
onClick={closeTask}
|
|
322
|
-
className="p-2.5 hover:bg-
|
|
322
|
+
className="p-2.5 hover:bg-[var(--item-hover-bg)] rounded-xl transition-colors mr-4 text-[var(--app-shell-soft-text)] hover:text-[var(--foreground)]"
|
|
323
323
|
>
|
|
324
324
|
<ChevronLeft size={24} strokeWidth={2.5} />
|
|
325
325
|
</button>
|
|
@@ -330,23 +330,23 @@ export default function ExecutionGraphPage() {
|
|
|
330
330
|
<span className="px-2 py-0.5 bg-blue-600 text-white text-[9px] font-black rounded uppercase tracking-widest">
|
|
331
331
|
v{graphVersion}
|
|
332
332
|
</span>
|
|
333
|
-
<span className="px-2 py-0.5 bg-
|
|
333
|
+
<span className="px-2 py-0.5 bg-[var(--secondary)] text-[var(--muted-foreground)] border border-[var(--border)] text-[9px] font-black rounded uppercase tracking-widest">
|
|
334
334
|
{selectedTask.progress}% Complete
|
|
335
335
|
</span>
|
|
336
336
|
</div>
|
|
337
337
|
</div>
|
|
338
338
|
<div className="flex gap-4 mt-0.5">
|
|
339
|
-
<p className="text-[10px] text-
|
|
340
|
-
<p className="text-[10px] text-
|
|
339
|
+
<p className="text-[10px] text-[var(--app-shell-soft-text)] font-bold uppercase tracking-tight">ID: {selectedTask.id}</p>
|
|
340
|
+
<p className="text-[10px] text-[var(--app-shell-soft-text)] font-bold uppercase tracking-tight">• Phase: Implementation</p>
|
|
341
341
|
</div>
|
|
342
342
|
</div>
|
|
343
343
|
<div className="flex items-center gap-3">
|
|
344
|
-
<button className="flex items-center gap-2 px-4 py-2 text-
|
|
344
|
+
<button className="flex items-center gap-2 px-4 py-2 text-[var(--muted-foreground)] hover:text-[var(--foreground)] font-bold text-xs bg-[var(--secondary)] border border-[var(--border)] rounded-lg transition-all active:scale-95">
|
|
345
345
|
<Settings2 size={16} /> Configure
|
|
346
346
|
</button>
|
|
347
347
|
<button
|
|
348
348
|
onClick={triggerReplan}
|
|
349
|
-
className="flex items-center gap-2 px-4 py-2 bg-
|
|
349
|
+
className="flex items-center gap-2 px-4 py-2 bg-[var(--foreground)] hover:bg-black text-white rounded-lg font-bold text-xs transition-all shadow-md active:scale-95"
|
|
350
350
|
>
|
|
351
351
|
<GitBranch size={16} /> Trigger Replan
|
|
352
352
|
</button>
|
|
@@ -358,22 +358,22 @@ export default function ExecutionGraphPage() {
|
|
|
358
358
|
|
|
359
359
|
<div className="flex flex-1 overflow-hidden">
|
|
360
360
|
<div
|
|
361
|
-
className="flex-1 flex flex-col relative overflow-hidden bg-
|
|
361
|
+
className="flex-1 flex flex-col relative overflow-hidden bg-[var(--secondary)]"
|
|
362
362
|
onClick={() => setSelectedNode(null)}
|
|
363
363
|
>
|
|
364
364
|
{/* Graph Legend Overlay */}
|
|
365
365
|
<div className="absolute top-6 left-6 z-10">
|
|
366
|
-
<div className="bg-
|
|
367
|
-
<h3 className="text-[9px] font-black text-
|
|
366
|
+
<div className="bg-[var(--card-bg)] backdrop-blur-md border border-[var(--border)] p-3 rounded-xl shadow-xl">
|
|
367
|
+
<h3 className="text-[9px] font-black text-[var(--app-shell-soft-text)] uppercase mb-3 px-1 tracking-[0.2em]">Visual Language</h3>
|
|
368
368
|
<div className="flex flex-col gap-2.5">
|
|
369
|
-
<div className="flex items-center gap-3 text-[10px] font-bold text-
|
|
370
|
-
<div className="w-5 h-3 rounded bg-
|
|
369
|
+
<div className="flex items-center gap-3 text-[10px] font-bold text-[var(--muted-foreground)]">
|
|
370
|
+
<div className="w-5 h-3 rounded bg-[var(--secondary)] border border-[var(--border)]" /> Work Node
|
|
371
371
|
</div>
|
|
372
|
-
<div className="flex items-center gap-3 text-[10px] font-bold text-
|
|
373
|
-
<div className="w-4 h-4 rotate-45 bg-
|
|
372
|
+
<div className="flex items-center gap-3 text-[10px] font-bold text-[var(--muted-foreground)]">
|
|
373
|
+
<div className="w-4 h-4 rotate-45 bg-[var(--secondary)] border border-[var(--border)]" /> Gate Node
|
|
374
374
|
</div>
|
|
375
|
-
<div className="flex items-center gap-3 text-[10px] font-bold text-
|
|
376
|
-
<div className="w-4 h-4 rounded-full bg-
|
|
375
|
+
<div className="flex items-center gap-3 text-[10px] font-bold text-[var(--muted-foreground)]">
|
|
376
|
+
<div className="w-4 h-4 rounded-full bg-[var(--secondary)] border border-[var(--border)]" /> Control Node
|
|
377
377
|
</div>
|
|
378
378
|
</div>
|
|
379
379
|
</div>
|
|
@@ -381,9 +381,9 @@ export default function ExecutionGraphPage() {
|
|
|
381
381
|
|
|
382
382
|
{/* Viewport Actions */}
|
|
383
383
|
<div className="absolute bottom-6 left-6 z-10 flex gap-2">
|
|
384
|
-
<button className="p-2 bg-
|
|
385
|
-
<button className="p-2 bg-
|
|
386
|
-
<button className="px-3 py-2 bg-
|
|
384
|
+
<button className="p-2 bg-[var(--card-bg)] border border-[var(--border)] rounded-lg shadow hover:bg-[var(--item-hover-bg)] text-[var(--app-shell-soft-text)]"><Plus size={16} /></button>
|
|
385
|
+
<button className="p-2 bg-[var(--card-bg)] border border-[var(--border)] rounded-lg shadow hover:bg-[var(--item-hover-bg)] text-[var(--app-shell-soft-text)]"><ArrowRightLeft size={16} className="rotate-90" /></button>
|
|
386
|
+
<button className="px-3 py-2 bg-[var(--card-bg)] border border-[var(--border)] rounded-lg shadow hover:bg-[var(--item-hover-bg)] text-[10px] font-black text-[var(--muted-foreground)] uppercase tracking-widest">Fit to Screen</button>
|
|
387
387
|
</div>
|
|
388
388
|
|
|
389
389
|
{/* The Graph Canvas */}
|
|
@@ -393,7 +393,7 @@ export default function ExecutionGraphPage() {
|
|
|
393
393
|
<svg className="absolute inset-0 w-full h-full pointer-events-none" style={{ overflow: 'visible' }}>
|
|
394
394
|
<defs>
|
|
395
395
|
<marker id="arrowhead" markerWidth="10" markerHeight="7" refX="9" refY="3.5" orientation="auto">
|
|
396
|
-
<polygon points="0 0, 10 3.5, 0 7" fill="
|
|
396
|
+
<polygon points="0 0, 10 3.5, 0 7" fill="var(--app-shell-soft-text)" />
|
|
397
397
|
</marker>
|
|
398
398
|
</defs>
|
|
399
399
|
{AUTH_EDGES.map((edge, i) => {
|
|
@@ -404,7 +404,7 @@ export default function ExecutionGraphPage() {
|
|
|
404
404
|
<line
|
|
405
405
|
key={i}
|
|
406
406
|
x1={from.x} y1={from.y} x2={to.x} y2={to.y}
|
|
407
|
-
stroke="
|
|
407
|
+
stroke="var(--border)"
|
|
408
408
|
strokeWidth="2.5"
|
|
409
409
|
markerEnd="url(#arrowhead)"
|
|
410
410
|
strokeDasharray={from.type === 'work' && from.status === 'running' ? "5,5" : "none"}
|
|
@@ -424,20 +424,20 @@ export default function ExecutionGraphPage() {
|
|
|
424
424
|
))}
|
|
425
425
|
</div>
|
|
426
426
|
) : (
|
|
427
|
-
<div className="flex flex-col items-center justify-center text-
|
|
428
|
-
<div className="w-20 h-20 bg-
|
|
427
|
+
<div className="flex flex-col items-center justify-center text-[var(--app-shell-soft-text)] bg-[var(--card-bg)] p-16 rounded-[2.5rem] border-2 border-dashed border-[var(--border)] max-w-md text-center shadow-inner">
|
|
428
|
+
<div className="w-20 h-20 bg-[var(--secondary)] rounded-3xl flex items-center justify-center mb-6 border border-[var(--border)] shadow-sm">
|
|
429
429
|
<Terminal size={40} className="opacity-30" />
|
|
430
430
|
</div>
|
|
431
|
-
<h3 className="font-black text-xl text-
|
|
432
|
-
<p className="text-sm text-
|
|
431
|
+
<h3 className="font-black text-xl text-[var(--secondary-foreground)] mb-3 tracking-tight">Linear Task Logic</h3>
|
|
432
|
+
<p className="text-sm text-[var(--app-shell-soft-text)] font-medium leading-relaxed">This task has been classified as SIMPLE. Execution runs through a predefined serial sequence without branching overhead.</p>
|
|
433
433
|
</div>
|
|
434
434
|
)}
|
|
435
435
|
</div>
|
|
436
436
|
|
|
437
437
|
{/* Version Timeline */}
|
|
438
|
-
<div className="h-28 bg-
|
|
438
|
+
<div className="h-28 bg-[var(--card-bg)] border-t border-[var(--border)] px-8 py-4 flex flex-col gap-4">
|
|
439
439
|
<div className="flex items-center justify-between">
|
|
440
|
-
<span className="text-[10px] font-black text-
|
|
440
|
+
<span className="text-[10px] font-black text-[var(--app-shell-soft-text)] uppercase tracking-[0.2em]">Execution History Timeline</span>
|
|
441
441
|
<div className="flex gap-4">
|
|
442
442
|
<button className="text-[10px] font-black text-blue-600 hover:text-blue-700 uppercase tracking-widest flex items-center gap-1.5">
|
|
443
443
|
<History size={12} /> View Full Logs
|
|
@@ -445,20 +445,20 @@ export default function ExecutionGraphPage() {
|
|
|
445
445
|
</div>
|
|
446
446
|
</div>
|
|
447
447
|
<div className="flex items-center relative gap-24 h-full">
|
|
448
|
-
<div className="absolute top-1/2 left-0 w-full h-0.5 bg-
|
|
448
|
+
<div className="absolute top-1/2 left-0 w-full h-0.5 bg-[var(--secondary)] -translate-y-1/2" />
|
|
449
449
|
|
|
450
450
|
{selectedTask.history.slice().reverse().map((ev: any, i: number) => (
|
|
451
451
|
<div key={ev.id} className="relative z-10 flex flex-col items-center group cursor-pointer">
|
|
452
|
-
<div className={`w-3.5 h-3.5 rounded-full border-2 border-
|
|
453
|
-
<span className={`text-[10px] font-black mt-2 uppercase tracking-tighter ${i === selectedTask.history.length - 1 ? 'text-blue-600' : 'text-
|
|
452
|
+
<div className={`w-3.5 h-3.5 rounded-full border-2 border-[var(--card-bg)] ring-4 ring-offset-2 transition-all group-hover:scale-125 ${i === selectedTask.history.length - 1 ? 'bg-blue-600 ring-blue-100 scale-110' : 'bg-[var(--app-shell-soft-text)] ring-transparent opacity-60'}`} />
|
|
453
|
+
<span className={`text-[10px] font-black mt-2 uppercase tracking-tighter ${i === selectedTask.history.length - 1 ? 'text-blue-600' : 'text-[var(--app-shell-soft-text)]'}`}>
|
|
454
454
|
{ev.from ? `${ev.from} → ${ev.to}` : ev.event}
|
|
455
455
|
</span>
|
|
456
|
-
<span className="text-[8px] font-bold text-
|
|
456
|
+
<span className="text-[8px] font-bold text-[var(--app-shell-soft-text)] whitespace-nowrap">{ev.time}</span>
|
|
457
457
|
</div>
|
|
458
458
|
))}
|
|
459
459
|
|
|
460
460
|
<div className="ml-auto relative z-10 flex flex-col items-end">
|
|
461
|
-
<div className="px-4 py-1.5 bg-
|
|
461
|
+
<div className="px-4 py-1.5 bg-[var(--secondary)] border border-[var(--border)] rounded-lg text-[9px] font-black text-[var(--app-shell-soft-text)] italic tracking-widest uppercase shadow-sm">
|
|
462
462
|
Next Checkpoint: v{graphVersion + 1}
|
|
463
463
|
</div>
|
|
464
464
|
</div>
|
|
@@ -467,15 +467,15 @@ export default function ExecutionGraphPage() {
|
|
|
467
467
|
</div>
|
|
468
468
|
|
|
469
469
|
{/* Dynamic Inspector Sidebar */}
|
|
470
|
-
<aside className="w-90 border-l border-
|
|
470
|
+
<aside className="w-90 border-l border-[var(--border)] p-8 flex flex-col gap-8 overflow-y-auto bg-[var(--card-bg)]">
|
|
471
471
|
{!selectedNode ? (
|
|
472
472
|
<>
|
|
473
473
|
<section>
|
|
474
|
-
<h3 className="flex items-center gap-2 text-[10px] font-black text-
|
|
474
|
+
<h3 className="flex items-center gap-2 text-[10px] font-black text-[var(--app-shell-soft-text)] uppercase tracking-widest mb-6">
|
|
475
475
|
<AlertCircle size={14} /> Execution Overview
|
|
476
476
|
</h3>
|
|
477
477
|
|
|
478
|
-
<div className="bg-
|
|
478
|
+
<div className="bg-[var(--foreground)] p-5 rounded-2xl text-white shadow-xl shadow-[var(--border)]">
|
|
479
479
|
<div className="flex justify-between items-start mb-4">
|
|
480
480
|
<div>
|
|
481
481
|
<p className="text-[9px] font-black text-blue-400 uppercase tracking-widest mb-1">Active Worker</p>
|
|
@@ -483,14 +483,14 @@ export default function ExecutionGraphPage() {
|
|
|
483
483
|
write-tests <div className="w-2 h-2 rounded-full bg-blue-500 animate-pulse" />
|
|
484
484
|
</h4>
|
|
485
485
|
</div>
|
|
486
|
-
<RotateCcw size={20} className="text-
|
|
486
|
+
<RotateCcw size={20} className="text-[var(--muted-foreground)] animate-[spin_3s_linear_infinite]" />
|
|
487
487
|
</div>
|
|
488
488
|
<div className="space-y-3">
|
|
489
|
-
<div className="flex justify-between text-[10px] font-bold text-
|
|
489
|
+
<div className="flex justify-between text-[10px] font-bold text-[var(--app-shell-soft-text)] uppercase">
|
|
490
490
|
<span>Current Attempt</span>
|
|
491
491
|
<span className="text-white">2 / 3</span>
|
|
492
492
|
</div>
|
|
493
|
-
<div className="flex justify-between text-[10px] font-bold text-
|
|
493
|
+
<div className="flex justify-between text-[10px] font-bold text-[var(--app-shell-soft-text)] uppercase">
|
|
494
494
|
<span>Time Elapsed</span>
|
|
495
495
|
<span className="text-white font-mono">15m 22s</span>
|
|
496
496
|
</div>
|
|
@@ -499,7 +499,7 @@ export default function ExecutionGraphPage() {
|
|
|
499
499
|
</section>
|
|
500
500
|
|
|
501
501
|
<section>
|
|
502
|
-
<h3 className="flex items-center gap-2 text-[10px] font-black text-
|
|
502
|
+
<h3 className="flex items-center gap-2 text-[10px] font-black text-[var(--app-shell-soft-text)] uppercase tracking-widest mb-6">
|
|
503
503
|
<Database size={14} /> Resource Budgets
|
|
504
504
|
</h3>
|
|
505
505
|
{selectedTask.policy ? (
|
|
@@ -518,14 +518,14 @@ export default function ExecutionGraphPage() {
|
|
|
518
518
|
/>
|
|
519
519
|
</div>
|
|
520
520
|
) : (
|
|
521
|
-
<div className="p-4 bg-
|
|
521
|
+
<div className="p-4 bg-[var(--secondary)] rounded-xl border border-[var(--border)] text-[10px] font-bold text-[var(--app-shell-soft-text)] uppercase text-center tracking-widest">
|
|
522
522
|
Standard Policy Applied
|
|
523
523
|
</div>
|
|
524
524
|
)}
|
|
525
525
|
</section>
|
|
526
526
|
|
|
527
527
|
<section>
|
|
528
|
-
<h3 className="flex items-center gap-2 text-[10px] font-black text-
|
|
528
|
+
<h3 className="flex items-center gap-2 text-[10px] font-black text-[var(--app-shell-soft-text)] uppercase tracking-widest mb-6">
|
|
529
529
|
<Construction size={14} /> Gate Verification
|
|
530
530
|
</h3>
|
|
531
531
|
<div className="space-y-5">
|
|
@@ -534,17 +534,17 @@ export default function ExecutionGraphPage() {
|
|
|
534
534
|
<Pause size={12} strokeWidth={3} />
|
|
535
535
|
</div>
|
|
536
536
|
<div>
|
|
537
|
-
<h5 className="text-xs font-black text-
|
|
538
|
-
<p className="text-[10px] text-
|
|
537
|
+
<h5 className="text-xs font-black text-[var(--secondary-foreground)] uppercase tracking-tight">quality-gate</h5>
|
|
538
|
+
<p className="text-[10px] text-[var(--app-shell-soft-text)] font-medium leading-relaxed mt-1">Pending: Coverage metrics must meet 80% threshold before proceeding.</p>
|
|
539
539
|
</div>
|
|
540
540
|
</div>
|
|
541
541
|
<div className="flex items-start gap-4 opacity-40">
|
|
542
|
-
<div className="mt-1 flex items-center justify-center w-6 h-6 rounded-full bg-
|
|
542
|
+
<div className="mt-1 flex items-center justify-center w-6 h-6 rounded-full bg-[var(--secondary)] text-[var(--app-shell-soft-text)] border border-[var(--border)]">
|
|
543
543
|
<Lock size={12} strokeWidth={3} />
|
|
544
544
|
</div>
|
|
545
545
|
<div>
|
|
546
|
-
<h5 className="text-xs font-black text-
|
|
547
|
-
<p className="text-[10px] text-
|
|
546
|
+
<h5 className="text-xs font-black text-[var(--secondary-foreground)] uppercase tracking-tight">handoff-gate</h5>
|
|
547
|
+
<p className="text-[10px] text-[var(--app-shell-soft-text)] font-medium leading-relaxed mt-1">Blocked: Human architecture review required after quality gate pass.</p>
|
|
548
548
|
</div>
|
|
549
549
|
</div>
|
|
550
550
|
</div>
|
|
@@ -565,31 +565,31 @@ export default function ExecutionGraphPage() {
|
|
|
565
565
|
{selectedNode.type === 'work' ? <Zap size={24} /> : selectedNode.type === 'gate' ? <ShieldCheck size={24} /> : <GitBranch size={24} />}
|
|
566
566
|
</div>
|
|
567
567
|
<div>
|
|
568
|
-
<p className="text-[10px] font-black text-
|
|
568
|
+
<p className="text-[10px] font-black text-[var(--app-shell-soft-text)] uppercase tracking-widest">{selectedNode.type} Node</p>
|
|
569
569
|
<h3 className="text-xl font-black tracking-tight">{selectedNode.title}</h3>
|
|
570
570
|
</div>
|
|
571
571
|
</div>
|
|
572
572
|
|
|
573
573
|
<div className="space-y-8">
|
|
574
574
|
<section>
|
|
575
|
-
<h4 className="text-[10px] font-black text-
|
|
576
|
-
<div className="flex items-center gap-3 px-4 py-3 bg-
|
|
575
|
+
<h4 className="text-[10px] font-black text-[var(--app-shell-soft-text)] uppercase tracking-widest mb-4">Current Status</h4>
|
|
576
|
+
<div className="flex items-center gap-3 px-4 py-3 bg-[var(--secondary)] rounded-xl border border-[var(--border)]">
|
|
577
577
|
<NodeIcon status={selectedNode.status} size={20} />
|
|
578
|
-
<span className="text-xs font-black uppercase tracking-widest text-
|
|
578
|
+
<span className="text-xs font-black uppercase tracking-widest text-[var(--secondary-foreground)]">{selectedNode.status}</span>
|
|
579
579
|
</div>
|
|
580
580
|
</section>
|
|
581
581
|
|
|
582
582
|
{selectedNode.type === 'work' && (
|
|
583
583
|
<section>
|
|
584
|
-
<h4 className="text-[10px] font-black text-
|
|
584
|
+
<h4 className="text-[10px] font-black text-[var(--app-shell-soft-text)] uppercase tracking-widest mb-4">Performance Metrics</h4>
|
|
585
585
|
<div className="grid grid-cols-2 gap-3">
|
|
586
|
-
<div className="p-4 bg-
|
|
587
|
-
<p className="text-[9px] font-bold text-
|
|
588
|
-
<p className="text-sm font-black text-
|
|
586
|
+
<div className="p-4 bg-[var(--card-bg)] border border-[var(--border)] rounded-xl">
|
|
587
|
+
<p className="text-[9px] font-bold text-[var(--app-shell-soft-text)] uppercase mb-1">Latency</p>
|
|
588
|
+
<p className="text-sm font-black text-[var(--foreground)]">{selectedNode.metrics?.latency || '32m 14s'}</p>
|
|
589
589
|
</div>
|
|
590
|
-
<div className="p-4 bg-
|
|
591
|
-
<p className="text-[9px] font-bold text-
|
|
592
|
-
<p className="text-sm font-black text-
|
|
590
|
+
<div className="p-4 bg-[var(--card-bg)] border border-[var(--border)] rounded-xl">
|
|
591
|
+
<p className="text-[9px] font-bold text-[var(--app-shell-soft-text)] uppercase mb-1">Compute</p>
|
|
592
|
+
<p className="text-sm font-black text-[var(--foreground)]">{selectedNode.metrics?.tokens || '14.2k tokens'}</p>
|
|
593
593
|
</div>
|
|
594
594
|
</div>
|
|
595
595
|
</section>
|
|
@@ -597,7 +597,7 @@ export default function ExecutionGraphPage() {
|
|
|
597
597
|
|
|
598
598
|
{selectedNode.type === 'gate' && (
|
|
599
599
|
<section>
|
|
600
|
-
<h4 className="text-[10px] font-black text-
|
|
600
|
+
<h4 className="text-[10px] font-black text-[var(--app-shell-soft-text)] uppercase tracking-widest mb-4">Gate Requirements</h4>
|
|
601
601
|
<div className="space-y-3">
|
|
602
602
|
{[
|
|
603
603
|
{ label: 'Unit Tests', status: 'pass' },
|
|
@@ -605,8 +605,8 @@ export default function ExecutionGraphPage() {
|
|
|
605
605
|
{ label: 'Type Safety', status: 'pass' },
|
|
606
606
|
{ label: 'Coverage (>80%)', status: 'fail' }
|
|
607
607
|
].map((check, i) => (
|
|
608
|
-
<div key={i} className="flex items-center justify-between p-3 bg-
|
|
609
|
-
<span className="text-[11px] font-bold text-
|
|
608
|
+
<div key={i} className="flex items-center justify-between p-3 bg-[var(--card-bg)] border border-[var(--border)] rounded-xl">
|
|
609
|
+
<span className="text-[11px] font-bold text-[var(--muted-foreground)]">{check.label}</span>
|
|
610
610
|
{check.status === 'pass' ? <CheckCircle2 size={16} className="text-green-500" /> : <AlertCircle size={16} className="text-red-500" />}
|
|
611
611
|
</div>
|
|
612
612
|
))}
|
|
@@ -621,15 +621,15 @@ export default function ExecutionGraphPage() {
|
|
|
621
621
|
)}
|
|
622
622
|
|
|
623
623
|
<section>
|
|
624
|
-
<h4 className="text-[10px] font-black text-
|
|
624
|
+
<h4 className="text-[10px] font-black text-[var(--app-shell-soft-text)] uppercase tracking-widest mb-4">Node Dependencies</h4>
|
|
625
625
|
<div className="flex flex-wrap gap-2">
|
|
626
626
|
{AUTH_EDGES.filter(e => e.to === selectedNode.id).map((e, i) => (
|
|
627
|
-
<div key={i} className="px-3 py-1.5 bg-
|
|
627
|
+
<div key={i} className="px-3 py-1.5 bg-[var(--secondary)] text-[var(--muted-foreground)] text-[10px] font-bold rounded-lg border border-[var(--border)]">
|
|
628
628
|
Source: {e.from}
|
|
629
629
|
</div>
|
|
630
630
|
))}
|
|
631
631
|
{AUTH_EDGES.filter(e => e.to === selectedNode.id).length === 0 && (
|
|
632
|
-
<span className="text-[10px] font-bold text-
|
|
632
|
+
<span className="text-[10px] font-bold text-[var(--app-shell-soft-text)] italic uppercase">Graph Start Node</span>
|
|
633
633
|
)}
|
|
634
634
|
</div>
|
|
635
635
|
</section>
|
|
@@ -637,17 +637,17 @@ export default function ExecutionGraphPage() {
|
|
|
637
637
|
</div>
|
|
638
638
|
)}
|
|
639
639
|
|
|
640
|
-
<section className="mt-auto pt-8 border-t border-
|
|
641
|
-
<h3 className="flex items-center gap-2 text-[10px] font-black text-
|
|
640
|
+
<section className="mt-auto pt-8 border-t border-[var(--border)]">
|
|
641
|
+
<h3 className="flex items-center gap-2 text-[10px] font-black text-[var(--app-shell-soft-text)] uppercase tracking-widest mb-4">
|
|
642
642
|
<Layout size={14} /> Global Policy
|
|
643
643
|
</h3>
|
|
644
644
|
<div className="flex flex-col gap-2">
|
|
645
645
|
<div className="flex justify-between text-[10px] font-bold">
|
|
646
|
-
<span className="text-
|
|
647
|
-
<span className="text-
|
|
646
|
+
<span className="text-[var(--app-shell-soft-text)] uppercase">Concurrency Limit</span>
|
|
647
|
+
<span className="text-[var(--secondary-foreground)]">3 WorkNodes</span>
|
|
648
648
|
</div>
|
|
649
649
|
<div className="flex justify-between text-[10px] font-bold">
|
|
650
|
-
<span className="text-
|
|
650
|
+
<span className="text-[var(--app-shell-soft-text)] uppercase">Mode</span>
|
|
651
651
|
<span className="text-blue-600 uppercase">Project / DAG</span>
|
|
652
652
|
</div>
|
|
653
653
|
</div>
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
export default function GlobalError({
|
|
4
|
+
error,
|
|
5
|
+
reset,
|
|
6
|
+
}: {
|
|
7
|
+
error: Error & { digest?: string };
|
|
8
|
+
reset: () => void;
|
|
9
|
+
}) {
|
|
10
|
+
// This must be a client component to avoid SSR issues
|
|
11
|
+
return (
|
|
12
|
+
<html lang="en">
|
|
13
|
+
<body style={{
|
|
14
|
+
margin: 0,
|
|
15
|
+
padding: 0,
|
|
16
|
+
minHeight: "100vh",
|
|
17
|
+
display: "flex",
|
|
18
|
+
alignItems: "center",
|
|
19
|
+
justifyContent: "center",
|
|
20
|
+
backgroundColor: "var(--background, #f3f4f6)",
|
|
21
|
+
color: "var(--foreground, #111827)",
|
|
22
|
+
fontFamily: "system-ui, sans-serif",
|
|
23
|
+
}}>
|
|
24
|
+
<div style={{
|
|
25
|
+
textAlign: "center",
|
|
26
|
+
padding: "2rem",
|
|
27
|
+
maxWidth: "400px",
|
|
28
|
+
}}>
|
|
29
|
+
<h1 style={{ fontSize: "1.5rem", fontWeight: 600, marginBottom: "1rem" }}>
|
|
30
|
+
Something went wrong
|
|
31
|
+
</h1>
|
|
32
|
+
<p style={{ color: "var(--muted-foreground, #667085)", marginBottom: "1.5rem" }}>
|
|
33
|
+
An unexpected error occurred. Please try refreshing the page.
|
|
34
|
+
</p>
|
|
35
|
+
<button
|
|
36
|
+
onClick={() => reset()}
|
|
37
|
+
style={{
|
|
38
|
+
padding: "0.5rem 1rem",
|
|
39
|
+
borderRadius: "0.375rem",
|
|
40
|
+
border: "1px solid var(--border, rgba(15, 23, 42, 0.1))",
|
|
41
|
+
background: "var(--primary, #2563EB)",
|
|
42
|
+
color: "white",
|
|
43
|
+
fontSize: "0.875rem",
|
|
44
|
+
fontWeight: 500,
|
|
45
|
+
cursor: "pointer",
|
|
46
|
+
}}
|
|
47
|
+
>
|
|
48
|
+
Try again
|
|
49
|
+
</button>
|
|
50
|
+
</div>
|
|
51
|
+
</body>
|
|
52
|
+
</html>
|
|
53
|
+
);
|
|
54
|
+
}
|