@dxos/plugin-assistant 0.8.2-staging.7ac8446 → 0.8.3-main.672df60

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 (365) hide show
  1. package/dist/lib/browser/AssistantDialog-UAZSN6GT.mjs +46 -0
  2. package/dist/lib/browser/AssistantDialog-UAZSN6GT.mjs.map +7 -0
  3. package/dist/lib/browser/BlueprintEditor-DGV4KJDM.mjs +45 -0
  4. package/dist/lib/browser/BlueprintEditor-DGV4KJDM.mjs.map +7 -0
  5. package/dist/lib/browser/ChatContainer-UTN3AO5U.mjs +39 -0
  6. package/dist/lib/browser/ChatContainer-UTN3AO5U.mjs.map +7 -0
  7. package/dist/lib/browser/TemplateContainer-AKUYL4AV.mjs +28 -0
  8. package/dist/lib/browser/TemplateContainer-AKUYL4AV.mjs.map +7 -0
  9. package/dist/lib/browser/{ai-client-CDZLSNXE.mjs → ai-client-COXVUC6V.mjs} +6 -6
  10. package/dist/lib/browser/ai-client-COXVUC6V.mjs.map +7 -0
  11. package/dist/lib/browser/app-graph-builder-56OZ5RW4.mjs +206 -0
  12. package/dist/lib/browser/app-graph-builder-56OZ5RW4.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-TXJWGWJ7.mjs → chunk-3F44MBHU.mjs} +3 -3
  14. package/dist/lib/browser/chunk-3F44MBHU.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-6SD7S7W5.mjs +157 -0
  16. package/dist/lib/browser/chunk-6SD7S7W5.mjs.map +7 -0
  17. package/dist/lib/browser/chunk-JQFUME3B.mjs +87 -0
  18. package/dist/lib/{node-esm/chunk-PBZA7XJR.mjs.map → browser/chunk-JQFUME3B.mjs.map} +1 -1
  19. package/dist/lib/browser/chunk-NBSPGIHL.mjs +206 -0
  20. package/dist/lib/browser/chunk-NBSPGIHL.mjs.map +7 -0
  21. package/dist/lib/browser/chunk-Q6UZ4F3H.mjs +96 -0
  22. package/dist/lib/browser/chunk-Q6UZ4F3H.mjs.map +7 -0
  23. package/dist/lib/browser/{chunk-FMB7RGMP.mjs → chunk-Q6XE3O3E.mjs} +1714 -1536
  24. package/dist/lib/browser/chunk-Q6XE3O3E.mjs.map +7 -0
  25. package/dist/lib/browser/{chunk-3HCI5FIL.mjs → chunk-XOZ7YMO3.mjs} +3 -3
  26. package/dist/lib/browser/{chunk-3HCI5FIL.mjs.map → chunk-XOZ7YMO3.mjs.map} +1 -1
  27. package/dist/lib/browser/index.mjs +47 -23
  28. package/dist/lib/browser/index.mjs.map +3 -3
  29. package/dist/lib/browser/intent-resolver-GWELYIX2.mjs +39 -0
  30. package/dist/lib/browser/intent-resolver-GWELYIX2.mjs.map +7 -0
  31. package/dist/lib/browser/meta.json +1 -1
  32. package/dist/lib/browser/react-surface-DGS34EON.mjs +144 -0
  33. package/dist/lib/browser/react-surface-DGS34EON.mjs.map +7 -0
  34. package/dist/lib/browser/{settings-U6UFQX32.mjs → settings-BTFB7IQ6.mjs} +5 -5
  35. package/dist/lib/browser/settings-BTFB7IQ6.mjs.map +7 -0
  36. package/dist/lib/browser/types/index.mjs +6 -2
  37. package/dist/lib/node/AssistantDialog-RTB5Q7FP.cjs +72 -0
  38. package/dist/lib/node/AssistantDialog-RTB5Q7FP.cjs.map +7 -0
  39. package/dist/lib/node/BlueprintEditor-43VM3XPO.cjs +72 -0
  40. package/dist/lib/node/BlueprintEditor-43VM3XPO.cjs.map +7 -0
  41. package/dist/lib/node/{ChatContainer-ZJ5JXF6A.cjs → ChatContainer-P3JL4VZ7.cjs} +25 -19
  42. package/dist/lib/node/ChatContainer-P3JL4VZ7.cjs.map +7 -0
  43. package/dist/lib/node/TemplateContainer-CTG2MB4W.cjs +58 -0
  44. package/dist/lib/node/TemplateContainer-CTG2MB4W.cjs.map +7 -0
  45. package/dist/lib/node/{ai-client-URCCYU6B.cjs → ai-client-R2CGEYZW.cjs} +13 -13
  46. package/dist/lib/node/ai-client-R2CGEYZW.cjs.map +7 -0
  47. package/dist/lib/node/app-graph-builder-QLF353LH.cjs +216 -0
  48. package/dist/lib/node/app-graph-builder-QLF353LH.cjs.map +7 -0
  49. package/dist/lib/node/{chunk-XI2ARIEO.cjs → chunk-4EEWTDQK.cjs} +45 -39
  50. package/dist/lib/node/{chunk-XI2ARIEO.cjs.map → chunk-4EEWTDQK.cjs.map} +1 -1
  51. package/dist/lib/node/chunk-BWL5A3O5.cjs +184 -0
  52. package/dist/lib/node/chunk-BWL5A3O5.cjs.map +7 -0
  53. package/dist/lib/node/chunk-HRNIUYVQ.cjs +128 -0
  54. package/dist/lib/node/chunk-HRNIUYVQ.cjs.map +7 -0
  55. package/dist/lib/node/{chunk-Q5XWEMHB.cjs → chunk-P74TWGMG.cjs} +6 -6
  56. package/dist/lib/node/{chunk-Q5XWEMHB.cjs.map → chunk-P74TWGMG.cjs.map} +1 -1
  57. package/dist/lib/node/{chunk-RPBKMP2E.cjs → chunk-PG7YNQ4R.cjs} +1523 -1338
  58. package/dist/lib/node/chunk-PG7YNQ4R.cjs.map +7 -0
  59. package/dist/lib/node/{chunk-GBUNQ257.cjs → chunk-TS3H5OSX.cjs} +7 -7
  60. package/dist/lib/node/chunk-TS3H5OSX.cjs.map +7 -0
  61. package/dist/lib/node/chunk-UNVDZOLA.cjs +231 -0
  62. package/dist/lib/node/chunk-UNVDZOLA.cjs.map +7 -0
  63. package/dist/lib/node/index.cjs +88 -65
  64. package/dist/lib/node/index.cjs.map +3 -3
  65. package/dist/lib/node/{intent-resolver-R3OSTIMH.cjs → intent-resolver-U7663JU7.cjs} +15 -21
  66. package/dist/lib/node/intent-resolver-U7663JU7.cjs.map +7 -0
  67. package/dist/lib/node/meta.json +1 -1
  68. package/dist/lib/node/react-surface-QXZTILW6.cjs +157 -0
  69. package/dist/lib/node/react-surface-QXZTILW6.cjs.map +7 -0
  70. package/dist/lib/node/{settings-TXGRCYAL.cjs → settings-LBJMT6YB.cjs} +9 -9
  71. package/dist/lib/node/settings-LBJMT6YB.cjs.map +7 -0
  72. package/dist/lib/node/types/index.cjs +17 -13
  73. package/dist/lib/node/types/index.cjs.map +2 -2
  74. package/dist/lib/node-esm/AssistantDialog-DONAO6SA.mjs +47 -0
  75. package/dist/lib/node-esm/AssistantDialog-DONAO6SA.mjs.map +7 -0
  76. package/dist/lib/node-esm/BlueprintEditor-CTARB2FO.mjs +47 -0
  77. package/dist/lib/node-esm/BlueprintEditor-CTARB2FO.mjs.map +7 -0
  78. package/dist/lib/node-esm/ChatContainer-FVIGCDIG.mjs +40 -0
  79. package/dist/lib/node-esm/ChatContainer-FVIGCDIG.mjs.map +7 -0
  80. package/dist/lib/node-esm/TemplateContainer-IVDQ4XQG.mjs +29 -0
  81. package/dist/lib/node-esm/TemplateContainer-IVDQ4XQG.mjs.map +7 -0
  82. package/dist/lib/node-esm/{ai-client-WMHS5EGV.mjs → ai-client-I5LXHMOZ.mjs} +6 -6
  83. package/dist/lib/node-esm/ai-client-I5LXHMOZ.mjs.map +7 -0
  84. package/dist/lib/node-esm/app-graph-builder-5YX5TKKT.mjs +207 -0
  85. package/dist/lib/node-esm/app-graph-builder-5YX5TKKT.mjs.map +7 -0
  86. package/dist/lib/node-esm/{chunk-ECRK6TUQ.mjs → chunk-BB2TAT4P.mjs} +3 -3
  87. package/dist/lib/node-esm/{chunk-ECRK6TUQ.mjs.map → chunk-BB2TAT4P.mjs.map} +1 -1
  88. package/dist/lib/node-esm/chunk-CDAILLCU.mjs +98 -0
  89. package/dist/lib/node-esm/chunk-CDAILLCU.mjs.map +7 -0
  90. package/dist/lib/node-esm/chunk-GJE4WCUJ.mjs +158 -0
  91. package/dist/lib/node-esm/chunk-GJE4WCUJ.mjs.map +7 -0
  92. package/dist/lib/node-esm/{chunk-6JK5HEUQ.mjs → chunk-HLPGKJ7N.mjs} +3 -3
  93. package/dist/lib/node-esm/chunk-HLPGKJ7N.mjs.map +7 -0
  94. package/dist/lib/node-esm/{chunk-MVDAY3CZ.mjs → chunk-MNH6E6EB.mjs} +1714 -1536
  95. package/dist/lib/node-esm/chunk-MNH6E6EB.mjs.map +7 -0
  96. package/dist/lib/node-esm/{chunk-PBZA7XJR.mjs → chunk-OYN6HLXZ.mjs} +42 -36
  97. package/dist/lib/{browser/chunk-NFUHCW2J.mjs.map → node-esm/chunk-OYN6HLXZ.mjs.map} +1 -1
  98. package/dist/lib/node-esm/chunk-TQYSF2GS.mjs +207 -0
  99. package/dist/lib/node-esm/chunk-TQYSF2GS.mjs.map +7 -0
  100. package/dist/lib/node-esm/index.mjs +47 -23
  101. package/dist/lib/node-esm/index.mjs.map +3 -3
  102. package/dist/lib/node-esm/intent-resolver-N5TM3RTL.mjs +40 -0
  103. package/dist/lib/node-esm/intent-resolver-N5TM3RTL.mjs.map +7 -0
  104. package/dist/lib/node-esm/meta.json +1 -1
  105. package/dist/lib/node-esm/react-surface-FTKGQQD2.mjs +145 -0
  106. package/dist/lib/node-esm/react-surface-FTKGQQD2.mjs.map +7 -0
  107. package/dist/lib/node-esm/{settings-DZU5PNXM.mjs → settings-TGCCAH5D.mjs} +5 -5
  108. package/dist/lib/node-esm/settings-TGCCAH5D.mjs.map +7 -0
  109. package/dist/lib/node-esm/types/index.mjs +6 -2
  110. package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
  111. package/dist/types/src/capabilities/ai-client.d.ts +3 -3
  112. package/dist/types/src/capabilities/ai-client.d.ts.map +1 -1
  113. package/dist/types/src/capabilities/app-graph-builder.d.ts +2 -179
  114. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  115. package/dist/types/src/capabilities/capabilities.d.ts +1 -1
  116. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  117. package/dist/types/src/capabilities/index.d.ts +3 -179
  118. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  119. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  120. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  121. package/dist/types/src/components/AmbientDialog/AmbientDialog.d.ts +3 -1
  122. package/dist/types/src/components/AmbientDialog/AmbientDialog.d.ts.map +1 -1
  123. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts.map +1 -1
  124. package/dist/types/src/components/BlueprintEditor/BlueprintEditor.d.ts +8 -0
  125. package/dist/types/src/components/BlueprintEditor/BlueprintEditor.d.ts.map +1 -0
  126. package/dist/types/src/components/BlueprintEditor/BlueprintEditor.stories.d.ts +8 -0
  127. package/dist/types/src/components/BlueprintEditor/BlueprintEditor.stories.d.ts.map +1 -0
  128. package/dist/types/src/components/BlueprintEditor/index.d.ts +3 -0
  129. package/dist/types/src/components/BlueprintEditor/index.d.ts.map +1 -0
  130. package/dist/types/src/components/ChatContainer.d.ts +4 -3
  131. package/dist/types/src/components/ChatContainer.d.ts.map +1 -1
  132. package/dist/types/src/components/Prompt/Prompt.d.ts +5 -2
  133. package/dist/types/src/components/Prompt/Prompt.d.ts.map +1 -1
  134. package/dist/types/src/components/Prompt/Prompt.stories.d.ts +6 -3
  135. package/dist/types/src/components/Prompt/Prompt.stories.d.ts.map +1 -1
  136. package/dist/types/src/components/Prompt/PromptBar.d.ts +9 -4
  137. package/dist/types/src/components/Prompt/PromptBar.d.ts.map +1 -1
  138. package/dist/types/src/components/Prompt/PromptBar.stories.d.ts +9 -0
  139. package/dist/types/src/components/Prompt/PromptBar.stories.d.ts.map +1 -0
  140. package/dist/types/src/components/Prompt/autocomplete.d.ts +5 -1
  141. package/dist/types/src/components/Prompt/autocomplete.d.ts.map +1 -1
  142. package/dist/types/src/components/Prompt/references.d.ts.map +1 -1
  143. package/dist/types/src/components/PromptSettings.d.ts +6 -0
  144. package/dist/types/src/components/PromptSettings.d.ts.map +1 -0
  145. package/dist/types/src/components/TemplateContainer.d.ts.map +1 -1
  146. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +1 -1
  147. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts.map +1 -1
  148. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +2 -2
  149. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +1 -1
  150. package/dist/types/src/components/Thread/Thread.d.ts +2 -2
  151. package/dist/types/src/components/Thread/Thread.d.ts.map +1 -1
  152. package/dist/types/src/components/Thread/Thread.stories.d.ts.map +1 -1
  153. package/dist/types/src/components/Thread/ThreadContainer.d.ts +1 -1
  154. package/dist/types/src/components/Thread/ThreadContainer.d.ts.map +1 -1
  155. package/dist/types/src/components/Thread/ThreadContainer.stories.d.ts +2 -2
  156. package/dist/types/src/components/Thread/ThreadContainer.stories.d.ts.map +1 -1
  157. package/dist/types/src/components/Thread/ThreadMessage.d.ts +4 -2
  158. package/dist/types/src/components/Thread/ThreadMessage.d.ts.map +1 -1
  159. package/dist/types/src/components/Thread/ToolInvocations.d.ts +1 -1
  160. package/dist/types/src/components/Thread/ToolInvocations.d.ts.map +1 -1
  161. package/dist/types/src/components/Thread/reducer.d.ts +1 -1
  162. package/dist/types/src/components/Thread/reducer.d.ts.map +1 -1
  163. package/dist/types/src/components/Toolbox/Toolbox.d.ts +3 -2
  164. package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
  165. package/dist/types/src/components/index.d.ts +5 -6
  166. package/dist/types/src/components/index.d.ts.map +1 -1
  167. package/dist/types/src/experimental/transcription/index.d.ts +1 -0
  168. package/dist/types/src/experimental/transcription/index.d.ts.map +1 -0
  169. package/dist/types/src/hooks/index.d.ts +0 -1
  170. package/dist/types/src/hooks/index.d.ts.map +1 -1
  171. package/dist/types/src/hooks/processor.d.ts +6 -5
  172. package/dist/types/src/hooks/processor.d.ts.map +1 -1
  173. package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
  174. package/dist/types/src/hooks/useContextProvider.d.ts +1 -1
  175. package/dist/types/src/hooks/useContextProvider.d.ts.map +1 -1
  176. package/dist/types/src/hooks/useMessageQueue.d.ts +11 -10
  177. package/dist/types/src/hooks/useMessageQueue.d.ts.map +1 -1
  178. package/dist/types/src/hooks/useServices.d.ts.map +1 -1
  179. package/dist/types/src/hooks/useTextInputEvents.d.ts.map +1 -1
  180. package/dist/types/src/parser/filter-generator.d.ts +4 -0
  181. package/dist/types/src/parser/filter-generator.d.ts.map +1 -0
  182. package/dist/types/src/parser/filter-generator.test.d.ts +2 -0
  183. package/dist/types/src/parser/filter-generator.test.d.ts.map +1 -0
  184. package/dist/types/src/parser/index.d.ts +4 -0
  185. package/dist/types/src/parser/index.d.ts.map +1 -0
  186. package/dist/types/src/parser/query-parser.d.ts +15 -0
  187. package/dist/types/src/parser/query-parser.d.ts.map +1 -0
  188. package/dist/types/src/parser/query-parser.test.d.ts +2 -0
  189. package/dist/types/src/parser/query-parser.test.d.ts.map +1 -0
  190. package/dist/types/src/parser/types.d.ts +24 -0
  191. package/dist/types/src/parser/types.d.ts.map +1 -0
  192. package/dist/types/src/stories/Prompt.stories.d.ts +8 -0
  193. package/dist/types/src/stories/Prompt.stories.d.ts.map +1 -0
  194. package/dist/types/src/stories/Query.stories.d.ts +19 -0
  195. package/dist/types/src/stories/Query.stories.d.ts.map +1 -0
  196. package/dist/types/src/stories/Research.stories.d.ts +15 -0
  197. package/dist/types/src/stories/Research.stories.d.ts.map +1 -0
  198. package/dist/types/src/stories/test-data.d.ts +3 -0
  199. package/dist/types/src/stories/test-data.d.ts.map +1 -0
  200. package/dist/types/src/stories/testing.d.ts +12 -0
  201. package/dist/types/src/stories/testing.d.ts.map +1 -0
  202. package/dist/types/src/testing/index.d.ts +1 -0
  203. package/dist/types/src/testing/index.d.ts.map +1 -1
  204. package/dist/types/src/testing/test-blueprint.d.ts +14 -0
  205. package/dist/types/src/testing/test-blueprint.d.ts.map +1 -0
  206. package/dist/types/src/testing/test-functions.d.ts +1 -1
  207. package/dist/types/src/testing/test-functions.d.ts.map +1 -1
  208. package/dist/types/src/tools/function.d.ts +4 -4
  209. package/dist/types/src/tools/function.d.ts.map +1 -1
  210. package/dist/types/src/tools/openapi.d.ts +3 -3
  211. package/dist/types/src/tools/openapi.d.ts.map +1 -1
  212. package/dist/types/src/translations.d.ts +6 -0
  213. package/dist/types/src/translations.d.ts.map +1 -1
  214. package/dist/types/src/types/chat.d.ts +18 -8
  215. package/dist/types/src/types/chat.d.ts.map +1 -1
  216. package/dist/types/src/types/service.d.ts +96 -95
  217. package/dist/types/src/types/service.d.ts.map +1 -1
  218. package/dist/types/src/types/template.d.ts +52 -52
  219. package/dist/types/src/types/template.d.ts.map +1 -1
  220. package/dist/types/src/types/types.d.ts +34 -23
  221. package/dist/types/src/types/types.d.ts.map +1 -1
  222. package/dist/types/tsconfig.tsbuildinfo +1 -1
  223. package/package.json +79 -61
  224. package/src/AssistantPlugin.tsx +12 -11
  225. package/src/capabilities/ai-client.ts +5 -6
  226. package/src/capabilities/app-graph-builder.ts +173 -135
  227. package/src/capabilities/capabilities.ts +1 -1
  228. package/src/capabilities/index.ts +1 -1
  229. package/src/capabilities/intent-resolver.ts +10 -11
  230. package/src/capabilities/react-surface.tsx +88 -22
  231. package/src/capabilities/settings.ts +2 -2
  232. package/src/components/AmbientDialog/AmbientDialog.stories.tsx +2 -2
  233. package/src/components/AmbientDialog/AmbientDialog.tsx +27 -13
  234. package/src/components/AssistantDialog.tsx +1 -1
  235. package/src/components/AssistantSettings/AssistantSettings.tsx +29 -7
  236. package/src/components/BlueprintEditor/BlueprintEditor.stories.tsx +32 -0
  237. package/src/components/BlueprintEditor/BlueprintEditor.tsx +40 -0
  238. package/src/components/BlueprintEditor/index.ts +7 -0
  239. package/src/components/ChatContainer.tsx +6 -8
  240. package/src/components/Prompt/Prompt.stories.tsx +60 -52
  241. package/src/components/Prompt/Prompt.tsx +24 -10
  242. package/src/components/Prompt/PromptBar.stories.tsx +69 -0
  243. package/src/components/Prompt/PromptBar.tsx +82 -88
  244. package/src/components/Prompt/autocomplete.ts +14 -8
  245. package/src/components/Prompt/references.ts +3 -3
  246. package/src/components/PromptSettings.tsx +91 -0
  247. package/src/components/TemplateContainer.tsx +3 -79
  248. package/src/components/TemplateEditor/TemplateEditor.stories.tsx +4 -4
  249. package/src/components/TemplateEditor/TemplateForm.stories.tsx +3 -3
  250. package/src/components/TemplateEditor/TemplateForm.tsx +2 -2
  251. package/src/components/Thread/Thread.stories.tsx +14 -17
  252. package/src/components/Thread/Thread.tsx +2 -2
  253. package/src/components/Thread/ThreadContainer.stories.tsx +83 -62
  254. package/src/components/Thread/ThreadContainer.tsx +26 -5
  255. package/src/components/Thread/ThreadMessage.tsx +49 -11
  256. package/src/components/Thread/ToolInvocations.tsx +9 -7
  257. package/src/components/Thread/reducer.ts +1 -1
  258. package/src/components/Toolbox/Toolbox.stories.tsx +4 -4
  259. package/src/components/Toolbox/Toolbox.tsx +5 -4
  260. package/src/components/index.ts +4 -1
  261. package/src/experimental/transcription/index.ts +3 -0
  262. package/src/hooks/index.ts +0 -1
  263. package/src/hooks/processor.ts +68 -8
  264. package/src/hooks/useChatProcessor.tsx +12 -11
  265. package/src/hooks/useContextProvider.ts +20 -17
  266. package/src/hooks/useMessageQueue.ts +5 -5
  267. package/src/meta.ts +2 -2
  268. package/src/parser/filter-generator.test.ts +32 -0
  269. package/src/parser/filter-generator.ts +81 -0
  270. package/src/parser/index.ts +7 -0
  271. package/src/parser/query-parser.test.ts +139 -0
  272. package/src/parser/query-parser.ts +199 -0
  273. package/src/parser/types.ts +34 -0
  274. package/src/shims.d.ts +8 -0
  275. package/src/stories/Prompt.stories.tsx +60 -0
  276. package/src/stories/Query.stories.tsx +515 -0
  277. package/src/stories/Research.stories.tsx +496 -0
  278. package/src/stories/test-data.ts +128 -0
  279. package/src/stories/testing.ts +60 -0
  280. package/src/testing/index.ts +1 -0
  281. package/src/testing/test-blueprint.ts +50 -0
  282. package/src/testing/test-functions.ts +1 -1
  283. package/src/testing/test-services.ts +6 -6
  284. package/src/tools/function.ts +11 -12
  285. package/src/tools/openapi.test.ts +18 -19
  286. package/src/tools/openapi.ts +24 -17
  287. package/src/translations.ts +14 -6
  288. package/src/types/chat.ts +27 -4
  289. package/src/types/service.ts +39 -37
  290. package/src/types/template.ts +27 -25
  291. package/src/types/types.ts +24 -19
  292. package/dist/lib/browser/AssistantDialog-YSHMAHW5.mjs +0 -117
  293. package/dist/lib/browser/AssistantDialog-YSHMAHW5.mjs.map +0 -7
  294. package/dist/lib/browser/ChatContainer-V5GP7DYF.mjs +0 -33
  295. package/dist/lib/browser/ChatContainer-V5GP7DYF.mjs.map +0 -7
  296. package/dist/lib/browser/TemplateContainer-K4EJNGIL.mjs +0 -78
  297. package/dist/lib/browser/TemplateContainer-K4EJNGIL.mjs.map +0 -7
  298. package/dist/lib/browser/ai-client-CDZLSNXE.mjs.map +0 -7
  299. package/dist/lib/browser/app-graph-builder-MF5EVDWW.mjs +0 -209
  300. package/dist/lib/browser/app-graph-builder-MF5EVDWW.mjs.map +0 -7
  301. package/dist/lib/browser/chunk-FMB7RGMP.mjs.map +0 -7
  302. package/dist/lib/browser/chunk-IAMR2FAE.mjs +0 -183
  303. package/dist/lib/browser/chunk-IAMR2FAE.mjs.map +0 -7
  304. package/dist/lib/browser/chunk-KYMKVE6M.mjs +0 -128
  305. package/dist/lib/browser/chunk-KYMKVE6M.mjs.map +0 -7
  306. package/dist/lib/browser/chunk-NFUHCW2J.mjs +0 -81
  307. package/dist/lib/browser/chunk-TXJWGWJ7.mjs.map +0 -7
  308. package/dist/lib/browser/intent-resolver-WJGLKKVO.mjs +0 -46
  309. package/dist/lib/browser/intent-resolver-WJGLKKVO.mjs.map +0 -7
  310. package/dist/lib/browser/react-surface-57VRDOQT.mjs +0 -90
  311. package/dist/lib/browser/react-surface-57VRDOQT.mjs.map +0 -7
  312. package/dist/lib/browser/settings-U6UFQX32.mjs.map +0 -7
  313. package/dist/lib/node/AssistantDialog-YI2BSGSX.cjs +0 -141
  314. package/dist/lib/node/AssistantDialog-YI2BSGSX.cjs.map +0 -7
  315. package/dist/lib/node/ChatContainer-ZJ5JXF6A.cjs.map +0 -7
  316. package/dist/lib/node/TemplateContainer-XWFYJB4T.cjs +0 -104
  317. package/dist/lib/node/TemplateContainer-XWFYJB4T.cjs.map +0 -7
  318. package/dist/lib/node/ai-client-URCCYU6B.cjs.map +0 -7
  319. package/dist/lib/node/app-graph-builder-N5ZUUI2Z.cjs +0 -220
  320. package/dist/lib/node/app-graph-builder-N5ZUUI2Z.cjs.map +0 -7
  321. package/dist/lib/node/chunk-APRU3QWK.cjs +0 -206
  322. package/dist/lib/node/chunk-APRU3QWK.cjs.map +0 -7
  323. package/dist/lib/node/chunk-GBUNQ257.cjs.map +0 -7
  324. package/dist/lib/node/chunk-RPBKMP2E.cjs.map +0 -7
  325. package/dist/lib/node/chunk-ZKOC4ZFY.cjs +0 -152
  326. package/dist/lib/node/chunk-ZKOC4ZFY.cjs.map +0 -7
  327. package/dist/lib/node/intent-resolver-R3OSTIMH.cjs.map +0 -7
  328. package/dist/lib/node/react-surface-NUQTM6MS.cjs +0 -106
  329. package/dist/lib/node/react-surface-NUQTM6MS.cjs.map +0 -7
  330. package/dist/lib/node/settings-TXGRCYAL.cjs.map +0 -7
  331. package/dist/lib/node-esm/AssistantDialog-U2FQX5TD.mjs +0 -118
  332. package/dist/lib/node-esm/AssistantDialog-U2FQX5TD.mjs.map +0 -7
  333. package/dist/lib/node-esm/ChatContainer-QW3OOXTT.mjs +0 -34
  334. package/dist/lib/node-esm/ChatContainer-QW3OOXTT.mjs.map +0 -7
  335. package/dist/lib/node-esm/TemplateContainer-EUM2X65J.mjs +0 -79
  336. package/dist/lib/node-esm/TemplateContainer-EUM2X65J.mjs.map +0 -7
  337. package/dist/lib/node-esm/ai-client-WMHS5EGV.mjs.map +0 -7
  338. package/dist/lib/node-esm/app-graph-builder-DWBNIMHM.mjs +0 -210
  339. package/dist/lib/node-esm/app-graph-builder-DWBNIMHM.mjs.map +0 -7
  340. package/dist/lib/node-esm/chunk-6JK5HEUQ.mjs.map +0 -7
  341. package/dist/lib/node-esm/chunk-GBBXIW5F.mjs +0 -129
  342. package/dist/lib/node-esm/chunk-GBBXIW5F.mjs.map +0 -7
  343. package/dist/lib/node-esm/chunk-MVDAY3CZ.mjs.map +0 -7
  344. package/dist/lib/node-esm/chunk-MXK2EANZ.mjs +0 -184
  345. package/dist/lib/node-esm/chunk-MXK2EANZ.mjs.map +0 -7
  346. package/dist/lib/node-esm/intent-resolver-H32TL4X6.mjs +0 -47
  347. package/dist/lib/node-esm/intent-resolver-H32TL4X6.mjs.map +0 -7
  348. package/dist/lib/node-esm/react-surface-JBVZF6CP.mjs +0 -91
  349. package/dist/lib/node-esm/react-surface-JBVZF6CP.mjs.map +0 -7
  350. package/dist/lib/node-esm/settings-DZU5PNXM.mjs.map +0 -7
  351. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.d.ts +0 -6
  352. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.d.ts.map +0 -1
  353. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.stories.d.ts +0 -8
  354. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.stories.d.ts.map +0 -1
  355. package/dist/types/src/components/ServiceRegistry/index.d.ts +0 -2
  356. package/dist/types/src/components/ServiceRegistry/index.d.ts.map +0 -1
  357. package/dist/types/src/hooks/invocation-handler.d.ts +0 -5
  358. package/dist/types/src/hooks/invocation-handler.d.ts.map +0 -1
  359. package/dist/types/src/hooks/useLocalTriggerManager.d.ts +0 -3
  360. package/dist/types/src/hooks/useLocalTriggerManager.d.ts.map +0 -1
  361. package/src/components/ServiceRegistry/ServiceRegistry.stories.tsx +0 -49
  362. package/src/components/ServiceRegistry/ServiceRegistry.tsx +0 -76
  363. package/src/components/ServiceRegistry/index.ts +0 -5
  364. package/src/hooks/invocation-handler.ts +0 -107
  365. package/src/hooks/useLocalTriggerManager.ts +0 -82
