@blade-hq/agent-react 2612.0.0-beta.4 → 2612.0.0-beta.6

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.
Files changed (1147) hide show
  1. package/README.md +18 -0
  2. package/dist/chat/ChatPanel.d.ts +1 -3
  3. package/dist/chat/LightComposer.d.ts +1 -1
  4. package/dist/chat/ai-elements/reasoning.d.ts +4 -4
  5. package/dist/chat/customization.d.ts +1 -5
  6. package/dist/chat/lib/citations.d.ts +6 -2
  7. package/dist/chat/runtime/actions.d.ts +2 -0
  8. package/dist/chat/runtime/composer-channels.d.ts +4 -0
  9. package/dist/chat/runtime/input-cache-reset.d.ts +1 -1
  10. package/dist/chat/runtime/input-history-storage.d.ts +2 -0
  11. package/dist/{chunk-WCMGQJLE.js → chunk-IRBOKMF5.js} +2 -2
  12. package/dist/{chunk-FQQJP2GJ.js → chunk-UKQFSXGC.js} +168 -40
  13. package/dist/chunk-UKQFSXGC.js.map +1 -0
  14. package/dist/{chunk-5J54S5BK.js → chunk-XJLFFRQP.js} +401 -182
  15. package/dist/chunk-XJLFFRQP.js.map +1 -0
  16. package/dist/components/ChatInput.d.ts +3 -1
  17. package/dist/components/TopicAssetSubmitDialog.d.ts +14 -0
  18. package/dist/components/plugin-connector.d.ts +1 -0
  19. package/dist/embed/entry.d.ts +2 -0
  20. package/dist/index.d.ts +2 -0
  21. package/dist/index.js +8 -4
  22. package/dist/internal.d.ts +2 -0
  23. package/dist/internal.js +7 -3
  24. package/dist/internal.js.map +1 -1
  25. package/dist/lib/agent-computer-command.d.ts +1 -3
  26. package/dist/rich-input/ChatInput.d.ts +1 -1
  27. package/dist/rich-input/FileCompletionMenu.d.ts +4 -2
  28. package/dist/rich-input/SkillStatusBar.d.ts +2 -4
  29. package/dist/rich-input/extensions/plugin-mention.d.ts +15 -0
  30. package/dist/rich-input/extensions/skill-mention.d.ts +0 -1
  31. package/dist/rich-input/extensions/topic-asset-mention.d.ts +13 -0
  32. package/dist/rich-input/index.d.ts +6 -0
  33. package/dist/rich-input/lib/composer-content.d.ts +10 -1
  34. package/dist/rich-input/lib/input-history-document.d.ts +3 -0
  35. package/dist/rich-input/lib/plugin-suggestions.d.ts +7 -0
  36. package/dist/rich-input/lib/reference-candidates.d.ts +30 -0
  37. package/dist/rich-input/lib/topic-asset-suggestions.d.ts +6 -0
  38. package/dist/rich-input/use-input-history.d.ts +8 -8
  39. package/dist/rich-input/use-reference-candidates.d.ts +8 -0
  40. package/dist/rich-input.js +6404 -6008
  41. package/dist/rich-input.js.map +1 -1
  42. package/dist/style.full.css +1 -1
  43. package/node_modules/@floating-ui/core/LICENSE +20 -0
  44. package/node_modules/@floating-ui/core/README.md +4 -0
  45. package/node_modules/@floating-ui/core/dist/floating-ui.core.browser.min.mjs +1 -0
  46. package/node_modules/@floating-ui/core/dist/floating-ui.core.browser.mjs +1184 -0
  47. package/node_modules/@floating-ui/core/dist/floating-ui.core.d.mts +531 -0
  48. package/node_modules/@floating-ui/core/dist/floating-ui.core.d.ts +531 -0
  49. package/node_modules/@floating-ui/core/dist/floating-ui.core.esm.js +1058 -0
  50. package/node_modules/@floating-ui/core/dist/floating-ui.core.mjs +1058 -0
  51. package/node_modules/@floating-ui/core/dist/floating-ui.core.umd.js +1203 -0
  52. package/node_modules/@floating-ui/core/dist/floating-ui.core.umd.min.js +1 -0
  53. package/node_modules/@floating-ui/core/package.json +63 -0
  54. package/node_modules/@floating-ui/dom/LICENSE +20 -0
  55. package/node_modules/@floating-ui/dom/README.md +4 -0
  56. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.browser.min.mjs +1 -0
  57. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.browser.mjs +956 -0
  58. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.d.mts +358 -0
  59. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.d.ts +358 -0
  60. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.esm.js +781 -0
  61. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs +781 -0
  62. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.umd.js +975 -0
  63. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.umd.min.js +1 -0
  64. package/node_modules/@floating-ui/dom/package.json +71 -0
  65. package/node_modules/@floating-ui/utils/LICENSE +20 -0
  66. package/node_modules/@floating-ui/utils/README.md +4 -0
  67. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.d.mts +103 -0
  68. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.d.ts +103 -0
  69. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.d.mts +47 -0
  70. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.d.ts +47 -0
  71. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.esm.js +165 -0
  72. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs +165 -0
  73. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.umd.js +192 -0
  74. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.umd.min.js +1 -0
  75. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.esm.js +136 -0
  76. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs +136 -0
  77. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.umd.js +167 -0
  78. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.umd.min.js +1 -0
  79. package/node_modules/@floating-ui/utils/dom/floating-ui.utils.dom.d.ts +47 -0
  80. package/node_modules/@floating-ui/utils/dom/floating-ui.utils.dom.esm.js +165 -0
  81. package/node_modules/@floating-ui/utils/dom/floating-ui.utils.dom.umd.js +192 -0
  82. package/node_modules/@floating-ui/utils/dom/package.json +6 -0
  83. package/node_modules/@floating-ui/utils/package.json +70 -0
  84. package/node_modules/@radix-ui/primitive/LICENSE +21 -0
  85. package/node_modules/@radix-ui/primitive/README.md +3 -0
  86. package/node_modules/@radix-ui/primitive/dist/index.d.mts +20 -0
  87. package/node_modules/@radix-ui/primitive/dist/index.d.ts +20 -0
  88. package/node_modules/@radix-ui/primitive/dist/index.js +76 -0
  89. package/node_modules/@radix-ui/primitive/dist/index.js.map +7 -0
  90. package/node_modules/@radix-ui/primitive/dist/index.mjs +53 -0
  91. package/node_modules/@radix-ui/primitive/dist/index.mjs.map +7 -0
  92. package/node_modules/@radix-ui/primitive/package.json +47 -0
  93. package/node_modules/@radix-ui/react-collapsible/LICENSE +21 -0
  94. package/node_modules/@radix-ui/react-collapsible/README.md +3 -0
  95. package/node_modules/@radix-ui/react-collapsible/dist/index.d.mts +33 -0
  96. package/node_modules/@radix-ui/react-collapsible/dist/index.d.ts +33 -0
  97. package/node_modules/@radix-ui/react-collapsible/dist/index.js +187 -0
  98. package/node_modules/@radix-ui/react-collapsible/dist/index.js.map +7 -0
  99. package/node_modules/@radix-ui/react-collapsible/dist/index.mjs +155 -0
  100. package/node_modules/@radix-ui/react-collapsible/dist/index.mjs.map +7 -0
  101. package/node_modules/@radix-ui/react-collapsible/package.json +75 -0
  102. package/node_modules/@radix-ui/react-compose-refs/README.md +13 -0
  103. package/node_modules/@radix-ui/react-compose-refs/dist/index.d.mts +15 -0
  104. package/node_modules/@radix-ui/react-compose-refs/dist/index.d.ts +15 -0
  105. package/node_modules/@radix-ui/react-compose-refs/dist/index.js +74 -0
  106. package/node_modules/@radix-ui/react-compose-refs/dist/index.js.map +7 -0
  107. package/node_modules/@radix-ui/react-compose-refs/dist/index.mjs +41 -0
  108. package/node_modules/@radix-ui/react-compose-refs/dist/index.mjs.map +7 -0
  109. package/node_modules/@radix-ui/react-compose-refs/package.json +75 -0
  110. package/node_modules/@radix-ui/react-context/README.md +13 -0
  111. package/node_modules/@radix-ui/react-context/dist/index.d.mts +21 -0
  112. package/node_modules/@radix-ui/react-context/dist/index.d.ts +21 -0
  113. package/node_modules/@radix-ui/react-context/dist/index.js +114 -0
  114. package/node_modules/@radix-ui/react-context/dist/index.js.map +7 -0
  115. package/node_modules/@radix-ui/react-context/dist/index.mjs +81 -0
  116. package/node_modules/@radix-ui/react-context/dist/index.mjs.map +7 -0
  117. package/node_modules/@radix-ui/react-context/package.json +75 -0
  118. package/node_modules/@radix-ui/react-id/README.md +13 -0
  119. package/node_modules/@radix-ui/react-id/dist/index.d.mts +3 -0
  120. package/node_modules/@radix-ui/react-id/dist/index.d.ts +3 -0
  121. package/node_modules/@radix-ui/react-id/dist/index.js +49 -0
  122. package/node_modules/@radix-ui/react-id/dist/index.js.map +7 -0
  123. package/node_modules/@radix-ui/react-id/dist/index.mjs +16 -0
  124. package/node_modules/@radix-ui/react-id/dist/index.mjs.map +7 -0
  125. package/node_modules/@radix-ui/react-id/package.json +78 -0
  126. package/node_modules/@radix-ui/react-presence/LICENSE +21 -0
  127. package/node_modules/@radix-ui/react-presence/README.md +3 -0
  128. package/node_modules/@radix-ui/react-presence/dist/index.d.mts +12 -0
  129. package/node_modules/@radix-ui/react-presence/dist/index.d.ts +12 -0
  130. package/node_modules/@radix-ui/react-presence/dist/index.js +171 -0
  131. package/node_modules/@radix-ui/react-presence/dist/index.js.map +7 -0
  132. package/node_modules/@radix-ui/react-presence/dist/index.mjs +139 -0
  133. package/node_modules/@radix-ui/react-presence/dist/index.mjs.map +7 -0
  134. package/node_modules/@radix-ui/react-presence/package.json +69 -0
  135. package/node_modules/@radix-ui/react-primitive/LICENSE +21 -0
  136. package/node_modules/@radix-ui/react-primitive/README.md +3 -0
  137. package/node_modules/@radix-ui/react-primitive/dist/index.d.mts +52 -0
  138. package/node_modules/@radix-ui/react-primitive/dist/index.d.ts +52 -0
  139. package/node_modules/@radix-ui/react-primitive/dist/index.js +80 -0
  140. package/node_modules/@radix-ui/react-primitive/dist/index.js.map +7 -0
  141. package/node_modules/@radix-ui/react-primitive/dist/index.mjs +47 -0
  142. package/node_modules/@radix-ui/react-primitive/dist/index.mjs.map +7 -0
  143. package/node_modules/@radix-ui/react-primitive/package.json +68 -0
  144. package/node_modules/@radix-ui/react-slot/LICENSE +21 -0
  145. package/node_modules/@radix-ui/react-slot/README.md +3 -0
  146. package/node_modules/@radix-ui/react-slot/dist/index.d.mts +17 -0
  147. package/node_modules/@radix-ui/react-slot/dist/index.d.ts +17 -0
  148. package/node_modules/@radix-ui/react-slot/dist/index.js +138 -0
  149. package/node_modules/@radix-ui/react-slot/dist/index.js.map +7 -0
  150. package/node_modules/@radix-ui/react-slot/dist/index.mjs +105 -0
  151. package/node_modules/@radix-ui/react-slot/dist/index.mjs.map +7 -0
  152. package/node_modules/@radix-ui/react-slot/package.json +63 -0
  153. package/node_modules/@radix-ui/react-use-controllable-state/LICENSE +21 -0
  154. package/node_modules/@radix-ui/react-use-controllable-state/README.md +3 -0
  155. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.d.mts +40 -0
  156. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.d.ts +40 -0
  157. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +169 -0
  158. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.js.map +7 -0
  159. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs +136 -0
  160. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs.map +7 -0
  161. package/node_modules/@radix-ui/react-use-controllable-state/package.json +64 -0
  162. package/node_modules/@radix-ui/react-use-effect-event/LICENSE +21 -0
  163. package/node_modules/@radix-ui/react-use-effect-event/README.md +5 -0
  164. package/node_modules/@radix-ui/react-use-effect-event/dist/index.d.mts +8 -0
  165. package/node_modules/@radix-ui/react-use-effect-event/dist/index.d.ts +8 -0
  166. package/node_modules/@radix-ui/react-use-effect-event/dist/index.js +60 -0
  167. package/node_modules/@radix-ui/react-use-effect-event/dist/index.js.map +7 -0
  168. package/node_modules/@radix-ui/react-use-effect-event/dist/index.mjs +27 -0
  169. package/node_modules/@radix-ui/react-use-effect-event/dist/index.mjs.map +7 -0
  170. package/node_modules/@radix-ui/react-use-effect-event/package.json +65 -0
  171. package/node_modules/@radix-ui/react-use-effect-event/src/index.ts +1 -0
  172. package/node_modules/@radix-ui/react-use-effect-event/src/use-effect-event.tsx +36 -0
  173. package/node_modules/@radix-ui/react-use-layout-effect/README.md +13 -0
  174. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.d.mts +12 -0
  175. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.d.ts +12 -0
  176. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +41 -0
  177. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.js.map +7 -0
  178. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs +8 -0
  179. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs.map +7 -0
  180. package/node_modules/@radix-ui/react-use-layout-effect/package.json +75 -0
  181. package/node_modules/@remirror/core-constants/LICENSE +21 -0
  182. package/node_modules/@remirror/core-constants/dist/_tsup-dts-rollup.d.cts +612 -0
  183. package/node_modules/@remirror/core-constants/dist/_tsup-dts-rollup.d.ts +612 -0
  184. package/node_modules/@remirror/core-constants/dist/remirror-core-constants.cjs +314 -0
  185. package/node_modules/@remirror/core-constants/dist/remirror-core-constants.d.cts +20 -0
  186. package/node_modules/@remirror/core-constants/dist/remirror-core-constants.d.ts +20 -0
  187. package/node_modules/@remirror/core-constants/dist/remirror-core-constants.js +269 -0
  188. package/node_modules/@remirror/core-constants/dist-types/core-constants.d.ts +431 -0
  189. package/node_modules/@remirror/core-constants/dist-types/error-constants.d.ts +119 -0
  190. package/node_modules/@remirror/core-constants/dist-types/index.d.ts +2 -0
  191. package/node_modules/@remirror/core-constants/dist-types/tsconfig.tsbuildinfo +1 -0
  192. package/node_modules/@remirror/core-constants/package.json +45 -0
  193. package/node_modules/@remirror/core-constants/readme.md +17 -0
  194. package/node_modules/@tiptap/core/LICENSE.md +21 -0
  195. package/node_modules/@tiptap/core/README.md +18 -0
  196. package/node_modules/@tiptap/core/dist/index.cjs +7126 -0
  197. package/node_modules/@tiptap/core/dist/index.cjs.map +1 -0
  198. package/node_modules/@tiptap/core/dist/index.d.cts +4954 -0
  199. package/node_modules/@tiptap/core/dist/index.d.ts +4954 -0
  200. package/node_modules/@tiptap/core/dist/index.js +6992 -0
  201. package/node_modules/@tiptap/core/dist/index.js.map +1 -0
  202. package/node_modules/@tiptap/core/dist/jsx-runtime/jsx-runtime.cjs +56 -0
  203. package/node_modules/@tiptap/core/dist/jsx-runtime/jsx-runtime.cjs.map +1 -0
  204. package/node_modules/@tiptap/core/dist/jsx-runtime/jsx-runtime.d.cts +23 -0
  205. package/node_modules/@tiptap/core/dist/jsx-runtime/jsx-runtime.d.ts +23 -0
  206. package/node_modules/@tiptap/core/dist/jsx-runtime/jsx-runtime.js +26 -0
  207. package/node_modules/@tiptap/core/dist/jsx-runtime/jsx-runtime.js.map +1 -0
  208. package/node_modules/@tiptap/core/jsx-dev-runtime/index.cjs +1 -0
  209. package/node_modules/@tiptap/core/jsx-dev-runtime/index.d.cts +1 -0
  210. package/node_modules/@tiptap/core/jsx-dev-runtime/index.d.ts +1 -0
  211. package/node_modules/@tiptap/core/jsx-dev-runtime/index.js +1 -0
  212. package/node_modules/@tiptap/core/jsx-runtime/index.cjs +1 -0
  213. package/node_modules/@tiptap/core/jsx-runtime/index.d.cts +1 -0
  214. package/node_modules/@tiptap/core/jsx-runtime/index.d.ts +1 -0
  215. package/node_modules/@tiptap/core/jsx-runtime/index.js +1 -0
  216. package/node_modules/@tiptap/core/package.json +70 -0
  217. package/node_modules/@tiptap/core/src/CommandManager.ts +138 -0
  218. package/node_modules/@tiptap/core/src/Editor.ts +806 -0
  219. package/node_modules/@tiptap/core/src/EventEmitter.ts +58 -0
  220. package/node_modules/@tiptap/core/src/Extendable.ts +602 -0
  221. package/node_modules/@tiptap/core/src/Extension.ts +55 -0
  222. package/node_modules/@tiptap/core/src/ExtensionManager.ts +440 -0
  223. package/node_modules/@tiptap/core/src/InputRule.ts +290 -0
  224. package/node_modules/@tiptap/core/src/Mark.ts +211 -0
  225. package/node_modules/@tiptap/core/src/MarkView.ts +122 -0
  226. package/node_modules/@tiptap/core/src/Node.ts +377 -0
  227. package/node_modules/@tiptap/core/src/NodePos.ts +257 -0
  228. package/node_modules/@tiptap/core/src/NodeView.ts +339 -0
  229. package/node_modules/@tiptap/core/src/PasteRule.ts +373 -0
  230. package/node_modules/@tiptap/core/src/Tracker.ts +36 -0
  231. package/node_modules/@tiptap/core/src/__tests__/transformPastedHTML.test.ts +575 -0
  232. package/node_modules/@tiptap/core/src/commands/blur.ts +29 -0
  233. package/node_modules/@tiptap/core/src/commands/clearContent.ts +25 -0
  234. package/node_modules/@tiptap/core/src/commands/clearNodes.ts +57 -0
  235. package/node_modules/@tiptap/core/src/commands/command.ts +22 -0
  236. package/node_modules/@tiptap/core/src/commands/createParagraphNear.ts +21 -0
  237. package/node_modules/@tiptap/core/src/commands/cut.ts +36 -0
  238. package/node_modules/@tiptap/core/src/commands/deleteCurrentNode.ts +44 -0
  239. package/node_modules/@tiptap/core/src/commands/deleteNode.ts +41 -0
  240. package/node_modules/@tiptap/core/src/commands/deleteRange.ts +26 -0
  241. package/node_modules/@tiptap/core/src/commands/deleteSelection.ts +21 -0
  242. package/node_modules/@tiptap/core/src/commands/enter.ts +19 -0
  243. package/node_modules/@tiptap/core/src/commands/exitCode.ts +21 -0
  244. package/node_modules/@tiptap/core/src/commands/extendMarkRange.ts +51 -0
  245. package/node_modules/@tiptap/core/src/commands/first.ts +26 -0
  246. package/node_modules/@tiptap/core/src/commands/focus.ts +108 -0
  247. package/node_modules/@tiptap/core/src/commands/forEach.ts +24 -0
  248. package/node_modules/@tiptap/core/src/commands/index.ts +57 -0
  249. package/node_modules/@tiptap/core/src/commands/insertContent.ts +46 -0
  250. package/node_modules/@tiptap/core/src/commands/insertContentAt.ts +212 -0
  251. package/node_modules/@tiptap/core/src/commands/join.ts +69 -0
  252. package/node_modules/@tiptap/core/src/commands/joinItemBackward.ts +37 -0
  253. package/node_modules/@tiptap/core/src/commands/joinItemForward.ts +37 -0
  254. package/node_modules/@tiptap/core/src/commands/joinTextblockBackward.ts +20 -0
  255. package/node_modules/@tiptap/core/src/commands/joinTextblockForward.ts +20 -0
  256. package/node_modules/@tiptap/core/src/commands/keyboardShortcut.ts +100 -0
  257. package/node_modules/@tiptap/core/src/commands/lift.ts +34 -0
  258. package/node_modules/@tiptap/core/src/commands/liftEmptyBlock.ts +21 -0
  259. package/node_modules/@tiptap/core/src/commands/liftListItem.ts +26 -0
  260. package/node_modules/@tiptap/core/src/commands/newlineInCode.ts +21 -0
  261. package/node_modules/@tiptap/core/src/commands/resetAttributes.ts +73 -0
  262. package/node_modules/@tiptap/core/src/commands/scrollIntoView.ts +23 -0
  263. package/node_modules/@tiptap/core/src/commands/selectAll.ts +27 -0
  264. package/node_modules/@tiptap/core/src/commands/selectNodeBackward.ts +21 -0
  265. package/node_modules/@tiptap/core/src/commands/selectNodeForward.ts +21 -0
  266. package/node_modules/@tiptap/core/src/commands/selectParentNode.ts +21 -0
  267. package/node_modules/@tiptap/core/src/commands/selectTextblockEnd.ts +23 -0
  268. package/node_modules/@tiptap/core/src/commands/selectTextblockStart.ts +23 -0
  269. package/node_modules/@tiptap/core/src/commands/setContent.ts +76 -0
  270. package/node_modules/@tiptap/core/src/commands/setMark.ts +118 -0
  271. package/node_modules/@tiptap/core/src/commands/setMeta.ts +25 -0
  272. package/node_modules/@tiptap/core/src/commands/setNode.ts +57 -0
  273. package/node_modules/@tiptap/core/src/commands/setNodeSelection.ts +31 -0
  274. package/node_modules/@tiptap/core/src/commands/setTextDirection.ts +51 -0
  275. package/node_modules/@tiptap/core/src/commands/setTextSelection.ts +35 -0
  276. package/node_modules/@tiptap/core/src/commands/sinkListItem.ts +26 -0
  277. package/node_modules/@tiptap/core/src/commands/splitBlock.ts +115 -0
  278. package/node_modules/@tiptap/core/src/commands/splitListItem.ts +149 -0
  279. package/node_modules/@tiptap/core/src/commands/toggleList.ts +159 -0
  280. package/node_modules/@tiptap/core/src/commands/toggleMark.ts +51 -0
  281. package/node_modules/@tiptap/core/src/commands/toggleNode.ts +47 -0
  282. package/node_modules/@tiptap/core/src/commands/toggleWrap.ts +32 -0
  283. package/node_modules/@tiptap/core/src/commands/undoInputRule.ts +49 -0
  284. package/node_modules/@tiptap/core/src/commands/unsetAllMarks.ts +32 -0
  285. package/node_modules/@tiptap/core/src/commands/unsetMark.ts +65 -0
  286. package/node_modules/@tiptap/core/src/commands/unsetTextDirection.ts +51 -0
  287. package/node_modules/@tiptap/core/src/commands/updateAttributes.ts +150 -0
  288. package/node_modules/@tiptap/core/src/commands/wrapIn.ts +27 -0
  289. package/node_modules/@tiptap/core/src/commands/wrapInList.ts +27 -0
  290. package/node_modules/@tiptap/core/src/extensions/clipboardTextSerializer.ts +44 -0
  291. package/node_modules/@tiptap/core/src/extensions/commands.ts +14 -0
  292. package/node_modules/@tiptap/core/src/extensions/delete.ts +89 -0
  293. package/node_modules/@tiptap/core/src/extensions/drop.ts +26 -0
  294. package/node_modules/@tiptap/core/src/extensions/editable.ts +18 -0
  295. package/node_modules/@tiptap/core/src/extensions/focusEvents.ts +41 -0
  296. package/node_modules/@tiptap/core/src/extensions/index.ts +10 -0
  297. package/node_modules/@tiptap/core/src/extensions/keymap.ts +160 -0
  298. package/node_modules/@tiptap/core/src/extensions/paste.ts +25 -0
  299. package/node_modules/@tiptap/core/src/extensions/tabindex.ts +18 -0
  300. package/node_modules/@tiptap/core/src/extensions/textDirection.ts +86 -0
  301. package/node_modules/@tiptap/core/src/helpers/MappablePosition.ts +66 -0
  302. package/node_modules/@tiptap/core/src/helpers/combineTransactionSteps.ts +21 -0
  303. package/node_modules/@tiptap/core/src/helpers/createChainableState.ts +39 -0
  304. package/node_modules/@tiptap/core/src/helpers/createDocument.ts +24 -0
  305. package/node_modules/@tiptap/core/src/helpers/createNodeFromContent.ts +119 -0
  306. package/node_modules/@tiptap/core/src/helpers/defaultBlockAt.ts +18 -0
  307. package/node_modules/@tiptap/core/src/helpers/findChildren.ts +24 -0
  308. package/node_modules/@tiptap/core/src/helpers/findChildrenInRange.ts +36 -0
  309. package/node_modules/@tiptap/core/src/helpers/findParentNode.ts +18 -0
  310. package/node_modules/@tiptap/core/src/helpers/findParentNodeClosestToPos.ts +37 -0
  311. package/node_modules/@tiptap/core/src/helpers/flattenExtensions.ts +30 -0
  312. package/node_modules/@tiptap/core/src/helpers/generateHTML.ts +18 -0
  313. package/node_modules/@tiptap/core/src/helpers/generateJSON.ts +18 -0
  314. package/node_modules/@tiptap/core/src/helpers/generateText.ts +34 -0
  315. package/node_modules/@tiptap/core/src/helpers/getAttributes.ts +29 -0
  316. package/node_modules/@tiptap/core/src/helpers/getAttributesFromExtensions.ts +122 -0
  317. package/node_modules/@tiptap/core/src/helpers/getChangedRanges.ts +85 -0
  318. package/node_modules/@tiptap/core/src/helpers/getDebugJSON.ts +54 -0
  319. package/node_modules/@tiptap/core/src/helpers/getExtensionField.ts +32 -0
  320. package/node_modules/@tiptap/core/src/helpers/getHTMLFromFragment.ts +13 -0
  321. package/node_modules/@tiptap/core/src/helpers/getMarkAttributes.ts +30 -0
  322. package/node_modules/@tiptap/core/src/helpers/getMarkRange.ts +90 -0
  323. package/node_modules/@tiptap/core/src/helpers/getMarkType.ts +13 -0
  324. package/node_modules/@tiptap/core/src/helpers/getMarksBetween.ts +44 -0
  325. package/node_modules/@tiptap/core/src/helpers/getNodeAtPosition.ts +29 -0
  326. package/node_modules/@tiptap/core/src/helpers/getNodeAttributes.ts +22 -0
  327. package/node_modules/@tiptap/core/src/helpers/getNodeType.ts +13 -0
  328. package/node_modules/@tiptap/core/src/helpers/getRenderedAttributes.ts +23 -0
  329. package/node_modules/@tiptap/core/src/helpers/getSchema.ts +12 -0
  330. package/node_modules/@tiptap/core/src/helpers/getSchemaByResolvedExtensions.ts +183 -0
  331. package/node_modules/@tiptap/core/src/helpers/getSchemaTypeByName.ts +11 -0
  332. package/node_modules/@tiptap/core/src/helpers/getSchemaTypeNameByName.ts +19 -0
  333. package/node_modules/@tiptap/core/src/helpers/getSplittedAttributes.ts +28 -0
  334. package/node_modules/@tiptap/core/src/helpers/getText.ts +28 -0
  335. package/node_modules/@tiptap/core/src/helpers/getTextBetween.ts +52 -0
  336. package/node_modules/@tiptap/core/src/helpers/getTextContentFromNodes.ts +29 -0
  337. package/node_modules/@tiptap/core/src/helpers/getTextSerializersFromSchema.ts +16 -0
  338. package/node_modules/@tiptap/core/src/helpers/index.ts +55 -0
  339. package/node_modules/@tiptap/core/src/helpers/injectExtensionAttributesToParseRule.ts +47 -0
  340. package/node_modules/@tiptap/core/src/helpers/isActive.ts +23 -0
  341. package/node_modules/@tiptap/core/src/helpers/isAtEndOfNode.ts +29 -0
  342. package/node_modules/@tiptap/core/src/helpers/isAtStartOfNode.ts +11 -0
  343. package/node_modules/@tiptap/core/src/helpers/isExtensionRulesEnabled.ts +13 -0
  344. package/node_modules/@tiptap/core/src/helpers/isList.ts +27 -0
  345. package/node_modules/@tiptap/core/src/helpers/isMarkActive.ts +94 -0
  346. package/node_modules/@tiptap/core/src/helpers/isNodeActive.ts +51 -0
  347. package/node_modules/@tiptap/core/src/helpers/isNodeEmpty.ts +62 -0
  348. package/node_modules/@tiptap/core/src/helpers/isNodeSelection.ts +5 -0
  349. package/node_modules/@tiptap/core/src/helpers/isTextSelection.ts +5 -0
  350. package/node_modules/@tiptap/core/src/helpers/posToDOMRect.ts +35 -0
  351. package/node_modules/@tiptap/core/src/helpers/resolveExtensions.ts +25 -0
  352. package/node_modules/@tiptap/core/src/helpers/resolveFocusPosition.ts +31 -0
  353. package/node_modules/@tiptap/core/src/helpers/rewriteUnknownContent.ts +149 -0
  354. package/node_modules/@tiptap/core/src/helpers/selectionToInsertionEnd.ts +29 -0
  355. package/node_modules/@tiptap/core/src/helpers/sortExtensions.ts +26 -0
  356. package/node_modules/@tiptap/core/src/helpers/splitExtensions.ts +16 -0
  357. package/node_modules/@tiptap/core/src/index.ts +28 -0
  358. package/node_modules/@tiptap/core/src/inputRules/index.ts +5 -0
  359. package/node_modules/@tiptap/core/src/inputRules/markInputRule.ts +68 -0
  360. package/node_modules/@tiptap/core/src/inputRules/nodeInputRule.ts +73 -0
  361. package/node_modules/@tiptap/core/src/inputRules/textInputRule.ts +35 -0
  362. package/node_modules/@tiptap/core/src/inputRules/textblockTypeInputRule.ts +35 -0
  363. package/node_modules/@tiptap/core/src/inputRules/wrappingInputRule.ts +82 -0
  364. package/node_modules/@tiptap/core/src/jsx-runtime.ts +65 -0
  365. package/node_modules/@tiptap/core/src/lib/ResizableNodeView.ts +1060 -0
  366. package/node_modules/@tiptap/core/src/lib/index.ts +1 -0
  367. package/node_modules/@tiptap/core/src/pasteRules/index.ts +3 -0
  368. package/node_modules/@tiptap/core/src/pasteRules/markPasteRule.ts +71 -0
  369. package/node_modules/@tiptap/core/src/pasteRules/nodePasteRule.ts +44 -0
  370. package/node_modules/@tiptap/core/src/pasteRules/textPasteRule.ts +34 -0
  371. package/node_modules/@tiptap/core/src/style.ts +71 -0
  372. package/node_modules/@tiptap/core/src/types.ts +1058 -0
  373. package/node_modules/@tiptap/core/src/utilities/callOrReturn.ts +21 -0
  374. package/node_modules/@tiptap/core/src/utilities/canInsertNode.ts +30 -0
  375. package/node_modules/@tiptap/core/src/utilities/createStyleTag.ts +21 -0
  376. package/node_modules/@tiptap/core/src/utilities/deleteProps.ts +16 -0
  377. package/node_modules/@tiptap/core/src/utilities/elementFromString.ts +27 -0
  378. package/node_modules/@tiptap/core/src/utilities/escapeForRegEx.ts +4 -0
  379. package/node_modules/@tiptap/core/src/utilities/findDuplicates.ts +8 -0
  380. package/node_modules/@tiptap/core/src/utilities/fromString.ts +19 -0
  381. package/node_modules/@tiptap/core/src/utilities/index.ts +26 -0
  382. package/node_modules/@tiptap/core/src/utilities/isAndroid.ts +3 -0
  383. package/node_modules/@tiptap/core/src/utilities/isEmptyObject.ts +3 -0
  384. package/node_modules/@tiptap/core/src/utilities/isFirefox.ts +11 -0
  385. package/node_modules/@tiptap/core/src/utilities/isFunction.ts +4 -0
  386. package/node_modules/@tiptap/core/src/utilities/isMacOS.ts +3 -0
  387. package/node_modules/@tiptap/core/src/utilities/isNumber.ts +3 -0
  388. package/node_modules/@tiptap/core/src/utilities/isPlainObject.ts +13 -0
  389. package/node_modules/@tiptap/core/src/utilities/isRegExp.ts +3 -0
  390. package/node_modules/@tiptap/core/src/utilities/isSafari.ts +11 -0
  391. package/node_modules/@tiptap/core/src/utilities/isString.ts +3 -0
  392. package/node_modules/@tiptap/core/src/utilities/isiOS.ts +7 -0
  393. package/node_modules/@tiptap/core/src/utilities/markdown/attributeUtils.ts +130 -0
  394. package/node_modules/@tiptap/core/src/utilities/markdown/createAtomBlockMarkdownSpec.ts +141 -0
  395. package/node_modules/@tiptap/core/src/utilities/markdown/createBlockMarkdownSpec.ts +225 -0
  396. package/node_modules/@tiptap/core/src/utilities/markdown/createInlineMarkdownSpec.ts +282 -0
  397. package/node_modules/@tiptap/core/src/utilities/markdown/index.ts +13 -0
  398. package/node_modules/@tiptap/core/src/utilities/markdown/parseIndentedBlocks.ts +194 -0
  399. package/node_modules/@tiptap/core/src/utilities/markdown/renderNestedMarkdownContent.ts +96 -0
  400. package/node_modules/@tiptap/core/src/utilities/mergeAttributes.ts +109 -0
  401. package/node_modules/@tiptap/core/src/utilities/mergeDeep.ts +17 -0
  402. package/node_modules/@tiptap/core/src/utilities/minMax.ts +3 -0
  403. package/node_modules/@tiptap/core/src/utilities/objectIncludes.ts +30 -0
  404. package/node_modules/@tiptap/core/src/utilities/removeDuplicates.ts +13 -0
  405. package/node_modules/@tiptap/extension-bubble-menu/LICENSE.md +21 -0
  406. package/node_modules/@tiptap/extension-bubble-menu/README.md +18 -0
  407. package/node_modules/@tiptap/extension-bubble-menu/dist/index.cjs +462 -0
  408. package/node_modules/@tiptap/extension-bubble-menu/dist/index.cjs.map +1 -0
  409. package/node_modules/@tiptap/extension-bubble-menu/dist/index.d.cts +169 -0
  410. package/node_modules/@tiptap/extension-bubble-menu/dist/index.d.ts +169 -0
  411. package/node_modules/@tiptap/extension-bubble-menu/dist/index.js +443 -0
  412. package/node_modules/@tiptap/extension-bubble-menu/dist/index.js.map +1 -0
  413. package/node_modules/@tiptap/extension-bubble-menu/package.json +54 -0
  414. package/node_modules/@tiptap/extension-bubble-menu/src/bubble-menu-plugin.ts +650 -0
  415. package/node_modules/@tiptap/extension-bubble-menu/src/bubble-menu.ts +50 -0
  416. package/node_modules/@tiptap/extension-bubble-menu/src/index.ts +6 -0
  417. package/node_modules/@tiptap/extension-floating-menu/LICENSE.md +21 -0
  418. package/node_modules/@tiptap/extension-floating-menu/README.md +18 -0
  419. package/node_modules/@tiptap/extension-floating-menu/dist/index.cjs +380 -0
  420. package/node_modules/@tiptap/extension-floating-menu/dist/index.cjs.map +1 -0
  421. package/node_modules/@tiptap/extension-floating-menu/dist/index.d.cts +179 -0
  422. package/node_modules/@tiptap/extension-floating-menu/dist/index.d.ts +179 -0
  423. package/node_modules/@tiptap/extension-floating-menu/dist/index.js +361 -0
  424. package/node_modules/@tiptap/extension-floating-menu/dist/index.js.map +1 -0
  425. package/node_modules/@tiptap/extension-floating-menu/package.json +53 -0
  426. package/node_modules/@tiptap/extension-floating-menu/src/floating-menu-plugin.ts +525 -0
  427. package/node_modules/@tiptap/extension-floating-menu/src/floating-menu.ts +77 -0
  428. package/node_modules/@tiptap/extension-floating-menu/src/index.ts +6 -0
  429. package/node_modules/@tiptap/extension-mention/LICENSE.md +21 -0
  430. package/node_modules/@tiptap/extension-mention/README.md +18 -0
  431. package/node_modules/@tiptap/extension-mention/dist/index.cjs +277 -0
  432. package/node_modules/@tiptap/extension-mention/dist/index.cjs.map +1 -0
  433. package/node_modules/@tiptap/extension-mention/dist/index.d.cts +93 -0
  434. package/node_modules/@tiptap/extension-mention/dist/index.d.ts +93 -0
  435. package/node_modules/@tiptap/extension-mention/dist/index.js +250 -0
  436. package/node_modules/@tiptap/extension-mention/dist/index.js.map +1 -0
  437. package/node_modules/@tiptap/extension-mention/package.json +52 -0
  438. package/node_modules/@tiptap/extension-mention/src/index.ts +5 -0
  439. package/node_modules/@tiptap/extension-mention/src/mention.ts +357 -0
  440. package/node_modules/@tiptap/extension-mention/src/utils/get-default-suggestion-attributes.ts +89 -0
  441. package/node_modules/@tiptap/pm/LICENSE.md +21 -0
  442. package/node_modules/@tiptap/pm/README.md +22 -0
  443. package/node_modules/@tiptap/pm/changeset/index.ts +1 -0
  444. package/node_modules/@tiptap/pm/collab/index.ts +1 -0
  445. package/node_modules/@tiptap/pm/commands/index.ts +1 -0
  446. package/node_modules/@tiptap/pm/dist/changeset/index.cjs +2 -0
  447. package/node_modules/@tiptap/pm/dist/changeset/index.d.cts +18 -0
  448. package/node_modules/@tiptap/pm/dist/changeset/index.d.ts +18 -0
  449. package/node_modules/@tiptap/pm/dist/changeset/index.js +2 -0
  450. package/node_modules/@tiptap/pm/dist/collab/index.cjs +2 -0
  451. package/node_modules/@tiptap/pm/dist/collab/index.d.cts +1 -0
  452. package/node_modules/@tiptap/pm/dist/collab/index.d.ts +1 -0
  453. package/node_modules/@tiptap/pm/dist/collab/index.js +2 -0
  454. package/node_modules/@tiptap/pm/dist/commands/index.cjs +2 -0
  455. package/node_modules/@tiptap/pm/dist/commands/index.d.cts +1 -0
  456. package/node_modules/@tiptap/pm/dist/commands/index.d.ts +1 -0
  457. package/node_modules/@tiptap/pm/dist/commands/index.js +2 -0
  458. package/node_modules/@tiptap/pm/dist/dropcursor/index.cjs +2 -0
  459. package/node_modules/@tiptap/pm/dist/dropcursor/index.d.cts +1 -0
  460. package/node_modules/@tiptap/pm/dist/dropcursor/index.d.ts +1 -0
  461. package/node_modules/@tiptap/pm/dist/dropcursor/index.js +2 -0
  462. package/node_modules/@tiptap/pm/dist/gapcursor/index.cjs +2 -0
  463. package/node_modules/@tiptap/pm/dist/gapcursor/index.d.cts +1 -0
  464. package/node_modules/@tiptap/pm/dist/gapcursor/index.d.ts +1 -0
  465. package/node_modules/@tiptap/pm/dist/gapcursor/index.js +2 -0
  466. package/node_modules/@tiptap/pm/dist/history/index.cjs +2 -0
  467. package/node_modules/@tiptap/pm/dist/history/index.d.cts +1 -0
  468. package/node_modules/@tiptap/pm/dist/history/index.d.ts +1 -0
  469. package/node_modules/@tiptap/pm/dist/history/index.js +2 -0
  470. package/node_modules/@tiptap/pm/dist/inputrules/index.cjs +2 -0
  471. package/node_modules/@tiptap/pm/dist/inputrules/index.d.cts +1 -0
  472. package/node_modules/@tiptap/pm/dist/inputrules/index.d.ts +1 -0
  473. package/node_modules/@tiptap/pm/dist/inputrules/index.js +2 -0
  474. package/node_modules/@tiptap/pm/dist/keymap/index.cjs +2 -0
  475. package/node_modules/@tiptap/pm/dist/keymap/index.d.cts +1 -0
  476. package/node_modules/@tiptap/pm/dist/keymap/index.d.ts +1 -0
  477. package/node_modules/@tiptap/pm/dist/keymap/index.js +2 -0
  478. package/node_modules/@tiptap/pm/dist/markdown/index.cjs +2 -0
  479. package/node_modules/@tiptap/pm/dist/markdown/index.d.cts +1 -0
  480. package/node_modules/@tiptap/pm/dist/markdown/index.d.ts +1 -0
  481. package/node_modules/@tiptap/pm/dist/markdown/index.js +2 -0
  482. package/node_modules/@tiptap/pm/dist/menu/index.cjs +2 -0
  483. package/node_modules/@tiptap/pm/dist/menu/index.d.cts +1 -0
  484. package/node_modules/@tiptap/pm/dist/menu/index.d.ts +1 -0
  485. package/node_modules/@tiptap/pm/dist/menu/index.js +2 -0
  486. package/node_modules/@tiptap/pm/dist/model/index.cjs +2 -0
  487. package/node_modules/@tiptap/pm/dist/model/index.d.cts +1 -0
  488. package/node_modules/@tiptap/pm/dist/model/index.d.ts +1 -0
  489. package/node_modules/@tiptap/pm/dist/model/index.js +2 -0
  490. package/node_modules/@tiptap/pm/dist/schema-basic/index.cjs +2 -0
  491. package/node_modules/@tiptap/pm/dist/schema-basic/index.d.cts +1 -0
  492. package/node_modules/@tiptap/pm/dist/schema-basic/index.d.ts +1 -0
  493. package/node_modules/@tiptap/pm/dist/schema-basic/index.js +2 -0
  494. package/node_modules/@tiptap/pm/dist/schema-list/index.cjs +2 -0
  495. package/node_modules/@tiptap/pm/dist/schema-list/index.d.cts +1 -0
  496. package/node_modules/@tiptap/pm/dist/schema-list/index.d.ts +1 -0
  497. package/node_modules/@tiptap/pm/dist/schema-list/index.js +2 -0
  498. package/node_modules/@tiptap/pm/dist/state/index.cjs +2 -0
  499. package/node_modules/@tiptap/pm/dist/state/index.d.cts +1 -0
  500. package/node_modules/@tiptap/pm/dist/state/index.d.ts +1 -0
  501. package/node_modules/@tiptap/pm/dist/state/index.js +2 -0
  502. package/node_modules/@tiptap/pm/dist/tables/index.cjs +2 -0
  503. package/node_modules/@tiptap/pm/dist/tables/index.d.cts +1 -0
  504. package/node_modules/@tiptap/pm/dist/tables/index.d.ts +1 -0
  505. package/node_modules/@tiptap/pm/dist/tables/index.js +2 -0
  506. package/node_modules/@tiptap/pm/dist/trailing-node/index.cjs +2 -0
  507. package/node_modules/@tiptap/pm/dist/trailing-node/index.d.cts +1 -0
  508. package/node_modules/@tiptap/pm/dist/trailing-node/index.d.ts +1 -0
  509. package/node_modules/@tiptap/pm/dist/trailing-node/index.js +2 -0
  510. package/node_modules/@tiptap/pm/dist/transform/index.cjs +2 -0
  511. package/node_modules/@tiptap/pm/dist/transform/index.d.cts +1 -0
  512. package/node_modules/@tiptap/pm/dist/transform/index.d.ts +1 -0
  513. package/node_modules/@tiptap/pm/dist/transform/index.js +2 -0
  514. package/node_modules/@tiptap/pm/dist/view/index.cjs +2 -0
  515. package/node_modules/@tiptap/pm/dist/view/index.d.cts +1 -0
  516. package/node_modules/@tiptap/pm/dist/view/index.d.ts +1 -0
  517. package/node_modules/@tiptap/pm/dist/view/index.js +2 -0
  518. package/node_modules/@tiptap/pm/dropcursor/index.ts +1 -0
  519. package/node_modules/@tiptap/pm/gapcursor/index.ts +1 -0
  520. package/node_modules/@tiptap/pm/history/index.ts +1 -0
  521. package/node_modules/@tiptap/pm/inputrules/index.ts +1 -0
  522. package/node_modules/@tiptap/pm/keymap/index.ts +1 -0
  523. package/node_modules/@tiptap/pm/markdown/index.ts +1 -0
  524. package/node_modules/@tiptap/pm/menu/index.ts +1 -0
  525. package/node_modules/@tiptap/pm/model/index.ts +1 -0
  526. package/node_modules/@tiptap/pm/package.json +211 -0
  527. package/node_modules/@tiptap/pm/schema-basic/index.ts +1 -0
  528. package/node_modules/@tiptap/pm/schema-list/index.ts +1 -0
  529. package/node_modules/@tiptap/pm/state/index.ts +1 -0
  530. package/node_modules/@tiptap/pm/tables/index.ts +1 -0
  531. package/node_modules/@tiptap/pm/trailing-node/index.ts +1 -0
  532. package/node_modules/@tiptap/pm/transform/index.ts +1 -0
  533. package/node_modules/@tiptap/pm/view/index.ts +1 -0
  534. package/node_modules/@tiptap/react/LICENSE.md +21 -0
  535. package/node_modules/@tiptap/react/README.md +18 -0
  536. package/node_modules/@tiptap/react/dist/index.cjs +1195 -0
  537. package/node_modules/@tiptap/react/dist/index.cjs.map +1 -0
  538. package/node_modules/@tiptap/react/dist/index.d.cts +534 -0
  539. package/node_modules/@tiptap/react/dist/index.d.ts +534 -0
  540. package/node_modules/@tiptap/react/dist/index.js +1131 -0
  541. package/node_modules/@tiptap/react/dist/index.js.map +1 -0
  542. package/node_modules/@tiptap/react/dist/menus/index.cjs +499 -0
  543. package/node_modules/@tiptap/react/dist/menus/index.cjs.map +1 -0
  544. package/node_modules/@tiptap/react/dist/menus/index.d.cts +19 -0
  545. package/node_modules/@tiptap/react/dist/menus/index.d.ts +19 -0
  546. package/node_modules/@tiptap/react/dist/menus/index.js +461 -0
  547. package/node_modules/@tiptap/react/dist/menus/index.js.map +1 -0
  548. package/node_modules/@tiptap/react/package.json +76 -0
  549. package/node_modules/@tiptap/react/src/Context.tsx +60 -0
  550. package/node_modules/@tiptap/react/src/Editor.ts +13 -0
  551. package/node_modules/@tiptap/react/src/EditorContent.tsx +229 -0
  552. package/node_modules/@tiptap/react/src/NodeViewContent.tsx +30 -0
  553. package/node_modules/@tiptap/react/src/NodeViewWrapper.tsx +27 -0
  554. package/node_modules/@tiptap/react/src/ReactMarkViewRenderer.tsx +106 -0
  555. package/node_modules/@tiptap/react/src/ReactNodeViewRenderer.tsx +387 -0
  556. package/node_modules/@tiptap/react/src/ReactRenderer.tsx +282 -0
  557. package/node_modules/@tiptap/react/src/Tiptap.tsx +224 -0
  558. package/node_modules/@tiptap/react/src/index.ts +13 -0
  559. package/node_modules/@tiptap/react/src/menus/BubbleMenu.spec.ts +174 -0
  560. package/node_modules/@tiptap/react/src/menus/BubbleMenu.tsx +153 -0
  561. package/node_modules/@tiptap/react/src/menus/FloatingMenu.spec.ts +164 -0
  562. package/node_modules/@tiptap/react/src/menus/FloatingMenu.tsx +137 -0
  563. package/node_modules/@tiptap/react/src/menus/getAutoPluginKey.ts +5 -0
  564. package/node_modules/@tiptap/react/src/menus/index.ts +2 -0
  565. package/node_modules/@tiptap/react/src/menus/useMenuElementProps.ts +354 -0
  566. package/node_modules/@tiptap/react/src/types.ts +6 -0
  567. package/node_modules/@tiptap/react/src/useEditor.ts +382 -0
  568. package/node_modules/@tiptap/react/src/useEditorState.ts +173 -0
  569. package/node_modules/@tiptap/react/src/useReactNodeView.ts +28 -0
  570. package/node_modules/@tiptap/suggestion/LICENSE.md +21 -0
  571. package/node_modules/@tiptap/suggestion/README.md +18 -0
  572. package/node_modules/@tiptap/suggestion/dist/index.cjs +369 -0
  573. package/node_modules/@tiptap/suggestion/dist/index.cjs.map +1 -0
  574. package/node_modules/@tiptap/suggestion/dist/index.d.cts +213 -0
  575. package/node_modules/@tiptap/suggestion/dist/index.d.ts +213 -0
  576. package/node_modules/@tiptap/suggestion/dist/index.js +339 -0
  577. package/node_modules/@tiptap/suggestion/dist/index.js.map +1 -0
  578. package/node_modules/@tiptap/suggestion/package.json +50 -0
  579. package/node_modules/@tiptap/suggestion/src/__tests__/suggestion.test.ts +127 -0
  580. package/node_modules/@tiptap/suggestion/src/findSuggestionMatch.ts +79 -0
  581. package/node_modules/@tiptap/suggestion/src/index.ts +8 -0
  582. package/node_modules/@tiptap/suggestion/src/suggestion.ts +585 -0
  583. package/node_modules/@types/linkify-it/LICENSE +21 -0
  584. package/node_modules/@types/linkify-it/README.md +15 -0
  585. package/node_modules/@types/linkify-it/build/index.cjs.d.ts +178 -0
  586. package/node_modules/@types/linkify-it/index.d.mts +174 -0
  587. package/node_modules/@types/linkify-it/index.d.ts +3 -0
  588. package/node_modules/@types/linkify-it/package.json +50 -0
  589. package/node_modules/@types/markdown-it/LICENSE +21 -0
  590. package/node_modules/@types/markdown-it/README.md +15 -0
  591. package/node_modules/@types/markdown-it/dist/index.cjs.d.ts +1236 -0
  592. package/node_modules/@types/markdown-it/dist/markdown-it.d.ts +5 -0
  593. package/node_modules/@types/markdown-it/dist/markdown-it.min.d.ts +5 -0
  594. package/node_modules/@types/markdown-it/index.d.mts +1 -0
  595. package/node_modules/@types/markdown-it/index.d.ts +3 -0
  596. package/node_modules/@types/markdown-it/lib/common/html_blocks.d.mts +7 -0
  597. package/node_modules/@types/markdown-it/lib/common/html_re.d.mts +2 -0
  598. package/node_modules/@types/markdown-it/lib/common/utils.d.mts +62 -0
  599. package/node_modules/@types/markdown-it/lib/helpers/index.d.mts +5 -0
  600. package/node_modules/@types/markdown-it/lib/helpers/parse_link_destination.d.mts +7 -0
  601. package/node_modules/@types/markdown-it/lib/helpers/parse_link_label.d.mts +3 -0
  602. package/node_modules/@types/markdown-it/lib/helpers/parse_link_title.d.mts +29 -0
  603. package/node_modules/@types/markdown-it/lib/index.d.mts +404 -0
  604. package/node_modules/@types/markdown-it/lib/parser_block.d.mts +25 -0
  605. package/node_modules/@types/markdown-it/lib/parser_core.d.mts +18 -0
  606. package/node_modules/@types/markdown-it/lib/parser_inline.d.mts +38 -0
  607. package/node_modules/@types/markdown-it/lib/renderer.d.mts +96 -0
  608. package/node_modules/@types/markdown-it/lib/ruler.d.mts +158 -0
  609. package/node_modules/@types/markdown-it/lib/rules_block/state_block.d.mts +124 -0
  610. package/node_modules/@types/markdown-it/lib/rules_core/state_core.d.mts +18 -0
  611. package/node_modules/@types/markdown-it/lib/rules_inline/state_inline.d.mts +73 -0
  612. package/node_modules/@types/markdown-it/lib/token.d.mts +108 -0
  613. package/node_modules/@types/markdown-it/package.json +54 -0
  614. package/node_modules/@types/mdurl/LICENSE +21 -0
  615. package/node_modules/@types/mdurl/README.md +15 -0
  616. package/node_modules/@types/mdurl/build/index.cjs.d.ts +52 -0
  617. package/node_modules/@types/mdurl/index.d.mts +6 -0
  618. package/node_modules/@types/mdurl/index.d.ts +3 -0
  619. package/node_modules/@types/mdurl/lib/decode.d.mts +10 -0
  620. package/node_modules/@types/mdurl/lib/encode.d.mts +15 -0
  621. package/node_modules/@types/mdurl/lib/format.d.mts +3 -0
  622. package/node_modules/@types/mdurl/lib/parse.d.mts +18 -0
  623. package/node_modules/@types/mdurl/package.json +36 -0
  624. package/node_modules/@types/use-sync-external-store/LICENSE +21 -0
  625. package/node_modules/@types/use-sync-external-store/README.md +15 -0
  626. package/node_modules/@types/use-sync-external-store/index.d.ts +5 -0
  627. package/node_modules/@types/use-sync-external-store/package.json +30 -0
  628. package/node_modules/@types/use-sync-external-store/shim/index.d.ts +1 -0
  629. package/node_modules/@types/use-sync-external-store/shim/with-selector.d.ts +1 -0
  630. package/node_modules/@types/use-sync-external-store/with-selector.d.ts +7 -0
  631. package/node_modules/argparse/LICENSE +254 -0
  632. package/node_modules/argparse/README.md +84 -0
  633. package/node_modules/argparse/argparse.js +3707 -0
  634. package/node_modules/argparse/lib/sub.js +67 -0
  635. package/node_modules/argparse/lib/textwrap.js +440 -0
  636. package/node_modules/argparse/package.json +31 -0
  637. package/node_modules/crelt/LICENSE +19 -0
  638. package/node_modules/crelt/README.md +23 -0
  639. package/node_modules/crelt/dist/index.cjs +31 -0
  640. package/node_modules/crelt/dist/index.d.cts +4 -0
  641. package/node_modules/crelt/index.d.ts +4 -0
  642. package/node_modules/crelt/index.js +28 -0
  643. package/node_modules/crelt/package.json +35 -0
  644. package/node_modules/crelt/rollup.config.js +13 -0
  645. package/node_modules/entities/LICENSE +11 -0
  646. package/node_modules/entities/lib/decode.d.ts +211 -0
  647. package/node_modules/entities/lib/decode.d.ts.map +1 -0
  648. package/node_modules/entities/lib/decode.js +536 -0
  649. package/node_modules/entities/lib/decode.js.map +1 -0
  650. package/node_modules/entities/lib/decode_codepoint.d.ts +19 -0
  651. package/node_modules/entities/lib/decode_codepoint.d.ts.map +1 -0
  652. package/node_modules/entities/lib/decode_codepoint.js +76 -0
  653. package/node_modules/entities/lib/decode_codepoint.js.map +1 -0
  654. package/node_modules/entities/lib/encode.d.ts +22 -0
  655. package/node_modules/entities/lib/encode.d.ts.map +1 -0
  656. package/node_modules/entities/lib/encode.js +77 -0
  657. package/node_modules/entities/lib/encode.js.map +1 -0
  658. package/node_modules/entities/lib/escape.d.ts +43 -0
  659. package/node_modules/entities/lib/escape.d.ts.map +1 -0
  660. package/node_modules/entities/lib/escape.js +122 -0
  661. package/node_modules/entities/lib/escape.js.map +1 -0
  662. package/node_modules/entities/lib/esm/decode.d.ts +211 -0
  663. package/node_modules/entities/lib/esm/decode.d.ts.map +1 -0
  664. package/node_modules/entities/lib/esm/decode.js +496 -0
  665. package/node_modules/entities/lib/esm/decode.js.map +1 -0
  666. package/node_modules/entities/lib/esm/decode_codepoint.d.ts +19 -0
  667. package/node_modules/entities/lib/esm/decode_codepoint.d.ts.map +1 -0
  668. package/node_modules/entities/lib/esm/decode_codepoint.js +71 -0
  669. package/node_modules/entities/lib/esm/decode_codepoint.js.map +1 -0
  670. package/node_modules/entities/lib/esm/encode.d.ts +22 -0
  671. package/node_modules/entities/lib/esm/encode.d.ts.map +1 -0
  672. package/node_modules/entities/lib/esm/encode.js +69 -0
  673. package/node_modules/entities/lib/esm/encode.js.map +1 -0
  674. package/node_modules/entities/lib/esm/escape.d.ts +43 -0
  675. package/node_modules/entities/lib/esm/escape.d.ts.map +1 -0
  676. package/node_modules/entities/lib/esm/escape.js +116 -0
  677. package/node_modules/entities/lib/esm/escape.js.map +1 -0
  678. package/node_modules/entities/lib/esm/generated/decode-data-html.d.ts +3 -0
  679. package/node_modules/entities/lib/esm/generated/decode-data-html.d.ts.map +1 -0
  680. package/node_modules/entities/lib/esm/generated/decode-data-html.js +7 -0
  681. package/node_modules/entities/lib/esm/generated/decode-data-html.js.map +1 -0
  682. package/node_modules/entities/lib/esm/generated/decode-data-xml.d.ts +3 -0
  683. package/node_modules/entities/lib/esm/generated/decode-data-xml.d.ts.map +1 -0
  684. package/node_modules/entities/lib/esm/generated/decode-data-xml.js +7 -0
  685. package/node_modules/entities/lib/esm/generated/decode-data-xml.js.map +1 -0
  686. package/node_modules/entities/lib/esm/generated/encode-html.d.ts +8 -0
  687. package/node_modules/entities/lib/esm/generated/encode-html.d.ts.map +1 -0
  688. package/node_modules/entities/lib/esm/generated/encode-html.js +10 -0
  689. package/node_modules/entities/lib/esm/generated/encode-html.js.map +1 -0
  690. package/node_modules/entities/lib/esm/index.d.ts +96 -0
  691. package/node_modules/entities/lib/esm/index.d.ts.map +1 -0
  692. package/node_modules/entities/lib/esm/index.js +99 -0
  693. package/node_modules/entities/lib/esm/index.js.map +1 -0
  694. package/node_modules/entities/lib/esm/package.json +1 -0
  695. package/node_modules/entities/lib/generated/decode-data-html.d.ts +3 -0
  696. package/node_modules/entities/lib/generated/decode-data-html.d.ts.map +1 -0
  697. package/node_modules/entities/lib/generated/decode-data-html.js +9 -0
  698. package/node_modules/entities/lib/generated/decode-data-html.js.map +1 -0
  699. package/node_modules/entities/lib/generated/decode-data-xml.d.ts +3 -0
  700. package/node_modules/entities/lib/generated/decode-data-xml.d.ts.map +1 -0
  701. package/node_modules/entities/lib/generated/decode-data-xml.js +9 -0
  702. package/node_modules/entities/lib/generated/decode-data-xml.js.map +1 -0
  703. package/node_modules/entities/lib/generated/encode-html.d.ts +8 -0
  704. package/node_modules/entities/lib/generated/encode-html.d.ts.map +1 -0
  705. package/node_modules/entities/lib/generated/encode-html.js +12 -0
  706. package/node_modules/entities/lib/generated/encode-html.js.map +1 -0
  707. package/node_modules/entities/lib/index.d.ts +96 -0
  708. package/node_modules/entities/lib/index.d.ts.map +1 -0
  709. package/node_modules/entities/lib/index.js +126 -0
  710. package/node_modules/entities/lib/index.js.map +1 -0
  711. package/node_modules/entities/package.json +90 -0
  712. package/node_modules/entities/readme.md +122 -0
  713. package/node_modules/escape-string-regexp/index.d.ts +18 -0
  714. package/node_modules/escape-string-regexp/index.js +13 -0
  715. package/node_modules/escape-string-regexp/license +9 -0
  716. package/node_modules/escape-string-regexp/package.json +38 -0
  717. package/node_modules/escape-string-regexp/readme.md +34 -0
  718. package/node_modules/fast-equals/LICENSE +21 -0
  719. package/node_modules/fast-equals/README.md +477 -0
  720. package/node_modules/fast-equals/dist/cjs/comparator.d.cts +60 -0
  721. package/node_modules/fast-equals/dist/cjs/equals.d.cts +62 -0
  722. package/node_modules/fast-equals/dist/cjs/index.cjs +653 -0
  723. package/node_modules/fast-equals/dist/cjs/index.cjs.map +1 -0
  724. package/node_modules/fast-equals/dist/cjs/index.d.cts +66 -0
  725. package/node_modules/fast-equals/dist/cjs/internalTypes.d.cts +178 -0
  726. package/node_modules/fast-equals/dist/cjs/utils.d.cts +33 -0
  727. package/node_modules/fast-equals/dist/es/comparator.d.mts +60 -0
  728. package/node_modules/fast-equals/dist/es/equals.d.mts +62 -0
  729. package/node_modules/fast-equals/dist/es/index.d.mts +66 -0
  730. package/node_modules/fast-equals/dist/es/index.mjs +642 -0
  731. package/node_modules/fast-equals/dist/es/index.mjs.map +1 -0
  732. package/node_modules/fast-equals/dist/es/internalTypes.d.mts +178 -0
  733. package/node_modules/fast-equals/dist/es/utils.d.mts +33 -0
  734. package/node_modules/fast-equals/dist/umd/comparator.d.ts +26 -0
  735. package/node_modules/fast-equals/dist/umd/equals.d.ts +62 -0
  736. package/node_modules/fast-equals/dist/umd/index.d.ts +47 -0
  737. package/node_modules/fast-equals/dist/umd/index.js +659 -0
  738. package/node_modules/fast-equals/dist/umd/index.js.map +1 -0
  739. package/node_modules/fast-equals/dist/umd/internalTypes.d.ts +159 -0
  740. package/node_modules/fast-equals/dist/umd/utils.d.ts +28 -0
  741. package/node_modules/fast-equals/index.d.ts +260 -0
  742. package/node_modules/fast-equals/package.json +113 -0
  743. package/node_modules/linkify-it/LICENSE +22 -0
  744. package/node_modules/linkify-it/README.md +196 -0
  745. package/node_modules/linkify-it/build/index.cjs.js +832 -0
  746. package/node_modules/linkify-it/index.mjs +642 -0
  747. package/node_modules/linkify-it/lib/re.mjs +189 -0
  748. package/node_modules/linkify-it/package.json +58 -0
  749. package/node_modules/markdown-it/LICENSE +22 -0
  750. package/node_modules/markdown-it/README.md +324 -0
  751. package/node_modules/markdown-it/bin/markdown-it.mjs +107 -0
  752. package/node_modules/markdown-it/dist/index.cjs.js +5547 -0
  753. package/node_modules/markdown-it/dist/markdown-it.js +6969 -0
  754. package/node_modules/markdown-it/dist/markdown-it.min.js +2 -0
  755. package/node_modules/markdown-it/index.mjs +1 -0
  756. package/node_modules/markdown-it/lib/common/html_blocks.mjs +67 -0
  757. package/node_modules/markdown-it/lib/common/html_re.mjs +25 -0
  758. package/node_modules/markdown-it/lib/common/utils.mjs +304 -0
  759. package/node_modules/markdown-it/lib/helpers/index.mjs +11 -0
  760. package/node_modules/markdown-it/lib/helpers/parse_link_destination.mjs +77 -0
  761. package/node_modules/markdown-it/lib/helpers/parse_link_label.mjs +49 -0
  762. package/node_modules/markdown-it/lib/helpers/parse_link_title.mjs +66 -0
  763. package/node_modules/markdown-it/lib/index.mjs +565 -0
  764. package/node_modules/markdown-it/lib/parser_block.mjs +134 -0
  765. package/node_modules/markdown-it/lib/parser_core.mjs +62 -0
  766. package/node_modules/markdown-it/lib/parser_inline.mjs +197 -0
  767. package/node_modules/markdown-it/lib/presets/commonmark.mjs +88 -0
  768. package/node_modules/markdown-it/lib/presets/default.mjs +47 -0
  769. package/node_modules/markdown-it/lib/presets/zero.mjs +70 -0
  770. package/node_modules/markdown-it/lib/renderer.mjs +322 -0
  771. package/node_modules/markdown-it/lib/ruler.mjs +340 -0
  772. package/node_modules/markdown-it/lib/rules_block/blockquote.mjs +209 -0
  773. package/node_modules/markdown-it/lib/rules_block/code.mjs +30 -0
  774. package/node_modules/markdown-it/lib/rules_block/fence.mjs +94 -0
  775. package/node_modules/markdown-it/lib/rules_block/heading.mjs +51 -0
  776. package/node_modules/markdown-it/lib/rules_block/hr.mjs +40 -0
  777. package/node_modules/markdown-it/lib/rules_block/html_block.mjs +69 -0
  778. package/node_modules/markdown-it/lib/rules_block/lheading.mjs +82 -0
  779. package/node_modules/markdown-it/lib/rules_block/list.mjs +331 -0
  780. package/node_modules/markdown-it/lib/rules_block/paragraph.mjs +46 -0
  781. package/node_modules/markdown-it/lib/rules_block/reference.mjs +212 -0
  782. package/node_modules/markdown-it/lib/rules_block/state_block.mjs +220 -0
  783. package/node_modules/markdown-it/lib/rules_block/table.mjs +228 -0
  784. package/node_modules/markdown-it/lib/rules_core/block.mjs +13 -0
  785. package/node_modules/markdown-it/lib/rules_core/inline.mjs +11 -0
  786. package/node_modules/markdown-it/lib/rules_core/linkify.mjs +134 -0
  787. package/node_modules/markdown-it/lib/rules_core/normalize.mjs +17 -0
  788. package/node_modules/markdown-it/lib/rules_core/replacements.mjs +101 -0
  789. package/node_modules/markdown-it/lib/rules_core/smartquotes.mjs +193 -0
  790. package/node_modules/markdown-it/lib/rules_core/state_core.mjs +17 -0
  791. package/node_modules/markdown-it/lib/rules_core/text_join.mjs +43 -0
  792. package/node_modules/markdown-it/lib/rules_inline/autolink.mjs +72 -0
  793. package/node_modules/markdown-it/lib/rules_inline/backticks.mjs +60 -0
  794. package/node_modules/markdown-it/lib/rules_inline/balance_pairs.mjs +124 -0
  795. package/node_modules/markdown-it/lib/rules_inline/emphasis.mjs +123 -0
  796. package/node_modules/markdown-it/lib/rules_inline/entity.mjs +51 -0
  797. package/node_modules/markdown-it/lib/rules_inline/escape.mjs +69 -0
  798. package/node_modules/markdown-it/lib/rules_inline/fragments_join.mjs +38 -0
  799. package/node_modules/markdown-it/lib/rules_inline/html_inline.mjs +50 -0
  800. package/node_modules/markdown-it/lib/rules_inline/image.mjs +138 -0
  801. package/node_modules/markdown-it/lib/rules_inline/link.mjs +139 -0
  802. package/node_modules/markdown-it/lib/rules_inline/linkify.mjs +63 -0
  803. package/node_modules/markdown-it/lib/rules_inline/newline.mjs +42 -0
  804. package/node_modules/markdown-it/lib/rules_inline/state_inline.mjs +123 -0
  805. package/node_modules/markdown-it/lib/rules_inline/strikethrough.mjs +127 -0
  806. package/node_modules/markdown-it/lib/rules_inline/text.mjs +86 -0
  807. package/node_modules/markdown-it/lib/token.mjs +191 -0
  808. package/node_modules/markdown-it/package.json +92 -0
  809. package/node_modules/mdurl/LICENSE +45 -0
  810. package/node_modules/mdurl/README.md +102 -0
  811. package/node_modules/mdurl/build/index.cjs.js +534 -0
  812. package/node_modules/mdurl/index.mjs +11 -0
  813. package/node_modules/mdurl/lib/decode.mjs +112 -0
  814. package/node_modules/mdurl/lib/encode.mjs +89 -0
  815. package/node_modules/mdurl/lib/format.mjs +21 -0
  816. package/node_modules/mdurl/lib/parse.mjs +308 -0
  817. package/node_modules/mdurl/package.json +37 -0
  818. package/node_modules/orderedmap/LICENSE +19 -0
  819. package/node_modules/orderedmap/README.md +69 -0
  820. package/node_modules/orderedmap/dist/index.cjs +139 -0
  821. package/node_modules/orderedmap/dist/index.d.cts +33 -0
  822. package/node_modules/orderedmap/dist/index.d.ts +33 -0
  823. package/node_modules/orderedmap/dist/index.js +137 -0
  824. package/node_modules/orderedmap/package.json +39 -0
  825. package/node_modules/prosemirror-changeset/CHANGELOG.md +147 -0
  826. package/node_modules/prosemirror-changeset/LICENSE +19 -0
  827. package/node_modules/prosemirror-changeset/README.md +175 -0
  828. package/node_modules/prosemirror-changeset/dist/index.cjs +585 -0
  829. package/node_modules/prosemirror-changeset/dist/index.d.cts +186 -0
  830. package/node_modules/prosemirror-changeset/dist/index.d.ts +186 -0
  831. package/node_modules/prosemirror-changeset/dist/index.js +715 -0
  832. package/node_modules/prosemirror-changeset/package.json +40 -0
  833. package/node_modules/prosemirror-changeset/src/README.md +32 -0
  834. package/node_modules/prosemirror-changeset/src/change.ts +189 -0
  835. package/node_modules/prosemirror-changeset/src/changeset.ts +212 -0
  836. package/node_modules/prosemirror-changeset/src/diff.ts +151 -0
  837. package/node_modules/prosemirror-changeset/src/simplify.ts +132 -0
  838. package/node_modules/prosemirror-changeset/test/test-changed-range.ts +48 -0
  839. package/node_modules/prosemirror-changeset/test/test-changes.ts +211 -0
  840. package/node_modules/prosemirror-changeset/test/test-diff.ts +69 -0
  841. package/node_modules/prosemirror-changeset/test/test-merge.ts +56 -0
  842. package/node_modules/prosemirror-changeset/test/test-simplify.ts +71 -0
  843. package/node_modules/prosemirror-collab/.tern-project +8 -0
  844. package/node_modules/prosemirror-collab/CHANGELOG.md +77 -0
  845. package/node_modules/prosemirror-collab/CONTRIBUTING.md +104 -0
  846. package/node_modules/prosemirror-collab/LICENSE +19 -0
  847. package/node_modules/prosemirror-collab/README.md +28 -0
  848. package/node_modules/prosemirror-collab/dist/index.cjs +155 -0
  849. package/node_modules/prosemirror-collab/dist/index.d.cts +60 -0
  850. package/node_modules/prosemirror-collab/dist/index.d.ts +60 -0
  851. package/node_modules/prosemirror-collab/dist/index.js +156 -0
  852. package/node_modules/prosemirror-collab/package.json +40 -0
  853. package/node_modules/prosemirror-collab/src/README.md +11 -0
  854. package/node_modules/prosemirror-collab/src/collab.ts +184 -0
  855. package/node_modules/prosemirror-commands/.tern-project +8 -0
  856. package/node_modules/prosemirror-commands/CHANGELOG.md +322 -0
  857. package/node_modules/prosemirror-commands/CONTRIBUTING.md +104 -0
  858. package/node_modules/prosemirror-commands/LICENSE +19 -0
  859. package/node_modules/prosemirror-commands/README.md +28 -0
  860. package/node_modules/prosemirror-commands/dist/index.cjs +687 -0
  861. package/node_modules/prosemirror-commands/dist/index.d.cts +215 -0
  862. package/node_modules/prosemirror-commands/dist/index.d.ts +215 -0
  863. package/node_modules/prosemirror-commands/dist/index.js +850 -0
  864. package/node_modules/prosemirror-commands/package.json +39 -0
  865. package/node_modules/prosemirror-commands/src/README.md +40 -0
  866. package/node_modules/prosemirror-commands/src/commands.ts +783 -0
  867. package/node_modules/prosemirror-dropcursor/CHANGELOG.md +137 -0
  868. package/node_modules/prosemirror-dropcursor/CONTRIBUTING.md +100 -0
  869. package/node_modules/prosemirror-dropcursor/LICENSE +19 -0
  870. package/node_modules/prosemirror-dropcursor/README.md +50 -0
  871. package/node_modules/prosemirror-dropcursor/dist/index.cjs +185 -0
  872. package/node_modules/prosemirror-dropcursor/dist/index.d.cts +38 -0
  873. package/node_modules/prosemirror-dropcursor/dist/index.d.ts +38 -0
  874. package/node_modules/prosemirror-dropcursor/dist/index.js +146 -0
  875. package/node_modules/prosemirror-dropcursor/package.json +38 -0
  876. package/node_modules/prosemirror-dropcursor/src/dropcursor.ts +170 -0
  877. package/node_modules/prosemirror-gapcursor/CHANGELOG.md +122 -0
  878. package/node_modules/prosemirror-gapcursor/CONTRIBUTING.md +104 -0
  879. package/node_modules/prosemirror-gapcursor/LICENSE +19 -0
  880. package/node_modules/prosemirror-gapcursor/README.md +31 -0
  881. package/node_modules/prosemirror-gapcursor/dist/index.cjs +239 -0
  882. package/node_modules/prosemirror-gapcursor/dist/index.d.cts +31 -0
  883. package/node_modules/prosemirror-gapcursor/dist/index.d.ts +31 -0
  884. package/node_modules/prosemirror-gapcursor/dist/index.js +239 -0
  885. package/node_modules/prosemirror-gapcursor/package.json +43 -0
  886. package/node_modules/prosemirror-gapcursor/src/README.md +21 -0
  887. package/node_modules/prosemirror-gapcursor/src/gapcursor.ts +141 -0
  888. package/node_modules/prosemirror-gapcursor/src/index.ts +91 -0
  889. package/node_modules/prosemirror-gapcursor/style/gapcursor.css +25 -0
  890. package/node_modules/prosemirror-history/.tern-project +8 -0
  891. package/node_modules/prosemirror-history/CHANGELOG.md +170 -0
  892. package/node_modules/prosemirror-history/CONTRIBUTING.md +104 -0
  893. package/node_modules/prosemirror-history/LICENSE +19 -0
  894. package/node_modules/prosemirror-history/README.md +27 -0
  895. package/node_modules/prosemirror-history/dist/index.cjs +382 -0
  896. package/node_modules/prosemirror-history/dist/index.d.cts +64 -0
  897. package/node_modules/prosemirror-history/dist/index.d.ts +64 -0
  898. package/node_modules/prosemirror-history/dist/index.js +453 -0
  899. package/node_modules/prosemirror-history/package.json +40 -0
  900. package/node_modules/prosemirror-history/src/README.md +23 -0
  901. package/node_modules/prosemirror-history/src/history.ts +465 -0
  902. package/node_modules/prosemirror-inputrules/.tern-project +8 -0
  903. package/node_modules/prosemirror-inputrules/CHANGELOG.md +127 -0
  904. package/node_modules/prosemirror-inputrules/CONTRIBUTING.md +104 -0
  905. package/node_modules/prosemirror-inputrules/LICENSE +19 -0
  906. package/node_modules/prosemirror-inputrules/README.md +29 -0
  907. package/node_modules/prosemirror-inputrules/dist/index.cjs +194 -0
  908. package/node_modules/prosemirror-inputrules/dist/index.d.cts +131 -0
  909. package/node_modules/prosemirror-inputrules/dist/index.d.ts +131 -0
  910. package/node_modules/prosemirror-inputrules/dist/index.js +239 -0
  911. package/node_modules/prosemirror-inputrules/package.json +36 -0
  912. package/node_modules/prosemirror-inputrules/src/README.md +23 -0
  913. package/node_modules/prosemirror-inputrules/src/index.ts +4 -0
  914. package/node_modules/prosemirror-inputrules/src/inputrules.ts +167 -0
  915. package/node_modules/prosemirror-inputrules/src/rulebuilders.ts +59 -0
  916. package/node_modules/prosemirror-inputrules/src/rules.ts +17 -0
  917. package/node_modules/prosemirror-keymap/.tern-project +8 -0
  918. package/node_modules/prosemirror-keymap/CHANGELOG.md +104 -0
  919. package/node_modules/prosemirror-keymap/CONTRIBUTING.md +104 -0
  920. package/node_modules/prosemirror-keymap/LICENSE +19 -0
  921. package/node_modules/prosemirror-keymap/README.md +27 -0
  922. package/node_modules/prosemirror-keymap/dist/index.cjs +65 -0
  923. package/node_modules/prosemirror-keymap/dist/index.d.cts +47 -0
  924. package/node_modules/prosemirror-keymap/dist/index.d.ts +47 -0
  925. package/node_modules/prosemirror-keymap/dist/index.js +128 -0
  926. package/node_modules/prosemirror-keymap/package.json +38 -0
  927. package/node_modules/prosemirror-keymap/src/README.md +5 -0
  928. package/node_modules/prosemirror-keymap/src/keymap.ts +105 -0
  929. package/node_modules/prosemirror-markdown/.tern-project +8 -0
  930. package/node_modules/prosemirror-markdown/CHANGELOG.md +311 -0
  931. package/node_modules/prosemirror-markdown/CONTRIBUTING.md +100 -0
  932. package/node_modules/prosemirror-markdown/LICENSE +19 -0
  933. package/node_modules/prosemirror-markdown/README.md +276 -0
  934. package/node_modules/prosemirror-markdown/dist/index.cjs +966 -0
  935. package/node_modules/prosemirror-markdown/dist/index.d.cts +335 -0
  936. package/node_modules/prosemirror-markdown/dist/index.d.ts +335 -0
  937. package/node_modules/prosemirror-markdown/dist/index.js +878 -0
  938. package/node_modules/prosemirror-markdown/package.json +40 -0
  939. package/node_modules/prosemirror-markdown/src/README.md +42 -0
  940. package/node_modules/prosemirror-markdown/src/from_markdown.ts +272 -0
  941. package/node_modules/prosemirror-markdown/src/index.ts +5 -0
  942. package/node_modules/prosemirror-markdown/src/schema.ts +156 -0
  943. package/node_modules/prosemirror-markdown/src/to_markdown.ts +483 -0
  944. package/node_modules/prosemirror-menu/.tern-project +8 -0
  945. package/node_modules/prosemirror-menu/CHANGELOG.md +107 -0
  946. package/node_modules/prosemirror-menu/CONTRIBUTING.md +100 -0
  947. package/node_modules/prosemirror-menu/LICENSE +19 -0
  948. package/node_modules/prosemirror-menu/README.md +235 -0
  949. package/node_modules/prosemirror-menu/dist/index.cjs +798 -0
  950. package/node_modules/prosemirror-menu/dist/index.d.cts +281 -0
  951. package/node_modules/prosemirror-menu/dist/index.d.ts +281 -0
  952. package/node_modules/prosemirror-menu/dist/index.js +795 -0
  953. package/node_modules/prosemirror-menu/package.json +42 -0
  954. package/node_modules/prosemirror-menu/src/README.md +60 -0
  955. package/node_modules/prosemirror-menu/src/icons.ts +53 -0
  956. package/node_modules/prosemirror-menu/src/index.ts +4 -0
  957. package/node_modules/prosemirror-menu/src/menu.ts +628 -0
  958. package/node_modules/prosemirror-menu/src/menubar.ts +210 -0
  959. package/node_modules/prosemirror-menu/style/menu.css +169 -0
  960. package/node_modules/prosemirror-model/.tern-project +8 -0
  961. package/node_modules/prosemirror-model/CHANGELOG.md +730 -0
  962. package/node_modules/prosemirror-model/CONTRIBUTING.md +104 -0
  963. package/node_modules/prosemirror-model/LICENSE +19 -0
  964. package/node_modules/prosemirror-model/README.md +29 -0
  965. package/node_modules/prosemirror-model/dist/index.cjs +2898 -0
  966. package/node_modules/prosemirror-model/dist/index.d.cts +1679 -0
  967. package/node_modules/prosemirror-model/dist/index.d.ts +1679 -0
  968. package/node_modules/prosemirror-model/dist/index.js +3464 -0
  969. package/node_modules/prosemirror-model/package.json +38 -0
  970. package/node_modules/prosemirror-model/src/README.md +62 -0
  971. package/node_modules/prosemirror-model/src/comparedeep.ts +15 -0
  972. package/node_modules/prosemirror-model/src/content.ts +413 -0
  973. package/node_modules/prosemirror-model/src/diff.ts +52 -0
  974. package/node_modules/prosemirror-model/src/dom.ts +1 -0
  975. package/node_modules/prosemirror-model/src/fragment.ts +268 -0
  976. package/node_modules/prosemirror-model/src/from_dom.ts +848 -0
  977. package/node_modules/prosemirror-model/src/index.ts +11 -0
  978. package/node_modules/prosemirror-model/src/mark.ts +111 -0
  979. package/node_modules/prosemirror-model/src/node.ts +402 -0
  980. package/node_modules/prosemirror-model/src/replace.ts +225 -0
  981. package/node_modules/prosemirror-model/src/resolvedpos.ts +289 -0
  982. package/node_modules/prosemirror-model/src/schema.ts +705 -0
  983. package/node_modules/prosemirror-model/src/to_dom.ts +238 -0
  984. package/node_modules/prosemirror-schema-basic/.tern-project +8 -0
  985. package/node_modules/prosemirror-schema-basic/CHANGELOG.md +81 -0
  986. package/node_modules/prosemirror-schema-basic/CONTRIBUTING.md +100 -0
  987. package/node_modules/prosemirror-schema-basic/LICENSE +19 -0
  988. package/node_modules/prosemirror-schema-basic/README.md +28 -0
  989. package/node_modules/prosemirror-schema-basic/dist/index.cjs +246 -0
  990. package/node_modules/prosemirror-schema-basic/dist/index.d.cts +87 -0
  991. package/node_modules/prosemirror-schema-basic/dist/index.d.ts +87 -0
  992. package/node_modules/prosemirror-schema-basic/dist/index.js +183 -0
  993. package/node_modules/prosemirror-schema-basic/package.json +37 -0
  994. package/node_modules/prosemirror-schema-basic/src/README.md +8 -0
  995. package/node_modules/prosemirror-schema-basic/src/schema-basic.ts +166 -0
  996. package/node_modules/prosemirror-schema-list/.tern-project +8 -0
  997. package/node_modules/prosemirror-schema-list/CHANGELOG.md +140 -0
  998. package/node_modules/prosemirror-schema-list/CONTRIBUTING.md +100 -0
  999. package/node_modules/prosemirror-schema-list/LICENSE +19 -0
  1000. package/node_modules/prosemirror-schema-list/README.md +28 -0
  1001. package/node_modules/prosemirror-schema-list/dist/index.cjs +253 -0
  1002. package/node_modules/prosemirror-schema-list/dist/index.d.cts +71 -0
  1003. package/node_modules/prosemirror-schema-list/dist/index.d.ts +71 -0
  1004. package/node_modules/prosemirror-schema-list/dist/index.js +289 -0
  1005. package/node_modules/prosemirror-schema-list/package.json +40 -0
  1006. package/node_modules/prosemirror-schema-list/src/README.md +29 -0
  1007. package/node_modules/prosemirror-schema-list/src/schema-list.ts +267 -0
  1008. package/node_modules/prosemirror-state/.tern-project +8 -0
  1009. package/node_modules/prosemirror-state/CHANGELOG.md +296 -0
  1010. package/node_modules/prosemirror-state/CONTRIBUTING.md +104 -0
  1011. package/node_modules/prosemirror-state/LICENSE +19 -0
  1012. package/node_modules/prosemirror-state/README.md +28 -0
  1013. package/node_modules/prosemirror-state/dist/index.cjs +884 -0
  1014. package/node_modules/prosemirror-state/dist/index.d.cts +709 -0
  1015. package/node_modules/prosemirror-state/dist/index.d.ts +709 -0
  1016. package/node_modules/prosemirror-state/dist/index.js +1002 -0
  1017. package/node_modules/prosemirror-state/package.json +39 -0
  1018. package/node_modules/prosemirror-state/src/README.md +42 -0
  1019. package/node_modules/prosemirror-state/src/index.ts +7 -0
  1020. package/node_modules/prosemirror-state/src/plugin.ts +142 -0
  1021. package/node_modules/prosemirror-state/src/selection.ts +462 -0
  1022. package/node_modules/prosemirror-state/src/state.ts +266 -0
  1023. package/node_modules/prosemirror-state/src/transaction.ts +215 -0
  1024. package/node_modules/prosemirror-tables/LICENSE +19 -0
  1025. package/node_modules/prosemirror-tables/README.md +254 -0
  1026. package/node_modules/prosemirror-tables/dist/index.cjs +2683 -0
  1027. package/node_modules/prosemirror-tables/dist/index.d.cts +751 -0
  1028. package/node_modules/prosemirror-tables/dist/index.d.cts.map +1 -0
  1029. package/node_modules/prosemirror-tables/dist/index.d.ts +751 -0
  1030. package/node_modules/prosemirror-tables/dist/index.d.ts.map +1 -0
  1031. package/node_modules/prosemirror-tables/dist/index.js +2626 -0
  1032. package/node_modules/prosemirror-tables/dist/index.js.map +1 -0
  1033. package/node_modules/prosemirror-tables/package.json +80 -0
  1034. package/node_modules/prosemirror-tables/style/tables.css +48 -0
  1035. package/node_modules/prosemirror-trailing-node/LICENSE +21 -0
  1036. package/node_modules/prosemirror-trailing-node/dist/_tsup-dts-rollup.d.cts +41 -0
  1037. package/node_modules/prosemirror-trailing-node/dist/_tsup-dts-rollup.d.ts +41 -0
  1038. package/node_modules/prosemirror-trailing-node/dist/prosemirror-trailing-node.cjs +70 -0
  1039. package/node_modules/prosemirror-trailing-node/dist/prosemirror-trailing-node.d.cts +2 -0
  1040. package/node_modules/prosemirror-trailing-node/dist/prosemirror-trailing-node.d.ts +2 -0
  1041. package/node_modules/prosemirror-trailing-node/dist/prosemirror-trailing-node.js +43 -0
  1042. package/node_modules/prosemirror-trailing-node/dist-types/index.d.ts +2 -0
  1043. package/node_modules/prosemirror-trailing-node/dist-types/trailing-node-plugin.d.ts +33 -0
  1044. package/node_modules/prosemirror-trailing-node/dist-types/tsconfig.tsbuildinfo +1 -0
  1045. package/node_modules/prosemirror-trailing-node/package.json +57 -0
  1046. package/node_modules/prosemirror-trailing-node/readme.md +55 -0
  1047. package/node_modules/prosemirror-transform/.tern-project +8 -0
  1048. package/node_modules/prosemirror-transform/CHANGELOG.md +502 -0
  1049. package/node_modules/prosemirror-transform/CONTRIBUTING.md +104 -0
  1050. package/node_modules/prosemirror-transform/LICENSE +19 -0
  1051. package/node_modules/prosemirror-transform/README.md +29 -0
  1052. package/node_modules/prosemirror-transform/dist/index.cjs +1888 -0
  1053. package/node_modules/prosemirror-transform/dist/index.d.cts +847 -0
  1054. package/node_modules/prosemirror-transform/dist/index.d.ts +847 -0
  1055. package/node_modules/prosemirror-transform/dist/index.js +2181 -0
  1056. package/node_modules/prosemirror-transform/package.json +37 -0
  1057. package/node_modules/prosemirror-transform/src/README.md +59 -0
  1058. package/node_modules/prosemirror-transform/src/attr_step.ts +98 -0
  1059. package/node_modules/prosemirror-transform/src/index.ts +11 -0
  1060. package/node_modules/prosemirror-transform/src/map.ts +284 -0
  1061. package/node_modules/prosemirror-transform/src/mark.ts +106 -0
  1062. package/node_modules/prosemirror-transform/src/mark_step.ts +224 -0
  1063. package/node_modules/prosemirror-transform/src/replace.ts +460 -0
  1064. package/node_modules/prosemirror-transform/src/replace_step.ts +178 -0
  1065. package/node_modules/prosemirror-transform/src/step.ts +97 -0
  1066. package/node_modules/prosemirror-transform/src/structure.ts +349 -0
  1067. package/node_modules/prosemirror-transform/src/transform.ts +271 -0
  1068. package/node_modules/prosemirror-view/.tern-project +8 -0
  1069. package/node_modules/prosemirror-view/CHANGELOG.md +2447 -0
  1070. package/node_modules/prosemirror-view/CONTRIBUTING.md +104 -0
  1071. package/node_modules/prosemirror-view/LICENSE +19 -0
  1072. package/node_modules/prosemirror-view/README.md +28 -0
  1073. package/node_modules/prosemirror-view/dist/index.cjs +5381 -0
  1074. package/node_modules/prosemirror-view/dist/index.d.cts +904 -0
  1075. package/node_modules/prosemirror-view/dist/index.d.ts +904 -0
  1076. package/node_modules/prosemirror-view/dist/index.js +5900 -0
  1077. package/node_modules/prosemirror-view/package.json +43 -0
  1078. package/node_modules/prosemirror-view/src/README.md +38 -0
  1079. package/node_modules/prosemirror-view/src/browser.ts +24 -0
  1080. package/node_modules/prosemirror-view/src/capturekeys.ts +345 -0
  1081. package/node_modules/prosemirror-view/src/clipboard.ts +263 -0
  1082. package/node_modules/prosemirror-view/src/decoration.ts +793 -0
  1083. package/node_modules/prosemirror-view/src/dom.ts +159 -0
  1084. package/node_modules/prosemirror-view/src/domchange.ts +383 -0
  1085. package/node_modules/prosemirror-view/src/domcoords.ts +515 -0
  1086. package/node_modules/prosemirror-view/src/domobserver.ts +392 -0
  1087. package/node_modules/prosemirror-view/src/index.ts +825 -0
  1088. package/node_modules/prosemirror-view/src/input.ts +830 -0
  1089. package/node_modules/prosemirror-view/src/selection.ts +216 -0
  1090. package/node_modules/prosemirror-view/src/viewdesc.ts +1590 -0
  1091. package/node_modules/prosemirror-view/style/prosemirror.css +54 -0
  1092. package/node_modules/punycode.js/LICENSE-MIT.txt +20 -0
  1093. package/node_modules/punycode.js/README.md +148 -0
  1094. package/node_modules/punycode.js/package.json +58 -0
  1095. package/node_modules/punycode.js/punycode.es6.js +444 -0
  1096. package/node_modules/punycode.js/punycode.js +443 -0
  1097. package/node_modules/rope-sequence/LICENSE +19 -0
  1098. package/node_modules/rope-sequence/README.md +63 -0
  1099. package/node_modules/rope-sequence/dist/index.cjs +209 -0
  1100. package/node_modules/rope-sequence/dist/index.d.cts +11 -0
  1101. package/node_modules/rope-sequence/dist/index.d.ts +11 -0
  1102. package/node_modules/rope-sequence/dist/index.js +207 -0
  1103. package/node_modules/rope-sequence/index.js +190 -0
  1104. package/node_modules/rope-sequence/package.json +34 -0
  1105. package/node_modules/rope-sequence/test.js +78 -0
  1106. package/node_modules/uc.micro/LICENSE.txt +20 -0
  1107. package/node_modules/uc.micro/README.md +14 -0
  1108. package/node_modules/uc.micro/build/index.cjs.js +20 -0
  1109. package/node_modules/uc.micro/categories/Cc/regex.mjs +1 -0
  1110. package/node_modules/uc.micro/categories/Cf/regex.mjs +1 -0
  1111. package/node_modules/uc.micro/categories/P/regex.mjs +1 -0
  1112. package/node_modules/uc.micro/categories/S/regex.mjs +1 -0
  1113. package/node_modules/uc.micro/categories/Z/regex.mjs +1 -0
  1114. package/node_modules/uc.micro/index.mjs +8 -0
  1115. package/node_modules/uc.micro/package.json +37 -0
  1116. package/node_modules/uc.micro/properties/Any/regex.mjs +1 -0
  1117. package/node_modules/use-sync-external-store/LICENSE +21 -0
  1118. package/node_modules/use-sync-external-store/README.md +5 -0
  1119. package/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js +97 -0
  1120. package/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js +85 -0
  1121. package/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +95 -0
  1122. package/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.native.development.js +88 -0
  1123. package/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.native.production.js +59 -0
  1124. package/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js +66 -0
  1125. package/node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.development.js +96 -0
  1126. package/node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.production.js +84 -0
  1127. package/node_modules/use-sync-external-store/cjs/use-sync-external-store.development.js +27 -0
  1128. package/node_modules/use-sync-external-store/cjs/use-sync-external-store.production.js +13 -0
  1129. package/node_modules/use-sync-external-store/index.js +7 -0
  1130. package/node_modules/use-sync-external-store/package.json +43 -0
  1131. package/node_modules/use-sync-external-store/shim/index.js +7 -0
  1132. package/node_modules/use-sync-external-store/shim/index.native.js +7 -0
  1133. package/node_modules/use-sync-external-store/shim/with-selector.js +7 -0
  1134. package/node_modules/use-sync-external-store/with-selector.js +7 -0
  1135. package/node_modules/w3c-keyname/.tern-port +1 -0
  1136. package/node_modules/w3c-keyname/LICENSE +19 -0
  1137. package/node_modules/w3c-keyname/README.md +18 -0
  1138. package/node_modules/w3c-keyname/index.cjs +127 -0
  1139. package/node_modules/w3c-keyname/index.d.cts +5 -0
  1140. package/node_modules/w3c-keyname/index.d.ts +5 -0
  1141. package/node_modules/w3c-keyname/index.js +119 -0
  1142. package/node_modules/w3c-keyname/package.json +37 -0
  1143. package/package.json +120 -3
  1144. package/public-api.md +23 -1
  1145. package/dist/chunk-5J54S5BK.js.map +0 -1
  1146. package/dist/chunk-FQQJP2GJ.js.map +0 -1
  1147. /package/dist/{chunk-WCMGQJLE.js.map → chunk-IRBOKMF5.js.map} +0 -0
