@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
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module.exports=[
|
|
2
|
-
see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:s.CachedRouteKind.APP_PAGE,html:l,headers:o,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:n}},n=async({hasResolved:d,previousCacheEntry:e,isRevalidating:g,span:h,forceStaticRender:i=!1})=>{let j,o=!1===I.isDev,p=d||b.writableEnded;if(ah&&aa&&!e&&!M)return(null==ab?void 0:ab.render404)?await ab.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(ai&&(j=(0,t.parseFallbackField)(ai.fallback)),j===t.FallbackMode.PRERENDER&&(0,r.isBot)(ak)&&(!ar||am)&&(j=t.FallbackMode.BLOCKING_STATIC_RENDER),(null==e?void 0:e.isStale)===-1&&(ah=!0),ah&&(j!==t.FallbackMode.NOT_FOUND||e)&&(j=t.FallbackMode.BLOCKING_STATIC_RENDER),!M&&j!==t.FallbackMode.BLOCKING_STATIC_RENDER&&aD&&!p&&!$&&S&&(o||!aj)){if((o||ai)&&j===t.FallbackMode.NOT_FOUND){if(ac.experimental.adapterPath)return await aI();throw new y.NoFallbackError}if(ar&&(ac.cacheComponents?!av:!ao)){let b=o&&"string"==typeof(null==ai?void 0:ai.fallback)?ai.fallback:ag,d=o&&(null==ai?void 0:ai.fallbackRouteParams)?(0,l.createOpaqueFallbackRouteParams)(ai.fallbackRouteParams):at?(0,l.getFallbackRouteParams)(ag,I):null,e=await I.handleResponse({cacheKey:b,req:a,nextConfig:ac,routeKind:c.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:Z,isRoutePPREnabled:ar,responseGenerator:async()=>m({span:h,postponed:void 0,fallbackRouteParams:d,forceStaticRender:!1}),waitUntil:K.waitUntil,isMinimalMode:M});if(null===e)return null;if(e)return delete e.cacheControl,e}}let q=ah||g||!au?void 0:au;if(az&&!M&&k&&av&&!i){let b=await k.get(_,{kind:s.IncrementalCacheKind.APP_PAGE,isRoutePPREnabled:!0,isFallback:!1});b&&b.value&&b.value.kind===s.CachedRouteKind.APP_PAGE&&(q=b.value.postponed,b&&(-1===b.isStale||!0===b.isStale)&&(0,E.scheduleOnNextTick)(async()=>{let b=I.getResponseCache(a);try{await b.revalidate(_,k,ar,!1,a=>n({...a,forceStaticRender:!0}),null,d,K.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}))}if(as&&void 0!==q)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:s.CachedRouteKind.PAGES,html:u.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let v=o&&(null==ai?void 0:ai.fallbackRouteParams)&&(0,f.getRequestMeta)(a,"renderFallbackShell")?(0,l.createOpaqueFallbackRouteParams)(ai.fallbackRouteParams):at?(0,l.getFallbackRouteParams)(ag,I):null;return m({span:h,postponed:q,fallbackRouteParams:v,forceStaticRender:i})},o=async d=>{var e,g,h,i,j;let k,l=await I.handleResponse({cacheKey:aC,responseGenerator:a=>n({span:d,...a}),routeKind:c.RouteKind.APP_PAGE,isOnDemandRevalidate:ah,isRoutePPREnabled:ar,req:a,nextConfig:ac,prerenderManifest:Z,waitUntil:K.waitUntil,isMinimalMode:M});if($&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),I.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!l){if(aC)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(e=l.value)?void 0:e.kind)!==s.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(h=l.value)?void 0:h.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let o="string"==typeof l.value.postponed;ay&&!av&&(!o||an)&&(M||b.setHeader("x-nextjs-cache",ah?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),b.setHeader(q.NEXT_IS_PRERENDER_HEADER,"1"));let{value:p}=l;if(au)k={revalidate:0,expire:void 0};else if(av)k={revalidate:0,expire:void 0};else if(!I.isDev)if($)k={revalidate:0,expire:void 0};else if(ay){if(l.cacheControl)if("number"==typeof l.cacheControl.revalidate){if(l.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${l.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});k={revalidate:l.cacheControl.revalidate,expire:(null==(i=l.cacheControl)?void 0:i.expire)??ac.expireTime}}else k={revalidate:v.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(k={revalidate:0,expire:void 0});if(l.cacheControl=k,"string"==typeof aw&&(null==p?void 0:p.kind)===s.CachedRouteKind.APP_PAGE&&p.segmentData){b.setHeader(q.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(j=p.headers)?void 0:j[v.NEXT_CACHE_TAGS_HEADER];M&&ay&&c&&"string"==typeof c&&b.setHeader(v.NEXT_CACHE_TAGS_HEADER,c);let d=p.segmentData.get(aw);return void 0!==d?(0,x.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:u.default.fromStatic(d,q.RSC_CONTENT_TYPE_HEADER),cacheControl:l.cacheControl}):(b.statusCode=204,(0,x.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:u.default.EMPTY,cacheControl:l.cacheControl}))}let r=az?(0,f.getRequestMeta)(a,"onCacheEntryV2")??(0,f.getRequestMeta)(a,"onCacheEntry"):(0,f.getRequestMeta)(a,"onCacheEntry");if(r&&await r(l,{url:(0,f.getRequestMeta)(a,"initURL")??a.url}))return null;if(p.headers){let a={...p.headers};for(let[c,d]of(M&&ay||delete a[v.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let t=null==(g=p.headers)?void 0:g[v.NEXT_CACHE_TAGS_HEADER];if(M&&ay&&t&&"string"==typeof t&&b.setHeader(v.NEXT_CACHE_TAGS_HEADER,t),!p.status||ao&&ar||(b.statusCode=p.status),!M&&p.status&&C.RedirectStatusCode[p.status]&&ao&&(b.statusCode=200),o&&!av&&b.setHeader(q.NEXT_DID_POSTPONE_HEADER,"1"),ao&&!$){if(void 0===p.rscData){if(p.html.contentType!==q.RSC_CONTENT_TYPE_HEADER)if(ac.cacheComponents)return b.statusCode=404,(0,x.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:u.default.EMPTY,cacheControl:l.cacheControl});else throw Object.defineProperty(new D.InvariantError(`Expected RSC response, got ${p.html.contentType}`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});return(0,x.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:p.html,cacheControl:l.cacheControl})}return(0,x.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:u.default.fromStatic(p.rscData,q.RSC_CONTENT_TYPE_HEADER),cacheControl:l.cacheControl})}let y=p.html;if(!o||M||ao)return(0,x.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:y,cacheControl:l.cacheControl});if(as)return y.push(new ReadableStream({start(a){a.enqueue(w.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,x.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:y,cacheControl:{revalidate:0,expire:void 0}});let z=new TransformStream;return y.push(z.readable),m({span:d,postponed:p.postponed,fallbackRouteParams:null,forceStaticRender:!1}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==s.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(z.writable)}).catch(a=>{z.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,x.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:y,cacheControl:{revalidate:0,expire:void 0}})};if(!aH)return await aG.withPropagatedContext(a.headers,()=>aG.trace(g.BaseServerSpan.handleRequest,{spanName:`${aF} ${N}`,kind:e.SpanKind.SERVER,attributes:{"http.method":aF,"http.target":a.url}},o));await o(aH)}catch(b){throw b instanceof y.NoFallbackError||await I.onRequestError(a,b,{routerKind:"App Router",routePath:N,routeType:"render",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:ay,isOnDemandRevalidate:ah})},!1,ab),b}}a.s(["__next_app__",0,H,"handler",()=>J,"routeModule",0,I],76106),a.i(76106),a.s(["ClientPageRoot",()=>B.ClientPageRoot,"ClientSegmentRoot",()=>B.ClientSegmentRoot,"Fragment",()=>B.Fragment,"GlobalError",()=>A.default,"HTTPAccessFallbackBoundary",()=>B.HTTPAccessFallbackBoundary,"LayoutRouter",()=>B.LayoutRouter,"Postpone",()=>B.Postpone,"RenderFromTemplateContext",()=>B.RenderFromTemplateContext,"RootLayoutBoundary",()=>B.RootLayoutBoundary,"SegmentViewNode",()=>B.SegmentViewNode,"SegmentViewStateNode",()=>B.SegmentViewStateNode,"__next_app__",0,H,"actionAsyncStorage",()=>B.actionAsyncStorage,"captureOwnerStack",()=>B.captureOwnerStack,"collectSegmentData",()=>B.collectSegmentData,"createElement",()=>B.createElement,"createMetadataComponents",()=>B.createMetadataComponents,"createPrerenderParamsForClientSegment",()=>B.createPrerenderParamsForClientSegment,"createPrerenderSearchParamsForClientPage",()=>B.createPrerenderSearchParamsForClientPage,"createServerParamsForServerSegment",()=>B.createServerParamsForServerSegment,"createServerSearchParamsForServerPage",()=>B.createServerSearchParamsForServerPage,"createTemporaryReferenceSet",()=>B.createTemporaryReferenceSet,"decodeAction",()=>B.decodeAction,"decodeFormState",()=>B.decodeFormState,"decodeReply",()=>B.decodeReply,"handler",()=>J,"patchFetch",()=>B.patchFetch,"preconnect",()=>B.preconnect,"preloadFont",()=>B.preloadFont,"preloadStyle",()=>B.preloadStyle,"prerender",()=>B.prerender,"renderToReadableStream",()=>B.renderToReadableStream,"routeModule",0,I,"serverHooks",()=>B.serverHooks,"taintObjectReference",()=>B.taintObjectReference,"workAsyncStorage",()=>B.workAsyncStorage,"workUnitAsyncStorage",()=>B.workUnitAsyncStorage],92928)}];
|
|
1
|
+
module.exports=[86836,a=>{a.n(a.i(37985))},93338,a=>{"use strict";var b=a.i(71306),c=a.i(79847),d=a.i(29432),e=a.i(75164),f=a.i(30106),g=a.i(18970),h=a.i(60644),i=a.i(56952),j=a.i(77341),k=a.i(94290),l=a.i(90588),m=a.i(33169),n=a.i(37111),o=a.i(41763),p=a.i(8950),q=a.i(91562),r=a.i(49670);a.i(75700);var s=a.i(276),t=a.i(40795),u=a.i(11614),v=a.i(21751),w=a.i(12213),x=a.i(67060),y=a.i(93695),z=a.i(97918),A=a.i(94367);a.i(70408);var B=a.i(22922),C=a.i(71717),D=a.i(85034),E=a.i(68113),F=a.i(66482);let G=["",{children:["projects",{children:["[slug]",{children:["__PAGE__",{},{metadata:{},page:[()=>a.r(86836),"[project]/app/projects/[slug]/page.tsx"]}]},{metadata:{},layout:[()=>a.r(33753),"[project]/app/projects/[slug]/layout.tsx"]}]},{metadata:{}}]},{layout:[()=>a.r(70864),"[project]/app/layout.tsx"],"not-found":[()=>a.r(43619),"[project]/node_modules/next/dist/client/components/builtin/not-found.js"],forbidden:[()=>a.r(13718),"[project]/node_modules/next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>a.r(18198),"[project]/node_modules/next/dist/client/components/builtin/unauthorized.js"],"global-error":[()=>a.r(94367),"[project]/app/global-error.tsx"]}],H={require:a.r.bind(a),loadChunk:a.l.bind(a)},I=new b.AppPageRouteModule({definition:{kind:c.RouteKind.APP_PAGE,page:"/projects/[slug]/page",pathname:"/projects/[slug]",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:G},distDir:".next",relativeProjectDir:""});async function J(a,b,K){var L;I.isDev&&(0,f.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let M=!!(0,f.getRequestMeta)(a,"minimalMode"),N="/projects/[slug]/page";N=N.replace(/\/index$/,"")||"/";let O=await I.prepare(a,b,{srcPage:N,multiZoneDraftMode:!1});if(!O)return b.statusCode=400,b.end("Bad Request"),null==K.waitUntil||K.waitUntil.call(K,Promise.resolve()),null;let{buildId:P,query:Q,params:R,pageIsDynamic:S,buildManifest:T,nextFontManifest:U,reactLoadableManifest:V,serverActionsManifest:W,clientReferenceManifest:X,subresourceIntegrityManifest:Y,prerenderManifest:Z,isDraftMode:$,resolvedPathname:_,revalidateOnlyGenerated:aa,routerServerContext:ab,nextConfig:ac,parsedUrl:ad,interceptionRoutePatterns:ae,deploymentId:af}=O,ag=(0,o.normalizeAppPath)(N),{isOnDemandRevalidate:ah}=O,ai=ac.experimental.ppr&&!ac.cacheComponents&&(0,F.isInterceptionRouteAppPath)(_)?null:I.match(_,Z),aj=!!Z.routes[_],ak=a.headers["user-agent"]||"",al=(0,r.getBotType)(ak),am=(0,n.isHtmlBotRequest)(a),an=(0,f.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[q.NEXT_ROUTER_PREFETCH_HEADER],ao=(0,f.getRequestMeta)(a,"isRSCRequest")??!!a.headers[q.RSC_HEADER],ap=(0,p.getIsPossibleServerAction)(a),aq=(0,k.checkIsAppPPREnabled)(ac.experimental.ppr);if(!(0,f.getRequestMeta)(a,"postponed")&&aq&&"1"===a.headers[v.NEXT_RESUME_HEADER]&&"POST"===a.method){let b=[];for await(let c of a)b.push(c);let c=Buffer.concat(b).toString("utf8");(0,f.addRequestMeta)(a,"postponed",c)}let ar=aq&&(null==(L=Z.routes[ag]??Z.dynamicRoutes[ag])?void 0:L.renderingMode)==="PARTIALLY_STATIC",as=!1,at=!1,au=ar?(0,f.getRequestMeta)(a,"postponed"):void 0,av=ar&&ao&&!an;M&&(av=av&&!!au);let aw=(0,f.getRequestMeta)(a,"segmentPrefetchRSCRequest"),ax=(!am||!ar)&&(!ak||(0,n.shouldServeStreamingMetadata)(ak,ac.htmlLimitedBots)),ay=!!((ai||aj||Z.routes[ag])&&!(am&&ar)),az=ar&&!0===ac.cacheComponents,aA=!0===I.isDev||!ay||"string"==typeof au||(az&&(0,f.getRequestMeta)(a,"onCacheEntryV2")?av&&!M:av),aB=am&&ar,aC=null;$||!ay||aA||ap||au||av||(aC=_);let aD=aC;!aD&&I.isDev&&(aD=_),I.isDev||$||!ay||!ao||av||(0,i.stripFlightHeaders)(a.headers);let aE={...B,tree:G,GlobalError:A.default,handler:J,routeModule:I,__next_app__:H};W&&X&&(0,m.setManifestsSingleton)({page:N,clientReferenceManifest:X,serverActionsManifest:W});let aF=a.method||"GET",aG=(0,e.getTracer)(),aH=aG.getActiveScopeSpan(),aI=async()=>((null==ab?void 0:ab.render404)?await ab.render404(a,b,ad,!1):b.end("This page could not be found"),null);try{let d=I.getVaryHeader(_,ae);b.setHeader("Vary",d);let i=async(c,d)=>{let e=new j.NodeNextRequest(a),f=new j.NodeNextResponse(b);return I.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let a=aG.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==g.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let d=a.get("next.route");if(d){let a=`${aF} ${d}`;c.setAttributes({"next.route":d,"http.route":d,"next.span_name":a}),c.updateName(a)}else c.updateName(`${aF} ${N}`)})},k=(0,f.getRequestMeta)(a,"incrementalCache"),m=async({span:c,postponed:d,fallbackRouteParams:e,forceStaticRender:g})=>{let j={query:Q,params:R,page:ag,sharedContext:{buildId:P},serverComponentsHmrCache:(0,f.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:e,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aE,Component:(0,h.interopDefault)(aE),params:R,routeModule:I,page:N,postponed:d,shouldWaitOnAllReady:aB,serveStreamingMetadata:ax,supportsDynamicResponse:"string"==typeof d||aA,buildManifest:T,nextFontManifest:U,reactLoadableManifest:V,subresourceIntegrityManifest:Y,setCacheStatus:null==ab?void 0:ab.setCacheStatus,setIsrStatus:null==ab?void 0:ab.setIsrStatus,setReactDebugChannel:null==ab?void 0:ab.setReactDebugChannel,sendErrorsToBrowser:null==ab?void 0:ab.sendErrorsToBrowser,dir:require("path").join(process.cwd(),I.relativeProjectDir),isDraftMode:$,botType:al,isOnDemandRevalidate:ah,isPossibleServerAction:ap,assetPrefix:ac.assetPrefix,nextConfigOutput:ac.output,crossOrigin:ac.crossOrigin,trailingSlash:ac.trailingSlash,images:ac.images,previewProps:Z.preview,deploymentId:af,enableTainting:ac.experimental.taint,htmlLimitedBots:ac.htmlLimitedBots,reactMaxHeadersLength:ac.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:k,cacheLifeProfiles:ac.cacheLife,basePath:ac.basePath,serverActions:ac.experimental.serverActions,...as||at?{nextExport:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isDebugDynamicAccesses:as}:{},cacheComponents:!!ac.cacheComponents,experimental:{isRoutePPREnabled:ar,expireTime:ac.expireTime,staleTimes:ac.experimental.staleTimes,dynamicOnHover:!!ac.experimental.dynamicOnHover,inlineCss:!!ac.experimental.inlineCss,authInterrupts:!!ac.experimental.authInterrupts,clientTraceMetadata:ac.experimental.clientTraceMetadata||[],clientParamParsingOrigins:ac.experimental.clientParamParsingOrigins,maxPostponedStateSizeBytes:(0,z.parseMaxPostponedStateSize)(ac.experimental.maxPostponedStateSize)},waitUntil:K.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d,e)=>I.onRequestError(a,b,d,e,ab),err:(0,f.getRequestMeta)(a,"invokeError"),dev:I.isDev}};as&&(j.renderOpts.nextExport=!0,j.renderOpts.supportsDynamicResponse=!1,j.renderOpts.isDebugDynamicAccesses=as),g&&(j.renderOpts.supportsDynamicResponse=!1);let l=await i(c,j),{metadata:m}=l,{cacheControl:n,headers:o={},fetchTags:p,fetchMetrics:q}=m;if(p&&(o[v.NEXT_CACHE_TAGS_HEADER]=p),a.fetchMetrics=q,ay&&(null==n?void 0:n.revalidate)===0&&!I.isDev&&!ar){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${_}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
|
|
2
|
+
see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:s.CachedRouteKind.APP_PAGE,html:l,headers:o,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:n}},n=async({hasResolved:d,previousCacheEntry:e,isRevalidating:g,span:h,forceStaticRender:i=!1})=>{let j,o=!1===I.isDev,p=d||b.writableEnded;if(ah&&aa&&!e&&!M)return(null==ab?void 0:ab.render404)?await ab.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(ai&&(j=(0,t.parseFallbackField)(ai.fallback)),j===t.FallbackMode.PRERENDER&&(0,r.isBot)(ak)&&(!ar||am)&&(j=t.FallbackMode.BLOCKING_STATIC_RENDER),(null==e?void 0:e.isStale)===-1&&(ah=!0),ah&&(j!==t.FallbackMode.NOT_FOUND||e)&&(j=t.FallbackMode.BLOCKING_STATIC_RENDER),!M&&j!==t.FallbackMode.BLOCKING_STATIC_RENDER&&aD&&!p&&!$&&S&&(o||!aj)){if((o||ai)&&j===t.FallbackMode.NOT_FOUND){if(ac.experimental.adapterPath)return await aI();throw new y.NoFallbackError}if(ar&&(ac.cacheComponents?!av:!ao)){let b=o&&"string"==typeof(null==ai?void 0:ai.fallback)?ai.fallback:ag,d=o&&(null==ai?void 0:ai.fallbackRouteParams)?(0,l.createOpaqueFallbackRouteParams)(ai.fallbackRouteParams):at?(0,l.getFallbackRouteParams)(ag,I):null,e=await I.handleResponse({cacheKey:b,req:a,nextConfig:ac,routeKind:c.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:Z,isRoutePPREnabled:ar,responseGenerator:async()=>m({span:h,postponed:void 0,fallbackRouteParams:d,forceStaticRender:!1}),waitUntil:K.waitUntil,isMinimalMode:M});if(null===e)return null;if(e)return delete e.cacheControl,e}}let q=ah||g||!au?void 0:au;if(az&&!M&&k&&av&&!i){let b=await k.get(_,{kind:s.IncrementalCacheKind.APP_PAGE,isRoutePPREnabled:!0,isFallback:!1});b&&b.value&&b.value.kind===s.CachedRouteKind.APP_PAGE&&(q=b.value.postponed,b&&(-1===b.isStale||!0===b.isStale)&&(0,E.scheduleOnNextTick)(async()=>{let b=I.getResponseCache(a);try{await b.revalidate(_,k,ar,!1,a=>n({...a,forceStaticRender:!0}),null,d,K.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}))}if(as&&void 0!==q)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:s.CachedRouteKind.PAGES,html:u.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let v=o&&(null==ai?void 0:ai.fallbackRouteParams)&&(0,f.getRequestMeta)(a,"renderFallbackShell")?(0,l.createOpaqueFallbackRouteParams)(ai.fallbackRouteParams):at?(0,l.getFallbackRouteParams)(ag,I):null;return m({span:h,postponed:q,fallbackRouteParams:v,forceStaticRender:i})},o=async d=>{var e,g,h,i,j;let k,l=await I.handleResponse({cacheKey:aC,responseGenerator:a=>n({span:d,...a}),routeKind:c.RouteKind.APP_PAGE,isOnDemandRevalidate:ah,isRoutePPREnabled:ar,req:a,nextConfig:ac,prerenderManifest:Z,waitUntil:K.waitUntil,isMinimalMode:M});if($&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),I.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!l){if(aC)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(e=l.value)?void 0:e.kind)!==s.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(h=l.value)?void 0:h.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let o="string"==typeof l.value.postponed;ay&&!av&&(!o||an)&&(M||b.setHeader("x-nextjs-cache",ah?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),b.setHeader(q.NEXT_IS_PRERENDER_HEADER,"1"));let{value:p}=l;if(au)k={revalidate:0,expire:void 0};else if(av)k={revalidate:0,expire:void 0};else if(!I.isDev)if($)k={revalidate:0,expire:void 0};else if(ay){if(l.cacheControl)if("number"==typeof l.cacheControl.revalidate){if(l.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${l.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});k={revalidate:l.cacheControl.revalidate,expire:(null==(i=l.cacheControl)?void 0:i.expire)??ac.expireTime}}else k={revalidate:v.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(k={revalidate:0,expire:void 0});if(l.cacheControl=k,"string"==typeof aw&&(null==p?void 0:p.kind)===s.CachedRouteKind.APP_PAGE&&p.segmentData){b.setHeader(q.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(j=p.headers)?void 0:j[v.NEXT_CACHE_TAGS_HEADER];M&&ay&&c&&"string"==typeof c&&b.setHeader(v.NEXT_CACHE_TAGS_HEADER,c);let d=p.segmentData.get(aw);return void 0!==d?(0,x.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:u.default.fromStatic(d,q.RSC_CONTENT_TYPE_HEADER),cacheControl:l.cacheControl}):(b.statusCode=204,(0,x.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:u.default.EMPTY,cacheControl:l.cacheControl}))}let r=az?(0,f.getRequestMeta)(a,"onCacheEntryV2")??(0,f.getRequestMeta)(a,"onCacheEntry"):(0,f.getRequestMeta)(a,"onCacheEntry");if(r&&await r(l,{url:(0,f.getRequestMeta)(a,"initURL")??a.url}))return null;if(p.headers){let a={...p.headers};for(let[c,d]of(M&&ay||delete a[v.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let t=null==(g=p.headers)?void 0:g[v.NEXT_CACHE_TAGS_HEADER];if(M&&ay&&t&&"string"==typeof t&&b.setHeader(v.NEXT_CACHE_TAGS_HEADER,t),!p.status||ao&&ar||(b.statusCode=p.status),!M&&p.status&&C.RedirectStatusCode[p.status]&&ao&&(b.statusCode=200),o&&!av&&b.setHeader(q.NEXT_DID_POSTPONE_HEADER,"1"),ao&&!$){if(void 0===p.rscData){if(p.html.contentType!==q.RSC_CONTENT_TYPE_HEADER)if(ac.cacheComponents)return b.statusCode=404,(0,x.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:u.default.EMPTY,cacheControl:l.cacheControl});else throw Object.defineProperty(new D.InvariantError(`Expected RSC response, got ${p.html.contentType}`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});return(0,x.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:p.html,cacheControl:l.cacheControl})}return(0,x.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:u.default.fromStatic(p.rscData,q.RSC_CONTENT_TYPE_HEADER),cacheControl:l.cacheControl})}let y=p.html;if(!o||M||ao)return(0,x.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:y,cacheControl:l.cacheControl});if(as)return y.push(new ReadableStream({start(a){a.enqueue(w.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,x.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:y,cacheControl:{revalidate:0,expire:void 0}});let z=new TransformStream;return y.push(z.readable),m({span:d,postponed:p.postponed,fallbackRouteParams:null,forceStaticRender:!1}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==s.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(z.writable)}).catch(a=>{z.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,x.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:y,cacheControl:{revalidate:0,expire:void 0}})};if(!aH)return await aG.withPropagatedContext(a.headers,()=>aG.trace(g.BaseServerSpan.handleRequest,{spanName:`${aF} ${N}`,kind:e.SpanKind.SERVER,attributes:{"http.method":aF,"http.target":a.url}},o));await o(aH)}catch(b){throw b instanceof y.NoFallbackError||await I.onRequestError(a,b,{routerKind:"App Router",routePath:N,routeType:"render",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:ay,isOnDemandRevalidate:ah})},!1,ab),b}}a.s(["__next_app__",0,H,"handler",()=>J,"routeModule",0,I],77523),a.i(77523),a.s(["ClientPageRoot",()=>B.ClientPageRoot,"ClientSegmentRoot",()=>B.ClientSegmentRoot,"Fragment",()=>B.Fragment,"GlobalError",()=>A.default,"HTTPAccessFallbackBoundary",()=>B.HTTPAccessFallbackBoundary,"LayoutRouter",()=>B.LayoutRouter,"Postpone",()=>B.Postpone,"RenderFromTemplateContext",()=>B.RenderFromTemplateContext,"RootLayoutBoundary",()=>B.RootLayoutBoundary,"SegmentViewNode",()=>B.SegmentViewNode,"SegmentViewStateNode",()=>B.SegmentViewStateNode,"__next_app__",0,H,"actionAsyncStorage",()=>B.actionAsyncStorage,"captureOwnerStack",()=>B.captureOwnerStack,"collectSegmentData",()=>B.collectSegmentData,"createElement",()=>B.createElement,"createMetadataComponents",()=>B.createMetadataComponents,"createPrerenderParamsForClientSegment",()=>B.createPrerenderParamsForClientSegment,"createPrerenderSearchParamsForClientPage",()=>B.createPrerenderSearchParamsForClientPage,"createServerParamsForServerSegment",()=>B.createServerParamsForServerSegment,"createServerSearchParamsForServerPage",()=>B.createServerSearchParamsForServerPage,"createTemporaryReferenceSet",()=>B.createTemporaryReferenceSet,"decodeAction",()=>B.decodeAction,"decodeFormState",()=>B.decodeFormState,"decodeReply",()=>B.decodeReply,"handler",()=>J,"patchFetch",()=>B.patchFetch,"preconnect",()=>B.preconnect,"preloadFont",()=>B.preloadFont,"preloadStyle",()=>B.preloadStyle,"prerender",()=>B.prerender,"renderToReadableStream",()=>B.renderToReadableStream,"routeModule",0,I,"serverHooks",()=>B.serverHooks,"taintObjectReference",()=>B.taintObjectReference,"workAsyncStorage",()=>B.workAsyncStorage,"workUnitAsyncStorage",()=>B.workUnitAsyncStorage],93338)}];
|
|
3
3
|
|
|
4
|
-
//# sourceMappingURL=
|
|
4
|
+
//# sourceMappingURL=_fc1aaf9e._.js.map
|
package/cloud-runtime/standalone/.next/server/chunks/ssr/app_agents_[id]_page_tsx_9c49d8c8._.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[88204,a=>{"use strict";var b=a.i(90944),c=a.i(72131),d=a.i(50944),e=a.i(38246),f=a.i(60137);let g=(0,f.default)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);var h=a.i(1027),i=a.i(85552),j=a.i(210),k=a.i(60246),l=a.i(2835),m=a.i(63588),n=a.i(53722),o=a.i(8406),p=a.i(69520),q=a.i(50522),r=a.i(41710);let s=(0,f.default)("target",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]]);var t=a.i(94392),u=a.i(4416);let v=(0,f.default)("corner-down-right",[["path",{d:"m15 10 5 5-5 5",key:"qqa56n"}],["path",{d:"M4 4v7a4 4 0 0 0 4 4h12",key:"z08zvw"}]]);var w=a.i(84505),x=a.i(99464),y=a.i(20138),z=a.i(56196),A=a.i(94125),B=a.i(15682);function C(){let{id:a}=(0,d.useParams)(),[f,C]=(0,c.useState)(null),[D,E]=(0,c.useState)([]),[F,G]=(0,c.useState)(null),[H,I]=(0,c.useState)([]),[J,K]=(0,c.useState)({total_messages:0,threads_participated:0}),[L,M]=(0,c.useState)(!0),[N,O]=(0,c.useState)("feed"),[P,Q]=(0,c.useState)(!1),[R,S]=(0,c.useState)([]),{projects:T}=(0,z.useProjectsWithAgents)();if((0,c.useEffect)(()=>{a&&Promise.all([fetch("/api/participants").then(a=>a.json()),fetch(`/api/agents/${a}/profile`).then(a=>a.ok?a.json():null),fetch(`/api/agents/${a}/messages`).then(a=>a.ok?a.json():null)]).then(([b,c,d])=>{let e=Array.isArray(b)?b:[];E(e),C(e.find(b=>b.id===a)??null),G(c),I(d?.messages??[]),K(d?.stats??{total_messages:0,threads_participated:0}),M(!1)})},[a]),(0,c.useEffect)(()=>{if(!a)return;let b=async()=>{try{let b=await fetch("/api/processes?enrich=1");if(!b.ok)return;let c=await b.json();S(c.filter(b=>b.agentId===a&&("spawning"===b.state||"running"===b.state)))}catch{}};b();let c=setInterval(b,3e3);return()=>clearInterval(c)},[a]),L)return(0,b.jsx)("div",{className:"min-h-screen bg-[#F8FAFC] flex items-center justify-center",children:(0,b.jsx)("div",{className:"animate-pulse text-slate-400 text-sm",children:"Loading agent…"})});if(!f)return(0,b.jsxs)("div",{className:"min-h-screen bg-[#F8FAFC] flex flex-col items-center justify-center gap-4",children:[(0,b.jsx)("p",{className:"text-slate-500",children:"Agent not found"}),(0,b.jsx)(e.default,{href:"/agents",className:"text-sm text-blue-600 hover:underline",children:"Back to agents"})]});let U=f.color||"#D97706",V=T.filter(a=>a.agents.some(a=>a.agent_id===f.id)),W=F?.self||"",X=(0,A.stripMarkers)(W),Y=f.identity||"",Z=(0,A.stripMarkers)(Y),$=F?.journal??[],_=$.filter(a=>"reflection"===a.type),aa=F?.inspectability,ab=aa?.knowledge.agent.portableSkills??[],ac=aa?.knowledge.agent.learnedMemories??[],ad=aa?.evidence,ae=H.map(a=>({...a,content:(0,A.stripMarkers)(a.content)})).filter(a=>a.content.length>0),af=new Map;for(let a of D)af.set(a.id,a);let ag=a=>{let b=new Date(a),c=Math.floor((Date.now()-b.getTime())/6e4);if(c<1)return"just now";if(c<60)return`${c}m ago`;let d=Math.floor(c/60);if(d<24)return`${d}h ago`;let e=Math.floor(d/24);return e<7?`${e}d ago`:new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric"}).format(b)},ah=a=>{let b=new Date(a);return new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"}).format(b)},ai=[{label:"Messages",value:J.total_messages.toLocaleString(),icon:m.MessageSquare},{label:"Threads",value:String(J.threads_participated),icon:l.Hash},{label:"Journal Entries",value:String($.length),icon:n.BookOpen},{label:"Projects",value:String(V.length),icon:k.Users}];return(0,b.jsxs)("div",{className:"min-h-screen bg-[#F8FAFC] text-slate-900 font-sans selection:bg-amber-100",children:[(0,b.jsxs)("nav",{className:"sticky top-0 z-50 bg-white/80 backdrop-blur-md border-b border-slate-200 px-4 md:px-8 h-14 flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsx)(e.default,{href:"/agents",className:"p-2 hover:bg-slate-100 rounded-lg transition-colors group",children:(0,b.jsx)(j.ArrowLeft,{className:"w-5 h-5 text-slate-500 group-hover:text-slate-900"})}),(0,b.jsx)("div",{className:"h-4 w-[1px] bg-slate-200 hidden md:block"}),(0,b.jsxs)("div",{className:"hidden md:flex items-center gap-2 text-sm font-medium text-slate-500",children:[(0,b.jsx)(k.Users,{className:"w-4 h-4"}),(0,b.jsx)(e.default,{href:"/agents",className:"hover:text-slate-700 transition-colors",children:"Agents"}),(0,b.jsx)(q.ChevronRight,{className:"w-4 h-4 text-slate-300"}),(0,b.jsx)("span",{className:"text-slate-900 font-semibold",children:f.name})]})]}),(0,b.jsx)("div",{className:"flex items-center gap-3",children:F?.selfVersion&&(0,b.jsxs)("span",{className:"text-xs font-mono text-slate-400 bg-slate-100 px-2 py-1 rounded",children:["v",F.selfVersion]})})]}),(0,b.jsxs)("main",{className:"max-w-7xl mx-auto p-4 md:p-8 grid grid-cols-1 lg:grid-cols-12 gap-8",children:[(0,b.jsxs)("div",{className:"lg:col-span-4 space-y-6",children:[(0,b.jsxs)("div",{className:"bg-white rounded-3xl border border-slate-200 shadow-xl shadow-slate-200/50 overflow-hidden",children:[(0,b.jsx)("div",{className:"h-32 w-full relative",style:{background:`linear-gradient(135deg, ${U} 0%, ${U}99 100%)`},children:(0,b.jsx)("div",{className:"absolute inset-0 opacity-20 bg-[radial-gradient(#fff_1px,transparent_1px)] [background-size:16px_16px]"})}),(0,b.jsxs)("div",{className:"px-6 pb-6 text-center -mt-16 relative",children:[(0,b.jsxs)("div",{className:"inline-block relative",children:[(0,b.jsx)("img",{alt:f.name,className:"w-32 h-32 rounded-3xl bg-white p-2 border-4 border-white shadow-xl",src:(0,y.agentAvatarUrl)(f.id,128,f.color)}),(0,b.jsx)("div",{className:"absolute bottom-2 right-2 w-6 h-6 bg-green-500 border-4 border-white rounded-full"})]}),(0,b.jsxs)("div",{className:"mt-4 space-y-1",children:[(0,b.jsxs)("div",{className:"flex items-center justify-center gap-2",children:[(0,b.jsx)("h1",{className:"text-2xl font-black tracking-tight",children:f.name}),(0,b.jsx)("span",{className:"px-2 py-0.5 rounded-full text-[10px] font-bold uppercase tracking-wider",style:{backgroundColor:`${U}20`,color:U},children:f.provider})]}),(0,b.jsx)("p",{className:"text-slate-500 font-mono text-xs",children:f.model})]}),(0,b.jsxs)("div",{className:"flex flex-wrap justify-center gap-2 mt-6",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5 px-3 py-1.5 rounded-full bg-slate-50 border border-slate-100 text-xs font-medium text-slate-600",children:[(0,b.jsx)(t.Cpu,{className:"w-3.5 h-3.5"}),f.model]}),(0,b.jsxs)("div",{className:`flex items-center gap-1.5 px-3 py-1.5 rounded-full border text-xs font-medium ${R.length>0?"bg-green-50 border-green-200 text-green-700":"bg-slate-50 border-slate-100 text-slate-600"}`,children:[(0,b.jsx)(g,{className:`w-3.5 h-3.5 ${R.length>0?"animate-pulse":""}`}),R.length>0?"Working":"Idle"]})]}),(0,b.jsx)("div",{className:"grid grid-cols-2 gap-3 mt-8",children:ai.map((a,c)=>(0,b.jsxs)("div",{className:"bg-slate-50 p-3 rounded-2xl border border-slate-100 text-left hover:border-slate-300 transition-colors cursor-default",children:[(0,b.jsx)(a.icon,{className:"w-4 h-4 text-slate-400 mb-1"}),(0,b.jsx)("div",{className:"text-lg font-bold text-slate-900",children:a.value}),(0,b.jsx)("div",{className:"text-[10px] uppercase font-bold text-slate-400 tracking-wider",children:a.label})]},c))})]})]}),(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"bg-white rounded-2xl border border-slate-200 p-5",children:[(0,b.jsxs)("h3",{className:"text-[11px] font-black text-slate-400 uppercase tracking-[0.2em] mb-4 flex items-center gap-2",children:[(0,b.jsx)(h.Zap,{className:"w-3.5 h-3.5"})," Actions"]}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)("button",{type:"button",onClick:()=>Q(!0),className:"flex-1 flex items-center justify-center gap-2 px-3 py-2.5 text-sm font-medium text-slate-700 bg-slate-50 border border-slate-200 rounded-xl hover:bg-slate-100 hover:border-slate-300 transition-all",children:[(0,b.jsx)(x.Pencil,{className:"w-3.5 h-3.5"}),"Edit"]}),(0,b.jsxs)("button",{type:"button",onClick:async()=>{let a=await fetch("/api/agents/export",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentIds:[f.id]})});if(!a.ok)return;let b=await a.json(),c=new Blob([JSON.stringify({version:1,exportedAt:new Date().toISOString(),agents:b.agents,projects:[]},null,2)],{type:"application/json"}),d=URL.createObjectURL(c),e=document.createElement("a");e.href=d,e.download=`${f.name.toLowerCase().replace(/\s+/g,"-")}.agent.json`,e.click(),URL.revokeObjectURL(d)},className:"flex-1 flex items-center justify-center gap-2 px-3 py-2.5 text-sm font-medium text-slate-700 bg-slate-50 border border-slate-200 rounded-xl hover:bg-slate-100 hover:border-slate-300 transition-all",children:[(0,b.jsx)(w.Download,{className:"w-3.5 h-3.5"}),"Export"]})]})]}),R.length>0&&(0,b.jsxs)("div",{className:"bg-white rounded-2xl border border-green-200 ring-1 ring-green-100 p-5",children:[(0,b.jsxs)("h3",{className:"text-[11px] font-black text-green-600 uppercase tracking-[0.2em] mb-4 flex items-center gap-2",children:[(0,b.jsx)(g,{className:"w-3.5 h-3.5 animate-pulse"})," Working Now"]}),(0,b.jsx)("div",{className:"flex flex-col gap-2",children:R.map(a=>(0,b.jsxs)(e.default,{href:a.threadId?`/thread/${a.threadId}`:"#",className:"flex items-center gap-3 p-2.5 rounded-xl bg-green-50 border border-green-100 hover:border-green-300 hover:bg-green-100 transition-all group/work",children:[(0,b.jsx)("div",{className:"relative shrink-0",children:(0,b.jsx)("div",{className:"w-2 h-2 rounded-full bg-green-500 animate-pulse"})}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)("div",{className:"text-xs font-medium text-slate-700 truncate",children:a.threadId?(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsx)(l.Hash,{className:"w-3 h-3 text-slate-400"}),(0,b.jsx)("span",{className:"truncate",children:a.threadTitle||a.threadId.substring(0,12)+"..."})]}):(0,b.jsx)("span",{children:"Main thread"})}),(0,b.jsx)("div",{className:"text-[10px] text-slate-400 capitalize",children:a.state})]}),(0,b.jsx)(q.ChevronRight,{className:"w-3.5 h-3.5 text-slate-300 group-hover/work:text-slate-500"})]},`${a.workspaceId}-${a.threadId}`))})]}),f.skills&&f.skills.length>0&&(0,b.jsxs)("div",{className:"bg-white rounded-2xl border border-slate-200 p-5",children:[(0,b.jsxs)("h3",{className:"text-[11px] font-black text-slate-400 uppercase tracking-[0.2em] mb-4 flex items-center gap-2",children:[(0,b.jsx)(i.BrainCircuit,{className:"w-3.5 h-3.5"})," Portable Knowledge"]}),(0,b.jsx)("div",{className:"flex flex-col gap-2",children:f.skills.map((a,c)=>(0,b.jsxs)("div",{className:"flex items-center gap-2 text-xs p-2 hover:bg-slate-50 rounded-lg transition-colors",children:[(0,b.jsx)(h.Zap,{size:10,className:"text-blue-500 shrink-0"}),(0,b.jsx)("span",{className:"text-blue-600 font-mono truncate",title:a.file,children:a.file.split("/").pop()}),a.condition&&(0,b.jsx)("span",{className:"text-slate-400 text-[10px] ml-auto shrink-0",children:a.condition})]},c))})]}),(0,b.jsxs)("div",{className:"bg-white rounded-2xl border border-slate-200 p-5",children:[(0,b.jsxs)("h3",{className:"text-[11px] font-black text-slate-400 uppercase tracking-[0.2em] mb-4 flex items-center gap-2",children:[(0,b.jsx)(u.ShieldCheck,{className:"w-3.5 h-3.5"})," Details"]}),(0,b.jsxs)("div",{className:"space-y-3 text-xs",children:[(0,b.jsxs)("div",{className:"flex justify-between",children:[(0,b.jsx)("span",{className:"text-slate-500",children:"ID"}),(0,b.jsx)("span",{className:"font-mono bg-slate-50 px-1.5 py-0.5 rounded",children:f.id})]}),(0,b.jsxs)("div",{className:"flex justify-between",children:[(0,b.jsx)("span",{className:"text-slate-500",children:"Provider"}),(0,b.jsx)("span",{className:"font-medium capitalize",children:f.provider})]}),(0,b.jsxs)("div",{className:"flex justify-between",children:[(0,b.jsx)("span",{className:"text-slate-500",children:"Model"}),(0,b.jsx)("span",{className:"font-mono",children:f.model})]}),F?.identity?.voice?(0,b.jsxs)("div",{className:"flex justify-between",children:[(0,b.jsx)("span",{className:"text-slate-500",children:"Voice"}),(0,b.jsx)("span",{className:"font-medium",children:String(F.identity.voice)})]}):null,(0,b.jsxs)("div",{className:"flex justify-between items-center",children:[(0,b.jsx)("span",{className:"text-slate-500",children:"Color"}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("div",{className:"w-3 h-3 rounded-full border border-slate-200",style:{backgroundColor:f.color}}),(0,b.jsx)("span",{className:"font-mono",children:f.color})]})]}),F?.selfDerivedAt&&(0,b.jsxs)("div",{className:"flex justify-between",children:[(0,b.jsx)("span",{className:"text-slate-500",children:"Last Evolved"}),(0,b.jsx)("span",{className:"text-slate-600",children:ag(F.selfDerivedAt)})]})]})]}),V.length>0&&(0,b.jsxs)("div",{className:"bg-white rounded-2xl border border-slate-200 p-5",children:[(0,b.jsxs)("h3",{className:"text-[11px] font-black text-slate-400 uppercase tracking-[0.2em] mb-4 flex items-center gap-2",children:[(0,b.jsx)(k.Users,{className:"w-3.5 h-3.5"})," Active Projects"]}),(0,b.jsx)("div",{className:"space-y-2",children:V.map(a=>(0,b.jsxs)("div",{className:"flex items-center justify-between p-2 hover:bg-slate-50 rounded-lg transition-colors group cursor-pointer",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("div",{className:"w-8 h-8 rounded-lg bg-slate-100 flex items-center justify-center text-xs font-bold text-slate-500 group-hover:bg-white group-hover:shadow-sm",children:a.name[0]}),(0,b.jsx)("span",{className:"text-sm font-medium text-slate-700",children:a.name})]}),(0,b.jsxs)("span",{className:"text-xs text-slate-400",children:[a.agents.length," agent",1!==a.agents.length?"s":""]})]},a.id))})]})]})]}),(0,b.jsxs)("div",{className:"lg:col-span-8 space-y-6",children:[(0,b.jsx)("div",{className:"bg-white p-1 rounded-2xl border border-slate-200 flex shadow-sm",children:[{key:"inspect",label:"Inspect",icon:u.ShieldCheck},{key:"feed",label:"Feed",icon:m.MessageSquare},{key:"reflections",label:"Reflections",icon:o.Sparkles}].map(a=>(0,b.jsxs)("button",{onClick:()=>O(a.key),className:`flex-1 flex items-center justify-center gap-2 py-3 rounded-xl text-sm font-bold transition-all ${N===a.key?"bg-slate-900 text-white shadow-lg shadow-slate-200":"text-slate-500 hover:text-slate-800"}`,children:[(0,b.jsx)(a.icon,{className:"w-4 h-4"}),a.label]},a.key))}),(0,b.jsxs)("div",{className:"min-h-[600px]",children:["inspect"===N&&(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"grid grid-cols-1 xl:grid-cols-2 gap-4",children:[(0,b.jsxs)("section",{className:"bg-white rounded-3xl border border-slate-200 p-6 shadow-sm",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,b.jsxs)("h2",{className:"text-xs font-black text-slate-400 uppercase tracking-[0.2em] flex items-center gap-2",children:[(0,b.jsx)(n.BookOpen,{className:"w-4 h-4"})," Identity"]}),(0,b.jsx)("span",{className:"text-[10px] font-black uppercase px-2 py-0.5 rounded bg-emerald-50 text-emerald-700",children:"Human-authored"})]}),(0,b.jsx)("p",{className:"text-sm text-slate-600 leading-relaxed",children:"Canonical self-definition. The system can read this, but should not edit it."}),(0,b.jsxs)("div",{className:"mt-4 grid grid-cols-1 md:grid-cols-2 gap-3 text-xs",children:[(0,b.jsxs)("div",{className:"rounded-2xl bg-slate-50 border border-slate-100 p-3",children:[(0,b.jsx)("div",{className:"text-[10px] font-black uppercase tracking-wider text-slate-400",children:"Voice"}),(0,b.jsx)("p",{className:"mt-1 text-slate-700",children:String(F?.identity?.voice??"Not set")})]}),(0,b.jsxs)("div",{className:"rounded-2xl bg-slate-50 border border-slate-100 p-3",children:[(0,b.jsx)("div",{className:"text-[10px] font-black uppercase tracking-wider text-slate-400",children:"Seed"}),(0,b.jsx)("p",{className:"mt-1 text-slate-700",children:String(F?.identity?.seed??"Not set")})]})]}),aa?.identity.sources?.length?(0,b.jsxs)("div",{className:"mt-4",children:[(0,b.jsx)("div",{className:"text-[10px] font-black uppercase tracking-wider text-slate-400 mb-2",children:"Sources"}),(0,b.jsx)("div",{className:"flex flex-wrap gap-2",children:aa.identity.sources.map(a=>(0,b.jsx)("span",{className:"px-2 py-1 rounded-full bg-slate-100 text-[11px] font-medium text-slate-600",children:a},a))})]}):null]}),(0,b.jsxs)("section",{className:"bg-white rounded-3xl border border-amber-100 ring-1 ring-amber-200 p-6 shadow-sm",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,b.jsxs)("h2",{className:"text-xs font-black text-slate-400 uppercase tracking-[0.2em] flex items-center gap-2",children:[(0,b.jsx)(o.Sparkles,{className:"w-4 h-4"})," Self-Model"]}),(0,b.jsx)("span",{className:"text-[10px] font-black uppercase px-2 py-0.5 rounded bg-amber-100 text-amber-700",children:"System-derived"})]}),(0,b.jsx)("p",{className:"text-sm text-slate-600 leading-relaxed",children:"Reflective specialization model: how this agent currently understands its fit, strengths, and direction."}),X?(0,b.jsx)("div",{className:"mt-4 text-sm text-slate-700 leading-relaxed prose prose-sm prose-slate max-w-none",children:(0,b.jsx)(B.Markdown,{content:X})}):(0,b.jsx)("p",{className:"mt-4 text-sm text-slate-400",children:"No self-model yet."}),(0,b.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2",children:[F?.selfVersion?(0,b.jsxs)("span",{className:"px-2 py-1 rounded-full bg-amber-50 text-[11px] font-medium text-amber-700",children:["v",F.selfVersion]}):null,F?.selfDerivedAt?(0,b.jsx)("span",{className:"px-2 py-1 rounded-full bg-slate-100 text-[11px] font-medium text-slate-600",children:ag(F.selfDerivedAt)}):null,aa?.selfModel.sources?.map(a=>(0,b.jsx)("span",{className:"px-2 py-1 rounded-full bg-slate-100 text-[11px] font-medium text-slate-600",children:a},a))]})]})]}),(0,b.jsxs)("section",{className:"bg-white rounded-3xl border border-slate-200 p-6 shadow-sm",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,b.jsxs)("h2",{className:"text-xs font-black text-slate-400 uppercase tracking-[0.2em] flex items-center gap-2",children:[(0,b.jsx)(i.BrainCircuit,{className:"w-4 h-4"})," Agent Knowledge"]}),(0,b.jsxs)("span",{className:"text-xs text-slate-400",children:[ab.length+ac.length," items"]})]}),(0,b.jsxs)("div",{className:"grid grid-cols-1 xl:grid-cols-2 gap-6",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,b.jsx)("div",{className:"text-[10px] font-black uppercase tracking-wider text-slate-400",children:"Portable Knowledge"}),(0,b.jsx)("span",{className:"text-[10px] text-slate-400",children:"Human-authored"})]}),0===ab.length?(0,b.jsx)("p",{className:"text-sm text-slate-400",children:"No portable knowledge attached."}):(0,b.jsx)("div",{className:"space-y-2",children:ab.map(a=>(0,b.jsxs)("div",{className:"rounded-2xl border border-slate-100 bg-slate-50 p-3",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsx)("span",{className:"font-mono text-xs text-slate-700 truncate",title:a.file,children:a.file}),(0,b.jsx)("span",{className:"text-[10px] font-medium text-slate-400 shrink-0",children:a.form})]}),a.condition?(0,b.jsxs)("p",{className:"mt-2 text-xs text-slate-500",children:["Use when: ",a.condition]}):null]},`${a.file}:${a.condition}`))})]}),(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,b.jsx)("div",{className:"text-[10px] font-black uppercase tracking-wider text-slate-400",children:"Derived Knowledge Candidates"}),(0,b.jsx)("span",{className:"text-[10px] text-slate-400",children:"System-derived"})]}),0===ac.length?(0,b.jsx)("p",{className:"text-sm text-slate-400",children:"No extracted learnings yet."}):(0,b.jsx)("div",{className:"space-y-2",children:ac.map(a=>(0,b.jsxs)("div",{className:"rounded-2xl border border-slate-100 bg-slate-50 p-3",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsx)("span",{className:"text-[10px] font-black uppercase tracking-wider text-slate-400",children:a.type}),(0,b.jsx)("span",{className:"text-[10px] text-slate-400",children:ag(a.createdAt)})]}),(0,b.jsx)("p",{className:"mt-2 text-sm text-slate-700 leading-relaxed",children:a.content}),(0,b.jsxs)("div",{className:"mt-2 text-[10px] text-slate-400 font-mono",children:["task ",a.taskId]})]},a.id))})]})]})]}),(0,b.jsxs)("section",{className:"bg-white rounded-3xl border border-slate-200 p-6 shadow-sm",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,b.jsxs)("h2",{className:"text-xs font-black text-slate-400 uppercase tracking-[0.2em] flex items-center gap-2",children:[(0,b.jsx)(g,{className:"w-4 h-4"})," Evidence"]}),(0,b.jsx)("span",{className:"text-[10px] font-black uppercase px-2 py-0.5 rounded bg-slate-100 text-slate-600",children:"Non-canonical"})]}),(0,b.jsx)("p",{className:"text-sm text-slate-600 leading-relaxed mb-4",children:"Raw and semi-structured traces that support reflection and learning. These should be inspectable, but not treated as canonical truth."}),(0,b.jsx)("div",{className:"grid grid-cols-2 xl:grid-cols-4 gap-3",children:[{label:"Journal",value:ad?.journalEntries??$.length},{label:"Activity",value:ad?.activityEvents??F?.activity?.length??0},{label:"Reactions",value:ad?.reactions??0},{label:"Comments",value:ad?.comments??0}].map(a=>(0,b.jsxs)("div",{className:"rounded-2xl bg-slate-50 border border-slate-100 p-4",children:[(0,b.jsx)("div",{className:"text-lg font-bold text-slate-900",children:a.value}),(0,b.jsx)("div",{className:"text-[10px] font-black uppercase tracking-wider text-slate-400",children:a.label})]},a.label))})]})]}),"feed"===N&&(0,b.jsxs)("div",{className:"space-y-4",children:[X||Z||F?.identity?.seed?(0,b.jsx)("div",{className:"bg-white rounded-3xl border border-slate-200 p-6 shadow-sm",children:X?(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,b.jsxs)("h2",{className:"text-xs font-black text-slate-400 uppercase tracking-[0.2em] flex items-center gap-2",children:[(0,b.jsx)(s,{className:"w-4 h-4"})," Self-Model"]}),F?.selfDerivedAt&&(0,b.jsxs)("span",{className:"text-[10px] text-slate-400 flex items-center gap-1",children:[(0,b.jsx)(p.RefreshCw,{className:"w-3 h-3"}),"v",F.selfVersion," — ",ag(F.selfDerivedAt)]})]}),(0,b.jsx)("div",{className:"text-sm text-slate-700 leading-relaxed prose prose-sm prose-slate max-w-none",children:(0,b.jsx)(B.Markdown,{content:X})})]}):Z?(0,b.jsxs)("div",{children:[(0,b.jsxs)("h2",{className:"text-xs font-black text-slate-400 uppercase tracking-[0.2em] flex items-center gap-2 mb-4",children:[(0,b.jsx)(s,{className:"w-4 h-4"})," Identity"]}),(0,b.jsx)("div",{className:"text-sm text-slate-700 leading-relaxed prose prose-sm prose-slate max-w-none",children:(0,b.jsx)(B.Markdown,{content:Z})})]}):F?.identity?.seed?(0,b.jsxs)("div",{children:[(0,b.jsxs)("h2",{className:"text-xs font-black text-slate-400 uppercase tracking-[0.2em] flex items-center gap-2 mb-4",children:[(0,b.jsx)(s,{className:"w-4 h-4"})," Identity Seed"]}),(0,b.jsxs)("p",{className:"text-sm text-slate-600 italic border-l-4 pl-4",style:{borderColor:U},children:["“",String(F.identity.seed),"”"]})]}):null}):null,(0,b.jsxs)("div",{className:"flex items-center justify-between px-2",children:[(0,b.jsxs)("h2",{className:"text-xs font-black text-slate-400 uppercase tracking-[0.2em] flex items-center gap-2",children:[(0,b.jsx)(m.MessageSquare,{className:"w-4 h-4"})," Messages"]}),(0,b.jsxs)("span",{className:"text-xs text-slate-400",children:[ae.length," messages"]})]}),0===ae.length?(0,b.jsxs)("div",{className:"bg-white rounded-3xl border border-slate-200 p-12 text-center",children:[(0,b.jsx)(m.MessageSquare,{size:32,className:"mx-auto mb-3 text-slate-300"}),(0,b.jsx)("p",{className:"text-sm text-slate-400",children:"No messages yet"}),(0,b.jsx)("p",{className:"text-xs text-slate-400 mt-1",children:"Messages will appear here as this agent participates in threads"})]}):ae.map(a=>{var c;let d=a.prevContent?(0,A.stripMarkers)(a.prevContent):null,g=(a=>{if(!a)return"You";let b=af.get(a);return b?.name??a})(a.prevParticipantId),h=(c=a.prevParticipantId)?af.get(c)?.color??"#94a3b8":"#6366f1",i=a.threadTitle?(0,A.stripMarkers)(a.threadTitle):null;return(0,b.jsx)("article",{className:"bg-white rounded-3xl border border-slate-200 p-6 hover:shadow-xl hover:shadow-slate-200/50 transition-all group",children:(0,b.jsxs)("div",{className:"flex items-start gap-4",children:[(0,b.jsx)("img",{src:(0,y.agentAvatarUrl)(f.id,40,f.color),alt:"",className:"w-10 h-10 rounded-2xl shrink-0 mt-0.5 shadow-sm"}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)("div",{className:"flex items-center justify-between mb-1",children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"font-bold text-slate-900",children:f.name}),(0,b.jsxs)("span",{className:"text-xs text-slate-400",children:["• ",ag(a.timestamp)]})]})}),a.rootMessageId&&i&&(0,b.jsxs)(e.default,{href:`/thread/${a.threadId}`,className:"inline-flex items-center gap-1.5 mb-3 px-2.5 py-1 rounded-lg bg-slate-50 border border-slate-100 hover:border-slate-300 hover:bg-slate-100 transition-colors text-[11px] font-medium text-slate-500 hover:text-slate-700 group/thread",children:[(0,b.jsx)(l.Hash,{className:"w-3 h-3 text-slate-400 group-hover/thread:text-slate-500"}),(0,b.jsx)("span",{className:"truncate max-w-[300px]",children:i}),(0,b.jsx)(q.ChevronRight,{className:"w-3 h-3 text-slate-300 group-hover/thread:text-slate-400"})]}),d&&(0,b.jsxs)("div",{className:"mb-3 flex items-start gap-2 pl-1",children:[(0,b.jsx)(v,{className:"w-3.5 h-3.5 text-slate-300 shrink-0 mt-1"}),(0,b.jsxs)("div",{className:"flex-1 min-w-0 p-2.5 rounded-xl bg-slate-50 border border-slate-100",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5 mb-1",children:[a.prevParticipantId&&(0,b.jsx)("img",{src:(0,y.agentAvatarUrl)(a.prevParticipantId,16,h),alt:"",className:"w-4 h-4 rounded"}),(0,b.jsx)("span",{className:"text-[10px] font-bold",style:{color:h},children:g})]}),(0,b.jsx)("p",{className:"text-xs text-slate-500 leading-relaxed line-clamp-2",children:d})]})]}),(0,b.jsx)("div",{className:"text-sm text-slate-700",children:(0,b.jsx)(B.Markdown,{content:a.content})}),(0,b.jsxs)("div",{className:"mt-3 flex items-center gap-1.5 text-[10px] text-slate-400 font-medium",children:[(0,b.jsx)(r.Clock,{className:"w-3 h-3"}),ah(a.timestamp)]})]})]})},a.id)})]}),"reflections"===N&&(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-2",children:[(0,b.jsxs)("h2",{className:"text-xs font-black text-slate-400 uppercase tracking-[0.2em] flex items-center gap-2",children:[(0,b.jsx)(n.BookOpen,{className:"w-4 h-4"})," Journal Reflections"]}),(0,b.jsxs)("span",{className:"text-xs text-slate-400",children:[_.length," reflections"]})]}),0===_.length?(0,b.jsxs)("div",{className:"bg-white rounded-3xl border border-slate-200 p-12 text-center",children:[(0,b.jsx)(o.Sparkles,{size:32,className:"mx-auto mb-3 text-slate-300"}),(0,b.jsx)("p",{className:"text-sm text-slate-400",children:"No reflections yet"}),(0,b.jsx)("p",{className:"text-xs text-slate-400 mt-1",children:"Reflections will appear as this agent evolves its self-model"})]}):_.map((a,c)=>{let d=a.body?(0,A.stripMarkers)(a.body):"";return(0,b.jsx)("article",{className:"bg-white rounded-3xl border border-amber-100 ring-1 ring-amber-200 p-6 hover:shadow-xl hover:shadow-slate-200/50 transition-all group",children:(0,b.jsxs)("div",{className:"flex items-start gap-4",children:[(0,b.jsxs)("div",{className:"relative shrink-0",children:[(0,b.jsx)("img",{alt:"",className:"w-10 h-10 rounded-2xl shadow-sm",src:(0,y.agentAvatarUrl)(f.id,40,f.color)}),(0,b.jsx)("div",{className:"absolute -top-1 -right-1 w-4 h-4 rounded-full flex items-center justify-center border-2 border-white",style:{backgroundColor:U},children:(0,b.jsx)(o.Sparkles,{className:"w-2 h-2 text-white"})})]}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"font-bold text-slate-900",children:f.name}),(0,b.jsx)("span",{className:"text-[10px] font-black uppercase px-2 py-0.5 rounded bg-amber-100 text-amber-700",children:"reflection"}),(0,b.jsxs)("span",{className:"text-xs text-slate-400",children:["• ",ag(a.t)]})]}),a.selfVersion&&(0,b.jsxs)("span",{className:"text-[10px] text-slate-400 font-mono",children:["v",a.selfVersion]})]}),a.observation&&(0,b.jsx)("p",{className:"text-xs text-slate-500 mb-3",children:a.observation}),d&&(0,b.jsx)("div",{className:"text-sm text-slate-700 leading-relaxed prose prose-sm prose-slate max-w-none",children:(0,b.jsx)(B.Markdown,{content:d})}),(a.judgement||a.delta||a.intent)&&(0,b.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3 mt-4 pt-4 border-t border-slate-100 group-hover:border-slate-200 transition-colors",children:[a.judgement&&(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("div",{className:"text-[10px] font-black text-slate-400 uppercase tracking-wider",children:"Judgment"}),(0,b.jsx)("p",{className:"text-xs text-slate-500 leading-relaxed",children:a.judgement})]}),a.delta&&(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("div",{className:"text-[10px] font-black text-slate-400 uppercase tracking-wider",children:"Delta"}),(0,b.jsx)("p",{className:"text-xs text-slate-500 leading-relaxed",children:a.delta})]}),a.intent&&(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("div",{className:"text-[10px] font-black text-slate-400 uppercase tracking-wider",children:"Intent"}),(0,b.jsx)("p",{className:"text-xs text-slate-500 leading-relaxed",children:a.intent})]})]}),(0,b.jsxs)("div",{className:"mt-4 flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5 text-[10px] text-slate-400 font-medium",children:[(0,b.jsx)(r.Clock,{className:"w-3 h-3"}),ah(a.t)]}),a.thread&&(0,b.jsxs)("span",{className:"text-[10px] text-slate-400 font-mono flex items-center gap-1",children:[(0,b.jsx)(l.Hash,{className:"w-3 h-3"}),a.thread.substring(0,12),"..."]})]})]})]})},a.id??c)})]})]})]})]}),P&&(0,b.jsx)(y.AgentForm,{title:"Edit agent",initial:{name:f.name,provider:f.provider,model:f.model||"",identity:f.identity||"",color:f.color,skills:f.skills||[]},agentId:f.id,submitLabel:"Save",onSubmit:async a=>{await fetch("/api/participants",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:f.id,name:a.name,provider:a.provider,model:a.model,color:a.color,...a.identity?{identity:a.identity}:{},skills:a.skills??[]})}),C({...f,name:a.name,provider:a.provider,model:a.model,identity:a.identity,color:a.color??f.color,skills:a.skills??[]}),Q(!1)},onCancel:()=>Q(!1)})]})}a.s(["default",()=>C],88204)}];
|
|
1
|
+
module.exports=[88204,a=>{"use strict";var b=a.i(90944),c=a.i(72131),d=a.i(50944),e=a.i(38246),f=a.i(60137);let g=(0,f.default)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);var h=a.i(1027),i=a.i(85552),j=a.i(210),k=a.i(60246),l=a.i(2835),m=a.i(63588),n=a.i(53722),o=a.i(8406),p=a.i(69520),q=a.i(50522),r=a.i(41710);let s=(0,f.default)("target",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]]);var t=a.i(94392),u=a.i(4416);let v=(0,f.default)("corner-down-right",[["path",{d:"m15 10 5 5-5 5",key:"qqa56n"}],["path",{d:"M4 4v7a4 4 0 0 0 4 4h12",key:"z08zvw"}]]);var w=a.i(84505),x=a.i(99464),y=a.i(20138),z=a.i(56196),A=a.i(94125),B=a.i(15682);function C(){let{id:a}=(0,d.useParams)(),[f,C]=(0,c.useState)(null),[D,E]=(0,c.useState)([]),[F,G]=(0,c.useState)(null),[H,I]=(0,c.useState)([]),[J,K]=(0,c.useState)({total_messages:0,threads_participated:0}),[L,M]=(0,c.useState)(!0),[N,O]=(0,c.useState)("feed"),[P,Q]=(0,c.useState)(!1),[R,S]=(0,c.useState)([]),{projects:T}=(0,z.useProjectsWithAgents)();if((0,c.useEffect)(()=>{a&&Promise.all([fetch("/api/participants").then(a=>a.json()),fetch(`/api/agents/${a}/profile`).then(a=>a.ok?a.json():null),fetch(`/api/agents/${a}/messages`).then(a=>a.ok?a.json():null)]).then(([b,c,d])=>{let e=Array.isArray(b)?b:[];E(e),C(e.find(b=>b.id===a)??null),G(c),I(d?.messages??[]),K(d?.stats??{total_messages:0,threads_participated:0}),M(!1)})},[a]),(0,c.useEffect)(()=>{if(!a)return;let b=async()=>{try{let b=await fetch("/api/processes?enrich=1");if(!b.ok)return;let c=await b.json();S(c.filter(b=>b.agentId===a&&("spawning"===b.state||"running"===b.state)))}catch{}};b();let c=setInterval(b,3e3);return()=>clearInterval(c)},[a]),L)return(0,b.jsx)("div",{className:"min-h-screen bg-[var(--background)] flex items-center justify-center",children:(0,b.jsx)("div",{className:"animate-pulse text-[var(--muted-foreground)] text-sm",children:"Loading agent…"})});if(!f)return(0,b.jsxs)("div",{className:"min-h-screen bg-[var(--background)] flex flex-col items-center justify-center gap-4",children:[(0,b.jsx)("p",{className:"text-[var(--muted-foreground)]",children:"Agent not found"}),(0,b.jsx)(e.default,{href:"/agents",className:"text-sm text-blue-600 hover:underline",children:"Back to agents"})]});let U=f.color||"#D97706",V=T.filter(a=>a.agents.some(a=>a.agent_id===f.id)),W=F?.self||"",X=(0,A.stripMarkers)(W),Y=f.identity||"",Z=(0,A.stripMarkers)(Y),$=F?.journal??[],_=$.filter(a=>"reflection"===a.type),aa=F?.inspectability,ab=aa?.knowledge.agent.portableSkills??[],ac=aa?.knowledge.agent.learnedMemories??[],ad=aa?.evidence,ae=H.map(a=>({...a,content:(0,A.stripMarkers)(a.content)})).filter(a=>a.content.length>0),af=new Map;for(let a of D)af.set(a.id,a);let ag=a=>{let b=new Date(a),c=Math.floor((Date.now()-b.getTime())/6e4);if(c<1)return"just now";if(c<60)return`${c}m ago`;let d=Math.floor(c/60);if(d<24)return`${d}h ago`;let e=Math.floor(d/24);return e<7?`${e}d ago`:new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric"}).format(b)},ah=a=>{let b=new Date(a);return new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"}).format(b)},ai=[{label:"Messages",value:J.total_messages.toLocaleString(),icon:m.MessageSquare},{label:"Threads",value:String(J.threads_participated),icon:l.Hash},{label:"Journal Entries",value:String($.length),icon:n.BookOpen},{label:"Projects",value:String(V.length),icon:k.Users}];return(0,b.jsxs)("div",{className:"min-h-screen bg-[var(--background)] text-[var(--foreground)] font-sans selection:bg-amber-100/30",children:[(0,b.jsxs)("nav",{className:"sticky top-0 z-50 bg-[var(--card-bg)]/80 backdrop-blur-md border-b border-[var(--border)] px-4 md:px-8 h-14 flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsx)(e.default,{href:"/agents",className:"p-2 hover:bg-[var(--muted)] rounded-lg transition-colors group",children:(0,b.jsx)(j.ArrowLeft,{className:"w-5 h-5 text-[var(--muted-foreground)] group-hover:text-[var(--foreground)]"})}),(0,b.jsx)("div",{className:"h-4 w-[1px] bg-[var(--muted)] hidden md:block"}),(0,b.jsxs)("div",{className:"hidden md:flex items-center gap-2 text-sm font-medium text-[var(--muted-foreground)]",children:[(0,b.jsx)(k.Users,{className:"w-4 h-4"}),(0,b.jsx)(e.default,{href:"/agents",className:"hover:text-[var(--foreground)] transition-colors",children:"Agents"}),(0,b.jsx)(q.ChevronRight,{className:"w-4 h-4 text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"text-[var(--foreground)] font-semibold",children:f.name})]})]}),(0,b.jsx)("div",{className:"flex items-center gap-3",children:F?.selfVersion&&(0,b.jsxs)("span",{className:"text-xs font-mono text-[var(--muted-foreground)] bg-[var(--muted)] px-2 py-1 rounded",children:["v",F.selfVersion]})})]}),(0,b.jsxs)("main",{className:"max-w-7xl mx-auto p-4 md:p-8 grid grid-cols-1 lg:grid-cols-12 gap-8",children:[(0,b.jsxs)("div",{className:"lg:col-span-4 space-y-6",children:[(0,b.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-3xl border border-[var(--border)] shadow-xl shadow-black/5 overflow-hidden",children:[(0,b.jsx)("div",{className:"h-32 w-full relative",style:{background:`linear-gradient(135deg, ${U} 0%, ${U}99 100%)`},children:(0,b.jsx)("div",{className:"absolute inset-0 opacity-20 bg-[radial-gradient(#fff_1px,transparent_1px)] [background-size:16px_16px]"})}),(0,b.jsxs)("div",{className:"px-6 pb-6 text-center -mt-16 relative",children:[(0,b.jsxs)("div",{className:"inline-block relative",children:[(0,b.jsx)("img",{alt:f.name,className:"w-32 h-32 rounded-3xl bg-[var(--card-bg)] p-2 border-4 border-[var(--card-bg)] shadow-xl",src:(0,y.agentAvatarUrl)(f.id,128,f.color)}),(0,b.jsx)("div",{className:"absolute bottom-2 right-2 w-6 h-6 bg-green-500 border-4 border-[var(--card-bg)] rounded-full"})]}),(0,b.jsxs)("div",{className:"mt-4 space-y-1",children:[(0,b.jsxs)("div",{className:"flex items-center justify-center gap-2",children:[(0,b.jsx)("h1",{className:"text-2xl font-black tracking-tight",children:f.name}),(0,b.jsx)("span",{className:"px-2 py-0.5 rounded-full text-[10px] font-bold uppercase tracking-wider",style:{backgroundColor:`${U}20`,color:U},children:f.provider})]}),(0,b.jsx)("p",{className:"text-[var(--muted-foreground)] font-mono text-xs",children:f.model})]}),(0,b.jsxs)("div",{className:"flex flex-wrap justify-center gap-2 mt-6",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5 px-3 py-1.5 rounded-full bg-[var(--app-shell-subtle)] border border-[var(--border)] text-xs font-medium text-[var(--muted-foreground)]",children:[(0,b.jsx)(t.Cpu,{className:"w-3.5 h-3.5"}),f.model]}),(0,b.jsxs)("div",{className:`flex items-center gap-1.5 px-3 py-1.5 rounded-full border text-xs font-medium ${R.length>0?"bg-green-50 border-green-200 text-green-700":"bg-[var(--app-shell-subtle)] border-[var(--border)] text-[var(--muted-foreground)]"}`,children:[(0,b.jsx)(g,{className:`w-3.5 h-3.5 ${R.length>0?"animate-pulse":""}`}),R.length>0?"Working":"Idle"]})]}),(0,b.jsx)("div",{className:"grid grid-cols-2 gap-3 mt-8",children:ai.map((a,c)=>(0,b.jsxs)("div",{className:"bg-[var(--app-shell-subtle)] p-3 rounded-2xl border border-[var(--border)] text-left hover:border-[var(--border)] transition-colors cursor-default",children:[(0,b.jsx)(a.icon,{className:"w-4 h-4 text-[var(--muted-foreground)] mb-1"}),(0,b.jsx)("div",{className:"text-lg font-bold text-[var(--foreground)]",children:a.value}),(0,b.jsx)("div",{className:"text-[10px] uppercase font-bold text-[var(--muted-foreground)] tracking-wider",children:a.label})]},c))})]})]}),(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-2xl border border-[var(--border)] p-5",children:[(0,b.jsxs)("h3",{className:"text-[11px] font-black text-[var(--muted-foreground)] uppercase tracking-[0.2em] mb-4 flex items-center gap-2",children:[(0,b.jsx)(h.Zap,{className:"w-3.5 h-3.5"})," Actions"]}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)("button",{type:"button",onClick:()=>Q(!0),className:"flex-1 flex items-center justify-center gap-2 px-3 py-2.5 text-sm font-medium text-[var(--foreground)] bg-[var(--app-shell-subtle)] border border-[var(--border)] rounded-xl hover:bg-[var(--muted)] hover:border-[var(--border)] transition-all",children:[(0,b.jsx)(x.Pencil,{className:"w-3.5 h-3.5"}),"Edit"]}),(0,b.jsxs)("button",{type:"button",onClick:async()=>{let a=await fetch("/api/agents/export",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentIds:[f.id]})});if(!a.ok)return;let b=await a.json(),c=new Blob([JSON.stringify({version:1,exportedAt:new Date().toISOString(),agents:b.agents,projects:[]},null,2)],{type:"application/json"}),d=URL.createObjectURL(c),e=document.createElement("a");e.href=d,e.download=`${f.name.toLowerCase().replace(/\s+/g,"-")}.agent.json`,e.click(),URL.revokeObjectURL(d)},className:"flex-1 flex items-center justify-center gap-2 px-3 py-2.5 text-sm font-medium text-[var(--foreground)] bg-[var(--app-shell-subtle)] border border-[var(--border)] rounded-xl hover:bg-[var(--muted)] hover:border-[var(--border)] transition-all",children:[(0,b.jsx)(w.Download,{className:"w-3.5 h-3.5"}),"Export"]})]})]}),R.length>0&&(0,b.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-2xl border border-green-200 ring-1 ring-green-100 p-5",children:[(0,b.jsxs)("h3",{className:"text-[11px] font-black text-green-600 uppercase tracking-[0.2em] mb-4 flex items-center gap-2",children:[(0,b.jsx)(g,{className:"w-3.5 h-3.5 animate-pulse"})," Working Now"]}),(0,b.jsx)("div",{className:"flex flex-col gap-2",children:R.map(a=>(0,b.jsxs)(e.default,{href:a.threadId?`/thread/${a.threadId}`:"#",className:"flex items-center gap-3 p-2.5 rounded-xl bg-green-50 border border-green-100 hover:border-green-300 hover:bg-green-100 transition-all group/work",children:[(0,b.jsx)("div",{className:"relative shrink-0",children:(0,b.jsx)("div",{className:"w-2 h-2 rounded-full bg-green-500 animate-pulse"})}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)("div",{className:"text-xs font-medium text-[var(--foreground)] truncate",children:a.threadId?(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsx)(l.Hash,{className:"w-3 h-3 text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"truncate",children:a.threadTitle||a.threadId.substring(0,12)+"..."})]}):(0,b.jsx)("span",{children:"Main thread"})}),(0,b.jsx)("div",{className:"text-[10px] text-[var(--muted-foreground)] capitalize",children:a.state})]}),(0,b.jsx)(q.ChevronRight,{className:"w-3.5 h-3.5 text-[var(--muted-foreground)] group-hover/work:text-[var(--muted-foreground)]"})]},`${a.workspaceId}-${a.threadId}`))})]}),f.skills&&f.skills.length>0&&(0,b.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-2xl border border-[var(--border)] p-5",children:[(0,b.jsxs)("h3",{className:"text-[11px] font-black text-[var(--muted-foreground)] uppercase tracking-[0.2em] mb-4 flex items-center gap-2",children:[(0,b.jsx)(i.BrainCircuit,{className:"w-3.5 h-3.5"})," Portable Knowledge"]}),(0,b.jsx)("div",{className:"flex flex-col gap-2",children:f.skills.map((a,c)=>(0,b.jsxs)("div",{className:"flex items-center gap-2 text-xs p-2 hover:bg-[var(--app-shell-subtle)] rounded-lg transition-colors",children:[(0,b.jsx)(h.Zap,{size:10,className:"text-blue-500 shrink-0"}),(0,b.jsx)("span",{className:"text-blue-600 font-mono truncate",title:a.file,children:a.file.split("/").pop()}),a.condition&&(0,b.jsx)("span",{className:"text-[var(--muted-foreground)] text-[10px] ml-auto shrink-0",children:a.condition})]},c))})]}),(0,b.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-2xl border border-[var(--border)] p-5",children:[(0,b.jsxs)("h3",{className:"text-[11px] font-black text-[var(--muted-foreground)] uppercase tracking-[0.2em] mb-4 flex items-center gap-2",children:[(0,b.jsx)(u.ShieldCheck,{className:"w-3.5 h-3.5"})," Details"]}),(0,b.jsxs)("div",{className:"space-y-3 text-xs",children:[(0,b.jsxs)("div",{className:"flex justify-between",children:[(0,b.jsx)("span",{className:"text-[var(--muted-foreground)]",children:"ID"}),(0,b.jsx)("span",{className:"font-mono bg-[var(--app-shell-subtle)] px-1.5 py-0.5 rounded",children:f.id})]}),(0,b.jsxs)("div",{className:"flex justify-between",children:[(0,b.jsx)("span",{className:"text-[var(--muted-foreground)]",children:"Provider"}),(0,b.jsx)("span",{className:"font-medium capitalize",children:f.provider})]}),(0,b.jsxs)("div",{className:"flex justify-between",children:[(0,b.jsx)("span",{className:"text-[var(--muted-foreground)]",children:"Model"}),(0,b.jsx)("span",{className:"font-mono",children:f.model})]}),F?.identity?.voice?(0,b.jsxs)("div",{className:"flex justify-between",children:[(0,b.jsx)("span",{className:"text-[var(--muted-foreground)]",children:"Voice"}),(0,b.jsx)("span",{className:"font-medium",children:String(F.identity.voice)})]}):null,(0,b.jsxs)("div",{className:"flex justify-between items-center",children:[(0,b.jsx)("span",{className:"text-[var(--muted-foreground)]",children:"Color"}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("div",{className:"w-3 h-3 rounded-full border border-[var(--border)]",style:{backgroundColor:f.color}}),(0,b.jsx)("span",{className:"font-mono",children:f.color})]})]}),F?.selfDerivedAt&&(0,b.jsxs)("div",{className:"flex justify-between",children:[(0,b.jsx)("span",{className:"text-[var(--muted-foreground)]",children:"Last Evolved"}),(0,b.jsx)("span",{className:"text-[var(--muted-foreground)]",children:ag(F.selfDerivedAt)})]})]})]}),V.length>0&&(0,b.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-2xl border border-[var(--border)] p-5",children:[(0,b.jsxs)("h3",{className:"text-[11px] font-black text-[var(--muted-foreground)] uppercase tracking-[0.2em] mb-4 flex items-center gap-2",children:[(0,b.jsx)(k.Users,{className:"w-3.5 h-3.5"})," Active Projects"]}),(0,b.jsx)("div",{className:"space-y-2",children:V.map(a=>(0,b.jsxs)("div",{className:"flex items-center justify-between p-2 hover:bg-[var(--app-shell-subtle)] rounded-lg transition-colors group cursor-pointer",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("div",{className:"w-8 h-8 rounded-lg bg-[var(--muted)] flex items-center justify-center text-xs font-bold text-[var(--muted-foreground)] group-hover:bg-[var(--card-bg)] group-hover:shadow-sm",children:a.name[0]}),(0,b.jsx)("span",{className:"text-sm font-medium text-[var(--foreground)]",children:a.name})]}),(0,b.jsxs)("span",{className:"text-xs text-[var(--muted-foreground)]",children:[a.agents.length," agent",1!==a.agents.length?"s":""]})]},a.id))})]})]})]}),(0,b.jsxs)("div",{className:"lg:col-span-8 space-y-6",children:[(0,b.jsx)("div",{className:"bg-[var(--card-bg)] p-1 rounded-2xl border border-[var(--border)] flex shadow-sm",children:[{key:"inspect",label:"Inspect",icon:u.ShieldCheck},{key:"feed",label:"Feed",icon:m.MessageSquare},{key:"reflections",label:"Reflections",icon:o.Sparkles}].map(a=>(0,b.jsxs)("button",{onClick:()=>O(a.key),className:`flex-1 flex items-center justify-center gap-2 py-3 rounded-xl text-sm font-bold transition-all ${N===a.key?"bg-[var(--foreground)] text-[var(--background)] shadow-lg shadow-black/5":"text-[var(--muted-foreground)] hover:text-[var(--foreground)]"}`,children:[(0,b.jsx)(a.icon,{className:"w-4 h-4"}),a.label]},a.key))}),(0,b.jsxs)("div",{className:"min-h-[600px]",children:["inspect"===N&&(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"grid grid-cols-1 xl:grid-cols-2 gap-4",children:[(0,b.jsxs)("section",{className:"bg-[var(--card-bg)] rounded-3xl border border-[var(--border)] p-6 shadow-sm",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,b.jsxs)("h2",{className:"text-xs font-black text-[var(--muted-foreground)] uppercase tracking-[0.2em] flex items-center gap-2",children:[(0,b.jsx)(n.BookOpen,{className:"w-4 h-4"})," Identity"]}),(0,b.jsx)("span",{className:"text-[10px] font-black uppercase px-2 py-0.5 rounded bg-emerald-50 text-emerald-700",children:"Human-authored"})]}),(0,b.jsx)("p",{className:"text-sm text-[var(--muted-foreground)] leading-relaxed",children:"Canonical self-definition. The system can read this, but should not edit it."}),(0,b.jsxs)("div",{className:"mt-4 grid grid-cols-1 md:grid-cols-2 gap-3 text-xs",children:[(0,b.jsxs)("div",{className:"rounded-2xl bg-[var(--app-shell-subtle)] border border-[var(--border)] p-3",children:[(0,b.jsx)("div",{className:"text-[10px] font-black uppercase tracking-wider text-[var(--muted-foreground)]",children:"Voice"}),(0,b.jsx)("p",{className:"mt-1 text-[var(--foreground)]",children:String(F?.identity?.voice??"Not set")})]}),(0,b.jsxs)("div",{className:"rounded-2xl bg-[var(--app-shell-subtle)] border border-[var(--border)] p-3",children:[(0,b.jsx)("div",{className:"text-[10px] font-black uppercase tracking-wider text-[var(--muted-foreground)]",children:"Seed"}),(0,b.jsx)("p",{className:"mt-1 text-[var(--foreground)]",children:String(F?.identity?.seed??"Not set")})]})]}),aa?.identity.sources?.length?(0,b.jsxs)("div",{className:"mt-4",children:[(0,b.jsx)("div",{className:"text-[10px] font-black uppercase tracking-wider text-[var(--muted-foreground)] mb-2",children:"Sources"}),(0,b.jsx)("div",{className:"flex flex-wrap gap-2",children:aa.identity.sources.map(a=>(0,b.jsx)("span",{className:"px-2 py-1 rounded-full bg-[var(--muted)] text-[11px] font-medium text-[var(--muted-foreground)]",children:a},a))})]}):null]}),(0,b.jsxs)("section",{className:"bg-[var(--card-bg)] rounded-3xl border border-amber-100 ring-1 ring-amber-200 p-6 shadow-sm",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,b.jsxs)("h2",{className:"text-xs font-black text-[var(--muted-foreground)] uppercase tracking-[0.2em] flex items-center gap-2",children:[(0,b.jsx)(o.Sparkles,{className:"w-4 h-4"})," Self-Model"]}),(0,b.jsx)("span",{className:"text-[10px] font-black uppercase px-2 py-0.5 rounded bg-amber-100 text-amber-700",children:"System-derived"})]}),(0,b.jsx)("p",{className:"text-sm text-[var(--muted-foreground)] leading-relaxed",children:"Reflective specialization model: how this agent currently understands its fit, strengths, and direction."}),X?(0,b.jsx)("div",{className:"mt-4 text-sm text-[var(--foreground)] leading-relaxed prose prose-sm prose-slate max-w-none",children:(0,b.jsx)(B.Markdown,{content:X})}):(0,b.jsx)("p",{className:"mt-4 text-sm text-[var(--muted-foreground)]",children:"No self-model yet."}),(0,b.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2",children:[F?.selfVersion?(0,b.jsxs)("span",{className:"px-2 py-1 rounded-full bg-amber-50 text-[11px] font-medium text-amber-700",children:["v",F.selfVersion]}):null,F?.selfDerivedAt?(0,b.jsx)("span",{className:"px-2 py-1 rounded-full bg-[var(--muted)] text-[11px] font-medium text-[var(--muted-foreground)]",children:ag(F.selfDerivedAt)}):null,aa?.selfModel.sources?.map(a=>(0,b.jsx)("span",{className:"px-2 py-1 rounded-full bg-[var(--muted)] text-[11px] font-medium text-[var(--muted-foreground)]",children:a},a))]})]})]}),(0,b.jsxs)("section",{className:"bg-[var(--card-bg)] rounded-3xl border border-[var(--border)] p-6 shadow-sm",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,b.jsxs)("h2",{className:"text-xs font-black text-[var(--muted-foreground)] uppercase tracking-[0.2em] flex items-center gap-2",children:[(0,b.jsx)(i.BrainCircuit,{className:"w-4 h-4"})," Agent Knowledge"]}),(0,b.jsxs)("span",{className:"text-xs text-[var(--muted-foreground)]",children:[ab.length+ac.length," items"]})]}),(0,b.jsxs)("div",{className:"grid grid-cols-1 xl:grid-cols-2 gap-6",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,b.jsx)("div",{className:"text-[10px] font-black uppercase tracking-wider text-[var(--muted-foreground)]",children:"Portable Knowledge"}),(0,b.jsx)("span",{className:"text-[10px] text-[var(--muted-foreground)]",children:"Human-authored"})]}),0===ab.length?(0,b.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"No portable knowledge attached."}):(0,b.jsx)("div",{className:"space-y-2",children:ab.map(a=>(0,b.jsxs)("div",{className:"rounded-2xl border border-[var(--border)] bg-[var(--app-shell-subtle)] p-3",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsx)("span",{className:"font-mono text-xs text-[var(--foreground)] truncate",title:a.file,children:a.file}),(0,b.jsx)("span",{className:"text-[10px] font-medium text-[var(--muted-foreground)] shrink-0",children:a.form})]}),a.condition?(0,b.jsxs)("p",{className:"mt-2 text-xs text-[var(--muted-foreground)]",children:["Use when: ",a.condition]}):null]},`${a.file}:${a.condition}`))})]}),(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,b.jsx)("div",{className:"text-[10px] font-black uppercase tracking-wider text-[var(--muted-foreground)]",children:"Derived Knowledge Candidates"}),(0,b.jsx)("span",{className:"text-[10px] text-[var(--muted-foreground)]",children:"System-derived"})]}),0===ac.length?(0,b.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"No extracted learnings yet."}):(0,b.jsx)("div",{className:"space-y-2",children:ac.map(a=>(0,b.jsxs)("div",{className:"rounded-2xl border border-[var(--border)] bg-[var(--app-shell-subtle)] p-3",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsx)("span",{className:"text-[10px] font-black uppercase tracking-wider text-[var(--muted-foreground)]",children:a.type}),(0,b.jsx)("span",{className:"text-[10px] text-[var(--muted-foreground)]",children:ag(a.createdAt)})]}),(0,b.jsx)("p",{className:"mt-2 text-sm text-[var(--foreground)] leading-relaxed",children:a.content}),(0,b.jsxs)("div",{className:"mt-2 text-[10px] text-[var(--muted-foreground)] font-mono",children:["task ",a.taskId]})]},a.id))})]})]})]}),(0,b.jsxs)("section",{className:"bg-[var(--card-bg)] rounded-3xl border border-[var(--border)] p-6 shadow-sm",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,b.jsxs)("h2",{className:"text-xs font-black text-[var(--muted-foreground)] uppercase tracking-[0.2em] flex items-center gap-2",children:[(0,b.jsx)(g,{className:"w-4 h-4"})," Evidence"]}),(0,b.jsx)("span",{className:"text-[10px] font-black uppercase px-2 py-0.5 rounded bg-[var(--muted)] text-[var(--muted-foreground)]",children:"Non-canonical"})]}),(0,b.jsx)("p",{className:"text-sm text-[var(--muted-foreground)] leading-relaxed mb-4",children:"Raw and semi-structured traces that support reflection and learning. These should be inspectable, but not treated as canonical truth."}),(0,b.jsx)("div",{className:"grid grid-cols-2 xl:grid-cols-4 gap-3",children:[{label:"Journal",value:ad?.journalEntries??$.length},{label:"Activity",value:ad?.activityEvents??F?.activity?.length??0},{label:"Reactions",value:ad?.reactions??0},{label:"Comments",value:ad?.comments??0}].map(a=>(0,b.jsxs)("div",{className:"rounded-2xl bg-[var(--app-shell-subtle)] border border-[var(--border)] p-4",children:[(0,b.jsx)("div",{className:"text-lg font-bold text-[var(--foreground)]",children:a.value}),(0,b.jsx)("div",{className:"text-[10px] font-black uppercase tracking-wider text-[var(--muted-foreground)]",children:a.label})]},a.label))})]})]}),"feed"===N&&(0,b.jsxs)("div",{className:"space-y-4",children:[X||Z||F?.identity?.seed?(0,b.jsx)("div",{className:"bg-[var(--card-bg)] rounded-3xl border border-[var(--border)] p-6 shadow-sm",children:X?(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,b.jsxs)("h2",{className:"text-xs font-black text-[var(--muted-foreground)] uppercase tracking-[0.2em] flex items-center gap-2",children:[(0,b.jsx)(s,{className:"w-4 h-4"})," Self-Model"]}),F?.selfDerivedAt&&(0,b.jsxs)("span",{className:"text-[10px] text-[var(--muted-foreground)] flex items-center gap-1",children:[(0,b.jsx)(p.RefreshCw,{className:"w-3 h-3"}),"v",F.selfVersion," — ",ag(F.selfDerivedAt)]})]}),(0,b.jsx)("div",{className:"text-sm text-[var(--foreground)] leading-relaxed prose prose-sm prose-slate max-w-none",children:(0,b.jsx)(B.Markdown,{content:X})})]}):Z?(0,b.jsxs)("div",{children:[(0,b.jsxs)("h2",{className:"text-xs font-black text-[var(--muted-foreground)] uppercase tracking-[0.2em] flex items-center gap-2 mb-4",children:[(0,b.jsx)(s,{className:"w-4 h-4"})," Identity"]}),(0,b.jsx)("div",{className:"text-sm text-[var(--foreground)] leading-relaxed prose prose-sm prose-slate max-w-none",children:(0,b.jsx)(B.Markdown,{content:Z})})]}):F?.identity?.seed?(0,b.jsxs)("div",{children:[(0,b.jsxs)("h2",{className:"text-xs font-black text-[var(--muted-foreground)] uppercase tracking-[0.2em] flex items-center gap-2 mb-4",children:[(0,b.jsx)(s,{className:"w-4 h-4"})," Identity Seed"]}),(0,b.jsxs)("p",{className:"text-sm text-[var(--muted-foreground)] italic border-l-4 pl-4",style:{borderColor:U},children:["“",String(F.identity.seed),"”"]})]}):null}):null,(0,b.jsxs)("div",{className:"flex items-center justify-between px-2",children:[(0,b.jsxs)("h2",{className:"text-xs font-black text-[var(--muted-foreground)] uppercase tracking-[0.2em] flex items-center gap-2",children:[(0,b.jsx)(m.MessageSquare,{className:"w-4 h-4"})," Messages"]}),(0,b.jsxs)("span",{className:"text-xs text-[var(--muted-foreground)]",children:[ae.length," messages"]})]}),0===ae.length?(0,b.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-3xl border border-[var(--border)] p-12 text-center",children:[(0,b.jsx)(m.MessageSquare,{size:32,className:"mx-auto mb-3 text-[var(--muted-foreground)]"}),(0,b.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"No messages yet"}),(0,b.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] mt-1",children:"Messages will appear here as this agent participates in threads"})]}):ae.map(a=>{var c;let d=a.prevContent?(0,A.stripMarkers)(a.prevContent):null,g=(a=>{if(!a)return"You";let b=af.get(a);return b?.name??a})(a.prevParticipantId),h=(c=a.prevParticipantId)?af.get(c)?.color??"#94a3b8":"#6366f1",i=a.threadTitle?(0,A.stripMarkers)(a.threadTitle):null;return(0,b.jsx)("article",{className:"bg-[var(--card-bg)] rounded-3xl border border-[var(--border)] p-6 hover:shadow-xl hover:shadow-black/5 transition-all group",children:(0,b.jsxs)("div",{className:"flex items-start gap-4",children:[(0,b.jsx)("img",{src:(0,y.agentAvatarUrl)(f.id,40,f.color),alt:"",className:"w-10 h-10 rounded-2xl shrink-0 mt-0.5 shadow-sm"}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)("div",{className:"flex items-center justify-between mb-1",children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"font-bold text-[var(--foreground)]",children:f.name}),(0,b.jsxs)("span",{className:"text-xs text-[var(--muted-foreground)]",children:["• ",ag(a.timestamp)]})]})}),a.rootMessageId&&i&&(0,b.jsxs)(e.default,{href:`/thread/${a.threadId}`,className:"inline-flex items-center gap-1.5 mb-3 px-2.5 py-1 rounded-lg bg-[var(--app-shell-subtle)] border border-[var(--border)] hover:border-[var(--border)] hover:bg-[var(--muted)] transition-colors text-[11px] font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] group/thread",children:[(0,b.jsx)(l.Hash,{className:"w-3 h-3 text-[var(--muted-foreground)] group-hover/thread:text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"truncate max-w-[300px]",children:i}),(0,b.jsx)(q.ChevronRight,{className:"w-3 h-3 text-[var(--muted-foreground)] group-hover/thread:text-[var(--muted-foreground)]"})]}),d&&(0,b.jsxs)("div",{className:"mb-3 flex items-start gap-2 pl-1",children:[(0,b.jsx)(v,{className:"w-3.5 h-3.5 text-[var(--muted-foreground)] shrink-0 mt-1"}),(0,b.jsxs)("div",{className:"flex-1 min-w-0 p-2.5 rounded-xl bg-[var(--app-shell-subtle)] border border-[var(--border)]",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5 mb-1",children:[a.prevParticipantId&&(0,b.jsx)("img",{src:(0,y.agentAvatarUrl)(a.prevParticipantId,16,h),alt:"",className:"w-4 h-4 rounded"}),(0,b.jsx)("span",{className:"text-[10px] font-bold",style:{color:h},children:g})]}),(0,b.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] leading-relaxed line-clamp-2",children:d})]})]}),(0,b.jsx)("div",{className:"text-sm text-[var(--foreground)]",children:(0,b.jsx)(B.Markdown,{content:a.content})}),(0,b.jsxs)("div",{className:"mt-3 flex items-center gap-1.5 text-[10px] text-[var(--muted-foreground)] font-medium",children:[(0,b.jsx)(r.Clock,{className:"w-3 h-3"}),ah(a.timestamp)]})]})]})},a.id)})]}),"reflections"===N&&(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-2",children:[(0,b.jsxs)("h2",{className:"text-xs font-black text-[var(--muted-foreground)] uppercase tracking-[0.2em] flex items-center gap-2",children:[(0,b.jsx)(n.BookOpen,{className:"w-4 h-4"})," Journal Reflections"]}),(0,b.jsxs)("span",{className:"text-xs text-[var(--muted-foreground)]",children:[_.length," reflections"]})]}),0===_.length?(0,b.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-3xl border border-[var(--border)] p-12 text-center",children:[(0,b.jsx)(o.Sparkles,{size:32,className:"mx-auto mb-3 text-[var(--muted-foreground)]"}),(0,b.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"No reflections yet"}),(0,b.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] mt-1",children:"Reflections will appear as this agent evolves its self-model"})]}):_.map((a,c)=>{let d=a.body?(0,A.stripMarkers)(a.body):"";return(0,b.jsx)("article",{className:"bg-[var(--card-bg)] rounded-3xl border border-amber-100 ring-1 ring-amber-200 p-6 hover:shadow-xl hover:shadow-black/5 transition-all group",children:(0,b.jsxs)("div",{className:"flex items-start gap-4",children:[(0,b.jsxs)("div",{className:"relative shrink-0",children:[(0,b.jsx)("img",{alt:"",className:"w-10 h-10 rounded-2xl shadow-sm",src:(0,y.agentAvatarUrl)(f.id,40,f.color)}),(0,b.jsx)("div",{className:"absolute -top-1 -right-1 w-4 h-4 rounded-full flex items-center justify-center border-2 border-[var(--card-bg)]",style:{backgroundColor:U},children:(0,b.jsx)(o.Sparkles,{className:"w-2 h-2 text-white"})})]}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"font-bold text-[var(--foreground)]",children:f.name}),(0,b.jsx)("span",{className:"text-[10px] font-black uppercase px-2 py-0.5 rounded bg-amber-100 text-amber-700",children:"reflection"}),(0,b.jsxs)("span",{className:"text-xs text-[var(--muted-foreground)]",children:["• ",ag(a.t)]})]}),a.selfVersion&&(0,b.jsxs)("span",{className:"text-[10px] text-[var(--muted-foreground)] font-mono",children:["v",a.selfVersion]})]}),a.observation&&(0,b.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] mb-3",children:a.observation}),d&&(0,b.jsx)("div",{className:"text-sm text-[var(--foreground)] leading-relaxed prose prose-sm prose-slate max-w-none",children:(0,b.jsx)(B.Markdown,{content:d})}),(a.judgement||a.delta||a.intent)&&(0,b.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3 mt-4 pt-4 border-t border-[var(--border)] group-hover:border-[var(--border)] transition-colors",children:[a.judgement&&(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("div",{className:"text-[10px] font-black text-[var(--muted-foreground)] uppercase tracking-wider",children:"Judgment"}),(0,b.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] leading-relaxed",children:a.judgement})]}),a.delta&&(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("div",{className:"text-[10px] font-black text-[var(--muted-foreground)] uppercase tracking-wider",children:"Delta"}),(0,b.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] leading-relaxed",children:a.delta})]}),a.intent&&(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("div",{className:"text-[10px] font-black text-[var(--muted-foreground)] uppercase tracking-wider",children:"Intent"}),(0,b.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] leading-relaxed",children:a.intent})]})]}),(0,b.jsxs)("div",{className:"mt-4 flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5 text-[10px] text-[var(--muted-foreground)] font-medium",children:[(0,b.jsx)(r.Clock,{className:"w-3 h-3"}),ah(a.t)]}),a.thread&&(0,b.jsxs)("span",{className:"text-[10px] text-[var(--muted-foreground)] font-mono flex items-center gap-1",children:[(0,b.jsx)(l.Hash,{className:"w-3 h-3"}),a.thread.substring(0,12),"..."]})]})]})]})},a.id??c)})]})]})]})]}),P&&(0,b.jsx)(y.AgentForm,{title:"Edit agent",initial:{name:f.name,provider:f.provider,model:f.model||"",identity:f.identity||"",color:f.color,skills:f.skills||[]},agentId:f.id,submitLabel:"Save",onSubmit:async a=>{await fetch("/api/participants",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:f.id,name:a.name,provider:a.provider,model:a.model,color:a.color,...a.identity?{identity:a.identity}:{},skills:a.skills??[]})}),C({...f,name:a.name,provider:a.provider,model:a.model,identity:a.identity,color:a.color??f.color,skills:a.skills??[]}),Q(!1)},onCancel:()=>Q(!1)})]})}a.s(["default",()=>C],88204)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=app_agents_%5Bid%5D_page_tsx_9c49d8c8._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[84712,a=>{"use strict";var b=a.i(90944),c=a.i(72131),d=a.i(38246),e=a.i(210),f=a.i(5784),g=a.i(50522),h=a.i(5151),i=a.i(33441),j=a.i(84505),k=a.i(60137);let l=(0,k.default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);var m=a.i(2835),n=a.i(99464),o=a.i(15618);let p=(0,k.default)("share-2",[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]]),q=(0,k.default)("upload",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]]);var r=a.i(60246),s=a.i(33508),t=a.i(56196),u=a.i(20138),v=a.i(89116);function w(a){return a?a.projects??[]:[]}function x(){let[a,k]=(0,c.useState)([]),[x,y]=(0,c.useState)([]),{projects:z,createProject:A,addAgent:B,removeAgent:C,refresh:D}=(0,t.useProjectsWithAgents)(),[E,F]=(0,c.useState)(new Set),[G,H]=(0,c.useState)(null),[I,J]=(0,c.useState)(new Set),[K,L]=(0,c.useState)(!1),[M,N]=(0,c.useState)(null),[O,P]=(0,c.useState)(!1),[Q,R]=(0,c.useState)(new Set),[S,T]=(0,c.useState)(!0),[U,V]=(0,c.useState)(!1),[W,X]=(0,c.useState)(null),[Y,Z]=(0,c.useState)(null),[$,_]=(0,c.useState)(!1),[aa,ab]=(0,c.useState)(!1),[ac,ad]=(0,c.useState)("choice"),[ae,af]=(0,c.useState)(""),[ag,ah]=(0,c.useState)(!1),[ai,aj]=(0,c.useState)(null),[ak,al]=(0,c.useState)(new Set),[am,an]=(0,c.useState)(new Set),[ao,ap]=(0,c.useState)(!1),[aq,ar]=(0,c.useState)(null),as=(0,c.useRef)(null),[at,au]=(0,c.useState)(new Set),av=()=>{fetch("/api/participants").then(a=>a.json()).then(a=>k(Array.isArray(a)?a:[]))},aw=(0,c.useCallback)(async()=>{try{let a=await fetch("/api/processes");if(!a.ok)return;let b=await a.json();au(new Set(b.filter(a=>"spawning"===a.state||"running"===a.state).map(a=>a.agentId)))}catch{}},[]);(0,c.useEffect)(()=>{av(),v.threadService.listThreads().then(y),aw();let a=setInterval(aw,3e3);return()=>clearInterval(a)},[aw]);let ax=new Map(x.map(a=>[a.id,a])),ay=z.filter(a=>!a.is_default),az=async()=>{if(0!==Q.size){V(!0);try{let a=await fetch("/api/agent-specs",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentIds:Array.from(Q),includeSelf:S})});if(!a.ok)throw Error("Share failed");let b=await a.json();X(b.code),Z(b.expires_at)}catch(a){console.error("Share error:",a)}finally{V(!1)}}},aA=async()=>{if(0!==Q.size){V(!0);try{let a=Array.from(Q),b=await fetch("/api/agents/export",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentIds:a})});if(!b.ok)throw Error("Export failed");let c=(await b.json()).agents.map(a=>({...a,self:S?a.self:null})),d={version:1,exportedAt:new Date().toISOString(),agents:c,projects:[]},e=new Blob([JSON.stringify(d,null,2)],{type:"application/json"}),f=URL.createObjectURL(e),g=document.createElement("a");g.href=f,g.download=1===c.length?`${c[0].name.toLowerCase().replace(/\s+/g,"-")}.agent.json`:"agents.bundle.json",g.click(),URL.revokeObjectURL(f),P(!1)}catch(a){console.error("Export error:",a)}finally{V(!1)}}},aB=async()=>{if(0!==ae.trim().length){ah(!0),ar(null),aj(null);try{let a=await fetch(`/api/agent-specs/pull?code=${encodeURIComponent(ae.trim())}`);if(!a.ok){let b=await a.json().catch(()=>({error:"Failed to pull"}));ar(b.error||"Code not found or expired");return}let b=(await a.json()).bundle;aj(b),al(new Set(b.agents.map(a=>a.id))),an(new Set(w(b).map(a=>a.name)))}catch{ar("Failed to connect. Is agx-api running?")}finally{ah(!1)}}},aC=async()=>{if(ai){ap(!0);try{let b=new Set(a.map(a=>a.id));for(let a of ai.agents){if(!ak.has(a.id))continue;let c={name:a.name,provider:a.provider,model:a.model,color:a.color,identity:a.identity||void 0,identityFile:a.identityFile||void 0,skills:a.skills||[],variables:a.variables||{}};b.has(a.id)?(c.id=a.id,await fetch("/api/participants",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)})):await fetch("/api/participants",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)})}for(let a of w(ai)){if(!am.has(a.name))continue;let b=await A(a.name);if(b)for(let c of a.agentIds)ak.has(c)&&await B(b.id,c)}av(),await D(),ab(!1),aj(null)}catch(a){console.error("Import error:",a),ar("Import failed. Check console for details.")}finally{ap(!1)}}},aD=G?z.find(a=>a.id===G.projectId):null,aE=new Set(aD?.agents.map(a=>a.agent_id)??[]),aF=G?a.filter(a=>!aE.has(a.id)):[],aG=({checked:a})=>(0,b.jsx)("div",{className:`w-4 h-4 rounded border flex-shrink-0 flex items-center justify-center ${a?"bg-slate-900 border-slate-900":"border-slate-300"}`,children:a&&(0,b.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",children:(0,b.jsx)("path",{d:"M2 5l2 2 4-4",stroke:"white",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})});return(0,b.jsxs)("div",{className:"min-h-screen bg-slate-50 p-6",children:[(0,b.jsxs)("div",{className:"max-w-6xl mx-auto",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3 mb-6",children:[(0,b.jsxs)(d.default,{href:"/",className:"inline-flex items-center gap-1 text-sm text-slate-500 hover:text-slate-700 transition-colors",children:[(0,b.jsx)(e.ArrowLeft,{size:16}),"Back"]}),(0,b.jsx)("h1",{className:"text-2xl font-semibold text-slate-900",children:"Manage Agents"}),(0,b.jsxs)("div",{className:"ml-auto flex items-center gap-2",children:[(0,b.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium text-white bg-slate-900 rounded-lg hover:bg-slate-800 transition-colors",onClick:()=>L(!0),children:[(0,b.jsx)(o.Plus,{size:13}),"New Agent"]}),(0,b.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium text-white bg-violet-600 rounded-lg hover:bg-violet-700 transition-colors",onClick:()=>{R(new Set(a.map(a=>a.id))),T(!0),X(null),Z(null),_(!1),P(!0)},disabled:0===a.length,children:[(0,b.jsx)(p,{size:13}),"Share"]}),(0,b.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium text-violet-600 bg-violet-50 border border-violet-200 rounded-lg hover:bg-violet-100 transition-colors",onClick:()=>{ad("choice"),af(""),aj(null),al(new Set),an(new Set),ar(null),ab(!0)},children:[(0,b.jsx)(j.Download,{size:13}),"Import"]}),(0,b.jsx)("input",{ref:as,type:"file",accept:".json",className:"hidden",onChange:a=>{let b=a.target.files?.[0];if(!b)return;ar(null);let c=new FileReader;c.onload=()=>{try{let a=JSON.parse(c.result);if(!a.version||!Array.isArray(a.agents))throw Error("Invalid bundle format");aj(a),al(new Set(a.agents.map(a=>a.id))),an(new Set(w(a).map(a=>a.name)))}catch{ar("Invalid file. Expected an .agent.json bundle.")}},c.readAsText(b),a.target.value=""}})]})]}),aq&&!aa&&(0,b.jsxs)("div",{className:"mb-4 px-4 py-3 rounded-lg bg-red-50 border border-red-200 text-sm text-red-700 flex items-center justify-between",children:[(0,b.jsx)("span",{children:aq}),(0,b.jsx)("button",{type:"button",onClick:()=>ar(null),className:"text-red-400 hover:text-red-600",children:(0,b.jsx)(s.X,{size:14})})]}),0===a.length?(0,b.jsx)("p",{className:"text-slate-500 text-sm",children:"No agents configured yet."}):(0,b.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4",children:a.map(a=>(0,b.jsxs)("div",{className:"bg-white rounded-xl border border-slate-200 p-4 hover:shadow-md transition-shadow text-left group",children:[(0,b.jsxs)("div",{className:"flex items-start gap-3 mb-3",children:[(0,b.jsx)("img",{src:(0,u.agentAvatarUrl)(a.id,48,a.color),alt:a.name,className:"w-12 h-12 rounded-full bg-slate-100"}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("h3",{className:"font-medium text-slate-900 truncate",children:a.name}),(0,b.jsx)("p",{className:"text-xs text-slate-400 truncate mt-0.5",children:a.model}),at.has(a.id)&&(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 mt-1 text-[10px] font-medium text-emerald-600",children:[(0,b.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-emerald-500 animate-pulse"}),"Working"]})]})]}),a.skills&&a.skills.length>0&&(0,b.jsxs)("div",{className:"flex flex-wrap gap-1 mb-3",children:[a.skills.slice(0,3).map((a,c)=>(0,b.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-blue-50 text-blue-600 truncate max-w-[120px]",children:a.file.split("/").pop()},c)),a.skills.length>3&&(0,b.jsxs)("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-slate-50 text-slate-400",children:["+",a.skills.length-3]})]}),(0,b.jsxs)("div",{className:"flex items-center justify-between pt-2 border-t border-slate-100",children:[(0,b.jsx)("span",{className:"text-[10px] font-medium px-1.5 py-0.5 rounded-full bg-slate-100 text-slate-600 uppercase tracking-wide",children:a.provider}),(0,b.jsxs)("div",{className:"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity",children:[(0,b.jsx)("button",{type:"button",title:"Edit",onClick:()=>N(a),className:"p-1.5 text-slate-400 hover:text-slate-600 rounded hover:bg-slate-50 transition-colors",children:(0,b.jsx)(n.Pencil,{size:13})}),(0,b.jsx)(d.default,{href:`/agents/${a.id}`,title:"View profile",className:"p-1.5 text-slate-400 hover:text-slate-600 rounded hover:bg-slate-50 transition-colors",children:(0,b.jsx)(l,{size:13})})]})]})]},a.id))}),(0,b.jsxs)("div",{className:"mt-10",children:[(0,b.jsxs)("div",{className:"mb-4",children:[(0,b.jsx)("h2",{className:"text-lg font-semibold text-slate-900",children:"Project assignments"}),(0,b.jsx)("p",{className:"mt-1 text-sm text-slate-400",children:"Assign agents to existing projects."})]}),0===ay.length?(0,b.jsx)("p",{className:"text-sm text-slate-400",children:"No projects available for assignment."}):(0,b.jsx)("div",{className:"bg-white rounded-xl border border-slate-200 divide-y divide-slate-100",children:ay.map(c=>{let d=E.has(c.id),e=(c.thread_ids??[]).map(a=>ax.get(a)?.title?.trim()||"Untitled").filter(Boolean);return(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex items-center gap-3 px-5 py-3.5 group",children:[(0,b.jsxs)("button",{type:"button",className:"flex items-center gap-3 flex-1 min-w-0 text-left",onClick:()=>{var a;return a=c.id,void F(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},children:[d?(0,b.jsx)(f.ChevronDown,{size:16,className:"text-slate-400 flex-shrink-0"}):(0,b.jsx)(g.ChevronRight,{size:16,className:"text-slate-400 flex-shrink-0"}),(0,b.jsx)(r.Users,{size:16,className:"text-slate-400 flex-shrink-0"}),(0,b.jsx)("span",{className:"font-medium text-slate-800 text-sm",children:c.name}),(0,b.jsxs)("span",{className:"text-xs text-slate-400",children:[c.agents.length," ",1===c.agents.length?"agent":"agents",e.length>0&&` \xb7 ${e.length} ${1===e.length?"thread":"threads"}`]})]}),(0,b.jsx)("div",{className:"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity",children:(0,b.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 rounded-lg border border-slate-200 px-2.5 py-1.5 text-xs font-medium text-slate-600 transition-colors hover:bg-slate-50 hover:text-slate-900",title:"Add agents",onClick:()=>{J(new Set),H({projectId:c.id})},children:[(0,b.jsx)(o.Plus,{size:14}),"Add agents"]})})]}),d&&(0,b.jsxs)("div",{className:"px-5 pb-4 pt-1 ml-9 flex flex-col gap-1",children:[0===c.agents.length&&(0,b.jsx)("p",{className:"text-xs text-slate-400 py-1",children:"No agents in this project."}),c.agents.map(d=>{let e=a.find(a=>a.id===d.agent_id);return(0,b.jsxs)("div",{className:"flex items-center gap-2.5 py-1.5 group/agent",children:[(0,b.jsx)("img",{src:(0,u.agentAvatarUrl)(d.agent_id,24,e?.color),alt:"",className:"w-6 h-6 rounded-full flex-shrink-0"}),(0,b.jsx)("span",{className:"text-sm text-slate-700 truncate flex-1",children:e?.name??d.agent_id}),(0,b.jsx)("span",{className:"text-[10px] text-slate-400",children:e?.model}),(0,b.jsx)("button",{type:"button",className:"opacity-0 group-hover/agent:opacity-100 text-slate-400 hover:text-red-500 transition-opacity",onClick:()=>void C(c.id,d.agent_id),title:"Remove from project",children:(0,b.jsx)(s.X,{size:14})})]},d.agent_id)}),(0,b.jsxs)("button",{type:"button",className:"mt-2 inline-flex items-center gap-1.5 self-start rounded-lg border border-slate-200 px-2.5 py-1.5 text-xs font-medium text-slate-600 transition-colors hover:bg-slate-50 hover:text-slate-900",onClick:()=>{J(new Set),H({projectId:c.id})},children:[(0,b.jsx)(o.Plus,{size:12}),"Add agents"]}),e.length>0&&(0,b.jsxs)("div",{className:"mt-2 pt-2 border-t border-slate-100",children:[(0,b.jsx)("p",{className:"text-[10px] font-medium text-slate-400 uppercase tracking-wide mb-1",children:"Threads"}),(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5",children:e.map((a,c)=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs px-2 py-1 rounded-md bg-indigo-50 text-indigo-600",children:[(0,b.jsx)(m.Hash,{size:11}),a]},c))})]})]})]},c.id)})})]})]}),O&&(0,b.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>P(!1),children:(0,b.jsxs)("div",{className:"bg-white rounded-xl shadow-xl border border-slate-200 w-[440px] max-h-[80vh] flex flex-col",onClick:a=>a.stopPropagation(),children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-5 py-3.5 border-b border-slate-100",children:[(0,b.jsx)("h3",{className:"text-sm font-medium text-slate-900",children:"Share Agents"}),(0,b.jsx)("button",{type:"button",className:"text-slate-400 hover:text-slate-600",onClick:()=>P(!1),children:(0,b.jsx)(s.X,{size:16})})]}),W?(0,b.jsxs)("div",{className:"px-5 py-6 flex flex-col items-center gap-4",children:[(0,b.jsxs)("div",{className:"text-center",children:[(0,b.jsx)("p",{className:"text-sm text-slate-600 mb-3",children:"Share this code with the recipient:"}),(0,b.jsxs)("div",{className:"flex items-center justify-center gap-3",children:[(0,b.jsx)("span",{className:"text-3xl font-mono font-bold tracking-[0.3em] text-slate-900",children:W}),(0,b.jsx)("button",{type:"button",className:"p-2 text-slate-400 hover:text-slate-600 transition-colors",onClick:()=>{W&&(navigator.clipboard.writeText(W),_(!0),setTimeout(()=>_(!1),2e3))},children:$?(0,b.jsx)(i.Check,{size:18,className:"text-green-500"}):(0,b.jsx)(h.Copy,{size:18})})]})]}),Y&&(0,b.jsxs)("p",{className:"text-[11px] text-slate-400",children:["Expires ",new Date(Y).toLocaleTimeString()]}),(0,b.jsx)("button",{type:"button",className:"px-4 py-2 text-xs font-medium text-slate-600 bg-slate-100 rounded-lg hover:bg-slate-200 transition-colors",onClick:()=>P(!1),children:"Done"})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"overflow-y-auto flex-1",children:[ay.length>0&&(0,b.jsxs)("div",{className:"border-b border-slate-100 px-5 py-3",children:[(0,b.jsx)("p",{className:"text-[11px] font-medium text-slate-400 uppercase tracking-wide mb-2",children:"Select by project"}),(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5",children:ay.map(c=>{let d=c.agents.map(a=>a.agent_id),e=d.length>0&&d.every(a=>Q.has(a)),f=d.some(a=>Q.has(a));return(0,b.jsxs)("button",{type:"button",className:`inline-flex items-center gap-1.5 px-2.5 py-1 rounded-full text-[11px] font-medium transition-colors ${e?"bg-slate-900 text-white":f?"bg-slate-300 text-slate-700":"bg-slate-100 text-slate-600 hover:bg-slate-200"}`,onClick:()=>{R(a=>{let b=new Set(a);return e?d.forEach(a=>b.delete(a)):d.forEach(a=>b.add(a)),b})},title:d.map(b=>a.find(a=>a.id===b)?.name??b).join(", "),children:[(0,b.jsx)(r.Users,{size:10}),c.name,(0,b.jsx)("span",{className:`text-[10px] ${e?"text-slate-300":"text-slate-400"}`,children:c.agents.length})]},c.id)})})]}),(0,b.jsxs)("div",{className:"border-b border-slate-100",children:[(0,b.jsxs)("div",{className:"px-5 pt-3 pb-1 flex items-center justify-between",children:[(0,b.jsx)("p",{className:"text-[11px] font-medium text-slate-400 uppercase tracking-wide",children:"Agents"}),(0,b.jsx)("button",{type:"button",className:"text-[11px] text-slate-400 hover:text-slate-600",onClick:()=>{Q.size===a.length?R(new Set):R(new Set(a.map(a=>a.id)))},children:Q.size===a.length?"Deselect all":"Select all"})]}),a.map(a=>{let c=Q.has(a.id);return(0,b.jsxs)("button",{type:"button",className:`w-full flex items-center gap-3 px-5 py-2 text-sm transition-colors ${c?"bg-slate-50 text-slate-900":"text-slate-600 hover:bg-slate-50"}`,onClick:()=>{R(b=>{let c=new Set(b);return c.has(a.id)?c.delete(a.id):c.add(a.id),c})},children:[(0,b.jsx)(aG,{checked:c}),(0,b.jsx)("img",{src:(0,u.agentAvatarUrl)(a.id,24,a.color),alt:"",className:"w-6 h-6 rounded-full flex-shrink-0"}),(0,b.jsx)("span",{className:"truncate text-xs font-medium flex-1",children:a.name}),(0,b.jsx)("span",{className:"text-[10px] text-slate-400",children:a.provider})]},a.id)})]}),(0,b.jsx)("div",{className:"px-5 py-3",children:(0,b.jsxs)("button",{type:"button",className:`flex items-center gap-3 w-full px-3 py-2 rounded-lg text-sm transition-colors ${S?"bg-slate-50 text-slate-900":"text-slate-600 hover:bg-slate-50"}`,onClick:()=>T(!S),children:[(0,b.jsx)(aG,{checked:S}),(0,b.jsx)("span",{className:"text-xs font-medium",children:"Include self.md (agent bio)"})]})})]}),(0,b.jsxs)("div",{className:"px-5 py-3 border-t border-slate-100 flex items-center justify-between",children:[(0,b.jsxs)("span",{className:"text-[11px] text-slate-400",children:[Q.size," ",1===Q.size?"agent":"agents"]}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)("button",{type:"button",disabled:0===Q.size||U,className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium text-slate-600 bg-white border border-slate-200 rounded-lg hover:bg-slate-50 disabled:opacity-40 disabled:cursor-not-allowed transition-colors",onClick:()=>void aA(),children:[(0,b.jsx)(j.Download,{size:12}),U?"Exporting...":"Export to File"]}),(0,b.jsxs)("button",{type:"button",disabled:0===Q.size||U,className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium text-white bg-violet-600 rounded-lg hover:bg-violet-700 disabled:opacity-40 disabled:cursor-not-allowed transition-colors",onClick:()=>void az(),children:[(0,b.jsx)(p,{size:12}),U?"Pushing...":"Push to Hub"]}),(0,b.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs text-slate-500 hover:text-slate-700 transition-colors",onClick:()=>P(!1),children:"Cancel"})]})]})]})]})}),G&&!K&&(0,b.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>H(null),children:(0,b.jsxs)("div",{className:"bg-white rounded-xl shadow-xl border border-slate-200 w-80 max-h-[70vh] flex flex-col",onClick:a=>a.stopPropagation(),children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-slate-100",children:[(0,b.jsxs)("h3",{className:"text-sm font-medium text-slate-900",children:["Add to ",aD?.name??"project"]}),(0,b.jsx)("button",{type:"button",className:"text-slate-400 hover:text-slate-600",onClick:()=>H(null),children:(0,b.jsx)(s.X,{size:16})})]}),(0,b.jsxs)("div",{className:"overflow-y-auto py-1 flex-1",children:[(0,b.jsxs)("button",{type:"button",className:"w-full flex items-center gap-3 px-4 py-2.5 text-sm text-slate-700 hover:bg-slate-50 transition-colors border-b border-slate-100",onClick:()=>L(!0),children:[(0,b.jsx)(o.Plus,{size:14,className:"text-slate-400"}),(0,b.jsx)("span",{className:"text-xs font-medium",children:"Create new agent"})]}),0===aF.length?(0,b.jsx)("p",{className:"px-4 py-6 text-xs text-slate-400 text-center",children:"All agents are already in this project"}):aF.map(a=>{let c=I.has(a.id);return(0,b.jsxs)("button",{type:"button",className:`w-full flex items-center gap-3 px-4 py-2.5 text-sm transition-colors ${c?"bg-slate-100 text-slate-900":"text-slate-700 hover:bg-slate-50"}`,onClick:()=>{J(b=>{let c=new Set(b);return c.has(a.id)?c.delete(a.id):c.add(a.id),c})},children:[(0,b.jsx)(aG,{checked:c}),(0,b.jsx)("img",{src:(0,u.agentAvatarUrl)(a.id,24,a.color),alt:"",className:"w-6 h-6 rounded-full flex-shrink-0"}),(0,b.jsx)("div",{className:"min-w-0 flex-1 text-left",children:(0,b.jsx)("div",{className:"truncate font-medium text-xs",children:a.name})})]},a.id)})]}),aF.length>0&&(0,b.jsxs)("div",{className:"px-4 py-3 border-t border-slate-100 flex justify-end gap-2",children:[(0,b.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs text-slate-500 hover:text-slate-700 transition-colors",onClick:()=>H(null),children:"Cancel"}),(0,b.jsxs)("button",{type:"button",disabled:0===I.size,className:"px-3 py-1.5 text-xs font-medium text-white bg-slate-900 rounded-lg hover:bg-slate-800 disabled:opacity-40 disabled:cursor-not-allowed transition-colors",onClick:()=>{for(let a of I)B(G.projectId,a);H(null)},children:["Add ",I.size>0?`(${I.size})`:""]})]})]})}),K&&(0,b.jsx)(u.AgentForm,{title:"Create new agent",initial:{name:"",provider:"claude",model:"",identity:"",skills:[]},submitLabel:"Create",projects:ay.map(a=>{let b=(a.thread_ids??[]).map(a=>ax.get(a)?.title?.trim()).filter(Boolean).join(", ")||"No thread";return{id:a.id,name:a.name,label:`${b} › ${a.name}`}}),initialProjectIds:G?[G.projectId]:[],onSubmit:async(b,c)=>{let d=["#D97706","#2563EB","#059669","#DC2626","#7C3AED","#DB2777","#0891B2"],e=d[a.length%d.length],f=b.name.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,""),g=c?.[0],h=await fetch("/api/participants",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:f,name:b.name,provider:b.provider,model:b.model,color:b.color??e,...b.identity?{identity:b.identity}:{},skills:b.skills??[],...g?{projectId:g}:{}})});if(h.ok){let a=await h.json().catch(()=>({})),b="string"==typeof a?.id&&a.id.trim()?a.id.trim():f;for(let a of(c??[]).slice(1))await B(a,b);L(!1),H(null),av(),D()}},onCancel:()=>{L(!1)}}),M&&(0,b.jsx)(u.AgentForm,{title:"Edit agent",initial:{name:M.name,provider:M.provider,model:M.model||"",identity:M.identity||"",color:M.color,skills:M.skills||[]},agentId:M.id,submitLabel:"Save",projectMemberships:{current:z.filter(a=>a.agents.some(a=>a.agent_id===M.id)).map(a=>({id:a.id,name:a.name,is_default:!!a.is_default})),available:z.filter(a=>!a.agents.some(a=>a.agent_id===M.id)).map(a=>({id:a.id,name:a.name}))},onAddToProject:a=>B(a,M.id),onRemoveFromProject:a=>C(a,M.id),onSubmit:async a=>{await fetch("/api/participants",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:M.id,name:a.name,provider:a.provider,model:a.model,color:a.color,...a.identity?{identity:a.identity}:{},skills:a.skills??[]})}),N(null),av()},onCancel:()=>N(null)}),aa&&(0,b.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>ab(!1),children:(0,b.jsxs)("div",{className:"bg-white rounded-xl shadow-xl border border-slate-200 w-[440px] max-h-[80vh] flex flex-col",onClick:a=>a.stopPropagation(),children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-5 py-3.5 border-b border-slate-100",children:[(0,b.jsx)("h3",{className:"text-sm font-medium text-slate-900",children:"Import Agents"}),(0,b.jsx)("button",{type:"button",className:"text-slate-400 hover:text-slate-600",onClick:()=>ab(!1),children:(0,b.jsx)(s.X,{size:16})})]}),"choice"===ac&&!ai&&(0,b.jsxs)("div",{className:"px-5 py-6 flex flex-col gap-3",children:[(0,b.jsxs)("button",{type:"button",className:"flex items-center gap-3 px-4 py-3.5 rounded-lg border border-slate-200 hover:border-violet-300 hover:bg-violet-50 transition-colors text-left",onClick:()=>ad("pull"),children:[(0,b.jsx)("div",{className:"w-9 h-9 rounded-lg bg-violet-100 flex items-center justify-center flex-shrink-0",children:(0,b.jsx)(j.Download,{size:16,className:"text-violet-600"})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-sm font-medium text-slate-900",children:"Pull from Hub"}),(0,b.jsx)("p",{className:"text-[11px] text-slate-400",children:"Enter a share code to import agents"})]})]}),(0,b.jsxs)("button",{type:"button",className:"flex items-center gap-3 px-4 py-3.5 rounded-lg border border-slate-200 hover:border-slate-300 hover:bg-slate-50 transition-colors text-left",onClick:()=>{ad("file"),setTimeout(()=>as.current?.click(),100)},children:[(0,b.jsx)("div",{className:"w-9 h-9 rounded-lg bg-slate-100 flex items-center justify-center flex-shrink-0",children:(0,b.jsx)(q,{size:16,className:"text-slate-600"})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-sm font-medium text-slate-900",children:"Upload File"}),(0,b.jsx)("p",{className:"text-[11px] text-slate-400",children:"Import from a .agent.json bundle"})]})]})]}),"pull"===ac&&!ai&&(0,b.jsxs)("div",{className:"px-5 py-5 flex flex-col gap-3",children:[(0,b.jsx)("label",{className:"text-sm text-slate-600",children:"Enter share code:"}),(0,b.jsx)("input",{autoFocus:!0,type:"text",value:ae,onChange:a=>af(a.target.value.toUpperCase()),placeholder:"e.g. A3X9K2",maxLength:6,className:"w-full px-3 py-2.5 text-center text-2xl font-mono font-bold tracking-[0.3em] border border-slate-200 rounded-lg outline-none focus:border-violet-400 focus:ring-1 focus:ring-violet-200 transition-all",onKeyDown:a=>{"Enter"===a.key&&aB()}}),aq&&(0,b.jsx)("p",{className:"text-xs text-red-500",children:aq}),(0,b.jsxs)("div",{className:"flex justify-end gap-2 mt-1",children:[(0,b.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs text-slate-500 hover:text-slate-700 transition-colors",onClick:()=>{ad("choice"),ar(null)},children:"Back"}),(0,b.jsx)("button",{type:"button",disabled:0===ae.trim().length||ag,className:"px-4 py-1.5 text-xs font-medium text-white bg-violet-600 rounded-lg hover:bg-violet-700 disabled:opacity-40 disabled:cursor-not-allowed transition-colors",onClick:()=>void aB(),children:ag?"Fetching...":"Fetch"})]})]}),"file"===ac&&!ai&&(0,b.jsxs)("div",{className:"px-5 py-6 flex flex-col items-center gap-3",children:[(0,b.jsx)("p",{className:"text-sm text-slate-500",children:"Select a .agent.json file to import"}),(0,b.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 px-4 py-2 text-xs font-medium text-slate-600 bg-slate-100 rounded-lg hover:bg-slate-200 transition-colors",onClick:()=>as.current?.click(),children:[(0,b.jsx)(q,{size:13}),"Choose File"]}),aq&&(0,b.jsx)("p",{className:"text-xs text-red-500",children:aq}),(0,b.jsx)("button",{type:"button",className:"text-xs text-slate-400 hover:text-slate-600 mt-1",onClick:()=>{ad("choice"),ar(null)},children:"Back"})]}),ai&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"overflow-y-auto flex-1",children:[ai.exportedAt&&(0,b.jsx)("div",{className:"px-5 py-3 border-b border-slate-100 bg-slate-50",children:(0,b.jsxs)("p",{className:"text-[11px] text-slate-400",children:["Exported ",new Date(ai.exportedAt).toLocaleDateString()," · ",ai.agents.length," agents",w(ai).length>0?`, ${w(ai).length} projects`:""]})}),(0,b.jsxs)("div",{className:"border-b border-slate-100",children:[(0,b.jsxs)("div",{className:"px-5 pt-3 pb-1 flex items-center justify-between",children:[(0,b.jsxs)("p",{className:"text-[11px] font-medium text-slate-400 uppercase tracking-wide",children:[ai.agents.length," agent",1===ai.agents.length?"":"s"," found"]}),(0,b.jsx)("button",{type:"button",className:"text-[11px] text-slate-400 hover:text-slate-600",onClick:()=>{ak.size===ai.agents.length?al(new Set):al(new Set(ai.agents.map(a=>a.id)))},children:ak.size===ai.agents.length?"Deselect all":"Select all"})]}),ai.agents.map(c=>{let d=ak.has(c.id),e=a.find(a=>a.id===c.id);return(0,b.jsxs)("button",{type:"button",className:`w-full flex items-center gap-3 px-5 py-2.5 text-sm transition-colors ${d?"bg-slate-50 text-slate-900":"text-slate-600 hover:bg-slate-50"}`,onClick:()=>{al(a=>{let b=new Set(a);return b.has(c.id)?b.delete(c.id):b.add(c.id),b})},children:[(0,b.jsx)(aG,{checked:d}),(0,b.jsx)("img",{src:(0,u.agentAvatarUrl)(c.id,24,c.color),alt:"",className:"w-6 h-6 rounded-full flex-shrink-0"}),(0,b.jsxs)("div",{className:"min-w-0 flex-1 text-left",children:[(0,b.jsx)("div",{className:"truncate text-xs font-medium",children:c.name}),(0,b.jsxs)("div",{className:"truncate text-[10px] text-slate-400",children:[c.provider,c.model?` \xb7 ${c.model}`:""]})]}),e&&(0,b.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-amber-50 text-amber-600 flex-shrink-0",children:"update"}),!e&&(0,b.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-green-50 text-green-600 flex-shrink-0",children:"new"}),c.self&&(0,b.jsx)("span",{className:"text-[10px] text-slate-400 flex-shrink-0",children:"+ self.md"})]},c.id)})]}),w(ai).length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"px-5 pt-3 pb-1",children:(0,b.jsx)("p",{className:"text-[11px] font-medium text-slate-400 uppercase tracking-wide",children:"Projects"})}),w(ai).map(a=>{let c=am.has(a.name);return(0,b.jsxs)("button",{type:"button",className:`w-full flex items-center gap-3 px-5 py-2 text-sm transition-colors ${c?"bg-slate-50 text-slate-900":"text-slate-600 hover:bg-slate-50"}`,onClick:()=>{an(b=>{let c=new Set(b);return c.has(a.name)?c.delete(a.name):c.add(a.name),c})},children:[(0,b.jsx)(aG,{checked:c}),(0,b.jsx)(r.Users,{size:14,className:"text-slate-400 flex-shrink-0"}),(0,b.jsx)("span",{className:"truncate text-xs font-medium flex-1",children:a.name}),(0,b.jsxs)("span",{className:"text-[10px] text-slate-400",children:[a.agentIds.length," agents"]})]},a.name)})]})]}),aq&&(0,b.jsx)("div",{className:"px-5 py-2",children:(0,b.jsx)("p",{className:"text-xs text-red-500",children:aq})}),(0,b.jsxs)("div",{className:"px-5 py-3 border-t border-slate-100 flex items-center justify-between",children:[(0,b.jsxs)("span",{className:"text-[11px] text-slate-400",children:[ak.size," ",1===ak.size?"agent":"agents",am.size>0?`, ${am.size} ${1===am.size?"project":"projects"}`:""]}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs text-slate-500 hover:text-slate-700 transition-colors",onClick:()=>{aj(null),al(new Set),an(new Set)},children:"Back"}),(0,b.jsxs)("button",{type:"button",disabled:0===ak.size||ao,className:"inline-flex items-center gap-1.5 px-4 py-1.5 text-xs font-medium text-white bg-violet-600 rounded-lg hover:bg-violet-700 disabled:opacity-40 disabled:cursor-not-allowed transition-colors",onClick:()=>void aC(),children:[(0,b.jsx)(q,{size:12}),ao?"Importing...":`Import ${ak.size} agent${1===ak.size?"":"s"}`]})]})]})]})]})})]})}a.s(["default",()=>x],84712)}];
|
|
1
|
+
module.exports=[84712,a=>{"use strict";var b=a.i(90944),c=a.i(72131),d=a.i(38246),e=a.i(210),f=a.i(5784),g=a.i(50522),h=a.i(5151),i=a.i(33441),j=a.i(84505),k=a.i(60137);let l=(0,k.default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);var m=a.i(2835),n=a.i(99464),o=a.i(15618);let p=(0,k.default)("share-2",[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]]),q=(0,k.default)("upload",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]]);var r=a.i(60246),s=a.i(33508),t=a.i(56196),u=a.i(20138),v=a.i(89116);function w(a){return a?a.projects??[]:[]}function x(){let[a,k]=(0,c.useState)([]),[x,y]=(0,c.useState)([]),{projects:z,createProject:A,addAgent:B,removeAgent:C,refresh:D}=(0,t.useProjectsWithAgents)(),[E,F]=(0,c.useState)(new Set),[G,H]=(0,c.useState)(null),[I,J]=(0,c.useState)(new Set),[K,L]=(0,c.useState)(!1),[M,N]=(0,c.useState)(null),[O,P]=(0,c.useState)(!1),[Q,R]=(0,c.useState)(new Set),[S,T]=(0,c.useState)(!0),[U,V]=(0,c.useState)(!1),[W,X]=(0,c.useState)(null),[Y,Z]=(0,c.useState)(null),[$,_]=(0,c.useState)(!1),[aa,ab]=(0,c.useState)(!1),[ac,ad]=(0,c.useState)("choice"),[ae,af]=(0,c.useState)(""),[ag,ah]=(0,c.useState)(!1),[ai,aj]=(0,c.useState)(null),[ak,al]=(0,c.useState)(new Set),[am,an]=(0,c.useState)(new Set),[ao,ap]=(0,c.useState)(!1),[aq,ar]=(0,c.useState)(null),as=(0,c.useRef)(null),[at,au]=(0,c.useState)(new Set),av=()=>{fetch("/api/participants").then(a=>a.json()).then(a=>k(Array.isArray(a)?a:[]))},aw=(0,c.useCallback)(async()=>{try{let a=await fetch("/api/processes");if(!a.ok)return;let b=await a.json();au(new Set(b.filter(a=>"spawning"===a.state||"running"===a.state).map(a=>a.agentId)))}catch{}},[]);(0,c.useEffect)(()=>{av(),v.threadService.listThreads().then(y),aw();let a=setInterval(aw,3e3);return()=>clearInterval(a)},[aw]);let ax=new Map(x.map(a=>[a.id,a])),ay=z.filter(a=>!a.is_default),az=async()=>{if(0!==Q.size){V(!0);try{let a=await fetch("/api/agent-specs",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentIds:Array.from(Q),includeSelf:S})});if(!a.ok)throw Error("Share failed");let b=await a.json();X(b.code),Z(b.expires_at)}catch(a){console.error("Share error:",a)}finally{V(!1)}}},aA=async()=>{if(0!==Q.size){V(!0);try{let a=Array.from(Q),b=await fetch("/api/agents/export",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentIds:a})});if(!b.ok)throw Error("Export failed");let c=(await b.json()).agents.map(a=>({...a,self:S?a.self:null})),d={version:1,exportedAt:new Date().toISOString(),agents:c,projects:[]},e=new Blob([JSON.stringify(d,null,2)],{type:"application/json"}),f=URL.createObjectURL(e),g=document.createElement("a");g.href=f,g.download=1===c.length?`${c[0].name.toLowerCase().replace(/\s+/g,"-")}.agent.json`:"agents.bundle.json",g.click(),URL.revokeObjectURL(f),P(!1)}catch(a){console.error("Export error:",a)}finally{V(!1)}}},aB=async()=>{if(0!==ae.trim().length){ah(!0),ar(null),aj(null);try{let a=await fetch(`/api/agent-specs/pull?code=${encodeURIComponent(ae.trim())}`);if(!a.ok){let b=await a.json().catch(()=>({error:"Failed to pull"}));ar(b.error||"Code not found or expired");return}let b=(await a.json()).bundle;aj(b),al(new Set(b.agents.map(a=>a.id))),an(new Set(w(b).map(a=>a.name)))}catch{ar("Failed to connect. Is agx-api running?")}finally{ah(!1)}}},aC=async()=>{if(ai){ap(!0);try{let b=new Set(a.map(a=>a.id));for(let a of ai.agents){if(!ak.has(a.id))continue;let c={name:a.name,provider:a.provider,model:a.model,color:a.color,identity:a.identity||void 0,identityFile:a.identityFile||void 0,skills:a.skills||[],variables:a.variables||{}};b.has(a.id)?(c.id=a.id,await fetch("/api/participants",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)})):await fetch("/api/participants",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)})}for(let a of w(ai)){if(!am.has(a.name))continue;let b=await A(a.name);if(b)for(let c of a.agentIds)ak.has(c)&&await B(b.id,c)}av(),await D(),ab(!1),aj(null)}catch(a){console.error("Import error:",a),ar("Import failed. Check console for details.")}finally{ap(!1)}}},aD=G?z.find(a=>a.id===G.projectId):null,aE=new Set(aD?.agents.map(a=>a.agent_id)??[]),aF=G?a.filter(a=>!aE.has(a.id)):[],aG=({checked:a})=>(0,b.jsx)("div",{className:`w-4 h-4 rounded border flex-shrink-0 flex items-center justify-center ${a?"bg-[var(--foreground)] border-[var(--foreground)]":"border-[var(--app-shell-soft-text)]"}`,children:a&&(0,b.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",children:(0,b.jsx)("path",{d:"M2 5l2 2 4-4",stroke:"white",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})});return(0,b.jsxs)("div",{className:"min-h-screen bg-[var(--secondary)] p-6",children:[(0,b.jsxs)("div",{className:"max-w-6xl mx-auto",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3 mb-6",children:[(0,b.jsxs)(d.default,{href:"/",className:"inline-flex items-center gap-1 text-sm text-[var(--muted-foreground)] hover:text-[var(--secondary-foreground)] transition-colors",children:[(0,b.jsx)(e.ArrowLeft,{size:16}),"Back"]}),(0,b.jsx)("h1",{className:"text-2xl font-semibold text-[var(--foreground)]",children:"Manage Agents"}),(0,b.jsxs)("div",{className:"ml-auto flex items-center gap-2",children:[(0,b.jsxs)("button",{type:"button",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",onClick:()=>L(!0),children:[(0,b.jsx)(o.Plus,{size:13}),"New Agent"]}),(0,b.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium text-white bg-violet-600 rounded-lg hover:bg-violet-700 transition-colors",onClick:()=>{R(new Set(a.map(a=>a.id))),T(!0),X(null),Z(null),_(!1),P(!0)},disabled:0===a.length,children:[(0,b.jsx)(p,{size:13}),"Share"]}),(0,b.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium text-violet-600 bg-violet-50 border border-violet-200 rounded-lg hover:bg-violet-100 transition-colors",onClick:()=>{ad("choice"),af(""),aj(null),al(new Set),an(new Set),ar(null),ab(!0)},children:[(0,b.jsx)(j.Download,{size:13}),"Import"]}),(0,b.jsx)("input",{ref:as,type:"file",accept:".json",className:"hidden",onChange:a=>{let b=a.target.files?.[0];if(!b)return;ar(null);let c=new FileReader;c.onload=()=>{try{let a=JSON.parse(c.result);if(!a.version||!Array.isArray(a.agents))throw Error("Invalid bundle format");aj(a),al(new Set(a.agents.map(a=>a.id))),an(new Set(w(a).map(a=>a.name)))}catch{ar("Invalid file. Expected an .agent.json bundle.")}},c.readAsText(b),a.target.value=""}})]})]}),aq&&!aa&&(0,b.jsxs)("div",{className:"mb-4 px-4 py-3 rounded-lg bg-red-50 border border-red-200 text-sm text-red-700 flex items-center justify-between",children:[(0,b.jsx)("span",{children:aq}),(0,b.jsx)("button",{type:"button",onClick:()=>ar(null),className:"text-red-400 hover:text-red-600",children:(0,b.jsx)(s.X,{size:14})})]}),0===a.length?(0,b.jsx)("p",{className:"text-[var(--muted-foreground)] text-sm",children:"No agents configured yet."}):(0,b.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4",children:a.map(a=>(0,b.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-xl border border-[var(--border)] p-4 hover:shadow-md transition-shadow text-left group",children:[(0,b.jsxs)("div",{className:"flex items-start gap-3 mb-3",children:[(0,b.jsx)("img",{src:(0,u.agentAvatarUrl)(a.id,48,a.color),alt:a.name,className:"w-12 h-12 rounded-full bg-[var(--secondary)]"}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("h3",{className:"font-medium text-[var(--foreground)] truncate",children:a.name}),(0,b.jsx)("p",{className:"text-xs text-[var(--app-shell-soft-text)] truncate mt-0.5",children:a.model}),at.has(a.id)&&(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 mt-1 text-[10px] font-medium text-emerald-600",children:[(0,b.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-emerald-500 animate-pulse"}),"Working"]})]})]}),a.skills&&a.skills.length>0&&(0,b.jsxs)("div",{className:"flex flex-wrap gap-1 mb-3",children:[a.skills.slice(0,3).map((a,c)=>(0,b.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-blue-50 text-blue-600 truncate max-w-[120px]",children:a.file.split("/").pop()},c)),a.skills.length>3&&(0,b.jsxs)("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-[var(--secondary)] text-[var(--app-shell-soft-text)]",children:["+",a.skills.length-3]})]}),(0,b.jsxs)("div",{className:"flex items-center justify-between pt-2 border-t border-[var(--border)]",children:[(0,b.jsx)("span",{className:"text-[10px] font-medium px-1.5 py-0.5 rounded-full bg-[var(--secondary)] text-[var(--muted-foreground)] uppercase tracking-wide",children:a.provider}),(0,b.jsxs)("div",{className:"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity",children:[(0,b.jsx)("button",{type:"button",title:"Edit",onClick:()=>N(a),className:"p-1.5 text-[var(--app-shell-soft-text)] hover:text-[var(--muted-foreground)] rounded hover:bg-[var(--item-hover-bg)] transition-colors",children:(0,b.jsx)(n.Pencil,{size:13})}),(0,b.jsx)(d.default,{href:`/agents/${a.id}`,title:"View profile",className:"p-1.5 text-[var(--app-shell-soft-text)] hover:text-[var(--muted-foreground)] rounded hover:bg-[var(--item-hover-bg)] transition-colors",children:(0,b.jsx)(l,{size:13})})]})]})]},a.id))}),(0,b.jsxs)("div",{className:"mt-10",children:[(0,b.jsxs)("div",{className:"mb-4",children:[(0,b.jsx)("h2",{className:"text-lg font-semibold text-[var(--foreground)]",children:"Project assignments"}),(0,b.jsx)("p",{className:"mt-1 text-sm text-[var(--app-shell-soft-text)]",children:"Assign agents to existing projects."})]}),0===ay.length?(0,b.jsx)("p",{className:"text-sm text-[var(--app-shell-soft-text)]",children:"No projects available for assignment."}):(0,b.jsx)("div",{className:"bg-[var(--card-bg)] rounded-xl border border-[var(--border)] divide-y divide-[var(--border)]",children:ay.map(c=>{let d=E.has(c.id),e=(c.thread_ids??[]).map(a=>ax.get(a)?.title?.trim()||"Untitled").filter(Boolean);return(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex items-center gap-3 px-5 py-3.5 group",children:[(0,b.jsxs)("button",{type:"button",className:"flex items-center gap-3 flex-1 min-w-0 text-left",onClick:()=>{var a;return a=c.id,void F(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},children:[d?(0,b.jsx)(f.ChevronDown,{size:16,className:"text-[var(--app-shell-soft-text)] flex-shrink-0"}):(0,b.jsx)(g.ChevronRight,{size:16,className:"text-[var(--app-shell-soft-text)] flex-shrink-0"}),(0,b.jsx)(r.Users,{size:16,className:"text-[var(--app-shell-soft-text)] flex-shrink-0"}),(0,b.jsx)("span",{className:"font-medium text-[var(--foreground)] text-sm",children:c.name}),(0,b.jsxs)("span",{className:"text-xs text-[var(--app-shell-soft-text)]",children:[c.agents.length," ",1===c.agents.length?"agent":"agents",e.length>0&&` \xb7 ${e.length} ${1===e.length?"thread":"threads"}`]})]}),(0,b.jsx)("div",{className:"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity",children:(0,b.jsxs)("button",{type:"button",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)]",title:"Add agents",onClick:()=>{J(new Set),H({projectId:c.id})},children:[(0,b.jsx)(o.Plus,{size:14}),"Add agents"]})})]}),d&&(0,b.jsxs)("div",{className:"px-5 pb-4 pt-1 ml-9 flex flex-col gap-1",children:[0===c.agents.length&&(0,b.jsx)("p",{className:"text-xs text-[var(--app-shell-soft-text)] py-1",children:"No agents in this project."}),c.agents.map(d=>{let e=a.find(a=>a.id===d.agent_id);return(0,b.jsxs)("div",{className:"flex items-center gap-2.5 py-1.5 group/agent",children:[(0,b.jsx)("img",{src:(0,u.agentAvatarUrl)(d.agent_id,24,e?.color),alt:"",className:"w-6 h-6 rounded-full flex-shrink-0"}),(0,b.jsx)("span",{className:"text-sm text-[var(--secondary-foreground)] truncate flex-1",children:e?.name??d.agent_id}),(0,b.jsx)("span",{className:"text-[10px] text-[var(--app-shell-soft-text)]",children:e?.model}),(0,b.jsx)("button",{type:"button",className:"opacity-0 group-hover/agent:opacity-100 text-[var(--app-shell-soft-text)] hover:text-red-500 transition-opacity",onClick:()=>void C(c.id,d.agent_id),title:"Remove from project",children:(0,b.jsx)(s.X,{size:14})})]},d.agent_id)}),(0,b.jsxs)("button",{type:"button",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)]",onClick:()=>{J(new Set),H({projectId:c.id})},children:[(0,b.jsx)(o.Plus,{size:12}),"Add agents"]}),e.length>0&&(0,b.jsxs)("div",{className:"mt-2 pt-2 border-t border-[var(--border)]",children:[(0,b.jsx)("p",{className:"text-[10px] font-medium text-[var(--app-shell-soft-text)] uppercase tracking-wide mb-1",children:"Threads"}),(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5",children:e.map((a,c)=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs px-2 py-1 rounded-md bg-indigo-50 text-indigo-600",children:[(0,b.jsx)(m.Hash,{size:11}),a]},c))})]})]})]},c.id)})})]})]}),O&&(0,b.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>P(!1),children:(0,b.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-xl shadow-xl border border-[var(--border)] w-[440px] max-h-[80vh] flex flex-col",onClick:a=>a.stopPropagation(),children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-5 py-3.5 border-b border-[var(--border)]",children:[(0,b.jsx)("h3",{className:"text-sm font-medium text-[var(--foreground)]",children:"Share Agents"}),(0,b.jsx)("button",{type:"button",className:"text-[var(--app-shell-soft-text)] hover:text-[var(--muted-foreground)]",onClick:()=>P(!1),children:(0,b.jsx)(s.X,{size:16})})]}),W?(0,b.jsxs)("div",{className:"px-5 py-6 flex flex-col items-center gap-4",children:[(0,b.jsxs)("div",{className:"text-center",children:[(0,b.jsx)("p",{className:"text-sm text-[var(--muted-foreground)] mb-3",children:"Share this code with the recipient:"}),(0,b.jsxs)("div",{className:"flex items-center justify-center gap-3",children:[(0,b.jsx)("span",{className:"text-3xl font-mono font-bold tracking-[0.3em] text-[var(--foreground)]",children:W}),(0,b.jsx)("button",{type:"button",className:"p-2 text-[var(--app-shell-soft-text)] hover:text-[var(--muted-foreground)] transition-colors",onClick:()=>{W&&(navigator.clipboard.writeText(W),_(!0),setTimeout(()=>_(!1),2e3))},children:$?(0,b.jsx)(i.Check,{size:18,className:"text-green-500"}):(0,b.jsx)(h.Copy,{size:18})})]})]}),Y&&(0,b.jsxs)("p",{className:"text-[11px] text-[var(--app-shell-soft-text)]",children:["Expires ",new Date(Y).toLocaleTimeString()]}),(0,b.jsx)("button",{type:"button",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",onClick:()=>P(!1),children:"Done"})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"overflow-y-auto flex-1",children:[ay.length>0&&(0,b.jsxs)("div",{className:"border-b border-[var(--border)] px-5 py-3",children:[(0,b.jsx)("p",{className:"text-[11px] font-medium text-[var(--app-shell-soft-text)] uppercase tracking-wide mb-2",children:"Select by project"}),(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5",children:ay.map(c=>{let d=c.agents.map(a=>a.agent_id),e=d.length>0&&d.every(a=>Q.has(a)),f=d.some(a=>Q.has(a));return(0,b.jsxs)("button",{type:"button",className:`inline-flex items-center gap-1.5 px-2.5 py-1 rounded-full text-[11px] font-medium transition-colors ${e?"bg-[var(--foreground)] text-white":f?"bg-[var(--app-shell-soft-text)] text-[var(--secondary-foreground)]":"bg-[var(--secondary)] text-[var(--muted-foreground)] hover:bg-[var(--item-hover-bg)]"}`,onClick:()=>{R(a=>{let b=new Set(a);return e?d.forEach(a=>b.delete(a)):d.forEach(a=>b.add(a)),b})},title:d.map(b=>a.find(a=>a.id===b)?.name??b).join(", "),children:[(0,b.jsx)(r.Users,{size:10}),c.name,(0,b.jsx)("span",{className:"text-[10px] text-[var(--app-shell-soft-text)]",children:c.agents.length})]},c.id)})})]}),(0,b.jsxs)("div",{className:"border-b border-[var(--border)]",children:[(0,b.jsxs)("div",{className:"px-5 pt-3 pb-1 flex items-center justify-between",children:[(0,b.jsx)("p",{className:"text-[11px] font-medium text-[var(--app-shell-soft-text)] uppercase tracking-wide",children:"Agents"}),(0,b.jsx)("button",{type:"button",className:"text-[11px] text-[var(--app-shell-soft-text)] hover:text-[var(--muted-foreground)]",onClick:()=>{Q.size===a.length?R(new Set):R(new Set(a.map(a=>a.id)))},children:Q.size===a.length?"Deselect all":"Select all"})]}),a.map(a=>{let c=Q.has(a.id);return(0,b.jsxs)("button",{type:"button",className:`w-full flex items-center gap-3 px-5 py-2 text-sm transition-colors ${c?"bg-[var(--secondary)] text-[var(--foreground)]":"text-[var(--muted-foreground)] hover:bg-[var(--item-hover-bg)]"}`,onClick:()=>{R(b=>{let c=new Set(b);return c.has(a.id)?c.delete(a.id):c.add(a.id),c})},children:[(0,b.jsx)(aG,{checked:c}),(0,b.jsx)("img",{src:(0,u.agentAvatarUrl)(a.id,24,a.color),alt:"",className:"w-6 h-6 rounded-full flex-shrink-0"}),(0,b.jsx)("span",{className:"truncate text-xs font-medium flex-1",children:a.name}),(0,b.jsx)("span",{className:"text-[10px] text-[var(--app-shell-soft-text)]",children:a.provider})]},a.id)})]}),(0,b.jsx)("div",{className:"px-5 py-3",children:(0,b.jsxs)("button",{type:"button",className:`flex items-center gap-3 w-full px-3 py-2 rounded-lg text-sm transition-colors ${S?"bg-[var(--secondary)] text-[var(--foreground)]":"text-[var(--muted-foreground)] hover:bg-[var(--item-hover-bg)]"}`,onClick:()=>T(!S),children:[(0,b.jsx)(aG,{checked:S}),(0,b.jsx)("span",{className:"text-xs font-medium",children:"Include self.md (agent bio)"})]})})]}),(0,b.jsxs)("div",{className:"px-5 py-3 border-t border-[var(--border)] flex items-center justify-between",children:[(0,b.jsxs)("span",{className:"text-[11px] text-[var(--app-shell-soft-text)]",children:[Q.size," ",1===Q.size?"agent":"agents"]}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)("button",{type:"button",disabled:0===Q.size||U,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",onClick:()=>void aA(),children:[(0,b.jsx)(j.Download,{size:12}),U?"Exporting...":"Export to File"]}),(0,b.jsxs)("button",{type:"button",disabled:0===Q.size||U,className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium text-white bg-violet-600 rounded-lg hover:bg-violet-700 disabled:opacity-40 disabled:cursor-not-allowed transition-colors",onClick:()=>void az(),children:[(0,b.jsx)(p,{size:12}),U?"Pushing...":"Push to Hub"]}),(0,b.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs text-[var(--muted-foreground)] hover:text-[var(--secondary-foreground)] transition-colors",onClick:()=>P(!1),children:"Cancel"})]})]})]})]})}),G&&!K&&(0,b.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>H(null),children:(0,b.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-xl shadow-xl border border-[var(--border)] w-80 max-h-[70vh] flex flex-col",onClick:a=>a.stopPropagation(),children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)]",children:[(0,b.jsxs)("h3",{className:"text-sm font-medium text-[var(--foreground)]",children:["Add to ",aD?.name??"project"]}),(0,b.jsx)("button",{type:"button",className:"text-[var(--app-shell-soft-text)] hover:text-[var(--muted-foreground)]",onClick:()=>H(null),children:(0,b.jsx)(s.X,{size:16})})]}),(0,b.jsxs)("div",{className:"overflow-y-auto py-1 flex-1",children:[(0,b.jsxs)("button",{type:"button",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)]",onClick:()=>L(!0),children:[(0,b.jsx)(o.Plus,{size:14,className:"text-[var(--app-shell-soft-text)]"}),(0,b.jsx)("span",{className:"text-xs font-medium",children:"Create new agent"})]}),0===aF.length?(0,b.jsx)("p",{className:"px-4 py-6 text-xs text-[var(--app-shell-soft-text)] text-center",children:"All agents are already in this project"}):aF.map(a=>{let c=I.has(a.id);return(0,b.jsxs)("button",{type:"button",className:`w-full flex items-center gap-3 px-4 py-2.5 text-sm transition-colors ${c?"bg-[var(--secondary)] text-[var(--foreground)]":"text-[var(--secondary-foreground)] hover:bg-[var(--item-hover-bg)]"}`,onClick:()=>{J(b=>{let c=new Set(b);return c.has(a.id)?c.delete(a.id):c.add(a.id),c})},children:[(0,b.jsx)(aG,{checked:c}),(0,b.jsx)("img",{src:(0,u.agentAvatarUrl)(a.id,24,a.color),alt:"",className:"w-6 h-6 rounded-full flex-shrink-0"}),(0,b.jsx)("div",{className:"min-w-0 flex-1 text-left",children:(0,b.jsx)("div",{className:"truncate font-medium text-xs",children:a.name})})]},a.id)})]}),aF.length>0&&(0,b.jsxs)("div",{className:"px-4 py-3 border-t border-[var(--border)] flex justify-end gap-2",children:[(0,b.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs text-[var(--muted-foreground)] hover:text-[var(--secondary-foreground)] transition-colors",onClick:()=>H(null),children:"Cancel"}),(0,b.jsxs)("button",{type:"button",disabled:0===I.size,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",onClick:()=>{for(let a of I)B(G.projectId,a);H(null)},children:["Add ",I.size>0?`(${I.size})`:""]})]})]})}),K&&(0,b.jsx)(u.AgentForm,{title:"Create new agent",initial:{name:"",provider:"claude",model:"",identity:"",skills:[]},submitLabel:"Create",projects:ay.map(a=>{let b=(a.thread_ids??[]).map(a=>ax.get(a)?.title?.trim()).filter(Boolean).join(", ")||"No thread";return{id:a.id,name:a.name,label:`${b} › ${a.name}`}}),initialProjectIds:G?[G.projectId]:[],onSubmit:async(b,c)=>{let d=["#D97706","#2563EB","#059669","#DC2626","#7C3AED","#DB2777","#0891B2"],e=d[a.length%d.length],f=b.name.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,""),g=c?.[0],h=await fetch("/api/participants",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:f,name:b.name,provider:b.provider,model:b.model,color:b.color??e,...b.identity?{identity:b.identity}:{},skills:b.skills??[],...g?{projectId:g}:{}})});if(h.ok){let a=await h.json().catch(()=>({})),b="string"==typeof a?.id&&a.id.trim()?a.id.trim():f;for(let a of(c??[]).slice(1))await B(a,b);L(!1),H(null),av(),D()}},onCancel:()=>{L(!1)}}),M&&(0,b.jsx)(u.AgentForm,{title:"Edit agent",initial:{name:M.name,provider:M.provider,model:M.model||"",identity:M.identity||"",color:M.color,skills:M.skills||[]},agentId:M.id,submitLabel:"Save",projectMemberships:{current:z.filter(a=>a.agents.some(a=>a.agent_id===M.id)).map(a=>({id:a.id,name:a.name,is_default:!!a.is_default})),available:z.filter(a=>!a.agents.some(a=>a.agent_id===M.id)).map(a=>({id:a.id,name:a.name}))},onAddToProject:a=>B(a,M.id),onRemoveFromProject:a=>C(a,M.id),onSubmit:async a=>{await fetch("/api/participants",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:M.id,name:a.name,provider:a.provider,model:a.model,color:a.color,...a.identity?{identity:a.identity}:{},skills:a.skills??[]})}),N(null),av()},onCancel:()=>N(null)}),aa&&(0,b.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>ab(!1),children:(0,b.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-xl shadow-xl border border-[var(--border)] w-[440px] max-h-[80vh] flex flex-col",onClick:a=>a.stopPropagation(),children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-5 py-3.5 border-b border-[var(--border)]",children:[(0,b.jsx)("h3",{className:"text-sm font-medium text-[var(--foreground)]",children:"Import Agents"}),(0,b.jsx)("button",{type:"button",className:"text-[var(--app-shell-soft-text)] hover:text-[var(--muted-foreground)]",onClick:()=>ab(!1),children:(0,b.jsx)(s.X,{size:16})})]}),"choice"===ac&&!ai&&(0,b.jsxs)("div",{className:"px-5 py-6 flex flex-col gap-3",children:[(0,b.jsxs)("button",{type:"button",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",onClick:()=>ad("pull"),children:[(0,b.jsx)("div",{className:"w-9 h-9 rounded-lg bg-violet-100 flex items-center justify-center flex-shrink-0",children:(0,b.jsx)(j.Download,{size:16,className:"text-violet-600"})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-sm font-medium text-[var(--foreground)]",children:"Pull from Hub"}),(0,b.jsx)("p",{className:"text-[11px] text-[var(--app-shell-soft-text)]",children:"Enter a share code to import agents"})]})]}),(0,b.jsxs)("button",{type:"button",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",onClick:()=>{ad("file"),setTimeout(()=>as.current?.click(),100)},children:[(0,b.jsx)("div",{className:"w-9 h-9 rounded-lg bg-[var(--secondary)] flex items-center justify-center flex-shrink-0",children:(0,b.jsx)(q,{size:16,className:"text-[var(--muted-foreground)]"})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-sm font-medium text-[var(--foreground)]",children:"Upload File"}),(0,b.jsx)("p",{className:"text-[11px] text-[var(--app-shell-soft-text)]",children:"Import from a .agent.json bundle"})]})]})]}),"pull"===ac&&!ai&&(0,b.jsxs)("div",{className:"px-5 py-5 flex flex-col gap-3",children:[(0,b.jsx)("label",{className:"text-sm text-[var(--muted-foreground)]",children:"Enter share code:"}),(0,b.jsx)("input",{autoFocus:!0,type:"text",value:ae,onChange:a=>af(a.target.value.toUpperCase()),placeholder:"e.g. A3X9K2",maxLength:6,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)]",onKeyDown:a=>{"Enter"===a.key&&aB()}}),aq&&(0,b.jsx)("p",{className:"text-xs text-red-500",children:aq}),(0,b.jsxs)("div",{className:"flex justify-end gap-2 mt-1",children:[(0,b.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs text-[var(--muted-foreground)] hover:text-[var(--secondary-foreground)] transition-colors",onClick:()=>{ad("choice"),ar(null)},children:"Back"}),(0,b.jsx)("button",{type:"button",disabled:0===ae.trim().length||ag,className:"px-4 py-1.5 text-xs font-medium text-white bg-violet-600 rounded-lg hover:bg-violet-700 disabled:opacity-40 disabled:cursor-not-allowed transition-colors",onClick:()=>void aB(),children:ag?"Fetching...":"Fetch"})]})]}),"file"===ac&&!ai&&(0,b.jsxs)("div",{className:"px-5 py-6 flex flex-col items-center gap-3",children:[(0,b.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"Select a .agent.json file to import"}),(0,b.jsxs)("button",{type:"button",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",onClick:()=>as.current?.click(),children:[(0,b.jsx)(q,{size:13}),"Choose File"]}),aq&&(0,b.jsx)("p",{className:"text-xs text-red-500",children:aq}),(0,b.jsx)("button",{type:"button",className:"text-xs text-[var(--app-shell-soft-text)] hover:text-[var(--muted-foreground)] mt-1",onClick:()=>{ad("choice"),ar(null)},children:"Back"})]}),ai&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"overflow-y-auto flex-1",children:[ai.exportedAt&&(0,b.jsx)("div",{className:"px-5 py-3 border-b border-[var(--border)] bg-[var(--secondary)]",children:(0,b.jsxs)("p",{className:"text-[11px] text-[var(--app-shell-soft-text)]",children:["Exported ",new Date(ai.exportedAt).toLocaleDateString()," · ",ai.agents.length," agents",w(ai).length>0?`, ${w(ai).length} projects`:""]})}),(0,b.jsxs)("div",{className:"border-b border-[var(--border)]",children:[(0,b.jsxs)("div",{className:"px-5 pt-3 pb-1 flex items-center justify-between",children:[(0,b.jsxs)("p",{className:"text-[11px] font-medium text-[var(--app-shell-soft-text)] uppercase tracking-wide",children:[ai.agents.length," agent",1===ai.agents.length?"":"s"," found"]}),(0,b.jsx)("button",{type:"button",className:"text-[11px] text-[var(--app-shell-soft-text)] hover:text-[var(--muted-foreground)]",onClick:()=>{ak.size===ai.agents.length?al(new Set):al(new Set(ai.agents.map(a=>a.id)))},children:ak.size===ai.agents.length?"Deselect all":"Select all"})]}),ai.agents.map(c=>{let d=ak.has(c.id),e=a.find(a=>a.id===c.id);return(0,b.jsxs)("button",{type:"button",className:`w-full flex items-center gap-3 px-5 py-2.5 text-sm transition-colors ${d?"bg-[var(--secondary)] text-[var(--foreground)]":"text-[var(--muted-foreground)] hover:bg-[var(--item-hover-bg)]"}`,onClick:()=>{al(a=>{let b=new Set(a);return b.has(c.id)?b.delete(c.id):b.add(c.id),b})},children:[(0,b.jsx)(aG,{checked:d}),(0,b.jsx)("img",{src:(0,u.agentAvatarUrl)(c.id,24,c.color),alt:"",className:"w-6 h-6 rounded-full flex-shrink-0"}),(0,b.jsxs)("div",{className:"min-w-0 flex-1 text-left",children:[(0,b.jsx)("div",{className:"truncate text-xs font-medium",children:c.name}),(0,b.jsxs)("div",{className:"truncate text-[10px] text-[var(--app-shell-soft-text)]",children:[c.provider,c.model?` \xb7 ${c.model}`:""]})]}),e&&(0,b.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-amber-50 text-amber-600 flex-shrink-0",children:"update"}),!e&&(0,b.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-green-50 text-green-600 flex-shrink-0",children:"new"}),c.self&&(0,b.jsx)("span",{className:"text-[10px] text-[var(--muted-foreground)] flex-shrink-0",children:"+ self.md"})]},c.id)})]}),w(ai).length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"px-5 pt-3 pb-1",children:(0,b.jsx)("p",{className:"text-[11px] font-medium text-[var(--muted-foreground)] uppercase tracking-wide",children:"Projects"})}),w(ai).map(a=>{let c=am.has(a.name);return(0,b.jsxs)("button",{type:"button",className:`w-full flex items-center gap-3 px-5 py-2 text-sm transition-colors ${c?"bg-[var(--app-shell-subtle)] text-[var(--foreground)]":"text-[var(--muted-foreground)] hover:bg-[var(--app-shell-subtle)]"}`,onClick:()=>{an(b=>{let c=new Set(b);return c.has(a.name)?c.delete(a.name):c.add(a.name),c})},children:[(0,b.jsx)(aG,{checked:c}),(0,b.jsx)(r.Users,{size:14,className:"text-[var(--muted-foreground)] flex-shrink-0"}),(0,b.jsx)("span",{className:"truncate text-xs font-medium flex-1",children:a.name}),(0,b.jsxs)("span",{className:"text-[10px] text-[var(--muted-foreground)]",children:[a.agentIds.length," agents"]})]},a.name)})]})]}),aq&&(0,b.jsx)("div",{className:"px-5 py-2",children:(0,b.jsx)("p",{className:"text-xs text-red-500",children:aq})}),(0,b.jsxs)("div",{className:"px-5 py-3 border-t border-[var(--border)] flex items-center justify-between",children:[(0,b.jsxs)("span",{className:"text-[11px] text-[var(--muted-foreground)]",children:[ak.size," ",1===ak.size?"agent":"agents",am.size>0?`, ${am.size} ${1===am.size?"project":"projects"}`:""]}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",onClick:()=>{aj(null),al(new Set),an(new Set)},children:"Back"}),(0,b.jsxs)("button",{type:"button",disabled:0===ak.size||ao,className:"inline-flex items-center gap-1.5 px-4 py-1.5 text-xs font-medium text-white bg-violet-600 rounded-lg hover:bg-violet-700 disabled:opacity-40 disabled:cursor-not-allowed transition-colors",onClick:()=>void aC(),children:[(0,b.jsx)(q,{size:12}),ao?"Importing...":`Import ${ak.size} agent${1===ak.size?"":"s"}`]})]})]})]})]})})]})}a.s(["default",()=>x],84712)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=app_agents_page_tsx_f5f08ed8._.js.map
|
package/cloud-runtime/standalone/.next/server/chunks/ssr/app_automations_page_tsx_3d732184._.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[45815,a=>{"use strict";var b=a.i(90944),c=a.i(72131),d=a.i(86976),e=a.i(55672),f=a.i(25015),g=a.i(81560),h=a.i(33508),i=a.i(33441),j=a.i(41710),k=a.i(60137);let l=(0,k.default)("calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]);var m=a.i(15618);let n=(0,k.default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);var o=a.i(69520),p=a.i(73570);let q=["min","hour","day","mon","wkday"];function r(a){if(a.cadence)return a.cadence;if(a.cronExpr)return a.cronExpr;let b=a.intervalMs;return b<6e4?`Every ${Math.round(b/1e3)}s`:b<36e5?`Every ${Math.round(b/6e4)}m`:b<864e5?`Every ${Math.round(b/36e5)}h`:`Every ${Math.round(b/864e5)}d`}function s(a){if("paused"===a.state)return"Paused";if("stopped"===a.state)return"Stopped";if(a.nextTickAt){let b=a.nextTickAt-Date.now();return b<0?"Overdue":b<6e4?`in ${Math.round(b/1e3)}s`:b<36e5?`in ${Math.round(b/6e4)}m`:b<864e5?`in ${Math.round(b/36e5)}h`:`in ${Math.round(b/864e5)}d`}if(a.lastTickAt){let b=a.lastTickAt+a.intervalMs-Date.now();return b<0?"Overdue":b<6e4?`in ${Math.round(b/1e3)}s`:b<36e5?`in ${Math.round(b/6e4)}m`:`in ${Math.round(b/36e5)}h`}return"Pending"}function t({on:a,onToggle:c,disabled:d}){return(0,b.jsx)("button",{onClick:c,disabled:d,className:`relative w-9 h-5 rounded-full transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-offset-1 focus:ring-[var(--muted-foreground)] ${a?"bg-green-600":"bg-[var(--muted)]"} ${d?"opacity-50 cursor-not-allowed":"cursor-pointer"}`,children:(0,b.jsx)("span",{className:`absolute top-[2px] left-[2px] w-4 h-4 bg-white rounded-full transition-transform duration-200 shadow-sm ${a?"translate-x-4":"translate-x-0"}`})})}function u(){let{automations:a,loading:d,refresh:e,pauseSchedule:g,resumeSchedule:h,deleteSchedule:k,runNow:q}=function(){let[a,b]=(0,c.useState)([]),[d,e]=(0,c.useState)(!0),[f,g]=(0,c.useState)(null),h=(0,c.useCallback)(async()=>{try{e(!0);let a=await fetch("/api/automations");if(!a.ok)throw Error(`Failed to fetch: ${a.status}`);let c=await a.json();b(c.automations??[]),g(null)}catch(a){g(a instanceof Error?a.message:String(a))}finally{e(!1)}},[]);(0,c.useEffect)(()=>{h();let a=setInterval(h,1e4);return()=>clearInterval(a)},[h]);let i=(0,c.useCallback)(async a=>{let b=await fetch(`/api/tasks/${a}/graph/schedule`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"pause"})});return b.ok&&await h(),b.ok},[h]),j=(0,c.useCallback)(async a=>{let b=await fetch(`/api/tasks/${a}/graph/schedule`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"resume"})});return b.ok&&await h(),b.ok},[h]),k=(0,c.useCallback)(async a=>{let b=await fetch(`/api/tasks/${a}/graph/schedule`,{method:"DELETE"});return b.ok&&await h(),b.ok},[h]),l=(0,c.useCallback)(async a=>{let b=await fetch("/api/schedules/poll",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({taskId:a})});return b.ok&&await h(),b.ok},[h]);return{automations:a,loading:d,error:f,refresh:h,pauseSchedule:i,resumeSchedule:j,deleteSchedule:k,runNow:l}}(),[u,w]=(0,c.useState)("rules"),[x,y]=(0,c.useState)("all"),[z,A]=(0,c.useState)(null),[B,C]=(0,c.useState)(null),[D,E]=(0,c.useState)({}),F=a=>{C(a),setTimeout(()=>C(null),2500)},G=a.filter(a=>"active"===a.schedule.state).length,H=a.filter(a=>"all"===x||a.schedule.state===x),I=a.find(a=>a.taskId===z),J=async(a,b)=>{b?.stopPropagation();let c="active"===a.schedule.state?g:h;await c(a.taskId)&&F(`${a.schedule.name||a.taskId} ${"active"===a.schedule.state?"paused":"resumed"}`)},K=async(a,b)=>{if(b?.stopPropagation(),D[a])return;E(b=>({...b,[a]:!0})),F("Running...");let c=await q(a);E(b=>{let c={...b};return delete c[a],c}),c&&F("Run triggered successfully")},L=async a=>{await k(a)&&(z===a&&A(null),F("Schedule deleted"))},M=a.reduce((a,b)=>a+b.schedule.runCount,0),N=a.filter(a=>(a.schedule.consecutiveFailures??0)>0).length;return(0,b.jsxs)("div",{className:"h-full flex flex-col text-[var(--foreground)] selection:bg-[var(--primary-muted)]",children:[B&&(0,b.jsx)("div",{className:"fixed bottom-8 left-1/2 -translate-x-1/2 z-50 animate-in fade-in slide-in-from-bottom-2 duration-200",children:(0,b.jsxs)("div",{className:"bg-[var(--card-bg)] border border-[var(--card-border)] px-4 py-2.5 rounded-xl shadow-lg flex items-center gap-2.5 text-sm font-medium",children:[(0,b.jsx)(i.Check,{size:16,className:"text-green-600"}),B]})}),(0,b.jsxs)("div",{className:"px-6 md:px-10 pt-6 pb-0",children:[(0,b.jsxs)("div",{className:"flex flex-col sm:flex-row justify-between items-start sm:items-end gap-4 mb-6",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-2xl font-bold tracking-tight mb-1",children:"Automations"}),(0,b.jsxs)("p",{className:"text-sm text-[var(--muted-foreground)]",children:[G," active rule",1!==G?"s":""," ·"," ",M.toLocaleString()," lifetime runs"]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("button",{onClick:()=>e(),className:"p-2 rounded-lg border border-[var(--card-border)] text-[var(--muted-foreground)] hover:text-[var(--foreground)] hover:border-[var(--card-hover-border)] transition-colors",children:(0,b.jsx)(o.RefreshCw,{size:16})}),(0,b.jsxs)("button",{onClick:()=>F("Create new schedule via API or chat"),className:"bg-[var(--foreground)] text-[var(--background)] px-4 py-2 rounded-lg text-sm font-medium flex items-center gap-2 hover:opacity-90 transition-opacity",children:[(0,b.jsx)(m.Plus,{size:16})," New rule"]})]})]}),(0,b.jsx)("div",{className:"border-b border-[var(--card-border)] flex gap-6",children:["rules","timeline"].map(a=>(0,b.jsxs)("button",{onClick:()=>{w(a),A(null)},className:`pb-3 text-sm capitalize transition-colors relative ${u===a?"text-[var(--foreground)] font-semibold":"text-[var(--muted-foreground)] hover:text-[var(--foreground)] font-medium"}`,children:[a,u===a&&(0,b.jsx)("span",{className:"absolute bottom-0 left-0 w-full h-[2px] bg-[var(--foreground)] rounded-t-sm"})]},a))})]}),(0,b.jsx)("div",{className:"flex-1 min-h-0 px-6 md:px-10 py-6 overflow-y-auto",children:(0,b.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-[1fr_340px] gap-8 items-start",children:[(0,b.jsx)("div",{className:"min-w-0",children:d&&0===a.length?(0,b.jsx)("div",{className:"text-center py-12 text-[var(--muted-foreground)] text-sm",children:"Loading automations..."}):"rules"===u?(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"flex gap-4 mb-5",children:["all","active","paused","stopped"].map(c=>{let d="all"===c?a.length:a.filter(a=>a.schedule.state===c).length;return(0,b.jsxs)("button",{onClick:()=>y(c),className:`text-xs font-medium pb-1 transition-colors border-b-2 ${x===c?"border-[var(--foreground)] text-[var(--foreground)]":"border-transparent text-[var(--muted-foreground)] hover:text-[var(--foreground)]"}`,children:[(0,b.jsx)("span",{className:"capitalize",children:c}),(0,b.jsx)("span",{className:"ml-1.5 text-[10px] text-[var(--muted-foreground)] font-mono",children:d})]},c)})}),(0,b.jsxs)("div",{className:"flex flex-col gap-3",children:[H.map(a=>{let c=z===a.taskId,d=(a.schedule.consecutiveFailures??0)>0,e=D[a.taskId];return(0,b.jsxs)("div",{onClick:()=>A(a.taskId),className:`p-5 rounded-xl border transition-all cursor-pointer ${c?"border-[var(--foreground)] shadow-sm":d?"border-red-200 bg-red-50/30 hover:border-red-300":"border-[var(--card-border)] bg-[var(--card-bg)] hover:border-[var(--card-hover-border)]"}`,children:[(0,b.jsxs)("div",{className:"flex justify-between items-start gap-4",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2.5 mb-1",children:[(0,b.jsx)("h3",{className:"text-base font-semibold truncate",children:a.schedule.name||a.schedule.rootMessageId||a.taskId}),d&&(0,b.jsxs)("span",{className:"shrink-0 text-[11px] font-medium text-red-600 bg-red-50 px-2 py-0.5 rounded-md border border-red-100 flex items-center gap-1",children:[(0,b.jsx)(p.AlertTriangle,{size:10}),a.schedule.consecutiveFailures," fail",(a.schedule.consecutiveFailures??0)>1?"s":""]}),"paused"===a.schedule.state&&(0,b.jsx)("span",{className:"shrink-0 text-[11px] font-medium text-amber-600 bg-amber-50 px-2 py-0.5 rounded-md border border-amber-100",children:"paused"})]}),a.schedule.description&&(0,b.jsx)("p",{className:"text-[13px] text-[var(--muted-foreground)] leading-relaxed truncate",children:a.schedule.description})]}),(0,b.jsxs)("div",{className:"flex items-center gap-3 shrink-0",onClick:a=>a.stopPropagation(),children:[(0,b.jsxs)("button",{onClick:b=>K(a.taskId,b),disabled:e,className:`flex items-center gap-1.5 px-2.5 py-1.5 rounded-lg border text-xs font-medium transition-colors ${e?"border-[var(--card-border)] text-[var(--muted-foreground)] bg-[var(--muted)] cursor-wait":"border-[var(--card-border)] text-[var(--muted-foreground)] bg-[var(--card-bg)] hover:bg-[var(--muted)] hover:border-[var(--card-hover-border)]"}`,children:[(0,b.jsx)(f.Play,{size:12,className:e?"animate-pulse":"fill-current"}),e?"Running":"Run"]}),(0,b.jsx)(t,{on:"active"===a.schedule.state,onToggle:()=>J(a)})]})]}),(0,b.jsxs)("div",{className:"mt-4 pt-3 border-t border-[var(--card-border)]/50 flex items-center gap-5 text-[11px] text-[var(--muted-foreground)]",children:[(0,b.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,b.jsx)(j.Clock,{size:12})," ",r(a.schedule)]}),(0,b.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,b.jsx)(l,{size:12})," ",s(a.schedule)]}),(0,b.jsxs)("span",{className:"ml-auto font-mono text-[var(--muted-foreground)]",children:[a.schedule.runCount.toLocaleString()," runs"]})]})]},a.taskId)}),0===H.length&&(0,b.jsx)("div",{className:"text-center py-12 text-[var(--muted-foreground)] text-sm border border-dashed border-[var(--card-border)] rounded-xl",children:0===a.length?"No automations yet. Create one via the API or chat.":"No matching rules found."})]})]}):(0,b.jsx)("div",{className:"text-center py-12 text-[var(--muted-foreground)] text-sm border border-dashed border-[var(--card-border)] rounded-xl",children:"Timeline view coming soon. Scheduled ticks will appear here chronologically."})}),(0,b.jsx)("div",{className:"lg:sticky lg:top-0",children:I?(0,b.jsx)(v,{item:I,onRun:a=>K(I.taskId,a),onToggle:()=>J(I),onDelete:()=>L(I.taskId),onClose:()=>A(null),isRunning:D[I.taskId]??!1}):(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"bg-[var(--card-bg)] border border-[var(--card-border)] rounded-2xl p-5 shadow-sm",children:[(0,b.jsx)("label",{className:"block text-[10px] font-semibold text-[var(--muted-foreground)] uppercase tracking-widest mb-4",children:"System Health"}),(0,b.jsxs)("div",{className:"flex justify-between items-end mb-2",children:[(0,b.jsxs)("span",{className:"text-4xl font-bold leading-none",children:[a.length>0?Math.round((a.length-N)/a.length*100):100,(0,b.jsx)("span",{className:"text-xl text-[var(--muted-foreground)]",children:"%"})]}),(0,b.jsx)("span",{className:`text-xs font-semibold px-2 py-1 rounded-md mb-1 ${0===N?"text-green-600 bg-green-50":"text-red-600 bg-red-50"}`,children:0===N?"Healthy":`${N} failing`})]}),(0,b.jsx)("div",{className:"h-1.5 w-full bg-[var(--muted)] rounded-full overflow-hidden mb-6",children:(0,b.jsx)("div",{className:"h-full bg-[var(--foreground)] rounded-full transition-all",style:{width:`${a.length>0?Math.round((a.length-N)/a.length*100):100}%`}})}),(0,b.jsx)("div",{className:"space-y-3",children:[{l:"Active schedules",v:String(G)},{l:"Currently failing",v:String(N)},{l:"Total lifetime runs",v:M.toLocaleString()}].map((a,c)=>(0,b.jsxs)("div",{className:"flex justify-between items-center text-[13px]",children:[(0,b.jsx)("span",{className:"text-[var(--muted-foreground)]",children:a.l}),(0,b.jsx)("span",{className:"font-mono font-medium",children:a.v})]},c))})]}),(0,b.jsxs)("div",{className:"bg-[var(--muted)]/50 border border-[var(--card-border)] rounded-2xl p-5",children:[(0,b.jsx)("p",{className:"text-[13px] text-[var(--muted-foreground)] leading-relaxed mb-4",children:"Select a rule from the list to inspect its schedule, stats, and policies."}),"timeline"!==u&&(0,b.jsxs)("button",{onClick:()=>w("timeline"),className:"text-[12px] font-medium flex items-center gap-1.5 hover:text-[var(--muted-foreground)] transition-colors",children:["View upcoming timeline ",(0,b.jsx)(n,{size:14})]})]})]})})]})})]})}function v({item:a,onRun:c,onToggle:d,onDelete:e,onClose:i,isRunning:k}){let l=a.schedule,m=l.cronExpr?.split(" ");return(0,b.jsxs)("div",{className:"bg-[var(--card-bg)] border border-[var(--card-border)] rounded-2xl p-5 shadow-sm",children:[(0,b.jsxs)("div",{className:"flex justify-between items-start mb-6",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("h3",{className:"text-lg font-bold leading-tight mb-1 truncate",children:l.name||l.rootMessageId||a.taskId}),(0,b.jsx)("span",{className:"font-mono text-[11px] text-[var(--muted-foreground)] block truncate",children:a.taskId})]}),(0,b.jsxs)("div",{className:"flex gap-1 -mt-1 -mr-1 shrink-0",children:[(0,b.jsx)("button",{onClick:e,className:"p-1.5 text-[var(--muted-foreground)] hover:text-red-600 hover:bg-red-50 rounded-md transition-colors",children:(0,b.jsx)(g.Trash2,{size:16})}),(0,b.jsx)("button",{onClick:i,className:"p-1.5 text-[var(--muted-foreground)] hover:text-[var(--foreground)] hover:bg-[var(--muted)] rounded-md transition-colors",children:(0,b.jsx)(h.X,{size:16})})]})]}),m&&5===m.length&&(0,b.jsxs)("div",{className:"mb-6",children:[(0,b.jsx)("label",{className:"block text-[10px] font-semibold text-[var(--muted-foreground)] uppercase tracking-widest mb-2",children:"Schedule"}),(0,b.jsxs)("div",{className:"bg-[var(--muted)] border border-[var(--card-border)] rounded-xl p-3.5",children:[(0,b.jsx)("div",{className:"flex justify-between gap-2 mb-3",children:m.map((a,c)=>(0,b.jsxs)("div",{className:"flex-1 flex flex-col items-center",children:[(0,b.jsx)("div",{className:"font-mono text-sm font-semibold text-[var(--primary)] bg-[var(--primary-muted)] w-full py-1 rounded text-center mb-1.5",children:a}),(0,b.jsx)("div",{className:"text-[9px] text-[var(--muted-foreground)] uppercase tracking-wider",children:q[c]})]},c))}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5 text-xs text-[var(--muted-foreground)] pt-3 border-t border-[var(--card-border)]/60",children:[(0,b.jsx)(j.Clock,{size:12})," ",r(l)]})]})]}),(0,b.jsxs)("div",{className:"mb-6",children:[(0,b.jsx)("label",{className:"block text-[10px] font-semibold text-[var(--muted-foreground)] uppercase tracking-widest mb-2",children:"Performance"}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-2.5",children:[(0,b.jsxs)("div",{className:"bg-[var(--muted)] border border-[var(--card-border)] rounded-xl p-3 flex flex-col items-center justify-center",children:[(0,b.jsx)("div",{className:"font-mono text-lg font-semibold mb-0.5",children:l.runCount.toLocaleString()}),(0,b.jsx)("div",{className:"text-[10px] text-[var(--muted-foreground)]",children:"total runs"})]}),(0,b.jsxs)("div",{className:"bg-[var(--muted)] border border-[var(--card-border)] rounded-xl p-3 flex flex-col items-center justify-center",children:[(0,b.jsx)("div",{className:"font-mono text-lg font-semibold mb-0.5",children:s(l)}),(0,b.jsx)("div",{className:"text-[10px] text-[var(--muted-foreground)]",children:"next run"})]})]})]}),(0,b.jsxs)("div",{className:"mb-6",children:[(0,b.jsx)("label",{className:"block text-[10px] font-semibold text-[var(--muted-foreground)] uppercase tracking-widest mb-2",children:"Configuration"}),(0,b.jsx)("div",{className:"space-y-2.5",children:[{l:"State",v:l.state},{l:"Cadence",v:r(l)},{l:"Max runs",v:l.maxRuns?.toString()??"Unlimited"},{l:"Fail limit",v:l.maxConsecutiveFailures?.toString()??"None"},{l:"Reset nodes",v:String(l.resetNodeIds.length)}].map((a,c)=>(0,b.jsxs)("div",{className:"flex justify-between items-center text-[13px] border-b border-[var(--card-border)]/50 pb-2 last:border-0 last:pb-0",children:[(0,b.jsx)("span",{className:"text-[var(--muted-foreground)]",children:a.l}),(0,b.jsx)("span",{className:"font-mono font-medium",children:a.v})]},c))})]}),(0,b.jsxs)("div",{className:"flex items-center gap-3 pt-4 border-t border-[var(--card-border)]",children:[(0,b.jsxs)("button",{onClick:c,disabled:k,className:"flex-1 bg-[var(--foreground)] text-[var(--background)] py-2.5 rounded-lg text-sm font-medium flex items-center justify-center gap-2 hover:opacity-90 disabled:opacity-50 transition-opacity",children:[(0,b.jsx)(f.Play,{size:14,className:k?"animate-pulse":"fill-current"}),k?"Running...":"Run now"]}),(0,b.jsx)("div",{className:"px-2",children:(0,b.jsx)(t,{on:"active"===l.state,onToggle:d})})]})]})}function w(){let[a,f]=(0,c.useState)(!1);return(0,c.useEffect)(()=>{f((0,e.loadWorkspaceSidebarVisible)())},[]),(0,b.jsxs)("div",{className:"flex h-screen bg-white text-zinc-900",children:[(0,b.jsx)(d.WorkspaceSidebar,{threads:[],activeThreadId:null,isLoading:!1,isCreating:!1,onSelectThread:()=>{},onCreateThread:()=>{},onRenameThread:()=>{},onDeleteThread:()=>{},visible:a,onToggle:()=>{f(a=>{let b=!a;return(0,e.persistWorkspaceSidebarVisible)(b),b})}}),(0,b.jsx)("div",{className:"flex-1 min-w-0 overflow-auto mt-4",children:(0,b.jsx)(u,{})})]})}a.s(["default",()=>w],45815)}];
|
|
1
|
+
module.exports=[45815,a=>{"use strict";var b=a.i(90944),c=a.i(72131),d=a.i(86976),e=a.i(55672),f=a.i(25015),g=a.i(81560),h=a.i(33508),i=a.i(33441),j=a.i(41710),k=a.i(60137);let l=(0,k.default)("calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]);var m=a.i(15618);let n=(0,k.default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);var o=a.i(69520),p=a.i(73570);let q=["min","hour","day","mon","wkday"];function r(a){if(a.cadence)return a.cadence;if(a.cronExpr)return a.cronExpr;let b=a.intervalMs;return b<6e4?`Every ${Math.round(b/1e3)}s`:b<36e5?`Every ${Math.round(b/6e4)}m`:b<864e5?`Every ${Math.round(b/36e5)}h`:`Every ${Math.round(b/864e5)}d`}function s(a){if("paused"===a.state)return"Paused";if("stopped"===a.state)return"Stopped";if(a.nextTickAt){let b=a.nextTickAt-Date.now();return b<0?"Overdue":b<6e4?`in ${Math.round(b/1e3)}s`:b<36e5?`in ${Math.round(b/6e4)}m`:b<864e5?`in ${Math.round(b/36e5)}h`:`in ${Math.round(b/864e5)}d`}if(a.lastTickAt){let b=a.lastTickAt+a.intervalMs-Date.now();return b<0?"Overdue":b<6e4?`in ${Math.round(b/1e3)}s`:b<36e5?`in ${Math.round(b/6e4)}m`:`in ${Math.round(b/36e5)}h`}return"Pending"}function t({on:a,onToggle:c,disabled:d}){return(0,b.jsx)("button",{onClick:c,disabled:d,className:`relative w-9 h-5 rounded-full transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-offset-1 focus:ring-[var(--muted-foreground)] ${a?"bg-green-600":"bg-[var(--muted)]"} ${d?"opacity-50 cursor-not-allowed":"cursor-pointer"}`,children:(0,b.jsx)("span",{className:`absolute top-[2px] left-[2px] w-4 h-4 bg-[var(--card-bg)] rounded-full transition-transform duration-200 shadow-sm ${a?"translate-x-4":"translate-x-0"}`})})}function u(){let{automations:a,loading:d,refresh:e,pauseSchedule:g,resumeSchedule:h,deleteSchedule:k,runNow:q}=function(){let[a,b]=(0,c.useState)([]),[d,e]=(0,c.useState)(!0),[f,g]=(0,c.useState)(null),h=(0,c.useCallback)(async()=>{try{e(!0);let a=await fetch("/api/automations");if(!a.ok)throw Error(`Failed to fetch: ${a.status}`);let c=await a.json();b(c.automations??[]),g(null)}catch(a){g(a instanceof Error?a.message:String(a))}finally{e(!1)}},[]);(0,c.useEffect)(()=>{h();let a=setInterval(h,1e4);return()=>clearInterval(a)},[h]);let i=(0,c.useCallback)(async a=>{let b=await fetch(`/api/tasks/${a}/graph/schedule`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"pause"})});return b.ok&&await h(),b.ok},[h]),j=(0,c.useCallback)(async a=>{let b=await fetch(`/api/tasks/${a}/graph/schedule`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"resume"})});return b.ok&&await h(),b.ok},[h]),k=(0,c.useCallback)(async a=>{let b=await fetch(`/api/tasks/${a}/graph/schedule`,{method:"DELETE"});return b.ok&&await h(),b.ok},[h]),l=(0,c.useCallback)(async a=>{let b=await fetch("/api/schedules/poll",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({taskId:a})});return b.ok&&await h(),b.ok},[h]);return{automations:a,loading:d,error:f,refresh:h,pauseSchedule:i,resumeSchedule:j,deleteSchedule:k,runNow:l}}(),[u,w]=(0,c.useState)("rules"),[x,y]=(0,c.useState)("all"),[z,A]=(0,c.useState)(null),[B,C]=(0,c.useState)(null),[D,E]=(0,c.useState)({}),F=a=>{C(a),setTimeout(()=>C(null),2500)},G=a.filter(a=>"active"===a.schedule.state).length,H=a.filter(a=>"all"===x||a.schedule.state===x),I=a.find(a=>a.taskId===z),J=async(a,b)=>{b?.stopPropagation();let c="active"===a.schedule.state?g:h;await c(a.taskId)&&F(`${a.schedule.name||a.taskId} ${"active"===a.schedule.state?"paused":"resumed"}`)},K=async(a,b)=>{if(b?.stopPropagation(),D[a])return;E(b=>({...b,[a]:!0})),F("Running...");let c=await q(a);E(b=>{let c={...b};return delete c[a],c}),c&&F("Run triggered successfully")},L=async a=>{await k(a)&&(z===a&&A(null),F("Schedule deleted"))},M=a.reduce((a,b)=>a+b.schedule.runCount,0),N=a.filter(a=>(a.schedule.consecutiveFailures??0)>0).length;return(0,b.jsxs)("div",{className:"h-full flex flex-col text-[var(--foreground)] selection:bg-[var(--primary-muted)]",children:[B&&(0,b.jsx)("div",{className:"fixed bottom-8 left-1/2 -translate-x-1/2 z-50 animate-in fade-in slide-in-from-bottom-2 duration-200",children:(0,b.jsxs)("div",{className:"bg-[var(--card-bg)] border border-[var(--card-border)] px-4 py-2.5 rounded-xl shadow-lg flex items-center gap-2.5 text-sm font-medium",children:[(0,b.jsx)(i.Check,{size:16,className:"text-green-600"}),B]})}),(0,b.jsxs)("div",{className:"px-6 md:px-10 pt-6 pb-0",children:[(0,b.jsxs)("div",{className:"flex flex-col sm:flex-row justify-between items-start sm:items-end gap-4 mb-6",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-2xl font-bold tracking-tight mb-1",children:"Automations"}),(0,b.jsxs)("p",{className:"text-sm text-[var(--muted-foreground)]",children:[G," active rule",1!==G?"s":""," ·"," ",M.toLocaleString()," lifetime runs"]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("button",{onClick:()=>e(),className:"p-2 rounded-lg border border-[var(--card-border)] text-[var(--muted-foreground)] hover:text-[var(--foreground)] hover:border-[var(--card-hover-border)] transition-colors",children:(0,b.jsx)(o.RefreshCw,{size:16})}),(0,b.jsxs)("button",{onClick:()=>F("Create new schedule via API or chat"),className:"bg-[var(--foreground)] text-[var(--background)] px-4 py-2 rounded-lg text-sm font-medium flex items-center gap-2 hover:opacity-90 transition-opacity",children:[(0,b.jsx)(m.Plus,{size:16})," New rule"]})]})]}),(0,b.jsx)("div",{className:"border-b border-[var(--card-border)] flex gap-6",children:["rules","timeline"].map(a=>(0,b.jsxs)("button",{onClick:()=>{w(a),A(null)},className:`pb-3 text-sm capitalize transition-colors relative ${u===a?"text-[var(--foreground)] font-semibold":"text-[var(--muted-foreground)] hover:text-[var(--foreground)] font-medium"}`,children:[a,u===a&&(0,b.jsx)("span",{className:"absolute bottom-0 left-0 w-full h-[2px] bg-[var(--foreground)] rounded-t-sm"})]},a))})]}),(0,b.jsx)("div",{className:"flex-1 min-h-0 px-6 md:px-10 py-6 overflow-y-auto",children:(0,b.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-[1fr_340px] gap-8 items-start",children:[(0,b.jsx)("div",{className:"min-w-0",children:d&&0===a.length?(0,b.jsx)("div",{className:"text-center py-12 text-[var(--muted-foreground)] text-sm",children:"Loading automations..."}):"rules"===u?(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"flex gap-4 mb-5",children:["all","active","paused","stopped"].map(c=>{let d="all"===c?a.length:a.filter(a=>a.schedule.state===c).length;return(0,b.jsxs)("button",{onClick:()=>y(c),className:`text-xs font-medium pb-1 transition-colors border-b-2 ${x===c?"border-[var(--foreground)] text-[var(--foreground)]":"border-transparent text-[var(--muted-foreground)] hover:text-[var(--foreground)]"}`,children:[(0,b.jsx)("span",{className:"capitalize",children:c}),(0,b.jsx)("span",{className:"ml-1.5 text-[10px] text-[var(--muted-foreground)] font-mono",children:d})]},c)})}),(0,b.jsxs)("div",{className:"flex flex-col gap-3",children:[H.map(a=>{let c=z===a.taskId,d=(a.schedule.consecutiveFailures??0)>0,e=D[a.taskId];return(0,b.jsxs)("div",{onClick:()=>A(a.taskId),className:`p-5 rounded-xl border transition-all cursor-pointer ${c?"border-[var(--foreground)] shadow-sm":d?"border-red-200 bg-red-50/30 hover:border-red-300":"border-[var(--card-border)] bg-[var(--card-bg)] hover:border-[var(--card-hover-border)]"}`,children:[(0,b.jsxs)("div",{className:"flex justify-between items-start gap-4",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2.5 mb-1",children:[(0,b.jsx)("h3",{className:"text-base font-semibold truncate",children:a.schedule.name||a.schedule.rootMessageId||a.taskId}),d&&(0,b.jsxs)("span",{className:"shrink-0 text-[11px] font-medium text-red-600 bg-red-50 px-2 py-0.5 rounded-md border border-red-100 flex items-center gap-1",children:[(0,b.jsx)(p.AlertTriangle,{size:10}),a.schedule.consecutiveFailures," fail",(a.schedule.consecutiveFailures??0)>1?"s":""]}),"paused"===a.schedule.state&&(0,b.jsx)("span",{className:"shrink-0 text-[11px] font-medium text-amber-600 bg-amber-50 px-2 py-0.5 rounded-md border border-amber-100",children:"paused"})]}),a.schedule.description&&(0,b.jsx)("p",{className:"text-[13px] text-[var(--muted-foreground)] leading-relaxed truncate",children:a.schedule.description})]}),(0,b.jsxs)("div",{className:"flex items-center gap-3 shrink-0",onClick:a=>a.stopPropagation(),children:[(0,b.jsxs)("button",{onClick:b=>K(a.taskId,b),disabled:e,className:`flex items-center gap-1.5 px-2.5 py-1.5 rounded-lg border text-xs font-medium transition-colors ${e?"border-[var(--card-border)] text-[var(--muted-foreground)] bg-[var(--muted)] cursor-wait":"border-[var(--card-border)] text-[var(--muted-foreground)] bg-[var(--card-bg)] hover:bg-[var(--muted)] hover:border-[var(--card-hover-border)]"}`,children:[(0,b.jsx)(f.Play,{size:12,className:e?"animate-pulse":"fill-current"}),e?"Running":"Run"]}),(0,b.jsx)(t,{on:"active"===a.schedule.state,onToggle:()=>J(a)})]})]}),(0,b.jsxs)("div",{className:"mt-4 pt-3 border-t border-[var(--card-border)]/50 flex items-center gap-5 text-[11px] text-[var(--muted-foreground)]",children:[(0,b.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,b.jsx)(j.Clock,{size:12})," ",r(a.schedule)]}),(0,b.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,b.jsx)(l,{size:12})," ",s(a.schedule)]}),(0,b.jsxs)("span",{className:"ml-auto font-mono text-[var(--muted-foreground)]",children:[a.schedule.runCount.toLocaleString()," runs"]})]})]},a.taskId)}),0===H.length&&(0,b.jsx)("div",{className:"text-center py-12 text-[var(--muted-foreground)] text-sm border border-dashed border-[var(--card-border)] rounded-xl",children:0===a.length?"No automations yet. Create one via the API or chat.":"No matching rules found."})]})]}):(0,b.jsx)("div",{className:"text-center py-12 text-[var(--muted-foreground)] text-sm border border-dashed border-[var(--card-border)] rounded-xl",children:"Timeline view coming soon. Scheduled ticks will appear here chronologically."})}),(0,b.jsx)("div",{className:"lg:sticky lg:top-0",children:I?(0,b.jsx)(v,{item:I,onRun:a=>K(I.taskId,a),onToggle:()=>J(I),onDelete:()=>L(I.taskId),onClose:()=>A(null),isRunning:D[I.taskId]??!1}):(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"bg-[var(--card-bg)] border border-[var(--card-border)] rounded-2xl p-5 shadow-sm",children:[(0,b.jsx)("label",{className:"block text-[10px] font-semibold text-[var(--muted-foreground)] uppercase tracking-widest mb-4",children:"System Health"}),(0,b.jsxs)("div",{className:"flex justify-between items-end mb-2",children:[(0,b.jsxs)("span",{className:"text-4xl font-bold leading-none",children:[a.length>0?Math.round((a.length-N)/a.length*100):100,(0,b.jsx)("span",{className:"text-xl text-[var(--muted-foreground)]",children:"%"})]}),(0,b.jsx)("span",{className:`text-xs font-semibold px-2 py-1 rounded-md mb-1 ${0===N?"text-green-600 bg-green-50":"text-red-600 bg-red-50"}`,children:0===N?"Healthy":`${N} failing`})]}),(0,b.jsx)("div",{className:"h-1.5 w-full bg-[var(--muted)] rounded-full overflow-hidden mb-6",children:(0,b.jsx)("div",{className:"h-full bg-[var(--foreground)] rounded-full transition-all",style:{width:`${a.length>0?Math.round((a.length-N)/a.length*100):100}%`}})}),(0,b.jsx)("div",{className:"space-y-3",children:[{l:"Active schedules",v:String(G)},{l:"Currently failing",v:String(N)},{l:"Total lifetime runs",v:M.toLocaleString()}].map((a,c)=>(0,b.jsxs)("div",{className:"flex justify-between items-center text-[13px]",children:[(0,b.jsx)("span",{className:"text-[var(--muted-foreground)]",children:a.l}),(0,b.jsx)("span",{className:"font-mono font-medium",children:a.v})]},c))})]}),(0,b.jsxs)("div",{className:"bg-[var(--muted)]/50 border border-[var(--card-border)] rounded-2xl p-5",children:[(0,b.jsx)("p",{className:"text-[13px] text-[var(--muted-foreground)] leading-relaxed mb-4",children:"Select a rule from the list to inspect its schedule, stats, and policies."}),"timeline"!==u&&(0,b.jsxs)("button",{onClick:()=>w("timeline"),className:"text-[12px] font-medium flex items-center gap-1.5 hover:text-[var(--muted-foreground)] transition-colors",children:["View upcoming timeline ",(0,b.jsx)(n,{size:14})]})]})]})})]})})]})}function v({item:a,onRun:c,onToggle:d,onDelete:e,onClose:i,isRunning:k}){let l=a.schedule,m=l.cronExpr?.split(" ");return(0,b.jsxs)("div",{className:"bg-[var(--card-bg)] border border-[var(--card-border)] rounded-2xl p-5 shadow-sm",children:[(0,b.jsxs)("div",{className:"flex justify-between items-start mb-6",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("h3",{className:"text-lg font-bold leading-tight mb-1 truncate",children:l.name||l.rootMessageId||a.taskId}),(0,b.jsx)("span",{className:"font-mono text-[11px] text-[var(--muted-foreground)] block truncate",children:a.taskId})]}),(0,b.jsxs)("div",{className:"flex gap-1 -mt-1 -mr-1 shrink-0",children:[(0,b.jsx)("button",{onClick:e,className:"p-1.5 text-[var(--muted-foreground)] hover:text-red-600 hover:bg-red-50 rounded-md transition-colors",children:(0,b.jsx)(g.Trash2,{size:16})}),(0,b.jsx)("button",{onClick:i,className:"p-1.5 text-[var(--muted-foreground)] hover:text-[var(--foreground)] hover:bg-[var(--muted)] rounded-md transition-colors",children:(0,b.jsx)(h.X,{size:16})})]})]}),m&&5===m.length&&(0,b.jsxs)("div",{className:"mb-6",children:[(0,b.jsx)("label",{className:"block text-[10px] font-semibold text-[var(--muted-foreground)] uppercase tracking-widest mb-2",children:"Schedule"}),(0,b.jsxs)("div",{className:"bg-[var(--muted)] border border-[var(--card-border)] rounded-xl p-3.5",children:[(0,b.jsx)("div",{className:"flex justify-between gap-2 mb-3",children:m.map((a,c)=>(0,b.jsxs)("div",{className:"flex-1 flex flex-col items-center",children:[(0,b.jsx)("div",{className:"font-mono text-sm font-semibold text-[var(--primary)] bg-[var(--primary-muted)] w-full py-1 rounded text-center mb-1.5",children:a}),(0,b.jsx)("div",{className:"text-[9px] text-[var(--muted-foreground)] uppercase tracking-wider",children:q[c]})]},c))}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5 text-xs text-[var(--muted-foreground)] pt-3 border-t border-[var(--card-border)]/60",children:[(0,b.jsx)(j.Clock,{size:12})," ",r(l)]})]})]}),(0,b.jsxs)("div",{className:"mb-6",children:[(0,b.jsx)("label",{className:"block text-[10px] font-semibold text-[var(--muted-foreground)] uppercase tracking-widest mb-2",children:"Performance"}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-2.5",children:[(0,b.jsxs)("div",{className:"bg-[var(--muted)] border border-[var(--card-border)] rounded-xl p-3 flex flex-col items-center justify-center",children:[(0,b.jsx)("div",{className:"font-mono text-lg font-semibold mb-0.5",children:l.runCount.toLocaleString()}),(0,b.jsx)("div",{className:"text-[10px] text-[var(--muted-foreground)]",children:"total runs"})]}),(0,b.jsxs)("div",{className:"bg-[var(--muted)] border border-[var(--card-border)] rounded-xl p-3 flex flex-col items-center justify-center",children:[(0,b.jsx)("div",{className:"font-mono text-lg font-semibold mb-0.5",children:s(l)}),(0,b.jsx)("div",{className:"text-[10px] text-[var(--muted-foreground)]",children:"next run"})]})]})]}),(0,b.jsxs)("div",{className:"mb-6",children:[(0,b.jsx)("label",{className:"block text-[10px] font-semibold text-[var(--muted-foreground)] uppercase tracking-widest mb-2",children:"Configuration"}),(0,b.jsx)("div",{className:"space-y-2.5",children:[{l:"State",v:l.state},{l:"Cadence",v:r(l)},{l:"Max runs",v:l.maxRuns?.toString()??"Unlimited"},{l:"Fail limit",v:l.maxConsecutiveFailures?.toString()??"None"},{l:"Reset nodes",v:String(l.resetNodeIds.length)}].map((a,c)=>(0,b.jsxs)("div",{className:"flex justify-between items-center text-[13px] border-b border-[var(--card-border)]/50 pb-2 last:border-0 last:pb-0",children:[(0,b.jsx)("span",{className:"text-[var(--muted-foreground)]",children:a.l}),(0,b.jsx)("span",{className:"font-mono font-medium",children:a.v})]},c))})]}),(0,b.jsxs)("div",{className:"flex items-center gap-3 pt-4 border-t border-[var(--card-border)]",children:[(0,b.jsxs)("button",{onClick:c,disabled:k,className:"flex-1 bg-[var(--foreground)] text-[var(--background)] py-2.5 rounded-lg text-sm font-medium flex items-center justify-center gap-2 hover:opacity-90 disabled:opacity-50 transition-opacity",children:[(0,b.jsx)(f.Play,{size:14,className:k?"animate-pulse":"fill-current"}),k?"Running...":"Run now"]}),(0,b.jsx)("div",{className:"px-2",children:(0,b.jsx)(t,{on:"active"===l.state,onToggle:d})})]})]})}function w(){let[a,f]=(0,c.useState)(!1);return(0,c.useEffect)(()=>{f((0,e.loadWorkspaceSidebarVisible)())},[]),(0,b.jsxs)("div",{className:"flex h-screen bg-[var(--card-bg)] text-[var(--foreground)]",children:[(0,b.jsx)(d.WorkspaceSidebar,{threads:[],activeThreadId:null,isLoading:!1,isCreating:!1,onSelectThread:()=>{},onCreateThread:()=>{},onRenameThread:()=>{},onDeleteThread:()=>{},visible:a,onToggle:()=>{f(a=>{let b=!a;return(0,e.persistWorkspaceSidebarVisible)(b),b})}}),(0,b.jsx)("div",{className:"flex-1 min-w-0 overflow-auto mt-4",children:(0,b.jsx)(u,{})})]})}a.s(["default",()=>w],45815)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=app_automations_page_tsx_3d732184._.js.map
|