@blade-hq/agent-react 2612.0.0-beta.3 → 2612.0.0-beta.31
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/README.md +22 -0
- package/dist/chat/AgentLoopBlock.d.ts +0 -2
- package/dist/chat/AssistantTurnBlock.d.ts +1 -9
- package/dist/chat/AttachmentPreviewDialog.d.ts +0 -1
- package/dist/chat/ChatLoadingIndicator.d.ts +7 -0
- package/dist/chat/ChatPanel.d.ts +1 -3
- package/dist/chat/ContextAttachmentPills.d.ts +4 -0
- package/dist/chat/CurrentPlanPanel.d.ts +0 -3
- package/dist/chat/FileDeliveryCards.d.ts +0 -4
- package/dist/chat/FinalArtifactCards.d.ts +0 -1
- package/dist/chat/LightComposer.d.ts +1 -1
- package/dist/chat/LiteMessageList.d.ts +1 -3
- package/dist/chat/MessageFileAttachmentList.d.ts +0 -5
- package/dist/chat/SessionReplayBar.d.ts +0 -1
- package/dist/chat/TextAttachmentPills.d.ts +0 -3
- package/dist/chat/TurnNavRail.d.ts +0 -3
- package/dist/chat/WorkflowRunBlock.d.ts +18 -4
- package/dist/chat/ai-elements/reasoning.d.ts +4 -4
- package/dist/chat/ai-elements/shimmer.d.ts +0 -4
- package/dist/chat/customization.d.ts +1 -5
- package/dist/chat/index.d.ts +1 -4
- package/dist/chat/lib/citations.d.ts +5 -22
- package/dist/chat/markdown/MarkdownContent.d.ts +3 -0
- package/dist/chat/message-list-blocks.d.ts +0 -1
- package/dist/chat/runtime/actions.d.ts +4 -3
- package/dist/chat/runtime/background-task-dismissals.d.ts +0 -1
- package/dist/chat/runtime/composer-channels.d.ts +4 -3
- package/dist/chat/runtime/input-cache-reset.d.ts +1 -6
- package/dist/chat/runtime/input-history-storage.d.ts +2 -0
- package/dist/chat/runtime/input-services.d.ts +0 -6
- package/dist/chat/runtime/session-source.d.ts +0 -5
- package/dist/chat/runtime/use-chat-actions.d.ts +0 -4
- package/dist/{chat-OCLOVB3H.css → chat-IHPRU35X.css} +5 -18
- package/dist/chat.css +5 -18
- package/dist/{chunk-5J54S5BK.js → chunk-M5NAFIU4.js} +1935 -1772
- package/dist/chunk-M5NAFIU4.js.map +1 -0
- package/dist/{chunk-WCMGQJLE.js → chunk-PHWYZP6F.js} +3 -8
- package/dist/chunk-PHWYZP6F.js.map +1 -0
- package/dist/{chunk-FQQJP2GJ.js → chunk-XTYNDVUV.js} +791 -826
- package/dist/chunk-XTYNDVUV.js.map +1 -0
- package/dist/components/ChatInput.d.ts +4 -16
- package/dist/components/LlmAdvancedSettings.d.ts +0 -1
- package/dist/components/PlanUpdateBlock.d.ts +0 -1
- package/dist/components/TopicAssetSubmitDialog.d.ts +14 -0
- package/dist/components/plugin-connector.d.ts +1 -0
- package/dist/embed/blade-chat-element.d.ts +0 -8
- package/dist/embed/entry.d.ts +7 -19
- package/dist/hooks/use-message-pin.d.ts +1 -1
- package/dist/host.d.ts +0 -4
- package/dist/index.d.ts +2 -0
- package/dist/index.js +8 -4
- package/dist/internal.d.ts +4 -2
- package/dist/internal.js +14 -51
- package/dist/internal.js.map +1 -1
- package/dist/lib/message-shortcuts.d.ts +5 -0
- package/dist/rich-input/ChatInput.d.ts +1 -1
- package/dist/rich-input/ConnectButton.d.ts +0 -2
- package/dist/rich-input/FileCompletionMenu.d.ts +7 -11
- package/dist/rich-input/SkillStatusBar.d.ts +1 -9
- package/dist/rich-input/extensions/plugin-mention.d.ts +15 -0
- package/dist/rich-input/extensions/skill-mention.d.ts +3 -21
- package/dist/rich-input/extensions/topic-asset-mention.d.ts +13 -0
- package/dist/rich-input/index.d.ts +6 -3
- package/dist/rich-input/lib/composer-content.d.ts +15 -21
- package/dist/rich-input/lib/input-history-document.d.ts +3 -0
- package/dist/rich-input/lib/plugin-suggestions.d.ts +7 -0
- package/dist/rich-input/lib/reference-candidates.d.ts +26 -0
- package/dist/rich-input/lib/skill-suggestions.d.ts +1 -1
- package/dist/rich-input/lib/topic-asset-suggestions.d.ts +6 -0
- package/dist/rich-input/lib/user-home.d.ts +0 -17
- package/dist/rich-input/services.d.ts +2 -3
- package/dist/rich-input/use-input-history.d.ts +8 -8
- package/dist/rich-input/use-reference-candidates.d.ts +8 -0
- package/dist/rich-input/voice/VoiceWaveform.d.ts +0 -3
- package/dist/rich-input.js +4949 -4920
- package/dist/rich-input.js.map +1 -1
- package/dist/style.css +16 -55
- package/dist/style.full.css +23 -77
- package/node_modules/@floating-ui/core/LICENSE +20 -0
- package/node_modules/@floating-ui/core/README.md +4 -0
- package/node_modules/@floating-ui/core/dist/floating-ui.core.browser.min.mjs +1 -0
- package/node_modules/@floating-ui/core/dist/floating-ui.core.browser.mjs +1184 -0
- package/node_modules/@floating-ui/core/dist/floating-ui.core.d.mts +531 -0
- package/node_modules/@floating-ui/core/dist/floating-ui.core.d.ts +531 -0
- package/node_modules/@floating-ui/core/dist/floating-ui.core.esm.js +1058 -0
- package/node_modules/@floating-ui/core/dist/floating-ui.core.mjs +1058 -0
- package/node_modules/@floating-ui/core/dist/floating-ui.core.umd.js +1203 -0
- package/node_modules/@floating-ui/core/dist/floating-ui.core.umd.min.js +1 -0
- package/node_modules/@floating-ui/core/package.json +63 -0
- package/node_modules/@floating-ui/dom/LICENSE +20 -0
- package/node_modules/@floating-ui/dom/README.md +4 -0
- package/node_modules/@floating-ui/dom/dist/floating-ui.dom.browser.min.mjs +1 -0
- package/node_modules/@floating-ui/dom/dist/floating-ui.dom.browser.mjs +956 -0
- package/node_modules/@floating-ui/dom/dist/floating-ui.dom.d.mts +358 -0
- package/node_modules/@floating-ui/dom/dist/floating-ui.dom.d.ts +358 -0
- package/node_modules/@floating-ui/dom/dist/floating-ui.dom.esm.js +781 -0
- package/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs +781 -0
- package/node_modules/@floating-ui/dom/dist/floating-ui.dom.umd.js +975 -0
- package/node_modules/@floating-ui/dom/dist/floating-ui.dom.umd.min.js +1 -0
- package/node_modules/@floating-ui/dom/package.json +71 -0
- package/node_modules/@floating-ui/utils/LICENSE +20 -0
- package/node_modules/@floating-ui/utils/README.md +4 -0
- package/node_modules/@floating-ui/utils/dist/floating-ui.utils.d.mts +103 -0
- package/node_modules/@floating-ui/utils/dist/floating-ui.utils.d.ts +103 -0
- package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.d.mts +47 -0
- package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.d.ts +47 -0
- package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.esm.js +165 -0
- package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs +165 -0
- package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.umd.js +192 -0
- package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.umd.min.js +1 -0
- package/node_modules/@floating-ui/utils/dist/floating-ui.utils.esm.js +136 -0
- package/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs +136 -0
- package/node_modules/@floating-ui/utils/dist/floating-ui.utils.umd.js +167 -0
- package/node_modules/@floating-ui/utils/dist/floating-ui.utils.umd.min.js +1 -0
- package/node_modules/@floating-ui/utils/dom/floating-ui.utils.dom.d.ts +47 -0
- package/node_modules/@floating-ui/utils/dom/floating-ui.utils.dom.esm.js +165 -0
- package/node_modules/@floating-ui/utils/dom/floating-ui.utils.dom.umd.js +192 -0
- package/node_modules/@floating-ui/utils/dom/package.json +6 -0
- package/node_modules/@floating-ui/utils/package.json +70 -0
- package/node_modules/@radix-ui/primitive/LICENSE +21 -0
- package/node_modules/@radix-ui/primitive/README.md +3 -0
- package/node_modules/@radix-ui/primitive/dist/index.d.mts +20 -0
- package/node_modules/@radix-ui/primitive/dist/index.d.ts +20 -0
- package/node_modules/@radix-ui/primitive/dist/index.js +76 -0
- package/node_modules/@radix-ui/primitive/dist/index.js.map +7 -0
- package/node_modules/@radix-ui/primitive/dist/index.mjs +53 -0
- package/node_modules/@radix-ui/primitive/dist/index.mjs.map +7 -0
- package/node_modules/@radix-ui/primitive/package.json +47 -0
- package/node_modules/@radix-ui/react-collapsible/LICENSE +21 -0
- package/node_modules/@radix-ui/react-collapsible/README.md +3 -0
- package/node_modules/@radix-ui/react-collapsible/dist/index.d.mts +33 -0
- package/node_modules/@radix-ui/react-collapsible/dist/index.d.ts +33 -0
- package/node_modules/@radix-ui/react-collapsible/dist/index.js +187 -0
- package/node_modules/@radix-ui/react-collapsible/dist/index.js.map +7 -0
- package/node_modules/@radix-ui/react-collapsible/dist/index.mjs +155 -0
- package/node_modules/@radix-ui/react-collapsible/dist/index.mjs.map +7 -0
- package/node_modules/@radix-ui/react-collapsible/package.json +75 -0
- package/node_modules/@radix-ui/react-compose-refs/README.md +13 -0
- package/node_modules/@radix-ui/react-compose-refs/dist/index.d.mts +15 -0
- package/node_modules/@radix-ui/react-compose-refs/dist/index.d.ts +15 -0
- package/node_modules/@radix-ui/react-compose-refs/dist/index.js +74 -0
- package/node_modules/@radix-ui/react-compose-refs/dist/index.js.map +7 -0
- package/node_modules/@radix-ui/react-compose-refs/dist/index.mjs +41 -0
- package/node_modules/@radix-ui/react-compose-refs/dist/index.mjs.map +7 -0
- package/node_modules/@radix-ui/react-compose-refs/package.json +75 -0
- package/node_modules/@radix-ui/react-context/README.md +13 -0
- package/node_modules/@radix-ui/react-context/dist/index.d.mts +21 -0
- package/node_modules/@radix-ui/react-context/dist/index.d.ts +21 -0
- package/node_modules/@radix-ui/react-context/dist/index.js +114 -0
- package/node_modules/@radix-ui/react-context/dist/index.js.map +7 -0
- package/node_modules/@radix-ui/react-context/dist/index.mjs +81 -0
- package/node_modules/@radix-ui/react-context/dist/index.mjs.map +7 -0
- package/node_modules/@radix-ui/react-context/package.json +75 -0
- package/node_modules/@radix-ui/react-id/README.md +13 -0
- package/node_modules/@radix-ui/react-id/dist/index.d.mts +3 -0
- package/node_modules/@radix-ui/react-id/dist/index.d.ts +3 -0
- package/node_modules/@radix-ui/react-id/dist/index.js +49 -0
- package/node_modules/@radix-ui/react-id/dist/index.js.map +7 -0
- package/node_modules/@radix-ui/react-id/dist/index.mjs +16 -0
- package/node_modules/@radix-ui/react-id/dist/index.mjs.map +7 -0
- package/node_modules/@radix-ui/react-id/package.json +78 -0
- package/node_modules/@radix-ui/react-presence/LICENSE +21 -0
- package/node_modules/@radix-ui/react-presence/README.md +3 -0
- package/node_modules/@radix-ui/react-presence/dist/index.d.mts +12 -0
- package/node_modules/@radix-ui/react-presence/dist/index.d.ts +12 -0
- package/node_modules/@radix-ui/react-presence/dist/index.js +171 -0
- package/node_modules/@radix-ui/react-presence/dist/index.js.map +7 -0
- package/node_modules/@radix-ui/react-presence/dist/index.mjs +139 -0
- package/node_modules/@radix-ui/react-presence/dist/index.mjs.map +7 -0
- package/node_modules/@radix-ui/react-presence/package.json +69 -0
- package/node_modules/@radix-ui/react-primitive/LICENSE +21 -0
- package/node_modules/@radix-ui/react-primitive/README.md +3 -0
- package/node_modules/@radix-ui/react-primitive/dist/index.d.mts +52 -0
- package/node_modules/@radix-ui/react-primitive/dist/index.d.ts +52 -0
- package/node_modules/@radix-ui/react-primitive/dist/index.js +80 -0
- package/node_modules/@radix-ui/react-primitive/dist/index.js.map +7 -0
- package/node_modules/@radix-ui/react-primitive/dist/index.mjs +47 -0
- package/node_modules/@radix-ui/react-primitive/dist/index.mjs.map +7 -0
- package/node_modules/@radix-ui/react-primitive/package.json +68 -0
- package/node_modules/@radix-ui/react-slot/LICENSE +21 -0
- package/node_modules/@radix-ui/react-slot/README.md +3 -0
- package/node_modules/@radix-ui/react-slot/dist/index.d.mts +17 -0
- package/node_modules/@radix-ui/react-slot/dist/index.d.ts +17 -0
- package/node_modules/@radix-ui/react-slot/dist/index.js +138 -0
- package/node_modules/@radix-ui/react-slot/dist/index.js.map +7 -0
- package/node_modules/@radix-ui/react-slot/dist/index.mjs +105 -0
- package/node_modules/@radix-ui/react-slot/dist/index.mjs.map +7 -0
- package/node_modules/@radix-ui/react-slot/package.json +63 -0
- package/node_modules/@radix-ui/react-use-controllable-state/LICENSE +21 -0
- package/node_modules/@radix-ui/react-use-controllable-state/README.md +3 -0
- package/node_modules/@radix-ui/react-use-controllable-state/dist/index.d.mts +40 -0
- package/node_modules/@radix-ui/react-use-controllable-state/dist/index.d.ts +40 -0
- package/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +169 -0
- package/node_modules/@radix-ui/react-use-controllable-state/dist/index.js.map +7 -0
- package/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs +136 -0
- package/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs.map +7 -0
- package/node_modules/@radix-ui/react-use-controllable-state/package.json +64 -0
- package/node_modules/@radix-ui/react-use-effect-event/LICENSE +21 -0
- package/node_modules/@radix-ui/react-use-effect-event/README.md +5 -0
- package/node_modules/@radix-ui/react-use-effect-event/dist/index.d.mts +8 -0
- package/node_modules/@radix-ui/react-use-effect-event/dist/index.d.ts +8 -0
- package/node_modules/@radix-ui/react-use-effect-event/dist/index.js +60 -0
- package/node_modules/@radix-ui/react-use-effect-event/dist/index.js.map +7 -0
- package/node_modules/@radix-ui/react-use-effect-event/dist/index.mjs +27 -0
- package/node_modules/@radix-ui/react-use-effect-event/dist/index.mjs.map +7 -0
- package/node_modules/@radix-ui/react-use-effect-event/package.json +65 -0
- package/node_modules/@radix-ui/react-use-effect-event/src/index.ts +1 -0
- package/node_modules/@radix-ui/react-use-effect-event/src/use-effect-event.tsx +36 -0
- package/node_modules/@radix-ui/react-use-layout-effect/README.md +13 -0
- package/node_modules/@radix-ui/react-use-layout-effect/dist/index.d.mts +12 -0
- package/node_modules/@radix-ui/react-use-layout-effect/dist/index.d.ts +12 -0
- package/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +41 -0
- package/node_modules/@radix-ui/react-use-layout-effect/dist/index.js.map +7 -0
- package/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs +8 -0
- package/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs.map +7 -0
- package/node_modules/@radix-ui/react-use-layout-effect/package.json +75 -0
- package/node_modules/@remirror/core-constants/LICENSE +21 -0
- package/node_modules/@remirror/core-constants/dist/_tsup-dts-rollup.d.cts +612 -0
- package/node_modules/@remirror/core-constants/dist/_tsup-dts-rollup.d.ts +612 -0
- package/node_modules/@remirror/core-constants/dist/remirror-core-constants.cjs +314 -0
- package/node_modules/@remirror/core-constants/dist/remirror-core-constants.d.cts +20 -0
- package/node_modules/@remirror/core-constants/dist/remirror-core-constants.d.ts +20 -0
- package/node_modules/@remirror/core-constants/dist/remirror-core-constants.js +269 -0
- package/node_modules/@remirror/core-constants/dist-types/core-constants.d.ts +431 -0
- package/node_modules/@remirror/core-constants/dist-types/error-constants.d.ts +119 -0
- package/node_modules/@remirror/core-constants/dist-types/index.d.ts +2 -0
- package/node_modules/@remirror/core-constants/dist-types/tsconfig.tsbuildinfo +1 -0
- package/node_modules/@remirror/core-constants/package.json +45 -0
- package/node_modules/@remirror/core-constants/readme.md +17 -0
- package/node_modules/@tiptap/core/LICENSE.md +21 -0
- package/node_modules/@tiptap/core/README.md +18 -0
- package/node_modules/@tiptap/core/dist/index.cjs +7126 -0
- package/node_modules/@tiptap/core/dist/index.cjs.map +1 -0
- package/node_modules/@tiptap/core/dist/index.d.cts +4954 -0
- package/node_modules/@tiptap/core/dist/index.d.ts +4954 -0
- package/node_modules/@tiptap/core/dist/index.js +6992 -0
- package/node_modules/@tiptap/core/dist/index.js.map +1 -0
- package/node_modules/@tiptap/core/dist/jsx-runtime/jsx-runtime.cjs +56 -0
- package/node_modules/@tiptap/core/dist/jsx-runtime/jsx-runtime.cjs.map +1 -0
- package/node_modules/@tiptap/core/dist/jsx-runtime/jsx-runtime.d.cts +23 -0
- package/node_modules/@tiptap/core/dist/jsx-runtime/jsx-runtime.d.ts +23 -0
- package/node_modules/@tiptap/core/dist/jsx-runtime/jsx-runtime.js +26 -0
- package/node_modules/@tiptap/core/dist/jsx-runtime/jsx-runtime.js.map +1 -0
- package/node_modules/@tiptap/core/jsx-dev-runtime/index.cjs +1 -0
- package/node_modules/@tiptap/core/jsx-dev-runtime/index.d.cts +1 -0
- package/node_modules/@tiptap/core/jsx-dev-runtime/index.d.ts +1 -0
- package/node_modules/@tiptap/core/jsx-dev-runtime/index.js +1 -0
- package/node_modules/@tiptap/core/jsx-runtime/index.cjs +1 -0
- package/node_modules/@tiptap/core/jsx-runtime/index.d.cts +1 -0
- package/node_modules/@tiptap/core/jsx-runtime/index.d.ts +1 -0
- package/node_modules/@tiptap/core/jsx-runtime/index.js +1 -0
- package/node_modules/@tiptap/core/package.json +70 -0
- package/node_modules/@tiptap/core/src/CommandManager.ts +138 -0
- package/node_modules/@tiptap/core/src/Editor.ts +806 -0
- package/node_modules/@tiptap/core/src/EventEmitter.ts +58 -0
- package/node_modules/@tiptap/core/src/Extendable.ts +602 -0
- package/node_modules/@tiptap/core/src/Extension.ts +55 -0
- package/node_modules/@tiptap/core/src/ExtensionManager.ts +440 -0
- package/node_modules/@tiptap/core/src/InputRule.ts +290 -0
- package/node_modules/@tiptap/core/src/Mark.ts +211 -0
- package/node_modules/@tiptap/core/src/MarkView.ts +122 -0
- package/node_modules/@tiptap/core/src/Node.ts +377 -0
- package/node_modules/@tiptap/core/src/NodePos.ts +257 -0
- package/node_modules/@tiptap/core/src/NodeView.ts +339 -0
- package/node_modules/@tiptap/core/src/PasteRule.ts +373 -0
- package/node_modules/@tiptap/core/src/Tracker.ts +36 -0
- package/node_modules/@tiptap/core/src/__tests__/transformPastedHTML.test.ts +575 -0
- package/node_modules/@tiptap/core/src/commands/blur.ts +29 -0
- package/node_modules/@tiptap/core/src/commands/clearContent.ts +25 -0
- package/node_modules/@tiptap/core/src/commands/clearNodes.ts +57 -0
- package/node_modules/@tiptap/core/src/commands/command.ts +22 -0
- package/node_modules/@tiptap/core/src/commands/createParagraphNear.ts +21 -0
- package/node_modules/@tiptap/core/src/commands/cut.ts +36 -0
- package/node_modules/@tiptap/core/src/commands/deleteCurrentNode.ts +44 -0
- package/node_modules/@tiptap/core/src/commands/deleteNode.ts +41 -0
- package/node_modules/@tiptap/core/src/commands/deleteRange.ts +26 -0
- package/node_modules/@tiptap/core/src/commands/deleteSelection.ts +21 -0
- package/node_modules/@tiptap/core/src/commands/enter.ts +19 -0
- package/node_modules/@tiptap/core/src/commands/exitCode.ts +21 -0
- package/node_modules/@tiptap/core/src/commands/extendMarkRange.ts +51 -0
- package/node_modules/@tiptap/core/src/commands/first.ts +26 -0
- package/node_modules/@tiptap/core/src/commands/focus.ts +108 -0
- package/node_modules/@tiptap/core/src/commands/forEach.ts +24 -0
- package/node_modules/@tiptap/core/src/commands/index.ts +57 -0
- package/node_modules/@tiptap/core/src/commands/insertContent.ts +46 -0
- package/node_modules/@tiptap/core/src/commands/insertContentAt.ts +212 -0
- package/node_modules/@tiptap/core/src/commands/join.ts +69 -0
- package/node_modules/@tiptap/core/src/commands/joinItemBackward.ts +37 -0
- package/node_modules/@tiptap/core/src/commands/joinItemForward.ts +37 -0
- package/node_modules/@tiptap/core/src/commands/joinTextblockBackward.ts +20 -0
- package/node_modules/@tiptap/core/src/commands/joinTextblockForward.ts +20 -0
- package/node_modules/@tiptap/core/src/commands/keyboardShortcut.ts +100 -0
- package/node_modules/@tiptap/core/src/commands/lift.ts +34 -0
- package/node_modules/@tiptap/core/src/commands/liftEmptyBlock.ts +21 -0
- package/node_modules/@tiptap/core/src/commands/liftListItem.ts +26 -0
- package/node_modules/@tiptap/core/src/commands/newlineInCode.ts +21 -0
- package/node_modules/@tiptap/core/src/commands/resetAttributes.ts +73 -0
- package/node_modules/@tiptap/core/src/commands/scrollIntoView.ts +23 -0
- package/node_modules/@tiptap/core/src/commands/selectAll.ts +27 -0
- package/node_modules/@tiptap/core/src/commands/selectNodeBackward.ts +21 -0
- package/node_modules/@tiptap/core/src/commands/selectNodeForward.ts +21 -0
- package/node_modules/@tiptap/core/src/commands/selectParentNode.ts +21 -0
- package/node_modules/@tiptap/core/src/commands/selectTextblockEnd.ts +23 -0
- package/node_modules/@tiptap/core/src/commands/selectTextblockStart.ts +23 -0
- package/node_modules/@tiptap/core/src/commands/setContent.ts +76 -0
- package/node_modules/@tiptap/core/src/commands/setMark.ts +118 -0
- package/node_modules/@tiptap/core/src/commands/setMeta.ts +25 -0
- package/node_modules/@tiptap/core/src/commands/setNode.ts +57 -0
- package/node_modules/@tiptap/core/src/commands/setNodeSelection.ts +31 -0
- package/node_modules/@tiptap/core/src/commands/setTextDirection.ts +51 -0
- package/node_modules/@tiptap/core/src/commands/setTextSelection.ts +35 -0
- package/node_modules/@tiptap/core/src/commands/sinkListItem.ts +26 -0
- package/node_modules/@tiptap/core/src/commands/splitBlock.ts +115 -0
- package/node_modules/@tiptap/core/src/commands/splitListItem.ts +149 -0
- package/node_modules/@tiptap/core/src/commands/toggleList.ts +159 -0
- package/node_modules/@tiptap/core/src/commands/toggleMark.ts +51 -0
- package/node_modules/@tiptap/core/src/commands/toggleNode.ts +47 -0
- package/node_modules/@tiptap/core/src/commands/toggleWrap.ts +32 -0
- package/node_modules/@tiptap/core/src/commands/undoInputRule.ts +49 -0
- package/node_modules/@tiptap/core/src/commands/unsetAllMarks.ts +32 -0
- package/node_modules/@tiptap/core/src/commands/unsetMark.ts +65 -0
- package/node_modules/@tiptap/core/src/commands/unsetTextDirection.ts +51 -0
- package/node_modules/@tiptap/core/src/commands/updateAttributes.ts +150 -0
- package/node_modules/@tiptap/core/src/commands/wrapIn.ts +27 -0
- package/node_modules/@tiptap/core/src/commands/wrapInList.ts +27 -0
- package/node_modules/@tiptap/core/src/extensions/clipboardTextSerializer.ts +44 -0
- package/node_modules/@tiptap/core/src/extensions/commands.ts +14 -0
- package/node_modules/@tiptap/core/src/extensions/delete.ts +89 -0
- package/node_modules/@tiptap/core/src/extensions/drop.ts +26 -0
- package/node_modules/@tiptap/core/src/extensions/editable.ts +18 -0
- package/node_modules/@tiptap/core/src/extensions/focusEvents.ts +41 -0
- package/node_modules/@tiptap/core/src/extensions/index.ts +10 -0
- package/node_modules/@tiptap/core/src/extensions/keymap.ts +160 -0
- package/node_modules/@tiptap/core/src/extensions/paste.ts +25 -0
- package/node_modules/@tiptap/core/src/extensions/tabindex.ts +18 -0
- package/node_modules/@tiptap/core/src/extensions/textDirection.ts +86 -0
- package/node_modules/@tiptap/core/src/helpers/MappablePosition.ts +66 -0
- package/node_modules/@tiptap/core/src/helpers/combineTransactionSteps.ts +21 -0
- package/node_modules/@tiptap/core/src/helpers/createChainableState.ts +39 -0
- package/node_modules/@tiptap/core/src/helpers/createDocument.ts +24 -0
- package/node_modules/@tiptap/core/src/helpers/createNodeFromContent.ts +119 -0
- package/node_modules/@tiptap/core/src/helpers/defaultBlockAt.ts +18 -0
- package/node_modules/@tiptap/core/src/helpers/findChildren.ts +24 -0
- package/node_modules/@tiptap/core/src/helpers/findChildrenInRange.ts +36 -0
- package/node_modules/@tiptap/core/src/helpers/findParentNode.ts +18 -0
- package/node_modules/@tiptap/core/src/helpers/findParentNodeClosestToPos.ts +37 -0
- package/node_modules/@tiptap/core/src/helpers/flattenExtensions.ts +30 -0
- package/node_modules/@tiptap/core/src/helpers/generateHTML.ts +18 -0
- package/node_modules/@tiptap/core/src/helpers/generateJSON.ts +18 -0
- package/node_modules/@tiptap/core/src/helpers/generateText.ts +34 -0
- package/node_modules/@tiptap/core/src/helpers/getAttributes.ts +29 -0
- package/node_modules/@tiptap/core/src/helpers/getAttributesFromExtensions.ts +122 -0
- package/node_modules/@tiptap/core/src/helpers/getChangedRanges.ts +85 -0
- package/node_modules/@tiptap/core/src/helpers/getDebugJSON.ts +54 -0
- package/node_modules/@tiptap/core/src/helpers/getExtensionField.ts +32 -0
- package/node_modules/@tiptap/core/src/helpers/getHTMLFromFragment.ts +13 -0
- package/node_modules/@tiptap/core/src/helpers/getMarkAttributes.ts +30 -0
- package/node_modules/@tiptap/core/src/helpers/getMarkRange.ts +90 -0
- package/node_modules/@tiptap/core/src/helpers/getMarkType.ts +13 -0
- package/node_modules/@tiptap/core/src/helpers/getMarksBetween.ts +44 -0
- package/node_modules/@tiptap/core/src/helpers/getNodeAtPosition.ts +29 -0
- package/node_modules/@tiptap/core/src/helpers/getNodeAttributes.ts +22 -0
- package/node_modules/@tiptap/core/src/helpers/getNodeType.ts +13 -0
- package/node_modules/@tiptap/core/src/helpers/getRenderedAttributes.ts +23 -0
- package/node_modules/@tiptap/core/src/helpers/getSchema.ts +12 -0
- package/node_modules/@tiptap/core/src/helpers/getSchemaByResolvedExtensions.ts +183 -0
- package/node_modules/@tiptap/core/src/helpers/getSchemaTypeByName.ts +11 -0
- package/node_modules/@tiptap/core/src/helpers/getSchemaTypeNameByName.ts +19 -0
- package/node_modules/@tiptap/core/src/helpers/getSplittedAttributes.ts +28 -0
- package/node_modules/@tiptap/core/src/helpers/getText.ts +28 -0
- package/node_modules/@tiptap/core/src/helpers/getTextBetween.ts +52 -0
- package/node_modules/@tiptap/core/src/helpers/getTextContentFromNodes.ts +29 -0
- package/node_modules/@tiptap/core/src/helpers/getTextSerializersFromSchema.ts +16 -0
- package/node_modules/@tiptap/core/src/helpers/index.ts +55 -0
- package/node_modules/@tiptap/core/src/helpers/injectExtensionAttributesToParseRule.ts +47 -0
- package/node_modules/@tiptap/core/src/helpers/isActive.ts +23 -0
- package/node_modules/@tiptap/core/src/helpers/isAtEndOfNode.ts +29 -0
- package/node_modules/@tiptap/core/src/helpers/isAtStartOfNode.ts +11 -0
- package/node_modules/@tiptap/core/src/helpers/isExtensionRulesEnabled.ts +13 -0
- package/node_modules/@tiptap/core/src/helpers/isList.ts +27 -0
- package/node_modules/@tiptap/core/src/helpers/isMarkActive.ts +94 -0
- package/node_modules/@tiptap/core/src/helpers/isNodeActive.ts +51 -0
- package/node_modules/@tiptap/core/src/helpers/isNodeEmpty.ts +62 -0
- package/node_modules/@tiptap/core/src/helpers/isNodeSelection.ts +5 -0
- package/node_modules/@tiptap/core/src/helpers/isTextSelection.ts +5 -0
- package/node_modules/@tiptap/core/src/helpers/posToDOMRect.ts +35 -0
- package/node_modules/@tiptap/core/src/helpers/resolveExtensions.ts +25 -0
- package/node_modules/@tiptap/core/src/helpers/resolveFocusPosition.ts +31 -0
- package/node_modules/@tiptap/core/src/helpers/rewriteUnknownContent.ts +149 -0
- package/node_modules/@tiptap/core/src/helpers/selectionToInsertionEnd.ts +29 -0
- package/node_modules/@tiptap/core/src/helpers/sortExtensions.ts +26 -0
- package/node_modules/@tiptap/core/src/helpers/splitExtensions.ts +16 -0
- package/node_modules/@tiptap/core/src/index.ts +28 -0
- package/node_modules/@tiptap/core/src/inputRules/index.ts +5 -0
- package/node_modules/@tiptap/core/src/inputRules/markInputRule.ts +68 -0
- package/node_modules/@tiptap/core/src/inputRules/nodeInputRule.ts +73 -0
- package/node_modules/@tiptap/core/src/inputRules/textInputRule.ts +35 -0
- package/node_modules/@tiptap/core/src/inputRules/textblockTypeInputRule.ts +35 -0
- package/node_modules/@tiptap/core/src/inputRules/wrappingInputRule.ts +82 -0
- package/node_modules/@tiptap/core/src/jsx-runtime.ts +65 -0
- package/node_modules/@tiptap/core/src/lib/ResizableNodeView.ts +1060 -0
- package/node_modules/@tiptap/core/src/lib/index.ts +1 -0
- package/node_modules/@tiptap/core/src/pasteRules/index.ts +3 -0
- package/node_modules/@tiptap/core/src/pasteRules/markPasteRule.ts +71 -0
- package/node_modules/@tiptap/core/src/pasteRules/nodePasteRule.ts +44 -0
- package/node_modules/@tiptap/core/src/pasteRules/textPasteRule.ts +34 -0
- package/node_modules/@tiptap/core/src/style.ts +71 -0
- package/node_modules/@tiptap/core/src/types.ts +1058 -0
- package/node_modules/@tiptap/core/src/utilities/callOrReturn.ts +21 -0
- package/node_modules/@tiptap/core/src/utilities/canInsertNode.ts +30 -0
- package/node_modules/@tiptap/core/src/utilities/createStyleTag.ts +21 -0
- package/node_modules/@tiptap/core/src/utilities/deleteProps.ts +16 -0
- package/node_modules/@tiptap/core/src/utilities/elementFromString.ts +27 -0
- package/node_modules/@tiptap/core/src/utilities/escapeForRegEx.ts +4 -0
- package/node_modules/@tiptap/core/src/utilities/findDuplicates.ts +8 -0
- package/node_modules/@tiptap/core/src/utilities/fromString.ts +19 -0
- package/node_modules/@tiptap/core/src/utilities/index.ts +26 -0
- package/node_modules/@tiptap/core/src/utilities/isAndroid.ts +3 -0
- package/node_modules/@tiptap/core/src/utilities/isEmptyObject.ts +3 -0
- package/node_modules/@tiptap/core/src/utilities/isFirefox.ts +11 -0
- package/node_modules/@tiptap/core/src/utilities/isFunction.ts +4 -0
- package/node_modules/@tiptap/core/src/utilities/isMacOS.ts +3 -0
- package/node_modules/@tiptap/core/src/utilities/isNumber.ts +3 -0
- package/node_modules/@tiptap/core/src/utilities/isPlainObject.ts +13 -0
- package/node_modules/@tiptap/core/src/utilities/isRegExp.ts +3 -0
- package/node_modules/@tiptap/core/src/utilities/isSafari.ts +11 -0
- package/node_modules/@tiptap/core/src/utilities/isString.ts +3 -0
- package/node_modules/@tiptap/core/src/utilities/isiOS.ts +7 -0
- package/node_modules/@tiptap/core/src/utilities/markdown/attributeUtils.ts +130 -0
- package/node_modules/@tiptap/core/src/utilities/markdown/createAtomBlockMarkdownSpec.ts +141 -0
- package/node_modules/@tiptap/core/src/utilities/markdown/createBlockMarkdownSpec.ts +225 -0
- package/node_modules/@tiptap/core/src/utilities/markdown/createInlineMarkdownSpec.ts +282 -0
- package/node_modules/@tiptap/core/src/utilities/markdown/index.ts +13 -0
- package/node_modules/@tiptap/core/src/utilities/markdown/parseIndentedBlocks.ts +194 -0
- package/node_modules/@tiptap/core/src/utilities/markdown/renderNestedMarkdownContent.ts +96 -0
- package/node_modules/@tiptap/core/src/utilities/mergeAttributes.ts +109 -0
- package/node_modules/@tiptap/core/src/utilities/mergeDeep.ts +17 -0
- package/node_modules/@tiptap/core/src/utilities/minMax.ts +3 -0
- package/node_modules/@tiptap/core/src/utilities/objectIncludes.ts +30 -0
- package/node_modules/@tiptap/core/src/utilities/removeDuplicates.ts +13 -0
- package/node_modules/@tiptap/extension-bubble-menu/LICENSE.md +21 -0
- package/node_modules/@tiptap/extension-bubble-menu/README.md +18 -0
- package/node_modules/@tiptap/extension-bubble-menu/dist/index.cjs +462 -0
- package/node_modules/@tiptap/extension-bubble-menu/dist/index.cjs.map +1 -0
- package/node_modules/@tiptap/extension-bubble-menu/dist/index.d.cts +169 -0
- package/node_modules/@tiptap/extension-bubble-menu/dist/index.d.ts +169 -0
- package/node_modules/@tiptap/extension-bubble-menu/dist/index.js +443 -0
- package/node_modules/@tiptap/extension-bubble-menu/dist/index.js.map +1 -0
- package/node_modules/@tiptap/extension-bubble-menu/package.json +54 -0
- package/node_modules/@tiptap/extension-bubble-menu/src/bubble-menu-plugin.ts +650 -0
- package/node_modules/@tiptap/extension-bubble-menu/src/bubble-menu.ts +50 -0
- package/node_modules/@tiptap/extension-bubble-menu/src/index.ts +6 -0
- package/node_modules/@tiptap/extension-floating-menu/LICENSE.md +21 -0
- package/node_modules/@tiptap/extension-floating-menu/README.md +18 -0
- package/node_modules/@tiptap/extension-floating-menu/dist/index.cjs +380 -0
- package/node_modules/@tiptap/extension-floating-menu/dist/index.cjs.map +1 -0
- package/node_modules/@tiptap/extension-floating-menu/dist/index.d.cts +179 -0
- package/node_modules/@tiptap/extension-floating-menu/dist/index.d.ts +179 -0
- package/node_modules/@tiptap/extension-floating-menu/dist/index.js +361 -0
- package/node_modules/@tiptap/extension-floating-menu/dist/index.js.map +1 -0
- package/node_modules/@tiptap/extension-floating-menu/package.json +53 -0
- package/node_modules/@tiptap/extension-floating-menu/src/floating-menu-plugin.ts +525 -0
- package/node_modules/@tiptap/extension-floating-menu/src/floating-menu.ts +77 -0
- package/node_modules/@tiptap/extension-floating-menu/src/index.ts +6 -0
- package/node_modules/@tiptap/extension-mention/LICENSE.md +21 -0
- package/node_modules/@tiptap/extension-mention/README.md +18 -0
- package/node_modules/@tiptap/extension-mention/dist/index.cjs +277 -0
- package/node_modules/@tiptap/extension-mention/dist/index.cjs.map +1 -0
- package/node_modules/@tiptap/extension-mention/dist/index.d.cts +93 -0
- package/node_modules/@tiptap/extension-mention/dist/index.d.ts +93 -0
- package/node_modules/@tiptap/extension-mention/dist/index.js +250 -0
- package/node_modules/@tiptap/extension-mention/dist/index.js.map +1 -0
- package/node_modules/@tiptap/extension-mention/package.json +52 -0
- package/node_modules/@tiptap/extension-mention/src/index.ts +5 -0
- package/node_modules/@tiptap/extension-mention/src/mention.ts +357 -0
- package/node_modules/@tiptap/extension-mention/src/utils/get-default-suggestion-attributes.ts +89 -0
- package/node_modules/@tiptap/pm/LICENSE.md +21 -0
- package/node_modules/@tiptap/pm/README.md +22 -0
- package/node_modules/@tiptap/pm/changeset/index.ts +1 -0
- package/node_modules/@tiptap/pm/collab/index.ts +1 -0
- package/node_modules/@tiptap/pm/commands/index.ts +1 -0
- package/node_modules/@tiptap/pm/dist/changeset/index.cjs +2 -0
- package/node_modules/@tiptap/pm/dist/changeset/index.d.cts +18 -0
- package/node_modules/@tiptap/pm/dist/changeset/index.d.ts +18 -0
- package/node_modules/@tiptap/pm/dist/changeset/index.js +2 -0
- package/node_modules/@tiptap/pm/dist/collab/index.cjs +2 -0
- package/node_modules/@tiptap/pm/dist/collab/index.d.cts +1 -0
- package/node_modules/@tiptap/pm/dist/collab/index.d.ts +1 -0
- package/node_modules/@tiptap/pm/dist/collab/index.js +2 -0
- package/node_modules/@tiptap/pm/dist/commands/index.cjs +2 -0
- package/node_modules/@tiptap/pm/dist/commands/index.d.cts +1 -0
- package/node_modules/@tiptap/pm/dist/commands/index.d.ts +1 -0
- package/node_modules/@tiptap/pm/dist/commands/index.js +2 -0
- package/node_modules/@tiptap/pm/dist/dropcursor/index.cjs +2 -0
- package/node_modules/@tiptap/pm/dist/dropcursor/index.d.cts +1 -0
- package/node_modules/@tiptap/pm/dist/dropcursor/index.d.ts +1 -0
- package/node_modules/@tiptap/pm/dist/dropcursor/index.js +2 -0
- package/node_modules/@tiptap/pm/dist/gapcursor/index.cjs +2 -0
- package/node_modules/@tiptap/pm/dist/gapcursor/index.d.cts +1 -0
- package/node_modules/@tiptap/pm/dist/gapcursor/index.d.ts +1 -0
- package/node_modules/@tiptap/pm/dist/gapcursor/index.js +2 -0
- package/node_modules/@tiptap/pm/dist/history/index.cjs +2 -0
- package/node_modules/@tiptap/pm/dist/history/index.d.cts +1 -0
- package/node_modules/@tiptap/pm/dist/history/index.d.ts +1 -0
- package/node_modules/@tiptap/pm/dist/history/index.js +2 -0
- package/node_modules/@tiptap/pm/dist/inputrules/index.cjs +2 -0
- package/node_modules/@tiptap/pm/dist/inputrules/index.d.cts +1 -0
- package/node_modules/@tiptap/pm/dist/inputrules/index.d.ts +1 -0
- package/node_modules/@tiptap/pm/dist/inputrules/index.js +2 -0
- package/node_modules/@tiptap/pm/dist/keymap/index.cjs +2 -0
- package/node_modules/@tiptap/pm/dist/keymap/index.d.cts +1 -0
- package/node_modules/@tiptap/pm/dist/keymap/index.d.ts +1 -0
- package/node_modules/@tiptap/pm/dist/keymap/index.js +2 -0
- package/node_modules/@tiptap/pm/dist/markdown/index.cjs +2 -0
- package/node_modules/@tiptap/pm/dist/markdown/index.d.cts +1 -0
- package/node_modules/@tiptap/pm/dist/markdown/index.d.ts +1 -0
- package/node_modules/@tiptap/pm/dist/markdown/index.js +2 -0
- package/node_modules/@tiptap/pm/dist/menu/index.cjs +2 -0
- package/node_modules/@tiptap/pm/dist/menu/index.d.cts +1 -0
- package/node_modules/@tiptap/pm/dist/menu/index.d.ts +1 -0
- package/node_modules/@tiptap/pm/dist/menu/index.js +2 -0
- package/node_modules/@tiptap/pm/dist/model/index.cjs +2 -0
- package/node_modules/@tiptap/pm/dist/model/index.d.cts +1 -0
- package/node_modules/@tiptap/pm/dist/model/index.d.ts +1 -0
- package/node_modules/@tiptap/pm/dist/model/index.js +2 -0
- package/node_modules/@tiptap/pm/dist/schema-basic/index.cjs +2 -0
- package/node_modules/@tiptap/pm/dist/schema-basic/index.d.cts +1 -0
- package/node_modules/@tiptap/pm/dist/schema-basic/index.d.ts +1 -0
- package/node_modules/@tiptap/pm/dist/schema-basic/index.js +2 -0
- package/node_modules/@tiptap/pm/dist/schema-list/index.cjs +2 -0
- package/node_modules/@tiptap/pm/dist/schema-list/index.d.cts +1 -0
- package/node_modules/@tiptap/pm/dist/schema-list/index.d.ts +1 -0
- package/node_modules/@tiptap/pm/dist/schema-list/index.js +2 -0
- package/node_modules/@tiptap/pm/dist/state/index.cjs +2 -0
- package/node_modules/@tiptap/pm/dist/state/index.d.cts +1 -0
- package/node_modules/@tiptap/pm/dist/state/index.d.ts +1 -0
- package/node_modules/@tiptap/pm/dist/state/index.js +2 -0
- package/node_modules/@tiptap/pm/dist/tables/index.cjs +2 -0
- package/node_modules/@tiptap/pm/dist/tables/index.d.cts +1 -0
- package/node_modules/@tiptap/pm/dist/tables/index.d.ts +1 -0
- package/node_modules/@tiptap/pm/dist/tables/index.js +2 -0
- package/node_modules/@tiptap/pm/dist/trailing-node/index.cjs +2 -0
- package/node_modules/@tiptap/pm/dist/trailing-node/index.d.cts +1 -0
- package/node_modules/@tiptap/pm/dist/trailing-node/index.d.ts +1 -0
- package/node_modules/@tiptap/pm/dist/trailing-node/index.js +2 -0
- package/node_modules/@tiptap/pm/dist/transform/index.cjs +2 -0
- package/node_modules/@tiptap/pm/dist/transform/index.d.cts +1 -0
- package/node_modules/@tiptap/pm/dist/transform/index.d.ts +1 -0
- package/node_modules/@tiptap/pm/dist/transform/index.js +2 -0
- package/node_modules/@tiptap/pm/dist/view/index.cjs +2 -0
- package/node_modules/@tiptap/pm/dist/view/index.d.cts +1 -0
- package/node_modules/@tiptap/pm/dist/view/index.d.ts +1 -0
- package/node_modules/@tiptap/pm/dist/view/index.js +2 -0
- package/node_modules/@tiptap/pm/dropcursor/index.ts +1 -0
- package/node_modules/@tiptap/pm/gapcursor/index.ts +1 -0
- package/node_modules/@tiptap/pm/history/index.ts +1 -0
- package/node_modules/@tiptap/pm/inputrules/index.ts +1 -0
- package/node_modules/@tiptap/pm/keymap/index.ts +1 -0
- package/node_modules/@tiptap/pm/markdown/index.ts +1 -0
- package/node_modules/@tiptap/pm/menu/index.ts +1 -0
- package/node_modules/@tiptap/pm/model/index.ts +1 -0
- package/node_modules/@tiptap/pm/package.json +211 -0
- package/node_modules/@tiptap/pm/schema-basic/index.ts +1 -0
- package/node_modules/@tiptap/pm/schema-list/index.ts +1 -0
- package/node_modules/@tiptap/pm/state/index.ts +1 -0
- package/node_modules/@tiptap/pm/tables/index.ts +1 -0
- package/node_modules/@tiptap/pm/trailing-node/index.ts +1 -0
- package/node_modules/@tiptap/pm/transform/index.ts +1 -0
- package/node_modules/@tiptap/pm/view/index.ts +1 -0
- package/node_modules/@tiptap/react/LICENSE.md +21 -0
- package/node_modules/@tiptap/react/README.md +18 -0
- package/node_modules/@tiptap/react/dist/index.cjs +1195 -0
- package/node_modules/@tiptap/react/dist/index.cjs.map +1 -0
- package/node_modules/@tiptap/react/dist/index.d.cts +534 -0
- package/node_modules/@tiptap/react/dist/index.d.ts +534 -0
- package/node_modules/@tiptap/react/dist/index.js +1131 -0
- package/node_modules/@tiptap/react/dist/index.js.map +1 -0
- package/node_modules/@tiptap/react/dist/menus/index.cjs +499 -0
- package/node_modules/@tiptap/react/dist/menus/index.cjs.map +1 -0
- package/node_modules/@tiptap/react/dist/menus/index.d.cts +19 -0
- package/node_modules/@tiptap/react/dist/menus/index.d.ts +19 -0
- package/node_modules/@tiptap/react/dist/menus/index.js +461 -0
- package/node_modules/@tiptap/react/dist/menus/index.js.map +1 -0
- package/node_modules/@tiptap/react/package.json +76 -0
- package/node_modules/@tiptap/react/src/Context.tsx +60 -0
- package/node_modules/@tiptap/react/src/Editor.ts +13 -0
- package/node_modules/@tiptap/react/src/EditorContent.tsx +229 -0
- package/node_modules/@tiptap/react/src/NodeViewContent.tsx +30 -0
- package/node_modules/@tiptap/react/src/NodeViewWrapper.tsx +27 -0
- package/node_modules/@tiptap/react/src/ReactMarkViewRenderer.tsx +106 -0
- package/node_modules/@tiptap/react/src/ReactNodeViewRenderer.tsx +387 -0
- package/node_modules/@tiptap/react/src/ReactRenderer.tsx +282 -0
- package/node_modules/@tiptap/react/src/Tiptap.tsx +224 -0
- package/node_modules/@tiptap/react/src/index.ts +13 -0
- package/node_modules/@tiptap/react/src/menus/BubbleMenu.spec.ts +174 -0
- package/node_modules/@tiptap/react/src/menus/BubbleMenu.tsx +153 -0
- package/node_modules/@tiptap/react/src/menus/FloatingMenu.spec.ts +164 -0
- package/node_modules/@tiptap/react/src/menus/FloatingMenu.tsx +137 -0
- package/node_modules/@tiptap/react/src/menus/getAutoPluginKey.ts +5 -0
- package/node_modules/@tiptap/react/src/menus/index.ts +2 -0
- package/node_modules/@tiptap/react/src/menus/useMenuElementProps.ts +354 -0
- package/node_modules/@tiptap/react/src/types.ts +6 -0
- package/node_modules/@tiptap/react/src/useEditor.ts +382 -0
- package/node_modules/@tiptap/react/src/useEditorState.ts +173 -0
- package/node_modules/@tiptap/react/src/useReactNodeView.ts +28 -0
- package/node_modules/@tiptap/suggestion/LICENSE.md +21 -0
- package/node_modules/@tiptap/suggestion/README.md +18 -0
- package/node_modules/@tiptap/suggestion/dist/index.cjs +369 -0
- package/node_modules/@tiptap/suggestion/dist/index.cjs.map +1 -0
- package/node_modules/@tiptap/suggestion/dist/index.d.cts +213 -0
- package/node_modules/@tiptap/suggestion/dist/index.d.ts +213 -0
- package/node_modules/@tiptap/suggestion/dist/index.js +339 -0
- package/node_modules/@tiptap/suggestion/dist/index.js.map +1 -0
- package/node_modules/@tiptap/suggestion/package.json +50 -0
- package/node_modules/@tiptap/suggestion/src/__tests__/suggestion.test.ts +127 -0
- package/node_modules/@tiptap/suggestion/src/findSuggestionMatch.ts +79 -0
- package/node_modules/@tiptap/suggestion/src/index.ts +8 -0
- package/node_modules/@tiptap/suggestion/src/suggestion.ts +585 -0
- package/node_modules/@types/linkify-it/LICENSE +21 -0
- package/node_modules/@types/linkify-it/README.md +15 -0
- package/node_modules/@types/linkify-it/build/index.cjs.d.ts +178 -0
- package/node_modules/@types/linkify-it/index.d.mts +174 -0
- package/node_modules/@types/linkify-it/index.d.ts +3 -0
- package/node_modules/@types/linkify-it/package.json +50 -0
- package/node_modules/@types/markdown-it/LICENSE +21 -0
- package/node_modules/@types/markdown-it/README.md +15 -0
- package/node_modules/@types/markdown-it/dist/index.cjs.d.ts +1236 -0
- package/node_modules/@types/markdown-it/dist/markdown-it.d.ts +5 -0
- package/node_modules/@types/markdown-it/dist/markdown-it.min.d.ts +5 -0
- package/node_modules/@types/markdown-it/index.d.mts +1 -0
- package/node_modules/@types/markdown-it/index.d.ts +3 -0
- package/node_modules/@types/markdown-it/lib/common/html_blocks.d.mts +7 -0
- package/node_modules/@types/markdown-it/lib/common/html_re.d.mts +2 -0
- package/node_modules/@types/markdown-it/lib/common/utils.d.mts +62 -0
- package/node_modules/@types/markdown-it/lib/helpers/index.d.mts +5 -0
- package/node_modules/@types/markdown-it/lib/helpers/parse_link_destination.d.mts +7 -0
- package/node_modules/@types/markdown-it/lib/helpers/parse_link_label.d.mts +3 -0
- package/node_modules/@types/markdown-it/lib/helpers/parse_link_title.d.mts +29 -0
- package/node_modules/@types/markdown-it/lib/index.d.mts +404 -0
- package/node_modules/@types/markdown-it/lib/parser_block.d.mts +25 -0
- package/node_modules/@types/markdown-it/lib/parser_core.d.mts +18 -0
- package/node_modules/@types/markdown-it/lib/parser_inline.d.mts +38 -0
- package/node_modules/@types/markdown-it/lib/renderer.d.mts +96 -0
- package/node_modules/@types/markdown-it/lib/ruler.d.mts +158 -0
- package/node_modules/@types/markdown-it/lib/rules_block/state_block.d.mts +124 -0
- package/node_modules/@types/markdown-it/lib/rules_core/state_core.d.mts +18 -0
- package/node_modules/@types/markdown-it/lib/rules_inline/state_inline.d.mts +73 -0
- package/node_modules/@types/markdown-it/lib/token.d.mts +108 -0
- package/node_modules/@types/markdown-it/package.json +54 -0
- package/node_modules/@types/mdurl/LICENSE +21 -0
- package/node_modules/@types/mdurl/README.md +15 -0
- package/node_modules/@types/mdurl/build/index.cjs.d.ts +52 -0
- package/node_modules/@types/mdurl/index.d.mts +6 -0
- package/node_modules/@types/mdurl/index.d.ts +3 -0
- package/node_modules/@types/mdurl/lib/decode.d.mts +10 -0
- package/node_modules/@types/mdurl/lib/encode.d.mts +15 -0
- package/node_modules/@types/mdurl/lib/format.d.mts +3 -0
- package/node_modules/@types/mdurl/lib/parse.d.mts +18 -0
- package/node_modules/@types/mdurl/package.json +36 -0
- package/node_modules/@types/use-sync-external-store/LICENSE +21 -0
- package/node_modules/@types/use-sync-external-store/README.md +15 -0
- package/node_modules/@types/use-sync-external-store/index.d.ts +5 -0
- package/node_modules/@types/use-sync-external-store/package.json +30 -0
- package/node_modules/@types/use-sync-external-store/shim/index.d.ts +1 -0
- package/node_modules/@types/use-sync-external-store/shim/with-selector.d.ts +1 -0
- package/node_modules/@types/use-sync-external-store/with-selector.d.ts +7 -0
- package/node_modules/argparse/LICENSE +254 -0
- package/node_modules/argparse/README.md +84 -0
- package/node_modules/argparse/argparse.js +3707 -0
- package/node_modules/argparse/lib/sub.js +67 -0
- package/node_modules/argparse/lib/textwrap.js +440 -0
- package/node_modules/argparse/package.json +31 -0
- package/node_modules/crelt/LICENSE +19 -0
- package/node_modules/crelt/README.md +23 -0
- package/node_modules/crelt/dist/index.cjs +31 -0
- package/node_modules/crelt/dist/index.d.cts +4 -0
- package/node_modules/crelt/index.d.ts +4 -0
- package/node_modules/crelt/index.js +28 -0
- package/node_modules/crelt/package.json +35 -0
- package/node_modules/crelt/rollup.config.js +13 -0
- package/node_modules/entities/LICENSE +11 -0
- package/node_modules/entities/lib/decode.d.ts +211 -0
- package/node_modules/entities/lib/decode.d.ts.map +1 -0
- package/node_modules/entities/lib/decode.js +536 -0
- package/node_modules/entities/lib/decode.js.map +1 -0
- package/node_modules/entities/lib/decode_codepoint.d.ts +19 -0
- package/node_modules/entities/lib/decode_codepoint.d.ts.map +1 -0
- package/node_modules/entities/lib/decode_codepoint.js +76 -0
- package/node_modules/entities/lib/decode_codepoint.js.map +1 -0
- package/node_modules/entities/lib/encode.d.ts +22 -0
- package/node_modules/entities/lib/encode.d.ts.map +1 -0
- package/node_modules/entities/lib/encode.js +77 -0
- package/node_modules/entities/lib/encode.js.map +1 -0
- package/node_modules/entities/lib/escape.d.ts +43 -0
- package/node_modules/entities/lib/escape.d.ts.map +1 -0
- package/node_modules/entities/lib/escape.js +122 -0
- package/node_modules/entities/lib/escape.js.map +1 -0
- package/node_modules/entities/lib/esm/decode.d.ts +211 -0
- package/node_modules/entities/lib/esm/decode.d.ts.map +1 -0
- package/node_modules/entities/lib/esm/decode.js +496 -0
- package/node_modules/entities/lib/esm/decode.js.map +1 -0
- package/node_modules/entities/lib/esm/decode_codepoint.d.ts +19 -0
- package/node_modules/entities/lib/esm/decode_codepoint.d.ts.map +1 -0
- package/node_modules/entities/lib/esm/decode_codepoint.js +71 -0
- package/node_modules/entities/lib/esm/decode_codepoint.js.map +1 -0
- package/node_modules/entities/lib/esm/encode.d.ts +22 -0
- package/node_modules/entities/lib/esm/encode.d.ts.map +1 -0
- package/node_modules/entities/lib/esm/encode.js +69 -0
- package/node_modules/entities/lib/esm/encode.js.map +1 -0
- package/node_modules/entities/lib/esm/escape.d.ts +43 -0
- package/node_modules/entities/lib/esm/escape.d.ts.map +1 -0
- package/node_modules/entities/lib/esm/escape.js +116 -0
- package/node_modules/entities/lib/esm/escape.js.map +1 -0
- package/node_modules/entities/lib/esm/generated/decode-data-html.d.ts +3 -0
- package/node_modules/entities/lib/esm/generated/decode-data-html.d.ts.map +1 -0
- package/node_modules/entities/lib/esm/generated/decode-data-html.js +7 -0
- package/node_modules/entities/lib/esm/generated/decode-data-html.js.map +1 -0
- package/node_modules/entities/lib/esm/generated/decode-data-xml.d.ts +3 -0
- package/node_modules/entities/lib/esm/generated/decode-data-xml.d.ts.map +1 -0
- package/node_modules/entities/lib/esm/generated/decode-data-xml.js +7 -0
- package/node_modules/entities/lib/esm/generated/decode-data-xml.js.map +1 -0
- package/node_modules/entities/lib/esm/generated/encode-html.d.ts +8 -0
- package/node_modules/entities/lib/esm/generated/encode-html.d.ts.map +1 -0
- package/node_modules/entities/lib/esm/generated/encode-html.js +10 -0
- package/node_modules/entities/lib/esm/generated/encode-html.js.map +1 -0
- package/node_modules/entities/lib/esm/index.d.ts +96 -0
- package/node_modules/entities/lib/esm/index.d.ts.map +1 -0
- package/node_modules/entities/lib/esm/index.js +99 -0
- package/node_modules/entities/lib/esm/index.js.map +1 -0
- package/node_modules/entities/lib/esm/package.json +1 -0
- package/node_modules/entities/lib/generated/decode-data-html.d.ts +3 -0
- package/node_modules/entities/lib/generated/decode-data-html.d.ts.map +1 -0
- package/node_modules/entities/lib/generated/decode-data-html.js +9 -0
- package/node_modules/entities/lib/generated/decode-data-html.js.map +1 -0
- package/node_modules/entities/lib/generated/decode-data-xml.d.ts +3 -0
- package/node_modules/entities/lib/generated/decode-data-xml.d.ts.map +1 -0
- package/node_modules/entities/lib/generated/decode-data-xml.js +9 -0
- package/node_modules/entities/lib/generated/decode-data-xml.js.map +1 -0
- package/node_modules/entities/lib/generated/encode-html.d.ts +8 -0
- package/node_modules/entities/lib/generated/encode-html.d.ts.map +1 -0
- package/node_modules/entities/lib/generated/encode-html.js +12 -0
- package/node_modules/entities/lib/generated/encode-html.js.map +1 -0
- package/node_modules/entities/lib/index.d.ts +96 -0
- package/node_modules/entities/lib/index.d.ts.map +1 -0
- package/node_modules/entities/lib/index.js +126 -0
- package/node_modules/entities/lib/index.js.map +1 -0
- package/node_modules/entities/package.json +90 -0
- package/node_modules/entities/readme.md +122 -0
- package/node_modules/escape-string-regexp/index.d.ts +18 -0
- package/node_modules/escape-string-regexp/index.js +13 -0
- package/node_modules/escape-string-regexp/license +9 -0
- package/node_modules/escape-string-regexp/package.json +38 -0
- package/node_modules/escape-string-regexp/readme.md +34 -0
- package/node_modules/fast-equals/LICENSE +21 -0
- package/node_modules/fast-equals/README.md +477 -0
- package/node_modules/fast-equals/dist/cjs/comparator.d.cts +60 -0
- package/node_modules/fast-equals/dist/cjs/equals.d.cts +62 -0
- package/node_modules/fast-equals/dist/cjs/index.cjs +653 -0
- package/node_modules/fast-equals/dist/cjs/index.cjs.map +1 -0
- package/node_modules/fast-equals/dist/cjs/index.d.cts +66 -0
- package/node_modules/fast-equals/dist/cjs/internalTypes.d.cts +178 -0
- package/node_modules/fast-equals/dist/cjs/utils.d.cts +33 -0
- package/node_modules/fast-equals/dist/es/comparator.d.mts +60 -0
- package/node_modules/fast-equals/dist/es/equals.d.mts +62 -0
- package/node_modules/fast-equals/dist/es/index.d.mts +66 -0
- package/node_modules/fast-equals/dist/es/index.mjs +642 -0
- package/node_modules/fast-equals/dist/es/index.mjs.map +1 -0
- package/node_modules/fast-equals/dist/es/internalTypes.d.mts +178 -0
- package/node_modules/fast-equals/dist/es/utils.d.mts +33 -0
- package/node_modules/fast-equals/dist/umd/comparator.d.ts +26 -0
- package/node_modules/fast-equals/dist/umd/equals.d.ts +62 -0
- package/node_modules/fast-equals/dist/umd/index.d.ts +47 -0
- package/node_modules/fast-equals/dist/umd/index.js +659 -0
- package/node_modules/fast-equals/dist/umd/index.js.map +1 -0
- package/node_modules/fast-equals/dist/umd/internalTypes.d.ts +159 -0
- package/node_modules/fast-equals/dist/umd/utils.d.ts +28 -0
- package/node_modules/fast-equals/index.d.ts +260 -0
- package/node_modules/fast-equals/package.json +113 -0
- package/node_modules/linkify-it/LICENSE +22 -0
- package/node_modules/linkify-it/README.md +196 -0
- package/node_modules/linkify-it/build/index.cjs.js +832 -0
- package/node_modules/linkify-it/index.mjs +642 -0
- package/node_modules/linkify-it/lib/re.mjs +189 -0
- package/node_modules/linkify-it/package.json +58 -0
- package/node_modules/markdown-it/LICENSE +22 -0
- package/node_modules/markdown-it/README.md +324 -0
- package/node_modules/markdown-it/bin/markdown-it.mjs +107 -0
- package/node_modules/markdown-it/dist/index.cjs.js +5547 -0
- package/node_modules/markdown-it/dist/markdown-it.js +6969 -0
- package/node_modules/markdown-it/dist/markdown-it.min.js +2 -0
- package/node_modules/markdown-it/index.mjs +1 -0
- package/node_modules/markdown-it/lib/common/html_blocks.mjs +67 -0
- package/node_modules/markdown-it/lib/common/html_re.mjs +25 -0
- package/node_modules/markdown-it/lib/common/utils.mjs +304 -0
- package/node_modules/markdown-it/lib/helpers/index.mjs +11 -0
- package/node_modules/markdown-it/lib/helpers/parse_link_destination.mjs +77 -0
- package/node_modules/markdown-it/lib/helpers/parse_link_label.mjs +49 -0
- package/node_modules/markdown-it/lib/helpers/parse_link_title.mjs +66 -0
- package/node_modules/markdown-it/lib/index.mjs +565 -0
- package/node_modules/markdown-it/lib/parser_block.mjs +134 -0
- package/node_modules/markdown-it/lib/parser_core.mjs +62 -0
- package/node_modules/markdown-it/lib/parser_inline.mjs +197 -0
- package/node_modules/markdown-it/lib/presets/commonmark.mjs +88 -0
- package/node_modules/markdown-it/lib/presets/default.mjs +47 -0
- package/node_modules/markdown-it/lib/presets/zero.mjs +70 -0
- package/node_modules/markdown-it/lib/renderer.mjs +322 -0
- package/node_modules/markdown-it/lib/ruler.mjs +340 -0
- package/node_modules/markdown-it/lib/rules_block/blockquote.mjs +209 -0
- package/node_modules/markdown-it/lib/rules_block/code.mjs +30 -0
- package/node_modules/markdown-it/lib/rules_block/fence.mjs +94 -0
- package/node_modules/markdown-it/lib/rules_block/heading.mjs +51 -0
- package/node_modules/markdown-it/lib/rules_block/hr.mjs +40 -0
- package/node_modules/markdown-it/lib/rules_block/html_block.mjs +69 -0
- package/node_modules/markdown-it/lib/rules_block/lheading.mjs +82 -0
- package/node_modules/markdown-it/lib/rules_block/list.mjs +331 -0
- package/node_modules/markdown-it/lib/rules_block/paragraph.mjs +46 -0
- package/node_modules/markdown-it/lib/rules_block/reference.mjs +212 -0
- package/node_modules/markdown-it/lib/rules_block/state_block.mjs +220 -0
- package/node_modules/markdown-it/lib/rules_block/table.mjs +228 -0
- package/node_modules/markdown-it/lib/rules_core/block.mjs +13 -0
- package/node_modules/markdown-it/lib/rules_core/inline.mjs +11 -0
- package/node_modules/markdown-it/lib/rules_core/linkify.mjs +134 -0
- package/node_modules/markdown-it/lib/rules_core/normalize.mjs +17 -0
- package/node_modules/markdown-it/lib/rules_core/replacements.mjs +101 -0
- package/node_modules/markdown-it/lib/rules_core/smartquotes.mjs +193 -0
- package/node_modules/markdown-it/lib/rules_core/state_core.mjs +17 -0
- package/node_modules/markdown-it/lib/rules_core/text_join.mjs +43 -0
- package/node_modules/markdown-it/lib/rules_inline/autolink.mjs +72 -0
- package/node_modules/markdown-it/lib/rules_inline/backticks.mjs +60 -0
- package/node_modules/markdown-it/lib/rules_inline/balance_pairs.mjs +124 -0
- package/node_modules/markdown-it/lib/rules_inline/emphasis.mjs +123 -0
- package/node_modules/markdown-it/lib/rules_inline/entity.mjs +51 -0
- package/node_modules/markdown-it/lib/rules_inline/escape.mjs +69 -0
- package/node_modules/markdown-it/lib/rules_inline/fragments_join.mjs +38 -0
- package/node_modules/markdown-it/lib/rules_inline/html_inline.mjs +50 -0
- package/node_modules/markdown-it/lib/rules_inline/image.mjs +138 -0
- package/node_modules/markdown-it/lib/rules_inline/link.mjs +139 -0
- package/node_modules/markdown-it/lib/rules_inline/linkify.mjs +63 -0
- package/node_modules/markdown-it/lib/rules_inline/newline.mjs +42 -0
- package/node_modules/markdown-it/lib/rules_inline/state_inline.mjs +123 -0
- package/node_modules/markdown-it/lib/rules_inline/strikethrough.mjs +127 -0
- package/node_modules/markdown-it/lib/rules_inline/text.mjs +86 -0
- package/node_modules/markdown-it/lib/token.mjs +191 -0
- package/node_modules/markdown-it/package.json +92 -0
- package/node_modules/mdurl/LICENSE +45 -0
- package/node_modules/mdurl/README.md +102 -0
- package/node_modules/mdurl/build/index.cjs.js +534 -0
- package/node_modules/mdurl/index.mjs +11 -0
- package/node_modules/mdurl/lib/decode.mjs +112 -0
- package/node_modules/mdurl/lib/encode.mjs +89 -0
- package/node_modules/mdurl/lib/format.mjs +21 -0
- package/node_modules/mdurl/lib/parse.mjs +308 -0
- package/node_modules/mdurl/package.json +37 -0
- package/node_modules/orderedmap/LICENSE +19 -0
- package/node_modules/orderedmap/README.md +69 -0
- package/node_modules/orderedmap/dist/index.cjs +139 -0
- package/node_modules/orderedmap/dist/index.d.cts +33 -0
- package/node_modules/orderedmap/dist/index.d.ts +33 -0
- package/node_modules/orderedmap/dist/index.js +137 -0
- package/node_modules/orderedmap/package.json +39 -0
- package/node_modules/prosemirror-changeset/CHANGELOG.md +147 -0
- package/node_modules/prosemirror-changeset/LICENSE +19 -0
- package/node_modules/prosemirror-changeset/README.md +175 -0
- package/node_modules/prosemirror-changeset/dist/index.cjs +585 -0
- package/node_modules/prosemirror-changeset/dist/index.d.cts +186 -0
- package/node_modules/prosemirror-changeset/dist/index.d.ts +186 -0
- package/node_modules/prosemirror-changeset/dist/index.js +715 -0
- package/node_modules/prosemirror-changeset/package.json +40 -0
- package/node_modules/prosemirror-changeset/src/README.md +32 -0
- package/node_modules/prosemirror-changeset/src/change.ts +189 -0
- package/node_modules/prosemirror-changeset/src/changeset.ts +212 -0
- package/node_modules/prosemirror-changeset/src/diff.ts +151 -0
- package/node_modules/prosemirror-changeset/src/simplify.ts +132 -0
- package/node_modules/prosemirror-changeset/test/test-changed-range.ts +48 -0
- package/node_modules/prosemirror-changeset/test/test-changes.ts +211 -0
- package/node_modules/prosemirror-changeset/test/test-diff.ts +69 -0
- package/node_modules/prosemirror-changeset/test/test-merge.ts +56 -0
- package/node_modules/prosemirror-changeset/test/test-simplify.ts +71 -0
- package/node_modules/prosemirror-collab/.tern-project +8 -0
- package/node_modules/prosemirror-collab/CHANGELOG.md +77 -0
- package/node_modules/prosemirror-collab/CONTRIBUTING.md +104 -0
- package/node_modules/prosemirror-collab/LICENSE +19 -0
- package/node_modules/prosemirror-collab/README.md +28 -0
- package/node_modules/prosemirror-collab/dist/index.cjs +155 -0
- package/node_modules/prosemirror-collab/dist/index.d.cts +60 -0
- package/node_modules/prosemirror-collab/dist/index.d.ts +60 -0
- package/node_modules/prosemirror-collab/dist/index.js +156 -0
- package/node_modules/prosemirror-collab/package.json +40 -0
- package/node_modules/prosemirror-collab/src/README.md +11 -0
- package/node_modules/prosemirror-collab/src/collab.ts +184 -0
- package/node_modules/prosemirror-commands/.tern-project +8 -0
- package/node_modules/prosemirror-commands/CHANGELOG.md +322 -0
- package/node_modules/prosemirror-commands/CONTRIBUTING.md +104 -0
- package/node_modules/prosemirror-commands/LICENSE +19 -0
- package/node_modules/prosemirror-commands/README.md +28 -0
- package/node_modules/prosemirror-commands/dist/index.cjs +687 -0
- package/node_modules/prosemirror-commands/dist/index.d.cts +215 -0
- package/node_modules/prosemirror-commands/dist/index.d.ts +215 -0
- package/node_modules/prosemirror-commands/dist/index.js +850 -0
- package/node_modules/prosemirror-commands/package.json +39 -0
- package/node_modules/prosemirror-commands/src/README.md +40 -0
- package/node_modules/prosemirror-commands/src/commands.ts +783 -0
- package/node_modules/prosemirror-dropcursor/CHANGELOG.md +137 -0
- package/node_modules/prosemirror-dropcursor/CONTRIBUTING.md +100 -0
- package/node_modules/prosemirror-dropcursor/LICENSE +19 -0
- package/node_modules/prosemirror-dropcursor/README.md +50 -0
- package/node_modules/prosemirror-dropcursor/dist/index.cjs +185 -0
- package/node_modules/prosemirror-dropcursor/dist/index.d.cts +38 -0
- package/node_modules/prosemirror-dropcursor/dist/index.d.ts +38 -0
- package/node_modules/prosemirror-dropcursor/dist/index.js +146 -0
- package/node_modules/prosemirror-dropcursor/package.json +38 -0
- package/node_modules/prosemirror-dropcursor/src/dropcursor.ts +170 -0
- package/node_modules/prosemirror-gapcursor/CHANGELOG.md +122 -0
- package/node_modules/prosemirror-gapcursor/CONTRIBUTING.md +104 -0
- package/node_modules/prosemirror-gapcursor/LICENSE +19 -0
- package/node_modules/prosemirror-gapcursor/README.md +31 -0
- package/node_modules/prosemirror-gapcursor/dist/index.cjs +239 -0
- package/node_modules/prosemirror-gapcursor/dist/index.d.cts +31 -0
- package/node_modules/prosemirror-gapcursor/dist/index.d.ts +31 -0
- package/node_modules/prosemirror-gapcursor/dist/index.js +239 -0
- package/node_modules/prosemirror-gapcursor/package.json +43 -0
- package/node_modules/prosemirror-gapcursor/src/README.md +21 -0
- package/node_modules/prosemirror-gapcursor/src/gapcursor.ts +141 -0
- package/node_modules/prosemirror-gapcursor/src/index.ts +91 -0
- package/node_modules/prosemirror-gapcursor/style/gapcursor.css +25 -0
- package/node_modules/prosemirror-history/.tern-project +8 -0
- package/node_modules/prosemirror-history/CHANGELOG.md +170 -0
- package/node_modules/prosemirror-history/CONTRIBUTING.md +104 -0
- package/node_modules/prosemirror-history/LICENSE +19 -0
- package/node_modules/prosemirror-history/README.md +27 -0
- package/node_modules/prosemirror-history/dist/index.cjs +382 -0
- package/node_modules/prosemirror-history/dist/index.d.cts +64 -0
- package/node_modules/prosemirror-history/dist/index.d.ts +64 -0
- package/node_modules/prosemirror-history/dist/index.js +453 -0
- package/node_modules/prosemirror-history/package.json +40 -0
- package/node_modules/prosemirror-history/src/README.md +23 -0
- package/node_modules/prosemirror-history/src/history.ts +465 -0
- package/node_modules/prosemirror-inputrules/.tern-project +8 -0
- package/node_modules/prosemirror-inputrules/CHANGELOG.md +127 -0
- package/node_modules/prosemirror-inputrules/CONTRIBUTING.md +104 -0
- package/node_modules/prosemirror-inputrules/LICENSE +19 -0
- package/node_modules/prosemirror-inputrules/README.md +29 -0
- package/node_modules/prosemirror-inputrules/dist/index.cjs +194 -0
- package/node_modules/prosemirror-inputrules/dist/index.d.cts +131 -0
- package/node_modules/prosemirror-inputrules/dist/index.d.ts +131 -0
- package/node_modules/prosemirror-inputrules/dist/index.js +239 -0
- package/node_modules/prosemirror-inputrules/package.json +36 -0
- package/node_modules/prosemirror-inputrules/src/README.md +23 -0
- package/node_modules/prosemirror-inputrules/src/index.ts +4 -0
- package/node_modules/prosemirror-inputrules/src/inputrules.ts +167 -0
- package/node_modules/prosemirror-inputrules/src/rulebuilders.ts +59 -0
- package/node_modules/prosemirror-inputrules/src/rules.ts +17 -0
- package/node_modules/prosemirror-keymap/.tern-project +8 -0
- package/node_modules/prosemirror-keymap/CHANGELOG.md +104 -0
- package/node_modules/prosemirror-keymap/CONTRIBUTING.md +104 -0
- package/node_modules/prosemirror-keymap/LICENSE +19 -0
- package/node_modules/prosemirror-keymap/README.md +27 -0
- package/node_modules/prosemirror-keymap/dist/index.cjs +65 -0
- package/node_modules/prosemirror-keymap/dist/index.d.cts +47 -0
- package/node_modules/prosemirror-keymap/dist/index.d.ts +47 -0
- package/node_modules/prosemirror-keymap/dist/index.js +128 -0
- package/node_modules/prosemirror-keymap/package.json +38 -0
- package/node_modules/prosemirror-keymap/src/README.md +5 -0
- package/node_modules/prosemirror-keymap/src/keymap.ts +105 -0
- package/node_modules/prosemirror-markdown/.tern-project +8 -0
- package/node_modules/prosemirror-markdown/CHANGELOG.md +311 -0
- package/node_modules/prosemirror-markdown/CONTRIBUTING.md +100 -0
- package/node_modules/prosemirror-markdown/LICENSE +19 -0
- package/node_modules/prosemirror-markdown/README.md +276 -0
- package/node_modules/prosemirror-markdown/dist/index.cjs +966 -0
- package/node_modules/prosemirror-markdown/dist/index.d.cts +335 -0
- package/node_modules/prosemirror-markdown/dist/index.d.ts +335 -0
- package/node_modules/prosemirror-markdown/dist/index.js +878 -0
- package/node_modules/prosemirror-markdown/package.json +40 -0
- package/node_modules/prosemirror-markdown/src/README.md +42 -0
- package/node_modules/prosemirror-markdown/src/from_markdown.ts +272 -0
- package/node_modules/prosemirror-markdown/src/index.ts +5 -0
- package/node_modules/prosemirror-markdown/src/schema.ts +156 -0
- package/node_modules/prosemirror-markdown/src/to_markdown.ts +483 -0
- package/node_modules/prosemirror-menu/.tern-project +8 -0
- package/node_modules/prosemirror-menu/CHANGELOG.md +107 -0
- package/node_modules/prosemirror-menu/CONTRIBUTING.md +100 -0
- package/node_modules/prosemirror-menu/LICENSE +19 -0
- package/node_modules/prosemirror-menu/README.md +235 -0
- package/node_modules/prosemirror-menu/dist/index.cjs +798 -0
- package/node_modules/prosemirror-menu/dist/index.d.cts +281 -0
- package/node_modules/prosemirror-menu/dist/index.d.ts +281 -0
- package/node_modules/prosemirror-menu/dist/index.js +795 -0
- package/node_modules/prosemirror-menu/package.json +42 -0
- package/node_modules/prosemirror-menu/src/README.md +60 -0
- package/node_modules/prosemirror-menu/src/icons.ts +53 -0
- package/node_modules/prosemirror-menu/src/index.ts +4 -0
- package/node_modules/prosemirror-menu/src/menu.ts +628 -0
- package/node_modules/prosemirror-menu/src/menubar.ts +210 -0
- package/node_modules/prosemirror-menu/style/menu.css +169 -0
- package/node_modules/prosemirror-model/.tern-project +8 -0
- package/node_modules/prosemirror-model/CHANGELOG.md +730 -0
- package/node_modules/prosemirror-model/CONTRIBUTING.md +104 -0
- package/node_modules/prosemirror-model/LICENSE +19 -0
- package/node_modules/prosemirror-model/README.md +29 -0
- package/node_modules/prosemirror-model/dist/index.cjs +2898 -0
- package/node_modules/prosemirror-model/dist/index.d.cts +1679 -0
- package/node_modules/prosemirror-model/dist/index.d.ts +1679 -0
- package/node_modules/prosemirror-model/dist/index.js +3464 -0
- package/node_modules/prosemirror-model/package.json +38 -0
- package/node_modules/prosemirror-model/src/README.md +62 -0
- package/node_modules/prosemirror-model/src/comparedeep.ts +15 -0
- package/node_modules/prosemirror-model/src/content.ts +413 -0
- package/node_modules/prosemirror-model/src/diff.ts +52 -0
- package/node_modules/prosemirror-model/src/dom.ts +1 -0
- package/node_modules/prosemirror-model/src/fragment.ts +268 -0
- package/node_modules/prosemirror-model/src/from_dom.ts +848 -0
- package/node_modules/prosemirror-model/src/index.ts +11 -0
- package/node_modules/prosemirror-model/src/mark.ts +111 -0
- package/node_modules/prosemirror-model/src/node.ts +402 -0
- package/node_modules/prosemirror-model/src/replace.ts +225 -0
- package/node_modules/prosemirror-model/src/resolvedpos.ts +289 -0
- package/node_modules/prosemirror-model/src/schema.ts +705 -0
- package/node_modules/prosemirror-model/src/to_dom.ts +238 -0
- package/node_modules/prosemirror-schema-basic/.tern-project +8 -0
- package/node_modules/prosemirror-schema-basic/CHANGELOG.md +81 -0
- package/node_modules/prosemirror-schema-basic/CONTRIBUTING.md +100 -0
- package/node_modules/prosemirror-schema-basic/LICENSE +19 -0
- package/node_modules/prosemirror-schema-basic/README.md +28 -0
- package/node_modules/prosemirror-schema-basic/dist/index.cjs +246 -0
- package/node_modules/prosemirror-schema-basic/dist/index.d.cts +87 -0
- package/node_modules/prosemirror-schema-basic/dist/index.d.ts +87 -0
- package/node_modules/prosemirror-schema-basic/dist/index.js +183 -0
- package/node_modules/prosemirror-schema-basic/package.json +37 -0
- package/node_modules/prosemirror-schema-basic/src/README.md +8 -0
- package/node_modules/prosemirror-schema-basic/src/schema-basic.ts +166 -0
- package/node_modules/prosemirror-schema-list/.tern-project +8 -0
- package/node_modules/prosemirror-schema-list/CHANGELOG.md +140 -0
- package/node_modules/prosemirror-schema-list/CONTRIBUTING.md +100 -0
- package/node_modules/prosemirror-schema-list/LICENSE +19 -0
- package/node_modules/prosemirror-schema-list/README.md +28 -0
- package/node_modules/prosemirror-schema-list/dist/index.cjs +253 -0
- package/node_modules/prosemirror-schema-list/dist/index.d.cts +71 -0
- package/node_modules/prosemirror-schema-list/dist/index.d.ts +71 -0
- package/node_modules/prosemirror-schema-list/dist/index.js +289 -0
- package/node_modules/prosemirror-schema-list/package.json +40 -0
- package/node_modules/prosemirror-schema-list/src/README.md +29 -0
- package/node_modules/prosemirror-schema-list/src/schema-list.ts +267 -0
- package/node_modules/prosemirror-state/.tern-project +8 -0
- package/node_modules/prosemirror-state/CHANGELOG.md +296 -0
- package/node_modules/prosemirror-state/CONTRIBUTING.md +104 -0
- package/node_modules/prosemirror-state/LICENSE +19 -0
- package/node_modules/prosemirror-state/README.md +28 -0
- package/node_modules/prosemirror-state/dist/index.cjs +884 -0
- package/node_modules/prosemirror-state/dist/index.d.cts +709 -0
- package/node_modules/prosemirror-state/dist/index.d.ts +709 -0
- package/node_modules/prosemirror-state/dist/index.js +1002 -0
- package/node_modules/prosemirror-state/package.json +39 -0
- package/node_modules/prosemirror-state/src/README.md +42 -0
- package/node_modules/prosemirror-state/src/index.ts +7 -0
- package/node_modules/prosemirror-state/src/plugin.ts +142 -0
- package/node_modules/prosemirror-state/src/selection.ts +462 -0
- package/node_modules/prosemirror-state/src/state.ts +266 -0
- package/node_modules/prosemirror-state/src/transaction.ts +215 -0
- package/node_modules/prosemirror-tables/LICENSE +19 -0
- package/node_modules/prosemirror-tables/README.md +254 -0
- package/node_modules/prosemirror-tables/dist/index.cjs +2683 -0
- package/node_modules/prosemirror-tables/dist/index.d.cts +751 -0
- package/node_modules/prosemirror-tables/dist/index.d.cts.map +1 -0
- package/node_modules/prosemirror-tables/dist/index.d.ts +751 -0
- package/node_modules/prosemirror-tables/dist/index.d.ts.map +1 -0
- package/node_modules/prosemirror-tables/dist/index.js +2626 -0
- package/node_modules/prosemirror-tables/dist/index.js.map +1 -0
- package/node_modules/prosemirror-tables/package.json +80 -0
- package/node_modules/prosemirror-tables/style/tables.css +48 -0
- package/node_modules/prosemirror-trailing-node/LICENSE +21 -0
- package/node_modules/prosemirror-trailing-node/dist/_tsup-dts-rollup.d.cts +41 -0
- package/node_modules/prosemirror-trailing-node/dist/_tsup-dts-rollup.d.ts +41 -0
- package/node_modules/prosemirror-trailing-node/dist/prosemirror-trailing-node.cjs +70 -0
- package/node_modules/prosemirror-trailing-node/dist/prosemirror-trailing-node.d.cts +2 -0
- package/node_modules/prosemirror-trailing-node/dist/prosemirror-trailing-node.d.ts +2 -0
- package/node_modules/prosemirror-trailing-node/dist/prosemirror-trailing-node.js +43 -0
- package/node_modules/prosemirror-trailing-node/dist-types/index.d.ts +2 -0
- package/node_modules/prosemirror-trailing-node/dist-types/trailing-node-plugin.d.ts +33 -0
- package/node_modules/prosemirror-trailing-node/dist-types/tsconfig.tsbuildinfo +1 -0
- package/node_modules/prosemirror-trailing-node/package.json +57 -0
- package/node_modules/prosemirror-trailing-node/readme.md +55 -0
- package/node_modules/prosemirror-transform/.tern-project +8 -0
- package/node_modules/prosemirror-transform/CHANGELOG.md +502 -0
- package/node_modules/prosemirror-transform/CONTRIBUTING.md +104 -0
- package/node_modules/prosemirror-transform/LICENSE +19 -0
- package/node_modules/prosemirror-transform/README.md +29 -0
- package/node_modules/prosemirror-transform/dist/index.cjs +1888 -0
- package/node_modules/prosemirror-transform/dist/index.d.cts +847 -0
- package/node_modules/prosemirror-transform/dist/index.d.ts +847 -0
- package/node_modules/prosemirror-transform/dist/index.js +2181 -0
- package/node_modules/prosemirror-transform/package.json +37 -0
- package/node_modules/prosemirror-transform/src/README.md +59 -0
- package/node_modules/prosemirror-transform/src/attr_step.ts +98 -0
- package/node_modules/prosemirror-transform/src/index.ts +11 -0
- package/node_modules/prosemirror-transform/src/map.ts +284 -0
- package/node_modules/prosemirror-transform/src/mark.ts +106 -0
- package/node_modules/prosemirror-transform/src/mark_step.ts +224 -0
- package/node_modules/prosemirror-transform/src/replace.ts +460 -0
- package/node_modules/prosemirror-transform/src/replace_step.ts +178 -0
- package/node_modules/prosemirror-transform/src/step.ts +97 -0
- package/node_modules/prosemirror-transform/src/structure.ts +349 -0
- package/node_modules/prosemirror-transform/src/transform.ts +271 -0
- package/node_modules/prosemirror-view/.tern-project +8 -0
- package/node_modules/prosemirror-view/CHANGELOG.md +2447 -0
- package/node_modules/prosemirror-view/CONTRIBUTING.md +104 -0
- package/node_modules/prosemirror-view/LICENSE +19 -0
- package/node_modules/prosemirror-view/README.md +28 -0
- package/node_modules/prosemirror-view/dist/index.cjs +5381 -0
- package/node_modules/prosemirror-view/dist/index.d.cts +904 -0
- package/node_modules/prosemirror-view/dist/index.d.ts +904 -0
- package/node_modules/prosemirror-view/dist/index.js +5900 -0
- package/node_modules/prosemirror-view/package.json +43 -0
- package/node_modules/prosemirror-view/src/README.md +38 -0
- package/node_modules/prosemirror-view/src/browser.ts +24 -0
- package/node_modules/prosemirror-view/src/capturekeys.ts +345 -0
- package/node_modules/prosemirror-view/src/clipboard.ts +263 -0
- package/node_modules/prosemirror-view/src/decoration.ts +793 -0
- package/node_modules/prosemirror-view/src/dom.ts +159 -0
- package/node_modules/prosemirror-view/src/domchange.ts +383 -0
- package/node_modules/prosemirror-view/src/domcoords.ts +515 -0
- package/node_modules/prosemirror-view/src/domobserver.ts +392 -0
- package/node_modules/prosemirror-view/src/index.ts +825 -0
- package/node_modules/prosemirror-view/src/input.ts +830 -0
- package/node_modules/prosemirror-view/src/selection.ts +216 -0
- package/node_modules/prosemirror-view/src/viewdesc.ts +1590 -0
- package/node_modules/prosemirror-view/style/prosemirror.css +54 -0
- package/node_modules/punycode.js/LICENSE-MIT.txt +20 -0
- package/node_modules/punycode.js/README.md +148 -0
- package/node_modules/punycode.js/package.json +58 -0
- package/node_modules/punycode.js/punycode.es6.js +444 -0
- package/node_modules/punycode.js/punycode.js +443 -0
- package/node_modules/rope-sequence/LICENSE +19 -0
- package/node_modules/rope-sequence/README.md +63 -0
- package/node_modules/rope-sequence/dist/index.cjs +209 -0
- package/node_modules/rope-sequence/dist/index.d.cts +11 -0
- package/node_modules/rope-sequence/dist/index.d.ts +11 -0
- package/node_modules/rope-sequence/dist/index.js +207 -0
- package/node_modules/rope-sequence/index.js +190 -0
- package/node_modules/rope-sequence/package.json +34 -0
- package/node_modules/rope-sequence/test.js +78 -0
- package/node_modules/uc.micro/LICENSE.txt +20 -0
- package/node_modules/uc.micro/README.md +14 -0
- package/node_modules/uc.micro/build/index.cjs.js +20 -0
- package/node_modules/uc.micro/categories/Cc/regex.mjs +1 -0
- package/node_modules/uc.micro/categories/Cf/regex.mjs +1 -0
- package/node_modules/uc.micro/categories/P/regex.mjs +1 -0
- package/node_modules/uc.micro/categories/S/regex.mjs +1 -0
- package/node_modules/uc.micro/categories/Z/regex.mjs +1 -0
- package/node_modules/uc.micro/index.mjs +8 -0
- package/node_modules/uc.micro/package.json +37 -0
- package/node_modules/uc.micro/properties/Any/regex.mjs +1 -0
- package/node_modules/use-sync-external-store/LICENSE +21 -0
- package/node_modules/use-sync-external-store/README.md +5 -0
- package/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js +97 -0
- package/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js +85 -0
- package/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +95 -0
- package/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.native.development.js +88 -0
- package/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.native.production.js +59 -0
- package/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js +66 -0
- package/node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.development.js +96 -0
- package/node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.production.js +84 -0
- package/node_modules/use-sync-external-store/cjs/use-sync-external-store.development.js +27 -0
- package/node_modules/use-sync-external-store/cjs/use-sync-external-store.production.js +13 -0
- package/node_modules/use-sync-external-store/index.js +7 -0
- package/node_modules/use-sync-external-store/package.json +43 -0
- package/node_modules/use-sync-external-store/shim/index.js +7 -0
- package/node_modules/use-sync-external-store/shim/index.native.js +7 -0
- package/node_modules/use-sync-external-store/shim/with-selector.js +7 -0
- package/node_modules/use-sync-external-store/with-selector.js +7 -0
- package/node_modules/w3c-keyname/.tern-port +1 -0
- package/node_modules/w3c-keyname/LICENSE +19 -0
- package/node_modules/w3c-keyname/README.md +18 -0
- package/node_modules/w3c-keyname/index.cjs +127 -0
- package/node_modules/w3c-keyname/index.d.cts +5 -0
- package/node_modules/w3c-keyname/index.d.ts +5 -0
- package/node_modules/w3c-keyname/index.js +119 -0
- package/node_modules/w3c-keyname/package.json +37 -0
- package/package.json +120 -3
- package/public-api.md +24 -3
- package/dist/chat/tool-renderers/KbSearchRenderer.d.ts +0 -2
- package/dist/chat/tool-renderers/kb-search-result.d.ts +0 -19
- package/dist/chunk-5J54S5BK.js.map +0 -1
- package/dist/chunk-FQQJP2GJ.js.map +0 -1
- package/dist/chunk-WCMGQJLE.js.map +0 -1
- package/dist/lib/agent-computer-command.d.ts +0 -34
- package/dist/rich-input/extensions/kb-mention.d.ts +0 -18
- package/dist/rich-input/extensions/workflow-mention.d.ts +0 -10
- package/dist/rich-input/lib/kb-suggestions.d.ts +0 -37
|
@@ -1894,11 +1894,10 @@ var CirclePause = createLucideIcon("CirclePause", [
|
|
|
1894
1894
|
["line", { x1: "14", x2: "14", y1: "15", y2: "9", key: "h65svq" }]
|
|
1895
1895
|
]);
|
|
1896
1896
|
|
|
1897
|
-
// ../../node_modules/.pnpm/lucide-react@0.468.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/circle-
|
|
1898
|
-
var
|
|
1897
|
+
// ../../node_modules/.pnpm/lucide-react@0.468.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/circle-slash.js
|
|
1898
|
+
var CircleSlash = createLucideIcon("CircleSlash", [
|
|
1899
1899
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
1900
|
-
["
|
|
1901
|
-
["path", { d: "m9 9 6 6", key: "z0biqf" }]
|
|
1900
|
+
["line", { x1: "9", x2: "15", y1: "15", y2: "9", key: "1dfufj" }]
|
|
1902
1901
|
]);
|
|
1903
1902
|
|
|
1904
1903
|
// ../../node_modules/.pnpm/lucide-react@0.468.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/circle.js
|
|
@@ -2303,14 +2302,6 @@ var RefreshCcw = createLucideIcon("RefreshCcw", [
|
|
|
2303
2302
|
["path", { d: "M16 16h5v5", key: "ccwih5" }]
|
|
2304
2303
|
]);
|
|
2305
2304
|
|
|
2306
|
-
// ../../node_modules/.pnpm/lucide-react@0.468.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/refresh-cw.js
|
|
2307
|
-
var RefreshCw = createLucideIcon("RefreshCw", [
|
|
2308
|
-
["path", { d: "M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8", key: "v9h5vc" }],
|
|
2309
|
-
["path", { d: "M21 3v5h-5", key: "1q7to0" }],
|
|
2310
|
-
["path", { d: "M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16", key: "3uifl3" }],
|
|
2311
|
-
["path", { d: "M8 16H3v5", key: "1cv678" }]
|
|
2312
|
-
]);
|
|
2313
|
-
|
|
2314
2305
|
// ../../node_modules/.pnpm/lucide-react@0.468.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/rocket.js
|
|
2315
2306
|
var Rocket = createLucideIcon("Rocket", [
|
|
2316
2307
|
[
|
|
@@ -2429,13 +2420,6 @@ var TriangleAlert = createLucideIcon("TriangleAlert", [
|
|
|
2429
2420
|
["path", { d: "M12 17h.01", key: "p32p05" }]
|
|
2430
2421
|
]);
|
|
2431
2422
|
|
|
2432
|
-
// ../../node_modules/.pnpm/lucide-react@0.468.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/workflow.js
|
|
2433
|
-
var Workflow = createLucideIcon("Workflow", [
|
|
2434
|
-
["rect", { width: "8", height: "8", x: "3", y: "3", rx: "2", key: "by2w9f" }],
|
|
2435
|
-
["path", { d: "M7 11v4a2 2 0 0 0 2 2h4", key: "xkn7yn" }],
|
|
2436
|
-
["rect", { width: "8", height: "8", x: "13", y: "13", rx: "2", key: "1cgmvn" }]
|
|
2437
|
-
]);
|
|
2438
|
-
|
|
2439
2423
|
// ../../node_modules/.pnpm/lucide-react@0.468.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/wrench.js
|
|
2440
2424
|
var Wrench = createLucideIcon("Wrench", [
|
|
2441
2425
|
[
|
|
@@ -2453,8 +2437,19 @@ var X = createLucideIcon("X", [
|
|
|
2453
2437
|
["path", { d: "m6 6 12 12", key: "d8bk6v" }]
|
|
2454
2438
|
]);
|
|
2455
2439
|
|
|
2440
|
+
// ../../node_modules/.pnpm/lucide-react@0.468.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/zap.js
|
|
2441
|
+
var Zap = createLucideIcon("Zap", [
|
|
2442
|
+
[
|
|
2443
|
+
"path",
|
|
2444
|
+
{
|
|
2445
|
+
d: "M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",
|
|
2446
|
+
key: "1xq2db"
|
|
2447
|
+
}
|
|
2448
|
+
]
|
|
2449
|
+
]);
|
|
2450
|
+
|
|
2456
2451
|
// src/components/PlanUpdateBlock.tsx
|
|
2457
|
-
import { useEffect
|
|
2452
|
+
import { useEffect, useRef, useState } from "react";
|
|
2458
2453
|
|
|
2459
2454
|
// ../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs
|
|
2460
2455
|
function r(e2) {
|
|
@@ -5674,382 +5669,6 @@ async function copyToClipboard(text) {
|
|
|
5674
5669
|
}
|
|
5675
5670
|
}
|
|
5676
5671
|
|
|
5677
|
-
// src/chat/lib/code-language.ts
|
|
5678
|
-
var FILE_EXTENSION_ALIASES = {
|
|
5679
|
-
".bash": "bash",
|
|
5680
|
-
".css": "css",
|
|
5681
|
-
".go": "go",
|
|
5682
|
-
".htm": "html",
|
|
5683
|
-
".html": "html",
|
|
5684
|
-
".js": "javascript",
|
|
5685
|
-
".json": "json",
|
|
5686
|
-
".jsonc": "json",
|
|
5687
|
-
".jsx": "jsx",
|
|
5688
|
-
".md": "markdown",
|
|
5689
|
-
".mdx": "markdown",
|
|
5690
|
-
".py": "python",
|
|
5691
|
-
".rs": "rust",
|
|
5692
|
-
".scss": "css",
|
|
5693
|
-
".sh": "bash",
|
|
5694
|
-
".ts": "typescript",
|
|
5695
|
-
".tsx": "tsx",
|
|
5696
|
-
".yaml": "yaml",
|
|
5697
|
-
".yml": "yaml",
|
|
5698
|
-
".zsh": "bash"
|
|
5699
|
-
};
|
|
5700
|
-
function getCodeLanguageFromFilename(filePath) {
|
|
5701
|
-
if (!filePath) return null;
|
|
5702
|
-
const dotIndex = filePath.lastIndexOf(".");
|
|
5703
|
-
if (dotIndex < 0) return null;
|
|
5704
|
-
return FILE_EXTENSION_ALIASES[filePath.slice(dotIndex).toLowerCase()] ?? null;
|
|
5705
|
-
}
|
|
5706
|
-
|
|
5707
|
-
// src/chat/runtime/environment.tsx
|
|
5708
|
-
import { createContext as createContext3, useContext as useContext3, useMemo as useMemo2 } from "react";
|
|
5709
|
-
|
|
5710
|
-
// src/chat/runtime/session-source.tsx
|
|
5711
|
-
import { createInitialSessionState } from "@blade-hq/agent-client/internal";
|
|
5712
|
-
import {
|
|
5713
|
-
createContext as createContext2,
|
|
5714
|
-
useContext as useContext2,
|
|
5715
|
-
useEffect,
|
|
5716
|
-
useLayoutEffect,
|
|
5717
|
-
useMemo,
|
|
5718
|
-
useRef,
|
|
5719
|
-
useState,
|
|
5720
|
-
useSyncExternalStore
|
|
5721
|
-
} from "react";
|
|
5722
|
-
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
5723
|
-
var EMPTY_SOURCE = {
|
|
5724
|
-
subscribe: () => () => {
|
|
5725
|
-
},
|
|
5726
|
-
getSession: () => void 0,
|
|
5727
|
-
isHistoryLoading: () => false,
|
|
5728
|
-
planRevealRevision: () => 0
|
|
5729
|
-
};
|
|
5730
|
-
var SessionSourceContext = createContext2(EMPTY_SOURCE);
|
|
5731
|
-
function SessionSourceProvider({ source, children }) {
|
|
5732
|
-
return /* @__PURE__ */ jsx2(SessionSourceContext.Provider, { value: source, children });
|
|
5733
|
-
}
|
|
5734
|
-
function useSessionSource() {
|
|
5735
|
-
return useContext2(SessionSourceContext);
|
|
5736
|
-
}
|
|
5737
|
-
var SingleSessionSource = class {
|
|
5738
|
-
session = null;
|
|
5739
|
-
loading = false;
|
|
5740
|
-
listeners = /* @__PURE__ */ new Set();
|
|
5741
|
-
revisions = /* @__PURE__ */ new Map();
|
|
5742
|
-
subscribe = (listener) => {
|
|
5743
|
-
this.listeners.add(listener);
|
|
5744
|
-
return () => {
|
|
5745
|
-
this.listeners.delete(listener);
|
|
5746
|
-
};
|
|
5747
|
-
};
|
|
5748
|
-
getSession = (sessionId) => {
|
|
5749
|
-
const current = this.session;
|
|
5750
|
-
return current && (!sessionId || current.sessionId === sessionId) ? current : void 0;
|
|
5751
|
-
};
|
|
5752
|
-
isHistoryLoading = (sessionId) => {
|
|
5753
|
-
if (!this.session) return this.loading;
|
|
5754
|
-
return (!sessionId || this.session.sessionId === sessionId) && this.loading;
|
|
5755
|
-
};
|
|
5756
|
-
planRevealRevision = (sessionId) => sessionId ? this.revisions.get(sessionId) ?? 0 : 0;
|
|
5757
|
-
update(session, loading) {
|
|
5758
|
-
if (this.session === session && this.loading === loading) return;
|
|
5759
|
-
this.session = session;
|
|
5760
|
-
this.loading = loading;
|
|
5761
|
-
this.notify();
|
|
5762
|
-
}
|
|
5763
|
-
/** 只认实时成功的根回路 update_plan:历史加载与断线补数不算「新揭示」。 */
|
|
5764
|
-
watchPlan(session) {
|
|
5765
|
-
return session.on("toolResult", ({ toolCall, turn, source }) => {
|
|
5766
|
-
if (source === "reconnect_replay" || (turn.loop_id || "root") !== "root" || toolCall.status !== "done" || !isPlanUpdateTool(toolCall) || !parsePlanUpdate(toolCall.arguments)) {
|
|
5767
|
-
return;
|
|
5768
|
-
}
|
|
5769
|
-
this.revisions.set(session.sessionId, (this.revisions.get(session.sessionId) ?? 0) + 1);
|
|
5770
|
-
this.notify();
|
|
5771
|
-
});
|
|
5772
|
-
}
|
|
5773
|
-
notify() {
|
|
5774
|
-
for (const listener of [...this.listeners]) listener();
|
|
5775
|
-
}
|
|
5776
|
-
};
|
|
5777
|
-
function useSingleSessionSource(session, loading) {
|
|
5778
|
-
const [source] = useState(() => new SingleSessionSource());
|
|
5779
|
-
useLayoutEffect(() => {
|
|
5780
|
-
source.update(session, loading);
|
|
5781
|
-
}, [source, session, loading]);
|
|
5782
|
-
useEffect(() => session ? source.watchPlan(session) : void 0, [source, session]);
|
|
5783
|
-
return source;
|
|
5784
|
-
}
|
|
5785
|
-
var EMPTY_STATE = createInitialSessionState("");
|
|
5786
|
-
var noopSubscribe = () => () => {
|
|
5787
|
-
};
|
|
5788
|
-
function useSessionHandle(sessionId) {
|
|
5789
|
-
const source = useSessionSource();
|
|
5790
|
-
return useSyncExternalStore(
|
|
5791
|
-
source.subscribe,
|
|
5792
|
-
() => source.getSession(sessionId) ?? null,
|
|
5793
|
-
() => source.getSession(sessionId) ?? null
|
|
5794
|
-
);
|
|
5795
|
-
}
|
|
5796
|
-
function useSessionState(sessionId, selector) {
|
|
5797
|
-
const session = useSessionHandle(sessionId);
|
|
5798
|
-
const selectorRef = useRef(selector);
|
|
5799
|
-
selectorRef.current = selector;
|
|
5800
|
-
const store = useMemo(() => {
|
|
5801
|
-
let lastState = null;
|
|
5802
|
-
let lastSelector = null;
|
|
5803
|
-
let lastSelected;
|
|
5804
|
-
const getSnapshot = () => {
|
|
5805
|
-
const state = session ? session.getState() : EMPTY_STATE;
|
|
5806
|
-
const current = selectorRef.current;
|
|
5807
|
-
if (state !== lastState || current !== lastSelector) {
|
|
5808
|
-
const next = current(state);
|
|
5809
|
-
if (!(lastState !== null && Object.is(next, lastSelected))) lastSelected = next;
|
|
5810
|
-
lastState = state;
|
|
5811
|
-
lastSelector = current;
|
|
5812
|
-
}
|
|
5813
|
-
return lastSelected;
|
|
5814
|
-
};
|
|
5815
|
-
return {
|
|
5816
|
-
subscribe: session ? (listener) => session.subscribe(listener) : noopSubscribe,
|
|
5817
|
-
getSnapshot
|
|
5818
|
-
};
|
|
5819
|
-
}, [session]);
|
|
5820
|
-
return useSyncExternalStore(store.subscribe, store.getSnapshot, store.getSnapshot);
|
|
5821
|
-
}
|
|
5822
|
-
function useIsSessionHistoryLoading(sessionId) {
|
|
5823
|
-
const source = useSessionSource();
|
|
5824
|
-
return useSyncExternalStore(
|
|
5825
|
-
source.subscribe,
|
|
5826
|
-
() => source.isHistoryLoading(sessionId),
|
|
5827
|
-
() => source.isHistoryLoading(sessionId)
|
|
5828
|
-
);
|
|
5829
|
-
}
|
|
5830
|
-
function usePlanRevealRevision(sessionId) {
|
|
5831
|
-
const source = useSessionSource();
|
|
5832
|
-
return useSyncExternalStore(
|
|
5833
|
-
source.subscribe,
|
|
5834
|
-
() => source.planRevealRevision(sessionId),
|
|
5835
|
-
() => source.planRevealRevision(sessionId)
|
|
5836
|
-
);
|
|
5837
|
-
}
|
|
5838
|
-
var CurrentChatSessionContext = createContext2(null);
|
|
5839
|
-
function CurrentChatSessionProvider({ sessionId, children }) {
|
|
5840
|
-
return /* @__PURE__ */ jsx2(CurrentChatSessionContext.Provider, { value: sessionId, children });
|
|
5841
|
-
}
|
|
5842
|
-
function useCurrentChatSessionId() {
|
|
5843
|
-
return useContext2(CurrentChatSessionContext);
|
|
5844
|
-
}
|
|
5845
|
-
|
|
5846
|
-
// src/chat/runtime/environment.tsx
|
|
5847
|
-
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
5848
|
-
var EMPTY_ENVIRONMENT = {};
|
|
5849
|
-
var ChatEnvironmentContext = createContext3(EMPTY_ENVIRONMENT);
|
|
5850
|
-
function ChatEnvironmentProvider({ value, children }) {
|
|
5851
|
-
return /* @__PURE__ */ jsx3(ChatEnvironmentContext.Provider, { value, children });
|
|
5852
|
-
}
|
|
5853
|
-
function useChatEnvironment() {
|
|
5854
|
-
return useContext3(ChatEnvironmentContext);
|
|
5855
|
-
}
|
|
5856
|
-
var NO_HIGHLIGHT = { highlightedHtml: null };
|
|
5857
|
-
function usePlainCode() {
|
|
5858
|
-
return NO_HIGHLIGHT;
|
|
5859
|
-
}
|
|
5860
|
-
function useHighlightedCode(code, language) {
|
|
5861
|
-
const use = useChatEnvironment().useHighlightedCode ?? usePlainCode;
|
|
5862
|
-
return use(code, language);
|
|
5863
|
-
}
|
|
5864
|
-
function useNoDetail() {
|
|
5865
|
-
return null;
|
|
5866
|
-
}
|
|
5867
|
-
function useChatSessionDetail(sessionId) {
|
|
5868
|
-
const use = useChatEnvironment().useSessionDetail ?? useNoDetail;
|
|
5869
|
-
return use(sessionId);
|
|
5870
|
-
}
|
|
5871
|
-
function useShowTodo() {
|
|
5872
|
-
return false;
|
|
5873
|
-
}
|
|
5874
|
-
function useHideTodo() {
|
|
5875
|
-
const use = useChatEnvironment().useHideTodo ?? useShowTodo;
|
|
5876
|
-
return use();
|
|
5877
|
-
}
|
|
5878
|
-
function useChatRenderMode() {
|
|
5879
|
-
return useChatEnvironment().renderMode ?? "normal";
|
|
5880
|
-
}
|
|
5881
|
-
function notifyChat(environment, kind, message, options) {
|
|
5882
|
-
if (environment.notify) environment.notify(kind, message, options);
|
|
5883
|
-
else if (kind === "error") console.error(message);
|
|
5884
|
-
}
|
|
5885
|
-
function useComposerBridge(sessionId) {
|
|
5886
|
-
const environment = useChatEnvironment();
|
|
5887
|
-
const session = useSessionHandle(sessionId);
|
|
5888
|
-
return useMemo2(
|
|
5889
|
-
() => ({
|
|
5890
|
-
appendText(text, separate = false) {
|
|
5891
|
-
if (!sessionId) return;
|
|
5892
|
-
if (environment.appendToComposer) environment.appendToComposer(sessionId, text, separate);
|
|
5893
|
-
else session?.insertText(separate ? `
|
|
5894
|
-
|
|
5895
|
-
${text}` : text);
|
|
5896
|
-
},
|
|
5897
|
-
addContext(context) {
|
|
5898
|
-
if (!sessionId) return;
|
|
5899
|
-
if (environment.addComposerContext) environment.addComposerContext(sessionId, context);
|
|
5900
|
-
else session?.attach(context.label, context.content);
|
|
5901
|
-
}
|
|
5902
|
-
}),
|
|
5903
|
-
[environment, session, sessionId]
|
|
5904
|
-
);
|
|
5905
|
-
}
|
|
5906
|
-
var NO_VIRTUAL_ITEMS = [];
|
|
5907
|
-
var NO_VIRTUALIZER = {
|
|
5908
|
-
getVirtualItems: () => NO_VIRTUAL_ITEMS,
|
|
5909
|
-
getTotalSize: () => 0,
|
|
5910
|
-
measureElement: () => {
|
|
5911
|
-
},
|
|
5912
|
-
scrollToIndex: () => {
|
|
5913
|
-
},
|
|
5914
|
-
getOffsetForIndex: () => void 0
|
|
5915
|
-
};
|
|
5916
|
-
function useNoVirtualizer() {
|
|
5917
|
-
return NO_VIRTUALIZER;
|
|
5918
|
-
}
|
|
5919
|
-
function useChatVirtualizer(options) {
|
|
5920
|
-
const injected = useChatEnvironment().useVirtualizer;
|
|
5921
|
-
const use = injected ?? useNoVirtualizer;
|
|
5922
|
-
const virtualizer = use(options);
|
|
5923
|
-
return { virtualizer, enabled: Boolean(injected) };
|
|
5924
|
-
}
|
|
5925
|
-
|
|
5926
|
-
// src/chat/tool-renderers/shared.tsx
|
|
5927
|
-
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
5928
|
-
function getResultText(result) {
|
|
5929
|
-
if (typeof result === "string") return result;
|
|
5930
|
-
if (Array.isArray(result)) {
|
|
5931
|
-
const texts = result.filter(
|
|
5932
|
-
(p2) => typeof p2 === "object" && p2 !== null && p2.type === "text" && typeof p2.text === "string"
|
|
5933
|
-
).map((p2) => p2.text);
|
|
5934
|
-
return texts.length > 0 ? texts.join("\n") : null;
|
|
5935
|
-
}
|
|
5936
|
-
return result != null ? String(result) : null;
|
|
5937
|
-
}
|
|
5938
|
-
function getResultImages(result) {
|
|
5939
|
-
if (!Array.isArray(result)) return [];
|
|
5940
|
-
return result.filter(
|
|
5941
|
-
(p2) => typeof p2 === "object" && p2 !== null && p2.type === "image_url" && typeof p2.image_url?.url === "string"
|
|
5942
|
-
).map((p2) => p2.image_url);
|
|
5943
|
-
}
|
|
5944
|
-
function parseJsonValue(value) {
|
|
5945
|
-
if (!value) return null;
|
|
5946
|
-
try {
|
|
5947
|
-
return JSON.parse(value);
|
|
5948
|
-
} catch {
|
|
5949
|
-
return null;
|
|
5950
|
-
}
|
|
5951
|
-
}
|
|
5952
|
-
function isPlainObject(value) {
|
|
5953
|
-
return Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
5954
|
-
}
|
|
5955
|
-
function getStringValue(data, key) {
|
|
5956
|
-
const value = data?.[key];
|
|
5957
|
-
return typeof value === "string" && value.trim() ? value.trim() : null;
|
|
5958
|
-
}
|
|
5959
|
-
function getNumberValue(data, key) {
|
|
5960
|
-
const value = data?.[key];
|
|
5961
|
-
return typeof value === "number" && Number.isFinite(value) ? value : null;
|
|
5962
|
-
}
|
|
5963
|
-
function getBooleanValue(data, key) {
|
|
5964
|
-
return data?.[key] === true;
|
|
5965
|
-
}
|
|
5966
|
-
function extractErrorMessage(value) {
|
|
5967
|
-
const text = typeof value === "string" ? value : getResultText(value);
|
|
5968
|
-
if (!text?.trim()) return null;
|
|
5969
|
-
const parsed = parseJsonValue(text);
|
|
5970
|
-
if (!isPlainObject(parsed)) return null;
|
|
5971
|
-
return typeof parsed.error === "string" && parsed.error.trim() ? parsed.error.trim() : null;
|
|
5972
|
-
}
|
|
5973
|
-
function getFileName(filePath) {
|
|
5974
|
-
if (!filePath) return "\u672A\u547D\u540D\u6587\u4EF6";
|
|
5975
|
-
return filePath.split(/[\\/]/).pop() ?? filePath;
|
|
5976
|
-
}
|
|
5977
|
-
function getCodeLanguage(filePath) {
|
|
5978
|
-
return getCodeLanguageFromFilename(filePath);
|
|
5979
|
-
}
|
|
5980
|
-
function formatBytes(size4) {
|
|
5981
|
-
if (typeof size4 !== "number" || !Number.isFinite(size4) || size4 < 0) return null;
|
|
5982
|
-
if (size4 < 1024) return `${size4} B`;
|
|
5983
|
-
if (size4 < 1024 * 1024) return `${(size4 / 1024).toFixed(1)} KB`;
|
|
5984
|
-
return `${(size4 / (1024 * 1024)).toFixed(1)} MB`;
|
|
5985
|
-
}
|
|
5986
|
-
function CodePreview({
|
|
5987
|
-
content,
|
|
5988
|
-
filePath,
|
|
5989
|
-
emptyLabel = "\uFF08\u6682\u65E0\u5185\u5BB9\uFF09",
|
|
5990
|
-
className
|
|
5991
|
-
}) {
|
|
5992
|
-
const { highlightedHtml } = useHighlightedCode(content, getCodeLanguage(filePath));
|
|
5993
|
-
if (!content.trim()) {
|
|
5994
|
-
return /* @__PURE__ */ jsx4(
|
|
5995
|
-
"pre",
|
|
5996
|
-
{
|
|
5997
|
-
className: cn(
|
|
5998
|
-
"overflow-auto rounded-lg border border-[hsl(var(--border))]",
|
|
5999
|
-
"bg-[hsl(var(--muted))]/35 p-3 font-mono text-[11px] text-[hsl(var(--muted-foreground))]",
|
|
6000
|
-
className
|
|
6001
|
-
),
|
|
6002
|
-
children: /* @__PURE__ */ jsx4("code", { children: emptyLabel })
|
|
6003
|
-
}
|
|
6004
|
-
);
|
|
6005
|
-
}
|
|
6006
|
-
return /* @__PURE__ */ jsx4(
|
|
6007
|
-
"pre",
|
|
6008
|
-
{
|
|
6009
|
-
className: cn(
|
|
6010
|
-
"overflow-auto rounded-lg border border-[hsl(var(--border))]",
|
|
6011
|
-
"bg-[hsl(var(--muted))]/35 p-3 text-[11px]",
|
|
6012
|
-
className
|
|
6013
|
-
),
|
|
6014
|
-
children: highlightedHtml ? /* @__PURE__ */ jsx4(
|
|
6015
|
-
"code",
|
|
6016
|
-
{
|
|
6017
|
-
className: "font-mono",
|
|
6018
|
-
dangerouslySetInnerHTML: { __html: highlightedHtml }
|
|
6019
|
-
}
|
|
6020
|
-
) : /* @__PURE__ */ jsx4("code", { className: "whitespace-pre-wrap break-words font-mono text-[hsl(var(--foreground))]", children: content })
|
|
6021
|
-
}
|
|
6022
|
-
);
|
|
6023
|
-
}
|
|
6024
|
-
|
|
6025
|
-
// src/chat/tool-renderers/kb-search-result.ts
|
|
6026
|
-
function parseKbSearchResult(result) {
|
|
6027
|
-
const value = parseJsonValue(getResultText(result));
|
|
6028
|
-
if (!isPlainObject(value) || !Array.isArray(value.hits)) return null;
|
|
6029
|
-
const hits = value.hits.filter(isPlainObject).map((hit, index2) => ({
|
|
6030
|
-
n: typeof hit.n === "number" ? hit.n : index2 + 1,
|
|
6031
|
-
kbName: getStringValue(hit, "kb_name") ?? "",
|
|
6032
|
-
title: getStringValue(hit, "title") ?? getStringValue(hit, "path") ?? "\u672A\u547D\u540D\u6587\u6863",
|
|
6033
|
-
path: getStringValue(hit, "path") ?? "",
|
|
6034
|
-
page: typeof hit.page === "number" ? hit.page : null,
|
|
6035
|
-
heading: getStringValue(hit, "heading"),
|
|
6036
|
-
text: getStringValue(hit, "text") ?? "",
|
|
6037
|
-
previewUrl: getStringValue(hit, "preview_url")
|
|
6038
|
-
}));
|
|
6039
|
-
return {
|
|
6040
|
-
summary: getStringValue(value, "summary"),
|
|
6041
|
-
query: getStringValue(value, "query"),
|
|
6042
|
-
hits
|
|
6043
|
-
};
|
|
6044
|
-
}
|
|
6045
|
-
function formatKbSearchLabel(result) {
|
|
6046
|
-
const parsed = parseKbSearchResult(result);
|
|
6047
|
-
if (!parsed) return null;
|
|
6048
|
-
const names = [...new Set(parsed.hits.map((hit) => hit.kbName).filter(Boolean))];
|
|
6049
|
-
const scope = names.length > 0 ? names.map((name) => `\u300A${name}\u300B`).join("") : "\u77E5\u8BC6\u5E93";
|
|
6050
|
-
return `\u{1F50D} \u5728${scope}\u68C0\u7D22\u5230 ${parsed.hits.length} \u6761`;
|
|
6051
|
-
}
|
|
6052
|
-
|
|
6053
5672
|
// src/chat/display-utils.ts
|
|
6054
5673
|
var TOOL_NAME_ALIASES = {
|
|
6055
5674
|
agent: "Agent",
|
|
@@ -6064,7 +5683,6 @@ var TOOL_NAME_ALIASES = {
|
|
|
6064
5683
|
finish_task: "FinishTask",
|
|
6065
5684
|
glob: "Glob",
|
|
6066
5685
|
grep: "Grep",
|
|
6067
|
-
kb_search: "KbSearch",
|
|
6068
5686
|
ls: "Ls",
|
|
6069
5687
|
multi_edit: "MultiEdit",
|
|
6070
5688
|
read: "Read",
|
|
@@ -6084,7 +5702,6 @@ var TOOL_DISPLAY_LABELS = {
|
|
|
6084
5702
|
Ls: "\u5217\u51FA\u76EE\u5F55",
|
|
6085
5703
|
Glob: "\u5339\u914D\u6587\u4EF6",
|
|
6086
5704
|
Grep: "\u641C\u7D22\u6587\u672C",
|
|
6087
|
-
KbSearch: "\u68C0\u7D22\u77E5\u8BC6\u5E93",
|
|
6088
5705
|
WebSearch: "\u641C\u7D22\u7F51\u9875",
|
|
6089
5706
|
WebFetch: "\u6574\u7406\u7F51\u9875\u5185\u5BB9",
|
|
6090
5707
|
Agent: "\u6D3E\u751F\u5B50\u667A\u80FD\u4F53",
|
|
@@ -6122,7 +5739,7 @@ function safeParseJson(value) {
|
|
|
6122
5739
|
return null;
|
|
6123
5740
|
}
|
|
6124
5741
|
}
|
|
6125
|
-
function
|
|
5742
|
+
function isPlainObject(value) {
|
|
6126
5743
|
return Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
6127
5744
|
}
|
|
6128
5745
|
function getStringArgValue(args, key) {
|
|
@@ -6134,7 +5751,7 @@ function getCommandDescription(args) {
|
|
|
6134
5751
|
}
|
|
6135
5752
|
function getToolDescription(toolCall) {
|
|
6136
5753
|
const args = safeParseJson(toolCall.arguments);
|
|
6137
|
-
if (!
|
|
5754
|
+
if (!isPlainObject(args)) return null;
|
|
6138
5755
|
return getCommandDescription(args) || null;
|
|
6139
5756
|
}
|
|
6140
5757
|
function formatFileName(filePath) {
|
|
@@ -6192,12 +5809,6 @@ function getToolDisplayLabel(toolCall) {
|
|
|
6192
5809
|
const title = args && typeof args.title === "string" ? args.title : "";
|
|
6193
5810
|
return title ? `${baseLabel}\uFF1A${title}` : baseLabel;
|
|
6194
5811
|
}
|
|
6195
|
-
if (normalized === "KbSearch") {
|
|
6196
|
-
const resultLabel = formatKbSearchLabel(toolCall.result);
|
|
6197
|
-
if (resultLabel) return resultLabel;
|
|
6198
|
-
const query = getStringArgValue(args, "query");
|
|
6199
|
-
return query ? `${baseLabel}\uFF1A${query}` : baseLabel;
|
|
6200
|
-
}
|
|
6201
5812
|
return description || baseLabel;
|
|
6202
5813
|
}
|
|
6203
5814
|
function getToolTone(status) {
|
|
@@ -6234,7 +5845,7 @@ function extractToolFilePaths(toolCall) {
|
|
|
6234
5845
|
for (const item of value) collect(item, depth + 1, allowPlainString);
|
|
6235
5846
|
return;
|
|
6236
5847
|
}
|
|
6237
|
-
if (!
|
|
5848
|
+
if (!isPlainObject(value)) return;
|
|
6238
5849
|
for (const key of PRIORITY_FILE_KEYS) collect(value[key], depth + 1, true);
|
|
6239
5850
|
for (const [key, nested] of Object.entries(value)) {
|
|
6240
5851
|
if (!PRIORITY_FILE_KEYS.includes(key) && nested && typeof nested === "object") collect(nested, depth + 1, false);
|
|
@@ -6249,7 +5860,7 @@ function extractToolFilePaths(toolCall) {
|
|
|
6249
5860
|
}
|
|
6250
5861
|
} else if (Array.isArray(value)) {
|
|
6251
5862
|
for (const item of value) collectPatchHeaders(item);
|
|
6252
|
-
} else if (
|
|
5863
|
+
} else if (isPlainObject(value)) {
|
|
6253
5864
|
for (const [key, nested] of Object.entries(value)) {
|
|
6254
5865
|
if (key.toLowerCase().includes("patch") || key.toLowerCase().includes("diff")) collectPatchHeaders(nested);
|
|
6255
5866
|
}
|
|
@@ -6273,7 +5884,7 @@ function getToolOutputTag(toolCall) {
|
|
|
6273
5884
|
}
|
|
6274
5885
|
|
|
6275
5886
|
// src/components/PlanUpdateBlock.tsx
|
|
6276
|
-
import { jsx as
|
|
5887
|
+
import { jsx as jsx2, jsxs } from "react/jsx-runtime";
|
|
6277
5888
|
var PLAN_STEP_STATUSES = /* @__PURE__ */ new Set(["pending", "in_progress", "completed"]);
|
|
6278
5889
|
var PLAN_AUTO_COLLAPSE_MS = 5e3;
|
|
6279
5890
|
function isPlanUpdateTool(toolCall) {
|
|
@@ -6328,12 +5939,12 @@ function PlanStepIcon({
|
|
|
6328
5939
|
running = false
|
|
6329
5940
|
}) {
|
|
6330
5941
|
if (status === "completed") {
|
|
6331
|
-
return /* @__PURE__ */
|
|
5942
|
+
return /* @__PURE__ */ jsx2(Check, { size: size4, strokeWidth: 2, className: "shrink-0 text-emerald-500" });
|
|
6332
5943
|
}
|
|
6333
5944
|
if (status === "in_progress") {
|
|
6334
|
-
return running ? /* @__PURE__ */
|
|
5945
|
+
return running ? /* @__PURE__ */ jsx2(LoaderCircle, { size: size4, className: "shrink-0 animate-spin text-[hsl(var(--muted-foreground))]" }) : /* @__PURE__ */ jsx2(CircleDot, { size: size4, className: "shrink-0 text-amber-500" });
|
|
6335
5946
|
}
|
|
6336
|
-
return /* @__PURE__ */
|
|
5947
|
+
return /* @__PURE__ */ jsx2(Circle, { size: size4, className: "shrink-0 text-[hsl(var(--muted-foreground))]/60" });
|
|
6337
5948
|
}
|
|
6338
5949
|
function PlanUpdateBlock({
|
|
6339
5950
|
toolCall,
|
|
@@ -6343,10 +5954,10 @@ function PlanUpdateBlock({
|
|
|
6343
5954
|
}) {
|
|
6344
5955
|
const updateKey = `${toolCall.id}:${toolCall.arguments}`;
|
|
6345
5956
|
const revealKey = autoReveal ? updateKey : null;
|
|
6346
|
-
const [collapsed, setCollapsed] =
|
|
6347
|
-
const collapseTimerRef =
|
|
5957
|
+
const [collapsed, setCollapsed] = useState(!autoReveal);
|
|
5958
|
+
const collapseTimerRef = useRef(null);
|
|
6348
5959
|
const data = parsePlanUpdate(toolCall.arguments);
|
|
6349
|
-
|
|
5960
|
+
useEffect(() => {
|
|
6350
5961
|
if (!revealKey) return;
|
|
6351
5962
|
if (collapseTimerRef.current) clearTimeout(collapseTimerRef.current);
|
|
6352
5963
|
setCollapsed(false);
|
|
@@ -6355,7 +5966,7 @@ function PlanUpdateBlock({
|
|
|
6355
5966
|
collapseTimerRef.current = null;
|
|
6356
5967
|
}, PLAN_AUTO_COLLAPSE_MS);
|
|
6357
5968
|
}, [revealKey]);
|
|
6358
|
-
|
|
5969
|
+
useEffect(
|
|
6359
5970
|
() => () => {
|
|
6360
5971
|
if (collapseTimerRef.current) clearTimeout(collapseTimerRef.current);
|
|
6361
5972
|
},
|
|
@@ -6384,20 +5995,20 @@ function PlanUpdateBlock({
|
|
|
6384
5995
|
),
|
|
6385
5996
|
children: [
|
|
6386
5997
|
collapsed && currentStep ? /* @__PURE__ */ jsxs("span", { className: "flex min-w-0 flex-1 items-center gap-1.5 text-xs text-[hsl(var(--foreground))]", children: [
|
|
6387
|
-
/* @__PURE__ */
|
|
6388
|
-
/* @__PURE__ */
|
|
6389
|
-
pausedAtCurrentStep ? /* @__PURE__ */
|
|
5998
|
+
/* @__PURE__ */ jsx2(PlanStepIcon, { status: currentStep.status, size: 14, running }),
|
|
5999
|
+
/* @__PURE__ */ jsx2("span", { className: "truncate", children: currentStep.step }),
|
|
6000
|
+
pausedAtCurrentStep ? /* @__PURE__ */ jsx2("span", { className: "shrink-0 text-[11px] text-amber-500", children: "\u5DF2\u6682\u505C" }) : null
|
|
6390
6001
|
] }) : /* @__PURE__ */ jsxs("span", { className: "flex min-w-0 flex-1 items-center gap-1.5 text-[11px] text-[hsl(var(--muted-foreground))]", children: [
|
|
6391
|
-
/* @__PURE__ */
|
|
6392
|
-
/* @__PURE__ */
|
|
6393
|
-
pausedAtCurrentStep ? /* @__PURE__ */
|
|
6002
|
+
/* @__PURE__ */ jsx2(ListChecks, { size: 14, className: "shrink-0", "aria-hidden": "true" }),
|
|
6003
|
+
/* @__PURE__ */ jsx2("span", { className: "truncate", children: "\u4EFB\u52A1\u8FDB\u5EA6" }),
|
|
6004
|
+
pausedAtCurrentStep ? /* @__PURE__ */ jsx2("span", { className: "shrink-0 text-amber-500", children: "\u5DF2\u6682\u505C" }) : null
|
|
6394
6005
|
] }),
|
|
6395
6006
|
/* @__PURE__ */ jsxs("span", { className: "shrink-0 text-[11px] tabular-nums text-[hsl(var(--muted-foreground))]", children: [
|
|
6396
6007
|
completed,
|
|
6397
6008
|
"/",
|
|
6398
6009
|
data.plan.length
|
|
6399
6010
|
] }),
|
|
6400
|
-
/* @__PURE__ */
|
|
6011
|
+
/* @__PURE__ */ jsx2(
|
|
6401
6012
|
ChevronDown,
|
|
6402
6013
|
{
|
|
6403
6014
|
size: 14,
|
|
@@ -6410,7 +6021,7 @@ function PlanUpdateBlock({
|
|
|
6410
6021
|
]
|
|
6411
6022
|
}
|
|
6412
6023
|
),
|
|
6413
|
-
/* @__PURE__ */
|
|
6024
|
+
/* @__PURE__ */ jsx2(
|
|
6414
6025
|
"div",
|
|
6415
6026
|
{
|
|
6416
6027
|
"aria-hidden": collapsed,
|
|
@@ -6418,9 +6029,9 @@ function PlanUpdateBlock({
|
|
|
6418
6029
|
"grid transition-[grid-template-rows,opacity] duration-300 ease-out motion-reduce:transition-none",
|
|
6419
6030
|
collapsed ? "grid-rows-[0fr] opacity-0" : "grid-rows-[1fr] opacity-100"
|
|
6420
6031
|
),
|
|
6421
|
-
children: /* @__PURE__ */
|
|
6422
|
-
/* @__PURE__ */
|
|
6423
|
-
/* @__PURE__ */
|
|
6032
|
+
children: /* @__PURE__ */ jsx2("div", { className: "min-h-0 overflow-hidden", children: /* @__PURE__ */ jsx2("div", { className: "flex max-h-40 flex-col gap-0.5 overflow-y-auto px-3 py-2", children: data.plan.length === 0 ? /* @__PURE__ */ jsx2("span", { className: "text-xs text-[hsl(var(--muted-foreground))]", children: "\u6682\u65E0\u4EFB\u52A1\u6B65\u9AA4" }) : data.plan.map((item, index2) => /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-2 py-0.5", children: [
|
|
6033
|
+
/* @__PURE__ */ jsx2("span", { className: "mt-[3px] flex shrink-0", children: /* @__PURE__ */ jsx2(PlanStepIcon, { status: item.status, size: 14, running }) }),
|
|
6034
|
+
/* @__PURE__ */ jsx2(
|
|
6424
6035
|
"span",
|
|
6425
6036
|
{
|
|
6426
6037
|
className: cn(
|
|
@@ -6436,6 +6047,59 @@ function PlanUpdateBlock({
|
|
|
6436
6047
|
] });
|
|
6437
6048
|
}
|
|
6438
6049
|
|
|
6050
|
+
// src/chat/runtime/input-history-storage.ts
|
|
6051
|
+
var generation = 0;
|
|
6052
|
+
function getInputHistoryGeneration() {
|
|
6053
|
+
return generation;
|
|
6054
|
+
}
|
|
6055
|
+
|
|
6056
|
+
// src/chat/runtime/input-cache-reset.ts
|
|
6057
|
+
var resetters = /* @__PURE__ */ new WeakMap();
|
|
6058
|
+
function onInputCachesReset(client, reset) {
|
|
6059
|
+
let set = resetters.get(client);
|
|
6060
|
+
if (!set) {
|
|
6061
|
+
set = /* @__PURE__ */ new Set();
|
|
6062
|
+
resetters.set(client, set);
|
|
6063
|
+
}
|
|
6064
|
+
set.add(reset);
|
|
6065
|
+
return () => {
|
|
6066
|
+
set.delete(reset);
|
|
6067
|
+
};
|
|
6068
|
+
}
|
|
6069
|
+
|
|
6070
|
+
// src/rich-input/lib/plugin-suggestions.ts
|
|
6071
|
+
var accountPreparation = /* @__PURE__ */ new WeakMap();
|
|
6072
|
+
var registeredClients = /* @__PURE__ */ new WeakSet();
|
|
6073
|
+
function pluginRefsForSend(refs, turns = []) {
|
|
6074
|
+
const latest = [...turns].reverse().find((turn) => turn.role === "user");
|
|
6075
|
+
return refs.length || latest?.refs?.length ? refs : void 0;
|
|
6076
|
+
}
|
|
6077
|
+
function prepareAccount(client) {
|
|
6078
|
+
if (!registeredClients.has(client)) {
|
|
6079
|
+
registeredClients.add(client);
|
|
6080
|
+
onInputCachesReset(client, () => accountPreparation.delete(client));
|
|
6081
|
+
}
|
|
6082
|
+
const current = accountPreparation.get(client);
|
|
6083
|
+
if (current && current.token === client.token) return current.ready;
|
|
6084
|
+
const ready = client.plugins.catalog().catch((error) => {
|
|
6085
|
+
accountPreparation.delete(client);
|
|
6086
|
+
throw error;
|
|
6087
|
+
});
|
|
6088
|
+
accountPreparation.set(client, { token: client.token, ready });
|
|
6089
|
+
return ready;
|
|
6090
|
+
}
|
|
6091
|
+
async function getPluginSuggestionItems(client, session, query, pendingPlugins = []) {
|
|
6092
|
+
if (!session && pendingPlugins.length === 0) return [];
|
|
6093
|
+
const path = session ? `/api/sessions/${encodeURIComponent(session)}/plugin-tools/mentions` : "/api/plugin-mentions/mentions";
|
|
6094
|
+
try {
|
|
6095
|
+
if (!session) await prepareAccount(client);
|
|
6096
|
+
const data = await client.json("POST", path, { arguments: { query, cursor: "" }, ...!session ? { plugin_selection: pendingPlugins } : {} });
|
|
6097
|
+
return [...data.items.map((item) => ({ ...item, kind: "plugin", name: item.label })), ...data.errors.map((message) => ({ kind: "pluginError", message }))];
|
|
6098
|
+
} catch {
|
|
6099
|
+
return [{ kind: "pluginError", message: "\u63D2\u4EF6\u6761\u76EE\u6682\u65F6\u65E0\u6CD5\u52A0\u8F7D\uFF0C\u8BF7\u91CD\u65B0\u8F93\u5165 @ \u91CD\u8BD5" }];
|
|
6100
|
+
}
|
|
6101
|
+
}
|
|
6102
|
+
|
|
6439
6103
|
// ../../node_modules/.pnpm/@cfworker+json-schema@4.1.1/node_modules/@cfworker/json-schema/dist/esm/deep-compare-strict.js
|
|
6440
6104
|
function deepCompareStrict(a, b) {
|
|
6441
6105
|
const typeofa = typeof a;
|
|
@@ -7646,7 +7310,7 @@ function canExpand(schema, uiSchema = {}, formData) {
|
|
|
7646
7310
|
}
|
|
7647
7311
|
|
|
7648
7312
|
// ../../node_modules/.pnpm/@rjsf+utils@6.10.0_react@19.2.4/node_modules/@rjsf/utils/lib/isPlainObject.js
|
|
7649
|
-
function
|
|
7313
|
+
function isPlainObject2(thing) {
|
|
7650
7314
|
if (typeof thing !== "object" || thing === null) {
|
|
7651
7315
|
return false;
|
|
7652
7316
|
}
|
|
@@ -11540,7 +11204,7 @@ var ErrorSchemaBuilder = class {
|
|
|
11540
11204
|
|
|
11541
11205
|
// ../../node_modules/.pnpm/@rjsf+utils@6.10.0_react@19.2.4/node_modules/@rjsf/utils/lib/getChangedFields.js
|
|
11542
11206
|
function getChangedDescendants(a, b) {
|
|
11543
|
-
if (
|
|
11207
|
+
if (isPlainObject2(a) && isPlainObject2(b)) {
|
|
11544
11208
|
return getChangedFields(a, b, true);
|
|
11545
11209
|
}
|
|
11546
11210
|
if (Array.isArray(a) && Array.isArray(b) && a.length === b.length) {
|
|
@@ -11558,10 +11222,10 @@ function getChangedFields(a, b, deep = false) {
|
|
|
11558
11222
|
if (a === b) {
|
|
11559
11223
|
return [];
|
|
11560
11224
|
}
|
|
11561
|
-
if (!
|
|
11562
|
-
return
|
|
11225
|
+
if (!isPlainObject2(a)) {
|
|
11226
|
+
return isPlainObject2(b) ? Object.keys(b) : [];
|
|
11563
11227
|
}
|
|
11564
|
-
if (!
|
|
11228
|
+
if (!isPlainObject2(b)) {
|
|
11565
11229
|
return Object.keys(a);
|
|
11566
11230
|
}
|
|
11567
11231
|
const aKeys = Object.keys(a);
|
|
@@ -12152,7 +11816,7 @@ function errorsFrom(errorSchema, fieldPath) {
|
|
|
12152
11816
|
const errorList = Array.isArray(errors) ? errors.map((message) => ({ property, message, stack: `${property} ${message}` })) : [];
|
|
12153
11817
|
return Object.keys(errorSchema).reduce((currentList, key) => {
|
|
12154
11818
|
const childSchema = errorSchema[key];
|
|
12155
|
-
if (key !== ERRORS_KEY &&
|
|
11819
|
+
if (key !== ERRORS_KEY && isPlainObject2(childSchema)) {
|
|
12156
11820
|
return currentList.concat(errorsFrom(childSchema, [...fieldPath, key]));
|
|
12157
11821
|
}
|
|
12158
11822
|
return currentList;
|
|
@@ -12174,7 +11838,7 @@ function toFieldPathId(fieldPath, globalFormOptions, parentPath, isMultiValue) {
|
|
|
12174
11838
|
|
|
12175
11839
|
// ../../node_modules/.pnpm/@rjsf+utils@6.10.0_react@19.2.4/node_modules/@rjsf/utils/lib/useAltDateWidgetProps.js
|
|
12176
11840
|
import { jsx as _jsx3 } from "react/jsx-runtime";
|
|
12177
|
-
import { useCallback, useEffect as
|
|
11841
|
+
import { useCallback, useEffect as useEffect2, useMemo, useState as useState2 } from "react";
|
|
12178
11842
|
function readyForChange(state) {
|
|
12179
11843
|
return Object.values(state).every((value) => value !== -1);
|
|
12180
11844
|
}
|
|
@@ -12187,8 +11851,8 @@ function DateElement(props) {
|
|
|
12187
11851
|
}
|
|
12188
11852
|
function useAltDateWidgetProps(props) {
|
|
12189
11853
|
const { time: time2 = false, disabled = false, readonly = false, options, onChange, value } = props;
|
|
12190
|
-
const [state, setState] =
|
|
12191
|
-
|
|
11854
|
+
const [state, setState] = useState2(parseDateString(value, time2));
|
|
11855
|
+
useEffect2(() => {
|
|
12192
11856
|
setState(parseDateString(value, time2));
|
|
12193
11857
|
}, [time2, value]);
|
|
12194
11858
|
const handleChange = useCallback((property, newValue) => {
|
|
@@ -12217,14 +11881,14 @@ function useAltDateWidgetProps(props) {
|
|
|
12217
11881
|
const nextState = parseDateString((/* @__PURE__ */ new Date()).toJSON(), time2);
|
|
12218
11882
|
onChange(toDateString(nextState, time2));
|
|
12219
11883
|
}, [disabled, readonly, time2, onChange]);
|
|
12220
|
-
const elements =
|
|
11884
|
+
const elements = useMemo(() => getDateElementProps(state, time2, options.yearsRange, options.format), [state, time2, options.yearsRange, options.format]);
|
|
12221
11885
|
return { elements, handleChange, handleClear, handleSetNow };
|
|
12222
11886
|
}
|
|
12223
11887
|
|
|
12224
11888
|
// ../../node_modules/.pnpm/@rjsf+utils@6.10.0_react@19.2.4/node_modules/@rjsf/utils/lib/useDeepCompareMemo.js
|
|
12225
|
-
import { useRef as
|
|
11889
|
+
import { useRef as useRef2 } from "react";
|
|
12226
11890
|
function useDeepCompareMemo(newValue) {
|
|
12227
|
-
const valueRef =
|
|
11891
|
+
const valueRef = useRef2(newValue);
|
|
12228
11892
|
if (!deepEquals_default(newValue, valueRef.current)) {
|
|
12229
11893
|
valueRef.current = newValue;
|
|
12230
11894
|
}
|
|
@@ -12232,7 +11896,7 @@ function useDeepCompareMemo(newValue) {
|
|
|
12232
11896
|
}
|
|
12233
11897
|
|
|
12234
11898
|
// ../../node_modules/.pnpm/@rjsf+utils@6.10.0_react@19.2.4/node_modules/@rjsf/utils/lib/useFileWidgetProps.js
|
|
12235
|
-
import { useCallback as useCallback2, useMemo as
|
|
11899
|
+
import { useCallback as useCallback2, useMemo as useMemo2 } from "react";
|
|
12236
11900
|
function addNameToDataURL(dataURL, name) {
|
|
12237
11901
|
return dataURL.replace(";base64", `;name=${encodeURIComponent(name)};base64`);
|
|
12238
11902
|
}
|
|
@@ -12286,13 +11950,13 @@ function extractFileInfo(dataURLs) {
|
|
|
12286
11950
|
}, []);
|
|
12287
11951
|
}
|
|
12288
11952
|
function useFileWidgetProps(value, onChange, multiple = false) {
|
|
12289
|
-
const values =
|
|
11953
|
+
const values = useMemo2(() => {
|
|
12290
11954
|
if (multiple && value) {
|
|
12291
11955
|
return Array.isArray(value) ? value : [value];
|
|
12292
11956
|
}
|
|
12293
11957
|
return [];
|
|
12294
11958
|
}, [value, multiple]);
|
|
12295
|
-
const filesInfo =
|
|
11959
|
+
const filesInfo = useMemo2(() => Array.isArray(value) ? extractFileInfo(value) : extractFileInfo([value || ""]), [value]);
|
|
12296
11960
|
const handleChange = useCallback2(async (files) => {
|
|
12297
11961
|
const filesInfoEvent = await processFiles(files);
|
|
12298
11962
|
const newValue = filesInfoEvent.map((fileInfo) => fileInfo.dataURL || null);
|
|
@@ -12418,7 +12082,7 @@ var TranslatableString;
|
|
|
12418
12082
|
|
|
12419
12083
|
// ../../node_modules/.pnpm/@rjsf+core@6.10.0_@rjsf+utils@6.10.0_react@19.2.4__react@19.2.4_vue@3.5.40_typescript@5.9.3_/node_modules/@rjsf/core/lib/components/fields/ArrayField.js
|
|
12420
12084
|
import { jsx as _jsx4 } from "react/jsx-runtime";
|
|
12421
|
-
import { memo, useCallback as useCallback3, useMemo as
|
|
12085
|
+
import { memo, useCallback as useCallback3, useMemo as useMemo3, useRef as useRef3, useState as useState3 } from "react";
|
|
12422
12086
|
var rowIdCounter = 0;
|
|
12423
12087
|
function generateRowId() {
|
|
12424
12088
|
rowIdCounter += 1;
|
|
@@ -12512,8 +12176,8 @@ function ArrayAsFiles(props) {
|
|
|
12512
12176
|
function ArrayFieldItemInner(props) {
|
|
12513
12177
|
const { itemKey, index: index2, name, disabled, hideError, readonly, registry, uiOptions, parentUiSchema, canAdd, canRemove = true, canMoveUp, canMoveDown, rawItemSchema, itemData, itemUiSchema, parentFieldPathId, itemErrorSchema, autofocus, onBlur, onFocus, onChange, rawErrors, totalItems, title, handleAddItem, handleCopyItem, handleRemoveItem, handleReorderItems } = props;
|
|
12514
12178
|
const { schemaUtils, fields: { ArraySchemaField, SchemaField: SchemaField2 }, globalUiOptions, globalFormOptions } = registry;
|
|
12515
|
-
const itemSchema =
|
|
12516
|
-
const fieldPathId =
|
|
12179
|
+
const itemSchema = useMemo3(() => schemaUtils.retrieveSchema(rawItemSchema, itemData), [schemaUtils, rawItemSchema, itemData]);
|
|
12180
|
+
const fieldPathId = useMemo3(() => toFieldPathId(index2, globalFormOptions, parentFieldPathId), [index2, globalFormOptions, parentFieldPathId]);
|
|
12517
12181
|
const ItemSchemaField = ArraySchemaField || SchemaField2;
|
|
12518
12182
|
const ArrayFieldItemTemplate2 = getTemplate("ArrayFieldItemTemplate", registry, uiOptions);
|
|
12519
12183
|
const displayLabel = schemaUtils.getDisplayLabel(itemSchema, itemUiSchema, globalUiOptions);
|
|
@@ -12587,13 +12251,13 @@ function NormalArray(props) {
|
|
|
12587
12251
|
const fieldTitle = schema.title || title || name;
|
|
12588
12252
|
const { schemaUtils, fields: fields2, formContext, globalUiOptions } = registry;
|
|
12589
12253
|
const { OptionalDataControlsField: OptionalDataControlsField2 } = fields2;
|
|
12590
|
-
const uiOptions =
|
|
12591
|
-
const schemaItems =
|
|
12592
|
-
const itemsSchema =
|
|
12593
|
-
const formData =
|
|
12254
|
+
const uiOptions = useMemo3(() => getUiOptions(uiSchema, globalUiOptions), [uiSchema, globalUiOptions]);
|
|
12255
|
+
const schemaItems = useMemo3(() => isObject(schema.items) ? schema.items : {}, [schema.items]);
|
|
12256
|
+
const itemsSchema = useMemo3(() => schemaUtils.retrieveSchema(schemaItems), [schemaUtils, schemaItems]);
|
|
12257
|
+
const formData = useMemo3(() => keyedToPlainFormData(keyedFormData), [keyedFormData]);
|
|
12594
12258
|
const renderOptionalField = shouldRenderOptionalField(registry, schema, required, uiSchema);
|
|
12595
12259
|
const hasFormData = isFormDataAvailable(formDataFromProps);
|
|
12596
|
-
const canAdd =
|
|
12260
|
+
const canAdd = useMemo3(() => canAddItem(registry, schema, formData, uiSchema) && (!renderOptionalField || hasFormData), [registry, schema, formData, uiSchema, renderOptionalField, hasFormData]);
|
|
12597
12261
|
const actualFormData = hasFormData ? keyedFormData : [];
|
|
12598
12262
|
const extraClass = renderOptionalField ? " rjsf-optional-array-field" : "";
|
|
12599
12263
|
const childFieldPathId = props.childFieldPathId ?? fieldPathId;
|
|
@@ -12660,11 +12324,11 @@ function FixedArray(props) {
|
|
|
12660
12324
|
let { formData: items = [] } = props;
|
|
12661
12325
|
const fieldTitle = schema.title || title || name;
|
|
12662
12326
|
const { fields: fields2, formContext, globalUiOptions } = registry;
|
|
12663
|
-
const uiOptions =
|
|
12327
|
+
const uiOptions = useMemo3(() => getUiOptions(uiSchema, globalUiOptions), [uiSchema, globalUiOptions]);
|
|
12664
12328
|
const { OptionalDataControlsField: OptionalDataControlsField2 } = fields2;
|
|
12665
12329
|
const renderOptionalField = shouldRenderOptionalField(registry, schema, required, uiSchema);
|
|
12666
12330
|
const hasFormData = isFormDataAvailable(formData);
|
|
12667
|
-
const schemaItems =
|
|
12331
|
+
const schemaItems = useMemo3(() => Array.isArray(schema.items) ? schema.items : [], [schema.items]);
|
|
12668
12332
|
const hasAdditionalItems = isObject(schema.additionalItems);
|
|
12669
12333
|
const childFieldPathId = props.childFieldPathId ?? fieldPathId;
|
|
12670
12334
|
if (items.length < schemaItems.length) {
|
|
@@ -12743,8 +12407,8 @@ function FixedArray(props) {
|
|
|
12743
12407
|
return _jsx4(Template, { ...arrayProps });
|
|
12744
12408
|
}
|
|
12745
12409
|
function useKeyedFormData(formData = []) {
|
|
12746
|
-
const newHash =
|
|
12747
|
-
const [state, setState] =
|
|
12410
|
+
const newHash = useMemo3(() => hashObject(formData), [formData]);
|
|
12411
|
+
const [state, setState] = useState3(() => ({
|
|
12748
12412
|
formDataHash: newHash,
|
|
12749
12413
|
keyedFormData: generateKeyedFormData(formData)
|
|
12750
12414
|
}));
|
|
@@ -12771,9 +12435,9 @@ function ArrayField(props) {
|
|
|
12771
12435
|
const { schema, uiSchema, errorSchema, fieldPathId, registry, formData, onChange } = props;
|
|
12772
12436
|
const { globalFormOptions, schemaUtils, translateString } = registry;
|
|
12773
12437
|
const { keyedFormData, updateKeyedFormData } = useKeyedFormData(formData);
|
|
12774
|
-
const keyedFormDataRef =
|
|
12438
|
+
const keyedFormDataRef = useRef3(keyedFormData);
|
|
12775
12439
|
keyedFormDataRef.current = keyedFormData;
|
|
12776
|
-
const errorSchemaRef =
|
|
12440
|
+
const errorSchemaRef = useRef3(errorSchema);
|
|
12777
12441
|
errorSchemaRef.current = errorSchema;
|
|
12778
12442
|
const childFieldPathId = props.childFieldPathId ?? fieldPathId;
|
|
12779
12443
|
const handleAddItem = useCallback3((event, index2) => {
|
|
@@ -12991,9 +12655,9 @@ var BooleanField_default = BooleanField;
|
|
|
12991
12655
|
|
|
12992
12656
|
// ../../node_modules/.pnpm/@rjsf+core@6.10.0_@rjsf+utils@6.10.0_react@19.2.4__react@19.2.4_vue@3.5.40_typescript@5.9.3_/node_modules/@rjsf/core/lib/components/fields/CyclicSchemaField.js
|
|
12993
12657
|
import { jsx as _jsx6 } from "react/jsx-runtime";
|
|
12994
|
-
import { useState as
|
|
12658
|
+
import { useState as useState4 } from "react";
|
|
12995
12659
|
function CyclicSchemaField(props) {
|
|
12996
|
-
const [expanded, setExpanded] =
|
|
12660
|
+
const [expanded, setExpanded] = useState4(false);
|
|
12997
12661
|
const { name, registry, schema, uiSchema, fieldPathId } = props;
|
|
12998
12662
|
const { globalUiOptions } = registry;
|
|
12999
12663
|
const uiOptions = getUiOptions(uiSchema, globalUiOptions);
|
|
@@ -13008,7 +12672,7 @@ function CyclicSchemaField(props) {
|
|
|
13008
12672
|
|
|
13009
12673
|
// ../../node_modules/.pnpm/@rjsf+core@6.10.0_@rjsf+utils@6.10.0_react@19.2.4__react@19.2.4_vue@3.5.40_typescript@5.9.3_/node_modules/@rjsf/core/lib/components/fields/FallbackField.js
|
|
13010
12674
|
import { jsx as _jsx7 } from "react/jsx-runtime";
|
|
13011
|
-
import { useMemo as
|
|
12675
|
+
import { useMemo as useMemo4, useState as useState5 } from "react";
|
|
13012
12676
|
function getFallbackTypeSelectionSchema(title) {
|
|
13013
12677
|
return {
|
|
13014
12678
|
type: "string",
|
|
@@ -13044,11 +12708,11 @@ function castToNewType(formData, newType) {
|
|
|
13044
12708
|
function FallbackField(props) {
|
|
13045
12709
|
const { id, formData, displayLabel = true, schema, name, uiSchema, required, disabled = false, readonly = false, onBlur, onFocus, registry, fieldPathId, onChange, errorSchema } = props;
|
|
13046
12710
|
const { translateString, fields: fields2, globalFormOptions } = registry;
|
|
13047
|
-
const [type, setType] =
|
|
12711
|
+
const [type, setType] = useState5(getTypeOfFormData(formData));
|
|
13048
12712
|
const uiOptions = getUiOptions(uiSchema);
|
|
13049
12713
|
const typeSelectorInnerFieldPathId = useDeepCompareMemo(toFieldPathId("__internal_type_selector", globalFormOptions, fieldPathId));
|
|
13050
12714
|
const schemaTitle = translateString(TranslatableString.Type);
|
|
13051
|
-
const typesOptionSchema =
|
|
12715
|
+
const typesOptionSchema = useMemo4(() => getFallbackTypeSelectionSchema(schemaTitle), [schemaTitle]);
|
|
13052
12716
|
const onTypeChange = (newType) => {
|
|
13053
12717
|
if (newType != null) {
|
|
13054
12718
|
setType(newType);
|
|
@@ -13135,7 +12799,7 @@ function conditionMatches(operator, datum, value = "$0m3tH1nG Un3xP3cT3d") {
|
|
|
13135
12799
|
function findChildrenAndProps(layoutGridSchema, schemaKey, registry) {
|
|
13136
12800
|
let gridProps = {};
|
|
13137
12801
|
let children = layoutGridSchema[schemaKey];
|
|
13138
|
-
if (
|
|
12802
|
+
if (isPlainObject2(children)) {
|
|
13139
12803
|
const { children: elements, className: toMapClassNames, ...otherProps } = children;
|
|
13140
12804
|
children = elements;
|
|
13141
12805
|
if (toMapClassNames) {
|
|
@@ -13387,7 +13051,7 @@ function LayoutHeaderField(props) {
|
|
|
13387
13051
|
|
|
13388
13052
|
// ../../node_modules/.pnpm/@rjsf+core@6.10.0_@rjsf+utils@6.10.0_react@19.2.4__react@19.2.4_vue@3.5.40_typescript@5.9.3_/node_modules/@rjsf/core/lib/components/fields/LayoutMultiSchemaField.js
|
|
13389
13053
|
import { jsx as _jsx10 } from "react/jsx-runtime";
|
|
13390
|
-
import { useState as
|
|
13054
|
+
import { useState as useState6, useEffect as useEffect3 } from "react";
|
|
13391
13055
|
function getSelectedOption(options, selectorField, value) {
|
|
13392
13056
|
const defaultValue = "!@#!@$@#$!@$#";
|
|
13393
13057
|
const schemaOptions = options.map(({ schema }) => schema);
|
|
@@ -13414,7 +13078,7 @@ function computeEnumOptions(schema, options, schemaUtils, uiSchema, formData) {
|
|
|
13414
13078
|
function LayoutMultiSchemaField(props) {
|
|
13415
13079
|
const { name, baseType, disabled = false, formData, fieldPathId, onBlur, onChange, options, onFocus, registry, uiSchema, schema, autofocus, readonly, required, errorSchema, hideError = false } = props;
|
|
13416
13080
|
const { widgets: widgets2, schemaUtils, globalUiOptions } = registry;
|
|
13417
|
-
const [enumOptions, setEnumOptions] =
|
|
13081
|
+
const [enumOptions, setEnumOptions] = useState6(computeEnumOptions(schema, options, schemaUtils, uiSchema, formData));
|
|
13418
13082
|
const id = fieldPathId[ID_KEY];
|
|
13419
13083
|
const discriminator = getDiscriminatorFieldFromSchema(schema);
|
|
13420
13084
|
const FieldErrorTemplate2 = getTemplate("FieldErrorTemplate", registry, options);
|
|
@@ -13423,7 +13087,7 @@ function LayoutMultiSchemaField(props) {
|
|
|
13423
13087
|
const optionsHash = hashObject(options);
|
|
13424
13088
|
const uiSchemaHash = uiSchema ? hashObject(uiSchema) : "";
|
|
13425
13089
|
const formDataHash = formData ? hashObject(formData) : "";
|
|
13426
|
-
|
|
13090
|
+
useEffect3(() => {
|
|
13427
13091
|
setEnumOptions(computeEnumOptions(schema, options, schemaUtils, uiSchema, formData));
|
|
13428
13092
|
}, [schemaHash, optionsHash, schemaUtils, uiSchemaHash, formDataHash]);
|
|
13429
13093
|
const { widget = discriminator ? "radio" : "select", title = "", placeholder = "", optionsSchemaSelector: selectorField = discriminator, hideError: uiSchemaHideError, ...uiOptions } = getUiOptions(uiSchema);
|
|
@@ -13462,24 +13126,24 @@ function LayoutMultiSchemaField(props) {
|
|
|
13462
13126
|
|
|
13463
13127
|
// ../../node_modules/.pnpm/@rjsf+core@6.10.0_@rjsf+utils@6.10.0_react@19.2.4__react@19.2.4_vue@3.5.40_typescript@5.9.3_/node_modules/@rjsf/core/lib/components/fields/MultiSchemaField.js
|
|
13464
13128
|
import { jsx as _jsx11 } from "react/jsx-runtime";
|
|
13465
|
-
import { useCallback as useCallback5, useEffect as
|
|
13129
|
+
import { useCallback as useCallback5, useEffect as useEffect4, useMemo as useMemo5, useRef as useRef4, useState as useState7 } from "react";
|
|
13466
13130
|
function AnyOfField(props) {
|
|
13467
13131
|
const { name, disabled = false, errorSchema, formData, fieldPathId, onBlur, onChange, onFocus, options, readonly, registry, required = false, schema, uiSchema } = props;
|
|
13468
13132
|
const { schemaUtils } = registry;
|
|
13469
13133
|
const formDataHash = hashObject(formData ?? null);
|
|
13470
|
-
const retrievedOptions =
|
|
13134
|
+
const retrievedOptions = useMemo5(
|
|
13471
13135
|
() => options.map((opt) => schemaUtils.retrieveSchema(opt, formData)),
|
|
13472
13136
|
// oxlint-disable-next-line react-hooks/exhaustive-deps -- formDataHash is the value-stable proxy for formData
|
|
13473
13137
|
[options, schemaUtils, formDataHash]
|
|
13474
13138
|
);
|
|
13475
|
-
const [selectedOption, setSelectedOption] =
|
|
13139
|
+
const [selectedOption, setSelectedOption] = useState7(() => {
|
|
13476
13140
|
const discriminator = getDiscriminatorFieldFromSchema(schema);
|
|
13477
13141
|
return schemaUtils.getClosestMatchingOption(formData, retrievedOptions, 0, discriminator);
|
|
13478
13142
|
});
|
|
13479
|
-
const skipNextOptionRecalculation =
|
|
13480
|
-
const prevFormDataRef =
|
|
13481
|
-
const prevFieldIdRef =
|
|
13482
|
-
|
|
13143
|
+
const skipNextOptionRecalculation = useRef4(false);
|
|
13144
|
+
const prevFormDataRef = useRef4(formData);
|
|
13145
|
+
const prevFieldIdRef = useRef4(fieldPathId.$id);
|
|
13146
|
+
useEffect4(() => {
|
|
13483
13147
|
const prevFormData = prevFormDataRef.current;
|
|
13484
13148
|
const prevFieldId = prevFieldIdRef.current;
|
|
13485
13149
|
prevFormDataRef.current = formData;
|
|
@@ -13577,10 +13241,10 @@ function AnyOfField(props) {
|
|
|
13577
13241
|
var MultiSchemaField_default = AnyOfField;
|
|
13578
13242
|
|
|
13579
13243
|
// ../../node_modules/.pnpm/@rjsf+core@6.10.0_@rjsf+utils@6.10.0_react@19.2.4__react@19.2.4_vue@3.5.40_typescript@5.9.3_/node_modules/@rjsf/core/lib/components/fields/NullField.js
|
|
13580
|
-
import { useEffect as
|
|
13244
|
+
import { useEffect as useEffect5 } from "react";
|
|
13581
13245
|
function NullField(props) {
|
|
13582
13246
|
const { formData, onChange, fieldPathId } = props;
|
|
13583
|
-
|
|
13247
|
+
useEffect5(() => {
|
|
13584
13248
|
if (formData === void 0) {
|
|
13585
13249
|
onChange(null, fieldPathId.path);
|
|
13586
13250
|
}
|
|
@@ -13591,12 +13255,12 @@ var NullField_default = NullField;
|
|
|
13591
13255
|
|
|
13592
13256
|
// ../../node_modules/.pnpm/@rjsf+core@6.10.0_@rjsf+utils@6.10.0_react@19.2.4__react@19.2.4_vue@3.5.40_typescript@5.9.3_/node_modules/@rjsf/core/lib/components/fields/NumberField.js
|
|
13593
13257
|
import { jsx as _jsx12 } from "react/jsx-runtime";
|
|
13594
|
-
import { useState as
|
|
13258
|
+
import { useState as useState8, useCallback as useCallback6 } from "react";
|
|
13595
13259
|
var trailingCharMatcherWithPrefix = /\.([0-9]*0)*$/;
|
|
13596
13260
|
var trailingCharMatcher = /[0.]0*$/;
|
|
13597
13261
|
function NumberField(props) {
|
|
13598
13262
|
const { registry, onChange, formData, value: initialValue } = props;
|
|
13599
|
-
const [lastValue, setLastValue] =
|
|
13263
|
+
const [lastValue, setLastValue] = useState8(initialValue);
|
|
13600
13264
|
const { StringField: StringField2 } = registry.fields;
|
|
13601
13265
|
const separator = getDecimalSeparator();
|
|
13602
13266
|
const escapedSeparator = separator === "." ? "\\." : separator;
|
|
@@ -13631,7 +13295,7 @@ var NumberField_default = NumberField;
|
|
|
13631
13295
|
|
|
13632
13296
|
// ../../node_modules/.pnpm/@rjsf+core@6.10.0_@rjsf+utils@6.10.0_react@19.2.4__react@19.2.4_vue@3.5.40_typescript@5.9.3_/node_modules/@rjsf/core/lib/components/fields/ObjectField.js
|
|
13633
13297
|
import { jsx as _jsx13, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13634
|
-
import { memo as memo2, useCallback as useCallback7, useMemo as
|
|
13298
|
+
import { memo as memo2, useCallback as useCallback7, useMemo as useMemo7, useRef as useRef6, useState as useState9 } from "react";
|
|
13635
13299
|
|
|
13636
13300
|
// ../../node_modules/.pnpm/markdown-to-jsx@9.10.2_react@19.2.4_vue@3.5.40_typescript@5.9.3_/node_modules/markdown-to-jsx/dist/react.js
|
|
13637
13301
|
import * as i0 from "react";
|
|
@@ -16766,7 +16430,7 @@ function getAdditionalPropertyOrder(schemaProperties) {
|
|
|
16766
16430
|
}
|
|
16767
16431
|
function ObjectFieldPropertyFn(props) {
|
|
16768
16432
|
const { fieldPathId, schema, registry, uiSchema, errorSchema, formData, onChange, onBlur, onFocus, disabled, readonly, required, hideError, propertyName, handleKeyRename, handleRemoveProperty, addedByAdditionalProperties } = props;
|
|
16769
|
-
const [wasPropertyKeyModified, setWasPropertyKeyModified] =
|
|
16433
|
+
const [wasPropertyKeyModified, setWasPropertyKeyModified] = useState9(false);
|
|
16770
16434
|
const { globalFormOptions, fields: fields2 } = registry;
|
|
16771
16435
|
const { SchemaField: SchemaField2 } = fields2;
|
|
16772
16436
|
const innerFieldIdPathId = useDeepCompareMemo(toFieldPathId(propertyName, globalFormOptions, fieldPathId.path));
|
|
@@ -16797,15 +16461,15 @@ function ObjectField(props) {
|
|
|
16797
16461
|
const { schema: rawSchema, uiSchema = {}, formData, errorSchema, fieldPathId, name, required = false, disabled, readonly, hideError, onBlur, onFocus, onChange, registry, title } = props;
|
|
16798
16462
|
const { fields: fields2, schemaUtils, translateString, globalUiOptions } = registry;
|
|
16799
16463
|
const { OptionalDataControlsField: OptionalDataControlsField2 } = fields2;
|
|
16800
|
-
const formDataRef =
|
|
16464
|
+
const formDataRef = useRef6(formData);
|
|
16801
16465
|
formDataRef.current = formData;
|
|
16802
|
-
const schema =
|
|
16803
|
-
const uiOptions =
|
|
16804
|
-
const schemaProperties =
|
|
16466
|
+
const schema = useMemo7(() => schemaUtils.retrieveSchema(rawSchema, formData, true), [schemaUtils, rawSchema, formData]);
|
|
16467
|
+
const uiOptions = useMemo7(() => getUiOptions(uiSchema, globalUiOptions), [uiSchema, globalUiOptions]);
|
|
16468
|
+
const schemaProperties = useMemo7(() => schema.properties ?? {}, [schema.properties]);
|
|
16805
16469
|
const childFieldPathId = props.childFieldPathId ?? fieldPathId;
|
|
16806
|
-
const lastRenamedProperty =
|
|
16807
|
-
const [additionalPropertyOrder, setAdditionalPropertyOrder] =
|
|
16808
|
-
const definedPropertyOrder =
|
|
16470
|
+
const lastRenamedProperty = useRef6({ previousKey: "", currentKey: void 0 });
|
|
16471
|
+
const [additionalPropertyOrder, setAdditionalPropertyOrder] = useState9(() => getAdditionalPropertyOrder(schemaProperties));
|
|
16472
|
+
const definedPropertyOrder = useMemo7(() => {
|
|
16809
16473
|
const additionalPropertySet = new Set(getAdditionalPropertyOrder(schemaProperties));
|
|
16810
16474
|
return Object.keys(schemaProperties).filter((property) => !additionalPropertySet.has(property));
|
|
16811
16475
|
}, [schemaProperties]);
|
|
@@ -18759,7 +18423,7 @@ var Form = class _Form extends Component {
|
|
|
18759
18423
|
};
|
|
18760
18424
|
|
|
18761
18425
|
// src/components/SessionPluginConfigForm.tsx
|
|
18762
|
-
import { isValidElement, useMemo as
|
|
18426
|
+
import { isValidElement, useMemo as useMemo8, useState as useState10 } from "react";
|
|
18763
18427
|
|
|
18764
18428
|
// src/components/plugin-config-schema.ts
|
|
18765
18429
|
function asSchema(value) {
|
|
@@ -18954,7 +18618,7 @@ function configDraftOperations(initial, values, retained, removed) {
|
|
|
18954
18618
|
}
|
|
18955
18619
|
|
|
18956
18620
|
// src/components/SessionPluginConfigForm.tsx
|
|
18957
|
-
import { Fragment as Fragment2, jsx as
|
|
18621
|
+
import { Fragment as Fragment2, jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
18958
18622
|
var defaults = getDefaultRegistry();
|
|
18959
18623
|
var validator = {
|
|
18960
18624
|
isValid(schema, data, rootSchema) {
|
|
@@ -19011,7 +18675,7 @@ function presentationSchema(schema) {
|
|
|
19011
18675
|
}
|
|
19012
18676
|
function ConfigMultiSchemaField(props) {
|
|
19013
18677
|
return /* @__PURE__ */ jsxs2("div", { className: "rjsf-field", children: [
|
|
19014
|
-
/* @__PURE__ */
|
|
18678
|
+
/* @__PURE__ */ jsx3("label", { htmlFor: isValidElement(props.selector) ? props.selector.props.id : void 0, children: "\u914D\u7F6E\u65B9\u5F0F" }),
|
|
19015
18679
|
props.selector,
|
|
19016
18680
|
props.optionSchemaField
|
|
19017
18681
|
] });
|
|
@@ -19039,12 +18703,12 @@ function ConfigSchemaField(inputProps) {
|
|
|
19039
18703
|
const pointer = pointerOf(originalConfigPath(fieldPathId.path, context.removed));
|
|
19040
18704
|
const originalMarker = [...context.retained].find(([, path2]) => path2 === pointer)?.[0];
|
|
19041
18705
|
if (schema.const !== void 0 && schema.writeOnly !== true)
|
|
19042
|
-
return /* @__PURE__ */
|
|
18706
|
+
return /* @__PURE__ */ jsx3(Fragment2, { children: context.errors.filter((error) => error.path === pointer).map((error) => /* @__PURE__ */ jsx3("p", { role: "alert", children: error.message }, error.message)) });
|
|
19043
18707
|
if (schema.writeOnly === true) {
|
|
19044
18708
|
const kept = typeof formData === "string" && context.retained.has(formData);
|
|
19045
18709
|
return /* @__PURE__ */ jsxs2("div", { className: "rjsf-field", children: [
|
|
19046
18710
|
Array.isArray(schema.type) && schema.type.includes("null") ? /* @__PURE__ */ jsxs2("label", { children: [
|
|
19047
|
-
/* @__PURE__ */
|
|
18711
|
+
/* @__PURE__ */ jsx3(
|
|
19048
18712
|
"input",
|
|
19049
18713
|
{
|
|
19050
18714
|
type: "checkbox",
|
|
@@ -19056,8 +18720,8 @@ function ConfigSchemaField(inputProps) {
|
|
|
19056
18720
|
schema.title ?? props.name,
|
|
19057
18721
|
"\uFF1A\u7F6E\u4E3A\u7A7A\u503C"
|
|
19058
18722
|
] }) : null,
|
|
19059
|
-
/* @__PURE__ */
|
|
19060
|
-
/* @__PURE__ */
|
|
18723
|
+
/* @__PURE__ */ jsx3("label", { htmlFor: fieldPathId.$id, "data-required": props.required, children: schema.title ?? props.name }),
|
|
18724
|
+
/* @__PURE__ */ jsx3(
|
|
19061
18725
|
"input",
|
|
19062
18726
|
{
|
|
19063
18727
|
id: fieldPathId.$id,
|
|
@@ -19070,8 +18734,8 @@ function ConfigSchemaField(inputProps) {
|
|
|
19070
18734
|
onChange: (event) => onChange(event.target.value || originalMarker, fieldPathId.path)
|
|
19071
18735
|
}
|
|
19072
18736
|
),
|
|
19073
|
-
kept ? /* @__PURE__ */
|
|
19074
|
-
formData !== void 0 ? /* @__PURE__ */
|
|
18737
|
+
kept ? /* @__PURE__ */ jsx3("p", { children: "\u5DF2\u4FDD\u5B58\uFF0C\u7559\u7A7A\u4FDD\u6301\u4E0D\u53D8" }) : null,
|
|
18738
|
+
formData !== void 0 ? /* @__PURE__ */ jsx3(
|
|
19075
18739
|
"button",
|
|
19076
18740
|
{
|
|
19077
18741
|
type: "button",
|
|
@@ -19080,8 +18744,8 @@ function ConfigSchemaField(inputProps) {
|
|
|
19080
18744
|
children: "\u6E05\u9664\u5DF2\u4FDD\u5B58\u7684\u503C"
|
|
19081
18745
|
}
|
|
19082
18746
|
) : null,
|
|
19083
|
-
schema.description ? /* @__PURE__ */
|
|
19084
|
-
context.errors.filter((error) => error.path === pointer).map((error) => /* @__PURE__ */
|
|
18747
|
+
schema.description ? /* @__PURE__ */ jsx3("p", { children: schema.description }) : null,
|
|
18748
|
+
context.errors.filter((error) => error.path === pointer).map((error) => /* @__PURE__ */ jsx3("p", { role: "alert", children: error.message }, error.message))
|
|
19085
18749
|
] });
|
|
19086
18750
|
}
|
|
19087
18751
|
const types = Array.isArray(schema.type) ? schema.type : [schema.type];
|
|
@@ -19090,7 +18754,7 @@ function ConfigSchemaField(inputProps) {
|
|
|
19090
18754
|
const inner = { ...schema, type: nonNull[0] };
|
|
19091
18755
|
return /* @__PURE__ */ jsxs2("div", { className: "rjsf-field", children: [
|
|
19092
18756
|
/* @__PURE__ */ jsxs2("label", { children: [
|
|
19093
|
-
/* @__PURE__ */
|
|
18757
|
+
/* @__PURE__ */ jsx3(
|
|
19094
18758
|
"input",
|
|
19095
18759
|
{
|
|
19096
18760
|
type: "checkbox",
|
|
@@ -19105,28 +18769,28 @@ function ConfigSchemaField(inputProps) {
|
|
|
19105
18769
|
schema.title ?? props.name,
|
|
19106
18770
|
"\uFF1A\u7F6E\u4E3A\u7A7A\u503C"
|
|
19107
18771
|
] }),
|
|
19108
|
-
nonNull.length && formData !== null ? /* @__PURE__ */
|
|
18772
|
+
nonNull.length && formData !== null ? /* @__PURE__ */ jsx3(defaults.fields.SchemaField, { ...props, schema: inner }) : null
|
|
19109
18773
|
] });
|
|
19110
18774
|
}
|
|
19111
|
-
return /* @__PURE__ */
|
|
18775
|
+
return /* @__PURE__ */ jsx3(defaults.fields.SchemaField, { ...props });
|
|
19112
18776
|
}
|
|
19113
18777
|
function ConfigFieldTemplate(props) {
|
|
19114
18778
|
const pointer = pointerOf(
|
|
19115
18779
|
originalConfigPath(props.fieldPathId.path, props.registry.formContext.removed)
|
|
19116
18780
|
);
|
|
19117
18781
|
return /* @__PURE__ */ jsxs2("div", { className: props.classNames, hidden: props.hidden, children: [
|
|
19118
|
-
props.displayLabel ? /* @__PURE__ */
|
|
18782
|
+
props.displayLabel ? /* @__PURE__ */ jsx3("label", { htmlFor: props.id, "data-required": props.required, children: props.label }) : null,
|
|
19119
18783
|
props.displayLabel ? props.description : null,
|
|
19120
18784
|
props.children,
|
|
19121
18785
|
props.help,
|
|
19122
|
-
props.registry.formContext.errors.filter((error) => error.path === pointer).map((error) => /* @__PURE__ */
|
|
18786
|
+
props.registry.formContext.errors.filter((error) => error.path === pointer).map((error) => /* @__PURE__ */ jsx3("p", { role: "alert", children: error.message }, error.message))
|
|
19123
18787
|
] });
|
|
19124
18788
|
}
|
|
19125
18789
|
function ConfigArrayItem(props) {
|
|
19126
18790
|
const { buttonsProps: buttons, registry } = props;
|
|
19127
18791
|
return /* @__PURE__ */ jsxs2("div", { className: "rjsf-array-item", children: [
|
|
19128
18792
|
props.children,
|
|
19129
|
-
buttons.hasRemove ? /* @__PURE__ */
|
|
18793
|
+
buttons.hasRemove ? /* @__PURE__ */ jsx3(
|
|
19130
18794
|
"button",
|
|
19131
18795
|
{
|
|
19132
18796
|
type: "button",
|
|
@@ -19141,7 +18805,7 @@ function ConfigArrayItem(props) {
|
|
|
19141
18805
|
if (previous !== void 0) registry.formContext.removed.add(pointerOf(path));
|
|
19142
18806
|
buttons.onRemoveItem(event);
|
|
19143
18807
|
},
|
|
19144
|
-
children: /* @__PURE__ */
|
|
18808
|
+
children: /* @__PURE__ */ jsx3(Trash2, { size: 14 })
|
|
19145
18809
|
}
|
|
19146
18810
|
) : null
|
|
19147
18811
|
] });
|
|
@@ -19154,12 +18818,12 @@ function SessionPluginConfigForm({
|
|
|
19154
18818
|
onSubmit,
|
|
19155
18819
|
onCancel
|
|
19156
18820
|
}) {
|
|
19157
|
-
const [initial] =
|
|
19158
|
-
const [values, setValues] =
|
|
19159
|
-
const [removed] =
|
|
19160
|
-
const [draftFailure, setDraftFailure] =
|
|
19161
|
-
const support =
|
|
19162
|
-
const schema =
|
|
18821
|
+
const [initial] = useState10(() => createConfigDraft(config));
|
|
18822
|
+
const [values, setValues] = useState10(initial.values);
|
|
18823
|
+
const [removed] = useState10(() => /* @__PURE__ */ new Set());
|
|
18824
|
+
const [draftFailure, setDraftFailure] = useState10(null);
|
|
18825
|
+
const support = useMemo8(() => formSupport(config.schema), [config.schema]);
|
|
18826
|
+
const schema = useMemo8(() => {
|
|
19163
18827
|
try {
|
|
19164
18828
|
return config.schema ? presentationSchema(config.schema) : null;
|
|
19165
18829
|
} catch {
|
|
@@ -19176,11 +18840,11 @@ function SessionPluginConfigForm({
|
|
|
19176
18840
|
};
|
|
19177
18841
|
if (!schema || support)
|
|
19178
18842
|
return /* @__PURE__ */ jsxs2("div", { className: "space-y-3 text-xs", children: [
|
|
19179
|
-
/* @__PURE__ */
|
|
19180
|
-
/* @__PURE__ */
|
|
18843
|
+
/* @__PURE__ */ jsx3("p", { children: support ?? "\u914D\u7F6E\u58F0\u660E\u7684\u7EC4\u5408\u65E0\u6CD5\u5448\u73B0\uFF0C\u8BF7\u8054\u7CFB\u63D2\u4EF6\u63D0\u4F9B\u65B9" }),
|
|
18844
|
+
/* @__PURE__ */ jsx3("button", { type: "button", onClick: onCancel, children: "\u5173\u95ED" })
|
|
19181
18845
|
] });
|
|
19182
18846
|
return /* @__PURE__ */ jsxs2("div", { className: "blade-plugin-config text-xs", children: [
|
|
19183
|
-
/* @__PURE__ */
|
|
18847
|
+
/* @__PURE__ */ jsx3("style", { children: `
|
|
19184
18848
|
.blade-plugin-config .rjsf-field, .blade-plugin-config fieldset { min-width:0; margin:0 0 10px; padding:0; border:0 }
|
|
19185
18849
|
.blade-plugin-config label, .blade-plugin-config legend { display:block; font-size:12px; font-weight:500; overflow-wrap:anywhere; margin-bottom:4px }
|
|
19186
18850
|
.blade-plugin-config label[data-required=true]::after { content:' *'; color:hsl(var(--destructive)) }
|
|
@@ -19193,8 +18857,8 @@ function SessionPluginConfigForm({
|
|
|
19193
18857
|
.blade-plugin-config button:disabled { opacity:.5 }
|
|
19194
18858
|
.blade-plugin-config .control-label { display:block }
|
|
19195
18859
|
` }),
|
|
19196
|
-
failure || draftFailure ? /* @__PURE__ */
|
|
19197
|
-
/* @__PURE__ */
|
|
18860
|
+
failure || draftFailure ? /* @__PURE__ */ jsx3("p", { role: "alert", children: failure ?? draftFailure }) : null,
|
|
18861
|
+
/* @__PURE__ */ jsx3(
|
|
19198
18862
|
Form,
|
|
19199
18863
|
{
|
|
19200
18864
|
schema,
|
|
@@ -19208,7 +18872,7 @@ function SessionPluginConfigForm({
|
|
|
19208
18872
|
MultiSchemaFieldTemplate: ConfigMultiSchemaField,
|
|
19209
18873
|
ButtonTemplates: {
|
|
19210
18874
|
...defaults.templates.ButtonTemplates,
|
|
19211
|
-
AddButton: (props) => /* @__PURE__ */
|
|
18875
|
+
AddButton: (props) => /* @__PURE__ */ jsx3(
|
|
19212
18876
|
"button",
|
|
19213
18877
|
{
|
|
19214
18878
|
type: "button",
|
|
@@ -19216,7 +18880,7 @@ function SessionPluginConfigForm({
|
|
|
19216
18880
|
"aria-label": "\u6DFB\u52A0\u4E00\u9879",
|
|
19217
18881
|
disabled: props.disabled,
|
|
19218
18882
|
onClick: props.onClick,
|
|
19219
|
-
children: /* @__PURE__ */
|
|
18883
|
+
children: /* @__PURE__ */ jsx3(Plus, { size: 14 })
|
|
19220
18884
|
}
|
|
19221
18885
|
)
|
|
19222
18886
|
}
|
|
@@ -19258,8 +18922,8 @@ function SessionPluginConfigForm({
|
|
|
19258
18922
|
}
|
|
19259
18923
|
},
|
|
19260
18924
|
children: /* @__PURE__ */ jsxs2("div", { className: "flex justify-end gap-2", children: [
|
|
19261
|
-
/* @__PURE__ */
|
|
19262
|
-
/* @__PURE__ */
|
|
18925
|
+
/* @__PURE__ */ jsx3("button", { type: "button", onClick: onCancel, children: "\u53D6\u6D88" }),
|
|
18926
|
+
/* @__PURE__ */ jsx3("button", { type: "submit", disabled: submitting, children: submitting ? "\u4FDD\u5B58\u4E2D\u2026" : "\u4FDD\u5B58" })
|
|
19263
18927
|
] })
|
|
19264
18928
|
}
|
|
19265
18929
|
)
|
|
@@ -19267,8 +18931,8 @@ function SessionPluginConfigForm({
|
|
|
19267
18931
|
}
|
|
19268
18932
|
|
|
19269
18933
|
// src/components/SessionPluginIcon.tsx
|
|
19270
|
-
import { useEffect as
|
|
19271
|
-
import { jsx as
|
|
18934
|
+
import { useEffect as useEffect6, useState as useState11 } from "react";
|
|
18935
|
+
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
19272
18936
|
function sessionPluginLabel(plugin) {
|
|
19273
18937
|
const display = typeof plugin.display_name === "string" ? plugin.display_name.trim() : "";
|
|
19274
18938
|
return display || plugin.name;
|
|
@@ -19293,9 +18957,9 @@ function iconBlob(client, sessionId, name, token) {
|
|
|
19293
18957
|
return pending;
|
|
19294
18958
|
}
|
|
19295
18959
|
function SessionPluginIcon({ client, sessionId, plugin, size: size4 = 20, shape = "rounded", className }) {
|
|
19296
|
-
const [url, setUrl] =
|
|
18960
|
+
const [url, setUrl] = useState11(null);
|
|
19297
18961
|
const token = plugin.icon;
|
|
19298
|
-
|
|
18962
|
+
useEffect6(() => {
|
|
19299
18963
|
setUrl(null);
|
|
19300
18964
|
if (!token) return;
|
|
19301
18965
|
let alive = true;
|
|
@@ -19313,14 +18977,14 @@ function SessionPluginIcon({ client, sessionId, plugin, size: size4 = 20, shape
|
|
|
19313
18977
|
const frame = `flex shrink-0 items-center justify-center overflow-hidden ${shape === "circle" ? "rounded-full" : "rounded"} ${className ?? ""}`;
|
|
19314
18978
|
const frameStyle = { width: size4, height: size4 };
|
|
19315
18979
|
if (!url) {
|
|
19316
|
-
return /* @__PURE__ */
|
|
18980
|
+
return /* @__PURE__ */ jsx4("span", { className: `${frame} bg-[hsl(var(--muted))] text-[hsl(var(--muted-foreground))]`, style: frameStyle, "data-plugin-icon": "placeholder", children: /* @__PURE__ */ jsx4(Puzzle, { "aria-hidden": true, size: Math.round(size4 * 0.7) }) });
|
|
19317
18981
|
}
|
|
19318
|
-
return /* @__PURE__ */
|
|
18982
|
+
return /* @__PURE__ */ jsx4("span", { className: frame, style: frameStyle, "data-plugin-icon": "image", children: /* @__PURE__ */ jsx4("img", { src: url, alt: "", "aria-hidden": true, className: "h-full w-full object-cover", onError: () => setUrl(null) }) });
|
|
19319
18983
|
}
|
|
19320
18984
|
|
|
19321
18985
|
// src/components/SessionPluginConfigDialog.tsx
|
|
19322
|
-
import { useEffect as
|
|
19323
|
-
import { Fragment as Fragment3, jsx as
|
|
18986
|
+
import { useEffect as useEffect7, useRef as useRef7, useState as useState12 } from "react";
|
|
18987
|
+
import { Fragment as Fragment3, jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
19324
18988
|
async function readFailure(error) {
|
|
19325
18989
|
const response = error?.response;
|
|
19326
18990
|
if (!response || typeof response.json !== "function") {
|
|
@@ -19347,7 +19011,7 @@ function SessionPluginConfigDialog({
|
|
|
19347
19011
|
plugin,
|
|
19348
19012
|
...props
|
|
19349
19013
|
}) {
|
|
19350
|
-
return /* @__PURE__ */
|
|
19014
|
+
return /* @__PURE__ */ jsx5(
|
|
19351
19015
|
ConfigDialogState,
|
|
19352
19016
|
{
|
|
19353
19017
|
client,
|
|
@@ -19365,41 +19029,66 @@ function ConfigDialogState({
|
|
|
19365
19029
|
onSaved,
|
|
19366
19030
|
onClose
|
|
19367
19031
|
}) {
|
|
19368
|
-
const [
|
|
19369
|
-
const [
|
|
19370
|
-
const [
|
|
19371
|
-
const
|
|
19372
|
-
|
|
19373
|
-
|
|
19374
|
-
|
|
19375
|
-
|
|
19376
|
-
|
|
19377
|
-
|
|
19378
|
-
|
|
19032
|
+
const [host, setHost] = useState12(null);
|
|
19033
|
+
const [restarting, setRestarting] = useState12(false);
|
|
19034
|
+
const [scope, setScope] = useState12("personal");
|
|
19035
|
+
const waitingForHost = host?.state === "starting" || host?.state === "updating";
|
|
19036
|
+
useEffect7(() => {
|
|
19037
|
+
if (!waitingForHost) return;
|
|
19038
|
+
const abort = new AbortController();
|
|
19039
|
+
let timer;
|
|
19040
|
+
const refresh = async () => {
|
|
19041
|
+
try {
|
|
19042
|
+
const next = await client.sessions.getSessionPluginConfig(sessionId, plugin.name, { signal: abort.signal }, scope);
|
|
19043
|
+
if (!abort.signal.aborted) setHost(next.host ?? null);
|
|
19044
|
+
} catch {
|
|
19045
|
+
}
|
|
19046
|
+
if (!abort.signal.aborted) timer = setTimeout(refresh, 2e3);
|
|
19047
|
+
};
|
|
19048
|
+
timer = setTimeout(refresh, 2e3);
|
|
19049
|
+
return () => {
|
|
19050
|
+
abort.abort();
|
|
19051
|
+
clearTimeout(timer);
|
|
19052
|
+
};
|
|
19053
|
+
}, [client, sessionId, plugin.name, scope, waitingForHost]);
|
|
19054
|
+
const [canConfigureGlobal, setCanConfigureGlobal] = useState12(false);
|
|
19055
|
+
const [config, setConfig] = useState12(null);
|
|
19056
|
+
const [loading, setLoading] = useState12(true);
|
|
19057
|
+
const [loadFailure, setLoadFailure] = useState12(null);
|
|
19058
|
+
const [saving, setSaving] = useState12(false);
|
|
19059
|
+
const [failure, setFailure] = useState12(null);
|
|
19060
|
+
const [fieldErrors, setFieldErrors] = useState12([]);
|
|
19061
|
+
const [formVersion, setFormVersion] = useState12(0);
|
|
19062
|
+
const alive = useRef7(true);
|
|
19063
|
+
const generation2 = useRef7(0);
|
|
19064
|
+
const dialog = useRef7(null);
|
|
19065
|
+
useEffect7(() => {
|
|
19379
19066
|
const element = dialog.current;
|
|
19380
19067
|
if (!element || element.open) return;
|
|
19381
19068
|
if (typeof element.showModal === "function") element.showModal();
|
|
19382
19069
|
else element.setAttribute("open", "");
|
|
19383
19070
|
}, []);
|
|
19384
19071
|
const load = async () => {
|
|
19385
|
-
const current = ++
|
|
19072
|
+
const current = ++generation2.current;
|
|
19386
19073
|
setLoading(true);
|
|
19387
19074
|
setLoadFailure(null);
|
|
19388
19075
|
try {
|
|
19389
|
-
const { config: state } = await client.sessions.getSessionPluginConfig(sessionId, plugin.name);
|
|
19390
|
-
if (!alive.current ||
|
|
19076
|
+
const { config: state, can_configure_global, host: hostState } = await client.sessions.getSessionPluginConfig(sessionId, plugin.name, void 0, scope);
|
|
19077
|
+
if (!alive.current || generation2.current !== current) return;
|
|
19078
|
+
setCanConfigureGlobal(can_configure_global ?? false);
|
|
19079
|
+
setHost(hostState ?? null);
|
|
19391
19080
|
setConfig(state);
|
|
19392
19081
|
setFormVersion((value) => value + 1);
|
|
19393
19082
|
} catch (error) {
|
|
19394
|
-
if (!alive.current ||
|
|
19083
|
+
if (!alive.current || generation2.current !== current) return;
|
|
19395
19084
|
const detail = await readFailure(error);
|
|
19396
|
-
if (!alive.current ||
|
|
19085
|
+
if (!alive.current || generation2.current !== current) return;
|
|
19397
19086
|
setLoadFailure(detail.message ?? "\u914D\u7F6E\u6682\u4E0D\u53EF\u7528");
|
|
19398
19087
|
} finally {
|
|
19399
|
-
if (alive.current &&
|
|
19088
|
+
if (alive.current && generation2.current === current) setLoading(false);
|
|
19400
19089
|
}
|
|
19401
19090
|
};
|
|
19402
|
-
|
|
19091
|
+
useEffect7(() => {
|
|
19403
19092
|
alive.current = true;
|
|
19404
19093
|
setConfig(null);
|
|
19405
19094
|
setFailure(null);
|
|
@@ -19407,12 +19096,12 @@ function ConfigDialogState({
|
|
|
19407
19096
|
void load();
|
|
19408
19097
|
return () => {
|
|
19409
19098
|
alive.current = false;
|
|
19410
|
-
|
|
19099
|
+
generation2.current++;
|
|
19411
19100
|
};
|
|
19412
|
-
}, [client, sessionId, plugin.name]);
|
|
19101
|
+
}, [client, sessionId, plugin.name, scope]);
|
|
19413
19102
|
const save = async (draft) => {
|
|
19414
19103
|
if (!config) return;
|
|
19415
|
-
const current =
|
|
19104
|
+
const current = generation2.current;
|
|
19416
19105
|
setSaving(true);
|
|
19417
19106
|
setFailure(null);
|
|
19418
19107
|
setFieldErrors([]);
|
|
@@ -19424,16 +19113,18 @@ function ConfigDialogState({
|
|
|
19424
19113
|
expected_revision: config.revision,
|
|
19425
19114
|
set: draft.set,
|
|
19426
19115
|
remove: draft.remove
|
|
19427
|
-
}
|
|
19116
|
+
},
|
|
19117
|
+
void 0,
|
|
19118
|
+
scope
|
|
19428
19119
|
);
|
|
19429
|
-
if (!alive.current ||
|
|
19120
|
+
if (!alive.current || generation2.current !== current) return;
|
|
19430
19121
|
setConfig(state);
|
|
19431
19122
|
setFormVersion((value) => value + 1);
|
|
19432
|
-
onSaved?.(state);
|
|
19123
|
+
if (scope === "personal") onSaved?.(state);
|
|
19433
19124
|
} catch (error) {
|
|
19434
|
-
if (!alive.current ||
|
|
19125
|
+
if (!alive.current || generation2.current !== current) return;
|
|
19435
19126
|
const detail = await readFailure(error);
|
|
19436
|
-
if (!alive.current ||
|
|
19127
|
+
if (!alive.current || generation2.current !== current) return;
|
|
19437
19128
|
setFailure(detail.message ?? "\u914D\u7F6E\u672A\u4FDD\u5B58\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5");
|
|
19438
19129
|
setFieldErrors(detail.errors ?? []);
|
|
19439
19130
|
if (detail.code === "plugin_config_conflict") await load();
|
|
@@ -19442,7 +19133,7 @@ function ConfigDialogState({
|
|
|
19442
19133
|
}
|
|
19443
19134
|
};
|
|
19444
19135
|
return /* @__PURE__ */ jsxs3(Fragment3, { children: [
|
|
19445
|
-
/* @__PURE__ */
|
|
19136
|
+
/* @__PURE__ */ jsx5("style", { children: ".blade-plugin-dialog::backdrop { background: rgb(0 0 0 / 40%); }" }),
|
|
19446
19137
|
/* @__PURE__ */ jsxs3(
|
|
19447
19138
|
"dialog",
|
|
19448
19139
|
{
|
|
@@ -19469,8 +19160,8 @@ function ConfigDialogState({
|
|
|
19469
19160
|
className: "blade-plugin-dialog max-h-[80vh] overflow-y-auto rounded-lg border border-[hsl(var(--border))] bg-[hsl(var(--popover))] p-4 text-[hsl(var(--popover-foreground))] shadow-lg",
|
|
19470
19161
|
children: [
|
|
19471
19162
|
/* @__PURE__ */ jsxs3("div", { className: "mb-3 flex items-center gap-2", children: [
|
|
19472
|
-
/* @__PURE__ */
|
|
19473
|
-
/* @__PURE__ */
|
|
19163
|
+
/* @__PURE__ */ jsx5(SessionPluginIcon, { client, sessionId, plugin }),
|
|
19164
|
+
/* @__PURE__ */ jsx5(
|
|
19474
19165
|
"span",
|
|
19475
19166
|
{
|
|
19476
19167
|
className: "min-w-0 flex-1 truncate text-sm font-medium",
|
|
@@ -19478,7 +19169,7 @@ function ConfigDialogState({
|
|
|
19478
19169
|
children: sessionPluginLabel(plugin)
|
|
19479
19170
|
}
|
|
19480
19171
|
),
|
|
19481
|
-
/* @__PURE__ */
|
|
19172
|
+
/* @__PURE__ */ jsx5(
|
|
19482
19173
|
"button",
|
|
19483
19174
|
{
|
|
19484
19175
|
type: "button",
|
|
@@ -19489,10 +19180,44 @@ function ConfigDialogState({
|
|
|
19489
19180
|
}
|
|
19490
19181
|
)
|
|
19491
19182
|
] }),
|
|
19492
|
-
|
|
19183
|
+
canConfigureGlobal ? /* @__PURE__ */ jsxs3("div", { className: "mb-3 flex gap-2 text-xs", children: [
|
|
19184
|
+
/* @__PURE__ */ jsx5("button", { type: "button", disabled: saving, "aria-pressed": scope === "personal", onClick: () => setScope("personal"), children: "\u6211\u7684\u767B\u5F55" }),
|
|
19185
|
+
/* @__PURE__ */ jsx5("button", { type: "button", disabled: saving, "aria-pressed": scope === "global", onClick: () => setScope("global"), children: "\u7EC4\u7EC7\u5171\u4EAB\u914D\u7F6E" })
|
|
19186
|
+
] }) : null,
|
|
19187
|
+
host ? /* @__PURE__ */ jsxs3("div", { className: "mb-3 space-y-1 text-xs", children: [
|
|
19188
|
+
/* @__PURE__ */ jsxs3("p", { children: [
|
|
19189
|
+
"\u670D\u52A1\uFF1A",
|
|
19190
|
+
host.reason,
|
|
19191
|
+
" \xB7 \u5DF2\u6062\u590D ",
|
|
19192
|
+
host.restarts,
|
|
19193
|
+
" \u6B21"
|
|
19194
|
+
] }),
|
|
19195
|
+
canConfigureGlobal ? /* @__PURE__ */ jsxs3(Fragment3, { children: [
|
|
19196
|
+
/* @__PURE__ */ jsxs3("p", { className: "break-all text-[hsl(var(--muted-foreground))]", children: [
|
|
19197
|
+
"\u5305\u6458\u8981\uFF1A",
|
|
19198
|
+
host.digest,
|
|
19199
|
+
" \xB7 \u914D\u7F6E\uFF1A",
|
|
19200
|
+
host.revision
|
|
19201
|
+
] }),
|
|
19202
|
+
/* @__PURE__ */ jsx5("button", { type: "button", disabled: restarting || saving, onClick: () => {
|
|
19203
|
+
setRestarting(true);
|
|
19204
|
+
void client.sessions.restartSessionPluginHost(sessionId, plugin.name).then(() => load()).catch(() => setFailure("\u670D\u52A1\u6682\u65F6\u4E0D\u53EF\u7528\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5")).finally(() => {
|
|
19205
|
+
if (alive.current) setRestarting(false);
|
|
19206
|
+
});
|
|
19207
|
+
}, children: restarting ? "\u6B63\u5728\u91CD\u542F\u2026" : "\u91CD\u542F\u670D\u52A1" }),
|
|
19208
|
+
host.recent?.length ? /* @__PURE__ */ jsxs3("details", { children: [
|
|
19209
|
+
/* @__PURE__ */ jsx5("summary", { children: "\u6700\u8FD1\u6D3B\u52A8" }),
|
|
19210
|
+
host.recent.map((line, index2) => /* @__PURE__ */ jsx5("p", { children: line }, `${index2}-${line}`))
|
|
19211
|
+
] }) : null
|
|
19212
|
+
] }) : null
|
|
19213
|
+
] }) : null,
|
|
19214
|
+
scope === "personal" && config?.auth_status === "expired" ? /* @__PURE__ */ jsx5("p", { className: "mb-2 text-xs", children: "\u767B\u5F55\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u91CD\u65B0\u586B\u5199" }) : null,
|
|
19215
|
+
scope === "personal" && config?.global_ready === false ? /* @__PURE__ */ jsx5("p", { className: "mb-2 text-xs", children: "\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u586B\u5199\u5171\u4EAB\u914D\u7F6E" }) : null,
|
|
19216
|
+
scope === "global" ? /* @__PURE__ */ jsx5("p", { className: "mb-2 text-xs", children: "\u5171\u4EAB\u5BC6\u94A5\u7528\u4E8E\u63D2\u4EF6\u670D\u52A1\u3002\u547D\u4EE4\u7C7B\u63D2\u4EF6\u7684\u6C99\u76D2\u4EE3\u7801\u53EF\u4EE5\u8BFB\u53D6\u5B83\uFF1B\u9700\u4FDD\u5BC6\u65F6\u8BF7\u4F7F\u7528\u6258\u7BA1\u670D\u52A1\u3002" }) : null,
|
|
19217
|
+
loading ? /* @__PURE__ */ jsx5("p", { className: "text-xs text-[hsl(var(--muted-foreground))]", children: "\u6B63\u5728\u8BFB\u53D6\u914D\u7F6E\u2026" }) : null,
|
|
19493
19218
|
loadFailure ? /* @__PURE__ */ jsxs3("div", { className: "space-y-2 text-xs", children: [
|
|
19494
|
-
/* @__PURE__ */
|
|
19495
|
-
/* @__PURE__ */
|
|
19219
|
+
/* @__PURE__ */ jsx5("p", { children: loadFailure }),
|
|
19220
|
+
/* @__PURE__ */ jsx5(
|
|
19496
19221
|
"button",
|
|
19497
19222
|
{
|
|
19498
19223
|
type: "button",
|
|
@@ -19502,7 +19227,7 @@ function ConfigDialogState({
|
|
|
19502
19227
|
}
|
|
19503
19228
|
)
|
|
19504
19229
|
] }) : null,
|
|
19505
|
-
config && !loading ? /* @__PURE__ */
|
|
19230
|
+
config && !loading ? /* @__PURE__ */ jsx5(
|
|
19506
19231
|
SessionPluginConfigForm,
|
|
19507
19232
|
{
|
|
19508
19233
|
config,
|
|
@@ -19521,17 +19246,16 @@ function ConfigDialogState({
|
|
|
19521
19246
|
}
|
|
19522
19247
|
|
|
19523
19248
|
// src/components/PluginConnectorList.tsx
|
|
19524
|
-
import { jsx as
|
|
19249
|
+
import { jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
19525
19250
|
function PluginSwitch({
|
|
19526
19251
|
label,
|
|
19527
19252
|
checked,
|
|
19528
19253
|
pending,
|
|
19529
19254
|
disabled,
|
|
19530
|
-
/** 首页的开关只是"这次输入的待选",不是"已经启用",措辞必须跟着分。 */
|
|
19531
19255
|
draft = false,
|
|
19532
19256
|
onToggle
|
|
19533
19257
|
}) {
|
|
19534
|
-
return /* @__PURE__ */
|
|
19258
|
+
return /* @__PURE__ */ jsx6(
|
|
19535
19259
|
"button",
|
|
19536
19260
|
{
|
|
19537
19261
|
type: "button",
|
|
@@ -19541,12 +19265,12 @@ function PluginSwitch({
|
|
|
19541
19265
|
disabled,
|
|
19542
19266
|
onClick: () => onToggle(!checked),
|
|
19543
19267
|
className: `relative inline-flex h-[18px] w-8 shrink-0 cursor-pointer items-center rounded-full border transition-colors disabled:cursor-not-allowed disabled:opacity-50 ${checked ? "border-transparent bg-[hsl(213_94%_55%)]" : "border-[hsl(var(--border))] bg-[hsl(var(--muted))]"}`,
|
|
19544
|
-
children: /* @__PURE__ */
|
|
19268
|
+
children: /* @__PURE__ */ jsx6(
|
|
19545
19269
|
"span",
|
|
19546
19270
|
{
|
|
19547
19271
|
"aria-hidden": "true",
|
|
19548
19272
|
className: `pointer-events-none flex h-3.5 w-3.5 items-center justify-center rounded-full bg-white shadow transition-transform ${checked ? "translate-x-[16px]" : "translate-x-[2px]"}`,
|
|
19549
|
-
children: pending ? /* @__PURE__ */
|
|
19273
|
+
children: pending ? /* @__PURE__ */ jsx6(LoaderCircle, { size: 9, className: "animate-spin text-[hsl(var(--muted-foreground))]" }) : null
|
|
19550
19274
|
}
|
|
19551
19275
|
)
|
|
19552
19276
|
}
|
|
@@ -19572,8 +19296,8 @@ function PluginConnectorList({
|
|
|
19572
19296
|
}) {
|
|
19573
19297
|
const configuringItem = configuring ? items.find((item) => item.name === configuring.name) ?? null : null;
|
|
19574
19298
|
return /* @__PURE__ */ jsxs4("div", { className: "py-0.5", children: [
|
|
19575
|
-
disabledReason ? /* @__PURE__ */
|
|
19576
|
-
items.length === 0 ? /* @__PURE__ */
|
|
19299
|
+
disabledReason ? /* @__PURE__ */ jsx6("div", { className: "px-3 py-1.5 text-[11px] text-[hsl(var(--muted-foreground))]", children: disabledReason }) : null,
|
|
19300
|
+
items.length === 0 ? /* @__PURE__ */ jsx6("div", { className: "px-3 py-1.5 text-[11px] text-[hsl(var(--muted-foreground))]", children: unavailableText ?? emptyText }) : null,
|
|
19577
19301
|
items.map((item) => {
|
|
19578
19302
|
const label = sessionPluginLabel(item);
|
|
19579
19303
|
const actionable = !disabledReason && item.installed !== false || item.active;
|
|
@@ -19581,7 +19305,7 @@ function PluginConnectorList({
|
|
|
19581
19305
|
const checked = item.active;
|
|
19582
19306
|
return /* @__PURE__ */ jsxs4("div", { className: "group px-3 py-1", children: [
|
|
19583
19307
|
/* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-2", children: [
|
|
19584
|
-
/* @__PURE__ */
|
|
19308
|
+
/* @__PURE__ */ jsx6(
|
|
19585
19309
|
SessionPluginIcon,
|
|
19586
19310
|
{
|
|
19587
19311
|
client,
|
|
@@ -19589,8 +19313,9 @@ function PluginConnectorList({
|
|
|
19589
19313
|
plugin: item
|
|
19590
19314
|
}
|
|
19591
19315
|
),
|
|
19592
|
-
/* @__PURE__ */
|
|
19593
|
-
|
|
19316
|
+
/* @__PURE__ */ jsx6("span", { className: "min-w-0 flex-1 truncate text-[11px]", title: label, children: label }),
|
|
19317
|
+
item.auth_status === "expired" || item.auth_status === "login_required" || item.auth_status === "unavailable" ? /* @__PURE__ */ jsx6("button", { type: "button", disabled: !sessionId || busy, onClick: () => onEditConfig(item), className: "shrink-0 text-[10px] underline", children: item.auth_status === "expired" ? "\u767B\u5F55\u5DF2\u8FC7\u671F" : item.auth_status === "unavailable" ? "\u6682\u65F6\u4E0D\u53EF\u7528" : "\u672A\u767B\u5F55" }) : null,
|
|
19318
|
+
!draft && item.config === "configured" ? /* @__PURE__ */ jsx6(
|
|
19594
19319
|
"button",
|
|
19595
19320
|
{
|
|
19596
19321
|
type: "button",
|
|
@@ -19601,7 +19326,7 @@ function PluginConnectorList({
|
|
|
19601
19326
|
children: "\u66F4\u65B0\u914D\u7F6E"
|
|
19602
19327
|
}
|
|
19603
19328
|
) : null,
|
|
19604
|
-
!draft && (item.config === "required" || item.config === "error") ? /* @__PURE__ */
|
|
19329
|
+
!draft && (item.config === "required" || item.config === "error") ? /* @__PURE__ */ jsx6(
|
|
19605
19330
|
"button",
|
|
19606
19331
|
{
|
|
19607
19332
|
type: "button",
|
|
@@ -19612,7 +19337,7 @@ function PluginConnectorList({
|
|
|
19612
19337
|
children: "\u586B\u5199\u914D\u7F6E"
|
|
19613
19338
|
}
|
|
19614
19339
|
) : null,
|
|
19615
|
-
/* @__PURE__ */
|
|
19340
|
+
/* @__PURE__ */ jsx6(
|
|
19616
19341
|
PluginSwitch,
|
|
19617
19342
|
{
|
|
19618
19343
|
label,
|
|
@@ -19625,8 +19350,8 @@ function PluginConnectorList({
|
|
|
19625
19350
|
)
|
|
19626
19351
|
] }),
|
|
19627
19352
|
!draft && item.active && item.status !== "valid" && item.status !== "required" ? /* @__PURE__ */ jsxs4("div", { className: "mt-0.5 flex items-center gap-2 pl-7 text-[10px] text-[hsl(var(--muted-foreground))]", children: [
|
|
19628
|
-
/* @__PURE__ */
|
|
19629
|
-
/* @__PURE__ */
|
|
19353
|
+
/* @__PURE__ */ jsx6("span", { children: item.reason || "\u63D2\u4EF6\u6682\u4E0D\u53EF\u7528" }),
|
|
19354
|
+
/* @__PURE__ */ jsx6(
|
|
19630
19355
|
"button",
|
|
19631
19356
|
{
|
|
19632
19357
|
type: "button",
|
|
@@ -19639,8 +19364,8 @@ function PluginConnectorList({
|
|
|
19639
19364
|
] }) : null
|
|
19640
19365
|
] }, item.name);
|
|
19641
19366
|
}),
|
|
19642
|
-
mutationError ? /* @__PURE__ */
|
|
19643
|
-
configuring && configuringItem && sessionId ? /* @__PURE__ */
|
|
19367
|
+
mutationError ? /* @__PURE__ */ jsx6("div", { className: "px-3 pt-1 text-[10px] text-[hsl(var(--destructive))]", children: "\u64CD\u4F5C\u672A\u5B8C\u6210\uFF0C\u8BF7\u91CD\u8BD5" }) : null,
|
|
19368
|
+
configuring && configuringItem && sessionId ? /* @__PURE__ */ jsx6(
|
|
19644
19369
|
SessionPluginConfigDialog,
|
|
19645
19370
|
{
|
|
19646
19371
|
client,
|
|
@@ -19661,6 +19386,7 @@ function catalogToConnectorItems(catalog) {
|
|
|
19661
19386
|
icon: entry.icon,
|
|
19662
19387
|
iconSource: "account",
|
|
19663
19388
|
installed: entry.installed,
|
|
19389
|
+
auth_status: entry.auth_status,
|
|
19664
19390
|
active: false,
|
|
19665
19391
|
status: "not_prepared",
|
|
19666
19392
|
projected: false
|
|
@@ -19690,6 +19416,7 @@ function mergeConnectorItems(sessionPlugins, catalog) {
|
|
|
19690
19416
|
icon: entry.icon,
|
|
19691
19417
|
iconSource: "account",
|
|
19692
19418
|
installed: entry.installed,
|
|
19419
|
+
auth_status: entry.auth_status,
|
|
19693
19420
|
active: plugin.active,
|
|
19694
19421
|
status: plugin.status,
|
|
19695
19422
|
reason: plugin.reason,
|
|
@@ -19707,29 +19434,29 @@ function filterConnectorItems(items, query) {
|
|
|
19707
19434
|
}
|
|
19708
19435
|
|
|
19709
19436
|
// src/components/use-session-plugin-activation.ts
|
|
19710
|
-
import { useCallback as useCallback19, useEffect as
|
|
19437
|
+
import { useCallback as useCallback19, useEffect as useEffect8, useMemo as useMemo9, useRef as useRef8, useState as useState13 } from "react";
|
|
19711
19438
|
function useSessionPluginActivation({
|
|
19712
19439
|
client,
|
|
19713
19440
|
sessionId,
|
|
19714
19441
|
onChange
|
|
19715
19442
|
}) {
|
|
19716
|
-
const [plugins, setPlugins] =
|
|
19717
|
-
const [catalog, setCatalog] =
|
|
19718
|
-
const [loading, setLoading] =
|
|
19719
|
-
const [listError, setListError] =
|
|
19720
|
-
const [mutationError, setMutationError] =
|
|
19721
|
-
const [inFlight, setInFlight] =
|
|
19722
|
-
const [configuring, setConfiguring] =
|
|
19723
|
-
const alive =
|
|
19724
|
-
const
|
|
19725
|
-
const mutationGenerations =
|
|
19726
|
-
const desiredActivations =
|
|
19727
|
-
const pendingMutations =
|
|
19728
|
-
const submittedActivations =
|
|
19729
|
-
const serverActive =
|
|
19730
|
-
const lifetime =
|
|
19731
|
-
const request =
|
|
19732
|
-
const [desiredVersion, setDesiredVersion] =
|
|
19443
|
+
const [plugins, setPlugins] = useState13([]);
|
|
19444
|
+
const [catalog, setCatalog] = useState13(null);
|
|
19445
|
+
const [loading, setLoading] = useState13(false);
|
|
19446
|
+
const [listError, setListError] = useState13(false);
|
|
19447
|
+
const [mutationError, setMutationError] = useState13(false);
|
|
19448
|
+
const [inFlight, setInFlight] = useState13({});
|
|
19449
|
+
const [configuring, setConfiguring] = useState13(null);
|
|
19450
|
+
const alive = useRef8(true);
|
|
19451
|
+
const generation2 = useRef8(0);
|
|
19452
|
+
const mutationGenerations = useRef8(/* @__PURE__ */ new Map());
|
|
19453
|
+
const desiredActivations = useRef8(/* @__PURE__ */ new Map());
|
|
19454
|
+
const pendingMutations = useRef8(/* @__PURE__ */ new Map());
|
|
19455
|
+
const submittedActivations = useRef8(/* @__PURE__ */ new Set());
|
|
19456
|
+
const serverActive = useRef8(/* @__PURE__ */ new Set());
|
|
19457
|
+
const lifetime = useRef8(0);
|
|
19458
|
+
const request = useRef8(null);
|
|
19459
|
+
const [desiredVersion, setDesiredVersion] = useState13(0);
|
|
19733
19460
|
const setDesired = useCallback19((name, value) => {
|
|
19734
19461
|
if (value === null) {
|
|
19735
19462
|
if (!desiredActivations.current.delete(name)) return;
|
|
@@ -19739,7 +19466,7 @@ function useSessionPluginActivation({
|
|
|
19739
19466
|
}
|
|
19740
19467
|
setDesiredVersion((version) => version + 1);
|
|
19741
19468
|
}, []);
|
|
19742
|
-
const items =
|
|
19469
|
+
const items = useMemo9(() => {
|
|
19743
19470
|
void desiredVersion;
|
|
19744
19471
|
const merged = mergeConnectorItems(plugins, catalog);
|
|
19745
19472
|
return merged.map((item) => {
|
|
@@ -19759,7 +19486,7 @@ function useSessionPluginActivation({
|
|
|
19759
19486
|
return rest;
|
|
19760
19487
|
});
|
|
19761
19488
|
}, []);
|
|
19762
|
-
|
|
19489
|
+
useEffect8(() => {
|
|
19763
19490
|
alive.current = true;
|
|
19764
19491
|
setPlugins([]);
|
|
19765
19492
|
setCatalog(null);
|
|
@@ -19775,7 +19502,7 @@ function useSessionPluginActivation({
|
|
|
19775
19502
|
return () => {
|
|
19776
19503
|
alive.current = false;
|
|
19777
19504
|
lifetime.current++;
|
|
19778
|
-
|
|
19505
|
+
generation2.current++;
|
|
19779
19506
|
request.current?.abort();
|
|
19780
19507
|
};
|
|
19781
19508
|
}, [client]);
|
|
@@ -19784,7 +19511,7 @@ function useSessionPluginActivation({
|
|
|
19784
19511
|
request.current?.abort();
|
|
19785
19512
|
const controller = new AbortController();
|
|
19786
19513
|
request.current = controller;
|
|
19787
|
-
const current = ++
|
|
19514
|
+
const current = ++generation2.current;
|
|
19788
19515
|
setLoading(true);
|
|
19789
19516
|
setListError(false);
|
|
19790
19517
|
try {
|
|
@@ -19802,7 +19529,7 @@ function useSessionPluginActivation({
|
|
|
19802
19529
|
}
|
|
19803
19530
|
})
|
|
19804
19531
|
);
|
|
19805
|
-
if (alive.current && current ===
|
|
19532
|
+
if (alive.current && current === generation2.current) {
|
|
19806
19533
|
serverActive.current = new Set(withConfig.filter((item) => item.active).map((item) => item.name));
|
|
19807
19534
|
setPlugins(withConfig.map((item) => {
|
|
19808
19535
|
const desired = desiredActivations.current.get(item.name);
|
|
@@ -19810,9 +19537,9 @@ function useSessionPluginActivation({
|
|
|
19810
19537
|
}));
|
|
19811
19538
|
}
|
|
19812
19539
|
} catch {
|
|
19813
|
-
if (alive.current && current ===
|
|
19540
|
+
if (alive.current && current === generation2.current && !controller.signal.aborted) setListError(true);
|
|
19814
19541
|
} finally {
|
|
19815
|
-
if (alive.current && current ===
|
|
19542
|
+
if (alive.current && current === generation2.current) setLoading(false);
|
|
19816
19543
|
}
|
|
19817
19544
|
}, [client, sessionId]);
|
|
19818
19545
|
const loadCatalog = useCallback19(async () => {
|
|
@@ -19874,112 +19601,341 @@ function useSessionPluginActivation({
|
|
|
19874
19601
|
void load();
|
|
19875
19602
|
}
|
|
19876
19603
|
}
|
|
19877
|
-
},
|
|
19878
|
-
[client, finish, load, markInFlight, onChange, sessionId, setDesired]
|
|
19604
|
+
},
|
|
19605
|
+
[client, finish, load, markInFlight, onChange, sessionId, setDesired]
|
|
19606
|
+
);
|
|
19607
|
+
const enable = useCallback19(async (name) => {
|
|
19608
|
+
if (!alive.current) return;
|
|
19609
|
+
const startedAt = lifetime.current;
|
|
19610
|
+
const mutation = (mutationGenerations.current.get(name) ?? 0) + 1;
|
|
19611
|
+
mutationGenerations.current.set(name, mutation);
|
|
19612
|
+
pendingMutations.current.set(name, mutation);
|
|
19613
|
+
setDesired(name, true);
|
|
19614
|
+
setMutationError(false);
|
|
19615
|
+
markInFlight(name, true);
|
|
19616
|
+
request.current?.abort();
|
|
19617
|
+
generation2.current++;
|
|
19618
|
+
setLoading(false);
|
|
19619
|
+
let state;
|
|
19620
|
+
try {
|
|
19621
|
+
const result = await client.sessions.prepareSessionPluginConfig(sessionId, name);
|
|
19622
|
+
if (!alive.current || startedAt !== lifetime.current || mutation !== mutationGenerations.current.get(name)) return;
|
|
19623
|
+
state = result.config;
|
|
19624
|
+
} catch {
|
|
19625
|
+
if (!alive.current || startedAt !== lifetime.current || mutation !== mutationGenerations.current.get(name)) return;
|
|
19626
|
+
abandon(name);
|
|
19627
|
+
setMutationError(true);
|
|
19628
|
+
return;
|
|
19629
|
+
}
|
|
19630
|
+
if (state.state === "required") {
|
|
19631
|
+
pendingMutations.current.delete(name);
|
|
19632
|
+
markInFlight(name, false);
|
|
19633
|
+
setConfiguring({ name, pendingActivation: true });
|
|
19634
|
+
return;
|
|
19635
|
+
}
|
|
19636
|
+
if (state.state !== "configured" && state.state !== "not_required") {
|
|
19637
|
+
abandon(name);
|
|
19638
|
+
setMutationError(true);
|
|
19639
|
+
return;
|
|
19640
|
+
}
|
|
19641
|
+
setPlugins((current) => current.map((item) => item.name === name ? { ...item, config: state.state } : item));
|
|
19642
|
+
await commitActivation(name, true, mutation, startedAt);
|
|
19643
|
+
}, [abandon, client, commitActivation, markInFlight, sessionId, setDesired]);
|
|
19644
|
+
const disable = useCallback19((name) => {
|
|
19645
|
+
const startedAt = lifetime.current;
|
|
19646
|
+
request.current?.abort();
|
|
19647
|
+
generation2.current++;
|
|
19648
|
+
setLoading(false);
|
|
19649
|
+
if (!submittedActivations.current.has(name) && !serverActive.current.has(name)) {
|
|
19650
|
+
abandon(name);
|
|
19651
|
+
return;
|
|
19652
|
+
}
|
|
19653
|
+
const mutation = (mutationGenerations.current.get(name) ?? 0) + 1;
|
|
19654
|
+
mutationGenerations.current.set(name, mutation);
|
|
19655
|
+
pendingMutations.current.set(name, mutation);
|
|
19656
|
+
setDesired(name, false);
|
|
19657
|
+
setMutationError(false);
|
|
19658
|
+
markInFlight(name, true);
|
|
19659
|
+
void commitActivation(name, false, mutation, startedAt);
|
|
19660
|
+
}, [abandon, commitActivation, markInFlight, setDesired]);
|
|
19661
|
+
const toggle = useCallback19((item, next) => {
|
|
19662
|
+
if (next) void enable(item.name);
|
|
19663
|
+
else disable(item.name);
|
|
19664
|
+
}, [disable, enable]);
|
|
19665
|
+
const retry = useCallback19((item) => {
|
|
19666
|
+
void enable(item.name);
|
|
19667
|
+
}, [enable]);
|
|
19668
|
+
const editConfig = useCallback19((item) => {
|
|
19669
|
+
setConfiguring({ name: item.name, pendingActivation: false });
|
|
19670
|
+
}, []);
|
|
19671
|
+
const onConfigSaved = useCallback19((state) => {
|
|
19672
|
+
const target = configuring;
|
|
19673
|
+
if (!target) return;
|
|
19674
|
+
setConfiguring(null);
|
|
19675
|
+
void loadCatalog();
|
|
19676
|
+
setPlugins((current) => current.map((item) => item.name === target.name ? { ...item, config: state.state } : item));
|
|
19677
|
+
if (!target.pendingActivation || state.state !== "configured") {
|
|
19678
|
+
void load();
|
|
19679
|
+
return;
|
|
19680
|
+
}
|
|
19681
|
+
const startedAt = lifetime.current;
|
|
19682
|
+
const mutation = (mutationGenerations.current.get(target.name) ?? 0) + 1;
|
|
19683
|
+
mutationGenerations.current.set(target.name, mutation);
|
|
19684
|
+
pendingMutations.current.set(target.name, mutation);
|
|
19685
|
+
setDesired(target.name, true);
|
|
19686
|
+
markInFlight(target.name, true);
|
|
19687
|
+
void commitActivation(target.name, true, mutation, startedAt);
|
|
19688
|
+
}, [commitActivation, configuring, load, loadCatalog, markInFlight, setDesired]);
|
|
19689
|
+
const onConfigClose = useCallback19(() => {
|
|
19690
|
+
const target = configuring;
|
|
19691
|
+
if (!target) return;
|
|
19692
|
+
setConfiguring(null);
|
|
19693
|
+
if (target.pendingActivation) abandon(target.name);
|
|
19694
|
+
else void load();
|
|
19695
|
+
}, [abandon, configuring, load]);
|
|
19696
|
+
return {
|
|
19697
|
+
items,
|
|
19698
|
+
loading,
|
|
19699
|
+
listError,
|
|
19700
|
+
mutationError,
|
|
19701
|
+
inFlight,
|
|
19702
|
+
busy: Object.keys(inFlight).length > 0,
|
|
19703
|
+
configuring,
|
|
19704
|
+
reload,
|
|
19705
|
+
toggle,
|
|
19706
|
+
retry,
|
|
19707
|
+
editConfig,
|
|
19708
|
+
onConfigSaved,
|
|
19709
|
+
onConfigClose
|
|
19710
|
+
};
|
|
19711
|
+
}
|
|
19712
|
+
|
|
19713
|
+
// src/chat/runtime/session-source.tsx
|
|
19714
|
+
import { createInitialSessionState } from "@blade-hq/agent-client/internal";
|
|
19715
|
+
import {
|
|
19716
|
+
createContext as createContext3,
|
|
19717
|
+
useContext as useContext3,
|
|
19718
|
+
useEffect as useEffect9,
|
|
19719
|
+
useLayoutEffect,
|
|
19720
|
+
useMemo as useMemo10,
|
|
19721
|
+
useRef as useRef9,
|
|
19722
|
+
useState as useState14,
|
|
19723
|
+
useSyncExternalStore
|
|
19724
|
+
} from "react";
|
|
19725
|
+
import { jsx as jsx7 } from "react/jsx-runtime";
|
|
19726
|
+
var EMPTY_SOURCE = {
|
|
19727
|
+
subscribe: () => () => {
|
|
19728
|
+
},
|
|
19729
|
+
getSession: () => void 0,
|
|
19730
|
+
isHistoryLoading: () => false,
|
|
19731
|
+
planRevealRevision: () => 0
|
|
19732
|
+
};
|
|
19733
|
+
var SessionSourceContext = createContext3(EMPTY_SOURCE);
|
|
19734
|
+
function SessionSourceProvider({ source, children }) {
|
|
19735
|
+
return /* @__PURE__ */ jsx7(SessionSourceContext.Provider, { value: source, children });
|
|
19736
|
+
}
|
|
19737
|
+
function useSessionSource() {
|
|
19738
|
+
return useContext3(SessionSourceContext);
|
|
19739
|
+
}
|
|
19740
|
+
var SingleSessionSource = class {
|
|
19741
|
+
session = null;
|
|
19742
|
+
loading = false;
|
|
19743
|
+
listeners = /* @__PURE__ */ new Set();
|
|
19744
|
+
revisions = /* @__PURE__ */ new Map();
|
|
19745
|
+
subscribe = (listener) => {
|
|
19746
|
+
this.listeners.add(listener);
|
|
19747
|
+
return () => {
|
|
19748
|
+
this.listeners.delete(listener);
|
|
19749
|
+
};
|
|
19750
|
+
};
|
|
19751
|
+
getSession = (sessionId) => {
|
|
19752
|
+
const current = this.session;
|
|
19753
|
+
return current && (!sessionId || current.sessionId === sessionId) ? current : void 0;
|
|
19754
|
+
};
|
|
19755
|
+
isHistoryLoading = (sessionId) => {
|
|
19756
|
+
if (!this.session) return this.loading;
|
|
19757
|
+
return (!sessionId || this.session.sessionId === sessionId) && this.loading;
|
|
19758
|
+
};
|
|
19759
|
+
planRevealRevision = (sessionId) => sessionId ? this.revisions.get(sessionId) ?? 0 : 0;
|
|
19760
|
+
update(session, loading) {
|
|
19761
|
+
if (this.session === session && this.loading === loading) return;
|
|
19762
|
+
this.session = session;
|
|
19763
|
+
this.loading = loading;
|
|
19764
|
+
this.notify();
|
|
19765
|
+
}
|
|
19766
|
+
watchPlan(session) {
|
|
19767
|
+
return session.on("toolResult", ({ toolCall, turn, source }) => {
|
|
19768
|
+
if (source === "reconnect_replay" || (turn.loop_id || "root") !== "root" || toolCall.status !== "done" || !isPlanUpdateTool(toolCall) || !parsePlanUpdate(toolCall.arguments)) {
|
|
19769
|
+
return;
|
|
19770
|
+
}
|
|
19771
|
+
this.revisions.set(session.sessionId, (this.revisions.get(session.sessionId) ?? 0) + 1);
|
|
19772
|
+
this.notify();
|
|
19773
|
+
});
|
|
19774
|
+
}
|
|
19775
|
+
notify() {
|
|
19776
|
+
for (const listener of [...this.listeners]) listener();
|
|
19777
|
+
}
|
|
19778
|
+
};
|
|
19779
|
+
function useSingleSessionSource(session, loading) {
|
|
19780
|
+
const [source] = useState14(() => new SingleSessionSource());
|
|
19781
|
+
useLayoutEffect(() => {
|
|
19782
|
+
source.update(session, loading);
|
|
19783
|
+
}, [source, session, loading]);
|
|
19784
|
+
useEffect9(() => session ? source.watchPlan(session) : void 0, [source, session]);
|
|
19785
|
+
return source;
|
|
19786
|
+
}
|
|
19787
|
+
var EMPTY_STATE = createInitialSessionState("");
|
|
19788
|
+
var noopSubscribe = () => () => {
|
|
19789
|
+
};
|
|
19790
|
+
function useSessionHandle(sessionId) {
|
|
19791
|
+
const source = useSessionSource();
|
|
19792
|
+
return useSyncExternalStore(
|
|
19793
|
+
source.subscribe,
|
|
19794
|
+
() => source.getSession(sessionId) ?? null,
|
|
19795
|
+
() => source.getSession(sessionId) ?? null
|
|
19796
|
+
);
|
|
19797
|
+
}
|
|
19798
|
+
function useSessionState(sessionId, selector) {
|
|
19799
|
+
const session = useSessionHandle(sessionId);
|
|
19800
|
+
const selectorRef = useRef9(selector);
|
|
19801
|
+
selectorRef.current = selector;
|
|
19802
|
+
const store = useMemo10(() => {
|
|
19803
|
+
let lastState = null;
|
|
19804
|
+
let lastSelector = null;
|
|
19805
|
+
let lastSelected;
|
|
19806
|
+
const getSnapshot = () => {
|
|
19807
|
+
const state = session ? session.getState() : EMPTY_STATE;
|
|
19808
|
+
const current = selectorRef.current;
|
|
19809
|
+
if (state !== lastState || current !== lastSelector) {
|
|
19810
|
+
const next = current(state);
|
|
19811
|
+
if (!(lastState !== null && Object.is(next, lastSelected))) lastSelected = next;
|
|
19812
|
+
lastState = state;
|
|
19813
|
+
lastSelector = current;
|
|
19814
|
+
}
|
|
19815
|
+
return lastSelected;
|
|
19816
|
+
};
|
|
19817
|
+
return {
|
|
19818
|
+
subscribe: session ? (listener) => session.subscribe(listener) : noopSubscribe,
|
|
19819
|
+
getSnapshot
|
|
19820
|
+
};
|
|
19821
|
+
}, [session]);
|
|
19822
|
+
return useSyncExternalStore(store.subscribe, store.getSnapshot, store.getSnapshot);
|
|
19823
|
+
}
|
|
19824
|
+
function useIsSessionHistoryLoading(sessionId) {
|
|
19825
|
+
const source = useSessionSource();
|
|
19826
|
+
return useSyncExternalStore(
|
|
19827
|
+
source.subscribe,
|
|
19828
|
+
() => source.isHistoryLoading(sessionId),
|
|
19829
|
+
() => source.isHistoryLoading(sessionId)
|
|
19830
|
+
);
|
|
19831
|
+
}
|
|
19832
|
+
function usePlanRevealRevision(sessionId) {
|
|
19833
|
+
const source = useSessionSource();
|
|
19834
|
+
return useSyncExternalStore(
|
|
19835
|
+
source.subscribe,
|
|
19836
|
+
() => source.planRevealRevision(sessionId),
|
|
19837
|
+
() => source.planRevealRevision(sessionId)
|
|
19838
|
+
);
|
|
19839
|
+
}
|
|
19840
|
+
var CurrentChatSessionContext = createContext3(null);
|
|
19841
|
+
function CurrentChatSessionProvider({ sessionId, children }) {
|
|
19842
|
+
return /* @__PURE__ */ jsx7(CurrentChatSessionContext.Provider, { value: sessionId, children });
|
|
19843
|
+
}
|
|
19844
|
+
function useCurrentChatSessionId() {
|
|
19845
|
+
return useContext3(CurrentChatSessionContext);
|
|
19846
|
+
}
|
|
19847
|
+
|
|
19848
|
+
// src/chat/runtime/environment.tsx
|
|
19849
|
+
import { createContext as createContext4, useContext as useContext4, useMemo as useMemo11 } from "react";
|
|
19850
|
+
import { jsx as jsx8 } from "react/jsx-runtime";
|
|
19851
|
+
var EMPTY_ENVIRONMENT = {};
|
|
19852
|
+
var ChatEnvironmentContext = createContext4(EMPTY_ENVIRONMENT);
|
|
19853
|
+
function ChatEnvironmentProvider({ value, children }) {
|
|
19854
|
+
return /* @__PURE__ */ jsx8(ChatEnvironmentContext.Provider, { value, children });
|
|
19855
|
+
}
|
|
19856
|
+
function useChatEnvironment() {
|
|
19857
|
+
return useContext4(ChatEnvironmentContext);
|
|
19858
|
+
}
|
|
19859
|
+
var NO_HIGHLIGHT = { highlightedHtml: null };
|
|
19860
|
+
function usePlainCode() {
|
|
19861
|
+
return NO_HIGHLIGHT;
|
|
19862
|
+
}
|
|
19863
|
+
function useHighlightedCode(code, language) {
|
|
19864
|
+
const use = useChatEnvironment().useHighlightedCode ?? usePlainCode;
|
|
19865
|
+
return use(code, language);
|
|
19866
|
+
}
|
|
19867
|
+
function useNoDetail() {
|
|
19868
|
+
return null;
|
|
19869
|
+
}
|
|
19870
|
+
function useChatSessionDetail(sessionId) {
|
|
19871
|
+
const use = useChatEnvironment().useSessionDetail ?? useNoDetail;
|
|
19872
|
+
return use(sessionId);
|
|
19873
|
+
}
|
|
19874
|
+
function useShowTodo() {
|
|
19875
|
+
return false;
|
|
19876
|
+
}
|
|
19877
|
+
function useHideTodo() {
|
|
19878
|
+
const use = useChatEnvironment().useHideTodo ?? useShowTodo;
|
|
19879
|
+
return use();
|
|
19880
|
+
}
|
|
19881
|
+
function useChatRenderMode() {
|
|
19882
|
+
return useChatEnvironment().renderMode ?? "normal";
|
|
19883
|
+
}
|
|
19884
|
+
function notifyChat(environment, kind, message, options) {
|
|
19885
|
+
if (environment.notify) environment.notify(kind, message, options);
|
|
19886
|
+
else if (kind === "error") console.error(message);
|
|
19887
|
+
}
|
|
19888
|
+
function useComposerBridge(sessionId) {
|
|
19889
|
+
const environment = useChatEnvironment();
|
|
19890
|
+
const session = useSessionHandle(sessionId);
|
|
19891
|
+
return useMemo11(
|
|
19892
|
+
() => ({
|
|
19893
|
+
appendText(text, separate = false) {
|
|
19894
|
+
if (!sessionId) return;
|
|
19895
|
+
if (environment.appendToComposer) environment.appendToComposer(sessionId, text, separate);
|
|
19896
|
+
else session?.insertText(separate ? `
|
|
19897
|
+
|
|
19898
|
+
${text}` : text);
|
|
19899
|
+
},
|
|
19900
|
+
addContext(context) {
|
|
19901
|
+
if (!sessionId) return;
|
|
19902
|
+
if (environment.addComposerContext) environment.addComposerContext(sessionId, context);
|
|
19903
|
+
else session?.attach(context.label, context.content);
|
|
19904
|
+
}
|
|
19905
|
+
}),
|
|
19906
|
+
[environment, session, sessionId]
|
|
19879
19907
|
);
|
|
19880
|
-
|
|
19881
|
-
|
|
19882
|
-
|
|
19883
|
-
|
|
19884
|
-
|
|
19885
|
-
|
|
19886
|
-
|
|
19887
|
-
|
|
19888
|
-
|
|
19889
|
-
|
|
19890
|
-
|
|
19891
|
-
|
|
19892
|
-
|
|
19893
|
-
|
|
19894
|
-
|
|
19895
|
-
|
|
19896
|
-
|
|
19897
|
-
|
|
19898
|
-
|
|
19899
|
-
|
|
19900
|
-
|
|
19901
|
-
|
|
19902
|
-
|
|
19903
|
-
|
|
19904
|
-
|
|
19905
|
-
|
|
19906
|
-
|
|
19907
|
-
|
|
19908
|
-
|
|
19909
|
-
|
|
19910
|
-
|
|
19911
|
-
setMutationError(true);
|
|
19912
|
-
return;
|
|
19913
|
-
}
|
|
19914
|
-
setPlugins((current) => current.map((item) => item.name === name ? { ...item, config: state.state } : item));
|
|
19915
|
-
await commitActivation(name, true, mutation, startedAt);
|
|
19916
|
-
}, [abandon, client, commitActivation, markInFlight, sessionId, setDesired]);
|
|
19917
|
-
const disable = useCallback19((name) => {
|
|
19918
|
-
const startedAt = lifetime.current;
|
|
19919
|
-
request.current?.abort();
|
|
19920
|
-
generation.current++;
|
|
19921
|
-
setLoading(false);
|
|
19922
|
-
if (!submittedActivations.current.has(name) && !serverActive.current.has(name)) {
|
|
19923
|
-
abandon(name);
|
|
19924
|
-
return;
|
|
19925
|
-
}
|
|
19926
|
-
const mutation = (mutationGenerations.current.get(name) ?? 0) + 1;
|
|
19927
|
-
mutationGenerations.current.set(name, mutation);
|
|
19928
|
-
pendingMutations.current.set(name, mutation);
|
|
19929
|
-
setDesired(name, false);
|
|
19930
|
-
setMutationError(false);
|
|
19931
|
-
markInFlight(name, true);
|
|
19932
|
-
void commitActivation(name, false, mutation, startedAt);
|
|
19933
|
-
}, [abandon, commitActivation, markInFlight, setDesired]);
|
|
19934
|
-
const toggle = useCallback19((item, next) => {
|
|
19935
|
-
if (next) void enable(item.name);
|
|
19936
|
-
else disable(item.name);
|
|
19937
|
-
}, [disable, enable]);
|
|
19938
|
-
const retry = useCallback19((item) => {
|
|
19939
|
-
void enable(item.name);
|
|
19940
|
-
}, [enable]);
|
|
19941
|
-
const editConfig = useCallback19((item) => {
|
|
19942
|
-
setConfiguring({ name: item.name, pendingActivation: false });
|
|
19943
|
-
}, []);
|
|
19944
|
-
const onConfigSaved = useCallback19((state) => {
|
|
19945
|
-
const target = configuring;
|
|
19946
|
-
if (!target) return;
|
|
19947
|
-
setConfiguring(null);
|
|
19948
|
-
setPlugins((current) => current.map((item) => item.name === target.name ? { ...item, config: state.state } : item));
|
|
19949
|
-
if (!target.pendingActivation || state.state !== "configured") {
|
|
19950
|
-
void load();
|
|
19951
|
-
return;
|
|
19952
|
-
}
|
|
19953
|
-
const startedAt = lifetime.current;
|
|
19954
|
-
const mutation = (mutationGenerations.current.get(target.name) ?? 0) + 1;
|
|
19955
|
-
mutationGenerations.current.set(target.name, mutation);
|
|
19956
|
-
pendingMutations.current.set(target.name, mutation);
|
|
19957
|
-
setDesired(target.name, true);
|
|
19958
|
-
markInFlight(target.name, true);
|
|
19959
|
-
void commitActivation(target.name, true, mutation, startedAt);
|
|
19960
|
-
}, [commitActivation, configuring, load, markInFlight, setDesired]);
|
|
19961
|
-
const onConfigClose = useCallback19(() => {
|
|
19962
|
-
const target = configuring;
|
|
19963
|
-
if (!target) return;
|
|
19964
|
-
setConfiguring(null);
|
|
19965
|
-
if (target.pendingActivation) abandon(target.name);
|
|
19966
|
-
else void load();
|
|
19967
|
-
}, [abandon, configuring, load]);
|
|
19968
|
-
return {
|
|
19969
|
-
items,
|
|
19970
|
-
loading,
|
|
19971
|
-
listError,
|
|
19972
|
-
mutationError,
|
|
19973
|
-
inFlight,
|
|
19974
|
-
busy: Object.keys(inFlight).length > 0,
|
|
19975
|
-
configuring,
|
|
19976
|
-
reload,
|
|
19977
|
-
toggle,
|
|
19978
|
-
retry,
|
|
19979
|
-
editConfig,
|
|
19980
|
-
onConfigSaved,
|
|
19981
|
-
onConfigClose
|
|
19982
|
-
};
|
|
19908
|
+
}
|
|
19909
|
+
var NO_VIRTUAL_ITEMS = [];
|
|
19910
|
+
var NO_VIRTUALIZER = {
|
|
19911
|
+
getVirtualItems: () => NO_VIRTUAL_ITEMS,
|
|
19912
|
+
getTotalSize: () => 0,
|
|
19913
|
+
measureElement: () => {
|
|
19914
|
+
},
|
|
19915
|
+
scrollToIndex: () => {
|
|
19916
|
+
},
|
|
19917
|
+
getOffsetForIndex: () => void 0
|
|
19918
|
+
};
|
|
19919
|
+
function useNoVirtualizer() {
|
|
19920
|
+
return NO_VIRTUALIZER;
|
|
19921
|
+
}
|
|
19922
|
+
function useChatVirtualizer(options) {
|
|
19923
|
+
const injected = useChatEnvironment().useVirtualizer;
|
|
19924
|
+
const use = injected ?? useNoVirtualizer;
|
|
19925
|
+
const virtualizer = use(options);
|
|
19926
|
+
return { virtualizer, enabled: Boolean(injected) };
|
|
19927
|
+
}
|
|
19928
|
+
|
|
19929
|
+
// src/lib/message-shortcuts.ts
|
|
19930
|
+
function usesCommandKey() {
|
|
19931
|
+
if (typeof navigator === "undefined") return false;
|
|
19932
|
+
return /Mac|iPhone|iPad|iPod/i.test(navigator.platform || navigator.userAgent);
|
|
19933
|
+
}
|
|
19934
|
+
function queueShortcutLabel() {
|
|
19935
|
+
return usesCommandKey() ? "\u2318 Enter" : "Ctrl Enter";
|
|
19936
|
+
}
|
|
19937
|
+
function isQueueShortcut(event) {
|
|
19938
|
+
return usesCommandKey() ? event.metaKey : event.ctrlKey;
|
|
19983
19939
|
}
|
|
19984
19940
|
|
|
19985
19941
|
// src/chat/runtime/actions.ts
|
|
@@ -20010,7 +19966,9 @@ function sendToSession(session, message, mode, askUserAnswer, extras = {}) {
|
|
|
20010
19966
|
model: extras.model,
|
|
20011
19967
|
thinkingOverride: extras.thinkingOverride,
|
|
20012
19968
|
reasoningLevel: extras.reasoningLevel,
|
|
20013
|
-
|
|
19969
|
+
refs: extras.refs,
|
|
19970
|
+
contextAttachments: extras.contextAttachments,
|
|
19971
|
+
topicAssetRefs: extras.topicAssetRefs,
|
|
20014
19972
|
whatif: extras.whatif,
|
|
20015
19973
|
replayDecision: extras.replayDecision,
|
|
20016
19974
|
queueWhenRunning: extras.queueWhenRunning
|
|
@@ -20088,13 +20046,13 @@ function useComposedRefs(...refs) {
|
|
|
20088
20046
|
|
|
20089
20047
|
// ../../node_modules/.pnpm/@radix-ui+react-context@1.1.2_@types+react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-context/dist/index.mjs
|
|
20090
20048
|
import * as React2 from "react";
|
|
20091
|
-
import { jsx as
|
|
20049
|
+
import { jsx as jsx9 } from "react/jsx-runtime";
|
|
20092
20050
|
function createContext22(rootComponentName, defaultContext) {
|
|
20093
20051
|
const Context = React2.createContext(defaultContext);
|
|
20094
20052
|
const Provider2 = (props) => {
|
|
20095
20053
|
const { children, ...context } = props;
|
|
20096
20054
|
const value = React2.useMemo(() => context, Object.values(context));
|
|
20097
|
-
return /* @__PURE__ */
|
|
20055
|
+
return /* @__PURE__ */ jsx9(Context.Provider, { value, children });
|
|
20098
20056
|
};
|
|
20099
20057
|
Provider2.displayName = rootComponentName + "Provider";
|
|
20100
20058
|
function useContext22(consumerName) {
|
|
@@ -20115,7 +20073,7 @@ function createContextScope(scopeName, createContextScopeDeps = []) {
|
|
|
20115
20073
|
const { scope, children, ...context } = props;
|
|
20116
20074
|
const Context = scope?.[scopeName]?.[index2] || BaseContext;
|
|
20117
20075
|
const value = React2.useMemo(() => context, Object.values(context));
|
|
20118
|
-
return /* @__PURE__ */
|
|
20076
|
+
return /* @__PURE__ */ jsx9(Context.Provider, { value, children });
|
|
20119
20077
|
};
|
|
20120
20078
|
Provider2.displayName = rootComponentName + "Provider";
|
|
20121
20079
|
function useContext22(consumerName, scope) {
|
|
@@ -20172,7 +20130,7 @@ import * as ReactDOM from "react-dom";
|
|
|
20172
20130
|
|
|
20173
20131
|
// ../../node_modules/.pnpm/@radix-ui+react-slot@1.2.3_@types+react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-slot/dist/index.mjs
|
|
20174
20132
|
import * as React3 from "react";
|
|
20175
|
-
import { Fragment as Fragment22, jsx as
|
|
20133
|
+
import { Fragment as Fragment22, jsx as jsx10 } from "react/jsx-runtime";
|
|
20176
20134
|
// @__NO_SIDE_EFFECTS__
|
|
20177
20135
|
function createSlot(ownerName) {
|
|
20178
20136
|
const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);
|
|
@@ -20190,9 +20148,9 @@ function createSlot(ownerName) {
|
|
|
20190
20148
|
return child;
|
|
20191
20149
|
}
|
|
20192
20150
|
});
|
|
20193
|
-
return /* @__PURE__ */
|
|
20151
|
+
return /* @__PURE__ */ jsx10(SlotClone, { ...slotProps, ref: forwardedRef, children: React3.isValidElement(newElement) ? React3.cloneElement(newElement, void 0, newChildren) : null });
|
|
20194
20152
|
}
|
|
20195
|
-
return /* @__PURE__ */
|
|
20153
|
+
return /* @__PURE__ */ jsx10(SlotClone, { ...slotProps, ref: forwardedRef, children });
|
|
20196
20154
|
});
|
|
20197
20155
|
Slot22.displayName = `${ownerName}.Slot`;
|
|
20198
20156
|
return Slot22;
|
|
@@ -20218,7 +20176,7 @@ var SLOTTABLE_IDENTIFIER = /* @__PURE__ */ Symbol("radix.slottable");
|
|
|
20218
20176
|
// @__NO_SIDE_EFFECTS__
|
|
20219
20177
|
function createSlottable(ownerName) {
|
|
20220
20178
|
const Slottable2 = ({ children }) => {
|
|
20221
|
-
return /* @__PURE__ */
|
|
20179
|
+
return /* @__PURE__ */ jsx10(Fragment22, { children });
|
|
20222
20180
|
};
|
|
20223
20181
|
Slottable2.displayName = `${ownerName}.Slottable`;
|
|
20224
20182
|
Slottable2.__radixId = SLOTTABLE_IDENTIFIER;
|
|
@@ -20266,7 +20224,7 @@ function getElementRef(element) {
|
|
|
20266
20224
|
}
|
|
20267
20225
|
|
|
20268
20226
|
// ../../node_modules/.pnpm/@radix-ui+react-primitive@2.1.3_@types+react-dom@19.2.3_@types+react@19.2.14__@types+re_1181ea5061ec9212248424669240e4ec/node_modules/@radix-ui/react-primitive/dist/index.mjs
|
|
20269
|
-
import { jsx as
|
|
20227
|
+
import { jsx as jsx11 } from "react/jsx-runtime";
|
|
20270
20228
|
var NODES = [
|
|
20271
20229
|
"a",
|
|
20272
20230
|
"button",
|
|
@@ -20294,7 +20252,7 @@ var Primitive = NODES.reduce((primitive, node) => {
|
|
|
20294
20252
|
if (typeof window !== "undefined") {
|
|
20295
20253
|
window[/* @__PURE__ */ Symbol.for("radix-ui")] = true;
|
|
20296
20254
|
}
|
|
20297
|
-
return /* @__PURE__ */
|
|
20255
|
+
return /* @__PURE__ */ jsx11(Comp, { ...primitiveProps, ref: forwardedRef });
|
|
20298
20256
|
});
|
|
20299
20257
|
Node2.displayName = `Primitive.${node}`;
|
|
20300
20258
|
return { ...primitive, [node]: Node2 };
|
|
@@ -20329,7 +20287,7 @@ function useEscapeKeydown(onEscapeKeyDownProp, ownerDocument = globalThis?.docum
|
|
|
20329
20287
|
}
|
|
20330
20288
|
|
|
20331
20289
|
// ../../node_modules/.pnpm/@radix-ui+react-dismissable-layer@1.1.11_@types+react-dom@19.2.3_@types+react@19.2.14___3d3960154a4c07d09bb90cb341135fc5/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs
|
|
20332
|
-
import { jsx as
|
|
20290
|
+
import { jsx as jsx12 } from "react/jsx-runtime";
|
|
20333
20291
|
var DISMISSABLE_LAYER_NAME = "DismissableLayer";
|
|
20334
20292
|
var CONTEXT_UPDATE = "dismissableLayer.update";
|
|
20335
20293
|
var POINTER_DOWN_OUTSIDE = "dismissableLayer.pointerDownOutside";
|
|
@@ -20417,7 +20375,7 @@ var DismissableLayer = React7.forwardRef(
|
|
|
20417
20375
|
document.addEventListener(CONTEXT_UPDATE, handleUpdate);
|
|
20418
20376
|
return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);
|
|
20419
20377
|
}, []);
|
|
20420
|
-
return /* @__PURE__ */
|
|
20378
|
+
return /* @__PURE__ */ jsx12(
|
|
20421
20379
|
Primitive.div,
|
|
20422
20380
|
{
|
|
20423
20381
|
...layerProps,
|
|
@@ -20451,7 +20409,7 @@ var DismissableLayerBranch = React7.forwardRef((props, forwardedRef) => {
|
|
|
20451
20409
|
};
|
|
20452
20410
|
}
|
|
20453
20411
|
}, [context.branches]);
|
|
20454
|
-
return /* @__PURE__ */
|
|
20412
|
+
return /* @__PURE__ */ jsx12(Primitive.div, { ...props, ref: composedRefs });
|
|
20455
20413
|
});
|
|
20456
20414
|
DismissableLayerBranch.displayName = BRANCH_NAME;
|
|
20457
20415
|
function usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis?.document) {
|
|
@@ -20563,7 +20521,7 @@ function createFocusGuard() {
|
|
|
20563
20521
|
|
|
20564
20522
|
// ../../node_modules/.pnpm/@radix-ui+react-focus-scope@1.1.7_@types+react-dom@19.2.3_@types+react@19.2.14__@types+_f62f3af4ca2ba305a7aecf04c8534604/node_modules/@radix-ui/react-focus-scope/dist/index.mjs
|
|
20565
20523
|
import * as React9 from "react";
|
|
20566
|
-
import { jsx as
|
|
20524
|
+
import { jsx as jsx13 } from "react/jsx-runtime";
|
|
20567
20525
|
var AUTOFOCUS_ON_MOUNT = "focusScope.autoFocusOnMount";
|
|
20568
20526
|
var AUTOFOCUS_ON_UNMOUNT = "focusScope.autoFocusOnUnmount";
|
|
20569
20527
|
var EVENT_OPTIONS = { bubbles: false, cancelable: true };
|
|
@@ -20682,7 +20640,7 @@ var FocusScope = React9.forwardRef((props, forwardedRef) => {
|
|
|
20682
20640
|
},
|
|
20683
20641
|
[loop, trapped, focusScope.paused]
|
|
20684
20642
|
);
|
|
20685
|
-
return /* @__PURE__ */
|
|
20643
|
+
return /* @__PURE__ */ jsx13(Primitive.div, { tabIndex: -1, ...scopeProps, ref: composedRefs, onKeyDown: handleKeyDown });
|
|
20686
20644
|
});
|
|
20687
20645
|
FocusScope.displayName = FOCUS_SCOPE_NAME;
|
|
20688
20646
|
function focusFirst(candidates, { select = false } = {}) {
|
|
@@ -22717,11 +22675,11 @@ var arrow3 = (options, deps) => {
|
|
|
22717
22675
|
|
|
22718
22676
|
// ../../node_modules/.pnpm/@radix-ui+react-arrow@1.1.7_@types+react-dom@19.2.3_@types+react@19.2.14__@types+react@_e05f2c19a58a99fddf374207b5e3778c/node_modules/@radix-ui/react-arrow/dist/index.mjs
|
|
22719
22677
|
import * as React13 from "react";
|
|
22720
|
-
import { jsx as
|
|
22678
|
+
import { jsx as jsx14 } from "react/jsx-runtime";
|
|
22721
22679
|
var NAME = "Arrow";
|
|
22722
22680
|
var Arrow = React13.forwardRef((props, forwardedRef) => {
|
|
22723
22681
|
const { children, width = 10, height = 5, ...arrowProps } = props;
|
|
22724
|
-
return /* @__PURE__ */
|
|
22682
|
+
return /* @__PURE__ */ jsx14(
|
|
22725
22683
|
Primitive.svg,
|
|
22726
22684
|
{
|
|
22727
22685
|
...arrowProps,
|
|
@@ -22730,7 +22688,7 @@ var Arrow = React13.forwardRef((props, forwardedRef) => {
|
|
|
22730
22688
|
height,
|
|
22731
22689
|
viewBox: "0 0 30 10",
|
|
22732
22690
|
preserveAspectRatio: "none",
|
|
22733
|
-
children: props.asChild ? children : /* @__PURE__ */
|
|
22691
|
+
children: props.asChild ? children : /* @__PURE__ */ jsx14("polygon", { points: "0,0 30,0 15,10" })
|
|
22734
22692
|
}
|
|
22735
22693
|
);
|
|
22736
22694
|
});
|
|
@@ -22775,14 +22733,14 @@ function useSize(element) {
|
|
|
22775
22733
|
}
|
|
22776
22734
|
|
|
22777
22735
|
// ../../node_modules/.pnpm/@radix-ui+react-popper@1.2.8_@types+react-dom@19.2.3_@types+react@19.2.14__@types+react_13e0521d8aea7ebfbfb8bee1fb615c05/node_modules/@radix-ui/react-popper/dist/index.mjs
|
|
22778
|
-
import { jsx as
|
|
22736
|
+
import { jsx as jsx15 } from "react/jsx-runtime";
|
|
22779
22737
|
var POPPER_NAME = "Popper";
|
|
22780
22738
|
var [createPopperContext, createPopperScope] = createContextScope(POPPER_NAME);
|
|
22781
22739
|
var [PopperProvider, usePopperContext] = createPopperContext(POPPER_NAME);
|
|
22782
22740
|
var Popper = (props) => {
|
|
22783
22741
|
const { __scopePopper, children } = props;
|
|
22784
22742
|
const [anchor, setAnchor] = React15.useState(null);
|
|
22785
|
-
return /* @__PURE__ */
|
|
22743
|
+
return /* @__PURE__ */ jsx15(PopperProvider, { scope: __scopePopper, anchor, onAnchorChange: setAnchor, children });
|
|
22786
22744
|
};
|
|
22787
22745
|
Popper.displayName = POPPER_NAME;
|
|
22788
22746
|
var ANCHOR_NAME = "PopperAnchor";
|
|
@@ -22800,7 +22758,7 @@ var PopperAnchor = React15.forwardRef(
|
|
|
22800
22758
|
context.onAnchorChange(anchorRef.current);
|
|
22801
22759
|
}
|
|
22802
22760
|
});
|
|
22803
|
-
return virtualRef ? null : /* @__PURE__ */
|
|
22761
|
+
return virtualRef ? null : /* @__PURE__ */ jsx15(Primitive.div, { ...anchorProps, ref: composedRefs });
|
|
22804
22762
|
}
|
|
22805
22763
|
);
|
|
22806
22764
|
PopperAnchor.displayName = ANCHOR_NAME;
|
|
@@ -22893,7 +22851,7 @@ var PopperContent = React15.forwardRef(
|
|
|
22893
22851
|
useLayoutEffect22(() => {
|
|
22894
22852
|
if (content) setContentZIndex(window.getComputedStyle(content).zIndex);
|
|
22895
22853
|
}, [content]);
|
|
22896
|
-
return /* @__PURE__ */
|
|
22854
|
+
return /* @__PURE__ */ jsx15(
|
|
22897
22855
|
"div",
|
|
22898
22856
|
{
|
|
22899
22857
|
ref: refs.setFloating,
|
|
@@ -22917,7 +22875,7 @@ var PopperContent = React15.forwardRef(
|
|
|
22917
22875
|
}
|
|
22918
22876
|
},
|
|
22919
22877
|
dir: props.dir,
|
|
22920
|
-
children: /* @__PURE__ */
|
|
22878
|
+
children: /* @__PURE__ */ jsx15(
|
|
22921
22879
|
PopperContentProvider,
|
|
22922
22880
|
{
|
|
22923
22881
|
scope: __scopePopper,
|
|
@@ -22926,7 +22884,7 @@ var PopperContent = React15.forwardRef(
|
|
|
22926
22884
|
arrowX,
|
|
22927
22885
|
arrowY,
|
|
22928
22886
|
shouldHideArrow: cannotCenterArrow,
|
|
22929
|
-
children: /* @__PURE__ */
|
|
22887
|
+
children: /* @__PURE__ */ jsx15(
|
|
22930
22888
|
Primitive.div,
|
|
22931
22889
|
{
|
|
22932
22890
|
"data-side": placedSide,
|
|
@@ -22963,7 +22921,7 @@ var PopperArrow = React15.forwardRef(function PopperArrow2(props, forwardedRef)
|
|
|
22963
22921
|
// we have to use an extra wrapper because `ResizeObserver` (used by `useSize`)
|
|
22964
22922
|
// doesn't report size as we'd expect on SVG elements.
|
|
22965
22923
|
// it reports their bounding box which is effectively the largest path inside the SVG.
|
|
22966
|
-
/* @__PURE__ */
|
|
22924
|
+
/* @__PURE__ */ jsx15(
|
|
22967
22925
|
"span",
|
|
22968
22926
|
{
|
|
22969
22927
|
ref: contentContext.onArrowChange,
|
|
@@ -22986,7 +22944,7 @@ var PopperArrow = React15.forwardRef(function PopperArrow2(props, forwardedRef)
|
|
|
22986
22944
|
}[contentContext.placedSide],
|
|
22987
22945
|
visibility: contentContext.shouldHideArrow ? "hidden" : void 0
|
|
22988
22946
|
},
|
|
22989
|
-
children: /* @__PURE__ */
|
|
22947
|
+
children: /* @__PURE__ */ jsx15(
|
|
22990
22948
|
Root,
|
|
22991
22949
|
{
|
|
22992
22950
|
...arrowProps,
|
|
@@ -23049,14 +23007,14 @@ var Arrow2 = PopperArrow;
|
|
|
23049
23007
|
// ../../node_modules/.pnpm/@radix-ui+react-portal@1.1.9_@types+react-dom@19.2.3_@types+react@19.2.14__@types+react_7668895bec2444446faa4e0f4eb5244b/node_modules/@radix-ui/react-portal/dist/index.mjs
|
|
23050
23008
|
import * as React16 from "react";
|
|
23051
23009
|
import ReactDOM3 from "react-dom";
|
|
23052
|
-
import { jsx as
|
|
23010
|
+
import { jsx as jsx16 } from "react/jsx-runtime";
|
|
23053
23011
|
var PORTAL_NAME = "Portal";
|
|
23054
23012
|
var Portal = React16.forwardRef((props, forwardedRef) => {
|
|
23055
23013
|
const { container: containerProp, ...portalProps } = props;
|
|
23056
23014
|
const [mounted, setMounted] = React16.useState(false);
|
|
23057
23015
|
useLayoutEffect22(() => setMounted(true), []);
|
|
23058
23016
|
const container = containerProp || mounted && globalThis?.document?.body;
|
|
23059
|
-
return container ? ReactDOM3.createPortal(/* @__PURE__ */
|
|
23017
|
+
return container ? ReactDOM3.createPortal(/* @__PURE__ */ jsx16(Primitive.div, { ...portalProps, ref: forwardedRef }), container) : null;
|
|
23060
23018
|
});
|
|
23061
23019
|
Portal.displayName = PORTAL_NAME;
|
|
23062
23020
|
|
|
@@ -24096,7 +24054,7 @@ ReactRemoveScroll.classNames = RemoveScroll.classNames;
|
|
|
24096
24054
|
var Combination_default = ReactRemoveScroll;
|
|
24097
24055
|
|
|
24098
24056
|
// ../../node_modules/.pnpm/@radix-ui+react-popover@1.1.15_@types+react-dom@19.2.3_@types+react@19.2.14__@types+rea_8b5332f8e883134e9d9ab2856fc4395d/node_modules/@radix-ui/react-popover/dist/index.mjs
|
|
24099
|
-
import { jsx as
|
|
24057
|
+
import { jsx as jsx17 } from "react/jsx-runtime";
|
|
24100
24058
|
var POPOVER_NAME = "Popover";
|
|
24101
24059
|
var [createPopoverContext, createPopoverScope] = createContextScope(POPOVER_NAME, [
|
|
24102
24060
|
createPopperScope
|
|
@@ -24121,7 +24079,7 @@ var Popover = (props) => {
|
|
|
24121
24079
|
onChange: onOpenChange,
|
|
24122
24080
|
caller: POPOVER_NAME
|
|
24123
24081
|
});
|
|
24124
|
-
return /* @__PURE__ */
|
|
24082
|
+
return /* @__PURE__ */ jsx17(Root2, { ...popperScope, children: /* @__PURE__ */ jsx17(
|
|
24125
24083
|
PopoverProvider,
|
|
24126
24084
|
{
|
|
24127
24085
|
scope: __scopePopover,
|
|
@@ -24150,7 +24108,7 @@ var PopoverAnchor = React28.forwardRef(
|
|
|
24150
24108
|
onCustomAnchorAdd();
|
|
24151
24109
|
return () => onCustomAnchorRemove();
|
|
24152
24110
|
}, [onCustomAnchorAdd, onCustomAnchorRemove]);
|
|
24153
|
-
return /* @__PURE__ */
|
|
24111
|
+
return /* @__PURE__ */ jsx17(Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });
|
|
24154
24112
|
}
|
|
24155
24113
|
);
|
|
24156
24114
|
PopoverAnchor.displayName = ANCHOR_NAME2;
|
|
@@ -24161,7 +24119,7 @@ var PopoverTrigger = React28.forwardRef(
|
|
|
24161
24119
|
const context = usePopoverContext(TRIGGER_NAME, __scopePopover);
|
|
24162
24120
|
const popperScope = usePopperScope(__scopePopover);
|
|
24163
24121
|
const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);
|
|
24164
|
-
const trigger = /* @__PURE__ */
|
|
24122
|
+
const trigger = /* @__PURE__ */ jsx17(
|
|
24165
24123
|
Primitive.button,
|
|
24166
24124
|
{
|
|
24167
24125
|
type: "button",
|
|
@@ -24174,7 +24132,7 @@ var PopoverTrigger = React28.forwardRef(
|
|
|
24174
24132
|
onClick: composeEventHandlers(props.onClick, context.onOpenToggle)
|
|
24175
24133
|
}
|
|
24176
24134
|
);
|
|
24177
|
-
return context.hasCustomAnchor ? trigger : /* @__PURE__ */
|
|
24135
|
+
return context.hasCustomAnchor ? trigger : /* @__PURE__ */ jsx17(Anchor, { asChild: true, ...popperScope, children: trigger });
|
|
24178
24136
|
}
|
|
24179
24137
|
);
|
|
24180
24138
|
PopoverTrigger.displayName = TRIGGER_NAME;
|
|
@@ -24185,7 +24143,7 @@ var [PortalProvider, usePortalContext] = createPopoverContext(PORTAL_NAME2, {
|
|
|
24185
24143
|
var PopoverPortal = (props) => {
|
|
24186
24144
|
const { __scopePopover, forceMount, children, container } = props;
|
|
24187
24145
|
const context = usePopoverContext(PORTAL_NAME2, __scopePopover);
|
|
24188
|
-
return /* @__PURE__ */
|
|
24146
|
+
return /* @__PURE__ */ jsx17(PortalProvider, { scope: __scopePopover, forceMount, children: /* @__PURE__ */ jsx17(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx17(Portal, { asChild: true, container, children }) }) });
|
|
24189
24147
|
};
|
|
24190
24148
|
PopoverPortal.displayName = PORTAL_NAME2;
|
|
24191
24149
|
var CONTENT_NAME2 = "PopoverContent";
|
|
@@ -24194,7 +24152,7 @@ var PopoverContent = React28.forwardRef(
|
|
|
24194
24152
|
const portalContext = usePortalContext(CONTENT_NAME2, props.__scopePopover);
|
|
24195
24153
|
const { forceMount = portalContext.forceMount, ...contentProps } = props;
|
|
24196
24154
|
const context = usePopoverContext(CONTENT_NAME2, props.__scopePopover);
|
|
24197
|
-
return /* @__PURE__ */
|
|
24155
|
+
return /* @__PURE__ */ jsx17(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx17(PopoverContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx17(PopoverContentNonModal, { ...contentProps, ref: forwardedRef }) });
|
|
24198
24156
|
}
|
|
24199
24157
|
);
|
|
24200
24158
|
PopoverContent.displayName = CONTENT_NAME2;
|
|
@@ -24209,7 +24167,7 @@ var PopoverContentModal = React28.forwardRef(
|
|
|
24209
24167
|
const content = contentRef.current;
|
|
24210
24168
|
if (content) return hideOthers(content);
|
|
24211
24169
|
}, []);
|
|
24212
|
-
return /* @__PURE__ */
|
|
24170
|
+
return /* @__PURE__ */ jsx17(Combination_default, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ jsx17(
|
|
24213
24171
|
PopoverContentImpl,
|
|
24214
24172
|
{
|
|
24215
24173
|
...props,
|
|
@@ -24244,7 +24202,7 @@ var PopoverContentNonModal = React28.forwardRef(
|
|
|
24244
24202
|
const context = usePopoverContext(CONTENT_NAME2, props.__scopePopover);
|
|
24245
24203
|
const hasInteractedOutsideRef = React28.useRef(false);
|
|
24246
24204
|
const hasPointerDownOutsideRef = React28.useRef(false);
|
|
24247
|
-
return /* @__PURE__ */
|
|
24205
|
+
return /* @__PURE__ */ jsx17(
|
|
24248
24206
|
PopoverContentImpl,
|
|
24249
24207
|
{
|
|
24250
24208
|
...props,
|
|
@@ -24296,7 +24254,7 @@ var PopoverContentImpl = React28.forwardRef(
|
|
|
24296
24254
|
const context = usePopoverContext(CONTENT_NAME2, __scopePopover);
|
|
24297
24255
|
const popperScope = usePopperScope(__scopePopover);
|
|
24298
24256
|
useFocusGuards();
|
|
24299
|
-
return /* @__PURE__ */
|
|
24257
|
+
return /* @__PURE__ */ jsx17(
|
|
24300
24258
|
FocusScope,
|
|
24301
24259
|
{
|
|
24302
24260
|
asChild: true,
|
|
@@ -24304,7 +24262,7 @@ var PopoverContentImpl = React28.forwardRef(
|
|
|
24304
24262
|
trapped: trapFocus,
|
|
24305
24263
|
onMountAutoFocus: onOpenAutoFocus,
|
|
24306
24264
|
onUnmountAutoFocus: onCloseAutoFocus,
|
|
24307
|
-
children: /* @__PURE__ */
|
|
24265
|
+
children: /* @__PURE__ */ jsx17(
|
|
24308
24266
|
DismissableLayer,
|
|
24309
24267
|
{
|
|
24310
24268
|
asChild: true,
|
|
@@ -24314,7 +24272,7 @@ var PopoverContentImpl = React28.forwardRef(
|
|
|
24314
24272
|
onPointerDownOutside,
|
|
24315
24273
|
onFocusOutside,
|
|
24316
24274
|
onDismiss: () => context.onOpenChange(false),
|
|
24317
|
-
children: /* @__PURE__ */
|
|
24275
|
+
children: /* @__PURE__ */ jsx17(
|
|
24318
24276
|
Content,
|
|
24319
24277
|
{
|
|
24320
24278
|
"data-state": getState(context.open),
|
|
@@ -24347,7 +24305,7 @@ var PopoverClose = React28.forwardRef(
|
|
|
24347
24305
|
(props, forwardedRef) => {
|
|
24348
24306
|
const { __scopePopover, ...closeProps } = props;
|
|
24349
24307
|
const context = usePopoverContext(CLOSE_NAME, __scopePopover);
|
|
24350
|
-
return /* @__PURE__ */
|
|
24308
|
+
return /* @__PURE__ */ jsx17(
|
|
24351
24309
|
Primitive.button,
|
|
24352
24310
|
{
|
|
24353
24311
|
type: "button",
|
|
@@ -24364,7 +24322,7 @@ var PopoverArrow = React28.forwardRef(
|
|
|
24364
24322
|
(props, forwardedRef) => {
|
|
24365
24323
|
const { __scopePopover, ...arrowProps } = props;
|
|
24366
24324
|
const popperScope = usePopperScope(__scopePopover);
|
|
24367
|
-
return /* @__PURE__ */
|
|
24325
|
+
return /* @__PURE__ */ jsx17(Arrow2, { ...popperScope, ...arrowProps, ref: forwardedRef });
|
|
24368
24326
|
}
|
|
24369
24327
|
);
|
|
24370
24328
|
PopoverArrow.displayName = ARROW_NAME2;
|
|
@@ -24400,7 +24358,7 @@ import * as React30 from "react";
|
|
|
24400
24358
|
|
|
24401
24359
|
// ../../node_modules/.pnpm/@radix-ui+react-visually-hidden@1.2.3_@types+react-dom@19.2.3_@types+react@19.2.14__@ty_fa89646d7248b32d1762bf88948f6339/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs
|
|
24402
24360
|
import * as React29 from "react";
|
|
24403
|
-
import { jsx as
|
|
24361
|
+
import { jsx as jsx18 } from "react/jsx-runtime";
|
|
24404
24362
|
var VISUALLY_HIDDEN_STYLES = Object.freeze({
|
|
24405
24363
|
// See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss
|
|
24406
24364
|
position: "absolute",
|
|
@@ -24417,7 +24375,7 @@ var VISUALLY_HIDDEN_STYLES = Object.freeze({
|
|
|
24417
24375
|
var NAME2 = "VisuallyHidden";
|
|
24418
24376
|
var VisuallyHidden = React29.forwardRef(
|
|
24419
24377
|
(props, forwardedRef) => {
|
|
24420
|
-
return /* @__PURE__ */
|
|
24378
|
+
return /* @__PURE__ */ jsx18(
|
|
24421
24379
|
Primitive.span,
|
|
24422
24380
|
{
|
|
24423
24381
|
...props,
|
|
@@ -24431,7 +24389,7 @@ VisuallyHidden.displayName = NAME2;
|
|
|
24431
24389
|
var Root3 = VisuallyHidden;
|
|
24432
24390
|
|
|
24433
24391
|
// ../../node_modules/.pnpm/@radix-ui+react-tooltip@1.2.8_@types+react-dom@19.2.3_@types+react@19.2.14__@types+reac_9074d9fb06315b089b2bee17c4c65951/node_modules/@radix-ui/react-tooltip/dist/index.mjs
|
|
24434
|
-
import { jsx as
|
|
24392
|
+
import { jsx as jsx19, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
24435
24393
|
var [createTooltipContext, createTooltipScope] = createContextScope("Tooltip", [
|
|
24436
24394
|
createPopperScope
|
|
24437
24395
|
]);
|
|
@@ -24455,7 +24413,7 @@ var TooltipProvider = (props) => {
|
|
|
24455
24413
|
const skipDelayTimer = skipDelayTimerRef.current;
|
|
24456
24414
|
return () => window.clearTimeout(skipDelayTimer);
|
|
24457
24415
|
}, []);
|
|
24458
|
-
return /* @__PURE__ */
|
|
24416
|
+
return /* @__PURE__ */ jsx19(
|
|
24459
24417
|
TooltipProviderContextProvider,
|
|
24460
24418
|
{
|
|
24461
24419
|
scope: __scopeTooltip,
|
|
@@ -24546,7 +24504,7 @@ var Tooltip = (props) => {
|
|
|
24546
24504
|
}
|
|
24547
24505
|
};
|
|
24548
24506
|
}, []);
|
|
24549
|
-
return /* @__PURE__ */
|
|
24507
|
+
return /* @__PURE__ */ jsx19(Root2, { ...popperScope, children: /* @__PURE__ */ jsx19(
|
|
24550
24508
|
TooltipContextProvider,
|
|
24551
24509
|
{
|
|
24552
24510
|
scope: __scopeTooltip,
|
|
@@ -24590,7 +24548,7 @@ var TooltipTrigger = React30.forwardRef(
|
|
|
24590
24548
|
React30.useEffect(() => {
|
|
24591
24549
|
return () => document.removeEventListener("pointerup", handlePointerUp);
|
|
24592
24550
|
}, [handlePointerUp]);
|
|
24593
|
-
return /* @__PURE__ */
|
|
24551
|
+
return /* @__PURE__ */ jsx19(Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx19(
|
|
24594
24552
|
Primitive.button,
|
|
24595
24553
|
{
|
|
24596
24554
|
"aria-describedby": context.open ? context.contentId : void 0,
|
|
@@ -24632,7 +24590,7 @@ var [PortalProvider2, usePortalContext2] = createTooltipContext(PORTAL_NAME3, {
|
|
|
24632
24590
|
var TooltipPortal = (props) => {
|
|
24633
24591
|
const { __scopeTooltip, forceMount, children, container } = props;
|
|
24634
24592
|
const context = useTooltipContext(PORTAL_NAME3, __scopeTooltip);
|
|
24635
|
-
return /* @__PURE__ */
|
|
24593
|
+
return /* @__PURE__ */ jsx19(PortalProvider2, { scope: __scopeTooltip, forceMount, children: /* @__PURE__ */ jsx19(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx19(Portal, { asChild: true, container, children }) }) });
|
|
24636
24594
|
};
|
|
24637
24595
|
TooltipPortal.displayName = PORTAL_NAME3;
|
|
24638
24596
|
var CONTENT_NAME3 = "TooltipContent";
|
|
@@ -24641,7 +24599,7 @@ var TooltipContent = React30.forwardRef(
|
|
|
24641
24599
|
const portalContext = usePortalContext2(CONTENT_NAME3, props.__scopeTooltip);
|
|
24642
24600
|
const { forceMount = portalContext.forceMount, side = "top", ...contentProps } = props;
|
|
24643
24601
|
const context = useTooltipContext(CONTENT_NAME3, props.__scopeTooltip);
|
|
24644
|
-
return /* @__PURE__ */
|
|
24602
|
+
return /* @__PURE__ */ jsx19(Presence, { present: forceMount || context.open, children: context.disableHoverableContent ? /* @__PURE__ */ jsx19(TooltipContentImpl, { side, ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx19(TooltipContentHoverable, { side, ...contentProps, ref: forwardedRef }) });
|
|
24645
24603
|
}
|
|
24646
24604
|
);
|
|
24647
24605
|
var TooltipContentHoverable = React30.forwardRef((props, forwardedRef) => {
|
|
@@ -24703,7 +24661,7 @@ var TooltipContentHoverable = React30.forwardRef((props, forwardedRef) => {
|
|
|
24703
24661
|
return () => document.removeEventListener("pointermove", handleTrackPointerGrace);
|
|
24704
24662
|
}
|
|
24705
24663
|
}, [trigger, content, pointerGraceArea, onClose, handleRemoveGraceArea]);
|
|
24706
|
-
return /* @__PURE__ */
|
|
24664
|
+
return /* @__PURE__ */ jsx19(TooltipContentImpl, { ...props, ref: composedRefs });
|
|
24707
24665
|
});
|
|
24708
24666
|
var [VisuallyHiddenContentContextProvider, useVisuallyHiddenContentContext] = createTooltipContext(TOOLTIP_NAME, { isInside: false });
|
|
24709
24667
|
var Slottable = createSlottable("TooltipContent");
|
|
@@ -24734,7 +24692,7 @@ var TooltipContentImpl = React30.forwardRef(
|
|
|
24734
24692
|
return () => window.removeEventListener("scroll", handleScroll2, { capture: true });
|
|
24735
24693
|
}
|
|
24736
24694
|
}, [context.trigger, onClose]);
|
|
24737
|
-
return /* @__PURE__ */
|
|
24695
|
+
return /* @__PURE__ */ jsx19(
|
|
24738
24696
|
DismissableLayer,
|
|
24739
24697
|
{
|
|
24740
24698
|
asChild: true,
|
|
@@ -24762,8 +24720,8 @@ var TooltipContentImpl = React30.forwardRef(
|
|
|
24762
24720
|
}
|
|
24763
24721
|
},
|
|
24764
24722
|
children: [
|
|
24765
|
-
/* @__PURE__ */
|
|
24766
|
-
/* @__PURE__ */
|
|
24723
|
+
/* @__PURE__ */ jsx19(Slottable, { children }),
|
|
24724
|
+
/* @__PURE__ */ jsx19(VisuallyHiddenContentContextProvider, { scope: __scopeTooltip, isInside: true, children: /* @__PURE__ */ jsx19(Root3, { id: context.contentId, role: "tooltip", children: ariaLabel || children }) })
|
|
24767
24725
|
]
|
|
24768
24726
|
}
|
|
24769
24727
|
)
|
|
@@ -24781,7 +24739,7 @@ var TooltipArrow = React30.forwardRef(
|
|
|
24781
24739
|
ARROW_NAME3,
|
|
24782
24740
|
__scopeTooltip
|
|
24783
24741
|
);
|
|
24784
|
-
return visuallyHiddenContentContext.isInside ? null : /* @__PURE__ */
|
|
24742
|
+
return visuallyHiddenContentContext.isInside ? null : /* @__PURE__ */ jsx19(Arrow2, { ...popperScope, ...arrowProps, ref: forwardedRef });
|
|
24785
24743
|
}
|
|
24786
24744
|
);
|
|
24787
24745
|
TooltipArrow.displayName = ARROW_NAME3;
|
|
@@ -24919,7 +24877,7 @@ __export(dist_exports6, {
|
|
|
24919
24877
|
createCollapsibleScope: () => createCollapsibleScope
|
|
24920
24878
|
});
|
|
24921
24879
|
import * as React31 from "react";
|
|
24922
|
-
import { jsx as
|
|
24880
|
+
import { jsx as jsx20 } from "react/jsx-runtime";
|
|
24923
24881
|
var COLLAPSIBLE_NAME = "Collapsible";
|
|
24924
24882
|
var [createCollapsibleContext, createCollapsibleScope] = createContextScope(COLLAPSIBLE_NAME);
|
|
24925
24883
|
var [CollapsibleProvider, useCollapsibleContext] = createCollapsibleContext(COLLAPSIBLE_NAME);
|
|
@@ -24939,7 +24897,7 @@ var Collapsible = React31.forwardRef(
|
|
|
24939
24897
|
onChange: onOpenChange,
|
|
24940
24898
|
caller: COLLAPSIBLE_NAME
|
|
24941
24899
|
});
|
|
24942
|
-
return /* @__PURE__ */
|
|
24900
|
+
return /* @__PURE__ */ jsx20(
|
|
24943
24901
|
CollapsibleProvider,
|
|
24944
24902
|
{
|
|
24945
24903
|
scope: __scopeCollapsible,
|
|
@@ -24947,7 +24905,7 @@ var Collapsible = React31.forwardRef(
|
|
|
24947
24905
|
contentId: useId(),
|
|
24948
24906
|
open,
|
|
24949
24907
|
onOpenToggle: React31.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),
|
|
24950
|
-
children: /* @__PURE__ */
|
|
24908
|
+
children: /* @__PURE__ */ jsx20(
|
|
24951
24909
|
Primitive.div,
|
|
24952
24910
|
{
|
|
24953
24911
|
"data-state": getState2(open),
|
|
@@ -24966,7 +24924,7 @@ var CollapsibleTrigger = React31.forwardRef(
|
|
|
24966
24924
|
(props, forwardedRef) => {
|
|
24967
24925
|
const { __scopeCollapsible, ...triggerProps } = props;
|
|
24968
24926
|
const context = useCollapsibleContext(TRIGGER_NAME3, __scopeCollapsible);
|
|
24969
|
-
return /* @__PURE__ */
|
|
24927
|
+
return /* @__PURE__ */ jsx20(
|
|
24970
24928
|
Primitive.button,
|
|
24971
24929
|
{
|
|
24972
24930
|
type: "button",
|
|
@@ -24988,7 +24946,7 @@ var CollapsibleContent = React31.forwardRef(
|
|
|
24988
24946
|
(props, forwardedRef) => {
|
|
24989
24947
|
const { forceMount, ...contentProps } = props;
|
|
24990
24948
|
const context = useCollapsibleContext(CONTENT_NAME4, props.__scopeCollapsible);
|
|
24991
|
-
return /* @__PURE__ */
|
|
24949
|
+
return /* @__PURE__ */ jsx20(Presence, { present: forceMount || context.open, children: ({ present }) => /* @__PURE__ */ jsx20(CollapsibleContentImpl, { ...contentProps, ref: forwardedRef, present }) });
|
|
24992
24950
|
}
|
|
24993
24951
|
);
|
|
24994
24952
|
CollapsibleContent.displayName = CONTENT_NAME4;
|
|
@@ -25028,7 +24986,7 @@ var CollapsibleContentImpl = React31.forwardRef((props, forwardedRef) => {
|
|
|
25028
24986
|
setIsPresent(present);
|
|
25029
24987
|
}
|
|
25030
24988
|
}, [context.open, present]);
|
|
25031
|
-
return /* @__PURE__ */
|
|
24989
|
+
return /* @__PURE__ */ jsx20(
|
|
25032
24990
|
Primitive.div,
|
|
25033
24991
|
{
|
|
25034
24992
|
"data-state": getState2(context.open),
|
|
@@ -25076,7 +25034,7 @@ __export(dist_exports7, {
|
|
|
25076
25034
|
createDialogScope: () => createDialogScope
|
|
25077
25035
|
});
|
|
25078
25036
|
import * as React32 from "react";
|
|
25079
|
-
import { Fragment as Fragment7, jsx as
|
|
25037
|
+
import { Fragment as Fragment7, jsx as jsx21, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
25080
25038
|
var DIALOG_NAME = "Dialog";
|
|
25081
25039
|
var [createDialogContext, createDialogScope] = createContextScope(DIALOG_NAME);
|
|
25082
25040
|
var [DialogProvider, useDialogContext] = createDialogContext(DIALOG_NAME);
|
|
@@ -25097,7 +25055,7 @@ var Dialog = (props) => {
|
|
|
25097
25055
|
onChange: onOpenChange,
|
|
25098
25056
|
caller: DIALOG_NAME
|
|
25099
25057
|
});
|
|
25100
|
-
return /* @__PURE__ */
|
|
25058
|
+
return /* @__PURE__ */ jsx21(
|
|
25101
25059
|
DialogProvider,
|
|
25102
25060
|
{
|
|
25103
25061
|
scope: __scopeDialog,
|
|
@@ -25121,7 +25079,7 @@ var DialogTrigger = React32.forwardRef(
|
|
|
25121
25079
|
const { __scopeDialog, ...triggerProps } = props;
|
|
25122
25080
|
const context = useDialogContext(TRIGGER_NAME4, __scopeDialog);
|
|
25123
25081
|
const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);
|
|
25124
|
-
return /* @__PURE__ */
|
|
25082
|
+
return /* @__PURE__ */ jsx21(
|
|
25125
25083
|
Primitive.button,
|
|
25126
25084
|
{
|
|
25127
25085
|
type: "button",
|
|
@@ -25144,7 +25102,7 @@ var [PortalProvider3, usePortalContext3] = createDialogContext(PORTAL_NAME4, {
|
|
|
25144
25102
|
var DialogPortal = (props) => {
|
|
25145
25103
|
const { __scopeDialog, forceMount, children, container } = props;
|
|
25146
25104
|
const context = useDialogContext(PORTAL_NAME4, __scopeDialog);
|
|
25147
|
-
return /* @__PURE__ */
|
|
25105
|
+
return /* @__PURE__ */ jsx21(PortalProvider3, { scope: __scopeDialog, forceMount, children: React32.Children.map(children, (child) => /* @__PURE__ */ jsx21(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx21(Portal, { asChild: true, container, children: child }) })) });
|
|
25148
25106
|
};
|
|
25149
25107
|
DialogPortal.displayName = PORTAL_NAME4;
|
|
25150
25108
|
var OVERLAY_NAME = "DialogOverlay";
|
|
@@ -25153,7 +25111,7 @@ var DialogOverlay = React32.forwardRef(
|
|
|
25153
25111
|
const portalContext = usePortalContext3(OVERLAY_NAME, props.__scopeDialog);
|
|
25154
25112
|
const { forceMount = portalContext.forceMount, ...overlayProps } = props;
|
|
25155
25113
|
const context = useDialogContext(OVERLAY_NAME, props.__scopeDialog);
|
|
25156
|
-
return context.modal ? /* @__PURE__ */
|
|
25114
|
+
return context.modal ? /* @__PURE__ */ jsx21(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx21(DialogOverlayImpl, { ...overlayProps, ref: forwardedRef }) }) : null;
|
|
25157
25115
|
}
|
|
25158
25116
|
);
|
|
25159
25117
|
DialogOverlay.displayName = OVERLAY_NAME;
|
|
@@ -25165,7 +25123,7 @@ var DialogOverlayImpl = React32.forwardRef(
|
|
|
25165
25123
|
return (
|
|
25166
25124
|
// Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`
|
|
25167
25125
|
// ie. when `Overlay` and `Content` are siblings
|
|
25168
|
-
/* @__PURE__ */
|
|
25126
|
+
/* @__PURE__ */ jsx21(Combination_default, { as: Slot2, allowPinchZoom: true, shards: [context.contentRef], children: /* @__PURE__ */ jsx21(
|
|
25169
25127
|
Primitive.div,
|
|
25170
25128
|
{
|
|
25171
25129
|
"data-state": getState3(context.open),
|
|
@@ -25183,7 +25141,7 @@ var DialogContent = React32.forwardRef(
|
|
|
25183
25141
|
const portalContext = usePortalContext3(CONTENT_NAME5, props.__scopeDialog);
|
|
25184
25142
|
const { forceMount = portalContext.forceMount, ...contentProps } = props;
|
|
25185
25143
|
const context = useDialogContext(CONTENT_NAME5, props.__scopeDialog);
|
|
25186
|
-
return /* @__PURE__ */
|
|
25144
|
+
return /* @__PURE__ */ jsx21(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx21(DialogContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx21(DialogContentNonModal, { ...contentProps, ref: forwardedRef }) });
|
|
25187
25145
|
}
|
|
25188
25146
|
);
|
|
25189
25147
|
DialogContent.displayName = CONTENT_NAME5;
|
|
@@ -25196,7 +25154,7 @@ var DialogContentModal = React32.forwardRef(
|
|
|
25196
25154
|
const content = contentRef.current;
|
|
25197
25155
|
if (content) return hideOthers(content);
|
|
25198
25156
|
}, []);
|
|
25199
|
-
return /* @__PURE__ */
|
|
25157
|
+
return /* @__PURE__ */ jsx21(
|
|
25200
25158
|
DialogContentImpl,
|
|
25201
25159
|
{
|
|
25202
25160
|
...props,
|
|
@@ -25226,7 +25184,7 @@ var DialogContentNonModal = React32.forwardRef(
|
|
|
25226
25184
|
const context = useDialogContext(CONTENT_NAME5, props.__scopeDialog);
|
|
25227
25185
|
const hasInteractedOutsideRef = React32.useRef(false);
|
|
25228
25186
|
const hasPointerDownOutsideRef = React32.useRef(false);
|
|
25229
|
-
return /* @__PURE__ */
|
|
25187
|
+
return /* @__PURE__ */ jsx21(
|
|
25230
25188
|
DialogContentImpl,
|
|
25231
25189
|
{
|
|
25232
25190
|
...props,
|
|
@@ -25269,7 +25227,7 @@ var DialogContentImpl = React32.forwardRef(
|
|
|
25269
25227
|
const composedRefs = useComposedRefs(forwardedRef, contentRef);
|
|
25270
25228
|
useFocusGuards();
|
|
25271
25229
|
return /* @__PURE__ */ jsxs6(Fragment7, { children: [
|
|
25272
|
-
/* @__PURE__ */
|
|
25230
|
+
/* @__PURE__ */ jsx21(
|
|
25273
25231
|
FocusScope,
|
|
25274
25232
|
{
|
|
25275
25233
|
asChild: true,
|
|
@@ -25277,7 +25235,7 @@ var DialogContentImpl = React32.forwardRef(
|
|
|
25277
25235
|
trapped: trapFocus,
|
|
25278
25236
|
onMountAutoFocus: onOpenAutoFocus,
|
|
25279
25237
|
onUnmountAutoFocus: onCloseAutoFocus,
|
|
25280
|
-
children: /* @__PURE__ */
|
|
25238
|
+
children: /* @__PURE__ */ jsx21(
|
|
25281
25239
|
DismissableLayer,
|
|
25282
25240
|
{
|
|
25283
25241
|
role: "dialog",
|
|
@@ -25293,8 +25251,8 @@ var DialogContentImpl = React32.forwardRef(
|
|
|
25293
25251
|
}
|
|
25294
25252
|
),
|
|
25295
25253
|
/* @__PURE__ */ jsxs6(Fragment7, { children: [
|
|
25296
|
-
/* @__PURE__ */
|
|
25297
|
-
/* @__PURE__ */
|
|
25254
|
+
/* @__PURE__ */ jsx21(TitleWarning, { titleId: context.titleId }),
|
|
25255
|
+
/* @__PURE__ */ jsx21(DescriptionWarning, { contentRef, descriptionId: context.descriptionId })
|
|
25298
25256
|
] })
|
|
25299
25257
|
] });
|
|
25300
25258
|
}
|
|
@@ -25304,7 +25262,7 @@ var DialogTitle = React32.forwardRef(
|
|
|
25304
25262
|
(props, forwardedRef) => {
|
|
25305
25263
|
const { __scopeDialog, ...titleProps } = props;
|
|
25306
25264
|
const context = useDialogContext(TITLE_NAME, __scopeDialog);
|
|
25307
|
-
return /* @__PURE__ */
|
|
25265
|
+
return /* @__PURE__ */ jsx21(Primitive.h2, { id: context.titleId, ...titleProps, ref: forwardedRef });
|
|
25308
25266
|
}
|
|
25309
25267
|
);
|
|
25310
25268
|
DialogTitle.displayName = TITLE_NAME;
|
|
@@ -25313,7 +25271,7 @@ var DialogDescription = React32.forwardRef(
|
|
|
25313
25271
|
(props, forwardedRef) => {
|
|
25314
25272
|
const { __scopeDialog, ...descriptionProps } = props;
|
|
25315
25273
|
const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);
|
|
25316
|
-
return /* @__PURE__ */
|
|
25274
|
+
return /* @__PURE__ */ jsx21(Primitive.p, { id: context.descriptionId, ...descriptionProps, ref: forwardedRef });
|
|
25317
25275
|
}
|
|
25318
25276
|
);
|
|
25319
25277
|
DialogDescription.displayName = DESCRIPTION_NAME;
|
|
@@ -25322,7 +25280,7 @@ var DialogClose = React32.forwardRef(
|
|
|
25322
25280
|
(props, forwardedRef) => {
|
|
25323
25281
|
const { __scopeDialog, ...closeProps } = props;
|
|
25324
25282
|
const context = useDialogContext(CLOSE_NAME2, __scopeDialog);
|
|
25325
|
-
return /* @__PURE__ */
|
|
25283
|
+
return /* @__PURE__ */ jsx21(
|
|
25326
25284
|
Primitive.button,
|
|
25327
25285
|
{
|
|
25328
25286
|
type: "button",
|
|
@@ -26571,18 +26529,21 @@ var cn2 = /* @__PURE__ */ wrapClsx(instance.mergeString, instance);
|
|
|
26571
26529
|
var twMerge2 = instance.merge;
|
|
26572
26530
|
|
|
26573
26531
|
// ../ui/src/components/dialog.tsx
|
|
26574
|
-
import { jsx as
|
|
26532
|
+
import { jsx as jsx22, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
26575
26533
|
function Dialog2({
|
|
26576
26534
|
...props
|
|
26577
26535
|
}) {
|
|
26578
|
-
return /* @__PURE__ */
|
|
26536
|
+
return /* @__PURE__ */ jsx22(dist_exports7.Root, { "data-slot": "dialog", ...props });
|
|
26579
26537
|
}
|
|
26580
26538
|
function DialogClose2({
|
|
26581
26539
|
...props
|
|
26582
26540
|
}) {
|
|
26583
|
-
return /* @__PURE__ */
|
|
26541
|
+
return /* @__PURE__ */ jsx22(dist_exports7.Close, { "data-slot": "dialog-close", ...props });
|
|
26584
26542
|
}
|
|
26585
26543
|
|
|
26544
|
+
// ../ui/src/composites/dialog.tsx
|
|
26545
|
+
import { forwardRef as forwardRef17 } from "react";
|
|
26546
|
+
|
|
26586
26547
|
// ../ui/src/lib/shadow-focus.ts
|
|
26587
26548
|
var TABBABLE = [
|
|
26588
26549
|
"a[href]",
|
|
@@ -26617,14 +26578,12 @@ function loopTabInShadowRoot(event) {
|
|
|
26617
26578
|
}
|
|
26618
26579
|
|
|
26619
26580
|
// ../ui/src/composites/dialog.tsx
|
|
26620
|
-
import { jsx as
|
|
26621
|
-
|
|
26622
|
-
|
|
26623
|
-
...props
|
|
26624
|
-
}) {
|
|
26625
|
-
return /* @__PURE__ */ jsx24(
|
|
26581
|
+
import { jsx as jsx23, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
26582
|
+
var DialogOverlay2 = forwardRef17(function DialogOverlay3({ className, ...props }, ref) {
|
|
26583
|
+
return /* @__PURE__ */ jsx23(
|
|
26626
26584
|
dist_exports7.Overlay,
|
|
26627
26585
|
{
|
|
26586
|
+
ref,
|
|
26628
26587
|
"data-slot": "dialog-overlay",
|
|
26629
26588
|
className: cn2(
|
|
26630
26589
|
"fixed inset-0 z-50 bg-black/45 backdrop-blur-sm duration-(--motion-duration-fast) data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0",
|
|
@@ -26633,7 +26592,7 @@ function DialogOverlay2({
|
|
|
26633
26592
|
...props
|
|
26634
26593
|
}
|
|
26635
26594
|
);
|
|
26636
|
-
}
|
|
26595
|
+
});
|
|
26637
26596
|
function DialogContent2({
|
|
26638
26597
|
className,
|
|
26639
26598
|
children,
|
|
@@ -26644,7 +26603,7 @@ function DialogContent2({
|
|
|
26644
26603
|
}) {
|
|
26645
26604
|
const overlayRoot = useOverlayRoot();
|
|
26646
26605
|
return /* @__PURE__ */ jsxs8(dist_exports7.Portal, { "data-slot": "dialog-portal", container: overlayRoot, children: [
|
|
26647
|
-
/* @__PURE__ */
|
|
26606
|
+
/* @__PURE__ */ jsx23(DialogOverlay2, { className: overlayClassName }),
|
|
26648
26607
|
/* @__PURE__ */ jsxs8(
|
|
26649
26608
|
dist_exports7.Content,
|
|
26650
26609
|
{
|
|
@@ -26666,8 +26625,8 @@ function DialogContent2({
|
|
|
26666
26625
|
"data-slot": "dialog-close",
|
|
26667
26626
|
className: "absolute top-4 right-4 rounded-[8px] p-2 text-[hsl(var(--muted-foreground))] opacity-90 transition-colors hover:bg-[hsl(var(--accent))] hover:opacity-100 focus:outline-none disabled:pointer-events-none",
|
|
26668
26627
|
children: [
|
|
26669
|
-
/* @__PURE__ */
|
|
26670
|
-
/* @__PURE__ */
|
|
26628
|
+
/* @__PURE__ */ jsx23(X, { size: 16 }),
|
|
26629
|
+
/* @__PURE__ */ jsx23("span", { className: "sr-only", children: "\u5173\u95ED" })
|
|
26671
26630
|
]
|
|
26672
26631
|
}
|
|
26673
26632
|
)
|
|
@@ -26677,7 +26636,7 @@ function DialogContent2({
|
|
|
26677
26636
|
] });
|
|
26678
26637
|
}
|
|
26679
26638
|
function DialogTitle2({ className, ...props }) {
|
|
26680
|
-
return /* @__PURE__ */
|
|
26639
|
+
return /* @__PURE__ */ jsx23(
|
|
26681
26640
|
dist_exports7.Title,
|
|
26682
26641
|
{
|
|
26683
26642
|
"data-slot": "dialog-title",
|
|
@@ -26686,6 +26645,19 @@ function DialogTitle2({ className, ...props }) {
|
|
|
26686
26645
|
}
|
|
26687
26646
|
);
|
|
26688
26647
|
}
|
|
26648
|
+
function DialogDescription2({
|
|
26649
|
+
className,
|
|
26650
|
+
...props
|
|
26651
|
+
}) {
|
|
26652
|
+
return /* @__PURE__ */ jsx23(
|
|
26653
|
+
dist_exports7.Description,
|
|
26654
|
+
{
|
|
26655
|
+
"data-slot": "dialog-description",
|
|
26656
|
+
className: cn2("text-sm text-[hsl(var(--muted-foreground))]", className),
|
|
26657
|
+
...props
|
|
26658
|
+
}
|
|
26659
|
+
);
|
|
26660
|
+
}
|
|
26689
26661
|
|
|
26690
26662
|
// src/chat/chat-theme.tsx
|
|
26691
26663
|
var NEUTRAL = {
|
|
@@ -26750,7 +26722,7 @@ export {
|
|
|
26750
26722
|
CircleAlert,
|
|
26751
26723
|
CircleCheck,
|
|
26752
26724
|
CirclePause,
|
|
26753
|
-
|
|
26725
|
+
CircleSlash,
|
|
26754
26726
|
Copy,
|
|
26755
26727
|
Download,
|
|
26756
26728
|
Earth,
|
|
@@ -26790,7 +26762,6 @@ export {
|
|
|
26790
26762
|
Plug,
|
|
26791
26763
|
Plus,
|
|
26792
26764
|
RefreshCcw,
|
|
26793
|
-
RefreshCw,
|
|
26794
26765
|
Rocket,
|
|
26795
26766
|
RotateCcw,
|
|
26796
26767
|
Scissors,
|
|
@@ -26803,32 +26774,11 @@ export {
|
|
|
26803
26774
|
Terminal,
|
|
26804
26775
|
Trash2,
|
|
26805
26776
|
TriangleAlert,
|
|
26806
|
-
Workflow,
|
|
26807
26777
|
Wrench,
|
|
26808
26778
|
X,
|
|
26779
|
+
Zap,
|
|
26809
26780
|
cn,
|
|
26810
26781
|
copyToClipboard,
|
|
26811
|
-
ChatEnvironmentProvider,
|
|
26812
|
-
useChatEnvironment,
|
|
26813
|
-
useHighlightedCode,
|
|
26814
|
-
useChatSessionDetail,
|
|
26815
|
-
useHideTodo,
|
|
26816
|
-
useChatRenderMode,
|
|
26817
|
-
notifyChat,
|
|
26818
|
-
useComposerBridge,
|
|
26819
|
-
useChatVirtualizer,
|
|
26820
|
-
getResultText,
|
|
26821
|
-
getResultImages,
|
|
26822
|
-
parseJsonValue,
|
|
26823
|
-
isPlainObject,
|
|
26824
|
-
getStringValue,
|
|
26825
|
-
getNumberValue,
|
|
26826
|
-
getBooleanValue,
|
|
26827
|
-
extractErrorMessage,
|
|
26828
|
-
getFileName,
|
|
26829
|
-
formatBytes,
|
|
26830
|
-
CodePreview,
|
|
26831
|
-
parseKbSearchResult,
|
|
26832
26782
|
getToolDescription,
|
|
26833
26783
|
formatToolFileName,
|
|
26834
26784
|
formatToolName,
|
|
@@ -26852,6 +26802,21 @@ export {
|
|
|
26852
26802
|
usePlanRevealRevision,
|
|
26853
26803
|
CurrentChatSessionProvider,
|
|
26854
26804
|
useCurrentChatSessionId,
|
|
26805
|
+
ChatEnvironmentProvider,
|
|
26806
|
+
useChatEnvironment,
|
|
26807
|
+
useHighlightedCode,
|
|
26808
|
+
useChatSessionDetail,
|
|
26809
|
+
useHideTodo,
|
|
26810
|
+
useChatRenderMode,
|
|
26811
|
+
notifyChat,
|
|
26812
|
+
useComposerBridge,
|
|
26813
|
+
useChatVirtualizer,
|
|
26814
|
+
getInputHistoryGeneration,
|
|
26815
|
+
onInputCachesReset,
|
|
26816
|
+
pluginRefsForSend,
|
|
26817
|
+
getPluginSuggestionItems,
|
|
26818
|
+
queueShortcutLabel,
|
|
26819
|
+
isQueueShortcut,
|
|
26855
26820
|
sendToSession,
|
|
26856
26821
|
useControllableState,
|
|
26857
26822
|
dist_exports6 as dist_exports,
|
|
@@ -26869,6 +26834,7 @@ export {
|
|
|
26869
26834
|
DialogClose2 as DialogClose,
|
|
26870
26835
|
DialogContent2 as DialogContent,
|
|
26871
26836
|
DialogTitle2 as DialogTitle,
|
|
26837
|
+
DialogDescription2 as DialogDescription,
|
|
26872
26838
|
chatTone,
|
|
26873
26839
|
useEffectEvent2 as useEffectEvent,
|
|
26874
26840
|
SessionPluginConfigForm,
|
|
@@ -26916,7 +26882,7 @@ lucide-react/dist/esm/icons/circle-alert.js:
|
|
|
26916
26882
|
lucide-react/dist/esm/icons/circle-check.js:
|
|
26917
26883
|
lucide-react/dist/esm/icons/circle-dot.js:
|
|
26918
26884
|
lucide-react/dist/esm/icons/circle-pause.js:
|
|
26919
|
-
lucide-react/dist/esm/icons/circle-
|
|
26885
|
+
lucide-react/dist/esm/icons/circle-slash.js:
|
|
26920
26886
|
lucide-react/dist/esm/icons/circle.js:
|
|
26921
26887
|
lucide-react/dist/esm/icons/copy.js:
|
|
26922
26888
|
lucide-react/dist/esm/icons/download.js:
|
|
@@ -26959,7 +26925,6 @@ lucide-react/dist/esm/icons/plug.js:
|
|
|
26959
26925
|
lucide-react/dist/esm/icons/plus.js:
|
|
26960
26926
|
lucide-react/dist/esm/icons/puzzle.js:
|
|
26961
26927
|
lucide-react/dist/esm/icons/refresh-ccw.js:
|
|
26962
|
-
lucide-react/dist/esm/icons/refresh-cw.js:
|
|
26963
26928
|
lucide-react/dist/esm/icons/rocket.js:
|
|
26964
26929
|
lucide-react/dist/esm/icons/rotate-ccw.js:
|
|
26965
26930
|
lucide-react/dist/esm/icons/scissors.js:
|
|
@@ -26972,9 +26937,9 @@ lucide-react/dist/esm/icons/square.js:
|
|
|
26972
26937
|
lucide-react/dist/esm/icons/terminal.js:
|
|
26973
26938
|
lucide-react/dist/esm/icons/trash-2.js:
|
|
26974
26939
|
lucide-react/dist/esm/icons/triangle-alert.js:
|
|
26975
|
-
lucide-react/dist/esm/icons/workflow.js:
|
|
26976
26940
|
lucide-react/dist/esm/icons/wrench.js:
|
|
26977
26941
|
lucide-react/dist/esm/icons/x.js:
|
|
26942
|
+
lucide-react/dist/esm/icons/zap.js:
|
|
26978
26943
|
lucide-react/dist/esm/lucide-react.js:
|
|
26979
26944
|
(**
|
|
26980
26945
|
* @license lucide-react v0.468.0 - ISC
|
|
@@ -26983,4 +26948,4 @@ lucide-react/dist/esm/lucide-react.js:
|
|
|
26983
26948
|
* See the LICENSE file in the root directory of this source tree.
|
|
26984
26949
|
*)
|
|
26985
26950
|
*/
|
|
26986
|
-
//# sourceMappingURL=chunk-
|
|
26951
|
+
//# sourceMappingURL=chunk-XTYNDVUV.js.map
|