@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,36 +1,52 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
+ AutomationPanel,
4
+ ChatContainer,
5
+ PromptEditor,
6
+ ServiceRegistry
7
+ } from "./chunk-VN2AFV25.mjs";
8
+ import {
9
+ TriggerEditor
10
+ } from "./chunk-NSVQZ3EH.mjs";
11
+ import {
12
+ AiClient,
13
+ AppGraphBuilder,
14
+ IntentResolver,
15
+ MarkdownViewer,
16
+ ReactSurface,
17
+ Thread
18
+ } from "./chunk-JJFWFS6P.mjs";
19
+ import "./chunk-LSSWQIQD.mjs";
20
+ import {
21
+ AIChatType,
22
+ ApiAuthorization,
3
23
  AutomationAction,
4
24
  ChainInputSchema,
5
25
  ChainInputType,
6
26
  ChainPromptType,
7
- ChainType
8
- } from "./chunk-23LY7DYS.mjs";
27
+ ChainType,
28
+ ServiceType,
29
+ categoryIcons
30
+ } from "./chunk-7JO77AAS.mjs";
9
31
  import {
10
32
  AUTOMATION_PLUGIN,
11
- meta_default
12
- } from "./chunk-HNOBZHWK.mjs";
33
+ meta
34
+ } from "./chunk-JFHI22MF.mjs";
13
35
 
14
36
  // packages/plugins/experimental/plugin-automation/src/AutomationPlugin.tsx
15
- import React from "react";
16
- import { parseMetadataResolverPlugin, resolvePlugin } from "@dxos/app-framework";
37
+ import { Capabilities, contributes, createIntent, defineModule, definePlugin, Events } from "@dxos/app-framework";
17
38
  import { FunctionTrigger } from "@dxos/functions";
18
- import { invariant } from "@dxos/invariant";
19
- import { parseClientPlugin } from "@dxos/plugin-client";
20
- import { createExtension, toSignal } from "@dxos/plugin-graph";
21
- import { memoizeQuery } from "@dxos/plugin-space";
22
- import { getSpace, getTypename, isEchoObject, loadObjectReferences, parseId, SpaceState } from "@dxos/react-client/echo";
23
- import { translations as formTranslations } from "@dxos/react-ui-form";
24
-
25
- // packages/plugins/experimental/plugin-automation/src/components/index.ts
26
- import { lazy } from "react";
27
- var AssistantPanel = lazy(() => import("./AssistantPanel-72YH43CH.mjs"));
28
- var AutomationPanel = lazy(() => import("./AutomationPanel-JUHOWQWW.mjs"));
39
+ import { ClientCapabilities, ClientEvents } from "@dxos/plugin-client";
40
+ import { DeckCapabilities } from "@dxos/plugin-deck";
41
+ import { RefArray } from "@dxos/react-client/echo";
29
42
 
30
43
  // packages/plugins/experimental/plugin-automation/src/translations.ts
