@agent-native/core 0.110.3 → 0.111.0

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 (380) hide show
  1. package/corpus/README.md +1 -1
  2. package/corpus/core/CHANGELOG.md +11 -0
  3. package/corpus/core/docs/content/components.mdx +7 -0
  4. package/corpus/core/docs/content/locales/ar-SA/components.mdx +4 -2
  5. package/corpus/core/docs/content/locales/de-DE/components.mdx +4 -2
  6. package/corpus/core/docs/content/locales/es-ES/components.mdx +4 -2
  7. package/corpus/core/docs/content/locales/fr-FR/components.mdx +4 -2
  8. package/corpus/core/docs/content/locales/hi-IN/components.mdx +3 -2
  9. package/corpus/core/docs/content/locales/ja-JP/components.mdx +3 -2
  10. package/corpus/core/docs/content/locales/ko-KR/components.mdx +3 -2
  11. package/corpus/core/docs/content/locales/pt-BR/components.mdx +4 -2
  12. package/corpus/core/docs/content/locales/zh-CN/components.mdx +3 -2
  13. package/corpus/core/docs/content/locales/zh-TW/components.mdx +3 -2
  14. package/corpus/core/docs/content/toolkit-agent-ux.mdx +8 -3
  15. package/corpus/core/migration-manifest.json +133 -266
  16. package/corpus/core/package.json +32 -33
  17. package/corpus/core/scripts/check-dist-imports.mjs +25 -1
  18. package/corpus/core/scripts/finalize-build.mjs +59 -2
  19. package/corpus/core/src/client/AgentAskPopover.tsx +1 -1
  20. package/corpus/core/src/client/AgentPanel.tsx +1 -1
  21. package/corpus/core/src/client/AssistantChat.tsx +12 -14
  22. package/corpus/core/src/client/NewWorkspaceAppFlow.tsx +1 -1
  23. package/corpus/core/src/client/agent-chat-adapter.ts +1 -1
  24. package/corpus/core/src/client/blocks/RegistryBlockDataProvider.tsx +121 -0
  25. package/corpus/core/src/client/blocks/index.ts +6 -0
  26. package/corpus/core/src/client/chat/attachment-adapters.ts +4 -5
  27. package/corpus/core/src/client/chat/index.ts +0 -1
  28. package/corpus/core/src/client/chat/message-components.tsx +2 -2
  29. package/corpus/core/src/client/code-agent-chat-adapter.ts +2 -2
  30. package/corpus/core/src/client/collab/index.ts +0 -22
  31. package/corpus/core/src/client/composer/index.ts +5 -66
  32. package/corpus/core/src/client/composer/runtime-adapters.tsx +123 -0
  33. package/corpus/core/src/client/composer/use-mention-search.ts +2 -79
  34. package/corpus/core/src/client/composer/wired-components.tsx +53 -0
  35. package/corpus/core/src/client/extensions/ExtensionViewer.tsx +1 -1
  36. package/corpus/core/src/client/extensions/ExtensionsListPage.tsx +1 -1
  37. package/corpus/core/src/client/extensions/ExtensionsSidebarSection.tsx +1 -1
  38. package/corpus/core/src/client/index.ts +0 -156
  39. package/corpus/core/src/client/resources/ResourceEditor.tsx +29 -681
  40. package/corpus/core/src/client/resources/ResourcesPanel.tsx +1 -1
  41. package/corpus/core/src/client/settings/AutomationsSection.tsx +1 -1
  42. package/corpus/core/src/client/sharing/index.ts +0 -4
  43. package/corpus/core/src/client/tombstone/agent-presence-chip.ts +17 -0
  44. package/corpus/core/src/client/tombstone/editor.ts +265 -0
  45. package/corpus/core/src/client/tombstone/live-cursor-overlay.ts +21 -0
  46. package/corpus/core/src/client/tombstone/presence-bar.ts +17 -0
  47. package/corpus/core/src/client/tombstone/recent-edit-highlights.ts +17 -0
  48. package/corpus/core/src/client/tombstone/remote-selection-rings.ts +21 -0
  49. package/corpus/core/src/client/tombstone/rich-markdown-editor.ts +265 -0
  50. package/corpus/core/src/client/tombstone/ui-dialog.ts +49 -0
  51. package/corpus/core/src/client/tombstone/ui-dropdown-menu.ts +69 -0
  52. package/corpus/core/src/client/tombstone/ui-hover-card.ts +21 -0
  53. package/corpus/core/src/client/tombstone/ui-popover.ts +25 -0
  54. package/corpus/core/src/client/tombstone/ui-sheet.ts +49 -0
  55. package/corpus/core/src/client/tombstone/ui-tooltip.ts +29 -0
  56. package/corpus/core/src/client/tombstone/visual-style-controls.ts +61 -0
  57. package/corpus/core/src/client/uploads/index.ts +5 -0
  58. package/corpus/core/src/client/{rich-markdown-editor/uploadEditorImage.ts → uploads/upload-editor-image.ts} +11 -4
  59. package/corpus/core/src/package-lifecycle/tombstone.ts +16 -2
  60. package/corpus/core/src/package-lifecycle/upgrade-error.ts +23 -5
  61. package/corpus/core/src/testing.ts +1 -4
  62. package/corpus/core/src/vite/client.ts +62 -22
  63. package/corpus/templates/content/app/components/editor/VisualEditor.tsx +2 -4
  64. package/corpus/templates/content/app/components/editor/extensions/registryBlocks.ts +1 -1
  65. package/corpus/templates/content/app/components/editor/registrySlashItems.ts +53 -52
  66. package/corpus/templates/plan/app/components/editor/PlanBlockNode.tsx +2 -2
  67. package/corpus/templates/plan/app/components/editor/planSlashCommands.ts +1 -1
  68. package/corpus/templates/plan/app/components/plan/DocumentArea.tsx +1 -1
  69. package/corpus/templates/plan/app/components/plan/PlanImageNode.tsx +1 -1
  70. package/corpus/templates/plan/app/components/plan/PlanMarkdownEditor.tsx +1 -1
  71. package/dist/catalog.json +1 -0
  72. package/dist/client/AgentAskPopover.js +1 -1
  73. package/dist/client/AgentAskPopover.js.map +1 -1
  74. package/dist/client/AgentPanel.js +1 -1
  75. package/dist/client/AgentPanel.js.map +1 -1
  76. package/dist/client/AssistantChat.d.ts +2 -2
  77. package/dist/client/AssistantChat.d.ts.map +1 -1
  78. package/dist/client/AssistantChat.js +5 -6
  79. package/dist/client/AssistantChat.js.map +1 -1
  80. package/dist/client/NewWorkspaceAppFlow.js +1 -1
  81. package/dist/client/NewWorkspaceAppFlow.js.map +1 -1
  82. package/dist/client/agent-chat-adapter.d.ts.map +1 -1
  83. package/dist/client/agent-chat-adapter.js +1 -1
  84. package/dist/client/agent-chat-adapter.js.map +1 -1
  85. package/dist/client/blocks/RegistryBlockDataProvider.d.ts +7 -0
  86. package/dist/client/blocks/RegistryBlockDataProvider.d.ts.map +1 -0
  87. package/dist/client/blocks/RegistryBlockDataProvider.js +54 -0
  88. package/dist/client/blocks/RegistryBlockDataProvider.js.map +1 -0
  89. package/dist/client/blocks/index.d.ts +2 -0
  90. package/dist/client/blocks/index.d.ts.map +1 -1
  91. package/dist/client/blocks/index.js +1 -0
  92. package/dist/client/blocks/index.js.map +1 -1
  93. package/dist/client/chat/attachment-adapters.d.ts.map +1 -1
  94. package/dist/client/chat/attachment-adapters.js +1 -1
  95. package/dist/client/chat/attachment-adapters.js.map +1 -1
  96. package/dist/client/chat/index.d.ts +0 -1
  97. package/dist/client/chat/index.d.ts.map +1 -1
  98. package/dist/client/chat/index.js +0 -1
  99. package/dist/client/chat/index.js.map +1 -1
  100. package/dist/client/chat/message-components.d.ts.map +1 -1
  101. package/dist/client/chat/message-components.js +2 -2
  102. package/dist/client/chat/message-components.js.map +1 -1
  103. package/dist/client/code-agent-chat-adapter.d.ts.map +1 -1
  104. package/dist/client/code-agent-chat-adapter.js +1 -1
  105. package/dist/client/code-agent-chat-adapter.js.map +1 -1
  106. package/dist/client/collab/index.d.ts +0 -5
  107. package/dist/client/collab/index.d.ts.map +1 -1
  108. package/dist/client/collab/index.js +0 -5
  109. package/dist/client/collab/index.js.map +1 -1
  110. package/dist/client/composer/index.d.ts +3 -11
  111. package/dist/client/composer/index.d.ts.map +1 -1
  112. package/dist/client/composer/index.js +3 -10
  113. package/dist/client/composer/index.js.map +1 -1
  114. package/dist/client/composer/runtime-adapters.d.ts +5 -0
  115. package/dist/client/composer/runtime-adapters.d.ts.map +1 -0
  116. package/dist/client/composer/runtime-adapters.js +85 -0
  117. package/dist/client/composer/runtime-adapters.js.map +1 -0
  118. package/dist/client/composer/use-mention-search.d.ts +1 -2
  119. package/dist/client/composer/use-mention-search.d.ts.map +1 -1
  120. package/dist/client/composer/use-mention-search.js +2 -69
  121. package/dist/client/composer/use-mention-search.js.map +1 -1
  122. package/dist/client/composer/wired-components.d.ts +10 -0
  123. package/dist/client/composer/wired-components.d.ts.map +1 -0
  124. package/dist/client/composer/wired-components.js +20 -0
  125. package/dist/client/composer/wired-components.js.map +1 -0
  126. package/dist/client/extensions/ExtensionViewer.js +1 -1
  127. package/dist/client/extensions/ExtensionViewer.js.map +1 -1
  128. package/dist/client/extensions/ExtensionsListPage.js +1 -1
  129. package/dist/client/extensions/ExtensionsListPage.js.map +1 -1
  130. package/dist/client/extensions/ExtensionsSidebarSection.js +1 -1
  131. package/dist/client/extensions/ExtensionsSidebarSection.js.map +1 -1
  132. package/dist/client/index.d.ts +0 -10
  133. package/dist/client/index.d.ts.map +1 -1
  134. package/dist/client/index.js +0 -26
  135. package/dist/client/index.js.map +1 -1
  136. package/dist/client/resources/ResourceEditor.d.ts.map +1 -1
  137. package/dist/client/resources/ResourceEditor.js +14 -532
  138. package/dist/client/resources/ResourceEditor.js.map +1 -1
  139. package/dist/client/resources/ResourcesPanel.js +1 -1
  140. package/dist/client/resources/ResourcesPanel.js.map +1 -1
  141. package/dist/client/settings/AutomationsSection.js +1 -1
  142. package/dist/client/settings/AutomationsSection.js.map +1 -1
  143. package/dist/client/sharing/index.d.ts +0 -1
  144. package/dist/client/sharing/index.d.ts.map +1 -1
  145. package/dist/client/sharing/index.js +0 -1
  146. package/dist/client/sharing/index.js.map +1 -1
  147. package/dist/client/tombstone/agent-presence-chip.d.ts +6 -0
  148. package/dist/client/tombstone/agent-presence-chip.d.ts.map +1 -0
  149. package/dist/client/tombstone/agent-presence-chip.js +5 -0
  150. package/dist/client/tombstone/agent-presence-chip.js.map +1 -0
  151. package/dist/client/tombstone/editor.d.ts +128 -0
  152. package/dist/client/tombstone/editor.d.ts.map +1 -0
  153. package/dist/client/tombstone/editor.js +76 -0
  154. package/dist/client/tombstone/editor.js.map +1 -0
  155. package/dist/client/tombstone/live-cursor-overlay.d.ts +8 -0
  156. package/dist/client/tombstone/live-cursor-overlay.d.ts.map +1 -0
  157. package/dist/client/tombstone/live-cursor-overlay.js +5 -0
  158. package/dist/client/tombstone/live-cursor-overlay.js.map +1 -0
  159. package/dist/client/tombstone/presence-bar.d.ts +6 -0
  160. package/dist/client/tombstone/presence-bar.d.ts.map +1 -0
  161. package/dist/client/tombstone/presence-bar.js +5 -0
  162. package/dist/client/tombstone/presence-bar.js.map +1 -0
  163. package/dist/client/tombstone/recent-edit-highlights.d.ts +6 -0
  164. package/dist/client/tombstone/recent-edit-highlights.d.ts.map +1 -0
  165. package/dist/client/tombstone/recent-edit-highlights.js +5 -0
  166. package/dist/client/tombstone/recent-edit-highlights.js.map +1 -0
  167. package/dist/client/tombstone/remote-selection-rings.d.ts +8 -0
  168. package/dist/client/tombstone/remote-selection-rings.d.ts.map +1 -0
  169. package/dist/client/tombstone/remote-selection-rings.js +5 -0
  170. package/dist/client/tombstone/remote-selection-rings.js.map +1 -0
  171. package/dist/client/tombstone/rich-markdown-editor.d.ts +128 -0
  172. package/dist/client/tombstone/rich-markdown-editor.d.ts.map +1 -0
  173. package/dist/client/tombstone/rich-markdown-editor.js +76 -0
  174. package/dist/client/tombstone/rich-markdown-editor.js.map +1 -0
  175. package/dist/client/tombstone/ui-dialog.d.ts +22 -0
  176. package/dist/client/tombstone/ui-dialog.d.ts.map +1 -0
  177. package/dist/client/tombstone/ui-dialog.js +23 -0
  178. package/dist/client/tombstone/ui-dialog.js.map +1 -0
  179. package/dist/client/tombstone/ui-dropdown-menu.d.ts +32 -0
  180. package/dist/client/tombstone/ui-dropdown-menu.d.ts.map +1 -0
  181. package/dist/client/tombstone/ui-dropdown-menu.js +33 -0
  182. package/dist/client/tombstone/ui-dropdown-menu.js.map +1 -0
  183. package/dist/client/tombstone/ui-hover-card.d.ts +8 -0
  184. package/dist/client/tombstone/ui-hover-card.d.ts.map +1 -0
  185. package/dist/client/tombstone/ui-hover-card.js +9 -0
  186. package/dist/client/tombstone/ui-hover-card.js.map +1 -0
  187. package/dist/client/tombstone/ui-popover.d.ts +10 -0
  188. package/dist/client/tombstone/ui-popover.d.ts.map +1 -0
  189. package/dist/client/tombstone/ui-popover.js +11 -0
  190. package/dist/client/tombstone/ui-popover.js.map +1 -0
  191. package/dist/client/tombstone/ui-sheet.d.ts +22 -0
  192. package/dist/client/tombstone/ui-sheet.d.ts.map +1 -0
  193. package/dist/client/tombstone/ui-sheet.js +23 -0
  194. package/dist/client/tombstone/ui-sheet.js.map +1 -0
  195. package/dist/client/tombstone/ui-tooltip.d.ts +12 -0
  196. package/dist/client/tombstone/ui-tooltip.d.ts.map +1 -0
  197. package/dist/client/tombstone/ui-tooltip.js +13 -0
  198. package/dist/client/tombstone/ui-tooltip.js.map +1 -0
  199. package/dist/client/tombstone/visual-style-controls.d.ts +28 -0
  200. package/dist/client/tombstone/visual-style-controls.d.ts.map +1 -0
  201. package/dist/client/tombstone/visual-style-controls.js +23 -0
  202. package/dist/client/tombstone/visual-style-controls.js.map +1 -0
  203. package/dist/client/uploads/index.d.ts +1 -0
  204. package/dist/client/uploads/index.d.ts.map +1 -1
  205. package/dist/client/uploads/index.js +1 -0
  206. package/dist/client/uploads/index.js.map +1 -1
  207. package/dist/client/{rich-markdown-editor/uploadEditorImage.d.ts → uploads/upload-editor-image.d.ts} +8 -4
  208. package/dist/client/uploads/upload-editor-image.d.ts.map +1 -0
  209. package/dist/client/{rich-markdown-editor/uploadEditorImage.js → uploads/upload-editor-image.js} +2 -2
  210. package/dist/client/uploads/upload-editor-image.js.map +1 -0
  211. package/dist/collab/awareness.d.ts +2 -2
  212. package/dist/collab/awareness.d.ts.map +1 -1
  213. package/dist/notifications/routes.d.ts +3 -3
  214. package/dist/package-lifecycle/tombstone.d.ts.map +1 -1
  215. package/dist/package-lifecycle/tombstone.js +13 -3
  216. package/dist/package-lifecycle/tombstone.js.map +1 -1
  217. package/dist/package-lifecycle/upgrade-error.d.ts +2 -2
  218. package/dist/package-lifecycle/upgrade-error.d.ts.map +1 -1
  219. package/dist/package-lifecycle/upgrade-error.js +8 -5
  220. package/dist/package-lifecycle/upgrade-error.js.map +1 -1
  221. package/dist/server/agent-engine-api-key-route.d.ts +1 -1
  222. package/dist/server/transcribe-voice.d.ts +1 -1
  223. package/dist/testing.d.ts +1 -3
  224. package/dist/testing.d.ts.map +1 -1
  225. package/dist/testing.js +1 -3
  226. package/dist/testing.js.map +1 -1
  227. package/dist/vite/client.d.ts.map +1 -1
  228. package/dist/vite/client.js +26 -22
  229. package/dist/vite/client.js.map +1 -1
  230. package/docs/content/components.mdx +7 -0
  231. package/docs/content/locales/ar-SA/components.mdx +4 -2
  232. package/docs/content/locales/de-DE/components.mdx +4 -2
  233. package/docs/content/locales/es-ES/components.mdx +4 -2
  234. package/docs/content/locales/fr-FR/components.mdx +4 -2
  235. package/docs/content/locales/hi-IN/components.mdx +3 -2
  236. package/docs/content/locales/ja-JP/components.mdx +3 -2
  237. package/docs/content/locales/ko-KR/components.mdx +3 -2
  238. package/docs/content/locales/pt-BR/components.mdx +4 -2
  239. package/docs/content/locales/zh-CN/components.mdx +3 -2
  240. package/docs/content/locales/zh-TW/components.mdx +3 -2
  241. package/docs/content/toolkit-agent-ux.mdx +8 -3
  242. package/migration-manifest.json +133 -266
  243. package/package.json +31 -32
  244. package/corpus/core/src/client/composer/AgentComposerFrame.tsx +0 -59
  245. package/corpus/core/src/client/composer/ComposerPlusMenu.tsx +0 -988
  246. package/corpus/core/src/client/composer/MentionPopover.tsx +0 -412
  247. package/corpus/core/src/client/composer/PastedTextChip.tsx +0 -150
  248. package/corpus/core/src/client/composer/PromptComposer.tsx +0 -714
  249. package/corpus/core/src/client/composer/RealtimeVoiceMode.tsx +0 -860
  250. package/corpus/core/src/client/composer/TiptapComposer.tsx +0 -2928
  251. package/corpus/core/src/client/composer/VoiceButton.tsx +0 -262
  252. package/corpus/core/src/client/composer/asset-picker-url.ts +0 -80
  253. package/corpus/core/src/client/composer/attachment-accept.ts +0 -71
  254. package/corpus/core/src/client/composer/draft-key.ts +0 -7
  255. package/corpus/core/src/client/composer/extensions/FileReference.tsx +0 -55
  256. package/corpus/core/src/client/composer/extensions/MentionReference.tsx +0 -93
  257. package/corpus/core/src/client/composer/extensions/SkillReference.tsx +0 -56
  258. package/corpus/core/src/client/composer/pasted-text.ts +0 -160
  259. package/corpus/core/src/client/composer/prompt-attachments.ts +0 -70
  260. package/corpus/core/src/client/composer/realtime-voice-audio-level.ts +0 -64
  261. package/corpus/core/src/client/composer/realtime-voice-transcript.ts +0 -134
  262. package/corpus/core/src/client/composer/types.ts +0 -66
  263. package/corpus/core/src/client/composer/use-file-search.ts +0 -63
  264. package/corpus/core/src/client/composer/use-skills.ts +0 -44
  265. package/corpus/core/src/client/composer/useRealtimeVoiceMode.tsx +0 -2095
  266. package/corpus/core/src/client/composer/useVoiceDictation.ts +0 -1155
  267. package/corpus/core/src/client/editor/index.ts +0 -1
  268. package/corpus/core/src/client/rich-markdown-editor/RegistryBlockNode.tsx +0 -799
  269. package/corpus/core/src/client/rich-markdown-editor/index.ts +0 -70
  270. package/corpus/core/src/client/rich-markdown-editor/registrySlashCommands.ts +0 -112
  271. package/dist/client/composer/AgentComposerFrame.d.ts +0 -19
  272. package/dist/client/composer/AgentComposerFrame.d.ts.map +0 -1
  273. package/dist/client/composer/AgentComposerFrame.js +0 -14
  274. package/dist/client/composer/AgentComposerFrame.js.map +0 -1
  275. package/dist/client/composer/ComposerPlusMenu.d.ts +0 -17
  276. package/dist/client/composer/ComposerPlusMenu.d.ts.map +0 -1
  277. package/dist/client/composer/ComposerPlusMenu.js +0 -501
  278. package/dist/client/composer/ComposerPlusMenu.js.map +0 -1
  279. package/dist/client/composer/MentionPopover.d.ts +0 -29
  280. package/dist/client/composer/MentionPopover.d.ts.map +0 -1
  281. package/dist/client/composer/MentionPopover.js +0 -180
  282. package/dist/client/composer/MentionPopover.js.map +0 -1
  283. package/dist/client/composer/PastedTextChip.d.ts +0 -9
  284. package/dist/client/composer/PastedTextChip.d.ts.map +0 -1
  285. package/dist/client/composer/PastedTextChip.js +0 -47
  286. package/dist/client/composer/PastedTextChip.js.map +0 -1
  287. package/dist/client/composer/PromptComposer.d.ts +0 -115
  288. package/dist/client/composer/PromptComposer.d.ts.map +0 -1
  289. package/dist/client/composer/PromptComposer.js +0 -299
  290. package/dist/client/composer/PromptComposer.js.map +0 -1
  291. package/dist/client/composer/RealtimeVoiceMode.d.ts +0 -104
  292. package/dist/client/composer/RealtimeVoiceMode.d.ts.map +0 -1
  293. package/dist/client/composer/RealtimeVoiceMode.js +0 -245
  294. package/dist/client/composer/RealtimeVoiceMode.js.map +0 -1
  295. package/dist/client/composer/TiptapComposer.d.ts +0 -222
  296. package/dist/client/composer/TiptapComposer.d.ts.map +0 -1
  297. package/dist/client/composer/TiptapComposer.js +0 -1834
  298. package/dist/client/composer/TiptapComposer.js.map +0 -1
  299. package/dist/client/composer/VoiceButton.d.ts +0 -23
  300. package/dist/client/composer/VoiceButton.d.ts.map +0 -1
  301. package/dist/client/composer/VoiceButton.js +0 -100
  302. package/dist/client/composer/VoiceButton.js.map +0 -1
  303. package/dist/client/composer/asset-picker-url.d.ts +0 -16
  304. package/dist/client/composer/asset-picker-url.d.ts.map +0 -1
  305. package/dist/client/composer/asset-picker-url.js +0 -64
  306. package/dist/client/composer/asset-picker-url.js.map +0 -1
  307. package/dist/client/composer/attachment-accept.d.ts +0 -9
  308. package/dist/client/composer/attachment-accept.d.ts.map +0 -1
  309. package/dist/client/composer/attachment-accept.js +0 -65
  310. package/dist/client/composer/attachment-accept.js.map +0 -1
  311. package/dist/client/composer/draft-key.d.ts +0 -2
  312. package/dist/client/composer/draft-key.d.ts.map +0 -1
  313. package/dist/client/composer/draft-key.js +0 -8
  314. package/dist/client/composer/draft-key.js.map +0 -1
  315. package/dist/client/composer/extensions/FileReference.d.ts +0 -3
  316. package/dist/client/composer/extensions/FileReference.d.ts.map +0 -1
  317. package/dist/client/composer/extensions/FileReference.js +0 -36
  318. package/dist/client/composer/extensions/FileReference.js.map +0 -1
  319. package/dist/client/composer/extensions/MentionReference.d.ts +0 -3
  320. package/dist/client/composer/extensions/MentionReference.d.ts.map +0 -1
  321. package/dist/client/composer/extensions/MentionReference.js +0 -66
  322. package/dist/client/composer/extensions/MentionReference.js.map +0 -1
  323. package/dist/client/composer/extensions/SkillReference.d.ts +0 -3
  324. package/dist/client/composer/extensions/SkillReference.d.ts.map +0 -1
  325. package/dist/client/composer/extensions/SkillReference.js +0 -40
  326. package/dist/client/composer/extensions/SkillReference.js.map +0 -1
  327. package/dist/client/composer/pasted-text.d.ts +0 -31
  328. package/dist/client/composer/pasted-text.d.ts.map +0 -1
  329. package/dist/client/composer/pasted-text.js +0 -130
  330. package/dist/client/composer/pasted-text.js.map +0 -1
  331. package/dist/client/composer/prompt-attachments.d.ts +0 -11
  332. package/dist/client/composer/prompt-attachments.d.ts.map +0 -1
  333. package/dist/client/composer/prompt-attachments.js +0 -45
  334. package/dist/client/composer/prompt-attachments.js.map +0 -1
  335. package/dist/client/composer/realtime-voice-audio-level.d.ts +0 -14
  336. package/dist/client/composer/realtime-voice-audio-level.d.ts.map +0 -1
  337. package/dist/client/composer/realtime-voice-audio-level.js +0 -47
  338. package/dist/client/composer/realtime-voice-audio-level.js.map +0 -1
  339. package/dist/client/composer/realtime-voice-transcript.d.ts +0 -26
  340. package/dist/client/composer/realtime-voice-transcript.d.ts.map +0 -1
  341. package/dist/client/composer/realtime-voice-transcript.js +0 -103
  342. package/dist/client/composer/realtime-voice-transcript.js.map +0 -1
  343. package/dist/client/composer/types.d.ts +0 -60
  344. package/dist/client/composer/types.d.ts.map +0 -1
  345. package/dist/client/composer/types.js +0 -2
  346. package/dist/client/composer/types.js.map +0 -1
  347. package/dist/client/composer/use-file-search.d.ts +0 -6
  348. package/dist/client/composer/use-file-search.d.ts.map +0 -1
  349. package/dist/client/composer/use-file-search.js +0 -52
  350. package/dist/client/composer/use-file-search.js.map +0 -1
  351. package/dist/client/composer/use-skills.d.ts +0 -7
  352. package/dist/client/composer/use-skills.d.ts.map +0 -1
  353. package/dist/client/composer/use-skills.js +0 -39
  354. package/dist/client/composer/use-skills.js.map +0 -1
  355. package/dist/client/composer/useRealtimeVoiceMode.d.ts +0 -172
  356. package/dist/client/composer/useRealtimeVoiceMode.d.ts.map +0 -1
  357. package/dist/client/composer/useRealtimeVoiceMode.js +0 -1648
  358. package/dist/client/composer/useRealtimeVoiceMode.js.map +0 -1
  359. package/dist/client/composer/useVoiceDictation.d.ts +0 -57
  360. package/dist/client/composer/useVoiceDictation.d.ts.map +0 -1
  361. package/dist/client/composer/useVoiceDictation.js +0 -975
  362. package/dist/client/composer/useVoiceDictation.js.map +0 -1
  363. package/dist/client/editor/index.d.ts +0 -2
  364. package/dist/client/editor/index.d.ts.map +0 -1
  365. package/dist/client/editor/index.js +0 -2
  366. package/dist/client/editor/index.js.map +0 -1
  367. package/dist/client/rich-markdown-editor/RegistryBlockNode.d.ts +0 -130
  368. package/dist/client/rich-markdown-editor/RegistryBlockNode.d.ts.map +0 -1
  369. package/dist/client/rich-markdown-editor/RegistryBlockNode.js +0 -426
  370. package/dist/client/rich-markdown-editor/RegistryBlockNode.js.map +0 -1
  371. package/dist/client/rich-markdown-editor/index.d.ts +0 -5
  372. package/dist/client/rich-markdown-editor/index.d.ts.map +0 -1
  373. package/dist/client/rich-markdown-editor/index.js +0 -5
  374. package/dist/client/rich-markdown-editor/index.js.map +0 -1
  375. package/dist/client/rich-markdown-editor/registrySlashCommands.d.ts +0 -60
  376. package/dist/client/rich-markdown-editor/registrySlashCommands.d.ts.map +0 -1
  377. package/dist/client/rich-markdown-editor/registrySlashCommands.js +0 -51
  378. package/dist/client/rich-markdown-editor/registrySlashCommands.js.map +0 -1
  379. package/dist/client/rich-markdown-editor/uploadEditorImage.d.ts.map +0 -1
  380. package/dist/client/rich-markdown-editor/uploadEditorImage.js.map +0 -1