@@ -0,0 +1,157 @@
1
+ import {
2
+ LLM_PROVIDERS,
3
+ TemplateKinds
4
+ } from "./chunk-NBSPGIHL.mjs";
5
+ import {
6
+ ASSISTANT_PLUGIN
7
+ } from "./chunk-XOZ7YMO3.mjs";
8
+
9
+ // packages/plugins/plugin-assistant/src/components/AssistantSettings/AssistantSettings.tsx
10
+ import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
11
+ import React from "react";
12
+ import { DEFAULT_EDGE_MODELS, DEFAULT_OLLAMA_MODELS } from "@dxos/ai";
13
+ import { Input, Select, useTranslation } from "@dxos/react-ui";
14
+ import { DeprecatedFormContainer, DeprecatedFormInput } from "@dxos/react-ui-form";
15
+ var DEFAULT_VALUE = "__default";
16
+ var LLM_PROVIDER_LABELS = {
17
+ edge: "DXOS",
18
+ ollama: "Ollama",
19
+ lmstudio: "LM Studio"
20
+ };
21
+ var AssistantSettings = ({ settings }) => {
22
+ var _effect = _useSignals();
23
+ try {
24
+ const { t } = useTranslation(ASSISTANT_PLUGIN);
25
+ return /* @__PURE__ */ React.createElement(DeprecatedFormContainer, null, /* @__PURE__ */ React.createElement(DeprecatedFormInput, {
26
+ label: t("settings custom prompts label")
27
+ }, /* @__PURE__ */ React.createElement(Input.Switch, {
28
+ checked: !!settings.customPrompts,
29
+ onCheckedChange: (checked) => settings.customPrompts = checked
30
+ })), /* @__PURE__ */ React.createElement(DeprecatedFormInput, {
31
+ label: t("settings llm provider label")
32
+ }, /* @__PURE__ */ React.createElement(Select.Root, {
33
+ value: settings.llmProvider ?? "edge",
34
+ onValueChange: (value) => {
35
+ settings.llmProvider = value === DEFAULT_VALUE ? void 0 : value;
36
+ }
37
+ }, /* @__PURE__ */ React.createElement(Select.TriggerButton, {
38
+ placeholder: t("settings llm provider label")
39
+ }), /* @__PURE__ */ React.createElement(Select.Portal, null, /* @__PURE__ */ React.createElement(Select.Content, null, /* @__PURE__ */ React.createElement(Select.Viewport, null, /* @__PURE__ */ React.createElement(Select.Option, {
40
+ value: DEFAULT_VALUE
41
+ }, t("settings default label")), LLM_PROVIDERS.map((model) => /* @__PURE__ */ React.createElement(Select.Option, {
42
+ key: model,
43
+ value: model
44
+ }, LLM_PROVIDER_LABELS[model]))))))), /* @__PURE__ */ React.createElement(DeprecatedFormInput, {
45
+ label: t("settings edge llm model label")
46
+ }, /* @__PURE__ */ React.createElement(Select.Root, {
47
+ value: settings.edgeModel ?? DEFAULT_VALUE,
48
+ onValueChange: (value) => {
49
+ settings.edgeModel = value === DEFAULT_VALUE ? void 0 : value;
50
+ }
51
+ }, /* @__PURE__ */ React.createElement(Select.TriggerButton, {
52
+ placeholder: t("settings default llm model label")
53
+ }), /* @__PURE__ */ React.createElement(Select.Portal, null, /* @__PURE__ */ React.createElement(Select.Content, null, /* @__PURE__ */ React.createElement(Select.Viewport, null, /* @__PURE__ */ React.createElement(Select.Option, {
54
+ value: DEFAULT_VALUE
55
+ }, t("settings default label")), DEFAULT_EDGE_MODELS.map((model) => /* @__PURE__ */ React.createElement(Select.Option, {
56
+ key: model,
57
+ value: model
58
+ }, model))))))), /* @__PURE__ */ React.createElement(DeprecatedFormInput, {
59
+ label: t("settings ollama llm model label")
60
+ }, /* @__PURE__ */ React.createElement(Select.Root, {
61
+ value: settings.ollamaModel ?? DEFAULT_VALUE,
62
+ onValueChange: (value) => {
63
+ settings.ollamaModel = value === DEFAULT_VALUE ? void 0 : value;
64
+ }
65
+ }, /* @__PURE__ */ React.createElement(Select.TriggerButton, {
66
+ placeholder: t("settings default llm model label")
67
+ }), /* @__PURE__ */ React.createElement(Select.Portal, null, /* @__PURE__ */ React.createElement(Select.Content, null, /* @__PURE__ */ React.createElement(Select.Viewport, null, /* @__PURE__ */ React.createElement(Select.Option, {
68
+ value: DEFAULT_VALUE
69
+ }, t("settings default label")), DEFAULT_OLLAMA_MODELS.map((model) => /* @__PURE__ */ React.createElement(Select.Option, {
70
+ key: model,
71
+ value: model
72
+ }, model))))))));
73
+ } finally {
74
+ _effect.f();
75
+ }
76
+ };
77
+
78
+ // packages/plugins/plugin-assistant/src/components/PromptSettings.tsx
79
+ import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
80
+ import { Match } from "effect";
81
+ import React2, { useCallback } from "react";
82
+ import { debounce } from "@dxos/async";
83
+ import { Input as Input2, Select as Select2, Toolbar, useTranslation as useTranslation2 } from "@dxos/react-ui";
84
+ var PromptSettings = ({ template }) => {
85
+ var _effect = _useSignals2();
86
+ try {
87
+ const { t } = useTranslation2(ASSISTANT_PLUGIN);
88
+ const handleKindChange = useCallback((value) => {
89
+ const kind = Match.type().pipe(Match.withReturnType(), Match.when("always", () => ({
90
+ include: "always"
91
+ })), Match.when("schema-matching", () => ({
92
+ include: "schema-matching",
93
+ typename: ""
94
+ })), Match.when("automatically", () => ({
95
+ include: "automatically",
96
+ description: ""
97
+ })), Match.orElse(() => ({
98
+ include: "manual"
99
+ })))(value);
100
+ template.kind = kind;
101
+ }, [
102
+ template
103
+ ]);
104
+ const handleTypenameChange = useCallback(debounce((event) => {
105
+ if (template.kind.include === "schema-matching") {
106
+ template.kind.typename = event.target.value;
107
+ }
108
+ }, 300), [
109
+ template.kind.include
110
+ ]);
111
+ const handleDescriptionChange = useCallback(debounce((event) => {
112
+ if (template.kind.include === "automatically") {
113
+ template.kind.description = event.target.value;
114
+ }
115
+ }, 300), [
116
+ template.kind.include
117
+ ]);
118
+ return /* @__PURE__ */ React2.createElement("div", {
119
+ className: "p-2 flex flex-col gap-4"
120
+ }, /* @__PURE__ */ React2.createElement("h2", null, t("prompt rules label")), /* @__PURE__ */ React2.createElement(Toolbar.Root, null, /* @__PURE__ */ React2.createElement(Select2.Root, {
121
+ value: template.kind.include,
122
+ onValueChange: handleKindChange
123
+ }, /* @__PURE__ */ React2.createElement(Toolbar.Button, {
124
+ asChild: true
125
+ }, /* @__PURE__ */ React2.createElement(Select2.TriggerButton, null)), /* @__PURE__ */ React2.createElement(Select2.Portal, null, /* @__PURE__ */ React2.createElement(Select2.Content, null, /* @__PURE__ */ React2.createElement(Select2.Viewport, null, TemplateKinds.map((kind) => /* @__PURE__ */ React2.createElement(Select2.Option, {
126
+ key: kind,
127
+ value: kind
128
+ }, kind)))))), template.kind.include === "schema-matching" && /* @__PURE__ */ React2.createElement(Input2.Root, null, /* @__PURE__ */ React2.createElement(Input2.TextInput, {
129
+ placeholder: t("typename placeholder"),
130
+ defaultValue: template.kind.typename,
131
+ onChange: handleTypenameChange
132
+ })), template.kind.include === "automatically" && /* @__PURE__ */ React2.createElement(Input2.Root, null, /* @__PURE__ */ React2.createElement(Input2.TextInput, {
133
+ placeholder: t("description placeholder"),
134
+ defaultValue: template.kind.description,
135
+ onChange: handleDescriptionChange
136
+ }))));
137
+ } finally {
138
+ _effect.f();
139
+ }
140
+ };
141
+
142
+ // packages/plugins/plugin-assistant/src/components/index.ts
143
+ import { lazy } from "react";
144
+ var AssistantDialog = lazy(() => import("./AssistantDialog-UAZSN6GT.mjs"));
145
+ var BlueprintEditor = lazy(() => import("./BlueprintEditor-DGV4KJDM.mjs"));
146
+ var ChatContainer = lazy(() => import("./ChatContainer-UTN3AO5U.mjs"));
147
+ var TemplateContainer = lazy(() => import("./TemplateContainer-AKUYL4AV.mjs"));
148
+
149
+ export {
150
+ AssistantSettings,
151
+ PromptSettings,
152
+ AssistantDialog,
153
+ BlueprintEditor,
154
+ ChatContainer,
155
+ TemplateContainer
156
+ };
157
+ //# sourceMappingURL=chunk-6SD7S7W5.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/AssistantSettings/AssistantSettings.tsx", "../../../src/components/PromptSettings.tsx", "../../../src/components/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { DEFAULT_EDGE_MODELS, DEFAULT_OLLAMA_MODELS } from '@dxos/ai';\nimport { Input, Select, useTranslation } from '@dxos/react-ui';\nimport { DeprecatedFormContainer, DeprecatedFormInput } from '@dxos/react-ui-form';\n\nimport { ASSISTANT_PLUGIN } from '../../meta';\nimport { LLM_PROVIDERS, type AssistantSettingsProps } from '../../types';\n\n// TODO(burdon): Factor out default Selector.\nconst DEFAULT_VALUE = '__default';\n\nconst LLM_PROVIDER_LABELS = {\n edge: 'DXOS',\n ollama: 'Ollama',\n lmstudio: 'LM Studio',\n} as const;\n\nexport const AssistantSettings = ({ settings }: { settings: AssistantSettingsProps }) => {\n const { t } = useTranslation(ASSISTANT_PLUGIN);\n\n return (\n <DeprecatedFormContainer>\n <DeprecatedFormInput label={t('settings custom prompts label')}>\n <Input.Switch\n checked={!!settings.customPrompts}\n onCheckedChange={(checked) => (settings.customPrompts = checked)}\n />\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('settings llm provider label')}>\n <Select.Root\n value={settings.llmProvider ?? 'edge'}\n onValueChange={(value) => {\n settings.llmProvider = value === DEFAULT_VALUE ? undefined : (value as any);\n }}\n >\n <Select.TriggerButton placeholder={t('settings llm provider label')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n <Select.Option value={DEFAULT_VALUE}>{t('settings default label')}</Select.Option>\n {LLM_PROVIDERS.map((model) => (\n <Select.Option key={model} value={model}>\n {LLM_PROVIDER_LABELS[model]}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('settings edge llm model label')}>\n <Select.Root\n value={settings.edgeModel ?? DEFAULT_VALUE}\n onValueChange={(value) => {\n settings.edgeModel = value === DEFAULT_VALUE ? undefined : value;\n }}\n >\n <Select.TriggerButton placeholder={t('settings default llm model label')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n <Select.Option value={DEFAULT_VALUE}>{t('settings default label')}</Select.Option>\n {DEFAULT_EDGE_MODELS.map((model) => (\n <Select.Option key={model} value={model}>\n {model}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('settings ollama llm model label')}>\n <Select.Root\n value={settings.ollamaModel ?? DEFAULT_VALUE}\n onValueChange={(value) => {\n settings.ollamaModel = value === DEFAULT_VALUE ? undefined : value;\n }}\n >\n <Select.TriggerButton placeholder={t('settings default llm model label')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n <Select.Option value={DEFAULT_VALUE}>{t('settings default label')}</Select.Option>\n {DEFAULT_OLLAMA_MODELS.map((model) => (\n <Select.Option key={model} value={model}>\n {model}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </DeprecatedFormInput>\n </DeprecatedFormContainer>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Match, type Schema } from 'effect';\nimport React, { type ChangeEvent, useCallback } from 'react';\n\nimport { debounce } from '@dxos/async';\nimport { Input, Select, Toolbar, useTranslation } from '@dxos/react-ui';\n\nimport { ASSISTANT_PLUGIN } from '../meta';\nimport { TemplateKinds, type TemplateType, type TemplateKindSchema } from '../types';\n\nexport const PromptSettings = ({ template }: { template: TemplateType }) => {\n const { t } = useTranslation(ASSISTANT_PLUGIN);\n\n const handleKindChange = useCallback(\n (value: string) => {\n const kind = Match.type<string>().pipe(\n Match.withReturnType<Schema.Schema.Type<typeof TemplateKindSchema>>(),\n Match.when('always', () => ({ include: 'always' })),\n Match.when('schema-matching', () => ({ include: 'schema-matching', typename: '' })),\n Match.when('automatically', () => ({ include: 'automatically', description: '' })),\n Match.orElse(() => ({ include: 'manual' })),\n )(value);\n\n template.kind = kind;\n },\n [template],\n );\n\n const handleTypenameChange = useCallback(\n debounce((event: ChangeEvent<HTMLInputElement>) => {\n if (template.kind.include === 'schema-matching') {\n template.kind.typename = event.target.value;\n }\n }, 300),\n [template.kind.include],\n );\n\n const handleDescriptionChange = useCallback(\n debounce((event: ChangeEvent<HTMLInputElement>) => {\n if (template.kind.include === 'automatically') {\n template.kind.description = event.target.value;\n }\n }, 300),\n [template.kind.include],\n );\n\n return (\n <div className='p-2 flex flex-col gap-4'>\n <h2>{t('prompt rules label')}</h2>\n <Toolbar.Root>\n <Select.Root value={template.kind.include} onValueChange={handleKindChange}>\n <Toolbar.Button asChild>\n <Select.TriggerButton />\n </Toolbar.Button>\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n {TemplateKinds.map((kind) => (\n <Select.Option key={kind} value={kind}>\n {kind}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n {template.kind.include === 'schema-matching' && (\n <Input.Root>\n <Input.TextInput\n placeholder={t('typename placeholder')}\n defaultValue={template.kind.typename}\n onChange={handleTypenameChange}\n />\n </Input.Root>\n )}\n {template.kind.include === 'automatically' && (\n <Input.Root>\n <Input.TextInput\n placeholder={t('description placeholder')}\n defaultValue={template.kind.description}\n onChange={handleDescriptionChange}\n />\n </Input.Root>\n )}\n </Toolbar.Root>\n </div>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport * from './AmbientDialog';\nexport * from './AssistantSettings';\nexport * from './Prompt';\nexport * from './PromptSettings';\nexport * from './TemplateEditor';\nexport * from './Thread';\nexport * from './Toolbox';\n\n// TODO(burdon): Lazy loading causes issues with Tabster.\n// Repro: open assistant dialog then close.\n// https://github.com/microsoft/fluentui/issues/34020\nexport const AssistantDialog = lazy(() => import('./AssistantDialog'));\nexport const BlueprintEditor = lazy(() => import('./BlueprintEditor'));\nexport const ChatContainer = lazy(() => import('./ChatContainer'));\nexport const TemplateContainer = lazy(() => import('./TemplateContainer'));\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "DEFAULT_EDGE_MODELS", "DEFAULT_OLLAMA_MODELS", "Input", "Select", "useTranslation", "DeprecatedFormContainer", "DeprecatedFormInput", "DEFAULT_VALUE", "LLM_PROVIDER_LABELS", "edge", "ollama", "lmstudio", "AssistantSettings", "settings", "t", "useTranslation", "ASSISTANT_PLUGIN", "DeprecatedFormContainer", "DeprecatedFormInput", "label", "Input", "Switch", "checked", "customPrompts", "onCheckedChange", "Select", "Root", "value", "llmProvider", "onValueChange", "undefined", "TriggerButton", "placeholder", "Portal", "Content", "Viewport", "Option", "LLM_PROVIDERS", "map", "model", "key", "edgeModel", "DEFAULT_EDGE_MODELS", "ollamaModel", "DEFAULT_OLLAMA_MODELS", "Match", "React", "useCallback", "debounce", "Input", "Select", "Toolbar", "useTranslation", "PromptSettings", "template", "t", "useTranslation", "ASSISTANT_PLUGIN", "handleKindChange", "useCallback", "value", "kind", "Match", "type", "pipe", "withReturnType", "when", "include", "typename", "description", "orElse", "handleTypenameChange", "debounce", "event", "target", "handleDescriptionChange", "React", "div", "className", "h2", "Toolbar", "Root", "Select", "onValueChange", "Button", "asChild", "TriggerButton", "Portal", "Content", "Viewport", "TemplateKinds", "map", "Option", "key", "Input", "TextInput", "placeholder", "defaultValue", "onChange", "lazy", "AssistantDialog", "lazy", "BlueprintEditor", "ChatContainer", "TemplateContainer"]
7
+ }
@@ -0,0 +1,87 @@
1
+ import {
2
+ ASSISTANT_PLUGIN
3
+ } from "./chunk-XOZ7YMO3.mjs";
4
+
5
+ // packages/plugins/plugin-assistant/src/components/TemplateEditor/TemplateEditor.tsx
6
+ import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
7
+ import { HighlightStyle, LanguageSupport, syntaxHighlighting } from "@codemirror/language";
8
+ import { styleTags, tags } from "@lezer/highlight";
9
+ import { handlebarsLanguage } from "@xiechao/codemirror-lang-handlebars";
10
+ import React from "react";
11
+ import { createDocAccessor } from "@dxos/react-client/echo";
12
+ import { useThemeContext, useTranslation } from "@dxos/react-ui";
13
+ import { createBasicExtensions, createDataExtensions, createThemeExtensions, useTextEditor } from "@dxos/react-ui-editor";
14
+ import { mx } from "@dxos/react-ui-theme";
15
+ handlebarsLanguage.configure({
16
+ props: [
17
+ styleTags({
18
+ "---": tags.lineComment
19
+ })
20
+ ]
21
+ });
22
+ var TemplateEditor = ({ classNames, template }) => {
23
+ var _effect = _useSignals();
24
+ try {
25
+ const { t } = useTranslation(ASSISTANT_PLUGIN);
26
+ const { themeMode } = useThemeContext();
27
+ const { parentRef } = useTextEditor(() => ({
28
+ initialValue: template.source,
29
+ extensions: [
30
+ createDataExtensions({
31
+ id: template.id,
32
+ text: template.source !== void 0 ? createDocAccessor(template, [
33
+ "template"
34
+ ]) : void 0
35
+ }),
36
+ createBasicExtensions({
37
+ bracketMatching: false,
38
+ lineWrapping: true,
39
+ placeholder: t("template placeholder")
40
+ }),
41
+ createThemeExtensions({
42
+ themeMode,
43
+ slots: {
44
+ content: {
45
+ className: "!p-3"
46
+ }
47
+ }
48
+ }),
49
+ // https://github.com/xiechao/lang-handlebars
50
+ new LanguageSupport(handlebarsLanguage, syntaxHighlighting(handlebarsHighlightStyle))
51
+ ]
52
+ }), [
53
+ themeMode,
54
+ prompt
55
+ ]);
56
+ return /* @__PURE__ */ React.createElement("div", {
57
+ ref: parentRef,
58
+ className: mx(classNames)
59
+ });
60
+ } finally {
61
+ _effect.f();
62
+ }
63
+ };
64
+ var handlebarsHighlightStyle = HighlightStyle.define([
65
+ {
66
+ tag: tags.tagName,
67
+ class: "text-redText"
68
+ },
69
+ {
70
+ tag: tags.variableName,
71
+ class: "text-blueText"
72
+ },
73
+ {
74
+ tag: tags.keyword,
75
+ class: "text-greenText"
76
+ },
77
+ {
78
+ tag: tags.comment,
79
+ class: "text-subdued"
80
+ }
81
+ ]);
82
+
83
+ export {
84
+ TemplateEditor,
85
+ handlebarsHighlightStyle
86
+ };
87
+ //# sourceMappingURL=chunk-JQFUME3B.mjs.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/TemplateEditor/TemplateEditor.tsx"],
4
4
  "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { HighlightStyle, LanguageSupport, syntaxHighlighting } from '@codemirror/language';\nimport { styleTags, tags } from '@lezer/highlight';\nimport { handlebarsLanguage } from '@xiechao/codemirror-lang-handlebars';\nimport React from 'react';\n\nimport { createDocAccessor } from '@dxos/react-client/echo';\nimport { useThemeContext, useTranslation, type ThemedClassName } from '@dxos/react-ui';\nimport {\n createBasicExtensions,\n createDataExtensions,\n createThemeExtensions,\n useTextEditor,\n} from '@dxos/react-ui-editor';\nimport { mx } from '@dxos/react-ui-theme';\n\nimport { ASSISTANT_PLUGIN } from '../../meta';\nimport { type TemplateType } from '../../types';\n\nhandlebarsLanguage.configure({\n props: [\n styleTags({\n '---': tags.lineComment,\n }),\n ],\n});\n\nexport type TemplateEditorProps = ThemedClassName<{\n template: TemplateType;\n}>;\n\nexport const TemplateEditor = ({ classNames, template }: TemplateEditorProps) => {\n const { t } = useTranslation(ASSISTANT_PLUGIN);\n const { themeMode } = useThemeContext();\n const { parentRef } = useTextEditor(\n () => ({\n initialValue: template.source,\n extensions: [\n createDataExtensions({\n id: template.id,\n text: template.source !== undefined ? createDocAccessor(template, ['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\n // https://github.com/xiechao/lang-handlebars\n new LanguageSupport(handlebarsLanguage, syntaxHighlighting(handlebarsHighlightStyle)),\n ],\n }),\n [themeMode, prompt],\n );\n\n return <div ref={parentRef} className={mx(classNames)} />;\n};\n\n/**\n * https://github.com/xiechao/lang-handlebars/blob/direct/src/highlight.js\n */\nexport const handlebarsHighlightStyle = HighlightStyle.define([\n { tag: tags.tagName, class: 'text-redText' }, // Braces.\n { tag: tags.variableName, class: 'text-blueText' },\n { tag: tags.keyword, class: 'text-greenText' },\n { tag: tags.comment, class: 'text-subdued' },\n]);\n"],
