@dxos/plugin-assistant 0.8.2-main.fbd8ed0 → 0.8.2-staging.7ac8446

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 (226) hide show
  1. package/dist/lib/browser/{AssistantDialog-DTWVEQBB.mjs → AssistantDialog-YSHMAHW5.mjs} +3 -3
  2. package/dist/lib/browser/{ChatContainer-ZNKENYKZ.mjs → ChatContainer-V5GP7DYF.mjs} +3 -3
  3. package/dist/lib/browser/ChatContainer-V5GP7DYF.mjs.map +7 -0
  4. package/dist/lib/browser/TemplateContainer-K4EJNGIL.mjs +78 -0
  5. package/dist/lib/browser/TemplateContainer-K4EJNGIL.mjs.map +7 -0
  6. package/dist/lib/browser/{ai-client-5PRCXI7N.mjs → ai-client-CDZLSNXE.mjs} +3 -3
  7. package/dist/lib/browser/ai-client-CDZLSNXE.mjs.map +7 -0
  8. package/dist/lib/browser/app-graph-builder-MF5EVDWW.mjs +209 -0
  9. package/dist/lib/browser/app-graph-builder-MF5EVDWW.mjs.map +7 -0
  10. package/dist/lib/browser/{chunk-OWZHLWW5.mjs → chunk-FMB7RGMP.mjs} +136 -147
  11. package/dist/lib/browser/chunk-FMB7RGMP.mjs.map +7 -0
  12. package/dist/lib/browser/chunk-IAMR2FAE.mjs +183 -0
  13. package/dist/lib/browser/chunk-IAMR2FAE.mjs.map +7 -0
  14. package/dist/lib/browser/chunk-KYMKVE6M.mjs +128 -0
  15. package/dist/lib/browser/chunk-KYMKVE6M.mjs.map +7 -0
  16. package/dist/lib/browser/index.mjs +11 -14
  17. package/dist/lib/browser/index.mjs.map +3 -3
  18. package/dist/lib/browser/{intent-resolver-QV5AAVJZ.mjs → intent-resolver-WJGLKKVO.mjs} +12 -7
  19. package/dist/lib/browser/intent-resolver-WJGLKKVO.mjs.map +7 -0
  20. package/dist/lib/browser/meta.json +1 -1
  21. package/dist/lib/browser/{react-surface-JJPYWEIN.mjs → react-surface-57VRDOQT.mjs} +17 -17
  22. package/dist/lib/browser/react-surface-57VRDOQT.mjs.map +7 -0
  23. package/dist/lib/browser/{settings-OZX7J65A.mjs → settings-U6UFQX32.mjs} +4 -4
  24. package/dist/lib/browser/settings-U6UFQX32.mjs.map +7 -0
  25. package/dist/lib/browser/types/index.mjs +1 -3
  26. package/dist/lib/node/{AssistantDialog-RJJHZI63.cjs → AssistantDialog-YI2BSGSX.cjs} +7 -7
  27. package/dist/lib/node/{ChatContainer-WVAAOEOH.cjs → ChatContainer-ZJ5JXF6A.cjs} +7 -7
  28. package/dist/lib/node/ChatContainer-ZJ5JXF6A.cjs.map +7 -0
  29. package/dist/lib/node/TemplateContainer-XWFYJB4T.cjs +104 -0
  30. package/dist/lib/node/TemplateContainer-XWFYJB4T.cjs.map +7 -0
  31. package/dist/lib/node/{ai-client-OUPSRQT7.cjs → ai-client-URCCYU6B.cjs} +6 -6
  32. package/dist/lib/node/ai-client-URCCYU6B.cjs.map +7 -0
  33. package/dist/lib/node/{app-graph-builder-LEO63CZZ.cjs → app-graph-builder-N5ZUUI2Z.cjs} +94 -74
  34. package/dist/lib/node/app-graph-builder-N5ZUUI2Z.cjs.map +7 -0
  35. package/dist/lib/node/chunk-APRU3QWK.cjs +206 -0
  36. package/dist/lib/node/chunk-APRU3QWK.cjs.map +7 -0
  37. package/dist/lib/node/{chunk-OOHFSPWR.cjs → chunk-RPBKMP2E.cjs} +141 -159
  38. package/dist/lib/node/chunk-RPBKMP2E.cjs.map +7 -0
  39. package/dist/lib/node/{chunk-GQ3XS5FZ.cjs → chunk-ZKOC4ZFY.cjs} +61 -78
  40. package/dist/lib/node/chunk-ZKOC4ZFY.cjs.map +7 -0
  41. package/dist/lib/node/index.cjs +43 -46
  42. package/dist/lib/node/index.cjs.map +3 -3
  43. package/dist/lib/node/{intent-resolver-QDGZMWLY.cjs → intent-resolver-R3OSTIMH.cjs} +15 -10
  44. package/dist/lib/node/intent-resolver-R3OSTIMH.cjs.map +7 -0
  45. package/dist/lib/node/meta.json +1 -1
  46. package/dist/lib/node/{react-surface-XNEIJJYJ.cjs → react-surface-NUQTM6MS.cjs} +25 -25
  47. package/dist/lib/node/react-surface-NUQTM6MS.cjs.map +7 -0
  48. package/dist/lib/node/{settings-WLTC7XO5.cjs → settings-TXGRCYAL.cjs} +7 -7
  49. package/dist/lib/node/settings-TXGRCYAL.cjs.map +7 -0
  50. package/dist/lib/node/types/index.cjs +12 -14
  51. package/dist/lib/node/types/index.cjs.map +2 -2
  52. package/dist/lib/node-esm/{AssistantDialog-D33WZUGR.mjs → AssistantDialog-U2FQX5TD.mjs} +3 -3
  53. package/dist/lib/node-esm/{ChatContainer-FAYGNMQW.mjs → ChatContainer-QW3OOXTT.mjs} +3 -3
  54. package/dist/lib/node-esm/ChatContainer-QW3OOXTT.mjs.map +7 -0
  55. package/dist/lib/node-esm/TemplateContainer-EUM2X65J.mjs +79 -0
  56. package/dist/lib/node-esm/TemplateContainer-EUM2X65J.mjs.map +7 -0
  57. package/dist/lib/node-esm/{ai-client-RZQWEDUX.mjs → ai-client-WMHS5EGV.mjs} +3 -3
  58. package/dist/lib/node-esm/ai-client-WMHS5EGV.mjs.map +7 -0
  59. package/dist/lib/node-esm/app-graph-builder-DWBNIMHM.mjs +210 -0
  60. package/dist/lib/node-esm/app-graph-builder-DWBNIMHM.mjs.map +7 -0
  61. package/dist/lib/node-esm/chunk-GBBXIW5F.mjs +129 -0
  62. package/dist/lib/node-esm/chunk-GBBXIW5F.mjs.map +7 -0
  63. package/dist/lib/node-esm/{chunk-ED55ZE4G.mjs → chunk-MVDAY3CZ.mjs} +136 -147
  64. package/dist/lib/node-esm/chunk-MVDAY3CZ.mjs.map +7 -0
  65. package/dist/lib/node-esm/chunk-MXK2EANZ.mjs +184 -0
  66. package/dist/lib/node-esm/chunk-MXK2EANZ.mjs.map +7 -0
  67. package/dist/lib/node-esm/index.mjs +11 -14
  68. package/dist/lib/node-esm/index.mjs.map +3 -3
  69. package/dist/lib/node-esm/{intent-resolver-Q3I6S6HN.mjs → intent-resolver-H32TL4X6.mjs} +12 -7
  70. package/dist/lib/node-esm/intent-resolver-H32TL4X6.mjs.map +7 -0
  71. package/dist/lib/node-esm/meta.json +1 -1
  72. package/dist/lib/node-esm/{react-surface-RI3JONQY.mjs → react-surface-JBVZF6CP.mjs} +17 -17
  73. package/dist/lib/node-esm/react-surface-JBVZF6CP.mjs.map +7 -0
  74. package/dist/lib/node-esm/{settings-CLE57WEP.mjs → settings-DZU5PNXM.mjs} +4 -4
  75. package/dist/lib/node-esm/settings-DZU5PNXM.mjs.map +7 -0
  76. package/dist/lib/node-esm/types/index.mjs +1 -3
  77. package/dist/types/src/capabilities/ai-client.d.ts +2 -2
  78. package/dist/types/src/capabilities/ai-client.d.ts.map +1 -1
  79. package/dist/types/src/capabilities/app-graph-builder.d.ts +179 -2
  80. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  81. package/dist/types/src/capabilities/index.d.ts +179 -3
  82. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  83. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  84. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  85. package/dist/types/src/components/AmbientDialog/AmbientDialog.d.ts.map +1 -1
  86. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts.map +1 -1
  87. package/dist/types/src/components/ChatContainer.d.ts +3 -4
  88. package/dist/types/src/components/ChatContainer.d.ts.map +1 -1
  89. package/dist/types/src/components/Prompt/PromptBar.d.ts.map +1 -1
  90. package/dist/types/src/components/Prompt/autocomplete.d.ts.map +1 -1
  91. package/dist/types/src/components/Prompt/references.d.ts.map +1 -1
  92. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.d.ts +6 -0
  93. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.d.ts.map +1 -0
  94. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.stories.d.ts +8 -0
  95. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.stories.d.ts.map +1 -0
  96. package/dist/types/src/components/ServiceRegistry/index.d.ts +2 -0
  97. package/dist/types/src/components/ServiceRegistry/index.d.ts.map +1 -0
  98. package/dist/types/src/components/TemplateContainer.d.ts.map +1 -1
  99. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +1 -1
  100. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts.map +1 -1
  101. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +2 -2
  102. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +1 -1
  103. package/dist/types/src/components/Thread/Thread.d.ts.map +1 -1
  104. package/dist/types/src/components/Thread/Thread.stories.d.ts.map +1 -1
  105. package/dist/types/src/components/Thread/ThreadContainer.d.ts.map +1 -1
  106. package/dist/types/src/components/Thread/ThreadContainer.stories.d.ts +2 -2
  107. package/dist/types/src/components/Thread/ThreadContainer.stories.d.ts.map +1 -1
  108. package/dist/types/src/components/Thread/ToolInvocations.d.ts.map +1 -1
  109. package/dist/types/src/components/Toolbox/Toolbox.d.ts +1 -1
  110. package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
  111. package/dist/types/src/components/index.d.ts +6 -2
  112. package/dist/types/src/components/index.d.ts.map +1 -1
  113. package/dist/types/src/hooks/index.d.ts +1 -0
  114. package/dist/types/src/hooks/index.d.ts.map +1 -1
  115. package/dist/types/src/hooks/invocation-handler.d.ts +5 -0
  116. package/dist/types/src/hooks/invocation-handler.d.ts.map +1 -0
  117. package/dist/types/src/hooks/processor.d.ts.map +1 -1
  118. package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
  119. package/dist/types/src/hooks/useContextProvider.d.ts +1 -1
  120. package/dist/types/src/hooks/useContextProvider.d.ts.map +1 -1
  121. package/dist/types/src/hooks/useLocalTriggerManager.d.ts +3 -0
  122. package/dist/types/src/hooks/useLocalTriggerManager.d.ts.map +1 -0
  123. package/dist/types/src/hooks/useMessageQueue.d.ts +3 -0
  124. package/dist/types/src/hooks/useMessageQueue.d.ts.map +1 -1
  125. package/dist/types/src/hooks/useServices.d.ts.map +1 -1
  126. package/dist/types/src/hooks/useTextInputEvents.d.ts.map +1 -1
  127. package/dist/types/src/testing/test-functions.d.ts.map +1 -1
  128. package/dist/types/src/tools/function.d.ts +2 -2
  129. package/dist/types/src/tools/function.d.ts.map +1 -1
  130. package/dist/types/src/tools/openapi.d.ts.map +1 -1
  131. package/dist/types/src/translations.d.ts +58 -7
  132. package/dist/types/src/translations.d.ts.map +1 -1
  133. package/dist/types/src/types/service.d.ts +95 -96
  134. package/dist/types/src/types/service.d.ts.map +1 -1
  135. package/dist/types/src/types/template.d.ts +52 -52
  136. package/dist/types/src/types/template.d.ts.map +1 -1
  137. package/dist/types/src/types/types.d.ts +18 -20
  138. package/dist/types/src/types/types.d.ts.map +1 -1
  139. package/dist/types/tsconfig.tsbuildinfo +1 -1
  140. package/package.json +58 -64
  141. package/src/AssistantPlugin.tsx +2 -2
  142. package/src/capabilities/ai-client.ts +5 -4
  143. package/src/capabilities/app-graph-builder.ts +133 -161
  144. package/src/capabilities/index.ts +1 -1
  145. package/src/capabilities/intent-resolver.ts +8 -5
  146. package/src/capabilities/react-surface.tsx +11 -13
  147. package/src/capabilities/settings.ts +2 -2
  148. package/src/components/AmbientDialog/AmbientDialog.stories.tsx +1 -1
  149. package/src/components/AssistantSettings/AssistantSettings.tsx +6 -28
  150. package/src/components/ChatContainer.tsx +8 -6
  151. package/src/components/Prompt/Prompt.stories.tsx +1 -1
  152. package/src/components/Prompt/PromptBar.tsx +12 -4
  153. package/src/components/ServiceRegistry/ServiceRegistry.stories.tsx +49 -0
  154. package/src/components/ServiceRegistry/ServiceRegistry.tsx +76 -0
  155. package/src/components/ServiceRegistry/index.ts +5 -0
  156. package/src/components/TemplateContainer.tsx +79 -3
  157. package/src/components/TemplateEditor/TemplateEditor.stories.tsx +2 -2
  158. package/src/components/TemplateEditor/TemplateForm.stories.tsx +2 -2
  159. package/src/components/TemplateEditor/TemplateForm.tsx +2 -2
  160. package/src/components/Thread/Thread.stories.tsx +15 -12
  161. package/src/components/Thread/ThreadContainer.stories.tsx +21 -12
  162. package/src/components/Thread/ThreadContainer.tsx +2 -24
  163. package/src/components/Thread/ThreadMessage.tsx +3 -6
  164. package/src/components/Toolbox/Toolbox.stories.tsx +3 -3
  165. package/src/components/Toolbox/Toolbox.tsx +3 -3
  166. package/src/components/index.ts +1 -1
  167. package/src/hooks/index.ts +1 -0
  168. package/src/hooks/invocation-handler.ts +107 -0
  169. package/src/hooks/processor.ts +4 -26
  170. package/src/hooks/useChatProcessor.tsx +7 -8
  171. package/src/hooks/useContextProvider.ts +16 -20
  172. package/src/hooks/useLocalTriggerManager.ts +82 -0
  173. package/src/hooks/useMessageQueue.ts +2 -2
  174. package/src/testing/test-services.ts +6 -6
  175. package/src/tools/function.ts +6 -4
  176. package/src/tools/openapi.ts +3 -4
  177. package/src/translations.ts +4 -5
  178. package/src/types/service.ts +37 -39
  179. package/src/types/template.ts +25 -27
  180. package/src/types/types.ts +17 -20
  181. package/dist/lib/browser/ChatContainer-ZNKENYKZ.mjs.map +0 -7
  182. package/dist/lib/browser/TemplateContainer-WKU5XFSO.mjs +0 -22
  183. package/dist/lib/browser/TemplateContainer-WKU5XFSO.mjs.map +0 -7
  184. package/dist/lib/browser/ai-client-5PRCXI7N.mjs.map +0 -7
  185. package/dist/lib/browser/app-graph-builder-HTK3HFGM.mjs +0 -189
  186. package/dist/lib/browser/app-graph-builder-HTK3HFGM.mjs.map +0 -7
  187. package/dist/lib/browser/chunk-5P7U35RJ.mjs +0 -192
  188. package/dist/lib/browser/chunk-5P7U35RJ.mjs.map +0 -7
  189. package/dist/lib/browser/chunk-7VDZP5WX.mjs +0 -143
  190. package/dist/lib/browser/chunk-7VDZP5WX.mjs.map +0 -7
  191. package/dist/lib/browser/chunk-OWZHLWW5.mjs.map +0 -7
  192. package/dist/lib/browser/intent-resolver-QV5AAVJZ.mjs.map +0 -7
  193. package/dist/lib/browser/react-surface-JJPYWEIN.mjs.map +0 -7
  194. package/dist/lib/browser/settings-OZX7J65A.mjs.map +0 -7
  195. package/dist/lib/node/ChatContainer-WVAAOEOH.cjs.map +0 -7
  196. package/dist/lib/node/TemplateContainer-EQXKHWTF.cjs +0 -52
  197. package/dist/lib/node/TemplateContainer-EQXKHWTF.cjs.map +0 -7
  198. package/dist/lib/node/ai-client-OUPSRQT7.cjs.map +0 -7
  199. package/dist/lib/node/app-graph-builder-LEO63CZZ.cjs.map +0 -7
  200. package/dist/lib/node/chunk-GQ3XS5FZ.cjs.map +0 -7
  201. package/dist/lib/node/chunk-OOHFSPWR.cjs.map +0 -7
  202. package/dist/lib/node/chunk-VG2UQY4S.cjs +0 -216
  203. package/dist/lib/node/chunk-VG2UQY4S.cjs.map +0 -7
  204. package/dist/lib/node/intent-resolver-QDGZMWLY.cjs.map +0 -7
  205. package/dist/lib/node/react-surface-XNEIJJYJ.cjs.map +0 -7
  206. package/dist/lib/node/settings-WLTC7XO5.cjs.map +0 -7
  207. package/dist/lib/node-esm/ChatContainer-FAYGNMQW.mjs.map +0 -7
  208. package/dist/lib/node-esm/TemplateContainer-3LEBT5ZC.mjs +0 -23
  209. package/dist/lib/node-esm/TemplateContainer-3LEBT5ZC.mjs.map +0 -7
  210. package/dist/lib/node-esm/ai-client-RZQWEDUX.mjs.map +0 -7
  211. package/dist/lib/node-esm/app-graph-builder-WXJNZDYB.mjs +0 -190
  212. package/dist/lib/node-esm/app-graph-builder-WXJNZDYB.mjs.map +0 -7
  213. package/dist/lib/node-esm/chunk-74GFINWJ.mjs +0 -144
  214. package/dist/lib/node-esm/chunk-74GFINWJ.mjs.map +0 -7
  215. package/dist/lib/node-esm/chunk-ED55ZE4G.mjs.map +0 -7
  216. package/dist/lib/node-esm/chunk-UZWYXNR5.mjs +0 -193
  217. package/dist/lib/node-esm/chunk-UZWYXNR5.mjs.map +0 -7
  218. package/dist/lib/node-esm/intent-resolver-Q3I6S6HN.mjs.map +0 -7
  219. package/dist/lib/node-esm/react-surface-RI3JONQY.mjs.map +0 -7
  220. package/dist/lib/node-esm/settings-CLE57WEP.mjs.map +0 -7
  221. package/dist/types/src/components/PromptSettings.d.ts +0 -6
  222. package/dist/types/src/components/PromptSettings.d.ts.map +0 -1
  223. package/src/components/PromptSettings.tsx +0 -91
  224. /package/dist/lib/browser/{AssistantDialog-DTWVEQBB.mjs.map → AssistantDialog-YSHMAHW5.mjs.map} +0 -0
  225. /package/dist/lib/node/{AssistantDialog-RJJHZI63.cjs.map → AssistantDialog-YI2BSGSX.cjs.map} +0 -0
  226. /package/dist/lib/node-esm/{AssistantDialog-D33WZUGR.mjs.map → AssistantDialog-U2FQX5TD.mjs.map} +0 -0
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  ServiceType,
7
7
  categoryIcons
