@dxos/plugin-automation 0.7.5-staging.b81e783 → 0.8.0

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 (318) 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 +18 -395
  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/chunk-CB5OB6JH.cjs +40 -0
  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 +33 -396
  27. package/dist/lib/node/index.cjs.map +4 -4
  28. package/dist/lib/node/meta.json +1 -1
  29. package/dist/lib/node/{react-surface-IXKIJFRP.cjs → react-surface-2WRVAPGR.cjs} +9 -34
  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 +18 -395
  42. package/dist/lib/node-esm/index.mjs.map +4 -4
  43. package/dist/lib/node-esm/meta.json +1 -1
  44. package/dist/lib/node-esm/react-surface-QWLPOYXO.mjs +28 -0
  45. package/dist/lib/node-esm/react-surface-QWLPOYXO.mjs.map +7 -0
  46. package/dist/types/src/AutomationPlugin.d.ts.map +1 -1
  47. package/dist/types/src/capabilities/{ai-client.d.ts → complementary-panel.d.ts} +2 -3
  48. package/dist/types/src/capabilities/complementary-panel.d.ts.map +1 -0
  49. package/dist/types/src/capabilities/index.d.ts +1 -180
  50. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  51. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  52. package/dist/types/src/components/AutomationPanel/AutomationPanel.d.ts.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 -11
  56. package/dist/types/src/components/index.d.ts.map +1 -1
  57. package/dist/types/src/index.d.ts +1 -3
  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 -112
  66. package/dist/types/src/translations.d.ts.map +1 -1
  67. package/package.json +21 -74
  68. package/src/AutomationPlugin.tsx +7 -76
  69. package/src/capabilities/complementary-panel.ts +56 -0
  70. package/src/capabilities/index.ts +1 -5
  71. package/src/capabilities/react-surface.tsx +3 -23
  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 -8
  76. package/src/index.ts +2 -3
  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 -37
  81. package/dist/lib/browser/AutomationPanel-NCKK3CFN.mjs +0 -8
  82. package/dist/lib/browser/AutomationPanel-NCKK3CFN.mjs.map +0 -7
  83. package/dist/lib/browser/ChatContainer-AZPLZJ5H.mjs +0 -12
  84. package/dist/lib/browser/ChatContainer-AZPLZJ5H.mjs.map +0 -7
  85. package/dist/lib/browser/ai-client-T2PBJISL.mjs +0 -22
  86. package/dist/lib/browser/ai-client-T2PBJISL.mjs.map +0 -7
  87. package/dist/lib/browser/app-graph-builder-F22H4YBQ.mjs +0 -111
  88. package/dist/lib/browser/app-graph-builder-F22H4YBQ.mjs.map +0 -7
  89. package/dist/lib/browser/chunk-67KDIIM6.mjs +0 -15
  90. package/dist/lib/browser/chunk-67KDIIM6.mjs.map +0 -7
  91. package/dist/lib/browser/chunk-HZSTXZWK.mjs.map +0 -7
  92. package/dist/lib/browser/chunk-L2YLAKCS.mjs +0 -151
  93. package/dist/lib/browser/chunk-L2YLAKCS.mjs.map +0 -7
  94. package/dist/lib/browser/chunk-LJ7F4KDM.mjs +0 -243
  95. package/dist/lib/browser/chunk-LJ7F4KDM.mjs.map +0 -7
  96. package/dist/lib/browser/chunk-M4MWUOUC.mjs +0 -382
  97. package/dist/lib/browser/chunk-M4MWUOUC.mjs.map +0 -7
  98. package/dist/lib/browser/chunk-U435IUIA.mjs +0 -1775
  99. package/dist/lib/browser/chunk-U435IUIA.mjs.map +0 -7
  100. package/dist/lib/browser/intent-resolver-MONKAKTY.mjs +0 -30
  101. package/dist/lib/browser/intent-resolver-MONKAKTY.mjs.map +0 -7
  102. package/dist/lib/browser/react-surface-7QWCWE4K.mjs +0 -58
  103. package/dist/lib/browser/react-surface-7QWCWE4K.mjs.map +0 -7
  104. package/dist/lib/browser/types/index.mjs +0 -24
  105. package/dist/lib/browser/types/index.mjs.map +0 -7
  106. package/dist/lib/node/AutomationPanel-6COLKRIB.cjs +0 -26
  107. package/dist/lib/node/AutomationPanel-6COLKRIB.cjs.map +0 -7
  108. package/dist/lib/node/ChatContainer-SBEUFMQ3.cjs +0 -33
  109. package/dist/lib/node/ChatContainer-SBEUFMQ3.cjs.map +0 -7
  110. package/dist/lib/node/ai-client-L5GUSAER.cjs +0 -38
  111. package/dist/lib/node/ai-client-L5GUSAER.cjs.map +0 -7
  112. package/dist/lib/node/app-graph-builder-OCSH5R6U.cjs +0 -123
  113. package/dist/lib/node/app-graph-builder-OCSH5R6U.cjs.map +0 -7
  114. package/dist/lib/node/chunk-BAQRBGOJ.cjs.map +0 -7
  115. package/dist/lib/node/chunk-BZFAEBME.cjs +0 -1747
  116. package/dist/lib/node/chunk-BZFAEBME.cjs.map +0 -7
  117. package/dist/lib/node/chunk-K3F5JNZ6.cjs +0 -394
  118. package/dist/lib/node/chunk-K3F5JNZ6.cjs.map +0 -7
  119. package/dist/lib/node/chunk-NUOYHYAF.cjs +0 -174
  120. package/dist/lib/node/chunk-NUOYHYAF.cjs.map +0 -7
  121. package/dist/lib/node/chunk-V4L7LTWM.cjs.map +0 -7
  122. package/dist/lib/node/chunk-VNBYGJ4K.cjs +0 -34
  123. package/dist/lib/node/chunk-VNBYGJ4K.cjs.map +0 -7
  124. package/dist/lib/node/intent-resolver-KQGTYVF2.cjs +0 -45
  125. package/dist/lib/node/intent-resolver-KQGTYVF2.cjs.map +0 -7
  126. package/dist/lib/node/react-surface-IXKIJFRP.cjs.map +0 -7
  127. package/dist/lib/node/types/index.cjs +0 -46
  128. package/dist/lib/node/types/index.cjs.map +0 -7
  129. package/dist/lib/node-esm/AutomationPanel-3MPIAO7R.mjs +0 -9
  130. package/dist/lib/node-esm/AutomationPanel-3MPIAO7R.mjs.map +0 -7
  131. package/dist/lib/node-esm/ChatContainer-JCDLYMDZ.mjs +0 -13
  132. package/dist/lib/node-esm/ChatContainer-JCDLYMDZ.mjs.map +0 -7
  133. package/dist/lib/node-esm/ai-client-45LZLW7V.mjs +0 -23
  134. package/dist/lib/node-esm/ai-client-45LZLW7V.mjs.map +0 -7
  135. package/dist/lib/node-esm/app-graph-builder-XSM7DETF.mjs +0 -112
  136. package/dist/lib/node-esm/app-graph-builder-XSM7DETF.mjs.map +0 -7
  137. package/dist/lib/node-esm/chunk-53FFD4VO.mjs +0 -1776
  138. package/dist/lib/node-esm/chunk-53FFD4VO.mjs.map +0 -7
  139. package/dist/lib/node-esm/chunk-AWAU4BHR.mjs +0 -244
  140. package/dist/lib/node-esm/chunk-AWAU4BHR.mjs.map +0 -7
  141. package/dist/lib/node-esm/chunk-IG4GSWZN.mjs.map +0 -7
  142. package/dist/lib/node-esm/chunk-K5NNSGIV.mjs +0 -152
  143. package/dist/lib/node-esm/chunk-K5NNSGIV.mjs.map +0 -7
  144. package/dist/lib/node-esm/chunk-RAT3GSJP.mjs +0 -383
  145. package/dist/lib/node-esm/chunk-RAT3GSJP.mjs.map +0 -7
  146. package/dist/lib/node-esm/chunk-SS7U6GCX.mjs +0 -16
  147. package/dist/lib/node-esm/chunk-SS7U6GCX.mjs.map +0 -7
  148. package/dist/lib/node-esm/intent-resolver-XSZRLU6V.mjs +0 -31
  149. package/dist/lib/node-esm/intent-resolver-XSZRLU6V.mjs.map +0 -7
  150. package/dist/lib/node-esm/react-surface-FZAAAXGR.mjs +0 -59
  151. package/dist/lib/node-esm/react-surface-FZAAAXGR.mjs.map +0 -7
  152. package/dist/lib/node-esm/types/index.mjs +0 -25
  153. package/dist/lib/node-esm/types/index.mjs.map +0 -7
  154. package/dist/types/src/capabilities/ai-client.d.ts.map +0 -1
  155. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -181
  156. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  157. package/dist/types/src/capabilities/capabilities.d.ts +0 -5
  158. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  159. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  160. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  161. package/dist/types/src/components/AmbientDialog/AmbientDialog.d.ts +0 -7
  162. package/dist/types/src/components/AmbientDialog/AmbientDialog.d.ts.map +0 -1
  163. package/dist/types/src/components/AmbientDialog/AmbientDialog.stories.d.ts +0 -8
  164. package/dist/types/src/components/AmbientDialog/AmbientDialog.stories.d.ts.map +0 -1
  165. package/dist/types/src/components/AmbientDialog/index.d.ts +0 -2
  166. package/dist/types/src/components/AmbientDialog/index.d.ts.map +0 -1
  167. package/dist/types/src/components/AssistantDialog/AssistantDialog.d.ts +0 -6
  168. package/dist/types/src/components/AssistantDialog/AssistantDialog.d.ts.map +0 -1
  169. package/dist/types/src/components/AssistantDialog/index.d.ts +0 -2
  170. package/dist/types/src/components/AssistantDialog/index.d.ts.map +0 -1
  171. package/dist/types/src/components/ChatContainer/ChatContainer.d.ts +0 -6
  172. package/dist/types/src/components/ChatContainer/ChatContainer.d.ts.map +0 -1
  173. package/dist/types/src/components/ChatContainer/index.d.ts +0 -4
  174. package/dist/types/src/components/ChatContainer/index.d.ts.map +0 -1
  175. package/dist/types/src/components/Prompt/Prompt.d.ts +0 -13
  176. package/dist/types/src/components/Prompt/Prompt.d.ts.map +0 -1
  177. package/dist/types/src/components/Prompt/Prompt.stories.d.ts +0 -9
  178. package/dist/types/src/components/Prompt/Prompt.stories.d.ts.map +0 -1
  179. package/dist/types/src/components/Prompt/PromptBar.d.ts +0 -10
  180. package/dist/types/src/components/Prompt/PromptBar.d.ts.map +0 -1
  181. package/dist/types/src/components/Prompt/autocomplete.d.ts +0 -21
  182. package/dist/types/src/components/Prompt/autocomplete.d.ts.map +0 -1
  183. package/dist/types/src/components/Prompt/index.d.ts +0 -3
  184. package/dist/types/src/components/Prompt/index.d.ts.map +0 -1
  185. package/dist/types/src/components/PromptEditor/PromptEditor.d.ts +0 -9
  186. package/dist/types/src/components/PromptEditor/PromptEditor.d.ts.map +0 -1
  187. package/dist/types/src/components/PromptEditor/PromptEditor.stories.d.ts +0 -6
  188. package/dist/types/src/components/PromptEditor/PromptEditor.stories.d.ts.map +0 -1
  189. package/dist/types/src/components/PromptEditor/index.d.ts +0 -2
  190. package/dist/types/src/components/PromptEditor/index.d.ts.map +0 -1
  191. package/dist/types/src/components/PromptEditor/prompt-extension.d.ts +0 -4
  192. package/dist/types/src/components/PromptEditor/prompt-extension.d.ts.map +0 -1
  193. package/dist/types/src/components/PromptEditor/types.d.ts +0 -18
  194. package/dist/types/src/components/PromptEditor/types.d.ts.map +0 -1
  195. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.d.ts +0 -5
  196. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.d.ts.map +0 -1
  197. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.stories.d.ts +0 -8
  198. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.stories.d.ts.map +0 -1
  199. package/dist/types/src/components/ServiceRegistry/index.d.ts +0 -2
  200. package/dist/types/src/components/ServiceRegistry/index.d.ts.map +0 -1
  201. package/dist/types/src/components/Thread/Thread.d.ts +0 -15
  202. package/dist/types/src/components/Thread/Thread.d.ts.map +0 -1
  203. package/dist/types/src/components/Thread/Thread.stories.d.ts +0 -11
  204. package/dist/types/src/components/Thread/Thread.stories.d.ts.map +0 -1
  205. package/dist/types/src/components/Thread/ThreadContainer.d.ts +0 -8
  206. package/dist/types/src/components/Thread/ThreadContainer.d.ts.map +0 -1
  207. package/dist/types/src/components/Thread/ThreadContainer.stories.d.ts +0 -15
  208. package/dist/types/src/components/Thread/ThreadContainer.stories.d.ts.map +0 -1
  209. package/dist/types/src/components/Thread/ThreadMessage.d.ts +0 -13
  210. package/dist/types/src/components/Thread/ThreadMessage.d.ts.map +0 -1
  211. package/dist/types/src/components/Thread/ToolInvocations.d.ts +0 -13
  212. package/dist/types/src/components/Thread/ToolInvocations.d.ts.map +0 -1
  213. package/dist/types/src/components/Thread/index.d.ts +0 -3
  214. package/dist/types/src/components/Thread/index.d.ts.map +0 -1
  215. package/dist/types/src/components/Thread/reducer.d.ts +0 -12
  216. package/dist/types/src/components/Thread/reducer.d.ts.map +0 -1
  217. package/dist/types/src/components/Toolbox/Toolbox.d.ts +0 -19
  218. package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +0 -1
  219. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts +0 -8
  220. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts.map +0 -1
  221. package/dist/types/src/components/Toolbox/index.d.ts +0 -2
  222. package/dist/types/src/components/Toolbox/index.d.ts.map +0 -1
  223. package/dist/types/src/hooks/email.d.ts +0 -4
  224. package/dist/types/src/hooks/email.d.ts.map +0 -1
  225. package/dist/types/src/hooks/index.d.ts +0 -7
  226. package/dist/types/src/hooks/index.d.ts.map +0 -1
  227. package/dist/types/src/hooks/invocation-handler.d.ts +0 -5
  228. package/dist/types/src/hooks/invocation-handler.d.ts.map +0 -1
  229. package/dist/types/src/hooks/processor.d.ts +0 -75
  230. package/dist/types/src/hooks/processor.d.ts.map +0 -1
  231. package/dist/types/src/hooks/processor.test.d.ts +0 -2
  232. package/dist/types/src/hooks/processor.test.d.ts.map +0 -1
  233. package/dist/types/src/hooks/useChatProcessor.d.ts +0 -7
  234. package/dist/types/src/hooks/useChatProcessor.d.ts.map +0 -1
  235. package/dist/types/src/hooks/useLocalTriggerManager.d.ts +0 -3
  236. package/dist/types/src/hooks/useLocalTriggerManager.d.ts.map +0 -1
  237. package/dist/types/src/hooks/useMessageQueue.d.ts +0 -41
  238. package/dist/types/src/hooks/useMessageQueue.d.ts.map +0 -1
  239. package/dist/types/src/hooks/useServices.d.ts +0 -7
  240. package/dist/types/src/hooks/useServices.d.ts.map +0 -1
  241. package/dist/types/src/hooks/useTextInputEvents.d.ts +0 -13
  242. package/dist/types/src/hooks/useTextInputEvents.d.ts.map +0 -1
  243. package/dist/types/src/presets.d.ts +0 -9
  244. package/dist/types/src/presets.d.ts.map +0 -1
  245. package/dist/types/src/testing/test-services.d.ts +0 -5
  246. package/dist/types/src/testing/test-services.d.ts.map +0 -1
  247. package/dist/types/src/tools/function.d.ts +0 -5
  248. package/dist/types/src/tools/function.d.ts.map +0 -1
  249. package/dist/types/src/tools/index.d.ts +0 -3
  250. package/dist/types/src/tools/index.d.ts.map +0 -1
  251. package/dist/types/src/tools/openapi.d.ts +0 -10
  252. package/dist/types/src/tools/openapi.d.ts.map +0 -1
  253. package/dist/types/src/tools/openapi.test.d.ts +0 -2
  254. package/dist/types/src/tools/openapi.test.d.ts.map +0 -1
  255. package/dist/types/src/types/index.d.ts +0 -4
  256. package/dist/types/src/types/index.d.ts.map +0 -1
  257. package/dist/types/src/types/registry.d.ts +0 -10
  258. package/dist/types/src/types/registry.d.ts.map +0 -1
  259. package/dist/types/src/types/schema.d.ts +0 -221
  260. package/dist/types/src/types/schema.d.ts.map +0 -1
  261. package/dist/types/src/types/types.d.ts +0 -19
  262. package/dist/types/src/types/types.d.ts.map +0 -1
  263. package/src/capabilities/ai-client.ts +0 -19
  264. package/src/capabilities/app-graph-builder.ts +0 -100
  265. package/src/capabilities/capabilities.ts +0 -12
  266. package/src/capabilities/intent-resolver.ts +0 -26
  267. package/src/components/AmbientDialog/AmbientDialog.stories.tsx +0 -81
  268. package/src/components/AmbientDialog/AmbientDialog.tsx +0 -103
  269. package/src/components/AmbientDialog/index.ts +0 -5
  270. package/src/components/AssistantDialog/AssistantDialog.tsx +0 -23
  271. package/src/components/AssistantDialog/index.ts +0 -5
  272. package/src/components/ChatContainer/ChatContainer.tsx +0 -19
  273. package/src/components/ChatContainer/index.ts +0 -9
  274. package/src/components/Prompt/Prompt.stories.tsx +0 -79
  275. package/src/components/Prompt/Prompt.tsx +0 -79
  276. package/src/components/Prompt/PromptBar.tsx +0 -100
  277. package/src/components/Prompt/autocomplete.ts +0 -212
  278. package/src/components/Prompt/index.ts +0 -6
  279. package/src/components/PromptEditor/PromptEditor.stories.tsx +0 -64
  280. package/src/components/PromptEditor/PromptEditor.tsx +0 -222
  281. package/src/components/PromptEditor/index.ts +0 -5
  282. package/src/components/PromptEditor/prompt-extension.ts +0 -43
  283. package/src/components/PromptEditor/types.tsx +0 -28
  284. package/src/components/ServiceRegistry/ServiceRegistry.stories.tsx +0 -49
  285. package/src/components/ServiceRegistry/ServiceRegistry.tsx +0 -76
  286. package/src/components/ServiceRegistry/index.ts +0 -5
  287. package/src/components/Thread/Thread.stories.tsx +0 -210
  288. package/src/components/Thread/Thread.tsx +0 -106
  289. package/src/components/Thread/ThreadContainer.stories.tsx +0 -245
  290. package/src/components/Thread/ThreadContainer.tsx +0 -67
  291. package/src/components/Thread/ThreadMessage.tsx +0 -187
  292. package/src/components/Thread/ToolInvocations.tsx +0 -86
  293. package/src/components/Thread/index.ts +0 -6
  294. package/src/components/Thread/reducer.ts +0 -52
  295. package/src/components/Toolbox/Toolbox.stories.tsx +0 -66
  296. package/src/components/Toolbox/Toolbox.tsx +0 -89
  297. package/src/components/Toolbox/index.ts +0 -5
  298. package/src/hooks/email.ts +0 -49
  299. package/src/hooks/index.ts +0 -11
  300. package/src/hooks/invocation-handler.ts +0 -109
  301. package/src/hooks/processor.test.ts +0 -15
  302. package/src/hooks/processor.ts +0 -218
  303. package/src/hooks/useChatProcessor.tsx +0 -75
  304. package/src/hooks/useLocalTriggerManager.ts +0 -82
  305. package/src/hooks/useMessageQueue.ts +0 -23
  306. package/src/hooks/useServices.ts +0 -28
  307. package/src/hooks/useTextInputEvents.ts +0 -49
  308. package/src/presets.ts +0 -248
  309. package/src/testing/test-services.ts +0 -131
  310. package/src/tools/function.ts +0 -47
  311. package/src/tools/index.ts +0 -6
  312. package/src/tools/openapi.test.ts +0 -224
  313. package/src/tools/openapi.ts +0 -331
  314. package/src/types/index.ts +0 -7
  315. package/src/types/registry.ts +0 -26
  316. package/src/types/schema.ts +0 -132
  317. package/src/types/types.ts +0 -22
  318. package/src/typings.d.ts +0 -9
