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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/dist/lib/browser/{AssistantDialog-77B4BSXR.mjs → AssistantDialog-WX6EKSXI.mjs} +3 -3
  2. package/dist/lib/browser/{ChatContainer-4AMJKO3T.mjs → ChatContainer-HMNWYDQ5.mjs} +3 -3
  3. package/dist/lib/browser/{ai-client-CDZLSNXE.mjs → ai-client-OK5SMYJC.mjs} +1 -1
  4. package/dist/lib/browser/{ai-client-CDZLSNXE.mjs.map → ai-client-OK5SMYJC.mjs.map} +2 -2
  5. package/dist/lib/browser/{app-graph-builder-GU6ZWSP4.mjs → app-graph-builder-J5ISIFTE.mjs} +5 -35
  6. package/dist/lib/browser/app-graph-builder-J5ISIFTE.mjs.map +7 -0
  7. package/dist/lib/browser/{chunk-FQ4L5NYW.mjs → chunk-4EXBK6UE.mjs} +95 -105
  8. package/dist/lib/browser/chunk-4EXBK6UE.mjs.map +7 -0
  9. package/dist/lib/browser/chunk-5P7U35RJ.mjs +192 -0
  10. package/dist/lib/browser/chunk-5P7U35RJ.mjs.map +7 -0
  11. package/dist/lib/browser/{chunk-SBFJKCVU.mjs → chunk-J3V74ZRF.mjs} +24 -69
  12. package/dist/lib/browser/chunk-J3V74ZRF.mjs.map +7 -0
  13. package/dist/lib/browser/index.mjs +8 -8
  14. package/dist/lib/browser/index.mjs.map +2 -2
  15. package/dist/lib/browser/{intent-resolver-YAQELTFQ.mjs → intent-resolver-MGHOSZY3.mjs} +2 -2
  16. package/dist/lib/browser/meta.json +1 -1
  17. package/dist/lib/browser/{react-surface-JOATHBJ4.mjs → react-surface-VP4ABBMH.mjs} +5 -14
  18. package/dist/lib/browser/react-surface-VP4ABBMH.mjs.map +7 -0
  19. package/dist/lib/browser/{settings-PAJLJEVW.mjs → settings-OZX7J65A.mjs} +2 -2
  20. package/dist/lib/browser/types/index.mjs +3 -1
  21. package/dist/lib/node/{AssistantDialog-7V7RRSIL.cjs → AssistantDialog-2OTAZADX.cjs} +7 -7
  22. package/dist/lib/node/{ChatContainer-UWYNOALW.cjs → ChatContainer-3CTBKBS2.cjs} +7 -7
  23. package/dist/lib/node/{ai-client-URCCYU6B.cjs → ai-client-3EVTLXTT.cjs} +4 -4
  24. package/dist/lib/node/{ai-client-URCCYU6B.cjs.map → ai-client-3EVTLXTT.cjs.map} +2 -2
  25. package/dist/lib/node/{app-graph-builder-CEMLCKAF.cjs → app-graph-builder-BBNLIGYJ.cjs} +12 -42
  26. package/dist/lib/node/app-graph-builder-BBNLIGYJ.cjs.map +7 -0
  27. package/dist/lib/node/chunk-VG2UQY4S.cjs +216 -0
  28. package/dist/lib/node/chunk-VG2UQY4S.cjs.map +7 -0
  29. package/dist/lib/node/{chunk-KWBQ5P7D.cjs → chunk-WFSXNO4H.cjs} +28 -69
  30. package/dist/lib/node/chunk-WFSXNO4H.cjs.map +7 -0
  31. package/dist/lib/node/{chunk-ENBPNIJZ.cjs → chunk-XC7A3KUG.cjs} +103 -106
  32. package/dist/lib/node/chunk-XC7A3KUG.cjs.map +7 -0
  33. package/dist/lib/node/index.cjs +41 -41
  34. package/dist/lib/node/index.cjs.map +3 -3
  35. package/dist/lib/node/{intent-resolver-RNMYSJ3E.cjs → intent-resolver-Z2NTL2FV.cjs} +9 -9
  36. package/dist/lib/node/meta.json +1 -1
  37. package/dist/lib/node/{react-surface-7RIXMLMN.cjs → react-surface-HNXDAZ7C.cjs} +16 -24
  38. package/dist/lib/node/react-surface-HNXDAZ7C.cjs.map +7 -0
  39. package/dist/lib/node/{settings-JBEYMZ4S.cjs → settings-WLTC7XO5.cjs} +6 -6
  40. package/dist/lib/node/types/index.cjs +14 -12
  41. package/dist/lib/node/types/index.cjs.map +2 -2
  42. package/dist/lib/node-esm/{AssistantDialog-N24M73FW.mjs → AssistantDialog-GNLPYXY4.mjs} +3 -3
  43. package/dist/lib/node-esm/{ChatContainer-KPWY5UK4.mjs → ChatContainer-FGHDDORQ.mjs} +3 -3
  44. package/dist/lib/node-esm/{ai-client-WMHS5EGV.mjs → ai-client-LYCBXZI7.mjs} +1 -1
  45. package/dist/lib/node-esm/{ai-client-WMHS5EGV.mjs.map → ai-client-LYCBXZI7.mjs.map} +2 -2
  46. package/dist/lib/node-esm/{app-graph-builder-Y45WYAWL.mjs → app-graph-builder-245AWCPJ.mjs} +5 -35
  47. package/dist/lib/node-esm/app-graph-builder-245AWCPJ.mjs.map +7 -0
  48. package/dist/lib/node-esm/{chunk-PFWTW22U.mjs → chunk-G5LUEW72.mjs} +24 -69
  49. package/dist/lib/node-esm/chunk-G5LUEW72.mjs.map +7 -0
  50. package/dist/lib/node-esm/{chunk-JE47GNTB.mjs → chunk-JX73NOSL.mjs} +95 -105
  51. package/dist/lib/node-esm/chunk-JX73NOSL.mjs.map +7 -0
  52. package/dist/lib/node-esm/chunk-UZWYXNR5.mjs +193 -0
  53. package/dist/lib/node-esm/chunk-UZWYXNR5.mjs.map +7 -0
  54. package/dist/lib/node-esm/index.mjs +8 -8
  55. package/dist/lib/node-esm/index.mjs.map +2 -2
  56. package/dist/lib/node-esm/{intent-resolver-V2ZFI5C4.mjs → intent-resolver-DMQXPV2H.mjs} +2 -2
  57. package/dist/lib/node-esm/meta.json +1 -1
  58. package/dist/lib/node-esm/{react-surface-UUHNOYST.mjs → react-surface-NYXMBFPY.mjs} +5 -14
  59. package/dist/lib/node-esm/react-surface-NYXMBFPY.mjs.map +7 -0
  60. package/dist/lib/node-esm/{settings-KAMA6RIY.mjs → settings-CLE57WEP.mjs} +2 -2
  61. package/dist/lib/node-esm/types/index.mjs +3 -1
  62. package/dist/types/src/capabilities/ai-client.d.ts.map +1 -1
  63. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  64. package/dist/types/src/capabilities/index.d.ts +1 -1
  65. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  66. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  67. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts.map +1 -1
  68. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +2 -2
  69. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +1 -1
  70. package/dist/types/src/components/Thread/ThreadContainer.stories.d.ts +2 -2
  71. package/dist/types/src/components/Thread/ThreadContainer.stories.d.ts.map +1 -1
  72. package/dist/types/src/components/Toolbox/Toolbox.d.ts +1 -1
  73. package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
  74. package/dist/types/src/components/index.d.ts +0 -1
  75. package/dist/types/src/components/index.d.ts.map +1 -1
  76. package/dist/types/src/hooks/index.d.ts +0 -1
  77. package/dist/types/src/hooks/index.d.ts.map +1 -1
  78. package/dist/types/src/hooks/processor.d.ts.map +1 -1
  79. package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
  80. package/dist/types/src/tools/function.d.ts +1 -1
  81. package/dist/types/src/tools/function.d.ts.map +1 -1
  82. package/dist/types/src/tools/openapi.d.ts.map +1 -1
  83. package/dist/types/src/types/service.d.ts +96 -95
  84. package/dist/types/src/types/service.d.ts.map +1 -1
  85. package/dist/types/src/types/template.d.ts +52 -52
  86. package/dist/types/src/types/template.d.ts.map +1 -1
  87. package/dist/types/src/types/types.d.ts +20 -18
  88. package/dist/types/src/types/types.d.ts.map +1 -1
  89. package/package.json +61 -58
  90. package/src/AssistantPlugin.tsx +2 -2
  91. package/src/capabilities/ai-client.ts +0 -1
  92. package/src/capabilities/app-graph-builder.ts +2 -26
  93. package/src/capabilities/index.ts +1 -1
  94. package/src/capabilities/react-surface.tsx +2 -15
  95. package/src/components/AssistantSettings/AssistantSettings.tsx +28 -6
  96. package/src/components/PromptSettings.tsx +2 -2
  97. package/src/components/TemplateEditor/TemplateForm.tsx +2 -2
  98. package/src/components/Thread/ThreadContainer.stories.tsx +6 -5
  99. package/src/components/Thread/ThreadMessage.tsx +5 -2
  100. package/src/components/Toolbox/Toolbox.tsx +1 -1
  101. package/src/components/index.ts +0 -1
  102. package/src/hooks/index.ts +0 -1
  103. package/src/hooks/processor.ts +25 -2
  104. package/src/hooks/useChatProcessor.tsx +3 -2
  105. package/src/tools/function.ts +2 -2
  106. package/src/tools/openapi.ts +4 -3
  107. package/src/translations.ts +1 -1
  108. package/src/types/service.ts +39 -37
  109. package/src/types/template.ts +27 -25
  110. package/src/types/types.ts +20 -17
  111. package/dist/lib/browser/app-graph-builder-GU6ZWSP4.mjs.map +0 -7
  112. package/dist/lib/browser/chunk-FQ4L5NYW.mjs.map +0 -7
  113. package/dist/lib/browser/chunk-IAMR2FAE.mjs +0 -183
  114. package/dist/lib/browser/chunk-IAMR2FAE.mjs.map +0 -7
  115. package/dist/lib/browser/chunk-SBFJKCVU.mjs.map +0 -7
  116. package/dist/lib/browser/react-surface-JOATHBJ4.mjs.map +0 -7
  117. package/dist/lib/node/app-graph-builder-CEMLCKAF.cjs.map +0 -7
  118. package/dist/lib/node/chunk-APRU3QWK.cjs +0 -206
  119. package/dist/lib/node/chunk-APRU3QWK.cjs.map +0 -7
  120. package/dist/lib/node/chunk-ENBPNIJZ.cjs.map +0 -7
  121. package/dist/lib/node/chunk-KWBQ5P7D.cjs.map +0 -7
  122. package/dist/lib/node/react-surface-7RIXMLMN.cjs.map +0 -7
  123. package/dist/lib/node-esm/app-graph-builder-Y45WYAWL.mjs.map +0 -7
  124. package/dist/lib/node-esm/chunk-JE47GNTB.mjs.map +0 -7
  125. package/dist/lib/node-esm/chunk-MXK2EANZ.mjs +0 -184
  126. package/dist/lib/node-esm/chunk-MXK2EANZ.mjs.map +0 -7
  127. package/dist/lib/node-esm/chunk-PFWTW22U.mjs.map +0 -7
  128. package/dist/lib/node-esm/react-surface-UUHNOYST.mjs.map +0 -7
  129. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.d.ts +0 -6
  130. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.d.ts.map +0 -1
  131. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.stories.d.ts +0 -8
  132. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.stories.d.ts.map +0 -1
  133. package/dist/types/src/components/ServiceRegistry/index.d.ts +0 -2
  134. package/dist/types/src/components/ServiceRegistry/index.d.ts.map +0 -1
  135. package/dist/types/src/hooks/invocation-handler.d.ts +0 -5
  136. package/dist/types/src/hooks/invocation-handler.d.ts.map +0 -1
  137. package/dist/types/src/hooks/useLocalTriggerManager.d.ts +0 -3
  138. package/dist/types/src/hooks/useLocalTriggerManager.d.ts.map +0 -1
  139. package/src/components/ServiceRegistry/ServiceRegistry.stories.tsx +0 -49
  140. package/src/components/ServiceRegistry/ServiceRegistry.tsx +0 -76
  141. package/src/components/ServiceRegistry/index.ts +0 -5
  142. package/src/hooks/invocation-handler.ts +0 -107
  143. package/src/hooks/useLocalTriggerManager.ts +0 -82
  144. /package/dist/lib/browser/{AssistantDialog-77B4BSXR.mjs.map → AssistantDialog-WX6EKSXI.mjs.map} +0 -0
  145. /package/dist/lib/browser/{ChatContainer-4AMJKO3T.mjs.map → ChatContainer-HMNWYDQ5.mjs.map} +0 -0
  146. /package/dist/lib/browser/{intent-resolver-YAQELTFQ.mjs.map → intent-resolver-MGHOSZY3.mjs.map} +0 -0
  147. /package/dist/lib/browser/{settings-PAJLJEVW.mjs.map → settings-OZX7J65A.mjs.map} +0 -0
  148. /package/dist/lib/node/{AssistantDialog-7V7RRSIL.cjs.map → AssistantDialog-2OTAZADX.cjs.map} +0 -0
  149. /package/dist/lib/node/{ChatContainer-UWYNOALW.cjs.map → ChatContainer-3CTBKBS2.cjs.map} +0 -0
  150. /package/dist/lib/node/{intent-resolver-RNMYSJ3E.cjs.map → intent-resolver-Z2NTL2FV.cjs.map} +0 -0
  151. /package/dist/lib/node/{settings-JBEYMZ4S.cjs.map → settings-WLTC7XO5.cjs.map} +0 -0
  152. /package/dist/lib/node-esm/{AssistantDialog-N24M73FW.mjs.map → AssistantDialog-GNLPYXY4.mjs.map} +0 -0
  153. /package/dist/lib/node-esm/{ChatContainer-KPWY5UK4.mjs.map → ChatContainer-FGHDDORQ.mjs.map} +0 -0
  154. /package/dist/lib/node-esm/{intent-resolver-V2ZFI5C4.mjs.map → intent-resolver-DMQXPV2H.mjs.map} +0 -0
  155. /package/dist/lib/node-esm/{settings-KAMA6RIY.mjs.map → settings-CLE57WEP.mjs.map} +0 -0
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  ServiceType,
6
6
  categoryIcons
