@dxos/plugin-automation 0.7.5-main.b19bfc8 → 0.7.5-main.e94eead

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 (350) hide show
  1. package/dist/lib/browser/AutomationPanel-ITYXSN5Z.mjs +132 -0
  2. package/dist/lib/browser/AutomationPanel-ITYXSN5Z.mjs.map +7 -0
  3. package/dist/lib/browser/{chunk-HZSTXZWK.mjs → chunk-OFDNNRLE.mjs} +3 -8
  4. package/dist/lib/browser/chunk-OFDNNRLE.mjs.map +7 -0
  5. package/dist/lib/browser/chunk-U7QLNY2S.mjs +8 -0
  6. package/dist/lib/browser/chunk-U7QLNY2S.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-WY2C7JY4.mjs +119 -0
  8. package/dist/lib/browser/chunk-WY2C7JY4.mjs.map +7 -0
  9. package/dist/lib/browser/complementary-panel-4CPOJL4Y.mjs +56 -0
  10. package/dist/lib/browser/complementary-panel-4CPOJL4Y.mjs.map +7 -0
  11. package/dist/lib/browser/index.mjs +17 -199
  12. package/dist/lib/browser/index.mjs.map +4 -4
  13. package/dist/lib/browser/meta.json +1 -1
  14. package/dist/lib/browser/react-surface-SAPMN4PF.mjs +27 -0
  15. package/dist/lib/browser/react-surface-SAPMN4PF.mjs.map +7 -0
  16. package/dist/lib/node/{chunk-V4L7LTWM.cjs → AutomationPanel-X33HHDMQ.cjs} +19 -132
  17. package/dist/lib/node/AutomationPanel-X33HHDMQ.cjs.map +7 -0
  18. package/dist/lib/node/chunk-7Q5SNGCL.cjs +148 -0
  19. package/dist/lib/node/chunk-7Q5SNGCL.cjs.map +7 -0
  20. package/dist/lib/node/{TemplateContainer-3YCM6XPU.cjs → chunk-CB5OB6JH.cjs} +8 -21
  21. package/dist/lib/node/chunk-CB5OB6JH.cjs.map +7 -0
  22. package/dist/lib/node/{chunk-BAQRBGOJ.cjs → chunk-ORMEYEBE.cjs} +6 -12
  23. package/dist/lib/node/chunk-ORMEYEBE.cjs.map +7 -0
  24. package/dist/lib/node/complementary-panel-ZYJJ42ZU.cjs +72 -0
  25. package/dist/lib/node/complementary-panel-ZYJJ42ZU.cjs.map +7 -0
  26. package/dist/lib/node/index.cjs +32 -198
  27. package/dist/lib/node/index.cjs.map +4 -4
  28. package/dist/lib/node/meta.json +1 -1
  29. package/dist/lib/node/{ChatContainer-4QTLL7TH.cjs → react-surface-2WRVAPGR.cjs} +20 -30
  30. package/dist/lib/node/react-surface-2WRVAPGR.cjs.map +7 -0
  31. package/dist/lib/node-esm/AutomationPanel-HY3GB4BT.mjs +133 -0
  32. package/dist/lib/node-esm/AutomationPanel-HY3GB4BT.mjs.map +7 -0
  33. package/dist/lib/node-esm/{chunk-IG4GSWZN.mjs → chunk-6MUUH67V.mjs} +3 -8
  34. package/dist/lib/node-esm/chunk-6MUUH67V.mjs.map +7 -0
  35. package/dist/lib/node-esm/chunk-R3P2WPBQ.mjs +10 -0
  36. package/dist/lib/node-esm/chunk-R3P2WPBQ.mjs.map +7 -0
  37. package/dist/lib/node-esm/chunk-UDD2VA6G.mjs +120 -0
  38. package/dist/lib/node-esm/chunk-UDD2VA6G.mjs.map +7 -0
  39. package/dist/lib/node-esm/complementary-panel-S42RIIAY.mjs +57 -0
  40. package/dist/lib/node-esm/complementary-panel-S42RIIAY.mjs.map +7 -0
  41. package/dist/lib/node-esm/index.mjs +17 -199
  42. package/dist/lib/node-esm/index.mjs.map +4 -4
  43. package/dist/lib/node-esm/meta.json +1 -1
  44. package/dist/lib/node-esm/react-surface-QWLPOYXO.mjs +28 -0
  45. package/dist/lib/node-esm/react-surface-QWLPOYXO.mjs.map +7 -0
  46. package/dist/types/src/AutomationPlugin.d.ts.map +1 -1
  47. package/dist/types/src/capabilities/{ai-client.d.ts → complementary-panel.d.ts} +2 -3
  48. package/dist/types/src/capabilities/complementary-panel.d.ts.map +1 -0
  49. package/dist/types/src/capabilities/index.d.ts +1 -181
  50. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  51. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  52. package/dist/types/src/components/AutomationPanel/AutomationPanel.d.ts.map +1 -1
  53. package/dist/types/src/components/AutomationPanel/AutomationPanel.stories.d.ts.map +1 -1
  54. package/dist/types/src/components/TriggerEditor/TriggerEditor.stories.d.ts.map +1 -1
  55. package/dist/types/src/components/index.d.ts +0 -17
  56. package/dist/types/src/components/index.d.ts.map +1 -1
  57. package/dist/types/src/index.d.ts +0 -1
  58. package/dist/types/src/index.d.ts.map +1 -1
  59. package/dist/types/src/meta.d.ts +0 -2
  60. package/dist/types/src/meta.d.ts.map +1 -1
  61. package/dist/types/src/testing/index.d.ts +0 -1
  62. package/dist/types/src/testing/index.d.ts.map +1 -1
  63. package/dist/types/src/testing/test-functions.d.ts +0 -2
  64. package/dist/types/src/testing/test-functions.d.ts.map +1 -1
  65. package/dist/types/src/translations.d.ts +1 -127
  66. package/dist/types/src/translations.d.ts.map +1 -1
  67. package/package.json +21 -77
  68. package/src/AutomationPlugin.tsx +7 -86
  69. package/src/capabilities/complementary-panel.ts +56 -0
  70. package/src/capabilities/index.ts +1 -6
  71. package/src/capabilities/react-surface.tsx +3 -44
  72. package/src/components/AutomationPanel/AutomationPanel.stories.tsx +1 -2
  73. package/src/components/AutomationPanel/AutomationPanel.tsx +56 -49
  74. package/src/components/TriggerEditor/TriggerEditor.stories.tsx +1 -2
  75. package/src/components/index.ts +0 -9
  76. package/src/index.ts +0 -1
  77. package/src/meta.ts +1 -4
  78. package/src/testing/index.ts +0 -1
  79. package/src/testing/test-functions.ts +0 -7
  80. package/src/translations.ts +1 -47
  81. package/dist/lib/browser/AssistantDialog-V67OWLRP.mjs +0 -116
  82. package/dist/lib/browser/AssistantDialog-V67OWLRP.mjs.map +0 -7
  83. package/dist/lib/browser/AutomationPanel-NCKK3CFN.mjs +0 -8
  84. package/dist/lib/browser/AutomationPanel-NCKK3CFN.mjs.map +0 -7
  85. package/dist/lib/browser/ChatContainer-5BS6THNV.mjs +0 -33
  86. package/dist/lib/browser/ChatContainer-5BS6THNV.mjs.map +0 -7
  87. package/dist/lib/browser/TemplateContainer-HJJV44CE.mjs +0 -23
  88. package/dist/lib/browser/TemplateContainer-HJJV44CE.mjs.map +0 -7
  89. package/dist/lib/browser/ai-client-T2PBJISL.mjs +0 -22
  90. package/dist/lib/browser/ai-client-T2PBJISL.mjs.map +0 -7
  91. package/dist/lib/browser/app-graph-builder-IR3CGVM6.mjs +0 -110
  92. package/dist/lib/browser/app-graph-builder-IR3CGVM6.mjs.map +0 -7
  93. package/dist/lib/browser/chunk-62E2AEXF.mjs +0 -162
  94. package/dist/lib/browser/chunk-62E2AEXF.mjs.map +0 -7
  95. package/dist/lib/browser/chunk-67KDIIM6.mjs +0 -15
  96. package/dist/lib/browser/chunk-67KDIIM6.mjs.map +0 -7
  97. package/dist/lib/browser/chunk-BQ4WHY4D.mjs +0 -1818
  98. package/dist/lib/browser/chunk-BQ4WHY4D.mjs.map +0 -7
  99. package/dist/lib/browser/chunk-HZSTXZWK.mjs.map +0 -7
  100. package/dist/lib/browser/chunk-LJ7F4KDM.mjs +0 -243
  101. package/dist/lib/browser/chunk-LJ7F4KDM.mjs.map +0 -7
  102. package/dist/lib/browser/chunk-QH5E22EL.mjs +0 -108
  103. package/dist/lib/browser/chunk-QH5E22EL.mjs.map +0 -7
  104. package/dist/lib/browser/chunk-XAIWETH6.mjs +0 -81
  105. package/dist/lib/browser/chunk-XAIWETH6.mjs.map +0 -7
  106. package/dist/lib/browser/intent-resolver-ICLE6FSI.mjs +0 -44
  107. package/dist/lib/browser/intent-resolver-ICLE6FSI.mjs.map +0 -7
  108. package/dist/lib/browser/react-surface-KEKVLCPQ.mjs +0 -80
  109. package/dist/lib/browser/react-surface-KEKVLCPQ.mjs.map +0 -7
  110. package/dist/lib/browser/settings-FE5DDWOE.mjs +0 -22
  111. package/dist/lib/browser/settings-FE5DDWOE.mjs.map +0 -7
  112. package/dist/lib/browser/types/index.mjs +0 -24
  113. package/dist/lib/browser/types/index.mjs.map +0 -7
  114. package/dist/lib/node/AssistantDialog-E62O72KI.cjs +0 -140
  115. package/dist/lib/node/AssistantDialog-E62O72KI.cjs.map +0 -7
  116. package/dist/lib/node/AutomationPanel-6COLKRIB.cjs +0 -26
  117. package/dist/lib/node/AutomationPanel-6COLKRIB.cjs.map +0 -7
  118. package/dist/lib/node/ChatContainer-4QTLL7TH.cjs.map +0 -7
  119. package/dist/lib/node/TemplateContainer-3YCM6XPU.cjs.map +0 -7
  120. package/dist/lib/node/ai-client-L5GUSAER.cjs +0 -38
  121. package/dist/lib/node/ai-client-L5GUSAER.cjs.map +0 -7
  122. package/dist/lib/node/app-graph-builder-ECNVGTRT.cjs +0 -122
  123. package/dist/lib/node/app-graph-builder-ECNVGTRT.cjs.map +0 -7
  124. package/dist/lib/node/chunk-3QSK6IPK.cjs +0 -133
  125. package/dist/lib/node/chunk-3QSK6IPK.cjs.map +0 -7
  126. package/dist/lib/node/chunk-76F5BCJE.cjs +0 -111
  127. package/dist/lib/node/chunk-76F5BCJE.cjs.map +0 -7
  128. package/dist/lib/node/chunk-B37JIAOP.cjs +0 -1795
  129. package/dist/lib/node/chunk-B37JIAOP.cjs.map +0 -7
  130. package/dist/lib/node/chunk-BAQRBGOJ.cjs.map +0 -7
  131. package/dist/lib/node/chunk-UVWK2XJE.cjs +0 -183
  132. package/dist/lib/node/chunk-UVWK2XJE.cjs.map +0 -7
  133. package/dist/lib/node/chunk-V4L7LTWM.cjs.map +0 -7
  134. package/dist/lib/node/chunk-VNBYGJ4K.cjs +0 -34
  135. package/dist/lib/node/chunk-VNBYGJ4K.cjs.map +0 -7
  136. package/dist/lib/node/intent-resolver-4MQZULXW.cjs +0 -58
  137. package/dist/lib/node/intent-resolver-4MQZULXW.cjs.map +0 -7
  138. package/dist/lib/node/react-surface-4RVHY6WI.cjs +0 -95
  139. package/dist/lib/node/react-surface-4RVHY6WI.cjs.map +0 -7
  140. package/dist/lib/node/settings-GOIB2WJQ.cjs +0 -36
  141. package/dist/lib/node/settings-GOIB2WJQ.cjs.map +0 -7
  142. package/dist/lib/node/types/index.cjs +0 -46
  143. package/dist/lib/node/types/index.cjs.map +0 -7
  144. package/dist/lib/node-esm/AssistantDialog-IPRBJKWA.mjs +0 -117
  145. package/dist/lib/node-esm/AssistantDialog-IPRBJKWA.mjs.map +0 -7
  146. package/dist/lib/node-esm/AutomationPanel-3MPIAO7R.mjs +0 -9
  147. package/dist/lib/node-esm/AutomationPanel-3MPIAO7R.mjs.map +0 -7
  148. package/dist/lib/node-esm/ChatContainer-4IWUGMGM.mjs +0 -34
  149. package/dist/lib/node-esm/ChatContainer-4IWUGMGM.mjs.map +0 -7
  150. package/dist/lib/node-esm/TemplateContainer-YJIXR24Z.mjs +0 -24
  151. package/dist/lib/node-esm/TemplateContainer-YJIXR24Z.mjs.map +0 -7
  152. package/dist/lib/node-esm/ai-client-45LZLW7V.mjs +0 -23
  153. package/dist/lib/node-esm/ai-client-45LZLW7V.mjs.map +0 -7
  154. package/dist/lib/node-esm/app-graph-builder-HMRKSZ2X.mjs +0 -111
  155. package/dist/lib/node-esm/app-graph-builder-HMRKSZ2X.mjs.map +0 -7
  156. package/dist/lib/node-esm/chunk-5BKKHYO5.mjs +0 -163
  157. package/dist/lib/node-esm/chunk-5BKKHYO5.mjs.map +0 -7
  158. package/dist/lib/node-esm/chunk-AWAU4BHR.mjs +0 -244
  159. package/dist/lib/node-esm/chunk-AWAU4BHR.mjs.map +0 -7
  160. package/dist/lib/node-esm/chunk-CAWPHOY4.mjs +0 -82
  161. package/dist/lib/node-esm/chunk-CAWPHOY4.mjs.map +0 -7
  162. package/dist/lib/node-esm/chunk-I32H7MCF.mjs +0 -109
  163. package/dist/lib/node-esm/chunk-I32H7MCF.mjs.map +0 -7
  164. package/dist/lib/node-esm/chunk-IG4GSWZN.mjs.map +0 -7
  165. package/dist/lib/node-esm/chunk-QHKP5HT2.mjs +0 -1819
  166. package/dist/lib/node-esm/chunk-QHKP5HT2.mjs.map +0 -7
  167. package/dist/lib/node-esm/chunk-SS7U6GCX.mjs +0 -16
  168. package/dist/lib/node-esm/chunk-SS7U6GCX.mjs.map +0 -7
  169. package/dist/lib/node-esm/intent-resolver-ZS7XTYLG.mjs +0 -45
  170. package/dist/lib/node-esm/intent-resolver-ZS7XTYLG.mjs.map +0 -7
  171. package/dist/lib/node-esm/react-surface-5ILD642V.mjs +0 -81
  172. package/dist/lib/node-esm/react-surface-5ILD642V.mjs.map +0 -7
  173. package/dist/lib/node-esm/settings-ANNQPPRY.mjs +0 -23
  174. package/dist/lib/node-esm/settings-ANNQPPRY.mjs.map +0 -7
  175. package/dist/lib/node-esm/types/index.mjs +0 -25
  176. package/dist/lib/node-esm/types/index.mjs.map +0 -7
  177. package/dist/types/src/capabilities/ai-client.d.ts.map +0 -1
  178. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -181
  179. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  180. package/dist/types/src/capabilities/capabilities.d.ts +0 -5
  181. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  182. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  183. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  184. package/dist/types/src/capabilities/settings.d.ts +0 -4
  185. package/dist/types/src/capabilities/settings.d.ts.map +0 -1
  186. package/dist/types/src/components/AmbientDialog/AmbientDialog.d.ts +0 -7
  187. package/dist/types/src/components/AmbientDialog/AmbientDialog.d.ts.map +0 -1
  188. package/dist/types/src/components/AmbientDialog/AmbientDialog.stories.d.ts +0 -8
  189. package/dist/types/src/components/AmbientDialog/AmbientDialog.stories.d.ts.map +0 -1
  190. package/dist/types/src/components/AmbientDialog/index.d.ts +0 -2
  191. package/dist/types/src/components/AmbientDialog/index.d.ts.map +0 -1
  192. package/dist/types/src/components/AssistantDialog.d.ts +0 -7
  193. package/dist/types/src/components/AssistantDialog.d.ts.map +0 -1
  194. package/dist/types/src/components/AutomationSettings/AutomationSettings.d.ts +0 -5
  195. package/dist/types/src/components/AutomationSettings/AutomationSettings.d.ts.map +0 -1
  196. package/dist/types/src/components/AutomationSettings/index.d.ts +0 -2
  197. package/dist/types/src/components/AutomationSettings/index.d.ts.map +0 -1
  198. package/dist/types/src/components/ChatContainer.d.ts +0 -7
  199. package/dist/types/src/components/ChatContainer.d.ts.map +0 -1
  200. package/dist/types/src/components/Prompt/Prompt.d.ts +0 -17
  201. package/dist/types/src/components/Prompt/Prompt.d.ts.map +0 -1
  202. package/dist/types/src/components/Prompt/Prompt.stories.d.ts +0 -9
  203. package/dist/types/src/components/Prompt/Prompt.stories.d.ts.map +0 -1
  204. package/dist/types/src/components/Prompt/PromptBar.d.ts +0 -10
  205. package/dist/types/src/components/Prompt/PromptBar.d.ts.map +0 -1
  206. package/dist/types/src/components/Prompt/autocomplete.d.ts +0 -21
  207. package/dist/types/src/components/Prompt/autocomplete.d.ts.map +0 -1
  208. package/dist/types/src/components/Prompt/index.d.ts +0 -3
  209. package/dist/types/src/components/Prompt/index.d.ts.map +0 -1
  210. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.d.ts +0 -5
  211. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.d.ts.map +0 -1
  212. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.stories.d.ts +0 -8
  213. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.stories.d.ts.map +0 -1
  214. package/dist/types/src/components/ServiceRegistry/index.d.ts +0 -2
  215. package/dist/types/src/components/ServiceRegistry/index.d.ts.map +0 -1
  216. package/dist/types/src/components/TemplateContainer.d.ts +0 -7
  217. package/dist/types/src/components/TemplateContainer.d.ts.map +0 -1
  218. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts +0 -12
  219. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +0 -1
  220. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts +0 -8
  221. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts.map +0 -1
  222. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +0 -10
  223. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +0 -1
  224. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts +0 -8
  225. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts.map +0 -1
  226. package/dist/types/src/components/TemplateEditor/index.d.ts +0 -2
  227. package/dist/types/src/components/TemplateEditor/index.d.ts.map +0 -1
  228. package/dist/types/src/components/TemplateEditor/types.d.ts +0 -18
  229. package/dist/types/src/components/TemplateEditor/types.d.ts.map +0 -1
  230. package/dist/types/src/components/Thread/Thread.d.ts +0 -17
  231. package/dist/types/src/components/Thread/Thread.d.ts.map +0 -1
  232. package/dist/types/src/components/Thread/Thread.stories.d.ts +0 -11
  233. package/dist/types/src/components/Thread/Thread.stories.d.ts.map +0 -1
  234. package/dist/types/src/components/Thread/ThreadContainer.d.ts +0 -10
  235. package/dist/types/src/components/Thread/ThreadContainer.d.ts.map +0 -1
  236. package/dist/types/src/components/Thread/ThreadContainer.stories.d.ts +0 -15
  237. package/dist/types/src/components/Thread/ThreadContainer.stories.d.ts.map +0 -1
  238. package/dist/types/src/components/Thread/ThreadMessage.d.ts +0 -13
  239. package/dist/types/src/components/Thread/ThreadMessage.d.ts.map +0 -1
  240. package/dist/types/src/components/Thread/ToolInvocations.d.ts +0 -13
  241. package/dist/types/src/components/Thread/ToolInvocations.d.ts.map +0 -1
  242. package/dist/types/src/components/Thread/index.d.ts +0 -3
  243. package/dist/types/src/components/Thread/index.d.ts.map +0 -1
  244. package/dist/types/src/components/Thread/reducer.d.ts +0 -12
  245. package/dist/types/src/components/Thread/reducer.d.ts.map +0 -1
  246. package/dist/types/src/components/Toolbox/Toolbox.d.ts +0 -19
  247. package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +0 -1
  248. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts +0 -8
  249. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts.map +0 -1
  250. package/dist/types/src/components/Toolbox/index.d.ts +0 -2
  251. package/dist/types/src/components/Toolbox/index.d.ts.map +0 -1
  252. package/dist/types/src/hooks/email.d.ts +0 -4
  253. package/dist/types/src/hooks/email.d.ts.map +0 -1
  254. package/dist/types/src/hooks/index.d.ts +0 -7
  255. package/dist/types/src/hooks/index.d.ts.map +0 -1
  256. package/dist/types/src/hooks/invocation-handler.d.ts +0 -5
  257. package/dist/types/src/hooks/invocation-handler.d.ts.map +0 -1
  258. package/dist/types/src/hooks/processor.d.ts +0 -75
  259. package/dist/types/src/hooks/processor.d.ts.map +0 -1
  260. package/dist/types/src/hooks/processor.test.d.ts +0 -2
  261. package/dist/types/src/hooks/processor.test.d.ts.map +0 -1
  262. package/dist/types/src/hooks/useChatProcessor.d.ts +0 -8
  263. package/dist/types/src/hooks/useChatProcessor.d.ts.map +0 -1
  264. package/dist/types/src/hooks/useLocalTriggerManager.d.ts +0 -3
  265. package/dist/types/src/hooks/useLocalTriggerManager.d.ts.map +0 -1
  266. package/dist/types/src/hooks/useMessageQueue.d.ts +0 -41
  267. package/dist/types/src/hooks/useMessageQueue.d.ts.map +0 -1
  268. package/dist/types/src/hooks/useServices.d.ts +0 -7
  269. package/dist/types/src/hooks/useServices.d.ts.map +0 -1
  270. package/dist/types/src/hooks/useTextInputEvents.d.ts +0 -13
  271. package/dist/types/src/hooks/useTextInputEvents.d.ts.map +0 -1
  272. package/dist/types/src/testing/test-services.d.ts +0 -5
  273. package/dist/types/src/testing/test-services.d.ts.map +0 -1
  274. package/dist/types/src/tools/function.d.ts +0 -5
  275. package/dist/types/src/tools/function.d.ts.map +0 -1
  276. package/dist/types/src/tools/index.d.ts +0 -3
  277. package/dist/types/src/tools/index.d.ts.map +0 -1
  278. package/dist/types/src/tools/openapi.d.ts +0 -10
  279. package/dist/types/src/tools/openapi.d.ts.map +0 -1
  280. package/dist/types/src/tools/openapi.test.d.ts +0 -2
  281. package/dist/types/src/tools/openapi.test.d.ts.map +0 -1
  282. package/dist/types/src/types/chat.d.ts +0 -12
  283. package/dist/types/src/types/chat.d.ts.map +0 -1
  284. package/dist/types/src/types/index.d.ts +0 -5
  285. package/dist/types/src/types/index.d.ts.map +0 -1
  286. package/dist/types/src/types/service.d.ts +0 -160
  287. package/dist/types/src/types/service.d.ts.map +0 -1
  288. package/dist/types/src/types/template.d.ts +0 -40
  289. package/dist/types/src/types/template.d.ts.map +0 -1
  290. package/dist/types/src/types/types.d.ts +0 -37
  291. package/dist/types/src/types/types.d.ts.map +0 -1
  292. package/src/capabilities/ai-client.ts +0 -19
  293. package/src/capabilities/app-graph-builder.ts +0 -99
  294. package/src/capabilities/capabilities.ts +0 -12
  295. package/src/capabilities/intent-resolver.ts +0 -38
  296. package/src/capabilities/settings.ts +0 -19
  297. package/src/components/AmbientDialog/AmbientDialog.stories.tsx +0 -81
  298. package/src/components/AmbientDialog/AmbientDialog.tsx +0 -103
  299. package/src/components/AmbientDialog/index.ts +0 -5
  300. package/src/components/AssistantDialog.tsx +0 -33
  301. package/src/components/AutomationSettings/AutomationSettings.tsx +0 -49
  302. package/src/components/AutomationSettings/index.ts +0 -5
  303. package/src/components/ChatContainer.tsx +0 -29
  304. package/src/components/Prompt/Prompt.stories.tsx +0 -79
  305. package/src/components/Prompt/Prompt.tsx +0 -100
  306. package/src/components/Prompt/PromptBar.tsx +0 -100
  307. package/src/components/Prompt/autocomplete.ts +0 -212
  308. package/src/components/Prompt/index.ts +0 -6
  309. package/src/components/ServiceRegistry/ServiceRegistry.stories.tsx +0 -49
  310. package/src/components/ServiceRegistry/ServiceRegistry.tsx +0 -76
  311. package/src/components/ServiceRegistry/index.ts +0 -5
  312. package/src/components/TemplateContainer.tsx +0 -21
  313. package/src/components/TemplateEditor/TemplateEditor.stories.tsx +0 -72
  314. package/src/components/TemplateEditor/TemplateEditor.tsx +0 -76
  315. package/src/components/TemplateEditor/TemplateForm.stories.tsx +0 -65
  316. package/src/components/TemplateEditor/TemplateForm.tsx +0 -184
  317. package/src/components/TemplateEditor/index.ts +0 -5
  318. package/src/components/TemplateEditor/types.tsx +0 -28
  319. package/src/components/Thread/Thread.stories.tsx +0 -212
  320. package/src/components/Thread/Thread.tsx +0 -97
  321. package/src/components/Thread/ThreadContainer.stories.tsx +0 -258
  322. package/src/components/Thread/ThreadContainer.tsx +0 -78
  323. package/src/components/Thread/ThreadMessage.tsx +0 -187
  324. package/src/components/Thread/ToolInvocations.tsx +0 -93
  325. package/src/components/Thread/index.ts +0 -6
  326. package/src/components/Thread/reducer.ts +0 -52
  327. package/src/components/Toolbox/Toolbox.stories.tsx +0 -65
  328. package/src/components/Toolbox/Toolbox.tsx +0 -117
  329. package/src/components/Toolbox/index.ts +0 -5
  330. package/src/hooks/email.ts +0 -49
  331. package/src/hooks/index.ts +0 -11
  332. package/src/hooks/invocation-handler.ts +0 -109
  333. package/src/hooks/processor.test.ts +0 -15
  334. package/src/hooks/processor.ts +0 -219
  335. package/src/hooks/useChatProcessor.tsx +0 -77
  336. package/src/hooks/useLocalTriggerManager.ts +0 -82
  337. package/src/hooks/useMessageQueue.ts +0 -23
  338. package/src/hooks/useServices.ts +0 -28
  339. package/src/hooks/useTextInputEvents.ts +0 -49
  340. package/src/testing/test-services.ts +0 -131
  341. package/src/tools/function.ts +0 -47
  342. package/src/tools/index.ts +0 -6
  343. package/src/tools/openapi.test.ts +0 -224
  344. package/src/tools/openapi.ts +0 -331
  345. package/src/types/chat.ts +0 -11
  346. package/src/types/index.ts +0 -8
  347. package/src/types/service.ts +0 -102
  348. package/src/types/template.ts +0 -34
  349. package/src/types/types.ts +0 -41
  350. package/src/typings.d.ts +0 -9