@@ -1,7 +1,14 @@
1
- import type { ImageUploadFn } from "@agent-native/toolkit/editor";
2
-
3
1
  import { callAction } from "../use-action.js";
4
2
 
3
+ export interface EditorImageUploadResult {
4
+ src: string;
5
+ alt?: string;
6
+ }
7
+
8
+ export type EditorImageUploadFn = (
9
+ file: File,
10
+ ) => Promise<EditorImageUploadResult>;
11
+
5
12
  /**
6
13
  * Read a {@link File} as a base64 data URL (`data:image/...;base64,...`).
7
14
  *
@@ -37,7 +44,7 @@ interface UploadImageActionResult {
37
44
  * dropped image File through the framework `upload-image` action and return the
38
45
  * hosted CDN URL.
39
46
  *
40
- * This is the {@link ImageUploadFn} embedders pass to the shared image block so
47
+ * This is the upload function embedders pass to the shared image block so
41
48
  * any app gets a real uploading image block with zero per-app upload code. The
42
49
  * action re-hosts the bytes on the configured provider (Builder.io by default),
43
50
  * is session-scoped, and returns a stable `![alt](url)` source — so a plan's
@@ -47,7 +54,7 @@ interface UploadImageActionResult {
47
54
  * @throws when the file cannot be read, the action returns no URL, or upload is
48
55
  * not configured (with the action's "connect Builder.io" guidance).
49
56
  */
