@dxos/plugin-automation 0.7.5-main.9d2a38b → 0.7.5-main.b19bfc8

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 (370) hide show
  1. package/dist/lib/browser/AssistantDialog-V67OWLRP.mjs +116 -0
  2. package/dist/lib/browser/AssistantDialog-V67OWLRP.mjs.map +7 -0
  3. package/dist/lib/browser/AutomationPanel-NCKK3CFN.mjs +8 -0
  4. package/dist/lib/browser/AutomationPanel-NCKK3CFN.mjs.map +7 -0
  5. package/dist/lib/browser/ChatContainer-5BS6THNV.mjs +33 -0
  6. package/dist/lib/browser/ChatContainer-5BS6THNV.mjs.map +7 -0
  7. package/dist/lib/browser/TemplateContainer-HJJV44CE.mjs +23 -0
  8. package/dist/lib/browser/TemplateContainer-HJJV44CE.mjs.map +7 -0
  9. package/dist/lib/browser/ai-client-T2PBJISL.mjs +22 -0
  10. package/dist/lib/browser/ai-client-T2PBJISL.mjs.map +7 -0
  11. package/dist/lib/browser/app-graph-builder-IR3CGVM6.mjs +110 -0
  12. package/dist/lib/browser/app-graph-builder-IR3CGVM6.mjs.map +7 -0
  13. package/dist/lib/browser/chunk-62E2AEXF.mjs +162 -0
  14. package/dist/lib/browser/chunk-62E2AEXF.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-67KDIIM6.mjs +15 -0
  16. package/dist/lib/browser/chunk-67KDIIM6.mjs.map +7 -0
  17. package/dist/lib/browser/chunk-BQ4WHY4D.mjs +1818 -0
  18. package/dist/lib/browser/chunk-BQ4WHY4D.mjs.map +7 -0
  19. package/dist/lib/browser/{chunk-HKX3D3ZP.mjs → chunk-HZSTXZWK.mjs} +4 -2
  20. package/dist/lib/browser/chunk-HZSTXZWK.mjs.map +7 -0
  21. package/dist/lib/{node-esm/AutomationPanel-R3D6CRF5.mjs → browser/chunk-LJ7F4KDM.mjs} +31 -21
  22. package/dist/lib/browser/chunk-LJ7F4KDM.mjs.map +7 -0
  23. package/dist/lib/browser/chunk-QH5E22EL.mjs +108 -0
  24. package/dist/lib/browser/chunk-QH5E22EL.mjs.map +7 -0
  25. package/dist/lib/browser/chunk-XAIWETH6.mjs +81 -0
  26. package/dist/lib/browser/chunk-XAIWETH6.mjs.map +7 -0
  27. package/dist/lib/browser/index.mjs +163 -273
  28. package/dist/lib/browser/index.mjs.map +4 -4
  29. package/dist/lib/browser/intent-resolver-ICLE6FSI.mjs +44 -0
  30. package/dist/lib/browser/intent-resolver-ICLE6FSI.mjs.map +7 -0
  31. package/dist/lib/browser/meta.json +1 -1
  32. package/dist/lib/browser/react-surface-KEKVLCPQ.mjs +80 -0
  33. package/dist/lib/browser/react-surface-KEKVLCPQ.mjs.map +7 -0
  34. package/dist/lib/browser/settings-FE5DDWOE.mjs +22 -0
  35. package/dist/lib/browser/settings-FE5DDWOE.mjs.map +7 -0
  36. package/dist/lib/browser/types/index.mjs +20 -9
  37. package/dist/lib/node/AssistantDialog-E62O72KI.cjs +140 -0
  38. package/dist/lib/node/AssistantDialog-E62O72KI.cjs.map +7 -0
  39. package/dist/lib/node/AutomationPanel-6COLKRIB.cjs +26 -0
  40. package/dist/lib/node/AutomationPanel-6COLKRIB.cjs.map +7 -0
  41. package/dist/lib/node/{react-surface-DVAU4MGD.cjs → ChatContainer-4QTLL7TH.cjs} +30 -26
  42. package/dist/lib/node/ChatContainer-4QTLL7TH.cjs.map +7 -0
  43. package/dist/lib/node/{chunk-25AQIF3L.cjs → TemplateContainer-3YCM6XPU.cjs} +21 -11
  44. package/dist/lib/node/TemplateContainer-3YCM6XPU.cjs.map +7 -0
  45. package/dist/lib/node/ai-client-L5GUSAER.cjs +38 -0
  46. package/dist/lib/node/ai-client-L5GUSAER.cjs.map +7 -0
  47. package/dist/lib/node/app-graph-builder-ECNVGTRT.cjs +122 -0
  48. package/dist/lib/node/app-graph-builder-ECNVGTRT.cjs.map +7 -0
  49. package/dist/lib/node/chunk-3QSK6IPK.cjs +133 -0
  50. package/dist/lib/node/chunk-3QSK6IPK.cjs.map +7 -0
  51. package/dist/lib/node/chunk-76F5BCJE.cjs +111 -0
  52. package/dist/lib/node/chunk-76F5BCJE.cjs.map +7 -0
  53. package/dist/lib/node/chunk-B37JIAOP.cjs +1795 -0
  54. package/dist/lib/node/chunk-B37JIAOP.cjs.map +7 -0
  55. package/dist/lib/node/{chunk-5VF5JKUN.cjs → chunk-BAQRBGOJ.cjs} +8 -5
  56. package/dist/lib/node/chunk-BAQRBGOJ.cjs.map +7 -0
  57. package/dist/lib/node/chunk-UVWK2XJE.cjs +183 -0
  58. package/dist/lib/node/chunk-UVWK2XJE.cjs.map +7 -0
  59. package/dist/lib/node/{AutomationPanel-PPODB5XA.cjs → chunk-V4L7LTWM.cjs} +39 -24
  60. package/dist/lib/node/chunk-V4L7LTWM.cjs.map +7 -0
  61. package/dist/lib/node/chunk-VNBYGJ4K.cjs +34 -0
  62. package/dist/lib/node/chunk-VNBYGJ4K.cjs.map +7 -0
  63. package/dist/lib/node/index.cjs +166 -292
  64. package/dist/lib/node/index.cjs.map +4 -4
  65. package/dist/lib/node/intent-resolver-4MQZULXW.cjs +58 -0
  66. package/dist/lib/node/intent-resolver-4MQZULXW.cjs.map +7 -0
  67. package/dist/lib/node/meta.json +1 -1
  68. package/dist/lib/node/react-surface-4RVHY6WI.cjs +95 -0
  69. package/dist/lib/node/react-surface-4RVHY6WI.cjs.map +7 -0
  70. package/dist/lib/node/settings-GOIB2WJQ.cjs +36 -0
  71. package/dist/lib/node/settings-GOIB2WJQ.cjs.map +7 -0
  72. package/dist/lib/node/types/index.cjs +20 -9
  73. package/dist/lib/node/types/index.cjs.map +2 -2
  74. package/dist/lib/node-esm/AssistantDialog-IPRBJKWA.mjs +117 -0
  75. package/dist/lib/node-esm/AssistantDialog-IPRBJKWA.mjs.map +7 -0
  76. package/dist/lib/node-esm/AutomationPanel-3MPIAO7R.mjs +9 -0
  77. package/dist/lib/node-esm/AutomationPanel-3MPIAO7R.mjs.map +7 -0
  78. package/dist/lib/node-esm/ChatContainer-4IWUGMGM.mjs +34 -0
  79. package/dist/lib/node-esm/ChatContainer-4IWUGMGM.mjs.map +7 -0
  80. package/dist/lib/node-esm/TemplateContainer-YJIXR24Z.mjs +24 -0
  81. package/dist/lib/node-esm/TemplateContainer-YJIXR24Z.mjs.map +7 -0
  82. package/dist/lib/node-esm/ai-client-45LZLW7V.mjs +23 -0
  83. package/dist/lib/node-esm/ai-client-45LZLW7V.mjs.map +7 -0
  84. package/dist/lib/node-esm/app-graph-builder-HMRKSZ2X.mjs +111 -0
  85. package/dist/lib/node-esm/app-graph-builder-HMRKSZ2X.mjs.map +7 -0
  86. package/dist/lib/node-esm/chunk-5BKKHYO5.mjs +163 -0
  87. package/dist/lib/node-esm/chunk-5BKKHYO5.mjs.map +7 -0
  88. package/dist/lib/{browser/AutomationPanel-IHZ4JKVS.mjs → node-esm/chunk-AWAU4BHR.mjs} +32 -20
  89. package/dist/lib/node-esm/chunk-AWAU4BHR.mjs.map +7 -0
  90. package/dist/lib/node-esm/chunk-CAWPHOY4.mjs +82 -0
  91. package/dist/lib/node-esm/chunk-CAWPHOY4.mjs.map +7 -0
  92. package/dist/lib/node-esm/chunk-I32H7MCF.mjs +109 -0
  93. package/dist/lib/node-esm/chunk-I32H7MCF.mjs.map +7 -0
  94. package/dist/lib/node-esm/{chunk-X3LPRWIL.mjs → chunk-IG4GSWZN.mjs} +4 -2
  95. package/dist/lib/node-esm/chunk-IG4GSWZN.mjs.map +7 -0
  96. package/dist/lib/node-esm/chunk-QHKP5HT2.mjs +1819 -0
  97. package/dist/lib/node-esm/chunk-QHKP5HT2.mjs.map +7 -0
  98. package/dist/lib/node-esm/chunk-SS7U6GCX.mjs +16 -0
  99. package/dist/lib/node-esm/chunk-SS7U6GCX.mjs.map +7 -0
  100. package/dist/lib/node-esm/index.mjs +163 -273
  101. package/dist/lib/node-esm/index.mjs.map +4 -4
  102. package/dist/lib/node-esm/intent-resolver-ZS7XTYLG.mjs +45 -0
  103. package/dist/lib/node-esm/intent-resolver-ZS7XTYLG.mjs.map +7 -0
  104. package/dist/lib/node-esm/meta.json +1 -1
  105. package/dist/lib/node-esm/react-surface-5ILD642V.mjs +81 -0
  106. package/dist/lib/node-esm/react-surface-5ILD642V.mjs.map +7 -0
  107. package/dist/lib/node-esm/settings-ANNQPPRY.mjs +23 -0
  108. package/dist/lib/node-esm/settings-ANNQPPRY.mjs.map +7 -0
  109. package/dist/lib/node-esm/types/index.mjs +20 -9
  110. package/dist/types/src/AutomationPlugin.d.ts.map +1 -1
  111. package/dist/types/src/capabilities/ai-client.d.ts +5 -0
  112. package/dist/types/src/capabilities/ai-client.d.ts.map +1 -0
  113. package/dist/types/src/capabilities/app-graph-builder.d.ts +111 -110
  114. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  115. package/dist/types/src/capabilities/capabilities.d.ts +5 -0
  116. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -0
  117. package/dist/types/src/capabilities/index.d.ts +117 -113
  118. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  119. package/dist/types/src/capabilities/intent-resolver.d.ts +4 -0
  120. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -0
  121. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  122. package/dist/types/src/capabilities/settings.d.ts +4 -0
  123. package/dist/types/src/capabilities/settings.d.ts.map +1 -0
  124. package/dist/types/src/components/AmbientDialog/AmbientDialog.d.ts +7 -0
  125. package/dist/types/src/components/AmbientDialog/AmbientDialog.d.ts.map +1 -0
  126. package/dist/types/src/components/AmbientDialog/AmbientDialog.stories.d.ts +8 -0
  127. package/dist/types/src/components/AmbientDialog/AmbientDialog.stories.d.ts.map +1 -0
  128. package/dist/types/src/components/AmbientDialog/index.d.ts +2 -0
  129. package/dist/types/src/components/AmbientDialog/index.d.ts.map +1 -0
  130. package/dist/types/src/components/AssistantDialog.d.ts +7 -0
  131. package/dist/types/src/components/AssistantDialog.d.ts.map +1 -0
  132. package/dist/types/src/components/AutomationPanel/AutomationPanel.d.ts +1 -2
  133. package/dist/types/src/components/AutomationPanel/AutomationPanel.d.ts.map +1 -1
  134. package/dist/types/src/components/AutomationSettings/AutomationSettings.d.ts +5 -0
  135. package/dist/types/src/components/AutomationSettings/AutomationSettings.d.ts.map +1 -0
  136. package/dist/types/src/components/AutomationSettings/index.d.ts +2 -0
  137. package/dist/types/src/components/AutomationSettings/index.d.ts.map +1 -0
  138. package/dist/types/src/components/ChatContainer.d.ts +7 -0
  139. package/dist/types/src/components/ChatContainer.d.ts.map +1 -0
  140. package/dist/types/src/components/Prompt/Prompt.d.ts +17 -0
  141. package/dist/types/src/components/Prompt/Prompt.d.ts.map +1 -0
  142. package/dist/types/src/components/Prompt/Prompt.stories.d.ts +9 -0
  143. package/dist/types/src/components/Prompt/Prompt.stories.d.ts.map +1 -0
  144. package/dist/types/src/components/Prompt/PromptBar.d.ts +10 -0
  145. package/dist/types/src/components/Prompt/PromptBar.d.ts.map +1 -0
  146. package/dist/types/src/components/Prompt/autocomplete.d.ts +21 -0
  147. package/dist/types/src/components/Prompt/autocomplete.d.ts.map +1 -0
  148. package/dist/types/src/components/Prompt/index.d.ts +3 -0
  149. package/dist/types/src/components/Prompt/index.d.ts.map +1 -0
  150. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.d.ts +5 -0
  151. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.d.ts.map +1 -0
  152. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.stories.d.ts +8 -0
  153. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.stories.d.ts.map +1 -0
  154. package/dist/types/src/components/ServiceRegistry/index.d.ts +2 -0
  155. package/dist/types/src/components/ServiceRegistry/index.d.ts.map +1 -0
  156. package/dist/types/src/components/TemplateContainer.d.ts +7 -0
  157. package/dist/types/src/components/TemplateContainer.d.ts.map +1 -0
  158. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts +12 -0
  159. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +1 -0
  160. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts +8 -0
  161. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts.map +1 -0
  162. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +10 -0
  163. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +1 -0
  164. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts +8 -0
  165. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts.map +1 -0
  166. package/dist/types/src/components/TemplateEditor/index.d.ts +2 -0
  167. package/dist/types/src/components/TemplateEditor/index.d.ts.map +1 -0
  168. package/dist/types/src/components/TemplateEditor/types.d.ts.map +1 -0
  169. package/dist/types/src/components/Thread/Thread.d.ts +17 -0
  170. package/dist/types/src/components/Thread/Thread.d.ts.map +1 -0
  171. package/dist/types/src/components/Thread/Thread.stories.d.ts +11 -0
  172. package/dist/types/src/components/Thread/Thread.stories.d.ts.map +1 -0
  173. package/dist/types/src/components/Thread/ThreadContainer.d.ts +10 -0
  174. package/dist/types/src/components/Thread/ThreadContainer.d.ts.map +1 -0
  175. package/dist/types/src/components/Thread/ThreadContainer.stories.d.ts +15 -0
  176. package/dist/types/src/components/Thread/ThreadContainer.stories.d.ts.map +1 -0
  177. package/dist/types/src/components/Thread/ThreadMessage.d.ts +13 -0
  178. package/dist/types/src/components/Thread/ThreadMessage.d.ts.map +1 -0
  179. package/dist/types/src/components/Thread/ToolInvocations.d.ts +13 -0
  180. package/dist/types/src/components/Thread/ToolInvocations.d.ts.map +1 -0
  181. package/dist/types/src/components/Thread/index.d.ts +3 -0
  182. package/dist/types/src/components/Thread/index.d.ts.map +1 -0
  183. package/dist/types/src/components/Thread/reducer.d.ts +12 -0
  184. package/dist/types/src/components/Thread/reducer.d.ts.map +1 -0
  185. package/dist/types/src/components/Toolbox/Toolbox.d.ts +19 -0
  186. package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -0
  187. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts +8 -0
  188. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts.map +1 -0
  189. package/dist/types/src/components/Toolbox/index.d.ts +2 -0
  190. package/dist/types/src/components/Toolbox/index.d.ts.map +1 -0
  191. package/dist/types/src/components/TriggerEditor/TriggerEditor.d.ts +1 -2
  192. package/dist/types/src/components/TriggerEditor/TriggerEditor.d.ts.map +1 -1
  193. package/dist/types/src/components/index.d.ts +19 -2
  194. package/dist/types/src/components/index.d.ts.map +1 -1
  195. package/dist/types/src/hooks/index.d.ts +5 -0
  196. package/dist/types/src/hooks/index.d.ts.map +1 -1
  197. package/dist/types/src/hooks/processor.d.ts +75 -0
  198. package/dist/types/src/hooks/processor.d.ts.map +1 -0
  199. package/dist/types/src/hooks/processor.test.d.ts +2 -0
  200. package/dist/types/src/hooks/processor.test.d.ts.map +1 -0
  201. package/dist/types/src/hooks/useChatProcessor.d.ts +8 -0
  202. package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -0
  203. package/dist/types/src/hooks/useMessageQueue.d.ts +41 -0
  204. package/dist/types/src/hooks/useMessageQueue.d.ts.map +1 -0
  205. package/dist/types/src/hooks/useServices.d.ts +7 -0
  206. package/dist/types/src/hooks/useServices.d.ts.map +1 -0
  207. package/dist/types/src/hooks/useTextInputEvents.d.ts +13 -0
  208. package/dist/types/src/hooks/useTextInputEvents.d.ts.map +1 -0
  209. package/dist/types/src/index.d.ts +1 -2
  210. package/dist/types/src/index.d.ts.map +1 -1
  211. package/dist/types/src/meta.d.ts +1 -0
  212. package/dist/types/src/meta.d.ts.map +1 -1
  213. package/dist/types/src/testing/index.d.ts +2 -1
  214. package/dist/types/src/testing/index.d.ts.map +1 -1
  215. package/dist/types/src/testing/{testing.d.ts → test-functions.d.ts} +3 -1
  216. package/dist/types/src/testing/test-functions.d.ts.map +1 -0
  217. package/dist/types/src/testing/test-services.d.ts +5 -0
  218. package/dist/types/src/testing/test-services.d.ts.map +1 -0
  219. package/dist/types/src/tools/function.d.ts +5 -0
  220. package/dist/types/src/tools/function.d.ts.map +1 -0
  221. package/dist/types/src/tools/index.d.ts +3 -0
  222. package/dist/types/src/tools/index.d.ts.map +1 -0
  223. package/dist/types/src/tools/openapi.d.ts +10 -0
  224. package/dist/types/src/tools/openapi.d.ts.map +1 -0
  225. package/dist/types/src/tools/openapi.test.d.ts +2 -0
  226. package/dist/types/src/tools/openapi.test.d.ts.map +1 -0
  227. package/dist/types/src/translations.d.ts +110 -2
  228. package/dist/types/src/translations.d.ts.map +1 -1
  229. package/dist/types/src/types/chat.d.ts +12 -0
  230. package/dist/types/src/types/chat.d.ts.map +1 -0
  231. package/dist/types/src/types/index.d.ts +4 -1
  232. package/dist/types/src/types/index.d.ts.map +1 -1
  233. package/dist/types/src/types/service.d.ts +160 -0
  234. package/dist/types/src/types/service.d.ts.map +1 -0
  235. package/dist/types/src/types/template.d.ts +40 -0
  236. package/dist/types/src/types/template.d.ts.map +1 -0
  237. package/dist/types/src/types/types.d.ts +37 -0
  238. package/dist/types/src/types/types.d.ts.map +1 -0
  239. package/package.json +62 -40
  240. package/src/AutomationPlugin.tsx +68 -21
  241. package/src/capabilities/ai-client.ts +19 -0
  242. package/src/capabilities/app-graph-builder.ts +82 -110
  243. package/src/capabilities/capabilities.ts +12 -0
  244. package/src/capabilities/index.ts +5 -0
  245. package/src/capabilities/intent-resolver.ts +38 -0
  246. package/src/capabilities/react-surface.tsx +42 -6
  247. package/src/capabilities/settings.ts +19 -0
  248. package/src/components/AmbientDialog/AmbientDialog.stories.tsx +81 -0
  249. package/src/components/AmbientDialog/AmbientDialog.tsx +103 -0
  250. package/src/components/AmbientDialog/index.ts +5 -0
  251. package/src/components/AssistantDialog.tsx +33 -0
  252. package/src/components/AutomationPanel/AutomationPanel.stories.tsx +2 -2
  253. package/src/components/AutomationSettings/AutomationSettings.tsx +49 -0
  254. package/src/components/AutomationSettings/index.ts +5 -0
  255. package/src/components/ChatContainer.tsx +29 -0
  256. package/src/components/Prompt/Prompt.stories.tsx +79 -0
  257. package/src/components/Prompt/Prompt.tsx +100 -0
  258. package/src/components/Prompt/PromptBar.tsx +100 -0
  259. package/src/components/Prompt/autocomplete.ts +212 -0
  260. package/src/components/Prompt/index.ts +6 -0
  261. package/src/components/ServiceRegistry/ServiceRegistry.stories.tsx +49 -0
  262. package/src/components/ServiceRegistry/ServiceRegistry.tsx +76 -0
  263. package/src/components/ServiceRegistry/index.ts +5 -0
  264. package/src/components/TemplateContainer.tsx +21 -0
  265. package/src/components/TemplateEditor/TemplateEditor.stories.tsx +72 -0
  266. package/src/components/TemplateEditor/TemplateEditor.tsx +76 -0
  267. package/src/components/TemplateEditor/TemplateForm.stories.tsx +65 -0
  268. package/src/components/TemplateEditor/TemplateForm.tsx +184 -0
  269. package/src/components/{PromptEditor → TemplateEditor}/index.ts +1 -1
  270. package/src/components/Thread/Thread.stories.tsx +212 -0
  271. package/src/components/Thread/Thread.tsx +97 -0
  272. package/src/components/Thread/ThreadContainer.stories.tsx +258 -0
  273. package/src/components/Thread/ThreadContainer.tsx +78 -0
  274. package/src/components/Thread/ThreadMessage.tsx +187 -0
  275. package/src/components/Thread/ToolInvocations.tsx +93 -0
  276. package/src/components/Thread/index.ts +6 -0
  277. package/src/components/Thread/reducer.ts +52 -0
  278. package/src/components/Toolbox/Toolbox.stories.tsx +65 -0
  279. package/src/components/Toolbox/Toolbox.tsx +117 -0
  280. package/src/components/Toolbox/index.ts +5 -0
  281. package/src/components/TriggerEditor/TriggerEditor.stories.tsx +2 -2
  282. package/src/components/TriggerEditor/TriggerEditor.tsx +25 -18
  283. package/src/components/index.ts +11 -1
  284. package/src/hooks/index.ts +6 -0
  285. package/src/hooks/processor.test.ts +15 -0
  286. package/src/hooks/processor.ts +219 -0
  287. package/src/hooks/useChatProcessor.tsx +77 -0
  288. package/src/hooks/useMessageQueue.ts +23 -0
  289. package/src/hooks/useServices.ts +28 -0
  290. package/src/hooks/useTextInputEvents.ts +49 -0
  291. package/src/index.ts +2 -2
  292. package/src/meta.ts +4 -1
  293. package/src/testing/index.ts +2 -1
  294. package/src/testing/{testing.ts → test-functions.ts} +9 -2
  295. package/src/testing/test-services.ts +131 -0
  296. package/src/tools/function.ts +47 -0
  297. package/src/tools/index.ts +6 -0
  298. package/src/tools/openapi.test.ts +224 -0
  299. package/src/tools/openapi.ts +331 -0
  300. package/src/translations.ts +27 -2
  301. package/src/types/chat.ts +11 -0
  302. package/src/types/index.ts +4 -1
  303. package/src/types/service.ts +102 -0
  304. package/src/types/template.ts +34 -0
  305. package/src/types/types.ts +41 -0
  306. package/src/typings.d.ts +9 -0
  307. package/dist/lib/browser/AssistantPanel-N276BTPV.mjs +0 -339
  308. package/dist/lib/browser/AssistantPanel-N276BTPV.mjs.map +0 -7
  309. package/dist/lib/browser/AutomationPanel-IHZ4JKVS.mjs.map +0 -7
  310. package/dist/lib/browser/app-graph-builder-IJTTULDP.mjs +0 -131
  311. package/dist/lib/browser/app-graph-builder-IJTTULDP.mjs.map +0 -7
  312. package/dist/lib/browser/chunk-4AIMDHKY.mjs +0 -10
  313. package/dist/lib/browser/chunk-4AIMDHKY.mjs.map +0 -7
  314. package/dist/lib/browser/chunk-DL6LB2NI.mjs +0 -43
  315. package/dist/lib/browser/chunk-DL6LB2NI.mjs.map +0 -7
  316. package/dist/lib/browser/chunk-HKX3D3ZP.mjs.map +0 -7
  317. package/dist/lib/browser/react-surface-LL72F3F4.mjs +0 -34
  318. package/dist/lib/browser/react-surface-LL72F3F4.mjs.map +0 -7
  319. package/dist/lib/node/AssistantPanel-Z4GVHUF3.cjs +0 -359
  320. package/dist/lib/node/AssistantPanel-Z4GVHUF3.cjs.map +0 -7
  321. package/dist/lib/node/AutomationPanel-PPODB5XA.cjs.map +0 -7
  322. package/dist/lib/node/app-graph-builder-MF5M4QRS.cjs +0 -147
  323. package/dist/lib/node/app-graph-builder-MF5M4QRS.cjs.map +0 -7
  324. package/dist/lib/node/chunk-25AQIF3L.cjs.map +0 -7
  325. package/dist/lib/node/chunk-5VF5JKUN.cjs.map +0 -7
  326. package/dist/lib/node/chunk-JNDMZQH7.cjs +0 -68
  327. package/dist/lib/node/chunk-JNDMZQH7.cjs.map +0 -7
  328. package/dist/lib/node/react-surface-DVAU4MGD.cjs.map +0 -7
  329. package/dist/lib/node-esm/AssistantPanel-DDCQHBJX.mjs +0 -340
  330. package/dist/lib/node-esm/AssistantPanel-DDCQHBJX.mjs.map +0 -7
  331. package/dist/lib/node-esm/AutomationPanel-R3D6CRF5.mjs.map +0 -7
  332. package/dist/lib/node-esm/app-graph-builder-5N7OK23B.mjs +0 -132
  333. package/dist/lib/node-esm/app-graph-builder-5N7OK23B.mjs.map +0 -7
  334. package/dist/lib/node-esm/chunk-GIAYUM5I.mjs +0 -45
  335. package/dist/lib/node-esm/chunk-GIAYUM5I.mjs.map +0 -7
  336. package/dist/lib/node-esm/chunk-X3LPRWIL.mjs.map +0 -7
  337. package/dist/lib/node-esm/chunk-XW7TEQA3.mjs +0 -12
  338. package/dist/lib/node-esm/chunk-XW7TEQA3.mjs.map +0 -7
  339. package/dist/lib/node-esm/react-surface-4BED2PZ4.mjs +0 -35
  340. package/dist/lib/node-esm/react-surface-4BED2PZ4.mjs.map +0 -7
  341. package/dist/types/src/components/AssistantPanel/AssistantPanel.d.ts +0 -8
  342. package/dist/types/src/components/AssistantPanel/AssistantPanel.d.ts.map +0 -1
  343. package/dist/types/src/components/AssistantPanel/index.d.ts +0 -3
  344. package/dist/types/src/components/AssistantPanel/index.d.ts.map +0 -1
  345. package/dist/types/src/components/AssistantPanel/system-instructions.d.ts +0 -6
  346. package/dist/types/src/components/AssistantPanel/system-instructions.d.ts.map +0 -1
  347. package/dist/types/src/components/PromptEditor/PromptEditor.d.ts +0 -10
  348. package/dist/types/src/components/PromptEditor/PromptEditor.d.ts.map +0 -1
  349. package/dist/types/src/components/PromptEditor/PromptEditor.stories.d.ts +0 -6
  350. package/dist/types/src/components/PromptEditor/PromptEditor.stories.d.ts.map +0 -1
  351. package/dist/types/src/components/PromptEditor/index.d.ts +0 -2
  352. package/dist/types/src/components/PromptEditor/index.d.ts.map +0 -1
  353. package/dist/types/src/components/PromptEditor/prompt-extension.d.ts +0 -4
  354. package/dist/types/src/components/PromptEditor/prompt-extension.d.ts.map +0 -1
  355. package/dist/types/src/components/PromptEditor/types.d.ts.map +0 -1
  356. package/dist/types/src/presets.d.ts +0 -9
  357. package/dist/types/src/presets.d.ts.map +0 -1
  358. package/dist/types/src/testing/testing.d.ts.map +0 -1
  359. package/dist/types/src/types/schema.d.ts +0 -63
  360. package/dist/types/src/types/schema.d.ts.map +0 -1
  361. package/src/components/AssistantPanel/AssistantPanel.tsx +0 -230
  362. package/src/components/AssistantPanel/index.ts +0 -7
  363. package/src/components/AssistantPanel/system-instructions.ts +0 -166
  364. package/src/components/PromptEditor/PromptEditor.stories.tsx +0 -64
  365. package/src/components/PromptEditor/PromptEditor.tsx +0 -222
  366. package/src/components/PromptEditor/prompt-extension.ts +0 -43
  367. package/src/presets.ts +0 -248
  368. package/src/types/schema.ts +0 -38
  369. /package/dist/types/src/components/{PromptEditor → TemplateEditor}/types.d.ts +0 -0
  370. /package/src/components/{PromptEditor → TemplateEditor}/types.tsx +0 -0
