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