@dxos/plugin-automation 0.7.5-labs.c0e040f → 0.7.5-labs.d199c0f

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 (320) hide show
  1. package/dist/lib/browser/AutomationPanel-ITYXSN5Z.mjs +132 -0
  2. package/dist/lib/browser/AutomationPanel-ITYXSN5Z.mjs.map +7 -0
  3. package/dist/lib/browser/{chunk-R4JH4TLE.mjs → chunk-OFDNNRLE.mjs} +3 -8
  4. package/dist/lib/browser/chunk-OFDNNRLE.mjs.map +7 -0
  5. package/dist/lib/browser/chunk-U7QLNY2S.mjs +8 -0
  6. package/dist/lib/browser/chunk-U7QLNY2S.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-WY2C7JY4.mjs +119 -0
  8. package/dist/lib/browser/chunk-WY2C7JY4.mjs.map +7 -0
  9. package/dist/lib/browser/complementary-panel-4CPOJL4Y.mjs +56 -0
  10. package/dist/lib/browser/complementary-panel-4CPOJL4Y.mjs.map +7 -0
  11. package/dist/lib/browser/index.mjs +21 -377
  12. package/dist/lib/browser/index.mjs.map +4 -4
  13. package/dist/lib/browser/meta.json +1 -1
  14. package/dist/lib/browser/react-surface-SAPMN4PF.mjs +27 -0
  15. package/dist/lib/browser/react-surface-SAPMN4PF.mjs.map +7 -0
  16. package/dist/lib/node/{chunk-QXIHYOMF.cjs → AutomationPanel-X33HHDMQ.cjs} +19 -132
  17. package/dist/lib/node/AutomationPanel-X33HHDMQ.cjs.map +7 -0
  18. package/dist/lib/node/chunk-7Q5SNGCL.cjs +148 -0
  19. package/dist/lib/node/chunk-7Q5SNGCL.cjs.map +7 -0
  20. package/dist/lib/node/chunk-CB5OB6JH.cjs +40 -0
  21. package/dist/lib/node/chunk-CB5OB6JH.cjs.map +7 -0
  22. package/dist/lib/node/{chunk-EQYHOTGG.cjs → chunk-ORMEYEBE.cjs} +6 -12
  23. package/dist/lib/node/chunk-ORMEYEBE.cjs.map +7 -0
  24. package/dist/lib/node/complementary-panel-ZYJJ42ZU.cjs +72 -0
  25. package/dist/lib/node/complementary-panel-ZYJJ42ZU.cjs.map +7 -0
  26. package/dist/lib/node/index.cjs +36 -378
  27. package/dist/lib/node/index.cjs.map +4 -4
  28. package/dist/lib/node/meta.json +1 -1
  29. package/dist/lib/node/{react-surface-JT6SVCPK.cjs → react-surface-2WRVAPGR.cjs} +9 -34
  30. package/dist/lib/node/react-surface-2WRVAPGR.cjs.map +7 -0
  31. package/dist/lib/node-esm/AutomationPanel-HY3GB4BT.mjs +133 -0
  32. package/dist/lib/node-esm/AutomationPanel-HY3GB4BT.mjs.map +7 -0
  33. package/dist/lib/node-esm/{chunk-EMVA6QUT.mjs → chunk-6MUUH67V.mjs} +3 -8
  34. package/dist/lib/node-esm/chunk-6MUUH67V.mjs.map +7 -0
  35. package/dist/lib/node-esm/chunk-R3P2WPBQ.mjs +10 -0
  36. package/dist/lib/node-esm/chunk-R3P2WPBQ.mjs.map +7 -0
  37. package/dist/lib/node-esm/chunk-UDD2VA6G.mjs +120 -0
  38. package/dist/lib/node-esm/chunk-UDD2VA6G.mjs.map +7 -0
  39. package/dist/lib/node-esm/complementary-panel-S42RIIAY.mjs +57 -0
  40. package/dist/lib/node-esm/complementary-panel-S42RIIAY.mjs.map +7 -0
  41. package/dist/lib/node-esm/index.mjs +21 -377
  42. package/dist/lib/node-esm/index.mjs.map +4 -4
  43. package/dist/lib/node-esm/meta.json +1 -1
  44. package/dist/lib/node-esm/react-surface-QWLPOYXO.mjs +28 -0
  45. package/dist/lib/node-esm/react-surface-QWLPOYXO.mjs.map +7 -0
  46. package/dist/types/src/AutomationPlugin.d.ts.map +1 -1
  47. package/dist/types/src/capabilities/{ai-client.d.ts → complementary-panel.d.ts} +2 -3
  48. package/dist/types/src/capabilities/complementary-panel.d.ts.map +1 -0
  49. package/dist/types/src/capabilities/index.d.ts +1 -180
  50. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  51. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  52. package/dist/types/src/components/AutomationPanel/AutomationPanel.d.ts +1 -2
  53. package/dist/types/src/components/AutomationPanel/AutomationPanel.d.ts.map +1 -1
  54. package/dist/types/src/components/AutomationPanel/AutomationPanel.stories.d.ts.map +1 -1
  55. package/dist/types/src/components/TriggerEditor/TriggerEditor.d.ts +1 -2
  56. package/dist/types/src/components/TriggerEditor/TriggerEditor.d.ts.map +1 -1
  57. package/dist/types/src/components/TriggerEditor/TriggerEditor.stories.d.ts.map +1 -1
  58. package/dist/types/src/components/index.d.ts +1 -12
  59. package/dist/types/src/components/index.d.ts.map +1 -1
  60. package/dist/types/src/index.d.ts +1 -3
  61. package/dist/types/src/index.d.ts.map +1 -1
  62. package/dist/types/src/meta.d.ts +0 -2
  63. package/dist/types/src/meta.d.ts.map +1 -1
  64. package/dist/types/src/testing/index.d.ts +0 -1
  65. package/dist/types/src/testing/index.d.ts.map +1 -1
  66. package/dist/types/src/testing/test-functions.d.ts +0 -2
  67. package/dist/types/src/testing/test-functions.d.ts.map +1 -1
  68. package/dist/types/src/translations.d.ts +1 -94
  69. package/dist/types/src/translations.d.ts.map +1 -1
  70. package/package.json +23 -74
  71. package/src/AutomationPlugin.tsx +9 -64
  72. package/src/capabilities/complementary-panel.ts +56 -0
  73. package/src/capabilities/index.ts +1 -5
  74. package/src/capabilities/react-surface.tsx +3 -23
  75. package/src/components/AutomationPanel/AutomationPanel.stories.tsx +1 -2
  76. package/src/components/AutomationPanel/AutomationPanel.tsx +56 -49
  77. package/src/components/TriggerEditor/TriggerEditor.stories.tsx +1 -2
  78. package/src/components/index.ts +0 -8
  79. package/src/index.ts +2 -3
  80. package/src/meta.ts +1 -4
  81. package/src/testing/index.ts +0 -1
  82. package/src/testing/test-functions.ts +0 -7
  83. package/src/translations.ts +1 -29
  84. package/dist/lib/browser/AutomationPanel-VW2XIUPU.mjs +0 -8
  85. package/dist/lib/browser/AutomationPanel-VW2XIUPU.mjs.map +0 -7
  86. package/dist/lib/browser/ChatContainer-OLRZNGWK.mjs +0 -12
  87. package/dist/lib/browser/ChatContainer-OLRZNGWK.mjs.map +0 -7
  88. package/dist/lib/browser/ai-client-5CNY6JBF.mjs +0 -22
  89. package/dist/lib/browser/ai-client-5CNY6JBF.mjs.map +0 -7
  90. package/dist/lib/browser/app-graph-builder-6H7MDCXE.mjs +0 -197
  91. package/dist/lib/browser/app-graph-builder-6H7MDCXE.mjs.map +0 -7
  92. package/dist/lib/browser/chunk-2H2EUYXL.mjs +0 -15
  93. package/dist/lib/browser/chunk-2H2EUYXL.mjs.map +0 -7
  94. package/dist/lib/browser/chunk-ITG6CBKL.mjs +0 -1602
  95. package/dist/lib/browser/chunk-ITG6CBKL.mjs.map +0 -7
  96. package/dist/lib/browser/chunk-MRBC5J4T.mjs +0 -518
  97. package/dist/lib/browser/chunk-MRBC5J4T.mjs.map +0 -7
  98. package/dist/lib/browser/chunk-NQFZ6XRX.mjs +0 -243
  99. package/dist/lib/browser/chunk-NQFZ6XRX.mjs.map +0 -7
  100. package/dist/lib/browser/chunk-Q4IMHYGH.mjs +0 -150
  101. package/dist/lib/browser/chunk-Q4IMHYGH.mjs.map +0 -7
  102. package/dist/lib/browser/chunk-R4JH4TLE.mjs.map +0 -7
  103. package/dist/lib/browser/intent-resolver-BWAXKT27.mjs +0 -29
  104. package/dist/lib/browser/intent-resolver-BWAXKT27.mjs.map +0 -7
  105. package/dist/lib/browser/react-surface-O6SHIBCA.mjs +0 -58
  106. package/dist/lib/browser/react-surface-O6SHIBCA.mjs.map +0 -7
  107. package/dist/lib/browser/types/index.mjs +0 -24
  108. package/dist/lib/browser/types/index.mjs.map +0 -7
  109. package/dist/lib/node/AutomationPanel-G6EDDYWW.cjs +0 -26
  110. package/dist/lib/node/AutomationPanel-G6EDDYWW.cjs.map +0 -7
  111. package/dist/lib/node/ChatContainer-GRZDJIG5.cjs +0 -33
  112. package/dist/lib/node/ChatContainer-GRZDJIG5.cjs.map +0 -7
  113. package/dist/lib/node/ai-client-FKLPDELV.cjs +0 -38
  114. package/dist/lib/node/ai-client-FKLPDELV.cjs.map +0 -7
  115. package/dist/lib/node/app-graph-builder-7JMJLZIE.cjs +0 -212
  116. package/dist/lib/node/app-graph-builder-7JMJLZIE.cjs.map +0 -7
  117. package/dist/lib/node/chunk-CFBERLTN.cjs +0 -1586
  118. package/dist/lib/node/chunk-CFBERLTN.cjs.map +0 -7
  119. package/dist/lib/node/chunk-EQYHOTGG.cjs.map +0 -7
  120. package/dist/lib/node/chunk-FQUY77HT.cjs +0 -527
  121. package/dist/lib/node/chunk-FQUY77HT.cjs.map +0 -7
  122. package/dist/lib/node/chunk-GB7245FH.cjs +0 -173
  123. package/dist/lib/node/chunk-GB7245FH.cjs.map +0 -7
  124. package/dist/lib/node/chunk-QXIHYOMF.cjs.map +0 -7
  125. package/dist/lib/node/chunk-U5Z7LFWB.cjs +0 -34
  126. package/dist/lib/node/chunk-U5Z7LFWB.cjs.map +0 -7
  127. package/dist/lib/node/intent-resolver-C6OKFVEW.cjs +0 -44
  128. package/dist/lib/node/intent-resolver-C6OKFVEW.cjs.map +0 -7
  129. package/dist/lib/node/react-surface-JT6SVCPK.cjs.map +0 -7
  130. package/dist/lib/node/types/index.cjs +0 -46
  131. package/dist/lib/node/types/index.cjs.map +0 -7
  132. package/dist/lib/node-esm/AutomationPanel-V3IWQAMO.mjs +0 -9
  133. package/dist/lib/node-esm/AutomationPanel-V3IWQAMO.mjs.map +0 -7
  134. package/dist/lib/node-esm/ChatContainer-ORVWQPJO.mjs +0 -13
  135. package/dist/lib/node-esm/ChatContainer-ORVWQPJO.mjs.map +0 -7
  136. package/dist/lib/node-esm/ai-client-XGNA6SJ5.mjs +0 -23
  137. package/dist/lib/node-esm/ai-client-XGNA6SJ5.mjs.map +0 -7
  138. package/dist/lib/node-esm/app-graph-builder-C6NUQGCU.mjs +0 -198
  139. package/dist/lib/node-esm/app-graph-builder-C6NUQGCU.mjs.map +0 -7
  140. package/dist/lib/node-esm/chunk-2OKJZ4ZW.mjs +0 -519
  141. package/dist/lib/node-esm/chunk-2OKJZ4ZW.mjs.map +0 -7
  142. package/dist/lib/node-esm/chunk-6HLBYDUI.mjs +0 -244
  143. package/dist/lib/node-esm/chunk-6HLBYDUI.mjs.map +0 -7
  144. package/dist/lib/node-esm/chunk-7VPT3OO3.mjs +0 -1603
  145. package/dist/lib/node-esm/chunk-7VPT3OO3.mjs.map +0 -7
  146. package/dist/lib/node-esm/chunk-DNCXRGAF.mjs +0 -151
  147. package/dist/lib/node-esm/chunk-DNCXRGAF.mjs.map +0 -7
  148. package/dist/lib/node-esm/chunk-EMVA6QUT.mjs.map +0 -7
  149. package/dist/lib/node-esm/chunk-IJRTDSKN.mjs +0 -16
  150. package/dist/lib/node-esm/chunk-IJRTDSKN.mjs.map +0 -7
  151. package/dist/lib/node-esm/intent-resolver-DCP4ZDBA.mjs +0 -30
  152. package/dist/lib/node-esm/intent-resolver-DCP4ZDBA.mjs.map +0 -7
  153. package/dist/lib/node-esm/react-surface-DSVM33SA.mjs +0 -59
  154. package/dist/lib/node-esm/react-surface-DSVM33SA.mjs.map +0 -7
  155. package/dist/lib/node-esm/types/index.mjs +0 -25
  156. package/dist/lib/node-esm/types/index.mjs.map +0 -7
  157. package/dist/types/src/artifacts.stories.d.ts +0 -16
  158. package/dist/types/src/artifacts.stories.d.ts.map +0 -1
  159. package/dist/types/src/capabilities/ai-client.d.ts.map +0 -1
  160. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -181
  161. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  162. package/dist/types/src/capabilities/capabilities.d.ts +0 -5
  163. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  164. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  165. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  166. package/dist/types/src/components/AmbientChatDialog/AmbientChatDialog.d.ts +0 -3
  167. package/dist/types/src/components/AmbientChatDialog/AmbientChatDialog.d.ts.map +0 -1
  168. package/dist/types/src/components/AmbientChatDialog/AmbientChatDialog.stories.d.ts +0 -8
  169. package/dist/types/src/components/AmbientChatDialog/AmbientChatDialog.stories.d.ts.map +0 -1
  170. package/dist/types/src/components/AmbientChatDialog/index.d.ts +0 -2
  171. package/dist/types/src/components/AmbientChatDialog/index.d.ts.map +0 -1
  172. package/dist/types/src/components/Box/StatusLine.d.ts +0 -11
  173. package/dist/types/src/components/Box/StatusLine.d.ts.map +0 -1
  174. package/dist/types/src/components/Box/StatusLine.stories.d.ts +0 -9
  175. package/dist/types/src/components/Box/StatusLine.stories.d.ts.map +0 -1
  176. package/dist/types/src/components/Box/Tabbed.d.ts +0 -15
  177. package/dist/types/src/components/Box/Tabbed.d.ts.map +0 -1
  178. package/dist/types/src/components/Box/Tabbed.stories.d.ts +0 -8
  179. package/dist/types/src/components/Box/Tabbed.stories.d.ts.map +0 -1
  180. package/dist/types/src/components/Box/ToggleContainer.d.ts +0 -13
  181. package/dist/types/src/components/Box/ToggleContainer.d.ts.map +0 -1
  182. package/dist/types/src/components/Box/ToggleContainer.stories.d.ts +0 -9
  183. package/dist/types/src/components/Box/ToggleContainer.stories.d.ts.map +0 -1
  184. package/dist/types/src/components/Box/index.d.ts +0 -4
  185. package/dist/types/src/components/Box/index.d.ts.map +0 -1
  186. package/dist/types/src/components/ChatContainer/ChatContainer.d.ts +0 -7
  187. package/dist/types/src/components/ChatContainer/ChatContainer.d.ts.map +0 -1
  188. package/dist/types/src/components/ChatContainer/index.d.ts +0 -4
  189. package/dist/types/src/components/ChatContainer/index.d.ts.map +0 -1
  190. package/dist/types/src/components/MarkdownViewer/MarkdownViewer.d.ts +0 -14
  191. package/dist/types/src/components/MarkdownViewer/MarkdownViewer.d.ts.map +0 -1
  192. package/dist/types/src/components/MarkdownViewer/MarkdownViewer.stories.d.ts +0 -8
  193. package/dist/types/src/components/MarkdownViewer/MarkdownViewer.stories.d.ts.map +0 -1
  194. package/dist/types/src/components/MarkdownViewer/index.d.ts +0 -2
  195. package/dist/types/src/components/MarkdownViewer/index.d.ts.map +0 -1
  196. package/dist/types/src/components/Prompt/Prompt.d.ts +0 -7
  197. package/dist/types/src/components/Prompt/Prompt.d.ts.map +0 -1
  198. package/dist/types/src/components/Prompt/Prompt.stories.d.ts +0 -8
  199. package/dist/types/src/components/Prompt/Prompt.stories.d.ts.map +0 -1
  200. package/dist/types/src/components/Prompt/index.d.ts +0 -2
  201. package/dist/types/src/components/Prompt/index.d.ts.map +0 -1
  202. package/dist/types/src/components/Prompt/prompt-autocomplete.d.ts +0 -20
  203. package/dist/types/src/components/Prompt/prompt-autocomplete.d.ts.map +0 -1
  204. package/dist/types/src/components/PromptEditor/PromptEditor.d.ts +0 -10
  205. package/dist/types/src/components/PromptEditor/PromptEditor.d.ts.map +0 -1
  206. package/dist/types/src/components/PromptEditor/PromptEditor.stories.d.ts +0 -6
  207. package/dist/types/src/components/PromptEditor/PromptEditor.stories.d.ts.map +0 -1
  208. package/dist/types/src/components/PromptEditor/index.d.ts +0 -2
  209. package/dist/types/src/components/PromptEditor/index.d.ts.map +0 -1
  210. package/dist/types/src/components/PromptEditor/prompt-extension.d.ts +0 -4
  211. package/dist/types/src/components/PromptEditor/prompt-extension.d.ts.map +0 -1
  212. package/dist/types/src/components/PromptEditor/types.d.ts +0 -18
  213. package/dist/types/src/components/PromptEditor/types.d.ts.map +0 -1
  214. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.d.ts +0 -6
  215. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.d.ts.map +0 -1
  216. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.stories.d.ts +0 -8
  217. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.stories.d.ts.map +0 -1
  218. package/dist/types/src/components/ServiceRegistry/index.d.ts +0 -2
  219. package/dist/types/src/components/ServiceRegistry/index.d.ts.map +0 -1
  220. package/dist/types/src/components/Thread/Thread.d.ts +0 -11
  221. package/dist/types/src/components/Thread/Thread.d.ts.map +0 -1
  222. package/dist/types/src/components/Thread/Thread.stories.d.ts +0 -11
  223. package/dist/types/src/components/Thread/Thread.stories.d.ts.map +0 -1
  224. package/dist/types/src/components/Thread/ThreadMessage.d.ts +0 -12
  225. package/dist/types/src/components/Thread/ThreadMessage.d.ts.map +0 -1
  226. package/dist/types/src/components/Thread/index.d.ts +0 -2
  227. package/dist/types/src/components/Thread/index.d.ts.map +0 -1
  228. package/dist/types/src/hooks/email.d.ts +0 -4
  229. package/dist/types/src/hooks/email.d.ts.map +0 -1
  230. package/dist/types/src/hooks/index.d.ts +0 -6
  231. package/dist/types/src/hooks/index.d.ts.map +0 -1
  232. package/dist/types/src/hooks/invocation-handler.d.ts +0 -5
  233. package/dist/types/src/hooks/invocation-handler.d.ts.map +0 -1
  234. package/dist/types/src/hooks/processor.d.ts +0 -70
  235. package/dist/types/src/hooks/processor.d.ts.map +0 -1
  236. package/dist/types/src/hooks/processor.test.d.ts +0 -2
  237. package/dist/types/src/hooks/processor.test.d.ts.map +0 -1
  238. package/dist/types/src/hooks/useChatProcessor.d.ts +0 -7
  239. package/dist/types/src/hooks/useChatProcessor.d.ts.map +0 -1
  240. package/dist/types/src/hooks/useLocalTriggerManager.d.ts +0 -3
  241. package/dist/types/src/hooks/useLocalTriggerManager.d.ts.map +0 -1
  242. package/dist/types/src/hooks/useMessageQueue.d.ts +0 -41
  243. package/dist/types/src/hooks/useMessageQueue.d.ts.map +0 -1
  244. package/dist/types/src/hooks/useServices.d.ts +0 -7
  245. package/dist/types/src/hooks/useServices.d.ts.map +0 -1
  246. package/dist/types/src/presets.d.ts +0 -9
  247. package/dist/types/src/presets.d.ts.map +0 -1
  248. package/dist/types/src/testing/test-services.d.ts +0 -5
  249. package/dist/types/src/testing/test-services.d.ts.map +0 -1
  250. package/dist/types/src/tools/function.d.ts +0 -5
  251. package/dist/types/src/tools/function.d.ts.map +0 -1
  252. package/dist/types/src/tools/index.d.ts +0 -3
  253. package/dist/types/src/tools/index.d.ts.map +0 -1
  254. package/dist/types/src/tools/openapi.d.ts +0 -10
  255. package/dist/types/src/tools/openapi.d.ts.map +0 -1
  256. package/dist/types/src/tools/openapi.test.d.ts +0 -2
  257. package/dist/types/src/tools/openapi.test.d.ts.map +0 -1
  258. package/dist/types/src/types/index.d.ts +0 -4
  259. package/dist/types/src/types/index.d.ts.map +0 -1
  260. package/dist/types/src/types/registry.d.ts +0 -10
  261. package/dist/types/src/types/registry.d.ts.map +0 -1
  262. package/dist/types/src/types/schema.d.ts +0 -221
  263. package/dist/types/src/types/schema.d.ts.map +0 -1
  264. package/dist/types/src/types/types.d.ts +0 -18
  265. package/dist/types/src/types/types.d.ts.map +0 -1
  266. package/src/artifacts.stories.tsx +0 -241
  267. package/src/capabilities/ai-client.ts +0 -19
  268. package/src/capabilities/app-graph-builder.ts +0 -187
  269. package/src/capabilities/capabilities.ts +0 -12
  270. package/src/capabilities/intent-resolver.ts +0 -27
  271. package/src/components/AmbientChatDialog/AmbientChatDialog.stories.tsx +0 -44
  272. package/src/components/AmbientChatDialog/AmbientChatDialog.tsx +0 -63
  273. package/src/components/AmbientChatDialog/index.ts +0 -5
  274. package/src/components/Box/StatusLine.stories.tsx +0 -52
  275. package/src/components/Box/StatusLine.tsx +0 -76
  276. package/src/components/Box/Tabbed.stories.tsx +0 -51
  277. package/src/components/Box/Tabbed.tsx +0 -89
  278. package/src/components/Box/ToggleContainer.stories.tsx +0 -110
  279. package/src/components/Box/ToggleContainer.tsx +0 -108
  280. package/src/components/Box/index.ts +0 -7
  281. package/src/components/ChatContainer/ChatContainer.tsx +0 -52
  282. package/src/components/ChatContainer/index.ts +0 -8
  283. package/src/components/MarkdownViewer/MarkdownViewer.stories.tsx +0 -56
  284. package/src/components/MarkdownViewer/MarkdownViewer.tsx +0 -79
  285. package/src/components/MarkdownViewer/index.ts +0 -5
  286. package/src/components/Prompt/Prompt.stories.tsx +0 -50
  287. package/src/components/Prompt/Prompt.tsx +0 -39
  288. package/src/components/Prompt/index.ts +0 -5
  289. package/src/components/Prompt/prompt-autocomplete.ts +0 -200
  290. package/src/components/PromptEditor/PromptEditor.stories.tsx +0 -64
  291. package/src/components/PromptEditor/PromptEditor.tsx +0 -222
  292. package/src/components/PromptEditor/index.ts +0 -5
  293. package/src/components/PromptEditor/prompt-extension.ts +0 -43
  294. package/src/components/PromptEditor/types.tsx +0 -28
  295. package/src/components/ServiceRegistry/ServiceRegistry.stories.tsx +0 -49
  296. package/src/components/ServiceRegistry/ServiceRegistry.tsx +0 -76
  297. package/src/components/ServiceRegistry/index.ts +0 -5
  298. package/src/components/Thread/Thread.stories.tsx +0 -197
  299. package/src/components/Thread/Thread.tsx +0 -156
  300. package/src/components/Thread/ThreadMessage.tsx +0 -225
  301. package/src/components/Thread/index.ts +0 -5
  302. package/src/hooks/email.ts +0 -49
  303. package/src/hooks/index.ts +0 -10
  304. package/src/hooks/invocation-handler.ts +0 -109
  305. package/src/hooks/processor.test.ts +0 -15
  306. package/src/hooks/processor.ts +0 -210
  307. package/src/hooks/useChatProcessor.tsx +0 -86
  308. package/src/hooks/useLocalTriggerManager.ts +0 -82
  309. package/src/hooks/useMessageQueue.ts +0 -23
  310. package/src/hooks/useServices.ts +0 -28
  311. package/src/presets.ts +0 -248
  312. package/src/testing/test-services.ts +0 -131
  313. package/src/tools/function.ts +0 -47
  314. package/src/tools/index.ts +0 -6
  315. package/src/tools/openapi.test.ts +0 -224
  316. package/src/tools/openapi.ts +0 -331
  317. package/src/types/index.ts +0 -7
  318. package/src/types/registry.ts +0 -26
  319. package/src/types/schema.ts +0 -132
  320. package/src/types/types.ts +0 -21
