@dxos/plugin-assistant 0.8.1-main.303c73a → 0.8.1-main.81238a8

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 (216) hide show
  1. package/dist/lib/browser/{AssistantDialog-T5OJUIIV.mjs → AssistantDialog-L5RHNMU4.mjs} +6 -5
  2. package/dist/lib/browser/{AssistantDialog-T5OJUIIV.mjs.map → AssistantDialog-L5RHNMU4.mjs.map} +3 -3
  3. package/dist/lib/browser/{ChatContainer-FEZ323HB.mjs → ChatContainer-EEEVE62F.mjs} +5 -5
  4. package/dist/lib/browser/TemplateContainer-7IQ6V5AD.mjs +78 -0
  5. package/dist/lib/browser/TemplateContainer-7IQ6V5AD.mjs.map +7 -0
  6. package/dist/lib/browser/ai-client-BAPVMSNX.mjs +35 -0
  7. package/dist/lib/browser/ai-client-BAPVMSNX.mjs.map +7 -0
  8. package/dist/lib/browser/{app-graph-builder-AXAIFOGV.mjs → app-graph-builder-DTCUWBKB.mjs} +57 -13
  9. package/dist/lib/browser/app-graph-builder-DTCUWBKB.mjs.map +7 -0
  10. package/dist/lib/browser/{chunk-TCAE72QU.mjs → chunk-5RMJYOT7.mjs} +34 -12
  11. package/dist/lib/browser/chunk-5RMJYOT7.mjs.map +7 -0
  12. package/dist/lib/browser/{chunk-EUMPBC4T.mjs → chunk-6FTPLBSC.mjs} +2 -2
  13. package/dist/lib/browser/{chunk-NV7SVHMV.mjs → chunk-AF7VQAKS.mjs} +1 -1
  14. package/dist/lib/browser/{chunk-NV7SVHMV.mjs.map → chunk-AF7VQAKS.mjs.map} +2 -2
  15. package/dist/lib/browser/{chunk-NTLTGYYS.mjs → chunk-SVUCJXGN.mjs} +2 -2
  16. package/dist/lib/browser/chunk-SVUCJXGN.mjs.map +7 -0
  17. package/dist/lib/browser/{chunk-FRIKXDDQ.mjs → chunk-X6ALDUA5.mjs} +26 -4
  18. package/dist/lib/browser/chunk-X6ALDUA5.mjs.map +7 -0
  19. package/dist/lib/browser/{chunk-SUUECBDM.mjs → chunk-XFUCWOMV.mjs} +261 -60
  20. package/dist/lib/browser/chunk-XFUCWOMV.mjs.map +7 -0
  21. package/dist/lib/browser/index.mjs +21 -11
  22. package/dist/lib/browser/index.mjs.map +3 -3
  23. package/dist/lib/browser/{intent-resolver-QRVRZL6K.mjs → intent-resolver-U57FXP3I.mjs} +6 -3
  24. package/dist/lib/browser/{intent-resolver-QRVRZL6K.mjs.map → intent-resolver-U57FXP3I.mjs.map} +3 -3
  25. package/dist/lib/browser/meta.json +1 -1
  26. package/dist/lib/browser/{react-surface-B463WHMD.mjs → react-surface-KFLHNDNR.mjs} +10 -9
  27. package/dist/lib/browser/react-surface-KFLHNDNR.mjs.map +7 -0
  28. package/dist/lib/browser/{settings-JTT62IHD.mjs → settings-VAW6UWFL.mjs} +3 -3
  29. package/dist/lib/browser/types/index.mjs +6 -2
  30. package/dist/lib/node/{AssistantDialog-EZ5RBGPX.cjs → AssistantDialog-VIB7GPQN.cjs} +12 -11
  31. package/dist/lib/node/{AssistantDialog-EZ5RBGPX.cjs.map → AssistantDialog-VIB7GPQN.cjs.map} +3 -3
  32. package/dist/lib/node/{ChatContainer-FNYVBPZZ.cjs → ChatContainer-BPI3GEZS.cjs} +10 -10
  33. package/dist/lib/node/TemplateContainer-VPAZRFQA.cjs +104 -0
  34. package/dist/lib/node/TemplateContainer-VPAZRFQA.cjs.map +7 -0
  35. package/dist/lib/node/{ai-client-RBDOGK6W.cjs → ai-client-5ESLYXAV.cjs} +19 -19
  36. package/dist/lib/node/ai-client-5ESLYXAV.cjs.map +7 -0
  37. package/dist/lib/node/{app-graph-builder-D7SHQTZS.cjs → app-graph-builder-3P6WSON2.cjs} +63 -20
  38. package/dist/lib/node/app-graph-builder-3P6WSON2.cjs.map +7 -0
  39. package/dist/lib/node/{chunk-37GI4NYH.cjs → chunk-KLSNCP34.cjs} +33 -9
  40. package/dist/lib/node/chunk-KLSNCP34.cjs.map +7 -0
  41. package/dist/lib/node/{chunk-NV4TQQSU.cjs → chunk-N3SW6DJ6.cjs} +6 -6
  42. package/dist/lib/node/{chunk-RWY7LVFJ.cjs → chunk-OJJ4F6KP.cjs} +266 -69
  43. package/dist/lib/node/chunk-OJJ4F6KP.cjs.map +7 -0
  44. package/dist/lib/node/{chunk-GNPXCHFT.cjs → chunk-U6J2GO7I.cjs} +4 -4
  45. package/dist/lib/node/{chunk-GNPXCHFT.cjs.map → chunk-U6J2GO7I.cjs.map} +2 -2
  46. package/dist/lib/node/{chunk-3WXG6WA6.cjs → chunk-VRXFIS4X.cjs} +6 -6
  47. package/dist/lib/node/chunk-VRXFIS4X.cjs.map +7 -0
  48. package/dist/lib/node/{chunk-PMA7XUWM.cjs → chunk-WFVOWPKV.cjs} +40 -18
  49. package/dist/lib/node/chunk-WFVOWPKV.cjs.map +7 -0
  50. package/dist/lib/node/index.cjs +73 -63
  51. package/dist/lib/node/index.cjs.map +3 -3
  52. package/dist/lib/node/{intent-resolver-YMMAFVOB.cjs → intent-resolver-YIFAMM3B.cjs} +13 -10
  53. package/dist/lib/node/{intent-resolver-YMMAFVOB.cjs.map → intent-resolver-YIFAMM3B.cjs.map} +3 -3
  54. package/dist/lib/node/meta.json +1 -1
  55. package/dist/lib/node/{react-surface-RTYCL4GP.cjs → react-surface-REI6G6B3.cjs} +25 -24
  56. package/dist/lib/node/react-surface-REI6G6B3.cjs.map +7 -0
  57. package/dist/lib/node/{settings-4YEO7KXF.cjs → settings-2FEYGLYU.cjs} +8 -8
  58. package/dist/lib/node/types/index.cjs +15 -11
  59. package/dist/lib/node/types/index.cjs.map +2 -2
  60. package/dist/lib/node-esm/{AssistantDialog-57ZCJNSL.mjs → AssistantDialog-R3EPF2KL.mjs} +6 -5
  61. package/dist/lib/node-esm/{AssistantDialog-57ZCJNSL.mjs.map → AssistantDialog-R3EPF2KL.mjs.map} +3 -3
  62. package/dist/lib/node-esm/{ChatContainer-XYNXFPFT.mjs → ChatContainer-UJ7MV7GU.mjs} +5 -5
  63. package/dist/lib/node-esm/TemplateContainer-YLA6BJY6.mjs +79 -0
  64. package/dist/lib/node-esm/TemplateContainer-YLA6BJY6.mjs.map +7 -0
  65. package/dist/lib/node-esm/ai-client-XYZ5N7CR.mjs +36 -0
  66. package/dist/lib/node-esm/ai-client-XYZ5N7CR.mjs.map +7 -0
  67. package/dist/lib/node-esm/{app-graph-builder-H2GC2AZA.mjs → app-graph-builder-PMAQLTTN.mjs} +57 -13
  68. package/dist/lib/node-esm/app-graph-builder-PMAQLTTN.mjs.map +7 -0
  69. package/dist/lib/node-esm/{chunk-ICQN3TDS.mjs → chunk-2CIYX3SD.mjs} +2 -2
  70. package/dist/lib/node-esm/chunk-2CIYX3SD.mjs.map +7 -0
  71. package/dist/lib/node-esm/{chunk-YVEPFSWR.mjs → chunk-6GBMQIW7.mjs} +34 -12
  72. package/dist/lib/node-esm/chunk-6GBMQIW7.mjs.map +7 -0
  73. package/dist/lib/node-esm/{chunk-3HFSWIA5.mjs → chunk-AMTHOYNB.mjs} +261 -60
  74. package/dist/lib/node-esm/chunk-AMTHOYNB.mjs.map +7 -0
  75. package/dist/lib/node-esm/{chunk-LBQGJE5T.mjs → chunk-J63VQFQO.mjs} +2 -2
  76. package/dist/lib/node-esm/{chunk-7SV6X6XU.mjs → chunk-N6BVC2C2.mjs} +1 -1
  77. package/dist/lib/node-esm/{chunk-7SV6X6XU.mjs.map → chunk-N6BVC2C2.mjs.map} +2 -2
  78. package/dist/lib/node-esm/{chunk-CJ4Y3QW5.mjs → chunk-NMMRHHAR.mjs} +26 -4
  79. package/dist/lib/node-esm/chunk-NMMRHHAR.mjs.map +7 -0
  80. package/dist/lib/node-esm/index.mjs +21 -11
  81. package/dist/lib/node-esm/index.mjs.map +3 -3
  82. package/dist/lib/node-esm/{intent-resolver-MR7BOKEW.mjs → intent-resolver-SQ4HLL5L.mjs} +6 -3
  83. package/dist/lib/node-esm/{intent-resolver-MR7BOKEW.mjs.map → intent-resolver-SQ4HLL5L.mjs.map} +3 -3
  84. package/dist/lib/node-esm/meta.json +1 -1
  85. package/dist/lib/node-esm/{react-surface-Y4RK56TT.mjs → react-surface-LE57AGPI.mjs} +10 -9
  86. package/dist/lib/node-esm/react-surface-LE57AGPI.mjs.map +7 -0
  87. package/dist/lib/node-esm/{settings-S7P5RWQI.mjs → settings-VHR5KT4J.mjs} +3 -3
  88. package/dist/lib/node-esm/types/index.mjs +6 -2
  89. package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
  90. package/dist/types/src/capabilities/ai-client.d.ts +2 -1
  91. package/dist/types/src/capabilities/ai-client.d.ts.map +1 -1
  92. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  93. package/dist/types/src/capabilities/capabilities.d.ts +2 -1
  94. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  95. package/dist/types/src/capabilities/index.d.ts +1 -1
  96. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  97. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  98. package/dist/types/src/components/AssistantDialog.d.ts.map +1 -1
  99. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts.map +1 -1
  100. package/dist/types/src/components/Prompt/Prompt.d.ts +3 -0
  101. package/dist/types/src/components/Prompt/Prompt.d.ts.map +1 -1
  102. package/dist/types/src/components/Prompt/Prompt.stories.d.ts +1 -0
  103. package/dist/types/src/components/Prompt/Prompt.stories.d.ts.map +1 -1
  104. package/dist/types/src/components/Prompt/PromptBar.d.ts +2 -2
  105. package/dist/types/src/components/Prompt/PromptBar.d.ts.map +1 -1
  106. package/dist/types/src/components/Prompt/references.d.ts +30 -0
  107. package/dist/types/src/components/Prompt/references.d.ts.map +1 -0
  108. package/dist/types/src/components/TemplateContainer.d.ts.map +1 -1
  109. package/dist/types/src/components/Thread/Thread.d.ts +11 -1
  110. package/dist/types/src/components/Thread/Thread.d.ts.map +1 -1
  111. package/dist/types/src/components/Thread/ThreadContainer.d.ts +1 -0
  112. package/dist/types/src/components/Thread/ThreadContainer.d.ts.map +1 -1
  113. package/dist/types/src/components/Thread/ThreadContainer.stories.d.ts.map +1 -1
  114. package/dist/types/src/components/Thread/ThreadMessage.d.ts.map +1 -1
  115. package/dist/types/src/components/Toolbox/Toolbox.d.ts +1 -1
  116. package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
  117. package/dist/types/src/components/index.d.ts.map +1 -1
  118. package/dist/types/src/hooks/index.d.ts +1 -0
  119. package/dist/types/src/hooks/index.d.ts.map +1 -1
  120. package/dist/types/src/hooks/invocation-handler.d.ts +1 -1
  121. package/dist/types/src/hooks/invocation-handler.d.ts.map +1 -1
  122. package/dist/types/src/hooks/processor.d.ts +2 -2
  123. package/dist/types/src/hooks/processor.d.ts.map +1 -1
  124. package/dist/types/src/hooks/useChatProcessor.d.ts +9 -2
  125. package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
  126. package/dist/types/src/hooks/useContextProvider.d.ts +17 -0
  127. package/dist/types/src/hooks/useContextProvider.d.ts.map +1 -0
  128. package/dist/types/src/hooks/useMessageQueue.d.ts +4 -4
  129. package/dist/types/src/hooks/useMessageQueue.d.ts.map +1 -1
  130. package/dist/types/src/meta.d.ts +2 -8
  131. package/dist/types/src/meta.d.ts.map +1 -1
  132. package/dist/types/src/testing/test-functions.d.ts.map +1 -1
  133. package/dist/types/src/tools/function.d.ts +1 -1
  134. package/dist/types/src/tools/function.d.ts.map +1 -1
  135. package/dist/types/src/translations.d.ts +21 -6
  136. package/dist/types/src/translations.d.ts.map +1 -1
  137. package/dist/types/src/types/service.d.ts +1 -1
  138. package/dist/types/src/types/service.d.ts.map +1 -1
  139. package/dist/types/src/types/template.d.ts +36 -0
  140. package/dist/types/src/types/template.d.ts.map +1 -1
  141. package/dist/types/src/types/types.d.ts +3 -1
  142. package/dist/types/src/types/types.d.ts.map +1 -1
  143. package/package.json +56 -55
  144. package/src/AssistantPlugin.tsx +11 -2
  145. package/src/capabilities/ai-client.ts +23 -7
  146. package/src/capabilities/app-graph-builder.ts +48 -4
  147. package/src/capabilities/capabilities.ts +3 -1
  148. package/src/capabilities/intent-resolver.ts +1 -1
  149. package/src/capabilities/react-surface.tsx +3 -2
  150. package/src/components/AssistantDialog.tsx +7 -1
  151. package/src/components/AssistantSettings/AssistantSettings.tsx +39 -5
  152. package/src/components/Prompt/Prompt.stories.tsx +34 -0
  153. package/src/components/Prompt/Prompt.tsx +9 -2
  154. package/src/components/Prompt/PromptBar.tsx +3 -1
  155. package/src/components/Prompt/references.ts +180 -0
  156. package/src/components/TemplateContainer.tsx +79 -4
  157. package/src/components/TemplateEditor/TemplateEditor.stories.tsx +1 -1
  158. package/src/components/TemplateEditor/TemplateForm.stories.tsx +1 -1
  159. package/src/components/Thread/Thread.tsx +21 -0
  160. package/src/components/Thread/ThreadContainer.stories.tsx +3 -6
  161. package/src/components/Thread/ThreadContainer.tsx +7 -4
  162. package/src/components/Thread/ThreadMessage.tsx +17 -9
  163. package/src/components/Toolbox/Toolbox.tsx +1 -1
  164. package/src/components/index.ts +3 -0
  165. package/src/hooks/index.ts +1 -0
  166. package/src/hooks/invocation-handler.ts +3 -5
  167. package/src/hooks/processor.ts +5 -5
  168. package/src/hooks/useChatProcessor.tsx +24 -15
  169. package/src/hooks/useContextProvider.ts +55 -0
  170. package/src/hooks/useLocalTriggerManager.ts +1 -1
  171. package/src/hooks/useMessageQueue.ts +2 -4
  172. package/src/meta.ts +2 -2
  173. package/src/testing/test-functions.ts +2 -2
  174. package/src/tools/function.ts +2 -2
  175. package/src/translations.ts +8 -3
  176. package/src/types/service.ts +1 -1
  177. package/src/types/template.ts +22 -0
  178. package/src/types/types.ts +3 -1
  179. package/dist/lib/browser/TemplateContainer-B7MQNUPY.mjs +0 -23
  180. package/dist/lib/browser/TemplateContainer-B7MQNUPY.mjs.map +0 -7
  181. package/dist/lib/browser/ai-client-PORKRZXM.mjs +0 -33
  182. package/dist/lib/browser/ai-client-PORKRZXM.mjs.map +0 -7
  183. package/dist/lib/browser/app-graph-builder-AXAIFOGV.mjs.map +0 -7
  184. package/dist/lib/browser/chunk-FRIKXDDQ.mjs.map +0 -7
  185. package/dist/lib/browser/chunk-NTLTGYYS.mjs.map +0 -7
  186. package/dist/lib/browser/chunk-SUUECBDM.mjs.map +0 -7
  187. package/dist/lib/browser/chunk-TCAE72QU.mjs.map +0 -7
  188. package/dist/lib/browser/react-surface-B463WHMD.mjs.map +0 -7
  189. package/dist/lib/node/TemplateContainer-R4BZZP3E.cjs +0 -53
  190. package/dist/lib/node/TemplateContainer-R4BZZP3E.cjs.map +0 -7
  191. package/dist/lib/node/ai-client-RBDOGK6W.cjs.map +0 -7
  192. package/dist/lib/node/app-graph-builder-D7SHQTZS.cjs.map +0 -7
  193. package/dist/lib/node/chunk-37GI4NYH.cjs.map +0 -7
  194. package/dist/lib/node/chunk-3WXG6WA6.cjs.map +0 -7
  195. package/dist/lib/node/chunk-PMA7XUWM.cjs.map +0 -7
  196. package/dist/lib/node/chunk-RWY7LVFJ.cjs.map +0 -7
  197. package/dist/lib/node/react-surface-RTYCL4GP.cjs.map +0 -7
  198. package/dist/lib/node-esm/TemplateContainer-WSHTZBB5.mjs +0 -24
  199. package/dist/lib/node-esm/TemplateContainer-WSHTZBB5.mjs.map +0 -7
  200. package/dist/lib/node-esm/ai-client-OTZVBDUH.mjs +0 -34
  201. package/dist/lib/node-esm/ai-client-OTZVBDUH.mjs.map +0 -7
  202. package/dist/lib/node-esm/app-graph-builder-H2GC2AZA.mjs.map +0 -7
  203. package/dist/lib/node-esm/chunk-3HFSWIA5.mjs.map +0 -7
  204. package/dist/lib/node-esm/chunk-CJ4Y3QW5.mjs.map +0 -7
  205. package/dist/lib/node-esm/chunk-ICQN3TDS.mjs.map +0 -7
  206. package/dist/lib/node-esm/chunk-YVEPFSWR.mjs.map +0 -7
  207. package/dist/lib/node-esm/react-surface-Y4RK56TT.mjs.map +0 -7
  208. /package/dist/lib/browser/{ChatContainer-FEZ323HB.mjs.map → ChatContainer-EEEVE62F.mjs.map} +0 -0
  209. /package/dist/lib/browser/{chunk-EUMPBC4T.mjs.map → chunk-6FTPLBSC.mjs.map} +0 -0
  210. /package/dist/lib/browser/{settings-JTT62IHD.mjs.map → settings-VAW6UWFL.mjs.map} +0 -0
  211. /package/dist/lib/node/{ChatContainer-FNYVBPZZ.cjs.map → ChatContainer-BPI3GEZS.cjs.map} +0 -0
  212. /package/dist/lib/node/{chunk-NV4TQQSU.cjs.map → chunk-N3SW6DJ6.cjs.map} +0 -0
  213. /package/dist/lib/node/{settings-4YEO7KXF.cjs.map → settings-2FEYGLYU.cjs.map} +0 -0
  214. /package/dist/lib/node-esm/{ChatContainer-XYNXFPFT.mjs.map → ChatContainer-UJ7MV7GU.mjs.map} +0 -0
  215. /package/dist/lib/node-esm/{chunk-LBQGJE5T.mjs.map → chunk-J63VQFQO.mjs.map} +0 -0
  216. /package/dist/lib/node-esm/{settings-S7P5RWQI.mjs.map → settings-VHR5KT4J.mjs.map} +0 -0
