@dxos/plugin-assistant 0.8.2-main.fbd8ed0 → 0.8.2-staging.42af850

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 (295) hide show
  1. package/dist/lib/browser/AssistantDialog-K6POM23O.mjs +46 -0
  2. package/dist/lib/browser/AssistantDialog-K6POM23O.mjs.map +7 -0
  3. package/dist/lib/browser/ChatContainer-QTO4LE2C.mjs +39 -0
  4. package/dist/lib/{node-esm/ChatContainer-FAYGNMQW.mjs.map → browser/ChatContainer-QTO4LE2C.mjs.map} +1 -1
  5. package/dist/lib/browser/TemplateContainer-AKUYL4AV.mjs +28 -0
  6. package/dist/lib/{node-esm/TemplateContainer-3LEBT5ZC.mjs.map → browser/TemplateContainer-AKUYL4AV.mjs.map} +1 -1
  7. package/dist/lib/browser/{ai-client-5PRCXI7N.mjs → ai-client-COXVUC6V.mjs} +4 -4
  8. package/dist/lib/browser/ai-client-COXVUC6V.mjs.map +7 -0
  9. package/dist/lib/browser/{app-graph-builder-HTK3HFGM.mjs → app-graph-builder-YH4EGNBC.mjs} +45 -28
  10. package/dist/lib/browser/app-graph-builder-YH4EGNBC.mjs.map +7 -0
  11. package/dist/lib/browser/{chunk-TXJWGWJ7.mjs → chunk-3F44MBHU.mjs} +3 -3
  12. package/dist/lib/browser/chunk-3F44MBHU.mjs.map +7 -0
  13. package/dist/lib/browser/chunk-IHEBFO5O.mjs +205 -0
  14. package/dist/lib/browser/chunk-IHEBFO5O.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-JQFUME3B.mjs +87 -0
  16. package/dist/lib/{node-esm/chunk-PBZA7XJR.mjs.map → browser/chunk-JQFUME3B.mjs.map} +1 -1
  17. package/dist/lib/browser/chunk-Q6UZ4F3H.mjs +96 -0
  18. package/dist/lib/browser/chunk-Q6UZ4F3H.mjs.map +7 -0
  19. package/dist/lib/browser/{chunk-OWZHLWW5.mjs → chunk-QTW7KVDO.mjs} +1595 -1452
  20. package/dist/lib/browser/chunk-QTW7KVDO.mjs.map +7 -0
  21. package/dist/lib/browser/chunk-USJBRB3H.mjs +155 -0
  22. package/dist/lib/browser/chunk-USJBRB3H.mjs.map +7 -0
  23. package/dist/lib/browser/{chunk-3HCI5FIL.mjs → chunk-XOZ7YMO3.mjs} +3 -3
  24. package/dist/lib/browser/{chunk-3HCI5FIL.mjs.map → chunk-XOZ7YMO3.mjs.map} +1 -1
  25. package/dist/lib/browser/index.mjs +24 -10
  26. package/dist/lib/browser/index.mjs.map +3 -3
  27. package/dist/lib/browser/{intent-resolver-QV5AAVJZ.mjs → intent-resolver-63EAHENI.mjs} +6 -5
  28. package/dist/lib/browser/intent-resolver-63EAHENI.mjs.map +7 -0
  29. package/dist/lib/browser/meta.json +1 -1
  30. package/dist/lib/browser/react-surface-XCV6NR75.mjs +131 -0
  31. package/dist/lib/browser/react-surface-XCV6NR75.mjs.map +7 -0
  32. package/dist/lib/browser/{settings-OZX7J65A.mjs → settings-SHNQ4XXP.mjs} +3 -3
  33. package/dist/lib/browser/types/index.mjs +4 -2
  34. package/dist/lib/node/AssistantDialog-FDATKYE5.cjs +72 -0
  35. package/dist/lib/node/AssistantDialog-FDATKYE5.cjs.map +7 -0
  36. package/dist/lib/node/{ChatContainer-WVAAOEOH.cjs → ChatContainer-5CLHJOIQ.cjs} +25 -19
  37. package/dist/lib/node/{ChatContainer-WVAAOEOH.cjs.map → ChatContainer-5CLHJOIQ.cjs.map} +1 -1
  38. package/dist/lib/node/{TemplateContainer-EQXKHWTF.cjs → TemplateContainer-CTG2MB4W.cjs} +18 -12
  39. package/dist/lib/node/{TemplateContainer-EQXKHWTF.cjs.map → TemplateContainer-CTG2MB4W.cjs.map} +1 -1
  40. package/dist/lib/node/{ai-client-OUPSRQT7.cjs → ai-client-R2CGEYZW.cjs} +12 -12
  41. package/dist/lib/node/ai-client-R2CGEYZW.cjs.map +7 -0
  42. package/dist/lib/node/{app-graph-builder-LEO63CZZ.cjs → app-graph-builder-PSHIOW3Q.cjs} +62 -46
  43. package/dist/lib/node/app-graph-builder-PSHIOW3Q.cjs.map +7 -0
  44. package/dist/lib/node/{chunk-XI2ARIEO.cjs → chunk-4EEWTDQK.cjs} +45 -39
  45. package/dist/lib/node/{chunk-XI2ARIEO.cjs.map → chunk-4EEWTDQK.cjs.map} +1 -1
  46. package/dist/lib/node/chunk-FLJWJ35M.cjs +181 -0
  47. package/dist/lib/node/chunk-FLJWJ35M.cjs.map +7 -0
  48. package/dist/lib/node/{chunk-OOHFSPWR.cjs → chunk-H4A42LNR.cjs} +1126 -983
  49. package/dist/lib/node/chunk-H4A42LNR.cjs.map +7 -0
  50. package/dist/lib/node/chunk-HRNIUYVQ.cjs +128 -0
  51. package/dist/lib/node/chunk-HRNIUYVQ.cjs.map +7 -0
  52. package/dist/lib/node/{chunk-Q5XWEMHB.cjs → chunk-P74TWGMG.cjs} +6 -6
  53. package/dist/lib/node/{chunk-Q5XWEMHB.cjs.map → chunk-P74TWGMG.cjs.map} +1 -1
  54. package/dist/lib/node/chunk-RXPA2C2A.cjs +230 -0
  55. package/dist/lib/node/chunk-RXPA2C2A.cjs.map +7 -0
  56. package/dist/lib/node/{chunk-GBUNQ257.cjs → chunk-TS3H5OSX.cjs} +7 -7
  57. package/dist/lib/node/chunk-TS3H5OSX.cjs.map +7 -0
  58. package/dist/lib/node/index.cjs +72 -59
  59. package/dist/lib/node/index.cjs.map +3 -3
  60. package/dist/lib/node/{intent-resolver-QDGZMWLY.cjs → intent-resolver-66F7WLW6.cjs} +13 -12
  61. package/dist/lib/node/intent-resolver-66F7WLW6.cjs.map +7 -0
  62. package/dist/lib/node/meta.json +1 -1
  63. package/dist/lib/node/react-surface-TASAPRPQ.cjs +145 -0
  64. package/dist/lib/node/react-surface-TASAPRPQ.cjs.map +7 -0
  65. package/dist/lib/node/{settings-WLTC7XO5.cjs → settings-ERKLO6IO.cjs} +8 -8
  66. package/dist/lib/node/types/index.cjs +16 -14
  67. package/dist/lib/node/types/index.cjs.map +2 -2
  68. package/dist/lib/node-esm/AssistantDialog-PIMYK774.mjs +47 -0
  69. package/dist/lib/node-esm/AssistantDialog-PIMYK774.mjs.map +7 -0
  70. package/dist/lib/node-esm/ChatContainer-QTC5NYE2.mjs +40 -0
  71. package/dist/lib/{browser/ChatContainer-ZNKENYKZ.mjs.map → node-esm/ChatContainer-QTC5NYE2.mjs.map} +1 -1
  72. package/dist/lib/node-esm/TemplateContainer-IVDQ4XQG.mjs +29 -0
  73. package/dist/lib/{browser/TemplateContainer-WKU5XFSO.mjs.map → node-esm/TemplateContainer-IVDQ4XQG.mjs.map} +1 -1
  74. package/dist/lib/node-esm/{ai-client-RZQWEDUX.mjs → ai-client-I5LXHMOZ.mjs} +4 -4
  75. package/dist/lib/node-esm/ai-client-I5LXHMOZ.mjs.map +7 -0
  76. package/dist/lib/node-esm/{app-graph-builder-WXJNZDYB.mjs → app-graph-builder-Z3GMMJMD.mjs} +45 -28
  77. package/dist/lib/node-esm/app-graph-builder-Z3GMMJMD.mjs.map +7 -0
  78. package/dist/lib/node-esm/{chunk-ECRK6TUQ.mjs → chunk-BB2TAT4P.mjs} +3 -3
  79. package/dist/lib/node-esm/{chunk-ECRK6TUQ.mjs.map → chunk-BB2TAT4P.mjs.map} +1 -1
  80. package/dist/lib/node-esm/chunk-CDAILLCU.mjs +98 -0
  81. package/dist/lib/node-esm/chunk-CDAILLCU.mjs.map +7 -0
  82. package/dist/lib/node-esm/{chunk-6JK5HEUQ.mjs → chunk-HLPGKJ7N.mjs} +3 -3
  83. package/dist/lib/node-esm/chunk-HLPGKJ7N.mjs.map +7 -0
  84. package/dist/lib/node-esm/{chunk-PBZA7XJR.mjs → chunk-OYN6HLXZ.mjs} +42 -36
  85. package/dist/lib/{browser/chunk-NFUHCW2J.mjs.map → node-esm/chunk-OYN6HLXZ.mjs.map} +1 -1
  86. package/dist/lib/node-esm/chunk-QU626JMR.mjs +156 -0
  87. package/dist/lib/node-esm/chunk-QU626JMR.mjs.map +7 -0
  88. package/dist/lib/node-esm/{chunk-ED55ZE4G.mjs → chunk-SI5LOQEO.mjs} +1595 -1452
  89. package/dist/lib/node-esm/chunk-SI5LOQEO.mjs.map +7 -0
  90. package/dist/lib/node-esm/chunk-ZKBACPIW.mjs +206 -0
  91. package/dist/lib/node-esm/chunk-ZKBACPIW.mjs.map +7 -0
  92. package/dist/lib/node-esm/index.mjs +24 -10
  93. package/dist/lib/node-esm/index.mjs.map +3 -3
  94. package/dist/lib/node-esm/{intent-resolver-Q3I6S6HN.mjs → intent-resolver-X3PWH7KM.mjs} +6 -5
  95. package/dist/lib/node-esm/intent-resolver-X3PWH7KM.mjs.map +7 -0
  96. package/dist/lib/node-esm/meta.json +1 -1
  97. package/dist/lib/node-esm/react-surface-QMIQCXUM.mjs +132 -0
  98. package/dist/lib/node-esm/react-surface-QMIQCXUM.mjs.map +7 -0
  99. package/dist/lib/node-esm/{settings-CLE57WEP.mjs → settings-IVQRZUCU.mjs} +3 -3
  100. package/dist/lib/node-esm/types/index.mjs +4 -2
  101. package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
  102. package/dist/types/src/capabilities/ai-client.d.ts +1 -1
  103. package/dist/types/src/capabilities/ai-client.d.ts.map +1 -1
  104. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  105. package/dist/types/src/capabilities/capabilities.d.ts +1 -1
  106. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  107. package/dist/types/src/capabilities/index.d.ts +1 -1
  108. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  109. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  110. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  111. package/dist/types/src/components/AmbientDialog/AmbientDialog.d.ts +3 -1
  112. package/dist/types/src/components/AmbientDialog/AmbientDialog.d.ts.map +1 -1
  113. package/dist/types/src/components/BlueprintEditor/BlueprintEditor.d.ts +8 -0
  114. package/dist/types/src/components/BlueprintEditor/BlueprintEditor.d.ts.map +1 -0
  115. package/dist/types/src/components/BlueprintEditor/BlueprintEditor.stories.d.ts +8 -0
  116. package/dist/types/src/components/BlueprintEditor/BlueprintEditor.stories.d.ts.map +1 -0
  117. package/dist/types/src/components/BlueprintEditor/index.d.ts +2 -0
  118. package/dist/types/src/components/BlueprintEditor/index.d.ts.map +1 -0
  119. package/dist/types/src/components/Prompt/Prompt.d.ts +5 -2
  120. package/dist/types/src/components/Prompt/Prompt.d.ts.map +1 -1
  121. package/dist/types/src/components/Prompt/Prompt.stories.d.ts +6 -3
  122. package/dist/types/src/components/Prompt/Prompt.stories.d.ts.map +1 -1
  123. package/dist/types/src/components/Prompt/PromptBar.d.ts +9 -4
  124. package/dist/types/src/components/Prompt/PromptBar.d.ts.map +1 -1
  125. package/dist/types/src/components/Prompt/PromptBar.stories.d.ts +9 -0
  126. package/dist/types/src/components/Prompt/PromptBar.stories.d.ts.map +1 -0
  127. package/dist/types/src/components/Prompt/autocomplete.d.ts +5 -1
  128. package/dist/types/src/components/Prompt/autocomplete.d.ts.map +1 -1
  129. package/dist/types/src/components/Thread/Thread.d.ts +2 -2
  130. package/dist/types/src/components/Thread/Thread.d.ts.map +1 -1
  131. package/dist/types/src/components/Thread/ThreadContainer.d.ts +1 -1
  132. package/dist/types/src/components/Thread/ThreadContainer.d.ts.map +1 -1
  133. package/dist/types/src/components/Thread/ThreadContainer.stories.d.ts +2 -2
  134. package/dist/types/src/components/Thread/ThreadContainer.stories.d.ts.map +1 -1
  135. package/dist/types/src/components/Thread/ThreadMessage.d.ts +4 -2
  136. package/dist/types/src/components/Thread/ThreadMessage.d.ts.map +1 -1
  137. package/dist/types/src/components/Thread/ToolInvocations.d.ts +1 -1
  138. package/dist/types/src/components/Thread/ToolInvocations.d.ts.map +1 -1
  139. package/dist/types/src/components/Thread/reducer.d.ts +1 -1
  140. package/dist/types/src/components/Thread/reducer.d.ts.map +1 -1
  141. package/dist/types/src/components/Toolbox/Toolbox.d.ts +2 -1
  142. package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
  143. package/dist/types/src/components/index.d.ts +2 -0
  144. package/dist/types/src/components/index.d.ts.map +1 -1
  145. package/dist/types/src/experimental/transcription/index.d.ts +1 -0
  146. package/dist/types/src/experimental/transcription/index.d.ts.map +1 -0
  147. package/dist/types/src/hooks/processor.d.ts +6 -5
  148. package/dist/types/src/hooks/processor.d.ts.map +1 -1
  149. package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
  150. package/dist/types/src/hooks/useMessageQueue.d.ts +11 -7
  151. package/dist/types/src/hooks/useMessageQueue.d.ts.map +1 -1
  152. package/dist/types/src/parser/filter-generator.d.ts +4 -0
  153. package/dist/types/src/parser/filter-generator.d.ts.map +1 -0
  154. package/dist/types/src/parser/filter-generator.test.d.ts +2 -0
  155. package/dist/types/src/parser/filter-generator.test.d.ts.map +1 -0
  156. package/dist/types/src/parser/index.d.ts +4 -0
  157. package/dist/types/src/parser/index.d.ts.map +1 -0
  158. package/dist/types/src/parser/query-parser.d.ts +15 -0
  159. package/dist/types/src/parser/query-parser.d.ts.map +1 -0
  160. package/dist/types/src/parser/query-parser.test.d.ts +2 -0
  161. package/dist/types/src/parser/query-parser.test.d.ts.map +1 -0
  162. package/dist/types/src/parser/types.d.ts +24 -0
  163. package/dist/types/src/parser/types.d.ts.map +1 -0
  164. package/dist/types/src/stories/Prompt.stories.d.ts +8 -0
  165. package/dist/types/src/stories/Prompt.stories.d.ts.map +1 -0
  166. package/dist/types/src/stories/Query.stories.d.ts +19 -0
  167. package/dist/types/src/stories/Query.stories.d.ts.map +1 -0
  168. package/dist/types/src/stories/Research.stories.d.ts +15 -0
  169. package/dist/types/src/stories/Research.stories.d.ts.map +1 -0
  170. package/dist/types/src/stories/test-data.d.ts +3 -0
  171. package/dist/types/src/stories/test-data.d.ts.map +1 -0
  172. package/dist/types/src/stories/testing.d.ts +12 -0
  173. package/dist/types/src/stories/testing.d.ts.map +1 -0
  174. package/dist/types/src/testing/blueprint.d.ts +7 -0
  175. package/dist/types/src/testing/blueprint.d.ts.map +1 -0
  176. package/dist/types/src/testing/index.d.ts +1 -0
  177. package/dist/types/src/testing/index.d.ts.map +1 -1
  178. package/dist/types/src/testing/test-functions.d.ts +1 -1
  179. package/dist/types/src/testing/test-functions.d.ts.map +1 -1
  180. package/dist/types/src/tools/function.d.ts +4 -4
  181. package/dist/types/src/tools/function.d.ts.map +1 -1
  182. package/dist/types/src/tools/openapi.d.ts +3 -3
  183. package/dist/types/src/tools/openapi.d.ts.map +1 -1
  184. package/dist/types/src/translations.d.ts +63 -6
  185. package/dist/types/src/translations.d.ts.map +1 -1
  186. package/dist/types/src/types/chat.d.ts +18 -8
  187. package/dist/types/src/types/chat.d.ts.map +1 -1
  188. package/dist/types/src/types/types.d.ts +6 -3
  189. package/dist/types/src/types/types.d.ts.map +1 -1
  190. package/package.json +73 -61
  191. package/src/AssistantPlugin.tsx +5 -4
  192. package/src/capabilities/ai-client.ts +1 -1
  193. package/src/capabilities/app-graph-builder.ts +34 -24
  194. package/src/capabilities/capabilities.ts +1 -1
  195. package/src/capabilities/intent-resolver.ts +3 -2
  196. package/src/capabilities/react-surface.tsx +58 -13
  197. package/src/components/AmbientDialog/AmbientDialog.stories.tsx +1 -1
  198. package/src/components/AmbientDialog/AmbientDialog.tsx +27 -13
  199. package/src/components/AssistantDialog.tsx +1 -1
  200. package/src/components/AssistantSettings/AssistantSettings.tsx +1 -1
  201. package/src/components/BlueprintEditor/BlueprintEditor.stories.tsx +32 -0
  202. package/src/components/BlueprintEditor/BlueprintEditor.tsx +41 -0
  203. package/src/components/BlueprintEditor/index.ts +5 -0
  204. package/src/components/Prompt/Prompt.stories.tsx +59 -52
  205. package/src/components/Prompt/Prompt.tsx +24 -10
  206. package/src/components/Prompt/PromptBar.stories.tsx +68 -0
  207. package/src/components/Prompt/PromptBar.tsx +82 -80
  208. package/src/components/Prompt/autocomplete.ts +14 -8
  209. package/src/components/Prompt/references.ts +3 -3
  210. package/src/components/TemplateEditor/TemplateEditor.stories.tsx +2 -2
  211. package/src/components/TemplateEditor/TemplateForm.stories.tsx +1 -1
  212. package/src/components/Thread/Thread.stories.tsx +2 -2
  213. package/src/components/Thread/Thread.tsx +2 -2
  214. package/src/components/Thread/ThreadContainer.stories.tsx +77 -47
  215. package/src/components/Thread/ThreadContainer.tsx +8 -9
  216. package/src/components/Thread/ThreadMessage.tsx +43 -8
  217. package/src/components/Thread/ToolInvocations.tsx +9 -7
  218. package/src/components/Thread/reducer.ts +1 -1
  219. package/src/components/Toolbox/Toolbox.stories.tsx +1 -1
  220. package/src/components/Toolbox/Toolbox.tsx +2 -1
  221. package/src/components/index.ts +2 -0
  222. package/src/experimental/transcription/index.ts +3 -0
  223. package/src/hooks/processor.ts +65 -27
  224. package/src/hooks/useChatProcessor.tsx +4 -4
  225. package/src/hooks/useContextProvider.ts +6 -6
  226. package/src/hooks/useMessageQueue.ts +4 -4
  227. package/src/meta.ts +2 -2
  228. package/src/parser/filter-generator.test.ts +32 -0
  229. package/src/parser/filter-generator.ts +81 -0
  230. package/src/parser/index.ts +7 -0
  231. package/src/parser/query-parser.test.ts +139 -0
  232. package/src/parser/query-parser.ts +199 -0
  233. package/src/parser/types.ts +34 -0
  234. package/src/shims.d.ts +8 -0
  235. package/src/stories/Prompt.stories.tsx +59 -0
  236. package/src/stories/Query.stories.tsx +448 -0
  237. package/src/stories/Research.stories.tsx +495 -0
  238. package/src/stories/test-data.ts +128 -0
  239. package/src/stories/testing.ts +64 -0
  240. package/src/testing/blueprint.ts +47 -0
  241. package/src/testing/index.ts +1 -0
  242. package/src/testing/test-functions.ts +1 -1
  243. package/src/tools/function.ts +8 -7
  244. package/src/tools/openapi.test.ts +18 -19
  245. package/src/tools/openapi.ts +20 -14
  246. package/src/translations.ts +4 -2
  247. package/src/types/chat.ts +27 -4
  248. package/src/types/types.ts +3 -1
  249. package/dist/lib/browser/AssistantDialog-DTWVEQBB.mjs +0 -117
  250. package/dist/lib/browser/AssistantDialog-DTWVEQBB.mjs.map +0 -7
  251. package/dist/lib/browser/ChatContainer-ZNKENYKZ.mjs +0 -33
  252. package/dist/lib/browser/TemplateContainer-WKU5XFSO.mjs +0 -22
  253. package/dist/lib/browser/ai-client-5PRCXI7N.mjs.map +0 -7
  254. package/dist/lib/browser/app-graph-builder-HTK3HFGM.mjs.map +0 -7
  255. package/dist/lib/browser/chunk-5P7U35RJ.mjs +0 -192
  256. package/dist/lib/browser/chunk-5P7U35RJ.mjs.map +0 -7
  257. package/dist/lib/browser/chunk-7VDZP5WX.mjs +0 -143
  258. package/dist/lib/browser/chunk-7VDZP5WX.mjs.map +0 -7
  259. package/dist/lib/browser/chunk-NFUHCW2J.mjs +0 -81
  260. package/dist/lib/browser/chunk-OWZHLWW5.mjs.map +0 -7
  261. package/dist/lib/browser/chunk-TXJWGWJ7.mjs.map +0 -7
  262. package/dist/lib/browser/intent-resolver-QV5AAVJZ.mjs.map +0 -7
  263. package/dist/lib/browser/react-surface-JJPYWEIN.mjs +0 -90
  264. package/dist/lib/browser/react-surface-JJPYWEIN.mjs.map +0 -7
  265. package/dist/lib/node/AssistantDialog-RJJHZI63.cjs +0 -141
  266. package/dist/lib/node/AssistantDialog-RJJHZI63.cjs.map +0 -7
  267. package/dist/lib/node/ai-client-OUPSRQT7.cjs.map +0 -7
  268. package/dist/lib/node/app-graph-builder-LEO63CZZ.cjs.map +0 -7
  269. package/dist/lib/node/chunk-GBUNQ257.cjs.map +0 -7
  270. package/dist/lib/node/chunk-GQ3XS5FZ.cjs +0 -169
  271. package/dist/lib/node/chunk-GQ3XS5FZ.cjs.map +0 -7
  272. package/dist/lib/node/chunk-OOHFSPWR.cjs.map +0 -7
  273. package/dist/lib/node/chunk-VG2UQY4S.cjs +0 -216
  274. package/dist/lib/node/chunk-VG2UQY4S.cjs.map +0 -7
  275. package/dist/lib/node/intent-resolver-QDGZMWLY.cjs.map +0 -7
  276. package/dist/lib/node/react-surface-XNEIJJYJ.cjs +0 -106
  277. package/dist/lib/node/react-surface-XNEIJJYJ.cjs.map +0 -7
  278. package/dist/lib/node-esm/AssistantDialog-D33WZUGR.mjs +0 -118
  279. package/dist/lib/node-esm/AssistantDialog-D33WZUGR.mjs.map +0 -7
  280. package/dist/lib/node-esm/ChatContainer-FAYGNMQW.mjs +0 -34
  281. package/dist/lib/node-esm/TemplateContainer-3LEBT5ZC.mjs +0 -23
  282. package/dist/lib/node-esm/ai-client-RZQWEDUX.mjs.map +0 -7
  283. package/dist/lib/node-esm/app-graph-builder-WXJNZDYB.mjs.map +0 -7
  284. package/dist/lib/node-esm/chunk-6JK5HEUQ.mjs.map +0 -7
  285. package/dist/lib/node-esm/chunk-74GFINWJ.mjs +0 -144
  286. package/dist/lib/node-esm/chunk-74GFINWJ.mjs.map +0 -7
  287. package/dist/lib/node-esm/chunk-ED55ZE4G.mjs.map +0 -7
  288. package/dist/lib/node-esm/chunk-UZWYXNR5.mjs +0 -193
  289. package/dist/lib/node-esm/chunk-UZWYXNR5.mjs.map +0 -7
  290. package/dist/lib/node-esm/intent-resolver-Q3I6S6HN.mjs.map +0 -7
  291. package/dist/lib/node-esm/react-surface-RI3JONQY.mjs +0 -91
  292. package/dist/lib/node-esm/react-surface-RI3JONQY.mjs.map +0 -7
  293. /package/dist/lib/browser/{settings-OZX7J65A.mjs.map → settings-SHNQ4XXP.mjs.map} +0 -0
  294. /package/dist/lib/node/{settings-WLTC7XO5.cjs.map → settings-ERKLO6IO.cjs.map} +0 -0
  295. /package/dist/lib/node-esm/{settings-CLE57WEP.mjs.map → settings-IVQRZUCU.mjs.map} +0 -0
