@dxos/plugin-automation 0.7.5-labs.8a82073 → 0.7.5-labs.a8b535d

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 (308) 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-DQ7ZSYJJ.mjs → chunk-OFDNNRLE.mjs} +3 -6
  4. package/dist/lib/browser/{chunk-DQ7ZSYJJ.mjs.map → chunk-OFDNNRLE.mjs.map} +3 -3
  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 -373
  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-IPCNJYQL.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-TQEDPRY5.cjs → chunk-ORMEYEBE.cjs} +6 -9
  23. package/dist/lib/node/{chunk-TQEDPRY5.cjs.map → chunk-ORMEYEBE.cjs.map} +3 -3
  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 -374
  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-BVZ63QP4.cjs → react-surface-2WRVAPGR.cjs} +9 -28
  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-JFHI22MF.mjs → chunk-6MUUH67V.mjs} +3 -6
  34. package/dist/lib/node-esm/{chunk-JFHI22MF.mjs.map → chunk-6MUUH67V.mjs.map} +3 -3
  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 -373
  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 -11
  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 -1
  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 -73
  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 +2 -16
  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 -7
  79. package/src/index.ts +2 -3
  80. package/src/meta.ts +1 -2
  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-CL2TWZT5.mjs +0 -8
  85. package/dist/lib/browser/AutomationPanel-CL2TWZT5.mjs.map +0 -7
  86. package/dist/lib/browser/ChatContainer-EJ3IWL7Y.mjs +0 -12
  87. package/dist/lib/browser/ChatContainer-EJ3IWL7Y.mjs.map +0 -7
  88. package/dist/lib/browser/ai-client-UJLNYP7B.mjs +0 -22
  89. package/dist/lib/browser/ai-client-UJLNYP7B.mjs.map +0 -7
  90. package/dist/lib/browser/app-graph-builder-3H5TCRG4.mjs +0 -162
  91. package/dist/lib/browser/app-graph-builder-3H5TCRG4.mjs.map +0 -7
  92. package/dist/lib/browser/chunk-43WRHV2L.mjs +0 -150
  93. package/dist/lib/browser/chunk-43WRHV2L.mjs.map +0 -7
  94. package/dist/lib/browser/chunk-4M74P6YW.mjs +0 -284
  95. package/dist/lib/browser/chunk-4M74P6YW.mjs.map +0 -7
  96. package/dist/lib/browser/chunk-6KJRL5KV.mjs +0 -243
  97. package/dist/lib/browser/chunk-6KJRL5KV.mjs.map +0 -7
  98. package/dist/lib/browser/chunk-BQHXJZ4K.mjs +0 -15
  99. package/dist/lib/browser/chunk-BQHXJZ4K.mjs.map +0 -7
  100. package/dist/lib/browser/chunk-N4SSCQ7P.mjs +0 -1602
  101. package/dist/lib/browser/chunk-N4SSCQ7P.mjs.map +0 -7
  102. package/dist/lib/browser/intent-resolver-5YVZJFS3.mjs +0 -29
  103. package/dist/lib/browser/intent-resolver-5YVZJFS3.mjs.map +0 -7
  104. package/dist/lib/browser/react-surface-RRTZFTKR.mjs +0 -50
  105. package/dist/lib/browser/react-surface-RRTZFTKR.mjs.map +0 -7
  106. package/dist/lib/browser/types/index.mjs +0 -24
  107. package/dist/lib/browser/types/index.mjs.map +0 -7
  108. package/dist/lib/node/AutomationPanel-BCEY3YXO.cjs +0 -26
  109. package/dist/lib/node/AutomationPanel-BCEY3YXO.cjs.map +0 -7
  110. package/dist/lib/node/ChatContainer-QUWFEBTI.cjs +0 -33
  111. package/dist/lib/node/ChatContainer-QUWFEBTI.cjs.map +0 -7
  112. package/dist/lib/node/ai-client-AOB6TLNW.cjs +0 -38
  113. package/dist/lib/node/ai-client-AOB6TLNW.cjs.map +0 -7
  114. package/dist/lib/node/app-graph-builder-CDEQJEHY.cjs +0 -178
  115. package/dist/lib/node/app-graph-builder-CDEQJEHY.cjs.map +0 -7
  116. package/dist/lib/node/chunk-AWZVJZ2I.cjs +0 -34
  117. package/dist/lib/node/chunk-AWZVJZ2I.cjs.map +0 -7
  118. package/dist/lib/node/chunk-DKGNORZK.cjs +0 -1586
  119. package/dist/lib/node/chunk-DKGNORZK.cjs.map +0 -7
  120. package/dist/lib/node/chunk-H3RSMGJG.cjs +0 -173
  121. package/dist/lib/node/chunk-H3RSMGJG.cjs.map +0 -7
  122. package/dist/lib/node/chunk-IPCNJYQL.cjs.map +0 -7
  123. package/dist/lib/node/chunk-LC6KNDPQ.cjs +0 -302
  124. package/dist/lib/node/chunk-LC6KNDPQ.cjs.map +0 -7
  125. package/dist/lib/node/intent-resolver-MJFZT5IU.cjs +0 -44
  126. package/dist/lib/node/intent-resolver-MJFZT5IU.cjs.map +0 -7
  127. package/dist/lib/node/react-surface-BVZ63QP4.cjs.map +0 -7
  128. package/dist/lib/node/types/index.cjs +0 -46
  129. package/dist/lib/node/types/index.cjs.map +0 -7
  130. package/dist/lib/node-esm/AutomationPanel-YTIZ74RI.mjs +0 -9
  131. package/dist/lib/node-esm/AutomationPanel-YTIZ74RI.mjs.map +0 -7
  132. package/dist/lib/node-esm/ChatContainer-QSMDZRDU.mjs +0 -13
  133. package/dist/lib/node-esm/ChatContainer-QSMDZRDU.mjs.map +0 -7
  134. package/dist/lib/node-esm/ai-client-RUCCJ7JZ.mjs +0 -23
  135. package/dist/lib/node-esm/ai-client-RUCCJ7JZ.mjs.map +0 -7
  136. package/dist/lib/node-esm/app-graph-builder-GR3URVNX.mjs +0 -163
  137. package/dist/lib/node-esm/app-graph-builder-GR3URVNX.mjs.map +0 -7
  138. package/dist/lib/node-esm/chunk-7JO77AAS.mjs +0 -151
  139. package/dist/lib/node-esm/chunk-7JO77AAS.mjs.map +0 -7
  140. package/dist/lib/node-esm/chunk-CQPQXIJP.mjs +0 -285
  141. package/dist/lib/node-esm/chunk-CQPQXIJP.mjs.map +0 -7
  142. package/dist/lib/node-esm/chunk-CZXU4CFK.mjs +0 -244
  143. package/dist/lib/node-esm/chunk-CZXU4CFK.mjs.map +0 -7
  144. package/dist/lib/node-esm/chunk-D7RARVTS.mjs +0 -1603
  145. package/dist/lib/node-esm/chunk-D7RARVTS.mjs.map +0 -7
  146. package/dist/lib/node-esm/chunk-LSSWQIQD.mjs +0 -16
  147. package/dist/lib/node-esm/chunk-LSSWQIQD.mjs.map +0 -7
  148. package/dist/lib/node-esm/intent-resolver-FCKNRTKQ.mjs +0 -30
  149. package/dist/lib/node-esm/intent-resolver-FCKNRTKQ.mjs.map +0 -7
  150. package/dist/lib/node-esm/react-surface-Y5LQHUQN.mjs +0 -51
  151. package/dist/lib/node-esm/react-surface-Y5LQHUQN.mjs.map +0 -7
  152. package/dist/lib/node-esm/types/index.mjs +0 -25
  153. package/dist/lib/node-esm/types/index.mjs.map +0 -7
  154. package/dist/types/src/artifacts.stories.d.ts +0 -16
  155. package/dist/types/src/artifacts.stories.d.ts.map +0 -1
  156. package/dist/types/src/capabilities/ai-client.d.ts.map +0 -1
  157. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -180
  158. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  159. package/dist/types/src/capabilities/capabilities.d.ts +0 -5
  160. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  161. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  162. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  163. package/dist/types/src/components/Box/StatusLine.d.ts +0 -11
  164. package/dist/types/src/components/Box/StatusLine.d.ts.map +0 -1
  165. package/dist/types/src/components/Box/StatusLine.stories.d.ts +0 -9
  166. package/dist/types/src/components/Box/StatusLine.stories.d.ts.map +0 -1
  167. package/dist/types/src/components/Box/Tabbed.d.ts +0 -15
  168. package/dist/types/src/components/Box/Tabbed.d.ts.map +0 -1
  169. package/dist/types/src/components/Box/Tabbed.stories.d.ts +0 -8
  170. package/dist/types/src/components/Box/Tabbed.stories.d.ts.map +0 -1
  171. package/dist/types/src/components/Box/ToggleContainer.d.ts +0 -13
  172. package/dist/types/src/components/Box/ToggleContainer.d.ts.map +0 -1
  173. package/dist/types/src/components/Box/ToggleContainer.stories.d.ts +0 -9
  174. package/dist/types/src/components/Box/ToggleContainer.stories.d.ts.map +0 -1
  175. package/dist/types/src/components/Box/index.d.ts +0 -4
  176. package/dist/types/src/components/Box/index.d.ts.map +0 -1
  177. package/dist/types/src/components/ChatContainer/ChatContainer.d.ts +0 -7
  178. package/dist/types/src/components/ChatContainer/ChatContainer.d.ts.map +0 -1
  179. package/dist/types/src/components/ChatContainer/index.d.ts +0 -4
  180. package/dist/types/src/components/ChatContainer/index.d.ts.map +0 -1
  181. package/dist/types/src/components/MarkdownViewer/MarkdownViewer.d.ts +0 -14
  182. package/dist/types/src/components/MarkdownViewer/MarkdownViewer.d.ts.map +0 -1
  183. package/dist/types/src/components/MarkdownViewer/MarkdownViewer.stories.d.ts +0 -8
  184. package/dist/types/src/components/MarkdownViewer/MarkdownViewer.stories.d.ts.map +0 -1
  185. package/dist/types/src/components/MarkdownViewer/index.d.ts +0 -2
  186. package/dist/types/src/components/MarkdownViewer/index.d.ts.map +0 -1
  187. package/dist/types/src/components/Prompt/Prompt.d.ts +0 -7
  188. package/dist/types/src/components/Prompt/Prompt.d.ts.map +0 -1
  189. package/dist/types/src/components/Prompt/Prompt.stories.d.ts +0 -8
  190. package/dist/types/src/components/Prompt/Prompt.stories.d.ts.map +0 -1
  191. package/dist/types/src/components/Prompt/index.d.ts +0 -2
  192. package/dist/types/src/components/Prompt/index.d.ts.map +0 -1
  193. package/dist/types/src/components/Prompt/prompt-autocomplete.d.ts +0 -20
  194. package/dist/types/src/components/Prompt/prompt-autocomplete.d.ts.map +0 -1
  195. package/dist/types/src/components/PromptEditor/PromptEditor.d.ts +0 -10
  196. package/dist/types/src/components/PromptEditor/PromptEditor.d.ts.map +0 -1
  197. package/dist/types/src/components/PromptEditor/PromptEditor.stories.d.ts +0 -6
  198. package/dist/types/src/components/PromptEditor/PromptEditor.stories.d.ts.map +0 -1
  199. package/dist/types/src/components/PromptEditor/index.d.ts +0 -2
  200. package/dist/types/src/components/PromptEditor/index.d.ts.map +0 -1
  201. package/dist/types/src/components/PromptEditor/prompt-extension.d.ts +0 -4
  202. package/dist/types/src/components/PromptEditor/prompt-extension.d.ts.map +0 -1
  203. package/dist/types/src/components/PromptEditor/types.d.ts +0 -18
  204. package/dist/types/src/components/PromptEditor/types.d.ts.map +0 -1
  205. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.d.ts +0 -6
  206. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.d.ts.map +0 -1
  207. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.stories.d.ts +0 -8
  208. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.stories.d.ts.map +0 -1
  209. package/dist/types/src/components/ServiceRegistry/index.d.ts +0 -2
  210. package/dist/types/src/components/ServiceRegistry/index.d.ts.map +0 -1
  211. package/dist/types/src/components/Thread/Thread.d.ts +0 -11
  212. package/dist/types/src/components/Thread/Thread.d.ts.map +0 -1
  213. package/dist/types/src/components/Thread/Thread.stories.d.ts +0 -11
  214. package/dist/types/src/components/Thread/Thread.stories.d.ts.map +0 -1
  215. package/dist/types/src/components/Thread/ThreadMessage.d.ts +0 -12
  216. package/dist/types/src/components/Thread/ThreadMessage.d.ts.map +0 -1
  217. package/dist/types/src/components/Thread/index.d.ts +0 -2
  218. package/dist/types/src/components/Thread/index.d.ts.map +0 -1
  219. package/dist/types/src/hooks/email.d.ts +0 -4
  220. package/dist/types/src/hooks/email.d.ts.map +0 -1
  221. package/dist/types/src/hooks/index.d.ts +0 -6
  222. package/dist/types/src/hooks/index.d.ts.map +0 -1
  223. package/dist/types/src/hooks/invocation-handler.d.ts +0 -5
  224. package/dist/types/src/hooks/invocation-handler.d.ts.map +0 -1
  225. package/dist/types/src/hooks/processor.d.ts +0 -70
  226. package/dist/types/src/hooks/processor.d.ts.map +0 -1
  227. package/dist/types/src/hooks/processor.test.d.ts +0 -2
  228. package/dist/types/src/hooks/processor.test.d.ts.map +0 -1
  229. package/dist/types/src/hooks/useChatProcessor.d.ts +0 -7
  230. package/dist/types/src/hooks/useChatProcessor.d.ts.map +0 -1
  231. package/dist/types/src/hooks/useLocalTriggerManager.d.ts +0 -3
  232. package/dist/types/src/hooks/useLocalTriggerManager.d.ts.map +0 -1
  233. package/dist/types/src/hooks/useMessageQueue.d.ts +0 -41
  234. package/dist/types/src/hooks/useMessageQueue.d.ts.map +0 -1
  235. package/dist/types/src/hooks/useServices.d.ts +0 -7
  236. package/dist/types/src/hooks/useServices.d.ts.map +0 -1
  237. package/dist/types/src/presets.d.ts +0 -9
  238. package/dist/types/src/presets.d.ts.map +0 -1
  239. package/dist/types/src/testing/test-services.d.ts +0 -5
  240. package/dist/types/src/testing/test-services.d.ts.map +0 -1
  241. package/dist/types/src/tools/function.d.ts +0 -5
  242. package/dist/types/src/tools/function.d.ts.map +0 -1
  243. package/dist/types/src/tools/index.d.ts +0 -3
  244. package/dist/types/src/tools/index.d.ts.map +0 -1
  245. package/dist/types/src/tools/openapi.d.ts +0 -10
  246. package/dist/types/src/tools/openapi.d.ts.map +0 -1
  247. package/dist/types/src/tools/openapi.test.d.ts +0 -2
  248. package/dist/types/src/tools/openapi.test.d.ts.map +0 -1
  249. package/dist/types/src/types/index.d.ts +0 -4
  250. package/dist/types/src/types/index.d.ts.map +0 -1
  251. package/dist/types/src/types/registry.d.ts +0 -10
  252. package/dist/types/src/types/registry.d.ts.map +0 -1
  253. package/dist/types/src/types/schema.d.ts +0 -221
  254. package/dist/types/src/types/schema.d.ts.map +0 -1
  255. package/dist/types/src/types/types.d.ts +0 -18
  256. package/dist/types/src/types/types.d.ts.map +0 -1
  257. package/src/artifacts.stories.tsx +0 -241
  258. package/src/capabilities/ai-client.ts +0 -19
  259. package/src/capabilities/app-graph-builder.ts +0 -156
  260. package/src/capabilities/capabilities.ts +0 -12
  261. package/src/capabilities/intent-resolver.ts +0 -27
  262. package/src/components/Box/StatusLine.stories.tsx +0 -52
  263. package/src/components/Box/StatusLine.tsx +0 -76
  264. package/src/components/Box/Tabbed.stories.tsx +0 -51
  265. package/src/components/Box/Tabbed.tsx +0 -89
  266. package/src/components/Box/ToggleContainer.stories.tsx +0 -110
  267. package/src/components/Box/ToggleContainer.tsx +0 -108
  268. package/src/components/Box/index.ts +0 -7
  269. package/src/components/ChatContainer/ChatContainer.tsx +0 -52
  270. package/src/components/ChatContainer/index.ts +0 -8
  271. package/src/components/MarkdownViewer/MarkdownViewer.stories.tsx +0 -56
  272. package/src/components/MarkdownViewer/MarkdownViewer.tsx +0 -79
  273. package/src/components/MarkdownViewer/index.ts +0 -5
  274. package/src/components/Prompt/Prompt.stories.tsx +0 -50
  275. package/src/components/Prompt/Prompt.tsx +0 -36
  276. package/src/components/Prompt/index.ts +0 -5
  277. package/src/components/Prompt/prompt-autocomplete.ts +0 -200
  278. package/src/components/PromptEditor/PromptEditor.stories.tsx +0 -64
  279. package/src/components/PromptEditor/PromptEditor.tsx +0 -222
  280. package/src/components/PromptEditor/index.ts +0 -5
  281. package/src/components/PromptEditor/prompt-extension.ts +0 -43
  282. package/src/components/PromptEditor/types.tsx +0 -28
  283. package/src/components/ServiceRegistry/ServiceRegistry.stories.tsx +0 -49
  284. package/src/components/ServiceRegistry/ServiceRegistry.tsx +0 -75
  285. package/src/components/ServiceRegistry/index.ts +0 -5
  286. package/src/components/Thread/Thread.stories.tsx +0 -197
  287. package/src/components/Thread/Thread.tsx +0 -156
  288. package/src/components/Thread/ThreadMessage.tsx +0 -225
  289. package/src/components/Thread/index.ts +0 -5
  290. package/src/hooks/email.ts +0 -49
  291. package/src/hooks/index.ts +0 -10
  292. package/src/hooks/invocation-handler.ts +0 -109
  293. package/src/hooks/processor.test.ts +0 -15
  294. package/src/hooks/processor.ts +0 -210
  295. package/src/hooks/useChatProcessor.tsx +0 -86
  296. package/src/hooks/useLocalTriggerManager.ts +0 -82
  297. package/src/hooks/useMessageQueue.ts +0 -23
  298. package/src/hooks/useServices.ts +0 -28
  299. package/src/presets.ts +0 -248
  300. package/src/testing/test-services.ts +0 -131
  301. package/src/tools/function.ts +0 -47
  302. package/src/tools/index.ts +0 -6
  303. package/src/tools/openapi.test.ts +0 -227
  304. package/src/tools/openapi.ts +0 -331
  305. package/src/types/index.ts +0 -7
  306. package/src/types/registry.ts +0 -26
  307. package/src/types/schema.ts +0 -132
  308. package/src/types/types.ts +0 -21