@@ -26,8 +26,8 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var chunk_RWY7LVFJ_exports = {};
30
- __export(chunk_RWY7LVFJ_exports, {
29
+ var chunk_OJJ4F6KP_exports = {};
30
+ __export(chunk_OJJ4F6KP_exports, {
31
31
  AiClient: () => AiClient,
32
32
  AppGraphBuilder: () => AppGraphBuilder,
33
33
  AssistantSettings: () => AssistantSettings,
@@ -39,20 +39,20 @@ __export(chunk_RWY7LVFJ_exports, {
39
39
  ToolboxContainer: () => ToolboxContainer,
40
40
  useServices: () => useServices
41
41
  });
42
- module.exports = __toCommonJS(chunk_RWY7LVFJ_exports);
43
- var import_chunk_3WXG6WA6 = require("./chunk-3WXG6WA6.cjs");
44
- var import_chunk_37GI4NYH = require("./chunk-37GI4NYH.cjs");
45
- var import_chunk_GNPXCHFT = require("./chunk-GNPXCHFT.cjs");
42
+ module.exports = __toCommonJS(chunk_OJJ4F6KP_exports);
43
+ var import_chunk_VRXFIS4X = require("./chunk-VRXFIS4X.cjs");
44
+ var import_chunk_KLSNCP34 = require("./chunk-KLSNCP34.cjs");
45
+ var import_chunk_U6J2GO7I = require("./chunk-U6J2GO7I.cjs");
46
46
  var import_react = __toESM(require("react"));
47
47
  var import_app_framework = require("@dxos/app-framework");
48
48
  var import_artifact = require("@dxos/artifact");
49
- var import_functions = require("@dxos/functions");
49
+ var import_types = require("@dxos/functions/types");
50
50
  var import_log = require("@dxos/log");
51
51
  var import_echo = require("@dxos/react-client/echo");
52
52
  var import_react_ui_theme = require("@dxos/react-ui-theme");
53
53
  var import_artifact2 = require("@dxos/artifact");
54
54
  var import_echo_schema = require("@dxos/echo-schema");
55
- var import_functions2 = require("@dxos/functions");
55
+ var import_types2 = require("@dxos/functions/types");
56
56
  var import_log2 = require("@dxos/log");
57
57
  var import_echo2 = require("@dxos/react-client/echo");
58
58
  var import_jsonpointer = __toESM(require("jsonpointer"));
@@ -84,6 +84,10 @@ var import_react_ui_editor = require("@dxos/react-ui-editor");
84
84
  var import_react_ui_theme4 = require("@dxos/react-ui-theme");
85
85
  var import_state = require("@codemirror/state");
86
86
  var import_view = require("@codemirror/view");
87
+ var import_autocomplete = require("@codemirror/autocomplete");
88
+ var import_state2 = require("@codemirror/state");
89
+ var import_view2 = require("@codemirror/view");
90
+ var import_async = require("@dxos/async");
87
91
  var import_react6 = __toESM(require("react"));
88
92
  var import_plugin_transcription = require("@dxos/plugin-transcription");
89
93
  var import_react_ui3 = require("@dxos/react-ui");
@@ -103,46 +107,50 @@ var import_react8 = require("react");
103
107
  var import_app_framework2 = require("@dxos/app-framework");
104
108
  var import_artifact5 = require("@dxos/artifact");
105
109
  var import_assistant2 = require("@dxos/assistant");
106
- var import_functions3 = require("@dxos/functions");
110
+ var import_types3 = require("@dxos/functions/types");
107
111
  var import_log7 = require("@dxos/log");
108
112
  var import_react_client = require("@dxos/react-client");
109
113
  var import_echo4 = require("@dxos/react-client/echo");
110
114
  var import_util5 = require("@dxos/util");
111
115
  var import_app_framework3 = require("@dxos/app-framework");
112
116
  var import_react9 = require("react");
113
- var import_async = require("@dxos/async");
117
+ var import_async2 = require("@dxos/async");
114
118
  var import_context = require("@dxos/context");
115
- var import_functions4 = require("@dxos/functions");
116
- var import_functions5 = require("@dxos/functions");
119
+ var import_functions = require("@dxos/functions");
120
+ var import_types4 = require("@dxos/functions/types");
117
121
  var import_invariant5 = require("@dxos/invariant");
118
122
  var import_log8 = require("@dxos/log");
119
123
  var import_react_client2 = require("@dxos/react-client");
120
124
  var import_echo5 = require("@dxos/react-client/echo");
121
- var import_async2 = require("@dxos/async");
125
+ var import_async3 = require("@dxos/async");
122
126
  var import_echo_db = require("@dxos/echo-db");
123
- var import_functions6 = require("@dxos/functions");
127
+ var import_types5 = require("@dxos/functions/types");
124
128
  var import_invariant6 = require("@dxos/invariant");
125
129
  var import_keys = require("@dxos/keys");
126
130
  var import_log9 = require("@dxos/log");
127
131
  var import_react10 = require("react");
128
132
  var import_keys2 = require("@dxos/keys");
129
133
  var import_echo6 = require("@dxos/react-client/echo");
130
- var import_react_edge_client = require("@dxos/react-edge-client");
131
134
  var import_react11 = require("react");
132
135
  var import_artifact6 = require("@dxos/artifact");
133
136
  var import_assistant3 = require("@dxos/assistant");
134
137
  var import_echo_schema4 = require("@dxos/echo-schema");
135
138
  var import_react12 = require("react");
139
+ var import_react13 = require("react");
140
+ var import_app_framework4 = require("@dxos/app-framework");
141
+ var import_echo_schema5 = require("@dxos/echo-schema");
142
+ var import_log10 = require("@dxos/log");
143
+ var import_echo7 = require("@dxos/react-client/echo");
136
144
  var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-assistant/src/tools/function.ts";
137
145
  var covertFunctionToTool = (fn, edgeUrl, spaceId) => {
138
146
  if (!fn.description || !fn.inputSchema) {
139
147
  return void 0;
140
148
  }
141
- const existingFunctionUrl = (0, import_functions2.getUserFunctionUrlInMetadata)((0, import_echo2.getMeta)(fn));
149
+ const existingFunctionUrl = (0, import_types2.getUserFunctionUrlInMetadata)((0, import_echo2.getMeta)(fn));
142
150
  if (!existingFunctionUrl) {
143
151
  return void 0;
144
152
  }
145
- const url = (0, import_functions2.getInvocationUrl)(existingFunctionUrl, edgeUrl, {
153
+ const url = (0, import_types2.getInvocationUrl)(existingFunctionUrl, edgeUrl, {
146
154
  spaceId
147
155
  });
148
156
  return (0, import_artifact2.defineTool)("user-function", {
@@ -609,7 +617,7 @@ var Section = ({ title, items, striped }) => {
609
617
  };
610
618
  var ToolboxContainer = ({ classNames, space }) => {
611
619
  const artifactDefinitions = (0, import_app_framework.useCapabilities)(import_app_framework.Capabilities.ArtifactDefinition);
612
- const services = (0, import_echo.useQuery)(space, import_echo.Filter.schema(import_chunk_37GI4NYH.ServiceType));
620
+ const services = (0, import_echo.useQuery)(space, import_echo.Filter.schema(import_chunk_KLSNCP34.ServiceType));
613
621
  const [serviceTools, setServiceTools] = (0, import_react.useState)([]);
614
622
  (0, import_react.useEffect)(() => {
615
623
  (0, import_log.log)("creating service tools...", {
@@ -630,7 +638,7 @@ var ToolboxContainer = ({ classNames, space }) => {
630
638
  }, [
631
639
  services
632
640
  ]);
633
- const functions = (0, import_echo.useQuery)(space, import_echo.Filter.schema(import_functions.FunctionType));
641
+ const functions = (0, import_echo.useQuery)(space, import_echo.Filter.schema(import_types.FunctionType));
634
642
  return /* @__PURE__ */ import_react.default.createElement(Toolbox, {
635
643
  classNames,
636
644
  artifacts: artifactDefinitions,
@@ -755,7 +763,7 @@ var ToolContainer = ({ classNames, items }) => {
755
763
  };
756
764
  var __dxlog_file5 = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-assistant/src/components/Thread/ThreadMessage.tsx";
757
765
  var panelClassNames = "flex flex-col w-full px-2 bg-groupSurface rounded-md";
758
- var userClassNames = "bg-[--user-fill]";
766
+ var userClassNames = "bg-[--user-fill] text-inverse";
759
767
  var ToggleContainer2 = (props) => {
760
768
  return /* @__PURE__ */ import_react3.default.createElement(import_react_ui_components2.ToggleContainer, {
761
769
  ...props,
@@ -780,7 +788,7 @@ var ThreadMessage = ({ classNames, space, message, tools, onPrompt }) => {
780
788
  const { role, content = [] } = message;
781
789
  if (isToolMessage(message)) {
782
790
  return /* @__PURE__ */ import_react3.default.createElement(MessageContainer, {
783
- classNames
791
+ classNames: (0, import_react_ui_theme3.mx)(classNames, "animate-[fadeIn_0.5s]")
784
792
  }, /* @__PURE__ */ import_react3.default.createElement(ToolBlock, {
785
793
  space,
786
794
  classNames: panelClassNames,
@@ -795,7 +803,7 @@ var ThreadMessage = ({ classNames, space, message, tools, onPrompt }) => {
795
803
  const Component = components[block.type] ?? components.default;
796
804
  return /* @__PURE__ */ import_react3.default.createElement(MessageContainer, {
797
805
  key: idx,
798
- classNames,
806
+ classNames: (0, import_react_ui_theme3.mx)(classNames, "animate-[fadeIn_0.5s]"),
799
807
  user: block.type === "text" && role === "user"
800
808
  }, /* @__PURE__ */ import_react3.default.createElement(Component, {
801
809
  space,
@@ -811,7 +819,7 @@ var components = {
811
819
  ["text"]: ({ block }) => {
812
820
  (0, import_invariant2.invariant)(block.type === "text", void 0, {
813
821
  F: __dxlog_file5,
814
- L: 86,
822
+ L: 90,
815
823
  S: void 0,
816
824
  A: [
817
825
  "block.type === 'text'",
@@ -821,6 +829,7 @@ var components = {
821
829
  const title = block.disposition ? titles[block.disposition] : void 0;
822
830
  if (!title) {
823
831
  return /* @__PURE__ */ import_react3.default.createElement(import_react_ui_components2.MarkdownViewer, {
832
+ classNames: "[&>p]:animate-[fadeIn_0.5s]",
824
833
  content: block.text
825
834
  });
826
835
  }
@@ -847,7 +856,7 @@ var components = {
847
856
  ["json"]: ({ space, block, onPrompt }) => {
848
857
  (0, import_invariant2.invariant)(block.type === "json", void 0, {
849
858
  F: __dxlog_file5,
850
- L: 124,
859
+ L: 128,
851
860
  S: void 0,
852
861
  A: [
853
862
  "block.type === 'json'",
@@ -874,7 +883,10 @@ var components = {
874
883
  }
875
884
  case "select": {
876
885
  const { options = [] } = (0, import_util3.safeParseJson)(block.json ?? "{}") ?? {};
877
- return /* @__PURE__ */ import_react3.default.createElement(import_react_ui.ButtonGroup, null, options.map((option) => /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Button, {
886
+ return /* @__PURE__ */ import_react3.default.createElement("div", {
887
+ className: "flex flex-wrap gap-1"
888
+ }, options.map((option, idx) => /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Button, {
889
+ classNames: "animate-[fadeIn_0.5s] rounded-2xl text-sm",
878
890
  key: option,
879
891
  onClick: () => onPrompt?.(option)
880
892
  }, option)));
@@ -1109,9 +1121,120 @@ var InlineSuggestionWidget = class extends import_view.WidgetType {
1109
1121
  return other.suffix === this.suffix;
1110
1122
  }
1111
1123
  };
1112
- var Prompt = /* @__PURE__ */ (0, import_react5.forwardRef)(({ classNames, autoFocus, lineWrapping = false, placeholder, onSubmit, onSuggest, onOpenChange }, forwardRef2) => {
1124
+ var promptReferences = ({ provider, debug = false, triggerCharacter = "@" }) => {
1125
+ if (triggerCharacter.length !== 1) {
1126
+ throw new Error("triggerCharacter must be a single character");
1127
+ }
1128
+ const decorationField = import_view2.ViewPlugin.fromClass(class ReferenceView {
1129
+ constructor(view) {
1130
+ this._mutex = new import_async.Mutex();
1131
+ this.decorations = import_view2.Decoration.set([]);
1132
+ queueMicrotask(async () => {
1133
+ const guard = await this._mutex.acquire();
1134
+ try {
1135
+ this.decorations = await this._computeDecorations(view);
1136
+ } finally {
1137
+ guard.release();
1138
+ }
1139
+ });
1140
+ }
1141
+ update(update) {
1142
+ if (update.docChanged) {
1143
+ queueMicrotask(async () => {
1144
+ const guard = await this._mutex.acquire();
1145
+ try {
1146
+ this.decorations = await this._computeDecorations(update.view);
1147
+ } finally {
1148
+ guard.release();
1149
+ }
1150
+ });
1151
+ }
1152
+ }
1153
+ async _computeDecorations(view) {
1154
+ const text = view.state.doc.toString();
1155
+ const references = text.matchAll(new RegExp(`${triggerCharacter}[a-zA-Z0-9@:]+\\s`, "g"));
1156
+ const decorations = [];
1157
+ for (const match of references) {
1158
+ const reference = match[0];
1159
+ const uri = reference.slice(1, -1);
1160
+ const data = await provider.resolveReference({
1161
+ uri
1162
+ });
1163
+ if (data) {
1164
+ decorations.push(import_view2.Decoration.replace({
1165
+ widget: new ReferenceWidget(data)
1166
+ }).range(match.index, match.index + reference.length));
1167
+ }
1168
+ }
1169
+ return import_view2.Decoration.set(decorations);
1170
+ }
1171
+ }, {
1172
+ decorations: (v) => v.decorations,
1173
+ provide: (plugin) => [
1174
+ import_view2.EditorView.atomicRanges.of((view) => view.plugin(decorationField)?.decorations ?? import_state2.RangeSet.empty)
1175
+ ]
1176
+ });
1177
+ return [
1178
+ decorationField,
1179
+ import_view2.EditorView.theme({
1180
+ ".cm-reference-pill": {
1181
+ borderRadius: "0.25rem",
1182
+ borderWidth: "1px",
1183
+ marginRight: "0.25rem",
1184
+ marginLeft: "0.25rem"
1185
+ }
1186
+ }),
1187
+ (0, import_autocomplete.autocompletion)({
1188
+ activateOnTyping: true,
1189
+ override: [
1190
+ async (context) => {
1191
+ const match = context.matchBefore(new RegExp(`${triggerCharacter}[a-zA-Z0-9]+`));
1192
+ if (!match || match?.to === match?.from) {
1193
+ return null;
1194
+ }
1195
+ const query = match.text.slice(1);
1196
+ const references = await provider.getReferences({
1197
+ query
1198
+ });
1199
+ return {
1200
+ from: match.from,
1201
+ filter: false,
1202
+ options: references.map((reference) => ({
1203
+ label: reference.label,
1204
+ apply: `${triggerCharacter}${reference.uri} `
1205
+ }))
1206
+ };
1207
+ }
1208
+ ],
1209
+ closeOnBlur: !debug,
1210
+ tooltipClass: () => "shadow rounded",
1211
+ aboveCursor: true
1212
+ }),
1213
+ import_view2.keymap.of(import_autocomplete.completionKeymap)
1214
+ ];
1215
+ };
1216
+ var ReferenceWidget = class extends import_view2.WidgetType {
1217
+ constructor(data) {
1218
+ super();
1219
+ this.data = data;
1220
+ }
1221
+ toDOM() {
1222
+ const span = document.createElement("span");
1223
+ span.textContent = `@ ${this.data.label}`;
1224
+ span.className = "cm-reference-pill";
1225
+ return span;
1226
+ }
1227
+ eq(other) {
1228
+ return other.data.uri === this.data.uri;
1229
+ }
1230
+ ignoreEvent() {
1231
+ return true;
1232
+ }
1233
+ };
1234
+ var Prompt = /* @__PURE__ */ (0, import_react5.forwardRef)(({ classNames, autoFocus, lineWrapping = false, placeholder, onSubmit, onSuggest, onOpenChange, references }, forwardRef2) => {
1113
1235
  const { themeMode } = (0, import_react_ui2.useThemeContext)();
1114
1236
  const { parentRef, view } = (0, import_react_ui_editor.useTextEditor)({
1237
+ debug: true,
1115
1238
  autoFocus,
1116
1239
  extensions: [
1117
1240
  (0, import_react_ui_editor.createBasicExtensions)({
@@ -1122,6 +1245,9 @@ var Prompt = /* @__PURE__ */ (0, import_react5.forwardRef)(({ classNames, autoFo
1122
1245
  (0, import_react_ui_editor.createThemeExtensions)({
1123
1246
  themeMode
1124
1247
  }),
1248
+ references ? promptReferences({
1249
+ provider: references
1250
+ }) : [],
1125
1251
  createAutocompleteExtension({
1126
1252
  onSubmit,
1127
1253
  onSuggest
@@ -1175,11 +1301,11 @@ var Prompt = /* @__PURE__ */ (0, import_react5.forwardRef)(({ classNames, autoFo
1175
1301
  ]);
1176
1302
  return /* @__PURE__ */ import_react5.default.createElement("div", {
1177
1303
  ref: parentRef,
1178
- className: (0, import_react_ui_theme4.mx)("w-full overflow-hidden", classNames)
1304
+ className: (0, import_react_ui_theme4.mx)("w-full", classNames)
1179
1305
  });
1180
1306
  });
1181
- var PromptBar = ({ classNames, placeholder, processing, error, microphone, onCancel, ...props }) => {
1182
- const { t } = (0, import_react_ui3.useTranslation)(import_chunk_GNPXCHFT.ASSISTANT_PLUGIN);
1307
+ var PromptBar = ({ classNames, placeholder, processing, error, microphone, onCancel, references, ...props }) => {
1308
+ const { t } = (0, import_react_ui3.useTranslation)(import_chunk_U6J2GO7I.ASSISTANT_PLUGIN);
1183
1309
  const promptRef = (0, import_react6.useRef)(null);
1184
1310
  const [active, setActive] = (0, import_react6.useState)(false);
1185
1311
  const { recording } = (0, import_plugin_transcription.useVoiceInput)({
@@ -1209,6 +1335,7 @@ var PromptBar = ({ classNames, placeholder, processing, error, microphone, onCan
1209
1335
  classNames: "pbs-2",
1210
1336
  lineWrapping: true,
1211
1337
  placeholder: placeholder ?? t("prompt placeholder"),
1338
+ references,
1212
1339
  ...props
1213
1340
  }), (onCancel || microphone) && /* @__PURE__ */ import_react6.default.createElement("div", {
1214
1341
  className: "flex w-[--rail-action] h-[--rail-action] items-center justify-center"
@@ -1234,7 +1361,7 @@ var PromptBar = ({ classNames, placeholder, processing, error, microphone, onCan
1234
1361
  onTouchEnd: () => setActive(false)
1235
1362
  })));
1236
1363
  };
1237
- var Thread = ({ classNames, space, messages, collapse = true, transcription, processing, error, onSubmit, onCancel, onOpenChange, ...props }) => {
1364
+ var Thread = ({ classNames, space, messages, collapse = true, transcription, processing, error, onSubmit, onCancel, onOpenChange, contextProvider, ...props }) => {
1238
1365
  const scroller = (0, import_react2.useRef)(null);
1239
1366
  const identity = (0, import_halo.useIdentity)();
1240
1367
  const fallbackValue = (0, import_util2.keyToFallback)(identity.identityKey);
@@ -1260,6 +1387,21 @@ var Thread = ({ classNames, space, messages, collapse = true, transcription, pro
1260
1387
  messages,
1261
1388
  collapse
1262
1389
  ]);
1390
+ const references = (0, import_react2.useMemo)(() => {
1391
+ if (!contextProvider) {
1392
+ return void 0;
1393
+ }
1394
+ return {
1395
+ getReferences: async ({ query }) => contextProvider.query({
1396
+ query
1397
+ }),
1398
+ resolveReference: async ({ uri }) => contextProvider.resolveMetadata({
1399
+ uri
1400
+ })
1401
+ };
1402
+ }, [
1403
+ contextProvider
1404
+ ]);
1263
1405
  return /* @__PURE__ */ import_react2.default.createElement("div", {
1264
1406
  role: "none",
1265
1407
  className: (0, import_react_ui_theme2.mx)("flex flex-col grow overflow-hidden", classNames)
@@ -1284,12 +1426,13 @@ var Thread = ({ classNames, space, messages, collapse = true, transcription, pro
1284
1426
  error,
1285
1427
  onSubmit: handleSubmit,
1286
1428
  onCancel,
1287
- onOpenChange
1429
+ onOpenChange,
1430
+ references
1288
1431
  }));
1289
1432
  };
1290
1433
  var __dxlog_file6 = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-assistant/src/hooks/processor.ts";
1291
1434
  var defaultOptions = {
1292
- model: import_assistant.DEFAULT_LLM_MODEL,
1435
+ model: import_assistant.DEFAULT_EDGE_MODEL,
1293
1436
  systemPrompt: "you are a helpful assistant"
1294
1437
  };
1295
1438
  var ChatProcessor = class {
@@ -1509,23 +1652,23 @@ var AIServiecOverloadedError = class extends Error {
1509
1652
  this.code = "AI_SERVICE_OVERLOADED";
1510
1653
  }
1511
1654
  };
1512
- var AiClient = (0, import_app_framework3.lazy)(() => import("./ai-client-RBDOGK6W.cjs"));
1513
- var AppGraphBuilder = (0, import_app_framework3.lazy)(() => import("./app-graph-builder-D7SHQTZS.cjs"));
1514
- var IntentResolver = (0, import_app_framework3.lazy)(() => import("./intent-resolver-YMMAFVOB.cjs"));
1515
- var ReactSurface = (0, import_app_framework3.lazy)(() => import("./react-surface-RTYCL4GP.cjs"));
1516
- var AssistantSettings = (0, import_app_framework3.lazy)(() => import("./settings-4YEO7KXF.cjs"));
1655
+ var AiClient = (0, import_app_framework3.lazy)(() => import("./ai-client-5ESLYXAV.cjs"));
1656
+ var AppGraphBuilder = (0, import_app_framework3.lazy)(() => import("./app-graph-builder-3P6WSON2.cjs"));
1657
+ var IntentResolver = (0, import_app_framework3.lazy)(() => import("./intent-resolver-YIFAMM3B.cjs"));
1658
+ var ReactSurface = (0, import_app_framework3.lazy)(() => import("./react-surface-REI6G6B3.cjs"));
1659
+ var AssistantSettings = (0, import_app_framework3.lazy)(() => import("./settings-2FEYGLYU.cjs"));
1517
1660
  var __dxlog_file7 = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-assistant/src/hooks/useChatProcessor.tsx";
1518
- var useChatProcessor = (space, settings) => {
1519
- const aiClient = (0, import_app_framework2.useCapability)(import_chunk_3WXG6WA6.AssistantCapabilities.AiClient);
1661
+ var useChatProcessor = ({ chat, space, settings, part = "deck" }) => {
1662
+ const aiClient = (0, import_app_framework2.useCapability)(import_chunk_VRXFIS4X.AssistantCapabilities.AiClient);
1520
1663
  const globalTools = (0, import_app_framework2.useCapabilities)(import_app_framework2.Capabilities.Tools);
1521
1664
  const artifactDefinitions = (0, import_app_framework2.useCapabilities)(import_app_framework2.Capabilities.ArtifactDefinition);
1522
1665
  const { dispatchPromise: dispatch } = (0, import_app_framework2.useIntentDispatcher)();
1523
- const services = (0, import_echo4.useQuery)(space, import_echo4.Filter.schema(import_chunk_37GI4NYH.ServiceType));
1666
+ const services = (0, import_echo4.useQuery)(space, import_echo4.Filter.schema(import_chunk_KLSNCP34.ServiceType));
1524
1667
  const [serviceTools, setServiceTools] = (0, import_react8.useState)([]);
1525
1668
  (0, import_react8.useEffect)(() => {
1526
1669
  (0, import_log7.log)("creating service tools...", void 0, {
1527
1670
  F: __dxlog_file7,
1528
- L: 34,
1671
+ L: 41,
1529
1672
  S: void 0,
1530
1673
  C: (f, a) => f(...a)
1531
1674
  });
@@ -1537,11 +1680,14 @@ var useChatProcessor = (space, settings) => {
1537
1680
  services
1538
1681
  ]);
1539
1682
  const config = (0, import_react_client.useConfig)();
1540
- const functions = (0, import_echo4.useQuery)(space, import_echo4.Filter.schema(import_functions3.FunctionType));
1683
+ const functions = (0, import_echo4.useQuery)(space, import_echo4.Filter.schema(import_types3.FunctionType));
1684
+ const chatId = (0, import_react8.useMemo)(() => chat ? (0, import_echo4.fullyQualifiedId)(chat) : void 0, [
1685
+ chat
1686
+ ]);
1541
1687
  const [tools, extensions] = (0, import_react8.useMemo)(() => {
1542
1688
  (0, import_log7.log)("creating tools...", void 0, {
1543
1689
  F: __dxlog_file7,
1544
- L: 45,
1690
+ L: 53,
1545
1691
  S: void 0,
1546
1692
  C: (f, a) => f(...a)
1547
1693
  });
@@ -1553,7 +1699,9 @@ var useChatProcessor = (space, settings) => {
1553
1699
  ];
1554
1700
  const extensions2 = {
1555
1701
  space,
1556
- dispatch
1702
+ dispatch,
1703
+ pivotId: chatId,
1704
+ part
1557
1705
  };
1558
1706
  return [
1559
1707
  tools2,
@@ -1564,6 +1712,7 @@ var useChatProcessor = (space, settings) => {
1564
1712
  globalTools,
1565
1713
  artifactDefinitions,
1566
1714
  space,
1715
+ chatId,
1567
1716
  serviceTools,
1568
1717
  functions
1569
1718
  ]);
@@ -1572,31 +1721,30 @@ var useChatProcessor = (space, settings) => {
1572
1721
  }), [
1573
1722
  artifactDefinitions
1574
1723
  ]);
1724
+ const model = settings?.llmProvider === "ollama" ? settings?.ollamaModel ?? import_assistant2.DEFAULT_OLLAMA_MODEL : settings?.edgeModel ?? import_assistant2.DEFAULT_EDGE_MODEL;
1575
1725
  const processor = (0, import_react8.useMemo)(() => {
1576
1726
  (0, import_log7.log)("creating processor...", {
1577
1727
  settings
1578
1728
  }, {
1579
1729
  F: __dxlog_file7,
1580
- L: 70,
1730
+ L: 84,
1581
1731
  S: void 0,
1582
1732
  C: (f, a) => f(...a)
1583
1733
  });
1584
- return new ChatProcessor(aiClient, tools, extensions, {
1585
- // TODO(burdon): Remove defualt (let backend decide if not specified).
1586
- model: settings?.llmModel ?? import_assistant2.DEFAULT_LLM_MODEL,
1587
- // TOOD(burdon): Query.
1734
+ return new ChatProcessor(aiClient.value, tools, extensions, {
1735
+ model,
1588
1736
  systemPrompt
1589
1737
  });
1590
1738
  }, [
1591
- aiClient,
1739
+ aiClient.value,
1592
1740
  tools,
1593
1741
  extensions,
1594
- systemPrompt,
1595
- settings?.llmModel
1742
+ model,
1743
+ systemPrompt
1596
1744
  ]);
1597
1745
  return processor;
1598
1746
  };
1599
- var registerTriggersMutex = new import_async.Mutex();
1747
+ var registerTriggersMutex = new import_async2.Mutex();
1600
1748
  var useMessageQueue = (chat) => {
1601
1749
  const space = (0, import_echo6.getSpace)(chat);
1602
1750
  const queueDxn = (0, import_react10.useMemo)(() => {
@@ -1610,8 +1758,7 @@ var useMessageQueue = (chat) => {
1610
1758
  space,
1611
1759
  chat?.queue.dxn
1612
1760
  ]);
1613
- const edgeClient = (0, import_react_edge_client.useEdgeClient)();
1614
- return (0, import_react_edge_client.useQueue)(edgeClient, queueDxn);
1761
+ return (0, import_echo6.useQueue)(queueDxn);
1615
1762
  };
1616
1763
  var MockServiceRegistry = class {
1617
1764
  async queryServices(query) {
@@ -1634,7 +1781,7 @@ var VISUAL_CROSSING_CREDENTIALS = {
1634
1781
  }
1635
1782
  };
1636
1783
  var TEST_SERVICES = [
1637
- (0, import_echo_schema4.createStatic)(import_chunk_37GI4NYH.ServiceType, {
1784
+ (0, import_echo_schema4.createStatic)(import_chunk_KLSNCP34.ServiceType, {
1638
1785
  serviceId: "amadeus.com/service/FlightSearch",
1639
1786
  name: "Amadeus Flight Search",
1640
1787
  description: "Search for local and international flights.",
@@ -1647,7 +1794,7 @@ var TEST_SERVICES = [
1647
1794
  }
1648
1795
  ]
1649
1796
  }),
1650
- (0, import_echo_schema4.createStatic)(import_chunk_37GI4NYH.ServiceType, {
1797
+ (0, import_echo_schema4.createStatic)(import_chunk_KLSNCP34.ServiceType, {
1651
1798
  serviceId: "amadeus.com/service/HotelSearch",
1652
1799
  name: "Amadeus Hotel Search",
1653
1800
  description: "Search for local and international hotels.",
@@ -1660,7 +1807,7 @@ var TEST_SERVICES = [
1660
1807
  }
1661
1808
  ]
1662
1809
  }),
1663
- (0, import_echo_schema4.createStatic)(import_chunk_37GI4NYH.ServiceType, {
1810
+ (0, import_echo_schema4.createStatic)(import_chunk_KLSNCP34.ServiceType, {
1664
1811
  serviceId: "visualcrossing.com/service/Weather",
1665
1812
  name: "Visual Crossing Weather",
1666
1813
  description: "Search for global weather forecasts.",
@@ -1674,7 +1821,7 @@ var TEST_SERVICES = [
1674
1821
  ]
1675
1822
  }),
1676
1823
  // TODO(burdon): Needs auth.
1677
- (0, import_echo_schema4.createStatic)(import_chunk_37GI4NYH.ServiceType, {
1824
+ (0, import_echo_schema4.createStatic)(import_chunk_KLSNCP34.ServiceType, {
1678
1825
  serviceId: "abstractapi.com/service/GeoLocation",
1679
1826
  name: "Abstract GeoLocation",
1680
1827
  description: "Get the location of any IP address.",
@@ -1691,11 +1838,11 @@ var TEST_SERVICES = [
1691
1838
  //
1692
1839
  ...Array.from({
1693
1840
  length: 20
1694
- }, (_, i) => (0, import_echo_schema4.createStatic)(import_chunk_37GI4NYH.ServiceType, {
1841
+ }, (_, i) => (0, import_echo_schema4.createStatic)(import_chunk_KLSNCP34.ServiceType, {
1695
1842
  serviceId: `example.com/service/test-${i}`,
1696
1843
  name: `Test ${i}`,
1697
1844
  description: `Test ${i}`,
1698
- category: Object.keys(import_chunk_37GI4NYH.categoryIcons)[Math.floor(Math.random() * Object.keys(import_chunk_37GI4NYH.categoryIcons).length)],
1845
+ category: Object.keys(import_chunk_KLSNCP34.categoryIcons)[Math.floor(Math.random() * Object.keys(import_chunk_KLSNCP34.categoryIcons).length)],
1699
1846
  interfaces: [
1700
1847
  {
1701
1848
  kind: "api",
@@ -1719,10 +1866,59 @@ var useServices = (space, query) => {
1719
1866
  ]);
1720
1867
  return services;
1721
1868
  };
1722
- var __dxlog_file8 = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-assistant/src/components/Thread/ThreadContainer.tsx";
1723
- var ThreadContainer = ({ classNames, chat, settings, onOpenChange, ...props }) => {
1869
+ var __dxlog_file8 = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-assistant/src/hooks/useContextProvider.ts";
1870
+ var stringMatch = (query, label) => label.toLowerCase().startsWith(query.toLowerCase());
1871
+ var useContextProvider = (space) => {
1872
+ const artifactDefinitions = (0, import_app_framework4.useCapabilities)(import_app_framework4.Capabilities.ArtifactDefinition);
1873
+ return (0, import_react13.useMemo)(() => {
1874
+ if (!space) {
1875
+ return void 0;
1876
+ }
1877
+ return {
1878
+ query: async ({ query }) => {
1879
+ const artifactSchemas = artifactDefinitions.map((artifact) => artifact.schema);
1880
+ const { objects } = await space.db.query(import_echo7.Filter.or(...artifactSchemas.map((schema) => import_echo7.Filter.schema(schema)))).run();
1881
+ return objects.map((object) => {
1882
+ import_log10.log.info("object", {
1883
+ object,
1884
+ label: (0, import_echo_schema5.getLabel)((0, import_echo_schema5.getSchema)(object), object)
1885
+ }, {
1886
+ F: __dxlog_file8,
1887
+ L: 36,
1888
+ S: void 0,
1889
+ C: (f, a) => f(...a)
1890
+ });
1891
+ return object;
1892
+ }).filter((object) => stringMatch(query, (0, import_echo_schema5.getLabel)((0, import_echo_schema5.getSchema)(object), object) ?? "")).filter((object) => !!(0, import_echo_schema5.getDXN)(object)).map((object) => ({
1893
+ uri: (0, import_echo_schema5.getDXN)(object).toString(),
1894
+ label: (0, import_echo_schema5.getLabel)((0, import_echo_schema5.getSchema)(object), object) ?? ""
1895
+ }));
1896
+ },
1897
+ resolveMetadata: async ({ uri }) => {
1898
+ const object = await space.db.query({
1899
+ id: uri
1900
+ }).first();
1901
+ return {
1902
+ uri,
1903
+ label: (0, import_echo_schema5.getLabel)((0, import_echo_schema5.getSchema)(object), object) ?? ""
1904
+ };
1905
+ }
1906
+ };
1907
+ }, [
1908
+ space,
1909
+ artifactDefinitions
1910
+ ]);
1911
+ };
1912
+ var __dxlog_file9 = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-assistant/src/components/Thread/ThreadContainer.tsx";
1913
+ var ThreadContainer = ({ classNames, chat, settings, part, onOpenChange, ...props }) => {
1724
1914
  const space = (0, import_echo3.getSpace)(chat);
1725
- const processor = useChatProcessor(space, settings);
1915
+ const contextProvider = useContextProvider(space);
1916
+ const processor = useChatProcessor({
1917
+ chat,
1918
+ space,
1919
+ settings,
1920
+ part
1921
+ });
1726
1922
  const messageQueue = useMessageQueue(chat);
1727
1923
  const messages = [
1728
1924
  ...messageQueue?.items ?? [],
@@ -1731,8 +1927,8 @@ var ThreadContainer = ({ classNames, chat, settings, onOpenChange, ...props }) =
1731
1927
  const handleSubmit = (0, import_react7.useCallback)((text) => {
1732
1928
  if (processor.streaming.value) {
1733
1929
  import_log5.log.warn("ignoring submit; still processing.", void 0, {
1734
- F: __dxlog_file8,
1735
- L: 39,
1930
+ F: __dxlog_file9,
1931
+ L: 41,
1736
1932
  S: void 0,
1737
1933
  C: (f, a) => f(...a)
1738
1934
  });
@@ -1740,8 +1936,8 @@ var ThreadContainer = ({ classNames, chat, settings, onOpenChange, ...props }) =
1740
1936
  }
1741
1937
  onOpenChange?.(true);
1742
1938
  (0, import_invariant3.invariant)(messageQueue, void 0, {
1743
- F: __dxlog_file8,
1744
- L: 45,
1939
+ F: __dxlog_file9,
1940
+ L: 47,
1745
1941
  S: void 0,
1746
1942
  A: [
1747
1943
  "messageQueue",
@@ -1778,6 +1974,7 @@ var ThreadContainer = ({ classNames, chat, settings, onOpenChange, ...props }) =
1778
1974
  onCancel: handleCancel,
1779
1975
  onPrompt: handleSubmit,
1780
1976
  onOpenChange,
1977
+ contextProvider,
1781
1978
  ...props
1782
1979
  });
1783
1980
  };
@@ -1794,4 +1991,4 @@ var ThreadContainer = ({ classNames, chat, settings, onOpenChange, ...props }) =
1794
1991
  ToolboxContainer,
1795
1992
  useServices
1796
1993
  });
1797
- //# sourceMappingURL=chunk-RWY7LVFJ.cjs.map
1994
+ //# sourceMappingURL=chunk-OJJ4F6KP.cjs.map