@@ -0,0 +1,46 @@
1
+ import {
2
+ AmbientDialog
3
+ } from "./chunk-Q6UZ4F3H.mjs";
4
+ import {
5
+ ThreadContainer
6
+ } from "./chunk-QTW7KVDO.mjs";
7
+ import "./chunk-3F44MBHU.mjs";
8
+ import "./chunk-IHEBFO5O.mjs";
9
+ import {
10
+ ASSISTANT_PLUGIN
11
+ } from "./chunk-XOZ7YMO3.mjs";
12
+
13
+ // packages/plugins/plugin-assistant/src/components/AssistantDialog.tsx
14
+ import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
15
+ import React, { useState } from "react";
16
+ import { useCapability, Capabilities, useCapabilities } from "@dxos/app-framework";
17
+ import { TranscriptionCapabilities } from "@dxos/plugin-transcription";
18
+ import { useTranslation } from "@dxos/react-ui";
19
+ var AssistantDialog = ({ chat }) => {
20
+ var _effect = _useSignals();
21
+ try {
22
+ const { t } = useTranslation(ASSISTANT_PLUGIN);
23
+ const transcription = useCapabilities(TranscriptionCapabilities.Transcriber).length > 0;
24
+ const settings = useCapability(Capabilities.SettingsStore).getStore(ASSISTANT_PLUGIN)?.value;
25
+ const [open, setOpen] = useState(false);
26
+ return /* @__PURE__ */ React.createElement(AmbientDialog, {
27
+ open,
28
+ onOpenChange: setOpen,
29
+ title: t("assistant dialog title")
30
+ }, /* @__PURE__ */ React.createElement(ThreadContainer, {
31
+ part: "dialog",
32
+ chat,
33
+ onOpenChange: setOpen,
34
+ settings,
35
+ transcription
36
+ }));
37
+ } finally {
38
+ _effect.f();
39
+ }
40
+ };
41
+ var AssistantDialog_default = AssistantDialog;
42
+ export {
43
+ AssistantDialog,
44
+ AssistantDialog_default as default
45
+ };
46
+ //# sourceMappingURL=AssistantDialog-K6POM23O.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/AssistantDialog.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { type FC, useState } from 'react';\n\nimport { useCapability, Capabilities, useCapabilities } from '@dxos/app-framework';\nimport { TranscriptionCapabilities } from '@dxos/plugin-transcription';\nimport { useTranslation } from '@dxos/react-ui';\n\nimport { AmbientDialog } from './AmbientDialog';\nimport { ThreadContainer } from './Thread';\nimport { ASSISTANT_PLUGIN } from '../meta';\nimport { type AssistantSettingsProps, type AIChatType } from '../types';\n\nexport const AssistantDialog: FC<{ chat?: AIChatType }> = ({ chat }) => {\n const { t } = useTranslation(ASSISTANT_PLUGIN);\n const transcription = useCapabilities(TranscriptionCapabilities.Transcriber).length > 0;\n const settings = useCapability(Capabilities.SettingsStore).getStore<AssistantSettingsProps>(ASSISTANT_PLUGIN)?.value;\n\n // TODO(burdon): Refocus when open.\n const [open, setOpen] = useState(false);\n\n return (\n <AmbientDialog open={open} onOpenChange={setOpen} title={t('assistant dialog title')}>\n <ThreadContainer\n part={'dialog'}\n chat={chat}\n onOpenChange={setOpen}\n settings={settings}\n transcription={transcription}\n />\n </AmbientDialog>\n );\n};\n\nexport default AssistantDialog;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;AAIA,OAAOA,SAAkBC,gBAAgB;AAEzC,SAASC,eAAeC,cAAcC,uBAAuB;AAC7D,SAASC,iCAAiC;AAC1C,SAASC,sBAAsB;AAOxB,IAAMC,kBAA6C,CAAC,EAAEC,KAAI,MAAE;;;AACjE,UAAM,EAAEC,EAAC,IAAKC,eAAeC,gBAAAA;AAC7B,UAAMC,gBAAgBC,gBAAgBC,0BAA0BC,WAAW,EAAEC,SAAS;AACtF,UAAMC,WAAWC,cAAcC,aAAaC,aAAa,EAAEC,SAAiCV,gBAAAA,GAAmBW;AAG/G,UAAM,CAACC,MAAMC,OAAAA,IAAWC,SAAS,KAAA;AAEjC,WACE,sBAAA,cAACC,eAAAA;MAAcH;MAAYI,cAAcH;MAASI,OAAOnB,EAAE,wBAAA;OACzD,sBAAA,cAACoB,iBAAAA;MACCC,MAAM;MACNtB;MACAmB,cAAcH;MACdP;MACAL;;;;;AAIR;AAEA,IAAA,0BAAeL;",
6
+ "names": ["React", "useState", "useCapability", "Capabilities", "useCapabilities", "TranscriptionCapabilities", "useTranslation", "AssistantDialog", "chat", "t", "useTranslation", "ASSISTANT_PLUGIN", "transcription", "useCapabilities", "TranscriptionCapabilities", "Transcriber", "length", "settings", "useCapability", "Capabilities", "SettingsStore", "getStore", "value", "open", "setOpen", "useState", "AmbientDialog", "onOpenChange", "title", "ThreadContainer", "part"]
7
+ }
@@ -0,0 +1,39 @@
1
+ import {
2
+ ThreadContainer
3
+ } from "./chunk-QTW7KVDO.mjs";
4
+ import "./chunk-3F44MBHU.mjs";
5
+ import "./chunk-IHEBFO5O.mjs";
6
+ import {
7
+ ASSISTANT_PLUGIN
8
+ } from "./chunk-XOZ7YMO3.mjs";
9
+
10
+ // packages/plugins/plugin-assistant/src/components/ChatContainer.tsx
11
+ import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
12
+ import React from "react";
13
+ import { Capabilities, useCapabilities, useCapability } from "@dxos/app-framework";
14
+ import { TranscriptionCapabilities } from "@dxos/plugin-transcription";
15
+ import { StackItem } from "@dxos/react-ui-stack";
16
+ var ChatContainer = ({ role, chat, associatedArtifact }) => {
17
+ var _effect = _useSignals();
18
+ try {
19
+ const transcription = useCapabilities(TranscriptionCapabilities.Transcriber).length > 0;
20
+ const settings = useCapability(Capabilities.SettingsStore).getStore(ASSISTANT_PLUGIN)?.value;
21
+ return /* @__PURE__ */ React.createElement(StackItem.Content, {
22
+ role,
23
+ classNames: "container-max-width"
24
+ }, /* @__PURE__ */ React.createElement(ThreadContainer, {
25
+ chat,
26
+ settings,
27
+ transcription,
28
+ associatedArtifact
29
+ }));
30
+ } finally {
31
+ _effect.f();
32
+ }
33
+ };
34
+ var ChatContainer_default = ChatContainer;
35
+ export {
36
+ ChatContainer,
37
+ ChatContainer_default as default
38
+ };
39
+ //# sourceMappingURL=ChatContainer-QTO4LE2C.mjs.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/ChatContainer.tsx"],
4
4
  "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { type FC } from 'react';\n\nimport { Capabilities, useCapabilities, useCapability } from '@dxos/app-framework';\nimport { type AssociatedArtifact } from '@dxos/artifact';\nimport { TranscriptionCapabilities } from '@dxos/plugin-transcription';\nimport { StackItem } from '@dxos/react-ui-stack';\n\nimport { ThreadContainer } from './Thread';\nimport { ASSISTANT_PLUGIN } from '../meta';\nimport { type AssistantSettingsProps, type AIChatType } from '../types';\n\nexport type ChatContainerProps = {\n role: string;\n chat: AIChatType;\n associatedArtifact?: AssociatedArtifact;\n};\n\n// TODO(burdon): Attention.\nexport const ChatContainer: FC<ChatContainerProps> = ({ role, chat, associatedArtifact }) => {\n const transcription = useCapabilities(TranscriptionCapabilities.Transcriber).length > 0;\n const settings = useCapability(Capabilities.SettingsStore).getStore<AssistantSettingsProps>(ASSISTANT_PLUGIN)?.value;\n\n return (\n <StackItem.Content role={role} classNames='container-max-width'>\n <ThreadContainer\n chat={chat}\n settings={settings}\n transcription={transcription}\n associatedArtifact={associatedArtifact}\n />\n </StackItem.Content>\n );\n};\n\nexport default ChatContainer;\n"],