@@ -24,6 +24,7 @@ import {
24
24
  Dialog,
25
25
  DialogClose,
26
26
  DialogContent,
27
+ DialogDescription,
27
28
  DialogTitle,
28
29
  Download,
29
30
  Earth,
@@ -84,6 +85,7 @@ import {
84
85
  getFileName,
85
86
  getNumberValue,
86
87
  getPlanUpdateDisplayState,
88
+ getPluginSuggestionItems,
87
89
  getResultImages,
88
90
  getResultText,
89
91
  getStringValue,
@@ -98,6 +100,7 @@ import {
98
100
  parseJsonValue,
99
101
  parseKbSearchResult,
100
102
  parsePlanUpdate,
103
+ pluginRefsForSend,
101
104
  sendToSession,
102
105
  useBladeClient,
103
106
  useBladeHost,
@@ -120,7 +123,7 @@ import {
120
123
  useSessionSource,
121
124
  useSessionState,
122
125
  useSingleSessionSource
123
- } from "./chunk-FQQJP2GJ.js";
126
+ } from "./chunk-UKQFSXGC.js";
124
127
  import {
125
128
  __export
126
129
  } from "./chunk-PR4QN5HX.js";
@@ -473,7 +476,7 @@ function ReplayMismatchPrompt({ mismatch, className }) {
473
476
 
474
477
  // src/components/AgentChat.tsx
475
478
  import { BladeApiError as BladeApiError2 } from "@blade-hq/agent-client/internal";
476
- import { useEffect as useEffect30, useMemo as useMemo18, useRef as useRef27, useState as useState36 } from "react";
479
+ import { useEffect as useEffect30, useMemo as useMemo18, useRef as useRef28, useState as useState36 } from "react";
477
480
 
478
481
  // src/chat/ChatPanel.tsx
479
482
  import { useCallback as useCallback17, useEffect as useEffect28, useMemo as useMemo17, useState as useState34 } from "react";
@@ -26183,7 +26186,8 @@ function useFollowupInteraction() {
26183
26186
  }
26184
26187
 
26185
26188
  // src/chat/LightComposer.tsx
26186
- import { useEffect as useEffect6, useState as useState7 } from "react";
26189
+ import { useEffect as useEffect6, useRef as useRef7, useState as useState7 } from "react";
26190
+ import { normalizePluginRefs } from "@blade-hq/agent-client";
26187
26191
 
26188
26192
  // src/components/ChatInput.tsx
26189
26193
  import { useRef as useRef6, useState as useState6 } from "react";
@@ -26209,7 +26213,8 @@ function ChatInput({
26209
26213
  textareaClassName,
26210
26214
  toolbarClassName,
26211
26215
  queueKey,
26212
- hasAttachments = false
26216
+ hasAttachments = false,
26217
+ onKeyDown
26213
26218
  }) {
26214
26219
  const trimmed = value.trim();
26215
26220
  const latestValue = useRef6(value);
@@ -26233,6 +26238,8 @@ function ChatInput({
26233
26238
  }
26234
26239
  };
26235
26240
  const handleKeyDown = (event) => {
26241
+ onKeyDown?.(event);
26242
+ if (event.defaultPrevented) return;
26236
26243
  if (shouldSubmitChatInput({
26237
26244
  key: event.key,
26238
26245
  shiftKey: event.shiftKey,
@@ -26327,12 +26334,56 @@ function LightComposer({
26327
26334
  initialDraftKey
26328
26335
  }) {
26329
26336
  const session = useSessionHandle(sessionId);
26337
+ const client = useBladeClient();
26338
+ const [refs, setRefs] = useState7([]);
26339
+ const [items, setItems] = useState7([]);
26340
+ const [selectedIndex, setSelectedIndex] = useState7(0);
26341
+ const restored = useRef7(null);
26330
26342
  const [value, setValue] = useState7(initialDraft ?? "");
26331
26343
  const [draftKey, setDraftKey] = useState7(initialDraftKey);
26332
26344
  if (draftKey !== initialDraftKey) {
26333
26345
  setDraftKey(initialDraftKey);
26334
26346
  if (initialDraft) setValue(initialDraft);
26335
26347
  }
26348
+ const [dismissed, setDismissed] = useState7(null);
26349
+ const match = value.match(/(?:^|\s)@([^@\s]*)$/);
26350
+ const query = match && value !== dismissed ? match[1] : null;
26351
+ const candidates = items.filter((item) => item.kind === "plugin");
26352
+ useEffect6(() => {
26353
+ setItems([]);
26354
+ setSelectedIndex(0);
26355
+ if (query === null) return;
26356
+ let current = true;
26357
+ const timer = setTimeout(() => {
26358
+ void getPluginSuggestionItems(client, sessionId, query).then((result) => {
26359
+ if (current) setItems(result);
26360
+ });
26361
+ }, 150);
26362
+ return () => {
26363
+ current = false;
26364
+ clearTimeout(timer);
26365
+ };
26366
+ }, [client, client.token, sessionId, query]);
26367
+ useEffect6(() => {
26368
+ setRefs([]);
26369
+ if (!session) return;
26370
+ const restore = () => {
26371
+ if (restored.current === sessionId) return;
26372
+ const latest = [...session.getState().turns].reverse().find((turn) => turn.role === "user");
26373
+ if (!latest || latest.turn_id.startsWith("local-user-")) return;
26374
+ restored.current = sessionId ?? null;
26375
+ setRefs(normalizePluginRefs(latest.refs));
26376
+ };
26377
+ restore();
26378
+ return session.subscribe(restore);
26379
+ }, [session, sessionId]);
26380
+ const select = (item) => {
26381
+ const next = normalizePluginRefs([...refs, item]);
26382
+ if (next.length > 20) return;
26383
+ setRefs(next);
26384
+ setValue((prev) => prev.replace(/@[^@\s]*$/, `@${item.label} `));
26385
+ setItems([]);
26386
+ };
26336
26387
  useEffect6(() => {
26337
26388
  if (!session) return;
26338
26389
  const offAttach = session.on("attachRequested", ({ label, content: content3 }) => {
@@ -26351,12 +26402,38 @@ ${content3}`);
26351
26402
  }, [session]);
26352
26403
  return /* @__PURE__ */ jsxs8(Fragment4, { children: [
26353
26404
  planPanel ? /* @__PURE__ */ jsx8("div", { className: maxWidthClassName ? `mx-auto w-full ${maxWidthClassName}` : void 0, children: planPanel }) : null,
26405
+ refs.length ? /* @__PURE__ */ jsx8("div", { "aria-label": "\u9009\u62E9\u7684\u63D2\u4EF6\u6761\u76EE", className: "flex flex-wrap gap-2 px-3 pt-2", children: refs.map((ref) => /* @__PURE__ */ jsxs8("span", { className: "rounded bg-[hsl(var(--muted))] px-2 py-1 text-xs", children: [
26406
+ ref.label,
26407
+ /* @__PURE__ */ jsx8("button", { type: "button", "aria-label": `\u79FB\u9664${ref.label}`, onClick: () => setRefs((prev) => prev.filter((item) => item !== ref)), children: " \xD7" })
26408
+ ] }, JSON.stringify([ref.plugin, ref.server, ref.id]))) }) : null,
26409
+ query !== null && items.length ? /* @__PURE__ */ jsx8("fieldset", { "aria-label": "\u63D2\u4EF6\u6761\u76EE\u5019\u9009", className: "m-0 min-w-0 border-0 px-3 py-2", children: items.map((item, index2) => item.kind === "plugin" ? /* @__PURE__ */ jsxs8("button", { type: "button", "aria-pressed": candidates[selectedIndex] === item, onMouseDown: (event) => event.preventDefault(), onClick: () => select(item), className: `flex w-full items-center gap-2 rounded px-2 py-1 text-sm hover:bg-[hsl(var(--muted))] ${candidates[selectedIndex] === item ? "bg-[hsl(var(--muted))]" : ""}`, children: [
26410
+ item.icon ? /* @__PURE__ */ jsx8("img", { src: item.icon, alt: "", width: 16, height: 16 }) : null,
26411
+ item.label,
26412
+ /* @__PURE__ */ jsx8("span", { className: "ml-auto text-xs text-[hsl(var(--muted-foreground))]", children: item.display_name })
26413
+ ] }, JSON.stringify([item.plugin, item.server, item.id])) : /* @__PURE__ */ jsx8("div", { className: "text-xs", children: item.message }, index2)) }) : null,
26354
26414
  /* @__PURE__ */ jsx8(
26355
26415
  ChatInput,
26356
26416
  {
26357
26417
  value,
26358
26418
  onValueChange: setValue,
26359
- onSend: (text4) => onSend(text4),
26419
+ onSend: (text4) => onSend(text4 || refs.map((ref) => `@${ref.label}`).join(" "), { refs: pluginRefsForSend(refs, session?.getState().turns) }),
26420
+ hasAttachments: refs.length > 0,
26421
+ onKeyDown: (event) => {
26422
+ if (query === null || event.nativeEvent.isComposing || event.nativeEvent.keyCode === 229) return;
26423
+ if (event.key === "Escape") {
26424
+ event.preventDefault();
26425
+ setDismissed(value);
26426
+ }
26427
+ if (!candidates.length) return;
26428
+ if (event.key === "ArrowDown" || event.key === "ArrowUp") {
26429
+ event.preventDefault();
26430
+ setSelectedIndex((prev) => (prev + (event.key === "ArrowDown" ? 1 : candidates.length - 1)) % candidates.length);
26431
+ }
26432
+ if (event.key === "Enter" && !event.shiftKey) {
26433
+ event.preventDefault();
26434
+ select(candidates[selectedIndex]);
26435
+ }
26436
+ },
26360
26437
  onStop: () => void onStop(),
26361
26438
  isStreaming,
26362
26439
  isStopping,
@@ -26372,7 +26449,7 @@ ${content3}`);
26372
26449
  }
26373
26450
 
26374
26451
  // src/chat/LiteMessageList.tsx
26375
- import { useCallback as useCallback8, useEffect as useEffect19, useMemo as useMemo12, useRef as useRef17, useState as useState24 } from "react";
26452
+ import { useCallback as useCallback8, useEffect as useEffect19, useMemo as useMemo12, useRef as useRef18, useState as useState24 } from "react";
26376
26453
  import {
26377
26454
  extractTextAttachments as extractTextAttachments2,
26378
26455
  getTextContent as getTextContent3,
@@ -26381,18 +26458,16 @@ import {
26381
26458
 
26382
26459
  // src/chat/lib/citations.ts
26383
26460
  function sameEvidence(a, b2) {
26384
- return a.kbName === b2.kbName && a.title === b2.title && a.path === b2.path && a.page === b2.page && a.heading === b2.heading && a.text === b2.text;
26461
+ return a.kbName === b2.kbName && a.title === b2.title && a.path === b2.path && a.page === b2.page && a.heading === b2.heading && a.text === b2.text && a.toolCallId === b2.toolCallId && a.itemId === b2.itemId;
26385
26462
  }
26386
26463
  function buildCitationsFromToolCalls(toolCalls) {
26387
- const kbSearchCalls = (toolCalls ?? []).filter(
26388
- (call) => formatToolName(call.name) === "KbSearch" && call.status === "done"
26389
- );
26464
+ const successfulCalls = (toolCalls ?? []).filter((call) => call.status === "done");
26390
26465
  const merged = /* @__PURE__ */ new Map();
26391
26466
  const ambiguous = /* @__PURE__ */ new Set();
26392
- for (const call of kbSearchCalls) {
26393
- const parsed = parseKbSearchResult(call.result);
26394
- if (!parsed) continue;
26395
- for (const hit of parsed.hits) {
26467
+ for (const call of successfulCalls) {
26468
+ const hits = parsePluginEvidence(call) ?? (formatToolName(call.name) === "KbSearch" ? parseKbSearchResult(call.result)?.hits : void 0);
26469
+ if (!hits) continue;
26470
+ for (const hit of hits) {
26396
26471
  const existing = merged.get(hit.n);
26397
26472
  if (existing && !sameEvidence(existing, hit)) {
26398
26473
  ambiguous.add(hit.n);
@@ -26408,6 +26483,36 @@ function buildCitationsFromToolCalls(toolCalls) {
26408
26483
  }
26409
26484
  return map3;
26410
26485
  }
26486
+ function parsePluginEvidence(call) {
26487
+ const items = call.evidence;
26488
+ if (!Array.isArray(items)) return void 0;
26489
+ return items.flatMap((item) => {
26490
+ if (!item || typeof item !== "object") return [];
26491
+ const entry = item;
26492
+ if (!Number.isSafeInteger(entry.n) || Number(entry.n) < 1 || entry.tool_call_id !== call.id && entry.parent_tool_call_id !== call.id || typeof entry.id !== "string" || typeof entry.title !== "string" || typeof entry.text !== "string") return [];
26493
+ let url2 = null;
26494
+ if (typeof entry.url === "string") {
26495
+ try {
26496
+ const parsed = new URL(entry.url);
26497
+ if (["https:", "http:"].includes(parsed.protocol) && !parsed.username && !parsed.password) url2 = parsed.href;
26498
+ } catch {
26499
+ }
26500
+ }
26501
+ return [{
26502
+ n: Number(entry.n),
26503
+ title: entry.title,
26504
+ text: entry.text,
26505
+ snapshot: true,
26506
+ toolCallId: String(entry.tool_call_id),
26507
+ itemId: entry.id,
26508
+ kbName: "",
26509
+ path: "",
26510
+ page: null,
26511
+ heading: null,
26512
+ previewUrl: url2
26513
+ }];
26514
+ });
26515
+ }
26411
26516
 
26412
26517
  // src/chat/LiteMessageList.tsx
26413
26518
  import { chatErrorForDisplay as chatErrorForDisplay2, isBackgroundWakeMessage as isBackgroundWakeMessage2 } from "@blade-hq/agent-client/internal";
@@ -26432,13 +26537,13 @@ function BackgroundWakeNotice() {
26432
26537
  }
26433
26538
 
26434
26539
  // src/components/MessageImage.tsx
26435
- import { forwardRef, useEffect as useEffect7, useImperativeHandle, useRef as useRef7, useState as useState8 } from "react";
26540
+ import { forwardRef, useEffect as useEffect7, useImperativeHandle, useRef as useRef8, useState as useState8 } from "react";
26436
26541
  import { jsx as jsx10 } from "react/jsx-runtime";
26437
26542
  var assetPattern = /^\/api\/(sessions|share)\/([^/]+)\/media\/([a-f0-9]{64})$/;
26438
26543
  var MessageImage = forwardRef(function MessageImage2({ client: suppliedClient, src, original = false, alt, style, ...props }, ref) {
26439
26544
  const contextClient = useOptionalBladeClient();
26440
26545
  const client = suppliedClient ?? contextClient;
26441
- const element2 = useRef7(null);
26546
+ const element2 = useRef8(null);
26442
26547
  useImperativeHandle(ref, () => element2.current);
26443
26548
  const [visible, setVisible] = useState8(false);
26444
26549
  const [result, setResult] = useState8(null);
@@ -26497,7 +26602,7 @@ var MessageImage = forwardRef(function MessageImage2({ client: suppliedClient, s
26497
26602
  });
26498
26603
 
26499
26604
  // src/chat/AssistantTurnBlock.tsx
26500
- import { memo as memo5, useCallback as useCallback5, useEffect as useEffect16, useMemo as useMemo11, useRef as useRef14, useState as useState22 } from "react";
26605
+ import { memo as memo5, useCallback as useCallback5, useEffect as useEffect16, useMemo as useMemo11, useRef as useRef15, useState as useState22 } from "react";
26501
26606
  import { getFileParts as getFileParts2, getImageParts as getImageParts2, getTextContent as getTextContent2, normalizeMessageContent } from "@blade-hq/agent-client/internal";
26502
26607
 
26503
26608
  // src/chat/lib/ui-meta.ts
@@ -26561,7 +26666,7 @@ import {
26561
26666
  useContext as useContext5,
26562
26667
  useEffect as useEffect8,
26563
26668
  useMemo as useMemo5,
26564
- useRef as useRef10,
26669
+ useRef as useRef11,
26565
26670
  useState as useState10
26566
26671
  } from "react";
26567
26672
 
@@ -26597,7 +26702,7 @@ var ShimmerComponent = ({
26597
26702
  var Shimmer = memo3(ShimmerComponent);
26598
26703
 
26599
26704
  // src/components/markdown/index.ts
26600
- import { createElement as createElement3, useRef as useRef8 } from "react";
26705
+ import { createElement as createElement3, useRef as useRef9 } from "react";
26601
26706
 
26602
26707
  // ../../node_modules/.pnpm/mdast-util-to-string@4.0.0/node_modules/mdast-util-to-string/lib/index.js
26603
26708
  var emptyOptions = {};
@@ -35475,10 +35580,10 @@ function MarkdownRenderer({
35475
35580
  codeBlockOverrides
35476
35581
  }) {
35477
35582
  const isStreaming = mode === "streaming";
35478
- const cacheRef = useRef8(createParseCache());
35479
- const blockCacheRef = useRef8(/* @__PURE__ */ new WeakMap());
35480
- const groupIdentityMapRef = useRef8(/* @__PURE__ */ new WeakMap());
35481
- const rendererConfigRef = useRef8(null);
35583
+ const cacheRef = useRef9(createParseCache());
35584
+ const blockCacheRef = useRef9(/* @__PURE__ */ new WeakMap());
35585
+ const groupIdentityMapRef = useRef9(/* @__PURE__ */ new WeakMap());
35586
+ const rendererConfigRef = useRef9(null);
35482
35587
  const previousConfig = rendererConfigRef.current;
35483
35588
  if (!previousConfig || previousConfig.allowedTags !== allowedTags || previousConfig.components !== components || previousConfig.rawHtmlPlugins !== rawHtmlPlugins || previousConfig.codeBlockOverrides !== codeBlockOverrides) {
35484
35589
  blockCacheRef.current = /* @__PURE__ */ new WeakMap();
@@ -35608,7 +35713,7 @@ function normalizeAdjacentUrlFormatting(value) {
35608
35713
  }
35609
35714
 
35610
35715
  // src/chat/markdown/MarkdownContent.tsx
35611
- import { isValidElement, useMemo as useMemo4, useRef as useRef9, useState as useState9 } from "react";
35716
+ import { isValidElement, useMemo as useMemo4, useRef as useRef10, useState as useState9 } from "react";
35612
35717
 
35613
35718
  // src/chat/lib/markdown-asset-url.ts
35614
35719
  function isAbsoluteAssetUrl(src, hasFileContext) {
@@ -35722,6 +35827,7 @@ function InlineToolCallBlock({
35722
35827
  }
35723
35828
  function CitationRefBlock({ "data-n": dataN, citations }) {
35724
35829
  const overlayRoot = useOverlayRoot();
35830
+ const [snapshotOpen, setSnapshotOpen] = useState9(false);
35725
35831
  const n2 = Number(dataN);
35726
35832
  const entry = Number.isFinite(n2) ? citations?.[n2] : void 0;
35727
35833
  if (!entry) return /* @__PURE__ */ jsxs10(Fragment6, { children: [
@@ -35730,48 +35836,59 @@ function CitationRefBlock({ "data-n": dataN, citations }) {
35730
35836
  "]"
35731
35837
  ] });
35732
35838
  const handleClick = () => {
35733
- if (entry.previewUrl) {
35839
+ if (entry.snapshot) {
35840
+ setSnapshotOpen(true);
35841
+ } else if (entry.previewUrl) {
35734
35842
  window.open(entry.previewUrl, "_blank", "noopener,noreferrer");
35735
35843
  }
35736
35844
  };
35737
- return /* @__PURE__ */ jsx14(dist_exports2.Provider, { delayDuration: 150, children: /* @__PURE__ */ jsxs10(dist_exports2.Root, { children: [
35738
- /* @__PURE__ */ jsx14(dist_exports2.Trigger, { asChild: true, children: /* @__PURE__ */ jsx14(
35739
- "button",
35740
- {
35741
- type: "button",
35742
- onClick: handleClick,
35743
- className: cn(
35744
- "not-prose mx-0.5 inline-flex h-4 min-w-4 shrink-0 translate-y-[-2px] items-center justify-center rounded px-1 align-super text-[10px] leading-none font-medium",
35745
- "bg-[hsl(var(--muted))]/60 text-[hsl(var(--muted-foreground))] transition-colors",
35746
- entry.previewUrl ? "cursor-pointer hover:bg-[hsl(var(--muted))] hover:text-[hsl(var(--foreground))]" : "cursor-default"
35747
- ),
35748
- "aria-label": `\u5F15\u7528\u6765\u6E90\uFF1A${entry.title}${entry.page ? ` \u7B2C ${entry.page} \u9875` : ""}`,
35749
- children: entry.n
35750
- }
35751
- ) }),
35752
- /* @__PURE__ */ jsx14(dist_exports2.Portal, { container: overlayRoot, children: /* @__PURE__ */ jsxs10(
35753
- dist_exports2.Content,
35754
- {
35755
- side: "top",
35756
- sideOffset: 6,
35757
- className: "z-[70] flex max-w-sm origin-(--radix-tooltip-content-transform-origin) flex-col gap-1 rounded-lg border border-[hsl(var(--border))] bg-[hsl(var(--popover))] px-3 py-2 text-left text-[12px] leading-5 whitespace-normal text-[hsl(var(--popover-foreground))] shadow-lg data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-[state=instant-open]:animate-in data-[state=instant-open]:fade-in-0 data-[state=instant-open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
35758
- children: [
35759
- /* @__PURE__ */ jsxs10("div", { className: "font-medium", children: [
35760
- entry.title,
35761
- entry.page ? ` \xB7 \u7B2C ${entry.page} \u9875` : ""
35762
- ] }),
35763
- entry.kbName ? /* @__PURE__ */ jsxs10("div", { className: "text-[11px] text-[hsl(var(--muted-foreground))]", children: [
35764
- "\u300A",
35765
- entry.kbName,
35766
- "\u300B"
35767
- ] }) : null,
35768
- entry.text ? /* @__PURE__ */ jsx14("div", { className: "line-clamp-4 text-[hsl(var(--muted-foreground))]", children: entry.text }) : null,
35769
- entry.previewUrl ? /* @__PURE__ */ jsx14("div", { className: "text-[10px] text-[hsl(var(--muted-foreground))]/70", children: "\u70B9\u51FB\u67E5\u770B\u539F\u6587" }) : null,
35770
- /* @__PURE__ */ jsx14(dist_exports2.Arrow, { className: "fill-[hsl(var(--popover))]" })
35771
- ]
35772
- }
35773
- ) })
35774
- ] }) });
35845
+ return /* @__PURE__ */ jsxs10(dist_exports2.Provider, { delayDuration: 150, children: [
35846
+ /* @__PURE__ */ jsxs10(dist_exports2.Root, { children: [
35847
+ /* @__PURE__ */ jsx14(dist_exports2.Trigger, { asChild: true, children: /* @__PURE__ */ jsx14(
35848
+ "button",
35849
+ {
35850
+ type: "button",
35851
+ onClick: handleClick,
35852
+ className: cn(
35853
+ "not-prose mx-0.5 inline-flex h-4 min-w-4 shrink-0 translate-y-[-2px] items-center justify-center rounded px-1 align-super text-[10px] leading-none font-medium",
35854
+ "bg-[hsl(var(--muted))]/60 text-[hsl(var(--muted-foreground))] transition-colors",
35855
+ entry.snapshot || entry.previewUrl ? "cursor-pointer hover:bg-[hsl(var(--muted))] hover:text-[hsl(var(--foreground))]" : "cursor-default"
35856
+ ),
35857
+ "aria-label": `\u5F15\u7528\u6765\u6E90\uFF1A${entry.title}${entry.page ? ` \u7B2C ${entry.page} \u9875` : ""}`,
35858
+ children: entry.n
35859
+ }
35860
+ ) }),
35861
+ /* @__PURE__ */ jsx14(dist_exports2.Portal, { container: overlayRoot, children: /* @__PURE__ */ jsxs10(
35862
+ dist_exports2.Content,
35863
+ {
35864
+ side: "top",
35865
+ sideOffset: 6,
35866
+ className: "z-[70] flex max-w-sm origin-(--radix-tooltip-content-transform-origin) flex-col gap-1 rounded-lg border border-[hsl(var(--border))] bg-[hsl(var(--popover))] px-3 py-2 text-left text-[12px] leading-5 whitespace-normal text-[hsl(var(--popover-foreground))] shadow-lg data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-[state=instant-open]:animate-in data-[state=instant-open]:fade-in-0 data-[state=instant-open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
35867
+ children: [
35868
+ /* @__PURE__ */ jsxs10("div", { className: "font-medium", children: [
35869
+ entry.title,
35870
+ entry.page ? ` \xB7 \u7B2C ${entry.page} \u9875` : ""
35871
+ ] }),
35872
+ entry.kbName ? /* @__PURE__ */ jsxs10("div", { className: "text-[11px] text-[hsl(var(--muted-foreground))]", children: [
35873
+ "\u300A",
35874
+ entry.kbName,
35875
+ "\u300B"
35876
+ ] }) : null,
35877
+ entry.text ? /* @__PURE__ */ jsx14("div", { className: "line-clamp-4 text-[hsl(var(--muted-foreground))]", children: entry.text }) : null,
35878
+ entry.snapshot || entry.previewUrl ? /* @__PURE__ */ jsx14("div", { className: "text-[10px] text-[hsl(var(--muted-foreground))]/70", children: "\u70B9\u51FB\u67E5\u770B\u539F\u6587" }) : null,
35879
+ /* @__PURE__ */ jsx14(dist_exports2.Arrow, { className: "fill-[hsl(var(--popover))]" })
35880
+ ]
35881
+ }
35882
+ ) })
35883
+ ] }),
35884
+ entry.snapshot ? /* @__PURE__ */ jsx14(Dialog, { open: snapshotOpen, onOpenChange: setSnapshotOpen, children: /* @__PURE__ */ jsxs10(DialogContent, { "aria-describedby": void 0, className: "max-h-[80vh] overflow-y-auto", children: [
35885
+ /* @__PURE__ */ jsx14(DialogTitle, { children: entry.title }),
35886
+ /* @__PURE__ */ jsx14("p", { className: "text-xs text-[hsl(var(--muted-foreground))]", children: "\u56DE\u7B54\u65F6\u4FDD\u5B58\u7684\u539F\u6587" }),
35887
+ /* @__PURE__ */ jsx14("div", { className: "whitespace-pre-wrap break-words text-sm", children: entry.text.slice(0, 2e4) }),
35888
+ entry.text.length > 2e4 ? /* @__PURE__ */ jsx14("p", { className: "text-xs text-[hsl(var(--muted-foreground))]", children: "\u539F\u6587\u8F83\u957F\uFF0C\u6B64\u5904\u663E\u793A\u524D 20000 \u5B57\u7B26\uFF1B\u5B8C\u6574\u5185\u5BB9\u5DF2\u4FDD\u5B58\u5728\u5BF9\u8BDD\u4E2D\u3002" }) : null,
35889
+ entry.previewUrl ? /* @__PURE__ */ jsx14(ExternalAnchor, { href: entry.previewUrl, children: "\u6253\u5F00\u6765\u6E90\u9875\u9762" }) : null
35890
+ ] }) }) : null
35891
+ ] });
35775
35892
  }
35776
35893
  function extractText(value) {
35777
35894
  if (typeof value === "string" || typeof value === "number") return String(value);
@@ -35793,7 +35910,7 @@ function resolveCollapsedContent({
35793
35910
  return decodeCollapsedContent(dataRawAttribute) || extractText(children).trim();
35794
35911
  }
35795
35912
  function CodeBlockPre({ children, ...props }) {
35796
- const preRef = useRef9(null);
35913
+ const preRef = useRef10(null);
35797
35914
  const [copied, setCopied] = useState9(false);
35798
35915
  const codeChild = Array.isArray(children) ? children[0] : children;
35799
35916
  const hasCodeNode = isValidElement(codeChild);
@@ -36058,7 +36175,7 @@ var Reasoning = memo4(
36058
36175
  defaultProp: void 0,
36059
36176
  prop: durationProp
36060
36177
  });
36061
- const startTimeRef = useRef10(null);
36178
+ const startTimeRef = useRef11(null);
36062
36179
  useEffect8(() => {
36063
36180
  if (isStreaming) {
36064
36181
  if (startTimeRef.current === null) {
@@ -36592,7 +36709,7 @@ import {
36592
36709
  } from "@blade-hq/agent-client/internal";
36593
36710
 
36594
36711
  // src/chat/AskUserQuestionBlock.tsx
36595
- import { useEffect as useEffect10, useMemo as useMemo7, useRef as useRef11, useState as useState14 } from "react";
36712
+ import { useEffect as useEffect10, useMemo as useMemo7, useRef as useRef12, useState as useState14 } from "react";
36596
36713
  import { jsx as jsx21, jsxs as jsxs16 } from "react/jsx-runtime";
36597
36714
  var CUSTOM_TEXTAREA_MAX_HEIGHT = 160;
36598
36715
  function resizeCustomTextarea(textarea) {
@@ -36601,7 +36718,7 @@ function resizeCustomTextarea(textarea) {
36601
36718
  textarea.style.overflowY = textarea.scrollHeight > CUSTOM_TEXTAREA_MAX_HEIGHT ? "auto" : "hidden";
36602
36719
  }
36603
36720
  function useAutoResizeTextarea(value) {
36604
- const textareaRef = useRef11(null);
36721
+ const textareaRef = useRef12(null);
36605
36722
  useEffect10(() => {
36606
36723
  const textarea = textareaRef.current;
36607
36724
  if (textarea?.value === value) resizeCustomTextarea(textarea);
@@ -37096,7 +37213,7 @@ function BashRenderer({ toolCall }) {
37096
37213
  }
37097
37214
 
37098
37215
  // src/chat/tool-renderers/FileEditRenderer.tsx
37099
- import { useLayoutEffect as useLayoutEffect3, useRef as useRef12 } from "react";
37216
+ import { useLayoutEffect as useLayoutEffect3, useRef as useRef13 } from "react";
37100
37217
 
37101
37218
  // src/chat/tool-renderers/write-preview-scroll.ts
37102
37219
  function shouldFollowWritePreview(toolName, status) {
@@ -37289,7 +37406,7 @@ function readJsonString(raw, start) {
37289
37406
  return { value: chars.join(""), closed: false };
37290
37407
  }
37291
37408
  function FileEditRenderer({ toolCall }) {
37292
- const previewRef = useRef12(null);
37409
+ const previewRef = useRef13(null);
37293
37410
  const rawArguments = toolCall.arguments ?? "";
37294
37411
  const argsValue = parseJsonValue(toolCall.arguments);
37295
37412
  const args = isPlainObject(argsValue) ? argsValue : null;
@@ -37362,17 +37479,17 @@ function FileEditRenderer({ toolCall }) {
37362
37479
  import { useState as useState16 } from "react";
37363
37480
 
37364
37481
  // src/chat/ImageLightbox.tsx
37365
- import { useCallback as useCallback4, useEffect as useEffect11, useRef as useRef13, useState as useState15 } from "react";
37482
+ import { useCallback as useCallback4, useEffect as useEffect11, useRef as useRef14, useState as useState15 } from "react";
37366
37483
  import { createPortal } from "react-dom";
37367
37484
  import { Fragment as Fragment10, jsx as jsx24, jsxs as jsxs19 } from "react/jsx-runtime";
37368
37485
  function ImageLightbox({ open: open2, onOpenChange, images, initialIndex = 0 }) {
37369
37486
  const [currentIndex, setCurrentIndex] = useState15(initialIndex);
37370
37487
  const [scale, setScale] = useState15(1);
37371
37488
  const [translate, setTranslate] = useState15({ x: 0, y: 0 });
37372
- const dragging = useRef13(false);
37373
- const dragStart = useRef13({ x: 0, y: 0 });
37374
- const translateStart = useRef13({ x: 0, y: 0 });
37375
- const imgRef = useRef13(null);
37489
+ const dragging = useRef14(false);
37490
+ const dragStart = useRef14({ x: 0, y: 0 });
37491
+ const translateStart = useRef14({ x: 0, y: 0 });
37492
+ const imgRef = useRef14(null);
37376
37493
  const [loadedSource, setLoadedSource] = useState15(null);
37377
37494
  const reset = useCallback4(() => {
37378
37495
  setScale(1);
@@ -37394,7 +37511,7 @@ function ImageLightbox({ open: open2, onOpenChange, images, initialIndex = 0 })
37394
37511
  setCurrentIndex((i2) => Math.min(images.length - 1, i2 + 1));
37395
37512
  reset();
37396
37513
  }, [images.length, reset]);
37397
- const prevOpenRef = useRef13(false);
37514
+ const prevOpenRef = useRef14(false);
37398
37515
  useEffect11(() => {
37399
37516
  if (open2 && !prevOpenRef.current) {
37400
37517
  setLoadedSource(null);
@@ -38728,9 +38845,16 @@ function UserMessageBubble({ message, className }) {
38728
38845
  contexts: textContexts
38729
38846
  } = extractTextAttachments(message.content);
38730
38847
  const trimmedClean = cleanText.trim();
38848
+ const pluginPills = message.refs?.length ? /* @__PURE__ */ jsx34("div", { className: "flex flex-wrap justify-end gap-1.5", "aria-label": "\u9009\u62E9\u7684\u63D2\u4EF6\u6761\u76EE", children: message.refs.map((ref) => /* @__PURE__ */ jsx34("span", { className: "max-w-full truncate rounded-full border border-border bg-muted px-2.5 py-1 text-xs", children: ref.label }, `${ref.plugin}:${ref.server}:${ref.id}`)) }) : null;
38849
+ const topicAssetPills = message.topic_asset_refs?.length ? /* @__PURE__ */ jsx34("div", { className: "flex max-w-full flex-wrap justify-end gap-1.5", "aria-label": "\u5F15\u7528\u7684\u4E3B\u9898\u8D44\u4EA7", children: message.topic_asset_refs.map((ref) => /* @__PURE__ */ jsxs29("span", { title: ref.path, className: "max-w-full truncate rounded-full border border-border bg-muted px-2.5 py-1 text-xs text-foreground", children: [
38850
+ "\u4E3B\u9898\u8D44\u4EA7 \xB7 ",
38851
+ ref.path
38852
+ ] }, `${ref.topic_id}:${ref.path}`)) }) : null;
38731
38853
  const whatifParsed = trimmedClean && imageParts.length === 0 && fileParts.length === 0 && textAttachments.length === 0 ? parseWhatIfPrompt(cleanText) : null;
38732
38854
  if (whatifParsed && customBubble == null) {
38733
38855
  return /* @__PURE__ */ jsx34("div", { part: "user-row", className: "blade-chat-user-row flex justify-end", children: /* @__PURE__ */ jsxs29("div", { className: "blade-chat-user-col group flex max-w-[72%] flex-col items-end gap-2", children: [
38856
+ pluginPills,
38857
+ topicAssetPills,
38734
38858
  /* @__PURE__ */ jsx34(WhatIfUserBubble, { parsed: whatifParsed }),
38735
38859
  whatifParsed.userText && /* @__PURE__ */ jsx34(
38736
38860
  MessageActions,
@@ -38866,6 +38990,8 @@ function UserMessageBubble({ message, className }) {
38866
38990
  }
38867
38991
  ),
38868
38992
  /* @__PURE__ */ jsx34(MessageContextPills, { contexts: textContexts }),
38993
+ pluginPills,
38994
+ topicAssetPills,
38869
38995
  trimmedClean && // 原型:不对称圆角(指向发送侧的一角收窄),无边框、无内阴影。
38870
38996
  (customBubble != null ? customBubble : /* @__PURE__ */ jsx34(
38871
38997
  "div",
@@ -39826,7 +39952,7 @@ function AssistantTurnBlockBase({
39826
39952
  const [displayMode, setDisplayMode] = useState22(
39827
39953
  () => forceExpanded ? "detail" : (displayModeMemoryKey ? turnDisplayModeMemory.get(displayModeMemoryKey) : void 0) ?? defaultTurnDisplayMode({ forceExpanded, hasActionableToolCall, isStreaming })
39828
39954
  );
39829
- const wasStreamingRef = useRef14(isStreaming);
39955
+ const wasStreamingRef = useRef15(isStreaming);
39830
39956
  useEffect16(() => {
39831
39957
  if (wasStreamingRef.current && !isStreaming && !forceExpanded && !(displayModeMemoryKey && turnDisplayModeMemory.has(displayModeMemoryKey))) {
39832
39958
  setDisplayMode(
@@ -40535,7 +40661,7 @@ function MemoryRefsHint({ refs: rawRefs, className }) {
40535
40661
  }
40536
40662
 
40537
40663
  // src/hooks/use-message-pin.ts
40538
- import { useCallback as useCallback6, useEffect as useEffect17, useRef as useRef15 } from "react";
40664
+ import { useCallback as useCallback6, useEffect as useEffect17, useRef as useRef16 } from "react";
40539
40665
  var DEFAULT_MARGIN_PX = 24;
40540
40666
  var MANUAL_SCROLL_TOLERANCE_PX = 2;
40541
40667
  function useMessagePin({
@@ -40557,16 +40683,16 @@ function useMessagePin({
40557
40683
  scrollToBottom,
40558
40684
  margin = DEFAULT_MARGIN_PX
40559
40685
  }) {
40560
- const pinActiveRef = useRef15(false);
40561
- const frameRef = useRef15(null);
40562
- const retryTimeoutRef = useRef15(null);
40563
- const manualScrollCheckTimeoutRef = useRef15(null);
40564
- const repositionPendingRef = useRef15(false);
40565
- const pinnedTargetScrollTopRef = useRef15(null);
40566
- const appliedTargetKeyRef = useRef15(null);
40567
- const initialObservedTargetKeyRef = useRef15(pinTarget ? null : targetKey);
40568
- const observedTargetKeyRef = useRef15(initialObservedTargetKeyRef.current);
40569
- const setSpacerHeightRef = useRef15(setSpacerHeight);
40686
+ const pinActiveRef = useRef16(false);
40687
+ const frameRef = useRef16(null);
40688
+ const retryTimeoutRef = useRef16(null);
40689
+ const manualScrollCheckTimeoutRef = useRef16(null);
40690
+ const repositionPendingRef = useRef16(false);
40691
+ const pinnedTargetScrollTopRef = useRef16(null);
40692
+ const appliedTargetKeyRef = useRef16(null);
40693
+ const initialObservedTargetKeyRef = useRef16(pinTarget ? null : targetKey);
40694
+ const observedTargetKeyRef = useRef16(initialObservedTargetKeyRef.current);
40695
+ const setSpacerHeightRef = useRef16(setSpacerHeight);
40570
40696
  setSpacerHeightRef.current = setSpacerHeight;
40571
40697
  const release = useCallback6(() => {
40572
40698
  if (!pinActiveRef.current) return;
@@ -41072,7 +41198,7 @@ function ContextGroupCard({ contexts, className }) {
41072
41198
  }
41073
41199
 
41074
41200
  // src/chat/ResultFeedback.tsx
41075
- import { useCallback as useCallback7, useEffect as useEffect18, useRef as useRef16, useState as useState23 } from "react";
41201
+ import { useCallback as useCallback7, useEffect as useEffect18, useRef as useRef17, useState as useState23 } from "react";
41076
41202
  import { jsx as jsx39, jsxs as jsxs34 } from "react/jsx-runtime";
41077
41203
  var REASONS = [
41078
41204
  { value: "not_solved", label: "\u6CA1\u89E3\u51B3\u95EE\u9898" },
@@ -41122,10 +41248,10 @@ function ResultFeedback({
41122
41248
  );
41123
41249
  const [saving, setSaving] = useState23(false);
41124
41250
  const [saveError, setSaveError] = useState23(false);
41125
- const latestChoice = useRef16(null);
41251
+ const latestChoice = useRef17(null);
41126
41252
  const eligible = followup.feedback_eligible === true;
41127
41253
  const emit = useFollowupInteraction();
41128
- const reportedShown = useRef16(false);
41254
+ const reportedShown = useRef17(false);
41129
41255
  const visible = eligible && !isViewer;
41130
41256
  useEffect18(() => {
41131
41257
  if (!visible || reportedShown.current) return;
@@ -41378,11 +41504,11 @@ function LiteMessageList({
41378
41504
  onLoadOlder,
41379
41505
  historyLoadRevision = 0
41380
41506
  }) {
41381
- const scrollRef = useRef17(null);
41382
- const trailingSpacerRef = useRef17(null);
41383
- const stickToBottomRef = useRef17(true);
41384
- const scrollFrameRef = useRef17(null);
41385
- const loadingOlderRef = useRef17(false);
41507
+ const scrollRef = useRef18(null);
41508
+ const trailingSpacerRef = useRef18(null);
41509
+ const stickToBottomRef = useRef18(true);
41510
+ const scrollFrameRef = useRef18(null);
41511
+ const loadingOlderRef = useRef18(false);
41386
41512
  useEffect19(() => {
41387
41513
  void historyLoadRevision;
41388
41514
  const element2 = scrollRef.current;
@@ -41739,12 +41865,12 @@ import {
41739
41865
  useEffect as useEffect26,
41740
41866
  useLayoutEffect as useLayoutEffect7,
41741
41867
  useMemo as useMemo16,
41742
- useRef as useRef25,
41868
+ useRef as useRef26,
41743
41869
  useState as useState32
41744
41870
  } from "react";
41745
41871
 
41746
41872
  // ../../node_modules/.pnpm/use-stick-to-bottom@1.1.3_react@19.2.4/node_modules/use-stick-to-bottom/dist/useStickToBottom.js
41747
- import { useCallback as useCallback9, useMemo as useMemo13, useRef as useRef18, useState as useState25 } from "react";
41873
+ import { useCallback as useCallback9, useMemo as useMemo13, useRef as useRef19, useState as useState25 } from "react";
41748
41874
  var DEFAULT_SPRING_ANIMATION = {
41749
41875
  /**
41750
41876
  * A value from 0 to 1, on how much to damp the animation.
@@ -41784,7 +41910,7 @@ var useStickToBottom = (options = {}) => {
41784
41910
  const [escapedFromLock, updateEscapedFromLock] = useState25(false);
41785
41911
  const [isAtBottom, updateIsAtBottom] = useState25(options.initial !== false);
41786
41912
  const [isNearBottom, setIsNearBottom] = useState25(false);
41787
- const optionsRef = useRef18(null);
41913
+ const optionsRef = useRef19(null);
41788
41914
  optionsRef.current = options;
41789
41915
  const isSelecting = useCallback9(() => {
41790
41916
  if (!mouseDown) {
@@ -42088,11 +42214,11 @@ function mergeAnimations(...animations) {
42088
42214
 
42089
42215
  // ../../node_modules/.pnpm/use-stick-to-bottom@1.1.3_react@19.2.4/node_modules/use-stick-to-bottom/dist/StickToBottom.js
42090
42216
  import * as React from "react";
42091
- import { createContext as createContext7, useContext as useContext7, useEffect as useEffect20, useImperativeHandle as useImperativeHandle2, useLayoutEffect as useLayoutEffect4, useMemo as useMemo14, useRef as useRef19 } from "react";
42217
+ import { createContext as createContext7, useContext as useContext7, useEffect as useEffect20, useImperativeHandle as useImperativeHandle2, useLayoutEffect as useLayoutEffect4, useMemo as useMemo14, useRef as useRef20 } from "react";
42092
42218
  var StickToBottomContext = createContext7(null);
42093
42219
  var useIsomorphicLayoutEffect = typeof window !== "undefined" ? useLayoutEffect4 : useEffect20;
42094
42220
  function StickToBottom({ instance, children, resize, initial, mass, damping, stiffness, targetScrollTop: currentTargetScrollTop, contextRef, ...props }) {
42095
- const customTargetScrollTop = useRef19(null);
42221
+ const customTargetScrollTop = useRef20(null);
42096
42222
  const targetScrollTop = React.useCallback((target, elements) => {
42097
42223
  const get = context?.targetScrollTop ?? currentTargetScrollTop;
42098
42224
  return get?.(target, elements) ?? target;
@@ -42173,7 +42299,7 @@ import {
42173
42299
  isHiddenInternalMessage as isHiddenInternalMessage2,
42174
42300
  normalizeMessageContent as normalizeMessageContent3
42175
42301
  } from "@blade-hq/agent-client/internal";
42176
- import { useCallback as useCallback11, useEffect as useEffect21, useLayoutEffect as useLayoutEffect5, useRef as useRef20, useState as useState26 } from "react";
42302
+ import { useCallback as useCallback11, useEffect as useEffect21, useLayoutEffect as useLayoutEffect5, useRef as useRef21, useState as useState26 } from "react";
42177
42303
  var HIGHLIGHT_MS = 1600;
42178
42304
  var TURN_NAV_HIGHLIGHT_CLASS = "blade-turn-nav-flash";
42179
42305
  var MAX_FRAMES_AFTER_LOCATE = 20;
@@ -42228,7 +42354,7 @@ function useTurnNavigation({
42228
42354
  reloadKey,
42229
42355
  rewriteKey
42230
42356
  }) {
42231
- const callbacks = useRef20({
42357
+ const callbacks = useRef21({
42232
42358
  getLoadedEntryElement,
42233
42359
  isEntryLoaded,
42234
42360
  locateEntry,
@@ -42243,14 +42369,14 @@ function useTurnNavigation({
42243
42369
  const [failedEntryId, setFailedEntryId] = useState26(null);
42244
42370
  const [error61, setError] = useState26(null);
42245
42371
  const [indexRefresh, setIndexRefresh] = useState26(0);
42246
- const seekSeq = useRef20(0);
42247
- const indexSeq = useRef20(0);
42248
- const indexRef = useRef20({
42372
+ const seekSeq = useRef21(0);
42373
+ const indexSeq = useRef21(0);
42374
+ const indexRef = useRef21({
42249
42375
  sessionId: null,
42250
42376
  items: []
42251
42377
  });
42252
- const highlightTimer = useRef20(void 0);
42253
- const highlightedRef = useRef20(null);
42378
+ const highlightTimer = useRef21(void 0);
42379
+ const highlightedRef = useRef21(null);
42254
42380
  const clearHighlight = useCallback11(() => {
42255
42381
  clearTimeout(highlightTimer.current);
42256
42382
  highlightTimer.current = void 0;
@@ -42409,7 +42535,7 @@ function useTurnNavigation({
42409
42535
  }
42410
42536
 
42411
42537
  // src/hooks/use-typewriter-reveal.ts
42412
- import { useCallback as useCallback12, useEffect as useEffect22, useRef as useRef21, useState as useState27 } from "react";
42538
+ import { useCallback as useCallback12, useEffect as useEffect22, useRef as useRef22, useState as useState27 } from "react";
42413
42539
  var REVEAL_INITIAL_CPS = 18;
42414
42540
  var REVEAL_MIN_CPS = 6;
42415
42541
  var REVEAL_MAX_CPS = 240;
@@ -42446,14 +42572,14 @@ function initialRevealState(targetText, isLive, resetKey) {
42446
42572
  }
42447
42573
  function useTypewriterReveal(targetText, isLive, resetKey) {
42448
42574
  const [state, setState] = useState27(() => initialRevealState(targetText, isLive, resetKey));
42449
- const targetTextRef = useRef21(targetText);
42575
+ const targetTextRef = useRef22(targetText);
42450
42576
  targetTextRef.current = targetText;
42451
- const revealedLenRef = useRef21(state.revealedLen);
42452
- const priorTargetLenRef = useRef21(targetText.length);
42453
- const emaCpsRef = useRef21(REVEAL_INITIAL_CPS);
42454
- const lastTickTsRef = useRef21(null);
42455
- const lastArrivalTsRef = useRef21(null);
42456
- const cancelRef = useRef21(null);
42577
+ const revealedLenRef = useRef22(state.revealedLen);
42578
+ const priorTargetLenRef = useRef22(targetText.length);
42579
+ const emaCpsRef = useRef22(REVEAL_INITIAL_CPS);
42580
+ const lastTickTsRef = useRef22(null);
42581
+ const lastArrivalTsRef = useRef22(null);
42582
+ const cancelRef = useRef22(null);
42457
42583
  const stopTicking = useCallback12(() => {
42458
42584
  cancelRef.current?.();
42459
42585
  cancelRef.current = null;
@@ -42485,7 +42611,7 @@ function useTypewriterReveal(targetText, isLive, resetKey) {
42485
42611
  priorTargetLenRef.current = targetText.length;
42486
42612
  setState((s) => ({ ...s, displayedText: targetText, revealedLen: targetText.length, isRevealing: false }));
42487
42613
  }
42488
- const tickRef = useRef21(null);
42614
+ const tickRef = useRef22(null);
42489
42615
  tickRef.current = (ts) => {
42490
42616
  cancelRef.current = null;
42491
42617
  const currentTargetLen = targetTextRef.current.length;
@@ -45898,10 +46024,10 @@ function CompactionCard({
45898
46024
  }
45899
46025
 
45900
46026
  // src/chat/PostChatFollowupBlock.tsx
45901
- import { useEffect as useEffect24, useRef as useRef23 } from "react";
46027
+ import { useEffect as useEffect24, useRef as useRef24 } from "react";
45902
46028
 
45903
46029
  // src/chat/FinalArtifactCards.tsx
45904
- import { useEffect as useEffect23, useRef as useRef22, useState as useState30 } from "react";
46030
+ import { useEffect as useEffect23, useRef as useRef23, useState as useState30 } from "react";
45905
46031
  import { Fragment as Fragment16, jsx as jsx43, jsxs as jsxs38 } from "react/jsx-runtime";
45906
46032
  function basename2(path2) {
45907
46033
  return path2.split("/").filter(Boolean).pop() || path2;
@@ -45976,8 +46102,8 @@ function FinalArtifactCards({
45976
46102
  const hasMore = artifacts.length > 3;
45977
46103
  const visibleArtifacts = expanded ? artifacts : artifacts.slice(0, 3);
45978
46104
  const emit = useFollowupInteraction();
45979
- const reportedShown = useRef22(/* @__PURE__ */ new Set());
45980
- const reportedOpened = useRef22(/* @__PURE__ */ new Set());
46105
+ const reportedShown = useRef23(/* @__PURE__ */ new Set());
46106
+ const reportedOpened = useRef23(/* @__PURE__ */ new Set());
45981
46107
  const visibleCount = visibleArtifacts.length;
45982
46108
  useEffect23(() => {
45983
46109
  for (let artifactIndex = 0; artifactIndex < visibleCount; artifactIndex += 1) {
@@ -46065,8 +46191,8 @@ function PostChatFollowupBlock({
46065
46191
  }) {
46066
46192
  const composer = useComposerBridge(sessionId);
46067
46193
  const emit = useFollowupInteraction();
46068
- const reportedSuggestions = useRef23(false);
46069
- const adopted = useRef23(/* @__PURE__ */ new Set());
46194
+ const reportedSuggestions = useRef24(false);
46195
+ const adopted = useRef24(/* @__PURE__ */ new Set());
46070
46196
  const artifacts = followup?.final_artifacts ?? [];
46071
46197
  const assistantEntryId = followup?.assistant_entry_id ?? "";
46072
46198
  const suggestionCount = followup?.suggestions.length ?? 0;
@@ -46199,7 +46325,7 @@ var RenderErrorBoundary = class extends Component {
46199
46325
  };
46200
46326
 
46201
46327
  // src/chat/TurnNavRail.tsx
46202
- import { useCallback as useCallback13, useEffect as useEffect25, useLayoutEffect as useLayoutEffect6, useRef as useRef24, useState as useState31 } from "react";
46328
+ import { useCallback as useCallback13, useEffect as useEffect25, useLayoutEffect as useLayoutEffect6, useRef as useRef25, useState as useState31 } from "react";
46203
46329
  import { jsx as jsx46, jsxs as jsxs41 } from "react/jsx-runtime";
46204
46330
  var PANEL_MAX_HEIGHT = 448;
46205
46331
  var PANEL_MARGIN = 16;
@@ -46223,11 +46349,11 @@ function TurnNavRail({
46223
46349
  }) {
46224
46350
  const [hoveredTurnId, setHoveredTurnId] = useState31(null);
46225
46351
  const [panelOpen, setPanelOpen] = useState31(false);
46226
- const listRef = useRef24(null);
46227
- const markerRef = useRef24(null);
46228
- const edgeRatioRef = useRef24(0.5);
46229
- const velocityRef = useRef24(0);
46230
- const rafRef = useRef24(null);
46352
+ const listRef = useRef25(null);
46353
+ const markerRef = useRef25(null);
46354
+ const edgeRatioRef = useRef25(0.5);
46355
+ const velocityRef = useRef25(0);
46356
+ const rafRef = useRef25(null);
46231
46357
  useEffect25(() => {
46232
46358
  if (!panelOpen || hoveredTurnId == null) return;
46233
46359
  const list2 = listRef.current;
@@ -46598,8 +46724,8 @@ function MessageListBody({
46598
46724
  const stateIsStreaming = useSessionState(sessionId, (state) => state.isStreaming);
46599
46725
  const sessionIsStreaming = streamingOverride ?? stateIsStreaming;
46600
46726
  const agentLoopNameSet = useMemo16(() => new Set(Object.keys(agentLoops ?? {})), [agentLoops]);
46601
- const assistantMessagesCacheRef = useRef25(/* @__PURE__ */ new Map());
46602
- const stickContextRef = useRef25(null);
46727
+ const assistantMessagesCacheRef = useRef26(/* @__PURE__ */ new Map());
46728
+ const stickContextRef = useRef26(null);
46603
46729
  const latestAssistantIndex = (() => {
46604
46730
  for (let i2 = messages.length - 1; i2 >= 0; i2 -= 1) {
46605
46731
  const candidate = messages[i2];
@@ -46701,52 +46827,52 @@ function MessageListBody({
46701
46827
  const latestUserStableId = latestUserBlock?.message.render_id ?? latestUserAnchorId;
46702
46828
  const latestUserIsOptimistic = latestUserBlock?.message.entry_id?.startsWith("local-user-") ?? false;
46703
46829
  const effectiveNewUserMessageKey = latestUserIsOptimistic ? latestUserBlock?.key ?? latestUserAnchorId : null;
46704
- const containerRef = useRef25(null);
46705
- const scrollContainerRef = useRef25(null);
46706
- const virtualPrefixRef = useRef25(null);
46707
- const visibleTurnsRef = useRef25(/* @__PURE__ */ new Map());
46708
- const visibleBlockRowsRef = useRef25(/* @__PURE__ */ new Map());
46709
- const mountedTurnElementsRef = useRef25(/* @__PURE__ */ new Map());
46710
- const turnRefCallbacksRef = useRef25(
46830
+ const containerRef = useRef26(null);
46831
+ const scrollContainerRef = useRef26(null);
46832
+ const virtualPrefixRef = useRef26(null);
46833
+ const visibleTurnsRef = useRef26(/* @__PURE__ */ new Map());
46834
+ const visibleBlockRowsRef = useRef26(/* @__PURE__ */ new Map());
46835
+ const mountedTurnElementsRef = useRef26(/* @__PURE__ */ new Map());
46836
+ const turnRefCallbacksRef = useRef26(
46711
46837
  /* @__PURE__ */ new Map()
46712
46838
  );
46713
- const intersectionObserverRef = useRef25(null);
46714
- const measuredSizeByKeyRef = useRef25(/* @__PURE__ */ new Map());
46715
- const measuredRowElementsRef = useRef25(/* @__PURE__ */ new Map());
46716
- const rowRefCallbacksRef = useRef25(
46839
+ const intersectionObserverRef = useRef26(null);
46840
+ const measuredSizeByKeyRef = useRef26(/* @__PURE__ */ new Map());
46841
+ const measuredRowElementsRef = useRef26(/* @__PURE__ */ new Map());
46842
+ const rowRefCallbacksRef = useRef26(
46717
46843
  /* @__PURE__ */ new Map()
46718
46844
  );
46719
- const rowResizeObserverRef = useRef25(null);
46720
- const boundaryAnchorRef = useRef25(null);
46721
- const previousStablePrefixEndRef = useRef25(null);
46722
- const frameRef = useRef25(null);
46723
- const startScrollFrameRef = useRef25(null);
46724
- const startScrollTimeoutRef = useRef25(null);
46725
- const entryScrollFrameRef = useRef25(null);
46726
- const entryScrollTimeoutRefs = useRef25([]);
46727
- const appliedStartScrollKeyRef = useRef25(null);
46728
- const appliedEntryScrollKeyRef = useRef25(null);
46729
- const newTurnSpacerRef = useRef25(null);
46730
- const newTurnScrollFrameRef = useRef25(null);
46731
- const newTurnScrollTimeoutRef = useRef25(null);
46732
- const newTurnSpacerFrameRef = useRef25(null);
46733
- const newTurnAnimationFrameRef = useRef25(null);
46734
- const newTurnAnimationCleanupRef = useRef25(null);
46735
- const isAnimatingNewTurnRef = useRef25(false);
46736
- const heldStickToBottomRef = useRef25(false);
46737
- const pinnedScrollTopRef = useRef25(null);
46738
- const newTurnPinActiveRef = useRef25(false);
46739
- const appliedNewUserMessageKeyRef = useRef25(null);
46740
- const observedLatestUserAnchorRef = useRef25(
46845
+ const rowResizeObserverRef = useRef26(null);
46846
+ const boundaryAnchorRef = useRef26(null);
46847
+ const previousStablePrefixEndRef = useRef26(null);
46848
+ const frameRef = useRef26(null);
46849
+ const startScrollFrameRef = useRef26(null);
46850
+ const startScrollTimeoutRef = useRef26(null);
46851
+ const entryScrollFrameRef = useRef26(null);
46852
+ const entryScrollTimeoutRefs = useRef26([]);
46853
+ const appliedStartScrollKeyRef = useRef26(null);
46854
+ const appliedEntryScrollKeyRef = useRef26(null);
46855
+ const newTurnSpacerRef = useRef26(null);
46856
+ const newTurnScrollFrameRef = useRef26(null);
46857
+ const newTurnScrollTimeoutRef = useRef26(null);
46858
+ const newTurnSpacerFrameRef = useRef26(null);
46859
+ const newTurnAnimationFrameRef = useRef26(null);
46860
+ const newTurnAnimationCleanupRef = useRef26(null);
46861
+ const isAnimatingNewTurnRef = useRef26(false);
46862
+ const heldStickToBottomRef = useRef26(false);
46863
+ const pinnedScrollTopRef = useRef26(null);
46864
+ const newTurnPinActiveRef = useRef26(false);
46865
+ const appliedNewUserMessageKeyRef = useRef26(null);
46866
+ const observedLatestUserAnchorRef = useRef26(
46741
46867
  latestUserIsOptimistic ? null : latestUserAnchorId
46742
46868
  );
46743
- const observedLatestUserStableIdRef = useRef25(
46869
+ const observedLatestUserStableIdRef = useRef26(
46744
46870
  latestUserIsOptimistic ? null : latestUserStableId
46745
46871
  );
46746
46872
  const [activeTurnId, setActiveTurnId] = useState32(lastTurnId);
46747
46873
  const [virtualScrollMargin, setVirtualScrollMargin] = useState32(0);
46748
46874
  const [scrollContainerElement, setScrollContainerElement] = useState32(null);
46749
- const loadingOlderRef = useRef25(false);
46875
+ const loadingOlderRef = useRef26(false);
46750
46876
  const virtualizationEnabled = Boolean(useChatEnvironment().useVirtualizer);
46751
46877
  const stablePrefixEnd = useMemo16(
46752
46878
  () => virtualizationEnabled ? findStablePrefixEnd(renderBlocks) : 0,
@@ -47917,7 +48043,7 @@ function MessageList(props) {
47917
48043
  }
47918
48044
 
47919
48045
  // src/chat/runtime/use-chat-actions.ts
47920
- import { useCallback as useCallback15, useEffect as useEffect27, useRef as useRef26, useState as useState33 } from "react";
48046
+ import { useCallback as useCallback15, useEffect as useEffect27, useRef as useRef27, useState as useState33 } from "react";
47921
48047
  function useChatActions(sessionId) {
47922
48048
  const source = useSessionSource();
47923
48049
  const session = useSessionHandle(sessionId);
@@ -47925,7 +48051,7 @@ function useChatActions(sessionId) {
47925
48051
  const [isStopping, setIsStopping] = useState33(false);
47926
48052
  const [queueNotice, setQueueNotice] = useState33(null);
47927
48053
  const [pendingQueueItemId, setPendingQueueItemId] = useState33(null);
47928
- const previousSessionIdRef = useRef26(sessionId);
48054
+ const previousSessionIdRef = useRef27(sessionId);
47929
48055
  const send = useCallback15(
47930
48056
  (msg, targetMode, askuserAnswer, options) => (
47931
48057
  // 等会话就绪再发:等待回答时要按最新状态把输入当作作答
@@ -48107,8 +48233,6 @@ function ChatPanel({
48107
48233
  onCommand,
48108
48234
  canCreateBoardTask,
48109
48235
  canShareSession = false,
48110
- onResyncSkills,
48111
- isResyncingSkills = false,
48112
48236
  onOpenSkills,
48113
48237
  inputLabel,
48114
48238
  onDoubleEscape,
@@ -48239,7 +48363,9 @@ function ChatPanel({
48239
48363
  model: options?.model || void 0,
48240
48364
  thinkingOverride: options?.thinkingOverride,
48241
48365
  reasoningLevel: options?.reasoningLevel,
48366
+ refs: options?.refs,
48242
48367
  kbIds: options?.kbIds,
48368
+ topicAssetRefs: options?.topicAssetRefs,
48243
48369
  queueWhenRunning: options?.queueWhenRunning
48244
48370
  });
48245
48371
  },
@@ -48321,8 +48447,6 @@ function ChatPanel({
48321
48447
  SkillStatusBarComponent: SkillStatus,
48322
48448
  skillStatusBarClassName: classNames?.skillStatusBarRoot,
48323
48449
  skillStatusBarInnerClassName: classNames?.skillStatusBarInner,
48324
- onResyncSkills,
48325
- isResyncingSkills,
48326
48450
  onOpenSkills,
48327
48451
  inputLabel,
48328
48452
  placeholderText: placeholder,
@@ -48626,8 +48750,8 @@ function ChatSessionView({
48626
48750
  useEffect30(() => {
48627
48751
  setNotice(null);
48628
48752
  }, [resolvedSessionId, replaySpeed, replaying]);
48629
- const onSessionReadyRef = useRef27(onSessionReady);
48630
- const readySessionRef = useRef27(null);
48753
+ const onSessionReadyRef = useRef28(onSessionReady);
48754
+ const readySessionRef = useRef28(null);
48631
48755
  const hasOnSessionReady = onSessionReady !== void 0;
48632
48756
  useEffect30(() => {
48633
48757
  onSessionReadyRef.current = onSessionReady;
@@ -48688,7 +48812,7 @@ import { chatErrorForDisplay as chatErrorForDisplay4 } from "@blade-hq/agent-cli
48688
48812
  import { useEffect as useEffect31, useMemo as useMemo20, useState as useState39 } from "react";
48689
48813
 
48690
48814
  // src/hooks/use-llm-chat.ts
48691
- import { useCallback as useCallback18, useMemo as useMemo19, useRef as useRef28, useState as useState37 } from "react";
48815
+ import { useCallback as useCallback18, useMemo as useMemo19, useRef as useRef29, useState as useState37 } from "react";
48692
48816
  var DEFAULT_HISTORY_TURNS = 12;
48693
48817
  var DEFAULT_MAX_TOOL_ROUNDS = 4;
48694
48818
  var syntheticIdSeq = 0;
@@ -48699,12 +48823,12 @@ function useLlmChat(options) {
48699
48823
  const [failedToolIds, setFailedToolIds] = useState37([]);
48700
48824
  const [error61, setError] = useState37(null);
48701
48825
  const [isStreaming, setIsStreaming] = useState37(false);
48702
- const abortRef = useRef28(null);
48703
- const activeStartedAtRef = useRef28(null);
48704
- const assistantTimingsRef = useRef28(/* @__PURE__ */ new WeakMap());
48705
- const generationRef = useRef28(0);
48706
- const historyRef = useRef28([]);
48707
- const optionsRef = useRef28(options);
48826
+ const abortRef = useRef29(null);
48827
+ const activeStartedAtRef = useRef29(null);
48828
+ const assistantTimingsRef = useRef29(/* @__PURE__ */ new WeakMap());
48829
+ const generationRef = useRef29(0);
48830
+ const historyRef = useRef29([]);
48831
+ const optionsRef = useRef29(options);
48708
48832
  optionsRef.current = options;
48709
48833
  historyRef.current = history;
48710
48834
  const stop = useCallback18(() => {
@@ -49291,6 +49415,99 @@ function ChatView(props) {
49291
49415
  return /* @__PURE__ */ jsx54(AgentChat, { ...rest });
49292
49416
  }
49293
49417
 
49418
+ // src/components/TopicAssetSubmitDialog.tsx
49419
+ import { useRef as useRef30, useState as useState40 } from "react";
49420
+ import { jsx as jsx55, jsxs as jsxs48 } from "react/jsx-runtime";
49421
+ function useTopicAssetSubmissionAccess(sessionId) {
49422
+ const client = useBladeClient();
49423
+ return useAsyncValue(sessionId, async (signal) => {
49424
+ if (!sessionId) return null;
49425
+ const [session, groups] = await Promise.all([
49426
+ client.sessions.getSession(sessionId, { signal }),
49427
+ client.chatGroups.list()
49428
+ ]);
49429
+ if (session.runtime_type !== "sandbox" || !session.chat_group_id || session.viewer_role === "viewer") return null;
49430
+ const group = groups.find((item) => item.id === session.chat_group_id);
49431
+ return group && (group.role === "owner" || group.role === "editor") ? group : null;
49432
+ });
49433
+ }
49434
+ function TopicAssetSubmitDialog({ sessionId, topicId, path: path2, onClose, onSubmitted }) {
49435
+ const client = useBladeClient();
49436
+ const [folder, setFolder] = useState40("");
49437
+ const [message, setMessage] = useState40("");
49438
+ const [error61, setError] = useState40(null);
49439
+ const [busy, setBusy] = useState40(false);
49440
+ const submitting = useRef30(false);
49441
+ const [revision, setRevision] = useState40(0);
49442
+ const assets = useAsyncValue(`${sessionId}:${topicId}:${revision}`, async () => {
49443
+ const [session, groups, result] = await Promise.all([
49444
+ client.sessions.getSession(sessionId),
49445
+ client.chatGroups.list(),
49446
+ client.chatGroups.listAssets(topicId)
49447
+ ]);
49448
+ const role = groups.find((item) => item.id === topicId)?.role;
49449
+ if (session.runtime_type !== "sandbox" || session.chat_group_id !== topicId || session.viewer_role === "viewer") throw new Error("\u8FD9\u4E2A\u4F1A\u8BDD\u4E0D\u80FD\u63D0\u4EA4\u5230\u8BE5\u4E3B\u9898");
49450
+ if (role !== "owner" && role !== "editor") throw new Error("\u4F60\u5728\u8FD9\u4E2A\u4E3B\u9898\u6CA1\u6709\u63D0\u4EA4\u6743\u9650");
49451
+ const folders = /* @__PURE__ */ new Set();
49452
+ for (const asset of result.items) {
49453
+ if (asset.is_dir) folders.add(asset.path);
49454
+ const parts = asset.path.split("/");
49455
+ for (let i2 = 1; i2 < parts.length; i2 += 1) folders.add(parts.slice(0, i2).join("/"));
49456
+ }
49457
+ return [...folders].sort((a, b2) => a.localeCompare(b2));
49458
+ });
49459
+ const submit = async () => {
49460
+ if (submitting.current || !assets.data) return;
49461
+ submitting.current = true;
49462
+ setBusy(true);
49463
+ setError(null);
49464
+ try {
49465
+ const name = path2.split("/").at(-1) ?? path2;
49466
+ await client.chatGroups.submitSessionAsset({ session_id: sessionId, path: path2, target_path: folder ? `${folder}/${name}` : name, message: message.trim() });
49467
+ onSubmitted?.();
49468
+ onClose();
49469
+ } catch (cause) {
49470
+ setError(cause instanceof Error ? cause.message : "\u63D0\u4EA4\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5");
49471
+ } finally {
49472
+ submitting.current = false;
49473
+ setBusy(false);
49474
+ }
49475
+ };
49476
+ return /* @__PURE__ */ jsx55(Dialog, { open: true, onOpenChange: (open2) => {
49477
+ if (!open2 && !busy) onClose();
49478
+ }, children: /* @__PURE__ */ jsxs48(DialogContent, { className: "max-w-md", children: [
49479
+ /* @__PURE__ */ jsx55(DialogTitle, { children: "\u63D0\u4EA4\u5230\u8D44\u4EA7" }),
49480
+ /* @__PURE__ */ jsx55(DialogDescription, { children: "\u5C06\u6587\u4EF6\u590D\u5236\u5230\u4E3B\u9898\u4F9B\u6210\u5458\u4F7F\u7528\uFF0C\u5DE5\u4F5C\u533A\u539F\u6587\u4EF6\u4F1A\u4FDD\u7559\u3002\u540C\u540D\u8D44\u4EA7\u4F1A\u88AB\u66FF\u6362\u3002" }),
49481
+ /* @__PURE__ */ jsxs48("form", { onSubmit: (event) => {
49482
+ event.preventDefault();
49483
+ void submit();
49484
+ }, className: "flex flex-col gap-4", children: [
49485
+ /* @__PURE__ */ jsx55("p", { className: "break-all text-sm text-secondary-foreground", children: path2 }),
49486
+ /* @__PURE__ */ jsxs48("label", { className: "flex flex-col gap-1 text-sm", children: [
49487
+ "\u76EE\u6807\u6587\u4EF6\u5939",
49488
+ /* @__PURE__ */ jsxs48("select", { "aria-label": "\u76EE\u6807\u6587\u4EF6\u5939", value: folder, onChange: (event) => setFolder(event.target.value), disabled: busy || !assets.data, className: "rounded-md border border-border bg-background p-2", children: [
49489
+ /* @__PURE__ */ jsx55("option", { value: "", children: "\u8D44\u4EA7\u6839\u76EE\u5F55" }),
49490
+ assets.data?.map((item) => /* @__PURE__ */ jsx55("option", { value: item, children: item }, item))
49491
+ ] })
49492
+ ] }),
49493
+ /* @__PURE__ */ jsxs48("label", { className: "flex flex-col gap-1 text-sm", children: [
49494
+ "\u8BF4\u660E\uFF08\u53EF\u9009\uFF09",
49495
+ /* @__PURE__ */ jsx55("textarea", { "aria-label": "\u63D0\u4EA4\u8BF4\u660E", value: message, onChange: (event) => setMessage(event.target.value), maxLength: 1e3, disabled: busy, className: "min-h-20 rounded-md border border-border bg-background p-2" })
49496
+ ] }),
49497
+ assets.error ? /* @__PURE__ */ jsxs48("div", { role: "alert", className: "text-sm text-muted-foreground", children: [
49498
+ assets.error instanceof Error ? assets.error.message : "\u8D44\u4EA7\u52A0\u8F7D\u5931\u8D25",
49499
+ " ",
49500
+ /* @__PURE__ */ jsx55("button", { type: "button", onClick: () => setRevision((n2) => n2 + 1), className: "underline", children: "\u91CD\u8BD5" })
49501
+ ] }) : !assets.data ? /* @__PURE__ */ jsx55("output", { className: "text-sm text-muted-foreground", children: "\u6B63\u5728\u52A0\u8F7D\u8D44\u4EA7\u2026" }) : null,
49502
+ error61 ? /* @__PURE__ */ jsx55("p", { role: "alert", className: "text-sm text-muted-foreground", children: error61 }) : null,
49503
+ /* @__PURE__ */ jsxs48("div", { className: "flex justify-end gap-2", children: [
49504
+ /* @__PURE__ */ jsx55("button", { type: "button", disabled: busy, onClick: onClose, className: "rounded-md border border-border px-3 py-2 text-sm", children: "\u53D6\u6D88" }),
49505
+ /* @__PURE__ */ jsx55("button", { type: "submit", disabled: busy || !assets.data, className: "rounded-md bg-primary px-3 py-2 text-sm text-primary-foreground disabled:opacity-50", children: busy ? "\u63D0\u4EA4\u4E2D\u2026" : "\u63D0\u4EA4" })
49506
+ ] })
49507
+ ] })
49508
+ ] }) });
49509
+ }
49510
+
49294
49511
  export {
49295
49512
  useAgentSession,
49296
49513
  useReplay,
@@ -49319,7 +49536,9 @@ export {
49319
49536
  AgentChat,
49320
49537
  useLlmChat,
49321
49538
  LlmChat,
49322
- ChatView
49539
+ ChatView,
49540
+ useTopicAssetSubmissionAccess,
49541
+ TopicAssetSubmitDialog
49323
49542
  };
49324
49543
  /*! Bundled license information:
49325
49544
 
@@ -49340,4 +49559,4 @@ use-stick-to-bottom/dist/StickToBottom.js:
49340
49559
  js-yaml/dist/js-yaml.mjs:
49341
49560
  (*! js-yaml 4.1.1 https://github.com/nodeca/js-yaml @license MIT *)
49342
49561
  */
49343
- //# sourceMappingURL=chunk-5J54S5BK.js.map
49562
+ //# sourceMappingURL=chunk-XJLFFRQP.js.map