@dxos/plugin-automation 0.7.4 → 0.7.5-labs.071a3e2

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 (280) hide show
  1. package/dist/lib/browser/AutomationPanel-YPD3AGQN.mjs +8 -0
  2. package/dist/lib/browser/ChatContainer-ODZECATM.mjs +12 -0
  3. package/dist/lib/browser/ai-client-UJLNYP7B.mjs +22 -0
  4. package/dist/lib/browser/ai-client-UJLNYP7B.mjs.map +7 -0
  5. package/dist/lib/browser/app-graph-builder-3H5TCRG4.mjs +162 -0
  6. package/dist/lib/browser/app-graph-builder-3H5TCRG4.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-43WRHV2L.mjs +150 -0
  8. package/dist/lib/browser/chunk-43WRHV2L.mjs.map +7 -0
  9. package/dist/lib/browser/chunk-BQHXJZ4K.mjs +15 -0
  10. package/dist/lib/browser/chunk-BQHXJZ4K.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-DL7XA62G.mjs +1531 -0
  12. package/dist/lib/browser/chunk-DL7XA62G.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-X5KMOH3I.mjs → chunk-DQ7ZSYJJ.mjs} +4 -4
  14. package/dist/lib/browser/chunk-DQ7ZSYJJ.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-PQGFC2ZO.mjs +284 -0
  16. package/dist/lib/browser/chunk-PQGFC2ZO.mjs.map +7 -0
  17. package/dist/lib/browser/chunk-Z54KIF6H.mjs +242 -0
  18. package/dist/lib/browser/chunk-Z54KIF6H.mjs.map +7 -0
  19. package/dist/lib/browser/index.mjs +152 -252
  20. package/dist/lib/browser/index.mjs.map +4 -4
  21. package/dist/lib/browser/intent-resolver-5YVZJFS3.mjs +29 -0
  22. package/dist/lib/browser/intent-resolver-5YVZJFS3.mjs.map +7 -0
  23. package/dist/lib/browser/meta.json +1 -1
  24. package/dist/lib/browser/react-surface-WRHRCEV5.mjs +50 -0
  25. package/dist/lib/browser/react-surface-WRHRCEV5.mjs.map +7 -0
  26. package/dist/lib/browser/types/index.mjs +12 -3
  27. package/dist/lib/node/{meta.cjs → AutomationPanel-CO26O75P.cjs} +7 -11
  28. package/dist/lib/node/AutomationPanel-CO26O75P.cjs.map +7 -0
  29. package/dist/lib/node/ChatContainer-5URBEXQD.cjs +33 -0
  30. package/dist/lib/node/ChatContainer-5URBEXQD.cjs.map +7 -0
  31. package/dist/lib/node/ai-client-AOB6TLNW.cjs +38 -0
  32. package/dist/lib/node/ai-client-AOB6TLNW.cjs.map +7 -0
  33. package/dist/lib/node/app-graph-builder-CDEQJEHY.cjs +178 -0
  34. package/dist/lib/node/app-graph-builder-CDEQJEHY.cjs.map +7 -0
  35. package/dist/lib/node/chunk-AWZVJZ2I.cjs +34 -0
  36. package/dist/lib/node/chunk-AWZVJZ2I.cjs.map +7 -0
  37. package/dist/lib/node/chunk-D2QQXWOY.cjs +302 -0
  38. package/dist/lib/node/chunk-D2QQXWOY.cjs.map +7 -0
  39. package/dist/lib/node/chunk-H3RSMGJG.cjs +173 -0
  40. package/dist/lib/node/chunk-H3RSMGJG.cjs.map +7 -0
  41. package/dist/lib/node/chunk-NH7STAX6.cjs +1515 -0
  42. package/dist/lib/node/chunk-NH7STAX6.cjs.map +7 -0
  43. package/dist/lib/node/chunk-OCW5GAVZ.cjs +266 -0
  44. package/dist/lib/node/chunk-OCW5GAVZ.cjs.map +7 -0
  45. package/dist/lib/node/{chunk-DTJ7XVO2.cjs → chunk-TQEDPRY5.cjs} +8 -8
  46. package/dist/lib/node/chunk-TQEDPRY5.cjs.map +7 -0
  47. package/dist/lib/node/index.cjs +169 -282
  48. package/dist/lib/node/index.cjs.map +4 -4
  49. package/dist/lib/node/intent-resolver-MJFZT5IU.cjs +44 -0
  50. package/dist/lib/node/intent-resolver-MJFZT5IU.cjs.map +7 -0
  51. package/dist/lib/node/meta.json +1 -1
  52. package/dist/lib/node/react-surface-HDAVE6NU.cjs +70 -0
  53. package/dist/lib/node/react-surface-HDAVE6NU.cjs.map +7 -0
  54. package/dist/lib/node/types/index.cjs +16 -7
  55. package/dist/lib/node/types/index.cjs.map +2 -2
  56. package/dist/lib/node-esm/AutomationPanel-VQZUKPK2.mjs +9 -0
  57. package/dist/lib/node-esm/AutomationPanel-VQZUKPK2.mjs.map +7 -0
  58. package/dist/lib/node-esm/ChatContainer-23QIVDG5.mjs +13 -0
  59. package/dist/lib/node-esm/ChatContainer-23QIVDG5.mjs.map +7 -0
  60. package/dist/lib/node-esm/ai-client-RUCCJ7JZ.mjs +23 -0
  61. package/dist/lib/node-esm/ai-client-RUCCJ7JZ.mjs.map +7 -0
  62. package/dist/lib/node-esm/app-graph-builder-GR3URVNX.mjs +163 -0
  63. package/dist/lib/node-esm/app-graph-builder-GR3URVNX.mjs.map +7 -0
  64. package/dist/lib/node-esm/chunk-7JO77AAS.mjs +151 -0
  65. package/dist/lib/node-esm/chunk-7JO77AAS.mjs.map +7 -0
  66. package/dist/lib/node-esm/{chunk-HNOBZHWK.mjs → chunk-JFHI22MF.mjs} +4 -4
  67. package/dist/lib/node-esm/chunk-JFHI22MF.mjs.map +7 -0
  68. package/dist/lib/node-esm/chunk-JJFWFS6P.mjs +1532 -0
  69. package/dist/lib/node-esm/chunk-JJFWFS6P.mjs.map +7 -0
  70. package/dist/lib/node-esm/chunk-LSSWQIQD.mjs +16 -0
  71. package/dist/lib/node-esm/chunk-LSSWQIQD.mjs.map +7 -0
  72. package/dist/lib/node-esm/chunk-NSVQZ3EH.mjs +243 -0
  73. package/dist/lib/node-esm/chunk-NSVQZ3EH.mjs.map +7 -0
  74. package/dist/lib/node-esm/chunk-VN2AFV25.mjs +285 -0
  75. package/dist/lib/node-esm/chunk-VN2AFV25.mjs.map +7 -0
  76. package/dist/lib/node-esm/index.mjs +152 -252
  77. package/dist/lib/node-esm/index.mjs.map +4 -4
  78. package/dist/lib/node-esm/intent-resolver-FCKNRTKQ.mjs +30 -0
  79. package/dist/lib/node-esm/intent-resolver-FCKNRTKQ.mjs.map +7 -0
  80. package/dist/lib/node-esm/meta.json +1 -1
  81. package/dist/lib/node-esm/react-surface-FZ5OFRDE.mjs +51 -0
  82. package/dist/lib/node-esm/react-surface-FZ5OFRDE.mjs.map +7 -0
  83. package/dist/lib/node-esm/types/index.mjs +12 -3
  84. package/dist/types/src/AutomationPlugin.d.ts +1 -3
  85. package/dist/types/src/AutomationPlugin.d.ts.map +1 -1
  86. package/dist/types/src/artifacts.stories.d.ts +16 -0
  87. package/dist/types/src/artifacts.stories.d.ts.map +1 -0
  88. package/dist/types/src/capabilities/ai-client.d.ts +5 -0
  89. package/dist/types/src/capabilities/ai-client.d.ts.map +1 -0
  90. package/dist/types/src/capabilities/app-graph-builder.d.ts +180 -0
  91. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -0
  92. package/dist/types/src/capabilities/capabilities.d.ts +5 -0
  93. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -0
  94. package/dist/types/src/capabilities/index.d.ts +182 -0
  95. package/dist/types/src/capabilities/index.d.ts.map +1 -0
  96. package/dist/types/src/capabilities/intent-resolver.d.ts +4 -0
  97. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -0
  98. package/dist/types/src/capabilities/react-surface.d.ts +4 -0
  99. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  100. package/dist/types/src/components/AutomationPanel/AutomationPanel.d.ts +1 -1
  101. package/dist/types/src/components/AutomationPanel/AutomationPanel.d.ts.map +1 -1
  102. package/dist/types/src/components/AutomationPanel/AutomationPanel.stories.d.ts.map +1 -1
  103. package/dist/types/src/components/ChatContainer/ChatContainer.d.ts +7 -0
  104. package/dist/types/src/components/ChatContainer/ChatContainer.d.ts.map +1 -0
  105. package/dist/types/src/components/ChatContainer/index.d.ts +4 -0
  106. package/dist/types/src/components/ChatContainer/index.d.ts.map +1 -0
  107. package/dist/types/src/components/MarkdownViewer/MarkdownViewer.d.ts +14 -0
  108. package/dist/types/src/components/MarkdownViewer/MarkdownViewer.d.ts.map +1 -0
  109. package/dist/types/src/components/MarkdownViewer/MarkdownViewer.stories.d.ts +8 -0
  110. package/dist/types/src/components/MarkdownViewer/MarkdownViewer.stories.d.ts.map +1 -0
  111. package/dist/types/src/components/MarkdownViewer/index.d.ts +2 -0
  112. package/dist/types/src/components/MarkdownViewer/index.d.ts.map +1 -0
  113. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.d.ts +6 -0
  114. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.d.ts.map +1 -0
  115. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.stories.d.ts +8 -0
  116. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.stories.d.ts.map +1 -0
  117. package/dist/types/src/components/ServiceRegistry/index.d.ts +2 -0
  118. package/dist/types/src/components/ServiceRegistry/index.d.ts.map +1 -0
  119. package/dist/types/src/components/Thread/ScrollContainer.d.ts +15 -0
  120. package/dist/types/src/components/Thread/ScrollContainer.d.ts.map +1 -0
  121. package/dist/types/src/components/Thread/StatusLine.d.ts +11 -0
  122. package/dist/types/src/components/Thread/StatusLine.d.ts.map +1 -0
  123. package/dist/types/src/components/Thread/StatusLine.stories.d.ts +9 -0
  124. package/dist/types/src/components/Thread/StatusLine.stories.d.ts.map +1 -0
  125. package/dist/types/src/components/Thread/Tabbed.d.ts +9 -0
  126. package/dist/types/src/components/Thread/Tabbed.d.ts.map +1 -0
  127. package/dist/types/src/components/Thread/Tabbed.stories.d.ts +8 -0
  128. package/dist/types/src/components/Thread/Tabbed.stories.d.ts.map +1 -0
  129. package/dist/types/src/components/Thread/Thread.d.ts +11 -0
  130. package/dist/types/src/components/Thread/Thread.d.ts.map +1 -0
  131. package/dist/types/src/components/Thread/Thread.stories.d.ts +10 -0
  132. package/dist/types/src/components/Thread/Thread.stories.d.ts.map +1 -0
  133. package/dist/types/src/components/Thread/ThreadMessage.d.ts +12 -0
  134. package/dist/types/src/components/Thread/ThreadMessage.d.ts.map +1 -0
  135. package/dist/types/src/components/Thread/ToggleContainer.d.ts +13 -0
  136. package/dist/types/src/components/Thread/ToggleContainer.d.ts.map +1 -0
  137. package/dist/types/src/components/Thread/ToggleContainer.stories.d.ts +9 -0
  138. package/dist/types/src/components/Thread/ToggleContainer.stories.d.ts.map +1 -0
  139. package/dist/types/src/components/Thread/index.d.ts +2 -0
  140. package/dist/types/src/components/Thread/index.d.ts.map +1 -0
  141. package/dist/types/src/components/TriggerEditor/TriggerEditor.d.ts +1 -2
  142. package/dist/types/src/components/TriggerEditor/TriggerEditor.d.ts.map +1 -1
  143. package/dist/types/src/components/TriggerEditor/TriggerEditor.stories.d.ts.map +1 -1
  144. package/dist/types/src/components/index.d.ts +12 -2
  145. package/dist/types/src/components/index.d.ts.map +1 -1
  146. package/dist/types/src/hooks/email.d.ts.map +1 -1
  147. package/dist/types/src/hooks/index.d.ts +4 -0
  148. package/dist/types/src/hooks/index.d.ts.map +1 -1
  149. package/dist/types/src/hooks/invocation-handler.d.ts.map +1 -1
  150. package/dist/types/src/hooks/processor.d.ts +70 -0
  151. package/dist/types/src/hooks/processor.d.ts.map +1 -0
  152. package/dist/types/src/hooks/processor.test.d.ts +2 -0
  153. package/dist/types/src/hooks/processor.test.d.ts.map +1 -0
  154. package/dist/types/src/hooks/useChatProcessor.d.ts +7 -0
  155. package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -0
  156. package/dist/types/src/hooks/useMessageQueue.d.ts +41 -0
  157. package/dist/types/src/hooks/useMessageQueue.d.ts.map +1 -0
  158. package/dist/types/src/hooks/useServices.d.ts +7 -0
  159. package/dist/types/src/hooks/useServices.d.ts.map +1 -0
  160. package/dist/types/src/index.d.ts +1 -2
  161. package/dist/types/src/index.d.ts.map +1 -1
  162. package/dist/types/src/meta.d.ts +1 -2
  163. package/dist/types/src/meta.d.ts.map +1 -1
  164. package/dist/types/src/testing/index.d.ts +2 -1
  165. package/dist/types/src/testing/index.d.ts.map +1 -1
  166. package/dist/types/src/testing/{testing.d.ts → test-functions.d.ts} +3 -1
  167. package/dist/types/src/testing/test-functions.d.ts.map +1 -0
  168. package/dist/types/src/testing/test-services.d.ts +5 -0
  169. package/dist/types/src/testing/test-services.d.ts.map +1 -0
  170. package/dist/types/src/tools/function.d.ts +5 -0
  171. package/dist/types/src/tools/function.d.ts.map +1 -0
  172. package/dist/types/src/tools/index.d.ts +3 -0
  173. package/dist/types/src/tools/index.d.ts.map +1 -0
  174. package/dist/types/src/tools/openapi.d.ts +10 -0
  175. package/dist/types/src/tools/openapi.d.ts.map +1 -0
  176. package/dist/types/src/tools/openapi.test.d.ts +2 -0
  177. package/dist/types/src/tools/openapi.test.d.ts.map +1 -0
  178. package/dist/types/src/translations.d.ts +81 -2
  179. package/dist/types/src/translations.d.ts.map +1 -1
  180. package/dist/types/src/types/index.d.ts +1 -0
  181. package/dist/types/src/types/index.d.ts.map +1 -1
  182. package/dist/types/src/types/registry.d.ts +10 -0
  183. package/dist/types/src/types/registry.d.ts.map +1 -0
  184. package/dist/types/src/types/schema.d.ts +189 -39
  185. package/dist/types/src/types/schema.d.ts.map +1 -1
  186. package/dist/types/src/types/types.d.ts +16 -5
  187. package/dist/types/src/types/types.d.ts.map +1 -1
  188. package/dist/types/tsconfig.tsbuildinfo +1 -0
  189. package/package.json +54 -48
  190. package/src/AutomationPlugin.tsx +77 -194
  191. package/src/artifacts.stories.tsx +241 -0
  192. package/src/capabilities/ai-client.ts +19 -0
  193. package/src/capabilities/app-graph-builder.ts +156 -0
  194. package/src/capabilities/capabilities.ts +12 -0
  195. package/src/capabilities/index.ts +12 -0
  196. package/src/capabilities/intent-resolver.ts +27 -0
  197. package/src/capabilities/react-surface.tsx +36 -0
  198. package/src/components/AutomationPanel/AutomationPanel.stories.tsx +1 -2
  199. package/src/components/AutomationPanel/AutomationPanel.tsx +61 -39
  200. package/src/components/ChatContainer/ChatContainer.tsx +52 -0
  201. package/src/components/ChatContainer/index.ts +8 -0
  202. package/src/components/MarkdownViewer/MarkdownViewer.stories.tsx +56 -0
  203. package/src/components/MarkdownViewer/MarkdownViewer.tsx +79 -0
  204. package/src/components/MarkdownViewer/index.ts +5 -0
  205. package/src/components/PromptEditor/PromptEditor.stories.tsx +3 -3
  206. package/src/components/ServiceRegistry/ServiceRegistry.stories.tsx +49 -0
  207. package/src/components/ServiceRegistry/ServiceRegistry.tsx +75 -0
  208. package/src/components/ServiceRegistry/index.ts +5 -0
  209. package/src/components/Thread/ScrollContainer.tsx +92 -0
  210. package/src/components/Thread/StatusLine.stories.tsx +52 -0
  211. package/src/components/Thread/StatusLine.tsx +76 -0
  212. package/src/components/Thread/Tabbed.stories.tsx +52 -0
  213. package/src/components/Thread/Tabbed.tsx +72 -0
  214. package/src/components/Thread/Thread.stories.tsx +190 -0
  215. package/src/components/Thread/Thread.tsx +156 -0
  216. package/src/components/Thread/ThreadMessage.tsx +203 -0
  217. package/src/components/Thread/ToggleContainer.stories.tsx +111 -0
  218. package/src/components/Thread/ToggleContainer.tsx +103 -0
  219. package/src/components/Thread/index.ts +5 -0
  220. package/src/components/TriggerEditor/TriggerEditor.stories.tsx +1 -2
  221. package/src/components/TriggerEditor/TriggerEditor.tsx +81 -16
  222. package/src/components/index.ts +9 -1
  223. package/src/hooks/email.ts +2 -2
  224. package/src/hooks/index.ts +5 -0
  225. package/src/hooks/invocation-handler.ts +2 -2
  226. package/src/hooks/processor.test.ts +15 -0
  227. package/src/hooks/processor.ts +210 -0
  228. package/src/hooks/useChatProcessor.tsx +86 -0
  229. package/src/hooks/useMessageQueue.ts +23 -0
  230. package/src/hooks/useServices.ts +28 -0
  231. package/src/index.ts +1 -4
  232. package/src/meta.ts +3 -2
  233. package/src/testing/index.ts +2 -1
  234. package/src/testing/{testing.ts → test-functions.ts} +9 -2
  235. package/src/testing/test-services.ts +131 -0
  236. package/src/tools/function.ts +47 -0
  237. package/src/tools/index.ts +6 -0
  238. package/src/tools/openapi.test.ts +227 -0
  239. package/src/tools/openapi.ts +331 -0
  240. package/src/translations.ts +17 -2
  241. package/src/types/index.ts +1 -0
  242. package/src/types/registry.ts +26 -0
  243. package/src/types/schema.ts +96 -2
  244. package/src/types/types.ts +15 -21
  245. package/dist/lib/browser/AssistantPanel-N3QSALKY.mjs +0 -341
  246. package/dist/lib/browser/AssistantPanel-N3QSALKY.mjs.map +0 -7
  247. package/dist/lib/browser/AutomationPanel-AQMN2CQR.mjs +0 -153
  248. package/dist/lib/browser/AutomationPanel-AQMN2CQR.mjs.map +0 -7
  249. package/dist/lib/browser/chunk-7KB4UMXO.mjs +0 -49
  250. package/dist/lib/browser/chunk-7KB4UMXO.mjs.map +0 -7
  251. package/dist/lib/browser/chunk-X5KMOH3I.mjs.map +0 -7
  252. package/dist/lib/browser/meta.mjs +0 -9
  253. package/dist/lib/node/AssistantPanel-RIA4TI3B.cjs +0 -361
  254. package/dist/lib/node/AssistantPanel-RIA4TI3B.cjs.map +0 -7
  255. package/dist/lib/node/AutomationPanel-HZS5WKI5.cjs +0 -173
  256. package/dist/lib/node/AutomationPanel-HZS5WKI5.cjs.map +0 -7
  257. package/dist/lib/node/chunk-CUCUWUAF.cjs +0 -73
  258. package/dist/lib/node/chunk-CUCUWUAF.cjs.map +0 -7
  259. package/dist/lib/node/chunk-DTJ7XVO2.cjs.map +0 -7
  260. package/dist/lib/node/meta.cjs.map +0 -7
  261. package/dist/lib/node-esm/AssistantPanel-72YH43CH.mjs +0 -342
  262. package/dist/lib/node-esm/AssistantPanel-72YH43CH.mjs.map +0 -7
  263. package/dist/lib/node-esm/AutomationPanel-JUHOWQWW.mjs +0 -154
  264. package/dist/lib/node-esm/AutomationPanel-JUHOWQWW.mjs.map +0 -7
  265. package/dist/lib/node-esm/chunk-23LY7DYS.mjs +0 -51
  266. package/dist/lib/node-esm/chunk-23LY7DYS.mjs.map +0 -7
  267. package/dist/lib/node-esm/chunk-HNOBZHWK.mjs.map +0 -7
  268. package/dist/lib/node-esm/meta.mjs +0 -10
  269. package/dist/types/src/components/AssistantPanel/AssistantPanel.d.ts +0 -8
  270. package/dist/types/src/components/AssistantPanel/AssistantPanel.d.ts.map +0 -1
  271. package/dist/types/src/components/AssistantPanel/index.d.ts +0 -3
  272. package/dist/types/src/components/AssistantPanel/index.d.ts.map +0 -1
  273. package/dist/types/src/components/AssistantPanel/system-instructions.d.ts +0 -6
  274. package/dist/types/src/components/AssistantPanel/system-instructions.d.ts.map +0 -1
  275. package/dist/types/src/testing/testing.d.ts.map +0 -1
  276. package/src/components/AssistantPanel/AssistantPanel.tsx +0 -230
  277. package/src/components/AssistantPanel/index.ts +0 -7
  278. package/src/components/AssistantPanel/system-instructions.ts +0 -166
  279. /package/dist/lib/browser/{meta.mjs.map → AutomationPanel-YPD3AGQN.mjs.map} +0 -0
  280. /package/dist/lib/{node-esm/meta.mjs.map → browser/ChatContainer-ODZECATM.mjs.map} +0 -0