5
- "mappings": ";;;;;;;;;;;AAIA,OAAOA,WAAwB;AAE/B,SAASC,cAAcC,iBAAiBC,qBAAqB;AAE7D,SAASC,iCAAiC;AAC1C,SAASC,iBAAiB;AAanB,IAAMC,gBAAwC,CAAC,EAAEC,MAAMC,MAAMC,mBAAkB,MAAE;AACtF,QAAMC,gBAAgBC,gBAAgBC,0BAA0BC,WAAW,EAAEC,SAAS;AACtF,QAAMC,WAAWC,cAAcC,aAAaC,aAAa,EAAEC,SAAiCC,gBAAAA,GAAmBC;AAE/G,SACE,sBAAA,cAACC,UAAUC,SAAO;IAAChB;IAAYiB,YAAW;KACxC,sBAAA,cAACC,iBAAAA;IACCjB;IACAO;IACAL;IACAD;;AAIR;AAEA,IAAA,wBAAeH;",
5
+ "mappings": ";;;;;;;;;;;AAIA,OAAOA,WAAwB;AAE/B,SAASC,cAAcC,iBAAiBC,qBAAqB;AAE7D,SAASC,iCAAiC;AAC1C,SAASC,iBAAiB;AAanB,IAAMC,gBAAwC,CAAC,EAAEC,MAAMC,MAAMC,mBAAkB,MAAE;;;AACtF,UAAMC,gBAAgBC,gBAAgBC,0BAA0BC,WAAW,EAAEC,SAAS;AACtF,UAAMC,WAAWC,cAAcC,aAAaC,aAAa,EAAEC,SAAiCC,gBAAAA,GAAmBC;AAE/G,WACE,sBAAA,cAACC,UAAUC,SAAO;MAAChB;MAAYiB,YAAW;OACxC,sBAAA,cAACC,iBAAAA;MACCjB;MACAO;MACAL;MACAD;;;;;AAIR;AAEA,IAAA,wBAAeH;",
6
6
  "names": ["React", "Capabilities", "useCapabilities", "useCapability", "TranscriptionCapabilities", "StackItem", "ChatContainer", "role", "chat", "associatedArtifact", "transcription", "useCapabilities", "TranscriptionCapabilities", "Transcriber", "length", "settings", "useCapability", "Capabilities", "SettingsStore", "getStore", "ASSISTANT_PLUGIN", "value", "StackItem", "Content", "classNames", "ThreadContainer"]
