@dxos/plugin-assistant 0.8.1 → 0.8.2-main.2f9c567

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 (197) hide show
  1. package/dist/lib/browser/{AssistantDialog-YSHMAHW5.mjs → AssistantDialog-WX6EKSXI.mjs} +3 -3
  2. package/dist/lib/browser/{ChatContainer-V5GP7DYF.mjs → ChatContainer-HMNWYDQ5.mjs} +3 -3
  3. package/dist/lib/browser/ChatContainer-HMNWYDQ5.mjs.map +7 -0
  4. package/dist/lib/browser/TemplateContainer-WKU5XFSO.mjs +22 -0
  5. package/dist/lib/browser/TemplateContainer-WKU5XFSO.mjs.map +7 -0
  6. package/dist/lib/browser/{ai-client-CDZLSNXE.mjs → ai-client-OK5SMYJC.mjs} +1 -1
  7. package/dist/lib/browser/{ai-client-CDZLSNXE.mjs.map → ai-client-OK5SMYJC.mjs.map} +2 -2
  8. package/dist/lib/browser/{app-graph-builder-MF5EVDWW.mjs → app-graph-builder-J5ISIFTE.mjs} +9 -39
  9. package/dist/lib/browser/app-graph-builder-J5ISIFTE.mjs.map +7 -0
  10. package/dist/lib/browser/{chunk-FMB7RGMP.mjs → chunk-4EXBK6UE.mjs} +127 -112
  11. package/dist/lib/browser/chunk-4EXBK6UE.mjs.map +7 -0
  12. package/dist/lib/browser/chunk-5P7U35RJ.mjs +192 -0
  13. package/dist/lib/browser/chunk-5P7U35RJ.mjs.map +7 -0
  14. package/dist/lib/browser/chunk-J3V74ZRF.mjs +143 -0
  15. package/dist/lib/browser/chunk-J3V74ZRF.mjs.map +7 -0
  16. package/dist/lib/browser/index.mjs +14 -11
  17. package/dist/lib/browser/index.mjs.map +3 -3
  18. package/dist/lib/browser/{intent-resolver-WJGLKKVO.mjs → intent-resolver-MGHOSZY3.mjs} +5 -5
  19. package/dist/lib/browser/intent-resolver-MGHOSZY3.mjs.map +7 -0
  20. package/dist/lib/browser/meta.json +1 -1
  21. package/dist/lib/browser/{react-surface-57VRDOQT.mjs → react-surface-VP4ABBMH.mjs} +15 -15
  22. package/dist/lib/browser/react-surface-VP4ABBMH.mjs.map +7 -0
  23. package/dist/lib/browser/{settings-U6UFQX32.mjs → settings-OZX7J65A.mjs} +4 -4
  24. package/dist/lib/browser/settings-OZX7J65A.mjs.map +7 -0
  25. package/dist/lib/browser/types/index.mjs +3 -1
  26. package/dist/lib/node/{AssistantDialog-YI2BSGSX.cjs → AssistantDialog-2OTAZADX.cjs} +7 -7
  27. package/dist/lib/node/{ChatContainer-ZJ5JXF6A.cjs → ChatContainer-3CTBKBS2.cjs} +7 -7
  28. package/dist/lib/node/ChatContainer-3CTBKBS2.cjs.map +7 -0
  29. package/dist/lib/node/TemplateContainer-EQXKHWTF.cjs +52 -0
  30. package/dist/lib/node/TemplateContainer-EQXKHWTF.cjs.map +7 -0
  31. package/dist/lib/node/{ai-client-URCCYU6B.cjs → ai-client-3EVTLXTT.cjs} +4 -4
  32. package/dist/lib/node/{ai-client-URCCYU6B.cjs.map → ai-client-3EVTLXTT.cjs.map} +2 -2
  33. package/dist/lib/node/{app-graph-builder-N5ZUUI2Z.cjs → app-graph-builder-BBNLIGYJ.cjs} +14 -44
  34. package/dist/lib/node/app-graph-builder-BBNLIGYJ.cjs.map +7 -0
  35. package/dist/lib/node/chunk-VG2UQY4S.cjs +216 -0
  36. package/dist/lib/node/chunk-VG2UQY4S.cjs.map +7 -0
  37. package/dist/lib/node/{chunk-ZKOC4ZFY.cjs → chunk-WFSXNO4H.cjs} +78 -61
  38. package/dist/lib/node/chunk-WFSXNO4H.cjs.map +7 -0
  39. package/dist/lib/node/{chunk-RPBKMP2E.cjs → chunk-XC7A3KUG.cjs} +138 -116
  40. package/dist/lib/node/chunk-XC7A3KUG.cjs.map +7 -0
  41. package/dist/lib/node/index.cjs +46 -43
  42. package/dist/lib/node/index.cjs.map +3 -3
  43. package/dist/lib/node/{intent-resolver-R3OSTIMH.cjs → intent-resolver-Z2NTL2FV.cjs} +9 -9
  44. package/dist/lib/node/intent-resolver-Z2NTL2FV.cjs.map +7 -0
  45. package/dist/lib/node/meta.json +1 -1
  46. package/dist/lib/node/{react-surface-NUQTM6MS.cjs → react-surface-HNXDAZ7C.cjs} +22 -22
  47. package/dist/lib/node/react-surface-HNXDAZ7C.cjs.map +7 -0
  48. package/dist/lib/node/{settings-TXGRCYAL.cjs → settings-WLTC7XO5.cjs} +7 -7
  49. package/dist/lib/node/settings-WLTC7XO5.cjs.map +7 -0
  50. package/dist/lib/node/types/index.cjs +14 -12
  51. package/dist/lib/node/types/index.cjs.map +2 -2
  52. package/dist/lib/node-esm/{AssistantDialog-U2FQX5TD.mjs → AssistantDialog-GNLPYXY4.mjs} +3 -3
  53. package/dist/lib/node-esm/{ChatContainer-QW3OOXTT.mjs → ChatContainer-FGHDDORQ.mjs} +3 -3
  54. package/dist/lib/node-esm/ChatContainer-FGHDDORQ.mjs.map +7 -0
  55. package/dist/lib/node-esm/TemplateContainer-3LEBT5ZC.mjs +23 -0
  56. package/dist/lib/node-esm/TemplateContainer-3LEBT5ZC.mjs.map +7 -0
  57. package/dist/lib/node-esm/{ai-client-WMHS5EGV.mjs → ai-client-LYCBXZI7.mjs} +1 -1
  58. package/dist/lib/node-esm/{ai-client-WMHS5EGV.mjs.map → ai-client-LYCBXZI7.mjs.map} +2 -2
  59. package/dist/lib/node-esm/{app-graph-builder-DWBNIMHM.mjs → app-graph-builder-245AWCPJ.mjs} +9 -39
  60. package/dist/lib/node-esm/app-graph-builder-245AWCPJ.mjs.map +7 -0
  61. package/dist/lib/node-esm/chunk-G5LUEW72.mjs +144 -0
  62. package/dist/lib/node-esm/chunk-G5LUEW72.mjs.map +7 -0
  63. package/dist/lib/node-esm/{chunk-MVDAY3CZ.mjs → chunk-JX73NOSL.mjs} +127 -112
  64. package/dist/lib/node-esm/chunk-JX73NOSL.mjs.map +7 -0
  65. package/dist/lib/node-esm/chunk-UZWYXNR5.mjs +193 -0
  66. package/dist/lib/node-esm/chunk-UZWYXNR5.mjs.map +7 -0
  67. package/dist/lib/node-esm/index.mjs +14 -11
  68. package/dist/lib/node-esm/index.mjs.map +3 -3
  69. package/dist/lib/node-esm/{intent-resolver-H32TL4X6.mjs → intent-resolver-DMQXPV2H.mjs} +5 -5
  70. package/dist/lib/node-esm/intent-resolver-DMQXPV2H.mjs.map +7 -0
  71. package/dist/lib/node-esm/meta.json +1 -1
  72. package/dist/lib/node-esm/{react-surface-JBVZF6CP.mjs → react-surface-NYXMBFPY.mjs} +15 -15
  73. package/dist/lib/node-esm/react-surface-NYXMBFPY.mjs.map +7 -0
  74. package/dist/lib/node-esm/{settings-DZU5PNXM.mjs → settings-CLE57WEP.mjs} +4 -4
  75. package/dist/lib/node-esm/settings-CLE57WEP.mjs.map +7 -0
  76. package/dist/lib/node-esm/types/index.mjs +3 -1
  77. package/dist/types/src/capabilities/ai-client.d.ts.map +1 -1
  78. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  79. package/dist/types/src/capabilities/index.d.ts +1 -1
  80. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  81. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  82. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts.map +1 -1
  83. package/dist/types/src/components/ChatContainer.d.ts +4 -3
  84. package/dist/types/src/components/ChatContainer.d.ts.map +1 -1
  85. package/dist/types/src/components/PromptSettings.d.ts +6 -0
  86. package/dist/types/src/components/PromptSettings.d.ts.map +1 -0
  87. package/dist/types/src/components/TemplateContainer.d.ts.map +1 -1
  88. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +2 -2
  89. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +1 -1
  90. package/dist/types/src/components/Thread/ThreadContainer.d.ts.map +1 -1
  91. package/dist/types/src/components/Thread/ThreadContainer.stories.d.ts +2 -2
  92. package/dist/types/src/components/Thread/ThreadContainer.stories.d.ts.map +1 -1
  93. package/dist/types/src/components/Toolbox/Toolbox.d.ts +1 -1
  94. package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
  95. package/dist/types/src/components/index.d.ts +2 -6
  96. package/dist/types/src/components/index.d.ts.map +1 -1
  97. package/dist/types/src/hooks/index.d.ts +0 -1
  98. package/dist/types/src/hooks/index.d.ts.map +1 -1
  99. package/dist/types/src/hooks/processor.d.ts.map +1 -1
  100. package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
  101. package/dist/types/src/hooks/useMessageQueue.d.ts +0 -3
  102. package/dist/types/src/hooks/useMessageQueue.d.ts.map +1 -1
  103. package/dist/types/src/tools/function.d.ts +1 -1
  104. package/dist/types/src/tools/function.d.ts.map +1 -1
  105. package/dist/types/src/tools/openapi.d.ts.map +1 -1
  106. package/dist/types/src/translations.d.ts +3 -0
  107. package/dist/types/src/translations.d.ts.map +1 -1
  108. package/dist/types/src/types/service.d.ts +96 -95
  109. package/dist/types/src/types/service.d.ts.map +1 -1
  110. package/dist/types/src/types/template.d.ts +52 -52
  111. package/dist/types/src/types/template.d.ts.map +1 -1
  112. package/dist/types/src/types/types.d.ts +20 -18
  113. package/dist/types/src/types/types.d.ts.map +1 -1
  114. package/package.json +61 -58
  115. package/src/AssistantPlugin.tsx +2 -2
  116. package/src/capabilities/ai-client.ts +0 -1
  117. package/src/capabilities/app-graph-builder.ts +6 -38
  118. package/src/capabilities/index.ts +1 -1
  119. package/src/capabilities/intent-resolver.ts +3 -3
  120. package/src/capabilities/react-surface.tsx +11 -9
  121. package/src/capabilities/settings.ts +2 -2
  122. package/src/components/AssistantSettings/AssistantSettings.tsx +28 -6
  123. package/src/components/ChatContainer.tsx +6 -8
  124. package/src/components/PromptSettings.tsx +91 -0
  125. package/src/components/TemplateContainer.tsx +3 -79
  126. package/src/components/TemplateEditor/TemplateEditor.stories.tsx +2 -2
  127. package/src/components/TemplateEditor/TemplateForm.stories.tsx +2 -2
  128. package/src/components/TemplateEditor/TemplateForm.tsx +2 -2
  129. package/src/components/Thread/ThreadContainer.stories.tsx +12 -20
  130. package/src/components/Thread/ThreadContainer.tsx +24 -2
  131. package/src/components/Thread/ThreadMessage.tsx +5 -2
  132. package/src/components/Toolbox/Toolbox.stories.tsx +1 -1
  133. package/src/components/Toolbox/Toolbox.tsx +1 -1
  134. package/src/components/index.ts +1 -1
  135. package/src/hooks/index.ts +0 -1
  136. package/src/hooks/processor.ts +26 -4
  137. package/src/hooks/useChatProcessor.tsx +4 -3
  138. package/src/testing/test-services.ts +6 -6
  139. package/src/tools/function.ts +2 -2
  140. package/src/tools/openapi.ts +4 -3
  141. package/src/translations.ts +5 -4
  142. package/src/types/service.ts +39 -37
  143. package/src/types/template.ts +27 -25
  144. package/src/types/types.ts +20 -17
  145. package/dist/lib/browser/ChatContainer-V5GP7DYF.mjs.map +0 -7
  146. package/dist/lib/browser/TemplateContainer-K4EJNGIL.mjs +0 -78
  147. package/dist/lib/browser/TemplateContainer-K4EJNGIL.mjs.map +0 -7
  148. package/dist/lib/browser/app-graph-builder-MF5EVDWW.mjs.map +0 -7
  149. package/dist/lib/browser/chunk-FMB7RGMP.mjs.map +0 -7
  150. package/dist/lib/browser/chunk-IAMR2FAE.mjs +0 -183
  151. package/dist/lib/browser/chunk-IAMR2FAE.mjs.map +0 -7
  152. package/dist/lib/browser/chunk-KYMKVE6M.mjs +0 -128
  153. package/dist/lib/browser/chunk-KYMKVE6M.mjs.map +0 -7
  154. package/dist/lib/browser/intent-resolver-WJGLKKVO.mjs.map +0 -7
  155. package/dist/lib/browser/react-surface-57VRDOQT.mjs.map +0 -7
  156. package/dist/lib/browser/settings-U6UFQX32.mjs.map +0 -7
  157. package/dist/lib/node/ChatContainer-ZJ5JXF6A.cjs.map +0 -7
  158. package/dist/lib/node/TemplateContainer-XWFYJB4T.cjs +0 -104
  159. package/dist/lib/node/TemplateContainer-XWFYJB4T.cjs.map +0 -7
  160. package/dist/lib/node/app-graph-builder-N5ZUUI2Z.cjs.map +0 -7
  161. package/dist/lib/node/chunk-APRU3QWK.cjs +0 -206
  162. package/dist/lib/node/chunk-APRU3QWK.cjs.map +0 -7
  163. package/dist/lib/node/chunk-RPBKMP2E.cjs.map +0 -7
  164. package/dist/lib/node/chunk-ZKOC4ZFY.cjs.map +0 -7
  165. package/dist/lib/node/intent-resolver-R3OSTIMH.cjs.map +0 -7
  166. package/dist/lib/node/react-surface-NUQTM6MS.cjs.map +0 -7
  167. package/dist/lib/node/settings-TXGRCYAL.cjs.map +0 -7
  168. package/dist/lib/node-esm/ChatContainer-QW3OOXTT.mjs.map +0 -7
  169. package/dist/lib/node-esm/TemplateContainer-EUM2X65J.mjs +0 -79
  170. package/dist/lib/node-esm/TemplateContainer-EUM2X65J.mjs.map +0 -7
  171. package/dist/lib/node-esm/app-graph-builder-DWBNIMHM.mjs.map +0 -7
  172. package/dist/lib/node-esm/chunk-GBBXIW5F.mjs +0 -129
  173. package/dist/lib/node-esm/chunk-GBBXIW5F.mjs.map +0 -7
  174. package/dist/lib/node-esm/chunk-MVDAY3CZ.mjs.map +0 -7
  175. package/dist/lib/node-esm/chunk-MXK2EANZ.mjs +0 -184
  176. package/dist/lib/node-esm/chunk-MXK2EANZ.mjs.map +0 -7
  177. package/dist/lib/node-esm/intent-resolver-H32TL4X6.mjs.map +0 -7
  178. package/dist/lib/node-esm/react-surface-JBVZF6CP.mjs.map +0 -7
  179. package/dist/lib/node-esm/settings-DZU5PNXM.mjs.map +0 -7
  180. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.d.ts +0 -6
  181. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.d.ts.map +0 -1
  182. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.stories.d.ts +0 -8
  183. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.stories.d.ts.map +0 -1
  184. package/dist/types/src/components/ServiceRegistry/index.d.ts +0 -2
  185. package/dist/types/src/components/ServiceRegistry/index.d.ts.map +0 -1
  186. package/dist/types/src/hooks/invocation-handler.d.ts +0 -5
  187. package/dist/types/src/hooks/invocation-handler.d.ts.map +0 -1
  188. package/dist/types/src/hooks/useLocalTriggerManager.d.ts +0 -3
  189. package/dist/types/src/hooks/useLocalTriggerManager.d.ts.map +0 -1
  190. package/src/components/ServiceRegistry/ServiceRegistry.stories.tsx +0 -49
  191. package/src/components/ServiceRegistry/ServiceRegistry.tsx +0 -76
  192. package/src/components/ServiceRegistry/index.ts +0 -5
  193. package/src/hooks/invocation-handler.ts +0 -107
  194. package/src/hooks/useLocalTriggerManager.ts +0 -82
  195. /package/dist/lib/browser/{AssistantDialog-YSHMAHW5.mjs.map → AssistantDialog-WX6EKSXI.mjs.map} +0 -0
  196. /package/dist/lib/node/{AssistantDialog-YI2BSGSX.cjs.map → AssistantDialog-2OTAZADX.cjs.map} +0 -0
  197. /package/dist/lib/node-esm/{AssistantDialog-U2FQX5TD.mjs.map → AssistantDialog-GNLPYXY4.mjs.map} +0 -0