@@ -1,35 +1,51 @@
1
1
  import {
2
+ AutomationPanel,
3
+ ChatContainer,
4
+ PromptEditor,
5
+ ServiceRegistry
6
+ } from "./chunk-PQGFC2ZO.mjs";
7
+ import {
8
+ TriggerEditor
9
+ } from "./chunk-Z54KIF6H.mjs";
10
+ import {
11
+ AiClient,
12
+ AppGraphBuilder,
13
+ IntentResolver,
14
+ MarkdownViewer,
15
+ ReactSurface,
16
+ Thread
17
+ } from "./chunk-DL7XA62G.mjs";
18
+ import "./chunk-BQHXJZ4K.mjs";
19
+ import {
20
+ AIChatType,
21
+ ApiAuthorization,
2
22
  AutomationAction,
3
23
  ChainInputSchema,
4
24
  ChainInputType,
5
25
  ChainPromptType,
6
- ChainType
7
- } from "./chunk-7KB4UMXO.mjs";
26
+ ChainType,
27
+ ServiceType,
28
+ categoryIcons
29
+ } from "./chunk-43WRHV2L.mjs";
8
30
  import {
9
31
  AUTOMATION_PLUGIN,
10
- meta_default
11
- } from "./chunk-X5KMOH3I.mjs";
32
+ meta
33
+ } from "./chunk-DQ7ZSYJJ.mjs";
12
34
 
