@mndrk/agx 2.0.23 → 2.0.25
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/{_a88b4884._.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/{_a19a362a._.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/{_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 +101 -101
- 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 +83 -111
- 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 +5 -1
- 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]__d2c48923._.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/_7dbc349d._.js +0 -95
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_8bbe2ac1._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_a17cabe8._.js +0 -95
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_cf5fdbfb._.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_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/2a3594d4cb2efe79.css +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/4ee6151684568990.js +0 -93
- package/cloud-runtime/standalone/.next/static/chunks/5aad4adabb65cd20.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/78f6cef7d2129d30.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/7f2513325b592f25.js +0 -18
- package/cloud-runtime/standalone/.next/static/chunks/81704a1c525bf2ee.js +0 -1
- 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/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/{R2CPNTvy5domQF90j_DYV → HOfhTqGoYN6GjsW9CCf3t}/_buildManifest.js +0 -0
- /package/cloud-runtime/standalone/.next/static/{R2CPNTvy5domQF90j_DYV → HOfhTqGoYN6GjsW9CCf3t}/_clientMiddlewareManifest.json +0 -0
- /package/cloud-runtime/standalone/.next/static/{R2CPNTvy5domQF90j_DYV → HOfhTqGoYN6GjsW9CCf3t}/_ssgManifest.js +0 -0
|
@@ -351,7 +351,7 @@ export default function AgentLibraryPage() {
|
|
|
351
351
|
// ── Checkbox helper ─────────────────────────────────────────────────────
|
|
352
352
|
|
|
353
353
|
const Checkbox = ({ checked }: { checked: boolean }) => (
|
|
354
|
-
<div className={`w-4 h-4 rounded border flex-shrink-0 flex items-center justify-center ${checked ? "bg-
|
|
354
|
+
<div className={`w-4 h-4 rounded border flex-shrink-0 flex items-center justify-center ${checked ? "bg-[var(--foreground)] border-[var(--foreground)]" : "border-[var(--app-shell-soft-text)]"}`}>
|
|
355
355
|
{checked && (
|
|
356
356
|
<svg width="10" height="10" viewBox="0 0 10 10" fill="none"><path d="M2 5l2 2 4-4" stroke="white" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round"/></svg>
|
|
357
357
|
)}
|
|
@@ -359,21 +359,21 @@ export default function AgentLibraryPage() {
|
|
|
359
359
|
);
|
|
360
360
|
|
|
361
361
|
return (
|
|
362
|
-
<div className="min-h-screen bg-
|
|
362
|
+
<div className="min-h-screen bg-[var(--secondary)] p-6">
|
|
363
363
|
<div className="max-w-6xl mx-auto">
|
|
364
364
|
<div className="flex items-center gap-3 mb-6">
|
|
365
365
|
<Link
|
|
366
366
|
href="/"
|
|
367
|
-
className="inline-flex items-center gap-1 text-sm text-
|
|
367
|
+
className="inline-flex items-center gap-1 text-sm text-[var(--muted-foreground)] hover:text-[var(--secondary-foreground)] transition-colors"
|
|
368
368
|
>
|
|
369
369
|
<ArrowLeft size={16} />
|
|
370
370
|
Back
|
|
371
371
|
</Link>
|
|
372
|
-
<h1 className="text-2xl font-semibold text-
|
|
372
|
+
<h1 className="text-2xl font-semibold text-[var(--foreground)]">Manage Agents</h1>
|
|
373
373
|
<div className="ml-auto flex items-center gap-2">
|
|
374
374
|
<button
|
|
375
375
|
type="button"
|
|
376
|
-
className="inline-flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium text-white bg-
|
|
376
|
+
className="inline-flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium text-white bg-[var(--foreground)] rounded-lg hover:opacity-90 transition-colors"
|
|
377
377
|
onClick={() => setCreatingNewAgent(true)}
|
|
378
378
|
>
|
|
379
379
|
<Plus size={13} />
|
|
@@ -415,23 +415,23 @@ export default function AgentLibraryPage() {
|
|
|
415
415
|
|
|
416
416
|
{/* Agent Grid */}
|
|
417
417
|
{participants.length === 0 ? (
|
|
418
|
-
<p className="text-
|
|
418
|
+
<p className="text-[var(--muted-foreground)] text-sm">No agents configured yet.</p>
|
|
419
419
|
) : (
|
|
420
420
|
<div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4">
|
|
421
421
|
{participants.map((p) => (
|
|
422
422
|
<div
|
|
423
423
|
key={p.id}
|
|
424
|
-
className="bg-
|
|
424
|
+
className="bg-[var(--card-bg)] rounded-xl border border-[var(--border)] p-4 hover:shadow-md transition-shadow text-left group"
|
|
425
425
|
>
|
|
426
426
|
<div className="flex items-start gap-3 mb-3">
|
|
427
427
|
<img
|
|
428
428
|
src={agentAvatarUrl(p.id, 48, p.color)}
|
|
429
429
|
alt={p.name}
|
|
430
|
-
className="w-12 h-12 rounded-full bg-
|
|
430
|
+
className="w-12 h-12 rounded-full bg-[var(--secondary)]"
|
|
431
431
|
/>
|
|
432
432
|
<div className="min-w-0 flex-1">
|
|
433
|
-
<h3 className="font-medium text-
|
|
434
|
-
<p className="text-xs text-
|
|
433
|
+
<h3 className="font-medium text-[var(--foreground)] truncate">{p.name}</h3>
|
|
434
|
+
<p className="text-xs text-[var(--app-shell-soft-text)] truncate mt-0.5">{p.model}</p>
|
|
435
435
|
{workingAgents.has(p.id) && (
|
|
436
436
|
<span className="inline-flex items-center gap-1 mt-1 text-[10px] font-medium text-emerald-600">
|
|
437
437
|
<span className="w-1.5 h-1.5 rounded-full bg-emerald-500 animate-pulse" />
|
|
@@ -452,15 +452,15 @@ export default function AgentLibraryPage() {
|
|
|
452
452
|
</span>
|
|
453
453
|
))}
|
|
454
454
|
{p.skills.length > 3 && (
|
|
455
|
-
<span className="text-[10px] px-1.5 py-0.5 rounded bg-
|
|
455
|
+
<span className="text-[10px] px-1.5 py-0.5 rounded bg-[var(--secondary)] text-[var(--app-shell-soft-text)]">
|
|
456
456
|
+{p.skills.length - 3}
|
|
457
457
|
</span>
|
|
458
458
|
)}
|
|
459
459
|
</div>
|
|
460
460
|
)}
|
|
461
461
|
|
|
462
|
-
<div className="flex items-center justify-between pt-2 border-t border-
|
|
463
|
-
<span className="text-[10px] font-medium px-1.5 py-0.5 rounded-full bg-
|
|
462
|
+
<div className="flex items-center justify-between pt-2 border-t border-[var(--border)]">
|
|
463
|
+
<span className="text-[10px] font-medium px-1.5 py-0.5 rounded-full bg-[var(--secondary)] text-[var(--muted-foreground)] uppercase tracking-wide">
|
|
464
464
|
{p.provider}
|
|
465
465
|
</span>
|
|
466
466
|
<div className="flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity">
|
|
@@ -468,14 +468,14 @@ export default function AgentLibraryPage() {
|
|
|
468
468
|
type="button"
|
|
469
469
|
title="Edit"
|
|
470
470
|
onClick={() => setEditAgent(p)}
|
|
471
|
-
className="p-1.5 text-
|
|
471
|
+
className="p-1.5 text-[var(--app-shell-soft-text)] hover:text-[var(--muted-foreground)] rounded hover:bg-[var(--item-hover-bg)] transition-colors"
|
|
472
472
|
>
|
|
473
473
|
<Pencil size={13} />
|
|
474
474
|
</button>
|
|
475
475
|
<Link
|
|
476
476
|
href={`/agents/${p.id}`}
|
|
477
477
|
title="View profile"
|
|
478
|
-
className="p-1.5 text-
|
|
478
|
+
className="p-1.5 text-[var(--app-shell-soft-text)] hover:text-[var(--muted-foreground)] rounded hover:bg-[var(--item-hover-bg)] transition-colors"
|
|
479
479
|
>
|
|
480
480
|
<Eye size={13} />
|
|
481
481
|
</Link>
|
|
@@ -489,14 +489,14 @@ export default function AgentLibraryPage() {
|
|
|
489
489
|
{/* Projects Section */}
|
|
490
490
|
<div className="mt-10">
|
|
491
491
|
<div className="mb-4">
|
|
492
|
-
<h2 className="text-lg font-semibold text-
|
|
493
|
-
<p className="mt-1 text-sm text-
|
|
492
|
+
<h2 className="text-lg font-semibold text-[var(--foreground)]">Project assignments</h2>
|
|
493
|
+
<p className="mt-1 text-sm text-[var(--app-shell-soft-text)]">Assign agents to existing projects.</p>
|
|
494
494
|
</div>
|
|
495
495
|
|
|
496
496
|
{nonDefaultProjects.length === 0 ? (
|
|
497
|
-
<p className="text-sm text-
|
|
497
|
+
<p className="text-sm text-[var(--app-shell-soft-text)]">No projects available for assignment.</p>
|
|
498
498
|
) : (
|
|
499
|
-
<div className="bg-
|
|
499
|
+
<div className="bg-[var(--card-bg)] rounded-xl border border-[var(--border)] divide-y divide-[var(--border)]">
|
|
500
500
|
{nonDefaultProjects.map((project) => {
|
|
501
501
|
const isExpanded = expandedProjects.has(project.id);
|
|
502
502
|
const threadNames = (project.thread_ids ?? [])
|
|
@@ -512,13 +512,13 @@ export default function AgentLibraryPage() {
|
|
|
512
512
|
onClick={() => toggleProject(project.id)}
|
|
513
513
|
>
|
|
514
514
|
{isExpanded ? (
|
|
515
|
-
<ChevronDown size={16} className="text-
|
|
515
|
+
<ChevronDown size={16} className="text-[var(--app-shell-soft-text)] flex-shrink-0" />
|
|
516
516
|
) : (
|
|
517
|
-
<ChevronRight size={16} className="text-
|
|
517
|
+
<ChevronRight size={16} className="text-[var(--app-shell-soft-text)] flex-shrink-0" />
|
|
518
518
|
)}
|
|
519
|
-
<Users size={16} className="text-
|
|
520
|
-
<span className="font-medium text-
|
|
521
|
-
<span className="text-xs text-
|
|
519
|
+
<Users size={16} className="text-[var(--app-shell-soft-text)] flex-shrink-0" />
|
|
520
|
+
<span className="font-medium text-[var(--foreground)] text-sm">{project.name}</span>
|
|
521
|
+
<span className="text-xs text-[var(--app-shell-soft-text)]">
|
|
522
522
|
{project.agents.length} {project.agents.length === 1 ? "agent" : "agents"}
|
|
523
523
|
{threadNames.length > 0 && ` · ${threadNames.length} ${threadNames.length === 1 ? "thread" : "threads"}`}
|
|
524
524
|
</span>
|
|
@@ -526,7 +526,7 @@ export default function AgentLibraryPage() {
|
|
|
526
526
|
<div className="flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity">
|
|
527
527
|
<button
|
|
528
528
|
type="button"
|
|
529
|
-
className="inline-flex items-center gap-1.5 rounded-lg border border-
|
|
529
|
+
className="inline-flex items-center gap-1.5 rounded-lg border border-[var(--border)] px-2.5 py-1.5 text-xs font-medium text-[var(--muted-foreground)] transition-colors hover:bg-[var(--item-hover-bg)] hover:text-[var(--foreground)]"
|
|
530
530
|
title="Add agents"
|
|
531
531
|
onClick={() => {
|
|
532
532
|
setAddAgentSelection(new Set());
|
|
@@ -542,7 +542,7 @@ export default function AgentLibraryPage() {
|
|
|
542
542
|
{isExpanded && (
|
|
543
543
|
<div className="px-5 pb-4 pt-1 ml-9 flex flex-col gap-1">
|
|
544
544
|
{project.agents.length === 0 && (
|
|
545
|
-
<p className="text-xs text-
|
|
545
|
+
<p className="text-xs text-[var(--app-shell-soft-text)] py-1">No agents in this project.</p>
|
|
546
546
|
)}
|
|
547
547
|
{project.agents.map((ta) => {
|
|
548
548
|
const agent = participants.find((p) => p.id === ta.agent_id);
|
|
@@ -556,13 +556,13 @@ export default function AgentLibraryPage() {
|
|
|
556
556
|
alt=""
|
|
557
557
|
className="w-6 h-6 rounded-full flex-shrink-0"
|
|
558
558
|
/>
|
|
559
|
-
<span className="text-sm text-
|
|
559
|
+
<span className="text-sm text-[var(--secondary-foreground)] truncate flex-1">
|
|
560
560
|
{agent?.name ?? ta.agent_id}
|
|
561
561
|
</span>
|
|
562
|
-
<span className="text-[10px] text-
|
|
562
|
+
<span className="text-[10px] text-[var(--app-shell-soft-text)]">{agent?.model}</span>
|
|
563
563
|
<button
|
|
564
564
|
type="button"
|
|
565
|
-
className="opacity-0 group-hover/agent:opacity-100 text-
|
|
565
|
+
className="opacity-0 group-hover/agent:opacity-100 text-[var(--app-shell-soft-text)] hover:text-red-500 transition-opacity"
|
|
566
566
|
onClick={() => void removeAgentFromProject(project.id, ta.agent_id)}
|
|
567
567
|
title="Remove from project"
|
|
568
568
|
>
|
|
@@ -574,7 +574,7 @@ export default function AgentLibraryPage() {
|
|
|
574
574
|
|
|
575
575
|
<button
|
|
576
576
|
type="button"
|
|
577
|
-
className="mt-2 inline-flex items-center gap-1.5 self-start rounded-lg border border-
|
|
577
|
+
className="mt-2 inline-flex items-center gap-1.5 self-start rounded-lg border border-[var(--border)] px-2.5 py-1.5 text-xs font-medium text-[var(--muted-foreground)] transition-colors hover:bg-[var(--item-hover-bg)] hover:text-[var(--foreground)]"
|
|
578
578
|
onClick={() => {
|
|
579
579
|
setAddAgentSelection(new Set());
|
|
580
580
|
setAddAgentModal({ projectId: project.id });
|
|
@@ -585,8 +585,8 @@ export default function AgentLibraryPage() {
|
|
|
585
585
|
</button>
|
|
586
586
|
|
|
587
587
|
{threadNames.length > 0 && (
|
|
588
|
-
<div className="mt-2 pt-2 border-t border-
|
|
589
|
-
<p className="text-[10px] font-medium text-
|
|
588
|
+
<div className="mt-2 pt-2 border-t border-[var(--border)]">
|
|
589
|
+
<p className="text-[10px] font-medium text-[var(--app-shell-soft-text)] uppercase tracking-wide mb-1">Threads</p>
|
|
590
590
|
<div className="flex flex-wrap gap-1.5">
|
|
591
591
|
{threadNames.map((name, i) => (
|
|
592
592
|
<span
|
|
@@ -617,12 +617,12 @@ export default function AgentLibraryPage() {
|
|
|
617
617
|
onClick={() => setOutboundModal(false)}
|
|
618
618
|
>
|
|
619
619
|
<div
|
|
620
|
-
className="bg-
|
|
620
|
+
className="bg-[var(--card-bg)] rounded-xl shadow-xl border border-[var(--border)] w-[440px] max-h-[80vh] flex flex-col"
|
|
621
621
|
onClick={(e) => e.stopPropagation()}
|
|
622
622
|
>
|
|
623
|
-
<div className="flex items-center justify-between px-5 py-3.5 border-b border-
|
|
624
|
-
<h3 className="text-sm font-medium text-
|
|
625
|
-
<button type="button" className="text-
|
|
623
|
+
<div className="flex items-center justify-between px-5 py-3.5 border-b border-[var(--border)]">
|
|
624
|
+
<h3 className="text-sm font-medium text-[var(--foreground)]">Share Agents</h3>
|
|
625
|
+
<button type="button" className="text-[var(--app-shell-soft-text)] hover:text-[var(--muted-foreground)]" onClick={() => setOutboundModal(false)}>
|
|
626
626
|
<X size={16} />
|
|
627
627
|
</button>
|
|
628
628
|
</div>
|
|
@@ -630,20 +630,20 @@ export default function AgentLibraryPage() {
|
|
|
630
630
|
{shareCode ? (
|
|
631
631
|
<div className="px-5 py-6 flex flex-col items-center gap-4">
|
|
632
632
|
<div className="text-center">
|
|
633
|
-
<p className="text-sm text-
|
|
633
|
+
<p className="text-sm text-[var(--muted-foreground)] mb-3">Share this code with the recipient:</p>
|
|
634
634
|
<div className="flex items-center justify-center gap-3">
|
|
635
|
-
<span className="text-3xl font-mono font-bold tracking-[0.3em] text-
|
|
636
|
-
<button type="button" className="p-2 text-
|
|
635
|
+
<span className="text-3xl font-mono font-bold tracking-[0.3em] text-[var(--foreground)]">{shareCode}</span>
|
|
636
|
+
<button type="button" className="p-2 text-[var(--app-shell-soft-text)] hover:text-[var(--muted-foreground)] transition-colors" onClick={copyCode}>
|
|
637
637
|
{codeCopied ? <Check size={18} className="text-green-500" /> : <Copy size={18} />}
|
|
638
638
|
</button>
|
|
639
639
|
</div>
|
|
640
640
|
</div>
|
|
641
641
|
{shareExpiresAt && (
|
|
642
|
-
<p className="text-[11px] text-
|
|
642
|
+
<p className="text-[11px] text-[var(--app-shell-soft-text)]">Expires {new Date(shareExpiresAt).toLocaleTimeString()}</p>
|
|
643
643
|
)}
|
|
644
644
|
<button
|
|
645
645
|
type="button"
|
|
646
|
-
className="px-4 py-2 text-xs font-medium text-
|
|
646
|
+
className="px-4 py-2 text-xs font-medium text-[var(--muted-foreground)] bg-[var(--secondary)] rounded-lg hover:bg-[var(--item-hover-bg)] transition-colors"
|
|
647
647
|
onClick={() => setOutboundModal(false)}
|
|
648
648
|
>
|
|
649
649
|
Done
|
|
@@ -654,8 +654,8 @@ export default function AgentLibraryPage() {
|
|
|
654
654
|
<div className="overflow-y-auto flex-1">
|
|
655
655
|
{/* Projects as quick-select presets */}
|
|
656
656
|
{nonDefaultProjects.length > 0 && (
|
|
657
|
-
<div className="border-b border-
|
|
658
|
-
<p className="text-[11px] font-medium text-
|
|
657
|
+
<div className="border-b border-[var(--border)] px-5 py-3">
|
|
658
|
+
<p className="text-[11px] font-medium text-[var(--app-shell-soft-text)] uppercase tracking-wide mb-2">Select by project</p>
|
|
659
659
|
<div className="flex flex-wrap gap-1.5">
|
|
660
660
|
{nonDefaultProjects.map((t) => {
|
|
661
661
|
const projectAgentIds = t.agents.map((a) => a.agent_id);
|
|
@@ -667,10 +667,10 @@ export default function AgentLibraryPage() {
|
|
|
667
667
|
type="button"
|
|
668
668
|
className={`inline-flex items-center gap-1.5 px-2.5 py-1 rounded-full text-[11px] font-medium transition-colors ${
|
|
669
669
|
allSelected
|
|
670
|
-
? "bg-
|
|
670
|
+
? "bg-[var(--foreground)] text-white"
|
|
671
671
|
: someSelected
|
|
672
|
-
? "bg-
|
|
673
|
-
: "bg-
|
|
672
|
+
? "bg-[var(--app-shell-soft-text)] text-[var(--secondary-foreground)]"
|
|
673
|
+
: "bg-[var(--secondary)] text-[var(--muted-foreground)] hover:bg-[var(--item-hover-bg)]"
|
|
674
674
|
}`}
|
|
675
675
|
onClick={() => {
|
|
676
676
|
setOutboundAgents((prev) => {
|
|
@@ -687,7 +687,7 @@ export default function AgentLibraryPage() {
|
|
|
687
687
|
>
|
|
688
688
|
<Users size={10} />
|
|
689
689
|
{t.name}
|
|
690
|
-
<span className={`text-[10px] ${allSelected ? "text-
|
|
690
|
+
<span className={`text-[10px] ${allSelected ? "text-[var(--app-shell-soft-text)]" : "text-[var(--app-shell-soft-text)]"}`}>
|
|
691
691
|
{t.agents.length}
|
|
692
692
|
</span>
|
|
693
693
|
</button>
|
|
@@ -698,12 +698,12 @@ export default function AgentLibraryPage() {
|
|
|
698
698
|
)}
|
|
699
699
|
|
|
700
700
|
{/* Agents selection */}
|
|
701
|
-
<div className="border-b border-
|
|
701
|
+
<div className="border-b border-[var(--border)]">
|
|
702
702
|
<div className="px-5 pt-3 pb-1 flex items-center justify-between">
|
|
703
|
-
<p className="text-[11px] font-medium text-
|
|
703
|
+
<p className="text-[11px] font-medium text-[var(--app-shell-soft-text)] uppercase tracking-wide">Agents</p>
|
|
704
704
|
<button
|
|
705
705
|
type="button"
|
|
706
|
-
className="text-[11px] text-
|
|
706
|
+
className="text-[11px] text-[var(--app-shell-soft-text)] hover:text-[var(--muted-foreground)]"
|
|
707
707
|
onClick={() => {
|
|
708
708
|
if (outboundAgents.size === participants.length) setOutboundAgents(new Set());
|
|
709
709
|
else setOutboundAgents(new Set(participants.map((p) => p.id)));
|
|
@@ -718,7 +718,7 @@ export default function AgentLibraryPage() {
|
|
|
718
718
|
<button
|
|
719
719
|
key={p.id}
|
|
720
720
|
type="button"
|
|
721
|
-
className={`w-full flex items-center gap-3 px-5 py-2 text-sm transition-colors ${selected ? "bg-
|
|
721
|
+
className={`w-full flex items-center gap-3 px-5 py-2 text-sm transition-colors ${selected ? "bg-[var(--secondary)] text-[var(--foreground)]" : "text-[var(--muted-foreground)] hover:bg-[var(--item-hover-bg)]"}`}
|
|
722
722
|
onClick={() => {
|
|
723
723
|
setOutboundAgents((prev) => {
|
|
724
724
|
const next = new Set(prev);
|
|
@@ -731,7 +731,7 @@ export default function AgentLibraryPage() {
|
|
|
731
731
|
<Checkbox checked={selected} />
|
|
732
732
|
<img src={agentAvatarUrl(p.id, 24, p.color)} alt="" className="w-6 h-6 rounded-full flex-shrink-0" />
|
|
733
733
|
<span className="truncate text-xs font-medium flex-1">{p.name}</span>
|
|
734
|
-
<span className="text-[10px] text-
|
|
734
|
+
<span className="text-[10px] text-[var(--app-shell-soft-text)]">{p.provider}</span>
|
|
735
735
|
</button>
|
|
736
736
|
);
|
|
737
737
|
})}
|
|
@@ -741,7 +741,7 @@ export default function AgentLibraryPage() {
|
|
|
741
741
|
<div className="px-5 py-3">
|
|
742
742
|
<button
|
|
743
743
|
type="button"
|
|
744
|
-
className={`flex items-center gap-3 w-full px-3 py-2 rounded-lg text-sm transition-colors ${outboundIncludeSelf ? "bg-
|
|
744
|
+
className={`flex items-center gap-3 w-full px-3 py-2 rounded-lg text-sm transition-colors ${outboundIncludeSelf ? "bg-[var(--secondary)] text-[var(--foreground)]" : "text-[var(--muted-foreground)] hover:bg-[var(--item-hover-bg)]"}`}
|
|
745
745
|
onClick={() => setOutboundIncludeSelf(!outboundIncludeSelf)}
|
|
746
746
|
>
|
|
747
747
|
<Checkbox checked={outboundIncludeSelf} />
|
|
@@ -750,15 +750,15 @@ export default function AgentLibraryPage() {
|
|
|
750
750
|
</div>
|
|
751
751
|
</div>
|
|
752
752
|
|
|
753
|
-
<div className="px-5 py-3 border-t border-
|
|
754
|
-
<span className="text-[11px] text-
|
|
753
|
+
<div className="px-5 py-3 border-t border-[var(--border)] flex items-center justify-between">
|
|
754
|
+
<span className="text-[11px] text-[var(--app-shell-soft-text)]">
|
|
755
755
|
{outboundAgents.size} {outboundAgents.size === 1 ? "agent" : "agents"}
|
|
756
756
|
</span>
|
|
757
757
|
<div className="flex gap-2">
|
|
758
758
|
<button
|
|
759
759
|
type="button"
|
|
760
760
|
disabled={outboundAgents.size === 0 || outboundBusy}
|
|
761
|
-
className="inline-flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium text-
|
|
761
|
+
className="inline-flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium text-[var(--muted-foreground)] bg-[var(--card-bg)] border border-[var(--border)] rounded-lg hover:bg-[var(--item-hover-bg)] disabled:opacity-40 disabled:cursor-not-allowed transition-colors"
|
|
762
762
|
onClick={() => void handleExportToFile()}
|
|
763
763
|
>
|
|
764
764
|
<Download size={12} />
|
|
@@ -775,7 +775,7 @@ export default function AgentLibraryPage() {
|
|
|
775
775
|
</button>
|
|
776
776
|
<button
|
|
777
777
|
type="button"
|
|
778
|
-
className="px-3 py-1.5 text-xs text-
|
|
778
|
+
className="px-3 py-1.5 text-xs text-[var(--muted-foreground)] hover:text-[var(--secondary-foreground)] transition-colors"
|
|
779
779
|
onClick={() => setOutboundModal(false)}
|
|
780
780
|
>
|
|
781
781
|
Cancel
|
|
@@ -795,24 +795,24 @@ export default function AgentLibraryPage() {
|
|
|
795
795
|
onClick={() => setAddAgentModal(null)}
|
|
796
796
|
>
|
|
797
797
|
<div
|
|
798
|
-
className="bg-
|
|
798
|
+
className="bg-[var(--card-bg)] rounded-xl shadow-xl border border-[var(--border)] w-80 max-h-[70vh] flex flex-col"
|
|
799
799
|
onClick={(e) => e.stopPropagation()}
|
|
800
800
|
>
|
|
801
|
-
<div className="flex items-center justify-between px-4 py-3 border-b border-
|
|
802
|
-
<h3 className="text-sm font-medium text-
|
|
803
|
-
<button type="button" className="text-
|
|
801
|
+
<div className="flex items-center justify-between px-4 py-3 border-b border-[var(--border)]">
|
|
802
|
+
<h3 className="text-sm font-medium text-[var(--foreground)]">Add to {addAgentModalProject?.name ?? "project"}</h3>
|
|
803
|
+
<button type="button" className="text-[var(--app-shell-soft-text)] hover:text-[var(--muted-foreground)]" onClick={() => setAddAgentModal(null)}><X size={16} /></button>
|
|
804
804
|
</div>
|
|
805
805
|
<div className="overflow-y-auto py-1 flex-1">
|
|
806
806
|
<button
|
|
807
807
|
type="button"
|
|
808
|
-
className="w-full flex items-center gap-3 px-4 py-2.5 text-sm text-
|
|
808
|
+
className="w-full flex items-center gap-3 px-4 py-2.5 text-sm text-[var(--secondary-foreground)] hover:bg-[var(--item-hover-bg)] transition-colors border-b border-[var(--border)]"
|
|
809
809
|
onClick={() => setCreatingNewAgent(true)}
|
|
810
810
|
>
|
|
811
|
-
<Plus size={14} className="text-
|
|
811
|
+
<Plus size={14} className="text-[var(--app-shell-soft-text)]" />
|
|
812
812
|
<span className="text-xs font-medium">Create new agent</span>
|
|
813
813
|
</button>
|
|
814
814
|
{addAgentModalAvailable.length === 0 ? (
|
|
815
|
-
<p className="px-4 py-6 text-xs text-
|
|
815
|
+
<p className="px-4 py-6 text-xs text-[var(--app-shell-soft-text)] text-center">All agents are already in this project</p>
|
|
816
816
|
) : (
|
|
817
817
|
addAgentModalAvailable.map((p) => {
|
|
818
818
|
const selected = addAgentSelection.has(p.id);
|
|
@@ -820,7 +820,7 @@ export default function AgentLibraryPage() {
|
|
|
820
820
|
<button
|
|
821
821
|
key={p.id}
|
|
822
822
|
type="button"
|
|
823
|
-
className={`w-full flex items-center gap-3 px-4 py-2.5 text-sm transition-colors ${selected ? "bg-
|
|
823
|
+
className={`w-full flex items-center gap-3 px-4 py-2.5 text-sm transition-colors ${selected ? "bg-[var(--secondary)] text-[var(--foreground)]" : "text-[var(--secondary-foreground)] hover:bg-[var(--item-hover-bg)]"}`}
|
|
824
824
|
onClick={() => {
|
|
825
825
|
setAddAgentSelection((prev) => {
|
|
826
826
|
const next = new Set(prev);
|
|
@@ -841,12 +841,12 @@ export default function AgentLibraryPage() {
|
|
|
841
841
|
)}
|
|
842
842
|
</div>
|
|
843
843
|
{addAgentModalAvailable.length > 0 && (
|
|
844
|
-
<div className="px-4 py-3 border-t border-
|
|
845
|
-
<button type="button" className="px-3 py-1.5 text-xs text-
|
|
844
|
+
<div className="px-4 py-3 border-t border-[var(--border)] flex justify-end gap-2">
|
|
845
|
+
<button type="button" className="px-3 py-1.5 text-xs text-[var(--muted-foreground)] hover:text-[var(--secondary-foreground)] transition-colors" onClick={() => setAddAgentModal(null)}>Cancel</button>
|
|
846
846
|
<button
|
|
847
847
|
type="button"
|
|
848
848
|
disabled={addAgentSelection.size === 0}
|
|
849
|
-
className="px-3 py-1.5 text-xs font-medium text-white bg-
|
|
849
|
+
className="px-3 py-1.5 text-xs font-medium text-white bg-[var(--foreground)] rounded-lg hover:opacity-90 disabled:opacity-40 disabled:cursor-not-allowed transition-colors"
|
|
850
850
|
onClick={() => {
|
|
851
851
|
for (const agentId of addAgentSelection) {
|
|
852
852
|
void addAgentToProject(addAgentModal.projectId, agentId);
|
|
@@ -958,12 +958,12 @@ export default function AgentLibraryPage() {
|
|
|
958
958
|
onClick={() => setInboundModal(false)}
|
|
959
959
|
>
|
|
960
960
|
<div
|
|
961
|
-
className="bg-
|
|
961
|
+
className="bg-[var(--card-bg)] rounded-xl shadow-xl border border-[var(--border)] w-[440px] max-h-[80vh] flex flex-col"
|
|
962
962
|
onClick={(e) => e.stopPropagation()}
|
|
963
963
|
>
|
|
964
|
-
<div className="flex items-center justify-between px-5 py-3.5 border-b border-
|
|
965
|
-
<h3 className="text-sm font-medium text-
|
|
966
|
-
<button type="button" className="text-
|
|
964
|
+
<div className="flex items-center justify-between px-5 py-3.5 border-b border-[var(--border)]">
|
|
965
|
+
<h3 className="text-sm font-medium text-[var(--foreground)]">Import Agents</h3>
|
|
966
|
+
<button type="button" className="text-[var(--app-shell-soft-text)] hover:text-[var(--muted-foreground)]" onClick={() => setInboundModal(false)}>
|
|
967
967
|
<X size={16} />
|
|
968
968
|
</button>
|
|
969
969
|
</div>
|
|
@@ -973,31 +973,31 @@ export default function AgentLibraryPage() {
|
|
|
973
973
|
<div className="px-5 py-6 flex flex-col gap-3">
|
|
974
974
|
<button
|
|
975
975
|
type="button"
|
|
976
|
-
className="flex items-center gap-3 px-4 py-3.5 rounded-lg border border-
|
|
976
|
+
className="flex items-center gap-3 px-4 py-3.5 rounded-lg border border-[var(--border)] hover:border-violet-300 hover:bg-violet-50 transition-colors text-left"
|
|
977
977
|
onClick={() => setInboundMode("pull")}
|
|
978
978
|
>
|
|
979
979
|
<div className="w-9 h-9 rounded-lg bg-violet-100 flex items-center justify-center flex-shrink-0">
|
|
980
980
|
<Download size={16} className="text-violet-600" />
|
|
981
981
|
</div>
|
|
982
982
|
<div>
|
|
983
|
-
<p className="text-sm font-medium text-
|
|
984
|
-
<p className="text-[11px] text-
|
|
983
|
+
<p className="text-sm font-medium text-[var(--foreground)]">Pull from Hub</p>
|
|
984
|
+
<p className="text-[11px] text-[var(--app-shell-soft-text)]">Enter a share code to import agents</p>
|
|
985
985
|
</div>
|
|
986
986
|
</button>
|
|
987
987
|
<button
|
|
988
988
|
type="button"
|
|
989
|
-
className="flex items-center gap-3 px-4 py-3.5 rounded-lg border border-
|
|
989
|
+
className="flex items-center gap-3 px-4 py-3.5 rounded-lg border border-[var(--border)] hover:border-[var(--border)] hover:bg-[var(--item-hover-bg)] transition-colors text-left"
|
|
990
990
|
onClick={() => {
|
|
991
991
|
setInboundMode("file");
|
|
992
992
|
setTimeout(() => fileInputRef.current?.click(), 100);
|
|
993
993
|
}}
|
|
994
994
|
>
|
|
995
|
-
<div className="w-9 h-9 rounded-lg bg-
|
|
996
|
-
<Upload size={16} className="text-
|
|
995
|
+
<div className="w-9 h-9 rounded-lg bg-[var(--secondary)] flex items-center justify-center flex-shrink-0">
|
|
996
|
+
<Upload size={16} className="text-[var(--muted-foreground)]" />
|
|
997
997
|
</div>
|
|
998
998
|
<div>
|
|
999
|
-
<p className="text-sm font-medium text-
|
|
1000
|
-
<p className="text-[11px] text-
|
|
999
|
+
<p className="text-sm font-medium text-[var(--foreground)]">Upload File</p>
|
|
1000
|
+
<p className="text-[11px] text-[var(--app-shell-soft-text)]">Import from a .agent.json bundle</p>
|
|
1001
1001
|
</div>
|
|
1002
1002
|
</button>
|
|
1003
1003
|
</div>
|
|
@@ -1006,7 +1006,7 @@ export default function AgentLibraryPage() {
|
|
|
1006
1006
|
{inboundMode === "pull" && !inboundBundle && (
|
|
1007
1007
|
/* ── Enter code ── */
|
|
1008
1008
|
<div className="px-5 py-5 flex flex-col gap-3">
|
|
1009
|
-
<label className="text-sm text-
|
|
1009
|
+
<label className="text-sm text-[var(--muted-foreground)]">Enter share code:</label>
|
|
1010
1010
|
<input
|
|
1011
1011
|
autoFocus
|
|
1012
1012
|
type="text"
|
|
@@ -1014,14 +1014,14 @@ export default function AgentLibraryPage() {
|
|
|
1014
1014
|
onChange={(e) => setPullCode(e.target.value.toUpperCase())}
|
|
1015
1015
|
placeholder="e.g. A3X9K2"
|
|
1016
1016
|
maxLength={6}
|
|
1017
|
-
className="w-full px-3 py-2.5 text-center text-2xl font-mono font-bold tracking-[0.3em] border border-
|
|
1017
|
+
className="w-full px-3 py-2.5 text-center text-2xl font-mono font-bold tracking-[0.3em] border border-[var(--border)] rounded-lg outline-none focus:border-violet-400 focus:ring-1 focus:ring-violet-200 transition-all bg-[var(--card-bg)] text-[var(--foreground)]"
|
|
1018
1018
|
onKeyDown={(e) => { if (e.key === "Enter") void handlePullFetch(); }}
|
|
1019
1019
|
/>
|
|
1020
1020
|
{inboundError && (
|
|
1021
1021
|
<p className="text-xs text-red-500">{inboundError}</p>
|
|
1022
1022
|
)}
|
|
1023
1023
|
<div className="flex justify-end gap-2 mt-1">
|
|
1024
|
-
<button type="button" className="px-3 py-1.5 text-xs text-
|
|
1024
|
+
<button type="button" className="px-3 py-1.5 text-xs text-[var(--muted-foreground)] hover:text-[var(--secondary-foreground)] transition-colors" onClick={() => { setInboundMode("choice"); setInboundError(null); }}>
|
|
1025
1025
|
Back
|
|
1026
1026
|
</button>
|
|
1027
1027
|
<button
|
|
@@ -1039,10 +1039,10 @@ export default function AgentLibraryPage() {
|
|
|
1039
1039
|
{inboundMode === "file" && !inboundBundle && (
|
|
1040
1040
|
/* ── Waiting for file ── */
|
|
1041
1041
|
<div className="px-5 py-6 flex flex-col items-center gap-3">
|
|
1042
|
-
<p className="text-sm text-
|
|
1042
|
+
<p className="text-sm text-[var(--muted-foreground)]">Select a .agent.json file to import</p>
|
|
1043
1043
|
<button
|
|
1044
1044
|
type="button"
|
|
1045
|
-
className="inline-flex items-center gap-1.5 px-4 py-2 text-xs font-medium text-
|
|
1045
|
+
className="inline-flex items-center gap-1.5 px-4 py-2 text-xs font-medium text-[var(--muted-foreground)] bg-[var(--secondary)] rounded-lg hover:bg-[var(--item-hover-bg)] transition-colors"
|
|
1046
1046
|
onClick={() => fileInputRef.current?.click()}
|
|
1047
1047
|
>
|
|
1048
1048
|
<Upload size={13} />
|
|
@@ -1051,7 +1051,7 @@ export default function AgentLibraryPage() {
|
|
|
1051
1051
|
{inboundError && (
|
|
1052
1052
|
<p className="text-xs text-red-500">{inboundError}</p>
|
|
1053
1053
|
)}
|
|
1054
|
-
<button type="button" className="text-xs text-
|
|
1054
|
+
<button type="button" className="text-xs text-[var(--app-shell-soft-text)] hover:text-[var(--muted-foreground)] mt-1" onClick={() => { setInboundMode("choice"); setInboundError(null); }}>
|
|
1055
1055
|
Back
|
|
1056
1056
|
</button>
|
|
1057
1057
|
</div>
|
|
@@ -1063,22 +1063,22 @@ export default function AgentLibraryPage() {
|
|
|
1063
1063
|
<div className="overflow-y-auto flex-1">
|
|
1064
1064
|
{/* Bundle info */}
|
|
1065
1065
|
{inboundBundle.exportedAt && (
|
|
1066
|
-
<div className="px-5 py-3 border-b border-
|
|
1067
|
-
<p className="text-[11px] text-
|
|
1066
|
+
<div className="px-5 py-3 border-b border-[var(--border)] bg-[var(--secondary)]">
|
|
1067
|
+
<p className="text-[11px] text-[var(--app-shell-soft-text)]">
|
|
1068
1068
|
Exported {new Date(inboundBundle.exportedAt).toLocaleDateString()} · {inboundBundle.agents.length} agents{getBundleProjects(inboundBundle).length > 0 ? `, ${getBundleProjects(inboundBundle).length} projects` : ""}
|
|
1069
1069
|
</p>
|
|
1070
1070
|
</div>
|
|
1071
1071
|
)}
|
|
1072
1072
|
|
|
1073
1073
|
{/* Agents */}
|
|
1074
|
-
<div className="border-b border-
|
|
1074
|
+
<div className="border-b border-[var(--border)]">
|
|
1075
1075
|
<div className="px-5 pt-3 pb-1 flex items-center justify-between">
|
|
1076
|
-
<p className="text-[11px] font-medium text-
|
|
1076
|
+
<p className="text-[11px] font-medium text-[var(--app-shell-soft-text)] uppercase tracking-wide">
|
|
1077
1077
|
{inboundBundle.agents.length} agent{inboundBundle.agents.length === 1 ? "" : "s"} found
|
|
1078
1078
|
</p>
|
|
1079
1079
|
<button
|
|
1080
1080
|
type="button"
|
|
1081
|
-
className="text-[11px] text-
|
|
1081
|
+
className="text-[11px] text-[var(--app-shell-soft-text)] hover:text-[var(--muted-foreground)]"
|
|
1082
1082
|
onClick={() => {
|
|
1083
1083
|
if (inboundAgents.size === inboundBundle.agents.length) setInboundAgents(new Set());
|
|
1084
1084
|
else setInboundAgents(new Set(inboundBundle.agents.map((a) => a.id)));
|
|
@@ -1094,7 +1094,7 @@ export default function AgentLibraryPage() {
|
|
|
1094
1094
|
<button
|
|
1095
1095
|
key={a.id}
|
|
1096
1096
|
type="button"
|
|
1097
|
-
className={`w-full flex items-center gap-3 px-5 py-2.5 text-sm transition-colors ${selected ? "bg-
|
|
1097
|
+
className={`w-full flex items-center gap-3 px-5 py-2.5 text-sm transition-colors ${selected ? "bg-[var(--secondary)] text-[var(--foreground)]" : "text-[var(--muted-foreground)] hover:bg-[var(--item-hover-bg)]"}`}
|
|
1098
1098
|
onClick={() => {
|
|
1099
1099
|
setInboundAgents((prev) => {
|
|
1100
1100
|
const next = new Set(prev);
|
|
@@ -1108,7 +1108,7 @@ export default function AgentLibraryPage() {
|
|
|
1108
1108
|
<img src={agentAvatarUrl(a.id, 24, a.color)} alt="" className="w-6 h-6 rounded-full flex-shrink-0" />
|
|
1109
1109
|
<div className="min-w-0 flex-1 text-left">
|
|
1110
1110
|
<div className="truncate text-xs font-medium">{a.name}</div>
|
|
1111
|
-
<div className="truncate text-[10px] text-
|
|
1111
|
+
<div className="truncate text-[10px] text-[var(--app-shell-soft-text)]">{a.provider}{a.model ? ` · ${a.model}` : ""}</div>
|
|
1112
1112
|
</div>
|
|
1113
1113
|
{existing && (
|
|
1114
1114
|
<span className="text-[10px] px-1.5 py-0.5 rounded bg-amber-50 text-amber-600 flex-shrink-0">
|
|
@@ -1121,7 +1121,7 @@ export default function AgentLibraryPage() {
|
|
|
1121
1121
|
</span>
|
|
1122
1122
|
)}
|
|
1123
1123
|
{a.self && (
|
|
1124
|
-
<span className="text-[10px] text-
|
|
1124
|
+
<span className="text-[10px] text-[var(--muted-foreground)] flex-shrink-0">+ self.md</span>
|
|
1125
1125
|
)}
|
|
1126
1126
|
</button>
|
|
1127
1127
|
);
|
|
@@ -1132,7 +1132,7 @@ export default function AgentLibraryPage() {
|
|
|
1132
1132
|
{getBundleProjects(inboundBundle).length > 0 && (
|
|
1133
1133
|
<div>
|
|
1134
1134
|
<div className="px-5 pt-3 pb-1">
|
|
1135
|
-
<p className="text-[11px] font-medium text-
|
|
1135
|
+
<p className="text-[11px] font-medium text-[var(--muted-foreground)] uppercase tracking-wide">Projects</p>
|
|
1136
1136
|
</div>
|
|
1137
1137
|
{getBundleProjects(inboundBundle).map((project) => {
|
|
1138
1138
|
const selected = inboundProjects.has(project.name);
|
|
@@ -1140,7 +1140,7 @@ export default function AgentLibraryPage() {
|
|
|
1140
1140
|
<button
|
|
1141
1141
|
key={project.name}
|
|
1142
1142
|
type="button"
|
|
1143
|
-
className={`w-full flex items-center gap-3 px-5 py-2 text-sm transition-colors ${selected ? "bg-
|
|
1143
|
+
className={`w-full flex items-center gap-3 px-5 py-2 text-sm transition-colors ${selected ? "bg-[var(--app-shell-subtle)] text-[var(--foreground)]" : "text-[var(--muted-foreground)] hover:bg-[var(--app-shell-subtle)]"}`}
|
|
1144
1144
|
onClick={() => {
|
|
1145
1145
|
setInboundProjects((prev) => {
|
|
1146
1146
|
const next = new Set(prev);
|
|
@@ -1151,9 +1151,9 @@ export default function AgentLibraryPage() {
|
|
|
1151
1151
|
}}
|
|
1152
1152
|
>
|
|
1153
1153
|
<Checkbox checked={selected} />
|
|
1154
|
-
<Users size={14} className="text-
|
|
1154
|
+
<Users size={14} className="text-[var(--muted-foreground)] flex-shrink-0" />
|
|
1155
1155
|
<span className="truncate text-xs font-medium flex-1">{project.name}</span>
|
|
1156
|
-
<span className="text-[10px] text-
|
|
1156
|
+
<span className="text-[10px] text-[var(--muted-foreground)]">{project.agentIds.length} agents</span>
|
|
1157
1157
|
</button>
|
|
1158
1158
|
);
|
|
1159
1159
|
})}
|
|
@@ -1167,14 +1167,14 @@ export default function AgentLibraryPage() {
|
|
|
1167
1167
|
</div>
|
|
1168
1168
|
)}
|
|
1169
1169
|
|
|
1170
|
-
<div className="px-5 py-3 border-t border-
|
|
1171
|
-
<span className="text-[11px] text-
|
|
1170
|
+
<div className="px-5 py-3 border-t border-[var(--border)] flex items-center justify-between">
|
|
1171
|
+
<span className="text-[11px] text-[var(--muted-foreground)]">
|
|
1172
1172
|
{inboundAgents.size} {inboundAgents.size === 1 ? "agent" : "agents"}{inboundProjects.size > 0 ? `, ${inboundProjects.size} ${inboundProjects.size === 1 ? "project" : "projects"}` : ""}
|
|
1173
1173
|
</span>
|
|
1174
1174
|
<div className="flex gap-2">
|
|
1175
1175
|
<button
|
|
1176
1176
|
type="button"
|
|
1177
|
-
className="px-3 py-1.5 text-xs text-
|
|
1177
|
+
className="px-3 py-1.5 text-xs text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors"
|
|
1178
1178
|
onClick={() => { setInboundBundle(null); setInboundAgents(new Set()); setInboundProjects(new Set()); }}
|
|
1179
1179
|
>
|
|
1180
1180
|
Back
|