@blade-hq/agent-react 2612.0.0-beta.2 → 2612.0.0-beta.21
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/AssistantTurnBlock.d.ts +1 -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/LightComposer.d.ts +1 -1
- package/dist/chat/LiteMessageList.d.ts +1 -1
- package/dist/chat/MessageList.d.ts +1 -0
- package/dist/chat/WorkflowRunBlock.d.ts +19 -3
- package/dist/chat/ai-elements/reasoning.d.ts +4 -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/runtime/actions.d.ts +3 -1
- package/dist/chat/runtime/composer-channels.d.ts +4 -0
- package/dist/chat/runtime/input-cache-reset.d.ts +1 -1
- package/dist/chat/runtime/input-history-storage.d.ts +2 -0
- package/dist/chat/runtime/input-services.d.ts +0 -6
- package/dist/{chunk-6ZDOQEWK.js → chunk-GSKRNKEI.js} +1624 -1424
- package/dist/chunk-GSKRNKEI.js.map +1 -0
- package/dist/{chunk-WCMGQJLE.js → chunk-PAZSK73V.js} +2 -2
- package/dist/{chunk-FQQJP2GJ.js → chunk-PPREDKQ2.js} +778 -825
- package/dist/chunk-PPREDKQ2.js.map +1 -0
- package/dist/components/ChatInput.d.ts +3 -1
- package/dist/components/TopicAssetSubmitDialog.d.ts +14 -0
- package/dist/components/plugin-connector.d.ts +1 -0
- package/dist/embed/entry.d.ts +5 -3
- 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 +13 -48
- package/dist/internal.js.map +1 -1
- package/dist/rich-input/ChatInput.d.ts +1 -1
- package/dist/rich-input/FileCompletionMenu.d.ts +6 -9
- package/dist/rich-input/SkillStatusBar.d.ts +2 -4
- 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 +27 -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/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.js +6467 -6389
- package/dist/rich-input.js.map +1 -1
- package/dist/style.full.css +1 -1
- 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 +23 -2
- 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-6ZDOQEWK.js.map +0 -1
- package/dist/chunk-FQQJP2GJ.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
- /package/dist/{chunk-WCMGQJLE.js.map → chunk-PAZSK73V.js.map} +0 -0
|
@@ -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,7 +19246,7 @@ 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,
|
|
@@ -19531,7 +19256,7 @@ function PluginSwitch({
|
|
|
19531
19256
|
draft = false,
|
|
19532
19257
|
onToggle
|
|
19533
19258
|
}) {
|
|
19534
|
-
return /* @__PURE__ */
|
|
19259
|
+
return /* @__PURE__ */ jsx6(
|
|
19535
19260
|
"button",
|
|
19536
19261
|
{
|
|
19537
19262
|
type: "button",
|
|
@@ -19541,12 +19266,12 @@ function PluginSwitch({
|
|
|
19541
19266
|
disabled,
|
|
19542
19267
|
onClick: () => onToggle(!checked),
|
|
19543
19268
|
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__ */
|
|
19269
|
+
children: /* @__PURE__ */ jsx6(
|
|
19545
19270
|
"span",
|
|
19546
19271
|
{
|
|
19547
19272
|
"aria-hidden": "true",
|
|
19548
19273
|
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__ */
|
|
19274
|
+
children: pending ? /* @__PURE__ */ jsx6(LoaderCircle, { size: 9, className: "animate-spin text-[hsl(var(--muted-foreground))]" }) : null
|
|
19550
19275
|
}
|
|
19551
19276
|
)
|
|
19552
19277
|
}
|
|
@@ -19572,8 +19297,8 @@ function PluginConnectorList({
|
|
|
19572
19297
|
}) {
|
|
19573
19298
|
const configuringItem = configuring ? items.find((item) => item.name === configuring.name) ?? null : null;
|
|
19574
19299
|
return /* @__PURE__ */ jsxs4("div", { className: "py-0.5", children: [
|
|
19575
|
-
disabledReason ? /* @__PURE__ */
|
|
19576
|
-
items.length === 0 ? /* @__PURE__ */
|
|
19300
|
+
disabledReason ? /* @__PURE__ */ jsx6("div", { className: "px-3 py-1.5 text-[11px] text-[hsl(var(--muted-foreground))]", children: disabledReason }) : null,
|
|
19301
|
+
items.length === 0 ? /* @__PURE__ */ jsx6("div", { className: "px-3 py-1.5 text-[11px] text-[hsl(var(--muted-foreground))]", children: unavailableText ?? emptyText }) : null,
|
|
19577
19302
|
items.map((item) => {
|
|
19578
19303
|
const label = sessionPluginLabel(item);
|
|
19579
19304
|
const actionable = !disabledReason && item.installed !== false || item.active;
|
|
@@ -19581,7 +19306,7 @@ function PluginConnectorList({
|
|
|
19581
19306
|
const checked = item.active;
|
|
19582
19307
|
return /* @__PURE__ */ jsxs4("div", { className: "group px-3 py-1", children: [
|
|
19583
19308
|
/* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-2", children: [
|
|
19584
|
-
/* @__PURE__ */
|
|
19309
|
+
/* @__PURE__ */ jsx6(
|
|
19585
19310
|
SessionPluginIcon,
|
|
19586
19311
|
{
|
|
19587
19312
|
client,
|
|
@@ -19589,8 +19314,9 @@ function PluginConnectorList({
|
|
|
19589
19314
|
plugin: item
|
|
19590
19315
|
}
|
|
19591
19316
|
),
|
|
19592
|
-
/* @__PURE__ */
|
|
19593
|
-
|
|
19317
|
+
/* @__PURE__ */ jsx6("span", { className: "min-w-0 flex-1 truncate text-[11px]", title: label, children: label }),
|
|
19318
|
+
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,
|
|
19319
|
+
!draft && item.config === "configured" ? /* @__PURE__ */ jsx6(
|
|
19594
19320
|
"button",
|
|
19595
19321
|
{
|
|
19596
19322
|
type: "button",
|
|
@@ -19601,7 +19327,7 @@ function PluginConnectorList({
|
|
|
19601
19327
|
children: "\u66F4\u65B0\u914D\u7F6E"
|
|
19602
19328
|
}
|
|
19603
19329
|
) : null,
|
|
19604
|
-
!draft && (item.config === "required" || item.config === "error") ? /* @__PURE__ */
|
|
19330
|
+
!draft && (item.config === "required" || item.config === "error") ? /* @__PURE__ */ jsx6(
|
|
19605
19331
|
"button",
|
|
19606
19332
|
{
|
|
19607
19333
|
type: "button",
|
|
@@ -19612,7 +19338,7 @@ function PluginConnectorList({
|
|
|
19612
19338
|
children: "\u586B\u5199\u914D\u7F6E"
|
|
19613
19339
|
}
|
|
19614
19340
|
) : null,
|
|
19615
|
-
/* @__PURE__ */
|
|
19341
|
+
/* @__PURE__ */ jsx6(
|
|
19616
19342
|
PluginSwitch,
|
|
19617
19343
|
{
|
|
19618
19344
|
label,
|
|
@@ -19625,8 +19351,8 @@ function PluginConnectorList({
|
|
|
19625
19351
|
)
|
|
19626
19352
|
] }),
|
|
19627
19353
|
!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__ */
|
|
19354
|
+
/* @__PURE__ */ jsx6("span", { children: item.reason || "\u63D2\u4EF6\u6682\u4E0D\u53EF\u7528" }),
|
|
19355
|
+
/* @__PURE__ */ jsx6(
|
|
19630
19356
|
"button",
|
|
19631
19357
|
{
|
|
19632
19358
|
type: "button",
|
|
@@ -19639,8 +19365,8 @@ function PluginConnectorList({
|
|
|
19639
19365
|
] }) : null
|
|
19640
19366
|
] }, item.name);
|
|
19641
19367
|
}),
|
|
19642
|
-
mutationError ? /* @__PURE__ */
|
|
19643
|
-
configuring && configuringItem && sessionId ? /* @__PURE__ */
|
|
19368
|
+
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,
|
|
19369
|
+
configuring && configuringItem && sessionId ? /* @__PURE__ */ jsx6(
|
|
19644
19370
|
SessionPluginConfigDialog,
|
|
19645
19371
|
{
|
|
19646
19372
|
client,
|
|
@@ -19661,6 +19387,7 @@ function catalogToConnectorItems(catalog) {
|
|
|
19661
19387
|
icon: entry.icon,
|
|
19662
19388
|
iconSource: "account",
|
|
19663
19389
|
installed: entry.installed,
|
|
19390
|
+
auth_status: entry.auth_status,
|
|
19664
19391
|
active: false,
|
|
19665
19392
|
status: "not_prepared",
|
|
19666
19393
|
projected: false
|
|
@@ -19690,6 +19417,7 @@ function mergeConnectorItems(sessionPlugins, catalog) {
|
|
|
19690
19417
|
icon: entry.icon,
|
|
19691
19418
|
iconSource: "account",
|
|
19692
19419
|
installed: entry.installed,
|
|
19420
|
+
auth_status: entry.auth_status,
|
|
19693
19421
|
active: plugin.active,
|
|
19694
19422
|
status: plugin.status,
|
|
19695
19423
|
reason: plugin.reason,
|
|
@@ -19707,29 +19435,29 @@ function filterConnectorItems(items, query) {
|
|
|
19707
19435
|
}
|
|
19708
19436
|
|
|
19709
19437
|
// src/components/use-session-plugin-activation.ts
|
|
19710
|
-
import { useCallback as useCallback19, useEffect as
|
|
19438
|
+
import { useCallback as useCallback19, useEffect as useEffect8, useMemo as useMemo9, useRef as useRef8, useState as useState13 } from "react";
|
|
19711
19439
|
function useSessionPluginActivation({
|
|
19712
19440
|
client,
|
|
19713
19441
|
sessionId,
|
|
19714
19442
|
onChange
|
|
19715
19443
|
}) {
|
|
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] =
|
|
19444
|
+
const [plugins, setPlugins] = useState13([]);
|
|
19445
|
+
const [catalog, setCatalog] = useState13(null);
|
|
19446
|
+
const [loading, setLoading] = useState13(false);
|
|
19447
|
+
const [listError, setListError] = useState13(false);
|
|
19448
|
+
const [mutationError, setMutationError] = useState13(false);
|
|
19449
|
+
const [inFlight, setInFlight] = useState13({});
|
|
19450
|
+
const [configuring, setConfiguring] = useState13(null);
|
|
19451
|
+
const alive = useRef8(true);
|
|
19452
|
+
const generation2 = useRef8(0);
|
|
19453
|
+
const mutationGenerations = useRef8(/* @__PURE__ */ new Map());
|
|
19454
|
+
const desiredActivations = useRef8(/* @__PURE__ */ new Map());
|
|
19455
|
+
const pendingMutations = useRef8(/* @__PURE__ */ new Map());
|
|
19456
|
+
const submittedActivations = useRef8(/* @__PURE__ */ new Set());
|
|
19457
|
+
const serverActive = useRef8(/* @__PURE__ */ new Set());
|
|
19458
|
+
const lifetime = useRef8(0);
|
|
19459
|
+
const request = useRef8(null);
|
|
19460
|
+
const [desiredVersion, setDesiredVersion] = useState13(0);
|
|
19733
19461
|
const setDesired = useCallback19((name, value) => {
|
|
19734
19462
|
if (value === null) {
|
|
19735
19463
|
if (!desiredActivations.current.delete(name)) return;
|
|
@@ -19739,7 +19467,7 @@ function useSessionPluginActivation({
|
|
|
19739
19467
|
}
|
|
19740
19468
|
setDesiredVersion((version) => version + 1);
|
|
19741
19469
|
}, []);
|
|
19742
|
-
const items =
|
|
19470
|
+
const items = useMemo9(() => {
|
|
19743
19471
|
void desiredVersion;
|
|
19744
19472
|
const merged = mergeConnectorItems(plugins, catalog);
|
|
19745
19473
|
return merged.map((item) => {
|
|
@@ -19759,7 +19487,7 @@ function useSessionPluginActivation({
|
|
|
19759
19487
|
return rest;
|
|
19760
19488
|
});
|
|
19761
19489
|
}, []);
|
|
19762
|
-
|
|
19490
|
+
useEffect8(() => {
|
|
19763
19491
|
alive.current = true;
|
|
19764
19492
|
setPlugins([]);
|
|
19765
19493
|
setCatalog(null);
|
|
@@ -19775,7 +19503,7 @@ function useSessionPluginActivation({
|
|
|
19775
19503
|
return () => {
|
|
19776
19504
|
alive.current = false;
|
|
19777
19505
|
lifetime.current++;
|
|
19778
|
-
|
|
19506
|
+
generation2.current++;
|
|
19779
19507
|
request.current?.abort();
|
|
19780
19508
|
};
|
|
19781
19509
|
}, [client]);
|
|
@@ -19784,7 +19512,7 @@ function useSessionPluginActivation({
|
|
|
19784
19512
|
request.current?.abort();
|
|
19785
19513
|
const controller = new AbortController();
|
|
19786
19514
|
request.current = controller;
|
|
19787
|
-
const current = ++
|
|
19515
|
+
const current = ++generation2.current;
|
|
19788
19516
|
setLoading(true);
|
|
19789
19517
|
setListError(false);
|
|
19790
19518
|
try {
|
|
@@ -19802,7 +19530,7 @@ function useSessionPluginActivation({
|
|
|
19802
19530
|
}
|
|
19803
19531
|
})
|
|
19804
19532
|
);
|
|
19805
|
-
if (alive.current && current ===
|
|
19533
|
+
if (alive.current && current === generation2.current) {
|
|
19806
19534
|
serverActive.current = new Set(withConfig.filter((item) => item.active).map((item) => item.name));
|
|
19807
19535
|
setPlugins(withConfig.map((item) => {
|
|
19808
19536
|
const desired = desiredActivations.current.get(item.name);
|
|
@@ -19810,9 +19538,9 @@ function useSessionPluginActivation({
|
|
|
19810
19538
|
}));
|
|
19811
19539
|
}
|
|
19812
19540
|
} catch {
|
|
19813
|
-
if (alive.current && current ===
|
|
19541
|
+
if (alive.current && current === generation2.current && !controller.signal.aborted) setListError(true);
|
|
19814
19542
|
} finally {
|
|
19815
|
-
if (alive.current && current ===
|
|
19543
|
+
if (alive.current && current === generation2.current) setLoading(false);
|
|
19816
19544
|
}
|
|
19817
19545
|
}, [client, sessionId]);
|
|
19818
19546
|
const loadCatalog = useCallback19(async () => {
|
|
@@ -19874,112 +19602,330 @@ function useSessionPluginActivation({
|
|
|
19874
19602
|
void load();
|
|
19875
19603
|
}
|
|
19876
19604
|
}
|
|
19877
|
-
},
|
|
19878
|
-
[client, finish, load, markInFlight, onChange, sessionId, setDesired]
|
|
19605
|
+
},
|
|
19606
|
+
[client, finish, load, markInFlight, onChange, sessionId, setDesired]
|
|
19607
|
+
);
|
|
19608
|
+
const enable = useCallback19(async (name) => {
|
|
19609
|
+
if (!alive.current) return;
|
|
19610
|
+
const startedAt = lifetime.current;
|
|
19611
|
+
const mutation = (mutationGenerations.current.get(name) ?? 0) + 1;
|
|
19612
|
+
mutationGenerations.current.set(name, mutation);
|
|
19613
|
+
pendingMutations.current.set(name, mutation);
|
|
19614
|
+
setDesired(name, true);
|
|
19615
|
+
setMutationError(false);
|
|
19616
|
+
markInFlight(name, true);
|
|
19617
|
+
request.current?.abort();
|
|
19618
|
+
generation2.current++;
|
|
19619
|
+
setLoading(false);
|
|
19620
|
+
let state;
|
|
19621
|
+
try {
|
|
19622
|
+
const result = await client.sessions.prepareSessionPluginConfig(sessionId, name);
|
|
19623
|
+
if (!alive.current || startedAt !== lifetime.current || mutation !== mutationGenerations.current.get(name)) return;
|
|
19624
|
+
state = result.config;
|
|
19625
|
+
} catch {
|
|
19626
|
+
if (!alive.current || startedAt !== lifetime.current || mutation !== mutationGenerations.current.get(name)) return;
|
|
19627
|
+
abandon(name);
|
|
19628
|
+
setMutationError(true);
|
|
19629
|
+
return;
|
|
19630
|
+
}
|
|
19631
|
+
if (state.state === "required") {
|
|
19632
|
+
pendingMutations.current.delete(name);
|
|
19633
|
+
markInFlight(name, false);
|
|
19634
|
+
setConfiguring({ name, pendingActivation: true });
|
|
19635
|
+
return;
|
|
19636
|
+
}
|
|
19637
|
+
if (state.state !== "configured" && state.state !== "not_required") {
|
|
19638
|
+
abandon(name);
|
|
19639
|
+
setMutationError(true);
|
|
19640
|
+
return;
|
|
19641
|
+
}
|
|
19642
|
+
setPlugins((current) => current.map((item) => item.name === name ? { ...item, config: state.state } : item));
|
|
19643
|
+
await commitActivation(name, true, mutation, startedAt);
|
|
19644
|
+
}, [abandon, client, commitActivation, markInFlight, sessionId, setDesired]);
|
|
19645
|
+
const disable = useCallback19((name) => {
|
|
19646
|
+
const startedAt = lifetime.current;
|
|
19647
|
+
request.current?.abort();
|
|
19648
|
+
generation2.current++;
|
|
19649
|
+
setLoading(false);
|
|
19650
|
+
if (!submittedActivations.current.has(name) && !serverActive.current.has(name)) {
|
|
19651
|
+
abandon(name);
|
|
19652
|
+
return;
|
|
19653
|
+
}
|
|
19654
|
+
const mutation = (mutationGenerations.current.get(name) ?? 0) + 1;
|
|
19655
|
+
mutationGenerations.current.set(name, mutation);
|
|
19656
|
+
pendingMutations.current.set(name, mutation);
|
|
19657
|
+
setDesired(name, false);
|
|
19658
|
+
setMutationError(false);
|
|
19659
|
+
markInFlight(name, true);
|
|
19660
|
+
void commitActivation(name, false, mutation, startedAt);
|
|
19661
|
+
}, [abandon, commitActivation, markInFlight, setDesired]);
|
|
19662
|
+
const toggle = useCallback19((item, next) => {
|
|
19663
|
+
if (next) void enable(item.name);
|
|
19664
|
+
else disable(item.name);
|
|
19665
|
+
}, [disable, enable]);
|
|
19666
|
+
const retry = useCallback19((item) => {
|
|
19667
|
+
void enable(item.name);
|
|
19668
|
+
}, [enable]);
|
|
19669
|
+
const editConfig = useCallback19((item) => {
|
|
19670
|
+
setConfiguring({ name: item.name, pendingActivation: false });
|
|
19671
|
+
}, []);
|
|
19672
|
+
const onConfigSaved = useCallback19((state) => {
|
|
19673
|
+
const target = configuring;
|
|
19674
|
+
if (!target) return;
|
|
19675
|
+
setConfiguring(null);
|
|
19676
|
+
void loadCatalog();
|
|
19677
|
+
setPlugins((current) => current.map((item) => item.name === target.name ? { ...item, config: state.state } : item));
|
|
19678
|
+
if (!target.pendingActivation || state.state !== "configured") {
|
|
19679
|
+
void load();
|
|
19680
|
+
return;
|
|
19681
|
+
}
|
|
19682
|
+
const startedAt = lifetime.current;
|
|
19683
|
+
const mutation = (mutationGenerations.current.get(target.name) ?? 0) + 1;
|
|
19684
|
+
mutationGenerations.current.set(target.name, mutation);
|
|
19685
|
+
pendingMutations.current.set(target.name, mutation);
|
|
19686
|
+
setDesired(target.name, true);
|
|
19687
|
+
markInFlight(target.name, true);
|
|
19688
|
+
void commitActivation(target.name, true, mutation, startedAt);
|
|
19689
|
+
}, [commitActivation, configuring, load, loadCatalog, markInFlight, setDesired]);
|
|
19690
|
+
const onConfigClose = useCallback19(() => {
|
|
19691
|
+
const target = configuring;
|
|
19692
|
+
if (!target) return;
|
|
19693
|
+
setConfiguring(null);
|
|
19694
|
+
if (target.pendingActivation) abandon(target.name);
|
|
19695
|
+
else void load();
|
|
19696
|
+
}, [abandon, configuring, load]);
|
|
19697
|
+
return {
|
|
19698
|
+
items,
|
|
19699
|
+
loading,
|
|
19700
|
+
listError,
|
|
19701
|
+
mutationError,
|
|
19702
|
+
inFlight,
|
|
19703
|
+
busy: Object.keys(inFlight).length > 0,
|
|
19704
|
+
configuring,
|
|
19705
|
+
reload,
|
|
19706
|
+
toggle,
|
|
19707
|
+
retry,
|
|
19708
|
+
editConfig,
|
|
19709
|
+
onConfigSaved,
|
|
19710
|
+
onConfigClose
|
|
19711
|
+
};
|
|
19712
|
+
}
|
|
19713
|
+
|
|
19714
|
+
// src/chat/runtime/session-source.tsx
|
|
19715
|
+
import { createInitialSessionState } from "@blade-hq/agent-client/internal";
|
|
19716
|
+
import {
|
|
19717
|
+
createContext as createContext3,
|
|
19718
|
+
useContext as useContext3,
|
|
19719
|
+
useEffect as useEffect9,
|
|
19720
|
+
useLayoutEffect,
|
|
19721
|
+
useMemo as useMemo10,
|
|
19722
|
+
useRef as useRef9,
|
|
19723
|
+
useState as useState14,
|
|
19724
|
+
useSyncExternalStore
|
|
19725
|
+
} from "react";
|
|
19726
|
+
import { jsx as jsx7 } from "react/jsx-runtime";
|
|
19727
|
+
var EMPTY_SOURCE = {
|
|
19728
|
+
subscribe: () => () => {
|
|
19729
|
+
},
|
|
19730
|
+
getSession: () => void 0,
|
|
19731
|
+
isHistoryLoading: () => false,
|
|
19732
|
+
planRevealRevision: () => 0
|
|
19733
|
+
};
|
|
19734
|
+
var SessionSourceContext = createContext3(EMPTY_SOURCE);
|
|
19735
|
+
function SessionSourceProvider({ source, children }) {
|
|
19736
|
+
return /* @__PURE__ */ jsx7(SessionSourceContext.Provider, { value: source, children });
|
|
19737
|
+
}
|
|
19738
|
+
function useSessionSource() {
|
|
19739
|
+
return useContext3(SessionSourceContext);
|
|
19740
|
+
}
|
|
19741
|
+
var SingleSessionSource = class {
|
|
19742
|
+
session = null;
|
|
19743
|
+
loading = false;
|
|
19744
|
+
listeners = /* @__PURE__ */ new Set();
|
|
19745
|
+
revisions = /* @__PURE__ */ new Map();
|
|
19746
|
+
subscribe = (listener) => {
|
|
19747
|
+
this.listeners.add(listener);
|
|
19748
|
+
return () => {
|
|
19749
|
+
this.listeners.delete(listener);
|
|
19750
|
+
};
|
|
19751
|
+
};
|
|
19752
|
+
getSession = (sessionId) => {
|
|
19753
|
+
const current = this.session;
|
|
19754
|
+
return current && (!sessionId || current.sessionId === sessionId) ? current : void 0;
|
|
19755
|
+
};
|
|
19756
|
+
isHistoryLoading = (sessionId) => {
|
|
19757
|
+
if (!this.session) return this.loading;
|
|
19758
|
+
return (!sessionId || this.session.sessionId === sessionId) && this.loading;
|
|
19759
|
+
};
|
|
19760
|
+
planRevealRevision = (sessionId) => sessionId ? this.revisions.get(sessionId) ?? 0 : 0;
|
|
19761
|
+
update(session, loading) {
|
|
19762
|
+
if (this.session === session && this.loading === loading) return;
|
|
19763
|
+
this.session = session;
|
|
19764
|
+
this.loading = loading;
|
|
19765
|
+
this.notify();
|
|
19766
|
+
}
|
|
19767
|
+
/** 只认实时成功的根回路 update_plan:历史加载与断线补数不算「新揭示」。 */
|
|
19768
|
+
watchPlan(session) {
|
|
19769
|
+
return session.on("toolResult", ({ toolCall, turn, source }) => {
|
|
19770
|
+
if (source === "reconnect_replay" || (turn.loop_id || "root") !== "root" || toolCall.status !== "done" || !isPlanUpdateTool(toolCall) || !parsePlanUpdate(toolCall.arguments)) {
|
|
19771
|
+
return;
|
|
19772
|
+
}
|
|
19773
|
+
this.revisions.set(session.sessionId, (this.revisions.get(session.sessionId) ?? 0) + 1);
|
|
19774
|
+
this.notify();
|
|
19775
|
+
});
|
|
19776
|
+
}
|
|
19777
|
+
notify() {
|
|
19778
|
+
for (const listener of [...this.listeners]) listener();
|
|
19779
|
+
}
|
|
19780
|
+
};
|
|
19781
|
+
function useSingleSessionSource(session, loading) {
|
|
19782
|
+
const [source] = useState14(() => new SingleSessionSource());
|
|
19783
|
+
useLayoutEffect(() => {
|
|
19784
|
+
source.update(session, loading);
|
|
19785
|
+
}, [source, session, loading]);
|
|
19786
|
+
useEffect9(() => session ? source.watchPlan(session) : void 0, [source, session]);
|
|
19787
|
+
return source;
|
|
19788
|
+
}
|
|
19789
|
+
var EMPTY_STATE = createInitialSessionState("");
|
|
19790
|
+
var noopSubscribe = () => () => {
|
|
19791
|
+
};
|
|
19792
|
+
function useSessionHandle(sessionId) {
|
|
19793
|
+
const source = useSessionSource();
|
|
19794
|
+
return useSyncExternalStore(
|
|
19795
|
+
source.subscribe,
|
|
19796
|
+
() => source.getSession(sessionId) ?? null,
|
|
19797
|
+
() => source.getSession(sessionId) ?? null
|
|
19798
|
+
);
|
|
19799
|
+
}
|
|
19800
|
+
function useSessionState(sessionId, selector) {
|
|
19801
|
+
const session = useSessionHandle(sessionId);
|
|
19802
|
+
const selectorRef = useRef9(selector);
|
|
19803
|
+
selectorRef.current = selector;
|
|
19804
|
+
const store = useMemo10(() => {
|
|
19805
|
+
let lastState = null;
|
|
19806
|
+
let lastSelector = null;
|
|
19807
|
+
let lastSelected;
|
|
19808
|
+
const getSnapshot = () => {
|
|
19809
|
+
const state = session ? session.getState() : EMPTY_STATE;
|
|
19810
|
+
const current = selectorRef.current;
|
|
19811
|
+
if (state !== lastState || current !== lastSelector) {
|
|
19812
|
+
const next = current(state);
|
|
19813
|
+
if (!(lastState !== null && Object.is(next, lastSelected))) lastSelected = next;
|
|
19814
|
+
lastState = state;
|
|
19815
|
+
lastSelector = current;
|
|
19816
|
+
}
|
|
19817
|
+
return lastSelected;
|
|
19818
|
+
};
|
|
19819
|
+
return {
|
|
19820
|
+
subscribe: session ? (listener) => session.subscribe(listener) : noopSubscribe,
|
|
19821
|
+
getSnapshot
|
|
19822
|
+
};
|
|
19823
|
+
}, [session]);
|
|
19824
|
+
return useSyncExternalStore(store.subscribe, store.getSnapshot, store.getSnapshot);
|
|
19825
|
+
}
|
|
19826
|
+
function useIsSessionHistoryLoading(sessionId) {
|
|
19827
|
+
const source = useSessionSource();
|
|
19828
|
+
return useSyncExternalStore(
|
|
19829
|
+
source.subscribe,
|
|
19830
|
+
() => source.isHistoryLoading(sessionId),
|
|
19831
|
+
() => source.isHistoryLoading(sessionId)
|
|
19832
|
+
);
|
|
19833
|
+
}
|
|
19834
|
+
function usePlanRevealRevision(sessionId) {
|
|
19835
|
+
const source = useSessionSource();
|
|
19836
|
+
return useSyncExternalStore(
|
|
19837
|
+
source.subscribe,
|
|
19838
|
+
() => source.planRevealRevision(sessionId),
|
|
19839
|
+
() => source.planRevealRevision(sessionId)
|
|
19840
|
+
);
|
|
19841
|
+
}
|
|
19842
|
+
var CurrentChatSessionContext = createContext3(null);
|
|
19843
|
+
function CurrentChatSessionProvider({ sessionId, children }) {
|
|
19844
|
+
return /* @__PURE__ */ jsx7(CurrentChatSessionContext.Provider, { value: sessionId, children });
|
|
19845
|
+
}
|
|
19846
|
+
function useCurrentChatSessionId() {
|
|
19847
|
+
return useContext3(CurrentChatSessionContext);
|
|
19848
|
+
}
|
|
19849
|
+
|
|
19850
|
+
// src/chat/runtime/environment.tsx
|
|
19851
|
+
import { createContext as createContext4, useContext as useContext4, useMemo as useMemo11 } from "react";
|
|
19852
|
+
import { jsx as jsx8 } from "react/jsx-runtime";
|
|
19853
|
+
var EMPTY_ENVIRONMENT = {};
|
|
19854
|
+
var ChatEnvironmentContext = createContext4(EMPTY_ENVIRONMENT);
|
|
19855
|
+
function ChatEnvironmentProvider({ value, children }) {
|
|
19856
|
+
return /* @__PURE__ */ jsx8(ChatEnvironmentContext.Provider, { value, children });
|
|
19857
|
+
}
|
|
19858
|
+
function useChatEnvironment() {
|
|
19859
|
+
return useContext4(ChatEnvironmentContext);
|
|
19860
|
+
}
|
|
19861
|
+
var NO_HIGHLIGHT = { highlightedHtml: null };
|
|
19862
|
+
function usePlainCode() {
|
|
19863
|
+
return NO_HIGHLIGHT;
|
|
19864
|
+
}
|
|
19865
|
+
function useHighlightedCode(code, language) {
|
|
19866
|
+
const use = useChatEnvironment().useHighlightedCode ?? usePlainCode;
|
|
19867
|
+
return use(code, language);
|
|
19868
|
+
}
|
|
19869
|
+
function useNoDetail() {
|
|
19870
|
+
return null;
|
|
19871
|
+
}
|
|
19872
|
+
function useChatSessionDetail(sessionId) {
|
|
19873
|
+
const use = useChatEnvironment().useSessionDetail ?? useNoDetail;
|
|
19874
|
+
return use(sessionId);
|
|
19875
|
+
}
|
|
19876
|
+
function useShowTodo() {
|
|
19877
|
+
return false;
|
|
19878
|
+
}
|
|
19879
|
+
function useHideTodo() {
|
|
19880
|
+
const use = useChatEnvironment().useHideTodo ?? useShowTodo;
|
|
19881
|
+
return use();
|
|
19882
|
+
}
|
|
19883
|
+
function useChatRenderMode() {
|
|
19884
|
+
return useChatEnvironment().renderMode ?? "normal";
|
|
19885
|
+
}
|
|
19886
|
+
function notifyChat(environment, kind, message, options) {
|
|
19887
|
+
if (environment.notify) environment.notify(kind, message, options);
|
|
19888
|
+
else if (kind === "error") console.error(message);
|
|
19889
|
+
}
|
|
19890
|
+
function useComposerBridge(sessionId) {
|
|
19891
|
+
const environment = useChatEnvironment();
|
|
19892
|
+
const session = useSessionHandle(sessionId);
|
|
19893
|
+
return useMemo11(
|
|
19894
|
+
() => ({
|
|
19895
|
+
appendText(text, separate = false) {
|
|
19896
|
+
if (!sessionId) return;
|
|
19897
|
+
if (environment.appendToComposer) environment.appendToComposer(sessionId, text, separate);
|
|
19898
|
+
else session?.insertText(separate ? `
|
|
19899
|
+
|
|
19900
|
+
${text}` : text);
|
|
19901
|
+
},
|
|
19902
|
+
addContext(context) {
|
|
19903
|
+
if (!sessionId) return;
|
|
19904
|
+
if (environment.addComposerContext) environment.addComposerContext(sessionId, context);
|
|
19905
|
+
else session?.attach(context.label, context.content);
|
|
19906
|
+
}
|
|
19907
|
+
}),
|
|
19908
|
+
[environment, session, sessionId]
|
|
19879
19909
|
);
|
|
19880
|
-
|
|
19881
|
-
|
|
19882
|
-
|
|
19883
|
-
|
|
19884
|
-
|
|
19885
|
-
|
|
19886
|
-
|
|
19887
|
-
|
|
19888
|
-
|
|
19889
|
-
|
|
19890
|
-
|
|
19891
|
-
|
|
19892
|
-
|
|
19893
|
-
|
|
19894
|
-
|
|
19895
|
-
|
|
19896
|
-
|
|
19897
|
-
|
|
19898
|
-
|
|
19899
|
-
abandon(name);
|
|
19900
|
-
setMutationError(true);
|
|
19901
|
-
return;
|
|
19902
|
-
}
|
|
19903
|
-
if (state.state === "required") {
|
|
19904
|
-
pendingMutations.current.delete(name);
|
|
19905
|
-
markInFlight(name, false);
|
|
19906
|
-
setConfiguring({ name, pendingActivation: true });
|
|
19907
|
-
return;
|
|
19908
|
-
}
|
|
19909
|
-
if (state.state !== "configured" && state.state !== "not_required") {
|
|
19910
|
-
abandon(name);
|
|
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
|
-
};
|
|
19910
|
+
}
|
|
19911
|
+
var NO_VIRTUAL_ITEMS = [];
|
|
19912
|
+
var NO_VIRTUALIZER = {
|
|
19913
|
+
getVirtualItems: () => NO_VIRTUAL_ITEMS,
|
|
19914
|
+
getTotalSize: () => 0,
|
|
19915
|
+
measureElement: () => {
|
|
19916
|
+
},
|
|
19917
|
+
scrollToIndex: () => {
|
|
19918
|
+
},
|
|
19919
|
+
getOffsetForIndex: () => void 0
|
|
19920
|
+
};
|
|
19921
|
+
function useNoVirtualizer() {
|
|
19922
|
+
return NO_VIRTUALIZER;
|
|
19923
|
+
}
|
|
19924
|
+
function useChatVirtualizer(options) {
|
|
19925
|
+
const injected = useChatEnvironment().useVirtualizer;
|
|
19926
|
+
const use = injected ?? useNoVirtualizer;
|
|
19927
|
+
const virtualizer = use(options);
|
|
19928
|
+
return { virtualizer, enabled: Boolean(injected) };
|
|
19983
19929
|
}
|
|
19984
19930
|
|
|
19985
19931
|
// src/chat/runtime/actions.ts
|
|
@@ -20010,7 +19956,9 @@ function sendToSession(session, message, mode, askUserAnswer, extras = {}) {
|
|
|
20010
19956
|
model: extras.model,
|
|
20011
19957
|
thinkingOverride: extras.thinkingOverride,
|
|
20012
19958
|
reasoningLevel: extras.reasoningLevel,
|
|
20013
|
-
|
|
19959
|
+
refs: extras.refs,
|
|
19960
|
+
contextAttachments: extras.contextAttachments,
|
|
19961
|
+
topicAssetRefs: extras.topicAssetRefs,
|
|
20014
19962
|
whatif: extras.whatif,
|
|
20015
19963
|
replayDecision: extras.replayDecision,
|
|
20016
19964
|
queueWhenRunning: extras.queueWhenRunning
|
|
@@ -20088,13 +20036,13 @@ function useComposedRefs(...refs) {
|
|
|
20088
20036
|
|
|
20089
20037
|
// ../../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
20038
|
import * as React2 from "react";
|
|
20091
|
-
import { jsx as
|
|
20039
|
+
import { jsx as jsx9 } from "react/jsx-runtime";
|
|
20092
20040
|
function createContext22(rootComponentName, defaultContext) {
|
|
20093
20041
|
const Context = React2.createContext(defaultContext);
|
|
20094
20042
|
const Provider2 = (props) => {
|
|
20095
20043
|
const { children, ...context } = props;
|
|
20096
20044
|
const value = React2.useMemo(() => context, Object.values(context));
|
|
20097
|
-
return /* @__PURE__ */
|
|
20045
|
+
return /* @__PURE__ */ jsx9(Context.Provider, { value, children });
|
|
20098
20046
|
};
|
|
20099
20047
|
Provider2.displayName = rootComponentName + "Provider";
|
|
20100
20048
|
function useContext22(consumerName) {
|
|
@@ -20115,7 +20063,7 @@ function createContextScope(scopeName, createContextScopeDeps = []) {
|
|
|
20115
20063
|
const { scope, children, ...context } = props;
|
|
20116
20064
|
const Context = scope?.[scopeName]?.[index2] || BaseContext;
|
|
20117
20065
|
const value = React2.useMemo(() => context, Object.values(context));
|
|
20118
|
-
return /* @__PURE__ */
|
|
20066
|
+
return /* @__PURE__ */ jsx9(Context.Provider, { value, children });
|
|
20119
20067
|
};
|
|
20120
20068
|
Provider2.displayName = rootComponentName + "Provider";
|
|
20121
20069
|
function useContext22(consumerName, scope) {
|
|
@@ -20172,7 +20120,7 @@ import * as ReactDOM from "react-dom";
|
|
|
20172
20120
|
|
|
20173
20121
|
// ../../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
20122
|
import * as React3 from "react";
|
|
20175
|
-
import { Fragment as Fragment22, jsx as
|
|
20123
|
+
import { Fragment as Fragment22, jsx as jsx10 } from "react/jsx-runtime";
|
|
20176
20124
|
// @__NO_SIDE_EFFECTS__
|
|
20177
20125
|
function createSlot(ownerName) {
|
|
20178
20126
|
const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);
|
|
@@ -20190,9 +20138,9 @@ function createSlot(ownerName) {
|
|
|
20190
20138
|
return child;
|
|
20191
20139
|
}
|
|
20192
20140
|
});
|
|
20193
|
-
return /* @__PURE__ */
|
|
20141
|
+
return /* @__PURE__ */ jsx10(SlotClone, { ...slotProps, ref: forwardedRef, children: React3.isValidElement(newElement) ? React3.cloneElement(newElement, void 0, newChildren) : null });
|
|
20194
20142
|
}
|
|
20195
|
-
return /* @__PURE__ */
|
|
20143
|
+
return /* @__PURE__ */ jsx10(SlotClone, { ...slotProps, ref: forwardedRef, children });
|
|
20196
20144
|
});
|
|
20197
20145
|
Slot22.displayName = `${ownerName}.Slot`;
|
|
20198
20146
|
return Slot22;
|
|
@@ -20218,7 +20166,7 @@ var SLOTTABLE_IDENTIFIER = /* @__PURE__ */ Symbol("radix.slottable");
|
|
|
20218
20166
|
// @__NO_SIDE_EFFECTS__
|
|
20219
20167
|
function createSlottable(ownerName) {
|
|
20220
20168
|
const Slottable2 = ({ children }) => {
|
|
20221
|
-
return /* @__PURE__ */
|
|
20169
|
+
return /* @__PURE__ */ jsx10(Fragment22, { children });
|
|
20222
20170
|
};
|
|
20223
20171
|
Slottable2.displayName = `${ownerName}.Slottable`;
|
|
20224
20172
|
Slottable2.__radixId = SLOTTABLE_IDENTIFIER;
|
|
@@ -20266,7 +20214,7 @@ function getElementRef(element) {
|
|
|
20266
20214
|
}
|
|
20267
20215
|
|
|
20268
20216
|
// ../../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
|
|
20217
|
+
import { jsx as jsx11 } from "react/jsx-runtime";
|
|
20270
20218
|
var NODES = [
|
|
20271
20219
|
"a",
|
|
20272
20220
|
"button",
|
|
@@ -20294,7 +20242,7 @@ var Primitive = NODES.reduce((primitive, node) => {
|
|
|
20294
20242
|
if (typeof window !== "undefined") {
|
|
20295
20243
|
window[/* @__PURE__ */ Symbol.for("radix-ui")] = true;
|
|
20296
20244
|
}
|
|
20297
|
-
return /* @__PURE__ */
|
|
20245
|
+
return /* @__PURE__ */ jsx11(Comp, { ...primitiveProps, ref: forwardedRef });
|
|
20298
20246
|
});
|
|
20299
20247
|
Node2.displayName = `Primitive.${node}`;
|
|
20300
20248
|
return { ...primitive, [node]: Node2 };
|
|
@@ -20329,7 +20277,7 @@ function useEscapeKeydown(onEscapeKeyDownProp, ownerDocument = globalThis?.docum
|
|
|
20329
20277
|
}
|
|
20330
20278
|
|
|
20331
20279
|
// ../../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
|
|
20280
|
+
import { jsx as jsx12 } from "react/jsx-runtime";
|
|
20333
20281
|
var DISMISSABLE_LAYER_NAME = "DismissableLayer";
|
|
20334
20282
|
var CONTEXT_UPDATE = "dismissableLayer.update";
|
|
20335
20283
|
var POINTER_DOWN_OUTSIDE = "dismissableLayer.pointerDownOutside";
|
|
@@ -20417,7 +20365,7 @@ var DismissableLayer = React7.forwardRef(
|
|
|
20417
20365
|
document.addEventListener(CONTEXT_UPDATE, handleUpdate);
|
|
20418
20366
|
return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);
|
|
20419
20367
|
}, []);
|
|
20420
|
-
return /* @__PURE__ */
|
|
20368
|
+
return /* @__PURE__ */ jsx12(
|
|
20421
20369
|
Primitive.div,
|
|
20422
20370
|
{
|
|
20423
20371
|
...layerProps,
|
|
@@ -20451,7 +20399,7 @@ var DismissableLayerBranch = React7.forwardRef((props, forwardedRef) => {
|
|
|
20451
20399
|
};
|
|
20452
20400
|
}
|
|
20453
20401
|
}, [context.branches]);
|
|
20454
|
-
return /* @__PURE__ */
|
|
20402
|
+
return /* @__PURE__ */ jsx12(Primitive.div, { ...props, ref: composedRefs });
|
|
20455
20403
|
});
|
|
20456
20404
|
DismissableLayerBranch.displayName = BRANCH_NAME;
|
|
20457
20405
|
function usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis?.document) {
|
|
@@ -20563,7 +20511,7 @@ function createFocusGuard() {
|
|
|
20563
20511
|
|
|
20564
20512
|
// ../../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
20513
|
import * as React9 from "react";
|
|
20566
|
-
import { jsx as
|
|
20514
|
+
import { jsx as jsx13 } from "react/jsx-runtime";
|
|
20567
20515
|
var AUTOFOCUS_ON_MOUNT = "focusScope.autoFocusOnMount";
|
|
20568
20516
|
var AUTOFOCUS_ON_UNMOUNT = "focusScope.autoFocusOnUnmount";
|
|
20569
20517
|
var EVENT_OPTIONS = { bubbles: false, cancelable: true };
|
|
@@ -20682,7 +20630,7 @@ var FocusScope = React9.forwardRef((props, forwardedRef) => {
|
|
|
20682
20630
|
},
|
|
20683
20631
|
[loop, trapped, focusScope.paused]
|
|
20684
20632
|
);
|
|
20685
|
-
return /* @__PURE__ */
|
|
20633
|
+
return /* @__PURE__ */ jsx13(Primitive.div, { tabIndex: -1, ...scopeProps, ref: composedRefs, onKeyDown: handleKeyDown });
|
|
20686
20634
|
});
|
|
20687
20635
|
FocusScope.displayName = FOCUS_SCOPE_NAME;
|
|
20688
20636
|
function focusFirst(candidates, { select = false } = {}) {
|
|
@@ -22717,11 +22665,11 @@ var arrow3 = (options, deps) => {
|
|
|
22717
22665
|
|
|
22718
22666
|
// ../../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
22667
|
import * as React13 from "react";
|
|
22720
|
-
import { jsx as
|
|
22668
|
+
import { jsx as jsx14 } from "react/jsx-runtime";
|
|
22721
22669
|
var NAME = "Arrow";
|
|
22722
22670
|
var Arrow = React13.forwardRef((props, forwardedRef) => {
|
|
22723
22671
|
const { children, width = 10, height = 5, ...arrowProps } = props;
|
|
22724
|
-
return /* @__PURE__ */
|
|
22672
|
+
return /* @__PURE__ */ jsx14(
|
|
22725
22673
|
Primitive.svg,
|
|
22726
22674
|
{
|
|
22727
22675
|
...arrowProps,
|
|
@@ -22730,7 +22678,7 @@ var Arrow = React13.forwardRef((props, forwardedRef) => {
|
|
|
22730
22678
|
height,
|
|
22731
22679
|
viewBox: "0 0 30 10",
|
|
22732
22680
|
preserveAspectRatio: "none",
|
|
22733
|
-
children: props.asChild ? children : /* @__PURE__ */
|
|
22681
|
+
children: props.asChild ? children : /* @__PURE__ */ jsx14("polygon", { points: "0,0 30,0 15,10" })
|
|
22734
22682
|
}
|
|
22735
22683
|
);
|
|
22736
22684
|
});
|
|
@@ -22775,14 +22723,14 @@ function useSize(element) {
|
|
|
22775
22723
|
}
|
|
22776
22724
|
|
|
22777
22725
|
// ../../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
|
|
22726
|
+
import { jsx as jsx15 } from "react/jsx-runtime";
|
|
22779
22727
|
var POPPER_NAME = "Popper";
|
|
22780
22728
|
var [createPopperContext, createPopperScope] = createContextScope(POPPER_NAME);
|
|
22781
22729
|
var [PopperProvider, usePopperContext] = createPopperContext(POPPER_NAME);
|
|
22782
22730
|
var Popper = (props) => {
|
|
22783
22731
|
const { __scopePopper, children } = props;
|
|
22784
22732
|
const [anchor, setAnchor] = React15.useState(null);
|
|
22785
|
-
return /* @__PURE__ */
|
|
22733
|
+
return /* @__PURE__ */ jsx15(PopperProvider, { scope: __scopePopper, anchor, onAnchorChange: setAnchor, children });
|
|
22786
22734
|
};
|
|
22787
22735
|
Popper.displayName = POPPER_NAME;
|
|
22788
22736
|
var ANCHOR_NAME = "PopperAnchor";
|
|
@@ -22800,7 +22748,7 @@ var PopperAnchor = React15.forwardRef(
|
|
|
22800
22748
|
context.onAnchorChange(anchorRef.current);
|
|
22801
22749
|
}
|
|
22802
22750
|
});
|
|
22803
|
-
return virtualRef ? null : /* @__PURE__ */
|
|
22751
|
+
return virtualRef ? null : /* @__PURE__ */ jsx15(Primitive.div, { ...anchorProps, ref: composedRefs });
|
|
22804
22752
|
}
|
|
22805
22753
|
);
|
|
22806
22754
|
PopperAnchor.displayName = ANCHOR_NAME;
|
|
@@ -22893,7 +22841,7 @@ var PopperContent = React15.forwardRef(
|
|
|
22893
22841
|
useLayoutEffect22(() => {
|
|
22894
22842
|
if (content) setContentZIndex(window.getComputedStyle(content).zIndex);
|
|
22895
22843
|
}, [content]);
|
|
22896
|
-
return /* @__PURE__ */
|
|
22844
|
+
return /* @__PURE__ */ jsx15(
|
|
22897
22845
|
"div",
|
|
22898
22846
|
{
|
|
22899
22847
|
ref: refs.setFloating,
|
|
@@ -22917,7 +22865,7 @@ var PopperContent = React15.forwardRef(
|
|
|
22917
22865
|
}
|
|
22918
22866
|
},
|
|
22919
22867
|
dir: props.dir,
|
|
22920
|
-
children: /* @__PURE__ */
|
|
22868
|
+
children: /* @__PURE__ */ jsx15(
|
|
22921
22869
|
PopperContentProvider,
|
|
22922
22870
|
{
|
|
22923
22871
|
scope: __scopePopper,
|
|
@@ -22926,7 +22874,7 @@ var PopperContent = React15.forwardRef(
|
|
|
22926
22874
|
arrowX,
|
|
22927
22875
|
arrowY,
|
|
22928
22876
|
shouldHideArrow: cannotCenterArrow,
|
|
22929
|
-
children: /* @__PURE__ */
|
|
22877
|
+
children: /* @__PURE__ */ jsx15(
|
|
22930
22878
|
Primitive.div,
|
|
22931
22879
|
{
|
|
22932
22880
|
"data-side": placedSide,
|
|
@@ -22963,7 +22911,7 @@ var PopperArrow = React15.forwardRef(function PopperArrow2(props, forwardedRef)
|
|
|
22963
22911
|
// we have to use an extra wrapper because `ResizeObserver` (used by `useSize`)
|
|
22964
22912
|
// doesn't report size as we'd expect on SVG elements.
|
|
22965
22913
|
// it reports their bounding box which is effectively the largest path inside the SVG.
|
|
22966
|
-
/* @__PURE__ */
|
|
22914
|
+
/* @__PURE__ */ jsx15(
|
|
22967
22915
|
"span",
|
|
22968
22916
|
{
|
|
22969
22917
|
ref: contentContext.onArrowChange,
|
|
@@ -22986,7 +22934,7 @@ var PopperArrow = React15.forwardRef(function PopperArrow2(props, forwardedRef)
|
|
|
22986
22934
|
}[contentContext.placedSide],
|
|
22987
22935
|
visibility: contentContext.shouldHideArrow ? "hidden" : void 0
|
|
22988
22936
|
},
|
|
22989
|
-
children: /* @__PURE__ */
|
|
22937
|
+
children: /* @__PURE__ */ jsx15(
|
|
22990
22938
|
Root,
|
|
22991
22939
|
{
|
|
22992
22940
|
...arrowProps,
|
|
@@ -23049,14 +22997,14 @@ var Arrow2 = PopperArrow;
|
|
|
23049
22997
|
// ../../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
22998
|
import * as React16 from "react";
|
|
23051
22999
|
import ReactDOM3 from "react-dom";
|
|
23052
|
-
import { jsx as
|
|
23000
|
+
import { jsx as jsx16 } from "react/jsx-runtime";
|
|
23053
23001
|
var PORTAL_NAME = "Portal";
|
|
23054
23002
|
var Portal = React16.forwardRef((props, forwardedRef) => {
|
|
23055
23003
|
const { container: containerProp, ...portalProps } = props;
|
|
23056
23004
|
const [mounted, setMounted] = React16.useState(false);
|
|
23057
23005
|
useLayoutEffect22(() => setMounted(true), []);
|
|
23058
23006
|
const container = containerProp || mounted && globalThis?.document?.body;
|
|
23059
|
-
return container ? ReactDOM3.createPortal(/* @__PURE__ */
|
|
23007
|
+
return container ? ReactDOM3.createPortal(/* @__PURE__ */ jsx16(Primitive.div, { ...portalProps, ref: forwardedRef }), container) : null;
|
|
23060
23008
|
});
|
|
23061
23009
|
Portal.displayName = PORTAL_NAME;
|
|
23062
23010
|
|
|
@@ -24096,7 +24044,7 @@ ReactRemoveScroll.classNames = RemoveScroll.classNames;
|
|
|
24096
24044
|
var Combination_default = ReactRemoveScroll;
|
|
24097
24045
|
|
|
24098
24046
|
// ../../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
|
|
24047
|
+
import { jsx as jsx17 } from "react/jsx-runtime";
|
|
24100
24048
|
var POPOVER_NAME = "Popover";
|
|
24101
24049
|
var [createPopoverContext, createPopoverScope] = createContextScope(POPOVER_NAME, [
|
|
24102
24050
|
createPopperScope
|
|
@@ -24121,7 +24069,7 @@ var Popover = (props) => {
|
|
|
24121
24069
|
onChange: onOpenChange,
|
|
24122
24070
|
caller: POPOVER_NAME
|
|
24123
24071
|
});
|
|
24124
|
-
return /* @__PURE__ */
|
|
24072
|
+
return /* @__PURE__ */ jsx17(Root2, { ...popperScope, children: /* @__PURE__ */ jsx17(
|
|
24125
24073
|
PopoverProvider,
|
|
24126
24074
|
{
|
|
24127
24075
|
scope: __scopePopover,
|
|
@@ -24150,7 +24098,7 @@ var PopoverAnchor = React28.forwardRef(
|
|
|
24150
24098
|
onCustomAnchorAdd();
|
|
24151
24099
|
return () => onCustomAnchorRemove();
|
|
24152
24100
|
}, [onCustomAnchorAdd, onCustomAnchorRemove]);
|
|
24153
|
-
return /* @__PURE__ */
|
|
24101
|
+
return /* @__PURE__ */ jsx17(Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });
|
|
24154
24102
|
}
|
|
24155
24103
|
);
|
|
24156
24104
|
PopoverAnchor.displayName = ANCHOR_NAME2;
|
|
@@ -24161,7 +24109,7 @@ var PopoverTrigger = React28.forwardRef(
|
|
|
24161
24109
|
const context = usePopoverContext(TRIGGER_NAME, __scopePopover);
|
|
24162
24110
|
const popperScope = usePopperScope(__scopePopover);
|
|
24163
24111
|
const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);
|
|
24164
|
-
const trigger = /* @__PURE__ */
|
|
24112
|
+
const trigger = /* @__PURE__ */ jsx17(
|
|
24165
24113
|
Primitive.button,
|
|
24166
24114
|
{
|
|
24167
24115
|
type: "button",
|
|
@@ -24174,7 +24122,7 @@ var PopoverTrigger = React28.forwardRef(
|
|
|
24174
24122
|
onClick: composeEventHandlers(props.onClick, context.onOpenToggle)
|
|
24175
24123
|
}
|
|
24176
24124
|
);
|
|
24177
|
-
return context.hasCustomAnchor ? trigger : /* @__PURE__ */
|
|
24125
|
+
return context.hasCustomAnchor ? trigger : /* @__PURE__ */ jsx17(Anchor, { asChild: true, ...popperScope, children: trigger });
|
|
24178
24126
|
}
|
|
24179
24127
|
);
|
|
24180
24128
|
PopoverTrigger.displayName = TRIGGER_NAME;
|
|
@@ -24185,7 +24133,7 @@ var [PortalProvider, usePortalContext] = createPopoverContext(PORTAL_NAME2, {
|
|
|
24185
24133
|
var PopoverPortal = (props) => {
|
|
24186
24134
|
const { __scopePopover, forceMount, children, container } = props;
|
|
24187
24135
|
const context = usePopoverContext(PORTAL_NAME2, __scopePopover);
|
|
24188
|
-
return /* @__PURE__ */
|
|
24136
|
+
return /* @__PURE__ */ jsx17(PortalProvider, { scope: __scopePopover, forceMount, children: /* @__PURE__ */ jsx17(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx17(Portal, { asChild: true, container, children }) }) });
|
|
24189
24137
|
};
|
|
24190
24138
|
PopoverPortal.displayName = PORTAL_NAME2;
|
|
24191
24139
|
var CONTENT_NAME2 = "PopoverContent";
|
|
@@ -24194,7 +24142,7 @@ var PopoverContent = React28.forwardRef(
|
|
|
24194
24142
|
const portalContext = usePortalContext(CONTENT_NAME2, props.__scopePopover);
|
|
24195
24143
|
const { forceMount = portalContext.forceMount, ...contentProps } = props;
|
|
24196
24144
|
const context = usePopoverContext(CONTENT_NAME2, props.__scopePopover);
|
|
24197
|
-
return /* @__PURE__ */
|
|
24145
|
+
return /* @__PURE__ */ jsx17(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx17(PopoverContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx17(PopoverContentNonModal, { ...contentProps, ref: forwardedRef }) });
|
|
24198
24146
|
}
|
|
24199
24147
|
);
|
|
24200
24148
|
PopoverContent.displayName = CONTENT_NAME2;
|
|
@@ -24209,7 +24157,7 @@ var PopoverContentModal = React28.forwardRef(
|
|
|
24209
24157
|
const content = contentRef.current;
|
|
24210
24158
|
if (content) return hideOthers(content);
|
|
24211
24159
|
}, []);
|
|
24212
|
-
return /* @__PURE__ */
|
|
24160
|
+
return /* @__PURE__ */ jsx17(Combination_default, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ jsx17(
|
|
24213
24161
|
PopoverContentImpl,
|
|
24214
24162
|
{
|
|
24215
24163
|
...props,
|
|
@@ -24244,7 +24192,7 @@ var PopoverContentNonModal = React28.forwardRef(
|
|
|
24244
24192
|
const context = usePopoverContext(CONTENT_NAME2, props.__scopePopover);
|
|
24245
24193
|
const hasInteractedOutsideRef = React28.useRef(false);
|
|
24246
24194
|
const hasPointerDownOutsideRef = React28.useRef(false);
|
|
24247
|
-
return /* @__PURE__ */
|
|
24195
|
+
return /* @__PURE__ */ jsx17(
|
|
24248
24196
|
PopoverContentImpl,
|
|
24249
24197
|
{
|
|
24250
24198
|
...props,
|
|
@@ -24296,7 +24244,7 @@ var PopoverContentImpl = React28.forwardRef(
|
|
|
24296
24244
|
const context = usePopoverContext(CONTENT_NAME2, __scopePopover);
|
|
24297
24245
|
const popperScope = usePopperScope(__scopePopover);
|
|
24298
24246
|
useFocusGuards();
|
|
24299
|
-
return /* @__PURE__ */
|
|
24247
|
+
return /* @__PURE__ */ jsx17(
|
|
24300
24248
|
FocusScope,
|
|
24301
24249
|
{
|
|
24302
24250
|
asChild: true,
|
|
@@ -24304,7 +24252,7 @@ var PopoverContentImpl = React28.forwardRef(
|
|
|
24304
24252
|
trapped: trapFocus,
|
|
24305
24253
|
onMountAutoFocus: onOpenAutoFocus,
|
|
24306
24254
|
onUnmountAutoFocus: onCloseAutoFocus,
|
|
24307
|
-
children: /* @__PURE__ */
|
|
24255
|
+
children: /* @__PURE__ */ jsx17(
|
|
24308
24256
|
DismissableLayer,
|
|
24309
24257
|
{
|
|
24310
24258
|
asChild: true,
|
|
@@ -24314,7 +24262,7 @@ var PopoverContentImpl = React28.forwardRef(
|
|
|
24314
24262
|
onPointerDownOutside,
|
|
24315
24263
|
onFocusOutside,
|
|
24316
24264
|
onDismiss: () => context.onOpenChange(false),
|
|
24317
|
-
children: /* @__PURE__ */
|
|
24265
|
+
children: /* @__PURE__ */ jsx17(
|
|
24318
24266
|
Content,
|
|
24319
24267
|
{
|
|
24320
24268
|
"data-state": getState(context.open),
|
|
@@ -24347,7 +24295,7 @@ var PopoverClose = React28.forwardRef(
|
|
|
24347
24295
|
(props, forwardedRef) => {
|
|
24348
24296
|
const { __scopePopover, ...closeProps } = props;
|
|
24349
24297
|
const context = usePopoverContext(CLOSE_NAME, __scopePopover);
|
|
24350
|
-
return /* @__PURE__ */
|
|
24298
|
+
return /* @__PURE__ */ jsx17(
|
|
24351
24299
|
Primitive.button,
|
|
24352
24300
|
{
|
|
24353
24301
|
type: "button",
|
|
@@ -24364,7 +24312,7 @@ var PopoverArrow = React28.forwardRef(
|
|
|
24364
24312
|
(props, forwardedRef) => {
|
|
24365
24313
|
const { __scopePopover, ...arrowProps } = props;
|
|
24366
24314
|
const popperScope = usePopperScope(__scopePopover);
|
|
24367
|
-
return /* @__PURE__ */
|
|
24315
|
+
return /* @__PURE__ */ jsx17(Arrow2, { ...popperScope, ...arrowProps, ref: forwardedRef });
|
|
24368
24316
|
}
|
|
24369
24317
|
);
|
|
24370
24318
|
PopoverArrow.displayName = ARROW_NAME2;
|
|
@@ -24400,7 +24348,7 @@ import * as React30 from "react";
|
|
|
24400
24348
|
|
|
24401
24349
|
// ../../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
24350
|
import * as React29 from "react";
|
|
24403
|
-
import { jsx as
|
|
24351
|
+
import { jsx as jsx18 } from "react/jsx-runtime";
|
|
24404
24352
|
var VISUALLY_HIDDEN_STYLES = Object.freeze({
|
|
24405
24353
|
// See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss
|
|
24406
24354
|
position: "absolute",
|
|
@@ -24417,7 +24365,7 @@ var VISUALLY_HIDDEN_STYLES = Object.freeze({
|
|
|
24417
24365
|
var NAME2 = "VisuallyHidden";
|
|
24418
24366
|
var VisuallyHidden = React29.forwardRef(
|
|
24419
24367
|
(props, forwardedRef) => {
|
|
24420
|
-
return /* @__PURE__ */
|
|
24368
|
+
return /* @__PURE__ */ jsx18(
|
|
24421
24369
|
Primitive.span,
|
|
24422
24370
|
{
|
|
24423
24371
|
...props,
|
|
@@ -24431,7 +24379,7 @@ VisuallyHidden.displayName = NAME2;
|
|
|
24431
24379
|
var Root3 = VisuallyHidden;
|
|
24432
24380
|
|
|
24433
24381
|
// ../../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
|
|
24382
|
+
import { jsx as jsx19, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
24435
24383
|
var [createTooltipContext, createTooltipScope] = createContextScope("Tooltip", [
|
|
24436
24384
|
createPopperScope
|
|
24437
24385
|
]);
|
|
@@ -24455,7 +24403,7 @@ var TooltipProvider = (props) => {
|
|
|
24455
24403
|
const skipDelayTimer = skipDelayTimerRef.current;
|
|
24456
24404
|
return () => window.clearTimeout(skipDelayTimer);
|
|
24457
24405
|
}, []);
|
|
24458
|
-
return /* @__PURE__ */
|
|
24406
|
+
return /* @__PURE__ */ jsx19(
|
|
24459
24407
|
TooltipProviderContextProvider,
|
|
24460
24408
|
{
|
|
24461
24409
|
scope: __scopeTooltip,
|
|
@@ -24546,7 +24494,7 @@ var Tooltip = (props) => {
|
|
|
24546
24494
|
}
|
|
24547
24495
|
};
|
|
24548
24496
|
}, []);
|
|
24549
|
-
return /* @__PURE__ */
|
|
24497
|
+
return /* @__PURE__ */ jsx19(Root2, { ...popperScope, children: /* @__PURE__ */ jsx19(
|
|
24550
24498
|
TooltipContextProvider,
|
|
24551
24499
|
{
|
|
24552
24500
|
scope: __scopeTooltip,
|
|
@@ -24590,7 +24538,7 @@ var TooltipTrigger = React30.forwardRef(
|
|
|
24590
24538
|
React30.useEffect(() => {
|
|
24591
24539
|
return () => document.removeEventListener("pointerup", handlePointerUp);
|
|
24592
24540
|
}, [handlePointerUp]);
|
|
24593
|
-
return /* @__PURE__ */
|
|
24541
|
+
return /* @__PURE__ */ jsx19(Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx19(
|
|
24594
24542
|
Primitive.button,
|
|
24595
24543
|
{
|
|
24596
24544
|
"aria-describedby": context.open ? context.contentId : void 0,
|
|
@@ -24632,7 +24580,7 @@ var [PortalProvider2, usePortalContext2] = createTooltipContext(PORTAL_NAME3, {
|
|
|
24632
24580
|
var TooltipPortal = (props) => {
|
|
24633
24581
|
const { __scopeTooltip, forceMount, children, container } = props;
|
|
24634
24582
|
const context = useTooltipContext(PORTAL_NAME3, __scopeTooltip);
|
|
24635
|
-
return /* @__PURE__ */
|
|
24583
|
+
return /* @__PURE__ */ jsx19(PortalProvider2, { scope: __scopeTooltip, forceMount, children: /* @__PURE__ */ jsx19(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx19(Portal, { asChild: true, container, children }) }) });
|
|
24636
24584
|
};
|
|
24637
24585
|
TooltipPortal.displayName = PORTAL_NAME3;
|
|
24638
24586
|
var CONTENT_NAME3 = "TooltipContent";
|
|
@@ -24641,7 +24589,7 @@ var TooltipContent = React30.forwardRef(
|
|
|
24641
24589
|
const portalContext = usePortalContext2(CONTENT_NAME3, props.__scopeTooltip);
|
|
24642
24590
|
const { forceMount = portalContext.forceMount, side = "top", ...contentProps } = props;
|
|
24643
24591
|
const context = useTooltipContext(CONTENT_NAME3, props.__scopeTooltip);
|
|
24644
|
-
return /* @__PURE__ */
|
|
24592
|
+
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
24593
|
}
|
|
24646
24594
|
);
|
|
24647
24595
|
var TooltipContentHoverable = React30.forwardRef((props, forwardedRef) => {
|
|
@@ -24703,7 +24651,7 @@ var TooltipContentHoverable = React30.forwardRef((props, forwardedRef) => {
|
|
|
24703
24651
|
return () => document.removeEventListener("pointermove", handleTrackPointerGrace);
|
|
24704
24652
|
}
|
|
24705
24653
|
}, [trigger, content, pointerGraceArea, onClose, handleRemoveGraceArea]);
|
|
24706
|
-
return /* @__PURE__ */
|
|
24654
|
+
return /* @__PURE__ */ jsx19(TooltipContentImpl, { ...props, ref: composedRefs });
|
|
24707
24655
|
});
|
|
24708
24656
|
var [VisuallyHiddenContentContextProvider, useVisuallyHiddenContentContext] = createTooltipContext(TOOLTIP_NAME, { isInside: false });
|
|
24709
24657
|
var Slottable = createSlottable("TooltipContent");
|
|
@@ -24734,7 +24682,7 @@ var TooltipContentImpl = React30.forwardRef(
|
|
|
24734
24682
|
return () => window.removeEventListener("scroll", handleScroll2, { capture: true });
|
|
24735
24683
|
}
|
|
24736
24684
|
}, [context.trigger, onClose]);
|
|
24737
|
-
return /* @__PURE__ */
|
|
24685
|
+
return /* @__PURE__ */ jsx19(
|
|
24738
24686
|
DismissableLayer,
|
|
24739
24687
|
{
|
|
24740
24688
|
asChild: true,
|
|
@@ -24762,8 +24710,8 @@ var TooltipContentImpl = React30.forwardRef(
|
|
|
24762
24710
|
}
|
|
24763
24711
|
},
|
|
24764
24712
|
children: [
|
|
24765
|
-
/* @__PURE__ */
|
|
24766
|
-
/* @__PURE__ */
|
|
24713
|
+
/* @__PURE__ */ jsx19(Slottable, { children }),
|
|
24714
|
+
/* @__PURE__ */ jsx19(VisuallyHiddenContentContextProvider, { scope: __scopeTooltip, isInside: true, children: /* @__PURE__ */ jsx19(Root3, { id: context.contentId, role: "tooltip", children: ariaLabel || children }) })
|
|
24767
24715
|
]
|
|
24768
24716
|
}
|
|
24769
24717
|
)
|
|
@@ -24781,7 +24729,7 @@ var TooltipArrow = React30.forwardRef(
|
|
|
24781
24729
|
ARROW_NAME3,
|
|
24782
24730
|
__scopeTooltip
|
|
24783
24731
|
);
|
|
24784
|
-
return visuallyHiddenContentContext.isInside ? null : /* @__PURE__ */
|
|
24732
|
+
return visuallyHiddenContentContext.isInside ? null : /* @__PURE__ */ jsx19(Arrow2, { ...popperScope, ...arrowProps, ref: forwardedRef });
|
|
24785
24733
|
}
|
|
24786
24734
|
);
|
|
24787
24735
|
TooltipArrow.displayName = ARROW_NAME3;
|
|
@@ -24919,7 +24867,7 @@ __export(dist_exports6, {
|
|
|
24919
24867
|
createCollapsibleScope: () => createCollapsibleScope
|
|
24920
24868
|
});
|
|
24921
24869
|
import * as React31 from "react";
|
|
24922
|
-
import { jsx as
|
|
24870
|
+
import { jsx as jsx20 } from "react/jsx-runtime";
|
|
24923
24871
|
var COLLAPSIBLE_NAME = "Collapsible";
|
|
24924
24872
|
var [createCollapsibleContext, createCollapsibleScope] = createContextScope(COLLAPSIBLE_NAME);
|
|
24925
24873
|
var [CollapsibleProvider, useCollapsibleContext] = createCollapsibleContext(COLLAPSIBLE_NAME);
|
|
@@ -24939,7 +24887,7 @@ var Collapsible = React31.forwardRef(
|
|
|
24939
24887
|
onChange: onOpenChange,
|
|
24940
24888
|
caller: COLLAPSIBLE_NAME
|
|
24941
24889
|
});
|
|
24942
|
-
return /* @__PURE__ */
|
|
24890
|
+
return /* @__PURE__ */ jsx20(
|
|
24943
24891
|
CollapsibleProvider,
|
|
24944
24892
|
{
|
|
24945
24893
|
scope: __scopeCollapsible,
|
|
@@ -24947,7 +24895,7 @@ var Collapsible = React31.forwardRef(
|
|
|
24947
24895
|
contentId: useId(),
|
|
24948
24896
|
open,
|
|
24949
24897
|
onOpenToggle: React31.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),
|
|
24950
|
-
children: /* @__PURE__ */
|
|
24898
|
+
children: /* @__PURE__ */ jsx20(
|
|
24951
24899
|
Primitive.div,
|
|
24952
24900
|
{
|
|
24953
24901
|
"data-state": getState2(open),
|
|
@@ -24966,7 +24914,7 @@ var CollapsibleTrigger = React31.forwardRef(
|
|
|
24966
24914
|
(props, forwardedRef) => {
|
|
24967
24915
|
const { __scopeCollapsible, ...triggerProps } = props;
|
|
24968
24916
|
const context = useCollapsibleContext(TRIGGER_NAME3, __scopeCollapsible);
|
|
24969
|
-
return /* @__PURE__ */
|
|
24917
|
+
return /* @__PURE__ */ jsx20(
|
|
24970
24918
|
Primitive.button,
|
|
24971
24919
|
{
|
|
24972
24920
|
type: "button",
|
|
@@ -24988,7 +24936,7 @@ var CollapsibleContent = React31.forwardRef(
|
|
|
24988
24936
|
(props, forwardedRef) => {
|
|
24989
24937
|
const { forceMount, ...contentProps } = props;
|
|
24990
24938
|
const context = useCollapsibleContext(CONTENT_NAME4, props.__scopeCollapsible);
|
|
24991
|
-
return /* @__PURE__ */
|
|
24939
|
+
return /* @__PURE__ */ jsx20(Presence, { present: forceMount || context.open, children: ({ present }) => /* @__PURE__ */ jsx20(CollapsibleContentImpl, { ...contentProps, ref: forwardedRef, present }) });
|
|
24992
24940
|
}
|
|
24993
24941
|
);
|
|
24994
24942
|
CollapsibleContent.displayName = CONTENT_NAME4;
|
|
@@ -25028,7 +24976,7 @@ var CollapsibleContentImpl = React31.forwardRef((props, forwardedRef) => {
|
|
|
25028
24976
|
setIsPresent(present);
|
|
25029
24977
|
}
|
|
25030
24978
|
}, [context.open, present]);
|
|
25031
|
-
return /* @__PURE__ */
|
|
24979
|
+
return /* @__PURE__ */ jsx20(
|
|
25032
24980
|
Primitive.div,
|
|
25033
24981
|
{
|
|
25034
24982
|
"data-state": getState2(context.open),
|
|
@@ -25076,7 +25024,7 @@ __export(dist_exports7, {
|
|
|
25076
25024
|
createDialogScope: () => createDialogScope
|
|
25077
25025
|
});
|
|
25078
25026
|
import * as React32 from "react";
|
|
25079
|
-
import { Fragment as Fragment7, jsx as
|
|
25027
|
+
import { Fragment as Fragment7, jsx as jsx21, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
25080
25028
|
var DIALOG_NAME = "Dialog";
|
|
25081
25029
|
var [createDialogContext, createDialogScope] = createContextScope(DIALOG_NAME);
|
|
25082
25030
|
var [DialogProvider, useDialogContext] = createDialogContext(DIALOG_NAME);
|
|
@@ -25097,7 +25045,7 @@ var Dialog = (props) => {
|
|
|
25097
25045
|
onChange: onOpenChange,
|
|
25098
25046
|
caller: DIALOG_NAME
|
|
25099
25047
|
});
|
|
25100
|
-
return /* @__PURE__ */
|
|
25048
|
+
return /* @__PURE__ */ jsx21(
|
|
25101
25049
|
DialogProvider,
|
|
25102
25050
|
{
|
|
25103
25051
|
scope: __scopeDialog,
|
|
@@ -25121,7 +25069,7 @@ var DialogTrigger = React32.forwardRef(
|
|
|
25121
25069
|
const { __scopeDialog, ...triggerProps } = props;
|
|
25122
25070
|
const context = useDialogContext(TRIGGER_NAME4, __scopeDialog);
|
|
25123
25071
|
const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);
|
|
25124
|
-
return /* @__PURE__ */
|
|
25072
|
+
return /* @__PURE__ */ jsx21(
|
|
25125
25073
|
Primitive.button,
|
|
25126
25074
|
{
|
|
25127
25075
|
type: "button",
|
|
@@ -25144,7 +25092,7 @@ var [PortalProvider3, usePortalContext3] = createDialogContext(PORTAL_NAME4, {
|
|
|
25144
25092
|
var DialogPortal = (props) => {
|
|
25145
25093
|
const { __scopeDialog, forceMount, children, container } = props;
|
|
25146
25094
|
const context = useDialogContext(PORTAL_NAME4, __scopeDialog);
|
|
25147
|
-
return /* @__PURE__ */
|
|
25095
|
+
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
25096
|
};
|
|
25149
25097
|
DialogPortal.displayName = PORTAL_NAME4;
|
|
25150
25098
|
var OVERLAY_NAME = "DialogOverlay";
|
|
@@ -25153,7 +25101,7 @@ var DialogOverlay = React32.forwardRef(
|
|
|
25153
25101
|
const portalContext = usePortalContext3(OVERLAY_NAME, props.__scopeDialog);
|
|
25154
25102
|
const { forceMount = portalContext.forceMount, ...overlayProps } = props;
|
|
25155
25103
|
const context = useDialogContext(OVERLAY_NAME, props.__scopeDialog);
|
|
25156
|
-
return context.modal ? /* @__PURE__ */
|
|
25104
|
+
return context.modal ? /* @__PURE__ */ jsx21(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx21(DialogOverlayImpl, { ...overlayProps, ref: forwardedRef }) }) : null;
|
|
25157
25105
|
}
|
|
25158
25106
|
);
|
|
25159
25107
|
DialogOverlay.displayName = OVERLAY_NAME;
|
|
@@ -25165,7 +25113,7 @@ var DialogOverlayImpl = React32.forwardRef(
|
|
|
25165
25113
|
return (
|
|
25166
25114
|
// Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`
|
|
25167
25115
|
// ie. when `Overlay` and `Content` are siblings
|
|
25168
|
-
/* @__PURE__ */
|
|
25116
|
+
/* @__PURE__ */ jsx21(Combination_default, { as: Slot2, allowPinchZoom: true, shards: [context.contentRef], children: /* @__PURE__ */ jsx21(
|
|
25169
25117
|
Primitive.div,
|
|
25170
25118
|
{
|
|
25171
25119
|
"data-state": getState3(context.open),
|
|
@@ -25183,7 +25131,7 @@ var DialogContent = React32.forwardRef(
|
|
|
25183
25131
|
const portalContext = usePortalContext3(CONTENT_NAME5, props.__scopeDialog);
|
|
25184
25132
|
const { forceMount = portalContext.forceMount, ...contentProps } = props;
|
|
25185
25133
|
const context = useDialogContext(CONTENT_NAME5, props.__scopeDialog);
|
|
25186
|
-
return /* @__PURE__ */
|
|
25134
|
+
return /* @__PURE__ */ jsx21(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx21(DialogContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx21(DialogContentNonModal, { ...contentProps, ref: forwardedRef }) });
|
|
25187
25135
|
}
|
|
25188
25136
|
);
|
|
25189
25137
|
DialogContent.displayName = CONTENT_NAME5;
|
|
@@ -25196,7 +25144,7 @@ var DialogContentModal = React32.forwardRef(
|
|
|
25196
25144
|
const content = contentRef.current;
|
|
25197
25145
|
if (content) return hideOthers(content);
|
|
25198
25146
|
}, []);
|
|
25199
|
-
return /* @__PURE__ */
|
|
25147
|
+
return /* @__PURE__ */ jsx21(
|
|
25200
25148
|
DialogContentImpl,
|
|
25201
25149
|
{
|
|
25202
25150
|
...props,
|
|
@@ -25226,7 +25174,7 @@ var DialogContentNonModal = React32.forwardRef(
|
|
|
25226
25174
|
const context = useDialogContext(CONTENT_NAME5, props.__scopeDialog);
|
|
25227
25175
|
const hasInteractedOutsideRef = React32.useRef(false);
|
|
25228
25176
|
const hasPointerDownOutsideRef = React32.useRef(false);
|
|
25229
|
-
return /* @__PURE__ */
|
|
25177
|
+
return /* @__PURE__ */ jsx21(
|
|
25230
25178
|
DialogContentImpl,
|
|
25231
25179
|
{
|
|
25232
25180
|
...props,
|
|
@@ -25269,7 +25217,7 @@ var DialogContentImpl = React32.forwardRef(
|
|
|
25269
25217
|
const composedRefs = useComposedRefs(forwardedRef, contentRef);
|
|
25270
25218
|
useFocusGuards();
|
|
25271
25219
|
return /* @__PURE__ */ jsxs6(Fragment7, { children: [
|
|
25272
|
-
/* @__PURE__ */
|
|
25220
|
+
/* @__PURE__ */ jsx21(
|
|
25273
25221
|
FocusScope,
|
|
25274
25222
|
{
|
|
25275
25223
|
asChild: true,
|
|
@@ -25277,7 +25225,7 @@ var DialogContentImpl = React32.forwardRef(
|
|
|
25277
25225
|
trapped: trapFocus,
|
|
25278
25226
|
onMountAutoFocus: onOpenAutoFocus,
|
|
25279
25227
|
onUnmountAutoFocus: onCloseAutoFocus,
|
|
25280
|
-
children: /* @__PURE__ */
|
|
25228
|
+
children: /* @__PURE__ */ jsx21(
|
|
25281
25229
|
DismissableLayer,
|
|
25282
25230
|
{
|
|
25283
25231
|
role: "dialog",
|
|
@@ -25293,8 +25241,8 @@ var DialogContentImpl = React32.forwardRef(
|
|
|
25293
25241
|
}
|
|
25294
25242
|
),
|
|
25295
25243
|
/* @__PURE__ */ jsxs6(Fragment7, { children: [
|
|
25296
|
-
/* @__PURE__ */
|
|
25297
|
-
/* @__PURE__ */
|
|
25244
|
+
/* @__PURE__ */ jsx21(TitleWarning, { titleId: context.titleId }),
|
|
25245
|
+
/* @__PURE__ */ jsx21(DescriptionWarning, { contentRef, descriptionId: context.descriptionId })
|
|
25298
25246
|
] })
|
|
25299
25247
|
] });
|
|
25300
25248
|
}
|
|
@@ -25304,7 +25252,7 @@ var DialogTitle = React32.forwardRef(
|
|
|
25304
25252
|
(props, forwardedRef) => {
|
|
25305
25253
|
const { __scopeDialog, ...titleProps } = props;
|
|
25306
25254
|
const context = useDialogContext(TITLE_NAME, __scopeDialog);
|
|
25307
|
-
return /* @__PURE__ */
|
|
25255
|
+
return /* @__PURE__ */ jsx21(Primitive.h2, { id: context.titleId, ...titleProps, ref: forwardedRef });
|
|
25308
25256
|
}
|
|
25309
25257
|
);
|
|
25310
25258
|
DialogTitle.displayName = TITLE_NAME;
|
|
@@ -25313,7 +25261,7 @@ var DialogDescription = React32.forwardRef(
|
|
|
25313
25261
|
(props, forwardedRef) => {
|
|
25314
25262
|
const { __scopeDialog, ...descriptionProps } = props;
|
|
25315
25263
|
const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);
|
|
25316
|
-
return /* @__PURE__ */
|
|
25264
|
+
return /* @__PURE__ */ jsx21(Primitive.p, { id: context.descriptionId, ...descriptionProps, ref: forwardedRef });
|
|
25317
25265
|
}
|
|
25318
25266
|
);
|
|
25319
25267
|
DialogDescription.displayName = DESCRIPTION_NAME;
|
|
@@ -25322,7 +25270,7 @@ var DialogClose = React32.forwardRef(
|
|
|
25322
25270
|
(props, forwardedRef) => {
|
|
25323
25271
|
const { __scopeDialog, ...closeProps } = props;
|
|
25324
25272
|
const context = useDialogContext(CLOSE_NAME2, __scopeDialog);
|
|
25325
|
-
return /* @__PURE__ */
|
|
25273
|
+
return /* @__PURE__ */ jsx21(
|
|
25326
25274
|
Primitive.button,
|
|
25327
25275
|
{
|
|
25328
25276
|
type: "button",
|
|
@@ -26571,18 +26519,21 @@ var cn2 = /* @__PURE__ */ wrapClsx(instance.mergeString, instance);
|
|
|
26571
26519
|
var twMerge2 = instance.merge;
|
|
26572
26520
|
|
|
26573
26521
|
// ../ui/src/components/dialog.tsx
|
|
26574
|
-
import { jsx as
|
|
26522
|
+
import { jsx as jsx22, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
26575
26523
|
function Dialog2({
|
|
26576
26524
|
...props
|
|
26577
26525
|
}) {
|
|
26578
|
-
return /* @__PURE__ */
|
|
26526
|
+
return /* @__PURE__ */ jsx22(dist_exports7.Root, { "data-slot": "dialog", ...props });
|
|
26579
26527
|
}
|
|
26580
26528
|
function DialogClose2({
|
|
26581
26529
|
...props
|
|
26582
26530
|
}) {
|
|
26583
|
-
return /* @__PURE__ */
|
|
26531
|
+
return /* @__PURE__ */ jsx22(dist_exports7.Close, { "data-slot": "dialog-close", ...props });
|
|
26584
26532
|
}
|
|
26585
26533
|
|
|
26534
|
+
// ../ui/src/composites/dialog.tsx
|
|
26535
|
+
import { forwardRef as forwardRef17 } from "react";
|
|
26536
|
+
|
|
26586
26537
|
// ../ui/src/lib/shadow-focus.ts
|
|
26587
26538
|
var TABBABLE = [
|
|
26588
26539
|
"a[href]",
|
|
@@ -26617,14 +26568,12 @@ function loopTabInShadowRoot(event) {
|
|
|
26617
26568
|
}
|
|
26618
26569
|
|
|
26619
26570
|
// ../ui/src/composites/dialog.tsx
|
|
26620
|
-
import { jsx as
|
|
26621
|
-
|
|
26622
|
-
|
|
26623
|
-
...props
|
|
26624
|
-
}) {
|
|
26625
|
-
return /* @__PURE__ */ jsx24(
|
|
26571
|
+
import { jsx as jsx23, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
26572
|
+
var DialogOverlay2 = forwardRef17(function DialogOverlay3({ className, ...props }, ref) {
|
|
26573
|
+
return /* @__PURE__ */ jsx23(
|
|
26626
26574
|
dist_exports7.Overlay,
|
|
26627
26575
|
{
|
|
26576
|
+
ref,
|
|
26628
26577
|
"data-slot": "dialog-overlay",
|
|
26629
26578
|
className: cn2(
|
|
26630
26579
|
"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 +26582,7 @@ function DialogOverlay2({
|
|
|
26633
26582
|
...props
|
|
26634
26583
|
}
|
|
26635
26584
|
);
|
|
26636
|
-
}
|
|
26585
|
+
});
|
|
26637
26586
|
function DialogContent2({
|
|
26638
26587
|
className,
|
|
26639
26588
|
children,
|
|
@@ -26644,7 +26593,7 @@ function DialogContent2({
|
|
|
26644
26593
|
}) {
|
|
26645
26594
|
const overlayRoot = useOverlayRoot();
|
|
26646
26595
|
return /* @__PURE__ */ jsxs8(dist_exports7.Portal, { "data-slot": "dialog-portal", container: overlayRoot, children: [
|
|
26647
|
-
/* @__PURE__ */
|
|
26596
|
+
/* @__PURE__ */ jsx23(DialogOverlay2, { className: overlayClassName }),
|
|
26648
26597
|
/* @__PURE__ */ jsxs8(
|
|
26649
26598
|
dist_exports7.Content,
|
|
26650
26599
|
{
|
|
@@ -26666,8 +26615,8 @@ function DialogContent2({
|
|
|
26666
26615
|
"data-slot": "dialog-close",
|
|
26667
26616
|
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
26617
|
children: [
|
|
26669
|
-
/* @__PURE__ */
|
|
26670
|
-
/* @__PURE__ */
|
|
26618
|
+
/* @__PURE__ */ jsx23(X, { size: 16 }),
|
|
26619
|
+
/* @__PURE__ */ jsx23("span", { className: "sr-only", children: "\u5173\u95ED" })
|
|
26671
26620
|
]
|
|
26672
26621
|
}
|
|
26673
26622
|
)
|
|
@@ -26677,7 +26626,7 @@ function DialogContent2({
|
|
|
26677
26626
|
] });
|
|
26678
26627
|
}
|
|
26679
26628
|
function DialogTitle2({ className, ...props }) {
|
|
26680
|
-
return /* @__PURE__ */
|
|
26629
|
+
return /* @__PURE__ */ jsx23(
|
|
26681
26630
|
dist_exports7.Title,
|
|
26682
26631
|
{
|
|
26683
26632
|
"data-slot": "dialog-title",
|
|
@@ -26686,6 +26635,19 @@ function DialogTitle2({ className, ...props }) {
|
|
|
26686
26635
|
}
|
|
26687
26636
|
);
|
|
26688
26637
|
}
|
|
26638
|
+
function DialogDescription2({
|
|
26639
|
+
className,
|
|
26640
|
+
...props
|
|
26641
|
+
}) {
|
|
26642
|
+
return /* @__PURE__ */ jsx23(
|
|
26643
|
+
dist_exports7.Description,
|
|
26644
|
+
{
|
|
26645
|
+
"data-slot": "dialog-description",
|
|
26646
|
+
className: cn2("text-sm text-[hsl(var(--muted-foreground))]", className),
|
|
26647
|
+
...props
|
|
26648
|
+
}
|
|
26649
|
+
);
|
|
26650
|
+
}
|
|
26689
26651
|
|
|
26690
26652
|
// src/chat/chat-theme.tsx
|
|
26691
26653
|
var NEUTRAL = {
|
|
@@ -26750,7 +26712,7 @@ export {
|
|
|
26750
26712
|
CircleAlert,
|
|
26751
26713
|
CircleCheck,
|
|
26752
26714
|
CirclePause,
|
|
26753
|
-
|
|
26715
|
+
CircleSlash,
|
|
26754
26716
|
Copy,
|
|
26755
26717
|
Download,
|
|
26756
26718
|
Earth,
|
|
@@ -26790,7 +26752,6 @@ export {
|
|
|
26790
26752
|
Plug,
|
|
26791
26753
|
Plus,
|
|
26792
26754
|
RefreshCcw,
|
|
26793
|
-
RefreshCw,
|
|
26794
26755
|
Rocket,
|
|
26795
26756
|
RotateCcw,
|
|
26796
26757
|
Scissors,
|
|
@@ -26803,32 +26764,11 @@ export {
|
|
|
26803
26764
|
Terminal,
|
|
26804
26765
|
Trash2,
|
|
26805
26766
|
TriangleAlert,
|
|
26806
|
-
Workflow,
|
|
26807
26767
|
Wrench,
|
|
26808
26768
|
X,
|
|
26769
|
+
Zap,
|
|
26809
26770
|
cn,
|
|
26810
26771
|
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
26772
|
getToolDescription,
|
|
26833
26773
|
formatToolFileName,
|
|
26834
26774
|
formatToolName,
|
|
@@ -26852,6 +26792,19 @@ export {
|
|
|
26852
26792
|
usePlanRevealRevision,
|
|
26853
26793
|
CurrentChatSessionProvider,
|
|
26854
26794
|
useCurrentChatSessionId,
|
|
26795
|
+
ChatEnvironmentProvider,
|
|
26796
|
+
useChatEnvironment,
|
|
26797
|
+
useHighlightedCode,
|
|
26798
|
+
useChatSessionDetail,
|
|
26799
|
+
useHideTodo,
|
|
26800
|
+
useChatRenderMode,
|
|
26801
|
+
notifyChat,
|
|
26802
|
+
useComposerBridge,
|
|
26803
|
+
useChatVirtualizer,
|
|
26804
|
+
getInputHistoryGeneration,
|
|
26805
|
+
onInputCachesReset,
|
|
26806
|
+
pluginRefsForSend,
|
|
26807
|
+
getPluginSuggestionItems,
|
|
26855
26808
|
sendToSession,
|
|
26856
26809
|
useControllableState,
|
|
26857
26810
|
dist_exports6 as dist_exports,
|
|
@@ -26869,6 +26822,7 @@ export {
|
|
|
26869
26822
|
DialogClose2 as DialogClose,
|
|
26870
26823
|
DialogContent2 as DialogContent,
|
|
26871
26824
|
DialogTitle2 as DialogTitle,
|
|
26825
|
+
DialogDescription2 as DialogDescription,
|
|
26872
26826
|
chatTone,
|
|
26873
26827
|
useEffectEvent2 as useEffectEvent,
|
|
26874
26828
|
SessionPluginConfigForm,
|
|
@@ -26916,7 +26870,7 @@ lucide-react/dist/esm/icons/circle-alert.js:
|
|
|
26916
26870
|
lucide-react/dist/esm/icons/circle-check.js:
|
|
26917
26871
|
lucide-react/dist/esm/icons/circle-dot.js:
|
|
26918
26872
|
lucide-react/dist/esm/icons/circle-pause.js:
|
|
26919
|
-
lucide-react/dist/esm/icons/circle-
|
|
26873
|
+
lucide-react/dist/esm/icons/circle-slash.js:
|
|
26920
26874
|
lucide-react/dist/esm/icons/circle.js:
|
|
26921
26875
|
lucide-react/dist/esm/icons/copy.js:
|
|
26922
26876
|
lucide-react/dist/esm/icons/download.js:
|
|
@@ -26959,7 +26913,6 @@ lucide-react/dist/esm/icons/plug.js:
|
|
|
26959
26913
|
lucide-react/dist/esm/icons/plus.js:
|
|
26960
26914
|
lucide-react/dist/esm/icons/puzzle.js:
|
|
26961
26915
|
lucide-react/dist/esm/icons/refresh-ccw.js:
|
|
26962
|
-
lucide-react/dist/esm/icons/refresh-cw.js:
|
|
26963
26916
|
lucide-react/dist/esm/icons/rocket.js:
|
|
26964
26917
|
lucide-react/dist/esm/icons/rotate-ccw.js:
|
|
26965
26918
|
lucide-react/dist/esm/icons/scissors.js:
|
|
@@ -26972,9 +26925,9 @@ lucide-react/dist/esm/icons/square.js:
|
|
|
26972
26925
|
lucide-react/dist/esm/icons/terminal.js:
|
|
26973
26926
|
lucide-react/dist/esm/icons/trash-2.js:
|
|
26974
26927
|
lucide-react/dist/esm/icons/triangle-alert.js:
|
|
26975
|
-
lucide-react/dist/esm/icons/workflow.js:
|
|
26976
26928
|
lucide-react/dist/esm/icons/wrench.js:
|
|
26977
26929
|
lucide-react/dist/esm/icons/x.js:
|
|
26930
|
+
lucide-react/dist/esm/icons/zap.js:
|
|
26978
26931
|
lucide-react/dist/esm/lucide-react.js:
|
|
26979
26932
|
(**
|
|
26980
26933
|
* @license lucide-react v0.468.0 - ISC
|
|
@@ -26983,4 +26936,4 @@ lucide-react/dist/esm/lucide-react.js:
|
|
|
26983
26936
|
* See the LICENSE file in the root directory of this source tree.
|
|
26984
26937
|
*)
|
|
26985
26938
|
*/
|
|
26986
|
-
//# sourceMappingURL=chunk-
|
|
26939
|
+
//# sourceMappingURL=chunk-PPREDKQ2.js.map
|