50
- export const uploadEditorImage: ImageUploadFn = async (file: File) => {
57
+ export const uploadEditorImage: EditorImageUploadFn = async (file: File) => {
51
58
  if (!file.type.startsWith("image/")) {
52
59
  throw new Error("Only image files can be uploaded.");
53
60
  }
@@ -1,5 +1,6 @@
1
1
  import {
2
2
  migrationMoveStatus,
3
+ resolveMigrationSymbolMove,
3
4
  type MigrationManifest,
4
5
  } from "./migration-manifest.js";
5
6
  import { migrationMoveMessage } from "./migration-message.js";
@@ -20,13 +21,25 @@ export function renderTombstoneModule(options: TombstoneModuleOptions): string {
20
21
  );
21
22
  }
22
23
  const to = move.to;
23
- const message = migrationMoveMessage(options.from, to);
24
+ const targetForExport = (name: string): string =>
25
+ resolveMigrationSymbolMove(move, name)?.to ?? to;
26
+ const exportNames = [
27
+ ...(options.valueExports ?? []),
28
+ ...(options.typeExports ?? []),
29
+ ].sort();
30
+ const symbolTargets = Object.fromEntries(
31
+ [...new Set(exportNames)].flatMap((name) => {
32
+ const target = targetForExport(name);
33
+ return target === to ? [] : [[name, target]];
34
+ }),
35
+ );
24
36
  const lines = [
25
37
  `import { throwMovedAgentNativeModule, type DeprecatedExport } from ${JSON.stringify(options.helperImport)};`,
26
38
  "",
27
- `throwMovedAgentNativeModule(${JSON.stringify(options.from)}, ${JSON.stringify(to)});`,
39
+ `throwMovedAgentNativeModule(${JSON.stringify(options.from)}, ${JSON.stringify(to)}${Object.keys(symbolTargets).length > 0 ? `, ${JSON.stringify(symbolTargets)}` : ""});`,
28
40
  ];
29
41
  for (const name of [...(options.valueExports ?? [])].sort()) {
42
+ const message = migrationMoveMessage(options.from, targetForExport(name));
30
43
  lines.push(
31
44
  "",
32
45
  `/** @deprecated ${message} */`,
@@ -34,6 +47,7 @@ export function renderTombstoneModule(options: TombstoneModuleOptions): string {
34
47
  );
35
48
  }
36
49
  for (const name of [...(options.typeExports ?? [])].sort()) {
50
+ const message = migrationMoveMessage(options.from, targetForExport(name));
37
51
  lines.push(
38
52
  "",
39
53
  `/** @deprecated ${message} */`,
@@ -1,4 +1,7 @@
1
- import { migrationMoveMessage } from "./migration-message.js";
1
+ import {
2
+ AGENT_NATIVE_UPGRADE_CODEMOD_COMMAND,
3
+ migrationMoveMessage,
4
+ } from "./migration-message.js";
2
5
 
3
6
  declare const deprecatedExportBrand: unique symbol;
4
7
 
@@ -9,11 +12,26 @@ export type DeprecatedExport<Message extends string> = never & {
9
12
  export class AgentNativeUpgradeError extends Error {
10
13
  override readonly name = "AgentNativeUpgradeError";
11
14
 
12
- constructor(from: string, to: string) {
13
- super(migrationMoveMessage(from, to));
15
+ constructor(
16
+ from: string,
17
+ to: string,
18
+ symbolTargets: Readonly<Record<string, string>> = {},
19
+ ) {
20
+ const overrides = Object.entries(symbolTargets).sort(([left], [right]) =>
21
+ left.localeCompare(right),
22
+ );
23
+ super(
24
+ overrides.length === 0
25
+ ? migrationMoveMessage(from, to)
26
+ : `${from} exports moved to multiple entrypoints: ${overrides.map(([symbol, target]) => `${symbol} -> ${target}`).join("; ")}; all other exports -> ${to}. Run: ${AGENT_NATIVE_UPGRADE_CODEMOD_COMMAND}`,
27
+ );
14
28
  }
15
29
  }
16
30
 
17
- export function throwMovedAgentNativeModule(from: string, to: string): never {
18
- throw new AgentNativeUpgradeError(from, to);
31
+ export function throwMovedAgentNativeModule(
32
+ from: string,
33
+ to: string,
34
+ symbolTargets: Readonly<Record<string, string>> = {},
35
+ ): never {
36
+ throw new AgentNativeUpgradeError(from, to, symbolTargets);
19
37
  }
@@ -1,8 +1,7 @@
1
1
  /**
2
2
  * `@agent-native/core/testing` — a small barrel of internal symbols that
3
3
  * template test suites need direct access to (an in-memory db factory, the
4
- * local Design/Plan dev bridges, and the shared rich-markdown-editor drag
5
- * handle). Published so template specs can import these through the package
4
+ * local Design/Plan dev bridges). Published so template specs can import these through the package
6
5
  * boundary instead of reaching into `packages/core/src/**` with deep
7
6
  * relative paths.
8
7
  *
@@ -22,5 +21,3 @@ export {
22
21
  startDesignConnectBridge,
23
22
  type DesignConnectBridge,
24
23
  } from "./cli/design-connect.js";
25
-
26
- export { DragHandle } from "@agent-native/toolkit/editor";
@@ -792,6 +792,18 @@ const CORE_CLIENT_SUBPATHS = [
792
792
  "@agent-native/core/client/dev-overlay",
793
793
  "@agent-native/core/client/editor",
794
794
  "@agent-native/core/client/rich-markdown-editor",
795
+ "@agent-native/core/client/components/ui/dialog",
796
+ "@agent-native/core/client/components/ui/dropdown-menu",
797
+ "@agent-native/core/client/components/ui/hover-card",
798
+ "@agent-native/core/client/components/ui/popover",
799
+ "@agent-native/core/client/components/ui/sheet",
800
+ "@agent-native/core/client/components/ui/tooltip",
801
+ "@agent-native/core/client/components/AgentPresenceChip",
802
+ "@agent-native/core/client/components/LiveCursorOverlay",
803
+ "@agent-native/core/client/components/PresenceBar",
804
+ "@agent-native/core/client/components/RecentEditHighlights",
805
+ "@agent-native/core/client/components/RemoteSelectionRings",
806
+ "@agent-native/core/client/visual-style-controls",
795
807
  "@agent-native/core/client/feature-flags",
796
808
  "@agent-native/core/client/hooks",
797
809
  "@agent-native/core/client/host",
@@ -858,9 +870,6 @@ function getDefaultOptimizeDeps(cwd: string): string[] {
858
870
  { specifier: "@radix-ui/react-checkbox" },
859
871
  { specifier: "@radix-ui/react-collapsible" },
860
872
  { specifier: "@radix-ui/react-context-menu" },
861
- { specifier: "@radix-ui/react-dialog" },
862
- { specifier: "@radix-ui/react-dropdown-menu" },
863
- { specifier: "@radix-ui/react-hover-card" },
864
873
  { specifier: "@radix-ui/react-label" },
865
874
  { specifier: "@radix-ui/react-menubar" },
866
875
  { specifier: "@radix-ui/react-navigation-menu" },
@@ -885,22 +894,6 @@ function getDefaultOptimizeDeps(cwd: string): string[] {
885
894
  },
886
895
  { specifier: "@tanstack/react-query" },
887
896
  { specifier: "@tabler/icons-react" },
888
- { specifier: "@tiptap/core" },
889
- { specifier: "@tiptap/extension-code-block-lowlight" },
890
- { specifier: "@tiptap/extension-collaboration" },
891
- { specifier: "@tiptap/extension-collaboration-caret" },
892
- { specifier: "@tiptap/extension-image" },
893
- { specifier: "@tiptap/extension-link" },
894
- { specifier: "@tiptap/extension-placeholder" },
895
- { specifier: "@tiptap/extension-table" },
896
- { specifier: "@tiptap/extension-table-cell" },
897
- { specifier: "@tiptap/extension-table-header" },
898
- { specifier: "@tiptap/extension-table-row" },
899
- { specifier: "@tiptap/extension-task-item" },
900
- { specifier: "@tiptap/extension-task-list" },
901
- { specifier: "@tiptap/pm/state", packageName: "@tiptap/pm" },
902
- { specifier: "@tiptap/react" },
903
- { specifier: "@tiptap/starter-kit" },
904
897
  { specifier: "@uiw/react-codemirror" },
905
898
  { specifier: "@xterm/addon-fit" },
906
899
  { specifier: "@xterm/addon-web-links" },
@@ -997,7 +990,6 @@ function getDefaultOptimizeDeps(cwd: string): string[] {
997
990
  },
998
991
  { specifier: "sonner" },
999
992
  { specifier: "tailwind-merge" },
1000
- { specifier: "tiptap-markdown" },
1001
993
  { specifier: "vaul" },
1002
994
  { specifier: "y-protocols/awareness", packageName: "y-protocols" },
1003
995
  { specifier: "yjs" },
@@ -1087,11 +1079,59 @@ function getCoreSourceAliases(
1087
1079
  ),
1088
1080
  "@agent-native/core/client/editor": path.join(
1089
1081
  coreSrc,
1090
- "client/editor/index.ts",
1082
+ "client/tombstone/editor.ts",
1091
1083
  ),
1092
1084
  "@agent-native/core/client/rich-markdown-editor": path.join(
1093
1085
  coreSrc,
1094
- "client/rich-markdown-editor/index.ts",
1086
+ "client/tombstone/rich-markdown-editor.ts",
1087
+ ),
1088
+ "@agent-native/core/client/components/ui/dialog": path.join(
1089
+ coreSrc,
1090
+ "client/tombstone/ui-dialog.ts",
1091
+ ),
1092
+ "@agent-native/core/client/components/ui/dropdown-menu": path.join(
1093
+ coreSrc,
1094
+ "client/tombstone/ui-dropdown-menu.ts",
1095
+ ),
1096
+ "@agent-native/core/client/components/ui/hover-card": path.join(
1097
+ coreSrc,
1098
+ "client/tombstone/ui-hover-card.ts",
1099
+ ),
1100
+ "@agent-native/core/client/components/ui/popover": path.join(
1101
+ coreSrc,
1102
+ "client/tombstone/ui-popover.ts",
1103
+ ),
1104
+ "@agent-native/core/client/components/ui/sheet": path.join(
1105
+ coreSrc,
1106
+ "client/tombstone/ui-sheet.ts",
1107
+ ),
1108
+ "@agent-native/core/client/components/ui/tooltip": path.join(
1109
+ coreSrc,
1110
+ "client/tombstone/ui-tooltip.ts",
1111
+ ),
1112
+ "@agent-native/core/client/components/AgentPresenceChip": path.join(
1113
+ coreSrc,
1114
+ "client/tombstone/agent-presence-chip.ts",
1115
+ ),
1116
+ "@agent-native/core/client/components/LiveCursorOverlay": path.join(
1117
+ coreSrc,
1118
+ "client/tombstone/live-cursor-overlay.ts",
1119
+ ),
1120
+ "@agent-native/core/client/components/PresenceBar": path.join(
1121
+ coreSrc,
1122
+ "client/tombstone/presence-bar.ts",
1123
+ ),
1124
+ "@agent-native/core/client/components/RecentEditHighlights": path.join(
1125
+ coreSrc,
1126
+ "client/tombstone/recent-edit-highlights.ts",
1127
+ ),
1128
+ "@agent-native/core/client/components/RemoteSelectionRings": path.join(
1129
+ coreSrc,
1130
+ "client/tombstone/remote-selection-rings.ts",
1131
+ ),
1132
+ "@agent-native/core/client/visual-style-controls": path.join(
1133
+ coreSrc,
1134
+ "client/tombstone/visual-style-controls.ts",
1095
1135
  ),
1096
1136
  "@agent-native/core/client/feature-flags": path.join(
1097
1137
  coreSrc,
@@ -1,14 +1,12 @@
1
+ import { RegistryBlockDataProvider } from "@agent-native/core/blocks";
1
2
  import {
2
3
  usePresence,
3
4
  useRecentEdits,
4
5
  type AttributedRecentEdit,
5
6
  } from "@agent-native/core/client/collab";
6
7
  import { useT } from "@agent-native/core/client/i18n";
7
- import {
8
- RegistryBlockDataProvider,
9
- type RegistryBlockSideMapBlock,
10
- } from "@agent-native/core/client/rich-markdown-editor";
11
8
  import { RecentEditHighlights } from "@agent-native/toolkit/collab-ui";
9
+ import { type RegistryBlockSideMapBlock } from "@agent-native/toolkit/editor";
12
10
  import {
13
11
  createSharedEditorExtensions,
14
12
  useCollabReconcile,
@@ -1,4 +1,4 @@
1
- import { createRegistryBlockNode } from "@agent-native/core/client/rich-markdown-editor";
1
+ import { createRegistryBlockNode } from "@agent-native/toolkit/editor";
2
2
  import { Extension } from "@tiptap/core";
3
3
  import { Plugin, PluginKey } from "@tiptap/pm/state";
4
4
 
@@ -3,7 +3,7 @@ import {
3
3
  buildRegistryBlockSlashItems,
4
4
  getRegistryBlockSlashDescription,
5
5
  getRegistryBlockSlashSearchText,
6
- } from "@agent-native/core/client/rich-markdown-editor";
6
+ } from "@agent-native/toolkit/editor";
7
7
  import { serializeRegistryBlockToMdx } from "@shared/nfm-registry";
8
8
  import { IconComponents } from "@tabler/icons-react";
9
9
 
@@ -89,56 +89,57 @@ export function buildRegistrySlashItems(
89
89
  // `icon`, compact visible descriptions, hidden search text for type/alias
90
90
  // matching, the default `spec.notionCompatible` gating predicate, and inserting
91
91
  // a `registryBlock` node seeded with inline `__raw`.
92
- return buildRegistryBlockSlashItems<RegistrySlashItem, RegistrySlashEditor>(
93
- registry,
94
- {
95
- notionCompatibleOnly: options.notionCompatibleOnly,
96
- // A few shared library blocks are registered (so saved docs and source
97
- // round-trip), but not offered in Content's authoring slash menu:
98
- // - `columns` needs recursive nested block editing before it is usable in
99
- // Content's inline NFM editor.
100
- // - `question-form` / `visual-questions` are agent-intake forms (they
101
- // submit answers back to a planning agent), which is a plan workflow,
102
- // not a content-authoring block.
103
- // - `inline-database` is registered in Phase 2 for render/round-trip
104
- // compatibility; Phase 3 owns the `/database` insertion flow.
105
- // - `source-component` is emitted by provider hydration to preserve
106
- // source-native blocks; users should not author raw preservation
107
- // markers by hand.
108
- // The genuinely document-friendly rich blocks (callout, decision, diagram,
109
- // wireframe, and the dev-doc/structured set) ARE offered.
110
- includeSpec: (spec) =>
111
- ![
112
- "columns",
113
- "question-form",
114
- "visual-questions",
115
- "inline-database",
116
- "source-component",
117
- ].includes(spec.type),
118
- toItem: (spec, insert) => ({
119
- title: spec.label,
120
- description: getRegistryBlockSlashDescription(spec),
121
- searchText: getRegistryBlockSlashSearchText(spec),
122
- icon: (spec.icon ?? IconComponents) as React.ElementType,
123
- action: insert,
124
- }),
125
- insertBlock: (editor, spec) => {
126
- const blockId = createContentBlockId(spec.type);
127
- editor
128
- .chain()
129
- .focus()
130
- .insertContent({
131
- type: "registryBlock",
132
- attrs: {
133
- blockType: spec.type,
134
- blockId,
135
- title: null,
136
- summary: null,
137
- __raw: seedRegistryBlockRaw(spec, blockId),
138
- },
139
- })
140
- .run();
141
- },
92
+ return buildRegistryBlockSlashItems<
93
+ RegistrySlashItem,
94
+ RegistrySlashEditor,
95
+ BlockSpec
96
+ >(registry, {
97
+ notionCompatibleOnly: options.notionCompatibleOnly,
98
+ // A few shared library blocks are registered (so saved docs and source
99
+ // round-trip), but not offered in Content's authoring slash menu:
100
+ // - `columns` needs recursive nested block editing before it is usable in
101
+ // Content's inline NFM editor.
102
+ // - `question-form` / `visual-questions` are agent-intake forms (they
103
+ // submit answers back to a planning agent), which is a plan workflow,
104
+ // not a content-authoring block.
105
+ // - `inline-database` is registered in Phase 2 for render/round-trip
106
+ // compatibility; Phase 3 owns the `/database` insertion flow.
107
+ // - `source-component` is emitted by provider hydration to preserve
108
+ // source-native blocks; users should not author raw preservation
109
+ // markers by hand.
110
+ // The genuinely document-friendly rich blocks (callout, decision, diagram,
111
+ // wireframe, and the dev-doc/structured set) ARE offered.
112
+ includeSpec: (spec) =>
113
+ ![
114
+ "columns",
115
+ "question-form",
116
+ "visual-questions",
117
+ "inline-database",
118
+ "source-component",
119
+ ].includes(spec.type),
120
+ toItem: (spec, insert) => ({
121
+ title: spec.label,
122
+ description: getRegistryBlockSlashDescription(spec),
123
+ searchText: getRegistryBlockSlashSearchText(spec),
124
+ icon: (spec.icon ?? IconComponents) as React.ElementType,
125
+ action: insert,
126
+ }),
127
+ insertBlock: (editor, spec) => {
128
+ const blockId = createContentBlockId(spec.type);
129
+ editor
130
+ .chain()
131
+ .focus()
132
+ .insertContent({
133
+ type: "registryBlock",
134
+ attrs: {
135
+ blockType: spec.type,
136
+ blockId,
137
+ title: null,
138
+ summary: null,
139
+ __raw: seedRegistryBlockRaw(spec, blockId),
140
+ },
141
+ })
142
+ .run();
142
143
  },
143
- );
144
+ });
144
145
  }
@@ -1,9 +1,9 @@
1
+ import { RegistryBlockDataProvider } from "@agent-native/core/blocks";
1
2
  import {
2
3
  createRegistryBlockNode,
3
- RegistryBlockDataProvider,
4
4
  type RegistryBlockDataValue,
5
5
  useRegistryBlockData,
6
- } from "@agent-native/core/client/rich-markdown-editor";
6
+ } from "@agent-native/toolkit/editor";
7
7
  import { createPlanBlockId, type PlanBlock } from "@shared/plan-content";
8
8
  import type { ReactNode } from "react";
9
9
 
@@ -3,7 +3,7 @@ import {
3
3
  buildRegistryBlockSlashItems,
4
4
  getRegistryBlockSlashDescription,
5
5
  getRegistryBlockSlashSearchText,
6
- } from "@agent-native/core/client/rich-markdown-editor";
6
+ } from "@agent-native/toolkit/editor";
7
7
  import type { SlashCommandItem } from "@agent-native/toolkit/editor";
8
8
  import { isNotionCompatibleBlockType } from "@shared/notion-compat";
9
9
  import { createPlanBlockId } from "@shared/plan-content";
@@ -5,7 +5,7 @@ import {
5
5
  useOptionalBlockRegistry,
6
6
  } from "@agent-native/core/blocks";
7
7
  import { useT } from "@agent-native/core/client/i18n";
8
- import { uploadEditorImage } from "@agent-native/core/client/rich-markdown-editor";
8
+ import { uploadEditorImage } from "@agent-native/core/client/uploads";
9
9
  import { type RichMarkdownCollabUser } from "@agent-native/toolkit/editor";
10
10
  import { imageDataSchema, type PlanBlock } from "@shared/plan-content";
11
11
  import {
@@ -1,5 +1,5 @@
1
1
  import { useT } from "@agent-native/core/client/i18n";
2
- import { uploadEditorImage } from "@agent-native/core/client/rich-markdown-editor";
2
+ import { uploadEditorImage } from "@agent-native/core/client/uploads";
3
3
  import { SharedImage } from "@agent-native/toolkit/editor";
4
4
  import {
5
5
  NodeViewWrapper,
@@ -3,7 +3,7 @@ import {
3
3
  useCollaborativeDoc,
4
4
  type CollabUser,
5
5
  } from "@agent-native/core/client/collab";
6
- import { uploadEditorImage } from "@agent-native/core/client/rich-markdown-editor";
6
+ import { uploadEditorImage } from "@agent-native/core/client/uploads";
7
7
  import {
8
8
  createImageSlashCommand,
9
9
  DEFAULT_SLASH_COMMANDS,
package/dist/catalog.json CHANGED
@@ -1,4 +1,5 @@
1
1
  {
2
+ "@assistant-ui/react": "^0.12.19",
2
3
  "@radix-ui/react-dialog": "^1.1.19",
3
4
  "@radix-ui/react-dropdown-menu": "^2.1.20",
4
5
  "@radix-ui/react-hover-card": "^1.1.19",
@@ -3,7 +3,7 @@ import { Button } from "@agent-native/toolkit/ui/button";
3
3
  import { useCallback, useState } from "react";
4
4
  import { sendToAgentChat } from "./agent-chat.js";
5
5
  import { Popover, PopoverContent, PopoverTrigger, } from "./components/ui/popover.js";
6
- import { PromptComposer } from "./composer/PromptComposer.js";
6
+ import { PromptComposer } from "./composer/index.js";
7
7
  import { useT } from "./i18n.js";
8
8
  /** A low-emphasis entry point for asking the agent without losing the current surface. */
9
9
  export function AgentAskPopover({ prompt, title, label, placeholder, context, className, }) {
@@ -1 +1 @@
1
- {"version":3,"file":"AgentAskPopover.js","sourceRoot":"","sources":["../../src/client/AgentAskPopover.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACL,OAAO,EACP,cAAc,EACd,cAAc,GACf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAWjC,0FAA0F;AAC1F,MAAM,UAAU,eAAe,CAAC,EAC9B,MAAM,EACN,KAAK,EACL,KAAK,EACL,WAAW,EACX,OAAO,EACP,SAAS,GACY;IACrB,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;IACjB,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,IAAY,EAAE,EAAE;QACf,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,eAAe,CAAC;YACd,OAAO,EAAE,OAAO;YAChB,OAAO;YACP,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;QACH,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC,EACD,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,OAAO,CACL,MAAC,OAAO,IAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,aACxC,KAAC,cAAc,IAAC,OAAO,kBACrB,KAAC,MAAM,IACL,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,IAAI,EACT,SAAS,EAAE,SAAS,IAAI,gBAAgB,YAEvC,KAAK,IAAI,CAAC,CAAC,qBAAqB,EAAE,EAAE,YAAY,EAAE,eAAe,EAAE,CAAC,GAC9D,GACM,EACjB,MAAC,cAAc,IACb,KAAK,EAAC,KAAK,EACX,UAAU,EAAE,CAAC,EACb,gBAAgB,EAAE,EAAE,EACpB,SAAS,EAAC,gDAAgD,aAE1D,YAAG,SAAS,EAAC,iDAAiD,YAC3D,KAAK;4BACJ,CAAC,CAAC,0BAA0B,EAAE,EAAE,YAAY,EAAE,eAAe,EAAE,CAAC,GAChE,EACJ,KAAC,cAAc,IACb,SAAS,QACT,kBAAkB,EAAE,KAAK,EACzB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAC,SAAS,EACvB,WAAW,EACT,WAAW;4BACX,CAAC,CAAC,gCAAgC,EAAE;gCAClC,YAAY,EAAE,qCAAqC;6BACpD,CAAC,EAEJ,iBAAiB,EAAE,KAAK,EACxB,YAAY,EAAE,KAAK,EACnB,QAAQ,EAAE,YAAY,GACtB,IACa,IACT,CACX,CAAC;AACJ,CAAC","sourcesContent":["import { Button } from \"@agent-native/toolkit/ui/button\";\nimport { useCallback, useState } from \"react\";\n\nimport { sendToAgentChat } from \"./agent-chat.js\";\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"./components/ui/popover.js\";\nimport { PromptComposer } from \"./composer/PromptComposer.js\";\nimport { useT } from \"./i18n.js\";\n\nexport interface AgentAskPopoverProps {\n prompt: string;\n title?: string;\n label?: string;\n placeholder?: string;\n context?: string;\n className?: string;\n}\n\n/** A low-emphasis entry point for asking the agent without losing the current surface. */\nexport function AgentAskPopover({\n prompt,\n title,\n label,\n placeholder,\n context,\n className,\n}: AgentAskPopoverProps) {\n const t = useT();\n const [open, setOpen] = useState(false);\n const handleSubmit = useCallback(\n (text: string) => {\n const trimmed = text.trim();\n if (!trimmed) return;\n sendToAgentChat({\n message: trimmed,\n context,\n submit: true,\n newTab: true,\n });\n setOpen(false);\n },\n [context],\n );\n\n return (\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <Button\n type=\"button\"\n variant=\"outline\"\n size=\"sm\"\n className={className ?? \"cursor-pointer\"}\n >\n {label ?? t(\"agentPanel.askAgent\", { defaultValue: \"Ask the agent\" })}\n </Button>\n </PopoverTrigger>\n <PopoverContent\n align=\"end\"\n sideOffset={8}\n collisionPadding={12}\n className=\"z-[260] w-[calc(100vw-32px)] max-w-[420px] p-3\"\n >\n <p className=\"px-1 pb-2 text-sm font-semibold text-foreground\">\n {title ??\n t(\"agentPanel.askAgentTitle\", { defaultValue: \"Ask the agent\" })}\n </p>\n <PromptComposer\n autoFocus\n attachmentsEnabled={false}\n initialText={prompt}\n initialTextKey={prompt}\n layoutVariant=\"compact\"\n placeholder={\n placeholder ??\n t(\"agentPanel.askAgentPlaceholder\", {\n defaultValue: \"Tell the agent what you want to do…\",\n })\n }\n showModelSelector={false}\n voiceEnabled={false}\n onSubmit={handleSubmit}\n />\n </PopoverContent>\n </Popover>\n );\n}\n"]}
1
+ {"version":3,"file":"AgentAskPopover.js","sourceRoot":"","sources":["../../src/client/AgentAskPopover.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACL,OAAO,EACP,cAAc,EACd,cAAc,GACf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAWjC,0FAA0F;AAC1F,MAAM,UAAU,eAAe,CAAC,EAC9B,MAAM,EACN,KAAK,EACL,KAAK,EACL,WAAW,EACX,OAAO,EACP,SAAS,GACY;IACrB,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;IACjB,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,IAAY,EAAE,EAAE;QACf,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,eAAe,CAAC;YACd,OAAO,EAAE,OAAO;YAChB,OAAO;YACP,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;QACH,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC,EACD,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,OAAO,CACL,MAAC,OAAO,IAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,aACxC,KAAC,cAAc,IAAC,OAAO,kBACrB,KAAC,MAAM,IACL,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,IAAI,EACT,SAAS,EAAE,SAAS,IAAI,gBAAgB,YAEvC,KAAK,IAAI,CAAC,CAAC,qBAAqB,EAAE,EAAE,YAAY,EAAE,eAAe,EAAE,CAAC,GAC9D,GACM,EACjB,MAAC,cAAc,IACb,KAAK,EAAC,KAAK,EACX,UAAU,EAAE,CAAC,EACb,gBAAgB,EAAE,EAAE,EACpB,SAAS,EAAC,gDAAgD,aAE1D,YAAG,SAAS,EAAC,iDAAiD,YAC3D,KAAK;4BACJ,CAAC,CAAC,0BAA0B,EAAE,EAAE,YAAY,EAAE,eAAe,EAAE,CAAC,GAChE,EACJ,KAAC,cAAc,IACb,SAAS,QACT,kBAAkB,EAAE,KAAK,EACzB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAC,SAAS,EACvB,WAAW,EACT,WAAW;4BACX,CAAC,CAAC,gCAAgC,EAAE;gCAClC,YAAY,EAAE,qCAAqC;6BACpD,CAAC,EAEJ,iBAAiB,EAAE,KAAK,EACxB,YAAY,EAAE,KAAK,EACnB,QAAQ,EAAE,YAAY,GACtB,IACa,IACT,CACX,CAAC;AACJ,CAAC","sourcesContent":["import { Button } from \"@agent-native/toolkit/ui/button\";\nimport { useCallback, useState } from \"react\";\n\nimport { sendToAgentChat } from \"./agent-chat.js\";\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"./components/ui/popover.js\";\nimport { PromptComposer } from \"./composer/index.js\";\nimport { useT } from \"./i18n.js\";\n\nexport interface AgentAskPopoverProps {\n prompt: string;\n title?: string;\n label?: string;\n placeholder?: string;\n context?: string;\n className?: string;\n}\n\n/** A low-emphasis entry point for asking the agent without losing the current surface. */\nexport function AgentAskPopover({\n prompt,\n title,\n label,\n placeholder,\n context,\n className,\n}: AgentAskPopoverProps) {\n const t = useT();\n const [open, setOpen] = useState(false);\n const handleSubmit = useCallback(\n (text: string) => {\n const trimmed = text.trim();\n if (!trimmed) return;\n sendToAgentChat({\n message: trimmed,\n context,\n submit: true,\n newTab: true,\n });\n setOpen(false);\n },\n [context],\n );\n\n return (\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <Button\n type=\"button\"\n variant=\"outline\"\n size=\"sm\"\n className={className ?? \"cursor-pointer\"}\n >\n {label ?? t(\"agentPanel.askAgent\", { defaultValue: \"Ask the agent\" })}\n </Button>\n </PopoverTrigger>\n <PopoverContent\n align=\"end\"\n sideOffset={8}\n collisionPadding={12}\n className=\"z-[260] w-[calc(100vw-32px)] max-w-[420px] p-3\"\n >\n <p className=\"px-1 pb-2 text-sm font-semibold text-foreground\">\n {title ??\n t(\"agentPanel.askAgentTitle\", { defaultValue: \"Ask the agent\" })}\n </p>\n <PromptComposer\n autoFocus\n attachmentsEnabled={false}\n initialText={prompt}\n initialTextKey={prompt}\n layoutVariant=\"compact\"\n placeholder={\n placeholder ??\n t(\"agentPanel.askAgentPlaceholder\", {\n defaultValue: \"Tell the agent what you want to do…\",\n })\n }\n showModelSelector={false}\n voiceEnabled={false}\n onSubmit={handleSubmit}\n />\n </PopoverContent>\n </Popover>\n );\n}\n"]}
@@ -45,7 +45,7 @@ import { agentNativePath, appPath } from "./api-path.js";
45
45
  import { assistantUiRecoverableRenderErrorKind } from "./assistant-ui-recovery.js";
46
46
  import { shouldParentFrameOwnAgentPanel } from "./builder-frame.js";
47
47
  import { AGENT_CHAT_VIEW_TRANSITION_CLASS, getAgentChatViewTransitionStyle, } from "./chat-view-transition.js";
48
- import { RealtimeVoiceModeProvider } from "./composer/useRealtimeVoiceMode.js";
48
+ import { RealtimeVoiceModeProvider } from "./composer/index.js";
49
49
  import { getFramePostMessageTargetOrigin, isTrustedFrameMessage, } from "./frame.js";
50
50
  import { useT } from "./i18n.js";
51
51
  import { recoverFromStaleChunkError } from "./route-chunk-recovery.js";