13
35
  // packages/plugins/experimental/plugin-automation/src/AutomationPlugin.tsx
14
- import React from "react";
15
- import { parseMetadataResolverPlugin, resolvePlugin } from "@dxos/app-framework";
36
+ import { Capabilities, contributes, createIntent, defineModule, definePlugin, Events } from "@dxos/app-framework";
16
37
  import { FunctionTrigger } from "@dxos/functions";
17
- import { invariant } from "@dxos/invariant";
18
- import { parseClientPlugin } from "@dxos/plugin-client";
19
- import { createExtension, toSignal } from "@dxos/plugin-graph";
20
- import { memoizeQuery } from "@dxos/plugin-space";
21
- import { getSpace, getTypename, isEchoObject, loadObjectReferences, parseId, SpaceState } from "@dxos/react-client/echo";
22
- import { translations as formTranslations } from "@dxos/react-ui-form";
23
-
24
- // packages/plugins/experimental/plugin-automation/src/components/index.ts
25
- import { lazy } from "react";
26
- var AssistantPanel = lazy(() => import("./AssistantPanel-N3QSALKY.mjs"));
27
- var AutomationPanel = lazy(() => import("./AutomationPanel-AQMN2CQR.mjs"));
38
+ import { ClientCapabilities, ClientEvents } from "@dxos/plugin-client";
39
+ import { DeckCapabilities } from "@dxos/plugin-deck";
40
+ import { RefArray } from "@dxos/react-client/echo";
28
41
 
