@mndrk/agx 2.0.22 → 2.0.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cloud-runtime/standalone/.next/BUILD_ID +1 -1
- package/cloud-runtime/standalone/.next/app-path-routes-manifest.json +1 -0
- package/cloud-runtime/standalone/.next/build-manifest.json +6 -6
- package/cloud-runtime/standalone/.next/prerender-manifest.json +3 -3
- package/cloud-runtime/standalone/.next/routes-manifest.json +6 -0
- package/cloud-runtime/standalone/.next/server/app/_global-error/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/_global-error/page.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/_global-error.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/_not-found/page.js +6 -5
- package/cloud-runtime/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found.html +14 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found.rsc +11 -11
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +11 -11
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +7 -7
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents/[id]/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/agents/[id]/page.js +5 -5
- package/cloud-runtime/standalone/.next/server/app/agents/[id]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/agents/page.js +5 -5
- package/cloud-runtime/standalone/.next/server/app/agents/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents.html +14 -2
- package/cloud-runtime/standalone/.next/server/app/agents.rsc +10 -10
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_full.segment.rsc +10 -10
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_index.segment.rsc +4 -4
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +4 -4
- package/cloud-runtime/standalone/.next/server/app/agents.segments/agents.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/file-search/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/filesystem/browse/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/api/filesystem/browse/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/api/filesystem/browse/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/api/filesystem/browse/route.js +7 -0
- package/cloud-runtime/standalone/.next/server/app/api/filesystem/browse/route.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/api/filesystem/browse/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/api/filesystem/browse/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/api/providers/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/providers/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/status/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/automations/page.js +5 -5
- package/cloud-runtime/standalone/.next/server/app/automations/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations.html +14 -2
- package/cloud-runtime/standalone/.next/server/app/automations.rsc +11 -11
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_full.segment.rsc +11 -11
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_index.segment.rsc +4 -4
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_tree.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +5 -5
- package/cloud-runtime/standalone/.next/server/app/automations.segments/automations.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/board/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/board/page.js +6 -6
- package/cloud-runtime/standalone/.next/server/app/board/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/board/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/board.html +14 -2
- package/cloud-runtime/standalone/.next/server/app/board.rsc +8 -8
- package/cloud-runtime/standalone/.next/server/app/board.segments/_full.segment.rsc +8 -8
- package/cloud-runtime/standalone/.next/server/app/board.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/board.segments/_index.segment.rsc +4 -4
- package/cloud-runtime/standalone/.next/server/app/board.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/board/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/board.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/execution-graph/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/execution-graph/page.js +5 -5
- package/cloud-runtime/standalone/.next/server/app/execution-graph/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph.html +14 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.rsc +10 -10
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_full.segment.rsc +10 -10
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_index.segment.rsc +4 -4
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +4 -4
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/index.html +14 -2
- package/cloud-runtime/standalone/.next/server/app/index.rsc +10 -10
- package/cloud-runtime/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +4 -4
- package/cloud-runtime/standalone/.next/server/app/index.segments/_full.segment.rsc +10 -10
- package/cloud-runtime/standalone/.next/server/app/index.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/index.segments/_index.segment.rsc +4 -4
- package/cloud-runtime/standalone/.next/server/app/index.segments/_tree.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/page.js +5 -5
- package/cloud-runtime/standalone/.next/server/app/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page.js +5 -5
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page.js +5 -5
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/projects/orphans/page.js +5 -5
- package/cloud-runtime/standalone/.next/server/app/projects/orphans/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.html +13 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.rsc +10 -10
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_full.segment.rsc +10 -10
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_index.segment.rsc +4 -4
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +4 -4
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/projects/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/projects/page.js +5 -5
- package/cloud-runtime/standalone/.next/server/app/projects/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects.html +14 -2
- package/cloud-runtime/standalone/.next/server/app/projects.rsc +10 -10
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_full.segment.rsc +10 -10
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_index.segment.rsc +4 -4
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +4 -4
- package/cloud-runtime/standalone/.next/server/app/projects.segments/projects.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/settings/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/settings/page.js +5 -5
- package/cloud-runtime/standalone/.next/server/app/settings/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings.html +14 -2
- package/cloud-runtime/standalone/.next/server/app/settings.rsc +9 -9
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_full.segment.rsc +9 -9
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_index.segment.rsc +4 -4
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/settings.segments/settings.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/status/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/status/page.js +5 -5
- package/cloud-runtime/standalone/.next/server/app/status/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/status/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/status.html +14 -2
- package/cloud-runtime/standalone/.next/server/app/status.rsc +10 -10
- package/cloud-runtime/standalone/.next/server/app/status.segments/_full.segment.rsc +10 -10
- package/cloud-runtime/standalone/.next/server/app/status.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/status.segments/_index.segment.rsc +4 -4
- package/cloud-runtime/standalone/.next/server/app/status.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.segments/status/__PAGE__.segment.rsc +4 -4
- package/cloud-runtime/standalone/.next/server/app/status.segments/status.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/thread/[id]/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/thread/[id]/page.js +5 -5
- package/cloud-runtime/standalone/.next/server/app/thread/[id]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/welcome/page.js +5 -5
- package/cloud-runtime/standalone/.next/server/app/welcome/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome.html +14 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.rsc +10 -10
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_full.segment.rsc +10 -10
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_index.segment.rsc +4 -4
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +4 -4
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app-paths-manifest.json +1 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__60ba5058._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__621dcb4a._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__babd2675._.js → [root-of-the-server]__82d76712._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__d36da34d._.js → [root-of-the-server]__c2767ca5._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_filesystem_browse_route_actions_8e268170.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_2e721df2._.js +4 -4
- package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_74d1c060._.js +6 -6
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__fb05a385._.js → [root-of-the-server]__056cdf7d._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__113d6767._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__8d1af2c9._.js → [root-of-the-server]__11e33b9b._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__296a25b5._.js → [root-of-the-server]__19cd257e._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__226f8a19._.js +13 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__51980630._.js → [root-of-the-server]__26d669c2._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__47caef59._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0a103abc._.js → [root-of-the-server]__4ebf5947._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__5ffa2883._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__6a9d3855._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__942ca438._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__c45c7360._.js → [root-of-the-server]__a667191a._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__1cfbd715._.js → [root-of-the-server]__aa28d46f._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__bd4d5430._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__ab36b420._.js → [root-of-the-server]__bde5bc78._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__cde88183._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__ce3b51aa._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__2503b467._.js → [root-of-the-server]__d36dd8bc._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__b77ae83d._.js → [root-of-the-server]__dac5ab29._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__3405b8e4._.js → [root-of-the-server]__e87ba2b0._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__b9356576._.js → [root-of-the-server]__f62d412e._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__756711b8._.js → [root-of-the-server]__f63d6594._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__46de03a9._.js → [root-of-the-server]__febbd0b8._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__89c70d6f._.js → [root-of-the-server]__ff22a10e._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_a19a362a._.js → _02c78cac._.js} +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{node_modules_next_dist_08570d7f._.js → _0b36c9d6._.js} +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_0ff7c687._.js +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_0ffd2660._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_37435df3._.js → _173da79d._.js} +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_4fe611fe._.js → _1c58ab2d._.js} +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_a88b4884._.js → _222af282._.js} +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_27cb3359._.js +95 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_8ebf36f6._.js → _3aa32c11._.js} +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_43472af3._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_4b5d7c9b._.js +95 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_c52176ad._.js → _4d4ba84b._.js} +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_194cda6c._.js → _50d04b8f._.js} +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_a8eaf6bc._.js → _629dc55c._.js} +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_6a367524._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_93914ecd._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_94effa0f._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_a696e9b3._.js +95 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_ae20456d._.js +4 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_c838f593._.js +95 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_cd5e154b._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_d021529a._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_fc18d7b5._.js → _e04b4053._.js} +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_e1769638._.js +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_b9d3574c._.js → _f1465cc8._.js} +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_d4878ef1._.js → _f2a7beb1._.js} +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_fbced30b._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_8d8836a8._.js → _fc1aaf9e._.js} +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/app_agents_[id]_page_tsx_9c49d8c8._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/app_agents_page_tsx_f5f08ed8._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/app_automations_page_tsx_3d732184._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/app_execution-graph_page_tsx_f854185a._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/app_global-error_tsx_9170b7a0._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_page_tsx_e0fabf6e._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/components_chat-ui_bfeda794._.js +5 -5
- package/cloud-runtime/standalone/.next/server/chunks/ssr/components_thread_WorkspaceSidebar_tsx_e660301b._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_next_dist_03ec2107._.js +4 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{node_modules_next_dist_esm_build_templates_app-page_d92e159d.js → node_modules_next_dist_esm_build_templates_app-page_61c49327.js} +3 -3
- package/cloud-runtime/standalone/.next/server/middleware-build-manifest.js +4 -4
- package/cloud-runtime/standalone/.next/server/middleware-manifest.json +5 -5
- package/cloud-runtime/standalone/.next/server/pages/404.html +13 -1
- package/cloud-runtime/standalone/.next/server/pages/500.html +2 -2
- package/cloud-runtime/standalone/.next/server/server-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/server-reference-manifest.json +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/{785cb91c31bb3303.js → 09f9eeea393db0fd.js} +3 -3
- package/cloud-runtime/standalone/.next/static/chunks/1184bf1bfdf97666.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/2acd153dc5252e88.js +30 -0
- package/cloud-runtime/standalone/.next/static/chunks/2deeba875ec50761.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/45b4d0ee5c92d45b.js +93 -0
- package/cloud-runtime/standalone/.next/static/chunks/5ace4b4f4475962a.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/616d66dbec9e4b8b.js +93 -0
- package/cloud-runtime/standalone/.next/static/chunks/64f812259cf8c243.js +18 -0
- package/cloud-runtime/standalone/.next/static/chunks/6dbf5940e30fa9c7.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/7d4c1d97169c8522.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/7f13efe9329d3f97.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/80219bbddcf65109.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/{47ef8bb2118ea917.js → 86ace6febb11ad71.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/{90c7dbc004f59a42.js → 88e24940a5d5d386.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/9d50c2514f72d926.css +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/b079c677d9b39f98.js +5 -0
- package/cloud-runtime/standalone/.next/static/chunks/b4e298542d366e31.js +93 -0
- package/cloud-runtime/standalone/.next/static/chunks/b88352740262931f.js +6 -0
- package/cloud-runtime/standalone/.next/static/chunks/bd6c5b5b4fbd6413.css +2 -0
- package/cloud-runtime/standalone/.next/static/chunks/c5609fd2abb65850.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/{7ca3e4f9ed7425a8.js → d95cd010361834be.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/da434b1ad885d636.js +30 -0
- package/cloud-runtime/standalone/.next/static/chunks/e44264686aa5ecbf.js +93 -0
- package/cloud-runtime/standalone/.next/static/chunks/eab1c7d0246592f8.js +8 -0
- package/cloud-runtime/standalone/.next/static/chunks/f7bbf5cfcfed8ba9.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/{turbopack-92401168917c21f2.js → turbopack-5b5918f610666d2d.js} +1 -1
- package/cloud-runtime/standalone/README.md +15 -3
- package/cloud-runtime/standalone/app/agents/[id]/page.tsx +147 -147
- package/cloud-runtime/standalone/app/agents/page.tsx +115 -310
- package/cloud-runtime/standalone/app/api/filesystem/browse/route.ts +39 -0
- package/cloud-runtime/standalone/app/api/status/route.ts +1 -1
- package/cloud-runtime/standalone/app/api/threads/route.ts +4 -5
- package/cloud-runtime/standalone/app/automations/page.tsx +1 -1
- package/cloud-runtime/standalone/app/execution-graph/page.tsx +86 -86
- package/cloud-runtime/standalone/app/global-error.tsx +54 -0
- package/cloud-runtime/standalone/app/globals.css +165 -59
- package/cloud-runtime/standalone/app/layout.tsx +17 -0
- package/cloud-runtime/standalone/app/projects/[slug]/layout.tsx +1 -1
- package/cloud-runtime/standalone/app/projects/[slug]/page.tsx +58 -58
- package/cloud-runtime/standalone/app/status/page.tsx +20 -20
- package/cloud-runtime/standalone/app/welcome/page.tsx +20 -15
- package/cloud-runtime/standalone/components/AutomationsBoard.tsx +1 -1
- package/cloud-runtime/standalone/components/ClientOnly.tsx +17 -0
- package/cloud-runtime/standalone/components/ConsentToggle/index.tsx +3 -3
- package/cloud-runtime/standalone/components/ContextMenu.tsx +123 -0
- package/cloud-runtime/standalone/components/DaemonBar.tsx +9 -9
- package/cloud-runtime/standalone/components/DirectoryBrowser.tsx +140 -0
- package/cloud-runtime/standalone/components/FirstRunModal/index.tsx +10 -10
- package/cloud-runtime/standalone/components/KanbanBoard.tsx +9 -9
- package/cloud-runtime/standalone/components/OfflineIndicator.tsx +149 -0
- package/cloud-runtime/standalone/components/ProjectModal.tsx +32 -8
- package/cloud-runtime/standalone/components/TaskCard.tsx +3 -3
- package/cloud-runtime/standalone/components/WorkspaceRootsList/index.tsx +57 -35
- package/cloud-runtime/standalone/components/chat-ui/AttachmentTray.tsx +7 -7
- package/cloud-runtime/standalone/components/chat-ui/ChatContainer.tsx +218 -121
- package/cloud-runtime/standalone/components/chat-ui/ChatPreview.tsx +4 -4
- package/cloud-runtime/standalone/components/chat-ui/CommandPopover.tsx +4 -4
- package/cloud-runtime/standalone/components/chat-ui/Composer.tsx +65 -29
- package/cloud-runtime/standalone/components/chat-ui/FileMentionPopover.tsx +4 -4
- package/cloud-runtime/standalone/components/chat-ui/FileMentionPopoverItem.tsx +9 -9
- package/cloud-runtime/standalone/components/chat-ui/LogPanel.tsx +5 -5
- package/cloud-runtime/standalone/components/chat-ui/Markdown.tsx +11 -11
- package/cloud-runtime/standalone/components/chat-ui/MentionPopover.tsx +11 -11
- package/cloud-runtime/standalone/components/chat-ui/MessageAttachments.tsx +5 -5
- package/cloud-runtime/standalone/components/chat-ui/MessageBubble.tsx +6 -6
- package/cloud-runtime/standalone/components/chat-ui/MessageList.tsx +60 -135
- package/cloud-runtime/standalone/components/chat-ui/ParticipantBar.tsx +507 -263
- package/cloud-runtime/standalone/components/chat-ui/ProjectPicker.tsx +17 -17
- package/cloud-runtime/standalone/components/chat-ui/ReactionChip.tsx +1 -1
- package/cloud-runtime/standalone/components/chat-ui/SearchResults.tsx +14 -14
- package/cloud-runtime/standalone/components/chat-ui/StatusIndicator.tsx +7 -7
- package/cloud-runtime/standalone/components/chat-ui/TaskDraftCard.tsx +14 -14
- package/cloud-runtime/standalone/components/chat-ui/TaskStatusCard.tsx +10 -10
- package/cloud-runtime/standalone/components/chat-ui/ThreadMentionPopover.tsx +8 -8
- package/cloud-runtime/standalone/components/chat-ui/ThreadView.tsx +36 -33
- package/cloud-runtime/standalone/components/chat-ui/TypingIndicator.tsx +7 -7
- package/cloud-runtime/standalone/components/errors/StartupGuardWrapper.tsx +96 -0
- package/cloud-runtime/standalone/components/thread/WorkspaceSidebar.tsx +173 -193
- package/cloud-runtime/standalone/fix-primary.js +30 -0
- package/cloud-runtime/standalone/fix-theme.js +78 -0
- package/cloud-runtime/standalone/hooks/useKeyboardShortcuts.ts +131 -0
- package/cloud-runtime/standalone/lib/history-store.ts +6 -1
- package/cloud-runtime/standalone/lib/storage/thread-adapter.ts +3 -3
- package/cloud-runtime/standalone/state/windowState.ts +179 -0
- package/cloud-runtime/standalone/styles/workspaceSidebar.css +89 -94
- package/cloud-runtime/standalone/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__3fe0b1a1._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__5ea3dff5._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__931817d6._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__e68a6e30._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__fad8b80a._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_181427d4._.js +0 -95
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_2da02644._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_60f7e403._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_7dbc349d._.js +0 -95
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_a17cabe8._.js +0 -95
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_d743f11d._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_e05b04a5._.js +0 -4
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_f2970e5f._.js +0 -4
- package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_001a8448._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_ece394eb.js +0 -3
- package/cloud-runtime/standalone/.next/static/chunks/047593c886feba72.css +0 -2
- package/cloud-runtime/standalone/.next/static/chunks/0c589ec8063c3a1f.js +0 -30
- package/cloud-runtime/standalone/.next/static/chunks/1826707bd2f73ca6.js +0 -8
- package/cloud-runtime/standalone/.next/static/chunks/1f1b912fe2e3d5bd.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/32f13ace6661115d.js +0 -93
- package/cloud-runtime/standalone/.next/static/chunks/3b0a3b913dd15028.js +0 -30
- package/cloud-runtime/standalone/.next/static/chunks/4b3358c52d01a3f9.css +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/4ee6151684568990.js +0 -93
- package/cloud-runtime/standalone/.next/static/chunks/5488a71a8515e8b2.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/5aad4adabb65cd20.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/5ce01dbd17ce3bb2.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/5f5ae2ea4fa2b8f0.js +0 -12
- package/cloud-runtime/standalone/.next/static/chunks/6bb1ecbc3b80922c.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/7657d70cc0c40c81.js +0 -6
- package/cloud-runtime/standalone/.next/static/chunks/7f2513325b592f25.js +0 -18
- package/cloud-runtime/standalone/.next/static/chunks/8b658ccf17b771b9.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/b39122b85655e5b0.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/b649593a57df218f.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/b8ca4cb386211980.js +0 -5
- package/cloud-runtime/standalone/.next/static/chunks/e103488c85a7b445.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/e355ac901e70f43d.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/ebebe08434070698.js +0 -93
- /package/cloud-runtime/standalone/.next/static/{H3MuYxcqCPfZoSC2uYW8f → Rn0z3Af30mHwrHLLwgKlz}/_buildManifest.js +0 -0
- /package/cloud-runtime/standalone/.next/static/{H3MuYxcqCPfZoSC2uYW8f → Rn0z3Af30mHwrHLLwgKlz}/_clientMiddlewareManifest.json +0 -0
- /package/cloud-runtime/standalone/.next/static/{H3MuYxcqCPfZoSC2uYW8f → Rn0z3Af30mHwrHLLwgKlz}/_ssgManifest.js +0 -0
|
@@ -16,18 +16,16 @@ import { MessageSquare, Copy, Hash, Loader2, Trash2, User, Clock, Zap, ListTodo,
|
|
|
16
16
|
import { agentAvatarUrl } from "./ParticipantBar";
|
|
17
17
|
import { stripMarkers } from "@/lib/chat-utils";
|
|
18
18
|
|
|
19
|
-
const INLINE_PREVIEW_COUNT = 2;
|
|
20
19
|
|
|
21
20
|
const THREAD_STATUSES: { value: ThreadStatus; label: string; color: string }[] = [
|
|
22
|
-
{ value: "
|
|
23
|
-
{ value: "
|
|
24
|
-
{ value: "resolved", label: "Resolved", color: "#3b82f6" },
|
|
21
|
+
{ value: "active", label: "Active", color: "#f59e0b" },
|
|
22
|
+
{ value: "paused", label: "Paused", color: "#f97316" },
|
|
25
23
|
{ value: "in-review", label: "In Review", color: "#6b7280" },
|
|
24
|
+
{ value: "done", label: "Done", color: "#3b82f6" },
|
|
26
25
|
{ value: "archived", label: "Archived", color: "#9ca3af" },
|
|
27
|
-
{ value: "paused", label: "Paused", color: "#f97316" },
|
|
28
26
|
];
|
|
29
27
|
|
|
30
|
-
const COLLAPSED_STATUSES: Set<ThreadStatus> = new Set(["
|
|
28
|
+
const COLLAPSED_STATUSES: Set<ThreadStatus> = new Set(["done", "in-review", "archived"]);
|
|
31
29
|
|
|
32
30
|
interface Props {
|
|
33
31
|
messages: GroupMessage[];
|
|
@@ -53,8 +51,6 @@ interface Props {
|
|
|
53
51
|
}
|
|
54
52
|
|
|
55
53
|
interface ThreadData extends ThreadInfo {
|
|
56
|
-
/** Last N replies to show inline */
|
|
57
|
-
previewReplies: GroupMessage[];
|
|
58
54
|
/** All replies for the full view */
|
|
59
55
|
allReplies: GroupMessage[];
|
|
60
56
|
}
|
|
@@ -71,7 +67,6 @@ function buildThreadDataMap(messages: GroupMessage[]): Map<string, ThreadData> {
|
|
|
71
67
|
replyCount: 0,
|
|
72
68
|
participants: [],
|
|
73
69
|
lastActivityAt: 0,
|
|
74
|
-
previewReplies: [],
|
|
75
70
|
allReplies: [],
|
|
76
71
|
};
|
|
77
72
|
map.set(rootId, data);
|
|
@@ -86,13 +81,8 @@ function buildThreadDataMap(messages: GroupMessage[]): Map<string, ThreadData> {
|
|
|
86
81
|
data.participants.push("user");
|
|
87
82
|
}
|
|
88
83
|
}
|
|
89
|
-
// Sort replies and keep only last N for preview
|
|
90
84
|
for (const data of map.values()) {
|
|
91
85
|
data.allReplies.sort((a, b) => a.timestamp - b.timestamp);
|
|
92
|
-
data.previewReplies = [...data.allReplies];
|
|
93
|
-
if (data.previewReplies.length > INLINE_PREVIEW_COUNT) {
|
|
94
|
-
data.previewReplies = data.previewReplies.slice(-INLINE_PREVIEW_COUNT);
|
|
95
|
-
}
|
|
96
86
|
}
|
|
97
87
|
return map;
|
|
98
88
|
}
|
|
@@ -123,7 +113,7 @@ export function MessageList({
|
|
|
123
113
|
}: Props) {
|
|
124
114
|
const messageRefs = useRef<Map<string, HTMLDivElement>>(new Map());
|
|
125
115
|
const [statusMenuMessageId, setStatusMenuMessageId] = useState<string | null>(null);
|
|
126
|
-
const [activeTab, setActiveTab] = useState<"active" | "paused" | "in-review" | "
|
|
116
|
+
const [activeTab, setActiveTab] = useState<"active" | "paused" | "in-review" | "done" | "archived">("active");
|
|
127
117
|
const participantMap = Object.fromEntries(participants.map((p) => [p.id, p]));
|
|
128
118
|
|
|
129
119
|
// Filter to only main chat messages (not thread replies), reverse chronological
|
|
@@ -133,24 +123,24 @@ export function MessageList({
|
|
|
133
123
|
);
|
|
134
124
|
|
|
135
125
|
const TAB_FILTERS: Record<typeof activeTab, Set<ThreadStatus>> = {
|
|
136
|
-
active: new Set(["
|
|
126
|
+
active: new Set(["active"]),
|
|
137
127
|
paused: new Set(["paused"]),
|
|
138
128
|
"in-review": new Set(["in-review"]),
|
|
139
|
-
|
|
129
|
+
done: new Set(["done"]),
|
|
140
130
|
archived: new Set(["archived"]),
|
|
141
131
|
};
|
|
142
132
|
|
|
143
133
|
const mainMessages = useMemo(
|
|
144
|
-
() => allMainMessages.filter((msg) => TAB_FILTERS[activeTab].has(msg.threadStatus ?? "
|
|
134
|
+
() => allMainMessages.filter((msg) => TAB_FILTERS[activeTab].has(msg.threadStatus ?? "active")),
|
|
145
135
|
[allMainMessages, activeTab]
|
|
146
136
|
);
|
|
147
137
|
|
|
148
138
|
const tabCounts = useMemo(() => ({
|
|
149
|
-
active: allMainMessages.filter((m) => TAB_FILTERS.active.has(m.threadStatus ?? "
|
|
150
|
-
paused: allMainMessages.filter((m) => TAB_FILTERS.paused.has(m.threadStatus ?? "
|
|
151
|
-
"in-review": allMainMessages.filter((m) => TAB_FILTERS["in-review"].has(m.threadStatus ?? "
|
|
152
|
-
|
|
153
|
-
archived: allMainMessages.filter((m) => TAB_FILTERS.archived.has(m.threadStatus ?? "
|
|
139
|
+
active: allMainMessages.filter((m) => TAB_FILTERS.active.has(m.threadStatus ?? "active")).length,
|
|
140
|
+
paused: allMainMessages.filter((m) => TAB_FILTERS.paused.has(m.threadStatus ?? "active")).length,
|
|
141
|
+
"in-review": allMainMessages.filter((m) => TAB_FILTERS["in-review"].has(m.threadStatus ?? "active")).length,
|
|
142
|
+
done: allMainMessages.filter((m) => TAB_FILTERS.done.has(m.threadStatus ?? "active")).length,
|
|
143
|
+
archived: allMainMessages.filter((m) => TAB_FILTERS.archived.has(m.threadStatus ?? "active")).length,
|
|
154
144
|
}), [allMainMessages]);
|
|
155
145
|
|
|
156
146
|
const threadDataMap = useMemo(() => buildThreadDataMap(messages), [messages]);
|
|
@@ -180,7 +170,7 @@ export function MessageList({
|
|
|
180
170
|
{ key: "active", label: "Active" },
|
|
181
171
|
{ key: "paused", label: "Paused" },
|
|
182
172
|
{ key: "in-review", label: "In Review" },
|
|
183
|
-
{ key: "
|
|
173
|
+
{ key: "done", label: "Done" },
|
|
184
174
|
{ key: "archived", label: "Archived" },
|
|
185
175
|
];
|
|
186
176
|
|
|
@@ -188,7 +178,7 @@ export function MessageList({
|
|
|
188
178
|
<div className="chat-scrollbar flex-1 overflow-y-auto p-4">
|
|
189
179
|
<div className="max-w-3xl mx-auto">
|
|
190
180
|
{allMainMessages.length > 0 && (
|
|
191
|
-
<div className="
|
|
181
|
+
<div className="flex items-center justify-center gap-1 p-1 rounded-lg w-fit mx-auto border border-[var(--app-shell-border)] bg-[var(--app-shell-subtle)] mb-4">
|
|
192
182
|
{TABS.map((tab) => {
|
|
193
183
|
const count = tabCounts[tab.key];
|
|
194
184
|
const isActive = activeTab === tab.key;
|
|
@@ -197,15 +187,15 @@ export function MessageList({
|
|
|
197
187
|
key={tab.key}
|
|
198
188
|
type="button"
|
|
199
189
|
onClick={() => setActiveTab(tab.key)}
|
|
200
|
-
className={`px-3 py-1.5 text-xs font-
|
|
190
|
+
className={`px-3 py-1.5 text-xs font-bold rounded-md transition-all ${
|
|
201
191
|
isActive
|
|
202
|
-
? "bg-
|
|
203
|
-
: "text-
|
|
192
|
+
? "bg-[var(--app-shell-surface)] text-[var(--foreground)] shadow-sm"
|
|
193
|
+
: "text-[var(--app-shell-muted)] hover:text-[var(--foreground)]"
|
|
204
194
|
}`}
|
|
205
195
|
>
|
|
206
196
|
{tab.label}
|
|
207
197
|
{count > 0 && (
|
|
208
|
-
<span className={`ml-1.5 text-[10px] ${isActive ? "
|
|
198
|
+
<span className={`ml-1.5 text-[10px] ${isActive ? "opacity-60" : "opacity-50"}`}>
|
|
209
199
|
{count}
|
|
210
200
|
</span>
|
|
211
201
|
)}
|
|
@@ -216,13 +206,13 @@ export function MessageList({
|
|
|
216
206
|
)}
|
|
217
207
|
{/* Top-level streaming indicators are now rendered inside their triggering message card */}
|
|
218
208
|
{allMainMessages.length === 0 && Object.keys(streaming).length === 0 && (
|
|
219
|
-
<div className="flex flex-col items-center justify-center text-
|
|
209
|
+
<div className="flex flex-col items-center justify-center text-[var(--app-shell-muted)] mt-32 space-y-3">
|
|
220
210
|
<MessageSquare className="h-6 w-6" strokeWidth={1.5} />
|
|
221
211
|
<span className="text-sm font-medium tracking-wide">Start a thread</span>
|
|
222
212
|
</div>
|
|
223
213
|
)}
|
|
224
214
|
{allMainMessages.length > 0 && mainMessages.length === 0 && (
|
|
225
|
-
<div className="flex flex-col items-center justify-center text-
|
|
215
|
+
<div className="flex flex-col items-center justify-center text-[var(--app-shell-muted)] mt-16 space-y-2">
|
|
226
216
|
<span className="text-sm font-medium">No {activeTab} threads</span>
|
|
227
217
|
</div>
|
|
228
218
|
)}
|
|
@@ -236,8 +226,8 @@ export function MessageList({
|
|
|
236
226
|
? summaryMsg.content.slice(SUMMARY_MARKER.length).trim()
|
|
237
227
|
: null;
|
|
238
228
|
|
|
239
|
-
|
|
240
|
-
const msgStatus = msg.threadStatus ?? "
|
|
229
|
+
|
|
230
|
+
const msgStatus = msg.threadStatus ?? "active";
|
|
241
231
|
const isCollapsed = COLLAPSED_STATUSES.has(msgStatus);
|
|
242
232
|
const statusInfo = THREAD_STATUSES.find((s) => s.value === msgStatus) ?? THREAD_STATUSES[0];
|
|
243
233
|
const hasActiveAgents = Object.values(streaming).some((entry) => entry.rootMessageId === msg.id);
|
|
@@ -248,13 +238,13 @@ export function MessageList({
|
|
|
248
238
|
key={msg.id}
|
|
249
239
|
ref={(element) => setMessageRef(msg.id, element)}
|
|
250
240
|
data-message-id={msg.id}
|
|
251
|
-
className=
|
|
241
|
+
className={`max-w-2xl mx-auto bg-[var(--app-shell-subtle)] rounded-xl border border-[var(--app-shell-border)] mb-3 group transition-all hover:border-[var(--app-shell-border-strong)] relative cursor-pointer ${statusMenuMessageId === msg.id ? 'z-50' : ''}`}
|
|
252
242
|
onClick={() => onOpenThread?.(msg.id)}
|
|
253
243
|
>
|
|
254
244
|
<div className="px-4 py-2.5">
|
|
255
245
|
<div className="flex items-center gap-3">
|
|
256
|
-
<Hash className="w-3.5 h-3.5 text-
|
|
257
|
-
<span className="text-sm font-medium text-
|
|
246
|
+
<Hash className="w-3.5 h-3.5 text-[var(--app-shell-muted)] shrink-0" />
|
|
247
|
+
<span className="text-sm font-medium text-[var(--app-shell-muted)] truncate flex-1">
|
|
258
248
|
{stripMarkers(msg.content.split('\n')[0])}
|
|
259
249
|
</span>
|
|
260
250
|
{shipModeThreads?.has(msg.id) && (
|
|
@@ -270,9 +260,9 @@ export function MessageList({
|
|
|
270
260
|
</span>
|
|
271
261
|
)}
|
|
272
262
|
{msg.outcomeNote && (
|
|
273
|
-
<span className="text-[11px] text-
|
|
263
|
+
<span className="text-[11px] text-[var(--app-shell-soft-text)] truncate max-w-[200px]">{msg.outcomeNote}</span>
|
|
274
264
|
)}
|
|
275
|
-
<span className="text-[10px] text-
|
|
265
|
+
<span className="text-[10px] text-[var(--app-shell-soft-text)] shrink-0">
|
|
276
266
|
{new Intl.DateTimeFormat("en-US", { month: "short", day: "numeric" }).format(msg.timestamp)}
|
|
277
267
|
</span>
|
|
278
268
|
{onUpdateMessageThreadStatus && (() => {
|
|
@@ -285,7 +275,7 @@ export function MessageList({
|
|
|
285
275
|
e.stopPropagation();
|
|
286
276
|
setStatusMenuMessageId(isOpen ? null : msg.id);
|
|
287
277
|
}}
|
|
288
|
-
className="inline-flex items-center gap-1 px-1.5 py-0.5 rounded-full text-[10px] font-semibold border transition-colors hover:bg-
|
|
278
|
+
className="inline-flex items-center gap-1 px-1.5 py-0.5 rounded-full text-[10px] font-semibold border transition-colors hover:bg-[var(--app-shell-elevated)]"
|
|
289
279
|
style={{ borderColor: statusInfo.color + "40", color: statusInfo.color }}
|
|
290
280
|
>
|
|
291
281
|
<span className="w-1.5 h-1.5 rounded-full" style={{ backgroundColor: statusInfo.color }} />
|
|
@@ -293,14 +283,14 @@ export function MessageList({
|
|
|
293
283
|
</button>
|
|
294
284
|
{isOpen && (
|
|
295
285
|
<div
|
|
296
|
-
className="absolute top-full right-0 mt-1 z-50 bg-
|
|
286
|
+
className="absolute top-full right-0 mt-1 z-50 bg-[var(--app-shell-elevated)] border border-[var(--app-shell-border)] rounded-lg shadow-lg p-1 min-w-[8.5rem]"
|
|
297
287
|
onClick={(e) => e.stopPropagation()}
|
|
298
288
|
>
|
|
299
289
|
{THREAD_STATUSES.map((s) => (
|
|
300
290
|
<button
|
|
301
291
|
key={s.value}
|
|
302
292
|
type="button"
|
|
303
|
-
className={`flex items-center gap-2 w-full px-2 py-1.5 rounded-md text-xs font-medium transition-colors ${s.value === msgStatus ? "bg-
|
|
293
|
+
className={`flex items-center gap-2 w-full px-2 py-1.5 rounded-md text-xs font-medium transition-colors ${s.value === msgStatus ? "bg-[var(--primary-muted)] text-[var(--primary)]" : "text-[var(--muted-foreground)] hover:bg-[var(--app-shell-subtle)]"}`}
|
|
304
294
|
onClick={(e) => {
|
|
305
295
|
e.stopPropagation();
|
|
306
296
|
onUpdateMessageThreadStatus(msg.id, s.value);
|
|
@@ -317,18 +307,18 @@ export function MessageList({
|
|
|
317
307
|
);
|
|
318
308
|
})()}
|
|
319
309
|
{threadData && threadData.replyCount > 0 && (
|
|
320
|
-
<span className="text-[10px] text-
|
|
310
|
+
<span className="text-[10px] text-[var(--app-shell-muted)] shrink-0">{threadData.replyCount} replies</span>
|
|
321
311
|
)}
|
|
322
312
|
</div>
|
|
323
313
|
{(summaryText || taskDrafts?.[msg.id]) && (
|
|
324
314
|
<div className="mt-1.5 pl-6 flex flex-col gap-1">
|
|
325
315
|
{summaryText && (
|
|
326
|
-
<div className="text-sm text-
|
|
316
|
+
<div className="text-sm text-[var(--muted-foreground)] leading-relaxed prose prose-sm prose-neutralmax-w-none">
|
|
327
317
|
<Markdown content={summaryText} isUser={false} />
|
|
328
318
|
</div>
|
|
329
319
|
)}
|
|
330
320
|
{taskDrafts?.[msg.id] && taskDrafts[msg.id].tasks.length > 0 && (
|
|
331
|
-
<span className="text-[10px] text-
|
|
321
|
+
<span className="text-[10px] text-[var(--app-shell-muted)] flex items-center gap-1">
|
|
332
322
|
<ListTodo className="w-3 h-3" />
|
|
333
323
|
{taskDrafts[msg.id].tasks.length} {taskDrafts[msg.id].tasks.length === 1 ? "task" : "tasks"}
|
|
334
324
|
</span>
|
|
@@ -341,7 +331,7 @@ export function MessageList({
|
|
|
341
331
|
}
|
|
342
332
|
|
|
343
333
|
return (
|
|
344
|
-
<div key={msg.id} className=
|
|
334
|
+
<div key={msg.id} className={`max-w-2xl mx-auto bg-[var(--card-bg)] rounded-2xl border border-[var(--card-border)] shadow-sm mb-6 group transition-all hover:border-[var(--card-hover-border)] relative ${statusMenuMessageId === msg.id ? 'z-50' : ''}`}>
|
|
345
335
|
{(onCopyThread || onAddToChat || onDeleteThreadRoot) && (
|
|
346
336
|
<div
|
|
347
337
|
className="absolute top-4 right-4 z-10 flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity"
|
|
@@ -350,7 +340,7 @@ export function MessageList({
|
|
|
350
340
|
<button
|
|
351
341
|
type="button"
|
|
352
342
|
onClick={() => onAddToChat(msg.id)}
|
|
353
|
-
className="p-1.5 text-
|
|
343
|
+
className="p-1.5 text-[var(--app-shell-muted)] hover:bg-[var(--primary-muted)] hover:text-[var(--primary)] rounded-md transition-colors"
|
|
354
344
|
title="Mention in chat"
|
|
355
345
|
>
|
|
356
346
|
<AtSign className="w-3.5 h-3.5" />
|
|
@@ -359,7 +349,7 @@ export function MessageList({
|
|
|
359
349
|
<button
|
|
360
350
|
type="button"
|
|
361
351
|
onClick={() => { navigator.clipboard.writeText(msg.id); }}
|
|
362
|
-
className="p-1.5 text-
|
|
352
|
+
className="p-1.5 text-[var(--app-shell-muted)] hover:bg-[var(--app-shell-subtle)] rounded-md transition-colors"
|
|
363
353
|
title="Copy message ID"
|
|
364
354
|
>
|
|
365
355
|
<Link className="w-3.5 h-3.5" />
|
|
@@ -368,7 +358,7 @@ export function MessageList({
|
|
|
368
358
|
<button
|
|
369
359
|
type="button"
|
|
370
360
|
onClick={() => onCopyThread(msg.id)}
|
|
371
|
-
className="p-1.5 text-
|
|
361
|
+
className="p-1.5 text-[var(--app-shell-muted)] hover:bg-[var(--app-shell-subtle)] rounded-md transition-colors"
|
|
372
362
|
title="Copy thread as markdown"
|
|
373
363
|
>
|
|
374
364
|
<Copy className="w-3.5 h-3.5" />
|
|
@@ -379,7 +369,7 @@ export function MessageList({
|
|
|
379
369
|
type="button"
|
|
380
370
|
onClick={() => onDeleteThreadRoot(msg.id)}
|
|
381
371
|
disabled={isDeletingRoot}
|
|
382
|
-
className="p-1.5 text-
|
|
372
|
+
className="p-1.5 text-[var(--app-shell-muted)] hover:bg-[var(--destructive-muted)] hover:text-[var(--destructive)] rounded-md transition-colors disabled:opacity-50 disabled:cursor-not-allowed"
|
|
383
373
|
title="Delete this thread"
|
|
384
374
|
>
|
|
385
375
|
{isDeletingRoot ? <Loader2 className="w-3.5 h-3.5 animate-spin" /> : <Trash2 className="w-3.5 h-3.5" />}
|
|
@@ -394,7 +384,7 @@ export function MessageList({
|
|
|
394
384
|
{/* User Info & Title */}
|
|
395
385
|
<div className="flex gap-3 mb-4">
|
|
396
386
|
{msg.role !== 'user' && (
|
|
397
|
-
<NextLink href={`/agents/${p?.id || msg.participantId || "assistant"}`} className="w-10 h-10 rounded-full bg-
|
|
387
|
+
<NextLink href={`/agents/${p?.id || msg.participantId || "assistant"}`} className="w-10 h-10 rounded-full bg-[var(--app-shell-subtle)] overflow-hidden border border-[var(--app-shell-border)] shadow-sm flex items-center justify-center shrink-0 hover:ring-2 hover:ring-[var(--ring)] transition-shadow">
|
|
398
388
|
{p ? (
|
|
399
389
|
<img
|
|
400
390
|
src={agentAvatarUrl(p.id, 40, p.color)}
|
|
@@ -413,7 +403,7 @@ export function MessageList({
|
|
|
413
403
|
<div className="flex-1 min-w-0 pt-0.5">
|
|
414
404
|
{msg.role !== 'user' && (
|
|
415
405
|
<div className="flex items-center gap-2 mb-0.5">
|
|
416
|
-
<NextLink href={`/agents/${p?.id || msg.participantId || "assistant"}`} className="font-bold text-sm text-
|
|
406
|
+
<NextLink href={`/agents/${p?.id || msg.participantId || "assistant"}`} className="font-bold text-sm text-[var(--foreground)] hover:underline">
|
|
417
407
|
{p?.name || msg.participantId || "Assistant"}
|
|
418
408
|
</NextLink>
|
|
419
409
|
</div>
|
|
@@ -422,11 +412,11 @@ export function MessageList({
|
|
|
422
412
|
className="cursor-pointer group/msg-title mb-1"
|
|
423
413
|
onClick={() => onOpenThread?.(msg.id)}
|
|
424
414
|
>
|
|
425
|
-
<h3 className="text-lg font-bold text-
|
|
415
|
+
<h3 className="text-lg font-bold text-[var(--foreground)] leading-tight group-hover/msg-title:text-[var(--primary)] transition-colors line-clamp-1">
|
|
426
416
|
{stripMarkers(msg.content.split('\n')[0])}
|
|
427
417
|
</h3>
|
|
428
418
|
<div className="mt-1 flex items-center gap-2">
|
|
429
|
-
<span className="text-[11px] font-medium text-
|
|
419
|
+
<span className="text-[11px] font-medium text-[var(--app-shell-soft-text)]">
|
|
430
420
|
{new Intl.DateTimeFormat("en-US", { month: "short", day: "numeric", hour: "numeric", minute: "2-digit" }).format(msg.timestamp)}
|
|
431
421
|
</span>
|
|
432
422
|
{onUpdateMessageThreadStatus && (() => {
|
|
@@ -439,7 +429,7 @@ export function MessageList({
|
|
|
439
429
|
e.stopPropagation();
|
|
440
430
|
setStatusMenuMessageId(isOpen ? null : msg.id);
|
|
441
431
|
}}
|
|
442
|
-
className="inline-flex items-center gap-1 px-1.5 py-0.5 rounded-full text-[10px] font-semibold border transition-colors hover:bg-
|
|
432
|
+
className="inline-flex items-center gap-1 px-1.5 py-0.5 rounded-full text-[10px] font-semibold border transition-colors hover:bg-[var(--app-shell-subtle)]"
|
|
443
433
|
style={{ borderColor: statusInfo.color + "40", color: statusInfo.color }}
|
|
444
434
|
>
|
|
445
435
|
<span className="w-1.5 h-1.5 rounded-full" style={{ backgroundColor: statusInfo.color }} />
|
|
@@ -447,14 +437,14 @@ export function MessageList({
|
|
|
447
437
|
</button>
|
|
448
438
|
{isOpen && (
|
|
449
439
|
<div
|
|
450
|
-
className="absolute top-full left-0 mt-1 z-50 bg-
|
|
440
|
+
className="absolute top-full left-0 mt-1 z-50 bg-[var(--app-shell-elevated)] border border-[var(--app-shell-border)] rounded-lg shadow-lg p-1 min-w-[8.5rem]"
|
|
451
441
|
onClick={(e) => e.stopPropagation()}
|
|
452
442
|
>
|
|
453
443
|
{THREAD_STATUSES.map((s) => (
|
|
454
444
|
<button
|
|
455
445
|
key={s.value}
|
|
456
446
|
type="button"
|
|
457
|
-
className={`flex items-center gap-2 w-full px-2 py-1.5 rounded-md text-xs font-medium transition-colors ${s.value === msgStatus ? "bg-
|
|
447
|
+
className={`flex items-center gap-2 w-full px-2 py-1.5 rounded-md text-xs font-medium transition-colors ${s.value === msgStatus ? "bg-[var(--primary-muted)] text-[var(--primary)]" : "text-[var(--muted-foreground)] hover:bg-[var(--app-shell-subtle)]"}`}
|
|
458
448
|
onClick={(e) => {
|
|
459
449
|
e.stopPropagation();
|
|
460
450
|
onUpdateMessageThreadStatus(msg.id, s.value);
|
|
@@ -465,28 +455,6 @@ export function MessageList({
|
|
|
465
455
|
{s.label}
|
|
466
456
|
</button>
|
|
467
457
|
))}
|
|
468
|
-
{msgStatus === "converged" && onUpdateMessageOutcomeNote && (
|
|
469
|
-
<div className="px-2 py-1.5 border-t border-slate-100 mt-1">
|
|
470
|
-
<input
|
|
471
|
-
type="text"
|
|
472
|
-
className="w-full border border-slate-200 rounded px-2 py-1 text-[11px] text-slate-700 outline-none focus:border-indigo-400"
|
|
473
|
-
placeholder="Outcome note…"
|
|
474
|
-
defaultValue={msg.outcomeNote ?? ""}
|
|
475
|
-
onClick={(e) => e.stopPropagation()}
|
|
476
|
-
onKeyDown={(e) => {
|
|
477
|
-
if (e.key === "Enter") {
|
|
478
|
-
onUpdateMessageOutcomeNote(msg.id, (e.target as HTMLInputElement).value);
|
|
479
|
-
setStatusMenuMessageId(null);
|
|
480
|
-
}
|
|
481
|
-
}}
|
|
482
|
-
onBlur={(e) => {
|
|
483
|
-
if (e.target.value !== (msg.outcomeNote ?? "")) {
|
|
484
|
-
onUpdateMessageOutcomeNote(msg.id, e.target.value);
|
|
485
|
-
}
|
|
486
|
-
}}
|
|
487
|
-
/>
|
|
488
|
-
</div>
|
|
489
|
-
)}
|
|
490
458
|
</div>
|
|
491
459
|
)}
|
|
492
460
|
</div>
|
|
@@ -506,7 +474,7 @@ export function MessageList({
|
|
|
506
474
|
)}
|
|
507
475
|
</div>
|
|
508
476
|
{(msg.content.length > 80 || msg.content.includes('\n')) && (
|
|
509
|
-
<div className="mt-2 text-[15px] text-
|
|
477
|
+
<div className="mt-2 text-[15px] text-[var(--muted-foreground)] leading-relaxed line-clamp-3">
|
|
510
478
|
<Markdown content={stripMarkers(msg.content.split('\n').slice(1).join('\n').trimStart())} isUser={msg.role === 'user'} />
|
|
511
479
|
</div>
|
|
512
480
|
)}
|
|
@@ -521,7 +489,7 @@ export function MessageList({
|
|
|
521
489
|
)}
|
|
522
490
|
|
|
523
491
|
{summaryText && (
|
|
524
|
-
<div className="mb-4 text-sm text-
|
|
492
|
+
<div className="mb-4 text-sm text-[var(--muted-foreground)] leading-relaxed">
|
|
525
493
|
<Markdown content={summaryText} isUser={false} />
|
|
526
494
|
</div>
|
|
527
495
|
)}
|
|
@@ -533,12 +501,12 @@ export function MessageList({
|
|
|
533
501
|
type="button"
|
|
534
502
|
onClick={() => onSummarize(msg.id)}
|
|
535
503
|
disabled={summarizingThreads?.has(msg.id)}
|
|
536
|
-
className="flex items-center gap-1.5 px-3 py-1.5 bg-
|
|
504
|
+
className="flex items-center gap-1.5 px-3 py-1.5 bg-[var(--card-bg)] border border-[var(--card-border)] rounded-full text-xs font-bold text-[var(--muted-foreground)] hover:bg-[var(--app-shell-subtle)] transition-colors shadow-sm disabled:opacity-50"
|
|
537
505
|
>
|
|
538
506
|
{summarizingThreads?.has(msg.id) ? (
|
|
539
|
-
<Loader2 className="w-3.5 h-3.5 animate-spin text-
|
|
507
|
+
<Loader2 className="w-3.5 h-3.5 animate-spin text-[var(--app-shell-muted)]" />
|
|
540
508
|
) : (
|
|
541
|
-
<Clock className="w-3.5 h-3.5 text-
|
|
509
|
+
<Clock className="w-3.5 h-3.5 text-[var(--app-shell-muted)]" />
|
|
542
510
|
)}
|
|
543
511
|
{summarizingThreads?.has(msg.id) ? "Summarizing\u2026" : "Summarize"}
|
|
544
512
|
</button>
|
|
@@ -549,12 +517,12 @@ export function MessageList({
|
|
|
549
517
|
type="button"
|
|
550
518
|
onClick={() => onCreateTasks(msg.id)}
|
|
551
519
|
disabled={extractingTasks?.has(msg.id)}
|
|
552
|
-
className="flex items-center gap-1.5 px-3 py-1.5 bg-
|
|
520
|
+
className="flex items-center gap-1.5 px-3 py-1.5 bg-[var(--card-bg)] border border-[var(--card-border)] rounded-full text-xs font-bold text-[var(--muted-foreground)] hover:bg-[var(--app-shell-subtle)] transition-colors shadow-sm disabled:opacity-50"
|
|
553
521
|
>
|
|
554
522
|
{extractingTasks?.has(msg.id) ? (
|
|
555
|
-
<Loader2 className="w-3.5 h-3.5 animate-spin text-
|
|
523
|
+
<Loader2 className="w-3.5 h-3.5 animate-spin text-[var(--app-shell-muted)]" />
|
|
556
524
|
) : (
|
|
557
|
-
<ListTodo className="w-3.5 h-3.5 text-
|
|
525
|
+
<ListTodo className="w-3.5 h-3.5 text-[var(--app-shell-muted)]" />
|
|
558
526
|
)}
|
|
559
527
|
{extractingTasks?.has(msg.id) ? "Extracting…" : taskDrafts?.[msg.id] ? "Re-extract tasks" : "Create tasks"}
|
|
560
528
|
</button>
|
|
@@ -564,14 +532,14 @@ export function MessageList({
|
|
|
564
532
|
<button
|
|
565
533
|
type="button"
|
|
566
534
|
onClick={() => onOpenThread(msg.id)}
|
|
567
|
-
className="flex items-center gap-2 px-3 py-1.5 bg-
|
|
535
|
+
className="flex items-center gap-2 px-3 py-1.5 bg-[var(--app-shell-subtle)] border border-[var(--app-shell-border)] rounded-full text-xs font-bold text-[var(--app-shell-muted)] hover:bg-[var(--item-hover-bg)] transition-colors"
|
|
568
536
|
>
|
|
569
537
|
<div className="flex -space-x-1.5">
|
|
570
538
|
{threadData.participants.slice(0, 3).map((pid) => {
|
|
571
539
|
if (pid === 'user') {
|
|
572
540
|
return (
|
|
573
|
-
<div key="user" className="w-4 h-4 rounded-full bg-
|
|
574
|
-
<User className="w-2.5 h-2.5 text-
|
|
541
|
+
<div key="user" className="w-4 h-4 rounded-full bg-[var(--app-shell-subtle)] flex items-center justify-center ring-1 ring-[var(--card-bg)]">
|
|
542
|
+
<User className="w-2.5 h-2.5 text-[var(--app-shell-muted)]" />
|
|
575
543
|
</div>
|
|
576
544
|
);
|
|
577
545
|
}
|
|
@@ -581,10 +549,10 @@ export function MessageList({
|
|
|
581
549
|
key={pid}
|
|
582
550
|
src={agentAvatarUrl(pid, 16, tp.color)}
|
|
583
551
|
alt={tp.name}
|
|
584
|
-
className="w-4 h-4 rounded-full ring-1 ring-
|
|
552
|
+
className="w-4 h-4 rounded-full ring-1 ring-[var(--card-bg)]"
|
|
585
553
|
/>
|
|
586
554
|
) : (
|
|
587
|
-
<div key={pid} className="w-4 h-4 rounded-full bg-
|
|
555
|
+
<div key={pid} className="w-4 h-4 rounded-full bg-[var(--app-shell-subtle)] ring-1 ring-[var(--card-bg)]" />
|
|
588
556
|
);
|
|
589
557
|
})}
|
|
590
558
|
</div>
|
|
@@ -617,7 +585,7 @@ export function MessageList({
|
|
|
617
585
|
|
|
618
586
|
{/* Extracting tasks spinner */}
|
|
619
587
|
{extractingTasks?.has(msg.id) && (
|
|
620
|
-
<div className="mt-4 flex items-center gap-2 text-xs text-
|
|
588
|
+
<div className="mt-4 flex items-center gap-2 text-xs text-[var(--app-shell-muted)]">
|
|
621
589
|
<Loader2 className="w-3.5 h-3.5 animate-spin" />
|
|
622
590
|
<span>Extracting tasks…</span>
|
|
623
591
|
</div>
|
|
@@ -625,49 +593,6 @@ export function MessageList({
|
|
|
625
593
|
</div>
|
|
626
594
|
</div>
|
|
627
595
|
|
|
628
|
-
{/* Inline Replies Section - Only when NO summary exists */}
|
|
629
|
-
{!summaryText && threadData && threadData.replyCount > 0 && (
|
|
630
|
-
<div className="p-6 pt-0 border-t border-slate-100 bg-slate-50/10">
|
|
631
|
-
<div className="pt-4 max-h-[320px] overflow-hidden relative">
|
|
632
|
-
{threadData.replyCount > repliesToShow.length && (
|
|
633
|
-
<div className="flex items-center gap-4 mb-4">
|
|
634
|
-
<div className="flex-1 h-px bg-slate-100" />
|
|
635
|
-
<button
|
|
636
|
-
onClick={() => onOpenThread?.(msg.id)}
|
|
637
|
-
className="flex items-center gap-2 text-[11px] font-bold uppercase tracking-wider text-slate-400 hover:text-indigo-600 transition-colors shrink-0"
|
|
638
|
-
>
|
|
639
|
-
<MessageSquare className="w-3.5 h-3.5" />
|
|
640
|
-
<span>Show {threadData.replyCount - repliesToShow.length} more {threadData.replyCount - repliesToShow.length === 1 ? 'reply' : 'replies'}</span>
|
|
641
|
-
</button>
|
|
642
|
-
<div className="flex-1 h-px bg-slate-100" />
|
|
643
|
-
</div>
|
|
644
|
-
)}
|
|
645
|
-
<div className="space-y-1">
|
|
646
|
-
{repliesToShow.map((reply) => {
|
|
647
|
-
const rp = reply.participantId ? participantMap[reply.participantId] : null;
|
|
648
|
-
return (
|
|
649
|
-
<div
|
|
650
|
-
key={reply.id}
|
|
651
|
-
ref={(element) => setMessageRef(reply.id, element)}
|
|
652
|
-
data-message-id={reply.id}
|
|
653
|
-
>
|
|
654
|
-
<MessageBubble
|
|
655
|
-
isRoot={false}
|
|
656
|
-
message={reply}
|
|
657
|
-
participantName={rp?.name || reply.participantId || "Assistant"}
|
|
658
|
-
participantColor={rp?.color}
|
|
659
|
-
participantId={rp?.id || reply.participantId || undefined}
|
|
660
|
-
onOpenThread={onOpenThread}
|
|
661
|
-
highlighted={reply.id === highlightedMessageId}
|
|
662
|
-
/>
|
|
663
|
-
</div>
|
|
664
|
-
);
|
|
665
|
-
})}
|
|
666
|
-
</div>
|
|
667
|
-
<div className="absolute bottom-0 left-0 right-0 h-16 bg-gradient-to-t from-slate-50 via-slate-50/80 to-transparent pointer-events-none z-10" />
|
|
668
|
-
</div>
|
|
669
|
-
</div>
|
|
670
|
-
)}
|
|
671
596
|
|
|
672
597
|
{/* Typing indicators for this thread */}
|
|
673
598
|
{Object.entries(streaming)
|