5
- "mappings": ";;;;;;AAIA,SAASA,gBAAgBC,iBAAiBC,0BAA0B;AACpE,SAASC,WAAWC,YAAY;AAChC,SAASC,0BAA0B;AACnC,OAAOC,WAAW;AAElB,SAASC,yBAAyB;AAClC,SAASC,iBAAiBC,sBAA4C;AACtE,SACEC,uBACAC,sBACAC,uBACAC,qBACK;AACP,SAASC,UAAU;AAKnBC,mBAAmBC,UAAU;EAC3BC,OAAO;IACLC,UAAU;MACR,OAAOC,KAAKC;IACd,CAAA;;AAEJ,CAAA;AAMO,IAAMC,iBAAiB,CAAC,EAAEC,YAAYC,SAAQ,MAAuB;AAC1E,QAAM,EAAEC,EAAC,IAAKC,eAAeC,gBAAAA;AAC7B,QAAM,EAAEC,UAAS,IAAKC,gBAAAA;AACtB,QAAM,EAAEC,UAAS,IAAKC,cACpB,OAAO;IACLC,cAAcR,SAASS;IACvBC,YAAY;MACVC,qBAAqB;QACnBC,IAAIZ,SAASY;QACbC,MAAMb,SAASS,WAAWK,SAAYC,kBAAkBf,UAAU;UAAC;SAAW,IAAIc;MACpF,CAAA;MACAE,sBAAsB;QACpBC,iBAAiB;QACjBC,cAAc;QACdC,aAAalB,EAAE,sBAAA;MACjB,CAAA;MACAmB,sBAAsB;QACpBhB;QACAiB,OAAO;UACLC,SAAS;YAAEC,WAAW;UAAO;QAC/B;MACF,CAAA;;MAGA,IAAIC,gBAAgBhC,oBAAoBiC,mBAAmBC,wBAAAA,CAAAA;;EAE/D,IACA;IAACtB;IAAWuB;GAAO;AAGrB,SAAO,sBAAA,cAACC,OAAAA;IAAIC,KAAKvB;IAAWiB,WAAWO,GAAG/B,UAAAA;;AAC5C;AAKO,IAAM2B,2BAA2BK,eAAeC,OAAO;EAC5D;IAAEC,KAAKrC,KAAKsC;IAASC,OAAO;EAAe;EAC3C;IAAEF,KAAKrC,KAAKwC;IAAcD,OAAO;EAAgB;EACjD;IAAEF,KAAKrC,KAAKyC;IAASF,OAAO;EAAiB;EAC7C;IAAEF,KAAKrC,KAAK0C;IAASH,OAAO;EAAe;CAC5C;",
5
+ "mappings": ";;;;;;AAIA,SAASA,gBAAgBC,iBAAiBC,0BAA0B;AACpE,SAASC,WAAWC,YAAY;AAChC,SAASC,0BAA0B;AACnC,OAAOC,WAAW;AAElB,SAASC,yBAAyB;AAClC,SAASC,iBAAiBC,sBAA4C;AACtE,SACEC,uBACAC,sBACAC,uBACAC,qBACK;AACP,SAASC,UAAU;AAKnBC,mBAAmBC,UAAU;EAC3BC,OAAO;IACLC,UAAU;MACR,OAAOC,KAAKC;IACd,CAAA;;AAEJ,CAAA;AAMO,IAAMC,iBAAiB,CAAC,EAAEC,YAAYC,SAAQ,MAAuB;;;AAC1E,UAAM,EAAEC,EAAC,IAAKC,eAAeC,gBAAAA;AAC7B,UAAM,EAAEC,UAAS,IAAKC,gBAAAA;AACtB,UAAM,EAAEC,UAAS,IAAKC,cACpB,OAAO;MACLC,cAAcR,SAASS;MACvBC,YAAY;QACVC,qBAAqB;UACnBC,IAAIZ,SAASY;UACbC,MAAMb,SAASS,WAAWK,SAAYC,kBAAkBf,UAAU;YAAC;WAAW,IAAIc;QACpF,CAAA;QACAE,sBAAsB;UACpBC,iBAAiB;UACjBC,cAAc;UACdC,aAAalB,EAAE,sBAAA;QACjB,CAAA;QACAmB,sBAAsB;UACpBhB;UACAiB,OAAO;YACLC,SAAS;cAAEC,WAAW;YAAO;UAC/B;QACF,CAAA;;QAGA,IAAIC,gBAAgBhC,oBAAoBiC,mBAAmBC,wBAAAA,CAAAA;;IAE/D,IACA;MAACtB;MAAWuB;KAAO;AAGrB,WAAO,sBAAA,cAACC,OAAAA;MAAIC,KAAKvB;MAAWiB,WAAWO,GAAG/B,UAAAA;;;;;AAC5C;AAKO,IAAM2B,2BAA2BK,eAAeC,OAAO;EAC5D;IAAEC,KAAKrC,KAAKsC;IAASC,OAAO;EAAe;EAC3C;IAAEF,KAAKrC,KAAKwC;IAAcD,OAAO;EAAgB;EACjD;IAAEF,KAAKrC,KAAKyC;IAASF,OAAO;EAAiB;EAC7C;IAAEF,KAAKrC,KAAK0C;IAASH,OAAO;EAAe;CAC5C;",
6
6
  "names": ["HighlightStyle", "LanguageSupport", "syntaxHighlighting", "styleTags", "tags", "handlebarsLanguage", "React", "createDocAccessor", "useThemeContext", "useTranslation", "createBasicExtensions", "createDataExtensions", "createThemeExtensions", "useTextEditor", "mx", "handlebarsLanguage", "configure", "props", "styleTags", "tags", "lineComment", "TemplateEditor", "classNames", "template", "t", "useTranslation", "ASSISTANT_PLUGIN", "themeMode", "useThemeContext", "parentRef", "useTextEditor", "initialValue", "source", "extensions", "createDataExtensions", "id", "text", "undefined", "createDocAccessor", "createBasicExtensions", "bracketMatching", "lineWrapping", "placeholder", "createThemeExtensions", "slots", "content", "className", "LanguageSupport", "syntaxHighlighting", "handlebarsHighlightStyle", "prompt", "div", "ref", "mx", "HighlightStyle", "define", "tag", "tagName", "class", "variableName", "keyword", "comment"]
