@blade-hq/agent-react 2612.0.0-beta.5 → 2612.0.0-beta.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -0
- package/dist/chat/ChatPanel.d.ts +1 -3
- package/dist/chat/LightComposer.d.ts +1 -1
- package/dist/chat/LiteMessageList.d.ts +1 -1
- 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/runtime/actions.d.ts +1 -1
- 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-T5WGKZN4.js → chunk-67GHJQK5.js} +724 -575
- package/dist/chunk-67GHJQK5.js.map +1 -0
- package/dist/{chunk-7IPINZHT.js → chunk-DPDXGYGM.js} +2 -2
- package/dist/{chunk-XULCQP3Q.js → chunk-MERN5XEM.js} +636 -704
- package/dist/chunk-MERN5XEM.js.map +1 -0
- package/dist/components/ChatInput.d.ts +3 -1
- package/dist/components/plugin-connector.d.ts +1 -0
- package/dist/embed/entry.d.ts +1 -0
- package/dist/host.d.ts +0 -4
- package/dist/index.js +2 -2
- package/dist/internal.js +3 -3
- package/dist/internal.js.map +1 -1
- package/dist/lib/agent-computer-command.d.ts +1 -3
- package/dist/rich-input/ChatInput.d.ts +1 -1
- package/dist/rich-input/FileCompletionMenu.d.ts +5 -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 +0 -1
- package/dist/rich-input/index.d.ts +4 -2
- package/dist/rich-input/lib/composer-content.d.ts +7 -22
- 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/services.d.ts +2 -3
- package/dist/rich-input/use-input-history.d.ts +8 -10
- package/dist/rich-input/use-reference-candidates.d.ts +8 -0
- package/dist/rich-input.js +491 -472
- 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 +0 -1
- 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-T5WGKZN4.js.map +0 -1
- package/dist/chunk-XULCQP3Q.js.map +0 -1
- package/dist/rich-input/extensions/kb-mention.d.ts +0 -18
- package/dist/rich-input/lib/kb-suggestions.d.ts +0 -37
- /package/dist/{chunk-7IPINZHT.js.map → chunk-DPDXGYGM.js.map} +0 -0
package/dist/rich-input.js
CHANGED
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
PluginTriggerStack,
|
|
4
4
|
selectionFromItem,
|
|
5
5
|
triggerSummary
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-DPDXGYGM.js";
|
|
7
7
|
import {
|
|
8
8
|
Archive,
|
|
9
9
|
BookOpen,
|
|
@@ -34,7 +34,6 @@ import {
|
|
|
34
34
|
Play,
|
|
35
35
|
Plug,
|
|
36
36
|
Plus,
|
|
37
|
-
RefreshCw,
|
|
38
37
|
Rocket,
|
|
39
38
|
RotateCcw,
|
|
40
39
|
Scissors,
|
|
@@ -48,7 +47,11 @@ import {
|
|
|
48
47
|
cn,
|
|
49
48
|
cn2,
|
|
50
49
|
dist_exports2 as dist_exports,
|
|
50
|
+
getInputHistoryGeneration,
|
|
51
|
+
getPluginSuggestionItems,
|
|
51
52
|
notifyChat,
|
|
53
|
+
onInputCachesReset,
|
|
54
|
+
pluginRefsForSend,
|
|
52
55
|
sendToSession,
|
|
53
56
|
useBladeClient,
|
|
54
57
|
useChatEnvironment,
|
|
@@ -59,7 +62,7 @@ import {
|
|
|
59
62
|
usePortalContainer,
|
|
60
63
|
useSessionHandle,
|
|
61
64
|
useSessionState
|
|
62
|
-
} from "./chunk-
|
|
65
|
+
} from "./chunk-MERN5XEM.js";
|
|
63
66
|
import {
|
|
64
67
|
__commonJS,
|
|
65
68
|
__require,
|
|
@@ -89,7 +92,7 @@ var require_use_sync_external_store_shim_development = __commonJS({
|
|
|
89
92
|
inst: { value, getSnapshot }
|
|
90
93
|
});
|
|
91
94
|
var inst = cachedValue[0].inst, forceUpdate = cachedValue[1];
|
|
92
|
-
|
|
95
|
+
useLayoutEffect3(
|
|
93
96
|
function() {
|
|
94
97
|
inst.value = value;
|
|
95
98
|
inst.getSnapshot = getSnapshot;
|
|
@@ -123,7 +126,7 @@ var require_use_sync_external_store_shim_development = __commonJS({
|
|
|
123
126
|
return getSnapshot();
|
|
124
127
|
}
|
|
125
128
|
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
|
|
126
|
-
var React2 = __require("react"), objectIs = "function" === typeof Object.is ? Object.is : is, useState12 = React2.useState, useEffect10 = React2.useEffect,
|
|
129
|
+
var React2 = __require("react"), objectIs = "function" === typeof Object.is ? Object.is : is, useState12 = React2.useState, useEffect10 = React2.useEffect, useLayoutEffect3 = React2.useLayoutEffect, useDebugValue3 = React2.useDebugValue, didWarnOld18Alpha = false, didWarnUncachedGetSnapshot = false, shim = "undefined" === typeof window || "undefined" === typeof window.document || "undefined" === typeof window.document.createElement ? useSyncExternalStore$1 : useSyncExternalStore$2;
|
|
127
130
|
exports.useSyncExternalStore = void 0 !== React2.useSyncExternalStore ? React2.useSyncExternalStore : shim;
|
|
128
131
|
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
|
|
129
132
|
})();
|
|
@@ -151,9 +154,9 @@ var require_with_selector_development = __commonJS({
|
|
|
151
154
|
return x === y && (0 !== x || 1 / x === 1 / y) || x !== x && y !== y;
|
|
152
155
|
}
|
|
153
156
|
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
|
|
154
|
-
var React2 = __require("react"), shim = require_shim(), objectIs = "function" === typeof Object.is ? Object.is : is, useSyncExternalStore5 = shim.useSyncExternalStore,
|
|
157
|
+
var React2 = __require("react"), shim = require_shim(), objectIs = "function" === typeof Object.is ? Object.is : is, useSyncExternalStore5 = shim.useSyncExternalStore, useRef10 = React2.useRef, useEffect10 = React2.useEffect, useMemo9 = React2.useMemo, useDebugValue3 = React2.useDebugValue;
|
|
155
158
|
exports.useSyncExternalStoreWithSelector = function(subscribe, getSnapshot, getServerSnapshot, selector, isEqual) {
|
|
156
|
-
var instRef =
|
|
159
|
+
var instRef = useRef10(null);
|
|
157
160
|
if (null === instRef.current) {
|
|
158
161
|
var inst = { hasValue: false, value: null };
|
|
159
162
|
instRef.current = inst;
|
|
@@ -288,21 +291,11 @@ function useRichInputServices() {
|
|
|
288
291
|
return useContext(RichInputServicesContext);
|
|
289
292
|
}
|
|
290
293
|
|
|
291
|
-
// src/rich-input/lib/
|
|
292
|
-
import {
|
|
293
|
-
|
|
294
|
-
// src/chat/runtime/input-cache-reset.ts
|
|
295
|
-
var resetters = /* @__PURE__ */ new WeakMap();
|
|
296
|
-
function onInputCachesReset(client, reset2) {
|
|
297
|
-
let set = resetters.get(client);
|
|
298
|
-
if (!set) {
|
|
299
|
-
set = /* @__PURE__ */ new Set();
|
|
300
|
-
resetters.set(client, set);
|
|
301
|
-
}
|
|
302
|
-
set.add(reset2);
|
|
303
|
-
}
|
|
294
|
+
// src/rich-input/lib/session-data.ts
|
|
295
|
+
import { useEffect as useEffect2, useRef } from "react";
|
|
304
296
|
|
|
305
297
|
// src/rich-input/lib/client-query.ts
|
|
298
|
+
import { useCallback, useEffect, useSyncExternalStore as useSyncExternalStore2 } from "react";
|
|
306
299
|
var EMPTY = { data: void 0, error: null, isLoading: false, isFetching: false };
|
|
307
300
|
var caches = /* @__PURE__ */ new WeakMap();
|
|
308
301
|
function entryFor(client, key) {
|
|
@@ -415,7 +408,6 @@ function refreshClientQuery(client, key) {
|
|
|
415
408
|
}
|
|
416
409
|
|
|
417
410
|
// src/rich-input/lib/session-data.ts
|
|
418
|
-
import { useEffect as useEffect2, useRef } from "react";
|
|
419
411
|
var sessionPath = (sessionId, rest) => `/api/sessions/${encodeURIComponent(sessionId)}/${rest}`;
|
|
420
412
|
function useRefreshWhenRunEnds(sessionId, keys3) {
|
|
421
413
|
const client = useBladeClient();
|
|
@@ -550,22 +542,6 @@ function useModelPreferences() {
|
|
|
550
542
|
const use = useRichInputServices().useModelPreferences ?? useClientModelPreferences;
|
|
551
543
|
return use();
|
|
552
544
|
}
|
|
553
|
-
function loadKnowledgeBases(client) {
|
|
554
|
-
return client.json("GET", "/api/registry/kb").then(
|
|
555
|
-
(response) => (Array.isArray(response) ? response : response?.items ?? []).filter((item) => typeof item?.id === "number")
|
|
556
|
-
);
|
|
557
|
-
}
|
|
558
|
-
function useClientKnowledgeBaseLoader() {
|
|
559
|
-
const client = useBladeClient();
|
|
560
|
-
return useMemo(
|
|
561
|
-
() => () => fetchClientQuery(client, "knowledge-bases", loadKnowledgeBases, { staleMs: 6e4 }),
|
|
562
|
-
[client]
|
|
563
|
-
);
|
|
564
|
-
}
|
|
565
|
-
function useKnowledgeBaseLoader() {
|
|
566
|
-
const use = useRichInputServices().useKnowledgeBaseLoader ?? useClientKnowledgeBaseLoader;
|
|
567
|
-
return use();
|
|
568
|
-
}
|
|
569
545
|
function useSessionConnection(sessionId) {
|
|
570
546
|
const connection = useSessionState(sessionId, (state3) => state3.connection);
|
|
571
547
|
const status = sessionId ? connection : "connected";
|
|
@@ -18931,6 +18907,169 @@ var Mention = Node3.create({
|
|
|
18931
18907
|
});
|
|
18932
18908
|
var index_default = Mention;
|
|
18933
18909
|
|
|
18910
|
+
// src/rich-input/extensions/plugin-mention.ts
|
|
18911
|
+
function isPluginSuggestionError(value) {
|
|
18912
|
+
return Boolean(value && typeof value === "object" && value.kind === "pluginError");
|
|
18913
|
+
}
|
|
18914
|
+
function isPluginSuggestionItem(value) {
|
|
18915
|
+
return Boolean(value && typeof value === "object" && value.kind === "plugin");
|
|
18916
|
+
}
|
|
18917
|
+
var PluginMention = index_default.extend({
|
|
18918
|
+
name: "pluginMention",
|
|
18919
|
+
addOptions() {
|
|
18920
|
+
return {
|
|
18921
|
+
...this.parent?.(),
|
|
18922
|
+
deleteTriggerWithBackspace: true,
|
|
18923
|
+
suggestions: this.parent?.().suggestions ?? [],
|
|
18924
|
+
suggestion: { ...this.parent?.().suggestion, char: "@" },
|
|
18925
|
+
HTMLAttributes: { class: "file-mention-pill" },
|
|
18926
|
+
renderText: ({ node }) => `@${node.attrs.label}`,
|
|
18927
|
+
renderHTML: ({ node }) => ["span", { class: "file-mention-pill", "data-plugin-ref": JSON.stringify(node.attrs) }, `@${node.attrs.label}`]
|
|
18928
|
+
};
|
|
18929
|
+
},
|
|
18930
|
+
addAttributes() {
|
|
18931
|
+
return Object.fromEntries(["provider", "plugin", "server", "id", "label"].map((key) => [key, {
|
|
18932
|
+
default: key === "provider" ? "plugin" : "",
|
|
18933
|
+
parseHTML: (element) => {
|
|
18934
|
+
try {
|
|
18935
|
+
return JSON.parse(element.getAttribute("data-plugin-ref") ?? "{}")[key] ?? "";
|
|
18936
|
+
} catch {
|
|
18937
|
+
return "";
|
|
18938
|
+
}
|
|
18939
|
+
}
|
|
18940
|
+
}]));
|
|
18941
|
+
},
|
|
18942
|
+
parseHTML() {
|
|
18943
|
+
return [{ tag: "span[data-plugin-ref]" }];
|
|
18944
|
+
},
|
|
18945
|
+
addProseMirrorPlugins() {
|
|
18946
|
+
return [];
|
|
18947
|
+
}
|
|
18948
|
+
});
|
|
18949
|
+
|
|
18950
|
+
// src/rich-input/lib/composer-content.ts
|
|
18951
|
+
import { normalizePluginRefs, normalizeTopicAssetRefs } from "@blade-hq/agent-client";
|
|
18952
|
+
function serializeEditorContent(node) {
|
|
18953
|
+
if (!node) return "";
|
|
18954
|
+
if (node.type === "text") {
|
|
18955
|
+
return node.text ?? "";
|
|
18956
|
+
}
|
|
18957
|
+
if (node.type === "hardBreak") {
|
|
18958
|
+
return "\n";
|
|
18959
|
+
}
|
|
18960
|
+
if (node.type === "fileMention") {
|
|
18961
|
+
const path = typeof node.attrs?.path === "string" ? node.attrs.path : "";
|
|
18962
|
+
return path ? `\`${path}\`` : "";
|
|
18963
|
+
}
|
|
18964
|
+
if (node.type === "skillMention") {
|
|
18965
|
+
const skillId = typeof node.attrs?.skillId === "string" ? node.attrs.skillId : "";
|
|
18966
|
+
return skillId ? `<skill>${skillId}</skill>` : "";
|
|
18967
|
+
}
|
|
18968
|
+
if (node.type === "workflowMention") {
|
|
18969
|
+
const name = typeof node.attrs?.name === "string" ? node.attrs.name : "";
|
|
18970
|
+
return name ? `\u8FD0\u884C\u5DE5\u4F5C\u6D41 ${name}` : "";
|
|
18971
|
+
}
|
|
18972
|
+
if (node.type === "pluginMention") return `@${node.attrs?.label ?? ""}`;
|
|
18973
|
+
if (node.type === "topicAssetMention") {
|
|
18974
|
+
const path = typeof node.attrs?.path === "string" ? node.attrs.path : "";
|
|
18975
|
+
return path ? `@${path}` : "";
|
|
18976
|
+
}
|
|
18977
|
+
const children = (node.content ?? []).map((child) => serializeEditorContent(child));
|
|
18978
|
+
if (node.type === "doc") {
|
|
18979
|
+
return children.join("\n");
|
|
18980
|
+
}
|
|
18981
|
+
return children.join("");
|
|
18982
|
+
}
|
|
18983
|
+
function scanLeadingSkillMention(node, seenContent) {
|
|
18984
|
+
if (!node) {
|
|
18985
|
+
return { skill: null, seenContent };
|
|
18986
|
+
}
|
|
18987
|
+
if (node.type === "text") {
|
|
18988
|
+
return { skill: null, seenContent: seenContent || /\S/.test(node.text ?? "") };
|
|
18989
|
+
}
|
|
18990
|
+
if (node.type === "hardBreak" || node.type === "fileMention" || node.type === "workflowMention") {
|
|
18991
|
+
return { skill: null, seenContent: true };
|
|
18992
|
+
}
|
|
18993
|
+
if (node.type === "pluginMention") return { skill: null, seenContent };
|
|
18994
|
+
if (node.type === "topicAssetMention") return { skill: null, seenContent };
|
|
18995
|
+
if (node.type === "skillMention") {
|
|
18996
|
+
const skillId = typeof node.attrs?.skillId === "string" ? node.attrs.skillId : null;
|
|
18997
|
+
return {
|
|
18998
|
+
skill: seenContent || !skillId ? null : {
|
|
18999
|
+
skillId,
|
|
19000
|
+
local: node.attrs?.local !== false,
|
|
19001
|
+
installed: node.attrs?.installed !== false
|
|
19002
|
+
},
|
|
19003
|
+
seenContent: true
|
|
19004
|
+
};
|
|
19005
|
+
}
|
|
19006
|
+
let nextSeenContent = seenContent;
|
|
19007
|
+
for (const child of node.content ?? []) {
|
|
19008
|
+
const result = scanLeadingSkillMention(child, nextSeenContent);
|
|
19009
|
+
if (result.skill) {
|
|
19010
|
+
return result;
|
|
19011
|
+
}
|
|
19012
|
+
nextSeenContent = result.seenContent;
|
|
19013
|
+
}
|
|
19014
|
+
return { skill: null, seenContent: nextSeenContent };
|
|
19015
|
+
}
|
|
19016
|
+
function findLeadingSkillMention(node) {
|
|
19017
|
+
return scanLeadingSkillMention(node, false).skill;
|
|
19018
|
+
}
|
|
19019
|
+
function collectTopicAssetMentions(node) {
|
|
19020
|
+
const refs = [];
|
|
19021
|
+
const visit = (current) => {
|
|
19022
|
+
if (!current) return;
|
|
19023
|
+
if (current.type === "topicAssetMention") refs.push(current.attrs);
|
|
19024
|
+
for (const child of current.content ?? []) visit(child);
|
|
19025
|
+
};
|
|
19026
|
+
visit(node);
|
|
19027
|
+
return normalizeTopicAssetRefs(refs);
|
|
19028
|
+
}
|
|
19029
|
+
function buildEditorDocumentWithMentions(text, topicAssetRefs = []) {
|
|
19030
|
+
const doc3 = buildEditorDocument(text);
|
|
19031
|
+
const replace2 = (node) => {
|
|
19032
|
+
if (node.type !== "text") return [{ ...node, ...node.content ? { content: node.content.flatMap(replace2) } : {} }];
|
|
19033
|
+
let nodes = [node];
|
|
19034
|
+
for (const ref of topicAssetRefs) {
|
|
19035
|
+
nodes = nodes.flatMap((part) => {
|
|
19036
|
+
if (part.type !== "text" || !part.text) return [part];
|
|
19037
|
+
const marker = `@${ref.path}`;
|
|
19038
|
+
const index = part.text.indexOf(marker);
|
|
19039
|
+
if (index < 0) return [part];
|
|
19040
|
+
return [
|
|
19041
|
+
...index ? [{ type: "text", text: part.text.slice(0, index) }] : [],
|
|
19042
|
+
{ type: "topicAssetMention", attrs: { topic_id: ref.topic_id, path: ref.path } },
|
|
19043
|
+
...index + marker.length < part.text.length ? [{ type: "text", text: part.text.slice(index + marker.length) }] : []
|
|
19044
|
+
];
|
|
19045
|
+
});
|
|
19046
|
+
}
|
|
19047
|
+
return nodes;
|
|
19048
|
+
};
|
|
19049
|
+
return replace2(doc3)[0];
|
|
19050
|
+
}
|
|
19051
|
+
function retainTopicAssetMentions(node, topicId) {
|
|
19052
|
+
return {
|
|
19053
|
+
...node,
|
|
19054
|
+
...node.content ? {
|
|
19055
|
+
content: node.content.filter((child) => child.type !== "topicAssetMention" || child.attrs?.topic_id === topicId).map((child) => retainTopicAssetMentions(child, topicId))
|
|
19056
|
+
} : {}
|
|
19057
|
+
};
|
|
19058
|
+
}
|
|
19059
|
+
function collectPluginMentions(node) {
|
|
19060
|
+
const refs = [];
|
|
19061
|
+
const visit = (current) => {
|
|
19062
|
+
if (!current) return;
|
|
19063
|
+
if (current.type === "pluginMention") refs.push(current.attrs);
|
|
19064
|
+
current.content?.forEach(visit);
|
|
19065
|
+
};
|
|
19066
|
+
visit(node);
|
|
19067
|
+
return normalizePluginRefs(refs);
|
|
19068
|
+
}
|
|
19069
|
+
function buildEditorDocument(text) {
|
|
19070
|
+
return { type: "doc", content: text.split("\n").map((line) => ({ type: "paragraph", content: line ? [{ type: "text", text: line }] : [] })) };
|
|
19071
|
+
}
|
|
19072
|
+
|
|
18934
19073
|
// src/rich-input/extensions/topic-asset-mention.ts
|
|
18935
19074
|
function isTopicAssetSuggestionItem(value) {
|
|
18936
19075
|
return typeof value === "object" && value !== null && value.kind === "topicAsset";
|
|
@@ -18969,7 +19108,7 @@ var TopicAssetMention = index_default.extend({
|
|
|
18969
19108
|
});
|
|
18970
19109
|
|
|
18971
19110
|
// src/chat/runtime/composer-channels.ts
|
|
18972
|
-
import { normalizeTopicAssetRefs } from "@blade-hq/agent-client";
|
|
19111
|
+
import { normalizeTopicAssetRefs as normalizeTopicAssetRefs2 } from "@blade-hq/agent-client";
|
|
18973
19112
|
import { useSyncExternalStore as useSyncExternalStore3 } from "react";
|
|
18974
19113
|
function buildSignalId() {
|
|
18975
19114
|
if (typeof crypto !== "undefined" && typeof crypto.randomUUID === "function") {
|
|
@@ -19007,7 +19146,7 @@ function consume(key, sessionId) {
|
|
|
19007
19146
|
var composerChannels = {
|
|
19008
19147
|
getState: () => state2,
|
|
19009
19148
|
addTopicAssetReference(sessionId, ref) {
|
|
19010
|
-
setState((current) => ({ ...current, topicAssetReferences: { ...current.topicAssetReferences, [sessionId]:
|
|
19149
|
+
setState((current) => ({ ...current, topicAssetReferences: { ...current.topicAssetReferences, [sessionId]: normalizeTopicAssetRefs2([...current.topicAssetReferences[sessionId] ?? [], ref]) } }));
|
|
19011
19150
|
},
|
|
19012
19151
|
consumeTopicAssetReferences: (sessionId) => consume("topicAssetReferences", sessionId),
|
|
19013
19152
|
subscribe(listener) {
|
|
@@ -19138,14 +19277,6 @@ function workflowParamsTail(item) {
|
|
|
19138
19277
|
function workflowRunText(item) {
|
|
19139
19278
|
return `\u8FD0\u884C\u5DE5\u4F5C\u6D41 ${item.name}${workflowParamsTail(item)}`.trimEnd();
|
|
19140
19279
|
}
|
|
19141
|
-
var COMMANDS = [
|
|
19142
|
-
{
|
|
19143
|
-
type: "command",
|
|
19144
|
-
id: "resync",
|
|
19145
|
-
label: "\u540C\u6B65\u6280\u80FD",
|
|
19146
|
-
description: "\u4ECE\u914D\u7F6E\u7684\u6280\u80FD\u76EE\u5F55\u62C9\u53D6\u6700\u65B0\u5185\u5BB9"
|
|
19147
|
-
}
|
|
19148
|
-
];
|
|
19149
19280
|
var skillMentionSuggestionKey = new PluginKey("skillMentionSuggestion");
|
|
19150
19281
|
function getSkillMentionName(attrs) {
|
|
19151
19282
|
return attrs.displayName || attrs.skillId || "";
|
|
@@ -25265,7 +25396,7 @@ var index_default2 = StarterKit;
|
|
|
25265
25396
|
// src/rich-input/ChatInput.tsx
|
|
25266
25397
|
import {
|
|
25267
25398
|
useEffect as useEffect9,
|
|
25268
|
-
useRef as
|
|
25399
|
+
useRef as useRef9,
|
|
25269
25400
|
useState as useState11
|
|
25270
25401
|
} from "react";
|
|
25271
25402
|
import { createRoot } from "react-dom/client";
|
|
@@ -25972,8 +26103,6 @@ function HoverPanel({
|
|
|
25972
26103
|
}
|
|
25973
26104
|
function SkillStatusBar({
|
|
25974
26105
|
sessionId,
|
|
25975
|
-
onResync,
|
|
25976
|
-
isResyncing = false,
|
|
25977
26106
|
vertical = false,
|
|
25978
26107
|
className,
|
|
25979
26108
|
innerClassName,
|
|
@@ -26080,17 +26209,6 @@ function SkillStatusBar({
|
|
|
26080
26209
|
/* @__PURE__ */ jsx14("span", { className: `inline-block h-1.5 w-1.5 rounded-full ${item.dotClass}` }),
|
|
26081
26210
|
item.key === "loaded" ? /* @__PURE__ */ jsxs5("div", { className: "group/skill relative flex items-center gap-1.5", children: [
|
|
26082
26211
|
/* @__PURE__ */ jsx14("span", { className: "font-mono", children: item.text }),
|
|
26083
|
-
onResync ? /* @__PURE__ */ jsx14(
|
|
26084
|
-
"button",
|
|
26085
|
-
{
|
|
26086
|
-
type: "button",
|
|
26087
|
-
onClick: onResync,
|
|
26088
|
-
disabled: isResyncing,
|
|
26089
|
-
"aria-label": "\u540C\u6B65\u6280\u80FD",
|
|
26090
|
-
className: "inline-flex h-5 w-5 items-center justify-center rounded-full border border-[hsl(var(--border))] bg-[hsl(var(--background))] text-[hsl(var(--muted-foreground))] transition-colors hover:border-[hsl(var(--ring))] hover:text-[hsl(var(--foreground))] disabled:cursor-not-allowed disabled:opacity-50",
|
|
26091
|
-
children: /* @__PURE__ */ jsx14(RefreshCw, { size: 12, className: isResyncing ? "animate-spin" : "" })
|
|
26092
|
-
}
|
|
26093
|
-
) : null,
|
|
26094
26212
|
loadedReady && sessionSkills.length > 0 ? /* @__PURE__ */ jsx14(HoverPanel, { title: "\u5DF2\u52A0\u8F7D\u6280\u80FD", children: sessionSkills.length > 0 ? /* @__PURE__ */ jsx14("div", { className: "max-h-40 overflow-y-auto", children: sessionSkills.map((skill) => /* @__PURE__ */ jsxs5("div", { className: "flex items-start gap-2 py-1 leading-relaxed", children: [
|
|
26095
26213
|
/* @__PURE__ */ jsx14("span", { className: "mt-1.5 inline-block h-2 w-2 shrink-0 rounded-full border border-[hsl(var(--swf-success))] bg-transparent" }),
|
|
26096
26214
|
/* @__PURE__ */ jsx14("span", { className: "break-words", children: skillDisplayName(skill) })
|
|
@@ -26356,39 +26474,6 @@ function ConnectButton({
|
|
|
26356
26474
|
] });
|
|
26357
26475
|
}
|
|
26358
26476
|
|
|
26359
|
-
// src/rich-input/lib/kb-suggestions.ts
|
|
26360
|
-
function toKbSuggestionItems(knowledgeBases) {
|
|
26361
|
-
return knowledgeBases.map((kb) => ({
|
|
26362
|
-
kind: "kb",
|
|
26363
|
-
kbId: kb.id,
|
|
26364
|
-
name: kb.name,
|
|
26365
|
-
description: kb.description ?? ""
|
|
26366
|
-
}));
|
|
26367
|
-
}
|
|
26368
|
-
var KB_SUGGESTION_TIMEOUT_MS = 300;
|
|
26369
|
-
function withKbSuggestionTimeout(promise, timeoutMs = KB_SUGGESTION_TIMEOUT_MS) {
|
|
26370
|
-
return Promise.race([
|
|
26371
|
-
promise,
|
|
26372
|
-
new Promise((resolve) => {
|
|
26373
|
-
setTimeout(() => resolve([]), timeoutMs);
|
|
26374
|
-
})
|
|
26375
|
-
]);
|
|
26376
|
-
}
|
|
26377
|
-
function notifyWhenKbSuggestionsArriveLate(kbPromise, raced, onLate) {
|
|
26378
|
-
if (raced.length > 0) return;
|
|
26379
|
-
void kbPromise.then((lateItems) => {
|
|
26380
|
-
if (lateItems.length > 0) onLate(lateItems);
|
|
26381
|
-
});
|
|
26382
|
-
}
|
|
26383
|
-
function filterKbSuggestions(items, query) {
|
|
26384
|
-
if (query.includes("/") || query.includes("\\")) return [];
|
|
26385
|
-
const normalized = query.trim().toLowerCase();
|
|
26386
|
-
if (!normalized) return [...items];
|
|
26387
|
-
return items.filter(
|
|
26388
|
-
(item) => item.name.toLowerCase().includes(normalized) || item.description.toLowerCase().includes(normalized)
|
|
26389
|
-
);
|
|
26390
|
-
}
|
|
26391
|
-
|
|
26392
26477
|
// src/rich-input/voice/use-voice-input.ts
|
|
26393
26478
|
import { useCallback as useCallback3, useEffect as useEffect7, useRef as useRef7, useState as useState7 } from "react";
|
|
26394
26479
|
|
|
@@ -26719,200 +26804,183 @@ function useVoiceInput(options) {
|
|
|
26719
26804
|
return { status, error, level, start, stop };
|
|
26720
26805
|
}
|
|
26721
26806
|
|
|
26722
|
-
// src/rich-input/
|
|
26723
|
-
import {
|
|
26724
|
-
|
|
26725
|
-
|
|
26726
|
-
|
|
26727
|
-
|
|
26728
|
-
|
|
26729
|
-
|
|
26730
|
-
|
|
26731
|
-
|
|
26732
|
-
|
|
26733
|
-
|
|
26734
|
-
|
|
26735
|
-
|
|
26736
|
-
|
|
26737
|
-
|
|
26738
|
-
|
|
26739
|
-
|
|
26740
|
-
|
|
26741
|
-
|
|
26742
|
-
|
|
26743
|
-
|
|
26744
|
-
|
|
26745
|
-
|
|
26746
|
-
|
|
26747
|
-
|
|
26748
|
-
|
|
26749
|
-
|
|
26750
|
-
|
|
26751
|
-
|
|
26752
|
-
|
|
26753
|
-
|
|
26754
|
-
|
|
26755
|
-
|
|
26756
|
-
|
|
26757
|
-
|
|
26758
|
-
|
|
26759
|
-
|
|
26760
|
-
|
|
26761
|
-
|
|
26762
|
-
|
|
26763
|
-
|
|
26764
|
-
|
|
26765
|
-
|
|
26766
|
-
|
|
26767
|
-
|
|
26768
|
-
|
|
26769
|
-
|
|
26770
|
-
|
|
26771
|
-
|
|
26772
|
-
|
|
26773
|
-
|
|
26774
|
-
|
|
26775
|
-
|
|
26776
|
-
|
|
26777
|
-
|
|
26778
|
-
|
|
26779
|
-
}
|
|
26780
|
-
|
|
26781
|
-
|
|
26782
|
-
|
|
26783
|
-
|
|
26784
|
-
|
|
26785
|
-
|
|
26786
|
-
|
|
26807
|
+
// src/rich-input/use-reference-candidates.ts
|
|
26808
|
+
import { useLayoutEffect as useLayoutEffect2, useRef as useRef8 } from "react";
|
|
26809
|
+
|
|
26810
|
+
// src/rich-input/lib/reference-candidates.ts
|
|
26811
|
+
function createReferenceCandidateController(getScope, sources, timeoutMs = 300) {
|
|
26812
|
+
const requests = /* @__PURE__ */ new WeakMap();
|
|
26813
|
+
let current;
|
|
26814
|
+
const isCurrent = (request) => {
|
|
26815
|
+
const scope = getScope();
|
|
26816
|
+
return current === request && request.scope.length === scope.length && request.scope.every((part, index) => Object.is(part, scope[index]));
|
|
26817
|
+
};
|
|
26818
|
+
const cancel = () => {
|
|
26819
|
+
const previous = current;
|
|
26820
|
+
current = void 0;
|
|
26821
|
+
previous?.finish();
|
|
26822
|
+
previous?.listener?.({
|
|
26823
|
+
groups: { plugins: [], topics: [], files: [] },
|
|
26824
|
+
items: [],
|
|
26825
|
+
loading: { plugins: false, topics: false, files: false },
|
|
26826
|
+
errors: {}
|
|
26827
|
+
});
|
|
26828
|
+
if (previous) previous.listener = void 0;
|
|
26829
|
+
};
|
|
26830
|
+
return {
|
|
26831
|
+
cancel,
|
|
26832
|
+
query(query) {
|
|
26833
|
+
cancel();
|
|
26834
|
+
const snapshot = {
|
|
26835
|
+
groups: { plugins: [], topics: [], files: [] },
|
|
26836
|
+
items: [],
|
|
26837
|
+
loading: { plugins: Boolean(sources.plugins), topics: true, files: true },
|
|
26838
|
+
errors: {}
|
|
26839
|
+
};
|
|
26840
|
+
let resolve;
|
|
26841
|
+
let finished = false;
|
|
26842
|
+
const result = new Promise((done) => {
|
|
26843
|
+
resolve = done;
|
|
26844
|
+
});
|
|
26845
|
+
const request = {
|
|
26846
|
+
scope: [...getScope()],
|
|
26847
|
+
snapshot,
|
|
26848
|
+
finish: () => {
|
|
26849
|
+
if (finished) return;
|
|
26850
|
+
finished = true;
|
|
26851
|
+
clearTimeout(timer);
|
|
26852
|
+
const items = isCurrent(request) ? snapshot.items : [];
|
|
26853
|
+
requests.set(items, request);
|
|
26854
|
+
resolve(items);
|
|
26855
|
+
}
|
|
26856
|
+
};
|
|
26857
|
+
current = request;
|
|
26858
|
+
const timer = setTimeout(request.finish, timeoutMs);
|
|
26859
|
+
const publish = () => {
|
|
26860
|
+
if (!isCurrent(request)) return;
|
|
26861
|
+
snapshot.items = [...snapshot.groups.plugins, ...snapshot.groups.topics, ...snapshot.groups.files];
|
|
26862
|
+
request.listener?.(snapshot);
|
|
26863
|
+
if (!Object.values(snapshot.loading).some(Boolean)) request.finish();
|
|
26864
|
+
};
|
|
26865
|
+
for (const key of ["plugins", "topics", "files"]) {
|
|
26866
|
+
void Promise.resolve().then(async () => {
|
|
26867
|
+
if (key === "plugins") await new Promise((done) => setTimeout(done, 150));
|
|
26868
|
+
return isCurrent(request) ? sources[key]?.(query) ?? [] : [];
|
|
26869
|
+
}).then((items) => {
|
|
26870
|
+
if (!isCurrent(request)) return;
|
|
26871
|
+
Object.assign(snapshot.groups, { [key]: items });
|
|
26872
|
+
snapshot.loading[key] = false;
|
|
26873
|
+
publish();
|
|
26874
|
+
}, (error) => {
|
|
26875
|
+
if (!isCurrent(request)) return;
|
|
26876
|
+
snapshot.errors[key] = error;
|
|
26877
|
+
snapshot.loading[key] = false;
|
|
26878
|
+
publish();
|
|
26879
|
+
});
|
|
26880
|
+
}
|
|
26787
26881
|
return result;
|
|
26788
|
-
}
|
|
26789
|
-
|
|
26790
|
-
|
|
26791
|
-
|
|
26792
|
-
|
|
26793
|
-
|
|
26794
|
-
|
|
26795
|
-
|
|
26796
|
-
|
|
26797
|
-
|
|
26798
|
-
|
|
26799
|
-
|
|
26800
|
-
return typeof kbId === "number" && kbId > 0 ? `\u77E5\u8BC6\u5E93 #${kbId}` : "";
|
|
26801
|
-
}
|
|
26802
|
-
function collectKbMentions(node) {
|
|
26803
|
-
const result = [];
|
|
26804
|
-
const seen = /* @__PURE__ */ new Set();
|
|
26805
|
-
const visit = (current) => {
|
|
26806
|
-
if (!current) return;
|
|
26807
|
-
if (current.type === "kbMention") {
|
|
26808
|
-
const kbId = current.attrs?.kbId;
|
|
26809
|
-
if (typeof kbId === "number" && Number.isInteger(kbId) && kbId > 0 && !seen.has(kbId)) {
|
|
26810
|
-
seen.add(kbId);
|
|
26811
|
-
result.push({ kbId, name: kbMentionName(current) });
|
|
26882
|
+
},
|
|
26883
|
+
/** Bind by result identity, never by label/query: closing and reopening @ is a new request. */
|
|
26884
|
+
observe(items, listener) {
|
|
26885
|
+
const request = requests.get(items);
|
|
26886
|
+
if (!request || !isCurrent(request)) {
|
|
26887
|
+
listener({
|
|
26888
|
+
groups: { plugins: [], topics: [], files: [] },
|
|
26889
|
+
items: [],
|
|
26890
|
+
loading: { plugins: false, topics: false, files: false },
|
|
26891
|
+
errors: {}
|
|
26892
|
+
});
|
|
26893
|
+
return;
|
|
26812
26894
|
}
|
|
26813
|
-
|
|
26895
|
+
request.listener = listener;
|
|
26896
|
+
listener(request.snapshot);
|
|
26814
26897
|
}
|
|
26815
|
-
for (const child of current.content ?? []) visit(child);
|
|
26816
26898
|
};
|
|
26817
|
-
visit(node);
|
|
26818
|
-
return result;
|
|
26819
26899
|
}
|
|
26820
|
-
|
|
26821
|
-
|
|
26822
|
-
|
|
26823
|
-
|
|
26824
|
-
|
|
26825
|
-
|
|
26826
|
-
|
|
26827
|
-
|
|
26828
|
-
}
|
|
26829
|
-
|
|
26830
|
-
|
|
26831
|
-
|
|
26832
|
-
|
|
26833
|
-
|
|
26834
|
-
for (const mention of kbMentions) {
|
|
26835
|
-
if (!mention.name) continue;
|
|
26836
|
-
const marker = `@${mention.name}`;
|
|
26837
|
-
const index = line.indexOf(marker);
|
|
26838
|
-
if (index === -1) continue;
|
|
26839
|
-
if (matches2.some((m) => index < m.end && index + marker.length > m.start)) continue;
|
|
26840
|
-
matches2.push({ start: index, end: index + marker.length, kbId: mention.kbId, name: mention.name });
|
|
26841
|
-
}
|
|
26842
|
-
if (matches2.length === 0) {
|
|
26843
|
-
return [{ type: "text", text: line }];
|
|
26844
|
-
}
|
|
26845
|
-
matches2.sort((a, b) => a.start - b.start);
|
|
26846
|
-
const content = [];
|
|
26847
|
-
let cursor = 0;
|
|
26848
|
-
for (const match of matches2) {
|
|
26849
|
-
if (match.start > cursor) {
|
|
26850
|
-
content.push({ type: "text", text: line.slice(cursor, match.start) });
|
|
26851
|
-
}
|
|
26852
|
-
content.push({ type: "kbMention", attrs: { kbId: match.kbId, name: match.name } });
|
|
26853
|
-
cursor = match.end;
|
|
26854
|
-
}
|
|
26855
|
-
if (cursor < line.length) {
|
|
26856
|
-
content.push({ type: "text", text: line.slice(cursor) });
|
|
26857
|
-
}
|
|
26858
|
-
return content;
|
|
26859
|
-
}
|
|
26860
|
-
function collectTopicAssetMentions(node) {
|
|
26861
|
-
const refs = [];
|
|
26862
|
-
const visit = (current) => {
|
|
26863
|
-
if (!current) return;
|
|
26864
|
-
if (current.type === "topicAssetMention") refs.push(current.attrs);
|
|
26865
|
-
for (const child of current.content ?? []) visit(child);
|
|
26866
|
-
};
|
|
26867
|
-
visit(node);
|
|
26868
|
-
return normalizeTopicAssetRefs2(refs);
|
|
26900
|
+
|
|
26901
|
+
// src/rich-input/use-reference-candidates.ts
|
|
26902
|
+
function useReferenceCandidates(getScope, sources) {
|
|
26903
|
+
const readScope = useEffectEvent(getScope);
|
|
26904
|
+
const plugins = useEffectEvent((query) => sources.plugins?.(query) ?? Promise.resolve([]));
|
|
26905
|
+
const topics = useEffectEvent(sources.topics);
|
|
26906
|
+
const files = useEffectEvent(sources.files);
|
|
26907
|
+
const ref = useRef8(null);
|
|
26908
|
+
if (!ref.current) ref.current = createReferenceCandidateController(readScope, { plugins, topics, files });
|
|
26909
|
+
const controller = ref.current;
|
|
26910
|
+
const [client, identity, session, topic] = getScope();
|
|
26911
|
+
useLayoutEffect2(() => onInputCachesReset(client, controller.cancel), [client, controller]);
|
|
26912
|
+
useLayoutEffect2(() => () => controller.cancel(), [controller, client, identity, session, topic]);
|
|
26913
|
+
return controller;
|
|
26869
26914
|
}
|
|
26870
|
-
|
|
26871
|
-
|
|
26872
|
-
|
|
26873
|
-
|
|
26874
|
-
|
|
26875
|
-
|
|
26876
|
-
|
|
26877
|
-
|
|
26878
|
-
|
|
26879
|
-
|
|
26880
|
-
|
|
26881
|
-
|
|
26882
|
-
|
|
26883
|
-
{ type: "topicAssetMention", attrs: { topic_id: ref.topic_id, path: ref.path } },
|
|
26884
|
-
...index + marker.length < part.text.length ? [{ type: "text", text: part.text.slice(index + marker.length) }] : []
|
|
26885
|
-
];
|
|
26886
|
-
});
|
|
26887
|
-
}
|
|
26888
|
-
return nodes;
|
|
26915
|
+
|
|
26916
|
+
// src/rich-input/use-input-history.ts
|
|
26917
|
+
import { useCallback as useCallback4, useEffect as useEffect8, useMemo as useMemo7, useState as useState8 } from "react";
|
|
26918
|
+
|
|
26919
|
+
// src/rich-input/lib/input-history-document.ts
|
|
26920
|
+
import { normalizeTopicAssetRefs as normalizeTopicAssetRefs3 } from "@blade-hq/agent-client";
|
|
26921
|
+
function copyEditorDocument(value) {
|
|
26922
|
+
const attributes = {
|
|
26923
|
+
pluginMention: { provider: "string", plugin: "string", server: "string", id: "string", label: "string" },
|
|
26924
|
+
fileMention: { path: "string", name: "string" },
|
|
26925
|
+
topicAssetMention: { topic_id: "string", path: "string" },
|
|
26926
|
+
skillMention: { skillId: "string", displayName: "string", description: "string", local: "boolean", installed: "boolean" },
|
|
26927
|
+
workflowMention: { name: "string" }
|
|
26889
26928
|
};
|
|
26890
|
-
|
|
26891
|
-
|
|
26892
|
-
|
|
26893
|
-
|
|
26894
|
-
...
|
|
26895
|
-
|
|
26896
|
-
|
|
26897
|
-
|
|
26929
|
+
const copy2 = (input, parent) => {
|
|
26930
|
+
if (!input || typeof input !== "object" || Array.isArray(input)) return null;
|
|
26931
|
+
const node = input;
|
|
26932
|
+
const type = node.type;
|
|
26933
|
+
if (!type || (parent === null ? type !== "doc" : parent === "doc" ? type !== "paragraph" : !["text", "hardBreak", ...Object.keys(attributes)].includes(type))) return null;
|
|
26934
|
+
if (type === "doc" || type === "paragraph") {
|
|
26935
|
+
if (!Array.isArray(node.content) && node.content !== void 0) return null;
|
|
26936
|
+
const content = [];
|
|
26937
|
+
for (const child of node.content ?? []) {
|
|
26938
|
+
const copied = copy2(child, type);
|
|
26939
|
+
if (!copied) return null;
|
|
26940
|
+
content.push(copied);
|
|
26941
|
+
}
|
|
26942
|
+
return { type, content };
|
|
26943
|
+
}
|
|
26944
|
+
if (node.content !== void 0) return null;
|
|
26945
|
+
if (type === "text") {
|
|
26946
|
+
if (typeof node.text !== "string" || !node.text) return null;
|
|
26947
|
+
const marks = node.marks?.filter((mark) => ["bold", "italic", "strike", "code", "underline"].includes(mark.type)).map((mark) => ({ type: mark.type }));
|
|
26948
|
+
return { type, text: node.text, ...marks?.length ? { marks } : {} };
|
|
26949
|
+
}
|
|
26950
|
+
if (type === "hardBreak") return { type };
|
|
26951
|
+
const attrs = {};
|
|
26952
|
+
if (!node.attrs || typeof node.attrs !== "object" || Array.isArray(node.attrs)) return null;
|
|
26953
|
+
for (const [key, expected] of Object.entries(attributes[type])) {
|
|
26954
|
+
const attr = node.attrs[key];
|
|
26955
|
+
if (attr === void 0) continue;
|
|
26956
|
+
if (expected === "string" && typeof attr !== "string" || expected === "number" && typeof attr !== "number" || expected === "boolean" && typeof attr !== "boolean") return null;
|
|
26957
|
+
attrs[key] = attr;
|
|
26958
|
+
}
|
|
26959
|
+
if (type === "topicAssetMention" && normalizeTopicAssetRefs3([attrs]).length !== 1) return null;
|
|
26960
|
+
return { type, attrs };
|
|
26898
26961
|
};
|
|
26962
|
+
try {
|
|
26963
|
+
return copy2(value, null);
|
|
26964
|
+
} catch {
|
|
26965
|
+
return null;
|
|
26966
|
+
}
|
|
26899
26967
|
}
|
|
26900
26968
|
|
|
26901
26969
|
// src/rich-input/use-input-history.ts
|
|
26902
|
-
import { normalizeTopicAssetRefs as normalizeTopicAssetRefs3 } from "@blade-hq/agent-client";
|
|
26903
|
-
import { useCallback as useCallback4, useEffect as useEffect8, useMemo as useMemo7, useState as useState8 } from "react";
|
|
26904
26970
|
var MAX_HISTORY_ENTRIES = 50;
|
|
26971
|
+
var HISTORY_VERSION = 2;
|
|
26905
26972
|
function getStorageKey(sessionId) {
|
|
26906
26973
|
return sessionId ? `input-history:${sessionId}` : null;
|
|
26907
26974
|
}
|
|
26908
|
-
function
|
|
26909
|
-
|
|
26975
|
+
function copyEntry(value) {
|
|
26976
|
+
if (!value || typeof value !== "object") return null;
|
|
26977
|
+
const entry = value;
|
|
26978
|
+
if (entry.version !== HISTORY_VERSION) return null;
|
|
26979
|
+
const document2 = copyEditorDocument(entry.document);
|
|
26980
|
+
return document2 ? { version: HISTORY_VERSION, document: document2 } : null;
|
|
26910
26981
|
}
|
|
26911
|
-
function
|
|
26912
|
-
|
|
26913
|
-
const candidate = value;
|
|
26914
|
-
if (typeof candidate.text !== "string") return false;
|
|
26915
|
-
return candidate.kbMentions === void 0 || Array.isArray(candidate.kbMentions) && candidate.kbMentions.every(isKbMentionRef);
|
|
26982
|
+
function emptyEntry() {
|
|
26983
|
+
return { version: HISTORY_VERSION, document: { type: "doc", content: [{ type: "paragraph", content: [] }] } };
|
|
26916
26984
|
}
|
|
26917
26985
|
function readEntries(storageKey) {
|
|
26918
26986
|
if (typeof window === "undefined" || !storageKey) {
|
|
@@ -26927,24 +26995,38 @@ function readEntries(storageKey) {
|
|
|
26927
26995
|
if (!Array.isArray(parsed)) {
|
|
26928
26996
|
return [];
|
|
26929
26997
|
}
|
|
26930
|
-
return parsed.
|
|
26998
|
+
return parsed.flatMap((value) => {
|
|
26999
|
+
const entry = copyEntry(value);
|
|
27000
|
+
return entry ? [entry] : [];
|
|
27001
|
+
}).slice(0, MAX_HISTORY_ENTRIES);
|
|
26931
27002
|
} catch {
|
|
26932
27003
|
return [];
|
|
26933
27004
|
}
|
|
26934
27005
|
}
|
|
26935
|
-
function useInputHistory(sessionId) {
|
|
27006
|
+
function useInputHistory(sessionId, client) {
|
|
27007
|
+
const [generation, setGeneration] = useState8(getInputHistoryGeneration);
|
|
26936
27008
|
const storageKey = useMemo7(() => getStorageKey(sessionId), [sessionId]);
|
|
26937
27009
|
const [entries, setEntries] = useState8([]);
|
|
26938
27010
|
const [cursor, setCursor] = useState8(null);
|
|
26939
|
-
const [draft, setDraft] = useState8(
|
|
27011
|
+
const [draft, setDraft] = useState8(emptyEntry);
|
|
26940
27012
|
useEffect8(() => {
|
|
27013
|
+
setGeneration(getInputHistoryGeneration());
|
|
26941
27014
|
setEntries(readEntries(storageKey));
|
|
26942
27015
|
setCursor(null);
|
|
26943
|
-
setDraft(
|
|
26944
|
-
}, [storageKey]);
|
|
27016
|
+
setDraft(emptyEntry());
|
|
27017
|
+
}, [storageKey, client]);
|
|
27018
|
+
useEffect8(() => {
|
|
27019
|
+
if (!client) return;
|
|
27020
|
+
return onInputCachesReset(client, () => {
|
|
27021
|
+
setGeneration(getInputHistoryGeneration());
|
|
27022
|
+
setEntries([]);
|
|
27023
|
+
setCursor(null);
|
|
27024
|
+
setDraft(emptyEntry());
|
|
27025
|
+
});
|
|
27026
|
+
}, [client]);
|
|
26945
27027
|
const persistEntries = useCallback4(
|
|
26946
27028
|
(nextEntries) => {
|
|
26947
|
-
if (typeof window === "undefined" || !storageKey) {
|
|
27029
|
+
if (generation !== getInputHistoryGeneration() || typeof window === "undefined" || !storageKey) {
|
|
26948
27030
|
return;
|
|
26949
27031
|
}
|
|
26950
27032
|
try {
|
|
@@ -26952,50 +27034,51 @@ function useInputHistory(sessionId) {
|
|
|
26952
27034
|
} catch {
|
|
26953
27035
|
}
|
|
26954
27036
|
},
|
|
26955
|
-
[storageKey]
|
|
27037
|
+
[storageKey, generation]
|
|
26956
27038
|
);
|
|
26957
27039
|
const addEntry = useCallback4(
|
|
26958
|
-
(value
|
|
26959
|
-
if (
|
|
26960
|
-
|
|
26961
|
-
|
|
27040
|
+
(value) => {
|
|
27041
|
+
if (generation !== getInputHistoryGeneration()) return;
|
|
27042
|
+
const document2 = copyEditorDocument(value);
|
|
27043
|
+
if (!document2 || !serializeEditorContent(document2).trim()) return;
|
|
26962
27044
|
setEntries((prev) => {
|
|
26963
|
-
|
|
27045
|
+
if (generation !== getInputHistoryGeneration()) return prev;
|
|
27046
|
+
const nextEntries = [{ version: HISTORY_VERSION, document: document2 }, ...prev].slice(0, MAX_HISTORY_ENTRIES);
|
|
26964
27047
|
persistEntries(nextEntries);
|
|
26965
27048
|
return nextEntries;
|
|
26966
27049
|
});
|
|
26967
27050
|
setCursor(null);
|
|
26968
|
-
setDraft(
|
|
27051
|
+
setDraft(emptyEntry());
|
|
26969
27052
|
},
|
|
26970
|
-
[persistEntries]
|
|
27053
|
+
[persistEntries, generation]
|
|
26971
27054
|
);
|
|
26972
27055
|
const navigateUp = useCallback4(
|
|
26973
|
-
(currentDraft =
|
|
26974
|
-
if (entries.length === 0) {
|
|
27056
|
+
(currentDraft = emptyEntry().document) => {
|
|
27057
|
+
if (generation !== getInputHistoryGeneration() || entries.length === 0) {
|
|
26975
27058
|
return null;
|
|
26976
27059
|
}
|
|
26977
27060
|
if (cursor == null) {
|
|
26978
|
-
setDraft(currentDraft);
|
|
27061
|
+
setDraft(copyEntry({ version: HISTORY_VERSION, document: currentDraft }) ?? emptyEntry());
|
|
26979
27062
|
}
|
|
26980
27063
|
const nextCursor = cursor == null ? 0 : Math.min(cursor + 1, entries.length - 1);
|
|
26981
27064
|
setCursor(nextCursor);
|
|
26982
|
-
return entries[nextCursor]
|
|
27065
|
+
return copyEntry(entries[nextCursor]);
|
|
26983
27066
|
},
|
|
26984
|
-
[cursor, entries]
|
|
27067
|
+
[cursor, entries, generation]
|
|
26985
27068
|
);
|
|
26986
27069
|
const navigateDown = useCallback4(() => {
|
|
26987
|
-
if (cursor == null) {
|
|
27070
|
+
if (generation !== getInputHistoryGeneration() || cursor == null) {
|
|
26988
27071
|
return null;
|
|
26989
27072
|
}
|
|
26990
27073
|
if (cursor <= 0) {
|
|
26991
27074
|
setCursor(null);
|
|
26992
|
-
return
|
|
27075
|
+
return copyEntry(draft);
|
|
26993
27076
|
}
|
|
26994
27077
|
const nextCursor = cursor - 1;
|
|
26995
27078
|
setCursor(nextCursor);
|
|
26996
|
-
return entries[nextCursor] ??
|
|
26997
|
-
}, [cursor, draft, entries]);
|
|
26998
|
-
const currentEntry = cursor == null ?
|
|
27079
|
+
return copyEntry(entries[nextCursor]) ?? copyEntry(draft);
|
|
27080
|
+
}, [cursor, draft, entries, generation]);
|
|
27081
|
+
const currentEntry = cursor == null ? copyEntry(draft) : copyEntry(entries[cursor]) ?? copyEntry(draft);
|
|
26999
27082
|
return {
|
|
27000
27083
|
addEntry,
|
|
27001
27084
|
navigateUp,
|
|
@@ -27120,59 +27203,6 @@ function listUserHomeDir(client, dirPath) {
|
|
|
27120
27203
|
return entries;
|
|
27121
27204
|
}
|
|
27122
27205
|
|
|
27123
|
-
// src/rich-input/extensions/kb-mention.ts
|
|
27124
|
-
function isKbSuggestionItem(value) {
|
|
27125
|
-
return typeof value === "object" && value !== null && value.kind === "kb" && typeof value.kbId === "number";
|
|
27126
|
-
}
|
|
27127
|
-
function getKbMentionName(attrs) {
|
|
27128
|
-
return attrs.name || (attrs.kbId != null ? `\u77E5\u8BC6\u5E93 #${attrs.kbId}` : "");
|
|
27129
|
-
}
|
|
27130
|
-
var KbMention = index_default.extend({
|
|
27131
|
-
name: "kbMention",
|
|
27132
|
-
addOptions() {
|
|
27133
|
-
const parentOptions = this.parent?.();
|
|
27134
|
-
return {
|
|
27135
|
-
...parentOptions,
|
|
27136
|
-
HTMLAttributes: {
|
|
27137
|
-
...parentOptions?.HTMLAttributes ?? {},
|
|
27138
|
-
class: "kb-mention-pill"
|
|
27139
|
-
},
|
|
27140
|
-
deleteTriggerWithBackspace: true,
|
|
27141
|
-
// 只为满足 Mention 的选项类型;下面 addProseMirrorPlugins 返回空,不会真的装上。
|
|
27142
|
-
suggestion: { ...parentOptions?.suggestion ?? {}, char: "@" },
|
|
27143
|
-
suggestions: parentOptions?.suggestions ?? [],
|
|
27144
|
-
renderText: ({ node }) => `@${getKbMentionName(node.attrs)}`,
|
|
27145
|
-
renderHTML: ({ options, node }) => [
|
|
27146
|
-
"span",
|
|
27147
|
-
{
|
|
27148
|
-
...options.HTMLAttributes ?? {},
|
|
27149
|
-
class: "kb-mention-pill",
|
|
27150
|
-
"data-kb-id": String(node.attrs.kbId ?? ""),
|
|
27151
|
-
"data-name": node.attrs.name
|
|
27152
|
-
},
|
|
27153
|
-
`@${getKbMentionName(node.attrs)}`
|
|
27154
|
-
]
|
|
27155
|
-
};
|
|
27156
|
-
},
|
|
27157
|
-
addAttributes() {
|
|
27158
|
-
return {
|
|
27159
|
-
kbId: {
|
|
27160
|
-
default: 0,
|
|
27161
|
-
parseHTML: (element) => Number(element.getAttribute("data-kb-id") || 0),
|
|
27162
|
-
renderHTML: (attributes) => ({ "data-kb-id": String(attributes.kbId) })
|
|
27163
|
-
},
|
|
27164
|
-
name: {
|
|
27165
|
-
default: "",
|
|
27166
|
-
parseHTML: (element) => element.getAttribute("data-name") || "",
|
|
27167
|
-
renderHTML: (attributes) => ({ "data-name": attributes.name })
|
|
27168
|
-
}
|
|
27169
|
-
};
|
|
27170
|
-
},
|
|
27171
|
-
addProseMirrorPlugins() {
|
|
27172
|
-
return [];
|
|
27173
|
-
}
|
|
27174
|
-
});
|
|
27175
|
-
|
|
27176
27206
|
// src/rich-input/FileCompletionMenu.tsx
|
|
27177
27207
|
import { Fragment as Fragment4, jsx as jsx16, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
27178
27208
|
var ROOT_DIR = ".";
|
|
@@ -27305,19 +27335,21 @@ var FileCompletionMenu = forwardRef2(
|
|
|
27305
27335
|
() => scope === "userHome" ? { dirPath: query, filterQuery: "" } : parseSuggestionQuery(query),
|
|
27306
27336
|
[query, scope]
|
|
27307
27337
|
);
|
|
27308
|
-
const {
|
|
27309
|
-
|
|
27338
|
+
const { pluginItems, pluginError, fileItems, topicItems, topicError } = useMemo8(() => {
|
|
27339
|
+
let pluginError2;
|
|
27340
|
+
const pluginItems2 = [];
|
|
27310
27341
|
const files = [];
|
|
27311
27342
|
const topicItems2 = [];
|
|
27312
27343
|
let topicError2;
|
|
27313
27344
|
for (const item of items) {
|
|
27314
|
-
if (
|
|
27345
|
+
if (isPluginSuggestionError(item)) pluginError2 = item.message;
|
|
27346
|
+
else if (isPluginSuggestionItem(item)) pluginItems2.push(item);
|
|
27347
|
+
else if (isTopicAssetSuggestionItem(item)) topicItems2.push(item);
|
|
27315
27348
|
else if (isTopicAssetSuggestionError(item)) topicError2 = item.message;
|
|
27316
|
-
else if (isKbSuggestionItem(item)) kbs.push(item);
|
|
27317
27349
|
else files.push(item);
|
|
27318
27350
|
}
|
|
27319
|
-
return {
|
|
27320
|
-
}, [items
|
|
27351
|
+
return { pluginItems: pluginItems2, pluginError: pluginError2, fileItems: files, topicItems: topicItems2, topicError: topicError2 };
|
|
27352
|
+
}, [items]);
|
|
27321
27353
|
return /* @__PURE__ */ jsx16(
|
|
27322
27354
|
FileCompletionMenuContent,
|
|
27323
27355
|
{
|
|
@@ -27326,7 +27358,8 @@ var FileCompletionMenu = forwardRef2(
|
|
|
27326
27358
|
editor,
|
|
27327
27359
|
filterQuery,
|
|
27328
27360
|
items: fileItems,
|
|
27329
|
-
|
|
27361
|
+
pluginError,
|
|
27362
|
+
pluginItems,
|
|
27330
27363
|
topicItems,
|
|
27331
27364
|
topicError,
|
|
27332
27365
|
onExit,
|
|
@@ -27334,21 +27367,21 @@ var FileCompletionMenu = forwardRef2(
|
|
|
27334
27367
|
scope,
|
|
27335
27368
|
sessionId
|
|
27336
27369
|
},
|
|
27337
|
-
`${scope}:${sessionId ?? "none"}:${dirPath}:${filterQuery}
|
|
27370
|
+
`${scope}:${sessionId ?? "none"}:${dirPath}:${filterQuery}`
|
|
27338
27371
|
);
|
|
27339
27372
|
}
|
|
27340
27373
|
);
|
|
27341
|
-
var FileCompletionMenuContent = forwardRef2(function FileCompletionMenuContent2({ command: command2, editor, filterQuery, items,
|
|
27374
|
+
var FileCompletionMenuContent = forwardRef2(function FileCompletionMenuContent2({ command: command2, editor, filterQuery, items, pluginItems, pluginError, topicItems, topicError, onExit, range, scope, sessionId }, ref) {
|
|
27342
27375
|
const [rawSelectedIndex, setRawSelectedIndex] = useState9(0);
|
|
27343
27376
|
const filteredEntries = useMemo8(() => filterEntries(items, filterQuery), [filterQuery, items]);
|
|
27344
27377
|
const navigableItems = useMemo8(
|
|
27345
|
-
() => [...
|
|
27346
|
-
[filteredEntries,
|
|
27378
|
+
() => [...pluginItems, ...topicItems, ...filteredEntries],
|
|
27379
|
+
[filteredEntries, pluginItems, topicItems]
|
|
27347
27380
|
);
|
|
27348
27381
|
const selectedIndex = navigableItems.length === 0 ? 0 : Math.min(rawSelectedIndex, navigableItems.length - 1);
|
|
27349
27382
|
const handleSelect = useCallback5(
|
|
27350
27383
|
(entry) => {
|
|
27351
|
-
if (
|
|
27384
|
+
if (isPluginSuggestionItem(entry) || isTopicAssetSuggestionItem(entry)) {
|
|
27352
27385
|
command2(entry);
|
|
27353
27386
|
return;
|
|
27354
27387
|
}
|
|
@@ -27410,35 +27443,33 @@ var FileCompletionMenuContent = forwardRef2(function FileCompletionMenuContent2(
|
|
|
27410
27443
|
element.scrollIntoView({ block: "nearest" });
|
|
27411
27444
|
}
|
|
27412
27445
|
};
|
|
27413
|
-
const showGroupLabels =
|
|
27446
|
+
const showGroupLabels = pluginItems.length > 0 || topicItems.length > 0 || Boolean(topicError);
|
|
27414
27447
|
const fileEmptyLabel = scope === "session" && !sessionId ? "\u6682\u65E0\u4F1A\u8BDD" : filteredEntries.length === 0 ? "\u6CA1\u6709\u6587\u4EF6" : null;
|
|
27415
27448
|
return /* @__PURE__ */ jsxs7("div", { className: "max-h-64 overflow-y-auto rounded-xl border border-[hsl(var(--border))] bg-[hsl(var(--popover))] py-1 shadow-[var(--swf-shadow-overlay)]", children: [
|
|
27416
|
-
|
|
27417
|
-
|
|
27418
|
-
|
|
27419
|
-
|
|
27420
|
-
|
|
27421
|
-
|
|
27422
|
-
|
|
27423
|
-
|
|
27424
|
-
|
|
27425
|
-
|
|
27426
|
-
},
|
|
27427
|
-
className: rowClassName(index),
|
|
27428
|
-
children: [
|
|
27429
|
-
/* @__PURE__ */ jsx16(BookOpen, { size: 14, className: "shrink-0 text-[hsl(var(--primary))]" }),
|
|
27430
|
-
/* @__PURE__ */ jsx16("span", { className: "truncate", children: item.name }),
|
|
27431
|
-
item.description ? /* @__PURE__ */ jsx16("span", { className: "ml-auto max-w-[50%] truncate text-xs text-[hsl(var(--muted-foreground))]", children: item.description }) : null
|
|
27432
|
-
]
|
|
27449
|
+
pluginError ? /* @__PURE__ */ jsx16("output", { className: "block px-3 py-2 text-xs text-muted-foreground", children: pluginError }) : null,
|
|
27450
|
+
pluginItems.map((item, index) => /* @__PURE__ */ jsxs7(
|
|
27451
|
+
"button",
|
|
27452
|
+
{
|
|
27453
|
+
ref: selectedRef(index),
|
|
27454
|
+
type: "button",
|
|
27455
|
+
className: rowClassName(index),
|
|
27456
|
+
onMouseDown: (event) => {
|
|
27457
|
+
event.preventDefault();
|
|
27458
|
+
handleSelect(item);
|
|
27433
27459
|
},
|
|
27434
|
-
|
|
27435
|
-
|
|
27436
|
-
|
|
27460
|
+
children: [
|
|
27461
|
+
item.icon ? /* @__PURE__ */ jsx16("img", { src: item.icon, alt: "", width: 16, height: 16, className: "shrink-0" }) : /* @__PURE__ */ jsx16(BookOpen, { size: 14 }),
|
|
27462
|
+
/* @__PURE__ */ jsx16("span", { className: "truncate", children: item.label }),
|
|
27463
|
+
/* @__PURE__ */ jsx16("span", { className: "ml-auto truncate text-xs text-muted-foreground", children: item.display_name })
|
|
27464
|
+
]
|
|
27465
|
+
},
|
|
27466
|
+
`${item.plugin}:${item.server}:${item.id}`
|
|
27467
|
+
)),
|
|
27437
27468
|
topicItems.length > 0 || topicError ? /* @__PURE__ */ jsxs7(Fragment4, { children: [
|
|
27438
27469
|
/* @__PURE__ */ jsx16("div", { className: "px-3 pt-1 pb-0.5 text-xs font-medium text-muted-foreground", children: "\u4E3B\u9898\u8D44\u4EA7" }),
|
|
27439
27470
|
topicError ? /* @__PURE__ */ jsx16("output", { className: "block px-3 py-2 text-xs text-muted-foreground", children: topicError }) : null,
|
|
27440
27471
|
topicItems.map((item, topicIndex) => {
|
|
27441
|
-
const index =
|
|
27472
|
+
const index = pluginItems.length + topicIndex;
|
|
27442
27473
|
return /* @__PURE__ */ jsxs7("button", { ref: selectedRef(index), type: "button", title: item.path, className: rowClassName(index), onMouseDown: (event) => {
|
|
27443
27474
|
event.preventDefault();
|
|
27444
27475
|
handleSelect(item);
|
|
@@ -27450,7 +27481,7 @@ var FileCompletionMenuContent = forwardRef2(function FileCompletionMenuContent2(
|
|
|
27450
27481
|
] }) : null,
|
|
27451
27482
|
showGroupLabels ? /* @__PURE__ */ jsx16("div", { className: "px-3 pt-1 pb-0.5 text-[10px] font-medium uppercase tracking-wider text-[hsl(var(--muted-foreground))]", children: "\u6587\u4EF6" }) : null,
|
|
27452
27483
|
fileEmptyLabel ? /* @__PURE__ */ jsx16("div", { className: "px-3 py-2 text-xs text-[hsl(var(--muted-foreground))]", children: fileEmptyLabel }) : filteredEntries.map((entry, fileIndex) => {
|
|
27453
|
-
const index =
|
|
27484
|
+
const index = pluginItems.length + topicItems.length + fileIndex;
|
|
27454
27485
|
return /* @__PURE__ */ jsxs7(
|
|
27455
27486
|
"button",
|
|
27456
27487
|
{
|
|
@@ -27867,7 +27898,7 @@ var DOUBLE_ESCAPE_MS = 450;
|
|
|
27867
27898
|
function getEditorText(editor) {
|
|
27868
27899
|
return editor?.getText({ blockSeparator: "\n" }) ?? "";
|
|
27869
27900
|
}
|
|
27870
|
-
function replaceEditorText(editor, text
|
|
27901
|
+
function replaceEditorText(editor, text) {
|
|
27871
27902
|
if (!editor) {
|
|
27872
27903
|
return;
|
|
27873
27904
|
}
|
|
@@ -27876,7 +27907,7 @@ function replaceEditorText(editor, text, kbMentions = [], topicAssetRefs = []) {
|
|
|
27876
27907
|
editor.commands.focus("end");
|
|
27877
27908
|
return;
|
|
27878
27909
|
}
|
|
27879
|
-
editor.commands.setContent(
|
|
27910
|
+
editor.commands.setContent(buildEditorDocument(text));
|
|
27880
27911
|
editor.commands.focus("end");
|
|
27881
27912
|
}
|
|
27882
27913
|
function getFileCardIcon(attachment) {
|
|
@@ -28454,8 +28485,6 @@ function ChatInput({
|
|
|
28454
28485
|
SkillStatusBarComponent: SkillStatusBarOverride,
|
|
28455
28486
|
skillStatusBarClassName,
|
|
28456
28487
|
skillStatusBarInnerClassName,
|
|
28457
|
-
onResyncSkills,
|
|
28458
|
-
isResyncingSkills = false,
|
|
28459
28488
|
onOpenSkills,
|
|
28460
28489
|
inputLabel = "\u8F93\u5165\u6D88\u606F",
|
|
28461
28490
|
placeholderText,
|
|
@@ -28478,9 +28507,9 @@ function ChatInput({
|
|
|
28478
28507
|
externalDraft?.setValue(value);
|
|
28479
28508
|
});
|
|
28480
28509
|
const externalDraftValue = externalDraft?.value;
|
|
28481
|
-
const inputRef =
|
|
28510
|
+
const inputRef = useRef9(input);
|
|
28482
28511
|
inputRef.current = input;
|
|
28483
|
-
const appliedInitialDraftKeyRef =
|
|
28512
|
+
const appliedInitialDraftKeyRef = useRef9(null);
|
|
28484
28513
|
useEffect9(() => {
|
|
28485
28514
|
if (externalDraftValue == null) return;
|
|
28486
28515
|
if (inputRef.current === externalDraftValue) return;
|
|
@@ -28513,7 +28542,7 @@ function ChatInput({
|
|
|
28513
28542
|
}
|
|
28514
28543
|
);
|
|
28515
28544
|
const externalAttachmentsValue = externalAttachments?.value;
|
|
28516
|
-
const composerAttachmentsRef =
|
|
28545
|
+
const composerAttachmentsRef = useRef9(composerAttachments);
|
|
28517
28546
|
composerAttachmentsRef.current = composerAttachments;
|
|
28518
28547
|
useEffect9(() => {
|
|
28519
28548
|
if (externalAttachmentsValue == null) return;
|
|
@@ -28529,16 +28558,16 @@ function ChatInput({
|
|
|
28529
28558
|
const invalidation = useSessionDataInvalidation();
|
|
28530
28559
|
const SkillStatusBarComponent = SkillStatusBarOverride ?? SkillStatusBar;
|
|
28531
28560
|
const [actionMenuOpen, setActionMenuOpen] = useState11(false);
|
|
28532
|
-
const actionMenuOpenRef =
|
|
28561
|
+
const actionMenuOpenRef = useRef9(false);
|
|
28533
28562
|
useEffect9(() => {
|
|
28534
28563
|
actionMenuOpenRef.current = actionMenuOpen;
|
|
28535
28564
|
}, [actionMenuOpen]);
|
|
28536
28565
|
const [connectMenuOpen, setConnectMenuOpen] = useState11(false);
|
|
28537
|
-
const fileInputRef =
|
|
28538
|
-
const folderInputRef =
|
|
28539
|
-
const editorRef =
|
|
28540
|
-
const lastEscapeAtRef =
|
|
28541
|
-
const localImageUrlsRef =
|
|
28566
|
+
const fileInputRef = useRef9(null);
|
|
28567
|
+
const folderInputRef = useRef9(null);
|
|
28568
|
+
const editorRef = useRef9(null);
|
|
28569
|
+
const lastEscapeAtRef = useRef9(0);
|
|
28570
|
+
const localImageUrlsRef = useRef9(/* @__PURE__ */ new Map());
|
|
28542
28571
|
const currentChatSessionId = useCurrentChatSessionId();
|
|
28543
28572
|
const activeSessionId = sessionIdProp ?? currentChatSessionId;
|
|
28544
28573
|
const currentSession = useChatSessionDetail(activeSessionId);
|
|
@@ -28565,8 +28594,7 @@ function ChatInput({
|
|
|
28565
28594
|
(state3) => activeSessionId ? state3.sendRequests[activeSessionId] : void 0
|
|
28566
28595
|
);
|
|
28567
28596
|
const connectionStatus = useComposerConnection(activeSessionId);
|
|
28568
|
-
const
|
|
28569
|
-
const inputHistory = useInputHistory(activeSessionId);
|
|
28597
|
+
const inputHistory = useInputHistory(activeSessionId, client);
|
|
28570
28598
|
const queuedTopicRefs = useComposerChannels((state3) => activeSessionId ? state3.topicAssetReferences[activeSessionId] : void 0);
|
|
28571
28599
|
const getTopicSuggestions = useEffectEvent(async (query) => {
|
|
28572
28600
|
if (!activeSessionId) return [];
|
|
@@ -28579,30 +28607,23 @@ function ChatInput({
|
|
|
28579
28607
|
});
|
|
28580
28608
|
const getSessionId = useEffectEvent(() => activeSessionId);
|
|
28581
28609
|
const handleSlashCommand = useEffectEvent((commandId) => onCommand?.(commandId));
|
|
28582
|
-
const
|
|
28583
|
-
|
|
28584
|
-
|
|
28585
|
-
|
|
28586
|
-
|
|
28610
|
+
const referenceCandidates = useReferenceCandidates(
|
|
28611
|
+
() => [client, client.token, activeSessionId, currentSession?.chat_group_id],
|
|
28612
|
+
{
|
|
28613
|
+
plugins: (query) => getPluginSuggestionItems(client, getSessionId(), query),
|
|
28614
|
+
topics: getTopicSuggestions,
|
|
28615
|
+
files: (query) => getFileSuggestionItems(client, getSessionId(), query)
|
|
28587
28616
|
}
|
|
28588
|
-
|
|
28589
|
-
const pendingKbRefreshRef = useRef8(null);
|
|
28617
|
+
);
|
|
28590
28618
|
const [localImageUrls, setLocalImageUrls] = useState11({});
|
|
28591
28619
|
const getMentionSuggestionItems = useEffectEvent(
|
|
28592
28620
|
async (query) => {
|
|
28593
|
-
const normalizedQuery = query.trim().toLowerCase();
|
|
28594
|
-
const commandItems = COMMANDS.filter((item) => {
|
|
28595
|
-
if (!normalizedQuery) {
|
|
28596
|
-
return true;
|
|
28597
|
-
}
|
|
28598
|
-
return item.id.toLowerCase().startsWith(normalizedQuery) || item.label.toLowerCase().startsWith(normalizedQuery);
|
|
28599
|
-
});
|
|
28600
28621
|
const skillItems = await getSlashSuggestions(query, {
|
|
28601
28622
|
client,
|
|
28602
28623
|
sessionId: getSessionId(),
|
|
28603
28624
|
renderMode: environment.renderMode ?? "normal"
|
|
28604
28625
|
}).catch(() => []);
|
|
28605
|
-
return
|
|
28626
|
+
return skillItems;
|
|
28606
28627
|
}
|
|
28607
28628
|
);
|
|
28608
28629
|
const appendFiles = async (files) => {
|
|
@@ -28638,6 +28659,7 @@ function ChatInput({
|
|
|
28638
28659
|
const getEditorState = useEffectEvent(() => ({
|
|
28639
28660
|
input,
|
|
28640
28661
|
connectionStatus,
|
|
28662
|
+
topicId: currentSession?.chat_group_id ?? null,
|
|
28641
28663
|
navigateUp: inputHistory.navigateUp,
|
|
28642
28664
|
navigateDown: inputHistory.navigateDown,
|
|
28643
28665
|
isNavigatingHistory: inputHistory.isNavigating,
|
|
@@ -28672,29 +28694,11 @@ function ChatInput({
|
|
|
28672
28694
|
suggestion: {
|
|
28673
28695
|
char: "@",
|
|
28674
28696
|
pluginKey: fileMentionSuggestionKey,
|
|
28675
|
-
|
|
28676
|
-
// 限了个短超时(withKbSuggestionTimeout),Hub 慢或不可达时不拖着本来
|
|
28677
|
-
// 秒回的文件候选一起等它。超时只是"这次先不等了",不是"没有知识库"——
|
|
28678
|
-
// 真结果迟到后如果菜单还开在同一个 query 上,靠 pendingKbRefreshRef
|
|
28679
|
-
// (render() 那边挂的)把知识库分组补进去,不然用户输入 @ 之后不再
|
|
28680
|
-
// 打字,菜单就永远空着知识库那组,得关掉重开或改查询词才能看见。
|
|
28681
|
-
items: async ({ query }) => {
|
|
28682
|
-
const kbPromise = getKbSuggestionItems();
|
|
28683
|
-
const topicsPromise = getTopicSuggestions(query);
|
|
28684
|
-
const filesPromise = getFileSuggestionItems(client, getSessionId(), query).catch(() => []);
|
|
28685
|
-
const kbs = await withKbSuggestionTimeout(kbPromise);
|
|
28686
|
-
notifyWhenKbSuggestionsArriveLate(kbPromise, kbs, (lateKbs) => {
|
|
28687
|
-
if (pendingKbRefreshRef.current?.query === query) {
|
|
28688
|
-
pendingKbRefreshRef.current.applyLateKbs(lateKbs);
|
|
28689
|
-
}
|
|
28690
|
-
});
|
|
28691
|
-
const files = await filesPromise;
|
|
28692
|
-
return [...kbs, ...await topicsPromise, ...files];
|
|
28693
|
-
},
|
|
28697
|
+
items: ({ query }) => referenceCandidates.query(query),
|
|
28694
28698
|
command: ({ editor: suggestionEditor, props, range }) => {
|
|
28695
28699
|
const item = props;
|
|
28696
28700
|
suggestionEditor.chain().focus().insertContentAt(range, [
|
|
28697
|
-
|
|
28701
|
+
isPluginSuggestionItem(item) ? { type: "pluginMention", attrs: { provider: item.provider, plugin: item.plugin, server: item.server, id: item.id, label: item.label } } : isTopicAssetSuggestionItem(item) ? { type: "topicAssetMention", attrs: { topic_id: item.topic_id, path: item.path } } : { type: "fileMention", attrs: { name: item.name, path: item.path } },
|
|
28698
28702
|
{
|
|
28699
28703
|
type: "text",
|
|
28700
28704
|
text: " "
|
|
@@ -28712,7 +28716,7 @@ function ChatInput({
|
|
|
28712
28716
|
exitSuggestion(view, fileMentionSuggestionKey);
|
|
28713
28717
|
}
|
|
28714
28718
|
};
|
|
28715
|
-
const
|
|
28719
|
+
const paintMenu = (props) => {
|
|
28716
28720
|
if (!container || !root) return;
|
|
28717
28721
|
updateSuggestionPosition(container, props.clientRect);
|
|
28718
28722
|
root.render(
|
|
@@ -28728,13 +28732,11 @@ function ChatInput({
|
|
|
28728
28732
|
}
|
|
28729
28733
|
)
|
|
28730
28734
|
);
|
|
28731
|
-
|
|
28732
|
-
|
|
28733
|
-
|
|
28734
|
-
|
|
28735
|
-
|
|
28736
|
-
}
|
|
28737
|
-
};
|
|
28735
|
+
};
|
|
28736
|
+
const renderMenu = (props) => {
|
|
28737
|
+
referenceCandidates.observe(props.items, (snapshot) => {
|
|
28738
|
+
paintMenu({ ...props, items: snapshot.items });
|
|
28739
|
+
});
|
|
28738
28740
|
};
|
|
28739
28741
|
return {
|
|
28740
28742
|
onStart: (props) => {
|
|
@@ -28758,7 +28760,7 @@ function ChatInput({
|
|
|
28758
28760
|
container?.remove();
|
|
28759
28761
|
root = null;
|
|
28760
28762
|
container = null;
|
|
28761
|
-
|
|
28763
|
+
referenceCandidates.cancel();
|
|
28762
28764
|
},
|
|
28763
28765
|
onKeyDown: ({ event, view }) => {
|
|
28764
28766
|
if (event.key === "Escape") {
|
|
@@ -28773,7 +28775,7 @@ function ChatInput({
|
|
|
28773
28775
|
}
|
|
28774
28776
|
}),
|
|
28775
28777
|
WorkflowMention,
|
|
28776
|
-
|
|
28778
|
+
PluginMention,
|
|
28777
28779
|
TopicAssetMention,
|
|
28778
28780
|
SkillMention.configure({
|
|
28779
28781
|
suggestion: {
|
|
@@ -28861,7 +28863,7 @@ function ChatInput({
|
|
|
28861
28863
|
}
|
|
28862
28864
|
})
|
|
28863
28865
|
],
|
|
28864
|
-
content:
|
|
28866
|
+
content: buildEditorDocument(initialInput),
|
|
28865
28867
|
onCreate: ({ editor: editorInstance }) => {
|
|
28866
28868
|
editorRef.current = editorInstance;
|
|
28867
28869
|
syncEditorState(editorInstance);
|
|
@@ -28878,7 +28880,7 @@ function ChatInput({
|
|
|
28878
28880
|
"aria-label": resolvedInputLabel,
|
|
28879
28881
|
"data-testid": "chat-message-input",
|
|
28880
28882
|
"data-blade-input-label": resolvedInputLabel,
|
|
28881
|
-
class: "min-h-[34px] max-h-[240px] overflow-y-auto px-5 py-3 text-sm leading-relaxed text-[hsl(var(--foreground))] focus:outline-none [&_.file-mention-pill]:inline-flex [&_.file-mention-pill]:items-center [&_.file-mention-pill]:rounded-full [&_.file-mention-pill]:bg-[hsl(var(--accent))] [&_.file-mention-pill]:px-2 [&_.file-mention-pill]:py-0.5 [&_.file-mention-pill]:font-medium [&_.file-mention-pill]:text-[hsl(var(--primary))] [&_.file-mention-pill]:select-none [&_.file-mention-pill]:whitespace-nowrap [&_.skill-mention-pill]:inline-flex [&_.skill-mention-pill]:items-center [&_.skill-mention-pill]:rounded-full [&_.skill-mention-pill]:bg-[hsl(var(--primary)/0.15)] [&_.skill-mention-pill]:px-2 [&_.skill-mention-pill]:py-0.5 [&_.skill-mention-pill]:font-medium [&_.skill-mention-pill]:text-[hsl(var(--primary))] [&_.skill-mention-pill]:select-none [&_.skill-mention-pill]:whitespace-nowrap [&
|
|
28883
|
+
class: "min-h-[34px] max-h-[240px] overflow-y-auto px-5 py-3 text-sm leading-relaxed text-[hsl(var(--foreground))] focus:outline-none [&_.file-mention-pill]:inline-flex [&_.file-mention-pill]:items-center [&_.file-mention-pill]:rounded-full [&_.file-mention-pill]:bg-[hsl(var(--accent))] [&_.file-mention-pill]:px-2 [&_.file-mention-pill]:py-0.5 [&_.file-mention-pill]:font-medium [&_.file-mention-pill]:text-[hsl(var(--primary))] [&_.file-mention-pill]:select-none [&_.file-mention-pill]:whitespace-nowrap [&_.skill-mention-pill]:inline-flex [&_.skill-mention-pill]:items-center [&_.skill-mention-pill]:rounded-full [&_.skill-mention-pill]:bg-[hsl(var(--primary)/0.15)] [&_.skill-mention-pill]:px-2 [&_.skill-mention-pill]:py-0.5 [&_.skill-mention-pill]:font-medium [&_.skill-mention-pill]:text-[hsl(var(--primary))] [&_.skill-mention-pill]:select-none [&_.skill-mention-pill]:whitespace-nowrap [&_p:first-child]:mt-0 [&_p:last-child]:mb-0"
|
|
28882
28884
|
},
|
|
28883
28885
|
handleDOMEvents: {
|
|
28884
28886
|
focus: () => {
|
|
@@ -28901,12 +28903,13 @@ function ChatInput({
|
|
|
28901
28903
|
}
|
|
28902
28904
|
const actionMenuOpen2 = actionMenuOpenRef.current;
|
|
28903
28905
|
if (shouldHandleHistoryKey(event, actionMenuOpen2) && event.key === "ArrowUp" && (state3.input.trim().length === 0 || state3.isNavigatingHistory)) {
|
|
28904
|
-
const previousEntry = state3.navigateUp(
|
|
28906
|
+
const previousEntry = state3.navigateUp(editorRef.current?.getJSON());
|
|
28905
28907
|
if (!previousEntry) {
|
|
28906
28908
|
return false;
|
|
28907
28909
|
}
|
|
28908
28910
|
event.preventDefault();
|
|
28909
|
-
|
|
28911
|
+
editorRef.current?.commands.setContent(retainTopicAssetMentions(previousEntry.document, state3.topicId));
|
|
28912
|
+
editorRef.current?.commands.focus("end");
|
|
28910
28913
|
return true;
|
|
28911
28914
|
}
|
|
28912
28915
|
if (shouldHandleHistoryKey(event, actionMenuOpen2) && event.key === "ArrowDown") {
|
|
@@ -28915,7 +28918,8 @@ function ChatInput({
|
|
|
28915
28918
|
return false;
|
|
28916
28919
|
}
|
|
28917
28920
|
event.preventDefault();
|
|
28918
|
-
|
|
28921
|
+
editorRef.current?.commands.setContent(retainTopicAssetMentions(nextEntry.document, state3.topicId));
|
|
28922
|
+
editorRef.current?.commands.focus("end");
|
|
28919
28923
|
return true;
|
|
28920
28924
|
}
|
|
28921
28925
|
if (state3.onDoubleEscape && event.key === "Escape" && !isImeCompositionKey(event) && !event.repeat) {
|
|
@@ -28969,7 +28973,7 @@ function ChatInput({
|
|
|
28969
28973
|
editor.commands.focus("end");
|
|
28970
28974
|
composerChannels.setRewindDraft(activeSessionId, null);
|
|
28971
28975
|
}, [activeSessionId, editor, rewindDraft]);
|
|
28972
|
-
const submittingRef =
|
|
28976
|
+
const submittingRef = useRef9(false);
|
|
28973
28977
|
const [isSubmitting, setIsSubmitting] = useState11(false);
|
|
28974
28978
|
useEffect9(() => {
|
|
28975
28979
|
let changed = false;
|
|
@@ -29005,6 +29009,22 @@ function ChatInput({
|
|
|
29005
29009
|
};
|
|
29006
29010
|
}, []);
|
|
29007
29011
|
const sessionHandle = useSessionHandle(activeSessionId);
|
|
29012
|
+
const restoredPluginSelection = useRef9(null);
|
|
29013
|
+
useEffect9(() => {
|
|
29014
|
+
if (!sessionHandle || !activeSessionId || !editor) return;
|
|
29015
|
+
const restore = () => {
|
|
29016
|
+
if (restoredPluginSelection.current === activeSessionId) return;
|
|
29017
|
+
const turns = sessionHandle.getState().turns;
|
|
29018
|
+
const latest = [...turns].reverse().find((turn) => turn.role === "user");
|
|
29019
|
+
if (!latest || latest.turn_id.startsWith("local-user-")) return;
|
|
29020
|
+
restoredPluginSelection.current = activeSessionId;
|
|
29021
|
+
if (!getEditorText(editor).trim() && latest.refs?.length) {
|
|
29022
|
+
editor.commands.setContent({ type: "doc", content: [{ type: "paragraph", content: latest.refs.flatMap((ref) => [{ type: "pluginMention", attrs: { ...ref } }, { type: "text", text: " " }]) }] });
|
|
29023
|
+
}
|
|
29024
|
+
};
|
|
29025
|
+
restore();
|
|
29026
|
+
return sessionHandle.subscribe(restore);
|
|
29027
|
+
}, [sessionHandle, activeSessionId, editor]);
|
|
29008
29028
|
useEffect9(() => {
|
|
29009
29029
|
if (!sessionHandle || !activeSessionId) return;
|
|
29010
29030
|
const offInsert = sessionHandle.on("insertTextRequested", ({ text }) => {
|
|
@@ -29071,9 +29091,9 @@ ${append2.text}` : append2.text;
|
|
|
29071
29091
|
});
|
|
29072
29092
|
const { isRecording, level: voiceLevel } = voice;
|
|
29073
29093
|
const isVoiceStarting = voice.status === "starting";
|
|
29074
|
-
const voiceStopRef =
|
|
29094
|
+
const voiceStopRef = useRef9(voice.stop);
|
|
29075
29095
|
voiceStopRef.current = voice.stop;
|
|
29076
|
-
const prevSessionIdRef =
|
|
29096
|
+
const prevSessionIdRef = useRef9(activeSessionId);
|
|
29077
29097
|
useEffect9(() => {
|
|
29078
29098
|
if (prevSessionIdRef.current !== activeSessionId) {
|
|
29079
29099
|
prevSessionIdRef.current = activeSessionId;
|
|
@@ -29099,7 +29119,7 @@ ${append2.text}` : append2.text;
|
|
|
29099
29119
|
}
|
|
29100
29120
|
if (isStreaming) {
|
|
29101
29121
|
const json = editor?.getJSON();
|
|
29102
|
-
if (composerAttachments.length > 0 ||
|
|
29122
|
+
if (composerAttachments.length > 0 || collectPluginMentions(json).length > 0 || collectTopicAssetMentions(json).length > 0) {
|
|
29103
29123
|
notifyChat(environment, "info", "\u5F53\u524D\u56DE\u590D\u5C1A\u672A\u7ED3\u675F\uFF0C\u5E26\u9644\u4EF6\u6216\u5F15\u7528\u7684\u6D88\u606F\u8BF7\u7B49\u5F85\u672C\u8F6E\u7ED3\u675F\u540E\u518D\u53D1\u9001");
|
|
29104
29124
|
return;
|
|
29105
29125
|
}
|
|
@@ -29132,8 +29152,11 @@ ${append2.text}` : append2.text;
|
|
|
29132
29152
|
let submittedSessionId = activeSessionId;
|
|
29133
29153
|
const submittedAttachmentIds = composerAttachments.map((attachment) => attachment.id);
|
|
29134
29154
|
const skill = findLeadingSkillMention(json);
|
|
29135
|
-
const
|
|
29136
|
-
|
|
29155
|
+
const refs = collectPluginMentions(json);
|
|
29156
|
+
if (refs.length > 20) {
|
|
29157
|
+
notifyChat(environment, "error", "\u6BCF\u6761\u6D88\u606F\u6700\u591A\u9009\u62E9 20 \u4E2A\u63D2\u4EF6\u6761\u76EE");
|
|
29158
|
+
return;
|
|
29159
|
+
}
|
|
29137
29160
|
const topicAssetRefs = collectTopicAssetMentions(json);
|
|
29138
29161
|
if (topicAssetRefs.length > 20) {
|
|
29139
29162
|
notifyChat(environment, "error", "\u6BCF\u6761\u6D88\u606F\u6700\u591A\u5F15\u7528 20 \u4E2A\u4E3B\u9898\u8D44\u4EA7");
|
|
@@ -29278,7 +29301,7 @@ ${append2.text}` : append2.text;
|
|
|
29278
29301
|
thinkingOverride: thinkingAvailable && selectedReasoningLevel ? true : void 0,
|
|
29279
29302
|
reasoningLevel: thinkingAvailable ? selectedReasoningLevel || void 0 : void 0,
|
|
29280
29303
|
// 只有用户显式 @ 知识库才传选择;纯文本不附加知识库指令。
|
|
29281
|
-
|
|
29304
|
+
refs: pluginRefsForSend(refs, sessionHandle?.getState().turns),
|
|
29282
29305
|
topicAssetRefs: topicAssetRefs.length > 0 ? topicAssetRefs : void 0
|
|
29283
29306
|
});
|
|
29284
29307
|
} catch (error) {
|
|
@@ -29294,11 +29317,14 @@ ${append2.text}` : append2.text;
|
|
|
29294
29317
|
}
|
|
29295
29318
|
return;
|
|
29296
29319
|
}
|
|
29320
|
+
if (refs.length && editor && !getEditorText(editor).trim()) {
|
|
29321
|
+
editor.commands.setContent({ type: "doc", content: [{ type: "paragraph", content: refs.flatMap((ref) => [{ type: "pluginMention", attrs: { ...ref } }, { type: "text", text: " " }]) }] });
|
|
29322
|
+
}
|
|
29297
29323
|
if (activeSessionId && activePendingContexts.length > 0) {
|
|
29298
29324
|
composerChannels.consumePendingContexts(activeSessionId);
|
|
29299
29325
|
}
|
|
29300
29326
|
if (text.trim()) {
|
|
29301
|
-
inputHistory.addEntry(
|
|
29327
|
+
inputHistory.addEntry(json);
|
|
29302
29328
|
}
|
|
29303
29329
|
} finally {
|
|
29304
29330
|
submittingRef.current = false;
|
|
@@ -29325,8 +29351,8 @@ ${append2.text}` : append2.text;
|
|
|
29325
29351
|
const reduceMotion = typeof window !== "undefined" && window.matchMedia?.("(prefers-reduced-motion: reduce)").matches;
|
|
29326
29352
|
return reduceMotion ? fullPlaceholder : "";
|
|
29327
29353
|
});
|
|
29328
|
-
const typewriterPlayedRef =
|
|
29329
|
-
const isTypingRef =
|
|
29354
|
+
const typewriterPlayedRef = useRef9(false);
|
|
29355
|
+
const isTypingRef = useRef9(false);
|
|
29330
29356
|
useEffect9(() => {
|
|
29331
29357
|
if (!typewriterPlaceholder || typewriterPlayedRef.current) return;
|
|
29332
29358
|
typewriterPlayedRef.current = true;
|
|
@@ -29754,8 +29780,6 @@ ${append2.text}` : append2.text;
|
|
|
29754
29780
|
SkillStatusBarComponent,
|
|
29755
29781
|
{
|
|
29756
29782
|
sessionId: activeSessionId,
|
|
29757
|
-
onResync: onResyncSkills,
|
|
29758
|
-
isResyncing: isResyncingSkills,
|
|
29759
29783
|
onOpenSkills,
|
|
29760
29784
|
vertical: true,
|
|
29761
29785
|
className: skillStatusBarClassName,
|
|
@@ -29873,7 +29897,6 @@ export {
|
|
|
29873
29897
|
ATTACHMENT_SIZE_LIMIT_BYTES,
|
|
29874
29898
|
ATTENTION_STATUSES,
|
|
29875
29899
|
BackgroundTasksPill,
|
|
29876
|
-
COMMANDS,
|
|
29877
29900
|
ChatInput,
|
|
29878
29901
|
ComposerAttachmentViewport,
|
|
29879
29902
|
ConnectButton,
|
|
@@ -29881,14 +29904,13 @@ export {
|
|
|
29881
29904
|
FileMention,
|
|
29882
29905
|
FileSizeLimitDialog,
|
|
29883
29906
|
IMAGE_INPUT_UNSUPPORTED_MESSAGE,
|
|
29884
|
-
KB_SUGGESTION_TIMEOUT_MS,
|
|
29885
|
-
KbMention,
|
|
29886
29907
|
LIVE_STATUSES,
|
|
29887
29908
|
MODEL_LOADING_SEND_HINT,
|
|
29888
29909
|
MODEL_REASONING_LEVELS_KEY,
|
|
29889
29910
|
ModelSelector,
|
|
29890
29911
|
PREFERRED_MODEL_KEY,
|
|
29891
29912
|
PlanningToggle,
|
|
29913
|
+
PluginMention,
|
|
29892
29914
|
ProgressCircle,
|
|
29893
29915
|
ReasoningModeSelect,
|
|
29894
29916
|
RichInputServicesProvider,
|
|
@@ -29900,17 +29922,16 @@ export {
|
|
|
29900
29922
|
TopicAssetMention,
|
|
29901
29923
|
VoiceWaveform,
|
|
29902
29924
|
WorkflowMention,
|
|
29903
|
-
|
|
29925
|
+
buildEditorDocument,
|
|
29904
29926
|
buildEditorDocumentWithMentions,
|
|
29905
29927
|
buildSubmitPayload,
|
|
29906
29928
|
buildVoiceInputUnavailableError,
|
|
29907
|
-
|
|
29929
|
+
collectPluginMentions,
|
|
29908
29930
|
collectTopicAssetMentions,
|
|
29909
29931
|
entryLabel,
|
|
29910
29932
|
estimateTokenCount,
|
|
29911
29933
|
fetchClientQuery,
|
|
29912
29934
|
fileMentionSuggestionKey,
|
|
29913
|
-
filterKbSuggestions,
|
|
29914
29935
|
findLeadingSkillMention,
|
|
29915
29936
|
formatFileSize,
|
|
29916
29937
|
formatStartedAt,
|
|
@@ -29918,6 +29939,7 @@ export {
|
|
|
29918
29939
|
getFileSuggestionItems,
|
|
29919
29940
|
getInputModalities,
|
|
29920
29941
|
getLastUserHomeRuntime,
|
|
29942
|
+
getPluginSuggestionItems,
|
|
29921
29943
|
getSkillSuggestions,
|
|
29922
29944
|
getSlashSuggestions,
|
|
29923
29945
|
getTopicAssetSuggestionItems,
|
|
@@ -29928,13 +29950,12 @@ export {
|
|
|
29928
29950
|
invalidateSlashSuggestions,
|
|
29929
29951
|
isImageFile,
|
|
29930
29952
|
isImeCompositionKey,
|
|
29931
|
-
|
|
29953
|
+
isPluginSuggestionItem,
|
|
29932
29954
|
isSubmittedComposerStillCurrent,
|
|
29933
29955
|
isTopicAssetSuggestionError,
|
|
29934
29956
|
isTopicAssetSuggestionItem,
|
|
29935
29957
|
listUserHomeDir,
|
|
29936
29958
|
mergeSubmittedAttachmentUpdates,
|
|
29937
|
-
notifyWhenKbSuggestionsArriveLate,
|
|
29938
29959
|
parseUserHomeQuery,
|
|
29939
29960
|
queueTopicAssetReference,
|
|
29940
29961
|
reasoningLevelLabel,
|
|
@@ -29952,7 +29973,6 @@ export {
|
|
|
29952
29973
|
splitTasks,
|
|
29953
29974
|
statusClass,
|
|
29954
29975
|
statusLabel,
|
|
29955
|
-
toKbSuggestionItems,
|
|
29956
29976
|
tokenPressureOf,
|
|
29957
29977
|
uploadedPathsById,
|
|
29958
29978
|
useBackgroundTaskList,
|
|
@@ -29970,10 +29990,10 @@ export {
|
|
|
29970
29990
|
useContextStats,
|
|
29971
29991
|
useDismissSkillSuggestionsOnModeChange,
|
|
29972
29992
|
useInputHistory,
|
|
29973
|
-
useKnowledgeBaseLoader,
|
|
29974
29993
|
useModelCatalog,
|
|
29975
29994
|
useModelPreferences,
|
|
29976
29995
|
useReasoningLevelPreference,
|
|
29996
|
+
useReferenceCandidates,
|
|
29977
29997
|
useRefreshWhenRunEnds,
|
|
29978
29998
|
useResolvedModel,
|
|
29979
29999
|
useRichInputServices,
|
|
@@ -29982,7 +30002,6 @@ export {
|
|
|
29982
30002
|
useSkillStats,
|
|
29983
30003
|
useTiptapVoiceInput,
|
|
29984
30004
|
useVoiceInput,
|
|
29985
|
-
withKbSuggestionTimeout,
|
|
29986
30005
|
workflowParamsTail,
|
|
29987
30006
|
workflowRunText
|
|
29988
30007
|
};
|