@agent-native/core 0.110.2 → 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 +17 -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 -269
  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/struct-routes.d.ts +1 -1
  212. package/dist/notifications/routes.d.ts +3 -3
  213. package/dist/package-lifecycle/tombstone.d.ts.map +1 -1
  214. package/dist/package-lifecycle/tombstone.js +13 -3
  215. package/dist/package-lifecycle/tombstone.js.map +1 -1
  216. package/dist/package-lifecycle/upgrade-error.d.ts +2 -2
  217. package/dist/package-lifecycle/upgrade-error.d.ts.map +1 -1
  218. package/dist/package-lifecycle/upgrade-error.js +8 -5
  219. package/dist/package-lifecycle/upgrade-error.js.map +1 -1
  220. package/dist/secrets/routes.d.ts +9 -9
  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 -269
  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,14 +1,9 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import Link from "@tiptap/extension-link";
3
- import Placeholder from "@tiptap/extension-placeholder";
4
- import { useEditor, EditorContent } from "@tiptap/react";
5
- import StarterKit from "@tiptap/starter-kit";
2
+ import { SharedRichEditor } from "@agent-native/toolkit/editor/SharedRichEditor";
6
3
  import { useState, useRef, useEffect, useCallback, useMemo, } from "react";
7
- import { Markdown } from "tiptap-markdown";
8
4
  import { CLAUDE_SONNET_MODEL_ID, CLAUDE_SONNET_MODEL_LABEL, } from "../../agent/model-config.js";
9
5
  import { getRemoteAgentIdFromPath, getFrontmatterValue, isCustomAgentPath, isRemoteAgentPath, isSkillPath, parseFrontmatter, serializeFrontmatter, } from "../../resources/metadata.js";
10
6
  import { agentNativePath } from "../api-path.js";
11
- import { Tooltip, TooltipContent, TooltipTrigger, } from "../components/ui/tooltip.js";
12
7
  import { cn } from "../utils.js";
13
8
  const CONTROL_STYLE = { fontSize: 12, lineHeight: 1 };
14
9
  const VIEW_PREF_KEY = "resource-editor-view";
@@ -127,343 +122,6 @@ function FrontmatterBar({ resourcePath, frontmatter, onChange, readOnly, }) {
127
122
  padding: "2px 6px",
128
123
  }, children: [_jsx("option", { value: "inherit", children: "Inherit" }), _jsx("option", { value: "allowlist", children: "Allowlist later" }), _jsx("option", { value: "denylist", children: "Denylist later" })] })] })) : null] }));
129
124
  }