@@ -1,331 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import jsonpointer from 'jsonpointer';
6
- import { type OpenAPIV2, type OpenAPIV3_1 } from 'openapi-types';
7
-
8
- import { ToolResult, type Tool } from '@dxos/artifact';
9
- import { JsonSchemaType, normalizeSchema, S, toEffectSchema } from '@dxos/echo-schema';
10
- import { invariant } from '@dxos/invariant';
11
- import { log } from '@dxos/log';
12
- import { deepMapValues } from '@dxos/util';
13
-
14
- import type { ApiAuthorization, ServiceType } from '../types';
15
-
16
- export type CreateToolsFromApiOptions = {
17
- authorization?: ApiAuthorization;
18
- instructions?: string;
19
- };
20
-
21
- export const createToolsFromService = async (service: ServiceType): Promise<Tool[]> => {
22
- invariant(service.interfaces?.length === 1 && service.interfaces[0].kind === 'api');
23
- const iface = service.interfaces[0];
24
- invariant(iface.schemaUrl);
25
- invariant(iface.schemaUrl);
26
- return createToolsFromApi(iface.schemaUrl, { authorization: iface.authorization });
27
- };
28
-
29
- export const createToolsFromApi = async (url: string, options?: CreateToolsFromApiOptions): Promise<Tool[]> => {
30
- const res = await fetch(url);
31
- const spec = (await res.json()) as OpenAPIV2.Document;
32
- log('spec', { spec });
33
-
34
- const tools: Tool[] = [];
35
- for (const [path, pathItem] of Object.entries(spec.paths)) {
36
- if (typeof pathItem !== 'object') {
37
- continue;
38
- }
39
-
40
- // TODO(burdon): ???
41
- const { ...methods } = pathItem;
42
- for (const [method, m] of Object.entries(methods)) {
43
- const methodItem: OpenAPIV2.OperationObject = m as OpenAPIV2.OperationObject;
44
- log('methodItem', { path, method, methodItem });
45
-
46
- const parametersResolved: OpenAPIV2.ParameterObject[] =
47
- methodItem.parameters?.map((parameter: any) => {
48
- const resolved = resolveJsonSchema(parameter, spec);
49
- return resolved;
50
- }) ?? [];
51
-
52
- const inputSchema: JsonSchemaType = {
53
- type: 'object',
54
- properties: {},
55
- };
56
-
57
- const endpointParameters: OpenAPIV2.ParameterObject[] = [];
58
- for (const parameter of parametersResolved) {
59
- log('parameter', { parameter });
60
-
61
- if (
62
- options?.authorization?.type === 'api-key' &&
63
- options.authorization.placement.type === 'query' &&
64
- parameter.in === 'query' &&
65
- parameter.name === options.authorization.placement.name
66
- ) {
67
- continue;
68
- }
69
-
70
- endpointParameters.push(parameter);
71
-
72
- if (parameter.schema) {
73
- inputSchema.properties![parameter.name] = normalizeSchema(parameter.schema);
74
- } else if (typeof parameter.type === 'string') {
75
- const { name, in: _in, required, ...schema } = parameter;
76
- inputSchema.properties![name] = normalizeSchema(schema);
77
- if (required) {
78
- inputSchema.required ??= [];
79
- inputSchema.required!.push(name);
80
- }
81
- }
82
- }
83
-
84
- log('inputSchema', { inputSchema });
85
- S.validateSync(JsonSchemaType)(inputSchema);
86
-
87
- const description = methodItem.description ?? methodItem.summary;
88
- if (!description) {
89
- log.warn('no description', { path, method });
90
- continue;
91
- }
92
-
93
- const endpoint: EndpointDescriptor = {
94
- document: spec,
95
- path,
96
- method,
97
- parameters: endpointParameters,
98
- authorization: options?.authorization,
99
- };
100
-
101
- tools.push({
102
- name: getToolName(path, method, methodItem),
103
- description: options?.instructions ? `${options.instructions}\n\n${description}` : description,
104
- parameters: inputSchema,
105
- execute: async (input) => {
106
- const response = await callApiEndpoint(endpoint, input);
107
- return ToolResult.Success(response);
108
- },
109
- });
110
- }
111
- }
112
-
113
- return tools;
114
- };
115
-
116
- const getToolName = (path: string, method: string, methodItem: OpenAPIV2.OperationObject) => {
117
- if (methodItem.operationId) {
118
- return methodItem.operationId;
119
- }
120
-
121
- // Generate a name from the path and method.
122
- let name = `${method.toLowerCase()}_${path.replaceAll(/[{}/]/g, '_')}`;
123
- while (name.length > MAX_TOOL_NAME_LENGTH) {
124
- const lengthBefore = name.length;
125
-
126
- for (const word of GENERIC_WORDS) {
127
- if (name.includes(word)) {
128
- name = name.replace(word, '');
129
- break;
130
- }
131
- }
132
- name = name.replaceAll('__', '_').replace(/_$/, '');
133
-
134
- const lengthAfter = name.length;
135
- if (lengthBefore === lengthAfter) {
136
- break;
137
- }
138
- }
139
- name = name.replaceAll('__', '_').replace(/_$/, '').replace(/^_/, '');
140
-
141
- return name.slice(0, MAX_TOOL_NAME_LENGTH);
142
- };
143
-
144
- const MAX_TOOL_NAME_LENGTH = 64;
145
- const GENERIC_WORDS = [
146
- 'services',
147
- 'service',
148
- 'api',
149
- 'rest',
150
- 'endpoint',
151
- 'get',
152
- 'post',
153
- 'put',
154
- 'delete',
155
- 'patch',
156
- 'head',
157
- 'options',
158
- 'trace',
159
- 'service',
160
- 'api',
161
- 'endpoint',
162
- ];
163
-
164
- type EndpointDescriptor = {
165
- document: OpenAPIV3_1.Document | OpenAPIV2.Document;
166
- path: string;
167
- method: string;
168
- parameters: OpenAPIV2.ParameterObject[];
169
- authorization?: ApiAuthorization;
170
- };
171
-
172
- const callApiEndpoint = async (endpoint: EndpointDescriptor, input: any) => {
173
- log.info('endpoint', { method: endpoint.method, name: endpoint.path, input });
174
-
175
- let url = getEndpointUrl(endpoint);
176
- const request: RequestInit = {
177
- method: endpoint.method,
178
- headers: {},
179
- };
180
- const query = new URLSearchParams();
181
- let body: any;
182
- for (const parameter of endpoint.parameters) {
183
- if (input[parameter.name] === undefined) {
184
- continue;
185
- }
186
-
187
- switch (parameter.in) {
188
- case 'header': {
189
- if (parameter.example) {
190
- (request.headers as any)[parameter.name] = parameter.default;
191
- }
192
- break;
193
- }
194
- case 'path': {
195
- url = url.replace(`{${parameter.name}}`, encodeURIComponent(input[parameter.name]));
196
- break;
197
- }
198
- case 'body': {
199
- const value = input[parameter.name];
200
-
201
- // Client-side validation
202
- const effectSchema = toEffectSchema(parameter.schema);
203
- S.validateSync(effectSchema)(value);
204
-
205
- if (body) {
206
- throw new Error(`Duplicate body parameter: ${parameter.name}`);
207
- }
208
- body = value;
209
- break;
210
- }
211
- case 'query': {
212
- query.set(parameter.name, input[parameter.name]);
213
- break;
214
- }
215
- }
216
- }
217
-
218
- if (
219
- (endpoint.authorization?.type === 'api-key' && endpoint.authorization.placement.type === 'authorization-header') ||
220
- endpoint.authorization?.type === 'oauth'
221
- ) {
222
- (request.headers as any).Authorization = await resolveAuthorization(endpoint.authorization);
223
- } else if (endpoint.authorization?.type === 'api-key' && endpoint.authorization.placement.type === 'query') {
224
- query.set(endpoint.authorization.placement.name, endpoint.authorization.key);
225
- }
226
-
227
- if (query.size > 0) {
228
- url += `?${query.toString()}`;
229
- }
230
-
231
- if (body) {
232
- request.body = JSON.stringify(body);
233
- (request.headers as any)['Content-Type'] = 'application/json';
234
- }
235
-
236
- log.info('request', { url, request });
237
- const response = await fetch(url, request);
238
-
239
- log.info('response', { ok: response.ok, status: response.status, statusText: response.statusText });
240
-
241
- if (response.ok) {
242
- const contentType = response.headers.get('Content-Type');
243
- if (contentType?.includes('application/json')) {
244
- return await response.json();
245
- } else {
246
- return await response.text();
247
- }
248
- } else {
249
- if (response.headers.get('Content-Type')?.includes('application/json')) {
250
- const responseBody = await response.text();
251
- let error: any;
252
- try {
253
- error = JSON.parse(responseBody);
254
- } catch {
255
- error = responseBody;
256
- }
257
- log.error('error', { error });
258
- throw new Error(error.message);
259
- } else {
260
- const error = await response.text();
261
- log.error('error', { error });
262
- throw new Error(error);
263
- }
264
- }
265
- };
266
-
267
- const getEndpointUrl = (endpoint: EndpointDescriptor) => {
268
- let url = '';
269
- if (isV3_1(endpoint.document) && endpoint.document.servers && endpoint.document.servers.length > 0) {
270
- url = endpoint.document.servers[0].url;
271
- } else {
272
- invariant(!isV3_1(endpoint.document));
273
- url = `${endpoint.document.schemes?.[0] ?? 'https'}://${endpoint.document.host}`;
274
- }
275
-
276
- if (!isV3_1(endpoint.document) && endpoint.document.basePath) {
277
- url += endpoint.document.basePath;
278
- }
279
-
280
- url += endpoint.path;
281
-
282
- return url;
283
- };
284
-
285
- export const resolveAuthorization = async (authorization: ApiAuthorization): Promise<string> => {
286
- switch (authorization.type) {
287
- case 'api-key': {
288
- invariant(authorization.placement.type === 'authorization-header');
289
- return `Bearer ${authorization.key}`;
290
- }
291
- case 'oauth': {
292
- const response = await fetch(authorization.tokenUrl, {
293
- method: 'POST',
294
- headers: {
295
- 'Content-Type': 'application/x-www-form-urlencoded',
296
- },
297
- body: `grant_type=${authorization.grantType}&client_id=${authorization.clientId}&client_secret=${authorization.clientSecret}`,
298
- });
299
- const data = await response.json();
300
- return `Bearer ${data.access_token}`;
301
- }
302
- default: {
303
- throw new Error(`Unknown authorization type: ${(authorization as any).type}`);
304
- }
305
- }
306
- };
307
-
308
- /**
309
- * Resolves all $ref properties in a JSON schema.
310
- * Doesn't assume the structure of the schema.
311
- * The function looks from $ref properties in the schema and resolves them to their values in the base object.
312
- */
313
- const resolveJsonSchema = (schema: any, base: any) => {
314
- return deepMapValues(schema, (value, recurse) => {
315
- if (typeof value === 'object' && value !== null && '$ref' in value && typeof value.$ref === 'string') {
316
- if (value.$ref.startsWith('#')) {
317
- const resolved = jsonpointer.get(base, value.$ref.slice(1));
318
- if (resolved) {
319
- return recurse(resolved);
320
- } else {
321
- log.warn('unresolved', { ref: value.$ref, base });
322
- }
323
- }
324
- }
325
- return recurse(value);
326
- });
327
- };
328
-
329
- const isV3_1 = (document: OpenAPIV3_1.Document | OpenAPIV2.Document): document is OpenAPIV3_1.Document => {
330
- return (document as any).openapi === '3.0.1';
331
- };
@@ -1,7 +0,0 @@
1
- //
2
- // Copyright 2024 DXOS.org
3
- //
4
-
5
- export * from './registry';
6
- export * from './schema';
7
- export * from './types';
@@ -1,26 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { type ServiceType } from './schema';
6
-
7
- export type ServiceQuery = {
8
- name?: string;
9
- category?: string;
10
- };
11
-
12
- export interface BaseServiceRegistry {
13
- queryServices(query?: ServiceQuery): Promise<ServiceType[]>;
14
- }
15
-
16
- export const categoryIcons: Record<string, string> = {
17
- finance: 'ph--bank--regular',
18
- health: 'ph--heart--regular',
19
- geolocation: 'ph--globe-simple--regular',
20
- education: 'ph--books--regular',
21
- entertainment: 'ph--music-notes--regular',
22
- shopping: 'ph--shopping-cart--regular',
23
- travel: 'ph--airplane-takeoff--regular',
24
- utilities: 'ph--lightning--regular',
25
- weather: 'ph--cloud-rain--regular',
26
- } as const;
@@ -1,132 +0,0 @@
1
- //
2
- // Copyright 2024 DXOS.org
3
- //
4
-
5
- import { ComputeGraph } from '@dxos/conductor';
6
- import { Expando, Ref, S, TypedObject, type Ref$ } from '@dxos/echo-schema';
7
- import { FunctionType } from '@dxos/functions';
8
-
9
- // TODO(burdon): Change to S.Literal (and discriminated union).
10
- export enum ChainInputType {
11
- VALUE = 0,
12
- PASS_THROUGH = 1,
13
- RETRIEVER = 2,
14
- FUNCTION = 3,
15
- QUERY = 4,
16
- RESOLVER = 5,
17
- CONTEXT = 6,
18
- SCHEMA = 7,
19
- }
20
-
21
- export const ChainInputSchema = S.mutable(
22
- S.Struct({
23
- name: S.String,
24
- type: S.optional(S.Enums(ChainInputType)),
25
- value: S.optional(S.String),
26
- }),
27
- );
28
-
29
- export type ChainInput = S.Schema.Type<typeof ChainInputSchema>;
30
-
31
- export class ChainPromptType extends TypedObject({ typename: 'dxos.org/type/ChainPrompt', version: '0.1.0' })({
32
- command: S.optional(S.String),
33
- template: S.String,
34
- inputs: S.optional(S.mutable(S.Array(ChainInputSchema))),
35
- }) {}
36
-
37
- export class ChainType extends TypedObject({ typename: 'dxos.org/type/Chain', version: '0.1.0' })({
38
- name: S.optional(S.String),
39
- prompts: S.optional(S.mutable(S.Array(Ref(ChainPromptType)))),
40
- }) {}
41
-
42
- export class AIChatType extends TypedObject({ typename: 'dxos.org/type/AIChat', version: '0.1.0' })({
43
- name: S.optional(S.String),
44
- // TODO(wittjosiah): Should be a ref to a Queue.
45
- queue: Ref(Expando),
46
- }) {}
47
-
48
- const ApiAuthorizationKey = S.Struct({
49
- type: S.Literal('api-key'),
50
- key: S.String,
51
- placement: S.Union(
52
- S.Struct({
53
- type: S.Literal('authorization-header'),
54
- }),
55
- S.Struct({
56
- type: S.Literal('query'),
57
- name: S.String,
58
- }),
59
- ),
60
- });
61
-
62
- const ApiAuthorizationOauth = S.Struct({
63
- type: S.Literal('oauth'),
64
- clientId: S.String,
65
- clientSecret: S.String,
66
- tokenUrl: S.String,
67
- grantType: S.String,
68
- });
69
-
70
- export const ApiAuthorization = S.Union(ApiAuthorizationKey, ApiAuthorizationOauth);
71
- export type ApiAuthorization = S.Schema.Type<typeof ApiAuthorization>;
72
-
73
- const ServiceInterfaceFunction = S.Struct({
74
- kind: S.Literal('function'),
75
- fn: Ref(FunctionType) as Ref$<FunctionType>,
76
- });
77
-
78
- const ServiceInterfaceWorkflow = S.Struct({
79
- kind: S.Literal('workflow'),
80
- workflow: Ref(ComputeGraph) as Ref$<ComputeGraph>,
81
- });
82
-
83
- const ServiceInterfaceApi = S.Struct({
84
- kind: S.Literal('api'),
85
-
86
- /**
87
- * URL to fetch the openapi schema.
88
- */
89
- schemaUrl: S.optional(S.String),
90
-
91
- /**
92
- * Inlined openapi schema.
93
- */
94
- schema: S.optional(S.Any),
95
-
96
- /**
97
- * Authorization configuration if required.
98
- */
99
- authorization: S.optional(ApiAuthorization),
100
- });
101
-
102
- const ServiceInterface = S.Union(ServiceInterfaceFunction, ServiceInterfaceWorkflow, ServiceInterfaceApi);
103
- export type ServiceInterface = S.Schema.Type<typeof ServiceInterface>;
104
-
105
- // export const ServiceType = S.Struct({
106
- // serviceId: S.String,
107
- // name: S.optional(S.String),
108
- // description: S.optional(S.String),
109
- // category: S.optional(S.String),
110
- // enabled: S.optional(S.Boolean),
111
-
112
- // /**
113
- // * Entries exposed: functions, workflows, and APIs.
114
- // */
115
- // interfaces: S.optional(S.Array(ServiceInterface)),
116
- // }).pipe(EchoObject('dxos.org/type/Service', '0.1.0'));
117
- // dxn:type:dxos.org/type/Service
118
-
119
- // export type ServiceType = S.Schema.Type<typeof ServiceType>;
120
-
121
- export class ServiceType extends TypedObject({ typename: 'dxos.org/type/ServiceType', version: '0.1.0' })({
122
- serviceId: S.String,
123
- name: S.optional(S.String),
124
- description: S.optional(S.String),
125
- category: S.optional(S.String),
126
- enabled: S.optional(S.Boolean),
127
-
128
- /**
129
- * Entries exposed: functions, workflows, and APIs.
130
- */
131
- interfaces: S.optional(S.Array(ServiceInterface)),
132
- }) {}
@@ -1,21 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { S } from '@dxos/echo-schema';
6
-
7
- import { AIChatType } from './schema';
8
- import { AUTOMATION_PLUGIN } from '../meta';
9
-
10
- export namespace AutomationAction {
11
- const AUTOMATION_ACTION = `${AUTOMATION_PLUGIN}/action`;
12
-
13
- export class Create extends S.TaggedClass<Create>()(`${AUTOMATION_ACTION}/create`, {
14
- input: S.Struct({
15
- name: S.optional(S.String),
16
- }),
17
- output: S.Struct({
18
- object: AIChatType,
19
- }),
20
- }) {}
21
- }