29
42
  // packages/plugins/experimental/plugin-automation/src/translations.ts
30
43
  var translations_default = [
31
44
  {
32
45
  "en-US": {
46
+ [AIChatType.typename]: {
47
+ "typename label": "AI Chat"
48
+ },
33
49
  [AUTOMATION_PLUGIN]: {
34
50
  "plugin name": "Automation",
35
51
  "object placeholder": "New prompt",
@@ -41,6 +57,10 @@ var translations_default = [
41
57
  "value placeholder": "Enter value...",
42
58
  "select preset template placeholder": "Select preset",
43
59
  "open automation panel label": "Show Automations",
60
+ "automation panel label": "Automations",
61
+ "service registry label": "Service Registry",
62
+ "chat input placeholder": "Ask a question...",
63
+ "chat stop": "Cancel request.",
44
64
  "function select label": "Function",
45
65
  "function select placeholder": "Select function",
46
66
  "function enabled": "Enabled",
@@ -50,250 +70,123 @@ var translations_default = [
50
70
  "trigger type webhook": "Webhook",
51
71
  "trigger type websocket": "Websocket",
52
72
  "trigger type subscription": "Subscription",
73
+ "trigger type email": "Email",
53
74
  "trigger filter": "Filter",
54
75
  "trigger cron": "Cron",
55
76
  "trigger method": "Method",
56
77
  "trigger endpoint": "Endpoint",
57
- "open assistant panel label": "Show Assistant",
58
- "assistant panel label": "Assistant"
78
+ "trigger copy url": "Copy URL",
79
+ "trigger copy email": "Copy Email",
80
+ "trigger meta add": "Add",
81
+ "trigger meta remove": "Remove",
82
+ "trigger meta prop name placeholder": "New meta property name"
59
83
  }
60
84
  }
61
85
  }
62
86
  ];
63
87
 
64
88
  // packages/plugins/experimental/plugin-automation/src/AutomationPlugin.tsx
65
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-automation/src/AutomationPlugin.tsx";
66
- var AutomationPlugin = () => {
67
- return {
68
- meta: meta_default,
69
- provides: {
70
- metadata: {
71
- records: {
72
- [ChainType.typename]: {
73
- placeholder: [
74
- "object placeholder",
75
- {
76
- ns: AUTOMATION_PLUGIN
77
- }
78
- ],
79
- icon: "ph--magic-wand--regular",
80
- // TODO(wittjosiah): Move out of metadata.
81
- loadReferences: (chain) => loadObjectReferences(chain, (chain2) => chain2.prompts)
82
- }
89
+ var AutomationPlugin = () => definePlugin(meta, [
90
+ defineModule({
91
+ id: `${meta.id}/module/ai-client`,
92
+ activatesOn: ClientEvents.ClientReady,
93
+ activate: AiClient
94
+ }),
95
+ defineModule({
96
+ id: `${meta.id}/module/translations`,
97
+ activatesOn: Events.SetupTranslations,
98
+ activate: () => contributes(Capabilities.Translations, translations_default)
99
+ }),
100
+ defineModule({
101
+ id: `${meta.id}/module/metadata`,
102
+ activatesOn: Events.SetupMetadata,
103
+ activate: () => [
104
+ contributes(Capabilities.Metadata, {
105
+ id: ChainType.typename,
106
+ metadata: {
107
+ placeholder: [
108
+ "object placeholder",
109
+ {
110
+ ns: AUTOMATION_PLUGIN
111
+ }
112
+ ],
113
+ icon: "ph--magic-wand--regular",
114
+ // TODO(wittjosiah): Move out of metadata.
115
+ loadReferences: async (chain) => await RefArray.loadAll(chain.prompts ?? [])
83
116
  }
84
- },
85
- translations: [
86
- ...translations_default,
87
- ...formTranslations
88
- ],
89
- echo: {
90
- system: [
91
- ChainType,
92
- ChainPromptType,
93
- FunctionTrigger
94
- ]
95
- },
96
- complementary: {
97
- panels: [
98
- {
99
- id: "automation",
100
- label: [
101
- "open automation panel label",
102
- {
103
- ns: AUTOMATION_PLUGIN
104
- }
105
- ],
106
- icon: "ph--magic-wand--regular"
107
- },
117
+ }),
118
+ contributes(Capabilities.Metadata, {
119
+ id: AIChatType.typename,
120
+ metadata: {
121
+ createObject: (props) => createIntent(AutomationAction.Create, props),
122
+ placeholder: [
123
+ "object placeholder",
124
+ {
125
+ ns: AUTOMATION_PLUGIN
126
+ }
127
+ ],
128
+ icon: "ph--atom--regular"
129
+ }
130
+ })
131
+ ]
132
+ }),
133
+ defineModule({
134
+ id: `${meta.id}/module/schema`,
135
+ activatesOn: ClientEvents.SetupSchema,
136
+ activate: () => [
137
+ contributes(ClientCapabilities.SystemSchema, [
138
+ ChainType,
139
+ ChainPromptType,
140
+ FunctionTrigger,
141
+ ServiceType
142
+ ]),
143
+ contributes(ClientCapabilities.Schema, [
144
+ AIChatType
145
+ ])
146
+ ]
147
+ }),
148
+ defineModule({
149
+ id: `${meta.id}/module/complementary-panels`,
150
+ activatesOn: Events.Startup,
151
+ activate: () => [
152
+ contributes(DeckCapabilities.ComplementaryPanel, {
153
+ id: "service-registry",
154
+ label: [
155
+ "service registry label",
108
156
  {
109
- id: "assistant",
110
- label: [
111
- "open assistant panel label",
112
- {
113
- ns: AUTOMATION_PLUGIN
114
- }
115
- ],
116
- icon: "ph--atom--regular"
157
+ ns: AUTOMATION_PLUGIN
117
158
  }
118
- ]
119
- },
120
- graph: {
121
- builder: (plugins) => {
122
- const clientPlugin = resolvePlugin(plugins, parseClientPlugin);
123
- const metadataPlugin = resolvePlugin(plugins, parseMetadataResolverPlugin);
124
- const resolve = metadataPlugin?.provides.metadata.resolver;
125
- const client = clientPlugin?.provides.client;
126
- invariant(resolve, void 0, {
127
- F: __dxlog_file,
128
- L: 66,
129
- S: void 0,
130
- A: [
131
- "resolve",
132
- ""
133
- ]
134
- });
135
- invariant(client, void 0, {
136
- F: __dxlog_file,
137
- L: 67,
138
- S: void 0,
139
- A: [
140
- "client",
141
- ""
142
- ]
143
- });
144
- return [
145
- // Create nodes for object settings.
146
- createExtension({
147
- id: `${AUTOMATION_PLUGIN}/automation-for-subject`,
148
- resolver: ({ id }) => {
149
- if (!id.endsWith("~automation")) {
150
- return;
151
- }
152
- const type = "orphan-settings-for-subject";
153
- const icon = "ph--magic-wand--regular";
154
- const [subjectId] = id.split("~");
155
- const { spaceId, objectId } = parseId(subjectId);
156
- const spaces = toSignal((onChange) => client.spaces.subscribe(() => onChange()).unsubscribe, () => client.spaces.get());
157
- const space = spaces?.find((space2) => space2.id === spaceId && space2.state.get() === SpaceState.SPACE_READY);
158
- if (!objectId) {
159
- const label2 = space ? space.properties.name || [
160
- "unnamed space label",
161
- {
162
- ns: AUTOMATION_PLUGIN
163
- }
164
- ] : [
165
- "unnamed object settings label",
166
- {
167
- ns: AUTOMATION_PLUGIN
168
- }
169
- ];
170
- return {
171
- id,
172
- type,
173
- data: null,
174
- properties: {
175
- icon,
176
- label: label2,
177
- showResolvedThreads: false,
178
- object: null,
179
- space
180
- }
181
- };
182
- }
183
- const [object] = memoizeQuery(space, {
184
- id: objectId
185
- });
186
- if (!object || !subjectId) {
187
- return;
188
- }
189
- const meta = resolve(getTypename(object) ?? "");
190
- const label = meta.label?.(object) || object.name || meta.placeholder || [
191
- "unnamed object settings label",
192
- {
193
- ns: AUTOMATION_PLUGIN
194
- }
195
- ];
196
- return {
197
- id,
198
- type,
199
- data: null,
200
- properties: {
201
- icon,
202
- label,
203
- object
204
- }
205
- };
206
- }
207
- }),
208
- createExtension({
209
- id: `${AUTOMATION_PLUGIN}/assistant-for-subject`,
210
- resolver: ({ id }) => {
211
- if (!id.endsWith("~assistant")) {
212
- return;
213
- }
214
- const [subjectId] = id.split("~");
215
- const { spaceId, objectId } = parseId(subjectId);
216
- const spaces = toSignal((onChange) => client.spaces.subscribe(() => onChange()).unsubscribe, () => client.spaces.get());
217
- const space = spaces?.find((space2) => space2.id === spaceId && space2.state.get() === SpaceState.SPACE_READY);
218
- if (!objectId) {
219
- return {
220
- id,
221
- type: "orphan-automation-for-subject",
222
- data: null,
223
- properties: {
224
- icon: "ph--atom--regular",
225
- label: [
226
- "assistant panel label",
227
- {
228
- ns: AUTOMATION_PLUGIN
229
- }
230
- ],
231
- object: null,
232
- space
233
- }
234
- };
235
- }
236
- const [object] = memoizeQuery(space, {
237
- id: objectId
238
- });
239
- return {
240
- id,
241
- type: "orphan-automation-for-subject",
242
- data: null,
243
- properties: {
244
- icon: "ph--atom--regular",
245
- label: [
246
- "assistant panel label",
247
- {
248
- ns: AUTOMATION_PLUGIN
249
- }
250
- ],
251
- object
252
- }
253
- };
254
- }
255
- })
256
- ];
257
- }
258
- },
259
- surface: {
260
- component: ({ data, role }) => {
261
- switch (role) {
262
- case "complementary--assistant":
263
- return /* @__PURE__ */ React.createElement(AssistantPanel, {
264
- subject: data.subject
265
- });
266
- case "complementary--automation": {
267
- const object = data.subject;
268
- const space = isEchoObject(object) ? getSpace(object) : void 0;
269
- if (space) {
270
- invariant(isEchoObject(object), void 0, {
271
- F: __dxlog_file,
272
- L: 193,
273
- S: void 0,
274
- A: [
275
- "isEchoObject(object)",
276
- ""
277
- ]
278
- });
279
- return /* @__PURE__ */ React.createElement(AutomationPanel, {
280
- space,
281
- object
282
- });
283
- }
284
- break;
285
- }
159
+ ],
160
+ icon: "ph--plugs--regular"
161
+ }),
162
+ contributes(DeckCapabilities.ComplementaryPanel, {
163
+ id: "automation",
164
+ label: [
165
+ "automation panel label",
166
+ {
167
+ ns: AUTOMATION_PLUGIN
286
168
  }
287
- return null;
288
- }
289
- },
290
- intent: {
291
- resolver: (intent) => {
292
- }
293
- }
294
- }
295
- };
296
- };
169
+ ],
170
+ icon: "ph--magic-wand--regular"
171
+ })
172
+ ]
173
+ }),
174
+ defineModule({
175
+ id: `${meta.id}/module/react-surface`,
176
+ activatesOn: Events.SetupSurfaces,
177
+ activate: ReactSurface
178
+ }),
179
+ defineModule({
180
+ id: `${meta.id}/module/app-graph-builder`,
181
+ activatesOn: Events.SetupAppGraph,
182
+ activate: AppGraphBuilder
183
+ }),
184
+ defineModule({
185
+ id: `${meta.id}/module/intent-resolver`,
186
+ activatesOn: Events.SetupIntents,
187
+ activate: IntentResolver
188
+ })
189
+ ]);
297
190
 
298
191
  // packages/plugins/experimental/plugin-automation/src/presets.ts
299
192
  import { create } from "@dxos/live-object";
@@ -512,11 +405,10 @@ var chainPresets = [
512
405
  })
513
406
  }
514
407
  ];
515
-
516
- // packages/plugins/experimental/plugin-automation/src/index.ts
517
- var src_default = AutomationPlugin;
518
408
  export {
519
- AssistantPanel,
409
+ AIChatType,
410
+ AUTOMATION_PLUGIN,
411
+ ApiAuthorization,
520
412
  AutomationAction,
521
413
  AutomationPanel,
522
414
  AutomationPlugin,
@@ -524,8 +416,16 @@ export {
524
416
  ChainInputType,
525
417
  ChainPromptType,
526
418
  ChainType,
419
+ ChatContainer,
420
+ MarkdownViewer,
421
+ PromptEditor,
422
+ ServiceRegistry,
423
+ ServiceType,
424
+ Thread,
425
+ TriggerEditor,
426
+ categoryIcons,
527
427
  chainPresets,
528
- src_default as default,
428
+ meta,
529
429
  str
530
430
  };
531
431
  //# sourceMappingURL=index.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/AutomationPlugin.tsx", "../../../src/components/index.ts", "../../../src/translations.ts", "../../../src/presets.ts", "../../../src/index.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { parseMetadataResolverPlugin, type PluginDefinition, resolvePlugin } from '@dxos/app-framework';\nimport { FunctionTrigger } from '@dxos/functions';\nimport { invariant } from '@dxos/invariant';\nimport { parseClientPlugin } from '@dxos/plugin-client';\nimport { createExtension, toSignal } from '@dxos/plugin-graph';\nimport { memoizeQuery } from '@dxos/plugin-space';\nimport {\n getSpace,\n getTypename,\n isEchoObject,\n loadObjectReferences,\n parseId,\n SpaceState,\n} from '@dxos/react-client/echo';\nimport { translations as formTranslations } from '@dxos/react-ui-form';\n\nimport { AssistantPanel, AutomationPanel } from './components';\nimport meta, { AUTOMATION_PLUGIN } from './meta';\nimport translations from './translations';\nimport { type AutomationPluginProvides, ChainPromptType, ChainType } from './types';\n\nexport const AutomationPlugin = (): PluginDefinition<AutomationPluginProvides> => {\n return {\n meta,\n provides: {\n metadata: {\n records: {\n [ChainType.typename]: {\n placeholder: ['object placeholder', { ns: AUTOMATION_PLUGIN }],\n icon: 'ph--magic-wand--regular',\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: (chain: ChainType) => loadObjectReferences(chain, (chain) => chain.prompts),\n },\n },\n },\n translations: [...translations, ...formTranslations],\n echo: {\n system: [ChainType, ChainPromptType, FunctionTrigger],\n },\n complementary: {\n panels: [\n {\n id: 'automation',\n label: ['open automation panel label', { ns: AUTOMATION_PLUGIN }],\n icon: 'ph--magic-wand--regular',\n },\n {\n id: 'assistant',\n label: ['open assistant panel label', { ns: AUTOMATION_PLUGIN }],\n icon: 'ph--atom--regular',\n },\n ],\n },\n graph: {\n builder: (plugins) => {\n const clientPlugin = resolvePlugin(plugins, parseClientPlugin);\n const metadataPlugin = resolvePlugin(plugins, parseMetadataResolverPlugin);\n const resolve = metadataPlugin?.provides.metadata.resolver;\n const client = clientPlugin?.provides.client;\n invariant(resolve);\n invariant(client);\n\n return [\n // Create nodes for object settings.\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 [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(\n (space) => space.id === spaceId && space.state.get() === SpaceState.SPACE_READY,\n );\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 // TODO(Zan): Find util (or make one). Effect schema!!\n if (!id.endsWith('~assistant')) {\n return;\n }\n\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(\n (space) => space.id === spaceId && space.state.get() === SpaceState.SPACE_READY,\n );\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\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 },\n surface: {\n component: ({ data, role }) => {\n switch (role) {\n case 'complementary--assistant':\n return <AssistantPanel subject={data.subject as any} />;\n case 'complementary--automation': {\n const object = data.subject;\n const space = isEchoObject(object) ? getSpace(object) : undefined;\n if (space) {\n invariant(isEchoObject(object));\n return <AutomationPanel space={space} object={object} />;\n }\n break;\n }\n }\n\n return null;\n },\n },\n intent: {\n resolver: (intent) => {},\n },\n },\n };\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport const AssistantPanel = lazy(() => import('./AssistantPanel'));\nexport const AutomationPanel = lazy(() => import('./AutomationPanel'));\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { AUTOMATION_PLUGIN } from './meta';\n\nexport default [\n {\n 'en-US': {\n [AUTOMATION_PLUGIN]: {\n 'plugin name': 'Automation',\n 'object placeholder': 'New prompt',\n 'create object label': 'Create prompt',\n 'create trigger label': 'Create trigger',\n 'create stack section label': 'Create prompt',\n 'command placeholder': 'Enter slash command...',\n 'template placeholder': 'Enter template...',\n 'value placeholder': 'Enter value...',\n 'select preset template placeholder': 'Select preset',\n 'open automation panel label': 'Show Automations',\n\n 'function select label': 'Function',\n 'function select placeholder': 'Select function',\n 'function enabled': 'Enabled',\n 'trigger select label': 'Trigger',\n 'trigger select placeholder': 'Trigger type',\n\n 'trigger type timer': 'Timer',\n 'trigger type webhook': 'Webhook',\n 'trigger type websocket': 'Websocket',\n 'trigger type subscription': 'Subscription',\n\n 'trigger filter': 'Filter',\n 'trigger cron': 'Cron',\n 'trigger method': 'Method',\n 'trigger endpoint': 'Endpoint',\n\n 'open assistant panel label': 'Show Assistant',\n 'assistant panel label': 'Assistant',\n },\n },\n },\n];\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { create } from '@dxos/live-object';\n\nimport { ChainInputType, ChainPromptType } from './types';\n\nexport const str = (...text: (string | undefined | boolean)[]): string =>\n text\n .filter((value) => value !== undefined && value !== false)\n .flat()\n .join('\\n');\n\nexport type Preset = {\n id: string;\n title: string;\n createPrompt: () => ChainPromptType;\n};\n\nexport const chainPresets: Preset[] = [\n {\n id: 'dxos.org/prompt/translate',\n title: 'Translate',\n createPrompt: () =>\n create(ChainPromptType, {\n command: 'say',\n template: str(\n // prettier-ignore\n 'Translate the following into {language}:',\n '',\n '---',\n '',\n '{input}',\n ),\n inputs: [\n {\n type: ChainInputType.VALUE,\n name: 'language',\n value: 'japanese',\n },\n {\n type: ChainInputType.PASS_THROUGH,\n name: 'input',\n },\n // TODO(burdon): Message.\n // {\n // type: ChainInputType.CONTEXT,\n // name: 'input',\n // value: 'object.text',\n // },\n ],\n }),\n },\n {\n id: 'dxos.org/prompt/chess',\n title: 'Chess',\n createPrompt: () =>\n create(ChainPromptType, {\n command: 'hint',\n template: str(\n // prettier-ignore\n 'You are a machine that is an expert chess player.',\n '',\n 'The move history of the current game is: {history}',\n '',\n 'Suggest the next move and very briefly explain your strategy in a couple of sentences.',\n ),\n inputs: [\n {\n type: ChainInputType.CONTEXT,\n name: 'history',\n value: 'object.pgn',\n },\n ],\n }),\n },\n {\n id: 'dxos.org/prompt/mermaid',\n title: 'Mermaid',\n createPrompt: () =>\n create(ChainPromptType, {\n command: 'draw',\n template: str(\n // prettier-ignore\n 'Create a simplified mermaid graph representing the text below.',\n 'Do not explain anything.',\n '',\n '---',\n '',\n '{input}',\n ),\n inputs: [\n {\n type: ChainInputType.PASS_THROUGH,\n name: 'input',\n },\n ],\n }),\n },\n {\n id: 'dxos.org/prompt/list',\n title: 'List',\n createPrompt: () =>\n create(ChainPromptType, {\n command: 'list',\n template: str(\n // prettier-ignore\n 'You are a machine that only replies with valid, iterable RFC8259 compliant JSON in your responses.',\n 'Your entire response should be a single array of JSON objects.',\n '',\n 'Your entire response should be a map where the key is the type and the value is a single array of JSON objects conforming to the following types:',\n '',\n '{schema}',\n '',\n '---',\n '',\n '{question}',\n ),\n inputs: [\n {\n type: ChainInputType.SCHEMA,\n name: 'schema',\n value: 'example.com/type/project',\n },\n {\n type: ChainInputType.PASS_THROUGH,\n name: 'question',\n },\n ],\n }),\n },\n {\n id: 'dxos.org/prompt/base',\n title: 'RAG',\n createPrompt: () =>\n create(ChainPromptType, {\n command: 'rag',\n template: str(\n // prettier-ignore\n \"Very briefly answer the question based only on the following context and say if you don't know the answer.\",\n // 'answer the question using the following context as well as your training data:',\n '',\n '{context}',\n '',\n '---',\n '',\n 'question: {question}',\n ),\n inputs: [\n {\n type: ChainInputType.RETRIEVER,\n name: 'context',\n },\n {\n type: ChainInputType.CONTEXT,\n name: 'question',\n value: 'object.text',\n },\n ],\n }),\n },\n {\n id: 'dxos.org/prompt/lookup',\n title: 'Lookup',\n createPrompt: () =>\n create(ChainPromptType, {\n command: 'lookup',\n template: str(\n // prettier-ignore\n 'Lookup and very briefly summarize the following topic in one or two sentences:',\n '',\n '---',\n '',\n '{input}',\n ),\n inputs: [\n {\n type: ChainInputType.CONTEXT,\n name: 'input',\n value: 'text',\n },\n ],\n }),\n },\n {\n id: 'dxos.org/prompt/extract',\n title: 'Extract',\n createPrompt: () =>\n create(ChainPromptType, {\n command: 'extract',\n template: str(\n // prettier-ignore\n 'List all people and companies mentioned in the text below.',\n '',\n 'You are a machine that only replies with valid, iterable RFC8259 compliant JSON in your responses.',\n 'Your entire response should be a map where the key is the type and the value is a single array of JSON objects conforming to the following types:',\n '',\n '{contact}',\n '{company}',\n '',\n '---',\n '',\n '{input}',\n ),\n inputs: [\n {\n type: ChainInputType.SCHEMA,\n name: 'contact',\n value: 'example.com/type/contact',\n },\n {\n type: ChainInputType.SCHEMA,\n name: 'company',\n value: 'example.com/type/organization',\n },\n {\n type: ChainInputType.CONTEXT,\n name: 'input',\n value: 'text',\n },\n ],\n }),\n },\n {\n id: 'dxos.org/prompt/discord',\n title: 'Summarize',\n createPrompt: () =>\n create(ChainPromptType, {\n command: 'summarize',\n template: str(\n // prettier-ignore\n 'Summarize what the team is working on and format it as a markdown table without any explanation.',\n '',\n '---',\n '',\n '{context}',\n ),\n inputs: [\n {\n type: ChainInputType.RESOLVER,\n name: 'context',\n value: 'discord.messages.recent',\n },\n ],\n }),\n },\n];\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { AutomationPlugin } from './AutomationPlugin';\n\nexport default AutomationPlugin;\n\nexport * from './AutomationPlugin';\nexport * from './components';\nexport * from './presets';\nexport * from './types';\n"],
5
- "mappings": "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",
6
- "names": ["React", "parseMetadataResolverPlugin", "resolvePlugin", "FunctionTrigger", "invariant", "parseClientPlugin", "createExtension", "toSignal", "memoizeQuery", "getSpace", "getTypename", "isEchoObject", "loadObjectReferences", "parseId", "SpaceState", "translations", "formTranslations", "lazy", "AssistantPanel", "lazy", "AutomationPanel", "AUTOMATION_PLUGIN", "AutomationPlugin", "meta", "provides", "metadata", "records", "ChainType", "typename", "placeholder", "ns", "AUTOMATION_PLUGIN", "icon", "loadReferences", "chain", "loadObjectReferences", "prompts", "translations", "formTranslations", "echo", "system", "ChainPromptType", "FunctionTrigger", "complementary", "panels", "id", "label", "graph", "builder", "plugins", "clientPlugin", "resolvePlugin", "parseClientPlugin", "metadataPlugin", "parseMetadataResolverPlugin", "resolve", "resolver", "client", "invariant", "createExtension", "endsWith", "type", "subjectId", "split", "spaceId", "objectId", "parseId", "spaces", "toSignal", "onChange", "subscribe", "unsubscribe", "get", "space", "find", "state", "SpaceState", "SPACE_READY", "properties", "name", "data", "showResolvedThreads", "object", "memoizeQuery", "getTypename", "surface", "component", "role", "AssistantPanel", "subject", "isEchoObject", "getSpace", "undefined", "AutomationPanel", "intent", "create", "str", "text", "filter", "value", "undefined", "flat", "join", "chainPresets", "id", "title", "createPrompt", "create", "ChainPromptType", "command", "template", "inputs", "type", "ChainInputType", "VALUE", "name", "PASS_THROUGH", "CONTEXT", "SCHEMA", "RETRIEVER", "RESOLVER", "AutomationPlugin"]
3
+ "sources": ["../../../src/AutomationPlugin.tsx", "../../../src/translations.ts", "../../../src/presets.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Capabilities, contributes, createIntent, defineModule, definePlugin, Events } from '@dxos/app-framework';\nimport { FunctionTrigger } from '@dxos/functions';\nimport { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';\nimport { DeckCapabilities } from '@dxos/plugin-deck';\nimport { RefArray } from '@dxos/react-client/echo';\n\nimport { AiClient, AppGraphBuilder, IntentResolver, ReactSurface } from './capabilities';\nimport { AUTOMATION_PLUGIN, meta } from './meta';\nimport translations from './translations';\nimport { AutomationAction, ChainPromptType, ChainType, AIChatType, ServiceType } from './types';\n\n// TODO(wittjosiah): Rename to AssistantPlugin?\nexport const AutomationPlugin = () =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/ai-client`,\n activatesOn: ClientEvents.ClientReady,\n activate: AiClient,\n }),\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, translations),\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: Events.SetupMetadata,\n activate: () => [\n contributes(Capabilities.Metadata, {\n id: ChainType.typename,\n metadata: {\n placeholder: ['object placeholder', { ns: AUTOMATION_PLUGIN }],\n icon: 'ph--magic-wand--regular',\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: async (chain: ChainType) => await RefArray.loadAll(chain.prompts ?? []),\n },\n }),\n contributes(Capabilities.Metadata, {\n id: AIChatType.typename,\n metadata: {\n createObject: (props: { name?: string }) => createIntent(AutomationAction.Create, props),\n placeholder: ['object placeholder', { ns: AUTOMATION_PLUGIN }],\n icon: 'ph--atom--regular',\n },\n }),\n ],\n }),\n defineModule({\n id: `${meta.id}/module/schema`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () => [\n contributes(ClientCapabilities.SystemSchema, [ChainType, ChainPromptType, FunctionTrigger, ServiceType]),\n contributes(ClientCapabilities.Schema, [AIChatType]),\n ],\n }),\n defineModule({\n id: `${meta.id}/module/complementary-panels`,\n activatesOn: Events.Startup,\n activate: () => [\n contributes(DeckCapabilities.ComplementaryPanel, {\n id: 'service-registry',\n label: ['service registry label', { ns: AUTOMATION_PLUGIN }],\n icon: 'ph--plugs--regular',\n }),\n contributes(DeckCapabilities.ComplementaryPanel, {\n id: 'automation',\n label: ['automation panel label', { ns: AUTOMATION_PLUGIN }],\n icon: 'ph--magic-wand--regular',\n }),\n ],\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupSurfaces,\n activate: ReactSurface,\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-builder`,\n activatesOn: Events.SetupAppGraph,\n activate: AppGraphBuilder,\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntents,\n activate: IntentResolver,\n }),\n ]);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { AUTOMATION_PLUGIN } from './meta';\nimport { AIChatType } from './types';\n\nexport default [\n {\n 'en-US': {\n [AIChatType.typename]: {\n 'typename label': 'AI Chat',\n },\n [AUTOMATION_PLUGIN]: {\n 'plugin name': 'Automation',\n 'object placeholder': 'New prompt',\n 'create object label': 'Create prompt',\n 'create trigger label': 'Create trigger',\n 'create stack section label': 'Create prompt',\n 'command placeholder': 'Enter slash command...',\n 'template placeholder': 'Enter template...',\n 'value placeholder': 'Enter value...',\n 'select preset template placeholder': 'Select preset',\n 'open automation panel label': 'Show Automations',\n 'automation panel label': 'Automations',\n 'service registry label': 'Service Registry',\n\n 'chat input placeholder': 'Ask a question...',\n 'chat stop': 'Cancel request.',\n\n 'function select label': 'Function',\n 'function select placeholder': 'Select function',\n 'function enabled': 'Enabled',\n\n 'trigger select label': 'Trigger',\n 'trigger select placeholder': 'Trigger type',\n\n 'trigger type timer': 'Timer',\n 'trigger type webhook': 'Webhook',\n 'trigger type websocket': 'Websocket',\n 'trigger type subscription': 'Subscription',\n 'trigger type email': 'Email',\n\n 'trigger filter': 'Filter',\n 'trigger cron': 'Cron',\n 'trigger method': 'Method',\n 'trigger endpoint': 'Endpoint',\n\n 'trigger copy url': 'Copy URL',\n 'trigger copy email': 'Copy Email',\n\n 'trigger meta add': 'Add',\n 'trigger meta remove': 'Remove',\n 'trigger meta prop name placeholder': 'New meta property name',\n },\n },\n },\n];\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { create } from '@dxos/live-object';\n\nimport { ChainInputType, ChainPromptType } from './types';\n\nexport const str = (...text: (string | undefined | boolean)[]): string =>\n text\n .filter((value) => value !== undefined && value !== false)\n .flat()\n .join('\\n');\n\nexport type Preset = {\n id: string;\n title: string;\n createPrompt: () => ChainPromptType;\n};\n\nexport const chainPresets: Preset[] = [\n {\n id: 'dxos.org/prompt/translate',\n title: 'Translate',\n createPrompt: () =>\n create(ChainPromptType, {\n command: 'say',\n template: str(\n // prettier-ignore\n 'Translate the following into {language}:',\n '',\n '---',\n '',\n '{input}',\n ),\n inputs: [\n {\n type: ChainInputType.VALUE,\n name: 'language',\n value: 'japanese',\n },\n {\n type: ChainInputType.PASS_THROUGH,\n name: 'input',\n },\n // TODO(burdon): Message.\n // {\n // type: ChainInputType.CONTEXT,\n // name: 'input',\n // value: 'object.text',\n // },\n ],\n }),\n },\n {\n id: 'dxos.org/prompt/chess',\n title: 'Chess',\n createPrompt: () =>\n create(ChainPromptType, {\n command: 'hint',\n template: str(\n // prettier-ignore\n 'You are a machine that is an expert chess player.',\n '',\n 'The move history of the current game is: {history}',\n '',\n 'Suggest the next move and very briefly explain your strategy in a couple of sentences.',\n ),\n inputs: [\n {\n type: ChainInputType.CONTEXT,\n name: 'history',\n value: 'object.pgn',\n },\n ],\n }),\n },\n {\n id: 'dxos.org/prompt/mermaid',\n title: 'Mermaid',\n createPrompt: () =>\n create(ChainPromptType, {\n command: 'draw',\n template: str(\n // prettier-ignore\n 'Create a simplified mermaid graph representing the text below.',\n 'Do not explain anything.',\n '',\n '---',\n '',\n '{input}',\n ),\n inputs: [\n {\n type: ChainInputType.PASS_THROUGH,\n name: 'input',\n },\n ],\n }),\n },\n {\n id: 'dxos.org/prompt/list',\n title: 'List',\n createPrompt: () =>\n create(ChainPromptType, {\n command: 'list',\n template: str(\n // prettier-ignore\n 'You are a machine that only replies with valid, iterable RFC8259 compliant JSON in your responses.',\n 'Your entire response should be a single array of JSON objects.',\n '',\n 'Your entire response should be a map where the key is the type and the value is a single array of JSON objects conforming to the following types:',\n '',\n '{schema}',\n '',\n '---',\n '',\n '{question}',\n ),\n inputs: [\n {\n type: ChainInputType.SCHEMA,\n name: 'schema',\n value: 'example.com/type/project',\n },\n {\n type: ChainInputType.PASS_THROUGH,\n name: 'question',\n },\n ],\n }),\n },\n {\n id: 'dxos.org/prompt/base',\n title: 'RAG',\n createPrompt: () =>\n create(ChainPromptType, {\n command: 'rag',\n template: str(\n // prettier-ignore\n \"Very briefly answer the question based only on the following context and say if you don't know the answer.\",\n // 'answer the question using the following context as well as your training data:',\n '',\n '{context}',\n '',\n '---',\n '',\n 'question: {question}',\n ),\n inputs: [\n {\n type: ChainInputType.RETRIEVER,\n name: 'context',\n },\n {\n type: ChainInputType.CONTEXT,\n name: 'question',\n value: 'object.text',\n },\n ],\n }),\n },\n {\n id: 'dxos.org/prompt/lookup',\n title: 'Lookup',\n createPrompt: () =>\n create(ChainPromptType, {\n command: 'lookup',\n template: str(\n // prettier-ignore\n 'Lookup and very briefly summarize the following topic in one or two sentences:',\n '',\n '---',\n '',\n '{input}',\n ),\n inputs: [\n {\n type: ChainInputType.CONTEXT,\n name: 'input',\n value: 'text',\n },\n ],\n }),\n },\n {\n id: 'dxos.org/prompt/extract',\n title: 'Extract',\n createPrompt: () =>\n create(ChainPromptType, {\n command: 'extract',\n template: str(\n // prettier-ignore\n 'List all people and companies mentioned in the text below.',\n '',\n 'You are a machine that only replies with valid, iterable RFC8259 compliant JSON in your responses.',\n 'Your entire response should be a map where the key is the type and the value is a single array of JSON objects conforming to the following types:',\n '',\n '{contact}',\n '{company}',\n '',\n '---',\n '',\n '{input}',\n ),\n inputs: [\n {\n type: ChainInputType.SCHEMA,\n name: 'contact',\n value: 'example.com/type/contact',\n },\n {\n type: ChainInputType.SCHEMA,\n name: 'company',\n value: 'example.com/type/organization',\n },\n {\n type: ChainInputType.CONTEXT,\n name: 'input',\n value: 'text',\n },\n ],\n }),\n },\n {\n id: 'dxos.org/prompt/discord',\n title: 'Summarize',\n createPrompt: () =>\n create(ChainPromptType, {\n command: 'summarize',\n template: str(\n // prettier-ignore\n 'Summarize what the team is working on and format it as a markdown table without any explanation.',\n '',\n '---',\n '',\n '{context}',\n ),\n inputs: [\n {\n type: ChainInputType.RESOLVER,\n name: 'context',\n value: 'discord.messages.recent',\n },\n ],\n }),\n },\n];\n"],
5
+ "mappings": "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",
6
+ "names": ["Capabilities", "contributes", "createIntent", "defineModule", "definePlugin", "Events", "FunctionTrigger", "ClientCapabilities", "ClientEvents", "DeckCapabilities", "RefArray", "AIChatType", "typename", "AUTOMATION_PLUGIN", "AutomationPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "ClientEvents", "ClientReady", "activate", "AiClient", "Events", "SetupTranslations", "contributes", "Capabilities", "Translations", "translations", "SetupMetadata", "Metadata", "ChainType", "typename", "metadata", "placeholder", "ns", "AUTOMATION_PLUGIN", "icon", "loadReferences", "chain", "RefArray", "loadAll", "prompts", "AIChatType", "createObject", "props", "createIntent", "AutomationAction", "Create", "SetupSchema", "ClientCapabilities", "SystemSchema", "ChainPromptType", "FunctionTrigger", "ServiceType", "Schema", "Startup", "DeckCapabilities", "ComplementaryPanel", "label", "SetupSurfaces", "ReactSurface", "SetupAppGraph", "AppGraphBuilder", "SetupIntents", "IntentResolver", "create", "str", "text", "filter", "value", "undefined", "flat", "join", "chainPresets", "id", "title", "createPrompt", "create", "ChainPromptType", "command", "template", "inputs", "type", "ChainInputType", "VALUE", "name", "PASS_THROUGH", "CONTEXT", "SCHEMA", "RETRIEVER", "RESOLVER"]
7
7
  }
@@ -0,0 +1,29 @@
1
+ import {
2
+ AIChatType,
3
+ AutomationAction
4
+ } from "./chunk-43WRHV2L.mjs";
5
+ import "./chunk-DQ7ZSYJJ.mjs";
6
+
7
+ // packages/plugins/experimental/plugin-automation/src/capabilities/intent-resolver.ts
8
+ import { Capabilities, contributes, createResolver } from "@dxos/app-framework";
9
+ import { ObjectId } from "@dxos/echo-schema";
10
+ import { create, makeRef } from "@dxos/live-object";
11
+ var intent_resolver_default = () => contributes(Capabilities.IntentResolver, createResolver({
12
+ intent: AutomationAction.Create,
13
+ resolve: ({ name }) => ({
14
+ data: {
15
+ object: create(AIChatType, {
16
+ name,
17
+ // TODO(burdon): ???
18
+ // new DXN(DXN.kind.QUEUE, [QueueSubspaceTags.DATA, SpaceId.random(), ObjectId.random()]).toString(),
19
+ queue: makeRef({
20
+ id: ObjectId.random()
21
+ })
22
+ })
23
+ }
24
+ })
25
+ }));
26
+ export {
27
+ intent_resolver_default as default
28
+ };
29
+ //# sourceMappingURL=intent-resolver-5YVZJFS3.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/intent-resolver.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, createResolver } from '@dxos/app-framework';\nimport { ObjectId } from '@dxos/echo-schema';\nimport { create, makeRef } from '@dxos/live-object';\n\nimport { AutomationAction, AIChatType } from '../types';\n\nexport default () =>\n contributes(\n Capabilities.IntentResolver,\n createResolver({\n intent: AutomationAction.Create,\n resolve: ({ name }) => ({\n data: {\n object: create(AIChatType, {\n name,\n // TODO(burdon): ???\n // new DXN(DXN.kind.QUEUE, [QueueSubspaceTags.DATA, SpaceId.random(), ObjectId.random()]).toString(),\n queue: makeRef({ id: ObjectId.random() }),\n }),\n },\n }),\n }),\n );\n"],
5
+ "mappings": ";;;;;;;AAIA,SAASA,cAAcC,aAAaC,sBAAsB;AAC1D,SAASC,gBAAgB;AACzB,SAASC,QAAQC,eAAe;AAIhC,IAAA,0BAAe,MACbC,YACEC,aAAaC,gBACbC,eAAe;EACbC,QAAQC,iBAAiBC;EACzBC,SAAS,CAAC,EAAEC,KAAI,OAAQ;IACtBC,MAAM;MACJC,QAAQC,OAAOC,YAAY;QACzBJ;;;QAGAK,OAAOC,QAAQ;UAAEC,IAAIC,SAASC,OAAM;QAAG,CAAA;MACzC,CAAA;IACF;EACF;AACF,CAAA,CAAA;",
6
+ "names": ["Capabilities", "contributes", "createResolver", "ObjectId", "create", "makeRef", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "AutomationAction", "Create", "resolve", "name", "data", "object", "create", "AIChatType", "queue", "makeRef", "id", "ObjectId", "random"]
7
+ }