130
- const slashCommands = [
131
- {
132
- title: "Text",
133
- description: "Plain text",
134
- icon: "T",
135
- action: (editor) => editor.chain().focus().setParagraph().run(),
136
- },
137
- {
138
- title: "Heading 1",
139
- description: "Large heading",
140
- icon: "H1",
141
- action: (editor) => editor.chain().focus().toggleHeading({ level: 1 }).run(),
142
- },
143
- {
144
- title: "Heading 2",
145
- description: "Medium heading",
146
- icon: "H2",
147
- action: (editor) => editor.chain().focus().toggleHeading({ level: 2 }).run(),
148
- },
149
- {
150
- title: "Heading 3",
151
- description: "Small heading",
152
- icon: "H3",
153
- action: (editor) => editor.chain().focus().toggleHeading({ level: 3 }).run(),
154
- },
155
- {
156
- title: "Bullet List",
157
- description: "Unordered list",
158
- icon: "•",
159
- action: (editor) => editor.chain().focus().toggleBulletList().run(),
160
- },
161
- {
162
- title: "Numbered List",
163
- description: "Ordered list",
164
- icon: "1.",
165
- action: (editor) => editor.chain().focus().toggleOrderedList().run(),
166
- },
167
- {
168
- title: "Code Block",
169
- description: "Code snippet",
170
- icon: "<>",
171
- action: (editor) => editor.chain().focus().toggleCodeBlock().run(),
172
- },
173
- {
174
- title: "Quote",
175
- description: "Block quote",
176
- icon: '"',
177
- action: (editor) => editor.chain().focus().toggleBlockquote().run(),
178
- },
179
- {
180
- title: "Divider",
181
- description: "Horizontal rule",
182
- icon: "—",
183
- action: (editor) => editor.chain().focus().setHorizontalRule().run(),
184
- },
185
- ];
186
- function SlashMenu({ editor }) {
187
- const [isOpen, setIsOpen] = useState(false);
188
- const [query, setQuery] = useState("");
189
- const [selectedIndex, setSelectedIndex] = useState(0);
190
- const [position, setPosition] = useState(null);
191
- const slashPosRef = useRef(null);
192
- const menuRef = useRef(null);
193
- const filteredCommands = useMemo(() => slashCommands.filter((cmd) => cmd.title.toLowerCase().includes(query.toLowerCase()) ||
194
- cmd.description.toLowerCase().includes(query.toLowerCase())), [query]);
195
- const executeCommand = useCallback((cmd) => {
196
- if (slashPosRef.current !== null) {
197
- const { from } = editor.state.selection;
198
- editor
199
- .chain()
200
- .focus()
201
- .deleteRange({ from: slashPosRef.current, to: from })
202
- .run();
203
- }
204
- cmd.action(editor);
205
- setIsOpen(false);
206
- setQuery("");
207
- slashPosRef.current = null;
208
- }, [editor]);
209
- useEffect(() => {
210
- if (!editor)
211
- return;
212
- const handleKeyDown = (e) => {
213
- if (!isOpen)
214
- return;
215
- if (e.key === "ArrowDown") {
216
- e.preventDefault();
217
- setSelectedIndex((i) => (i + 1) % filteredCommands.length);
218
- }
219
- else if (e.key === "ArrowUp") {
220
- e.preventDefault();
221
- setSelectedIndex((i) => (i - 1 + filteredCommands.length) % filteredCommands.length);
222
- }
223
- else if (e.key === "Enter") {
224
- e.preventDefault();
225
- if (filteredCommands[selectedIndex]) {
226
- executeCommand(filteredCommands[selectedIndex]);
227
- }
228
- }
229
- else if (e.key === "Escape") {
230
- setIsOpen(false);
231
- setQuery("");
232
- slashPosRef.current = null;
233
- }
234
- };
235
- document.addEventListener("keydown", handleKeyDown, true);
236
- return () => document.removeEventListener("keydown", handleKeyDown, true);
237
- }, [isOpen, selectedIndex, filteredCommands, executeCommand, editor]);
238
- useEffect(() => {
239
- if (!editor)
240
- return;
241
- const handleTransaction = () => {
242
- const { state } = editor;
243
- const { from } = state.selection;
244
- const textBefore = state.doc.textBetween(Math.max(0, from - 20), from, "\n");
245
- const slashMatch = textBefore.match(/\/([a-zA-Z0-9]*)$/);
246
- if (slashMatch) {
247
- const slashStart = from - slashMatch[0].length;
248
- slashPosRef.current = slashStart;
249
- setQuery(slashMatch[1]);
250
- setSelectedIndex(0);
251
- const coords = editor.view.coordsAtPos(from);
252
- // Estimate menu height (~320px max) and check if it fits below
253
- const menuHeight = 320;
254
- const spaceBelow = window.innerHeight - coords.bottom;
255
- const flipUp = spaceBelow < menuHeight && coords.top > menuHeight;
256
- setPosition({
257
- top: flipUp ? coords.top : coords.bottom + 4,
258
- left: Math.min(coords.left, window.innerWidth - 240),
259
- flipUp,
260
- });
261
- setIsOpen(true);
262
- }
263
- else {
264
- if (isOpen) {
265
- setIsOpen(false);
266
- setQuery("");
267
- slashPosRef.current = null;
268
- }
269
- }
270
- };
271
- editor.on("transaction", handleTransaction);
272
- return () => {
273
- editor.off("transaction", handleTransaction);
274
- };
275
- }, [editor, isOpen]);
276
- if (!isOpen || !position || filteredCommands.length === 0)
277
- return null;
278
- return (_jsx("div", { ref: menuRef, style: {
279
- position: "fixed",
280
- ...(position.flipUp
281
- ? { bottom: window.innerHeight - position.top + 4 }
282
- : { top: position.top }),
283
- left: position.left,
284
- zIndex: 9999,
285
- }, className: "re-slash-menu", children: _jsxs("div", { className: "py-1", children: [_jsx("div", { style: {
286
- padding: "4px 10px",
287
- fontSize: 10,
288
- fontWeight: 600,
289
- textTransform: "uppercase",
290
- letterSpacing: "0.06em",
291
- opacity: 0.5,
292
- }, children: "Blocks" }), filteredCommands.map((cmd, i) => (_jsxs("button", { onClick: () => executeCommand(cmd), onMouseEnter: () => setSelectedIndex(i), className: cn("re-slash-item", i === selectedIndex && "re-slash-item--active"), children: [_jsx("span", { className: "re-slash-icon", children: cmd.icon }), _jsxs("span", { children: [_jsx("span", { className: "re-slash-title", children: cmd.title }), _jsx("span", { className: "re-slash-desc", children: cmd.description })] })] }, cmd.title)))] }) }));
293
- }
294
- // --- Inline Bubble Toolbar ---
295
- function InlineBubbleToolbar({ editor }) {
296
- const [visible, setVisible] = useState(false);
297
- const [coords, setCoords] = useState({ top: 0, left: 0 });
298
- const [showLinkInput, setShowLinkInput] = useState(false);
299
- const [linkUrl, setLinkUrl] = useState("");
300
- const toolbarRef = useRef(null);
301
- useEffect(() => {
302
- if (!editor)
303
- return;
304
- const update = () => {
305
- const { from, to } = editor.state.selection;
306
- if (from === to || !editor.isFocused) {
307
- setVisible(false);
308
- return;
309
- }
310
- const domSelection = window.getSelection();
311
- if (!domSelection || domSelection.rangeCount === 0) {
312
- setVisible(false);
313
- return;
314
- }
315
- const range = domSelection.getRangeAt(0);
316
- const rect = range.getBoundingClientRect();
317
- if (rect.width === 0) {
318
- setVisible(false);
319
- return;
320
- }
321
- // Use fixed positioning with viewport coordinates
322
- setCoords({
323
- top: rect.top - 8,
324
- left: rect.left + rect.width / 2,
325
- });
326
- setVisible(true);
327
- };
328
- editor.on("selectionUpdate", update);
329
- const onBlur = () => {
330
- // Delay so clicks on toolbar buttons register before hiding
331
- setTimeout(() => {
332
- if (!editor.isFocused)
333
- setVisible(false);
334
- }, 150);
335
- };
336
- editor.on("blur", onBlur);
337
- return () => {
338
- editor.off("selectionUpdate", update);
339
- editor.off("blur", onBlur);
340
- };
341
- }, [editor]);
342
- const handleSetLink = () => {
343
- if (linkUrl.trim()) {
344
- editor
345
- .chain()
346
- .focus()
347
- .extendMarkRange("link")
348
- .setLink({ href: linkUrl.trim() })
349
- .run();
350
- }
351
- else {
352
- editor.chain().focus().extendMarkRange("link").unsetLink().run();
353
- }
354
- setShowLinkInput(false);
355
- setLinkUrl("");
356
- };
357
- const toggleLink = () => {
358
- if (editor.isActive("link")) {
359
- editor.chain().focus().unsetLink().run();
360
- return;
361
- }
362
- const previousUrl = editor.getAttributes("link").href || "";
363
- setLinkUrl(previousUrl);
364
- setShowLinkInput(true);
365
- };
366
- const items = [
367
- {
368
- label: "B",
369
- title: "Bold",
370
- action: () => editor.chain().focus().toggleBold().run(),
371
- isActive: () => editor.isActive("bold"),
372
- style: { fontWeight: 700 },
373
- },
374
- {
375
- label: "I",
376
- title: "Italic",
377
- action: () => editor.chain().focus().toggleItalic().run(),
378
- isActive: () => editor.isActive("italic"),
379
- style: { fontStyle: "italic" },
380
- },
381
- {
382
- label: "S",
383
- title: "Strikethrough",
384
- action: () => editor.chain().focus().toggleStrike().run(),
385
- isActive: () => editor.isActive("strike"),
386
- style: { textDecoration: "line-through" },
387
- },
388
- {
389
- label: "<>",
390
- title: "Code",
391
- action: () => editor.chain().focus().toggleCode().run(),
392
- isActive: () => editor.isActive("code"),
393
- style: { fontFamily: "monospace", fontSize: 11 },
394
- },
395
- { type: "divider" },
396
- {
397
- label: "H1",
398
- title: "Heading 1",
399
- action: () => editor.chain().focus().toggleHeading({ level: 1 }).run(),
400
- isActive: () => editor.isActive("heading", { level: 1 }),
401
- },
402
- {
403
- label: "H2",
404
- title: "Heading 2",
405
- action: () => editor.chain().focus().toggleHeading({ level: 2 }).run(),
406
- isActive: () => editor.isActive("heading", { level: 2 }),
407
- },
408
- {
409
- label: "H3",
410
- title: "Heading 3",
411
- action: () => editor.chain().focus().toggleHeading({ level: 3 }).run(),
412
- isActive: () => editor.isActive("heading", { level: 3 }),
413
- },
414
- { type: "divider" },
415
- {
416
- label: "Link",
417
- title: "Link",
418
- action: toggleLink,
419
- isActive: () => editor.isActive("link"),
420
- },
421
- ];
422
- if (!visible)
423
- return null;
424
- return (_jsx("div", { ref: toolbarRef, className: "re-bubble-toolbar", onMouseDown: (e) => e.preventDefault(), style: {
425
- position: "fixed",
426
- top: coords.top,
427
- left: coords.left,
428
- transform: "translate(-50%, -100%)",
429
- zIndex: 9999,
430
- }, children: showLinkInput ? (_jsxs("div", { style: { display: "flex", alignItems: "center", gap: 4, padding: 4 }, onMouseDown: (e) => e.preventDefault(), children: [_jsx("input", { autoFocus: true, type: "url", placeholder: "Paste link...", value: linkUrl, onChange: (e) => setLinkUrl(e.target.value), onKeyDown: (e) => {
431
- if (e.key === "Enter")
432
- handleSetLink();
433
- if (e.key === "Escape") {
434
- setShowLinkInput(false);
435
- setLinkUrl("");
436
- }
437
- }, style: {
438
- background: "transparent",
439
- border: "none",
440
- outline: "none",
441
- color: "white",
442
- fontSize: 12,
443
- width: 160,
444
- padding: "2px 4px",
445
- } }), _jsx("button", { onClick: handleSetLink, style: {
446
- fontSize: 11,
447
- color: "hsl(var(--primary))",
448
- padding: "2px 6px",
449
- fontWeight: 500,
450
- background: "none",
451
- border: "none",
452
- cursor: "pointer",
453
- }, children: "Apply" })] })) : (_jsx("div", { style: { display: "flex", alignItems: "center", gap: 2 }, onMouseDown: (e) => e.preventDefault(), children: items.map((item, i) => {
454
- if ("type" in item && item.type === "divider") {
455
- return (_jsx("div", { style: {
456
- width: 1,
457
- height: 16,
458
- background: "hsl(var(--border))",
459
- margin: "0 2px",
460
- } }, `d-${i}`));
461
- }
462
- const { label, title, action, isActive, style } = item;
463
- return (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx("button", { onClick: action, className: cn("re-bubble-btn", isActive() && "re-bubble-btn--active"), style: style, children: label }) }), _jsx(TooltipContent, { children: title })] }, title));
464
- }) })) }));
465
- }
466
- // --- Visual Markdown Editor ---
467
125
  // --- Syntax-highlighted code editor (textarea + overlay) ---