7
7
  }
@@ -0,0 +1,28 @@
1
+ import {
2
+ TemplateEditor
3
+ } from "./chunk-JQFUME3B.mjs";
4
+ import "./chunk-XOZ7YMO3.mjs";
5
+
6
+ // packages/plugins/plugin-assistant/src/components/TemplateContainer.tsx
7
+ import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
8
+ import React from "react";
9
+ import { StackItem } from "@dxos/react-ui-stack";
10
+ var TemplateContainer = ({ template, role }) => {
11
+ var _effect = _useSignals();
12
+ try {
13
+ return /* @__PURE__ */ React.createElement(StackItem.Content, {
14
+ role,
15
+ classNames: "container-max-width"
16
+ }, /* @__PURE__ */ React.createElement(TemplateEditor, {
17
+ template
18
+ }));
19
+ } finally {
20
+ _effect.f();
21
+ }
22
+ };
23
+ var TemplateContainer_default = TemplateContainer;
24
+ export {
25
+ TemplateContainer,
26
+ TemplateContainer_default as default
27
+ };
28
+ //# sourceMappingURL=TemplateContainer-AKUYL4AV.mjs.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/TemplateContainer.tsx"],
4
4
  "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { StackItem } from '@dxos/react-ui-stack';\n\nimport { TemplateEditor } from './TemplateEditor';\nimport { type TemplateType } from '../types';\n\nexport const TemplateContainer = ({ template, role }: { template: TemplateType; role: string }) => {\n return (\n <StackItem.Content role={role} classNames='container-max-width'>\n <TemplateEditor template={template} />\n </StackItem.Content>\n );\n};\n\nexport default TemplateContainer;\n"],
5
- "mappings": ";;;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,iBAAiB;AAKnB,IAAMC,oBAAoB,CAAC,EAAEC,UAAUC,KAAI,MAA4C;AAC5F,SACE,sBAAA,cAACC,UAAUC,SAAO;IAACF;IAAYG,YAAW;KACxC,sBAAA,cAACC,gBAAAA;IAAeL;;AAGtB;AAEA,IAAA,4BAAeD;",
5
+ "mappings": ";;;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,iBAAiB;AAKnB,IAAMC,oBAAoB,CAAC,EAAEC,UAAUC,KAAI,MAA4C;;;AAC5F,WACE,sBAAA,cAACC,UAAUC,SAAO;MAACF;MAAYG,YAAW;OACxC,sBAAA,cAACC,gBAAAA;MAAeL;;;;;AAGtB;AAEA,IAAA,4BAAeD;",
6
6
  "names": ["React", "StackItem", "TemplateContainer", "template", "role", "StackItem", "Content", "classNames", "TemplateEditor"]