@@ -1,163 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- AUTOMATION_PLUGIN
4
- } from "./chunk-JFHI22MF.mjs";
5
-
6
- // packages/plugins/experimental/plugin-automation/src/capabilities/app-graph-builder.ts
7
- import { Capabilities, contributes } from "@dxos/app-framework";
8
- import { ClientCapabilities } from "@dxos/plugin-client";
9
- import { createExtension, toSignal } from "@dxos/plugin-graph";
10
- import { memoizeQuery } from "@dxos/plugin-space";
11
- import { getTypename, parseId, SpaceState } from "@dxos/react-client/echo";
12
- var app_graph_builder_default = (context) => {
13
- const resolve = (typename) => context.requestCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};
14
- return contributes(Capabilities.AppGraphBuilder, [
15
- createExtension({
16
- id: `${AUTOMATION_PLUGIN}/service-registry`,
17
- resolver: ({ id }) => {
18
- if (!id.endsWith("~service-registry")) {
19
- return;
20
- }
21
- const type = "orphan-settings-for-subject";
22
- const icon = "ph--plugs--regular";
23
- const client = context.requestCapability(ClientCapabilities.Client);
24
- const [subjectId] = id.split("~");
25
- const { spaceId } = parseId(subjectId);
26
- const spaces = toSignal((onChange) => client.spaces.subscribe(() => onChange()).unsubscribe, () => client.spaces.get());
27
- const space = spaces?.find((space2) => space2.id === spaceId && space2.state.get() === SpaceState.SPACE_READY);
28
- return {
29
- id,
30
- type,
31
- data: null,
32
- properties: {
33
- icon,
34
- label: [
35
- "service registry label",
36
- {
37
- ns: AUTOMATION_PLUGIN
38
- }
39
- ],
40
- object: null,
41
- space
42
- }
43
- };
44
- }
45
- }),
46
- createExtension({
47
- id: `${AUTOMATION_PLUGIN}/automation-for-subject`,
48
- resolver: ({ id }) => {
49
- if (!id.endsWith("~automation")) {
50
- return;
51
- }
52
- const type = "orphan-settings-for-subject";
53
- const icon = "ph--magic-wand--regular";
54
- const client = context.requestCapability(ClientCapabilities.Client);
55
- const [subjectId] = id.split("~");
56
- const { spaceId, objectId } = parseId(subjectId);
57
- const spaces = toSignal((onChange) => client.spaces.subscribe(() => onChange()).unsubscribe, () => client.spaces.get());
58
- const space = spaces?.find((space2) => space2.id === spaceId && space2.state.get() === SpaceState.SPACE_READY);
59
- if (!objectId) {
60
- const label2 = space ? space.properties.name || [
61
- "unnamed space label",
62
- {
63
- ns: AUTOMATION_PLUGIN
64
- }
65
- ] : [
66
- "unnamed object settings label",
67
- {
68
- ns: AUTOMATION_PLUGIN
69
- }
70
- ];
71
- return {
72
- id,
73
- type,
74
- data: null,
75
- properties: {
76
- icon,
77
- label: label2,
78
- showResolvedThreads: false,
79
- object: null,
80
- space
81
- }
82
- };
83
- }
84
- const [object] = memoizeQuery(space, {
85
- id: objectId
86
- });
87
- if (!object || !subjectId) {
88
- return;
89
- }
90
- const meta = resolve(getTypename(object) ?? "");
91
- const label = meta.label?.(object) || object.name || meta.placeholder || [
92
- "unnamed object settings label",
93
- {
94
- ns: AUTOMATION_PLUGIN
95
- }
96
- ];
97
- return {
98
- id,
99
- type,
100
- data: null,
101
- properties: {
102
- icon,
103
- label,
104
- object
105
- }
106
- };
107
- }
108
- }),
109
- createExtension({
110
- id: `${AUTOMATION_PLUGIN}/assistant-for-subject`,
111
- resolver: ({ id }) => {
112
- if (!id.endsWith("~assistant")) {
113
- return;
114
- }
115
- const client = context.requestCapability(ClientCapabilities.Client);
116
- const [subjectId] = id.split("~");
117
- const { spaceId, objectId } = parseId(subjectId);
118
- const spaces = toSignal((onChange) => client.spaces.subscribe(() => onChange()).unsubscribe, () => client.spaces.get());
119
- const space = spaces?.find((space2) => space2.id === spaceId && space2.state.get() === SpaceState.SPACE_READY);
120
- if (!objectId) {
121
- return {
122
- id,
123
- type: "orphan-automation-for-subject",
124
- data: null,
125
- properties: {
126
- icon: "ph--atom--regular",
127
- label: [
128
- "assistant panel label",
129
- {
130
- ns: AUTOMATION_PLUGIN
131
- }
132
- ],
133
- object: null,
134
- space
135
- }
136
- };
137
- }
138
- const [object] = memoizeQuery(space, {
139
- id: objectId
140
- });
141
- return {
142
- id,
143
- type: "orphan-automation-for-subject",
144
- data: null,
145
- properties: {
146
- icon: "ph--atom--regular",
147
- label: [
148
- "assistant panel label",
149
- {
150
- ns: AUTOMATION_PLUGIN
151
- }
152
- ],
153
- object
154
- }
155
- };
156
- }
157
- })
158
- ]);
159
- };
160
- export {
161
- app_graph_builder_default as default
162
- };
163
- //# sourceMappingURL=app-graph-builder-GR3URVNX.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/app-graph-builder.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, type PluginsContext } from '@dxos/app-framework';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { createExtension, toSignal } from '@dxos/plugin-graph';\nimport { memoizeQuery } from '@dxos/plugin-space';\nimport { getTypename, parseId, SpaceState } from '@dxos/react-client/echo';\n\nimport { AUTOMATION_PLUGIN } from '../meta';\n\nexport default (context: PluginsContext) => {\n const resolve = (typename: string) =>\n context.requestCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};\n\n return contributes(Capabilities.AppGraphBuilder, [\n createExtension({\n id: `${AUTOMATION_PLUGIN}/service-registry`,\n resolver: ({ id }) => {\n if (!id.endsWith('~service-registry')) {\n return;\n }\n\n const type = 'orphan-settings-for-subject';\n const icon = 'ph--plugs--regular';\n\n const client = context.requestCapability(ClientCapabilities.Client);\n const [subjectId] = id.split('~');\n const { spaceId } = parseId(subjectId);\n const spaces = toSignal(\n (onChange) => client.spaces.subscribe(() => onChange()).unsubscribe,\n () => client.spaces.get(),\n );\n const space = spaces?.find((space) => space.id === spaceId && space.state.get() === SpaceState.SPACE_READY);\n return {\n id,\n type,\n data: null,\n properties: {\n icon,\n label: ['service registry label', { ns: AUTOMATION_PLUGIN }],\n object: null,\n space,\n },\n };\n },\n }),\n createExtension({\n id: `${AUTOMATION_PLUGIN}/automation-for-subject`,\n resolver: ({ id }) => {\n if (!id.endsWith('~automation')) {\n return;\n }\n\n const type = 'orphan-settings-for-subject';\n const icon = 'ph--magic-wand--regular';\n\n const client = context.requestCapability(ClientCapabilities.Client);\n const [subjectId] = id.split('~');\n const { spaceId, objectId } = parseId(subjectId);\n const spaces = toSignal(\n (onChange) => client.spaces.subscribe(() => onChange()).unsubscribe,\n () => client.spaces.get(),\n );\n const space = spaces?.find((space) => space.id === spaceId && space.state.get() === SpaceState.SPACE_READY);\n if (!objectId) {\n // TODO(burdon): Ref SPACE_PLUGIN ns.\n const label = space\n ? space.properties.name || ['unnamed space label', { ns: AUTOMATION_PLUGIN }]\n : ['unnamed object settings label', { ns: AUTOMATION_PLUGIN }];\n\n // TODO(wittjosiah): Support comments for arbitrary subjects.\n // This is to ensure that the comments panel is not stuck on an old object.\n return {\n id,\n type,\n data: null,\n properties: {\n icon,\n label,\n showResolvedThreads: false,\n object: null,\n space,\n },\n };\n }\n\n const [object] = memoizeQuery(space, { id: objectId });\n if (!object || !subjectId) {\n return;\n }\n\n const meta = resolve(getTypename(object) ?? '');\n const label = meta.label?.(object) ||\n object.name ||\n meta.placeholder || ['unnamed object settings label', { ns: AUTOMATION_PLUGIN }];\n\n return {\n id,\n type,\n data: null,\n properties: {\n icon,\n label,\n object,\n },\n };\n },\n }),\n createExtension({\n id: `${AUTOMATION_PLUGIN}/assistant-for-subject`,\n resolver: ({ id }) => {\n if (!id.endsWith('~assistant')) {\n return;\n }\n\n const client = context.requestCapability(ClientCapabilities.Client);\n const [subjectId] = id.split('~');\n const { spaceId, objectId } = parseId(subjectId);\n const spaces = toSignal(\n (onChange) => client.spaces.subscribe(() => onChange()).unsubscribe,\n () => client.spaces.get(),\n );\n const space = spaces?.find((space) => space.id === spaceId && space.state.get() === SpaceState.SPACE_READY);\n if (!objectId) {\n // TODO(wittjosiah): Support assistant for arbitrary subjects.\n // This is to ensure that the assistant panel is not stuck on an old object.\n return {\n id,\n type: 'orphan-automation-for-subject',\n data: null,\n properties: {\n icon: 'ph--atom--regular',\n label: ['assistant panel label', { ns: AUTOMATION_PLUGIN }],\n object: null,\n space,\n },\n };\n }\n\n const [object] = memoizeQuery(space, { id: objectId });\n return {\n id,\n type: 'orphan-automation-for-subject',\n data: null,\n properties: {\n icon: 'ph--atom--regular',\n label: ['assistant panel label', { ns: AUTOMATION_PLUGIN }],\n object,\n },\n };\n },\n }),\n ]);\n};\n"],
5
- "mappings": "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",
6
- "names": ["Capabilities", "contributes", "ClientCapabilities", "createExtension", "toSignal", "memoizeQuery", "getTypename", "parseId", "SpaceState", "context", "resolve", "typename", "requestCapabilities", "Capabilities", "Metadata", "find", "id", "metadata", "contributes", "AppGraphBuilder", "createExtension", "AUTOMATION_PLUGIN", "resolver", "endsWith", "type", "icon", "client", "requestCapability", "ClientCapabilities", "Client", "subjectId", "split", "spaceId", "parseId", "spaces", "toSignal", "onChange", "subscribe", "unsubscribe", "get", "space", "state", "SpaceState", "SPACE_READY", "data", "properties", "label", "ns", "object", "objectId", "name", "showResolvedThreads", "memoizeQuery", "meta", "getTypename", "placeholder"]
7
- }
@@ -1,151 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- AUTOMATION_PLUGIN
4
- } from "./chunk-JFHI22MF.mjs";
5
-
6
- // packages/plugins/experimental/plugin-automation/src/types/registry.ts
7
- var categoryIcons = {
8
- finance: "ph--bank--regular",
9
- health: "ph--heart--regular",
10
- geolocation: "ph--globe-simple--regular",
11
- education: "ph--books--regular",
12
- entertainment: "ph--music-notes--regular",
13
- shopping: "ph--shopping-cart--regular",
14
- travel: "ph--airplane-takeoff--regular",
15
- utilities: "ph--lightning--regular",
16
- weather: "ph--cloud-rain--regular"
17
- };
18
-
19
- // packages/plugins/experimental/plugin-automation/src/types/schema.ts
20
- import { ComputeGraph } from "@dxos/conductor";
21
- import { Expando, Ref, S, TypedObject } from "@dxos/echo-schema";
22
- import { FunctionType } from "@dxos/functions";
23
- var ChainInputType;
24
- (function(ChainInputType2) {
25
- ChainInputType2[ChainInputType2["VALUE"] = 0] = "VALUE";
26
- ChainInputType2[ChainInputType2["PASS_THROUGH"] = 1] = "PASS_THROUGH";
27
- ChainInputType2[ChainInputType2["RETRIEVER"] = 2] = "RETRIEVER";
28
- ChainInputType2[ChainInputType2["FUNCTION"] = 3] = "FUNCTION";
29
- ChainInputType2[ChainInputType2["QUERY"] = 4] = "QUERY";
30
- ChainInputType2[ChainInputType2["RESOLVER"] = 5] = "RESOLVER";
31
- ChainInputType2[ChainInputType2["CONTEXT"] = 6] = "CONTEXT";
32
- ChainInputType2[ChainInputType2["SCHEMA"] = 7] = "SCHEMA";
33
- })(ChainInputType || (ChainInputType = {}));
34
- var ChainInputSchema = S.mutable(S.Struct({
35
- name: S.String,
36
- type: S.optional(S.Enums(ChainInputType)),
37
- value: S.optional(S.String)
38
- }));
39
- var ChainPromptType = class extends TypedObject({
40
- typename: "dxos.org/type/ChainPrompt",
41
- version: "0.1.0"
42
- })({
43
- command: S.optional(S.String),
44
- template: S.String,
45
- inputs: S.optional(S.mutable(S.Array(ChainInputSchema)))
46
- }) {
47
- };
48
- var ChainType = class extends TypedObject({
49
- typename: "dxos.org/type/Chain",
50
- version: "0.1.0"
51
- })({
52
- name: S.optional(S.String),
53
- prompts: S.optional(S.mutable(S.Array(Ref(ChainPromptType))))
54
- }) {
55
- };
56
- var AIChatType = class extends TypedObject({
57
- typename: "dxos.org/type/AIChat",
58
- version: "0.1.0"
59
- })({
60
- name: S.optional(S.String),
61
- // TODO(wittjosiah): Should be a ref to a Queue.
62
- queue: Ref(Expando)
63
- }) {
64
- };
65
- var ApiAuthorizationKey = S.Struct({
66
- type: S.Literal("api-key"),
67
- key: S.String,
68
- placement: S.Union(S.Struct({
69
- type: S.Literal("authorization-header")
70
- }), S.Struct({
71
- type: S.Literal("query"),
72
- name: S.String
73
- }))
74
- });
75
- var ApiAuthorizationOauth = S.Struct({
76
- type: S.Literal("oauth"),
77
- clientId: S.String,
78
- clientSecret: S.String,
79
- tokenUrl: S.String,
80
- grantType: S.String
81
- });
82
- var ApiAuthorization = S.Union(ApiAuthorizationKey, ApiAuthorizationOauth);
83
- var ServiceInterfaceFunction = S.Struct({
84
- kind: S.Literal("function"),
85
- fn: Ref(FunctionType)
86
- });
87
- var ServiceInterfaceWorkflow = S.Struct({
88
- kind: S.Literal("workflow"),
89
- workflow: Ref(ComputeGraph)
90
- });
91
- var ServiceInterfaceApi = S.Struct({
92
- kind: S.Literal("api"),
93
- /**
94
- * URL to fetch the openapi schema.
95
- */
96
- schemaUrl: S.optional(S.String),
97
- /**
98
- * Inlined openapi schema.
99
- */
100
- schema: S.optional(S.Any),
101
- /**
102
- * Authorization configuration if required.
103
- */
104
- authorization: S.optional(ApiAuthorization)
105
- });
106
- var ServiceInterface = S.Union(ServiceInterfaceFunction, ServiceInterfaceWorkflow, ServiceInterfaceApi);
107
- var ServiceType = class extends TypedObject({
108
- typename: "dxos.org/type/ServiceType",
109
- version: "0.1.0"
110
- })({
111
- serviceId: S.String,
112
- name: S.optional(S.String),
113
- description: S.optional(S.String),
114
- category: S.optional(S.String),
115
- enabled: S.optional(S.Boolean),
116
- /**
117
- * Entries exposed: functions, workflows, and APIs.
118
- */
119
- interfaces: S.optional(S.Array(ServiceInterface))
120
- }) {
121
- };
122
-
123
- // packages/plugins/experimental/plugin-automation/src/types/types.ts
124
- import { S as S2 } from "@dxos/echo-schema";
125
- var AutomationAction;
126
- (function(AutomationAction2) {
127
- const AUTOMATION_ACTION = `${AUTOMATION_PLUGIN}/action`;
128
- class Create extends S2.TaggedClass()(`${AUTOMATION_ACTION}/create`, {
129
- input: S2.Struct({
130
- name: S2.optional(S2.String)
131
- }),
132
- output: S2.Struct({
133
- object: AIChatType
134
- })
135
- }) {
136
- }
137
- AutomationAction2.Create = Create;
138
- })(AutomationAction || (AutomationAction = {}));
139
-
140
- export {
141
- categoryIcons,
142
- ChainInputType,
143
- ChainInputSchema,
144
- ChainPromptType,
145
- ChainType,
146
- AIChatType,
147
- ApiAuthorization,
148
- ServiceType,
149
- AutomationAction
150
- };
151
- //# sourceMappingURL=chunk-7JO77AAS.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/types/registry.ts", "../../../src/types/schema.ts", "../../../src/types/types.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type ServiceType } from './schema';\n\nexport type ServiceQuery = {\n name?: string;\n category?: string;\n};\n\nexport interface BaseServiceRegistry {\n queryServices(query?: ServiceQuery): Promise<ServiceType[]>;\n}\n\nexport const categoryIcons: Record<string, string> = {\n finance: 'ph--bank--regular',\n health: 'ph--heart--regular',\n geolocation: 'ph--globe-simple--regular',\n education: 'ph--books--regular',\n entertainment: 'ph--music-notes--regular',\n shopping: 'ph--shopping-cart--regular',\n travel: 'ph--airplane-takeoff--regular',\n utilities: 'ph--lightning--regular',\n weather: 'ph--cloud-rain--regular',\n} as const;\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { ComputeGraph } from '@dxos/conductor';\nimport { Expando, Ref, S, TypedObject, type Ref$ } from '@dxos/echo-schema';\nimport { FunctionType } from '@dxos/functions';\n\n// TODO(burdon): Change to S.Literal (and discriminated union).\nexport enum ChainInputType {\n VALUE = 0,\n PASS_THROUGH = 1,\n RETRIEVER = 2,\n FUNCTION = 3,\n QUERY = 4,\n RESOLVER = 5,\n CONTEXT = 6,\n SCHEMA = 7,\n}\n\nexport const ChainInputSchema = S.mutable(\n S.Struct({\n name: S.String,\n type: S.optional(S.Enums(ChainInputType)),\n value: S.optional(S.String),\n }),\n);\n\nexport type ChainInput = S.Schema.Type<typeof ChainInputSchema>;\n\nexport class ChainPromptType extends TypedObject({ typename: 'dxos.org/type/ChainPrompt', version: '0.1.0' })({\n command: S.optional(S.String),\n template: S.String,\n inputs: S.optional(S.mutable(S.Array(ChainInputSchema))),\n}) {}\n\nexport class ChainType extends TypedObject({ typename: 'dxos.org/type/Chain', version: '0.1.0' })({\n name: S.optional(S.String),\n prompts: S.optional(S.mutable(S.Array(Ref(ChainPromptType)))),\n}) {}\n\nexport class AIChatType extends TypedObject({ typename: 'dxos.org/type/AIChat', version: '0.1.0' })({\n name: S.optional(S.String),\n // TODO(wittjosiah): Should be a ref to a Queue.\n queue: Ref(Expando),\n}) {}\n\nconst ApiAuthorizationKey = S.Struct({\n type: S.Literal('api-key'),\n key: S.String,\n placement: S.Union(\n S.Struct({\n type: S.Literal('authorization-header'),\n }),\n S.Struct({\n type: S.Literal('query'),\n name: S.String,\n }),\n ),\n});\n\nconst ApiAuthorizationOauth = S.Struct({\n type: S.Literal('oauth'),\n clientId: S.String,\n clientSecret: S.String,\n tokenUrl: S.String,\n grantType: S.String,\n});\n\nexport const ApiAuthorization = S.Union(ApiAuthorizationKey, ApiAuthorizationOauth);\nexport type ApiAuthorization = S.Schema.Type<typeof ApiAuthorization>;\n\nconst ServiceInterfaceFunction = S.Struct({\n kind: S.Literal('function'),\n fn: Ref(FunctionType) as Ref$<FunctionType>,\n});\n\nconst ServiceInterfaceWorkflow = S.Struct({\n kind: S.Literal('workflow'),\n workflow: Ref(ComputeGraph) as Ref$<ComputeGraph>,\n});\n\nconst ServiceInterfaceApi = S.Struct({\n kind: S.Literal('api'),\n\n /**\n * URL to fetch the openapi schema.\n */\n schemaUrl: S.optional(S.String),\n\n /**\n * Inlined openapi schema.\n */\n schema: S.optional(S.Any),\n\n /**\n * Authorization configuration if required.\n */\n authorization: S.optional(ApiAuthorization),\n});\n\nconst ServiceInterface = S.Union(ServiceInterfaceFunction, ServiceInterfaceWorkflow, ServiceInterfaceApi);\nexport type ServiceInterface = S.Schema.Type<typeof ServiceInterface>;\n\n// export const ServiceType = S.Struct({\n// serviceId: S.String,\n// name: S.optional(S.String),\n// description: S.optional(S.String),\n// category: S.optional(S.String),\n// enabled: S.optional(S.Boolean),\n\n// /**\n// * Entries exposed: functions, workflows, and APIs.\n// */\n// interfaces: S.optional(S.Array(ServiceInterface)),\n// }).pipe(EchoObject('dxos.org/type/Service', '0.1.0'));\n// dxn:type:dxos.org/type/Service\n\n// export type ServiceType = S.Schema.Type<typeof ServiceType>;\n\nexport class ServiceType extends TypedObject({ typename: 'dxos.org/type/ServiceType', version: '0.1.0' })({\n serviceId: S.String,\n name: S.optional(S.String),\n description: S.optional(S.String),\n category: S.optional(S.String),\n enabled: S.optional(S.Boolean),\n\n /**\n * Entries exposed: functions, workflows, and APIs.\n */\n interfaces: S.optional(S.Array(ServiceInterface)),\n}) {}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { S } from '@dxos/echo-schema';\n\nimport { AIChatType } from './schema';\nimport { AUTOMATION_PLUGIN } from '../meta';\n\nexport namespace AutomationAction {\n const AUTOMATION_ACTION = `${AUTOMATION_PLUGIN}/action`;\n\n export class Create extends S.TaggedClass<Create>()(`${AUTOMATION_ACTION}/create`, {\n input: S.Struct({\n name: S.optional(S.String),\n }),\n output: S.Struct({\n object: AIChatType,\n }),\n }) {}\n}\n"],
5
- "mappings": "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",
6
- "names": ["categoryIcons", "finance", "health", "geolocation", "education", "entertainment", "shopping", "travel", "utilities", "weather", "ComputeGraph", "Expando", "Ref", "S", "TypedObject", "FunctionType", "ChainInputType", "ChainInputSchema", "S", "mutable", "Struct", "name", "String", "type", "optional", "Enums", "value", "ChainPromptType", "TypedObject", "typename", "version", "command", "template", "inputs", "Array", "ChainType", "prompts", "Ref", "AIChatType", "queue", "Expando", "ApiAuthorizationKey", "Literal", "key", "placement", "Union", "ApiAuthorizationOauth", "clientId", "clientSecret", "tokenUrl", "grantType", "ApiAuthorization", "ServiceInterfaceFunction", "kind", "fn", "FunctionType", "ServiceInterfaceWorkflow", "workflow", "ComputeGraph", "ServiceInterfaceApi", "schemaUrl", "schema", "Any", "authorization", "ServiceInterface", "ServiceType", "serviceId", "description", "category", "enabled", "Boolean", "interfaces", "S", "AutomationAction", "AUTOMATION_ACTION", "AUTOMATION_PLUGIN", "Create", "S", "TaggedClass", "input", "Struct", "name", "optional", "String", "output", "object", "AIChatType"]
7
- }
@@ -1,285 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- useServices
4
- } from "./chunk-D7RARVTS.mjs";
5
- import {
6
- ChainInputType,
7
- ServiceType,
8
- categoryIcons
9
- } from "./chunk-7JO77AAS.mjs";
10
- import {
11
- AUTOMATION_PLUGIN
12
- } from "./chunk-JFHI22MF.mjs";
13
-
14
- // packages/plugins/experimental/plugin-automation/src/components/PromptEditor/PromptEditor.tsx
15
- import React, { useEffect } from "react";
16
- import { createDocAccessor } from "@dxos/react-client/echo";
17
- import { Input, Select, useThemeContext, useTranslation } from "@dxos/react-ui";
18
- import { createBasicExtensions, createDataExtensions, createThemeExtensions, useTextEditor } from "@dxos/react-ui-editor";
19
- import { attentionSurface, groupBorder, mx as mx2 } from "@dxos/react-ui-theme";
20
- import { nonNullable } from "@dxos/util";
21
-
22
- // packages/plugins/experimental/plugin-automation/src/components/PromptEditor/prompt-extension.ts
23
- import { HighlightStyle, StreamLanguage, syntaxHighlighting } from "@codemirror/language";
24
- import { tags } from "@dxos/react-ui-editor";
25
- import { mx } from "@dxos/react-ui-theme";
26
- var nameRegex = /\{([\w-]+)}/;
27
- var parser = StreamLanguage.define({
28
- token: (stream) => {
29
- if (stream.eatSpace()) {
30
- return null;
31
- }
32
- if (stream.match(/^#.*/)) {
33
- return "lineComment";
34
- }
35
- if (stream.match(/^-+$/)) {
36
- return "lineComment";
37
- }
38
- if (stream.match(nameRegex)) {
39
- return "variableName";
40
- }
41
- stream.next();
42
- return null;
43
- }
44
- });
45
- var highlightStyles = HighlightStyle.define([
46
- {
47
- tag: tags.variableName,
48
- class: mx("rounded border border-yellow-500 bg-yellow-100 text-black font-mono text-sm")
49
- }
50
- ]);
51
- var promptExtension = [
52
- parser,
53
- syntaxHighlighting(highlightStyles)
54
- ];
55
-
56
- // packages/plugins/experimental/plugin-automation/src/components/PromptEditor/PromptEditor.tsx
57
- var inputTypes = [
58
- {
59
- value: ChainInputType.VALUE,
60
- label: "Value"
61
- },
62
- {
63
- value: ChainInputType.PASS_THROUGH,
64
- label: "Pass through"
65
- },
66
- {
67
- value: ChainInputType.RETRIEVER,
68
- label: "Retriever"
69
- },
70
- // {
71
- // value: ChainInputType.FUNCTION,
72
- // label: 'Function',
73
- // },
74
- // {
75
- // value: ChainInputType.QUERY,
76
- // label: 'Query',
77
- // },
78
- {
79
- value: ChainInputType.RESOLVER,
80
- label: "Resolver"
81
- },
82
- {
83
- value: ChainInputType.CONTEXT,
84
- label: "Context"
85
- },
86
- {
87
- value: ChainInputType.SCHEMA,
88
- label: "Schema"
89
- }
90
- ];
91
- var getInputType = (type) => inputTypes.find(({ value }) => String(value) === type)?.value;
92
- var usePromptInputs = (prompt) => {
93
- useEffect(() => {
94
- const text = prompt.template ?? "";
95
- if (!prompt.inputs) {
96
- prompt.inputs = [];
97
- }
98
- const regex = new RegExp(nameRegex, "g");
99
- const variables = new Set([
100
- ...text.matchAll(regex)
101
- ].map((m) => m[1]));
102
- const unclaimed = new Map(prompt.inputs?.filter(nonNullable).map((input) => [
103
- input.name,
104
- input
105
- ]));
106
- const missing = [];
107
- Array.from(variables.values()).forEach((name) => {
108
- if (unclaimed.has(name)) {
109
- unclaimed.delete(name);
110
- } else {
111
- missing.push(name);
112
- }
113
- });
114
- const values = unclaimed.values();
115
- missing.forEach((name) => {
116
- const next = values.next().value;
117
- if (next) {
118
- next.name = name;
119
- } else {
120
- prompt.inputs?.push({
121
- name
122
- });
123
- }
124
- });
125
- for (const input of values) {
126
- prompt.inputs.splice(prompt.inputs.indexOf(input), 1);
127
- }
128
- }, [
129
- prompt.template
130
- ]);
131
- };
132
- var PromptEditor = ({ prompt, commandEditable = true }) => {
133
- const { t } = useTranslation(AUTOMATION_PLUGIN);
134
- const { themeMode } = useThemeContext();
135
- const { parentRef } = useTextEditor(() => ({
136
- initialValue: prompt.template,
137
- extensions: [
138
- createDataExtensions({
139
- id: prompt.id,
140
- text: prompt.template !== void 0 ? createDocAccessor(prompt, [
141
- "template"
142
- ]) : void 0
143
- }),
144
- createBasicExtensions({
145
- bracketMatching: false,
146
- lineWrapping: true,
147
- placeholder: t("template placeholder")
148
- }),
149
- createThemeExtensions({
150
- themeMode,
151
- slots: {
152
- content: {
153
- className: "!p-3"
154
- }
155
- }
156
- }),
157
- promptExtension
158
- ]
159
- }), [
160
- themeMode,
161
- prompt
162
- ]);
163
- usePromptInputs(prompt);
164
- return /* @__PURE__ */ React.createElement("div", {
165
- className: mx2("flex flex-col w-full overflow-hidden gap-4", groupBorder)
166
- }, commandEditable && /* @__PURE__ */ React.createElement("div", {
167
- className: "flex items-center pl-4"
168
- }, /* @__PURE__ */ React.createElement("span", {
169
- className: "text-neutral-500"
170
- }, "/"), /* @__PURE__ */ React.createElement(Input.Root, null, /* @__PURE__ */ React.createElement(Input.TextInput, {
171
- placeholder: t("command placeholder"),
172
- classNames: mx2("is-full bg-transparent m-2"),
173
- value: prompt.command ?? "",
174
- onChange: (event) => {
175
- prompt.command = event.target.value.replace(/\w/g, "");
176
- }
177
- }))), /* @__PURE__ */ React.createElement("div", {
178
- ref: parentRef,
179
- className: mx2(attentionSurface, "rounded", "min-h-[120px]")
180
- }), (prompt.inputs?.length ?? 0) > 0 && /* @__PURE__ */ React.createElement("div", {
181
- className: "flex flex-col"
182
- }, /* @__PURE__ */ React.createElement("table", {
183
- className: "w-full table-fixed border-collapse my-2"
184
- }, /* @__PURE__ */ React.createElement("tbody", null, prompt.inputs?.filter(nonNullable).map((input) => /* @__PURE__ */ React.createElement("tr", {
185
- key: input.name
186
- }, /* @__PURE__ */ React.createElement("td", {
187
- className: "w-[160px] p-1 font-mono text-sm whitespace-nowrap truncate"
188
- }, /* @__PURE__ */ React.createElement("code", {
189
- className: "px-2"
190
- }, input.name)), /* @__PURE__ */ React.createElement("td", {
191
- className: "w-[120px] p-1"
192
- }, /* @__PURE__ */ React.createElement(Input.Root, null, /* @__PURE__ */ React.createElement(Select.Root, {
193
- value: String(input.type),
194
- onValueChange: (type) => {
195
- input.type = getInputType(type) ?? ChainInputType.VALUE;
196
- }
197
- }, /* @__PURE__ */ React.createElement(Select.TriggerButton, {
198
- placeholder: "Type",
199
- classNames: "is-full"
200
- }), /* @__PURE__ */ React.createElement(Select.Portal, null, /* @__PURE__ */ React.createElement(Select.Content, null, /* @__PURE__ */ React.createElement(Select.Viewport, null, inputTypes.map(({ value, label }) => /* @__PURE__ */ React.createElement(Select.Option, {
201
- key: value,
202
- value: String(value)
203
- }, label)))))))), /* @__PURE__ */ React.createElement("td", {
204
- className: "p-1 pr-2"
205
- }, input.type !== void 0 && [
206
- ChainInputType.VALUE,
207
- ChainInputType.CONTEXT,
208
- ChainInputType.RESOLVER,
209
- ChainInputType.SCHEMA
210
- ].includes(input.type) && /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement(Input.Root, null, /* @__PURE__ */ React.createElement(Input.TextInput, {
211
- placeholder: t("command placeholder"),
212
- classNames: mx2("is-full bg-transparent"),
213
- value: input.value ?? "",
214
- onChange: (event) => {
215
- input.value = event.target.value;
216
- }
217
- }))))))))));
218
- };
219
-
220
- // packages/plugins/experimental/plugin-automation/src/components/ServiceRegistry/ServiceRegistry.tsx
221
- import React2, { useMemo } from "react";
222
- import { Filter } from "@dxos/client/echo";
223
- import { useQuery } from "@dxos/react-client/echo";
224
- import { Icon, Input as Input2, List, ListItem } from "@dxos/react-ui";
225
- var ServiceRegistry = ({ space }) => {
226
- const matchingServices = useServices(space);
227
- const enabledServices = useQuery(space, Filter.schema(ServiceType));
228
- const services = useMemo(() => {
229
- return matchingServices.map((service) => enabledServices.find((s) => s.serviceId === service.serviceId) ?? service);
230
- }, [
231
- matchingServices,
232
- enabledServices
233
- ]);
234
- const handleSetEnabled = (service, enabled) => {
235
- if (enabled) {
236
- space.db.add(service);
237
- } else {
238
- space.db.remove(service);
239
- }
240
- };
241
- return /* @__PURE__ */ React2.createElement(List, {
242
- classNames: "h-full grid auto-rows-[5rem] gap-2 p-2 pis-2 pie-2 overflow-y-auto scrollbar-thin"
243
- }, services.map((service) => /* @__PURE__ */ React2.createElement(ServiceItem, {
244
- key: service.serviceId,
245
- service,
246
- enabled: service.enabled,
247
- setEnabled: (enabled) => handleSetEnabled(service, enabled)
248
- })));
249
- };
250
- var ServiceItem = ({ service, enabled, setEnabled }) => {
251
- return /* @__PURE__ */ React2.createElement(ListItem.Root, {
252
- classNames: "flex flex-col gap-1 p-1 overflow-hidden rounded-md border border-separator"
253
- }, /* @__PURE__ */ React2.createElement("div", {
254
- className: "grid grid-cols-[40px_1fr_40px]"
255
- }, /* @__PURE__ */ React2.createElement("div", {
256
- className: "flex gow justify-center items-center"
257
- }, /* @__PURE__ */ React2.createElement(Icon, {
258
- icon: categoryIcons[service.category ?? "default"] ?? "ph--placeholder--regular",
259
- size: 6
260
- })), /* @__PURE__ */ React2.createElement("div", {
261
- className: "grow items-center truncate mie-2"
262
- }, service.name), /* @__PURE__ */ React2.createElement("div", {
263
- className: "flex gow justify-center items-center"
264
- }, /* @__PURE__ */ React2.createElement(Input2.Root, null, /* @__PURE__ */ React2.createElement(Input2.Switch, {
265
- checked: enabled,
266
- onClick: () => setEnabled?.(!enabled)
267
- })))), /* @__PURE__ */ React2.createElement("div", {
268
- className: "grid grid-cols-[40px_1fr]"
269
- }, /* @__PURE__ */ React2.createElement("div", null), /* @__PURE__ */ React2.createElement("div", {
270
- className: "text-sm text-subdued line-clamp-2 mie-1"
271
- }, service.description)));
272
- };
273
-
274
- // packages/plugins/experimental/plugin-automation/src/components/index.ts
275
- import { lazy } from "react";
276
- var AutomationPanel = lazy(() => import("./AutomationPanel-YTIZ74RI.mjs"));
277
- var ChatContainer = lazy(() => import("./ChatContainer-QSMDZRDU.mjs"));
278
-
279
- export {
280
- PromptEditor,
281
- ServiceRegistry,
282
- AutomationPanel,
283
- ChatContainer
284
- };
285
- //# sourceMappingURL=chunk-CQPQXIJP.mjs.map