@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
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  ServiceType,
7
7
  categoryIcons
8
- } from "./chunk-MXK2EANZ.mjs";
8
+ } from "./chunk-UZWYXNR5.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/types";
17
+ import { FunctionType } from "@dxos/functions";
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,7 +22,7 @@ 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/types";
25
+ import { getInvocationUrl, getUserFunctionUrlInMetadata } from "@dxos/functions";
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";
@@ -65,9 +65,10 @@ var covertFunctionToTool = (fn, edgeUrl, spaceId) => {
65
65
  };
66
66
 
67
67
  // packages/plugins/plugin-assistant/src/tools/openapi.ts
68
+ import { Schema } from "effect";
68
69
  import jsonpointer from "jsonpointer";
69
70
  import { ToolResult as ToolResult2 } from "@dxos/artifact";
70
- import { JsonSchemaType, normalizeSchema, S, toEffectSchema as toEffectSchema2 } from "@dxos/echo-schema";
71
+ import { JsonSchemaType, normalizeSchema, toEffectSchema as toEffectSchema2 } from "@dxos/echo-schema";
71
72
  import { invariant } from "@dxos/invariant";
72
73
  import { log as log2 } from "@dxos/log";
73
74
  import { deepMapValues } from "@dxos/util";
@@ -75,7 +76,7 @@ var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-assista
75
76
  var createToolsFromService = async (service) => {
76
77
  invariant(service.interfaces?.length === 1 && service.interfaces[0].kind === "api", void 0, {
77
78
  F: __dxlog_file2,
78
- L: 22,
79
+ L: 23,
79
80
  S: void 0,
80
81
  A: [
81
82
  "service.interfaces?.length === 1 && service.interfaces[0].kind === 'api'",
@@ -85,7 +86,7 @@ var createToolsFromService = async (service) => {
85
86
  const iface = service.interfaces[0];
86
87
  invariant(iface.schemaUrl, void 0, {
87
88
  F: __dxlog_file2,
88
- L: 24,
89
+ L: 25,
89
90
  S: void 0,
90
91
  A: [
91
92
  "iface.schemaUrl",
@@ -94,7 +95,7 @@ var createToolsFromService = async (service) => {
94
95
  });
95
96
  invariant(iface.schemaUrl, void 0, {
96
97
  F: __dxlog_file2,
97
- L: 25,
98
+ L: 26,
98
99
  S: void 0,
99
100
  A: [
100
101
  "iface.schemaUrl",
@@ -112,7 +113,7 @@ var createToolsFromApi = async (url, options) => {
112
113
  spec
113
114
  }, {
114
115
  F: __dxlog_file2,
115
- L: 32,
116
+ L: 33,
116
117
  S: void 0,
117
118
  C: (f, a) => f(...a)
118
119
  });
@@ -130,7 +131,7 @@ var createToolsFromApi = async (url, options) => {
130
131
  methodItem
131
132
  }, {
132
133
  F: __dxlog_file2,
133
- L: 44,
134
+ L: 45,
134
135
  S: void 0,
135
136
  C: (f, a) => f(...a)
136
137
  });
@@ -148,7 +149,7 @@ var createToolsFromApi = async (url, options) => {
148
149
  parameter
149
150
  }, {
150
151
  F: __dxlog_file2,
151
- L: 59,
152
+ L: 60,
152
153
  S: void 0,
153
154
  C: (f, a) => f(...a)
154
155
  });
@@ -171,11 +172,11 @@ var createToolsFromApi = async (url, options) => {
171
172
  inputSchema
172
173
  }, {
173
174
  F: __dxlog_file2,
174
- L: 84,
175
+ L: 85,
175
176
  S: void 0,
176
177
  C: (f, a) => f(...a)
177
178
  });
178
- S.validateSync(JsonSchemaType)(inputSchema);
179
+ Schema.validateSync(JsonSchemaType)(inputSchema);
179
180
  const description = methodItem.description ?? methodItem.summary;
180
181
  if (!description) {
181
182
  log2.warn("no description", {
@@ -183,7 +184,7 @@ var createToolsFromApi = async (url, options) => {
183
184
  method
184
185
  }, {
185
186
  F: __dxlog_file2,
186
- L: 89,
187
+ L: 90,
187
188
  S: void 0,
188
189
  C: (f, a) => f(...a)
189
190
  });
@@ -259,7 +260,7 @@ var callApiEndpoint = async (endpoint, input) => {
259
260
  input
260
261
  }, {
261
262
  F: __dxlog_file2,
262
- L: 173,
263
+ L: 174,
263
264
  S: void 0,
264
265
  C: (f, a) => f(...a)
265
266
  });
@@ -288,7 +289,7 @@ var callApiEndpoint = async (endpoint, input) => {
288
289
  case "body": {
289
290
  const value = input[parameter.name];
290
291
  const effectSchema = toEffectSchema2(parameter.schema);
291
- S.validateSync(effectSchema)(value);
292
+ Schema.validateSync(effectSchema)(value);
292
293
  if (body) {
293
294
  throw new Error(`Duplicate body parameter: ${parameter.name}`);
294
295
  }
@@ -318,7 +319,7 @@ var callApiEndpoint = async (endpoint, input) => {
318
319
  request
319
320
  }, {
320
321
  F: __dxlog_file2,
321
- L: 236,
322
+ L: 237,
322
323
  S: void 0,
323
324
  C: (f, a) => f(...a)
324
325
  });
@@ -329,7 +330,7 @@ var callApiEndpoint = async (endpoint, input) => {
329
330
  statusText: response.statusText
330
331
  }, {
331
332
  F: __dxlog_file2,
332
- L: 239,
333
+ L: 240,
333
334
  S: void 0,
334
335
  C: (f, a) => f(...a)
335
336
  });
@@ -353,7 +354,7 @@ var callApiEndpoint = async (endpoint, input) => {
353
354
  error
354
355
  }, {
355
356
  F: __dxlog_file2,
356
- L: 257,
357
+ L: 258,
357
358
  S: void 0,
358
359
  C: (f, a) => f(...a)
359
360
  });
@@ -364,7 +365,7 @@ var callApiEndpoint = async (endpoint, input) => {
364
365
  error
365
366
  }, {
366
367
  F: __dxlog_file2,
367
- L: 261,
368
+ L: 262,
368
369
  S: void 0,
369
370
  C: (f, a) => f(...a)
370
371
  });
@@ -379,7 +380,7 @@ var getEndpointUrl = (endpoint) => {
379
380
  } else {
380
381
  invariant(!isV3_1(endpoint.document), void 0, {
381
382
  F: __dxlog_file2,
382
- L: 272,
383
+ L: 273,
383
384
  S: void 0,
384
385
  A: [
385
386
  "!isV3_1(endpoint.document)",
@@ -399,7 +400,7 @@ var resolveAuthorization = async (authorization) => {
399
400
  case "api-key": {
400
401
  invariant(authorization.placement.type === "authorization-header", void 0, {
401
402
  F: __dxlog_file2,
402
- L: 288,
403
+ L: 289,
403
404
  S: void 0,
404
405
  A: [
405
406
  "authorization.placement.type === 'authorization-header'",
@@ -437,7 +438,7 @@ var resolveJsonSchema = (schema, base) => {
437
438
  base
438
439
  }, {
439
440
  F: __dxlog_file2,
440
- L: 321,
441
+ L: 322,
441
442
  S: void 0,
442
443
  C: (f, a) => f(...a)
443
444
  });
@@ -754,7 +755,7 @@ var components = {
754
755
  }
755
756
  return /* @__PURE__ */ React3.createElement(ToggleContainer2, {
756
757
  // open={open}
757
- defaultOpen: block.disposition === "cot" && block.pending,
758
+ defaultOpen: systemDispositions.includes(block.disposition ?? "") && block.pending,
758
759
  title,
759
760
  icon: block.pending ? /* @__PURE__ */ React3.createElement(Icon, {
760
761
  icon: "ph--circle-notch--regular",
@@ -765,7 +766,7 @@ var components = {
765
766
  content: block.text,
766
767
  classNames: [
767
768
  "pbe-2",
768
- block.disposition === "cot" && "text-sm text-subdued"
769
+ systemDispositions.includes(block.disposition ?? "") && "text-sm text-subdued"
769
770
  ]
770
771
  }));
771
772
  },
@@ -842,8 +843,13 @@ var titles = {
842
843
  ["artifact"]: "Artifact",
843
844
  ["tool_use"]: "Tool request",
844
845
  ["tool_result"]: "Tool result",
845
- ["tool_list"]: "Tools"
846
+ ["tool_list"]: "Tools",
847
+ ["artifact-update"]: "Artifact(s) changed"
846
848
  };
849
+ var systemDispositions = [
850
+ "cot",
851
+ "artifact-update"
852
+ ];
847
853
 
848
854
  // packages/plugins/plugin-assistant/src/components/Thread/reducer.ts
849
855
  var messageReducer = ({ current, messages }, message) => {
@@ -1381,12 +1387,12 @@ var Thread = ({ classNames, space, messages, collapse = true, transcription, pro
1381
1387
  };
1382
1388
 
1383
1389
  // packages/plugins/plugin-assistant/src/components/Thread/ThreadContainer.tsx
1384
- import React7, { useCallback as useCallback3, useEffect as useEffect6 } from "react";
1390
+ import React7, { useCallback as useCallback3, useEffect as useEffect5 } from "react";
1385
1391
  import { CollaborationActions, createIntent, useIntentDispatcher as useIntentDispatcher2 } from "@dxos/app-framework";
1386
- import { invariant as invariant6 } from "@dxos/invariant";
1387
- import { DXN as DXN3 } from "@dxos/keys";
1392
+ import { invariant as invariant4 } from "@dxos/invariant";
1393
+ import { DXN as DXN2 } from "@dxos/keys";
1388
1394
  import { makeRef, refFromDXN } from "@dxos/live-object";
1389
- import { log as log10 } from "@dxos/log";
1395
+ import { log as log8 } from "@dxos/log";
1390
1396
  import { getSpace as getSpace2 } from "@dxos/react-client/echo";
1391
1397
 
1392
1398
  // packages/plugins/plugin-assistant/src/hooks/processor.ts
@@ -1394,6 +1400,7 @@ import { batch, computed, signal } from "@preact/signals-core";
1394
1400
  import { AISession, DEFAULT_EDGE_MODEL } from "@dxos/assistant";
1395
1401
  import { invariant as invariant3 } from "@dxos/invariant";
1396
1402
  import { log as log5 } from "@dxos/log";
1403
+ import { getVersion } from "@dxos/react-client/echo";
1397
1404
  var __dxlog_file6 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-assistant/src/hooks/processor.ts";
1398
1405
  var defaultOptions = {
1399
1406
  model: DEFAULT_EDGE_MODEL,
@@ -1452,7 +1459,7 @@ var ChatProcessor = class {
1452
1459
  */
1453
1460
  async request(message, options = {}) {
1454
1461
  this._session = new AISession({
1455
- operationModel: "immediate"
1462
+ operationModel: "configured"
1456
1463
  });
1457
1464
  this._session.message.on((message2) => {
1458
1465
  batch(() => {
@@ -1479,10 +1486,31 @@ var ChatProcessor = class {
1479
1486
  client: this._ai,
1480
1487
  history: options.history ?? [],
1481
1488
  artifacts: this._artifacts ?? [],
1489
+ requiredArtifactIds: this._artifacts?.map((artifact) => artifact.id) ?? [],
1482
1490
  tools: this._tools ?? [],
1483
1491
  prompt: message,
1484
1492
  systemPrompt: this._options.systemPrompt,
1485
1493
  extensions: this._extensions,
1494
+ artifactDiffResolver: async (artifacts) => {
1495
+ const space = this._extensions?.space;
1496
+ if (!space) {
1497
+ return /* @__PURE__ */ new Map();
1498
+ }
1499
+ const versions = /* @__PURE__ */ new Map();
1500
+ await Promise.all(artifacts.map(async (artifact) => {
1501
+ const { objects: [object] } = await space.db.query({
1502
+ id: artifact.id
1503
+ }).run();
1504
+ if (!object) {
1505
+ return;
1506
+ }
1507
+ versions.set(artifact.id, {
1508
+ version: getVersion(object),
1509
+ diff: `Current state: ${JSON.stringify(object)}`
1510
+ });
1511
+ }));
1512
+ return versions;
1513
+ },
1486
1514
  generationOptions: {
1487
1515
  model: this._options.model
1488
1516
  }
@@ -1491,7 +1519,7 @@ var ChatProcessor = class {
1491
1519
  messages
1492
1520
  }, {
1493
1521
  F: __dxlog_file6,
1494
- L: 137,
1522
+ L: 160,
1495
1523
  S: this,
1496
1524
  C: (f, a) => f(...a)
1497
1525
  });
@@ -1499,7 +1527,7 @@ var ChatProcessor = class {
1499
1527
  } catch (err) {
1500
1528
  log5.catch(err, void 0, {
1501
1529
  F: __dxlog_file6,
1502
- L: 140,
1530
+ L: 163,
1503
1531
  S: this,
1504
1532
  C: (f, a) => f(...a)
1505
1533
  });
@@ -1524,7 +1552,7 @@ var ChatProcessor = class {
1524
1552
  async cancel() {
1525
1553
  log5.info("cancelling...", void 0, {
1526
1554
  F: __dxlog_file6,
1527
- L: 158,
1555
+ L: 181,
1528
1556
  S: this,
1529
1557
  C: (f, a) => f(...a)
1530
1558
  });
@@ -1552,7 +1580,7 @@ import { useEffect as useEffect3, useMemo as useMemo3, useState as useState4 } f
1552
1580
  import { Capabilities as Capabilities2, useCapabilities as useCapabilities2, useCapability, useIntentDispatcher } from "@dxos/app-framework";
1553
1581
  import { createSystemPrompt } from "@dxos/artifact";
1554
1582
  import { DEFAULT_EDGE_MODEL as DEFAULT_EDGE_MODEL2, DEFAULT_OLLAMA_MODEL } from "@dxos/assistant";
1555
- import { FunctionType as FunctionType2 } from "@dxos/functions/types";
1583
+ import { FunctionType as FunctionType2 } from "@dxos/functions";
1556
1584
  import { log as log6 } from "@dxos/log";
1557
1585
  import { useConfig } from "@dxos/react-client";
1558
1586
  import { Filter as Filter2, fullyQualifiedId, useQuery as useQuery2 } from "@dxos/react-client/echo";
@@ -1560,15 +1588,22 @@ import { isNonNullable as isNonNullable2 } from "@dxos/util";
1560
1588
 
1561
1589
  // packages/plugins/plugin-assistant/src/capabilities/index.ts
1562
1590
  import { lazy } from "@dxos/app-framework";
1563
- var AiClient = lazy(() => import("./ai-client-WMHS5EGV.mjs"));
1564
- var AppGraphBuilder = lazy(() => import("./app-graph-builder-Y45WYAWL.mjs"));
1565
- var IntentResolver = lazy(() => import("./intent-resolver-V2ZFI5C4.mjs"));
1566
- var ReactSurface = lazy(() => import("./react-surface-UUHNOYST.mjs"));
1567
- var AssistantSettings = lazy(() => import("./settings-KAMA6RIY.mjs"));
1591
+ var AiClient = lazy(() => import("./ai-client-LYCBXZI7.mjs"));
1592
+ var AppGraphBuilder = lazy(() => import("./app-graph-builder-245AWCPJ.mjs"));
1593
+ var IntentResolver = lazy(() => import("./intent-resolver-DMQXPV2H.mjs"));
1594
+ var ReactSurface = lazy(() => import("./react-surface-NYXMBFPY.mjs"));
1595
+ var Settings = lazy(() => import("./settings-CLE57WEP.mjs"));
1568
1596
 
1569
1597
  // packages/plugins/plugin-assistant/src/hooks/useChatProcessor.tsx
1570
1598
  var __dxlog_file7 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-assistant/src/hooks/useChatProcessor.tsx";
1571
- var useChatProcessor = ({ chat, space, settings, part = "deck", associatedArtifact }) => {
1599
+ var useChatProcessor = ({
1600
+ chat,
1601
+ space,
1602
+ settings,
1603
+ // part = 'deck',
1604
+ part,
1605
+ associatedArtifact
1606
+ }) => {
1572
1607
  const aiClient = useCapability(AssistantCapabilities.AiClient);
1573
1608
  const globalTools = useCapabilities2(Capabilities2.Tools);
1574
1609
  const artifactDefinitions = useCapabilities2(Capabilities2.ArtifactDefinition);
@@ -1578,7 +1613,7 @@ var useChatProcessor = ({ chat, space, settings, part = "deck", associatedArtifa
1578
1613
  useEffect3(() => {
1579
1614
  log6("creating service tools...", void 0, {
1580
1615
  F: __dxlog_file7,
1581
- L: 48,
1616
+ L: 49,
1582
1617
  S: void 0,
1583
1618
  C: (f, a) => f(...a)
1584
1619
  });
@@ -1597,7 +1632,7 @@ var useChatProcessor = ({ chat, space, settings, part = "deck", associatedArtifa
1597
1632
  const [tools, extensions] = useMemo3(() => {
1598
1633
  log6("creating tools...", void 0, {
1599
1634
  F: __dxlog_file7,
1600
- L: 60,
1635
+ L: 61,
1601
1636
  S: void 0,
1602
1637
  C: (f, a) => f(...a)
1603
1638
  });
@@ -1638,7 +1673,7 @@ ${definition.instructions}`),
1638
1673
  settings
1639
1674
  }, {
1640
1675
  F: __dxlog_file7,
1641
- L: 91,
1676
+ L: 92,
1642
1677
  S: void 0,
1643
1678
  C: (f, a) => f(...a)
1644
1679
  });
@@ -1657,37 +1692,15 @@ ${definition.instructions}`),
1657
1692
  return processor;
1658
1693
  };
1659
1694
 
1660
- // packages/plugins/plugin-assistant/src/hooks/useLocalTriggerManager.ts
1661
- import { useEffect as useEffect4, useState as useState5 } from "react";
1662
- import { Mutex as Mutex2 } from "@dxos/async";
1663
- import { Context } from "@dxos/context";
1664
- import { createSubscriptionTrigger } from "@dxos/functions";
1665
- import { FunctionTrigger } from "@dxos/functions/types";
1666
- import { invariant as invariant5 } from "@dxos/invariant";
1667
- import { log as log8 } from "@dxos/log";
1668
- import { useClient } from "@dxos/react-client";
1669
- import { Filter as Filter3, useQuery as useQuery3 } from "@dxos/react-client/echo";
1670
-
1671
- // packages/plugins/plugin-assistant/src/hooks/invocation-handler.ts
1672
- import { sleep } from "@dxos/async";
1673
- import { getObjectCore, ResultFormat } from "@dxos/echo-db";
1674
- import { FunctionType as FunctionType3, getUserFunctionUrlInMetadata as getUserFunctionUrlInMetadata2 } from "@dxos/functions/types";
1675
- import { invariant as invariant4 } from "@dxos/invariant";
1676
- import { DXN, LOCAL_SPACE_TAG } from "@dxos/keys";
1677
- import { log as log7 } from "@dxos/log";
1678
-
1679
- // packages/plugins/plugin-assistant/src/hooks/useLocalTriggerManager.ts
1680
- var registerTriggersMutex = new Mutex2();
1681
-
1682
1695
  // packages/plugins/plugin-assistant/src/hooks/useMessageQueue.ts
1683
1696
  import { useMemo as useMemo4 } from "react";
1684
- import { DXN as DXN2, QueueSubspaceTags } from "@dxos/keys";
1697
+ import { DXN, QueueSubspaceTags } from "@dxos/keys";
1685
1698
  import { getSpace, useQueue } from "@dxos/react-client/echo";
1686
1699
  var useMessageQueue = (chat) => {
1687
1700
  const space = getSpace(chat);
1688
1701
  const queueDxn = useMemo4(() => {
1689
1702
  const dxn = space && chat?.assistantChatQueue.dxn;
1690
- return dxn ? new DXN2(DXN2.kind.QUEUE, [
1703
+ return dxn ? new DXN(DXN.kind.QUEUE, [
1691
1704
  QueueSubspaceTags.DATA,
1692
1705
  space.id,
1693
1706
  dxn.parts.at(-1)
@@ -1700,7 +1713,7 @@ var useMessageQueue = (chat) => {
1700
1713
  };
1701
1714
 
1702
1715
  // packages/plugins/plugin-assistant/src/hooks/useServices.ts
1703
- import { useEffect as useEffect5, useMemo as useMemo5, useState as useState6 } from "react";
1716
+ import { useEffect as useEffect4, useMemo as useMemo5, useState as useState5 } from "react";
1704
1717
 
1705
1718
  // packages/plugins/plugin-assistant/src/testing/test-functions.ts
1706
1719
  import { createSystemPrompt as createSystemPrompt2 } from "@dxos/artifact";
@@ -1708,11 +1721,6 @@ import { DEFAULT_EDGE_MODEL as DEFAULT_EDGE_MODEL3 } from "@dxos/assistant";
1708
1721
 
1709
1722
  // packages/plugins/plugin-assistant/src/testing/test-services.ts
1710
1723
  import { create } from "@dxos/echo-schema";
1711
- var MockServiceRegistry = class {
1712
- async queryServices(query) {
1713
- return TEST_SERVICES;
1714
- }
1715
- };
1716
1724
  var AMADEUS_AUTH = {
1717
1725
  type: "oauth",
1718
1726
  clientId: "BOEnpLd1sMyKjAPGKYeAPFFy60u53QEG",
@@ -1800,32 +1808,15 @@ var TEST_SERVICES = [
1800
1808
  }))
1801
1809
  ];
1802
1810
 
1803
- // packages/plugins/plugin-assistant/src/hooks/useServices.ts
1804
- var useServices = (space, query) => {
1805
- const registry = useMemo5(() => new MockServiceRegistry(), []);
1806
- const [services, setServices] = useState6([]);
1807
- useEffect5(() => {
1808
- const t = setTimeout(async () => {
1809
- const services2 = await registry.queryServices(query);
1810
- setServices(services2);
1811
- });
1812
- return () => clearTimeout(t);
1813
- }, [
1814
- query,
1815
- registry
1816
- ]);
1817
- return services;
1818
- };
1819
-
1820
1811
  // packages/plugins/plugin-assistant/src/hooks/useTextInputEvents.ts
1821
- import { useState as useState7, useCallback as useCallback2 } from "react";
1812
+ import { useState as useState6, useCallback as useCallback2 } from "react";
1822
1813
 
1823
1814
  // packages/plugins/plugin-assistant/src/hooks/useContextProvider.ts
1824
1815
  import { useMemo as useMemo6 } from "react";
1825
1816
  import { Capabilities as Capabilities3, useCapabilities as useCapabilities3 } from "@dxos/app-framework";
1826
1817
  import { getDXN, getLabel, getSchema } from "@dxos/echo-schema";
1827
- import { log as log9 } from "@dxos/log";
1828
- import { Filter as Filter4 } from "@dxos/react-client/echo";
1818
+ import { log as log7 } from "@dxos/log";
1819
+ import { Filter as Filter3 } from "@dxos/react-client/echo";
1829
1820
  var __dxlog_file8 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-assistant/src/hooks/useContextProvider.ts";
1830
1821
  var stringMatch = (query, label) => label.toLowerCase().startsWith(query.toLowerCase());
1831
1822
  var useContextProvider = (space) => {
@@ -1837,9 +1828,9 @@ var useContextProvider = (space) => {
1837
1828
  return {
1838
1829
  query: async ({ query }) => {
1839
1830
  const artifactSchemas = artifactDefinitions.map((artifact) => artifact.schema);
1840
- const { objects } = await space.db.query(Filter4.or(...artifactSchemas.map((schema) => Filter4.schema(schema)))).run();
1831
+ const { objects } = await space.db.query(Filter3.or(...artifactSchemas.map((schema) => Filter3.schema(schema)))).run();
1841
1832
  return objects.map((object) => {
1842
- log9.info("object", {
1833
+ log7.info("object", {
1843
1834
  object,
1844
1835
  label: getLabel(getSchema(object), object)
1845
1836
  }, {
@@ -1888,14 +1879,14 @@ var ThreadContainer = ({ classNames, chat, settings, part, associatedArtifact, o
1888
1879
  ...messageQueue?.items ?? [],
1889
1880
  ...processor.messages.value
1890
1881
  ];
1891
- useEffect6(() => {
1882
+ useEffect5(() => {
1892
1883
  if (!processor.streaming.value && messageQueue?.items) {
1893
1884
  const message = messageQueue.items[messageQueue.items.length - 1];
1894
1885
  if (space && chat && message && dispatch && associatedArtifact) {
1895
1886
  void dispatch(createIntent(CollaborationActions.InsertContent, {
1896
1887
  spaceId: space.id,
1897
1888
  target: makeRef(associatedArtifact),
1898
- object: refFromDXN(new DXN3(DXN3.kind.QUEUE, [
1889
+ object: refFromDXN(new DXN2(DXN2.kind.QUEUE, [
1899
1890
  ...chat.assistantChatQueue.dxn.parts,
1900
1891
  message.id
1901
1892
  ])),
@@ -1910,7 +1901,7 @@ var ThreadContainer = ({ classNames, chat, settings, part, associatedArtifact, o
1910
1901
  ]);
1911
1902
  const handleSubmit = useCallback3((text) => {
1912
1903
  if (processor.streaming.value) {
1913
- log10.warn("ignoring submit; still processing.", void 0, {
1904
+ log8.warn("ignoring submit; still processing.", void 0, {
1914
1905
  F: __dxlog_file9,
1915
1906
  L: 66,
1916
1907
  S: void 0,
@@ -1919,7 +1910,7 @@ var ThreadContainer = ({ classNames, chat, settings, part, associatedArtifact, o
1919
1910
  return false;
1920
1911
  }
1921
1912
  onOpenChange?.(true);
1922
- invariant6(messageQueue, void 0, {
1913
+ invariant4(messageQueue, void 0, {
1923
1914
  F: __dxlog_file9,
1924
1915
  L: 72,
1925
1916
  S: void 0,
@@ -1964,15 +1955,14 @@ var ThreadContainer = ({ classNames, chat, settings, part, associatedArtifact, o
1964
1955
  };
1965
1956
 
1966
1957
  export {
1958
+ Toolbox,
1959
+ ToolboxContainer,
1960
+ Thread,
1967
1961
  AiClient,
1968
1962
  AppGraphBuilder,
1969
1963
  IntentResolver,
1970
1964
  ReactSurface,
1971
- AssistantSettings,
1972
- useServices,
1973
- Toolbox,
1974
- ToolboxContainer,
1975
- Thread,
1965
+ Settings,
1976
1966
  ThreadContainer
1977
1967
  };
1978
- //# sourceMappingURL=chunk-JE47GNTB.mjs.map
1968
+ //# sourceMappingURL=chunk-JX73NOSL.mjs.map