7
7
  }
@@ -0,0 +1,206 @@
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 { Blueprint } from "@dxos/assistant";
152
+ import { SpaceSchema } from "@dxos/react-client/echo";
153
+ (function(AssistantAction2) {
154
+ const ASSISTANT_ACTION = `${ASSISTANT_PLUGIN}/action`;
155
+ class CreateChat extends Schema4.TaggedClass()(`${ASSISTANT_ACTION}/create-chat`, {
156
+ input: Schema4.Struct({
157
+ space: SpaceSchema,
158
+ name: Schema4.optional(Schema4.String)
159
+ }),
160
+ output: Schema4.Struct({
161
+ object: AIChatType
162
+ })
163
+ }) {
164
+ }
165
+ AssistantAction2.CreateChat = CreateChat;
166
+ class CreateBlueprint extends Schema4.TaggedClass()(`${ASSISTANT_ACTION}/create-blueprint`, {
167
+ input: Schema4.Struct({
168
+ name: Schema4.optional(Schema4.String)
169
+ }),
170
+ output: Schema4.Struct({
171
+ object: Blueprint
172
+ })
173
+ }) {
174
+ }
175
+ AssistantAction2.CreateBlueprint = CreateBlueprint;
176
+ })(AssistantAction || (AssistantAction = {}));
177
+ var LLM_PROVIDERS = [
178
+ "edge",
179
+ "ollama",
180
+ "lmstudio"
181
+ ];
182
+ var AssistantSettingsSchema = Schema4.mutable(Schema4.Struct({
183
+ llmProvider: Schema4.optional(Schema4.Literal(...LLM_PROVIDERS)),
184
+ edgeModel: Schema4.optional(Schema4.String),
185
+ ollamaModel: Schema4.optional(Schema4.String),
186
+ lmstudioModel: Schema4.optional(Schema4.String),
187
+ customPrompts: Schema4.optional(Schema4.Boolean)
188
+ }));
189
+ var AssistantAction;
190
+
191
+ export {
192
+ AIChatType,
193
+ CompanionTo,
194
+ ApiAuthorization,
195
+ ServiceType,
196
+ categoryIcons,
197
+ TemplateInputType,
198
+ TemplateInputSchema,
199
+ TemplateKinds,
200
+ TemplateKindSchema,
201
+ TemplateType,
202
+ LLM_PROVIDERS,
203
+ AssistantSettingsSchema,
204
+ AssistantAction
205
+ };
206
+ //# sourceMappingURL=chunk-NBSPGIHL.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 { Blueprint } from '@dxos/assistant';\nimport { SpaceSchema } from '@dxos/react-client/echo';\n\nimport { AIChatType } from './chat';\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 CreateBlueprint extends Schema.TaggedClass<CreateBlueprint>()(`${ASSISTANT_ACTION}/create-blueprint`, {\n input: Schema.Struct({\n name: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: Blueprint,\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", "Blueprint", "SpaceSchema", "AssistantAction", "ASSISTANT_ACTION", "ASSISTANT_PLUGIN", "CreateChat", "Schema", "TaggedClass", "input", "Struct", "space", "SpaceSchema", "name", "optional", "String", "output", "object", "AIChatType", "CreateBlueprint", "Blueprint", "LLM_PROVIDERS", "AssistantSettingsSchema", "mutable", "llmProvider", "Literal", "edgeModel", "ollamaModel", "lmstudioModel", "customPrompts", "Boolean"]
7
+ }
@@ -0,0 +1,96 @@
1
+ // packages/plugins/plugin-assistant/src/components/AmbientDialog/AmbientDialog.tsx
2
+ import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
3
+ import React, { useCallback, useEffect, useState } from "react";
4
+ import { Dialog, Icon, IconButton } from "@dxos/react-ui";
5
+ import { resizeAttributes, ResizeHandle, sizeStyle } from "@dxos/react-ui-dnd";
6
+ import { mx } from "@dxos/react-ui-theme";
7
+ var preventDefault = (event) => event.preventDefault();
8
+ var minSize = 5;
9
+ var AmbientDialog = ({ children, open: controlledOpen, title, resizeable = true, onOpenChange, onEscape }) => {
10
+ var _effect = _useSignals();
11
+ try {
12
+ const [resizeKey, setReizeKey] = useState(0);
13
+ const [size, setSize] = useState("min-content");
14
+ const [open, setOpen] = useState(controlledOpen);
15
+ useEffect(() => {
16
+ setOpen(controlledOpen);
17
+ }, [
18
+ controlledOpen
19
+ ]);
20
+ useEffect(() => {
21
+ setSize(open ? "min-content" : minSize);
22
+ setReizeKey((key) => key + 1);
23
+ }, [
24
+ open
25
+ ]);
26
+ const handleToggle = useCallback(() => {
27
+ setOpen((open2) => {
28
+ onOpenChange?.(!open2);
29
+ return !open2;
30
+ });
31
+ }, []);
32
+ return /* @__PURE__ */ React.createElement("div", {
33
+ role: "none",
34
+ className: "dx-dialog__overlay bg-transparent pointer-events-none",
35
+ "data-block-align": "end"
36
+ }, /* @__PURE__ */ React.createElement(Dialog.Content, {
37
+ classNames: 'relative box-content p-0 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',
38
+ inOverlayLayout: true,
39
+ ...resizeAttributes,
40
+ style: {
41
+ ...resizeable ? sizeStyle(size, "vertical", true) : {},
42
+ maxBlockSize: "calc(100dvh - env(safe-area-inset-bottom) - env(safe-area-inset-top) - 9rem)"
43
+ },
44
+ onEscapeKeyDown: onEscape,
45
+ onInteractOutside: preventDefault
46
+ }, resizeable && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(ResizeHandle, {
47
+ key: resizeKey,
48
+ side: "block-start",
49
+ defaultSize: "min-content",
50
+ minSize,
51
+ fallbackSize: minSize,
52
+ iconPosition: "center",
53
+ onSizeChange: setSize
54
+ }), /* @__PURE__ */ React.createElement(DialogHeader, {
55
+ open,
56
+ title,
57
+ onToggle: handleToggle
58
+ })) || /* @__PURE__ */ React.createElement(Dialog.Title, {
59
+ srOnly: true
60
+ }), children));
61
+ } finally {
62
+ _effect.f();
63
+ }
64
+ };
65
+ var DialogHeader = ({ open, title, onToggle }) => {
66
+ var _effect = _useSignals();
67
+ try {
68
+ return /* @__PURE__ */ React.createElement("div", {
69
+ className: "flex shrink-0 w-full grid grid-cols-[var(--rail-action)_1fr_var(--rail-action)] items-center overflow-hidden"
70
+ }, /* @__PURE__ */ React.createElement("div", {
71
+ className: "flex w-[--rail-action] h-[--rail-action] items-center justify-center"
72
+ }, /* @__PURE__ */ React.createElement(Dialog.Close, null, /* @__PURE__ */ React.createElement(Icon, {
73
+ icon: "ph--x--regular"
74
+ }))), /* @__PURE__ */ React.createElement("div", {
75
+ className: "grow"
76
+ }, /* @__PURE__ */ React.createElement(Dialog.Title, {
77
+ classNames: "flex justify-center text-xs text-subdued"
78
+ }, title)), /* @__PURE__ */ React.createElement("div", {
79
+ className: "flex w-[--rail-action] h-[--rail-action] items-center justify-center"
80
+ }, /* @__PURE__ */ React.createElement(IconButton, {
81
+ variant: "ghost",
82
+ icon: "ph--caret-up--regular",
83
+ classNames: mx("[&>svg]:transition [&>svg]:duration-200", open && "[&>svg]:rotate-180"),
84
+ iconOnly: true,
85
+ label: "Shrink",
86
+ onClick: onToggle
87
+ })));
88
+ } finally {
89
+ _effect.f();
90
+ }
91
+ };
92
+
93
+ export {
94
+ AmbientDialog
95
+ };
96
+ //# sourceMappingURL=chunk-Q6UZ4F3H.mjs.map