7
7
  }
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  AssistantCapabilities
3
- } from "./chunk-TXJWGWJ7.mjs";
3
+ } from "./chunk-3F44MBHU.mjs";
4
4
  import {
5
5
  ASSISTANT_PLUGIN
6
- } from "./chunk-3HCI5FIL.mjs";
6
+ } from "./chunk-XOZ7YMO3.mjs";
7
7
 
8
8
  // packages/plugins/plugin-assistant/src/capabilities/ai-client.ts
9
9
  import { effect, signal } from "@preact/signals-core";
10
+ import { AIServiceEdgeClient, OllamaClient } from "@dxos/ai";
10
11
  import { Capabilities, contributes } from "@dxos/app-framework";
11
- import { AIServiceEdgeClient, OllamaClient } from "@dxos/assistant";
12
12
  import { ClientCapabilities } from "@dxos/plugin-client";
13
13
  var DEFAULT_AI_SERVICE_URL = "http://localhost:8788";
14
14
  var ai_client_default = (context) => {
@@ -32,4 +32,4 @@ var ai_client_default = (context) => {
32
32
  export {
33
33
  ai_client_default as default
34
34
  };
35
- //# sourceMappingURL=ai-client-5PRCXI7N.mjs.map
35
+ //# sourceMappingURL=ai-client-COXVUC6V.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/ai-client.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { effect, signal } from '@preact/signals-core';\n\nimport { type AIServiceClient, AIServiceEdgeClient, OllamaClient } from '@dxos/ai';\nimport { Capabilities, contributes, type PluginContext } from '@dxos/app-framework';\nimport { ClientCapabilities } from '@dxos/plugin-client';\n\nimport { AssistantCapabilities } from './capabilities';\nimport { ASSISTANT_PLUGIN } from '../meta';\nimport { type AssistantSettingsProps } from '../types';\n\n// TODO(wittjosiah): Factor out.\nconst DEFAULT_AI_SERVICE_URL = 'http://localhost:8788';\n\nexport default (context: PluginContext) => {\n const client = context.getCapability(ClientCapabilities.Client);\n const endpoint = client.config.values.runtime?.services?.ai?.server ?? DEFAULT_AI_SERVICE_URL;\n\n const ai = signal<AIServiceClient>(new AIServiceEdgeClient({ endpoint }));\n\n const unsubscribe = effect(() => {\n const settings = context\n .getCapability(Capabilities.SettingsStore)\n .getStore<AssistantSettingsProps>(ASSISTANT_PLUGIN)?.value;\n\n if (settings?.llmProvider === 'ollama') {\n ai.value = new OllamaClient();\n } else {\n ai.value = new AIServiceEdgeClient({ endpoint });\n }\n });\n\n return contributes(AssistantCapabilities.AiClient, ai, () => unsubscribe());\n};\n"],
5
+ "mappings": ";;;;;;;;AAIA,SAASA,QAAQC,cAAc;AAE/B,SAA+BC,qBAAqBC,oBAAoB;AACxE,SAASC,cAAcC,mBAAuC;AAC9D,SAASC,0BAA0B;AAOnC,IAAMC,yBAAyB;AAE/B,IAAA,oBAAe,CAACC,YAAAA;AACd,QAAMC,SAASD,QAAQE,cAAcC,mBAAmBC,MAAM;AAC9D,QAAMC,WAAWJ,OAAOK,OAAOC,OAAOC,SAASC,UAAUC,IAAIC,UAAUZ;AAEvE,QAAMW,KAAKE,OAAwB,IAAIC,oBAAoB;IAAER;EAAS,CAAA,CAAA;AAEtE,QAAMS,cAAcC,OAAO,MAAA;AACzB,UAAMC,WAAWhB,QACdE,cAAce,aAAaC,aAAa,EACxCC,SAAiCC,gBAAAA,GAAmBC;AAEvD,QAAIL,UAAUM,gBAAgB,UAAU;AACtCZ,SAAGW,QAAQ,IAAIE,aAAAA;IACjB,OAAO;AACLb,SAAGW,QAAQ,IAAIR,oBAAoB;QAAER;MAAS,CAAA;IAChD;EACF,CAAA;AAEA,SAAOmB,YAAYC,sBAAsBC,UAAUhB,IAAI,MAAMI,YAAAA,CAAAA;AAC/D;",
6
+ "names": ["effect", "signal", "AIServiceEdgeClient", "OllamaClient", "Capabilities", "contributes", "ClientCapabilities", "DEFAULT_AI_SERVICE_URL", "context", "client", "getCapability", "ClientCapabilities", "Client", "endpoint", "config", "values", "runtime", "services", "ai", "server", "signal", "AIServiceEdgeClient", "unsubscribe", "effect", "settings", "Capabilities", "SettingsStore", "getStore", "ASSISTANT_PLUGIN", "value", "llmProvider", "OllamaClient", "contributes", "AssistantCapabilities", "AiClient"]
7
+ }
@@ -1,24 +1,26 @@
1
1
  import {
2
2
  AIChatType,
3
3
  AssistantAction,
4
+ CompanionTo,
4
5
  TemplateType
5
- } from "./chunk-5P7U35RJ.mjs";
6
+ } from "./chunk-IHEBFO5O.mjs";
6
7
  import {
7
8
  ASSISTANT_DIALOG,
8
9
  ASSISTANT_PLUGIN
9
- } from "./chunk-3HCI5FIL.mjs";
10
+ } from "./chunk-XOZ7YMO3.mjs";
10
11
 
11
12
  // packages/plugins/plugin-assistant/src/capabilities/app-graph-builder.ts
12
13
  import { Rx } from "@effect-rx/rx-react";
13
14
  import { Option, pipe } from "effect";
14
15
  import { Capabilities, contributes, createIntent, LayoutAction } from "@dxos/app-framework";
16
+ import { isInstanceOf } from "@dxos/echo-schema";
15
17
  import { invariant } from "@dxos/invariant";
16
18
  import { ClientCapabilities } from "@dxos/plugin-client";
17
19
  import { PLANK_COMPANION_TYPE, ATTENDABLE_PATH_SEPARATOR } from "@dxos/plugin-deck/types";
18
20
  import { createExtension, ROOT_ID } from "@dxos/plugin-graph";
19
21
  import { rxFromQuery } from "@dxos/plugin-space";
20
22
  import { SPACE_TYPE, SpaceAction } from "@dxos/plugin-space/types";
21
- import { Filter, fullyQualifiedId, getSpace, isLiveObject, isSpace, Query } from "@dxos/react-client/echo";
23
+ import { Filter, fullyQualifiedId, getSpace, isSpace, Query, isEchoObject } from "@dxos/react-client/echo";
22
24
  var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-assistant/src/capabilities/app-graph-builder.ts";
23
25
  var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBuilder, [
24
26
  createExtension({
@@ -79,27 +81,42 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
79
81
  }),
80
82
  createExtension({
81
83
  id: `${ASSISTANT_PLUGIN}/object-chat-companion`,
82
- // TODO(burdon): Add to all objects?
83
- connector: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => isLiveObject(node2.data) && node2.data.assistantChatQueue && node2.data.type !== AIChatType.typename ? Option.some(node2) : Option.none()), Option.map((node2) => [
84
- {
85
- id: [
86
- node2.id,
87
- "assistant-chat"
88
- ].join(ATTENDABLE_PATH_SEPARATOR),
89
- type: PLANK_COMPANION_TYPE,
90
- data: "assistant-chat",
91
- properties: {
92
- label: [
93
- "assistant chat label",
94
- {
95
- ns: ASSISTANT_PLUGIN
96
- }
97
- ],
98
- icon: "ph--sparkle--regular",
99
- position: "hoist"
84
+ connector: (node) => {
85
+ let query;
86
+ return Rx.make((get) => pipe(get(node), Option.flatMap((node2) => isEchoObject(node2.data) ? Option.some(node2.data) : Option.none()), Option.flatMap((object) => {
87
+ const space = getSpace(object);
88
+ return space ? Option.some({
89
+ space,
90
+ object
91
+ }) : Option.none();
92
+ }), Option.map(({ space, object }) => {
93
+ if (!query) {
94
+ query = space.db.query(Query.select(Filter.ids(object.id)).targetOf(CompanionTo).source());
100
95
  }
101
- }
102
- ]), Option.getOrElse(() => [])))
96
+ const chat = get(rxFromQuery(query))[0];
97
+ return [
98
+ {
99
+ id: [
100
+ fullyQualifiedId(object),
101
+ "assistant-chat"
102
+ ].join(ATTENDABLE_PATH_SEPARATOR),
103
+ type: PLANK_COMPANION_TYPE,
104
+ data: chat ?? "assistant-chat",
105
+ properties: {
106
+ label: [
107
+ "assistant chat label",
108
+ {
109
+ ns: ASSISTANT_PLUGIN
110
+ }
111
+ ],
112
+ icon: "ph--sparkle--regular",
113
+ position: "hoist",
114
+ disposition: "hidden"
115
+ }
116
+ }
117
+ ];
118
+ }), Option.getOrElse(() => [])));
119
+ }
103
120
  }),
