agor-live 0.23.1 → 0.23.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/dist/core/claude/index.cjs +51 -27
- package/dist/core/claude/index.js +51 -27
- package/dist/core/claude-cli/index.cjs +13 -0
- package/dist/core/claude-cli/index.js +13 -0
- package/dist/core/claude-cli/pricing.d.ts.map +1 -1
- package/dist/core/client/index.cjs +17 -0
- package/dist/core/client/index.js +16 -0
- package/dist/core/db/index.cjs +618 -421
- package/dist/core/db/index.js +550 -353
- package/dist/core/db/repositories/boards.d.ts +27 -0
- package/dist/core/db/repositories/boards.d.ts.map +1 -1
- package/dist/core/db/repositories/branches.d.ts +11 -1
- package/dist/core/db/repositories/branches.d.ts.map +1 -1
- package/dist/core/db/repositories/gateway-channels.d.ts +9 -0
- package/dist/core/db/repositories/gateway-channels.d.ts.map +1 -1
- package/dist/core/db/repositories/sessions.d.ts +7 -0
- package/dist/core/db/repositories/sessions.d.ts.map +1 -1
- package/dist/core/environment/render-snapshot.cjs +6 -2
- package/dist/core/environment/render-snapshot.d.ts +2 -0
- package/dist/core/environment/render-snapshot.d.ts.map +1 -1
- package/dist/core/environment/render-snapshot.js +6 -2
- package/dist/core/environment/variable-resolver.cjs +3 -1
- package/dist/core/environment/variable-resolver.js +3 -1
- package/dist/core/index.cjs +684 -486
- package/dist/core/index.js +684 -486
- package/dist/core/lib/feathers-validation.cjs +3 -0
- package/dist/core/lib/feathers-validation.d.ts +1 -0
- package/dist/core/lib/feathers-validation.d.ts.map +1 -1
- package/dist/core/lib/feathers-validation.js +3 -0
- package/dist/core/local-actions/index.cjs +123 -56
- package/dist/core/local-actions/index.js +121 -54
- package/dist/core/mcp/index.cjs +21 -3
- package/dist/core/mcp/index.d.ts +1 -1
- package/dist/core/mcp/index.d.ts.map +1 -1
- package/dist/core/mcp/index.js +18 -3
- package/dist/core/mcp/template-patterns.d.ts +15 -0
- package/dist/core/mcp/template-patterns.d.ts.map +1 -0
- package/dist/core/mcp/template-resolver.d.ts +13 -0
- package/dist/core/mcp/template-resolver.d.ts.map +1 -1
- package/dist/core/models/browser.cjs +6 -0
- package/dist/core/models/browser.js +6 -0
- package/dist/core/models/claude.d.ts.map +1 -1
- package/dist/core/models/index.cjs +6 -0
- package/dist/core/models/index.js +6 -0
- package/dist/core/seed/index.cjs +360 -216
- package/dist/core/seed/index.js +329 -185
- package/dist/core/templates/handlebars-helpers.cjs +3 -1
- package/dist/core/templates/handlebars-helpers.d.ts +5 -0
- package/dist/core/templates/handlebars-helpers.d.ts.map +1 -1
- package/dist/core/templates/handlebars-helpers.js +3 -1
- package/dist/core/tools/mcp/auth-secrets.cjs +3460 -3
- package/dist/core/tools/mcp/auth-secrets.d.ts.map +1 -1
- package/dist/core/tools/mcp/auth-secrets.js +3477 -3
- package/dist/core/tools/mcp/http-headers.cjs +17 -1
- package/dist/core/tools/mcp/http-headers.d.ts.map +1 -1
- package/dist/core/tools/mcp/http-headers.js +15 -1
- package/dist/core/tools/mcp/oauth-refresh.cjs +67 -43
- package/dist/core/tools/mcp/oauth-refresh.js +65 -41
- package/dist/core/types/board.d.ts +12 -0
- package/dist/core/types/board.d.ts.map +1 -1
- package/dist/core/types/gateway.d.ts +14 -0
- package/dist/core/types/gateway.d.ts.map +1 -1
- package/dist/core/types/index.cjs +17 -0
- package/dist/core/types/index.js +16 -0
- package/dist/core/unix/index.cjs +67 -0
- package/dist/core/unix/index.js +67 -0
- package/dist/daemon/auth/executor-runtime-scope.d.ts.map +1 -1
- package/dist/daemon/auth/executor-runtime-scope.js +19 -5
- package/dist/daemon/auth/executor-session-token.d.ts +15 -0
- package/dist/daemon/auth/executor-session-token.d.ts.map +1 -0
- package/dist/daemon/auth/executor-session-token.js +17 -0
- package/dist/daemon/auth/issue-browser-tokens-hook.d.ts +24 -0
- package/dist/daemon/auth/issue-browser-tokens-hook.d.ts.map +1 -0
- package/dist/daemon/auth/issue-browser-tokens-hook.js +95 -0
- package/dist/daemon/auth/service-jwt-strategy.d.ts.map +1 -1
- package/dist/daemon/auth/service-jwt-strategy.js +14 -2
- package/dist/daemon/declarations.d.ts +1 -0
- package/dist/daemon/declarations.d.ts.map +1 -1
- package/dist/daemon/index.js +1365 -418
- package/dist/daemon/main.js +1365 -418
- package/dist/daemon/mcp/server.js +294 -31
- package/dist/daemon/mcp/tools/analytics.js +73 -24
- package/dist/daemon/mcp/tools/artifacts.js +73 -24
- package/dist/daemon/mcp/tools/boards.js +73 -24
- package/dist/daemon/mcp/tools/branches.js +73 -24
- package/dist/daemon/mcp/tools/card-types.js +73 -24
- package/dist/daemon/mcp/tools/cards.js +73 -24
- package/dist/daemon/mcp/tools/environment.js +73 -24
- package/dist/daemon/mcp/tools/gateway-channels.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/gateway-channels.js +190 -38
- package/dist/daemon/mcp/tools/knowledge.js +73 -24
- package/dist/daemon/mcp/tools/mcp-servers.js +73 -24
- package/dist/daemon/mcp/tools/messages.js +73 -24
- package/dist/daemon/mcp/tools/proxies.js +73 -24
- package/dist/daemon/mcp/tools/repos.js +73 -24
- package/dist/daemon/mcp/tools/schedules.js +73 -24
- package/dist/daemon/mcp/tools/search.js +73 -24
- package/dist/daemon/mcp/tools/sessions.js +73 -24
- package/dist/daemon/mcp/tools/tasks.js +73 -24
- package/dist/daemon/mcp/tools/users.js +76 -27
- package/dist/daemon/mcp/tools/widgets.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/widgets.js +257 -99
- package/dist/daemon/oauth-auth-helpers.d.ts +35 -0
- package/dist/daemon/oauth-auth-helpers.d.ts.map +1 -0
- package/dist/daemon/oauth-auth-helpers.js +14 -0
- package/dist/daemon/register-hooks.d.ts +1 -0
- package/dist/daemon/register-hooks.d.ts.map +1 -1
- package/dist/daemon/register-hooks.js +304 -53
- package/dist/daemon/register-routes.d.ts.map +1 -1
- package/dist/daemon/register-routes.js +738 -288
- package/dist/daemon/register-services.d.ts.map +1 -1
- package/dist/daemon/register-services.js +386 -155
- package/dist/daemon/services/boards.d.ts +5 -0
- package/dist/daemon/services/boards.d.ts.map +1 -1
- package/dist/daemon/services/boards.js +7 -0
- package/dist/daemon/services/branches.d.ts.map +1 -1
- package/dist/daemon/services/branches.js +31 -2
- package/dist/daemon/services/claude-models.d.ts.map +1 -1
- package/dist/daemon/services/claude-models.js +4 -1
- package/dist/daemon/services/gateway.d.ts +15 -0
- package/dist/daemon/services/gateway.d.ts.map +1 -1
- package/dist/daemon/services/gateway.js +34 -0
- package/dist/daemon/services/health-monitor.d.ts.map +1 -1
- package/dist/daemon/services/health-monitor.js +10 -7
- package/dist/daemon/services/session-streams.d.ts +29 -0
- package/dist/daemon/services/session-streams.d.ts.map +1 -0
- package/dist/daemon/services/session-streams.js +84 -0
- package/dist/daemon/services/session-token-service.d.ts.map +1 -1
- package/dist/daemon/services/session-token-service.js +8 -4
- package/dist/daemon/setup/index.js +43 -11
- package/dist/daemon/setup/socketio.d.ts.map +1 -1
- package/dist/daemon/setup/socketio.js +43 -11
- package/dist/daemon/startup.d.ts.map +1 -1
- package/dist/daemon/startup.js +37 -16
- package/dist/daemon/utils/authorization.js +19 -5
- package/dist/daemon/utils/emit-service-event.d.ts +56 -0
- package/dist/daemon/utils/emit-service-event.d.ts.map +1 -0
- package/dist/daemon/utils/emit-service-event.js +23 -0
- package/dist/daemon/utils/mcp-header-secrets.d.ts +3 -5
- package/dist/daemon/utils/mcp-header-secrets.d.ts.map +1 -1
- package/dist/daemon/utils/mcp-header-secrets.js +31 -2
- package/dist/daemon/utils/realtime-access-cache.d.ts +9 -0
- package/dist/daemon/utils/realtime-access-cache.d.ts.map +1 -1
- package/dist/daemon/utils/realtime-access-cache.js +24 -0
- package/dist/daemon/utils/realtime-publish.d.ts +24 -0
- package/dist/daemon/utils/realtime-publish.d.ts.map +1 -1
- package/dist/daemon/utils/realtime-publish.js +120 -2
- package/dist/daemon/utils/session-queue-tenant-scope.d.ts +24 -0
- package/dist/daemon/utils/session-queue-tenant-scope.d.ts.map +1 -0
- package/dist/daemon/utils/session-queue-tenant-scope.js +133 -0
- package/dist/daemon/widgets/gateway-token/index.d.ts +114 -0
- package/dist/daemon/widgets/gateway-token/index.d.ts.map +1 -0
- package/dist/daemon/widgets/gateway-token/index.js +14711 -0
- package/dist/daemon/widgets/index.d.ts.map +1 -1
- package/dist/daemon/widgets/index.js +190 -16
- package/dist/daemon/widgets/registry.d.ts +7 -0
- package/dist/daemon/widgets/registry.d.ts.map +1 -1
- package/dist/daemon/widgets/submissions.js +12 -9
- package/dist/executor/commands/git.d.ts.map +1 -1
- package/dist/executor/commands/git.js +2 -0
- package/dist/executor/db/feathers-repositories.d.ts +19 -1
- package/dist/executor/db/feathers-repositories.d.ts.map +1 -1
- package/dist/executor/db/feathers-repositories.js +31 -1
- package/dist/executor/handlers/sdk/claude.d.ts.map +1 -1
- package/dist/executor/handlers/sdk/claude.js +1 -1
- package/dist/executor/handlers/sdk/codex.d.ts.map +1 -1
- package/dist/executor/handlers/sdk/codex.js +1 -1
- package/dist/executor/handlers/sdk/copilot.d.ts.map +1 -1
- package/dist/executor/handlers/sdk/copilot.js +1 -1
- package/dist/executor/handlers/sdk/cursor.d.ts.map +1 -1
- package/dist/executor/handlers/sdk/cursor.js +1 -0
- package/dist/executor/handlers/sdk/gemini.d.ts.map +1 -1
- package/dist/executor/handlers/sdk/gemini.js +1 -1
- package/dist/executor/handlers/sdk/opencode.d.ts.map +1 -1
- package/dist/executor/handlers/sdk/opencode.js +1 -1
- package/dist/executor/payload-types.d.ts +5 -5
- package/dist/executor/sdk-handlers/base/mcp-scoping.d.ts +8 -1
- package/dist/executor/sdk-handlers/base/mcp-scoping.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/base/mcp-scoping.js +58 -6
- package/dist/executor/sdk-handlers/claude/claude-tool.d.ts +2 -2
- package/dist/executor/sdk-handlers/claude/claude-tool.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/claude/claude-tool.js +2 -2
- package/dist/executor/sdk-handlers/claude/prompt-service.d.ts +13 -3
- package/dist/executor/sdk-handlers/claude/prompt-service.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/claude/prompt-service.js +16 -3
- package/dist/executor/sdk-handlers/claude/query-builder.d.ts +2 -1
- package/dist/executor/sdk-handlers/claude/query-builder.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/claude/query-builder.js +2 -1
- package/dist/executor/sdk-handlers/codex/codex-tool.d.ts +2 -2
- package/dist/executor/sdk-handlers/codex/codex-tool.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/codex/codex-tool.js +2 -2
- package/dist/executor/sdk-handlers/codex/prompt-service.d.ts +3 -2
- package/dist/executor/sdk-handlers/codex/prompt-service.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/codex/prompt-service.js +70 -6
- package/dist/executor/sdk-handlers/copilot/copilot-tool.d.ts +2 -2
- package/dist/executor/sdk-handlers/copilot/copilot-tool.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/copilot/copilot-tool.js +2 -2
- package/dist/executor/sdk-handlers/copilot/prompt-service.d.ts +3 -2
- package/dist/executor/sdk-handlers/copilot/prompt-service.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/copilot/prompt-service.js +4 -1
- package/dist/executor/sdk-handlers/gemini/gemini-tool.d.ts +2 -2
- package/dist/executor/sdk-handlers/gemini/gemini-tool.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/gemini/gemini-tool.js +2 -2
- package/dist/executor/sdk-handlers/gemini/prompt-service.d.ts +3 -2
- package/dist/executor/sdk-handlers/gemini/prompt-service.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/gemini/prompt-service.js +4 -1
- package/dist/executor/sdk-handlers/opencode/opencode-tool.d.ts +3 -2
- package/dist/executor/sdk-handlers/opencode/opencode-tool.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/opencode/opencode-tool.js +4 -1
- package/dist/executor/services/feathers-client.d.ts.map +1 -1
- package/dist/executor/services/feathers-client.js +119 -20
- package/dist/ui/assets/AgorEmojiPickerInner-leeNywMc.js +1 -0
- package/dist/ui/assets/App-Dpl4Cc0U.js +4 -0
- package/dist/ui/assets/App-Dpl4Cc0U.js.gz +0 -0
- package/dist/ui/assets/AppNode-wN3UZlFK.js +1 -0
- package/dist/ui/assets/AppNode-wN3UZlFK.js.gz +0 -0
- package/dist/ui/assets/{ArtifactConsentModal-oMMzRn8L.js → ArtifactConsentModal-DjzXcP_L.js} +1 -1
- package/dist/ui/assets/ArtifactConsentModal-DjzXcP_L.js.gz +0 -0
- package/dist/ui/assets/ArtifactFullscreenPage-B3b_EZ0F.js +9 -0
- package/dist/ui/assets/ArtifactFullscreenPage-B3b_EZ0F.js.gz +0 -0
- package/dist/ui/assets/ArtifactNode-DISy2T-6.js +9 -0
- package/dist/ui/assets/ArtifactNode-DISy2T-6.js.gz +0 -0
- package/dist/ui/assets/AutocompleteTextarea-DUpsoEGr.js +19 -0
- package/dist/ui/assets/AutocompleteTextarea-DUpsoEGr.js.gz +0 -0
- package/dist/ui/assets/BoardObjectNodes-BakeGpIX.js +34 -0
- package/dist/ui/assets/BoardObjectNodes-BakeGpIX.js.gz +0 -0
- package/dist/ui/assets/{CodeEditor.inner-Cuj6RuLL.js → CodeEditor.inner-HmSdTLW5.js} +1 -1
- package/dist/ui/assets/CodeEditor.inner-HmSdTLW5.js.gz +0 -0
- package/dist/ui/assets/ConversationView-mWaA-B1f.js +1 -0
- package/dist/ui/assets/ConversationView-mWaA-B1f.js.gz +0 -0
- package/dist/ui/assets/{EmbeddedTerminal-Lx5I9EOJ.js → EmbeddedTerminal-NNoyPA81.js} +1 -1
- package/dist/ui/assets/EmbeddedTerminal-NNoyPA81.js.gz +0 -0
- package/dist/ui/assets/KnowledgePage-CkxVnRvz.js +24 -0
- package/dist/ui/assets/KnowledgePage-CkxVnRvz.js.gz +0 -0
- package/dist/ui/assets/{MarketingScreenshotPage-CmDPBHOl.js → MarketingScreenshotPage-B86Gs8jx.js} +2 -2
- package/dist/ui/assets/MarketingScreenshotPage-B86Gs8jx.js.gz +0 -0
- package/dist/ui/assets/MobileApp-BPs-SXvz.js +1 -0
- package/dist/ui/assets/MobileApp-BPs-SXvz.js.gz +0 -0
- package/dist/ui/assets/SessionCanvas-xVfDoEtz.js +13 -0
- package/dist/ui/assets/SessionCanvas-xVfDoEtz.js.gz +0 -0
- package/dist/ui/assets/{StreamdownDemoPage-okKKR2QH.js → StreamdownDemoPage-CvWLzVsv.js} +2 -2
- package/dist/ui/assets/StreamdownDemoPage-CvWLzVsv.js.gz +0 -0
- package/dist/ui/assets/{TerminalModal-D9jMGZXv.js → TerminalModal-ExOgsuOP.js} +2 -2
- package/dist/ui/assets/TerminalModal-ExOgsuOP.js.gz +0 -0
- package/dist/ui/assets/ThemeSwitcher-Cgyp5ruu.js +1 -0
- package/dist/ui/assets/ThemeSwitcher-Cgyp5ruu.js.gz +0 -0
- package/dist/ui/assets/{ThemedSyntaxHighlighter.inner-C1FdIHn0.js → ThemedSyntaxHighlighter.inner-rpCN9S6K.js} +1 -1
- package/dist/ui/assets/{antd-DT5ackd0.js → antd-BCqimh1J.js} +5 -5
- package/dist/ui/assets/{antd-DT5ackd0.js.gz → antd-BCqimh1J.js.gz} +0 -0
- package/dist/ui/assets/architecture-U656AL7Q-BxSQIjrE.js +1 -0
- package/dist/ui/assets/{architectureDiagram-VXUJARFQ-DwTJGGoj.js → architectureDiagram-VXUJARFQ-pDpGHSqT.js} +1 -1
- package/dist/ui/assets/architectureDiagram-VXUJARFQ-pDpGHSqT.js.gz +0 -0
- package/dist/ui/assets/{blockDiagram-VD42YOAC-Dh1_TVW2.js → blockDiagram-VD42YOAC-uP8JTJpK.js} +1 -1
- package/dist/ui/assets/blockDiagram-VD42YOAC-uP8JTJpK.js.gz +0 -0
- package/dist/ui/assets/{c4Diagram-YG6GDRKO-B1e96AcB.js → c4Diagram-YG6GDRKO-qQe72Mm7.js} +1 -1
- package/dist/ui/assets/c4Diagram-YG6GDRKO-qQe72Mm7.js.gz +0 -0
- package/dist/ui/assets/channel-CoUBs6Zn.js +1 -0
- package/dist/ui/assets/{chunk-4BX2VUAB-BODpCjJx.js → chunk-4BX2VUAB-sz-YE8Nt.js} +1 -1
- package/dist/ui/assets/chunk-4ZMWKKQ3-3oKtfWXp.js +3 -0
- package/dist/ui/assets/chunk-4ZMWKKQ3-3oKtfWXp.js.gz +0 -0
- package/dist/ui/assets/chunk-55IACEB6-BS04dgKF.js +1 -0
- package/dist/ui/assets/{chunk-ABZYJK2D-DCTXWSzV.js → chunk-ABZYJK2D-t3Gkphds.js} +3 -3
- package/dist/ui/assets/chunk-ABZYJK2D-t3Gkphds.js.gz +0 -0
- package/dist/ui/assets/{chunk-AGHRB4JF-CbNphBjE.js → chunk-AGHRB4JF-D_QmWxbY.js} +1 -1
- package/dist/ui/assets/chunk-AGHRB4JF-D_QmWxbY.js.gz +0 -0
- package/dist/ui/assets/{chunk-ATLVNIR6-rWg3qxof.js → chunk-ATLVNIR6-Bmg7-Ufz.js} +1 -1
- package/dist/ui/assets/chunk-ATLVNIR6-Bmg7-Ufz.js.gz +0 -0
- package/dist/ui/assets/{chunk-B4BG7PRW-CgtLCbpE.js → chunk-B4BG7PRW-dnSEE1u-.js} +1 -1
- package/dist/ui/assets/chunk-B4BG7PRW-dnSEE1u-.js.gz +0 -0
- package/dist/ui/assets/{chunk-CVBHYZKI-DTL6Zgr0.js → chunk-CVBHYZKI-BStaYnF0.js} +1 -1
- package/dist/ui/assets/{chunk-DI55MBZ5-Dwvx2Kva.js → chunk-DI55MBZ5-28dvx6o3.js} +1 -1
- package/dist/ui/assets/chunk-DI55MBZ5-28dvx6o3.js.gz +0 -0
- package/dist/ui/assets/chunk-EXTU4WIE-X-FURkEh.js +1 -0
- package/dist/ui/assets/{chunk-FMBD7UC4-BogA_9CV.js → chunk-FMBD7UC4-C_63gC9S.js} +1 -1
- package/dist/ui/assets/{chunk-HN2XXSSU-2blQO3Gb.js → chunk-HN2XXSSU-UFD374KI.js} +1 -1
- package/dist/ui/assets/chunk-HN2XXSSU-UFD374KI.js.gz +0 -0
- package/dist/ui/assets/{chunk-JA3XYJ7Z-Cr1rmOui.js → chunk-JA3XYJ7Z-B60hLNeR.js} +1 -1
- package/dist/ui/assets/chunk-JA3XYJ7Z-B60hLNeR.js.gz +0 -0
- package/dist/ui/assets/{chunk-JZLCHNYA-BsgZ79Fa.js → chunk-JZLCHNYA-ButC6pwN.js} +1 -1
- package/dist/ui/assets/chunk-JZLCHNYA-ButC6pwN.js.gz +0 -0
- package/dist/ui/assets/{chunk-MI3HLSF2-dwYeUy5S.js → chunk-MI3HLSF2-BivYzoSV.js} +1 -1
- package/dist/ui/assets/chunk-MI3HLSF2-BivYzoSV.js.gz +0 -0
- package/dist/ui/assets/chunk-N4CR4FBY-mVWzo5wJ.js +2 -0
- package/dist/ui/assets/chunk-N4CR4FBY-mVWzo5wJ.js.gz +0 -0
- package/dist/ui/assets/{chunk-QN33PNHL-DxdIDCAa.js → chunk-QN33PNHL-tXtHZpaG.js} +1 -1
- package/dist/ui/assets/{chunk-QXUST7PY-BCK2V0i-.js → chunk-QXUST7PY-DATib_Vv.js} +1 -1
- package/dist/ui/assets/chunk-QXUST7PY-DATib_Vv.js.gz +0 -0
- package/dist/ui/assets/chunk-QZHKN3VN-y6l249e5.js +1 -0
- package/dist/ui/assets/{chunk-S3R3BYOJ-GP3zIxrB.js → chunk-S3R3BYOJ-BEtfmflI.js} +1 -1
- package/dist/ui/assets/chunk-S3R3BYOJ-BEtfmflI.js.gz +0 -0
- package/dist/ui/assets/{chunk-TZMSLE5B-dX5RaM6g.js → chunk-TZMSLE5B-BY1ZtogK.js} +1 -1
- package/dist/ui/assets/chunk-TZMSLE5B-BY1ZtogK.js.gz +0 -0
- package/dist/ui/assets/classDiagram-2ON5EDUG-BYvq-uPY.js +1 -0
- package/dist/ui/assets/classDiagram-v2-WZHVMYZB-BYvq-uPY.js +1 -0
- package/dist/ui/assets/constants-CYzQKfD1.js +1 -0
- package/dist/ui/assets/{cose-bilkent-S5V4N54A-Dx0BJVDl.js → cose-bilkent-S5V4N54A-DPvYrqGG.js} +1 -1
- package/dist/ui/assets/cose-bilkent-S5V4N54A-DPvYrqGG.js.gz +0 -0
- package/dist/ui/assets/{dagre-6UL2VRFP-DiQSUxqN.js → dagre-6UL2VRFP-D800J6qb.js} +1 -1
- package/dist/ui/assets/dagre-6UL2VRFP-D800J6qb.js.gz +0 -0
- package/dist/ui/assets/{dagre-Bekd9Vdj.js → dagre-TNc4wezg.js} +1 -1
- package/dist/ui/assets/dagre-TNc4wezg.js.gz +0 -0
- package/dist/ui/assets/{diagram-PSM6KHXK-DtJnDQjc.js → diagram-PSM6KHXK-CGdP9F-X.js} +1 -1
- package/dist/ui/assets/diagram-PSM6KHXK-CGdP9F-X.js.gz +0 -0
- package/dist/ui/assets/{diagram-QEK2KX5R-CobkCRdj.js → diagram-QEK2KX5R-BD5lOCe5.js} +1 -1
- package/dist/ui/assets/diagram-QEK2KX5R-BD5lOCe5.js.gz +0 -0
- package/dist/ui/assets/{diagram-S2PKOQOG-DHEZYivc.js → diagram-S2PKOQOG-cp3l22vN.js} +1 -1
- package/dist/ui/assets/diagram-S2PKOQOG-cp3l22vN.js.gz +0 -0
- package/dist/ui/assets/editor-Cr0W5BQI.js +39 -0
- package/dist/ui/assets/editor-Cr0W5BQI.js.gz +0 -0
- package/dist/ui/assets/{emoji-B0hLmSLZ.js → emoji-Bv3m24sO.js} +1 -1
- package/dist/ui/assets/emoji-Bv3m24sO.js.gz +0 -0
- package/dist/ui/assets/{erDiagram-Q2GNP2WA-BVNeTZPQ.js → erDiagram-Q2GNP2WA-CQSXRgqr.js} +1 -1
- package/dist/ui/assets/erDiagram-Q2GNP2WA-CQSXRgqr.js.gz +0 -0
- package/dist/ui/assets/{flowDiagram-NV44I4VS-C73VFdyk.js → flowDiagram-NV44I4VS-CKcKpkph.js} +1 -1
- package/dist/ui/assets/flowDiagram-NV44I4VS-CKcKpkph.js.gz +0 -0
- package/dist/ui/assets/{ganttDiagram-LVOFAZNH-B_RosuD1.js → ganttDiagram-LVOFAZNH-DlAHzXO5.js} +1 -1
- package/dist/ui/assets/ganttDiagram-LVOFAZNH-DlAHzXO5.js.gz +0 -0
- package/dist/ui/assets/{gitGraph-F6HP7TQM-DMFIqn4h.js → gitGraph-F6HP7TQM-DeuXy4B1.js} +1 -1
- package/dist/ui/assets/{gitGraphDiagram-NY62KEGX-hxbgwNA1.js → gitGraphDiagram-NY62KEGX-aB-AI4Vq.js} +1 -1
- package/dist/ui/assets/gitGraphDiagram-NY62KEGX-aB-AI4Vq.js.gz +0 -0
- package/dist/ui/assets/index-B-qHc0o5.js +63 -0
- package/dist/ui/assets/index-B-qHc0o5.js.gz +0 -0
- package/dist/ui/assets/{info-NVLQJR56-DZ3K-w48.js → info-NVLQJR56-B9PG7xsc.js} +1 -1
- package/dist/ui/assets/{infoDiagram-ER5ION4S-CxnBJQu6.js → infoDiagram-ER5ION4S-C5Wpoqim.js} +1 -1
- package/dist/ui/assets/{journeyDiagram-XKPGCS4Q-CHYNj-f8.js → journeyDiagram-XKPGCS4Q-CHLziqfS.js} +1 -1
- package/dist/ui/assets/journeyDiagram-XKPGCS4Q-CHLziqfS.js.gz +0 -0
- package/dist/ui/assets/{kanban-definition-3W4ZIXB7-DQPCCsj2.js → kanban-definition-3W4ZIXB7-Dq7GzQE_.js} +1 -1
- package/dist/ui/assets/kanban-definition-3W4ZIXB7-Dq7GzQE_.js.gz +0 -0
- package/dist/ui/assets/{line-DBRjKmfa.js → line-DHKNg83I.js} +1 -1
- package/dist/ui/assets/{linear-DFao5Wyp.js → linear-BvUfn0I8.js} +1 -1
- package/dist/ui/assets/linear-BvUfn0I8.js.gz +0 -0
- package/dist/ui/assets/{mermaid-parser.core-DYCfacHj.js → mermaid-parser.core-C6d9tKoo.js} +2 -2
- package/dist/ui/assets/mermaid-parser.core-C6d9tKoo.js.gz +0 -0
- package/dist/ui/assets/{mermaid.core-C6xGFSdE.js → mermaid.core-CxE5KezR.js} +3 -3
- package/dist/ui/assets/mermaid.core-CxE5KezR.js.gz +0 -0
- package/dist/ui/assets/{mindmap-definition-VGOIOE7T-L3Pw-YM7.js → mindmap-definition-VGOIOE7T-DmPoQ48w.js} +1 -1
- package/dist/ui/assets/mindmap-definition-VGOIOE7T-DmPoQ48w.js.gz +0 -0
- package/dist/ui/assets/{packet-BFZMPI3H-CpL6iNoa.js → packet-BFZMPI3H-JZEkVZxU.js} +1 -1
- package/dist/ui/assets/{particles-CT8hcJOA.js → particles-CxMmUw86.js} +1 -1
- package/dist/ui/assets/particles-CxMmUw86.js.gz +0 -0
- package/dist/ui/assets/{pie-7BOR55EZ-hTqChbTo.js → pie-7BOR55EZ-_1II5pYQ.js} +1 -1
- package/dist/ui/assets/{pieDiagram-ADFJNKIX-Bf4Nou75.js → pieDiagram-ADFJNKIX-DrNkH33i.js} +1 -1
- package/dist/ui/assets/pieDiagram-ADFJNKIX-DrNkH33i.js.gz +0 -0
- package/dist/ui/assets/{quadrantDiagram-AYHSOK5B-DpjUTLB1.js → quadrantDiagram-AYHSOK5B-DOpC-HEF.js} +1 -1
- package/dist/ui/assets/quadrantDiagram-AYHSOK5B-DOpC-HEF.js.gz +0 -0
- package/dist/ui/assets/{radar-NHE76QYJ-myy7OENC.js → radar-NHE76QYJ-DDmqhzEZ.js} +1 -1
- package/dist/ui/assets/{reactflow-Cubtnk8i.js → reactflow-D98uPOMq.js} +1 -1
- package/dist/ui/assets/reactflow-D98uPOMq.js.gz +0 -0
- package/dist/ui/assets/{requirementDiagram-UZGBJVZJ-Bfrfh-0-.js → requirementDiagram-UZGBJVZJ-Bzx0iEPP.js} +1 -1
- package/dist/ui/assets/requirementDiagram-UZGBJVZJ-Bzx0iEPP.js.gz +0 -0
- package/dist/ui/assets/{sandpack-C58bwfIS.js → sandpack-059Z4UWP.js} +1 -1
- package/dist/ui/assets/sandpack-059Z4UWP.js.gz +0 -0
- package/dist/ui/assets/sandpackDefaults-CPMNDsw7.js +1 -0
- package/dist/ui/assets/sandpackDefaults-CPMNDsw7.js.gz +0 -0
- package/dist/ui/assets/{sankeyDiagram-TZEHDZUN-ClZAZ6va.js → sankeyDiagram-TZEHDZUN-Do9pvfDv.js} +1 -1
- package/dist/ui/assets/sankeyDiagram-TZEHDZUN-Do9pvfDv.js.gz +0 -0
- package/dist/ui/assets/{sequenceDiagram-WL72ISMW-CNgly63p.js → sequenceDiagram-WL72ISMW-CN8neUTA.js} +1 -1
- package/dist/ui/assets/sequenceDiagram-WL72ISMW-CN8neUTA.js.gz +0 -0
- package/dist/ui/assets/{src-DAeyG22O.js → src-DEbsv3pp.js} +2 -2
- package/dist/ui/assets/src-DEbsv3pp.js.gz +0 -0
- package/dist/ui/assets/{stateDiagram-FKZM4ZOC-BrEAoDpE.js → stateDiagram-FKZM4ZOC-BluWJi8n.js} +1 -1
- package/dist/ui/assets/stateDiagram-FKZM4ZOC-BluWJi8n.js.gz +0 -0
- package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-DeyqBMDR.js +1 -0
- package/dist/ui/assets/{streamdown-BdAVfkeF.js → streamdown-BT1twtFc.js} +5 -5
- package/dist/ui/assets/streamdown-BT1twtFc.js.gz +0 -0
- package/dist/ui/assets/{syntax-BOfTnQiy.js → syntax-CBu6nLfm.js} +1 -1
- package/dist/ui/assets/syntax-CBu6nLfm.js.gz +0 -0
- package/dist/ui/assets/{timeline-definition-IT6M3QCI-CaRH3k4l.js → timeline-definition-IT6M3QCI-WdUNkiRj.js} +1 -1
- package/dist/ui/assets/timeline-definition-IT6M3QCI-WdUNkiRj.js.gz +0 -0
- package/dist/ui/assets/{treemap-KMMF4GRG-CUaLOV_B.js → treemap-KMMF4GRG-CoriU4Jl.js} +1 -1
- package/dist/ui/assets/{useUserLocalStorage-C8sgXgXR.js → useUserLocalStorage-GidNiOPC.js} +1 -1
- package/dist/ui/assets/useUserLocalStorage-GidNiOPC.js.gz +0 -0
- package/dist/ui/assets/{xychartDiagram-PRI3JC2R-BlhkI9T_.js → xychartDiagram-PRI3JC2R-CgBAKNt2.js} +1 -1
- package/dist/ui/assets/xychartDiagram-PRI3JC2R-CgBAKNt2.js.gz +0 -0
- package/dist/ui/index.html +9 -8
- package/dist/ui/index.html.gz +0 -0
- package/package.json +2 -2
- package/dist/ui/assets/AgorEmojiPickerInner-DQjr8M3_.js +0 -1
- package/dist/ui/assets/App-hJtcOxHv.js +0 -5
- package/dist/ui/assets/App-hJtcOxHv.js.gz +0 -0
- package/dist/ui/assets/AppNode-BhuMpn8O.js +0 -1
- package/dist/ui/assets/AppNode-BhuMpn8O.js.gz +0 -0
- package/dist/ui/assets/ArtifactConsentModal-oMMzRn8L.js.gz +0 -0
- package/dist/ui/assets/ArtifactFullscreenPage-B3wT8t8f.js +0 -9
- package/dist/ui/assets/ArtifactFullscreenPage-B3wT8t8f.js.gz +0 -0
- package/dist/ui/assets/ArtifactNode-BzQcrwFS.js +0 -9
- package/dist/ui/assets/ArtifactNode-BzQcrwFS.js.gz +0 -0
- package/dist/ui/assets/AutocompleteTextarea-Dau-V_30.js +0 -19
- package/dist/ui/assets/AutocompleteTextarea-Dau-V_30.js.gz +0 -0
- package/dist/ui/assets/BoardObjectNodes-DdKWv_ZT.js +0 -34
- package/dist/ui/assets/BoardObjectNodes-DdKWv_ZT.js.gz +0 -0
- package/dist/ui/assets/CodeEditor.inner-Cuj6RuLL.js.gz +0 -0
- package/dist/ui/assets/ConversationView-9-3ma1u-.js +0 -1
- package/dist/ui/assets/ConversationView-9-3ma1u-.js.gz +0 -0
- package/dist/ui/assets/EmbeddedTerminal-Lx5I9EOJ.js.gz +0 -0
- package/dist/ui/assets/KnowledgePage-Dz8YAMYC.js +0 -24
- package/dist/ui/assets/KnowledgePage-Dz8YAMYC.js.gz +0 -0
- package/dist/ui/assets/MarketingScreenshotPage-CmDPBHOl.js.gz +0 -0
- package/dist/ui/assets/MobileApp-BpgSG_gz.js +0 -1
- package/dist/ui/assets/MobileApp-BpgSG_gz.js.gz +0 -0
- package/dist/ui/assets/SessionCanvas-B6_mtlxK.js +0 -13
- package/dist/ui/assets/SessionCanvas-B6_mtlxK.js.gz +0 -0
- package/dist/ui/assets/StreamdownDemoPage-okKKR2QH.js.gz +0 -0
- package/dist/ui/assets/TerminalModal-D9jMGZXv.js.gz +0 -0
- package/dist/ui/assets/ThemeSwitcher-D9HgT37l.js +0 -1
- package/dist/ui/assets/ThemeSwitcher-D9HgT37l.js.gz +0 -0
- package/dist/ui/assets/architecture-U656AL7Q-DMnxkQRZ.js +0 -1
- package/dist/ui/assets/architectureDiagram-VXUJARFQ-DwTJGGoj.js.gz +0 -0
- package/dist/ui/assets/blockDiagram-VD42YOAC-Dh1_TVW2.js.gz +0 -0
- package/dist/ui/assets/c4Diagram-YG6GDRKO-B1e96AcB.js.gz +0 -0
- package/dist/ui/assets/channel-Jv4dT4S5.js +0 -1
- package/dist/ui/assets/chunk-55IACEB6-lJXvUquf.js +0 -1
- package/dist/ui/assets/chunk-ABZYJK2D-DCTXWSzV.js.gz +0 -0
- package/dist/ui/assets/chunk-AGHRB4JF-CbNphBjE.js.gz +0 -0
- package/dist/ui/assets/chunk-ATLVNIR6-rWg3qxof.js.gz +0 -0
- package/dist/ui/assets/chunk-B4BG7PRW-CgtLCbpE.js.gz +0 -0
- package/dist/ui/assets/chunk-DI55MBZ5-Dwvx2Kva.js.gz +0 -0
- package/dist/ui/assets/chunk-EXTU4WIE-DHyaqTsP.js +0 -1
- package/dist/ui/assets/chunk-HN2XXSSU-2blQO3Gb.js.gz +0 -0
- package/dist/ui/assets/chunk-JA3XYJ7Z-Cr1rmOui.js.gz +0 -0
- package/dist/ui/assets/chunk-JZLCHNYA-BsgZ79Fa.js.gz +0 -0
- package/dist/ui/assets/chunk-MI3HLSF2-dwYeUy5S.js.gz +0 -0
- package/dist/ui/assets/chunk-N4CR4FBY-DEMgSRVe.js +0 -2
- package/dist/ui/assets/chunk-N4CR4FBY-DEMgSRVe.js.gz +0 -0
- package/dist/ui/assets/chunk-QXUST7PY-BCK2V0i-.js.gz +0 -0
- package/dist/ui/assets/chunk-QZHKN3VN-CALjGrEE.js +0 -1
- package/dist/ui/assets/chunk-S3R3BYOJ-GP3zIxrB.js.gz +0 -0
- package/dist/ui/assets/chunk-TZMSLE5B-dX5RaM6g.js.gz +0 -0
- package/dist/ui/assets/classDiagram-2ON5EDUG-C3_RVP70.js +0 -1
- package/dist/ui/assets/classDiagram-v2-WZHVMYZB-C3_RVP70.js +0 -1
- package/dist/ui/assets/constants-GjIDNVyt.js +0 -1
- package/dist/ui/assets/cose-bilkent-S5V4N54A-Dx0BJVDl.js.gz +0 -0
- package/dist/ui/assets/dagre-6UL2VRFP-DiQSUxqN.js.gz +0 -0
- package/dist/ui/assets/dagre-Bekd9Vdj.js.gz +0 -0
- package/dist/ui/assets/diagram-PSM6KHXK-DtJnDQjc.js.gz +0 -0
- package/dist/ui/assets/diagram-QEK2KX5R-CobkCRdj.js.gz +0 -0
- package/dist/ui/assets/diagram-S2PKOQOG-DHEZYivc.js.gz +0 -0
- package/dist/ui/assets/editor-DQIG-JYZ.js +0 -43
- package/dist/ui/assets/editor-DQIG-JYZ.js.gz +0 -0
- package/dist/ui/assets/emoji-B0hLmSLZ.js.gz +0 -0
- package/dist/ui/assets/erDiagram-Q2GNP2WA-BVNeTZPQ.js.gz +0 -0
- package/dist/ui/assets/flowDiagram-NV44I4VS-C73VFdyk.js.gz +0 -0
- package/dist/ui/assets/ganttDiagram-LVOFAZNH-B_RosuD1.js.gz +0 -0
- package/dist/ui/assets/gitGraphDiagram-NY62KEGX-hxbgwNA1.js.gz +0 -0
- package/dist/ui/assets/index-DTz1Dif6.js +0 -64
- package/dist/ui/assets/index-DTz1Dif6.js.gz +0 -0
- package/dist/ui/assets/journeyDiagram-XKPGCS4Q-CHYNj-f8.js.gz +0 -0
- package/dist/ui/assets/kanban-definition-3W4ZIXB7-DQPCCsj2.js.gz +0 -0
- package/dist/ui/assets/linear-DFao5Wyp.js.gz +0 -0
- package/dist/ui/assets/mermaid-parser.core-DYCfacHj.js.gz +0 -0
- package/dist/ui/assets/mermaid.core-C6xGFSdE.js.gz +0 -0
- package/dist/ui/assets/mindmap-definition-VGOIOE7T-L3Pw-YM7.js.gz +0 -0
- package/dist/ui/assets/particles-CT8hcJOA.js.gz +0 -0
- package/dist/ui/assets/pieDiagram-ADFJNKIX-Bf4Nou75.js.gz +0 -0
- package/dist/ui/assets/quadrantDiagram-AYHSOK5B-DpjUTLB1.js.gz +0 -0
- package/dist/ui/assets/reactflow-Cubtnk8i.js.gz +0 -0
- package/dist/ui/assets/requirementDiagram-UZGBJVZJ-Bfrfh-0-.js.gz +0 -0
- package/dist/ui/assets/sandpack-C58bwfIS.js.gz +0 -0
- package/dist/ui/assets/sandpackDefaults-Bkga8XAE.js +0 -1
- package/dist/ui/assets/sankeyDiagram-TZEHDZUN-ClZAZ6va.js.gz +0 -0
- package/dist/ui/assets/sequenceDiagram-WL72ISMW-CNgly63p.js.gz +0 -0
- package/dist/ui/assets/src-DAeyG22O.js.gz +0 -0
- package/dist/ui/assets/stateDiagram-FKZM4ZOC-BrEAoDpE.js.gz +0 -0
- package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-BNL52_oN.js +0 -1
- package/dist/ui/assets/streamdown-BdAVfkeF.js.gz +0 -0
- package/dist/ui/assets/syntax-BOfTnQiy.js.gz +0 -0
- package/dist/ui/assets/timeline-definition-IT6M3QCI-CaRH3k4l.js.gz +0 -0
- package/dist/ui/assets/useUserLocalStorage-C8sgXgXR.js.gz +0 -0
- package/dist/ui/assets/xychartDiagram-PRI3JC2R-BlhkI9T_.js.gz +0 -0
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime--c01j_DQ.js";import{$ as t,$n as n,$t as r,An as i,Bn as a,Ct as o,E as s,En as c,Ft as l,G as u,Gt as d,H as f,Hn as p,In as m,It as h,Jn as g,Kn as _,L as v,Ln as y,Lt as b,Q as x,Qn as S,Rn as C,Rt as w,St as T,T as E,Tn as D,Un as O,Vn as k,Wt as A,Yn as j,_n as M,at as N,b as P,bn as ee,bt as te,cn as ne,ct as re,er as ie,f as ae,fn as F,hn as oe,ir as se,kn as I,l as ce,ln as le,m as ue,mn as de,n as fe,pt as pe,rn as L,s as me,sn as R,t as he,tn as ge,u as _e,un as z,vt as ve,xt as B,yt as ye,zt as V}from"./antd-DT5ackd0.js";import{I as H,L as U,O as W,R as G,q as be}from"./src-DAeyG22O.js";import{N as xe}from"./editor-DQIG-JYZ.js";import{p as Se,t as Ce}from"./reactflow-Cubtnk8i.js";import{An as we,En as Te,Ft as Ee,K as De,Mn as Oe,Nn as ke,P as K,Pn as q,Tn as Ae,V as je,W as Me,Wt as Ne,ct as Pe,gt as Fe,jn as Ie,kn as Le,ot as Re,q as ze,rt as Be,tt as Ve,ut as He,xt as Ue,y as We,z as Ge}from"./index-DTz1Dif6.js";import{l as Ke}from"./AutocompleteTextarea-Dau-V_30.js";var J=e(se(),1);function qe(e,t){if(e.size!==t.size)return!1;for(let[n,r]of e.entries())if(r!==t.get(n))return!1;return!0}function Je(e){let t=(0,J.useRef)(new Map);return(0,J.useMemo)(()=>{let n=new Map,r=t.current,i=new Map;for(let[t,n]of e.entries())n.task_id&&(i.has(n.task_id)||i.set(n.task_id,new Map),i.get(n.task_id).set(t,n));for(let[e,t]of i.entries()){let i=r.get(e);n.set(e,i&&qe(i,t)?i:t)}return t.current=n,n},[e])}function Ye(e){if(e.startsWith(`mcp__`)){let t=e.slice(5),n=t.indexOf(`__`);return n===-1?null:{server:t.slice(0,n),tool:t.slice(n+2)}}let t=e.indexOf(`.`);return t>0&&t<e.length-1?{server:e.slice(0,t),tool:e.slice(t+1)}:null}function Xe(e,t){let n=Ye(e);if(!n)return e;if(t){if(n.tool.endsWith(`execute_tool`)&&typeof t.tool_name==`string`)return t.tool_name;if(n.tool.endsWith(`search_tools`))return typeof t.query==`string`?`search_tools: ${t.query}`:typeof t.domain==`string`?`search_tools: ${t.domain}`:`search_tools: browse`}return n.tool}function Ze(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.type===`text`&&typeof t.text==`string`}function Qe(e){if(typeof e==`string`)return e;if(Array.isArray(e)){let t=e.filter(Ze).map(e=>e.text).join(`
|
|
2
|
-
|
|
3
|
-
`);return t.trim().length>0?t:JSON.stringify(e,null,2)}return``}var Y={DEFAULT_LINES:10,COMPACT_LINES:3,DEFAULT_CHARS:500,PREVIEW_CHARS:150,BASH_COMMAND_PREVIEW_CHARS:70},$e={dark:`radial-gradient(ellipse at top, #1b2735 0%, #090a0f 100%), radial-gradient(circle at 20% 50%, rgba(120, 0, 255, 0.3) 0%, transparent 50%), radial-gradient(circle at 80% 80%, rgba(255, 0, 120, 0.3) 0%, transparent 50%)`,light:`radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.75) 0%, rgba(255, 255, 255, 0) 45%), radial-gradient(circle at 50% 50%, rgba(210, 216, 224, 0.35) 35%, rgba(210, 216, 224, 0) 80%), linear-gradient(90deg, #d9dde3 0%, #ffffff 45%, #ffffff 55%, #d9dde3 100%)`},X=xe(),et=({children:e,maxLines:t=Y.DEFAULT_LINES,preserveWhitespace:n=!1,className:r,style:i,code:a=!1})=>{let{token:o}=V.useToken(),[s,c]=(0,J.useState)(!1),l=e.split(`
|
|
4
|
-
`);if(!(l.length>t+5))return(0,X.jsx)(`div`,{className:r,style:{...i,whiteSpace:`pre-wrap`,wordWrap:`break-word`,margin:0,...a&&{fontFamily:`Monaco, Menlo, Ubuntu Mono, Consolas, source-code-pro, monospace`}},children:e});let u=s?e:l.slice(0,t).join(`
|
|
5
|
-
`),d=l.length;return(0,X.jsxs)(`div`,{className:r,children:[(0,X.jsx)(`div`,{style:{...i,whiteSpace:`pre-wrap`,wordWrap:`break-word`,margin:0,...a&&{fontFamily:`Monaco, Menlo, Ubuntu Mono, Consolas, source-code-pro, monospace`}},children:u}),(0,X.jsxs)(`div`,{style:{marginTop:8,display:`flex`,flexDirection:`column`,gap:4},children:[!s&&(0,X.jsxs)(`div`,{style:{fontStyle:`italic`,opacity:.6,fontSize:o.fontSizeSM,color:o.colorTextTertiary},children:[`... (`,d-t,` more lines)`]}),(0,X.jsx)(`button`,{type:`button`,onClick:()=>c(!s),style:{fontSize:o.fontSizeSM,cursor:`pointer`,alignSelf:`flex-start`,color:o.colorLink,background:`none`,border:`none`,padding:0},children:s?`show less`:`show more`})]})]})},tt=new Set([`Write`,`Edit`,`MultiEdit`,`NotebookEdit`,`edit_files`]);function nt(e){return tt.has(e)}var rt=({icon:e,name:t,description:n,descriptionNode:r,status:i,expandedByDefault:a=!1,children:o})=>{let[s,c]=(0,J.useState)(a),{token:u}=V.useToken(),d=!!o,f=i===`error`?u.colorWarning:i===`pending`?u.colorTextQuaternary:i===`stale`?u.colorWarning:u.colorTextSecondary;return(0,X.jsxs)(`div`,{style:{minWidth:0,maxWidth:`100%`},children:[(0,X.jsxs)(`div`,{onClick:d?()=>c(!s):void 0,style:{display:`flex`,alignItems:`center`,gap:6,cursor:d?`pointer`:`default`,userSelect:`none`,minHeight:24,maxWidth:`100%`,overflow:`hidden`},children:[(0,X.jsx)(`span`,{style:{flexShrink:0,fontSize:14,color:f,lineHeight:1},children:e}),d&&(0,X.jsx)(`span`,{style:{flexShrink:0,fontSize:9,color:u.colorTextQuaternary},children:s?(0,X.jsx)(p,{}):(0,X.jsx)(g,{})}),(0,X.jsxs)(`span`,{style:{display:`inline-flex`,alignItems:`baseline`,gap:4,minWidth:0,flex:1,overflow:`hidden`},children:[(0,X.jsx)(`strong`,{style:{flexShrink:0,fontSize:u.fontSizeSM},children:t}),r||n&&(0,X.jsx)(l.Text,{type:`secondary`,ellipsis:!0,style:{fontSize:u.fontSizeSM,fontWeight:`normal`},children:n})]})]}),s&&o&&(0,X.jsx)(`div`,{style:{marginTop:2,paddingLeft:u.sizeUnit*4,minWidth:0,maxWidth:`100%`},children:o})]})};function it(e,t){if(!e.command)return;let n=e.description?String(e.description):null,r=String(e.command),i=Y.BASH_COMMAND_PREVIEW_CHARS,a=r.length>i?`${r.slice(0,i)}…`:r;return(0,X.jsxs)(`span`,{style:{display:`inline-flex`,alignItems:`baseline`,gap:4,minWidth:0,overflow:`hidden`},children:[n&&(0,X.jsx)(l.Text,{type:`secondary`,ellipsis:!0,style:{fontSize:t.fontSizeSM,fontWeight:`normal`,flexShrink:1,minWidth:0},children:n}),(0,X.jsx)(l.Text,{code:!0,ellipsis:!0,style:{fontSize:t.fontSizeSM-1},children:a})]})}var at=new Set([`TodoWrite`]);function ot({hasResult:e,isError:t,isPotentiallyRunning:n,isTaskRunning:r}){return e?t?`error`:`success`:n&&r?`pending`:`stale`}function st(e){switch(e){case`error`:return(0,X.jsx)(ye,{style:{fontSize:14}});case`success`:return(0,X.jsx)(B,{style:{fontSize:14}});case`pending`:return(0,X.jsx)(ge,{size:`small`});case`stale`:return(0,X.jsx)(C,{title:`Agent moved on — result not captured`,children:(0,X.jsx)(oe,{style:{fontSize:14}})})}}function ct(e){return/\u001b\[[\d;]*m/.test(e)}var lt=[`Bash`,`bash`,`sh`,`npm`,`pnpm`,`yarn`,`git`,`docker`,`pytest`,`jest`,`cargo`,`go`];function ut(e,t){let n=lt.includes(e),r=ct(t);return n||r}var dt=({children:e,maxLines:t=Y.DEFAULT_LINES,className:n,style:r})=>{let{token:i}=V.useToken(),[a,o]=(0,J.useState)(!1),s=e.split(`
|
|
6
|
-
`),c=s.length>t+5,l={...r,whiteSpace:`pre-wrap`,wordWrap:`break-word`,fontFamily:`Monaco, Menlo, Ubuntu Mono, Consolas, source-code-pro, monospace`,margin:0};if(!c)return(0,X.jsx)(`div`,{className:n,style:l,children:(0,X.jsx)(je,{children:e})});let u=a?e:s.slice(0,t).join(`
|
|
7
|
-
`),d=s.length;return(0,X.jsxs)(`div`,{className:n,children:[(0,X.jsx)(`div`,{style:l,children:(0,X.jsx)(je,{children:u})}),(0,X.jsxs)(`div`,{style:{marginTop:8,display:`flex`,flexDirection:`column`,gap:4},children:[!a&&(0,X.jsxs)(`div`,{style:{fontStyle:`italic`,opacity:.6,fontSize:i.fontSizeSM,color:i.colorTextTertiary},children:[`... (`,d-t,` more lines)`]}),(0,X.jsx)(`button`,{type:`button`,onClick:()=>o(!a),style:{fontSize:i.fontSizeSM,cursor:`pointer`,alignSelf:`flex-start`,color:i.colorLink,background:`none`,border:`none`,padding:0},children:a?`show less`:`show more`})]})]})},ft=({input:e,result:t})=>{let{token:n}=V.useToken(),r=e.command==null?void 0:String(e.command),i=t?.is_error,a=t?typeof t.content==`string`?t.content:Array.isArray(t.content)?t.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
|
|
8
|
-
|
|
9
|
-
`):``:``,o=a.trim().length>0,s=ut(`Bash`,a);return(0,X.jsxs)(`div`,{children:[r&&(0,X.jsx)(`div`,{style:{maxWidth:`100%`,minWidth:0,marginBottom:t?n.sizeUnit:0},children:(0,X.jsx)(Ge,{language:`bash`,PreTag:`pre`,customStyle:{fontSize:n.fontSizeSM,padding:n.sizeUnit,margin:0,whiteSpace:`pre-wrap`,wordBreak:`break-all`,overflowWrap:`anywhere`,overflow:`visible`},codeTagProps:{style:{whiteSpace:`pre-wrap`,wordBreak:`break-all`,overflowWrap:`anywhere`}},children:r})}),t&&(0,X.jsx)(`div`,{style:{background:n.colorBgLayout,borderRadius:n.borderRadius,padding:n.sizeUnit,overflow:`auto`},children:s?(0,X.jsx)(dt,{style:{fontSize:n.fontSizeSM,margin:0,...!o&&{fontStyle:`italic`,color:n.colorTextTertiary},...i&&{color:n.colorError}},children:o?a:`(no output)`}):(0,X.jsx)(et,{code:!0,preserveWhitespace:!0,style:{fontSize:n.fontSizeSM,margin:0,...!o&&{fontStyle:`italic`,color:n.colorTextTertiary},...i&&{color:n.colorError}},children:o?a:`(no output)`})}),t&&(0,X.jsxs)(`details`,{style:{marginTop:n.sizeUnit},children:[(0,X.jsx)(`summary`,{style:{cursor:`pointer`,fontSize:n.fontSizeSM,color:n.colorTextSecondary},children:`Show input parameters`}),(0,X.jsx)(`pre`,{style:{marginTop:n.sizeUnit/2,background:n.colorBgLayout,padding:n.sizeUnit,borderRadius:n.borderRadius,fontFamily:`Monaco, Menlo, Ubuntu Mono, Consolas, source-code-pro, monospace`,fontSize:n.fontSizeSM,overflowX:`auto`},children:JSON.stringify(e,null,2)})]})]})},pt=e=>{switch(e){case`add`:return`create`;case`delete`:return`delete`;default:return`edit`}},mt=e=>{switch(e){case`add`:return`Create`;case`delete`:return`Delete`;default:return`Update`}},ht=e=>e.replace(/\\/g,`/`),gt=(e,t)=>{let n=ht(e),r=ht(t);return n===r||n.endsWith(`/${r}`)||r.endsWith(`/${n}`)},_t=({input:e,result:t})=>{let{token:n}=V.useToken(),r=e.changes;if(!r||r.length===0)return null;let i=t?.diff?.files;return(0,X.jsx)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:4},children:r.map(e=>{let r=i?.find(t=>gt(t.path,e.path));return r?(0,X.jsx)(Ke,{filePath:r.path||e.path,operationType:pt(r.kind||e.kind),structuredPatch:r.structuredPatch,isError:t?.is_error,errorMessage:wt(t),forceExpanded:!0},e.path):(0,X.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:6,minWidth:0,padding:`${n.sizeUnit*.75}px ${n.sizeUnit}px`,borderRadius:n.borderRadius,background:n.colorBgLayout,border:`1px solid ${n.colorBorderSecondary}`,fontSize:n.fontSizeSM},children:[(0,X.jsx)(C,{title:mt(e.kind),children:(0,X.jsx)(l.Text,{strong:!0,style:{fontSize:n.fontSizeSM,maxWidth:96,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,flexShrink:0},children:mt(e.kind)})}),(0,X.jsx)(C,{title:e.path,children:(0,X.jsx)(l.Text,{code:!0,style:{fontSize:n.fontSizeSM-1,minWidth:0,flex:`1 1 auto`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e.path})})]},e.path)})})},vt=({input:e,result:t})=>{let n=e.file_path,r=e.old_string,i=e.new_string;return n?(0,X.jsx)(Ke,{filePath:n,operationType:`edit`,oldContent:r,newContent:i,structuredPatch:t?.diff?.structuredPatch,isError:t?.is_error,errorMessage:wt(t),forceExpanded:!0}):null};function yt(e){if(Array.isArray(e))return e;if(typeof e==`string`)try{let t=JSON.parse(e);if(Array.isArray(t))return t}catch{}return[]}var bt=({color:e})=>(0,X.jsx)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 14 14`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,role:`img`,"aria-label":`Pending task`,children:(0,X.jsx)(`circle`,{cx:`7`,cy:`7`,r:`5.5`,stroke:e,strokeWidth:`1.5`})}),xt=({todo:e,index:t})=>{let{token:n}=V.useToken();return(0,X.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:n.sizeUnit,padding:`${n.sizeUnit/2}px 0`},children:[(0,X.jsx)(`div`,{style:{display:`flex`,alignItems:`center`,flexShrink:0,width:14,height:14},children:(()=>{switch(e.status){case`completed`:return(0,X.jsx)(ie,{style:{color:n.colorSuccess,fontSize:14}});case`in_progress`:return(0,X.jsx)(ge,{size:`small`,style:{color:n.colorPrimary,fontSize:14}});case`stopped`:return(0,X.jsx)(ue,{"aria-label":`Stopped task`,style:{color:n.colorTextTertiary,fontSize:14}});case`unknown`:return(0,X.jsx)(ne,{"aria-label":`Unknown task state`,style:{color:n.colorTextTertiary,fontSize:14}});default:return(0,X.jsx)(bt,{color:n.colorTextSecondary})}})()}),(0,X.jsx)(`p`,{style:(()=>{let t={fontSize:13,lineHeight:`18px`,margin:0};switch(e.status){case`completed`:return{...t,color:n.colorTextSecondary,textDecoration:`line-through`};case`in_progress`:return{...t,color:n.colorText,fontWeight:500};case`stopped`:case`unknown`:return{...t,color:n.colorTextTertiary,fontStyle:`italic`};default:return{...t,color:n.colorTextSecondary}}})(),children:e.content})]})},St=({toolUseId:e,input:t})=>{let{token:n}=V.useToken(),r=yt(t?.todos);if(r.length===0)return null;let i=r.filter(e=>e.status===`completed`).length,a=r.filter(e=>e.status===`in_progress`).length,o=r.length;return(0,X.jsxs)(`div`,{style:{padding:n.sizeUnit*1.5,borderRadius:n.borderRadius,background:n.colorBgContainer,border:`1px solid ${n.colorBorder}`},children:[(0,X.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,marginBottom:n.sizeUnit,paddingBottom:n.sizeUnit,borderBottom:`1px solid ${n.colorBorderSecondary}`},children:[(0,X.jsx)(`span`,{style:{fontSize:12,fontWeight:600,color:n.colorTextSecondary,textTransform:`uppercase`,letterSpacing:`0.5px`},children:`Task List`}),(0,X.jsxs)(`span`,{style:{fontSize:11,color:n.colorTextTertiary},children:[i,`/`,o,` completed`,a>0&&` • ${a} in progress`]})]}),(0,X.jsx)(`div`,{children:r.map((t,n)=>(0,X.jsx)(xt,{todo:t,index:n},`${e}-${t.content.substring(0,50)}`))})]})},Ct=({input:e,result:t})=>{let n=e.file_path,r=e.content;return n?(0,X.jsx)(Ke,{filePath:n,operationType:`create`,newContent:r,structuredPatch:t?.diff?.structuredPatch,isError:t?.is_error,errorMessage:wt(t),forceExpanded:!0}):null};function wt(e){if(e?.is_error){if(typeof e.content==`string`)return e.content;if(Array.isArray(e.content))return e.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
|
|
10
|
-
`)}}var Tt=new Map([[`TodoWrite`,St],[`Bash`,ft],[`Edit`,vt],[`Write`,Ct],[`edit_files`,_t]]);function Et(e){let t=Tt.get(e);if(t)return t;let n=e.toLowerCase();for(let[e,t]of Tt)if(e.toLowerCase()===n)return t}var Dt=({toolUse:e,toolResult:t})=>{let{token:n}=V.useToken(),{input:r,name:i}=e,a=t?.is_error,o=Et(i),s=(0,X.jsxs)(`details`,{style:{marginTop:n.sizeUnit},children:[(0,X.jsx)(`summary`,{style:{cursor:`pointer`,fontSize:11,color:n.colorTextTertiary,userSelect:`none`},children:`Input parameters`}),(0,X.jsx)(Ge,{language:`json`,PreTag:`pre`,customStyle:{marginTop:n.sizeUnit/2,fontSize:11,maxHeight:300,overflow:`auto`},children:JSON.stringify(r,null,2)})]});if(o)return(0,X.jsxs)(`div`,{children:[(0,X.jsx)(o,{toolUseId:e.id,input:r,result:t?{content:t.content,is_error:t.is_error,diff:t.diff}:void 0}),s]});let c=t?Qe(t.content):``,l=c.trim().length>0,u=ut(i,c);return t?(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`div`,{style:{padding:n.sizeUnit,borderRadius:n.borderRadius,...a&&{background:`rgba(255, 77, 79, 0.05)`,border:`1px solid ${n.colorErrorBorder}`}},children:u?(0,X.jsx)(dt,{style:{fontSize:n.fontSizeSM,margin:0,color:n.colorTextSecondary,...!l&&{fontStyle:`italic`}},children:l?c:`(no output)`}):(0,X.jsx)(et,{code:!0,preserveWhitespace:!0,style:{fontSize:n.fontSizeSM,margin:0,color:n.colorTextSecondary,...!l&&{fontStyle:`italic`}},children:l?c:`(no output)`})}),s]}):(0,X.jsx)(`div`,{children:s})};function Ot(e){let t={style:{fontSize:12}};switch(e){case`Read`:return(0,X.jsx)(d,{...t});case`Write`:return(0,X.jsx)(re,{...t});case`Edit`:return(0,X.jsx)(b,{...t});case`Bash`:return(0,X.jsx)(ve,{...t});case`Grep`:return(0,X.jsx)(k,{...t});case`Glob`:return(0,X.jsx)(A,{...t});case`Task`:return(0,X.jsx)(o,{...t});case`TodoWrite`:return(0,X.jsx)(te,{...t});case`WebFetch`:return(0,X.jsx)(x,{...t});case`WebSearch`:return(0,X.jsx)(k,{...t});case`NotebookEdit`:return(0,X.jsx)(le,{...t});case`Skill`:case`SlashCommand`:return(0,X.jsx)(_e,{...t});case`edit_files`:return(0,X.jsx)(b,{...t});case`ListMcpResourcesTool`:case`ReadMcpResourceTool`:return(0,X.jsx)(N,{...t});default:return(0,X.jsx)(ce,{...t})}}var kt=J.memo(({messages:e,isTaskRunning:t=!1,isLatest:n})=>{let{token:r}=V.useToken(),[i,a]=(0,J.useState)(!0),o=(0,J.useMemo)(()=>{if(!e||e.length===0)return[];let t=[],n=new Map;for(let t of e)if(Array.isArray(t.content)){for(let e of t.content)if(e.type===`tool_result`){let t=e;n.set(t.tool_use_id,t)}}for(let r of e){if(typeof r.content==`string`){r.content.trim()&&t.push({type:`thought`,content:r.content,message:r});continue}if(!Array.isArray(r.content))continue;if(r.role===`user`){let e=r.content.filter(e=>e.type===`tool_result`);if(e.length>0){for(let n of e){let e=Qe(n.content);e.trim()&&t.push({type:`thought`,content:e,message:r})}continue}}let e=new Map,i=[],a=[],o=!1;for(let t of r.content)if(t.type===`text`){let e=t.text.trim();e&&(o?a.push(e):i.push(e))}else if(t.type===`tool_use`){let n=t;e.set(n.id,n),o=!0}for(let e of i)t.push({type:`thought`,content:e,message:r});for(let[i,a]of e.entries())t.push({type:`tool`,content:{toolUse:a,toolResult:n.get(i)},message:r});for(let e of a)t.push({type:`thought`,content:e,message:r})}return t},[e]),s=(0,J.useMemo)(()=>{let e=0,t=0,n=0,r=0,i=new Map,a=new Set;for(let s of o)if(s.type===`thought`)e++;else{t++;let{toolUse:e,toolResult:o}=s.content,c=Xe(e.name,e.input);i.set(c,(i.get(c)||0)+1),[`Edit`,`Read`,`Write`].includes(e.name)&&e.input.file_path&&a.add(e.input.file_path),o&&(o.is_error?r++:n++)}return{thoughtCount:e,toolCount:t,successCount:n,errorCount:r,toolNames:i,filesAffected:Array.from(a).sort()}},[o]),c=e=>{let{name:t,input:n}=e;if(typeof n.description==`string`)return n.description;switch(t){case`Read`:case`Write`:case`Edit`:case`NotebookEdit`:return n.file_path?String(n.file_path).replace(/^\/Users\/[^/]+\/code\/[^/]+\//,``).replace(/^\/Users\/[^/]+\//,`~/`):null;case`Grep`:return n.pattern?`Search: ${n.pattern}`:null;case`Glob`:return n.pattern?`Find files: ${n.pattern}`:null;case`ToolSearch`:return n.query?String(n.query):null;case`WebSearch`:return n.query?String(n.query):null;case`WebFetch`:return n.url?String(n.url):null;case`Agent`:return n.description?String(n.description):null;case`Skill`:case`SlashCommand`:return n.skill?String(n.skill):n.name?String(n.name):null;case`Task`:if(n.prompt){let e=String(n.prompt).trim().split(`
|
|
11
|
-
`)[0];return e.length>100?`${e.slice(0,100)}…`:e}return null;case`TodoWrite`:{let e=Array.isArray(n.todos)?n.todos:[];if(e.length===0)return null;let t=e.filter(e=>e.status===`completed`).length,r=e.filter(e=>e.status===`in_progress`).length,i=[`${t}/${e.length} done`];return r>0&&i.push(`${r} in progress`),i.join(`, `)}case`edit_files`:{let e=Array.isArray(n.changes)?n.changes:[];if(e.length===0)return null;if(e.length===1){let t=e[0],n=t.path?String(t.path).replace(/^\/Users\/[^/]+\/code\/[^/]+\//,``).replace(/^\/Users\/[^/]+\//,`~/`):``;return`${t.kind||`update`} ${n}`}return`${e.length} files`}default:return null}},u=e=>Xe(e.name,e.input),d=(0,J.useMemo)(()=>{for(let e=o.length-1;e>=0;e--)if(o[e].type===`tool`){let{toolResult:t}=o[e].content;if(t)return e}return-1},[o]),f=(e,i)=>{if(e.type===`thought`){let t=e.content,n=t.replace(/\s+/g,` `).trim();return(0,X.jsx)(rt,{icon:(0,X.jsx)(T,{style:{fontSize:14}}),name:`Thinking`,description:n||void 0,status:`success`,children:t.trim()&&(0,X.jsx)(et,{maxLines:8,preserveWhitespace:!0,style:{fontSize:r.fontSizeSM,margin:0,color:r.colorTextTertiary},children:t})},`thought-${i}`)}let{toolUse:a,toolResult:o}=e.content,s=o?.is_error,f=u(a),p=at.has(a.name),m=ot({hasResult:!!o||p,isError:!!s,isPotentiallyRunning:i>d&&n!==!1,isTaskRunning:t}),h=st(m),g=c(a),_;if(a.name===`Bash`){let e=it(a.input,r);e&&(_=e,g=null)}else (a.name===`Grep`||a.name===`Glob`)&&a.input.pattern&&(_=(0,X.jsx)(l.Text,{code:!0,style:{fontSize:r.fontSizeSM-1},children:String(a.input.pattern)}),g=null);return(0,X.jsx)(rt,{icon:h,name:f,description:g??void 0,descriptionNode:_,status:m,expandedByDefault:nt(a.name),children:(0,X.jsx)(Dt,{toolUse:a,toolResult:o})},a.id)},m=(0,X.jsxs)(F,{size:r.sizeUnit,wrap:!0,style:{marginTop:r.sizeUnit/2},children:[s.toolNames.size>0&&Array.from(s.toolNames.entries()).map(([e,t])=>(0,X.jsxs)(q,{icon:Ot(e),style:{fontSize:11,margin:0},children:[e,` × `,t]},e)),s.successCount>0&&(0,X.jsxs)(q,{icon:(0,X.jsx)(B,{}),color:`success`,style:{fontSize:11,margin:0},children:[s.successCount,` success`]}),s.errorCount>0&&(0,X.jsxs)(q,{icon:(0,X.jsx)(ye,{}),color:`error`,style:{fontSize:11,margin:0},children:[s.errorCount,` error`]}),s.filesAffected.length>0&&(0,X.jsx)(y,{content:(0,X.jsx)(`div`,{style:{maxWidth:450},children:(0,X.jsx)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:4},children:s.filesAffected.map(e=>(0,X.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,gap:8,padding:`4px 0`,fontSize:r.fontSizeSM,color:r.colorTextSecondary,fontFamily:`monospace`,wordBreak:`break-all`},children:[(0,X.jsx)(`span`,{style:{flex:1},children:e}),(0,X.jsx)(h,{style:{fontSize:10,color:r.colorTextTertiary,cursor:`pointer`,opacity:.5,transition:`opacity 0.2s`,flexShrink:0},onClick:()=>Le(e),title:`Copy to clipboard`})]},e))})}),title:`${s.filesAffected.length} ${s.filesAffected.length===1?`file`:`files`} affected`,trigger:`hover`,children:(0,X.jsxs)(l.Text,{type:`secondary`,style:{fontSize:11,cursor:`pointer`},children:[(0,X.jsx)(le,{}),` `,s.filesAffected.length,` `,s.filesAffected.length===1?`file`:`files`,` affected`]})})]});s.thoughtCount+s.toolCount;let _=s.errorCount>0;return o.length===0?null:(0,X.jsxs)(`div`,{style:{margin:`${r.sizeUnit*1.5}px 0`},children:[(0,X.jsx)(`div`,{onClick:()=>a(!i),style:{padding:r.sizeUnit*1.5,borderRadius:r.borderRadius,background:r.colorBgContainer,border:`1px solid ${r.colorBorder}`,cursor:`pointer`,transition:`all 0.2s`},onMouseEnter:e=>{e.currentTarget.style.borderColor=r.colorPrimaryBorder},onMouseLeave:e=>{e.currentTarget.style.borderColor=r.colorBorder},children:(0,X.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:r.sizeUnit,flexWrap:`wrap`},children:[i?(0,X.jsx)(p,{style:{fontSize:12,color:r.colorTextSecondary}}):(0,X.jsx)(g,{style:{fontSize:12,color:r.colorTextSecondary}}),_?(0,X.jsx)(ye,{style:{color:r.colorError,fontSize:16}}):(0,X.jsx)(B,{style:{color:r.colorTextSecondary,fontSize:16}}),(0,X.jsxs)(l.Text,{strong:!0,children:[(0,X.jsx)(T,{}),` `,s.thoughtCount>0&&`${s.thoughtCount} thoughts`,s.thoughtCount>0&&s.toolCount>0&&`, `,s.toolCount>0&&`${s.toolCount} tools`]}),!i&&m]})}),i&&(0,X.jsx)(`div`,{style:{paddingLeft:r.sizeUnit*8,marginTop:r.sizeUnit,display:`flex`,flexDirection:`column`,gap:2},children:o.map(f)})]})});kt.displayName=`AgentChain`;var At=40,Z=({style:e,fontSize:t,children:n,...r})=>{let{token:i}=V.useToken();return(0,X.jsx)(m,{...r,size:At,style:{backgroundColor:i.colorPrimaryBg,color:i.colorText,fontSize:t??`24px`,...e},children:n})},jt=({content:e,raw:t,avatar:n,variant:r=`outlined`,agenticTool:a})=>{let{token:o}=V.useToken(),[c,l]=(0,J.useState)(!1),u=(0,J.useId)(),d=n??(a?(0,X.jsx)(ke,{tool:a,size:32}):(0,X.jsx)(Z,{icon:(0,X.jsx)(s,{}),style:{backgroundColor:o.colorBgContainer}}));return(0,X.jsx)(`div`,{style:{margin:`${o.sizeUnit}px 0`},children:(0,X.jsx)(he,{placement:`start`,avatar:d,content:(0,X.jsxs)(`div`,{children:[e,t!=null&&(0,X.jsxs)(`div`,{style:{marginTop:o.sizeUnit},children:[(0,X.jsxs)(i,{type:`text`,size:`small`,onClick:()=>l(!c),"aria-expanded":c,"aria-controls":u,style:{fontSize:11,color:o.colorTextQuaternary,padding:`0 4px`,height:`auto`,lineHeight:`inherit`},children:[c?`▼`:`▶`,` Details`]}),c&&(0,X.jsx)(`pre`,{id:u,style:{fontSize:11,color:o.colorTextQuaternary,fontFamily:`monospace`,margin:`${o.sizeUnit/2}px 0 0 0`,padding:o.sizeUnit,background:o.colorFillQuaternary,borderRadius:o.borderRadiusSM,overflow:`auto`,maxHeight:300,whiteSpace:`pre-wrap`,wordBreak:`break-all`},children:JSON.stringify(t,null,2)})]})]}),variant:r})})},{Text:Mt}=l,Nt=({messages:e,agentic_tool:t})=>{let{token:n}=V.useToken(),r=e.find(e=>Array.isArray(e.content)?e.content.some(e=>e.type===`system_status`&&`status`in e&&e.status===`compacting`):!1),i=e.find(e=>Array.isArray(e.content)?e.content.some(e=>e.type===`system_complete`&&`systemType`in e&&e.systemType===`compaction`):!1);if(i&&Array.isArray(i.content)){let e=i.content.find(e=>e.type===`system_complete`&&`systemType`in e&&e.systemType===`compaction`);if(e){let a=`trigger`in e?e.trigger:void 0,o=`pre_tokens`in e?e.pre_tokens:void 0,s=r&&i?new Date(i.timestamp).getTime()-new Date(r.timestamp).getTime():null;return(0,X.jsx)(jt,{content:(0,X.jsxs)(F,{orientation:`vertical`,size:`small`,style:{width:`100%`},children:[(0,X.jsxs)(F,{children:[(0,X.jsx)(ie,{style:{color:n.colorSuccess,fontSize:14}}),(0,X.jsx)(Mt,{type:`secondary`,children:`Context compacted successfully`})]}),(a||o||s)&&(0,X.jsxs)(`div`,{style:{fontSize:12,color:n.colorTextTertiary,paddingLeft:22},children:[a&&(0,X.jsxs)(`div`,{children:[`Trigger: `,a]}),o&&(0,X.jsxs)(`div`,{children:[`Pre-compaction tokens: `,o.toLocaleString()]}),s&&(0,X.jsxs)(`div`,{children:[`Duration: `,(s/1e3).toFixed(2),`s`]})]})]}),raw:e,agenticTool:t})}}return(0,X.jsx)(jt,{content:(0,X.jsxs)(F,{children:[(0,X.jsx)(ge,{size:`small`}),(0,X.jsx)(Mt,{type:`secondary`,children:`Compacting conversation context...`})]}),agenticTool:t})},Pt=({textContent:e,children:t,copyButtonOffset:n={},copyTooltip:r=`Copy to clipboard`,copiedTooltip:i=`Copied!`})=>{let[a,o]=(0,J.useState)(!1),[s,c]=we(),{token:l}=V.useToken(),u=t=>{t.stopPropagation(),c(e)},{top:d=-(l.sizeUnit*2),right:f=-(l.sizeUnit*2)}=n;return(0,X.jsxs)(`div`,{style:{position:`relative`},onMouseEnter:()=>o(!0),onMouseLeave:()=>o(!1),children:[t,a&&(0,X.jsx)(C,{title:s?i:r,children:(0,X.jsx)(h,{onClick:u,style:{position:`absolute`,top:d,right:f,cursor:`pointer`,fontSize:l.fontSizeSM,color:s?l.colorSuccess:l.colorTextSecondary,padding:l.sizeXXS,transition:`all 0.2s`,zIndex:1},onMouseEnter:e=>{s||(e.currentTarget.style.color=l.colorPrimary)},onMouseLeave:e=>{s||(e.currentTarget.style.color=l.colorTextSecondary)}})})]})},Ft=({children:e,maxLines:t=Y.DEFAULT_LINES,className:n,style:r,defaultExpanded:i=!1,isStreaming:a=!1})=>{let{token:o}=V.useToken(),[s,c]=(0,J.useState)(i),l=e.split(`
|
|
12
|
-
`);if(!(l.length>t+5))return(0,X.jsx)(`div`,{className:n,style:r,children:(0,X.jsx)(K,{content:e,isStreaming:a})});let u=s?e:It(e,t),d=l.length;return(0,X.jsxs)(`div`,{className:n,style:r,children:[(0,X.jsx)(K,{content:u,isStreaming:a}),(0,X.jsxs)(`div`,{style:{marginTop:8,display:`flex`,flexDirection:`column`,gap:4},children:[!s&&(0,X.jsxs)(`div`,{style:{fontStyle:`italic`,opacity:.6,fontSize:o.fontSizeSM,color:o.colorTextTertiary},children:[`... (`,d-t,` more lines)`]}),(0,X.jsx)(`button`,{type:`button`,onClick:()=>c(!s),style:{fontSize:o.fontSizeSM,cursor:`pointer`,alignSelf:`flex-start`,color:o.colorLink,background:`none`,border:`none`,padding:0},children:s?`show less`:`show more`})]})]})};function It(e,t){let n=e.split(`
|
|
13
|
-
`),r=!1,i=t;for(let e=0;e<n.length;e++)if(n[e].trim().startsWith("```")&&(r=!r),e>=t&&r)i=e+1;else if(e>=t&&!r){i=e;break}return n.slice(0,i).join(`
|
|
14
|
-
`)}var{Title:Lt,Paragraph:Rt}=l;function zt(e){return e===`claude-code`||!e}var Bt=({message:e,content:t,isActive:r,isWaiting:o=!1,agenticTool:s,onApprove:u,onDeny:d})=>{let{token:p}=V.useToken(),[m,h]=(0,J.useState)(!1),[g,_]=(0,J.useState)(U.PROJECT),{tool_name:v,tool_input:y,status:b,approved_at:x}=t,S=b===G.APPROVED,C=b===G.DENIED,w=b===G.TIMED_OUT,T=()=>o?{background:`rgba(0, 0, 0, 0.02)`,border:`1px solid ${p.colorBorder}`,opacity:.7}:w?{background:`rgba(250, 173, 20, 0.06)`,border:`1px solid ${p.colorWarningBorder}`}:r?{background:`rgba(255, 193, 7, 0.05)`,border:`1px solid ${p.colorWarningBorder}`}:S?{background:`rgba(82, 196, 26, 0.03)`,border:`1px solid ${p.colorSuccessBorder}`}:C?{background:`rgba(255, 77, 79, 0.03)`,border:`1px solid ${p.colorErrorBorder}`}:{},E=()=>w?(0,X.jsx)(oe,{style:{fontSize:20,color:p.colorWarning}}):r?(0,X.jsx)(f,{style:{fontSize:20,color:p.colorWarning}}):S?(0,X.jsx)(O,{style:{fontSize:20,color:p.colorSuccess}}):C?(0,X.jsx)(n,{style:{fontSize:20,color:p.colorError}}):null,D=()=>w?`Permission Timed Out`:o?`Waiting for Previous Permission`:r?`Permission Required`:S?`Permission Approved`:C?`Permission Denied`:`Permission Request`,k=()=>w?`Prompt the agent to retry`:r?`The agent needs your approval to continue`:S&&x?`Approved ${new Date(x).toLocaleString()}`:C&&x?`Denied ${new Date(x).toLocaleString()}`:``;return(0,X.jsx)(c,{style:{marginTop:p.sizeUnit*2,...T()},styles:{body:{padding:p.sizeUnit*2}},children:(0,X.jsxs)(F,{orientation:`vertical`,size:p.sizeUnit*1.5,style:{width:`100%`},children:[(0,X.jsxs)(F,{size:p.sizeUnit,children:[E(),(0,X.jsxs)(`div`,{children:[(0,X.jsx)(Lt,{level:5,style:{margin:0},children:D()}),k()&&(0,X.jsx)(l.Text,{type:`secondary`,style:{fontSize:12},children:k()})]})]}),(0,X.jsx)(`div`,{children:(0,X.jsxs)(F,{size:p.sizeUnit/2,children:[(0,X.jsx)(l.Text,{strong:!0,children:`Tool:`}),(0,X.jsx)(q,{color:`blue`,children:Xe(v,y)})]})}),r&&Object.keys(y).length>0&&(0,X.jsxs)(`div`,{children:[(0,X.jsx)(l.Text,{strong:!0,style:{fontSize:13},children:`Parameters:`}),(0,X.jsx)(de,{size:`small`,column:1,bordered:!0,style:{marginTop:p.sizeUnit},items:Object.entries(y).map(([e,t])=>({key:e,label:(0,X.jsx)(l.Text,{code:!0,style:{fontSize:11},children:e}),children:(0,X.jsx)(Rt,{code:!0,style:{fontSize:12,margin:0,padding:p.sizeUnit,backgroundColor:p.colorBgContainer,borderRadius:p.borderRadius,whiteSpace:`pre-wrap`,wordBreak:`break-word`},children:typeof t==`string`?t:JSON.stringify(t,null,2)})}))})]}),r&&e.timestamp&&(0,X.jsxs)(l.Text,{type:`secondary`,style:{fontSize:11},children:[`Requested at `,new Date(e.timestamp).toLocaleString()]}),r&&u&&d&&(0,X.jsxs)(F,{orientation:`vertical`,size:p.sizeUnit,style:{width:`100%`},children:[zt(s)&&(0,X.jsx)(I.Group,{value:m,onChange:e=>h(e.target.value),style:{width:`100%`},children:(0,X.jsxs)(F,{orientation:`vertical`,size:p.sizeUnit/2,style:{width:`100%`},children:[(0,X.jsx)(I,{value:!1,children:`Allow once`}),(0,X.jsxs)(F,{size:p.sizeUnit/2,style:{width:`100%`,alignItems:`center`},children:[(0,X.jsx)(I,{value:!0,children:`Remember for this`}),(0,X.jsx)(a,{value:g,onChange:_,disabled:!m,style:{width:200},size:`small`,options:[{value:U.PROJECT,label:`Project (.claude/)`},{value:U.USER,label:`User (~/.claude/)`},{value:U.LOCAL,label:`Local (gitignored)`}]})]})]})}),(0,X.jsxs)(F,{size:p.sizeUnit,children:[(0,X.jsx)(i,{type:`primary`,icon:(0,X.jsx)(O,{}),onClick:()=>u?.(e.message_id,m?g:U.ONCE),style:{backgroundColor:p.colorSuccess},children:`Approve`}),(0,X.jsx)(i,{danger:!0,icon:(0,X.jsx)(n,{}),onClick:()=>d?.(e.message_id),children:`Deny`})]})]})]})})},{Text:Vt}=l,Ht=({content:e,isStreaming:t=!1,defaultExpanded:n=!1})=>{let{token:r}=V.useToken();if(!e&&!t)return null;let i=(0,X.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:r.sizeUnit},children:[(0,X.jsx)(T,{style:{color:r.colorTextSecondary,fontSize:14}}),(0,X.jsxs)(Vt,{type:`secondary`,style:{fontSize:r.fontSizeSM},children:[`Extended Thinking`,t&&` (streaming...)`]})]});return(0,X.jsx)(_,{defaultActiveKey:n?[`thinking`]:[],expandIcon:({isActive:e})=>e?(0,X.jsx)(p,{}):(0,X.jsx)(g,{}),style:{background:`rgba(250, 173, 20, 0.05)`,border:`1px solid ${r.colorWarningBorder}`,borderRadius:r.borderRadius,marginBottom:r.sizeUnit*1.5},items:[{key:`thinking`,label:i,style:{border:`none`},styles:{header:{padding:`${r.sizeUnit*.75}px ${r.sizeUnit*1.5}px`,background:`transparent`,border:`none`},body:{padding:`${r.sizeUnit*.5}px ${r.sizeUnit*1.5}px`,background:`transparent`,fontSize:r.fontSizeSM}},children:e?(0,X.jsx)(et,{maxLines:Y.DEFAULT_LINES,preserveWhitespace:!0,style:{fontSize:r.fontSizeSM,margin:0,color:r.colorTextSecondary},children:e}):(0,X.jsx)(Vt,{type:`secondary`,children:`Thinking...`})}]})},{Text:Ut}=l,Wt=new Map;function Gt(e,t){Wt.set(e,t)}var Kt=({message:e,client:t})=>{let{token:n}=V.useToken(),r=e.metadata?.widget;if(!r)return null;let i=Wt.get(r.widget_type);return i?(0,X.jsx)(i,{message:e,widget:r,client:t}):(0,X.jsx)(c,{size:`small`,style:{margin:`${n.sizeUnit*1.5}px 0`,background:n.colorBgContainer,border:`1px dashed ${n.colorBorder}`},children:(0,X.jsxs)(F,{children:[(0,X.jsx)(pe,{style:{color:n.colorWarning}}),(0,X.jsxs)(F,{direction:`vertical`,size:0,children:[(0,X.jsx)(Ut,{strong:!0,children:`Unknown widget type — update your client`}),(0,X.jsxs)(Ut,{type:`secondary`,style:{fontSize:n.fontSizeSM},children:[`The agent requested a `,(0,X.jsx)(`code`,{children:r.widget_type}),` widget, but this client doesn't know how to render it. Status: `,qt(r.status)]})]})]})})};function qt(e){switch(e){case`submitted`:return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(B,{}),` submitted`]});case`dismissed`:return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(v,{}),` dismissed`]});case`already_present`:return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(B,{}),` already configured`]});default:return(0,X.jsx)(Ut,{children:`pending`})}}var{Text:Q}=l;function Jt(e){return e.params}function Yt(e){return e.result_meta}function $(e){return[...e].sort()}function Xt(e){let t=$(e);return t.length===1?t[0]:`${t.length} variables`}function Zt(e){let t=$(e.submitted??[]),n=$(e.usedExisting??[]);return[t.length>0?`Saved ${Xt(t)} (${e.scope})`:``,n.length>0?`Used existing ${Xt(n)} (global)`:``].filter(Boolean).join(`; `)}var Qt=({name:e,value:t,onChange:n,metadata:r,existing:i,useExisting:a,onUseExistingChange:o,error:s,disabled:c})=>{let{token:l}=V.useToken(),u=r?.input_type??`password`,d={value:t,onChange:e=>n(e.target.value),placeholder:r?.placeholder??`Enter value for ${e}`,disabled:c||a,"aria-label":`Value for ${e}`,autoComplete:`off`,status:s?`error`:void 0};return(0,X.jsx)(`div`,{children:(0,X.jsxs)(F,{orientation:`vertical`,size:4,style:{width:`100%`},children:[(0,X.jsxs)(F,{size:`small`,wrap:!0,children:[(0,X.jsxs)(Q,{strong:!0,style:{display:`inline-flex`,alignItems:`center`,gap:6,fontFamily:l.fontFamilyCode,fontSize:l.fontSizeSM},children:[(0,X.jsx)(f,{style:{color:l.colorTextSecondary}}),e]}),i?.set?(0,X.jsx)(q,{color:`success`,children:`Set (encrypted)`}):null,i?.scope?(0,X.jsx)(q,{color:i.scope===`global`?`blue`:`purple`,children:i.scope}):null]}),r?.description?(0,X.jsx)(Q,{type:`secondary`,style:{fontSize:l.fontSizeSM},children:r.description}):null,i?.scope===`global`?(0,X.jsx)(D,{checked:a,onChange:e=>o(e.target.checked),disabled:c,children:`Use saved encrypted value`}):i?.scope===`session`?(0,X.jsx)(Q,{type:`secondary`,style:{fontSize:l.fontSizeSM},children:`Session-scoped saved values must be selected in Session Settings; enter a value here to use it now.`}):null,u===`textarea`?(0,X.jsx)(L.TextArea,{...d,rows:3}):u===`text`?(0,X.jsx)(L,{...d}):(0,X.jsx)(L.Password,{...d}),r?.format_hint?(0,X.jsx)(Q,{type:`secondary`,style:{fontSize:l.fontSizeSM},children:r.format_hint}):null,s?(0,X.jsx)(Q,{type:`danger`,style:{fontSize:l.fontSizeSM},children:s}):null]})})},$t=({widgetId:e,message:t,params:n,client:r})=>{let{token:o}=V.useToken(),{showSuccess:s,showError:l}=Ee(),u=(0,J.useMemo)(()=>$(n.names),[n.names]),[d,f]=(0,J.useState)({}),[p,m]=(0,J.useState)(()=>{let e={};for(let t of u)e[t]=``;return e}),[h,g]=(0,J.useState)(`global`),[_,y]=(0,J.useState)(!1),[b,x]=(0,J.useState)(!1),[S,C]=(0,J.useState)(null),[w,T]=(0,J.useState)({}),[D,O]=(0,J.useState)(()=>{let e={};for(let t of u)e[t]=!1;return e}),[k,A]=(0,J.useState)(null),j=(0,J.useRef)(!1);(0,J.useEffect)(()=>{let e=!1;return(async()=>{if(!r)return;let n=await r.service(`sessions`).get(t.session_id);if(!n.created_by)return;let i=await r.service(`users`).get(n.created_by),a={};for(let e of u){let t=i.env_vars?.[e];t?.set&&(a[e]=t)}e||f(a)})().catch(()=>{e||f({})}),()=>{e=!0}},[r,t.session_id,u]);let M=(0,J.useMemo)(()=>u.every(e=>D[e]||p[e]?.trim().length>0),[u,D,p]),N=(0,J.useMemo)(()=>u.filter(e=>!D[e]&&!p[e]?.trim()),[u,D,p]),P=async(t,n)=>{if(!r)throw Error(`No client available — refresh and try again`);return r.service(`widgets/${encodeURIComponent(e)}/${t}`).create(n??{})},ee=e=>{let t=e?.data?.field_errors;if(!t||typeof t!=`object`)return{};let n={};for(let[e,r]of Object.entries(t))typeof r==`string`&&(n[e]=r);return n},te=async()=>{if(j.current||k)return;if(!M){C(`Enter all requested values before saving.`),T(Object.fromEntries(N.map(e=>[e,`Enter a value or use a saved one.`])));return}j.current=!0,y(!0),C(null),T({});let e=u.filter(e=>D[e]),t=u.filter(e=>!D[e]),n={values:Object.fromEntries(t.map(e=>[e,p[e]?.trim()??``])),use_existing:e,scope:h};try{await P(`submit`,n),A({kind:`submitted`,names:u,scope:h,submitted:t,usedExisting:e}),s(Zt({submitted:t,usedExisting:e,scope:h}))}catch(e){j.current=!1;let t=`Save failed: ${e instanceof Error?e.message:String(e)}`;T(ee(e)),C(`${t}. Check the requested names and try again.`),l(t)}finally{y(!1)}},ne=async()=>{if(!(j.current||k)){j.current=!0,x(!0),C(null),T({});try{await P(`dismiss`,{}),A({kind:`dismissed`,names:u})}catch(e){j.current=!1;let t=`Dismiss failed: ${e instanceof Error?e.message:String(e)}`;C(`${t}. Try again.`),l(t)}finally{x(!1)}}},re=u.length===1?`Securely provide environment variable`:`Securely provide ${u.length} environment variables`;return k?.kind===`submitted`?(0,X.jsx)(en,{icon:(0,X.jsx)(B,{style:{color:o.colorSuccess}}),borderColor:o.colorSuccess,text:(0,X.jsxs)(F,{orientation:`vertical`,size:0,children:[(0,X.jsx)(Q,{children:Zt(k)}),(0,X.jsx)(Q,{type:`secondary`,style:{fontSize:o.fontSizeSM},children:`Need to correct one? Update it in User Settings → Env vars.`})]})}):k?.kind===`dismissed`?(0,X.jsx)(en,{icon:(0,X.jsx)(v,{style:{color:o.colorTextSecondary}}),borderColor:o.colorBorder,text:(0,X.jsxs)(Q,{type:`secondary`,children:[k.names.join(`, `),` dismissed`]})}):(0,X.jsx)(c,{size:`small`,style:{margin:`${o.sizeUnit*1.5}px 0`,background:o.colorBgContainer},styles:{body:{padding:o.paddingSM}},children:(0,X.jsxs)(F,{orientation:`vertical`,size:`small`,style:{width:`100%`},children:[(0,X.jsxs)(F,{size:`small`,style:{width:`100%`},children:[(0,X.jsx)(E,{style:{color:o.colorPrimary}}),(0,X.jsx)(Q,{strong:!0,children:re})]}),n.reason&&(0,X.jsx)(Q,{type:`secondary`,style:{fontSize:o.fontSizeSM},children:n.reason}),u.map(e=>(0,X.jsx)(Qt,{name:e,value:p[e]??``,metadata:n.variable_metadata?.[e],existing:d[e],useExisting:!!D[e],onUseExistingChange:t=>{C(null),T(t=>({...t,[e]:``})),O(n=>({...n,[e]:t}))},onChange:t=>{C(null),T(t=>({...t,[e]:``})),m(n=>({...n,[e]:t}))},error:w[e],disabled:_||b},e)),S?(0,X.jsx)(Q,{type:`danger`,style:{fontSize:o.fontSizeSM},children:S}):N.length>0?(0,X.jsxs)(Q,{type:`secondary`,style:{fontSize:o.fontSizeSM},children:[`Enter `,N.length===1?N[0]:`all requested values`,` to save.`]}):null,(0,X.jsxs)(F,{style:{width:`100%`,justifyContent:`space-between`},size:`small`,children:[(0,X.jsxs)(F,{size:`small`,children:[(0,X.jsx)(Q,{type:`secondary`,style:{fontSize:o.fontSizeSM},children:`Scope for new values:`}),(0,X.jsx)(a,{size:`small`,value:h,onChange:e=>g(e),disabled:_||b,style:{width:110},options:[{value:`global`,label:`Global`},{value:`session`,label:`Session`}]})]}),(0,X.jsxs)(F,{size:`small`,children:[(0,X.jsx)(i,{size:`small`,onClick:ne,loading:b,disabled:_,children:`Dismiss`}),(0,X.jsx)(i,{size:`small`,type:`primary`,onClick:te,loading:_,disabled:!M||b,children:`Save`})]})]})]})})},en=({icon:e,borderColor:t,text:n})=>{let{token:r}=V.useToken();return(0,X.jsx)(c,{size:`small`,style:{margin:`${r.sizeUnit*1.5}px 0`,background:r.colorBgContainer,borderLeft:`3px solid ${t}`},styles:{body:{padding:`${r.paddingXS}px ${r.paddingSM}px`}},children:(0,X.jsxs)(F,{size:`small`,children:[e,n]})})},tn=({widget:e})=>{let{token:t}=V.useToken(),n=Yt(e),r=Jt(e),i=$([...n?.names_submitted??[],...n?.names_used_existing??[]]),a=i.length>0?i:$(r.names),o=n?.scope??`global`,s=n?Zt({submitted:n.names_submitted,usedExisting:n.names_used_existing,scope:o}):`Saved ${Xt(a)} (${o})`;return(0,X.jsx)(en,{icon:(0,X.jsx)(B,{style:{color:t.colorSuccess}}),borderColor:t.colorSuccess,text:(0,X.jsxs)(F,{orientation:`vertical`,size:0,children:[(0,X.jsx)(Q,{children:s}),(0,X.jsx)(Q,{type:`secondary`,style:{fontSize:t.fontSizeSM},children:`Need to correct one? Update it in User Settings → Env vars.`})]})})},nn=({widget:e})=>{let{token:t}=V.useToken(),n=$(Jt(e).names);return(0,X.jsx)(en,{icon:(0,X.jsx)(v,{style:{color:t.colorTextSecondary}}),borderColor:t.colorBorder,text:(0,X.jsxs)(Q,{type:`secondary`,children:[n.join(`, `),` dismissed`]})})},rn=({widget:e})=>{let{token:t}=V.useToken(),n=$(Jt(e).names);return(0,X.jsx)(en,{icon:(0,X.jsx)(B,{style:{color:t.colorInfo}}),borderColor:t.colorInfo,text:(0,X.jsxs)(Q,{children:[n.length===1?n[0]:n.join(`, `),` `,(0,X.jsx)(Q,{type:`secondary`,children:`already configured`})]})})};Gt(`env_vars`,({message:e,widget:t,client:n})=>{let r=Jt(t),i=t.widget_id;switch(t.status){case`submitted`:return(0,X.jsx)(tn,{widget:t});case`dismissed`:return(0,X.jsx)(nn,{widget:t});case`already_present`:return(0,X.jsx)(rn,{widget:t});default:return(0,X.jsx)($t,{widgetId:i,message:e,params:r,client:n})}});function an(e){let{name:t,input:n}=e;if(typeof n.description==`string`)return n.description;switch(t){case`Read`:case`Write`:case`Edit`:case`NotebookEdit`:return n.file_path?String(n.file_path):void 0;case`Bash`:return n.description?String(n.description):n.command?String(n.command):void 0;case`Grep`:case`Glob`:return n.pattern?String(n.pattern):void 0;case`ToolSearch`:case`WebSearch`:case`web_search`:return n.query?String(n.query):void 0;case`WebFetch`:return n.url?String(n.url):void 0;case`Agent`:return n.description?String(n.description):void 0;case`Skill`:case`SlashCommand`:return n.skill?String(n.skill):n.name?String(n.name):void 0;case`Task`:{if(!n.prompt)return;let e=String(n.prompt).trim().split(`
|
|
15
|
-
`)[0];return e.length>100?`${e.slice(0,100)}…`:e}case`TodoWrite`:{let e=Array.isArray(n.todos)?n.todos:[];if(e.length===0)return;let t=e.filter(e=>e.status===`completed`).length,r=e.filter(e=>e.status===`in_progress`).length,i=[`${t}/${e.length} done`];return r>0&&i.push(`${r} in progress`),i.join(`, `)}case`edit_files`:{let e=Array.isArray(n.changes)?n.changes:[];if(e.length===0)return;if(e.length===1){let t=e[0];return`${t.kind||`update`} ${t.path||``}`}return`${e.length} files`}default:return}}function on(e){if(e.role!==`user`||!Array.isArray(e.content))return!1;let t=e.content.some(e=>e.type===`text`),n=e.content.every(e=>e.type===`text`||e.type===`thinking`);return t&&n}function sn(e){return e.role!==`user`||!Array.isArray(e.content)?!1:e.content.some(e=>e.type===`tool_result`)}function cn({assistantEmoji:e,agentic_tool:t,isCallback:n,token:r}){return n?(0,X.jsx)(`img`,{src:Te(),alt:Ae.name,style:{width:32,height:32,borderRadius:`50%`}}):e?(0,X.jsx)(Z,{children:e}):t?(0,X.jsx)(ke,{tool:t,size:32}):(0,X.jsx)(Z,{icon:(0,X.jsx)(s,{}),style:{backgroundColor:r.colorBgContainer}})}function ln({isGraceful:e,text:t,sessionId:n,client:r,isTaskRunning:a=!1}){let{token:o}=V.useToken(),[s,c]=(0,J.useState)(!1),[l,u]=(0,J.useState)(!1),d=async()=>{if(!(!r||!n)){c(!0);try{await r.sessions.prompt(n,`Please resume where you left off before the daemon restarted.`,{messageSource:`agor`}),u(!0)}catch(e){console.error(`Failed to send resume prompt:`,e)}finally{c(!1)}}},f=!!r&&!!n&&!l&&!a;return(0,X.jsx)(jt,{content:(0,X.jsxs)(`div`,{style:{display:`flex`,alignItems:`flex-start`,gap:8},children:[(0,X.jsx)(`span`,{style:{color:e?o.colorInfo:o.colorWarning,flexShrink:0,marginTop:2},children:e?(0,X.jsx)(ae,{}):(0,X.jsx)(fe,{})}),(0,X.jsxs)(`div`,{style:{fontSize:13,flex:1},children:[(0,X.jsx)(K,{content:t}),f&&(0,X.jsx)(i,{size:`small`,type:`primary`,loading:s,onClick:d,style:{marginTop:6},children:`Resume`})]})]})})}var un=J.memo(({message:e,userById:t=new Map,currentUserId:n,isTaskRunning:r=!1,agentic_tool:i,sessionId:a,taskId:o,isFirstPendingPermission:s=!1,isLatestMessage:c=!1,onPermissionDecision:l,assistantEmoji:u,client:d=null})=>{let{token:f}=V.useToken();if(e.type===`permission_request`){let t=e.content,n=t.status===G.PENDING,r=n&&s;return(0,X.jsx)(`div`,{style:{margin:`${f.sizeUnit*1.5}px 0`},children:(0,X.jsx)(Bt,{message:e,content:t,isActive:r,agenticTool:i,onApprove:r&&l&&a&&o?(e,n)=>{l(a,t.request_id,o,!0,n)}:void 0,onDeny:r&&l&&a&&o?e=>{l(a,t.request_id,o,!1,U.ONCE)}:void 0,isWaiting:n&&!s})})}if(e.type===`input_request`)return null;if(e.type===`widget_request`)return(0,X.jsx)(`div`,{style:{margin:`${f.sizeUnit*1.5}px 0`},children:(0,X.jsx)(Kt,{message:e,client:d})});let p=on(e),m=sn(e),h=e.role===`system`,g=e.metadata?.is_agor_callback===!0,_=e.role===`user`&&!p&&!m,v=e.role===`assistant`||p||m||h,y=`isStreaming`in e&&e.isStreaming===!0,b=typeof e.content==`string`?e.content.trim().length>0:Array.isArray(e.content)&&e.content.length>0,x=r&&!b&&v,S=y&&b,w=n?t.get(n):void 0;if(!e.content||typeof e.content==`string`&&e.content.trim()===``||Array.isArray(e.content)&&e.content.length===0)return null;if(h&&e.metadata?.is_btw_result){let t=typeof e.content==`string`?e.content:Array.isArray(e.content)?e.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
|
|
16
|
-
|
|
17
|
-
`):``,n=e.metadata?.btw_prompt,r=e.metadata?.btw_session_id,i=r?be(r):void 0,a=e.metadata?.btw_caller_session_id,o=e.metadata?.btw_caller_title,s=a?be(a):void 0,c=!!a,l=[];if(c){let e=o?`[${o} (${s})](#session/${a})`:`[${s}](#session/${a})`,t=`[btw (${i})](#session/${r})`;l.push(`From ${e} · ${t}`)}n&&(l.push(`> ${n.replace(/\n/g,`
|
|
18
|
-
> `)}`),l.push(``)),l.push(t);let u=l.join(`
|
|
19
|
-
`);return(0,X.jsxs)(`div`,{style:{border:`1px solid ${f.colorWarning}`,borderRadius:f.borderRadiusLG,padding:`8px 12px`,margin:`8px 0`,background:f.colorWarningBg},children:[(0,X.jsx)(`div`,{style:{fontSize:11,fontWeight:600,color:f.colorWarning,marginBottom:4},children:`btw`}),(0,X.jsx)(K,{content:u})]})}if(e.type===`daemon_restart`||e.type===`daemon_crash`)return(0,X.jsx)(ln,{isGraceful:e.type===`daemon_restart`,text:typeof e.content==`string`?e.content:``,sessionId:a,client:d,isTaskRunning:r});h&&Array.isArray(e.content);let{thinkingBlocks:T,textBeforeTools:E,toolBlocks:D,textAfterTools:O}=(()=>{let t=[],n=[],r=[],i=[];if(typeof e.content==`string`)return{thinkingBlocks:[],textBeforeTools:[p?`[Task Tool]\n${e.content}`:e.content],toolBlocks:[],textAfterTools:[]};if(Array.isArray(e.content)){let a=new Map,o=new Map,s=!1;for(let i of e.content)if(i.type===`thinking`){let e=i.text;t.push(e)}else if(i.type===`text`){let e=i.text;p&&n.length===0&&!s&&(e=`[Task Tool]\n${e}`),s?r.push(e):n.push(e)}else if(i.type===`tool_use`){let e=i;e.name,a.set(e.id,e),s=!0}else if(i.type===`tool_result`){let e=i;if(o.set(e.tool_use_id,e),m){let t=Qe(e.content);t.trim()&&n.push(t)}}for(let[e,t]of a.entries())if(t.name===`Task`){let e=`🔧 **Task (${t.input.subagent_type||`Task`}):** ${t.input.description||``}`;n.push(e)}else i.push({toolUse:t,toolResult:o.get(e)})}return{thinkingBlocks:t,textBeforeTools:n,toolBlocks:i,textAfterTools:r}})(),k=`thinkingContent`in e?e.thinkingContent:void 0,A=`isThinking`in e?e.isThinking:!1,j=T.length>0||k&&k.length>0,M=E.some(e=>e.trim().length>0),N=O.some(e=>e.trim().length>0),P=D.length>0;return!j&&!M&&!N&&!P?null:(0,X.jsxs)(X.Fragment,{children:[j&&(0,X.jsx)(Ht,{content:k||T.join(`
|
|
20
|
-
|
|
21
|
-
`),isStreaming:A,defaultExpanded:!1}),M&&(()=>{let t=_?(0,X.jsx)(ze,{user:w}):cn({assistantEmoji:u,agentic_tool:i,isCallback:g,token:f});return(0,X.jsx)(`div`,{style:{margin:`${f.sizeUnit}px 0`},children:(0,X.jsx)(he,{placement:_?`end`:`start`,avatar:e.timestamp?(0,X.jsx)(C,{title:()=>Ue(e.timestamp,e.index),mouseEnterDelay:.5,fresh:!0,children:(0,X.jsx)(`span`,{children:t})}):t,loading:x,typing:S?{effect:`typing`,step:5,interval:20}:!1,content:(0,X.jsx)(Pt,{textContent:E.join(`
|
|
22
|
-
|
|
23
|
-
`),copyTooltip:`Copy message`,children:(0,X.jsx)(`div`,{style:{wordWrap:`break-word`,display:`flex`,flexDirection:`column`,gap:f.sizeUnit},children:E.map(e=>(0,X.jsx)(`div`,{children:e.split(`
|
|
24
|
-
`).length>15?(0,X.jsx)(Ft,{maxLines:10,defaultExpanded:c,isStreaming:y,children:e}):(0,X.jsx)(K,{content:e,inline:!0,isStreaming:y})},`text-${e.length}-${e.substring(0,32)}`))})}),variant:_||g?`filled`:`outlined`,styles:{content:{backgroundColor:g?f.colorWarningBg:_?f.colorPrimaryBg:void 0,color:_?`#fff`:void 0}}})})})(),P&&(0,X.jsx)(`div`,{style:{margin:`${f.sizeUnit*1.5}px 0`,display:`flex`,flexDirection:`column`,gap:2},children:(()=>{let e=-1;for(let t=D.length-1;t>=0;t--)if(D[t].toolResult){e=t;break}return D.map(({toolUse:t,toolResult:n},i)=>{let a=Xe(t.name,t.input),o=at.has(t.name),s=i>e&&c,l=ot({hasResult:!!n||o,isError:!!n?.is_error,isPotentiallyRunning:s,isTaskRunning:r}),u=st(l),d=t.name===`Bash`?it(t.input,f):void 0;return(0,X.jsx)(rt,{icon:u,name:a,description:d?void 0:an(t),descriptionNode:d,status:l,expandedByDefault:nt(t.name),children:(0,X.jsx)(Dt,{toolUse:t,toolResult:n})},t.id)})})()}),N&&(()=>{let t=cn({assistantEmoji:u,agentic_tool:i,isCallback:g,token:f});return(0,X.jsx)(`div`,{style:{margin:`${f.sizeUnit}px 0`},children:(0,X.jsx)(he,{placement:`start`,avatar:e.timestamp?(0,X.jsx)(C,{title:()=>Ue(e.timestamp,e.index),mouseEnterDelay:.5,fresh:!0,children:(0,X.jsx)(`span`,{children:t})}):t,loading:x,typing:S?{effect:`typing`,step:5,interval:20}:!1,content:(0,X.jsx)(Pt,{textContent:O.join(`
|
|
25
|
-
|
|
26
|
-
`),copyTooltip:`Copy message`,children:(0,X.jsx)(`div`,{style:{wordWrap:`break-word`},children:(()=>{let e=O.join(`
|
|
27
|
-
|
|
28
|
-
`);return e.split(`
|
|
29
|
-
`).length>15?(0,X.jsx)(Ft,{maxLines:10,defaultExpanded:c,isStreaming:y,children:e}):(0,X.jsx)(K,{content:e,inline:!0,isStreaming:y})})()})}),variant:g?`filled`:`outlined`,styles:g?{content:{backgroundColor:f.colorWarningBg}}:void 0})})})()]})});un.displayName=`MessageBlock`;var dn=new Set([`files_persisted`,`hook_started`,`hook_progress`,`session_state_changed`,`task_started`,`task_progress`,`task_updated`,`task_notification`,`thinking_tokens`]),fn=new Set([`requesting`]);function pn(e){return typeof e==`object`&&e?e:void 0}function mn(e){let t=pn(e);return t?t.outcome===`error`?!0:typeof t.exit_code==`number`&&t.exit_code!==0:!1}function hn(e){let t=e.subtype;if(!t)return!1;if(dn.has(t))return!0;if(t===`hook_response`)return!mn(e);if(t===`status`){let t=e.status;if(typeof t==`string`&&fn.has(t))return!0}return!1}function gn(e){return e.type!==`sdk_event`||e.sdkType!==`system`||!e.sdkSubtype?!1:hn({...pn(e.metadata)??{},subtype:e.sdkSubtype})}var{Text:_n}=l,vn=({message:e,agentic_tool:t})=>{let{token:n}=V.useToken();if(!Array.isArray(e.content))return null;let r=e.content.find(e=>e.type===`rate_limit`),i=e.content.find(e=>e.type===`api_wait`),a=e.content.find(e=>e.type===`sdk_event`),o=r||i||a;if(!o||gn(o))return null;let s=`text`in o?o.text:``,c=o.type===`rate_limit`,l=o.type===`sdk_event`,d=c&&`status`in o?o.status:void 0,f=c&&`rateLimitType`in o?o.rateLimitType:void 0,p=c&&`resetsAt`in o?o.resetsAt:void 0,m=!c&&`waitMs`in o?o.waitMs:void 0,h=l&&`sdkType`in o?o.sdkType:void 0,g=l&&`sdkSubtype`in o?o.sdkSubtype:void 0,_=c&&d!==`allowed`?n.colorWarning:n.colorTextTertiary;return(0,X.jsx)(jt,{content:(0,X.jsxs)(F,{orientation:`vertical`,size:`small`,style:{width:`100%`},children:[(0,X.jsxs)(F,{children:[c?(0,X.jsx)(fe,{style:{color:_,fontSize:14}}):l?(0,X.jsx)(u,{style:{color:n.colorTextTertiary,fontSize:14}}):(0,X.jsx)(oe,{style:{color:_,fontSize:14}}),(0,X.jsx)(_n,{type:`secondary`,children:s})]}),(f||p||m||h)&&(0,X.jsxs)(`div`,{style:{fontSize:12,color:n.colorTextTertiary,paddingLeft:22},children:[f&&(0,X.jsxs)(`div`,{children:[`Type: `,f]}),p&&(0,X.jsxs)(`div`,{children:[`Resets: `,new Date(p*1e3).toLocaleString()]}),m&&(0,X.jsxs)(`div`,{children:[`Wait time: `,(m/1e3).toFixed(1),`s`]}),h&&(0,X.jsxs)(`div`,{children:[`Source: `,h,g?`/${g}`:``]})]})]}),raw:o,agenticTool:t})};function yn(e){switch(e){case W.STOPPED:case W.STOPPING:return`stopped`;case W.COMPLETED:case W.FAILED:case W.TIMED_OUT:return`unknown`;default:return null}}function bn({messages:e,taskStatus:t}){let{token:n}=V.useToken(),r=(0,J.useMemo)(()=>{for(let t=e.length-1;t>=0;t--){let n=e[t];if(Array.isArray(n.content)){for(let e of n.content)if(e.type===`tool_use`&&e.name===`TodoWrite`){let t=e.input,n=yt(t?.todos);return n.length>0?n:null}}}return null},[e]),i=(0,J.useMemo)(()=>{if(!r)return null;let e=yn(t);return e?r.map(t=>t.status===`in_progress`?{...t,status:e}:t):r},[r,t]);return i?(0,X.jsx)(`div`,{style:{margin:`${n.sizeUnit}px 0`,padding:`${n.sizeXS}px`,background:n.colorBgContainerDisabled,borderRadius:n.borderRadiusSM,border:`1px dashed ${n.colorBorder}`,transition:`opacity 0.3s ease`},children:(0,X.jsx)(St,{toolUseId:`sticky-todo`,input:{todos:i}})}):null}var{Paragraph:xn}=l;function Sn(e){return e.role!==H.SYSTEM||!Array.isArray(e.content)?!1:e.content.some(e=>e.type===`rate_limit`||e.type===`api_wait`||e.type===`sdk_event`)}function Cn(e){if(e.role===H.USER&&Array.isArray(e.content)&&e.content.every(e=>e.type===`tool_result`))return!0;if(e.role!==H.ASSISTANT)return!1;if(typeof e.content==`string`)return!e.content.trim();if(!e.content)return!1;if(Array.isArray(e.content)){let t=e.content.some(e=>e.type===`tool_use`),n=e.content.some(e=>e.type===`thinking`),r=e.content.some(e=>e.type===`text`);return e.content.length===1&&e.content[0].type===`tool_use`&&e.content[0].name===`Task`||t&&r?!1:!!(t||n)}return!1}function wn(e){let t=e.filter(e=>!e.parent_tool_use_id),n=e.filter(e=>e.parent_tool_use_id),r=new Map;for(let e of t)e.role===H.SYSTEM&&Array.isArray(e.content)&&e.content.some(e=>e.type===`system_status`&&`status`in e&&e.status===`compacting`||e.type===`system_complete`&&`systemType`in e&&e.systemType===`compaction`)&&e.task_id&&(r.has(e.task_id)||r.set(e.task_id,[]),r.get(e.task_id).push(e));let i=new Set;for(let e of r.values())for(let t of e)i.add(t.message_id);let a=new Set;for(let t of e)if(Array.isArray(t.content))for(let e of t.content)e.type===`tool_use`&&e.name===`Task`&&a.add(e.id||``);let o=new Map;for(let e of n)e.parent_tool_use_id&&(o.has(e.parent_tool_use_id)||o.set(e.parent_tool_use_id,[]),o.get(e.parent_tool_use_id).push(e));let s=new Map;for(let e of t)if(e.role===H.USER&&Array.isArray(e.content)){for(let t of e.content)if(t.type===`tool_result`){let n=t.tool_use_id;n&&a.has(n)&&s.set(n,e)}}let c=[],l=[];for(let e of t){if(i.has(e.message_id)||e.role===H.USER&&Array.isArray(e.content)&&e.content.some(e=>e.type===`tool_result`&&a.has(e.tool_use_id||``)))continue;Cn(e)?l.push(e):(l.length>0&&(c.push({type:`agent-chain`,messages:l}),l=[]),c.push({type:`message`,message:e}));let t=e.tool_uses?.filter(e=>e.name===`Task`)||[];for(let e of t){let t=o.get(e.id)||[],n=s.get(e.id),r=[...t];n&&r.push(n),r.length>0&&(l.length>0&&(c.push({type:`agent-chain`,messages:l}),l=[]),c.push({type:`agent-chain`,messages:r}))}}l.length>0&&c.push({type:`agent-chain`,messages:l});let u=[];for(let e of r.values())if(e.length>0){let t=[...e].sort((e,t)=>e.index-t.index);u.push({block:{type:`compaction`,messages:t},index:t[0].index})}for(let{block:e,index:t}of u){let n=0;for(let e=0;e<c.length;e++){let r=c[e];if((r.type===`message`?r.message.index:r.messages[0]?.index??0)<t)n=e+1;else break}c.splice(n,0,e)}return c}var Tn=J.memo(({task:e,agentic_tool:n,sessionModel:r,userById:i=new Map,currentUserId:a,isExpanded:o,onExpandChange:c,sessionId:u,onPermissionDecision:d,branchName:f,scheduledFromBranch:m,scheduledRunAt:h,streamingMessages:g,taskMessages:v,taskMessagesLoaded:y,onLoadTaskMessages:b,onUnloadTaskMessages:x,assistantEmoji:S,isLatestTask:C=!1,client:w=null})=>{let{token:T}=V.useToken(),[E,D]=J.useState(!1);J.useEffect(()=>{o?y||(D(!0),Promise.resolve(b(e.task_id)).catch(e=>{console.error(`[TaskBlock] Failed to load task messages:`,e)}).finally(()=>{D(!1)})):x&&y&&x(e.task_id)},[o,b,x,e.task_id,y]);let O=E&&!y,k=(0,J.useMemo)(()=>g?Array.from(g.values()):[],[g]),A=(0,J.useMemo)(()=>[...g&&g.size>0?v.filter(e=>!g.has(e.message_id)):v,...k].sort((e,t)=>e.index-t.index),[v,k,g]),j=(0,J.useMemo)(()=>wn(A),[A]),M=(0,J.useMemo)(()=>{for(let e=j.length-1;e>=0;e--)if(j[e].type===`agent-chain`)return e;return-1},[j]),N=e.normalized_sdk_response||null,P=N?.contextUsageSnapshot,te=!!P||typeof e.computed_context_window==`number`&&e.computed_context_window>0,ne=e.computed_context_window??P?.totalTokens??0,re=P?.maxTokens??N?.contextWindowLimit??0,ie=te?Fe(ne,re,P):void 0,ae=(0,X.jsxs)(z,{gap:T.sizeUnit*2,style:{width:`100%`},children:[(0,X.jsxs)(z,{vertical:!0,align:`center`,gap:T.sizeUnit/2,style:{width:`auto`,paddingTop:T.sizeUnit},children:[o?(0,X.jsx)(ee,{style:{color:T.colorPrimary}}):(0,X.jsx)(p,{style:{color:T.colorPrimary}}),(0,X.jsx)(We,{status:e.status,size:16})]}),(0,X.jsxs)(z,{vertical:!0,flex:1,style:{minWidth:0},children:[(0,X.jsx)(Pt,{textContent:e.full_prompt||``,copyButtonOffset:{top:0,right:0},children:(0,X.jsx)(l.Text,{ellipsis:!0,style:{marginBottom:T.sizeUnit,display:`block`,paddingRight:T.sizeUnit*3},children:e.full_prompt||`User Prompt`})}),(0,X.jsxs)(z,{wrap:!0,gap:T.sizeUnit,children:[(0,X.jsx)(Me,{status:e.status,startedAt:e.started_at||e.message_range?.start_timestamp||e.created_at,endedAt:e.completed_at||(e.message_range?.end_timestamp===e.message_range?.start_timestamp?void 0:e.message_range?.end_timestamp),durationMs:e.duration_ms,lastExecutorHeartbeatAt:e.last_executor_heartbeat_at}),m&&h&&(0,X.jsx)(Pe,{scheduledRunAt:h}),e.created_by&&(0,X.jsx)(De,{createdBy:e.created_by,currentUserId:a,userById:i,prefix:`By`}),N&&(0,X.jsx)(He,{count:N.tokenUsage.totalTokens,inputTokens:N.tokenUsage.inputTokens,outputTokens:N.tokenUsage.outputTokens,cacheReadTokens:N.tokenUsage.cacheReadTokens,cacheCreationTokens:N.tokenUsage.cacheCreationTokens}),te&&(0,X.jsx)(Ve,{used:ne,limit:re||0,taskMetadata:{model:e.model,duration_ms:e.duration_ms,agentic_tool:n,raw_sdk_response:e.raw_sdk_response,normalized_sdk_response:N??void 0}}),e.model&&e.model!==r&&(0,X.jsx)(Re,{model:e.model}),e.git_state.sha_at_start&&e.git_state.sha_at_start!==`unknown`&&(0,X.jsxs)(z,{gap:T.sizeUnit/2,align:`center`,children:[(0,X.jsx)(Be,{branch:e.git_state.ref_at_start,sha:e.git_state.sha_at_start,branchName:f,style:{fontSize:11}}),e.git_state.sha_at_end&&e.git_state.sha_at_end!==`unknown`&&e.git_state.sha_at_end!==e.git_state.sha_at_start&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(l.Text,{type:`secondary`,style:{fontSize:11},children:`→`}),(0,X.jsx)(Be,{sha:e.git_state.sha_at_end,branchName:f,showDirtyIndicator:!0,style:{fontSize:11}})]})]}),e.report&&(0,X.jsx)(q,{icon:(0,X.jsx)(le,{}),color:`green`,style:{fontSize:11},children:`Report`})]})]})]});return(0,X.jsx)(_,{activeKey:o?[`task-content`]:[],onChange:t=>c(e.task_id,t.length>0),expandIcon:()=>null,style:{background:`transparent`,margin:`${T.sizeUnit*3}px 0`},items:[{key:`task-content`,label:ae,styles:{header:{padding:T.sizeUnit*2,alignItems:`flex-start`,background:ie||`transparent`,borderRadius:o?`8px 8px 0 0`:8},body:{background:`transparent`,padding:`${T.sizeUnit*2}px ${T.sizeUnit*2}px`}},children:(0,X.jsxs)(`div`,{style:{paddingTop:T.sizeUnit},children:[O&&(0,X.jsx)(`div`,{style:{display:`flex`,justifyContent:`center`,padding:`${T.sizeUnit*2}px 0`},children:(0,X.jsx)(ge,{size:`small`})}),!O&&j.map((t,r)=>{if(t.type===`message`){let a=t.message.type===`permission_request`,o=!1;if(a&&t.message.content.status===G.PENDING&&(o=!j.slice(0,r).some(e=>e.type===`message`&&e.message.type===`permission_request`?e.message.content.status===G.PENDING:!1)),Sn(t.message))return(0,X.jsx)(vn,{message:t.message,agentic_tool:n},t.message.message_id);let s=t.message.role===H.ASSISTANT&&r===j.length-1;return(0,X.jsx)(un,{message:t.message,agentic_tool:n,userById:i,currentUserId:e.created_by,isTaskRunning:e.status===W.RUNNING,sessionId:u,onPermissionDecision:d,isFirstPendingPermission:o,isLatestMessage:s,taskId:e.task_id,assistantEmoji:S,client:w},t.message.message_id)}if(t.type===`agent-chain`){let n=`agent-chain-${t.messages[0]?.message_id||`unknown`}`;return(0,X.jsx)(kt,{messages:t.messages,isTaskRunning:e.status===W.RUNNING,isLatest:C&&r===M},n)}if(t.type===`compaction`){let e=`compaction-${t.messages[0]?.message_id||`unknown`}`;return(0,X.jsx)(Nt,{messages:t.messages,agentic_tool:n},e)}return null}),(0,X.jsx)(bn,{messages:A,taskStatus:e.status}),e.status===W.RUNNING&&(0,X.jsx)(`div`,{style:{margin:`${T.sizeUnit}px 0`},children:(0,X.jsx)(he,{placement:`start`,avatar:S?(0,X.jsx)(Z,{children:S}):n?(0,X.jsx)(ke,{tool:n,size:32}):(0,X.jsx)(Z,{icon:(0,X.jsx)(s,{}),style:{backgroundColor:T.colorSuccess}}),loading:!0,content:``,variant:`outlined`})}),e.git_state.commit_message&&(0,X.jsxs)(`div`,{style:{marginTop:T.sizeUnit*1.5,padding:`${T.sizeUnit*.75}px ${T.sizeUnit*1.25}px`,background:`rgba(0, 0, 0, 0.02)`,borderRadius:T.borderRadius},children:[(0,X.jsxs)(l.Text,{type:`secondary`,style:{fontSize:12},children:[(0,X.jsx)(t,{}),` Commit:`,` `]}),(0,X.jsx)(l.Text,{code:!0,style:{fontSize:11},children:typeof e.git_state.commit_message==`string`?e.git_state.commit_message:JSON.stringify(e.git_state.commit_message)})]}),e.report&&(0,X.jsxs)(`div`,{style:{marginTop:T.sizeUnit*1.5},children:[(0,X.jsx)(q,{icon:(0,X.jsx)(le,{}),color:`green`,children:`Task Report`}),(0,X.jsx)(xn,{style:{marginTop:T.sizeUnit,padding:T.sizeUnit*1.5,background:`rgba(82, 196, 26, 0.05)`,border:`1px solid ${T.colorSuccessBorder}`,borderRadius:T.borderRadius,fontSize:13,whiteSpace:`pre-wrap`},children:typeof e.report==`string`?e.report:JSON.stringify(e.report,null,2)})]})]})}]})});Tn.displayName=`TaskBlock`;var En=({open:e,onCancel:t,onConfirm:n,zoneName:i,sessionCount:a})=>{let{token:o}=V.useToken(),[s,c]=(0,J.useState)(!1),l=Ne();return(0,X.jsx)(r,{title:`Delete Zone`,open:e,onCancel:t,onOk:()=>{l.canMutate&&n(s)},okText:`Delete Zone`,okButtonProps:{danger:!0,disabled:!l.canMutate},cancelText:`Cancel`,width:480,children:(0,X.jsxs)(`div`,{style:{marginBottom:16},children:[(0,X.jsx)(`p`,{style:{margin:0,marginBottom:16},children:`Are you sure you want to delete this zone?`}),a>0&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`p`,{style:{margin:0,marginBottom:16,color:o.colorTextSecondary},children:[`This zone has `,a,` pinned session`,a===1?``:`s`,`.`]}),(0,X.jsx)(I.Group,{value:s,onChange:e=>c(e.target.value),children:(0,X.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:12},children:[(0,X.jsx)(I,{value:!1,children:(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`div`,{style:{fontWeight:500},children:`Unpin sessions (keep on board)`}),(0,X.jsx)(`div`,{style:{fontSize:12,color:o.colorTextSecondary},children:`Sessions will remain on the board at their current positions`})]})}),(0,X.jsx)(I,{value:!0,disabled:!0,children:(0,X.jsxs)(`div`,{children:[(0,X.jsxs)(`div`,{style:{fontWeight:500},children:[`Delete pinned sessions too`,` `,(0,X.jsx)(`span`,{style:{fontSize:11,color:o.colorTextTertiary},children:`[coming soon]`})]}),(0,X.jsx)(`div`,{style:{fontSize:12,color:o.colorTextSecondary},children:`Remove sessions from board entirely`})]})})]})})]}),a===0&&(0,X.jsx)(`p`,{style:{margin:0,color:o.colorTextSecondary},children:`This zone has no pinned sessions.`})]})})},Dn=({title:e,summary:t,children:n,type:r=`info`,defaultExpanded:a=!1,expandLabel:o=`See details`,collapseLabel:s=`Hide details`,style:c,className:u})=>{let[d,f]=(0,J.useState)(a),{token:m}=V.useToken(),h=(0,J.useId)(),g=(0,X.jsxs)(`div`,{style:{display:`flex`,alignItems:`baseline`,flexWrap:`wrap`,columnGap:m.marginXS,rowGap:m.marginXXS},children:[(0,X.jsx)(l.Text,{strong:!0,children:e}),t&&(0,X.jsx)(l.Text,{type:`secondary`,style:{fontWeight:`normal`},children:t}),(0,X.jsxs)(i,{type:`link`,size:`small`,onClick:()=>f(e=>!e),"aria-expanded":d,"aria-controls":h,style:{paddingInline:0,height:`auto`},children:[d?s:o,` `,(0,X.jsx)(p,{"aria-hidden":!0,style:{fontSize:10},rotate:d?180:0})]})]});return(0,X.jsx)(S,{type:r,showIcon:!0,style:c,className:u,styles:{title:{fontSize:m.fontSize}},title:g,description:d?(0,X.jsx)(`div`,{id:h,children:n}):void 0})},On=`show_picker`,kn=({open:e,onCancel:t,zoneName:n,objectId:i,onUpdate:o,zoneData:s})=>{let[c]=R.useForm(),[l,u]=(0,J.useState)(`claude-code`),d=(0,J.useRef)(!1),f=Ne(),p=R.useWatch(`triggerBehavior`,c);return(0,J.useEffect)(()=>{e&&!d.current?(d.current=!0,s.type===`zone`&&s.trigger?(c.setFieldsValue({name:n,triggerBehavior:s.trigger.behavior,triggerTemplate:s.trigger.template}),u(s.trigger.agent||`claude-code`)):(c.setFieldsValue({name:n,triggerBehavior:On,triggerTemplate:``}),u(`claude-code`))):e||(d.current=!1)},[e,n,s,c]),(0,X.jsx)(r,{title:`Configure Zone`,open:e,onCancel:t,onOk:async()=>{if(f.canMutate)try{let e=await c.validateFields();if(s.type===`zone`){let t=e.triggerTemplate?.trim()||``;(e.name!==n||t!==(s.trigger?.template||``)||e.triggerBehavior!==(s.trigger?.behavior||void 0)||l!==(s.trigger?.agent||`claude-code`))&&o(i,{...s,label:e.name,trigger:t&&e.triggerBehavior?{behavior:e.triggerBehavior,template:t,agent:l}:void 0})}t()}catch{}},okText:`Save`,okButtonProps:{disabled:!f.canMutate},cancelText:`Cancel`,width:600,children:(0,X.jsxs)(R,{form:c,layout:`vertical`,children:[(0,X.jsx)(R.Item,{name:`name`,label:`Zone Name`,children:(0,X.jsx)(L,{placeholder:`Enter zone name...`,size:`large`})}),(0,X.jsx)(R.Item,{name:`triggerBehavior`,label:`Trigger Behavior`,children:(0,X.jsx)(a,{style:{width:`100%`},options:[{value:`show_picker`,label:`Show Picker - Choose session and action when dropped`},{value:`always_new`,label:`Always New - Auto-create new root session`}]})}),p===`always_new`&&(0,X.jsx)(R.Item,{label:`Agent`,help:`New sessions will use the dropping user's default configuration for this agent.`,children:(0,X.jsx)(Oe,{agents:Ie,selectedAgentId:l,onSelect:e=>u(e),columns:2,showHelperText:!1,showComparisonLink:!1})}),(0,X.jsx)(R.Item,{name:`triggerTemplate`,label:`Trigger Template`,help:`Leave empty for an organizational-only zone (no trigger fires on drop).`,extra:(0,X.jsxs)(Dn,{title:`Handlebars template support`,summary:`Reference branch, session, and board data with {{ ... }} syntax.`,children:[(0,X.jsx)(`p`,{style:{marginBottom:8},children:`Use Handlebars syntax to reference session and board data in your trigger:`}),(0,X.jsxs)(`ul`,{style:{marginLeft:16,marginBottom:8},children:[(0,X.jsxs)(`li`,{children:[(0,X.jsx)(`code`,{children:`{{ branch.issue_url }}`}),` - GitHub issue URL`]}),(0,X.jsxs)(`li`,{children:[(0,X.jsx)(`code`,{children:`{{ branch.pull_request_url }}`}),` - Pull request URL`]}),(0,X.jsxs)(`li`,{children:[(0,X.jsx)(`code`,{children:`{{ branch.notes }}`}),` - Branch notes`]}),(0,X.jsxs)(`li`,{children:[(0,X.jsx)(`code`,{children:`{{ session.description }}`}),` - Session description`]}),(0,X.jsxs)(`li`,{children:[(0,X.jsx)(`code`,{children:`{{ session.context.* }}`}),` - Custom context from session settings`]}),(0,X.jsxs)(`li`,{children:[(0,X.jsx)(`code`,{children:`{{ board.name }}`}),` - Board name`]}),(0,X.jsxs)(`li`,{children:[(0,X.jsx)(`code`,{children:`{{ board.description }}`}),` - Board description`]}),(0,X.jsxs)(`li`,{children:[(0,X.jsx)(`code`,{children:`{{ board.context.* }}`}),` - Custom context from board settings`]})]}),(0,X.jsxs)(`p`,{style:{marginTop:8,marginBottom:0},children:[`Example:`,` `,(0,X.jsx)(`code`,{children:`Review {{ branch.issue_url }} for {{ board.context.team }} sprint {{ board.context.sprint }}`})]})]},`${i}:${e}`),children:(0,X.jsx)(L.TextArea,{placeholder:`Enter the prompt template that will be triggered when a branch is dropped here...`,rows:6})})]})})},An=.1,jn=e=>[e.colorBorder,e.red6||e.red,e.orange6||e.orange,e.green6||e.green,e.blue6||e.blue,e.purple6||e.purple,e.magenta6||e.magenta],Mn=`agor-zone-recent-colors`,Nn=()=>{try{let e=localStorage.getItem(Mn);return e?JSON.parse(e):[]}catch{return[]}},Pn=e=>{try{let t=[e,...Nn().filter(t=>t.toLowerCase()!==e.toLowerCase())].slice(0,12);localStorage.setItem(Mn,JSON.stringify(t))}catch(e){console.warn(`Failed to save recent color:`,e)}},Fn=J.memo(({data:e,selected:t})=>{let{token:n}=V.useToken(),{zoom:r}=Se(),[i,a]=(0,J.useState)(!1),[o,s]=(0,J.useState)(e.label),[c,l]=(0,J.useState)(!1),[u,d]=(0,J.useState)(!1),[p,m]=(0,J.useState)(!1),[h,g]=(0,J.useState)(Nn()),_=(0,J.useRef)(null),v=jn(n),y=!Ne().canMutate,b=1/r;(0,J.useEffect)(()=>{s(e.label)},[e.label]),(0,J.useEffect)(()=>{if(t)m(!0);else{let e=setTimeout(()=>m(!1),100);return()=>clearTimeout(e)}},[t]),(0,J.useEffect)(()=>{i&&_.current&&(_.current.focus(),_.current.select())},[i]);let x=t=>({type:`zone`,x:e.x,y:e.y,width:e.width,height:e.height,label:e.label,borderColor:e.borderColor,backgroundColor:e.backgroundColor,color:e.color,status:e.status,locked:e.locked,trigger:e.trigger,...t}),S=()=>{a(!1),!y&&o!==e.label&&e.onUpdate&&e.onUpdate(e.objectId,x({label:o}))},C=t=>{t.key===`Enter`?S():t.key===`Escape`&&(s(e.label),a(!1))},T=t=>{if(y)return;let n=t.toHexString();e.onUpdate&&e.onUpdate(e.objectId,x({borderColor:n})),Pn(n),g(Nn())},E=t=>{if(y)return;let n=t.toHexString();e.onUpdate&&e.onUpdate(e.objectId,x({backgroundColor:n})),Pn(n),g(Nn())},D=()=>{y||e.onUpdate&&e.onUpdate(e.objectId,x({locked:!e.locked}))},O=e.borderColor||e.color||n.colorBorder,k=e.backgroundColor||(e.borderColor?e.borderColor:e.color?((e,t)=>{try{let n=new j(e).toRgb(),r=n.a*t;return`rgba(${n.r}, ${n.g}, ${n.b}, ${r})`}catch{return`${n.colorBgContainer}40`}})(e.color,.1):`${n.colorBgContainer}40`),A=(e=>{try{let t=new j(e).toRgb();return t.a<.3?n.colorText:(.299*t.r+.587*t.g+.114*t.b)/255>.5?`#000000`:`#ffffff`}catch{return n.colorText}})(k);return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(Ce,{isVisible:t&&!e.locked&&!y,minWidth:200,minHeight:200,handleStyle:{width:`10px`,height:`10px`,borderRadius:`50%`,backgroundColor:O},lineStyle:{borderColor:O}}),(0,X.jsxs)(`div`,{style:{width:`100%`,height:`100%`,border:`2px solid ${O}`,borderRadius:n.borderRadiusLG,background:k,padding:n.padding,display:`flex`,flexDirection:`column`,pointerEvents:`none`,zIndex:-1,backdropFilter:`blur(4px)`,position:`relative`},children:[(0,X.jsxs)(`div`,{className:`nodrag nopan`,onPointerDown:e=>{e.preventDefault(),e.stopPropagation()},onPointerUp:e=>{e.preventDefault(),e.stopPropagation()},onClick:e=>{e.preventDefault(),e.stopPropagation()},style:{position:`absolute`,top:`-44px`,left:`50%`,transform:`translateX(-50%) scale(${b})`,transformOrigin:`center bottom`,display:`flex`,alignItems:`center`,gap:`8px`,padding:`6px`,background:n.colorBgElevated,border:`1px solid ${n.colorBorder}`,borderRadius:n.borderRadius,boxShadow:n.boxShadowSecondary,zIndex:1e3,userSelect:`none`,opacity:p?y?.5:1:0,pointerEvents:p&&!y?`auto`:`none`,transition:`opacity 0.15s ease`},children:[(0,X.jsxs)(`div`,{className:`nodrag nopan`,onPointerDown:e=>{e.stopPropagation()},onPointerUp:e=>{e.stopPropagation()},style:{display:`flex`,alignItems:`center`,gap:`4px`},children:[(0,X.jsx)(`span`,{style:{fontSize:`11px`,color:n.colorTextSecondary,fontWeight:500,userSelect:`none`,lineHeight:1},children:`Border`}),(0,X.jsx)(M,{value:O,onChange:T,trigger:`click`,destroyTooltipOnHide:!0,showText:!1,format:`hex`,presets:[{label:`Presets`,colors:v},...h.length>0?[{label:`Recent`,colors:h}]:[]],children:(0,X.jsx)(`button`,{type:`button`,style:{width:`20px`,height:`20px`,borderRadius:`3px`,backgroundColor:O,border:`1px solid ${n.colorBorder}`,userSelect:`none`,cursor:`pointer`,padding:0,boxShadow:n.boxShadowSecondary,display:`flex`,alignItems:`center`,justifyContent:`center`},title:`Change border color`})})]}),(0,X.jsx)(`div`,{style:{width:`1px`,height:`24px`,backgroundColor:n.colorBorder,margin:`0 2px`,alignSelf:`center`}}),(0,X.jsxs)(`div`,{className:`nodrag nopan`,onPointerDown:e=>{e.stopPropagation()},onPointerUp:e=>{e.stopPropagation()},style:{display:`flex`,alignItems:`center`,gap:`4px`},children:[(0,X.jsx)(`span`,{style:{fontSize:`11px`,color:n.colorTextSecondary,fontWeight:500,userSelect:`none`,lineHeight:1},children:`Fill`}),(0,X.jsx)(M,{value:k,onChange:E,trigger:`click`,destroyTooltipOnHide:!0,showText:!1,format:`hex`,presets:[{label:`Presets`,colors:v.map(e=>`${e}${Math.round(An*255).toString(16).padStart(2,`0`)}`)},...h.length>0?[{label:`Recent`,colors:h}]:[]],children:(0,X.jsx)(`button`,{type:`button`,style:{width:`20px`,height:`20px`,borderRadius:`3px`,backgroundColor:k,border:`1px solid ${n.colorBorder}`,userSelect:`none`,cursor:`pointer`,padding:0,boxShadow:n.boxShadowSecondary,display:`flex`,alignItems:`center`,justifyContent:`center`},title:`Change background color`})})]}),(0,X.jsx)(`div`,{style:{width:`1px`,height:`24px`,backgroundColor:n.colorBorder,margin:`0 2px`,alignSelf:`center`}}),(0,X.jsx)(`button`,{type:`button`,onPointerDown:e=>{e.preventDefault(),e.stopPropagation()},onPointerUp:e=>{e.preventDefault(),e.stopPropagation(),!y&&D()},onClick:e=>{e.preventDefault(),e.stopPropagation()},style:{width:`20px`,height:`20px`,borderRadius:`3px`,backgroundColor:e.locked?n.colorWarningBg:n.colorBgContainer,border:`1px solid ${e.locked?n.colorWarning:n.colorBorder}`,display:`flex`,alignItems:`center`,justifyContent:`center`,userSelect:`none`,cursor:`pointer`,padding:0},title:e.locked?`Unlock zone`:`Lock zone`,children:e.locked?(0,X.jsx)(f,{style:{fontSize:`12px`,color:n.colorWarning,display:`flex`,alignItems:`center`,justifyContent:`center`}}):(0,X.jsx)(me,{style:{fontSize:`12px`,color:n.colorText,display:`flex`,alignItems:`center`,justifyContent:`center`}})}),(0,X.jsx)(`button`,{type:`button`,onPointerDown:e=>{e.preventDefault(),e.stopPropagation()},onPointerUp:e=>{e.preventDefault(),e.stopPropagation(),!y&&l(!0)},onClick:e=>{e.preventDefault(),e.stopPropagation()},style:{width:`20px`,height:`20px`,borderRadius:`3px`,backgroundColor:n.colorBgContainer,border:`1px solid ${n.colorBorder}`,display:`flex`,alignItems:`center`,justifyContent:`center`,userSelect:`none`,cursor:`pointer`,padding:0},title:`Configure zone`,children:(0,X.jsx)(P,{style:{fontSize:`12px`,color:n.colorText,display:`flex`,alignItems:`center`,justifyContent:`center`}})}),(0,X.jsx)(`button`,{type:`button`,onPointerDown:e=>{e.preventDefault(),e.stopPropagation()},onPointerUp:e=>{e.preventDefault(),e.stopPropagation(),!y&&d(!0)},onClick:e=>{e.preventDefault(),e.stopPropagation()},onMouseEnter:e=>{e.currentTarget.style.color=n.colorError,e.currentTarget.style.borderColor=n.colorError},onMouseLeave:e=>{e.currentTarget.style.color=n.colorTextSecondary,e.currentTarget.style.borderColor=n.colorBorder},style:{width:`20px`,height:`20px`,borderRadius:`3px`,backgroundColor:n.colorBgContainer,border:`1px solid ${n.colorBorder}`,display:`flex`,alignItems:`center`,justifyContent:`center`,userSelect:`none`,cursor:`pointer`,padding:0,color:n.colorTextSecondary},title:`Delete zone`,children:(0,X.jsx)(w,{style:{fontSize:`12px`,display:`flex`,alignItems:`center`,justifyContent:`center`}})})]}),(0,X.jsx)(`div`,{style:{pointerEvents:`auto`,position:`relative`,width:`100%`,minHeight:`${n.fontSize*b}px`},onDoubleClick:()=>{y||a(!0)},children:i?(0,X.jsx)(`input`,{ref:_,type:`text`,value:o,onChange:e=>s(e.target.value),onBlur:S,onKeyDown:C,className:`nodrag`,style:{margin:0,fontSize:n.fontSize,fontWeight:600,border:`none`,outline:`none`,background:`transparent`,color:A,padding:0,width:`100%`,transform:`scale(${b})`,transformOrigin:`top left`}}):(0,X.jsx)(`h3`,{style:{margin:0,fontSize:n.fontSize,fontWeight:600,color:A,transform:`scale(${b})`,transformOrigin:`top left`,maxWidth:`${(e.width-n.padding*2)/b}px`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:o})}),e.status&&(0,X.jsx)(`div`,{style:{marginTop:`${8*b}px`,fontSize:n.fontSizeSM,fontWeight:500,color:A,textTransform:`uppercase`,letterSpacing:`0.5px`,transform:`scale(${b})`,transformOrigin:`top left`,maxWidth:`${(e.width-n.padding*2)/b}px`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e.status})]}),(0,X.jsx)(kn,{open:c,onCancel:()=>l(!1),zoneName:e.label,objectId:e.objectId,onUpdate:e.onUpdate||(()=>{}),zoneData:x({})}),(0,X.jsx)(En,{open:u,onCancel:()=>d(!1),onConfirm:t=>{d(!1),e.onDelete&&e.onDelete(e.objectId,t)},zoneName:e.label,sessionCount:e.sessionCount||0})]})}),In=36,Ln=48,Rn=36,zn=-36/2,Bn=-48,Vn=J.memo(({data:e})=>{let{token:t}=V.useToken(),{zoom:n}=Se(),{comment:r,replyCount:i,user:a,parentLabel:o,parentColor:s,onClick:c,onHover:l,onLeave:u}=e,[d,f]=(0,J.useState)(!1),p=r.content.split(`
|
|
30
|
-
`)[0].slice(0,80),m=r.content.length>80||r.content.includes(`
|
|
31
|
-
`),h=r.resolved?t.colorSuccess:t.colorPrimary,g=1+i;return(0,X.jsxs)(`div`,{onClick:()=>c?.(r.comment_id),onMouseEnter:()=>{f(!0),l?.(r.comment_id)},onMouseLeave:()=>{f(!1),u?.()},style:{position:`relative`,cursor:`grab`,transform:`scale(${1/n}) translate(${zn}px, ${Bn}px)`,transformOrigin:`top left`,transition:`all 0.2s cubic-bezier(0.4, 0, 0.2, 1)`},children:[(0,X.jsxs)(`div`,{style:{position:`relative`,width:`${In}px`,height:`${Ln}px`,display:`flex`,alignItems:`flex-start`,justifyContent:`center`},children:[(0,X.jsx)(`div`,{style:{width:`${Rn}px`,height:`${Rn}px`,borderRadius:`50% 50% 50% 0`,background:`
|
|
32
|
-
linear-gradient(${h}80, ${h}80),
|
|
33
|
-
${t.colorBgLayout}33
|
|
34
|
-
`,border:`2px solid ${t.colorBgContainer}`,boxShadow:d?t.boxShadow:t.boxShadowSecondary,display:`flex`,alignItems:`center`,justifyContent:`center`,transition:`all 0.2s cubic-bezier(0.4, 0, 0.2, 1)`,transform:`rotate(-45deg) ${d?`scale(1.1)`:`scale(1)`}`,fontSize:`18px`,position:`absolute`,top:`0`,left:`0`},children:(0,X.jsx)(`div`,{style:{transform:`rotate(45deg)`},children:a?.emoji||`💬`})}),g>1&&(0,X.jsx)(`div`,{style:{position:`absolute`,top:`-4px`,right:`-4px`,minWidth:`20px`,height:`20px`,borderRadius:`10px`,background:`${t.colorPrimary}bf`,border:`2px solid ${t.colorBgContainer}`,color:t.colorBgContainer,fontSize:`11px`,fontWeight:600,display:`flex`,alignItems:`center`,justifyContent:`center`,padding:`0 4px`,zIndex:1},children:g}),s&&(0,X.jsx)(`div`,{style:{position:`absolute`,top:`-6px`,left:`-6px`,width:`14px`,height:`14px`,backgroundColor:`${s}${`1a`.padStart(2,`0`)}`,border:`2px solid ${s}`,borderRadius:`3px`,zIndex:1,boxShadow:t.boxShadowSecondary}})]}),d&&(0,X.jsxs)(`div`,{style:{position:`absolute`,left:`40px`,top:`0`,minWidth:`240px`,maxWidth:`320px`,background:t.colorBgElevated,border:`1px solid ${t.colorBorder}`,borderRadius:t.borderRadiusLG,padding:`12px`,boxShadow:t.boxShadow,zIndex:1e3,pointerEvents:`none`},children:[(0,X.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,marginBottom:8},children:[(0,X.jsx)(`div`,{style:{fontSize:14},children:a?.emoji||`💬`}),(0,X.jsxs)(`div`,{style:{flex:1,minWidth:0},children:[(0,X.jsx)(`div`,{style:{fontSize:12,fontWeight:600,color:t.colorText,whiteSpace:`nowrap`,overflow:`hidden`,textOverflow:`ellipsis`},children:a?.name||`Anonymous`}),(0,X.jsx)(`div`,{style:{fontSize:11,color:t.colorTextSecondary},children:new Date(r.created_at).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`})})]})]}),o&&(0,X.jsx)(`div`,{style:{fontSize:11,color:t.colorTextSecondary,marginBottom:8,padding:`4px 8px`,background:t.colorBgContainer,borderRadius:t.borderRadiusSM},children:o}),(0,X.jsxs)(`div`,{style:{fontSize:13,color:t.colorText,lineHeight:`1.5`,wordBreak:`break-word`},children:[p,m&&(0,X.jsx)(`span`,{style:{color:t.colorTextSecondary},children:`...`})]})]})]})});export{Z as a,Tn as i,An as n,$e as o,Fn as r,Je as s,Vn as t};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime--c01j_DQ.js";import{$n as t,An as n,Bt as r,Ct as i,Ft as a,It as o,Kn as s,Ln as c,Ot as l,Pn as u,Qn as d,Rn as f,Rt as p,Un as m,_t as h,c as g,fn as _,ir as v,nt as y,tn as b,v as x,x as S,zt as C}from"./antd-DT5ackd0.js";import{O as w,Q as T,Z as E,q as D}from"./src-DAeyG22O.js";import{N as O}from"./editor-DQIG-JYZ.js";import{An as k,En as A,P as j,Tn as ee,Tt as M,Wt as te,Yt as N,s as P}from"./index-DTz1Dif6.js";import{a as F,i as ne,s as re}from"./BoardObjectNodes-DdKWv_ZT.js";import{t as I}from"./AutocompleteTextarea-Dau-V_30.js";var L=e(v(),1),R=O(),{Text:z,Title:B}=a,V=({reactions:e,currentUserId:t,userById:r,onToggle:i})=>{let{token:a}=C.useToken(),o=E(e);return Object.keys(o).length===0?null:(0,R.jsx)(_,{size:a.sizeUnit,children:Object.entries(o).map(([e,o])=>{let s=o.includes(t),c=o.map(e=>r.get(e)).filter(Boolean).map(e=>e.name||e.email.split(`@`)[0]);return(0,R.jsx)(f,{title:c.length>0?c.join(`, `):`Anonymous users`,children:(0,R.jsxs)(n,{size:`small`,onClick:()=>i(e),style:{borderRadius:12,height:24,padding:`0 8px`,fontSize:12,backgroundColor:s?a.colorPrimaryBg:`transparent`,borderColor:a.colorBorder,color:a.colorText,transition:`background-color 0.2s ease`},onMouseEnter:e=>{e.currentTarget.style.backgroundColor=a.colorPrimaryBgHover},onMouseLeave:e=>{e.currentTarget.style.backgroundColor=s?a.colorPrimaryBg:`transparent`},children:[e,` `,o.length]})},e)})})},H=({onToggle:e})=>{let{token:t}=C.useToken(),[r,i]=(0,L.useState)(!1);return(0,R.jsx)(c,{content:(0,R.jsx)(N,{onEmojiClick:t=>{e(t.emoji),i(!1)}}),trigger:`click`,open:r,onOpenChange:i,placement:`right`,children:(0,R.jsx)(n,{type:`text`,size:`small`,icon:(0,R.jsx)(x,{}),title:`Add reaction`,style:{color:t.colorTextSecondary}})})},ie=({reply:e,userById:t,currentUserId:r,onToggleReaction:i,onDelete:a})=>{let{token:o}=C.useToken(),[s,c]=(0,L.useState)(!1),l=t.get(e.created_by),u=e.created_by===r;return(0,R.jsx)(`div`,{style:{padding:`4px 0`},children:(0,R.jsxs)(`div`,{style:{width:`100%`,position:`relative`},onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!1),children:[(0,R.jsx)(P,{avatar:(0,R.jsx)(F,{children:l?.emoji||`👤`}),title:(0,R.jsxs)(_,{size:4,children:[(0,R.jsx)(z,{strong:!0,style:{fontSize:o.fontSizeSM},children:l?.name||`Anonymous`}),(0,R.jsx)(z,{type:`secondary`,style:{fontSize:o.fontSizeSM},children:new Date(e.created_at).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`})})]}),description:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`div`,{style:{marginTop:2},children:(0,R.jsx)(j,{content:e.content,style:{fontSize:o.fontSizeSM}})}),i&&(e.reactions||[]).length>0&&(0,R.jsx)(`div`,{style:{marginTop:4},children:(0,R.jsx)(V,{reactions:e.reactions||[],currentUserId:r,userById:t,onToggle:t=>i(e.comment_id,t)})})]})}),s&&(0,R.jsx)(`div`,{style:{position:`absolute`,top:4,right:0,backgroundColor:o.colorBgContainer,borderRadius:4,padding:`2px`,boxShadow:`0 2px 8px rgba(0, 0, 0, 0.15)`},children:(0,R.jsxs)(_,{size:`small`,children:[i&&(0,R.jsx)(H,{onToggle:t=>i(e.comment_id,t)}),a&&u&&(0,R.jsx)(n,{type:`text`,size:`small`,icon:(0,R.jsx)(p,{}),onClick:()=>a(e.comment_id),title:`Delete`,danger:!0,style:{color:o.colorTextSecondary}})]})})]})})},ae=({comment:e,replies:t,userById:i,currentUserId:a,onReply:o,onResolve:s,onToggleReaction:c,onDelete:l,isHighlighted:u,scrollRef:d,client:f})=>{let{token:v}=C.useToken(),[y,b]=(0,L.useState)(!1),[x,w]=(0,L.useState)(``),[T,E]=(0,L.useState)(!1),D=i.get(e.created_by),O=e.created_by===a;return(0,R.jsx)(`div`,{ref:d,style:{borderBottom:`1px solid ${v.colorBorder}`,padding:u?`${v.paddingXS}px`:`8px 0`,border:`2px solid ${u?v.colorPrimary:`transparent`}`,borderRadius:v.borderRadiusLG,marginBottom:`4px`,transition:`all 0.2s ease`},children:(0,R.jsxs)(`div`,{style:{width:`100%`,position:`relative`},onMouseEnter:()=>E(!0),onMouseLeave:()=>E(!1),children:[(0,R.jsx)(P,{avatar:(0,R.jsx)(F,{children:D?.emoji||`👤`}),title:(0,R.jsxs)(_,{size:4,children:[(0,R.jsx)(z,{strong:!0,style:{fontSize:v.fontSizeSM},children:D?.name||`Anonymous`}),(0,R.jsx)(z,{type:`secondary`,style:{fontSize:v.fontSizeSM},children:new Date(e.created_at).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`})}),e.edited&&(0,R.jsx)(z,{type:`secondary`,style:{fontSize:v.fontSizeSM,fontStyle:`italic`},children:`(edited)`}),e.resolved&&(0,R.jsx)(r,{color:`success`,style:{fontSize:v.fontSizeSM,lineHeight:`16px`,margin:0},children:`Resolved`})]}),description:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`div`,{style:{marginTop:4},children:(0,R.jsx)(j,{content:e.content,style:{fontSize:v.fontSizeSM}})}),c&&(e.reactions||[]).length>0&&(0,R.jsx)(`div`,{style:{marginTop:4},children:(0,R.jsx)(V,{reactions:e.reactions||[],currentUserId:a,userById:i,onToggle:t=>c(e.comment_id,t)})})]})}),T&&(0,R.jsx)(`div`,{style:{position:`absolute`,top:4,right:0,backgroundColor:v.colorBgContainer,borderRadius:4,padding:`2px`,boxShadow:`0 2px 8px rgba(0, 0, 0, 0.15)`},children:(0,R.jsxs)(_,{size:`small`,children:[c&&(0,R.jsx)(H,{onToggle:t=>c(e.comment_id,t)}),o&&(0,R.jsx)(n,{type:`text`,size:`small`,icon:(0,R.jsx)(h,{}),onClick:()=>b(!y),title:`Reply`,style:{color:v.colorTextSecondary}}),s&&!e.resolved&&(0,R.jsx)(n,{type:`text`,size:`small`,icon:(0,R.jsx)(m,{}),onClick:()=>s(e.comment_id),title:`Resolve`,style:{color:v.colorTextSecondary}}),s&&e.resolved&&(0,R.jsx)(n,{type:`text`,size:`small`,icon:(0,R.jsx)(g,{}),onClick:()=>s(e.comment_id),title:`Reopen`,style:{color:v.colorTextSecondary}}),l&&O&&(0,R.jsx)(n,{type:`text`,size:`small`,icon:(0,R.jsx)(p,{}),onClick:()=>l(e.comment_id),title:`Delete`,danger:!0,style:{color:v.colorTextSecondary}})]})}),t.length>0&&(0,R.jsx)(`div`,{style:{marginLeft:16,marginTop:8,borderLeft:`2px solid ${v.colorBorder}`,paddingLeft:8},children:t.map(e=>(0,R.jsx)(ie,{reply:e,userById:i,currentUserId:a,onToggleReaction:c,onDelete:l},e.comment_id))}),y&&o&&(0,R.jsxs)(`div`,{style:{marginLeft:32,marginTop:8,display:`flex`,gap:8,alignItems:`flex-end`},children:[(0,R.jsx)(`div`,{style:{flex:1},children:(0,R.jsx)(I,{value:x,onChange:w,onKeyPress:t=>{t.key===`Enter`&&!t.shiftKey&&(t.preventDefault(),x.trim()&&(o(e.comment_id,x),w(``),b(!1)))},placeholder:`Reply... (type @ for autocomplete)`,autoSize:{minRows:1,maxRows:4},client:f,sessionId:null,userById:i})}),(0,R.jsx)(n,{type:`primary`,icon:(0,R.jsx)(S,{}),onClick:()=>{x.trim()&&(o(e.comment_id,x),w(``),b(!1))},disabled:!x.trim()})]})]})})};function U(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function oe(e,t,n){if(!t&&!n)return!1;let r=[];return t&&(r.push(RegExp(`@${U(t)}(?![\\w])`,`i`)),r.push(RegExp(`@"${U(t)}"`,`i`))),n&&(r.push(RegExp(`@${U(n)}(?![\\w])`,`i`)),r.push(RegExp(`@"${U(n)}"`,`i`))),r.some(t=>t.test(e))}var W=({client:e,boardId:r,comments:a,userById:o,currentUserId:c,boardObjects:d={},branchById:p,loading:m=!1,collapsed:g=!1,onToggleCollapse:v,onSendComment:y,onReplyComment:x,onResolveComment:w,onToggleReaction:E,onDeleteComment:D,hoveredCommentId:O,selectedCommentId:k})=>{let{token:A}=C.useToken(),[j,ee]=(0,L.useState)(`active`),[M,N]=(0,L.useState)(``),P=te();function F(e){if(e)return(...t)=>{P.canMutate&&e(...t)}}let ne=F(y),re=F(x),V=F(w),H=F(E),ie=F(D),U=c?o.get(c):void 0,W=U?.name,G=U?.email,K=L.useRef({}),q=(0,L.useMemo)(()=>a.filter(e=>T(e)),[a]),J=(0,L.useMemo)(()=>a.filter(e=>!T(e)),[a]),Y=(0,L.useMemo)(()=>{let e={};for(let t of J)t.parent_comment_id&&(e[t.parent_comment_id]||(e[t.parent_comment_id]=[]),e[t.parent_comment_id].push(t));return e},[J]),se=(0,L.useMemo)(()=>e=>oe(e.content,W,G)?!0:(Y[e.comment_id]||[]).some(e=>oe(e.content,W,G)),[Y,W,G]),X=(0,L.useMemo)(()=>q.filter(e=>!(j===`active`&&e.resolved)).sort((e,t)=>new Date(e.created_at).getTime()-new Date(t.created_at).getTime()),[q,j]),Z=(0,L.useMemo)(()=>{let e={};for(let t of X){let n=`board`,r=`Board`,i=`board`,a;if(t.position?.relative){let{parent_id:e,parent_type:o}=t.position.relative;if(o===`zone`){n=`zone-${e}`;let t=d?.[`zone-${e}`];r=t&&`label`in t?t.label:`Zone`,a=t&&`color`in t?t.color:void 0,i=`zone`}else if(o===`branch`){n=`branch-${e}`;let t=p?.get(e);r=t?t.name:`Unknown Branch`,i=`branch`}}else if(t.branch_id){n=`branch-${t.branch_id}`;let e=p?.get(t.branch_id);r=e?e.name:`Unknown Branch`,i=`branch`}e[n]||(e[n]={type:i,label:r,color:a,threads:[]}),e[n].threads.push(t)}return e},[X,d,p]),Q=(0,L.useMemo)(()=>Object.entries(Z).sort(([,e],[,t])=>{let n={board:0,zone:1,branch:2},r=n[e.type],i=n[t.type];return r===i?e.label.localeCompare(t.label):r-i}),[Z]);return(0,L.useEffect)(()=>{k&&K.current[k]&&K.current[k]?.current?.scrollIntoView({behavior:`smooth`,block:`center`})},[k]),g?null:(0,R.jsxs)(`div`,{style:{width:`100%`,height:`100%`,backgroundColor:A.colorBgContainer,borderRight:`1px solid ${A.colorBorder}`,display:`flex`,flexDirection:`column`},children:[(0,R.jsxs)(`div`,{style:{padding:12,borderBottom:`1px solid ${A.colorBorder}`,display:`flex`,alignItems:`center`,justifyContent:`space-between`},children:[(0,R.jsxs)(_,{children:[(0,R.jsx)(h,{}),(0,R.jsx)(B,{level:5,style:{margin:0},children:`Comments`}),(0,R.jsx)(u,{count:X.length,showZero:!1,style:{backgroundColor:X.some(se)?A.colorError:A.colorPrimaryBgHover}})]}),v&&(0,R.jsx)(n,{type:`text`,size:`small`,icon:(0,R.jsx)(t,{}),onClick:v,danger:!0})]}),(0,R.jsx)(`div`,{style:{padding:12,borderBottom:`1px solid ${A.colorBorder}`,backgroundColor:A.colorBgContainer},children:(0,R.jsxs)(_,{children:[(0,R.jsx)(n,{type:j===`active`?`primary`:`default`,size:`small`,onClick:()=>ee(`active`),children:`Active`}),(0,R.jsx)(n,{type:j===`all`?`primary`:`default`,size:`small`,onClick:()=>ee(`all`),children:`All`})]})}),(0,R.jsx)(`div`,{style:{flex:1,overflow:`auto`,backgroundColor:A.colorBgLayout},children:m?(0,R.jsx)(`div`,{style:{textAlign:`center`,padding:32},children:(0,R.jsx)(b,{description:`Loading comments...`})}):Object.keys(Z).length===0?(0,R.jsxs)(`div`,{style:{textAlign:`center`,padding:32,color:A.colorTextSecondary},children:[(0,R.jsx)(h,{style:{fontSize:48,marginBottom:16,opacity:.3}}),(0,R.jsx)(`div`,{children:`No comments yet`}),(0,R.jsx)(`div`,{style:{fontSize:12,marginTop:8},children:`Start a conversation about this board`})]}):(0,R.jsx)(s,{defaultActiveKey:Object.keys(Z),style:{border:`none`,backgroundColor:`transparent`},items:Q.map(([t,n])=>({key:t,label:(0,R.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8},children:[n.type===`board`&&(0,R.jsx)(l,{style:{fontSize:14,color:A.colorPrimary}}),n.type===`zone`&&n.color&&(0,R.jsx)(`div`,{style:{width:12,height:12,backgroundColor:`${n.color}${`1a`.padStart(2,`0`)}`,border:`1px solid ${n.color}`,borderRadius:2}}),n.type===`branch`&&(0,R.jsx)(i,{style:{fontSize:14,color:A.colorPrimary}}),(0,R.jsx)(z,{strong:!0,children:n.label}),(0,R.jsx)(u,{count:n.threads.length,style:{backgroundColor:n.threads.some(se)?A.colorError:A.colorPrimaryBg}})]}),children:(0,R.jsx)(R.Fragment,{children:n.threads.map(t=>{K.current[t.comment_id]||(K.current[t.comment_id]=L.createRef());let n=t.comment_id===O||t.comment_id===k;return(0,R.jsx)(ae,{comment:t,replies:Y[t.comment_id]||[],userById:o,currentUserId:c,onReply:re,onResolve:V,onToggleReaction:H,onDelete:ie,isHighlighted:n,scrollRef:K.current[t.comment_id],client:e},t.comment_id)})})}))})}),(0,R.jsxs)(`div`,{style:{padding:12,borderTop:`1px solid ${A.colorBorder}`,backgroundColor:A.colorBgContainer,display:`flex`,gap:8,alignItems:`flex-end`},children:[(0,R.jsx)(`div`,{style:{flex:1},children:(0,R.jsx)(I,{value:M,onChange:N,onKeyPress:e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),M.trim()&&P.canMutate&&(ne(M),N(``)))},placeholder:P.canMutate?`Add a comment... (type @ for autocomplete)`:P.message??`Add a comment...`,autoSize:{minRows:1,maxRows:4},client:e,sessionId:null,userById:o})}),(0,R.jsx)(f,{title:P.canMutate?``:P.message??``,placement:`topRight`,children:(0,R.jsx)(n,{type:`primary`,icon:(0,R.jsx)(S,{}),onClick:()=>{M.trim()&&(ne(M),N(``))},disabled:!M.trim()||!P.canMutate})})]})]})},G={damping:.7,stiffness:.05,mass:1.25},K=70,q=1e3/60,J=350,Y=!1;globalThis.document?.addEventListener(`mousedown`,()=>{Y=!0}),globalThis.document?.addEventListener(`mouseup`,()=>{Y=!1}),globalThis.document?.addEventListener(`click`,()=>{Y=!1});var se=(e={})=>{let[t,n]=(0,L.useState)(!1),[r,i]=(0,L.useState)(e.initial!==!1),[a,o]=(0,L.useState)(!1),s=(0,L.useRef)(null);s.current=e;let c=(0,L.useCallback)(()=>{if(!Y)return!1;let e=window.getSelection();if(!e||!e.rangeCount)return!1;let t=e.getRangeAt(0);return t.commonAncestorContainer.contains(g.current)||g.current?.contains(t.commonAncestorContainer)},[]),l=(0,L.useCallback)(e=>{d.isAtBottom=e,i(e)},[]),u=(0,L.useCallback)(e=>{d.escapedFromLock=e,n(e)},[]),d=(0,L.useMemo)(()=>{let n;return{escapedFromLock:t,isAtBottom:r,resizeDifference:0,accumulated:0,velocity:0,listeners:new Set,get scrollTop(){return g.current?.scrollTop??0},set scrollTop(e){if(g.current){let{scrollBehavior:t}=getComputedStyle(g.current);t!==`auto`&&(g.current.style.scrollBehavior=`auto`),g.current.scrollTop=e,d.ignoreScrollToTop=g.current.scrollTop,t!==`auto`&&(g.current.style.scrollBehavior=t)}},get targetScrollTop(){return!g.current||!_.current?0:g.current.scrollHeight-1-g.current.clientHeight},get calculatedTargetScrollTop(){if(!g.current||!_.current)return 0;let{targetScrollTop:t}=this;if(!e.targetScrollTop)return t;if(n?.targetScrollTop===t)return n.calculatedScrollTop;let r=Math.max(Math.min(e.targetScrollTop(t,{scrollElement:g.current,contentElement:_.current}),t),0);return n={targetScrollTop:t,calculatedScrollTop:r},requestAnimationFrame(()=>{n=void 0}),r},get scrollDifference(){return this.calculatedTargetScrollTop-this.scrollTop},get isNearBottom(){return this.scrollDifference<=K}}},[]),f=(0,L.useCallback)((e={})=>{typeof e==`string`&&(e={animation:e}),e.preserveScrollPosition||l(!0);let t=Date.now()+(Number(e.wait)||0),n=Q(s.current,e.animation),{ignoreEscapes:r=!1}=e,i,a=d.calculatedTargetScrollTop;e.duration instanceof Promise?e.duration.finally(()=>{i=Date.now()}):i=t+(e.duration??0);let o=async()=>{let e=new Promise(requestAnimationFrame).then(()=>{if(!d.isAtBottom)return d.animation=void 0,!1;let{scrollTop:l}=d,u=performance.now(),p=(u-(d.lastTick??u))/q;if(d.animation||={behavior:n,promise:e,ignoreEscapes:r},d.animation.behavior===n&&(d.lastTick=u),c()||t>Date.now())return o();if(l<Math.min(a,d.calculatedTargetScrollTop)){if(d.animation?.behavior===n){if(n===`instant`)return d.scrollTop=d.calculatedTargetScrollTop,o();d.velocity=(n.damping*d.velocity+n.stiffness*d.scrollDifference)/n.mass,d.accumulated+=d.velocity*p,d.scrollTop+=d.accumulated,d.scrollTop!==l&&(d.accumulated=0)}return o()}return i>Date.now()?(a=d.calculatedTargetScrollTop,o()):(d.animation=void 0,d.scrollTop<d.calculatedTargetScrollTop?f({animation:Q(s.current,s.current.resize),ignoreEscapes:r,duration:Math.max(0,i-Date.now())||void 0}):d.isAtBottom)});return e.then(e=>(requestAnimationFrame(()=>{d.animation||(d.lastTick=void 0,d.velocity=0)}),e))};return e.wait!==!0&&(d.animation=void 0),d.animation?.behavior===n?d.animation.promise:o()},[l,c,d]),p=(0,L.useCallback)(()=>{u(!0),l(!1)},[u,l]),m=(0,L.useCallback)(({target:e})=>{if(e!==g.current)return;let{scrollTop:t,ignoreScrollToTop:n}=d,{lastScrollTop:r=t}=d;d.lastScrollTop=t,d.ignoreScrollToTop=void 0,n&&n>t&&(r=n),o(d.isNearBottom),setTimeout(()=>{if(d.resizeDifference||t===n)return;if(c()){u(!0),l(!1);return}let e=t>r,i=t<r;if(d.animation?.ignoreEscapes){d.scrollTop=r;return}i&&(u(!0),l(!1)),e&&u(!1),!d.escapedFromLock&&d.isNearBottom&&l(!0)},1)},[u,l,c,d]),h=(0,L.useCallback)(({target:e,deltaY:t})=>{let n=e;for(;![`scroll`,`auto`].includes(getComputedStyle(n).overflow);){if(!n.parentElement)return;n=n.parentElement}n===g.current&&t<0&&g.current.scrollHeight>g.current.clientHeight&&!d.animation?.ignoreEscapes&&(u(!0),l(!1))},[u,l,d]),g=X(e=>{g.current?.removeEventListener(`scroll`,m),g.current?.removeEventListener(`wheel`,h),e?.addEventListener(`scroll`,m,{passive:!0}),e?.addEventListener(`wheel`,h,{passive:!0})},[]),_=X(e=>{if(d.resizeObserver?.disconnect(),d.resizeObserver=void 0,!e)return;let t;d.resizeObserver=new ResizeObserver(([e])=>{let{height:n}=e.contentRect,r=n-(t??n);if(d.resizeDifference=r,d.scrollTop>d.targetScrollTop&&(d.scrollTop=d.targetScrollTop),o(d.isNearBottom),r>=0){let e=Q(s.current,t?s.current.resize:s.current.initial);f({animation:e,wait:!0,preserveScrollPosition:!0,duration:e===`instant`?void 0:J})}else d.isNearBottom&&(u(!1),l(!0));t=n,requestAnimationFrame(()=>{setTimeout(()=>{d.resizeDifference===r&&(d.resizeDifference=0)},1)})}),d.resizeObserver?.observe(e)},[]);return{contentRef:_,scrollRef:g,scrollToBottom:f,stopScroll:p,isAtBottom:r||a,isNearBottom:a,escapedFromLock:t,state:d}};function X(e,t){let n=(0,L.useCallback)(t=>(n.current=t,e(t)),t);return n}var Z=new Map;function Q(...e){let t={...G},n=!1;for(let r of e){if(r===`instant`){n=!0;continue}typeof r==`object`&&(n=!1,t.damping=r.damping??t.damping,t.stiffness=r.stiffness??t.stiffness,t.mass=r.mass??t.mass)}let r=JSON.stringify(t);return Z.has(r)||Z.set(r,Object.freeze(t)),n?`instant`:Z.get(r)}var{Text:ce}=a,le=new Map,ue=[],$=L.memo(({client:e,sessionId:t,agentic_tool:r,sessionModel:a,userById:s=new Map,currentUserId:c,onScrollRef:l,onPermissionDecision:u,branchName:f,scheduledFromBranch:p,scheduledRunAt:m,emptyStateMessage:h=`No messages yet. Send a prompt to start the conversation.`,isActive:g=!0,genealogy:_,assistantEmoji:v})=>{let{token:x}=C.useToken(),[S,T]=k(),{scrollRef:E,contentRef:O,scrollToBottom:j,stopScroll:te,state:N}=se({initial:`instant`,resize:`instant`}),P=(0,L.useCallback)(()=>{N.escapedFromLock=!1,j()},[N,j]),F=(0,L.useCallback)(()=>{te(),E.current&&(E.current.scrollTop=0)},[E,te]);(0,L.useEffect)(()=>{l&&l(P,F)},[l,P,F]);let{handle:I,state:z}=M(e,t,{enabled:g,reactiveOptions:{taskHydration:`lazy`}}),B=z?.sessionId===t?z:null,V=(0,L.useMemo)(()=>(B?.tasks||[]).filter(e=>e.status!==w.QUEUED),[B?.tasks]),H=V.length>0;(0,L.useEffect)(()=>{g&&t&&H&&P()},[g,t,H,P]);let ie=B?.streamingMessages||le,ae=B?B.loading:!!t,U=B?.error||null,oe=!!B?.terminal,[W,G]=(0,L.useState)(!1),K=re(ie),[q,J]=(0,L.useState)(()=>V.length>0?new Set([V[V.length-1].task_id]):new Set),Y=V.length>0?V[V.length-1].task_id:null;(0,L.useEffect)(()=>{if(!g||!Y)return;let e=N.escapedFromLock;J(t=>{if(t.has(Y))return t;if(e){let e=new Set(t);return e.add(Y),e}return new Set([Y])})},[g,Y,N]);let X=(0,L.useCallback)((e,t)=>{J(n=>{let r=new Set(n);return t?r.add(e):r.delete(e),r})},[]),Z=(0,L.useCallback)(e=>{if(I)return I.loadTaskMessages(e).then(()=>void 0)},[I]),Q=(0,L.useCallback)(e=>{I&&I.unloadTaskMessages(e)},[I]);if(U)return(0,R.jsx)(d,{type:`error`,title:`Failed to load conversation`,description:U,showIcon:!0,action:I&&B&&!oe?(0,R.jsx)(n,{size:`small`,loading:W,onClick:async()=>{G(!0);try{await I.resync()}finally{G(!1)}},children:`Reload`}):void 0});if(ae&&V.length===0)return(0,R.jsx)(`div`,{style:{flex:1,display:`flex`,justifyContent:`center`,alignItems:`center`,padding:`2rem`},children:(0,R.jsx)(b,{})});if(V.length===0)return(0,R.jsxs)(`div`,{style:{display:`flex`,justifyContent:`center`,alignItems:`center`,height:`100%`,padding:`2rem`,flexDirection:`column`,gap:`24px`},children:[(0,R.jsx)(`img`,{src:A(),alt:ee.name,style:{width:160,height:160,opacity:.5,borderRadius:`50%`}}),(0,R.jsx)(ce,{type:`secondary`,children:h})]});let $=!!_?.forked_from_session_id,de=!!_?.parent_session_id;return(0,R.jsx)(`div`,{ref:E,"data-testid":`conversation-scroll-container`,style:{flex:1,overflowY:`auto`,padding:`12px 0`,minHeight:0},children:(0,R.jsxs)(`div`,{ref:O,children:[(0,R.jsx)(()=>{if(!$&&!de)return null;let e=$?_?.forked_from_session_id:_?.parent_session_id,t=$?_?.fork_point_message_index:_?.spawn_point_message_index,n=$?(0,R.jsx)(y,{}):(0,R.jsx)(i,{}),r=$?`Forked`:`Spawned`,a=e?D(e):void 0;return(0,R.jsxs)(`div`,{style:{margin:`12px 0`,padding:`${x.sizeUnit*3}px ${x.sizeUnit*4}px`,background:$?x.colorInfoBg:x.colorPrimaryBg,border:`1px solid ${$?x.colorInfoBorder:x.colorPrimaryBorder}`,borderRadius:x.borderRadiusLG,display:`flex`,alignItems:`center`,gap:x.sizeUnit*3},children:[(0,R.jsx)(`span`,{style:{fontSize:20,color:x.colorTextSecondary},children:n}),(0,R.jsx)(`div`,{style:{flex:1},children:(0,R.jsxs)(ce,{style:{fontSize:x.fontSizeLG},children:[r,` from session`,` `,(0,R.jsx)(ce,{code:!0,strong:!0,style:{fontSize:x.fontSizeLG},children:a}),t!==void 0&&(0,R.jsxs)(R.Fragment,{children:[` `,`as of message`,` `,(0,R.jsx)(ce,{code:!0,strong:!0,style:{fontSize:x.fontSizeLG},children:t})]})]})}),(0,R.jsx)(o,{onClick:()=>e&&T(e),style:{cursor:`pointer`,fontSize:16,color:S?x.colorSuccess:x.colorTextSecondary},title:S?`Copied!`:`Copy session ID`})]})},{}),V.map((n,i)=>(0,R.jsx)(ne,{task:n,agentic_tool:r,sessionModel:a,userById:s,currentUserId:c,isExpanded:q.has(n.task_id),onExpandChange:X,sessionId:t,onPermissionDecision:u,branchName:f,scheduledFromBranch:p,scheduledRunAt:m,streamingMessages:K.get(n.task_id),taskMessages:B?.messagesByTask.get(n.task_id)||ue,taskMessagesLoaded:!!B?.loadedTaskIds.has(n.task_id),onLoadTaskMessages:Z,onUnloadTaskMessages:Q,assistantEmoji:v,isLatestTask:i===V.length-1,client:e},n.task_id))]})})});$.displayName=`ConversationView`;export{W as n,$ as t};
|
|
Binary file
|
|
Binary file
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime--c01j_DQ.js";import{$t as t,An as n,At as r,Bn as i,Bt as a,C as o,Dn as s,Dt as c,Ft as l,Gt as u,Hn as d,Ht as f,Kt as p,Ln as m,Lt as h,Qn as g,Rn as _,Rt as ee,Sn as v,St as te,Tn as ne,Ut as re,Vn as ie,Wn as y,Wt as ae,X as oe,Xn as se,Xt as ce,b as le,bn as ue,cn as de,ct as fe,d as pe,en as me,fn as b,i as he,ir as ge,n as _e,nn as ve,pn as ye,rn as be,rt as xe,sn as x,tn as Se,un as S,ut as C,vn as Ce,yn as we,zn as Te,zt as Ee}from"./antd-DT5ackd0.js";import{D as De,G as w,H as Oe,T as ke,U as T,W as Ae,z as je}from"./src-DAeyG22O.js";import{N as E}from"./editor-DQIG-JYZ.js";import{O as D,a as Me,c as O,f as Ne,i as k,l as Pe,m as A,n as Fe,o as Ie,s as Le}from"./reactflow-Cubtnk8i.js";import{Bn as Re,N as ze,P as Be,Pt as Ve,Qt as He,St as Ue,Vn as We,Yt as Ge,bn as Ke,k as qe,vn as Je,wn as Ye,zn as Xe}from"./index-DTz1Dif6.js";import{i as Ze,n as Qe,r as $e,t as et}from"./useUserLocalStorage-C8sgXgXR.js";import{n as tt,t as nt}from"./ThemeSwitcher-D9HgT37l.js";import{a as rt,c as it,i as at,l as ot,n as st,o as ct,r as lt,s as ut,t as dt}from"./AutocompleteTextarea-Dau-V_30.js";function ft(e,t){var n,r=1;e??=0,t??=0;function i(){var i,a=n.length,o,s=0,c=0;for(i=0;i<a;++i)o=n[i],s+=o.x,c+=o.y;for(s=(s/a-e)*r,c=(c/a-t)*r,i=0;i<a;++i)o=n[i],o.x-=s,o.y-=c}return i.initialize=function(e){n=e},i.x=function(t){return arguments.length?(e=+t,i):e},i.y=function(e){return arguments.length?(t=+e,i):t},i.strength=function(e){return arguments.length?(r=+e,i):r},i}function pt(e){let t=+this._x.call(null,e),n=+this._y.call(null,e);return mt(this.cover(t,n),t,n,e)}function mt(e,t,n,r){if(isNaN(t)||isNaN(n))return e;var i,a=e._root,o={data:r},s=e._x0,c=e._y0,l=e._x1,u=e._y1,d,f,p,m,h,g,_,ee;if(!a)return e._root=o,e;for(;a.length;)if((h=t>=(d=(s+l)/2))?s=d:l=d,(g=n>=(f=(c+u)/2))?c=f:u=f,i=a,!(a=a[_=g<<1|h]))return i[_]=o,e;if(p=+e._x.call(null,a.data),m=+e._y.call(null,a.data),t===p&&n===m)return o.next=a,i?i[_]=o:e._root=o,e;do i=i?i[_]=[,,,,]:e._root=[,,,,],(h=t>=(d=(s+l)/2))?s=d:l=d,(g=n>=(f=(c+u)/2))?c=f:u=f;while((_=g<<1|h)==(ee=(m>=f)<<1|p>=d));return i[ee]=a,i[_]=o,e}function ht(e){var t,n,r=e.length,i,a,o=Array(r),s=Array(r),c=1/0,l=1/0,u=-1/0,d=-1/0;for(n=0;n<r;++n)isNaN(i=+this._x.call(null,t=e[n]))||isNaN(a=+this._y.call(null,t))||(o[n]=i,s[n]=a,i<c&&(c=i),i>u&&(u=i),a<l&&(l=a),a>d&&(d=a));if(c>u||l>d)return this;for(this.cover(c,l).cover(u,d),n=0;n<r;++n)mt(this,o[n],s[n],e[n]);return this}function j(e,t){if(isNaN(e=+e)||isNaN(t=+t))return this;var n=this._x0,r=this._y0,i=this._x1,a=this._y1;if(isNaN(n))i=(n=Math.floor(e))+1,a=(r=Math.floor(t))+1;else{for(var o=i-n||1,s=this._root,c,l;n>e||e>=i||r>t||t>=a;)switch(l=(t<r)<<1|e<n,c=[,,,,],c[l]=s,s=c,o*=2,l){case 0:i=n+o,a=r+o;break;case 1:n=i-o,a=r+o;break;case 2:i=n+o,r=a-o;break;case 3:n=i-o,r=a-o;break}this._root&&this._root.length&&(this._root=s)}return this._x0=n,this._y0=r,this._x1=i,this._y1=a,this}function gt(){var e=[];return this.visit(function(t){if(!t.length)do e.push(t.data);while(t=t.next)}),e}function _t(e){return arguments.length?this.cover(+e[0][0],+e[0][1]).cover(+e[1][0],+e[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]}function M(e,t,n,r,i){this.node=e,this.x0=t,this.y0=n,this.x1=r,this.y1=i}function vt(e,t,n){var r,i=this._x0,a=this._y0,o,s,c,l,u=this._x1,d=this._y1,f=[],p=this._root,m,h;for(p&&f.push(new M(p,i,a,u,d)),n==null?n=1/0:(i=e-n,a=t-n,u=e+n,d=t+n,n*=n);m=f.pop();)if(!(!(p=m.node)||(o=m.x0)>u||(s=m.y0)>d||(c=m.x1)<i||(l=m.y1)<a))if(p.length){var g=(o+c)/2,_=(s+l)/2;f.push(new M(p[3],g,_,c,l),new M(p[2],o,_,g,l),new M(p[1],g,s,c,_),new M(p[0],o,s,g,_)),(h=(t>=_)<<1|e>=g)&&(m=f[f.length-1],f[f.length-1]=f[f.length-1-h],f[f.length-1-h]=m)}else{var ee=e-+this._x.call(null,p.data),v=t-+this._y.call(null,p.data),te=ee*ee+v*v;if(te<n){var ne=Math.sqrt(n=te);i=e-ne,a=t-ne,u=e+ne,d=t+ne,r=p.data}}return r}function yt(e){if(isNaN(u=+this._x.call(null,e))||isNaN(d=+this._y.call(null,e)))return this;var t,n=this._root,r,i,a,o=this._x0,s=this._y0,c=this._x1,l=this._y1,u,d,f,p,m,h,g,_;if(!n)return this;if(n.length)for(;;){if((m=u>=(f=(o+c)/2))?o=f:c=f,(h=d>=(p=(s+l)/2))?s=p:l=p,t=n,!(n=n[g=h<<1|m]))return this;if(!n.length)break;(t[g+1&3]||t[g+2&3]||t[g+3&3])&&(r=t,_=g)}for(;n.data!==e;)if(i=n,!(n=n.next))return this;return(a=n.next)&&delete n.next,i?(a?i.next=a:delete i.next,this):t?(a?t[g]=a:delete t[g],(n=t[0]||t[1]||t[2]||t[3])&&n===(t[3]||t[2]||t[1]||t[0])&&!n.length&&(r?r[_]=n:this._root=n),this):(this._root=a,this)}function N(e){for(var t=0,n=e.length;t<n;++t)this.remove(e[t]);return this}function bt(){return this._root}function P(){var e=0;return this.visit(function(t){if(!t.length)do++e;while(t=t.next)}),e}function F(e){var t=[],n,r=this._root,i,a,o,s,c;for(r&&t.push(new M(r,this._x0,this._y0,this._x1,this._y1));n=t.pop();)if(!e(r=n.node,a=n.x0,o=n.y0,s=n.x1,c=n.y1)&&r.length){var l=(a+s)/2,u=(o+c)/2;(i=r[3])&&t.push(new M(i,l,u,s,c)),(i=r[2])&&t.push(new M(i,a,u,l,c)),(i=r[1])&&t.push(new M(i,l,o,s,u)),(i=r[0])&&t.push(new M(i,a,o,l,u))}return this}function xt(e){var t=[],n=[],r;for(this._root&&t.push(new M(this._root,this._x0,this._y0,this._x1,this._y1));r=t.pop();){var i=r.node;if(i.length){var a,o=r.x0,s=r.y0,c=r.x1,l=r.y1,u=(o+c)/2,d=(s+l)/2;(a=i[0])&&t.push(new M(a,o,s,u,d)),(a=i[1])&&t.push(new M(a,u,s,c,d)),(a=i[2])&&t.push(new M(a,o,d,u,l)),(a=i[3])&&t.push(new M(a,u,d,c,l))}n.push(r)}for(;r=n.pop();)e(r.node,r.x0,r.y0,r.x1,r.y1);return this}function I(e){return e[0]}function St(e){return arguments.length?(this._x=e,this):this._x}function Ct(e){return e[1]}function wt(e){return arguments.length?(this._y=e,this):this._y}function Tt(e,t,n){var r=new Et(t??I,n??Ct,NaN,NaN,NaN,NaN);return e==null?r:r.addAll(e)}function Et(e,t,n,r,i,a){this._x=e,this._y=t,this._x0=n,this._y0=r,this._x1=i,this._y1=a,this._root=void 0}function Dt(e){for(var t={data:e.data},n=t;e=e.next;)n=n.next={data:e.data};return t}var L=Tt.prototype=Et.prototype;L.copy=function(){var e=new Et(this._x,this._y,this._x0,this._y0,this._x1,this._y1),t=this._root,n,r;if(!t)return e;if(!t.length)return e._root=Dt(t),e;for(n=[{source:t,target:e._root=[,,,,]}];t=n.pop();)for(var i=0;i<4;++i)(r=t.source[i])&&(r.length?n.push({source:r,target:t.target[i]=[,,,,]}):t.target[i]=Dt(r));return e},L.add=pt,L.addAll=ht,L.cover=j,L.data=gt,L.extent=_t,L.find=vt,L.remove=yt,L.removeAll=N,L.root=bt,L.size=P,L.visit=F,L.visitAfter=xt,L.x=St,L.y=wt;function R(e){return function(){return e}}function Ot(e){return(e()-.5)*1e-6}function kt(e){return e.x+e.vx}function At(e){return e.y+e.vy}function jt(e){var t,n,r,i=1,a=1;typeof e!=`function`&&(e=R(e==null?1:+e));function o(){for(var e,o=t.length,c,l,u,d,f,p,m=0;m<a;++m)for(c=Tt(t,kt,At).visitAfter(s),e=0;e<o;++e)l=t[e],f=n[l.index],p=f*f,u=l.x+l.vx,d=l.y+l.vy,c.visit(h);function h(e,t,n,a,o){var s=e.data,c=e.r,m=f+c;if(s){if(s.index>l.index){var h=u-s.x-s.vx,g=d-s.y-s.vy,_=h*h+g*g;_<m*m&&(h===0&&(h=Ot(r),_+=h*h),g===0&&(g=Ot(r),_+=g*g),_=(m-(_=Math.sqrt(_)))/_*i,l.vx+=(h*=_)*(m=(c*=c)/(p+c)),l.vy+=(g*=_)*m,s.vx-=h*(m=1-m),s.vy-=g*m)}return}return t>u+m||a<u-m||n>d+m||o<d-m}}function s(e){if(e.data)return e.r=n[e.data.index];for(var t=e.r=0;t<4;++t)e[t]&&e[t].r>e.r&&(e.r=e[t].r)}function c(){if(t){var r,i=t.length,a;for(n=Array(i),r=0;r<i;++r)a=t[r],n[a.index]=+e(a,r,t)}}return o.initialize=function(e,n){t=e,r=n,c()},o.iterations=function(e){return arguments.length?(a=+e,o):a},o.strength=function(e){return arguments.length?(i=+e,o):i},o.radius=function(t){return arguments.length?(e=typeof t==`function`?t:R(+t),c(),o):e},o}function Mt(e){return e.index}function Nt(e,t){var n=e.get(t);if(!n)throw Error(`node not found: `+t);return n}function Pt(e){var t=Mt,n=d,r,i=R(30),a,o,s,c,l,u=1;e??=[];function d(e){return 1/Math.min(s[e.source.index],s[e.target.index])}function f(t){for(var n=0,i=e.length;n<u;++n)for(var o=0,s,d,f,p,m,h,g;o<i;++o)s=e[o],d=s.source,f=s.target,p=f.x+f.vx-d.x-d.vx||Ot(l),m=f.y+f.vy-d.y-d.vy||Ot(l),h=Math.sqrt(p*p+m*m),h=(h-a[o])/h*t*r[o],p*=h,m*=h,f.vx-=p*(g=c[o]),f.vy-=m*g,d.vx+=p*(g=1-g),d.vy+=m*g}function p(){if(o){var n,i=o.length,l=e.length,u=new Map(o.map((e,n)=>[t(e,n,o),e])),d;for(n=0,s=Array(i);n<l;++n)d=e[n],d.index=n,typeof d.source!=`object`&&(d.source=Nt(u,d.source)),typeof d.target!=`object`&&(d.target=Nt(u,d.target)),s[d.source.index]=(s[d.source.index]||0)+1,s[d.target.index]=(s[d.target.index]||0)+1;for(n=0,c=Array(l);n<l;++n)d=e[n],c[n]=s[d.source.index]/(s[d.source.index]+s[d.target.index]);r=Array(l),m(),a=Array(l),h()}}function m(){if(o)for(var t=0,i=e.length;t<i;++t)r[t]=+n(e[t],t,e)}function h(){if(o)for(var t=0,n=e.length;t<n;++t)a[t]=+i(e[t],t,e)}return f.initialize=function(e,t){o=e,l=t,p()},f.links=function(t){return arguments.length?(e=t,p(),f):e},f.id=function(e){return arguments.length?(t=e,f):t},f.iterations=function(e){return arguments.length?(u=+e,f):u},f.strength=function(e){return arguments.length?(n=typeof e==`function`?e:R(+e),m(),f):n},f.distance=function(e){return arguments.length?(i=typeof e==`function`?e:R(+e),h(),f):i},f}var Ft=1664525,It=1013904223,Lt=4294967296;function Rt(){let e=1;return()=>(e=(Ft*e+It)%Lt)/Lt}function zt(e){return e.x}function z(e){return e.y}var Bt=10,B=Math.PI*(3-Math.sqrt(5));function Vt(e){var t,n=1,r=.001,i=1-r**(1/300),a=0,o=.6,s=new Map,c=A(d),l=D(`tick`,`end`),u=Rt();e??=[];function d(){f(),l.call(`tick`,t),n<r&&(c.stop(),l.call(`end`,t))}function f(r){var c,l=e.length,u;r===void 0&&(r=1);for(var d=0;d<r;++d)for(n+=(a-n)*i,s.forEach(function(e){e(n)}),c=0;c<l;++c)u=e[c],u.fx==null?u.x+=u.vx*=o:(u.x=u.fx,u.vx=0),u.fy==null?u.y+=u.vy*=o:(u.y=u.fy,u.vy=0);return t}function p(){for(var t=0,n=e.length,r;t<n;++t){if(r=e[t],r.index=t,r.fx!=null&&(r.x=r.fx),r.fy!=null&&(r.y=r.fy),isNaN(r.x)||isNaN(r.y)){var i=Bt*Math.sqrt(.5+t),a=t*B;r.x=i*Math.cos(a),r.y=i*Math.sin(a)}(isNaN(r.vx)||isNaN(r.vy))&&(r.vx=r.vy=0)}}function m(t){return t.initialize&&t.initialize(e,u),t}return p(),t={tick:f,restart:function(){return c.restart(d),t},stop:function(){return c.stop(),t},nodes:function(n){return arguments.length?(e=n,p(),s.forEach(m),t):e},alpha:function(e){return arguments.length?(n=+e,t):n},alphaMin:function(e){return arguments.length?(r=+e,t):r},alphaDecay:function(e){return arguments.length?(i=+e,t):+i},alphaTarget:function(e){return arguments.length?(a=+e,t):a},velocityDecay:function(e){return arguments.length?(o=1-e,t):1-o},randomSource:function(e){return arguments.length?(u=e,s.forEach(m),t):u},force:function(e,n){return arguments.length>1?(n==null?s.delete(e):s.set(e,m(n)),t):s.get(e)},find:function(t,n,r){var i=0,a=e.length,o,s,c,l,u;for(r==null?r=1/0:r*=r,i=0;i<a;++i)l=e[i],o=t-l.x,s=n-l.y,c=o*o+s*s,c<r&&(u=l,r=c);return u},on:function(e,n){return arguments.length>1?(l.on(e,n),t):l.on(e)}}}function Ht(){var e,t,n,r,i=R(-30),a,o=1,s=1/0,c=.81;function l(n){var i,a=e.length,o=Tt(e,zt,z).visitAfter(d);for(r=n,i=0;i<a;++i)t=e[i],o.visit(f)}function u(){if(e){var t,n=e.length,r;for(a=Array(n),t=0;t<n;++t)r=e[t],a[r.index]=+i(r,t,e)}}function d(e){var t=0,n,r,i=0,o,s,c;if(e.length){for(o=s=c=0;c<4;++c)(n=e[c])&&(r=Math.abs(n.value))&&(t+=n.value,i+=r,o+=r*n.x,s+=r*n.y);e.x=o/i,e.y=s/i}else{n=e,n.x=n.data.x,n.y=n.data.y;do t+=a[n.data.index];while(n=n.next)}e.value=t}function f(e,i,l,u){if(!e.value)return!0;var d=e.x-t.x,f=e.y-t.y,p=u-i,m=d*d+f*f;if(p*p/c<m)return m<s&&(d===0&&(d=Ot(n),m+=d*d),f===0&&(f=Ot(n),m+=f*f),m<o&&(m=Math.sqrt(o*m)),t.vx+=d*e.value*r/m,t.vy+=f*e.value*r/m),!0;if(!(e.length||m>=s)){(e.data!==t||e.next)&&(d===0&&(d=Ot(n),m+=d*d),f===0&&(f=Ot(n),m+=f*f),m<o&&(m=Math.sqrt(o*m)));do e.data!==t&&(p=a[e.data.index]*r/m,t.vx+=d*p,t.vy+=f*p);while(e=e.next)}}return l.initialize=function(t,r){e=t,n=r,u()},l.strength=function(e){return arguments.length?(i=typeof e==`function`?e:R(+e),u(),l):i},l.distanceMin=function(e){return arguments.length?(o=e*e,l):Math.sqrt(o)},l.distanceMax=function(e){return arguments.length?(s=e*e,l):Math.sqrt(s)},l.theta=function(e){return arguments.length?(c=e*e,l):Math.sqrt(c)},l}function Ut(e,t,n){var r,i=R(.1),a,o;typeof e!=`function`&&(e=R(+e)),t??=0,n??=0;function s(e){for(var i=0,s=r.length;i<s;++i){var c=r[i],l=c.x-t||1e-6,u=c.y-n||1e-6,d=Math.sqrt(l*l+u*u),f=(o[i]-d)*a[i]*e/d;c.vx+=l*f,c.vy+=u*f}}function c(){if(r){var t,n=r.length;for(a=Array(n),o=Array(n),t=0;t<n;++t)o[t]=+e(r[t],t,r),a[t]=isNaN(o[t])?0:+i(r[t],t,r)}}return s.initialize=function(e){r=e,c()},s.strength=function(e){return arguments.length?(i=typeof e==`function`?e:R(+e),c(),s):i},s.radius=function(t){return arguments.length?(e=typeof t==`function`?t:R(+t),c(),s):e},s.x=function(e){return arguments.length?(t=+e,s):t},s.y=function(e){return arguments.length?(n=+e,s):n},s}var V=e(ge(),1),Wt={chargeStrength:-450,linkDistance:140,linkStrength:.35,centerStrength:1,collideRadius:60,alphaDecay:.045,radialStrength:0,degreeMode:`in`,verticalStrength:0};function Gt(e,t){return`${[...e].sort().join(`,`)}|${t.map(e=>`${e.source}>${e.target}`).sort().join(`,`)}`}function Kt(e){return 60+e*14}function qt(e,t){let n=e===`in`?t.inDeg:t.totalDeg,r=0;for(let e of n.values())e>r&&(r=e);let i=Kt(t.count);return e=>r===0?i:i*(1-(n.get(e.id)??0)/r)}function Jt(e,t){let n=n=>{let r=e*n;if(r!==0)for(let{source:e,target:n}of t)e.vy=(e.vy??0)-r,n.vy=(n.vy??0)+r};return n.initialize=()=>{},n}function Yt(e,t,n,r){e.force(`charge`)?.strength(t.chargeStrength),e.force(`link`)?.distance(t.linkDistance).strength(t.linkStrength),e.force(`center`)?.strength(t.centerStrength),e.force(`collide`)?.radius(t.collideRadius),e.force(`radial`,Ut(qt(t.degreeMode,n),0,0).strength(t.radialStrength)),e.force(`vertical`,Jt(t.verticalStrength,r)),e.alphaDecay(t.alphaDecay)}function Xt({nodeIds:e,links:t,setNodes:n,params:r,onTick:i,onSettle:a}){let o=(0,V.useRef)(null),s=(0,V.useRef)(new Map),c=(0,V.useRef)({inDeg:new Map,totalDeg:new Map,count:0}),l=(0,V.useRef)([]),u=(0,V.useRef)(null),d=(0,V.useRef)({nodeIds:e,links:t,setNodes:n,params:r,onTick:i,onSettle:a});d.current={nodeIds:e,links:t,setNodes:n,params:r,onTick:i,onSettle:a};let f=Gt(e,t),p=JSON.stringify(r);return(0,V.useEffect)(()=>{let{nodeIds:e,links:t,setNodes:n,params:r}=d.current;if(e.length===0){o.current?.stop(),o.current=null;return}let i=s.current,a=60+e.length*12,f=e.map((t,n)=>{let r=i.get(t);if(r)return{id:t,x:r.x,y:r.y};let o=n/e.length*2*Math.PI;return{id:t,x:Math.cos(o)*a,y:Math.sin(o)*a}}),p=new Map(f.map(e=>[e.id,e]));s.current=p;let m=t.filter(e=>p.has(e.source)&&p.has(e.target)).map(e=>({source:e.source,target:e.target})),h=new Map,g=new Map;for(let e of m)h.set(e.target,(h.get(e.target)??0)+1),g.set(e.source,(g.get(e.source)??0)+1),g.set(e.target,(g.get(e.target)??0)+1);let _={inDeg:h,totalDeg:g,count:e.length};c.current=_;let ee=m.map(e=>({source:p.get(e.source),target:p.get(e.target)}));l.current=ee;let v=Vt(f).force(`charge`,Ht().strength(r.chargeStrength)).force(`link`,Pt(m).id(e=>e.id).distance(r.linkDistance).strength(r.linkStrength)).force(`center`,ft(0,0).strength(r.centerStrength)).force(`collide`,jt(r.collideRadius)).force(`radial`,Ut(qt(r.degreeMode,_),0,0).strength(r.radialStrength)).force(`vertical`,Jt(r.verticalStrength,ee)).alpha(1).alphaDecay(r.alphaDecay);return u.current=JSON.stringify(r),v.on(`tick`,()=>{n(e=>e.map(e=>{let t=p.get(e.id);return t?{...e,position:{x:t.x,y:t.y}}:e})),d.current.onTick?.()}),v.on(`end`,()=>d.current.onSettle?.()),o.current=v,()=>{v.stop(),o.current=null}},[f]),(0,V.useEffect)(()=>{let e=o.current;e&&u.current!==p&&(u.current=p,Yt(e,d.current.params,c.current,l.current),e.alpha(.3).restart())},[p]),{onDragStart:(0,V.useCallback)((e,t,n)=>{let r=s.current.get(e);r&&(r.fx=t,r.fy=n),o.current?.alphaTarget(.3).restart()},[]),onDrag:(0,V.useCallback)((e,t,n)=>{let r=s.current.get(e);r&&(r.fx=t,r.fy=n)},[]),onDragStop:(0,V.useCallback)(e=>{let t=s.current.get(e);t&&(t.fx=null,t.fy=null),o.current?.alphaTarget(0)},[])}}var H=E(),{Text:Zt}=l;function Qt({label:e,min:t,max:n,step:r,value:i,onChange:a}){return(0,H.jsxs)(`div`,{children:[(0,H.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`},children:[(0,H.jsx)(Zt,{style:{fontSize:11},children:e}),(0,H.jsx)(Zt,{type:`secondary`,style:{fontSize:11},children:i})]}),(0,H.jsx)(Ce,{min:t,max:n,step:r,value:i,onChange:a,tooltip:{open:!1}})]})}function $t({params:e,onChange:t,onReset:r}){let{token:i}=Ee.useToken(),[a,o]=(0,V.useState)(!1),s=n=>t({...e,...n});return a?(0,H.jsxs)(`div`,{style:{width:220,padding:12,borderRadius:i.borderRadiusLG,background:i.colorBgElevated,border:`1px solid ${i.colorBorder}`,boxShadow:i.boxShadowSecondary},children:[(0,H.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,alignItems:`center`,marginBottom:8},children:[(0,H.jsx)(Zt,{strong:!0,style:{fontSize:12},children:`Force layout`}),(0,H.jsx)(n,{type:`text`,size:`small`,"aria-label":`Collapse force layout panel`,onClick:()=>o(!1),children:`✕`})]}),(0,H.jsxs)(b,{direction:`vertical`,size:8,style:{width:`100%`},children:[(0,H.jsx)(Qt,{label:`Repulsion`,min:-1500,max:-50,step:10,value:e.chargeStrength,onChange:e=>s({chargeStrength:e})}),(0,H.jsx)(Qt,{label:`Link distance`,min:40,max:400,step:5,value:e.linkDistance,onChange:e=>s({linkDistance:e})}),(0,H.jsx)(Qt,{label:`Link strength`,min:0,max:1,step:.05,value:e.linkStrength,onChange:e=>s({linkStrength:e})}),(0,H.jsx)(Qt,{label:`Center gravity`,min:0,max:1,step:.05,value:e.centerStrength,onChange:e=>s({centerStrength:e})}),(0,H.jsx)(Qt,{label:`Collision radius`,min:20,max:120,step:2,value:e.collideRadius,onChange:e=>s({collideRadius:e})}),(0,H.jsx)(Qt,{label:`Settle speed`,min:.01,max:.1,step:.005,value:e.alphaDecay,onChange:e=>s({alphaDecay:e})}),(0,H.jsx)(Qt,{label:`Hub centering`,min:0,max:.3,step:.01,value:e.radialStrength,onChange:e=>s({radialStrength:e})}),(0,H.jsx)(Qt,{label:`Vertical flow`,min:0,max:40,step:1,value:e.verticalStrength,onChange:e=>s({verticalStrength:e})}),(0,H.jsxs)(`div`,{children:[(0,H.jsx)(Zt,{style:{fontSize:11},children:`Centrality by`}),(0,H.jsx)(v,{size:`small`,block:!0,options:[{label:`In-links`,value:`in`},{label:`All links`,value:`total`}],value:e.degreeMode,onChange:e=>s({degreeMode:e})})]}),(0,H.jsx)(n,{size:`small`,block:!0,onClick:r,disabled:en(e),children:`Reset defaults`})]})]}):(0,H.jsx)(n,{size:`small`,onClick:()=>o(!0),children:`Forces`})}function en(e){return Object.keys(Wt).every(t=>e[t]===Wt[t])}var{Text:tn}=l,nn={doc:`#4096ff`,memory:`#9254de`,skill:`#36cfc9`,prompt:`#73d13d`,guide:`#ffa940`,decision:`#ff7875`,bundle:`#bae637`,external:`#8c8c8c`},rn=(0,V.createContext)({focusId:null,neighborIds:new Set,hasFocus:!1});function an({title:e,iconEmoji:t}){return(0,H.jsxs)(`span`,{style:{display:`flex`,alignItems:`center`,gap:6,minWidth:0,lineHeight:1.3},children:[t?(0,H.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`,flex:`0 0 auto`,lineHeight:1},children:t}):null,(0,H.jsx)(tn,{style:{fontSize:12,fontWeight:500,lineHeight:1.3,minWidth:0,flex:`1 1 auto`},ellipsis:{tooltip:e},children:e})]})}var on=(0,V.memo)(({id:e,data:t})=>{let{token:n}=Ee.useToken(),{focusId:r,neighborIds:i,hasFocus:a}=(0,V.useContext)(rn),o=r===e,s=i.has(e),c=a&&!o&&!s,l=nn[t.kind]??nn.doc;return(0,H.jsxs)(`div`,{style:{position:`relative`,display:`flex`,alignItems:`center`,maxWidth:180,padding:`6px 12px`,borderRadius:n.borderRadiusLG,border:`1px solid ${o?l:n.colorBorder}`,borderLeft:`4px solid ${l}`,background:n.colorBgElevated,boxShadow:o?`0 0 0 2px ${l}`:n.boxShadowTertiary,opacity:c?.25:1,transition:`opacity 120ms ease, box-shadow 120ms ease`,cursor:`pointer`},children:[(0,H.jsx)(Ie,{type:`target`,position:O.Top,style:{opacity:0}}),(0,H.jsx)(an,{title:t.title,iconEmoji:t.iconEmoji}),(0,H.jsx)(Ie,{type:`source`,position:O.Bottom,style:{opacity:0}})]})});on.displayName=`KnowledgeGraphDocNode`;var sn={kbDoc:on};function cn(e){return e.map(e=>e.document_id).sort().join(`,`)}function ln(e){return e.map(e=>`${e.document_id}:${e.title}:${e.kind}:${e.icon_emoji??``}`).sort().join(`|`)}function un({nodes:e,edges:t,activeDocId:n,hoverDocId:r,onSelectDoc:i,onHoverDoc:a,loading:o=!1,emptyText:s=`No documents in this space yet.`}){let{token:c}=Ee.useToken(),[l,u,d]=Ne([]),[f,p]=(0,V.useState)(Wt),m=cn(e),h=ln(e),g=(0,V.useMemo)(()=>new Map(e.map(e=>[e.document_id,e])),[e]);(0,V.useEffect)(()=>{u(t=>{let n=new Map(t.map(e=>[e.id,e.position])),r=60+e.length*12;return e.map((t,i)=>{let a=i/Math.max(e.length,1)*2*Math.PI;return{id:t.document_id,type:`kbDoc`,position:n.get(t.document_id)??{x:Math.cos(a)*r,y:Math.sin(a)*r},data:{documentId:t.document_id,title:t.title,kind:t.kind,iconEmoji:t.icon_emoji??null}}})})},[h,u]);let _=(0,V.useMemo)(()=>t.map(e=>({source:e.source_document_id,target:e.target_document_id})),[t]),ee=(0,V.useMemo)(()=>e.map(e=>e.document_id),[e]),v=(0,V.useRef)(null),te=(0,V.useRef)(null),ne=(0,V.useCallback)(()=>{te.current??=requestAnimationFrame(()=>{te.current=null,v.current?.fitView({padding:.2})})},[]),re=(0,V.useRef)(!0),ie=(0,V.useCallback)(()=>{re.current&&ne()},[ne]),{onDragStart:ae,onDrag:oe,onDragStop:se}=Xt({nodeIds:ee,links:_,params:f,setNodes:u,onTick:ie,onSettle:()=>{ie(),re.current=!1}});(0,V.useEffect)(()=>{e.length!==0&&(re.current=!0)},[f]),(0,V.useEffect)(()=>{if(e.length!==0)return re.current=!0,ne(),()=>{te.current!=null&&cancelAnimationFrame(te.current),te.current=null}},[m,ne]);let ce=(0,V.useMemo)(()=>{let e=new Map;for(let n of t)e.has(n.source_document_id)||e.set(n.source_document_id,new Set),e.has(n.target_document_id)||e.set(n.target_document_id,new Set),e.get(n.source_document_id).add(n.target_document_id),e.get(n.target_document_id).add(n.source_document_id);return e},[t]),le=r??n,ue=(0,V.useMemo)(()=>({focusId:le,neighborIds:le?ce.get(le)??new Set:new Set,hasFocus:!!(le&&g.has(le))}),[le,ce,g]),de=(0,V.useMemo)(()=>t.map(e=>{let t=`${e.source_document_id}->${e.target_document_id}`,n=ue.hasFocus&&(e.source_document_id===ue.focusId||e.target_document_id===ue.focusId),r=ue.hasFocus&&!n;return{id:t,source:e.source_document_id,target:e.target_document_id,animated:n,style:{stroke:n?c.colorPrimary:c.colorBorder,strokeWidth:n?2:1,opacity:r?.15:.6}}}),[t,ue,c.colorPrimary,c.colorBorder]);return!o&&e.length===0?(0,H.jsx)(`div`,{style:{height:`100%`,display:`grid`,placeItems:`center`},children:(0,H.jsx)(y,{description:s})}):(0,H.jsxs)(`div`,{style:{height:`100%`,width:`100%`,position:`relative`},children:[o&&(0,H.jsx)(`div`,{style:{position:`absolute`,inset:0,zIndex:10,display:`grid`,placeItems:`center`,background:`${c.colorBgContainer}99`,pointerEvents:`none`},children:(0,H.jsx)(Se,{})}),(0,H.jsx)(rn.Provider,{value:ue,children:(0,H.jsxs)(Pe,{nodes:l,edges:de,nodeTypes:sn,onInit:e=>{v.current=e},onNodesChange:d,onNodeClick:(e,t)=>i(t.id),onNodeMouseEnter:(e,t)=>a(t.id),onNodeMouseLeave:()=>a(null),onNodeDragStart:(e,t)=>{re.current=!1,ae(t.id,t.position.x,t.position.y)},onMoveStart:e=>{e&&(re.current=!1)},onNodeDrag:(e,t)=>oe(t.id,t.position.x,t.position.y),onNodeDragStop:(e,t)=>se(t.id),fitView:!0,minZoom:.1,panOnScroll:!0,zoomActivationKeyCode:[`Meta`,`Control`],proOptions:{hideAttribution:!0},children:[(0,H.jsx)(Fe,{color:c.colorBorderSecondary,gap:20}),(0,H.jsx)(k,{position:`top-left`,showInteractive:!1}),(0,H.jsx)(Me,{pannable:!0,zoomable:!0,nodeColor:e=>nn[e.data?.kind]??nn.doc,style:{background:c.colorBgContainer}}),(0,H.jsx)(Le,{position:`top-right`,children:(0,H.jsx)($t,{params:f,onChange:p,onReset:()=>p(Wt)})})]})})]})}var{Header:dn,Content:fn}=ve,{Text:U,Title:pn}=l,mn=`# New Knowledge Page
|
|
2
|
-
|
|
3
|
-
Write markdown here.
|
|
4
|
-
`,W=`__knowledge_draft__`,G=``,hn=[`pages`,`skills`,`memories`],gn={enabled:!1,provider:`openai`,model:`text-embedding-3-small`,dimensions:1536,api_key_configured:!1,chunking:{target_tokens:850,max_tokens:1200,overlap_tokens:100,min_tokens:80},indexing:{paused:!1,batch_size:32,concurrency:1}},_n=280,vn=780,yn=24,bn=60,xn=(e,t,n)=>Math.min(n,Math.max(t,e)),Sn=(e,t)=>e/Math.max(t,1)*100,Cn=[{label:`text-embedding-3-small — recommended`,value:`text-embedding-3-small`},{label:`text-embedding-3-large — higher quality`,value:`text-embedding-3-large`}],wn={doc:`Page`,memory:`Memory`,skill:`Skill`,prompt:`Prompt`,guide:`Guide`,decision:`Decision`,bundle:`Bundle`,external:`Reference`},K={empty:{label:`No semantic index`,color:`default`,tooltip:`No indexable units exist for the current version yet.`},not_configured:{label:`Semantic indexing unavailable`,color:`default`,tooltip:`Semantic indexing is not configured for these chunks.`},queued:{label:`Indexing`,color:`#1677ff`,tooltip:`Some chunks are queued for semantic indexing.`},ready:{label:`Semantic index ready`,color:`#52c41a`,tooltip:`Current chunks are available for semantic search.`},stale:{label:`Needs semantic refresh`,color:`#faad14`,tooltip:`Some chunks are stale and need semantic index refresh.`},error:{label:`Semantic index error`,color:`#ff4d4f`,tooltip:`At least one chunk failed semantic indexing.`},mixed:{label:`Partial semantic index`,color:`#1677ff`,tooltip:`Chunks have mixed semantic indexing states.`}},Tn={not_configured:`not configured`,pending:`queued`,ready:`ready`,stale:`stale`,error:`error`};function q(e){let t=Object.entries(e.chunks).filter(([,e])=>Number(e)>0).map(([e,t])=>`${Tn[e]??e}: ${t}`).join(`, `),n=e.embedding_model?` · ${e.embedding_model}`:``,r=e.queue_depth>0?` · queue ${e.queue_depth}`:``,i=e.last_error?` · ${e.last_error}`:``;return`${K[e.state].tooltip}${n}${r}${t?` · ${t}`:``}${i}`}function En(e){return!!(e&&e.state!==`empty`&&e.state!==`not_configured`)}function Dn(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:null}function On(e){let t=Dn(Dn(e.metadata)?.embedding_reuse_into_next);if(!t)return null;let n=Number(t.reused_chunks),r=Number(t.total_chunks);return!Number.isFinite(n)||!Number.isFinite(r)||r<=0?null:{targetVersionId:String(t.target_version_id??``),embeddingSpaceId:t.embedding_space_id?String(t.embedding_space_id):void 0,provider:t.provider?String(t.provider):void 0,model:t.model?String(t.model):void 0,dimensions:Number.isFinite(Number(t.dimensions))?Number(t.dimensions):void 0,reusedChunks:n,totalChunks:r,updatedAt:t.updated_at?String(t.updated_at):void 0}}function kn({status:e,size:t=14}){if(!En(e)||!e)return null;let n=K[e.state],r={color:n.color,fontSize:t},i=e.state===`queued`?(0,H.jsx)(se,{spin:!0,style:r}):e.state===`error`?(0,H.jsx)(_e,{style:r}):(0,H.jsx)(C,{style:r});return(0,H.jsx)(_,{title:q(e),children:(0,H.jsx)(`span`,{"aria-label":n.label,role:`img`,style:{alignItems:`center`,display:`inline-flex`,flex:`0 0 auto`,height:t+2,justifyContent:`center`,lineHeight:1,width:t+2},children:i})})}var An=e=>{if(e===`Pages`)return`doc`;if(e===`Skills`)return`skill`;if(e===`Memories`)return`memory`},jn=e=>Array.isArray(e)?e:e.data??[],Mn=e=>{let t=e.service(`kb/namespaces`);return t.__knowledgeNamespaceMethodsRegistered||=(t.methods?.(`listAcl`,`setAcl`,`removeAcl`,`saveWithAcl`),!0),t},Nn=e=>{try{return T(e)}catch{return(e??``).trim().replace(/^\/+|\/+$/g,``).replace(/\/+/g,`/`)}};function Pn(e){let{activeDocId:t,activeDocSnapshot:n,documents:r,draftDocument:i}=e;return t===W?i:t?r.find(e=>e.document_id===t)??(n?.document_id===t?n:null):null}function Fn(e){return!!(e.routeDocumentPath&&e.activeDocPath!==e.routeDocumentPath)}function In(e){return!!(e.routeNamespaceSlug&&e.routeDocumentPath&&!e.activeDocMatchesRoute&&!e.routeDocumentResolutionFailed)}function Ln(e){return!e.activeDocPresent&&!e.isEditing&&!e.routeDocumentPath}function Rn(e){return!!(e.activeDocDocumentId&&(e.isDraftDocument||e.versionsDocumentId===e.activeDocDocumentId&&e.activeDocDocumentId===e.activeDocId))}function zn(e){let t=new URLSearchParams;e.query?.trim()&&t.set(`q`,e.query.trim()),e.editing&&e.activeDocId===W&&t.set(`draft`,`page`),e.editing&&e.activeDocId&&t.set(`mode`,`edit`);let n=t.toString();return n?`?${n}`:``}function Bn(e){let t=new URLSearchParams(e.currentSearch??``);t.delete(`kind`);let n=t.toString();return`${at(e.routeBasePath,e.namespaceSlug,e.documentPath)}${n?`?${n}`:``}`}function Vn(e,t){let n=t.trim().toLowerCase();if(!n)return!0;let r=e.filter(e=>!!e?.trim()).join(`
|
|
5
|
-
`).toLowerCase();if(!r)return!1;if(r.includes(n))return!0;let i=n.split(/\s+/).filter(Boolean);return i.length>0&&i.every(e=>r.includes(e))}var Hn=(e,t)=>`${t}:${e.trim().toLowerCase()}`,Un=e=>!!e.query.trim()&&e.resultKey===Hn(e.query,e.mode),Wn=e=>e.display_name?.trim()||e.slug;function Gn(e,t){return e===`all`||t.some(t=>t.slug===e)?e:t.find(e=>e.slug===`global`)?.slug??t[0]?.slug??`global`}function Kn(e){return e.routeNamespaceSlug?e.routeNamespaceSlug:Gn(e.activeSpace,e.namespaces)}function qn(e){return e.requestId===e.currentRequestId&&e.requestedActiveSpace===e.currentActiveSpace&&e.requestedKindFilter===e.currentKindFilter}function Jn(e){return[...e].sort((e,t)=>{let n=Wn(e).localeCompare(Wn(t),void 0,{sensitivity:`base`,numeric:!0});if(n!==0)return n;let r=e.slug.localeCompare(t.slug,void 0,{sensitivity:`base`,numeric:!0});return r===0?e.namespace_id.localeCompare(t.namespace_id):r}).map(e=>{let t=Wn(e);return{label:t,value:e.slug,searchText:`${t} ${e.slug}`.toLowerCase()}})}var Yn=e=>(e??``).replace(/[`*_#>[\]()]/g,``).replace(/\s+/g,` `).trim(),Xn=(e,{allowEmpty:t=!1}={})=>w(e,{allowEmpty:t}),Zn=e=>{let t=e.split(`/`).filter(Boolean);return t.pop(),t.join(`/`)},Qn=e=>e.split(`/`).filter(Boolean).pop()??e,$n=e=>`${e.trim().toLowerCase().replace(/['"]/g,``).replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``)||`untitled`}.md`,er=(e,t)=>`${e}:${t}`,tr=e=>{if(!e)return null;let[t,...n]=e.split(`:`),r=n.join(`:`);return t!==`user`&&t!==`group`||!r?null:{subjectType:t,subjectId:r}},nr=(e,t=`Untitled`)=>Ae(e,t),rr=e=>{let t=e.split(/\r?\n/),n=t.findIndex(e=>e.trim());return n===-1?e:t.filter((e,t)=>t!==n).join(`
|
|
6
|
-
`).replace(/^\s*\n/,``)},ir=e=>{if(!e)return`—`;let t=e instanceof Date?e:new Date(e);return Number.isNaN(t.getTime())?`—`:t.toLocaleString()},ar=(e,t)=>{let n=Nn(e),r=Qn(t).replace(/^\/+/,``)||`untitled.md`;return n?`${n}/${r}`:r},or=(e,t,n)=>{let r=new Set(t.filter(e=>e.document_id!==n).map(e=>e.path.toLowerCase()));if(!r.has(e.toLowerCase()))return e;let i=Zn(e),a=Qn(e).match(/^(.*?)(\.[^.]+)?$/),o=a?.[1]||`untitled`,s=a?.[2]||``,c=2,l=ar(i,`${o}-${c}${s}`);for(;r.has(l.toLowerCase());)c+=1,l=ar(i,`${o}-${c}${s}`);return l};function sr({client:e,currentUser:l=null,onUserSettingsClick:se,onLogout:ge}){let _e=Ke(Je),{token:C}=Ee.useToken(),{confirm:Ce}=Ve(),w=Re(),T=Xe(),Ae=We(),E=Ae.namespaceSlug?it(Ae.namespaceSlug):null,D=rt(Ae[`*`]),Me=E&&D?`${E}\n${D}`:null,O=ct(T.pathname),Ne=(0,V.useMemo)(()=>new URLSearchParams(T.search),[T.search]),[k,Pe]=(0,V.useState)([]),[A,Fe]=(0,V.useState)([]),[Ie,Le]=(0,V.useState)([]),[ft,pt]=(0,V.useState)(null),[mt,ht]=(0,V.useState)(null),[j,gt]=(0,V.useState)([]),[_t,M]=(0,V.useState)(null),[vt,yt]=(0,V.useState)(null),[N,bt]=(0,V.useState)(()=>E??`global`),[P,F]=(0,V.useState)(null),[xt,I]=(0,V.useState)(null),[St,Ct]=(0,V.useState)(null),[wt,Tt]=(0,V.useState)(!1),[Et,Dt]=(0,V.useState)(null),[L,R]=(0,V.useState)(G),[Ot,kt]=(0,V.useState)([`folder:`,...hn.map(e=>`folder:${e}`)]),[At,jt]=(0,V.useState)(``),[Mt,Nt]=(0,V.useState)(`public`),[Pt,Ft]=(0,V.useState)(`published`),[It,Lt]=(0,V.useState)(`doc`),[Rt,zt]=(0,V.useState)(null),[z,Bt]=(0,V.useState)(!1),[B,Vt]=(0,V.useState)(mn),[Ht,Ut]=(0,V.useState)(``),[Wt,Gt]=(0,V.useState)(()=>Ne.get(`q`)??``),[Kt,qt]=(0,V.useState)(`text`),[Jt,Yt]=(0,V.useState)(!1),[Xt,Zt]=(0,V.useState)(!1),[Qt,$t]=(0,V.useState)(null),[en,tn]=(0,V.useState)([]),[nn,rn]=(0,V.useState)(null),[an,on]=(0,V.useState)(`All`),[sn,cn]=(0,V.useState)(!1),[ln,K]=(0,V.useState)(!1),[Tn,q]=(0,V.useState)(null),[En,Dn]=(0,V.useState)(!1),[Wn,Gn]=(0,V.useState)(`doc`),[sr,cr]=(0,V.useState)(`New Page`),[lr,ur]=(0,V.useState)(`global`),[dr,fr]=(0,V.useState)(`pages`),[pr,mr]=(0,V.useState)([]),[hr,gr]=(0,V.useState)(!1),[_r,vr]=(0,V.useState)(G),[yr,br]=(0,V.useState)(``),[J,Y]=(0,V.useState)(()=>Ne.get(`mode`)===`edit`),xr=(0,V.useRef)(null),X=(0,V.useRef)(P),Sr=(0,V.useRef)(D),[Cr,wr]=(0,V.useState)(()=>new Set),[Tr,Er]=(0,V.useState)(!1),[Dr,Or]=(0,V.useState)(G),[kr,Ar]=(0,V.useState)(!1),[jr,Mr]=(0,V.useState)(null),[Nr,Pr]=(0,V.useState)(`preview`),[Fr,Ir]=(0,V.useState)(!1),[Lr,Rr]=(0,V.useState)(!1),[zr,Br]=(0,V.useState)(!1),[Vr,Hr]=(0,V.useState)(!1),[Ur,Wr]=(0,V.useState)(null),[Gr,Kr]=(0,V.useState)(null),[qr,Jr]=(0,V.useState)(!1),[Yr,Xr]=(0,V.useState)(!1),[Zr,Qr]=(0,V.useState)(null),[$r,ei]=(0,V.useState)(``),[ti]=x.useForm(),[ni,ri]=(0,V.useState)(!1),[ii,ai]=(0,V.useState)(null),[oi,si]=(0,V.useState)(!1),[ci,li]=(0,V.useState)(null),[ui]=x.useForm(),di=(0,V.useRef)(!1),[fi,pi]=(0,V.useState)([]),[mi,hi]=(0,V.useState)([]),[gi,_i]=(0,V.useState)([]),[vi,yi]=(0,V.useState)(!1),[bi,xi]=(0,V.useState)(null),[Si,Ci]=(0,V.useState)(`read`),[wi,Ti]=(0,V.useState)(()=>typeof window>`u`?1440:window.innerWidth),[Ei,Di]=et(l?.user_id,`knowledge:sidebar:size`,yn),Oi=(0,V.useRef)(null),ki=(0,V.useRef)(!1),Ai=(0,V.useRef)(null),ji=(0,V.useRef)(0),Mi=(0,V.useRef)(N),Ni=(0,V.useRef)(an),Pi=(0,V.useRef)(0),Fi=(0,V.useCallback)(e=>{Mi.current=e,bt(e)},[]),Ii=(0,V.useCallback)(e=>{Ni.current=e,on(e)},[]);(0,V.useEffect)(()=>{if(typeof window>`u`)return;let e=()=>Ti(window.innerWidth);return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]),(0,V.useEffect)(()=>{if(!Jt||typeof document>`u`)return;let e=e=>{let t=e.target;t instanceof Node&&Ai.current?.contains(t)||Yt(!1)};return document.addEventListener(`pointerdown`,e,!0),()=>document.removeEventListener(`pointerdown`,e,!0)},[Jt]),(0,V.useEffect)(()=>{yt(e=>e&&e.key!==Me?null:e)},[Me]),(0,V.useEffect)(()=>{X.current=P},[P]),(0,V.useEffect)(()=>{Mi.current=N},[N]),(0,V.useEffect)(()=>{Ni.current=an},[an]);let Z=(0,V.useMemo)(()=>Pn({activeDocId:P,activeDocSnapshot:xt,documents:A,draftDocument:ft}),[P,xt,A,ft]),Li=Z?.document_id===W,Ri=Z?J?Rt:Z.icon_emoji:null,zi=Rn({activeDocId:P,activeDocDocumentId:Z?.document_id,isDraftDocument:Li,versionsDocumentId:_t}),Bi=(0,V.useMemo)(()=>k.find(e=>e.slug===N)??k[0]??null,[k,N]),Vi=(0,V.useMemo)(()=>Math.min(bn,Sn(_n,wi)),[wi]),Hi=(0,V.useMemo)(()=>Math.max(Vi,Math.min(bn,Sn(vn,wi))),[Vi,wi]),Ui=xn(Ei,Vi,Hi);(0,V.useEffect)(()=>{Oi.current?.resize(Ui)},[Ui]);let Wi=(0,V.useMemo)(()=>{let e=new Map;for(let t of k)e.set(t.namespace_id,t.slug);return e},[k]),Q=(0,V.useCallback)(e=>Wi.get(e.namespace_id)??(N===`all`?Bi?.slug:N)??`global`,[N,Wi,Bi?.slug]),Gi=(0,V.useMemo)(()=>{let e=new Map(_e);for(let t of fi)e.set(t.user_id,t);return l&&e.set(l.user_id,l),[{label:`Users`,options:[...e.values()].sort((e,t)=>(e.name||e.email).localeCompare(t.name||t.email)).map(e=>({label:`${e.name||e.email}${e.email?` <${e.email}>`:``}`,value:er(`user`,e.user_id)}))},{label:`Groups`,options:mi.filter(e=>!e.archived).sort((e,t)=>e.name.localeCompare(t.name)).map(e=>({label:`${e.name} group`,value:er(`group`,e.group_id)}))}]},[l,mi,fi,_e]),Ki=(0,V.useMemo)(()=>{let e=new Map(_e);for(let t of fi)e.set(t.user_id,t);return l&&e.set(l.user_id,l),e},[l,fi,_e]),qi=(0,V.useCallback)(e=>{if(e.subject_type===`user`){let t=Ki.get(e.subject_id);return t?`${t.name||t.email}${t.email?` <${t.email}>`:``}`:e.subject_id}let t=mi.find(t=>t.group_id===e.subject_id);return t?`${t.name} group`:e.subject_id},[mi,Ki]),Ji=(0,V.useMemo)(()=>new Map(Ie.map(e=>[e.documentId,e.routePath])),[Ie]),Yi=(0,V.useCallback)(e=>st(e,e=>{let t=Ji.get(e);return t?`${window.location.origin}${t}`:void 0}),[Ji]),Xi=(0,V.useCallback)(e=>{if(e.defaultPrevented||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;let t=e.target.closest(`a`)?.getAttribute(`href`);if(!t)return;let n;try{n=new URL(t,window.location.origin)}catch{return}n.origin!==window.location.origin||!/^\/(kb|knowledge)\//.test(n.pathname)||(e.preventDefault(),w(`${n.pathname}${n.search}${n.hash}`))},[w]),Zi=(0,V.useMemo)(()=>Z?z?nr(B,Z.title):At.trim()||Z.title:`Untitled`,[Z,B,At,z]),Qi=!!(Z&&Zi.trim()!==Z.title.trim()),$i=(0,V.useMemo)(()=>Z?or(ar(Zn(Z.path),$n(Zi)),A,Z.document_id):``,[Z,A,Zi]),ea=(0,V.useCallback)((e={})=>zn({query:e.query,editing:e.editing??J,activeDocId:P}),[P,J]),ta=(0,V.useMemo)(()=>{let e=new Set([G,...hn,...pr]);for(let t of A){let n=t.path.split(`/`).filter(Boolean);n.pop();let r=``;for(let t of n)r=r?`${r}/${t}`:t,e.add(r)}return[...e].sort((e,t)=>e===G?-1:t===G?1:e.localeCompare(t))},[A,pr]),na=(0,V.useMemo)(()=>ta.map(e=>({label:e||`Root`,value:e})),[ta]),ra=(0,V.useMemo)(()=>{let e={path:G,name:`Root`,children:[],docs:[]},t=new Map([[G,e]]),n=e=>{let r=Nn(e),i=t.get(r);if(i)return i;let a=n(Zn(r)),o={path:r,name:Qn(r),children:[],docs:[]};return t.set(r,o),a.children.push(o),o};for(let e of ta)n(e);for(let e of A)n(Zn(e.path)).docs.push(e);let r=e=>{e.children.sort((e,t)=>e.name.localeCompare(t.name)),e.docs.sort((e,t)=>e.title.localeCompare(t.title)),e.children.forEach(r)};return r(e),e},[A,ta]),ia=(0,V.useMemo)(()=>{let e=t=>({key:`folder:${t.path}`,title:t.name,kind:`folder`,folderPath:t.path,children:t.children.map(e)});return[e(ra)]},[ra]),aa=(0,V.useMemo)(()=>`agor://kb/${lr||(N===`all`?`global`:N)}/${ar(dr,$n(sr))}`,[N,dr,lr,sr]),$=(0,V.useMemo)(()=>j.find(e=>e.version_id===jr)??j[0]??null,[jr,j]),oa=(0,V.useMemo)(()=>{if(!$)return null;let e=j.findIndex(e=>e.version_id===$.version_id);return e>=0?j[e+1]??null:null},[$,j]),sa=Math.max(j.length-1,0),ca=j[0]?.content_text??mn,la=J&&!!(Li||Z&&(B!==ca||At!==Z.title||(Rt??null)!==(Z.icon_emoji??null)||Mt!==Z.visibility||Pt!==Z.status||It!==Z.kind||z!==(Z.metadata?.title_from_content===!0)||zr)),ua=Li||!!(Z&&(De(l?.role,ke.ADMIN)||l?.user_id&&Z.created_by===l.user_id)),da=(0,V.useCallback)(async()=>{if(!e)return[];let t=jn(await e.service(`kb/namespaces`).find({query:{archived:!1}}));return Pe(t),t},[e]),fa=(0,V.useCallback)(async()=>{if(e)try{Le(jn(await e.service(`kb/documents`).find({query:{archived:!1}})).map(e=>lt(e,`/kb`)).filter(e=>!!e))}catch(e){console.error(`Failed to load Knowledge mentions:`,e)}},[e]),pa=(0,V.useCallback)(async()=>{if(!e)return;let t=ji.current+1;ji.current=t;let n=N,r=an,i=()=>qn({requestId:t,currentRequestId:ji.current,requestedActiveSpace:n,currentActiveSpace:Mi.current,requestedKindFilter:r,currentKindFilter:Ni.current});cn(!0),q(null);try{if(await da(),!i())return;fa();let t=An(r),a=n===`all`?void 0:n,o=await e.service(`kb/documents`).find({query:{namespace_slug:a,kind:t,archived:!1,include_indexing:!0}});if(!i())return;Fe(jn(o))}catch(e){if(!i())return;console.error(`Failed to load Knowledge:`,e),q(e instanceof Error?e.message:String(e))}finally{i()&&cn(!1)}},[e,N,an,da,fa]);(0,V.useEffect)(()=>{pa()},[pa]),(0,V.useEffect)(()=>{if(!k.length)return;let e=Kn({activeSpace:N,routeNamespaceSlug:E,namespaces:k});e!==N&&Fi(e)},[N,k,E,Fi]),(0,V.useEffect)(()=>{let t=Wt.trim();if(!e||t.length<2){Zt(!1),$t(null),tn([]),rn(null);return}let n=Hn(t,Kt);Zt(!0),$t(null),rn(null);let r=!1,i=window.setTimeout(async()=>{try{let i=await e.service(`kb/search`).find({query:{q:t,mode:Kt,limit:8,include_chunks:!0}});if(r)return;tn(jn(i)),rn(n)}catch(e){if(r)return;console.error(`Failed to search Knowledge:`,e),tn([]),rn(n),$t(e instanceof Error?e.message:String(e))}finally{r||Zt(!1)}},220);return()=>{r=!0,window.clearTimeout(i)}},[e,Kt,Wt]);let ma=(0,V.useCallback)(async()=>{if(e){Jr(!0),Qr(null);try{let[t,n]=await Promise.all([e.service(`kb/settings`).find(),e.service(`kb/indexing/status`).find()]),r={...gn,...t,chunking:{...gn.chunking,...t.chunking??{}},indexing:{...gn.indexing,...t.indexing??{}}};Wr(r),Kr(n),ti.setFieldsValue(r)}catch(e){console.error(`Failed to load Knowledge semantic settings:`,e),Qr(e instanceof Error?e.message:String(e))}finally{Jr(!1)}}},[e,ti]),ha=(0,V.useCallback)(async()=>{if(e)try{hi(jn(await e.service(`groups`).findAll({query:{archived:!1}})))}catch(e){console.error(`Failed to load Knowledge namespace groups:`,e),hi([])}},[e]),ga=(0,V.useCallback)(async()=>{if(e)try{pi(jn(await e.service(`users`).findAll({})))}catch(e){console.error(`Failed to load Knowledge namespace users:`,e),pi([])}},[e]),_a=(0,V.useCallback)(()=>{Hr(!0),ei(``),Qr(null),li(null),ma(),da(),ha(),ga()},[ha,ga,da,ma]),va=(0,V.useCallback)(async()=>{if(e){Xr(!0),Qr(null);try{let t=await ti.validateFields(),n={enabled:t.enabled??gn.enabled,provider:t.provider??gn.provider,model:t.model||gn.model,dimensions:t.dimensions??gn.dimensions,chunking:{...gn.chunking,...t.chunking??{}},indexing:{...gn.indexing,...t.indexing??{}}};$r.trim()&&(n.api_key=$r.trim()),Wr(await e.service(`kb/settings`).create(n)),ei(``),await ma(),Hr(!1)}catch(e){console.error(`Failed to save Knowledge semantic settings:`,e),Qr(e instanceof Error?e.message:String(e))}finally{Xr(!1)}}},[e,ma,$r,ti]),ya=(0,V.useCallback)(async()=>{if(e){Xr(!0),Qr(null);try{await e.service(`kb/indexing/reindex`).create({}),await ma()}catch(e){console.error(`Failed to queue Knowledge reindex:`,e),Qr(e instanceof Error?e.message:String(e))}finally{Xr(!1)}}},[e,ma]),ba=(0,V.useCallback)(t=>{di.current=!!t,ai(t??null),li(null),xi(null),Ci(`read`),_i(!t&&l?.user_id?[{subject_type:`user`,subject_id:l.user_id,permission:`own`}]:[]),ui.setFieldsValue(t?{slug:t.slug,display_name:t.display_name,description:t.description??``,kind:t.kind,visibility_default:t.visibility_default,others_can:t.others_can}:{slug:``,display_name:``,description:``,kind:`team`,visibility_default:`public`,others_can:`none`}),ri(!0),t&&e&&(yi(!0),Mn(e).listAcl({namespace_id:t.namespace_id}).then(e=>{_i(e.map(e=>({subject_type:e.subject_type,subject_id:e.subject_id,permission:e.permission})))}).catch(e=>{console.error(`Failed to load Knowledge namespace ACL:`,e),li(e instanceof Error?e.message:String(e))}).finally(()=>yi(!1)))},[e,l?.user_id,ui]),xa=(0,V.useCallback)(e=>{if(Object.hasOwn(e,`slug`)){di.current=!0;return}!ii&&Object.hasOwn(e,`display_name`)&&!di.current&&ui.setFieldsValue({slug:He(e.display_name||``)})},[ii,ui]),Sa=(0,V.useCallback)(()=>{let e=tr(bi);e&&(_i(t=>{let n={subject_type:e.subjectType,subject_id:e.subjectId,permission:Si},r=t.findIndex(t=>t.subject_type===e.subjectType&&t.subject_id===e.subjectId);return r===-1?[...t,n]:t.map((e,t)=>t===r?n:e)}),xi(null),Ci(`read`))},[Si,bi]),Ca=(0,V.useCallback)((e,t)=>{_i(n=>n.map(n=>n.subject_type===e.subject_type&&n.subject_id===e.subject_id?{...n,permission:t}:n))},[]),wa=(0,V.useCallback)(e=>{_i(t=>t.filter(t=>t.subject_type!==e.subject_type||t.subject_id!==e.subject_id))},[]),Ta=(0,V.useCallback)(async()=>{if(e){si(!0),li(null);try{let t=await ui.validateFields(),n={...t,slug:t.slug.trim(),display_name:t.display_name.trim(),description:t.description?.trim()||null},r=await Mn(e).saveWithAcl({namespace_id:ii?.namespace_id,namespace:ii?{...n,slug:ii.slug}:n,acl:gi});_i(r.acl.map(e=>({subject_type:e.subject_type,subject_id:e.subject_id,permission:e.permission}))),Pe(ii?e=>e.map(e=>e.namespace_id===r.namespace.namespace_id?r.namespace:e):e=>[r.namespace,...e]),await da(),ri(!1),ai(null)}catch(e){console.error(`Failed to save Knowledge namespace:`,e),li(e instanceof Error?e.message:String(e))}finally{si(!1)}}},[e,da,gi,ii,ui]),Ea=(0,V.useCallback)(t=>{e&&Ce({title:`Archive ${t.display_name||t.slug}?`,content:`Archiving a namespace also archives its documents. This can disrupt Knowledge links and search.`,okText:`Archive namespace`,okButtonProps:{danger:!0},onOk:async()=>{li(null);try{await e.service(`kb/namespaces`).remove(t.namespace_id),await da(),N===t.slug&&Fi(`all`)}catch(e){console.error(`Failed to archive Knowledge namespace:`,e),li(e instanceof Error?e.message:String(e))}}})},[N,e,Ce,da,Fi]),Da=(0,V.useCallback)(async()=>{let t=Pi.current+1;Pi.current=t;let n=N,r=()=>t===Pi.current&&n===Mi.current;if(!e||n===`all`){Ct(null),Tt(!1);return}Tt(!0);try{let t=await e.service(`kb/graph`).find({query:{namespace:n}});if(!r())return;Ct(t)}catch(e){if(!r())return;console.error(`Failed to load Knowledge graph:`,e),Ct(null)}finally{r()&&Tt(!1)}},[e,N]);(0,V.useEffect)(()=>{!P&&!D&&Da()},[P,Da,D]);let Oa=(0,V.useCallback)(async()=>la?new Promise(e=>{Ce({title:`Discard unsaved changes?`,content:`This page has unsaved changes. If you navigate away now, those edits will be lost.`,okText:`Discard changes`,okButtonProps:{danger:!0},cancelText:`Keep editing`,onOk:()=>e(!0),onCancel:()=>e(!1)})}):!0,[Ce,la]);(0,V.useEffect)(()=>{if(!la)return;let e=e=>{e.preventDefault(),e.returnValue=``};return window.addEventListener(`beforeunload`,e),()=>window.removeEventListener(`beforeunload`,e)},[la]),(0,V.useEffect)(()=>{let e=E??`global`,t=Ne.get(`q`)??``,n=Ne.get(`mode`)===`edit`&&(!!D||Ne.get(`draft`)===`page`),r=!D&&!!Sr.current;Sr.current=D,r&&P&&!ft&&X.current!==W&&(X.current=null,F(null),I(null)),E&&e!==N&&Fi(e),Gt(e=>e===t?e:t);let i=xr.current;i===null?n!==J&&Y(n):n===i&&(xr.current=null,n!==J&&Y(n))},[P,N,J,D,E,Ne,ft,Fi]),(0,V.useEffect)(()=>{if(X.current===W||!e||!E||!D)return;let t=Me;if(!t)return;if(xt?.path===D&&Q(xt)===E){yt(e=>e?.key===t?null:e),xt.document_id!==P&&(X.current=xt.document_id,F(xt.document_id));return}let n=A.find(e=>e.path===D&&Q(e)===E);if(n){yt(e=>e?.key===t?null:e),I(n),n.document_id!==P&&(X.current=n.document_id,F(n.document_id));return}let r=!1;return e.service(`kb/documents`).find({query:{namespace_slug:E,path:D,archived:!1}}).then(e=>{if(r||X.current===W)return;let[n]=jn(e);if(!n){X.current=null,F(null),I(null),yt({key:t,message:`Knowledge page not found.`});return}yt(e=>e?.key===t?null:e),I(n),X.current=n.document_id,F(n.document_id)}).catch(e=>{r||(console.error(`Failed to resolve Knowledge route document:`,e),X.current=null,F(null),I(null),yt({key:t,message:e instanceof Error?e.message:`Failed to load Knowledge page.`}))}),()=>{r=!0}},[P,xt,e,A,Q,Me,D,E]),(0,V.useEffect)(()=>{if(!e||sn||X.current===W||!E||!D||A.find(e=>e.path===D&&Q(e)===E))return;let t=!1;return(async()=>{try{let n=await e.service(`kb/documents`).find({query:{namespace_slug:E,path:D,archived:!1,include_other_user_drafts:!0,include_indexing:!0}});if(t)return;let[r]=jn(n);if(!r)return;yt(e=>e?.key===Me?null:e),Fe(e=>e.some(e=>e.document_id===r.document_id)?e:[r,...e]),I(r),X.current=r.document_id,F(r.document_id)}catch(e){t||console.error(`Failed to load direct Knowledge document:`,e)}})(),()=>{t=!0}},[e,A,sn,Q,Me,D,E]),(0,V.useEffect)(()=>{X.current!==W&&P&&!Z&&!sn&&!D&&(X.current=null,F(null),I(null))},[Z,P,sn,D]),(0,V.useEffect)(()=>{Z&&(R(Zn(Z.path)),jt(Z.title),Nt(Z.visibility),Ft(Z.status??`published`),Lt(Z.kind),zt(Z.icon_emoji??null),Bt(Z.metadata?.title_from_content===!0),Br(!1),Y(xr.current??Ne.get(`mode`)===`edit`))},[Z,Ne]),(0,V.useEffect)(()=>{Qi||Br(!1)},[Qi]),(0,V.useEffect)(()=>{if(ft||D&&!Z)return;let e=D?A.find(e=>e.path===D&&(!E||Q(e)===E)):null;if(e&&e.document_id!==P||!D&&Z||Fn({routeDocumentPath:D,activeDocPath:Z?.path})||Z&&E&&E!==Q(Z)||!Z)return;let t=`${Bn({routeBasePath:O,namespaceSlug:Q(Z),documentPath:Z.path,currentSearch:T.search})}${T.hash}`;t!==`${T.pathname}${T.search}${T.hash}`&&w(t,{replace:!0})},[Z,P,A,ft,T.hash,T.pathname,T.search,Q,w,O,D,E]),(0,V.useEffect)(()=>{z&&jt(nr(B,Z?.title??`Untitled`))},[Z?.title,B,z]),(0,V.useEffect)(()=>{N!==`all`&&ur(N)},[N]);let ka=(0,V.useCallback)(async()=>{if(Li){gt([]),M(W);return}if(!e||!Z){gt([]),M(null);return}let t=Z.document_id;try{let n=await e.service(`kb/versions`).find({query:{document_id:t,include_content:!0}});if(X.current!==t)return;let r=jn(n);gt(r),M(t),Mr(e=>e&&r.some(t=>t.version_id===e)?e:r[0]?.version_id??null),Vt(r[0]?.content_text??mn)}catch(e){if(X.current!==t)return;console.error(`Failed to load Knowledge versions:`,e),gt([]),M(t),Vt(mn)}},[e,Z,Li]);(0,V.useEffect)(()=>{ka()},[ka]);let Aa=async()=>{if(!await Oa())return;let e=N===`all`?`global`:N,t=k.find(t=>t.slug===e)??Bi??k[0],n=`Untitled`,r=or($n(n),A),i={document_id:W,namespace_id:t?.namespace_id??W,path:r,uri:`agor://kb/${e}/${r}`,url:null,title:n,kind:`doc`,visibility:t?.visibility_default??`public`,status:`published`,edit_policy:`owner`,current_version_id:null,metadata:{title_from_content:!0},created_by:null,created_at:new Date,updated_by:null,updated_at:null,archived:!1,archived_at:null};pt(i),ht(e),I(null),X.current=W,F(W),R(G),jt(n),Nt(i.visibility),Ft(i.status),Lt(i.kind),zt(i.icon_emoji??null),Bt(!0),Br(!1),Vt(`# ${n}\n\nWrite markdown here.\n`),gt([]),M(W),xr.current=!0,Y(!0),w(`${at(O,e)}?draft=page&mode=edit`)},ja=async e=>{if(e===`doc`){await Aa();return}let t=e===`skill`?`New Skill`:e===`memory`?`New Memory`:`New Page`,n=L||(e===`skill`?`skills`:e===`memory`?`memories`:`pages`);Gn(e),cr(t),ur(N===`all`?`global`:N),fr(n),Dn(!0)},Ma=()=>{vr(L),br(``),gr(!0)},Na=()=>{let e=Nn(yr);if(!e)return;let t=Xn(e),n=Xn(_r,{allowEmpty:!0});if(t||n){q(t??n);return}let r=Nn([_r,e].filter(Boolean).join(`/`));mr(e=>[...new Set([...e,r])]),R(r),kt(e=>[...new Set([...e,`folder:${_r}`,`folder:${r}`])]),gr(!1)},Pa=async()=>{if(!e)return;let t=lr||(N===`all`?`global`:N),n=Xn(dr,{allowEmpty:!0});if(n){q(n);return}let r=sr.trim()||(Wn===`skill`?`New Skill`:Wn===`memory`?`New Memory`:`New Page`),i=or(ar(dr,$n(r)),A);K(!0),q(null);try{let n=await e.service(`kb/documents`).create({namespace_slug:t,path:i,title:r,kind:Wn,visibility:k.find(e=>e.slug===t)?.visibility_default??Bi?.visibility_default??`public`,status:`published`,metadata:{title_from_content:!0},content_text:`# ${r}\n\nWrite markdown here.\n`,change_summary:`Initial version`});Fe(e=>[n,...e]),Fi(t),I(n),X.current=n.document_id,F(n.document_id),R(Zn(n.path)),Vt(`# ${r}\n\nWrite markdown here.\n`),M(n.document_id),kt(e=>[...new Set([...e,`folder:${Zn(n.path)}`])]),Dn(!1)}catch(e){console.error(`Failed to create Knowledge document:`,e),q(e instanceof Error?e.message:String(e))}finally{K(!1)}},Fa=async()=>{if(!(!e||!Z)){K(!0),q(null);try{let t=Zi;if(Li){let n=mt??(N===`all`?`global`:N),r=or($n(t),A),i=await e.service(`kb/documents`).create({namespace_slug:n,path:r,title:t,kind:It,icon_emoji:Rt,visibility:Mt,status:Pt,metadata:{...Z.metadata??{},title_from_content:z},content_text:B,change_summary:`Initial version`});Fe(e=>[i,...e]),pt(null),ht(null),Fi(n),I(i),X.current=i.document_id,F(i.document_id),R(Zn(i.path)),gt([]),M(i.document_id),xr.current=!1,Y(!1),w(`${at(O,Q(i),i.path)}${ea({editing:!1})}`,{replace:!0});return}let n=Qi&&zr&&$i!==Z.path?$i:void 0,r=await e.service(`kb/documents`).patch(Z.document_id,{title:t,visibility:Mt,status:Pt,kind:It,icon_emoji:Rt,...n?{path:n}:{},content_text:B,metadata:{...Z.metadata??{},title_from_content:z},change_summary:n?`Edited and renamed from ${Z.path} to ${n}`:`Edited from Knowledge UI`});Fe(e=>e.map(e=>e.document_id===r.document_id?r:e)),I(r),await ka(),n?(xr.current=!1,Y(!1),w(`${at(O,Q(r),r.path)}${ea({editing:!1})}`,{replace:!0})):Wa(!1)}catch(e){console.error(`Failed to save Knowledge document:`,e),q(e instanceof Error?e.message:String(e))}finally{K(!1)}}},Ia=async(t,n)=>{if(!e)return;let r=Nn(n),i=Xn(r,{allowEmpty:!0});if(i){q(i);return}let a=or(ar(r,Qn(t.path)),A,t.document_id);if(a!==t.path){K(!0),q(null);try{let n=await e.service(`kb/documents`).patch(t.document_id,{path:a,change_summary:`Moved to ${r||`root`}`});Fe(e=>e.map(e=>e.document_id===n.document_id?n:e)),I(n),X.current=n.document_id,F(n.document_id),R(r),kt(e=>[...new Set([...e,`folder:${r}`])]),w(`${at(O,Q(n),n.path)}${ea({editing:!1})}`,{replace:!0})}catch(e){console.error(`Failed to move Knowledge document:`,e),q(e instanceof Error?e.message:String(e))}finally{K(!1)}}},La=async t=>{if(!Z)return;let n=Oe(t);if(zt(n),Li){pt(e=>e&&{...e,icon_emoji:n});return}if(e){K(!0),q(null);try{let t=await e.service(`kb/documents`).patch(Z.document_id,{icon_emoji:n,change_summary:n?`Updated Knowledge document icon`:`Removed Knowledge document icon`});Fe(e=>e.map(e=>e.document_id===t.document_id?t:e)),I(t)}catch(e){console.error(`Failed to update Knowledge document icon:`,e),q(e instanceof Error?e.message:String(e))}finally{K(!1)}}},Ra=e=>{let t=t=>{e(t),Rr(!1)};return(0,H.jsxs)(b,{direction:`vertical`,size:8,onClick:e=>e.stopPropagation(),children:[(0,H.jsx)(Ge,{onEmojiClick:e=>t(e.emoji)}),(0,H.jsx)(n,{block:!0,onClick:()=>t(null),children:`Remove icon`})]})},za=()=>{if(Z){if(Li){pt(null),ht(null),X.current=null,F(null),I(null),jt(``),Nt(`public`),Lt(`doc`),zt(null),Bt(!1),Br(!1),Vt(mn),gt([]),M(null),Wa(!1);return}jt(Z.title),Nt(Z.visibility),Lt(Z.kind),zt(Z.icon_emoji??null),Bt(Z.metadata?.title_from_content===!0),Br(!1),Vt(j[0]?.content_text??mn),Wa(!1)}},Ba=async()=>{await ka(),Mr(e=>e??j[0]?.version_id??null),Pr(`preview`),Ar(!0)},Va=async()=>{if(!e||!Z||!$)return;let t=$.content_text??``,n=z?nr(t,Z.title):Z.title;K(!0),q(null);try{let r=await e.service(`kb/documents`).patch(Z.document_id,{title:n,content_text:t,metadata:{...Z.metadata??{},title_from_content:z},change_summary:`Restored version ${$.version_number}`});Fe(e=>e.map(e=>e.document_id===r.document_id?r:e)),I(r),Vt(t),jt(n),await ka(),Ar(!1)}catch(e){console.error(`Failed to restore Knowledge version:`,e),q(e instanceof Error?e.message:String(e))}finally{K(!1)}},Ha=()=>{!e||!Z||Ce({title:`Archive this page?`,content:`This archives the page from Knowledge. Version history remains in the database.`,okText:`Archive`,cancelText:`Cancel`,async onOk(){if(Z)try{await e.service(`kb/documents`).remove(Z.document_id),Fe(e=>e.filter(e=>e.document_id!==Z.document_id)),X.current=null,F(null),I(null),gt([]),M(null),Mr(null)}catch(e){console.error(`Failed to archive Knowledge document:`,e),q(e instanceof Error?e.message:String(e))}}})},Ua=e=>{wr(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},Wa=e=>{xr.current=e,Y(e),w(`${T.pathname}${ea({editing:e})}`,{replace:!0})},Ga=()=>{pt(null),ht(null)},Ka=async e=>{await Oa()&&(Ga(),I(e),X.current=e.document_id,F(e.document_id),xr.current=!1,Y(!1),w(`${at(O,Q(e),e.path)}${ea({editing:!1})}`))},qa=async e=>{if(!await Oa())return;let t=e.document;Ga(),Fi(e.namespace.slug),I(t),X.current=t.document_id,F(t.document_id),xr.current=!1,Y(!1),Yt(!1),w(at(O,e.namespace.slug,t.path))},Ja=async()=>{await Oa()&&(Ga(),X.current=null,F(null),I(null),xr.current=!1,Y(!1),w(`${N===`all`?O:at(O,N)}${ea({editing:!1})}`))},Ya=async e=>{let t=A.find(t=>t.document_id===e);if(t){await Ka(t);return}let n=St?.nodes.find(t=>t.document_id===e);if(!n||!await Oa())return;Ga(),X.current=null,F(null),I(null);let r=ut(n.uri)??N;Ii(`All`),Ut(``),xr.current=!1,Y(!1),w(at(O,r,n.path))},Xa=async e=>{await Oa()&&(Ga(),Fi(e),X.current=null,F(null),I(null),R(G),xr.current=!1,Y(!1),w(`${e===`all`?O:at(O,e)}${ea({editing:!1})}`))},Za=(e,t=0)=>{let n=Z?.document_id===e.document_id,r=Et===e.document_id;return(0,H.jsxs)(`button`,{type:`button`,onClick:()=>Ka(e),onMouseEnter:()=>Dt(e.document_id),onMouseLeave:()=>Dt(t=>t===e.document_id?null:t),style:{width:`100%`,display:`flex`,alignItems:`center`,gap:8,minHeight:30,margin:`1px 0`,padding:`5px 8px`,paddingLeft:10+t*16,border:0,borderRadius:C.borderRadius,background:n?C.colorPrimaryBg:r?C.colorFillSecondary:`transparent`,color:C.colorText,cursor:`pointer`,textAlign:`left`},children:[e.icon_emoji?(0,H.jsx)(`span`,{style:{fontSize:15,lineHeight:1,width:14,textAlign:`center`},children:e.icon_emoji}):(0,H.jsx)(u,{style:{color:C.colorTextTertiary,fontSize:13}}),(0,H.jsxs)(`div`,{style:{flex:1,minWidth:0},children:[(0,H.jsx)(`span`,{style:{display:`block`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,fontWeight:n?600:400},children:(0,H.jsx)(Ue,{text:e.title,query:Ht})}),Qa&&(0,H.jsx)(`span`,{style:{display:`block`,color:C.colorTextTertiary,fontSize:11,lineHeight:1.2,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:(0,H.jsx)(Ue,{text:e.path,query:Ht})})]}),e.status===`draft`&&(0,H.jsx)(a,{color:`gold`,bordered:!1,style:{marginInlineEnd:0,fontSize:10,lineHeight:`16px`},children:`Draft`})]},e.document_id)},Qa=!!Ht.trim(),$a=e=>Vn([e.title,e.path],Ht),eo=e=>Vn([e.name],Ht),to=e=>Qa?e.docs.filter($a):e.docs,no=e=>{if(e.path===G)return!0;let t=to(e).length>0,n=e.children.some(no),r=pr.includes(e.path);return t||n||(Qa?eo(e):r)},ro=(e,t=0)=>{if(!no(e))return null;let n=e.children.filter(no),r=to(e),i=r.length+n.length,o=i>0,s=!Qa&&o&&Cr.has(e.path),c=!Z&&L===e.path,l=i===0,u=s||l;return(0,H.jsxs)(`div`,{children:[(0,H.jsxs)(`button`,{type:`button`,onClick:()=>{R(e.path),o&&Ua(e.path)},style:{width:`100%`,display:`flex`,alignItems:`center`,gap:8,minHeight:32,margin:`1px 0`,padding:`6px 8px`,paddingLeft:10+t*16,border:0,borderRadius:C.borderRadius,background:c?C.colorPrimaryBg:`transparent`,color:l?C.colorTextSecondary:C.colorText,cursor:`pointer`,textAlign:`left`},children:[(0,H.jsx)(`span`,{style:{width:16,display:`inline-flex`,justifyContent:`center`,color:C.colorTextTertiary},children:s?(0,H.jsx)(re,{}):(0,H.jsx)(ae,{})}),(0,H.jsx)(`span`,{style:{flex:1,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,fontWeight:c?600:500},children:(0,H.jsx)(Ue,{text:e.name,query:Ht})}),u&&(0,H.jsx)(a,{bordered:!1,color:`default`,style:{marginInlineEnd:0,minWidth:24,textAlign:`center`,color:l?C.colorTextTertiary:void 0},children:i}),(0,H.jsx)(`span`,{style:{width:14,color:C.colorTextTertiary,display:`inline-flex`,justifyContent:`center`,fontSize:10,marginLeft:2},children:o?s?(0,H.jsx)(d,{}):(0,H.jsx)(ue,{}):null})]}),!s&&(0,H.jsxs)(`div`,{children:[n.map(e=>ro(e,t+1)),r.map(e=>Za(e,t+1))]})]},e.path||`root`)},io=()=>{let e=ra.children.filter(no),t=to(ra);return Qa&&e.length===0&&t.length===0?(0,H.jsx)(y,{image:y.PRESENTED_IMAGE_SIMPLE,description:`No visible docs match this filter`,style:{margin:`12px 0`}}):(0,H.jsxs)(H.Fragment,{children:[e.map(e=>ro(e,0)),t.map(e=>Za(e,0))]})},ao=Wt.trim(),oo=Un({resultKey:nn,query:ao,mode:Kt})?en:[],so=(0,H.jsx)(`div`,{style:{width:520,maxWidth:`min(520px, calc(100vw - 48px))`},children:(0,H.jsxs)(b,{orientation:`vertical`,size:8,style:{width:`100%`},children:[(0,H.jsxs)(S,{justify:`space-between`,align:`center`,gap:8,children:[(0,H.jsx)(U,{type:`secondary`,style:{fontSize:12},children:`Searches readable Knowledge titles, paths, and content.`}),(0,H.jsx)(v,{size:`small`,value:Kt,onChange:e=>qt(e),options:[{label:`Text`,value:`text`},{label:`Semantic`,value:`semantic`},{label:`Hybrid`,value:`hybrid`}]})]}),Qt&&(0,H.jsx)(g,{type:`warning`,showIcon:!0,message:Qt,style:{padding:8}}),(0,H.jsx)(Se,{spinning:Xt,children:(0,H.jsx)(`div`,{style:{maxHeight:420,overflow:`auto`},children:ao.length<2?(0,H.jsx)(y,{image:y.PRESENTED_IMAGE_SIMPLE,description:`Type at least 2 characters to search all Knowledge.`}):oo.length===0&&!Xt?(0,H.jsx)(y,{image:y.PRESENTED_IMAGE_SIMPLE,description:`No Knowledge results`}):(0,H.jsx)(b,{orientation:`vertical`,size:4,style:{width:`100%`},children:oo.map(e=>{let t=e.document,n=Yn(e.chunks?.find(e=>e.snippet)?.snippet??e.snippet);return(0,H.jsxs)(`button`,{type:`button`,onClick:()=>qa(e),style:{width:`100%`,border:0,borderRadius:C.borderRadius,background:`transparent`,color:C.colorText,cursor:`pointer`,padding:`8px 10px`,textAlign:`left`},onMouseEnter:e=>{e.currentTarget.style.background=C.colorFillQuaternary},onMouseLeave:e=>{e.currentTarget.style.background=`transparent`},children:[(0,H.jsxs)(S,{align:`baseline`,gap:8,style:{minWidth:0},children:[t.icon_emoji&&(0,H.jsx)(`span`,{style:{fontSize:15,lineHeight:1},children:t.icon_emoji}),(0,H.jsx)(U,{strong:!0,style:{flex:1,minWidth:0},ellipsis:!0,children:(0,H.jsx)(Ue,{text:t.title,query:Wt})}),(0,H.jsx)(a,{bordered:!1,style:{marginInlineEnd:0},children:wn[t.kind]??t.kind})]}),(0,H.jsx)(U,{type:`secondary`,style:{display:`block`,fontSize:12},ellipsis:!0,children:(0,H.jsx)(Ue,{text:`${e.namespace.display_name||e.namespace.slug} / ${t.path}`,query:Wt})}),n&&(0,H.jsx)(U,{type:`secondary`,style:{display:`-webkit-box`,fontSize:12,lineHeight:1.35,marginTop:2,overflow:`hidden`,WebkitBoxOrient:`vertical`,WebkitLineClamp:2},children:(0,H.jsx)(Ue,{text:n,query:Wt})})]},t.document_id)})})})})]})}),co=Jn(k),lo=[{label:`All Spaces`,value:`all`},...co],uo=Xn(dr,{allowEmpty:!0}),fo=Xn(_r,{allowEmpty:!0}),po=Nn(yr)?Xn(yr):null,mo=`Use letters, numbers, spaces, dashes, underscores, dots, and / for subfolders.`,ho=Fr||Lr,go=!D||!!(Z&&Z.path===D&&(!E||Q(Z)===E)),_o=!!(Me&&vt&&vt.key===Me),vo=In({activeDocMatchesRoute:go,routeDocumentResolutionFailed:_o,routeNamespaceSlug:E,routeDocumentPath:D}),yo=Ln({activeDocPresent:!!Z,isEditing:J,routeDocumentPath:D}),bo=vo||!!(Z&&(!go||!zi)),xo=J||yo||bo||_o;return(0,V.useEffect)(()=>{if(!T.hash||J||bo||!go)return;let e=T.hash.slice(1),t=it(e),n=!1,r=()=>{n||(document.getElementById(t)||(t===e?null:document.getElementById(e)))?.scrollIntoView({block:`start`})},i=window.requestAnimationFrame(r),a=window.setTimeout(r,80);return()=>{n=!0,window.cancelAnimationFrame(i),window.clearTimeout(a)}},[go,J,T.hash,bo]),(0,H.jsxs)(ve,{style:{height:`100vh`,overflow:`hidden`,background:C.colorBgLayout},children:[(0,H.jsxs)(dn,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,height:56,padding:`0 16px`,background:C.colorBgContainer,borderBottom:`1px solid ${C.colorBorderSecondary}`},children:[(0,H.jsxs)(b,{size:12,children:[(0,H.jsx)(n,{type:`text`,icon:(0,H.jsx)(c,{}),onClick:async()=>{await Oa()&&w(`/`)}}),(0,H.jsx)(Ye,{level:3,style:{marginTop:-4}}),(0,H.jsxs)(U,{strong:!0,style:{display:`inline-flex`,alignItems:`center`,gap:C.sizeUnit,fontSize:15,cursor:`pointer`},onClick:Ja,children:[(0,H.jsx)(te,{style:{color:C.colorTextSecondary}}),`Knowledge`]}),(0,H.jsx)(_,{title:`Knowledge is in beta — expect rough edges while the data model, MCP tools, and editor settle.`,children:(0,H.jsx)(a,{color:`orange`,style:{fontSize:10,lineHeight:`16px`,padding:`0 6px`,margin:0,cursor:`help`,userSelect:`none`},children:`BETA`})})]}),(0,H.jsx)(`div`,{ref:Ai,onKeyDown:e=>{e.key===`Escape`&&Yt(!1)},style:{flex:1,display:`flex`,justifyContent:`center`,minWidth:220,padding:`0 20px`},children:(0,H.jsx)(m,{open:Jt,onOpenChange:e=>{e&&Yt(!0)},trigger:`click`,placement:`bottom`,content:so,arrow:!1,getPopupContainer:e=>Ai.current??e.parentElement??document.body,children:(0,H.jsx)(be.Search,{allowClear:!0,"aria-label":`Search all Knowledge`,placeholder:`Search all Knowledge…`,prefix:(0,H.jsx)(ie,{}),value:Wt,onClick:()=>Yt(!0),onFocus:()=>Yt(!0),onChange:e=>{Gt(e.target.value),Yt(!0)},onSearch:(e,t,n)=>{if(n?.source===`clear`||Xt||!Un({resultKey:nn,query:e.trim(),mode:Kt}))return;let r=en[0];r&&qa(r)},loading:Xt,style:{width:`min(520px, 100%)`}})})}),(0,H.jsxs)(b,{children:[(0,H.jsx)(_,{title:`Refresh Knowledge`,placement:`bottom`,children:(0,H.jsx)(n,{type:`text`,"aria-label":`Refresh Knowledge`,icon:(0,H.jsx)(ce,{style:{fontSize:C.fontSizeLG}}),onClick:pa,loading:sn,style:{display:`flex`,alignItems:`center`,justifyContent:`center`}})}),(0,H.jsx)(_,{title:`Documentation`,placement:`bottom`,children:(0,H.jsx)(n,{type:`text`,icon:(0,H.jsx)(de,{style:{fontSize:C.fontSizeLG}}),href:`https://agor.live/guide/getting-started`,target:`_blank`,rel:`noopener noreferrer`,style:{display:`flex`,alignItems:`center`,justifyContent:`center`}})}),(0,H.jsx)(nt,{}),De(l?.role,ke.ADMIN)&&(0,H.jsx)(_,{title:`Knowledge settings`,placement:`bottom`,children:(0,H.jsx)(n,{type:`text`,icon:(0,H.jsx)(le,{style:{fontSize:C.fontSizeLG}}),onClick:_a,style:{display:`flex`,alignItems:`center`,justifyContent:`center`}})}),(0,H.jsx)(tt,{user:l,onUserSettingsClick:se,onLogout:ge})]})]}),(0,H.jsx)(fn,{style:{height:`calc(100vh - 56px)`,overflow:`hidden`,padding:0},children:(0,H.jsxs)($e,{id:`knowledge-layout`,direction:`horizontal`,style:{height:`100%`},onLayout:e=>{ki.current&&e.length>=2&&Di(xn(e[0],Vi,Hi))},children:[(0,H.jsx)(Qe,{id:`knowledge-sidebar`,order:1,ref:Oi,defaultSize:Ui,minSize:Vi,maxSize:Hi,style:{minWidth:_n},children:(0,H.jsx)(`aside`,{style:{height:`100%`,boxSizing:`border-box`,borderRight:`1px solid ${C.colorBorderSecondary}`,background:C.colorBgContainer,padding:16,overflow:`auto`},children:(0,H.jsxs)(b,{orientation:`vertical`,size:12,style:{width:`100%`},children:[!e&&(0,H.jsx)(g,{type:`warning`,title:`Knowledge requires a daemon connection.`}),(0,H.jsxs)(b,{orientation:`vertical`,size:4,style:{width:`100%`},children:[(0,H.jsx)(U,{type:`secondary`,style:{fontSize:11,textTransform:`uppercase`},children:`Space`}),(0,H.jsx)(i,{...qe,value:N,onChange:Xa,style:{width:`100%`},options:lo})]}),(0,H.jsx)(be,{allowClear:!0,prefix:(0,H.jsx)(ie,{}),placeholder:`Filter visible docs`,"aria-label":`Filter visible Knowledge docs`,value:Ht,onChange:e=>Ut(e.target.value)}),(0,H.jsxs)(S,{gap:8,children:[(0,H.jsx)(n,{block:!0,type:`primary`,icon:(0,H.jsx)(fe,{}),onClick:()=>ja(`doc`),disabled:!e,children:`New Page`}),(0,H.jsx)(n,{icon:(0,H.jsx)(xe,{}),onClick:Ma})]}),(0,H.jsx)(v,{block:!0,size:`small`,value:an,onChange:e=>Ii(String(e)),options:[`All`,`Pages`,`Skills`,`Memories`]}),(0,H.jsx)(Se,{spinning:sn,children:(0,H.jsxs)(`div`,{style:{background:C.colorFillQuaternary,borderRadius:C.borderRadiusLG,padding:4},children:[(0,H.jsxs)(`button`,{type:`button`,onClick:Ja,style:{width:`100%`,display:`flex`,alignItems:`center`,gap:8,minHeight:30,margin:`1px 0`,padding:`5px 10px`,border:0,borderRadius:C.borderRadius,background:yo?C.colorPrimaryBg:`transparent`,color:C.colorText,cursor:`pointer`,textAlign:`left`,fontWeight:yo?600:400},children:[(0,H.jsx)(r,{style:{color:C.colorTextTertiary,fontSize:13}}),(0,H.jsx)(`span`,{children:`Graph`})]}),io()]})})]})})}),(0,H.jsx)(Ze,{style:{width:`4px`,background:C.colorBorderSecondary,cursor:`col-resize`,transition:`background 0.2s`},onDragging:e=>{ki.current=e},onMouseEnter:e=>{e.currentTarget.style.background=C.colorPrimary},onMouseLeave:e=>{e.currentTarget.style.background=C.colorBorderSecondary}}),(0,H.jsx)(Qe,{id:`knowledge-main`,order:2,minSize:30,children:(0,H.jsx)(`main`,{style:{height:`100%`,minWidth:0,overflow:xo?`hidden`:`auto`,background:C.colorBgLayout},children:(0,H.jsxs)(`div`,{style:{maxWidth:xo?`none`:1040,height:xo?`100%`:void 0,margin:xo?0:`0 auto`,padding:yo?0:J?24:`40px 56px`,boxSizing:`border-box`,display:xo?`flex`:void 0,flexDirection:xo?`column`:void 0,minHeight:0},children:[Tn&&(0,H.jsx)(g,{type:`error`,title:`Knowledge error`,description:Tn,closable:!0,onClose:()=>q(null),style:{marginBottom:16}}),Z&&go&&zi?(0,H.jsxs)(`div`,{style:{width:`100%`,height:J?`100%`:void 0,display:`flex`,flexDirection:`column`,gap:20,minHeight:0},children:[(0,H.jsxs)(`div`,{onMouseEnter:()=>Ir(!0),onMouseLeave:()=>Ir(!1),onFocus:()=>Ir(!0),onBlur:e=>{let t=e.relatedTarget;(!t||!e.currentTarget.contains(t))&&Ir(!1)},style:{position:`relative`,display:J?`flex`:`block`,alignItems:`flex-start`,gap:16},children:[(0,H.jsxs)(b,{orientation:`vertical`,size:8,style:{width:`100%`,minWidth:0,flex:1},children:[(0,H.jsxs)(S,{align:`center`,gap:12,style:{width:`100%`},children:[(0,H.jsx)(m,{trigger:`click`,placement:`bottomLeft`,onOpenChange:Rr,content:Ra(J?zt:La),children:(0,H.jsx)(n,{type:`text`,size:`large`,disabled:!e&&!Li,style:{fontSize:30,width:52,height:52,padding:0,color:Ri?void 0:C.colorTextTertiary},"aria-label":Ri?`Change Knowledge document emoji icon`:`Add Knowledge document emoji icon`,children:Ri?(0,H.jsx)(`span`,{style:{fontSize:39,lineHeight:1},children:Ri}):(0,H.jsx)(u,{})})}),(0,H.jsx)(`div`,{style:{flex:1,minWidth:0},children:J&&!z?(0,H.jsx)(be,{value:At,onChange:e=>jt(e.target.value),placeholder:`Page title`,size:`large`,variant:`borderless`,style:{fontSize:32,fontWeight:700,paddingInline:0}}):(0,H.jsx)(pn,{level:1,style:{margin:0},children:J?At:Z.title})})]}),(0,H.jsxs)(b,{wrap:!0,children:[J?(0,H.jsx)(i,{size:`small`,value:Mt,disabled:!ua,onChange:Nt,style:{width:104},options:[{label:`Public`,value:`public`},{label:`Private`,value:`private`}]}):(0,H.jsx)(a,{color:Z.visibility===`public`?`green`:`default`,children:Z.visibility}),J?(0,H.jsx)(i,{size:`small`,value:Pt,disabled:!ua,onChange:Ft,style:{width:118},options:[{label:`Published`,value:`published`},{label:`Draft`,value:`draft`}]}):Z.status===`draft`?(0,H.jsx)(a,{color:`gold`,children:`Draft`}):(0,H.jsx)(a,{color:`blue`,children:`Published`}),(0,H.jsx)(kn,{status:Z.indexing_status,size:16}),J?(0,H.jsx)(i,{size:`small`,value:It,onChange:Lt,style:{width:128},options:je.map(e=>({label:wn[e],value:e}))}):(0,H.jsx)(a,{children:wn[Z.kind]??Z.kind}),(0,H.jsx)(U,{type:`secondary`,children:Z.path})]}),J&&(0,H.jsxs)(b,{orientation:`vertical`,size:4,children:[(0,H.jsx)(ne,{checked:z,onChange:e=>Bt(e.target.checked),children:`Use first heading as title`}),(0,H.jsx)(ne,{checked:zr,disabled:!Qi,onChange:e=>Br(e.target.checked),children:`Rename page path to match title`}),Qi&&(0,H.jsxs)(U,{type:`secondary`,style:{fontSize:12},children:[`Current path: `,Z.path,zr&&` → ${$i}`]})]})]}),(0,H.jsx)(b,{style:J?void 0:{position:`absolute`,top:0,right:0,zIndex:2,padding:4,borderRadius:C.borderRadiusLG,background:C.colorBgContainer,boxShadow:Fr?C.boxShadowSecondary:void 0},children:J?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(n,{onClick:za,children:`Cancel`}),(0,H.jsx)(n,{type:`primary`,icon:(0,H.jsx)(o,{}),loading:ln,disabled:!e,onClick:Fa,children:`Save`})]}):(0,H.jsxs)(H.Fragment,{children:[ho&&(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)(n,{icon:(0,H.jsx)(oe,{}),disabled:!e,onClick:Ba,children:[`History`,sa>0&&(0,H.jsx)(a,{color:`blue`,variant:`filled`,style:{marginInlineStart:6,marginInlineEnd:0},children:sa})]}),(0,H.jsx)(n,{icon:(0,H.jsx)(ae,{}),disabled:!e,onClick:()=>{Or(Zn(Z.path)),Er(!0)},children:`Relocate`}),(0,H.jsx)(ze,{tooltip:``,size:`middle`,disabled:!e,onClick:Ha,children:`Archive`})]}),(0,H.jsx)(n,{icon:(0,H.jsx)(h,{}),disabled:!e,onClick:()=>Wa(!0),children:`Edit`})]})})]}),J?(0,H.jsxs)(S,{gap:16,align:`stretch`,style:{flex:1,minHeight:0},children:[(0,H.jsxs)(`div`,{style:{width:`50%`,minWidth:0,minHeight:0,display:`flex`,flexDirection:`column`,gap:8},children:[(0,H.jsx)(U,{strong:!0,children:`Markdown`}),(0,H.jsx)(`div`,{style:{flex:1,minHeight:0,overflow:`auto`},children:(0,H.jsx)(dt,{value:B,onChange:Vt,client:e,sessionId:null,userById:_e,kbDocs:Ie,placeholder:`# Page title
|
|
7
|
-
|
|
8
|
-
Write markdown here. Type @ to link a doc or mention a user, : for emoji.`,autoSize:{minRows:24}},Z.document_id)})]}),(0,H.jsxs)(`div`,{style:{width:`50%`,minWidth:0,minHeight:0,display:`flex`,flexDirection:`column`,gap:8},children:[(0,H.jsx)(U,{strong:!0,children:`Preview`}),(0,H.jsx)(`div`,{onClick:Xi,style:{flex:1,minHeight:0,overflow:`auto`,padding:24,border:`1px solid ${C.colorBorderSecondary}`,borderRadius:C.borderRadiusLG,background:C.colorBgContainer},children:(0,H.jsx)(Be,{content:Yi(B),headingAnchors:!0})})]})]}):(0,H.jsx)(`div`,{onClick:Xi,style:{padding:`8px 0 80px`,fontSize:16,lineHeight:1.7},children:(0,H.jsx)(Be,{content:Yi(z?rr(B):B),headingAnchors:!0})})]}):bo?(0,H.jsx)(S,{vertical:!0,align:`center`,justify:`center`,style:{flex:1,minHeight:320,width:`100%`},children:(0,H.jsx)(Se,{})}):_o?(0,H.jsx)(S,{vertical:!0,align:`center`,justify:`center`,style:{flex:1,minHeight:320,width:`100%`},children:(0,H.jsx)(y,{image:y.PRESENTED_IMAGE_SIMPLE,description:vt?.message??`Knowledge page not found.`})}):(0,H.jsx)(`div`,{style:{flex:1,minHeight:0,width:`100%`},children:(0,H.jsx)(un,{nodes:St?.nodes??[],edges:St?.edges??[],activeDocId:P,hoverDocId:Et,onSelectDoc:Ya,onHoverDoc:Dt,loading:wt,emptyText:N===`all`?`Pick a Space to see its document graph.`:`No linked documents in this Space yet.`})})]})})})]})}),(0,H.jsx)(ye,{title:`Version history`,open:kr,onClose:()=>Ar(!1),size:`72vw`,destroyOnHidden:!0,extra:(0,H.jsxs)(b,{children:[(0,H.jsx)(v,{size:`small`,value:Nr,onChange:e=>Pr(e),options:[{label:`Preview`,value:`preview`},{label:`Diff`,value:`diff`}]}),(0,H.jsx)(n,{type:`primary`,loading:ln,disabled:!$||$.version_id===j[0]?.version_id,onClick:Va,children:`Restore`})]}),children:(0,H.jsxs)(S,{gap:16,style:{height:`100%`},children:[(0,H.jsx)(`div`,{style:{width:280,flexShrink:0,borderRight:`1px solid ${C.colorBorderSecondary}`,paddingRight:12,overflow:`auto`},children:(0,H.jsx)(me,{dataSource:j,locale:{emptyText:(0,H.jsx)(y,{description:`No version history yet`})},renderItem:(e,t)=>{let n=On(e),r=n?.targetVersionId?j.find(e=>e.version_id===n.targetVersionId):null;return(0,H.jsx)(me.Item,{onClick:()=>Mr(e.version_id),style:{cursor:`pointer`,borderRadius:C.borderRadiusLG,padding:12,background:$?.version_id===e.version_id?C.colorPrimaryBg:`transparent`},children:(0,H.jsx)(me.Item.Meta,{title:(0,H.jsxs)(b,{wrap:!0,children:[(0,H.jsxs)(U,{strong:!0,children:[`v`,e.version_number]}),t===0&&(0,H.jsx)(a,{color:`green`,children:`Current`}),n&&(0,H.jsx)(m,{content:(0,H.jsxs)(b,{orientation:`vertical`,size:4,children:[(0,H.jsxs)(U,{children:[`When`,` `,r?`v${r.version_number}`:`the next version`,` `,`was indexed, Agor reused `,n.reusedChunks,` of`,` `,n.totalChunks,` chunk embeddings from matching normalized chunk hashes.`]}),(n.model||n.dimensions)&&(0,H.jsx)(U,{type:`secondary`,children:[n.model,n.dimensions&&`${n.dimensions}d`].filter(Boolean).join(` · `)}),n.updatedAt&&(0,H.jsxs)(U,{type:`secondary`,children:[`Recorded `,ir(n.updatedAt)]})]}),children:(0,H.jsxs)(a,{color:`green`,children:[`♻️ `,`${n.reusedChunks}/${n.totalChunks}`]})})]}),description:(0,H.jsxs)(b,{orientation:`vertical`,size:2,children:[(0,H.jsx)(U,{type:`secondary`,children:ir(e.created_at)}),e.change_summary&&(0,H.jsx)(U,{children:e.change_summary})]})})})}})}),(0,H.jsx)(`div`,{style:{flex:1,minWidth:0,overflow:`auto`},children:$?Nr===`diff`?oa?(0,H.jsx)(ot,{filePath:Z?.path??`knowledge.md`,operationType:`edit`,oldContent:oa.content_text??``,newContent:$.content_text??``,forceExpanded:!0}):(0,H.jsx)(y,{description:`No previous version to diff against`}):(0,H.jsx)(`div`,{onClick:Xi,style:{maxWidth:900,margin:`0 auto`,paddingBottom:80},children:(0,H.jsxs)(b,{orientation:`vertical`,size:12,style:{width:`100%`},children:[(0,H.jsxs)(b,{wrap:!0,children:[(0,H.jsxs)(a,{children:[`v`,$.version_number]}),(0,H.jsx)(U,{type:`secondary`,children:ir($.created_at)})]}),(0,H.jsx)(Be,{content:Yi($.content_text??``),headingAnchors:!0})]})}):(0,H.jsx)(y,{description:`Select a version`})})]})}),(0,H.jsx)(t,{title:`Knowledge settings`,open:Vr,onCancel:()=>Hr(!1),footer:null,width:760,children:(0,H.jsx)(Se,{spinning:qr,children:(0,H.jsx)(s,{defaultActiveKey:`namespaces`,items:[{key:`namespaces`,label:`Namespaces`,children:(0,H.jsxs)(b,{direction:`vertical`,size:16,style:{width:`100%`},children:[(0,H.jsx)(g,{type:`info`,showIcon:!0,message:`Namespaces are the Knowledge RBAC boundary. Use the workspace fallback for broad access, and add specific user or group grants below when access should be narrower.`}),ci&&(0,H.jsx)(g,{type:`error`,showIcon:!0,message:ci}),(0,H.jsxs)(S,{justify:`space-between`,align:`center`,children:[(0,H.jsxs)(b,{direction:`vertical`,size:0,children:[(0,H.jsx)(U,{strong:!0,children:`Knowledge namespaces`}),(0,H.jsx)(U,{type:`secondary`,children:`Create and manage Knowledge spaces, defaults, and broad workspace access.`})]}),(0,H.jsx)(n,{type:`primary`,onClick:()=>ba(null),children:`New namespace`})]}),(0,H.jsx)(me,{size:`small`,dataSource:k,locale:{emptyText:`No readable namespaces`},renderItem:e=>{let t=e.effective_permission===`own`;return(0,H.jsx)(me.Item,{actions:[(0,H.jsx)(n,{size:`small`,disabled:!t,onClick:()=>ba(e),children:`Edit`},`edit`),(0,H.jsx)(n,{size:`small`,danger:!0,disabled:!t||e.kind===`system`,onClick:()=>Ea(e),children:`Archive`},`archive`)],children:(0,H.jsx)(me.Item.Meta,{title:(0,H.jsxs)(b,{wrap:!0,children:[(0,H.jsx)(U,{strong:!0,children:e.display_name||e.slug}),(0,H.jsx)(a,{children:e.slug}),(0,H.jsxs)(a,{color:e.others_can===`none`?`default`:`blue`,children:[`others: `,e.others_can]})]}),description:e.description||`No description`})})}})]})},{key:`semantic`,label:`Semantic search`,children:(0,H.jsxs)(b,{direction:`vertical`,size:16,style:{width:`100%`},children:[Zr&&(0,H.jsx)(g,{type:`error`,showIcon:!0,message:Zr}),(0,H.jsx)(g,{type:`info`,showIcon:!0,message:`Semantic search uses markdown-aware chunks stored in Postgres/pgvector. SQLite can save settings and chunks, but vector search requires Postgres.`}),Gr&&(0,H.jsx)(`div`,{style:{border:`1px solid ${C.colorBorderSecondary}`,borderRadius:C.borderRadiusLG,padding:12,background:C.colorFillQuaternary},children:(0,H.jsxs)(b,{direction:`vertical`,size:4,style:{width:`100%`},children:[(0,H.jsx)(U,{strong:!0,children:`Indexing status`}),(0,H.jsxs)(U,{type:`secondary`,children:[Gr.dialect,` · pgvector`,` `,Gr.pgvector_available?`ready`:Gr.pgvector_extension_installed?`extension installed, storage not ready`:`not available`,` `,`· queue `,Gr.queue_depth]}),(0,H.jsx)(b,{wrap:!0,children:Object.entries(Gr.chunks).map(([e,t])=>(0,H.jsxs)(a,{children:[e,`: `,Number(t)]},e))}),Gr.last_error&&(0,H.jsx)(g,{type:`warning`,message:Gr.last_error})]})}),(0,H.jsxs)(x,{form:ti,layout:`vertical`,initialValues:Ur??gn,children:[(0,H.jsx)(x.Item,{name:`enabled`,label:`Enable semantic / hybrid search`,valuePropName:`checked`,children:(0,H.jsx)(p,{})}),(0,H.jsxs)(S,{gap:12,wrap:`wrap`,children:[(0,H.jsx)(x.Item,{name:`provider`,label:`Provider`,style:{minWidth:180,flex:1},children:(0,H.jsx)(i,{options:[{label:`OpenAI`,value:`openai`}]})}),(0,H.jsx)(x.Item,{name:`model`,label:`Model`,style:{minWidth:240,flex:2},children:(0,H.jsx)(i,{options:Cn,onChange:()=>ti.setFieldValue(`dimensions`,1536)})}),(0,H.jsx)(x.Item,{name:`dimensions`,label:`Dimensions`,tooltip:`Agor V1 indexes 1536-dimensional embeddings. text-embedding-3-large is requested with dimensions=1536.`,style:{width:140},children:(0,H.jsx)(we,{disabled:!0,min:1536,max:1536,precision:0,style:{width:`100%`}})})]}),(0,H.jsx)(x.Item,{label:`OpenAI API key`,children:(0,H.jsx)(be.Password,{value:$r,onChange:e=>ei(e.target.value),placeholder:Ur?.api_key_configured?`Configured — enter a new key to replace`:`sk-...`,autoComplete:`off`})}),(0,H.jsxs)(S,{gap:12,wrap:`wrap`,children:[(0,H.jsx)(x.Item,{name:[`chunking`,`target_tokens`],label:`Target tokens`,style:{width:150},children:(0,H.jsx)(we,{min:100,precision:0,style:{width:`100%`}})}),(0,H.jsx)(x.Item,{name:[`chunking`,`max_tokens`],label:`Max tokens`,style:{width:150},children:(0,H.jsx)(we,{min:100,precision:0,style:{width:`100%`}})}),(0,H.jsx)(x.Item,{name:[`chunking`,`overlap_tokens`],label:`Overlap`,style:{width:130},children:(0,H.jsx)(we,{min:0,precision:0,style:{width:`100%`}})}),(0,H.jsx)(x.Item,{name:[`chunking`,`min_tokens`],label:`Min tokens`,style:{width:130},children:(0,H.jsx)(we,{min:0,precision:0,style:{width:`100%`}})}),(0,H.jsx)(x.Item,{name:[`indexing`,`batch_size`],label:`Batch size`,style:{width:130},children:(0,H.jsx)(we,{min:1,max:256,precision:0,style:{width:`100%`}})})]})]}),(0,H.jsxs)(S,{justify:`space-between`,align:`center`,children:[(0,H.jsx)(U,{type:`secondary`,children:`Reindexing queues current Knowledge chunks and wakes the background indexer.`}),(0,H.jsxs)(b,{children:[(0,H.jsx)(n,{onClick:ya,loading:Yr,children:`Reindex now`}),(0,H.jsx)(n,{type:`primary`,onClick:va,loading:Yr,children:`Save semantic settings`})]})]})]})}]})})}),(0,H.jsx)(t,{title:ii?`Edit namespace`:`Create namespace`,open:ni,onCancel:()=>ri(!1),okText:ii?`Save namespace`:`Create namespace`,onOk:Ta,confirmLoading:oi,destroyOnHidden:!0,children:(0,H.jsxs)(x,{form:ui,layout:`vertical`,onValuesChange:xa,children:[(0,H.jsx)(x.Item,{name:`display_name`,label:`Name`,rules:[{required:!0,message:`Name is required`}],children:(0,H.jsx)(be,{placeholder:`Team docs`})}),(0,H.jsx)(x.Item,{name:`slug`,label:`Slug`,rules:[{required:!0,message:`Namespace slug is required`},{pattern:/^[a-z0-9][a-z0-9._-]*$/,message:`Use lowercase letters, numbers, dots, underscores, or dashes`}],children:(0,H.jsx)(be,{disabled:!!ii,placeholder:`team-docs`})}),(0,H.jsx)(x.Item,{name:`description`,label:`Description`,children:(0,H.jsx)(be.TextArea,{rows:3,placeholder:`What belongs in this namespace?`})}),(0,H.jsx)(x.Item,{name:`kind`,hidden:!0,children:(0,H.jsx)(be,{})}),(0,H.jsxs)(b,{direction:`vertical`,size:12,style:{width:`100%`},children:[(0,H.jsxs)(b,{direction:`vertical`,size:0,children:[(0,H.jsx)(U,{strong:!0,children:`Default access`}),(0,H.jsx)(U,{type:`secondary`,children:`These defaults apply across the namespace before user or group-specific grants.`})]}),(0,H.jsxs)(S,{gap:12,wrap:`wrap`,children:[(0,H.jsx)(x.Item,{name:`visibility_default`,label:`Default document visibility`,style:{minWidth:180,flex:1},children:(0,H.jsx)(i,{options:[{label:`Public in namespace`,value:`public`},{label:`Private to creator`,value:`private`}]})}),(0,H.jsx)(x.Item,{name:`others_can`,label:`Everyone else in workspace`,tooltip:`Fallback for users not listed in specific namespace access.`,style:{minWidth:180,flex:1},children:(0,H.jsx)(i,{options:[{label:`No access`,value:`none`},{label:`Read`,value:`read`},{label:`Write`,value:`write`}]})})]})]}),(0,H.jsxs)(b,{direction:`vertical`,size:12,style:{width:`100%`},children:[(0,H.jsxs)(b,{direction:`vertical`,size:0,children:[(0,H.jsx)(U,{strong:!0,children:`Specific access`}),(0,H.jsx)(U,{type:`secondary`,children:`Add users or groups that should override the default access above.`})]}),(0,H.jsxs)(S,{gap:8,wrap:`wrap`,children:[(0,H.jsx)(i,{showSearch:!0,allowClear:!0,placeholder:`User or group`,value:bi,onChange:e=>xi(e??null),options:Gi,optionFilterProp:`label`,style:{minWidth:280,flex:1}}),(0,H.jsx)(i,{value:Si,onChange:Ci,options:[{label:`Read`,value:`read`},{label:`Write`,value:`write`},{label:`Own`,value:`own`}],style:{width:120}}),(0,H.jsx)(n,{onClick:Sa,disabled:!bi,children:`+ Add`})]}),(0,H.jsx)(Se,{spinning:vi,children:(0,H.jsx)(me,{size:`small`,dataSource:gi,locale:{emptyText:`No specific user or group grants`},renderItem:e=>(0,H.jsx)(me.Item,{actions:[(0,H.jsx)(i,{size:`small`,value:e.permission,onChange:t=>Ca(e,t),options:[{label:`Read`,value:`read`},{label:`Write`,value:`write`},{label:`Own`,value:`own`}],style:{width:110}},`permission`),(0,H.jsx)(n,{type:`text`,size:`small`,danger:!0,icon:(0,H.jsx)(ee,{}),"aria-label":`Remove ${qi(e)}`,onClick:()=>wa(e)},`remove`)],children:(0,H.jsx)(me.Item.Meta,{title:(0,H.jsxs)(b,{children:[(0,H.jsx)(_,{title:e.subject_type===`user`?`User`:`Group`,children:e.subject_type===`user`?(0,H.jsx)(he,{}):(0,H.jsx)(pe,{})}),(0,H.jsx)(U,{children:qi(e)})]})})})})})]})]})}),(0,H.jsx)(t,{title:`Relocate page`,open:Tr,okText:`Move`,onOk:async()=>{Z&&await Ia(Z,Dr),Er(!1)},onCancel:()=>Er(!1),destroyOnHidden:!0,children:(0,H.jsxs)(b,{orientation:`vertical`,size:12,style:{width:`100%`},children:[(0,H.jsx)(U,{type:`secondary`,children:`Choose the target folder. The page filename stays the same.`}),(0,H.jsx)(`style`,{children:`
|
|
9
|
-
.knowledge-relocate-tree .ant-tree-node-content-wrapper,
|
|
10
|
-
.knowledge-relocate-tree .ant-tree-switcher {
|
|
11
|
-
background: transparent !important;
|
|
12
|
-
}
|
|
13
|
-
.knowledge-relocate-tree .ant-tree-node-content-wrapper:hover {
|
|
14
|
-
background: ${C.colorFillQuaternary} !important;
|
|
15
|
-
}
|
|
16
|
-
.knowledge-relocate-tree .ant-tree-node-content-wrapper.ant-tree-node-selected {
|
|
17
|
-
background: ${C.colorPrimaryBg} !important;
|
|
18
|
-
color: ${C.colorPrimaryText} !important;
|
|
19
|
-
font-weight: 600;
|
|
20
|
-
}
|
|
21
|
-
.knowledge-relocate-tree .ant-tree-node-content-wrapper.ant-tree-node-selected:hover {
|
|
22
|
-
background: ${C.colorPrimaryBgHover} !important;
|
|
23
|
-
}
|
|
24
|
-
`}),(0,H.jsx)(f,{className:`knowledge-relocate-tree`,showLine:!0,blockNode:!0,treeData:ia,selectedKeys:[`folder:${Dr}`],expandedKeys:Ot,onExpand:e=>kt(e),onSelect:(e,t)=>{let n=t.node;n.kind===`folder`&&Or(n.folderPath??G)},style:{maxHeight:360,overflow:`auto`,padding:8,border:`1px solid ${C.colorBorderSecondary}`,borderRadius:C.borderRadiusLG,background:C.colorBgContainer}})]})}),(0,H.jsx)(t,{title:`Create ${wn[Wn]??`Page`}`,open:En,okText:`Create`,confirmLoading:ln,onOk:Pa,onCancel:()=>Dn(!1),destroyOnHidden:!0,children:(0,H.jsxs)(x,{layout:`vertical`,children:[(0,H.jsx)(x.Item,{label:`Type`,children:(0,H.jsx)(v,{block:!0,value:Wn,onChange:e=>{let t=e,n=t===`skill`?`New Skill`:t===`memory`?`New Memory`:`New Page`;Gn(t),cr(n),fr(L||(t===`skill`?`skills`:t===`memory`?`memories`:`pages`))},options:[{label:`Page`,value:`doc`},{label:`Skill`,value:`skill`},{label:`Memory`,value:`memory`}]})}),(0,H.jsx)(x.Item,{label:`Space`,children:(0,H.jsx)(i,{...qe,value:lr,onChange:ur,options:co})}),(0,H.jsx)(x.Item,{label:`Folder`,validateStatus:uo?`error`:void 0,help:uo??mo,children:(0,H.jsx)(Te,{value:dr,onChange:e=>fr(Nn(e)),options:na,placeholder:`Root, pages, skills/how-to, ...`,filterOption:(e,t)=>String(t?.value??``).toLowerCase().includes(e.toLowerCase())})}),(0,H.jsx)(x.Item,{label:`Title`,children:(0,H.jsx)(be,{value:sr,onChange:e=>cr(e.target.value),autoFocus:!0})}),(0,H.jsx)(g,{type:`info`,showIcon:!0,title:`Path preview`,description:(0,H.jsx)(U,{code:!0,children:aa})})]})}),(0,H.jsx)(t,{title:`New Folder`,open:hr,okText:`Create folder`,onOk:Na,okButtonProps:{disabled:!Nn(yr)||!!(po||fo)},onCancel:()=>gr(!1),destroyOnHidden:!0,children:(0,H.jsxs)(x,{layout:`vertical`,children:[(0,H.jsx)(x.Item,{label:`Parent folder`,validateStatus:fo?`error`:void 0,help:fo??mo,children:(0,H.jsx)(Te,{value:_r,onChange:e=>vr(Nn(e)),options:na,placeholder:`Root`,filterOption:(e,t)=>String(t?.value??``).toLowerCase().includes(e.toLowerCase())})}),(0,H.jsx)(x.Item,{label:`Folder name`,validateStatus:po?`error`:void 0,help:po??mo,children:(0,H.jsx)(be,{value:yr,onChange:e=>br(e.target.value),placeholder:`research, runbooks, team/data, ...`,autoFocus:!0})}),(0,H.jsx)(g,{type:`info`,showIcon:!0,title:`Folders are path-based`,description:`Empty folders are local placeholders until you create a page inside them; they still appear in relocate targets.`})]})})]})}export{sr as KnowledgePage,Un as areKnowledgeSearchResultsFresh,Bn as buildKnowledgeDocumentRouteUrl,Jn as buildKnowledgeNamespaceSelectOptions,zn as buildKnowledgeQueryString,Hn as buildKnowledgeSearchResultKey,Rn as isKnowledgeDocumentContentReady,qn as isKnowledgeDocumentsResponseCurrent,Vn as matchesKnowledgeSidebarFilter,Pn as resolveActiveKnowledgeDocument,Gn as resolveKnowledgeSpaceAfterNamespacesLoad,Kn as resolveKnowledgeSpaceAfterRouteOrNamespacesLoad,Fn as shouldDeferKnowledgeUrlMirrorForRoute,Ln as shouldShowKnowledgeGraphView,In as shouldShowKnowledgeRouteDocumentLoading};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime--c01j_DQ.js";import{An as t,Ft as n,Hn as r,Kn as i,Pn as a,Qn as o,_t as s,fn as c,ir as l,nn as u,o as d,pn as f,tn as p,x as m,zt as h}from"./antd-DT5ackd0.js";import{L as g,nt as _,rt as v}from"./src-DAeyG22O.js";import{N as y}from"./editor-DQIG-JYZ.js";import{Bn as b,Ct as x,En as S,In as C,Ln as w,Tn as T,Vn as E,Y as D,bn as O,gn as k,in as A,mn as j,pn as M,q as N,sn as P,un as F,vn as I}from"./index-DTz1Dif6.js";import{t as L}from"./AutocompleteTextarea-Dau-V_30.js";import{n as R,t as z}from"./ConversationView-9-3ma1u-.js";var B=e(l(),1),V=y(),{Header:H}=u,{Title:U}=n,W=({showMenu:e=!0,showLogo:n=!1,title:r,user:i,onMenuClick:a,onLogout:o})=>{let{token:s}=h.useToken();return(0,V.jsxs)(H,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,padding:`0 16px`,background:s.colorBgContainer,borderBottom:`1px solid ${s.colorBorderSecondary}`},children:[(0,V.jsxs)(c,{size:8,align:`center`,style:{flex:1},children:[n&&(0,V.jsx)(`img`,{src:S(),alt:T.name,style:{height:32,borderRadius:`50%`,objectFit:`cover`,display:`block`}}),(0,V.jsx)(U,{level:5,style:{margin:0,marginTop:-4,color:s.colorText,fontSize:n?18:16,fontWeight:n?400:500},children:r||`agor`})]}),(0,V.jsxs)(c,{size:12,align:`center`,children:[i&&(0,V.jsx)(N,{user:i,size:28,fontSize:`20px`}),e&&(0,V.jsx)(t,{type:`text`,icon:(0,V.jsx)(d,{style:{fontSize:s.fontSizeLG}}),onClick:a})]})]})},G=({client:e,boardById:t,commentById:n,branchById:r,userById:i,currentUser:a,onMenuClick:s,onSendComment:c,onReplyComment:l,onResolveComment:u,onToggleReaction:d,onDeleteComment:f})=>{let{boardId:p}=E(),m=p?t.get(p):void 0,h=x(n).filter(e=>e.board_id===p);return p?m?(0,V.jsxs)(`div`,{style:{height:`100vh`,display:`flex`,flexDirection:`column`},children:[(0,V.jsx)(W,{title:`${m.icon||`📋`} ${m.name}`,showMenu:!0,user:a,onMenuClick:s}),(0,V.jsx)(`div`,{style:{flex:1,overflow:`hidden`},children:(0,V.jsx)(R,{client:e,boardId:p,comments:h,userById:i,currentUserId:a?.user_id||`unknown`,boardObjects:m?.objects,branchById:r,onSendComment:e=>c(p,e),onReplyComment:l,onResolveComment:u,onToggleReaction:d,onDeleteComment:f})})]}):(0,V.jsx)(`div`,{style:{padding:16},children:(0,V.jsx)(o,{type:`error`,title:`Board not found`})}):(0,V.jsx)(`div`,{style:{padding:16},children:(0,V.jsx)(o,{type:`error`,title:`No board ID provided`})})},{Text:K}=n,q=({items:e,defaultActiveKey:t})=>{let{token:n}=h.useToken();return(0,V.jsx)(i,{defaultActiveKey:t,expandIcon:({isActive:e})=>(0,V.jsx)(r,{rotate:e?180:0}),style:{border:`none`,backgroundColor:`transparent`,width:`100%`},items:e.map(({key:e,board:t,badge:r,children:i})=>({key:e,label:(0,V.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8},children:[t.icon&&(0,V.jsx)(`span`,{style:{fontSize:16},children:t.icon}),(0,V.jsx)(K,{strong:!0,style:{fontSize:14},children:t.name}),r]}),style:{marginBottom:0,backgroundColor:n.colorBgContainer,borderRadius:0,border:`1px solid ${n.colorBorder}`},children:(0,V.jsx)(`div`,{style:{backgroundColor:n.colorBgLayout,margin:-16,padding:16},children:i})}))})},{Text:J}=n,Y=({boardById:e,branchById:n,sessionsByBranch:o,commentById:l,onNavigate:u})=>{let d=b(),{token:f}=h.useToken(),p=e=>{d(`/m/session/${e}`),u?.()},m=(e,t)=>{t.stopPropagation(),d(`/m/comments/${e}`),u?.()},g=e=>x(l).filter(t=>t.board_id===e&&!t.resolved&&!t.parent_comment_id).length,_={};for(let e of n.values()){let t=e.board_id||`unassigned`;_[t]||(_[t]=[]),_[t].push(e)}let v=new Map(Array.from(o.entries()).map(([e,t])=>[e,[...t].sort((e,t)=>{let n=new Date(e.last_updated).getTime();return new Date(t.last_updated).getTime()-n})])),y=e=>D(e,{fallbackChars:50,includeIdFallback:!0}),S=e=>e.status===`running`?`▶️`:e.status===`completed`?`✅`:e.status===`failed`?`❌`:`⏸️`;return(0,V.jsx)(`div`,{style:{overflowY:`auto`,height:`calc(100vh - 64px)`},children:(0,V.jsx)(q,{items:x(e).map(e=>{let n=_[e.board_id]||[],o=g(e.board_id);return{key:e.board_id,board:e,badge:(0,V.jsxs)(c,{size:8,children:[(0,V.jsx)(a,{count:n.length,style:{backgroundColor:f.colorPrimaryBg},showZero:!0}),(0,V.jsx)(a,{count:o,offset:[-6,6],styles:{indicator:{backgroundColor:`${f.colorPrimary}80`,boxShadow:`0 0 0 2px rgba(0, 0, 0, 0.5)`}},children:(0,V.jsx)(t,{type:`text`,icon:(0,V.jsx)(s,{style:{fontSize:18}}),onClick:t=>m(e.board_id,t),style:{padding:`6px 10px`,height:`auto`,color:o>0?f.colorPrimary:f.colorTextSecondary}})})]}),children:n.length===0?(0,V.jsx)(J,{type:`secondary`,children:`No branches on this board`}):(0,V.jsx)(i,{defaultActiveKey:[],ghost:!0,expandIcon:({isActive:e})=>(0,V.jsx)(r,{rotate:e?180:0}),items:n.sort((e,t)=>{let n=Math.max(...(v.get(e.branch_id)||[]).map(e=>new Date(e.last_updated).getTime()),0);return Math.max(...(v.get(t.branch_id)||[]).map(e=>new Date(e.last_updated).getTime()),0)-n}).map(e=>{let t=v.get(e.branch_id)||[];return{key:e.branch_id,label:(0,V.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:2,padding:`2px 0`},children:[(0,V.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8},children:[(0,V.jsx)(`span`,{children:`🌳`}),(0,V.jsx)(J,{strong:!0,children:e.name})]}),(0,V.jsxs)(J,{type:`secondary`,style:{fontSize:12,paddingLeft:28},children:[t.length,` sessions`]})]}),children:t.length===0?(0,V.jsx)(J,{type:`secondary`,style:{padding:`8px 0 8px 28px`,display:`block`},children:`No sessions yet`}):(0,V.jsx)(`div`,{children:t.map(e=>(0,V.jsx)(`div`,{onClick:()=>p(e.session_id),style:{cursor:`pointer`,padding:`6px 8px 6px 28px`,borderRadius:4},onMouseEnter:e=>{e.currentTarget.style.background=`rgba(255, 255, 255, 0.04)`},onMouseLeave:e=>{e.currentTarget.style.background=`transparent`},children:(0,V.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:2,width:`100%`},children:[(0,V.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8},children:[(0,V.jsx)(`span`,{children:S(e)}),(0,V.jsx)(J,{children:y(e)})]}),(0,V.jsxs)(J,{type:`secondary`,style:{fontSize:11,paddingLeft:28},children:[e.agentic_tool,e.model_config?.model&&` • ${e.model_config.model}`]})]})},e.session_id))})}})})}})})})},X=({onSend:e,disabled:n=!1,placeholder:r=`Send a prompt...`,promptDraft:i=``,onUpdateDraft:a,client:o,sessionId:s,userById:c})=>{let{token:l}=h.useToken(),u=i,d=e=>{a?.(e)},f=()=>{u.trim()&&!n&&e(u.trim())};return(0,V.jsxs)(`div`,{style:{position:`fixed`,bottom:0,left:0,right:0,backgroundColor:l.colorBgContainer,borderTop:`1px solid ${l.colorBorder}`,padding:`12px 16px`,zIndex:1e3,display:`flex`,gap:`8px`,alignItems:`flex-end`},children:[(0,V.jsx)(`div`,{style:{flex:1},children:(0,V.jsx)(L,{value:u,onChange:d,onKeyPress:e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),f())},placeholder:r,client:o,sessionId:s,userById:c,autoSize:{minRows:1,maxRows:4},enableKnowledgeMentions:!0,kbLinkTarget:`absolute-route`})}),(0,V.jsx)(t,{type:`primary`,icon:(0,V.jsx)(m,{}),onClick:f,disabled:n||!u.trim(),size:`large`})]})},Z=({client:e,sessionById:t,branchById:n,repoById:r,userById:i,currentUser:a,onSendPrompt:s,onMenuClick:c,promptDrafts:l,onUpdateDraft:u})=>{let{sessionId:d}=E(),f=d?t.get(d):void 0,m=f?.branch_id&&n.get(f.branch_id)||null;return d?f?(0,V.jsxs)(`div`,{style:{height:`100vh`,display:`flex`,flexDirection:`column`},children:[(0,V.jsx)(W,{title:m?.name||D(f,{fallbackChars:30,includeIdFallback:!0}),showMenu:!0,user:a,onMenuClick:c}),(0,V.jsx)(`div`,{style:{flex:1,overflowY:`auto`,paddingBottom:80},children:(0,V.jsx)(z,{client:e,sessionId:f.session_id,agentic_tool:f.agentic_tool,sessionModel:f.model_config?.model,userById:i,currentUserId:a?.user_id,onPermissionDecision:async(t,n,r,i,o)=>{if(e)try{await e.service(`sessions/${t}/permission-decision`).create({requestId:n,taskId:r,allow:i,reason:i?`Approved by user`:`Denied by user`,remember:o!==g.ONCE,scope:o,decidedBy:a?.user_id||`unknown`})}catch(e){console.error(`Failed to send permission decision:`,e)}},scheduledFromBranch:f.scheduled_from_branch,scheduledRunAt:f.scheduled_run_at,genealogy:f.genealogy,emptyStateMessage:`Tap the menu icon to browse boards and sessions`,assistantEmoji:m&&v(m)?_(m)?.emoji:void 0})}),(0,V.jsx)(X,{onSend:e=>{s?.(d,e)},disabled:f.status===`running`,placeholder:f.status===`running`?`Agent is working...`:`Send a prompt...`,promptDraft:d&&l.get(d)||``,onUpdateDraft:e=>d&&u(d,e),client:e,sessionId:d||null,userById:i})]}):(0,V.jsx)(`div`,{style:{height:`100vh`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:(0,V.jsx)(p,{size:`large`})}):(0,V.jsx)(`div`,{style:{padding:16},children:(0,V.jsx)(o,{type:`error`,title:`No session ID provided`})})},{Content:Q}=u,{Text:$}=n,ee=({client:e,user:t,onSendPrompt:n,onSendComment:r,onReplyComment:i,onResolveComment:a,onToggleReaction:o,onDeleteComment:s,onLogout:c,promptDrafts:l,onUpdateDraft:d})=>{let p=O(j),m=O(k),h=O(A),g=O(F),_=O(M),v=O(P),y=O(I),[b,x]=(0,B.useState)(!1);return(0,V.jsxs)(u,{style:{height:`100vh`},children:[(0,V.jsx)(f,{title:`Navigation`,placement:`left`,onClose:()=>x(!1),open:b,size:`85%`,styles:{body:{padding:0}},children:(0,V.jsx)(Y,{boardById:h,branchById:v,sessionsByBranch:m,commentById:g,onNavigate:()=>x(!1)})}),(0,V.jsxs)(w,{children:[(0,V.jsx)(C,{path:`/`,element:(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(W,{showLogo:!0,user:t,onMenuClick:()=>x(!0),onLogout:c}),(0,V.jsxs)(Q,{style:{display:`flex`,alignItems:`center`,justifyContent:`center`,padding:24,flexDirection:`column`,gap:24},children:[(0,V.jsx)(`img`,{src:S(),alt:T.name,style:{width:160,height:160,opacity:.5,borderRadius:`50%`}}),(0,V.jsx)($,{type:`secondary`,style:{textAlign:`center`},children:`Tap the menu icon to browse boards and sessions`})]})]})}),(0,V.jsx)(C,{path:`/session/:sessionId`,element:(0,V.jsx)(Z,{client:e,sessionById:p,branchById:v,repoById:_,userById:y,currentUser:t,onSendPrompt:n,onMenuClick:()=>x(!0),promptDrafts:l,onUpdateDraft:d})}),(0,V.jsx)(C,{path:`/comments/:boardId`,element:(0,V.jsx)(G,{client:e,boardById:h,commentById:g,branchById:v,userById:y,currentUser:t,onMenuClick:()=>x(!0),onSendComment:r,onReplyComment:i,onResolveComment:a,onToggleReaction:o,onDeleteComment:s})})]})]})};export{ee as MobileApp};
|
|
Binary file
|