8
- } from "./chunk-UZWYXNR5.mjs";
8
+ } from "./chunk-MXK2EANZ.mjs";
9
9
  import {
10
10
  ASSISTANT_PLUGIN
11
11
  } from "./chunk-ECRK6TUQ.mjs";
@@ -14,7 +14,7 @@ import {
14
14
  import React, { useState, useEffect, Fragment } from "react";
15
15
  import { Capabilities, useCapabilities } from "@dxos/app-framework";
16
16
  import { parseToolName } from "@dxos/artifact";
17
- import { FunctionType } from "@dxos/functions";
17
+ import { FunctionType } from "@dxos/functions/types";
18
18
  import { log as log3 } from "@dxos/log";
19
19
  import { Filter, useQuery } from "@dxos/react-client/echo";
20
20
  import { mx } from "@dxos/react-ui-theme";
@@ -22,11 +22,11 @@ import { mx } from "@dxos/react-ui-theme";
22
22
  // packages/plugins/plugin-assistant/src/tools/function.ts
23
23
  import { defineTool, ToolResult } from "@dxos/artifact";
24
24
  import { toEffectSchema } from "@dxos/echo-schema";
25
- import { getInvocationUrl, getUserFunctionUrlInMetadata } from "@dxos/functions";
25
+ import { getInvocationUrl, getUserFunctionUrlInMetadata } from "@dxos/functions/types";
26
26
  import { log } from "@dxos/log";
27
27
  import { getMeta } from "@dxos/react-client/echo";
28
28
  var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-assistant/src/tools/function.ts";
29
- var convertFunctionToTool = (fn, edgeUrl, spaceId) => {
29
+ var covertFunctionToTool = (fn, edgeUrl, spaceId) => {
30
30
  if (!fn.description || !fn.inputSchema) {
31
31
  return void 0;
32
32
  }
@@ -48,7 +48,7 @@ var convertFunctionToTool = (fn, edgeUrl, spaceId) => {
48
48
  input
49
49
  }, {
50
50
  F: __dxlog_file,
51
- L: 34,
51
+ L: 36,
52
52
  S: void 0,
53
53
  C: (f, a) => f(...a)
54
54
  });
@@ -65,10 +65,9 @@ var convertFunctionToTool = (fn, edgeUrl, spaceId) => {
65
65
  };
66
66
 
67
67
  // packages/plugins/plugin-assistant/src/tools/openapi.ts
68
- import { Schema } from "effect";
69
68
  import jsonpointer from "jsonpointer";
70
69
  import { ToolResult as ToolResult2 } from "@dxos/artifact";
71
- import { JsonSchemaType, normalizeSchema, toEffectSchema as toEffectSchema2 } from "@dxos/echo-schema";
70
+ import { JsonSchemaType, normalizeSchema, S, toEffectSchema as toEffectSchema2 } from "@dxos/echo-schema";
72
71
  import { invariant } from "@dxos/invariant";
73
72
  import { log as log2 } from "@dxos/log";
74
73
  import { deepMapValues } from "@dxos/util";
@@ -76,7 +75,7 @@ var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-assista
76
75
  var createToolsFromService = async (service) => {
77
76
  invariant(service.interfaces?.length === 1 && service.interfaces[0].kind === "api", void 0, {
78
77
  F: __dxlog_file2,
79
- L: 23,
78
+ L: 22,
80
79
  S: void 0,
81
80
  A: [
82
81
  "service.interfaces?.length === 1 && service.interfaces[0].kind === 'api'",
@@ -86,7 +85,7 @@ var createToolsFromService = async (service) => {
86
85
  const iface = service.interfaces[0];
87
86
  invariant(iface.schemaUrl, void 0, {
88
87
  F: __dxlog_file2,
89
- L: 25,
88
+ L: 24,
90
89
  S: void 0,
91
90
  A: [
92
91
  "iface.schemaUrl",
@@ -95,7 +94,7 @@ var createToolsFromService = async (service) => {
95
94
  });
96
95
  invariant(iface.schemaUrl, void 0, {
97
96
  F: __dxlog_file2,
98
- L: 26,
97
+ L: 25,
99
98
  S: void 0,
100
99
  A: [
101
100
  "iface.schemaUrl",
@@ -113,7 +112,7 @@ var createToolsFromApi = async (url, options) => {
113
112
  spec
114
113
  }, {
115
114
  F: __dxlog_file2,
116
- L: 33,
115
+ L: 32,
117
116
  S: void 0,
118
117
  C: (f, a) => f(...a)
119
118
  });
@@ -131,7 +130,7 @@ var createToolsFromApi = async (url, options) => {
131
130
  methodItem
132
131
  }, {
133
132
  F: __dxlog_file2,
134
- L: 45,
133
+ L: 44,
135
134
  S: void 0,
136
135
  C: (f, a) => f(...a)
137
136
  });
@@ -149,7 +148,7 @@ var createToolsFromApi = async (url, options) => {
149
148
  parameter
150
149
  }, {
151
150
  F: __dxlog_file2,
152
- L: 60,
151
+ L: 59,
153
152
  S: void 0,
154
153
  C: (f, a) => f(...a)
155
154
  });
@@ -172,11 +171,11 @@ var createToolsFromApi = async (url, options) => {
172
171
  inputSchema
173
172
  }, {
174
173
  F: __dxlog_file2,
175
- L: 85,
174
+ L: 84,
176
175
  S: void 0,
177
176
  C: (f, a) => f(...a)
178
177
  });
179
- Schema.validateSync(JsonSchemaType)(inputSchema);
178
+ S.validateSync(JsonSchemaType)(inputSchema);
180
179
  const description = methodItem.description ?? methodItem.summary;
181
180
  if (!description) {
182
181
  log2.warn("no description", {
@@ -184,7 +183,7 @@ var createToolsFromApi = async (url, options) => {
184
183
  method
185
184
  }, {
186
185
  F: __dxlog_file2,
187
- L: 90,
186
+ L: 89,
188
187
  S: void 0,
189
188
  C: (f, a) => f(...a)
190
189
  });
@@ -260,7 +259,7 @@ var callApiEndpoint = async (endpoint, input) => {
260
259
  input
261
260
  }, {
262
261
  F: __dxlog_file2,
263
- L: 174,
262
+ L: 173,
264
263
  S: void 0,
265
264
  C: (f, a) => f(...a)
266
265
  });
@@ -289,7 +288,7 @@ var callApiEndpoint = async (endpoint, input) => {
289
288
  case "body": {
290
289
  const value = input[parameter.name];
291
290
  const effectSchema = toEffectSchema2(parameter.schema);
292
- Schema.validateSync(effectSchema)(value);
291
+ S.validateSync(effectSchema)(value);
293
292
  if (body) {
294
293
  throw new Error(`Duplicate body parameter: ${parameter.name}`);
295
294
  }
@@ -319,7 +318,7 @@ var callApiEndpoint = async (endpoint, input) => {
319
318
  request
320
319
  }, {
321
320
  F: __dxlog_file2,
322
- L: 237,
321
+ L: 236,
323
322
  S: void 0,
324
323
  C: (f, a) => f(...a)
325
324
  });
@@ -330,7 +329,7 @@ var callApiEndpoint = async (endpoint, input) => {
330
329
  statusText: response.statusText
331
330
  }, {
332
331
  F: __dxlog_file2,
333
- L: 240,
332
+ L: 239,
334
333
  S: void 0,
335
334
  C: (f, a) => f(...a)
336
335
  });
@@ -354,7 +353,7 @@ var callApiEndpoint = async (endpoint, input) => {
354
353
  error
355
354
  }, {
356
355
  F: __dxlog_file2,
357
- L: 258,
356
+ L: 257,
358
357
  S: void 0,
359
358
  C: (f, a) => f(...a)
360
359
  });
@@ -365,7 +364,7 @@ var callApiEndpoint = async (endpoint, input) => {
365
364
  error
366
365
  }, {
367
366
  F: __dxlog_file2,
368
- L: 262,
367
+ L: 261,
369
368
  S: void 0,
370
369
  C: (f, a) => f(...a)
371
370
  });
@@ -380,7 +379,7 @@ var getEndpointUrl = (endpoint) => {
380
379
  } else {
381
380
  invariant(!isV3_1(endpoint.document), void 0, {
382
381
  F: __dxlog_file2,
383
- L: 273,
382
+ L: 272,
384
383
  S: void 0,
385
384
  A: [
386
385
  "!isV3_1(endpoint.document)",
@@ -400,7 +399,7 @@ var resolveAuthorization = async (authorization) => {
400
399
  case "api-key": {
401
400
  invariant(authorization.placement.type === "authorization-header", void 0, {
402
401
  F: __dxlog_file2,
403
- L: 289,
402
+ L: 288,
404
403
  S: void 0,
405
404
  A: [
406
405
  "authorization.placement.type === 'authorization-header'",
@@ -438,7 +437,7 @@ var resolveJsonSchema = (schema, base) => {
438
437
  base
439
438
  }, {
440
439
  F: __dxlog_file2,
441
- L: 322,
440
+ L: 321,
442
441
  S: void 0,
443
442
  C: (f, a) => f(...a)
444
443
  });
@@ -512,7 +511,7 @@ var Section = ({ title, items, striped }) => {
512
511
  };
513
512
  var ToolboxContainer = ({ classNames, space }) => {
514
513
  const artifactDefinitions = useCapabilities(Capabilities.ArtifactDefinition);
515
- const services = useQuery(space, Filter.type(ServiceType));
514
+ const services = useQuery(space, Filter.schema(ServiceType));
516
515
  const [serviceTools, setServiceTools] = useState([]);
517
516
  useEffect(() => {
518
517
  log3("creating service tools...", {
@@ -533,7 +532,7 @@ var ToolboxContainer = ({ classNames, space }) => {
533
532
  }, [
534
533
  services
535
534
  ]);
536
- const functions = useQuery(space, Filter.type(FunctionType));
535
+ const functions = useQuery(space, Filter.schema(FunctionType));
537
536
  return /* @__PURE__ */ React.createElement(Toolbox, {
538
537
  classNames,
539
538
  artifacts: artifactDefinitions,
@@ -683,7 +682,7 @@ var ToolContainer = ({ classNames, items }) => {
683
682
  // packages/plugins/plugin-assistant/src/components/Thread/ThreadMessage.tsx
684
683
  var __dxlog_file5 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-assistant/src/components/Thread/ThreadMessage.tsx";
685
684
  var panelClassNames = "flex flex-col w-full px-2 bg-groupSurface rounded-md";
686
- var userClassNames = "bg-[--user-fill] text-accentSurfaceText";
685
+ var userClassNames = "bg-[--user-fill] text-inverse";
687
686
  var ToggleContainer2 = (props) => {
688
687
  return /* @__PURE__ */ React3.createElement(NativeToggleContainer, {
689
688
  ...props,
@@ -755,7 +754,7 @@ var components = {
755
754
  }
756
755
  return /* @__PURE__ */ React3.createElement(ToggleContainer2, {
757
756
  // open={open}
758
- defaultOpen: systemDispositions.includes(block.disposition ?? "") && block.pending,
757
+ defaultOpen: block.disposition === "cot" && block.pending,
759
758
  title,
760
759
  icon: block.pending ? /* @__PURE__ */ React3.createElement(Icon, {
761
760
  icon: "ph--circle-notch--regular",
@@ -766,7 +765,7 @@ var components = {
766
765
  content: block.text,
767
766
  classNames: [
768
767
  "pbe-2",
769
- systemDispositions.includes(block.disposition ?? "") && "text-sm text-subdued"
768
+ block.disposition === "cot" && "text-sm text-subdued"
770
769
  ]
771
770
  }));
772
771
  },
@@ -843,13 +842,8 @@ var titles = {
843
842
  ["artifact"]: "Artifact",
844
843
  ["tool_use"]: "Tool request",
845
844
  ["tool_result"]: "Tool result",
846
- ["tool_list"]: "Tools",
847
- ["artifact-update"]: "Artifact(s) changed"
845
+ ["tool_list"]: "Tools"
848
846
  };
849
- var systemDispositions = [
850
- "cot",
851
- "artifact-update"
852
- ];
853
847
 
854
848
  // packages/plugins/plugin-assistant/src/components/Thread/reducer.ts
855
849
  var messageReducer = ({ current, messages }, message) => {
@@ -1256,7 +1250,7 @@ import React5, { useRef as useRef2, useState as useState3 } from "react";
1256
1250
  import { useVoiceInput } from "@dxos/plugin-transcription";
1257
1251
  import { Icon as Icon2, IconButton as IconButton2, Tooltip, useTranslation } from "@dxos/react-ui";
1258
1252
  import { Spinner } from "@dxos/react-ui-sfx";
1259
- import { errorText, mx as mx4 } from "@dxos/react-ui-theme";
1253
+ import { errorMessageColors, errorText, mx as mx4 } from "@dxos/react-ui-theme";
1260
1254
  var PromptBar = ({ classNames, placeholder, processing, error, microphone, onCancel, references, ...props }) => {
1261
1255
  const { t } = useTranslation(ASSISTANT_PLUGIN);
1262
1256
  const promptRef = useRef2(null);
@@ -1272,14 +1266,15 @@ var PromptBar = ({ classNames, placeholder, processing, error, microphone, onCan
1272
1266
  className: mx4("shrink-0 w-full grid grid-cols-[var(--rail-action)_1fr_var(--rail-action)] overflow-hidden", classNames)
1273
1267
  }, /* @__PURE__ */ React5.createElement("div", {
1274
1268
  className: "flex w-[--rail-action] h-[--rail-action] items-center justify-center"
1275
- }, error && /* @__PURE__ */ React5.createElement(Tooltip.Trigger, {
1276
- content: error.message,
1269
+ }, error && /* @__PURE__ */ React5.createElement(Tooltip.Root, {
1277
1270
  delayDuration: 0
1278
- }, /* @__PURE__ */ React5.createElement(Icon2, {
1271
+ }, /* @__PURE__ */ React5.createElement(Tooltip.Trigger, null, /* @__PURE__ */ React5.createElement(Icon2, {
1279
1272
  icon: "ph--warning-circle--regular",
1280
1273
  classNames: errorText,
1281
1274
  size: 5
1282
- })) || /* @__PURE__ */ React5.createElement(Spinner, {
1275
+ })), /* @__PURE__ */ React5.createElement(Tooltip.Portal, null, /* @__PURE__ */ React5.createElement(Tooltip.Content, null, /* @__PURE__ */ React5.createElement("div", {
1276
+ className: mx4("text-sm", errorMessageColors)
1277
+ }, error.message), /* @__PURE__ */ React5.createElement(Tooltip.Arrow, null)))) || /* @__PURE__ */ React5.createElement(Spinner, {
1283
1278
  active: processing
1284
1279
  })), /* @__PURE__ */ React5.createElement(Prompt, {
1285
1280
  ref: promptRef,
@@ -1386,12 +1381,9 @@ var Thread = ({ classNames, space, messages, collapse = true, transcription, pro
1386
1381
  };
1387
1382
 
1388
1383
  // packages/plugins/plugin-assistant/src/components/Thread/ThreadContainer.tsx
1389
- import React7, { useCallback as useCallback3, useEffect as useEffect5 } from "react";
1390
- import { CollaborationActions, createIntent, useIntentDispatcher as useIntentDispatcher2 } from "@dxos/app-framework";
1391
- import { invariant as invariant4 } from "@dxos/invariant";
1392
- import { DXN } from "@dxos/keys";
1393
- import { makeRef, refFromDXN } from "@dxos/live-object";
1394
- import { log as log8 } from "@dxos/log";
1384
+ import React7, { useCallback as useCallback3 } from "react";
1385
+ import { invariant as invariant6 } from "@dxos/invariant";
1386
+ import { log as log10 } from "@dxos/log";
1395
1387
  import { getSpace as getSpace2 } from "@dxos/react-client/echo";
1396
1388
 
1397
1389
  // packages/plugins/plugin-assistant/src/hooks/processor.ts
@@ -1399,7 +1391,6 @@ import { batch, computed, signal } from "@preact/signals-core";
1399
1391
  import { AISession, DEFAULT_EDGE_MODEL } from "@dxos/assistant";
1400
1392
  import { invariant as invariant3 } from "@dxos/invariant";
1401
1393
  import { log as log5 } from "@dxos/log";
1402
- import { getVersion } from "@dxos/react-client/echo";
1403
1394
  var __dxlog_file6 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-assistant/src/hooks/processor.ts";
1404
1395
  var defaultOptions = {
1405
1396
  model: DEFAULT_EDGE_MODEL,
@@ -1458,7 +1449,7 @@ var ChatProcessor = class {
1458
1449
  */
1459
1450
  async request(message, options = {}) {
1460
1451
  this._session = new AISession({
1461
- operationModel: "configured"
1452
+ operationModel: "immediate"
1462
1453
  });
1463
1454
  this._session.message.on((message2) => {
1464
1455
  batch(() => {
@@ -1485,40 +1476,19 @@ var ChatProcessor = class {
1485
1476
  client: this._ai,
1486
1477
  history: options.history ?? [],
1487
1478
  artifacts: this._artifacts ?? [],
1488
- requiredArtifactIds: this._artifacts?.map((artifact) => artifact.id) ?? [],
1489
1479
  tools: this._tools ?? [],
1490
1480
  prompt: message,
1491
1481
  systemPrompt: this._options.systemPrompt,
1492
1482
  extensions: this._extensions,
1493
- artifactDiffResolver: async (artifacts) => {
1494
- const space = this._extensions?.space;
1495
- if (!space) {
1496
- return /* @__PURE__ */ new Map();
1497
- }
1498
- const versions = /* @__PURE__ */ new Map();
1499
- await Promise.all(artifacts.map(async (artifact) => {
1500
- const { objects: [object] } = await space.db.query({
1501
- id: artifact.id
1502
- }).run();
1503
- if (!object) {
1504
- return;
1505
- }
1506
- versions.set(artifact.id, {
1507
- version: getVersion(object),
1508
- diff: `Current state: ${JSON.stringify(object)}`
1509
- });
1510
- }));
1511
- return versions;
1512
- },
1513
1483
  generationOptions: {
1514
1484
  model: this._options.model
1515
1485
  }
1516
1486
  });
1517
- log5("completed", {
1487
+ log5.info("completed", {
1518
1488
  messages
1519
1489
  }, {
1520
1490
  F: __dxlog_file6,
1521
- L: 160,
1491
+ L: 137,
1522
1492
  S: this,
1523
1493
  C: (f, a) => f(...a)
1524
1494
  });
@@ -1526,7 +1496,7 @@ var ChatProcessor = class {
1526
1496
  } catch (err) {
1527
1497
  log5.catch(err, void 0, {
1528
1498
  F: __dxlog_file6,
1529
- L: 163,
1499
+ L: 141,
1530
1500
  S: this,
1531
1501
  C: (f, a) => f(...a)
1532
1502
  });
@@ -1551,7 +1521,7 @@ var ChatProcessor = class {
1551
1521
  async cancel() {
1552
1522
  log5.info("cancelling...", void 0, {
1553
1523
  F: __dxlog_file6,
1554
- L: 181,
1524
+ L: 159,
1555
1525
  S: this,
1556
1526
  C: (f, a) => f(...a)
1557
1527
  });
@@ -1579,7 +1549,7 @@ import { useEffect as useEffect3, useMemo as useMemo3, useState as useState4 } f
1579
1549
  import { Capabilities as Capabilities2, useCapabilities as useCapabilities2, useCapability, useIntentDispatcher } from "@dxos/app-framework";
1580
1550
  import { createSystemPrompt } from "@dxos/artifact";
1581
1551
  import { DEFAULT_EDGE_MODEL as DEFAULT_EDGE_MODEL2, DEFAULT_OLLAMA_MODEL } from "@dxos/assistant";
1582
- import { FunctionType as FunctionType2 } from "@dxos/functions";
1552
+ import { FunctionType as FunctionType2 } from "@dxos/functions/types";
1583
1553
  import { log as log6 } from "@dxos/log";
1584
1554
  import { useConfig } from "@dxos/react-client";
1585
1555
  import { Filter as Filter2, fullyQualifiedId, useQuery as useQuery2 } from "@dxos/react-client/echo";
@@ -1587,32 +1557,25 @@ import { isNonNullable as isNonNullable2 } from "@dxos/util";
1587
1557
 
1588
1558
  // packages/plugins/plugin-assistant/src/capabilities/index.ts
1589
1559
  import { lazy } from "@dxos/app-framework";
1590
- var AiClient = lazy(() => import("./ai-client-RZQWEDUX.mjs"));
1591
- var AppGraphBuilder = lazy(() => import("./app-graph-builder-WXJNZDYB.mjs"));
1592
- var IntentResolver = lazy(() => import("./intent-resolver-Q3I6S6HN.mjs"));
1593
- var ReactSurface = lazy(() => import("./react-surface-RI3JONQY.mjs"));
1594
- var Settings = lazy(() => import("./settings-CLE57WEP.mjs"));
1560
+ var AiClient = lazy(() => import("./ai-client-WMHS5EGV.mjs"));
1561
+ var AppGraphBuilder = lazy(() => import("./app-graph-builder-DWBNIMHM.mjs"));
1562
+ var IntentResolver = lazy(() => import("./intent-resolver-H32TL4X6.mjs"));
1563
+ var ReactSurface = lazy(() => import("./react-surface-JBVZF6CP.mjs"));
1564
+ var AssistantSettings = lazy(() => import("./settings-DZU5PNXM.mjs"));
1595
1565
 
1596
1566
  // packages/plugins/plugin-assistant/src/hooks/useChatProcessor.tsx
1597
1567
  var __dxlog_file7 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-assistant/src/hooks/useChatProcessor.tsx";
1598
- var useChatProcessor = ({
1599
- chat,
1600
- space,
1601
- settings,
1602
- // part = 'deck',
1603
- part,
1604
- associatedArtifact
1605
- }) => {
1568
+ var useChatProcessor = ({ chat, space, settings, part = "deck", associatedArtifact }) => {
1606
1569
  const aiClient = useCapability(AssistantCapabilities.AiClient);
1607
1570
  const globalTools = useCapabilities2(Capabilities2.Tools);
1608
1571
  const artifactDefinitions = useCapabilities2(Capabilities2.ArtifactDefinition);
1609
1572
  const { dispatchPromise: dispatch } = useIntentDispatcher();
1610
- const services = useQuery2(space, Filter2.type(ServiceType));
1573
+ const services = useQuery2(space, Filter2.schema(ServiceType));
1611
1574
  const [serviceTools, setServiceTools] = useState4([]);
1612
1575
  useEffect3(() => {
1613
1576
  log6("creating service tools...", void 0, {
1614
1577
  F: __dxlog_file7,
1615
- L: 49,
1578
+ L: 48,
1616
1579
  S: void 0,
1617
1580
  C: (f, a) => f(...a)
1618
1581
  });
@@ -1624,21 +1587,21 @@ var useChatProcessor = ({
1624
1587
  services
1625
1588
  ]);
1626
1589
  const config = useConfig();
1627
- const functions = useQuery2(space, Filter2.type(FunctionType2));
1590
+ const functions = useQuery2(space, Filter2.schema(FunctionType2));
1628
1591
  const chatId = useMemo3(() => chat ? fullyQualifiedId(chat) : void 0, [
1629
1592
  chat
1630
1593
  ]);
1631
1594
  const [tools, extensions] = useMemo3(() => {
1632
1595
  log6("creating tools...", void 0, {
1633
1596
  F: __dxlog_file7,
1634
- L: 61,
1597
+ L: 60,
1635
1598
  S: void 0,
1636
1599
  C: (f, a) => f(...a)
1637
1600
  });
1638
1601
  const tools2 = [
1639
1602
  ...globalTools.flat(),
1640
1603
  ...serviceTools,
1641
- ...functions.map((fn) => convertFunctionToTool(fn, config.values.runtime?.services?.edge?.url ?? "", space?.id)).filter(isNonNullable2)
1604
+ ...functions.map((fn) => covertFunctionToTool(fn, config.values.runtime?.services?.edge?.url ?? "", space?.id)).filter(isNonNullable2)
1642
1605
  ];
1643
1606
  const extensions2 = {
1644
1607
  space,
@@ -1672,7 +1635,7 @@ ${definition.instructions}`),
1672
1635
  settings
1673
1636
  }, {
1674
1637
  F: __dxlog_file7,
1675
- L: 92,
1638
+ L: 91,
1676
1639
  S: void 0,
1677
1640
  C: (f, a) => f(...a)
1678
1641
  });
@@ -1683,7 +1646,6 @@ ${definition.instructions}`),
1683
1646
  }, [
1684
1647
  aiClient.value,
1685
1648
  tools,
1686
- artifactDefinitions,
1687
1649
  extensions,
1688
1650
  model,
1689
1651
  systemPrompt
@@ -1691,15 +1653,41 @@ ${definition.instructions}`),
1691
1653
  return processor;
1692
1654
  };
1693
1655
 
1656
+ // packages/plugins/plugin-assistant/src/hooks/useLocalTriggerManager.ts
1657
+ import { useEffect as useEffect4, useState as useState5 } from "react";
1658
+ import { Mutex as Mutex2 } from "@dxos/async";
1659
+ import { Context } from "@dxos/context";
1660
+ import { createSubscriptionTrigger } from "@dxos/functions";
1661
+ import { FunctionTrigger } from "@dxos/functions/types";
1662
+ import { invariant as invariant5 } from "@dxos/invariant";
1663
+ import { log as log8 } from "@dxos/log";
1664
+ import { useClient } from "@dxos/react-client";
1665
+ import { Filter as Filter3, useQuery as useQuery3 } from "@dxos/react-client/echo";
1666
+
1667
+ // packages/plugins/plugin-assistant/src/hooks/invocation-handler.ts
1668
+ import { sleep } from "@dxos/async";
1669
+ import { getObjectCore, ResultFormat } from "@dxos/echo-db";
1670
+ import { FunctionType as FunctionType3, getUserFunctionUrlInMetadata as getUserFunctionUrlInMetadata2 } from "@dxos/functions/types";
1671
+ import { invariant as invariant4 } from "@dxos/invariant";
1672
+ import { DXN, LOCAL_SPACE_TAG } from "@dxos/keys";
1673
+ import { log as log7 } from "@dxos/log";
1674
+
1675
+ // packages/plugins/plugin-assistant/src/hooks/useLocalTriggerManager.ts
1676
+ var registerTriggersMutex = new Mutex2();
1677
+
1694
1678
  // packages/plugins/plugin-assistant/src/hooks/useMessageQueue.ts
1695
1679
  import { useMemo as useMemo4 } from "react";
1696
- import { createQueueDxn } from "@dxos/echo-schema";
1680
+ import { DXN as DXN2, QueueSubspaceTags } from "@dxos/keys";
1697
1681
  import { getSpace, useQueue } from "@dxos/react-client/echo";
1698
1682
  var useMessageQueue = (chat) => {
1699
1683
  const space = getSpace(chat);
1700
1684
  const queueDxn = useMemo4(() => {
1701
1685
  const dxn = space && chat?.assistantChatQueue.dxn;
1702
- return dxn ? createQueueDxn(space.id) : void 0;
1686
+ return dxn ? new DXN2(DXN2.kind.QUEUE, [
1687
+ QueueSubspaceTags.DATA,
1688
+ space.id,
1689
+ dxn.parts.at(-1)
1690
+ ]) : void 0;
1703
1691
  }, [
1704
1692
  space,
1705
1693
  chat?.assistantChatQueue.dxn
@@ -1708,14 +1696,19 @@ var useMessageQueue = (chat) => {
1708
1696
  };
1709
1697
 
1710
1698
  // packages/plugins/plugin-assistant/src/hooks/useServices.ts
1711
- import { useEffect as useEffect4, useMemo as useMemo5, useState as useState5 } from "react";
1699
+ import { useEffect as useEffect5, useMemo as useMemo5, useState as useState6 } from "react";
1712
1700
 
1713
1701
  // packages/plugins/plugin-assistant/src/testing/test-functions.ts
1714
1702
  import { createSystemPrompt as createSystemPrompt2 } from "@dxos/artifact";
1715
1703
  import { DEFAULT_EDGE_MODEL as DEFAULT_EDGE_MODEL3 } from "@dxos/assistant";
1716
1704
 
1717
1705
  // packages/plugins/plugin-assistant/src/testing/test-services.ts
1718
- import { create } from "@dxos/echo-schema";
1706
+ import { createStatic } from "@dxos/echo-schema";
1707
+ var MockServiceRegistry = class {
1708
+ async queryServices(query) {
1709
+ return TEST_SERVICES;
1710
+ }
1711
+ };
1719
1712
  var AMADEUS_AUTH = {
1720
1713
  type: "oauth",
1721
1714
  clientId: "BOEnpLd1sMyKjAPGKYeAPFFy60u53QEG",
@@ -1732,7 +1725,7 @@ var VISUAL_CROSSING_CREDENTIALS = {
1732
1725
  }
1733
1726
  };
1734
1727
  var TEST_SERVICES = [
1735
- create(ServiceType, {
1728
+ createStatic(ServiceType, {
1736
1729
  serviceId: "amadeus.com/service/FlightSearch",
1737
1730
  name: "Amadeus Flight Search",
1738
1731
  description: "Search for local and international flights.",
@@ -1745,7 +1738,7 @@ var TEST_SERVICES = [
1745
1738
  }
1746
1739
  ]
1747
1740
  }),
1748
- create(ServiceType, {
1741
+ createStatic(ServiceType, {
1749
1742
  serviceId: "amadeus.com/service/HotelSearch",
1750
1743
  name: "Amadeus Hotel Search",
1751
1744
  description: "Search for local and international hotels.",
@@ -1758,7 +1751,7 @@ var TEST_SERVICES = [
1758
1751
  }
1759
1752
  ]
1760
1753
  }),
1761
- create(ServiceType, {
1754
+ createStatic(ServiceType, {
1762
1755
  serviceId: "visualcrossing.com/service/Weather",
1763
1756
  name: "Visual Crossing Weather",
1764
1757
  description: "Search for global weather forecasts.",
@@ -1772,7 +1765,7 @@ var TEST_SERVICES = [
1772
1765
  ]
1773
1766
  }),
1774
1767
  // TODO(burdon): Needs auth.
1775
- create(ServiceType, {
1768
+ createStatic(ServiceType, {
1776
1769
  serviceId: "abstractapi.com/service/GeoLocation",
1777
1770
  name: "Abstract GeoLocation",
1778
1771
  description: "Get the location of any IP address.",
@@ -1789,7 +1782,7 @@ var TEST_SERVICES = [
1789
1782
  //
1790
1783
  ...Array.from({
1791
1784
  length: 20
1792
- }, (_, i) => create(ServiceType, {
1785
+ }, (_, i) => createStatic(ServiceType, {
1793
1786
  serviceId: `example.com/service/test-${i}`,
1794
1787
  name: `Test ${i}`,
1795
1788
  description: `Test ${i}`,
@@ -1803,16 +1796,32 @@ var TEST_SERVICES = [
1803
1796
  }))
1804
1797
  ];
1805
1798
 
1799
+ // packages/plugins/plugin-assistant/src/hooks/useServices.ts
1800
+ var useServices = (space, query) => {
1801
+ const registry = useMemo5(() => new MockServiceRegistry(), []);
1802
+ const [services, setServices] = useState6([]);
1803
+ useEffect5(() => {
1804
+ const t = setTimeout(async () => {
1805
+ const services2 = await registry.queryServices(query);
1806
+ setServices(services2);
1807
+ });
1808
+ return () => clearTimeout(t);
1809
+ }, [
1810
+ query,
1811
+ registry
1812
+ ]);
1813
+ return services;
1814
+ };
1815
+
1806
1816
  // packages/plugins/plugin-assistant/src/hooks/useTextInputEvents.ts
1807
- import { useState as useState6, useCallback as useCallback2 } from "react";
1817
+ import { useState as useState7, useCallback as useCallback2 } from "react";
1808
1818
 
1809
1819
  // packages/plugins/plugin-assistant/src/hooks/useContextProvider.ts
1810
1820
  import { useMemo as useMemo6 } from "react";
1811
1821
  import { Capabilities as Capabilities3, useCapabilities as useCapabilities3 } from "@dxos/app-framework";
1812
- import { Filter as Filter3 } from "@dxos/client/echo";
1813
- import { Type } from "@dxos/echo";
1814
- import { getDXN, getLabel } from "@dxos/echo-schema";
1815
- import { log as log7 } from "@dxos/log";
1822
+ import { getDXN, getLabel, getSchema } from "@dxos/echo-schema";
1823
+ import { log as log9 } from "@dxos/log";
1824
+ import { Filter as Filter4 } from "@dxos/react-client/echo";
1816
1825
  var __dxlog_file8 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-assistant/src/hooks/useContextProvider.ts";
1817
1826
  var stringMatch = (query, label) => label.toLowerCase().startsWith(query.toLowerCase());
1818
1827
  var useContextProvider = (space) => {
@@ -1824,21 +1833,21 @@ var useContextProvider = (space) => {
1824
1833
  return {
1825
1834
  query: async ({ query }) => {
1826
1835
  const artifactSchemas = artifactDefinitions.map((artifact) => artifact.schema);
1827
- const { objects } = await space.db.query(Filter3.or(...artifactSchemas.map((schema) => Filter3.type(schema)))).run();
1836
+ const { objects } = await space.db.query(Filter4.or(...artifactSchemas.map((schema) => Filter4.schema(schema)))).run();
1828
1837
  return objects.map((object) => {
1829
- log7.info("object", {
1838
+ log9.info("object", {
1830
1839
  object,
1831
- label: getLabel(Type.getSchema(object), object)
1840
+ label: getLabel(getSchema(object), object)
1832
1841
  }, {
1833
1842
  F: __dxlog_file8,
1834
- L: 38,
1843
+ L: 36,
1835
1844
  S: void 0,
1836
1845
  C: (f, a) => f(...a)
1837
1846
  });
1838
1847
  return object;
1839
- }).filter((object) => stringMatch(query, getLabel(Type.getSchema(object), object) ?? "")).filter((object) => !!getDXN(object)).map((object) => ({
1848
+ }).filter((object) => stringMatch(query, getLabel(getSchema(object), object) ?? "")).filter((object) => !!getDXN(object)).map((object) => ({
1840
1849
  uri: getDXN(object).toString(),
1841
- label: getLabel(Type.getSchema(object), object) ?? ""
1850
+ label: getLabel(getSchema(object), object) ?? ""
1842
1851
  }));
1843
1852
  },
1844
1853
  resolveMetadata: async ({ uri }) => {
@@ -1847,7 +1856,7 @@ var useContextProvider = (space) => {
1847
1856
  }).first();
1848
1857
  return {
1849
1858
  uri,
1850
- label: getLabel(Type.getSchema(object), object) ?? ""
1859
+ label: getLabel(getSchema(object), object) ?? ""
1851
1860
  };
1852
1861
  }
1853
1862
  };
@@ -1870,45 +1879,24 @@ var ThreadContainer = ({ classNames, chat, settings, part, associatedArtifact, o
1870
1879
  associatedArtifact
1871
1880
  });
1872
1881
  const messageQueue = useMessageQueue(chat);
1873
- const { dispatchPromise: dispatch } = useIntentDispatcher2();
1874
1882
  const messages = [
1875
1883
  ...messageQueue?.items ?? [],
1876
1884
  ...processor.messages.value
1877
1885
  ];
1878
- useEffect5(() => {
1879
- if (!processor.streaming.value && messageQueue?.items) {
1880
- const message = messageQueue.items[messageQueue.items.length - 1];
1881
- if (space && chat && message && dispatch && associatedArtifact) {
1882
- void dispatch(createIntent(CollaborationActions.InsertContent, {
1883
- spaceId: space.id,
1884
- target: makeRef(associatedArtifact),
1885
- object: refFromDXN(new DXN(DXN.kind.QUEUE, [
1886
- ...chat.assistantChatQueue.dxn.parts,
1887
- message.id
1888
- ])),
1889
- label: "View proposal"
1890
- }));
1891
- }
1892
- }
1893
- }, [
1894
- messageQueue,
1895
- associatedArtifact,
1896
- processor.streaming.value
1897
- ]);
1898
1886
  const handleSubmit = useCallback3((text) => {
1899
1887
  if (processor.streaming.value) {
1900
- log8.warn("ignoring submit; still processing.", void 0, {
1888
+ log10.warn("ignoring submit; still processing.", void 0, {
1901
1889
  F: __dxlog_file9,
1902
- L: 66,
1890
+ L: 44,
1903
1891
  S: void 0,
1904
1892
  C: (f, a) => f(...a)
1905
1893
  });
1906
1894
  return false;
1907
1895
  }
1908
1896
  onOpenChange?.(true);
1909
- invariant4(messageQueue, void 0, {
1897
+ invariant6(messageQueue, void 0, {
1910
1898
  F: __dxlog_file9,
1911
- L: 72,
1899
+ L: 50,
1912
1900
  S: void 0,
1913
1901
  A: [
1914
1902
  "messageQueue",
@@ -1941,24 +1929,25 @@ var ThreadContainer = ({ classNames, chat, settings, part, associatedArtifact, o
1941
1929
  processing: processor.streaming.value,
1942
1930
  error: processor.error.value,
1943
1931
  tools: processor.tools,
1944
- contextProvider,
1945
1932
  onSubmit: handleSubmit,
1946
1933
  onCancel: handleCancel,
1947
1934
  onPrompt: handleSubmit,
1948
1935
  onOpenChange,
1936
+ contextProvider,
1949
1937
  ...props
1950
1938
  });
1951
1939
  };
1952
1940
 
1953
1941
  export {
1954
- Toolbox,
1955
- ToolboxContainer,
1956
- Thread,
1957
1942
  AiClient,
1958
1943
  AppGraphBuilder,
1959
1944
  IntentResolver,
1960
1945
  ReactSurface,
1961
- Settings,
1946
+ AssistantSettings,
1947
+ useServices,
1948
+ Toolbox,
1949
+ ToolboxContainer,
1950
+ Thread,
1962
1951
  ThreadContainer
1963
1952
  };
1964
- //# sourceMappingURL=chunk-ED55ZE4G.mjs.map
1953
+ //# sourceMappingURL=chunk-MVDAY3CZ.mjs.map