@euraika-labs/pan-ui 0.2.0 → 0.2.2
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/.next/standalone/node_modules/next/node_modules/postcss/package.json +0 -0
- package/.next/standalone/server.js +1 -1
- package/.next/{standalone/.next/static/chunks/app/_not-found/page-9c90a6b39424f003.js → static/chunks/app/_not-found/page-c4591bba1afe868d.js} +1 -1
- package/.next/static/chunks/app/chat/page-2bbb44aeac61920e.js +1 -0
- package/.next/{standalone/.next/static/chunks/app/extensions/[id]/page-cca6df1771ec04d2.js → static/chunks/app/extensions/[id]/page-18e579a71a9d93c3.js} +1 -1
- package/.next/static/chunks/app/extensions/{page-c0fbb8efa9a3700c.js → page-82f358e2fcabc6a3.js} +1 -1
- package/.next/static/chunks/app/layout-f3c578dd4202f2f5.js +1 -0
- package/.next/static/chunks/app/login/page-a3820386479beb5e.js +1 -0
- package/.next/{standalone/.next/static/chunks/app/memory/page-0684ff3ce6888ae7.js → static/chunks/app/memory/page-a90ea51b004acc94.js} +1 -1
- package/.next/static/chunks/app/profiles/page-7b5924f80e882d7e.js +1 -0
- package/.next/{standalone/.next/static/chunks/app/settings/approvals/page-6843c585791e4db7.js → static/chunks/app/settings/approvals/page-1fd1b90371c02705.js} +1 -1
- package/.next/static/chunks/app/settings/artifacts/page-35ee6c14a4836aad.js +1 -0
- package/.next/static/chunks/app/settings/audit/page-a11b23ffa1e40949.js +1 -0
- package/.next/static/chunks/app/settings/health/page-9b7914bfd7bf665b.js +1 -0
- package/.next/static/chunks/app/settings/mcp-diagnostics/page-102367ef8b2cc105.js +1 -0
- package/.next/{standalone/.next/static/chunks/app/settings/page-8a40bdf895f43430.js → static/chunks/app/settings/page-5f9f8ba836ac9b7e.js} +1 -1
- package/.next/static/chunks/app/settings/runs/[id]/page-d0184e7e90f5867c.js +1 -0
- package/.next/{standalone/.next/static/chunks/app/settings/runs/page-cb4d1617e199c38e.js → static/chunks/app/settings/runs/page-312bdcd82b1f3a64.js} +1 -1
- package/.next/{standalone/.next/static/chunks/app/settings/telemetry/page-c0446baefa5496cb.js → static/chunks/app/settings/telemetry/page-e61a1efd390b87a4.js} +1 -1
- package/.next/{standalone/.next/static/chunks/app/skills/[id]/page-88bc62488ddf6c10.js → static/chunks/app/skills/[id]/page-f65ae8d81a901c1a.js} +1 -1
- package/.next/static/chunks/app/skills/page-d480e9f5081fd9b6.js +1 -0
- package/.next/{standalone/.next/static/chunks/main-app-a9e2c007d433eaf9.js → static/chunks/main-app-f0e3f2828aa879c4.js} +1 -1
- package/README.md +2 -1
- package/bin/pan-ui.mjs +0 -0
- package/package.json +1 -1
- package/.env.example +0 -30
- package/.next/standalone/.next/BUILD_ID +0 -1
- package/.next/standalone/.next/app-build-manifest.json +0 -508
- package/.next/standalone/.next/app-path-routes-manifest.json +0 -67
- package/.next/standalone/.next/build-manifest.json +0 -33
- package/.next/standalone/.next/package.json +0 -1
- package/.next/standalone/.next/prerender-manifest.json +0 -119
- package/.next/standalone/.next/react-loadable-manifest.json +0 -1
- package/.next/standalone/.next/required-server-files.json +0 -321
- package/.next/standalone/.next/routes-manifest.json +0 -295
- package/.next/standalone/.next/server/app/_not-found/page.js +0 -2
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/_not-found.html +0 -1
- package/.next/standalone/.next/server/app/_not-found.meta +0 -8
- package/.next/standalone/.next/server/app/_not-found.rsc +0 -18
- package/.next/standalone/.next/server/app/api/audit/route.js +0 -36
- package/.next/standalone/.next/server/app/api/audit/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/audit/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/auth/login/route.js +0 -1
- package/.next/standalone/.next/server/app/api/auth/login/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/auth/login/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/auth/logout/route.js +0 -1
- package/.next/standalone/.next/server/app/api/auth/logout/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/chat/sessions/[id]/fork/route.js +0 -1
- package/.next/standalone/.next/server/app/api/chat/sessions/[id]/fork/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/chat/sessions/[id]/fork/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/chat/sessions/[id]/route.js +0 -1
- package/.next/standalone/.next/server/app/api/chat/sessions/[id]/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/chat/sessions/[id]/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/chat/sessions/route.js +0 -1
- package/.next/standalone/.next/server/app/api/chat/sessions/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/chat/sessions/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/chat/stream/route.js +0 -170
- package/.next/standalone/.next/server/app/api/chat/stream/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/chat/stream/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/extensions/[id]/capabilities/[capabilityId]/route.js +0 -1
- package/.next/standalone/.next/server/app/api/extensions/[id]/capabilities/[capabilityId]/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/extensions/[id]/capabilities/[capabilityId]/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/extensions/[id]/route.js +0 -1
- package/.next/standalone/.next/server/app/api/extensions/[id]/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/extensions/[id]/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/extensions/[id]/test/route.js +0 -1
- package/.next/standalone/.next/server/app/api/extensions/[id]/test/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/extensions/[id]/test/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/extensions/mcp/route.js +0 -11
- package/.next/standalone/.next/server/app/api/extensions/mcp/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/extensions/mcp/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/extensions/route.js +0 -1
- package/.next/standalone/.next/server/app/api/extensions/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/extensions/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/memory/agent/route.js +0 -36
- package/.next/standalone/.next/server/app/api/memory/agent/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/memory/agent/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/memory/context-inspector/route.js +0 -1
- package/.next/standalone/.next/server/app/api/memory/context-inspector/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/memory/context-inspector/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/memory/session-search/route.js +0 -1
- package/.next/standalone/.next/server/app/api/memory/session-search/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/memory/session-search/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/memory/user/route.js +0 -36
- package/.next/standalone/.next/server/app/api/memory/user/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/memory/user/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/profiles/[id]/config/route.js +0 -92
- package/.next/standalone/.next/server/app/api/profiles/[id]/config/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/profiles/[id]/config/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/profiles/[id]/route.js +0 -31
- package/.next/standalone/.next/server/app/api/profiles/[id]/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/profiles/[id]/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/profiles/route.js +0 -31
- package/.next/standalone/.next/server/app/api/profiles/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/profiles/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/runtime/approvals/[toolCallId]/route.js +0 -133
- package/.next/standalone/.next/server/app/api/runtime/approvals/[toolCallId]/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/runtime/approvals/[toolCallId]/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/runtime/approvals/route.js +0 -133
- package/.next/standalone/.next/server/app/api/runtime/approvals/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/runtime/approvals/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/runtime/artifacts/download/route.js +0 -133
- package/.next/standalone/.next/server/app/api/runtime/artifacts/download/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/runtime/artifacts/download/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/runtime/artifacts/route.js +0 -133
- package/.next/standalone/.next/server/app/api/runtime/artifacts/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/runtime/artifacts/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/runtime/export/route.js +0 -143
- package/.next/standalone/.next/server/app/api/runtime/export/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/runtime/export/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/runtime/health/route.js +0 -18
- package/.next/standalone/.next/server/app/api/runtime/health/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/runtime/health/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/runtime/mcp-probes/route.js +0 -133
- package/.next/standalone/.next/server/app/api/runtime/mcp-probes/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/runtime/mcp-probes/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/runtime/runs/[id]/route.js +0 -51
- package/.next/standalone/.next/server/app/api/runtime/runs/[id]/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/runtime/runs/[id]/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/runtime/runs/route.js +0 -51
- package/.next/standalone/.next/server/app/api/runtime/runs/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/runtime/runs/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/runtime/status/route.js +0 -18
- package/.next/standalone/.next/server/app/api/runtime/status/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/runtime/status/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/runtime/telemetry/route.js +0 -133
- package/.next/standalone/.next/server/app/api/runtime/telemetry/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/runtime/telemetry/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/runtime/timeline/route.js +0 -133
- package/.next/standalone/.next/server/app/api/runtime/timeline/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/runtime/timeline/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/skills/[id]/disable/route.js +0 -1
- package/.next/standalone/.next/server/app/api/skills/[id]/disable/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/skills/[id]/disable/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/skills/[id]/enable/route.js +0 -21
- package/.next/standalone/.next/server/app/api/skills/[id]/enable/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/skills/[id]/enable/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/skills/[id]/files/route.js +0 -21
- package/.next/standalone/.next/server/app/api/skills/[id]/files/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/skills/[id]/files/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/skills/[id]/install/route.js +0 -56
- package/.next/standalone/.next/server/app/api/skills/[id]/install/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/skills/[id]/install/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/skills/[id]/load/route.js +0 -17
- package/.next/standalone/.next/server/app/api/skills/[id]/load/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/skills/[id]/load/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/skills/[id]/route.js +0 -21
- package/.next/standalone/.next/server/app/api/skills/[id]/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/skills/catalog/route.js +0 -1
- package/.next/standalone/.next/server/app/api/skills/catalog/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/skills/catalog/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/skills/categories/route.js +0 -21
- package/.next/standalone/.next/server/app/api/skills/categories/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/skills/categories/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/skills/hub/install/route.js +0 -1
- package/.next/standalone/.next/server/app/api/skills/hub/install/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/skills/hub/install/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/skills/hub/route.js +0 -21
- package/.next/standalone/.next/server/app/api/skills/hub/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/skills/hub/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/skills/route.js +0 -21
- package/.next/standalone/.next/server/app/api/skills/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/skills/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/telemetry/route.js +0 -133
- package/.next/standalone/.next/server/app/api/telemetry/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/telemetry/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/uploads/route.js +0 -36
- package/.next/standalone/.next/server/app/api/uploads/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/uploads/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/chat/page.js +0 -4
- package/.next/standalone/.next/server/app/chat/page.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/chat/page_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/extensions/[id]/page.js +0 -2
- package/.next/standalone/.next/server/app/extensions/[id]/page.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/extensions/[id]/page_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/extensions/page.js +0 -2
- package/.next/standalone/.next/server/app/extensions/page.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/extensions/page_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/favicon.ico/route.js +0 -1
- package/.next/standalone/.next/server/app/favicon.ico/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/favicon.ico.body +0 -0
- package/.next/standalone/.next/server/app/favicon.ico.meta +0 -1
- package/.next/standalone/.next/server/app/icon.svg/route.js +0 -1
- package/.next/standalone/.next/server/app/icon.svg/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/icon.svg.body +0 -10
- package/.next/standalone/.next/server/app/icon.svg.meta +0 -1
- package/.next/standalone/.next/server/app/index.html +0 -1
- package/.next/standalone/.next/server/app/index.meta +0 -9
- package/.next/standalone/.next/server/app/index.rsc +0 -19
- package/.next/standalone/.next/server/app/login/page.js +0 -2
- package/.next/standalone/.next/server/app/login/page.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/memory/page.js +0 -2
- package/.next/standalone/.next/server/app/memory/page.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/memory/page_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/page.js +0 -2
- package/.next/standalone/.next/server/app/page.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/profiles/page.js +0 -2
- package/.next/standalone/.next/server/app/profiles/page.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/profiles/page_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/settings/approvals/page.js +0 -2
- package/.next/standalone/.next/server/app/settings/approvals/page.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/settings/approvals/page_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/settings/artifacts/page.js +0 -2
- package/.next/standalone/.next/server/app/settings/artifacts/page.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/settings/artifacts/page_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/settings/audit/page.js +0 -2
- package/.next/standalone/.next/server/app/settings/audit/page.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/settings/audit/page_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/settings/health/page.js +0 -2
- package/.next/standalone/.next/server/app/settings/health/page.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/settings/health/page_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/settings/mcp-diagnostics/page.js +0 -2
- package/.next/standalone/.next/server/app/settings/mcp-diagnostics/page.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/settings/mcp-diagnostics/page_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/settings/page.js +0 -2
- package/.next/standalone/.next/server/app/settings/page.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/settings/runs/[id]/page.js +0 -2
- package/.next/standalone/.next/server/app/settings/runs/[id]/page.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/settings/runs/[id]/page_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/settings/runs/page.js +0 -2
- package/.next/standalone/.next/server/app/settings/runs/page.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/settings/runs/page_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/settings/telemetry/page.js +0 -2
- package/.next/standalone/.next/server/app/settings/telemetry/page.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/settings/telemetry/page_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/skills/[id]/page.js +0 -2
- package/.next/standalone/.next/server/app/skills/[id]/page.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/skills/[id]/page_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/skills/page.js +0 -2
- package/.next/standalone/.next/server/app/skills/page.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/skills/page_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app-paths-manifest.json +0 -67
- package/.next/standalone/.next/server/chunks/1331.js +0 -22
- package/.next/standalone/.next/server/chunks/1692.js +0 -1
- package/.next/standalone/.next/server/chunks/2043.js +0 -1
- package/.next/standalone/.next/server/chunks/4337.js +0 -143
- package/.next/standalone/.next/server/chunks/4561.js +0 -1
- package/.next/standalone/.next/server/chunks/4689.js +0 -25
- package/.next/standalone/.next/server/chunks/5611.js +0 -6
- package/.next/standalone/.next/server/chunks/6111.js +0 -1
- package/.next/standalone/.next/server/chunks/6143.js +0 -9
- package/.next/standalone/.next/server/chunks/6516.js +0 -143
- package/.next/standalone/.next/server/chunks/6802.js +0 -1
- package/.next/standalone/.next/server/chunks/9546.js +0 -1
- package/.next/standalone/.next/server/functions-config-manifest.json +0 -4
- package/.next/standalone/.next/server/middleware-build-manifest.js +0 -1
- package/.next/standalone/.next/server/middleware-manifest.json +0 -6
- package/.next/standalone/.next/server/middleware-react-loadable-manifest.js +0 -1
- package/.next/standalone/.next/server/next-font-manifest.js +0 -1
- package/.next/standalone/.next/server/next-font-manifest.json +0 -1
- package/.next/standalone/.next/server/pages/404.html +0 -1
- package/.next/standalone/.next/server/pages/500.html +0 -1
- package/.next/standalone/.next/server/pages/_app.js +0 -1
- package/.next/standalone/.next/server/pages/_app.js.nft.json +0 -1
- package/.next/standalone/.next/server/pages/_document.js +0 -1
- package/.next/standalone/.next/server/pages/_document.js.nft.json +0 -1
- package/.next/standalone/.next/server/pages/_error.js +0 -19
- package/.next/standalone/.next/server/pages/_error.js.nft.json +0 -1
- package/.next/standalone/.next/server/pages-manifest.json +0 -6
- package/.next/standalone/.next/server/server-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +0 -1
- package/.next/standalone/.next/server/webpack-runtime.js +0 -1
- package/.next/standalone/.next/static/chunks/1255-aadf393aa3a56bfa.js +0 -1
- package/.next/standalone/.next/static/chunks/1309-d826505bfad78fd1.js +0 -1
- package/.next/standalone/.next/static/chunks/2231-e0d8768bfce5fe57.js +0 -1
- package/.next/standalone/.next/static/chunks/4879-36321f505e9ce82a.js +0 -1
- package/.next/standalone/.next/static/chunks/4bd1b696-f785427dddbba9fb.js +0 -1
- package/.next/standalone/.next/static/chunks/5449-aba2dafba76d4508.js +0 -1
- package/.next/standalone/.next/static/chunks/9657-3ff4bf56070f324f.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/audit/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/login/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/logout/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/chat/sessions/[id]/fork/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/chat/sessions/[id]/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/chat/sessions/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/chat/stream/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/extensions/[id]/capabilities/[capabilityId]/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/extensions/[id]/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/extensions/[id]/test/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/extensions/mcp/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/extensions/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/memory/agent/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/memory/context-inspector/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/memory/session-search/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/memory/user/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/profiles/[id]/config/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/profiles/[id]/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/profiles/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/runtime/approvals/[toolCallId]/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/runtime/approvals/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/runtime/artifacts/download/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/runtime/artifacts/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/runtime/export/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/runtime/health/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/runtime/mcp-probes/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/runtime/runs/[id]/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/runtime/runs/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/runtime/status/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/runtime/telemetry/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/runtime/timeline/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/skills/[id]/disable/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/skills/[id]/enable/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/skills/[id]/files/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/skills/[id]/install/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/skills/[id]/load/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/skills/[id]/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/skills/catalog/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/skills/categories/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/skills/hub/install/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/skills/hub/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/skills/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/telemetry/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/uploads/route-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/chat/page-117a5b54aee7eae4.js +0 -1
- package/.next/standalone/.next/static/chunks/app/extensions/page-c0fbb8efa9a3700c.js +0 -1
- package/.next/standalone/.next/static/chunks/app/layout-0bc970399be389b5.js +0 -1
- package/.next/standalone/.next/static/chunks/app/login/page-984e33272681e1e0.js +0 -1
- package/.next/standalone/.next/static/chunks/app/page-bb3f5b9060cdc631.js +0 -1
- package/.next/standalone/.next/static/chunks/app/profiles/page-46a0ad35feda9741.js +0 -1
- package/.next/standalone/.next/static/chunks/app/settings/artifacts/page-d3fddd43ac1243af.js +0 -1
- package/.next/standalone/.next/static/chunks/app/settings/audit/page-378bee43dd7c4903.js +0 -1
- package/.next/standalone/.next/static/chunks/app/settings/health/page-d34eadc11bc90af5.js +0 -1
- package/.next/standalone/.next/static/chunks/app/settings/mcp-diagnostics/page-3778d2842d5bdd79.js +0 -1
- package/.next/standalone/.next/static/chunks/app/settings/runs/[id]/page-7837ec57d531ef2b.js +0 -1
- package/.next/standalone/.next/static/chunks/app/skills/page-e47c6a5f9559edc1.js +0 -1
- package/.next/standalone/.next/static/chunks/framework-f31701c9d93f12a4.js +0 -1
- package/.next/standalone/.next/static/chunks/main-1ac9e0711a0eb944.js +0 -1
- package/.next/standalone/.next/static/chunks/pages/_app-6c8c2371b16a04b8.js +0 -1
- package/.next/standalone/.next/static/chunks/pages/_error-94812ad32cad7365.js +0 -1
- package/.next/standalone/.next/static/chunks/polyfills-42372ed130431b0a.js +0 -1
- package/.next/standalone/.next/static/chunks/webpack-0100acb42ec0d4c7.js +0 -1
- package/.next/standalone/.next/static/css/f5a43afa8024b892.css +0 -3
- package/.next/static/NC_UybRskWjtaATH1hc3S/_buildManifest.js +0 -1
- package/.next/static/NC_UybRskWjtaATH1hc3S/_ssgManifest.js +0 -1
- package/.next/static/chunks/app/_not-found/page-9c90a6b39424f003.js +0 -1
- package/.next/static/chunks/app/chat/page-117a5b54aee7eae4.js +0 -1
- package/.next/static/chunks/app/extensions/[id]/page-cca6df1771ec04d2.js +0 -1
- package/.next/static/chunks/app/layout-0bc970399be389b5.js +0 -1
- package/.next/static/chunks/app/login/page-984e33272681e1e0.js +0 -1
- package/.next/static/chunks/app/memory/page-0684ff3ce6888ae7.js +0 -1
- package/.next/static/chunks/app/profiles/page-46a0ad35feda9741.js +0 -1
- package/.next/static/chunks/app/settings/approvals/page-6843c585791e4db7.js +0 -1
- package/.next/static/chunks/app/settings/artifacts/page-d3fddd43ac1243af.js +0 -1
- package/.next/static/chunks/app/settings/audit/page-378bee43dd7c4903.js +0 -1
- package/.next/static/chunks/app/settings/health/page-d34eadc11bc90af5.js +0 -1
- package/.next/static/chunks/app/settings/mcp-diagnostics/page-3778d2842d5bdd79.js +0 -1
- package/.next/static/chunks/app/settings/page-8a40bdf895f43430.js +0 -1
- package/.next/static/chunks/app/settings/runs/[id]/page-7837ec57d531ef2b.js +0 -1
- package/.next/static/chunks/app/settings/runs/page-cb4d1617e199c38e.js +0 -1
- package/.next/static/chunks/app/settings/telemetry/page-c0446baefa5496cb.js +0 -1
- package/.next/static/chunks/app/skills/[id]/page-88bc62488ddf6c10.js +0 -1
- package/.next/static/chunks/app/skills/page-e47c6a5f9559edc1.js +0 -1
- package/.next/static/chunks/main-app-a9e2c007d433eaf9.js +0 -1
- /package/.next/{standalone/.next/static/NC_UybRskWjtaATH1hc3S → static/ocf5CMC3si1YTWJ4rwtKP}/_buildManifest.js +0 -0
- /package/.next/{standalone/.next/static/NC_UybRskWjtaATH1hc3S → static/ocf5CMC3si1YTWJ4rwtKP}/_ssgManifest.js +0 -0
|
File without changes
|
|
@@ -9,7 +9,7 @@ const currentPort = parseInt(process.env.PORT, 10) || 3000
|
|
|
9
9
|
const hostname = process.env.HOSTNAME || '0.0.0.0'
|
|
10
10
|
|
|
11
11
|
let keepAliveTimeout = parseInt(process.env.KEEP_ALIVE_TIMEOUT, 10)
|
|
12
|
-
const nextConfig = {"env":{},"webpack":null,"eslint":{"ignoreDuringBuilds":true},"typescript":{"ignoreBuildErrors":false,"tsconfigPath":"tsconfig.json"},"typedRoutes":false,"distDir":"./.next","cleanDistDir":true,"assetPrefix":"","cacheMaxMemorySize":52428800,"configOrigin":"next.config.ts","useFileSystemPublicRoutes":true,"generateEtags":true,"pageExtensions":["tsx","ts","jsx","js"],"poweredByHeader":true,"compress":true,"images":{"deviceSizes":[640,750,828,1080,1200,1920,2048,3840],"imageSizes":[16,32,48,64,96,128,256,384],"path":"/_next/image","loader":"default","loaderFile":"","domains":[],"disableStaticImages":false,"minimumCacheTTL":60,"formats":["image/webp"],"maximumResponseBody":50000000,"dangerouslyAllowSVG":false,"contentSecurityPolicy":"script-src 'none'; frame-src 'none'; sandbox;","contentDispositionType":"attachment","remotePatterns":[],"unoptimized":false},"devIndicators":{"position":"bottom-left"},"onDemandEntries":{"maxInactiveAge":60000,"pagesBufferLength":5},"amp":{"canonicalBase":""},"basePath":"","sassOptions":{},"trailingSlash":false,"i18n":null,"productionBrowserSourceMaps":false,"excludeDefaultMomentLocales":true,"serverRuntimeConfig":{},"publicRuntimeConfig":{},"reactProductionProfiling":false,"reactStrictMode":true,"reactMaxHeadersLength":6000,"httpAgentOptions":{"keepAlive":true},"logging":{},"compiler":{},"expireTime":31536000,"staticPageGenerationTimeout":60,"output":"standalone","modularizeImports":{"@mui/icons-material":{"transform":"@mui/icons-material/{{member}}"},"lodash":{"transform":"lodash/{{member}}"}},"outputFileTracingRoot":"/
|
|
12
|
+
const nextConfig = {"env":{},"webpack":null,"eslint":{"ignoreDuringBuilds":true},"typescript":{"ignoreBuildErrors":false,"tsconfigPath":"tsconfig.json"},"typedRoutes":false,"distDir":"./.next","cleanDistDir":true,"assetPrefix":"","cacheMaxMemorySize":52428800,"configOrigin":"next.config.ts","useFileSystemPublicRoutes":true,"generateEtags":true,"pageExtensions":["tsx","ts","jsx","js"],"poweredByHeader":true,"compress":true,"images":{"deviceSizes":[640,750,828,1080,1200,1920,2048,3840],"imageSizes":[16,32,48,64,96,128,256,384],"path":"/_next/image","loader":"default","loaderFile":"","domains":[],"disableStaticImages":false,"minimumCacheTTL":60,"formats":["image/webp"],"maximumResponseBody":50000000,"dangerouslyAllowSVG":false,"contentSecurityPolicy":"script-src 'none'; frame-src 'none'; sandbox;","contentDispositionType":"attachment","remotePatterns":[],"unoptimized":false},"devIndicators":{"position":"bottom-left"},"onDemandEntries":{"maxInactiveAge":60000,"pagesBufferLength":5},"amp":{"canonicalBase":""},"basePath":"","sassOptions":{},"trailingSlash":false,"i18n":null,"productionBrowserSourceMaps":false,"excludeDefaultMomentLocales":true,"serverRuntimeConfig":{},"publicRuntimeConfig":{},"reactProductionProfiling":false,"reactStrictMode":true,"reactMaxHeadersLength":6000,"httpAgentOptions":{"keepAlive":true},"logging":{},"compiler":{},"expireTime":31536000,"staticPageGenerationTimeout":60,"output":"standalone","modularizeImports":{"@mui/icons-material":{"transform":"@mui/icons-material/{{member}}"},"lodash":{"transform":"lodash/{{member}}"}},"outputFileTracingRoot":"/home/runner/work/pan-ui/pan-ui","experimental":{"useSkewCookie":false,"cacheLife":{"default":{"stale":300,"revalidate":900,"expire":4294967294},"seconds":{"stale":30,"revalidate":1,"expire":60},"minutes":{"stale":300,"revalidate":60,"expire":3600},"hours":{"stale":300,"revalidate":3600,"expire":86400},"days":{"stale":300,"revalidate":86400,"expire":604800},"weeks":{"stale":300,"revalidate":604800,"expire":2592000},"max":{"stale":300,"revalidate":2592000,"expire":4294967294}},"cacheHandlers":{},"cssChunking":true,"multiZoneDraftMode":false,"appNavFailHandling":false,"prerenderEarlyExit":true,"serverMinification":true,"serverSourceMaps":false,"linkNoTouchStart":false,"caseSensitiveRoutes":false,"clientSegmentCache":false,"clientParamParsing":false,"dynamicOnHover":false,"preloadEntriesOnStart":true,"clientRouterFilter":true,"clientRouterFilterRedirects":false,"fetchCacheKeyPrefix":"","middlewarePrefetch":"flexible","optimisticClientCache":true,"manualClientBasePath":false,"cpus":3,"memoryBasedWorkersCount":false,"imgOptConcurrency":null,"imgOptTimeoutInSeconds":7,"imgOptMaxInputPixels":268402689,"imgOptSequentialRead":null,"imgOptSkipMetadata":null,"isrFlushToDisk":true,"workerThreads":false,"optimizeCss":false,"nextScriptWorkers":false,"scrollRestoration":false,"externalDir":false,"disableOptimizedLoading":false,"gzipSize":true,"craCompat":false,"esmExternals":true,"fullySpecified":false,"swcTraceProfiling":false,"forceSwcTransforms":false,"largePageDataBytes":128000,"typedEnv":false,"parallelServerCompiles":false,"parallelServerBuildTraces":false,"ppr":false,"authInterrupts":false,"webpackMemoryOptimizations":false,"optimizeServerReact":true,"viewTransition":false,"routerBFCache":false,"removeUncaughtErrorAndRejectionListeners":false,"validateRSCRequestHeaders":false,"staleTimes":{"dynamic":0,"static":300},"serverComponentsHmrCache":true,"staticGenerationMaxConcurrency":8,"staticGenerationMinPagesPerWorker":25,"cacheComponents":false,"inlineCss":false,"useCache":false,"globalNotFound":false,"devtoolSegmentExplorer":true,"browserDebugInfoInTerminal":false,"optimizeRouterScrolling":false,"middlewareClientMaxBodySize":10485760,"optimizePackageImports":["lucide-react","date-fns","lodash-es","ramda","antd","react-bootstrap","ahooks","@ant-design/icons","@headlessui/react","@headlessui-float/react","@heroicons/react/20/solid","@heroicons/react/24/solid","@heroicons/react/24/outline","@visx/visx","@tremor/react","rxjs","@mui/material","@mui/icons-material","recharts","react-use","effect","@effect/schema","@effect/platform","@effect/platform-node","@effect/platform-browser","@effect/platform-bun","@effect/sql","@effect/sql-mssql","@effect/sql-mysql2","@effect/sql-pg","@effect/sql-sqlite-node","@effect/sql-sqlite-bun","@effect/sql-sqlite-wasm","@effect/sql-sqlite-react-native","@effect/rpc","@effect/rpc-http","@effect/typeclass","@effect/experimental","@effect/opentelemetry","@material-ui/core","@material-ui/icons","@tabler/icons-react","mui-core","react-icons/ai","react-icons/bi","react-icons/bs","react-icons/cg","react-icons/ci","react-icons/di","react-icons/fa","react-icons/fa6","react-icons/fc","react-icons/fi","react-icons/gi","react-icons/go","react-icons/gr","react-icons/hi","react-icons/hi2","react-icons/im","react-icons/io","react-icons/io5","react-icons/lia","react-icons/lib","react-icons/lu","react-icons/md","react-icons/pi","react-icons/ri","react-icons/rx","react-icons/si","react-icons/sl","react-icons/tb","react-icons/tfi","react-icons/ti","react-icons/vsc","react-icons/wi"],"trustHostHeader":false,"isExperimentalCompile":false},"htmlLimitedBots":"[\\w-]+-Google|Google-[\\w-]+|Chrome-Lighthouse|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti|googleweblight","bundlePagesRouterDependencies":false,"configFileName":"next.config.ts","turbopack":{"root":"/home/runner/work/pan-ui/pan-ui"}}
|
|
13
13
|
|
|
14
14
|
process.env.__NEXT_PRIVATE_STANDALONE_CONFIG = JSON.stringify(nextConfig)
|
|
15
15
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9492],{
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9492],{4585:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"styles",{enumerable:!0,get:function(){return l}});let l={error:{fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},desc:{display:"inline-block"},h1:{display:"inline-block",margin:"0 20px 0 0",padding:"0 23px 0 0",fontSize:24,fontWeight:500,verticalAlign:"top",lineHeight:"49px"},h2:{fontSize:14,fontWeight:400,lineHeight:"49px",margin:0}};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6577:(e,t,l)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/_not-found/page",function(){return l(9520)}])},8886:(e,t,l)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HTTPAccessErrorFallback",{enumerable:!0,get:function(){return o}});let r=l(5155),n=l(4585);function o(e){let{status:t,message:l}=e;return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("title",{children:t+": "+l}),(0,r.jsx)("div",{style:n.styles.error,children:(0,r.jsxs)("div",{children:[(0,r.jsx)("style",{dangerouslySetInnerHTML:{__html:"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}),(0,r.jsx)("h1",{className:"next-error-h1",style:n.styles.h1,children:t}),(0,r.jsx)("div",{style:n.styles.desc,children:(0,r.jsx)("h2",{style:n.styles.h2,children:l})})]})})]})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9520:(e,t,l)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o}});let r=l(5155),n=l(8886),o=function(){return(0,r.jsx)("html",{children:(0,r.jsx)("body",{children:(0,r.jsx)(n.HTTPAccessErrorFallback,{status:404,message:"This page could not be found."})})})};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)}},e=>{e.O(0,[8441,1255,7358],()=>e(e.s=6577)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8457],{1119:(e,t,r)=>{"use strict";function a(e,t){fetch("/api/telemetry",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({event:e,source:"client",payload:null!=t?t:{}}),keepalive:!0}).catch(()=>void 0),console.debug("[telemetry]",e,null!=t?t:{})}r.d(t,{x:()=>a})},3369:(e,t,r)=>{"use strict";r.d(t,{ChatScreen:()=>ee});var a=r(5155),s=r(1847);let l=(0,s.A)("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);var n=r(3804),o=r(2115),d=r(63),i=r(9678),c=r(1119),u=r(2604),m=r(4033);let p=(0,s.A)("Paperclip",[["path",{d:"M13.234 20.252 21 12.3",key:"1cbrk9"}],["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 0 2.828 2 2 0 0 0 2.828 0l8.414-8.586a4 4 0 0 0 0-5.656 4 4 0 0 0-5.656 0l-8.415 8.585a6 6 0 1 0 8.486 8.486",key:"1pkts6"}]]);var x=r(7910);let h=(0,s.A)("Wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",key:"cbrjhi"}]]),b=(0,s.A)("SendHorizontal",[["path",{d:"M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z",key:"117uat"}],["path",{d:"M6 12h16",key:"s4cdu5"}]]);var f=r(549);function g(e){let{attachment:t,onRemove:r}=e;return(0,a.jsxs)("div",{className:"inline-flex items-center gap-2 rounded-full border border-border bg-background px-3 py-1 text-xs text-muted-foreground",children:[(0,a.jsx)("span",{children:t.name}),(0,a.jsxs)("span",{children:[Math.max(1,Math.round(t.size/1024))," KB"]}),r?(0,a.jsx)("button",{type:"button",onClick:()=>r(t.id),className:"text-foreground",children:"\xd7"}):null]})}function v(e){let{disabled:t,onTranscript:r}=e;return(0,a.jsx)("button",{type:"button",disabled:t,onClick:()=>r("Voice input captured from mock microphone control."),className:"rounded-lg border border-border/70 bg-background/80 px-3 py-2 text-sm font-medium text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50","aria-label":"Voice input",children:"Mic"})}function y(e){let{disabled:t,statusNote:r,chips:s=[],onSend:l}=e,[n,d]=(0,o.useState)(""),[i,u]=(0,o.useState)([]),[y,j]=(0,o.useState)(!1),w=(0,o.useRef)(null),N=(0,f.n)({mutationFn:async e=>{let t=new FormData;t.append("file",e);let r=await fetch("/api/uploads",{method:"POST",body:t});if(!r.ok)throw Error("Upload failed");let a=await r.json();return(0,c.x)("attachment.uploaded",{name:e.name,size:e.size}),a.attachment}}),k=async e=>{let t=await N.mutateAsync(e);u(e=>[...e,t])},S=async e=>{e.preventDefault();let r=n.trim();if(!r&&0===i.length||t)return;let a=i.map(e=>e.id);d(""),u([]),(0,c.x)("chat.send",{attachmentCount:a.length}),await l(r||"Sent with attachments only.",a)};return(0,a.jsx)("form",{onSubmit:S,className:"shrink-0 border-t border-border/70 bg-background/80 p-2 md:p-3",children:(0,a.jsxs)("div",{className:"rounded-xl border border-border/70 card-default p-3 shadow-[var(--shadow-soft)]",onDragOver:e=>e.preventDefault(),onDrop:e=>{var t;e.preventDefault();let r=null==(t=e.dataTransfer.files)?void 0:t[0];r&&k(r)},children:[(0,a.jsxs)("div",{className:"mb-2 flex flex-wrap items-center gap-1.5",children:[s.map(e=>(0,a.jsx)("span",{className:"rounded-full border border-border/70 bg-background/80 px-3 py-1 text-xs font-medium text-foreground",children:e.label},e.key)),(0,a.jsxs)("button",{type:"button",onClick:()=>j(e=>!e),className:"inline-flex items-center gap-1 rounded-full border border-border/70 bg-background/60 px-3 py-1 text-xs font-medium text-muted-foreground",children:["Advanced",(0,a.jsx)(m.A,{className:"h-3.5 w-3.5 transition ".concat(y?"rotate-180":"")})]})]}),y?(0,a.jsxs)("div",{className:"mb-3 grid gap-3 rounded-lg border border-border/70 bg-background/60 p-3 text-xs text-muted-foreground md:grid-cols-3",children:[(0,a.jsxs)("div",{className:"rounded-xl border border-border/70 bg-card/60 p-3",children:[(0,a.jsx)("p",{className:"font-semibold text-foreground",children:"Prompt focus"}),(0,a.jsx)("p",{className:"mt-1",children:"The main prompt stays dominant. Lower-frequency context and controls live here so the composer stays calm."})]}),(0,a.jsxs)("div",{className:"rounded-xl border border-border/70 bg-card/60 p-3",children:[(0,a.jsx)("p",{className:"font-semibold text-foreground",children:"Visible trust cues"}),(0,a.jsx)("p",{className:"mt-1",children:"Model, mode, tools, files, and profile remain visible before you send anything."})]}),(0,a.jsxs)("div",{className:"rounded-xl border border-border/70 bg-card/60 p-3",children:[(0,a.jsx)("p",{className:"font-semibold text-foreground",children:"Attachments"}),(0,a.jsx)("p",{className:"mt-1",children:"Drop a file anywhere on the composer or use Attach to add screenshots, notes, and code snippets."})]})]}):null,i.length?(0,a.jsx)("div",{className:"mb-3 flex flex-wrap gap-2",children:i.map(e=>(0,a.jsx)(g,{attachment:e,onRemove:e=>u(t=>t.filter(t=>t.id!==e))},e.id))}):null,(0,a.jsx)("textarea",{value:n,onChange:e=>d(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),S(e))},placeholder:t?"Agent is unavailable right now.":"Message Pan…",className:"min-h-14 w-full resize-none bg-transparent px-3 text-sm leading-7 outline-none placeholder:text-muted-foreground",disabled:t}),(0,a.jsxs)("div",{className:"mt-3 flex flex-col gap-3 xl:flex-row xl:items-center xl:justify-between",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsx)("input",{ref:w,type:"file",className:"hidden",onChange:async e=>{var t;let r=null==(t=e.target.files)?void 0:t[0];r&&(await k(r),e.currentTarget.value="")}}),(0,a.jsxs)("button",{type:"button",onClick:()=>{var e;return null==(e=w.current)?void 0:e.click()},className:"inline-flex items-center gap-2 rounded-2xl border border-border/70 bg-background/80 px-3 py-2 text-sm font-medium text-foreground",children:[(0,a.jsx)(p,{className:"h-4 w-4"}),"Attach"]}),(0,a.jsx)(v,{disabled:t,onTranscript:e=>d(t=>"".concat(t).concat(t?" ":"").concat(e))}),r?(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:r}):null]}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsxs)("span",{className:"hidden items-center gap-1 text-xs text-muted-foreground md:inline-flex",children:[(0,a.jsx)(x.A,{className:"h-3.5 w-3.5"}),"Trust cues stay visible"]}),(0,a.jsxs)("span",{className:"hidden items-center gap-1 text-xs text-muted-foreground md:inline-flex",children:[(0,a.jsx)(h,{className:"h-3.5 w-3.5"}),"Tools stay explicit"]}),(0,a.jsxs)("button",{type:"submit",disabled:t||!n.trim()&&0===i.length,className:"inline-flex items-center justify-center gap-2 rounded-2xl brand-gradient px-4 py-2.5 text-sm font-semibold text-primary-foreground shadow-[var(--shadow-card)] transition hover:-translate-y-0.5 disabled:cursor-not-allowed disabled:opacity-50",children:[(0,a.jsx)(b,{className:"h-4 w-4"}),"Send"]})]})]})]})})}let j=(0,s.A)("FolderKanban",[["path",{d:"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z",key:"1fr9dc"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M12 10v2",key:"hh53o1"}],["path",{d:"M16 10v6",key:"1d6xys"}]]),w=(0,s.A)("BrainCircuit",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M9 13a4.5 4.5 0 0 0 3-4",key:"10igwf"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M12 13h4",key:"1ku699"}],["path",{d:"M12 18h6a2 2 0 0 1 2 2v1",key:"105ag5"}],["path",{d:"M12 8h8",key:"1lhi5i"}],["path",{d:"M16 8V5a2 2 0 0 1 2-2",key:"u6izg6"}],["circle",{cx:"16",cy:"13",r:".5",key:"ry7gng"}],["circle",{cx:"18",cy:"3",r:".5",key:"1aiba7"}],["circle",{cx:"20",cy:"21",r:".5",key:"yhc1fs"}],["circle",{cx:"20",cy:"8",r:".5",key:"1e43v0"}]]),N=(0,s.A)("Database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]);var k=r(5740);let S=(0,s.A)("Settings2",[["path",{d:"M20 7h-9",key:"3s1dr2"}],["path",{d:"M14 17H5",key:"gfn3mx"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);function A(e){let{onRename:t,onArchive:r,onDelete:s,onFork:l}=e,[n,d]=(0,o.useState)(!1);return(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsx)("button",{type:"button",onClick:()=>d(e=>!e),className:"rounded-md border border-border/70 bg-background/80 px-2.5 py-1 text-2xs font-medium text-muted-foreground hover:bg-card",children:"Manage"}),n?(0,a.jsxs)("div",{className:"absolute right-0 top-10 z-10 w-40 rounded-lg border border-border/70 bg-background p-2 shadow-lg",children:[(0,a.jsx)("button",{type:"button",onClick:()=>{d(!1),t()},className:"block w-full rounded-md px-3 py-2 text-left text-sm hover:bg-card",children:"Rename"}),(0,a.jsx)("button",{type:"button",onClick:()=>{d(!1),l()},className:"block w-full rounded-md px-3 py-2 text-left text-sm hover:bg-card",children:"Fork"}),(0,a.jsx)("button",{type:"button",onClick:()=>{d(!1),r()},className:"block w-full rounded-md px-3 py-2 text-left text-sm hover:bg-card",children:"Archive"}),(0,a.jsx)("button",{type:"button",onClick:()=>{d(!1),s()},className:"block w-full rounded-md px-3 py-2 text-left text-sm text-danger hover:bg-card",children:"Delete"})]}):null]})}var C=r(592),M=r(4269);function P(e){var t,r,s;let{value:l,provider:n,onChange:d,ariaLabel:i="Model switcher",disabled:c,className:u}=e,p=null!=(r=function(e,t){var r,a,s;let l=(0,C.w)(),n=(0,o.useMemo)(()=>{var r,a,s,n;let o=new Map;for(let e of null!=(s=null==(r=l.data)?void 0:r.modelOptions)?s:[])o.set(e.id,e);return e&&!o.has(e)&&o.set(e,{id:e,label:e,provider:t||(null==(n=l.data)?void 0:n.provider)||"unknown",source:"session-current"}),!o.size&&(null==(a=l.data)?void 0:a.modelDefault)&&o.set(l.data.modelDefault,{id:l.data.modelDefault,label:l.data.modelDefault,provider:l.data.provider||"unknown",source:"runtime-default"}),Array.from(o.values())},[e,t,null==(r=l.data)?void 0:r.modelDefault,null==(a=l.data)?void 0:a.modelOptions,null==(s=l.data)?void 0:s.provider]);return{...l,data:n}}(l,n).data)?r:[];(0,o.useEffect)(()=>{!l&&p[0]&&d(p[0].id,p[0].provider)},[d,p,l]);let x=null!=(s=null==(t=p.find(e=>e.id===l))?void 0:t.label)?s:l;return(0,a.jsxs)("div",{className:(0,M.cn)("relative",u),children:[(0,a.jsx)("select",{value:x,onChange:e=>{let t=p.find(t=>t.label===e.target.value||t.id===e.target.value);t&&d(t.id,t.provider)},className:"min-w-[14rem] appearance-none rounded-2xl border border-border/70 bg-background/85 px-4 py-2.5 pr-10 text-sm font-medium outline-none transition focus:border-primary focus:ring-2 focus:ring-primary/20 disabled:cursor-not-allowed disabled:opacity-60","aria-label":i,disabled:c||0===p.length,children:p.map(e=>(0,a.jsxs)("option",{value:e.label,children:[e.label," \xb7 ",e.provider]},e.id))}),(0,a.jsx)(m.A,{className:"pointer-events-none absolute right-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"})]})}var T=r(2263),D=r(4695);function _(e){let{title:t,settings:r,profileLabel:s,loadedSkillIds:l,runtimeConnected:n,controlsDisabled:o,isPersisted:d,archived:i,runtimeSummary:c,hasMessages:u,onOpenSettings:m,onRename:p,onArchive:h,onDelete:b,onFork:f,onModelChange:g}=e,v=(null!=l?l:[]).filter(e=>"skill-authoring"!==e);return(0,a.jsx)("div",{className:(0,M.cn)("shrink-0 border-b border-border/70 bg-card/80 px-5",u?"py-2.5":"py-4"),children:(0,a.jsxs)("div",{className:"flex flex-col gap-4 lg:flex-row lg:items-start lg:justify-between",children:[(0,a.jsxs)("div",{className:"min-w-0 space-y-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-xs font-semibold uppercase tracking-label text-muted-foreground",children:"Workspace conversation"}),(0,a.jsxs)("div",{className:"mt-1 flex flex-wrap items-center gap-3",children:[(0,a.jsx)("h2",{className:"truncate text-xl font-semibold tracking-tight text-foreground",children:t}),i?(0,a.jsx)(T.W,{label:"Archived",tone:"warning"}):null,d?(0,a.jsx)(T.W,{label:"Saved",tone:"success"}):(0,a.jsx)(T.W,{label:"Draft",tone:"warning"})]}),c?(0,a.jsx)("p",{className:"mt-2 max-w-3xl text-sm leading-6 text-muted-foreground",children:c}):null]}),u?null:(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-xs",children:[(0,a.jsx)(T.W,{label:s,tone:"accent",icon:(0,a.jsx)(j,{className:"h-3.5 w-3.5 text-accent"})}),(0,a.jsx)(T.W,{label:n?"Runtime connected":"Runtime degraded",tone:(0,D.OX)(n?"healthy":"degraded")}),(0,a.jsx)(T.W,{label:r.provider,tone:"muted",icon:(0,a.jsx)(w,{className:"h-3.5 w-3.5 text-primary"})}),(0,a.jsx)(T.W,{label:r.policyPreset,tone:"muted",icon:(0,a.jsx)(x.A,{className:"h-3.5 w-3.5 text-approval"})}),(0,a.jsx)(T.W,{label:r.memoryMode,tone:"muted",icon:(0,a.jsx)(N,{className:"h-3.5 w-3.5 text-success"})})]}),u?null:(0,a.jsxs)("div",{className:"grid gap-3 xl:grid-cols-[minmax(0,1fr)_auto]",children:[(0,a.jsxs)("div",{className:"rounded-lg border border-border/70 bg-background/60 p-3.5",children:[(0,a.jsx)("p",{className:"text-2xs font-semibold uppercase tracking-label text-muted-foreground",children:"Loaded skills"}),v.length?(0,a.jsx)("div",{className:"mt-3 flex flex-wrap gap-2",children:v.map(e=>(0,a.jsx)(T.W,{label:e,tone:"success",icon:(0,a.jsx)(k.A,{className:"h-3.5 w-3.5 text-success"})},e))}):(0,a.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:"No skills pinned to this session yet. Add one from Skills or load it directly in chat."})]}),(0,a.jsxs)("div",{className:"grid min-w-[220px] grid-cols-2 gap-3",children:[(0,a.jsxs)("div",{className:"rounded-lg border border-border/70 bg-background/60 p-3.5",children:[(0,a.jsx)("p",{className:"text-2xs font-semibold uppercase tracking-label text-muted-foreground",children:"Session type"}),(0,a.jsx)("p",{className:"mt-2 text-sm font-semibold text-foreground",children:d?"Saved session":"Temporary session"})]}),(0,a.jsxs)("div",{className:"rounded-lg border border-border/70 bg-background/60 p-3.5",children:[(0,a.jsx)("p",{className:"text-2xs font-semibold uppercase tracking-label text-muted-foreground",children:"Model"}),(0,a.jsx)("p",{className:"mt-2 text-sm font-semibold text-foreground",children:r.model||"Default"})]})]})]})]}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2 lg:max-w-[360px] lg:justify-end",children:[(0,a.jsx)(P,{value:r.model,provider:r.provider,onChange:g,ariaLabel:"Header model switcher",disabled:o}),(0,a.jsxs)("button",{type:"button",onClick:m,disabled:o,"aria-label":"Settings",className:"inline-flex items-center gap-2 rounded-2xl border border-border/70 bg-background/80 px-3 py-2.5 text-sm font-medium text-foreground shadow-[var(--shadow-card)] transition hover:-translate-y-0.5 hover:bg-card disabled:cursor-not-allowed disabled:opacity-60",children:[(0,a.jsx)(S,{className:"h-4 w-4"}),"Settings"]}),(0,a.jsx)(A,{onRename:p,onArchive:h,onDelete:b,onFork:f})]})]})})}function L(e){var t,r;let{event:s,onApprove:l,onReject:n}=e;return(0,a.jsxs)("div",{className:"rounded-lg border border-approval/35 bg-approval/10 p-4 shadow-[var(--shadow-card)]",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Approval needed"}),(0,a.jsx)("h4",{className:"mt-1 text-sm font-semibold text-foreground",children:s.toolName}),(0,a.jsx)("p",{className:"mt-2 text-sm leading-6 text-foreground",children:s.summary})]}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,a.jsx)(T.W,{label:null!=(t=s.governance)?t:"approval-gated",tone:(0,D.fh)(null!=(r=s.governance)?r:"approval-gated")}),s.riskLevel?(0,a.jsx)(T.W,{label:"".concat(s.riskLevel," risk"),tone:(0,D.yD)(s.riskLevel)}):null]})]}),(0,a.jsxs)("div",{className:"mt-4 flex gap-2",children:[(0,a.jsx)("button",{type:"button",onClick:()=>l(s.toolCallId),className:"rounded-xl bg-primary px-4 py-2 text-sm font-medium text-primary-foreground shadow-[var(--shadow-card)]",children:"Approve"}),(0,a.jsx)("button",{type:"button",onClick:()=>n(s.toolCallId),className:"rounded-xl border border-border px-4 py-2 text-sm text-foreground",children:"Reject"})]})]})}function R(e){let{artifact:t,onOpen:r}=e;return(0,a.jsxs)("button",{type:"button",onClick:()=>r(t.artifactId),className:"w-full rounded-2xl border border-border bg-card p-4 text-left shadow-sm transition hover:bg-muted/40",children:[(0,a.jsxs)("p",{className:"text-xs uppercase tracking-wide text-muted-foreground",children:["Artifact \xb7 ",t.artifactType]}),(0,a.jsx)("h4",{className:"mt-1 text-sm font-semibold",children:t.label}),t.content?(0,a.jsx)("p",{className:"mt-2 line-clamp-3 text-sm text-muted-foreground",children:t.content}):null]})}var E=r(8192);let I=(0,s.A)("UserRound",[["circle",{cx:"12",cy:"8",r:"5",key:"1hypcn"}],["path",{d:"M20 21a8 8 0 0 0-16 0",key:"rfgkzh"}]]);function O(e){let{text:t}=e;return(0,a.jsx)("button",{type:"button",onClick:()=>{"speechSynthesis"in window&&(window.speechSynthesis.cancel(),window.speechSynthesis.speak(new SpeechSynthesisUtterance(t)))},className:"rounded-md border border-border px-2 py-1 text-2xs text-muted-foreground","aria-label":"Play voice",children:"TTS"})}function W(e){var t;let{message:r}=e,s="user"===r.role;return(0,a.jsxs)("div",{className:(0,M.cn)("flex w-full gap-3",s?"justify-end":"justify-start"),children:[s?null:(0,a.jsx)("div",{className:"mt-1 flex h-9 w-9 shrink-0 items-center justify-center rounded-2xl bg-[linear-gradient(135deg,hsl(var(--primary)),hsl(var(--accent)))] text-primary-foreground shadow-[var(--shadow-card)]",children:(0,a.jsx)(E.A,{className:"h-4 w-4"})}),(0,a.jsxs)("div",{className:(0,M.cn)("max-w-[88%] space-y-2",s&&"items-end"),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,a.jsx)("p",{className:"text-2xs font-semibold uppercase tracking-label text-muted-foreground",children:s?"You":"Pan"}),(0,a.jsx)("p",{className:"text-2xs uppercase tracking-label text-muted-foreground",children:new Date(r.createdAt).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})})]}),(0,a.jsxs)("div",{className:(0,M.cn)("rounded-lg border px-4 py-3 text-sm shadow-[var(--shadow-card)]",s?"border-primary/15 bg-[linear-gradient(135deg,hsl(var(--primary))/0.98,hsl(var(--accent))/0.92)] text-primary-foreground":"border-border/70 bg-card/80 text-card-foreground"),children:[(0,a.jsx)("p",{className:"whitespace-pre-wrap leading-7",children:r.content}),(null==(t=r.attachments)?void 0:t.length)?(0,a.jsx)("div",{className:"mt-3 flex flex-wrap gap-2",children:r.attachments.map(e=>(0,a.jsx)(g,{attachment:e},e.id))}):null,s?null:(0,a.jsx)("div",{className:"mt-3 flex items-center gap-2",children:(0,a.jsx)(O,{text:r.content})})]})]}),s?(0,a.jsx)("div",{className:"mt-1 flex h-9 w-9 shrink-0 items-center justify-center rounded-2xl border border-border/70 bg-background/80 text-foreground shadow-[var(--shadow-card)]",children:(0,a.jsx)(I,{className:"h-4 w-4"})}):null]})}var z=r(9043);function q(e){let t=[...e].reverse().find(e=>"run.phase"===e.type);if((null==t?void 0:t.type)==="run.phase")return t.label;if([...e].reverse().find(e=>"tool.awaiting_approval"===e.type))return"Waiting for approval before the agent can continue.";let r=[...e].reverse().find(e=>"tool.started"===e.type);return(null==r?void 0:r.type)==="tool.started"?"".concat(r.toolName," is running."):"Pan is responding…"}function F(e){var t;let{messages:r,runEvents:s,artifacts:n,streamingMessage:d,isStreaming:i,isLoading:c,onApprove:u,onReject:m,onOpenArtifact:p}=e,x=s.filter(e=>"assistant.delta"!==e.type&&"source.emitted"!==e.type),h=[...s].reverse().find(e=>"run.phase"===e.type),b=s.filter(e=>"tool.awaiting_approval"===e.type).length,f=(0,o.useRef)(null),g=(0,o.useRef)(null),v=(0,o.useRef)(!1);return(0,o.useEffect)(()=>{let e=f.current;if(!e)return;let t=()=>{v.current=e.scrollHeight-e.scrollTop-e.clientHeight>80};return e.addEventListener("scroll",t,{passive:!0}),()=>e.removeEventListener("scroll",t)},[]),(0,o.useEffect)(()=>{if(v.current)return;let e=f.current;e&&e.scrollTo({top:e.scrollHeight,behavior:i?"instant":"smooth"})},[r,d,i,s.length]),(0,a.jsxs)("div",{ref:f,className:"flex min-h-0 flex-1 flex-col gap-5 overflow-y-auto px-5 py-5",children:[c?(0,a.jsx)("div",{className:"rounded-xl border border-border/70 bg-card/60 p-8 text-sm text-muted-foreground shadow-[var(--shadow-card)]",children:"Loading conversation…"}):null,c||0!==r.length?null:(0,a.jsxs)("div",{className:"rounded-xl border border-dashed border-border/70 bg-gradient-to-br from-primary/[0.06] to-accent/[0.03] p-8 text-sm text-muted-foreground shadow-[var(--shadow-card)]",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 text-foreground",children:[(0,a.jsx)(k.A,{className:"h-4 w-4 text-primary"}),(0,a.jsx)("p",{className:"font-semibold",children:"Start a conversation"})]}),(0,a.jsx)("p",{className:"mt-3 max-w-2xl leading-7",children:"Research, plan, debug, or build. Runtime activity, approvals, sources, and generated outputs stay legible instead of being buried inside assistant prose."}),(0,a.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2",children:[(0,a.jsx)(T.W,{label:"Chat-first",tone:"accent"}),(0,a.jsx)(T.W,{label:"Tool-aware",tone:"success"}),(0,a.jsx)(T.W,{label:"Approval-ready",tone:"warning"})]})]}),(i||x.length>0)&&!c?(0,a.jsx)("div",{className:"rounded-lg border border-border/70 bg-background/60 p-4 shadow-[var(--shadow-card)]",children:(0,a.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-2xs font-semibold uppercase tracking-label text-muted-foreground",children:"Runtime activity"}),(0,a.jsx)("p",{className:"mt-1 text-sm font-medium text-foreground",children:i?q(s):null!=(t=null==h?void 0:h.label)?t:"No active tool run"})]}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(null==h?void 0:h.type)==="run.phase"?(0,a.jsx)(T.W,{label:h.phase,tone:"accent"}):null,(0,a.jsx)(T.W,{label:"".concat(x.length," events"),tone:"muted"}),b?(0,a.jsx)(T.W,{label:"".concat(b," approvals"),tone:"warning"}):null]})]})}):null,r.map(e=>(0,a.jsx)(W,{message:e},e.id)),x.map((e,t)=>{if("tool.started"===e.type||"tool.completed"===e.type)return(0,a.jsx)(z.J,{event:e},"".concat(e.type,"-").concat(e.toolCallId,"-").concat(t));if("tool.awaiting_approval"===e.type)return(0,a.jsx)(L,{event:e,onApprove:u,onReject:m},"".concat(e.type,"-").concat(e.toolCallId,"-").concat(t));if("artifact.emitted"===e.type){var r;let s=null!=(r=n.find(t=>t.artifactId===e.artifactId))?r:e;return(0,a.jsx)(R,{artifact:s,onOpen:p},"".concat(e.type,"-").concat(e.artifactId,"-").concat(t))}return"run.phase"===e.type?(0,a.jsx)("div",{className:"rounded-lg border border-border/70 bg-background/80 px-4 py-3 text-sm text-muted-foreground shadow-[var(--shadow-card)]",children:e.label},"".concat(e.type,"-").concat(t)):"error"===e.type?(0,a.jsx)("div",{className:"rounded-lg border border-danger/30 bg-danger/10 p-4 text-sm text-foreground shadow-[var(--shadow-card)]",children:(0,a.jsxs)("div",{className:"flex items-start gap-2",children:[(0,a.jsx)(l,{className:"mt-0.5 h-4 w-4 text-danger"}),(0,a.jsx)("p",{children:e.message})]})},"".concat(e.type,"-").concat(t)):null}),i?(0,a.jsxs)("div",{className:"flex justify-start gap-3",children:[(0,a.jsx)("div",{className:"mt-1 flex h-9 w-9 items-center justify-center rounded-2xl bg-[linear-gradient(135deg,hsl(var(--primary)),hsl(var(--accent)))] text-primary-foreground shadow-[var(--shadow-card)]",children:(0,a.jsx)(k.A,{className:"h-4 w-4"})}),(0,a.jsxs)("div",{className:"max-w-[88%] rounded-lg border border-border/70 bg-card/80 px-4 py-3 text-sm shadow-[var(--shadow-card)]",children:[(0,a.jsx)("p",{className:"whitespace-pre-wrap leading-7",children:d||"…"}),(0,a.jsx)("p",{className:"mt-3 text-2xs uppercase tracking-label text-muted-foreground",children:q(s)})]})]}):null,(0,a.jsx)("div",{ref:g,"aria-hidden":"true",className:"h-px shrink-0"})]})}var V=r(9776);function H(e){if(!e)return null;let t=e.title||e.label||e.name||e.href||e.url;return t?{id:String(e.id||e.href||e.url||e.label||t),title:String(t),href:e.href||e.url?String(e.href||e.url):void 0,snippet:e.snippet||e.quote||e.description?String(e.snippet||e.quote||e.description):void 0,sourceType:function(e){switch(String(e||"").toLowerCase()){case"web":case"url":return"web";case"file":return"file";case"workspace":return"workspace";case"integration":return"integration";default:return"unknown"}}(e.sourceType||e.kind||e.type),provenance:function(e){switch(String(e||"").toLowerCase()){case"builtin":case"built-in":return"built-in";case"verified":return"verified";case"self-hosted":case"self_hosted":return"self-hosted";case"local-process":case"local_process":return"local-process";default:return"custom"}}(e.provenance),note:e.note?String(e.note):void 0,label:e.label?String(e.label):void 0}:null}var J=r(6288);function U(e){let{open:t,title:r,description:s,confirmLabel:l,confirmClassName:n,onClose:o,onConfirm:d}=e;return t?(0,a.jsx)("div",{className:"fixed inset-0 z-30 flex items-center justify-center bg-black/50 p-4",children:(0,a.jsxs)("div",{className:"w-full max-w-md rounded-2xl border border-border bg-background p-5 shadow-xl",children:[(0,a.jsx)("h3",{className:"text-lg font-semibold",children:r}),(0,a.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:s}),(0,a.jsxs)("div",{className:"mt-5 flex justify-end gap-2",children:[(0,a.jsx)("button",{type:"button",onClick:o,className:"rounded-lg border border-border px-4 py-2 text-sm",children:"Cancel"}),(0,a.jsx)("button",{type:"button",onClick:()=>void d(),className:null!=n?n:"rounded-lg bg-primary px-4 py-2 text-sm font-medium text-primary-foreground",children:l})]})]})}):null}function K(e){let{open:t,initialTitle:r,onClose:s,onSubmit:l}=e,[n,d]=(0,o.useState)(r);return((0,o.useEffect)(()=>{d(r)},[r]),t)?(0,a.jsx)("div",{className:"fixed inset-0 z-30 flex items-center justify-center bg-black/50 p-4",children:(0,a.jsxs)("div",{className:"w-full max-w-md rounded-2xl border border-border bg-background p-5 shadow-xl",children:[(0,a.jsx)("h3",{className:"text-lg font-semibold",children:"Rename session"}),(0,a.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"Give this conversation a clearer title."}),(0,a.jsx)("input",{"aria-label":"Rename session input",value:n,onChange:e=>d(e.target.value),className:"mt-4 w-full rounded-lg border border-input bg-background px-3 py-2 text-sm outline-none focus:border-primary"}),(0,a.jsxs)("div",{className:"mt-5 flex justify-end gap-2",children:[(0,a.jsx)("button",{type:"button",onClick:s,className:"rounded-lg border border-border px-4 py-2 text-sm",children:"Cancel"}),(0,a.jsx)("button",{type:"button",onClick:()=>void l(n),className:"rounded-lg bg-primary px-4 py-2 text-sm font-medium text-primary-foreground",children:"Save"})]})]})}):null}var B=r(6191);let Q=(0,s.A)("Pin",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]]),G=(0,s.A)("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]),Y=(0,s.A)("Clock3",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16.5 12",key:"1aq6pp"}]]);function Z(e){let{value:t,onChange:r}=e;return(0,a.jsx)("div",{className:"border-b border-border/70 px-4 pb-3 pt-1",children:(0,a.jsx)("input",{value:t,onChange:e=>r(e.target.value),placeholder:"Search sessions…",className:"w-full rounded-2xl border border-border/70 bg-background/85 px-4 py-3 text-sm outline-none transition focus:border-primary focus:ring-2 focus:ring-primary/20"})})}function X(e){let{sessions:t,selectedSessionId:r,search:s,isLoading:l,onSearchChange:n,onNewChat:d,onSelectSession:i}=e,[c,u]=(0,o.useState)(25),m=s.trim()?t.filter(e=>!e.parentSessionId):t,p=m.filter(e=>e.pinned&&!e.archived),x=m.filter(e=>!e.pinned&&!e.archived),h=m.filter(e=>e.archived),[b,f]=(0,o.useState)(!1),g=[{label:"Pinned",items:p},{label:"Recent",items:x.slice(0,c)},{label:"Archived",items:b?h:h.slice(0,5)}].filter(e=>e.items.length>0),v=x.length>c,y=!b&&h.length>5;return(0,a.jsxs)("aside",{className:"flex h-full max-h-full flex-col overflow-hidden rounded-xl border border-border/70 bg-card/60 shadow-[var(--shadow-soft)]",children:[(0,a.jsxs)("div",{className:"border-b border-border/70 p-4",children:[(0,a.jsx)("p",{className:"mb-3 text-xs font-semibold uppercase tracking-label text-muted-foreground",children:"Workspace"}),(0,a.jsx)("div",{className:"rounded-lg bg-[linear-gradient(135deg,hsl(var(--primary))/0.16,hsl(var(--accent))/0.12)] p-1",children:(0,a.jsxs)("button",{type:"button",onClick:d,className:"flex w-full items-center justify-center gap-2 rounded-lg brand-gradient px-4 py-3 text-sm font-semibold text-primary-foreground shadow-[var(--shadow-card)] transition hover:-translate-y-0.5",children:[(0,a.jsx)(B.A,{className:"h-4 w-4"}),"New chat"]})}),(0,a.jsxs)("div",{className:"mt-4 grid grid-cols-3 gap-2 text-center",children:[(0,a.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/60 px-2 py-2.5",children:[(0,a.jsx)("p",{className:"text-2xs uppercase tracking-label text-muted-foreground",children:"All"}),(0,a.jsx)("p",{className:"mt-1 text-sm font-semibold text-foreground",children:m.length})]}),(0,a.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/60 px-2 py-2.5",children:[(0,a.jsx)("p",{className:"text-2xs uppercase tracking-label text-muted-foreground",children:"Pinned"}),(0,a.jsx)("p",{className:"mt-1 text-sm font-semibold text-foreground",children:p.length})]}),(0,a.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/60 px-2 py-2.5",children:[(0,a.jsx)("p",{className:"text-2xs uppercase tracking-label text-muted-foreground",children:"Archived"}),(0,a.jsx)("p",{className:"mt-1 text-sm font-semibold text-foreground",children:h.length})]})]})]}),(0,a.jsx)(Z,{value:s,onChange:n}),(0,a.jsxs)("div",{className:"flex-1 space-y-4 overflow-y-auto p-3",children:[l?(0,a.jsx)("div",{className:"rounded-2xl border border-dashed border-border/70 bg-background/60 p-4 text-sm text-muted-foreground",children:"Loading sessions…"}):null,l||0!==m.length?null:(0,a.jsx)("div",{className:"rounded-2xl border border-dashed border-border/70 bg-background/60 p-4 text-sm text-muted-foreground",children:"No sessions match your search."}),g.map(e=>(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between px-2 text-2xs font-semibold uppercase tracking-label text-muted-foreground",children:[(0,a.jsx)("span",{children:e.label}),(0,a.jsx)("span",{children:e.items.length})]}),e.items.map(e=>{var t;return(0,a.jsxs)("button",{type:"button",onClick:()=>i(e.id),"aria-label":/\(fork\)/i.test(e.title)&&r!==e.id?e.title:"Open session ".concat(e.id),className:(0,M.cn)("w-full rounded-lg border px-4 py-3 text-left transition",r===e.id?"border-primary/20 bg-primary/8":"border-border/70 bg-background/80 hover:border-border hover:bg-card"),children:[(0,a.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("p",{"aria-hidden":"true",className:"truncate text-sm font-semibold text-foreground",children:e.title}),(0,a.jsx)("p",{"aria-hidden":"true",className:"mt-1 line-clamp-2 text-xs leading-5 text-muted-foreground",children:(t=e.preview)?t.length>88?"".concat(t.slice(0,85),"…"):t:"No messages yet."})]}),(0,a.jsxs)("div",{className:"flex shrink-0 flex-col items-end gap-1",children:[e.pinned?(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full border border-border/70 px-2 py-0.5 text-3xs uppercase tracking-label text-muted-foreground",children:[(0,a.jsx)(Q,{className:"h-3 w-3"}),"Pinned"]}):null,e.parentSessionId?(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full border border-border/70 px-2 py-0.5 text-3xs uppercase tracking-label text-muted-foreground",children:[(0,a.jsx)(G,{className:"h-3 w-3"}),"Fork"]}):null]})]}),(0,a.jsxs)("div",{className:"mt-3 flex items-center justify-between gap-2 text-2xs text-muted-foreground",children:[(0,a.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,a.jsx)(Y,{className:"h-3.5 w-3.5"}),new Date(e.updatedAt).toLocaleString([],{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"})]}),e.workspaceLabel?(0,a.jsx)("span",{children:e.workspaceLabel}):null]})]},e.id)})]},e.label)),v?(0,a.jsxs)("button",{type:"button",onClick:()=>u(e=>e+25),className:"mx-2 mt-2 rounded-xl border border-border/70 bg-background/80 px-3 py-2 text-xs font-medium text-muted-foreground transition hover:bg-card",children:["Show more (",x.length-c," remaining)"]}):null,y?(0,a.jsxs)("button",{type:"button",onClick:()=>f(!0),className:"mx-2 mt-2 rounded-xl border border-border/70 bg-background/80 px-3 py-2 text-xs font-medium text-muted-foreground transition hover:bg-card",children:["Show all archived (",h.length-5," more)"]}):null]})]})}function $(e){let{open:t,settings:r,saving:s,error:l,disabled:n,onClose:d,onSave:i}=e,[c,u]=(0,o.useState)(r);return((0,o.useEffect)(()=>{u(r)},[r]),t)?(0,a.jsx)("div",{className:"fixed inset-0 z-30 flex justify-end bg-black/45 backdrop-blur-sm",children:(0,a.jsxs)("div",{className:"h-full w-full max-w-md border-l border-border/70 bg-background/95 p-5 shadow-[var(--shadow-elevated)]",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"text-lg font-semibold",children:"Session controls"}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:"Model selection is runtime-backed. Policy and memory settings are session guidance stored with this chat."})]}),(0,a.jsx)("button",{type:"button",onClick:d,className:"rounded-2xl border border-border/70 bg-background/80 px-3 py-2 text-sm font-medium text-foreground",children:"Close"})]}),(0,a.jsxs)("div",{className:"mt-6 space-y-5 rounded-lg border border-border/70 bg-card/60 p-4 shadow-[var(--shadow-card)]",children:[(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)("label",{htmlFor:"chat-model",className:"text-sm font-medium",children:"Model"}),(0,a.jsx)("div",{id:"chat-model",children:(0,a.jsx)(P,{value:c.model,provider:c.provider,onChange:(e,t)=>u(r=>({...r,model:e,provider:t})),ariaLabel:"Settings model switcher",disabled:n||s,className:"w-full"})})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)("label",{htmlFor:"policy-preset",className:"text-sm font-medium",children:"Policy preset"}),(0,a.jsxs)("select",{id:"policy-preset",value:c.policyPreset,onChange:e=>u(t=>({...t,policyPreset:e.target.value})),className:"w-full rounded-2xl border border-input bg-background/85 px-4 py-3 text-sm outline-none transition focus:border-primary focus:ring-2 focus:ring-primary/20",disabled:n||s,children:[(0,a.jsx)("option",{value:"safe-chat",children:"Safe Chat"}),(0,a.jsx)("option",{value:"research",children:"Research"}),(0,a.jsx)("option",{value:"builder",children:"Builder"}),(0,a.jsx)("option",{value:"full-power",children:"Full Power"})]})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)("label",{htmlFor:"memory-mode",className:"text-sm font-medium",children:"Memory mode"}),(0,a.jsxs)("select",{id:"memory-mode",value:c.memoryMode,onChange:e=>u(t=>({...t,memoryMode:e.target.value})),className:"w-full rounded-2xl border border-input bg-background/85 px-4 py-3 text-sm outline-none transition focus:border-primary focus:ring-2 focus:ring-primary/20",disabled:n||s,children:[(0,a.jsx)("option",{value:"standard",children:"Standard"}),(0,a.jsx)("option",{value:"minimal",children:"Minimal"})]})]})]}),l?(0,a.jsx)("div",{className:"mt-4 rounded-2xl border border-danger/30 bg-danger/10 px-4 py-3 text-sm text-foreground",children:l}):null,(0,a.jsx)("div",{className:"mt-8 flex justify-end",children:(0,a.jsx)("button",{type:"button",onClick:()=>void i(c),disabled:n||s,className:"rounded-2xl bg-[linear-gradient(135deg,hsl(var(--primary)),hsl(var(--accent)))] px-4 py-2.5 text-sm font-semibold text-primary-foreground shadow-[var(--shadow-card)] disabled:cursor-not-allowed disabled:opacity-60",children:s?"Saving…":"Save settings"})})]})}):null}function ee(){var e,t,r,s,m,p,x,h,b,g,v,j,w,N,k,S,A,M,P,T;let D=(0,d.useSearchParams)(),L=D.get("session"),R=D.get("loadedSkill"),[E,I]=(0,o.useState)(""),[O,W]=(0,o.useState)(null),[z,q]=(0,o.useState)([]),[B,Q]=(0,o.useState)(""),[G,Y]=(0,o.useState)(!1),[Z,ee]=(0,o.useState)(!1),[et,er]=(0,o.useState)(!1),[ea,es]=(0,o.useState)(!1),[el,en]=(0,o.useState)(null),[eo,ed]=(0,o.useState)(null),[ei,ec]=(0,o.useState)({model:"",provider:"unknown",policyPreset:"safe-chat",memoryMode:"standard"}),eu=(0,J.te)(E),em=(0,C.w)(),ep=(0,J.oz)(),ex=(0,J.Kp)(),eh=(0,J.Sv)(),eb=(0,J.tS)(),ef=(0,J.QV)(),eg=(0,J.Or)(),ev=function(){let e=(0,V.jE)();return(0,f.n)({mutationFn:async e=>{var t,r;let{sessionId:a,message:s,attachmentIds:l,onEvent:n}=e,o=await fetch("/api/chat/stream",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:a,message:s,attachmentIds:l})});if(!o.ok||!o.body){let e=await o.json().catch(()=>null);throw new i.h(o.status,null!=(t=null==e?void 0:e.error)?t:"Unable to stream response",null==e?void 0:e.code,e)}let d=o.body.getReader(),c=new TextDecoder,u="",m=!1;for(;!m;){let{value:e,done:t}=await d.read();if(m=t,t||!e)break;let a=(u+=c.decode(e,{stream:!0})).split("\n\n");for(let e of(u=null!=(r=a.pop())?r:"",a))for(let t of function(e){let t=[];for(let o of e.split("\n\n"))for(let e of o.split("\n").filter(e=>e.startsWith("data:"))){var r,a,s,l,n;let o=e.replace(/^data:\s*/,"").trim();if(!o||"[DONE]"===o)continue;let d=function(e){try{return JSON.parse(e)}catch(e){return null}}(o);if(!d)continue;if("assistant.delta"===d.type||"run.phase"===d.type||"tool.started"===d.type||"tool.awaiting_approval"===d.type||"tool.completed"===d.type||"artifact.emitted"===d.type||"source.emitted"===d.type||"error"===d.type){t.push(d);continue}if("response.output_text.delta"===d.type&&d.delta){t.push({type:"assistant.delta",delta:String(d.delta)});continue}if("response.output_item.added"===d.type&&(null==(r=d.item)?void 0:r.type)==="function_call"){t.push({type:"tool.started",toolCallId:String(d.item.call_id||d.item.id||"tool-call"),toolName:String(d.item.name||"function_call"),riskLevel:"execute",provenance:"local-process"});continue}if("response.output_item.done"===d.type&&(null==(a=d.item)?void 0:a.type)==="function_call"){t.push({type:"tool.completed",toolCallId:String(d.item.call_id||d.item.id||"tool-call"),toolName:String(d.item.name||"function_call"),output:"string"==typeof d.item.arguments?d.item.arguments:JSON.stringify(d.item.arguments||{}),riskLevel:"execute"});continue}if("response.output_item.added"===d.type&&(null==(s=d.item)?void 0:s.type)==="file_search_call"){t.push({type:"tool.started",toolCallId:String(d.item.call_id||d.item.id||"file-search"),toolName:"file_search",riskLevel:"read",provenance:"built-in"});continue}let i=H(d.source||d.citation||(null==(l=d.metadata)?void 0:l.source)||null);if(i&&t.push({type:"source.emitted",source:i}),("response.completed"===d.type||"response.output_item.done"===d.type)&&Array.isArray(null==(n=d.response)?void 0:n.output))for(let e of d.response.output){if((null==e?void 0:e.type)==="message"&&Array.isArray(e.content))for(let r of e.content){((null==r?void 0:r.type)==="output_text"||(null==r?void 0:r.type)==="text")&&r.text&&t.push({type:"assistant.delta",delta:String(r.text)});let e=H((null==r?void 0:r.source)||(null==r?void 0:r.citation)||null);e&&t.push({type:"source.emitted",source:e})}(null==e?void 0:e.type)==="function_call"&&t.push({type:"tool.completed",toolCallId:String(e.call_id||e.id||"tool-call"),toolName:String(e.name||"function_call"),output:"string"==typeof e.arguments?e.arguments:JSON.stringify(e.arguments||{}),riskLevel:"execute"})}}return t}("".concat(e,"\n\n")))null==n||n(t)}return a},onSuccess:async t=>{await e.invalidateQueries({queryKey:["sessions"]}),await e.invalidateQueries({queryKey:["session",t]})}})}(),{runEvents:ey,artifacts:ej,addRunEvent:ew,addArtifact:eN,resetRunState:ek,selectArtifact:eS,updateApprovalState:eA,activeSessionId:eC,setActiveSessionId:eM,selectedProfileId:eP,recentlyLoadedSkillIds:eT,sessionLoadedSkillIds:eD}=(0,u.j)();(0,o.useEffect)(()=>{var e,t;if(!(null==(e=eu.data)?void 0:e.length))return;let r=L&&eu.data.some(e=>e.id===L)?L:null,a=eC&&eu.data.some(e=>e.id===eC)?eC:null,s=null!=(t=null!=r?r:a)?t:eu.data[0].id;(!O||L&&O!==L&&s===L)&&W(s)},[eC,L,O,eu.data]),(0,o.useEffect)(()=>{if(O&&eu.data&&!eu.data.some(e=>e.id===O)){var e,t;W(null!=(t=null==(e=eu.data[0])?void 0:e.id)?t:null)}},[O,eu.data]);let e_=(0,J.wV)(O);(0,o.useEffect)(()=>{O&&eM(O)},[O,eM]),(0,o.useEffect)(()=>{var e,t;if(null==(e=e_.data)?void 0:e.settings)return void ec(e_.data.settings);(null==(t=em.data)?void 0:t.modelDefault)&&ec(e=>{var t,r;return{...e,model:(null==(t=em.data)?void 0:t.modelDefault)||e.model,provider:(null==(r=em.data)?void 0:r.provider)||e.provider}})},[null==(e=em.data)?void 0:e.modelDefault,null==(t=em.data)?void 0:t.provider,null==(r=e_.data)?void 0:r.settings]);let eL=(0,o.useMemo)(()=>{var e,t;return[...null!=(t=null==(e=e_.data)?void 0:e.messages)?t:[],...z]},[z,null==(s=e_.data)?void 0:s.messages]),eR=null!=(j=null==(m=em.data)?void 0:m.apiReachable)&&j,eE=null!=(w=null==(p=em.data)?void 0:p.available)&&w,eI=null!=(N=null==(x=em.data)?void 0:x.mockMode)&&N,eO=eE&&!eR,eW=eO&&!eI||eg.isPending,ez=null!=(k=null==(h=e_.data)?void 0:h.title)?k:"New chat",eq=null!=(A=null!=(S=null==(b=em.data)?void 0:b.activeProfile)?S:eP)?A:"default",eF=!!(O&&e_.data),eV=[{key:"model",label:"Model \xb7 ".concat(ei.model||"default")},{key:"mode",label:"Mode \xb7 ".concat(ei.policyPreset)},{key:"tools",label:"Tools \xb7 ".concat(eR?"runtime live":"degraded")},{key:"files",label:"Files \xb7 ".concat(ej.length)},{key:"profile",label:"Profile \xb7 ".concat(eq)}],eH=O&&null!=(M=eD[O])?M:[],eJ=Array.from(new Set([R,...null!=eH?eH:[],...null!=eT?eT:[],...null!=(P=null==(g=e_.data)?void 0:g.loadedSkillIds)?P:[]].filter(Boolean))),eU=eR?"Talking to ".concat(ei.provider," via the live runtime."):eI?"Mock mode is active for chat flows, approvals, sources, and artifacts.":eE?"Runtime is detected but the API is unreachable, so sending is paused until connectivity returns.":"Runtime was not detected. The UI can still show saved local state and explicit fallback labels.",eK=async()=>{ed(null),en(null),ek(),W(null),eM(null),q([]),Q("")},eB=async(e,t)=>{let r=O;r||(W(r=(await ep.mutateAsync()).session.id),eM(r));let a={id:"optimistic-".concat(Date.now()),role:"user",content:e,createdAt:new Date().toISOString()};ek(),ed(null),q(e=>[...e,a]),Q("");let s=!1;try{await ev.mutateAsync({sessionId:r,message:e,attachmentIds:t,onEvent:e=>{if("assistant.delta"===e.type)return void Q(t=>t+e.delta);ew(e),"artifact.emitted"===e.type&&eN({artifactId:e.artifactId,artifactType:e.artifactType,label:e.label,content:e.content})}})}catch(t){s=!0;let e=t instanceof Error?t.message:"Unable to send message.";t instanceof i.h&&503===t.status?(ed("Message saved, but the runtime API is unavailable right now. Check diagnostics or retry when the backend comes back."),await Promise.all([e_.refetch(),eu.refetch(),em.refetch()])):ed(e),q([]),Q("")}s||(await e_.refetch(),q([]),Q(""))},eQ=async(e,t)=>{if(O){en(null),ed(null),ec(r=>({...r,model:e,provider:t}));try{await eg.mutateAsync({sessionId:O,settings:{model:e,provider:t}})}catch(e){ec(ei),en(e instanceof Error?e.message:"Unable to update session settings.")}}},eG=async e=>{if(O){en(null),ed(null),ec(t=>({...t,...e}));try{await eg.mutateAsync({sessionId:O,settings:e}),es(!1)}catch(e){ec(ei),en(e instanceof Error?e.message:"Unable to update session settings.")}}};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"grid h-full gap-5 lg:grid-cols-[320px_minmax(0,1fr)]",children:[(0,a.jsx)(X,{sessions:null!=(T=eu.data)?T:[],selectedSessionId:O,search:E,isLoading:eu.isLoading,onSearchChange:I,onNewChat:()=>void eK(),onSelectSession:e=>{ed(null),en(null),ek(),W(e),eM(e),q([]),Q("")}}),(0,a.jsxs)("section",{className:"flex min-w-0 flex-col overflow-hidden rounded-xl border border-border/70 bg-card/60 shadow-[var(--shadow-elevated)]",children:[eI?(0,a.jsx)("div",{className:"border-b border-warning/30 bg-warning/10 px-5 py-3 text-sm text-foreground",children:"Mock mode is active for chat flows, approvals, sources, and artifacts."}):null,(0,a.jsx)(_,{title:ez,settings:ei,profileLabel:eq,loadedSkillIds:eJ,runtimeConnected:eR,controlsDisabled:eW,isPersisted:eF,archived:null==(v=e_.data)?void 0:v.archived,runtimeSummary:eU,hasMessages:eL.length>0,onOpenSettings:()=>{en(null),es(!0)},onRename:()=>Y(!0),onArchive:()=>ee(!0),onDelete:()=>er(!0),onFork:()=>{O&&ef.mutateAsync(O).then(e=>{let{session:t}=e;ek(),I(""),W(t.id),eM(t.id),q([]),Q("")})},onModelChange:(e,t)=>{eQ(e,t)}}),(0,a.jsx)(F,{messages:eL,runEvents:ey,artifacts:ej,streamingMessage:B,isStreaming:ev.isPending,isLoading:e_.isLoading,onApprove:e=>{(0,c.x)("approval.approved",{toolCallId:e}),fetch("/api/runtime/approvals/".concat(e),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:"approved"})}).catch(()=>void 0),eA(e,!0)},onReject:e=>{(0,c.x)("approval.rejected",{toolCallId:e}),fetch("/api/runtime/approvals/".concat(e),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:"rejected"})}).catch(()=>void 0),eA(e,!1)},onOpenArtifact:e=>eS(e)}),eO&&!eI?(0,a.jsx)("div",{className:"mx-4 mb-0 rounded-lg border border-warning/30 bg-warning/10 px-4 py-4 text-sm text-foreground shadow-[var(--shadow-card)]",children:(0,a.jsxs)("div",{className:"flex flex-col gap-3 md:flex-row md:items-center md:justify-between",children:[(0,a.jsxs)("div",{className:"flex items-start gap-3",children:[(0,a.jsx)(l,{className:"mt-0.5 h-5 w-5 text-warning"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"font-semibold",children:"Runtime API is currently unavailable"}),(0,a.jsx)("p",{className:"mt-1 text-muted-foreground",children:"You can still inspect saved sessions, approvals, sources, and artifacts, but sending new messages is paused until the backend reconnects."})]})]}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,a.jsxs)("button",{type:"button",onClick:()=>void em.refetch(),className:"inline-flex items-center gap-2 rounded-2xl border border-border/70 bg-background/80 px-3 py-2 text-sm font-medium text-foreground",children:[(0,a.jsx)(n.A,{className:"h-4 w-4"}),"Retry runtime"]}),(0,a.jsx)("a",{href:"/settings/health",className:"rounded-2xl border border-border/70 bg-background/80 px-3 py-2 text-sm font-medium text-foreground",children:"Open diagnostics"})]})]})}):null,eo||el?(0,a.jsx)("div",{className:"mx-4 mt-4 rounded-lg border border-danger/30 bg-danger/10 px-4 py-3 text-sm text-foreground shadow-[var(--shadow-card)]",children:eo||el}):null,(0,a.jsx)(y,{disabled:ev.isPending||eO&&!eI,statusNote:eO&&!eI?"Runtime offline — sending is paused until it reconnects.":eI?"Mock mode active \xb7 Enter to send \xb7 Shift+Enter for newline \xb7 drag files to attach.":"Enter to send \xb7 Shift+Enter for newline \xb7 drag files to attach.",chips:eV,onSend:eB})]})]}),(0,a.jsx)(K,{open:G,initialTitle:ez,onClose:()=>Y(!1),onSubmit:async e=>{O&&(Y(!1),await ex.mutateAsync({sessionId:O,title:e}))}}),(0,a.jsx)(U,{open:Z,title:"Archive session",description:"Archive this conversation but keep it available in history and search.",confirmLabel:"Archive",onClose:()=>ee(!1),onConfirm:async()=>{O&&(await eh.mutateAsync(O),ee(!1))}}),(0,a.jsx)(U,{open:et,title:"Delete session",description:"This permanently removes the selected conversation from the current chat history.",confirmLabel:"Delete",confirmClassName:"rounded-2xl bg-danger px-4 py-2 text-sm font-medium text-white",onClose:()=>er(!1),onConfirm:async()=>{O&&(await eb.mutateAsync(O),ek(),er(!1),O==O&&W(null))}}),(0,a.jsx)($,{open:ea,settings:ei,saving:eg.isPending,error:el,disabled:eO&&!eI,onClose:()=>es(!1),onSave:eG})]})}},3804:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});let a=(0,r(1847).A)("RefreshCcw",[["path",{d:"M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"14sxne"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16",key:"1hlbsb"}],["path",{d:"M16 16h5v5",key:"ccwih5"}]])},5303:(e,t,r)=>{Promise.resolve().then(r.bind(r,1935)),Promise.resolve().then(r.bind(r,594)),Promise.resolve().then(r.bind(r,6981)),Promise.resolve().then(r.bind(r,3369))},7910:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});let a=(0,r(1847).A)("Shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]])}},e=>{e.O(0,[2231,5449,9657,8441,1255,7358],()=>e(e.s=5303)),_N_E=e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8357],{630:(e,t,o)=>{"use strict";o.d(t,{BF:()=>b,Ot:()=>d,bF:()=>c,qr:()=>p,rz:()=>x,yX:()=>m});var n=o(2454),a=o(9776),r=o(549),s=o(9678),i=o(9054),l=o(1119);function d(){return(0,n.I)({queryKey:["extensions"],queryFn:()=>(0,s.n)("/api/extensions"),select:e=>({extensions:(0,i.C5)(e.extensions),tools:(0,i.YM)(e.tools)})})}function c(e){return(0,n.I)({queryKey:["extension",e],queryFn:()=>(0,s.n)("/api/extensions/".concat(e)),select:e=>(0,i.HB)(e.extension),enabled:!!e})}function u(e,t){let o=(0,i.HB)(t);e.invalidateQueries({queryKey:["extensions"]}),e.setQueryData(["extension",o.id],{extension:o})}function p(){let e=(0,a.jE)();return(0,r.n)({mutationFn:e=>(0,s.n)("/api/extensions/mcp",{method:"POST",body:JSON.stringify(e)}),onSuccess:t=>{let{extension:o}=t;(0,l.x)("extension.updated",{extensionId:o.id}),u(e,o)}})}function m(){let e=(0,a.jE)();return(0,r.n)({mutationFn:e=>{let{extensionId:t,patch:o}=e;return(0,s.n)("/api/extensions/".concat(t),{method:"PATCH",body:JSON.stringify(o)})},onSuccess:t=>{let{extension:o}=t;(0,l.x)("extension.config.updated",{extensionId:o.id}),u(e,o)}})}function x(){let e=(0,a.jE)();return(0,r.n)({mutationFn:e=>(0,s.n)("/api/extensions/".concat(e,"/test"),{method:"POST"}),onSuccess:t=>{let{extension:o}=t;(0,l.x)("extension.tested",{extensionId:o.id,health:o.health}),u(e,o)}})}function b(){let e=(0,a.jE)();return(0,r.n)({mutationFn:e=>{let{extensionId:t,capabilityId:o,patch:n}=e;return(0,s.n)("/api/extensions/".concat(t,"/capabilities/").concat(o),{method:"PATCH",body:JSON.stringify(n)})},onSuccess:t=>{let{extension:o}=t;(0,l.x)("extension.capability.updated",{extensionId:o.id}),u(e,o)}})}},685:(e,t,o)=>{"use strict";function n(e,t){return"builtin"===e?"Built in for every workspace":"global"===e?"Installed for all profiles":t?"Profile scoped \xb7 ".concat(t):"Profile scoped"}function a(e){switch(e){case"built-in":return"Official";case"verified":return"Verified";case"custom":return"Community";case"local-process":return"Local";default:return e}}function r(e){switch(e){case"built-in":return"Official";case"verified":return"Verified";case"custom":return"Community";case"self-hosted":return"Self-hosted";case"local-process":return"Local process";default:return"Unknown source"}}function s(e){switch(e){case"read":case"low":return"Low risk";case"write":case"medium":return"Writes data";case"execute":return"Executes commands";case"admin":case"high":return"High privilege";default:return e}}function i(e){let t=String(null!=e?e:"unknown");return"needs-auth"===t?"Needs auth":"expired"===t?"Auth expired":"none"===t?"No auth required":"unknown"===t?"Auth unknown":"Auth connected"}function l(e){switch(e){case"enabled":return"Enabled by policy";case"blocked":return"Blocked by policy";case"approval-gated":return"Approval required";case"policy-limited":return"Policy limited";default:return"Governance unknown"}}function d(e){switch(e){case"auto":return"Auto approve";case"on-request":return"On request";case"always":return"Always ask";default:return"Policy inherited"}}function c(e){switch(e){case"global":return"Visible to every profile";case"profile":return"Visible only in this profile";case"session":return"Loaded only in the active session";default:return e}}o.d(t,{B6:()=>d,BX:()=>i,CF:()=>r,CV:()=>a,Ow:()=>l,VJ:()=>n,b:()=>s,mF:()=>c})},1119:(e,t,o)=>{"use strict";function n(e,t){fetch("/api/telemetry",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({event:e,source:"client",payload:null!=t?t:{}}),keepalive:!0}).catch(()=>void 0),console.debug("[telemetry]",e,null!=t?t:{})}o.d(t,{x:()=>n})},4093:(e,t,o)=>{Promise.resolve().then(o.bind(o,1935)),Promise.resolve().then(o.bind(o,594)),Promise.resolve().then(o.bind(o,6981)),Promise.resolve().then(o.bind(o,4952))},4226:(e,t,o)=>{"use strict";o.d(t,{R:()=>s});var n=o(5155),a=o(2263),r=o(4695);function s(e){let{health:t}=e,o=(0,r.Ds)(t),s="healthy"===o||"degraded"===o||"unreachable"===o?(0,r.OX)(o):"connected"===o||"needs-auth"===o||"expired"===o?(0,r.P0)(o):(0,r.fh)(o);return(0,n.jsx)(a.W,{label:(0,r.MU)(t),tone:s})}},4952:(e,t,o)=>{"use strict";o.d(t,{ExtensionDetail:()=>u});var n=o(5155),a=o(2619),r=o.n(a),s=o(2115),i=o(630),l=o(685);function d(e){let{capability:t,onToggle:o,onScopeChange:a}=e,[r,i]=(0,s.useState)(t.enabled),[d,c]=(0,s.useState)(t.scope);return(0,s.useEffect)(()=>{i(t.enabled),c(t.scope)},[t.enabled,t.scope]),(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4",children:[(0,n.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h4",{className:"text-sm font-semibold",children:t.name}),(0,n.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:t.description}),(0,n.jsxs)("p",{className:"mt-2 text-xs text-muted-foreground",children:[(0,l.b)(t.riskLevel)," \xb7 ",(0,l.B6)(t.approvalPolicy)]})]}),(0,n.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,n.jsx)("input",{type:"checkbox",checked:r,onChange:e=>{i(e.target.checked),o(e.target.checked)}}),"Enabled"]})]}),(0,n.jsxs)("div",{className:"mt-3",children:[(0,n.jsx)("label",{className:"text-xs text-muted-foreground",children:"Scope"}),(0,n.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:(0,l.mF)(d)}),(0,n.jsxs)("select",{value:d,onChange:e=>{let t=e.target.value;c(t),a(t)},className:"mt-1 w-full rounded-lg border border-input bg-background px-3 py-2 text-sm",children:[(0,n.jsx)("option",{value:"global",children:"Global"}),(0,n.jsx)("option",{value:"profile",children:"Profile"}),(0,n.jsx)("option",{value:"session",children:"Session"})]})]})]})}var c=o(4226);function u(e){var t,o,a,u,p,m,x,b,h,j,f;let{extensionId:g}=e,v=(0,i.bF)(g),y=(0,i.yX)(),k=(0,i.rz)(),Y=(0,i.BF)(),[N,w]=(0,s.useState)("overview");if(v.isLoading||!v.data)return(0,n.jsx)("div",{className:"p-4 lg:p-6 text-sm text-muted-foreground",children:"Loading extension…"});let I=v.data;return(0,n.jsxs)("div",{className:"space-y-6 p-4 lg:p-6",children:[(0,n.jsx)(r(),{href:"/extensions",className:"text-sm text-muted-foreground hover:text-foreground",children:"← Back"}),(0,n.jsxs)("div",{className:"space-y-3",children:[(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-xs text-muted-foreground",children:[(0,n.jsx)(c.R,{health:I.health}),(0,n.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:I.type}),(0,n.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:(0,l.b)(I.riskLevel)}),(0,n.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:(0,l.BX)(I.authState)}),(0,n.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:(0,l.CF)(I.provenance)}),(0,n.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:(0,l.Ow)(I.governance)}),(0,n.jsxs)("span",{className:"rounded-full border border-border px-2 py-1",children:["v",null!=(u=I.version)?u:"0.0.0"]})]}),(0,n.jsx)("h1",{className:"text-2xl font-semibold",children:I.name}),(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:I.description}),(0,n.jsx)("div",{className:"flex flex-wrap gap-2",children:(0,n.jsx)("button",{type:"button",onClick:()=>void k.mutateAsync(I.id),className:"rounded-lg bg-primary px-4 py-2 text-sm font-medium text-primary-foreground",children:"Test connection"})})]}),(0,n.jsx)("div",{className:"flex flex-wrap gap-2",children:["overview","permissions","configuration","capabilities"].map(e=>(0,n.jsx)("button",{type:"button",onClick:()=>w(e),className:"rounded-lg px-4 py-2 text-sm ".concat(N===e?"bg-primary text-primary-foreground":"border border-border text-muted-foreground"),children:e},e))}),"overview"===N?(0,n.jsxs)("section",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm",children:[(0,n.jsx)("h2",{className:"text-lg font-semibold",children:"Overview"}),(0,n.jsxs)("p",{className:"mt-2 text-sm text-muted-foreground",children:["Health: ",I.health,". This integration exposes ",I.capabilities.length," capabilities across ",I.toolCount," discovered tools."]}),(0,n.jsxs)("div",{className:"mt-3 flex flex-wrap gap-2 text-xs text-muted-foreground",children:[(0,n.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:(0,l.b)(I.riskLevel)}),(0,n.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:(0,l.BX)(I.authState)}),(0,n.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:(0,l.Ow)(I.governance)})]}),(0,n.jsxs)("div",{className:"mt-4 space-y-2 text-sm text-muted-foreground",children:[(0,n.jsxs)("p",{children:[(0,n.jsx)("strong",{className:"text-foreground",children:"Profiles:"})," ",I.profilesUsing.join(", ")]}),(0,n.jsxs)("p",{children:[(0,n.jsx)("strong",{className:"text-foreground",children:"Probe source:"})," ",null!=(p=null==(t=I.diagnostics)?void 0:t.source)?p:"unknown"]}),(0,n.jsxs)("p",{children:[(0,n.jsx)("strong",{className:"text-foreground",children:"Last probe:"})," ",null!=(m=null==(o=I.diagnostics)?void 0:o.probedAt)?m:"never"]}),(0,n.jsxs)("p",{children:[(0,n.jsx)("strong",{className:"text-foreground",children:"Probe error:"})," ",null!=(x=null==(a=I.diagnostics)?void 0:a.errorText)?x:"none captured"]})]})]}):null,"permissions"===N?(0,n.jsxs)("section",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm",children:[(0,n.jsx)("h2",{className:"text-lg font-semibold",children:"Permissions"}),(0,n.jsx)("div",{className:"mt-4 space-y-3",children:I.capabilities.map(e=>(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-background p-4",children:[(0,n.jsx)("p",{className:"font-medium",children:e.name}),(0,n.jsxs)("p",{className:"mt-1 text-sm text-muted-foreground",children:[(0,l.b)(e.riskLevel)," \xb7 ",e.scope," scope"]})]},e.id))})]}):null,"configuration"===N?(0,n.jsxs)("section",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm",children:[(0,n.jsx)("h2",{className:"text-lg font-semibold",children:"Configuration"}),(0,n.jsxs)("div",{className:"mt-4 space-y-3",children:[(0,n.jsx)("input",{"aria-label":"Extension command",defaultValue:null!=(b=I.config.command)?b:"",placeholder:"Command",className:"w-full rounded-lg border border-input bg-background px-3 py-2 text-sm",onBlur:e=>void y.mutateAsync({extensionId:I.id,patch:{command:e.target.value||void 0}})}),(0,n.jsx)("input",{"aria-label":"Extension URL",defaultValue:null!=(h=I.config.url)?h:"",placeholder:"URL",className:"w-full rounded-lg border border-input bg-background px-3 py-2 text-sm",onBlur:e=>void y.mutateAsync({extensionId:I.id,patch:{url:e.target.value||void 0}})}),(0,n.jsxs)("select",{"aria-label":"Extension auth type",defaultValue:null!=(j=I.config.authType)?j:"none",className:"w-full rounded-lg border border-input bg-background px-3 py-2 text-sm",onChange:e=>void y.mutateAsync({extensionId:I.id,patch:{authType:e.target.value}}),children:[(0,n.jsx)("option",{value:"none",children:"No auth"}),(0,n.jsx)("option",{value:"api-key",children:"API key"}),(0,n.jsx)("option",{value:"oauth",children:"OAuth"})]}),(0,n.jsx)("input",{"aria-label":"Extension token",defaultValue:null!=(f=I.config.token)?f:"",placeholder:"Token / secret",className:"w-full rounded-lg border border-input bg-background px-3 py-2 text-sm",onBlur:e=>void y.mutateAsync({extensionId:I.id,patch:{token:e.target.value||void 0}})})]})]}):null,"capabilities"===N?(0,n.jsxs)("section",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm",children:[(0,n.jsx)("h2",{className:"text-lg font-semibold",children:"Capabilities"}),(0,n.jsx)("div",{className:"mt-4 space-y-3",children:I.capabilities.map(e=>(0,n.jsx)(d,{capability:e,onToggle:t=>void Y.mutateAsync({extensionId:I.id,capabilityId:e.id,patch:{enabled:t}}),onScopeChange:t=>void Y.mutateAsync({extensionId:I.id,capabilityId:e.id,patch:{scope:t}})},e.id))})]}):null]})}},9054:(e,t,o)=>{"use strict";o.d(t,{HB:()=>m,C5:()=>x,d:()=>u,iF:()=>p,YM:()=>b});var n=o(4879);n.gM("type",[n.Ik({type:n.eu("assistant.delta"),delta:n.Yj()}),n.Ik({type:n.eu("run.phase"),phase:n.k5(["drafting","tool-started","waiting-approval","completed"]),label:n.Yj()}),n.Ik({type:n.eu("tool.started"),toolCallId:n.Yj(),toolName:n.Yj(),riskLevel:n.k5(["read","write","execute","admin"]).optional(),provenance:n.k5(["built-in","verified","custom","self-hosted","local-process"]).optional()}),n.Ik({type:n.eu("tool.awaiting_approval"),toolCallId:n.Yj(),toolName:n.Yj(),summary:n.Yj(),riskLevel:n.k5(["read","write","execute","admin"]).optional(),governance:n.k5(["enabled","blocked","approval-gated","policy-limited"]).optional()}),n.Ik({type:n.eu("tool.completed"),toolCallId:n.Yj(),toolName:n.Yj(),output:n.Yj().optional(),riskLevel:n.k5(["read","write","execute","admin"]).optional()}),n.Ik({type:n.eu("artifact.emitted"),artifactId:n.Yj(),artifactType:n.Yj(),label:n.Yj(),content:n.Yj().optional()}),n.Ik({type:n.eu("source.emitted"),source:n.Ik({id:n.Yj(),title:n.Yj(),href:n.Yj().optional(),snippet:n.Yj().optional(),sourceType:n.k5(["web","file","workspace","integration","unknown"]),provenance:n.k5(["built-in","verified","custom","self-hosted","local-process"]),note:n.Yj().optional(),label:n.Yj().optional()})}),n.Ik({type:n.eu("error"),message:n.Yj()})]),n.Ik({model:n.Yj(),provider:n.Yj(),policyPreset:n.k5(["safe-chat","research","builder","full-power"]),memoryMode:n.k5(["standard","minimal"])}),n.Ik({id:n.Yj(),title:n.Yj(),updatedAt:n.Yj(),preview:n.Yj().optional()});let a=n.Ik({id:n.Yj(),name:n.Yj(),description:n.Yj(),enabled:n.zM(),riskLevel:n.k5(["read","write","execute","admin"]),scope:n.k5(["global","profile","session"]),approvalPolicy:n.k5(["auto","on-request","always"]).optional(),lastUsedAt:n.Yj().optional()}),r=n.Ik({command:n.Yj().optional(),url:n.Yj().optional(),authType:n.k5(["none","api-key","oauth"]).optional(),token:n.Yj().optional()}),s=n.Ik({source:n.k5(["live","cache","persisted","failed"]),errorText:n.Yj().nullable().optional(),remediation:n.YO(n.Yj()).optional(),discoveredTools:n.ai().optional(),probedAt:n.Yj().optional()}),i=n.Ik({id:n.Yj(),name:n.Yj(),description:n.Yj(),health:n.k5(["healthy","degraded","blocked","failed"]),riskLevel:n.k5(["read","write","execute","admin"]),authState:n.k5(["connected","needs-auth","expired"]),governance:n.k5(["enabled","blocked","approval-gated","policy-limited"]),provenance:n.k5(["built-in","verified","custom","self-hosted","local-process"]),approvalPolicy:n.k5(["auto","on-request","always"]),type:n.k5(["mcp","native","builtin"]),installed:n.zM(),config:r,capabilities:n.YO(a),toolCount:n.ai(),profilesUsing:n.YO(n.Yj()),diagnostics:s.optional(),version:n.Yj().optional(),updatedAt:n.Yj().optional()}),l=n.Ik({id:n.Yj(),name:n.Yj(),sourceExtensionId:n.Yj(),sourceExtensionName:n.Yj(),category:n.k5(["mcp","builtin","native"]),riskLevel:n.k5(["read","write","execute","admin"]),enabled:n.zM(),approvalPolicy:n.k5(["auto","on-request","always"]),lastUsedAt:n.Yj().optional(),scope:n.k5(["global","profile","session"])});n.Ik({id:n.Yj(),createdAt:n.Yj(),action:n.Yj(),targetType:n.Yj(),targetId:n.Yj(),detail:n.Yj()}),n.Ik({id:n.Yj(),content:n.Yj(),updatedAt:n.Yj().optional(),scope:n.k5(["user","agent"])}),n.Ik({activeProfileId:n.Yj().nullable(),activeSessionId:n.Yj().nullable(),activeSessionTitle:n.Yj().optional(),activeSessionPreview:n.Yj().optional(),loadedSkillIds:n.YO(n.Yj()),model:n.Yj().optional(),provider:n.Yj().optional(),policyPreset:n.k5(["safe-chat","research","builder","full-power"]).optional(),memoryMode:n.k5(["standard","minimal"]).optional(),userMemory:n.YO(n.Yj()),agentMemory:n.YO(n.Yj())}),n.Ik({id:n.Yj(),name:n.Yj(),modelDefault:n.Yj().optional(),policyPreset:n.k5(["safe-chat","research","builder","full-power"]).optional(),sessionCount:n.ai().optional(),skillCount:n.ai().optional(),extensionCount:n.ai().optional(),active:n.zM().optional()}),n.Ik({id:n.Yj(),title:n.Yj(),updatedAt:n.Yj(),status:n.k5(["active","archived"]),preview:n.Yj().optional(),parentSessionId:n.Yj().optional()});let d=n.Ik({path:n.Yj(),name:n.Yj(),group:n.Yj()}),c=n.Ik({id:n.Yj(),name:n.Yj(),description:n.Yj(),source:n.k5(["bundled","local","hub","agent-created"]),scope:n.k5(["builtin","global","profile"]),provenance:n.k5(["built-in","verified","custom","local-process"]),installed:n.zM(),enabled:n.zM(),content:n.Yj(),loadedInSessions:n.YO(n.Yj()).optional(),ownerProfileId:n.Yj().nullable().optional(),filePath:n.Yj().optional(),version:n.Yj().optional(),updatedAt:n.Yj().optional(),impliedTools:n.YO(n.Yj()).optional(),category:n.Yj().optional(),tags:n.YO(n.Yj()).optional(),relatedSkills:n.YO(n.Yj()).optional(),linkedFiles:n.YO(d).optional(),author:n.Yj().optional()}),u=e=>c.parse(e),p=e=>c.array().parse(e),m=e=>i.parse(e),x=e=>i.array().parse(e),b=e=>l.array().parse(e)}},e=>{e.O(0,[2231,5449,4879,9657,8441,1255,7358],()=>e(e.s=4093)),_N_E=e.O()}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8357],{630:(e,t,o)=>{"use strict";o.d(t,{BF:()=>b,Ot:()=>d,bF:()=>c,qr:()=>p,rz:()=>x,yX:()=>m});var n=o(2454),a=o(9776),r=o(549),s=o(9678),i=o(9054),l=o(1119);function d(){return(0,n.I)({queryKey:["extensions"],queryFn:()=>(0,s.n)("/api/extensions"),select:e=>({extensions:(0,i.C5)(e.extensions),tools:(0,i.YM)(e.tools)})})}function c(e){return(0,n.I)({queryKey:["extension",e],queryFn:()=>(0,s.n)("/api/extensions/".concat(e)),select:e=>(0,i.HB)(e.extension),enabled:!!e})}function u(e,t){let o=(0,i.HB)(t);e.invalidateQueries({queryKey:["extensions"]}),e.setQueryData(["extension",o.id],{extension:o})}function p(){let e=(0,a.jE)();return(0,r.n)({mutationFn:e=>(0,s.n)("/api/extensions/mcp",{method:"POST",body:JSON.stringify(e)}),onSuccess:t=>{let{extension:o}=t;(0,l.x)("extension.updated",{extensionId:o.id}),u(e,o)}})}function m(){let e=(0,a.jE)();return(0,r.n)({mutationFn:e=>{let{extensionId:t,patch:o}=e;return(0,s.n)("/api/extensions/".concat(t),{method:"PATCH",body:JSON.stringify(o)})},onSuccess:t=>{let{extension:o}=t;(0,l.x)("extension.config.updated",{extensionId:o.id}),u(e,o)}})}function x(){let e=(0,a.jE)();return(0,r.n)({mutationFn:e=>(0,s.n)("/api/extensions/".concat(e,"/test"),{method:"POST"}),onSuccess:t=>{let{extension:o}=t;(0,l.x)("extension.tested",{extensionId:o.id,health:o.health}),u(e,o)}})}function b(){let e=(0,a.jE)();return(0,r.n)({mutationFn:e=>{let{extensionId:t,capabilityId:o,patch:n}=e;return(0,s.n)("/api/extensions/".concat(t,"/capabilities/").concat(o),{method:"PATCH",body:JSON.stringify(n)})},onSuccess:t=>{let{extension:o}=t;(0,l.x)("extension.capability.updated",{extensionId:o.id}),u(e,o)}})}},685:(e,t,o)=>{"use strict";function n(e,t){return"builtin"===e?"Built in for every workspace":"global"===e?"Installed for all profiles":t?"Profile scoped \xb7 ".concat(t):"Profile scoped"}function a(e){switch(e){case"built-in":return"Official";case"verified":return"Verified";case"custom":return"Community";case"local-process":return"Local";default:return e}}function r(e){switch(e){case"built-in":return"Official";case"verified":return"Verified";case"custom":return"Community";case"self-hosted":return"Self-hosted";case"local-process":return"Local process";default:return"Unknown source"}}function s(e){switch(e){case"read":case"low":return"Low risk";case"write":case"medium":return"Writes data";case"execute":return"Executes commands";case"admin":case"high":return"High privilege";default:return e}}function i(e){let t=String(null!=e?e:"unknown");return"needs-auth"===t?"Needs auth":"expired"===t?"Auth expired":"none"===t?"No auth required":"unknown"===t?"Auth unknown":"Auth connected"}function l(e){switch(e){case"enabled":return"Enabled by policy";case"blocked":return"Blocked by policy";case"approval-gated":return"Approval required";case"policy-limited":return"Policy limited";default:return"Governance unknown"}}function d(e){switch(e){case"auto":return"Auto approve";case"on-request":return"On request";case"always":return"Always ask";default:return"Policy inherited"}}function c(e){switch(e){case"global":return"Visible to every profile";case"profile":return"Visible only in this profile";case"session":return"Loaded only in the active session";default:return e}}o.d(t,{B6:()=>d,BX:()=>i,CF:()=>r,CV:()=>a,Ow:()=>l,VJ:()=>n,b:()=>s,mF:()=>c})},1119:(e,t,o)=>{"use strict";function n(e,t){fetch("/api/telemetry",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({event:e,source:"client",payload:null!=t?t:{}}),keepalive:!0}).catch(()=>void 0),console.debug("[telemetry]",e,null!=t?t:{})}o.d(t,{x:()=>n})},4226:(e,t,o)=>{"use strict";o.d(t,{R:()=>s});var n=o(5155),a=o(2263),r=o(4695);function s(e){let{health:t}=e,o=(0,r.Ds)(t),s="healthy"===o||"degraded"===o||"unreachable"===o?(0,r.OX)(o):"connected"===o||"needs-auth"===o||"expired"===o?(0,r.P0)(o):(0,r.fh)(o);return(0,n.jsx)(a.W,{label:(0,r.MU)(t),tone:s})}},4952:(e,t,o)=>{"use strict";o.d(t,{ExtensionDetail:()=>u});var n=o(5155),a=o(2619),r=o.n(a),s=o(2115),i=o(630),l=o(685);function d(e){let{capability:t,onToggle:o,onScopeChange:a}=e,[r,i]=(0,s.useState)(t.enabled),[d,c]=(0,s.useState)(t.scope);return(0,s.useEffect)(()=>{i(t.enabled),c(t.scope)},[t.enabled,t.scope]),(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4",children:[(0,n.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h4",{className:"text-sm font-semibold",children:t.name}),(0,n.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:t.description}),(0,n.jsxs)("p",{className:"mt-2 text-xs text-muted-foreground",children:[(0,l.b)(t.riskLevel)," \xb7 ",(0,l.B6)(t.approvalPolicy)]})]}),(0,n.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,n.jsx)("input",{type:"checkbox",checked:r,onChange:e=>{i(e.target.checked),o(e.target.checked)}}),"Enabled"]})]}),(0,n.jsxs)("div",{className:"mt-3",children:[(0,n.jsx)("label",{className:"text-xs text-muted-foreground",children:"Scope"}),(0,n.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:(0,l.mF)(d)}),(0,n.jsxs)("select",{value:d,onChange:e=>{let t=e.target.value;c(t),a(t)},className:"mt-1 w-full rounded-lg border border-input bg-background px-3 py-2 text-sm",children:[(0,n.jsx)("option",{value:"global",children:"Global"}),(0,n.jsx)("option",{value:"profile",children:"Profile"}),(0,n.jsx)("option",{value:"session",children:"Session"})]})]})]})}var c=o(4226);function u(e){var t,o,a,u,p,m,x,b,h,j,f;let{extensionId:g}=e,v=(0,i.bF)(g),y=(0,i.yX)(),k=(0,i.rz)(),Y=(0,i.BF)(),[N,w]=(0,s.useState)("overview");if(v.isLoading||!v.data)return(0,n.jsx)("div",{className:"p-4 lg:p-6 text-sm text-muted-foreground",children:"Loading extension…"});let I=v.data;return(0,n.jsxs)("div",{className:"space-y-6 p-4 lg:p-6",children:[(0,n.jsx)(r(),{href:"/extensions",className:"text-sm text-muted-foreground hover:text-foreground",children:"← Back"}),(0,n.jsxs)("div",{className:"space-y-3",children:[(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-xs text-muted-foreground",children:[(0,n.jsx)(c.R,{health:I.health}),(0,n.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:I.type}),(0,n.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:(0,l.b)(I.riskLevel)}),(0,n.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:(0,l.BX)(I.authState)}),(0,n.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:(0,l.CF)(I.provenance)}),(0,n.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:(0,l.Ow)(I.governance)}),(0,n.jsxs)("span",{className:"rounded-full border border-border px-2 py-1",children:["v",null!=(u=I.version)?u:"0.0.0"]})]}),(0,n.jsx)("h1",{className:"text-2xl font-semibold",children:I.name}),(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:I.description}),(0,n.jsx)("div",{className:"flex flex-wrap gap-2",children:(0,n.jsx)("button",{type:"button",onClick:()=>void k.mutateAsync(I.id),className:"rounded-lg bg-primary px-4 py-2 text-sm font-medium text-primary-foreground",children:"Test connection"})})]}),(0,n.jsx)("div",{className:"flex flex-wrap gap-2",children:["overview","permissions","configuration","capabilities"].map(e=>(0,n.jsx)("button",{type:"button",onClick:()=>w(e),className:"rounded-lg px-4 py-2 text-sm ".concat(N===e?"bg-primary text-primary-foreground":"border border-border text-muted-foreground"),children:e},e))}),"overview"===N?(0,n.jsxs)("section",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm",children:[(0,n.jsx)("h2",{className:"text-lg font-semibold",children:"Overview"}),(0,n.jsxs)("p",{className:"mt-2 text-sm text-muted-foreground",children:["Health: ",I.health,". This integration exposes ",I.capabilities.length," capabilities across ",I.toolCount," discovered tools."]}),(0,n.jsxs)("div",{className:"mt-3 flex flex-wrap gap-2 text-xs text-muted-foreground",children:[(0,n.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:(0,l.b)(I.riskLevel)}),(0,n.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:(0,l.BX)(I.authState)}),(0,n.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:(0,l.Ow)(I.governance)})]}),(0,n.jsxs)("div",{className:"mt-4 space-y-2 text-sm text-muted-foreground",children:[(0,n.jsxs)("p",{children:[(0,n.jsx)("strong",{className:"text-foreground",children:"Profiles:"})," ",I.profilesUsing.join(", ")]}),(0,n.jsxs)("p",{children:[(0,n.jsx)("strong",{className:"text-foreground",children:"Probe source:"})," ",null!=(p=null==(t=I.diagnostics)?void 0:t.source)?p:"unknown"]}),(0,n.jsxs)("p",{children:[(0,n.jsx)("strong",{className:"text-foreground",children:"Last probe:"})," ",null!=(m=null==(o=I.diagnostics)?void 0:o.probedAt)?m:"never"]}),(0,n.jsxs)("p",{children:[(0,n.jsx)("strong",{className:"text-foreground",children:"Probe error:"})," ",null!=(x=null==(a=I.diagnostics)?void 0:a.errorText)?x:"none captured"]})]})]}):null,"permissions"===N?(0,n.jsxs)("section",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm",children:[(0,n.jsx)("h2",{className:"text-lg font-semibold",children:"Permissions"}),(0,n.jsx)("div",{className:"mt-4 space-y-3",children:I.capabilities.map(e=>(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-background p-4",children:[(0,n.jsx)("p",{className:"font-medium",children:e.name}),(0,n.jsxs)("p",{className:"mt-1 text-sm text-muted-foreground",children:[(0,l.b)(e.riskLevel)," \xb7 ",e.scope," scope"]})]},e.id))})]}):null,"configuration"===N?(0,n.jsxs)("section",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm",children:[(0,n.jsx)("h2",{className:"text-lg font-semibold",children:"Configuration"}),(0,n.jsxs)("div",{className:"mt-4 space-y-3",children:[(0,n.jsx)("input",{"aria-label":"Extension command",defaultValue:null!=(b=I.config.command)?b:"",placeholder:"Command",className:"w-full rounded-lg border border-input bg-background px-3 py-2 text-sm",onBlur:e=>void y.mutateAsync({extensionId:I.id,patch:{command:e.target.value||void 0}})}),(0,n.jsx)("input",{"aria-label":"Extension URL",defaultValue:null!=(h=I.config.url)?h:"",placeholder:"URL",className:"w-full rounded-lg border border-input bg-background px-3 py-2 text-sm",onBlur:e=>void y.mutateAsync({extensionId:I.id,patch:{url:e.target.value||void 0}})}),(0,n.jsxs)("select",{"aria-label":"Extension auth type",defaultValue:null!=(j=I.config.authType)?j:"none",className:"w-full rounded-lg border border-input bg-background px-3 py-2 text-sm",onChange:e=>void y.mutateAsync({extensionId:I.id,patch:{authType:e.target.value}}),children:[(0,n.jsx)("option",{value:"none",children:"No auth"}),(0,n.jsx)("option",{value:"api-key",children:"API key"}),(0,n.jsx)("option",{value:"oauth",children:"OAuth"})]}),(0,n.jsx)("input",{"aria-label":"Extension token",defaultValue:null!=(f=I.config.token)?f:"",placeholder:"Token / secret",className:"w-full rounded-lg border border-input bg-background px-3 py-2 text-sm",onBlur:e=>void y.mutateAsync({extensionId:I.id,patch:{token:e.target.value||void 0}})})]})]}):null,"capabilities"===N?(0,n.jsxs)("section",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm",children:[(0,n.jsx)("h2",{className:"text-lg font-semibold",children:"Capabilities"}),(0,n.jsx)("div",{className:"mt-4 space-y-3",children:I.capabilities.map(e=>(0,n.jsx)(d,{capability:e,onToggle:t=>void Y.mutateAsync({extensionId:I.id,capabilityId:e.id,patch:{enabled:t}}),onScopeChange:t=>void Y.mutateAsync({extensionId:I.id,capabilityId:e.id,patch:{scope:t}})},e.id))})]}):null]})}},6243:(e,t,o)=>{Promise.resolve().then(o.bind(o,1935)),Promise.resolve().then(o.bind(o,594)),Promise.resolve().then(o.bind(o,6981)),Promise.resolve().then(o.bind(o,4952))},9054:(e,t,o)=>{"use strict";o.d(t,{HB:()=>m,C5:()=>x,d:()=>u,iF:()=>p,YM:()=>b});var n=o(4879);n.gM("type",[n.Ik({type:n.eu("assistant.delta"),delta:n.Yj()}),n.Ik({type:n.eu("run.phase"),phase:n.k5(["drafting","tool-started","waiting-approval","completed"]),label:n.Yj()}),n.Ik({type:n.eu("tool.started"),toolCallId:n.Yj(),toolName:n.Yj(),riskLevel:n.k5(["read","write","execute","admin"]).optional(),provenance:n.k5(["built-in","verified","custom","self-hosted","local-process"]).optional()}),n.Ik({type:n.eu("tool.awaiting_approval"),toolCallId:n.Yj(),toolName:n.Yj(),summary:n.Yj(),riskLevel:n.k5(["read","write","execute","admin"]).optional(),governance:n.k5(["enabled","blocked","approval-gated","policy-limited"]).optional()}),n.Ik({type:n.eu("tool.completed"),toolCallId:n.Yj(),toolName:n.Yj(),output:n.Yj().optional(),riskLevel:n.k5(["read","write","execute","admin"]).optional()}),n.Ik({type:n.eu("artifact.emitted"),artifactId:n.Yj(),artifactType:n.Yj(),label:n.Yj(),content:n.Yj().optional()}),n.Ik({type:n.eu("source.emitted"),source:n.Ik({id:n.Yj(),title:n.Yj(),href:n.Yj().optional(),snippet:n.Yj().optional(),sourceType:n.k5(["web","file","workspace","integration","unknown"]),provenance:n.k5(["built-in","verified","custom","self-hosted","local-process"]),note:n.Yj().optional(),label:n.Yj().optional()})}),n.Ik({type:n.eu("error"),message:n.Yj()})]),n.Ik({model:n.Yj(),provider:n.Yj(),policyPreset:n.k5(["safe-chat","research","builder","full-power"]),memoryMode:n.k5(["standard","minimal"])}),n.Ik({id:n.Yj(),title:n.Yj(),updatedAt:n.Yj(),preview:n.Yj().optional()});let a=n.Ik({id:n.Yj(),name:n.Yj(),description:n.Yj(),enabled:n.zM(),riskLevel:n.k5(["read","write","execute","admin"]),scope:n.k5(["global","profile","session"]),approvalPolicy:n.k5(["auto","on-request","always"]).optional(),lastUsedAt:n.Yj().optional()}),r=n.Ik({command:n.Yj().optional(),url:n.Yj().optional(),authType:n.k5(["none","api-key","oauth"]).optional(),token:n.Yj().optional()}),s=n.Ik({source:n.k5(["live","cache","persisted","failed"]),errorText:n.Yj().nullable().optional(),remediation:n.YO(n.Yj()).optional(),discoveredTools:n.ai().optional(),probedAt:n.Yj().optional()}),i=n.Ik({id:n.Yj(),name:n.Yj(),description:n.Yj(),health:n.k5(["healthy","degraded","blocked","failed"]),riskLevel:n.k5(["read","write","execute","admin"]),authState:n.k5(["connected","needs-auth","expired"]),governance:n.k5(["enabled","blocked","approval-gated","policy-limited"]),provenance:n.k5(["built-in","verified","custom","self-hosted","local-process"]),approvalPolicy:n.k5(["auto","on-request","always"]),type:n.k5(["mcp","native","builtin"]),installed:n.zM(),config:r,capabilities:n.YO(a),toolCount:n.ai(),profilesUsing:n.YO(n.Yj()),diagnostics:s.optional(),version:n.Yj().optional(),updatedAt:n.Yj().optional()}),l=n.Ik({id:n.Yj(),name:n.Yj(),sourceExtensionId:n.Yj(),sourceExtensionName:n.Yj(),category:n.k5(["mcp","builtin","native"]),riskLevel:n.k5(["read","write","execute","admin"]),enabled:n.zM(),approvalPolicy:n.k5(["auto","on-request","always"]),lastUsedAt:n.Yj().optional(),scope:n.k5(["global","profile","session"])});n.Ik({id:n.Yj(),createdAt:n.Yj(),action:n.Yj(),targetType:n.Yj(),targetId:n.Yj(),detail:n.Yj()}),n.Ik({id:n.Yj(),content:n.Yj(),updatedAt:n.Yj().optional(),scope:n.k5(["user","agent"])}),n.Ik({activeProfileId:n.Yj().nullable(),activeSessionId:n.Yj().nullable(),activeSessionTitle:n.Yj().optional(),activeSessionPreview:n.Yj().optional(),loadedSkillIds:n.YO(n.Yj()),model:n.Yj().optional(),provider:n.Yj().optional(),policyPreset:n.k5(["safe-chat","research","builder","full-power"]).optional(),memoryMode:n.k5(["standard","minimal"]).optional(),userMemory:n.YO(n.Yj()),agentMemory:n.YO(n.Yj())}),n.Ik({id:n.Yj(),name:n.Yj(),modelDefault:n.Yj().optional(),policyPreset:n.k5(["safe-chat","research","builder","full-power"]).optional(),sessionCount:n.ai().optional(),skillCount:n.ai().optional(),extensionCount:n.ai().optional(),active:n.zM().optional()}),n.Ik({id:n.Yj(),title:n.Yj(),updatedAt:n.Yj(),status:n.k5(["active","archived"]),preview:n.Yj().optional(),parentSessionId:n.Yj().optional()});let d=n.Ik({path:n.Yj(),name:n.Yj(),group:n.Yj()}),c=n.Ik({id:n.Yj(),name:n.Yj(),description:n.Yj(),source:n.k5(["bundled","local","hub","agent-created"]),scope:n.k5(["builtin","global","profile"]),provenance:n.k5(["built-in","verified","custom","local-process"]),installed:n.zM(),enabled:n.zM(),content:n.Yj(),loadedInSessions:n.YO(n.Yj()).optional(),ownerProfileId:n.Yj().nullable().optional(),filePath:n.Yj().optional(),version:n.Yj().optional(),updatedAt:n.Yj().optional(),impliedTools:n.YO(n.Yj()).optional(),category:n.Yj().optional(),tags:n.YO(n.Yj()).optional(),relatedSkills:n.YO(n.Yj()).optional(),linkedFiles:n.YO(d).optional(),author:n.Yj().optional()}),u=e=>c.parse(e),p=e=>c.array().parse(e),m=e=>i.parse(e),x=e=>i.array().parse(e),b=e=>l.array().parse(e)}},e=>{e.O(0,[2231,5449,4879,9657,8441,1255,7358],()=>e(e.s=6243)),_N_E=e.O()}]);
|
package/.next/static/chunks/app/extensions/{page-c0fbb8efa9a3700c.js → page-82f358e2fcabc6a3.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[513],{630:(e,t,r)=>{"use strict";r.d(t,{BF:()=>b,Ot:()=>d,bF:()=>c,qr:()=>p,rz:()=>x,yX:()=>m});var s=r(2454),o=r(9776),n=r(549),l=r(9678),a=r(9054),i=r(1119);function d(){return(0,s.I)({queryKey:["extensions"],queryFn:()=>(0,l.n)("/api/extensions"),select:e=>({extensions:(0,a.C5)(e.extensions),tools:(0,a.YM)(e.tools)})})}function c(e){return(0,s.I)({queryKey:["extension",e],queryFn:()=>(0,l.n)("/api/extensions/".concat(e)),select:e=>(0,a.HB)(e.extension),enabled:!!e})}function u(e,t){let r=(0,a.HB)(t);e.invalidateQueries({queryKey:["extensions"]}),e.setQueryData(["extension",r.id],{extension:r})}function p(){let e=(0,o.jE)();return(0,n.n)({mutationFn:e=>(0,l.n)("/api/extensions/mcp",{method:"POST",body:JSON.stringify(e)}),onSuccess:t=>{let{extension:r}=t;(0,i.x)("extension.updated",{extensionId:r.id}),u(e,r)}})}function m(){let e=(0,o.jE)();return(0,n.n)({mutationFn:e=>{let{extensionId:t,patch:r}=e;return(0,l.n)("/api/extensions/".concat(t),{method:"PATCH",body:JSON.stringify(r)})},onSuccess:t=>{let{extension:r}=t;(0,i.x)("extension.config.updated",{extensionId:r.id}),u(e,r)}})}function x(){let e=(0,o.jE)();return(0,n.n)({mutationFn:e=>(0,l.n)("/api/extensions/".concat(e,"/test"),{method:"POST"}),onSuccess:t=>{let{extension:r}=t;(0,i.x)("extension.tested",{extensionId:r.id,health:r.health}),u(e,r)}})}function b(){let e=(0,o.jE)();return(0,n.n)({mutationFn:e=>{let{extensionId:t,capabilityId:r,patch:s}=e;return(0,l.n)("/api/extensions/".concat(t,"/capabilities/").concat(r),{method:"PATCH",body:JSON.stringify(s)})},onSuccess:t=>{let{extension:r}=t;(0,i.x)("extension.capability.updated",{extensionId:r.id}),u(e,r)}})}},685:(e,t,r)=>{"use strict";function s(e,t){return"builtin"===e?"Built in for every workspace":"global"===e?"Installed for all profiles":t?"Profile scoped \xb7 ".concat(t):"Profile scoped"}function o(e){switch(e){case"built-in":return"Official";case"verified":return"Verified";case"custom":return"Community";case"local-process":return"Local";default:return e}}function n(e){switch(e){case"built-in":return"Official";case"verified":return"Verified";case"custom":return"Community";case"self-hosted":return"Self-hosted";case"local-process":return"Local process";default:return"Unknown source"}}function l(e){switch(e){case"read":case"low":return"Low risk";case"write":case"medium":return"Writes data";case"execute":return"Executes commands";case"admin":case"high":return"High privilege";default:return e}}function a(e){let t=String(null!=e?e:"unknown");return"needs-auth"===t?"Needs auth":"expired"===t?"Auth expired":"none"===t?"No auth required":"unknown"===t?"Auth unknown":"Auth connected"}function i(e){switch(e){case"enabled":return"Enabled by policy";case"blocked":return"Blocked by policy";case"approval-gated":return"Approval required";case"policy-limited":return"Policy limited";default:return"Governance unknown"}}function d(e){switch(e){case"auto":return"Auto approve";case"on-request":return"On request";case"always":return"Always ask";default:return"Policy inherited"}}function c(e){switch(e){case"global":return"Visible to every profile";case"profile":return"Visible only in this profile";case"session":return"Loaded only in the active session";default:return e}}r.d(t,{B6:()=>d,BX:()=>a,CF:()=>n,CV:()=>o,Ow:()=>i,VJ:()=>s,b:()=>l,mF:()=>c})},1119:(e,t,r)=>{"use strict";function s(e,t){fetch("/api/telemetry",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({event:e,source:"client",payload:null!=t?t:{}}),keepalive:!0}).catch(()=>void 0),console.debug("[telemetry]",e,null!=t?t:{})}r.d(t,{x:()=>s})},1336:(e,t,r)=>{"use strict";r.d(t,{ExtensionsScreen:()=>j});var s=r(5155),o=r(2115),n=r(63),l=r(630);function a(e){let{open:t,onClose:r,onSubmit:n}=e,[l,a]=(0,o.useState)(""),[i,d]=(0,o.useState)(""),[c,u]=(0,o.useState)(""),[p,m]=(0,o.useState)("none"),[x,b]=(0,o.useState)(""),[h,j]=(0,o.useState)(null);return t?(0,s.jsx)("div",{className:"fixed inset-0 z-30 flex items-center justify-center bg-black/50 p-4",children:(0,s.jsxs)("div",{className:"w-full max-w-lg rounded-2xl border border-border bg-background p-5 shadow-xl",children:[(0,s.jsx)("h3",{className:"text-lg font-semibold",children:"Add MCP server"}),(0,s.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"Create a new MCP extension by command or URL."}),(0,s.jsxs)("div",{className:"mt-4 space-y-3",children:[(0,s.jsx)("input",{value:l,onChange:e=>a(e.target.value),placeholder:"Server name",className:"w-full rounded-lg border border-input bg-background px-3 py-2 text-sm"}),(0,s.jsx)("input",{value:i,onChange:e=>d(e.target.value),placeholder:"Command (optional if URL is provided)",className:"w-full rounded-lg border border-input bg-background px-3 py-2 text-sm"}),(0,s.jsx)("input",{value:c,onChange:e=>u(e.target.value),placeholder:"URL (optional if command is provided)",className:"w-full rounded-lg border border-input bg-background px-3 py-2 text-sm"}),(0,s.jsxs)("select",{value:p,onChange:e=>m(e.target.value),className:"w-full rounded-lg border border-input bg-background px-3 py-2 text-sm",children:[(0,s.jsx)("option",{value:"none",children:"No auth"}),(0,s.jsx)("option",{value:"api-key",children:"API key"}),(0,s.jsx)("option",{value:"oauth",children:"OAuth"})]}),"none"!==p?(0,s.jsx)("input",{value:x,onChange:e=>b(e.target.value),placeholder:"Token / secret",className:"w-full rounded-lg border border-input bg-background px-3 py-2 text-sm"}):null,h?(0,s.jsx)("p",{className:"text-sm text-danger",children:h}):null]}),(0,s.jsxs)("div",{className:"mt-5 flex justify-end gap-2",children:[(0,s.jsx)("button",{type:"button",onClick:r,className:"rounded-lg border border-border px-4 py-2 text-sm",children:"Cancel"}),(0,s.jsx)("button",{type:"button",onClick:async()=>{if(!l.trim()||!i.trim()&&!c.trim())return void j("Name plus command or URL is required.");j(null),await n({name:l.trim(),command:i.trim()||void 0,url:c.trim()||void 0,authType:p,token:x.trim()||void 0})},className:"rounded-lg bg-primary px-4 py-2 text-sm font-medium text-primary-foreground",children:"Add server"})]})]})}):null}var i=r(2619),d=r.n(i),c=r(4226),u=r(685);function p(e){let{extension:t}=e;return(0,s.jsxs)(d(),{href:"/extensions/".concat(t.id),className:"block rounded-2xl border border-border bg-card p-4 shadow-sm transition hover:bg-muted/40",children:[(0,s.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h3",{className:"text-sm font-semibold",children:t.name}),(0,s.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:t.description})]}),(0,s.jsxs)("div",{className:"space-y-2 text-right",children:[(0,s.jsx)(c.R,{health:t.health}),(0,s.jsxs)("p",{className:"text-xs text-muted-foreground",children:[(0,u.b)(t.riskLevel)," \xb7 ",(0,u.BX)(t.authState)]})]})]}),(0,s.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2 text-xs text-muted-foreground",children:[(0,s.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:(0,u.CF)(t.provenance)}),(0,s.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:(0,u.Ow)(t.governance)}),(0,s.jsxs)("span",{className:"rounded-full border border-border px-2 py-1",children:[t.capabilities.length," capabilities"]})]})]})}function m(e){let{tools:t}=e;return(0,s.jsxs)("div",{className:"space-y-3",children:[t.map(e=>(0,s.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 shadow-sm",children:[(0,s.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"font-medium",children:e.name}),(0,s.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:e.sourceExtensionName})]}),(0,s.jsxs)("div",{className:"flex flex-wrap gap-2 text-xs text-muted-foreground",children:[(0,s.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:e.category}),(0,s.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:(0,u.b)(e.riskLevel)}),(0,s.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:(0,u.B6)(e.approvalPolicy)}),(0,s.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:e.enabled?"Enabled":"Blocked"})]})]}),(0,s.jsx)("p",{className:"mt-3 text-xs text-muted-foreground",children:(0,u.mF)(e.scope)})]},e.id)),0===t.length?(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:"No callable tools discovered from current integrations."}):null]})}var x=r(7102),b=r(592),h=r(2604);function j(e){var t,r,i,d,c,j,f,g,v;let{initialTab:y="installed"}=e,k=(0,n.useRouter)(),[N,Y]=(0,o.useState)(!1),[w,I]=(0,o.useState)(y),{activeSessionId:C}=(0,h.j)(),P=(0,l.Ot)(),S=(0,b.w)(),O=(0,l.qr)(),A=null!=(j=null==(t=P.data)?void 0:t.extensions)?j:[],M=null!=(f=null==(r=P.data)?void 0:r.tools)?f:[],T="mcp"===w?A.filter(e=>"mcp"===e.type):A,q=A.filter(e=>"approval-gated"===e.governance||"auto"!==e.approvalPolicy),L=M.filter(e=>"session"===e.scope),E=M.filter(e=>"profile"===e.scope);return(0,s.jsxs)("div",{className:"h-full overflow-y-auto space-y-6 p-4 lg:p-6",children:[(0,s.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h1",{className:"text-2xl font-semibold",children:"Integrations"}),(0,s.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:"Installed connectors, MCP servers, callable tools, approvals, and diagnostics backed by the runtime."})]}),(0,s.jsx)("button",{type:"button",onClick:()=>Y(!0),className:"rounded-lg bg-primary px-4 py-2 text-sm font-medium text-primary-foreground",children:"Add MCP server"})]}),(0,s.jsxs)("section",{className:"grid gap-3 md:grid-cols-2 xl:grid-cols-4",children:[(0,s.jsxs)("div",{className:"rounded-2xl border border-border bg-card p-4 shadow-sm",children:[(0,s.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Extensions"}),(0,s.jsx)("p",{className:"mt-2 text-2xl font-semibold",children:A.length}),(0,s.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"Runtime-visible integrations across builtin, native, and MCP sources."})]}),(0,s.jsxs)("div",{className:"rounded-2xl border border-border bg-card p-4 shadow-sm",children:[(0,s.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Callable tools"}),(0,s.jsx)("p",{className:"mt-2 text-2xl font-semibold",children:M.length}),(0,s.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"Capabilities normalized into operator-facing tool inventory."})]}),(0,s.jsxs)("div",{className:"rounded-2xl border border-border bg-card p-4 shadow-sm",children:[(0,s.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Session scoped"}),(0,s.jsx)("p",{className:"mt-2 text-2xl font-semibold",children:L.length}),(0,s.jsxs)("p",{className:"mt-1 text-sm text-muted-foreground",children:["Tools limited to ",C?"the active session":"a session context"," for safer experimentation."]})]}),(0,s.jsxs)("div",{className:"rounded-2xl border border-border bg-card p-4 shadow-sm",children:[(0,s.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Profile context"}),(0,s.jsx)("p",{className:"mt-2 text-lg font-semibold",children:null!=(v=null!=(g=null==(d=S.data)||null==(i=d.profileContext)?void 0:i.label)?g:null==(c=S.data)?void 0:c.activeProfile)?v:"Unknown profile"}),(0,s.jsxs)("p",{className:"mt-1 text-sm text-muted-foreground",children:[E.length," tools respect the current profile boundary."]})]})]}),(0,s.jsxs)("div",{className:"rounded-2xl border border-border bg-card p-4 text-sm text-muted-foreground shadow-sm",children:[(0,s.jsx)("p",{className:"font-medium text-foreground",children:"Current loading semantics"}),(0,s.jsx)("p",{className:"mt-2",children:"Global tools are visible everywhere, profile-scoped tools follow the selected profile, and session-scoped tools only apply to the active chat thread."})]}),(0,s.jsx)("div",{className:"flex flex-wrap gap-2",children:[["installed","Installed"],["mcp","MCP Servers"],["tools","Tools"],["approvals","Approvals"],["diagnostics","Diagnostics"]].map(e=>{let[t,r]=e;return(0,s.jsx)("button",{type:"button",onClick:()=>I(t),className:"rounded-lg px-4 py-2 text-sm ".concat(w===t?"bg-primary text-primary-foreground":"border border-border text-muted-foreground"),children:r},t)})}),P.isLoading?(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading integrations…"}):null,"tools"===w?(0,s.jsx)(m,{tools:M}):null,"diagnostics"===w?(0,s.jsx)(x.McpDiagnosticsPanel,{}):null,"approvals"===w?(0,s.jsxs)("div",{className:"space-y-3",children:[q.map(e=>(0,s.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 shadow-sm",children:[(0,s.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,s.jsx)("p",{className:"font-medium",children:e.name}),(0,s.jsxs)("div",{className:"flex flex-wrap gap-2 text-xs text-muted-foreground",children:[(0,s.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:(0,u.Ow)(e.governance)}),(0,s.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:(0,u.B6)(e.approvalPolicy)})]})]}),(0,s.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:e.description})]},e.id)),0===q.length?(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:"No approval-gated integrations are currently configured."}):null]}):null,"installed"===w||"mcp"===w?(0,s.jsx)("div",{className:"grid gap-4 md:grid-cols-2 xl:grid-cols-3",children:T.map(e=>(0,s.jsx)(p,{extension:e},e.id))}):null,(0,s.jsx)(a,{open:N,onClose:()=>Y(!1),onSubmit:async e=>{let{extension:t}=await O.mutateAsync(e);Y(!1),k.push("/extensions/".concat(t.id))}})]})}},2596:(e,t,r)=>{"use strict";r.d(t,{G:()=>l,o:()=>n});var s=r(2454),o=r(9678);function n(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return(0,s.I)({queryKey:["runtime-runs",e],queryFn:()=>(0,o.n)("/api/runtime/runs".concat(e?"?sessionId=".concat(encodeURIComponent(e)):"")),select:e=>e.runs})}function l(){return(0,s.I)({queryKey:["mcp-probe-results"],queryFn:()=>(0,o.n)("/api/runtime/mcp-probes"),select:e=>e.results})}},4226:(e,t,r)=>{"use strict";r.d(t,{R:()=>l});var s=r(5155),o=r(2263),n=r(4695);function l(e){let{health:t}=e,r=(0,n.Ds)(t),l="healthy"===r||"degraded"===r||"unreachable"===r?(0,n.OX)(r):"connected"===r||"needs-auth"===r||"expired"===r?(0,n.P0)(r):(0,n.fh)(r);return(0,s.jsx)(o.W,{label:(0,n.MU)(t),tone:l})}},5281:(e,t,r)=>{Promise.resolve().then(r.bind(r,1935)),Promise.resolve().then(r.bind(r,594)),Promise.resolve().then(r.bind(r,6981)),Promise.resolve().then(r.bind(r,1336))},7102:(e,t,r)=>{"use strict";r.d(t,{McpDiagnosticsPanel:()=>l});var s=r(5155),o=r(2596),n=r(592);function l(){var e,t,r,l,a,i,d;let c=(0,n.w)(),u=(0,o.G)(),p=c.data,m=null!=(t=u.data)?t:[];return(0,s.jsxs)("div",{className:"space-y-4 p-4 lg:p-6",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h1",{className:"text-2xl font-semibold",children:"MCP diagnostics"}),(0,s.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:"Inspect configured MCP servers, last probe results, active profile context, and remediation hints."})]}),(0,s.jsxs)("div",{className:"grid gap-3 md:grid-cols-3",children:[(0,s.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 text-sm shadow-sm",children:[(0,s.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Runtime profile"}),(0,s.jsx)("p",{className:"mt-2 font-semibold",children:null!=(l=null!=(r=null==p||null==(e=p.profileContext)?void 0:e.label)?r:null==p?void 0:p.activeProfile)?l:"unknown"})]}),(0,s.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 text-sm shadow-sm",children:[(0,s.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Configured servers"}),(0,s.jsx)("p",{className:"mt-2 font-semibold",children:null!=(a=null==p?void 0:p.mcpServers.length)?a:0})]}),(0,s.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 text-sm shadow-sm",children:[(0,s.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Probe records"}),(0,s.jsx)("p",{className:"mt-2 font-semibold",children:m.length})]})]}),(0,s.jsxs)("div",{className:"space-y-3",children:[(null!=(i=null==p?void 0:p.mcpServers)?i:[]).map(e=>{let t=m.find(t=>t.serverName===e.name);return(0,s.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 shadow-sm",children:[(0,s.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"text-sm font-medium",children:e.name}),(0,s.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:e.url||e.command||"No transport configured"})]}),(0,s.jsx)("span",{className:"rounded-full border border-border px-2 py-1 text-xs text-muted-foreground",children:t?t.success?"success":"failed":"unknown"})]}),(0,s.jsxs)("div",{className:"mt-3 rounded-lg border border-border bg-background p-3 text-xs text-muted-foreground",children:[(0,s.jsxs)("p",{children:[(0,s.jsx)("strong",{children:"Last probe:"})," ",t?String(t.probedAt):"never"]}),(0,s.jsxs)("p",{children:[(0,s.jsx)("strong",{children:"Error:"})," ",t&&t.errorText?String(t.errorText):"none captured"]}),(0,s.jsxs)("p",{children:[(0,s.jsx)("strong",{children:"Tools seen:"})," ",t&&Array.isArray(t.tools)?t.tools.length:0]})]})]},e.name)}),(null!=(d=null==p?void 0:p.mcpServers.length)?d:0)?null:(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:"No MCP servers are currently configured."})]})]})}},9054:(e,t,r)=>{"use strict";r.d(t,{HB:()=>m,C5:()=>x,d:()=>u,iF:()=>p,YM:()=>b});var s=r(4879);s.gM("type",[s.Ik({type:s.eu("assistant.delta"),delta:s.Yj()}),s.Ik({type:s.eu("run.phase"),phase:s.k5(["drafting","tool-started","waiting-approval","completed"]),label:s.Yj()}),s.Ik({type:s.eu("tool.started"),toolCallId:s.Yj(),toolName:s.Yj(),riskLevel:s.k5(["read","write","execute","admin"]).optional(),provenance:s.k5(["built-in","verified","custom","self-hosted","local-process"]).optional()}),s.Ik({type:s.eu("tool.awaiting_approval"),toolCallId:s.Yj(),toolName:s.Yj(),summary:s.Yj(),riskLevel:s.k5(["read","write","execute","admin"]).optional(),governance:s.k5(["enabled","blocked","approval-gated","policy-limited"]).optional()}),s.Ik({type:s.eu("tool.completed"),toolCallId:s.Yj(),toolName:s.Yj(),output:s.Yj().optional(),riskLevel:s.k5(["read","write","execute","admin"]).optional()}),s.Ik({type:s.eu("artifact.emitted"),artifactId:s.Yj(),artifactType:s.Yj(),label:s.Yj(),content:s.Yj().optional()}),s.Ik({type:s.eu("source.emitted"),source:s.Ik({id:s.Yj(),title:s.Yj(),href:s.Yj().optional(),snippet:s.Yj().optional(),sourceType:s.k5(["web","file","workspace","integration","unknown"]),provenance:s.k5(["built-in","verified","custom","self-hosted","local-process"]),note:s.Yj().optional(),label:s.Yj().optional()})}),s.Ik({type:s.eu("error"),message:s.Yj()})]),s.Ik({model:s.Yj(),provider:s.Yj(),policyPreset:s.k5(["safe-chat","research","builder","full-power"]),memoryMode:s.k5(["standard","minimal"])}),s.Ik({id:s.Yj(),title:s.Yj(),updatedAt:s.Yj(),preview:s.Yj().optional()});let o=s.Ik({id:s.Yj(),name:s.Yj(),description:s.Yj(),enabled:s.zM(),riskLevel:s.k5(["read","write","execute","admin"]),scope:s.k5(["global","profile","session"]),approvalPolicy:s.k5(["auto","on-request","always"]).optional(),lastUsedAt:s.Yj().optional()}),n=s.Ik({command:s.Yj().optional(),url:s.Yj().optional(),authType:s.k5(["none","api-key","oauth"]).optional(),token:s.Yj().optional()}),l=s.Ik({source:s.k5(["live","cache","persisted","failed"]),errorText:s.Yj().nullable().optional(),remediation:s.YO(s.Yj()).optional(),discoveredTools:s.ai().optional(),probedAt:s.Yj().optional()}),a=s.Ik({id:s.Yj(),name:s.Yj(),description:s.Yj(),health:s.k5(["healthy","degraded","blocked","failed"]),riskLevel:s.k5(["read","write","execute","admin"]),authState:s.k5(["connected","needs-auth","expired"]),governance:s.k5(["enabled","blocked","approval-gated","policy-limited"]),provenance:s.k5(["built-in","verified","custom","self-hosted","local-process"]),approvalPolicy:s.k5(["auto","on-request","always"]),type:s.k5(["mcp","native","builtin"]),installed:s.zM(),config:n,capabilities:s.YO(o),toolCount:s.ai(),profilesUsing:s.YO(s.Yj()),diagnostics:l.optional(),version:s.Yj().optional(),updatedAt:s.Yj().optional()}),i=s.Ik({id:s.Yj(),name:s.Yj(),sourceExtensionId:s.Yj(),sourceExtensionName:s.Yj(),category:s.k5(["mcp","builtin","native"]),riskLevel:s.k5(["read","write","execute","admin"]),enabled:s.zM(),approvalPolicy:s.k5(["auto","on-request","always"]),lastUsedAt:s.Yj().optional(),scope:s.k5(["global","profile","session"])});s.Ik({id:s.Yj(),createdAt:s.Yj(),action:s.Yj(),targetType:s.Yj(),targetId:s.Yj(),detail:s.Yj()}),s.Ik({id:s.Yj(),content:s.Yj(),updatedAt:s.Yj().optional(),scope:s.k5(["user","agent"])}),s.Ik({activeProfileId:s.Yj().nullable(),activeSessionId:s.Yj().nullable(),activeSessionTitle:s.Yj().optional(),activeSessionPreview:s.Yj().optional(),loadedSkillIds:s.YO(s.Yj()),model:s.Yj().optional(),provider:s.Yj().optional(),policyPreset:s.k5(["safe-chat","research","builder","full-power"]).optional(),memoryMode:s.k5(["standard","minimal"]).optional(),userMemory:s.YO(s.Yj()),agentMemory:s.YO(s.Yj())}),s.Ik({id:s.Yj(),name:s.Yj(),modelDefault:s.Yj().optional(),policyPreset:s.k5(["safe-chat","research","builder","full-power"]).optional(),sessionCount:s.ai().optional(),skillCount:s.ai().optional(),extensionCount:s.ai().optional(),active:s.zM().optional()}),s.Ik({id:s.Yj(),title:s.Yj(),updatedAt:s.Yj(),status:s.k5(["active","archived"]),preview:s.Yj().optional(),parentSessionId:s.Yj().optional()});let d=s.Ik({path:s.Yj(),name:s.Yj(),group:s.Yj()}),c=s.Ik({id:s.Yj(),name:s.Yj(),description:s.Yj(),source:s.k5(["bundled","local","hub","agent-created"]),scope:s.k5(["builtin","global","profile"]),provenance:s.k5(["built-in","verified","custom","local-process"]),installed:s.zM(),enabled:s.zM(),content:s.Yj(),loadedInSessions:s.YO(s.Yj()).optional(),ownerProfileId:s.Yj().nullable().optional(),filePath:s.Yj().optional(),version:s.Yj().optional(),updatedAt:s.Yj().optional(),impliedTools:s.YO(s.Yj()).optional(),category:s.Yj().optional(),tags:s.YO(s.Yj()).optional(),relatedSkills:s.YO(s.Yj()).optional(),linkedFiles:s.YO(d).optional(),author:s.Yj().optional()}),u=e=>c.parse(e),p=e=>c.array().parse(e),m=e=>a.parse(e),x=e=>a.array().parse(e),b=e=>i.array().parse(e)}},e=>{e.O(0,[2231,5449,4879,9657,8441,1255,7358],()=>e(e.s=5281)),_N_E=e.O()}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[513],{630:(e,t,r)=>{"use strict";r.d(t,{BF:()=>b,Ot:()=>d,bF:()=>c,qr:()=>p,rz:()=>x,yX:()=>m});var s=r(2454),o=r(9776),n=r(549),l=r(9678),a=r(9054),i=r(1119);function d(){return(0,s.I)({queryKey:["extensions"],queryFn:()=>(0,l.n)("/api/extensions"),select:e=>({extensions:(0,a.C5)(e.extensions),tools:(0,a.YM)(e.tools)})})}function c(e){return(0,s.I)({queryKey:["extension",e],queryFn:()=>(0,l.n)("/api/extensions/".concat(e)),select:e=>(0,a.HB)(e.extension),enabled:!!e})}function u(e,t){let r=(0,a.HB)(t);e.invalidateQueries({queryKey:["extensions"]}),e.setQueryData(["extension",r.id],{extension:r})}function p(){let e=(0,o.jE)();return(0,n.n)({mutationFn:e=>(0,l.n)("/api/extensions/mcp",{method:"POST",body:JSON.stringify(e)}),onSuccess:t=>{let{extension:r}=t;(0,i.x)("extension.updated",{extensionId:r.id}),u(e,r)}})}function m(){let e=(0,o.jE)();return(0,n.n)({mutationFn:e=>{let{extensionId:t,patch:r}=e;return(0,l.n)("/api/extensions/".concat(t),{method:"PATCH",body:JSON.stringify(r)})},onSuccess:t=>{let{extension:r}=t;(0,i.x)("extension.config.updated",{extensionId:r.id}),u(e,r)}})}function x(){let e=(0,o.jE)();return(0,n.n)({mutationFn:e=>(0,l.n)("/api/extensions/".concat(e,"/test"),{method:"POST"}),onSuccess:t=>{let{extension:r}=t;(0,i.x)("extension.tested",{extensionId:r.id,health:r.health}),u(e,r)}})}function b(){let e=(0,o.jE)();return(0,n.n)({mutationFn:e=>{let{extensionId:t,capabilityId:r,patch:s}=e;return(0,l.n)("/api/extensions/".concat(t,"/capabilities/").concat(r),{method:"PATCH",body:JSON.stringify(s)})},onSuccess:t=>{let{extension:r}=t;(0,i.x)("extension.capability.updated",{extensionId:r.id}),u(e,r)}})}},685:(e,t,r)=>{"use strict";function s(e,t){return"builtin"===e?"Built in for every workspace":"global"===e?"Installed for all profiles":t?"Profile scoped \xb7 ".concat(t):"Profile scoped"}function o(e){switch(e){case"built-in":return"Official";case"verified":return"Verified";case"custom":return"Community";case"local-process":return"Local";default:return e}}function n(e){switch(e){case"built-in":return"Official";case"verified":return"Verified";case"custom":return"Community";case"self-hosted":return"Self-hosted";case"local-process":return"Local process";default:return"Unknown source"}}function l(e){switch(e){case"read":case"low":return"Low risk";case"write":case"medium":return"Writes data";case"execute":return"Executes commands";case"admin":case"high":return"High privilege";default:return e}}function a(e){let t=String(null!=e?e:"unknown");return"needs-auth"===t?"Needs auth":"expired"===t?"Auth expired":"none"===t?"No auth required":"unknown"===t?"Auth unknown":"Auth connected"}function i(e){switch(e){case"enabled":return"Enabled by policy";case"blocked":return"Blocked by policy";case"approval-gated":return"Approval required";case"policy-limited":return"Policy limited";default:return"Governance unknown"}}function d(e){switch(e){case"auto":return"Auto approve";case"on-request":return"On request";case"always":return"Always ask";default:return"Policy inherited"}}function c(e){switch(e){case"global":return"Visible to every profile";case"profile":return"Visible only in this profile";case"session":return"Loaded only in the active session";default:return e}}r.d(t,{B6:()=>d,BX:()=>a,CF:()=>n,CV:()=>o,Ow:()=>i,VJ:()=>s,b:()=>l,mF:()=>c})},1119:(e,t,r)=>{"use strict";function s(e,t){fetch("/api/telemetry",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({event:e,source:"client",payload:null!=t?t:{}}),keepalive:!0}).catch(()=>void 0),console.debug("[telemetry]",e,null!=t?t:{})}r.d(t,{x:()=>s})},1336:(e,t,r)=>{"use strict";r.d(t,{ExtensionsScreen:()=>j});var s=r(5155),o=r(2115),n=r(63),l=r(630);function a(e){let{open:t,onClose:r,onSubmit:n}=e,[l,a]=(0,o.useState)(""),[i,d]=(0,o.useState)(""),[c,u]=(0,o.useState)(""),[p,m]=(0,o.useState)("none"),[x,b]=(0,o.useState)(""),[h,j]=(0,o.useState)(null);return t?(0,s.jsx)("div",{className:"fixed inset-0 z-30 flex items-center justify-center bg-black/50 p-4",children:(0,s.jsxs)("div",{className:"w-full max-w-lg rounded-2xl border border-border bg-background p-5 shadow-xl",children:[(0,s.jsx)("h3",{className:"text-lg font-semibold",children:"Add MCP server"}),(0,s.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"Create a new MCP extension by command or URL."}),(0,s.jsxs)("div",{className:"mt-4 space-y-3",children:[(0,s.jsx)("input",{value:l,onChange:e=>a(e.target.value),placeholder:"Server name",className:"w-full rounded-lg border border-input bg-background px-3 py-2 text-sm"}),(0,s.jsx)("input",{value:i,onChange:e=>d(e.target.value),placeholder:"Command (optional if URL is provided)",className:"w-full rounded-lg border border-input bg-background px-3 py-2 text-sm"}),(0,s.jsx)("input",{value:c,onChange:e=>u(e.target.value),placeholder:"URL (optional if command is provided)",className:"w-full rounded-lg border border-input bg-background px-3 py-2 text-sm"}),(0,s.jsxs)("select",{value:p,onChange:e=>m(e.target.value),className:"w-full rounded-lg border border-input bg-background px-3 py-2 text-sm",children:[(0,s.jsx)("option",{value:"none",children:"No auth"}),(0,s.jsx)("option",{value:"api-key",children:"API key"}),(0,s.jsx)("option",{value:"oauth",children:"OAuth"})]}),"none"!==p?(0,s.jsx)("input",{value:x,onChange:e=>b(e.target.value),placeholder:"Token / secret",className:"w-full rounded-lg border border-input bg-background px-3 py-2 text-sm"}):null,h?(0,s.jsx)("p",{className:"text-sm text-danger",children:h}):null]}),(0,s.jsxs)("div",{className:"mt-5 flex justify-end gap-2",children:[(0,s.jsx)("button",{type:"button",onClick:r,className:"rounded-lg border border-border px-4 py-2 text-sm",children:"Cancel"}),(0,s.jsx)("button",{type:"button",onClick:async()=>{if(!l.trim()||!i.trim()&&!c.trim())return void j("Name plus command or URL is required.");j(null),await n({name:l.trim(),command:i.trim()||void 0,url:c.trim()||void 0,authType:p,token:x.trim()||void 0})},className:"rounded-lg bg-primary px-4 py-2 text-sm font-medium text-primary-foreground",children:"Add server"})]})]})}):null}var i=r(2619),d=r.n(i),c=r(4226),u=r(685);function p(e){let{extension:t}=e;return(0,s.jsxs)(d(),{href:"/extensions/".concat(t.id),className:"block rounded-2xl border border-border bg-card p-4 shadow-sm transition hover:bg-muted/40",children:[(0,s.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h3",{className:"text-sm font-semibold",children:t.name}),(0,s.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:t.description})]}),(0,s.jsxs)("div",{className:"space-y-2 text-right",children:[(0,s.jsx)(c.R,{health:t.health}),(0,s.jsxs)("p",{className:"text-xs text-muted-foreground",children:[(0,u.b)(t.riskLevel)," \xb7 ",(0,u.BX)(t.authState)]})]})]}),(0,s.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2 text-xs text-muted-foreground",children:[(0,s.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:(0,u.CF)(t.provenance)}),(0,s.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:(0,u.Ow)(t.governance)}),(0,s.jsxs)("span",{className:"rounded-full border border-border px-2 py-1",children:[t.capabilities.length," capabilities"]})]})]})}function m(e){let{tools:t}=e;return(0,s.jsxs)("div",{className:"space-y-3",children:[t.map(e=>(0,s.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 shadow-sm",children:[(0,s.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"font-medium",children:e.name}),(0,s.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:e.sourceExtensionName})]}),(0,s.jsxs)("div",{className:"flex flex-wrap gap-2 text-xs text-muted-foreground",children:[(0,s.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:e.category}),(0,s.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:(0,u.b)(e.riskLevel)}),(0,s.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:(0,u.B6)(e.approvalPolicy)}),(0,s.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:e.enabled?"Enabled":"Blocked"})]})]}),(0,s.jsx)("p",{className:"mt-3 text-xs text-muted-foreground",children:(0,u.mF)(e.scope)})]},e.id)),0===t.length?(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:"No callable tools discovered from current integrations."}):null]})}var x=r(7102),b=r(592),h=r(2604);function j(e){var t,r,i,d,c,j,f,g,v;let{initialTab:y="installed"}=e,k=(0,n.useRouter)(),[N,Y]=(0,o.useState)(!1),[w,I]=(0,o.useState)(y),{activeSessionId:C}=(0,h.j)(),P=(0,l.Ot)(),S=(0,b.w)(),O=(0,l.qr)(),A=null!=(j=null==(t=P.data)?void 0:t.extensions)?j:[],M=null!=(f=null==(r=P.data)?void 0:r.tools)?f:[],T="mcp"===w?A.filter(e=>"mcp"===e.type):A,q=A.filter(e=>"approval-gated"===e.governance||"auto"!==e.approvalPolicy),L=M.filter(e=>"session"===e.scope),E=M.filter(e=>"profile"===e.scope);return(0,s.jsxs)("div",{className:"h-full overflow-y-auto space-y-6 p-4 lg:p-6",children:[(0,s.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h1",{className:"text-2xl font-semibold",children:"Integrations"}),(0,s.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:"Installed connectors, MCP servers, callable tools, approvals, and diagnostics backed by the runtime."})]}),(0,s.jsx)("button",{type:"button",onClick:()=>Y(!0),className:"rounded-lg bg-primary px-4 py-2 text-sm font-medium text-primary-foreground",children:"Add MCP server"})]}),(0,s.jsxs)("section",{className:"grid gap-3 md:grid-cols-2 xl:grid-cols-4",children:[(0,s.jsxs)("div",{className:"rounded-2xl border border-border bg-card p-4 shadow-sm",children:[(0,s.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Extensions"}),(0,s.jsx)("p",{className:"mt-2 text-2xl font-semibold",children:A.length}),(0,s.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"Runtime-visible integrations across builtin, native, and MCP sources."})]}),(0,s.jsxs)("div",{className:"rounded-2xl border border-border bg-card p-4 shadow-sm",children:[(0,s.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Callable tools"}),(0,s.jsx)("p",{className:"mt-2 text-2xl font-semibold",children:M.length}),(0,s.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"Capabilities normalized into operator-facing tool inventory."})]}),(0,s.jsxs)("div",{className:"rounded-2xl border border-border bg-card p-4 shadow-sm",children:[(0,s.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Session scoped"}),(0,s.jsx)("p",{className:"mt-2 text-2xl font-semibold",children:L.length}),(0,s.jsxs)("p",{className:"mt-1 text-sm text-muted-foreground",children:["Tools limited to ",C?"the active session":"a session context"," for safer experimentation."]})]}),(0,s.jsxs)("div",{className:"rounded-2xl border border-border bg-card p-4 shadow-sm",children:[(0,s.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Profile context"}),(0,s.jsx)("p",{className:"mt-2 text-lg font-semibold",children:null!=(v=null!=(g=null==(d=S.data)||null==(i=d.profileContext)?void 0:i.label)?g:null==(c=S.data)?void 0:c.activeProfile)?v:"Unknown profile"}),(0,s.jsxs)("p",{className:"mt-1 text-sm text-muted-foreground",children:[E.length," tools respect the current profile boundary."]})]})]}),(0,s.jsxs)("div",{className:"rounded-2xl border border-border bg-card p-4 text-sm text-muted-foreground shadow-sm",children:[(0,s.jsx)("p",{className:"font-medium text-foreground",children:"Current loading semantics"}),(0,s.jsx)("p",{className:"mt-2",children:"Global tools are visible everywhere, profile-scoped tools follow the selected profile, and session-scoped tools only apply to the active chat thread."})]}),(0,s.jsx)("div",{className:"flex flex-wrap gap-2",children:[["installed","Installed"],["mcp","MCP Servers"],["tools","Tools"],["approvals","Approvals"],["diagnostics","Diagnostics"]].map(e=>{let[t,r]=e;return(0,s.jsx)("button",{type:"button",onClick:()=>I(t),className:"rounded-lg px-4 py-2 text-sm ".concat(w===t?"bg-primary text-primary-foreground":"border border-border text-muted-foreground"),children:r},t)})}),P.isLoading?(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading integrations…"}):null,"tools"===w?(0,s.jsx)(m,{tools:M}):null,"diagnostics"===w?(0,s.jsx)(x.McpDiagnosticsPanel,{}):null,"approvals"===w?(0,s.jsxs)("div",{className:"space-y-3",children:[q.map(e=>(0,s.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 shadow-sm",children:[(0,s.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,s.jsx)("p",{className:"font-medium",children:e.name}),(0,s.jsxs)("div",{className:"flex flex-wrap gap-2 text-xs text-muted-foreground",children:[(0,s.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:(0,u.Ow)(e.governance)}),(0,s.jsx)("span",{className:"rounded-full border border-border px-2 py-1",children:(0,u.B6)(e.approvalPolicy)})]})]}),(0,s.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:e.description})]},e.id)),0===q.length?(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:"No approval-gated integrations are currently configured."}):null]}):null,"installed"===w||"mcp"===w?(0,s.jsx)("div",{className:"grid gap-4 md:grid-cols-2 xl:grid-cols-3",children:T.map(e=>(0,s.jsx)(p,{extension:e},e.id))}):null,(0,s.jsx)(a,{open:N,onClose:()=>Y(!1),onSubmit:async e=>{let{extension:t}=await O.mutateAsync(e);Y(!1),k.push("/extensions/".concat(t.id))}})]})}},2596:(e,t,r)=>{"use strict";r.d(t,{G:()=>l,o:()=>n});var s=r(2454),o=r(9678);function n(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return(0,s.I)({queryKey:["runtime-runs",e],queryFn:()=>(0,o.n)("/api/runtime/runs".concat(e?"?sessionId=".concat(encodeURIComponent(e)):"")),select:e=>e.runs})}function l(){return(0,s.I)({queryKey:["mcp-probe-results"],queryFn:()=>(0,o.n)("/api/runtime/mcp-probes"),select:e=>e.results})}},4226:(e,t,r)=>{"use strict";r.d(t,{R:()=>l});var s=r(5155),o=r(2263),n=r(4695);function l(e){let{health:t}=e,r=(0,n.Ds)(t),l="healthy"===r||"degraded"===r||"unreachable"===r?(0,n.OX)(r):"connected"===r||"needs-auth"===r||"expired"===r?(0,n.P0)(r):(0,n.fh)(r);return(0,s.jsx)(o.W,{label:(0,n.MU)(t),tone:l})}},5495:(e,t,r)=>{Promise.resolve().then(r.bind(r,1935)),Promise.resolve().then(r.bind(r,594)),Promise.resolve().then(r.bind(r,6981)),Promise.resolve().then(r.bind(r,1336))},7102:(e,t,r)=>{"use strict";r.d(t,{McpDiagnosticsPanel:()=>l});var s=r(5155),o=r(2596),n=r(592);function l(){var e,t,r,l,a,i,d;let c=(0,n.w)(),u=(0,o.G)(),p=c.data,m=null!=(t=u.data)?t:[];return(0,s.jsxs)("div",{className:"space-y-4 p-4 lg:p-6",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h1",{className:"text-2xl font-semibold",children:"MCP diagnostics"}),(0,s.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:"Inspect configured MCP servers, last probe results, active profile context, and remediation hints."})]}),(0,s.jsxs)("div",{className:"grid gap-3 md:grid-cols-3",children:[(0,s.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 text-sm shadow-sm",children:[(0,s.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Runtime profile"}),(0,s.jsx)("p",{className:"mt-2 font-semibold",children:null!=(l=null!=(r=null==p||null==(e=p.profileContext)?void 0:e.label)?r:null==p?void 0:p.activeProfile)?l:"unknown"})]}),(0,s.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 text-sm shadow-sm",children:[(0,s.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Configured servers"}),(0,s.jsx)("p",{className:"mt-2 font-semibold",children:null!=(a=null==p?void 0:p.mcpServers.length)?a:0})]}),(0,s.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 text-sm shadow-sm",children:[(0,s.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Probe records"}),(0,s.jsx)("p",{className:"mt-2 font-semibold",children:m.length})]})]}),(0,s.jsxs)("div",{className:"space-y-3",children:[(null!=(i=null==p?void 0:p.mcpServers)?i:[]).map(e=>{let t=m.find(t=>t.serverName===e.name);return(0,s.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 shadow-sm",children:[(0,s.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"text-sm font-medium",children:e.name}),(0,s.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:e.url||e.command||"No transport configured"})]}),(0,s.jsx)("span",{className:"rounded-full border border-border px-2 py-1 text-xs text-muted-foreground",children:t?t.success?"success":"failed":"unknown"})]}),(0,s.jsxs)("div",{className:"mt-3 rounded-lg border border-border bg-background p-3 text-xs text-muted-foreground",children:[(0,s.jsxs)("p",{children:[(0,s.jsx)("strong",{children:"Last probe:"})," ",t?String(t.probedAt):"never"]}),(0,s.jsxs)("p",{children:[(0,s.jsx)("strong",{children:"Error:"})," ",t&&t.errorText?String(t.errorText):"none captured"]}),(0,s.jsxs)("p",{children:[(0,s.jsx)("strong",{children:"Tools seen:"})," ",t&&Array.isArray(t.tools)?t.tools.length:0]})]})]},e.name)}),(null!=(d=null==p?void 0:p.mcpServers.length)?d:0)?null:(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:"No MCP servers are currently configured."})]})]})}},9054:(e,t,r)=>{"use strict";r.d(t,{HB:()=>m,C5:()=>x,d:()=>u,iF:()=>p,YM:()=>b});var s=r(4879);s.gM("type",[s.Ik({type:s.eu("assistant.delta"),delta:s.Yj()}),s.Ik({type:s.eu("run.phase"),phase:s.k5(["drafting","tool-started","waiting-approval","completed"]),label:s.Yj()}),s.Ik({type:s.eu("tool.started"),toolCallId:s.Yj(),toolName:s.Yj(),riskLevel:s.k5(["read","write","execute","admin"]).optional(),provenance:s.k5(["built-in","verified","custom","self-hosted","local-process"]).optional()}),s.Ik({type:s.eu("tool.awaiting_approval"),toolCallId:s.Yj(),toolName:s.Yj(),summary:s.Yj(),riskLevel:s.k5(["read","write","execute","admin"]).optional(),governance:s.k5(["enabled","blocked","approval-gated","policy-limited"]).optional()}),s.Ik({type:s.eu("tool.completed"),toolCallId:s.Yj(),toolName:s.Yj(),output:s.Yj().optional(),riskLevel:s.k5(["read","write","execute","admin"]).optional()}),s.Ik({type:s.eu("artifact.emitted"),artifactId:s.Yj(),artifactType:s.Yj(),label:s.Yj(),content:s.Yj().optional()}),s.Ik({type:s.eu("source.emitted"),source:s.Ik({id:s.Yj(),title:s.Yj(),href:s.Yj().optional(),snippet:s.Yj().optional(),sourceType:s.k5(["web","file","workspace","integration","unknown"]),provenance:s.k5(["built-in","verified","custom","self-hosted","local-process"]),note:s.Yj().optional(),label:s.Yj().optional()})}),s.Ik({type:s.eu("error"),message:s.Yj()})]),s.Ik({model:s.Yj(),provider:s.Yj(),policyPreset:s.k5(["safe-chat","research","builder","full-power"]),memoryMode:s.k5(["standard","minimal"])}),s.Ik({id:s.Yj(),title:s.Yj(),updatedAt:s.Yj(),preview:s.Yj().optional()});let o=s.Ik({id:s.Yj(),name:s.Yj(),description:s.Yj(),enabled:s.zM(),riskLevel:s.k5(["read","write","execute","admin"]),scope:s.k5(["global","profile","session"]),approvalPolicy:s.k5(["auto","on-request","always"]).optional(),lastUsedAt:s.Yj().optional()}),n=s.Ik({command:s.Yj().optional(),url:s.Yj().optional(),authType:s.k5(["none","api-key","oauth"]).optional(),token:s.Yj().optional()}),l=s.Ik({source:s.k5(["live","cache","persisted","failed"]),errorText:s.Yj().nullable().optional(),remediation:s.YO(s.Yj()).optional(),discoveredTools:s.ai().optional(),probedAt:s.Yj().optional()}),a=s.Ik({id:s.Yj(),name:s.Yj(),description:s.Yj(),health:s.k5(["healthy","degraded","blocked","failed"]),riskLevel:s.k5(["read","write","execute","admin"]),authState:s.k5(["connected","needs-auth","expired"]),governance:s.k5(["enabled","blocked","approval-gated","policy-limited"]),provenance:s.k5(["built-in","verified","custom","self-hosted","local-process"]),approvalPolicy:s.k5(["auto","on-request","always"]),type:s.k5(["mcp","native","builtin"]),installed:s.zM(),config:n,capabilities:s.YO(o),toolCount:s.ai(),profilesUsing:s.YO(s.Yj()),diagnostics:l.optional(),version:s.Yj().optional(),updatedAt:s.Yj().optional()}),i=s.Ik({id:s.Yj(),name:s.Yj(),sourceExtensionId:s.Yj(),sourceExtensionName:s.Yj(),category:s.k5(["mcp","builtin","native"]),riskLevel:s.k5(["read","write","execute","admin"]),enabled:s.zM(),approvalPolicy:s.k5(["auto","on-request","always"]),lastUsedAt:s.Yj().optional(),scope:s.k5(["global","profile","session"])});s.Ik({id:s.Yj(),createdAt:s.Yj(),action:s.Yj(),targetType:s.Yj(),targetId:s.Yj(),detail:s.Yj()}),s.Ik({id:s.Yj(),content:s.Yj(),updatedAt:s.Yj().optional(),scope:s.k5(["user","agent"])}),s.Ik({activeProfileId:s.Yj().nullable(),activeSessionId:s.Yj().nullable(),activeSessionTitle:s.Yj().optional(),activeSessionPreview:s.Yj().optional(),loadedSkillIds:s.YO(s.Yj()),model:s.Yj().optional(),provider:s.Yj().optional(),policyPreset:s.k5(["safe-chat","research","builder","full-power"]).optional(),memoryMode:s.k5(["standard","minimal"]).optional(),userMemory:s.YO(s.Yj()),agentMemory:s.YO(s.Yj())}),s.Ik({id:s.Yj(),name:s.Yj(),modelDefault:s.Yj().optional(),policyPreset:s.k5(["safe-chat","research","builder","full-power"]).optional(),sessionCount:s.ai().optional(),skillCount:s.ai().optional(),extensionCount:s.ai().optional(),active:s.zM().optional()}),s.Ik({id:s.Yj(),title:s.Yj(),updatedAt:s.Yj(),status:s.k5(["active","archived"]),preview:s.Yj().optional(),parentSessionId:s.Yj().optional()});let d=s.Ik({path:s.Yj(),name:s.Yj(),group:s.Yj()}),c=s.Ik({id:s.Yj(),name:s.Yj(),description:s.Yj(),source:s.k5(["bundled","local","hub","agent-created"]),scope:s.k5(["builtin","global","profile"]),provenance:s.k5(["built-in","verified","custom","local-process"]),installed:s.zM(),enabled:s.zM(),content:s.Yj(),loadedInSessions:s.YO(s.Yj()).optional(),ownerProfileId:s.Yj().nullable().optional(),filePath:s.Yj().optional(),version:s.Yj().optional(),updatedAt:s.Yj().optional(),impliedTools:s.YO(s.Yj()).optional(),category:s.Yj().optional(),tags:s.YO(s.Yj()).optional(),relatedSkills:s.YO(s.Yj()).optional(),linkedFiles:s.YO(d).optional(),author:s.Yj().optional()}),u=e=>c.parse(e),p=e=>c.array().parse(e),m=e=>a.parse(e),x=e=>a.array().parse(e),b=e=>i.array().parse(e)}},e=>{e.O(0,[2231,5449,4879,9657,8441,1255,7358],()=>e(e.s=5495)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7177],{344:(e,t,s)=>{"use strict";s.d(t,{ThemeProvider:()=>a});var i=s(5155),r=s(5379);function a(e){let{children:t}=e;return(0,i.jsx)(r.N,{attribute:"class",defaultTheme:"dark",enableSystem:!0,children:t})}},852:(e,t,s)=>{"use strict";s.d(t,{QueryProvider:()=>q});var i=s(5155),r=s(4049),a=s(1668),n=s(4268),u=s(8445),h=class extends u.Q{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,s){let i=t.queryKey,n=t.queryHash??(0,r.F$)(i,t),u=this.get(n);return u||(u=new a.X({client:e,queryKey:i,queryHash:n,options:e.defaultQueryOptions(t),state:s,defaultOptions:e.getQueryDefaults(i)}),this.add(u)),u}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){let t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){n.jG.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>(0,r.MK)(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>(0,r.MK)(e,t)):t}notify(e){n.jG.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){n.jG.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){n.jG.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},l=s(8559),o=class extends u.Q{constructor(e={}){super(),this.config=e,this.#t=new Set,this.#s=new Map,this.#i=0}#t;#s;#i;build(e,t,s){let i=new l.s({client:e,mutationCache:this,mutationId:++this.#i,options:e.defaultMutationOptions(t),state:s});return this.add(i),i}add(e){this.#t.add(e);let t=c(e);if("string"==typeof t){let s=this.#s.get(t);s?s.push(e):this.#s.set(t,[e])}this.notify({type:"added",mutation:e})}remove(e){if(this.#t.delete(e)){let t=c(e);if("string"==typeof t){let s=this.#s.get(t);if(s)if(s.length>1){let t=s.indexOf(e);-1!==t&&s.splice(t,1)}else s[0]===e&&this.#s.delete(t)}}this.notify({type:"removed",mutation:e})}canRun(e){let t=c(e);if("string"!=typeof t)return!0;{let s=this.#s.get(t),i=s?.find(e=>"pending"===e.state.status);return!i||i===e}}runNext(e){let t=c(e);if("string"!=typeof t)return Promise.resolve();{let s=this.#s.get(t)?.find(t=>t!==e&&t.state.isPaused);return s?.continue()??Promise.resolve()}}clear(){n.jG.batch(()=>{this.#t.forEach(e=>{this.notify({type:"removed",mutation:e})}),this.#t.clear(),this.#s.clear()})}getAll(){return Array.from(this.#t)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>(0,r.nJ)(t,e))}findAll(e={}){return this.getAll().filter(t=>(0,r.nJ)(e,t))}notify(e){n.jG.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return n.jG.batch(()=>Promise.all(e.map(e=>e.continue().catch(r.lQ))))}};function c(e){return e.options.scope?.id}var f=s(6195),d=s(3122);function y(e){return{onFetch:(t,s)=>{let i=t.options,a=t.fetchOptions?.meta?.fetchMore?.direction,n=t.state.data?.pages||[],u=t.state.data?.pageParams||[],h={pages:[],pageParams:[]},l=0,o=async()=>{let s=!1,o=(0,r.ZM)(t.options,t.fetchOptions),c=async(e,i,a)=>{if(s)return Promise.reject();if(null==i&&e.pages.length)return Promise.resolve(e);let n=(()=>{let e={client:t.client,queryKey:t.queryKey,pageParam:i,direction:a?"backward":"forward",meta:t.options.meta};return(0,r.ox)(e,()=>t.signal,()=>s=!0),e})(),u=await o(n),{maxPages:h}=t.options,l=a?r.ZZ:r.y9;return{pages:l(e.pages,u,h),pageParams:l(e.pageParams,i,h)}};if(a&&n.length){let e="backward"===a,t={pages:n,pageParams:u},s=(e?function(e,{pages:t,pageParams:s}){return t.length>0?e.getPreviousPageParam?.(t[0],t,s[0],s):void 0}:p)(i,t);h=await c(t,s,e)}else{let t=e??n.length;do{let e=0===l?u[0]??i.initialPageParam:p(i,h);if(l>0&&null==e)break;h=await c(h,e),l++}while(l<t)}return h};t.options.persister?t.fetchFn=()=>t.options.persister?.(o,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},s):t.fetchFn=o}}}function p(e,{pages:t,pageParams:s}){let i=t.length-1;return t.length>0?e.getNextPageParam(t[i],t,s[i],s):void 0}var m=class{#r;#a;#n;#u;#h;#l;#o;#c;constructor(e={}){this.#r=e.queryCache||new h,this.#a=e.mutationCache||new o,this.#n=e.defaultOptions||{},this.#u=new Map,this.#h=new Map,this.#l=0}mount(){this.#l++,1===this.#l&&(this.#o=f.m.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#r.onFocus())}),this.#c=d.t.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#r.onOnline())}))}unmount(){this.#l--,0===this.#l&&(this.#o?.(),this.#o=void 0,this.#c?.(),this.#c=void 0)}isFetching(e){return this.#r.findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return this.#a.findAll({...e,status:"pending"}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#r.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),s=this.#r.build(this,t),i=s.state.data;return void 0===i?this.fetchQuery(e):(e.revalidateIfStale&&s.isStaleByTime((0,r.d2)(t.staleTime,s))&&this.prefetchQuery(t),Promise.resolve(i))}getQueriesData(e){return this.#r.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,s){let i=this.defaultQueryOptions({queryKey:e}),a=this.#r.get(i.queryHash),n=a?.state.data,u=(0,r.Zw)(t,n);if(void 0!==u)return this.#r.build(this,i).setData(u,{...s,manual:!0})}setQueriesData(e,t,s){return n.jG.batch(()=>this.#r.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,s)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#r.get(t.queryHash)?.state}removeQueries(e){let t=this.#r;n.jG.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let s=this.#r;return n.jG.batch(()=>(s.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){let s={revert:!0,...t};return Promise.all(n.jG.batch(()=>this.#r.findAll(e).map(e=>e.cancel(s)))).then(r.lQ).catch(r.lQ)}invalidateQueries(e,t={}){return n.jG.batch(()=>(this.#r.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType==="none")?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??"active"},t))}refetchQueries(e,t={}){let s={...t,cancelRefetch:t.cancelRefetch??!0};return Promise.all(n.jG.batch(()=>this.#r.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,s);return s.throwOnError||(t=t.catch(r.lQ)),"paused"===e.state.fetchStatus?Promise.resolve():t}))).then(r.lQ)}fetchQuery(e){let t=this.defaultQueryOptions(e);void 0===t.retry&&(t.retry=!1);let s=this.#r.build(this,t);return s.isStaleByTime((0,r.d2)(t.staleTime,s))?s.fetch(t):Promise.resolve(s.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(r.lQ).catch(r.lQ)}fetchInfiniteQuery(e){return e.behavior=y(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(r.lQ).catch(r.lQ)}ensureInfiniteQueryData(e){return e.behavior=y(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return d.t.isOnline()?this.#a.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#r}getMutationCache(){return this.#a}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,t){this.#u.set((0,r.EN)(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#u.values()],s={};return t.forEach(t=>{(0,r.Cp)(e,t.queryKey)&&Object.assign(s,t.defaultOptions)}),s}setMutationDefaults(e,t){this.#h.set((0,r.EN)(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#h.values()],s={};return t.forEach(t=>{(0,r.Cp)(e,t.mutationKey)&&Object.assign(s,t.defaultOptions)}),s}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=(0,r.F$)(t.queryKey,t)),void 0===t.refetchOnReconnect&&(t.refetchOnReconnect="always"!==t.networkMode),void 0===t.throwOnError&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===r.hT&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#r.clear(),this.#a.clear()}},g=s(9776),b=s(2115);function q(e){let{children:t}=e,[s]=(0,b.useState)(()=>new m({defaultOptions:{queries:{refetchOnWindowFocus:!1,staleTime:3e4}}}));return(0,i.jsx)(g.Ht,{client:s,children:t})}},3836:()=>{},5900:(e,t,s)=>{Promise.resolve().then(s.bind(s,852)),Promise.resolve().then(s.bind(s,344)),Promise.resolve().then(s.t.bind(s,3836,23))}},e=>{e.O(0,[5475,2231,8441,1255,7358],()=>e(e.s=5900)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4520],{63:(e,r,s)=>{"use strict";var a=s(7260);s.o(a,"usePathname")&&s.d(r,{usePathname:function(){return a.usePathname}}),s.o(a,"useRouter")&&s.d(r,{useRouter:function(){return a.useRouter}}),s.o(a,"useSearchParams")&&s.d(r,{useSearchParams:function(){return a.useSearchParams}})},875:(e,r,s)=>{Promise.resolve().then(s.bind(s,4e3))},4e3:(e,r,s)=>{"use strict";s.d(r,{LoginForm:()=>u});var a=s(5155),n=s(63),t=s(2115);function u(){let e=(0,n.useRouter)(),[r,s]=(0,t.useState)(null),[u,o]=(0,t.useState)(!1),l=async r=>{r.preventDefault(),s(null),o(!0);let a=new FormData(r.currentTarget),n=await fetch("/api/auth/login",{method:"POST",body:a});if(!n.ok){var t;let e=await n.json().catch(()=>null);s(null!=(t=null==e?void 0:e.error)?t:"Unable to sign in"),o(!1);return}e.push("/chat"),e.refresh()};return(0,a.jsxs)("form",{onSubmit:l,className:"space-y-5",children:[(0,a.jsxs)("label",{htmlFor:"username",className:"block space-y-1.5 text-sm",children:[(0,a.jsx)("span",{children:"Username"}),(0,a.jsx)("input",{id:"username",name:"username",defaultValue:"admin",className:"w-full rounded-md border border-input bg-background px-3 py-2.5 outline-none ring-0 transition focus:border-primary"})]}),(0,a.jsxs)("label",{htmlFor:"password",className:"block space-y-1.5 text-sm",children:[(0,a.jsx)("span",{children:"Password"}),(0,a.jsx)("input",{id:"password",name:"password",type:"password",className:"w-full rounded-md border border-input bg-background px-3 py-2.5 outline-none ring-0 transition focus:border-primary"})]}),r?(0,a.jsx)("p",{className:"text-sm text-danger",children:r}):null,(0,a.jsx)("button",{type:"submit",disabled:u,className:"w-full rounded-md bg-primary px-4 py-2.5 font-medium text-primary-foreground transition hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-50",children:u?"Signing in…":"Continue"})]})}}},e=>{e.O(0,[8441,1255,7358],()=>e(e.s=875)),_N_E=e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7620],{8684:(e,r,s)=>{Promise.resolve().then(s.bind(s,1935)),Promise.resolve().then(s.bind(s,594)),Promise.resolve().then(s.bind(s,6981)),Promise.resolve().then(s.bind(s,9026))},9026:(e,r,s)=>{"use strict";s.d(r,{MemoryScreen:()=>u});var d=s(5155),t=s(2115),n=s(8584),o=s(2604);function l(){var e,r,s,t,l,a,i,c;let{selectedProfileId:m,activeSessionId:x}=(0,o.j)(),u=(0,n.Ux)(m,x).data;return(0,d.jsxs)("section",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm",children:[(0,d.jsx)("h2",{className:"text-lg font-semibold",children:"Context inspector"}),(0,d.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"See what the agent is currently using as session and profile context."}),u?(0,d.jsxs)("div",{className:"mt-4 space-y-4 text-sm",children:[(0,d.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,d.jsxs)("div",{className:"rounded-xl border border-border bg-background p-4",children:[(0,d.jsxs)("p",{children:[(0,d.jsx)("strong",{children:"Profile:"})," ",null!=(e=u.activeProfileId)?e:"none"]}),(0,d.jsxs)("p",{children:[(0,d.jsx)("strong",{children:"Session:"})," ",null!=(s=null!=(r=u.activeSessionTitle)?r:u.activeSessionId)?s:"none"]}),(0,d.jsxs)("p",{children:[(0,d.jsx)("strong",{children:"Preview:"})," ",null!=(t=u.activeSessionPreview)?t:"No preview captured yet."]})]}),(0,d.jsxs)("div",{className:"rounded-xl border border-border bg-background p-4",children:[(0,d.jsxs)("p",{children:[(0,d.jsx)("strong",{children:"Model:"})," ",null!=(l=u.model)?l:"n/a"]}),(0,d.jsxs)("p",{children:[(0,d.jsx)("strong",{children:"Provider:"})," ",null!=(a=u.provider)?a:"n/a"]}),(0,d.jsxs)("p",{children:[(0,d.jsx)("strong",{children:"Policy:"})," ",null!=(i=u.policyPreset)?i:"n/a"]}),(0,d.jsxs)("p",{children:[(0,d.jsx)("strong",{children:"Memory mode:"})," ",null!=(c=u.memoryMode)?c:"n/a"]})]})]}),(0,d.jsxs)("div",{className:"rounded-xl border border-border bg-background p-4",children:[(0,d.jsx)("p",{className:"font-medium",children:"Loaded skills"}),(0,d.jsx)("p",{className:"mt-1 text-muted-foreground",children:u.loadedSkillIds.length?u.loadedSkillIds.join(", "):"None"})]}),(0,d.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,d.jsxs)("div",{className:"rounded-xl border border-border bg-background p-4",children:[(0,d.jsx)("p",{className:"font-medium",children:"User memory injected"}),(0,d.jsx)("p",{className:"mt-1 text-muted-foreground",children:u.userMemory.length?u.userMemory.join(" \xb7 "):"None"})]}),(0,d.jsxs)("div",{className:"rounded-xl border border-border bg-background p-4",children:[(0,d.jsx)("p",{className:"font-medium",children:"Agent memory injected"}),(0,d.jsx)("p",{className:"mt-1 text-muted-foreground",children:u.agentMemory.length?u.agentMemory.join(" \xb7 "):"None"})]})]})]}):null]})}var a=s(9068);let i=(0,s(1847).A)("User",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);function c(e){var r,s,o;let{scope:l}=e,c=(0,n.PA)(l),m=(0,n.I8)(l),[x,u]=(0,t.useState)(""),[h,b]=(0,t.useState)(!1),p=c.data,g=null!=(r=null==p?void 0:p.entries)?r:[],j=null!=(s=null==p?void 0:p.globalEntries)?s:[],f=null!=(o=null==p?void 0:p.raw)?o:"";async function N(){await m.mutateAsync(x),b(!0),setTimeout(()=>b(!1),2e3)}return(0,t.useEffect)(()=>{u(f)},[f]),(0,d.jsxs)("div",{className:"space-y-5",children:[j.length>0?(0,d.jsxs)("section",{className:"rounded-2xl border border-border/70 bg-card/60 p-5 shadow-sm",children:[(0,d.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(a.A,{className:"h-4 w-4 text-blue-400"}),(0,d.jsxs)("h2",{className:"text-lg font-semibold",children:["Global ","user"===l?"user":"agent"," memory"]}),(0,d.jsx)("span",{className:"rounded-full bg-blue-500/10 px-2 py-0.5 text-3xs font-medium text-blue-400",children:"shared"})]}),(0,d.jsxs)("div",{className:"rounded-xl border border-border bg-background px-4 py-2 text-sm text-muted-foreground",children:[(0,d.jsx)("strong",{className:"text-foreground",children:j.length})," ",1===j.length?"entry":"entries"]})]}),(0,d.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"Applies to all profiles. Stored at ~/.hermes/memories/. Read-only in this view."}),(0,d.jsx)("div",{className:"mt-3 space-y-2",children:j.map(e=>(0,d.jsx)("div",{className:"rounded-xl border border-border/50 bg-background/60 p-3 text-sm leading-relaxed text-muted-foreground",children:e.content},e.id))})]}):null,(0,d.jsxs)("section",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(i,{className:"h-4 w-4 text-primary"}),(0,d.jsxs)("div",{children:[(0,d.jsxs)("h2",{className:"text-lg font-semibold",children:["Profile ","user"===l?"user":"agent"," memory"]}),(0,d.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"Scoped to the current profile. Editable. Use \xa7 on its own line to separate entries."})]})]}),(0,d.jsxs)("div",{className:"rounded-xl border border-border bg-background px-4 py-3 text-sm text-muted-foreground",children:[(0,d.jsxs)("p",{children:[(0,d.jsx)("strong",{className:"text-foreground",children:"Entries:"})," ",g.length]}),(0,d.jsxs)("p",{children:[(0,d.jsx)("strong",{className:"text-foreground",children:"Audience:"})," ","user"===l?"About the user":"About the agent and the environment"]})]})]}),(0,d.jsx)("div",{className:"mt-4 rounded-xl border border-border bg-background p-4 text-sm text-muted-foreground",children:"user"===l?"Keep only stable user preferences and facts that reduce future repetition. Avoid transient task details.":"Keep stable environment notes, conventions, and recurring workflow facts. Avoid one-off progress notes."}),(0,d.jsx)("textarea",{value:x,onChange:e=>u(e.target.value),className:"mt-4 min-h-64 w-full rounded-2xl border border-border bg-background p-4 font-mono text-sm leading-6 outline-none focus:border-primary"}),(0,d.jsxs)("div",{className:"mt-4 flex items-center justify-end gap-3",children:[h?(0,d.jsx)("span",{className:"text-sm text-emerald-400",children:"✓ Saved"}):null,m.isPending?(0,d.jsx)("span",{className:"text-sm text-muted-foreground",children:"Saving…"}):null,(0,d.jsxs)("button",{type:"button",onClick:()=>void N(),disabled:m.isPending,className:"rounded-lg bg-primary px-4 py-2 text-sm font-medium text-primary-foreground disabled:opacity-50",children:["Save ",l," memory"]})]})]})]})}var m=s(63);function x(){var e,r,s;let l=(0,m.useRouter)(),{setActiveSessionId:a}=(0,o.j)(),[i,c]=(0,t.useState)(""),x=(0,n.SS)(i);return(0,d.jsxs)("section",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm",children:[(0,d.jsx)("h2",{className:"text-lg font-semibold",children:"Session search"}),(0,d.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"Search prior conversations independently from prompt memory."}),(0,d.jsx)("input",{value:i,onChange:e=>c(e.target.value),placeholder:"Search prior sessions…",className:"mt-4 w-full rounded-lg border border-input bg-background px-3 py-2 text-sm"}),(0,d.jsxs)("div",{className:"mt-4 space-y-3",children:[(null!=(r=x.data)?r:[]).map(e=>(0,d.jsxs)("button",{type:"button",onClick:()=>{a(e.id),l.push("/chat")},className:"block w-full rounded-xl border border-border bg-background p-4 text-left",children:[(0,d.jsx)("p",{className:"text-sm font-medium",children:e.title}),(0,d.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:e.preview})]},e.id)),i.trim()&&!x.isLoading&&(null!=(s=null==(e=x.data)?void 0:e.length)?s:0)===0?(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"No prior sessions matched that search."}):null]})]})}function u(){var e,r,s,a,i,m;let[u,h]=(0,t.useState)("user"),{selectedProfileId:b,activeSessionId:p}=(0,o.j)(),g=(0,n.Ux)(b,p).data;return(0,d.jsxs)("div",{className:"h-full overflow-y-auto space-y-6 p-4 lg:p-6",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h1",{className:"text-2xl font-semibold",children:"Memory"}),(0,d.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:"Inspect prompt memory, search prior sessions, and review current context state."})]}),(0,d.jsxs)("section",{className:"grid gap-3 md:grid-cols-2 xl:grid-cols-4",children:[(0,d.jsxs)("div",{className:"rounded-2xl border border-border bg-card p-4 shadow-sm",children:[(0,d.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Selected profile"}),(0,d.jsx)("p",{className:"mt-2 font-semibold",children:null!=(r=null!=(e=null==g?void 0:g.activeProfileId)?e:b)?r:"No profile"})]}),(0,d.jsxs)("div",{className:"rounded-2xl border border-border bg-card p-4 shadow-sm",children:[(0,d.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Active session"}),(0,d.jsx)("p",{className:"mt-2 font-semibold",children:null!=(a=null!=(s=null==g?void 0:g.activeSessionTitle)?s:p)?a:"No session"})]}),(0,d.jsxs)("div",{className:"rounded-2xl border border-border bg-card p-4 shadow-sm",children:[(0,d.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Loaded skills"}),(0,d.jsx)("p",{className:"mt-2 font-semibold",children:null!=(i=null==g?void 0:g.loadedSkillIds.length)?i:0})]}),(0,d.jsxs)("div",{className:"rounded-2xl border border-border bg-card p-4 shadow-sm",children:[(0,d.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Memory mode"}),(0,d.jsx)("p",{className:"mt-2 font-semibold",children:null!=(m=null==g?void 0:g.memoryMode)?m:"standard"})]})]}),(0,d.jsxs)("section",{className:"grid gap-4 lg:grid-cols-2",children:[(0,d.jsxs)("div",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm text-sm text-muted-foreground",children:[(0,d.jsx)("h2",{className:"text-lg font-semibold text-foreground",children:"Memory semantics"}),(0,d.jsxs)("div",{className:"mt-4 space-y-3",children:[(0,d.jsxs)("div",{className:"rounded-xl border border-border bg-background p-4",children:[(0,d.jsx)("p",{className:"font-medium text-foreground",children:"User memory"}),(0,d.jsx)("p",{className:"mt-1",children:"Durable facts about the human on the other side: preferences, identity, and stable habits worth carrying into future sessions."})]}),(0,d.jsxs)("div",{className:"rounded-xl border border-border bg-background p-4",children:[(0,d.jsx)("p",{className:"font-medium text-foreground",children:"Agent memory"}),(0,d.jsx)("p",{className:"mt-1",children:"Operational notes about the environment, conventions, and workflow details that help the agent behave consistently later."})]})]})]}),(0,d.jsxs)("div",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm text-sm text-muted-foreground",children:[(0,d.jsx)("h2",{className:"text-lg font-semibold text-foreground",children:"Important behavior"}),(0,d.jsxs)("div",{className:"mt-4 space-y-3",children:[(0,d.jsxs)("div",{className:"rounded-xl border border-border bg-background p-4",children:[(0,d.jsx)("p",{className:"font-medium text-foreground",children:"Editing memory is durable"}),(0,d.jsx)("p",{className:"mt-1",children:"Changes are saved immediately and affect future sessions. The current session context remains what was already loaded unless you start a fresh thread."})]}),(0,d.jsxs)("div",{className:"rounded-xl border border-border bg-background p-4",children:[(0,d.jsx)("p",{className:"font-medium text-foreground",children:"Session search is not memory"}),(0,d.jsx)("p",{className:"mt-1",children:"Search lets you recover prior conversations without promoting them into persistent memory."})]})]})]})]}),(0,d.jsx)("div",{className:"flex flex-wrap gap-2",children:[["user","User memory"],["agent","Agent memory"],["search","Session search"],["context","Context inspector"]].map(e=>{let[r,s]=e;return(0,d.jsx)("button",{type:"button",onClick:()=>h(r),className:"rounded-lg px-4 py-2 text-sm ".concat(u===r?"bg-primary text-primary-foreground":"border border-border text-muted-foreground"),children:s},r)})}),"user"===u?(0,d.jsx)(c,{scope:"user"}):null,"agent"===u?(0,d.jsx)(c,{scope:"agent"}):null,"search"===u?(0,d.jsx)(x,{}):null,"context"===u?(0,d.jsx)(l,{}):null]})}},9068:(e,r,s)=>{"use strict";s.d(r,{A:()=>d});let d=(0,s(1847).A)("Globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]])}},e=>{e.O(0,[2231,5449,9657,8441,1255,7358],()=>e(e.s=8684)),_N_E=e.O()}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7620],{6718:(e,r,s)=>{Promise.resolve().then(s.bind(s,1935)),Promise.resolve().then(s.bind(s,594)),Promise.resolve().then(s.bind(s,6981)),Promise.resolve().then(s.bind(s,9026))},9026:(e,r,s)=>{"use strict";s.d(r,{MemoryScreen:()=>u});var d=s(5155),t=s(2115),n=s(8584),o=s(2604);function l(){var e,r,s,t,l,a,i,c;let{selectedProfileId:m,activeSessionId:x}=(0,o.j)(),u=(0,n.Ux)(m,x).data;return(0,d.jsxs)("section",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm",children:[(0,d.jsx)("h2",{className:"text-lg font-semibold",children:"Context inspector"}),(0,d.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"See what the agent is currently using as session and profile context."}),u?(0,d.jsxs)("div",{className:"mt-4 space-y-4 text-sm",children:[(0,d.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,d.jsxs)("div",{className:"rounded-xl border border-border bg-background p-4",children:[(0,d.jsxs)("p",{children:[(0,d.jsx)("strong",{children:"Profile:"})," ",null!=(e=u.activeProfileId)?e:"none"]}),(0,d.jsxs)("p",{children:[(0,d.jsx)("strong",{children:"Session:"})," ",null!=(s=null!=(r=u.activeSessionTitle)?r:u.activeSessionId)?s:"none"]}),(0,d.jsxs)("p",{children:[(0,d.jsx)("strong",{children:"Preview:"})," ",null!=(t=u.activeSessionPreview)?t:"No preview captured yet."]})]}),(0,d.jsxs)("div",{className:"rounded-xl border border-border bg-background p-4",children:[(0,d.jsxs)("p",{children:[(0,d.jsx)("strong",{children:"Model:"})," ",null!=(l=u.model)?l:"n/a"]}),(0,d.jsxs)("p",{children:[(0,d.jsx)("strong",{children:"Provider:"})," ",null!=(a=u.provider)?a:"n/a"]}),(0,d.jsxs)("p",{children:[(0,d.jsx)("strong",{children:"Policy:"})," ",null!=(i=u.policyPreset)?i:"n/a"]}),(0,d.jsxs)("p",{children:[(0,d.jsx)("strong",{children:"Memory mode:"})," ",null!=(c=u.memoryMode)?c:"n/a"]})]})]}),(0,d.jsxs)("div",{className:"rounded-xl border border-border bg-background p-4",children:[(0,d.jsx)("p",{className:"font-medium",children:"Loaded skills"}),(0,d.jsx)("p",{className:"mt-1 text-muted-foreground",children:u.loadedSkillIds.length?u.loadedSkillIds.join(", "):"None"})]}),(0,d.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,d.jsxs)("div",{className:"rounded-xl border border-border bg-background p-4",children:[(0,d.jsx)("p",{className:"font-medium",children:"User memory injected"}),(0,d.jsx)("p",{className:"mt-1 text-muted-foreground",children:u.userMemory.length?u.userMemory.join(" \xb7 "):"None"})]}),(0,d.jsxs)("div",{className:"rounded-xl border border-border bg-background p-4",children:[(0,d.jsx)("p",{className:"font-medium",children:"Agent memory injected"}),(0,d.jsx)("p",{className:"mt-1 text-muted-foreground",children:u.agentMemory.length?u.agentMemory.join(" \xb7 "):"None"})]})]})]}):null]})}var a=s(9068);let i=(0,s(1847).A)("User",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);function c(e){var r,s,o;let{scope:l}=e,c=(0,n.PA)(l),m=(0,n.I8)(l),[x,u]=(0,t.useState)(""),[h,b]=(0,t.useState)(!1),p=c.data,g=null!=(r=null==p?void 0:p.entries)?r:[],j=null!=(s=null==p?void 0:p.globalEntries)?s:[],f=null!=(o=null==p?void 0:p.raw)?o:"";async function N(){await m.mutateAsync(x),b(!0),setTimeout(()=>b(!1),2e3)}return(0,t.useEffect)(()=>{u(f)},[f]),(0,d.jsxs)("div",{className:"space-y-5",children:[j.length>0?(0,d.jsxs)("section",{className:"rounded-2xl border border-border/70 bg-card/60 p-5 shadow-sm",children:[(0,d.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(a.A,{className:"h-4 w-4 text-blue-400"}),(0,d.jsxs)("h2",{className:"text-lg font-semibold",children:["Global ","user"===l?"user":"agent"," memory"]}),(0,d.jsx)("span",{className:"rounded-full bg-blue-500/10 px-2 py-0.5 text-3xs font-medium text-blue-400",children:"shared"})]}),(0,d.jsxs)("div",{className:"rounded-xl border border-border bg-background px-4 py-2 text-sm text-muted-foreground",children:[(0,d.jsx)("strong",{className:"text-foreground",children:j.length})," ",1===j.length?"entry":"entries"]})]}),(0,d.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"Applies to all profiles. Stored at ~/.hermes/memories/. Read-only in this view."}),(0,d.jsx)("div",{className:"mt-3 space-y-2",children:j.map(e=>(0,d.jsx)("div",{className:"rounded-xl border border-border/50 bg-background/60 p-3 text-sm leading-relaxed text-muted-foreground",children:e.content},e.id))})]}):null,(0,d.jsxs)("section",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(i,{className:"h-4 w-4 text-primary"}),(0,d.jsxs)("div",{children:[(0,d.jsxs)("h2",{className:"text-lg font-semibold",children:["Profile ","user"===l?"user":"agent"," memory"]}),(0,d.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"Scoped to the current profile. Editable. Use \xa7 on its own line to separate entries."})]})]}),(0,d.jsxs)("div",{className:"rounded-xl border border-border bg-background px-4 py-3 text-sm text-muted-foreground",children:[(0,d.jsxs)("p",{children:[(0,d.jsx)("strong",{className:"text-foreground",children:"Entries:"})," ",g.length]}),(0,d.jsxs)("p",{children:[(0,d.jsx)("strong",{className:"text-foreground",children:"Audience:"})," ","user"===l?"About the user":"About the agent and the environment"]})]})]}),(0,d.jsx)("div",{className:"mt-4 rounded-xl border border-border bg-background p-4 text-sm text-muted-foreground",children:"user"===l?"Keep only stable user preferences and facts that reduce future repetition. Avoid transient task details.":"Keep stable environment notes, conventions, and recurring workflow facts. Avoid one-off progress notes."}),(0,d.jsx)("textarea",{value:x,onChange:e=>u(e.target.value),className:"mt-4 min-h-64 w-full rounded-2xl border border-border bg-background p-4 font-mono text-sm leading-6 outline-none focus:border-primary"}),(0,d.jsxs)("div",{className:"mt-4 flex items-center justify-end gap-3",children:[h?(0,d.jsx)("span",{className:"text-sm text-emerald-400",children:"✓ Saved"}):null,m.isPending?(0,d.jsx)("span",{className:"text-sm text-muted-foreground",children:"Saving…"}):null,(0,d.jsxs)("button",{type:"button",onClick:()=>void N(),disabled:m.isPending,className:"rounded-lg bg-primary px-4 py-2 text-sm font-medium text-primary-foreground disabled:opacity-50",children:["Save ",l," memory"]})]})]})]})}var m=s(63);function x(){var e,r,s;let l=(0,m.useRouter)(),{setActiveSessionId:a}=(0,o.j)(),[i,c]=(0,t.useState)(""),x=(0,n.SS)(i);return(0,d.jsxs)("section",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm",children:[(0,d.jsx)("h2",{className:"text-lg font-semibold",children:"Session search"}),(0,d.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"Search prior conversations independently from prompt memory."}),(0,d.jsx)("input",{value:i,onChange:e=>c(e.target.value),placeholder:"Search prior sessions…",className:"mt-4 w-full rounded-lg border border-input bg-background px-3 py-2 text-sm"}),(0,d.jsxs)("div",{className:"mt-4 space-y-3",children:[(null!=(r=x.data)?r:[]).map(e=>(0,d.jsxs)("button",{type:"button",onClick:()=>{a(e.id),l.push("/chat")},className:"block w-full rounded-xl border border-border bg-background p-4 text-left",children:[(0,d.jsx)("p",{className:"text-sm font-medium",children:e.title}),(0,d.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:e.preview})]},e.id)),i.trim()&&!x.isLoading&&(null!=(s=null==(e=x.data)?void 0:e.length)?s:0)===0?(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"No prior sessions matched that search."}):null]})]})}function u(){var e,r,s,a,i,m;let[u,h]=(0,t.useState)("user"),{selectedProfileId:b,activeSessionId:p}=(0,o.j)(),g=(0,n.Ux)(b,p).data;return(0,d.jsxs)("div",{className:"h-full overflow-y-auto space-y-6 p-4 lg:p-6",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h1",{className:"text-2xl font-semibold",children:"Memory"}),(0,d.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:"Inspect prompt memory, search prior sessions, and review current context state."})]}),(0,d.jsxs)("section",{className:"grid gap-3 md:grid-cols-2 xl:grid-cols-4",children:[(0,d.jsxs)("div",{className:"rounded-2xl border border-border bg-card p-4 shadow-sm",children:[(0,d.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Selected profile"}),(0,d.jsx)("p",{className:"mt-2 font-semibold",children:null!=(r=null!=(e=null==g?void 0:g.activeProfileId)?e:b)?r:"No profile"})]}),(0,d.jsxs)("div",{className:"rounded-2xl border border-border bg-card p-4 shadow-sm",children:[(0,d.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Active session"}),(0,d.jsx)("p",{className:"mt-2 font-semibold",children:null!=(a=null!=(s=null==g?void 0:g.activeSessionTitle)?s:p)?a:"No session"})]}),(0,d.jsxs)("div",{className:"rounded-2xl border border-border bg-card p-4 shadow-sm",children:[(0,d.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Loaded skills"}),(0,d.jsx)("p",{className:"mt-2 font-semibold",children:null!=(i=null==g?void 0:g.loadedSkillIds.length)?i:0})]}),(0,d.jsxs)("div",{className:"rounded-2xl border border-border bg-card p-4 shadow-sm",children:[(0,d.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Memory mode"}),(0,d.jsx)("p",{className:"mt-2 font-semibold",children:null!=(m=null==g?void 0:g.memoryMode)?m:"standard"})]})]}),(0,d.jsxs)("section",{className:"grid gap-4 lg:grid-cols-2",children:[(0,d.jsxs)("div",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm text-sm text-muted-foreground",children:[(0,d.jsx)("h2",{className:"text-lg font-semibold text-foreground",children:"Memory semantics"}),(0,d.jsxs)("div",{className:"mt-4 space-y-3",children:[(0,d.jsxs)("div",{className:"rounded-xl border border-border bg-background p-4",children:[(0,d.jsx)("p",{className:"font-medium text-foreground",children:"User memory"}),(0,d.jsx)("p",{className:"mt-1",children:"Durable facts about the human on the other side: preferences, identity, and stable habits worth carrying into future sessions."})]}),(0,d.jsxs)("div",{className:"rounded-xl border border-border bg-background p-4",children:[(0,d.jsx)("p",{className:"font-medium text-foreground",children:"Agent memory"}),(0,d.jsx)("p",{className:"mt-1",children:"Operational notes about the environment, conventions, and workflow details that help the agent behave consistently later."})]})]})]}),(0,d.jsxs)("div",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm text-sm text-muted-foreground",children:[(0,d.jsx)("h2",{className:"text-lg font-semibold text-foreground",children:"Important behavior"}),(0,d.jsxs)("div",{className:"mt-4 space-y-3",children:[(0,d.jsxs)("div",{className:"rounded-xl border border-border bg-background p-4",children:[(0,d.jsx)("p",{className:"font-medium text-foreground",children:"Editing memory is durable"}),(0,d.jsx)("p",{className:"mt-1",children:"Changes are saved immediately and affect future sessions. The current session context remains what was already loaded unless you start a fresh thread."})]}),(0,d.jsxs)("div",{className:"rounded-xl border border-border bg-background p-4",children:[(0,d.jsx)("p",{className:"font-medium text-foreground",children:"Session search is not memory"}),(0,d.jsx)("p",{className:"mt-1",children:"Search lets you recover prior conversations without promoting them into persistent memory."})]})]})]})]}),(0,d.jsx)("div",{className:"flex flex-wrap gap-2",children:[["user","User memory"],["agent","Agent memory"],["search","Session search"],["context","Context inspector"]].map(e=>{let[r,s]=e;return(0,d.jsx)("button",{type:"button",onClick:()=>h(r),className:"rounded-lg px-4 py-2 text-sm ".concat(u===r?"bg-primary text-primary-foreground":"border border-border text-muted-foreground"),children:s},r)})}),"user"===u?(0,d.jsx)(c,{scope:"user"}):null,"agent"===u?(0,d.jsx)(c,{scope:"agent"}):null,"search"===u?(0,d.jsx)(x,{}):null,"context"===u?(0,d.jsx)(l,{}):null]})}},9068:(e,r,s)=>{"use strict";s.d(r,{A:()=>d});let d=(0,s(1847).A)("Globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]])}},e=>{e.O(0,[2231,5449,9657,8441,1255,7358],()=>e(e.s=6718)),_N_E=e.O()}]);
|