@vibe-forge/client 3.0.0-alpha.5 → 3.0.0-alpha.7
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/cli.cjs +55 -12
- package/dist/assets/{arc-Cprf0yWY.js → arc-BSmt4B2L.js} +1 -1
- package/dist/assets/{blockDiagram-c4efeb88-BqPLyFbn.js → blockDiagram-c4efeb88-CMloXPoq.js} +1 -1
- package/dist/assets/{c4Diagram-c83219d4-CmUzPA-3.js → c4Diagram-c83219d4-Cylc1eLZ.js} +1 -1
- package/dist/assets/channel-m79NtBIL.js +1 -0
- package/dist/assets/{classDiagram-beda092f-C95ADyT3.js → classDiagram-beda092f-BKPTtrKA.js} +1 -1
- package/dist/assets/{classDiagram-v2-2358418a-De4fMXXL.js → classDiagram-v2-2358418a-DDp5VQdl.js} +1 -1
- package/dist/assets/clone-BWgcAtDw.js +1 -0
- package/dist/assets/{createText-1719965b-BN1LmnaC.js → createText-1719965b-B4dHTOBF.js} +1 -1
- package/dist/assets/{cssMode-BEYVT4qg.js → cssMode-DiwCtD5c.js} +1 -1
- package/dist/assets/{edges-96097737-BEDk5QZl.js → edges-96097737-ytyiKXTw.js} +1 -1
- package/dist/assets/{erDiagram-0228fc6a-C1abpKCM.js → erDiagram-0228fc6a-DmL6zY48.js} +1 -1
- package/dist/assets/{flowDb-c6c81e3f-Db-l9w0Y.js → flowDb-c6c81e3f-BCSZkN1T.js} +1 -1
- package/dist/assets/{flowDiagram-50d868cf-BdglyD7a.js → flowDiagram-50d868cf-uwjrIJD-.js} +1 -1
- package/dist/assets/flowDiagram-v2-4f6560a1-cwXzaLSf.js +1 -0
- package/dist/assets/{flowchart-elk-definition-6af322e1-CeLca7M8.js → flowchart-elk-definition-6af322e1-W_vSjYDz.js} +1 -1
- package/dist/assets/{freemarker2-DbWlL-By.js → freemarker2-BQf1HvOR.js} +1 -1
- package/dist/assets/{ganttDiagram-a2739b55-DEY-dOEQ.js → ganttDiagram-a2739b55-CGeIfDSH.js} +1 -1
- package/dist/assets/{gitGraphDiagram-82fe8481-XfwBym9t.js → gitGraphDiagram-82fe8481-26OgN5Ry.js} +1 -1
- package/dist/assets/{graph-D5aRGoUX.js → graph-2CS6-29E.js} +1 -1
- package/dist/assets/{handlebars-B6HPpWgM.js → handlebars-DFgyCEY2.js} +1 -1
- package/dist/assets/{html-DAtaPxi2.js → html-BV8g5c9v.js} +1 -1
- package/dist/assets/{htmlMode-Bqip_1Yc.js → htmlMode-JyRqPjN0.js} +1 -1
- package/dist/assets/{index-5325376f-CT2fJHxY.js → index-5325376f-ClAEncJa.js} +1 -1
- package/dist/assets/{index-CtCT-0AR.js → index-CZrkUnI3.js} +5 -5
- package/dist/assets/{infoDiagram-8eee0895-cfBc29xt.js → infoDiagram-8eee0895-CSgc-EfH.js} +1 -1
- package/dist/assets/{javascript-CRT7QRbU.js → javascript-BqCcEQX1.js} +1 -1
- package/dist/assets/{journeyDiagram-c64418c1-7nYmOyCV.js → journeyDiagram-c64418c1-DT-HZm5B.js} +1 -1
- package/dist/assets/{jsonMode-C4SLT-Nu.js → jsonMode-COyDpXxP.js} +1 -1
- package/dist/assets/{layout-BxcoSRQL.js → layout-CWQTznjY.js} +1 -1
- package/dist/assets/{line-Cm-PJLnE.js → line-D9dEs7Yu.js} +1 -1
- package/dist/assets/{linear-CkDbY3Sc.js → linear-B_kP7XTY.js} +1 -1
- package/dist/assets/{liquid-mMqq9x-d.js → liquid-Bz_nlZQO.js} +1 -1
- package/dist/assets/{lspLanguageFeatures-LkLzZeBj.js → lspLanguageFeatures-Bfs5KZ7t.js} +1 -1
- package/dist/assets/{mdx-f7TRkAi5.js → mdx-DREXNfTL.js} +1 -1
- package/dist/assets/{mermaid.core-7-_svZYh.js → mermaid.core-Qb_9exf_.js} +4 -4
- package/dist/assets/{mindmap-definition-8da855dc-C4gaMKW5.js → mindmap-definition-8da855dc-BVneYgpV.js} +1 -1
- package/dist/assets/{pieDiagram-a8764435-CXf9-NDv.js → pieDiagram-a8764435-BnFEaAoD.js} +1 -1
- package/dist/assets/{python-CBJzchSP.js → python-BaegM-qN.js} +1 -1
- package/dist/assets/{quadrantDiagram-1e28029f-BPp8aNCN.js → quadrantDiagram-1e28029f-DwwRhwu5.js} +1 -1
- package/dist/assets/{razor-HGxKR7hR.js → razor-EZlNrkt1.js} +1 -1
- package/dist/assets/{requirementDiagram-08caed73-B7frro1b.js → requirementDiagram-08caed73-CrOXjwl9.js} +1 -1
- package/dist/assets/{sankeyDiagram-a04cb91d-Bv5QBm3U.js → sankeyDiagram-a04cb91d-BmrPbz9p.js} +1 -1
- package/dist/assets/{sequenceDiagram-c5b8d532-BPkoeT7h.js → sequenceDiagram-c5b8d532-KIdevHfA.js} +1 -1
- package/dist/assets/{stateDiagram-1ecb1508-DdiX9m8v.js → stateDiagram-1ecb1508-Bvt_x0JW.js} +1 -1
- package/dist/assets/{stateDiagram-v2-c2b004d7-CBRbz6U7.js → stateDiagram-v2-c2b004d7-Ch7JhULG.js} +1 -1
- package/dist/assets/{styles-b4e223ce-eP8aETJa.js → styles-b4e223ce-CGsc8vM4.js} +1 -1
- package/dist/assets/{styles-ca3715f6-BNQMm1ex.js → styles-ca3715f6-D-kXthxO.js} +1 -1
- package/dist/assets/{styles-d45a18b0-DYeMhKSC.js → styles-d45a18b0-ByiElCZx.js} +1 -1
- package/dist/assets/{svgDrawCommon-b86b1483-CgYQFieH.js → svgDrawCommon-b86b1483-BBAC26Ym.js} +1 -1
- package/dist/assets/{timeline-definition-faaaa080-C27trd7q.js → timeline-definition-faaaa080-yHkv8c9O.js} +1 -1
- package/dist/assets/{tsMode-DMxO2PqK.js → tsMode-CxUP_h7m.js} +1 -1
- package/dist/assets/{typescript-D99fqVjE.js → typescript-DK75tgf9.js} +1 -1
- package/dist/assets/{xml-D-L9gTN7.js → xml-CKJB1DbG.js} +1 -1
- package/dist/assets/{xychartDiagram-f5964ef8-DiE1eeWt.js → xychartDiagram-f5964ef8-BBHC7Rzd.js} +1 -1
- package/dist/assets/{yaml-BuxmJEjE.js → yaml-CJFgfFzM.js} +1 -1
- package/dist/index.html +1 -1
- package/package.json +22 -16
- package/preview-runtime.cjs +128 -0
- package/preview-server.cjs +198 -0
- package/AGENTS.md +0 -115
- package/dist/assets/channel-CB9eWQl1.js +0 -1
- package/dist/assets/clone-BC6Pqbnm.js +0 -1
- package/dist/assets/flowDiagram-v2-4f6560a1-0sjHX0Ma.js +0 -1
- package/index.html +0 -18
- package/public/favicon.svg +0 -5
- package/public/manifest.webmanifest +0 -30
- package/public/pwa-icon-192.png +0 -0
- package/public/pwa-icon-512.png +0 -0
- package/public/sw.js +0 -105
- package/src/App.tsx +0 -40
- package/src/api/README.md +0 -27
- package/src/api/adapters.ts +0 -63
- package/src/api/auth-token.ts +0 -51
- package/src/api/auth.ts +0 -46
- package/src/api/automation.ts +0 -98
- package/src/api/base.ts +0 -166
- package/src/api/benchmark.ts +0 -50
- package/src/api/config.ts +0 -29
- package/src/api/git.ts +0 -90
- package/src/api/knowledge.ts +0 -131
- package/src/api/projects.ts +0 -15
- package/src/api/sessions.ts +0 -281
- package/src/api/skill-hub.ts +0 -126
- package/src/api/types.ts +0 -21
- package/src/api/workspace.ts +0 -51
- package/src/api/worktree-environments.ts +0 -53
- package/src/api.ts +0 -142
- package/src/assets/fonts/material-symbols-rounded.woff2 +0 -0
- package/src/client-build-info.ts +0 -19
- package/src/components/ArchiveView.scss +0 -257
- package/src/components/ArchiveView.tsx +0 -313
- package/src/components/CodeBlock.scss +0 -92
- package/src/components/CodeBlock.tsx +0 -181
- package/src/components/ConfigView.scss +0 -864
- package/src/components/ConfigView.tsx +0 -788
- package/src/components/MarkdownContent.tsx +0 -50
- package/src/components/NavRail.scss +0 -317
- package/src/components/NavRail.tsx +0 -198
- package/src/components/NavRailCompact.tsx +0 -107
- package/src/components/NavRailCompactMoreSheet.tsx +0 -141
- package/src/components/ShortcutDisplay.scss +0 -38
- package/src/components/ShortcutDisplay.tsx +0 -37
- package/src/components/ShortcutTooltip.scss +0 -36
- package/src/components/ShortcutTooltip.tsx +0 -86
- package/src/components/Sidebar.scss +0 -161
- package/src/components/Sidebar.tsx +0 -480
- package/src/components/auth/AuthGate.scss +0 -79
- package/src/components/auth/AuthGate.tsx +0 -174
- package/src/components/automation-view/@components/AutomationTaskComposer.tsx +0 -220
- package/src/components/automation-view/@components/AutomationTriggerRow.tsx +0 -192
- package/src/components/automation-view/@hooks/use-automation-startup-options-data.tsx +0 -289
- package/src/components/automation-view/@hooks/use-automation-startup-static-options.ts +0 -51
- package/src/components/automation-view/@utils/sender-model-options.tsx +0 -52
- package/src/components/automation-view/@utils/startup-options.ts +0 -26
- package/src/components/automation-view/AutomationEmptyGuide.tsx +0 -61
- package/src/components/automation-view/AutomationEmptyLanding.scss +0 -165
- package/src/components/automation-view/AutomationEmptyLanding.tsx +0 -211
- package/src/components/automation-view/AutomationRuleDetailPreview.tsx +0 -179
- package/src/components/automation-view/PanelTitleActions.tsx +0 -66
- package/src/components/automation-view/RuleFormPanel.scss +0 -279
- package/src/components/automation-view/RuleFormPanel.tsx +0 -365
- package/src/components/automation-view/RuleSidebar.scss +0 -332
- package/src/components/automation-view/RuleSidebar.tsx +0 -338
- package/src/components/automation-view/RunHistoryPanel.scss +0 -649
- package/src/components/automation-view/RunHistoryPanel.tsx +0 -382
- package/src/components/automation-view/TaskList.scss +0 -223
- package/src/components/automation-view/TaskList.tsx +0 -67
- package/src/components/automation-view/TriggerList.scss +0 -267
- package/src/components/automation-view/TriggerList.tsx +0 -68
- package/src/components/automation-view/index.scss +0 -230
- package/src/components/automation-view/index.tsx +0 -369
- package/src/components/automation-view/types.ts +0 -34
- package/src/components/benchmark-view/BenchmarkCasePanel.scss +0 -287
- package/src/components/benchmark-view/BenchmarkCasePanel.tsx +0 -309
- package/src/components/benchmark-view/BenchmarkSidebar.scss +0 -206
- package/src/components/benchmark-view/BenchmarkSidebar.tsx +0 -269
- package/src/components/benchmark-view/BenchmarkView.scss +0 -121
- package/src/components/benchmark-view/index.tsx +0 -237
- package/src/components/benchmark-view/types.ts +0 -11
- package/src/components/benchmark-view/utils.ts +0 -20
- package/src/components/chat/AGENTS.md +0 -177
- package/src/components/chat/ChatComposerCard.scss +0 -77
- package/src/components/chat/ChatComposerCard.tsx +0 -59
- package/src/components/chat/ChatHeader.scss +0 -865
- package/src/components/chat/ChatHeader.tsx +0 -832
- package/src/components/chat/ChatHistoryView.tsx +0 -887
- package/src/components/chat/ChatSettingsView.tsx +0 -24
- package/src/components/chat/ChatTimelineView.scss +0 -147
- package/src/components/chat/ChatTimelineView.tsx +0 -200
- package/src/components/chat/CurrentTodoList.scss +0 -256
- package/src/components/chat/CurrentTodoList.tsx +0 -171
- package/src/components/chat/NewSessionGuide.scss +0 -416
- package/src/components/chat/NewSessionGuide.tsx +0 -69
- package/src/components/chat/NewSessionGuideStarterList.tsx +0 -190
- package/src/components/chat/NewSessionGuideStarterSection.tsx +0 -121
- package/src/components/chat/QueuedMessagesCard.scss +0 -195
- package/src/components/chat/QueuedMessagesCard.tsx +0 -170
- package/src/components/chat/bottom-dock-constants.ts +0 -4
- package/src/components/chat/conversation-starter-apply.ts +0 -181
- package/src/components/chat/git-controls/BranchSwitcherDropdown.tsx +0 -162
- package/src/components/chat/git-controls/BranchSwitcherResults.tsx +0 -167
- package/src/components/chat/git-controls/BranchTreeEntries.tsx +0 -99
- package/src/components/chat/git-controls/ChatGitControls.scss +0 -1113
- package/src/components/chat/git-controls/ChatGitControls.tsx +0 -178
- package/src/components/chat/git-controls/DraftGitControls.tsx +0 -105
- package/src/components/chat/git-controls/DraftWorktreeEnvironmentDropdown.tsx +0 -115
- package/src/components/chat/git-controls/GitCommitModal.tsx +0 -199
- package/src/components/chat/git-controls/GitCommitModalParts.tsx +0 -151
- package/src/components/chat/git-controls/GitOperationsDropdown.tsx +0 -131
- package/src/components/chat/git-controls/GitPushModal.tsx +0 -106
- package/src/components/chat/git-controls/GitWorktreeDropdown.tsx +0 -341
- package/src/components/chat/git-controls/git-branch-tree.ts +0 -148
- package/src/components/chat/git-controls/git-branch-utils.ts +0 -88
- package/src/components/chat/git-controls/git-commit-utils.ts +0 -79
- package/src/components/chat/git-controls/git-mutation-utils.ts +0 -69
- package/src/components/chat/git-controls/git-operation-utils.ts +0 -98
- package/src/components/chat/git-controls/git-worktree-utils.ts +0 -49
- package/src/components/chat/git-controls/use-chat-draft-git-controls.ts +0 -168
- package/src/components/chat/git-controls/use-chat-git-commit.ts +0 -185
- package/src/components/chat/git-controls/use-chat-git-controls.ts +0 -273
- package/src/components/chat/git-controls/use-chat-git-push-state.ts +0 -19
- package/src/components/chat/git-controls/use-chat-git-worktrees.ts +0 -39
- package/src/components/chat/messages/MessageContextMenu.scss +0 -145
- package/src/components/chat/messages/MessageContextMenu.tsx +0 -110
- package/src/components/chat/messages/MessageContextMenuContent.tsx +0 -87
- package/src/components/chat/messages/MessageFooter.tsx +0 -68
- package/src/components/chat/messages/MessageItem.scss +0 -486
- package/src/components/chat/messages/MessageItem.tsx +0 -529
- package/src/components/chat/messages/MessageStatusNotice.scss +0 -163
- package/src/components/chat/messages/MessageStatusNotice.tsx +0 -56
- package/src/components/chat/messages/build-chat-history-status-notices.ts +0 -143
- package/src/components/chat/messages/build-message-context-menu-entries.ts +0 -166
- package/src/components/chat/messages/message-action-utils.ts +0 -29
- package/src/components/chat/messages/message-content-utils.ts +0 -121
- package/src/components/chat/messages/message-turns.ts +0 -88
- package/src/components/chat/messages/message-utils.ts +0 -189
- package/src/components/chat/new-session-guide-config.ts +0 -19
- package/src/components/chat/new-session-guide-items.ts +0 -172
- package/src/components/chat/new-session-guide-list-order.ts +0 -58
- package/src/components/chat/sender/@components/account-select/AccountSelectControl.scss +0 -112
- package/src/components/chat/sender/@components/account-select/AccountSelectControl.tsx +0 -280
- package/src/components/chat/sender/@components/account-select/AccountSelectDropdown.scss +0 -155
- package/src/components/chat/sender/@components/adapter-select/AdapterSelectControl.scss +0 -148
- package/src/components/chat/sender/@components/adapter-select/AdapterSelectControl.tsx +0 -54
- package/src/components/chat/sender/@components/adapter-select/AdapterSelectDropdown.scss +0 -56
- package/src/components/chat/sender/@components/effort-select/EffortSelectControl.scss +0 -104
- package/src/components/chat/sender/@components/effort-select/EffortSelectControl.tsx +0 -142
- package/src/components/chat/sender/@components/effort-select/EffortSelectDropdown.scss +0 -96
- package/src/components/chat/sender/@components/model-select/ModelSelectControl.scss +0 -144
- package/src/components/chat/sender/@components/model-select/ModelSelectControl.tsx +0 -176
- package/src/components/chat/sender/@components/model-select/ModelSelectMenu.scss +0 -97
- package/src/components/chat/sender/@components/model-select/ModelSelectMenuLabels.scss +0 -168
- package/src/components/chat/sender/@components/model-select/ModelSelectOptionLabel.tsx +0 -109
- package/src/components/chat/sender/@components/permission-mode-control/PermissionModeControl.scss +0 -199
- package/src/components/chat/sender/@components/permission-mode-control/PermissionModeControl.tsx +0 -172
- package/src/components/chat/sender/@components/reference-actions/ReferenceActionsControl.scss +0 -114
- package/src/components/chat/sender/@components/reference-actions/ReferenceActionsControl.tsx +0 -107
- package/src/components/chat/sender/@components/reference-actions/ReferenceActionsOption.scss +0 -34
- package/src/components/chat/sender/@components/sender-attachments/SenderAttachments.scss +0 -240
- package/src/components/chat/sender/@components/sender-attachments/SenderAttachments.tsx +0 -119
- package/src/components/chat/sender/@components/sender-body/SenderBody.tsx +0 -135
- package/src/components/chat/sender/@components/sender-header-controls/SenderHeaderControls.tsx +0 -157
- package/src/components/chat/sender/@components/sender-interaction-panel/SenderInteractionPanel.scss +0 -294
- package/src/components/chat/sender/@components/sender-interaction-panel/SenderInteractionPanel.tsx +0 -384
- package/src/components/chat/sender/@components/sender-monaco-editor/SenderMonacoEditor.scss +0 -47
- package/src/components/chat/sender/@components/sender-monaco-editor/SenderMonacoEditor.tsx +0 -139
- package/src/components/chat/sender/@components/sender-monaco-editor/monaco-runtime.ts +0 -83
- package/src/components/chat/sender/@components/sender-monaco-editor/use-sender-editor-handle.ts +0 -48
- package/src/components/chat/sender/@components/sender-monaco-editor/use-sender-monaco-editor.ts +0 -286
- package/src/components/chat/sender/@components/sender-monaco-editor/use-sender-monaco-theme.ts +0 -73
- package/src/components/chat/sender/@components/sender-submit-action/SenderSubmitAction.scss +0 -163
- package/src/components/chat/sender/@components/sender-submit-action/SenderSubmitAction.tsx +0 -200
- package/src/components/chat/sender/@components/sender-toolbar/SenderSelectBase.scss +0 -108
- package/src/components/chat/sender/@components/sender-toolbar/SenderSelectShared.scss +0 -156
- package/src/components/chat/sender/@components/sender-toolbar/SenderToolbar.scss +0 -164
- package/src/components/chat/sender/@components/sender-toolbar/SenderToolbar.tsx +0 -93
- package/src/components/chat/sender/@components/session-target/SenderSessionTargetBar.scss +0 -215
- package/src/components/chat/sender/@components/session-target/SenderSessionTargetBar.tsx +0 -185
- package/src/components/chat/sender/@core/build-sender-controller-result.ts +0 -119
- package/src/components/chat/sender/@core/build-sender-toolbar.ts +0 -151
- package/src/components/chat/sender/@core/content-attachments.ts +0 -76
- package/src/components/chat/sender/@core/create-sender-toolbar-handlers.ts +0 -142
- package/src/components/chat/sender/@core/get-sender-interaction-state.ts +0 -18
- package/src/components/chat/sender/@core/get-sender-runtime-state.ts +0 -15
- package/src/components/chat/sender/@core/interaction-request.ts +0 -5
- package/src/components/chat/sender/@core/sender-toolbar-bindings.ts +0 -191
- package/src/components/chat/sender/@hooks/use-model-select-browser.tsx +0 -191
- package/src/components/chat/sender/@hooks/use-sender-attachments.ts +0 -143
- package/src/components/chat/sender/@hooks/use-sender-autofocus.ts +0 -34
- package/src/components/chat/sender/@hooks/use-sender-completion.ts +0 -62
- package/src/components/chat/sender/@hooks/use-sender-composer-state.ts +0 -34
- package/src/components/chat/sender/@hooks/use-sender-controller.ts +0 -291
- package/src/components/chat/sender/@hooks/use-sender-focus-restore.ts +0 -72
- package/src/components/chat/sender/@hooks/use-sender-history.ts +0 -79
- package/src/components/chat/sender/@hooks/use-sender-keydown.ts +0 -177
- package/src/components/chat/sender/@hooks/use-sender-reference-actions.ts +0 -134
- package/src/components/chat/sender/@hooks/use-sender-reference-focus-restore.ts +0 -21
- package/src/components/chat/sender/@hooks/use-sender-refs.ts +0 -19
- package/src/components/chat/sender/@hooks/use-sender-select-overlays.ts +0 -83
- package/src/components/chat/sender/@hooks/use-sender-shortcuts.ts +0 -93
- package/src/components/chat/sender/@hooks/use-sender-submit.ts +0 -89
- package/src/components/chat/sender/@types/sender-composer.ts +0 -19
- package/src/components/chat/sender/@types/sender-editor.ts +0 -12
- package/src/components/chat/sender/@types/sender-props.ts +0 -82
- package/src/components/chat/sender/@types/sender-toolbar-types.ts +0 -101
- package/src/components/chat/sender/@types/sender-types.ts +0 -19
- package/src/components/chat/sender/@utils/sender-completion.ts +0 -164
- package/src/components/chat/sender/@utils/sender-constants.ts +0 -18
- package/src/components/chat/sender/@utils/sender-utils.ts +0 -45
- package/src/components/chat/sender/Sender.scss +0 -299
- package/src/components/chat/sender/Sender.tsx +0 -55
- package/src/components/chat/session-metadata.ts +0 -55
- package/src/components/chat/session-timeline-panel/EventList.scss +0 -146
- package/src/components/chat/session-timeline-panel/EventList.tsx +0 -264
- package/src/components/chat/session-timeline-panel/gantt.ts +0 -193
- package/src/components/chat/session-timeline-panel/git-graph.ts +0 -530
- package/src/components/chat/session-timeline-panel/index.scss +0 -41
- package/src/components/chat/session-timeline-panel/index.tsx +0 -197
- package/src/components/chat/session-timeline-panel/mermaid.ts +0 -4
- package/src/components/chat/session-timeline-panel/types.ts +0 -68
- package/src/components/chat/session-timeline-panel/utils.ts +0 -20
- package/src/components/chat/status-bar/ChatStatusBar.scss +0 -112
- package/src/components/chat/status-bar/ChatStatusBar.tsx +0 -87
- package/src/components/chat/terminal/@components/TerminalManagerList.tsx +0 -191
- package/src/components/chat/terminal/@components/TerminalPane.scss +0 -71
- package/src/components/chat/terminal/@components/TerminalPane.tsx +0 -137
- package/src/components/chat/terminal/@components/TerminalPanelActions.tsx +0 -75
- package/src/components/chat/terminal/@hooks/use-terminal-instance.ts +0 -188
- package/src/components/chat/terminal/@hooks/use-terminal-session.ts +0 -193
- package/src/components/chat/terminal/@hooks/use-terminal-title-editor.ts +0 -72
- package/src/components/chat/terminal/@utils/terminal-keyboard.ts +0 -141
- package/src/components/chat/terminal/@utils/terminal-panes.ts +0 -123
- package/src/components/chat/terminal/ChatTerminalView.scss +0 -334
- package/src/components/chat/terminal/ChatTerminalView.tsx +0 -192
- package/src/components/chat/tools/DefaultTool.tsx +0 -102
- package/src/components/chat/tools/adapter-claude/BashTool.scss +0 -87
- package/src/components/chat/tools/adapter-claude/BashTool.tsx +0 -116
- package/src/components/chat/tools/adapter-claude/ClaudeEditDiff.tsx +0 -30
- package/src/components/chat/tools/adapter-claude/GenericClaudeTool.scss +0 -128
- package/src/components/chat/tools/adapter-claude/GenericClaudeTool.tsx +0 -119
- package/src/components/chat/tools/adapter-claude/GlobTool.scss +0 -9
- package/src/components/chat/tools/adapter-claude/GlobTool.tsx +0 -65
- package/src/components/chat/tools/adapter-claude/GrepTool.scss +0 -9
- package/src/components/chat/tools/adapter-claude/GrepTool.tsx +0 -95
- package/src/components/chat/tools/adapter-claude/LSTool.scss +0 -6
- package/src/components/chat/tools/adapter-claude/LSTool.tsx +0 -94
- package/src/components/chat/tools/adapter-claude/ReadTool.scss +0 -1
- package/src/components/chat/tools/adapter-claude/ReadTool.tsx +0 -65
- package/src/components/chat/tools/adapter-claude/TodoTool.scss +0 -63
- package/src/components/chat/tools/adapter-claude/TodoTool.tsx +0 -73
- package/src/components/chat/tools/adapter-claude/WriteTool.scss +0 -44
- package/src/components/chat/tools/adapter-claude/WriteTool.tsx +0 -50
- package/src/components/chat/tools/adapter-claude/claude-tool-edit-builders.ts +0 -109
- package/src/components/chat/tools/adapter-claude/claude-tool-field-sections.tsx +0 -83
- package/src/components/chat/tools/adapter-claude/claude-tool-operation-builders.ts +0 -135
- package/src/components/chat/tools/adapter-claude/claude-tool-presentation.ts +0 -61
- package/src/components/chat/tools/adapter-claude/claude-tool-shared.ts +0 -185
- package/src/components/chat/tools/adapter-claude/claude-tool-summary.ts +0 -76
- package/src/components/chat/tools/adapter-claude/claude-tool-system-builders.ts +0 -125
- package/src/components/chat/tools/adapter-claude/claude-tool-task-builders.ts +0 -148
- package/src/components/chat/tools/adapter-claude/components/FileList.scss +0 -67
- package/src/components/chat/tools/adapter-claude/components/FileList.tsx +0 -185
- package/src/components/chat/tools/adapter-claude/index.ts +0 -31
- package/src/components/chat/tools/adapter-claude/utils.ts +0 -54
- package/src/components/chat/tools/core/ToolCallBox.scss +0 -700
- package/src/components/chat/tools/core/ToolCallBox.tsx +0 -77
- package/src/components/chat/tools/core/ToolDiffViewer.scss +0 -138
- package/src/components/chat/tools/core/ToolDiffViewer.tsx +0 -166
- package/src/components/chat/tools/core/ToolGroup.scss +0 -171
- package/src/components/chat/tools/core/ToolGroup.tsx +0 -156
- package/src/components/chat/tools/core/ToolRenderer.tsx +0 -47
- package/src/components/chat/tools/core/ToolResultContent.tsx +0 -66
- package/src/components/chat/tools/core/ToolSummaryHeader.tsx +0 -67
- package/src/components/chat/tools/core/generic-tool-presentation.ts +0 -661
- package/src/components/chat/tools/core/tool-content-presence.ts +0 -57
- package/src/components/chat/tools/core/tool-display.ts +0 -203
- package/src/components/chat/tools/core/tool-field-sections.tsx +0 -132
- package/src/components/chat/tools/core/tool-result-content-utils.ts +0 -171
- package/src/components/chat/tools/core/tool-summary.ts +0 -206
- package/src/components/chat/tools/defineToolRender.ts +0 -28
- package/src/components/chat/tools/plugin-chrome-devtools/ChromeDevtoolsTool.scss +0 -11
- package/src/components/chat/tools/plugin-chrome-devtools/ChromeDevtoolsTool.tsx +0 -81
- package/src/components/chat/tools/plugin-chrome-devtools/index.ts +0 -45
- package/src/components/chat/tools/task/GetTaskInfoTool.scss +0 -25
- package/src/components/chat/tools/task/GetTaskInfoTool.tsx +0 -115
- package/src/components/chat/tools/task/ListTasksTool.scss +0 -31
- package/src/components/chat/tools/task/ListTasksTool.tsx +0 -99
- package/src/components/chat/tools/task/StartTasksTool.scss +0 -31
- package/src/components/chat/tools/task/StartTasksTool.tsx +0 -106
- package/src/components/chat/tools/task/components/TaskRow.scss +0 -105
- package/src/components/chat/tools/task/components/TaskRow.tsx +0 -163
- package/src/components/chat/tools/task/components/TaskToolCard.scss +0 -185
- package/src/components/chat/tools/task/components/TaskToolCard.tsx +0 -179
- package/src/components/chat/tools/task/index.ts +0 -15
- package/src/components/chat/workspace-drawer/ChatWorkspaceDrawer.scss +0 -778
- package/src/components/chat/workspace-drawer/ChatWorkspaceDrawer.tsx +0 -112
- package/src/components/chat/workspace-drawer/ChatWorkspaceDrawerToolbar.tsx +0 -183
- package/src/components/chat/workspace-drawer/WorkspaceDrawerChangedFileRow.tsx +0 -75
- package/src/components/chat/workspace-drawer/WorkspaceDrawerChangedFiles.tsx +0 -161
- package/src/components/chat/workspace-drawer/WorkspaceDrawerChangedFolderTree.tsx +0 -191
- package/src/components/chat/workspace-drawer/WorkspaceDrawerTree.tsx +0 -35
- package/src/components/chat/workspace-drawer/WorkspaceDrawerTreeState.tsx +0 -17
- package/src/components/chat/workspace-drawer/changed-files-model.ts +0 -152
- package/src/components/chat/workspace-drawer/workspace-drawer-icons.ts +0 -110
- package/src/components/chat/workspace-file-editor/WorkspaceFileBreadcrumb.tsx +0 -17
- package/src/components/chat/workspace-file-editor/WorkspaceFileEditorView.scss +0 -283
- package/src/components/chat/workspace-file-editor/WorkspaceFileEditorView.tsx +0 -165
- package/src/components/chat/workspace-file-editor/WorkspaceFileTabs.tsx +0 -135
- package/src/components/chat/workspace-file-editor/use-workspace-file-editor-state.ts +0 -113
- package/src/components/chat/workspace-file-editor/workspace-file-editor-language.ts +0 -55
- package/src/components/composer-landing/ComposerLanding.scss +0 -75
- package/src/components/composer-landing/ComposerLanding.tsx +0 -47
- package/src/components/config/AGENTS.md +0 -45
- package/src/components/config/AdapterAccountsManager.scss +0 -540
- package/src/components/config/AdapterAccountsManager.tsx +0 -846
- package/src/components/config/AppSettingsPanel.tsx +0 -109
- package/src/components/config/ConfigAboutSection.scss +0 -117
- package/src/components/config/ConfigAboutSection.tsx +0 -104
- package/src/components/config/ConfigDisplayValue.scss +0 -22
- package/src/components/config/ConfigDisplayValue.tsx +0 -62
- package/src/components/config/ConfigEditors.scss +0 -91
- package/src/components/config/ConfigEditors.tsx +0 -98
- package/src/components/config/ConfigFieldRow.scss +0 -221
- package/src/components/config/ConfigFieldRow.tsx +0 -36
- package/src/components/config/ConfigSectionForm.scss +0 -185
- package/src/components/config/ConfigSectionForm.tsx +0 -1264
- package/src/components/config/ConfigSectionPanel.tsx +0 -250
- package/src/components/config/ConfigShortcutInput.scss +0 -11
- package/src/components/config/ConfigShortcutInput.tsx +0 -59
- package/src/components/config/ConfigSourceSwitch.tsx +0 -49
- package/src/components/config/DetailCollectionFieldActions.tsx +0 -63
- package/src/components/config/DetailListField.tsx +0 -413
- package/src/components/config/McpServerItemEditor.tsx +0 -154
- package/src/components/config/RecommendedModelsItemEditor.tsx +0 -146
- package/src/components/config/WorktreeEnvironmentDetailView.tsx +0 -126
- package/src/components/config/WorktreeEnvironmentListView.tsx +0 -126
- package/src/components/config/WorktreeEnvironmentPanel.scss +0 -430
- package/src/components/config/WorktreeEnvironmentPanel.tsx +0 -147
- package/src/components/config/WorktreeEnvironmentScriptEditorCard.tsx +0 -125
- package/src/components/config/WorktreeEnvironmentScriptEditors.tsx +0 -189
- package/src/components/config/channelDefinitions.ts +0 -6
- package/src/components/config/configConflict.ts +0 -41
- package/src/components/config/configDetail.ts +0 -381
- package/src/components/config/configSchema.ts +0 -1017
- package/src/components/config/configUtils.ts +0 -83
- package/src/components/config/index.tsx +0 -5
- package/src/components/config/record-editors/BooleanRecordEditor.scss +0 -1
- package/src/components/config/record-editors/BooleanRecordEditor.tsx +0 -75
- package/src/components/config/record-editors/ChannelRecordEditor.scss +0 -1
- package/src/components/config/record-editors/ChannelRecordEditor.tsx +0 -397
- package/src/components/config/record-editors/KeyValueEditor.scss +0 -1
- package/src/components/config/record-editors/KeyValueEditor.tsx +0 -97
- package/src/components/config/record-editors/McpServersRecordEditor.scss +0 -1
- package/src/components/config/record-editors/McpServersRecordEditor.tsx +0 -260
- package/src/components/config/record-editors/ModelServicesRecordEditor.scss +0 -1
- package/src/components/config/record-editors/ModelServicesRecordEditor.tsx +0 -265
- package/src/components/config/record-editors/RecordEditors.scss +0 -335
- package/src/components/config/record-editors/RecordJsonEditor.scss +0 -1
- package/src/components/config/record-editors/RecordJsonEditor.tsx +0 -140
- package/src/components/config/record-editors/SchemaObjectEditor.tsx +0 -183
- package/src/components/config/record-editors/SchemaRecordEditor.tsx +0 -184
- package/src/components/config/record-editors/index.tsx +0 -7
- package/src/components/config/record-editors/schemaRecordUtils.ts +0 -55
- package/src/components/config/use-worktree-environment-auto-save.ts +0 -386
- package/src/components/config/worktree-environment-panel-model.ts +0 -108
- package/src/components/dock-panel/DockPanel.scss +0 -223
- package/src/components/dock-panel/DockPanel.tsx +0 -194
- package/src/components/dock-panel/DockPanelHeader.tsx +0 -65
- package/src/components/dock-panel/use-dock-panel-fullscreen.ts +0 -51
- package/src/components/knowledge-base/KnowledgeBaseView.scss +0 -431
- package/src/components/knowledge-base/KnowledgeBaseView.tsx +0 -512
- package/src/components/knowledge-base/components/@hooks/use-skills-cli-modal-controller.ts +0 -157
- package/src/components/knowledge-base/components/@hooks/use-skills-tab-actions.ts +0 -63
- package/src/components/knowledge-base/components/ActionButton.scss +0 -35
- package/src/components/knowledge-base/components/ActionButton.tsx +0 -19
- package/src/components/knowledge-base/components/CreateSkillModal.tsx +0 -59
- package/src/components/knowledge-base/components/EmptyState.scss +0 -18
- package/src/components/knowledge-base/components/EmptyState.tsx +0 -42
- package/src/components/knowledge-base/components/EntitiesTab.scss +0 -5
- package/src/components/knowledge-base/components/EntitiesTab.tsx +0 -86
- package/src/components/knowledge-base/components/EntityItem.scss +0 -89
- package/src/components/knowledge-base/components/EntityItem.tsx +0 -79
- package/src/components/knowledge-base/components/EntityList.scss +0 -8
- package/src/components/knowledge-base/components/EntityList.tsx +0 -70
- package/src/components/knowledge-base/components/FilterBar.scss +0 -33
- package/src/components/knowledge-base/components/FilterBar.tsx +0 -55
- package/src/components/knowledge-base/components/FlowsTab.scss +0 -5
- package/src/components/knowledge-base/components/FlowsTab.tsx +0 -86
- package/src/components/knowledge-base/components/KnowledgeBaseHeader.scss +0 -6
- package/src/components/knowledge-base/components/KnowledgeBaseHeader.tsx +0 -25
- package/src/components/knowledge-base/components/KnowledgeContentControls.tsx +0 -35
- package/src/components/knowledge-base/components/KnowledgeList.scss +0 -39
- package/src/components/knowledge-base/components/KnowledgeList.tsx +0 -19
- package/src/components/knowledge-base/components/KnowledgeMobilePanel.tsx +0 -122
- package/src/components/knowledge-base/components/KnowledgeSidebar.tsx +0 -97
- package/src/components/knowledge-base/components/LoadingState.scss +0 -10
- package/src/components/knowledge-base/components/LoadingState.tsx +0 -11
- package/src/components/knowledge-base/components/MetaList.scss +0 -19
- package/src/components/knowledge-base/components/MetaList.tsx +0 -18
- package/src/components/knowledge-base/components/ProjectSkillsList.tsx +0 -79
- package/src/components/knowledge-base/components/RuleItem.scss +0 -86
- package/src/components/knowledge-base/components/RuleItem.tsx +0 -81
- package/src/components/knowledge-base/components/RuleList.scss +0 -8
- package/src/components/knowledge-base/components/RuleList.tsx +0 -70
- package/src/components/knowledge-base/components/RulesTab.scss +0 -5
- package/src/components/knowledge-base/components/RulesTab.tsx +0 -81
- package/src/components/knowledge-base/components/SectionHeader.scss +0 -19
- package/src/components/knowledge-base/components/SectionHeader.tsx +0 -19
- package/src/components/knowledge-base/components/SkillArchiveInput.tsx +0 -43
- package/src/components/knowledge-base/components/SkillHubResultItem.tsx +0 -112
- package/src/components/knowledge-base/components/SkillMarketResults.tsx +0 -98
- package/src/components/knowledge-base/components/SkillMarketView.tsx +0 -198
- package/src/components/knowledge-base/components/SkillMarketView.types.ts +0 -28
- package/src/components/knowledge-base/components/SkillRegistryErrors.tsx +0 -21
- package/src/components/knowledge-base/components/SkillRegistryModal.tsx +0 -74
- package/src/components/knowledge-base/components/SkillsCliModal.tsx +0 -154
- package/src/components/knowledge-base/components/SkillsTab.scss +0 -429
- package/src/components/knowledge-base/components/SkillsTab.tsx +0 -185
- package/src/components/knowledge-base/components/SkillsTabActions.tsx +0 -88
- package/src/components/knowledge-base/components/SpecItem.scss +0 -147
- package/src/components/knowledge-base/components/SpecItem.tsx +0 -131
- package/src/components/knowledge-base/components/SpecList.scss +0 -8
- package/src/components/knowledge-base/components/SpecList.tsx +0 -70
- package/src/components/knowledge-base/components/TabContent.scss +0 -9
- package/src/components/knowledge-base/components/TabContent.tsx +0 -17
- package/src/components/knowledge-base/components/TabLabel.scss +0 -10
- package/src/components/knowledge-base/components/TabLabel.tsx +0 -15
- package/src/components/knowledge-base/components/skill-hub-utils.ts +0 -108
- package/src/components/knowledge-base/components/use-skill-market-filters.ts +0 -37
- package/src/components/knowledge-base/components/use-skill-market-query-input.ts +0 -44
- package/src/components/knowledge-base/components/use-skill-market-search.ts +0 -49
- package/src/components/knowledge-base/components/use-skill-registry-modal.ts +0 -68
- package/src/components/knowledge-base/index.tsx +0 -1
- package/src/components/layout/@hooks/use-mobile-sidebar-modal.ts +0 -190
- package/src/components/layout/AppShell.scss +0 -157
- package/src/components/layout/AppShell.tsx +0 -168
- package/src/components/layout/PageShell.scss +0 -41
- package/src/components/layout/PageShell.tsx +0 -32
- package/src/components/layout/mobile-sidebar-constants.ts +0 -1
- package/src/components/monaco/monaco-runtime.ts +0 -44
- package/src/components/monaco/use-monaco-theme.ts +0 -63
- package/src/components/nav-rail-account-actions.tsx +0 -104
- package/src/components/nav-rail-compact-config.ts +0 -114
- package/src/components/nav-rail-items.tsx +0 -181
- package/src/components/server-connection/ServerConnectionGate.scss +0 -356
- package/src/components/server-connection/ServerConnectionGate.tsx +0 -238
- package/src/components/server-connection/ServerConnectionProfileModal.tsx +0 -145
- package/src/components/server-connection/ServerConnectionProfiles.tsx +0 -113
- package/src/components/server-connection/ServerConnectionUrlInput.tsx +0 -85
- package/src/components/sidebar/SessionContextMenu.scss +0 -143
- package/src/components/sidebar/SessionContextMenu.tsx +0 -198
- package/src/components/sidebar/SessionContextMenuContent.tsx +0 -89
- package/src/components/sidebar/SessionItem.scss +0 -417
- package/src/components/sidebar/SessionItem.tsx +0 -367
- package/src/components/sidebar/SessionList.scss +0 -122
- package/src/components/sidebar/SessionList.tsx +0 -187
- package/src/components/sidebar/SidebarHeader.scss +0 -372
- package/src/components/sidebar/SidebarHeader.tsx +0 -198
- package/src/components/sidebar/SidebarHeaderBatchActions.tsx +0 -85
- package/src/components/sidebar/SidebarHeaderSearchActions.tsx +0 -175
- package/src/components/sidebar/SidebarHeaderSelectField.tsx +0 -24
- package/src/components/sidebar/SidebarUtilityFooter.tsx +0 -69
- package/src/components/sidebar/filter-utils.ts +0 -23
- package/src/components/sidebar/sidebar-search-visibility.ts +0 -18
- package/src/components/sidebar-list/SidebarListHeader.scss +0 -246
- package/src/components/sidebar-list/SidebarListHeader.tsx +0 -146
- package/src/components/workspace/ContextFilePicker.scss +0 -47
- package/src/components/workspace/ContextFilePicker.tsx +0 -97
- package/src/components/workspace/context-file-types.ts +0 -36
- package/src/components/workspace/project-file-tree/ProjectFileTree.scss +0 -298
- package/src/components/workspace/project-file-tree/ProjectFileTree.tsx +0 -138
- package/src/components/workspace/project-file-tree/ProjectFileTreeRow.tsx +0 -167
- package/src/components/workspace/project-file-tree/ProjectFileTreeRowContextMenu.tsx +0 -106
- package/src/components/workspace/project-file-tree/ProjectFileTreeRows.tsx +0 -139
- package/src/components/workspace/project-file-tree/project-file-tree-helpers.ts +0 -101
- package/src/components/workspace/project-file-tree/project-file-tree-icons.ts +0 -93
- package/src/components/workspace/project-file-tree/project-file-tree-types.ts +0 -27
- package/src/components/workspace/project-file-tree/use-project-file-tree-data.ts +0 -197
- package/src/components/workspace/project-file-tree/use-project-file-tree-selection.ts +0 -144
- package/src/connectionManager.ts +0 -174
- package/src/hooks/chat/chat-session-target.ts +0 -69
- package/src/hooks/chat/chat-session-workspace-draft.ts +0 -32
- package/src/hooks/chat/interaction-state.ts +0 -125
- package/src/hooks/chat/model-selector-data-builders.ts +0 -146
- package/src/hooks/chat/model-selector-data-option-utils.ts +0 -62
- package/src/hooks/chat/model-selector-data-types.ts +0 -27
- package/src/hooks/chat/model-selector-data.ts +0 -109
- package/src/hooks/chat/model-selector-recommendations.ts +0 -69
- package/src/hooks/chat/model-selector.ts +0 -153
- package/src/hooks/chat/optimistic-session-creation.ts +0 -189
- package/src/hooks/chat/session-view-cache.ts +0 -83
- package/src/hooks/chat/use-chat-adapter-account-selection.tsx +0 -156
- package/src/hooks/chat/use-chat-adapter.ts +0 -97
- package/src/hooks/chat/use-chat-effort.ts +0 -55
- package/src/hooks/chat/use-chat-interaction.ts +0 -31
- package/src/hooks/chat/use-chat-model-adapter-selection.tsx +0 -562
- package/src/hooks/chat/use-chat-models.tsx +0 -347
- package/src/hooks/chat/use-chat-permission-mode.ts +0 -55
- package/src/hooks/chat/use-chat-route-bottom-panel.ts +0 -181
- package/src/hooks/chat/use-chat-route-deep-link-view.ts +0 -33
- package/src/hooks/chat/use-chat-scroll.ts +0 -68
- package/src/hooks/chat/use-chat-session-actions.ts +0 -520
- package/src/hooks/chat/use-chat-session-messages.ts +0 -607
- package/src/hooks/chat/use-chat-session.ts +0 -183
- package/src/hooks/chat/use-chat-view.ts +0 -59
- package/src/hooks/chat/use-composer-control-shortcuts.ts +0 -69
- package/src/hooks/chat/use-terminal-dock-visibility.ts +0 -39
- package/src/hooks/chat/workspace-file-panel-state.ts +0 -43
- package/src/hooks/session-subscription-cache.ts +0 -25
- package/src/hooks/use-app-preferences.ts +0 -51
- package/src/hooks/use-chat-layout-query-state.ts +0 -29
- package/src/hooks/use-responsive-layout.ts +0 -115
- package/src/hooks/use-roving-focus-list.ts +0 -104
- package/src/hooks/use-sender-header-query-state.ts +0 -35
- package/src/hooks/use-session-subscription.ts +0 -144
- package/src/hooks/use-sidebar-navigation.ts +0 -40
- package/src/hooks/use-sidebar-query-state.ts +0 -79
- package/src/hooks/useGlobalShortcut.ts +0 -26
- package/src/hooks/useQueryParams.ts +0 -124
- package/src/i18n-resources.ts +0 -44
- package/src/i18n.ts +0 -37
- package/src/main.tsx +0 -60
- package/src/pwa.ts +0 -46
- package/src/resources/adapters.ts +0 -46
- package/src/resources/locales/en.json +0 -1972
- package/src/resources/locales/zh.json +0 -1973
- package/src/routes/AppRoutes.tsx +0 -22
- package/src/routes/ArchiveRoute.tsx +0 -5
- package/src/routes/AutomationRoute.tsx +0 -5
- package/src/routes/BenchmarkRoute.tsx +0 -5
- package/src/routes/ChatRoute.scss +0 -529
- package/src/routes/ChatRoute.tsx +0 -40
- package/src/routes/ChatRouteBottomPanel.tsx +0 -47
- package/src/routes/ChatRouteView.tsx +0 -199
- package/src/routes/ConfigRoute.tsx +0 -5
- package/src/routes/KnowledgeRoute.tsx +0 -5
- package/src/runtime-config.ts +0 -239
- package/src/server-connection-history.ts +0 -179
- package/src/store/index.ts +0 -173
- package/src/styles/global.scss +0 -113
- package/src/styles/material-symbols-rounded.scss +0 -23
- package/src/utils/chat-links.ts +0 -21
- package/src/utils/copy.ts +0 -18
- package/src/utils/mobile-viewport.ts +0 -67
- package/src/utils/safe-serialize.ts +0 -84
- package/src/utils/shortcutUtils.ts +0 -198
- package/src/utils/strip-ansi.ts +0 -26
- package/src/version-compatibility.ts +0 -37
- package/src/vite-env.d.ts +0 -33
- package/src/ws.ts +0 -47
- package/vite.config.ts +0 -127
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/cssMode-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/cssMode-DiwCtD5c.js","assets/lspLanguageFeatures-Bfs5KZ7t.js","assets/htmlMode-JyRqPjN0.js","assets/jsonMode-COyDpXxP.js","assets/javascript-BqCcEQX1.js","assets/typescript-DK75tgf9.js","assets/angular-html-CU67Zn6k.js","assets/html-GMplVEZG.js","assets/javascript-wDzz0qaB.js","assets/css-DPfMkruS.js","assets/angular-ts-BwZT4LLn.js","assets/scss-OYdSNvt2.js","assets/apl-dKokRX4l.js","assets/xml-sdJ4AIDG.js","assets/java-CylS5w8V.js","assets/json-Cp-IABpG.js","assets/astro-CbQHKStN.js","assets/typescript-BPQ3VLAy.js","assets/postcss-CXtECtnM.js","assets/tsx-COt5Ahok.js","assets/blade-D4QpJJKB.js","assets/html-derivative-BFtXZ54Q.js","assets/sql-BLtJtn59.js","assets/bsl-BO_Y6i37.js","assets/sdbl-DVxCFoDh.js","assets/cairo-KRGpt6FW.js","assets/python-B6aJPvgy.js","assets/cobol-nwyudZeR.js","assets/coffee-Ch7k5sss.js","assets/cpp-CofmeUqb.js","assets/regexp-CDVJQ6XC.js","assets/glsl-DplSGwfg.js","assets/c-BIGW1oBm.js","assets/crystal-tKQVLTB8.js","assets/shellscript-Yzrsuije.js","assets/edge-BkV0erSs.js","assets/elixir-CDX3lj18.js","assets/elm-DbKCFpqz.js","assets/erb-BOJIQeun.js","assets/ruby-BvKwtOVI.js","assets/haml-B8DHNrY2.js","assets/graphql-ChdNCCLP.js","assets/jsx-g9-lgVsj.js","assets/lua-BbnMAYS6.js","assets/yaml-Buea-lGh.js","assets/erlang-DsQrWhSR.js","assets/markdown-Cvjx9yec.js","assets/fortran-fixed-form-CkoXwp7k.js","assets/fortran-free-form-BxgE0vQu.js","assets/fsharp-CXgrBDvD.js","assets/gdresource-B7Tvp0Sc.js","assets/gdshader-DkwncUOv.js","assets/gdscript-DTMYz4Jt.js","assets/git-commit-F4YmCXRG.js","assets/diff-D97Zzqfu.js","assets/git-rebase-r7XF79zn.js","assets/glimmer-js-Rg0-pVw9.js","assets/glimmer-ts-U6CK756n.js","assets/hack-CaT9iCJl.js","assets/handlebars-BL8al0AC.js","assets/http-jrhK8wxY.js","assets/hurl-irOxFIW8.js","assets/csv-fuZLfV_i.js","assets/hxml-Bvhsp5Yf.js","assets/haxe-CzTSHFRz.js","assets/jinja-4LBKfQ-Z.js","assets/jison-wvAkD_A8.js","assets/julia-CxzCAyBv.js","assets/r-Dspwwk_N.js","assets/latex-B4uzh10-.js","assets/tex-CvyZ59Mk.js","assets/liquid-DYVedYrR.js","assets/marko-DZsq8hO1.js","assets/less-B1dDrJ26.js","assets/mdc-DUICxH0z.js","assets/nginx-DknmC5AR.js","assets/nim-CVrawwO9.js","assets/perl-C0TMdlhV.js","assets/php-CDn_0X-4.js","assets/pug-CGlum2m_.js","assets/qml-3beO22l8.js","assets/razor-C1TweQQi.js","assets/csharp-K5feNrxe.js","assets/rst-B0xPkSld.js","assets/cmake-D1j8_8rp.js","assets/sas-cz2c8ADy.js","assets/shaderlab-Dg9Lc6iA.js","assets/hlsl-D3lLCCz7.js","assets/shellsession-BADoaaVG.js","assets/soy-Brmx7dQM.js","assets/sparql-rVzFXLq3.js","assets/turtle-BsS91CYL.js","assets/stata-BH5u7GGu.js","assets/svelte-zxCyuUbr.js","assets/templ-W15q3VgB.js","assets/go-Dn2_MT6a.js","assets/ts-tags-zn1MmPIZ.js","assets/twig-CO9l9SDP.js","assets/vue-DN_0RTcg.js","assets/vue-html-AaS7Mt5G.js","assets/vue-vine-CQOfvN7w.js","assets/stylus-BEDo0Tqx.js","assets/xsl-CtQFsRM5.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
var vYe=Object.defineProperty;var bYe=(n,e,t)=>e in n?vYe(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var lt=(n,e,t)=>bYe(n,typeof e!="symbol"?e+"":e,t);function IMe(n,e){for(var t=0;t<e.length;t++){const i=e[t];if(typeof i!="string"&&!Array.isArray(i)){for(const s in i)if(s!=="default"&&!(s in n)){const r=Object.getOwnPropertyDescriptor(i,s);r&&Object.defineProperty(n,s,r.get?r:{enumerable:!0,get:()=>i[s]})}}}return Object.freeze(Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}))}(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))i(s);new MutationObserver(s=>{for(const r of s)if(r.type==="childList")for(const o of r.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&i(o)}).observe(document,{childList:!0,subtree:!0});function t(s){const r={};return s.integrity&&(r.integrity=s.integrity),s.referrerPolicy&&(r.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?r.credentials="include":s.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function i(s){if(s.ep)return;s.ep=!0;const r=t(s);fetch(s.href,r)}})();var uP=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Bv(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}function Gce(n){if(n.__esModule)return n;var e=n.default;if(typeof e=="function"){var t=function i(){return this instanceof i?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};t.prototype=e.prototype}else t={};return Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(n).forEach(function(i){var s=Object.getOwnPropertyDescriptor(n,i);Object.defineProperty(t,i,s.get?s:{enumerable:!0,get:function(){return n[i]}})}),t}var NMe={exports:{}},oV={},DMe={exports:{}},ls={};/**
|
|
3
3
|
* @license React
|
|
4
4
|
* react.production.min.js
|
|
@@ -457,7 +457,7 @@ html body {
|
|
|
457
457
|
* @license MIT
|
|
458
458
|
*/var d0e="popstate";function W0t(n={}){function e(i,s){let{pathname:r,search:o,hash:a}=i.location;return WJ("",{pathname:r,search:o,hash:a},s.state&&s.state.usr||null,s.state&&s.state.key||"default")}function t(i,s){return typeof s=="string"?s:GP(s)}return z0t(e,t,null,n)}function ko(n,e){if(n===!1||n===null||typeof n>"u")throw new Error(e)}function Cf(n,e){if(!n){typeof console<"u"&&console.warn(e);try{throw new Error(e)}catch{}}}function V0t(){return Math.random().toString(36).substring(2,10)}function u0e(n,e){return{usr:n.state,key:n.key,idx:e}}function WJ(n,e,t=null,i){return{pathname:typeof n=="string"?n:n.pathname,search:"",hash:"",...typeof e=="string"?zN(e):e,state:t,key:e&&e.key||i||V0t()}}function GP({pathname:n="/",search:e="",hash:t=""}){return e&&e!=="?"&&(n+=e.charAt(0)==="?"?e:"?"+e),t&&t!=="#"&&(n+=t.charAt(0)==="#"?t:"#"+t),n}function zN(n){let e={};if(n){let t=n.indexOf("#");t>=0&&(e.hash=n.substring(t),n=n.substring(0,t));let i=n.indexOf("?");i>=0&&(e.search=n.substring(i),n=n.substring(0,i)),n&&(e.pathname=n)}return e}function z0t(n,e,t,i={}){let{window:s=document.defaultView,v5Compat:r=!1}=i,o=s.history,a="POP",l=null,c=d();c==null&&(c=0,o.replaceState({...o.state,idx:c},""));function d(){return(o.state||{idx:null}).idx}function u(){a="POP";let p=d(),v=p==null?null:p-c;c=p,l&&l({action:a,location:m.location,delta:v})}function h(p,v){a="PUSH";let b=WJ(m.location,p,v);c=d()+1;let w=u0e(b,c),C=m.createHref(b);try{o.pushState(w,"",C)}catch(S){if(S instanceof DOMException&&S.name==="DataCloneError")throw S;s.location.assign(C)}r&&l&&l({action:a,location:m.location,delta:1})}function f(p,v){a="REPLACE";let b=WJ(m.location,p,v);c=d();let w=u0e(b,c),C=m.createHref(b);o.replaceState(w,"",C),r&&l&&l({action:a,location:m.location,delta:0})}function g(p){return U0t(p)}let m={get action(){return a},get location(){return n(s,o)},listen(p){if(l)throw new Error("A history only accepts one active listener");return s.addEventListener(d0e,u),l=p,()=>{s.removeEventListener(d0e,u),l=null}},createHref(p){return e(s,p)},createURL:g,encodeLocation(p){let v=g(p);return{pathname:v.pathname,search:v.search,hash:v.hash}},push:h,replace:f,go(p){return o.go(p)}};return m}function U0t(n,e=!1){let t="http://localhost";typeof window<"u"&&(t=window.location.origin!=="null"?window.location.origin:window.location.href),ko(t,"No window.location.(origin|href) available to create URL");let i=typeof n=="string"?n:GP(n);return i=i.replace(/ $/,"%20"),!e&&i.startsWith("//")&&(i=t+i),new URL(i,t)}function S$e(n,e,t="/"){return K0t(n,e,t,!1)}function K0t(n,e,t,i){let s=typeof e=="string"?zN(e):e,r=vv(s.pathname||"/",t);if(r==null)return null;let o=x$e(n);q0t(o);let a=null;for(let l=0;a==null&&l<o.length;++l){let c=sSt(r);a=nSt(o[l],c,i)}return a}function x$e(n,e=[],t=[],i="",s=!1){let r=(o,a,l=s,c)=>{let d={relativePath:c===void 0?o.path||"":c,caseSensitive:o.caseSensitive===!0,childrenIndex:a,route:o};if(d.relativePath.startsWith("/")){if(!d.relativePath.startsWith(i)&&l)return;ko(d.relativePath.startsWith(i),`Absolute route path "${d.relativePath}" nested under path "${i}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),d.relativePath=d.relativePath.slice(i.length)}let u=J_([i,d.relativePath]),h=t.concat(d);o.children&&o.children.length>0&&(ko(o.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${u}".`),x$e(o.children,e,h,u,l)),!(o.path==null&&!o.index)&&e.push({path:u,score:eSt(u,o.index),routesMeta:h})};return n.forEach((o,a)=>{var l;if(o.path===""||!((l=o.path)!=null&&l.includes("?")))r(o,a);else for(let c of k$e(o.path))r(o,a,!0,c)}),e}function k$e(n){let e=n.split("/");if(e.length===0)return[];let[t,...i]=e,s=t.endsWith("?"),r=t.replace(/\?$/,"");if(i.length===0)return s?[r,""]:[r];let o=k$e(i.join("/")),a=[];return a.push(...o.map(l=>l===""?r:[r,l].join("/"))),s&&a.push(...o),a.map(l=>n.startsWith("/")&&l===""?"/":l)}function q0t(n){n.sort((e,t)=>e.score!==t.score?t.score-e.score:tSt(e.routesMeta.map(i=>i.childrenIndex),t.routesMeta.map(i=>i.childrenIndex)))}var G0t=/^:[\w-]+$/,X0t=3,Y0t=2,Z0t=1,Q0t=10,J0t=-2,h0e=n=>n==="*";function eSt(n,e){let t=n.split("/"),i=t.length;return t.some(h0e)&&(i+=J0t),e&&(i+=Y0t),t.filter(s=>!h0e(s)).reduce((s,r)=>s+(G0t.test(r)?X0t:r===""?Z0t:Q0t),i)}function tSt(n,e){return n.length===e.length&&n.slice(0,-1).every((i,s)=>i===e[s])?n[n.length-1]-e[e.length-1]:0}function nSt(n,e,t=!1){let{routesMeta:i}=n,s={},r="/",o=[];for(let a=0;a<i.length;++a){let l=i[a],c=a===i.length-1,d=r==="/"?e:e.slice(r.length)||"/",u=XP({path:l.relativePath,caseSensitive:l.caseSensitive,end:c},d),h=l.route;if(!u&&c&&t&&!i[i.length-1].route.index&&(u=XP({path:l.relativePath,caseSensitive:l.caseSensitive,end:!1},d)),!u)return null;Object.assign(s,u.params),o.push({params:s,pathname:J_([r,u.pathname]),pathnameBase:lSt(J_([r,u.pathnameBase])),route:h}),u.pathnameBase!=="/"&&(r=J_([r,u.pathnameBase]))}return o}function XP(n,e){typeof n=="string"&&(n={path:n,caseSensitive:!1,end:!0});let[t,i]=iSt(n.path,n.caseSensitive,n.end),s=e.match(t);if(!s)return null;let r=s[0],o=r.replace(/(.)\/+$/,"$1"),a=s.slice(1);return{params:i.reduce((c,{paramName:d,isOptional:u},h)=>{if(d==="*"){let g=a[h]||"";o=r.slice(0,r.length-g.length).replace(/(.)\/+$/,"$1")}const f=a[h];return u&&!f?c[d]=void 0:c[d]=(f||"").replace(/%2F/g,"/"),c},{}),pathname:r,pathnameBase:o,pattern:n}}function iSt(n,e=!1,t=!0){Cf(n==="*"||!n.endsWith("*")||n.endsWith("/*"),`Route path "${n}" will be treated as if it were "${n.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${n.replace(/\*$/,"/*")}".`);let i=[],s="^"+n.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(o,a,l)=>(i.push({paramName:a,isOptional:l!=null}),l?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return n.endsWith("*")?(i.push({paramName:"*"}),s+=n==="*"||n==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):t?s+="\\/*$":n!==""&&n!=="/"&&(s+="(?:(?=\\/|$))"),[new RegExp(s,e?void 0:"i"),i]}function sSt(n){try{return n.split("/").map(e=>decodeURIComponent(e).replace(/\//g,"%2F")).join("/")}catch(e){return Cf(!1,`The URL path "${n}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${e}).`),n}}function vv(n,e){if(e==="/")return n;if(!n.toLowerCase().startsWith(e.toLowerCase()))return null;let t=e.endsWith("/")?e.length-1:e.length,i=n.charAt(t);return i&&i!=="/"?null:n.slice(t)||"/"}var E$e=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,rSt=n=>E$e.test(n);function oSt(n,e="/"){let{pathname:t,search:i="",hash:s=""}=typeof n=="string"?zN(n):n,r;if(t)if(rSt(t))r=t;else{if(t.includes("//")){let o=t;t=t.replace(/\/\/+/g,"/"),Cf(!1,`Pathnames cannot have embedded double slashes - normalizing ${o} -> ${t}`)}t.startsWith("/")?r=f0e(t.substring(1),"/"):r=f0e(t,e)}else r=e;return{pathname:r,search:cSt(i),hash:dSt(s)}}function f0e(n,e){let t=e.replace(/\/+$/,"").split("/");return n.split("/").forEach(s=>{s===".."?t.length>1&&t.pop():s!=="."&&t.push(s)}),t.length>1?t.join("/"):"/"}function Dq(n,e,t,i){return`Cannot include a '${n}' character in a manually specified \`to.${e}\` field [${JSON.stringify(i)}]. Please separate it out to the \`to.${t}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function aSt(n){return n.filter((e,t)=>t===0||e.route.path&&e.route.path.length>0)}function L$e(n){let e=aSt(n);return e.map((t,i)=>i===e.length-1?t.pathname:t.pathnameBase)}function I$e(n,e,t,i=!1){let s;typeof n=="string"?s=zN(n):(s={...n},ko(!s.pathname||!s.pathname.includes("?"),Dq("?","pathname","search",s)),ko(!s.pathname||!s.pathname.includes("#"),Dq("#","pathname","hash",s)),ko(!s.search||!s.search.includes("#"),Dq("#","search","hash",s)));let r=n===""||s.pathname==="",o=r?"/":s.pathname,a;if(o==null)a=t;else{let u=e.length-1;if(!i&&o.startsWith("..")){let h=o.split("/");for(;h[0]==="..";)h.shift(),u-=1;s.pathname=h.join("/")}a=u>=0?e[u]:"/"}let l=oSt(s,a),c=o&&o!=="/"&&o.endsWith("/"),d=(r||o===".")&&t.endsWith("/");return!l.pathname.endsWith("/")&&(c||d)&&(l.pathname+="/"),l}var J_=n=>n.join("/").replace(/\/\/+/g,"/"),lSt=n=>n.replace(/\/+$/,"").replace(/^\/*/,"/"),cSt=n=>!n||n==="?"?"":n.startsWith("?")?n:"?"+n,dSt=n=>!n||n==="#"?"":n.startsWith("#")?n:"#"+n,uSt=class{constructor(n,e,t,i=!1){this.status=n,this.statusText=e||"",this.internal=i,t instanceof Error?(this.data=t.toString(),this.error=t):this.data=t}};function hSt(n){return n!=null&&typeof n.status=="number"&&typeof n.statusText=="string"&&typeof n.internal=="boolean"&&"data"in n}function fSt(n){return n.map(e=>e.route.path).filter(Boolean).join("/").replace(/\/\/*/g,"/")||"/"}var N$e=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function D$e(n,e){let t=n;if(typeof t!="string"||!E$e.test(t))return{absoluteURL:void 0,isExternal:!1,to:t};let i=t,s=!1;if(N$e)try{let r=new URL(window.location.href),o=t.startsWith("//")?new URL(r.protocol+t):new URL(t),a=vv(o.pathname,e);o.origin===r.origin&&a!=null?t=a+o.search+o.hash:s=!0}catch{Cf(!1,`<Link to="${t}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:i,isExternal:s,to:t}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var T$e=["POST","PUT","PATCH","DELETE"];new Set(T$e);var gSt=["GET",...T$e];new Set(gSt);var UN=_.createContext(null);UN.displayName="DataRouter";var D7=_.createContext(null);D7.displayName="DataRouterState";var mSt=_.createContext(!1),R$e=_.createContext({isTransitioning:!1});R$e.displayName="ViewTransition";var pSt=_.createContext(new Map);pSt.displayName="Fetchers";var _St=_.createContext(null);_St.displayName="Await";var Df=_.createContext(null);Df.displayName="Navigation";var TA=_.createContext(null);TA.displayName="Location";var Ip=_.createContext({outlet:null,matches:[],isDataRoute:!1});Ip.displayName="Route";var hhe=_.createContext(null);hhe.displayName="RouteError";var M$e="REACT_ROUTER_ERROR",vSt="REDIRECT",bSt="ROUTE_ERROR_RESPONSE";function ySt(n){if(n.startsWith(`${M$e}:${vSt}:{`))try{let e=JSON.parse(n.slice(28));if(typeof e=="object"&&e&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.location=="string"&&typeof e.reloadDocument=="boolean"&&typeof e.replace=="boolean")return e}catch{}}function wSt(n){if(n.startsWith(`${M$e}:${bSt}:{`))try{let e=JSON.parse(n.slice(40));if(typeof e=="object"&&e&&typeof e.status=="number"&&typeof e.statusText=="string")return new uSt(e.status,e.statusText,e.data)}catch{}}function CSt(n,{relative:e}={}){ko(RA(),"useHref() may be used only in the context of a <Router> component.");let{basename:t,navigator:i}=_.useContext(Df),{hash:s,pathname:r,search:o}=MA(n,{relative:e}),a=r;return t!=="/"&&(a=r==="/"?t:J_([t,r])),i.createHref({pathname:a,search:o,hash:s})}function RA(){return _.useContext(TA)!=null}function Sh(){return ko(RA(),"useLocation() may be used only in the context of a <Router> component."),_.useContext(TA).location}var P$e="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function O$e(n){_.useContext(Df).static||_.useLayoutEffect(n)}function Tf(){let{isDataRoute:n}=_.useContext(Ip);return n?ASt():SSt()}function SSt(){ko(RA(),"useNavigate() may be used only in the context of a <Router> component.");let n=_.useContext(UN),{basename:e,navigator:t}=_.useContext(Df),{matches:i}=_.useContext(Ip),{pathname:s}=Sh(),r=JSON.stringify(L$e(i)),o=_.useRef(!1);return O$e(()=>{o.current=!0}),_.useCallback((l,c={})=>{if(Cf(o.current,P$e),!o.current)return;if(typeof l=="number"){t.go(l);return}let d=I$e(l,JSON.parse(r),s,c.relative==="path");n==null&&e!=="/"&&(d.pathname=d.pathname==="/"?e:J_([e,d.pathname])),(c.replace?t.replace:t.push)(d,c.state,c)},[e,t,r,s,n])}_.createContext(null);function xSt(){let{matches:n}=_.useContext(Ip),e=n[n.length-1];return e?e.params:{}}function MA(n,{relative:e}={}){let{matches:t}=_.useContext(Ip),{pathname:i}=Sh(),s=JSON.stringify(L$e(t));return _.useMemo(()=>I$e(n,JSON.parse(s),i,e==="path"),[n,s,i,e])}function kSt(n,e){return A$e(n,e)}function A$e(n,e,t,i,s){var b;ko(RA(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:r}=_.useContext(Df),{matches:o}=_.useContext(Ip),a=o[o.length-1],l=a?a.params:{},c=a?a.pathname:"/",d=a?a.pathnameBase:"/",u=a&&a.route;{let w=u&&u.path||"";$$e(c,!u||w.endsWith("*")||w.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${c}" (under <Route path="${w}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
|
|
459
459
|
|
|
460
|
-
Please change the parent <Route path="${w}"> to <Route path="${w==="/"?"*":`${w}/*`}">.`)}let h=Sh(),f;if(e){let w=typeof e=="string"?zN(e):e;ko(d==="/"||((b=w.pathname)==null?void 0:b.startsWith(d)),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${d}" but pathname "${w.pathname}" was given in the \`location\` prop.`),f=w}else f=h;let g=f.pathname||"/",m=g;if(d!=="/"){let w=d.replace(/^\//,"").split("/");m="/"+g.replace(/^\//,"").split("/").slice(w.length).join("/")}let p=S$e(n,{pathname:m});Cf(u||p!=null,`No routes matched location "${f.pathname}${f.search}${f.hash}" `),Cf(p==null||p[p.length-1].route.element!==void 0||p[p.length-1].route.Component!==void 0||p[p.length-1].route.lazy!==void 0,`Matched leaf route at location "${f.pathname}${f.search}${f.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let v=DSt(p&&p.map(w=>Object.assign({},w,{params:Object.assign({},l,w.params),pathname:J_([d,r.encodeLocation?r.encodeLocation(w.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:w.pathname]),pathnameBase:w.pathnameBase==="/"?d:J_([d,r.encodeLocation?r.encodeLocation(w.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:w.pathnameBase])})),o,t,i,s);return e&&v?_.createElement(TA.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",...f},navigationType:"POP"}},v):v}function ESt(){let n=OSt(),e=hSt(n)?`${n.status} ${n.statusText}`:n instanceof Error?n.message:JSON.stringify(n),t=n instanceof Error?n.stack:null,i="rgba(200,200,200, 0.5)",s={padding:"0.5rem",backgroundColor:i},r={padding:"2px 4px",backgroundColor:i},o=null;return console.error("Error handled by React Router default ErrorBoundary:",n),o=_.createElement(_.Fragment,null,_.createElement("p",null,"💿 Hey developer 👋"),_.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",_.createElement("code",{style:r},"ErrorBoundary")," or"," ",_.createElement("code",{style:r},"errorElement")," prop on your route.")),_.createElement(_.Fragment,null,_.createElement("h2",null,"Unexpected Application Error!"),_.createElement("h3",{style:{fontStyle:"italic"}},e),t?_.createElement("pre",{style:s},t):null,o)}var LSt=_.createElement(ESt,null),F$e=class extends _.Component{constructor(n){super(n),this.state={location:n.location,revalidation:n.revalidation,error:n.error}}static getDerivedStateFromError(n){return{error:n}}static getDerivedStateFromProps(n,e){return e.location!==n.location||e.revalidation!=="idle"&&n.revalidation==="idle"?{error:n.error,location:n.location,revalidation:n.revalidation}:{error:n.error!==void 0?n.error:e.error,location:e.location,revalidation:n.revalidation||e.revalidation}}componentDidCatch(n,e){this.props.onError?this.props.onError(n,e):console.error("React Router caught the following error during render",n)}render(){let n=this.state.error;if(this.context&&typeof n=="object"&&n&&"digest"in n&&typeof n.digest=="string"){const t=wSt(n.digest);t&&(n=t)}let e=n!==void 0?_.createElement(Ip.Provider,{value:this.props.routeContext},_.createElement(hhe.Provider,{value:n,children:this.props.component})):this.props.children;return this.context?_.createElement(ISt,{error:n},e):e}};F$e.contextType=mSt;var Tq=new WeakMap;function ISt({children:n,error:e}){let{basename:t}=_.useContext(Df);if(typeof e=="object"&&e&&"digest"in e&&typeof e.digest=="string"){let i=ySt(e.digest);if(i){let s=Tq.get(e);if(s)throw s;let r=D$e(i.location,t);if(N$e&&!Tq.get(e))if(r.isExternal||i.reloadDocument)window.location.href=r.absoluteURL||r.to;else{const o=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(r.to,{replace:i.replace}));throw Tq.set(e,o),o}return _.createElement("meta",{httpEquiv:"refresh",content:`0;url=${r.absoluteURL||r.to}`})}}return n}function NSt({routeContext:n,match:e,children:t}){let i=_.useContext(UN);return i&&i.static&&i.staticContext&&(e.route.errorElement||e.route.ErrorBoundary)&&(i.staticContext._deepestRenderedBoundaryId=e.route.id),_.createElement(Ip.Provider,{value:n},t)}function DSt(n,e=[],t=null,i=null,s=null){if(n==null){if(!t)return null;if(t.errors)n=t.matches;else if(e.length===0&&!t.initialized&&t.matches.length>0)n=t.matches;else return null}let r=n,o=t==null?void 0:t.errors;if(o!=null){let d=r.findIndex(u=>u.route.id&&(o==null?void 0:o[u.route.id])!==void 0);ko(d>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(o).join(",")}`),r=r.slice(0,Math.min(r.length,d+1))}let a=!1,l=-1;if(t)for(let d=0;d<r.length;d++){let u=r[d];if((u.route.HydrateFallback||u.route.hydrateFallbackElement)&&(l=d),u.route.id){let{loaderData:h,errors:f}=t,g=u.route.loader&&!h.hasOwnProperty(u.route.id)&&(!f||f[u.route.id]===void 0);if(u.route.lazy||g){a=!0,l>=0?r=r.slice(0,l+1):r=[r[0]];break}}}let c=t&&i?(d,u)=>{var h,f;i(d,{location:t.location,params:((f=(h=t.matches)==null?void 0:h[0])==null?void 0:f.params)??{},unstable_pattern:fSt(t.matches),errorInfo:u})}:void 0;return r.reduceRight((d,u,h)=>{let f,g=!1,m=null,p=null;t&&(f=o&&u.route.id?o[u.route.id]:void 0,m=u.route.errorElement||LSt,a&&(l<0&&h===0?($$e("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),g=!0,p=null):l===h&&(g=!0,p=u.route.hydrateFallbackElement||null)));let v=e.concat(r.slice(0,h+1)),b=()=>{let w;return f?w=m:g?w=p:u.route.Component?w=_.createElement(u.route.Component,null):u.route.element?w=u.route.element:w=d,_.createElement(NSt,{match:u,routeContext:{outlet:d,matches:v,isDataRoute:t!=null},children:w})};return t&&(u.route.ErrorBoundary||u.route.errorElement||h===0)?_.createElement(F$e,{location:t.location,revalidation:t.revalidation,component:m,error:f,children:b(),routeContext:{outlet:null,matches:v,isDataRoute:!0},onError:c}):b()},null)}function fhe(n){return`${n} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function TSt(n){let e=_.useContext(UN);return ko(e,fhe(n)),e}function RSt(n){let e=_.useContext(D7);return ko(e,fhe(n)),e}function MSt(n){let e=_.useContext(Ip);return ko(e,fhe(n)),e}function ghe(n){let e=MSt(n),t=e.matches[e.matches.length-1];return ko(t.route.id,`${n} can only be used on routes that contain a unique "id"`),t.route.id}function PSt(){return ghe("useRouteId")}function OSt(){var i;let n=_.useContext(hhe),e=RSt("useRouteError"),t=ghe("useRouteError");return n!==void 0?n:(i=e.errors)==null?void 0:i[t]}function ASt(){let{router:n}=TSt("useNavigate"),e=ghe("useNavigate"),t=_.useRef(!1);return O$e(()=>{t.current=!0}),_.useCallback(async(s,r={})=>{Cf(t.current,P$e),t.current&&(typeof s=="number"?await n.navigate(s):await n.navigate(s,{fromRouteId:e,...r}))},[n,e])}var g0e={};function $$e(n,e,t){!e&&!g0e[n]&&(g0e[n]=!0,Cf(!1,t))}_.memo(FSt);function FSt({routes:n,future:e,state:t,onError:i}){return A$e(n,void 0,t,i,e)}function _b(n){ko(!1,"A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.")}function $St({basename:n="/",children:e=null,location:t,navigationType:i="POP",navigator:s,static:r=!1,unstable_useTransitions:o}){ko(!RA(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let a=n.replace(/^\/*/,"/"),l=_.useMemo(()=>({basename:a,navigator:s,static:r,unstable_useTransitions:o,future:{}}),[a,s,r,o]);typeof t=="string"&&(t=zN(t));let{pathname:c="/",search:d="",hash:u="",state:h=null,key:f="default"}=t,g=_.useMemo(()=>{let m=vv(c,a);return m==null?null:{location:{pathname:m,search:d,hash:u,state:h,key:f},navigationType:i}},[a,c,d,u,h,f,i]);return Cf(g!=null,`<Router basename="${a}"> is not able to match the URL "${c}${d}${u}" because it does not start with the basename, so the <Router> won't render anything.`),g==null?null:_.createElement(Df.Provider,{value:l},_.createElement(TA.Provider,{children:e,value:g}))}function BSt({children:n,location:e}){return kSt(VJ(n),e)}function VJ(n,e=[]){let t=[];return _.Children.forEach(n,(i,s)=>{if(!_.isValidElement(i))return;let r=[...e,s];if(i.type===_.Fragment){t.push.apply(t,VJ(i.props.children,r));return}ko(i.type===_b,`[${typeof i.type=="string"?i.type:i.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),ko(!i.props.index||!i.props.children,"An index route cannot have child routes.");let o={id:i.props.id||r.join("-"),caseSensitive:i.props.caseSensitive,element:i.props.element,Component:i.props.Component,index:i.props.index,path:i.props.path,middleware:i.props.middleware,loader:i.props.loader,action:i.props.action,hydrateFallbackElement:i.props.hydrateFallbackElement,HydrateFallback:i.props.HydrateFallback,errorElement:i.props.errorElement,ErrorBoundary:i.props.ErrorBoundary,hasErrorBoundary:i.props.hasErrorBoundary===!0||i.props.ErrorBoundary!=null||i.props.errorElement!=null,shouldRevalidate:i.props.shouldRevalidate,handle:i.props.handle,lazy:i.props.lazy};i.props.children&&(o.children=VJ(i.props.children,r)),t.push(o)}),t}var t3="get",n3="application/x-www-form-urlencoded";function T7(n){return typeof HTMLElement<"u"&&n instanceof HTMLElement}function HSt(n){return T7(n)&&n.tagName.toLowerCase()==="button"}function jSt(n){return T7(n)&&n.tagName.toLowerCase()==="form"}function WSt(n){return T7(n)&&n.tagName.toLowerCase()==="input"}function VSt(n){return!!(n.metaKey||n.altKey||n.ctrlKey||n.shiftKey)}function zSt(n,e){return n.button===0&&(!e||e==="_self")&&!VSt(n)}function zJ(n=""){return new URLSearchParams(typeof n=="string"||Array.isArray(n)||n instanceof URLSearchParams?n:Object.keys(n).reduce((e,t)=>{let i=n[t];return e.concat(Array.isArray(i)?i.map(s=>[t,s]):[[t,i]])},[]))}function USt(n,e){let t=zJ(n);return e&&e.forEach((i,s)=>{t.has(s)||e.getAll(s).forEach(r=>{t.append(s,r)})}),t}var L4=null;function KSt(){if(L4===null)try{new FormData(document.createElement("form"),0),L4=!1}catch{L4=!0}return L4}var qSt=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function Rq(n){return n!=null&&!qSt.has(n)?(Cf(!1,`"${n}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${n3}"`),null):n}function GSt(n,e){let t,i,s,r,o;if(jSt(n)){let a=n.getAttribute("action");i=a?vv(a,e):null,t=n.getAttribute("method")||t3,s=Rq(n.getAttribute("enctype"))||n3,r=new FormData(n)}else if(HSt(n)||WSt(n)&&(n.type==="submit"||n.type==="image")){let a=n.form;if(a==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let l=n.getAttribute("formaction")||a.getAttribute("action");if(i=l?vv(l,e):null,t=n.getAttribute("formmethod")||a.getAttribute("method")||t3,s=Rq(n.getAttribute("formenctype"))||Rq(a.getAttribute("enctype"))||n3,r=new FormData(a,n),!KSt()){let{name:c,type:d,value:u}=n;if(d==="image"){let h=c?`${c}.`:"";r.append(`${h}x`,"0"),r.append(`${h}y`,"0")}else c&&r.append(c,u)}}else{if(T7(n))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');t=t3,i=null,s=n3,o=n}return r&&s==="text/plain"&&(o=r,r=void 0),{action:i,method:t.toLowerCase(),encType:s,formData:r,body:o}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function mhe(n,e){if(n===!1||n===null||typeof n>"u")throw new Error(e)}function XSt(n,e,t,i){let s=typeof n=="string"?new URL(n,typeof window>"u"?"server://singlefetch/":window.location.origin):n;return t?s.pathname.endsWith("/")?s.pathname=`${s.pathname}_.${i}`:s.pathname=`${s.pathname}.${i}`:s.pathname==="/"?s.pathname=`_root.${i}`:e&&vv(s.pathname,e)==="/"?s.pathname=`${e.replace(/\/$/,"")}/_root.${i}`:s.pathname=`${s.pathname.replace(/\/$/,"")}.${i}`,s}async function YSt(n,e){if(n.id in e)return e[n.id];try{let t=await import(n.module);return e[n.id]=t,t}catch(t){return console.error(`Error loading route module \`${n.module}\`, reloading page...`),console.error(t),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function ZSt(n){return n==null?!1:n.href==null?n.rel==="preload"&&typeof n.imageSrcSet=="string"&&typeof n.imageSizes=="string":typeof n.rel=="string"&&typeof n.href=="string"}async function QSt(n,e,t){let i=await Promise.all(n.map(async s=>{let r=e.routes[s.route.id];if(r){let o=await YSt(r,t);return o.links?o.links():[]}return[]}));return n1t(i.flat(1).filter(ZSt).filter(s=>s.rel==="stylesheet"||s.rel==="preload").map(s=>s.rel==="stylesheet"?{...s,rel:"prefetch",as:"style"}:{...s,rel:"prefetch"}))}function m0e(n,e,t,i,s,r){let o=(l,c)=>t[c]?l.route.id!==t[c].route.id:!0,a=(l,c)=>{var d;return t[c].pathname!==l.pathname||((d=t[c].route.path)==null?void 0:d.endsWith("*"))&&t[c].params["*"]!==l.params["*"]};return r==="assets"?e.filter((l,c)=>o(l,c)||a(l,c)):r==="data"?e.filter((l,c)=>{var u;let d=i.routes[l.route.id];if(!d||!d.hasLoader)return!1;if(o(l,c)||a(l,c))return!0;if(l.route.shouldRevalidate){let h=l.route.shouldRevalidate({currentUrl:new URL(s.pathname+s.search+s.hash,window.origin),currentParams:((u=t[0])==null?void 0:u.params)||{},nextUrl:new URL(n,window.origin),nextParams:l.params,defaultShouldRevalidate:!0});if(typeof h=="boolean")return h}return!0}):[]}function JSt(n,e,{includeHydrateFallback:t}={}){return e1t(n.map(i=>{let s=e.routes[i.route.id];if(!s)return[];let r=[s.module];return s.clientActionModule&&(r=r.concat(s.clientActionModule)),s.clientLoaderModule&&(r=r.concat(s.clientLoaderModule)),t&&s.hydrateFallbackModule&&(r=r.concat(s.hydrateFallbackModule)),s.imports&&(r=r.concat(s.imports)),r}).flat(1))}function e1t(n){return[...new Set(n)]}function t1t(n){let e={},t=Object.keys(n).sort();for(let i of t)e[i]=n[i];return e}function n1t(n,e){let t=new Set;return new Set(e),n.reduce((i,s)=>{let r=JSON.stringify(t1t(s));return t.has(r)||(t.add(r),i.push({key:r,link:s})),i},[])}function B$e(){let n=_.useContext(UN);return mhe(n,"You must render this element inside a <DataRouterContext.Provider> element"),n}function i1t(){let n=_.useContext(D7);return mhe(n,"You must render this element inside a <DataRouterStateContext.Provider> element"),n}var phe=_.createContext(void 0);phe.displayName="FrameworkContext";function H$e(){let n=_.useContext(phe);return mhe(n,"You must render this element inside a <HydratedRouter> element"),n}function s1t(n,e){let t=_.useContext(phe),[i,s]=_.useState(!1),[r,o]=_.useState(!1),{onFocus:a,onBlur:l,onMouseEnter:c,onMouseLeave:d,onTouchStart:u}=e,h=_.useRef(null);_.useEffect(()=>{if(n==="render"&&o(!0),n==="viewport"){let m=v=>{v.forEach(b=>{o(b.isIntersecting)})},p=new IntersectionObserver(m,{threshold:.5});return h.current&&p.observe(h.current),()=>{p.disconnect()}}},[n]),_.useEffect(()=>{if(i){let m=setTimeout(()=>{o(!0)},100);return()=>{clearTimeout(m)}}},[i]);let f=()=>{s(!0)},g=()=>{s(!1),o(!1)};return t?n!=="intent"?[r,h,{}]:[r,h,{onFocus:zD(a,f),onBlur:zD(l,g),onMouseEnter:zD(c,f),onMouseLeave:zD(d,g),onTouchStart:zD(u,f)}]:[!1,h,{}]}function zD(n,e){return t=>{n&&n(t),t.defaultPrevented||e(t)}}function r1t({page:n,...e}){let{router:t}=B$e(),i=_.useMemo(()=>S$e(t.routes,n,t.basename),[t.routes,n,t.basename]);return i?_.createElement(a1t,{page:n,matches:i,...e}):null}function o1t(n){let{manifest:e,routeModules:t}=H$e(),[i,s]=_.useState([]);return _.useEffect(()=>{let r=!1;return QSt(n,e,t).then(o=>{r||s(o)}),()=>{r=!0}},[n,e,t]),i}function a1t({page:n,matches:e,...t}){let i=Sh(),{future:s,manifest:r,routeModules:o}=H$e(),{basename:a}=B$e(),{loaderData:l,matches:c}=i1t(),d=_.useMemo(()=>m0e(n,e,c,r,i,"data"),[n,e,c,r,i]),u=_.useMemo(()=>m0e(n,e,c,r,i,"assets"),[n,e,c,r,i]),h=_.useMemo(()=>{if(n===i.pathname+i.search+i.hash)return[];let m=new Set,p=!1;if(e.forEach(b=>{var C;let w=r.routes[b.route.id];!w||!w.hasLoader||(!d.some(S=>S.route.id===b.route.id)&&b.route.id in l&&((C=o[b.route.id])!=null&&C.shouldRevalidate)||w.hasClientLoader?p=!0:m.add(b.route.id))}),m.size===0)return[];let v=XSt(n,a,s.unstable_trailingSlashAwareDataRequests,"data");return p&&m.size>0&&v.searchParams.set("_routes",e.filter(b=>m.has(b.route.id)).map(b=>b.route.id).join(",")),[v.pathname+v.search]},[a,s.unstable_trailingSlashAwareDataRequests,l,i,r,d,e,n,o]),f=_.useMemo(()=>JSt(u,r),[u,r]),g=o1t(u);return _.createElement(_.Fragment,null,h.map(m=>_.createElement("link",{key:m,rel:"prefetch",as:"fetch",href:m,...t})),f.map(m=>_.createElement("link",{key:m,rel:"modulepreload",href:m,...t})),g.map(({key:m,link:p})=>_.createElement("link",{key:m,nonce:t.nonce,...p})))}function l1t(...n){return e=>{n.forEach(t=>{typeof t=="function"?t(e):t!=null&&(t.current=e)})}}var c1t=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{c1t&&(window.__reactRouterVersion="7.12.0")}catch{}function d1t({basename:n,children:e,unstable_useTransitions:t,window:i}){let s=_.useRef();s.current==null&&(s.current=W0t({window:i,v5Compat:!0}));let r=s.current,[o,a]=_.useState({action:r.action,location:r.location}),l=_.useCallback(c=>{t===!1?a(c):_.startTransition(()=>a(c))},[t]);return _.useLayoutEffect(()=>r.listen(l),[r,l]),_.createElement($St,{basename:n,children:e,location:o.location,navigationType:o.action,navigator:r,unstable_useTransitions:t})}var j$e=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,W$e=_.forwardRef(function({onClick:e,discover:t="render",prefetch:i="none",relative:s,reloadDocument:r,replace:o,state:a,target:l,to:c,preventScrollReset:d,viewTransition:u,unstable_defaultShouldRevalidate:h,...f},g){let{basename:m,unstable_useTransitions:p}=_.useContext(Df),v=typeof c=="string"&&j$e.test(c),b=D$e(c,m);c=b.to;let w=CSt(c,{relative:s}),[C,S,x]=s1t(i,f),k=g1t(c,{replace:o,state:a,target:l,preventScrollReset:d,relative:s,viewTransition:u,unstable_defaultShouldRevalidate:h,unstable_useTransitions:p});function L(N){e&&e(N),N.defaultPrevented||k(N)}let I=_.createElement("a",{...f,...x,href:b.absoluteURL||w,onClick:b.isExternal||r?e:L,ref:l1t(g,S),target:l,"data-discover":!v&&t==="render"?"true":void 0});return C&&!v?_.createElement(_.Fragment,null,I,_.createElement(r1t,{page:w})):I});W$e.displayName="Link";var u1t=_.forwardRef(function({"aria-current":e="page",caseSensitive:t=!1,className:i="",end:s=!1,style:r,to:o,viewTransition:a,children:l,...c},d){let u=MA(o,{relative:c.relative}),h=Sh(),f=_.useContext(D7),{navigator:g,basename:m}=_.useContext(Df),p=f!=null&&b1t(u)&&a===!0,v=g.encodeLocation?g.encodeLocation(u).pathname:u.pathname,b=h.pathname,w=f&&f.navigation&&f.navigation.location?f.navigation.location.pathname:null;t||(b=b.toLowerCase(),w=w?w.toLowerCase():null,v=v.toLowerCase()),w&&m&&(w=vv(w,m)||w);const C=v!=="/"&&v.endsWith("/")?v.length-1:v.length;let S=b===v||!s&&b.startsWith(v)&&b.charAt(C)==="/",x=w!=null&&(w===v||!s&&w.startsWith(v)&&w.charAt(v.length)==="/"),k={isActive:S,isPending:x,isTransitioning:p},L=S?e:void 0,I;typeof i=="function"?I=i(k):I=[i,S?"active":null,x?"pending":null,p?"transitioning":null].filter(Boolean).join(" ");let N=typeof r=="function"?r(k):r;return _.createElement(W$e,{...c,"aria-current":L,className:I,ref:d,style:N,to:o,viewTransition:a},typeof l=="function"?l(k):l)});u1t.displayName="NavLink";var h1t=_.forwardRef(({discover:n="render",fetcherKey:e,navigate:t,reloadDocument:i,replace:s,state:r,method:o=t3,action:a,onSubmit:l,relative:c,preventScrollReset:d,viewTransition:u,unstable_defaultShouldRevalidate:h,...f},g)=>{let{unstable_useTransitions:m}=_.useContext(Df),p=_1t(),v=v1t(a,{relative:c}),b=o.toLowerCase()==="get"?"get":"post",w=typeof a=="string"&&j$e.test(a),C=S=>{if(l&&l(S),S.defaultPrevented)return;S.preventDefault();let x=S.nativeEvent.submitter,k=(x==null?void 0:x.getAttribute("formmethod"))||o,L=()=>p(x||S.currentTarget,{fetcherKey:e,method:k,navigate:t,replace:s,state:r,relative:c,preventScrollReset:d,viewTransition:u,unstable_defaultShouldRevalidate:h});m&&t!==!1?_.startTransition(()=>L()):L()};return _.createElement("form",{ref:g,method:b,action:v,onSubmit:i?l:C,...f,"data-discover":!w&&n==="render"?"true":void 0})});h1t.displayName="Form";function f1t(n){return`${n} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function V$e(n){let e=_.useContext(UN);return ko(e,f1t(n)),e}function g1t(n,{target:e,replace:t,state:i,preventScrollReset:s,relative:r,viewTransition:o,unstable_defaultShouldRevalidate:a,unstable_useTransitions:l}={}){let c=Tf(),d=Sh(),u=MA(n,{relative:r});return _.useCallback(h=>{if(zSt(h,e)){h.preventDefault();let f=t!==void 0?t:GP(d)===GP(u),g=()=>c(n,{replace:f,state:i,preventScrollReset:s,relative:r,viewTransition:o,unstable_defaultShouldRevalidate:a});l?_.startTransition(()=>g()):g()}},[d,c,u,t,i,e,n,s,r,o,a,l])}function PA(n){Cf(typeof URLSearchParams<"u","You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let e=_.useRef(zJ(n)),t=_.useRef(!1),i=Sh(),s=_.useMemo(()=>USt(i.search,t.current?null:e.current),[i.search]),r=Tf(),o=_.useCallback((a,l)=>{const c=zJ(typeof a=="function"?a(new URLSearchParams(s)):a);t.current=!0,r("?"+c,l)},[r,s]);return[s,o]}var m1t=0,p1t=()=>`__${String(++m1t)}__`;function _1t(){let{router:n}=V$e("useSubmit"),{basename:e}=_.useContext(Df),t=PSt(),i=n.fetch,s=n.navigate;return _.useCallback(async(r,o={})=>{let{action:a,method:l,encType:c,formData:d,body:u}=GSt(r,e);if(o.navigate===!1){let h=o.fetcherKey||p1t();await i(h,t,o.action||a,{unstable_defaultShouldRevalidate:o.unstable_defaultShouldRevalidate,preventScrollReset:o.preventScrollReset,formData:d,body:u,formMethod:o.method||l,formEncType:o.encType||c,flushSync:o.flushSync})}else await s(o.action||a,{unstable_defaultShouldRevalidate:o.unstable_defaultShouldRevalidate,preventScrollReset:o.preventScrollReset,formData:d,body:u,formMethod:o.method||l,formEncType:o.encType||c,replace:o.replace,state:o.state,fromRouteId:t,flushSync:o.flushSync,viewTransition:o.viewTransition})},[i,s,e,t])}function v1t(n,{relative:e}={}){let{basename:t}=_.useContext(Df),i=_.useContext(Ip);ko(i,"useFormAction must be used inside a RouteContext");let[s]=i.matches.slice(-1),r={...MA(n||".",{relative:e})},o=Sh();if(n==null){r.search=o.search;let a=new URLSearchParams(r.search),l=a.getAll("index");if(l.some(d=>d==="")){a.delete("index"),l.filter(u=>u).forEach(u=>a.append("index",u));let d=a.toString();r.search=d?`?${d}`:""}}return(!n||n===".")&&s.route.index&&(r.search=r.search?r.search.replace(/^\?/,"?index&"):"?index"),t!=="/"&&(r.pathname=r.pathname==="/"?t:J_([t,r.pathname])),GP(r)}function b1t(n,{relative:e}={}){let t=_.useContext(R$e);ko(t!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:i}=V$e("useViewTransitionState"),s=MA(n,{relative:e});if(!t.isTransitioning)return!1;let r=vv(t.currentLocation.pathname,i)||t.currentLocation.pathname,o=vv(t.nextLocation.pathname,i)||t.nextLocation.pathname;return XP(s.pathname,o)!=null||XP(s.pathname,r)!=null}const z$e=0,U$e=1,K$e=2,p0e=3;var _0e=Object.prototype.hasOwnProperty;function UJ(n,e){var t,i;if(n===e)return!0;if(n&&e&&(t=n.constructor)===e.constructor){if(t===Date)return n.getTime()===e.getTime();if(t===RegExp)return n.toString()===e.toString();if(t===Array){if((i=n.length)===e.length)for(;i--&&UJ(n[i],e[i]););return i===-1}if(!t||typeof n=="object"){i=0;for(t in n)if(_0e.call(n,t)&&++i&&!_0e.call(e,t)||!(t in e)||!UJ(n[t],e[t]))return!1;return Object.keys(e).length===i}}return n!==n&&e!==e}const w_=new WeakMap,T_=()=>{},Gl=T_(),aH=Object,Os=n=>n===Gl,ug=n=>typeof n=="function",bv=(n,e)=>({...n,...e}),q$e=n=>ug(n.then),Mq={},I4={},_he="undefined",OA=typeof window!=_he,KJ=typeof document!=_he,y1t=OA&&"Deno"in window,w1t=()=>OA&&typeof window.requestAnimationFrame!=_he,G$e=(n,e)=>{const t=w_.get(n);return[()=>!Os(e)&&n.get(e)||Mq,i=>{if(!Os(e)){const s=n.get(e);e in I4||(I4[e]=s),t[5](e,bv(s,i),s||Mq)}},t[6],()=>!Os(e)&&e in I4?I4[e]:!Os(e)&&n.get(e)||Mq]};let qJ=!0;const C1t=()=>qJ,[GJ,XJ]=OA&&window.addEventListener?[window.addEventListener.bind(window),window.removeEventListener.bind(window)]:[T_,T_],S1t=()=>{const n=KJ&&document.visibilityState;return Os(n)||n!=="hidden"},x1t=n=>(KJ&&document.addEventListener("visibilitychange",n),GJ("focus",n),()=>{KJ&&document.removeEventListener("visibilitychange",n),XJ("focus",n)}),k1t=n=>{const e=()=>{qJ=!0,n()},t=()=>{qJ=!1};return GJ("online",e),GJ("offline",t),()=>{XJ("online",e),XJ("offline",t)}},E1t={isOnline:C1t,isVisible:S1t},L1t={initFocus:x1t,initReconnect:k1t},v0e=!ie.useId,dL=!OA||y1t,I1t=n=>w1t()?window.requestAnimationFrame(n):setTimeout(n,1),i3=dL?_.useEffect:_.useLayoutEffect,Pq=typeof navigator<"u"&&navigator.connection,b0e=!dL&&Pq&&(["slow-2g","2g"].includes(Pq.effectiveType)||Pq.saveData),N4=new WeakMap,N1t=n=>aH.prototype.toString.call(n),Oq=(n,e)=>n===`[object ${e}]`;let D1t=0;const YJ=n=>{const e=typeof n,t=N1t(n),i=Oq(t,"Date"),s=Oq(t,"RegExp"),r=Oq(t,"Object");let o,a;if(aH(n)===n&&!i&&!s){if(o=N4.get(n),o)return o;if(o=++D1t+"~",N4.set(n,o),Array.isArray(n)){for(o="@",a=0;a<n.length;a++)o+=YJ(n[a])+",";N4.set(n,o)}if(r){o="#";const l=aH.keys(n).sort();for(;!Os(a=l.pop());)Os(n[a])||(o+=a+":"+YJ(n[a])+",");N4.set(n,o)}}else o=i?n.toJSON():e=="symbol"?n.toString():e=="string"?JSON.stringify(n):""+n;return o},vhe=n=>{if(ug(n))try{n=n()}catch{n=""}const e=n;return n=typeof n=="string"?n:(Array.isArray(n)?n.length:n)?YJ(n):"",[n,e]};let T1t=0;const ZJ=()=>++T1t;async function X$e(...n){const[e,t,i,s]=n,r=bv({populateCache:!0,throwOnError:!0},typeof s=="boolean"?{revalidate:s}:s||{});let o=r.populateCache;const a=r.rollbackOnError;let l=r.optimisticData;const c=h=>typeof a=="function"?a(h):a!==!1,d=r.throwOnError;if(ug(t)){const h=t,f=[],g=e.keys();for(const m of g)!/^\$(inf|sub)\$/.test(m)&&h(e.get(m)._k)&&f.push(m);return Promise.all(f.map(u))}return u(t);async function u(h){const[f]=vhe(h);if(!f)return;const[g,m]=G$e(e,f),[p,v,b,w]=w_.get(e),C=()=>{const M=p[f];return(ug(r.revalidate)?r.revalidate(g().data,h):r.revalidate!==!1)&&(delete b[f],delete w[f],M&&M[0])?M[0](K$e).then(()=>g().data):g().data};if(n.length<3)return C();let S=i,x,k=!1;const L=ZJ();v[f]=[L,0];const I=!Os(l),N=g(),D=N.data,T=N._c,R=Os(T)?D:T;if(I&&(l=ug(l)?l(R,D):l,m({data:l,_c:R})),ug(S))try{S=S(R)}catch(M){x=M,k=!0}if(S&&q$e(S))if(S=await S.catch(M=>{x=M,k=!0}),L!==v[f][0]){if(k)throw x;return S}else k&&I&&c(x)&&(o=!0,m({data:R,_c:Gl}));if(o&&!k)if(ug(o)){const M=o(S,R);m({data:M,error:Gl,_c:Gl})}else m({data:S,error:Gl,_c:Gl});if(v[f][1]=ZJ(),Promise.resolve(C()).then(()=>{m({_c:Gl})}),k){if(d)throw x;return}return S}}const y0e=(n,e)=>{for(const t in n)n[t][0]&&n[t][0](e)},Y$e=(n,e)=>{if(!w_.has(n)){const t=bv(L1t,e),i=Object.create(null),s=X$e.bind(Gl,n);let r=T_;const o=Object.create(null),a=(d,u)=>{const h=o[d]||[];return o[d]=h,h.push(u),()=>h.splice(h.indexOf(u),1)},l=(d,u,h)=>{n.set(d,u);const f=o[d];if(f)for(const g of f)g(u,h)},c=()=>{if(!w_.has(n)&&(w_.set(n,[i,Object.create(null),Object.create(null),Object.create(null),s,l,a]),!dL)){const d=t.initFocus(setTimeout.bind(Gl,y0e.bind(Gl,i,z$e))),u=t.initReconnect(setTimeout.bind(Gl,y0e.bind(Gl,i,U$e)));r=()=>{d&&d(),u&&u(),w_.delete(n)}}};return c(),[n,s,c,r]}return[n,w_.get(n)[4]]},R1t=(n,e,t,i,s)=>{const r=t.errorRetryCount,o=s.retryCount,a=~~((Math.random()+.5)*(1<<(o<8?o:8)))*t.errorRetryInterval;!Os(r)&&o>r||setTimeout(i,a,s)},M1t=UJ,[bhe,P1t]=Y$e(new Map),Z$e=bv({onLoadingSlow:T_,onSuccess:T_,onError:T_,onErrorRetry:R1t,onDiscarded:T_,revalidateOnFocus:!0,revalidateOnReconnect:!0,revalidateIfStale:!0,shouldRetryOnError:!0,errorRetryInterval:b0e?1e4:5e3,focusThrottleInterval:5*1e3,dedupingInterval:2*1e3,loadingTimeout:b0e?5e3:3e3,compare:M1t,isPaused:()=>!1,cache:bhe,mutate:P1t,fallback:{}},E1t),Q$e=(n,e)=>{const t=bv(n,e);if(e){const{use:i,fallback:s}=n,{use:r,fallback:o}=e;i&&r&&(t.use=i.concat(r)),s&&o&&(t.fallback=bv(s,o))}return t},QJ=_.createContext({}),O1t=n=>{const{value:e}=n,t=_.useContext(QJ),i=ug(e),s=_.useMemo(()=>i?e(t):e,[i,t,e]),r=_.useMemo(()=>i?s:Q$e(t,s),[i,t,s]),o=s&&s.provider,a=_.useRef(Gl);o&&!a.current&&(a.current=Y$e(o(r.cache||bhe),s));const l=a.current;return l&&(r.cache=l[0],r.mutate=l[1]),i3(()=>{if(l)return l[2]&&l[2](),l[3]},[]),_.createElement(QJ.Provider,bv(n,{value:r}))},A1t="$inf$",J$e=OA&&window.__SWR_DEVTOOLS_USE__,F1t=J$e?window.__SWR_DEVTOOLS_USE__:[],$1t=()=>{J$e&&(window.__SWR_DEVTOOLS_REACT__=ie)},B1t=n=>ug(n[1])?[n[0],n[1],n[2]||{}]:[n[0],null,(n[1]===null?n[2]:n[1])||{}],KN=()=>{const n=_.useContext(QJ);return _.useMemo(()=>bv(Z$e,n),[n])},H1t=n=>(e,t,i)=>n(e,t&&((...r)=>{const[o]=vhe(e),[,,,a]=w_.get(bhe);if(o.startsWith(A1t))return t(...r);const l=a[o];return Os(l)?t(...r):(delete a[o],l)}),i),j1t=F1t.concat(H1t),W1t=n=>function(...t){const i=KN(),[s,r,o]=B1t(t),a=Q$e(i,o);let l=n;const{use:c}=a,d=(c||[]).concat(j1t);for(let u=d.length;u--;)l=d[u](l);return l(s,r||a.fetcher||null,a)},V1t=(n,e,t)=>{const i=e[n]||(e[n]=[]);return i.push(t),()=>{const s=i.indexOf(t);s>=0&&(i[s]=i[i.length-1],i.pop())}};$1t();const Aq=ie.use||(n=>{switch(n.status){case"pending":throw n;case"fulfilled":return n.value;case"rejected":throw n.reason;default:throw n.status="pending",n.then(e=>{n.status="fulfilled",n.value=e},e=>{n.status="rejected",n.reason=e}),n}}),Fq={dedupe:!0},w0e=Promise.resolve(Gl),z1t=(n,e,t)=>{const{cache:i,compare:s,suspense:r,fallbackData:o,revalidateOnMount:a,revalidateIfStale:l,refreshInterval:c,refreshWhenHidden:d,refreshWhenOffline:u,keepPreviousData:h,strictServerPrefetchWarning:f}=t,[g,m,p,v]=w_.get(i),[b,w]=vhe(n),C=_.useRef(!1),S=_.useRef(!1),x=_.useRef(b),k=_.useRef(e),L=_.useRef(t),I=()=>L.current,N=()=>I().isVisible()&&I().isOnline(),[D,T,R,M]=G$e(i,b),P=_.useRef({}).current,O=Os(o)?Os(t.fallback)?Gl:t.fallback[b]:o,A=(ce,ye)=>{for(const Ee in P){const xe=Ee;if(xe==="data"){if(!s(ce[xe],ye[xe])&&(!Os(ce[xe])||!s(Y,ye[xe])))return!1}else if(ye[xe]!==ce[xe])return!1}return!0},F=_.useMemo(()=>{const ce=!b||!e?!1:Os(a)?I().isPaused()||r?!1:l!==!1:a,ye=le=>{const fe=bv(le);return delete fe._k,ce?{isValidating:!0,isLoading:!0,...fe}:fe},Ee=D(),xe=M(),Se=ye(Ee),be=Ee===xe?Se:ye(xe);let Ce=Se;return[()=>{const le=ye(D());return A(le,Ce)?(Ce.data=le.data,Ce.isLoading=le.isLoading,Ce.isValidating=le.isValidating,Ce.error=le.error,Ce):(Ce=le,le)},()=>be]},[i,b]),B=DZ.useSyncExternalStore(_.useCallback(ce=>R(b,(ye,Ee)=>{A(Ee,ye)||ce()}),[i,b]),F[0],F[1]),$=!C.current,W=g[b]&&g[b].length>0,V=B.data,H=Os(V)?O&&q$e(O)?Aq(O):O:V,U=B.error,G=_.useRef(H),Y=h?Os(V)?Os(G.current)?H:G.current:V:H,K=b&&Os(H),X=!dL&&DZ.useSyncExternalStore(()=>T_,()=>!1,()=>!0);f&&X&&!r&&K&&console.warn(`Missing pre-initiated data for serialized key "${b}" during server-side rendering. Data fethcing should be initiated on the server and provided to SWR via fallback data. You can set "strictServerPrefetchWarning: false" to disable this warning.`);const J=W&&!Os(U)?!1:$&&!Os(a)?a:I().isPaused()?!1:r?Os(H)?!1:l:Os(H)||l,te=!!(b&&e&&$&&J),q=Os(B.isValidating)?te:B.isValidating,Z=Os(B.isLoading)?te:B.isLoading,oe=_.useCallback(async ce=>{const ye=k.current;if(!b||!ye||S.current||I().isPaused())return!1;let Ee,xe,Se=!0;const be=ce||{},Ce=!p[b]||!be.dedupe,le=()=>v0e?!S.current&&b===x.current&&C.current:b===x.current,fe={isValidating:!1,isLoading:!1},we=()=>{T(fe)},me=()=>{const Ae=p[b];Ae&&Ae[1]===xe&&delete p[b]},Ie={isValidating:!0};Os(D().data)&&(Ie.isLoading=!0);try{if(Ce&&(T(Ie),t.loadingTimeout&&Os(D().data)&&setTimeout(()=>{Se&&le()&&I().onLoadingSlow(b,t)},t.loadingTimeout),p[b]=[ye(w),ZJ()]),[Ee,xe]=p[b],Ee=await Ee,Ce&&setTimeout(me,t.dedupingInterval),!p[b]||p[b][1]!==xe)return Ce&&le()&&I().onDiscarded(b),!1;fe.error=Gl;const Ae=m[b];if(!Os(Ae)&&(xe<=Ae[0]||xe<=Ae[1]||Ae[1]===0))return we(),Ce&&le()&&I().onDiscarded(b),!1;const We=D().data;fe.data=s(We,Ee)?We:Ee,Ce&&le()&&I().onSuccess(Ee,b,t)}catch(Ae){me();const We=I(),{shouldRetryOnError:it}=We;We.isPaused()||(fe.error=Ae,Ce&&le()&&(We.onError(Ae,b,We),(it===!0||ug(it)&&it(Ae))&&(!I().revalidateOnFocus||!I().revalidateOnReconnect||N())&&We.onErrorRetry(Ae,b,We,je=>{const Be=g[b];Be&&Be[0]&&Be[0](p0e,je)},{retryCount:(be.retryCount||0)+1,dedupe:!0})))}return Se=!1,we(),!0},[b,i]),pe=_.useCallback((...ce)=>X$e(i,x.current,...ce),[]);if(i3(()=>{k.current=e,L.current=t,Os(V)||(G.current=V)}),i3(()=>{if(!b)return;const ce=oe.bind(Gl,Fq);let ye=0;I().revalidateOnFocus&&(ye=Date.now()+I().focusThrottleInterval);const xe=V1t(b,g,(Se,be={})=>{if(Se==z$e){const Ce=Date.now();I().revalidateOnFocus&&Ce>ye&&N()&&(ye=Ce+I().focusThrottleInterval,ce())}else if(Se==U$e)I().revalidateOnReconnect&&N()&&ce();else{if(Se==K$e)return oe();if(Se==p0e)return oe(be)}});return S.current=!1,x.current=b,C.current=!0,T({_k:w}),J&&(p[b]||(Os(H)||dL?ce():I1t(ce))),()=>{S.current=!0,xe()}},[b]),i3(()=>{let ce;function ye(){const xe=ug(c)?c(D().data):c;xe&&ce!==-1&&(ce=setTimeout(Ee,xe))}function Ee(){!D().error&&(d||I().isVisible())&&(u||I().isOnline())?oe(Fq).then(ye):ye()}return ye(),()=>{ce&&(clearTimeout(ce),ce=-1)}},[c,d,u,b]),_.useDebugValue(Y),r){if(!v0e&&dL&&K)throw new Error("Fallback data is required when using Suspense in SSR.");K&&(k.current=e,L.current=t,S.current=!1);const ce=v[b],ye=!Os(ce)&&K?pe(ce):w0e;if(Aq(ye),!Os(U)&&K)throw U;const Ee=K?oe(Fq):w0e;!Os(Y)&&K&&(Ee.status="fulfilled",Ee.value=!0),Aq(Ee)}return{mutate:pe,get data(){return P.data=!0,Y},get error(){return P.error=!0,U},get isValidating(){return P.isValidating=!0,q},get isLoading(){return P.isLoading=!0,Z}}},U1t=aH.defineProperty(O1t,"defaultValue",{value:Z$e}),hi=W1t(z1t),yhe="vf_server_base_url",whe="vf_server_connection_picker_requested",K1t=(n,e)=>(n.trim()===""?"Vibe Forge Web":n.trim()).replace(/\s+\[[^\]]+\]$/,""),q1t=()=>globalThis.__VF_PROJECT_AI_RUNTIME_ENV__,e3e=(...n)=>n.find(e=>typeof e=="string"&&e.trim()!==""),G1t=n=>{let e=(n==null?void 0:n.trim())??"/ui";return e.startsWith("/")||(e=`/${e}`),e.length>1&&e.endsWith("/")&&(e=e.slice(0,-1)),e},X1t=n=>{let e=(n==null?void 0:n.trim())??"";return e?(e.startsWith("/")||(e=`/${e}`),e):"/ws"},Y1t=n=>{const e=n==null?void 0:n.trim();if(!(e==null||e===""||e==="0.0.0.0"||e==="::"||e==="[::]"))return e},Z1t=n=>/^[a-z][a-z\d+.-]*:\/\//i.test(n),qN=()=>{try{return globalThis.localStorage}catch{return}},t3e=()=>{var n;return((n=globalThis.location)==null?void 0:n.protocol)==="https:"?"https":"http"},n3e=()=>{var n;return(n=e3e(Ww().__VF_PROJECT_AI_CLIENT_MODE__,void 0,void 0))==null?void 0:n.trim().toLowerCase()},wd=n=>{const e=(n==null?void 0:n.trim())??"";if(e==="")return;const t=Z1t(e)?e:`${t3e()}://${e}`;try{const i=new URL(t);return i.protocol!=="http:"&&i.protocol!=="https:"?void 0:(i.hash="",i.search="",i.toString().replace(/\/$/,""))}catch{return}},i3e=(n,e)=>{const t=wd(n);if(t==null)throw new Error("Invalid server base URL");const i=e.replace(/^\/+/,"");return new URL(i,`${t}/`).toString()},s3e=()=>{var n;return wd(((n=qN())==null?void 0:n.getItem(yhe))??void 0)},Q1t=n=>{var t;const e=wd(n);if(e!=null)return(t=qN())==null||t.setItem(yhe,e),e},J1t=()=>{var n;(n=qN())==null||n.removeItem(yhe)},ext=()=>n3e()==="desktop",R7=()=>{const n=n3e();return n==="standalone"||n==="independent"||n==="desktop"},Ww=()=>q1t()??{},txt=(...n)=>G1t(e3e(...n)),Che=()=>txt(Ww().__VF_PROJECT_AI_CLIENT_BASE__,void 0,"/__VF_PROJECT_AI_CLIENT_BASE__/","/ui"),r3e=()=>Y1t(Ww().__VF_PROJECT_AI_SERVER_HOST__??void 0),o3e=()=>Ww().__VF_PROJECT_AI_SERVER_PORT__??void 0,a3e=()=>{var i;const n=wd(Ww().__VF_PROJECT_AI_SERVER_BASE_URL__??void 0);if(n!=null)return n;const e=r3e(),t=(i=o3e())==null?void 0:i.trim();if(!(e==null||t==null||t===""))return wd(`${e}:${t}`)},nxt=()=>{var n;return((n=qN())==null?void 0:n.getItem(whe))==="true"},l3e=({clearCurrentServer:n=!1}={})=>{var e;n&&J1t(),(e=qN())==null||e.setItem(whe,"true")},ixt=()=>{var n;(n=qN())==null||n.removeItem(whe)},sxt=()=>X1t(Ww().__VF_PROJECT_AI_SERVER_WS_PATH__??void 0),AA=()=>{var i;if(R7()){const s=s3e();if(s!=null)return s}const n=a3e();if(n!=null)return n;const e=r3e()??((i=globalThis.location)==null?void 0:i.hostname)??"localhost",t=o3e()??"8787";return wd(`${e}:${t}`)??`${t3e()}://localhost:8787`},c3e=n=>i3e(AA(),n),d3e="vf_server_base_url_history",u3e=()=>{try{return globalThis.localStorage}catch{return}},ey=n=>{const e=typeof n=="string"?n.trim():"";return e===""?void 0:e},rxt=(n,e)=>{if(typeof n=="string"){const d=wd(n);return d==null?void 0:{serverUrl:d,createdAt:e,lastConnectedAt:e}}if(n==null||typeof n!="object"||Array.isArray(n))return;const t=n,i=wd(t.serverUrl);if(i==null)return;const s=typeof t.createdAt=="number"?t.createdAt:e,r=typeof t.lastConnectedAt=="number"?t.lastConnectedAt:s,o=ey(t.alias),a=ey(t.description),l=ey(t.authToken),c=ey(t.serverVersion);return{serverUrl:i,createdAt:s,lastConnectedAt:r,...o!=null?{alias:o}:{},...a!=null?{description:a}:{},...l!=null?{authToken:l}:{},...c!=null?{serverVersion:c}:{}}},h3e=n=>[...n].sort((e,t)=>t.lastConnectedAt-e.lastConnectedAt),FA=n=>{var t;const e=h3e(n);return(t=u3e())==null||t.setItem(d3e,JSON.stringify(e)),e},hp=()=>{var e;const n=(e=u3e())==null?void 0:e.getItem(d3e);if(n==null||n.trim()==="")return[];try{const t=JSON.parse(n);if(!Array.isArray(t))return[];const i=new Map,s=Date.now();for(const r of t){const o=rxt(r,s);o==null||i.has(o.serverUrl)||i.set(o.serverUrl,o)}return h3e(Array.from(i.values()))}catch{return[]}},JJ=(n,e={})=>{const t=wd(n);if(t==null)return hp();const i=Date.now(),s=hp(),r=s.find(a=>a.serverUrl===t),o={...r,serverUrl:t,createdAt:(r==null?void 0:r.createdAt)??i,lastConnectedAt:i,...ey(e.serverVersion)!=null?{serverVersion:ey(e.serverVersion)}:{}};return FA([o,...s.filter(a=>a.serverUrl!==t)])},f3e=(n,e)=>{const t=wd(n);if(t==null)return hp();const i=Date.now(),s=hp(),r=s.find(u=>u.serverUrl===t),o=ey(e.alias),a=ey(e.description),{alias:l,description:c,...d}=r??{};return FA([{...d,serverUrl:t,createdAt:(r==null?void 0:r.createdAt)??i,lastConnectedAt:(r==null?void 0:r.lastConnectedAt)??i,...o!=null?{alias:o}:{},...a!=null?{description:a}:{}},...s.filter(u=>u.serverUrl!==t)])},oxt=n=>{const e=wd(n);return e==null?hp():FA(hp().filter(t=>t.serverUrl!==e))},axt=n=>{var e;return(e=hp().find(t=>t.serverUrl===wd(n)))==null?void 0:e.authToken},g3e=(n,e)=>{const t=e.trim();if(t==="")return;const i=JJ(n),s=wd(n);FA(i.map(r=>r.serverUrl===s?{...r,authToken:t}:r))},m3e=n=>{const e=wd(n);return e==null?hp():FA(hp().map(t=>{if(t.serverUrl!==e)return t;const{authToken:i,...s}=t;return s}))},lH="vf_auth_token",cH=()=>{try{return globalThis.localStorage}catch{return}},p3e=()=>{var i,s,r,o;const n=AA(),e=(i=axt(n))==null?void 0:i.trim();if(e!=null&&e!=="")return e;const t=(r=(s=cH())==null?void 0:s.getItem(lH))==null?void 0:r.trim();if(!(t==null||t===""))return g3e(n,t),(o=cH())==null||o.removeItem(lH),t},lxt=n=>{var t;const e=n.trim();e!==""&&(g3e(AA(),e),(t=cH())==null||t.removeItem(lH))},_3e=()=>{var n;m3e(AA()),(n=cH())==null||n.removeItem(lH)},cxt=n=>{const e=p3e();e==null||n.has("Authorization")||n.set("Authorization",`Bearer ${e}`)},Wo={"Content-Type":"application/json"},dxt=()=>new URL(v3e()).hostname,uxt=()=>{const{port:n,protocol:e}=new URL(v3e());return n!==""?n:e==="https:"?"443":"80"},v3e=()=>AA(),She=n=>n.startsWith("http://")||n.startsWith("https://")?n:c3e(n),Al=n=>new URL(She(n));class C0 extends Error{constructor(t,i){super(i.message);lt(this,"status");lt(this,"code");lt(this,"details");this.name="ApiError",this.status=t,this.code=i.code,this.details=i.details}}const dH=n=>n!=null&&typeof n=="object"&&!Array.isArray(n),hxt=n=>dH(n)&&n.success===!0&&"data"in n,b3e=n=>dH(n)&&n.success===!1&&dH(n.error)&&typeof n.error.message=="string"&&typeof n.error.code=="string",fxt=async n=>{const e=await n.text();if(e.trim()==="")return null;try{return JSON.parse(e)}catch{return e}},gxt=(n,e,t)=>{if(b3e(e))return new C0(n,e.error);if(dH(e)){const i=typeof e.error=="string"?e.error:typeof e.message=="string"?e.message:t,s=typeof e.code=="string"?e.code:"request_failed";return new C0(n,{code:s,message:i,...e.details!==void 0?{details:e.details}:{}})}return typeof e=="string"&&e.trim()!==""?new C0(n,{code:"request_failed",message:e}):new C0(n,{code:"request_failed",message:t})},y3e=async(n,e)=>{const t=await fxt(n);if(!n.ok){const i=e??`Request failed with status ${n.status}`,s=gxt(n.status,t,i);throw console.error(e??"[api] request failed",n.status,s.message,s.details),s}if(b3e(t))throw new C0(n.status,t.error);return hxt(t)?t.data:t},Oi=(n,e)=>n instanceof C0&&n.message.trim()!==""||n instanceof Error&&n.message.trim()!==""?n.message:e,w3e=n=>{const e=new Headers(n==null?void 0:n.headers);return cxt(e),{...n,credentials:(n==null?void 0:n.credentials)??"include",headers:e}};async function Vn(n,e){const t=typeof n=="string"?She(n):n.toString(),i=await fetch(t,w3e(e));return y3e(i)}async function $A(n,e,t){const i=typeof n=="string"?She(n):n.toString(),s=await fetch(i,w3e(e));return y3e(s,t)}const mxt=n=>{const e=n.trim(),t=e.startsWith("/")?e:`/${e}`;return t.endsWith("/")?t:`${t}/`},pxt=n=>{const e=mxt(n);return{scope:e,url:`${e}sw.js`}},_xt=n=>{if(!("serviceWorker"in navigator))return;const e=pxt(n.clientBase);window.addEventListener("load",()=>{navigator.serviceWorker.register(e.url,{scope:e.scope}).catch(t=>{console.warn("[pwa] service worker registration failed",t)})})},vxt=80,bxt=["input","textarea","select",'[contenteditable="true"]','[role="textbox"]'].join(","),$q=()=>globalThis.visualViewport,C3e=()=>{const n=document.activeElement;if(n instanceof HTMLElement)return n.matches(bxt)?n:void 0},yxt=()=>{const n=C3e();n!=null&&n.scrollIntoView({block:"center",inline:"nearest",behavior:"auto"})},wxt=()=>{var i,s;if(typeof window>"u")return;let n=0;const e=()=>{const r=$q(),o=(r==null?void 0:r.height)??window.innerHeight,a=(r==null?void 0:r.offsetTop)??0,l=C3e(),c=r==null||l==null?0:Math.max(0,window.innerHeight-o-a);document.documentElement.style.setProperty("--vf-visual-viewport-height",`${Math.round(o)}px`),document.documentElement.style.setProperty("--vf-keyboard-inset-bottom",`${Math.round(c)}px`),document.documentElement.classList.toggle("has-mobile-keyboard",c>vxt)},t=()=>{window.cancelAnimationFrame(n),n=window.requestAnimationFrame(()=>{e(),yxt()})};e(),(i=$q())==null||i.addEventListener("resize",t),(s=$q())==null||s.addEventListener("scroll",t),window.addEventListener("resize",t),window.addEventListener("orientationchange",t),document.addEventListener("focusin",t),document.addEventListener("focusout",()=>{window.setTimeout(e,120)})},S3e=()=>Vn("/api/auth/status"),Cxt=n=>$A("/api/auth/login",{method:"POST",headers:Wo,body:JSON.stringify(n)},"[api] login failed:"),Sxt=async()=>{const n=await $A("/api/auth/logout",{method:"POST",headers:Wo},"[api] logout failed:");return _3e(),n};function xxt({children:n}){const{t:e}=vt(),{data:t,error:i,isLoading:s,mutate:r}=hi("/api/auth/status",S3e),[o,a]=_.useState(null),[l,c]=_.useState(!1),d=(t==null?void 0:t.usernames[0])??"admin",u=R7(),h=()=>{l3e({clearCurrentServer:!0}),window.location.reload()};if(s)return y.jsx("div",{className:"auth-gate auth-gate--loading",children:y.jsx(Ya,{size:"large"})});if(i!=null)return y.jsx("div",{className:"auth-gate",children:y.jsxs("div",{className:"auth-gate__panel",children:[y.jsx(UB,{type:"error",showIcon:!0,message:e("auth.statusFailed"),description:Oi(i,e("auth.statusFailed"))}),u&&y.jsx(qe,{className:"auth-gate__secondary-action",htmlType:"button",onClick:h,block:!0,children:e("auth.changeServer")})]})});if(t==null||!t.enabled||t.authenticated)return n;const f=async g=>{var m;c(!0),a(null);try{const p=await Cxt({username:((m=g.username)==null?void 0:m.trim())??"",password:g.password??"",rememberDevice:g.rememberDevice===!0,returnToken:u});p.token!=null&&lxt(p.token),await r(p,{revalidate:!1})}catch(p){a(Oi(p,e("auth.loginFailed")))}finally{c(!1)}};return y.jsx("div",{className:"auth-gate",children:y.jsxs("main",{className:"auth-gate__panel","aria-labelledby":"auth-gate-title",children:[y.jsxs("div",{className:"auth-gate__intro",children:[y.jsx("h1",{id:"auth-gate-title",children:e("auth.title")}),y.jsx("p",{children:e("auth.subtitle")})]}),o!=null&&y.jsx(UB,{type:"error",showIcon:!0,className:"auth-gate__notice",message:o}),y.jsxs(zn,{layout:"vertical",requiredMark:!1,initialValues:{username:d,rememberDevice:!0},onFinish:g=>void f(g),children:[y.jsx(zn.Item,{name:"username",label:e("auth.username"),rules:[{required:!0,message:e("auth.usernameRequired")}],children:y.jsx(yn,{autoComplete:"username",size:"large",placeholder:e("auth.usernamePlaceholder")})}),y.jsx(zn.Item,{name:"password",label:e("auth.password"),rules:[{required:!0,message:e("auth.passwordRequired")}],children:y.jsx(yn.Password,{autoComplete:"current-password",size:"large",placeholder:e("auth.passwordPlaceholder")})}),y.jsx(zn.Item,{name:"rememberDevice",valuePropName:"checked",className:"auth-gate__remember",children:y.jsx(Og,{children:e("auth.rememberDevice")})}),t.passwordSource==="generated"&&y.jsx("p",{className:"auth-gate__hint",children:e("auth.generatedPasswordHint",{path:t.passwordFilePath??".data/web-auth-password"})}),y.jsx(qe,{type:"primary",htmlType:"submit",size:"large",loading:l,block:!0,children:e("auth.login")}),u&&y.jsx(qe,{className:"auth-gate__secondary-action",htmlType:"button",onClick:h,block:!0,children:e("auth.changeServer")})]})]})})}const R_={BASE_URL:"/__VF_PROJECT_AI_CLIENT_BASE__/",DEV:!1,MODE:"production",PROD:!0,SSR:!1,__VF_PROJECT_AI_CLIENT_COMMIT_HASH__:"54a4969a52fc0d18398e4be66e7a37af9f4aae63",__VF_PROJECT_AI_CLIENT_VERSION__:"3.0.0-alpha.5",__VF_PROJECT_AI_DEV_GIT_REF__:""};function x3e(n){return"init"in n}function eee(n){return!!n.write}function C0e(n){return"v"in n||"e"in n}function uH(n){if("e"in n)throw n.e;if((R_?"production":void 0)!=="production"&&!("v"in n))throw new Error("[Bug] atom state is not initialized");return n.v}const hH=new WeakMap;function k3e(n){var e;return fH(n)&&!!((e=hH.get(n))!=null&&e[0])}function kxt(n){const e=hH.get(n);e!=null&&e[0]&&(e[0]=!1,e[1].forEach(t=>t()))}function tee(n,e){let t=hH.get(n);if(!t){t=[!0,new Set],hH.set(n,t);const i=()=>{t[0]=!1};n.then(i,i)}t[1].add(e)}function fH(n){return typeof(n==null?void 0:n.then)=="function"}function E3e(n,e,t){if(!t.p.has(n)){t.p.add(n);const i=()=>t.p.delete(n);e.then(i,i)}}function L3e(n,e,t){var i;const s=new Set;for(const r of((i=t.get(n))==null?void 0:i.t)||[])s.add(r);for(const r of e.p)s.add(r);return s}const Ext=(n,e,...t)=>e.read(...t),Lxt=(n,e,...t)=>e.write(...t),Ixt=(n,e)=>{if(e.INTERNAL_onInit)return e.INTERNAL_onInit(n);if(e.unstable_onInit)return console.warn("[DEPRECATED] atom.unstable_onInit is renamed to atom.INTERNAL_onInit."),e.unstable_onInit(n)},Nxt=(n,e,t)=>{var i;return(i=e.onMount)==null?void 0:i.call(e,t)},Dxt=(n,e)=>{var t;const i=Oc(n),s=i[0],r=i[6],o=i[9];if((R_?"production":void 0)!=="production"&&!e)throw new Error("Atom is undefined or null");let a=s.get(e);return a||(a={d:new Map,p:new Set,n:0},s.set(e,a),(t=r.i)==null||t.call(r,e),o==null||o(n,e)),a},Txt=n=>{const e=Oc(n),t=e[1],i=e[3],s=e[4],r=e[5],o=e[6],a=e[13],l=[],c=d=>{try{d()}catch(u){l.push(u)}};do{o.f&&c(o.f);const d=new Set,u=d.add.bind(d);i.forEach(h=>{var f;return(f=t.get(h))==null?void 0:f.l.forEach(u)}),i.clear(),r.forEach(u),r.clear(),s.forEach(u),s.clear(),d.forEach(c),i.size&&a(n)}while(i.size||r.size||s.size);if(l.length)throw new AggregateError(l)},Rxt=n=>{const e=Oc(n),t=e[1],i=e[2],s=e[3],r=e[11],o=e[14],a=e[17],l=[],c=new WeakSet,d=new WeakSet,u=Array.from(s);for(;u.length;){const h=u[u.length-1],f=r(n,h);if(d.has(h)){u.pop();continue}if(c.has(h)){if(i.get(h)===f.n)l.push([h,f]);else if((R_?"production":void 0)!=="production"&&i.has(h))throw new Error("[Bug] invalidated atom exists");d.add(h),u.pop();continue}c.add(h);for(const g of L3e(h,f,t))c.has(g)||u.push(g)}for(let h=l.length-1;h>=0;--h){const[f,g]=l[h];let m=!1;for(const p of g.d.keys())if(p!==f&&s.has(p)){m=!0;break}m&&(o(n,f),a(n,f)),i.delete(f)}},nee=new WeakSet,Mxt=(n,e)=>{var t,i;const s=Oc(n),r=s[1],o=s[2],a=s[3],l=s[6],c=s[7],d=s[11],u=s[12],h=s[13],f=s[14],g=s[16],m=s[17],p=s[20],v=d(n,e);if(C0e(v)){if(r.has(e)&&o.get(e)!==v.n)return v;let I=!1;for(const[N,D]of v.d)if(f(n,N).n!==D){I=!0;break}if(!I)return v}v.d.clear();let b=!0;function w(){r.has(e)&&(m(n,e),h(n),u(n))}function C(I){var N;if(I===e){const T=d(n,I);if(!C0e(T))if(x3e(I))p(n,I,I.init);else throw new Error("no atom init");return uH(T)}const D=f(n,I);try{return uH(D)}finally{v.d.set(I,D.n),k3e(v.v)&&E3e(e,v.v,D),r.has(e)&&((N=r.get(I))==null||N.t.add(e)),b||w()}}let S,x;const k={get signal(){return S||(S=new AbortController),S.signal},get setSelf(){return(R_?"production":void 0)!=="production"&&!eee(e)&&console.warn("setSelf function cannot be used with read-only atom"),!x&&eee(e)&&(x=(...I)=>{if((R_?"production":void 0)!=="production"&&b&&console.warn("setSelf function cannot be called in sync"),!b)try{return g(n,e,...I)}finally{h(n),u(n)}}),x}},L=v.n;try{(R_?"production":void 0)!=="production"&&nee.delete(n);const I=c(n,e,C,k);return(R_?"production":void 0)!=="production"&&nee.has(n)&&console.warn("Detected store mutation during atom read. This is not supported."),p(n,e,I),fH(I)&&(tee(I,()=>S==null?void 0:S.abort()),I.then(w,w)),(t=l.r)==null||t.call(l,e),v}catch(I){return delete v.v,v.e=I,++v.n,v}finally{b=!1,L!==v.n&&o.get(e)===L&&(o.set(e,v.n),a.add(e),(i=l.c)==null||i.call(l,e))}},Pxt=(n,e)=>{const t=Oc(n),i=t[1],s=t[2],r=t[11],o=[e];for(;o.length;){const a=o.pop(),l=r(n,a);for(const c of L3e(a,l,i)){const d=r(n,c);s.set(c,d.n),o.push(c)}}},Oxt=(n,e,...t)=>{const i=Oc(n),s=i[3],r=i[6],o=i[8],a=i[11],l=i[12],c=i[13],d=i[14],u=i[15],h=i[16],f=i[17],g=i[20];let m=!0;const p=b=>uH(d(n,b)),v=(b,...w)=>{var C;const S=a(n,b);try{if(b===e){if(!x3e(b))throw new Error("atom not writable");(R_?"production":void 0)!=="production"&&nee.add(n);const x=S.n,k=w[0];g(n,b,k),f(n,b),x!==S.n&&(s.add(b),u(n,b),(C=r.c)==null||C.call(r,b));return}else return h(n,b,...w)}finally{m||(c(n),l(n))}};try{return o(n,e,p,v,...t)}finally{m=!1}},Axt=(n,e)=>{var t;const i=Oc(n),s=i[1],r=i[3],o=i[6],a=i[11],l=i[15],c=i[18],d=i[19],u=a(n,e),h=s.get(e);if(h&&!k3e(u.v)){for(const[f,g]of u.d)if(!h.d.has(f)){const m=a(n,f);c(n,f).t.add(e),h.d.add(f),g!==m.n&&(r.add(f),l(n,f),(t=o.c)==null||t.call(o,f))}for(const f of h.d)if(!u.d.has(f)){h.d.delete(f);const g=d(n,f);g==null||g.t.delete(e)}}},Fxt=(n,e)=>{var t;const i=Oc(n),s=i[1],r=i[4],o=i[6],a=i[10],l=i[11],c=i[12],d=i[13],u=i[14],h=i[16],f=i[18],g=l(n,e);let m=s.get(e);if(!m){u(n,e);for(const p of g.d.keys())f(n,p).t.add(e);if(m={l:new Set,d:new Set(g.d.keys()),t:new Set},s.set(e,m),eee(e)){const p=()=>{let v=!0;const b=(...w)=>{try{return h(n,e,...w)}finally{v||(d(n),c(n))}};try{const w=a(n,e,b);w&&(m.u=()=>{v=!0;try{w()}finally{v=!1}})}finally{v=!1}};r.add(p)}(t=o.m)==null||t.call(o,e)}return m},$xt=(n,e)=>{var t,i;const s=Oc(n),r=s[1],o=s[5],a=s[6],l=s[11],c=s[19],d=l(n,e);let u=r.get(e);if(!u||u.l.size)return u;let h=!1;for(const f of u.t)if((t=r.get(f))!=null&&t.d.has(e)){h=!0;break}if(!h){u.u&&o.add(u.u),u=void 0,r.delete(e);for(const f of d.d.keys()){const g=c(n,f);g==null||g.t.delete(e)}(i=a.u)==null||i.call(a,e);return}return u},Bxt=(n,e,t)=>{const i=Oc(n)[11],s=i(n,e),r="v"in s,o=s.v;if(fH(t))for(const a of s.d.keys())E3e(e,t,i(n,a));s.v=t,delete s.e,(!r||!Object.is(o,s.v))&&(++s.n,fH(o)&&kxt(o))},Hxt=(n,e)=>{const t=Oc(n)[14];return uH(t(n,e))},jxt=(n,e,...t)=>{const i=Oc(n),s=i[12],r=i[13],o=i[16];try{return o(n,e,...t)}finally{r(n),s(n)}},Wxt=(n,e,t)=>{const i=Oc(n),s=i[12],r=i[18],o=i[19],l=r(n,e).l;return l.add(t),s(n),()=>{l.delete(t),o(n,e),s(n)}},I3e=new WeakMap,Oc=n=>{const e=I3e.get(n);if((R_?"production":void 0)!=="production"&&!e)throw new Error("Store must be created by buildStore to read its building blocks");return e};function Vxt(...n){const e={get(i){const s=Oc(e)[21];return s(e,i)},set(i,...s){const r=Oc(e)[22];return r(e,i,...s)},sub(i,s){const r=Oc(e)[23];return r(e,i,s)}},t=[new WeakMap,new WeakMap,new WeakMap,new Set,new Set,new Set,{},Ext,Lxt,Ixt,Nxt,Dxt,Txt,Rxt,Mxt,Pxt,Oxt,Axt,Fxt,$xt,Bxt,Hxt,jxt,Wxt,void 0].map((i,s)=>n[s]||i);return I3e.set(e,Object.freeze(t)),e}const N3e={};let zxt=0;function bu(n,e){const t=`atom${++zxt}`,i={toString(){return(N3e?"production":void 0)!=="production"&&this.debugLabel?t+":"+this.debugLabel:t}};return typeof n=="function"?i.read=n:(i.init=n,i.read=Uxt,i.write=Kxt),e&&(i.write=e),i}function Uxt(n){return n(this)}function Kxt(n,e,t){return e(this,typeof t=="function"?t(n(this)):t)}function qxt(){return Vxt()}let UD;function Gxt(){return UD||(UD=qxt(),(N3e?"production":void 0)!=="production"&&(globalThis.__JOTAI_DEFAULT_STORE__||(globalThis.__JOTAI_DEFAULT_STORE__=UD),globalThis.__JOTAI_DEFAULT_STORE__!==UD&&console.warn("Detected multiple Jotai instances. It may cause unexpected behavior with the default store. https://github.com/pmndrs/jotai/discussions/2044"))),UD}const Xxt={},Yxt=_.createContext(void 0);function D3e(n){return _.useContext(Yxt)||Gxt()}const iee=n=>typeof(n==null?void 0:n.then)=="function",see=n=>{n.status||(n.status="pending",n.then(e=>{n.status="fulfilled",n.value=e},e=>{n.status="rejected",n.reason=e}))},Zxt=ie.use||(n=>{if(n.status==="pending")throw n;if(n.status==="fulfilled")return n.value;throw n.status==="rejected"?n.reason:(see(n),n)}),Bq=new WeakMap,S0e=(n,e)=>{let t=Bq.get(n);return t||(t=new Promise((i,s)=>{let r=n;const o=c=>d=>{r===c&&i(d)},a=c=>d=>{r===c&&s(d)},l=()=>{try{const c=e();iee(c)?(Bq.set(c,t),r=c,c.then(o(c),a(c)),tee(c,l)):i(c)}catch(c){s(c)}};n.then(o(n),a(n)),tee(n,l)}),Bq.set(n,t)),t};function yu(n,e){const{delay:t,unstable_promiseStatus:i=!ie.use}={},s=D3e(),[[r,o,a],l]=_.useReducer(d=>{const u=s.get(n);return Object.is(d[0],u)&&d[1]===s&&d[2]===n?d:[u,s,n]},void 0,()=>[s.get(n),s,n]);let c=r;if((o!==s||a!==n)&&(l(),c=s.get(n)),_.useEffect(()=>{const d=s.sub(n,()=>{if(i)try{const u=s.get(n);iee(u)&&see(S0e(u,()=>s.get(n)))}catch{}if(typeof t=="number"){setTimeout(l,t);return}l()});return l(),d},[s,n,t,i]),_.useDebugValue(c),iee(c)){const d=S0e(c,()=>s.get(n));return i&&see(d),Zxt(d)}return c}function BA(n,e){const t=D3e();return _.useCallback((...s)=>{if((Xxt?"production":void 0)!=="production"&&!("write"in n))throw new Error("not writable atom");return t.set(n,...s)},[t,n])}function Hb(n,e){return[yu(n),BA(n)]}const T3e="(max-width: 960px)",R3e="(hover: none), (pointer: coarse)",M3e={isCompactLayout:!1,isTouchInteraction:!1},s3=new Set;let uL=null,hL=null,fL=M3e,Hq=!1,XT=null;const x0e=n=>typeof window>"u"||typeof window.matchMedia!="function"?!1:window.matchMedia(n).matches,P3e=()=>({isCompactLayout:(uL==null?void 0:uL.matches)??x0e(T3e),isTouchInteraction:(hL==null?void 0:hL.matches)??x0e(R3e)}),O3e=(n,e)=>n.isCompactLayout===e.isCompactLayout&&n.isTouchInteraction===e.isTouchInteraction,A3e=()=>{const n=P3e();return O3e(fL,n)||(fL=n),fL},k0e=()=>{const n=P3e();O3e(fL,n)||(fL=n,s3.forEach(e=>e()))},E0e=(n,e)=>typeof n.addEventListener=="function"?(n.addEventListener("change",e),()=>n.removeEventListener("change",e)):(n.addListener(e),()=>n.removeListener(e)),Qxt=()=>{if(Hq||typeof window>"u"||typeof window.matchMedia!="function")return;uL=window.matchMedia(T3e),hL=window.matchMedia(R3e),fL=A3e();const n=E0e(uL,k0e),e=E0e(hL,k0e);XT=()=>{n(),e(),uL=null,hL=null,Hq=!1},Hq=!0},Jxt=n=>(Qxt(),s3.add(n),()=>{s3.delete(n),s3.size===0&&(XT==null||XT(),XT=null)}),ekt=()=>A3e();function Lr(){return _.useSyncExternalStore(Jxt,ekt,()=>M3e)}const tkt=bu(Number(localStorage.getItem("sidebarWidth"))||300),F3e=bu(!1),$3e=bu(!1),B3e=bu(!1);bu(void 0);const H3e="theme",j3e=n=>n==="light"||n==="dark"||n==="system",nkt=()=>{try{const n=localStorage.getItem(H3e);if(n!=null&&j3e(n))return n}catch{}return"system"},L0e=bu(nkt()),M7=bu(n=>n(L0e),(n,e,t)=>{const i=j3e(t)?t:"system";e(L0e,i);try{localStorage.setItem(H3e,i)}catch{}}),ikt=(n,e)=>{try{const t=localStorage.getItem(n);if(t==="true")return!0;if(t==="false")return!1}catch{}return e},W3e=(n,e)=>{const t=bu(ikt(n,e));return bu(i=>i(t),(i,s,r)=>{const o=r===!0;s(t,o);try{localStorage.setItem(n,String(o))}catch{}})},skt=(n,e)=>{try{const t=localStorage.getItem(n);if(t==null||t.trim()==="")return e;const i=Number(t);if(Number.isInteger(i)&&i>=0)return i}catch{}return e},rkt=(n,e)=>{const t=bu(skt(n,e));return bu(i=>i(t),(i,s,r)=>{const o=Number.isInteger(r)&&r>=0?r:e;s(t,o);try{localStorage.setItem(n,String(o))}catch{}})},V3e="vf_sender_header_default_display",z3e=n=>n==="expanded"||n==="collapsed",okt=()=>{try{const n=localStorage.getItem(V3e);if(n!=null&&z3e(n))return n}catch{}return"expanded"},I0e=bu(okt()),U3e=bu(n=>n(I0e),(n,e,t)=>{const i=z3e(t)?t:"expanded";e(I0e,i);try{localStorage.setItem(V3e,i)}catch{}}),akt="vf_show_announcements",lkt="vf_show_new_session_starter_list",ckt="vf_session_list_search_threshold",dkt=5,K3e=W3e(akt,!0),q3e=W3e(lkt,!0),G3e=rkt(ckt,dkt);function ukt({actions:n,isOpen:e,languageActions:t,languageLabel:i,moreLabel:s,onClose:r,themeActions:o,themeLabel:a}){var u,h;const l=((u=t.find(f=>f.active))==null?void 0:u.key)??((h=t[0])==null?void 0:h.key)??"",c=f=>{f.onSelect(),r()},d=f=>{f.onSelect()};return y.jsxs(y.Fragment,{children:[y.jsx("button",{type:"button",className:`nav-rail-compact-sheet-backdrop ${e?"is-open":""}`,"aria-hidden":!e,tabIndex:-1,onClick:r}),y.jsxs("div",{className:`nav-rail-compact-sheet ${e?"is-open":""}`,role:"dialog","aria-modal":e?"true":void 0,"aria-hidden":!e,"aria-label":s,children:[y.jsx("div",{className:"nav-rail-compact-sheet__handle"}),n.length>0&&y.jsxs("div",{className:"nav-rail-compact-sheet__section",children:[y.jsxs("div",{className:"nav-rail-compact-sheet__section-title",children:[y.jsx("span",{className:"material-symbols-rounded nav-rail-compact-sheet__section-title-icon",children:"tune"}),y.jsx("span",{children:s})]}),y.jsx("div",{className:"nav-rail-compact-sheet__actions",children:n.map(f=>y.jsxs("button",{type:"button",className:`nav-rail-compact-sheet__action ${f.active?"is-active":""}`,onClick:()=>c(f),children:[y.jsx("span",{className:"material-symbols-rounded",children:f.icon}),y.jsx("span",{children:f.label})]},f.key))})]}),y.jsxs("div",{className:"nav-rail-compact-sheet__section",children:[y.jsxs("div",{className:"nav-rail-compact-sheet__section-title",children:[y.jsx("span",{className:"material-symbols-rounded nav-rail-compact-sheet__section-title-icon",children:"palette"}),y.jsx("span",{children:a})]}),y.jsx("div",{className:"nav-rail-compact-sheet__segmented",children:o.map(f=>y.jsxs("button",{type:"button",className:`nav-rail-compact-sheet__segment ${f.active?"is-active":""}`,onClick:()=>d(f),children:[f.icon!=null&&y.jsx("span",{className:"material-symbols-rounded nav-rail-compact-sheet__segment-icon",children:f.icon}),y.jsx("span",{children:f.label})]},f.key))})]}),y.jsxs("div",{className:"nav-rail-compact-sheet__section",children:[y.jsxs("div",{className:"nav-rail-compact-sheet__section-title",children:[y.jsx("span",{className:"material-symbols-rounded nav-rail-compact-sheet__section-title-icon",children:"language"}),y.jsx("span",{children:i})]}),y.jsxs("label",{className:"nav-rail-compact-sheet__select-shell",children:[y.jsx("span",{className:"material-symbols-rounded nav-rail-compact-sheet__select-icon",children:"translate"}),y.jsx("select",{className:"nav-rail-compact-sheet__select",value:l,"aria-label":i,onChange:f=>{const g=t.find(m=>m.key===f.target.value);g!=null&&d(g)},children:t.map(f=>y.jsx("option",{value:f.key,children:f.label},f.key))}),y.jsx("span",{className:"material-symbols-rounded nav-rail-compact-sheet__select-chevron",children:"expand_more"})]})]})]})]})}function hkt({ariaHidden:n=!1,currentPath:e,languageActions:t,languageLabel:i,moreLabel:s,moreSheetActions:r,navItems:o,themeActions:a,themeLabel:l,onNavClick:c}){const[d,u]=_.useState(!1);return _.useEffect(()=>{u(!1)},[e]),_.useEffect(()=>{n&&u(!1)},[n]),y.jsxs("div",{className:"nav-rail nav-rail--compact","aria-hidden":n||void 0,children:[y.jsxs("div",{className:"nav-rail-compact-list",children:[o.map(h=>y.jsx(qe,{type:"text",className:`nav-item nav-item--compact ${h.active?"active":""}`,title:h.label,"aria-label":h.label,onClick:()=>{u(!1),c(h.key,h.path)},icon:y.jsx("span",{className:"material-symbols-rounded",children:h.icon})},h.key)),y.jsx(qe,{type:"text",className:`nav-item nav-item--compact ${d||e==="/config"?"active":""}`,title:s,"aria-expanded":d,"aria-haspopup":"dialog","aria-label":s,onClick:()=>u(h=>!h),icon:y.jsx("span",{className:"material-symbols-rounded",children:"more_horiz"})})]}),y.jsx(ukt,{actions:r,isOpen:d,languageActions:t,languageLabel:i,moreLabel:s,onClose:()=>u(!1),themeActions:a,themeLabel:l})]})}function fkt(){const{t:n}=vt(),{message:e}=ar.useApp(),{mutate:t}=KN(),{data:i}=hi("/api/auth/status",S3e),s=R7(),r=(i==null?void 0:i.enabled)===!0,o=ie.useCallback(async()=>{try{await t("/api/auth/status")}catch{}},[t]),a=ie.useCallback(()=>{l3e({clearCurrentServer:!0}),window.location.reload()},[]),l=ie.useCallback(async()=>{try{await Sxt(),await o()}catch(u){_3e(),await o(),e.error(Oi(u,n("auth.logoutFailed")))}},[e,o,n]),c=ie.useMemo(()=>{const u=[];return s&&u.push({key:"change-server",label:n("auth.changeServer"),icon:y.jsx("span",{className:"material-symbols-rounded nav-menu-icon",children:"sync_alt"}),onClick:a}),r&&(u.length>0&&u.push({key:"account-divider",type:"divider"}),u.push({key:"logout",label:n("auth.logout"),danger:!0,icon:y.jsx("span",{className:"material-symbols-rounded nav-menu-icon",children:"logout"}),onClick:()=>{l()}})),u},[r,s,a,l,n]),d=ie.useMemo(()=>[...s?[{icon:"sync_alt",key:"change-server",label:n("auth.changeServer"),onSelect:a}]:[],...r?[{icon:"logout",key:"logout",label:n("auth.logout"),onSelect:()=>{l()}}]:[]],[r,s,a,l,n]);return{accountItems:c,accountMenuLabel:n("auth.accountMenu"),compactAccountActions:d,showAccountMenu:c.length>0}}function gkt({currentPath:n,navigate:e,onOpenSidebar:t,showSidebar:i,t:s}){const r=[];return i&&t!=null&&r.push({active:n==="/"||n.startsWith("/session/"),icon:"menu",key:"sessions",label:s("common.sessions"),onSelect:t}),r.push({active:n==="/config",icon:"settings",key:"settings",label:s("common.settings"),onSelect:()=>{e("/config")}}),r}function mkt({setThemeMode:n,t:e,themeMode:t}){return[{active:t==="light",icon:"light_mode",key:"light",label:e("common.themeLight"),onSelect:()=>{n("light"),localStorage.setItem("theme","light")}},{active:t==="dark",icon:"dark_mode",key:"dark",label:e("common.themeDark"),onSelect:()=>{n("dark"),localStorage.setItem("theme","dark")}},{active:t==="system",icon:"desktop_windows",key:"system",label:e("common.themeSystem"),onSelect:()=>{n("system"),localStorage.setItem("theme","system")}}]}function pkt({currentLanguage:n,onChangeLanguage:e}){return[{active:n.startsWith("zh"),key:"zh",label:"简体中文",onSelect:()=>{e("zh")}},{active:n.startsWith("en"),key:"en",label:"English",onSelect:()=>{e("en")}}]}function _kt({currentLanguage:n,onChangeLanguage:e}){return[{key:"zh",label:"简体中文",icon:n.startsWith("zh")?y.jsx("span",{className:"material-symbols-rounded nav-menu-icon active",children:"check"}):y.jsx("div",{className:"nav-menu-icon-placeholder"}),onClick:()=>{e("zh")}},{key:"en",label:"English",icon:n.startsWith("en")?y.jsx("span",{className:"material-symbols-rounded nav-menu-icon active",children:"check"}):y.jsx("div",{className:"nav-menu-icon-placeholder"}),onClick:()=>{e("en")}}]}function vkt({setThemeMode:n,t:e,themeMode:t}){return[{key:"light",label:e("common.themeLight"),icon:t==="light"?y.jsx("span",{className:"material-symbols-rounded nav-menu-icon active",children:"check"}):y.jsx("span",{className:"material-symbols-rounded nav-menu-icon",children:"light_mode"}),onClick:()=>{n("light"),localStorage.setItem("theme","light")}},{key:"dark",label:e("common.themeDark"),icon:t==="dark"?y.jsx("span",{className:"material-symbols-rounded nav-menu-icon active",children:"check"}):y.jsx("span",{className:"material-symbols-rounded nav-menu-icon",children:"dark_mode"}),onClick:()=>{n("dark"),localStorage.setItem("theme","dark")}},{key:"system",label:e("common.themeSystem"),icon:t==="system"?y.jsx("span",{className:"material-symbols-rounded nav-menu-icon active",children:"check"}):y.jsx("span",{className:"material-symbols-rounded nav-menu-icon",children:"desktop_windows"}),onClick:()=>{n("system"),localStorage.setItem("theme","system")}}]}function bkt({currentPath:n,t:e}){return[{key:"sessions",icon:"chat_bubble",label:e("common.sessions"),path:"/",active:n==="/"||n.startsWith("/session/")},{key:"knowledge",icon:"library_books",label:e("common.knowledgeBase"),path:"/knowledge",active:n==="/knowledge"},{key:"automation",icon:"schedule",label:e("common.automation"),path:"/automation",active:n==="/automation"},{key:"benchmark",icon:"speed",label:e("common.benchmark"),path:"/benchmark",active:n==="/benchmark"},{key:"archive",icon:"archive",label:e("common.archivedSessions"),path:"/archive",active:n==="/archive"}]}function N0e({ariaHidden:n=!1,isCompactLayout:e=!1,onOpenSidebar:t,showSidebar:i=!1}){const{t:s,i18n:r}=vt(),[o,a]=Hb(M7),l=Tf(),c=Sh(),{isTouchInteraction:d}=Lr(),{accountItems:u,accountMenuLabel:h,compactAccountActions:f,showAccountMenu:g}=fkt(),m=c.pathname,p=L=>d?void 0:L,v=ie.useMemo(()=>_kt({currentLanguage:r.language,onChangeLanguage:L=>r.changeLanguage(L)}),[r.language]),b=ie.useMemo(()=>vkt({setThemeMode:a,t:s,themeMode:o}),[a,s,o]),w=ie.useMemo(()=>bkt({currentPath:m,t:s}),[m,s]),C=ie.useMemo(()=>[...gkt({currentPath:m,navigate:l,onOpenSidebar:t,showSidebar:i,t:s}),...f],[f,m,l,t,i,s]),S=ie.useMemo(()=>mkt({setThemeMode:a,t:s,themeMode:o}),[a,s,o]),x=ie.useMemo(()=>pkt({currentLanguage:r.language,onChangeLanguage:L=>{r.changeLanguage(L)}}),[r.language]),k=(L,I)=>{l(I)};return e?y.jsx(hkt,{ariaHidden:n,currentPath:m,languageActions:x,languageLabel:s("common.language"),moreLabel:s("common.moreActions"),moreSheetActions:C,navItems:w,themeActions:S,themeLabel:s("common.theme"),onNavClick:k}):y.jsxs("div",{className:"nav-rail","aria-hidden":n||void 0,children:[y.jsx("div",{className:"nav-rail-top",children:w.map(L=>y.jsx(Qe,{title:p(L.label),placement:"right",children:y.jsx("span",{children:y.jsx(qe,{type:"text",className:`nav-item ${L.active?"active":""}`,onClick:()=>k(L.key,L.path),icon:y.jsx("span",{className:"material-symbols-rounded",children:L.icon})})})},L.key))}),y.jsxs("div",{className:"nav-rail-bottom",children:[y.jsx(Qe,{title:p(s("common.theme")),placement:"right",children:y.jsx("span",{children:y.jsx(ta,{menu:{items:b},placement:"topRight",trigger:["click"],children:y.jsx(qe,{type:"text",className:"nav-item",icon:y.jsx("span",{className:"material-symbols-rounded",children:o==="light"?"light_mode":o==="dark"?"dark_mode":"desktop_windows"})})})})}),y.jsx(Qe,{title:p(s("common.language")),placement:"right",children:y.jsx("span",{children:y.jsx(ta,{menu:{items:v},placement:"topRight",trigger:["click"],children:y.jsx(qe,{type:"text",className:"nav-item",icon:y.jsx("span",{className:"material-symbols-rounded",children:"language"})})})})}),g&&y.jsx(Qe,{title:p(h),placement:"right",children:y.jsx("span",{children:y.jsx(ta,{menu:{items:u},placement:"topRight",trigger:["click"],children:y.jsx(qe,{type:"text",className:"nav-item",icon:y.jsx("span",{className:"material-symbols-rounded",children:"account_circle"})})})})}),y.jsx(Qe,{title:p(s("common.settings")),placement:"right",children:y.jsx("span",{children:y.jsx(qe,{type:"text",className:`nav-item ${m==="/config"?"active":""}`,icon:y.jsx("span",{className:"material-symbols-rounded",children:"settings"}),onClick:()=>void l("/config")})})})]})]})}async function xhe(n,e={}){const t=Al(`/api/adapters/${encodeURIComponent(n)}/accounts`);return e.model!=null&&e.model.trim()!==""&&t.searchParams.set("model",e.model),e.account!=null&&e.account.trim()!==""&&t.searchParams.set("account",e.account),e.refresh===!0&&t.searchParams.set("refresh","true"),Vn(t)}async function D0e(n,e,t={}){const i=Al(`/api/adapters/${encodeURIComponent(n)}/accounts/${encodeURIComponent(e)}`);return t.model!=null&&t.model.trim()!==""&&i.searchParams.set("model",t.model),t.refresh===!0&&i.searchParams.set("refresh","true"),Vn(i)}async function gH(n,e,t){return Vn(Al(`/api/adapters/${encodeURIComponent(n)}/accounts/actions`),{method:"POST",headers:Wo,body:JSON.stringify(e),...t})}async function ykt(){return Vn("/api/automation/rules")}async function wkt(n){return Vn("/api/automation/rules",{method:"POST",headers:Wo,body:JSON.stringify(n)})}async function T0e(n,e){return Vn(`/api/automation/rules/${n}`,{method:"PATCH",headers:Wo,body:JSON.stringify(e)})}async function Ckt(n){return Vn(`/api/automation/rules/${n}`,{method:"DELETE"})}async function Skt(n){return Vn(`/api/automation/rules/${n}/run`,{method:"POST"})}async function xkt(n,e=50){const t=Al(`/api/automation/rules/${n}/runs`);return t.searchParams.set("limit",e.toString()),Vn(t)}async function kkt(){return Vn("/api/benchmark/categories")}async function Ekt(n){const e=Al("/api/benchmark/cases");return Vn(e)}async function Lkt(n,e){return Vn(`/api/benchmark/results/${encodeURIComponent(n)}/${encodeURIComponent(e)}`)}async function D4(n){return $A("/api/benchmark/run",{method:"POST",headers:Wo,body:JSON.stringify(n)},"Failed to start benchmark run")}async function Ikt(n){return Vn(`/api/benchmark/runs/${encodeURIComponent(n)}`)}async function Vw(){return Vn("/api/config")}async function Nkt(){return Vn("/api/config/schema")}async function khe(n,e,t){return $A("/api/config",{method:"PATCH",headers:Wo,body:JSON.stringify({source:n,section:e,value:t})},"[api] update config failed:")}async function X3e(n){return Vn(`/api/sessions/${n}/git`)}async function Y3e(){return Vn("/api/workspace/git")}async function Dkt(n){return Vn(`/api/sessions/${n}/git/branches`)}async function Tkt(){return Vn("/api/workspace/git/branches")}async function Rkt(n){return Vn(`/api/sessions/${n}/git/worktrees`)}async function Mkt(){return Vn("/api/workspace/git/worktrees")}async function Pkt(n,e){return Vn(`/api/sessions/${n}/git/checkout`,{method:"POST",headers:Wo,body:JSON.stringify(e)})}async function Okt(n,e){return Vn(`/api/sessions/${n}/git/branches`,{method:"POST",headers:Wo,body:JSON.stringify(e)})}async function Akt(n,e){return Vn(`/api/sessions/${n}/git/commit`,{method:"POST",headers:Wo,body:JSON.stringify(e)})}async function Z3e(n,e={}){return Vn(`/api/sessions/${n}/git/push`,{method:"POST",headers:Wo,body:JSON.stringify(e)})}async function Fkt(n){return Vn(`/api/sessions/${n}/git/sync`,{method:"POST"})}async function $kt(){return Vn("/api/ai/skills")}async function Bkt(n){return Vn("/api/ai/skills",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)})}async function Hkt(n){return Vn("/api/ai/skills/import",{method:"POST",headers:{"Content-Type":n.type||"application/octet-stream","x-file-name":encodeURIComponent(n.name)},body:n})}async function jkt(n){const e=Al("/api/ai/specs/detail");return e.searchParams.set("path",n),Vn(e)}async function Wkt(n){const e=Al("/api/ai/rules/detail");return e.searchParams.set("path",n),Vn(e)}async function Q3e(n="active"){return Vn(n==="archived"?"/api/sessions/archived":"/api/sessions")}async function Vkt(n,e,t,i,s){return Vn("/api/sessions",{method:"POST",headers:Wo,body:JSON.stringify({title:n,initialMessage:e,initialContent:t,model:i,start:s==null?void 0:s.start,parentSessionId:s==null?void 0:s.parentSessionId,id:s==null?void 0:s.id,promptType:s==null?void 0:s.promptType,promptName:s==null?void 0:s.promptName,effort:s==null?void 0:s.effort,permissionMode:s==null?void 0:s.permissionMode,adapter:s==null?void 0:s.adapter,account:s==null?void 0:s.account,updateSkills:s==null?void 0:s.updateSkills,workspace:s==null?void 0:s.workspace})})}async function zkt(n,e,t,i){return Vn(`/api/sessions/${n}/messages/${e}/branch`,{method:"POST",headers:Wo,body:JSON.stringify({action:t,content:i==null?void 0:i.content,title:i==null?void 0:i.title})})}async function J3e(n,e){const t=Al(`/api/sessions/${n}/messages`);return Vn(t)}async function Ukt(n){return Vn(`/api/sessions/${n}/workspace`)}async function Kkt(n){return Vn(`/api/sessions/${n}/workspace/create-worktree`,{method:"POST"})}async function qkt(n){return Vn(`/api/sessions/${n}/workspace/transfer-local`,{method:"POST"})}async function Gkt(n,e){const t=Al(`/api/sessions/${n}/workspace/tree`);return e!=null&&e.trim()!==""&&t.searchParams.set("path",e),Vn(t)}async function Xkt(n,e){const t=Al(`/api/sessions/${n}/workspace/file`);return t.searchParams.set("path",e),Vn(t)}function Ykt(n,e){const t=Al(`/api/sessions/${n}/workspace/resource`);return t.searchParams.set("path",e),t.toString()}async function Zkt(n,e,t){return Vn(`/api/sessions/${n}/workspace/file`,{method:"PUT",headers:Wo,body:JSON.stringify({path:e,content:t})})}async function Qkt(n,e,t){return Vn(`/api/sessions/${n}/events`,{method:"POST",headers:Wo,body:JSON.stringify({type:"interaction_response",id:e,data:t})})}async function DI(n,e={}){const t=Al(`/api/sessions/${n}`);return e.force===!0&&t.searchParams.set("force","true"),$A(t,{method:"DELETE"},"[api] delete session failed:")}async function fg(n,e){return Vn(`/api/sessions/${n}`,{method:"PATCH",headers:Wo,body:JSON.stringify(e)})}async function Jkt(n,e){return fg(n,{title:e})}async function eEt(n,e,t){return Vn(`/api/sessions/${n}/queued-messages`,{method:"POST",headers:Wo,body:JSON.stringify({mode:e,content:t})})}async function tEt(n,e,t){return Vn(`/api/sessions/${n}/queued-messages/${e}`,{method:"PATCH",headers:Wo,body:JSON.stringify({content:t})})}async function nEt(n,e){return Vn(`/api/sessions/${n}/queued-messages/${e}`,{method:"DELETE"})}async function iEt(n,e,t){return Vn(`/api/sessions/${n}/queued-messages/${e}/move`,{method:"POST",headers:Wo,body:JSON.stringify({mode:t})})}async function sEt(n,e,t){return Vn(`/api/sessions/${n}/queued-messages/reorder`,{method:"POST",headers:Wo,body:JSON.stringify({mode:e,ids:t})})}async function rEt(n={}){const e=Al("/api/skill-hub/search");return n.limit!=null&&e.searchParams.set("limit",String(n.limit)),n.registry!=null&&n.registry!==""&&e.searchParams.set("registry",n.registry),n.query!=null&&n.query!==""&&e.searchParams.set("q",n.query),Vn(e)}async function oEt(n){return Vn("/api/skill-hub/install",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)})}async function aEt(n){const e=Al("/api/skill-hub/skills-cli/search");return e.searchParams.set("source",n.source),n.limit!=null&&e.searchParams.set("limit",String(n.limit)),n.query!=null&&n.query!==""&&e.searchParams.set("q",n.query),n.registry!=null&&n.registry!==""&&e.searchParams.set("registry",n.registry),Vn(e)}async function lEt(n){return Vn("/api/skill-hub/skills-cli/install",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)})}async function cEt(n){const e=Al("/api/workspace/tree");return n!=null&&n.trim()!==""&&e.searchParams.set("path",n),Vn(e)}async function dEt(n){const e=Al("/api/workspace/file");return e.searchParams.set("path",n),Vn(e)}function uEt(n){const e=Al("/api/workspace/resource");return e.searchParams.set("path",n),e.toString()}async function hEt(n,e){return Vn("/api/workspace/file",{method:"PUT",headers:Wo,body:JSON.stringify({path:n,content:e})})}async function Ehe(){return Vn("/api/worktree-environments")}const Lhe=n=>n==null?"":`?source=${encodeURIComponent(n)}`;async function fEt(n,e){return Vn(`/api/worktree-environments/${encodeURIComponent(n)}${Lhe(e)}`)}async function eBe(n,e,t){return Vn(`/api/worktree-environments/${encodeURIComponent(n)}${Lhe(t)}`,{method:"PUT",headers:Wo,body:JSON.stringify(e)})}async function gEt(n,e){return Vn(`/api/worktree-environments/${encodeURIComponent(n)}${Lhe(e)}`,{method:"DELETE"})}function tBe({children:n,className:e,compact:t=!1,collapsed:i=!1,primaryAction:s,sideAction:r}){const o=["sidebar-list-header",t?"sidebar-list-header--compact":"",i?"sidebar-list-header--collapsed":"",e].filter(Boolean).join(" ");return y.jsxs("div",{className:o,children:[y.jsxs("div",{className:"sidebar-list-header__top",children:[y.jsx("div",{className:"sidebar-list-header__primary",children:s}),r!=null&&y.jsx("div",{className:"sidebar-list-header__side",children:r})]}),!i&&n!=null&&y.jsx("div",{className:"sidebar-list-header__content",children:n})]})}function nBe({children:n,className:e}){return y.jsx("div",{className:["sidebar-list-collapsed-actions",e].filter(Boolean).join(" "),children:n})}function mH({active:n=!1,ariaLabel:e,buttonRef:t,className:i,disabled:s,filled:r=!1,icon:o,tooltip:a,tooltipPlacement:l="bottom",onClick:c}){return y.jsx(Qe,{title:a,placement:l,children:y.jsx(qe,{ref:t,className:["sidebar-list-collapsed-actions__control",n?"active":"",i].filter(Boolean).join(" "),type:"text","aria-label":e,disabled:s,onClick:c,children:y.jsx("span",{className:`material-symbols-rounded ${r?"filled":""}`,children:o})})})}function iBe({allowClear:n=!0,className:e,disabled:t,placeholder:i,suffix:s,value:r,onChange:o}){return y.jsx(yn,{className:["sidebar-list-header__search-input",e].filter(Boolean).join(" "),disabled:t,placeholder:i,value:r,onChange:o,prefix:y.jsx("span",{className:"material-symbols-rounded sidebar-list-header__search-icon",children:"search"}),suffix:s,allowClear:n})}const TI=bu({}),Ihe=new Set,mEt=n=>{Ihe.add(n)},T4=n=>{Ihe.delete(n)},R0e=n=>Ihe.has(n),M0e=()=>{var n;return((n=globalThis.crypto)==null?void 0:n.randomUUID)!=null?globalThis.crypto.randomUUID():`local-session-${Date.now()}-${Math.random().toString(16).slice(2)}`},pEt=n=>{var s;if(typeof n=="string")return n.trim();const e=n==null?void 0:n.find(r=>r.type==="text"&&r.text.trim()!=="");if(e!=null)return e.text.trim();const t=n==null?void 0:n.find(r=>r.type==="file"&&r.path.trim()!=="");if(t!=null)return t.path.trim();const i=n==null?void 0:n.find(r=>r.type==="image");return i!=null?((s=i.name)==null?void 0:s.trim())??"":""},_Et=n=>{var t;const e=((t=n.split(`
|
|
460
|
+
Please change the parent <Route path="${w}"> to <Route path="${w==="/"?"*":`${w}/*`}">.`)}let h=Sh(),f;if(e){let w=typeof e=="string"?zN(e):e;ko(d==="/"||((b=w.pathname)==null?void 0:b.startsWith(d)),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${d}" but pathname "${w.pathname}" was given in the \`location\` prop.`),f=w}else f=h;let g=f.pathname||"/",m=g;if(d!=="/"){let w=d.replace(/^\//,"").split("/");m="/"+g.replace(/^\//,"").split("/").slice(w.length).join("/")}let p=S$e(n,{pathname:m});Cf(u||p!=null,`No routes matched location "${f.pathname}${f.search}${f.hash}" `),Cf(p==null||p[p.length-1].route.element!==void 0||p[p.length-1].route.Component!==void 0||p[p.length-1].route.lazy!==void 0,`Matched leaf route at location "${f.pathname}${f.search}${f.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let v=DSt(p&&p.map(w=>Object.assign({},w,{params:Object.assign({},l,w.params),pathname:J_([d,r.encodeLocation?r.encodeLocation(w.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:w.pathname]),pathnameBase:w.pathnameBase==="/"?d:J_([d,r.encodeLocation?r.encodeLocation(w.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:w.pathnameBase])})),o,t,i,s);return e&&v?_.createElement(TA.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",...f},navigationType:"POP"}},v):v}function ESt(){let n=OSt(),e=hSt(n)?`${n.status} ${n.statusText}`:n instanceof Error?n.message:JSON.stringify(n),t=n instanceof Error?n.stack:null,i="rgba(200,200,200, 0.5)",s={padding:"0.5rem",backgroundColor:i},r={padding:"2px 4px",backgroundColor:i},o=null;return console.error("Error handled by React Router default ErrorBoundary:",n),o=_.createElement(_.Fragment,null,_.createElement("p",null,"💿 Hey developer 👋"),_.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",_.createElement("code",{style:r},"ErrorBoundary")," or"," ",_.createElement("code",{style:r},"errorElement")," prop on your route.")),_.createElement(_.Fragment,null,_.createElement("h2",null,"Unexpected Application Error!"),_.createElement("h3",{style:{fontStyle:"italic"}},e),t?_.createElement("pre",{style:s},t):null,o)}var LSt=_.createElement(ESt,null),F$e=class extends _.Component{constructor(n){super(n),this.state={location:n.location,revalidation:n.revalidation,error:n.error}}static getDerivedStateFromError(n){return{error:n}}static getDerivedStateFromProps(n,e){return e.location!==n.location||e.revalidation!=="idle"&&n.revalidation==="idle"?{error:n.error,location:n.location,revalidation:n.revalidation}:{error:n.error!==void 0?n.error:e.error,location:e.location,revalidation:n.revalidation||e.revalidation}}componentDidCatch(n,e){this.props.onError?this.props.onError(n,e):console.error("React Router caught the following error during render",n)}render(){let n=this.state.error;if(this.context&&typeof n=="object"&&n&&"digest"in n&&typeof n.digest=="string"){const t=wSt(n.digest);t&&(n=t)}let e=n!==void 0?_.createElement(Ip.Provider,{value:this.props.routeContext},_.createElement(hhe.Provider,{value:n,children:this.props.component})):this.props.children;return this.context?_.createElement(ISt,{error:n},e):e}};F$e.contextType=mSt;var Tq=new WeakMap;function ISt({children:n,error:e}){let{basename:t}=_.useContext(Df);if(typeof e=="object"&&e&&"digest"in e&&typeof e.digest=="string"){let i=ySt(e.digest);if(i){let s=Tq.get(e);if(s)throw s;let r=D$e(i.location,t);if(N$e&&!Tq.get(e))if(r.isExternal||i.reloadDocument)window.location.href=r.absoluteURL||r.to;else{const o=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(r.to,{replace:i.replace}));throw Tq.set(e,o),o}return _.createElement("meta",{httpEquiv:"refresh",content:`0;url=${r.absoluteURL||r.to}`})}}return n}function NSt({routeContext:n,match:e,children:t}){let i=_.useContext(UN);return i&&i.static&&i.staticContext&&(e.route.errorElement||e.route.ErrorBoundary)&&(i.staticContext._deepestRenderedBoundaryId=e.route.id),_.createElement(Ip.Provider,{value:n},t)}function DSt(n,e=[],t=null,i=null,s=null){if(n==null){if(!t)return null;if(t.errors)n=t.matches;else if(e.length===0&&!t.initialized&&t.matches.length>0)n=t.matches;else return null}let r=n,o=t==null?void 0:t.errors;if(o!=null){let d=r.findIndex(u=>u.route.id&&(o==null?void 0:o[u.route.id])!==void 0);ko(d>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(o).join(",")}`),r=r.slice(0,Math.min(r.length,d+1))}let a=!1,l=-1;if(t)for(let d=0;d<r.length;d++){let u=r[d];if((u.route.HydrateFallback||u.route.hydrateFallbackElement)&&(l=d),u.route.id){let{loaderData:h,errors:f}=t,g=u.route.loader&&!h.hasOwnProperty(u.route.id)&&(!f||f[u.route.id]===void 0);if(u.route.lazy||g){a=!0,l>=0?r=r.slice(0,l+1):r=[r[0]];break}}}let c=t&&i?(d,u)=>{var h,f;i(d,{location:t.location,params:((f=(h=t.matches)==null?void 0:h[0])==null?void 0:f.params)??{},unstable_pattern:fSt(t.matches),errorInfo:u})}:void 0;return r.reduceRight((d,u,h)=>{let f,g=!1,m=null,p=null;t&&(f=o&&u.route.id?o[u.route.id]:void 0,m=u.route.errorElement||LSt,a&&(l<0&&h===0?($$e("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),g=!0,p=null):l===h&&(g=!0,p=u.route.hydrateFallbackElement||null)));let v=e.concat(r.slice(0,h+1)),b=()=>{let w;return f?w=m:g?w=p:u.route.Component?w=_.createElement(u.route.Component,null):u.route.element?w=u.route.element:w=d,_.createElement(NSt,{match:u,routeContext:{outlet:d,matches:v,isDataRoute:t!=null},children:w})};return t&&(u.route.ErrorBoundary||u.route.errorElement||h===0)?_.createElement(F$e,{location:t.location,revalidation:t.revalidation,component:m,error:f,children:b(),routeContext:{outlet:null,matches:v,isDataRoute:!0},onError:c}):b()},null)}function fhe(n){return`${n} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function TSt(n){let e=_.useContext(UN);return ko(e,fhe(n)),e}function RSt(n){let e=_.useContext(D7);return ko(e,fhe(n)),e}function MSt(n){let e=_.useContext(Ip);return ko(e,fhe(n)),e}function ghe(n){let e=MSt(n),t=e.matches[e.matches.length-1];return ko(t.route.id,`${n} can only be used on routes that contain a unique "id"`),t.route.id}function PSt(){return ghe("useRouteId")}function OSt(){var i;let n=_.useContext(hhe),e=RSt("useRouteError"),t=ghe("useRouteError");return n!==void 0?n:(i=e.errors)==null?void 0:i[t]}function ASt(){let{router:n}=TSt("useNavigate"),e=ghe("useNavigate"),t=_.useRef(!1);return O$e(()=>{t.current=!0}),_.useCallback(async(s,r={})=>{Cf(t.current,P$e),t.current&&(typeof s=="number"?await n.navigate(s):await n.navigate(s,{fromRouteId:e,...r}))},[n,e])}var g0e={};function $$e(n,e,t){!e&&!g0e[n]&&(g0e[n]=!0,Cf(!1,t))}_.memo(FSt);function FSt({routes:n,future:e,state:t,onError:i}){return A$e(n,void 0,t,i,e)}function _b(n){ko(!1,"A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.")}function $St({basename:n="/",children:e=null,location:t,navigationType:i="POP",navigator:s,static:r=!1,unstable_useTransitions:o}){ko(!RA(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let a=n.replace(/^\/*/,"/"),l=_.useMemo(()=>({basename:a,navigator:s,static:r,unstable_useTransitions:o,future:{}}),[a,s,r,o]);typeof t=="string"&&(t=zN(t));let{pathname:c="/",search:d="",hash:u="",state:h=null,key:f="default"}=t,g=_.useMemo(()=>{let m=vv(c,a);return m==null?null:{location:{pathname:m,search:d,hash:u,state:h,key:f},navigationType:i}},[a,c,d,u,h,f,i]);return Cf(g!=null,`<Router basename="${a}"> is not able to match the URL "${c}${d}${u}" because it does not start with the basename, so the <Router> won't render anything.`),g==null?null:_.createElement(Df.Provider,{value:l},_.createElement(TA.Provider,{children:e,value:g}))}function BSt({children:n,location:e}){return kSt(VJ(n),e)}function VJ(n,e=[]){let t=[];return _.Children.forEach(n,(i,s)=>{if(!_.isValidElement(i))return;let r=[...e,s];if(i.type===_.Fragment){t.push.apply(t,VJ(i.props.children,r));return}ko(i.type===_b,`[${typeof i.type=="string"?i.type:i.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),ko(!i.props.index||!i.props.children,"An index route cannot have child routes.");let o={id:i.props.id||r.join("-"),caseSensitive:i.props.caseSensitive,element:i.props.element,Component:i.props.Component,index:i.props.index,path:i.props.path,middleware:i.props.middleware,loader:i.props.loader,action:i.props.action,hydrateFallbackElement:i.props.hydrateFallbackElement,HydrateFallback:i.props.HydrateFallback,errorElement:i.props.errorElement,ErrorBoundary:i.props.ErrorBoundary,hasErrorBoundary:i.props.hasErrorBoundary===!0||i.props.ErrorBoundary!=null||i.props.errorElement!=null,shouldRevalidate:i.props.shouldRevalidate,handle:i.props.handle,lazy:i.props.lazy};i.props.children&&(o.children=VJ(i.props.children,r)),t.push(o)}),t}var t3="get",n3="application/x-www-form-urlencoded";function T7(n){return typeof HTMLElement<"u"&&n instanceof HTMLElement}function HSt(n){return T7(n)&&n.tagName.toLowerCase()==="button"}function jSt(n){return T7(n)&&n.tagName.toLowerCase()==="form"}function WSt(n){return T7(n)&&n.tagName.toLowerCase()==="input"}function VSt(n){return!!(n.metaKey||n.altKey||n.ctrlKey||n.shiftKey)}function zSt(n,e){return n.button===0&&(!e||e==="_self")&&!VSt(n)}function zJ(n=""){return new URLSearchParams(typeof n=="string"||Array.isArray(n)||n instanceof URLSearchParams?n:Object.keys(n).reduce((e,t)=>{let i=n[t];return e.concat(Array.isArray(i)?i.map(s=>[t,s]):[[t,i]])},[]))}function USt(n,e){let t=zJ(n);return e&&e.forEach((i,s)=>{t.has(s)||e.getAll(s).forEach(r=>{t.append(s,r)})}),t}var L4=null;function KSt(){if(L4===null)try{new FormData(document.createElement("form"),0),L4=!1}catch{L4=!0}return L4}var qSt=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function Rq(n){return n!=null&&!qSt.has(n)?(Cf(!1,`"${n}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${n3}"`),null):n}function GSt(n,e){let t,i,s,r,o;if(jSt(n)){let a=n.getAttribute("action");i=a?vv(a,e):null,t=n.getAttribute("method")||t3,s=Rq(n.getAttribute("enctype"))||n3,r=new FormData(n)}else if(HSt(n)||WSt(n)&&(n.type==="submit"||n.type==="image")){let a=n.form;if(a==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let l=n.getAttribute("formaction")||a.getAttribute("action");if(i=l?vv(l,e):null,t=n.getAttribute("formmethod")||a.getAttribute("method")||t3,s=Rq(n.getAttribute("formenctype"))||Rq(a.getAttribute("enctype"))||n3,r=new FormData(a,n),!KSt()){let{name:c,type:d,value:u}=n;if(d==="image"){let h=c?`${c}.`:"";r.append(`${h}x`,"0"),r.append(`${h}y`,"0")}else c&&r.append(c,u)}}else{if(T7(n))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');t=t3,i=null,s=n3,o=n}return r&&s==="text/plain"&&(o=r,r=void 0),{action:i,method:t.toLowerCase(),encType:s,formData:r,body:o}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function mhe(n,e){if(n===!1||n===null||typeof n>"u")throw new Error(e)}function XSt(n,e,t,i){let s=typeof n=="string"?new URL(n,typeof window>"u"?"server://singlefetch/":window.location.origin):n;return t?s.pathname.endsWith("/")?s.pathname=`${s.pathname}_.${i}`:s.pathname=`${s.pathname}.${i}`:s.pathname==="/"?s.pathname=`_root.${i}`:e&&vv(s.pathname,e)==="/"?s.pathname=`${e.replace(/\/$/,"")}/_root.${i}`:s.pathname=`${s.pathname.replace(/\/$/,"")}.${i}`,s}async function YSt(n,e){if(n.id in e)return e[n.id];try{let t=await import(n.module);return e[n.id]=t,t}catch(t){return console.error(`Error loading route module \`${n.module}\`, reloading page...`),console.error(t),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function ZSt(n){return n==null?!1:n.href==null?n.rel==="preload"&&typeof n.imageSrcSet=="string"&&typeof n.imageSizes=="string":typeof n.rel=="string"&&typeof n.href=="string"}async function QSt(n,e,t){let i=await Promise.all(n.map(async s=>{let r=e.routes[s.route.id];if(r){let o=await YSt(r,t);return o.links?o.links():[]}return[]}));return n1t(i.flat(1).filter(ZSt).filter(s=>s.rel==="stylesheet"||s.rel==="preload").map(s=>s.rel==="stylesheet"?{...s,rel:"prefetch",as:"style"}:{...s,rel:"prefetch"}))}function m0e(n,e,t,i,s,r){let o=(l,c)=>t[c]?l.route.id!==t[c].route.id:!0,a=(l,c)=>{var d;return t[c].pathname!==l.pathname||((d=t[c].route.path)==null?void 0:d.endsWith("*"))&&t[c].params["*"]!==l.params["*"]};return r==="assets"?e.filter((l,c)=>o(l,c)||a(l,c)):r==="data"?e.filter((l,c)=>{var u;let d=i.routes[l.route.id];if(!d||!d.hasLoader)return!1;if(o(l,c)||a(l,c))return!0;if(l.route.shouldRevalidate){let h=l.route.shouldRevalidate({currentUrl:new URL(s.pathname+s.search+s.hash,window.origin),currentParams:((u=t[0])==null?void 0:u.params)||{},nextUrl:new URL(n,window.origin),nextParams:l.params,defaultShouldRevalidate:!0});if(typeof h=="boolean")return h}return!0}):[]}function JSt(n,e,{includeHydrateFallback:t}={}){return e1t(n.map(i=>{let s=e.routes[i.route.id];if(!s)return[];let r=[s.module];return s.clientActionModule&&(r=r.concat(s.clientActionModule)),s.clientLoaderModule&&(r=r.concat(s.clientLoaderModule)),t&&s.hydrateFallbackModule&&(r=r.concat(s.hydrateFallbackModule)),s.imports&&(r=r.concat(s.imports)),r}).flat(1))}function e1t(n){return[...new Set(n)]}function t1t(n){let e={},t=Object.keys(n).sort();for(let i of t)e[i]=n[i];return e}function n1t(n,e){let t=new Set;return new Set(e),n.reduce((i,s)=>{let r=JSON.stringify(t1t(s));return t.has(r)||(t.add(r),i.push({key:r,link:s})),i},[])}function B$e(){let n=_.useContext(UN);return mhe(n,"You must render this element inside a <DataRouterContext.Provider> element"),n}function i1t(){let n=_.useContext(D7);return mhe(n,"You must render this element inside a <DataRouterStateContext.Provider> element"),n}var phe=_.createContext(void 0);phe.displayName="FrameworkContext";function H$e(){let n=_.useContext(phe);return mhe(n,"You must render this element inside a <HydratedRouter> element"),n}function s1t(n,e){let t=_.useContext(phe),[i,s]=_.useState(!1),[r,o]=_.useState(!1),{onFocus:a,onBlur:l,onMouseEnter:c,onMouseLeave:d,onTouchStart:u}=e,h=_.useRef(null);_.useEffect(()=>{if(n==="render"&&o(!0),n==="viewport"){let m=v=>{v.forEach(b=>{o(b.isIntersecting)})},p=new IntersectionObserver(m,{threshold:.5});return h.current&&p.observe(h.current),()=>{p.disconnect()}}},[n]),_.useEffect(()=>{if(i){let m=setTimeout(()=>{o(!0)},100);return()=>{clearTimeout(m)}}},[i]);let f=()=>{s(!0)},g=()=>{s(!1),o(!1)};return t?n!=="intent"?[r,h,{}]:[r,h,{onFocus:zD(a,f),onBlur:zD(l,g),onMouseEnter:zD(c,f),onMouseLeave:zD(d,g),onTouchStart:zD(u,f)}]:[!1,h,{}]}function zD(n,e){return t=>{n&&n(t),t.defaultPrevented||e(t)}}function r1t({page:n,...e}){let{router:t}=B$e(),i=_.useMemo(()=>S$e(t.routes,n,t.basename),[t.routes,n,t.basename]);return i?_.createElement(a1t,{page:n,matches:i,...e}):null}function o1t(n){let{manifest:e,routeModules:t}=H$e(),[i,s]=_.useState([]);return _.useEffect(()=>{let r=!1;return QSt(n,e,t).then(o=>{r||s(o)}),()=>{r=!0}},[n,e,t]),i}function a1t({page:n,matches:e,...t}){let i=Sh(),{future:s,manifest:r,routeModules:o}=H$e(),{basename:a}=B$e(),{loaderData:l,matches:c}=i1t(),d=_.useMemo(()=>m0e(n,e,c,r,i,"data"),[n,e,c,r,i]),u=_.useMemo(()=>m0e(n,e,c,r,i,"assets"),[n,e,c,r,i]),h=_.useMemo(()=>{if(n===i.pathname+i.search+i.hash)return[];let m=new Set,p=!1;if(e.forEach(b=>{var C;let w=r.routes[b.route.id];!w||!w.hasLoader||(!d.some(S=>S.route.id===b.route.id)&&b.route.id in l&&((C=o[b.route.id])!=null&&C.shouldRevalidate)||w.hasClientLoader?p=!0:m.add(b.route.id))}),m.size===0)return[];let v=XSt(n,a,s.unstable_trailingSlashAwareDataRequests,"data");return p&&m.size>0&&v.searchParams.set("_routes",e.filter(b=>m.has(b.route.id)).map(b=>b.route.id).join(",")),[v.pathname+v.search]},[a,s.unstable_trailingSlashAwareDataRequests,l,i,r,d,e,n,o]),f=_.useMemo(()=>JSt(u,r),[u,r]),g=o1t(u);return _.createElement(_.Fragment,null,h.map(m=>_.createElement("link",{key:m,rel:"prefetch",as:"fetch",href:m,...t})),f.map(m=>_.createElement("link",{key:m,rel:"modulepreload",href:m,...t})),g.map(({key:m,link:p})=>_.createElement("link",{key:m,nonce:t.nonce,...p})))}function l1t(...n){return e=>{n.forEach(t=>{typeof t=="function"?t(e):t!=null&&(t.current=e)})}}var c1t=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{c1t&&(window.__reactRouterVersion="7.12.0")}catch{}function d1t({basename:n,children:e,unstable_useTransitions:t,window:i}){let s=_.useRef();s.current==null&&(s.current=W0t({window:i,v5Compat:!0}));let r=s.current,[o,a]=_.useState({action:r.action,location:r.location}),l=_.useCallback(c=>{t===!1?a(c):_.startTransition(()=>a(c))},[t]);return _.useLayoutEffect(()=>r.listen(l),[r,l]),_.createElement($St,{basename:n,children:e,location:o.location,navigationType:o.action,navigator:r,unstable_useTransitions:t})}var j$e=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,W$e=_.forwardRef(function({onClick:e,discover:t="render",prefetch:i="none",relative:s,reloadDocument:r,replace:o,state:a,target:l,to:c,preventScrollReset:d,viewTransition:u,unstable_defaultShouldRevalidate:h,...f},g){let{basename:m,unstable_useTransitions:p}=_.useContext(Df),v=typeof c=="string"&&j$e.test(c),b=D$e(c,m);c=b.to;let w=CSt(c,{relative:s}),[C,S,x]=s1t(i,f),k=g1t(c,{replace:o,state:a,target:l,preventScrollReset:d,relative:s,viewTransition:u,unstable_defaultShouldRevalidate:h,unstable_useTransitions:p});function L(N){e&&e(N),N.defaultPrevented||k(N)}let I=_.createElement("a",{...f,...x,href:b.absoluteURL||w,onClick:b.isExternal||r?e:L,ref:l1t(g,S),target:l,"data-discover":!v&&t==="render"?"true":void 0});return C&&!v?_.createElement(_.Fragment,null,I,_.createElement(r1t,{page:w})):I});W$e.displayName="Link";var u1t=_.forwardRef(function({"aria-current":e="page",caseSensitive:t=!1,className:i="",end:s=!1,style:r,to:o,viewTransition:a,children:l,...c},d){let u=MA(o,{relative:c.relative}),h=Sh(),f=_.useContext(D7),{navigator:g,basename:m}=_.useContext(Df),p=f!=null&&b1t(u)&&a===!0,v=g.encodeLocation?g.encodeLocation(u).pathname:u.pathname,b=h.pathname,w=f&&f.navigation&&f.navigation.location?f.navigation.location.pathname:null;t||(b=b.toLowerCase(),w=w?w.toLowerCase():null,v=v.toLowerCase()),w&&m&&(w=vv(w,m)||w);const C=v!=="/"&&v.endsWith("/")?v.length-1:v.length;let S=b===v||!s&&b.startsWith(v)&&b.charAt(C)==="/",x=w!=null&&(w===v||!s&&w.startsWith(v)&&w.charAt(v.length)==="/"),k={isActive:S,isPending:x,isTransitioning:p},L=S?e:void 0,I;typeof i=="function"?I=i(k):I=[i,S?"active":null,x?"pending":null,p?"transitioning":null].filter(Boolean).join(" ");let N=typeof r=="function"?r(k):r;return _.createElement(W$e,{...c,"aria-current":L,className:I,ref:d,style:N,to:o,viewTransition:a},typeof l=="function"?l(k):l)});u1t.displayName="NavLink";var h1t=_.forwardRef(({discover:n="render",fetcherKey:e,navigate:t,reloadDocument:i,replace:s,state:r,method:o=t3,action:a,onSubmit:l,relative:c,preventScrollReset:d,viewTransition:u,unstable_defaultShouldRevalidate:h,...f},g)=>{let{unstable_useTransitions:m}=_.useContext(Df),p=_1t(),v=v1t(a,{relative:c}),b=o.toLowerCase()==="get"?"get":"post",w=typeof a=="string"&&j$e.test(a),C=S=>{if(l&&l(S),S.defaultPrevented)return;S.preventDefault();let x=S.nativeEvent.submitter,k=(x==null?void 0:x.getAttribute("formmethod"))||o,L=()=>p(x||S.currentTarget,{fetcherKey:e,method:k,navigate:t,replace:s,state:r,relative:c,preventScrollReset:d,viewTransition:u,unstable_defaultShouldRevalidate:h});m&&t!==!1?_.startTransition(()=>L()):L()};return _.createElement("form",{ref:g,method:b,action:v,onSubmit:i?l:C,...f,"data-discover":!w&&n==="render"?"true":void 0})});h1t.displayName="Form";function f1t(n){return`${n} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function V$e(n){let e=_.useContext(UN);return ko(e,f1t(n)),e}function g1t(n,{target:e,replace:t,state:i,preventScrollReset:s,relative:r,viewTransition:o,unstable_defaultShouldRevalidate:a,unstable_useTransitions:l}={}){let c=Tf(),d=Sh(),u=MA(n,{relative:r});return _.useCallback(h=>{if(zSt(h,e)){h.preventDefault();let f=t!==void 0?t:GP(d)===GP(u),g=()=>c(n,{replace:f,state:i,preventScrollReset:s,relative:r,viewTransition:o,unstable_defaultShouldRevalidate:a});l?_.startTransition(()=>g()):g()}},[d,c,u,t,i,e,n,s,r,o,a,l])}function PA(n){Cf(typeof URLSearchParams<"u","You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let e=_.useRef(zJ(n)),t=_.useRef(!1),i=Sh(),s=_.useMemo(()=>USt(i.search,t.current?null:e.current),[i.search]),r=Tf(),o=_.useCallback((a,l)=>{const c=zJ(typeof a=="function"?a(new URLSearchParams(s)):a);t.current=!0,r("?"+c,l)},[r,s]);return[s,o]}var m1t=0,p1t=()=>`__${String(++m1t)}__`;function _1t(){let{router:n}=V$e("useSubmit"),{basename:e}=_.useContext(Df),t=PSt(),i=n.fetch,s=n.navigate;return _.useCallback(async(r,o={})=>{let{action:a,method:l,encType:c,formData:d,body:u}=GSt(r,e);if(o.navigate===!1){let h=o.fetcherKey||p1t();await i(h,t,o.action||a,{unstable_defaultShouldRevalidate:o.unstable_defaultShouldRevalidate,preventScrollReset:o.preventScrollReset,formData:d,body:u,formMethod:o.method||l,formEncType:o.encType||c,flushSync:o.flushSync})}else await s(o.action||a,{unstable_defaultShouldRevalidate:o.unstable_defaultShouldRevalidate,preventScrollReset:o.preventScrollReset,formData:d,body:u,formMethod:o.method||l,formEncType:o.encType||c,replace:o.replace,state:o.state,fromRouteId:t,flushSync:o.flushSync,viewTransition:o.viewTransition})},[i,s,e,t])}function v1t(n,{relative:e}={}){let{basename:t}=_.useContext(Df),i=_.useContext(Ip);ko(i,"useFormAction must be used inside a RouteContext");let[s]=i.matches.slice(-1),r={...MA(n||".",{relative:e})},o=Sh();if(n==null){r.search=o.search;let a=new URLSearchParams(r.search),l=a.getAll("index");if(l.some(d=>d==="")){a.delete("index"),l.filter(u=>u).forEach(u=>a.append("index",u));let d=a.toString();r.search=d?`?${d}`:""}}return(!n||n===".")&&s.route.index&&(r.search=r.search?r.search.replace(/^\?/,"?index&"):"?index"),t!=="/"&&(r.pathname=r.pathname==="/"?t:J_([t,r.pathname])),GP(r)}function b1t(n,{relative:e}={}){let t=_.useContext(R$e);ko(t!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:i}=V$e("useViewTransitionState"),s=MA(n,{relative:e});if(!t.isTransitioning)return!1;let r=vv(t.currentLocation.pathname,i)||t.currentLocation.pathname,o=vv(t.nextLocation.pathname,i)||t.nextLocation.pathname;return XP(s.pathname,o)!=null||XP(s.pathname,r)!=null}const z$e=0,U$e=1,K$e=2,p0e=3;var _0e=Object.prototype.hasOwnProperty;function UJ(n,e){var t,i;if(n===e)return!0;if(n&&e&&(t=n.constructor)===e.constructor){if(t===Date)return n.getTime()===e.getTime();if(t===RegExp)return n.toString()===e.toString();if(t===Array){if((i=n.length)===e.length)for(;i--&&UJ(n[i],e[i]););return i===-1}if(!t||typeof n=="object"){i=0;for(t in n)if(_0e.call(n,t)&&++i&&!_0e.call(e,t)||!(t in e)||!UJ(n[t],e[t]))return!1;return Object.keys(e).length===i}}return n!==n&&e!==e}const w_=new WeakMap,T_=()=>{},Gl=T_(),aH=Object,Os=n=>n===Gl,ug=n=>typeof n=="function",bv=(n,e)=>({...n,...e}),q$e=n=>ug(n.then),Mq={},I4={},_he="undefined",OA=typeof window!=_he,KJ=typeof document!=_he,y1t=OA&&"Deno"in window,w1t=()=>OA&&typeof window.requestAnimationFrame!=_he,G$e=(n,e)=>{const t=w_.get(n);return[()=>!Os(e)&&n.get(e)||Mq,i=>{if(!Os(e)){const s=n.get(e);e in I4||(I4[e]=s),t[5](e,bv(s,i),s||Mq)}},t[6],()=>!Os(e)&&e in I4?I4[e]:!Os(e)&&n.get(e)||Mq]};let qJ=!0;const C1t=()=>qJ,[GJ,XJ]=OA&&window.addEventListener?[window.addEventListener.bind(window),window.removeEventListener.bind(window)]:[T_,T_],S1t=()=>{const n=KJ&&document.visibilityState;return Os(n)||n!=="hidden"},x1t=n=>(KJ&&document.addEventListener("visibilitychange",n),GJ("focus",n),()=>{KJ&&document.removeEventListener("visibilitychange",n),XJ("focus",n)}),k1t=n=>{const e=()=>{qJ=!0,n()},t=()=>{qJ=!1};return GJ("online",e),GJ("offline",t),()=>{XJ("online",e),XJ("offline",t)}},E1t={isOnline:C1t,isVisible:S1t},L1t={initFocus:x1t,initReconnect:k1t},v0e=!ie.useId,dL=!OA||y1t,I1t=n=>w1t()?window.requestAnimationFrame(n):setTimeout(n,1),i3=dL?_.useEffect:_.useLayoutEffect,Pq=typeof navigator<"u"&&navigator.connection,b0e=!dL&&Pq&&(["slow-2g","2g"].includes(Pq.effectiveType)||Pq.saveData),N4=new WeakMap,N1t=n=>aH.prototype.toString.call(n),Oq=(n,e)=>n===`[object ${e}]`;let D1t=0;const YJ=n=>{const e=typeof n,t=N1t(n),i=Oq(t,"Date"),s=Oq(t,"RegExp"),r=Oq(t,"Object");let o,a;if(aH(n)===n&&!i&&!s){if(o=N4.get(n),o)return o;if(o=++D1t+"~",N4.set(n,o),Array.isArray(n)){for(o="@",a=0;a<n.length;a++)o+=YJ(n[a])+",";N4.set(n,o)}if(r){o="#";const l=aH.keys(n).sort();for(;!Os(a=l.pop());)Os(n[a])||(o+=a+":"+YJ(n[a])+",");N4.set(n,o)}}else o=i?n.toJSON():e=="symbol"?n.toString():e=="string"?JSON.stringify(n):""+n;return o},vhe=n=>{if(ug(n))try{n=n()}catch{n=""}const e=n;return n=typeof n=="string"?n:(Array.isArray(n)?n.length:n)?YJ(n):"",[n,e]};let T1t=0;const ZJ=()=>++T1t;async function X$e(...n){const[e,t,i,s]=n,r=bv({populateCache:!0,throwOnError:!0},typeof s=="boolean"?{revalidate:s}:s||{});let o=r.populateCache;const a=r.rollbackOnError;let l=r.optimisticData;const c=h=>typeof a=="function"?a(h):a!==!1,d=r.throwOnError;if(ug(t)){const h=t,f=[],g=e.keys();for(const m of g)!/^\$(inf|sub)\$/.test(m)&&h(e.get(m)._k)&&f.push(m);return Promise.all(f.map(u))}return u(t);async function u(h){const[f]=vhe(h);if(!f)return;const[g,m]=G$e(e,f),[p,v,b,w]=w_.get(e),C=()=>{const M=p[f];return(ug(r.revalidate)?r.revalidate(g().data,h):r.revalidate!==!1)&&(delete b[f],delete w[f],M&&M[0])?M[0](K$e).then(()=>g().data):g().data};if(n.length<3)return C();let S=i,x,k=!1;const L=ZJ();v[f]=[L,0];const I=!Os(l),N=g(),D=N.data,T=N._c,R=Os(T)?D:T;if(I&&(l=ug(l)?l(R,D):l,m({data:l,_c:R})),ug(S))try{S=S(R)}catch(M){x=M,k=!0}if(S&&q$e(S))if(S=await S.catch(M=>{x=M,k=!0}),L!==v[f][0]){if(k)throw x;return S}else k&&I&&c(x)&&(o=!0,m({data:R,_c:Gl}));if(o&&!k)if(ug(o)){const M=o(S,R);m({data:M,error:Gl,_c:Gl})}else m({data:S,error:Gl,_c:Gl});if(v[f][1]=ZJ(),Promise.resolve(C()).then(()=>{m({_c:Gl})}),k){if(d)throw x;return}return S}}const y0e=(n,e)=>{for(const t in n)n[t][0]&&n[t][0](e)},Y$e=(n,e)=>{if(!w_.has(n)){const t=bv(L1t,e),i=Object.create(null),s=X$e.bind(Gl,n);let r=T_;const o=Object.create(null),a=(d,u)=>{const h=o[d]||[];return o[d]=h,h.push(u),()=>h.splice(h.indexOf(u),1)},l=(d,u,h)=>{n.set(d,u);const f=o[d];if(f)for(const g of f)g(u,h)},c=()=>{if(!w_.has(n)&&(w_.set(n,[i,Object.create(null),Object.create(null),Object.create(null),s,l,a]),!dL)){const d=t.initFocus(setTimeout.bind(Gl,y0e.bind(Gl,i,z$e))),u=t.initReconnect(setTimeout.bind(Gl,y0e.bind(Gl,i,U$e)));r=()=>{d&&d(),u&&u(),w_.delete(n)}}};return c(),[n,s,c,r]}return[n,w_.get(n)[4]]},R1t=(n,e,t,i,s)=>{const r=t.errorRetryCount,o=s.retryCount,a=~~((Math.random()+.5)*(1<<(o<8?o:8)))*t.errorRetryInterval;!Os(r)&&o>r||setTimeout(i,a,s)},M1t=UJ,[bhe,P1t]=Y$e(new Map),Z$e=bv({onLoadingSlow:T_,onSuccess:T_,onError:T_,onErrorRetry:R1t,onDiscarded:T_,revalidateOnFocus:!0,revalidateOnReconnect:!0,revalidateIfStale:!0,shouldRetryOnError:!0,errorRetryInterval:b0e?1e4:5e3,focusThrottleInterval:5*1e3,dedupingInterval:2*1e3,loadingTimeout:b0e?5e3:3e3,compare:M1t,isPaused:()=>!1,cache:bhe,mutate:P1t,fallback:{}},E1t),Q$e=(n,e)=>{const t=bv(n,e);if(e){const{use:i,fallback:s}=n,{use:r,fallback:o}=e;i&&r&&(t.use=i.concat(r)),s&&o&&(t.fallback=bv(s,o))}return t},QJ=_.createContext({}),O1t=n=>{const{value:e}=n,t=_.useContext(QJ),i=ug(e),s=_.useMemo(()=>i?e(t):e,[i,t,e]),r=_.useMemo(()=>i?s:Q$e(t,s),[i,t,s]),o=s&&s.provider,a=_.useRef(Gl);o&&!a.current&&(a.current=Y$e(o(r.cache||bhe),s));const l=a.current;return l&&(r.cache=l[0],r.mutate=l[1]),i3(()=>{if(l)return l[2]&&l[2](),l[3]},[]),_.createElement(QJ.Provider,bv(n,{value:r}))},A1t="$inf$",J$e=OA&&window.__SWR_DEVTOOLS_USE__,F1t=J$e?window.__SWR_DEVTOOLS_USE__:[],$1t=()=>{J$e&&(window.__SWR_DEVTOOLS_REACT__=ie)},B1t=n=>ug(n[1])?[n[0],n[1],n[2]||{}]:[n[0],null,(n[1]===null?n[2]:n[1])||{}],KN=()=>{const n=_.useContext(QJ);return _.useMemo(()=>bv(Z$e,n),[n])},H1t=n=>(e,t,i)=>n(e,t&&((...r)=>{const[o]=vhe(e),[,,,a]=w_.get(bhe);if(o.startsWith(A1t))return t(...r);const l=a[o];return Os(l)?t(...r):(delete a[o],l)}),i),j1t=F1t.concat(H1t),W1t=n=>function(...t){const i=KN(),[s,r,o]=B1t(t),a=Q$e(i,o);let l=n;const{use:c}=a,d=(c||[]).concat(j1t);for(let u=d.length;u--;)l=d[u](l);return l(s,r||a.fetcher||null,a)},V1t=(n,e,t)=>{const i=e[n]||(e[n]=[]);return i.push(t),()=>{const s=i.indexOf(t);s>=0&&(i[s]=i[i.length-1],i.pop())}};$1t();const Aq=ie.use||(n=>{switch(n.status){case"pending":throw n;case"fulfilled":return n.value;case"rejected":throw n.reason;default:throw n.status="pending",n.then(e=>{n.status="fulfilled",n.value=e},e=>{n.status="rejected",n.reason=e}),n}}),Fq={dedupe:!0},w0e=Promise.resolve(Gl),z1t=(n,e,t)=>{const{cache:i,compare:s,suspense:r,fallbackData:o,revalidateOnMount:a,revalidateIfStale:l,refreshInterval:c,refreshWhenHidden:d,refreshWhenOffline:u,keepPreviousData:h,strictServerPrefetchWarning:f}=t,[g,m,p,v]=w_.get(i),[b,w]=vhe(n),C=_.useRef(!1),S=_.useRef(!1),x=_.useRef(b),k=_.useRef(e),L=_.useRef(t),I=()=>L.current,N=()=>I().isVisible()&&I().isOnline(),[D,T,R,M]=G$e(i,b),P=_.useRef({}).current,O=Os(o)?Os(t.fallback)?Gl:t.fallback[b]:o,A=(ce,ye)=>{for(const Ee in P){const xe=Ee;if(xe==="data"){if(!s(ce[xe],ye[xe])&&(!Os(ce[xe])||!s(Y,ye[xe])))return!1}else if(ye[xe]!==ce[xe])return!1}return!0},F=_.useMemo(()=>{const ce=!b||!e?!1:Os(a)?I().isPaused()||r?!1:l!==!1:a,ye=le=>{const fe=bv(le);return delete fe._k,ce?{isValidating:!0,isLoading:!0,...fe}:fe},Ee=D(),xe=M(),Se=ye(Ee),be=Ee===xe?Se:ye(xe);let Ce=Se;return[()=>{const le=ye(D());return A(le,Ce)?(Ce.data=le.data,Ce.isLoading=le.isLoading,Ce.isValidating=le.isValidating,Ce.error=le.error,Ce):(Ce=le,le)},()=>be]},[i,b]),B=DZ.useSyncExternalStore(_.useCallback(ce=>R(b,(ye,Ee)=>{A(Ee,ye)||ce()}),[i,b]),F[0],F[1]),$=!C.current,W=g[b]&&g[b].length>0,V=B.data,H=Os(V)?O&&q$e(O)?Aq(O):O:V,U=B.error,G=_.useRef(H),Y=h?Os(V)?Os(G.current)?H:G.current:V:H,K=b&&Os(H),X=!dL&&DZ.useSyncExternalStore(()=>T_,()=>!1,()=>!0);f&&X&&!r&&K&&console.warn(`Missing pre-initiated data for serialized key "${b}" during server-side rendering. Data fethcing should be initiated on the server and provided to SWR via fallback data. You can set "strictServerPrefetchWarning: false" to disable this warning.`);const J=W&&!Os(U)?!1:$&&!Os(a)?a:I().isPaused()?!1:r?Os(H)?!1:l:Os(H)||l,te=!!(b&&e&&$&&J),q=Os(B.isValidating)?te:B.isValidating,Z=Os(B.isLoading)?te:B.isLoading,oe=_.useCallback(async ce=>{const ye=k.current;if(!b||!ye||S.current||I().isPaused())return!1;let Ee,xe,Se=!0;const be=ce||{},Ce=!p[b]||!be.dedupe,le=()=>v0e?!S.current&&b===x.current&&C.current:b===x.current,fe={isValidating:!1,isLoading:!1},we=()=>{T(fe)},me=()=>{const Ae=p[b];Ae&&Ae[1]===xe&&delete p[b]},Ie={isValidating:!0};Os(D().data)&&(Ie.isLoading=!0);try{if(Ce&&(T(Ie),t.loadingTimeout&&Os(D().data)&&setTimeout(()=>{Se&&le()&&I().onLoadingSlow(b,t)},t.loadingTimeout),p[b]=[ye(w),ZJ()]),[Ee,xe]=p[b],Ee=await Ee,Ce&&setTimeout(me,t.dedupingInterval),!p[b]||p[b][1]!==xe)return Ce&&le()&&I().onDiscarded(b),!1;fe.error=Gl;const Ae=m[b];if(!Os(Ae)&&(xe<=Ae[0]||xe<=Ae[1]||Ae[1]===0))return we(),Ce&&le()&&I().onDiscarded(b),!1;const We=D().data;fe.data=s(We,Ee)?We:Ee,Ce&&le()&&I().onSuccess(Ee,b,t)}catch(Ae){me();const We=I(),{shouldRetryOnError:it}=We;We.isPaused()||(fe.error=Ae,Ce&&le()&&(We.onError(Ae,b,We),(it===!0||ug(it)&&it(Ae))&&(!I().revalidateOnFocus||!I().revalidateOnReconnect||N())&&We.onErrorRetry(Ae,b,We,je=>{const Be=g[b];Be&&Be[0]&&Be[0](p0e,je)},{retryCount:(be.retryCount||0)+1,dedupe:!0})))}return Se=!1,we(),!0},[b,i]),pe=_.useCallback((...ce)=>X$e(i,x.current,...ce),[]);if(i3(()=>{k.current=e,L.current=t,Os(V)||(G.current=V)}),i3(()=>{if(!b)return;const ce=oe.bind(Gl,Fq);let ye=0;I().revalidateOnFocus&&(ye=Date.now()+I().focusThrottleInterval);const xe=V1t(b,g,(Se,be={})=>{if(Se==z$e){const Ce=Date.now();I().revalidateOnFocus&&Ce>ye&&N()&&(ye=Ce+I().focusThrottleInterval,ce())}else if(Se==U$e)I().revalidateOnReconnect&&N()&&ce();else{if(Se==K$e)return oe();if(Se==p0e)return oe(be)}});return S.current=!1,x.current=b,C.current=!0,T({_k:w}),J&&(p[b]||(Os(H)||dL?ce():I1t(ce))),()=>{S.current=!0,xe()}},[b]),i3(()=>{let ce;function ye(){const xe=ug(c)?c(D().data):c;xe&&ce!==-1&&(ce=setTimeout(Ee,xe))}function Ee(){!D().error&&(d||I().isVisible())&&(u||I().isOnline())?oe(Fq).then(ye):ye()}return ye(),()=>{ce&&(clearTimeout(ce),ce=-1)}},[c,d,u,b]),_.useDebugValue(Y),r){if(!v0e&&dL&&K)throw new Error("Fallback data is required when using Suspense in SSR.");K&&(k.current=e,L.current=t,S.current=!1);const ce=v[b],ye=!Os(ce)&&K?pe(ce):w0e;if(Aq(ye),!Os(U)&&K)throw U;const Ee=K?oe(Fq):w0e;!Os(Y)&&K&&(Ee.status="fulfilled",Ee.value=!0),Aq(Ee)}return{mutate:pe,get data(){return P.data=!0,Y},get error(){return P.error=!0,U},get isValidating(){return P.isValidating=!0,q},get isLoading(){return P.isLoading=!0,Z}}},U1t=aH.defineProperty(O1t,"defaultValue",{value:Z$e}),hi=W1t(z1t),yhe="vf_server_base_url",whe="vf_server_connection_picker_requested",K1t=(n,e)=>(n.trim()===""?"Vibe Forge Web":n.trim()).replace(/\s+\[[^\]]+\]$/,""),q1t=()=>globalThis.__VF_PROJECT_AI_RUNTIME_ENV__,e3e=(...n)=>n.find(e=>typeof e=="string"&&e.trim()!==""),G1t=n=>{let e=(n==null?void 0:n.trim())??"/ui";return e.startsWith("/")||(e=`/${e}`),e.length>1&&e.endsWith("/")&&(e=e.slice(0,-1)),e},X1t=n=>{let e=(n==null?void 0:n.trim())??"";return e?(e.startsWith("/")||(e=`/${e}`),e):"/ws"},Y1t=n=>{const e=n==null?void 0:n.trim();if(!(e==null||e===""||e==="0.0.0.0"||e==="::"||e==="[::]"))return e},Z1t=n=>/^[a-z][a-z\d+.-]*:\/\//i.test(n),qN=()=>{try{return globalThis.localStorage}catch{return}},t3e=()=>{var n;return((n=globalThis.location)==null?void 0:n.protocol)==="https:"?"https":"http"},n3e=()=>{var n;return(n=e3e(Ww().__VF_PROJECT_AI_CLIENT_MODE__,void 0,void 0))==null?void 0:n.trim().toLowerCase()},wd=n=>{const e=(n==null?void 0:n.trim())??"";if(e==="")return;const t=Z1t(e)?e:`${t3e()}://${e}`;try{const i=new URL(t);return i.protocol!=="http:"&&i.protocol!=="https:"?void 0:(i.hash="",i.search="",i.toString().replace(/\/$/,""))}catch{return}},i3e=(n,e)=>{const t=wd(n);if(t==null)throw new Error("Invalid server base URL");const i=e.replace(/^\/+/,"");return new URL(i,`${t}/`).toString()},s3e=()=>{var n;return wd(((n=qN())==null?void 0:n.getItem(yhe))??void 0)},Q1t=n=>{var t;const e=wd(n);if(e!=null)return(t=qN())==null||t.setItem(yhe,e),e},J1t=()=>{var n;(n=qN())==null||n.removeItem(yhe)},ext=()=>n3e()==="desktop",R7=()=>{const n=n3e();return n==="standalone"||n==="independent"||n==="desktop"},Ww=()=>q1t()??{},txt=(...n)=>G1t(e3e(...n)),Che=()=>txt(Ww().__VF_PROJECT_AI_CLIENT_BASE__,void 0,"/__VF_PROJECT_AI_CLIENT_BASE__/","/ui"),r3e=()=>Y1t(Ww().__VF_PROJECT_AI_SERVER_HOST__??void 0),o3e=()=>Ww().__VF_PROJECT_AI_SERVER_PORT__??void 0,a3e=()=>{var i;const n=wd(Ww().__VF_PROJECT_AI_SERVER_BASE_URL__??void 0);if(n!=null)return n;const e=r3e(),t=(i=o3e())==null?void 0:i.trim();if(!(e==null||t==null||t===""))return wd(`${e}:${t}`)},nxt=()=>{var n;return((n=qN())==null?void 0:n.getItem(whe))==="true"},l3e=({clearCurrentServer:n=!1}={})=>{var e;n&&J1t(),(e=qN())==null||e.setItem(whe,"true")},ixt=()=>{var n;(n=qN())==null||n.removeItem(whe)},sxt=()=>X1t(Ww().__VF_PROJECT_AI_SERVER_WS_PATH__??void 0),AA=()=>{var i;if(R7()){const s=s3e();if(s!=null)return s}const n=a3e();if(n!=null)return n;const e=r3e()??((i=globalThis.location)==null?void 0:i.hostname)??"localhost",t=o3e()??"8787";return wd(`${e}:${t}`)??`${t3e()}://localhost:8787`},c3e=n=>i3e(AA(),n),d3e="vf_server_base_url_history",u3e=()=>{try{return globalThis.localStorage}catch{return}},ey=n=>{const e=typeof n=="string"?n.trim():"";return e===""?void 0:e},rxt=(n,e)=>{if(typeof n=="string"){const d=wd(n);return d==null?void 0:{serverUrl:d,createdAt:e,lastConnectedAt:e}}if(n==null||typeof n!="object"||Array.isArray(n))return;const t=n,i=wd(t.serverUrl);if(i==null)return;const s=typeof t.createdAt=="number"?t.createdAt:e,r=typeof t.lastConnectedAt=="number"?t.lastConnectedAt:s,o=ey(t.alias),a=ey(t.description),l=ey(t.authToken),c=ey(t.serverVersion);return{serverUrl:i,createdAt:s,lastConnectedAt:r,...o!=null?{alias:o}:{},...a!=null?{description:a}:{},...l!=null?{authToken:l}:{},...c!=null?{serverVersion:c}:{}}},h3e=n=>[...n].sort((e,t)=>t.lastConnectedAt-e.lastConnectedAt),FA=n=>{var t;const e=h3e(n);return(t=u3e())==null||t.setItem(d3e,JSON.stringify(e)),e},hp=()=>{var e;const n=(e=u3e())==null?void 0:e.getItem(d3e);if(n==null||n.trim()==="")return[];try{const t=JSON.parse(n);if(!Array.isArray(t))return[];const i=new Map,s=Date.now();for(const r of t){const o=rxt(r,s);o==null||i.has(o.serverUrl)||i.set(o.serverUrl,o)}return h3e(Array.from(i.values()))}catch{return[]}},JJ=(n,e={})=>{const t=wd(n);if(t==null)return hp();const i=Date.now(),s=hp(),r=s.find(a=>a.serverUrl===t),o={...r,serverUrl:t,createdAt:(r==null?void 0:r.createdAt)??i,lastConnectedAt:i,...ey(e.serverVersion)!=null?{serverVersion:ey(e.serverVersion)}:{}};return FA([o,...s.filter(a=>a.serverUrl!==t)])},f3e=(n,e)=>{const t=wd(n);if(t==null)return hp();const i=Date.now(),s=hp(),r=s.find(u=>u.serverUrl===t),o=ey(e.alias),a=ey(e.description),{alias:l,description:c,...d}=r??{};return FA([{...d,serverUrl:t,createdAt:(r==null?void 0:r.createdAt)??i,lastConnectedAt:(r==null?void 0:r.lastConnectedAt)??i,...o!=null?{alias:o}:{},...a!=null?{description:a}:{}},...s.filter(u=>u.serverUrl!==t)])},oxt=n=>{const e=wd(n);return e==null?hp():FA(hp().filter(t=>t.serverUrl!==e))},axt=n=>{var e;return(e=hp().find(t=>t.serverUrl===wd(n)))==null?void 0:e.authToken},g3e=(n,e)=>{const t=e.trim();if(t==="")return;const i=JJ(n),s=wd(n);FA(i.map(r=>r.serverUrl===s?{...r,authToken:t}:r))},m3e=n=>{const e=wd(n);return e==null?hp():FA(hp().map(t=>{if(t.serverUrl!==e)return t;const{authToken:i,...s}=t;return s}))},lH="vf_auth_token",cH=()=>{try{return globalThis.localStorage}catch{return}},p3e=()=>{var i,s,r,o;const n=AA(),e=(i=axt(n))==null?void 0:i.trim();if(e!=null&&e!=="")return e;const t=(r=(s=cH())==null?void 0:s.getItem(lH))==null?void 0:r.trim();if(!(t==null||t===""))return g3e(n,t),(o=cH())==null||o.removeItem(lH),t},lxt=n=>{var t;const e=n.trim();e!==""&&(g3e(AA(),e),(t=cH())==null||t.removeItem(lH))},_3e=()=>{var n;m3e(AA()),(n=cH())==null||n.removeItem(lH)},cxt=n=>{const e=p3e();e==null||n.has("Authorization")||n.set("Authorization",`Bearer ${e}`)},Wo={"Content-Type":"application/json"},dxt=()=>new URL(v3e()).hostname,uxt=()=>{const{port:n,protocol:e}=new URL(v3e());return n!==""?n:e==="https:"?"443":"80"},v3e=()=>AA(),She=n=>n.startsWith("http://")||n.startsWith("https://")?n:c3e(n),Al=n=>new URL(She(n));class C0 extends Error{constructor(t,i){super(i.message);lt(this,"status");lt(this,"code");lt(this,"details");this.name="ApiError",this.status=t,this.code=i.code,this.details=i.details}}const dH=n=>n!=null&&typeof n=="object"&&!Array.isArray(n),hxt=n=>dH(n)&&n.success===!0&&"data"in n,b3e=n=>dH(n)&&n.success===!1&&dH(n.error)&&typeof n.error.message=="string"&&typeof n.error.code=="string",fxt=async n=>{const e=await n.text();if(e.trim()==="")return null;try{return JSON.parse(e)}catch{return e}},gxt=(n,e,t)=>{if(b3e(e))return new C0(n,e.error);if(dH(e)){const i=typeof e.error=="string"?e.error:typeof e.message=="string"?e.message:t,s=typeof e.code=="string"?e.code:"request_failed";return new C0(n,{code:s,message:i,...e.details!==void 0?{details:e.details}:{}})}return typeof e=="string"&&e.trim()!==""?new C0(n,{code:"request_failed",message:e}):new C0(n,{code:"request_failed",message:t})},y3e=async(n,e)=>{const t=await fxt(n);if(!n.ok){const i=e??`Request failed with status ${n.status}`,s=gxt(n.status,t,i);throw console.error(e??"[api] request failed",n.status,s.message,s.details),s}if(b3e(t))throw new C0(n.status,t.error);return hxt(t)?t.data:t},Oi=(n,e)=>n instanceof C0&&n.message.trim()!==""||n instanceof Error&&n.message.trim()!==""?n.message:e,w3e=n=>{const e=new Headers(n==null?void 0:n.headers);return cxt(e),{...n,credentials:(n==null?void 0:n.credentials)??"include",headers:e}};async function Vn(n,e){const t=typeof n=="string"?She(n):n.toString(),i=await fetch(t,w3e(e));return y3e(i)}async function $A(n,e,t){const i=typeof n=="string"?She(n):n.toString(),s=await fetch(i,w3e(e));return y3e(s,t)}const mxt=n=>{const e=n.trim(),t=e.startsWith("/")?e:`/${e}`;return t.endsWith("/")?t:`${t}/`},pxt=n=>{const e=mxt(n);return{scope:e,url:`${e}sw.js`}},_xt=n=>{if(!("serviceWorker"in navigator))return;const e=pxt(n.clientBase);window.addEventListener("load",()=>{navigator.serviceWorker.register(e.url,{scope:e.scope}).catch(t=>{console.warn("[pwa] service worker registration failed",t)})})},vxt=80,bxt=["input","textarea","select",'[contenteditable="true"]','[role="textbox"]'].join(","),$q=()=>globalThis.visualViewport,C3e=()=>{const n=document.activeElement;if(n instanceof HTMLElement)return n.matches(bxt)?n:void 0},yxt=()=>{const n=C3e();n!=null&&n.scrollIntoView({block:"center",inline:"nearest",behavior:"auto"})},wxt=()=>{var i,s;if(typeof window>"u")return;let n=0;const e=()=>{const r=$q(),o=(r==null?void 0:r.height)??window.innerHeight,a=(r==null?void 0:r.offsetTop)??0,l=C3e(),c=r==null||l==null?0:Math.max(0,window.innerHeight-o-a);document.documentElement.style.setProperty("--vf-visual-viewport-height",`${Math.round(o)}px`),document.documentElement.style.setProperty("--vf-keyboard-inset-bottom",`${Math.round(c)}px`),document.documentElement.classList.toggle("has-mobile-keyboard",c>vxt)},t=()=>{window.cancelAnimationFrame(n),n=window.requestAnimationFrame(()=>{e(),yxt()})};e(),(i=$q())==null||i.addEventListener("resize",t),(s=$q())==null||s.addEventListener("scroll",t),window.addEventListener("resize",t),window.addEventListener("orientationchange",t),document.addEventListener("focusin",t),document.addEventListener("focusout",()=>{window.setTimeout(e,120)})},S3e=()=>Vn("/api/auth/status"),Cxt=n=>$A("/api/auth/login",{method:"POST",headers:Wo,body:JSON.stringify(n)},"[api] login failed:"),Sxt=async()=>{const n=await $A("/api/auth/logout",{method:"POST",headers:Wo},"[api] logout failed:");return _3e(),n};function xxt({children:n}){const{t:e}=vt(),{data:t,error:i,isLoading:s,mutate:r}=hi("/api/auth/status",S3e),[o,a]=_.useState(null),[l,c]=_.useState(!1),d=(t==null?void 0:t.usernames[0])??"admin",u=R7(),h=()=>{l3e({clearCurrentServer:!0}),window.location.reload()};if(s)return y.jsx("div",{className:"auth-gate auth-gate--loading",children:y.jsx(Ya,{size:"large"})});if(i!=null)return y.jsx("div",{className:"auth-gate",children:y.jsxs("div",{className:"auth-gate__panel",children:[y.jsx(UB,{type:"error",showIcon:!0,message:e("auth.statusFailed"),description:Oi(i,e("auth.statusFailed"))}),u&&y.jsx(qe,{className:"auth-gate__secondary-action",htmlType:"button",onClick:h,block:!0,children:e("auth.changeServer")})]})});if(t==null||!t.enabled||t.authenticated)return n;const f=async g=>{var m;c(!0),a(null);try{const p=await Cxt({username:((m=g.username)==null?void 0:m.trim())??"",password:g.password??"",rememberDevice:g.rememberDevice===!0,returnToken:u});p.token!=null&&lxt(p.token),await r(p,{revalidate:!1})}catch(p){a(Oi(p,e("auth.loginFailed")))}finally{c(!1)}};return y.jsx("div",{className:"auth-gate",children:y.jsxs("main",{className:"auth-gate__panel","aria-labelledby":"auth-gate-title",children:[y.jsxs("div",{className:"auth-gate__intro",children:[y.jsx("h1",{id:"auth-gate-title",children:e("auth.title")}),y.jsx("p",{children:e("auth.subtitle")})]}),o!=null&&y.jsx(UB,{type:"error",showIcon:!0,className:"auth-gate__notice",message:o}),y.jsxs(zn,{layout:"vertical",requiredMark:!1,initialValues:{username:d,rememberDevice:!0},onFinish:g=>void f(g),children:[y.jsx(zn.Item,{name:"username",label:e("auth.username"),rules:[{required:!0,message:e("auth.usernameRequired")}],children:y.jsx(yn,{autoComplete:"username",size:"large",placeholder:e("auth.usernamePlaceholder")})}),y.jsx(zn.Item,{name:"password",label:e("auth.password"),rules:[{required:!0,message:e("auth.passwordRequired")}],children:y.jsx(yn.Password,{autoComplete:"current-password",size:"large",placeholder:e("auth.passwordPlaceholder")})}),y.jsx(zn.Item,{name:"rememberDevice",valuePropName:"checked",className:"auth-gate__remember",children:y.jsx(Og,{children:e("auth.rememberDevice")})}),t.passwordSource==="generated"&&y.jsx("p",{className:"auth-gate__hint",children:e("auth.generatedPasswordHint",{path:t.passwordFilePath??".data/web-auth-password"})}),y.jsx(qe,{type:"primary",htmlType:"submit",size:"large",loading:l,block:!0,children:e("auth.login")}),u&&y.jsx(qe,{className:"auth-gate__secondary-action",htmlType:"button",onClick:h,block:!0,children:e("auth.changeServer")})]})]})})}const R_={BASE_URL:"/__VF_PROJECT_AI_CLIENT_BASE__/",DEV:!1,MODE:"production",PROD:!0,SSR:!1,__VF_PROJECT_AI_CLIENT_COMMIT_HASH__:"a3c046e935f951dd2e731ea3b78965ddde70de7f",__VF_PROJECT_AI_CLIENT_VERSION__:"3.0.0-alpha.7",__VF_PROJECT_AI_DEV_GIT_REF__:""};function x3e(n){return"init"in n}function eee(n){return!!n.write}function C0e(n){return"v"in n||"e"in n}function uH(n){if("e"in n)throw n.e;if((R_?"production":void 0)!=="production"&&!("v"in n))throw new Error("[Bug] atom state is not initialized");return n.v}const hH=new WeakMap;function k3e(n){var e;return fH(n)&&!!((e=hH.get(n))!=null&&e[0])}function kxt(n){const e=hH.get(n);e!=null&&e[0]&&(e[0]=!1,e[1].forEach(t=>t()))}function tee(n,e){let t=hH.get(n);if(!t){t=[!0,new Set],hH.set(n,t);const i=()=>{t[0]=!1};n.then(i,i)}t[1].add(e)}function fH(n){return typeof(n==null?void 0:n.then)=="function"}function E3e(n,e,t){if(!t.p.has(n)){t.p.add(n);const i=()=>t.p.delete(n);e.then(i,i)}}function L3e(n,e,t){var i;const s=new Set;for(const r of((i=t.get(n))==null?void 0:i.t)||[])s.add(r);for(const r of e.p)s.add(r);return s}const Ext=(n,e,...t)=>e.read(...t),Lxt=(n,e,...t)=>e.write(...t),Ixt=(n,e)=>{if(e.INTERNAL_onInit)return e.INTERNAL_onInit(n);if(e.unstable_onInit)return console.warn("[DEPRECATED] atom.unstable_onInit is renamed to atom.INTERNAL_onInit."),e.unstable_onInit(n)},Nxt=(n,e,t)=>{var i;return(i=e.onMount)==null?void 0:i.call(e,t)},Dxt=(n,e)=>{var t;const i=Oc(n),s=i[0],r=i[6],o=i[9];if((R_?"production":void 0)!=="production"&&!e)throw new Error("Atom is undefined or null");let a=s.get(e);return a||(a={d:new Map,p:new Set,n:0},s.set(e,a),(t=r.i)==null||t.call(r,e),o==null||o(n,e)),a},Txt=n=>{const e=Oc(n),t=e[1],i=e[3],s=e[4],r=e[5],o=e[6],a=e[13],l=[],c=d=>{try{d()}catch(u){l.push(u)}};do{o.f&&c(o.f);const d=new Set,u=d.add.bind(d);i.forEach(h=>{var f;return(f=t.get(h))==null?void 0:f.l.forEach(u)}),i.clear(),r.forEach(u),r.clear(),s.forEach(u),s.clear(),d.forEach(c),i.size&&a(n)}while(i.size||r.size||s.size);if(l.length)throw new AggregateError(l)},Rxt=n=>{const e=Oc(n),t=e[1],i=e[2],s=e[3],r=e[11],o=e[14],a=e[17],l=[],c=new WeakSet,d=new WeakSet,u=Array.from(s);for(;u.length;){const h=u[u.length-1],f=r(n,h);if(d.has(h)){u.pop();continue}if(c.has(h)){if(i.get(h)===f.n)l.push([h,f]);else if((R_?"production":void 0)!=="production"&&i.has(h))throw new Error("[Bug] invalidated atom exists");d.add(h),u.pop();continue}c.add(h);for(const g of L3e(h,f,t))c.has(g)||u.push(g)}for(let h=l.length-1;h>=0;--h){const[f,g]=l[h];let m=!1;for(const p of g.d.keys())if(p!==f&&s.has(p)){m=!0;break}m&&(o(n,f),a(n,f)),i.delete(f)}},nee=new WeakSet,Mxt=(n,e)=>{var t,i;const s=Oc(n),r=s[1],o=s[2],a=s[3],l=s[6],c=s[7],d=s[11],u=s[12],h=s[13],f=s[14],g=s[16],m=s[17],p=s[20],v=d(n,e);if(C0e(v)){if(r.has(e)&&o.get(e)!==v.n)return v;let I=!1;for(const[N,D]of v.d)if(f(n,N).n!==D){I=!0;break}if(!I)return v}v.d.clear();let b=!0;function w(){r.has(e)&&(m(n,e),h(n),u(n))}function C(I){var N;if(I===e){const T=d(n,I);if(!C0e(T))if(x3e(I))p(n,I,I.init);else throw new Error("no atom init");return uH(T)}const D=f(n,I);try{return uH(D)}finally{v.d.set(I,D.n),k3e(v.v)&&E3e(e,v.v,D),r.has(e)&&((N=r.get(I))==null||N.t.add(e)),b||w()}}let S,x;const k={get signal(){return S||(S=new AbortController),S.signal},get setSelf(){return(R_?"production":void 0)!=="production"&&!eee(e)&&console.warn("setSelf function cannot be used with read-only atom"),!x&&eee(e)&&(x=(...I)=>{if((R_?"production":void 0)!=="production"&&b&&console.warn("setSelf function cannot be called in sync"),!b)try{return g(n,e,...I)}finally{h(n),u(n)}}),x}},L=v.n;try{(R_?"production":void 0)!=="production"&&nee.delete(n);const I=c(n,e,C,k);return(R_?"production":void 0)!=="production"&&nee.has(n)&&console.warn("Detected store mutation during atom read. This is not supported."),p(n,e,I),fH(I)&&(tee(I,()=>S==null?void 0:S.abort()),I.then(w,w)),(t=l.r)==null||t.call(l,e),v}catch(I){return delete v.v,v.e=I,++v.n,v}finally{b=!1,L!==v.n&&o.get(e)===L&&(o.set(e,v.n),a.add(e),(i=l.c)==null||i.call(l,e))}},Pxt=(n,e)=>{const t=Oc(n),i=t[1],s=t[2],r=t[11],o=[e];for(;o.length;){const a=o.pop(),l=r(n,a);for(const c of L3e(a,l,i)){const d=r(n,c);s.set(c,d.n),o.push(c)}}},Oxt=(n,e,...t)=>{const i=Oc(n),s=i[3],r=i[6],o=i[8],a=i[11],l=i[12],c=i[13],d=i[14],u=i[15],h=i[16],f=i[17],g=i[20];let m=!0;const p=b=>uH(d(n,b)),v=(b,...w)=>{var C;const S=a(n,b);try{if(b===e){if(!x3e(b))throw new Error("atom not writable");(R_?"production":void 0)!=="production"&&nee.add(n);const x=S.n,k=w[0];g(n,b,k),f(n,b),x!==S.n&&(s.add(b),u(n,b),(C=r.c)==null||C.call(r,b));return}else return h(n,b,...w)}finally{m||(c(n),l(n))}};try{return o(n,e,p,v,...t)}finally{m=!1}},Axt=(n,e)=>{var t;const i=Oc(n),s=i[1],r=i[3],o=i[6],a=i[11],l=i[15],c=i[18],d=i[19],u=a(n,e),h=s.get(e);if(h&&!k3e(u.v)){for(const[f,g]of u.d)if(!h.d.has(f)){const m=a(n,f);c(n,f).t.add(e),h.d.add(f),g!==m.n&&(r.add(f),l(n,f),(t=o.c)==null||t.call(o,f))}for(const f of h.d)if(!u.d.has(f)){h.d.delete(f);const g=d(n,f);g==null||g.t.delete(e)}}},Fxt=(n,e)=>{var t;const i=Oc(n),s=i[1],r=i[4],o=i[6],a=i[10],l=i[11],c=i[12],d=i[13],u=i[14],h=i[16],f=i[18],g=l(n,e);let m=s.get(e);if(!m){u(n,e);for(const p of g.d.keys())f(n,p).t.add(e);if(m={l:new Set,d:new Set(g.d.keys()),t:new Set},s.set(e,m),eee(e)){const p=()=>{let v=!0;const b=(...w)=>{try{return h(n,e,...w)}finally{v||(d(n),c(n))}};try{const w=a(n,e,b);w&&(m.u=()=>{v=!0;try{w()}finally{v=!1}})}finally{v=!1}};r.add(p)}(t=o.m)==null||t.call(o,e)}return m},$xt=(n,e)=>{var t,i;const s=Oc(n),r=s[1],o=s[5],a=s[6],l=s[11],c=s[19],d=l(n,e);let u=r.get(e);if(!u||u.l.size)return u;let h=!1;for(const f of u.t)if((t=r.get(f))!=null&&t.d.has(e)){h=!0;break}if(!h){u.u&&o.add(u.u),u=void 0,r.delete(e);for(const f of d.d.keys()){const g=c(n,f);g==null||g.t.delete(e)}(i=a.u)==null||i.call(a,e);return}return u},Bxt=(n,e,t)=>{const i=Oc(n)[11],s=i(n,e),r="v"in s,o=s.v;if(fH(t))for(const a of s.d.keys())E3e(e,t,i(n,a));s.v=t,delete s.e,(!r||!Object.is(o,s.v))&&(++s.n,fH(o)&&kxt(o))},Hxt=(n,e)=>{const t=Oc(n)[14];return uH(t(n,e))},jxt=(n,e,...t)=>{const i=Oc(n),s=i[12],r=i[13],o=i[16];try{return o(n,e,...t)}finally{r(n),s(n)}},Wxt=(n,e,t)=>{const i=Oc(n),s=i[12],r=i[18],o=i[19],l=r(n,e).l;return l.add(t),s(n),()=>{l.delete(t),o(n,e),s(n)}},I3e=new WeakMap,Oc=n=>{const e=I3e.get(n);if((R_?"production":void 0)!=="production"&&!e)throw new Error("Store must be created by buildStore to read its building blocks");return e};function Vxt(...n){const e={get(i){const s=Oc(e)[21];return s(e,i)},set(i,...s){const r=Oc(e)[22];return r(e,i,...s)},sub(i,s){const r=Oc(e)[23];return r(e,i,s)}},t=[new WeakMap,new WeakMap,new WeakMap,new Set,new Set,new Set,{},Ext,Lxt,Ixt,Nxt,Dxt,Txt,Rxt,Mxt,Pxt,Oxt,Axt,Fxt,$xt,Bxt,Hxt,jxt,Wxt,void 0].map((i,s)=>n[s]||i);return I3e.set(e,Object.freeze(t)),e}const N3e={};let zxt=0;function bu(n,e){const t=`atom${++zxt}`,i={toString(){return(N3e?"production":void 0)!=="production"&&this.debugLabel?t+":"+this.debugLabel:t}};return typeof n=="function"?i.read=n:(i.init=n,i.read=Uxt,i.write=Kxt),e&&(i.write=e),i}function Uxt(n){return n(this)}function Kxt(n,e,t){return e(this,typeof t=="function"?t(n(this)):t)}function qxt(){return Vxt()}let UD;function Gxt(){return UD||(UD=qxt(),(N3e?"production":void 0)!=="production"&&(globalThis.__JOTAI_DEFAULT_STORE__||(globalThis.__JOTAI_DEFAULT_STORE__=UD),globalThis.__JOTAI_DEFAULT_STORE__!==UD&&console.warn("Detected multiple Jotai instances. It may cause unexpected behavior with the default store. https://github.com/pmndrs/jotai/discussions/2044"))),UD}const Xxt={},Yxt=_.createContext(void 0);function D3e(n){return _.useContext(Yxt)||Gxt()}const iee=n=>typeof(n==null?void 0:n.then)=="function",see=n=>{n.status||(n.status="pending",n.then(e=>{n.status="fulfilled",n.value=e},e=>{n.status="rejected",n.reason=e}))},Zxt=ie.use||(n=>{if(n.status==="pending")throw n;if(n.status==="fulfilled")return n.value;throw n.status==="rejected"?n.reason:(see(n),n)}),Bq=new WeakMap,S0e=(n,e)=>{let t=Bq.get(n);return t||(t=new Promise((i,s)=>{let r=n;const o=c=>d=>{r===c&&i(d)},a=c=>d=>{r===c&&s(d)},l=()=>{try{const c=e();iee(c)?(Bq.set(c,t),r=c,c.then(o(c),a(c)),tee(c,l)):i(c)}catch(c){s(c)}};n.then(o(n),a(n)),tee(n,l)}),Bq.set(n,t)),t};function yu(n,e){const{delay:t,unstable_promiseStatus:i=!ie.use}={},s=D3e(),[[r,o,a],l]=_.useReducer(d=>{const u=s.get(n);return Object.is(d[0],u)&&d[1]===s&&d[2]===n?d:[u,s,n]},void 0,()=>[s.get(n),s,n]);let c=r;if((o!==s||a!==n)&&(l(),c=s.get(n)),_.useEffect(()=>{const d=s.sub(n,()=>{if(i)try{const u=s.get(n);iee(u)&&see(S0e(u,()=>s.get(n)))}catch{}if(typeof t=="number"){setTimeout(l,t);return}l()});return l(),d},[s,n,t,i]),_.useDebugValue(c),iee(c)){const d=S0e(c,()=>s.get(n));return i&&see(d),Zxt(d)}return c}function BA(n,e){const t=D3e();return _.useCallback((...s)=>{if((Xxt?"production":void 0)!=="production"&&!("write"in n))throw new Error("not writable atom");return t.set(n,...s)},[t,n])}function Hb(n,e){return[yu(n),BA(n)]}const T3e="(max-width: 960px)",R3e="(hover: none), (pointer: coarse)",M3e={isCompactLayout:!1,isTouchInteraction:!1},s3=new Set;let uL=null,hL=null,fL=M3e,Hq=!1,XT=null;const x0e=n=>typeof window>"u"||typeof window.matchMedia!="function"?!1:window.matchMedia(n).matches,P3e=()=>({isCompactLayout:(uL==null?void 0:uL.matches)??x0e(T3e),isTouchInteraction:(hL==null?void 0:hL.matches)??x0e(R3e)}),O3e=(n,e)=>n.isCompactLayout===e.isCompactLayout&&n.isTouchInteraction===e.isTouchInteraction,A3e=()=>{const n=P3e();return O3e(fL,n)||(fL=n),fL},k0e=()=>{const n=P3e();O3e(fL,n)||(fL=n,s3.forEach(e=>e()))},E0e=(n,e)=>typeof n.addEventListener=="function"?(n.addEventListener("change",e),()=>n.removeEventListener("change",e)):(n.addListener(e),()=>n.removeListener(e)),Qxt=()=>{if(Hq||typeof window>"u"||typeof window.matchMedia!="function")return;uL=window.matchMedia(T3e),hL=window.matchMedia(R3e),fL=A3e();const n=E0e(uL,k0e),e=E0e(hL,k0e);XT=()=>{n(),e(),uL=null,hL=null,Hq=!1},Hq=!0},Jxt=n=>(Qxt(),s3.add(n),()=>{s3.delete(n),s3.size===0&&(XT==null||XT(),XT=null)}),ekt=()=>A3e();function Lr(){return _.useSyncExternalStore(Jxt,ekt,()=>M3e)}const tkt=bu(Number(localStorage.getItem("sidebarWidth"))||300),F3e=bu(!1),$3e=bu(!1),B3e=bu(!1);bu(void 0);const H3e="theme",j3e=n=>n==="light"||n==="dark"||n==="system",nkt=()=>{try{const n=localStorage.getItem(H3e);if(n!=null&&j3e(n))return n}catch{}return"system"},L0e=bu(nkt()),M7=bu(n=>n(L0e),(n,e,t)=>{const i=j3e(t)?t:"system";e(L0e,i);try{localStorage.setItem(H3e,i)}catch{}}),ikt=(n,e)=>{try{const t=localStorage.getItem(n);if(t==="true")return!0;if(t==="false")return!1}catch{}return e},W3e=(n,e)=>{const t=bu(ikt(n,e));return bu(i=>i(t),(i,s,r)=>{const o=r===!0;s(t,o);try{localStorage.setItem(n,String(o))}catch{}})},skt=(n,e)=>{try{const t=localStorage.getItem(n);if(t==null||t.trim()==="")return e;const i=Number(t);if(Number.isInteger(i)&&i>=0)return i}catch{}return e},rkt=(n,e)=>{const t=bu(skt(n,e));return bu(i=>i(t),(i,s,r)=>{const o=Number.isInteger(r)&&r>=0?r:e;s(t,o);try{localStorage.setItem(n,String(o))}catch{}})},V3e="vf_sender_header_default_display",z3e=n=>n==="expanded"||n==="collapsed",okt=()=>{try{const n=localStorage.getItem(V3e);if(n!=null&&z3e(n))return n}catch{}return"expanded"},I0e=bu(okt()),U3e=bu(n=>n(I0e),(n,e,t)=>{const i=z3e(t)?t:"expanded";e(I0e,i);try{localStorage.setItem(V3e,i)}catch{}}),akt="vf_show_announcements",lkt="vf_show_new_session_starter_list",ckt="vf_session_list_search_threshold",dkt=5,K3e=W3e(akt,!0),q3e=W3e(lkt,!0),G3e=rkt(ckt,dkt);function ukt({actions:n,isOpen:e,languageActions:t,languageLabel:i,moreLabel:s,onClose:r,themeActions:o,themeLabel:a}){var u,h;const l=((u=t.find(f=>f.active))==null?void 0:u.key)??((h=t[0])==null?void 0:h.key)??"",c=f=>{f.onSelect(),r()},d=f=>{f.onSelect()};return y.jsxs(y.Fragment,{children:[y.jsx("button",{type:"button",className:`nav-rail-compact-sheet-backdrop ${e?"is-open":""}`,"aria-hidden":!e,tabIndex:-1,onClick:r}),y.jsxs("div",{className:`nav-rail-compact-sheet ${e?"is-open":""}`,role:"dialog","aria-modal":e?"true":void 0,"aria-hidden":!e,"aria-label":s,children:[y.jsx("div",{className:"nav-rail-compact-sheet__handle"}),n.length>0&&y.jsxs("div",{className:"nav-rail-compact-sheet__section",children:[y.jsxs("div",{className:"nav-rail-compact-sheet__section-title",children:[y.jsx("span",{className:"material-symbols-rounded nav-rail-compact-sheet__section-title-icon",children:"tune"}),y.jsx("span",{children:s})]}),y.jsx("div",{className:"nav-rail-compact-sheet__actions",children:n.map(f=>y.jsxs("button",{type:"button",className:`nav-rail-compact-sheet__action ${f.active?"is-active":""}`,onClick:()=>c(f),children:[y.jsx("span",{className:"material-symbols-rounded",children:f.icon}),y.jsx("span",{children:f.label})]},f.key))})]}),y.jsxs("div",{className:"nav-rail-compact-sheet__section",children:[y.jsxs("div",{className:"nav-rail-compact-sheet__section-title",children:[y.jsx("span",{className:"material-symbols-rounded nav-rail-compact-sheet__section-title-icon",children:"palette"}),y.jsx("span",{children:a})]}),y.jsx("div",{className:"nav-rail-compact-sheet__segmented",children:o.map(f=>y.jsxs("button",{type:"button",className:`nav-rail-compact-sheet__segment ${f.active?"is-active":""}`,onClick:()=>d(f),children:[f.icon!=null&&y.jsx("span",{className:"material-symbols-rounded nav-rail-compact-sheet__segment-icon",children:f.icon}),y.jsx("span",{children:f.label})]},f.key))})]}),y.jsxs("div",{className:"nav-rail-compact-sheet__section",children:[y.jsxs("div",{className:"nav-rail-compact-sheet__section-title",children:[y.jsx("span",{className:"material-symbols-rounded nav-rail-compact-sheet__section-title-icon",children:"language"}),y.jsx("span",{children:i})]}),y.jsxs("label",{className:"nav-rail-compact-sheet__select-shell",children:[y.jsx("span",{className:"material-symbols-rounded nav-rail-compact-sheet__select-icon",children:"translate"}),y.jsx("select",{className:"nav-rail-compact-sheet__select",value:l,"aria-label":i,onChange:f=>{const g=t.find(m=>m.key===f.target.value);g!=null&&d(g)},children:t.map(f=>y.jsx("option",{value:f.key,children:f.label},f.key))}),y.jsx("span",{className:"material-symbols-rounded nav-rail-compact-sheet__select-chevron",children:"expand_more"})]})]})]})]})}function hkt({ariaHidden:n=!1,currentPath:e,languageActions:t,languageLabel:i,moreLabel:s,moreSheetActions:r,navItems:o,themeActions:a,themeLabel:l,onNavClick:c}){const[d,u]=_.useState(!1);return _.useEffect(()=>{u(!1)},[e]),_.useEffect(()=>{n&&u(!1)},[n]),y.jsxs("div",{className:"nav-rail nav-rail--compact","aria-hidden":n||void 0,children:[y.jsxs("div",{className:"nav-rail-compact-list",children:[o.map(h=>y.jsx(qe,{type:"text",className:`nav-item nav-item--compact ${h.active?"active":""}`,title:h.label,"aria-label":h.label,onClick:()=>{u(!1),c(h.key,h.path)},icon:y.jsx("span",{className:"material-symbols-rounded",children:h.icon})},h.key)),y.jsx(qe,{type:"text",className:`nav-item nav-item--compact ${d||e==="/config"?"active":""}`,title:s,"aria-expanded":d,"aria-haspopup":"dialog","aria-label":s,onClick:()=>u(h=>!h),icon:y.jsx("span",{className:"material-symbols-rounded",children:"more_horiz"})})]}),y.jsx(ukt,{actions:r,isOpen:d,languageActions:t,languageLabel:i,moreLabel:s,onClose:()=>u(!1),themeActions:a,themeLabel:l})]})}function fkt(){const{t:n}=vt(),{message:e}=ar.useApp(),{mutate:t}=KN(),{data:i}=hi("/api/auth/status",S3e),s=R7(),r=(i==null?void 0:i.enabled)===!0,o=ie.useCallback(async()=>{try{await t("/api/auth/status")}catch{}},[t]),a=ie.useCallback(()=>{l3e({clearCurrentServer:!0}),window.location.reload()},[]),l=ie.useCallback(async()=>{try{await Sxt(),await o()}catch(u){_3e(),await o(),e.error(Oi(u,n("auth.logoutFailed")))}},[e,o,n]),c=ie.useMemo(()=>{const u=[];return s&&u.push({key:"change-server",label:n("auth.changeServer"),icon:y.jsx("span",{className:"material-symbols-rounded nav-menu-icon",children:"sync_alt"}),onClick:a}),r&&(u.length>0&&u.push({key:"account-divider",type:"divider"}),u.push({key:"logout",label:n("auth.logout"),danger:!0,icon:y.jsx("span",{className:"material-symbols-rounded nav-menu-icon",children:"logout"}),onClick:()=>{l()}})),u},[r,s,a,l,n]),d=ie.useMemo(()=>[...s?[{icon:"sync_alt",key:"change-server",label:n("auth.changeServer"),onSelect:a}]:[],...r?[{icon:"logout",key:"logout",label:n("auth.logout"),onSelect:()=>{l()}}]:[]],[r,s,a,l,n]);return{accountItems:c,accountMenuLabel:n("auth.accountMenu"),compactAccountActions:d,showAccountMenu:c.length>0}}function gkt({currentPath:n,navigate:e,onOpenSidebar:t,showSidebar:i,t:s}){const r=[];return i&&t!=null&&r.push({active:n==="/"||n.startsWith("/session/"),icon:"menu",key:"sessions",label:s("common.sessions"),onSelect:t}),r.push({active:n==="/config",icon:"settings",key:"settings",label:s("common.settings"),onSelect:()=>{e("/config")}}),r}function mkt({setThemeMode:n,t:e,themeMode:t}){return[{active:t==="light",icon:"light_mode",key:"light",label:e("common.themeLight"),onSelect:()=>{n("light"),localStorage.setItem("theme","light")}},{active:t==="dark",icon:"dark_mode",key:"dark",label:e("common.themeDark"),onSelect:()=>{n("dark"),localStorage.setItem("theme","dark")}},{active:t==="system",icon:"desktop_windows",key:"system",label:e("common.themeSystem"),onSelect:()=>{n("system"),localStorage.setItem("theme","system")}}]}function pkt({currentLanguage:n,onChangeLanguage:e}){return[{active:n.startsWith("zh"),key:"zh",label:"简体中文",onSelect:()=>{e("zh")}},{active:n.startsWith("en"),key:"en",label:"English",onSelect:()=>{e("en")}}]}function _kt({currentLanguage:n,onChangeLanguage:e}){return[{key:"zh",label:"简体中文",icon:n.startsWith("zh")?y.jsx("span",{className:"material-symbols-rounded nav-menu-icon active",children:"check"}):y.jsx("div",{className:"nav-menu-icon-placeholder"}),onClick:()=>{e("zh")}},{key:"en",label:"English",icon:n.startsWith("en")?y.jsx("span",{className:"material-symbols-rounded nav-menu-icon active",children:"check"}):y.jsx("div",{className:"nav-menu-icon-placeholder"}),onClick:()=>{e("en")}}]}function vkt({setThemeMode:n,t:e,themeMode:t}){return[{key:"light",label:e("common.themeLight"),icon:t==="light"?y.jsx("span",{className:"material-symbols-rounded nav-menu-icon active",children:"check"}):y.jsx("span",{className:"material-symbols-rounded nav-menu-icon",children:"light_mode"}),onClick:()=>{n("light"),localStorage.setItem("theme","light")}},{key:"dark",label:e("common.themeDark"),icon:t==="dark"?y.jsx("span",{className:"material-symbols-rounded nav-menu-icon active",children:"check"}):y.jsx("span",{className:"material-symbols-rounded nav-menu-icon",children:"dark_mode"}),onClick:()=>{n("dark"),localStorage.setItem("theme","dark")}},{key:"system",label:e("common.themeSystem"),icon:t==="system"?y.jsx("span",{className:"material-symbols-rounded nav-menu-icon active",children:"check"}):y.jsx("span",{className:"material-symbols-rounded nav-menu-icon",children:"desktop_windows"}),onClick:()=>{n("system"),localStorage.setItem("theme","system")}}]}function bkt({currentPath:n,t:e}){return[{key:"sessions",icon:"chat_bubble",label:e("common.sessions"),path:"/",active:n==="/"||n.startsWith("/session/")},{key:"knowledge",icon:"library_books",label:e("common.knowledgeBase"),path:"/knowledge",active:n==="/knowledge"},{key:"automation",icon:"schedule",label:e("common.automation"),path:"/automation",active:n==="/automation"},{key:"benchmark",icon:"speed",label:e("common.benchmark"),path:"/benchmark",active:n==="/benchmark"},{key:"archive",icon:"archive",label:e("common.archivedSessions"),path:"/archive",active:n==="/archive"}]}function N0e({ariaHidden:n=!1,isCompactLayout:e=!1,onOpenSidebar:t,showSidebar:i=!1}){const{t:s,i18n:r}=vt(),[o,a]=Hb(M7),l=Tf(),c=Sh(),{isTouchInteraction:d}=Lr(),{accountItems:u,accountMenuLabel:h,compactAccountActions:f,showAccountMenu:g}=fkt(),m=c.pathname,p=L=>d?void 0:L,v=ie.useMemo(()=>_kt({currentLanguage:r.language,onChangeLanguage:L=>r.changeLanguage(L)}),[r.language]),b=ie.useMemo(()=>vkt({setThemeMode:a,t:s,themeMode:o}),[a,s,o]),w=ie.useMemo(()=>bkt({currentPath:m,t:s}),[m,s]),C=ie.useMemo(()=>[...gkt({currentPath:m,navigate:l,onOpenSidebar:t,showSidebar:i,t:s}),...f],[f,m,l,t,i,s]),S=ie.useMemo(()=>mkt({setThemeMode:a,t:s,themeMode:o}),[a,s,o]),x=ie.useMemo(()=>pkt({currentLanguage:r.language,onChangeLanguage:L=>{r.changeLanguage(L)}}),[r.language]),k=(L,I)=>{l(I)};return e?y.jsx(hkt,{ariaHidden:n,currentPath:m,languageActions:x,languageLabel:s("common.language"),moreLabel:s("common.moreActions"),moreSheetActions:C,navItems:w,themeActions:S,themeLabel:s("common.theme"),onNavClick:k}):y.jsxs("div",{className:"nav-rail","aria-hidden":n||void 0,children:[y.jsx("div",{className:"nav-rail-top",children:w.map(L=>y.jsx(Qe,{title:p(L.label),placement:"right",children:y.jsx("span",{children:y.jsx(qe,{type:"text",className:`nav-item ${L.active?"active":""}`,onClick:()=>k(L.key,L.path),icon:y.jsx("span",{className:"material-symbols-rounded",children:L.icon})})})},L.key))}),y.jsxs("div",{className:"nav-rail-bottom",children:[y.jsx(Qe,{title:p(s("common.theme")),placement:"right",children:y.jsx("span",{children:y.jsx(ta,{menu:{items:b},placement:"topRight",trigger:["click"],children:y.jsx(qe,{type:"text",className:"nav-item",icon:y.jsx("span",{className:"material-symbols-rounded",children:o==="light"?"light_mode":o==="dark"?"dark_mode":"desktop_windows"})})})})}),y.jsx(Qe,{title:p(s("common.language")),placement:"right",children:y.jsx("span",{children:y.jsx(ta,{menu:{items:v},placement:"topRight",trigger:["click"],children:y.jsx(qe,{type:"text",className:"nav-item",icon:y.jsx("span",{className:"material-symbols-rounded",children:"language"})})})})}),g&&y.jsx(Qe,{title:p(h),placement:"right",children:y.jsx("span",{children:y.jsx(ta,{menu:{items:u},placement:"topRight",trigger:["click"],children:y.jsx(qe,{type:"text",className:"nav-item",icon:y.jsx("span",{className:"material-symbols-rounded",children:"account_circle"})})})})}),y.jsx(Qe,{title:p(s("common.settings")),placement:"right",children:y.jsx("span",{children:y.jsx(qe,{type:"text",className:`nav-item ${m==="/config"?"active":""}`,icon:y.jsx("span",{className:"material-symbols-rounded",children:"settings"}),onClick:()=>void l("/config")})})})]})]})}async function xhe(n,e={}){const t=Al(`/api/adapters/${encodeURIComponent(n)}/accounts`);return e.model!=null&&e.model.trim()!==""&&t.searchParams.set("model",e.model),e.account!=null&&e.account.trim()!==""&&t.searchParams.set("account",e.account),e.refresh===!0&&t.searchParams.set("refresh","true"),Vn(t)}async function D0e(n,e,t={}){const i=Al(`/api/adapters/${encodeURIComponent(n)}/accounts/${encodeURIComponent(e)}`);return t.model!=null&&t.model.trim()!==""&&i.searchParams.set("model",t.model),t.refresh===!0&&i.searchParams.set("refresh","true"),Vn(i)}async function gH(n,e,t){return Vn(Al(`/api/adapters/${encodeURIComponent(n)}/accounts/actions`),{method:"POST",headers:Wo,body:JSON.stringify(e),...t})}async function ykt(){return Vn("/api/automation/rules")}async function wkt(n){return Vn("/api/automation/rules",{method:"POST",headers:Wo,body:JSON.stringify(n)})}async function T0e(n,e){return Vn(`/api/automation/rules/${n}`,{method:"PATCH",headers:Wo,body:JSON.stringify(e)})}async function Ckt(n){return Vn(`/api/automation/rules/${n}`,{method:"DELETE"})}async function Skt(n){return Vn(`/api/automation/rules/${n}/run`,{method:"POST"})}async function xkt(n,e=50){const t=Al(`/api/automation/rules/${n}/runs`);return t.searchParams.set("limit",e.toString()),Vn(t)}async function kkt(){return Vn("/api/benchmark/categories")}async function Ekt(n){const e=Al("/api/benchmark/cases");return Vn(e)}async function Lkt(n,e){return Vn(`/api/benchmark/results/${encodeURIComponent(n)}/${encodeURIComponent(e)}`)}async function D4(n){return $A("/api/benchmark/run",{method:"POST",headers:Wo,body:JSON.stringify(n)},"Failed to start benchmark run")}async function Ikt(n){return Vn(`/api/benchmark/runs/${encodeURIComponent(n)}`)}async function Vw(){return Vn("/api/config")}async function Nkt(){return Vn("/api/config/schema")}async function khe(n,e,t){return $A("/api/config",{method:"PATCH",headers:Wo,body:JSON.stringify({source:n,section:e,value:t})},"[api] update config failed:")}async function X3e(n){return Vn(`/api/sessions/${n}/git`)}async function Y3e(){return Vn("/api/workspace/git")}async function Dkt(n){return Vn(`/api/sessions/${n}/git/branches`)}async function Tkt(){return Vn("/api/workspace/git/branches")}async function Rkt(n){return Vn(`/api/sessions/${n}/git/worktrees`)}async function Mkt(){return Vn("/api/workspace/git/worktrees")}async function Pkt(n,e){return Vn(`/api/sessions/${n}/git/checkout`,{method:"POST",headers:Wo,body:JSON.stringify(e)})}async function Okt(n,e){return Vn(`/api/sessions/${n}/git/branches`,{method:"POST",headers:Wo,body:JSON.stringify(e)})}async function Akt(n,e){return Vn(`/api/sessions/${n}/git/commit`,{method:"POST",headers:Wo,body:JSON.stringify(e)})}async function Z3e(n,e={}){return Vn(`/api/sessions/${n}/git/push`,{method:"POST",headers:Wo,body:JSON.stringify(e)})}async function Fkt(n){return Vn(`/api/sessions/${n}/git/sync`,{method:"POST"})}async function $kt(){return Vn("/api/ai/skills")}async function Bkt(n){return Vn("/api/ai/skills",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)})}async function Hkt(n){return Vn("/api/ai/skills/import",{method:"POST",headers:{"Content-Type":n.type||"application/octet-stream","x-file-name":encodeURIComponent(n.name)},body:n})}async function jkt(n){const e=Al("/api/ai/specs/detail");return e.searchParams.set("path",n),Vn(e)}async function Wkt(n){const e=Al("/api/ai/rules/detail");return e.searchParams.set("path",n),Vn(e)}async function Q3e(n="active"){return Vn(n==="archived"?"/api/sessions/archived":"/api/sessions")}async function Vkt(n,e,t,i,s){return Vn("/api/sessions",{method:"POST",headers:Wo,body:JSON.stringify({title:n,initialMessage:e,initialContent:t,model:i,start:s==null?void 0:s.start,parentSessionId:s==null?void 0:s.parentSessionId,id:s==null?void 0:s.id,promptType:s==null?void 0:s.promptType,promptName:s==null?void 0:s.promptName,effort:s==null?void 0:s.effort,permissionMode:s==null?void 0:s.permissionMode,adapter:s==null?void 0:s.adapter,account:s==null?void 0:s.account,updateSkills:s==null?void 0:s.updateSkills,workspace:s==null?void 0:s.workspace})})}async function zkt(n,e,t,i){return Vn(`/api/sessions/${n}/messages/${e}/branch`,{method:"POST",headers:Wo,body:JSON.stringify({action:t,content:i==null?void 0:i.content,title:i==null?void 0:i.title})})}async function J3e(n,e){const t=Al(`/api/sessions/${n}/messages`);return Vn(t)}async function Ukt(n){return Vn(`/api/sessions/${n}/workspace`)}async function Kkt(n){return Vn(`/api/sessions/${n}/workspace/create-worktree`,{method:"POST"})}async function qkt(n){return Vn(`/api/sessions/${n}/workspace/transfer-local`,{method:"POST"})}async function Gkt(n,e){const t=Al(`/api/sessions/${n}/workspace/tree`);return e!=null&&e.trim()!==""&&t.searchParams.set("path",e),Vn(t)}async function Xkt(n,e){const t=Al(`/api/sessions/${n}/workspace/file`);return t.searchParams.set("path",e),Vn(t)}function Ykt(n,e){const t=Al(`/api/sessions/${n}/workspace/resource`);return t.searchParams.set("path",e),t.toString()}async function Zkt(n,e,t){return Vn(`/api/sessions/${n}/workspace/file`,{method:"PUT",headers:Wo,body:JSON.stringify({path:e,content:t})})}async function Qkt(n,e,t){return Vn(`/api/sessions/${n}/events`,{method:"POST",headers:Wo,body:JSON.stringify({type:"interaction_response",id:e,data:t})})}async function DI(n,e={}){const t=Al(`/api/sessions/${n}`);return e.force===!0&&t.searchParams.set("force","true"),$A(t,{method:"DELETE"},"[api] delete session failed:")}async function fg(n,e){return Vn(`/api/sessions/${n}`,{method:"PATCH",headers:Wo,body:JSON.stringify(e)})}async function Jkt(n,e){return fg(n,{title:e})}async function eEt(n,e,t){return Vn(`/api/sessions/${n}/queued-messages`,{method:"POST",headers:Wo,body:JSON.stringify({mode:e,content:t})})}async function tEt(n,e,t){return Vn(`/api/sessions/${n}/queued-messages/${e}`,{method:"PATCH",headers:Wo,body:JSON.stringify({content:t})})}async function nEt(n,e){return Vn(`/api/sessions/${n}/queued-messages/${e}`,{method:"DELETE"})}async function iEt(n,e,t){return Vn(`/api/sessions/${n}/queued-messages/${e}/move`,{method:"POST",headers:Wo,body:JSON.stringify({mode:t})})}async function sEt(n,e,t){return Vn(`/api/sessions/${n}/queued-messages/reorder`,{method:"POST",headers:Wo,body:JSON.stringify({mode:e,ids:t})})}async function rEt(n={}){const e=Al("/api/skill-hub/search");return n.limit!=null&&e.searchParams.set("limit",String(n.limit)),n.registry!=null&&n.registry!==""&&e.searchParams.set("registry",n.registry),n.query!=null&&n.query!==""&&e.searchParams.set("q",n.query),Vn(e)}async function oEt(n){return Vn("/api/skill-hub/install",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)})}async function aEt(n){const e=Al("/api/skill-hub/skills-cli/search");return e.searchParams.set("source",n.source),n.limit!=null&&e.searchParams.set("limit",String(n.limit)),n.query!=null&&n.query!==""&&e.searchParams.set("q",n.query),n.registry!=null&&n.registry!==""&&e.searchParams.set("registry",n.registry),Vn(e)}async function lEt(n){return Vn("/api/skill-hub/skills-cli/install",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)})}async function cEt(n){const e=Al("/api/workspace/tree");return n!=null&&n.trim()!==""&&e.searchParams.set("path",n),Vn(e)}async function dEt(n){const e=Al("/api/workspace/file");return e.searchParams.set("path",n),Vn(e)}function uEt(n){const e=Al("/api/workspace/resource");return e.searchParams.set("path",n),e.toString()}async function hEt(n,e){return Vn("/api/workspace/file",{method:"PUT",headers:Wo,body:JSON.stringify({path:n,content:e})})}async function Ehe(){return Vn("/api/worktree-environments")}const Lhe=n=>n==null?"":`?source=${encodeURIComponent(n)}`;async function fEt(n,e){return Vn(`/api/worktree-environments/${encodeURIComponent(n)}${Lhe(e)}`)}async function eBe(n,e,t){return Vn(`/api/worktree-environments/${encodeURIComponent(n)}${Lhe(t)}`,{method:"PUT",headers:Wo,body:JSON.stringify(e)})}async function gEt(n,e){return Vn(`/api/worktree-environments/${encodeURIComponent(n)}${Lhe(e)}`,{method:"DELETE"})}function tBe({children:n,className:e,compact:t=!1,collapsed:i=!1,primaryAction:s,sideAction:r}){const o=["sidebar-list-header",t?"sidebar-list-header--compact":"",i?"sidebar-list-header--collapsed":"",e].filter(Boolean).join(" ");return y.jsxs("div",{className:o,children:[y.jsxs("div",{className:"sidebar-list-header__top",children:[y.jsx("div",{className:"sidebar-list-header__primary",children:s}),r!=null&&y.jsx("div",{className:"sidebar-list-header__side",children:r})]}),!i&&n!=null&&y.jsx("div",{className:"sidebar-list-header__content",children:n})]})}function nBe({children:n,className:e}){return y.jsx("div",{className:["sidebar-list-collapsed-actions",e].filter(Boolean).join(" "),children:n})}function mH({active:n=!1,ariaLabel:e,buttonRef:t,className:i,disabled:s,filled:r=!1,icon:o,tooltip:a,tooltipPlacement:l="bottom",onClick:c}){return y.jsx(Qe,{title:a,placement:l,children:y.jsx(qe,{ref:t,className:["sidebar-list-collapsed-actions__control",n?"active":"",i].filter(Boolean).join(" "),type:"text","aria-label":e,disabled:s,onClick:c,children:y.jsx("span",{className:`material-symbols-rounded ${r?"filled":""}`,children:o})})})}function iBe({allowClear:n=!0,className:e,disabled:t,placeholder:i,suffix:s,value:r,onChange:o}){return y.jsx(yn,{className:["sidebar-list-header__search-input",e].filter(Boolean).join(" "),disabled:t,placeholder:i,value:r,onChange:o,prefix:y.jsx("span",{className:"material-symbols-rounded sidebar-list-header__search-icon",children:"search"}),suffix:s,allowClear:n})}const TI=bu({}),Ihe=new Set,mEt=n=>{Ihe.add(n)},T4=n=>{Ihe.delete(n)},R0e=n=>Ihe.has(n),M0e=()=>{var n;return((n=globalThis.crypto)==null?void 0:n.randomUUID)!=null?globalThis.crypto.randomUUID():`local-session-${Date.now()}-${Math.random().toString(16).slice(2)}`},pEt=n=>{var s;if(typeof n=="string")return n.trim();const e=n==null?void 0:n.find(r=>r.type==="text"&&r.text.trim()!=="");if(e!=null)return e.text.trim();const t=n==null?void 0:n.find(r=>r.type==="file"&&r.path.trim()!=="");if(t!=null)return t.path.trim();const i=n==null?void 0:n.find(r=>r.type==="image");return i!=null?((s=i.name)==null?void 0:s.trim())??"":""},_Et=n=>{var t;const e=((t=n.split(`
|
|
461
461
|
`)[0])==null?void 0:t.trim())??"";if(e!=="")return e.length>50?`${e.slice(0,50)}...`:e},vEt=(n,e=Date.now())=>{const t=n.initialContent??n.initialMessage??"",i=pEt(t),s=n.title??_Et(i);return{message:{id:`${n.id}:optimistic-user-message`,role:"user",content:t,createdAt:e},request:n,session:{id:n.id,title:s,createdAt:e,messageCount:1,lastMessage:i===""?void 0:i,lastUserMessage:i===""?void 0:i,isArchived:!1,isStarred:!1,tags:[],status:"running",model:n.model,adapter:n.options.adapter,account:n.options.account,permissionMode:n.options.permissionMode,effort:n.options.effort,promptType:n.options.promptType,promptName:n.options.promptName},status:"creating"}},bEt=n=>({...n,errorMessage:void 0,session:{...n.session,status:"running"},status:"creating"}),yEt=(n,e)=>({...n,errorMessage:e,session:{...n.session,status:"failed"},status:"failed"}),wEt=(n,e)=>{const t=new Set(n.map(r=>r.id)),i=n.map(r=>{var o;return((o=e[r.id])==null?void 0:o.session)??r}),s=Object.values(e).map(r=>r.session).filter(r=>r.isArchived!==!0&&!t.has(r.id));return[...i,...s]},ree=(n,e)=>n.filter(t=>t.id!==e),CEt=(n,e)=>{if(!n.startsWith(e))return n===""?"/":n;const t=n.slice(e.length);return t===""?"/":t.startsWith("/")?t:`/${t}`},SEt=({clientBase:n,currentHash:e,currentPathname:t,currentSearch:i,defaults:s,keySet:r,keys:o,omit:a,patch:l})=>{const c=new URLSearchParams(i),d=new URLSearchParams,u=o.reduce((h,f)=>{const g=c.get(f),m=(s==null?void 0:s[f])??"";return h[f]=g??m,h},{});Object.assign(u,l),o.forEach(h=>{const f=u[h]??"";f===""||(a!=null&&a[h]?a[h](f):!1)||d.set(h,f)});for(const[h,f]of c.entries())r.has(h)||d.append(h,f);return d.toString()===c.toString()?null:{pathname:CEt(t,n),search:d.toString()===""?"":`?${d.toString()}`,hash:e}},Np=({keys:n,defaults:e,omit:t})=>{const i=Tf(),[s]=PA(),r=_.useMemo(()=>new Set(n),[n]),o=_.useMemo(()=>n.reduce((l,c)=>{const d=s.get(c),u=(e==null?void 0:e[c])??"";return l[c]=d??u,l},{}),[e,n,s]),a=_.useCallback(l=>{const c=typeof window>"u"?{hash:"",pathname:"/",search:s.toString()===""?"":`?${s.toString()}`}:window.location,d=SEt({clientBase:Che(),currentHash:c.hash,currentPathname:c.pathname,currentSearch:c.search,defaults:e,keySet:r,keys:n,omit:t,patch:l});d!=null&&i(d,{replace:!0})},[e,r,n,i,t,s]);return{values:o,update:a,searchParams:s}},P0e=n=>Array.from(new Set(n.split(",").map(e=>e.trim()).filter(Boolean))),O0e=n=>Array.from(new Set(n.map(e=>e.trim()).filter(Boolean))).join(",");function sBe(){const{values:n,update:e}=Np({keys:["sidebar","search","tag","adapter","sort"],defaults:{sidebar:"",search:"",tag:"",adapter:"",sort:""},omit:{sidebar:d=>d==="",search:d=>d==="",tag:d=>d==="",adapter:d=>d==="",sort:d=>d===""}}),t=_.useMemo(()=>P0e(n.tag),[n.tag]),i=_.useMemo(()=>P0e(n.adapter),[n.adapter]),s=n.search,r=n.sort==="asc"||n.sort==="desc"?n.sort:void 0,o=r??"desc",a=n.sidebar==="collapsed",l=s.trim()!==""||t.length>0||i.length>0,c=l||r!=null;return{adapterFilters:i,hasActiveFilterConditions:l,hasActiveSearchControls:c,isSidebarCollapsed:a,searchQuery:s,setSortOrder:d=>e({sort:d??""}),setAdapterFilters:d=>e({adapter:O0e(d)}),setSearchQuery:d=>e({search:d}),setSidebarCollapsed:d=>e({sidebar:d?"collapsed":""}),setTagFilters:d=>e({tag:O0e(d)}),sortOrder:o,sortSelection:r,tagFilters:t}}const xEt="cmd+enter",A0e="enter",Nhe=n=>n===" "?"space":n.toLowerCase(),rBe=(n,e)=>{if(n==null||n.trim()==="")return null;const t=n.split("+").map(s=>s.trim()).filter(Boolean);if(t.length===0)return null;const i={key:"",metaKey:!1,ctrlKey:!1,altKey:!1,shiftKey:!1};for(const s of t){const r=s.toLowerCase();r==="cmd"||r==="command"||r==="meta"?i.metaKey=!0:r==="ctrl"||r==="control"?i.ctrlKey=!0:r==="alt"||r==="option"?i.altKey=!0:r==="shift"?i.shiftKey=!0:r==="mod"?e?i.metaKey=!0:i.ctrlKey=!0:i.key=Nhe(r)}return i.key===""?null:i},Dhe=(n,e)=>n==null||n.trim()===""?"":n.split("+").map(i=>i.trim()).filter(Boolean).map(i=>{const s=i.toLowerCase();return s==="mod"?e?"⌘":"Ctrl":s==="cmd"||s==="command"||s==="meta"?"⌘":s==="ctrl"||s==="control"?"Ctrl":s==="alt"||s==="option"?"Alt":s==="shift"?"Shift":s==="space"?"Space":s==="enter"?"Enter":s==="escape"||s==="esc"?"Esc":s==="tab"?"Tab":s==="backspace"?"Backspace":s==="delete"||s==="del"?"Delete":s==="arrowup"?"Up":s==="arrowdown"?"Down":s==="arrowleft"?"Left":s==="arrowright"?"Right":i.length===1?i.toUpperCase():i.charAt(0).toUpperCase()+i.slice(1)}).join("+"),kEt=(n,e)=>n==null||n.trim()===""?[]:n.split("+").map(i=>i.trim()).filter(Boolean).map(i=>{const s=i.toLowerCase();return s==="mod"?{value:e?"⌘":"Ctrl",compact:e}:s==="cmd"||s==="command"||s==="meta"?{value:"⌘",compact:!0}:s==="ctrl"||s==="control"?{value:e?"⌃":"Ctrl",compact:e}:s==="alt"||s==="option"?{value:e?"⌥":"Alt",compact:e}:s==="shift"?{value:e?"⇧":"Shift",compact:e}:s==="space"?{value:"Space",compact:!1}:s==="enter"?{value:"Enter",compact:!1}:s==="escape"||s==="esc"?{value:e?"⎋":"Esc",compact:e}:s==="tab"?{value:e?"⇥":"Tab",compact:e}:s==="backspace"?{value:e?"⌫":"Backspace",compact:e}:s==="delete"||s==="del"?{value:e?"⌦":"Delete",compact:e}:s==="arrowup"?{value:"↑",compact:!0}:s==="arrowdown"?{value:"↓",compact:!0}:s==="arrowleft"?{value:"←",compact:!0}:s==="arrowright"?{value:"→",compact:!0}:i.length===1?{value:i.toUpperCase(),compact:!0}:{value:i.charAt(0).toUpperCase()+i.slice(1),compact:!1}}),pH=(n,e,t)=>{const i=rBe(e,t);return i==null||n.metaKey!==i.metaKey||n.ctrlKey!==i.ctrlKey||n.altKey!==i.altKey||n.shiftKey!==i.shiftKey?!1:Nhe(n.key)===i.key},EEt=n=>{const e=Nhe(n.key);if(["meta","control","shift","alt"].includes(e))return null;const t=[];return(n.metaKey||n.ctrlKey)&&t.push("mod"),n.shiftKey&&t.push("shift"),n.altKey&&t.push("alt"),t.push(e),t.join("+")},oBe=(n,e)=>{const t=rBe(n,e);return t==null||t.key!=="enter"||t.altKey||t.ctrlKey?null:!t.metaKey&&!t.shiftKey?"enter":!e||!t.metaKey?null:t.shiftKey?"cmd+shift+enter":"cmd+enter"},aBe=(n,e)=>n==null||n.trim()===""?e?xEt:A0e:oBe(n,e)??A0e,r3=({shortcut:n,enabled:e=!0,isMac:t,onTrigger:i})=>{_.useEffect(()=>{if(!e)return;const s=r=>{pH(r,n,t)&&i(r)};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[e,t,i,n])},LEt=`
|
|
462
462
|
<svg width="64" height="64" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
463
463
|
<g fill="#D97957">
|
|
@@ -525,7 +525,7 @@ Please change the parent <Route path="${w}"> to <Route path="${w==="/"?"*":`${w}
|
|
|
525
525
|
</clipPath>
|
|
526
526
|
</defs>
|
|
527
527
|
</svg>
|
|
528
|
-
`.trim(),VEt=`data:image/svg+xml;utf8,${encodeURIComponent(WEt)}`,zEt="OpenCode",UEt={"claude-code":{title:NEt,icon:IEt},codex:{title:REt,icon:TEt},copilot:{title:OEt,icon:PEt},gemini:{title:$Et,icon:FEt},kimi:{title:jEt,icon:HEt},opencode:{title:zEt,icon:VEt}},GN=n=>UEt[n]??{title:n,icon:void 0};var lBe={exports:{}};(function(n,e){(function(t,i){n.exports=i()})(uP,function(){return function(t,i,s){t=t||{};var r=i.prototype,o={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function a(c,d,u,h){return r.fromToBase(c,d,u,h)}s.en.relativeTime=o,r.fromToBase=function(c,d,u,h,f){for(var g,m,p,v=u.$locale().relativeTime||o,b=t.thresholds||[{l:"s",r:44,d:"second"},{l:"m",r:89},{l:"mm",r:44,d:"minute"},{l:"h",r:89},{l:"hh",r:21,d:"hour"},{l:"d",r:35},{l:"dd",r:25,d:"day"},{l:"M",r:45},{l:"MM",r:10,d:"month"},{l:"y",r:17},{l:"yy",d:"year"}],w=b.length,C=0;C<w;C+=1){var S=b[C];S.d&&(g=h?s(c).diff(u,S.d,!0):u.diff(c,S.d,!0));var x=(t.rounding||Math.round)(Math.abs(g));if(p=g>0,x<=S.r||!S.r){x<=1&&C>0&&(S=b[C-1]);var k=v[S.l];f&&(x=f(""+x)),m=typeof k=="string"?k.replace("%d",x):k(x,d,S.l,p);break}}if(d)return m;var L=p?v.future:v.past;return typeof L=="function"?L(m):L.replace("%s",m)},r.to=function(c,d){return a(c,d,this,!0)},r.from=function(c,d){return a(c,d,this)};var l=function(c){return c.$u?s.utc():s()};r.toNow=function(c){return this.to(l(this),c)},r.fromNow=function(c){return this.from(l(this),c)}}})})(lBe);var KEt=lBe.exports;const qEt=Bv(KEt),GEt=n=>`${Che()}/session/${n}`,KD=(n,e)=>{const t=e==null?void 0:e.trim();return t!=null&&t!==""?`message-${n}-${t}`:`message-${n}`},cBe=(n,e)=>{const t=new URL(globalThis.location.origin);return t.pathname=GEt(n),t.search="",t.hash=(e==null?void 0:e.anchorId)!=null&&e.anchorId!==""?`#${e.anchorId}`:"",t.toString()};async function gL(n){try{return await navigator.clipboard.writeText(n.text),n.messageApi.success(n.successMessage),!0}catch{return n.messageApi.error(n.failureMessage),!1}}function XEt({entries:n,pendingAction:e,onCancelConfirm:t}){return y.jsx("div",{className:"session-context-menu",onContextMenu:i=>i.preventDefault(),children:n.map(i=>{if(i.type==="divider")return y.jsx("div",{className:"session-context-menu__divider"},i.key);const s=e===i.key;return y.jsxs("div",{role:"button",tabIndex:0,className:`session-context-menu__item session-context-menu__item--${i.key} ${i.danger?"is-danger":""} ${s?"is-confirming":""}`,onClick:r=>{r.preventDefault(),r.stopPropagation(),i.onClick()},onKeyDown:r=>{(r.key==="Enter"||r.key===" ")&&(r.preventDefault(),i.onClick())},children:[y.jsxs("div",{className:"session-context-menu__meta",children:[y.jsx("span",{className:"material-symbols-rounded session-context-menu__icon",children:i.icon}),y.jsx("span",{className:"session-context-menu__label",children:s?i.confirmLabel??i.label:i.label})]}),s&&y.jsxs("div",{className:"session-context-menu__confirm-actions",children:[y.jsx("button",{type:"button",className:"session-context-menu__confirm-btn is-accept",onClick:r=>{r.preventDefault(),r.stopPropagation(),i.onClick()},children:y.jsx("span",{className:"material-symbols-rounded",children:"check"})}),y.jsx("button",{type:"button",className:"session-context-menu__confirm-btn is-cancel",onClick:r=>{r.preventDefault(),r.stopPropagation(),t()},children:y.jsx("span",{className:"material-symbols-rounded",children:"close"})})]})]},i.key)})})}function F0e({children:n,session:e,trigger:t=["contextMenu"],onArchive:i,onDelete:s,onRename:r,onStar:o}){const{t:a}=vt(),{message:l,modal:c}=ar.useApp(),[d,u]=_.useState(!1),[h,f]=_.useState(null),g=()=>{u(!1),f(null)},m=v=>{if(h===v){if(g(),v==="archive"){i(e.id);return}s(e.id);return}f(v)},p=_.useMemo(()=>[{key:"star",label:e.isStarred?a("common.unstar"):a("common.star"),icon:e.isStarred?"star":"star_border",onClick:()=>{g(),o(e.id,!e.isStarred)}},{key:"rename",label:a("common.rename"),icon:"edit",onClick:()=>{g();let v=e.title??"";c.confirm({title:a("common.renameSession"),okText:a("common.confirm"),cancelText:a("common.cancel"),content:y.jsx(yn,{autoFocus:!0,defaultValue:e.title??"",placeholder:a("chat.enterTitle"),onChange:b=>{v=b.target.value}}),onOk:async()=>{const b=v.trim();if(b!==(e.title??"").trim())try{await r(e.id,b),l.success(a("chat.titleUpdated"))}catch{throw l.error(a("common.operationFailed")),new Error("rename-session-failed")}}})}},{key:"archive",label:e.isArchived?a("common.restore"):a("common.archive"),confirmLabel:a("common.confirmAction",{action:e.isArchived?a("common.restore"):a("common.archive")}),icon:e.isArchived?"unarchive":"archive",onClick:()=>{m("archive")}},{key:"delete",label:a("common.delete"),confirmLabel:a("common.confirmAction",{action:a("common.delete")}),icon:"delete",danger:!0,onClick:()=>{m("delete")}},{key:"divider-main",type:"divider",label:"",icon:"",onClick:()=>{}},{key:"copy-session-link",label:a("common.copySessionLink"),icon:"link",onClick:()=>{g(),gL({text:cBe(e.id),messageApi:l,successMessage:a("common.sessionLinkCopied"),failureMessage:a("common.copyFailed")})}},{key:"copy-session-id",label:a("common.copySessionId"),icon:"fingerprint",onClick:()=>{g(),gL({text:e.id,messageApi:l,successMessage:a("common.sessionIdCopied"),failureMessage:a("common.copyFailed")})}},{key:"copy-resume-command",label:a("common.copyResumeCommand"),icon:"terminal",onClick:()=>{g(),gL({text:`vf --resume ${e.id}`,messageApi:l,successMessage:a("common.resumeCommandCopied"),failureMessage:a("common.copyFailed")})}}],[l,c,i,s,r,o,h,e,a]);return y.jsx(ta,{trigger:t,open:d,onOpenChange:v=>{u(v),v||f(null)},dropdownRender:()=>y.jsx(XEt,{entries:p,pendingAction:h,onCancelConfirm:()=>f(null)}),children:n})}var YEt={exports:{}};(function(n,e){(function(t,i){n.exports=i(F4e)})(uP,function(t){function i(o){return o&&typeof o=="object"&&"default"in o?o:{default:o}}var s=i(t),r={name:"zh-cn",weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),ordinal:function(o,a){return a==="W"?o+"周":o+"日"},weekStart:1,yearStart:4,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日Ah点mm分",LLLL:"YYYY年M月D日ddddAh点mm分",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},relativeTime:{future:"%s内",past:"%s前",s:"几秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},meridiem:function(o,a){var l=100*o+a;return l<600?"凌晨":l<900?"早上":l<1100?"上午":l<1300?"中午":l<1800?"下午":"晚上"}};return s.default.locale(r,null,!0),r})})(YEt);U0.extend(qEt);function ZEt({session:n,isActive:e,isBatchMode:t,isCompactLayout:i,isSelected:s,isTouchInteraction:r,onSelect:o,onArchive:a,onDelete:l,onRename:c,onStar:d,onToggleSelect:u}){const{t:h,i18n:f}=vt(),g="automation:",m=_.useRef(null),[p,v]=_.useState(null),b=i||r,w=O=>r?void 0:O;_.useEffect(()=>{if(p==null)return;const O=A=>{var B;const F=A.target;if(!(F instanceof Node)){v(null);return}(B=m.current)!=null&&B.contains(F)||v(null)};return document.addEventListener("pointerdown",O,!0),()=>{document.removeEventListener("pointerdown",O,!0)}},[p]);const C=_.useMemo(()=>{const O=U0(n.createdAt);return f.language==="zh"?O.locale("zh-cn"):O.locale("en"),{relative:O.fromNow(),full:O.format("YYYY-MM-DD HH:mm:ss")}},[n.createdAt,f.language]),S=n.isArchived?h("common.restore"):h("common.archive"),x=h("common.confirmAction",{action:S}),k=n.tags??[],L=i?k.slice(0,1):k,I=Math.max(k.length-L.length,0),N=n.title!=null&&n.title!==""?n.title:n.lastUserMessage!=null&&n.lastUserMessage!==""?n.lastUserMessage:h("common.newChat"),D=n.adapter!=null&&n.adapter!==""?GN(n.adapter):void 0,T=_.useMemo(()=>n.lastMessage==null||n.lastMessage===""?null:n.lastMessage.length>60?`${n.lastMessage.slice(0,60)}...`:n.lastMessage,[n.lastMessage]),R=_.useMemo(()=>O=>{if(!O.startsWith(g))return null;const A=O.split(":");return A.length<3?null:{ruleId:A[1],ruleTitle:A.slice(2).join(":")}},[g]),M=O=>{if(!O)return y.jsx("div",{className:`status-dot ${e?"active":""}`});let A="",F="";const B=h(`common.status.${O}`);switch(O){case"completed":A="check_circle",F="#52c41a";break;case"terminated":A="remove_circle",F="#bfbfbf";break;case"failed":A="cancel",F="#ff4d4f";break;case"running":A="sync",F="#1890ff";break;case"waiting_input":return y.jsx(Qe,{title:w(B),children:y.jsx("div",{className:"waiting-input-indicator"})});default:return y.jsx("div",{className:`status-dot ${e?"active":""}`})}return y.jsx(Qe,{title:w(B),children:y.jsx("span",{className:`material-symbols-rounded status-icon ${O==="running"?"spin":""}`,style:{color:F,fontSize:"16px",lineHeight:"16px",display:"flex",alignItems:"center",justifyContent:"center"},children:A})})},P=O=>{if(p===O){v(null),a(n.id);return}v(O)};return y.jsx(F0e,{session:n,onArchive:a,onDelete:l,onRename:c,onStar:d,children:y.jsx(yd.Item,{onClick:()=>t?u(n.id):o(n),onMouseLeave:()=>v(null),onDoubleClick:()=>{console.log("Session Details:",n)},className:`session-item ${e?"active":""} ${s?"selected":""} ${n.isStarred?"starred":""} ${i?"session-item--compact":""} ${b?"session-item--touch":""}`,children:y.jsxs("div",{ref:m,className:"session-item-content",children:[y.jsxs("div",{className:`session-leading ${(D==null?void 0:D.icon)!=null?"has-adapter":""}`,children:[(D==null?void 0:D.icon)!=null&&y.jsx("img",{className:"session-adapter-icon",src:D.icon,alt:"","aria-hidden":"true"}),y.jsx("div",{className:`status-indicator ${(D==null?void 0:D.icon)!=null?"is-overlay":""}`,children:M(n.status)})]}),y.jsxs("div",{className:`session-info ${t?"":"with-actions"}`,children:[y.jsxs("div",{className:"session-header",children:[y.jsx("div",{className:"session-title",children:y.jsx("span",{className:"session-title-text",children:N})}),y.jsx("div",{className:"session-header-side",children:!t&&y.jsxs(y.Fragment,{children:[!i&&y.jsx(Qe,{title:w(C.full),children:y.jsx("span",{className:"time-display",children:C.relative})}),b?y.jsx(F0e,{session:n,trigger:["click"],onArchive:a,onDelete:l,onRename:c,onStar:d,children:y.jsx(qe,{type:"text",size:"small",className:"action-btn action-btn--more",title:h("common.moreActions"),"aria-label":h("common.moreActions"),onClick:O=>{O.stopPropagation()},icon:y.jsx("span",{className:"material-symbols-rounded",children:"more_horiz"})})}):y.jsxs("div",{className:"session-item-actions",children:[y.jsx(Qe,{title:w(n.isStarred?h("common.unstar"):h("common.star")),children:y.jsx(qe,{type:"text",size:"small",className:`action-btn star-btn ${n.isStarred?"starred":""}`,onClick:O=>{O.stopPropagation(),v(null),d(n.id,!n.isStarred)},icon:y.jsx("span",{className:`material-symbols-rounded ${n.isStarred?"filled":""}`,children:"star"})})}),y.jsx(Qe,{title:w(p==="archive"?x:S),children:y.jsxs(qe,{type:"text",size:"small",className:`action-btn archive-btn ${p==="archive"?"is-confirming":""}`,onClick:O=>{O.stopPropagation(),P("archive")},children:[y.jsx("span",{className:"material-symbols-rounded",children:n.isArchived?"unarchive":"archive"}),p==="archive"&&y.jsx("span",{className:"action-btn__label",children:x})]})})]})]})})]}),!i&&T!=null&&y.jsx("div",{className:"last-message",children:T}),L.length>0&&y.jsxs("div",{className:"tags-container",children:[L.map(O=>{const A=R(O);if(A){const F=`/automation?rule=${encodeURIComponent(A.ruleId)}`;return y.jsx(Qe,{title:w(A.ruleTitle),children:y.jsx(Ll,{className:"session-tag session-tag--automation",onClick:B=>B.stopPropagation(),children:y.jsx("a",{className:"session-tag__link",href:F,onClick:B=>B.stopPropagation(),children:A.ruleTitle})})},O)}return y.jsx(Qe,{title:w(O),children:y.jsx(Ll,{className:"session-tag",children:y.jsx("span",{className:"session-tag__text",children:O})})},O)}),I>0&&y.jsxs(Ll,{className:"session-tag session-tag--count",children:["+",I]})]})]})]})})})}function QEt({sessions:n,activeId:e,hasActiveFilters:t,isBatchMode:i,isCompactLayout:s,selectedIds:r,isTouchInteraction:o,searchQuery:a,onSelectSession:l,onArchiveSession:c,onDeleteSession:d,onRenameSession:u,onStarSession:h,onToggleSelect:f}){const{t:g}=vt(),[m,p]=_.useState(new Set),{flattenedSessions:v,childSummaryMap:b}=_.useMemo(()=>{const C=new Map(n.map(D=>[D.id,D])),S=new Map;for(const D of n)if(D.parentSessionId){const T=S.get(D.parentSessionId)??[];T.push(D),S.set(D.parentSessionId,T)}const x=n.filter(D=>D.parentSessionId?!C.has(D.parentSessionId):!0),k=new Map;for(const[D,T]of S.entries()){const R=T.length,M=new Map;for(const O of T){const A=O.status??"running";M.set(A,(M.get(A)??0)+1)}const P=[g("common.childSummary",{count:R})];for(const[O,A]of M.entries())P.push(g("common.childStatusItem",{count:A,status:g(`common.status.${O}`)}));k.set(D,P.join(" · "))}const L=[],I=new Set,N=(D,T)=>{if(I.has(D.id))return;I.add(D.id);const R=S.get(D.id)??[];if(L.push({session:D,depth:T,hasChildren:R.length>0}),!m.has(D.id))for(const M of R)N(M,T+1)};for(const D of x)N(D,0);return{flattenedSessions:L,childSummaryMap:k}},[n,m,g]),w=C=>{p(S=>{const x=new Set(S);return x.has(C)?x.delete(C):x.add(C),x})};return y.jsx("div",{className:"session-list-container",children:y.jsx("div",{className:"session-list-scroll",children:y.jsx(yd,{className:"session-list",size:"small",locale:{emptyText:y.jsx("div",{className:"empty-text",children:g(a||t?"common.noSessions":"common.startNewChat")})},dataSource:v,renderItem:({session:C,depth:S,hasChildren:x})=>y.jsxs("div",{className:`session-row ${S>0?"has-parent":""}`,style:{"--session-depth":S},children:[y.jsxs("div",{className:"session-row-main",children:[i&&y.jsx("div",{className:"session-select-toggle",onClick:k=>k.stopPropagation(),children:y.jsx(Og,{checked:r.has(C.id),onChange:()=>f(C.id)})}),y.jsx(ZEt,{session:C,isActive:e===C.id,isBatchMode:i,isCompactLayout:s,isSelected:r.has(C.id),isTouchInteraction:o,onSelect:l,onArchive:c,onDelete:d,onRename:u,onStar:h,onToggleSelect:f})]}),x&&!i&&y.jsxs("div",{className:"session-collapse-row",style:{"--session-depth":S},onClick:k=>k.stopPropagation(),children:[y.jsx(qe,{type:"text",size:"small",className:`session-tree-toggle ${m.has(C.id)?"collapsed":""}`,onClick:()=>w(C.id),icon:y.jsx("span",{className:"material-symbols-rounded",children:"chevron_right"})}),y.jsx("span",{className:"session-collapse-label",children:m.has(C.id)?g("common.expandChildren"):g("common.collapseChildren")}),y.jsx("span",{className:"session-collapse-summary",children:b.get(C.id)??g("common.childSummary",{count:0})})]})]})})})})}function JEt({isAllSelected:n,selectedCount:e,totalCount:t,onBatchArchive:i,onBatchDelete:s,onBatchStar:r,onSelectAll:o}){const{t:a}=vt(),{isTouchInteraction:l}=Lr(),c=d=>l?void 0:d;return y.jsxs("div",{className:"header-batch-actions",children:[y.jsx(Qe,{title:c(a(n?"common.deselectAll":"common.selectAll")),children:y.jsx("label",{className:"batch-select-toggle",children:y.jsx(Og,{checked:n,indeterminate:e>0&&e<t,onChange:d=>o(d.target.checked)})})}),y.jsx(Qe,{title:c(a("common.star")),children:y.jsx(qe,{className:"sidebar-tool-btn is-icon-only",type:"text",disabled:e===0,onClick:r,icon:y.jsx("span",{className:"material-symbols-rounded",children:"star"})})}),y.jsx(hw,{title:a("common.archiveConfirm",{count:e}),onConfirm:i,okText:a("common.confirm"),cancelText:a("common.cancel"),okButtonProps:{danger:!1},disabled:e===0,children:y.jsx(Qe,{title:c(a("common.archive")),children:y.jsx(qe,{className:"sidebar-tool-btn is-icon-only",type:"text",disabled:e===0,icon:y.jsx("span",{className:"material-symbols-rounded",children:"archive"})})})}),y.jsx(hw,{title:a("common.deleteConfirm",{count:e}),onConfirm:s,okText:a("common.confirm"),cancelText:a("common.cancel"),okButtonProps:{danger:!0},disabled:e===0,children:y.jsx(Qe,{title:c(a("common.delete")),children:y.jsx(qe,{className:"sidebar-tool-btn is-icon-only is-danger",type:"text",disabled:e===0,icon:y.jsx("span",{className:"material-symbols-rounded",children:"delete"})})})})]})}function jq({className:n,icon:e,...t}){return y.jsxs("div",{className:"toolbar-filter-control",children:[y.jsx("span",{className:"material-symbols-rounded toolbar-filter-icon",children:e}),y.jsx(gs,{className:n==null||n===""?"toolbar-filter-select":`toolbar-filter-select ${n}`,...t})]})}function eLt({adapterFilters:n,availableAdapters:e,availableTags:t,hasActiveSearchControls:i,isBatchMode:s,searchQuery:r,selectedCount:o,shouldShowSearchActions:a,sortOrder:l,sortSelection:c,tagFilters:d,totalCount:u,onAdapterFilterChange:h,onBatchArchive:f,onBatchDelete:g,onBatchStar:m,onSearchChange:p,onSortOrderChange:v,onSelectAll:b,onTagFilterChange:w,onToggleBatchMode:C,onToggleSearchActions:S}){const{t:x}=vt(),{isTouchInteraction:k}=Lr(),L=u>0&&o===u,I=_.useMemo(()=>R=>R.map(M=>({label:M,value:M})),[]),N=y.jsx("span",{className:"material-symbols-rounded toolbar-filter-chevron",children:"expand_more"}),D=R=>k?void 0:R,T=_.useMemo(()=>[{label:x("automation.sortDesc"),value:"desc"},{label:x("automation.sortAsc"),value:"asc"}],[x]);return y.jsxs(y.Fragment,{children:[y.jsx(iBe,{className:"search-input",placeholder:x("common.search"),value:r,onChange:R=>p(R.target.value),suffix:y.jsx(Qe,{title:D(x("common.searchActions")),children:y.jsx("button",{type:"button",className:`search-toggle-button ${a?"is-open":""} ${i?"has-active-filters":""}`,"aria-label":x("common.searchActions"),onMouseDown:R=>R.preventDefault(),onClick:S,children:y.jsx("span",{className:"material-symbols-rounded search-chevron",children:"expand_more"})})}),allowClear:!0}),y.jsx("div",{className:`header-search-actions ${a?"is-open":""}`,children:y.jsxs("div",{className:"header-search-actions-inner",children:[y.jsxs("div",{className:"header-toolbar-row",children:[y.jsx("div",{className:"header-toolbar-leading",children:s?y.jsx(Qe,{title:D(x("common.cancelBatch")),children:y.jsx(qe,{className:"sidebar-tool-btn is-icon-only",type:"text",onClick:C,icon:y.jsx("span",{className:"material-symbols-rounded",children:"close"})})}):y.jsx(Qe,{title:D(x("common.batchMode")),children:y.jsx(qe,{className:"sidebar-tool-btn is-icon-only",type:"text",onClick:C,icon:y.jsx("span",{className:"material-symbols-rounded",children:"checklist"})})})}),y.jsxs("div",{className:"header-filter-stack",children:[y.jsx(jq,{icon:"sell",mode:"tags",placeholder:x("common.allTags"),options:I(t),value:d,onChange:R=>w(R),maxTagCount:1,allowClear:!0,suffixIcon:N,tokenSeparators:[","]}),y.jsx(jq,{icon:"extension",mode:"tags",placeholder:x("common.allAdapters"),options:I(e),value:n,onChange:R=>h(R),maxTagCount:1,allowClear:!0,suffixIcon:N,tokenSeparators:[","]}),y.jsx(jq,{icon:"swap_vert",placeholder:x("common.sort"),options:T,value:c,onChange:R=>v(R),allowClear:!0,suffixIcon:N})]})]}),s&&y.jsx(JEt,{isAllSelected:L,selectedCount:o,totalCount:u,onBatchArchive:f,onBatchDelete:g,onBatchStar:m,onSelectAll:b})]})})]})}const tLt=({hasActiveSearchControls:n,isBatchMode:e,isSearchActionsOpen:t,sessionCount:i,threshold:s})=>s<=0||n||e||t?!0:i>s;function nLt({adapterFilters:n,availableAdapters:e,availableTags:t,createButtonRef:i,hasActiveSearchControls:s,isBatchMode:r,isCompactLayout:o,isCreatingSession:a,isSidebarCollapsed:l,searchQuery:c,selectedCount:d,sessionCount:u,sortOrder:h,sortSelection:f,shortcutLabel:g,tagFilters:m,totalCount:p,onBatchArchive:v,onBatchDelete:b,onBatchStar:w,onAdapterFilterChange:C,onCloseSidebar:S,onCreateSession:x,onSearchChange:k,onSortOrderChange:L,onSelectAll:I,onTagFilterChange:N,onToggleBatchMode:D,onToggleSidebarCollapsed:T}){const{t:R}=vt(),{isTouchInteraction:M}=Lr(),P=yu(G3e),[O,A]=_.useState(!1),F=!l&&(O||r),B=!l&&tLt({hasActiveSearchControls:s,isBatchMode:r,isSearchActionsOpen:O,sessionCount:u,threshold:P}),$=l?y.jsx(Qe,{title:M?void 0:R(a?"common.alreadyInNewChat":"common.newChat"),placement:"right",children:y.jsx(qe,{className:`sidebar-list-header__icon-action sidebar-new-chat-btn ${a?"active":""}`,type:"text",disabled:!!a,onClick:x,children:y.jsx("span",{className:`material-symbols-rounded ${a?"filled":""}`,children:a?"chat_bubble":"send"})})}):y.jsxs(qe,{ref:i,className:`sidebar-list-header__primary-action new-chat-btn ${a?"active":""}`,type:a?"default":"primary",block:!0,disabled:!!a,onClick:x,children:[y.jsxs("span",{className:"sidebar-list-header__button-content btn-content",children:[y.jsx("span",{className:`material-symbols-rounded ${a?"filled":""}`,children:a?"chat_bubble":"send"}),y.jsx("span",{children:R(a?"common.creatingChat":"common.newChat")})]}),y.jsx("span",{className:"sidebar-list-header__shortcut shortcut-tag",children:g})]}),W=y.jsx(Qe,{title:M?void 0:R(o?"common.close":l?"common.expand":"common.collapse"),children:y.jsx(qe,{className:"sidebar-list-header__icon-action sidebar-collapse-btn",type:"text","aria-label":R(o?"common.close":l?"common.expand":"common.collapse"),onClick:o?S:T,children:y.jsx("span",{className:"material-symbols-rounded",children:o?"close":l?"dock_to_right":"left_panel_close"})})}),V=B?y.jsx(eLt,{adapterFilters:n,availableAdapters:e,availableTags:t,hasActiveSearchControls:s,isBatchMode:r,searchQuery:c,selectedCount:d,shouldShowSearchActions:F,sortOrder:h,sortSelection:f,tagFilters:m,totalCount:p,onBatchArchive:v,onBatchDelete:b,onBatchStar:w,onAdapterFilterChange:C,onSearchChange:k,onSortOrderChange:L,onSelectAll:I,onTagFilterChange:N,onToggleBatchMode:D,onToggleSearchActions:()=>A(H=>!H)}):null;return y.jsx(tBe,{className:"sidebar-header",compact:o,collapsed:l,primaryAction:$,sideAction:W,children:V})}const iLt=n=>n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),sLt=n=>new RegExp(`^${iLt(n).replace(/\\\*/g,".*")}$`,"i"),rLt=(n,e)=>{const t=n.trim(),i=e.trim();return t===""||i===""?!1:i.includes("*")?sLt(i).test(t):t.toLowerCase().includes(i.toLowerCase())},$0e=(n,e)=>e.length===0?!0:e.some(t=>n.some(i=>rLt(i,t))),oLt=(n,e)=>[...n].sort((t,i)=>{const s=+(i.isStarred===!0)-+(t.isStarred===!0);if(s!==0)return s;const r=(t.createdAt??0)-(i.createdAt??0);return e==="asc"?r:-r});function B0e({activeId:n,isCompactLayout:e=!1,isMobileOpen:t=!1,onRequestClose:i,onSelectSession:s,onDeletedSession:r,width:o}){var Se,be,Ce;const{adapterFilters:a,hasActiveFilterConditions:l,hasActiveSearchControls:c,isSidebarCollapsed:d,searchQuery:u,setSortOrder:h,setAdapterFilters:f,setSearchQuery:g,setSidebarCollapsed:m,setTagFilters:p,sortOrder:v,sortSelection:b,tagFilters:w}=sBe(),C=yu(F3e),[S,x]=_.useState(!1),[k,L]=_.useState(new Set),{t:I}=vt(),{isTouchInteraction:N}=Lr(),D=navigator.platform.includes("Mac"),T=yu(TI),R=BA(TI),{data:M,mutate:P}=hi("/api/sessions"),O=_.useMemo(()=>wEt((M==null?void 0:M.sessions)??[],T),[T,M==null?void 0:M.sessions]),{data:A}=hi("/api/config"),F=(Ce=(be=(Se=A==null?void 0:A.sources)==null?void 0:Se.merged)==null?void 0:be.shortcuts)==null?void 0:Ce.newSession,B=F!=null&&F.trim()!==""?F:"mod+k",$=_.useMemo(()=>Dhe(B,D),[B,D]),W=_.useMemo(()=>Array.from(new Set(O.flatMap(le=>(le.tags??[]).map(fe=>fe.trim()).filter(Boolean)))).sort((le,fe)=>le.localeCompare(fe)),[O]),V=_.useMemo(()=>Array.from(new Set(O.map(le=>{var fe;return((fe=le.adapter)==null?void 0:fe.trim())??""}).filter(Boolean))).sort((le,fe)=>le.localeCompare(fe)),[O]),H=_.useMemo(()=>{const le=u.trim().toLowerCase(),fe=O.filter(we=>{if(!$0e(we.tags??[],w))return!1;const me=[we.adapter??"",we.adapter!=null&&we.adapter!==""?GN(we.adapter).title:""].filter(Boolean);return $0e(me,a)?le?(we.title??"").toLowerCase().includes(le)||(we.lastMessage??"").toLowerCase().includes(le)||(we.lastUserMessage??"").toLowerCase().includes(le)||we.id.toLowerCase().includes(le)||(we.tags??[]).some(Ie=>Ie.toLowerCase().includes(le))||me.some(Ie=>Ie.toLowerCase().includes(le)):!0:!1});return oLt(fe,v)},[a,u,O,v,w]);async function U(){i==null||i(),s({id:""},!0)}function G(le){mEt(le),R(fe=>{if(fe[le]==null)return fe;const we={...fe};return delete we[le],we}),P(fe=>(fe==null?void 0:fe.sessions)==null?fe:{...fe,sessions:ree(fe.sessions,le)},!1)}async function Y(le){let fe;const we=O.findIndex(me=>me.id===le);if(we!==-1&&(we+1<O.length?fe=O[we+1].id:we-1>=0&&(fe=O[we-1].id)),T[le]!=null){G(le),n===le&&(r==null||r(le,fe));return}try{await fg(le,{isArchived:!0}),await P(),r==null||r(le,fe)}catch(me){console.error("Failed to archive session:",me)}}async function K(le){let fe;const we=O.findIndex(me=>me.id===le);if(we!==-1&&(we+1<O.length?fe=O[we+1].id:we-1>=0&&(fe=O[we-1].id)),T[le]!=null){G(le),n===le&&(r==null||r(le,fe));return}try{await DI(le),await P(),n===le&&(r==null||r(le,fe))}catch(me){console.error("Failed to delete session:",me)}}async function X(le,fe){if(T[le]!=null){R(we=>{const me=we[le];return me==null?we:{...we,[le]:{...me,session:{...me.session,isStarred:fe}}}});return}try{await fg(le,{isStarred:fe}),await P()}catch(we){console.error("Failed to star session:",we)}}async function J(le,fe){if(T[le]!=null){R(we=>{const me=we[le];return me==null?we:{...we,[le]:{...me,session:{...me.session,title:fe}}}});return}await Jkt(le,fe),await P()}const te=le=>{L(fe=>{const we=new Set(fe);return we.has(le)?we.delete(le):we.add(le),we})},q=le=>{L(le?new Set(H.map(fe=>fe.id)):new Set)},Z=async()=>{try{if(await Promise.all(Array.from(k).map(async le=>fg(le,{isArchived:!0}))),await P(),n&&k.has(n)){let le;const fe=O.find(we=>!k.has(we.id));fe&&(le=fe.id),r==null||r(n,le)}L(new Set),x(!1)}catch(le){console.error("Failed to batch archive sessions:",le)}},oe=async()=>{try{if(await Promise.all(Array.from(k).map(async le=>DI(le))),await P(),n&&k.has(n)){const le=O.find(fe=>!k.has(fe.id));r==null||r(n,le==null?void 0:le.id)}L(new Set),x(!1)}catch(le){console.error("Failed to batch delete sessions:",le)}},pe=async le=>{try{await Promise.all(Array.from(k).map(async fe=>fg(fe,{isStarred:le}))),await P()}catch(fe){console.error("Failed to batch update star status:",fe)}},ae=()=>{x(le=>!le),L(new Set)},ce=n===void 0||n==="",ye=e?!1:d,Ee=le=>N?void 0:le,xe=_.useRef(null);return r3({shortcut:B,isMac:D,onTrigger:le=>{le.preventDefault(),!ce&&(xe.current&&(xe.current.classList.add("active-scale"),setTimeout(()=>{var fe;(fe=xe.current)==null||fe.classList.remove("active-scale")},200)),U())}}),y.jsxs("div",{className:["sidebar-container",ye?"collapsed":"",e?"sidebar-container--compact":"",t?"is-mobile-open":""].filter(Boolean).join(" "),style:e?void 0:{width:ye?0:o,minWidth:ye?0:void 0,transition:C?"none":"width 0.3s cubic-bezier(0.4, 0, 0.2, 1)",borderRight:ye?"none":void 0},children:[y.jsxs("div",{className:"sidebar-content",style:e?void 0:{width:o,transition:C?"none":"transform 0.3s cubic-bezier(0.4, 0, 0.2, 1)",transform:ye?`translateX(-${o}px)`:"translateX(0)"},children:[y.jsx(nLt,{adapterFilters:a,availableAdapters:V,hasActiveSearchControls:c,isCompactLayout:e,isSidebarCollapsed:ye,searchQuery:u,sortOrder:v,sortSelection:b,onSearchChange:g,availableTags:W,tagFilters:w,onSortOrderChange:h,onAdapterFilterChange:f,onTagFilterChange:p,isBatchMode:S,onToggleBatchMode:ae,onToggleSidebarCollapsed:()=>m(!d),onCloseSidebar:i,selectedCount:k.size,sessionCount:O.length,totalCount:H.length,onSelectAll:q,onBatchArchive:()=>{Z()},onBatchDelete:()=>{oe()},onBatchStar:()=>{pe(!0)},isCreatingSession:ce,shortcutLabel:$,createButtonRef:xe,onCreateSession:()=>{U()}}),y.jsx(QEt,{hasActiveFilters:l,sessions:H,activeId:n,isBatchMode:S,isCompactLayout:e,selectedIds:k,isTouchInteraction:N,searchQuery:u,onSelectSession:s,onArchiveSession:Y,onDeleteSession:K,onRenameSession:J,onStarSession:X,onToggleSelect:te})]}),!e&&d&&y.jsxs(nBe,{children:[y.jsx(mH,{buttonRef:xe,active:ce,disabled:!!ce,filled:ce,icon:ce?"chat_bubble":"send",tooltip:Ee(I(ce?"common.alreadyInNewChat":"common.newChat")),ariaLabel:I(ce?"common.alreadyInNewChat":"common.newChat"),onClick:()=>{U()}}),y.jsx(mH,{icon:"dock_to_right",tooltip:Ee(I("common.expand")),ariaLabel:I("common.expand"),onClick:()=>m(!1)})]})]})}const aLt=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])",'[tabindex]:not([tabindex="-1"])'].join(", "),dBe=n=>Array.from(n.querySelectorAll(aLt)).filter(e=>!e.hasAttribute("disabled")&&e.getAttribute("aria-hidden")!=="true"&&e.offsetParent!==null),lE=n=>{try{n.focus({preventScroll:!0})}catch{n.focus()}},H0e=n=>{const e=dBe(n),t=e[0];return t!=null?lE(t):lE(n),e};function The({backgroundRefs:n,isCompactLayout:e,isMobileSidebarOpen:t,setIsMobileSidebarOpen:i,sheetRef:s}){const r=_.useRef(null);_.useEffect(()=>{if(!e){n.forEach(o=>{var a;(a=o.current)==null||a.removeAttribute("inert")});return}return n.forEach(o=>{const a=o.current;a!=null&&(t?a.setAttribute("inert",""):a.removeAttribute("inert"))}),()=>{n.forEach(o=>{var a;(a=o.current)==null||a.removeAttribute("inert")})}},[n,e,t]),_.useEffect(()=>{if(!e||!t)return;const o=document.activeElement;r.current=o instanceof HTMLElement?o:null;const a=window.requestAnimationFrame(()=>{const d=s.current;d!=null&&H0e(d)}),l=d=>{if(d.key==="Escape"){i(!1);return}if(d.key!=="Tab")return;const u=s.current;if(u==null)return;const h=dBe(u);if(h.length===0){d.preventDefault(),lE(u);return}const f=h[0],g=h[h.length-1],m=document.activeElement;if(d.shiftKey){(m===f||m===u)&&(d.preventDefault(),lE(g));return}m===g&&(d.preventDefault(),lE(f))},c=d=>{const u=s.current,h=d.target;u==null||!(h instanceof HTMLElement)||u.contains(h)||H0e(u)};return window.addEventListener("keydown",l),document.addEventListener("focusin",c),()=>{window.cancelAnimationFrame(a),window.removeEventListener("keydown",l),document.removeEventListener("focusin",c);const d=r.current;d!=null&&document.contains(d)&&window.requestAnimationFrame(()=>{document.contains(d)&&lE(d)}),r.current=null}},[e,t,i,s]),_.useEffect(()=>{if(!e||!t)return;const{body:o,documentElement:a}=document,l=o.style.overflow,c=a.style.overflow;return o.style.overflow="hidden",a.style.overflow="hidden",()=>{o.style.overflow=l,a.style.overflow=c}},[e,t])}const lLt="mobile-sidebar-dialog";function cLt({activeSessionId:n,children:e,isDarkMode:t,onDeletedSession:i,onSelectSession:s,showSidebar:r,sidebarWidth:o}){const{t:a}=vt(),{isSidebarCollapsed:l}=sBe(),c=Sh(),{isCompactLayout:d}=Lr(),[u,h]=Hb(B3e),f=BA($3e),g=!d&&l,m=_.useRef(null),p=_.useRef(null),v=_.useRef(null),b=_.useMemo(()=>[m,p],[]);_.useEffect(()=>{f(d?!1:l)},[d,l,f]),_.useEffect(()=>{h(!1)},[d,c.pathname,h]),_.useEffect(()=>{!d||r||h(!1)},[d,h,r]),The({backgroundRefs:b,isCompactLayout:d,isMobileSidebarOpen:u,setIsMobileSidebarOpen:h,sheetRef:v});const w=d?Math.min(o,320):o,C=["app-shell__content",r?"app-shell__content--session":"",g?"is-sidebar-collapsed":"",r?"":"is-flat"].filter(Boolean).join(" "),S=y.jsx("div",{ref:m,className:"app-shell__content-region","aria-hidden":d&&u?!0:void 0,children:y.jsx(Iy.Content,{className:C,children:e})});return d?y.jsxs(Iy,{className:`app-shell app-shell--compact ${t?"app-shell--dark":""}`,children:[S,r&&y.jsxs(y.Fragment,{children:[y.jsx("button",{type:"button",className:`app-shell__mobile-sidebar-backdrop ${u?"is-open":""}`,"aria-label":a("common.close"),"aria-hidden":!u,tabIndex:-1,onClick:()=>h(!1)}),y.jsx("div",{ref:v,id:lLt,className:`app-shell__mobile-sidebar-sheet ${u?"is-open":""}`,role:"dialog","aria-modal":u?"true":void 0,"aria-label":a("common.sessions"),"aria-hidden":!u,tabIndex:-1,children:y.jsx(B0e,{width:w,activeId:n,onSelectSession:(x,k)=>{h(!1),s(x,k)},onDeletedSession:(x,k)=>{h(!1),i(x,k)},isCompactLayout:!0,isMobileOpen:u,onRequestClose:()=>h(!1)})})]}),y.jsx("div",{ref:p,children:y.jsx(N0e,{isCompactLayout:!0,ariaHidden:u,showSidebar:r,onOpenSidebar:()=>h(!0)})})]}):y.jsxs(Iy,{className:`app-shell ${t?"app-shell--dark":""}`,children:[y.jsxs("div",{className:"app-shell__sidebar-region",children:[y.jsx(N0e,{}),r&&y.jsx(B0e,{width:o,activeId:n,onSelectSession:s,onDeletedSession:i})]}),S]})}const uBe=(...n)=>n.find(e=>typeof e=="string"&&e.trim()!==""),hBe=()=>uBe(Ww().__VF_PROJECT_AI_CLIENT_VERSION__,"3.0.0-alpha.5")??"0.0.0",dLt=()=>uBe(Ww().__VF_PROJECT_AI_CLIENT_COMMIT_HASH__,"54a4969a52fc0d18398e4be66e7a37af9f4aae63"),uLt=/^v?(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z.-]+))?(?:\+[0-9A-Za-z.-]+)?$/,j0e=n=>{const e=n==null?void 0:n.trim().match(uLt);if(e!=null)return{major:Number(e[1]),minor:Number(e[2]),patch:Number(e[3]),...e[4]!=null?{prerelease:e[4]}:{}}},hLt=(n,e)=>{const t=j0e(n),i=j0e(e);return t==null||i==null?!1:t.prerelease!=null||i.prerelease!=null?t.major===i.major&&t.minor===i.minor&&t.patch===i.patch&&t.prerelease===i.prerelease:t.major!==i.major?!1:t.major===0?t.minor===i.minor:!0},R4=n=>n.authToken!=null&&n.authToken.trim()!=="",Wq=(n,e)=>y.jsxs("span",{className:"server-connection-gate__modal-label",children:[y.jsx("span",{className:"material-symbols-rounded",children:n}),y.jsx("span",{children:e})]});function fLt({profile:n,onClose:e,onProfilesChange:t}){const{t:i}=vt(),{modal:s}=ar.useApp(),[r]=zn.useForm();_.useEffect(()=>{n!=null&&r.setFieldsValue({alias:n.alias??"",description:n.description??""})},[r,n]);const o=async()=>{if(n==null)return;const c=await r.validateFields();t(f3e(n.serverUrl,c)),e()},a=()=>{n!=null&&s.confirm({title:i("serverConnection.clearLoginState"),content:i("serverConnection.clearLoginStateConfirm"),okText:i("common.confirm"),cancelText:i("common.cancel"),okButtonProps:{danger:!0},onOk:()=>{t(m3e(n.serverUrl)),e()}})},l=()=>{n!=null&&s.confirm({title:i("serverConnection.removeProfile"),content:i("serverConnection.removeProfileConfirm"),okText:i("common.delete"),cancelText:i("common.cancel"),okButtonProps:{danger:!0},onOk:()=>{t(oxt(n.serverUrl)),e()}})};return y.jsx(Ol,{open:n!=null,title:Wq("tune",i("serverConnection.manageProfile")),okText:i("common.confirm"),cancelText:i("common.cancel"),onOk:()=>void o(),onCancel:e,children:n!=null&&y.jsxs("div",{className:"server-connection-gate__profile-modal",children:[y.jsxs("div",{className:"server-connection-gate__profile-modal-url",children:[y.jsx("span",{className:"material-symbols-rounded",children:"link"}),y.jsx("span",{children:n.serverUrl})]}),y.jsxs("div",{className:`server-connection-gate__profile-modal-auth ${R4(n)?"is-saved":""}`,children:[y.jsx("span",{className:"material-symbols-rounded",children:R4(n)?"verified_user":"lock_open"}),y.jsx("strong",{children:R4(n)?i("serverConnection.loginSaved"):i("serverConnection.loginMissing")})]}),y.jsxs(zn,{form:r,layout:"vertical",requiredMark:!1,children:[y.jsx(zn.Item,{name:"alias",label:Wq("label",i("serverConnection.profileAlias")),children:y.jsx(yn,{placeholder:i("serverConnection.profileAliasPlaceholder")})}),y.jsx(zn.Item,{name:"description",label:Wq("notes",i("serverConnection.profileDescription")),children:y.jsx(yn.TextArea,{autoSize:{minRows:2,maxRows:4},placeholder:i("serverConnection.profileDescriptionPlaceholder")})})]}),y.jsxs("div",{className:"server-connection-gate__profile-modal-actions",children:[R4(n)&&y.jsx(qe,{danger:!0,htmlType:"button",icon:y.jsx("span",{className:"material-symbols-rounded",children:"lock_reset"}),onClick:a,children:i("serverConnection.clearLoginState")}),y.jsx(qe,{danger:!0,htmlType:"button",type:"text",icon:y.jsx("span",{className:"material-symbols-rounded",children:"delete"}),onClick:l,children:i("serverConnection.removeProfile")})]})]})})}const W0e=()=>{const n=document.activeElement;n instanceof HTMLElement&&n.blur()},V0e=n=>n.authToken!=null&&n.authToken.trim()!=="",gLt=n=>{var e;return((e=n.alias)==null?void 0:e.trim())||n.serverUrl},mLt=n=>{var e;return(e=n.serverVersion)==null?void 0:e.trim()},pLt=n=>n.pointerType==="touch"||n.pointerType==="pen";function _Lt({profiles:n,submitting:e,onConnect:t,onProfilesChange:i}){const{t:s}=vt(),[r,o]=_.useState(null);if(n.length===0)return null;const a=(l,c)=>{W0e(),!(!pLt(l)||e)&&(l.preventDefault(),t(c.serverUrl))};return y.jsxs("section",{className:"server-connection-gate__recent","aria-labelledby":"server-connection-recent-title",children:[y.jsx("h2",{id:"server-connection-recent-title",children:s("serverConnection.recentTitle")}),y.jsx("div",{className:"server-connection-gate__recent-list",children:n.map(l=>y.jsx("div",{className:"server-connection-gate__profile-row",children:y.jsxs("div",{className:`server-connection-gate__profile-card ${e?"is-disabled":""}`,children:[y.jsxs("button",{type:"button",className:"server-connection-gate__recent-item",disabled:e,onPointerDown:c=>a(c,l),onClick:()=>t(l.serverUrl),children:[y.jsx("span",{className:"material-symbols-rounded",children:"dns"}),y.jsxs("span",{className:"server-connection-gate__profile-main",children:[y.jsx("span",{className:"server-connection-gate__profile-title",children:gLt(l)}),y.jsx("span",{className:"server-connection-gate__profile-url",children:l.serverUrl}),y.jsx("span",{className:"server-connection-gate__profile-version",children:s("serverConnection.serverVersion",{version:mLt(l)??s("serverConnection.serverVersionUnknown")})}),l.description!=null&&y.jsx("span",{className:"server-connection-gate__profile-description",children:l.description})]}),y.jsx("span",{className:`server-connection-gate__profile-auth ${V0e(l)?"is-saved":""}`,children:V0e(l)?s("serverConnection.loginSaved"):s("serverConnection.loginMissing")})]}),y.jsx(qe,{htmlType:"button",type:"text",className:"server-connection-gate__profile-manage",icon:y.jsx("span",{className:"material-symbols-rounded",children:"edit"}),"aria-label":s("serverConnection.manageProfile"),onPointerDown:W0e,onClick:()=>o(l)})]})},l.serverUrl))}),y.jsx(fLt,{profile:r,onClose:()=>o(null),onProfilesChange:i})]})}const vLt="http",bLt="localhost:8787",yLt=[{label:"http://",value:"http"},{label:"https://",value:"https"}],wLt=y.jsx("span",{className:"material-symbols-rounded server-connection-gate__scheme-chevron",children:"expand_more"}),fBe=n=>{const e=n.trim(),t=/^(https?):\/\/(.+)$/i.exec(e);return t==null?{serverScheme:void 0,serverHost:e}:{serverScheme:t[1].toLowerCase(),serverHost:t[2].trim()}},CLt=n=>{const e=fBe(n.serverUrl);return`${e.serverScheme??n.serverScheme}://${e.serverHost}`},gBe=n=>{const e=n.getFieldValue("serverUrl");if(typeof e!="string")return;const t=fBe(e);t.serverScheme!=null&&n.setFieldsValue({serverScheme:t.serverScheme,serverUrl:t.serverHost})};function SLt({form:n,onBlur:e,...t}){const{t:i}=vt();return y.jsx(yn,{...t,autoComplete:"url",addonBefore:y.jsx(zn.Item,{name:"serverScheme",noStyle:!0,children:y.jsx(gs,{"aria-label":i("serverConnection.serverScheme"),className:"server-connection-gate__scheme-select",options:yLt,popupMatchSelectWidth:!1,suffixIcon:wLt})}),onBlur:s=>{e==null||e(s),gBe(n)},size:"large",placeholder:i("serverConnection.serverUrlPlaceholder")})}const xLt="https://github.com/vibe-forge-ai/vibe-forge.ai/blob/master/.ai/docs/usage/pwa.md";class mBe extends Error{constructor(e,t){super("Unsupported server version"),this.clientVersion=e,this.serverVersion=t}}const Vq=n=>n!=null&&typeof n=="object"&&!Array.isArray(n),kLt=n=>{const e=Vq(n)&&Vq(n.data)?n.data:n;return Vq(e)&&typeof e.version=="string"?{version:e.version}:{}},ELt=async n=>{const e=await fetch(i3e(n,"/api/auth/status"),{credentials:"include"});if(!e.ok)throw new Error(`Server responded with ${e.status}`);const t=kLt(await e.json().catch(()=>{})),i=hBe();if(!hLt(i,t.version))throw new mBe(i,t.version);return t};function LLt({children:n}){const{t:e}=vt(),t=R7(),i=ext(),s=a3e(),r=nxt(),[o]=zn.useForm(),[a,l]=_.useState(()=>s3e()),[c,d]=_.useState(()=>hp()),[u,h]=_.useState(null),[f,g]=_.useState(!1);if(_.useEffect(()=>{s!=null&&d(b=>{if(b.some(C=>C.serverUrl===s))return b;const w=JJ(s);return i?f3e(s,{alias:e("serverConnection.localServiceAlias"),description:e("serverConnection.localServiceProfileDescription")}):w})},[s,i,e]),!t||!r&&(a!=null||s!=null))return n;const m=async b=>{g(!0),h(null);try{const w=wd(b);if(w==null){h(e("serverConnection.invalidUrl"));return}const C=await ELt(w),S=Q1t(w);if(S==null){h(e("serverConnection.invalidUrl"));return}ixt(),d(JJ(S,{serverVersion:C.version})),l(S)}catch(w){w instanceof mBe?h(e("serverConnection.unsupportedServerVersion",{clientVersion:w.clientVersion,serverVersion:w.serverVersion??e("serverConnection.serverVersionUnknown")})):h(e("serverConnection.connectionFailed"))}finally{g(!1)}},p=async b=>{gBe(o),await m(CLt(b))},v=b=>{m(b)};return y.jsx("div",{className:"server-connection-gate",children:y.jsxs("main",{className:"server-connection-gate__panel","aria-labelledby":"server-connection-title",children:[y.jsxs("div",{className:"server-connection-gate__intro",children:[y.jsx("h1",{id:"server-connection-title",children:e(i?"serverConnection.desktopTitle":"serverConnection.title")}),y.jsx("p",{children:e(i?"serverConnection.desktopSubtitle":"serverConnection.subtitle")})]}),i?s!=null&&y.jsxs("div",{className:"server-connection-gate__setup",children:[y.jsxs("div",{className:"server-connection-gate__setup-title",children:[y.jsx("span",{className:"material-symbols-rounded",children:"computer"}),y.jsx("span",{children:e("serverConnection.localServiceTitle")})]}),y.jsx("code",{children:s}),y.jsx("p",{children:e("serverConnection.localServiceBannerDescription")})]}):y.jsxs("div",{className:"server-connection-gate__setup",children:[y.jsxs("div",{className:"server-connection-gate__setup-title",children:[y.jsx("span",{className:"material-symbols-rounded",children:"terminal"}),y.jsx("span",{children:e("serverConnection.setupTitle")})]}),y.jsx("code",{children:"npx vfui-server"}),y.jsxs("p",{children:[e("serverConnection.setupDescription"),y.jsx("a",{href:xLt,target:"_blank",rel:"noreferrer",children:e("serverConnection.docsLink")})]})]}),u!=null&&y.jsx(UB,{type:"error",showIcon:!0,className:"server-connection-gate__notice",message:u}),y.jsxs(zn,{form:o,layout:"vertical",requiredMark:!1,initialValues:{serverScheme:vLt,serverUrl:bLt},onFinish:b=>void p(b),children:[y.jsx(zn.Item,{name:"serverUrl",label:e("serverConnection.serverUrl"),rules:[{required:!0,message:e("serverConnection.serverUrlRequired")}],children:y.jsx(SLt,{form:o})}),y.jsx(_Lt,{profiles:c,submitting:f,onConnect:v,onProfilesChange:d}),y.jsx(qe,{type:"primary",htmlType:"submit",size:"large",loading:f,icon:y.jsx("span",{className:"material-symbols-rounded",children:"link"}),block:!0,children:e("serverConnection.connect")})]})]})})}function ILt(){var o,a,l;const{i18n:n}=vt(),e=yu(M7),{data:t}=hi("/api/config",Vw),i=(l=(a=(o=t==null?void 0:t.sources)==null?void 0:o.merged)==null?void 0:a.general)==null?void 0:l.interfaceLanguage,s=e==="dark"||e==="system"&&window.matchMedia("(prefers-color-scheme: dark)").matches;_.useEffect(()=>{document.documentElement.classList.toggle("dark",s)},[s]),_.useEffect(()=>{i&&n.language!==i&&n.changeLanguage(i)},[n,i]);const r=_.useMemo(()=>({algorithm:s?n0e.darkAlgorithm:n0e.defaultAlgorithm,token:{colorPrimary:s?"#3b82f6":"#000000"}}),[s]);return{isDarkMode:s,themeConfig:r}}const NLt=n=>Array.isArray(n)?n[0]==="/api/adapters":typeof n=="string"&&n.startsWith("/api/adapters/"),DLt=n=>Array.isArray(n)?n[0]==="worktree-environment"||n[0]==="/api/adapters":NLt(n);async function TLt(n){await Promise.all([n("/api/config"),n("worktree-environments"),n(DLt)])}const RLt=n=>{const e=new URL(c3e(sxt()));e.protocol=e.protocol==="https:"?"wss:":"ws:";const t=p3e();if(t!=null&&e.searchParams.set("authToken",t),n)for(const[i,s]of Object.entries(n))e.searchParams.set(i,s);return e.toString()};function Rhe(n,e){const t=RLt(e),i=new WebSocket(t);return i.addEventListener("open",()=>{var s;return(s=n.onOpen)==null?void 0:s.call(n)}),i.addEventListener("message",s=>{var r;try{const o=JSON.parse(String(s.data));(r=n.onMessage)==null||r.call(n,o)}catch(o){console.error(o)}}),i.addEventListener("error",s=>{var r;return(r=n.onError)==null?void 0:r.call(n,s)}),i.addEventListener("close",()=>{var s;return(s=n.onClose)==null?void 0:s.call(n)}),i}const MLt=n=>"isDeleted"in n&&n.isDeleted,PLt=n=>[...n].sort((e,t)=>{const i=+(t.isStarred===!0)-+(e.isStarred===!0);return i!==0?i:(t.createdAt??0)-(e.createdAt??0)}),z0e=(n,e,t)=>{if((n==null?void 0:n.sessions)==null)return n;if(MLt(e))return{...n,sessions:n.sessions.filter(a=>a.id!==e.id)};const i=e,s=t==="archived"?i.isArchived===!0:i.isArchived!==!0,r=n.sessions.find(a=>a.id===e.id);if(!s)return{...n,sessions:n.sessions.filter(a=>a.id!==e.id)};const o=r?n.sessions.map(a=>a.id===e.id?{...a,...i}:a):[i,...n.sessions];return{...n,sessions:PLt(o)}};function OLt(){const{mutate:n}=KN();_.useEffect(()=>{let e=!1,t,i;const s=a=>{if(a&&!(a.readyState===WebSocket.CLOSED||a.readyState===WebSocket.CLOSING)){if(a.readyState===WebSocket.CONNECTING){a.addEventListener("open",()=>a.close(),{once:!0});return}a.close()}},r=(a=0)=>{e||(i&&clearTimeout(i),i=setTimeout(()=>{i=void 0,o()},a))},o=()=>{e||(t=Rhe({onMessage:a=>{if(!e){if(a.type==="session_updated"){const l=a.session;n("/api/sessions",c=>z0e(c,l,"active"),!1),n("/api/sessions/archived",c=>z0e(c,l,"archived"),!1);return}a.type==="config_updated"&&TLt(n)}},onClose:()=>{e||r(1e3)},onError:()=>{s(t)}},{subscribe:"sessions"}))};return r(),()=>{e=!0,i&&clearTimeout(i),s(t)}},[n])}const ALt="/session/:sessionId";function FLt(){const n=Tf(),e=Sh(),t=yu(tkt),i=XP({path:ALt,end:!0},e.pathname),s=i==null?void 0:i.params.sessionId,r=e.pathname==="/"||s!=null,o=_.useCallback(c=>({pathname:c,search:e.search}),[e.search]),a=_.useCallback((c,d)=>{n(o(c.id===""?"/":`/session/${c.id}`))},[o,n]),l=_.useCallback((c,d)=>{s===c&&n(o(d?`/session/${d}`:"/"))},[s,o,n]);return{activeSessionId:s,handleDeletedSession:l,handleSelectSession:a,showSidebar:r,sidebarWidth:t}}function HA({bodyClassName:n,children:e,className:t,header:i}){const s=["page-shell",t].filter(Boolean).join(" "),r=["page-shell__body",n].filter(Boolean).join(" ");return y.jsxs("div",{className:s,children:[i!=null&&y.jsx("div",{className:"page-shell__header",children:i}),y.jsx("div",{className:r,children:e})]})}function $Lt(){const{t:n}=vt(),{message:e}=ar.useApp(),{isCompactLayout:t,isTouchInteraction:i}=Lr(),{data:s,mutate:r}=hi("/api/sessions/archived",async()=>Q3e("archived")),o=(s==null?void 0:s.sessions)??[],a=t||i,[l,c]=_.useState(""),[d,u]=_.useState(new Set),[h,f]=_.useState(!1),g=_.useMemo(()=>{if(l.trim()==="")return o;const x=l.toLowerCase();return o.filter(k=>{const L=k.title??"",I=k.lastMessage??"",N=k.lastUserMessage??"",D=(k.tags??[]).join(" ");return`${L} ${k.id} ${I} ${N} ${D}`.toLowerCase().includes(x)})},[o,l]),m=async x=>{try{await fg(x,{isArchived:!1}),e.success(n("common.restoreSuccess","Restored successfully")),r()}catch(k){e.error(Oi(k,n("common.restoreFailed","Failed to restore")))}},p=async x=>{try{await DI(x),e.success(n("common.deleteSuccess","Deleted successfully")),r()}catch(k){e.error(Oi(k,n("common.deleteFailed","Failed to delete")))}},v=x=>{const k=new Set(d);k.has(x)?k.delete(x):k.add(x),u(k)},b=x=>{u(x?new Set(g.map(k=>k.id)):new Set)},w=async()=>{try{await Promise.all(Array.from(d).map(async x=>fg(x,{isArchived:!1}))),e.success(n("common.batchRestoreSuccess","Batch restored successfully")),u(new Set),f(!1),r()}catch(x){e.error(Oi(x,n("common.batchRestoreFailed","Failed to restore some sessions")))}},C=async()=>{try{await Promise.all(Array.from(d).map(async x=>DI(x))),e.success(n("common.batchDeleteSuccess","Batch deleted successfully")),u(new Set),f(!1),r()}catch(x){e.error(Oi(x,n("common.batchDeleteFailed","Failed to delete some sessions")))}},S=g.length>0&&d.size===g.length;return y.jsx(HA,{className:`archive-view ${a?"archive-view--compact":""}`,header:y.jsxs("div",{className:"archive-view__toolbar",children:[h&&y.jsx("div",{className:"archive-view__select-all",children:y.jsx(Qe,{title:n(S?"common.deselectAll":"common.selectAll"),children:y.jsx(Og,{checked:S,indeterminate:d.size>0&&d.size<g.length,onChange:x=>b(x.target.checked)})})}),y.jsx(yn,{prefix:y.jsx("span",{className:"material-symbols-rounded archive-view__search-icon",children:"search"}),placeholder:n("common.search"),value:l,onChange:x=>c(x.target.value),allowClear:!0,className:"archive-view__search-input"}),y.jsx(jv,{size:6,className:"archive-view__toolbar-actions",children:h?y.jsxs(y.Fragment,{children:[y.jsx("span",{className:"archive-view__batch-info",children:n("common.selectedCount",{count:d.size})}),y.jsx(Qe,{title:n("common.cancel"),children:y.jsx(qe,{icon:y.jsx("span",{className:"material-symbols-rounded archive-view__action-icon",children:"close"}),onClick:()=>{f(!1),u(new Set)},className:"archive-view__icon-button"})}),y.jsx(Qe,{title:n("common.batchRestore"),children:y.jsx(qe,{type:"primary",icon:y.jsx("span",{className:"material-symbols-rounded archive-view__action-icon",children:"unarchive"}),onClick:()=>{w()},disabled:d.size===0,className:"archive-view__icon-button"})}),y.jsx(hw,{title:n("common.deleteConfirm",{count:d.size}),onConfirm:()=>{C()},disabled:d.size===0,children:y.jsx(Qe,{title:n("common.batchDelete"),children:y.jsx(qe,{danger:!0,icon:y.jsx("span",{className:"material-symbols-rounded archive-view__action-icon",children:"delete_sweep"}),disabled:d.size===0,className:"archive-view__icon-button"})})})]}):y.jsx(Qe,{title:n("common.batchMode"),children:y.jsx(qe,{icon:y.jsx("span",{className:"material-symbols-rounded archive-view__action-icon",children:"checklist"}),onClick:()=>f(!0),disabled:o.length===0,className:"archive-view__icon-button"})})})]}),children:y.jsx("div",{className:"archive-view__list",children:g.length===0?y.jsx(Zn,{image:Zn.PRESENTED_IMAGE_SIMPLE,description:n(l?"common.noSessions":"common.noArchivedSessions")}):y.jsx(yd,{itemLayout:"horizontal",dataSource:g,renderItem:x=>{const k=x.title!=null&&x.title!==""?x.title:x.lastMessage!=null&&x.lastMessage!==""?x.lastMessage:n("common.newChat"),L=x.tags??[],I=a?L.slice(0,1):L,N=Math.max(L.length-I.length,0);return y.jsx(yd.Item,{className:["archive-view__item",d.has(x.id)?"archive-view__item--selected":"",h?"archive-view__item--batch":""].filter(Boolean).join(" "),onClick:()=>h&&v(x.id),children:y.jsxs("div",{className:"archive-view__item-row",children:[h&&y.jsx("div",{className:"archive-view__item-select",children:y.jsx(Og,{checked:d.has(x.id),onChange:()=>v(x.id),onClick:D=>D.stopPropagation()})}),y.jsx("span",{className:"material-symbols-rounded archive-view__item-icon",children:"chat_bubble"}),y.jsxs("div",{className:"archive-view__item-main",children:[y.jsx("span",{className:"archive-view__item-title",children:k}),y.jsxs("div",{className:"archive-view__item-meta",children:[I.length>0&&y.jsxs("div",{className:"archive-view__item-tags",children:[I.map(D=>y.jsx(Ll,{className:"archive-view__item-tag",children:D},D)),N>0&&y.jsxs("span",{className:"archive-view__item-tag-count",children:["+",N]})]}),y.jsx("span",{className:"archive-view__item-time",children:U0(x.createdAt).format("YYYY-MM-DD HH:mm")})]})]}),!h&&y.jsxs("div",{className:"archive-view__item-actions",children:[y.jsx(Qe,{title:n("common.restore"),children:y.jsx(qe,{type:"text",size:"small",className:"archive-view__item-action-button",icon:y.jsx("span",{className:"material-symbols-rounded archive-view__action-icon",children:"unarchive"}),onClick:D=>{D.stopPropagation(),m(x.id)}})}),y.jsx(hw,{title:n("common.deleteSessionConfirm"),onConfirm:D=>{D==null||D.stopPropagation(),p(x.id)},children:y.jsx(qe,{type:"text",size:"small",danger:!0,className:"archive-view__item-action-button",icon:y.jsx("span",{className:"material-symbols-rounded archive-view__action-icon",children:"delete"}),onClick:D=>D.stopPropagation()})})]})]})})}})})})}function BLt(){return y.jsx($Lt,{})}const _H="",ev={model:_H,adapter:_H,effort:"default",permissionMode:"default",createWorktreeMode:"default",branchAction:"default",branchName:"",branchKind:"local"},U0e=n=>typeof n=="string"&&n.trim()!=="",HLt=({attachments:n,completion:e,composer:t,focusRestore:i,handleKeyDown:s,hideSender:r,interactionRequest:o,interactionResponse:a,isBusy:l,isInlineEdit:c,isThinking:d,modelUnavailable:u,permissionContext:h,placeholder:f,secondarySendShortcut:g,onSecondarySendShortcut:m,editorRef:p,toolbar:v})=>{var b,w;return{isInlineEdit:c,isThinking:d,isBusy:l,hideSender:r,permissionContext:h,deniedTools:((b=h==null?void 0:h.deniedTools)==null?void 0:b.filter(C=>C.trim()!==""))??[],reasons:((w=h==null?void 0:h.reasons)==null?void 0:w.filter(C=>C.trim()!==""))??[],editorRef:p,composer:t,completion:e,attachments:n,toolbar:v,handleKeyDown:s,interactionRequest:o,interactionResponse:a,modelUnavailable:u,placeholder:f,secondarySendShortcut:g,onSecondarySendShortcut:m,onInputChange:e.handleInputChange,onCursorChange:e.handleCursorChange,onCancelContextPicker:()=>{n.setShowContextPicker(!1),i.queueEditorFocusRestore()},onConfirmContextPicker:C=>{n.handleContextPickerConfirm(C),i.queueEditorFocusRestore()}}},jLt=({attachments:n,canOpenReferenceActions:e,focusRestore:t,isInlineEdit:i,message:s,modelUnavailable:r,onAdapterChange:o,onAccountChange:a,onEffortChange:l,onInterrupt:c,onModelChange:d,onToggleRecommendedModel:u,onPermissionModeChange:h,onQueueModeChange:f,onCancel:g,onConfirmInteractionOption:m,onSend:p,referenceActions:v,selectOverlays:b,t:w})=>({onImageFileChange:n.handleImageFileChange,onReferenceOpenChange:C=>{if(C&&!e){!i&&r&&s.warning(w("chat.modelConfigRequired"));return}if(b.setShowModelSelect(!1),b.setShowEffortSelect(!1),!C){v.closeReferenceActions({restoreFocus:!0});return}v.setShowPermissionActions(!1),v.setShowReferenceActions(!0)},onShowModelSelectChange:b.setShowModelSelect,onShowEffortSelectChange:b.setShowEffortSelect,onPermissionOpenChange:C=>{if(C&&!e){!i&&r&&s.warning(w("chat.modelConfigRequired"));return}if(!C){v.closeReferenceActions({restoreFocus:!0});return}b.setShowModelSelect(!1),b.setShowEffortSelect(!1),v.setShowReferenceActions(!1),v.setShowPermissionActions(!0)},onModelSearchValueChange:b.setModelSearchValue,onOpenContextPicker:n.handleOpenContextPicker,onReferenceImageSelect:n.handleImageUpload,onSelectPermissionMode:C=>{h==null||h(C),v.closeReferenceActions({restoreFocus:!0})},onReferenceMenuKeyDown:v.handleReferenceMenuKeyDown,onPermissionMenuKeyDown:v.handlePermissionMenuKeyDown,onOpenModelSelector:()=>{b.openModelSelector()&&v.closeReferenceActions()},onOpenEffortSelector:()=>{b.openEffortSelector()&&v.closeReferenceActions()},onQueueTextareaFocusRestore:t.queueEditorFocusRestore,onCloseReferenceActions:()=>v.closeReferenceActions(),onModelChange:d,onToggleRecommendedModel:u,onEffortChange:l,onAdapterChange:o,onAccountChange:a,onQueueModeChange:f,onSend:p,onInterrupt:c,onCancel:g,onConfirmInteractionOption:m}),WLt=({attachments:n,callbacks:e,composer:t,resources:i,selection:s,ui:r})=>{const o={isInlineEdit:r.isInlineEdit,isThinking:r.isThinking,modelUnavailable:!!r.modelUnavailable,sendBlocked:r.sendBlocked,sendBlockedTooltip:r.sendBlockedTooltip,showConfirmInteractionAction:r.showConfirmInteractionAction,adapterLocked:r.adapterLocked,submitLoading:r.submitLoading,supportsEffort:r.supportsEffort,canOpenReferenceActions:r.canOpenReferenceActions,showModelSelect:r.selectOverlays.showModelSelect,showEffortSelect:r.selectOverlays.showEffortSelect,showReferenceActions:r.referenceActions.showReferenceActions,showPermissionActions:r.referenceActions.showPermissionActions,hideReferenceActions:r.hideReferenceActions,hideSubmitAction:r.hideSubmitAction,modelSearchValue:r.selectOverlays.modelSearchValue,selectedModel:s.selectedModel,effort:s.effort,permissionMode:s.permissionMode,selectedAdapter:s.selectedAdapter,selectedAccount:s.selectedAccount,showAccountSelector:r.showAccountSelector,isMac:r.isMac,resolvedSendShortcut:s.resolvedSendShortcut,queueMode:s.queueMode,showQueueModeControl:r.isThinking&&!r.isInlineEdit,hasComposerContent:t.input.trim()!==""||t.pendingImageCount>0||t.pendingFileCount>0,hasSendText:t.input.trim()!==""},a={modelMenuGroups:s.modelMenuGroups,modelSearchOptions:s.modelSearchOptions,recommendedModelOptions:s.recommendedModelOptions,servicePreviewModelOptions:s.servicePreviewModelOptions,updatingRecommendedModelValue:s.updatingRecommendedModelValue,effortOptions:s.effortOptions,permissionModeOptions:s.permissionModeOptions,adapterOptions:s.adapterOptions,accountOptions:s.accountOptions,composerControlShortcuts:{...r.composerControlShortcuts,...s.queuedMessageShortcuts},submitLabel:r.submitLabel,confirmInteractionLabel:r.confirmInteractionLabel},l={...r.refs,referenceMenuNavigation:r.referenceActions.referenceMenuNavigation,permissionMenuNavigation:r.referenceActions.permissionMenuNavigation},c=jLt({attachments:n,canOpenReferenceActions:r.canOpenReferenceActions,focusRestore:r.focusRestore,isInlineEdit:r.isInlineEdit,message:i.message,modelUnavailable:r.modelUnavailable,onAdapterChange:e.onAdapterChange,onAccountChange:e.onAccountChange,onEffortChange:e.onEffortChange,onInterrupt:e.onInterrupt,onModelChange:e.onModelChange,onToggleRecommendedModel:e.onToggleRecommendedModel,onPermissionModeChange:e.onPermissionModeChange,onQueueModeChange:e.onQueueModeChange,onCancel:e.onCancel,onConfirmInteractionOption:e.onConfirmInteractionOption,onSend:e.onSend,referenceActions:r.referenceActions,selectOverlays:r.selectOverlays,t:i.t});return{toolbarState:o,toolbarData:a,toolbarRefs:l,toolbarHandlers:c}},VLt=({attachments:n,callbacks:e,composer:t,composerControlShortcuts:i,focusRestore:s,isBusy:r,isInlineEdit:o,isMac:a,isThinking:l,sendBlocked:c,sendBlockedTooltip:d,showConfirmInteractionAction:u,confirmInteractionLabel:h,onConfirmInteractionOption:f,message:g,props:m,refs:p,referenceActions:v,queuedMessageShortcuts:b,resolvedSendShortcut:w,selectOverlays:C,supportsEffort:S,t:x})=>{const k=!r&&(!m.modelUnavailable||o);return WLt({attachments:n,callbacks:{onAdapterChange:m.onAdapterChange,onAccountChange:m.onAccountChange,onEffortChange:m.onEffortChange,onInterrupt:m.onInterrupt,onModelChange:m.onModelChange,onToggleRecommendedModel:m.onToggleRecommendedModel,onPermissionModeChange:m.onPermissionModeChange,onQueueModeChange:m.onQueueModeChange,onCancel:m.onCancel,onConfirmInteractionOption:f,onSend:e.onSend},composer:t,resources:{message:g,t:x},selection:{adapterOptions:m.adapterOptions,accountOptions:m.accountOptions,effort:m.effort??"default",effortOptions:m.effortOptions??[],modelMenuGroups:m.modelMenuGroups,modelSearchOptions:m.modelSearchOptions,permissionMode:m.permissionMode??"default",permissionModeOptions:m.permissionModeOptions??[],queueMode:m.queueMode??"steer",queuedMessageShortcuts:b,recommendedModelOptions:m.recommendedModelOptions,servicePreviewModelOptions:m.servicePreviewModelOptions,resolvedSendShortcut:w,selectedAdapter:m.selectedAdapter,selectedAccount:m.selectedAccount,selectedModel:m.selectedModel,updatingRecommendedModelValue:m.updatingRecommendedModelValue},ui:{adapterLocked:m.adapterLocked??!1,canOpenReferenceActions:k,composerControlShortcuts:i,focusRestore:s,isInlineEdit:o,isMac:a,isThinking:l,sendBlocked:c,sendBlockedTooltip:d,showConfirmInteractionAction:u,modelUnavailable:m.modelUnavailable,hideReferenceActions:m.hideReferenceActions===!0,hideSubmitAction:m.hideSubmitAction===!0,referenceActions:v,refs:p,selectOverlays:C,showAccountSelector:m.showAccountSelector===!0,confirmInteractionLabel:h,submitLabel:m.submitLabel,submitLoading:m.submitLoading===!0,supportsEffort:S}})},zLt=n=>!1,ULt=({interactionRequest:n,isInlineEdit:e})=>{const t=e?!1:zLt(),i=(n==null?void 0:n.payload.kind)==="permission"?n.payload.permissionContext:void 0;return{hideSender:t,permissionContext:i}},KLt=n=>{const e=n.variant==="inline-edit",t=navigator.platform.includes("Mac"),i=!e&&n.sessionStatus==="running",s=i||n.submitLoading===!0,r=n.forceEffortControl===!0||n.selectedAdapter==="codex"||n.selectedAdapter==="claude-code"||n.selectedAdapter==="copilot"||n.selectedAdapter==="opencode";return{isInlineEdit:e,isMac:t,isThinking:i,isBusy:s,supportsEffort:r}},pBe="vf_chat_history",_Be=(n,e)=>{console.error(`Failed to ${n} chat history`,e)},K0e=n=>n==="Enter"||n===" ",qLt=n=>new Promise((e,t)=>{const i=new FileReader;i.onload=()=>{e(typeof i.result=="string"?i.result:"")},i.onerror=()=>{t(new Error("read_failed"))},i.readAsDataURL(n)}),Mhe=()=>{try{const n=localStorage.getItem(pBe),e=n!=null?JSON.parse(n):[];return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}catch(n){return _Be("read",n),[]}},GLt=n=>{try{const e=Mhe(),t=[n,...e.filter(i=>i!==n)].slice(0,50);localStorage.setItem(pBe,JSON.stringify(t))}catch(e){_Be("write",e)}},XLt=({initialContent:n,isBusy:e,isInlineEdit:t,modelUnavailable:i,interactionRequest:s,message:r,t:o,fileInputRef:a,setPendingImages:l,setPendingFiles:c})=>{const[d,u]=_.useState(!1);_.useEffect(()=>{h()},[n]);const h=()=>{u(!1)},f=async v=>{for(const w of v)if(w.type.startsWith("image/")){if(w.size>5242880){r.error(o("chat.imageTooLarge"));continue}try{const C=await qLt(w);if(C===""){r.error(o("chat.imageReadFailed"));continue}l(S=>{var x;return[...S,{id:(x=globalThis.crypto)!=null&&x.randomUUID?globalThis.crypto.randomUUID():`img-${Date.now()}-${Math.random().toString(16).slice(2)}`,url:C,name:w.name,size:w.size,mimeType:w.type}]})}catch{r.error(o("chat.imageReadFailed"))}}};return{showContextPicker:d,setShowContextPicker:u,resetAttachmentUi:h,handleImageUpload:()=>{var v;if(!e){if(!t&&i){r.warning(o("chat.modelConfigRequired"));return}if(!t&&s!=null){r.warning(o("chat.imageNotSupportedInInteraction"));return}(v=a.current)==null||v.click()}},handleImageFileChange:async v=>{const b=Array.from(v.target.files??[]);b.length!==0&&(await f(b),v.target.value="")},handleOpenContextPicker:()=>{if(!(e||t)){if(!t&&i){r.warning(o("chat.modelConfigRequired"));return}if(!t&&s!=null){r.warning(o("chat.fileNotSupportedInInteraction"));return}u(!0)}},handleContextPickerConfirm:v=>{c(v),u(!1)},handlePaste:async v=>{var w;const b=Array.from(((w=v.clipboardData)==null?void 0:w.items)??[]).filter(C=>C.kind==="file"&&C.type.startsWith("image/")).map(C=>C.getAsFile()).filter(C=>C!=null);b.length>0&&(v.preventDefault(),await f(b))}}},YLt=({autoFocus:n,editorRef:e})=>{_.useEffect(()=>{if(!n)return;const t=window.requestAnimationFrame(()=>{const i=e.current;if(i==null)return;const s=i.getValue().length;i.focus(),i.setSelection({start:s,end:s})});return()=>{window.cancelAnimationFrame(t)}},[n,e])},ZLt=/(^|\s)([@/#])([^\s@/#]*)$/,QLt=/(^|\s)([@/#])([^\s@/#]+)/g,q0e=[{trigger:"/",kind:"command",values:["plan","summarize","review","fix","explain"]},{trigger:"@",kind:"agent",values:["solution-analyst","dev-planner","dev-implementer","dev-reviewer"]},{trigger:"#",kind:"tool",values:["ChromeDevtools","Bash","Read","Edit","Search"]}],JLt=n=>{if((n==null?void 0:n.type)!=="init")return q0e;const e=[{trigger:"/",kind:"command",values:n.slashCommands??[]},{trigger:"@",kind:"agent",values:n.agents??[]},{trigger:"#",kind:"tool",values:n.tools??[]}];return e.some(i=>i.values.length>0)?e:q0e},eIt=n=>n==="@"?"chat-input-monaco__token--agent":n==="#"?"chat-input-monaco__token--tool":"chat-input-monaco__token--command",tIt=(n,e)=>{const t=e.toLowerCase();return n.toSorted((i,s)=>{const r=i.value.toLowerCase().startsWith(t),o=s.value.toLowerCase().startsWith(t);return r!==o?r?-1:1:i.value.localeCompare(s.value)})},G0e=(n,e,t)=>{const i=e??n.length,s=n.slice(0,i),r=ZLt.exec(s);if(r==null)return null;const o=r[2],a=r[3]??"",l=i-a.length,c=a.toLowerCase(),d=JLt(t).find(h=>h.trigger===o);if(d==null)return null;const u=d.values.filter(h=>c===""||h.toLowerCase().includes(c)).map(h=>({kind:d.kind,label:`${o}${h}`,value:h}));return{trigger:o,kind:d.kind,query:a,replaceStart:l,cursorOffset:i,items:tIt(u,a)}},nIt=n=>{const e=[];for(const t of n.matchAll(QLt)){const i=t[1]??"",s=t[2],r=t[3]??"",o=t.index;if(s==null||o==null||r==="")continue;const a=o+i.length,l=a+1+r.length;e.push({start:a,end:l,className:eIt(s)})}return e},iIt=({initialContent:n,input:e,setInput:t,sessionInfo:i,editorRef:s})=>{const[r,o]=_.useState(!1),a=_.useCallback(()=>{o(!1)},[]);_.useEffect(()=>{a()},[n,a]);const l=_.useCallback((u,h)=>{var m,p;const f=h??((p=(m=s.current)==null?void 0:m.getSelection())==null?void 0:p.end)??u.length,g=G0e(u,f,i);o(((g==null?void 0:g.items.length)??0)>0)},[s,i]),c=_.useCallback((u,h)=>{t(u),l(u,h)},[t,l]),d=_.useCallback(u=>{l(e,u)},[e,l]);return{showCompletion:r,resetCompletion:a,handleInputChange:c,handleCursorChange:d,resolveCompletionMatch:G0e,resolveTokenDecorations:nIt}},sIt=n=>`pending-image-${n}`,X0e=n=>{if(typeof n=="string")return{input:n,pendingImages:[],pendingFiles:[]};if(!Array.isArray(n))return{input:"",pendingImages:[],pendingFiles:[]};const e=n.filter(s=>s.type==="text").map(s=>s.text),t=n.filter(s=>s.type==="image").map((s,r)=>({id:sIt(r),url:s.url,name:s.name,size:s.size,mimeType:s.mimeType})),i=n.filter(s=>s.type==="file").map(s=>({path:s.path,name:s.name,size:s.size}));return{input:e.join(`
|
|
528
|
+
`.trim(),VEt=`data:image/svg+xml;utf8,${encodeURIComponent(WEt)}`,zEt="OpenCode",UEt={"claude-code":{title:NEt,icon:IEt},codex:{title:REt,icon:TEt},copilot:{title:OEt,icon:PEt},gemini:{title:$Et,icon:FEt},kimi:{title:jEt,icon:HEt},opencode:{title:zEt,icon:VEt}},GN=n=>UEt[n]??{title:n,icon:void 0};var lBe={exports:{}};(function(n,e){(function(t,i){n.exports=i()})(uP,function(){return function(t,i,s){t=t||{};var r=i.prototype,o={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function a(c,d,u,h){return r.fromToBase(c,d,u,h)}s.en.relativeTime=o,r.fromToBase=function(c,d,u,h,f){for(var g,m,p,v=u.$locale().relativeTime||o,b=t.thresholds||[{l:"s",r:44,d:"second"},{l:"m",r:89},{l:"mm",r:44,d:"minute"},{l:"h",r:89},{l:"hh",r:21,d:"hour"},{l:"d",r:35},{l:"dd",r:25,d:"day"},{l:"M",r:45},{l:"MM",r:10,d:"month"},{l:"y",r:17},{l:"yy",d:"year"}],w=b.length,C=0;C<w;C+=1){var S=b[C];S.d&&(g=h?s(c).diff(u,S.d,!0):u.diff(c,S.d,!0));var x=(t.rounding||Math.round)(Math.abs(g));if(p=g>0,x<=S.r||!S.r){x<=1&&C>0&&(S=b[C-1]);var k=v[S.l];f&&(x=f(""+x)),m=typeof k=="string"?k.replace("%d",x):k(x,d,S.l,p);break}}if(d)return m;var L=p?v.future:v.past;return typeof L=="function"?L(m):L.replace("%s",m)},r.to=function(c,d){return a(c,d,this,!0)},r.from=function(c,d){return a(c,d,this)};var l=function(c){return c.$u?s.utc():s()};r.toNow=function(c){return this.to(l(this),c)},r.fromNow=function(c){return this.from(l(this),c)}}})})(lBe);var KEt=lBe.exports;const qEt=Bv(KEt),GEt=n=>`${Che()}/session/${n}`,KD=(n,e)=>{const t=e==null?void 0:e.trim();return t!=null&&t!==""?`message-${n}-${t}`:`message-${n}`},cBe=(n,e)=>{const t=new URL(globalThis.location.origin);return t.pathname=GEt(n),t.search="",t.hash=(e==null?void 0:e.anchorId)!=null&&e.anchorId!==""?`#${e.anchorId}`:"",t.toString()};async function gL(n){try{return await navigator.clipboard.writeText(n.text),n.messageApi.success(n.successMessage),!0}catch{return n.messageApi.error(n.failureMessage),!1}}function XEt({entries:n,pendingAction:e,onCancelConfirm:t}){return y.jsx("div",{className:"session-context-menu",onContextMenu:i=>i.preventDefault(),children:n.map(i=>{if(i.type==="divider")return y.jsx("div",{className:"session-context-menu__divider"},i.key);const s=e===i.key;return y.jsxs("div",{role:"button",tabIndex:0,className:`session-context-menu__item session-context-menu__item--${i.key} ${i.danger?"is-danger":""} ${s?"is-confirming":""}`,onClick:r=>{r.preventDefault(),r.stopPropagation(),i.onClick()},onKeyDown:r=>{(r.key==="Enter"||r.key===" ")&&(r.preventDefault(),i.onClick())},children:[y.jsxs("div",{className:"session-context-menu__meta",children:[y.jsx("span",{className:"material-symbols-rounded session-context-menu__icon",children:i.icon}),y.jsx("span",{className:"session-context-menu__label",children:s?i.confirmLabel??i.label:i.label})]}),s&&y.jsxs("div",{className:"session-context-menu__confirm-actions",children:[y.jsx("button",{type:"button",className:"session-context-menu__confirm-btn is-accept",onClick:r=>{r.preventDefault(),r.stopPropagation(),i.onClick()},children:y.jsx("span",{className:"material-symbols-rounded",children:"check"})}),y.jsx("button",{type:"button",className:"session-context-menu__confirm-btn is-cancel",onClick:r=>{r.preventDefault(),r.stopPropagation(),t()},children:y.jsx("span",{className:"material-symbols-rounded",children:"close"})})]})]},i.key)})})}function F0e({children:n,session:e,trigger:t=["contextMenu"],onArchive:i,onDelete:s,onRename:r,onStar:o}){const{t:a}=vt(),{message:l,modal:c}=ar.useApp(),[d,u]=_.useState(!1),[h,f]=_.useState(null),g=()=>{u(!1),f(null)},m=v=>{if(h===v){if(g(),v==="archive"){i(e.id);return}s(e.id);return}f(v)},p=_.useMemo(()=>[{key:"star",label:e.isStarred?a("common.unstar"):a("common.star"),icon:e.isStarred?"star":"star_border",onClick:()=>{g(),o(e.id,!e.isStarred)}},{key:"rename",label:a("common.rename"),icon:"edit",onClick:()=>{g();let v=e.title??"";c.confirm({title:a("common.renameSession"),okText:a("common.confirm"),cancelText:a("common.cancel"),content:y.jsx(yn,{autoFocus:!0,defaultValue:e.title??"",placeholder:a("chat.enterTitle"),onChange:b=>{v=b.target.value}}),onOk:async()=>{const b=v.trim();if(b!==(e.title??"").trim())try{await r(e.id,b),l.success(a("chat.titleUpdated"))}catch{throw l.error(a("common.operationFailed")),new Error("rename-session-failed")}}})}},{key:"archive",label:e.isArchived?a("common.restore"):a("common.archive"),confirmLabel:a("common.confirmAction",{action:e.isArchived?a("common.restore"):a("common.archive")}),icon:e.isArchived?"unarchive":"archive",onClick:()=>{m("archive")}},{key:"delete",label:a("common.delete"),confirmLabel:a("common.confirmAction",{action:a("common.delete")}),icon:"delete",danger:!0,onClick:()=>{m("delete")}},{key:"divider-main",type:"divider",label:"",icon:"",onClick:()=>{}},{key:"copy-session-link",label:a("common.copySessionLink"),icon:"link",onClick:()=>{g(),gL({text:cBe(e.id),messageApi:l,successMessage:a("common.sessionLinkCopied"),failureMessage:a("common.copyFailed")})}},{key:"copy-session-id",label:a("common.copySessionId"),icon:"fingerprint",onClick:()=>{g(),gL({text:e.id,messageApi:l,successMessage:a("common.sessionIdCopied"),failureMessage:a("common.copyFailed")})}},{key:"copy-resume-command",label:a("common.copyResumeCommand"),icon:"terminal",onClick:()=>{g(),gL({text:`vf --resume ${e.id}`,messageApi:l,successMessage:a("common.resumeCommandCopied"),failureMessage:a("common.copyFailed")})}}],[l,c,i,s,r,o,h,e,a]);return y.jsx(ta,{trigger:t,open:d,onOpenChange:v=>{u(v),v||f(null)},dropdownRender:()=>y.jsx(XEt,{entries:p,pendingAction:h,onCancelConfirm:()=>f(null)}),children:n})}var YEt={exports:{}};(function(n,e){(function(t,i){n.exports=i(F4e)})(uP,function(t){function i(o){return o&&typeof o=="object"&&"default"in o?o:{default:o}}var s=i(t),r={name:"zh-cn",weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),ordinal:function(o,a){return a==="W"?o+"周":o+"日"},weekStart:1,yearStart:4,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日Ah点mm分",LLLL:"YYYY年M月D日ddddAh点mm分",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},relativeTime:{future:"%s内",past:"%s前",s:"几秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},meridiem:function(o,a){var l=100*o+a;return l<600?"凌晨":l<900?"早上":l<1100?"上午":l<1300?"中午":l<1800?"下午":"晚上"}};return s.default.locale(r,null,!0),r})})(YEt);U0.extend(qEt);function ZEt({session:n,isActive:e,isBatchMode:t,isCompactLayout:i,isSelected:s,isTouchInteraction:r,onSelect:o,onArchive:a,onDelete:l,onRename:c,onStar:d,onToggleSelect:u}){const{t:h,i18n:f}=vt(),g="automation:",m=_.useRef(null),[p,v]=_.useState(null),b=i||r,w=O=>r?void 0:O;_.useEffect(()=>{if(p==null)return;const O=A=>{var B;const F=A.target;if(!(F instanceof Node)){v(null);return}(B=m.current)!=null&&B.contains(F)||v(null)};return document.addEventListener("pointerdown",O,!0),()=>{document.removeEventListener("pointerdown",O,!0)}},[p]);const C=_.useMemo(()=>{const O=U0(n.createdAt);return f.language==="zh"?O.locale("zh-cn"):O.locale("en"),{relative:O.fromNow(),full:O.format("YYYY-MM-DD HH:mm:ss")}},[n.createdAt,f.language]),S=n.isArchived?h("common.restore"):h("common.archive"),x=h("common.confirmAction",{action:S}),k=n.tags??[],L=i?k.slice(0,1):k,I=Math.max(k.length-L.length,0),N=n.title!=null&&n.title!==""?n.title:n.lastUserMessage!=null&&n.lastUserMessage!==""?n.lastUserMessage:h("common.newChat"),D=n.adapter!=null&&n.adapter!==""?GN(n.adapter):void 0,T=_.useMemo(()=>n.lastMessage==null||n.lastMessage===""?null:n.lastMessage.length>60?`${n.lastMessage.slice(0,60)}...`:n.lastMessage,[n.lastMessage]),R=_.useMemo(()=>O=>{if(!O.startsWith(g))return null;const A=O.split(":");return A.length<3?null:{ruleId:A[1],ruleTitle:A.slice(2).join(":")}},[g]),M=O=>{if(!O)return y.jsx("div",{className:`status-dot ${e?"active":""}`});let A="",F="";const B=h(`common.status.${O}`);switch(O){case"completed":A="check_circle",F="#52c41a";break;case"terminated":A="remove_circle",F="#bfbfbf";break;case"failed":A="cancel",F="#ff4d4f";break;case"running":A="sync",F="#1890ff";break;case"waiting_input":return y.jsx(Qe,{title:w(B),children:y.jsx("div",{className:"waiting-input-indicator"})});default:return y.jsx("div",{className:`status-dot ${e?"active":""}`})}return y.jsx(Qe,{title:w(B),children:y.jsx("span",{className:`material-symbols-rounded status-icon ${O==="running"?"spin":""}`,style:{color:F,fontSize:"16px",lineHeight:"16px",display:"flex",alignItems:"center",justifyContent:"center"},children:A})})},P=O=>{if(p===O){v(null),a(n.id);return}v(O)};return y.jsx(F0e,{session:n,onArchive:a,onDelete:l,onRename:c,onStar:d,children:y.jsx(yd.Item,{onClick:()=>t?u(n.id):o(n),onMouseLeave:()=>v(null),onDoubleClick:()=>{console.log("Session Details:",n)},className:`session-item ${e?"active":""} ${s?"selected":""} ${n.isStarred?"starred":""} ${i?"session-item--compact":""} ${b?"session-item--touch":""}`,children:y.jsxs("div",{ref:m,className:"session-item-content",children:[y.jsxs("div",{className:`session-leading ${(D==null?void 0:D.icon)!=null?"has-adapter":""}`,children:[(D==null?void 0:D.icon)!=null&&y.jsx("img",{className:"session-adapter-icon",src:D.icon,alt:"","aria-hidden":"true"}),y.jsx("div",{className:`status-indicator ${(D==null?void 0:D.icon)!=null?"is-overlay":""}`,children:M(n.status)})]}),y.jsxs("div",{className:`session-info ${t?"":"with-actions"}`,children:[y.jsxs("div",{className:"session-header",children:[y.jsx("div",{className:"session-title",children:y.jsx("span",{className:"session-title-text",children:N})}),y.jsx("div",{className:"session-header-side",children:!t&&y.jsxs(y.Fragment,{children:[!i&&y.jsx(Qe,{title:w(C.full),children:y.jsx("span",{className:"time-display",children:C.relative})}),b?y.jsx(F0e,{session:n,trigger:["click"],onArchive:a,onDelete:l,onRename:c,onStar:d,children:y.jsx(qe,{type:"text",size:"small",className:"action-btn action-btn--more",title:h("common.moreActions"),"aria-label":h("common.moreActions"),onClick:O=>{O.stopPropagation()},icon:y.jsx("span",{className:"material-symbols-rounded",children:"more_horiz"})})}):y.jsxs("div",{className:"session-item-actions",children:[y.jsx(Qe,{title:w(n.isStarred?h("common.unstar"):h("common.star")),children:y.jsx(qe,{type:"text",size:"small",className:`action-btn star-btn ${n.isStarred?"starred":""}`,onClick:O=>{O.stopPropagation(),v(null),d(n.id,!n.isStarred)},icon:y.jsx("span",{className:`material-symbols-rounded ${n.isStarred?"filled":""}`,children:"star"})})}),y.jsx(Qe,{title:w(p==="archive"?x:S),children:y.jsxs(qe,{type:"text",size:"small",className:`action-btn archive-btn ${p==="archive"?"is-confirming":""}`,onClick:O=>{O.stopPropagation(),P("archive")},children:[y.jsx("span",{className:"material-symbols-rounded",children:n.isArchived?"unarchive":"archive"}),p==="archive"&&y.jsx("span",{className:"action-btn__label",children:x})]})})]})]})})]}),!i&&T!=null&&y.jsx("div",{className:"last-message",children:T}),L.length>0&&y.jsxs("div",{className:"tags-container",children:[L.map(O=>{const A=R(O);if(A){const F=`/automation?rule=${encodeURIComponent(A.ruleId)}`;return y.jsx(Qe,{title:w(A.ruleTitle),children:y.jsx(Ll,{className:"session-tag session-tag--automation",onClick:B=>B.stopPropagation(),children:y.jsx("a",{className:"session-tag__link",href:F,onClick:B=>B.stopPropagation(),children:A.ruleTitle})})},O)}return y.jsx(Qe,{title:w(O),children:y.jsx(Ll,{className:"session-tag",children:y.jsx("span",{className:"session-tag__text",children:O})})},O)}),I>0&&y.jsxs(Ll,{className:"session-tag session-tag--count",children:["+",I]})]})]})]})})})}function QEt({sessions:n,activeId:e,hasActiveFilters:t,isBatchMode:i,isCompactLayout:s,selectedIds:r,isTouchInteraction:o,searchQuery:a,onSelectSession:l,onArchiveSession:c,onDeleteSession:d,onRenameSession:u,onStarSession:h,onToggleSelect:f}){const{t:g}=vt(),[m,p]=_.useState(new Set),{flattenedSessions:v,childSummaryMap:b}=_.useMemo(()=>{const C=new Map(n.map(D=>[D.id,D])),S=new Map;for(const D of n)if(D.parentSessionId){const T=S.get(D.parentSessionId)??[];T.push(D),S.set(D.parentSessionId,T)}const x=n.filter(D=>D.parentSessionId?!C.has(D.parentSessionId):!0),k=new Map;for(const[D,T]of S.entries()){const R=T.length,M=new Map;for(const O of T){const A=O.status??"running";M.set(A,(M.get(A)??0)+1)}const P=[g("common.childSummary",{count:R})];for(const[O,A]of M.entries())P.push(g("common.childStatusItem",{count:A,status:g(`common.status.${O}`)}));k.set(D,P.join(" · "))}const L=[],I=new Set,N=(D,T)=>{if(I.has(D.id))return;I.add(D.id);const R=S.get(D.id)??[];if(L.push({session:D,depth:T,hasChildren:R.length>0}),!m.has(D.id))for(const M of R)N(M,T+1)};for(const D of x)N(D,0);return{flattenedSessions:L,childSummaryMap:k}},[n,m,g]),w=C=>{p(S=>{const x=new Set(S);return x.has(C)?x.delete(C):x.add(C),x})};return y.jsx("div",{className:"session-list-container",children:y.jsx("div",{className:"session-list-scroll",children:y.jsx(yd,{className:"session-list",size:"small",locale:{emptyText:y.jsx("div",{className:"empty-text",children:g(a||t?"common.noSessions":"common.startNewChat")})},dataSource:v,renderItem:({session:C,depth:S,hasChildren:x})=>y.jsxs("div",{className:`session-row ${S>0?"has-parent":""}`,style:{"--session-depth":S},children:[y.jsxs("div",{className:"session-row-main",children:[i&&y.jsx("div",{className:"session-select-toggle",onClick:k=>k.stopPropagation(),children:y.jsx(Og,{checked:r.has(C.id),onChange:()=>f(C.id)})}),y.jsx(ZEt,{session:C,isActive:e===C.id,isBatchMode:i,isCompactLayout:s,isSelected:r.has(C.id),isTouchInteraction:o,onSelect:l,onArchive:c,onDelete:d,onRename:u,onStar:h,onToggleSelect:f})]}),x&&!i&&y.jsxs("div",{className:"session-collapse-row",style:{"--session-depth":S},onClick:k=>k.stopPropagation(),children:[y.jsx(qe,{type:"text",size:"small",className:`session-tree-toggle ${m.has(C.id)?"collapsed":""}`,onClick:()=>w(C.id),icon:y.jsx("span",{className:"material-symbols-rounded",children:"chevron_right"})}),y.jsx("span",{className:"session-collapse-label",children:m.has(C.id)?g("common.expandChildren"):g("common.collapseChildren")}),y.jsx("span",{className:"session-collapse-summary",children:b.get(C.id)??g("common.childSummary",{count:0})})]})]})})})})}function JEt({isAllSelected:n,selectedCount:e,totalCount:t,onBatchArchive:i,onBatchDelete:s,onBatchStar:r,onSelectAll:o}){const{t:a}=vt(),{isTouchInteraction:l}=Lr(),c=d=>l?void 0:d;return y.jsxs("div",{className:"header-batch-actions",children:[y.jsx(Qe,{title:c(a(n?"common.deselectAll":"common.selectAll")),children:y.jsx("label",{className:"batch-select-toggle",children:y.jsx(Og,{checked:n,indeterminate:e>0&&e<t,onChange:d=>o(d.target.checked)})})}),y.jsx(Qe,{title:c(a("common.star")),children:y.jsx(qe,{className:"sidebar-tool-btn is-icon-only",type:"text",disabled:e===0,onClick:r,icon:y.jsx("span",{className:"material-symbols-rounded",children:"star"})})}),y.jsx(hw,{title:a("common.archiveConfirm",{count:e}),onConfirm:i,okText:a("common.confirm"),cancelText:a("common.cancel"),okButtonProps:{danger:!1},disabled:e===0,children:y.jsx(Qe,{title:c(a("common.archive")),children:y.jsx(qe,{className:"sidebar-tool-btn is-icon-only",type:"text",disabled:e===0,icon:y.jsx("span",{className:"material-symbols-rounded",children:"archive"})})})}),y.jsx(hw,{title:a("common.deleteConfirm",{count:e}),onConfirm:s,okText:a("common.confirm"),cancelText:a("common.cancel"),okButtonProps:{danger:!0},disabled:e===0,children:y.jsx(Qe,{title:c(a("common.delete")),children:y.jsx(qe,{className:"sidebar-tool-btn is-icon-only is-danger",type:"text",disabled:e===0,icon:y.jsx("span",{className:"material-symbols-rounded",children:"delete"})})})})]})}function jq({className:n,icon:e,...t}){return y.jsxs("div",{className:"toolbar-filter-control",children:[y.jsx("span",{className:"material-symbols-rounded toolbar-filter-icon",children:e}),y.jsx(gs,{className:n==null||n===""?"toolbar-filter-select":`toolbar-filter-select ${n}`,...t})]})}function eLt({adapterFilters:n,availableAdapters:e,availableTags:t,hasActiveSearchControls:i,isBatchMode:s,searchQuery:r,selectedCount:o,shouldShowSearchActions:a,sortOrder:l,sortSelection:c,tagFilters:d,totalCount:u,onAdapterFilterChange:h,onBatchArchive:f,onBatchDelete:g,onBatchStar:m,onSearchChange:p,onSortOrderChange:v,onSelectAll:b,onTagFilterChange:w,onToggleBatchMode:C,onToggleSearchActions:S}){const{t:x}=vt(),{isTouchInteraction:k}=Lr(),L=u>0&&o===u,I=_.useMemo(()=>R=>R.map(M=>({label:M,value:M})),[]),N=y.jsx("span",{className:"material-symbols-rounded toolbar-filter-chevron",children:"expand_more"}),D=R=>k?void 0:R,T=_.useMemo(()=>[{label:x("automation.sortDesc"),value:"desc"},{label:x("automation.sortAsc"),value:"asc"}],[x]);return y.jsxs(y.Fragment,{children:[y.jsx(iBe,{className:"search-input",placeholder:x("common.search"),value:r,onChange:R=>p(R.target.value),suffix:y.jsx(Qe,{title:D(x("common.searchActions")),children:y.jsx("button",{type:"button",className:`search-toggle-button ${a?"is-open":""} ${i?"has-active-filters":""}`,"aria-label":x("common.searchActions"),onMouseDown:R=>R.preventDefault(),onClick:S,children:y.jsx("span",{className:"material-symbols-rounded search-chevron",children:"expand_more"})})}),allowClear:!0}),y.jsx("div",{className:`header-search-actions ${a?"is-open":""}`,children:y.jsxs("div",{className:"header-search-actions-inner",children:[y.jsxs("div",{className:"header-toolbar-row",children:[y.jsx("div",{className:"header-toolbar-leading",children:s?y.jsx(Qe,{title:D(x("common.cancelBatch")),children:y.jsx(qe,{className:"sidebar-tool-btn is-icon-only",type:"text",onClick:C,icon:y.jsx("span",{className:"material-symbols-rounded",children:"close"})})}):y.jsx(Qe,{title:D(x("common.batchMode")),children:y.jsx(qe,{className:"sidebar-tool-btn is-icon-only",type:"text",onClick:C,icon:y.jsx("span",{className:"material-symbols-rounded",children:"checklist"})})})}),y.jsxs("div",{className:"header-filter-stack",children:[y.jsx(jq,{icon:"sell",mode:"tags",placeholder:x("common.allTags"),options:I(t),value:d,onChange:R=>w(R),maxTagCount:1,allowClear:!0,suffixIcon:N,tokenSeparators:[","]}),y.jsx(jq,{icon:"extension",mode:"tags",placeholder:x("common.allAdapters"),options:I(e),value:n,onChange:R=>h(R),maxTagCount:1,allowClear:!0,suffixIcon:N,tokenSeparators:[","]}),y.jsx(jq,{icon:"swap_vert",placeholder:x("common.sort"),options:T,value:c,onChange:R=>v(R),allowClear:!0,suffixIcon:N})]})]}),s&&y.jsx(JEt,{isAllSelected:L,selectedCount:o,totalCount:u,onBatchArchive:f,onBatchDelete:g,onBatchStar:m,onSelectAll:b})]})})]})}const tLt=({hasActiveSearchControls:n,isBatchMode:e,isSearchActionsOpen:t,sessionCount:i,threshold:s})=>s<=0||n||e||t?!0:i>s;function nLt({adapterFilters:n,availableAdapters:e,availableTags:t,createButtonRef:i,hasActiveSearchControls:s,isBatchMode:r,isCompactLayout:o,isCreatingSession:a,isSidebarCollapsed:l,searchQuery:c,selectedCount:d,sessionCount:u,sortOrder:h,sortSelection:f,shortcutLabel:g,tagFilters:m,totalCount:p,onBatchArchive:v,onBatchDelete:b,onBatchStar:w,onAdapterFilterChange:C,onCloseSidebar:S,onCreateSession:x,onSearchChange:k,onSortOrderChange:L,onSelectAll:I,onTagFilterChange:N,onToggleBatchMode:D,onToggleSidebarCollapsed:T}){const{t:R}=vt(),{isTouchInteraction:M}=Lr(),P=yu(G3e),[O,A]=_.useState(!1),F=!l&&(O||r),B=!l&&tLt({hasActiveSearchControls:s,isBatchMode:r,isSearchActionsOpen:O,sessionCount:u,threshold:P}),$=l?y.jsx(Qe,{title:M?void 0:R(a?"common.alreadyInNewChat":"common.newChat"),placement:"right",children:y.jsx(qe,{className:`sidebar-list-header__icon-action sidebar-new-chat-btn ${a?"active":""}`,type:"text",disabled:!!a,onClick:x,children:y.jsx("span",{className:`material-symbols-rounded ${a?"filled":""}`,children:a?"chat_bubble":"send"})})}):y.jsxs(qe,{ref:i,className:`sidebar-list-header__primary-action new-chat-btn ${a?"active":""}`,type:a?"default":"primary",block:!0,disabled:!!a,onClick:x,children:[y.jsxs("span",{className:"sidebar-list-header__button-content btn-content",children:[y.jsx("span",{className:`material-symbols-rounded ${a?"filled":""}`,children:a?"chat_bubble":"send"}),y.jsx("span",{children:R(a?"common.creatingChat":"common.newChat")})]}),y.jsx("span",{className:"sidebar-list-header__shortcut shortcut-tag",children:g})]}),W=y.jsx(Qe,{title:M?void 0:R(o?"common.close":l?"common.expand":"common.collapse"),children:y.jsx(qe,{className:"sidebar-list-header__icon-action sidebar-collapse-btn",type:"text","aria-label":R(o?"common.close":l?"common.expand":"common.collapse"),onClick:o?S:T,children:y.jsx("span",{className:"material-symbols-rounded",children:o?"close":l?"dock_to_right":"left_panel_close"})})}),V=B?y.jsx(eLt,{adapterFilters:n,availableAdapters:e,availableTags:t,hasActiveSearchControls:s,isBatchMode:r,searchQuery:c,selectedCount:d,shouldShowSearchActions:F,sortOrder:h,sortSelection:f,tagFilters:m,totalCount:p,onBatchArchive:v,onBatchDelete:b,onBatchStar:w,onAdapterFilterChange:C,onSearchChange:k,onSortOrderChange:L,onSelectAll:I,onTagFilterChange:N,onToggleBatchMode:D,onToggleSearchActions:()=>A(H=>!H)}):null;return y.jsx(tBe,{className:"sidebar-header",compact:o,collapsed:l,primaryAction:$,sideAction:W,children:V})}const iLt=n=>n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),sLt=n=>new RegExp(`^${iLt(n).replace(/\\\*/g,".*")}$`,"i"),rLt=(n,e)=>{const t=n.trim(),i=e.trim();return t===""||i===""?!1:i.includes("*")?sLt(i).test(t):t.toLowerCase().includes(i.toLowerCase())},$0e=(n,e)=>e.length===0?!0:e.some(t=>n.some(i=>rLt(i,t))),oLt=(n,e)=>[...n].sort((t,i)=>{const s=+(i.isStarred===!0)-+(t.isStarred===!0);if(s!==0)return s;const r=(t.createdAt??0)-(i.createdAt??0);return e==="asc"?r:-r});function B0e({activeId:n,isCompactLayout:e=!1,isMobileOpen:t=!1,onRequestClose:i,onSelectSession:s,onDeletedSession:r,width:o}){var Se,be,Ce;const{adapterFilters:a,hasActiveFilterConditions:l,hasActiveSearchControls:c,isSidebarCollapsed:d,searchQuery:u,setSortOrder:h,setAdapterFilters:f,setSearchQuery:g,setSidebarCollapsed:m,setTagFilters:p,sortOrder:v,sortSelection:b,tagFilters:w}=sBe(),C=yu(F3e),[S,x]=_.useState(!1),[k,L]=_.useState(new Set),{t:I}=vt(),{isTouchInteraction:N}=Lr(),D=navigator.platform.includes("Mac"),T=yu(TI),R=BA(TI),{data:M,mutate:P}=hi("/api/sessions"),O=_.useMemo(()=>wEt((M==null?void 0:M.sessions)??[],T),[T,M==null?void 0:M.sessions]),{data:A}=hi("/api/config"),F=(Ce=(be=(Se=A==null?void 0:A.sources)==null?void 0:Se.merged)==null?void 0:be.shortcuts)==null?void 0:Ce.newSession,B=F!=null&&F.trim()!==""?F:"mod+k",$=_.useMemo(()=>Dhe(B,D),[B,D]),W=_.useMemo(()=>Array.from(new Set(O.flatMap(le=>(le.tags??[]).map(fe=>fe.trim()).filter(Boolean)))).sort((le,fe)=>le.localeCompare(fe)),[O]),V=_.useMemo(()=>Array.from(new Set(O.map(le=>{var fe;return((fe=le.adapter)==null?void 0:fe.trim())??""}).filter(Boolean))).sort((le,fe)=>le.localeCompare(fe)),[O]),H=_.useMemo(()=>{const le=u.trim().toLowerCase(),fe=O.filter(we=>{if(!$0e(we.tags??[],w))return!1;const me=[we.adapter??"",we.adapter!=null&&we.adapter!==""?GN(we.adapter).title:""].filter(Boolean);return $0e(me,a)?le?(we.title??"").toLowerCase().includes(le)||(we.lastMessage??"").toLowerCase().includes(le)||(we.lastUserMessage??"").toLowerCase().includes(le)||we.id.toLowerCase().includes(le)||(we.tags??[]).some(Ie=>Ie.toLowerCase().includes(le))||me.some(Ie=>Ie.toLowerCase().includes(le)):!0:!1});return oLt(fe,v)},[a,u,O,v,w]);async function U(){i==null||i(),s({id:""},!0)}function G(le){mEt(le),R(fe=>{if(fe[le]==null)return fe;const we={...fe};return delete we[le],we}),P(fe=>(fe==null?void 0:fe.sessions)==null?fe:{...fe,sessions:ree(fe.sessions,le)},!1)}async function Y(le){let fe;const we=O.findIndex(me=>me.id===le);if(we!==-1&&(we+1<O.length?fe=O[we+1].id:we-1>=0&&(fe=O[we-1].id)),T[le]!=null){G(le),n===le&&(r==null||r(le,fe));return}try{await fg(le,{isArchived:!0}),await P(),r==null||r(le,fe)}catch(me){console.error("Failed to archive session:",me)}}async function K(le){let fe;const we=O.findIndex(me=>me.id===le);if(we!==-1&&(we+1<O.length?fe=O[we+1].id:we-1>=0&&(fe=O[we-1].id)),T[le]!=null){G(le),n===le&&(r==null||r(le,fe));return}try{await DI(le),await P(),n===le&&(r==null||r(le,fe))}catch(me){console.error("Failed to delete session:",me)}}async function X(le,fe){if(T[le]!=null){R(we=>{const me=we[le];return me==null?we:{...we,[le]:{...me,session:{...me.session,isStarred:fe}}}});return}try{await fg(le,{isStarred:fe}),await P()}catch(we){console.error("Failed to star session:",we)}}async function J(le,fe){if(T[le]!=null){R(we=>{const me=we[le];return me==null?we:{...we,[le]:{...me,session:{...me.session,title:fe}}}});return}await Jkt(le,fe),await P()}const te=le=>{L(fe=>{const we=new Set(fe);return we.has(le)?we.delete(le):we.add(le),we})},q=le=>{L(le?new Set(H.map(fe=>fe.id)):new Set)},Z=async()=>{try{if(await Promise.all(Array.from(k).map(async le=>fg(le,{isArchived:!0}))),await P(),n&&k.has(n)){let le;const fe=O.find(we=>!k.has(we.id));fe&&(le=fe.id),r==null||r(n,le)}L(new Set),x(!1)}catch(le){console.error("Failed to batch archive sessions:",le)}},oe=async()=>{try{if(await Promise.all(Array.from(k).map(async le=>DI(le))),await P(),n&&k.has(n)){const le=O.find(fe=>!k.has(fe.id));r==null||r(n,le==null?void 0:le.id)}L(new Set),x(!1)}catch(le){console.error("Failed to batch delete sessions:",le)}},pe=async le=>{try{await Promise.all(Array.from(k).map(async fe=>fg(fe,{isStarred:le}))),await P()}catch(fe){console.error("Failed to batch update star status:",fe)}},ae=()=>{x(le=>!le),L(new Set)},ce=n===void 0||n==="",ye=e?!1:d,Ee=le=>N?void 0:le,xe=_.useRef(null);return r3({shortcut:B,isMac:D,onTrigger:le=>{le.preventDefault(),!ce&&(xe.current&&(xe.current.classList.add("active-scale"),setTimeout(()=>{var fe;(fe=xe.current)==null||fe.classList.remove("active-scale")},200)),U())}}),y.jsxs("div",{className:["sidebar-container",ye?"collapsed":"",e?"sidebar-container--compact":"",t?"is-mobile-open":""].filter(Boolean).join(" "),style:e?void 0:{width:ye?0:o,minWidth:ye?0:void 0,transition:C?"none":"width 0.3s cubic-bezier(0.4, 0, 0.2, 1)",borderRight:ye?"none":void 0},children:[y.jsxs("div",{className:"sidebar-content",style:e?void 0:{width:o,transition:C?"none":"transform 0.3s cubic-bezier(0.4, 0, 0.2, 1)",transform:ye?`translateX(-${o}px)`:"translateX(0)"},children:[y.jsx(nLt,{adapterFilters:a,availableAdapters:V,hasActiveSearchControls:c,isCompactLayout:e,isSidebarCollapsed:ye,searchQuery:u,sortOrder:v,sortSelection:b,onSearchChange:g,availableTags:W,tagFilters:w,onSortOrderChange:h,onAdapterFilterChange:f,onTagFilterChange:p,isBatchMode:S,onToggleBatchMode:ae,onToggleSidebarCollapsed:()=>m(!d),onCloseSidebar:i,selectedCount:k.size,sessionCount:O.length,totalCount:H.length,onSelectAll:q,onBatchArchive:()=>{Z()},onBatchDelete:()=>{oe()},onBatchStar:()=>{pe(!0)},isCreatingSession:ce,shortcutLabel:$,createButtonRef:xe,onCreateSession:()=>{U()}}),y.jsx(QEt,{hasActiveFilters:l,sessions:H,activeId:n,isBatchMode:S,isCompactLayout:e,selectedIds:k,isTouchInteraction:N,searchQuery:u,onSelectSession:s,onArchiveSession:Y,onDeleteSession:K,onRenameSession:J,onStarSession:X,onToggleSelect:te})]}),!e&&d&&y.jsxs(nBe,{children:[y.jsx(mH,{buttonRef:xe,active:ce,disabled:!!ce,filled:ce,icon:ce?"chat_bubble":"send",tooltip:Ee(I(ce?"common.alreadyInNewChat":"common.newChat")),ariaLabel:I(ce?"common.alreadyInNewChat":"common.newChat"),onClick:()=>{U()}}),y.jsx(mH,{icon:"dock_to_right",tooltip:Ee(I("common.expand")),ariaLabel:I("common.expand"),onClick:()=>m(!1)})]})]})}const aLt=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])",'[tabindex]:not([tabindex="-1"])'].join(", "),dBe=n=>Array.from(n.querySelectorAll(aLt)).filter(e=>!e.hasAttribute("disabled")&&e.getAttribute("aria-hidden")!=="true"&&e.offsetParent!==null),lE=n=>{try{n.focus({preventScroll:!0})}catch{n.focus()}},H0e=n=>{const e=dBe(n),t=e[0];return t!=null?lE(t):lE(n),e};function The({backgroundRefs:n,isCompactLayout:e,isMobileSidebarOpen:t,setIsMobileSidebarOpen:i,sheetRef:s}){const r=_.useRef(null);_.useEffect(()=>{if(!e){n.forEach(o=>{var a;(a=o.current)==null||a.removeAttribute("inert")});return}return n.forEach(o=>{const a=o.current;a!=null&&(t?a.setAttribute("inert",""):a.removeAttribute("inert"))}),()=>{n.forEach(o=>{var a;(a=o.current)==null||a.removeAttribute("inert")})}},[n,e,t]),_.useEffect(()=>{if(!e||!t)return;const o=document.activeElement;r.current=o instanceof HTMLElement?o:null;const a=window.requestAnimationFrame(()=>{const d=s.current;d!=null&&H0e(d)}),l=d=>{if(d.key==="Escape"){i(!1);return}if(d.key!=="Tab")return;const u=s.current;if(u==null)return;const h=dBe(u);if(h.length===0){d.preventDefault(),lE(u);return}const f=h[0],g=h[h.length-1],m=document.activeElement;if(d.shiftKey){(m===f||m===u)&&(d.preventDefault(),lE(g));return}m===g&&(d.preventDefault(),lE(f))},c=d=>{const u=s.current,h=d.target;u==null||!(h instanceof HTMLElement)||u.contains(h)||H0e(u)};return window.addEventListener("keydown",l),document.addEventListener("focusin",c),()=>{window.cancelAnimationFrame(a),window.removeEventListener("keydown",l),document.removeEventListener("focusin",c);const d=r.current;d!=null&&document.contains(d)&&window.requestAnimationFrame(()=>{document.contains(d)&&lE(d)}),r.current=null}},[e,t,i,s]),_.useEffect(()=>{if(!e||!t)return;const{body:o,documentElement:a}=document,l=o.style.overflow,c=a.style.overflow;return o.style.overflow="hidden",a.style.overflow="hidden",()=>{o.style.overflow=l,a.style.overflow=c}},[e,t])}const lLt="mobile-sidebar-dialog";function cLt({activeSessionId:n,children:e,isDarkMode:t,onDeletedSession:i,onSelectSession:s,showSidebar:r,sidebarWidth:o}){const{t:a}=vt(),{isSidebarCollapsed:l}=sBe(),c=Sh(),{isCompactLayout:d}=Lr(),[u,h]=Hb(B3e),f=BA($3e),g=!d&&l,m=_.useRef(null),p=_.useRef(null),v=_.useRef(null),b=_.useMemo(()=>[m,p],[]);_.useEffect(()=>{f(d?!1:l)},[d,l,f]),_.useEffect(()=>{h(!1)},[d,c.pathname,h]),_.useEffect(()=>{!d||r||h(!1)},[d,h,r]),The({backgroundRefs:b,isCompactLayout:d,isMobileSidebarOpen:u,setIsMobileSidebarOpen:h,sheetRef:v});const w=d?Math.min(o,320):o,C=["app-shell__content",r?"app-shell__content--session":"",g?"is-sidebar-collapsed":"",r?"":"is-flat"].filter(Boolean).join(" "),S=y.jsx("div",{ref:m,className:"app-shell__content-region","aria-hidden":d&&u?!0:void 0,children:y.jsx(Iy.Content,{className:C,children:e})});return d?y.jsxs(Iy,{className:`app-shell app-shell--compact ${t?"app-shell--dark":""}`,children:[S,r&&y.jsxs(y.Fragment,{children:[y.jsx("button",{type:"button",className:`app-shell__mobile-sidebar-backdrop ${u?"is-open":""}`,"aria-label":a("common.close"),"aria-hidden":!u,tabIndex:-1,onClick:()=>h(!1)}),y.jsx("div",{ref:v,id:lLt,className:`app-shell__mobile-sidebar-sheet ${u?"is-open":""}`,role:"dialog","aria-modal":u?"true":void 0,"aria-label":a("common.sessions"),"aria-hidden":!u,tabIndex:-1,children:y.jsx(B0e,{width:w,activeId:n,onSelectSession:(x,k)=>{h(!1),s(x,k)},onDeletedSession:(x,k)=>{h(!1),i(x,k)},isCompactLayout:!0,isMobileOpen:u,onRequestClose:()=>h(!1)})})]}),y.jsx("div",{ref:p,children:y.jsx(N0e,{isCompactLayout:!0,ariaHidden:u,showSidebar:r,onOpenSidebar:()=>h(!0)})})]}):y.jsxs(Iy,{className:`app-shell ${t?"app-shell--dark":""}`,children:[y.jsxs("div",{className:"app-shell__sidebar-region",children:[y.jsx(N0e,{}),r&&y.jsx(B0e,{width:o,activeId:n,onSelectSession:s,onDeletedSession:i})]}),S]})}const uBe=(...n)=>n.find(e=>typeof e=="string"&&e.trim()!==""),hBe=()=>uBe(Ww().__VF_PROJECT_AI_CLIENT_VERSION__,"3.0.0-alpha.7")??"0.0.0",dLt=()=>uBe(Ww().__VF_PROJECT_AI_CLIENT_COMMIT_HASH__,"a3c046e935f951dd2e731ea3b78965ddde70de7f"),uLt=/^v?(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z.-]+))?(?:\+[0-9A-Za-z.-]+)?$/,j0e=n=>{const e=n==null?void 0:n.trim().match(uLt);if(e!=null)return{major:Number(e[1]),minor:Number(e[2]),patch:Number(e[3]),...e[4]!=null?{prerelease:e[4]}:{}}},hLt=(n,e)=>{const t=j0e(n),i=j0e(e);return t==null||i==null?!1:t.prerelease!=null||i.prerelease!=null?t.major===i.major&&t.minor===i.minor&&t.patch===i.patch&&t.prerelease===i.prerelease:t.major!==i.major?!1:t.major===0?t.minor===i.minor:!0},R4=n=>n.authToken!=null&&n.authToken.trim()!=="",Wq=(n,e)=>y.jsxs("span",{className:"server-connection-gate__modal-label",children:[y.jsx("span",{className:"material-symbols-rounded",children:n}),y.jsx("span",{children:e})]});function fLt({profile:n,onClose:e,onProfilesChange:t}){const{t:i}=vt(),{modal:s}=ar.useApp(),[r]=zn.useForm();_.useEffect(()=>{n!=null&&r.setFieldsValue({alias:n.alias??"",description:n.description??""})},[r,n]);const o=async()=>{if(n==null)return;const c=await r.validateFields();t(f3e(n.serverUrl,c)),e()},a=()=>{n!=null&&s.confirm({title:i("serverConnection.clearLoginState"),content:i("serverConnection.clearLoginStateConfirm"),okText:i("common.confirm"),cancelText:i("common.cancel"),okButtonProps:{danger:!0},onOk:()=>{t(m3e(n.serverUrl)),e()}})},l=()=>{n!=null&&s.confirm({title:i("serverConnection.removeProfile"),content:i("serverConnection.removeProfileConfirm"),okText:i("common.delete"),cancelText:i("common.cancel"),okButtonProps:{danger:!0},onOk:()=>{t(oxt(n.serverUrl)),e()}})};return y.jsx(Ol,{open:n!=null,title:Wq("tune",i("serverConnection.manageProfile")),okText:i("common.confirm"),cancelText:i("common.cancel"),onOk:()=>void o(),onCancel:e,children:n!=null&&y.jsxs("div",{className:"server-connection-gate__profile-modal",children:[y.jsxs("div",{className:"server-connection-gate__profile-modal-url",children:[y.jsx("span",{className:"material-symbols-rounded",children:"link"}),y.jsx("span",{children:n.serverUrl})]}),y.jsxs("div",{className:`server-connection-gate__profile-modal-auth ${R4(n)?"is-saved":""}`,children:[y.jsx("span",{className:"material-symbols-rounded",children:R4(n)?"verified_user":"lock_open"}),y.jsx("strong",{children:R4(n)?i("serverConnection.loginSaved"):i("serverConnection.loginMissing")})]}),y.jsxs(zn,{form:r,layout:"vertical",requiredMark:!1,children:[y.jsx(zn.Item,{name:"alias",label:Wq("label",i("serverConnection.profileAlias")),children:y.jsx(yn,{placeholder:i("serverConnection.profileAliasPlaceholder")})}),y.jsx(zn.Item,{name:"description",label:Wq("notes",i("serverConnection.profileDescription")),children:y.jsx(yn.TextArea,{autoSize:{minRows:2,maxRows:4},placeholder:i("serverConnection.profileDescriptionPlaceholder")})})]}),y.jsxs("div",{className:"server-connection-gate__profile-modal-actions",children:[R4(n)&&y.jsx(qe,{danger:!0,htmlType:"button",icon:y.jsx("span",{className:"material-symbols-rounded",children:"lock_reset"}),onClick:a,children:i("serverConnection.clearLoginState")}),y.jsx(qe,{danger:!0,htmlType:"button",type:"text",icon:y.jsx("span",{className:"material-symbols-rounded",children:"delete"}),onClick:l,children:i("serverConnection.removeProfile")})]})]})})}const W0e=()=>{const n=document.activeElement;n instanceof HTMLElement&&n.blur()},V0e=n=>n.authToken!=null&&n.authToken.trim()!=="",gLt=n=>{var e;return((e=n.alias)==null?void 0:e.trim())||n.serverUrl},mLt=n=>{var e;return(e=n.serverVersion)==null?void 0:e.trim()},pLt=n=>n.pointerType==="touch"||n.pointerType==="pen";function _Lt({profiles:n,submitting:e,onConnect:t,onProfilesChange:i}){const{t:s}=vt(),[r,o]=_.useState(null);if(n.length===0)return null;const a=(l,c)=>{W0e(),!(!pLt(l)||e)&&(l.preventDefault(),t(c.serverUrl))};return y.jsxs("section",{className:"server-connection-gate__recent","aria-labelledby":"server-connection-recent-title",children:[y.jsx("h2",{id:"server-connection-recent-title",children:s("serverConnection.recentTitle")}),y.jsx("div",{className:"server-connection-gate__recent-list",children:n.map(l=>y.jsx("div",{className:"server-connection-gate__profile-row",children:y.jsxs("div",{className:`server-connection-gate__profile-card ${e?"is-disabled":""}`,children:[y.jsxs("button",{type:"button",className:"server-connection-gate__recent-item",disabled:e,onPointerDown:c=>a(c,l),onClick:()=>t(l.serverUrl),children:[y.jsx("span",{className:"material-symbols-rounded",children:"dns"}),y.jsxs("span",{className:"server-connection-gate__profile-main",children:[y.jsx("span",{className:"server-connection-gate__profile-title",children:gLt(l)}),y.jsx("span",{className:"server-connection-gate__profile-url",children:l.serverUrl}),y.jsx("span",{className:"server-connection-gate__profile-version",children:s("serverConnection.serverVersion",{version:mLt(l)??s("serverConnection.serverVersionUnknown")})}),l.description!=null&&y.jsx("span",{className:"server-connection-gate__profile-description",children:l.description})]}),y.jsx("span",{className:`server-connection-gate__profile-auth ${V0e(l)?"is-saved":""}`,children:V0e(l)?s("serverConnection.loginSaved"):s("serverConnection.loginMissing")})]}),y.jsx(qe,{htmlType:"button",type:"text",className:"server-connection-gate__profile-manage",icon:y.jsx("span",{className:"material-symbols-rounded",children:"edit"}),"aria-label":s("serverConnection.manageProfile"),onPointerDown:W0e,onClick:()=>o(l)})]})},l.serverUrl))}),y.jsx(fLt,{profile:r,onClose:()=>o(null),onProfilesChange:i})]})}const vLt="http",bLt="localhost:8787",yLt=[{label:"http://",value:"http"},{label:"https://",value:"https"}],wLt=y.jsx("span",{className:"material-symbols-rounded server-connection-gate__scheme-chevron",children:"expand_more"}),fBe=n=>{const e=n.trim(),t=/^(https?):\/\/(.+)$/i.exec(e);return t==null?{serverScheme:void 0,serverHost:e}:{serverScheme:t[1].toLowerCase(),serverHost:t[2].trim()}},CLt=n=>{const e=fBe(n.serverUrl);return`${e.serverScheme??n.serverScheme}://${e.serverHost}`},gBe=n=>{const e=n.getFieldValue("serverUrl");if(typeof e!="string")return;const t=fBe(e);t.serverScheme!=null&&n.setFieldsValue({serverScheme:t.serverScheme,serverUrl:t.serverHost})};function SLt({form:n,onBlur:e,...t}){const{t:i}=vt();return y.jsx(yn,{...t,autoComplete:"url",addonBefore:y.jsx(zn.Item,{name:"serverScheme",noStyle:!0,children:y.jsx(gs,{"aria-label":i("serverConnection.serverScheme"),className:"server-connection-gate__scheme-select",options:yLt,popupMatchSelectWidth:!1,suffixIcon:wLt})}),onBlur:s=>{e==null||e(s),gBe(n)},size:"large",placeholder:i("serverConnection.serverUrlPlaceholder")})}const xLt="https://github.com/vibe-forge-ai/vibe-forge.ai/blob/master/.ai/docs/usage/pwa.md";class mBe extends Error{constructor(e,t){super("Unsupported server version"),this.clientVersion=e,this.serverVersion=t}}const Vq=n=>n!=null&&typeof n=="object"&&!Array.isArray(n),kLt=n=>{const e=Vq(n)&&Vq(n.data)?n.data:n;return Vq(e)&&typeof e.version=="string"?{version:e.version}:{}},ELt=async n=>{const e=await fetch(i3e(n,"/api/auth/status"),{credentials:"include"});if(!e.ok)throw new Error(`Server responded with ${e.status}`);const t=kLt(await e.json().catch(()=>{})),i=hBe();if(!hLt(i,t.version))throw new mBe(i,t.version);return t};function LLt({children:n}){const{t:e}=vt(),t=R7(),i=ext(),s=a3e(),r=nxt(),[o]=zn.useForm(),[a,l]=_.useState(()=>s3e()),[c,d]=_.useState(()=>hp()),[u,h]=_.useState(null),[f,g]=_.useState(!1);if(_.useEffect(()=>{s!=null&&d(b=>{if(b.some(C=>C.serverUrl===s))return b;const w=JJ(s);return i?f3e(s,{alias:e("serverConnection.localServiceAlias"),description:e("serverConnection.localServiceProfileDescription")}):w})},[s,i,e]),!t||!r&&(a!=null||s!=null))return n;const m=async b=>{g(!0),h(null);try{const w=wd(b);if(w==null){h(e("serverConnection.invalidUrl"));return}const C=await ELt(w),S=Q1t(w);if(S==null){h(e("serverConnection.invalidUrl"));return}ixt(),d(JJ(S,{serverVersion:C.version})),l(S)}catch(w){w instanceof mBe?h(e("serverConnection.unsupportedServerVersion",{clientVersion:w.clientVersion,serverVersion:w.serverVersion??e("serverConnection.serverVersionUnknown")})):h(e("serverConnection.connectionFailed"))}finally{g(!1)}},p=async b=>{gBe(o),await m(CLt(b))},v=b=>{m(b)};return y.jsx("div",{className:"server-connection-gate",children:y.jsxs("main",{className:"server-connection-gate__panel","aria-labelledby":"server-connection-title",children:[y.jsxs("div",{className:"server-connection-gate__intro",children:[y.jsx("h1",{id:"server-connection-title",children:e(i?"serverConnection.desktopTitle":"serverConnection.title")}),y.jsx("p",{children:e(i?"serverConnection.desktopSubtitle":"serverConnection.subtitle")})]}),i?s!=null&&y.jsxs("div",{className:"server-connection-gate__setup",children:[y.jsxs("div",{className:"server-connection-gate__setup-title",children:[y.jsx("span",{className:"material-symbols-rounded",children:"computer"}),y.jsx("span",{children:e("serverConnection.localServiceTitle")})]}),y.jsx("code",{children:s}),y.jsx("p",{children:e("serverConnection.localServiceBannerDescription")})]}):y.jsxs("div",{className:"server-connection-gate__setup",children:[y.jsxs("div",{className:"server-connection-gate__setup-title",children:[y.jsx("span",{className:"material-symbols-rounded",children:"terminal"}),y.jsx("span",{children:e("serverConnection.setupTitle")})]}),y.jsx("code",{children:"npx vfui-server"}),y.jsxs("p",{children:[e("serverConnection.setupDescription"),y.jsx("a",{href:xLt,target:"_blank",rel:"noreferrer",children:e("serverConnection.docsLink")})]})]}),u!=null&&y.jsx(UB,{type:"error",showIcon:!0,className:"server-connection-gate__notice",message:u}),y.jsxs(zn,{form:o,layout:"vertical",requiredMark:!1,initialValues:{serverScheme:vLt,serverUrl:bLt},onFinish:b=>void p(b),children:[y.jsx(zn.Item,{name:"serverUrl",label:e("serverConnection.serverUrl"),rules:[{required:!0,message:e("serverConnection.serverUrlRequired")}],children:y.jsx(SLt,{form:o})}),y.jsx(_Lt,{profiles:c,submitting:f,onConnect:v,onProfilesChange:d}),y.jsx(qe,{type:"primary",htmlType:"submit",size:"large",loading:f,icon:y.jsx("span",{className:"material-symbols-rounded",children:"link"}),block:!0,children:e("serverConnection.connect")})]})]})})}function ILt(){var o,a,l;const{i18n:n}=vt(),e=yu(M7),{data:t}=hi("/api/config",Vw),i=(l=(a=(o=t==null?void 0:t.sources)==null?void 0:o.merged)==null?void 0:a.general)==null?void 0:l.interfaceLanguage,s=e==="dark"||e==="system"&&window.matchMedia("(prefers-color-scheme: dark)").matches;_.useEffect(()=>{document.documentElement.classList.toggle("dark",s)},[s]),_.useEffect(()=>{i&&n.language!==i&&n.changeLanguage(i)},[n,i]);const r=_.useMemo(()=>({algorithm:s?n0e.darkAlgorithm:n0e.defaultAlgorithm,token:{colorPrimary:s?"#3b82f6":"#000000"}}),[s]);return{isDarkMode:s,themeConfig:r}}const NLt=n=>Array.isArray(n)?n[0]==="/api/adapters":typeof n=="string"&&n.startsWith("/api/adapters/"),DLt=n=>Array.isArray(n)?n[0]==="worktree-environment"||n[0]==="/api/adapters":NLt(n);async function TLt(n){await Promise.all([n("/api/config"),n("worktree-environments"),n(DLt)])}const RLt=n=>{const e=new URL(c3e(sxt()));e.protocol=e.protocol==="https:"?"wss:":"ws:";const t=p3e();if(t!=null&&e.searchParams.set("authToken",t),n)for(const[i,s]of Object.entries(n))e.searchParams.set(i,s);return e.toString()};function Rhe(n,e){const t=RLt(e),i=new WebSocket(t);return i.addEventListener("open",()=>{var s;return(s=n.onOpen)==null?void 0:s.call(n)}),i.addEventListener("message",s=>{var r;try{const o=JSON.parse(String(s.data));(r=n.onMessage)==null||r.call(n,o)}catch(o){console.error(o)}}),i.addEventListener("error",s=>{var r;return(r=n.onError)==null?void 0:r.call(n,s)}),i.addEventListener("close",()=>{var s;return(s=n.onClose)==null?void 0:s.call(n)}),i}const MLt=n=>"isDeleted"in n&&n.isDeleted,PLt=n=>[...n].sort((e,t)=>{const i=+(t.isStarred===!0)-+(e.isStarred===!0);return i!==0?i:(t.createdAt??0)-(e.createdAt??0)}),z0e=(n,e,t)=>{if((n==null?void 0:n.sessions)==null)return n;if(MLt(e))return{...n,sessions:n.sessions.filter(a=>a.id!==e.id)};const i=e,s=t==="archived"?i.isArchived===!0:i.isArchived!==!0,r=n.sessions.find(a=>a.id===e.id);if(!s)return{...n,sessions:n.sessions.filter(a=>a.id!==e.id)};const o=r?n.sessions.map(a=>a.id===e.id?{...a,...i}:a):[i,...n.sessions];return{...n,sessions:PLt(o)}};function OLt(){const{mutate:n}=KN();_.useEffect(()=>{let e=!1,t,i;const s=a=>{if(a&&!(a.readyState===WebSocket.CLOSED||a.readyState===WebSocket.CLOSING)){if(a.readyState===WebSocket.CONNECTING){a.addEventListener("open",()=>a.close(),{once:!0});return}a.close()}},r=(a=0)=>{e||(i&&clearTimeout(i),i=setTimeout(()=>{i=void 0,o()},a))},o=()=>{e||(t=Rhe({onMessage:a=>{if(!e){if(a.type==="session_updated"){const l=a.session;n("/api/sessions",c=>z0e(c,l,"active"),!1),n("/api/sessions/archived",c=>z0e(c,l,"archived"),!1);return}a.type==="config_updated"&&TLt(n)}},onClose:()=>{e||r(1e3)},onError:()=>{s(t)}},{subscribe:"sessions"}))};return r(),()=>{e=!0,i&&clearTimeout(i),s(t)}},[n])}const ALt="/session/:sessionId";function FLt(){const n=Tf(),e=Sh(),t=yu(tkt),i=XP({path:ALt,end:!0},e.pathname),s=i==null?void 0:i.params.sessionId,r=e.pathname==="/"||s!=null,o=_.useCallback(c=>({pathname:c,search:e.search}),[e.search]),a=_.useCallback((c,d)=>{n(o(c.id===""?"/":`/session/${c.id}`))},[o,n]),l=_.useCallback((c,d)=>{s===c&&n(o(d?`/session/${d}`:"/"))},[s,o,n]);return{activeSessionId:s,handleDeletedSession:l,handleSelectSession:a,showSidebar:r,sidebarWidth:t}}function HA({bodyClassName:n,children:e,className:t,header:i}){const s=["page-shell",t].filter(Boolean).join(" "),r=["page-shell__body",n].filter(Boolean).join(" ");return y.jsxs("div",{className:s,children:[i!=null&&y.jsx("div",{className:"page-shell__header",children:i}),y.jsx("div",{className:r,children:e})]})}function $Lt(){const{t:n}=vt(),{message:e}=ar.useApp(),{isCompactLayout:t,isTouchInteraction:i}=Lr(),{data:s,mutate:r}=hi("/api/sessions/archived",async()=>Q3e("archived")),o=(s==null?void 0:s.sessions)??[],a=t||i,[l,c]=_.useState(""),[d,u]=_.useState(new Set),[h,f]=_.useState(!1),g=_.useMemo(()=>{if(l.trim()==="")return o;const x=l.toLowerCase();return o.filter(k=>{const L=k.title??"",I=k.lastMessage??"",N=k.lastUserMessage??"",D=(k.tags??[]).join(" ");return`${L} ${k.id} ${I} ${N} ${D}`.toLowerCase().includes(x)})},[o,l]),m=async x=>{try{await fg(x,{isArchived:!1}),e.success(n("common.restoreSuccess","Restored successfully")),r()}catch(k){e.error(Oi(k,n("common.restoreFailed","Failed to restore")))}},p=async x=>{try{await DI(x),e.success(n("common.deleteSuccess","Deleted successfully")),r()}catch(k){e.error(Oi(k,n("common.deleteFailed","Failed to delete")))}},v=x=>{const k=new Set(d);k.has(x)?k.delete(x):k.add(x),u(k)},b=x=>{u(x?new Set(g.map(k=>k.id)):new Set)},w=async()=>{try{await Promise.all(Array.from(d).map(async x=>fg(x,{isArchived:!1}))),e.success(n("common.batchRestoreSuccess","Batch restored successfully")),u(new Set),f(!1),r()}catch(x){e.error(Oi(x,n("common.batchRestoreFailed","Failed to restore some sessions")))}},C=async()=>{try{await Promise.all(Array.from(d).map(async x=>DI(x))),e.success(n("common.batchDeleteSuccess","Batch deleted successfully")),u(new Set),f(!1),r()}catch(x){e.error(Oi(x,n("common.batchDeleteFailed","Failed to delete some sessions")))}},S=g.length>0&&d.size===g.length;return y.jsx(HA,{className:`archive-view ${a?"archive-view--compact":""}`,header:y.jsxs("div",{className:"archive-view__toolbar",children:[h&&y.jsx("div",{className:"archive-view__select-all",children:y.jsx(Qe,{title:n(S?"common.deselectAll":"common.selectAll"),children:y.jsx(Og,{checked:S,indeterminate:d.size>0&&d.size<g.length,onChange:x=>b(x.target.checked)})})}),y.jsx(yn,{prefix:y.jsx("span",{className:"material-symbols-rounded archive-view__search-icon",children:"search"}),placeholder:n("common.search"),value:l,onChange:x=>c(x.target.value),allowClear:!0,className:"archive-view__search-input"}),y.jsx(jv,{size:6,className:"archive-view__toolbar-actions",children:h?y.jsxs(y.Fragment,{children:[y.jsx("span",{className:"archive-view__batch-info",children:n("common.selectedCount",{count:d.size})}),y.jsx(Qe,{title:n("common.cancel"),children:y.jsx(qe,{icon:y.jsx("span",{className:"material-symbols-rounded archive-view__action-icon",children:"close"}),onClick:()=>{f(!1),u(new Set)},className:"archive-view__icon-button"})}),y.jsx(Qe,{title:n("common.batchRestore"),children:y.jsx(qe,{type:"primary",icon:y.jsx("span",{className:"material-symbols-rounded archive-view__action-icon",children:"unarchive"}),onClick:()=>{w()},disabled:d.size===0,className:"archive-view__icon-button"})}),y.jsx(hw,{title:n("common.deleteConfirm",{count:d.size}),onConfirm:()=>{C()},disabled:d.size===0,children:y.jsx(Qe,{title:n("common.batchDelete"),children:y.jsx(qe,{danger:!0,icon:y.jsx("span",{className:"material-symbols-rounded archive-view__action-icon",children:"delete_sweep"}),disabled:d.size===0,className:"archive-view__icon-button"})})})]}):y.jsx(Qe,{title:n("common.batchMode"),children:y.jsx(qe,{icon:y.jsx("span",{className:"material-symbols-rounded archive-view__action-icon",children:"checklist"}),onClick:()=>f(!0),disabled:o.length===0,className:"archive-view__icon-button"})})})]}),children:y.jsx("div",{className:"archive-view__list",children:g.length===0?y.jsx(Zn,{image:Zn.PRESENTED_IMAGE_SIMPLE,description:n(l?"common.noSessions":"common.noArchivedSessions")}):y.jsx(yd,{itemLayout:"horizontal",dataSource:g,renderItem:x=>{const k=x.title!=null&&x.title!==""?x.title:x.lastMessage!=null&&x.lastMessage!==""?x.lastMessage:n("common.newChat"),L=x.tags??[],I=a?L.slice(0,1):L,N=Math.max(L.length-I.length,0);return y.jsx(yd.Item,{className:["archive-view__item",d.has(x.id)?"archive-view__item--selected":"",h?"archive-view__item--batch":""].filter(Boolean).join(" "),onClick:()=>h&&v(x.id),children:y.jsxs("div",{className:"archive-view__item-row",children:[h&&y.jsx("div",{className:"archive-view__item-select",children:y.jsx(Og,{checked:d.has(x.id),onChange:()=>v(x.id),onClick:D=>D.stopPropagation()})}),y.jsx("span",{className:"material-symbols-rounded archive-view__item-icon",children:"chat_bubble"}),y.jsxs("div",{className:"archive-view__item-main",children:[y.jsx("span",{className:"archive-view__item-title",children:k}),y.jsxs("div",{className:"archive-view__item-meta",children:[I.length>0&&y.jsxs("div",{className:"archive-view__item-tags",children:[I.map(D=>y.jsx(Ll,{className:"archive-view__item-tag",children:D},D)),N>0&&y.jsxs("span",{className:"archive-view__item-tag-count",children:["+",N]})]}),y.jsx("span",{className:"archive-view__item-time",children:U0(x.createdAt).format("YYYY-MM-DD HH:mm")})]})]}),!h&&y.jsxs("div",{className:"archive-view__item-actions",children:[y.jsx(Qe,{title:n("common.restore"),children:y.jsx(qe,{type:"text",size:"small",className:"archive-view__item-action-button",icon:y.jsx("span",{className:"material-symbols-rounded archive-view__action-icon",children:"unarchive"}),onClick:D=>{D.stopPropagation(),m(x.id)}})}),y.jsx(hw,{title:n("common.deleteSessionConfirm"),onConfirm:D=>{D==null||D.stopPropagation(),p(x.id)},children:y.jsx(qe,{type:"text",size:"small",danger:!0,className:"archive-view__item-action-button",icon:y.jsx("span",{className:"material-symbols-rounded archive-view__action-icon",children:"delete"}),onClick:D=>D.stopPropagation()})})]})]})})}})})})}function BLt(){return y.jsx($Lt,{})}const _H="",ev={model:_H,adapter:_H,effort:"default",permissionMode:"default",createWorktreeMode:"default",branchAction:"default",branchName:"",branchKind:"local"},U0e=n=>typeof n=="string"&&n.trim()!=="",HLt=({attachments:n,completion:e,composer:t,focusRestore:i,handleKeyDown:s,hideSender:r,interactionRequest:o,interactionResponse:a,isBusy:l,isInlineEdit:c,isThinking:d,modelUnavailable:u,permissionContext:h,placeholder:f,secondarySendShortcut:g,onSecondarySendShortcut:m,editorRef:p,toolbar:v})=>{var b,w;return{isInlineEdit:c,isThinking:d,isBusy:l,hideSender:r,permissionContext:h,deniedTools:((b=h==null?void 0:h.deniedTools)==null?void 0:b.filter(C=>C.trim()!==""))??[],reasons:((w=h==null?void 0:h.reasons)==null?void 0:w.filter(C=>C.trim()!==""))??[],editorRef:p,composer:t,completion:e,attachments:n,toolbar:v,handleKeyDown:s,interactionRequest:o,interactionResponse:a,modelUnavailable:u,placeholder:f,secondarySendShortcut:g,onSecondarySendShortcut:m,onInputChange:e.handleInputChange,onCursorChange:e.handleCursorChange,onCancelContextPicker:()=>{n.setShowContextPicker(!1),i.queueEditorFocusRestore()},onConfirmContextPicker:C=>{n.handleContextPickerConfirm(C),i.queueEditorFocusRestore()}}},jLt=({attachments:n,canOpenReferenceActions:e,focusRestore:t,isInlineEdit:i,message:s,modelUnavailable:r,onAdapterChange:o,onAccountChange:a,onEffortChange:l,onInterrupt:c,onModelChange:d,onToggleRecommendedModel:u,onPermissionModeChange:h,onQueueModeChange:f,onCancel:g,onConfirmInteractionOption:m,onSend:p,referenceActions:v,selectOverlays:b,t:w})=>({onImageFileChange:n.handleImageFileChange,onReferenceOpenChange:C=>{if(C&&!e){!i&&r&&s.warning(w("chat.modelConfigRequired"));return}if(b.setShowModelSelect(!1),b.setShowEffortSelect(!1),!C){v.closeReferenceActions({restoreFocus:!0});return}v.setShowPermissionActions(!1),v.setShowReferenceActions(!0)},onShowModelSelectChange:b.setShowModelSelect,onShowEffortSelectChange:b.setShowEffortSelect,onPermissionOpenChange:C=>{if(C&&!e){!i&&r&&s.warning(w("chat.modelConfigRequired"));return}if(!C){v.closeReferenceActions({restoreFocus:!0});return}b.setShowModelSelect(!1),b.setShowEffortSelect(!1),v.setShowReferenceActions(!1),v.setShowPermissionActions(!0)},onModelSearchValueChange:b.setModelSearchValue,onOpenContextPicker:n.handleOpenContextPicker,onReferenceImageSelect:n.handleImageUpload,onSelectPermissionMode:C=>{h==null||h(C),v.closeReferenceActions({restoreFocus:!0})},onReferenceMenuKeyDown:v.handleReferenceMenuKeyDown,onPermissionMenuKeyDown:v.handlePermissionMenuKeyDown,onOpenModelSelector:()=>{b.openModelSelector()&&v.closeReferenceActions()},onOpenEffortSelector:()=>{b.openEffortSelector()&&v.closeReferenceActions()},onQueueTextareaFocusRestore:t.queueEditorFocusRestore,onCloseReferenceActions:()=>v.closeReferenceActions(),onModelChange:d,onToggleRecommendedModel:u,onEffortChange:l,onAdapterChange:o,onAccountChange:a,onQueueModeChange:f,onSend:p,onInterrupt:c,onCancel:g,onConfirmInteractionOption:m}),WLt=({attachments:n,callbacks:e,composer:t,resources:i,selection:s,ui:r})=>{const o={isInlineEdit:r.isInlineEdit,isThinking:r.isThinking,modelUnavailable:!!r.modelUnavailable,sendBlocked:r.sendBlocked,sendBlockedTooltip:r.sendBlockedTooltip,showConfirmInteractionAction:r.showConfirmInteractionAction,adapterLocked:r.adapterLocked,submitLoading:r.submitLoading,supportsEffort:r.supportsEffort,canOpenReferenceActions:r.canOpenReferenceActions,showModelSelect:r.selectOverlays.showModelSelect,showEffortSelect:r.selectOverlays.showEffortSelect,showReferenceActions:r.referenceActions.showReferenceActions,showPermissionActions:r.referenceActions.showPermissionActions,hideReferenceActions:r.hideReferenceActions,hideSubmitAction:r.hideSubmitAction,modelSearchValue:r.selectOverlays.modelSearchValue,selectedModel:s.selectedModel,effort:s.effort,permissionMode:s.permissionMode,selectedAdapter:s.selectedAdapter,selectedAccount:s.selectedAccount,showAccountSelector:r.showAccountSelector,isMac:r.isMac,resolvedSendShortcut:s.resolvedSendShortcut,queueMode:s.queueMode,showQueueModeControl:r.isThinking&&!r.isInlineEdit,hasComposerContent:t.input.trim()!==""||t.pendingImageCount>0||t.pendingFileCount>0,hasSendText:t.input.trim()!==""},a={modelMenuGroups:s.modelMenuGroups,modelSearchOptions:s.modelSearchOptions,recommendedModelOptions:s.recommendedModelOptions,servicePreviewModelOptions:s.servicePreviewModelOptions,updatingRecommendedModelValue:s.updatingRecommendedModelValue,effortOptions:s.effortOptions,permissionModeOptions:s.permissionModeOptions,adapterOptions:s.adapterOptions,accountOptions:s.accountOptions,composerControlShortcuts:{...r.composerControlShortcuts,...s.queuedMessageShortcuts},submitLabel:r.submitLabel,confirmInteractionLabel:r.confirmInteractionLabel},l={...r.refs,referenceMenuNavigation:r.referenceActions.referenceMenuNavigation,permissionMenuNavigation:r.referenceActions.permissionMenuNavigation},c=jLt({attachments:n,canOpenReferenceActions:r.canOpenReferenceActions,focusRestore:r.focusRestore,isInlineEdit:r.isInlineEdit,message:i.message,modelUnavailable:r.modelUnavailable,onAdapterChange:e.onAdapterChange,onAccountChange:e.onAccountChange,onEffortChange:e.onEffortChange,onInterrupt:e.onInterrupt,onModelChange:e.onModelChange,onToggleRecommendedModel:e.onToggleRecommendedModel,onPermissionModeChange:e.onPermissionModeChange,onQueueModeChange:e.onQueueModeChange,onCancel:e.onCancel,onConfirmInteractionOption:e.onConfirmInteractionOption,onSend:e.onSend,referenceActions:r.referenceActions,selectOverlays:r.selectOverlays,t:i.t});return{toolbarState:o,toolbarData:a,toolbarRefs:l,toolbarHandlers:c}},VLt=({attachments:n,callbacks:e,composer:t,composerControlShortcuts:i,focusRestore:s,isBusy:r,isInlineEdit:o,isMac:a,isThinking:l,sendBlocked:c,sendBlockedTooltip:d,showConfirmInteractionAction:u,confirmInteractionLabel:h,onConfirmInteractionOption:f,message:g,props:m,refs:p,referenceActions:v,queuedMessageShortcuts:b,resolvedSendShortcut:w,selectOverlays:C,supportsEffort:S,t:x})=>{const k=!r&&(!m.modelUnavailable||o);return WLt({attachments:n,callbacks:{onAdapterChange:m.onAdapterChange,onAccountChange:m.onAccountChange,onEffortChange:m.onEffortChange,onInterrupt:m.onInterrupt,onModelChange:m.onModelChange,onToggleRecommendedModel:m.onToggleRecommendedModel,onPermissionModeChange:m.onPermissionModeChange,onQueueModeChange:m.onQueueModeChange,onCancel:m.onCancel,onConfirmInteractionOption:f,onSend:e.onSend},composer:t,resources:{message:g,t:x},selection:{adapterOptions:m.adapterOptions,accountOptions:m.accountOptions,effort:m.effort??"default",effortOptions:m.effortOptions??[],modelMenuGroups:m.modelMenuGroups,modelSearchOptions:m.modelSearchOptions,permissionMode:m.permissionMode??"default",permissionModeOptions:m.permissionModeOptions??[],queueMode:m.queueMode??"steer",queuedMessageShortcuts:b,recommendedModelOptions:m.recommendedModelOptions,servicePreviewModelOptions:m.servicePreviewModelOptions,resolvedSendShortcut:w,selectedAdapter:m.selectedAdapter,selectedAccount:m.selectedAccount,selectedModel:m.selectedModel,updatingRecommendedModelValue:m.updatingRecommendedModelValue},ui:{adapterLocked:m.adapterLocked??!1,canOpenReferenceActions:k,composerControlShortcuts:i,focusRestore:s,isInlineEdit:o,isMac:a,isThinking:l,sendBlocked:c,sendBlockedTooltip:d,showConfirmInteractionAction:u,modelUnavailable:m.modelUnavailable,hideReferenceActions:m.hideReferenceActions===!0,hideSubmitAction:m.hideSubmitAction===!0,referenceActions:v,refs:p,selectOverlays:C,showAccountSelector:m.showAccountSelector===!0,confirmInteractionLabel:h,submitLabel:m.submitLabel,submitLoading:m.submitLoading===!0,supportsEffort:S}})},zLt=n=>!1,ULt=({interactionRequest:n,isInlineEdit:e})=>{const t=e?!1:zLt(),i=(n==null?void 0:n.payload.kind)==="permission"?n.payload.permissionContext:void 0;return{hideSender:t,permissionContext:i}},KLt=n=>{const e=n.variant==="inline-edit",t=navigator.platform.includes("Mac"),i=!e&&n.sessionStatus==="running",s=i||n.submitLoading===!0,r=n.forceEffortControl===!0||n.selectedAdapter==="codex"||n.selectedAdapter==="claude-code"||n.selectedAdapter==="copilot"||n.selectedAdapter==="opencode";return{isInlineEdit:e,isMac:t,isThinking:i,isBusy:s,supportsEffort:r}},pBe="vf_chat_history",_Be=(n,e)=>{console.error(`Failed to ${n} chat history`,e)},K0e=n=>n==="Enter"||n===" ",qLt=n=>new Promise((e,t)=>{const i=new FileReader;i.onload=()=>{e(typeof i.result=="string"?i.result:"")},i.onerror=()=>{t(new Error("read_failed"))},i.readAsDataURL(n)}),Mhe=()=>{try{const n=localStorage.getItem(pBe),e=n!=null?JSON.parse(n):[];return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}catch(n){return _Be("read",n),[]}},GLt=n=>{try{const e=Mhe(),t=[n,...e.filter(i=>i!==n)].slice(0,50);localStorage.setItem(pBe,JSON.stringify(t))}catch(e){_Be("write",e)}},XLt=({initialContent:n,isBusy:e,isInlineEdit:t,modelUnavailable:i,interactionRequest:s,message:r,t:o,fileInputRef:a,setPendingImages:l,setPendingFiles:c})=>{const[d,u]=_.useState(!1);_.useEffect(()=>{h()},[n]);const h=()=>{u(!1)},f=async v=>{for(const w of v)if(w.type.startsWith("image/")){if(w.size>5242880){r.error(o("chat.imageTooLarge"));continue}try{const C=await qLt(w);if(C===""){r.error(o("chat.imageReadFailed"));continue}l(S=>{var x;return[...S,{id:(x=globalThis.crypto)!=null&&x.randomUUID?globalThis.crypto.randomUUID():`img-${Date.now()}-${Math.random().toString(16).slice(2)}`,url:C,name:w.name,size:w.size,mimeType:w.type}]})}catch{r.error(o("chat.imageReadFailed"))}}};return{showContextPicker:d,setShowContextPicker:u,resetAttachmentUi:h,handleImageUpload:()=>{var v;if(!e){if(!t&&i){r.warning(o("chat.modelConfigRequired"));return}if(!t&&s!=null){r.warning(o("chat.imageNotSupportedInInteraction"));return}(v=a.current)==null||v.click()}},handleImageFileChange:async v=>{const b=Array.from(v.target.files??[]);b.length!==0&&(await f(b),v.target.value="")},handleOpenContextPicker:()=>{if(!(e||t)){if(!t&&i){r.warning(o("chat.modelConfigRequired"));return}if(!t&&s!=null){r.warning(o("chat.fileNotSupportedInInteraction"));return}u(!0)}},handleContextPickerConfirm:v=>{c(v),u(!1)},handlePaste:async v=>{var w;const b=Array.from(((w=v.clipboardData)==null?void 0:w.items)??[]).filter(C=>C.kind==="file"&&C.type.startsWith("image/")).map(C=>C.getAsFile()).filter(C=>C!=null);b.length>0&&(v.preventDefault(),await f(b))}}},YLt=({autoFocus:n,editorRef:e})=>{_.useEffect(()=>{if(!n)return;const t=window.requestAnimationFrame(()=>{const i=e.current;if(i==null)return;const s=i.getValue().length;i.focus(),i.setSelection({start:s,end:s})});return()=>{window.cancelAnimationFrame(t)}},[n,e])},ZLt=/(^|\s)([@/#])([^\s@/#]*)$/,QLt=/(^|\s)([@/#])([^\s@/#]+)/g,q0e=[{trigger:"/",kind:"command",values:["plan","summarize","review","fix","explain"]},{trigger:"@",kind:"agent",values:["solution-analyst","dev-planner","dev-implementer","dev-reviewer"]},{trigger:"#",kind:"tool",values:["ChromeDevtools","Bash","Read","Edit","Search"]}],JLt=n=>{if((n==null?void 0:n.type)!=="init")return q0e;const e=[{trigger:"/",kind:"command",values:n.slashCommands??[]},{trigger:"@",kind:"agent",values:n.agents??[]},{trigger:"#",kind:"tool",values:n.tools??[]}];return e.some(i=>i.values.length>0)?e:q0e},eIt=n=>n==="@"?"chat-input-monaco__token--agent":n==="#"?"chat-input-monaco__token--tool":"chat-input-monaco__token--command",tIt=(n,e)=>{const t=e.toLowerCase();return n.toSorted((i,s)=>{const r=i.value.toLowerCase().startsWith(t),o=s.value.toLowerCase().startsWith(t);return r!==o?r?-1:1:i.value.localeCompare(s.value)})},G0e=(n,e,t)=>{const i=e??n.length,s=n.slice(0,i),r=ZLt.exec(s);if(r==null)return null;const o=r[2],a=r[3]??"",l=i-a.length,c=a.toLowerCase(),d=JLt(t).find(h=>h.trigger===o);if(d==null)return null;const u=d.values.filter(h=>c===""||h.toLowerCase().includes(c)).map(h=>({kind:d.kind,label:`${o}${h}`,value:h}));return{trigger:o,kind:d.kind,query:a,replaceStart:l,cursorOffset:i,items:tIt(u,a)}},nIt=n=>{const e=[];for(const t of n.matchAll(QLt)){const i=t[1]??"",s=t[2],r=t[3]??"",o=t.index;if(s==null||o==null||r==="")continue;const a=o+i.length,l=a+1+r.length;e.push({start:a,end:l,className:eIt(s)})}return e},iIt=({initialContent:n,input:e,setInput:t,sessionInfo:i,editorRef:s})=>{const[r,o]=_.useState(!1),a=_.useCallback(()=>{o(!1)},[]);_.useEffect(()=>{a()},[n,a]);const l=_.useCallback((u,h)=>{var m,p;const f=h??((p=(m=s.current)==null?void 0:m.getSelection())==null?void 0:p.end)??u.length,g=G0e(u,f,i);o(((g==null?void 0:g.items.length)??0)>0)},[s,i]),c=_.useCallback((u,h)=>{t(u),l(u,h)},[t,l]),d=_.useCallback(u=>{l(e,u)},[e,l]);return{showCompletion:r,resetCompletion:a,handleInputChange:c,handleCursorChange:d,resolveCompletionMatch:G0e,resolveTokenDecorations:nIt}},sIt=n=>`pending-image-${n}`,X0e=n=>{if(typeof n=="string")return{input:n,pendingImages:[],pendingFiles:[]};if(!Array.isArray(n))return{input:"",pendingImages:[],pendingFiles:[]};const e=n.filter(s=>s.type==="text").map(s=>s.text),t=n.filter(s=>s.type==="image").map((s,r)=>({id:sIt(r),url:s.url,name:s.name,size:s.size,mimeType:s.mimeType})),i=n.filter(s=>s.type==="file").map(s=>({path:s.path,name:s.name,size:s.size}));return{input:e.join(`
|
|
529
529
|
|
|
530
530
|
`),pendingImages:t,pendingFiles:i}},rIt=(n,e,t)=>{const i=[];return n.trim()!==""&&i.push({type:"text",text:n.trim()}),i.push(...e.map(s=>({type:"image",url:s.url,name:s.name,size:s.size,mimeType:s.mimeType}))),i.push(...t.map(s=>({type:"file",path:s.path,name:s.name,size:s.size}))),i},oIt=n=>{const e=X0e(n),[t,i]=_.useState(()=>e.input),[s,r]=_.useState(()=>e.pendingImages),[o,a]=_.useState(()=>e.pendingFiles);return _.useEffect(()=>{const c=X0e(n);i(c.input),r(c.pendingImages),a(c.pendingFiles)},[n]),{input:t,setInput:i,pendingImages:s,setPendingImages:r,pendingFiles:o,setPendingFiles:a,resetComposerContent:()=>{i(""),r([]),a([])}}},aIt=({editorRef:n,suspended:e=!1})=>{const[t,i]=_.useState(!1),s=_.useRef(null),r=_.useCallback(()=>{s.current!=null&&window.clearTimeout(s.current),s.current=window.setTimeout(()=>{window.requestAnimationFrame(()=>{const l=n.current;if(l==null||l.isDisabled())return;const c=l.getValue().length;l.focus(),l.setSelection({start:c,end:c})})},80)},[n]),o=_.useCallback(()=>{i(!0)},[]),a=_.useCallback(()=>{i(!1)},[]);return _.useEffect(()=>()=>{s.current!=null&&window.clearTimeout(s.current)},[]),_.useEffect(()=>{if(!t||e)return;const l=window.setTimeout(()=>{r(),i(!1)},0);return()=>{window.clearTimeout(l)}},[r,t,e]),{focusEditor:r,queueEditorFocusRestore:o,clearQueuedEditorFocusRestore:a}},lIt=({initialContent:n,input:e,setInput:t,editorRef:i})=>{const[s,r]=_.useState(-1),[o,a]=_.useState("");_.useEffect(()=>{l()},[n]);const l=()=>{r(-1),a("")};return{historyIndex:s,resetHistory:l,clearInputValue:()=>{e!==""&&(t(""),r(-1))},handleHistoryNavigation:u=>{const h=Mhe();if(h.length===0)return;const f=u==="up"?Math.min(s+1,h.length-1):Math.max(s-1,-1);if(f===s)return;s===-1&&a(e);const g=f===-1?o:h[f];r(f),t(g),setTimeout(()=>{const m=i.current;if(m==null)return;const p=g.length;m.setSelection({start:p,end:p}),m.focus()},0)}}},cIt=({editorRef:n,isMac:e,clearInputShortcut:t,isInlineEdit:i,isThinking:s,input:r,pendingImageCount:o,pendingFileCount:a,interactionOptionCount:l,onCancel:c,onClear:d,onInteractionOptionMove:u,onInteractionOptionSubmit:h,onInterrupt:f,onInterruptHint:g,onResetComposer:m,showReferenceActions:p,onCloseReferenceActions:v,showModelSelect:b,onCloseModelSelect:w,showEffortSelect:C,onCloseEffortSelect:S,showCompletion:x,historyIndex:k,onHistoryNavigate:L,onInputClear:I})=>{const N=_.useRef(null);return _.useEffect(()=>{(r!==""||o>0||a>0||!s)&&(N.current=null)},[r,s,a,o]),D=>{var R;if(p&&D.key==="Escape"){D.preventDefault(),v();return}if(b&&D.key==="Escape"){D.preventDefault(),w();return}if(C&&D.key==="Escape"){D.preventDefault(),S();return}if(x&&["ArrowDown","ArrowUp","Enter","Escape","Tab"].includes(D.key))return;if(t!=null&&t.trim()&&pH(D,t,e)){D.preventDefault(),I();return}const T=!i&&l>0&&r.trim()===""&&o===0&&a===0;if(T&&u!=null&&(D.key==="ArrowUp"||D.key==="ArrowDown")){D.preventDefault(),u(D.key==="ArrowUp"?-1:1);return}if(T&&h!=null&&D.key==="Enter"&&!D.metaKey&&!D.ctrlKey&&!D.altKey&&!D.shiftKey){D.preventDefault(),h();return}if(D.key==="ArrowUp"||D.key==="ArrowDown"){const M=(R=n.current)==null?void 0:R.getSelection(),P=Mhe(),O=k===-1?null:P[k];if(!(D.key==="ArrowUp"?r.substring(0,(M==null?void 0:M.start)??r.length):r.substring((M==null?void 0:M.end)??r.length)).includes(`
|
|
531
531
|
`)){const F=D.key==="ArrowUp"&&(r.trim()===""||r===O),B=D.key==="ArrowDown"&&(k!==-1||r===O);if(F||B){D.preventDefault(),L(D.key==="ArrowUp"?"up":"down");return}}}if(D.key==="Escape"){if(i&&r===""&&o===0&&a===0&&c!=null){D.preventDefault(),c();return}if(r!==""){D.preventDefault(),N.current=null,I();return}if(s&&o===0&&a===0){D.preventDefault();const M=Date.now(),P=N.current;if(P!=null&&P>M){N.current=null,f();return}N.current=M+1800,g()}return}if(D.key==="l"&&(D.metaKey||D.ctrlKey)){if(D.preventDefault(),i){m();return}I(),d==null||d()}}},HC=(n,e,t)=>{if(t<=0)return-1;const i=(n+e)%t;return i<0?i+t:i},Y0e=(n,e)=>{const t=_.useRef(new Map),[i,s]=_.useState(()=>e!=null&&n.includes(e)?e:n[0]??null);_.useEffect(()=>{if(n.length===0){s(null);return}if(!(i!=null&&n.includes(i))){if(e!=null&&n.includes(e)){s(e);return}s(n[0]??null)}},[i,e,n]);const r=_.useCallback(u=>h=>{if(h==null){t.current.delete(u);return}t.current.set(u,h)},[]),o=_.useCallback(u=>{var h;u!=null&&(s(u),(h=t.current.get(u))==null||h.focus())},[]),a=_.useMemo(()=>new Map(n.map((u,h)=>[u,h])),[n]),l=_.useCallback((u,h)=>{if(n.length===0)return null;const f=h??i??n[0]??null,g=f==null?0:a.get(f)??0,m=HC(g,u,n.length),p=n[m]??null;return p!=null&&o(p),p},[i,o,a,n]),c=_.useCallback(()=>{const u=n[0]??null;return o(u),u},[o,n]),d=_.useCallback(()=>{const u=n.at(-1)??null;return o(u),u},[o,n]);return{activeKey:i,setActiveKey:s,registerItem:r,focusKey:o,moveFocus:l,focusFirst:c,focusLast:d}},dIt=({initialContent:n,isInlineEdit:e,permissionMode:t,permissionModeValues:i,onPermissionSelect:s,onReferenceImageSelect:r,onOpenContextPicker:o})=>{const[a,l]=_.useState(!1),[c,d]=_.useState(!1),[u,h]=_.useState(!1),f=_.useMemo(()=>{const b=["image"];return e||b.push("file"),b},[e]),g=Y0e(f,"image"),m=Y0e(i,t);_.useEffect(()=>{v()},[n]),_.useEffect(()=>{i.includes(t)&&m.setActiveKey(t)},[m,t,i]);const p=({restoreFocus:b=!1}={})=>{v(),h(b)},v=()=>{l(!1),d(!1),h(!1)};return{showReferenceActions:a,setShowReferenceActions:l,showPermissionActions:c,setShowPermissionActions:d,shouldRestoreFocus:u,clearReferenceFocusRestore:()=>h(!1),referenceMenuNavigation:g,permissionMenuNavigation:m,resetReferenceActions:v,closeReferenceActions:p,openPermissionShortcutMenu:()=>{l(!1),d(!0),m.setActiveKey(t),window.requestAnimationFrame(()=>{m.focusKey(m.activeKey??t)})},handleReferenceMenuKeyDown:(b,w)=>{if(b.key==="ArrowDown"){b.preventDefault(),d(!1),g.moveFocus(1,w);return}if(b.key==="ArrowUp"){b.preventDefault(),d(!1),g.moveFocus(-1,w);return}if(b.key==="Escape"){b.preventDefault(),p({restoreFocus:!0});return}if(K0e(b.key)){if(b.preventDefault(),w==="image"){p(),r();return}w==="file"&&(p(),o())}},handlePermissionMenuKeyDown:(b,w)=>{if(b.key==="ArrowDown"){b.preventDefault(),m.moveFocus(1,w);return}if(b.key==="ArrowUp"){b.preventDefault(),m.moveFocus(-1,w);return}if(b.key==="ArrowLeft"||b.key==="Escape"){b.preventDefault(),p({restoreFocus:!0});return}K0e(b.key)&&(b.preventDefault(),s(w),p({restoreFocus:!0}))}}},uIt=({focusRestore:n,referenceActions:e})=>{_.useEffect(()=>{e.shouldRestoreFocus&&(n.queueEditorFocusRestore(),e.clearReferenceFocusRestore())},[n,e])},hIt=()=>{const n=_.useRef(null),e=_.useRef(null),t=_.useRef(null),i=_.useRef(null);return{editorRef:n,fileInputRef:e,modelSelectRef:t,effortSelectRef:i}},fIt=({initialContent:n,isInlineEdit:e,isThinking:t,modelUnavailable:i,supportsEffort:s,modelSelectRef:r,effortSelectRef:o})=>{const[a,l]=_.useState(!1),[c,d]=_.useState(!1),[u,h]=_.useState("");_.useEffect(()=>{f()},[n]);const f=()=>{l(!1),d(!1),h("")};_.useEffect(()=>{!a&&u!==""&&h("")},[u,a]);const g=v=>{window.requestAnimationFrame(()=>{var b,w;(w=(b=v.current)==null?void 0:b.focus)==null||w.call(b)})};return{showModelSelect:a,setShowModelSelect:l,showEffortSelect:c,setShowEffortSelect:d,modelSearchValue:u,setModelSearchValue:h,resetSelectOverlays:f,openModelSelector:()=>e||i||t?!1:(d(!1),h(""),l(!0),g(r),!0),openEffortSelector:()=>e||i||t||!s?!1:(l(!1),d(!0),g(o),!0)}},zq={switchModel:"mod+shift+m",switchEffort:"mod+t",switchPermissionMode:"mod+p"},gIt=n=>{const e=(t,i)=>t!=null&&t.trim()!==""?t:i;return{switchModel:e(n==null?void 0:n.switchModel,zq.switchModel),switchEffort:e(n==null?void 0:n.switchEffort,zq.switchEffort),switchPermissionMode:e(n==null?void 0:n.switchPermissionMode,zq.switchPermissionMode)}},mIt=({enabled:n=!0,isMac:e,shortcuts:t,onSwitchModel:i,onSwitchEffort:s,onSwitchPermissionMode:r})=>{const o=_.useMemo(()=>gIt(t),[t]);return r3({shortcut:o.switchModel,enabled:n,isMac:e,onTrigger:i}),r3({shortcut:o.switchEffort,enabled:n,isMac:e,onTrigger:s}),r3({shortcut:o.switchPermissionMode,enabled:n,isMac:e,onTrigger:r}),o},pIt=(n,e)=>{const t=n,i=e?["cmd+shift+enter","cmd+alt+enter","cmd+ctrl+enter"]:["mod+enter","alt+enter","ctrl+shift+enter"],s=i.find(r=>r!==t)??i[0];return{queueSteer:t,queueNext:s}},_It=({enabled:n,isInlineEdit:e,isMac:t,isThinking:i,modelUnavailable:s,permissionModeOptions:r,referenceActions:o,selectOverlays:a})=>{var f,g;const{data:l}=hi("/api/config"),c=(g=(f=l==null?void 0:l.sources)==null?void 0:f.merged)==null?void 0:g.shortcuts,d=aBe(c==null?void 0:c.sendMessage,t),u=pIt(d,t),h=mIt({enabled:n,isMac:t,shortcuts:c,onSwitchModel:m=>{m.preventDefault(),m.stopPropagation(),a.openModelSelector()&&o.closeReferenceActions()},onSwitchEffort:m=>{m.preventDefault(),m.stopPropagation(),a.openEffortSelector()&&o.closeReferenceActions()},onSwitchPermissionMode:m=>{e||s||i||r.length===0||(m.preventDefault(),m.stopPropagation(),a.setShowModelSelect(!1),a.setShowEffortSelect(!1),o.openPermissionShortcutMenu())}});return{clearInputShortcut:c==null?void 0:c.clearInput,composerControlShortcuts:h,resolvedSendShortcut:d,queuedMessageShortcuts:u}},vIt=({getInput:n,pendingImages:e,pendingFiles:t,isBusy:i,allowWhileBusy:s,isInlineEdit:r,modelUnavailable:o,interactionRequest:a,onInteractionResponse:l,onSend:c,onSendContent:d,message:u,t:h,resetComposer:f})=>async g=>{const m=n();if(i&&!s||m.trim()===""&&e.length===0&&t.length===0)return;if(!r&&o){u.warning(h("chat.modelConfigRequired"));return}if(!r&&a!=null&&l!=null){if(e.length>0||t.length>0){u.warning(e.length>0?h("chat.imageNotSupportedInInteraction"):h("chat.fileNotSupportedInInteraction"));return}l(a.id,m.trim()),f();return}let p=!0;if(e.length>0||t.length>0){const v=rIt(m,e,t);r?p=await d(v,g)!==!1:d(v,g)}else r?p=await c(m,g)!==!1:c(m,g);p&&(GLt(m),f())},bIt=(n,e)=>{const t=new Map(n.map(i=>[i.path,i]));for(const i of e)i.path.trim()!==""&&t.set(i.path,i);return Array.from(t.values())},yIt=n=>{var $,W,V,H,U,G,Y;const{t:e}=vt(),{message:t}=ar.useApp(),{editorRef:i,fileInputRef:s,modelSelectRef:r,effortSelectRef:o}=hIt(),a=_.useRef(null),{isInlineEdit:l,isMac:c,isThinking:d,isBusy:u,supportsEffort:h}=KLt(n),f=oIt(n.initialContent),g=iIt({initialContent:n.initialContent,input:f.input,setInput:f.setInput,sessionInfo:n.sessionInfo,editorRef:i}),m=lIt({initialContent:n.initialContent,input:f.input,setInput:f.setInput,editorRef:i}),p=XLt({initialContent:n.initialContent,isBusy:u,isInlineEdit:l,modelUnavailable:n.modelUnavailable,interactionRequest:n.interactionRequest,message:t,t:e,fileInputRef:s,setPendingImages:f.setPendingImages,setPendingFiles:f.setPendingFiles}),v=dIt({initialContent:n.initialContent,isInlineEdit:l,permissionMode:n.permissionMode??"default",permissionModeValues:(n.permissionModeOptions??[]).map(K=>K.value),onPermissionSelect:K=>{var X;return(X=n.onPermissionModeChange)==null?void 0:X.call(n,K)},onReferenceImageSelect:p.handleImageUpload,onOpenContextPicker:p.handleOpenContextPicker}),b=fIt({initialContent:n.initialContent,isInlineEdit:l,isThinking:d,modelUnavailable:n.modelUnavailable,supportsEffort:h,modelSelectRef:r,effortSelectRef:o}),w=aIt({editorRef:i,suspended:b.showModelSelect||b.showEffortSelect||v.showReferenceActions||p.showContextPicker}),{hideSender:C,permissionContext:S}=ULt({interactionRequest:n.interactionRequest,isInlineEdit:l}),x=!l&&(($=n.interactionRequest)==null?void 0:$.payload.kind)==="permission",k=x&&(((W=n.interactionOptionNavigation)==null?void 0:W.optionCount)??0)>0,L=x?e("chat.permissionSendBlockedTooltip"):void 0,{clearInputShortcut:I,composerControlShortcuts:N,resolvedSendShortcut:D,queuedMessageShortcuts:T}=_It({enabled:!C&&!p.showContextPicker&&!l,isInlineEdit:l,isMac:c,isThinking:d,modelUnavailable:n.modelUnavailable,permissionModeOptions:n.permissionModeOptions??[],referenceActions:v,selectOverlays:b}),R=()=>{f.resetComposerContent(),g.resetCompletion(),m.resetHistory(),p.resetAttachmentUi(),b.resetSelectOverlays(),v.resetReferenceActions()},M=vIt({getInput:()=>{var K;return((K=i.current)==null?void 0:K.getValue())??f.input},pendingImages:f.pendingImages,pendingFiles:f.pendingFiles,isBusy:u,allowWhileBusy:d,isInlineEdit:l,modelUnavailable:n.modelUnavailable,interactionRequest:n.interactionRequest,onInteractionResponse:n.onInteractionResponse,onSend:n.onSend,onSendContent:n.onSendContent,message:t,t:e,resetComposer:R}),P=()=>{t.error({content:e("chat.permissionSendBlockedError"),key:"chat-permission-send-blocked"})},O=K=>{if(n.hideSubmitAction!==!0){if(x){P();return}M(K)}};_.useEffect(()=>{const K=n.contextReferenceRequest;if(!(K==null||K.files.length===0||l)&&a.current!==K.id){if(a.current=K.id,n.modelUnavailable){t.warning(e("chat.modelConfigRequired"));return}if(n.interactionRequest!=null){t.warning(e("chat.fileNotSupportedInInteraction"));return}f.setPendingFiles(X=>bIt(X,K.files)),w.queueEditorFocusRestore()}},[w,l,t,f.setPendingFiles,n.contextReferenceRequest,n.interactionRequest,n.modelUnavailable,e]),YLt({autoFocus:n.autoFocus===!0,editorRef:i}),uIt({focusRestore:w,referenceActions:v});const A=cIt({editorRef:i,isMac:c,clearInputShortcut:I,isInlineEdit:l,isThinking:d,input:f.input,pendingImageCount:f.pendingImages.length,pendingFileCount:f.pendingFiles.length,interactionOptionCount:((V=n.interactionOptionNavigation)==null?void 0:V.optionCount)??0,onCancel:n.onCancel,onClear:n.onClear,onInteractionOptionMove:(H=n.interactionOptionNavigation)==null?void 0:H.onMove,onInteractionOptionSubmit:(U=n.interactionOptionNavigation)==null?void 0:U.onSubmit,onInterrupt:n.onInterrupt,onInterruptHint:()=>{t.open({type:"info",content:e("chat.queue.stopShortcutConfirm"),duration:1.6,key:"chat-stop-shortcut-confirm"})},onResetComposer:R,showReferenceActions:v.showReferenceActions,onCloseReferenceActions:()=>v.closeReferenceActions({restoreFocus:!0}),showModelSelect:b.showModelSelect,onCloseModelSelect:()=>{b.setShowModelSelect(!1),w.queueEditorFocusRestore()},showEffortSelect:b.showEffortSelect,onCloseEffortSelect:()=>{b.setShowEffortSelect(!1),w.queueEditorFocusRestore()},showCompletion:g.showCompletion,historyIndex:m.historyIndex,onHistoryNavigate:m.handleHistoryNavigation,onInputClear:m.clearInputValue}),F=VLt({attachments:p,callbacks:{onSend:O},composer:{input:f.input,pendingImageCount:f.pendingImages.length,pendingFileCount:f.pendingFiles.length},composerControlShortcuts:N,focusRestore:w,isBusy:u,isInlineEdit:l,isMac:c,isThinking:d,sendBlocked:x,sendBlockedTooltip:L,showConfirmInteractionAction:k,confirmInteractionLabel:k?e("chat.permissionConfirmOption"):void 0,onConfirmInteractionOption:k?(G=n.interactionOptionNavigation)==null?void 0:G.onSubmit:void 0,message:t,props:n,refs:{fileInputRef:s,modelSelectRef:r,effortSelectRef:o},referenceActions:v,queuedMessageShortcuts:T,resolvedSendShortcut:D,selectOverlays:b,supportsEffort:h,t:e}),B=HLt({attachments:p,completion:g,composer:f,focusRestore:w,handleKeyDown:A,hideSender:C,interactionRequest:n.interactionRequest,interactionResponse:n.onInteractionResponse,isBusy:u,isInlineEdit:l,isThinking:d,modelUnavailable:n.modelUnavailable,permissionContext:S,editorRef:i,placeholder:n.placeholder??((Y=n.interactionRequest)==null?void 0:Y.payload.question)??e("chat.inputPlaceholder"),secondarySendShortcut:d&&!x?T.queueNext:void 0,onSecondarySendShortcut:d&&!x?()=>{M("next")}:void 0,toolbar:F});return{...B,onInputChange:(K,X)=>{var J;B.onInputChange(K,X),(J=n.onInputChange)==null||J.call(n,K)}}},vBe=n=>n.split(/[\\/]/).filter(Boolean).at(-1)??n,bBe=n=>({path:n.path,name:n.name||vBe(n.path)}),Uq=(n,e)=>{const t=new Map(e.map(i=>[i.path,i]));return n.map(i=>{const s=t.get(i);return s==null?{path:i,name:vBe(i)}:bBe(s)})},M4=n=>y.jsx("span",{className:"material-symbols-rounded project-file-tree__menu-icon",children:n});function wIt({canOpenFile:n,canReference:e,canToggleDirectory:t,children:i,isDirectory:s,isExpanded:r,node:o,referenceNodes:a,onOpenFile:l,onReferenceNodes:c,onToggleDirectory:d}){const{t:u}=vt(),{message:h}=ar.useApp(),f=_.useMemo(()=>[...s?[{key:"toggle",label:u(r?"chat.workspaceDrawerCollapseAll":"chat.workspaceDrawerExpandAll"),icon:M4(r?"folder_open":"folder"),disabled:!t,onClick:()=>d(o)}]:[{key:"open",label:u("chat.workspaceFileOpen"),icon:M4("open_in_new"),disabled:!n,onClick:()=>l==null?void 0:l(o.path)}],{key:"reference",label:u("chat.workspaceTreeReferenceToInput"),icon:M4("alternate_email"),disabled:!e||c==null,onClick:()=>c==null?void 0:c(a.length>0?a:[o])},{type:"divider"},{key:"copy-path",label:u("chat.workspaceFileCopyPath"),icon:M4("content_copy"),onClick:()=>{gL({failureMessage:u("common.copyFailed"),messageApi:h,successMessage:u("chat.workspaceFilePathCopied"),text:o.path})}}],[n,e,t,s,r,h,o,l,c,d,a,u]);return y.jsx(ta,{menu:{items:f},overlayClassName:"project-file-tree-context-dropdown",trigger:["contextMenu"],children:i})}const oee=(n,e)=>{const t=n.toLowerCase(),i=e?"folder_open":"folder";return t===".ai"?{icon:i,tone:"ai",badgeIcon:"auto_awesome"}:t===".docs"||t==="docs"||t==="doc"?{icon:i,tone:"docs",badgeIcon:"article"}:t===".github"||t===".gitlab"||t===".git"?{icon:i,tone:"git",badgeIcon:"commit"}:t.includes("test")||t==="__tests__"||t==="__test__"?{icon:i,tone:"test",badgeIcon:"science"}:t==="src"||t==="source"?{icon:i,tone:"source",badgeIcon:"code"}:t==="apps"||t==="packages"?{icon:i,tone:"package",badgeIcon:"inventory_2"}:t==="scripts"||t==="bin"?{icon:i,tone:"script",badgeIcon:"terminal"}:t==="public"||t==="assets"||t==="static"?{icon:i,tone:"asset",badgeIcon:"image"}:t==="components"?{icon:i,tone:"component",badgeIcon:"widgets"}:t==="routes"||t==="pages"?{icon:i,tone:"route",badgeIcon:"alt_route"}:t==="api"||t==="server"?{icon:i,tone:"api",badgeIcon:"hub"}:t.includes("hook")?{icon:i,tone:"hook",badgeIcon:"link"}:{icon:i,tone:"folder"}},yBe=n=>{const e=n.toLowerCase();return/\.(?:ts|tsx|mts|cts)$/.test(e)?{icon:"data_object",tone:"typescript"}:/\.(?:js|jsx|mjs|cjs)$/.test(e)?{icon:"javascript",tone:"javascript"}:/\.(?:json|jsonc)$/.test(e)?{icon:"tune",tone:"json"}:/\.(?:md|mdx)$/.test(e)?{icon:"article",tone:"markdown"}:/\.(?:css|scss|sass|less|pcss)$/.test(e)?{icon:"palette",tone:"style"}:/\.(?:png|jpe?g|gif|svg|webp|avif|ico)$/.test(e)?{icon:"image",tone:"image"}:/\.(?:lock|lockb)$/.test(e)?{icon:"lock",tone:"lock"}:e.includes("package.json")||e.endsWith(".yaml")||e.endsWith(".yml")?{icon:"inventory_2",tone:"package"}:e.startsWith(".env")?{icon:"key",tone:"env"}:e.includes("ignore")?{icon:"hide_source",tone:"ignore"}:{icon:"draft",tone:"file"}},CIt=(n,e,t,i="symlink")=>i==="gitdir"?{...oee(n,t),tone:e==="missing"?"symlink-broken":"git"}:e==="missing"?{icon:"draft",tone:"symlink-broken",badgeIcon:"link_off"}:e==="directory"?{...oee(n,t),badgeIcon:"link"}:e==="file"?{...yBe(n),badgeIcon:"link"}:{icon:"draft",tone:"symlink"},SIt=(n,e,t)=>e==="missing"?{icon:"link_off",tone:"symlink-broken"}:n==="gitdir"?{icon:"account_tree",tone:"git"}:t===!0?{icon:"open_in_new",tone:"symlink-external"}:{icon:"link",tone:"symlink"},xIt=n=>({"--project-tree-depth":n}),kIt=(n,e)=>{if((n.linkKind??(n.isSymlink===!0?"symlink":void 0))==null)return n.path;const i=n.linkTarget==null?e("chat.workspaceTreeTargetMissing"):n.linkTarget,s=n.linkType==="missing"?e("chat.workspaceTreeTargetMissingState"):n.isExternal===!0?e("chat.workspaceTreeExternalLinkState"):"";return e("chat.workspaceTreeNodeLinkTitle",{path:n.path,target:i,state:s})},EIt=(n,e)=>{const t=n.linkTarget==null||n.linkTarget===""?e("chat.workspaceTreeTargetMissing"):n.linkTarget;return n.linkType==="missing"?e("chat.workspaceTreeLinkTargetMissing",{target:t}):n.isExternal===!0?t:e("chat.workspaceTreeLinkTarget",{target:t})},LIt=n=>y.jsxs("span",{className:`project-file-tree__icon-wrap is-${n.tone}`,children:[y.jsx("span",{className:`material-symbols-rounded project-file-tree__icon is-${n.tone}`,children:n.icon}),n.badgeIcon!=null&&y.jsx("span",{className:`material-symbols-rounded project-file-tree__icon-badge is-${n.tone}`,children:n.badgeIcon})]}),IIt=(n,e,t)=>{const i=SIt(e,n.linkType,n.isExternal);return y.jsx(Qe,{destroyOnHidden:!0,placement:"left",title:EIt(n,t),children:y.jsx("span",{className:`material-symbols-rounded project-file-tree__link-indicator is-${i.tone}`,children:i.icon})})};function NIt({canOpenFile:n,canReference:e,canToggleDirectory:t,depth:i,hasSelectedAfter:s,hasSelectedBefore:r,icon:o,isDirectory:a,isExpanded:l,isLinkedNode:c,isSelected:d,linkKind:u,node:h,referenceNodes:f,showContextMenu:g,onContextSelect:m,onOpenFile:p,onReferenceNodes:v,onSelectNode:b,onToggleDirectory:w}){const{t:C}=vt(),S=a?t:n||e,x=a?"is-directory":"is-file",k=y.jsxs("button",{type:"button",className:`project-file-tree__row ${x} ${l?"is-expanded":""} ${c?"is-symlink":""} ${d?"is-selected":""} ${r?"has-selected-before":""} ${s?"has-selected-after":""} ${S?"":"is-disabled"}`,"aria-disabled":!S,"aria-label":kIt(h,C),"data-workspace-tree-path":h.path,style:xIt(i),tabIndex:S?void 0:-1,title:c?void 0:h.path,onContextMenu:()=>m(h),onClick:L=>{b(h,L)||(a&&t?w(h):!a&&n&&(p==null||p(h.path)))},children:[LIt(o),y.jsx("span",{className:"project-file-tree__name",children:h.name}),u!=null&&IIt(h,u,C)]});return g?y.jsx(wIt,{canOpenFile:n,canReference:e,canToggleDirectory:t,isDirectory:a,isExpanded:l,node:h,referenceNodes:f,onOpenFile:p,onReferenceNodes:v,onToggleDirectory:w,children:k}):k}const aee=(n,e,t)=>n.map(i=>i.path===e?{...i,children:t}:i.children==null?i:{...i,children:aee(i.children,e,t)}),YT=n=>n.map(e=>({...e})),P7=n=>n.linkKind??(n.isSymlink===!0?"symlink":void 0),wBe=n=>{const e=P7(n);return n.type==="directory"&&(e==null||e==="symlink"&&n.linkType==="directory"&&n.isExternal!==!0)},CBe=n=>wBe(n)&&P7(n)==null,DIt=n=>{const e=P7(n);return n.type==="file"&&(e==null||e==="symlink"&&n.linkType==="file"&&n.isExternal!==!0)},o3=(n,e)=>e==="all"||n.type==="file",SBe=async(n,e)=>{if(!CBe(n))return n;const t=n.children??YT((await e(n.path)).entries);return{...n,children:await Promise.all(t.map(i=>SBe(i,e)))}},xBe=n=>{const e=[];for(const t of n)CBe(t)&&(e.push(t.path),t.children!=null&&e.push(...xBe(t.children)));return e},TIt=n=>{if(n==null||n.trim()==="")return[];const e=n.split("/").filter(t=>t.length>0);return e.slice(0,-1).map((t,i)=>e.slice(0,i+1).join("/"))},kBe=(n,e)=>{const t=[];for(const i of n)t.push(i),e.has(i.path)&&i.children!=null&&t.push(...kBe(i.children,e));return t},RIt=n=>({"--project-tree-depth":n});function EBe({depth:n,expandedPaths:e,loadingPaths:t,nodes:i,onContextSelect:s,onOpenFile:r,onReferenceNodes:o,onSelectNode:a,onToggleDirectory:l,referenceNodes:c,selectableTypes:d,selectedAdjacencyByPath:u,selectedPathSet:h,showContextMenu:f}){return y.jsx(y.Fragment,{children:i.map(g=>{const m=g.type==="directory",p=e.has(g.path),v=t.has(g.path),b=P7(g),w=b!=null,C=w?CIt(g.name,g.linkType,p,b):m?oee(g.name,p):yBe(g.name),S=wBe(g),x=DIt(g),k=o3(g,d),L=h.has(g.path)&&c.length>0?c:[g],I=u.get(g.path);return y.jsxs("div",{className:"project-file-tree__item",children:[y.jsx(NIt,{canOpenFile:x,canReference:k,canToggleDirectory:S,depth:n,icon:C,hasSelectedAfter:(I==null?void 0:I.hasSelectedAfter)===!0,hasSelectedBefore:(I==null?void 0:I.hasSelectedBefore)===!0,isDirectory:m,isExpanded:p,isLinkedNode:w,isSelected:h.has(g.path),linkKind:b,node:g,referenceNodes:L,showContextMenu:f,onContextSelect:s,onOpenFile:r,onReferenceNodes:o,onSelectNode:a,onToggleDirectory:l}),S&&y.jsx("div",{className:`project-file-tree__children ${p?"is-expanded":"is-collapsed"}`,"aria-hidden":!p,children:y.jsx("div",{className:"project-file-tree__children-inner",children:v?y.jsx("div",{className:"project-file-tree__row project-file-tree__row--loading",style:RIt(n+1),children:y.jsx(Ya,{size:"small"})}):g.children!=null&&g.children.length>0&&y.jsx(EBe,{depth:n+1,expandedPaths:e,loadingPaths:t,nodes:g.children,referenceNodes:c,selectableTypes:d,selectedAdjacencyByPath:u,selectedPathSet:h,showContextMenu:f,onContextSelect:s,onOpenFile:r,onReferenceNodes:o,onSelectNode:a,onToggleDirectory:l})})})]},g.path)})})}const MIt=({command:n,refreshKey:e,sessionId:t})=>{const[i,s]=_.useState([]),[r,o]=_.useState(new Set),[a,l]=_.useState(new Set),[c,d]=_.useState(!1),[u,h]=_.useState(!1),[f,g]=_.useState(!1),m=_.useRef(null),p=_.useRef(i),v=_.useRef(0),b=_.useCallback(async x=>t!=null&&t!==""?await Gkt(t,x):await cEt(x),[t]),w=_.useCallback(x=>{x==null||x===""||window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>{var I;const k=((I=m.current)==null?void 0:I.querySelectorAll("[data-workspace-tree-path]"))??[],L=Array.from(k).find(N=>N.dataset.workspaceTreePath===x);L==null||L.scrollIntoView({block:"center",inline:"nearest"})})})},[]),C=_.useCallback(async()=>{const x=v.current+1;v.current=x,h(!1),o(new Set),g(!0);try{const k=await b();if(v.current!==x)return;s(YT(k.entries)),d(!0)}catch{v.current===x&&(s([]),d(!0),h(!0))}finally{v.current===x&&g(!1)}},[b]);_.useEffect(()=>{p.current=i},[i]),_.useEffect(()=>{C()},[C,e]),_.useEffect(()=>{if(n==null)return;if(n.action==="collapse"){v.current+=1,o(new Set);return}let x=!1;const k=N=>!x&&v.current===N,L=async()=>{if(n.path==null||n.path==="")return;const N=TIt(n.path),D=v.current+1;v.current=D,h(!1);try{let T=p.current;T.length===0&&(T=YT((await b()).entries));for(const R of N){const M=await b(R);T=aee(T,R,YT(M.entries))}if(!k(D))return;s(T),d(!0),o(R=>new Set([...R,...N])),w(n.path)}catch{k(D)&&(d(!0),h(!0))}},I=async()=>{const N=v.current+1;v.current=N,h(!1);try{const D=await Promise.all(p.current.map(T=>SBe(T,b)));if(!k(N))return;s(D),d(!0),o(new Set(xBe(D)))}catch{k(N)&&(d(!0),h(!0))}};return n.action==="locate"?L():I(),()=>{x=!0}},[n,b,w]);const S=_.useCallback(async x=>{if(r.has(x.path)){o(k=>new Set(Array.from(k).filter(L=>L!==x.path)));return}if(o(k=>new Set(k).add(x.path)),x.children==null){l(k=>new Set(k).add(x.path));try{const k=await b(x.path);s(L=>aee(L,x.path,YT(k.entries)))}catch{h(!0)}finally{l(k=>new Set(Array.from(k).filter(L=>L!==x.path)))}}},[r,b]);return{expandedPaths:r,handleToggleDirectory:S,hasLoadedTree:c,hasTreeError:u,isRootLoading:f,loadingPaths:a,treeContainerRef:m,treeData:i}},PIt=n=>{const e=new Set,t=[];for(const i of n)e.has(i.path)||(e.add(i.path),t.push(i));return t},OIt=(n,e)=>{const t=new Map(e.map(i=>[i.path,i]));return n.map(i=>t.get(i)).filter(i=>i!=null)},AIt=({activePath:n,onSelectionChange:e,selectableTypes:t,selectedPaths:i,selectionMode:s,visibleNodes:r})=>{const[o,a]=_.useState([]),l=_.useRef(null),c=i??o,d=_.useMemo(()=>OIt(c,r),[c,r]),u=_.useMemo(()=>{const m=new Set(c);return n!=null&&n!==""&&m.add(n),m},[n,c]),h=_.useCallback(m=>{const p=PIt(m.filter(b=>o3(b,t))),v=p.map(b=>b.path);i==null&&a(v),e==null||e({nodes:p,paths:v})},[e,t,i]),f=_.useCallback(m=>{s==="none"||u.has(m.path)||(l.current=m.path,h([m]))},[h,u,s]),g=_.useCallback((m,p)=>{if(s==="none"||!o3(m,t))return!1;const v=p.shiftKey,b=p.metaKey||p.ctrlKey;if(!v&&!b)return l.current=m.path,h([m]),!1;p.preventDefault(),p.stopPropagation();const w=r.filter(C=>o3(C,t));if(w.length===0)return!0;if(v){const C=l.current??c.at(-1)??m.path,S=w.findIndex(I=>I.path===C),x=w.findIndex(I=>I.path===m.path);if(x<0)return!0;if(S<0)return h([m]),l.current=m.path,!0;const k=Math.min(S,x),L=Math.max(S,x);return h(w.slice(k,L+1)),!0}return l.current=m.path,u.has(m.path)?h(d.filter(C=>C.path!==m.path)):h([...d,m]),!0},[h,c,t,d,u,s,r]);return{handleContextSelect:f,handleSelectNode:g,selectedNodes:d,selectedPathSet:u}};function LBe({activePath:n,className:e,command:t,onOpenFile:i,onReferenceNodes:s,onSelectionChange:r,refreshKey:o=0,selectableTypes:a="all",selectedPaths:l,selectionMode:c="none",sessionId:d,showContextMenu:u=!1,showLoadingState:h=!1}){const{t:f}=vt(),{expandedPaths:g,handleToggleDirectory:m,hasLoadedTree:p,hasTreeError:v,isRootLoading:b,loadingPaths:w,treeContainerRef:C,treeData:S}=MIt({command:t,refreshKey:o,sessionId:d}),x=_.useMemo(()=>kBe(S,g),[g,S]),{handleContextSelect:k,handleSelectNode:L,selectedNodes:I,selectedPathSet:N}=AIt({activePath:n,onSelectionChange:r,selectableTypes:a,selectedPaths:l,selectionMode:c,visibleNodes:x}),D=_.useMemo(()=>{const T=new Map;return x.forEach((R,M)=>{var P,O;N.has(R.path)&&T.set(R.path,{hasSelectedBefore:M>0&&N.has(((P=x[M-1])==null?void 0:P.path)??""),hasSelectedAfter:M<x.length-1&&N.has(((O=x[M+1])==null?void 0:O.path)??"")})}),T},[N,x]);return v?y.jsx(Zn,{image:Zn.PRESENTED_IMAGE_SIMPLE,description:f("chat.contextPickerLoadFailed")}):!p&&h&&b?y.jsxs("div",{className:"project-file-tree__loading",children:[y.jsx(Ya,{size:"small"}),y.jsx("span",{children:f("chat.contextPickerLoading")})]}):p&&S.length===0?y.jsx(Zn,{image:Zn.PRESENTED_IMAGE_SIMPLE,description:f("chat.contextPickerEmpty")}):y.jsx("div",{ref:C,className:`project-file-tree ${e??""}`.trim(),children:y.jsx(EBe,{depth:0,expandedPaths:g,loadingPaths:w,nodes:S,referenceNodes:I,selectableTypes:a,selectedAdjacencyByPath:D,selectedPathSet:N,showContextMenu:u,onContextSelect:k,onOpenFile:i,onReferenceNodes:s,onSelectNode:L,onToggleDirectory:m})})}function FIt({open:n,sessionId:e,selectedPaths:t,variant:i="modal",onCancel:s,onConfirm:r}){const{t:o}=vt(),[a,l]=_.useState(t),[c,d]=_.useState([]),u=t.join("\0");_.useEffect(()=>{if(!n)return;const m=u===""?[]:u.split("\0");l(m),d(Uq(m,[]))},[n,u]);const h=m=>{l(m.paths),d(Uq(m.paths,m.nodes))},f=()=>{r(Uq(a,c))},g=y.jsxs("div",{className:`context-file-picker ${i==="inline"?"context-file-picker--inline":""}`.trim(),children:[y.jsx("div",{className:"context-file-picker__body",children:n&&y.jsx(LBe,{selectableTypes:"all",selectedPaths:a,selectionMode:"multiple",sessionId:e,showLoadingState:!0,onSelectionChange:h})}),i==="inline"&&y.jsxs("div",{className:"context-file-picker__footer",children:[y.jsx(qe,{size:"small",onClick:s,children:o("common.cancel")}),y.jsx(qe,{type:"primary",size:"small",onClick:f,children:o("chat.contextPickerConfirm")})]})]});return i==="inline"?g:y.jsx(Ol,{open:n,title:o("chat.contextPickerTitle"),okText:o("chat.contextPickerConfirm"),cancelText:o("common.cancel"),width:640,onCancel:s,onOk:f,className:"context-file-picker-modal",children:g})}const Z0e=n=>n==null||Number.isNaN(n)||n<=0?null:n<1024?`${n} B`:n<1024*1024?`${(n/1024).toFixed(n>=10*1024?0:1)} KB`:`${(n/(1024*1024)).toFixed(n>=10*1024*1024?0:1)} MB`,$It=n=>n.name!=null&&n.name!==""?n.name:n.path.split(/[\\/]/).at(-1)??n.path,BIt=n=>{const e=n.replace(/\\/g,"/"),t=e.lastIndexOf("/");return t<=0?".":e.slice(0,t)};function HIt({pendingImages:n,pendingFiles:e,onRemovePendingImage:t,onRemovePendingFile:i}){const{t:s}=vt();return y.jsx(y.Fragment,{children:(n.length>0||e.length>0)&&y.jsxs("div",{className:"pending-attachments",children:[e.length>0&&y.jsx("div",{className:"pending-attachments__files",children:e.map(r=>{const o=Z0e(r.size);return y.jsxs("div",{className:"pending-context-file",children:[y.jsxs("div",{className:"pending-context-file__meta",children:[y.jsx("span",{className:"material-symbols-rounded pending-context-file__icon",children:"attach_file"}),y.jsxs("div",{className:"pending-context-file__copy",children:[y.jsx("span",{className:"pending-context-file__name",children:$It(r)}),y.jsx("code",{className:"pending-context-file__path",children:BIt(r.path)})]})]}),y.jsxs("div",{className:"pending-context-file__actions",children:[o!=null&&y.jsx("span",{className:"pending-context-file__size",children:o}),y.jsx("button",{type:"button",className:"pending-context-file__remove",onClick:()=>i(r.path),children:y.jsx("span",{className:"material-symbols-rounded",children:"close"})})]})]},r.path)})}),n.length>0&&y.jsx("div",{className:"pending-attachments__images",children:n.map(r=>{const o=r.name??s("chat.attachments.pastedImage"),a=Z0e(r.size);return y.jsxs("div",{className:"pending-image",children:[y.jsx("img",{src:r.url,alt:r.name??""}),y.jsx("div",{className:"pending-image__overlay",children:y.jsxs("div",{className:"pending-image__meta",children:[y.jsx("span",{className:"pending-image__name",children:o}),a!=null&&y.jsx("span",{className:"pending-image__size",children:a})]})}),y.jsx("button",{type:"button",className:"pending-image-remove",onClick:()=>t(r.id),children:y.jsx("span",{className:"material-symbols-rounded",children:"close"})})]},r.id)})})]})})}const jIt=n=>n==="collapsed"||n==="expanded";function IBe(){const n=yu(U3e),{update:e,searchParams:t}=Np({keys:["senderHeader"],defaults:{senderHeader:""},omit:{senderHeader:r=>r===""}}),i=t.get("senderHeader");return{isHeaderCollapsed:(jIt(i)?i:n)==="collapsed",setHeaderCollapsed:r=>e({senderHeader:r?"collapsed":"expanded"})}}const WIt={default:"auto_awesome",low:"signal_cellular_alt_1_bar",medium:"signal_cellular_alt_2_bar",high:"signal_cellular_alt",max:"bolt"},lee={default:"tune",acceptEdits:"edit_note",plan:"checklist",dontAsk:"verified_user",bypassPermissions:"gpp_bad"};function a3({shortcut:n,isMac:e,className:t}){const i=_.useMemo(()=>kEt(n,e),[e,n]);return i.length===0?null:y.jsx("span",{className:["shortcut-display",t].filter(Boolean).join(" "),children:i.map(s=>y.jsx("span",{className:["shortcut-display__token",s.compact?"shortcut-display__token--compact":""].filter(Boolean).join(" "),children:s.value},`${s.value}-${s.compact?"compact":"full"}`))})}const VIt=(n,e)=>typeof n=="function"?n(e):n,jA=_.forwardRef(({shortcut:n,isMac:e,title:t,children:i,placement:s="top",enabled:r=!0,targetClassName:o,className:a,...l},c)=>{const{isTouchInteraction:d}=Lr(),u=_.useMemo(()=>Dhe(n,e),[e,n]),h=_.useMemo(()=>!r||d||u===""?null:VIt(t,u),[r,d,u,t]),f=y.jsx("div",{...l,ref:c,className:["shortcut-tooltip-target",o,a].filter(Boolean).join(" "),children:i});return h==null?f:y.jsx(Qe,{title:y.jsxs("span",{className:"shortcut-tooltip-content",children:[y.jsx("span",{className:"shortcut-tooltip-content__label",children:h}),y.jsx(a3,{shortcut:n,isMac:e})]}),placement:s,classNames:{root:"shortcut-tooltip-popover"},trigger:["hover"],mouseEnterDelay:.3,mouseLeaveDelay:.08,arrow:!1,children:f})});jA.displayName="ShortcutTooltip";function zIt({state:n,data:e,refs:t,handlers:i}){const{t:s}=vt(),{showPermissionActions:r,permissionMode:o,canOpenReferenceActions:a,isMac:l}=n,{permissionModeOptions:c,composerControlShortcuts:d}=e,{permissionMenuNavigation:u}=t,{onPermissionOpenChange:h,onPermissionMenuKeyDown:f,onSelectPermissionMode:g}=i,m=c.find(v=>v.value===o),p=()=>{u.setActiveKey(o),window.requestAnimationFrame(()=>{u.focusKey(u.activeKey??o)})};return y.jsx(uw,{content:y.jsx("div",{className:"sender-permission-menu",role:"menu","aria-label":s("chat.referencePermission"),children:c.map(v=>y.jsx("button",{ref:u.registerItem(v.value),type:"button",role:"menuitemradio","aria-checked":o===v.value,className:["sender-permission-menu__item",`sender-permission-menu__item--${v.value}`,o===v.value?"is-selected":""].filter(Boolean).join(" "),onMouseEnter:()=>u.setActiveKey(v.value),onFocus:()=>u.setActiveKey(v.value),onKeyDown:b=>f(b,v.value),onClick:()=>{g(v.value)},children:y.jsxs("span",{className:"sender-permission-menu__option",children:[y.jsx("span",{className:["material-symbols-rounded","sender-permission-menu__icon",`sender-permission-menu__icon--${v.value}`].join(" "),children:lee[v.value]}),y.jsx("span",{className:"sender-permission-menu__text",children:v.label}),o===v.value&&y.jsx("span",{className:"material-symbols-rounded sender-permission-menu__check",children:"check"})]})},v.value))}),open:r,onOpenChange:v=>{h(v),v&&p()},placement:"bottomRight",trigger:"click",classNames:{root:"sender-permission-popover"},destroyOnHidden:!0,arrow:!1,children:y.jsx(jA,{shortcut:d.switchPermissionMode,isMac:l,title:s("chat.referencePermission"),enabled:!r,children:y.jsxs("button",{type:"button",className:["sender-permission-trigger",`sender-permission-trigger--${o}`,r?"is-open":""].filter(Boolean).join(" "),"aria-label":s("chat.referencePermission"),"aria-haspopup":"menu","aria-expanded":r,onClick:a?void 0:v=>{v.preventDefault(),v.stopPropagation(),h(!0)},onKeyDown:v=>{const b=v.key==="Enter"||v.key===" ",w=v.key==="ArrowDown"||v.key==="ArrowUp";if(b||w){v.preventDefault(),v.stopPropagation(),r||h(!0),p();return}v.key==="Escape"&&r&&(v.preventDefault(),v.stopPropagation(),h(!1))},children:[y.jsx("span",{className:["material-symbols-rounded","sender-permission-trigger__icon",`sender-permission-trigger__icon--${o}`].join(" "),children:lee[o]}),y.jsx("span",{className:"sender-permission-trigger__copy",children:y.jsx("span",{className:["sender-permission-trigger__value",`sender-permission-trigger__value--${o}`].join(" "),children:(m==null?void 0:m.label)??s("chat.referencePermission")})}),y.jsx("span",{className:"material-symbols-rounded sender-permission-trigger__chevron",children:"expand_more"})]})})})}const RI={type:"default"},UIt=n=>{var e;return n==null||n.type==="default"||(((e=n.name)==null?void 0:e.trim())??"")!==""},KIt=n=>{var t;if(n==null||n.type==="default")return{};const e=(t=n.name)==null?void 0:t.trim();return e==null||e===""?{}:{promptType:n.type,promptName:e}},qIt=(n,e)=>({type:n,name:n==="workspace"?e.id:e.name,label:e.name,description:e.description,path:e.path}),Q0e=n=>(n==null?void 0:n.promptType)==null?RI:{type:n.promptType,name:n.promptName,label:n.promptName},Kq={default:"radio_button_checked",workspace:"workspaces",entity:"group_work",spec:"account_tree"},J0e=["workspace","entity","spec"],qq="::",Gq=n=>({id:n.id,name:n.name,description:n.description,path:"path"in n?n.path:n.id});function GIt({draft:n,locked:e,disabled:t,onChange:i,actions:s,className:r,ariaHidden:o}){const{t:a}=vt(),{data:l}=hi("/api/ai/specs"),{data:c}=hi("/api/ai/entities"),{data:d}=hi("/api/ai/workspaces"),u=_.useMemo(()=>({workspace:((d==null?void 0:d.workspaces)??[]).map(Gq),entity:((c==null?void 0:c.entities)??[]).map(Gq),spec:((l==null?void 0:l.specs)??[]).map(Gq)}),[c==null?void 0:c.entities,l==null?void 0:l.specs,d==null?void 0:d.workspaces]),h=n.type,f=e||t===!0,g=n.label??n.name,m=h==="default"?null:g??a(`chat.sessionTarget.placeholders.${h}`),p=(w,C)=>{if(!f){if(w==="default"){i({...RI});return}i(C==null?{type:w}:qIt(w,C))}},v=_.useMemo(()=>[{key:"default",label:a("chat.sessionTarget.modes.default"),icon:y.jsx("span",{className:"material-symbols-rounded sender-session-target__menu-icon",children:Kq.default})},{type:"divider"},...J0e.map(w=>({key:w,label:a(`chat.sessionTarget.modes.${w}`),icon:y.jsx("span",{className:"material-symbols-rounded sender-session-target__menu-icon",children:Kq[w]}),popupClassName:"sender-session-target__submenu-popup",children:u[w].length>0?u[w].map(C=>({key:`${w}${qq}${w==="workspace"?C.id:C.name}`,label:y.jsxs("span",{className:"sender-session-target__menu-item",children:[y.jsx("span",{className:"sender-session-target__menu-item-name",children:C.name}),(C.description??C.path)!=null&&y.jsx("span",{className:"sender-session-target__menu-item-desc",children:C.description??C.path})]})})):[{key:`${w}${qq}__empty`,label:a(`chat.sessionTarget.empty.${w}`),disabled:!0}]}))],[u,a]),b=({key:w})=>{const C=String(w);if(C==="default"){p("default");return}const[S,x]=C.split(qq);if(S==null||!J0e.includes(S)||x==null||x==="__empty")return;const k=u[S].find(L=>(S==="workspace"?L.id:L.name)===x);p(S,k)};return y.jsx("div",{className:["sender-session-target",e?"is-locked":"",r??""].filter(Boolean).join(" "),"aria-hidden":o,children:y.jsxs("div",{className:"sender-session-target__controls",children:[y.jsx(ta,{menu:{items:v,onClick:b,className:"sender-session-target__dropdown-menu",expandIcon:y.jsx("span",{className:"material-symbols-rounded sender-session-target__submenu-chevron",children:"chevron_right"})},trigger:["click"],placement:"topLeft",overlayClassName:"sender-session-target__dropdown",disabled:f,children:y.jsxs("button",{type:"button",className:"sender-session-target__trigger",disabled:f,"aria-label":a("chat.sessionTarget.title"),children:[y.jsx("span",{className:"material-symbols-rounded sender-session-target__trigger-icon",children:Kq[h]}),y.jsxs("span",{className:"sender-session-target__trigger-copy",children:[y.jsx("span",{className:"sender-session-target__trigger-mode",children:a(`chat.sessionTarget.modes.${h}`)}),m!=null&&y.jsx("span",{className:"sender-session-target__trigger-value",children:m})]}),y.jsx("span",{className:"material-symbols-rounded sender-session-target__trigger-chevron",children:"expand_more"})]})}),s!=null&&y.jsx("div",{className:"sender-session-target__actions",children:s})]})})}function XIt({isInlineEdit:n,sessionTarget:e,toolbarState:t,toolbarData:i,toolbarRefs:s,toolbarHandlers:r}){var v;const{t:o}=vt(),{isHeaderCollapsed:a,setHeaderCollapsed:l}=IBe(),c=!n&&i.permissionModeOptions.length>0,d=!n&&(e!=null||c),u=a?"is-collapsed":"is-expanded",h=i.permissionModeOptions.find(b=>b.value===t.permissionMode);if(_.useEffect(()=>{a&&t.showPermissionActions&&l(!1)},[a,l,t.showPermissionActions]),!d)return null;const f=c?y.jsx(zIt,{state:{showPermissionActions:t.showPermissionActions,permissionMode:t.permissionMode,canOpenReferenceActions:t.canOpenReferenceActions,isMac:t.isMac},data:{permissionModeOptions:i.permissionModeOptions,composerControlShortcuts:i.composerControlShortcuts},refs:{permissionMenuNavigation:s.permissionMenuNavigation},handlers:{onPermissionOpenChange:r.onPermissionOpenChange,onPermissionMenuKeyDown:r.onPermissionMenuKeyDown,onSelectPermissionMode:r.onSelectPermissionMode}}):null,g=y.jsx("div",{className:"chat-input-header-actions",children:f}),m=()=>{a||r.onPermissionOpenChange(!1),l(!a)},p=y.jsxs("div",{className:`chat-input-header-toggle-shell ${u}`.trim(),children:[c&&a&&y.jsx(Qe,{title:(h==null?void 0:h.label)??o("chat.referencePermission"),placement:"top",destroyOnHidden:!0,children:y.jsx("div",{className:["chat-input-header-toggle-mode-indicator",`chat-input-header-toggle-mode-indicator--${t.permissionMode}`].join(" "),"aria-label":((v=h==null?void 0:h.label)==null?void 0:v.toString())??o("chat.referencePermission"),children:y.jsx("span",{className:["material-symbols-rounded","chat-input-header-toggle-mode-icon",`sender-permission-trigger__icon--${t.permissionMode}`].join(" "),children:lee[t.permissionMode]})})}),y.jsx("button",{type:"button",className:"chat-input-header-toggle-tab","aria-label":o(a?"chat.expandHeaderControls":"chat.collapseHeaderControls"),"aria-expanded":!a,onClick:m,children:y.jsx("span",{className:"material-symbols-rounded",children:a?"unfold_more":"unfold_less"})})]});return e!=null?y.jsxs(y.Fragment,{children:[y.jsx(GIt,{draft:e.draft,locked:e.locked,disabled:e.disabled,onChange:e.onChange,actions:g,className:`chat-input-header-block ${u}`.trim(),ariaHidden:a}),p]}):y.jsxs(y.Fragment,{children:[y.jsx("div",{className:`chat-input-top-actions chat-input-header-block ${u}`.trim(),"aria-hidden":a,children:g}),p]})}function eSe(n,e){(e==null||e>n.length)&&(e=n.length);for(var t=0,i=Array(e);t<e;t++)i[t]=n[t];return i}function YIt(n){if(Array.isArray(n))return n}function ZIt(n,e,t){return(e=sNt(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function QIt(n,e){var t=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(t!=null){var i,s,r,o,a=[],l=!0,c=!1;try{if(r=(t=t.call(n)).next,e!==0)for(;!(l=(i=r.call(t)).done)&&(a.push(i.value),a.length!==e);l=!0);}catch(d){c=!0,s=d}finally{try{if(!l&&t.return!=null&&(o=t.return(),Object(o)!==o))return}finally{if(c)throw s}}return a}}function JIt(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
@@ -1440,7 +1440,7 @@ ${e.toString()}`}}class P6{constructor(e=new hD,t=!1,i,s=oon){this._services=e,t
|
|
|
1440
1440
|
`:`\r
|
|
1441
1441
|
`}};ale=Fp([Rr(0,xn)],ale);class von{publicLog2(){}}const dP=class dP{constructor(){const e=Ut.from({scheme:dP.SCHEME,authority:"model",path:"/"});this.workspace={id:q8e,folders:[new RVt({uri:e,name:"",index:0})]}}getWorkspace(){return this.workspace}getWorkspaceFolder(e){return e&&e.scheme===dP.SCHEME?this.workspace.folders[0]:null}};dP.SCHEME="inmemory";let lle=dP;function A6(n,e,t){if(!e||!(n instanceof O6))return;const i=[];Object.keys(e).forEach(s=>{YVt(s)&&i.push([`editor.${s}`,e[s]]),t&&ZVt(s)&&i.push([`diffEditor.${s}`,e[s]])}),i.length>0&&n.updateValues(i)}let cle=class{constructor(e){this._modelService=e}hasPreviewHandler(){return!1}async apply(e,t){const i=Array.isArray(e)?e:Xge.convert(e),s=new Map;for(const a of i){if(!(a instanceof Fy))throw new Error("bad edit - only text edits are supported");const l=this._modelService.getModel(a.resource);if(!l)throw new Error("bad edit - model not found");if(typeof a.versionId=="number"&&l.getVersionId()!==a.versionId)throw new Error("bad state - model changed in the meantime");let c=s.get(l);c||(c=[],s.set(l,c)),c.push(nr.replaceMove(z.lift(a.textEdit.range),a.textEdit.text))}let r=0,o=0;for(const[a,l]of s)a.pushStackElement(),a.pushEditOperations([],l,()=>[]),a.pushStackElement(),o+=1,r+=l.length;return{ariaSummary:N1(toe.bulkEditServiceSummary,r,o),isApplied:r>0}}};cle=Fp([Rr(0,Hs)],cle);class bon{getUriLabel(e,t){return e.scheme==="file"?e.fsPath:e.path}getUriBasenameLabel(e){return _h(e)}}let dle=class extends Osn{constructor(e,t){super(e),this._codeEditorService=t}showContextView(e,t,i){if(!t){const s=this._codeEditorService.getFocusedCodeEditor()||this._codeEditorService.getActiveCodeEditor();s&&(t=s.getContainerDomNode())}return super.showContextView(e,t,i)}};dle=Fp([Rr(0,Pp),Rr(1,oi)],dle);class yon{constructor(){this._neverEmitter=new he,this.onDidChangeTrust=this._neverEmitter.event}isWorkspaceTrusted(){return!0}}class won extends kae{constructor(){super()}}class Con extends uon{constructor(){super(new EMt)}}let ule=class extends Iae{constructor(e,t,i,s,r,o){super(e,t,i,s,r,o),this.configure({blockMouse:!1})}};ule=Fp([Rr(0,nl),Rr(1,cr),Rr(2,Kv),Rr(3,gi),Rr(4,xh),Rr(5,ln)],ule);const Son={esmModuleLocation:void 0,label:"editorWorkerService"};let hle=class extends fae{constructor(e,t,i,s,r){super(Son,e,t,i,s,r)}};hle=Fp([Rr(0,Hs),Rr(1,uU),Rr(2,ms),Rr(3,js),Rr(4,Nt)],hle);class xon{async playSignal(e,t){}}qn(ms,Con,0);qn(xn,O6,0);qn(uU,ole,0);qn(W7e,ale,0);qn(Pv,lle,0);qn(ex,bon,0);qn(nl,von,0);qn(TF,pon,0);qn(rme,mon,0);qn(cr,sle,0);qn(Op,i0,0);qn(lr,won,0);qn(Iu,Lin,0);qn(Hs,Pae,0);qn(Nfe,Mae,0);qn(ln,tle,0);qn(y6e,gon,0);qn(Rv,ile,0);qn($l,m9t,0);qn(Gc,hle,0);qn(bF,cle,0);qn(eze,yon,0);qn(Fl,nle,0);qn(oa,Zae,0);qn(Ih,SKt,0);qn(ps,rle,0);qn(gi,_N,0);qn(Ja,Xae,0);qn(Kv,dle,0);qn(qv,Rae,0);qn(Ld,Jae,0);qn(Lu,ule,0);qn(xh,One,0);qn(zv,xon,0);qn(gge,hon,0);qn(GHe,DMt,0);qn(Gme,BXt,0);var gn;(function(n){const e=new hD;for(const[l,c]of JSe())e.set(l,c);const t=new P6(e,!0);e.set(Ot,t);function i(l){s||o({});const c=e.get(l);if(!c)throw new Error("Missing service "+l);return c instanceof Mm?t.invokeFunction(d=>d.get(l)):c}n.get=i;let s=!1;const r=new he;function o(l){if(s)return t;s=!0;for(const[d,u]of JSe())e.get(d)||e.set(d,u);for(const d in l)if(l.hasOwnProperty(d)){const u=Mn(d);e.get(u)instanceof Mm&&e.set(u,l[d])}const c=R7t();for(const d of c)try{t.createInstance(d)}catch(u){fn(u)}return r.fire(),t}n.initialize=o;function a(l){if(s)return l();const c=new Re,d=c.add(r.event(()=>{d.dispose(),c.add(l())}));return c}n.withServices=a})(gn||(gn={}));var kon=function(n,e,t,i){var s=arguments.length,r=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(o=n[a])&&(r=(s<3?o(r):s>3?o(e,t,r):o(e,t))||r);return s>3&&r&&Object.defineProperty(e,t,r),r},NNe=function(n,e){return function(t,i){e(t,i,n)}},q3,l1;let fle=(l1=class{constructor(e,t){this._configurationService=e,this._languageService=t}async renderCodeBlock(e,t,i){var d;const s=Vg(i.context)?i.context:void 0;let r;e?r=this._languageService.getLanguageIdByLanguageName(e):s&&(r=(d=s.getModel())==null?void 0:d.getLanguageId()),r||(r=pu);const o=await THt(this._languageService,t,r),a=q3._ttpTokenizer?q3._ttpTokenizer.createHTML(o)??o:o,l=document.createElement("span");l.innerHTML=a;const c=l.querySelector(".monaco-tokenized-source");return rr(c)?(Ho(c,this.getFontInfo(s)),l):document.createElement("span")}getFontInfo(e){return e?e.getOption(59):c2t({fontFamily:this._configurationService.getValue("editor").fontFamily},1)}},q3=l1,l1._ttpTokenizer=Rp("tokenizeToString",{createHTML(e){return e}}),l1);fle=q3=kon([NNe(0,xn),NNe(1,lr)],fle);var xpe=function(n,e,t,i){var s=arguments.length,r=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(o=n[a])&&(r=(s<3?o(r):s>3?o(e,t,r):o(e,t))||r);return s>3&&r&&Object.defineProperty(e,t,r),r},ss=function(n,e){return function(t,i){e(t,i,n)}};let Eon=0,DNe=!1;function Lon(n){if(!n){if(DNe)return;DNe=!0}URt(n||Vi.document.body)}let F6=class extends $1{constructor(e,t,i,s,r,o,a,l,c,d,u,h,f,g){const m={...t};m.ariaLabel=m.ariaLabel||Jre.editorViewAccessibleLabel,super(e,m,{},i,s,r,o,c,d,u,h,f),l instanceof _N?this._standaloneKeybindingService=l:this._standaloneKeybindingService=null,Lon(m.ariaContainerElement),_jt((p,v)=>i.createInstance(eN,p,{instantHover:v},{})),L6t(a),g.setDefaultCodeBlockRenderer(i.createInstance(fle))}addCommand(e,t,i){if(!this._standaloneKeybindingService)return console.warn("Cannot add command because the editor is configured with an unrecognized KeybindingService"),null;const s="DYNAMIC_"+ ++Eon,r=$e.deserialize(i);return this._standaloneKeybindingService.addDynamicKeybinding(s,e,t,r),s}createContextKey(e,t){return this._contextKeyService.createKey(e,t)}addAction(e){if(typeof e.id!="string"||typeof e.label!="string"||typeof e.run!="function")throw new Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");if(!this._standaloneKeybindingService)return console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService"),_e.None;const t=e.id,i=e.label,s=$e.and($e.equals("editorId",this.getId()),$e.deserialize(e.precondition)),r=e.keybindings,o=$e.and(s,$e.deserialize(e.keybindingContext)),a=e.contextMenuGroupId||null,l=e.contextMenuOrder||0,c=(f,...g)=>Promise.resolve(e.run(this,...g)),d=new Re,u=this.getId()+":"+t;if(d.add(ti.registerCommand(u,c)),a){const f={command:{id:u,title:i},when:s,group:a,order:l};d.add(Bo.appendMenuItem(Dt.EditorContext,f))}if(Array.isArray(r))for(const f of r)d.add(this._standaloneKeybindingService.addDynamicKeybinding(u,f,c,o));const h=new zWe(u,i,i,void 0,s,(...f)=>Promise.resolve(e.run(this,...f)),this._contextKeyService);return this._actions.set(t,h),d.add(Tt(()=>{this._actions.delete(t)})),d}_triggerCommand(e,t){if(this._codeEditorService instanceof x6)try{this._codeEditorService.setActiveCodeEditor(this),super._triggerCommand(e,t)}finally{this._codeEditorService.setActiveCodeEditor(null)}else super._triggerCommand(e,t)}};F6=xpe([ss(2,Ot),ss(3,oi),ss(4,ps),ss(5,ln),ss(6,fc),ss(7,gi),ss(8,Zs),ss(9,cr),ss(10,oa),ss(11,js),ss(12,Nt),ss(13,Of)],F6);let gle=class extends F6{constructor(e,t,i,s,r,o,a,l,c,d,u,h,f,g,m,p,v){const b={...t};A6(u,b,!1);const w=c.registerEditorContainer(e);typeof b.theme=="string"&&c.setTheme(b.theme),typeof b.autoDetectHighContrast<"u"&&c.setAutoDetectHighContrast(!!b.autoDetectHighContrast);const C=b.model;delete b.model,super(e,b,i,s,r,o,a,l,c,d,h,m,p,v),this._configurationService=u,this._standaloneThemeService=c,this._register(w);let S;if(typeof C>"u"){const x=g.getLanguageIdByMimeType(b.language)||b.language||pu;S=Gze(f,g,b.value||"",x,void 0),this._ownsModel=!0}else S=C,this._ownsModel=!1;if(this._attachModel(S),S){const x={oldModelUrl:null,newModelUrl:S.uri};this._onDidChangeModel.fire(x)}}dispose(){super.dispose()}updateOptions(e){A6(this._configurationService,e,!1),typeof e.theme=="string"&&this._standaloneThemeService.setTheme(e.theme),typeof e.autoDetectHighContrast<"u"&&this._standaloneThemeService.setAutoDetectHighContrast(!!e.autoDetectHighContrast),super.updateOptions(e)}_postDetachModelCleanup(e){super._postDetachModelCleanup(e),e&&this._ownsModel&&(e.dispose(),this._ownsModel=!1)}};gle=xpe([ss(2,Ot),ss(3,oi),ss(4,ps),ss(5,ln),ss(6,fc),ss(7,gi),ss(8,Iu),ss(9,cr),ss(10,xn),ss(11,oa),ss(12,Hs),ss(13,lr),ss(14,js),ss(15,Nt),ss(16,Of)],gle);let mle=class extends bp{constructor(e,t,i,s,r,o,a,l,c,d,u,h){const f={...t};A6(l,f,!0);const g=o.registerEditorContainer(e);typeof f.theme=="string"&&o.setTheme(f.theme),typeof f.autoDetectHighContrast<"u"&&o.setAutoDetectHighContrast(!!f.autoDetectHighContrast),super(e,f,{},s,i,r,h,d),this._configurationService=l,this._standaloneThemeService=o,this._register(g)}dispose(){super.dispose()}updateOptions(e){A6(this._configurationService,e,!0),typeof e.theme=="string"&&this._standaloneThemeService.setTheme(e.theme),typeof e.autoDetectHighContrast<"u"&&this._standaloneThemeService.setAutoDetectHighContrast(!!e.autoDetectHighContrast),super.updateOptions(e)}_createInnerEditor(e,t,i){return e.createInstance(F6,t,i)}getOriginalEditor(){return super.getOriginalEditor()}getModifiedEditor(){return super.getModifiedEditor()}addCommand(e,t,i){return this.getModifiedEditor().addCommand(e,t,i)}createContextKey(e,t){return this.getModifiedEditor().createContextKey(e,t)}addAction(e){return this.getModifiedEditor().addAction(e)}};mle=xpe([ss(2,Ot),ss(3,ln),ss(4,oi),ss(5,Iu),ss(6,cr),ss(7,xn),ss(8,Lu),ss(9,Rv),ss(10,Ld),ss(11,zv)],mle);function Gze(n,e,t,i,s){if(t=t||"",!i){const r=t.indexOf(`
|
|
1442
1442
|
`);let o=t;return r!==-1&&(o=t.substring(0,r)),TNe(n,t,e.createByFilepathOrFirstLine(s||null,o),s)}return TNe(n,t,e.createById(i),s)}function TNe(n,e,t,i){return n.createModel(e,t,i)}ee("multiDiffEditor.headerBackground",{dark:"#262626",light:"tab.inactiveBackground",hcDark:"tab.inactiveBackground",hcLight:"tab.inactiveBackground"},E(142,"The background color of the diff editor's header"));ee("multiDiffEditor.background",Sr,E(143,"The background color of the multi file diff editor"));ee("multiDiffEditor.border",{dark:"sideBarSectionHeader.border",light:"#cccccc",hcDark:"sideBarSectionHeader.border",hcLight:"#cccccc"},E(144,"The border color of the multi file diff editor"));var Ion=function(n,e,t,i){var s=arguments.length,r=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(o=n[a])&&(r=(s<3?o(r):s>3?o(e,t,r):o(e,t))||r);return s>3&&r&&Object.defineProperty(e,t,r),r},RNe=function(n,e){return function(t,i){e(t,i,n)}};class Non{constructor(e,t){this.viewModel=e,this.deltaScrollVertical=t}getId(){return this.viewModel}}let ple=class extends _e{constructor(e,t,i,s,r){super(),this._container=e,this._overflowWidgetsDomNode=t,this._workbenchUIElementFactory=i,this._instantiationService=s,this._viewModel=an(this,void 0),this._collapsed=Oe(this,l=>{var c;return(c=this._viewModel.read(l))==null?void 0:c.collapsed.read(l)}),this._editorContentHeight=an(this,500),this.contentHeight=Oe(this,l=>(this._collapsed.read(l)?0:this._editorContentHeight.read(l))+this._outerEditorHeight),this._modifiedContentWidth=an(this,0),this._modifiedWidth=an(this,0),this._originalContentWidth=an(this,0),this._originalWidth=an(this,0),this.maxScroll=Oe(this,l=>{const c=this._modifiedContentWidth.read(l)-this._modifiedWidth.read(l),d=this._originalContentWidth.read(l)-this._originalWidth.read(l);return c>d?{maxScroll:c,width:this._modifiedWidth.read(l)}:{maxScroll:d,width:this._originalWidth.read(l)}}),this._elements=si("div.multiDiffEntry",[si("div.header@header",[si("div.header-content",[si("div.collapse-button@collapseButton"),si("div.file-path",[si("div.title.modified.show-file-icons@primaryPath",[]),si("div.status.deleted@status",["R"]),si("div.title.original.show-file-icons@secondaryPath",[])]),si("div.actions@actions")])]),si("div.editorParent",[si("div.editorContainer@editor")])]),this.editor=this._register(this._instantiationService.createInstance(bp,this._elements.editor,{overflowWidgetsDomNode:this._overflowWidgetsDomNode,fixedOverflowWidgets:!0},{})),this.isModifedFocused=Bs(this.editor.getModifiedEditor()).isFocused,this.isOriginalFocused=Bs(this.editor.getOriginalEditor()).isFocused,this.isFocused=Oe(this,l=>this.isModifedFocused.read(l)||this.isOriginalFocused.read(l)),this._resourceLabel=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.primaryPath)):void 0,this._resourceLabel2=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.secondaryPath)):void 0,this._dataStore=this._register(new Re),this._headerHeight=40,this._lastScrollTop=-1,this._isSettingScrollTop=!1;const o=new Zj(this._elements.collapseButton,{});this._register(nn(l=>{o.element.className="",o.icon=this._collapsed.read(l)?Ve.chevronRight:Ve.chevronDown})),this._register(o.onDidClick(()=>{var l;(l=this._viewModel.get())==null||l.collapsed.set(!this._collapsed.get(),void 0)})),this._register(nn(l=>{this._elements.editor.style.display=this._collapsed.read(l)?"none":"block"})),this._register(this.editor.getModifiedEditor().onDidLayoutChange(l=>{const c=this.editor.getModifiedEditor().getLayoutInfo().contentWidth;this._modifiedWidth.set(c,void 0)})),this._register(this.editor.getOriginalEditor().onDidLayoutChange(l=>{const c=this.editor.getOriginalEditor().getLayoutInfo().contentWidth;this._originalWidth.set(c,void 0)})),this._register(this.editor.onDidContentSizeChange(l=>{QT(c=>{this._editorContentHeight.set(l.contentHeight,c),this._modifiedContentWidth.set(this.editor.getModifiedEditor().getContentWidth(),c),this._originalContentWidth.set(this.editor.getOriginalEditor().getContentWidth(),c)})})),this._register(this.editor.getOriginalEditor().onDidScrollChange(l=>{if(this._isSettingScrollTop||!l.scrollTopChanged||!this._data)return;const c=l.scrollTop-this._lastScrollTop;this._data.deltaScrollVertical(c)})),this._register(nn(l=>{var d;const c=(d=this._viewModel.read(l))==null?void 0:d.isActive.read(l);this._elements.root.classList.toggle("active",c)})),this._container.appendChild(this._elements.root),this._outerEditorHeight=this._headerHeight,this._contextKeyService=this._register(r.createScoped(this._elements.actions));const a=this._register(this._instantiationService.createChild(new hD([ln,this._contextKeyService])));this._register(a.createInstance(GO,this._elements.actions,Dt.MultiDiffEditorFileToolbar,{actionRunner:this._register(new M8e(()=>{var l,c;return((l=this._viewModel.get())==null?void 0:l.modifiedUri)??((c=this._viewModel.get())==null?void 0:c.originalUri)})),menuOptions:{shouldForwardArgs:!0},toolbarOptions:{primaryGroup:l=>l.startsWith("navigation")},actionViewItemProvider:(l,c)=>qge(a,l,c)}))}setScrollLeft(e){this._modifiedContentWidth.get()-this._modifiedWidth.get()>this._originalContentWidth.get()-this._originalWidth.get()?this.editor.getModifiedEditor().setScrollLeft(e):this.editor.getOriginalEditor().setScrollLeft(e)}setData(e){this._data=e;function t(s){return{...s,scrollBeyondLastLine:!1,hideUnchangedRegions:{enabled:!0},scrollbar:{vertical:"hidden",horizontal:"hidden",handleMouseWheel:!1,useShadows:!1},renderOverviewRuler:!1,fixedOverflowWidgets:!0,overviewRulerBorder:!1}}if(!e){QT(s=>{this._viewModel.set(void 0,s),this.editor.setDiffModel(null,s),this._dataStore.clear()});return}const i=e.viewModel.documentDiffItem;if(QT(s=>{var c,d;(c=this._resourceLabel)==null||c.setUri(e.viewModel.modifiedUri??e.viewModel.originalUri,{strikethrough:e.viewModel.modifiedUri===void 0});let r=!1,o=!1,a=!1,l="";e.viewModel.modifiedUri&&e.viewModel.originalUri&&e.viewModel.modifiedUri.path!==e.viewModel.originalUri.path?(l="R",r=!0):e.viewModel.modifiedUri?e.viewModel.originalUri||(l="A",a=!0):(l="D",o=!0),this._elements.status.classList.toggle("renamed",r),this._elements.status.classList.toggle("deleted",o),this._elements.status.classList.toggle("added",a),this._elements.status.innerText=l,(d=this._resourceLabel2)==null||d.setUri(r?e.viewModel.originalUri:void 0,{strikethrough:!0}),this._dataStore.clear(),this._viewModel.set(e.viewModel,s),this.editor.setDiffModel(e.viewModel.diffEditorViewModelRef,s),this.editor.updateOptions(t(i.options??{}))}),i.onOptionsDidChange&&this._dataStore.add(i.onOptionsDidChange(()=>{this.editor.updateOptions(t(i.options??{}))})),e.viewModel.isAlive.recomputeInitiallyAndOnChange(this._dataStore,s=>{s||this.setData(void 0)}),e.viewModel.documentDiffItem.contextKeys)for(const[s,r]of Object.entries(e.viewModel.documentDiffItem.contextKeys))this._contextKeyService.createKey(s,r)}render(e,t,i,s){this._elements.root.style.visibility="visible",this._elements.root.style.top=`${e.start}px`,this._elements.root.style.height=`${e.length}px`,this._elements.root.style.width=`${t}px`,this._elements.root.style.position="absolute";const r=e.length-this._headerHeight,o=Math.max(0,Math.min(s.start-e.start,r));this._elements.header.style.transform=`translateY(${o}px)`,QT(a=>{this.editor.layout({width:t-2*8-2*1,height:e.length-this._outerEditorHeight})});try{this._isSettingScrollTop=!0,this._lastScrollTop=i,this.editor.getOriginalEditor().setScrollTop(i)}finally{this._isSettingScrollTop=!1}this._elements.header.classList.toggle("shadow",o>0||i>0),this._elements.header.classList.toggle("collapsed",o===r)}hide(){this._elements.root.style.top="-100000px",this._elements.root.style.visibility="hidden"}};ple=Ion([RNe(3,Ot),RNe(4,ln)],ple);class Don{constructor(e){this._create=e,this._unused=new Set,this._used=new Set,this._itemData=new Map}getUnusedObj(e){let t;if(this._unused.size===0)t=this._create(e),this._itemData.set(t,e);else{const i=[...this._unused.values()];t=i.find(s=>this._itemData.get(s).getId()===e.getId())??i[0],this._unused.delete(t),this._itemData.set(t,e),t.setData(e)}return this._used.add(t),{object:t,dispose:()=>{this._used.delete(t),this._unused.size>5?t.dispose():this._unused.add(t)}}}dispose(){for(const e of this._used)e.dispose();for(const e of this._unused)e.dispose();this._used.clear(),this._unused.clear()}}var Ton=function(n,e,t,i){var s=arguments.length,r=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(o=n[a])&&(r=(s<3?o(r):s>3?o(e,t,r):o(e,t))||r);return s>3&&r&&Object.defineProperty(e,t,r),r},MNe=function(n,e){return function(t,i){e(t,i,n)}};let _le=class extends _e{constructor(e,t,i,s,r,o){super(),this._element=e,this._dimension=t,this._viewModel=i,this._workbenchUIElementFactory=s,this._parentContextKeyService=r,this._parentInstantiationService=o,this._scrollableElements=si("div.scrollContent",[si("div@content",{style:{overflow:"hidden"}}),si("div.monaco-editor@overflowWidgetsDomNode",{})]),this._scrollable=this._register(new dD({forceIntegerValues:!1,scheduleAtNextAnimationFrame:c=>Wc(Ft(this._element),c),smoothScrollDuration:100})),this._scrollableElement=this._register(new Cz(this._scrollableElements.root,{vertical:1,horizontal:1,useShadows:!1},this._scrollable)),this._elements=si("div.monaco-component.multiDiffEditor",{},[si("div",{},[this._scrollableElement.getDomNode()]),si("div.placeholder@placeholder",{},[si("div")])]),this._sizeObserver=this._register(new f8e(this._element,void 0)),this._objectPool=this._register(new Don(c=>{const d=this._instantiationService.createInstance(ple,this._scrollableElements.content,this._scrollableElements.overflowWidgetsDomNode,this._workbenchUIElementFactory);return d.setData(c),d})),this.scrollTop=xi(this,this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollTop),this.scrollLeft=xi(this,this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollLeft),this._viewItemsInfo=Oe(this,c=>{const d=this._viewModel.read(c);if(!d)return{items:[],getItem:g=>{throw new Kt}};const u=d.items.read(c),h=new Map;return{items:u.map(g=>{var v;const m=c.store.add(new Mon(g,this._objectPool,this.scrollLeft,b=>{this._scrollableElement.setScrollPosition({scrollTop:this._scrollableElement.getScrollPosition().scrollTop+b})})),p=(v=this._lastDocStates)==null?void 0:v[m.getKey()];return p&&os(b=>{m.setViewState(p,b)}),h.set(g,m),m}),getItem:g=>h.get(g)}}),this._viewItems=this._viewItemsInfo.map(this,c=>c.items),this._spaceBetweenPx=0,this._totalHeight=this._viewItems.map(this,(c,d)=>c.reduce((u,h)=>u+h.contentHeight.read(d)+this._spaceBetweenPx,0)),this.activeControl=Oe(this,c=>{var h,f;const d=(h=this._viewModel.read(c))==null?void 0:h.activeDiffItem.read(c);return d?(f=this._viewItemsInfo.read(c).getItem(d).template.read(c))==null?void 0:f.editor:void 0}),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._element)),this._instantiationService=this._register(this._parentInstantiationService.createChild(new hD([ln,this._contextKeyService]))),this._contextKeyService.createKey(ne.inMultiDiffEditor.key,!0),this._lastDocStates={},this._register(Ga((c,d)=>{const u=this._viewModel.read(c);if(u&&u.contextKeys)for(const[h,f]of Object.entries(u.contextKeys)){const g=this._contextKeyService.createKey(h,void 0);g.set(f),d.add(Tt(()=>g.reset()))}}));const a=this._parentContextKeyService.createKey(ne.multiDiffEditorAllCollapsed.key,!1);this._register(nn(c=>{const d=this._viewModel.read(c);if(d){const u=d.items.read(c).every(h=>h.collapsed.read(c));a.set(u)}})),this._register(nn(c=>{const d=this._dimension.read(c);this._sizeObserver.observe(d)}));const l=Oe(c=>{if(this._viewItems.read(c).length>0)return;const u=this._viewModel.read(c);return!u||u.isLoading.read(c)?E(145,"Loading..."):E(146,"No Changed Files")});this._register(nn(c=>{const d=l.read(c);this._elements.placeholder.innerText=d??"",this._elements.placeholder.classList.toggle("visible",!!d)})),this._scrollableElements.content.style.position="relative",this._register(nn(c=>{const d=this._sizeObserver.height.read(c);this._scrollableElements.root.style.height=`${d}px`;const u=this._totalHeight.read(c);this._scrollableElements.content.style.height=`${u}px`;const h=this._sizeObserver.width.read(c);let f=h;const g=this._viewItems.read(c),m=Gfe(g,Na(p=>p.maxScroll.read(c).maxScroll,md));if(m){const p=m.maxScroll.read(c);f=h+p.maxScroll}this._scrollableElement.setScrollDimensions({width:h,height:d,scrollHeight:u,scrollWidth:f})})),e.replaceChildren(this._elements.root),this._register(Tt(()=>{e.replaceChildren()})),this._register(nn(c=>{const d=this._viewModel.read(c);if(d&&!d.isLoading.read(c)){if(d.items.read(c).length===0||d.activeDiffItem.read(c))return;this.goToNextChange()}})),this._register(this._register(nn(c=>{QT(d=>{this.render(c)})})))}reveal(e,t){var c;const i=this._viewItems.get(),s=i.findIndex(d=>{var u,h,f,g;return((u=d.viewModel.originalUri)==null?void 0:u.toString())===((h=e.original)==null?void 0:h.toString())&&((f=d.viewModel.modifiedUri)==null?void 0:f.toString())===((g=e.modified)==null?void 0:g.toString())});if(s===-1)throw new Kt("Resource not found in diff editor");const r=i[s];this._viewModel.get().activeDiffItem.setCache(r.viewModel,void 0);let o=0;for(let d=0;d<s;d++)o+=i[d].contentHeight.get()+this._spaceBetweenPx;this._scrollableElement.setScrollPosition({scrollTop:o});const a=(c=r.template.get())==null?void 0:c.editor,l="original"in e?a==null?void 0:a.getOriginalEditor():a==null?void 0:a.getModifiedEditor();l&&(t!=null&&t.range)&&(l.revealRangeInCenter(t.range),Ron(l,t.range))}goToNextChange(){this._navigateToChange("next")}_navigateToChange(e){var l,c,d,u,h;const t=this._viewItems.get();if(t.length===0)return;const i=(l=this._viewModel.get())==null?void 0:l.activeDiffItem.get(),s=i?t.findIndex(f=>f.viewModel===i):-1;if(s===-1){this._goToFile(0,"first");return}const r=t[s];r.viewModel.collapsed.get()&&r.viewModel.collapsed.set(!1,void 0);const o=(c=r.template.get())==null?void 0:c.editor;if((u=(d=o==null?void 0:o.getDiffComputationResult())==null?void 0:d.changes2)!=null&&u.length){const f=((h=o.getModifiedEditor().getPosition())==null?void 0:h.lineNumber)||1,g=o.getDiffComputationResult().changes2;if(e==="next"?g.some(p=>p.modified.startLineNumber>f):g.some(p=>p.modified.endLineNumberExclusive<=f)){o.goToDiff(e);return}}const a=(s+(e==="next"?1:-1)+t.length)%t.length;this._goToFile(a,e==="next"?"first":"last")}_goToFile(e,t){var r,o,a;const i=this._viewItems.get()[e];i.viewModel.collapsed.get()&&i.viewModel.collapsed.set(!1,void 0),this.reveal({original:i.viewModel.originalUri,modified:i.viewModel.modifiedUri});const s=(r=i.template.get())==null?void 0:r.editor;if((a=(o=s==null?void 0:s.getDiffComputationResult())==null?void 0:o.changes2)!=null&&a.length)if(t==="first")s.revealFirstDiff();else{const l=s.getDiffComputationResult().changes2.at(-1),c=s.getModifiedEditor();c.setPosition({lineNumber:l.modified.startLineNumber,column:1}),c.revealLineInCenter(l.modified.startLineNumber)}s==null||s.focus()}render(e){const t=this.scrollTop.read(e);let i=0,s=0,r=0;const o=this._sizeObserver.height.read(e),a=Mt.ofStartAndLength(t,o),l=this._sizeObserver.width.read(e);for(const c of this._viewItems.read(e)){const d=c.contentHeight.read(e),u=Math.min(d,o),h=Mt.ofStartAndLength(s,u),f=Mt.ofStartAndLength(r,d);if(f.isBefore(a))i-=d-u,c.hide();else if(f.isAfter(a))c.hide();else{const g=Math.max(0,Math.min(a.start-f.start,d-u));i-=g;const m=Mt.ofStartAndLength(t+i,o);c.render(h,g,l,m)}s+=u+this._spaceBetweenPx,r+=d+this._spaceBetweenPx}this._scrollableElements.content.style.transform=`translateY(${-(t+i)}px)`}};_le=Ton([MNe(4,ln),MNe(5,Ot)],_le);function Ron(n,e){const t=n.getModel(),i=n.createDecorationsCollection([{range:e,options:{description:"symbol-navigate-action-highlight",className:"symbolHighlight"}}]);setTimeout(()=>{n.getModel()===t&&i.clear()},350)}class Mon extends _e{constructor(e,t,i,s){super(),this.viewModel=e,this._objectPool=t,this._scrollLeft=i,this._deltaScrollVertical=s,this._templateRef=this._register(dfe(this,void 0)),this.contentHeight=Oe(this,r=>{var o,a;return((a=(o=this._templateRef.read(r))==null?void 0:o.object.contentHeight)==null?void 0:a.read(r))??this.viewModel.lastTemplateData.read(r).contentHeight}),this.maxScroll=Oe(this,r=>{var o;return((o=this._templateRef.read(r))==null?void 0:o.object.maxScroll.read(r))??{maxScroll:0,scrollWidth:0}}),this.template=Oe(this,r=>{var o;return(o=this._templateRef.read(r))==null?void 0:o.object}),this._isHidden=an(this,!1),this._isFocused=Oe(this,r=>{var o;return((o=this.template.read(r))==null?void 0:o.isFocused.read(r))??!1}),this.viewModel.setIsFocused(this._isFocused,void 0),this._register(nn(r=>{var a;const o=this._scrollLeft.read(r);(a=this._templateRef.read(r))==null||a.object.setScrollLeft(o)})),this._register(nn(r=>{const o=this._templateRef.read(r);!o||!this._isHidden.read(r)||o.object.isFocused.read(r)||this._clear()}))}dispose(){this._clear(),super.dispose()}toString(){var e;return`VirtualViewItem(${(e=this.viewModel.documentDiffItem.modified)==null?void 0:e.uri.toString()})`}getKey(){return this.viewModel.getKey()}setViewState(e,t){var o;this.viewModel.collapsed.set(e.collapsed,t),this._updateTemplateData(t);const i=this.viewModel.lastTemplateData.get(),s=(o=e.selections)==null?void 0:o.map(kt.liftSelection);this.viewModel.lastTemplateData.set({...i,selections:s},t);const r=this._templateRef.get();r&&s&&r.object.editor.setSelections(s)}_updateTemplateData(e){const t=this._templateRef.get();t&&this.viewModel.lastTemplateData.set({contentHeight:t.object.contentHeight.get(),selections:t.object.editor.getSelections()??void 0},e)}_clear(){const e=this._templateRef.get();e&&os(t=>{this._updateTemplateData(t),e.object.hide(),this._templateRef.set(void 0,t)})}hide(){this._isHidden.set(!0,void 0)}render(e,t,i,s){this._isHidden.set(!1,void 0);let r=this._templateRef.get();if(!r){r=this._objectPool.getUnusedObj(new Non(this.viewModel,this._deltaScrollVertical)),this._templateRef.set(r,void 0);const o=this.viewModel.lastTemplateData.get().selections;o&&r.object.editor.setSelections(o)}r.object.render(e,i,t,s)}}var Pon=function(n,e,t,i){var s=arguments.length,r=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(o=n[a])&&(r=(s<3?o(r):s>3?o(e,t,r):o(e,t))||r);return s>3&&r&&Object.defineProperty(e,t,r),r},Oon=function(n,e){return function(t,i){e(t,i,n)}};let vle=class extends _e{constructor(e,t,i){super(),this._element=e,this._workbenchUIElementFactory=t,this._instantiationService=i,this._dimension=an(this,void 0),this._viewModel=an(this,void 0),this._widgetImpl=Oe(this,s=>s.store.add(this._instantiationService.createInstance(t_(_le),this._element,this._dimension,this._viewModel,this._workbenchUIElementFactory))),this._register(FI(this._widgetImpl))}};vle=Pon([Oon(2,Ot)],vle);function Aon(n,e,t){return gn.initialize(t||{}).createInstance(gle,n,e)}function Fon(n){return gn.get(oi).onCodeEditorAdd(t=>{n(t)})}function $on(n){return gn.get(oi).onDiffEditorAdd(t=>{n(t)})}function Bon(){return gn.get(oi).listCodeEditors()}function Hon(){return gn.get(oi).listDiffEditors()}function jon(n,e,t){return gn.initialize(t||{}).createInstance(mle,n,e)}function Won(n,e){const t=gn.initialize(e||{});return new vle(n,{},t)}function Von(n){if(typeof n.id!="string"||typeof n.run!="function")throw new Error("Invalid command descriptor, `id` and `run` are required properties!");return ti.registerCommand(n.id,n.run)}function zon(n){if(typeof n.id!="string"||typeof n.label!="string"||typeof n.run!="function")throw new Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");const e=$e.deserialize(n.precondition),t=(s,...r)=>ho.runEditorCommand(s,r,e,(o,a,l)=>Promise.resolve(n.run(a,...l))),i=new Re;if(i.add(ti.registerCommand(n.id,t)),n.contextMenuGroupId){const s={command:{id:n.id,title:n.label},when:e,group:n.contextMenuGroupId,order:n.contextMenuOrder||0};i.add(Bo.appendMenuItem(Dt.EditorContext,s))}if(Array.isArray(n.keybindings)){const s=gn.get(gi);if(!(s instanceof _N))console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService");else{const r=$e.and(e,$e.deserialize(n.keybindingContext));i.add(s.addDynamicKeybindings(n.keybindings.map(o=>({keybinding:o,command:n.id,when:r}))))}}return i}function Uon(n){return Xze([n])}function Xze(n){const e=gn.get(gi);return e instanceof _N?e.addDynamicKeybindings(n.map(t=>({keybinding:t.keybinding,command:t.command,commandArgs:t.commandArgs,when:$e.deserialize(t.when)}))):(console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService"),_e.None)}function Kon(n,e,t){const i=gn.get(lr),s=i.getLanguageIdByMimeType(e)||e;return Gze(gn.get(Hs),i,n,s,t)}function qon(n,e){const t=gn.get(lr),i=t.getLanguageIdByMimeType(e)||e||pu;n.setLanguage(t.createById(i))}function Gon(n,e,t){n&&gn.get(Op).changeOne(e,n.uri,t)}function Xon(n){gn.get(Op).changeAll(n,[])}function Yon(n){return gn.get(Op).read(n)}function Zon(n){return gn.get(Op).onMarkerChanged(n)}function Qon(n){return gn.get(Hs).getModel(n)}function Jon(){return gn.get(Hs).getModels()}function ean(n){return gn.get(Hs).onModelAdded(n)}function tan(n){return gn.get(Hs).onModelRemoved(n)}function nan(n){return gn.get(Hs).onModelLanguageChanged(t=>{n({model:t.model,oldLanguage:t.oldLanguageId})})}function ian(n){return csn(gn.get(Hs),n)}function san(n,e){const t=gn.get(lr),i=gn.get(Iu);return bpe.colorizeElement(i,t,n,e).then(()=>{i.registerEditorContainer(n)})}function ran(n,e,t){const i=gn.get(lr);return gn.get(Iu).registerEditorContainer(Vi.document.body),bpe.colorize(i,n,e,t)}function oan(n,e,t=4){return gn.get(Iu).registerEditorContainer(Vi.document.body),bpe.colorizeModelLine(n,e,t)}function aan(n){const e=tr.get(n);return e||{getInitialState:()=>ZI,tokenize:(t,i,s)=>fge(n,s)}}function lan(n,e){tr.getOrCreate(e);const t=aan(e),i=xd(n),s=[];let r=t.getInitialState();for(let o=0,a=i.length;o<a;o++){const l=i[o],c=t.tokenize(l,!0,r);s[o]=c.tokens,r=c.endState}return s}function can(n,e){gn.get(Iu).defineTheme(n,e)}function dan(n){gn.get(Iu).setTheme(n)}function uan(){tte.clearAllFontInfos()}function han(n,e){return ti.registerCommand({id:n,handler:e})}function fan(n){return gn.get(qv).registerOpener({async open(t){return typeof t=="string"&&(t=Ut.parse(t)),n.open(t)}})}function gan(n){return gn.get(oi).registerCodeEditorOpenHandler(async(t,i,s)=>{var a;if(!i)return null;const r=(a=t.options)==null?void 0:a.selection;let o;return r&&typeof r.endLineNumber=="number"&&typeof r.endColumn=="number"?o=r:r&&(o={lineNumber:r.startLineNumber,column:r.startColumn}),await n.openCodeEditor(i,t.resource,o)?i:null})}function man(){return{create:Aon,getEditors:Bon,getDiffEditors:Hon,onDidCreateEditor:Fon,onDidCreateDiffEditor:$on,createDiffEditor:jon,addCommand:Von,addEditorAction:zon,addKeybindingRule:Uon,addKeybindingRules:Xze,createModel:Kon,setModelLanguage:qon,setModelMarkers:Gon,getModelMarkers:Yon,removeAllMarkers:Xon,onDidChangeMarkers:Zon,getModels:Jon,getModel:Qon,onDidCreateModel:ean,onWillDisposeModel:tan,onDidChangeModelLanguage:nan,createWebWorker:ian,colorizeElement:san,colorize:ran,colorizeModelLine:oan,tokenize:lan,defineTheme:can,setTheme:dan,remeasureFonts:uan,registerCommand:han,registerLinkOpener:fan,registerEditorOpener:gan,AccessibilitySupport:goe,ContentWidgetPositionPreference:yoe,CursorChangeReason:woe,DefaultEndOfLine:Coe,EditorAutoIndentStrategy:xoe,EditorOption:koe,EndOfLinePreference:Eoe,EndOfLineSequence:Loe,MinimapPosition:Boe,MinimapSectionHeaderStyle:Hoe,MouseTargetType:joe,OverlayWidgetPositionPreference:zoe,OverviewRulerLane:Uoe,GlyphMarginLane:Ioe,RenderLineNumbersType:Goe,RenderMinimap:Xoe,ScrollbarVisibility:Zoe,ScrollType:Yoe,TextEditorCursorBlinkingStyle:sae,TextEditorCursorStyle:rae,TrackedRangeStickiness:oae,WrappingIndent:aae,InjectedTextCursorStops:Toe,PositionAffinity:qoe,ShowLightbulbIconMode:Joe,TextDirection:iae,ConfigurationChangedEvent:kje,BareFontInfo:R1,FontInfo:GH,TextModelResolvedOptions:_3,FindMatch:uO,ApplyUpdateResult:qR,EditorZoom:Ju,createMultiFileDiffEditor:Won,EditorType:cF,EditorOptions:wl}}function pan(n,e){if(!e||!Array.isArray(e))return!1;for(const t of e)if(!n(t))return!1;return!0}function r$(n,e){return typeof n=="boolean"?n:e}function PNe(n,e){return typeof n=="string"?n:e}function _an(n){const e={};for(const t of n)e[t]=!0;return e}function ONe(n,e=!1){e&&(n=n.map(function(i){return i.toLowerCase()}));const t=_an(n);return e?function(i){return t[i.toLowerCase()]!==void 0&&t.hasOwnProperty(i.toLowerCase())}:function(i){return t[i]!==void 0&&t.hasOwnProperty(i)}}function ble(n,e,t){e=e.replace(/@@/g,"");let i=0,s;do s=!1,e=e.replace(/@(\w+)/g,function(o,a){s=!0;let l="";if(typeof n[a]=="string")l=n[a];else if(n[a]&&n[a]instanceof RegExp)l=n[a].source;else throw n[a]===void 0?ks(n,"language definition does not contain attribute '"+a+"', used at: "+e):ks(n,"attribute reference '"+a+"' must be a string, used at: "+e);return t0(l)?"":"(?:"+l+")"}),i++;while(s&&i<5);e=e.replace(/\x01/g,"@");const r=(n.ignoreCase?"i":"")+(n.unicode?"u":"");if(t&&e.match(/\$[sS](\d\d?)/g)){let a=null,l=null;return c=>(l&&a===c||(a=c,l=new RegExp(gsn(n,e,c),r)),l)}return new RegExp(e,r)}function van(n,e,t,i){if(i<0)return n;if(i<e.length)return e[i];if(i>=100){i=i-100;const s=t.split(".");if(s.unshift(t),i<s.length)return s[i]}return null}function ban(n,e,t,i){let s=-1,r=t,o=t.match(/^\$(([sS]?)(\d\d?)|#)(.*)$/);o&&(o[3]&&(s=parseInt(o[3]),o[2]&&(s=s+100)),r=o[4]);let a="~",l=r;!r||r.length===0?(a="!=",l=""):/^\w*$/.test(l)?a="==":(o=r.match(/^(@|!@|~|!~|==|!=)(.*)$/),o&&(a=o[1],l=o[2]));let c;if((a==="~"||a==="!~")&&/^(\w|\|)*$/.test(l)){const d=ONe(l.split("|"),n.ignoreCase);c=function(u){return a==="~"?d(u):!d(u)}}else if(a==="@"||a==="!@"){const d=n[l];if(!d)throw ks(n,"the @ match target '"+l+"' is not defined, in rule: "+e);if(!pan(function(h){return typeof h=="string"},d))throw ks(n,"the @ match target '"+l+"' must be an array of strings, in rule: "+e);const u=ONe(d,n.ignoreCase);c=function(h){return a==="@"?u(h):!u(h)}}else if(a==="~"||a==="!~")if(l.indexOf("$")<0){const d=ble(n,"^"+l+"$",!1);c=function(u){return a==="~"?d.test(u):!d.test(u)}}else c=function(d,u,h,f){return ble(n,"^"+qb(n,l,u,h,f)+"$",!1).test(d)};else if(l.indexOf("$")<0){const d=dv(n,l);c=function(u){return a==="=="?u===d:u!==d}}else{const d=dv(n,l);c=function(u,h,f,g,m){const p=qb(n,d,h,f,g);return a==="=="?u===p:u!==p}}return s===-1?{name:t,value:i,test:function(d,u,h,f){return c(d,d,u,h,f)}}:{name:t,value:i,test:function(d,u,h,f){const g=van(d,u,h,s);return c(g||"",d,u,h,f)}}}function yle(n,e,t){if(t){if(typeof t=="string")return t;if(t.token||t.token===""){if(typeof t.token!="string")throw ks(n,"a 'token' attribute must be of type string, in rule: "+e);{const i={token:t.token};if(t.token.indexOf("$")>=0&&(i.tokenSubst=!0),typeof t.bracket=="string")if(t.bracket==="@open")i.bracket=1;else if(t.bracket==="@close")i.bracket=-1;else throw ks(n,"a 'bracket' attribute must be either '@open' or '@close', in rule: "+e);if(t.next){if(typeof t.next!="string")throw ks(n,"the next state must be a string value in rule: "+e);{let s=t.next;if(!/^(@pop|@push|@popall)$/.test(s)&&(s[0]==="@"&&(s=s.substr(1)),s.indexOf("$")<0&&!msn(n,qb(n,s,"",[],""))))throw ks(n,"the next state '"+t.next+"' is not defined in rule: "+e);i.next=s}}return typeof t.goBack=="number"&&(i.goBack=t.goBack),typeof t.switchTo=="string"&&(i.switchTo=t.switchTo),typeof t.log=="string"&&(i.log=t.log),typeof t.nextEmbedded=="string"&&(i.nextEmbedded=t.nextEmbedded,n.usesEmbedded=!0),i}}else if(Array.isArray(t)){const i=[];for(let s=0,r=t.length;s<r;s++)i[s]=yle(n,e,t[s]);return{group:i}}else if(t.cases){const i=[];let s=!1;for(const o in t.cases)if(t.cases.hasOwnProperty(o)){const a=yle(n,e,t.cases[o]);o==="@default"||o==="@"||o===""?i.push({test:void 0,value:a,name:o}):o==="@eos"?i.push({test:function(l,c,d,u){return u},value:a,name:o}):i.push(ban(n,e,o,a)),s||(s=!Eo(a)&&(a.hasEmbeddedEndInCases||["@pop","@popall"].includes(a.nextEmbedded||"")))}const r=n.defaultToken;return{hasEmbeddedEndInCases:s,test:function(o,a,l,c){for(const d of i)if(!d.test||d.test(o,a,l,c))return d.value;return r}}}else throw ks(n,"an action must be a string, an object with a 'token' or 'cases' attribute, or an array of actions; in rule: "+e)}else return{token:""}}let yan=class{constructor(e){this.regex=new RegExp(""),this.action={token:""},this.matchOnlyAtLineStart=!1,this.name="",this.name=e}setRegex(e,t){let i;if(typeof t=="string")i=t;else if(t instanceof RegExp)i=t.source;else throw ks(e,"rules must start with a match string or regular expression: "+this.name);this.matchOnlyAtLineStart=i.length>0&&i[0]==="^",this.name=this.name+": "+i,this.regex=ble(e,"^(?:"+(this.matchOnlyAtLineStart?i.substr(1):i)+")",!0)}setAction(e,t){this.action=yle(e,this.name,t)}resolveRegex(e){return this.regex instanceof RegExp?this.regex:this.regex(e)}};function Yze(n,e){if(!e||typeof e!="object")throw new Error("Monarch: expecting a language definition object");const t={languageId:n,includeLF:r$(e.includeLF,!1),noThrow:!1,maxStack:100,start:typeof e.start=="string"?e.start:null,ignoreCase:r$(e.ignoreCase,!1),unicode:r$(e.unicode,!1),tokenPostfix:PNe(e.tokenPostfix,"."+n),defaultToken:PNe(e.defaultToken,"source"),usesEmbedded:!1,stateNames:{},tokenizer:{},brackets:[]},i=e;i.languageId=n,i.includeLF=t.includeLF,i.ignoreCase=t.ignoreCase,i.unicode=t.unicode,i.noThrow=t.noThrow,i.usesEmbedded=t.usesEmbedded,i.stateNames=e.tokenizer,i.defaultToken=t.defaultToken;function s(o,a,l){for(const c of l){let d=c.include;if(d){if(typeof d!="string")throw ks(t,"an 'include' attribute must be a string at: "+o);if(d[0]==="@"&&(d=d.substr(1)),!e.tokenizer[d])throw ks(t,"include target '"+d+"' is not defined at: "+o);s(o+"."+d,a,e.tokenizer[d])}else{const u=new yan(o);if(Array.isArray(c)&&c.length>=1&&c.length<=3)if(u.setRegex(i,c[0]),c.length>=3)if(typeof c[1]=="string")u.setAction(i,{token:c[1],next:c[2]});else if(typeof c[1]=="object"){const h=c[1];h.next=c[2],u.setAction(i,h)}else throw ks(t,"a next state as the last element of a rule can only be given if the action is either an object or a string, at: "+o);else u.setAction(i,c[1]);else{if(!c.regex)throw ks(t,"a rule must either be an array, or an object with a 'regex' or 'include' field at: "+o);c.name&&typeof c.name=="string"&&(u.name=c.name),c.matchOnlyAtStart&&(u.matchOnlyAtLineStart=r$(c.matchOnlyAtLineStart,!1)),u.setRegex(i,c.regex),u.setAction(i,c.action)}a.push(u)}}}if(!e.tokenizer||typeof e.tokenizer!="object")throw ks(t,"a language definition must define the 'tokenizer' attribute as an object");t.tokenizer=[];for(const o in e.tokenizer)if(e.tokenizer.hasOwnProperty(o)){t.start||(t.start=o);const a=e.tokenizer[o];t.tokenizer[o]=new Array,s("tokenizer."+o,t.tokenizer[o],a)}if(t.usesEmbedded=i.usesEmbedded,e.brackets){if(!Array.isArray(e.brackets))throw ks(t,"the 'brackets' attribute must be defined as an array")}else e.brackets=[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}];const r=[];for(const o of e.brackets){let a=o;if(a&&Array.isArray(a)&&a.length===3&&(a={token:a[2],open:a[0],close:a[1]}),a.open===a.close)throw ks(t,"open and close brackets in a 'brackets' attribute must be different: "+a.open+`
|
|
1443
|
-
hint: use the 'bracket' attribute if matching on equal brackets is required.`);if(typeof a.open=="string"&&typeof a.token=="string"&&typeof a.close=="string")r.push({token:a.token+t.tokenPostfix,open:dv(t,a.open),close:dv(t,a.close)});else throw ks(t,"every element in the 'brackets' array must be a '{open,close,token}' object or array")}return t.brackets=r,t.noThrow=!0,t}function wan(n){BI.registerLanguage(n)}function Can(){let n=[];return n=n.concat(BI.getLanguages()),n}function San(n){return gn.get(lr).languageIdCodec.encodeLanguageId(n)}function xan(n,e){return gn.withServices(()=>{const i=gn.get(lr).onDidRequestRichLanguageFeatures(s=>{s===n&&(i.dispose(),e())});return i})}function kan(n,e){return gn.withServices(()=>{const i=gn.get(lr).onDidRequestBasicLanguageFeatures(s=>{s===n&&(i.dispose(),e())});return i})}function Ean(n,e){if(!gn.get(lr).isRegisteredLanguageId(n))throw new Error(`Cannot set configuration for unknown language ${n}`);return gn.get(js).register(n,e,100)}class Lan{constructor(e,t){this._languageId=e,this._actual=t}dispose(){}getInitialState(){return this._actual.getInitialState()}tokenize(e,t,i){if(typeof this._actual.tokenize=="function")return j2.adaptTokenize(this._languageId,this._actual,e,i);throw new Error("Not supported!")}tokenizeEncoded(e,t,i){const s=this._actual.tokenizeEncoded(e,i);return new Ez(s.tokens,s.endState)}}class j2{constructor(e,t,i,s){this._languageId=e,this._actual=t,this._languageService=i,this._standaloneThemeService=s}dispose(){}getInitialState(){return this._actual.getInitialState()}static _toClassicTokens(e,t){const i=[];let s=0;for(let r=0,o=e.length;r<o;r++){const a=e[r];let l=a.startIndex;r===0?l=0:l<s&&(l=s),i[r]=new kO(l,a.scopes,t),s=l}return i}static adaptTokenize(e,t,i,s){const r=t.tokenize(i,s),o=j2._toClassicTokens(r.tokens,e);let a;return r.endState.equals(s)?a=s:a=r.endState,new Xfe(o,a)}tokenize(e,t,i){return j2.adaptTokenize(this._languageId,this._actual,e,i)}_toBinaryTokens(e,t){const i=e.encodeLanguageId(this._languageId),s=this._standaloneThemeService.getColorTheme().tokenTheme,r=[];let o=0,a=0;for(let c=0,d=t.length;c<d;c++){const u=t[c],h=s.match(i,u.scopes)|1024;if(o>0&&r[o-1]===h)continue;let f=u.startIndex;c===0?f=0:f<a&&(f=a),r[o++]=f,r[o++]=h,a=f}const l=new Uint32Array(o);for(let c=0;c<o;c++)l[c]=r[c];return l}tokenizeEncoded(e,t,i){const s=this._actual.tokenize(e,i),r=this._toBinaryTokens(this._languageService.languageIdCodec,s.tokens);let o;return s.endState.equals(i)?o=i:o=s.endState,new Ez(r,o)}}function Ian(n){return typeof n.getInitialState=="function"}function Nan(n){return"tokenizeEncoded"in n}function Zze(n){return n&&typeof n.then=="function"}function Dan(n){const e=gn.get(Iu);if(n){const t=[null];for(let i=1,s=n.length;i<s;i++)t[i]=Me.fromHex(n[i]);e.setColorMapOverride(t)}else e.setColorMapOverride(null)}function Qze(n,e){return Nan(e)?new Lan(n,e):new j2(n,e,gn.get(lr),gn.get(Iu))}function kpe(n,e){const t=new k5t(async()=>{const i=await Promise.resolve(e.create());return i?Ian(i)?Qze(n,i):new P2(gn.get(lr),gn.get(Iu),n,Yze(n,i),gn.get(xn)):null});return tr.registerFactory(n,t)}function Tan(n,e){if(!gn.get(lr).isRegisteredLanguageId(n))throw new Error(`Cannot set tokens provider for unknown language ${n}`);return Zze(e)?kpe(n,{create:()=>e}):tr.register(n,Qze(n,e))}function Ran(n,e){const t=i=>new P2(gn.get(lr),gn.get(Iu),n,Yze(n,i),gn.get(xn));return Zze(e)?kpe(n,{create:()=>e}):tr.register(n,t(e))}function Man(n,e){return gn.get(Nt).referenceProvider.register(n,e)}function Pan(n,e){return gn.get(Nt).renameProvider.register(n,e)}function Oan(n,e){return gn.get(Nt).newSymbolNamesProvider.register(n,e)}function Aan(n,e){return gn.get(Nt).signatureHelpProvider.register(n,e)}function Fan(n,e){return gn.get(Nt).hoverProvider.register(n,{provideHover:async(i,s,r,o)=>{const a=i.getWordAtPosition(s);return Promise.resolve(e.provideHover(i,s,r,o)).then(l=>{if(l)return!l.range&&a&&(l.range=new z(s.lineNumber,a.startColumn,s.lineNumber,a.endColumn)),l.range||(l.range=new z(s.lineNumber,s.column,s.lineNumber,s.column)),l})}})}function $an(n,e){return gn.get(Nt).documentSymbolProvider.register(n,e)}function Ban(n,e){return gn.get(Nt).documentHighlightProvider.register(n,e)}function Han(n,e){return gn.get(Nt).linkedEditingRangeProvider.register(n,e)}function jan(n,e){return gn.get(Nt).definitionProvider.register(n,e)}function Wan(n,e){return gn.get(Nt).implementationProvider.register(n,e)}function Van(n,e){return gn.get(Nt).typeDefinitionProvider.register(n,e)}function zan(n,e){return gn.get(Nt).codeLensProvider.register(n,e)}function Uan(n,e,t){return gn.get(Nt).codeActionProvider.register(n,{providedCodeActionKinds:t==null?void 0:t.providedCodeActionKinds,documentation:t==null?void 0:t.documentation,provideCodeActions:(s,r,o,a)=>{const c=gn.get(Op).read({resource:s.uri}).filter(d=>z.areIntersectingOrTouching(d,r));return e.provideCodeActions(s,r,{markers:c,only:o.only,trigger:o.trigger},a)},resolveCodeAction:e.resolveCodeAction})}function Kan(n,e){return gn.get(Nt).documentFormattingEditProvider.register(n,e)}function qan(n,e){return gn.get(Nt).documentRangeFormattingEditProvider.register(n,e)}function Gan(n,e){return gn.get(Nt).onTypeFormattingEditProvider.register(n,e)}function Xan(n,e){return gn.get(Nt).linkProvider.register(n,e)}function Yan(n,e){return gn.get(Nt).completionProvider.register(n,e)}function Zan(n,e){return gn.get(Nt).colorProvider.register(n,e)}function Qan(n,e){return gn.get(Nt).foldingRangeProvider.register(n,e)}function Jan(n,e){return gn.get(Nt).declarationProvider.register(n,e)}function eln(n,e){return gn.get(Nt).selectionRangeProvider.register(n,e)}function tln(n,e){return gn.get(Nt).documentSemanticTokensProvider.register(n,e)}function nln(n,e){return gn.get(Nt).documentRangeSemanticTokensProvider.register(n,e)}function iln(n,e){return gn.get(Nt).inlineCompletionsProvider.register(n,e)}function sln(n,e){return gn.get(Nt).inlayHintsProvider.register(n,e)}function rln(){return{register:wan,getLanguages:Can,onLanguage:xan,onLanguageEncountered:kan,getEncodedLanguageId:San,setLanguageConfiguration:Ean,setColorMap:Dan,registerTokensProviderFactory:kpe,setTokensProvider:Tan,setMonarchTokensProvider:Ran,registerReferenceProvider:Man,registerRenameProvider:Pan,registerNewSymbolNameProvider:Oan,registerCompletionItemProvider:Yan,registerSignatureHelpProvider:Aan,registerHoverProvider:Fan,registerDocumentSymbolProvider:$an,registerDocumentHighlightProvider:Ban,registerLinkedEditingRangeProvider:Han,registerDefinitionProvider:jan,registerImplementationProvider:Wan,registerTypeDefinitionProvider:Van,registerCodeLensProvider:zan,registerCodeActionProvider:Uan,registerDocumentFormattingEditProvider:Kan,registerDocumentRangeFormattingEditProvider:qan,registerOnTypeFormattingEditProvider:Gan,registerLinkProvider:Xan,registerColorProvider:Zan,registerFoldingRangeProvider:Qan,registerDeclarationProvider:Jan,registerSelectionRangeProvider:eln,registerDocumentSemanticTokensProvider:tln,registerDocumentRangeSemanticTokensProvider:nln,registerInlineCompletionsProvider:iln,registerInlayHintsProvider:sln,DocumentHighlightKind:Soe,CompletionItemKind:_oe,CompletionItemTag:voe,CompletionItemInsertTextRule:poe,SymbolKind:tae,SymbolTag:nae,IndentAction:Doe,CompletionTriggerKind:boe,SignatureHelpTriggerKind:eae,InlayHintKind:Roe,InlineCompletionTriggerKind:Ooe,CodeActionTriggerType:moe,NewSymbolNameTag:Woe,NewSymbolNameTriggerKind:Voe,PartialAcceptTriggerKind:Koe,HoverVerbosityAction:Noe,InlineCompletionEndOfLifeReasonKind:Moe,InlineCompletionHintStyle:Poe,FoldingRangeKind:Ix,SelectedSuggestionInfo:NWe,EditDeltaInfo:FO}}wl.wrappingIndent.defaultValue=0;wl.glyphMargin.defaultValue=!1;wl.autoIndent.defaultValue=3;wl.overviewRulerLanes.defaultValue=2;h2.setFormatterSelector((n,e,t)=>Promise.resolve(n[0]));const mc=kze();mc.editor=man();mc.languages=rln();const Jze=mc.CancellationTokenSource,Tw=mc.Emitter,Epe=mc.KeyCode,Lpe=mc.KeyMod,Zv=mc.Position,Hx=mc.Range,eUe=mc.Selection,tUe=mc.SelectionDirection,df=mc.MarkerSeverity,$6=mc.MarkerTag,yU=mc.Uri,nUe=mc.Token,_f=mc.editor,It=mc.languages,yY=Ahe(),VL=globalThis;(yY!=null&&yY.globalAPI||typeof VL.define=="function"&&VL.define.amd)&&(VL.monaco=mc);typeof VL.require<"u"&&typeof VL.require.config=="function"&&VL.require.config({ignoreDuplicateModules:["vscode-languageserver-types","vscode-languageserver-types/main","vscode-languageserver-textdocument","vscode-languageserver-textdocument/main","vscode-nls","vscode-nls/vscode-nls","jsonc-parser","jsonc-parser/main","vscode-uri","vscode-uri/index","vs/basic-languages/typescript/typescript"]});const oln=Object.freeze(Object.defineProperty({__proto__:null,CancellationTokenSource:Jze,Emitter:Tw,KeyCode:Epe,KeyMod:Lpe,MarkerSeverity:df,MarkerTag:$6,Position:Zv,Range:Hx,Selection:eUe,SelectionDirection:tUe,Token:nUe,Uri:yU,editor:_f,languages:It},Symbol.toStringTag,{value:"Module"}));let Ipe=class{constructor(e,t,i){this._onDidChange=new Tw,this._languageId=e,this.setOptions(t),this.setModeConfiguration(i)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this.options}get options(){return this._options}setOptions(e){this._options=e||Object.create(null),this._onDidChange.fire(this)}setDiagnosticsOptions(e){this.setOptions(e)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}};const Npe={validate:!0,lint:{compatibleVendorPrefixes:"ignore",vendorPrefix:"warning",duplicateProperties:"warning",emptyRules:"warning",importStatement:"ignore",boxModel:"ignore",universalSelector:"ignore",zeroUnits:"ignore",fontFaceProperties:"warning",hexColorLength:"error",argumentsInColorFunction:"error",unknownProperties:"warning",ieHack:"ignore",unknownVendorSpecificProperties:"ignore",propertyIgnoredDueToDisplay:"warning",important:"ignore",float:"ignore",idSelector:"ignore"},data:{useDefaultDataProvider:!0},format:{newlineBetweenSelectors:!0,newlineBetweenRules:!0,spaceAroundSelectorSeparator:!1,braceStyle:"collapse",maxPreserveNewLines:void 0,preserveNewLines:!0}},Dpe={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0,documentFormattingEdits:!0,documentRangeFormattingEdits:!0},iUe=new Ipe("css",Npe,Dpe),sUe=new Ipe("scss",Npe,Dpe),rUe=new Ipe("less",Npe,Dpe);function Tpe(){return re(()=>import("./cssMode-BEYVT4qg.js"),__vite__mapDeps([0,1]))}It.onLanguage("less",()=>{Tpe().then(n=>n.setupMode(rUe))});It.onLanguage("scss",()=>{Tpe().then(n=>n.setupMode(sUe))});It.onLanguage("css",()=>{Tpe().then(n=>n.setupMode(iUe))});const oUe=Object.freeze(Object.defineProperty({__proto__:null,cssDefaults:iUe,lessDefaults:rUe,scssDefaults:sUe},Symbol.toStringTag,{value:"Module"}));let aln=class{constructor(e,t,i){this._onDidChange=new Tw,this._languageId=e,this.setOptions(t),this.setModeConfiguration(i)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get options(){return this._options}get modeConfiguration(){return this._modeConfiguration}setOptions(e){this._options=e||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}};const lln={tabSize:4,insertSpaces:!1,wrapLineLength:120,unformatted:'default": "a, abbr, acronym, b, bdo, big, br, button, cite, code, dfn, em, i, img, input, kbd, label, map, object, q, samp, select, small, span, strong, sub, sup, textarea, tt, var',contentUnformatted:"pre",indentInnerHtml:!1,preserveNewLines:!0,maxPreserveNewLines:void 0,indentHandlebars:!1,endWithNewline:!1,extraLiners:"head, body, /html",wrapAttributes:"auto"},wU={format:lln,suggest:{},data:{useDefaultDataProvider:!0}};function CU(n){return{completionItems:!0,hovers:!0,documentSymbols:!0,links:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,selectionRanges:!0,diagnostics:n===AM,documentFormattingEdits:n===AM,documentRangeFormattingEdits:n===AM}}const AM="html",ANe="handlebars",FNe="razor",aUe=SU(AM,wU,CU(AM)),cln=aUe.defaults,lUe=SU(ANe,wU,CU(ANe)),dln=lUe.defaults,cUe=SU(FNe,wU,CU(FNe)),uln=cUe.defaults;function hln(){return re(()=>import("./htmlMode-Bqip_1Yc.js"),__vite__mapDeps([2,1]))}function SU(n,e=wU,t=CU(n)){const i=new aln(n,e,t);let s;const r=It.onLanguage(n,async()=>{s=(await hln()).setupMode(i)});return{defaults:i,dispose(){r.dispose(),s==null||s.dispose(),s=void 0}}}const dUe=Object.freeze(Object.defineProperty({__proto__:null,handlebarDefaults:dln,handlebarLanguageService:lUe,htmlDefaults:cln,htmlLanguageService:aUe,razorDefaults:uln,razorLanguageService:cUe,registerHTMLLanguageService:SU},Symbol.toStringTag,{value:"Module"}));let fln=class{constructor(e,t,i){this._onDidChange=new Tw,this._languageId=e,this.setDiagnosticsOptions(t),this.setModeConfiguration(i)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}};const gln={validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},mln={documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},uUe=new fln("json",gln,mln),pln=()=>hUe().then(n=>n.getWorker());function hUe(){return re(()=>import("./jsonMode-C4SLT-Nu.js"),__vite__mapDeps([3,1]))}It.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]});It.onLanguage("json",()=>{hUe().then(n=>n.setupMode(uUe))});const fUe=Object.freeze(Object.defineProperty({__proto__:null,getWorker:pln,jsonDefaults:uUe},Symbol.toStringTag,{value:"Module"})),_ln="5.9.3";var gUe=(n=>(n[n.None=0]="None",n[n.CommonJS=1]="CommonJS",n[n.AMD=2]="AMD",n[n.UMD=3]="UMD",n[n.System=4]="System",n[n.ES2015=5]="ES2015",n[n.ESNext=99]="ESNext",n))(gUe||{}),mUe=(n=>(n[n.None=0]="None",n[n.Preserve=1]="Preserve",n[n.React=2]="React",n[n.ReactNative=3]="ReactNative",n[n.ReactJSX=4]="ReactJSX",n[n.ReactJSXDev=5]="ReactJSXDev",n))(mUe||{}),pUe=(n=>(n[n.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",n[n.LineFeed=1]="LineFeed",n))(pUe||{}),_Ue=(n=>(n[n.ES3=0]="ES3",n[n.ES5=1]="ES5",n[n.ES2015=2]="ES2015",n[n.ES2016=3]="ES2016",n[n.ES2017=4]="ES2017",n[n.ES2018=5]="ES2018",n[n.ES2019=6]="ES2019",n[n.ES2020=7]="ES2020",n[n.ESNext=99]="ESNext",n[n.JSON=100]="JSON",n[n.Latest=99]="Latest",n))(_Ue||{}),vUe=(n=>(n[n.Classic=1]="Classic",n[n.NodeJs=2]="NodeJs",n))(vUe||{});class bUe{constructor(e,t,i,s,r){this._onDidChange=new Tw,this._onDidExtraLibsChange=new Tw,this._extraLibs=Object.create(null),this._removedExtraLibs=Object.create(null),this._eagerModelSync=!1,this.setCompilerOptions(e),this.setDiagnosticsOptions(t),this.setWorkerOptions(i),this.setInlayHintsOptions(s),this.setModeConfiguration(r),this._onDidExtraLibsChangeTimeout=-1}get onDidChange(){return this._onDidChange.event}get onDidExtraLibsChange(){return this._onDidExtraLibsChange.event}get modeConfiguration(){return this._modeConfiguration}get workerOptions(){return this._workerOptions}get inlayHintsOptions(){return this._inlayHintsOptions}getExtraLibs(){return this._extraLibs}addExtraLib(e,t){let i;if(typeof t>"u"?i=`ts:extralib-${Math.random().toString(36).substring(2,15)}`:i=t,this._extraLibs[i]&&this._extraLibs[i].content===e)return{dispose:()=>{}};let s=1;return this._removedExtraLibs[i]&&(s=this._removedExtraLibs[i]+1),this._extraLibs[i]&&(s=this._extraLibs[i].version+1),this._extraLibs[i]={content:e,version:s},this._fireOnDidExtraLibsChangeSoon(),{dispose:()=>{let r=this._extraLibs[i];r&&r.version===s&&(delete this._extraLibs[i],this._removedExtraLibs[i]=s,this._fireOnDidExtraLibsChangeSoon())}}}setExtraLibs(e){for(const t in this._extraLibs)this._removedExtraLibs[t]=this._extraLibs[t].version;if(this._extraLibs=Object.create(null),e&&e.length>0)for(const t of e){const i=t.filePath||`ts:extralib-${Math.random().toString(36).substring(2,15)}`,s=t.content;let r=1;this._removedExtraLibs[i]&&(r=this._removedExtraLibs[i]+1),this._extraLibs[i]={content:s,version:r}}this._fireOnDidExtraLibsChangeSoon()}_fireOnDidExtraLibsChangeSoon(){this._onDidExtraLibsChangeTimeout===-1&&(this._onDidExtraLibsChangeTimeout=window.setTimeout(()=>{this._onDidExtraLibsChangeTimeout=-1,this._onDidExtraLibsChange.fire(void 0)},0))}getCompilerOptions(){return this._compilerOptions}setCompilerOptions(e){this._compilerOptions=e||Object.create(null),this._onDidChange.fire(void 0)}getDiagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setWorkerOptions(e){this._workerOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setInlayHintsOptions(e){this._inlayHintsOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setMaximumWorkerIdleTime(e){}setEagerModelSync(e){this._eagerModelSync=e}getEagerModelSync(){return this._eagerModelSync}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(void 0)}}const vln=_ln,yUe={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,diagnostics:!0,documentRangeFormattingEdits:!0,signatureHelp:!0,onTypeFormattingEdits:!0,codeActions:!0,inlayHints:!0},wUe=new bUe({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},yUe),CUe=new bUe({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},yUe),bln=()=>xU().then(n=>n.getTypeScriptWorker()),yln=()=>xU().then(n=>n.getJavaScriptWorker());function xU(){return re(()=>import("./tsMode-DMxO2PqK.js"),[])}It.onLanguage("typescript",()=>xU().then(n=>n.setupTypeScript(wUe)));It.onLanguage("javascript",()=>xU().then(n=>n.setupJavaScript(CUe)));const SUe=Object.freeze(Object.defineProperty({__proto__:null,JsxEmit:mUe,ModuleKind:gUe,ModuleResolutionKind:vUe,NewLineKind:pUe,ScriptTarget:_Ue,getJavaScriptWorker:yln,getTypeScriptWorker:bln,javascriptDefaults:CUe,typescriptDefaults:wUe,typescriptVersion:vln},Symbol.toStringTag,{value:"Module"})),xUe={},wY={};class Rpe{static getOrCreate(e){return wY[e]||(wY[e]=new Rpe(e)),wY[e]}constructor(e){this._languageId=e,this._loadingTriggered=!1,this._lazyLoadPromise=new Promise((t,i)=>{this._lazyLoadPromiseResolve=t,this._lazyLoadPromiseReject=i})}load(){return this._loadingTriggered||(this._loadingTriggered=!0,xUe[this._languageId].loader().then(e=>this._lazyLoadPromiseResolve(e),e=>this._lazyLoadPromiseReject(e))),this._lazyLoadPromise}}function Jt(n){const e=n.id;xUe[e]=n,It.register(n);const t=Rpe.getOrCreate(e);It.registerTokensProviderFactory(e,{create:async()=>(await t.load()).language}),It.onLanguageEncountered(e,async()=>{const i=await t.load();It.setLanguageConfiguration(e,i.conf)})}Jt({id:"abap",extensions:[".abap"],aliases:["abap","ABAP"],loader:()=>re(()=>import("./abap-DLDM7-KI.js"),[])});Jt({id:"apex",extensions:[".cls"],aliases:["Apex","apex"],mimetypes:["text/x-apex-source","text/x-apex"],loader:()=>re(()=>import("./apex-DNDY2TF8.js"),[])});Jt({id:"azcli",extensions:[".azcli"],aliases:["Azure CLI","azcli"],loader:()=>re(()=>import("./azcli-Y6nb8tq_.js"),[])});Jt({id:"bat",extensions:[".bat",".cmd"],aliases:["Batch","bat"],loader:()=>re(()=>import("./bat-BwHxbl9M.js"),[])});Jt({id:"bicep",extensions:[".bicep"],aliases:["Bicep"],loader:()=>re(()=>import("./bicep-CFznDFnq.js"),[])});Jt({id:"cameligo",extensions:[".mligo"],aliases:["Cameligo"],loader:()=>re(()=>import("./cameligo-Bf6VGUru.js"),[])});Jt({id:"clojure",extensions:[".clj",".cljs",".cljc",".edn"],aliases:["clojure","Clojure"],loader:()=>re(()=>import("./clojure-Dnu-v4kV.js"),[])});Jt({id:"coffeescript",extensions:[".coffee"],aliases:["CoffeeScript","coffeescript","coffee"],mimetypes:["text/x-coffeescript","text/coffeescript"],loader:()=>re(()=>import("./coffee-Bd8akH9Z.js"),[])});Jt({id:"c",extensions:[".c",".h"],aliases:["C","c"],loader:()=>re(()=>import("./cpp-BbWJElDN.js"),[])});Jt({id:"cpp",extensions:[".cpp",".cc",".cxx",".hpp",".hh",".hxx"],aliases:["C++","Cpp","cpp"],loader:()=>re(()=>import("./cpp-BbWJElDN.js"),[])});Jt({id:"csharp",extensions:[".cs",".csx",".cake"],aliases:["C#","csharp"],loader:()=>re(()=>import("./csharp-Co3qMtFm.js"),[])});Jt({id:"csp",extensions:[".csp"],aliases:["CSP","csp"],loader:()=>re(()=>import("./csp-D-4FJmMZ.js"),[])});Jt({id:"css",extensions:[".css"],aliases:["CSS","css"],mimetypes:["text/css"],loader:()=>re(()=>import("./css-DdJfP1eB.js"),[])});Jt({id:"cypher",extensions:[".cypher",".cyp"],aliases:["Cypher","OpenCypher"],loader:()=>re(()=>import("./cypher-cTPe9QuQ.js"),[])});Jt({id:"dart",extensions:[".dart"],aliases:["Dart","dart"],mimetypes:["text/x-dart-source","text/x-dart"],loader:()=>re(()=>import("./dart-BOtBlQCF.js"),[])});Jt({id:"dockerfile",extensions:[".dockerfile"],filenames:["Dockerfile"],aliases:["Dockerfile"],loader:()=>re(()=>import("./dockerfile-BG73LgW2.js"),[])});Jt({id:"ecl",extensions:[".ecl"],aliases:["ECL","Ecl","ecl"],loader:()=>re(()=>import("./ecl-BEgZUVRK.js"),[])});Jt({id:"elixir",extensions:[".ex",".exs"],aliases:["Elixir","elixir","ex"],loader:()=>re(()=>import("./elixir-BkW5O-1t.js"),[])});Jt({id:"flow9",extensions:[".flow"],aliases:["Flow9","Flow","flow9","flow"],loader:()=>re(()=>import("./flow9-BeJ5waoc.js"),[])});Jt({id:"fsharp",extensions:[".fs",".fsi",".ml",".mli",".fsx",".fsscript"],aliases:["F#","FSharp","fsharp"],loader:()=>re(()=>import("./fsharp-PahG7c26.js"),[])});Jt({id:"freemarker2",extensions:[".ftl",".ftlh",".ftlx"],aliases:["FreeMarker2","Apache FreeMarker2"],loader:()=>re(()=>import("./freemarker2-DbWlL-By.js"),[]).then(n=>n.TagAutoInterpolationDollar)});Jt({id:"freemarker2.tag-angle.interpolation-dollar",aliases:["FreeMarker2 (Angle/Dollar)","Apache FreeMarker2 (Angle/Dollar)"],loader:()=>re(()=>import("./freemarker2-DbWlL-By.js"),[]).then(n=>n.TagAngleInterpolationDollar)});Jt({id:"freemarker2.tag-bracket.interpolation-dollar",aliases:["FreeMarker2 (Bracket/Dollar)","Apache FreeMarker2 (Bracket/Dollar)"],loader:()=>re(()=>import("./freemarker2-DbWlL-By.js"),[]).then(n=>n.TagBracketInterpolationDollar)});Jt({id:"freemarker2.tag-angle.interpolation-bracket",aliases:["FreeMarker2 (Angle/Bracket)","Apache FreeMarker2 (Angle/Bracket)"],loader:()=>re(()=>import("./freemarker2-DbWlL-By.js"),[]).then(n=>n.TagAngleInterpolationBracket)});Jt({id:"freemarker2.tag-bracket.interpolation-bracket",aliases:["FreeMarker2 (Bracket/Bracket)","Apache FreeMarker2 (Bracket/Bracket)"],loader:()=>re(()=>import("./freemarker2-DbWlL-By.js"),[]).then(n=>n.TagBracketInterpolationBracket)});Jt({id:"freemarker2.tag-auto.interpolation-dollar",aliases:["FreeMarker2 (Auto/Dollar)","Apache FreeMarker2 (Auto/Dollar)"],loader:()=>re(()=>import("./freemarker2-DbWlL-By.js"),[]).then(n=>n.TagAutoInterpolationDollar)});Jt({id:"freemarker2.tag-auto.interpolation-bracket",aliases:["FreeMarker2 (Auto/Bracket)","Apache FreeMarker2 (Auto/Bracket)"],loader:()=>re(()=>import("./freemarker2-DbWlL-By.js"),[]).then(n=>n.TagAutoInterpolationBracket)});Jt({id:"go",extensions:[".go"],aliases:["Go"],loader:()=>re(()=>import("./go-acbASCJo.js"),[])});Jt({id:"graphql",extensions:[".graphql",".gql"],aliases:["GraphQL","graphql","gql"],mimetypes:["application/graphql"],loader:()=>re(()=>import("./graphql-BxJiqAUM.js"),[])});Jt({id:"handlebars",extensions:[".handlebars",".hbs"],aliases:["Handlebars","handlebars","hbs"],mimetypes:["text/x-handlebars-template"],loader:()=>re(()=>import("./handlebars-B6HPpWgM.js"),[])});Jt({id:"hcl",extensions:[".tf",".tfvars",".hcl"],aliases:["Terraform","tf","HCL","hcl"],loader:()=>re(()=>import("./hcl-DtV1sZF8.js"),[])});Jt({id:"html",extensions:[".html",".htm",".shtml",".xhtml",".mdoc",".jsp",".asp",".aspx",".jshtm"],aliases:["HTML","htm","html","xhtml"],mimetypes:["text/html","text/x-jshtm","text/template","text/ng-template"],loader:()=>re(()=>import("./html-DAtaPxi2.js"),[])});Jt({id:"ini",extensions:[".ini",".properties",".gitconfig"],filenames:["config",".gitattributes",".gitconfig",".editorconfig"],aliases:["Ini","ini"],loader:()=>re(()=>import("./ini-Kd9XrMLS.js"),[])});Jt({id:"java",extensions:[".java",".jav"],aliases:["Java","java"],mimetypes:["text/x-java-source","text/x-java"],loader:()=>re(()=>import("./java-CXBNlu9o.js"),[])});Jt({id:"javascript",extensions:[".js",".es6",".jsx",".mjs",".cjs"],firstLine:"^#!.*\\bnode",filenames:["jakefile"],aliases:["JavaScript","javascript","js"],mimetypes:["text/javascript"],loader:()=>re(()=>import("./javascript-CRT7QRbU.js"),__vite__mapDeps([4,5]))});Jt({id:"julia",extensions:[".jl"],aliases:["julia","Julia"],loader:()=>re(()=>import("./julia-cl7-CwDS.js"),[])});Jt({id:"kotlin",extensions:[".kt",".kts"],aliases:["Kotlin","kotlin"],mimetypes:["text/x-kotlin-source","text/x-kotlin"],loader:()=>re(()=>import("./kotlin-s7OhZKlX.js"),[])});Jt({id:"less",extensions:[".less"],aliases:["Less","less"],mimetypes:["text/x-less","text/less"],loader:()=>re(()=>import("./less-9HpZscsL.js"),[])});Jt({id:"lexon",extensions:[".lex"],aliases:["Lexon"],loader:()=>re(()=>import("./lexon-OrD6JF1K.js"),[])});Jt({id:"lua",extensions:[".lua"],aliases:["Lua","lua"],loader:()=>re(()=>import("./lua-Cyyb5UIc.js"),[])});Jt({id:"liquid",extensions:[".liquid",".html.liquid"],aliases:["Liquid","liquid"],mimetypes:["application/liquid"],loader:()=>re(()=>import("./liquid-mMqq9x-d.js"),[])});Jt({id:"m3",extensions:[".m3",".i3",".mg",".ig"],aliases:["Modula-3","Modula3","modula3","m3"],loader:()=>re(()=>import("./m3-B8OfTtLu.js"),[])});Jt({id:"markdown",extensions:[".md",".markdown",".mdown",".mkdn",".mkd",".mdwn",".mdtxt",".mdtext"],aliases:["Markdown","markdown"],loader:()=>re(()=>import("./markdown-BFxVWTOG.js"),[])});Jt({id:"mdx",extensions:[".mdx"],aliases:["MDX","mdx"],loader:()=>re(()=>import("./mdx-f7TRkAi5.js"),[])});Jt({id:"mips",extensions:[".s"],aliases:["MIPS","MIPS-V"],mimetypes:["text/x-mips","text/mips","text/plaintext"],loader:()=>re(()=>import("./mips-CiqrrVzr.js"),[])});Jt({id:"msdax",extensions:[".dax",".msdax"],aliases:["DAX","MSDAX"],loader:()=>re(()=>import("./msdax-DmeGPVcC.js"),[])});Jt({id:"mysql",extensions:[],aliases:["MySQL","mysql"],loader:()=>re(()=>import("./mysql-C_tMU-Nz.js"),[])});Jt({id:"objective-c",extensions:[".m"],aliases:["Objective-C"],loader:()=>re(()=>import("./objective-c-BDtDVThU.js"),[])});Jt({id:"pascal",extensions:[".pas",".p",".pp"],aliases:["Pascal","pas"],mimetypes:["text/x-pascal-source","text/x-pascal"],loader:()=>re(()=>import("./pascal-vHIfCaH5.js"),[])});Jt({id:"pascaligo",extensions:[".ligo"],aliases:["Pascaligo","ligo"],loader:()=>re(()=>import("./pascaligo-DtZ0uQbO.js"),[])});Jt({id:"perl",extensions:[".pl",".pm"],aliases:["Perl","pl"],loader:()=>re(()=>import("./perl-Ub6l9XKa.js"),[])});Jt({id:"pgsql",extensions:[],aliases:["PostgreSQL","postgres","pg","postgre"],loader:()=>re(()=>import("./pgsql-BlNEE0v7.js"),[])});Jt({id:"php",extensions:[".php",".php4",".php5",".phtml",".ctp"],aliases:["PHP","php"],mimetypes:["application/x-php"],loader:()=>re(()=>import("./php-BBUBE1dy.js"),[])});Jt({id:"pla",extensions:[".pla"],loader:()=>re(()=>import("./pla-DSh2-awV.js"),[])});Jt({id:"postiats",extensions:[".dats",".sats",".hats"],aliases:["ATS","ATS/Postiats"],loader:()=>re(()=>import("./postiats-CocnycG-.js"),[])});Jt({id:"powerquery",extensions:[".pq",".pqm"],aliases:["PQ","M","Power Query","Power Query M"],loader:()=>re(()=>import("./powerquery-tScXyioY.js"),[])});Jt({id:"powershell",extensions:[".ps1",".psm1",".psd1"],aliases:["PowerShell","powershell","ps","ps1"],loader:()=>re(()=>import("./powershell-COWaemsV.js"),[])});Jt({id:"proto",extensions:[".proto"],aliases:["protobuf","Protocol Buffers"],loader:()=>re(()=>import("./protobuf-Brw8urJB.js"),[])});Jt({id:"pug",extensions:[".jade",".pug"],aliases:["Pug","Jade","jade"],loader:()=>re(()=>import("./pug-8SOpv6rk.js"),[])});Jt({id:"python",extensions:[".py",".rpy",".pyw",".cpy",".gyp",".gypi"],aliases:["Python","py"],firstLine:"^#!/.*\\bpython[0-9.-]*\\b",loader:()=>re(()=>import("./python-CBJzchSP.js"),[])});Jt({id:"qsharp",extensions:[".qs"],aliases:["Q#","qsharp"],loader:()=>re(()=>import("./qsharp-Bw9ernYp.js"),[])});Jt({id:"r",extensions:[".r",".rhistory",".rmd",".rprofile",".rt"],aliases:["R","r"],loader:()=>re(()=>import("./r-j7ic8hl3.js"),[])});Jt({id:"razor",extensions:[".cshtml"],aliases:["Razor","razor"],mimetypes:["text/x-cshtml"],loader:()=>re(()=>import("./razor-HGxKR7hR.js"),[])});Jt({id:"redis",extensions:[".redis"],aliases:["redis"],loader:()=>re(()=>import("./redis-Bu5POkcn.js"),[])});Jt({id:"redshift",extensions:[],aliases:["Redshift","redshift"],loader:()=>re(()=>import("./redshift-Bs9aos_-.js"),[])});Jt({id:"restructuredtext",extensions:[".rst"],aliases:["reStructuredText","restructuredtext"],loader:()=>re(()=>import("./restructuredtext-CqXO7rUv.js"),[])});Jt({id:"ruby",extensions:[".rb",".rbx",".rjs",".gemspec",".pp"],filenames:["rakefile","Gemfile"],aliases:["Ruby","rb"],loader:()=>re(()=>import("./ruby-zBfavPgS.js"),[])});Jt({id:"rust",extensions:[".rs",".rlib"],aliases:["Rust","rust"],loader:()=>re(()=>import("./rust-BzKRNQWT.js"),[])});Jt({id:"sb",extensions:[".sb"],aliases:["Small Basic","sb"],loader:()=>re(()=>import("./sb-BBc9UKZt.js"),[])});Jt({id:"scala",extensions:[".scala",".sc",".sbt"],aliases:["Scala","scala","SBT","Sbt","sbt","Dotty","dotty"],mimetypes:["text/x-scala-source","text/x-scala","text/x-sbt","text/x-dotty"],loader:()=>re(()=>import("./scala-D9hQfWCl.js"),[])});Jt({id:"scheme",extensions:[".scm",".ss",".sch",".rkt"],aliases:["scheme","Scheme"],loader:()=>re(()=>import("./scheme-BPhDTwHR.js"),[])});Jt({id:"scss",extensions:[".scss"],aliases:["Sass","sass","scss"],mimetypes:["text/x-scss","text/scss"],loader:()=>re(()=>import("./scss-CBJaRo0y.js"),[])});Jt({id:"shell",extensions:[".sh",".bash"],aliases:["Shell","sh"],loader:()=>re(()=>import("./shell-DiJ1NA_G.js"),[])});Jt({id:"sol",extensions:[".sol"],aliases:["sol","solidity","Solidity"],loader:()=>re(()=>import("./solidity-Db0IVjzk.js"),[])});Jt({id:"aes",extensions:[".aes"],aliases:["aes","sophia","Sophia"],loader:()=>re(()=>import("./sophia-CnS9iZB_.js"),[])});Jt({id:"sparql",extensions:[".rq"],aliases:["sparql","SPARQL"],loader:()=>re(()=>import("./sparql-CJmd_6j2.js"),[])});Jt({id:"sql",extensions:[".sql"],aliases:["SQL"],loader:()=>re(()=>import("./sql-ClhHkBeG.js"),[])});Jt({id:"st",extensions:[".st",".iecst",".iecplc",".lc3lib",".TcPOU",".TcDUT",".TcGVL",".TcIO"],aliases:["StructuredText","scl","stl"],loader:()=>re(()=>import("./st-CHwy0fLd.js"),[])});Jt({id:"swift",aliases:["Swift","swift"],extensions:[".swift"],mimetypes:["text/swift"],loader:()=>re(()=>import("./swift-Bqt4WxQ4.js"),[])});Jt({id:"systemverilog",extensions:[".sv",".svh"],aliases:["SV","sv","SystemVerilog","systemverilog"],loader:()=>re(()=>import("./systemverilog-Bs9z6M-B.js"),[])});Jt({id:"verilog",extensions:[".v",".vh"],aliases:["V","v","Verilog","verilog"],loader:()=>re(()=>import("./systemverilog-Bs9z6M-B.js"),[])});Jt({id:"tcl",extensions:[".tcl"],aliases:["tcl","Tcl","tcltk","TclTk","tcl/tk","Tcl/Tk"],loader:()=>re(()=>import("./tcl-Dm6ycUr_.js"),[])});Jt({id:"twig",extensions:[".twig"],aliases:["Twig","twig"],mimetypes:["text/x-twig"],loader:()=>re(()=>import("./twig-Csy3S7wG.js"),[])});Jt({id:"typescript",extensions:[".ts",".tsx",".cts",".mts"],aliases:["TypeScript","ts","typescript"],mimetypes:["text/typescript"],loader:()=>re(()=>import("./typescript-D99fqVjE.js"),[])});Jt({id:"typespec",extensions:[".tsp"],aliases:["TypeSpec"],loader:()=>re(()=>import("./typespec-Btyra-wh.js"),[])});Jt({id:"vb",extensions:[".vb"],aliases:["Visual Basic","vb"],loader:()=>re(()=>import("./vb-Db0cS2oM.js"),[])});Jt({id:"wgsl",extensions:[".wgsl"],aliases:["WebGPU Shading Language","WGSL","wgsl"],loader:()=>re(()=>import("./wgsl-BTesnYfV.js"),[])});Jt({id:"xml",extensions:[".xml",".xsd",".dtd",".ascx",".csproj",".config",".props",".targets",".wxi",".wxl",".wxs",".xaml",".svg",".svgz",".opf",".xslt",".xsl"],firstLine:"(\\<\\?xml.*)|(\\<svg)|(\\<\\!doctype\\s+svg)",aliases:["XML","xml"],mimetypes:["text/xml","application/xml","application/xaml+xml","application/xml-dtd"],loader:()=>re(()=>import("./xml-D-L9gTN7.js"),[])});Jt({id:"yaml",extensions:[".yaml",".yml"],aliases:["YAML","yaml","YML","yml"],mimetypes:["application/x-yaml","text/x-yaml"],loader:()=>re(()=>import("./yaml-BuxmJEjE.js"),[])});var wln=Object.defineProperty,Cln=(n,e,t)=>e in n?wln(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,qt=(n,e,t)=>Cln(n,typeof e!="symbol"?e+"":e,t),o$,$Ne,a$,CY,l$;function Sln(n){return n.method!==void 0}var BNe;(function(n){function e(t){return t}n.create=e})(BNe||(BNe={}));var sf;(function(n){n.parseError=-32700,n.invalidRequest=-32600,n.methodNotFound=-32601,n.invalidParams=-32602,n.internalError=-32603;function e(r){return-32099<=r&&r<=-32e3}n.isServerError=e;function t(r){if(!e(r))throw new Error("Invalid range for a server error.");return r}n.serverError=t,n.unexpectedServerError=-32e3;function i(r){return!0}n.isApplicationError=i;function s(r){return r}n.applicationError=s,n.genericApplicationError=-320100})(sf||(sf={}));var Mpe=class{constructor(){qt(this,"listeners",new Set),qt(this,"event",n=>(this.listeners.add(n),{dispose:()=>{this.listeners.delete(n)}}))}fire(n){this.listeners.forEach(e=>e(n))}},xln=class{constructor(n){qt(this,"_value"),qt(this,"eventEmitter"),this._value=n,this.eventEmitter=new Mpe}get value(){return this._value}set value(n){this._value!==n&&(this._value=n,this.eventEmitter.fire(n))}get onChange(){return this.eventEmitter.event}};function kln(n,e){const t=setTimeout(e,n);return{dispose:()=>clearTimeout(t)}}function SY(n,e,t){return n instanceof Set?(n.add(e),{dispose:()=>n.delete(e)}):(n.set(e,t),{dispose:()=>n.delete(e)})}var Eln=class{constructor(){qt(this,"_state","none"),qt(this,"promise"),qt(this,"resolve",()=>{}),qt(this,"reject",()=>{}),this.promise=new Promise((n,e)=>{this.resolve=n,this.reject=e})}get state(){return this._state}},kUe=(o$=class{constructor(){qt(this,"_unprocessedMessages",[]),qt(this,"_messageListener"),qt(this,"id",o$.id++),qt(this,"_state",new xln({state:"open"})),qt(this,"state",this._state)}setListener(n){if(this._messageListener=n,!!n)for(;this._unprocessedMessages.length>0&&this._messageListener!==void 0;){const e=this._unprocessedMessages.shift();this._messageListener(e)}}send(n){return this._sendImpl(n)}_dispatchReceivedMessage(n){this._unprocessedMessages.length===0&&this._messageListener?this._messageListener(n):this._unprocessedMessages.push(n)}_onConnectionClosed(){this._state.value={state:"closed",error:void 0}}log(n){return new Lln(this,n??new Iln)}},qt(o$,"id",0),o$),Lln=class{constructor(n,e){qt(this,"baseStream"),qt(this,"logger"),this.baseStream=n,this.logger=e}get state(){return this.baseStream.state}setListener(n){if(n===void 0){this.baseStream.setListener(void 0);return}this.baseStream.setListener(e=>{this.logger.log(this.baseStream,"incoming",e),n(e)})}send(n){return this.logger.log(this.baseStream,"outgoing",n),this.baseStream.send(n)}toString(){return`StreamLogger/${this.baseStream.toString()}`}},Iln=class{log(n,e,t){console.log(`${e==="incoming"?"<-":"->"} [${n.toString()}] ${JSON.stringify(t)}`)}},Nln=class EUe{constructor(e){qt(this,"connect"),this.connect=e}mapContext(e){return new EUe(t=>this.connect(t?Dln(t,e):void 0))}};function Dln(n,e){return{handleNotification:(t,i)=>n.handleNotification(t,e(i)),handleRequest:(t,i,s)=>n.handleRequest(t,i,e(s))}}var Tln=class LUe{constructor(e,t,i){qt(this,"_stream"),qt(this,"_listener"),qt(this,"_logger"),qt(this,"_unprocessedResponses",new Map),qt(this,"_lastUsedRequestId",0),this._stream=e,this._listener=t,this._logger=i,this._stream.setListener(s=>{Sln(s)?s.id===void 0?this._processNotification(s):this._processRequest(s):this._processResponse(s)})}static createChannel(e,t){let i=!1;return new Nln(s=>{if(i)throw new Error(`A channel to the stream ${e} was already constructed!`);return i=!0,new LUe(e,s,t)})}get state(){return this._stream.state}async _processNotification(e){if(e.id!==void 0)throw new Error;if(!this._listener){this._logger&&this._logger.debug({text:"Notification ignored",message:e});return}try{await this._listener.handleNotification({method:e.method,params:e.params||null})}catch(t){this._logger&&this._logger.warn({text:`Exception was thrown while handling notification: ${t}`,exception:t,message:e})}}async _processRequest(e){if(e.id===void 0)throw new Error;let t;if(this._listener)try{t=await this._listener.handleRequest({method:e.method,params:e.params||null},e.id)}catch(s){this._logger&&this._logger.warn({text:`Exception was thrown while handling request: ${s}`,message:e,exception:s}),t={error:{code:sf.internalError,message:"An unexpected exception was thrown.",data:void 0}}}else this._logger&&this._logger.debug({text:"Received request even though not listening for requests",message:e}),t={error:{code:sf.methodNotFound,message:"This endpoint does not listen for requests or notifications.",data:void 0}};let i;"result"in t?i={jsonrpc:"2.0",id:e.id,result:t.result}:i={jsonrpc:"2.0",id:e.id,error:t.error},await this._stream.send(i)}_processResponse(e){const t=""+e.id,i=this._unprocessedResponses.get(t);if(!i){this._logger&&this._logger.debug({text:"Got an unexpected response message",message:e});return}this._unprocessedResponses.delete(t),i(e)}_newRequestId(){return this._lastUsedRequestId++}sendRequest(e,t,i){const s={jsonrpc:"2.0",id:this._newRequestId(),method:e.method,params:e.params||void 0};return i&&i(s.id),new Promise((r,o)=>{const a=""+s.id;this._unprocessedResponses.set(a,l=>{"result"in l?r({result:l.result}):(l.error||o(new Error("Response had neither 'result' nor 'error' field set.")),r({error:l.error}))}),this._stream.send(s).then(void 0,l=>{this._unprocessedResponses.delete(a),o(l)})})}sendNotification(e,t){const i={jsonrpc:"2.0",id:void 0,method:e.method,params:e.params||void 0};return this._stream.send(i)}toString(){return"StreamChannel/"+this._stream.toString()}},zL;(function(n){function e(){return{deserializeFromJson:s=>({hasErrors:!1,value:s}),serializeToJson:s=>s}}n.sAny=e;function t(){return{deserializeFromJson:s=>({hasErrors:!1,value:{}}),serializeToJson:s=>({})}}n.sEmptyObject=t;function i(){return{deserializeFromJson:s=>({hasErrors:!1,value:void 0}),serializeToJson:s=>null}}n.sVoidFromNull=i})(zL||(zL={}));const IUe=Symbol("OptionalMethodNotFound");var NUe=class{contextualize(n){return new Rln(this,n)}},Rln=class extends NUe{constructor(n,e){super(),qt(this,"underylingTypedChannel"),qt(this,"converters"),this.underylingTypedChannel=n,this.converters=e}async request(n,e,t){const i=await this.converters.getSendContext(t);return this.underylingTypedChannel.request(n,e,i)}async notify(n,e,t){const i=await this.converters.getSendContext(t);return this.underylingTypedChannel.notify(n,e,i)}registerNotificationHandler(n,e){return this.underylingTypedChannel.registerNotificationHandler(n,async(t,i)=>await e(t,await this.converters.getNewContext(i)))}registerRequestHandler(n,e){return this.underylingTypedChannel.registerRequestHandler(n,async(t,i,s)=>await e(t,i,await this.converters.getNewContext(s)))}},wle=class DUe extends NUe{constructor(e,t={}){super(),qt(this,"channelCtor"),qt(this,"_requestSender"),qt(this,"_handler",new Map),qt(this,"_unknownNotificationHandler",new Set),qt(this,"_timeout"),qt(this,"sendExceptionDetails",!1),qt(this,"_logger"),qt(this,"listeningDeferred",new Eln),qt(this,"onListening",this.listeningDeferred.promise),qt(this,"_requestDidErrorEventEmitter",new Mpe),qt(this,"onRequestDidError",this._requestDidErrorEventEmitter.event),this.channelCtor=e,this._logger=t.logger,this.sendExceptionDetails=!!t.sendExceptionDetails,this._timeout=kln(1e3,()=>{this._requestSender||console.warn(`"${this.startListen.name}" has not been called within 1 second after construction of this channel. Did you forget to call it?`,this)})}static fromTransport(e,t={}){return new DUe(Tln.createChannel(e,t.logger),t)}startListen(){if(this._requestSender)throw new Error(`"${this.startListen.name}" can be called only once, but it already has been called.`);this._timeout&&(this._timeout.dispose(),this._timeout=void 0),this._requestSender=this.channelCtor.connect({handleRequest:(e,t,i)=>this.handleRequest(e,t,i),handleNotification:(e,t)=>this.handleNotification(e,t)}),this.listeningDeferred.resolve()}checkChannel(e){if(!e)throw new Error(`"${this.startListen.name}" must be called before any messages can be sent or received.`);return!0}async handleRequest(e,t,i){const s=this._handler.get(e.method);if(!s)return this._logger&&this._logger.debug({text:`No request handler for "${e.method}".`,data:{requestObject:e}}),{error:{code:sf.methodNotFound,message:`No request handler for "${e.method}".`,data:{method:e.method}}};if(s.kind!="request"){const o=`"${e.method}" is registered as notification, but was sent as request.`;return this._logger&&this._logger.debug({text:o,data:{requestObject:e}}),{error:{code:sf.invalidRequest,message:o,data:{method:e.method}}}}const r=s.requestType.paramsSerializer.deserializeFromJson(e.params);if(r.hasErrors){const o=`Got invalid params: ${r.errorMessage}`;return this._logger&&this._logger.debug({text:o,data:{requestObject:e,errorMessage:r.errorMessage}}),{error:{code:sf.invalidParams,message:o,data:{errors:r.errorMessage}}}}else{const o=r.value;let a;try{const l=await s.handler(o,t,i);if("error"in l||"errorMessage"in l){const c=l.error?s.requestType.errorSerializer.serializeToJson(l.error):void 0;a={error:{code:l.errorCode||sf.genericApplicationError,message:l.errorMessage||"An error was returned",data:c}}}else a={result:s.requestType.resultSerializer.serializeToJson(l.ok)}}catch(l){l instanceof jNe?a={error:{code:l.code,message:l.message}}:(this._logger&&this._logger.warn({text:`An exception was thrown while handling a request: ${l}.`,exception:l,data:{requestObject:e}}),a={error:{code:sf.unexpectedServerError,message:this.sendExceptionDetails?`An exception was thrown while handling a request: ${l}.`:"Server has thrown an unexpected exception"}})}return a}}async handleNotification(e,t){const i=this._handler.get(e.method);if(!i){for(const o of this._unknownNotificationHandler)o(e);this._unknownNotificationHandler.size===0&&this._logger&&this._logger.debug({text:`Unhandled notification "${e.method}"`,data:{requestObject:e}});return}if(i.kind!="notification"){this._logger&&this._logger.debug({text:`"${e.method}" is registered as request, but was sent as notification.`,data:{requestObject:e}});return}const s=i.notificationType.paramsSerializer.deserializeFromJson(e.params);if(s.hasErrors){this._logger&&this._logger.debug({text:`Got invalid params: ${s}`,data:{requestObject:e,errorMessage:s.errorMessage}});return}const r=s.value;for(const o of i.handlers)try{o(r,t)}catch(a){this._logger&&this._logger.warn({text:`An exception was thrown while handling a notification: ${a}.`,exception:a,data:{requestObject:e}})}}registerUnknownNotificationHandler(e){return SY(this._unknownNotificationHandler,e)}registerRequestHandler(e,t){if(this._handler.get(e.method))throw new Error(`Handler with method "${e.method}" already registered.`);return SY(this._handler,e.method,{kind:"request",requestType:e,handler:t})}registerNotificationHandler(e,t){let i=this._handler.get(e.method);if(!i)i={kind:"notification",notificationType:e,handlers:new Set},this._handler.set(e.method,i);else{if(i.kind!=="notification")throw new Error(`Method "${e.method}" was already registered as request handler.`);if(i.notificationType!==e)throw new Error(`Method "${e.method}" was registered for a different type.`)}return SY(i.handlers,t)}getRegisteredTypes(){const e=[];for(const t of this._handler.values())t.kind==="notification"?e.push(t.notificationType):t.kind==="request"&&e.push(t.requestType);return e}async request(e,t,i){if(!this.checkChannel(this._requestSender))throw new Error("Impossible");const s=e.paramsSerializer.serializeToJson(t);HNe(s);const r=await this._requestSender.sendRequest({method:e.method,params:s},i);if("error"in r){if(e.isOptional&&r.error.code===sf.methodNotFound)return IUe;let o;if(r.error.data!==void 0){const l=e.errorSerializer.deserializeFromJson(r.error.data);if(l.hasErrors)throw new Error(l.errorMessage);o=l.value}else o=void 0;const a=new jNe(r.error.message,o,r.error.code);throw this._requestDidErrorEventEmitter.fire({error:a}),a}else{const o=e.resultSerializer.deserializeFromJson(r.result);if(o.hasErrors)throw new Error("Could not deserialize response: "+o.errorMessage+`
|
|
1443
|
+
hint: use the 'bracket' attribute if matching on equal brackets is required.`);if(typeof a.open=="string"&&typeof a.token=="string"&&typeof a.close=="string")r.push({token:a.token+t.tokenPostfix,open:dv(t,a.open),close:dv(t,a.close)});else throw ks(t,"every element in the 'brackets' array must be a '{open,close,token}' object or array")}return t.brackets=r,t.noThrow=!0,t}function wan(n){BI.registerLanguage(n)}function Can(){let n=[];return n=n.concat(BI.getLanguages()),n}function San(n){return gn.get(lr).languageIdCodec.encodeLanguageId(n)}function xan(n,e){return gn.withServices(()=>{const i=gn.get(lr).onDidRequestRichLanguageFeatures(s=>{s===n&&(i.dispose(),e())});return i})}function kan(n,e){return gn.withServices(()=>{const i=gn.get(lr).onDidRequestBasicLanguageFeatures(s=>{s===n&&(i.dispose(),e())});return i})}function Ean(n,e){if(!gn.get(lr).isRegisteredLanguageId(n))throw new Error(`Cannot set configuration for unknown language ${n}`);return gn.get(js).register(n,e,100)}class Lan{constructor(e,t){this._languageId=e,this._actual=t}dispose(){}getInitialState(){return this._actual.getInitialState()}tokenize(e,t,i){if(typeof this._actual.tokenize=="function")return j2.adaptTokenize(this._languageId,this._actual,e,i);throw new Error("Not supported!")}tokenizeEncoded(e,t,i){const s=this._actual.tokenizeEncoded(e,i);return new Ez(s.tokens,s.endState)}}class j2{constructor(e,t,i,s){this._languageId=e,this._actual=t,this._languageService=i,this._standaloneThemeService=s}dispose(){}getInitialState(){return this._actual.getInitialState()}static _toClassicTokens(e,t){const i=[];let s=0;for(let r=0,o=e.length;r<o;r++){const a=e[r];let l=a.startIndex;r===0?l=0:l<s&&(l=s),i[r]=new kO(l,a.scopes,t),s=l}return i}static adaptTokenize(e,t,i,s){const r=t.tokenize(i,s),o=j2._toClassicTokens(r.tokens,e);let a;return r.endState.equals(s)?a=s:a=r.endState,new Xfe(o,a)}tokenize(e,t,i){return j2.adaptTokenize(this._languageId,this._actual,e,i)}_toBinaryTokens(e,t){const i=e.encodeLanguageId(this._languageId),s=this._standaloneThemeService.getColorTheme().tokenTheme,r=[];let o=0,a=0;for(let c=0,d=t.length;c<d;c++){const u=t[c],h=s.match(i,u.scopes)|1024;if(o>0&&r[o-1]===h)continue;let f=u.startIndex;c===0?f=0:f<a&&(f=a),r[o++]=f,r[o++]=h,a=f}const l=new Uint32Array(o);for(let c=0;c<o;c++)l[c]=r[c];return l}tokenizeEncoded(e,t,i){const s=this._actual.tokenize(e,i),r=this._toBinaryTokens(this._languageService.languageIdCodec,s.tokens);let o;return s.endState.equals(i)?o=i:o=s.endState,new Ez(r,o)}}function Ian(n){return typeof n.getInitialState=="function"}function Nan(n){return"tokenizeEncoded"in n}function Zze(n){return n&&typeof n.then=="function"}function Dan(n){const e=gn.get(Iu);if(n){const t=[null];for(let i=1,s=n.length;i<s;i++)t[i]=Me.fromHex(n[i]);e.setColorMapOverride(t)}else e.setColorMapOverride(null)}function Qze(n,e){return Nan(e)?new Lan(n,e):new j2(n,e,gn.get(lr),gn.get(Iu))}function kpe(n,e){const t=new k5t(async()=>{const i=await Promise.resolve(e.create());return i?Ian(i)?Qze(n,i):new P2(gn.get(lr),gn.get(Iu),n,Yze(n,i),gn.get(xn)):null});return tr.registerFactory(n,t)}function Tan(n,e){if(!gn.get(lr).isRegisteredLanguageId(n))throw new Error(`Cannot set tokens provider for unknown language ${n}`);return Zze(e)?kpe(n,{create:()=>e}):tr.register(n,Qze(n,e))}function Ran(n,e){const t=i=>new P2(gn.get(lr),gn.get(Iu),n,Yze(n,i),gn.get(xn));return Zze(e)?kpe(n,{create:()=>e}):tr.register(n,t(e))}function Man(n,e){return gn.get(Nt).referenceProvider.register(n,e)}function Pan(n,e){return gn.get(Nt).renameProvider.register(n,e)}function Oan(n,e){return gn.get(Nt).newSymbolNamesProvider.register(n,e)}function Aan(n,e){return gn.get(Nt).signatureHelpProvider.register(n,e)}function Fan(n,e){return gn.get(Nt).hoverProvider.register(n,{provideHover:async(i,s,r,o)=>{const a=i.getWordAtPosition(s);return Promise.resolve(e.provideHover(i,s,r,o)).then(l=>{if(l)return!l.range&&a&&(l.range=new z(s.lineNumber,a.startColumn,s.lineNumber,a.endColumn)),l.range||(l.range=new z(s.lineNumber,s.column,s.lineNumber,s.column)),l})}})}function $an(n,e){return gn.get(Nt).documentSymbolProvider.register(n,e)}function Ban(n,e){return gn.get(Nt).documentHighlightProvider.register(n,e)}function Han(n,e){return gn.get(Nt).linkedEditingRangeProvider.register(n,e)}function jan(n,e){return gn.get(Nt).definitionProvider.register(n,e)}function Wan(n,e){return gn.get(Nt).implementationProvider.register(n,e)}function Van(n,e){return gn.get(Nt).typeDefinitionProvider.register(n,e)}function zan(n,e){return gn.get(Nt).codeLensProvider.register(n,e)}function Uan(n,e,t){return gn.get(Nt).codeActionProvider.register(n,{providedCodeActionKinds:t==null?void 0:t.providedCodeActionKinds,documentation:t==null?void 0:t.documentation,provideCodeActions:(s,r,o,a)=>{const c=gn.get(Op).read({resource:s.uri}).filter(d=>z.areIntersectingOrTouching(d,r));return e.provideCodeActions(s,r,{markers:c,only:o.only,trigger:o.trigger},a)},resolveCodeAction:e.resolveCodeAction})}function Kan(n,e){return gn.get(Nt).documentFormattingEditProvider.register(n,e)}function qan(n,e){return gn.get(Nt).documentRangeFormattingEditProvider.register(n,e)}function Gan(n,e){return gn.get(Nt).onTypeFormattingEditProvider.register(n,e)}function Xan(n,e){return gn.get(Nt).linkProvider.register(n,e)}function Yan(n,e){return gn.get(Nt).completionProvider.register(n,e)}function Zan(n,e){return gn.get(Nt).colorProvider.register(n,e)}function Qan(n,e){return gn.get(Nt).foldingRangeProvider.register(n,e)}function Jan(n,e){return gn.get(Nt).declarationProvider.register(n,e)}function eln(n,e){return gn.get(Nt).selectionRangeProvider.register(n,e)}function tln(n,e){return gn.get(Nt).documentSemanticTokensProvider.register(n,e)}function nln(n,e){return gn.get(Nt).documentRangeSemanticTokensProvider.register(n,e)}function iln(n,e){return gn.get(Nt).inlineCompletionsProvider.register(n,e)}function sln(n,e){return gn.get(Nt).inlayHintsProvider.register(n,e)}function rln(){return{register:wan,getLanguages:Can,onLanguage:xan,onLanguageEncountered:kan,getEncodedLanguageId:San,setLanguageConfiguration:Ean,setColorMap:Dan,registerTokensProviderFactory:kpe,setTokensProvider:Tan,setMonarchTokensProvider:Ran,registerReferenceProvider:Man,registerRenameProvider:Pan,registerNewSymbolNameProvider:Oan,registerCompletionItemProvider:Yan,registerSignatureHelpProvider:Aan,registerHoverProvider:Fan,registerDocumentSymbolProvider:$an,registerDocumentHighlightProvider:Ban,registerLinkedEditingRangeProvider:Han,registerDefinitionProvider:jan,registerImplementationProvider:Wan,registerTypeDefinitionProvider:Van,registerCodeLensProvider:zan,registerCodeActionProvider:Uan,registerDocumentFormattingEditProvider:Kan,registerDocumentRangeFormattingEditProvider:qan,registerOnTypeFormattingEditProvider:Gan,registerLinkProvider:Xan,registerColorProvider:Zan,registerFoldingRangeProvider:Qan,registerDeclarationProvider:Jan,registerSelectionRangeProvider:eln,registerDocumentSemanticTokensProvider:tln,registerDocumentRangeSemanticTokensProvider:nln,registerInlineCompletionsProvider:iln,registerInlayHintsProvider:sln,DocumentHighlightKind:Soe,CompletionItemKind:_oe,CompletionItemTag:voe,CompletionItemInsertTextRule:poe,SymbolKind:tae,SymbolTag:nae,IndentAction:Doe,CompletionTriggerKind:boe,SignatureHelpTriggerKind:eae,InlayHintKind:Roe,InlineCompletionTriggerKind:Ooe,CodeActionTriggerType:moe,NewSymbolNameTag:Woe,NewSymbolNameTriggerKind:Voe,PartialAcceptTriggerKind:Koe,HoverVerbosityAction:Noe,InlineCompletionEndOfLifeReasonKind:Moe,InlineCompletionHintStyle:Poe,FoldingRangeKind:Ix,SelectedSuggestionInfo:NWe,EditDeltaInfo:FO}}wl.wrappingIndent.defaultValue=0;wl.glyphMargin.defaultValue=!1;wl.autoIndent.defaultValue=3;wl.overviewRulerLanes.defaultValue=2;h2.setFormatterSelector((n,e,t)=>Promise.resolve(n[0]));const mc=kze();mc.editor=man();mc.languages=rln();const Jze=mc.CancellationTokenSource,Tw=mc.Emitter,Epe=mc.KeyCode,Lpe=mc.KeyMod,Zv=mc.Position,Hx=mc.Range,eUe=mc.Selection,tUe=mc.SelectionDirection,df=mc.MarkerSeverity,$6=mc.MarkerTag,yU=mc.Uri,nUe=mc.Token,_f=mc.editor,It=mc.languages,yY=Ahe(),VL=globalThis;(yY!=null&&yY.globalAPI||typeof VL.define=="function"&&VL.define.amd)&&(VL.monaco=mc);typeof VL.require<"u"&&typeof VL.require.config=="function"&&VL.require.config({ignoreDuplicateModules:["vscode-languageserver-types","vscode-languageserver-types/main","vscode-languageserver-textdocument","vscode-languageserver-textdocument/main","vscode-nls","vscode-nls/vscode-nls","jsonc-parser","jsonc-parser/main","vscode-uri","vscode-uri/index","vs/basic-languages/typescript/typescript"]});const oln=Object.freeze(Object.defineProperty({__proto__:null,CancellationTokenSource:Jze,Emitter:Tw,KeyCode:Epe,KeyMod:Lpe,MarkerSeverity:df,MarkerTag:$6,Position:Zv,Range:Hx,Selection:eUe,SelectionDirection:tUe,Token:nUe,Uri:yU,editor:_f,languages:It},Symbol.toStringTag,{value:"Module"}));let Ipe=class{constructor(e,t,i){this._onDidChange=new Tw,this._languageId=e,this.setOptions(t),this.setModeConfiguration(i)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this.options}get options(){return this._options}setOptions(e){this._options=e||Object.create(null),this._onDidChange.fire(this)}setDiagnosticsOptions(e){this.setOptions(e)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}};const Npe={validate:!0,lint:{compatibleVendorPrefixes:"ignore",vendorPrefix:"warning",duplicateProperties:"warning",emptyRules:"warning",importStatement:"ignore",boxModel:"ignore",universalSelector:"ignore",zeroUnits:"ignore",fontFaceProperties:"warning",hexColorLength:"error",argumentsInColorFunction:"error",unknownProperties:"warning",ieHack:"ignore",unknownVendorSpecificProperties:"ignore",propertyIgnoredDueToDisplay:"warning",important:"ignore",float:"ignore",idSelector:"ignore"},data:{useDefaultDataProvider:!0},format:{newlineBetweenSelectors:!0,newlineBetweenRules:!0,spaceAroundSelectorSeparator:!1,braceStyle:"collapse",maxPreserveNewLines:void 0,preserveNewLines:!0}},Dpe={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0,documentFormattingEdits:!0,documentRangeFormattingEdits:!0},iUe=new Ipe("css",Npe,Dpe),sUe=new Ipe("scss",Npe,Dpe),rUe=new Ipe("less",Npe,Dpe);function Tpe(){return re(()=>import("./cssMode-DiwCtD5c.js"),__vite__mapDeps([0,1]))}It.onLanguage("less",()=>{Tpe().then(n=>n.setupMode(rUe))});It.onLanguage("scss",()=>{Tpe().then(n=>n.setupMode(sUe))});It.onLanguage("css",()=>{Tpe().then(n=>n.setupMode(iUe))});const oUe=Object.freeze(Object.defineProperty({__proto__:null,cssDefaults:iUe,lessDefaults:rUe,scssDefaults:sUe},Symbol.toStringTag,{value:"Module"}));let aln=class{constructor(e,t,i){this._onDidChange=new Tw,this._languageId=e,this.setOptions(t),this.setModeConfiguration(i)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get options(){return this._options}get modeConfiguration(){return this._modeConfiguration}setOptions(e){this._options=e||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}};const lln={tabSize:4,insertSpaces:!1,wrapLineLength:120,unformatted:'default": "a, abbr, acronym, b, bdo, big, br, button, cite, code, dfn, em, i, img, input, kbd, label, map, object, q, samp, select, small, span, strong, sub, sup, textarea, tt, var',contentUnformatted:"pre",indentInnerHtml:!1,preserveNewLines:!0,maxPreserveNewLines:void 0,indentHandlebars:!1,endWithNewline:!1,extraLiners:"head, body, /html",wrapAttributes:"auto"},wU={format:lln,suggest:{},data:{useDefaultDataProvider:!0}};function CU(n){return{completionItems:!0,hovers:!0,documentSymbols:!0,links:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,selectionRanges:!0,diagnostics:n===AM,documentFormattingEdits:n===AM,documentRangeFormattingEdits:n===AM}}const AM="html",ANe="handlebars",FNe="razor",aUe=SU(AM,wU,CU(AM)),cln=aUe.defaults,lUe=SU(ANe,wU,CU(ANe)),dln=lUe.defaults,cUe=SU(FNe,wU,CU(FNe)),uln=cUe.defaults;function hln(){return re(()=>import("./htmlMode-JyRqPjN0.js"),__vite__mapDeps([2,1]))}function SU(n,e=wU,t=CU(n)){const i=new aln(n,e,t);let s;const r=It.onLanguage(n,async()=>{s=(await hln()).setupMode(i)});return{defaults:i,dispose(){r.dispose(),s==null||s.dispose(),s=void 0}}}const dUe=Object.freeze(Object.defineProperty({__proto__:null,handlebarDefaults:dln,handlebarLanguageService:lUe,htmlDefaults:cln,htmlLanguageService:aUe,razorDefaults:uln,razorLanguageService:cUe,registerHTMLLanguageService:SU},Symbol.toStringTag,{value:"Module"}));let fln=class{constructor(e,t,i){this._onDidChange=new Tw,this._languageId=e,this.setDiagnosticsOptions(t),this.setModeConfiguration(i)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}};const gln={validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},mln={documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},uUe=new fln("json",gln,mln),pln=()=>hUe().then(n=>n.getWorker());function hUe(){return re(()=>import("./jsonMode-COyDpXxP.js"),__vite__mapDeps([3,1]))}It.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]});It.onLanguage("json",()=>{hUe().then(n=>n.setupMode(uUe))});const fUe=Object.freeze(Object.defineProperty({__proto__:null,getWorker:pln,jsonDefaults:uUe},Symbol.toStringTag,{value:"Module"})),_ln="5.9.3";var gUe=(n=>(n[n.None=0]="None",n[n.CommonJS=1]="CommonJS",n[n.AMD=2]="AMD",n[n.UMD=3]="UMD",n[n.System=4]="System",n[n.ES2015=5]="ES2015",n[n.ESNext=99]="ESNext",n))(gUe||{}),mUe=(n=>(n[n.None=0]="None",n[n.Preserve=1]="Preserve",n[n.React=2]="React",n[n.ReactNative=3]="ReactNative",n[n.ReactJSX=4]="ReactJSX",n[n.ReactJSXDev=5]="ReactJSXDev",n))(mUe||{}),pUe=(n=>(n[n.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",n[n.LineFeed=1]="LineFeed",n))(pUe||{}),_Ue=(n=>(n[n.ES3=0]="ES3",n[n.ES5=1]="ES5",n[n.ES2015=2]="ES2015",n[n.ES2016=3]="ES2016",n[n.ES2017=4]="ES2017",n[n.ES2018=5]="ES2018",n[n.ES2019=6]="ES2019",n[n.ES2020=7]="ES2020",n[n.ESNext=99]="ESNext",n[n.JSON=100]="JSON",n[n.Latest=99]="Latest",n))(_Ue||{}),vUe=(n=>(n[n.Classic=1]="Classic",n[n.NodeJs=2]="NodeJs",n))(vUe||{});class bUe{constructor(e,t,i,s,r){this._onDidChange=new Tw,this._onDidExtraLibsChange=new Tw,this._extraLibs=Object.create(null),this._removedExtraLibs=Object.create(null),this._eagerModelSync=!1,this.setCompilerOptions(e),this.setDiagnosticsOptions(t),this.setWorkerOptions(i),this.setInlayHintsOptions(s),this.setModeConfiguration(r),this._onDidExtraLibsChangeTimeout=-1}get onDidChange(){return this._onDidChange.event}get onDidExtraLibsChange(){return this._onDidExtraLibsChange.event}get modeConfiguration(){return this._modeConfiguration}get workerOptions(){return this._workerOptions}get inlayHintsOptions(){return this._inlayHintsOptions}getExtraLibs(){return this._extraLibs}addExtraLib(e,t){let i;if(typeof t>"u"?i=`ts:extralib-${Math.random().toString(36).substring(2,15)}`:i=t,this._extraLibs[i]&&this._extraLibs[i].content===e)return{dispose:()=>{}};let s=1;return this._removedExtraLibs[i]&&(s=this._removedExtraLibs[i]+1),this._extraLibs[i]&&(s=this._extraLibs[i].version+1),this._extraLibs[i]={content:e,version:s},this._fireOnDidExtraLibsChangeSoon(),{dispose:()=>{let r=this._extraLibs[i];r&&r.version===s&&(delete this._extraLibs[i],this._removedExtraLibs[i]=s,this._fireOnDidExtraLibsChangeSoon())}}}setExtraLibs(e){for(const t in this._extraLibs)this._removedExtraLibs[t]=this._extraLibs[t].version;if(this._extraLibs=Object.create(null),e&&e.length>0)for(const t of e){const i=t.filePath||`ts:extralib-${Math.random().toString(36).substring(2,15)}`,s=t.content;let r=1;this._removedExtraLibs[i]&&(r=this._removedExtraLibs[i]+1),this._extraLibs[i]={content:s,version:r}}this._fireOnDidExtraLibsChangeSoon()}_fireOnDidExtraLibsChangeSoon(){this._onDidExtraLibsChangeTimeout===-1&&(this._onDidExtraLibsChangeTimeout=window.setTimeout(()=>{this._onDidExtraLibsChangeTimeout=-1,this._onDidExtraLibsChange.fire(void 0)},0))}getCompilerOptions(){return this._compilerOptions}setCompilerOptions(e){this._compilerOptions=e||Object.create(null),this._onDidChange.fire(void 0)}getDiagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setWorkerOptions(e){this._workerOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setInlayHintsOptions(e){this._inlayHintsOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setMaximumWorkerIdleTime(e){}setEagerModelSync(e){this._eagerModelSync=e}getEagerModelSync(){return this._eagerModelSync}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(void 0)}}const vln=_ln,yUe={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,diagnostics:!0,documentRangeFormattingEdits:!0,signatureHelp:!0,onTypeFormattingEdits:!0,codeActions:!0,inlayHints:!0},wUe=new bUe({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},yUe),CUe=new bUe({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},yUe),bln=()=>xU().then(n=>n.getTypeScriptWorker()),yln=()=>xU().then(n=>n.getJavaScriptWorker());function xU(){return re(()=>import("./tsMode-CxUP_h7m.js"),[])}It.onLanguage("typescript",()=>xU().then(n=>n.setupTypeScript(wUe)));It.onLanguage("javascript",()=>xU().then(n=>n.setupJavaScript(CUe)));const SUe=Object.freeze(Object.defineProperty({__proto__:null,JsxEmit:mUe,ModuleKind:gUe,ModuleResolutionKind:vUe,NewLineKind:pUe,ScriptTarget:_Ue,getJavaScriptWorker:yln,getTypeScriptWorker:bln,javascriptDefaults:CUe,typescriptDefaults:wUe,typescriptVersion:vln},Symbol.toStringTag,{value:"Module"})),xUe={},wY={};class Rpe{static getOrCreate(e){return wY[e]||(wY[e]=new Rpe(e)),wY[e]}constructor(e){this._languageId=e,this._loadingTriggered=!1,this._lazyLoadPromise=new Promise((t,i)=>{this._lazyLoadPromiseResolve=t,this._lazyLoadPromiseReject=i})}load(){return this._loadingTriggered||(this._loadingTriggered=!0,xUe[this._languageId].loader().then(e=>this._lazyLoadPromiseResolve(e),e=>this._lazyLoadPromiseReject(e))),this._lazyLoadPromise}}function Jt(n){const e=n.id;xUe[e]=n,It.register(n);const t=Rpe.getOrCreate(e);It.registerTokensProviderFactory(e,{create:async()=>(await t.load()).language}),It.onLanguageEncountered(e,async()=>{const i=await t.load();It.setLanguageConfiguration(e,i.conf)})}Jt({id:"abap",extensions:[".abap"],aliases:["abap","ABAP"],loader:()=>re(()=>import("./abap-DLDM7-KI.js"),[])});Jt({id:"apex",extensions:[".cls"],aliases:["Apex","apex"],mimetypes:["text/x-apex-source","text/x-apex"],loader:()=>re(()=>import("./apex-DNDY2TF8.js"),[])});Jt({id:"azcli",extensions:[".azcli"],aliases:["Azure CLI","azcli"],loader:()=>re(()=>import("./azcli-Y6nb8tq_.js"),[])});Jt({id:"bat",extensions:[".bat",".cmd"],aliases:["Batch","bat"],loader:()=>re(()=>import("./bat-BwHxbl9M.js"),[])});Jt({id:"bicep",extensions:[".bicep"],aliases:["Bicep"],loader:()=>re(()=>import("./bicep-CFznDFnq.js"),[])});Jt({id:"cameligo",extensions:[".mligo"],aliases:["Cameligo"],loader:()=>re(()=>import("./cameligo-Bf6VGUru.js"),[])});Jt({id:"clojure",extensions:[".clj",".cljs",".cljc",".edn"],aliases:["clojure","Clojure"],loader:()=>re(()=>import("./clojure-Dnu-v4kV.js"),[])});Jt({id:"coffeescript",extensions:[".coffee"],aliases:["CoffeeScript","coffeescript","coffee"],mimetypes:["text/x-coffeescript","text/coffeescript"],loader:()=>re(()=>import("./coffee-Bd8akH9Z.js"),[])});Jt({id:"c",extensions:[".c",".h"],aliases:["C","c"],loader:()=>re(()=>import("./cpp-BbWJElDN.js"),[])});Jt({id:"cpp",extensions:[".cpp",".cc",".cxx",".hpp",".hh",".hxx"],aliases:["C++","Cpp","cpp"],loader:()=>re(()=>import("./cpp-BbWJElDN.js"),[])});Jt({id:"csharp",extensions:[".cs",".csx",".cake"],aliases:["C#","csharp"],loader:()=>re(()=>import("./csharp-Co3qMtFm.js"),[])});Jt({id:"csp",extensions:[".csp"],aliases:["CSP","csp"],loader:()=>re(()=>import("./csp-D-4FJmMZ.js"),[])});Jt({id:"css",extensions:[".css"],aliases:["CSS","css"],mimetypes:["text/css"],loader:()=>re(()=>import("./css-DdJfP1eB.js"),[])});Jt({id:"cypher",extensions:[".cypher",".cyp"],aliases:["Cypher","OpenCypher"],loader:()=>re(()=>import("./cypher-cTPe9QuQ.js"),[])});Jt({id:"dart",extensions:[".dart"],aliases:["Dart","dart"],mimetypes:["text/x-dart-source","text/x-dart"],loader:()=>re(()=>import("./dart-BOtBlQCF.js"),[])});Jt({id:"dockerfile",extensions:[".dockerfile"],filenames:["Dockerfile"],aliases:["Dockerfile"],loader:()=>re(()=>import("./dockerfile-BG73LgW2.js"),[])});Jt({id:"ecl",extensions:[".ecl"],aliases:["ECL","Ecl","ecl"],loader:()=>re(()=>import("./ecl-BEgZUVRK.js"),[])});Jt({id:"elixir",extensions:[".ex",".exs"],aliases:["Elixir","elixir","ex"],loader:()=>re(()=>import("./elixir-BkW5O-1t.js"),[])});Jt({id:"flow9",extensions:[".flow"],aliases:["Flow9","Flow","flow9","flow"],loader:()=>re(()=>import("./flow9-BeJ5waoc.js"),[])});Jt({id:"fsharp",extensions:[".fs",".fsi",".ml",".mli",".fsx",".fsscript"],aliases:["F#","FSharp","fsharp"],loader:()=>re(()=>import("./fsharp-PahG7c26.js"),[])});Jt({id:"freemarker2",extensions:[".ftl",".ftlh",".ftlx"],aliases:["FreeMarker2","Apache FreeMarker2"],loader:()=>re(()=>import("./freemarker2-BQf1HvOR.js"),[]).then(n=>n.TagAutoInterpolationDollar)});Jt({id:"freemarker2.tag-angle.interpolation-dollar",aliases:["FreeMarker2 (Angle/Dollar)","Apache FreeMarker2 (Angle/Dollar)"],loader:()=>re(()=>import("./freemarker2-BQf1HvOR.js"),[]).then(n=>n.TagAngleInterpolationDollar)});Jt({id:"freemarker2.tag-bracket.interpolation-dollar",aliases:["FreeMarker2 (Bracket/Dollar)","Apache FreeMarker2 (Bracket/Dollar)"],loader:()=>re(()=>import("./freemarker2-BQf1HvOR.js"),[]).then(n=>n.TagBracketInterpolationDollar)});Jt({id:"freemarker2.tag-angle.interpolation-bracket",aliases:["FreeMarker2 (Angle/Bracket)","Apache FreeMarker2 (Angle/Bracket)"],loader:()=>re(()=>import("./freemarker2-BQf1HvOR.js"),[]).then(n=>n.TagAngleInterpolationBracket)});Jt({id:"freemarker2.tag-bracket.interpolation-bracket",aliases:["FreeMarker2 (Bracket/Bracket)","Apache FreeMarker2 (Bracket/Bracket)"],loader:()=>re(()=>import("./freemarker2-BQf1HvOR.js"),[]).then(n=>n.TagBracketInterpolationBracket)});Jt({id:"freemarker2.tag-auto.interpolation-dollar",aliases:["FreeMarker2 (Auto/Dollar)","Apache FreeMarker2 (Auto/Dollar)"],loader:()=>re(()=>import("./freemarker2-BQf1HvOR.js"),[]).then(n=>n.TagAutoInterpolationDollar)});Jt({id:"freemarker2.tag-auto.interpolation-bracket",aliases:["FreeMarker2 (Auto/Bracket)","Apache FreeMarker2 (Auto/Bracket)"],loader:()=>re(()=>import("./freemarker2-BQf1HvOR.js"),[]).then(n=>n.TagAutoInterpolationBracket)});Jt({id:"go",extensions:[".go"],aliases:["Go"],loader:()=>re(()=>import("./go-acbASCJo.js"),[])});Jt({id:"graphql",extensions:[".graphql",".gql"],aliases:["GraphQL","graphql","gql"],mimetypes:["application/graphql"],loader:()=>re(()=>import("./graphql-BxJiqAUM.js"),[])});Jt({id:"handlebars",extensions:[".handlebars",".hbs"],aliases:["Handlebars","handlebars","hbs"],mimetypes:["text/x-handlebars-template"],loader:()=>re(()=>import("./handlebars-DFgyCEY2.js"),[])});Jt({id:"hcl",extensions:[".tf",".tfvars",".hcl"],aliases:["Terraform","tf","HCL","hcl"],loader:()=>re(()=>import("./hcl-DtV1sZF8.js"),[])});Jt({id:"html",extensions:[".html",".htm",".shtml",".xhtml",".mdoc",".jsp",".asp",".aspx",".jshtm"],aliases:["HTML","htm","html","xhtml"],mimetypes:["text/html","text/x-jshtm","text/template","text/ng-template"],loader:()=>re(()=>import("./html-BV8g5c9v.js"),[])});Jt({id:"ini",extensions:[".ini",".properties",".gitconfig"],filenames:["config",".gitattributes",".gitconfig",".editorconfig"],aliases:["Ini","ini"],loader:()=>re(()=>import("./ini-Kd9XrMLS.js"),[])});Jt({id:"java",extensions:[".java",".jav"],aliases:["Java","java"],mimetypes:["text/x-java-source","text/x-java"],loader:()=>re(()=>import("./java-CXBNlu9o.js"),[])});Jt({id:"javascript",extensions:[".js",".es6",".jsx",".mjs",".cjs"],firstLine:"^#!.*\\bnode",filenames:["jakefile"],aliases:["JavaScript","javascript","js"],mimetypes:["text/javascript"],loader:()=>re(()=>import("./javascript-BqCcEQX1.js"),__vite__mapDeps([4,5]))});Jt({id:"julia",extensions:[".jl"],aliases:["julia","Julia"],loader:()=>re(()=>import("./julia-cl7-CwDS.js"),[])});Jt({id:"kotlin",extensions:[".kt",".kts"],aliases:["Kotlin","kotlin"],mimetypes:["text/x-kotlin-source","text/x-kotlin"],loader:()=>re(()=>import("./kotlin-s7OhZKlX.js"),[])});Jt({id:"less",extensions:[".less"],aliases:["Less","less"],mimetypes:["text/x-less","text/less"],loader:()=>re(()=>import("./less-9HpZscsL.js"),[])});Jt({id:"lexon",extensions:[".lex"],aliases:["Lexon"],loader:()=>re(()=>import("./lexon-OrD6JF1K.js"),[])});Jt({id:"lua",extensions:[".lua"],aliases:["Lua","lua"],loader:()=>re(()=>import("./lua-Cyyb5UIc.js"),[])});Jt({id:"liquid",extensions:[".liquid",".html.liquid"],aliases:["Liquid","liquid"],mimetypes:["application/liquid"],loader:()=>re(()=>import("./liquid-Bz_nlZQO.js"),[])});Jt({id:"m3",extensions:[".m3",".i3",".mg",".ig"],aliases:["Modula-3","Modula3","modula3","m3"],loader:()=>re(()=>import("./m3-B8OfTtLu.js"),[])});Jt({id:"markdown",extensions:[".md",".markdown",".mdown",".mkdn",".mkd",".mdwn",".mdtxt",".mdtext"],aliases:["Markdown","markdown"],loader:()=>re(()=>import("./markdown-BFxVWTOG.js"),[])});Jt({id:"mdx",extensions:[".mdx"],aliases:["MDX","mdx"],loader:()=>re(()=>import("./mdx-DREXNfTL.js"),[])});Jt({id:"mips",extensions:[".s"],aliases:["MIPS","MIPS-V"],mimetypes:["text/x-mips","text/mips","text/plaintext"],loader:()=>re(()=>import("./mips-CiqrrVzr.js"),[])});Jt({id:"msdax",extensions:[".dax",".msdax"],aliases:["DAX","MSDAX"],loader:()=>re(()=>import("./msdax-DmeGPVcC.js"),[])});Jt({id:"mysql",extensions:[],aliases:["MySQL","mysql"],loader:()=>re(()=>import("./mysql-C_tMU-Nz.js"),[])});Jt({id:"objective-c",extensions:[".m"],aliases:["Objective-C"],loader:()=>re(()=>import("./objective-c-BDtDVThU.js"),[])});Jt({id:"pascal",extensions:[".pas",".p",".pp"],aliases:["Pascal","pas"],mimetypes:["text/x-pascal-source","text/x-pascal"],loader:()=>re(()=>import("./pascal-vHIfCaH5.js"),[])});Jt({id:"pascaligo",extensions:[".ligo"],aliases:["Pascaligo","ligo"],loader:()=>re(()=>import("./pascaligo-DtZ0uQbO.js"),[])});Jt({id:"perl",extensions:[".pl",".pm"],aliases:["Perl","pl"],loader:()=>re(()=>import("./perl-Ub6l9XKa.js"),[])});Jt({id:"pgsql",extensions:[],aliases:["PostgreSQL","postgres","pg","postgre"],loader:()=>re(()=>import("./pgsql-BlNEE0v7.js"),[])});Jt({id:"php",extensions:[".php",".php4",".php5",".phtml",".ctp"],aliases:["PHP","php"],mimetypes:["application/x-php"],loader:()=>re(()=>import("./php-BBUBE1dy.js"),[])});Jt({id:"pla",extensions:[".pla"],loader:()=>re(()=>import("./pla-DSh2-awV.js"),[])});Jt({id:"postiats",extensions:[".dats",".sats",".hats"],aliases:["ATS","ATS/Postiats"],loader:()=>re(()=>import("./postiats-CocnycG-.js"),[])});Jt({id:"powerquery",extensions:[".pq",".pqm"],aliases:["PQ","M","Power Query","Power Query M"],loader:()=>re(()=>import("./powerquery-tScXyioY.js"),[])});Jt({id:"powershell",extensions:[".ps1",".psm1",".psd1"],aliases:["PowerShell","powershell","ps","ps1"],loader:()=>re(()=>import("./powershell-COWaemsV.js"),[])});Jt({id:"proto",extensions:[".proto"],aliases:["protobuf","Protocol Buffers"],loader:()=>re(()=>import("./protobuf-Brw8urJB.js"),[])});Jt({id:"pug",extensions:[".jade",".pug"],aliases:["Pug","Jade","jade"],loader:()=>re(()=>import("./pug-8SOpv6rk.js"),[])});Jt({id:"python",extensions:[".py",".rpy",".pyw",".cpy",".gyp",".gypi"],aliases:["Python","py"],firstLine:"^#!/.*\\bpython[0-9.-]*\\b",loader:()=>re(()=>import("./python-BaegM-qN.js"),[])});Jt({id:"qsharp",extensions:[".qs"],aliases:["Q#","qsharp"],loader:()=>re(()=>import("./qsharp-Bw9ernYp.js"),[])});Jt({id:"r",extensions:[".r",".rhistory",".rmd",".rprofile",".rt"],aliases:["R","r"],loader:()=>re(()=>import("./r-j7ic8hl3.js"),[])});Jt({id:"razor",extensions:[".cshtml"],aliases:["Razor","razor"],mimetypes:["text/x-cshtml"],loader:()=>re(()=>import("./razor-EZlNrkt1.js"),[])});Jt({id:"redis",extensions:[".redis"],aliases:["redis"],loader:()=>re(()=>import("./redis-Bu5POkcn.js"),[])});Jt({id:"redshift",extensions:[],aliases:["Redshift","redshift"],loader:()=>re(()=>import("./redshift-Bs9aos_-.js"),[])});Jt({id:"restructuredtext",extensions:[".rst"],aliases:["reStructuredText","restructuredtext"],loader:()=>re(()=>import("./restructuredtext-CqXO7rUv.js"),[])});Jt({id:"ruby",extensions:[".rb",".rbx",".rjs",".gemspec",".pp"],filenames:["rakefile","Gemfile"],aliases:["Ruby","rb"],loader:()=>re(()=>import("./ruby-zBfavPgS.js"),[])});Jt({id:"rust",extensions:[".rs",".rlib"],aliases:["Rust","rust"],loader:()=>re(()=>import("./rust-BzKRNQWT.js"),[])});Jt({id:"sb",extensions:[".sb"],aliases:["Small Basic","sb"],loader:()=>re(()=>import("./sb-BBc9UKZt.js"),[])});Jt({id:"scala",extensions:[".scala",".sc",".sbt"],aliases:["Scala","scala","SBT","Sbt","sbt","Dotty","dotty"],mimetypes:["text/x-scala-source","text/x-scala","text/x-sbt","text/x-dotty"],loader:()=>re(()=>import("./scala-D9hQfWCl.js"),[])});Jt({id:"scheme",extensions:[".scm",".ss",".sch",".rkt"],aliases:["scheme","Scheme"],loader:()=>re(()=>import("./scheme-BPhDTwHR.js"),[])});Jt({id:"scss",extensions:[".scss"],aliases:["Sass","sass","scss"],mimetypes:["text/x-scss","text/scss"],loader:()=>re(()=>import("./scss-CBJaRo0y.js"),[])});Jt({id:"shell",extensions:[".sh",".bash"],aliases:["Shell","sh"],loader:()=>re(()=>import("./shell-DiJ1NA_G.js"),[])});Jt({id:"sol",extensions:[".sol"],aliases:["sol","solidity","Solidity"],loader:()=>re(()=>import("./solidity-Db0IVjzk.js"),[])});Jt({id:"aes",extensions:[".aes"],aliases:["aes","sophia","Sophia"],loader:()=>re(()=>import("./sophia-CnS9iZB_.js"),[])});Jt({id:"sparql",extensions:[".rq"],aliases:["sparql","SPARQL"],loader:()=>re(()=>import("./sparql-CJmd_6j2.js"),[])});Jt({id:"sql",extensions:[".sql"],aliases:["SQL"],loader:()=>re(()=>import("./sql-ClhHkBeG.js"),[])});Jt({id:"st",extensions:[".st",".iecst",".iecplc",".lc3lib",".TcPOU",".TcDUT",".TcGVL",".TcIO"],aliases:["StructuredText","scl","stl"],loader:()=>re(()=>import("./st-CHwy0fLd.js"),[])});Jt({id:"swift",aliases:["Swift","swift"],extensions:[".swift"],mimetypes:["text/swift"],loader:()=>re(()=>import("./swift-Bqt4WxQ4.js"),[])});Jt({id:"systemverilog",extensions:[".sv",".svh"],aliases:["SV","sv","SystemVerilog","systemverilog"],loader:()=>re(()=>import("./systemverilog-Bs9z6M-B.js"),[])});Jt({id:"verilog",extensions:[".v",".vh"],aliases:["V","v","Verilog","verilog"],loader:()=>re(()=>import("./systemverilog-Bs9z6M-B.js"),[])});Jt({id:"tcl",extensions:[".tcl"],aliases:["tcl","Tcl","tcltk","TclTk","tcl/tk","Tcl/Tk"],loader:()=>re(()=>import("./tcl-Dm6ycUr_.js"),[])});Jt({id:"twig",extensions:[".twig"],aliases:["Twig","twig"],mimetypes:["text/x-twig"],loader:()=>re(()=>import("./twig-Csy3S7wG.js"),[])});Jt({id:"typescript",extensions:[".ts",".tsx",".cts",".mts"],aliases:["TypeScript","ts","typescript"],mimetypes:["text/typescript"],loader:()=>re(()=>import("./typescript-DK75tgf9.js"),[])});Jt({id:"typespec",extensions:[".tsp"],aliases:["TypeSpec"],loader:()=>re(()=>import("./typespec-Btyra-wh.js"),[])});Jt({id:"vb",extensions:[".vb"],aliases:["Visual Basic","vb"],loader:()=>re(()=>import("./vb-Db0cS2oM.js"),[])});Jt({id:"wgsl",extensions:[".wgsl"],aliases:["WebGPU Shading Language","WGSL","wgsl"],loader:()=>re(()=>import("./wgsl-BTesnYfV.js"),[])});Jt({id:"xml",extensions:[".xml",".xsd",".dtd",".ascx",".csproj",".config",".props",".targets",".wxi",".wxl",".wxs",".xaml",".svg",".svgz",".opf",".xslt",".xsl"],firstLine:"(\\<\\?xml.*)|(\\<svg)|(\\<\\!doctype\\s+svg)",aliases:["XML","xml"],mimetypes:["text/xml","application/xml","application/xaml+xml","application/xml-dtd"],loader:()=>re(()=>import("./xml-CKJB1DbG.js"),[])});Jt({id:"yaml",extensions:[".yaml",".yml"],aliases:["YAML","yaml","YML","yml"],mimetypes:["application/x-yaml","text/x-yaml"],loader:()=>re(()=>import("./yaml-CJFgfFzM.js"),[])});var wln=Object.defineProperty,Cln=(n,e,t)=>e in n?wln(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,qt=(n,e,t)=>Cln(n,typeof e!="symbol"?e+"":e,t),o$,$Ne,a$,CY,l$;function Sln(n){return n.method!==void 0}var BNe;(function(n){function e(t){return t}n.create=e})(BNe||(BNe={}));var sf;(function(n){n.parseError=-32700,n.invalidRequest=-32600,n.methodNotFound=-32601,n.invalidParams=-32602,n.internalError=-32603;function e(r){return-32099<=r&&r<=-32e3}n.isServerError=e;function t(r){if(!e(r))throw new Error("Invalid range for a server error.");return r}n.serverError=t,n.unexpectedServerError=-32e3;function i(r){return!0}n.isApplicationError=i;function s(r){return r}n.applicationError=s,n.genericApplicationError=-320100})(sf||(sf={}));var Mpe=class{constructor(){qt(this,"listeners",new Set),qt(this,"event",n=>(this.listeners.add(n),{dispose:()=>{this.listeners.delete(n)}}))}fire(n){this.listeners.forEach(e=>e(n))}},xln=class{constructor(n){qt(this,"_value"),qt(this,"eventEmitter"),this._value=n,this.eventEmitter=new Mpe}get value(){return this._value}set value(n){this._value!==n&&(this._value=n,this.eventEmitter.fire(n))}get onChange(){return this.eventEmitter.event}};function kln(n,e){const t=setTimeout(e,n);return{dispose:()=>clearTimeout(t)}}function SY(n,e,t){return n instanceof Set?(n.add(e),{dispose:()=>n.delete(e)}):(n.set(e,t),{dispose:()=>n.delete(e)})}var Eln=class{constructor(){qt(this,"_state","none"),qt(this,"promise"),qt(this,"resolve",()=>{}),qt(this,"reject",()=>{}),this.promise=new Promise((n,e)=>{this.resolve=n,this.reject=e})}get state(){return this._state}},kUe=(o$=class{constructor(){qt(this,"_unprocessedMessages",[]),qt(this,"_messageListener"),qt(this,"id",o$.id++),qt(this,"_state",new xln({state:"open"})),qt(this,"state",this._state)}setListener(n){if(this._messageListener=n,!!n)for(;this._unprocessedMessages.length>0&&this._messageListener!==void 0;){const e=this._unprocessedMessages.shift();this._messageListener(e)}}send(n){return this._sendImpl(n)}_dispatchReceivedMessage(n){this._unprocessedMessages.length===0&&this._messageListener?this._messageListener(n):this._unprocessedMessages.push(n)}_onConnectionClosed(){this._state.value={state:"closed",error:void 0}}log(n){return new Lln(this,n??new Iln)}},qt(o$,"id",0),o$),Lln=class{constructor(n,e){qt(this,"baseStream"),qt(this,"logger"),this.baseStream=n,this.logger=e}get state(){return this.baseStream.state}setListener(n){if(n===void 0){this.baseStream.setListener(void 0);return}this.baseStream.setListener(e=>{this.logger.log(this.baseStream,"incoming",e),n(e)})}send(n){return this.logger.log(this.baseStream,"outgoing",n),this.baseStream.send(n)}toString(){return`StreamLogger/${this.baseStream.toString()}`}},Iln=class{log(n,e,t){console.log(`${e==="incoming"?"<-":"->"} [${n.toString()}] ${JSON.stringify(t)}`)}},Nln=class EUe{constructor(e){qt(this,"connect"),this.connect=e}mapContext(e){return new EUe(t=>this.connect(t?Dln(t,e):void 0))}};function Dln(n,e){return{handleNotification:(t,i)=>n.handleNotification(t,e(i)),handleRequest:(t,i,s)=>n.handleRequest(t,i,e(s))}}var Tln=class LUe{constructor(e,t,i){qt(this,"_stream"),qt(this,"_listener"),qt(this,"_logger"),qt(this,"_unprocessedResponses",new Map),qt(this,"_lastUsedRequestId",0),this._stream=e,this._listener=t,this._logger=i,this._stream.setListener(s=>{Sln(s)?s.id===void 0?this._processNotification(s):this._processRequest(s):this._processResponse(s)})}static createChannel(e,t){let i=!1;return new Nln(s=>{if(i)throw new Error(`A channel to the stream ${e} was already constructed!`);return i=!0,new LUe(e,s,t)})}get state(){return this._stream.state}async _processNotification(e){if(e.id!==void 0)throw new Error;if(!this._listener){this._logger&&this._logger.debug({text:"Notification ignored",message:e});return}try{await this._listener.handleNotification({method:e.method,params:e.params||null})}catch(t){this._logger&&this._logger.warn({text:`Exception was thrown while handling notification: ${t}`,exception:t,message:e})}}async _processRequest(e){if(e.id===void 0)throw new Error;let t;if(this._listener)try{t=await this._listener.handleRequest({method:e.method,params:e.params||null},e.id)}catch(s){this._logger&&this._logger.warn({text:`Exception was thrown while handling request: ${s}`,message:e,exception:s}),t={error:{code:sf.internalError,message:"An unexpected exception was thrown.",data:void 0}}}else this._logger&&this._logger.debug({text:"Received request even though not listening for requests",message:e}),t={error:{code:sf.methodNotFound,message:"This endpoint does not listen for requests or notifications.",data:void 0}};let i;"result"in t?i={jsonrpc:"2.0",id:e.id,result:t.result}:i={jsonrpc:"2.0",id:e.id,error:t.error},await this._stream.send(i)}_processResponse(e){const t=""+e.id,i=this._unprocessedResponses.get(t);if(!i){this._logger&&this._logger.debug({text:"Got an unexpected response message",message:e});return}this._unprocessedResponses.delete(t),i(e)}_newRequestId(){return this._lastUsedRequestId++}sendRequest(e,t,i){const s={jsonrpc:"2.0",id:this._newRequestId(),method:e.method,params:e.params||void 0};return i&&i(s.id),new Promise((r,o)=>{const a=""+s.id;this._unprocessedResponses.set(a,l=>{"result"in l?r({result:l.result}):(l.error||o(new Error("Response had neither 'result' nor 'error' field set.")),r({error:l.error}))}),this._stream.send(s).then(void 0,l=>{this._unprocessedResponses.delete(a),o(l)})})}sendNotification(e,t){const i={jsonrpc:"2.0",id:void 0,method:e.method,params:e.params||void 0};return this._stream.send(i)}toString(){return"StreamChannel/"+this._stream.toString()}},zL;(function(n){function e(){return{deserializeFromJson:s=>({hasErrors:!1,value:s}),serializeToJson:s=>s}}n.sAny=e;function t(){return{deserializeFromJson:s=>({hasErrors:!1,value:{}}),serializeToJson:s=>({})}}n.sEmptyObject=t;function i(){return{deserializeFromJson:s=>({hasErrors:!1,value:void 0}),serializeToJson:s=>null}}n.sVoidFromNull=i})(zL||(zL={}));const IUe=Symbol("OptionalMethodNotFound");var NUe=class{contextualize(n){return new Rln(this,n)}},Rln=class extends NUe{constructor(n,e){super(),qt(this,"underylingTypedChannel"),qt(this,"converters"),this.underylingTypedChannel=n,this.converters=e}async request(n,e,t){const i=await this.converters.getSendContext(t);return this.underylingTypedChannel.request(n,e,i)}async notify(n,e,t){const i=await this.converters.getSendContext(t);return this.underylingTypedChannel.notify(n,e,i)}registerNotificationHandler(n,e){return this.underylingTypedChannel.registerNotificationHandler(n,async(t,i)=>await e(t,await this.converters.getNewContext(i)))}registerRequestHandler(n,e){return this.underylingTypedChannel.registerRequestHandler(n,async(t,i,s)=>await e(t,i,await this.converters.getNewContext(s)))}},wle=class DUe extends NUe{constructor(e,t={}){super(),qt(this,"channelCtor"),qt(this,"_requestSender"),qt(this,"_handler",new Map),qt(this,"_unknownNotificationHandler",new Set),qt(this,"_timeout"),qt(this,"sendExceptionDetails",!1),qt(this,"_logger"),qt(this,"listeningDeferred",new Eln),qt(this,"onListening",this.listeningDeferred.promise),qt(this,"_requestDidErrorEventEmitter",new Mpe),qt(this,"onRequestDidError",this._requestDidErrorEventEmitter.event),this.channelCtor=e,this._logger=t.logger,this.sendExceptionDetails=!!t.sendExceptionDetails,this._timeout=kln(1e3,()=>{this._requestSender||console.warn(`"${this.startListen.name}" has not been called within 1 second after construction of this channel. Did you forget to call it?`,this)})}static fromTransport(e,t={}){return new DUe(Tln.createChannel(e,t.logger),t)}startListen(){if(this._requestSender)throw new Error(`"${this.startListen.name}" can be called only once, but it already has been called.`);this._timeout&&(this._timeout.dispose(),this._timeout=void 0),this._requestSender=this.channelCtor.connect({handleRequest:(e,t,i)=>this.handleRequest(e,t,i),handleNotification:(e,t)=>this.handleNotification(e,t)}),this.listeningDeferred.resolve()}checkChannel(e){if(!e)throw new Error(`"${this.startListen.name}" must be called before any messages can be sent or received.`);return!0}async handleRequest(e,t,i){const s=this._handler.get(e.method);if(!s)return this._logger&&this._logger.debug({text:`No request handler for "${e.method}".`,data:{requestObject:e}}),{error:{code:sf.methodNotFound,message:`No request handler for "${e.method}".`,data:{method:e.method}}};if(s.kind!="request"){const o=`"${e.method}" is registered as notification, but was sent as request.`;return this._logger&&this._logger.debug({text:o,data:{requestObject:e}}),{error:{code:sf.invalidRequest,message:o,data:{method:e.method}}}}const r=s.requestType.paramsSerializer.deserializeFromJson(e.params);if(r.hasErrors){const o=`Got invalid params: ${r.errorMessage}`;return this._logger&&this._logger.debug({text:o,data:{requestObject:e,errorMessage:r.errorMessage}}),{error:{code:sf.invalidParams,message:o,data:{errors:r.errorMessage}}}}else{const o=r.value;let a;try{const l=await s.handler(o,t,i);if("error"in l||"errorMessage"in l){const c=l.error?s.requestType.errorSerializer.serializeToJson(l.error):void 0;a={error:{code:l.errorCode||sf.genericApplicationError,message:l.errorMessage||"An error was returned",data:c}}}else a={result:s.requestType.resultSerializer.serializeToJson(l.ok)}}catch(l){l instanceof jNe?a={error:{code:l.code,message:l.message}}:(this._logger&&this._logger.warn({text:`An exception was thrown while handling a request: ${l}.`,exception:l,data:{requestObject:e}}),a={error:{code:sf.unexpectedServerError,message:this.sendExceptionDetails?`An exception was thrown while handling a request: ${l}.`:"Server has thrown an unexpected exception"}})}return a}}async handleNotification(e,t){const i=this._handler.get(e.method);if(!i){for(const o of this._unknownNotificationHandler)o(e);this._unknownNotificationHandler.size===0&&this._logger&&this._logger.debug({text:`Unhandled notification "${e.method}"`,data:{requestObject:e}});return}if(i.kind!="notification"){this._logger&&this._logger.debug({text:`"${e.method}" is registered as request, but was sent as notification.`,data:{requestObject:e}});return}const s=i.notificationType.paramsSerializer.deserializeFromJson(e.params);if(s.hasErrors){this._logger&&this._logger.debug({text:`Got invalid params: ${s}`,data:{requestObject:e,errorMessage:s.errorMessage}});return}const r=s.value;for(const o of i.handlers)try{o(r,t)}catch(a){this._logger&&this._logger.warn({text:`An exception was thrown while handling a notification: ${a}.`,exception:a,data:{requestObject:e}})}}registerUnknownNotificationHandler(e){return SY(this._unknownNotificationHandler,e)}registerRequestHandler(e,t){if(this._handler.get(e.method))throw new Error(`Handler with method "${e.method}" already registered.`);return SY(this._handler,e.method,{kind:"request",requestType:e,handler:t})}registerNotificationHandler(e,t){let i=this._handler.get(e.method);if(!i)i={kind:"notification",notificationType:e,handlers:new Set},this._handler.set(e.method,i);else{if(i.kind!=="notification")throw new Error(`Method "${e.method}" was already registered as request handler.`);if(i.notificationType!==e)throw new Error(`Method "${e.method}" was registered for a different type.`)}return SY(i.handlers,t)}getRegisteredTypes(){const e=[];for(const t of this._handler.values())t.kind==="notification"?e.push(t.notificationType):t.kind==="request"&&e.push(t.requestType);return e}async request(e,t,i){if(!this.checkChannel(this._requestSender))throw new Error("Impossible");const s=e.paramsSerializer.serializeToJson(t);HNe(s);const r=await this._requestSender.sendRequest({method:e.method,params:s},i);if("error"in r){if(e.isOptional&&r.error.code===sf.methodNotFound)return IUe;let o;if(r.error.data!==void 0){const l=e.errorSerializer.deserializeFromJson(r.error.data);if(l.hasErrors)throw new Error(l.errorMessage);o=l.value}else o=void 0;const a=new jNe(r.error.message,o,r.error.code);throw this._requestDidErrorEventEmitter.fire({error:a}),a}else{const o=e.resultSerializer.deserializeFromJson(r.result);if(o.hasErrors)throw new Error("Could not deserialize response: "+o.errorMessage+`
|
|
1444
1444
|
|
|
1445
1445
|
${JSON.stringify(r,null,2)}`);return o.value}}async notify(e,t,i){if(!this.checkChannel(this._requestSender))throw new Error;const s=e.paramsSerializer.serializeToJson(t);HNe(s),this._requestSender.sendNotification({method:e.method,params:s},i)}};function HNe(n){if(n!==null&&Array.isArray(n)&&typeof n!="object")throw new Error("Invalid value! Only null, array and object is allowed.")}var jNe=class TUe extends Error{constructor(e,t,i=sf.genericApplicationError){super(e),qt(this,"data"),qt(this,"code"),this.data=t,this.code=i,Object.setPrototypeOf(this,TUe.prototype)}},Mln=class Cle{constructor(e,t,i,s,r=!1){qt(this,"method"),qt(this,"paramsSerializer"),qt(this,"resultSerializer"),qt(this,"errorSerializer"),qt(this,"isOptional"),qt(this,"kind","request"),this.method=e,this.paramsSerializer=t,this.resultSerializer=i,this.errorSerializer=s,this.isOptional=r}withMethod(e){return new Cle(e,this.paramsSerializer,this.resultSerializer,this.errorSerializer)}optional(){return new Cle(this.method,this.paramsSerializer,this.resultSerializer,this.errorSerializer,!0)}},Pln=class RUe{constructor(e,t){qt(this,"method"),qt(this,"paramsSerializer"),qt(this,"kind","notification"),this.method=e,this.paramsSerializer=t}withMethod(e){return new RUe(e,this.paramsSerializer)}};function In(n){return new Mln((n||{}).method,zL.sAny(),zL.sAny(),zL.sAny())}function vr(n){return new Pln((n||{}).method,zL.sAny())}const Oln=Symbol();var WNe=($Ne=Oln,a$=class{constructor(n){qt(this,"error"),qt(this,$Ne),this.error=n}},qt(a$,"factory",n=>new a$(n)),a$);function Aln(n){const e=VNe(n.server),t=VNe(n.client);return new Fln(n.tags||[],e,t)}function VNe(n){const e={};for(const[t,i]of Object.entries(n)){const s=i.method?i.method:t;e[t]=i.withMethod(s)}return e}var Fln=class MUe{constructor(e=[],t,i){qt(this,"tags"),qt(this,"server"),qt(this,"client"),this.tags=e,this.server=t,this.client=i}_onlyDesignTime(){return new Error("This property is not meant to be accessed at runtime")}get TContractObject(){throw this._onlyDesignTime()}get TClientInterface(){throw this._onlyDesignTime()}get TServerInterface(){throw this._onlyDesignTime()}get TClientHandler(){throw this._onlyDesignTime()}get TServerHandler(){throw this._onlyDesignTime()}get TTags(){throw this._onlyDesignTime()}getInterface(e,t,i,s){const r=this.buildCounterpart(e,i),o=this.registerHandlers(e,t,s,r);return{counterpart:r,dispose:()=>o.dispose()}}buildCounterpart(e,t){const i={};for(const[s,r]of Object.entries(t)){let o;r.kind==="request"?r.isOptional?o=async(a,l)=>{a===void 0&&(a={});try{return await e.request(r,a,l)}catch(c){if(c&&c.code===sf.methodNotFound)return IUe;throw c}}:o=(a,l)=>(a===void 0&&(a={}),e.request(r,a,l)):o=(a,l)=>(a===void 0&&(a={}),e.notify(r,a,l)),i[s]=o}return i}registerHandlers(e,t,i,s){const r=[];for(const[o,a]of Object.entries(t))if(a.kind==="request"){let l=i[o];if(!l)continue;const c=this.createRequestHandler(s,l);r.push(e.registerRequestHandler(a,c))}else{const l=i[o];l&&r.push(e.registerNotificationHandler(a,(c,d)=>{l(c,{context:d,counterpart:s})}))}return{dispose:()=>r.forEach(o=>o.dispose())}}createRequestHandler(e,t){return async(i,s,r)=>{const o=await t(i,{context:r,counterpart:e,newErr:WNe.factory,requestId:s});return o instanceof WNe?o.error:{ok:o}}}static getServerFromStream(e,t,i,s){const r=wle.fromTransport(t,i),{server:o}=e.getServer(r,s);return r.startListen(),{channel:r,server:o}}static registerServerToStream(e,t,i,s){const r=wle.fromTransport(t,i),{client:o}=e.registerServer(r,s);return r.startListen(),{channel:r,client:o}}getServer(e,t){const{counterpart:i,dispose:s}=this.getInterface(e,this.client,this.server,t);return{server:i,dispose:s}}registerServer(e,t){const{counterpart:i,dispose:s}=this.getInterface(e,this.server,this.client,t);return{client:i,dispose:s}}withContext(){return new MUe(this.tags,this.server,this.client)}};let UL=function(n){return n.Comment="comment",n.Imports="imports",n.Region="region",n}({}),$r=function(n){return n[n.File=1]="File",n[n.Module=2]="Module",n[n.Namespace=3]="Namespace",n[n.Package=4]="Package",n[n.Class=5]="Class",n[n.Method=6]="Method",n[n.Property=7]="Property",n[n.Field=8]="Field",n[n.Constructor=9]="Constructor",n[n.Enum=10]="Enum",n[n.Interface=11]="Interface",n[n.Function=12]="Function",n[n.Variable=13]="Variable",n[n.Constant=14]="Constant",n[n.String=15]="String",n[n.Number=16]="Number",n[n.Boolean=17]="Boolean",n[n.Array=18]="Array",n[n.Object=19]="Object",n[n.Key=20]="Key",n[n.Null=21]="Null",n[n.EnumMember=22]="EnumMember",n[n.Struct=23]="Struct",n[n.Event=24]="Event",n[n.Operator=25]="Operator",n[n.TypeParameter=26]="TypeParameter",n}({}),PUe=function(n){return n[n.Deprecated=1]="Deprecated",n}({}),zNe=function(n){return n[n.Type=1]="Type",n[n.Parameter=2]="Parameter",n}({}),$ln=function(n){return n[n.None=0]="None",n[n.Full=1]="Full",n[n.Incremental=2]="Incremental",n}({}),qr=function(n){return n[n.Text=1]="Text",n[n.Method=2]="Method",n[n.Function=3]="Function",n[n.Constructor=4]="Constructor",n[n.Field=5]="Field",n[n.Variable=6]="Variable",n[n.Class=7]="Class",n[n.Interface=8]="Interface",n[n.Module=9]="Module",n[n.Property=10]="Property",n[n.Unit=11]="Unit",n[n.Value=12]="Value",n[n.Enum=13]="Enum",n[n.Keyword=14]="Keyword",n[n.Snippet=15]="Snippet",n[n.Color=16]="Color",n[n.File=17]="File",n[n.Reference=18]="Reference",n[n.Folder=19]="Folder",n[n.EnumMember=20]="EnumMember",n[n.Constant=21]="Constant",n[n.Struct=22]="Struct",n[n.Event=23]="Event",n[n.Operator=24]="Operator",n[n.TypeParameter=25]="TypeParameter",n}({}),Bln=function(n){return n[n.Deprecated=1]="Deprecated",n}({}),Hln=function(n){return n[n.PlainText=1]="PlainText",n[n.Snippet=2]="Snippet",n}({}),xY=function(n){return n[n.Text=1]="Text",n[n.Read=2]="Read",n[n.Write=3]="Write",n}({}),Yp=function(n){return n.Empty="",n.QuickFix="quickfix",n.Refactor="refactor",n.RefactorExtract="refactor.extract",n.RefactorInline="refactor.inline",n.RefactorRewrite="refactor.rewrite",n.Source="source",n.SourceOrganizeImports="source.organizeImports",n.SourceFixAll="source.fixAll",n}({}),B6=function(n){return n.PlainText="plaintext",n.Markdown="markdown",n}({}),W_=function(n){return n[n.Error=1]="Error",n[n.Warning=2]="Warning",n[n.Information=3]="Information",n[n.Hint=4]="Hint",n}({}),UNe=function(n){return n[n.Unnecessary=1]="Unnecessary",n[n.Deprecated=2]="Deprecated",n}({}),G3=function(n){return n[n.Invoked=1]="Invoked",n[n.TriggerCharacter=2]="TriggerCharacter",n[n.TriggerForIncompleteCompletions=3]="TriggerForIncompleteCompletions",n}({}),X3=function(n){return n[n.Invoked=1]="Invoked",n[n.TriggerCharacter=2]="TriggerCharacter",n[n.ContentChange=3]="ContentChange",n}({}),Sle=function(n){return n[n.Invoked=1]="Invoked",n[n.Automatic=2]="Automatic",n}({}),jln=function(n){return n.Relative="relative",n}({});var _i=class{constructor(n){this.method=n}};const Xn={textDocumentImplementation:new _i("textDocument/implementation"),textDocumentTypeDefinition:new _i("textDocument/typeDefinition"),textDocumentDocumentColor:new _i("textDocument/documentColor"),textDocumentColorPresentation:new _i("textDocument/colorPresentation"),textDocumentFoldingRange:new _i("textDocument/foldingRange"),textDocumentDeclaration:new _i("textDocument/declaration"),textDocumentSelectionRange:new _i("textDocument/selectionRange"),textDocumentPrepareCallHierarchy:new _i("textDocument/prepareCallHierarchy"),textDocumentSemanticTokensFull:new _i("textDocument/semanticTokens/full"),textDocumentSemanticTokensFullDelta:new _i("textDocument/semanticTokens/full/delta"),textDocumentLinkedEditingRange:new _i("textDocument/linkedEditingRange"),workspaceWillCreateFiles:new _i("workspace/willCreateFiles"),workspaceWillRenameFiles:new _i("workspace/willRenameFiles"),workspaceWillDeleteFiles:new _i("workspace/willDeleteFiles"),textDocumentMoniker:new _i("textDocument/moniker"),textDocumentPrepareTypeHierarchy:new _i("textDocument/prepareTypeHierarchy"),textDocumentInlineValue:new _i("textDocument/inlineValue"),textDocumentInlayHint:new _i("textDocument/inlayHint"),textDocumentDiagnostic:new _i("textDocument/diagnostic"),textDocumentInlineCompletion:new _i("textDocument/inlineCompletion"),textDocumentWillSaveWaitUntil:new _i("textDocument/willSaveWaitUntil"),textDocumentCompletion:new _i("textDocument/completion"),textDocumentHover:new _i("textDocument/hover"),textDocumentSignatureHelp:new _i("textDocument/signatureHelp"),textDocumentDefinition:new _i("textDocument/definition"),textDocumentReferences:new _i("textDocument/references"),textDocumentDocumentHighlight:new _i("textDocument/documentHighlight"),textDocumentDocumentSymbol:new _i("textDocument/documentSymbol"),textDocumentCodeAction:new _i("textDocument/codeAction"),workspaceSymbol:new _i("workspace/symbol"),textDocumentCodeLens:new _i("textDocument/codeLens"),textDocumentDocumentLink:new _i("textDocument/documentLink"),textDocumentFormatting:new _i("textDocument/formatting"),textDocumentRangeFormatting:new _i("textDocument/rangeFormatting"),textDocumentRangesFormatting:new _i("textDocument/rangesFormatting"),textDocumentOnTypeFormatting:new _i("textDocument/onTypeFormatting"),textDocumentRename:new _i("textDocument/rename"),workspaceExecuteCommand:new _i("workspace/executeCommand"),workspaceDidCreateFiles:new _i("workspace/didCreateFiles"),workspaceDidRenameFiles:new _i("workspace/didRenameFiles"),workspaceDidDeleteFiles:new _i("workspace/didDeleteFiles"),workspaceDidChangeConfiguration:new _i("workspace/didChangeConfiguration"),textDocumentDidOpen:new _i("textDocument/didOpen"),textDocumentDidChange:new _i("textDocument/didChange"),textDocumentDidClose:new _i("textDocument/didClose"),textDocumentDidSave:new _i("textDocument/didSave"),textDocumentWillSave:new _i("textDocument/willSave"),workspaceDidChangeWatchedFiles:new _i("workspace/didChangeWatchedFiles")},W2=Aln({server:{textDocumentImplementation:In({method:"textDocument/implementation"}),textDocumentTypeDefinition:In({method:"textDocument/typeDefinition"}),textDocumentDocumentColor:In({method:"textDocument/documentColor"}),textDocumentColorPresentation:In({method:"textDocument/colorPresentation"}),textDocumentFoldingRange:In({method:"textDocument/foldingRange"}),textDocumentDeclaration:In({method:"textDocument/declaration"}),textDocumentSelectionRange:In({method:"textDocument/selectionRange"}),textDocumentPrepareCallHierarchy:In({method:"textDocument/prepareCallHierarchy"}),callHierarchyIncomingCalls:In({method:"callHierarchy/incomingCalls"}),callHierarchyOutgoingCalls:In({method:"callHierarchy/outgoingCalls"}),textDocumentSemanticTokensFull:In({method:"textDocument/semanticTokens/full"}),textDocumentSemanticTokensFullDelta:In({method:"textDocument/semanticTokens/full/delta"}),textDocumentSemanticTokensRange:In({method:"textDocument/semanticTokens/range"}),textDocumentLinkedEditingRange:In({method:"textDocument/linkedEditingRange"}),workspaceWillCreateFiles:In({method:"workspace/willCreateFiles"}),workspaceWillRenameFiles:In({method:"workspace/willRenameFiles"}),workspaceWillDeleteFiles:In({method:"workspace/willDeleteFiles"}),textDocumentMoniker:In({method:"textDocument/moniker"}),textDocumentPrepareTypeHierarchy:In({method:"textDocument/prepareTypeHierarchy"}),typeHierarchySupertypes:In({method:"typeHierarchy/supertypes"}),typeHierarchySubtypes:In({method:"typeHierarchy/subtypes"}),textDocumentInlineValue:In({method:"textDocument/inlineValue"}),textDocumentInlayHint:In({method:"textDocument/inlayHint"}),inlayHintResolve:In({method:"inlayHint/resolve"}),textDocumentDiagnostic:In({method:"textDocument/diagnostic"}),workspaceDiagnostic:In({method:"workspace/diagnostic"}),textDocumentInlineCompletion:In({method:"textDocument/inlineCompletion"}),initialize:In({method:"initialize"}),shutdown:In({method:"shutdown"}),textDocumentWillSaveWaitUntil:In({method:"textDocument/willSaveWaitUntil"}),textDocumentCompletion:In({method:"textDocument/completion"}),completionItemResolve:In({method:"completionItem/resolve"}),textDocumentHover:In({method:"textDocument/hover"}),textDocumentSignatureHelp:In({method:"textDocument/signatureHelp"}),textDocumentDefinition:In({method:"textDocument/definition"}),textDocumentReferences:In({method:"textDocument/references"}),textDocumentDocumentHighlight:In({method:"textDocument/documentHighlight"}),textDocumentDocumentSymbol:In({method:"textDocument/documentSymbol"}),textDocumentCodeAction:In({method:"textDocument/codeAction"}),codeActionResolve:In({method:"codeAction/resolve"}),workspaceSymbol:In({method:"workspace/symbol"}),workspaceSymbolResolve:In({method:"workspaceSymbol/resolve"}),textDocumentCodeLens:In({method:"textDocument/codeLens"}),codeLensResolve:In({method:"codeLens/resolve"}),textDocumentDocumentLink:In({method:"textDocument/documentLink"}),documentLinkResolve:In({method:"documentLink/resolve"}),textDocumentFormatting:In({method:"textDocument/formatting"}),textDocumentRangeFormatting:In({method:"textDocument/rangeFormatting"}),textDocumentRangesFormatting:In({method:"textDocument/rangesFormatting"}),textDocumentOnTypeFormatting:In({method:"textDocument/onTypeFormatting"}),textDocumentRename:In({method:"textDocument/rename"}),textDocumentPrepareRename:In({method:"textDocument/prepareRename"}),workspaceExecuteCommand:In({method:"workspace/executeCommand"}),workspaceDidChangeWorkspaceFolders:vr({method:"workspace/didChangeWorkspaceFolders"}),windowWorkDoneProgressCancel:vr({method:"window/workDoneProgress/cancel"}),workspaceDidCreateFiles:vr({method:"workspace/didCreateFiles"}),workspaceDidRenameFiles:vr({method:"workspace/didRenameFiles"}),workspaceDidDeleteFiles:vr({method:"workspace/didDeleteFiles"}),notebookDocumentDidOpen:vr({method:"notebookDocument/didOpen"}),notebookDocumentDidChange:vr({method:"notebookDocument/didChange"}),notebookDocumentDidSave:vr({method:"notebookDocument/didSave"}),notebookDocumentDidClose:vr({method:"notebookDocument/didClose"}),initialized:vr({method:"initialized"}),exit:vr({method:"exit"}),workspaceDidChangeConfiguration:vr({method:"workspace/didChangeConfiguration"}),textDocumentDidOpen:vr({method:"textDocument/didOpen"}),textDocumentDidChange:vr({method:"textDocument/didChange"}),textDocumentDidClose:vr({method:"textDocument/didClose"}),textDocumentDidSave:vr({method:"textDocument/didSave"}),textDocumentWillSave:vr({method:"textDocument/willSave"}),workspaceDidChangeWatchedFiles:vr({method:"workspace/didChangeWatchedFiles"}),setTrace:vr({method:"$/setTrace"}),cancelRequest:vr({method:"$/cancelRequest"}),progress:vr({method:"$/progress"})},client:{workspaceWorkspaceFolders:In({method:"workspace/workspaceFolders"}).optional(),workspaceConfiguration:In({method:"workspace/configuration"}).optional(),workspaceFoldingRangeRefresh:In({method:"workspace/foldingRange/refresh"}).optional(),windowWorkDoneProgressCreate:In({method:"window/workDoneProgress/create"}).optional(),workspaceSemanticTokensRefresh:In({method:"workspace/semanticTokens/refresh"}).optional(),windowShowDocument:In({method:"window/showDocument"}).optional(),workspaceInlineValueRefresh:In({method:"workspace/inlineValue/refresh"}).optional(),workspaceInlayHintRefresh:In({method:"workspace/inlayHint/refresh"}).optional(),workspaceDiagnosticRefresh:In({method:"workspace/diagnostic/refresh"}).optional(),clientRegisterCapability:In({method:"client/registerCapability"}).optional(),clientUnregisterCapability:In({method:"client/unregisterCapability"}).optional(),windowShowMessageRequest:In({method:"window/showMessageRequest"}).optional(),workspaceCodeLensRefresh:In({method:"workspace/codeLens/refresh"}).optional(),workspaceApplyEdit:In({method:"workspace/applyEdit"}).optional(),windowShowMessage:vr({method:"window/showMessage"}),windowLogMessage:vr({method:"window/logMessage"}),telemetryEvent:vr({method:"telemetry/event"}),textDocumentPublishDiagnostics:vr({method:"textDocument/publishDiagnostics"}),logTrace:vr({method:"$/logTrace"}),cancelRequest:vr({method:"$/cancelRequest"}),progress:vr({method:"$/progress"})}});function cS(n,e){if(n.textModel!==e)throw new Error(`Expected text model to be ${e}, but got ${n.textModel}`);return n}var Ur=(CY=class{constructor(){qt(this,"_store",new Ppe)}dispose(){this._store.dispose()}_register(n){if(n===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(n)}},qt(CY,"None",Object.freeze({dispose(){}})),CY),Ppe=(l$=class{constructor(){qt(this,"_toDispose",new Set),qt(this,"_isDisposed",!1)}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}clear(){if(this._toDispose.size!==0)try{for(const n of this._toDispose)n.dispose()}finally{this._toDispose.clear()}}add(n){if(!n)return n;if(n===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?l$.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(n),n}},qt(l$,"DISABLE_DISPOSED_WARNING",!1),l$);const OUe=new Map([[Yp.Empty,""],[Yp.QuickFix,"quickfix"],[Yp.Refactor,"refactor"],[Yp.RefactorExtract,"refactor.extract"],[Yp.RefactorInline,"refactor.inline"],[Yp.RefactorRewrite,"refactor.rewrite"],[Yp.Source,"source"],[Yp.SourceOrganizeImports,"source.organizeImports"],[Yp.SourceFixAll,"source.fixAll"]]);function Wln(n){if(n)return OUe.get(n)??n}const Vln=new Map([[It.CodeActionTriggerType.Invoke,Sle.Invoked],[It.CodeActionTriggerType.Auto,Sle.Automatic]]);function zln(n){return Vln.get(n)??Sle.Invoked}const AUe=new Map([[qr.Text,It.CompletionItemKind.Text],[qr.Method,It.CompletionItemKind.Method],[qr.Function,It.CompletionItemKind.Function],[qr.Constructor,It.CompletionItemKind.Constructor],[qr.Field,It.CompletionItemKind.Field],[qr.Variable,It.CompletionItemKind.Variable],[qr.Class,It.CompletionItemKind.Class],[qr.Interface,It.CompletionItemKind.Interface],[qr.Module,It.CompletionItemKind.Module],[qr.Property,It.CompletionItemKind.Property],[qr.Unit,It.CompletionItemKind.Unit],[qr.Value,It.CompletionItemKind.Value],[qr.Enum,It.CompletionItemKind.Enum],[qr.Keyword,It.CompletionItemKind.Keyword],[qr.Snippet,It.CompletionItemKind.Snippet],[qr.Color,It.CompletionItemKind.Color],[qr.File,It.CompletionItemKind.File],[qr.Reference,It.CompletionItemKind.Reference],[qr.Folder,It.CompletionItemKind.Folder],[qr.EnumMember,It.CompletionItemKind.EnumMember],[qr.Constant,It.CompletionItemKind.Constant],[qr.Struct,It.CompletionItemKind.Struct],[qr.Event,It.CompletionItemKind.Event],[qr.Operator,It.CompletionItemKind.Operator],[qr.TypeParameter,It.CompletionItemKind.TypeParameter]]);function Uln(n){return n?AUe.get(n)??It.CompletionItemKind.Text:It.CompletionItemKind.Text}const FUe=new Map([[Bln.Deprecated,It.CompletionItemTag.Deprecated]]);function Kln(n){return FUe.get(n)}const qln=new Map([[It.CompletionTriggerKind.Invoke,G3.Invoked],[It.CompletionTriggerKind.TriggerCharacter,G3.TriggerCharacter],[It.CompletionTriggerKind.TriggerForIncompleteCompletions,G3.TriggerForIncompleteCompletions]]);function Gln(n){return qln.get(n)??G3.Invoked}const Xln=new Map([[Hln.Snippet,It.CompletionItemInsertTextRule.InsertAsSnippet]]);function Yln(n){if(n)return Xln.get(n)}const $Ue=new Map([[$r.File,It.SymbolKind.File],[$r.Module,It.SymbolKind.Module],[$r.Namespace,It.SymbolKind.Namespace],[$r.Package,It.SymbolKind.Package],[$r.Class,It.SymbolKind.Class],[$r.Method,It.SymbolKind.Method],[$r.Property,It.SymbolKind.Property],[$r.Field,It.SymbolKind.Field],[$r.Constructor,It.SymbolKind.Constructor],[$r.Enum,It.SymbolKind.Enum],[$r.Interface,It.SymbolKind.Interface],[$r.Function,It.SymbolKind.Function],[$r.Variable,It.SymbolKind.Variable],[$r.Constant,It.SymbolKind.Constant],[$r.String,It.SymbolKind.String],[$r.Number,It.SymbolKind.Number],[$r.Boolean,It.SymbolKind.Boolean],[$r.Array,It.SymbolKind.Array],[$r.Object,It.SymbolKind.Object],[$r.Key,It.SymbolKind.Key],[$r.Null,It.SymbolKind.Null],[$r.EnumMember,It.SymbolKind.EnumMember],[$r.Struct,It.SymbolKind.Struct],[$r.Event,It.SymbolKind.Event],[$r.Operator,It.SymbolKind.Operator],[$r.TypeParameter,It.SymbolKind.TypeParameter]]);function BUe(n){return $Ue.get(n)??It.SymbolKind.File}const Zln=new Map([[PUe.Deprecated,It.SymbolTag.Deprecated]]);function HUe(n){return Zln.get(n)}const Qln=new Map([[xY.Text,It.DocumentHighlightKind.Text],[xY.Read,It.DocumentHighlightKind.Read],[xY.Write,It.DocumentHighlightKind.Write]]);function Jln(n){return n?Qln.get(n)??It.DocumentHighlightKind.Text:It.DocumentHighlightKind.Text}const ecn=new Map([[UL.Comment,It.FoldingRangeKind.Comment],[UL.Imports,It.FoldingRangeKind.Imports],[UL.Region,It.FoldingRangeKind.Region]]);function tcn(n){if(n)return ecn.get(n)}const ncn=new Map([[df.Error,W_.Error],[df.Warning,W_.Warning],[df.Info,W_.Information],[df.Hint,W_.Hint]]);function icn(n){return ncn.get(n)??W_.Error}const scn=new Map([[W_.Error,df.Error],[W_.Warning,df.Warning],[W_.Information,df.Info],[W_.Hint,df.Hint]]);function rcn(n){return n?scn.get(n)??df.Error:df.Error}const jUe=new Map([[UNe.Unnecessary,$6.Unnecessary],[UNe.Deprecated,$6.Deprecated]]);function ocn(n){return jUe.get(n)}const acn=new Map([[It.SignatureHelpTriggerKind.Invoke,X3.Invoked],[It.SignatureHelpTriggerKind.TriggerCharacter,X3.TriggerCharacter],[It.SignatureHelpTriggerKind.ContentChange,X3.ContentChange]]);function lcn(n){return acn.get(n)??X3.Invoked}function KL(n){if(n)return{id:n.command,title:n.title,arguments:n.arguments}}const ccn=new Map([[zNe.Type,It.InlayHintKind.Type],[zNe.Parameter,It.InlayHintKind.Parameter]]);function dcn(n){return n?ccn.get(n)??It.InlayHintKind.Type:It.InlayHintKind.Type}function Rw(n,e){if("targetUri"in n){const t=e.bridge.translateBackRange({uri:n.targetUri},n.targetRange);return{uri:t.textModel.uri,range:t.range,originSelectionRange:n.originSelectionRange?e.bridge.translateBackRange({uri:n.targetUri},n.originSelectionRange).range:void 0,targetSelectionRange:n.targetSelectionRange?e.bridge.translateBackRange({uri:n.targetUri},n.targetSelectionRange).range:void 0}}else{const t=e.bridge.translateBackRange({uri:n.uri},n.range);return{uri:t.textModel.uri,range:t.range}}}function la(n){return!n||n.length===0?{language:"*"}:n.map(e=>"notebook"in e?typeof e.notebook=="string"?{notebookType:e.notebook,language:e.language}:{notebookType:e.notebook.notebookType,language:e.language,pattern:e.notebook.pattern,scheme:e.notebook.scheme}:{language:e.language,pattern:e.pattern,scheme:e.scheme})}function ucn(n,e){if(!e)return!0;const t=n.getLanguageId();if(n.uri.toString(!0),!e||e.length===0)return!0;for(const i of e)if(!(i.language&&i.language!=="*"&&i.language!==t))return!0;return!1}function xle(n){var t;const e={severity:rcn(n.severity),startLineNumber:n.range.start.line+1,startColumn:n.range.start.character+1,endLineNumber:n.range.end.line+1,endColumn:n.range.end.character+1,message:n.message,source:n.source,code:typeof n.code=="string"?n.code:(t=n.code)==null?void 0:t.toString()};return n.tags&&(e.tags=n.tags.map(i=>ocn(i)).filter(i=>i!==void 0)),n.relatedInformation&&(e.relatedInformation=n.relatedInformation.map(i=>({resource:yU.parse(i.location.uri),startLineNumber:i.location.range.start.line+1,startColumn:i.location.range.start.character+1,endLineNumber:i.location.range.end.line+1,endColumn:i.location.range.end.character+1,message:i.message}))),e}var hcn=class extends Ur{constructor(n){super(),this._connection=n,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{completion:{dynamicRegistration:!0,contextSupport:!0,completionItemKind:{valueSet:Array.from(AUe.keys())},completionItem:{tagSupport:{valueSet:Array.from(FUe.keys())},commitCharactersSupport:!0,deprecatedSupport:!0,preselectSupport:!0}}}})),this._register(this._connection.capabilities.registerCapabilityHandler(Xn.textDocumentCompletion,!0,e=>It.registerCompletionItemProvider(la(e.documentSelector),new fcn(this._connection,e))))}},fcn=class{constructor(n,e){qt(this,"resolveCompletionItem"),this._client=n,this._capabilities=e,e.resolveProvider&&(this.resolveCompletionItem=async(t,i)=>(WUe(t,await this._client.server.completionItemResolve(t._lspItem),this._client.bridge,t._translated,t._model),t))}get triggerCharacters(){return this._capabilities.triggerCharacters}async provideCompletionItems(n,e,t,i){const s=this._client.bridge.translate(n,e),r=await this._client.server.textDocumentCompletion({textDocument:s.textDocument,position:s.position,context:t.triggerCharacter?{triggerKind:Gln(t.triggerKind),triggerCharacter:t.triggerCharacter}:void 0});return r?{suggestions:(Array.isArray(r)?r:r.items).map(o=>({...gcn(o,this._client.bridge,s,n,e),_lspItem:o,_translated:s,_model:n}))}:{suggestions:[]}}};function gcn(n,e,t,i,s){let r=n.insertText||n.label,o;n.textEdit&&("range"in n.textEdit?(r=n.textEdit.newText,o=cS(e.translateBackRange(t.textDocument,n.textEdit.range),i).range):(r=n.textEdit.newText,o={insert:cS(e.translateBackRange(t.textDocument,n.textEdit.insert),i).range,replace:cS(e.translateBackRange(t.textDocument,n.textEdit.replace),i).range})),o||(o=Hx.fromPositions(s,s));const a={label:n.label,kind:Uln(n.kind),insertText:r,sortText:n.sortText,filterText:n.filterText,preselect:n.preselect,commitCharacters:n.commitCharacters,range:o};return WUe(a,n,e,t,i),a}function WUe(n,e,t,i,s){e.detail!==void 0&&(n.detail=e.detail),e.documentation!==void 0&&(n.documentation=mcn(e.documentation)),e.insertTextFormat!==void 0&&(n.insertTextRules=Yln(e.insertTextFormat)),e.tags&&e.tags.length>0&&(n.tags=e.tags.map(Kln).filter(r=>r!==void 0)),e.additionalTextEdits&&e.additionalTextEdits.length>0&&(n.additionalTextEdits=e.additionalTextEdits.map(r=>({range:cS(t.translateBackRange(i.textDocument,r.range),s).range,text:r.newText}))),e.command&&(n.command=KL(e.command))}function mcn(n){if(n)return typeof n=="string"?n:{value:n.value,isTrusted:!0}}var pcn=class extends Ur{constructor(n){super(),this._connection=n,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{hover:{dynamicRegistration:!0,contentFormat:[B6.Markdown,B6.PlainText]}}})),this._register(this._connection.capabilities.registerCapabilityHandler(Xn.textDocumentHover,!0,e=>It.registerHoverProvider(la(e.documentSelector),new _cn(this._connection,e))))}},_cn=class{constructor(n,e){this._client=n,this._capabilities=e}async provideHover(n,e,t){const i=this._client.bridge.translate(n,e),s=await this._client.server.textDocumentHover({textDocument:i.textDocument,position:i.position});return!s||!s.contents?null:{contents:vcn(s.contents),range:s.range?this._client.bridge.translateBackRange(i.textDocument,s.range).range:void 0}}};function vcn(n){return Array.isArray(n)?n.map(e=>KNe(e)):[KNe(n)]}function KNe(n){return typeof n=="string"?{value:n,isTrusted:!0}:"kind"in n?{value:n.value,isTrusted:!0}:{value:`\`\`\`${n.language}
|
|
1446
1446
|
${n.value}
|
|
@@ -1512,7 +1512,7 @@ ${n.frontmatter.testCommand}
|
|
|
1512
1512
|
|
|
1513
1513
|
`)},L1n=90,I1n=140;function N1n({anchorId:n,msg:e,isFirstInGroup:t,originalMessage:i,isTargeted:s,sessionId:r,sessionInfo:o,isSessionBusy:a,hideActionButtons:l,isEditing:c,isCompactLayout:d,isTouchInteraction:u,showAssistantActions:h,onEditMessage:f,onRecallMessage:g,onForkMessage:m,onStartEditing:p,onCancelEditing:v}){const{t:b}=vt(),{message:w}=ar.useApp(),[C]=PA(),S=C.get("debug")==="true",x=e.role==="user",[k,L]=_.useState(!1),[I,N]=_.useState(!1),[D,T]=_.useState(null),R=_.useRef(null),M=_.useRef(null),P=_.useRef(null),O=_.useMemo(()=>x1n(e),[e]),A=_.useMemo(()=>E1n(e),[e]),F=i.id,B=r!=null&&r!==""&&!F.startsWith("local-"),$=B&&!a&&x&&O!=null,W=B&&!a&&x,V=B&&!a&&x,H=A!=null,U=!l&&!x&&h,G=d||u,Y=!l&&G&&(x||U);_.useEffect(()=>{L(!1)},[c,e.id]),_.useEffect(()=>{c&&(N(!1),T(null))},[c]),_.useEffect(()=>()=>{M.current!=null&&clearTimeout(M.current),P.current!=null&&clearTimeout(P.current)},[]),_.useEffect(()=>{I||T(null)},[I]),_.useEffect(()=>{l&&(N(!1),T(null))},[l]),_.useEffect(()=>{if(D==null)return;const be=Ce=>{var fe;const le=Ce.target;if(!(le instanceof Node)){T(null);return}(fe=R.current)!=null&&fe.contains(le)||T(null)};return document.addEventListener("pointerdown",be,!0),()=>{document.removeEventListener("pointerdown",be,!0)}},[D]);const X=e.content==null?null:typeof e.content=="string"?y.jsx(Ig,{content:e.content}):!Array.isArray(e.content)||!(e.content.some(Ce=>Ce.type==="text"||Ce.type==="image"||Ce.type==="file")||e.toolCall!=null)?null:y.jsxs("div",{className:"message-contents",children:[e.content.map((Ce,le)=>Ce.type==="text"?y.jsx(Ig,{content:Ce.text},le):Ce.type==="image"?y.jsx("a",{className:"message-image",href:Ce.url,target:"_blank",rel:"noreferrer",children:y.jsx("img",{src:Ce.url,alt:Ce.name??"image"})},le):Ce.type==="file"?y.jsxs("div",{className:"message-context-file",children:[y.jsx("span",{className:"material-symbols-rounded message-context-file__icon",children:"description"}),y.jsx("code",{className:"message-context-file__path",children:Ce.path})]},le):null),e.toolCall!=null&&y.jsx(eA,{item:{type:"tool_use",id:e.toolCall.id??"legacy",name:e.toolCall.name,input:e.toolCall.args},resultItem:e.toolCall.output!=null?{type:"tool_result",tool_use_id:e.toolCall.id??"legacy",content:e.toolCall.output,is_error:e.toolCall.status==="error"}:void 0})]});if(X==null)return null;const J=()=>{O!=null&&(T(null),p(F))},te=async be=>{const Ce=ace(be);if(Ce==null||k1n(Ce,O))return v(F),!0;L(!0);try{const le=await f(F,Ce);return le&&v(F),le}finally{L(!1)}},q=async be=>te(be),Z=async be=>te(be),oe=async()=>{if(A!=null){T(null);try{await navigator.clipboard.writeText(A),w.success(b("chat.messageActions.copySuccess"))}catch{w.error(b("chat.messageActions.copyFailed"))}}},pe=async()=>{T(null),await g(F)},ae=async()=>{T(null),await m(F)},ce=be=>{if(D===be){if(be==="recall"){pe();return}ae();return}T(be)},ye=()=>{!x||c||l||(P.current!=null&&(clearTimeout(P.current),P.current=null),!(I||M.current!=null)&&(M.current=setTimeout(()=>{N(!0),M.current=null},L1n)))},Ee=()=>{!x||l||(M.current!=null&&(clearTimeout(M.current),M.current=null),!(!I||P.current!=null)&&(P.current=setTimeout(()=>{N(!1),T(null),P.current=null},I1n)))},xe=y.jsxs(y.Fragment,{children:[H&&y.jsx("button",{type:"button",className:"msg-action-button msg-action-button--copy",title:b("chat.messageActions.copy"),"aria-label":b("chat.messageActions.copy"),onClick:()=>{oe()},children:y.jsx("span",{className:"material-symbols-rounded",children:"content_copy"})}),$&&y.jsx("button",{type:"button",className:"msg-action-button msg-action-button--edit",title:b("chat.messageActions.edit"),"aria-label":b("chat.messageActions.edit"),onClick:J,children:y.jsx("span",{className:"material-symbols-rounded",children:"edit"})}),W&&y.jsxs("button",{type:"button",className:`msg-action-button msg-action-button--recall ${D==="recall"?"is-confirming":""}`,title:b(D==="recall"?"chat.messageActions.confirmInline":"chat.messageActions.recall"),"aria-label":b(D==="recall"?"chat.messageActions.confirmInline":"chat.messageActions.recall"),onClick:()=>{ce("recall")},children:[y.jsx("span",{className:"material-symbols-rounded",children:"undo"}),D==="recall"&&y.jsx("span",{className:"msg-action-button__label",children:b("chat.messageActions.confirmInline")})]}),V&&y.jsxs("button",{type:"button",className:`msg-action-button msg-action-button--fork ${D==="fork"?"is-confirming":""}`,title:b(D==="fork"?"chat.messageActions.confirmInline":"chat.messageActions.fork"),"aria-label":b(D==="fork"?"chat.messageActions.confirmInline":"chat.messageActions.fork"),onClick:()=>{ce("fork")},children:[y.jsx("span",{className:"material-symbols-rounded",children:"fork_right"}),D==="fork"&&y.jsx("span",{className:"msg-action-button__label",children:b("chat.messageActions.confirmInline")})]})]}),Se=y.jsx(h8,{anchorId:n,canEdit:$,canFork:V,canRecall:W,copyableText:A,isDebugMode:S,isEditing:c,message:i,sessionId:r,trigger:["click"],onFork:ae,onRecall:pe,onStartEditing:J,children:y.jsx("button",{type:"button",className:"msg-action-button msg-action-button--menu",title:b("common.moreActions"),"aria-label":b("common.moreActions"),onClick:be=>{be.stopPropagation()},children:y.jsx("span",{className:"material-symbols-rounded",children:"more_horiz"})})});return y.jsx(h8,{anchorId:n,canEdit:$,canFork:V,canRecall:W,copyableText:A,isDebugMode:S,isEditing:c,message:i,sessionId:r,onFork:ae,onRecall:pe,onStartEditing:J,children:y.jsx("div",{ref:R,id:n,className:`${x?"chat-message-user":"chat-message-assistant"} ${c?"is-editing":""} ${t?"":"consecutive"} ${I?"is-actions-visible":""} ${s?"is-targeted":""} ${Y?"has-compact-menu":""}`,"data-message-id":i.id,onPointerEnter:ye,onPointerLeave:Ee,children:y.jsxs("div",{className:`message-body-container ${c?"is-editing":""}`,children:[x&&!c&&!G&&!l&&y.jsx("div",{className:"message-side-actions",children:xe}),y.jsx("div",{className:`bubble ${c?"is-editing":""}`,children:c?y.jsx("div",{className:"message-inline-editor",children:y.jsx(EU,{variant:"inline-edit",sessionId:r,sessionInfo:o,initialContent:O,submitLabel:b("chat.send"),submitLoading:k,autoFocus:!0,onCancel:()=>{v(F)},onSend:q,onSendContent:Z,onInterrupt:()=>{}})}):X}),!c&&y.jsx(oce,{msg:i,isUser:x,children:Y?Se:U?xe:void 0})]})})})}const D1n=(n,e)=>n.anchorId===e.anchorId&&n.isFirstInGroup===e.isFirstInGroup&&n.isTargeted===e.isTargeted&&n.isSessionBusy===e.isSessionBusy&&n.hideActionButtons===e.hideActionButtons&&n.isEditing===e.isEditing&&n.isCompactLayout===e.isCompactLayout&&n.isTouchInteraction===e.isTouchInteraction&&n.sessionId===e.sessionId&&n.sessionInfo===e.sessionInfo&&n.showAssistantActions===e.showAssistantActions&&n.msg.id===e.msg.id&&n.msg.role===e.msg.role&&n.msg.createdAt===e.msg.createdAt&&n.msg.model===e.msg.model&&n.msg.content===e.msg.content&&n.msg.toolCall===e.msg.toolCall&&n.msg.usage===e.msg.usage&&n.originalMessage===e.originalMessage,T1n=ie.memo(N1n,D1n);function R1n({notice:n,onRetryConnection:e,onRetrySessionCreation:t}){const{t:i}=vt(),s=n.action==="retry-session-creation"?i("chat.retrySessionCreation"):i("chat.retryConnection"),r=n.action==="retry-session-creation"?t:e;return y.jsx("div",{className:`message-status-notice message-status-notice--${n.tone} ${n.isMock?"is-mock":""}`,children:y.jsx("div",{className:"message-status-notice__card",role:"status","aria-live":"polite",children:y.jsxs("div",{className:"message-status-notice__content",children:[y.jsxs("div",{className:"message-status-notice__header",children:[y.jsxs("div",{className:"message-status-notice__title-row",children:[y.jsx("span",{className:"material-symbols-rounded message-status-notice__icon",children:n.icon}),y.jsx("div",{className:"message-status-notice__title",children:n.title}),n.isMock&&y.jsx("span",{className:"message-status-notice__badge",children:i("chat.debugMockLabel")})]}),n.meta!=null&&n.meta!==""&&y.jsx("span",{className:"message-status-notice__meta",children:n.meta})]}),y.jsx("div",{className:"message-status-notice__message",children:n.message}),n.detail!=null&&n.detail!==""&&y.jsx("div",{className:"message-status-notice__detail",children:n.detail}),n.action!=null&&r!=null&&y.jsx("div",{className:"message-status-notice__actions",children:y.jsx(qe,{size:"small",onClick:r,children:s})})]})})})}function M1n(n){for(let e=n.length-1;e>=0;e-=1){const t=n[e];if((t==null?void 0:t.type)==="message")return t.anchorId}return null}function P1n(n){const e=n[n.length-1];if((e==null?void 0:e.type)==="tool-group")return null;for(let t=n.length-1;t>=0;t-=1){const i=n[t];if(i!=null&&i.type!=="tool-group"&&i.message.role!=="user")return i.anchorId}return null}const O1n=n=>n.type==="message"&&n.originalMessage.role==="user",A1n=n=>{const e=[];let t=null;for(const i of n.renderItems){if(O1n(i)){t!=null&&e.push(t),t={id:i.originalMessage.id,items:[i],startedByUser:!0};continue}if(t==null){t={id:`orphan:${i.anchorId}`,items:[i],startedByUser:!1};continue}t.items.push(i)}return t!=null&&e.push(t),e.map((i,s)=>{var f,g;const r=s===e.length-1,o=((f=i.items[0])==null?void 0:f.originalMessage.createdAt)??null,a=((g=i.items[i.items.length-1])==null?void 0:g.originalMessage.createdAt)??null,l=Math.max(i.items.length-2,0),c=i.startedByUser&&l>0,d=n.hashAnchorId!=null&&n.hashAnchorId!==""?i.items.some(m=>m.anchorId===n.hashAnchorId):!1,h=c&&!(r&&n.keepLastTurnExpanded)&&!n.expandedTurnIds.has(i.id)&&!d;return{durationMs:o!=null&&a!=null?Math.max(a-o,0):null,hiddenCount:l,id:i.id,isCollapsed:h,isExpandable:c,items:i.items,visibleItems:h?[i.items[0],i.items[i.items.length-1]]:i.items}})};function F1n(n){var r;const e=[],t=(o,a,l)=>{for(let c=a;c<l.length;c++){const d=l[c];if(Array.isArray(d.content)){const u=d.content.find(h=>h.type==="tool_result"&&h.tool_use_id===o);if(u)return u}}};let i=0;for(;i<n.length;){const o=n[i];if(!o||!o.content){o&&o.toolCall&&e.push({anchorId:KD(o.id),originalMessage:o,type:"message",message:o,isFirstInGroup:i===0||i>0&&((r=n[i-1])==null?void 0:r.role)!==o.role}),i++;continue}const a=i>0?n[i-1]:null,l=i===0||a!=null&&a.role!==o.role;if(typeof o.content=="string"){e.push({anchorId:KD(o.id),originalMessage:o,type:"message",message:o,isFirstInGroup:l}),i++;continue}if(Array.isArray(o.content)){const c=o.content,d=[];let u=[],h=0;const f=()=>{u.length>0&&(e.push({anchorId:KD(o.id,`tool-${h}`),originalMessage:o,type:"tool-group",id:`group-${o.id}-${h}`,items:[...u],footer:void 0}),u=[],h++)},g=()=>{d.length>0&&(e.push({anchorId:KD(o.id,`text-${h}`),originalMessage:o,type:"message",message:{...o,id:`${o.id}-text-${h}`,content:[...d]},isFirstInGroup:l&&h===0}),d.length=0,h++)};for(const m of c)if(m.type==="text"||m.type==="image"||m.type==="file")f(),d.push(m);else if(m.type==="tool_use"){g();const p=t(m.id,i,n);u.push({item:m,resultItem:p})}if(g(),f(),h===0&&o.toolCall&&(e.push({anchorId:KD(o.id),originalMessage:o,type:"message",message:o,isFirstInGroup:l}),h++),h>0){const m=e[e.length-1];m.type==="tool-group"&&(m.footer={model:o.model,usage:o.usage,createdAt:o.createdAt,originalMessage:o})}}i++}const s=[];for(const o of e){if(o.type==="tool-group"){const a=s[s.length-1];if(a&&a.type==="tool-group"){a.items.push(...o.items),a.originalMessage=o.originalMessage,a.anchorId=o.anchorId,o.footer&&(a.footer=o.footer);continue}}s.push(o)}return s}const eRe=new Set(["allow_once","allow_session","deny_once"]),$1n=n=>{switch(n){case"allow_once":return{icon:"task_alt",tone:"allow"};case"allow_session":return{icon:"history_toggle_off",tone:"allow"};case"allow_project":return{icon:"folder_managed",tone:"allow"};case"deny_once":return{icon:"cancel",tone:"deny"};case"deny_session":return{icon:"block",tone:"deny"};case"deny_project":return{icon:"folder_off",tone:"deny"};default:return{icon:"help",tone:"neutral"}}},B1n=n=>y.jsx(Qe,{title:n,placement:"top",destroyOnHidden:!0,children:y.jsx("span",{className:"material-symbols-rounded interaction-panel__info-trigger","aria-label":n,role:"img",onMouseDown:e=>{e.preventDefault(),e.stopPropagation()},onClick:e=>{e.preventDefault(),e.stopPropagation()},children:"info"})}),H1n=(n,e)=>n.value??`${e}:${n.label}`;function j1n({interactionRequest:n,activeOptionIndex:e,permissionContext:t,deniedTools:i,reasons:s,onActiveOptionIndexChange:r,onMoveActiveOption:o,onInteractionResponse:a}){var M;const{t:l}=vt(),[c,d]=_.useState(!1),u=t!=null,h=n.payload.options??[],f=_.useRef(null),g=h.length===0?-1:Math.min(Math.max(e,0),h.length-1),m=_.useMemo(()=>h.map((P,O)=>({option:P,index:O,meta:$1n(P.value)})),[h]),p=_.useMemo(()=>m.filter(({option:P})=>eRe.has(P.value??"")),[m]),v=_.useMemo(()=>m.filter(({option:P})=>!eRe.has(P.value??"")),[m]),b=u&&v.some(({index:P})=>P===g),w=u?c||b?m:p:m,S=[((M=t==null?void 0:t.subjectLabel)==null?void 0:M.trim())??"",...i.map(P=>P.trim())].filter((P,O,A)=>P!==""&&A.indexOf(P)===O).join("、"),x=u&&S!==""?l("chat.permissionRequestTitleWithTool",{tool:S}):n.payload.question,k=(P,O=0)=>{var F;const A=(F=f.current)==null?void 0:F.querySelector(`.interaction-panel__option[data-option-index="${P}"]`);if(A!=null){A.focus();return}O>=5||window.setTimeout(()=>{k(P,O+1)},40)};_.useEffect(()=>{d(!1)},[n.id]),_.useEffect(()=>{b&&d(!0)},[b]),_.useEffect(()=>{if(!u||h.length===0)return;let P=!1;const O=g>=0?g:0,A=(F=0)=>{var $;if(P)return;const B=($=f.current)==null?void 0:$.querySelector(`.interaction-panel__option[data-option-index="${O}"]`);if(B!=null){B.focus();return}F>=5||window.setTimeout(()=>{A(F+1)},40)};return A(),()=>{P=!0}},[n.id,u,g,h.length,c]);const L=P=>{a==null||a(n.id,P.value??P.label)},I=(P,O=u)=>{if(h.length===0)return;const A=g>=0?g:0,F=HC(A,P,h.length);o(P),O&&k(F)},N=(P,O)=>{(P.key==="ArrowUp"&&O<0||P.key==="ArrowDown"&&O>0)&&(P.preventDefault(),I(O))},D=(P,O)=>{if(P.key==="ArrowDown"){P.preventDefault(),r(HC(O,1,h.length)),k(HC(O,1,h.length));return}P.key==="ArrowUp"&&(P.preventDefault(),r(HC(O,-1,h.length)),k(HC(O,-1,h.length)))},T=()=>{d(P=>{var A;const O=!P;if(!O&&b){const F=((A=p.at(-1))==null?void 0:A.index)??0;r(F)}return O})},R=h.length>1;return y.jsx(u8,{className:["interaction-panel",u?"interaction-panel--permission":"interaction-panel--question"].filter(Boolean).join(" "),summaryClassName:"interaction-panel__summary",bodyClassName:"interaction-panel__body",narrow:!0,summary:y.jsxs("div",{className:"interaction-panel__header",children:[y.jsxs("div",{className:"interaction-panel__title-wrap",children:[!u&&y.jsx("span",{className:"material-symbols-rounded interaction-panel__title-icon",children:"help"}),y.jsx("div",{className:"interaction-question",children:x})]}),R&&y.jsxs("div",{className:"interaction-panel__nav","aria-label":l("chat.interactionOptionNavigation"),children:[y.jsx(Qe,{title:l("chat.interactionOptionPrevious"),placement:"top",destroyOnHidden:!0,children:y.jsx("button",{type:"button",className:"interaction-panel__nav-button","aria-label":l("chat.interactionOptionPrevious"),onMouseDown:P=>{P.preventDefault()},onKeyDown:P=>N(P,-1),onClick:()=>I(-1),children:y.jsx("span",{className:"material-symbols-rounded",children:"keyboard_arrow_up"})})}),y.jsx(Qe,{title:l("chat.interactionOptionNext"),placement:"top",destroyOnHidden:!0,children:y.jsx("button",{type:"button",className:"interaction-panel__nav-button","aria-label":l("chat.interactionOptionNext"),onMouseDown:P=>{P.preventDefault()},onKeyDown:P=>N(P,1),onClick:()=>I(1),children:y.jsx("span",{className:"material-symbols-rounded",children:"keyboard_arrow_down"})})})]})]}),children:y.jsxs("div",{ref:f,className:"interaction-panel__options",children:[w.map(({option:P,index:O,meta:A})=>{const F=H1n(P,O),B=O===g;return u?y.jsxs(qe,{block:!0,"data-option-index":O,tabIndex:B?0:-1,className:["interaction-panel__option",`interaction-panel__option--${A.tone}`,B?"is-active":""].filter(Boolean).join(" "),onFocus:()=>r(O),onKeyDown:$=>D($,O),onClick:()=>L(P),children:[y.jsx("span",{className:"interaction-panel__option-icon material-symbols-rounded",children:A.icon}),y.jsx("span",{className:"interaction-panel__option-copy",children:y.jsxs("span",{className:"interaction-panel__option-text",children:[y.jsx("span",{className:"interaction-panel__option-label",children:P.label}),P.description&&y.jsx("span",{className:"interaction-panel__option-description",children:P.description})]})})]},F):y.jsx(qe,{block:!0,"data-option-index":O,tabIndex:B?0:-1,className:`interaction-panel__option interaction-panel__option--question ${B?"is-active":""}`.trim(),onFocus:()=>r(O),onKeyDown:$=>D($,O),onClick:()=>L(P),children:y.jsxs("span",{className:"interaction-panel__option-main",children:[y.jsxs("span",{className:"interaction-panel__option-index","aria-hidden":"true",children:[O+1,"."]}),y.jsx("span",{className:"interaction-panel__option-label",children:P.label}),P.description&&y.jsx("span",{className:"interaction-panel__option-side",children:B1n(P.description)})]})},F)}),u&&v.length>0&&y.jsxs(qe,{type:"text",className:"interaction-panel__toggle",onClick:T,children:[y.jsx("span",{className:"interaction-panel__toggle-label",children:l(c?"chat.permissionCollapseOptions":"chat.permissionExpandOptions")}),y.jsx("span",{className:"interaction-panel__toggle-icon material-symbols-rounded",children:c?"expand_less":"expand_more"})]})]})})}function W1n({anchorId:n,items:e,originalMessage:t,sessionId:i,targetToolUseId:s,footer:r}){const{t:o}=vt(),[a]=PA(),l=a.get("debug")==="true",[c,d]=_.useState(!1);if(e.length===0)return null;const u=i1n(e,o),h=s!=null&&s!==""&&e.some(g=>g.item.id===s),f=c||h;return e.length===1?y.jsx(h8,{anchorId:n,canEdit:!1,canFork:!1,canRecall:!1,isDebugMode:l,isEditing:!1,message:t,sessionId:i,onFork:()=>{},onRecall:()=>{},onStartEditing:()=>{},children:y.jsxs("div",{id:n,className:"tool-group-container",children:[y.jsx("div",{className:"tool-group-wrapper single-item","data-tool-use-id":e[0].item.id,children:y.jsx(eA,{item:e[0].item,resultItem:e[0].resultItem})}),r&&l&&y.jsx("div",{className:"tool-group-footer-wrapper",children:y.jsx(oce,{msg:r.originalMessage,isUser:!1})})]})}):y.jsx(h8,{anchorId:n,canEdit:!1,canFork:!1,canRecall:!1,isDebugMode:l,isEditing:!1,message:t,sessionId:i,onFork:()=>{},onRecall:()=>{},onStartEditing:()=>{},children:y.jsxs("div",{id:n,className:"tool-group-container",children:[y.jsxs("div",{className:"tool-group-wrapper card-style",children:[y.jsxs("div",{className:"tool-group-header","aria-expanded":f,onClick:()=>d(!c),children:[y.jsx("div",{className:"header-left",children:y.jsx("span",{children:u})}),y.jsx("span",{className:`material-symbols-rounded expand-icon ${f?"is-expanded":""}`,children:"chevron_right"})]}),y.jsx("div",{className:`tool-group-list-shell ${f?"expanded":"collapsed"}`,"aria-hidden":!f,children:y.jsx("div",{className:"tool-group-list",children:e.map((g,m)=>y.jsx(eA,{item:g.item,resultItem:g.resultItem},g.item.id||m))})})]}),r&&l&&y.jsx("div",{className:"tool-group-footer-wrapper",children:y.jsx(oce,{msg:r.originalMessage,isUser:!1})})]})})}const V1n=(n,e)=>{if(n.anchorId!==e.anchorId||n.items.length!==e.items.length||n.targetToolUseId!==e.targetToolUseId)return!1;for(let t=0;t<n.items.length;t++)if(n.items[t].item!==e.items[t].item||n.items[t].resultItem!==e.items[t].resultItem)return!1;return n.originalMessage!==e.originalMessage||n.sessionId!==e.sessionId?!1:n.footer==null&&e.footer==null?!0:n.footer==null||e.footer==null?!1:n.footer.originalMessage===e.footer.originalMessage&&n.footer.createdAt===e.footer.createdAt&&n.footer.model===e.footer.model&&n.footer.usage===e.footer.usage},z1n=ie.memo(W1n,V1n);function U1n({isReady:n,messages:e,session:t,targetMessageId:i,targetToolUseId:s,sessionInfo:r,historyStatusNotices:o,queuedMessages:a,onRetryConnection:l,interactionRequest:c,onInteractionResponse:d,setMessages:u,onClearMessages:h,placeholder:f,modelMenuGroups:g,modelSearchOptions:m,recommendedModelOptions:p,servicePreviewModelOptions:v,onToggleRecommendedModel:b,updatingRecommendedModelValue:w,selectedModel:C,modelForQuery:S,onModelChange:x,effort:k,effortOptions:L,onEffortChange:I,permissionMode:N,permissionModeOptions:D,onPermissionModeChange:T,selectedAdapter:R,adapterOptions:M,onAdapterChange:P,selectedAccount:O,accountOptions:A,showAccountSelector:F,onAccountChange:B,modelUnavailable:$,hasAvailableModels:W,contextReferenceRequest:V}){var dr,Jr;const{t:H}=vt(),{message:U}=ar.useApp(),G=Sh(),{isCompactLayout:Y,isTouchInteraction:K}=Lr(),{data:X}=hi("/api/config",Vw),J=_.useMemo(()=>Hpe(X),[X]),te=_.useRef(!1),[q,Z]=_.useState(()=>({...RI})),[oe,pe]=_.useState(()=>({...W6})),[ae,ce]=_.useState(void 0),{isCreating:ye,send:Ee,sendContent:xe,retrySessionCreation:Se,enqueueContent:be,removeQueuedContent:Ce,moveQueuedContent:le,reorderQueuedContent:fe,editMessage:we,forkMessage:me,interrupt:Ie,clearMessages:Ae,recallMessage:We}=LKe({session:t,modelForQuery:S,hasAvailableModels:W,effort:k,permissionMode:N,adapter:R,account:O,sessionTargetDraft:q,workspaceDraft:oe,onClearMessages:h}),it=ye||(t==null?void 0:t.status)==="running",je=e.length+o.length+(it?1:0),{messagesEndRef:Be,messagesContainerRef:at,messagesContentRef:st,showScrollBottom:wt,scrollToBottom:He}=j0n({contentVersion:je}),Te=_.useRef(!1),Ge=_.useRef(""),mt=_.useRef(""),[Ht,en]=_.useState(null),[ft,jt]=_.useState(new Set),[nt,ot]=_.useState("steer"),[xt,cn]=_.useState(null),[wn,At]=_.useState(0),Pe=(c==null?void 0:c.payload.options)??[],{announcements:gt,startupPresets:dt,builtinActions:Ue}=_.useMemo(()=>J0n(X),[X]),et=ut=>{var mi;return{id:(mi=globalThis.crypto)!=null&&mi.randomUUID?globalThis.crypto.randomUUID():`local-${Date.now()}-${Math.random().toString(16).slice(2)}`,role:"user",content:ut,createdAt:Date.now()}},St=()=>(t==null?void 0:t.id)!=null||UIt(q)?!0:(U.warning(H("chat.sessionTarget.missingResourceWarning")),!1),zt=async(ut,kn)=>{if(!St())return!1;const mi=kn??nt;if(t!=null&&t.id&&t.status==="running"){const Ii=await be(mi,ut);return Ii&&xt!=null&&(cn(null),ot("steer")),Ii}if(!(t!=null&&t.id)){const Ii=await xe(ut,kn);return Ii&&xt!=null&&(cn(null),ot("steer")),Ii}const Xi=await xe(ut,kn);return Xi&&(u(Ii=>[...Ii,et(ut)]),xt!=null&&(cn(null),ot("steer"))),Xi},Xt=async(ut,kn)=>{if(!St())return!1;const mi=kn??nt;if(t!=null&&t.id&&t.status==="running"){const Ii=await be(mi,[{type:"text",text:ut.trim()}]);return Ii&&xt!=null&&(cn(null),ot("steer")),Ii}if(!(t!=null&&t.id)){const Ii=await Ee(ut,kn);return Ii&&xt!=null&&(cn(null),ot("steer")),Ii}const Xi=await Ee(ut,kn);return Xi&&(u(Ii=>[...Ii,et(ut)]),xt!=null&&(cn(null),ot("steer"))),Xi};_.useEffect(()=>{Te.current=!1,Ge.current="",mt.current="",en(null),jt(new Set),cn(null),ot("steer"),ce(void 0),Z((t==null?void 0:t.id)!=null?Q0e(t):{...RI})},[t==null?void 0:t.id,t==null?void 0:t.promptName,t==null?void 0:t.promptType]),_.useEffect(()=>{(t==null?void 0:t.id)==null&&(te.current=!1,pe({...J}))},[t==null?void 0:t.id]),_.useEffect(()=>{(t==null?void 0:t.id)==null&&(te.current||pe({...J}))},[J,t==null?void 0:t.id]),_.useEffect(()=>{At(0)},[c==null?void 0:c.id]),_.useEffect(()=>{if(Pe.length===0){At(0);return}At(ut=>Math.min(ut,Pe.length-1))},[Pe.length]);const Hn=_.useCallback(ut=>{Pe.length!==0&&At(kn=>HC(kn,ut,Pe.length))},[Pe.length]),$t=_.useCallback(()=>{if(c==null)return;const ut=Pe[wn]??Pe[0];ut!=null&&d(c.id,ut.value??ut.label)},[wn,Pe,c,d]);_.useEffect(()=>{!Te.current&&n&&G.hash===""&&(He("auto"),Te.current=!0)},[je,n,G.hash,He]),_.useEffect(()=>{G.hash===""&&!wt&&He("auto")},[je,G.hash,He,wt]);const Ct=ut=>{let kn=!1;en(mi=>mi!=null&&mi!==ut?(kn=!0,mi):ut),kn&&U.warning(H("chat.messageActions.editInProgress"))},dn=Ht!=null,Tn=!(t!=null&&t.id)&&e.length===0&&o.length===0,ai=_.useCallback(ut=>{var eo,ts,vn;if((t==null?void 0:t.id)!=null)return;ut.mode!=null&&Z(X0n(ut));const kn=Y0n(ut);kn!=null&&(te.current=!0,pe(mn=>({...mn,...kn})));const mi=(eo=ut.model)==null?void 0:eo.trim();mi!=null&&mi!==""&&x(mi);const Xi=(ts=ut.adapter)==null?void 0:ts.trim();Xi!=null&&Xi!==""&&P(Xi);const Ii=(vn=ut.account)==null?void 0:vn.trim();Ii!=null&&Ii!==""&&B(Ii),ut.effort!=null&&I(ut.effort),ut.permissionMode!=null&&T(ut.permissionMode),ce(Z0n(ut))},[B,P,I,x,T,t==null?void 0:t.id]),Kn=_.useMemo(()=>F1n(e),[e]),Wt=_.useMemo(()=>decodeURIComponent(G.hash.replace(/^#/,"")),[G.hash]),Le=_.useMemo(()=>{if(s!=null&&s!==""){const ut=Kn.find(kn=>kn.type==="tool-group"&&kn.items.some(mi=>mi.item.id===s));return(ut==null?void 0:ut.anchorId)??""}if(i!=null&&i!==""){const ut=Kn.find(kn=>kn.type==="message"&&kn.originalMessage.id===i);return(ut==null?void 0:ut.anchorId)??""}return""},[Kn,i,s]),yt=_.useMemo(()=>A1n({renderItems:Kn,expandedTurnIds:ft,hashAnchorId:Wt!==""?Wt:Le,keepLastTurnExpanded:ye||(t==null?void 0:t.status)==="running"||(t==null?void 0:t.status)==="waiting_input"}),[ft,Wt,ye,Kn,t==null?void 0:t.status,Le]),Xe=ye||(t==null?void 0:t.status)==="running"||(t==null?void 0:t.status)==="waiting_input",Rt=_.useMemo(()=>P1n(Kn),[Kn]),Pt=_.useMemo(()=>M1n(Kn),[Kn]),bt=async ut=>{await Ce(ut.id)&&(cn({content:ut.content}),ot("steer"))},tn=async(ut,kn)=>{await le(ut.id,kn)},Wn=(c==null?void 0:c.payload.kind)==="permission",li=!dn&&c!=null?y.jsx(j1n,{interactionRequest:c,activeOptionIndex:wn,permissionContext:c.payload.kind==="permission"?c.payload.permissionContext:void 0,deniedTools:c.payload.kind==="permission"?((dr=c.payload.permissionContext)==null?void 0:dr.deniedTools)??[]:[],reasons:c.payload.kind==="permission"?((Jr=c.payload.permissionContext)==null?void 0:Jr.reasons)??[]:[],onActiveOptionIndexChange:At,onMoveActiveOption:Hn,onInteractionResponse:d}):null;_.useEffect(()=>{const ut=Wt;if(ut===""){Ge.current="";return}if(!n||Ge.current===ut)return;let kn=null,mi=null,Xi=null;const Ii=()=>{const eo=document.getElementById(ut);return eo==null?!1:(Ge.current=ut,eo.scrollIntoView({block:"center",behavior:"auto"}),eo.classList.add("is-anchor-target"),kn=setTimeout(()=>{eo.classList.remove("is-anchor-target")},1800),!0)};return Ii()||(Xi=requestAnimationFrame(()=>{Ii()||(mi=setTimeout(()=>{Ii()},120))})),()=>{Xi!=null&&cancelAnimationFrame(Xi),mi!=null&&clearTimeout(mi),kn!=null&&clearTimeout(kn)}},[Wt,n,yt]),_.useEffect(()=>{const ut=s!=null&&s!==""?{key:"data-tool-use-id",value:s,targetKey:`tool:${s}`}:i!=null&&i!==""?{key:"data-message-id",value:i,targetKey:`message:${i}`}:void 0;if(ut==null){mt.current="";return}if(mt.current===ut.targetKey)return;const kn=window.requestAnimationFrame(()=>{const mi=st.current;if(mi==null)return;const Xi=Array.from(mi.querySelectorAll(`[${ut.key}]`)).find(Ii=>Ii.getAttribute(ut.key)===ut.value);Xi!=null&&(mt.current=ut.targetKey,Xi.scrollIntoView({block:"center",behavior:"smooth"}))});return()=>{window.cancelAnimationFrame(kn)}},[yt,st,i,s]);const $s=ut=>{jt(kn=>{const mi=new Set(kn);return mi.has(ut)?mi.delete(ut):mi.add(ut),mi})},Zt=ut=>{if(ut==null)return null;const kn=Math.floor(ut/1e3);if(kn<=0)return H("chat.turnDurationUnderSecond");const mi=Math.floor(kn/3600),Xi=Math.floor(kn%3600/60),Ii=kn%60;return mi>0?[H("chat.turnDurationHours",{count:mi}),Xi>0?H("chat.turnDurationMinutes",{count:Xi}):null].filter(Boolean).join(" "):Xi>0?[H("chat.turnDurationMinutes",{count:Xi}),Ii>0?H("chat.turnDurationSeconds",{count:Ii}):null].filter(Boolean).join(" "):H("chat.turnDurationSeconds",{count:Ii})},Ln=ut=>y.jsx("div",{className:`chat-turn-summary ${ut.isCollapsed?"is-collapsed":"is-expanded"}`,children:y.jsxs("div",{className:"chat-turn-summary__content",children:[y.jsxs("div",{className:"chat-turn-summary__meta",children:[Zt(ut.durationMs)!=null&&y.jsx("span",{className:"chat-turn-summary__time",children:H("chat.turnProcessedDuration",{duration:Zt(ut.durationMs)})}),y.jsx("span",{className:"chat-turn-summary__count",children:H("chat.turnSummaryCount",{count:ut.hiddenCount})})]}),y.jsx("button",{type:"button",className:"chat-turn-summary__toggle","aria-expanded":!ut.isCollapsed,onClick:()=>$s(ut.id),children:y.jsx("span",{className:"material-symbols-rounded",children:"chevron_right"})})]})}),Fn=(ut,kn)=>ut.type==="message"?y.jsx(T1n,{anchorId:ut.anchorId,msg:ut.message,isFirstInGroup:ut.isFirstInGroup,isTargeted:ut.originalMessage.id===i,originalMessage:ut.originalMessage,sessionInfo:r,isEditing:Ht===ut.originalMessage.id,isCompactLayout:Y,isTouchInteraction:K,isSessionBusy:Xe,hideActionButtons:Xe&&ut.anchorId===Pt,showAssistantActions:ut.anchorId===Rt,onEditMessage:we,onForkMessage:me,onRecallMessage:We,onStartEditing:Ct,onCancelEditing:mi=>{en(Xi=>Xi===mi?null:Xi)},sessionId:t==null?void 0:t.id},kn??ut.anchorId):y.jsx(z1n,{anchorId:ut.anchorId,items:ut.items,originalMessage:ut.originalMessage,sessionId:t==null?void 0:t.id,targetToolUseId:s,footer:ut.footer},kn??ut.id),Ms=y.jsxs(y.Fragment,{children:[Wn&&li,y.jsx(z0n,{messages:e}),!dn&&y.jsx(YTe,{mode:"next",items:a.next,onMove:(ut,kn)=>void tn(ut,kn),onDelete:ut=>void Ce(ut.id),onEdit:ut=>void bt(ut),onReorder:ut=>fe("next",ut)}),!dn&&y.jsx(YTe,{mode:"steer",items:a.steer,onMove:(ut,kn)=>void tn(ut,kn),onDelete:ut=>void Ce(ut.id),onEdit:ut=>void bt(ut),onReorder:ut=>fe("steer",ut)}),!Wn&&li,!dn&&y.jsxs("div",{className:"sender-container",children:[y.jsx(EU,{onSend:Xt,onSendContent:zt,adapterLocked:(t==null?void 0:t.id)!=null,sessionId:t==null?void 0:t.id,sessionStatus:ye?"running":t==null?void 0:t.status,onInterrupt:Ie,onClear:Ae,sessionInfo:r,interactionRequest:c,onInteractionResponse:d,interactionOptionNavigation:c!=null&&Pe.length>0?{optionCount:Pe.length,activeIndex:wn,onMove:Hn,onSubmit:$t}:void 0,initialContent:(xt==null?void 0:xt.content)??ae,placeholder:f,submitLabel:xt!=null?H("chat.queue.requeueMessage"):void 0,modelMenuGroups:g,modelSearchOptions:m,recommendedModelOptions:p,servicePreviewModelOptions:v,onToggleRecommendedModel:b,updatingRecommendedModelValue:w,selectedModel:C,onModelChange:x,effort:k,effortOptions:L,onEffortChange:I,permissionMode:N,permissionModeOptions:D,onPermissionModeChange:T,selectedAdapter:R,adapterOptions:M,onAdapterChange:P,selectedAccount:O,accountOptions:A,showAccountSelector:F,onAccountChange:B,modelUnavailable:$,sessionTarget:{draft:(t==null?void 0:t.id)!=null?Q0e(t):q,locked:(t==null?void 0:t.id)!=null,disabled:ye,onChange:Z},queueMode:nt,onQueueModeChange:ot,contextReferenceRequest:V}),y.jsx(Bpe,{draftWorkspace:oe,isCreating:ye,sessionId:t==null?void 0:t.id,adapterLocked:(t==null?void 0:t.id)!=null,isThinking:ye||(t==null?void 0:t.status)==="running",modelUnavailable:$,selectedAdapter:R,adapterOptions:M,onAdapterChange:P,selectedAccount:O,accountOptions:A,showAccountSelector:F,onAccountChange:B,onDraftWorkspaceChange:ut=>{te.current=!0,pe(ut)}})]})]});return y.jsxs(y.Fragment,{children:[y.jsxs("div",{className:`chat-messages ${n?"ready":""}`,ref:at,children:[y.jsxs("div",{className:"chat-messages-content",ref:st,children:[!(t!=null&&t.id)&&ye&&y.jsxs("div",{className:"chat-pending-session-banner",children:[y.jsx("span",{className:"material-symbols-rounded",children:"hourglass_top"}),y.jsx("span",{children:H("common.creatingChat")})]}),yt.map(ut=>ut.isExpandable?y.jsxs("div",{className:`chat-turn ${ut.isCollapsed?"is-collapsed":"is-expanded"}`,children:[Fn(ut.items[0],`${ut.id}:leading`),y.jsxs("div",{className:`chat-turn__summary-region ${ut.isCollapsed?"is-collapsed":"is-expanded"}`,children:[Ln(ut),y.jsx("div",{className:`chat-turn__collapsible ${ut.isCollapsed?"is-collapsed":"is-expanded"}`,"aria-hidden":ut.isCollapsed,children:y.jsx("div",{className:"chat-turn__collapsible-inner",children:ut.items.slice(1,-1).map(kn=>Fn(kn))})})]}),Fn(ut.items[ut.items.length-1],`${ut.id}:trailing`)]},ut.id):y.jsx(ie.Fragment,{children:ut.items.map(kn=>Fn(kn))},ut.id)),o.map(ut=>y.jsx(R1n,{notice:ut,onRetryConnection:l,onRetrySessionCreation:()=>{Se()}},ut.id)),it&&y.jsx("div",{className:"chat-thinking-indicator",role:"status","aria-live":"polite",children:y.jsx("span",{className:"chat-thinking-indicator__text",children:H("chat.thinking")})}),y.jsx("div",{ref:Be})]}),wt&&y.jsx("div",{className:"scroll-bottom-btn",onClick:()=>He(),children:y.jsx("span",{className:"material-symbols-rounded",children:"arrow_downward"})})]}),Tn?y.jsx(fKe,{compact:Y,composer:Ms,contentClassName:"chat-history-view__new-session-content",children:y.jsx(aSn,{announcements:gt,startupPresets:dt,builtinActions:Ue,onApplyStarter:ai})}):y.jsx(hKe,{children:Ms})]})}function K1n({session:n,sessionInfo:e,onClose:t}){return y.jsx("div",{className:"chat-settings-panel",children:y.jsx(B0n,{session:n,sessionInfo:e,onClose:t})})}function q1n(n){return n.replace(/\W/g,"_")}function of(n){const[e,t,i]=n.split(":").map(Number);return(e||0)*3600+(t||0)*60+(i||0)}function ME(n){const[e,t,i]=n.split(":"),s=r=>{const o=Number.parseInt(r??"0",10);return Number.isFinite(o)?`${o}`.padStart(2,"0"):"00"};return`${s(e)}:${s(t)}:${s(i)}`}function tRe(){let n=0;return e=>`${e}_${n++}`}const G1n=18,X1n=(n,e,t="")=>{if(n.length+t.length<=e)return`${n}${t}`;const i=Math.max(4,e-t.length-1);return`${n.slice(0,i).trimEnd()}…${t}`};function Y1n(n,e,t){const i=tRe(),s=tRe(),r=[],o=[],a="";let l=0;const c=()=>(l+=1,a.repeat(l)),d=m=>{r.push(m)},u=m=>{const p=[{start:m.startTime,end:m.endTime}],v=m.events??[],b=v.findIndex(x=>x.type==="tool__AskUserQuestion");if(b<0)return p;const w=v[b],C=of(w.startTime)<=of(w.endTime)?w.startTime:w.endTime,S=of(w.startTime)<=of(w.endTime)?w.endTime:w.startTime;return of(S)<=of(C)||(p[p.length-1]={start:p[p.length-1].start,end:C},p.push({start:S,end:m.endTime})),p},h=m=>{for(let p=0;p<m.length;p+=1){const v=m[p],{type:b,startTime:w,endTime:C}=v;switch(b){case"tool__StartTasks":{const{tasks:S={}}=v,x=s("section"),k=c();for(const[L,I]of Object.entries(S)){const N=u(I);N.forEach((T,R)=>{const M=i("task"),P=N.length>1?` ·${R+1}`:"",O=t!=null&&t.compact?X1n(L,G1n,P):`${L}${P}`,A={id:M,label:L,payload:{kind:"task",name:L,task:I}};o.push({id:M,label:O,start:ME(T.start),end:ME(T.end),sectionId:x,sectionLabel:k,type:"task",interaction:A}),d(A)});const{events:D=[]}=I;D.length>0&&h(D)}break}}}},f=i("main"),g=s("section");return o.push({id:f,label:e.ganttMainSection,start:ME(n.startTime),end:ME(n.endTime),sectionId:g,sectionLabel:e.ganttMainSection,type:"task"}),h(n.events??[]),{items:o,interactions:r}}function Z1n(n){var i;const e=["gantt","dateFormat HH:mm:ss","axisFormat %H:%M:%S"],t=new Map;for(const s of n)t.has(s.sectionId)||t.set(s.sectionId,{label:s.sectionLabel,items:[]}),(i=t.get(s.sectionId))==null||i.items.push(s);for(const s of t.values()){e.push(s.label?`section ${s.label}`:"section");for(const r of s.items)r.end&&e.push(`${r.label} :${r.id}, ${r.start}, ${r.end}`)}return e.join(`
|
|
1514
1514
|
`)}function Q1n(n,e,t){const{items:i,interactions:s}=Y1n(n,e,t);return{code:Z1n(i),interactions:s}}function J1n(n){if(n)return n.replace(/"/g,"'")}function exn(n){return{normalizeCommitId:i=>i.replace(/\s+/g,"_"),allocateCommitId:i=>{let s=i,r=1;for(;n.has(s);)s=`${i}_${r}`,r+=1;return n.add(s),s}}}function b$(n,e){switch(e){case"tool__StartTasks":return n.startTasks;case"tool__AskUserQuestion":return n.askUserQuestion;case"tool__Edit":return n.edit;case"tool__ResumeTask":return n.resumeTask;case"user__Prompt":return n.userPrompt;default:return e}}function nRe(n){switch(n.kind){case"merge":return n.target;case"branch":return n.name;default:return n.branch}}function txn(n){return[...n].sort((e,t)=>{const i=of(e.time)-of(t.time);if(i!==0)return i;if(e.priority!==t.priority)return e.priority-t.priority;const s=nRe(e),r=nRe(t);return s!==r?s.localeCompare(r):e.seq-t.seq})}function nxn(n){const e=["gitGraph TB:"],t=new Set,i=new Set,{normalizeCommitId:s,allocateCommitId:r}=exn(i),o=new Map,a=new Map,l=new Map,c=new Map;let d,u,h=0;const f=[],g=[],m=(D,T)=>{const R=J1n(T);return R?e.push(`commit id:"${D}" tag:"${R}"`):e.push(`commit id:"${D}"`),D},p=(D,T,R,M)=>{if(!d){d={id:D,branch:T,time:R,seq:M};return}const P=of(R)-of(d.time);(P>0||P===0&&M>d.seq)&&(d={id:D,branch:T,time:R,seq:M})},v=D=>{let T=D;for(;T;){const R=a.get(T);if(R)return{id:R,branch:l.get(R)??T};const M=c.get(T);if(!M||M===T)break;T=M}},b=D=>{if(D)return v(D);if(d)return{id:d.id,branch:d.branch}},w=(D,T,R,M)=>{const P=s(D),O=r(P);return R!=null&&R.branchName&&typeof R.priority=="number"?(f.push({kind:"commit",time:D,branch:R.branchName,commitId:O,action:T,priority:R.priority,seq:h++}),a.set(R.branchName,O),l.set(O,R.branchName),p(O,R.branchName,D,h-1),M&&g.push({id:O,label:T??O,payload:M}),O):(M&&g.push({id:O,label:T??O,payload:M}),m(O,T))},C=D=>{t.has(D)||(t.add(D),u=D,e.push(`branch ${D}`))},S=D=>{u=D,e.push(`checkout ${D}`)},x=(D,T,R,M)=>{const P=[];T&&P.push(`id:"${T}"`),R&&P.push(`tag:"${R}"`),e.push(`merge ${D} ${P.join(" ")}`),T&&(M!=null&&M.branchName)&&M.time&&typeof M.seq=="number"&&(a.set(M.branchName,T),l.set(T,M.branchName),p(T,M.branchName,M.time,M.seq))},k=(D,T,R,M)=>{f.push({kind:"branch",time:D,baseBranch:T,name:R,priority:M,seq:h++})},L=(D,T,R,M,P,O)=>{const A=s(D),F=r(A);return f.push({kind:"merge",time:D,target:T,source:R,action:M,mergeId:F,priority:P,seq:h++}),O&&g.push({id:F,label:M,payload:O}),F},I="main";return{get curBranch(){return u},labels:n,lines:e,ops:f,interactions:g,commit:m,branch:C,checkout:S,merge:x,addCommit:w,addBranch:k,addMerge:L,ensureBranch:D=>{D!==I&&C(D)},normalizeCommitId:s,allocateCommitId:r,findLatestCommitId:b,resumeCommitIds:o,parentByBranch:c}}function tXe(n,e,t,i){const{labels:s,addCommit:r,addBranch:o,addMerge:a,parentByBranch:l,resumeCommitIds:c}=i;for(const d of n){const{type:u,startTime:h,endTime:f}=d;switch(u){case"tool__StartTasks":{r(h,s.taskStart,{branchName:e,priority:10},{kind:"event",event:d});const{tasks:g={}}=d;for(const[m,p]of Object.entries(g)){const v=q1n(m);l.set(v,e),o(h,e,v,15),r(p.startTime,s.taskStart,{branchName:v,priority:16},{kind:"task",name:m,task:p});const{events:b=[]}=p;b.length>0&&tXe(b,v,e,i),r(p.endTime,s.taskEnd,{branchName:v,priority:60})}r(f,s.allTasksDone,{branchName:e,priority:70});break}case"tool__AskUserQuestion":r(h,s.askUserQuestion,{branchName:e,priority:20},{kind:"event",event:d}),a(f,t,e,s.userAnswer,80,{kind:"event",event:d});break;case"tool__Edit":r(h,b$(s,u),{branchName:e,priority:30},{kind:"event",event:d});break;case"tool__ResumeTask":{const g=r(h,b$(s,u),{branchName:e,priority:40},{kind:"event",event:d});c.set(e,g);break}case"user__Prompt":a(h,e,"<prev_branch>",b$(s,u),50,{kind:"event",event:d});break;default:r(f,b$(s,u),{branchName:e,priority:55},{kind:"event",event:d});break}}}function ixn(n){const e=txn(n.ops);for(const t of e)switch(t.kind){case"commit":n.ensureBranch(t.branch),n.checkout(t.branch),n.commit(t.commitId,t.action);break;case"branch":n.checkout(t.baseBranch),n.ensureBranch(t.name);break;case"merge":{t.source==="<prev_branch>"&&(t.source=n.curBranch),n.ensureBranch(t.target),n.ensureBranch(t.source),n.checkout(t.target),n.merge(t.source,t.mergeId,t.action,{branchName:t.target,time:t.time,seq:t.seq});break}}}function sxn(n,e,t){const i=nxn(e),s="main";return i.checkout(s),i.addCommit(n.startTime,e.mainStart),tXe(n.events??[],s,s,i),ixn(i),i.checkout(s),i.addCommit(n.endTime,e.mainEnd),{code:i.lines.join(`
|
|
1515
|
-
`),interactions:i.interactions}}const rxn=(n,e)=>e?{...n,mainStart:"启动",mainEnd:"结束",startTasks:"任务",allTasksDone:"完成",askUserQuestion:"提问",resumeTask:"继续",userPrompt:"提示",userAnswer:"回答",receiveReply:"回复",taskStart:"开始",taskEnd:"结束",ganttMainSection:"主"}:{...n,mainStart:"Start",mainEnd:"End",startTasks:"Tasks",allTasksDone:"Done",askUserQuestion:"Ask",resumeTask:"Resume",userPrompt:"Prompt",userAnswer:"Answer",receiveReply:"Reply",taskStart:"Start",taskEnd:"End",ganttMainSection:"Main"};function y$(n){const{task:e,viewMode:t,className:i,style:s}=n,r=ie.useRef(null),{t:o,i18n:a}=vt(),{isCompactLayout:l}=Lr(),c=ie.useMemo(()=>({mainStart:o("chat.timeline.mainStart"),mainEnd:o("chat.timeline.mainEnd"),startTasks:o("chat.timeline.startTasks"),allTasksDone:o("chat.timeline.allTasksDone"),askUserQuestion:o("chat.timeline.askUserQuestion"),edit:o("chat.timeline.edit"),resumeTask:o("chat.timeline.resumeTask"),userPrompt:o("chat.timeline.userPrompt"),userAnswer:o("chat.timeline.userAnswer"),receiveReply:o("chat.timeline.receiveReply"),taskStart:o("chat.timeline.taskStart"),taskEnd:o("chat.timeline.taskEnd"),ganttTitle:o("chat.timeline.ganttTitle"),ganttMainSection:o("chat.timeline.ganttMainSection"),ganttTasksSection:o("chat.timeline.ganttTasksSection")}),[o]),d=ie.useMemo(()=>{var p;return l?rxn(c,((p=a.resolvedLanguage)==null?void 0:p.startsWith("zh"))===!0):c},[a.resolvedLanguage,l,c]),u=ie.useMemo(()=>t==="gantt"?Q1n(e,d,{compact:l}):sxn(e,d),[d,l,e,t]),h=ie.useId(),f=ie.useMemo(()=>h.replace(/\W/g,"_"),[h]),g=ie.useRef(new Map),m=ie.useMemo(()=>u.code,[u.code]);return ie.useEffect(()=>{let p=!1;return(async()=>{const w=(await re(()=>import("./mermaid.core-7-_svZYh.js").then(I=>I.b5),[])).default,C=getComputedStyle(document.body).fontFamily;if(w.initialize({startOnLoad:!1,securityLevel:"loose",themeVariables:{fontFamily:C,fontSize:l?"12px":"14px"},gitGraph:l?{rotateCommitLabel:!1,showBranches:!1}:{},gantt:{topAxis:!0,displayMode:"compact",gridLineStartPadding:0,leftPadding:l?8:16,rightPadding:l?8:16,topPadding:l?28:36,barHeight:l?16:20,barGap:l?3:4,fontSize:l?10:11,sectionFontSize:l?10:11}}),p)return;const S=r.current;if(!S)return;const{svg:x,bindFunctions:k}=await w.render(f,m);if(p)return;S.innerHTML=x;const L=S.querySelector("svg");if(L){L.classList.add("session-timeline-mermaid__svg");for(const I of u.interactions){const N=L.querySelector(`#${CSS.escape(I.id)}`);N&&(N.classList.add("session-timeline-mermaid__interactive"),N.addEventListener("click",()=>{const D=g.current.get(I.id);D&&console.warn(D.payload)}))}}typeof k=="function"&&k(S)})(),()=>{p=!0}},[u.interactions,l,m,f]),ie.useEffect(()=>{g.current=new Map(u.interactions.map(p=>[p.id,{label:p.label,payload:p.payload}]))},[u.interactions]),y.jsx("div",{ref:r,className:["session-timeline-panel",`session-timeline-panel--${t}`,l?"session-timeline-panel--compact":"",i??""].filter(Boolean).join(" "),style:s})}const oxn=(n,e)=>{const t=[];let i=0;const s=(o,a,l,c,d)=>{t.push({id:`${o}-${a}-${l}-${i}`,label:o,startTime:a,endTime:l,depth:c,payload:d}),i+=1},r=(o,a)=>{for(const l of o)l.type==="tool__StartTasks"?s(e.startTasks,l.startTime,l.endTime,a,l):l.type==="tool__AskUserQuestion"?s(e.askUserQuestion,l.startTime,l.endTime,a,l):l.type==="tool__Edit"?s(e.edit,l.startTime,l.endTime,a,l):l.type==="tool__ResumeTask"?s(e.resumeTask,l.startTime,l.endTime,a,l):l.type==="user__Prompt"&&s(e.userPrompt,l.startTime,l.endTime,a,l)};return s(e.mainStart,n.startTime,n.startTime,0),r(n.events??[],0),s(e.mainEnd,n.endTime,n.endTime,0),t.map((o,a)=>({...o,index:a})).sort((o,a)=>{const l=of(o.startTime)-of(a.startTime);return l!==0?l:o.index-a.index}).map(({index:o,...a})=>a)};function iRe({task:n}){const{t:e}=vt(),{isCompactLayout:t}=Lr(),[i,s]=ie.useState(""),r=ie.useRef(null),[o,a]=ie.useState(240),l=ie.useMemo(()=>({mainStart:e("chat.timeline.mainStart"),mainEnd:e("chat.timeline.mainEnd"),startTasks:e("chat.timeline.startTasks"),askUserQuestion:e("chat.timeline.askUserQuestion"),edit:e("chat.timeline.edit"),resumeTask:e("chat.timeline.resumeTask"),userPrompt:e("chat.timeline.userPrompt")}),[e]),c=ie.useMemo(()=>oxn(n,l),[l,n]),d=ie.useMemo(()=>{const g=i.trim().toLowerCase();return g?c.filter(m=>`${m.label} ${m.startTime} ${m.endTime}`.toLowerCase().includes(g)):c},[c,i]),u=e("chat.timelineEmptyValue"),h=ie.useCallback(g=>{const m=ME(g.startTime),p=ME(g.endTime);return y.jsx("span",{className:"session-timeline-event-table__time",children:m===p?m:`${m} → ${p}`})},[]),f=ie.useMemo(()=>t?[{title:e("chat.timelineEventName"),key:"summary",render:(g,m)=>{const p=[{key:e("chat.timelineInput"),value:m.input},{key:e("chat.timelineOutput"),value:m.output}].filter(v=>v.value!=null&&v.value!=="");return y.jsxs("div",{className:"session-timeline-event-table__summary",children:[y.jsx("span",{className:"session-timeline-event-table__label",style:{paddingLeft:`${m.depth*12}px`},children:m.label}),p.length>0&&y.jsx("div",{className:"session-timeline-event-table__detail-list",children:p.map(v=>y.jsxs("span",{className:"session-timeline-event-table__detail-item",children:[y.jsx("span",{className:"session-timeline-event-table__detail-key",children:v.key}),y.jsx("span",{className:"session-timeline-event-table__detail-text",children:v.value})]},v.key))})]})}},{title:e("chat.timelineTiming"),key:"time",width:120,render:(g,m)=>y.jsx("span",{className:"session-timeline-event-table__cell-timing",children:h(m)})}]:[{title:e("chat.timelineEventName"),key:"label",width:180,render:(g,m)=>y.jsx("span",{className:"session-timeline-event-table__label",style:{paddingLeft:`${m.depth*16}px`},children:m.label})},{title:e("chat.timelineInput"),key:"input",width:180,render:(g,m)=>y.jsx("span",{className:"session-timeline-event-table__value",children:m.input??u})},{title:e("chat.timelineOutput"),key:"output",width:180,render:(g,m)=>y.jsx("span",{className:"session-timeline-event-table__value",children:m.output??u})},{title:e("chat.timelineTiming"),key:"time",width:160,render:(g,m)=>h(m)}],[u,t,h,e]);return ie.useEffect(()=>{const g=r.current;if(!g)return;const m=()=>{const v=g.querySelector(".session-timeline-event-table__header"),b=g.querySelector(".ant-table-pagination"),w=(v==null?void 0:v.offsetHeight)??0,C=(b==null?void 0:b.offsetHeight)??0,S=Math.max(160,g.clientHeight-w-C-16);a(x=>x===S?x:S)};m();const p=new ResizeObserver(m);return p.observe(g),()=>{p.disconnect()}},[]),y.jsxs("div",{ref:r,className:"session-timeline-event-table",children:[y.jsxs("div",{className:"session-timeline-event-table__header",children:[y.jsx("span",{className:"session-timeline-event-table__title",children:e("chat.timeline.eventListTitle")}),y.jsx(yn,{className:"session-timeline-event-table__search",allowClear:!0,value:i,onChange:g=>s(g.target.value),placeholder:e("chat.timeline.eventListSearch")})]}),y.jsx(Lp,{className:"session-timeline-event-table__table",size:"small",columns:f,dataSource:d,rowKey:"id",onRow:g=>({onClick:()=>{g.payload&&console.warn(g.payload)}}),pagination:{pageSize:20,showSizeChanger:!t,pageSizeOptions:["10","20","50"]},scroll:{y:o},locale:{emptyText:e("chat.timelineEmpty")}})]})}const Mk={startTime:"09:40:00",endTime:"11:30:48",events:[{type:"tool__StartTasks",startTime:"09:41:02",endTime:"10:10:25",tasks:{taskA:{startTime:"09:41:10",endTime:"09:55:02",description:"Task A"},taskB:{startTime:"09:41:10",endTime:"09:50:40",description:"Task B"},taskC:{startTime:"09:41:10",endTime:"10:10:20",description:"Task C",events:[{type:"tool__StartTasks",startTime:"09:48:00",endTime:"10:05:30",tasks:{taskC0:{startTime:"09:49:10",endTime:"10:05:25",events:[{type:"tool__AskUserQuestion",startTime:"09:57:00",endTime:"09:59:23"},{type:"user__Prompt",startTime:"09:58:10",endTime:"09:58:20"}]}}},{type:"tool__Edit",startTime:"09:57:10",endTime:"09:59:20"},{type:"tool__ResumeTask",startTime:"09:59:22",endTime:"10:05:30"}]}}},{type:"tool__StartTasks",startTime:"10:41:02",endTime:"11:10:25",tasks:{taskA1:{startTime:"10:41:10",endTime:"10:55:02",description:"Task A1"},taskB1:{startTime:"10:41:10",endTime:"10:50:40",description:"Task B1"},taskC1:{startTime:"10:41:10",endTime:"11:10:20",description:"Task C1",events:[{type:"tool__StartTasks",startTime:"10:48:00",endTime:"11:05:30",tasks:{taskC10:{startTime:"10:49:10",endTime:"11:05:25",events:[{type:"tool__AskUserQuestion",startTime:"10:57:00",endTime:"10:59:23"},{type:"user__Prompt",startTime:"10:58:10",endTime:"10:58:20"}]}}},{type:"tool__Edit",startTime:"10:57:10",endTime:"10:59:20"},{type:"tool__ResumeTask",startTime:"10:59:22",endTime:"11:05:30"}]}}}]};function axn({messages:n}){const{t:e}=vt(),{isCompactLayout:t}=Lr(),[i,s]=ie.useState("events");if(t){const r=[{key:"events",label:e("chat.timeline.eventListTitle")},{key:"gantt",label:e("chat.timeline.viewGantt")},{key:"git",label:e("chat.timeline.viewGit")}];return y.jsxs("div",{className:"chat-timeline-view chat-timeline-view--compact",children:[y.jsx("div",{className:"chat-timeline-view__tabs",role:"tablist","aria-label":e("chat.timelineTiming"),children:r.map(o=>y.jsx("button",{type:"button",role:"tab","aria-selected":i===o.key,className:`chat-timeline-view__tab ${i===o.key?"is-active":""}`,onClick:()=>s(o.key),children:o.label},o.key))}),y.jsxs("section",{className:`chat-timeline-view__panel ${i==="events"?"chat-timeline-view__panel--events":"chat-timeline-view__panel--diagram"}`,children:[i==="events"&&y.jsx(iRe,{task:Mk}),i==="gantt"&&y.jsx(y$,{task:Mk,viewMode:"gantt"}),i==="git"&&y.jsx(y$,{task:Mk,viewMode:"git"})]})]})}return y.jsxs("div",{className:"chat-timeline-view",children:[y.jsx("section",{className:"session-timeline-section session-timeline-section--fixed",children:y.jsx(y$,{task:Mk,viewMode:"gantt"})}),y.jsxs("section",{className:"session-timeline-section session-timeline-section--flex session-timeline-section--row",children:[y.jsx("div",{className:"session-timeline-column session-timeline-column--graph",children:y.jsx(y$,{task:Mk,viewMode:"git"})}),y.jsx("div",{className:"session-timeline-column session-timeline-column--events",children:y.jsx(iRe,{task:Mk})})]})]})}const sRe=(n,e=!1)=>({icon:"settings_suggest",id:e?"mock-model-unavailable":"model-unavailable",isMock:e,message:n("chat.modelConfigRequired"),detail:n("chat.modelConfigRequiredHelp"),tone:"warning",title:n("chat.modelConfigRequiredTitle")}),iZ=(n,e,t=!1)=>{const i=e.reason==="closed";return{action:t?void 0:"retry-connection",detail:n(i?"chat.connectionClosedHelp":"chat.connectionErrorHelp"),icon:i?"wifi_off":"cloud_off",id:t?i?"mock-connection-closed":"mock-connection-error":i?"connection-closed":"connection-error",isMock:t,message:e.message,tone:"error",title:n(i?"chat.connectionClosedTitle":"chat.connectionErrorTitle")}},rRe=(n,e,t=!1)=>{const i=e.action==="retry-session-creation";return{...t||e.action==null?{}:{action:e.action},detail:n(i?"chat.sessionCreateFailedHelp":"chat.sessionErrorHelp"),icon:"error",id:t?"mock-session-error":i?"session-create-failed":"session-error",isMock:t,message:e.message,...!i&&e.code!=null&&e.code!==""?{meta:n("chat.sessionErrorCode",{code:e.code})}:{},tone:"error",title:n(i?"chat.sessionCreateFailedTitle":"chat.sessionErrorTitle")}},lxn=({errorState:n,isDebugMode:e,modelUnavailable:t,t:i})=>{const s=[],r=new Set;if(t&&(s.push(sRe(i)),r.add("model-unavailable")),n!=null&&n.message.trim()!==""&&(n.kind==="session"?(s.push(rRe(i,n)),r.add("session-error")):(s.push(iZ(i,n)),r.add(n.reason==="closed"?"connection-closed":"connection-error"))),!e)return s;const o=[{scenario:"connection-error",notice:iZ(i,{message:i("chat.debugMockConnectionErrorMessage"),reason:"error"},!0)},{scenario:"connection-closed",notice:iZ(i,{message:i("chat.debugMockConnectionClosedMessage"),reason:"closed"},!0)},{scenario:"session-error",notice:rRe(i,{message:i("chat.debugMockSessionErrorMessage"),code:"session_timeout"},!0)},{scenario:"model-unavailable",notice:sRe(i,!0)}];for(const a of o)r.has(a.scenario)||s.push(a.notice);return s},cxn=[{key:"folders",icon:"account_tree",labelKey:"chat.workspaceDrawerChangedFolders"},{key:"flat",icon:"view_list",labelKey:"chat.workspaceDrawerChangedFlat"}],dxn={type:"divider"},sZ=n=>y.jsx("span",{className:"material-symbols-rounded chat-workspace-drawer__menu-icon",children:n});function uxn({activeView:n,changedFilesCount:e,changedLayout:t,onActiveViewChange:i,onChangedLayoutChange:s,onChangedTreeCommand:r,onForceSync:o,onWorkspaceTreeCommand:a,selectedFilePath:l}){const{t:c}=vt(),d=_.useMemo(()=>[{key:"tree",icon:"folder",label:c("chat.workspaceDrawerTree")},{key:"changes",icon:"difference",label:c("chat.workspaceDrawerChangedFiles"),count:e}],[e,c]),u=_.useMemo(()=>[{key:"force-sync",label:c("chat.workspaceDrawerForceSync"),icon:sZ("sync"),onClick:o},...n==="changes"?[dxn,{key:"display-mode",label:c("chat.workspaceDrawerDisplayMode"),icon:sZ("view_module"),children:cxn.map(m=>({key:`layout:${m.key}`,label:c(m.labelKey),icon:sZ(t===m.key?"check":m.icon),onClick:()=>s(m.key)}))}]:[]],[n,t,s,o,c]),h=l!=null&&l!=="",f=()=>{if(n==="tree"){a("expand");return}r("expand")},g=()=>{if(n==="tree"){a("collapse");return}r("collapse")};return y.jsxs("div",{className:"chat-workspace-drawer__toolbar",children:[y.jsx("div",{className:"chat-workspace-drawer__view-actions",children:d.map(m=>y.jsx(Qe,{title:m.label,children:y.jsxs(qe,{type:"text",className:`chat-workspace-drawer__view-btn ${n===m.key?"is-active":""}`,"aria-label":m.label,"aria-pressed":n===m.key,onClick:()=>i(m.key),children:[y.jsx("span",{className:"material-symbols-rounded",children:m.icon}),m.count!=null&&m.count>0&&y.jsx("span",{className:"chat-workspace-drawer__view-count",children:m.count})]})},m.key))}),y.jsxs("div",{className:"chat-workspace-drawer__toolbar-actions",children:[y.jsx(Qe,{title:c("chat.workspaceDrawerLocateFile"),children:y.jsx("span",{className:"chat-workspace-drawer__toolbar-button-wrap",children:y.jsx(qe,{type:"text",className:"chat-workspace-drawer__icon-btn","aria-label":c("chat.workspaceDrawerLocateFile"),disabled:!h,onClick:()=>a("locate",l??void 0),children:y.jsx("span",{className:"material-symbols-rounded",children:"my_location"})})})}),y.jsx(Qe,{title:c("chat.workspaceDrawerExpandAll"),children:y.jsx(qe,{type:"text",className:"chat-workspace-drawer__icon-btn","aria-label":c("chat.workspaceDrawerExpandAll"),onClick:f,children:y.jsx("span",{className:"material-symbols-rounded",children:"unfold_more"})})}),y.jsx(Qe,{title:c("chat.workspaceDrawerCollapseAll"),children:y.jsx(qe,{type:"text",className:"chat-workspace-drawer__icon-btn","aria-label":c("chat.workspaceDrawerCollapseAll"),onClick:g,children:y.jsx("span",{className:"material-symbols-rounded",children:"unfold_less"})})}),y.jsx(ta,{menu:{items:u},overlayClassName:"chat-workspace-drawer-more-dropdown",placement:"bottomRight",trigger:["click"],children:y.jsx(qe,{type:"text",className:"chat-workspace-drawer__icon-btn","aria-label":c("common.moreActions"),title:c("common.moreActions"),children:y.jsx("span",{className:"material-symbols-rounded",children:"more_vert"})})})]})]})}const nXe=n=>[...n].sort((e,t)=>e.file.path.localeCompare(t.file.path)),iXe=n=>n.split("/").pop()??n,hxn=n=>{const e=iXe(n);return n===e?"":n.slice(0,Math.max(0,n.length-e.length-1))},fxn=n=>{const e=[];return n.staged&&e.push({file:n,key:`${n.path}:staged`,scope:"staged"}),n.unstaged&&!n.untracked&&e.push({file:n,key:`${n.path}:tracked`,scope:"tracked"}),n.untracked&&e.push({file:n,key:`${n.path}:untracked`,scope:"untracked"}),e},gxn=n=>{const e=n.flatMap(fxn),t=[{scope:"staged",entries:[],count:0},{scope:"tracked",entries:[],count:0},{scope:"untracked",entries:[],count:0}];for(const i of t)i.entries=nXe(e.filter(s=>s.scope===i.scope)),i.count=i.entries.length;return t.filter(i=>i.count>0)},mxn=(n,e,t)=>{const i=n.children.find(r=>r.path===t);if(i!=null)return i;const s={name:e,path:t,children:[],entries:[]};return n.children.push(s),s},sXe=n=>{n.children.sort((e,t)=>e.name.localeCompare(t.name)),n.entries=nXe(n.entries);for(const e of n.children)sXe(e)},oRe=n=>{const e={name:"",path:"",children:[],entries:[]};for(const t of n){const i=t.file.path.split("/").filter(Boolean);if(i.pop()==null)continue;let r=e,o="";for(const a of i)o=o===""?a:`${o}/${a}`,r=mxn(r,a,o);r.entries.push(t)}return sXe(e),e},lce=n=>{const e=n.path===""?[]:[n.path];for(const t of n.children)e.push(...lce(t));return e},rXe=(n,e)=>{if(n.path===e)return n;for(const t of n.children){const i=rXe(t,e);if(i!=null)return i}return null},oXe=n=>n.trim().toLowerCase(),pxn=n=>{const e=oXe(n),t=e.lastIndexOf(".");return t<=0?"":e.slice(t+1)},aXe=n=>{const e=oXe(n),t=pxn(n);return e==="package.json"?{icon:"inventory_2",tone:"package"}:e.includes("lock")?{icon:"lock",tone:"lock"}:e.startsWith(".env")?{icon:"key",tone:"env"}:e.includes("config")?{icon:"tune",tone:"config"}:e.includes("readme")||t==="md"||t==="mdx"?{icon:"article",tone:"docs"}:e.includes("gitignore")||e.includes("dockerignore")?{icon:"hide_source",tone:"ignore"}:t==="ts"||t==="tsx"?{icon:"data_object",tone:"typescript"}:t==="js"||t==="jsx"||t==="mjs"||t==="cjs"?{icon:"javascript",tone:"javascript"}:t==="json"?{icon:"data_object",tone:"json"}:t==="scss"||t==="sass"||t==="css"?{icon:"palette",tone:"style"}:t==="html"?{icon:"language",tone:"html"}:["png","jpg","jpeg","gif","webp","svg","ico"].includes(t)?{icon:"image",tone:"image"}:["yml","yaml","toml"].includes(t)?{icon:"settings",tone:"config"}:["sh","bash","zsh"].includes(t)?{icon:"terminal",tone:"script"}:{icon:"draft",tone:"file"}},_xn=(n,e)=>{const t=n.file.submodule;return t==null?[]:[t.commitChanged?e("chat.workspaceDrawerSubmoduleCommit"):null,t.trackedChanges?e("chat.workspaceDrawerSubmoduleTracked"):null,t.untrackedChanges?e("chat.workspaceDrawerSubmoduleUntracked"):null].filter(i=>i!=null)};function lXe({entry:n,onOpenFile:e,selectedFilePath:t,showDirectory:i=!0}){const{t:s}=vt(),r=iXe(n.file.path),o=hxn(n.file.path),a=n.file.submodule!=null?{icon:"folder_special",tone:"submodule"}:aXe(r),l=_.useMemo(()=>{const c=_xn(n,s),d=s(`chat.workspaceDrawerFileStatus.${n.scope}`);return c.length===0?d:`${d} · ${s("chat.workspaceDrawerSubmodule")}: ${c.join(", ")}`},[n,s]);return y.jsxs("button",{type:"button",className:`chat-workspace-drawer__changed-file ${t===n.file.path?"is-selected":""}`,title:n.file.path,onClick:()=>e==null?void 0:e(n.file.path),children:[y.jsx("span",{className:`material-symbols-rounded chat-workspace-drawer__changed-icon is-${a.tone}`,children:a.icon}),y.jsxs("span",{className:"chat-workspace-drawer__changed-copy",children:[y.jsx("span",{className:"chat-workspace-drawer__changed-name",children:r}),i&&o!==""&&y.jsx("span",{className:"chat-workspace-drawer__changed-path",children:o})]}),y.jsx(Qe,{title:l,children:y.jsx("span",{className:`chat-workspace-drawer__changed-status-dot is-${n.scope}`,"aria-label":l})})]})}const aRe=n=>({"--changed-folder-depth":n}),vxn=n=>{const e=[n.name];let t=n;for(;t.entries.length===0&&t.children.length===1;)t=t.children[0],e.push(t.name);return{label:e.join("/"),node:t}};function cXe({depth:n,expandedPaths:e,node:t,onOpenFile:i,onSelectFolder:s,onToggleFolder:r,selectedFilePath:o,selectedFolder:a,scope:l}){const c=t.path==="",d=c?{label:"",node:t}:vxn(t),u=d.node,h=c||e.has(u.path),f=(a==null?void 0:a.scope)===l&&a.path===u.path;return y.jsxs("div",{className:"chat-workspace-drawer__changed-folder-node",children:[!c&&y.jsxs("button",{type:"button",className:`chat-workspace-drawer__changed-folder ${h?"is-expanded":""} ${f?"is-selected":""}`,style:aRe(n),"aria-expanded":h,"aria-pressed":f,title:u.path,onClick:()=>{s(u.path),r(u.path)},children:[y.jsx("span",{className:"material-symbols-rounded chat-workspace-drawer__changed-folder-icon",children:h?"folder_open":"folder"}),y.jsx("span",{className:"chat-workspace-drawer__changed-folder-name",children:d.label})]}),y.jsx("div",{className:`chat-workspace-drawer__changed-folder-children ${h?"is-expanded":"is-collapsed"}`,children:y.jsxs("div",{className:"chat-workspace-drawer__changed-folder-children-inner",children:[u.children.map(g=>y.jsx(cXe,{depth:n+1,expandedPaths:e,node:g,selectedFilePath:o,onOpenFile:i,onSelectFolder:s,onToggleFolder:r,selectedFolder:a,scope:l},g.path)),u.entries.map(g=>y.jsx("div",{className:"chat-workspace-drawer__changed-folder-entry",style:aRe(u.path===""?0:n+1),children:y.jsx(lXe,{entry:g,selectedFilePath:o,showDirectory:!1,onOpenFile:i})},g.key))]})})]})}function bxn({command:n,onOpenFile:e,onSelectFolder:t,root:i,scope:s,selectedFilePath:r,selectedFolder:o}){const a=_.useMemo(()=>lce(i),[i]),[l,c]=_.useState(()=>new Set(a));_.useEffect(()=>{c(new Set(a))},[a]),_.useEffect(()=>{if(n==null)return;const u=(o==null?void 0:o.scope)===s?o.path:null,h=u==null?i:rXe(i,u),f=h==null?a:lce(h),g=u==null?f:[u,...f];c(m=>{if(n.action==="expand")return new Set([...m,...g]);const p=new Set(m);for(const v of g)p.delete(v);return p})},[a,n,i,s,o]);const d=u=>{c(h=>{const f=new Set(h);return f.has(u)?f.delete(u):f.add(u),f})};return y.jsx(cXe,{depth:0,expandedPaths:l,node:i,selectedFilePath:r,onOpenFile:e,onSelectFolder:u=>t({scope:s,path:u}),onToggleFolder:d,selectedFolder:o,scope:s})}function yxn({command:n,isLoading:e,layout:t,onOpenFile:i,repoState:s,selectedFilePath:r}){const{t:o}=vt(),[a,l]=_.useState(new Set),[c,d]=_.useState(null),u=_.useMemo(()=>(s==null?void 0:s.available)!==!0?[]:s.changedFiles??[],[s]),h=_.useMemo(()=>gxn(u),[u]),f=_.useMemo(()=>h.map(p=>p.scope),[h]),g=_.useMemo(()=>new Map(h.map(p=>[p.scope,oRe(p.entries)])),[h]);_.useEffect(()=>{l(p=>new Set(Array.from(p).filter(v=>f.includes(v))))},[f]),_.useEffect(()=>{t!=="folders"&&d(null)},[t]),_.useEffect(()=>{if(n!=null){if(c==null){l(n.action==="expand"?new Set:new Set(f));return}n.action==="expand"&&l(p=>{const v=new Set(p);return v.delete(c.scope),v})}},[n,f,c]);const m=p=>{l(v=>{const b=new Set(v);return b.has(p)?b.delete(p):b.add(p),b})};return e?y.jsxs("div",{className:"chat-workspace-drawer__loading",children:[y.jsx(Ya,{size:"small"}),y.jsx("span",{children:o("chat.workspaceDrawerLoadingGit")})]}):s!=null&&s.available!==!0?y.jsx(Zn,{image:Zn.PRESENTED_IMAGE_SIMPLE,description:o("chat.workspaceDrawerGitUnavailable")}):h.length===0?y.jsx(Zn,{image:Zn.PRESENTED_IMAGE_SIMPLE,description:o("chat.workspaceDrawerNoChangedFiles")}):y.jsx("div",{className:"chat-workspace-drawer__changed-list",children:y.jsx("div",{className:"chat-workspace-drawer__changed-sections",children:h.map(p=>{const v=a.has(p.scope);return y.jsxs("section",{className:"chat-workspace-drawer__changed-section",children:[y.jsxs("div",{className:"chat-workspace-drawer__changed-section-header",children:[y.jsx("span",{children:o(`chat.workspaceDrawerChangedSection.${p.scope}`)}),y.jsxs("span",{className:"chat-workspace-drawer__changed-section-meta",children:[y.jsx("span",{children:p.count}),y.jsx(qe,{type:"text",className:"chat-workspace-drawer__changed-section-toggle","aria-label":o("chat.workspaceDrawerToggleSection"),"aria-expanded":!v,onClick:()=>m(p.scope),children:y.jsx("span",{className:"material-symbols-rounded",children:v?"expand_more":"expand_less"})})]})]}),y.jsx("div",{className:`chat-workspace-drawer__changed-section-body ${v?"is-collapsed":"is-expanded"}`,children:y.jsx("div",{className:"chat-workspace-drawer__changed-section-body-inner",children:t==="folders"?y.jsx(bxn,{command:n,root:g.get(p.scope)??oRe([]),scope:p.scope,selectedFolder:c,selectedFilePath:r,onOpenFile:i,onSelectFolder:d}):p.entries.map(b=>y.jsx(lXe,{entry:b,selectedFilePath:r,onOpenFile:i},b.key))})})]},p.scope)})})})}function wxn({command:n,onOpenFile:e,onReferencePaths:t,refreshKey:i,selectedFilePath:s,sessionId:r}){return y.jsx(LBe,{activePath:s,className:"chat-workspace-drawer__tree",command:n,refreshKey:i,selectableTypes:"all",selectionMode:"multiple",sessionId:r,showContextMenu:!0,onOpenFile:e,onReferenceNodes:o=>t==null?void 0:t(o.map(bBe))})}function Cxn({onOpenFile:n,onReferencePaths:e,selectedFilePath:t,sessionId:i}){var k;const{t:s}=vt(),[r,o]=_.useState("tree"),[a,l]=_.useState("folders"),[c,d]=_.useState(null),[u,h]=_.useState(null),[f,g]=_.useState(0),m=i!=null&&i!==""?["chat-workspace-drawer-git",i]:"chat-workspace-drawer-git",{data:p,isLoading:v,mutate:b}=hi(m,()=>i!=null&&i!==""?X3e(i):Y3e(),{refreshInterval:3e3,revalidateOnFocus:!0}),w=(p==null?void 0:p.available)===!0?((k=p.changedFiles)==null?void 0:k.length)??0:0,C=()=>{b(),g(L=>L+1)},S=L=>{o("changes"),l("folders"),d(I=>({action:L,id:((I==null?void 0:I.id)??0)+1}))},x=(L,I)=>{o("tree"),h(N=>({action:L,id:((N==null?void 0:N.id)??0)+1,path:I}))};return y.jsxs("aside",{className:"chat-workspace-drawer","aria-label":s("chat.workspaceDrawerTitle"),children:[y.jsx(uxn,{activeView:r,changedFilesCount:w,changedLayout:a,onActiveViewChange:o,onChangedLayoutChange:l,onChangedTreeCommand:S,onForceSync:C,onWorkspaceTreeCommand:x,selectedFilePath:t}),y.jsx("div",{className:"chat-workspace-drawer__body",children:y.jsx("div",{className:"chat-workspace-drawer__view-panel",children:r==="tree"?y.jsx(wxn,{command:u,refreshKey:f,selectedFilePath:t,sessionId:i,onOpenFile:n,onReferencePaths:e}):y.jsx(yxn,{command:c,isLoading:v,layout:a,repoState:p,selectedFilePath:t,onOpenFile:n})},r)})]})}const cce=n=>{const e=[],t=new Set;for(const i of n){const s=i==null?void 0:i.trim();s==null||s===""||t.has(s)||(t.add(s),e.push(s))}return e},rZ=n=>{var s;const e=((s=n==null?void 0:n.selectedPath)==null?void 0:s.trim())||null,t=cce([...(n==null?void 0:n.openPaths)??[],e]),i=e!=null&&t.includes(e)?e:t.at(0)??null;return{openPaths:t,selectedPath:i,isOpen:(n==null?void 0:n.isOpen)===!0&&i!=null}},Sxn=n=>({openPaths:n.openPaths,...n.selectedPath==null?{}:{selectedPath:n.selectedPath},isOpen:n.isOpen});function xxn({isTerminalOpen:n,session:e,setIsTerminalOpen:t}){const i=rZ(e==null?void 0:e.workspaceFileState),[s,r]=_.useState("terminal"),[o,a]=_.useState(i.selectedPath),[l,c]=_.useState(i.openPaths),[d,u]=_.useState(i.isOpen),h=n&&s==="terminal",f=d&&o!=null&&s==="file",g=h||f,m=JSON.stringify((e==null?void 0:e.workspaceFileState)??null);_.useEffect(()=>{const N=rZ(e==null?void 0:e.workspaceFileState);c(N.openPaths),a(N.selectedPath),u(N.isOpen),r(D=>N.isOpen&&N.selectedPath!=null?"file":D==="file"?"terminal":D)},[m,e==null?void 0:e.id]);const p=N=>{const D=rZ(N);c(D.openPaths),a(D.selectedPath),u(D.isOpen),(e==null?void 0:e.id)!=null&&fg(e.id,{workspaceFileState:Sxn(D)}).catch(T=>{console.error("[chat] failed to persist workspace file state:",T)})};return{handleCloseAllWorkspaceFileTabs:()=>{p({openPaths:[],selectedPath:null,isOpen:!1}),n&&r("terminal")},handleCloseTerminal:()=>{t(!1),d&&o!=null&&r("file")},handleCloseWorkspaceFile:()=>{p({openPaths:l,selectedPath:o,isOpen:!1}),n&&r("terminal")},handleCloseOtherWorkspaceFileTabs:N=>{l.includes(N)&&(p({openPaths:[N],selectedPath:N,isOpen:!0}),r("file"))},handleCloseWorkspaceFileTab:N=>{const D=l.filter(M=>M!==N),T=l.indexOf(N),R=o===N?D[Math.min(Math.max(T-1,0),D.length-1)]??null:o;p({openPaths:D,selectedPath:R,isOpen:d&&R!=null}),R==null&&n&&r("terminal")},handleCloseWorkspaceFileTabsToRight:N=>{const D=l.indexOf(N);if(D<0)return;const T=l.slice(0,D+1),R=o!=null&&T.includes(o)?o:N;p({openPaths:T,selectedPath:R,isOpen:d&&R!=null})},handleOpenWorkspaceFile:N=>{p({openPaths:cce([...l,N]),selectedPath:N,isOpen:!0}),r("file")},handleSelectWorkspaceFile:N=>{p({openPaths:cce([...l,N]),selectedPath:N,isOpen:!0}),r("file")},handleToggleTerminal:()=>{if(s!=="terminal"){r("terminal"),t(!0);return}t(!n)},openWorkspaceFilePaths:l,selectedWorkspaceFilePath:o,shouldShowBottomPanel:g,shouldShowFileEditor:f,shouldShowTerminal:h}}function kxn({activeView:n,setActiveView:e,targetMessageId:t,targetToolUseId:i}){const s=_.useRef(""),r=i!=null&&i.trim()?`tool:${i.trim()}`:t!=null&&t.trim()?`message:${t.trim()}`:"";_.useEffect(()=>{r===""?s.current="":s.current!==r&&(s.current=r,n!=="history"&&e("history"))},[n,r,e])}const dXe="vf_chat_adapter_account:",Exn=n=>{const e=ui(n.label)??ui(n.id.replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[_-]+/g," ").trim().replace(/\b\w/g,i=>i.toUpperCase())),t=ui(n.value);return e!=null&&t!=null?`${e}: ${t}`:t??e},Lxn=n=>{const e=((n==null?void 0:n.metrics)??[]).slice().sort((i,s)=>+(s.primary===!0)-+(i.primary===!0)).map(Exn).filter(i=>i!=null&&i!=="");if(e.length>0)return e.slice(0,2).join(" · ");const t=ui(n==null?void 0:n.summary);return t==null?void 0:`Quota: ${t}`},lRe=n=>{const e=ui(n);if(e!=null)try{const t=localStorage.getItem(`${dXe}${e}`);return t==null||t.trim()===""?void 0:t.trim()}catch{return}};function Ixn({adapter:n,model:e}){const t=ui(n),[i,s]=_.useState(()=>lRe(n));_.useEffect(()=>{s(lRe(t))},[t]);const{data:r}=hi(t==null?null:["/api/adapters",t,e??""],t==null?null:()=>xhe(t,{model:e})),o=_.useMemo(()=>((r==null?void 0:r.accounts)??[]).filter(d=>d.status!=="missing").map(d=>({value:d.key,label:d.title,hint:d.description,meta:Lxn(d.quota)})),[r==null?void 0:r.accounts]),a=_.useCallback((d,u=!1)=>{var m;const h=ui(d),f=new Set(o.map(p=>p.value));if(h!=null&&(f.has(h)||u))return h;const g=ui(r==null?void 0:r.defaultAccount);return g!=null&&f.has(g)?g:(m=o[0])==null?void 0:m.value},[o,r==null?void 0:r.defaultAccount]);_.useEffect(()=>{if(t==null){s(void 0);return}const d=a(i);s(u=>u===d?u:d)},[t,a,i]),_.useEffect(()=>{if(t!=null)try{const d=`${dXe}${t}`;i==null||i.trim()===""?localStorage.removeItem(d):localStorage.setItem(d,i)}catch{}},[t,i]);const l=_.useCallback(d=>{const u=a(d.account,!0)??ui(d.account);s(h=>h===u?h:u)},[a]),c=_.useCallback(d=>{const u=a(d);s(h=>h===u?h:u)},[a]);return{accountOptions:o,selectedAccount:a(i,!0)??i,setSelectedAccount:c,applySessionSelection:l,showAccountSelector:t!=null&&o.length>0}}function Nxn({sessionId:n}){const[e,t]=_.useState(null),i=_.useCallback((s,r)=>{n&&Qkt(n,s,r).then(()=>{t(o=>(o==null?void 0:o.id)===s?null:o)}).catch(o=>{console.error("Failed to submit interaction response:",o)})},[n]);return{interactionRequest:e,setInteractionRequest:t,handleInteractionResponse:i}}const Dxn=27,Txn=n=>{let e="",t=0;for(;t<n.length;){if(n.charCodeAt(t)===Dxn&&n[t+1]==="["){for(t+=2;t<n.length;){const i=n.charCodeAt(t);if(i>=64&&i<=126){t+=1;break}t+=1}continue}e+=n[t],t+=1}return e},cRe=n=>Txn(n).trim(),uXe=n=>{if((n==null?void 0:n.type)!=="error"||n.data!=null&&typeof n.data=="object"&&"fatal"in n.data&&n.data.fatal===!1)return null;const e=n.data!=null&&typeof n.data=="object"&&"code"in n.data&&typeof n.data.code=="string"&&n.data.code.trim()!==""?n.data.code:void 0;if(n.data!=null&&typeof n.data=="object"&&"message"in n.data){const t=n.data.message;if(typeof t=="string"){const i=cRe(t);if(i!=="")return{message:i,code:e}}}if(typeof n.message=="string"){const t=cRe(n.message);if(t!=="")return{message:t,code:e}}return null},hXe=(n,e)=>{if(e.type==="interaction_request")return{id:e.id,payload:e.payload};if(e.type==="interaction_response")return(n==null?void 0:n.id)===e.id||n==null?null:n;if(e.type==="session_updated"){const t=e.session;if("isDeleted"in t||t.status!=="waiting_input")return null}return e.type==="error"&&e.data!=null&&typeof e.data=="object"&&"fatal"in e.data&&e.data.fatal!==!1?null:n},Rxn=(n,e,t)=>{let i=null;for(const s of n)i=hXe(i,s);return i??(t==="waiting_input"?e:null)},Mxn=n=>{for(let e=n.length-1;e>=0;e-=1){const t=uXe(n[e]);if(t!=null)return t}return null},Pxn=20,f8=n=>({messages:(n==null?void 0:n.messages)??[],sessionInfo:(n==null?void 0:n.sessionInfo)??null,queuedMessages:(n==null?void 0:n.queuedMessages)??{steer:[],next:[]},errorState:(n==null?void 0:n.errorState)??null,interactionRequest:(n==null?void 0:n.interactionRequest)??null,isHydrated:(n==null?void 0:n.isHydrated)??!1}),Oxn=(n,e)=>f8({...f8(n),...e}),Axn=n=>{const e=f8(n),t=e.isHydrated===!0?e:f8();return{messages:t.messages,sessionInfo:t.sessionInfo,queuedMessages:t.queuedMessages,errorState:t.errorState,interactionRequest:t.interactionRequest,isReady:t.isHydrated}},Fxn=(n,e,t)=>{const i=Oxn(n.get(e),t);for(n.has(e)&&n.delete(e),n.set(e,i);n.size>Pxn;){const s=n.keys().next().value;if(s==null)break;n.delete(s)}return i},$xn=(n,e)=>{n.delete(e)},w$={steer:[],next:[]},dRe=(n,e)=>e.type!=="message"?n:n.find(i=>i.id===e.message.id)!=null?n.map(i=>i.id===e.message.id?e.message:i):[...n,e.message],uRe=(n,e)=>{if(e.type!=="tool_result")return n;const t=e.isError===!0?"error":"success";return n.map(i=>i.toolCall!=null&&i.toolCall.id===e.toolCallId?{...i,toolCall:{...i.toolCall,status:t,output:e.output}}:i)};function Bxn({session:n,modelForQuery:e,effort:t,permissionMode:i,adapter:s,account:r,optimisticCreation:o,setInteractionRequest:a}){const{t:l}=vt(),{mutate:c}=KN(),[d,u]=_.useState([]),[h,f]=_.useState(null),[g,m]=_.useState({steer:[],next:[]}),[p,v]=_.useState(!1),[b,w]=_.useState(null),[C,S]=_.useState(0),x=_.useRef(!0),k=_.useRef(void 0),L=_.useRef(void 0),I=_.useRef(void 0),N=_.useRef(void 0),D=_.useRef(void 0),T=_.useRef(n==null?void 0:n.status),R=_.useRef(!1),M=_.useRef(null),P=_.useRef(n==null?void 0:n.id),O=_.useRef(0),A=_.useRef([]),F=_.useRef(new Map);P.current=n==null?void 0:n.id;const B=_.useCallback((Y,K)=>Fxn(F.current,Y,K),[]),$=_.useCallback(Y=>{$xn(F.current,Y)},[]),W=_.useCallback(Y=>{u(K=>{const X=typeof Y=="function"?Y(K):Y,J=P.current;if(J!=null&&J!==""){const te=F.current.get(J);B(J,{messages:X,isHydrated:(te==null?void 0:te.isHydrated)===!0})}return X})},[B]),V=_.useCallback(()=>{for(const Y of A.current)clearTimeout(Y);A.current=[]},[]),H=_.useCallback(async(Y={})=>{var J,te;const K=P.current;if(K==null||K==="")return;const X=++O.current;try{const q=await J3e(K);if(P.current!==K||O.current!==X)return;const Z=q.messages;if(q.session){const xe=q.session;c("/api/sessions",Se=>{if((Se==null?void 0:Se.sessions)==null)return Se;const be=Se.sessions.map(Ce=>Ce.id===xe.id?{...Ce,...xe}:Ce);return{...Se,sessions:be}},!1)}let oe=[],pe=null;const ae=Rxn(Z,q.interaction??null,(J=q.session)==null?void 0:J.status),ce=Mxn(Z),ye=ae==null&&((te=q.session)==null?void 0:te.status)==="failed"&&ce!=null?{kind:"session",message:ce.message,code:ce.code}:null,Ee=q.queuedMessages??w$;M.current=ae,a(ae),m(Ee),w(ye);for(const xe of Z)oe=dRe(oe,xe),oe=uRe(oe,xe),xe.type==="session_info"&&xe.info!=null&&xe.info.type!=="summary"&&(pe=xe.info);B(K,{messages:oe,sessionInfo:pe,queuedMessages:Ee,errorState:ye,interactionRequest:ae,isHydrated:!0}),W(oe),f(pe),Y.updateReadiness!==!1&&setTimeout(()=>{P.current!==K||O.current!==X||(v(!0),x.current=!1)},100)}catch(q){console.error("Failed to fetch history messages:",q)}},[c,a,W,B]),U=_.useCallback(()=>{V();for(const Y of[0,800,2400,5e3,9e3,15e3]){const K=globalThis.setTimeout(()=>{H({updateReadiness:!1})},Y);A.current.push(K)}},[V,H]),G=_.useCallback(()=>{(n==null?void 0:n.id)==null||n.id===""||(R.current=!0,w(null),B(n.id,{errorState:null}),L_.close(n.id),S(Y=>Y+1))},[n==null?void 0:n.id,B]);return _.useEffect(()=>{if((n==null?void 0:n.id)==null||n.id===""){u([]),f(null),m(w$),v(!0),w(null),a(null),M.current=null,x.current=!0,k.current=void 0,L.current=void 0,I.current=void 0,N.current=void 0,D.current=void 0,V();return}if(o!=null){V(),O.current+=1;const K=[o.message],X=o.status==="failed"?{action:"retry-session-creation",code:"session_create_failed",kind:"session",message:o.errorMessage??l("chat.sessionCreateFailedMessage")}:null;M.current=null,a(null),u(K),f(null),m(w$),w(X),v(!0),x.current=!1,B(n.id,{messages:K,sessionInfo:null,queuedMessages:w$,errorState:X,interactionRequest:null,isHydrated:!0});return}const Y=Axn(F.current.get(n.id));return u(Y.messages),f(Y.sessionInfo),m(Y.queuedMessages),w(Y.errorState),a(Y.interactionRequest),M.current=Y.interactionRequest,v(Y.isReady),x.current=!Y.isReady,H(),H(),()=>{V()}},[V,o,H,n==null?void 0:n.id,a,l,B]),_.useEffect(()=>{if((n==null?void 0:n.id)==null||n.id===""){T.current=void 0;return}if(o!=null){T.current=n.status;return}const Y=T.current;T.current=n.status,!(Y==null||Y===n.status)&&H({updateReadiness:!1})},[o,H,n==null?void 0:n.id,n==null?void 0:n.status]),_.useEffect(()=>{if((n==null?void 0:n.id)==null||n.id==="")return;if(o!=null){R.current=!0,L_.close(n.id);return}let Y=!1,K;const X=e??"",J=e!=null&&k.current!=null&&X!==k.current&&(n==null?void 0:n.status)!=="running",te=t==="default"?"":t,q=L.current!=null&&te!==L.current&&(n==null?void 0:n.status)!=="running",Z=i??"",oe=i!=null&&I.current!=null&&Z!==I.current&&(n==null?void 0:n.status)!=="running",pe=s??"",ae=s!=null&&N.current!=null&&pe!==N.current&&(n==null?void 0:n.status)!=="running",ce=r??"",ye=r!=null&&D.current!=null&&ce!==D.current&&(n==null?void 0:n.status)!=="running";(J||q||oe||ae||ye)&&(R.current=!0,w(null),L_.send(n.id,{type:"terminate_session"}),L_.close(n.id)),k.current=X,L.current=te,I.current=Z,N.current=pe,D.current=ce;const Ee=setTimeout(()=>{if(Y)return;const xe={};e&&(xe.model=e),t!=="default"&&(xe.effort=t),i&&(xe.permissionMode=i),s&&(xe.adapter=s),r&&(xe.account=r),K=L_.connect(n.id,{onOpen(){R.current=!1,w(Se=>{const be=(Se==null?void 0:Se.kind)==="session"?Se:null;return B(n.id,{errorState:be}),be})},onMessage(Se){if(Y)return;const be=hXe(M.current,Se);if(be!==M.current&&(M.current=be,a(be),B(n.id,{interactionRequest:be}),be!=null&&(w(null),B(n.id,{errorState:null}))),Se.type==="interaction_response"){U();return}if(Se.type==="error"){const Ce=uXe(Se);if(Ce!=null){const le={kind:"session",message:Ce.message,code:Ce.code};w(le),B(n.id,{errorState:le})}return}if(Se.type==="session_updated"){c("/api/sessions",Ce=>{if((Ce==null?void 0:Ce.sessions)==null)return Ce;const le=Se.session;if("isDeleted"in le&&le.isDeleted)return $(le.id),{...Ce,sessions:Ce.sessions.filter(me=>me.id!==le.id)};const fe=le,we=Ce.sessions.map(me=>me.id===fe.id?{...me,...fe}:me);return!we.some(me=>me.id===fe.id)&&!("isDeleted"in le)&&we.unshift(fe),{...Ce,sessions:we}},!1);return}if(Se.type==="session_queue_updated"){m(Se.queue),B(n.id,{queuedMessages:Se.queue});return}if(Se.type==="message"){W(Ce=>dRe(Ce,Se));return}if(Se.type==="session_info"){Se.info!=null&&Se.info.type==="summary"?c("/api/sessions"):(f(Se.info??null),B(n.id,{sessionInfo:Se.info??null}),x.current&&setTimeout(()=>{Y||x.current&&(v(!0),x.current=!1)},100));return}if(Se.type==="tool_result"){W(Ce=>uRe(Ce,Se));return}Se.type==="interaction_request"&&(M.current=Se,a(Se),B(n.id,{interactionRequest:Se}))},onError(){if(Y)return;const Se={kind:"connection",message:l("chat.connectionError"),reason:"error"};w(Se),B(n.id,{errorState:Se})},onClose(){if(!Y){if(R.current){R.current=!1;return}w(Se=>{const be=Se??{kind:"connection",message:l("chat.connectionClosed"),reason:"closed"};return B(n.id,{errorState:be}),be})}}},Object.keys(xe).length>0?xe:void 0)},J||q||oe||ae||ye?200:100);return()=>{Y=!0,clearTimeout(Ee),K==null||K()}},[s,r,V,t,e,c,o,i,U,C,H,n==null?void 0:n.id,n==null?void 0:n.status,a,l,$,B]),{messages:d,setMessages:W,sessionInfo:h,queuedMessages:g,isReady:p,errorState:b,retryConnection:G,reconcileAfterInteraction:U}}const Hxn=n=>n==="timeline"||n==="settings"||n==="history"?n:"history";function jxn(){const{values:n,update:e}=Np({keys:["view","terminal"],defaults:{view:"history",terminal:""},omit:{view:a=>a==="history",terminal:a=>a===""||a==="false"}}),t=n.view==="terminal",i=Hxn(t?"history":n.view),s=n.terminal==="true"||t,r=_.useCallback(a=>{e({view:a})},[e]),o=_.useCallback(a=>{e({terminal:a?"true":"false"})},[e]);return _.useEffect(()=>{i!==n.view&&e({view:i})},[i,n.view,e]),_.useEffect(()=>{t&&e({view:"history",terminal:"true"})},[t,e]),{activeView:i,isTerminalOpen:s,setActiveView:r,setIsTerminalOpen:o}}function Wxn({session:n}){const{t:e}=vt(),t=yu(TI),i=(n==null?void 0:n.id)==null||n.id===""?void 0:t[n.id],{adapterOptions:s,applySessionSelection:r,modelMenuGroups:o,selectedAdapter:a,selectedModel:l,selectedModelWithService:c,setSelectedModel:d,setSelectedAdapter:u,modelSearchOptions:h,recommendedModelOptions:f,servicePreviewModelOptions:g,toggleRecommendedModel:m,updatingRecommendedModelValue:p,hasAvailableModels:v}=kKe({adapterLocked:(n==null?void 0:n.id)!=null}),{accountOptions:b,selectedAccount:w,setSelectedAccount:C,applySessionSelection:S,showAccountSelector:x}=Ixn({adapter:a,model:c}),{permissionMode:k,setPermissionMode:L,permissionModeOptions:I}=EKe(),{effort:N,setEffort:D,effortOptions:T}=mKe(),{activeView:R,isTerminalOpen:M,setActiveView:P,setIsTerminalOpen:O}=jxn(),{interactionRequest:A,setInteractionRequest:F,handleInteractionResponse:B}=Nxn({sessionId:n==null?void 0:n.id}),{messages:$,setMessages:W,sessionInfo:V,queuedMessages:H,isReady:U,errorState:G,retryConnection:Y,reconcileAfterInteraction:K}=Bxn({session:n,modelForQuery:c,effort:N,permissionMode:k,adapter:a,account:w,optimisticCreation:i,setInteractionRequest:F}),X=_.useCallback((q,Z)=>{K(),B(q,Z)},[K,B]),J=_.useRef(null),te=(n==null?void 0:n.status)==="running";return _.useEffect(()=>{if((n==null?void 0:n.id)==null||n.id===""){J.current=null;return}const q=J.current,Z=(q==null?void 0:q.id)!==n.id;(Z||(q==null?void 0:q.model)!==n.model||(q==null?void 0:q.adapter)!==n.adapter)&&r({model:n.model,adapter:n.adapter}),(Z||(q==null?void 0:q.account)!==n.account)&&S({account:n.account}),(Z||(q==null?void 0:q.permissionMode)!==n.permissionMode)&&L(n.permissionMode),(Z||(q==null?void 0:q.effort)!==n.effort)&&D(n.effort),J.current={id:n.id,model:n.model,permissionMode:n.permissionMode,adapter:n.adapter,account:n.account,effort:n.effort}},[S,n==null?void 0:n.adapter,n==null?void 0:n.account,n==null?void 0:n.effort,n==null?void 0:n.id,n==null?void 0:n.model,n==null?void 0:n.permissionMode,r,D,L]),{messages:$,sessionInfo:V,queuedMessages:H,interactionRequest:A,isReady:U,errorState:G,retryConnection:Y,isThinking:te,activeView:R,isTerminalOpen:M,setActiveView:P,setIsTerminalOpen:O,handleInteractionResponse:X,setMessages:W,placeholder:n!=null&&n.id?void 0:e("chat.newSessionPlaceholder"),modelMenuGroups:o,modelSearchOptions:h,recommendedModelOptions:f,servicePreviewModelOptions:g,toggleRecommendedModel:m,updatingRecommendedModelValue:p,selectedModel:l,modelForQuery:c,setSelectedModel:d,effort:N,setEffort:D,effortOptions:T,permissionMode:k,setPermissionMode:L,permissionModeOptions:I,selectedAdapter:a,setSelectedAdapter:u,selectedAccount:w,setSelectedAccount:C,accountOptions:b,showAccountSelector:x,adapterOptions:s,hasAvailableModels:v,modelUnavailable:!v}}const Vxn=240;function zxn(n){const[e,t]=_.useState(n),[i,s]=_.useState(n);return _.useEffect(()=>{if(n){t(!0);const o=window.setTimeout(()=>{s(!0)},0);return()=>{window.clearTimeout(o)}}if(s(!1),!e)return;const r=window.setTimeout(()=>{t(!1)},Vxn);return()=>{window.clearTimeout(r)}},[n,e]),{isRendered:e,isVisible:i}}const Uxn=n=>n==="workspace"?n:void 0;function Kxn(){const{values:n,update:e}=Np({keys:["layout"],defaults:{layout:""},omit:{layout:i=>i===""}}),t=Uxn(n.layout);return{activeLayout:t,isWorkspaceDrawerOpen:t==="workspace",setWorkspaceDrawerOpen:i=>e({layout:i?"workspace":""})}}function qxn({actions:n,closeLabel:e,fullscreenEnterLabel:t,fullscreenExitLabel:i,isFullscreen:s,meta:r,onClose:o,onToggleFullscreen:a,title:l}){const c=s?i:t;return y.jsxs("div",{className:"dock-panel__header",children:[y.jsxs("div",{className:"dock-panel__header-main",children:[y.jsx("span",{className:"dock-panel__title",children:l}),r!=null&&y.jsx("span",{className:"dock-panel__meta",children:r})]}),y.jsx("div",{className:"dock-panel__header-spacer"}),(n!=null||a!=null||o!=null)&&y.jsxs("div",{className:"dock-panel__header-actions",children:[n,a!=null&&c!=null&&y.jsx(qe,{type:"text",className:"dock-panel__close-btn dock-panel__fullscreen-btn","data-dock-panel-no-resize":"true",icon:y.jsx("span",{className:"material-symbols-rounded",children:s?"fullscreen_exit":"fullscreen"}),title:c,"aria-label":c,onClick:a}),o!=null&&e!=null&&y.jsx(qe,{type:"text",className:"dock-panel__close-btn","data-dock-panel-no-resize":"true",icon:y.jsx("span",{className:"material-symbols-rounded",children:"close"}),title:e,"aria-label":e,onClick:o})]})]})}const Gxn=180;function Xxn(){const[n,e]=_.useState(!1),[t,i]=_.useState(!1),s=_.useRef(null),r=_.useCallback(()=>{s.current!=null&&(window.clearTimeout(s.current),s.current=null)},[]),o=_.useCallback(()=>{r(),i(!1),e(!0)},[r]),a=_.useCallback(()=>{r(),i(!0),s.current=window.setTimeout(()=>{e(!1),i(!1),s.current=null},Gxn)},[r]),l=_.useCallback(()=>{if(n&&!t){a();return}o()},[o,a,n,t]);return _.useEffect(()=>r,[r]),{isFullscreen:n,isFullscreenExiting:t,toggleFullscreen:l}}const Yxn=240,oZ=(n,e,t)=>Math.min(Math.max(n,e),Math.max(e,t)),Zxn=n=>(n==null?void 0:n.closest('button, a, input, textarea, select, option, [role="button"], [data-dock-panel-no-resize="true"]'))!=null;function fXe({enterMotion:n="slide-up",allowResize:e=!0,allowFullscreen:t=!1,children:i,className:s,closeLabel:r,defaultHeight:o=Yxn,footer:a,fullscreenEnterLabel:l,fullscreenExitLabel:c,isResizeDisabled:d=!1,isOpen:u=!0,maxHeight:h=520,meta:f,minHeight:g=180,onClose:m,resizeLabel:p,storageKey:v,title:b,actions:w}){const C=_.useRef(null),S=_.useRef(null),[x,k]=_.useState(!1),{isFullscreen:L,isFullscreenExiting:I,toggleFullscreen:N}=Xxn(),[D,T]=_.useState(()=>{const O=Number(localStorage.getItem(v));return Number.isFinite(O)&&O>0?oZ(O,g,h):oZ(o,g,h)}),R=e&&!d&&!L;_.useEffect(()=>{localStorage.setItem(v,String(D))},[D,v]),_.useEffect(()=>()=>{document.body.style.cursor="",document.body.style.userSelect=""},[]),_.useEffect(()=>{if(!R||!x)return;const O=F=>{const B=S.current;if(B==null)return;const $=oZ(B.startHeight+B.startY-F.clientY,g,B.maxHeight);T($)},A=()=>{S.current=null,k(!1),document.body.style.cursor="",document.body.style.userSelect=""};return window.addEventListener("pointermove",O),window.addEventListener("pointerup",A),window.addEventListener("pointercancel",A),()=>{window.removeEventListener("pointermove",O),window.removeEventListener("pointerup",A),window.removeEventListener("pointercancel",A)}},[x,g,R]);const M=O=>{if(!R||Zxn(O.target))return;O.preventDefault();const A=C.current,F=A==null?void 0:A.parentElement,B=F==null?void 0:F.getBoundingClientRect().height;S.current={startY:O.clientY,startHeight:(A==null?void 0:A.getBoundingClientRect().height)??D,maxHeight:B!=null?Math.min(h,B-96):h},k(!0),document.body.style.cursor="row-resize",document.body.style.userSelect="none"},P=_.useMemo(()=>({"--dock-panel-height":`${D}px`,"--dock-panel-max-height":`${h}px`,"--dock-panel-min-height":`${g}px`}),[h,g,D]);return y.jsxs("div",{ref:C,className:`dock-panel ${u&&n==="slide-up"?"is-entering-slide-up":""} ${u?"is-open":"is-closing"} ${s??""} ${x?"is-resizing":""} ${R?"is-resizable":"is-static"} ${d||L?"is-resize-disabled":""} ${L?"is-fullscreen":""} ${I?"is-fullscreen-exiting":""}`,style:P,children:[R&&y.jsx("div",{className:"dock-panel__resize-strip",title:p,onPointerDown:M}),y.jsx(qxn,{actions:w,closeLabel:r,fullscreenEnterLabel:l,fullscreenExitLabel:c,isFullscreen:L,meta:f,title:b,onClose:m,onToggleFullscreen:t?N:void 0}),y.jsx("div",{className:"dock-panel__body",children:i}),a!=null&&y.jsx("div",{className:"dock-panel__footer",children:a})]})}const gXe=320,mXe="chatBottomDockHeight",pXe=620,_Xe=220;function Qxn({onActivate:n,onRename:e,panes:t}){const[i,s]=_.useState(null),[r,o]=_.useState(""),a=_.useRef(null),l=_.useRef(null);_.useEffect(()=>{i!=null&&window.requestAnimationFrame(()=>{var h,f;(h=a.current)==null||h.focus(),(f=a.current)==null||f.select()})},[i]),_.useEffect(()=>{i!=null&&t.every(h=>h.id!==i)&&(l.current=null,s(null),o(""))},[i,t]);const c=h=>{n(h.id),l.current=h.id,s(h.id),o(h.title)},d=()=>{l.current=null,s(null),o("")};return{cancelEditing:d,editingInputRef:a,editingTerminalId:i,editingTitle:r,finishEditing:()=>{const h=l.current;if(h!=null){const f=r.trim();f!==""&&e(h,f)}d()},setEditingTitle:o,startEditing:c}}function Jxn({activeTerminalId:n,infoById:e,panes:t,onActivate:i,onClose:s,onMove:r,onRename:o}){const{t:a}=vt(),[l,c]=_.useState(null),[d,u]=_.useState(null),{cancelEditing:h,editingInputRef:f,editingTerminalId:g,editingTitle:m,finishEditing:p,setEditingTitle:v,startEditing:b}=Qxn({onActivate:i,onRename:o,panes:t}),w=(x,k)=>{c(k),x.dataTransfer.effectAllowed="move",x.dataTransfer.setData("text/plain",k);const L=x.currentTarget.closest(".chat-terminal-view__manager-item");L instanceof HTMLElement&&x.dataTransfer.setDragImage(L,12,14)},C=(x,k)=>{if(x.preventDefault(),x.dataTransfer.dropEffect="move",l===k){u(null);return}const L=x.currentTarget.getBoundingClientRect(),I=x.clientY<L.top+L.height/2?"before":"after";u(N=>(N==null?void 0:N.terminalId)===k&&N.placement===I?N:{terminalId:k,placement:I})},S=(x,k)=>{x.preventDefault();const L=l??x.dataTransfer.getData("text/plain"),I=(d==null?void 0:d.terminalId)===k?d.placement:"before";c(null),u(null),L!==""&&L!==k&&r(L,k,I)};return y.jsx("aside",{className:"chat-terminal-view__manager","aria-label":a("chat.terminal.manageTerminals"),onDragLeave:x=>{(!(x.relatedTarget instanceof Node)||!x.currentTarget.contains(x.relatedTarget))&&u(null)},children:t.map(x=>{const k=e[x.id],L=x.id===g,I=(k==null?void 0:k.shellLabel)??a(`chat.terminal.shell.${x.shellKind}`),N=(k==null?void 0:k.isExited)===!0?a("chat.terminal.shellTooltipExited",{shell:I}):a("chat.terminal.shellTooltip",{shell:I});return y.jsxs("div",{className:`chat-terminal-view__manager-item ${x.id===n?"is-active":""} ${x.id===l?"is-dragging":""} ${L?"is-editing":""} ${(d==null?void 0:d.terminalId)===x.id?`is-drop-${d.placement}`:""}`,onClick:()=>i(x.id),onDragOver:D=>C(D,x.id),onDrop:D=>S(D,x.id),children:[y.jsx("button",{type:"button",className:"chat-terminal-view__manager-drag material-symbols-rounded",draggable:!0,title:a("chat.terminal.dragSession"),"aria-label":a("chat.terminal.dragSession"),onDragStart:D=>w(D,x.id),onDragEnd:()=>{c(null),u(null)},children:"drag_indicator"}),y.jsx(Qe,{title:L?null:N,placement:"top",children:y.jsx("span",{className:"chat-terminal-view__manager-title-wrap",children:L?y.jsxs(y.Fragment,{children:[y.jsx("span",{className:"chat-terminal-view__manager-edit-icon material-symbols-rounded",children:"edit"}),y.jsx("input",{ref:f,className:"chat-terminal-view__manager-title-input",value:m,"aria-label":a("chat.terminal.renameSession",{title:x.title}),onBlur:p,onChange:D=>v(D.target.value),onClick:D=>D.stopPropagation(),onDoubleClick:D=>D.stopPropagation(),onKeyDown:D=>{if(D.key==="Enter"){p();return}D.key==="Escape"&&h()}})]}):y.jsx("span",{className:"chat-terminal-view__manager-title-text",onDoubleClick:D=>{D.stopPropagation(),b(x)},children:x.title})})}),y.jsx(qe,{type:"text",className:"chat-terminal-view__manager-close","data-dock-panel-no-resize":"true",icon:y.jsx("span",{className:"material-symbols-rounded",children:"close"}),title:a("chat.terminal.closeNamedSession",{title:x.title}),"aria-label":a("chat.terminal.closeNamedSession",{title:x.title}),onClick:D=>{D.stopPropagation(),s(x.id)}})]},x.id)})})}/**
|
|
1515
|
+
`),interactions:i.interactions}}const rxn=(n,e)=>e?{...n,mainStart:"启动",mainEnd:"结束",startTasks:"任务",allTasksDone:"完成",askUserQuestion:"提问",resumeTask:"继续",userPrompt:"提示",userAnswer:"回答",receiveReply:"回复",taskStart:"开始",taskEnd:"结束",ganttMainSection:"主"}:{...n,mainStart:"Start",mainEnd:"End",startTasks:"Tasks",allTasksDone:"Done",askUserQuestion:"Ask",resumeTask:"Resume",userPrompt:"Prompt",userAnswer:"Answer",receiveReply:"Reply",taskStart:"Start",taskEnd:"End",ganttMainSection:"Main"};function y$(n){const{task:e,viewMode:t,className:i,style:s}=n,r=ie.useRef(null),{t:o,i18n:a}=vt(),{isCompactLayout:l}=Lr(),c=ie.useMemo(()=>({mainStart:o("chat.timeline.mainStart"),mainEnd:o("chat.timeline.mainEnd"),startTasks:o("chat.timeline.startTasks"),allTasksDone:o("chat.timeline.allTasksDone"),askUserQuestion:o("chat.timeline.askUserQuestion"),edit:o("chat.timeline.edit"),resumeTask:o("chat.timeline.resumeTask"),userPrompt:o("chat.timeline.userPrompt"),userAnswer:o("chat.timeline.userAnswer"),receiveReply:o("chat.timeline.receiveReply"),taskStart:o("chat.timeline.taskStart"),taskEnd:o("chat.timeline.taskEnd"),ganttTitle:o("chat.timeline.ganttTitle"),ganttMainSection:o("chat.timeline.ganttMainSection"),ganttTasksSection:o("chat.timeline.ganttTasksSection")}),[o]),d=ie.useMemo(()=>{var p;return l?rxn(c,((p=a.resolvedLanguage)==null?void 0:p.startsWith("zh"))===!0):c},[a.resolvedLanguage,l,c]),u=ie.useMemo(()=>t==="gantt"?Q1n(e,d,{compact:l}):sxn(e,d),[d,l,e,t]),h=ie.useId(),f=ie.useMemo(()=>h.replace(/\W/g,"_"),[h]),g=ie.useRef(new Map),m=ie.useMemo(()=>u.code,[u.code]);return ie.useEffect(()=>{let p=!1;return(async()=>{const w=(await re(()=>import("./mermaid.core-Qb_9exf_.js").then(I=>I.b5),[])).default,C=getComputedStyle(document.body).fontFamily;if(w.initialize({startOnLoad:!1,securityLevel:"loose",themeVariables:{fontFamily:C,fontSize:l?"12px":"14px"},gitGraph:l?{rotateCommitLabel:!1,showBranches:!1}:{},gantt:{topAxis:!0,displayMode:"compact",gridLineStartPadding:0,leftPadding:l?8:16,rightPadding:l?8:16,topPadding:l?28:36,barHeight:l?16:20,barGap:l?3:4,fontSize:l?10:11,sectionFontSize:l?10:11}}),p)return;const S=r.current;if(!S)return;const{svg:x,bindFunctions:k}=await w.render(f,m);if(p)return;S.innerHTML=x;const L=S.querySelector("svg");if(L){L.classList.add("session-timeline-mermaid__svg");for(const I of u.interactions){const N=L.querySelector(`#${CSS.escape(I.id)}`);N&&(N.classList.add("session-timeline-mermaid__interactive"),N.addEventListener("click",()=>{const D=g.current.get(I.id);D&&console.warn(D.payload)}))}}typeof k=="function"&&k(S)})(),()=>{p=!0}},[u.interactions,l,m,f]),ie.useEffect(()=>{g.current=new Map(u.interactions.map(p=>[p.id,{label:p.label,payload:p.payload}]))},[u.interactions]),y.jsx("div",{ref:r,className:["session-timeline-panel",`session-timeline-panel--${t}`,l?"session-timeline-panel--compact":"",i??""].filter(Boolean).join(" "),style:s})}const oxn=(n,e)=>{const t=[];let i=0;const s=(o,a,l,c,d)=>{t.push({id:`${o}-${a}-${l}-${i}`,label:o,startTime:a,endTime:l,depth:c,payload:d}),i+=1},r=(o,a)=>{for(const l of o)l.type==="tool__StartTasks"?s(e.startTasks,l.startTime,l.endTime,a,l):l.type==="tool__AskUserQuestion"?s(e.askUserQuestion,l.startTime,l.endTime,a,l):l.type==="tool__Edit"?s(e.edit,l.startTime,l.endTime,a,l):l.type==="tool__ResumeTask"?s(e.resumeTask,l.startTime,l.endTime,a,l):l.type==="user__Prompt"&&s(e.userPrompt,l.startTime,l.endTime,a,l)};return s(e.mainStart,n.startTime,n.startTime,0),r(n.events??[],0),s(e.mainEnd,n.endTime,n.endTime,0),t.map((o,a)=>({...o,index:a})).sort((o,a)=>{const l=of(o.startTime)-of(a.startTime);return l!==0?l:o.index-a.index}).map(({index:o,...a})=>a)};function iRe({task:n}){const{t:e}=vt(),{isCompactLayout:t}=Lr(),[i,s]=ie.useState(""),r=ie.useRef(null),[o,a]=ie.useState(240),l=ie.useMemo(()=>({mainStart:e("chat.timeline.mainStart"),mainEnd:e("chat.timeline.mainEnd"),startTasks:e("chat.timeline.startTasks"),askUserQuestion:e("chat.timeline.askUserQuestion"),edit:e("chat.timeline.edit"),resumeTask:e("chat.timeline.resumeTask"),userPrompt:e("chat.timeline.userPrompt")}),[e]),c=ie.useMemo(()=>oxn(n,l),[l,n]),d=ie.useMemo(()=>{const g=i.trim().toLowerCase();return g?c.filter(m=>`${m.label} ${m.startTime} ${m.endTime}`.toLowerCase().includes(g)):c},[c,i]),u=e("chat.timelineEmptyValue"),h=ie.useCallback(g=>{const m=ME(g.startTime),p=ME(g.endTime);return y.jsx("span",{className:"session-timeline-event-table__time",children:m===p?m:`${m} → ${p}`})},[]),f=ie.useMemo(()=>t?[{title:e("chat.timelineEventName"),key:"summary",render:(g,m)=>{const p=[{key:e("chat.timelineInput"),value:m.input},{key:e("chat.timelineOutput"),value:m.output}].filter(v=>v.value!=null&&v.value!=="");return y.jsxs("div",{className:"session-timeline-event-table__summary",children:[y.jsx("span",{className:"session-timeline-event-table__label",style:{paddingLeft:`${m.depth*12}px`},children:m.label}),p.length>0&&y.jsx("div",{className:"session-timeline-event-table__detail-list",children:p.map(v=>y.jsxs("span",{className:"session-timeline-event-table__detail-item",children:[y.jsx("span",{className:"session-timeline-event-table__detail-key",children:v.key}),y.jsx("span",{className:"session-timeline-event-table__detail-text",children:v.value})]},v.key))})]})}},{title:e("chat.timelineTiming"),key:"time",width:120,render:(g,m)=>y.jsx("span",{className:"session-timeline-event-table__cell-timing",children:h(m)})}]:[{title:e("chat.timelineEventName"),key:"label",width:180,render:(g,m)=>y.jsx("span",{className:"session-timeline-event-table__label",style:{paddingLeft:`${m.depth*16}px`},children:m.label})},{title:e("chat.timelineInput"),key:"input",width:180,render:(g,m)=>y.jsx("span",{className:"session-timeline-event-table__value",children:m.input??u})},{title:e("chat.timelineOutput"),key:"output",width:180,render:(g,m)=>y.jsx("span",{className:"session-timeline-event-table__value",children:m.output??u})},{title:e("chat.timelineTiming"),key:"time",width:160,render:(g,m)=>h(m)}],[u,t,h,e]);return ie.useEffect(()=>{const g=r.current;if(!g)return;const m=()=>{const v=g.querySelector(".session-timeline-event-table__header"),b=g.querySelector(".ant-table-pagination"),w=(v==null?void 0:v.offsetHeight)??0,C=(b==null?void 0:b.offsetHeight)??0,S=Math.max(160,g.clientHeight-w-C-16);a(x=>x===S?x:S)};m();const p=new ResizeObserver(m);return p.observe(g),()=>{p.disconnect()}},[]),y.jsxs("div",{ref:r,className:"session-timeline-event-table",children:[y.jsxs("div",{className:"session-timeline-event-table__header",children:[y.jsx("span",{className:"session-timeline-event-table__title",children:e("chat.timeline.eventListTitle")}),y.jsx(yn,{className:"session-timeline-event-table__search",allowClear:!0,value:i,onChange:g=>s(g.target.value),placeholder:e("chat.timeline.eventListSearch")})]}),y.jsx(Lp,{className:"session-timeline-event-table__table",size:"small",columns:f,dataSource:d,rowKey:"id",onRow:g=>({onClick:()=>{g.payload&&console.warn(g.payload)}}),pagination:{pageSize:20,showSizeChanger:!t,pageSizeOptions:["10","20","50"]},scroll:{y:o},locale:{emptyText:e("chat.timelineEmpty")}})]})}const Mk={startTime:"09:40:00",endTime:"11:30:48",events:[{type:"tool__StartTasks",startTime:"09:41:02",endTime:"10:10:25",tasks:{taskA:{startTime:"09:41:10",endTime:"09:55:02",description:"Task A"},taskB:{startTime:"09:41:10",endTime:"09:50:40",description:"Task B"},taskC:{startTime:"09:41:10",endTime:"10:10:20",description:"Task C",events:[{type:"tool__StartTasks",startTime:"09:48:00",endTime:"10:05:30",tasks:{taskC0:{startTime:"09:49:10",endTime:"10:05:25",events:[{type:"tool__AskUserQuestion",startTime:"09:57:00",endTime:"09:59:23"},{type:"user__Prompt",startTime:"09:58:10",endTime:"09:58:20"}]}}},{type:"tool__Edit",startTime:"09:57:10",endTime:"09:59:20"},{type:"tool__ResumeTask",startTime:"09:59:22",endTime:"10:05:30"}]}}},{type:"tool__StartTasks",startTime:"10:41:02",endTime:"11:10:25",tasks:{taskA1:{startTime:"10:41:10",endTime:"10:55:02",description:"Task A1"},taskB1:{startTime:"10:41:10",endTime:"10:50:40",description:"Task B1"},taskC1:{startTime:"10:41:10",endTime:"11:10:20",description:"Task C1",events:[{type:"tool__StartTasks",startTime:"10:48:00",endTime:"11:05:30",tasks:{taskC10:{startTime:"10:49:10",endTime:"11:05:25",events:[{type:"tool__AskUserQuestion",startTime:"10:57:00",endTime:"10:59:23"},{type:"user__Prompt",startTime:"10:58:10",endTime:"10:58:20"}]}}},{type:"tool__Edit",startTime:"10:57:10",endTime:"10:59:20"},{type:"tool__ResumeTask",startTime:"10:59:22",endTime:"11:05:30"}]}}}]};function axn({messages:n}){const{t:e}=vt(),{isCompactLayout:t}=Lr(),[i,s]=ie.useState("events");if(t){const r=[{key:"events",label:e("chat.timeline.eventListTitle")},{key:"gantt",label:e("chat.timeline.viewGantt")},{key:"git",label:e("chat.timeline.viewGit")}];return y.jsxs("div",{className:"chat-timeline-view chat-timeline-view--compact",children:[y.jsx("div",{className:"chat-timeline-view__tabs",role:"tablist","aria-label":e("chat.timelineTiming"),children:r.map(o=>y.jsx("button",{type:"button",role:"tab","aria-selected":i===o.key,className:`chat-timeline-view__tab ${i===o.key?"is-active":""}`,onClick:()=>s(o.key),children:o.label},o.key))}),y.jsxs("section",{className:`chat-timeline-view__panel ${i==="events"?"chat-timeline-view__panel--events":"chat-timeline-view__panel--diagram"}`,children:[i==="events"&&y.jsx(iRe,{task:Mk}),i==="gantt"&&y.jsx(y$,{task:Mk,viewMode:"gantt"}),i==="git"&&y.jsx(y$,{task:Mk,viewMode:"git"})]})]})}return y.jsxs("div",{className:"chat-timeline-view",children:[y.jsx("section",{className:"session-timeline-section session-timeline-section--fixed",children:y.jsx(y$,{task:Mk,viewMode:"gantt"})}),y.jsxs("section",{className:"session-timeline-section session-timeline-section--flex session-timeline-section--row",children:[y.jsx("div",{className:"session-timeline-column session-timeline-column--graph",children:y.jsx(y$,{task:Mk,viewMode:"git"})}),y.jsx("div",{className:"session-timeline-column session-timeline-column--events",children:y.jsx(iRe,{task:Mk})})]})]})}const sRe=(n,e=!1)=>({icon:"settings_suggest",id:e?"mock-model-unavailable":"model-unavailable",isMock:e,message:n("chat.modelConfigRequired"),detail:n("chat.modelConfigRequiredHelp"),tone:"warning",title:n("chat.modelConfigRequiredTitle")}),iZ=(n,e,t=!1)=>{const i=e.reason==="closed";return{action:t?void 0:"retry-connection",detail:n(i?"chat.connectionClosedHelp":"chat.connectionErrorHelp"),icon:i?"wifi_off":"cloud_off",id:t?i?"mock-connection-closed":"mock-connection-error":i?"connection-closed":"connection-error",isMock:t,message:e.message,tone:"error",title:n(i?"chat.connectionClosedTitle":"chat.connectionErrorTitle")}},rRe=(n,e,t=!1)=>{const i=e.action==="retry-session-creation";return{...t||e.action==null?{}:{action:e.action},detail:n(i?"chat.sessionCreateFailedHelp":"chat.sessionErrorHelp"),icon:"error",id:t?"mock-session-error":i?"session-create-failed":"session-error",isMock:t,message:e.message,...!i&&e.code!=null&&e.code!==""?{meta:n("chat.sessionErrorCode",{code:e.code})}:{},tone:"error",title:n(i?"chat.sessionCreateFailedTitle":"chat.sessionErrorTitle")}},lxn=({errorState:n,isDebugMode:e,modelUnavailable:t,t:i})=>{const s=[],r=new Set;if(t&&(s.push(sRe(i)),r.add("model-unavailable")),n!=null&&n.message.trim()!==""&&(n.kind==="session"?(s.push(rRe(i,n)),r.add("session-error")):(s.push(iZ(i,n)),r.add(n.reason==="closed"?"connection-closed":"connection-error"))),!e)return s;const o=[{scenario:"connection-error",notice:iZ(i,{message:i("chat.debugMockConnectionErrorMessage"),reason:"error"},!0)},{scenario:"connection-closed",notice:iZ(i,{message:i("chat.debugMockConnectionClosedMessage"),reason:"closed"},!0)},{scenario:"session-error",notice:rRe(i,{message:i("chat.debugMockSessionErrorMessage"),code:"session_timeout"},!0)},{scenario:"model-unavailable",notice:sRe(i,!0)}];for(const a of o)r.has(a.scenario)||s.push(a.notice);return s},cxn=[{key:"folders",icon:"account_tree",labelKey:"chat.workspaceDrawerChangedFolders"},{key:"flat",icon:"view_list",labelKey:"chat.workspaceDrawerChangedFlat"}],dxn={type:"divider"},sZ=n=>y.jsx("span",{className:"material-symbols-rounded chat-workspace-drawer__menu-icon",children:n});function uxn({activeView:n,changedFilesCount:e,changedLayout:t,onActiveViewChange:i,onChangedLayoutChange:s,onChangedTreeCommand:r,onForceSync:o,onWorkspaceTreeCommand:a,selectedFilePath:l}){const{t:c}=vt(),d=_.useMemo(()=>[{key:"tree",icon:"folder",label:c("chat.workspaceDrawerTree")},{key:"changes",icon:"difference",label:c("chat.workspaceDrawerChangedFiles"),count:e}],[e,c]),u=_.useMemo(()=>[{key:"force-sync",label:c("chat.workspaceDrawerForceSync"),icon:sZ("sync"),onClick:o},...n==="changes"?[dxn,{key:"display-mode",label:c("chat.workspaceDrawerDisplayMode"),icon:sZ("view_module"),children:cxn.map(m=>({key:`layout:${m.key}`,label:c(m.labelKey),icon:sZ(t===m.key?"check":m.icon),onClick:()=>s(m.key)}))}]:[]],[n,t,s,o,c]),h=l!=null&&l!=="",f=()=>{if(n==="tree"){a("expand");return}r("expand")},g=()=>{if(n==="tree"){a("collapse");return}r("collapse")};return y.jsxs("div",{className:"chat-workspace-drawer__toolbar",children:[y.jsx("div",{className:"chat-workspace-drawer__view-actions",children:d.map(m=>y.jsx(Qe,{title:m.label,children:y.jsxs(qe,{type:"text",className:`chat-workspace-drawer__view-btn ${n===m.key?"is-active":""}`,"aria-label":m.label,"aria-pressed":n===m.key,onClick:()=>i(m.key),children:[y.jsx("span",{className:"material-symbols-rounded",children:m.icon}),m.count!=null&&m.count>0&&y.jsx("span",{className:"chat-workspace-drawer__view-count",children:m.count})]})},m.key))}),y.jsxs("div",{className:"chat-workspace-drawer__toolbar-actions",children:[y.jsx(Qe,{title:c("chat.workspaceDrawerLocateFile"),children:y.jsx("span",{className:"chat-workspace-drawer__toolbar-button-wrap",children:y.jsx(qe,{type:"text",className:"chat-workspace-drawer__icon-btn","aria-label":c("chat.workspaceDrawerLocateFile"),disabled:!h,onClick:()=>a("locate",l??void 0),children:y.jsx("span",{className:"material-symbols-rounded",children:"my_location"})})})}),y.jsx(Qe,{title:c("chat.workspaceDrawerExpandAll"),children:y.jsx(qe,{type:"text",className:"chat-workspace-drawer__icon-btn","aria-label":c("chat.workspaceDrawerExpandAll"),onClick:f,children:y.jsx("span",{className:"material-symbols-rounded",children:"unfold_more"})})}),y.jsx(Qe,{title:c("chat.workspaceDrawerCollapseAll"),children:y.jsx(qe,{type:"text",className:"chat-workspace-drawer__icon-btn","aria-label":c("chat.workspaceDrawerCollapseAll"),onClick:g,children:y.jsx("span",{className:"material-symbols-rounded",children:"unfold_less"})})}),y.jsx(ta,{menu:{items:u},overlayClassName:"chat-workspace-drawer-more-dropdown",placement:"bottomRight",trigger:["click"],children:y.jsx(qe,{type:"text",className:"chat-workspace-drawer__icon-btn","aria-label":c("common.moreActions"),title:c("common.moreActions"),children:y.jsx("span",{className:"material-symbols-rounded",children:"more_vert"})})})]})]})}const nXe=n=>[...n].sort((e,t)=>e.file.path.localeCompare(t.file.path)),iXe=n=>n.split("/").pop()??n,hxn=n=>{const e=iXe(n);return n===e?"":n.slice(0,Math.max(0,n.length-e.length-1))},fxn=n=>{const e=[];return n.staged&&e.push({file:n,key:`${n.path}:staged`,scope:"staged"}),n.unstaged&&!n.untracked&&e.push({file:n,key:`${n.path}:tracked`,scope:"tracked"}),n.untracked&&e.push({file:n,key:`${n.path}:untracked`,scope:"untracked"}),e},gxn=n=>{const e=n.flatMap(fxn),t=[{scope:"staged",entries:[],count:0},{scope:"tracked",entries:[],count:0},{scope:"untracked",entries:[],count:0}];for(const i of t)i.entries=nXe(e.filter(s=>s.scope===i.scope)),i.count=i.entries.length;return t.filter(i=>i.count>0)},mxn=(n,e,t)=>{const i=n.children.find(r=>r.path===t);if(i!=null)return i;const s={name:e,path:t,children:[],entries:[]};return n.children.push(s),s},sXe=n=>{n.children.sort((e,t)=>e.name.localeCompare(t.name)),n.entries=nXe(n.entries);for(const e of n.children)sXe(e)},oRe=n=>{const e={name:"",path:"",children:[],entries:[]};for(const t of n){const i=t.file.path.split("/").filter(Boolean);if(i.pop()==null)continue;let r=e,o="";for(const a of i)o=o===""?a:`${o}/${a}`,r=mxn(r,a,o);r.entries.push(t)}return sXe(e),e},lce=n=>{const e=n.path===""?[]:[n.path];for(const t of n.children)e.push(...lce(t));return e},rXe=(n,e)=>{if(n.path===e)return n;for(const t of n.children){const i=rXe(t,e);if(i!=null)return i}return null},oXe=n=>n.trim().toLowerCase(),pxn=n=>{const e=oXe(n),t=e.lastIndexOf(".");return t<=0?"":e.slice(t+1)},aXe=n=>{const e=oXe(n),t=pxn(n);return e==="package.json"?{icon:"inventory_2",tone:"package"}:e.includes("lock")?{icon:"lock",tone:"lock"}:e.startsWith(".env")?{icon:"key",tone:"env"}:e.includes("config")?{icon:"tune",tone:"config"}:e.includes("readme")||t==="md"||t==="mdx"?{icon:"article",tone:"docs"}:e.includes("gitignore")||e.includes("dockerignore")?{icon:"hide_source",tone:"ignore"}:t==="ts"||t==="tsx"?{icon:"data_object",tone:"typescript"}:t==="js"||t==="jsx"||t==="mjs"||t==="cjs"?{icon:"javascript",tone:"javascript"}:t==="json"?{icon:"data_object",tone:"json"}:t==="scss"||t==="sass"||t==="css"?{icon:"palette",tone:"style"}:t==="html"?{icon:"language",tone:"html"}:["png","jpg","jpeg","gif","webp","svg","ico"].includes(t)?{icon:"image",tone:"image"}:["yml","yaml","toml"].includes(t)?{icon:"settings",tone:"config"}:["sh","bash","zsh"].includes(t)?{icon:"terminal",tone:"script"}:{icon:"draft",tone:"file"}},_xn=(n,e)=>{const t=n.file.submodule;return t==null?[]:[t.commitChanged?e("chat.workspaceDrawerSubmoduleCommit"):null,t.trackedChanges?e("chat.workspaceDrawerSubmoduleTracked"):null,t.untrackedChanges?e("chat.workspaceDrawerSubmoduleUntracked"):null].filter(i=>i!=null)};function lXe({entry:n,onOpenFile:e,selectedFilePath:t,showDirectory:i=!0}){const{t:s}=vt(),r=iXe(n.file.path),o=hxn(n.file.path),a=n.file.submodule!=null?{icon:"folder_special",tone:"submodule"}:aXe(r),l=_.useMemo(()=>{const c=_xn(n,s),d=s(`chat.workspaceDrawerFileStatus.${n.scope}`);return c.length===0?d:`${d} · ${s("chat.workspaceDrawerSubmodule")}: ${c.join(", ")}`},[n,s]);return y.jsxs("button",{type:"button",className:`chat-workspace-drawer__changed-file ${t===n.file.path?"is-selected":""}`,title:n.file.path,onClick:()=>e==null?void 0:e(n.file.path),children:[y.jsx("span",{className:`material-symbols-rounded chat-workspace-drawer__changed-icon is-${a.tone}`,children:a.icon}),y.jsxs("span",{className:"chat-workspace-drawer__changed-copy",children:[y.jsx("span",{className:"chat-workspace-drawer__changed-name",children:r}),i&&o!==""&&y.jsx("span",{className:"chat-workspace-drawer__changed-path",children:o})]}),y.jsx(Qe,{title:l,children:y.jsx("span",{className:`chat-workspace-drawer__changed-status-dot is-${n.scope}`,"aria-label":l})})]})}const aRe=n=>({"--changed-folder-depth":n}),vxn=n=>{const e=[n.name];let t=n;for(;t.entries.length===0&&t.children.length===1;)t=t.children[0],e.push(t.name);return{label:e.join("/"),node:t}};function cXe({depth:n,expandedPaths:e,node:t,onOpenFile:i,onSelectFolder:s,onToggleFolder:r,selectedFilePath:o,selectedFolder:a,scope:l}){const c=t.path==="",d=c?{label:"",node:t}:vxn(t),u=d.node,h=c||e.has(u.path),f=(a==null?void 0:a.scope)===l&&a.path===u.path;return y.jsxs("div",{className:"chat-workspace-drawer__changed-folder-node",children:[!c&&y.jsxs("button",{type:"button",className:`chat-workspace-drawer__changed-folder ${h?"is-expanded":""} ${f?"is-selected":""}`,style:aRe(n),"aria-expanded":h,"aria-pressed":f,title:u.path,onClick:()=>{s(u.path),r(u.path)},children:[y.jsx("span",{className:"material-symbols-rounded chat-workspace-drawer__changed-folder-icon",children:h?"folder_open":"folder"}),y.jsx("span",{className:"chat-workspace-drawer__changed-folder-name",children:d.label})]}),y.jsx("div",{className:`chat-workspace-drawer__changed-folder-children ${h?"is-expanded":"is-collapsed"}`,children:y.jsxs("div",{className:"chat-workspace-drawer__changed-folder-children-inner",children:[u.children.map(g=>y.jsx(cXe,{depth:n+1,expandedPaths:e,node:g,selectedFilePath:o,onOpenFile:i,onSelectFolder:s,onToggleFolder:r,selectedFolder:a,scope:l},g.path)),u.entries.map(g=>y.jsx("div",{className:"chat-workspace-drawer__changed-folder-entry",style:aRe(u.path===""?0:n+1),children:y.jsx(lXe,{entry:g,selectedFilePath:o,showDirectory:!1,onOpenFile:i})},g.key))]})})]})}function bxn({command:n,onOpenFile:e,onSelectFolder:t,root:i,scope:s,selectedFilePath:r,selectedFolder:o}){const a=_.useMemo(()=>lce(i),[i]),[l,c]=_.useState(()=>new Set(a));_.useEffect(()=>{c(new Set(a))},[a]),_.useEffect(()=>{if(n==null)return;const u=(o==null?void 0:o.scope)===s?o.path:null,h=u==null?i:rXe(i,u),f=h==null?a:lce(h),g=u==null?f:[u,...f];c(m=>{if(n.action==="expand")return new Set([...m,...g]);const p=new Set(m);for(const v of g)p.delete(v);return p})},[a,n,i,s,o]);const d=u=>{c(h=>{const f=new Set(h);return f.has(u)?f.delete(u):f.add(u),f})};return y.jsx(cXe,{depth:0,expandedPaths:l,node:i,selectedFilePath:r,onOpenFile:e,onSelectFolder:u=>t({scope:s,path:u}),onToggleFolder:d,selectedFolder:o,scope:s})}function yxn({command:n,isLoading:e,layout:t,onOpenFile:i,repoState:s,selectedFilePath:r}){const{t:o}=vt(),[a,l]=_.useState(new Set),[c,d]=_.useState(null),u=_.useMemo(()=>(s==null?void 0:s.available)!==!0?[]:s.changedFiles??[],[s]),h=_.useMemo(()=>gxn(u),[u]),f=_.useMemo(()=>h.map(p=>p.scope),[h]),g=_.useMemo(()=>new Map(h.map(p=>[p.scope,oRe(p.entries)])),[h]);_.useEffect(()=>{l(p=>new Set(Array.from(p).filter(v=>f.includes(v))))},[f]),_.useEffect(()=>{t!=="folders"&&d(null)},[t]),_.useEffect(()=>{if(n!=null){if(c==null){l(n.action==="expand"?new Set:new Set(f));return}n.action==="expand"&&l(p=>{const v=new Set(p);return v.delete(c.scope),v})}},[n,f,c]);const m=p=>{l(v=>{const b=new Set(v);return b.has(p)?b.delete(p):b.add(p),b})};return e?y.jsxs("div",{className:"chat-workspace-drawer__loading",children:[y.jsx(Ya,{size:"small"}),y.jsx("span",{children:o("chat.workspaceDrawerLoadingGit")})]}):s!=null&&s.available!==!0?y.jsx(Zn,{image:Zn.PRESENTED_IMAGE_SIMPLE,description:o("chat.workspaceDrawerGitUnavailable")}):h.length===0?y.jsx(Zn,{image:Zn.PRESENTED_IMAGE_SIMPLE,description:o("chat.workspaceDrawerNoChangedFiles")}):y.jsx("div",{className:"chat-workspace-drawer__changed-list",children:y.jsx("div",{className:"chat-workspace-drawer__changed-sections",children:h.map(p=>{const v=a.has(p.scope);return y.jsxs("section",{className:"chat-workspace-drawer__changed-section",children:[y.jsxs("div",{className:"chat-workspace-drawer__changed-section-header",children:[y.jsx("span",{children:o(`chat.workspaceDrawerChangedSection.${p.scope}`)}),y.jsxs("span",{className:"chat-workspace-drawer__changed-section-meta",children:[y.jsx("span",{children:p.count}),y.jsx(qe,{type:"text",className:"chat-workspace-drawer__changed-section-toggle","aria-label":o("chat.workspaceDrawerToggleSection"),"aria-expanded":!v,onClick:()=>m(p.scope),children:y.jsx("span",{className:"material-symbols-rounded",children:v?"expand_more":"expand_less"})})]})]}),y.jsx("div",{className:`chat-workspace-drawer__changed-section-body ${v?"is-collapsed":"is-expanded"}`,children:y.jsx("div",{className:"chat-workspace-drawer__changed-section-body-inner",children:t==="folders"?y.jsx(bxn,{command:n,root:g.get(p.scope)??oRe([]),scope:p.scope,selectedFolder:c,selectedFilePath:r,onOpenFile:i,onSelectFolder:d}):p.entries.map(b=>y.jsx(lXe,{entry:b,selectedFilePath:r,onOpenFile:i},b.key))})})]},p.scope)})})})}function wxn({command:n,onOpenFile:e,onReferencePaths:t,refreshKey:i,selectedFilePath:s,sessionId:r}){return y.jsx(LBe,{activePath:s,className:"chat-workspace-drawer__tree",command:n,refreshKey:i,selectableTypes:"all",selectionMode:"multiple",sessionId:r,showContextMenu:!0,onOpenFile:e,onReferenceNodes:o=>t==null?void 0:t(o.map(bBe))})}function Cxn({onOpenFile:n,onReferencePaths:e,selectedFilePath:t,sessionId:i}){var k;const{t:s}=vt(),[r,o]=_.useState("tree"),[a,l]=_.useState("folders"),[c,d]=_.useState(null),[u,h]=_.useState(null),[f,g]=_.useState(0),m=i!=null&&i!==""?["chat-workspace-drawer-git",i]:"chat-workspace-drawer-git",{data:p,isLoading:v,mutate:b}=hi(m,()=>i!=null&&i!==""?X3e(i):Y3e(),{refreshInterval:3e3,revalidateOnFocus:!0}),w=(p==null?void 0:p.available)===!0?((k=p.changedFiles)==null?void 0:k.length)??0:0,C=()=>{b(),g(L=>L+1)},S=L=>{o("changes"),l("folders"),d(I=>({action:L,id:((I==null?void 0:I.id)??0)+1}))},x=(L,I)=>{o("tree"),h(N=>({action:L,id:((N==null?void 0:N.id)??0)+1,path:I}))};return y.jsxs("aside",{className:"chat-workspace-drawer","aria-label":s("chat.workspaceDrawerTitle"),children:[y.jsx(uxn,{activeView:r,changedFilesCount:w,changedLayout:a,onActiveViewChange:o,onChangedLayoutChange:l,onChangedTreeCommand:S,onForceSync:C,onWorkspaceTreeCommand:x,selectedFilePath:t}),y.jsx("div",{className:"chat-workspace-drawer__body",children:y.jsx("div",{className:"chat-workspace-drawer__view-panel",children:r==="tree"?y.jsx(wxn,{command:u,refreshKey:f,selectedFilePath:t,sessionId:i,onOpenFile:n,onReferencePaths:e}):y.jsx(yxn,{command:c,isLoading:v,layout:a,repoState:p,selectedFilePath:t,onOpenFile:n})},r)})]})}const cce=n=>{const e=[],t=new Set;for(const i of n){const s=i==null?void 0:i.trim();s==null||s===""||t.has(s)||(t.add(s),e.push(s))}return e},rZ=n=>{var s;const e=((s=n==null?void 0:n.selectedPath)==null?void 0:s.trim())||null,t=cce([...(n==null?void 0:n.openPaths)??[],e]),i=e!=null&&t.includes(e)?e:t.at(0)??null;return{openPaths:t,selectedPath:i,isOpen:(n==null?void 0:n.isOpen)===!0&&i!=null}},Sxn=n=>({openPaths:n.openPaths,...n.selectedPath==null?{}:{selectedPath:n.selectedPath},isOpen:n.isOpen});function xxn({isTerminalOpen:n,session:e,setIsTerminalOpen:t}){const i=rZ(e==null?void 0:e.workspaceFileState),[s,r]=_.useState("terminal"),[o,a]=_.useState(i.selectedPath),[l,c]=_.useState(i.openPaths),[d,u]=_.useState(i.isOpen),h=n&&s==="terminal",f=d&&o!=null&&s==="file",g=h||f,m=JSON.stringify((e==null?void 0:e.workspaceFileState)??null);_.useEffect(()=>{const N=rZ(e==null?void 0:e.workspaceFileState);c(N.openPaths),a(N.selectedPath),u(N.isOpen),r(D=>N.isOpen&&N.selectedPath!=null?"file":D==="file"?"terminal":D)},[m,e==null?void 0:e.id]);const p=N=>{const D=rZ(N);c(D.openPaths),a(D.selectedPath),u(D.isOpen),(e==null?void 0:e.id)!=null&&fg(e.id,{workspaceFileState:Sxn(D)}).catch(T=>{console.error("[chat] failed to persist workspace file state:",T)})};return{handleCloseAllWorkspaceFileTabs:()=>{p({openPaths:[],selectedPath:null,isOpen:!1}),n&&r("terminal")},handleCloseTerminal:()=>{t(!1),d&&o!=null&&r("file")},handleCloseWorkspaceFile:()=>{p({openPaths:l,selectedPath:o,isOpen:!1}),n&&r("terminal")},handleCloseOtherWorkspaceFileTabs:N=>{l.includes(N)&&(p({openPaths:[N],selectedPath:N,isOpen:!0}),r("file"))},handleCloseWorkspaceFileTab:N=>{const D=l.filter(M=>M!==N),T=l.indexOf(N),R=o===N?D[Math.min(Math.max(T-1,0),D.length-1)]??null:o;p({openPaths:D,selectedPath:R,isOpen:d&&R!=null}),R==null&&n&&r("terminal")},handleCloseWorkspaceFileTabsToRight:N=>{const D=l.indexOf(N);if(D<0)return;const T=l.slice(0,D+1),R=o!=null&&T.includes(o)?o:N;p({openPaths:T,selectedPath:R,isOpen:d&&R!=null})},handleOpenWorkspaceFile:N=>{p({openPaths:cce([...l,N]),selectedPath:N,isOpen:!0}),r("file")},handleSelectWorkspaceFile:N=>{p({openPaths:cce([...l,N]),selectedPath:N,isOpen:!0}),r("file")},handleToggleTerminal:()=>{if(s!=="terminal"){r("terminal"),t(!0);return}t(!n)},openWorkspaceFilePaths:l,selectedWorkspaceFilePath:o,shouldShowBottomPanel:g,shouldShowFileEditor:f,shouldShowTerminal:h}}function kxn({activeView:n,setActiveView:e,targetMessageId:t,targetToolUseId:i}){const s=_.useRef(""),r=i!=null&&i.trim()?`tool:${i.trim()}`:t!=null&&t.trim()?`message:${t.trim()}`:"";_.useEffect(()=>{r===""?s.current="":s.current!==r&&(s.current=r,n!=="history"&&e("history"))},[n,r,e])}const dXe="vf_chat_adapter_account:",Exn=n=>{const e=ui(n.label)??ui(n.id.replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[_-]+/g," ").trim().replace(/\b\w/g,i=>i.toUpperCase())),t=ui(n.value);return e!=null&&t!=null?`${e}: ${t}`:t??e},Lxn=n=>{const e=((n==null?void 0:n.metrics)??[]).slice().sort((i,s)=>+(s.primary===!0)-+(i.primary===!0)).map(Exn).filter(i=>i!=null&&i!=="");if(e.length>0)return e.slice(0,2).join(" · ");const t=ui(n==null?void 0:n.summary);return t==null?void 0:`Quota: ${t}`},lRe=n=>{const e=ui(n);if(e!=null)try{const t=localStorage.getItem(`${dXe}${e}`);return t==null||t.trim()===""?void 0:t.trim()}catch{return}};function Ixn({adapter:n,model:e}){const t=ui(n),[i,s]=_.useState(()=>lRe(n));_.useEffect(()=>{s(lRe(t))},[t]);const{data:r}=hi(t==null?null:["/api/adapters",t,e??""],t==null?null:()=>xhe(t,{model:e})),o=_.useMemo(()=>((r==null?void 0:r.accounts)??[]).filter(d=>d.status!=="missing").map(d=>({value:d.key,label:d.title,hint:d.description,meta:Lxn(d.quota)})),[r==null?void 0:r.accounts]),a=_.useCallback((d,u=!1)=>{var m;const h=ui(d),f=new Set(o.map(p=>p.value));if(h!=null&&(f.has(h)||u))return h;const g=ui(r==null?void 0:r.defaultAccount);return g!=null&&f.has(g)?g:(m=o[0])==null?void 0:m.value},[o,r==null?void 0:r.defaultAccount]);_.useEffect(()=>{if(t==null){s(void 0);return}const d=a(i);s(u=>u===d?u:d)},[t,a,i]),_.useEffect(()=>{if(t!=null)try{const d=`${dXe}${t}`;i==null||i.trim()===""?localStorage.removeItem(d):localStorage.setItem(d,i)}catch{}},[t,i]);const l=_.useCallback(d=>{const u=a(d.account,!0)??ui(d.account);s(h=>h===u?h:u)},[a]),c=_.useCallback(d=>{const u=a(d);s(h=>h===u?h:u)},[a]);return{accountOptions:o,selectedAccount:a(i,!0)??i,setSelectedAccount:c,applySessionSelection:l,showAccountSelector:t!=null&&o.length>0}}function Nxn({sessionId:n}){const[e,t]=_.useState(null),i=_.useCallback((s,r)=>{n&&Qkt(n,s,r).then(()=>{t(o=>(o==null?void 0:o.id)===s?null:o)}).catch(o=>{console.error("Failed to submit interaction response:",o)})},[n]);return{interactionRequest:e,setInteractionRequest:t,handleInteractionResponse:i}}const Dxn=27,Txn=n=>{let e="",t=0;for(;t<n.length;){if(n.charCodeAt(t)===Dxn&&n[t+1]==="["){for(t+=2;t<n.length;){const i=n.charCodeAt(t);if(i>=64&&i<=126){t+=1;break}t+=1}continue}e+=n[t],t+=1}return e},cRe=n=>Txn(n).trim(),uXe=n=>{if((n==null?void 0:n.type)!=="error"||n.data!=null&&typeof n.data=="object"&&"fatal"in n.data&&n.data.fatal===!1)return null;const e=n.data!=null&&typeof n.data=="object"&&"code"in n.data&&typeof n.data.code=="string"&&n.data.code.trim()!==""?n.data.code:void 0;if(n.data!=null&&typeof n.data=="object"&&"message"in n.data){const t=n.data.message;if(typeof t=="string"){const i=cRe(t);if(i!=="")return{message:i,code:e}}}if(typeof n.message=="string"){const t=cRe(n.message);if(t!=="")return{message:t,code:e}}return null},hXe=(n,e)=>{if(e.type==="interaction_request")return{id:e.id,payload:e.payload};if(e.type==="interaction_response")return(n==null?void 0:n.id)===e.id||n==null?null:n;if(e.type==="session_updated"){const t=e.session;if("isDeleted"in t||t.status!=="waiting_input")return null}return e.type==="error"&&e.data!=null&&typeof e.data=="object"&&"fatal"in e.data&&e.data.fatal!==!1?null:n},Rxn=(n,e,t)=>{let i=null;for(const s of n)i=hXe(i,s);return i??(t==="waiting_input"?e:null)},Mxn=n=>{for(let e=n.length-1;e>=0;e-=1){const t=uXe(n[e]);if(t!=null)return t}return null},Pxn=20,f8=n=>({messages:(n==null?void 0:n.messages)??[],sessionInfo:(n==null?void 0:n.sessionInfo)??null,queuedMessages:(n==null?void 0:n.queuedMessages)??{steer:[],next:[]},errorState:(n==null?void 0:n.errorState)??null,interactionRequest:(n==null?void 0:n.interactionRequest)??null,isHydrated:(n==null?void 0:n.isHydrated)??!1}),Oxn=(n,e)=>f8({...f8(n),...e}),Axn=n=>{const e=f8(n),t=e.isHydrated===!0?e:f8();return{messages:t.messages,sessionInfo:t.sessionInfo,queuedMessages:t.queuedMessages,errorState:t.errorState,interactionRequest:t.interactionRequest,isReady:t.isHydrated}},Fxn=(n,e,t)=>{const i=Oxn(n.get(e),t);for(n.has(e)&&n.delete(e),n.set(e,i);n.size>Pxn;){const s=n.keys().next().value;if(s==null)break;n.delete(s)}return i},$xn=(n,e)=>{n.delete(e)},w$={steer:[],next:[]},dRe=(n,e)=>e.type!=="message"?n:n.find(i=>i.id===e.message.id)!=null?n.map(i=>i.id===e.message.id?e.message:i):[...n,e.message],uRe=(n,e)=>{if(e.type!=="tool_result")return n;const t=e.isError===!0?"error":"success";return n.map(i=>i.toolCall!=null&&i.toolCall.id===e.toolCallId?{...i,toolCall:{...i.toolCall,status:t,output:e.output}}:i)};function Bxn({session:n,modelForQuery:e,effort:t,permissionMode:i,adapter:s,account:r,optimisticCreation:o,setInteractionRequest:a}){const{t:l}=vt(),{mutate:c}=KN(),[d,u]=_.useState([]),[h,f]=_.useState(null),[g,m]=_.useState({steer:[],next:[]}),[p,v]=_.useState(!1),[b,w]=_.useState(null),[C,S]=_.useState(0),x=_.useRef(!0),k=_.useRef(void 0),L=_.useRef(void 0),I=_.useRef(void 0),N=_.useRef(void 0),D=_.useRef(void 0),T=_.useRef(n==null?void 0:n.status),R=_.useRef(!1),M=_.useRef(null),P=_.useRef(n==null?void 0:n.id),O=_.useRef(0),A=_.useRef([]),F=_.useRef(new Map);P.current=n==null?void 0:n.id;const B=_.useCallback((Y,K)=>Fxn(F.current,Y,K),[]),$=_.useCallback(Y=>{$xn(F.current,Y)},[]),W=_.useCallback(Y=>{u(K=>{const X=typeof Y=="function"?Y(K):Y,J=P.current;if(J!=null&&J!==""){const te=F.current.get(J);B(J,{messages:X,isHydrated:(te==null?void 0:te.isHydrated)===!0})}return X})},[B]),V=_.useCallback(()=>{for(const Y of A.current)clearTimeout(Y);A.current=[]},[]),H=_.useCallback(async(Y={})=>{var J,te;const K=P.current;if(K==null||K==="")return;const X=++O.current;try{const q=await J3e(K);if(P.current!==K||O.current!==X)return;const Z=q.messages;if(q.session){const xe=q.session;c("/api/sessions",Se=>{if((Se==null?void 0:Se.sessions)==null)return Se;const be=Se.sessions.map(Ce=>Ce.id===xe.id?{...Ce,...xe}:Ce);return{...Se,sessions:be}},!1)}let oe=[],pe=null;const ae=Rxn(Z,q.interaction??null,(J=q.session)==null?void 0:J.status),ce=Mxn(Z),ye=ae==null&&((te=q.session)==null?void 0:te.status)==="failed"&&ce!=null?{kind:"session",message:ce.message,code:ce.code}:null,Ee=q.queuedMessages??w$;M.current=ae,a(ae),m(Ee),w(ye);for(const xe of Z)oe=dRe(oe,xe),oe=uRe(oe,xe),xe.type==="session_info"&&xe.info!=null&&xe.info.type!=="summary"&&(pe=xe.info);B(K,{messages:oe,sessionInfo:pe,queuedMessages:Ee,errorState:ye,interactionRequest:ae,isHydrated:!0}),W(oe),f(pe),Y.updateReadiness!==!1&&setTimeout(()=>{P.current!==K||O.current!==X||(v(!0),x.current=!1)},100)}catch(q){console.error("Failed to fetch history messages:",q)}},[c,a,W,B]),U=_.useCallback(()=>{V();for(const Y of[0,800,2400,5e3,9e3,15e3]){const K=globalThis.setTimeout(()=>{H({updateReadiness:!1})},Y);A.current.push(K)}},[V,H]),G=_.useCallback(()=>{(n==null?void 0:n.id)==null||n.id===""||(R.current=!0,w(null),B(n.id,{errorState:null}),L_.close(n.id),S(Y=>Y+1))},[n==null?void 0:n.id,B]);return _.useEffect(()=>{if((n==null?void 0:n.id)==null||n.id===""){u([]),f(null),m(w$),v(!0),w(null),a(null),M.current=null,x.current=!0,k.current=void 0,L.current=void 0,I.current=void 0,N.current=void 0,D.current=void 0,V();return}if(o!=null){V(),O.current+=1;const K=[o.message],X=o.status==="failed"?{action:"retry-session-creation",code:"session_create_failed",kind:"session",message:o.errorMessage??l("chat.sessionCreateFailedMessage")}:null;M.current=null,a(null),u(K),f(null),m(w$),w(X),v(!0),x.current=!1,B(n.id,{messages:K,sessionInfo:null,queuedMessages:w$,errorState:X,interactionRequest:null,isHydrated:!0});return}const Y=Axn(F.current.get(n.id));return u(Y.messages),f(Y.sessionInfo),m(Y.queuedMessages),w(Y.errorState),a(Y.interactionRequest),M.current=Y.interactionRequest,v(Y.isReady),x.current=!Y.isReady,H(),H(),()=>{V()}},[V,o,H,n==null?void 0:n.id,a,l,B]),_.useEffect(()=>{if((n==null?void 0:n.id)==null||n.id===""){T.current=void 0;return}if(o!=null){T.current=n.status;return}const Y=T.current;T.current=n.status,!(Y==null||Y===n.status)&&H({updateReadiness:!1})},[o,H,n==null?void 0:n.id,n==null?void 0:n.status]),_.useEffect(()=>{if((n==null?void 0:n.id)==null||n.id==="")return;if(o!=null){R.current=!0,L_.close(n.id);return}let Y=!1,K;const X=e??"",J=e!=null&&k.current!=null&&X!==k.current&&(n==null?void 0:n.status)!=="running",te=t==="default"?"":t,q=L.current!=null&&te!==L.current&&(n==null?void 0:n.status)!=="running",Z=i??"",oe=i!=null&&I.current!=null&&Z!==I.current&&(n==null?void 0:n.status)!=="running",pe=s??"",ae=s!=null&&N.current!=null&&pe!==N.current&&(n==null?void 0:n.status)!=="running",ce=r??"",ye=r!=null&&D.current!=null&&ce!==D.current&&(n==null?void 0:n.status)!=="running";(J||q||oe||ae||ye)&&(R.current=!0,w(null),L_.send(n.id,{type:"terminate_session"}),L_.close(n.id)),k.current=X,L.current=te,I.current=Z,N.current=pe,D.current=ce;const Ee=setTimeout(()=>{if(Y)return;const xe={};e&&(xe.model=e),t!=="default"&&(xe.effort=t),i&&(xe.permissionMode=i),s&&(xe.adapter=s),r&&(xe.account=r),K=L_.connect(n.id,{onOpen(){R.current=!1,w(Se=>{const be=(Se==null?void 0:Se.kind)==="session"?Se:null;return B(n.id,{errorState:be}),be})},onMessage(Se){if(Y)return;const be=hXe(M.current,Se);if(be!==M.current&&(M.current=be,a(be),B(n.id,{interactionRequest:be}),be!=null&&(w(null),B(n.id,{errorState:null}))),Se.type==="interaction_response"){U();return}if(Se.type==="error"){const Ce=uXe(Se);if(Ce!=null){const le={kind:"session",message:Ce.message,code:Ce.code};w(le),B(n.id,{errorState:le})}return}if(Se.type==="session_updated"){c("/api/sessions",Ce=>{if((Ce==null?void 0:Ce.sessions)==null)return Ce;const le=Se.session;if("isDeleted"in le&&le.isDeleted)return $(le.id),{...Ce,sessions:Ce.sessions.filter(me=>me.id!==le.id)};const fe=le,we=Ce.sessions.map(me=>me.id===fe.id?{...me,...fe}:me);return!we.some(me=>me.id===fe.id)&&!("isDeleted"in le)&&we.unshift(fe),{...Ce,sessions:we}},!1);return}if(Se.type==="session_queue_updated"){m(Se.queue),B(n.id,{queuedMessages:Se.queue});return}if(Se.type==="message"){W(Ce=>dRe(Ce,Se));return}if(Se.type==="session_info"){Se.info!=null&&Se.info.type==="summary"?c("/api/sessions"):(f(Se.info??null),B(n.id,{sessionInfo:Se.info??null}),x.current&&setTimeout(()=>{Y||x.current&&(v(!0),x.current=!1)},100));return}if(Se.type==="tool_result"){W(Ce=>uRe(Ce,Se));return}Se.type==="interaction_request"&&(M.current=Se,a(Se),B(n.id,{interactionRequest:Se}))},onError(){if(Y)return;const Se={kind:"connection",message:l("chat.connectionError"),reason:"error"};w(Se),B(n.id,{errorState:Se})},onClose(){if(!Y){if(R.current){R.current=!1;return}w(Se=>{const be=Se??{kind:"connection",message:l("chat.connectionClosed"),reason:"closed"};return B(n.id,{errorState:be}),be})}}},Object.keys(xe).length>0?xe:void 0)},J||q||oe||ae||ye?200:100);return()=>{Y=!0,clearTimeout(Ee),K==null||K()}},[s,r,V,t,e,c,o,i,U,C,H,n==null?void 0:n.id,n==null?void 0:n.status,a,l,$,B]),{messages:d,setMessages:W,sessionInfo:h,queuedMessages:g,isReady:p,errorState:b,retryConnection:G,reconcileAfterInteraction:U}}const Hxn=n=>n==="timeline"||n==="settings"||n==="history"?n:"history";function jxn(){const{values:n,update:e}=Np({keys:["view","terminal"],defaults:{view:"history",terminal:""},omit:{view:a=>a==="history",terminal:a=>a===""||a==="false"}}),t=n.view==="terminal",i=Hxn(t?"history":n.view),s=n.terminal==="true"||t,r=_.useCallback(a=>{e({view:a})},[e]),o=_.useCallback(a=>{e({terminal:a?"true":"false"})},[e]);return _.useEffect(()=>{i!==n.view&&e({view:i})},[i,n.view,e]),_.useEffect(()=>{t&&e({view:"history",terminal:"true"})},[t,e]),{activeView:i,isTerminalOpen:s,setActiveView:r,setIsTerminalOpen:o}}function Wxn({session:n}){const{t:e}=vt(),t=yu(TI),i=(n==null?void 0:n.id)==null||n.id===""?void 0:t[n.id],{adapterOptions:s,applySessionSelection:r,modelMenuGroups:o,selectedAdapter:a,selectedModel:l,selectedModelWithService:c,setSelectedModel:d,setSelectedAdapter:u,modelSearchOptions:h,recommendedModelOptions:f,servicePreviewModelOptions:g,toggleRecommendedModel:m,updatingRecommendedModelValue:p,hasAvailableModels:v}=kKe({adapterLocked:(n==null?void 0:n.id)!=null}),{accountOptions:b,selectedAccount:w,setSelectedAccount:C,applySessionSelection:S,showAccountSelector:x}=Ixn({adapter:a,model:c}),{permissionMode:k,setPermissionMode:L,permissionModeOptions:I}=EKe(),{effort:N,setEffort:D,effortOptions:T}=mKe(),{activeView:R,isTerminalOpen:M,setActiveView:P,setIsTerminalOpen:O}=jxn(),{interactionRequest:A,setInteractionRequest:F,handleInteractionResponse:B}=Nxn({sessionId:n==null?void 0:n.id}),{messages:$,setMessages:W,sessionInfo:V,queuedMessages:H,isReady:U,errorState:G,retryConnection:Y,reconcileAfterInteraction:K}=Bxn({session:n,modelForQuery:c,effort:N,permissionMode:k,adapter:a,account:w,optimisticCreation:i,setInteractionRequest:F}),X=_.useCallback((q,Z)=>{K(),B(q,Z)},[K,B]),J=_.useRef(null),te=(n==null?void 0:n.status)==="running";return _.useEffect(()=>{if((n==null?void 0:n.id)==null||n.id===""){J.current=null;return}const q=J.current,Z=(q==null?void 0:q.id)!==n.id;(Z||(q==null?void 0:q.model)!==n.model||(q==null?void 0:q.adapter)!==n.adapter)&&r({model:n.model,adapter:n.adapter}),(Z||(q==null?void 0:q.account)!==n.account)&&S({account:n.account}),(Z||(q==null?void 0:q.permissionMode)!==n.permissionMode)&&L(n.permissionMode),(Z||(q==null?void 0:q.effort)!==n.effort)&&D(n.effort),J.current={id:n.id,model:n.model,permissionMode:n.permissionMode,adapter:n.adapter,account:n.account,effort:n.effort}},[S,n==null?void 0:n.adapter,n==null?void 0:n.account,n==null?void 0:n.effort,n==null?void 0:n.id,n==null?void 0:n.model,n==null?void 0:n.permissionMode,r,D,L]),{messages:$,sessionInfo:V,queuedMessages:H,interactionRequest:A,isReady:U,errorState:G,retryConnection:Y,isThinking:te,activeView:R,isTerminalOpen:M,setActiveView:P,setIsTerminalOpen:O,handleInteractionResponse:X,setMessages:W,placeholder:n!=null&&n.id?void 0:e("chat.newSessionPlaceholder"),modelMenuGroups:o,modelSearchOptions:h,recommendedModelOptions:f,servicePreviewModelOptions:g,toggleRecommendedModel:m,updatingRecommendedModelValue:p,selectedModel:l,modelForQuery:c,setSelectedModel:d,effort:N,setEffort:D,effortOptions:T,permissionMode:k,setPermissionMode:L,permissionModeOptions:I,selectedAdapter:a,setSelectedAdapter:u,selectedAccount:w,setSelectedAccount:C,accountOptions:b,showAccountSelector:x,adapterOptions:s,hasAvailableModels:v,modelUnavailable:!v}}const Vxn=240;function zxn(n){const[e,t]=_.useState(n),[i,s]=_.useState(n);return _.useEffect(()=>{if(n){t(!0);const o=window.setTimeout(()=>{s(!0)},0);return()=>{window.clearTimeout(o)}}if(s(!1),!e)return;const r=window.setTimeout(()=>{t(!1)},Vxn);return()=>{window.clearTimeout(r)}},[n,e]),{isRendered:e,isVisible:i}}const Uxn=n=>n==="workspace"?n:void 0;function Kxn(){const{values:n,update:e}=Np({keys:["layout"],defaults:{layout:""},omit:{layout:i=>i===""}}),t=Uxn(n.layout);return{activeLayout:t,isWorkspaceDrawerOpen:t==="workspace",setWorkspaceDrawerOpen:i=>e({layout:i?"workspace":""})}}function qxn({actions:n,closeLabel:e,fullscreenEnterLabel:t,fullscreenExitLabel:i,isFullscreen:s,meta:r,onClose:o,onToggleFullscreen:a,title:l}){const c=s?i:t;return y.jsxs("div",{className:"dock-panel__header",children:[y.jsxs("div",{className:"dock-panel__header-main",children:[y.jsx("span",{className:"dock-panel__title",children:l}),r!=null&&y.jsx("span",{className:"dock-panel__meta",children:r})]}),y.jsx("div",{className:"dock-panel__header-spacer"}),(n!=null||a!=null||o!=null)&&y.jsxs("div",{className:"dock-panel__header-actions",children:[n,a!=null&&c!=null&&y.jsx(qe,{type:"text",className:"dock-panel__close-btn dock-panel__fullscreen-btn","data-dock-panel-no-resize":"true",icon:y.jsx("span",{className:"material-symbols-rounded",children:s?"fullscreen_exit":"fullscreen"}),title:c,"aria-label":c,onClick:a}),o!=null&&e!=null&&y.jsx(qe,{type:"text",className:"dock-panel__close-btn","data-dock-panel-no-resize":"true",icon:y.jsx("span",{className:"material-symbols-rounded",children:"close"}),title:e,"aria-label":e,onClick:o})]})]})}const Gxn=180;function Xxn(){const[n,e]=_.useState(!1),[t,i]=_.useState(!1),s=_.useRef(null),r=_.useCallback(()=>{s.current!=null&&(window.clearTimeout(s.current),s.current=null)},[]),o=_.useCallback(()=>{r(),i(!1),e(!0)},[r]),a=_.useCallback(()=>{r(),i(!0),s.current=window.setTimeout(()=>{e(!1),i(!1),s.current=null},Gxn)},[r]),l=_.useCallback(()=>{if(n&&!t){a();return}o()},[o,a,n,t]);return _.useEffect(()=>r,[r]),{isFullscreen:n,isFullscreenExiting:t,toggleFullscreen:l}}const Yxn=240,oZ=(n,e,t)=>Math.min(Math.max(n,e),Math.max(e,t)),Zxn=n=>(n==null?void 0:n.closest('button, a, input, textarea, select, option, [role="button"], [data-dock-panel-no-resize="true"]'))!=null;function fXe({enterMotion:n="slide-up",allowResize:e=!0,allowFullscreen:t=!1,children:i,className:s,closeLabel:r,defaultHeight:o=Yxn,footer:a,fullscreenEnterLabel:l,fullscreenExitLabel:c,isResizeDisabled:d=!1,isOpen:u=!0,maxHeight:h=520,meta:f,minHeight:g=180,onClose:m,resizeLabel:p,storageKey:v,title:b,actions:w}){const C=_.useRef(null),S=_.useRef(null),[x,k]=_.useState(!1),{isFullscreen:L,isFullscreenExiting:I,toggleFullscreen:N}=Xxn(),[D,T]=_.useState(()=>{const O=Number(localStorage.getItem(v));return Number.isFinite(O)&&O>0?oZ(O,g,h):oZ(o,g,h)}),R=e&&!d&&!L;_.useEffect(()=>{localStorage.setItem(v,String(D))},[D,v]),_.useEffect(()=>()=>{document.body.style.cursor="",document.body.style.userSelect=""},[]),_.useEffect(()=>{if(!R||!x)return;const O=F=>{const B=S.current;if(B==null)return;const $=oZ(B.startHeight+B.startY-F.clientY,g,B.maxHeight);T($)},A=()=>{S.current=null,k(!1),document.body.style.cursor="",document.body.style.userSelect=""};return window.addEventListener("pointermove",O),window.addEventListener("pointerup",A),window.addEventListener("pointercancel",A),()=>{window.removeEventListener("pointermove",O),window.removeEventListener("pointerup",A),window.removeEventListener("pointercancel",A)}},[x,g,R]);const M=O=>{if(!R||Zxn(O.target))return;O.preventDefault();const A=C.current,F=A==null?void 0:A.parentElement,B=F==null?void 0:F.getBoundingClientRect().height;S.current={startY:O.clientY,startHeight:(A==null?void 0:A.getBoundingClientRect().height)??D,maxHeight:B!=null?Math.min(h,B-96):h},k(!0),document.body.style.cursor="row-resize",document.body.style.userSelect="none"},P=_.useMemo(()=>({"--dock-panel-height":`${D}px`,"--dock-panel-max-height":`${h}px`,"--dock-panel-min-height":`${g}px`}),[h,g,D]);return y.jsxs("div",{ref:C,className:`dock-panel ${u&&n==="slide-up"?"is-entering-slide-up":""} ${u?"is-open":"is-closing"} ${s??""} ${x?"is-resizing":""} ${R?"is-resizable":"is-static"} ${d||L?"is-resize-disabled":""} ${L?"is-fullscreen":""} ${I?"is-fullscreen-exiting":""}`,style:P,children:[R&&y.jsx("div",{className:"dock-panel__resize-strip",title:p,onPointerDown:M}),y.jsx(qxn,{actions:w,closeLabel:r,fullscreenEnterLabel:l,fullscreenExitLabel:c,isFullscreen:L,meta:f,title:b,onClose:m,onToggleFullscreen:t?N:void 0}),y.jsx("div",{className:"dock-panel__body",children:i}),a!=null&&y.jsx("div",{className:"dock-panel__footer",children:a})]})}const gXe=320,mXe="chatBottomDockHeight",pXe=620,_Xe=220;function Qxn({onActivate:n,onRename:e,panes:t}){const[i,s]=_.useState(null),[r,o]=_.useState(""),a=_.useRef(null),l=_.useRef(null);_.useEffect(()=>{i!=null&&window.requestAnimationFrame(()=>{var h,f;(h=a.current)==null||h.focus(),(f=a.current)==null||f.select()})},[i]),_.useEffect(()=>{i!=null&&t.every(h=>h.id!==i)&&(l.current=null,s(null),o(""))},[i,t]);const c=h=>{n(h.id),l.current=h.id,s(h.id),o(h.title)},d=()=>{l.current=null,s(null),o("")};return{cancelEditing:d,editingInputRef:a,editingTerminalId:i,editingTitle:r,finishEditing:()=>{const h=l.current;if(h!=null){const f=r.trim();f!==""&&e(h,f)}d()},setEditingTitle:o,startEditing:c}}function Jxn({activeTerminalId:n,infoById:e,panes:t,onActivate:i,onClose:s,onMove:r,onRename:o}){const{t:a}=vt(),[l,c]=_.useState(null),[d,u]=_.useState(null),{cancelEditing:h,editingInputRef:f,editingTerminalId:g,editingTitle:m,finishEditing:p,setEditingTitle:v,startEditing:b}=Qxn({onActivate:i,onRename:o,panes:t}),w=(x,k)=>{c(k),x.dataTransfer.effectAllowed="move",x.dataTransfer.setData("text/plain",k);const L=x.currentTarget.closest(".chat-terminal-view__manager-item");L instanceof HTMLElement&&x.dataTransfer.setDragImage(L,12,14)},C=(x,k)=>{if(x.preventDefault(),x.dataTransfer.dropEffect="move",l===k){u(null);return}const L=x.currentTarget.getBoundingClientRect(),I=x.clientY<L.top+L.height/2?"before":"after";u(N=>(N==null?void 0:N.terminalId)===k&&N.placement===I?N:{terminalId:k,placement:I})},S=(x,k)=>{x.preventDefault();const L=l??x.dataTransfer.getData("text/plain"),I=(d==null?void 0:d.terminalId)===k?d.placement:"before";c(null),u(null),L!==""&&L!==k&&r(L,k,I)};return y.jsx("aside",{className:"chat-terminal-view__manager","aria-label":a("chat.terminal.manageTerminals"),onDragLeave:x=>{(!(x.relatedTarget instanceof Node)||!x.currentTarget.contains(x.relatedTarget))&&u(null)},children:t.map(x=>{const k=e[x.id],L=x.id===g,I=(k==null?void 0:k.shellLabel)??a(`chat.terminal.shell.${x.shellKind}`),N=(k==null?void 0:k.isExited)===!0?a("chat.terminal.shellTooltipExited",{shell:I}):a("chat.terminal.shellTooltip",{shell:I});return y.jsxs("div",{className:`chat-terminal-view__manager-item ${x.id===n?"is-active":""} ${x.id===l?"is-dragging":""} ${L?"is-editing":""} ${(d==null?void 0:d.terminalId)===x.id?`is-drop-${d.placement}`:""}`,onClick:()=>i(x.id),onDragOver:D=>C(D,x.id),onDrop:D=>S(D,x.id),children:[y.jsx("button",{type:"button",className:"chat-terminal-view__manager-drag material-symbols-rounded",draggable:!0,title:a("chat.terminal.dragSession"),"aria-label":a("chat.terminal.dragSession"),onDragStart:D=>w(D,x.id),onDragEnd:()=>{c(null),u(null)},children:"drag_indicator"}),y.jsx(Qe,{title:L?null:N,placement:"top",children:y.jsx("span",{className:"chat-terminal-view__manager-title-wrap",children:L?y.jsxs(y.Fragment,{children:[y.jsx("span",{className:"chat-terminal-view__manager-edit-icon material-symbols-rounded",children:"edit"}),y.jsx("input",{ref:f,className:"chat-terminal-view__manager-title-input",value:m,"aria-label":a("chat.terminal.renameSession",{title:x.title}),onBlur:p,onChange:D=>v(D.target.value),onClick:D=>D.stopPropagation(),onDoubleClick:D=>D.stopPropagation(),onKeyDown:D=>{if(D.key==="Enter"){p();return}D.key==="Escape"&&h()}})]}):y.jsx("span",{className:"chat-terminal-view__manager-title-text",onDoubleClick:D=>{D.stopPropagation(),b(x)},children:x.title})})}),y.jsx(qe,{type:"text",className:"chat-terminal-view__manager-close","data-dock-panel-no-resize":"true",icon:y.jsx("span",{className:"material-symbols-rounded",children:"close"}),title:a("chat.terminal.closeNamedSession",{title:x.title}),"aria-label":a("chat.terminal.closeNamedSession",{title:x.title}),onClick:D=>{D.stopPropagation(),s(x.id)}})]},x.id)})})}/**
|
|
1516
1516
|
* Copyright (c) 2014-2024 The xterm.js authors. All rights reserved.
|
|
1517
1517
|
* @license MIT
|
|
1518
1518
|
*
|