@dxos/plugin-automation 0.7.5-labs.a279d8c → 0.7.5-labs.ea4b4c2

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 (305) hide show
  1. package/dist/lib/browser/AutomationPanel-VW2XIUPU.mjs +8 -0
  2. package/dist/lib/browser/AutomationPanel-VW2XIUPU.mjs.map +7 -0
  3. package/dist/lib/browser/ChatContainer-5TAVTN3T.mjs +12 -0
  4. package/dist/lib/browser/ChatContainer-5TAVTN3T.mjs.map +7 -0
  5. package/dist/lib/browser/{ai-client-6CRYUC6D.mjs → ai-client-5CNY6JBF.mjs} +4 -4
  6. package/dist/lib/browser/{ai-client-6CRYUC6D.mjs.map → ai-client-5CNY6JBF.mjs.map} +3 -3
  7. package/dist/lib/browser/{app-graph-builder-IJTTULDP.mjs → app-graph-builder-FZGK55G7.mjs} +70 -4
  8. package/dist/lib/browser/app-graph-builder-FZGK55G7.mjs.map +7 -0
  9. package/dist/lib/browser/{chunk-HZ4TA7HY.mjs → chunk-2H2EUYXL.mjs} +2 -2
  10. package/dist/lib/browser/chunk-DVE33EZL.mjs +1602 -0
  11. package/dist/lib/browser/chunk-DVE33EZL.mjs.map +7 -0
  12. package/dist/lib/browser/{chunk-EKJVAFT2.mjs → chunk-MJK7GL5P.mjs} +108 -27
  13. package/dist/lib/browser/chunk-MJK7GL5P.mjs.map +7 -0
  14. package/dist/lib/browser/chunk-NQFZ6XRX.mjs +243 -0
  15. package/dist/lib/browser/chunk-NQFZ6XRX.mjs.map +7 -0
  16. package/dist/lib/browser/chunk-Q4IMHYGH.mjs +150 -0
  17. package/dist/lib/browser/chunk-Q4IMHYGH.mjs.map +7 -0
  18. package/dist/lib/browser/{chunk-HKX3D3ZP.mjs → chunk-R4JH4TLE.mjs} +4 -2
  19. package/dist/lib/browser/chunk-R4JH4TLE.mjs.map +7 -0
  20. package/dist/lib/browser/index.mjs +56 -45
  21. package/dist/lib/browser/index.mjs.map +3 -3
  22. package/dist/lib/browser/intent-resolver-BWAXKT27.mjs +29 -0
  23. package/dist/lib/browser/intent-resolver-BWAXKT27.mjs.map +7 -0
  24. package/dist/lib/browser/meta.json +1 -1
  25. package/dist/lib/browser/{react-surface-IGMBLSV7.mjs → react-surface-ILBDBZCN.mjs} +32 -23
  26. package/dist/lib/browser/react-surface-ILBDBZCN.mjs.map +7 -0
  27. package/dist/lib/browser/types/index.mjs +10 -4
  28. package/dist/lib/node/AutomationPanel-G6EDDYWW.cjs +26 -0
  29. package/dist/lib/node/AutomationPanel-G6EDDYWW.cjs.map +7 -0
  30. package/dist/lib/node/ChatContainer-EN24W3K4.cjs +33 -0
  31. package/dist/lib/node/ChatContainer-EN24W3K4.cjs.map +7 -0
  32. package/dist/lib/node/{ai-client-A3RRU55B.cjs → ai-client-FKLPDELV.cjs} +8 -8
  33. package/dist/lib/node/{ai-client-A3RRU55B.cjs.map → ai-client-FKLPDELV.cjs.map} +3 -3
  34. package/dist/lib/node/{app-graph-builder-MF5M4QRS.cjs → app-graph-builder-T76NYV42.cjs} +77 -12
  35. package/dist/lib/node/app-graph-builder-T76NYV42.cjs.map +7 -0
  36. package/dist/lib/node/chunk-CJGJXNY3.cjs +1586 -0
  37. package/dist/lib/node/chunk-CJGJXNY3.cjs.map +7 -0
  38. package/dist/lib/node/{chunk-5VF5JKUN.cjs → chunk-EQYHOTGG.cjs} +8 -5
  39. package/dist/lib/node/chunk-EQYHOTGG.cjs.map +7 -0
  40. package/dist/lib/node/{chunk-BUQOZA4N.cjs → chunk-GB7245FH.cjs} +87 -11
  41. package/dist/lib/node/chunk-GB7245FH.cjs.map +7 -0
  42. package/dist/lib/node/chunk-HMBKP6VG.cjs +324 -0
  43. package/dist/lib/node/chunk-HMBKP6VG.cjs.map +7 -0
  44. package/dist/lib/node/{AutomationPanel-RXJDVLCF.cjs → chunk-QXIHYOMF.cjs} +123 -9
  45. package/dist/lib/node/chunk-QXIHYOMF.cjs.map +7 -0
  46. package/dist/lib/node/{chunk-ZS5RZ7RM.cjs → chunk-U5Z7LFWB.cjs} +6 -6
  47. package/dist/lib/node/index.cjs +100 -88
  48. package/dist/lib/node/index.cjs.map +3 -3
  49. package/dist/lib/node/{intent-resolver-TBHYXBDI.cjs → intent-resolver-C6OKFVEW.cjs} +20 -15
  50. package/dist/lib/node/intent-resolver-C6OKFVEW.cjs.map +7 -0
  51. package/dist/lib/node/meta.json +1 -1
  52. package/dist/lib/node/{react-surface-BVUZMKYS.cjs → react-surface-LWDY7SQG.cjs} +31 -24
  53. package/dist/lib/node/react-surface-LWDY7SQG.cjs.map +7 -0
  54. package/dist/lib/node/types/index.cjs +15 -9
  55. package/dist/lib/node/types/index.cjs.map +2 -2
  56. package/dist/lib/node-esm/AutomationPanel-V3IWQAMO.mjs +9 -0
  57. package/dist/lib/node-esm/AutomationPanel-V3IWQAMO.mjs.map +7 -0
  58. package/dist/lib/node-esm/ChatContainer-CNTY3C2D.mjs +13 -0
  59. package/dist/lib/node-esm/ChatContainer-CNTY3C2D.mjs.map +7 -0
  60. package/dist/lib/node-esm/{ai-client-2GBZRHBA.mjs → ai-client-XGNA6SJ5.mjs} +4 -4
  61. package/dist/lib/node-esm/{ai-client-2GBZRHBA.mjs.map → ai-client-XGNA6SJ5.mjs.map} +3 -3
  62. package/dist/lib/node-esm/{app-graph-builder-5N7OK23B.mjs → app-graph-builder-IJQEN7WT.mjs} +70 -4
  63. package/dist/lib/node-esm/app-graph-builder-IJQEN7WT.mjs.map +7 -0
  64. package/dist/lib/node-esm/chunk-6HLBYDUI.mjs +244 -0
  65. package/dist/lib/node-esm/chunk-6HLBYDUI.mjs.map +7 -0
  66. package/dist/lib/node-esm/chunk-DNCXRGAF.mjs +151 -0
  67. package/dist/lib/node-esm/chunk-DNCXRGAF.mjs.map +7 -0
  68. package/dist/lib/node-esm/{chunk-X3LPRWIL.mjs → chunk-EMVA6QUT.mjs} +4 -2
  69. package/dist/lib/node-esm/chunk-EMVA6QUT.mjs.map +7 -0
  70. package/dist/lib/node-esm/{chunk-ISYLEDVU.mjs → chunk-IJRTDSKN.mjs} +2 -2
  71. package/dist/lib/node-esm/chunk-QP47VJT6.mjs +1603 -0
  72. package/dist/lib/node-esm/chunk-QP47VJT6.mjs.map +7 -0
  73. package/dist/lib/node-esm/{chunk-5QUXIXNB.mjs → chunk-ZLIAMW45.mjs} +108 -27
  74. package/dist/lib/node-esm/chunk-ZLIAMW45.mjs.map +7 -0
  75. package/dist/lib/node-esm/index.mjs +56 -45
  76. package/dist/lib/node-esm/index.mjs.map +3 -3
  77. package/dist/lib/node-esm/intent-resolver-DCP4ZDBA.mjs +30 -0
  78. package/dist/lib/node-esm/intent-resolver-DCP4ZDBA.mjs.map +7 -0
  79. package/dist/lib/node-esm/meta.json +1 -1
  80. package/dist/lib/node-esm/{react-surface-77S6XJOM.mjs → react-surface-SBDXFVIN.mjs} +32 -23
  81. package/dist/lib/node-esm/react-surface-SBDXFVIN.mjs.map +7 -0
  82. package/dist/lib/node-esm/types/index.mjs +10 -4
  83. package/dist/types/src/AutomationPlugin.d.ts.map +1 -1
  84. package/dist/types/src/artifacts.stories.d.ts +10 -24
  85. package/dist/types/src/artifacts.stories.d.ts.map +1 -1
  86. package/dist/types/src/capabilities/app-graph-builder.d.ts +45 -44
  87. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  88. package/dist/types/src/capabilities/index.d.ts +27 -27
  89. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  90. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  91. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  92. package/dist/types/src/components/AmbientChatDialog/AmbientChatDialog.d.ts +3 -0
  93. package/dist/types/src/components/AmbientChatDialog/AmbientChatDialog.d.ts.map +1 -0
  94. package/dist/types/src/components/AmbientChatDialog/index.d.ts +2 -0
  95. package/dist/types/src/components/AmbientChatDialog/index.d.ts.map +1 -0
  96. package/dist/types/src/components/Box/StatusLine.d.ts +11 -0
  97. package/dist/types/src/components/Box/StatusLine.d.ts.map +1 -0
  98. package/dist/types/src/components/Box/StatusLine.stories.d.ts +9 -0
  99. package/dist/types/src/components/Box/StatusLine.stories.d.ts.map +1 -0
  100. package/dist/types/src/components/Box/Tabbed.d.ts +15 -0
  101. package/dist/types/src/components/Box/Tabbed.d.ts.map +1 -0
  102. package/dist/types/src/components/Box/Tabbed.stories.d.ts +8 -0
  103. package/dist/types/src/components/Box/Tabbed.stories.d.ts.map +1 -0
  104. package/dist/types/src/components/Box/ToggleContainer.d.ts +13 -0
  105. package/dist/types/src/components/Box/ToggleContainer.d.ts.map +1 -0
  106. package/dist/types/src/components/Box/ToggleContainer.stories.d.ts +9 -0
  107. package/dist/types/src/components/Box/ToggleContainer.stories.d.ts.map +1 -0
  108. package/dist/types/src/components/Box/index.d.ts +4 -0
  109. package/dist/types/src/components/Box/index.d.ts.map +1 -0
  110. package/dist/types/src/components/ChatContainer/ChatContainer.d.ts +7 -0
  111. package/dist/types/src/components/ChatContainer/ChatContainer.d.ts.map +1 -0
  112. package/dist/types/src/components/ChatContainer/index.d.ts +4 -0
  113. package/dist/types/src/components/ChatContainer/index.d.ts.map +1 -0
  114. package/dist/types/src/components/MarkdownViewer/MarkdownViewer.d.ts +14 -0
  115. package/dist/types/src/components/MarkdownViewer/MarkdownViewer.d.ts.map +1 -0
  116. package/dist/types/src/components/MarkdownViewer/MarkdownViewer.stories.d.ts +8 -0
  117. package/dist/types/src/components/MarkdownViewer/MarkdownViewer.stories.d.ts.map +1 -0
  118. package/dist/types/src/components/MarkdownViewer/index.d.ts +2 -0
  119. package/dist/types/src/components/MarkdownViewer/index.d.ts.map +1 -0
  120. package/dist/types/src/components/Prompt/Prompt.d.ts +7 -0
  121. package/dist/types/src/components/Prompt/Prompt.d.ts.map +1 -0
  122. package/dist/types/src/components/Prompt/Prompt.stories.d.ts +8 -0
  123. package/dist/types/src/components/Prompt/Prompt.stories.d.ts.map +1 -0
  124. package/dist/types/src/components/Prompt/index.d.ts +2 -0
  125. package/dist/types/src/components/Prompt/index.d.ts.map +1 -0
  126. package/dist/types/src/components/Prompt/prompt-autocomplete.d.ts +20 -0
  127. package/dist/types/src/components/Prompt/prompt-autocomplete.d.ts.map +1 -0
  128. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.d.ts +6 -0
  129. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.d.ts.map +1 -0
  130. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.stories.d.ts +8 -0
  131. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.stories.d.ts.map +1 -0
  132. package/dist/types/src/components/ServiceRegistry/index.d.ts +2 -0
  133. package/dist/types/src/components/ServiceRegistry/index.d.ts.map +1 -0
  134. package/dist/types/src/components/Thread/Thread.d.ts +6 -9
  135. package/dist/types/src/components/Thread/Thread.d.ts.map +1 -1
  136. package/dist/types/src/components/Thread/Thread.stories.d.ts +3 -4
  137. package/dist/types/src/components/Thread/Thread.stories.d.ts.map +1 -1
  138. package/dist/types/src/components/Thread/ThreadMessage.d.ts +12 -0
  139. package/dist/types/src/components/Thread/ThreadMessage.d.ts.map +1 -0
  140. package/dist/types/src/components/TriggerEditor/TriggerEditor.d.ts.map +1 -1
  141. package/dist/types/src/components/index.d.ts +6 -2
  142. package/dist/types/src/components/index.d.ts.map +1 -1
  143. package/dist/types/src/hooks/index.d.ts +3 -0
  144. package/dist/types/src/hooks/index.d.ts.map +1 -1
  145. package/dist/types/src/hooks/processor.d.ts +39 -15
  146. package/dist/types/src/hooks/processor.d.ts.map +1 -1
  147. package/dist/types/src/hooks/useChatProcessor.d.ts +7 -0
  148. package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -0
  149. package/dist/types/src/hooks/useMessageQueue.d.ts +41 -0
  150. package/dist/types/src/hooks/useMessageQueue.d.ts.map +1 -0
  151. package/dist/types/src/hooks/useServices.d.ts +7 -0
  152. package/dist/types/src/hooks/useServices.d.ts.map +1 -0
  153. package/dist/types/src/meta.d.ts +1 -0
  154. package/dist/types/src/meta.d.ts.map +1 -1
  155. package/dist/types/src/testing/index.d.ts +2 -1
  156. package/dist/types/src/testing/index.d.ts.map +1 -1
  157. package/dist/types/src/testing/{testing.d.ts → test-functions.d.ts} +1 -1
  158. package/dist/types/src/testing/test-functions.d.ts.map +1 -0
  159. package/dist/types/src/testing/test-services.d.ts +5 -0
  160. package/dist/types/src/testing/test-services.d.ts.map +1 -0
  161. package/dist/types/src/tools/function.d.ts +5 -0
  162. package/dist/types/src/tools/function.d.ts.map +1 -0
  163. package/dist/types/src/tools/index.d.ts +3 -0
  164. package/dist/types/src/tools/index.d.ts.map +1 -0
  165. package/dist/types/src/tools/openapi.d.ts +10 -0
  166. package/dist/types/src/tools/openapi.d.ts.map +1 -0
  167. package/dist/types/src/tools/openapi.test.d.ts +2 -0
  168. package/dist/types/src/tools/openapi.test.d.ts.map +1 -0
  169. package/dist/types/src/translations.d.ts +12 -6
  170. package/dist/types/src/translations.d.ts.map +1 -1
  171. package/dist/types/src/types/index.d.ts +1 -0
  172. package/dist/types/src/types/index.d.ts.map +1 -1
  173. package/dist/types/src/types/registry.d.ts +10 -0
  174. package/dist/types/src/types/registry.d.ts.map +1 -0
  175. package/dist/types/src/types/schema.d.ts +156 -7
  176. package/dist/types/src/types/schema.d.ts.map +1 -1
  177. package/dist/types/src/types/types.d.ts +2 -2
  178. package/dist/types/src/types/types.d.ts.map +1 -1
  179. package/dist/types/tsconfig.tsbuildinfo +1 -1
  180. package/package.json +56 -49
  181. package/src/AutomationPlugin.tsx +18 -26
  182. package/src/artifacts.stories.tsx +126 -65
  183. package/src/capabilities/ai-client.ts +1 -1
  184. package/src/capabilities/app-graph-builder.ts +65 -5
  185. package/src/capabilities/intent-resolver.ts +14 -9
  186. package/src/capabilities/react-surface.tsx +21 -13
  187. package/src/components/AmbientChatDialog/AmbientChatDialog.tsx +26 -0
  188. package/src/components/AmbientChatDialog/index.ts +5 -0
  189. package/src/components/Box/StatusLine.stories.tsx +52 -0
  190. package/src/components/Box/StatusLine.tsx +76 -0
  191. package/src/components/Box/Tabbed.stories.tsx +51 -0
  192. package/src/components/Box/Tabbed.tsx +89 -0
  193. package/src/components/Box/ToggleContainer.stories.tsx +110 -0
  194. package/src/components/Box/ToggleContainer.tsx +108 -0
  195. package/src/components/Box/index.ts +7 -0
  196. package/src/components/ChatContainer/ChatContainer.tsx +52 -0
  197. package/src/components/ChatContainer/index.ts +8 -0
  198. package/src/components/MarkdownViewer/MarkdownViewer.stories.tsx +56 -0
  199. package/src/components/MarkdownViewer/MarkdownViewer.tsx +79 -0
  200. package/src/components/MarkdownViewer/index.ts +5 -0
  201. package/src/components/Prompt/Prompt.stories.tsx +50 -0
  202. package/src/components/Prompt/Prompt.tsx +36 -0
  203. package/src/components/Prompt/index.ts +5 -0
  204. package/src/components/Prompt/prompt-autocomplete.ts +200 -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/Thread.stories.tsx +152 -97
  210. package/src/components/Thread/Thread.tsx +115 -108
  211. package/src/components/Thread/ThreadMessage.tsx +225 -0
  212. package/src/components/TriggerEditor/TriggerEditor.tsx +8 -5
  213. package/src/components/index.ts +5 -1
  214. package/src/hooks/index.ts +4 -0
  215. package/src/hooks/processor.ts +114 -65
  216. package/src/hooks/useChatProcessor.tsx +86 -0
  217. package/src/hooks/useMessageQueue.ts +23 -0
  218. package/src/hooks/useServices.ts +28 -0
  219. package/src/meta.ts +4 -1
  220. package/src/testing/index.ts +2 -1
  221. package/src/testing/test-services.ts +131 -0
  222. package/src/tools/function.ts +47 -0
  223. package/src/tools/index.ts +6 -0
  224. package/src/tools/openapi.test.ts +227 -0
  225. package/src/tools/openapi.ts +331 -0
  226. package/src/translations.ts +9 -6
  227. package/src/types/index.ts +1 -0
  228. package/src/types/registry.ts +26 -0
  229. package/src/types/schema.ts +90 -3
  230. package/src/types/types.ts +2 -2
  231. package/dist/lib/browser/AssistantPanel-KO6DZBTU.mjs +0 -340
  232. package/dist/lib/browser/AssistantPanel-KO6DZBTU.mjs.map +0 -7
  233. package/dist/lib/browser/AutomationPanel-BMLM533Z.mjs +0 -131
  234. package/dist/lib/browser/AutomationPanel-BMLM533Z.mjs.map +0 -7
  235. package/dist/lib/browser/ChatContainer-SIAJFRFF.mjs +0 -300
  236. package/dist/lib/browser/ChatContainer-SIAJFRFF.mjs.map +0 -7
  237. package/dist/lib/browser/app-graph-builder-IJTTULDP.mjs.map +0 -7
  238. package/dist/lib/browser/chunk-C3VRGDR6.mjs +0 -75
  239. package/dist/lib/browser/chunk-C3VRGDR6.mjs.map +0 -7
  240. package/dist/lib/browser/chunk-EKJVAFT2.mjs.map +0 -7
  241. package/dist/lib/browser/chunk-HKX3D3ZP.mjs.map +0 -7
  242. package/dist/lib/browser/chunk-JSNPW6JF.mjs +0 -14
  243. package/dist/lib/browser/chunk-JSNPW6JF.mjs.map +0 -7
  244. package/dist/lib/browser/chunk-KPSDH6XZ.mjs +0 -118
  245. package/dist/lib/browser/chunk-KPSDH6XZ.mjs.map +0 -7
  246. package/dist/lib/browser/chunk-YZF3SDZL.mjs +0 -139
  247. package/dist/lib/browser/chunk-YZF3SDZL.mjs.map +0 -7
  248. package/dist/lib/browser/intent-resolver-AHDQ3KQP.mjs +0 -24
  249. package/dist/lib/browser/intent-resolver-AHDQ3KQP.mjs.map +0 -7
  250. package/dist/lib/browser/react-surface-IGMBLSV7.mjs.map +0 -7
  251. package/dist/lib/node/AssistantPanel-PPFS2HKK.cjs +0 -360
  252. package/dist/lib/node/AssistantPanel-PPFS2HKK.cjs.map +0 -7
  253. package/dist/lib/node/AutomationPanel-RXJDVLCF.cjs.map +0 -7
  254. package/dist/lib/node/ChatContainer-GS2SC5OG.cjs +0 -318
  255. package/dist/lib/node/ChatContainer-GS2SC5OG.cjs.map +0 -7
  256. package/dist/lib/node/app-graph-builder-MF5M4QRS.cjs.map +0 -7
  257. package/dist/lib/node/chunk-5VF5JKUN.cjs.map +0 -7
  258. package/dist/lib/node/chunk-BUQOZA4N.cjs.map +0 -7
  259. package/dist/lib/node/chunk-DNLBVFR7.cjs +0 -147
  260. package/dist/lib/node/chunk-DNLBVFR7.cjs.map +0 -7
  261. package/dist/lib/node/chunk-TWDGP26W.cjs +0 -172
  262. package/dist/lib/node/chunk-TWDGP26W.cjs.map +0 -7
  263. package/dist/lib/node/chunk-VEGLN4YN.cjs +0 -250
  264. package/dist/lib/node/chunk-VEGLN4YN.cjs.map +0 -7
  265. package/dist/lib/node/chunk-Z2YFE5SJ.cjs +0 -49
  266. package/dist/lib/node/chunk-Z2YFE5SJ.cjs.map +0 -7
  267. package/dist/lib/node/intent-resolver-TBHYXBDI.cjs.map +0 -7
  268. package/dist/lib/node/react-surface-BVUZMKYS.cjs.map +0 -7
  269. package/dist/lib/node-esm/AssistantPanel-XSSKKCJY.mjs +0 -341
  270. package/dist/lib/node-esm/AssistantPanel-XSSKKCJY.mjs.map +0 -7
  271. package/dist/lib/node-esm/AutomationPanel-GQZZ4UBI.mjs +0 -132
  272. package/dist/lib/node-esm/AutomationPanel-GQZZ4UBI.mjs.map +0 -7
  273. package/dist/lib/node-esm/ChatContainer-57ILGC3R.mjs +0 -301
  274. package/dist/lib/node-esm/ChatContainer-57ILGC3R.mjs.map +0 -7
  275. package/dist/lib/node-esm/app-graph-builder-5N7OK23B.mjs.map +0 -7
  276. package/dist/lib/node-esm/chunk-5QUXIXNB.mjs.map +0 -7
  277. package/dist/lib/node-esm/chunk-ICHNUP5M.mjs +0 -119
  278. package/dist/lib/node-esm/chunk-ICHNUP5M.mjs.map +0 -7
  279. package/dist/lib/node-esm/chunk-JCYVS5GG.mjs +0 -76
  280. package/dist/lib/node-esm/chunk-JCYVS5GG.mjs.map +0 -7
  281. package/dist/lib/node-esm/chunk-L2B6VGMG.mjs +0 -16
  282. package/dist/lib/node-esm/chunk-L2B6VGMG.mjs.map +0 -7
  283. package/dist/lib/node-esm/chunk-U7HXYMPZ.mjs +0 -141
  284. package/dist/lib/node-esm/chunk-U7HXYMPZ.mjs.map +0 -7
  285. package/dist/lib/node-esm/chunk-X3LPRWIL.mjs.map +0 -7
  286. package/dist/lib/node-esm/intent-resolver-DPJJHFGK.mjs +0 -25
  287. package/dist/lib/node-esm/intent-resolver-DPJJHFGK.mjs.map +0 -7
  288. package/dist/lib/node-esm/react-surface-77S6XJOM.mjs.map +0 -7
  289. package/dist/types/src/components/AssistantPanel/AssistantPanel.d.ts +0 -8
  290. package/dist/types/src/components/AssistantPanel/AssistantPanel.d.ts.map +0 -1
  291. package/dist/types/src/components/AssistantPanel/index.d.ts +0 -3
  292. package/dist/types/src/components/AssistantPanel/index.d.ts.map +0 -1
  293. package/dist/types/src/components/AssistantPanel/system-instructions.d.ts +0 -6
  294. package/dist/types/src/components/AssistantPanel/system-instructions.d.ts.map +0 -1
  295. package/dist/types/src/components/ChatContainer.d.ts +0 -8
  296. package/dist/types/src/components/ChatContainer.d.ts.map +0 -1
  297. package/dist/types/src/testing/testing.d.ts.map +0 -1
  298. package/src/components/AssistantPanel/AssistantPanel.tsx +0 -232
  299. package/src/components/AssistantPanel/index.ts +0 -7
  300. package/src/components/AssistantPanel/system-instructions.ts +0 -166
  301. package/src/components/ChatContainer.tsx +0 -80
  302. /package/dist/lib/browser/{chunk-HZ4TA7HY.mjs.map → chunk-2H2EUYXL.mjs.map} +0 -0
  303. /package/dist/lib/node/{chunk-ZS5RZ7RM.cjs.map → chunk-U5Z7LFWB.cjs.map} +0 -0
  304. /package/dist/lib/node-esm/{chunk-ISYLEDVU.mjs.map → chunk-IJRTDSKN.mjs.map} +0 -0
  305. /package/src/testing/{testing.ts → test-functions.ts} +0 -0