@@ -0,0 +1,108 @@
1
+ import {
2
+ useServices
3
+ } from "./chunk-BQ4WHY4D.mjs";
4
+ import {
5
+ ServiceType,
6
+ categoryIcons
7
+ } from "./chunk-62E2AEXF.mjs";
8
+ import {
9
+ AUTOMATION_PLUGIN
10
+ } from "./chunk-HZSTXZWK.mjs";
11
+
12
+ // packages/plugins/experimental/plugin-automation/src/components/AutomationSettings/AutomationSettings.tsx
13
+ import React from "react";
14
+ import { DEFAULT_LLM_MODELS } from "@dxos/assistant";
15
+ import { Input, Select, useTranslation } from "@dxos/react-ui";
16
+ import { DeprecatedFormContainer, DeprecatedFormInput } from "@dxos/react-ui-form";
17
+ var AutomationSettings = ({ settings }) => {
18
+ const { t } = useTranslation(AUTOMATION_PLUGIN);
19
+ return /* @__PURE__ */ React.createElement(DeprecatedFormContainer, null, /* @__PURE__ */ React.createElement(DeprecatedFormInput, {
20
+ label: t("settings custom prompts label")
21
+ }, /* @__PURE__ */ React.createElement(Input.Switch, {
22
+ checked: !!settings.customPrompts,
23
+ onCheckedChange: (checked) => settings.customPrompts = checked
24
+ })), /* @__PURE__ */ React.createElement(DeprecatedFormInput, {
25
+ label: t("settings llm model label")
26
+ }, /* @__PURE__ */ React.createElement(Select.Root, {
27
+ value: settings.llmModel ?? "default",
28
+ onValueChange: (value) => {
29
+ settings.llmModel = value;
30
+ }
31
+ }, /* @__PURE__ */ React.createElement(Select.TriggerButton, {
32
+ placeholder: t("settings default llm model label")
33
+ }), /* @__PURE__ */ React.createElement(Select.Portal, null, /* @__PURE__ */ React.createElement(Select.Content, null, /* @__PURE__ */ React.createElement(Select.Viewport, null, DEFAULT_LLM_MODELS.map((model) => /* @__PURE__ */ React.createElement(Select.Option, {
34
+ key: model,
35
+ value: model
36
+ }, model))))))));
37
+ };
38
+
39
+ // packages/plugins/experimental/plugin-automation/src/components/ServiceRegistry/ServiceRegistry.tsx
40
+ import React2, { useMemo } from "react";
41
+ import { Filter } from "@dxos/client/echo";
42
+ import { useQuery } from "@dxos/react-client/echo";
43
+ import { Icon, Input as Input2, List, ListItem } from "@dxos/react-ui";
44
+ var ServiceRegistry = ({ space }) => {
45
+ const matchingServices = useServices(space);
46
+ const enabledServices = useQuery(space, Filter.schema(ServiceType));
47
+ const services = useMemo(() => {
48
+ return matchingServices.map((service) => enabledServices.find((s) => s.serviceId === service.serviceId) ?? service);
49
+ }, [
50
+ matchingServices,
51
+ enabledServices
52
+ ]);
53
+ const handleSetEnabled = (service, enabled) => {
54
+ if (enabled) {
55
+ space.db.add(service);
56
+ } else {
57
+ space.db.remove(service);
58
+ }
59
+ };
60
+ return /* @__PURE__ */ React2.createElement(List, {
61
+ classNames: "h-full grid auto-rows-[5rem] gap-2 p-2 pis-2 pie-2 overflow-y-auto scrollbar-thin"
62
+ }, services.map((service) => /* @__PURE__ */ React2.createElement(ServiceItem, {
63
+ key: service.serviceId,
64
+ service,
65
+ enabled: service.enabled,
66
+ setEnabled: (enabled) => handleSetEnabled(service, enabled)
67
+ })));
68
+ };
69
+ var ServiceItem = ({ service, enabled, setEnabled }) => {
70
+ return /* @__PURE__ */ React2.createElement(ListItem.Root, {
71
+ classNames: "flex flex-col gap-1 p-1 overflow-hidden rounded-md border border-separator"
72
+ }, /* @__PURE__ */ React2.createElement("div", {
73
+ className: "grid grid-cols-[40px_1fr_40px]"
74
+ }, /* @__PURE__ */ React2.createElement("div", {
75
+ className: "flex gow justify-center items-center"
76
+ }, /* @__PURE__ */ React2.createElement(Icon, {
77
+ icon: categoryIcons[service.category ?? "default"] ?? "ph--placeholder--regular",
78
+ size: 6
79
+ })), /* @__PURE__ */ React2.createElement("div", {
80
+ className: "grow items-center truncate mie-2"
81
+ }, service.name), /* @__PURE__ */ React2.createElement("div", {
82
+ className: "flex gow justify-center items-center"
83
+ }, /* @__PURE__ */ React2.createElement(Input2.Root, null, /* @__PURE__ */ React2.createElement(Input2.Switch, {
84
+ checked: enabled,
85
+ onClick: () => setEnabled?.(!enabled)
86
+ })))), /* @__PURE__ */ React2.createElement("div", {
87
+ className: "grid grid-cols-[40px_1fr]"
88
+ }, /* @__PURE__ */ React2.createElement("div", null), /* @__PURE__ */ React2.createElement("div", {
89
+ className: "text-sm text-subdued line-clamp-2 mie-1"
90
+ }, service.description)));
91
+ };
92
+
93
+ // packages/plugins/experimental/plugin-automation/src/components/index.ts
94
+ import { lazy } from "react";
95
+ var AssistantDialog = lazy(() => import("./AssistantDialog-V67OWLRP.mjs"));
96
+ var AutomationPanel = lazy(() => import("./AutomationPanel-NCKK3CFN.mjs"));
97
+ var ChatContainer = lazy(() => import("./ChatContainer-5BS6THNV.mjs"));
98
+ var TemplateContainer = lazy(() => import("./TemplateContainer-HJJV44CE.mjs"));
99
+
100
+ export {
101
+ AutomationSettings,
102
+ ServiceRegistry,
103
+ AssistantDialog,
104
+ AutomationPanel,
105
+ ChatContainer,
106
+ TemplateContainer
107
+ };
108
+ //# sourceMappingURL=chunk-QH5E22EL.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/AutomationSettings/AutomationSettings.tsx", "../../../src/components/ServiceRegistry/ServiceRegistry.tsx", "../../../src/components/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { DEFAULT_LLM_MODELS } from '@dxos/assistant';\nimport { Input, Select, useTranslation } from '@dxos/react-ui';\nimport { DeprecatedFormContainer, DeprecatedFormInput } from '@dxos/react-ui-form';\n\nimport { AUTOMATION_PLUGIN } from '../../meta';\nimport { type AutomationSettingsProps } from '../../types';\n\nexport const AutomationSettings = ({ settings }: { settings: AutomationSettingsProps }) => {\n const { t } = useTranslation(AUTOMATION_PLUGIN);\n\n return (\n <DeprecatedFormContainer>\n <DeprecatedFormInput label={t('settings custom prompts label')}>\n <Input.Switch\n checked={!!settings.customPrompts}\n onCheckedChange={(checked) => (settings.customPrompts = checked)}\n />\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('settings llm model label')}>\n <Select.Root\n value={settings.llmModel ?? 'default'}\n onValueChange={(value) => {\n settings.llmModel = value;\n }}\n >\n <Select.TriggerButton placeholder={t('settings default llm model label')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n {DEFAULT_LLM_MODELS.map((model) => (\n <Select.Option key={model} value={model}>\n {model}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </DeprecatedFormInput>\n </DeprecatedFormContainer>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useMemo } from 'react';\n\nimport { Filter, type Space } from '@dxos/client/echo';\nimport { useQuery } from '@dxos/react-client/echo';\nimport { Icon, Input, List, ListItem } from '@dxos/react-ui';\n\nimport { useServices } from '../../hooks';\nimport { categoryIcons, ServiceType } from '../../types';\n\n// TODO(burdon): Option to show all/enabled/filter.\nexport const ServiceRegistry = ({ space }: { space: Space }) => {\n const matchingServices = useServices(space);\n const enabledServices = useQuery(space, Filter.schema(ServiceType));\n\n // Join matching services with enabled services.\n const services = useMemo(() => {\n return matchingServices.map((service) => enabledServices.find((s) => s.serviceId === service.serviceId) ?? service);\n }, [matchingServices, enabledServices]);\n\n // TODO(burdon): Reaplce with SpacePlugin intent.\n const handleSetEnabled = (service: ServiceType, enabled: boolean) => {\n if (enabled) {\n space.db.add(service);\n } else {\n // TODO(burdon): Remove or disable?\n space.db.remove(service);\n }\n };\n\n return (\n <List classNames='h-full grid auto-rows-[5rem] gap-2 p-2 pis-2 pie-2 overflow-y-auto scrollbar-thin'>\n {services.map((service) => (\n <ServiceItem\n key={service.serviceId}\n service={service}\n enabled={service.enabled}\n setEnabled={(enabled) => handleSetEnabled(service, enabled)}\n />\n ))}\n </List>\n );\n};\n\nconst ServiceItem = ({\n service,\n enabled,\n setEnabled,\n}: {\n service: ServiceType;\n enabled?: boolean;\n setEnabled?: (enabled: boolean) => void;\n}) => {\n return (\n <ListItem.Root classNames='flex flex-col gap-1 p-1 overflow-hidden rounded-md border border-separator'>\n <div className='grid grid-cols-[40px_1fr_40px]'>\n <div className='flex gow justify-center items-center'>\n <Icon icon={categoryIcons[service.category ?? 'default'] ?? 'ph--placeholder--regular'} size={6} />\n </div>\n <div className='grow items-center truncate mie-2'>{service.name}</div>\n <div className='flex gow justify-center items-center'>\n <Input.Root>\n <Input.Switch checked={enabled} onClick={() => setEnabled?.(!enabled)} />\n </Input.Root>\n </div>\n </div>\n <div className='grid grid-cols-[40px_1fr]'>\n <div />\n <div className='text-sm text-subdued line-clamp-2 mie-1'>{service.description}</div>\n </div>\n </ListItem.Root>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport * from './AutomationPanel';\nexport * from './AutomationSettings';\nexport * from './ServiceRegistry';\nexport * from './TemplateEditor';\nexport * from './Thread';\nexport * from './TriggerEditor';\nexport * from './Toolbox';\n\nexport const AssistantDialog = lazy(() => import('./AssistantDialog'));\nexport const AutomationPanel = lazy(() => import('./AutomationPanel'));\nexport const ChatContainer = lazy(() => import('./ChatContainer'));\nexport const TemplateContainer = lazy(() => import('./TemplateContainer'));\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "DEFAULT_LLM_MODELS", "Input", "Select", "useTranslation", "DeprecatedFormContainer", "DeprecatedFormInput", "AutomationSettings", "settings", "t", "useTranslation", "AUTOMATION_PLUGIN", "DeprecatedFormContainer", "DeprecatedFormInput", "label", "Input", "Switch", "checked", "customPrompts", "onCheckedChange", "Select", "Root", "value", "llmModel", "onValueChange", "TriggerButton", "placeholder", "Portal", "Content", "Viewport", "DEFAULT_LLM_MODELS", "map", "model", "Option", "key", "React", "useMemo", "Filter", "useQuery", "Icon", "Input", "List", "ListItem", "ServiceRegistry", "space", "matchingServices", "useServices", "enabledServices", "useQuery", "Filter", "schema", "ServiceType", "services", "useMemo", "map", "service", "find", "s", "serviceId", "handleSetEnabled", "enabled", "db", "add", "remove", "React", "List", "classNames", "ServiceItem", "key", "setEnabled", "ListItem", "Root", "div", "className", "Icon", "icon", "categoryIcons", "category", "size", "name", "Input", "Switch", "checked", "onClick", "description", "lazy", "AssistantDialog", "lazy", "AutomationPanel", "ChatContainer", "TemplateContainer"]
7
+ }
@@ -0,0 +1,81 @@
1
+ import {
2
+ AUTOMATION_PLUGIN
3
+ } from "./chunk-HZSTXZWK.mjs";
4
+
5
+ // packages/plugins/experimental/plugin-automation/src/components/TemplateEditor/TemplateEditor.tsx
6
+ import { HighlightStyle, LanguageSupport, syntaxHighlighting } from "@codemirror/language";
7
+ import { styleTags, tags } from "@lezer/highlight";
8
+ import { handlebarsLanguage } from "@xiechao/codemirror-lang-handlebars";
9
+ import React from "react";
10
+ import { createDocAccessor } from "@dxos/react-client/echo";
11
+ import { useThemeContext, useTranslation } from "@dxos/react-ui";
12
+ import { createBasicExtensions, createDataExtensions, createThemeExtensions, useTextEditor } from "@dxos/react-ui-editor";
13
+ import { mx } from "@dxos/react-ui-theme";
14
+ handlebarsLanguage.configure({
15
+ props: [
16
+ styleTags({
17
+ "---": tags.lineComment
18
+ })
19
+ ]
20
+ });
21
+ var TemplateEditor = ({ classNames, template }) => {
22
+ const { t } = useTranslation(AUTOMATION_PLUGIN);
23
+ const { themeMode } = useThemeContext();
24
+ const { parentRef } = useTextEditor(() => ({
25
+ initialValue: template.source,
26
+ extensions: [
27
+ createDataExtensions({
28
+ id: template.id,
29
+ text: template.source !== void 0 ? createDocAccessor(template, [
30
+ "template"
31
+ ]) : void 0
32
+ }),
33
+ createBasicExtensions({
34
+ bracketMatching: false,
35
+ lineWrapping: true,
36
+ placeholder: t("template placeholder")
37
+ }),
38
+ createThemeExtensions({
39
+ themeMode,
40
+ slots: {
41
+ content: {
42
+ className: "!p-3"
43
+ }
44
+ }
45
+ }),
46
+ // https://github.com/xiechao/lang-handlebars
47
+ new LanguageSupport(handlebarsLanguage, syntaxHighlighting(handlebarsHighlightStyle))
48
+ ]
49
+ }), [
50
+ themeMode,
51
+ prompt
52
+ ]);
53
+ return /* @__PURE__ */ React.createElement("div", {
54
+ ref: parentRef,
55
+ className: mx(classNames)
56
+ });
57
+ };
58
+ var handlebarsHighlightStyle = HighlightStyle.define([
59
+ {
60
+ tag: tags.tagName,
61
+ class: "text-redText"
62
+ },
63
+ {
64
+ tag: tags.variableName,
65
+ class: "text-blueText"
66
+ },
67
+ {
68
+ tag: tags.keyword,
69
+ class: "text-greenText"
70
+ },
71
+ {
72
+ tag: tags.comment,
73
+ class: "text-subdued"
74
+ }
75
+ ]);
76
+
77
+ export {
78
+ TemplateEditor,
79
+ handlebarsHighlightStyle
80
+ };
81
+ //# sourceMappingURL=chunk-XAIWETH6.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/TemplateEditor/TemplateEditor.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { HighlightStyle, LanguageSupport, syntaxHighlighting } from '@codemirror/language';\nimport { styleTags, tags } from '@lezer/highlight';\nimport { handlebarsLanguage } from '@xiechao/codemirror-lang-handlebars';\nimport React from 'react';\n\nimport { createDocAccessor } from '@dxos/react-client/echo';\nimport { useThemeContext, useTranslation, type ThemedClassName } from '@dxos/react-ui';\nimport {\n createBasicExtensions,\n createDataExtensions,\n createThemeExtensions,\n useTextEditor,\n} from '@dxos/react-ui-editor';\nimport { mx } from '@dxos/react-ui-theme';\n\nimport { AUTOMATION_PLUGIN } from '../../meta';\nimport { type TemplateType } from '../../types';\n\nhandlebarsLanguage.configure({\n props: [\n styleTags({\n '---': tags.lineComment,\n }),\n ],\n});\n\nexport type TemplateEditorProps = ThemedClassName<{\n template: TemplateType;\n}>;\n\nexport const TemplateEditor = ({ classNames, template }: TemplateEditorProps) => {\n const { t } = useTranslation(AUTOMATION_PLUGIN);\n const { themeMode } = useThemeContext();\n const { parentRef } = useTextEditor(\n () => ({\n initialValue: template.source,\n extensions: [\n createDataExtensions({\n id: template.id,\n text: template.source !== undefined ? createDocAccessor(template, ['template']) : undefined,\n }),\n createBasicExtensions({\n bracketMatching: false,\n lineWrapping: true,\n placeholder: t('template placeholder'),\n }),\n createThemeExtensions({\n themeMode,\n slots: {\n content: { className: '!p-3' },\n },\n }),\n\n // https://github.com/xiechao/lang-handlebars\n new LanguageSupport(handlebarsLanguage, syntaxHighlighting(handlebarsHighlightStyle)),\n ],\n }),\n [themeMode, prompt],\n );\n\n return <div ref={parentRef} className={mx(classNames)} />;\n};\n\n/**\n * https://github.com/xiechao/lang-handlebars/blob/direct/src/highlight.js\n */\nexport const handlebarsHighlightStyle = HighlightStyle.define([\n { tag: tags.tagName, class: 'text-redText' }, // Braces.\n { tag: tags.variableName, class: 'text-blueText' },\n { tag: tags.keyword, class: 'text-greenText' },\n { tag: tags.comment, class: 'text-subdued' },\n]);\n"],
5
+ "mappings": ";;;;;AAIA,SAASA,gBAAgBC,iBAAiBC,0BAA0B;AACpE,SAASC,WAAWC,YAAY;AAChC,SAASC,0BAA0B;AACnC,OAAOC,WAAW;AAElB,SAASC,yBAAyB;AAClC,SAASC,iBAAiBC,sBAA4C;AACtE,SACEC,uBACAC,sBACAC,uBACAC,qBACK;AACP,SAASC,UAAU;AAKnBC,mBAAmBC,UAAU;EAC3BC,OAAO;IACLC,UAAU;MACR,OAAOC,KAAKC;IACd,CAAA;;AAEJ,CAAA;AAMO,IAAMC,iBAAiB,CAAC,EAAEC,YAAYC,SAAQ,MAAuB;AAC1E,QAAM,EAAEC,EAAC,IAAKC,eAAeC,iBAAAA;AAC7B,QAAM,EAAEC,UAAS,IAAKC,gBAAAA;AACtB,QAAM,EAAEC,UAAS,IAAKC,cACpB,OAAO;IACLC,cAAcR,SAASS;IACvBC,YAAY;MACVC,qBAAqB;QACnBC,IAAIZ,SAASY;QACbC,MAAMb,SAASS,WAAWK,SAAYC,kBAAkBf,UAAU;UAAC;SAAW,IAAIc;MACpF,CAAA;MACAE,sBAAsB;QACpBC,iBAAiB;QACjBC,cAAc;QACdC,aAAalB,EAAE,sBAAA;MACjB,CAAA;MACAmB,sBAAsB;QACpBhB;QACAiB,OAAO;UACLC,SAAS;YAAEC,WAAW;UAAO;QAC/B;MACF,CAAA;;MAGA,IAAIC,gBAAgBhC,oBAAoBiC,mBAAmBC,wBAAAA,CAAAA;;EAE/D,IACA;IAACtB;IAAWuB;GAAO;AAGrB,SAAO,sBAAA,cAACC,OAAAA;IAAIC,KAAKvB;IAAWiB,WAAWO,GAAG/B,UAAAA;;AAC5C;AAKO,IAAM2B,2BAA2BK,eAAeC,OAAO;EAC5D;IAAEC,KAAKrC,KAAKsC;IAASC,OAAO;EAAe;EAC3C;IAAEF,KAAKrC,KAAKwC;IAAcD,OAAO;EAAgB;EACjD;IAAEF,KAAKrC,KAAKyC;IAASF,OAAO;EAAiB;EAC7C;IAAEF,KAAKrC,KAAK0C;IAASH,OAAO;EAAe;CAC5C;",
6
+ "names": ["HighlightStyle", "LanguageSupport", "syntaxHighlighting", "styleTags", "tags", "handlebarsLanguage", "React", "createDocAccessor", "useThemeContext", "useTranslation", "createBasicExtensions", "createDataExtensions", "createThemeExtensions", "useTextEditor", "mx", "handlebarsLanguage", "configure", "props", "styleTags", "tags", "lineComment", "TemplateEditor", "classNames", "template", "t", "useTranslation", "AUTOMATION_PLUGIN", "themeMode", "useThemeContext", "parentRef", "useTextEditor", "initialValue", "source", "extensions", "createDataExtensions", "id", "text", "undefined", "createDocAccessor", "createBasicExtensions", "bracketMatching", "lineWrapping", "placeholder", "createThemeExtensions", "slots", "content", "className", "LanguageSupport", "syntaxHighlighting", "handlebarsHighlightStyle", "prompt", "div", "ref", "mx", "HighlightStyle", "define", "tag", "tagName", "class", "variableName", "keyword", "comment"]
7
+ }