@@ -1,37 +0,0 @@
1
- import { S } from '@dxos/echo-schema';
2
- import { AIChatType } from './chat';
3
- import { TemplateType } from './template';
4
- export declare namespace AutomationAction {
5
- const CreateChat_base: S.TaggedClass<CreateChat, "dxos.org/plugin/automation/action/create-chat", {
6
- readonly _tag: S.tag<"dxos.org/plugin/automation/action/create-chat">;
7
- } & {
8
- input: S.Struct<{
9
- spaceId: S.optional<typeof S.String>;
10
- name: S.optional<typeof S.String>;
11
- }>;
12
- output: S.Struct<{
13
- object: typeof AIChatType;
14
- }>;
15
- }>;
16
- export class CreateChat extends CreateChat_base {
17
- }
18
- const CreateTemplate_base: S.TaggedClass<CreateTemplate, "dxos.org/plugin/automation/action/create-template", {
19
- readonly _tag: S.tag<"dxos.org/plugin/automation/action/create-template">;
20
- } & {
21
- input: S.Struct<{
22
- name: S.optional<typeof S.String>;
23
- }>;
24
- output: S.Struct<{
25
- object: typeof TemplateType;
26
- }>;
27
- }>;
28
- export class CreateTemplate extends CreateTemplate_base {
29
- }
30
- export {};
31
- }
32
- export declare const AutomationSettingsSchema: S.mutable<S.Struct<{
33
- llmModel: S.optional<typeof S.String>;
34
- customPrompts: S.optional<typeof S.Boolean>;
35
- }>>;
36
- export type AutomationSettingsProps = S.Schema.Type<typeof AutomationSettingsSchema>;
37
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/types/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1C,yBAAiB,gBAAgB,CAAC;;;;;;;;;;;;IAGhC,MAAM,OAAO,UAAW,SAAQ,eAQ9B;KAAG;;;;;;;;;;;IAEL,MAAM,OAAO,cAAe,SAAQ,mBAOlC;KAAG;;CACN;AAED,eAAO,MAAM,wBAAwB;;;GAKpC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
@@ -1,19 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { contributes, type PluginsContext } from '@dxos/app-framework';
6
- import { AIServiceClientImpl } from '@dxos/assistant';
7
- import { ClientCapabilities } from '@dxos/plugin-client';
8
-
9
- import { AutomationCapabilities } from './capabilities';
10
-
11
- // TODO(wittjosiah): Factor out.
12
- const DEFAULT_AI_SERVICE_URL = 'http://localhost:8788';
13
-
14
- export default (context: PluginsContext) => {
15
- const client = context.requestCapability(ClientCapabilities.Client);
16
- const endpoint = client.config.values.runtime?.services?.ai?.server ?? DEFAULT_AI_SERVICE_URL;
17
- const aiClient = new AIServiceClientImpl({ endpoint });
18
- return contributes(AutomationCapabilities.AiClient, aiClient);
19
- };
@@ -1,99 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import {
6
- Capabilities,
7
- contributes,
8
- createIntent,
9
- LayoutAction,
10
- type PromiseIntentDispatcher,
11
- type PluginsContext,
12
- } from '@dxos/app-framework';
13
- import { invariant } from '@dxos/invariant';
14
- import { log } from '@dxos/log';
15
- import { ClientCapabilities } from '@dxos/plugin-client';
16
- import { createExtension, type Node, ROOT_ID } from '@dxos/plugin-graph';
17
- import { SpaceAction } from '@dxos/plugin-space/types';
18
- import { type Space, Filter, getSpace } from '@dxos/react-client/echo';
19
-
20
- import { ASSISTANT_DIALOG, AUTOMATION_PLUGIN } from '../meta';
21
- import { AIChatType, AutomationAction } from '../types';
22
-
23
- export default (context: PluginsContext) =>
24
- contributes(Capabilities.AppGraphBuilder, [
25
- createExtension({
26
- id: `${AUTOMATION_PLUGIN}/assistant`,
27
- filter: (node): node is Node<null> => node.id === ROOT_ID,
28
- actions: () => [
29
- {
30
- id: `${LayoutAction.UpdateDialog._tag}/assistant/open`,
31
- data: async () => {
32
- const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);
33
- const client = context.requestCapability(ClientCapabilities.Client);
34
- const layout = context.requestCapability(Capabilities.Layout);
35
- const { graph } = context.requestCapability(Capabilities.AppGraph);
36
-
37
- // TODO(burdon): Get space from workspace.
38
- // TODO(burdon): If need to create chat, then add to dispatch stack below.
39
- let chat: AIChatType | undefined;
40
- if (layout.active.length > 0) {
41
- const node = graph.findNode(layout.active[0]);
42
- if (node) {
43
- const space = getSpace(node.data);
44
- if (space) {
45
- chat = await getOrCreateChat(dispatch, space);
46
- }
47
- }
48
- } else {
49
- const space = client.spaces.default;
50
- chat = await getOrCreateChat(dispatch, space);
51
- }
52
-
53
- if (!chat) {
54
- log.warn('no chat found');
55
- return;
56
- }
57
-
58
- await dispatch(
59
- createIntent(LayoutAction.UpdateDialog, {
60
- part: 'dialog',
61
- subject: ASSISTANT_DIALOG,
62
- options: {
63
- state: true,
64
- blockAlign: 'end',
65
- props: {
66
- chat,
67
- },
68
- },
69
- }),
70
- );
71
- },
72
- properties: {
73
- label: ['open assistant label', { ns: AUTOMATION_PLUGIN }],
74
- icon: 'ph--chat-centered-text--regular',
75
- disposition: 'pin-end',
76
- position: 'hoist',
77
- keyBinding: {
78
- macos: 'shift+meta+k',
79
- windows: 'shift+ctrl+k',
80
- },
81
- },
82
- },
83
- ],
84
- }),
85
- ]);
86
-
87
- // TODO(burdon): Factor out.
88
- const getOrCreateChat = async (dispatch: PromiseIntentDispatcher, space: Space): Promise<AIChatType | undefined> => {
89
- const { objects } = await space.db.query(Filter.schema(AIChatType)).run();
90
- if (objects.length > 0) {
91
- // TODO(burdon): Is this the most recent?
92
- return objects[objects.length - 1];
93
- }
94
-
95
- const { data } = await dispatch(createIntent(AutomationAction.CreateChat, { spaceId: space.id }));
96
- invariant(data?.object instanceof AIChatType);
97
- await dispatch(createIntent(SpaceAction.AddObject, { target: space, object: data.object }));
98
- return data.object;
99
- };
@@ -1,12 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { defineCapability } from '@dxos/app-framework';
6
- import { type AIServiceClientImpl } from '@dxos/assistant';
7
-
8
- import { AUTOMATION_PLUGIN } from '../meta';
9
-
10
- export namespace AutomationCapabilities {
11
- export const AiClient = defineCapability<AIServiceClientImpl>(`${AUTOMATION_PLUGIN}/capability/ai-client`);
12
- }
@@ -1,38 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { Capabilities, contributes, createResolver } from '@dxos/app-framework';
6
- import { ObjectId } from '@dxos/echo-schema';
7
- import { DXN, QueueSubspaceTags } from '@dxos/keys';
8
- import { create, refFromDXN } from '@dxos/live-object';
9
-
10
- import { AutomationAction, AIChatType, TemplateType } from '../types';
11
-
12
- export default () => [
13
- contributes(
14
- Capabilities.IntentResolver,
15
- createResolver({
16
- intent: AutomationAction.CreateChat,
17
- resolve: ({ spaceId, name }) => ({
18
- data: {
19
- object: create(AIChatType, {
20
- name,
21
- queue: refFromDXN(new DXN(DXN.kind.QUEUE, [QueueSubspaceTags.DATA, spaceId, ObjectId.random()])),
22
- }),
23
- },
24
- }),
25
- }),
26
- ),
27
- contributes(
28
- Capabilities.IntentResolver,
29
- createResolver({
30
- intent: AutomationAction.CreateTemplate,
31
- resolve: ({ name }) => ({
32
- data: {
33
- object: create(TemplateType, { name, source: '{{! Template }}' }),
34
- },
35
- }),
36
- }),
37
- ),
38
- ];
@@ -1,19 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { Capabilities, contributes } from '@dxos/app-framework';
6
- import { create } from '@dxos/live-object';
7
-
8
- import { AUTOMATION_PLUGIN } from '../meta';
9
- import { type AutomationSettingsProps, AutomationSettingsSchema } from '../types';
10
-
11
- export default () => {
12
- const settings = create<AutomationSettingsProps>({});
13
-
14
- return contributes(Capabilities.Settings, {
15
- schema: AutomationSettingsSchema,
16
- prefix: AUTOMATION_PLUGIN,
17
- value: settings,
18
- });
19
- };
@@ -1,81 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import '@dxos-theme';
6
-
7
- import { type StoryObj, type Meta } from '@storybook/react';
8
- import React, { useState } from 'react';
9
-
10
- import { IntentPlugin } from '@dxos/app-framework';
11
- import { withPluginManager } from '@dxos/app-framework/testing';
12
- import { Config } from '@dxos/client';
13
- import { faker } from '@dxos/random';
14
- import { withClientProvider } from '@dxos/react-client/testing';
15
- import { Dialog, Toolbar, Button } from '@dxos/react-ui';
16
- import { withTheme, withLayout } from '@dxos/storybook-utils';
17
-
18
- import { AmbientDialog } from './AmbientDialog';
19
- import translations from '../../translations';
20
-
21
- const meta: Meta<typeof AmbientDialog> = {
22
- title: 'plugins/plugin-automation/AmbientDialog',
23
- component: AmbientDialog,
24
- render: () => {
25
- const [open, setOpen] = useState(true);
26
- const [items, setItems] = useState<string[]>([]);
27
- return (
28
- <>
29
- <div>
30
- <Toolbar.Root>
31
- <Toolbar.Button onClick={() => setOpen(true)}>Open</Toolbar.Button>
32
- </Toolbar.Root>
33
- </div>
34
- <Dialog.Root open={open} onOpenChange={setOpen}>
35
- <AmbientDialog>
36
- <div className='flex flex-col h-full overflow-hidden'>
37
- <div className='flex flex-col h-full gap-2 overflow-auto'>
38
- {items.map((item) => (
39
- <div key={item} className='px-2'>
40
- {item}
41
- </div>
42
- ))}
43
- {items.length > 0 && <div className='pbe-2' />}
44
- </div>
45
- <div className='shrink-0 h-[40px]'>
46
- <Button onClick={() => setItems([...items, faker.lorem.word()])}>Add</Button>
47
- </div>
48
- </div>
49
- </AmbientDialog>
50
- </Dialog.Root>
51
- </>
52
- );
53
- },
54
- decorators: [
55
- withClientProvider({
56
- config: new Config({
57
- runtime: {
58
- client: { edgeFeatures: { signaling: true } },
59
- services: {
60
- edge: { url: 'https://edge.dxos.workers.dev/' },
61
- iceProviders: [{ urls: 'https://edge.dxos.workers.dev/ice' }],
62
- },
63
- },
64
- }),
65
- createIdentity: true,
66
- createSpace: true,
67
- }),
68
- withPluginManager({ plugins: [IntentPlugin()] }),
69
- withTheme,
70
- withLayout({ fullscreen: true, tooltips: true }),
71
- ],
72
- parameters: {
73
- translations,
74
- },
75
- };
76
-
77
- export default meta;
78
-
79
- type Story = StoryObj<typeof AmbientDialog>;
80
-
81
- export const Default: Story = {};
@@ -1,103 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import React, { type PropsWithChildren, useCallback, useEffect, useState } from 'react';
6
-
7
- import { Dialog, Icon, IconButton } from '@dxos/react-ui';
8
- import { resizeAttributes, ResizeHandle, type Size, sizeStyle } from '@dxos/react-ui-dnd';
9
- import { mx } from '@dxos/react-ui-theme';
10
-
11
- const preventDefault = (event: Event) => event.preventDefault();
12
-
13
- const minSize = 5;
14
-
15
- // TODO(burdon): Factor out.
16
- export const AmbientDialog = ({
17
- children,
18
- open: _open,
19
- title,
20
- onOpenChange,
21
- }: PropsWithChildren<{ open?: boolean; onOpenChange?: (open: boolean) => void; title?: string }>) => {
22
- const [resizeKey, setReizeKey] = useState(0);
23
- const [size, setSize] = useState<Size>('min-content');
24
- const [open, setOpen] = useState(_open);
25
-
26
- // Update controlled value.
27
- useEffect(() => {
28
- setOpen(_open);
29
- }, [_open]);
30
-
31
- // Update size and key.
32
- useEffect(() => {
33
- setSize(open ? 'min-content' : minSize);
34
- setReizeKey((key) => key + 1);
35
- }, [open]);
36
-
37
- // TODO(burdon): Animate open/close.
38
- // NOTE: We set the min size to 5rem (80px), and the header and prompt bar to 40px (i.e., the rail-size) each.
39
- // The dialog has no vertical padding and has box-content so that when closed it collapses to the size of the header and prompt bar.
40
- const handleToggle = useCallback(() => {
41
- setOpen((open) => {
42
- onOpenChange?.(!open);
43
- return !open;
44
- });
45
- }, []);
46
-
47
- return (
48
- <div role='none' className='dx-dialog__overlay bg-transparent pointer-events-none' data-block-align='end'>
49
- <Dialog.Content
50
- classNames='relative box-content py-0 px-2 md:is-[35rem] md:max-is-none overflow-hidden pointer-events-auto transition-[block-size] ease-in-out duration-0 [&:not([data-dx-resizing="true"])]:duration-200'
51
- inOverlayLayout
52
- {...resizeAttributes}
53
- style={{
54
- ...sizeStyle(size, 'vertical', true),
55
- maxBlockSize: 'calc(100dvh - env(safe-area-inset-bottom) - env(safe-area-inset-top) - 8rem)',
56
- }}
57
- onInteractOutside={preventDefault}
58
- >
59
- <ResizeHandle
60
- key={resizeKey}
61
- side='block-start'
62
- defaultSize='min-content'
63
- minSize={minSize}
64
- fallbackSize={minSize}
65
- iconPosition='center'
66
- onSizeChange={setSize}
67
- />
68
-
69
- <DialogHeader open={open} title={title} onToggle={handleToggle} />
70
-
71
- {children}
72
- </Dialog.Content>
73
- </div>
74
- );
75
- };
76
-
77
- /**
78
- * Matches same layout grid as PromptBar.
79
- */
80
- const DialogHeader = ({ open, title, onToggle }: { open?: boolean; title?: string; onToggle: () => void }) => {
81
- return (
82
- <div className='flex shrink-0 w-full grid grid-cols-[var(--rail-action)_1fr_var(--rail-action)] items-center overflow-hidden'>
83
- <div className='flex w-[--rail-action] h-[--rail-action] items-center justify-center'>
84
- <Dialog.Close>
85
- <Icon icon='ph--x--regular' />
86
- </Dialog.Close>
87
- </div>
88
- <div className='grow'>
89
- <Dialog.Title classNames='flex justify-center text-xs text-subdued'>{title}</Dialog.Title>
90
- </div>
91
- <div className='flex w-[--rail-action] h-[--rail-action] items-center justify-center'>
92
- <IconButton
93
- variant='ghost'
94
- icon={'ph--caret-up--regular'}
95
- classNames={mx('[&>svg]:transition [&>svg]:duration-200', open && '[&>svg]:rotate-180')}
96
- iconOnly
97
- label='Shrink'
98
- onClick={onToggle}
99
- />
100
- </div>
101
- </div>
102
- );
103
- };
@@ -1,5 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- export * from './AmbientDialog';
@@ -1,33 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import React, { type FC, useState } from 'react';
6
-
7
- import { useCapability, Capabilities, useCapabilities } from '@dxos/app-framework';
8
- import { TranscriptionCapabilities } from '@dxos/plugin-transcription';
9
- import { useTranslation } from '@dxos/react-ui';
10
-
11
- import { AmbientDialog } from './AmbientDialog';
12
- import { ThreadContainer } from './Thread';
13
- import { AUTOMATION_PLUGIN } from '../meta';
14
- import { type AutomationSettingsProps, type AIChatType } from '../types';
15
-
16
- export const AssistantDialog: FC<{ chat?: AIChatType }> = ({ chat }) => {
17
- const { t } = useTranslation(AUTOMATION_PLUGIN);
18
- const transcription = useCapabilities(TranscriptionCapabilities.Transcription).length > 0;
19
- const settings = useCapability(Capabilities.SettingsStore).getStore<AutomationSettingsProps>(
20
- AUTOMATION_PLUGIN,
21
- )?.value;
22
-
23
- // TODO(burdon): Refocus when open.
24
- const [open, setOpen] = useState(false);
25
-
26
- return (
27
- <AmbientDialog open={open} onOpenChange={setOpen} title={t('assistant dialog title')}>
28
- <ThreadContainer chat={chat} onOpenChange={setOpen} settings={settings} transcription={transcription} />
29
- </AmbientDialog>
30
- );
31
- };
32
-
33
- export default AssistantDialog;
@@ -1,49 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import React from 'react';
6
-
7
- import { DEFAULT_LLM_MODELS } from '@dxos/assistant';
8
- import { Input, Select, useTranslation } from '@dxos/react-ui';
9
- import { DeprecatedFormContainer, DeprecatedFormInput } from '@dxos/react-ui-form';
10
-
11
- import { AUTOMATION_PLUGIN } from '../../meta';
12
- import { type AutomationSettingsProps } from '../../types';
13
-
14
- export const AutomationSettings = ({ settings }: { settings: AutomationSettingsProps }) => {
15
- const { t } = useTranslation(AUTOMATION_PLUGIN);
16
-
17
- return (
18
- <DeprecatedFormContainer>
19
- <DeprecatedFormInput label={t('settings custom prompts label')}>
20
- <Input.Switch
21
- checked={!!settings.customPrompts}
22
- onCheckedChange={(checked) => (settings.customPrompts = checked)}
23
- />
24
- </DeprecatedFormInput>
25
-
26
- <DeprecatedFormInput label={t('settings llm model label')}>
27
- <Select.Root
28
- value={settings.llmModel ?? 'default'}
29
- onValueChange={(value) => {
30
- settings.llmModel = value;
31
- }}
32
- >
33
- <Select.TriggerButton placeholder={t('settings default llm model label')} />
34
- <Select.Portal>
35
- <Select.Content>
36
- <Select.Viewport>
37
- {DEFAULT_LLM_MODELS.map((model) => (
38
- <Select.Option key={model} value={model}>
39
- {model}
40
- </Select.Option>
41
- ))}
42
- </Select.Viewport>
43
- </Select.Content>
44
- </Select.Portal>
45
- </Select.Root>
46
- </DeprecatedFormInput>
47
- </DeprecatedFormContainer>
48
- );
49
- };
@@ -1,5 +0,0 @@
1
- //
2
- // Copyright 2024 DXOS.org
3
- //
4
-
5
- export * from './AutomationSettings';
@@ -1,29 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import React from 'react';
6
-
7
- import { Capabilities, useCapabilities, useCapability } from '@dxos/app-framework';
8
- import { TranscriptionCapabilities } from '@dxos/plugin-transcription';
9
- import { StackItem } from '@dxos/react-ui-stack';
10
-
11
- import { ThreadContainer } from './Thread';
12
- import { AUTOMATION_PLUGIN } from '../meta';
13
- import { type AutomationSettingsProps, type AIChatType } from '../types';
14
-
15
- // TODO(burdon): Attention.
16
- export const ChatContainer = ({ chat, role }: { chat: AIChatType; role: string }) => {
17
- const transcription = useCapabilities(TranscriptionCapabilities.Transcription).length > 0;
18
- const settings = useCapability(Capabilities.SettingsStore).getStore<AutomationSettingsProps>(
19
- AUTOMATION_PLUGIN,
20
- )?.value;
21
-
22
- return (
23
- <StackItem.Content toolbar={false} role={role} classNames='mli-auto w-full max-w-[50rem]'>
24
- <ThreadContainer chat={chat} settings={settings} transcription={transcription} />
25
- </StackItem.Content>
26
- );
27
- };
28
-
29
- export default ChatContainer;
@@ -1,79 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import '@dxos-theme';
6
-
7
- import { type StoryObj, type Meta } from '@storybook/react';
8
- import React, { useEffect, useState } from 'react';
9
-
10
- import { withTheme, withLayout } from '@dxos/storybook-utils';
11
-
12
- import { Prompt } from './Prompt';
13
- import { PromptBar } from './PromptBar';
14
- import translations from '../../translations';
15
-
16
- const meta: Meta<typeof Prompt> = {
17
- title: 'plugins/plugin-automation/Prompt',
18
- component: Prompt,
19
- decorators: [withTheme, withLayout({ tooltips: true })],
20
- parameters: {
21
- layout: 'centered',
22
- translations,
23
- },
24
- };
25
-
26
- export default meta;
27
-
28
- type Story = StoryObj<typeof Prompt>;
29
-
30
- export const Default: Story = {
31
- args: {
32
- classNames: 'w-96 p-4 rounded outline outline-gray-200',
33
- autoFocus: true,
34
- onSubmit: (text) => {
35
- console.log('onEnter', text);
36
- },
37
- onSuggest: (text) => {
38
- const trimmed = text.trim().toLowerCase();
39
- if (trimmed.length < 2) {
40
- return [];
41
- }
42
-
43
- const suggestions = [
44
- 'Create a kanban board',
45
- 'Create a new project',
46
- 'Find flights to Tokyo',
47
- "Let's play chess",
48
- 'Show me Paris on a map',
49
- ];
50
-
51
- return suggestions.filter((s) => s.toLowerCase().startsWith(text));
52
- },
53
- },
54
- };
55
-
56
- export const Toolbar: Story = {
57
- render: (args) => {
58
- const [processing, setProcessing] = useState(false);
59
- useEffect(() => {
60
- let t: NodeJS.Timeout;
61
- if (processing) {
62
- t = setTimeout(() => setProcessing(false), 10_000);
63
- }
64
- return () => clearTimeout(t);
65
- }, [processing]);
66
- console.log('processing', processing);
67
-
68
- return (
69
- <PromptBar
70
- classNames='w-[25rem] p-1 overflow-hidden border border-gray-200 rounded'
71
- microphone
72
- processing={processing}
73
- onSubmit={() => setProcessing(true)}
74
- onCancel={() => setProcessing(false)}
75
- {...args}
76
- />
77
- );
78
- },
79
- };