468
126
  function highlightJson(text) {
469
127
  // Escape HTML first
@@ -539,120 +197,26 @@ function SyntaxHighlightEditor({ value, onChange, language: _language, readOnly,
539
197
  WebkitTextFillColor: "transparent",
540
198
  } })] })] }));
541
199
  }
200
+ const RESOURCE_MARKDOWN_FEATURES = {
201
+ tables: false,
202
+ tasks: false,
203
+ image: false,
204
+ };
542
205
  function VisualMarkdownEditor({ content, onChange, resourcePath, readOnly, }) {
543
- const isSettingContent = useRef(false);
544
- const onChangeRef = useRef(onChange);
545
- onChangeRef.current = onChange;
546
- // Parse frontmatter — strip it from tiptap content, re-prepend on save
547
206
  const parsed = useMemo(() => parseFrontmatter(content), [content]);
548
207
  const frontmatterRef = useRef(parsed);
549
208
  frontmatterRef.current = parsed;
550
- const editor = useEditor({
551
- extensions: [
552
- StarterKit.configure({
553
- heading: { levels: [1, 2, 3] },
554
- codeBlock: {},
555
- link: false,
556
- dropcursor: { color: "hsl(var(--ring))", width: 2 },
557
- }),
558
- Placeholder.configure({
559
- placeholder: ({ node }) => {
560
- if (node.type.name === "heading") {
561
- const level = node.attrs.level;
562
- if (level === 1)
563
- return "Heading 1";
564
- if (level === 2)
565
- return "Heading 2";
566
- return "Heading 3";
567
- }
568
- return "Type '/' for commands...";
569
- },
570
- showOnlyWhenEditable: true,
571
- showOnlyCurrent: true,
572
- }),
573
- Link.configure({
574
- openOnClick: false,
575
- HTMLAttributes: { class: "re-link" },
576
- }),
577
- Markdown.configure({
578
- html: true,
579
- transformPastedText: true,
580
- transformCopiedText: true,
581
- }),
582
- ],
583
- content: parsed?.body ?? content,
584
- editable: !readOnly,
585
- editorProps: {
586
- attributes: {
587
- class: "re-prose",
588
- },
589
- },
590
- onUpdate: ({ editor }) => {
591
- if (readOnly)
592
- return;
593
- if (isSettingContent.current)
594
- return;
595
- try {
596
- const md = editor.storage.markdown.getMarkdown();
597
- // Re-prepend frontmatter if it existed
598
- const fm = frontmatterRef.current;
599
- const full = fm ? fm.raw + md : md;
600
- onChangeRef.current(full);
601
- }
602
- catch (err) {
603
- console.error("Markdown serialization error:", err);
604
- }
605
- },
606
- });
607
- useEffect(() => {
608
- if (!editor || editor.isDestroyed)
609
- return;
610
- editor.setEditable(!readOnly);
611
- }, [editor, readOnly]);
612
- useEffect(() => {
613
- if (!editor || editor.isDestroyed)
614
- return;
615
- const currentMd = editor.storage.markdown.getMarkdown();
616
- if (currentMd !== (parsed?.body ?? content)) {
617
- if (editor.isFocused)
618
- return;
619
- isSettingContent.current = true;
620
- editor.commands.setContent(parsed?.body ?? content);
621
- isSettingContent.current = false;
622
- }
623
- }, [content, editor, parsed]);
624
- useEffect(() => {
625
- return () => {
626
- editor?.destroy();
627
- };
628
- }, [editor]);
629
- if (!editor)
630
- return null;
631
- const handleWrapperClick = (e) => {
632
- // If the click was on the wrapper (empty area), not on editor content, focus at end
633
- const target = e.target;
634
- if (target.classList.contains("re-editor-clickable") ||
635
- target.classList.contains("re-editor-wrapper")) {
636
- editor.chain().focus("end").run();
637
- }
638
- };
639
- return (_jsxs("div", { className: "re-editor-wrapper re-editor-clickable", onClick: handleWrapperClick, style: {
640
- position: "relative",
641
- minHeight: "100%",
642
- cursor: readOnly ? "default" : "text",
643
- }, children: [parsed && (_jsx(FrontmatterBar, { resourcePath: resourcePath, frontmatter: parsed, readOnly: readOnly, onChange: (updated) => {
209
+ const body = parsed?.body ?? content;
210
+ const commitBody = useCallback((nextBody) => {
211
+ const frontmatter = frontmatterRef.current;
212
+ onChange(frontmatter ? frontmatter.raw + nextBody : nextBody);
213
+ }, [onChange]);
214
+ return (_jsxs("div", { className: "re-editor-wrapper min-h-full", children: [parsed ? (_jsx(FrontmatterBar, { resourcePath: resourcePath, frontmatter: parsed, readOnly: readOnly, onChange: (updated) => {
644
215
  if (readOnly)
645
216
  return;
646
217
  frontmatterRef.current = updated;
647
- // Get current body and combine with updated frontmatter
648
- try {
649
- const md = editor.storage.markdown.getMarkdown();
650
- onChangeRef.current(updated.raw + md);
651
- }
652
- catch {
653
- // fallback
654
- }
655
- } })), !readOnly && _jsx(InlineBubbleToolbar, { editor: editor }), !readOnly && _jsx(SlashMenu, { editor: editor }), _jsx(EditorContent, { editor: editor })] }));
218
+ onChange(updated.raw + body);
219
+ } })) : null, _jsx(SharedRichEditor, { value: body, onChange: commitBody, editable: !readOnly, interactive: !readOnly, dialect: "gfm", features: RESOURCE_MARKDOWN_FEATURES, placeholder: "Type '/' for commands...", editorClassName: "re-prose", ariaLabel: "Resource markdown" })] }));
656
220
  }