7
- } from "./chunk-IAMR2FAE.mjs";
7
+ } from "./chunk-5P7U35RJ.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/types";
16
+ import { FunctionType } from "@dxos/functions";
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,7 +21,7 @@ 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/types";
24
+ import { getInvocationUrl, getUserFunctionUrlInMetadata } from "@dxos/functions";
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";
@@ -64,9 +64,10 @@ var covertFunctionToTool = (fn, edgeUrl, spaceId) => {
64
64
  };
65
65
 
66
66
  // packages/plugins/plugin-assistant/src/tools/openapi.ts
67
+ import { Schema } from "effect";
67
68
  import jsonpointer from "jsonpointer";
68
69
  import { ToolResult as ToolResult2 } from "@dxos/artifact";
69
- import { JsonSchemaType, normalizeSchema, S, toEffectSchema as toEffectSchema2 } from "@dxos/echo-schema";
70
+ import { JsonSchemaType, normalizeSchema, toEffectSchema as toEffectSchema2 } from "@dxos/echo-schema";
70
71
  import { invariant } from "@dxos/invariant";
71
72
  import { log as log2 } from "@dxos/log";
72
73
  import { deepMapValues } from "@dxos/util";
@@ -74,7 +75,7 @@ var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-assista
74
75
  var createToolsFromService = async (service) => {
75
76
  invariant(service.interfaces?.length === 1 && service.interfaces[0].kind === "api", void 0, {
76
77
  F: __dxlog_file2,
77
- L: 22,
78
+ L: 23,
78
79
  S: void 0,
79
80
  A: [
80
81
  "service.interfaces?.length === 1 && service.interfaces[0].kind === 'api'",
@@ -84,7 +85,7 @@ var createToolsFromService = async (service) => {
84
85
  const iface = service.interfaces[0];
85
86
  invariant(iface.schemaUrl, void 0, {
86
87
  F: __dxlog_file2,
87
- L: 24,
88
+ L: 25,
88
89
  S: void 0,
89
90
  A: [
90
91
  "iface.schemaUrl",
@@ -93,7 +94,7 @@ var createToolsFromService = async (service) => {
93
94
  });
94
95
  invariant(iface.schemaUrl, void 0, {
95
96
  F: __dxlog_file2,
96
- L: 25,
97
+ L: 26,
97
98
  S: void 0,
98
99
  A: [
99
100
  "iface.schemaUrl",
@@ -111,7 +112,7 @@ var createToolsFromApi = async (url, options) => {
111
112
  spec
112
113
  }, {
113
114
  F: __dxlog_file2,
114
- L: 32,
115
+ L: 33,
115
116
  S: void 0,
116
117
  C: (f, a) => f(...a)
117
118
  });
@@ -129,7 +130,7 @@ var createToolsFromApi = async (url, options) => {
129
130
  methodItem
130
131
  }, {
131
132
  F: __dxlog_file2,
132
- L: 44,
133
+ L: 45,
133
134
  S: void 0,
134
135
  C: (f, a) => f(...a)
135
136
  });
@@ -147,7 +148,7 @@ var createToolsFromApi = async (url, options) => {
147
148
  parameter
148
149
  }, {
149
150
  F: __dxlog_file2,
150
- L: 59,
151
+ L: 60,
151
152
  S: void 0,
152
153
  C: (f, a) => f(...a)
153
154
  });
@@ -170,11 +171,11 @@ var createToolsFromApi = async (url, options) => {
170
171
  inputSchema
171
172
  }, {
172
173
  F: __dxlog_file2,
173
- L: 84,
174
+ L: 85,
174
175
  S: void 0,
175
176
  C: (f, a) => f(...a)
176
177
  });
177
- S.validateSync(JsonSchemaType)(inputSchema);
178
+ Schema.validateSync(JsonSchemaType)(inputSchema);
178
179
  const description = methodItem.description ?? methodItem.summary;
179
180
  if (!description) {
180
181
  log2.warn("no description", {
@@ -182,7 +183,7 @@ var createToolsFromApi = async (url, options) => {
182
183
  method
183
184
  }, {
184
185
  F: __dxlog_file2,
185
- L: 89,
186
+ L: 90,
186
187
  S: void 0,
187
188
  C: (f, a) => f(...a)
188
189
  });
@@ -258,7 +259,7 @@ var callApiEndpoint = async (endpoint, input) => {
258
259
  input
259
260
  }, {
260
261
  F: __dxlog_file2,
261
- L: 173,
262
+ L: 174,
262
263
  S: void 0,
263
264
  C: (f, a) => f(...a)
264
265
  });
@@ -287,7 +288,7 @@ var callApiEndpoint = async (endpoint, input) => {
287
288
  case "body": {
288
289
  const value = input[parameter.name];
289
290
  const effectSchema = toEffectSchema2(parameter.schema);
290
- S.validateSync(effectSchema)(value);
291
+ Schema.validateSync(effectSchema)(value);
291
292
  if (body) {
292
293
  throw new Error(`Duplicate body parameter: ${parameter.name}`);
293
294
  }
@@ -317,7 +318,7 @@ var callApiEndpoint = async (endpoint, input) => {
317
318
  request
318
319
  }, {
319
320
  F: __dxlog_file2,
320
- L: 236,
321
+ L: 237,
321
322
  S: void 0,
322
323
  C: (f, a) => f(...a)
323
324
  });
@@ -328,7 +329,7 @@ var callApiEndpoint = async (endpoint, input) => {
328
329
  statusText: response.statusText
329
330
  }, {
330
331
  F: __dxlog_file2,
331
- L: 239,
332
+ L: 240,
332
333
  S: void 0,
333
334
  C: (f, a) => f(...a)
334
335
  });
@@ -352,7 +353,7 @@ var callApiEndpoint = async (endpoint, input) => {
352
353
  error
353
354
  }, {
354
355
  F: __dxlog_file2,
355
- L: 257,
356
+ L: 258,
356
357
  S: void 0,
357
358
  C: (f, a) => f(...a)
358
359
  });
@@ -363,7 +364,7 @@ var callApiEndpoint = async (endpoint, input) => {
363
364
  error
364
365
  }, {
365
366
  F: __dxlog_file2,
366
- L: 261,
367
+ L: 262,
367
368
  S: void 0,
368
369
  C: (f, a) => f(...a)
369
370
  });
@@ -378,7 +379,7 @@ var getEndpointUrl = (endpoint) => {
378
379
  } else {
379
380
  invariant(!isV3_1(endpoint.document), void 0, {
380
381
  F: __dxlog_file2,
381
- L: 272,
382
+ L: 273,
382
383
  S: void 0,
383
384
  A: [
384
385
  "!isV3_1(endpoint.document)",
@@ -398,7 +399,7 @@ var resolveAuthorization = async (authorization) => {
398
399
  case "api-key": {
399
400
  invariant(authorization.placement.type === "authorization-header", void 0, {
400
401
  F: __dxlog_file2,
401
- L: 288,
402
+ L: 289,
402
403
  S: void 0,
403
404
  A: [
404
405
  "authorization.placement.type === 'authorization-header'",
@@ -436,7 +437,7 @@ var resolveJsonSchema = (schema, base) => {
436
437
  base
437
438
  }, {
438
439
  F: __dxlog_file2,
439
- L: 321,
440
+ L: 322,
440
441
  S: void 0,
441
442
  C: (f, a) => f(...a)
442
443
  });
@@ -753,7 +754,7 @@ var components = {
753
754
  }
754
755
  return /* @__PURE__ */ React3.createElement(ToggleContainer2, {
755
756
  // open={open}
756
- defaultOpen: block.disposition === "cot" && block.pending,
757
+ defaultOpen: systemDispositions.includes(block.disposition ?? "") && block.pending,
757
758
  title,
758
759
  icon: block.pending ? /* @__PURE__ */ React3.createElement(Icon, {
759
760
  icon: "ph--circle-notch--regular",
@@ -764,7 +765,7 @@ var components = {
764
765
  content: block.text,
765
766
  classNames: [
766
767
  "pbe-2",
767
- block.disposition === "cot" && "text-sm text-subdued"
768
+ systemDispositions.includes(block.disposition ?? "") && "text-sm text-subdued"
768
769
  ]
769
770
  }));
770
771
  },
@@ -841,8 +842,13 @@ var titles = {
841
842
  ["artifact"]: "Artifact",
842
843
  ["tool_use"]: "Tool request",
843
844
  ["tool_result"]: "Tool result",
844
- ["tool_list"]: "Tools"
845
+ ["tool_list"]: "Tools",
846
+ ["artifact-update"]: "Artifact(s) changed"
845
847
  };
848
+ var systemDispositions = [
849
+ "cot",
850
+ "artifact-update"
851
+ ];
846
852
 
847
853
  // packages/plugins/plugin-assistant/src/components/Thread/reducer.ts
848
854
  var messageReducer = ({ current, messages }, message) => {
@@ -1380,12 +1386,12 @@ var Thread = ({ classNames, space, messages, collapse = true, transcription, pro
1380
1386
  };
1381
1387
 
1382
1388
  // packages/plugins/plugin-assistant/src/components/Thread/ThreadContainer.tsx
1383
- import React7, { useCallback as useCallback3, useEffect as useEffect6 } from "react";
1389
+ import React7, { useCallback as useCallback3, useEffect as useEffect5 } from "react";
1384
1390
  import { CollaborationActions, createIntent, useIntentDispatcher as useIntentDispatcher2 } from "@dxos/app-framework";
1385
- import { invariant as invariant6 } from "@dxos/invariant";
1386
- import { DXN as DXN3 } from "@dxos/keys";
1391
+ import { invariant as invariant4 } from "@dxos/invariant";
1392
+ import { DXN as DXN2 } from "@dxos/keys";
1387
1393
  import { makeRef, refFromDXN } from "@dxos/live-object";
1388
- import { log as log10 } from "@dxos/log";
1394
+ import { log as log8 } from "@dxos/log";
1389
1395
  import { getSpace as getSpace2 } from "@dxos/react-client/echo";
1390
1396
 
1391
1397
  // packages/plugins/plugin-assistant/src/hooks/processor.ts
@@ -1393,6 +1399,7 @@ import { batch, computed, signal } from "@preact/signals-core";
1393
1399
  import { AISession, DEFAULT_EDGE_MODEL } from "@dxos/assistant";
1394
1400
  import { invariant as invariant3 } from "@dxos/invariant";
1395
1401
  import { log as log5 } from "@dxos/log";
1402
+ import { getVersion } from "@dxos/react-client/echo";
1396
1403
  var __dxlog_file6 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-assistant/src/hooks/processor.ts";
1397
1404
  var defaultOptions = {
1398
1405
  model: DEFAULT_EDGE_MODEL,
@@ -1451,7 +1458,7 @@ var ChatProcessor = class {
1451
1458
  */
1452
1459
  async request(message, options = {}) {
1453
1460
  this._session = new AISession({
1454
- operationModel: "immediate"
1461
+ operationModel: "configured"
1455
1462
  });
1456
1463
  this._session.message.on((message2) => {
1457
1464
  batch(() => {
@@ -1478,10 +1485,31 @@ var ChatProcessor = class {
1478
1485
  client: this._ai,
1479
1486
  history: options.history ?? [],
1480
1487
  artifacts: this._artifacts ?? [],
1488
+ requiredArtifactIds: this._artifacts?.map((artifact) => artifact.id) ?? [],
1481
1489
  tools: this._tools ?? [],
1482
1490
  prompt: message,
1483
1491
  systemPrompt: this._options.systemPrompt,
1484
1492
  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
+ },
1485
1513
  generationOptions: {
1486
1514
  model: this._options.model
1487
1515
  }
@@ -1490,7 +1518,7 @@ var ChatProcessor = class {
1490
1518
  messages
1491
1519
  }, {
1492
1520
  F: __dxlog_file6,
1493
- L: 137,
1521
+ L: 160,
1494
1522
  S: this,
1495
1523
  C: (f, a) => f(...a)
1496
1524
  });
@@ -1498,7 +1526,7 @@ var ChatProcessor = class {
1498
1526
  } catch (err) {
1499
1527
  log5.catch(err, void 0, {
1500
1528
  F: __dxlog_file6,
1501
- L: 140,
1529
+ L: 163,
1502
1530
  S: this,
1503
1531
  C: (f, a) => f(...a)
1504
1532
  });
@@ -1523,7 +1551,7 @@ var ChatProcessor = class {
1523
1551
  async cancel() {
1524
1552
  log5.info("cancelling...", void 0, {
1525
1553
  F: __dxlog_file6,
1526
- L: 158,
1554
+ L: 181,
1527
1555
  S: this,
1528
1556
  C: (f, a) => f(...a)
1529
1557
  });
@@ -1551,7 +1579,7 @@ import { useEffect as useEffect3, useMemo as useMemo3, useState as useState4 } f
1551
1579
  import { Capabilities as Capabilities2, useCapabilities as useCapabilities2, useCapability, useIntentDispatcher } from "@dxos/app-framework";
1552
1580
  import { createSystemPrompt } from "@dxos/artifact";
1553
1581
  import { DEFAULT_EDGE_MODEL as DEFAULT_EDGE_MODEL2, DEFAULT_OLLAMA_MODEL } from "@dxos/assistant";
1554
- import { FunctionType as FunctionType2 } from "@dxos/functions/types";
1582
+ import { FunctionType as FunctionType2 } from "@dxos/functions";
1555
1583
  import { log as log6 } from "@dxos/log";
1556
1584
  import { useConfig } from "@dxos/react-client";
1557
1585
  import { Filter as Filter2, fullyQualifiedId, useQuery as useQuery2 } from "@dxos/react-client/echo";
@@ -1559,15 +1587,22 @@ import { isNonNullable as isNonNullable2 } from "@dxos/util";
1559
1587
 
1560
1588
  // packages/plugins/plugin-assistant/src/capabilities/index.ts
1561
1589
  import { lazy } from "@dxos/app-framework";
1562
- var AiClient = lazy(() => import("./ai-client-CDZLSNXE.mjs"));
1563
- var AppGraphBuilder = lazy(() => import("./app-graph-builder-GU6ZWSP4.mjs"));
1564
- var IntentResolver = lazy(() => import("./intent-resolver-YAQELTFQ.mjs"));
1565
- var ReactSurface = lazy(() => import("./react-surface-JOATHBJ4.mjs"));
1566
- var AssistantSettings = lazy(() => import("./settings-PAJLJEVW.mjs"));
1590
+ var AiClient = lazy(() => import("./ai-client-OK5SMYJC.mjs"));
1591
+ var AppGraphBuilder = lazy(() => import("./app-graph-builder-J5ISIFTE.mjs"));
1592
+ var IntentResolver = lazy(() => import("./intent-resolver-MGHOSZY3.mjs"));
1593
+ var ReactSurface = lazy(() => import("./react-surface-VP4ABBMH.mjs"));
1594
+ var Settings = lazy(() => import("./settings-OZX7J65A.mjs"));
1567
1595
 
1568
1596
  // packages/plugins/plugin-assistant/src/hooks/useChatProcessor.tsx
1569
1597
  var __dxlog_file7 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-assistant/src/hooks/useChatProcessor.tsx";
1570
- var useChatProcessor = ({ chat, space, settings, part = "deck", associatedArtifact }) => {
1598
+ var useChatProcessor = ({
1599
+ chat,
1600
+ space,
1601
+ settings,
1602
+ // part = 'deck',
1603
+ part,
1604
+ associatedArtifact
1605
+ }) => {
1571
1606
  const aiClient = useCapability(AssistantCapabilities.AiClient);
1572
1607
  const globalTools = useCapabilities2(Capabilities2.Tools);
1573
1608
  const artifactDefinitions = useCapabilities2(Capabilities2.ArtifactDefinition);
@@ -1577,7 +1612,7 @@ var useChatProcessor = ({ chat, space, settings, part = "deck", associatedArtifa
1577
1612
  useEffect3(() => {
1578
1613
  log6("creating service tools...", void 0, {
1579
1614
  F: __dxlog_file7,
1580
- L: 48,
1615
+ L: 49,
1581
1616
  S: void 0,
1582
1617
  C: (f, a) => f(...a)
1583
1618
  });
@@ -1596,7 +1631,7 @@ var useChatProcessor = ({ chat, space, settings, part = "deck", associatedArtifa
1596
1631
  const [tools, extensions] = useMemo3(() => {
1597
1632
  log6("creating tools...", void 0, {
1598
1633
  F: __dxlog_file7,
1599
- L: 60,
1634
+ L: 61,
1600
1635
  S: void 0,
1601
1636
  C: (f, a) => f(...a)
1602
1637
  });
@@ -1637,7 +1672,7 @@ ${definition.instructions}`),
1637
1672
  settings
1638
1673
  }, {
1639
1674
  F: __dxlog_file7,
1640
- L: 91,
1675
+ L: 92,
1641
1676
  S: void 0,
1642
1677
  C: (f, a) => f(...a)
1643
1678
  });
@@ -1656,37 +1691,15 @@ ${definition.instructions}`),
1656
1691
  return processor;
1657
1692
  };
1658
1693
 
1659
- // packages/plugins/plugin-assistant/src/hooks/useLocalTriggerManager.ts
1660
- import { useEffect as useEffect4, useState as useState5 } from "react";
1661
- import { Mutex as Mutex2 } from "@dxos/async";
1662
- import { Context } from "@dxos/context";
1663
- import { createSubscriptionTrigger } from "@dxos/functions";
1664
- import { FunctionTrigger } from "@dxos/functions/types";
1665
- import { invariant as invariant5 } from "@dxos/invariant";
1666
- import { log as log8 } from "@dxos/log";
1667
- import { useClient } from "@dxos/react-client";
1668
- import { Filter as Filter3, useQuery as useQuery3 } from "@dxos/react-client/echo";
1669
-
1670
- // packages/plugins/plugin-assistant/src/hooks/invocation-handler.ts
1671
- import { sleep } from "@dxos/async";
1672
- import { getObjectCore, ResultFormat } from "@dxos/echo-db";
1673
- import { FunctionType as FunctionType3, getUserFunctionUrlInMetadata as getUserFunctionUrlInMetadata2 } from "@dxos/functions/types";
1674
- import { invariant as invariant4 } from "@dxos/invariant";
1675
- import { DXN, LOCAL_SPACE_TAG } from "@dxos/keys";
1676
- import { log as log7 } from "@dxos/log";
1677
-
1678
- // packages/plugins/plugin-assistant/src/hooks/useLocalTriggerManager.ts
1679
- var registerTriggersMutex = new Mutex2();
1680
-
1681
1694
  // packages/plugins/plugin-assistant/src/hooks/useMessageQueue.ts
1682
1695
  import { useMemo as useMemo4 } from "react";
1683
- import { DXN as DXN2, QueueSubspaceTags } from "@dxos/keys";
1696
+ import { DXN, QueueSubspaceTags } from "@dxos/keys";
1684
1697
  import { getSpace, useQueue } from "@dxos/react-client/echo";
1685
1698
  var useMessageQueue = (chat) => {
1686
1699
  const space = getSpace(chat);
1687
1700
  const queueDxn = useMemo4(() => {
1688
1701
  const dxn = space && chat?.assistantChatQueue.dxn;
1689
- return dxn ? new DXN2(DXN2.kind.QUEUE, [
1702
+ return dxn ? new DXN(DXN.kind.QUEUE, [
1690
1703
  QueueSubspaceTags.DATA,
1691
1704
  space.id,
1692
1705
  dxn.parts.at(-1)
@@ -1699,7 +1712,7 @@ var useMessageQueue = (chat) => {
1699
1712
  };
1700
1713
 
1701
1714
  // packages/plugins/plugin-assistant/src/hooks/useServices.ts
1702
- import { useEffect as useEffect5, useMemo as useMemo5, useState as useState6 } from "react";
1715
+ import { useEffect as useEffect4, useMemo as useMemo5, useState as useState5 } from "react";
1703
1716
 
1704
1717
  // packages/plugins/plugin-assistant/src/testing/test-functions.ts
1705
1718
  import { createSystemPrompt as createSystemPrompt2 } from "@dxos/artifact";
@@ -1707,11 +1720,6 @@ import { DEFAULT_EDGE_MODEL as DEFAULT_EDGE_MODEL3 } from "@dxos/assistant";
1707
1720
 
1708
1721
  // packages/plugins/plugin-assistant/src/testing/test-services.ts
1709
1722
  import { create } from "@dxos/echo-schema";
1710
- var MockServiceRegistry = class {
1711
- async queryServices(query) {
1712
- return TEST_SERVICES;
1713
- }
1714
- };
1715
1723
  var AMADEUS_AUTH = {
1716
1724
  type: "oauth",
1717
1725
  clientId: "BOEnpLd1sMyKjAPGKYeAPFFy60u53QEG",
@@ -1799,32 +1807,15 @@ var TEST_SERVICES = [
1799
1807
  }))
1800
1808
  ];
1801
1809
 
1802
- // packages/plugins/plugin-assistant/src/hooks/useServices.ts
1803
- var useServices = (space, query) => {
1804
- const registry = useMemo5(() => new MockServiceRegistry(), []);
1805
- const [services, setServices] = useState6([]);
1806
- useEffect5(() => {
1807
- const t = setTimeout(async () => {
1808
- const services2 = await registry.queryServices(query);
1809
- setServices(services2);
1810
- });
1811
- return () => clearTimeout(t);
1812
- }, [
1813
- query,
1814
- registry
1815
- ]);
1816
- return services;
1817
- };
1818
-
1819
1810
  // packages/plugins/plugin-assistant/src/hooks/useTextInputEvents.ts
1820
- import { useState as useState7, useCallback as useCallback2 } from "react";
1811
+ import { useState as useState6, useCallback as useCallback2 } from "react";
1821
1812
 
1822
1813
  // packages/plugins/plugin-assistant/src/hooks/useContextProvider.ts
1823
1814
  import { useMemo as useMemo6 } from "react";
1824
1815
  import { Capabilities as Capabilities3, useCapabilities as useCapabilities3 } from "@dxos/app-framework";
1825
1816
  import { getDXN, getLabel, getSchema } from "@dxos/echo-schema";
1826
- import { log as log9 } from "@dxos/log";
1827
- import { Filter as Filter4 } from "@dxos/react-client/echo";
1817
+ import { log as log7 } from "@dxos/log";
1818
+ import { Filter as Filter3 } from "@dxos/react-client/echo";
1828
1819
  var __dxlog_file8 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-assistant/src/hooks/useContextProvider.ts";
1829
1820
  var stringMatch = (query, label) => label.toLowerCase().startsWith(query.toLowerCase());
1830
1821
  var useContextProvider = (space) => {
@@ -1836,9 +1827,9 @@ var useContextProvider = (space) => {
1836
1827
  return {
1837
1828
  query: async ({ query }) => {
1838
1829
  const artifactSchemas = artifactDefinitions.map((artifact) => artifact.schema);
1839
- const { objects } = await space.db.query(Filter4.or(...artifactSchemas.map((schema) => Filter4.schema(schema)))).run();
1830
+ const { objects } = await space.db.query(Filter3.or(...artifactSchemas.map((schema) => Filter3.schema(schema)))).run();
1840
1831
  return objects.map((object) => {
1841
- log9.info("object", {
1832
+ log7.info("object", {
1842
1833
  object,
1843
1834
  label: getLabel(getSchema(object), object)
1844
1835
  }, {
@@ -1887,14 +1878,14 @@ var ThreadContainer = ({ classNames, chat, settings, part, associatedArtifact, o
1887
1878
  ...messageQueue?.items ?? [],
1888
1879
  ...processor.messages.value
1889
1880
  ];
1890
- useEffect6(() => {
1881
+ useEffect5(() => {
1891
1882
  if (!processor.streaming.value && messageQueue?.items) {
1892
1883
  const message = messageQueue.items[messageQueue.items.length - 1];
1893
1884
  if (space && chat && message && dispatch && associatedArtifact) {
1894
1885
  void dispatch(createIntent(CollaborationActions.InsertContent, {
1895
1886
  spaceId: space.id,
1896
1887
  target: makeRef(associatedArtifact),
1897
- object: refFromDXN(new DXN3(DXN3.kind.QUEUE, [
1888
+ object: refFromDXN(new DXN2(DXN2.kind.QUEUE, [
1898
1889
  ...chat.assistantChatQueue.dxn.parts,
1899
1890
  message.id
1900
1891
  ])),
@@ -1909,7 +1900,7 @@ var ThreadContainer = ({ classNames, chat, settings, part, associatedArtifact, o
1909
1900
  ]);
1910
1901
  const handleSubmit = useCallback3((text) => {
1911
1902
  if (processor.streaming.value) {
1912
- log10.warn("ignoring submit; still processing.", void 0, {
1903
+ log8.warn("ignoring submit; still processing.", void 0, {
1913
1904
  F: __dxlog_file9,
1914
1905
  L: 66,
1915
1906
  S: void 0,
@@ -1918,7 +1909,7 @@ var ThreadContainer = ({ classNames, chat, settings, part, associatedArtifact, o
1918
1909
  return false;
1919
1910
  }
1920
1911
  onOpenChange?.(true);
1921
- invariant6(messageQueue, void 0, {
1912
+ invariant4(messageQueue, void 0, {
1922
1913
  F: __dxlog_file9,
1923
1914
  L: 72,
1924
1915
  S: void 0,
@@ -1963,15 +1954,14 @@ var ThreadContainer = ({ classNames, chat, settings, part, associatedArtifact, o
1963
1954
  };
1964
1955
 
1965
1956
  export {
1957
+ Toolbox,
1958
+ ToolboxContainer,
1959
+ Thread,
1966
1960
  AiClient,
1967
1961
  AppGraphBuilder,
1968
1962
  IntentResolver,
1969
1963
  ReactSurface,
1970
- AssistantSettings,
1971
- useServices,
1972
- Toolbox,
1973
- ToolboxContainer,
1974
- Thread,
1964
+ Settings,
1975
1965
  ThreadContainer
1976
1966
  };
1977
- //# sourceMappingURL=chunk-FQ4L5NYW.mjs.map
1967
+ //# sourceMappingURL=chunk-4EXBK6UE.mjs.map