@@ -1,118 +0,0 @@
1
- import {
2
- AUTOMATION_PLUGIN
3
- } from "./chunk-HKX3D3ZP.mjs";
4
-
5
- // packages/plugins/experimental/plugin-automation/src/components/TriggerEditor/TriggerEditor.tsx
6
- import React, { useState } from "react";
7
- import { ComputeGraph } from "@dxos/conductor";
8
- import { FunctionType, FunctionTriggerSchema, ScriptType, TriggerKind } from "@dxos/functions";
9
- import { Filter, useQuery } from "@dxos/react-client/echo";
10
- import { IconButton, Input, useTranslation } from "@dxos/react-ui";
11
- import { Form, SelectInput, TextInput } from "@dxos/react-ui-form";
12
- var TriggerEditor = ({ space, trigger, onSave, onCancel }) => {
13
- const { t } = useTranslation(AUTOMATION_PLUGIN);
14
- const functions = useQuery(space, Filter.schema(FunctionType));
15
- const workflows = useQuery(space, Filter.schema(ComputeGraph));
16
- const scripts = useQuery(space, Filter.schema(ScriptType));
17
- const handleSave = (values) => {
18
- onSave?.(values);
19
- };
20
- return /* @__PURE__ */ React.createElement(Form, {
21
- schema: FunctionTriggerSchema,
22
- values: trigger,
23
- onSave: handleSave,
24
- onCancel,
25
- Custom: {
26
- ["function"]: (props) => /* @__PURE__ */ React.createElement(SelectInput, {
27
- ...props,
28
- options: getWorkflowOptions(workflows).concat(getFunctionOptions(scripts, functions))
29
- }),
30
- ["spec.type"]: (props) => /* @__PURE__ */ React.createElement(SelectInput, {
31
- ...props,
32
- options: Object.values(TriggerKind).map((kind) => ({
33
- value: kind,
34
- label: t(`trigger type ${kind}`)
35
- }))
36
- }),
37
- ["meta"]: (props) => {
38
- const meta = props.getValue();
39
- const [newMetaFieldName, setNewMetaFieldName] = useState("");
40
- React.useEffect(() => props.onValueChange("object", {
41
- ...meta
42
- }), []);
43
- return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("div", null, props.label), [
44
- ...Object.keys(meta)
45
- ].map((key) => {
46
- const compositeKey = `meta.${key}`;
47
- return /* @__PURE__ */ React.createElement("div", {
48
- key: compositeKey,
49
- role: "none",
50
- className: "flex items-center mt-2 gap-1"
51
- }, /* @__PURE__ */ React.createElement("div", {
52
- role: "none",
53
- className: "flex-1"
54
- }, /* @__PURE__ */ React.createElement(TextInput, {
55
- ...props,
56
- type: "string",
57
- label: key
58
- })), /* @__PURE__ */ React.createElement(IconButton, {
59
- icon: "ph--trash--regular",
60
- iconOnly: true,
61
- classNames: "mt-6",
62
- label: t("trigger meta remove"),
63
- onClick: () => {
64
- const newValues = {
65
- ...props.getValue()
66
- };
67
- delete newValues[key];
68
- props.onValueChange("object", newValues);
69
- }
70
- }));
71
- }), /* @__PURE__ */ React.createElement("div", {
72
- role: "none",
73
- className: "flex items-center mt-2 gap-1 plb-1"
74
- }, /* @__PURE__ */ React.createElement("div", {
75
- role: "none",
76
- className: "flex-1"
77
- }, /* @__PURE__ */ React.createElement(Input.Root, null, /* @__PURE__ */ React.createElement(Input.TextInput, {
78
- placeholder: t("trigger meta prop name placeholder"),
79
- value: newMetaFieldName,
80
- onChange: (event) => setNewMetaFieldName(event.target.value)
81
- }))), /* @__PURE__ */ React.createElement(IconButton, {
82
- icon: "ph--plus--regular",
83
- iconOnly: true,
84
- label: t("trigger meta add"),
85
- onClick: () => {
86
- if (newMetaFieldName.length) {
87
- const meta2 = props.getValue() ?? {};
88
- const metaWithNewProp = {
89
- ...meta2,
90
- [newMetaFieldName]: ""
91
- };
92
- setNewMetaFieldName("");
93
- props.onValueChange("object", metaWithNewProp);
94
- }
95
- }
96
- })));
97
- }
98
- }
99
- });
100
- };
101
- var getWorkflowOptions = (graphs) => {
102
- return graphs.map((graph) => ({
103
- label: `compute-${graph.id}`,
104
- value: `dxn:echo:@:${graph.id}`
105
- }));
106
- };
107
- var getFunctionOptions = (scripts, functions) => {
108
- const getLabel = (fn) => scripts.find((s) => fn.source?.target?.id === s.id)?.name ?? fn.name;
109
- return functions.map((fn) => ({
110
- label: getLabel(fn),
111
- value: `dxn:worker:${fn.name}`
112
- }));
113
- };
114
-
115
- export {
116
- TriggerEditor
117
- };
118
- //# sourceMappingURL=chunk-KPSDH6XZ.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/components/TriggerEditor/TriggerEditor.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useState } from 'react';\n\nimport { ComputeGraph } from '@dxos/conductor';\nimport {\n FunctionType,\n FunctionTriggerSchema,\n type FunctionTriggerType,\n type FunctionTrigger,\n ScriptType,\n TriggerKind,\n} from '@dxos/functions';\nimport { Filter, useQuery, type Space } from '@dxos/react-client/echo';\nimport { IconButton, Input, useTranslation } from '@dxos/react-ui';\nimport { Form, SelectInput, TextInput } from '@dxos/react-ui-form';\n\nimport { AUTOMATION_PLUGIN } from '../../meta';\n\nexport type TriggerEditorProps = {\n space: Space;\n trigger: FunctionTriggerType;\n onSave?: (trigger: Omit<FunctionTrigger, 'id'>) => void;\n onCancel?: () => void;\n};\n\nexport const TriggerEditor = ({ space, trigger, onSave, onCancel }: TriggerEditorProps) => {\n const { t } = useTranslation(AUTOMATION_PLUGIN);\n\n const functions = useQuery(space, Filter.schema(FunctionType));\n const workflows = useQuery(space, Filter.schema(ComputeGraph));\n const scripts = useQuery(space, Filter.schema(ScriptType));\n\n const handleSave = (values: FunctionTriggerType) => {\n onSave?.(values);\n };\n\n return (\n <Form<FunctionTriggerType>\n schema={FunctionTriggerSchema}\n values={trigger}\n onSave={handleSave}\n onCancel={onCancel}\n Custom={{\n ['function' satisfies keyof FunctionTriggerType]: (props) => (\n <SelectInput\n {...props}\n options={getWorkflowOptions(workflows).concat(getFunctionOptions(scripts, functions))}\n />\n ),\n ['spec.type' as const]: (props) => (\n <SelectInput\n {...props}\n options={Object.values(TriggerKind).map((kind) => ({\n value: kind,\n label: t(`trigger type ${kind}`),\n }))}\n />\n ),\n ['meta' as const]: (props) => {\n const meta = props.getValue()!;\n\n const [newMetaFieldName, setNewMetaFieldName] = useState('');\n\n React.useEffect(() => props.onValueChange('object', { ...meta }), []);\n\n return (\n <>\n <div>{props.label}</div>\n {[...Object.keys(meta)].map((key) => {\n const compositeKey: any = `meta.${key}`;\n return (\n <div key={compositeKey} role='none' className='flex items-center mt-2 gap-1'>\n <div role='none' className='flex-1'>\n <TextInput {...props} type={'string'} label={key} />\n </div>\n <IconButton\n icon='ph--trash--regular'\n iconOnly\n classNames={'mt-6'}\n label={t('trigger meta remove')}\n onClick={() => {\n const newValues: any = { ...props.getValue() };\n delete newValues[key];\n props.onValueChange('object', newValues);\n }}\n />\n </div>\n );\n })}\n <div role='none' className='flex items-center mt-2 gap-1 plb-1'>\n <div role='none' className='flex-1'>\n <Input.Root>\n <Input.TextInput\n placeholder={t('trigger meta prop name placeholder')}\n value={newMetaFieldName}\n onChange={(event) => setNewMetaFieldName(event.target.value)}\n />\n </Input.Root>\n </div>\n <IconButton\n icon='ph--plus--regular'\n iconOnly\n label={t('trigger meta add')}\n onClick={() => {\n if (newMetaFieldName.length) {\n const meta = props.getValue() ?? {};\n const metaWithNewProp = { ...meta, [newMetaFieldName]: '' };\n setNewMetaFieldName('');\n props.onValueChange('object', metaWithNewProp);\n }\n }}\n />\n </div>\n </>\n );\n },\n }}\n />\n );\n};\n\nconst getWorkflowOptions = (graphs: ComputeGraph[]) => {\n return graphs.map((graph) => ({ label: `compute-${graph.id}`, value: `dxn:echo:@:${graph.id}` }));\n};\n\nconst getFunctionOptions = (scripts: ScriptType[], functions: FunctionType[]) => {\n const getLabel = (fn: FunctionType) => scripts.find((s) => fn.source?.target?.id === s.id)?.name ?? fn.name;\n return functions.map((fn) => ({ label: getLabel(fn), value: `dxn:worker:${fn.name}` }));\n};\n"],
5
- "mappings": "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",
6
- "names": ["React", "useState", "ComputeGraph", "FunctionType", "FunctionTriggerSchema", "ScriptType", "TriggerKind", "Filter", "useQuery", "IconButton", "Input", "useTranslation", "Form", "SelectInput", "TextInput", "TriggerEditor", "space", "trigger", "onSave", "onCancel", "t", "useTranslation", "AUTOMATION_PLUGIN", "functions", "useQuery", "Filter", "schema", "FunctionType", "workflows", "ComputeGraph", "scripts", "ScriptType", "handleSave", "values", "Form", "FunctionTriggerSchema", "Custom", "props", "SelectInput", "options", "getWorkflowOptions", "concat", "getFunctionOptions", "Object", "TriggerKind", "map", "kind", "value", "label", "meta", "getValue", "newMetaFieldName", "setNewMetaFieldName", "useState", "React", "useEffect", "onValueChange", "div", "keys", "key", "compositeKey", "role", "className", "TextInput", "type", "IconButton", "icon", "iconOnly", "classNames", "onClick", "newValues", "Input", "Root", "placeholder", "onChange", "event", "target", "length", "metaWithNewProp", "graphs", "graph", "id", "getLabel", "fn", "find", "s", "source", "name"]
7
- }
@@ -1,139 +0,0 @@
1
- // packages/plugins/experimental/plugin-automation/src/components/Thread/Thread.tsx
2
- import React, { useCallback, useEffect, useRef, useState } from "react";
3
- import { Icon, Input, useThemeContext } from "@dxos/react-ui";
4
- import { createBasicExtensions, createMarkdownExtensions, createThemeExtensions, decorateMarkdown, useTextEditor } from "@dxos/react-ui-editor";
5
- import { Ball } from "@dxos/react-ui-sfx";
6
- import { SyntaxHighlighter } from "@dxos/react-ui-syntax-highlighter";
7
- import { mx } from "@dxos/react-ui-theme";
8
- var Thread = ({ messages, streaming, onSubmit }) => {
9
- const scrollRef = useRef(null);
10
- const scroll = () => scrollRef.current?.scrollTo({
11
- top: scrollRef.current.scrollHeight,
12
- behavior: "smooth"
13
- });
14
- const [text, setText] = useState("");
15
- useEffect(() => scroll(), [
16
- messages
17
- ]);
18
- const handleKeyDown = useCallback((ev) => {
19
- switch (ev.key) {
20
- case "Escape": {
21
- setText("");
22
- break;
23
- }
24
- case "Enter": {
25
- const value = text.trim();
26
- if (value.length > 0) {
27
- onSubmit(value);
28
- setText("");
29
- scroll();
30
- }
31
- break;
32
- }
33
- }
34
- }, [
35
- text
36
- ]);
37
- return /* @__PURE__ */ React.createElement("div", {
38
- className: "flex flex-col grow overflow-hidden"
39
- }, /* @__PURE__ */ React.createElement("div", {
40
- ref: scrollRef,
41
- className: "flex flex-col grow overflow-x-hidden overflow-y-scroll scrollbar-thin divide-y divide-separator"
42
- }, messages.map((message, i) => /* @__PURE__ */ React.createElement(ThreadMessage, {
43
- key: i,
44
- classNames: "px-4 py-2",
45
- message
46
- }))), /* @__PURE__ */ React.createElement("div", {
47
- className: "flex p-4 gap-3 items-center"
48
- }, /* @__PURE__ */ React.createElement(Ball, {
49
- active: streaming
50
- }), /* @__PURE__ */ React.createElement(Input.Root, null, /* @__PURE__ */ React.createElement(Input.TextInput, {
51
- autoFocus: true,
52
- classNames: "px-2 bg-base rounded",
53
- placeholder: "Ask a question...",
54
- value: text,
55
- onChange: (ev) => setText(ev.target.value),
56
- onKeyDown: handleKeyDown
57
- })), /* @__PURE__ */ React.createElement(Icon, {
58
- icon: "ph--spinner-gap--regular",
59
- classNames: mx("animate-spin opacity-0 transition duration-500", streaming && "opacity-100"),
60
- size: 6
61
- })));
62
- };
63
- var ThreadMessage = ({ classNames, message }) => {
64
- if (typeof message !== "object") {
65
- return /* @__PURE__ */ React.createElement("div", {
66
- className: mx(classNames)
67
- }, message);
68
- }
69
- const { role, content = [] } = message;
70
- return /* @__PURE__ */ React.createElement("div", {
71
- className: mx("flex", classNames, role === "user" && "justify-end")
72
- }, /* @__PURE__ */ React.createElement("div", {
73
- className: mx("block rounded-md p-1 px-2 bg-base overflow-hidden divide-y divid-separator", role === "user" ? "dark:bg-blue-800" : "whitespace-pre-wrap")
74
- }, content.map((item, idx) => {
75
- switch (item.type) {
76
- case "text":
77
- return /* @__PURE__ */ React.createElement(Markdown, {
78
- key: idx,
79
- text: item.text.trim()
80
- });
81
- case "json":
82
- return /* @__PURE__ */ React.createElement(Json, {
83
- key: idx,
84
- data: item.json
85
- });
86
- default:
87
- return /* @__PURE__ */ React.createElement(Json, {
88
- key: idx,
89
- data: item
90
- });
91
- }
92
- })));
93
- };
94
- var Markdown = ({ text, classNames }) => {
95
- const { themeMode } = useThemeContext();
96
- const { parentRef, view } = useTextEditor(() => ({
97
- initialValue: text,
98
- extensions: [
99
- // TOOD(burdon): Optional line wrapping.
100
- createBasicExtensions({
101
- lineWrapping: true,
102
- readonly: true
103
- }),
104
- createMarkdownExtensions(),
105
- createThemeExtensions({
106
- themeMode
107
- }),
108
- decorateMarkdown()
109
- ]
110
- }));
111
- useEffect(() => {
112
- view?.dispatch({
113
- // TODO(burdon): Append?
114
- changes: {
115
- from: 0,
116
- to: view.state.doc.length,
117
- insert: text
118
- }
119
- });
120
- }, [
121
- text
122
- ]);
123
- return /* @__PURE__ */ React.createElement("div", {
124
- ref: parentRef,
125
- className: mx("w-full overflow-hidden", classNames)
126
- });
127
- };
128
- var Json = ({ data, classNames }) => {
129
- return /* @__PURE__ */ React.createElement(SyntaxHighlighter, {
130
- language: "json",
131
- classNames: "w-full overflow-hidden text-sm"
132
- }, JSON.stringify(data, null, 2));
133
- };
134
-
135
- export {
136
- Thread,
137
- ThreadMessage
138
- };
139
- //# sourceMappingURL=chunk-YZF3SDZL.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/components/Thread/Thread.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { type KeyboardEventHandler, useCallback, useEffect, useRef, useState } from 'react';\n\nimport { type Message } from '@dxos/artifact';\nimport { Icon, Input, useThemeContext, type ThemedClassName } from '@dxos/react-ui';\nimport {\n createBasicExtensions,\n createMarkdownExtensions,\n createThemeExtensions,\n decorateMarkdown,\n useTextEditor,\n} from '@dxos/react-ui-editor';\nimport { Ball } from '@dxos/react-ui-sfx';\nimport { SyntaxHighlighter } from '@dxos/react-ui-syntax-highlighter';\nimport { mx } from '@dxos/react-ui-theme';\n\nexport type ThreadProps = {\n messages: Message[];\n streaming?: boolean;\n onSubmit: (message: string) => void;\n};\n\nexport const Thread = ({ messages, streaming, onSubmit }: ThreadProps) => {\n const scrollRef = useRef<HTMLDivElement>(null);\n const scroll = () => scrollRef.current?.scrollTo({ top: scrollRef.current.scrollHeight, behavior: 'smooth' });\n const [text, setText] = useState('');\n useEffect(() => scroll(), [messages]);\n\n const handleKeyDown = useCallback<KeyboardEventHandler<HTMLInputElement>>(\n (ev) => {\n switch (ev.key) {\n case 'Escape': {\n setText('');\n break;\n }\n case 'Enter': {\n const value = text.trim();\n if (value.length > 0) {\n onSubmit(value);\n setText('');\n scroll();\n }\n break;\n }\n }\n },\n [text],\n );\n\n return (\n <div className='flex flex-col grow overflow-hidden'>\n <div\n ref={scrollRef}\n className='flex flex-col grow overflow-x-hidden overflow-y-scroll scrollbar-thin divide-y divide-separator'\n >\n {messages.map((message, i) => (\n <ThreadMessage key={i} classNames='px-4 py-2' message={message} />\n ))}\n </div>\n\n <div className='flex p-4 gap-3 items-center'>\n <Ball active={streaming} />\n <Input.Root>\n <Input.TextInput\n autoFocus\n classNames='px-2 bg-base rounded'\n placeholder='Ask a question...'\n value={text}\n onChange={(ev) => setText(ev.target.value)}\n onKeyDown={handleKeyDown}\n />\n </Input.Root>\n <Icon\n icon={'ph--spinner-gap--regular'}\n classNames={mx('animate-spin opacity-0 transition duration-500', streaming && 'opacity-100')}\n size={6}\n />\n </div>\n </div>\n );\n};\n\nexport type ThreadMessageProps = ThemedClassName<{\n message: Message;\n}>;\n\nexport const ThreadMessage = ({ classNames, message }: ThreadMessageProps) => {\n if (typeof message !== 'object') {\n return <div className={mx(classNames)}>{message}</div>;\n }\n\n const { role, content = [] } = message;\n return (\n <div className={mx('flex', classNames, role === 'user' && 'justify-end')}>\n <div\n className={mx(\n 'block rounded-md p-1 px-2 bg-base overflow-hidden divide-y divid-separator',\n role === 'user' ? 'dark:bg-blue-800' : 'whitespace-pre-wrap',\n )}\n >\n {/* TODO(burdon): Use message ID for stable rendering. */}\n {content.map((item, idx) => {\n switch (item.type) {\n case 'text':\n return <Markdown key={idx} text={item.text.trim()} />;\n case 'json':\n return <Json key={idx} data={item.json} />;\n default:\n return <Json key={idx} data={item} />;\n }\n })}\n </div>\n </div>\n );\n};\n\nconst Markdown = ({ text, classNames }: ThemedClassName<{ text: string }>) => {\n const { themeMode } = useThemeContext();\n const { parentRef, view } = useTextEditor(() => ({\n initialValue: text,\n extensions: [\n // TOOD(burdon): Optional line wrapping.\n createBasicExtensions({ lineWrapping: true, readonly: true }),\n createMarkdownExtensions(),\n createThemeExtensions({ themeMode }),\n decorateMarkdown(),\n ],\n }));\n\n useEffect(() => {\n view?.dispatch({\n // TODO(burdon): Append?\n changes: { from: 0, to: view.state.doc.length, insert: text },\n });\n }, [text]);\n\n return <div ref={parentRef} className={mx('w-full overflow-hidden', classNames)} />;\n};\n\nconst Json = ({ data, classNames }: ThemedClassName<{ data: any }>) => {\n return (\n <SyntaxHighlighter language='json' classNames='w-full overflow-hidden text-sm'>\n {JSON.stringify(data, null, 2)}\n </SyntaxHighlighter>\n );\n};\n"],
5
- "mappings": "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",
6
- "names": ["React", "useCallback", "useEffect", "useRef", "useState", "Icon", "Input", "useThemeContext", "createBasicExtensions", "createMarkdownExtensions", "createThemeExtensions", "decorateMarkdown", "useTextEditor", "Ball", "SyntaxHighlighter", "mx", "Thread", "messages", "streaming", "onSubmit", "scrollRef", "useRef", "scroll", "current", "scrollTo", "top", "scrollHeight", "behavior", "text", "setText", "useState", "useEffect", "handleKeyDown", "useCallback", "ev", "key", "value", "trim", "length", "div", "className", "ref", "map", "message", "i", "ThreadMessage", "classNames", "Ball", "active", "Input", "Root", "TextInput", "autoFocus", "placeholder", "onChange", "target", "onKeyDown", "Icon", "icon", "mx", "size", "role", "content", "item", "idx", "type", "Markdown", "Json", "data", "json", "themeMode", "useThemeContext", "parentRef", "view", "useTextEditor", "initialValue", "extensions", "createBasicExtensions", "lineWrapping", "readonly", "createMarkdownExtensions", "createThemeExtensions", "decorateMarkdown", "dispatch", "changes", "from", "to", "state", "doc", "insert", "SyntaxHighlighter", "language", "JSON", "stringify"]
7
- }
@@ -1,24 +0,0 @@
1
- import {
2
- AutomationAction,
3
- GptChatType
4
- } from "./chunk-C3VRGDR6.mjs";
5
- import "./chunk-HKX3D3ZP.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(AutomationAction.Create, ({ name }) => ({
12
- data: {
13
- object: create(GptChatType, {
14
- name,
15
- queue: makeRef({
16
- id: ObjectId.random()
17
- })
18
- })
19
- }
20
- })));
21
- export {
22
- intent_resolver_default as default
23
- };
24
- //# sourceMappingURL=intent-resolver-AHDQ3KQP.mjs.map
@@ -1,7 +0,0 @@
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, GptChatType } from '../types';\n\nexport default () =>\n contributes(\n Capabilities.IntentResolver,\n createResolver(AutomationAction.Create, ({ name }) => ({\n data: {\n object: create(GptChatType, {\n name,\n queue: makeRef({ id: ObjectId.random() }), // new DXN(DXN.kind.QUEUE, [QueueSubspaceTags.DATA, SpaceId.random(), ObjectId.random()]).toString(),\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,eAAeC,iBAAiBC,QAAQ,CAAC,EAAEC,KAAI,OAAQ;EACrDC,MAAM;IACJC,QAAQC,OAAOC,aAAa;MAC1BJ;MACAK,OAAOC,QAAQ;QAAEC,IAAIC,SAASC,OAAM;MAAG,CAAA;IACzC,CAAA;EACF;AACF,EAAA,CAAA;",
6
- "names": ["Capabilities", "contributes", "createResolver", "ObjectId", "create", "makeRef", "contributes", "Capabilities", "IntentResolver", "createResolver", "AutomationAction", "Create", "name", "data", "object", "create", "GptChatType", "queue", "makeRef", "id", "ObjectId", "random"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/react-surface.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Capabilities, contributes, createSurface } from '@dxos/app-framework';\nimport { getSpace, isEchoObject, type ReactiveEchoObject } from '@dxos/react-client/echo';\n\nimport { AssistantPanel, AutomationPanel, ChatContainer } from '../components';\nimport { AUTOMATION_PLUGIN } from '../meta';\nimport { GptChatType } from '../types';\n\nexport default () =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${AUTOMATION_PLUGIN}/assistant`,\n role: 'complementary--assistant',\n component: ({ data }) => <AssistantPanel subject={data.subject} />,\n }),\n createSurface({\n id: `${AUTOMATION_PLUGIN}/automation`,\n role: 'complementary--automation',\n filter: (data): data is { subject: ReactiveEchoObject<any> } =>\n isEchoObject(data.subject) && !!getSpace(data.subject),\n component: ({ data }) => <AutomationPanel space={getSpace(data.subject)!} object={data.subject} />,\n }),\n createSurface({\n id: `${AUTOMATION_PLUGIN}/gpt-chat`,\n role: 'article',\n filter: (data): data is { subject: GptChatType } => data.subject instanceof GptChatType,\n component: ({ data, role }) => <ChatContainer role={role} chat={data.subject} />,\n }),\n ]);\n"],
5
- "mappings": ";;;;;;;;;;;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,cAAcC,aAAaC,qBAAqB;AACzD,SAASC,UAAUC,oBAA6C;AAMhE,IAAA,wBAAe,MACbC,YAAYC,aAAaC,cAAc;EACrCC,cAAc;IACZC,IAAI,GAAGC,iBAAAA;IACPC,MAAM;IACNC,WAAW,CAAC,EAAEC,KAAI,MAAO,sBAAA,cAACC,gBAAAA;MAAeC,SAASF,KAAKE;;EACzD,CAAA;EACAP,cAAc;IACZC,IAAI,GAAGC,iBAAAA;IACPC,MAAM;IACNK,QAAQ,CAACH,SACPI,aAAaJ,KAAKE,OAAO,KAAK,CAAC,CAACG,SAASL,KAAKE,OAAO;IACvDH,WAAW,CAAC,EAAEC,KAAI,MAAO,sBAAA,cAACM,iBAAAA;MAAgBC,OAAOF,SAASL,KAAKE,OAAO;MAAIM,QAAQR,KAAKE;;EACzF,CAAA;EACAP,cAAc;IACZC,IAAI,GAAGC,iBAAAA;IACPC,MAAM;IACNK,QAAQ,CAACH,SAA2CA,KAAKE,mBAAmBO;IAC5EV,WAAW,CAAC,EAAEC,MAAMF,KAAI,MAAO,sBAAA,cAACY,eAAAA;MAAcZ;MAAYa,MAAMX,KAAKE;;EACvE,CAAA;CACD;",
6
- "names": ["React", "Capabilities", "contributes", "createSurface", "getSpace", "isEchoObject", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "AUTOMATION_PLUGIN", "role", "component", "data", "AssistantPanel", "subject", "filter", "isEchoObject", "getSpace", "AutomationPanel", "space", "object", "GptChatType", "ChatContainer", "chat"]
7
- }