657
221
  function parseRemoteAgentContent(content, path) {
658
222
  const fallbackId = getRemoteAgentIdFromPath(path);
@@ -884,87 +448,5 @@ const editorStyles = `
884
448
  background: hsl(210 100% 52% / 0.2);
885
449
  }
886
450
 
887
- /* Bubble toolbar */
888
- .re-bubble-toolbar {
889
- display: flex;
890
- align-items: center;
891
- background: hsl(var(--popover));
892
- color: hsl(var(--popover-foreground));
893
- border: 1px solid hsl(var(--border));
894
- border-radius: 6px;
895
- padding: 3px;
896
- box-shadow: 0 4px 16px rgb(0 0 0 / 0.12);
897
- }
898
- .re-bubble-btn {
899
- padding: 3px 6px;
900
- border-radius: 4px;
901
- font-size: 12px;
902
- color: hsl(var(--muted-foreground));
903
- background: none;
904
- border: none;
905
- cursor: pointer;
906
- line-height: 1;
907
- }
908
- .re-bubble-btn:hover {
909
- background: hsl(var(--accent));
910
- color: hsl(var(--accent-foreground));
911
- }
912
- .re-bubble-btn--active {
913
- background: hsl(var(--accent));
914
- color: hsl(var(--accent-foreground));
915
- }
916
-
917
- /* Slash command menu */
918
- .re-slash-menu {
919
- background: hsl(var(--popover));
920
- border: 1px solid hsl(var(--border));
921
- border-radius: 6px;
922
- box-shadow: 0 4px 20px rgb(0 0 0 / 0.12), 0 0 0 1px rgb(0 0 0 / 0.04);
923
- min-width: 220px;
924
- max-height: 320px;
925
- overflow-y: auto;
926
- color: hsl(var(--foreground));
927
- }
928
- .re-slash-item {
929
- width: 100%;
930
- display: flex;
931
- align-items: center;
932
- gap: 8px;
933
- padding: 6px 10px;
934
- text-align: left;
935
- background: none;
936
- border: none;
937
- cursor: pointer;
938
- color: hsl(var(--foreground));
939
- font-size: 13px;
940
- }
941
- .re-slash-item:hover,
942
- .re-slash-item--active {
943
- background: hsl(var(--accent));
944
- }
945
- .re-slash-icon {
946
- display: flex;
947
- align-items: center;
948
- justify-content: center;
949
- width: 28px;
950
- height: 28px;
951
- border-radius: 4px;
952
- border: 1px solid hsl(var(--border));
953
- background: hsl(var(--background));
954
- font-size: 12px;
955
- font-weight: 600;
956
- color: hsl(var(--muted-foreground));
957
- flex-shrink: 0;
958
- }
959
- .re-slash-title {
960
- display: block;
961
- font-weight: 500;
962
- font-size: 13px;
963
- }
964
- .re-slash-desc {
965
- display: block;
966
- font-size: 11px;
967
- color: hsl(var(--muted-foreground));
968
- }
969
451
  `;
970
452
  //# sourceMappingURL=ResourceEditor.js.map