@@ -26,35 +26,35 @@ 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_RPBKMP2E_exports = {};
30
- __export(chunk_RPBKMP2E_exports, {
29
+ var chunk_XC7A3KUG_exports = {};
30
+ __export(chunk_XC7A3KUG_exports, {
31
31
  AiClient: () => AiClient,
32
32
  AppGraphBuilder: () => AppGraphBuilder,
33
- AssistantSettings: () => AssistantSettings,
34
33
  IntentResolver: () => IntentResolver,
35
34
  ReactSurface: () => ReactSurface,
35
+ Settings: () => Settings,
36
36
  Thread: () => Thread,
37
37
  ThreadContainer: () => ThreadContainer,
38
38
  Toolbox: () => Toolbox,
39
- ToolboxContainer: () => ToolboxContainer,
40
- useServices: () => useServices
39
+ ToolboxContainer: () => ToolboxContainer
41
40
  });
42
- module.exports = __toCommonJS(chunk_RPBKMP2E_exports);
41
+ module.exports = __toCommonJS(chunk_XC7A3KUG_exports);
43
42
  var import_chunk_GBUNQ257 = require("./chunk-GBUNQ257.cjs");
44
- var import_chunk_APRU3QWK = require("./chunk-APRU3QWK.cjs");
43
+ var import_chunk_VG2UQY4S = require("./chunk-VG2UQY4S.cjs");
45
44
  var import_chunk_Q5XWEMHB = require("./chunk-Q5XWEMHB.cjs");
46
45
  var import_react = __toESM(require("react"));
47
46
  var import_app_framework = require("@dxos/app-framework");
48
47
  var import_artifact = require("@dxos/artifact");
49
- var import_types = require("@dxos/functions/types");
48
+ var import_functions = require("@dxos/functions");
50
49
  var import_log = require("@dxos/log");
51
50
  var import_echo = require("@dxos/react-client/echo");
52
51
  var import_react_ui_theme = require("@dxos/react-ui-theme");
53
52
  var import_artifact2 = require("@dxos/artifact");
54
53
  var import_echo_schema = require("@dxos/echo-schema");
55
- var import_types2 = require("@dxos/functions/types");
54
+ var import_functions2 = require("@dxos/functions");
56
55
  var import_log2 = require("@dxos/log");
57
56
  var import_echo2 = require("@dxos/react-client/echo");
57
+ var import_effect = require("effect");
58
58
  var import_jsonpointer = __toESM(require("jsonpointer"));
59
59
  var import_artifact3 = require("@dxos/artifact");
60
60
  var import_echo_schema2 = require("@dxos/echo-schema");
@@ -95,61 +95,50 @@ var import_react_ui3 = require("@dxos/react-ui");
95
95
  var import_react_ui_sfx = require("@dxos/react-ui-sfx");
96
96
  var import_react_ui_theme5 = require("@dxos/react-ui-theme");
97
97
  var import_react7 = __toESM(require("react"));
98
+ var import_app_framework2 = require("@dxos/app-framework");
98
99
  var import_invariant3 = require("@dxos/invariant");
100
+ var import_keys = require("@dxos/keys");
101
+ var import_live_object = require("@dxos/live-object");
99
102
  var import_log5 = require("@dxos/log");
100
103
  var import_echo3 = require("@dxos/react-client/echo");
101
104
  var import_signals_core = require("@preact/signals-core");
102
105
  var import_assistant = require("@dxos/assistant");
103
106
  var import_invariant4 = require("@dxos/invariant");
104
107
  var import_log6 = require("@dxos/log");
108
+ var import_echo4 = require("@dxos/react-client/echo");
105
109
  var import_react8 = require("react");
106
- var import_app_framework2 = require("@dxos/app-framework");
110
+ var import_app_framework3 = require("@dxos/app-framework");
107
111
  var import_artifact4 = require("@dxos/artifact");
108
112
  var import_assistant2 = require("@dxos/assistant");
109
- var import_types3 = require("@dxos/functions/types");
113
+ var import_functions3 = require("@dxos/functions");
110
114
  var import_log7 = require("@dxos/log");
111
115
  var import_react_client = require("@dxos/react-client");
112
- var import_echo4 = require("@dxos/react-client/echo");
116
+ var import_echo5 = require("@dxos/react-client/echo");
113
117
  var import_util5 = require("@dxos/util");
114
- var import_app_framework3 = require("@dxos/app-framework");
118
+ var import_app_framework4 = require("@dxos/app-framework");
115
119
  var import_react9 = require("react");
116
- var import_async2 = require("@dxos/async");
117
- var import_context = require("@dxos/context");
118
- var import_functions = require("@dxos/functions");
119
- var import_types4 = require("@dxos/functions/types");
120
- var import_invariant5 = require("@dxos/invariant");
121
- var import_log8 = require("@dxos/log");
122
- var import_react_client2 = require("@dxos/react-client");
123
- var import_echo5 = require("@dxos/react-client/echo");
124
- var import_async3 = require("@dxos/async");
125
- var import_echo_db = require("@dxos/echo-db");
126
- var import_types5 = require("@dxos/functions/types");
127
- var import_invariant6 = require("@dxos/invariant");
128
- var import_keys = require("@dxos/keys");
129
- var import_log9 = require("@dxos/log");
130
- var import_react10 = require("react");
131
120
  var import_keys2 = require("@dxos/keys");
132
121
  var import_echo6 = require("@dxos/react-client/echo");
133
- var import_react11 = require("react");
122
+ var import_react10 = require("react");
134
123
  var import_artifact5 = require("@dxos/artifact");
135
124
  var import_assistant3 = require("@dxos/assistant");
136
125
  var import_echo_schema3 = require("@dxos/echo-schema");
126
+ var import_react11 = require("react");
137
127
  var import_react12 = require("react");
138
- var import_react13 = require("react");
139
- var import_app_framework4 = require("@dxos/app-framework");
128
+ var import_app_framework5 = require("@dxos/app-framework");
140
129
  var import_echo_schema4 = require("@dxos/echo-schema");
141
- var import_log10 = require("@dxos/log");
130
+ var import_log8 = require("@dxos/log");
142
131
  var import_echo7 = require("@dxos/react-client/echo");
143
132
  var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-assistant/src/tools/function.ts";
144
133
  var covertFunctionToTool = (fn, edgeUrl, spaceId) => {
145
134
  if (!fn.description || !fn.inputSchema) {
146
135
  return void 0;
147
136
  }
148
- const existingFunctionUrl = (0, import_types2.getUserFunctionUrlInMetadata)((0, import_echo2.getMeta)(fn));
137
+ const existingFunctionUrl = (0, import_functions2.getUserFunctionUrlInMetadata)((0, import_echo2.getMeta)(fn));
149
138
  if (!existingFunctionUrl) {
150
139
  return void 0;
151
140
  }
152
- const url = (0, import_types2.getInvocationUrl)(existingFunctionUrl, edgeUrl, {
141
+ const url = (0, import_functions2.getInvocationUrl)(existingFunctionUrl, edgeUrl, {
153
142
  spaceId
154
143
  });
155
144
  return (0, import_artifact2.defineTool)("user-function", {
@@ -182,7 +171,7 @@ var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-assista
182
171
  var createToolsFromService = async (service) => {
183
172
  (0, import_invariant.invariant)(service.interfaces?.length === 1 && service.interfaces[0].kind === "api", void 0, {
184
173
  F: __dxlog_file2,
185
- L: 22,
174
+ L: 23,
186
175
  S: void 0,
187
176
  A: [
188
177
  "service.interfaces?.length === 1 && service.interfaces[0].kind === 'api'",
@@ -192,7 +181,7 @@ var createToolsFromService = async (service) => {
192
181
  const iface = service.interfaces[0];
193
182
  (0, import_invariant.invariant)(iface.schemaUrl, void 0, {
194
183
  F: __dxlog_file2,
195
- L: 24,
184
+ L: 25,
196
185
  S: void 0,
197
186
  A: [
198
187
  "iface.schemaUrl",
@@ -201,7 +190,7 @@ var createToolsFromService = async (service) => {
201
190
  });
202
191
  (0, import_invariant.invariant)(iface.schemaUrl, void 0, {
203
192
  F: __dxlog_file2,
204
- L: 25,
193
+ L: 26,
205
194
  S: void 0,
206
195
  A: [
207
196
  "iface.schemaUrl",
@@ -219,7 +208,7 @@ var createToolsFromApi = async (url, options) => {
219
208
  spec
220
209
  }, {
221
210
  F: __dxlog_file2,
222
- L: 32,
211
+ L: 33,
223
212
  S: void 0,
224
213
  C: (f, a) => f(...a)
225
214
  });
@@ -237,7 +226,7 @@ var createToolsFromApi = async (url, options) => {
237
226
  methodItem
238
227
  }, {
239
228
  F: __dxlog_file2,
240
- L: 44,
229
+ L: 45,
241
230
  S: void 0,
242
231
  C: (f, a) => f(...a)
243
232
  });
@@ -255,7 +244,7 @@ var createToolsFromApi = async (url, options) => {
255
244
  parameter
256
245
  }, {
257
246
  F: __dxlog_file2,
258
- L: 59,
247
+ L: 60,
259
248
  S: void 0,
260
249
  C: (f, a) => f(...a)
261
250
  });
@@ -278,11 +267,11 @@ var createToolsFromApi = async (url, options) => {
278
267
  inputSchema
279
268
  }, {
280
269
  F: __dxlog_file2,
281
- L: 84,
270
+ L: 85,
282
271
  S: void 0,
283
272
  C: (f, a) => f(...a)
284
273
  });
285
- import_echo_schema2.S.validateSync(import_echo_schema2.JsonSchemaType)(inputSchema);
274
+ import_effect.Schema.validateSync(import_echo_schema2.JsonSchemaType)(inputSchema);
286
275
  const description = methodItem.description ?? methodItem.summary;
287
276
  if (!description) {
288
277
  import_log3.log.warn("no description", {
@@ -290,7 +279,7 @@ var createToolsFromApi = async (url, options) => {
290
279
  method
291
280
  }, {
292
281
  F: __dxlog_file2,
293
- L: 89,
282
+ L: 90,
294
283
  S: void 0,
295
284
  C: (f, a) => f(...a)
296
285
  });
@@ -366,7 +355,7 @@ var callApiEndpoint = async (endpoint, input) => {
366
355
  input
367
356
  }, {
368
357
  F: __dxlog_file2,
369
- L: 173,
358
+ L: 174,
370
359
  S: void 0,
371
360
  C: (f, a) => f(...a)
372
361
  });
@@ -395,7 +384,7 @@ var callApiEndpoint = async (endpoint, input) => {
395
384
  case "body": {
396
385
  const value = input[parameter.name];
397
386
  const effectSchema = (0, import_echo_schema2.toEffectSchema)(parameter.schema);
398
- import_echo_schema2.S.validateSync(effectSchema)(value);
387
+ import_effect.Schema.validateSync(effectSchema)(value);
399
388
  if (body) {
400
389
  throw new Error(`Duplicate body parameter: ${parameter.name}`);
401
390
  }
@@ -425,7 +414,7 @@ var callApiEndpoint = async (endpoint, input) => {
425
414
  request
426
415
  }, {
427
416
  F: __dxlog_file2,
428
- L: 236,
417
+ L: 237,
429
418
  S: void 0,
430
419
  C: (f, a) => f(...a)
431
420
  });
@@ -436,7 +425,7 @@ var callApiEndpoint = async (endpoint, input) => {
436
425
  statusText: response.statusText
437
426
  }, {
438
427
  F: __dxlog_file2,
439
- L: 239,
428
+ L: 240,
440
429
  S: void 0,
441
430
  C: (f, a) => f(...a)
442
431
  });
@@ -460,7 +449,7 @@ var callApiEndpoint = async (endpoint, input) => {
460
449
  error
461
450
  }, {
462
451
  F: __dxlog_file2,
463
- L: 257,
452
+ L: 258,
464
453
  S: void 0,
465
454
  C: (f, a) => f(...a)
466
455
  });
@@ -471,7 +460,7 @@ var callApiEndpoint = async (endpoint, input) => {
471
460
  error
472
461
  }, {
473
462
  F: __dxlog_file2,
474
- L: 261,
463
+ L: 262,
475
464
  S: void 0,
476
465
  C: (f, a) => f(...a)
477
466
  });
@@ -486,7 +475,7 @@ var getEndpointUrl = (endpoint) => {
486
475
  } else {
487
476
  (0, import_invariant.invariant)(!isV3_1(endpoint.document), void 0, {
488
477
  F: __dxlog_file2,
489
- L: 272,
478
+ L: 273,
490
479
  S: void 0,
491
480
  A: [
492
481
  "!isV3_1(endpoint.document)",
@@ -506,7 +495,7 @@ var resolveAuthorization = async (authorization) => {
506
495
  case "api-key": {
507
496
  (0, import_invariant.invariant)(authorization.placement.type === "authorization-header", void 0, {
508
497
  F: __dxlog_file2,
509
- L: 288,
498
+ L: 289,
510
499
  S: void 0,
511
500
  A: [
512
501
  "authorization.placement.type === 'authorization-header'",
@@ -544,7 +533,7 @@ var resolveJsonSchema = (schema, base) => {
544
533
  base
545
534
  }, {
546
535
  F: __dxlog_file2,
547
- L: 321,
536
+ L: 322,
548
537
  S: void 0,
549
538
  C: (f, a) => f(...a)
550
539
  });
@@ -616,7 +605,7 @@ var Section = ({ title, items, striped }) => {
616
605
  };
617
606
  var ToolboxContainer = ({ classNames, space }) => {
618
607
  const artifactDefinitions = (0, import_app_framework.useCapabilities)(import_app_framework.Capabilities.ArtifactDefinition);
619
- const services = (0, import_echo.useQuery)(space, import_echo.Filter.schema(import_chunk_APRU3QWK.ServiceType));
608
+ const services = (0, import_echo.useQuery)(space, import_echo.Filter.schema(import_chunk_VG2UQY4S.ServiceType));
620
609
  const [serviceTools, setServiceTools] = (0, import_react.useState)([]);
621
610
  (0, import_react.useEffect)(() => {
622
611
  (0, import_log.log)("creating service tools...", {
@@ -637,7 +626,7 @@ var ToolboxContainer = ({ classNames, space }) => {
637
626
  }, [
638
627
  services
639
628
  ]);
640
- const functions = (0, import_echo.useQuery)(space, import_echo.Filter.schema(import_types.FunctionType));
629
+ const functions = (0, import_echo.useQuery)(space, import_echo.Filter.schema(import_functions.FunctionType));
641
630
  return /* @__PURE__ */ import_react.default.createElement(Toolbox, {
642
631
  classNames,
643
632
  artifacts: artifactDefinitions,
@@ -834,7 +823,7 @@ var components = {
834
823
  }
835
824
  return /* @__PURE__ */ import_react3.default.createElement(ToggleContainer2, {
836
825
  // open={open}
837
- defaultOpen: block.disposition === "cot" && block.pending,
826
+ defaultOpen: systemDispositions.includes(block.disposition ?? "") && block.pending,
838
827
  title,
839
828
  icon: block.pending ? /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Icon, {
840
829
  icon: "ph--circle-notch--regular",
@@ -845,7 +834,7 @@ var components = {
845
834
  content: block.text,
846
835
  classNames: [
847
836
  "pbe-2",
848
- block.disposition === "cot" && "text-sm text-subdued"
837
+ systemDispositions.includes(block.disposition ?? "") && "text-sm text-subdued"
849
838
  ]
850
839
  }));
851
840
  },
@@ -922,8 +911,13 @@ var titles = {
922
911
  ["artifact"]: "Artifact",
923
912
  ["tool_use"]: "Tool request",
924
913
  ["tool_result"]: "Tool result",
925
- ["tool_list"]: "Tools"
914
+ ["tool_list"]: "Tools",
915
+ ["artifact-update"]: "Artifact(s) changed"
926
916
  };
917
+ var systemDispositions = [
918
+ "cot",
919
+ "artifact-update"
920
+ ];
927
921
  var messageReducer = ({ current, messages }, message) => {
928
922
  let i = 0;
929
923
  for (const block of message.content) {
@@ -1487,7 +1481,7 @@ var ChatProcessor = class {
1487
1481
  */
1488
1482
  async request(message, options = {}) {
1489
1483
  this._session = new import_assistant.AISession({
1490
- operationModel: "immediate"
1484
+ operationModel: "configured"
1491
1485
  });
1492
1486
  this._session.message.on((message2) => {
1493
1487
  (0, import_signals_core.batch)(() => {
@@ -1514,19 +1508,40 @@ var ChatProcessor = class {
1514
1508
  client: this._ai,
1515
1509
  history: options.history ?? [],
1516
1510
  artifacts: this._artifacts ?? [],
1511
+ requiredArtifactIds: this._artifacts?.map((artifact) => artifact.id) ?? [],
1517
1512
  tools: this._tools ?? [],
1518
1513
  prompt: message,
1519
1514
  systemPrompt: this._options.systemPrompt,
1520
1515
  extensions: this._extensions,
1516
+ artifactDiffResolver: async (artifacts) => {
1517
+ const space = this._extensions?.space;
1518
+ if (!space) {
1519
+ return /* @__PURE__ */ new Map();
1520
+ }
1521
+ const versions = /* @__PURE__ */ new Map();
1522
+ await Promise.all(artifacts.map(async (artifact) => {
1523
+ const { objects: [object] } = await space.db.query({
1524
+ id: artifact.id
1525
+ }).run();
1526
+ if (!object) {
1527
+ return;
1528
+ }
1529
+ versions.set(artifact.id, {
1530
+ version: (0, import_echo4.getVersion)(object),
1531
+ diff: `Current state: ${JSON.stringify(object)}`
1532
+ });
1533
+ }));
1534
+ return versions;
1535
+ },
1521
1536
  generationOptions: {
1522
1537
  model: this._options.model
1523
1538
  }
1524
1539
  });
1525
- import_log6.log.info("completed", {
1540
+ (0, import_log6.log)("completed", {
1526
1541
  messages
1527
1542
  }, {
1528
1543
  F: __dxlog_file6,
1529
- L: 137,
1544
+ L: 160,
1530
1545
  S: this,
1531
1546
  C: (f, a) => f(...a)
1532
1547
  });
@@ -1534,7 +1549,7 @@ var ChatProcessor = class {
1534
1549
  } catch (err) {
1535
1550
  import_log6.log.catch(err, void 0, {
1536
1551
  F: __dxlog_file6,
1537
- L: 141,
1552
+ L: 163,
1538
1553
  S: this,
1539
1554
  C: (f, a) => f(...a)
1540
1555
  });
@@ -1559,7 +1574,7 @@ var ChatProcessor = class {
1559
1574
  async cancel() {
1560
1575
  import_log6.log.info("cancelling...", void 0, {
1561
1576
  F: __dxlog_file6,
1562
- L: 159,
1577
+ L: 181,
1563
1578
  S: this,
1564
1579
  C: (f, a) => f(...a)
1565
1580
  });
@@ -1581,23 +1596,30 @@ var AIServiceOverloadedError = class extends Error {
1581
1596
  this.code = "AI_SERVICE_OVERLOADED";
1582
1597
  }
1583
1598
  };
1584
- var AiClient = (0, import_app_framework3.lazy)(() => import("./ai-client-URCCYU6B.cjs"));
1585
- var AppGraphBuilder = (0, import_app_framework3.lazy)(() => import("./app-graph-builder-N5ZUUI2Z.cjs"));
1586
- var IntentResolver = (0, import_app_framework3.lazy)(() => import("./intent-resolver-R3OSTIMH.cjs"));
1587
- var ReactSurface = (0, import_app_framework3.lazy)(() => import("./react-surface-NUQTM6MS.cjs"));
1588
- var AssistantSettings = (0, import_app_framework3.lazy)(() => import("./settings-TXGRCYAL.cjs"));
1599
+ var AiClient = (0, import_app_framework4.lazy)(() => import("./ai-client-3EVTLXTT.cjs"));
1600
+ var AppGraphBuilder = (0, import_app_framework4.lazy)(() => import("./app-graph-builder-BBNLIGYJ.cjs"));
1601
+ var IntentResolver = (0, import_app_framework4.lazy)(() => import("./intent-resolver-Z2NTL2FV.cjs"));
1602
+ var ReactSurface = (0, import_app_framework4.lazy)(() => import("./react-surface-HNXDAZ7C.cjs"));
1603
+ var Settings = (0, import_app_framework4.lazy)(() => import("./settings-WLTC7XO5.cjs"));
1589
1604
  var __dxlog_file7 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-assistant/src/hooks/useChatProcessor.tsx";
1590
- var useChatProcessor = ({ chat, space, settings, part = "deck", associatedArtifact }) => {
1591
- const aiClient = (0, import_app_framework2.useCapability)(import_chunk_GBUNQ257.AssistantCapabilities.AiClient);
1592
- const globalTools = (0, import_app_framework2.useCapabilities)(import_app_framework2.Capabilities.Tools);
1593
- const artifactDefinitions = (0, import_app_framework2.useCapabilities)(import_app_framework2.Capabilities.ArtifactDefinition);
1594
- const { dispatchPromise: dispatch } = (0, import_app_framework2.useIntentDispatcher)();
1595
- const services = (0, import_echo4.useQuery)(space, import_echo4.Filter.schema(import_chunk_APRU3QWK.ServiceType));
1605
+ var useChatProcessor = ({
1606
+ chat,
1607
+ space,
1608
+ settings,
1609
+ // part = 'deck',
1610
+ part,
1611
+ associatedArtifact
1612
+ }) => {
1613
+ const aiClient = (0, import_app_framework3.useCapability)(import_chunk_GBUNQ257.AssistantCapabilities.AiClient);
1614
+ const globalTools = (0, import_app_framework3.useCapabilities)(import_app_framework3.Capabilities.Tools);
1615
+ const artifactDefinitions = (0, import_app_framework3.useCapabilities)(import_app_framework3.Capabilities.ArtifactDefinition);
1616
+ const { dispatchPromise: dispatch } = (0, import_app_framework3.useIntentDispatcher)();
1617
+ const services = (0, import_echo5.useQuery)(space, import_echo5.Filter.schema(import_chunk_VG2UQY4S.ServiceType));
1596
1618
  const [serviceTools, setServiceTools] = (0, import_react8.useState)([]);
1597
1619
  (0, import_react8.useEffect)(() => {
1598
1620
  (0, import_log7.log)("creating service tools...", void 0, {
1599
1621
  F: __dxlog_file7,
1600
- L: 48,
1622
+ L: 49,
1601
1623
  S: void 0,
1602
1624
  C: (f, a) => f(...a)
1603
1625
  });
@@ -1609,14 +1631,14 @@ var useChatProcessor = ({ chat, space, settings, part = "deck", associatedArtifa
1609
1631
  services
1610
1632
  ]);
1611
1633
  const config = (0, import_react_client.useConfig)();
1612
- const functions = (0, import_echo4.useQuery)(space, import_echo4.Filter.schema(import_types3.FunctionType));
1613
- const chatId = (0, import_react8.useMemo)(() => chat ? (0, import_echo4.fullyQualifiedId)(chat) : void 0, [
1634
+ const functions = (0, import_echo5.useQuery)(space, import_echo5.Filter.schema(import_functions3.FunctionType));
1635
+ const chatId = (0, import_react8.useMemo)(() => chat ? (0, import_echo5.fullyQualifiedId)(chat) : void 0, [
1614
1636
  chat
1615
1637
  ]);
1616
1638
  const [tools, extensions] = (0, import_react8.useMemo)(() => {
1617
1639
  (0, import_log7.log)("creating tools...", void 0, {
1618
1640
  F: __dxlog_file7,
1619
- L: 60,
1641
+ L: 61,
1620
1642
  S: void 0,
1621
1643
  C: (f, a) => f(...a)
1622
1644
  });
@@ -1657,7 +1679,7 @@ ${definition.instructions}`),
1657
1679
  settings
1658
1680
  }, {
1659
1681
  F: __dxlog_file7,
1660
- L: 91,
1682
+ L: 92,
1661
1683
  S: void 0,
1662
1684
  C: (f, a) => f(...a)
1663
1685
  });
@@ -1668,16 +1690,16 @@ ${definition.instructions}`),
1668
1690
  }, [
1669
1691
  aiClient.value,
1670
1692
  tools,
1693
+ artifactDefinitions,
1671
1694
  extensions,
1672
1695
  model,
1673
1696
  systemPrompt
1674
1697
  ]);
1675
1698
  return processor;
1676
1699
  };
1677
- var registerTriggersMutex = new import_async2.Mutex();
1678
1700
  var useMessageQueue = (chat) => {
1679
1701
  const space = (0, import_echo6.getSpace)(chat);
1680
- const queueDxn = (0, import_react10.useMemo)(() => {
1702
+ const queueDxn = (0, import_react9.useMemo)(() => {
1681
1703
  const dxn = space && chat?.assistantChatQueue.dxn;
1682
1704
  return dxn ? new import_keys2.DXN(import_keys2.DXN.kind.QUEUE, [
1683
1705
  import_keys2.QueueSubspaceTags.DATA,
@@ -1690,11 +1712,6 @@ var useMessageQueue = (chat) => {
1690
1712
  ]);
1691
1713
  return (0, import_echo6.useQueue)(queueDxn);
1692
1714
  };
1693
- var MockServiceRegistry = class {
1694
- async queryServices(query) {
1695
- return TEST_SERVICES;
1696
- }
1697
- };
1698
1715
  var AMADEUS_AUTH = {
1699
1716
  type: "oauth",
1700
1717
  clientId: "BOEnpLd1sMyKjAPGKYeAPFFy60u53QEG",
@@ -1711,7 +1728,7 @@ var VISUAL_CROSSING_CREDENTIALS = {
1711
1728
  }
1712
1729
  };
1713
1730
  var TEST_SERVICES = [
1714
- (0, import_echo_schema3.createStatic)(import_chunk_APRU3QWK.ServiceType, {
1731
+ (0, import_echo_schema3.create)(import_chunk_VG2UQY4S.ServiceType, {
1715
1732
  serviceId: "amadeus.com/service/FlightSearch",
1716
1733
  name: "Amadeus Flight Search",
1717
1734
  description: "Search for local and international flights.",
@@ -1724,7 +1741,7 @@ var TEST_SERVICES = [
1724
1741
  }
1725
1742
  ]
1726
1743
  }),
1727
- (0, import_echo_schema3.createStatic)(import_chunk_APRU3QWK.ServiceType, {
1744
+ (0, import_echo_schema3.create)(import_chunk_VG2UQY4S.ServiceType, {
1728
1745
  serviceId: "amadeus.com/service/HotelSearch",
1729
1746
  name: "Amadeus Hotel Search",
1730
1747
  description: "Search for local and international hotels.",
@@ -1737,7 +1754,7 @@ var TEST_SERVICES = [
1737
1754
  }
1738
1755
  ]
1739
1756
  }),
1740
- (0, import_echo_schema3.createStatic)(import_chunk_APRU3QWK.ServiceType, {
1757
+ (0, import_echo_schema3.create)(import_chunk_VG2UQY4S.ServiceType, {
1741
1758
  serviceId: "visualcrossing.com/service/Weather",
1742
1759
  name: "Visual Crossing Weather",
1743
1760
  description: "Search for global weather forecasts.",
@@ -1751,7 +1768,7 @@ var TEST_SERVICES = [
1751
1768
  ]
1752
1769
  }),
1753
1770
  // TODO(burdon): Needs auth.
1754
- (0, import_echo_schema3.createStatic)(import_chunk_APRU3QWK.ServiceType, {
1771
+ (0, import_echo_schema3.create)(import_chunk_VG2UQY4S.ServiceType, {
1755
1772
  serviceId: "abstractapi.com/service/GeoLocation",
1756
1773
  name: "Abstract GeoLocation",
1757
1774
  description: "Get the location of any IP address.",
@@ -1768,11 +1785,11 @@ var TEST_SERVICES = [
1768
1785
  //
1769
1786
  ...Array.from({
1770
1787
  length: 20
1771
- }, (_, i) => (0, import_echo_schema3.createStatic)(import_chunk_APRU3QWK.ServiceType, {
1788
+ }, (_, i) => (0, import_echo_schema3.create)(import_chunk_VG2UQY4S.ServiceType, {
1772
1789
  serviceId: `example.com/service/test-${i}`,
1773
1790
  name: `Test ${i}`,
1774
1791
  description: `Test ${i}`,
1775
- category: Object.keys(import_chunk_APRU3QWK.categoryIcons)[Math.floor(Math.random() * Object.keys(import_chunk_APRU3QWK.categoryIcons).length)],
1792
+ category: Object.keys(import_chunk_VG2UQY4S.categoryIcons)[Math.floor(Math.random() * Object.keys(import_chunk_VG2UQY4S.categoryIcons).length)],
1776
1793
  interfaces: [
1777
1794
  {
1778
1795
  kind: "api",
@@ -1781,26 +1798,11 @@ var TEST_SERVICES = [
1781
1798
  ]
1782
1799
  }))
1783
1800
  ];
1784
- var useServices = (space, query) => {
1785
- const registry = (0, import_react11.useMemo)(() => new MockServiceRegistry(), []);
1786
- const [services, setServices] = (0, import_react11.useState)([]);
1787
- (0, import_react11.useEffect)(() => {
1788
- const t = setTimeout(async () => {
1789
- const services2 = await registry.queryServices(query);
1790
- setServices(services2);
1791
- });
1792
- return () => clearTimeout(t);
1793
- }, [
1794
- query,
1795
- registry
1796
- ]);
1797
- return services;
1798
- };
1799
1801
  var __dxlog_file8 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-assistant/src/hooks/useContextProvider.ts";
1800
1802
  var stringMatch = (query, label) => label.toLowerCase().startsWith(query.toLowerCase());
1801
1803
  var useContextProvider = (space) => {
1802
- const artifactDefinitions = (0, import_app_framework4.useCapabilities)(import_app_framework4.Capabilities.ArtifactDefinition);
1803
- return (0, import_react13.useMemo)(() => {
1804
+ const artifactDefinitions = (0, import_app_framework5.useCapabilities)(import_app_framework5.Capabilities.ArtifactDefinition);
1805
+ return (0, import_react12.useMemo)(() => {
1804
1806
  if (!space) {
1805
1807
  return void 0;
1806
1808
  }
@@ -1809,7 +1811,7 @@ var useContextProvider = (space) => {
1809
1811
  const artifactSchemas = artifactDefinitions.map((artifact) => artifact.schema);
1810
1812
  const { objects } = await space.db.query(import_echo7.Filter.or(...artifactSchemas.map((schema) => import_echo7.Filter.schema(schema)))).run();
1811
1813
  return objects.map((object) => {
1812
- import_log10.log.info("object", {
1814
+ import_log8.log.info("object", {
1813
1815
  object,
1814
1816
  label: (0, import_echo_schema4.getLabel)((0, import_echo_schema4.getSchema)(object), object)
1815
1817
  }, {
@@ -1851,15 +1853,36 @@ var ThreadContainer = ({ classNames, chat, settings, part, associatedArtifact, o
1851
1853
  associatedArtifact
1852
1854
  });
1853
1855
  const messageQueue = useMessageQueue(chat);
1856
+ const { dispatchPromise: dispatch } = (0, import_app_framework2.useIntentDispatcher)();
1854
1857
  const messages = [
1855
1858
  ...messageQueue?.items ?? [],
1856
1859
  ...processor.messages.value
1857
1860
  ];
1861
+ (0, import_react7.useEffect)(() => {
1862
+ if (!processor.streaming.value && messageQueue?.items) {
1863
+ const message = messageQueue.items[messageQueue.items.length - 1];
1864
+ if (space && chat && message && dispatch && associatedArtifact) {
1865
+ void dispatch((0, import_app_framework2.createIntent)(import_app_framework2.CollaborationActions.InsertContent, {
1866
+ spaceId: space.id,
1867
+ target: (0, import_live_object.makeRef)(associatedArtifact),
1868
+ object: (0, import_live_object.refFromDXN)(new import_keys.DXN(import_keys.DXN.kind.QUEUE, [
1869
+ ...chat.assistantChatQueue.dxn.parts,
1870
+ message.id
1871
+ ])),
1872
+ label: "View proposal"
1873
+ }));
1874
+ }
1875
+ }
1876
+ }, [
1877
+ messageQueue,
1878
+ associatedArtifact,
1879
+ processor.streaming.value
1880
+ ]);
1858
1881
  const handleSubmit = (0, import_react7.useCallback)((text) => {
1859
1882
  if (processor.streaming.value) {
1860
1883
  import_log5.log.warn("ignoring submit; still processing.", void 0, {
1861
1884
  F: __dxlog_file9,
1862
- L: 44,
1885
+ L: 66,
1863
1886
  S: void 0,
1864
1887
  C: (f, a) => f(...a)
1865
1888
  });
@@ -1868,7 +1891,7 @@ var ThreadContainer = ({ classNames, chat, settings, part, associatedArtifact, o
1868
1891
  onOpenChange?.(true);
1869
1892
  (0, import_invariant3.invariant)(messageQueue, void 0, {
1870
1893
  F: __dxlog_file9,
1871
- L: 50,
1894
+ L: 72,
1872
1895
  S: void 0,
1873
1896
  A: [
1874
1897
  "messageQueue",
@@ -1901,11 +1924,11 @@ var ThreadContainer = ({ classNames, chat, settings, part, associatedArtifact, o
1901
1924
  processing: processor.streaming.value,
1902
1925
  error: processor.error.value,
1903
1926
  tools: processor.tools,
1927
+ contextProvider,
1904
1928
  onSubmit: handleSubmit,
1905
1929
  onCancel: handleCancel,
1906
1930
  onPrompt: handleSubmit,
1907
1931
  onOpenChange,
1908
- contextProvider,
1909
1932
  ...props
1910
1933
  });
1911
1934
  };
@@ -1913,13 +1936,12 @@ var ThreadContainer = ({ classNames, chat, settings, part, associatedArtifact, o
1913
1936
  0 && (module.exports = {
1914
1937
  AiClient,
1915
1938
  AppGraphBuilder,
1916
- AssistantSettings,
1917
1939
  IntentResolver,
1918
1940
  ReactSurface,
1941
+ Settings,
1919
1942
  Thread,
1920
1943
  ThreadContainer,
1921
1944
  Toolbox,
1922
- ToolboxContainer,
1923
- useServices
1945
+ ToolboxContainer
1924
1946
  });
1925
- //# sourceMappingURL=chunk-RPBKMP2E.cjs.map
1947
+ //# sourceMappingURL=chunk-XC7A3KUG.cjs.map