104
121
  createExtension({
105
122
  id: `${ASSISTANT_PLUGIN}/root`,
@@ -166,14 +183,14 @@ var getOrCreateChat = async (dispatch, space) => {
166
183
  return objects[objects.length - 1];
167
184
  }
168
185
  const { data } = await dispatch(createIntent(AssistantAction.CreateChat, {
169
- spaceId: space.id
186
+ space
170
187
  }));
171
- invariant(data?.object instanceof AIChatType, void 0, {
188
+ invariant(isInstanceOf(AIChatType, data?.object), void 0, {
172
189
  F: __dxlog_file,
173
- L: 220,
190
+ L: 230,
174
191
  S: void 0,
175
192
  A: [
176
- "data?.object instanceof AIChatType",
193
+ "isInstanceOf(AIChatType, data?.object)",
177
194
  ""
178
195
  ]
179
196
  });
@@ -186,4 +203,4 @@ var getOrCreateChat = async (dispatch, space) => {
186
203
  export {
187
204
  app_graph_builder_default as default
188
205
  };
189
- //# sourceMappingURL=app-graph-builder-HTK3HFGM.mjs.map
206
+ //# sourceMappingURL=app-graph-builder-YH4EGNBC.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/app-graph-builder.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Rx } from '@effect-rx/rx-react';\nimport { Option, pipe } from 'effect';\n\nimport {\n Capabilities,\n contributes,\n createIntent,\n LayoutAction,\n type PromiseIntentDispatcher,\n type PluginContext,\n} from '@dxos/app-framework';\nimport { isInstanceOf } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { PLANK_COMPANION_TYPE, ATTENDABLE_PATH_SEPARATOR } from '@dxos/plugin-deck/types';\nimport { createExtension, ROOT_ID } from '@dxos/plugin-graph';\nimport { rxFromQuery } from '@dxos/plugin-space';\nimport { SPACE_TYPE, SpaceAction } from '@dxos/plugin-space/types';\nimport {\n type Space,\n Filter,\n fullyQualifiedId,\n getSpace,\n isSpace,\n Query,\n type QueryResult,\n isEchoObject,\n} from '@dxos/react-client/echo';\n\nimport { ASSISTANT_DIALOG, ASSISTANT_PLUGIN } from '../meta';\nimport { AIChatType, AssistantAction, CompanionTo, TemplateType } from '../types';\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.AppGraphBuilder, [\n createExtension({\n id: `${ASSISTANT_PLUGIN}/assistant`,\n actions: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => (node.id === ROOT_ID ? Option.some(node) : Option.none())),\n Option.map(() => [\n {\n id: `${LayoutAction.UpdateDialog._tag}/assistant/open`,\n data: async () => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const client = context.getCapability(ClientCapabilities.Client);\n const layout = context.getCapability(Capabilities.Layout);\n const { graph } = context.getCapability(Capabilities.AppGraph);\n\n // TODO(burdon): Get space from workspace.\n // TODO(burdon): If need to create chat, then add to dispatch stack below.\n let chat: AIChatType | undefined;\n if (layout.active.length > 0) {\n const node = graph.getNode(layout.active[0]).pipe(Option.getOrNull);\n if (node) {\n const space = getSpace(node.data);\n if (space) {\n chat = await getOrCreateChat(dispatch, space);\n }\n }\n } else {\n const space = client.spaces.default;\n chat = await getOrCreateChat(dispatch, space);\n }\n\n if (!chat) {\n return;\n }\n\n await dispatch(\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n subject: ASSISTANT_DIALOG,\n options: {\n state: true,\n blockAlign: 'end',\n props: {\n chat,\n },\n },\n }),\n );\n },\n properties: {\n label: ['open assistant label', { ns: ASSISTANT_PLUGIN }],\n icon: 'ph--sparkle--regular',\n disposition: 'pin-end',\n position: 'hoist',\n keyBinding: {\n macos: 'shift+meta+k',\n windows: 'shift+ctrl+k',\n },\n },\n },\n ]),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n\n createExtension({\n id: `${ASSISTANT_PLUGIN}/object-chat-companion`,\n connector: (node) => {\n let query: QueryResult<AIChatType> | undefined;\n return Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => (isEchoObject(node.data) ? Option.some(node.data) : Option.none())),\n Option.flatMap((object) => {\n const space = getSpace(object);\n return space ? Option.some({ space, object }) : Option.none();\n }),\n Option.map(({ space, object }) => {\n if (!query) {\n query = space.db.query(Query.select(Filter.ids(object.id)).targetOf(CompanionTo).source());\n }\n\n const chat = get(rxFromQuery(query))[0];\n return [\n {\n id: [fullyQualifiedId(object), 'assistant-chat'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: chat ?? 'assistant-chat',\n properties: {\n label: ['assistant chat label', { ns: ASSISTANT_PLUGIN }],\n icon: 'ph--sparkle--regular',\n position: 'hoist',\n disposition: 'hidden',\n },\n },\n ];\n }),\n Option.getOrElse(() => []),\n ),\n );\n },\n }),\n\n createExtension({\n id: `${ASSISTANT_PLUGIN}/root`,\n connector: (node) => {\n let query: QueryResult<TemplateType> | undefined;\n return Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) =>\n node.type === SPACE_TYPE && isSpace(node.data) ? Option.some(node.data) : Option.none(),\n ),\n Option.map((space) => {\n if (!query) {\n query = space.db.query(Query.type(TemplateType));\n }\n\n const templates = get(rxFromQuery(query));\n return templates.length > 0\n ? [\n {\n id: `${ASSISTANT_PLUGIN}/templates`,\n type: `${ASSISTANT_PLUGIN}/templates`,\n data: null,\n properties: {\n label: ['templates label', { ns: ASSISTANT_PLUGIN }],\n icon: 'ph--file-code--regular',\n space,\n },\n },\n ]\n : [];\n }),\n Option.getOrElse(() => []),\n ),\n );\n },\n }),\n\n createExtension({\n id: `${ASSISTANT_PLUGIN}/templates`,\n connector: (node) => {\n let query: QueryResult<TemplateType> | undefined;\n return Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) =>\n node.id === `${ASSISTANT_PLUGIN}/templates` && isSpace(node.properties.space)\n ? Option.some(node.properties.space)\n : Option.none(),\n ),\n Option.map((space) => {\n if (!query) {\n query = space.db.query(Query.type(TemplateType));\n }\n return get(rxFromQuery(query))\n .toSorted((a, b) => {\n const nameA = a.name ?? '';\n const nameB = b.name ?? '';\n return nameA.localeCompare(nameB);\n })\n .map((template) => ({\n id: fullyQualifiedId(template),\n type: `${ASSISTANT_PLUGIN}/template`,\n data: template,\n properties: {\n label: template.name ?? ['object placeholder', { ns: ASSISTANT_PLUGIN }],\n icon: 'ph--file-code--regular',\n },\n }));\n }),\n Option.getOrElse(() => []),\n ),\n );\n },\n }),\n ]);\n\n// TODO(burdon): Factor out.\nconst getOrCreateChat = async (dispatch: PromiseIntentDispatcher, space: Space): Promise<AIChatType | undefined> => {\n const { objects } = await space.db.query(Filter.type(AIChatType)).run();\n // console.log('objects', JSON.stringify(objects, null, 2));\n if (objects.length > 0) {\n // TODO(burdon): Is this the most recent?\n return objects[objects.length - 1];\n }\n\n const { data } = await dispatch(createIntent(AssistantAction.CreateChat, { space }));\n invariant(isInstanceOf(AIChatType, data?.object));\n await dispatch(createIntent(SpaceAction.AddObject, { target: space, object: data.object }));\n return data.object;\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["Rx", "Option", "pipe", "Capabilities", "contributes", "createIntent", "LayoutAction", "isInstanceOf", "invariant", "ClientCapabilities", "PLANK_COMPANION_TYPE", "ATTENDABLE_PATH_SEPARATOR", "createExtension", "ROOT_ID", "rxFromQuery", "SPACE_TYPE", "SpaceAction", "Filter", "fullyQualifiedId", "getSpace", "isSpace", "Query", "isEchoObject", "context", "contributes", "Capabilities", "AppGraphBuilder", "createExtension", "id", "ASSISTANT_PLUGIN", "actions", "node", "Rx", "make", "get", "pipe", "Option", "flatMap", "ROOT_ID", "some", "none", "map", "LayoutAction", "UpdateDialog", "_tag", "data", "dispatchPromise", "dispatch", "getCapability", "IntentDispatcher", "client", "ClientCapabilities", "Client", "layout", "Layout", "graph", "AppGraph", "chat", "active", "length", "getNode", "getOrNull", "space", "getSpace", "getOrCreateChat", "spaces", "default", "createIntent", "part", "subject", "ASSISTANT_DIALOG", "options", "state", "blockAlign", "props", "properties", "label", "ns", "icon", "disposition", "position", "keyBinding", "macos", "windows", "getOrElse", "connector", "query", "isEchoObject", "object", "db", "Query", "select", "Filter", "ids", "targetOf", "CompanionTo", "source", "rxFromQuery", "fullyQualifiedId", "join", "ATTENDABLE_PATH_SEPARATOR", "type", "PLANK_COMPANION_TYPE", "SPACE_TYPE", "isSpace", "TemplateType", "templates", "toSorted", "a", "b", "nameA", "name", "nameB", "localeCompare", "template", "objects", "AIChatType", "run", "AssistantAction", "CreateChat", "invariant", "isInstanceOf", "SpaceAction", "AddObject", "target"]
7
+ }
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  ASSISTANT_PLUGIN
3
- } from "./chunk-3HCI5FIL.mjs";
3
+ } from "./chunk-XOZ7YMO3.mjs";
4
4
 
5
5
  // packages/plugins/plugin-assistant/src/capabilities/capabilities.ts
6
6
  import { defineCapability } from "@dxos/app-framework";
7
- var AssistantCapabilities;
8
7
  (function(AssistantCapabilities2) {
9
8
  AssistantCapabilities2.AiClient = defineCapability(`${ASSISTANT_PLUGIN}/capability/ai-client`);
10
9
  })(AssistantCapabilities || (AssistantCapabilities = {}));
10
+ var AssistantCapabilities;
11
11
 
12
12
  export {
13
13
  AssistantCapabilities
14
14
  };
15
- //# sourceMappingURL=chunk-TXJWGWJ7.mjs.map
15
+ //# sourceMappingURL=chunk-3F44MBHU.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/capabilities.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type ReadonlySignal } from '@preact/signals-core';\n\nimport { type AIServiceClient } from '@dxos/ai';\nimport { defineCapability } from '@dxos/app-framework';\n\nimport { ASSISTANT_PLUGIN } from '../meta';\n\nexport namespace AssistantCapabilities {\n export const AiClient = defineCapability<ReadonlySignal<AIServiceClient>>(`${ASSISTANT_PLUGIN}/capability/ai-client`);\n}\n"],
5
+ "mappings": ";;;;;AAOA,SAASA,wBAAwB;UAIhBC,wBAAAA;yBACFC,WAAWC,iBAAkD,GAAGC,gBAAAA,uBAAuC;AACtH,GAFiBH,0BAAAA,wBAAAA,CAAAA,EAAAA;;",
6
+ "names": ["defineCapability", "AssistantCapabilities", "AiClient", "defineCapability", "ASSISTANT_PLUGIN"]
7
+ }
@@ -0,0 +1,205 @@
1
+ import {
2
+ ASSISTANT_PLUGIN
3
+ } from "./chunk-XOZ7YMO3.mjs";
4
+
5
+ // packages/plugins/plugin-assistant/src/types/chat.ts
6
+ import { Schema } from "effect";
7
+ import { Type } from "@dxos/echo";
8
+ import { Expando, Ref } from "@dxos/echo-schema";
9
+ var AIChatType = Schema.Struct({
10
+ id: Type.ObjectId,
11
+ name: Schema.optional(Schema.String),
12
+ // TODO(wittjosiah): Should be a ref to a Queue.
13
+ queue: Ref(Expando)
14
+ }).pipe(Type.Obj({
15
+ typename: "dxos.org/type/AIChat",
16
+ version: "0.2.0"
17
+ }));
18
+ var CompanionTo = Schema.Struct({
19
+ id: Type.ObjectId
20
+ }).pipe(Type.Relation({
21
+ typename: "dxos.org/relation/CompanionTo",
22
+ version: "0.1.0",
23
+ source: AIChatType,
24
+ target: Expando
25
+ }));
26
+
27
+ // packages/plugins/plugin-assistant/src/types/service.ts
28
+ import { Schema as Schema2 } from "effect";
29
+ import { ComputeGraph } from "@dxos/conductor";
30
+ import { Ref as Ref2, TypedObject } from "@dxos/echo-schema";
31
+ import { FunctionType } from "@dxos/functions";
32
+ var ApiAuthorizationKey = Schema2.Struct({
33
+ type: Schema2.Literal("api-key"),
34
+ key: Schema2.String,
35
+ placement: Schema2.Union(Schema2.Struct({
36
+ type: Schema2.Literal("authorization-header")
37
+ }), Schema2.Struct({
38
+ type: Schema2.Literal("query"),
39
+ name: Schema2.String
40
+ }))
41
+ });
42
+ var ApiAuthorizationOauth = Schema2.Struct({
43
+ type: Schema2.Literal("oauth"),
44
+ clientId: Schema2.String,
45
+ clientSecret: Schema2.String,
46
+ tokenUrl: Schema2.String,
47
+ grantType: Schema2.String
48
+ });
49
+ var ApiAuthorization = Schema2.Union(ApiAuthorizationKey, ApiAuthorizationOauth);
50
+ var ServiceInterfaceFunction = Schema2.Struct({
51
+ kind: Schema2.Literal("function"),
52
+ fn: Ref2(FunctionType)
53
+ });
54
+ var ServiceInterfaceWorkflow = Schema2.Struct({
55
+ kind: Schema2.Literal("workflow"),
56
+ workflow: Ref2(ComputeGraph)
57
+ });
58
+ var ServiceInterfaceApi = Schema2.Struct({
59
+ kind: Schema2.Literal("api"),
60
+ /**
61
+ * URL to fetch the openapi schema.
62
+ */
63
+ schemaUrl: Schema2.optional(Schema2.String),
64
+ /**
65
+ * Inlined openapi schema.
66
+ */
67
+ schema: Schema2.optional(Schema2.Any),
68
+ /**
69
+ * Authorization configuration if required.
70
+ */
71
+ authorization: Schema2.optional(ApiAuthorization)
72
+ });
73
+ var ServiceInterface = Schema2.Union(ServiceInterfaceFunction, ServiceInterfaceWorkflow, ServiceInterfaceApi);
74
+ var ServiceType = class extends TypedObject({
75
+ typename: "dxos.org/type/ServiceType",
76
+ version: "0.1.0"
77
+ })({
78
+ serviceId: Schema2.String,
79
+ name: Schema2.optional(Schema2.String),
80
+ description: Schema2.optional(Schema2.String),
81
+ category: Schema2.optional(Schema2.String),
82
+ enabled: Schema2.optional(Schema2.Boolean),
83
+ /**
84
+ * Entries exposed: functions, workflows, and APIs.
85
+ */
86
+ interfaces: Schema2.optional(Schema2.Array(ServiceInterface))
87
+ }) {
88
+ };
89
+ var categoryIcons = {
90
+ finance: "ph--bank--regular",
91
+ health: "ph--heart--regular",
92
+ geolocation: "ph--globe-simple--regular",
93
+ education: "ph--books--regular",
94
+ entertainment: "ph--music-notes--regular",
95
+ shopping: "ph--shopping-cart--regular",
96
+ travel: "ph--airplane-takeoff--regular",
97
+ utilities: "ph--lightning--regular",
98
+ weather: "ph--cloud-rain--regular"
99
+ };
100
+
101
+ // packages/plugins/plugin-assistant/src/types/template.ts
102
+ import { Schema as Schema3 } from "effect";
103
+ import { TypedObject as TypedObject2 } from "@dxos/echo-schema";
104
+ var TemplateInputType = /* @__PURE__ */ function(TemplateInputType2) {
105
+ TemplateInputType2[TemplateInputType2["VALUE"] = 0] = "VALUE";
106
+ TemplateInputType2[TemplateInputType2["PASS_THROUGH"] = 1] = "PASS_THROUGH";
107
+ TemplateInputType2[TemplateInputType2["RETRIEVER"] = 2] = "RETRIEVER";
108
+ TemplateInputType2[TemplateInputType2["FUNCTION"] = 3] = "FUNCTION";
109
+ TemplateInputType2[TemplateInputType2["QUERY"] = 4] = "QUERY";
110
+ TemplateInputType2[TemplateInputType2["RESOLVER"] = 5] = "RESOLVER";
111
+ TemplateInputType2[TemplateInputType2["CONTEXT"] = 6] = "CONTEXT";
112
+ TemplateInputType2[TemplateInputType2["SCHEMA"] = 7] = "SCHEMA";
113
+ return TemplateInputType2;
114
+ }({});
115
+ var TemplateInputSchema = Schema3.mutable(Schema3.Struct({
116
+ name: Schema3.String,
117
+ type: Schema3.optional(Schema3.Enums(TemplateInputType)),
118
+ value: Schema3.optional(Schema3.String)
119
+ }));
120
+ var TemplateKinds = [
121
+ "always",
122
+ "schema-matching",
123
+ "automatically",
124
+ "manual"
125
+ ];
126
+ var TemplateKindSchema = Schema3.Union(Schema3.Struct({
127
+ include: Schema3.Literal("always")
128
+ }), Schema3.Struct({
129
+ include: Schema3.Literal("schema-matching"),
130
+ typename: Schema3.String
131
+ }), Schema3.Struct({
132
+ include: Schema3.Literal("automatically"),
133
+ description: Schema3.String
134
+ }), Schema3.Struct({
135
+ include: Schema3.Literal("manual")
136
+ }));
137
+ var TemplateType = class extends TypedObject2({
138
+ typename: "dxos.org/type/Template",
139
+ version: "0.1.0"
140
+ })({
141
+ name: Schema3.optional(Schema3.String),
142
+ kind: Schema3.mutable(TemplateKindSchema),
143
+ source: Schema3.String,
144
+ inputs: Schema3.optional(Schema3.mutable(Schema3.Array(TemplateInputSchema))),
145
+ command: Schema3.optional(Schema3.String)
146
+ }) {
147
+ };
148
+
149
+ // packages/plugins/plugin-assistant/src/types/types.ts
150
+ import { Schema as Schema4 } from "effect";
151
+ import { SpaceSchema } from "@dxos/react-client/echo";
152
+ (function(AssistantAction2) {
153
+ const ASSISTANT_ACTION = `${ASSISTANT_PLUGIN}/action`;
154
+ class CreateChat extends Schema4.TaggedClass()(`${ASSISTANT_ACTION}/create-chat`, {
155
+ input: Schema4.Struct({
156
+ space: SpaceSchema,
157
+ name: Schema4.optional(Schema4.String)
158
+ }),
159
+ output: Schema4.Struct({
160
+ object: AIChatType
161
+ })
162
+ }) {
163
+ }
164
+ AssistantAction2.CreateChat = CreateChat;
165
+ class CreateTemplate extends Schema4.TaggedClass()(`${ASSISTANT_ACTION}/create-template`, {
166
+ input: Schema4.Struct({
167
+ name: Schema4.optional(Schema4.String)
168
+ }),
169
+ output: Schema4.Struct({
170
+ object: TemplateType
171
+ })
172
+ }) {
173
+ }
174
+ AssistantAction2.CreateTemplate = CreateTemplate;
175
+ })(AssistantAction || (AssistantAction = {}));
176
+ var LLM_PROVIDERS = [
177
+ "edge",
178
+ "ollama",
179
+ "lmstudio"
180
+ ];
181
+ var AssistantSettingsSchema = Schema4.mutable(Schema4.Struct({
182
+ llmProvider: Schema4.optional(Schema4.Literal(...LLM_PROVIDERS)),
183
+ edgeModel: Schema4.optional(Schema4.String),
184
+ ollamaModel: Schema4.optional(Schema4.String),
185
+ lmstudioModel: Schema4.optional(Schema4.String),
186
+ customPrompts: Schema4.optional(Schema4.Boolean)
187
+ }));
188
+ var AssistantAction;
189
+
190
+ export {
191
+ AIChatType,
192
+ CompanionTo,
193
+ ApiAuthorization,
194
+ ServiceType,
195
+ categoryIcons,
196
+ TemplateInputType,
197
+ TemplateInputSchema,
198
+ TemplateKinds,
199
+ TemplateKindSchema,
200
+ TemplateType,
201
+ LLM_PROVIDERS,
202
+ AssistantSettingsSchema,
203
+ AssistantAction
204
+ };
205
+ //# sourceMappingURL=chunk-IHEBFO5O.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/types/chat.ts", "../../../src/types/service.ts", "../../../src/types/template.ts", "../../../src/types/types.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { Type } from '@dxos/echo';\nimport { Expando, Ref } from '@dxos/echo-schema';\n\nexport const AIChatType = Schema.Struct({\n id: Type.ObjectId,\n name: Schema.optional(Schema.String),\n // TODO(wittjosiah): Should be a ref to a Queue.\n queue: Ref(Expando),\n}).pipe(\n Type.Obj({\n typename: 'dxos.org/type/AIChat',\n version: '0.2.0',\n }),\n);\nexport interface AIChatType extends Schema.Schema.Type<typeof AIChatType> {}\n\nexport const CompanionTo = Schema.Struct({\n id: Type.ObjectId,\n}).pipe(\n Type.Relation({\n typename: 'dxos.org/relation/CompanionTo',\n version: '0.1.0',\n source: AIChatType,\n target: Expando,\n }),\n);\nexport interface CompanionTo extends Schema.Schema.Type<typeof CompanionTo> {}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { ComputeGraph } from '@dxos/conductor';\nimport { Ref, TypedObject, type Ref$ } from '@dxos/echo-schema';\nimport { FunctionType } from '@dxos/functions';\n\nconst ApiAuthorizationKey = Schema.Struct({\n type: Schema.Literal('api-key'),\n key: Schema.String,\n placement: Schema.Union(\n Schema.Struct({\n type: Schema.Literal('authorization-header'),\n }),\n Schema.Struct({\n type: Schema.Literal('query'),\n name: Schema.String,\n }),\n ),\n});\n\nconst ApiAuthorizationOauth = Schema.Struct({\n type: Schema.Literal('oauth'),\n clientId: Schema.String,\n clientSecret: Schema.String,\n tokenUrl: Schema.String,\n grantType: Schema.String,\n});\n\nexport const ApiAuthorization = Schema.Union(ApiAuthorizationKey, ApiAuthorizationOauth);\nexport type ApiAuthorization = Schema.Schema.Type<typeof ApiAuthorization>;\n\nconst ServiceInterfaceFunction = Schema.Struct({\n kind: Schema.Literal('function'),\n fn: Ref(FunctionType) as Ref$<FunctionType>,\n});\n\nconst ServiceInterfaceWorkflow = Schema.Struct({\n kind: Schema.Literal('workflow'),\n workflow: Ref(ComputeGraph) as Ref$<ComputeGraph>,\n});\n\nconst ServiceInterfaceApi = Schema.Struct({\n kind: Schema.Literal('api'),\n\n /**\n * URL to fetch the openapi schema.\n */\n schemaUrl: Schema.optional(Schema.String),\n\n /**\n * Inlined openapi schema.\n */\n schema: Schema.optional(Schema.Any),\n\n /**\n * Authorization configuration if required.\n */\n authorization: Schema.optional(ApiAuthorization),\n});\n\nconst ServiceInterface = Schema.Union(ServiceInterfaceFunction, ServiceInterfaceWorkflow, ServiceInterfaceApi);\nexport type ServiceInterface = Schema.Schema.Type<typeof ServiceInterface>;\n\nexport class ServiceType extends TypedObject({ typename: 'dxos.org/type/ServiceType', version: '0.1.0' })({\n serviceId: Schema.String,\n name: Schema.optional(Schema.String),\n description: Schema.optional(Schema.String),\n category: Schema.optional(Schema.String),\n enabled: Schema.optional(Schema.Boolean),\n\n /**\n * Entries exposed: functions, workflows, and APIs.\n */\n interfaces: Schema.optional(Schema.Array(ServiceInterface)),\n}) {}\n\n//\n// Service Registry\n//\n\nexport type ServiceQuery = {\n name?: string;\n category?: string;\n};\n\nexport interface BaseServiceRegistry {\n queryServices(query?: ServiceQuery): Promise<ServiceType[]>;\n}\n\nexport const categoryIcons: Record<string, string> = {\n finance: 'ph--bank--regular',\n health: 'ph--heart--regular',\n geolocation: 'ph--globe-simple--regular',\n education: 'ph--books--regular',\n entertainment: 'ph--music-notes--regular',\n shopping: 'ph--shopping-cart--regular',\n travel: 'ph--airplane-takeoff--regular',\n utilities: 'ph--lightning--regular',\n weather: 'ph--cloud-rain--regular',\n} as const;\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { TypedObject } from '@dxos/echo-schema';\n\n// TODO(burdon): Change to Schema.Literal (and discriminated union).\nexport enum TemplateInputType {\n VALUE = 0,\n PASS_THROUGH = 1,\n RETRIEVER = 2,\n FUNCTION = 3,\n QUERY = 4,\n RESOLVER = 5,\n CONTEXT = 6,\n SCHEMA = 7,\n}\n\nexport const TemplateInputSchema = Schema.mutable(\n Schema.Struct({\n name: Schema.String,\n type: Schema.optional(Schema.Enums(TemplateInputType)),\n value: Schema.optional(Schema.String),\n }),\n);\n\nexport type TemplateInput = Schema.Schema.Type<typeof TemplateInputSchema>;\n\nexport const TemplateKinds = ['always', 'schema-matching', 'automatically', 'manual'] as const;\nexport type TemplateKind = (typeof TemplateKinds)[number];\n\nexport const TemplateKindSchema = Schema.Union(\n Schema.Struct({\n include: Schema.Literal('always'),\n }),\n Schema.Struct({\n include: Schema.Literal('schema-matching'),\n typename: Schema.String,\n }),\n Schema.Struct({\n include: Schema.Literal('automatically'),\n description: Schema.String,\n }),\n Schema.Struct({\n include: Schema.Literal('manual'),\n }),\n);\n\nexport type TemplateKindType = Schema.Schema.Type<typeof TemplateKindSchema>;\nexport class TemplateType extends TypedObject({ typename: 'dxos.org/type/Template', version: '0.1.0' })({\n name: Schema.optional(Schema.String),\n kind: Schema.mutable(TemplateKindSchema),\n source: Schema.String,\n inputs: Schema.optional(Schema.mutable(Schema.Array(TemplateInputSchema))),\n command: Schema.optional(Schema.String),\n}) {}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { SpaceSchema } from '@dxos/react-client/echo';\n\nimport { AIChatType } from './chat';\nimport { TemplateType } from './template';\nimport { ASSISTANT_PLUGIN } from '../meta';\n\nexport namespace AssistantAction {\n const ASSISTANT_ACTION = `${ASSISTANT_PLUGIN}/action`;\n\n export class CreateChat extends Schema.TaggedClass<CreateChat>()(`${ASSISTANT_ACTION}/create-chat`, {\n input: Schema.Struct({\n space: SpaceSchema,\n name: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: AIChatType,\n }),\n }) {}\n\n export class CreateTemplate extends Schema.TaggedClass<CreateTemplate>()(`${ASSISTANT_ACTION}/create-template`, {\n input: Schema.Struct({\n name: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: TemplateType,\n }),\n }) {}\n}\n\nexport const LLM_PROVIDERS = ['edge', 'ollama', 'lmstudio'] as const;\n\nexport const AssistantSettingsSchema = Schema.mutable(\n Schema.Struct({\n llmProvider: Schema.optional(Schema.Literal(...LLM_PROVIDERS)),\n edgeModel: Schema.optional(Schema.String),\n ollamaModel: Schema.optional(Schema.String),\n lmstudioModel: Schema.optional(Schema.String),\n customPrompts: Schema.optional(Schema.Boolean),\n }),\n);\n\nexport type AssistantSettingsProps = Schema.Schema.Type<typeof AssistantSettingsSchema>;\n"],
5
+ "mappings": "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",
6
+ "names": ["Schema", "Type", "Expando", "Ref", "AIChatType", "Schema", "Struct", "id", "Type", "ObjectId", "name", "optional", "String", "queue", "Ref", "Expando", "pipe", "Obj", "typename", "version", "CompanionTo", "Relation", "source", "target", "Schema", "ComputeGraph", "Ref", "TypedObject", "FunctionType", "ApiAuthorizationKey", "Schema", "Struct", "type", "Literal", "key", "String", "placement", "Union", "name", "ApiAuthorizationOauth", "clientId", "clientSecret", "tokenUrl", "grantType", "ApiAuthorization", "ServiceInterfaceFunction", "kind", "fn", "Ref", "FunctionType", "ServiceInterfaceWorkflow", "workflow", "ComputeGraph", "ServiceInterfaceApi", "schemaUrl", "optional", "schema", "Any", "authorization", "ServiceInterface", "ServiceType", "TypedObject", "typename", "version", "serviceId", "description", "category", "enabled", "Boolean", "interfaces", "Array", "categoryIcons", "finance", "health", "geolocation", "education", "entertainment", "shopping", "travel", "utilities", "weather", "Schema", "TypedObject", "TemplateInputType", "TemplateInputSchema", "Schema", "mutable", "Struct", "name", "String", "type", "optional", "Enums", "value", "TemplateKinds", "TemplateKindSchema", "Union", "include", "Literal", "typename", "description", "TemplateType", "TypedObject", "version", "kind", "source", "inputs", "Array", "command", "Schema", "SpaceSchema", "AssistantAction", "ASSISTANT_ACTION", "ASSISTANT_PLUGIN", "CreateChat", "Schema", "TaggedClass", "input", "Struct", "space", "SpaceSchema", "name", "optional", "String", "output", "object", "AIChatType", "CreateTemplate", "TemplateType", "LLM_PROVIDERS", "AssistantSettingsSchema", "mutable", "llmProvider", "Literal", "edgeModel", "ollamaModel", "lmstudioModel", "customPrompts", "Boolean"]
7
+ }