31
44
  var translations_default = [
32
45
  {
33
46
  "en-US": {
47
+ [AIChatType.typename]: {
48
+ "typename label": "AI Chat"
49
+ },
34
50
  [AUTOMATION_PLUGIN]: {
35
51
  "plugin name": "Automation",
36
52
  "object placeholder": "New prompt",
@@ -42,6 +58,10 @@ var translations_default = [
42
58
  "value placeholder": "Enter value...",
43
59
  "select preset template placeholder": "Select preset",
44
60
  "open automation panel label": "Show Automations",
61
+ "automation panel label": "Automations",
62
+ "service registry label": "Service Registry",
63
+ "chat input placeholder": "Ask a question...",
64
+ "chat stop": "Cancel request.",
45
65
  "function select label": "Function",
46
66
  "function select placeholder": "Select function",
47
67
  "function enabled": "Enabled",
@@ -51,250 +71,123 @@ var translations_default = [
51
71
  "trigger type webhook": "Webhook",
52
72
  "trigger type websocket": "Websocket",
53
73
  "trigger type subscription": "Subscription",
74
+ "trigger type email": "Email",
54
75
  "trigger filter": "Filter",
55
76
  "trigger cron": "Cron",
56
77
  "trigger method": "Method",
57
78
  "trigger endpoint": "Endpoint",
58
- "open assistant panel label": "Show Assistant",
59
- "assistant panel label": "Assistant"
79
+ "trigger copy url": "Copy URL",
80
+ "trigger copy email": "Copy Email",
81
+ "trigger meta add": "Add",
82
+ "trigger meta remove": "Remove",
83
+ "trigger meta prop name placeholder": "New meta property name"
60
84
  }
61
85
  }
62
86
  }
63
87
  ];
64
88
 
65
89
  // packages/plugins/experimental/plugin-automation/src/AutomationPlugin.tsx
66
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-automation/src/AutomationPlugin.tsx";
67
- var AutomationPlugin = () => {
68
- return {
69
- meta: meta_default,
70
- provides: {
71
- metadata: {
72
- records: {
73
- [ChainType.typename]: {
74
- placeholder: [
75
- "object placeholder",
76
- {
77
- ns: AUTOMATION_PLUGIN
78
- }
79
- ],
80
- icon: "ph--magic-wand--regular",
81
- // TODO(wittjosiah): Move out of metadata.
82
- loadReferences: (chain) => loadObjectReferences(chain, (chain2) => chain2.prompts)
83
- }
90
+ var AutomationPlugin = () => definePlugin(meta, [
91
+ defineModule({
92
+ id: `${meta.id}/module/ai-client`,
93
+ activatesOn: ClientEvents.ClientReady,
94
+ activate: AiClient
95
+ }),
96
+ defineModule({
97
+ id: `${meta.id}/module/translations`,
98
+ activatesOn: Events.SetupTranslations,
99
+ activate: () => contributes(Capabilities.Translations, translations_default)
100
+ }),
101
+ defineModule({
102
+ id: `${meta.id}/module/metadata`,
103
+ activatesOn: Events.SetupMetadata,
104
+ activate: () => [
105
+ contributes(Capabilities.Metadata, {
106
+ id: ChainType.typename,
107
+ metadata: {
108
+ placeholder: [
109
+ "object placeholder",
110
+ {
111
+ ns: AUTOMATION_PLUGIN
112
+ }
113
+ ],
114
+ icon: "ph--magic-wand--regular",
115
+ // TODO(wittjosiah): Move out of metadata.
116
+ loadReferences: async (chain) => await RefArray.loadAll(chain.prompts ?? [])
84
117
  }
85
- },
86
- translations: [
87
- ...translations_default,
88
- ...formTranslations
89
- ],
90
- echo: {
91
- system: [
92
- ChainType,
93
- ChainPromptType,
94
- FunctionTrigger
95
- ]
96
- },
97
- complementary: {
98
- panels: [
99
- {
100
- id: "automation",
101
- label: [
102
- "open automation panel label",
103
- {
104
- ns: AUTOMATION_PLUGIN
105
- }
106
- ],
107
- icon: "ph--magic-wand--regular"
108
- },
118
+ }),
119
+ contributes(Capabilities.Metadata, {
120
+ id: AIChatType.typename,
121
+ metadata: {
122
+ createObject: (props) => createIntent(AutomationAction.Create, props),
123
+ placeholder: [
124
+ "object placeholder",
125
+ {
126
+ ns: AUTOMATION_PLUGIN
127
+ }
128
+ ],
129
+ icon: "ph--atom--regular"
130
+ }
131
+ })
132
+ ]
133
+ }),
134
+ defineModule({
135
+ id: `${meta.id}/module/schema`,
136
+ activatesOn: ClientEvents.SetupSchema,
137
+ activate: () => [
138
+ contributes(ClientCapabilities.SystemSchema, [
139
+ ChainType,
140
+ ChainPromptType,
141
+ FunctionTrigger,
142
+ ServiceType
143
+ ]),
144
+ contributes(ClientCapabilities.Schema, [
145
+ AIChatType
146
+ ])
147
+ ]
148
+ }),
149
+ defineModule({
150
+ id: `${meta.id}/module/complementary-panels`,
151
+ activatesOn: Events.Startup,
152
+ activate: () => [
153
+ contributes(DeckCapabilities.ComplementaryPanel, {
154
+ id: "service-registry",
155
+ label: [
156
+ "service registry label",
109
157
  {
110
- id: "assistant",
111
- label: [
112
- "open assistant panel label",
113
- {
114
- ns: AUTOMATION_PLUGIN
115
- }
116
- ],
117
- icon: "ph--atom--regular"
158
+ ns: AUTOMATION_PLUGIN
118
159
  }
119
- ]
120
- },
121
- graph: {
122
- builder: (plugins) => {
123
- const clientPlugin = resolvePlugin(plugins, parseClientPlugin);
124
- const metadataPlugin = resolvePlugin(plugins, parseMetadataResolverPlugin);
125
- const resolve = metadataPlugin?.provides.metadata.resolver;
126
- const client = clientPlugin?.provides.client;
127
- invariant(resolve, void 0, {
128
- F: __dxlog_file,
129
- L: 66,
130
- S: void 0,
131
- A: [
132
- "resolve",
133
- ""
134
- ]
135
- });
136
- invariant(client, void 0, {
137
- F: __dxlog_file,
138
- L: 67,
139
- S: void 0,
140
- A: [
141
- "client",
142
- ""
143
- ]
144
- });
145
- return [
146
- // Create nodes for object settings.
147
- createExtension({
148
- id: `${AUTOMATION_PLUGIN}/automation-for-subject`,
149
- resolver: ({ id }) => {
150
- if (!id.endsWith("~automation")) {
151
- return;
152
- }
153
- const type = "orphan-settings-for-subject";
154
- const icon = "ph--magic-wand--regular";
155
- const [subjectId] = id.split("~");
156
- const { spaceId, objectId } = parseId(subjectId);
157
- const spaces = toSignal((onChange) => client.spaces.subscribe(() => onChange()).unsubscribe, () => client.spaces.get());
158
- const space = spaces?.find((space2) => space2.id === spaceId && space2.state.get() === SpaceState.SPACE_READY);
159
- if (!objectId) {
160
- const label2 = space ? space.properties.name || [
161
- "unnamed space label",
162
- {
163
- ns: AUTOMATION_PLUGIN
164
- }
165
- ] : [
166
- "unnamed object settings label",
167
- {
168
- ns: AUTOMATION_PLUGIN
169
- }
170
- ];
171
- return {
172
- id,
173
- type,
174
- data: null,
175
- properties: {
176
- icon,
177
- label: label2,
178
- showResolvedThreads: false,
179
- object: null,
180
- space
181
- }
182
- };
183
- }
184
- const [object] = memoizeQuery(space, {
185
- id: objectId
186
- });
187
- if (!object || !subjectId) {
188
- return;
189
- }
190
- const meta = resolve(getTypename(object) ?? "");
191
- const label = meta.label?.(object) || object.name || meta.placeholder || [
192
- "unnamed object settings label",
193
- {
194
- ns: AUTOMATION_PLUGIN
195
- }
196
- ];
197
- return {
198
- id,
199
- type,
200
- data: null,
201
- properties: {
202
- icon,
203
- label,
204
- object
205
- }
206
- };
207
- }
208
- }),
209
- createExtension({
210
- id: `${AUTOMATION_PLUGIN}/assistant-for-subject`,
211
- resolver: ({ id }) => {
212
- if (!id.endsWith("~assistant")) {
213
- return;
214
- }
215
- const [subjectId] = id.split("~");
216
- const { spaceId, objectId } = parseId(subjectId);
217
- const spaces = toSignal((onChange) => client.spaces.subscribe(() => onChange()).unsubscribe, () => client.spaces.get());
218
- const space = spaces?.find((space2) => space2.id === spaceId && space2.state.get() === SpaceState.SPACE_READY);
219
- if (!objectId) {
220
- return {
221
- id,
222
- type: "orphan-automation-for-subject",
223
- data: null,
224
- properties: {
225
- icon: "ph--atom--regular",
226
- label: [
227
- "assistant panel label",
228
- {
229
- ns: AUTOMATION_PLUGIN
230
- }
231
- ],
232
- object: null,
233
- space
234
- }
235
- };
236
- }
237
- const [object] = memoizeQuery(space, {
238
- id: objectId
239
- });
240
- return {
241
- id,
242
- type: "orphan-automation-for-subject",
243
- data: null,
244
- properties: {
245
- icon: "ph--atom--regular",
246
- label: [
247
- "assistant panel label",
248
- {
249
- ns: AUTOMATION_PLUGIN
250
- }
251
- ],
252
- object
253
- }
254
- };
255
- }
256
- })
257
- ];
258
- }
259
- },
260
- surface: {
261
- component: ({ data, role }) => {
262
- switch (role) {
263
- case "complementary--assistant":
264
- return /* @__PURE__ */ React.createElement(AssistantPanel, {
265
- subject: data.subject
266
- });
267
- case "complementary--automation": {
268
- const object = data.subject;
269
- const space = isEchoObject(object) ? getSpace(object) : void 0;
270
- if (space) {
271
- invariant(isEchoObject(object), void 0, {
272
- F: __dxlog_file,
273
- L: 193,
274
- S: void 0,
275
- A: [
276
- "isEchoObject(object)",
277
- ""
278
- ]
279
- });
280
- return /* @__PURE__ */ React.createElement(AutomationPanel, {
281
- space,
282
- object
283
- });
284
- }
285
- break;
286
- }
160
+ ],
161
+ icon: "ph--plugs--regular"
162
+ }),
163
+ contributes(DeckCapabilities.ComplementaryPanel, {
164
+ id: "automation",
165
+ label: [
166
+ "automation panel label",
167
+ {
168
+ ns: AUTOMATION_PLUGIN
287
169
  }
288
- return null;
289
- }
290
- },
291
- intent: {
292
- resolver: (intent) => {
293
- }
294
- }
295
- }
296
- };
297
- };
170
+ ],
171
+ icon: "ph--magic-wand--regular"
172
+ })
173
+ ]
174
+ }),
175
+ defineModule({
176
+ id: `${meta.id}/module/react-surface`,
177
+ activatesOn: Events.SetupSurfaces,
178
+ activate: ReactSurface
179
+ }),
180
+ defineModule({
181
+ id: `${meta.id}/module/app-graph-builder`,
182
+ activatesOn: Events.SetupAppGraph,
183
+ activate: AppGraphBuilder
184
+ }),
185
+ defineModule({
186
+ id: `${meta.id}/module/intent-resolver`,
187
+ activatesOn: Events.SetupIntents,
188
+ activate: IntentResolver
189
+ })
190
+ ]);
298
191
 
299
192
  // packages/plugins/experimental/plugin-automation/src/presets.ts
300
193
  import { create } from "@dxos/live-object";
@@ -513,11 +406,10 @@ var chainPresets = [
513
406
  })
514
407
  }
515
408
  ];
516
-
517
- // packages/plugins/experimental/plugin-automation/src/index.ts
518
- var src_default = AutomationPlugin;
519
409
  export {
520
- AssistantPanel,
410
+ AIChatType,
411
+ AUTOMATION_PLUGIN,
412
+ ApiAuthorization,
521
413
  AutomationAction,
522
414
  AutomationPanel,
523
415
  AutomationPlugin,
@@ -525,8 +417,16 @@ export {
525
417
  ChainInputType,
526
418
  ChainPromptType,
527
419
  ChainType,
420
+ ChatContainer,
421
+ MarkdownViewer,
422
+ PromptEditor,
423
+ ServiceRegistry,
424
+ ServiceType,
425
+ Thread,
426
+ TriggerEditor,
427
+ categoryIcons,
528
428
  chainPresets,
529
- src_default as default,
429
+ meta,
530
430
  str
531
431
  };
532
432
  //# 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,30 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ AIChatType,
4
+ AutomationAction
5
+ } from "./chunk-7JO77AAS.mjs";
6
+ import "./chunk-JFHI22MF.mjs";
7
+
8
+ // packages/plugins/experimental/plugin-automation/src/capabilities/intent-resolver.ts
9
+ import { Capabilities, contributes, createResolver } from "@dxos/app-framework";
10
+ import { ObjectId } from "@dxos/echo-schema";
11
+ import { create, makeRef } from "@dxos/live-object";
12
+ var intent_resolver_default = () => contributes(Capabilities.IntentResolver, createResolver({
13
+ intent: AutomationAction.Create,
14
+ resolve: ({ name }) => ({
15
+ data: {
16
+ object: create(AIChatType, {
17
+ name,
18
+ // TODO(burdon): ???
19
+ // new DXN(DXN.kind.QUEUE, [QueueSubspaceTags.DATA, SpaceId.random(), ObjectId.random()]).toString(),
20
+ queue: makeRef({
21
+ id: ObjectId.random()
22
+ })
23
+ })
24
+ }
25
+ })
26
+ }));
27
+ export {
28
+ intent_resolver_default as default
29
+ };
30
+ //# sourceMappingURL=intent-resolver-FCKNRTKQ.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
+ }