@@ -1,394 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var chunk_K3F5JNZ6_exports = {};
30
- __export(chunk_K3F5JNZ6_exports, {
31
- AssistantDialog: () => AssistantDialog,
32
- AutomationPanel: () => AutomationPanel,
33
- ChatContainer: () => ChatContainer,
34
- PromptEditor: () => PromptEditor,
35
- ServiceRegistry: () => ServiceRegistry
36
- });
37
- module.exports = __toCommonJS(chunk_K3F5JNZ6_exports);
38
- var import_chunk_BZFAEBME = require("./chunk-BZFAEBME.cjs");
39
- var import_chunk_NUOYHYAF = require("./chunk-NUOYHYAF.cjs");
40
- var import_chunk_BAQRBGOJ = require("./chunk-BAQRBGOJ.cjs");
41
- var import_react = __toESM(require("react"));
42
- var import_react_ui = require("@dxos/react-ui");
43
- var import_react2 = __toESM(require("react"));
44
- var import_react_ui2 = require("@dxos/react-ui");
45
- var import_react_ui_dnd = require("@dxos/react-ui-dnd");
46
- var import_react_ui_theme = require("@dxos/react-ui-theme");
47
- var import_react3 = __toESM(require("react"));
48
- var import_echo = require("@dxos/react-client/echo");
49
- var import_react_ui3 = require("@dxos/react-ui");
50
- var import_react_ui_editor = require("@dxos/react-ui-editor");
51
- var import_react_ui_theme2 = require("@dxos/react-ui-theme");
52
- var import_util = require("@dxos/util");
53
- var import_language = require("@codemirror/language");
54
- var import_react_ui_editor2 = require("@dxos/react-ui-editor");
55
- var import_react_ui_theme3 = require("@dxos/react-ui-theme");
56
- var import_react4 = __toESM(require("react"));
57
- var import_echo2 = require("@dxos/client/echo");
58
- var import_echo3 = require("@dxos/react-client/echo");
59
- var import_react_ui4 = require("@dxos/react-ui");
60
- var import_react5 = require("react");
61
- var preventDefault = (event) => event.preventDefault();
62
- var minSize = 5;
63
- var AmbientDialog = ({ children, open: _open, title, onOpenChange }) => {
64
- const [resizeKey, setReizeKey] = (0, import_react2.useState)(0);
65
- const [size, setSize] = (0, import_react2.useState)("min-content");
66
- const [open, setOpen] = (0, import_react2.useState)(_open);
67
- (0, import_react2.useEffect)(() => {
68
- setOpen(_open);
69
- }, [
70
- _open
71
- ]);
72
- (0, import_react2.useEffect)(() => {
73
- setSize(open ? "min-content" : minSize);
74
- setReizeKey((key) => key + 1);
75
- }, [
76
- open
77
- ]);
78
- const handleToggle = (0, import_react2.useCallback)(() => {
79
- setOpen((open2) => {
80
- onOpenChange?.(!open2);
81
- return !open2;
82
- });
83
- }, []);
84
- return /* @__PURE__ */ import_react2.default.createElement("div", {
85
- role: "none",
86
- className: "dx-dialog__overlay bg-transparent pointer-events-none",
87
- "data-block-align": "end"
88
- }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Dialog.Content, {
89
- 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',
90
- inOverlayLayout: true,
91
- ...import_react_ui_dnd.resizeAttributes,
92
- style: {
93
- ...(0, import_react_ui_dnd.sizeStyle)(size, "vertical", true),
94
- maxBlockSize: "calc(100dvh - env(safe-area-inset-bottom) - env(safe-area-inset-top) - 8rem)"
95
- },
96
- onInteractOutside: preventDefault
97
- }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui_dnd.ResizeHandle, {
98
- key: resizeKey,
99
- side: "block-start",
100
- defaultSize: "min-content",
101
- minSize,
102
- fallbackSize: minSize,
103
- iconPosition: "center",
104
- onSizeChange: setSize
105
- }), /* @__PURE__ */ import_react2.default.createElement(DialogHeader, {
106
- open,
107
- title,
108
- onToggle: handleToggle
109
- }), children));
110
- };
111
- var DialogHeader = ({ open, title, onToggle }) => {
112
- return /* @__PURE__ */ import_react2.default.createElement("div", {
113
- className: "flex shrink-0 w-full grid grid-cols-[var(--rail-action)_1fr_var(--rail-action)] items-center overflow-hidden"
114
- }, /* @__PURE__ */ import_react2.default.createElement("div", {
115
- className: "flex w-[--rail-action] h-[--rail-action] items-center justify-center"
116
- }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Dialog.Close, null, /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Icon, {
117
- icon: "ph--x--regular"
118
- }))), /* @__PURE__ */ import_react2.default.createElement("div", {
119
- className: "grow"
120
- }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Dialog.Title, {
121
- classNames: "flex justify-center text-xs text-subdued"
122
- }, title)), /* @__PURE__ */ import_react2.default.createElement("div", {
123
- className: "flex w-[--rail-action] h-[--rail-action] items-center justify-center"
124
- }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.IconButton, {
125
- variant: "ghost",
126
- icon: "ph--caret-up--regular",
127
- classNames: (0, import_react_ui_theme.mx)("[&>svg]:transition [&>svg]:duration-200", open && "[&>svg]:rotate-180"),
128
- iconOnly: true,
129
- label: "Shrink",
130
- onClick: onToggle
131
- })));
132
- };
133
- var AssistantDialog = ({ chat }) => {
134
- const { t } = (0, import_react_ui.useTranslation)(import_chunk_BAQRBGOJ.AUTOMATION_PLUGIN);
135
- const [open, setOpen] = (0, import_react.useState)(false);
136
- return /* @__PURE__ */ import_react.default.createElement(AmbientDialog, {
137
- open,
138
- onOpenChange: setOpen,
139
- title: t("assistant dialog title")
140
- }, /* @__PURE__ */ import_react.default.createElement(import_chunk_BZFAEBME.ThreadContainer, {
141
- chat,
142
- onOpenChange: setOpen
143
- }));
144
- };
145
- var nameRegex = /\{([\w-]+)}/;
146
- var parser = import_language.StreamLanguage.define({
147
- token: (stream) => {
148
- if (stream.eatSpace()) {
149
- return null;
150
- }
151
- if (stream.match(/^#.*/)) {
152
- return "lineComment";
153
- }
154
- if (stream.match(/^-+$/)) {
155
- return "lineComment";
156
- }
157
- if (stream.match(nameRegex)) {
158
- return "variableName";
159
- }
160
- stream.next();
161
- return null;
162
- }
163
- });
164
- var highlightStyles = import_language.HighlightStyle.define([
165
- {
166
- tag: import_react_ui_editor2.tags.variableName,
167
- class: (0, import_react_ui_theme3.mx)("rounded border border-yellow-500 bg-yellow-100 text-black font-mono text-sm")
168
- }
169
- ]);
170
- var promptExtension = [
171
- parser,
172
- (0, import_language.syntaxHighlighting)(highlightStyles)
173
- ];
174
- var inputTypes = [
175
- {
176
- value: import_chunk_NUOYHYAF.ChainInputType.VALUE,
177
- label: "Value"
178
- },
179
- {
180
- value: import_chunk_NUOYHYAF.ChainInputType.PASS_THROUGH,
181
- label: "Pass through"
182
- },
183
- {
184
- value: import_chunk_NUOYHYAF.ChainInputType.RETRIEVER,
185
- label: "Retriever"
186
- },
187
- // {
188
- // value: ChainInputType.FUNCTION,
189
- // label: 'Function',
190
- // },
191
- // {
192
- // value: ChainInputType.QUERY,
193
- // label: 'Query',
194
- // },
195
- {
196
- value: import_chunk_NUOYHYAF.ChainInputType.RESOLVER,
197
- label: "Resolver"
198
- },
199
- {
200
- value: import_chunk_NUOYHYAF.ChainInputType.CONTEXT,
201
- label: "Context"
202
- },
203
- {
204
- value: import_chunk_NUOYHYAF.ChainInputType.SCHEMA,
205
- label: "Schema"
206
- }
207
- ];
208
- var getInputType = (type) => inputTypes.find(({ value }) => String(value) === type)?.value;
209
- var usePromptInputs = (prompt) => {
210
- (0, import_react3.useEffect)(() => {
211
- const text = prompt.template ?? "";
212
- if (!prompt.inputs) {
213
- prompt.inputs = [];
214
- }
215
- const regex = new RegExp(nameRegex, "g");
216
- const variables = new Set([
217
- ...text.matchAll(regex)
218
- ].map((m) => m[1]));
219
- const unclaimed = new Map(prompt.inputs?.filter(import_util.isNonNullable).map((input) => [
220
- input.name,
221
- input
222
- ]));
223
- const missing = [];
224
- Array.from(variables.values()).forEach((name) => {
225
- if (unclaimed.has(name)) {
226
- unclaimed.delete(name);
227
- } else {
228
- missing.push(name);
229
- }
230
- });
231
- const values = unclaimed.values();
232
- missing.forEach((name) => {
233
- const next = values.next().value;
234
- if (next) {
235
- next.name = name;
236
- } else {
237
- prompt.inputs?.push({
238
- name
239
- });
240
- }
241
- });
242
- for (const input of values) {
243
- prompt.inputs.splice(prompt.inputs.indexOf(input), 1);
244
- }
245
- }, [
246
- prompt.template
247
- ]);
248
- };
249
- var PromptEditor = ({ prompt, commandEditable = true }) => {
250
- const { t } = (0, import_react_ui3.useTranslation)(import_chunk_BAQRBGOJ.AUTOMATION_PLUGIN);
251
- const { themeMode } = (0, import_react_ui3.useThemeContext)();
252
- const { parentRef } = (0, import_react_ui_editor.useTextEditor)(() => ({
253
- initialValue: prompt.template,
254
- extensions: [
255
- (0, import_react_ui_editor.createDataExtensions)({
256
- id: prompt.id,
257
- text: prompt.template !== void 0 ? (0, import_echo.createDocAccessor)(prompt, [
258
- "template"
259
- ]) : void 0
260
- }),
261
- (0, import_react_ui_editor.createBasicExtensions)({
262
- bracketMatching: false,
263
- lineWrapping: true,
264
- placeholder: t("template placeholder")
265
- }),
266
- (0, import_react_ui_editor.createThemeExtensions)({
267
- themeMode,
268
- slots: {
269
- content: {
270
- className: "!p-3"
271
- }
272
- }
273
- }),
274
- promptExtension
275
- ]
276
- }), [
277
- themeMode,
278
- prompt
279
- ]);
280
- usePromptInputs(prompt);
281
- return /* @__PURE__ */ import_react3.default.createElement("div", {
282
- className: (0, import_react_ui_theme2.mx)("flex flex-col w-full overflow-hidden gap-4", import_react_ui_theme2.groupBorder)
283
- }, commandEditable && /* @__PURE__ */ import_react3.default.createElement("div", {
284
- className: "flex items-center pl-4"
285
- }, /* @__PURE__ */ import_react3.default.createElement("span", {
286
- className: "text-neutral-500"
287
- }, "/"), /* @__PURE__ */ import_react3.default.createElement(import_react_ui3.Input.Root, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui3.Input.TextInput, {
288
- placeholder: t("command placeholder"),
289
- classNames: (0, import_react_ui_theme2.mx)("is-full bg-transparent m-2"),
290
- value: prompt.command ?? "",
291
- onChange: (event) => {
292
- prompt.command = event.target.value.replace(/\w/g, "");
293
- }
294
- }))), /* @__PURE__ */ import_react3.default.createElement("div", {
295
- ref: parentRef,
296
- className: (0, import_react_ui_theme2.mx)(import_react_ui_theme2.attentionSurface, "rounded", "min-h-[120px]")
297
- }), (prompt.inputs?.length ?? 0) > 0 && /* @__PURE__ */ import_react3.default.createElement("div", {
298
- className: "flex flex-col"
299
- }, /* @__PURE__ */ import_react3.default.createElement("table", {
300
- className: "w-full table-fixed border-collapse my-2"
301
- }, /* @__PURE__ */ import_react3.default.createElement("tbody", null, prompt.inputs?.filter(import_util.isNonNullable).map((input) => /* @__PURE__ */ import_react3.default.createElement("tr", {
302
- key: input.name
303
- }, /* @__PURE__ */ import_react3.default.createElement("td", {
304
- className: "w-[160px] p-1 font-mono text-sm whitespace-nowrap truncate"
305
- }, /* @__PURE__ */ import_react3.default.createElement("code", {
306
- className: "px-2"
307
- }, input.name)), /* @__PURE__ */ import_react3.default.createElement("td", {
308
- className: "w-[120px] p-1"
309
- }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui3.Input.Root, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui3.Select.Root, {
310
- value: String(input.type),
311
- onValueChange: (type) => {
312
- input.type = getInputType(type) ?? import_chunk_NUOYHYAF.ChainInputType.VALUE;
313
- }
314
- }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui3.Select.TriggerButton, {
315
- placeholder: "Type",
316
- classNames: "is-full"
317
- }), /* @__PURE__ */ import_react3.default.createElement(import_react_ui3.Select.Portal, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui3.Select.Content, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui3.Select.Viewport, null, inputTypes.map(({ value, label }) => /* @__PURE__ */ import_react3.default.createElement(import_react_ui3.Select.Option, {
318
- key: value,
319
- value: String(value)
320
- }, label)))))))), /* @__PURE__ */ import_react3.default.createElement("td", {
321
- className: "p-1 pr-2"
322
- }, input.type !== void 0 && [
323
- import_chunk_NUOYHYAF.ChainInputType.VALUE,
324
- import_chunk_NUOYHYAF.ChainInputType.CONTEXT,
325
- import_chunk_NUOYHYAF.ChainInputType.RESOLVER,
326
- import_chunk_NUOYHYAF.ChainInputType.SCHEMA
327
- ].includes(input.type) && /* @__PURE__ */ import_react3.default.createElement("div", null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui3.Input.Root, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui3.Input.TextInput, {
328
- placeholder: t("command placeholder"),
329
- classNames: (0, import_react_ui_theme2.mx)("is-full bg-transparent"),
330
- value: input.value ?? "",
331
- onChange: (event) => {
332
- input.value = event.target.value;
333
- }
334
- }))))))))));
335
- };
336
- var ServiceRegistry = ({ space }) => {
337
- const matchingServices = (0, import_chunk_BZFAEBME.useServices)(space);
338
- const enabledServices = (0, import_echo3.useQuery)(space, import_echo2.Filter.schema(import_chunk_NUOYHYAF.ServiceType));
339
- const services = (0, import_react4.useMemo)(() => {
340
- return matchingServices.map((service) => enabledServices.find((s) => s.serviceId === service.serviceId) ?? service);
341
- }, [
342
- matchingServices,
343
- enabledServices
344
- ]);
345
- const handleSetEnabled = (service, enabled) => {
346
- if (enabled) {
347
- space.db.add(service);
348
- } else {
349
- space.db.remove(service);
350
- }
351
- };
352
- return /* @__PURE__ */ import_react4.default.createElement(import_react_ui4.List, {
353
- classNames: "h-full grid auto-rows-[5rem] gap-2 p-2 pis-2 pie-2 overflow-y-auto scrollbar-thin"
354
- }, services.map((service) => /* @__PURE__ */ import_react4.default.createElement(ServiceItem, {
355
- key: service.serviceId,
356
- service,
357
- enabled: service.enabled,
358
- setEnabled: (enabled) => handleSetEnabled(service, enabled)
359
- })));
360
- };
361
- var ServiceItem = ({ service, enabled, setEnabled }) => {
362
- return /* @__PURE__ */ import_react4.default.createElement(import_react_ui4.ListItem.Root, {
363
- classNames: "flex flex-col gap-1 p-1 overflow-hidden rounded-md border border-separator"
364
- }, /* @__PURE__ */ import_react4.default.createElement("div", {
365
- className: "grid grid-cols-[40px_1fr_40px]"
366
- }, /* @__PURE__ */ import_react4.default.createElement("div", {
367
- className: "flex gow justify-center items-center"
368
- }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui4.Icon, {
369
- icon: import_chunk_NUOYHYAF.categoryIcons[service.category ?? "default"] ?? "ph--placeholder--regular",
370
- size: 6
371
- })), /* @__PURE__ */ import_react4.default.createElement("div", {
372
- className: "grow items-center truncate mie-2"
373
- }, service.name), /* @__PURE__ */ import_react4.default.createElement("div", {
374
- className: "flex gow justify-center items-center"
375
- }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui4.Input.Root, null, /* @__PURE__ */ import_react4.default.createElement(import_react_ui4.Input.Switch, {
376
- checked: enabled,
377
- onClick: () => setEnabled?.(!enabled)
378
- })))), /* @__PURE__ */ import_react4.default.createElement("div", {
379
- className: "grid grid-cols-[40px_1fr]"
380
- }, /* @__PURE__ */ import_react4.default.createElement("div", null), /* @__PURE__ */ import_react4.default.createElement("div", {
381
- className: "text-sm text-subdued line-clamp-2 mie-1"
382
- }, service.description)));
383
- };
384
- var AutomationPanel = (0, import_react5.lazy)(() => import("./AutomationPanel-6COLKRIB.cjs"));
385
- var ChatContainer = (0, import_react5.lazy)(() => import("./ChatContainer-SBEUFMQ3.cjs"));
386
- // Annotate the CommonJS export names for ESM import in node:
387
- 0 && (module.exports = {
388
- AssistantDialog,
389
- AutomationPanel,
390
- ChatContainer,
391
- PromptEditor,
392
- ServiceRegistry
393
- });
394
- //# sourceMappingURL=chunk-K3F5JNZ6.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/components/AssistantDialog/AssistantDialog.tsx", "../../../src/components/AmbientDialog/AmbientDialog.tsx", "../../../src/components/PromptEditor/PromptEditor.tsx", "../../../src/components/PromptEditor/prompt-extension.ts", "../../../src/components/ServiceRegistry/ServiceRegistry.tsx", "../../../src/components/index.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { type FC, useState } from 'react';\n\nimport { useTranslation } from '@dxos/react-ui';\n\nimport { AUTOMATION_PLUGIN } from '../../meta';\nimport { type AIChatType } from '../../types';\nimport { AmbientDialog } from '../AmbientDialog';\nimport { ThreadContainer } from '../Thread';\n\nexport const AssistantDialog: FC<{ chat?: AIChatType }> = ({ chat }) => {\n const { t } = useTranslation(AUTOMATION_PLUGIN);\n const [open, setOpen] = useState(false);\n\n return (\n <AmbientDialog open={open} onOpenChange={setOpen} title={t('assistant dialog title')}>\n <ThreadContainer chat={chat} onOpenChange={setOpen} />\n </AmbientDialog>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { type PropsWithChildren, useCallback, useEffect, useState } from 'react';\n\nimport { Dialog, Icon, IconButton } from '@dxos/react-ui';\nimport { resizeAttributes, ResizeHandle, type Size, sizeStyle } from '@dxos/react-ui-dnd';\nimport { mx } from '@dxos/react-ui-theme';\n\nconst preventDefault = (event: Event) => event.preventDefault();\n\nconst minSize = 5;\n\n// TODO(burdon): Factor out.\nexport const AmbientDialog = ({\n children,\n open: _open,\n title,\n onOpenChange,\n}: PropsWithChildren<{ open?: boolean; onOpenChange?: (open: boolean) => void; title?: string }>) => {\n const [resizeKey, setReizeKey] = useState(0);\n const [size, setSize] = useState<Size>('min-content');\n const [open, setOpen] = useState(_open);\n\n // Update controlled value.\n useEffect(() => {\n setOpen(_open);\n }, [_open]);\n\n // Update size and key.\n useEffect(() => {\n setSize(open ? 'min-content' : minSize);\n setReizeKey((key) => key + 1);\n }, [open]);\n\n // TODO(burdon): Animate open/close.\n // NOTE: We set the min size to 5rem (80px), and the header and prompt bar to 40px (i.e., the rail-size) each.\n // 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.\n const handleToggle = useCallback(() => {\n setOpen((open) => {\n onOpenChange?.(!open);\n return !open;\n });\n }, []);\n\n return (\n <div role='none' className='dx-dialog__overlay bg-transparent pointer-events-none' data-block-align='end'>\n <Dialog.Content\n 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'\n inOverlayLayout\n {...resizeAttributes}\n style={{\n ...sizeStyle(size, 'vertical', true),\n maxBlockSize: 'calc(100dvh - env(safe-area-inset-bottom) - env(safe-area-inset-top) - 8rem)',\n }}\n onInteractOutside={preventDefault}\n >\n <ResizeHandle\n key={resizeKey}\n side='block-start'\n defaultSize='min-content'\n minSize={minSize}\n fallbackSize={minSize}\n iconPosition='center'\n onSizeChange={setSize}\n />\n\n <DialogHeader open={open} title={title} onToggle={handleToggle} />\n\n {children}\n </Dialog.Content>\n </div>\n );\n};\n\n/**\n * Matches same layout grid as PromptBar.\n */\nconst DialogHeader = ({ open, title, onToggle }: { open?: boolean; title?: string; onToggle: () => void }) => {\n return (\n <div className='flex shrink-0 w-full grid grid-cols-[var(--rail-action)_1fr_var(--rail-action)] items-center overflow-hidden'>\n <div className='flex w-[--rail-action] h-[--rail-action] items-center justify-center'>\n <Dialog.Close>\n <Icon icon='ph--x--regular' />\n </Dialog.Close>\n </div>\n <div className='grow'>\n <Dialog.Title classNames='flex justify-center text-xs text-subdued'>{title}</Dialog.Title>\n </div>\n <div className='flex w-[--rail-action] h-[--rail-action] items-center justify-center'>\n <IconButton\n variant='ghost'\n icon={'ph--caret-up--regular'}\n classNames={mx('[&>svg]:transition [&>svg]:duration-200', open && '[&>svg]:rotate-180')}\n iconOnly\n label='Shrink'\n onClick={onToggle}\n />\n </div>\n </div>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Schema as S } from '@effect/schema';\nimport React, { useEffect } from 'react';\n\nimport { createDocAccessor } from '@dxos/react-client/echo';\nimport { Input, Select, useThemeContext, useTranslation } from '@dxos/react-ui';\nimport {\n createBasicExtensions,\n createDataExtensions,\n createThemeExtensions,\n useTextEditor,\n} from '@dxos/react-ui-editor';\nimport { attentionSurface, groupBorder, mx } from '@dxos/react-ui-theme';\nimport { isNonNullable } from '@dxos/util';\n\nimport { nameRegex, promptExtension } from './prompt-extension';\nimport { AUTOMATION_PLUGIN } from '../../meta';\nimport { type ChainInput, ChainInputType, type ChainPromptType } from '../../types';\n\nconst inputTypes = [\n {\n value: ChainInputType.VALUE,\n label: 'Value',\n },\n {\n value: ChainInputType.PASS_THROUGH,\n label: 'Pass through',\n },\n {\n value: ChainInputType.RETRIEVER,\n label: 'Retriever',\n },\n // {\n // value: ChainInputType.FUNCTION,\n // label: 'Function',\n // },\n // {\n // value: ChainInputType.QUERY,\n // label: 'Query',\n // },\n {\n value: ChainInputType.RESOLVER,\n label: 'Resolver',\n },\n {\n value: ChainInputType.CONTEXT,\n label: 'Context',\n },\n {\n value: ChainInputType.SCHEMA,\n label: 'Schema',\n },\n];\n\nconst getInputType = (type: string) => inputTypes.find(({ value }) => String(value) === type)?.value;\n\nconst usePromptInputs = (prompt: ChainPromptType) => {\n useEffect(() => {\n const text = prompt.template ?? '';\n if (!prompt.inputs) {\n prompt.inputs = []; // TODO(burdon): Required?\n }\n\n const regex = new RegExp(nameRegex, 'g');\n const variables = new Set<string>([...text.matchAll(regex)].map((m) => m[1]));\n\n // Create map of unclaimed inputs.\n const unclaimed = new Map<string, ChainInput>(\n prompt.inputs?.filter(isNonNullable).map((input) => [input.name, input]),\n );\n const missing: string[] = [];\n Array.from(variables.values()).forEach((name) => {\n if (unclaimed.has(name)) {\n unclaimed.delete(name);\n } else {\n missing.push(name);\n }\n });\n\n // Match or create new inputs.\n const values = unclaimed.values();\n missing.forEach((name) => {\n const next = values.next().value;\n if (next) {\n next.name = name;\n } else {\n prompt.inputs?.push({ name });\n }\n });\n\n // Remove unclaimed (deleted) inputs.\n // TODO(burdon): If user types incorrect name value, it will be deleted. Garbage collect?\n for (const input of values) {\n prompt.inputs.splice(prompt.inputs.indexOf(input), 1);\n }\n }, [prompt.template]);\n};\n\nexport type PromptEditorProps = {\n prompt: ChainPromptType;\n commandEditable?: boolean;\n schema?: S.Schema<any, any, any>;\n};\n\nexport const PromptEditor = ({ prompt, commandEditable = true }: PromptEditorProps) => {\n const { t } = useTranslation(AUTOMATION_PLUGIN);\n const { themeMode } = useThemeContext();\n\n const { parentRef } = useTextEditor(\n () => ({\n initialValue: prompt.template,\n extensions: [\n createDataExtensions({\n id: prompt.id,\n text: prompt.template !== undefined ? createDocAccessor(prompt, ['template']) : undefined,\n }),\n createBasicExtensions({\n bracketMatching: false,\n lineWrapping: true,\n placeholder: t('template placeholder'),\n }),\n createThemeExtensions({\n themeMode,\n slots: {\n content: { className: '!p-3' },\n },\n }),\n promptExtension,\n ],\n }),\n [themeMode, prompt],\n );\n\n usePromptInputs(prompt);\n\n return (\n <div className={mx('flex flex-col w-full overflow-hidden gap-4', groupBorder)}>\n {commandEditable && (\n <div className='flex items-center pl-4'>\n <span className='text-neutral-500'>/</span>\n <Input.Root>\n <Input.TextInput\n placeholder={t('command placeholder')}\n classNames={mx('is-full bg-transparent m-2')}\n value={prompt.command ?? ''}\n onChange={(event) => {\n prompt.command = event.target.value.replace(/\\w/g, '');\n }}\n />\n </Input.Root>\n </div>\n )}\n\n <div ref={parentRef} className={mx(attentionSurface, 'rounded', 'min-h-[120px]')} />\n\n {(prompt.inputs?.length ?? 0) > 0 && (\n <div className='flex flex-col'>\n {/* TODO(zan): Improve layout with grid */}\n <table className='w-full table-fixed border-collapse my-2'>\n <tbody>\n {prompt.inputs?.filter(isNonNullable).map((input) => (\n <tr key={input.name}>\n <td className='w-[160px] p-1 font-mono text-sm whitespace-nowrap truncate'>\n <code className='px-2'>{input.name}</code>\n </td>\n <td className='w-[120px] p-1'>\n <Input.Root>\n <Select.Root\n value={String(input.type)}\n onValueChange={(type) => {\n input.type = getInputType(type) ?? ChainInputType.VALUE;\n }}\n >\n <Select.TriggerButton placeholder='Type' classNames='is-full' />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n {inputTypes.map(({ value, label }) => (\n <Select.Option key={value} value={String(value)}>\n {label}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </Input.Root>\n </td>\n <td className='p-1 pr-2'>\n {input.type !== undefined &&\n [\n ChainInputType.VALUE,\n ChainInputType.CONTEXT,\n ChainInputType.RESOLVER,\n ChainInputType.SCHEMA,\n ].includes(input.type) && (\n <div>\n <Input.Root>\n <Input.TextInput\n placeholder={t('command placeholder')}\n classNames={mx('is-full bg-transparent')}\n value={input.value ?? ''}\n onChange={(event) => {\n input.value = event.target.value;\n }}\n />\n </Input.Root>\n </div>\n )}\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n )}\n </div>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { HighlightStyle, StreamLanguage, syntaxHighlighting } from '@codemirror/language';\nimport { type Extension } from '@codemirror/state';\n\nimport { tags } from '@dxos/react-ui-editor';\nimport { mx } from '@dxos/react-ui-theme';\n\nexport const nameRegex = /\\{([\\w-]+)}/;\n\nconst parser = StreamLanguage.define({\n token: (stream) => {\n if (stream.eatSpace()) {\n return null;\n }\n if (stream.match(/^#.*/)) {\n return 'lineComment';\n }\n if (stream.match(/^-+$/)) {\n return 'lineComment';\n }\n if (stream.match(nameRegex)) {\n return 'variableName';\n }\n stream.next();\n return null;\n },\n});\n\n/**\n * https://codemirror.net/examples/styling\n * https://lezer.codemirror.net/docs/ref/#highlight\n */\nconst highlightStyles = HighlightStyle.define([\n {\n tag: tags.variableName,\n class: mx('rounded border border-yellow-500 bg-yellow-100 text-black font-mono text-sm'),\n },\n]);\n\nexport const promptExtension: Extension = [parser, syntaxHighlighting(highlightStyles)];\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useMemo } from 'react';\n\nimport { Filter, type Space } from '@dxos/client/echo';\nimport { useQuery } from '@dxos/react-client/echo';\nimport { Icon, Input, List, ListItem } from '@dxos/react-ui';\n\nimport { useServices } from '../../hooks';\nimport { categoryIcons, ServiceType } from '../../types';\n\n// TODO(burdon): Option to show all/enabled/filter.\nexport const ServiceRegistry = ({ space }: { space: Space }) => {\n const matchingServices = useServices(space);\n const enabledServices = useQuery(space, Filter.schema(ServiceType));\n\n // Join matching services with enabled services.\n const services = useMemo(() => {\n return matchingServices.map((service) => enabledServices.find((s) => s.serviceId === service.serviceId) ?? service);\n }, [matchingServices, enabledServices]);\n\n // TODO(burdon): Reaplce with SpacePlugin intent.\n const handleSetEnabled = (service: ServiceType, enabled: boolean) => {\n if (enabled) {\n space.db.add(service);\n } else {\n // TODO(burdon): Remove or disable?\n space.db.remove(service);\n }\n };\n\n return (\n <List classNames='h-full grid auto-rows-[5rem] gap-2 p-2 pis-2 pie-2 overflow-y-auto scrollbar-thin'>\n {services.map((service) => (\n <ServiceItem\n key={service.serviceId}\n service={service}\n enabled={service.enabled}\n setEnabled={(enabled) => handleSetEnabled(service, enabled)}\n />\n ))}\n </List>\n );\n};\n\nconst ServiceItem = ({\n service,\n enabled,\n setEnabled,\n}: {\n service: ServiceType;\n enabled?: boolean;\n setEnabled?: (enabled: boolean) => void;\n}) => {\n return (\n <ListItem.Root classNames='flex flex-col gap-1 p-1 overflow-hidden rounded-md border border-separator'>\n <div className='grid grid-cols-[40px_1fr_40px]'>\n <div className='flex gow justify-center items-center'>\n <Icon icon={categoryIcons[service.category ?? 'default'] ?? 'ph--placeholder--regular'} size={6} />\n </div>\n <div className='grow items-center truncate mie-2'>{service.name}</div>\n <div className='flex gow justify-center items-center'>\n <Input.Root>\n <Input.Switch checked={enabled} onClick={() => setEnabled?.(!enabled)} />\n </Input.Root>\n </div>\n </div>\n <div className='grid grid-cols-[40px_1fr]'>\n <div />\n <div className='text-sm text-subdued line-clamp-2 mie-1'>{service.description}</div>\n </div>\n </ListItem.Root>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport * from './AssistantDialog';\nexport * from './AutomationPanel';\nexport * from './ChatContainer';\nexport * from './PromptEditor';\nexport * from './ServiceRegistry';\nexport * from './Thread';\nexport * from './TriggerEditor';\nexport * from './Toolbox';\n\nexport const AutomationPanel = lazy(() => import('./AutomationPanel'));\nexport const ChatContainer = lazy(() => import('./ChatContainer'));\n"],
5
- "mappings": "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",
6
- "names": ["import_react", "import_react_ui", "import_react_ui_theme", "import_react_ui_editor", "import_echo", "preventDefault", "event", "minSize", "AmbientDialog", "children", "open", "_open", "title", "onOpenChange", "resizeKey", "setReizeKey", "useState", "size", "setSize", "setOpen", "useEffect", "key", "handleToggle", "useCallback", "React", "div", "role", "className", "data-block-align", "Dialog", "Content", "classNames", "inOverlayLayout", "resizeAttributes", "style", "sizeStyle", "maxBlockSize", "onInteractOutside", "ResizeHandle", "side", "defaultSize", "fallbackSize", "iconPosition", "onSizeChange", "DialogHeader", "onToggle", "Close", "Icon", "icon", "Title", "IconButton", "variant", "mx", "iconOnly", "label", "onClick", "AssistantDialog", "chat", "t", "useTranslation", "AUTOMATION_PLUGIN", "ThreadContainer", "nameRegex", "parser", "StreamLanguage", "define", "token", "stream", "eatSpace", "match", "next", "highlightStyles", "HighlightStyle", "tag", "tags", "variableName", "class", "promptExtension", "syntaxHighlighting", "inputTypes", "value", "ChainInputType", "VALUE", "PASS_THROUGH", "RETRIEVER", "RESOLVER", "CONTEXT", "SCHEMA", "getInputType", "type", "find", "String", "usePromptInputs", "prompt", "text", "template", "inputs", "regex", "RegExp", "variables", "Set", "matchAll", "map", "m", "unclaimed", "Map", "filter", "isNonNullable", "input", "name", "missing", "Array", "from", "values", "forEach", "has", "delete", "push", "splice", "indexOf", "PromptEditor", "commandEditable", "themeMode", "useThemeContext", "parentRef", "useTextEditor", "initialValue", "extensions", "createDataExtensions", "id", "undefined", "createDocAccessor", "createBasicExtensions", "bracketMatching", "lineWrapping", "placeholder", "createThemeExtensions", "slots", "content", "groupBorder", "span", "Input", "Root", "TextInput", "command", "onChange", "target", "replace", "ref", "attentionSurface", "length", "table", "tbody", "tr", "td", "code", "Select", "onValueChange", "TriggerButton", "Portal", "Viewport", "Option", "includes", "ServiceRegistry", "space", "matchingServices", "useServices", "enabledServices", "useQuery", "Filter", "schema", "ServiceType", "services", "useMemo", "service", "s", "serviceId", "handleSetEnabled", "enabled", "db", "add", "remove", "List", "ServiceItem", "setEnabled", "ListItem", "categoryIcons", "category", "Switch", "checked", "description", "AutomationPanel", "lazy", "ChatContainer"]
7
- }
@@ -1,174 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var chunk_NUOYHYAF_exports = {};
20
- __export(chunk_NUOYHYAF_exports, {
21
- AIChatType: () => AIChatType,
22
- ApiAuthorization: () => ApiAuthorization,
23
- AutomationAction: () => AutomationAction,
24
- ChainInputSchema: () => ChainInputSchema,
25
- ChainInputType: () => ChainInputType,
26
- ChainPromptType: () => ChainPromptType,
27
- ChainType: () => ChainType,
28
- ServiceType: () => ServiceType,
29
- categoryIcons: () => categoryIcons
30
- });
31
- module.exports = __toCommonJS(chunk_NUOYHYAF_exports);
32
- var import_chunk_BAQRBGOJ = require("./chunk-BAQRBGOJ.cjs");
33
- var import_conductor = require("@dxos/conductor");
34
- var import_echo_schema = require("@dxos/echo-schema");
35
- var import_functions = require("@dxos/functions");
36
- var import_echo_schema2 = require("@dxos/echo-schema");
37
- var categoryIcons = {
38
- finance: "ph--bank--regular",
39
- health: "ph--heart--regular",
40
- geolocation: "ph--globe-simple--regular",
41
- education: "ph--books--regular",
42
- entertainment: "ph--music-notes--regular",
43
- shopping: "ph--shopping-cart--regular",
44
- travel: "ph--airplane-takeoff--regular",
45
- utilities: "ph--lightning--regular",
46
- weather: "ph--cloud-rain--regular"
47
- };
48
- var ChainInputType;
49
- (function(ChainInputType2) {
50
- ChainInputType2[ChainInputType2["VALUE"] = 0] = "VALUE";
51
- ChainInputType2[ChainInputType2["PASS_THROUGH"] = 1] = "PASS_THROUGH";
52
- ChainInputType2[ChainInputType2["RETRIEVER"] = 2] = "RETRIEVER";
53
- ChainInputType2[ChainInputType2["FUNCTION"] = 3] = "FUNCTION";
54
- ChainInputType2[ChainInputType2["QUERY"] = 4] = "QUERY";
55
- ChainInputType2[ChainInputType2["RESOLVER"] = 5] = "RESOLVER";
56
- ChainInputType2[ChainInputType2["CONTEXT"] = 6] = "CONTEXT";
57
- ChainInputType2[ChainInputType2["SCHEMA"] = 7] = "SCHEMA";
58
- })(ChainInputType || (ChainInputType = {}));
59
- var ChainInputSchema = import_echo_schema.S.mutable(import_echo_schema.S.Struct({
60
- name: import_echo_schema.S.String,
61
- type: import_echo_schema.S.optional(import_echo_schema.S.Enums(ChainInputType)),
62
- value: import_echo_schema.S.optional(import_echo_schema.S.String)
63
- }));
64
- var ChainPromptType = class extends (0, import_echo_schema.TypedObject)({
65
- typename: "dxos.org/type/ChainPrompt",
66
- version: "0.1.0"
67
- })({
68
- command: import_echo_schema.S.optional(import_echo_schema.S.String),
69
- template: import_echo_schema.S.String,
70
- inputs: import_echo_schema.S.optional(import_echo_schema.S.mutable(import_echo_schema.S.Array(ChainInputSchema)))
71
- }) {
72
- };
73
- var ChainType = class extends (0, import_echo_schema.TypedObject)({
74
- typename: "dxos.org/type/Chain",
75
- version: "0.1.0"
76
- })({
77
- name: import_echo_schema.S.optional(import_echo_schema.S.String),
78
- prompts: import_echo_schema.S.optional(import_echo_schema.S.mutable(import_echo_schema.S.Array((0, import_echo_schema.Ref)(ChainPromptType))))
79
- }) {
80
- };
81
- var AIChatType = class extends (0, import_echo_schema.TypedObject)({
82
- typename: "dxos.org/type/AIChat",
83
- version: "0.1.0"
84
- })({
85
- name: import_echo_schema.S.optional(import_echo_schema.S.String),
86
- // TODO(wittjosiah): Should be a ref to a Queue.
87
- queue: (0, import_echo_schema.Ref)(import_echo_schema.Expando)
88
- }) {
89
- };
90
- var ApiAuthorizationKey = import_echo_schema.S.Struct({
91
- type: import_echo_schema.S.Literal("api-key"),
92
- key: import_echo_schema.S.String,
93
- placement: import_echo_schema.S.Union(import_echo_schema.S.Struct({
94
- type: import_echo_schema.S.Literal("authorization-header")
95
- }), import_echo_schema.S.Struct({
96
- type: import_echo_schema.S.Literal("query"),
97
- name: import_echo_schema.S.String
98
- }))
99
- });
100
- var ApiAuthorizationOauth = import_echo_schema.S.Struct({
101
- type: import_echo_schema.S.Literal("oauth"),
102
- clientId: import_echo_schema.S.String,
103
- clientSecret: import_echo_schema.S.String,
104
- tokenUrl: import_echo_schema.S.String,
105
- grantType: import_echo_schema.S.String
106
- });
107
- var ApiAuthorization = import_echo_schema.S.Union(ApiAuthorizationKey, ApiAuthorizationOauth);
108
- var ServiceInterfaceFunction = import_echo_schema.S.Struct({
109
- kind: import_echo_schema.S.Literal("function"),
110
- fn: (0, import_echo_schema.Ref)(import_functions.FunctionType)
111
- });
112
- var ServiceInterfaceWorkflow = import_echo_schema.S.Struct({
113
- kind: import_echo_schema.S.Literal("workflow"),
114
- workflow: (0, import_echo_schema.Ref)(import_conductor.ComputeGraph)
115
- });
116
- var ServiceInterfaceApi = import_echo_schema.S.Struct({
117
- kind: import_echo_schema.S.Literal("api"),
118
- /**
119
- * URL to fetch the openapi schema.
120
- */
121
- schemaUrl: import_echo_schema.S.optional(import_echo_schema.S.String),
122
- /**
123
- * Inlined openapi schema.
124
- */
125
- schema: import_echo_schema.S.optional(import_echo_schema.S.Any),
126
- /**
127
- * Authorization configuration if required.
128
- */
129
- authorization: import_echo_schema.S.optional(ApiAuthorization)
130
- });
131
- var ServiceInterface = import_echo_schema.S.Union(ServiceInterfaceFunction, ServiceInterfaceWorkflow, ServiceInterfaceApi);
132
- var ServiceType = class extends (0, import_echo_schema.TypedObject)({
133
- typename: "dxos.org/type/ServiceType",
134
- version: "0.1.0"
135
- })({
136
- serviceId: import_echo_schema.S.String,
137
- name: import_echo_schema.S.optional(import_echo_schema.S.String),
138
- description: import_echo_schema.S.optional(import_echo_schema.S.String),
139
- category: import_echo_schema.S.optional(import_echo_schema.S.String),
140
- enabled: import_echo_schema.S.optional(import_echo_schema.S.Boolean),
141
- /**
142
- * Entries exposed: functions, workflows, and APIs.
143
- */
144
- interfaces: import_echo_schema.S.optional(import_echo_schema.S.Array(ServiceInterface))
145
- }) {
146
- };
147
- var AutomationAction;
148
- (function(AutomationAction2) {
149
- const AUTOMATION_ACTION = `${import_chunk_BAQRBGOJ.AUTOMATION_PLUGIN}/action`;
150
- class CreateChat extends import_echo_schema2.S.TaggedClass()(`${AUTOMATION_ACTION}/create-chat`, {
151
- input: import_echo_schema2.S.Struct({
152
- spaceId: import_echo_schema2.S.optional(import_echo_schema2.S.String),
153
- name: import_echo_schema2.S.optional(import_echo_schema2.S.String)
154
- }),
155
- output: import_echo_schema2.S.Struct({
156
- object: AIChatType
157
- })
158
- }) {
159
- }
160
- AutomationAction2.CreateChat = CreateChat;
161
- })(AutomationAction || (AutomationAction = {}));
162
- // Annotate the CommonJS export names for ESM import in node:
163
- 0 && (module.exports = {
164
- AIChatType,
165
- ApiAuthorization,
166
- AutomationAction,
167
- ChainInputSchema,
168
- ChainInputType,
169
- ChainPromptType,
170
- ChainType,
171
- ServiceType,
172
- categoryIcons
173
- });
174
- //# sourceMappingURL=chunk-NUOYHYAF.cjs.map