@assistant-ui/react 0.12.12 → 0.12.15

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 (43) hide show
  1. package/dist/legacy-runtime/cloud/AssistantCloudThreadHistoryAdapter.d.ts.map +1 -1
  2. package/dist/legacy-runtime/cloud/AssistantCloudThreadHistoryAdapter.js +135 -27
  3. package/dist/legacy-runtime/cloud/AssistantCloudThreadHistoryAdapter.js.map +1 -1
  4. package/dist/legacy-runtime/runtime-cores/assistant-transport/useToolInvocations.d.ts.map +1 -1
  5. package/dist/legacy-runtime/runtime-cores/assistant-transport/useToolInvocations.js +143 -38
  6. package/dist/legacy-runtime/runtime-cores/assistant-transport/useToolInvocations.js.map +1 -1
  7. package/dist/legacy-runtime/runtime-cores/external-store/external-message-converter.d.ts.map +1 -1
  8. package/dist/legacy-runtime/runtime-cores/external-store/external-message-converter.js +21 -9
  9. package/dist/legacy-runtime/runtime-cores/external-store/external-message-converter.js.map +1 -1
  10. package/dist/primitives/actionBar/ActionBarInteractionContext.d.ts +6 -0
  11. package/dist/primitives/actionBar/ActionBarInteractionContext.d.ts.map +1 -0
  12. package/dist/primitives/actionBar/ActionBarInteractionContext.js +5 -0
  13. package/dist/primitives/actionBar/ActionBarInteractionContext.js.map +1 -0
  14. package/dist/primitives/actionBar/ActionBarRoot.d.ts.map +1 -1
  15. package/dist/primitives/actionBar/ActionBarRoot.js +18 -4
  16. package/dist/primitives/actionBar/ActionBarRoot.js.map +1 -1
  17. package/dist/primitives/actionBar/useActionBarFloatStatus.d.ts +2 -1
  18. package/dist/primitives/actionBar/useActionBarFloatStatus.d.ts.map +1 -1
  19. package/dist/primitives/actionBar/useActionBarFloatStatus.js +3 -2
  20. package/dist/primitives/actionBar/useActionBarFloatStatus.js.map +1 -1
  21. package/dist/primitives/actionBarMore/ActionBarMoreRoot.d.ts.map +1 -1
  22. package/dist/primitives/actionBarMore/ActionBarMoreRoot.js +35 -2
  23. package/dist/primitives/actionBarMore/ActionBarMoreRoot.js.map +1 -1
  24. package/dist/utils/json/is-json-equal.d.ts +2 -0
  25. package/dist/utils/json/is-json-equal.d.ts.map +1 -0
  26. package/dist/utils/json/is-json-equal.js +31 -0
  27. package/dist/utils/json/is-json-equal.js.map +1 -0
  28. package/dist/utils/json/is-json.d.ts +1 -0
  29. package/dist/utils/json/is-json.d.ts.map +1 -1
  30. package/dist/utils/json/is-json.js +5 -3
  31. package/dist/utils/json/is-json.js.map +1 -1
  32. package/package.json +7 -7
  33. package/src/legacy-runtime/cloud/AssistantCloudThreadHistoryAdapter.ts +179 -40
  34. package/src/legacy-runtime/runtime-cores/assistant-transport/useToolInvocations.test.ts +230 -4
  35. package/src/legacy-runtime/runtime-cores/assistant-transport/useToolInvocations.ts +191 -50
  36. package/src/legacy-runtime/runtime-cores/external-store/external-message-converter.ts +28 -10
  37. package/src/primitives/actionBar/ActionBarInteractionContext.ts +13 -0
  38. package/src/primitives/actionBar/ActionBarRoot.tsx +38 -8
  39. package/src/primitives/actionBar/useActionBarFloatStatus.ts +4 -1
  40. package/src/primitives/actionBarMore/ActionBarMoreRoot.tsx +52 -2
  41. package/src/tests/external-message-converter.test.ts +80 -0
  42. package/src/utils/json/is-json-equal.ts +48 -0
  43. package/src/utils/json/is-json.ts +6 -3
@@ -1 +1 @@
1
- {"version":3,"file":"AssistantCloudThreadHistoryAdapter.d.ts","sourceRoot":"","sources":["../../../src/legacy-runtime/cloud/AssistantCloudThreadHistoryAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAY,MAAM,OAAO,CAAC;AAC5C,OAAO,KAAK,EAEV,oBAAoB,EAKrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,cAAc,EAGf,MAAM,iBAAiB,CAAC;AAgnBzB,wBAAgB,qCAAqC,CACnD,QAAQ,EAAE,SAAS,CAAC,cAAc,CAAC,GAClC,oBAAoB,CAMtB"}
1
+ {"version":3,"file":"AssistantCloudThreadHistoryAdapter.d.ts","sourceRoot":"","sources":["../../../src/legacy-runtime/cloud/AssistantCloudThreadHistoryAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAY,MAAM,OAAO,CAAC;AAC5C,OAAO,KAAK,EAEV,oBAAoB,EAKrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,cAAc,EAGf,MAAM,iBAAiB,CAAC;AA2vBzB,wBAAgB,qCAAqC,CACnD,QAAQ,EAAE,SAAS,CAAC,cAAc,CAAC,GAClC,oBAAoB,CAMtB"}
@@ -33,8 +33,8 @@ class AssistantCloudThreadHistoryAdapter {
33
33
  await formatted.update?.(remoteId, item, localMessageId);
34
34
  },
35
35
  reportTelemetry(items, options) {
36
- const encodedContents = items.map((item) => formatAdapter.encode(item));
37
- adapter._reportBatchTelemetry(formatAdapter.format, encodedContents, options);
36
+ const encodedRunMessages = items.map((item) => formatAdapter.encode(item));
37
+ adapter._reportRunTelemetry(formatAdapter.format, encodedRunMessages, options);
38
38
  },
39
39
  async load() {
40
40
  const remoteId = adapter.aui.threadListItem().getState().remoteId;
@@ -64,13 +64,13 @@ class AssistantCloudThreadHistoryAdapter {
64
64
  .reverse(),
65
65
  };
66
66
  }
67
- _reportBatchTelemetry(format, contents, options) {
67
+ _reportRunTelemetry(format, runMessages, options) {
68
68
  if (!this.cloudRef.current.telemetry.enabled)
69
69
  return;
70
70
  const remoteId = this.aui.threadListItem().getState().remoteId;
71
71
  if (!remoteId)
72
72
  return;
73
- const extracted = extractBatchTelemetry(format, contents);
73
+ const extracted = extractRunTelemetry(format, runMessages);
74
74
  if (!extracted)
75
75
  return;
76
76
  this._sendReport(remoteId, extracted, options?.durationMs, options?.stepTimestamps);
@@ -83,6 +83,8 @@ class AssistantCloudThreadHistoryAdapter {
83
83
  }
84
84
  _sendReport(remoteId, data, durationMs, stepTimestamps) {
85
85
  const mergedSteps = mergeStepTimestamps(data.steps, stepTimestamps);
86
+ // Keep in sync with assistant-cloud createRunSchema
87
+ // (apps/aui-cloud-api/src/endpoints/runs/create.ts).
86
88
  const initial = {
87
89
  thread_id: remoteId,
88
90
  status: data.status,
@@ -97,6 +99,12 @@ class AssistantCloudThreadHistoryAdapter {
97
99
  ...(data.outputTokens != null
98
100
  ? { output_tokens: data.outputTokens }
99
101
  : undefined),
102
+ ...(data.reasoningTokens != null
103
+ ? { reasoning_tokens: data.reasoningTokens }
104
+ : undefined),
105
+ ...(data.cachedInputTokens != null
106
+ ? { cached_input_tokens: data.cachedInputTokens }
107
+ : undefined),
100
108
  ...(durationMs != null ? { duration_ms: durationMs } : undefined),
101
109
  ...(data.outputText != null
102
110
  ? { output_text: data.outputText }
@@ -189,12 +197,12 @@ function extractTelemetry(format, content) {
189
197
  return null;
190
198
  }
191
199
  }
192
- function extractBatchTelemetry(format, contents) {
200
+ function extractRunTelemetry(format, runMessages) {
193
201
  if (format === "ai-sdk/v6") {
194
- return extractAiSdkV6Batch(contents);
202
+ return aggregateAiSdkV6RunSteps(runMessages);
195
203
  }
196
- for (let i = contents.length - 1; i >= 0; i--) {
197
- const result = extractTelemetry(format, contents[i]);
204
+ for (let i = runMessages.length - 1; i >= 0; i--) {
205
+ const result = extractTelemetry(format, runMessages[i]);
198
206
  if (result)
199
207
  return result;
200
208
  }
@@ -218,13 +226,39 @@ function extractAuiV0(content) {
218
226
  const steps = msg.metadata?.steps;
219
227
  let inputTokens;
220
228
  let outputTokens;
229
+ let reasoningTokens;
230
+ let cachedInputTokens;
221
231
  if (steps && steps.length > 0) {
222
- inputTokens = 0;
223
- outputTokens = 0;
232
+ let totalInput = 0;
233
+ let totalOutput = 0;
234
+ let totalReasoning = 0;
235
+ let totalCachedInput = 0;
236
+ let hasInput = false;
237
+ let hasOutput = false;
238
+ let hasReasoning = false;
239
+ let hasCachedInput = false;
224
240
  for (const step of steps) {
225
- inputTokens += step.usage?.inputTokens ?? 0;
226
- outputTokens += step.usage?.outputTokens ?? 0;
241
+ if (step.usage?.inputTokens != null) {
242
+ totalInput += step.usage.inputTokens;
243
+ hasInput = true;
244
+ }
245
+ if (step.usage?.outputTokens != null) {
246
+ totalOutput += step.usage.outputTokens;
247
+ hasOutput = true;
248
+ }
249
+ if (step.usage?.reasoningTokens != null) {
250
+ totalReasoning += step.usage.reasoningTokens;
251
+ hasReasoning = true;
252
+ }
253
+ if (step.usage?.cachedInputTokens != null) {
254
+ totalCachedInput += step.usage.cachedInputTokens;
255
+ hasCachedInput = true;
256
+ }
227
257
  }
258
+ inputTokens = hasInput ? totalInput : undefined;
259
+ outputTokens = hasOutput ? totalOutput : undefined;
260
+ reasoningTokens = hasReasoning ? totalReasoning : undefined;
261
+ cachedInputTokens = hasCachedInput ? totalCachedInput : undefined;
228
262
  }
229
263
  const statusType = msg.status?.type;
230
264
  const status = (statusType && AUI_STATUS_MAP[statusType]) || "completed";
@@ -241,6 +275,12 @@ function extractAuiV0(content) {
241
275
  ...(s.usage?.outputTokens != null
242
276
  ? { output_tokens: s.usage.outputTokens }
243
277
  : undefined),
278
+ ...(s.usage?.reasoningTokens != null
279
+ ? { reasoning_tokens: s.usage.reasoningTokens }
280
+ : undefined),
281
+ ...(s.usage?.cachedInputTokens != null
282
+ ? { cached_input_tokens: s.usage.cachedInputTokens }
283
+ : undefined),
244
284
  }))
245
285
  : undefined;
246
286
  return {
@@ -249,6 +289,8 @@ function extractAuiV0(content) {
249
289
  ...(steps?.length ? { totalSteps: steps.length } : undefined),
250
290
  ...(inputTokens != null ? { inputTokens } : undefined),
251
291
  ...(outputTokens != null ? { outputTokens } : undefined),
292
+ ...(reasoningTokens != null ? { reasoningTokens } : undefined),
293
+ ...(cachedInputTokens != null ? { cachedInputTokens } : undefined),
252
294
  ...(outputText != null ? { outputText } : undefined),
253
295
  ...(metadata ? { metadata } : undefined),
254
296
  ...(telemetrySteps ? { steps: telemetrySteps } : undefined),
@@ -330,6 +372,12 @@ function buildAiSdkV6Result(textParts, toolCalls, totalSteps, metadata, stepsDat
330
372
  ...(usage?.outputTokens != null
331
373
  ? { outputTokens: usage.outputTokens }
332
374
  : undefined),
375
+ ...(usage?.reasoningTokens != null
376
+ ? { reasoningTokens: usage.reasoningTokens }
377
+ : undefined),
378
+ ...(usage?.cachedInputTokens != null
379
+ ? { cachedInputTokens: usage.cachedInputTokens }
380
+ : undefined),
333
381
  ...(outputText != null ? { outputText } : undefined),
334
382
  ...(metadata ? { metadata } : undefined),
335
383
  ...(steps ? { steps } : undefined),
@@ -339,11 +387,21 @@ function buildAiSdkV6Result(textParts, toolCalls, totalSteps, metadata, stepsDat
339
387
  function normalizeUsage(u) {
340
388
  const input = u.inputTokens ?? u.promptTokens;
341
389
  const output = u.outputTokens ?? u.completionTokens;
342
- if (input == null && output == null)
390
+ if (input == null &&
391
+ output == null &&
392
+ u.reasoningTokens == null &&
393
+ u.cachedInputTokens == null) {
343
394
  return undefined;
395
+ }
344
396
  return {
345
- inputTokens: input ?? 0,
346
- outputTokens: output ?? 0,
397
+ ...(input != null ? { inputTokens: input } : undefined),
398
+ ...(output != null ? { outputTokens: output } : undefined),
399
+ ...(u.reasoningTokens != null
400
+ ? { reasoningTokens: u.reasoningTokens }
401
+ : undefined),
402
+ ...(u.cachedInputTokens != null
403
+ ? { cachedInputTokens: u.cachedInputTokens }
404
+ : undefined),
347
405
  };
348
406
  }
349
407
  function extractAiSdkV6Usage(metadata) {
@@ -359,19 +417,45 @@ function extractAiSdkV6Usage(metadata) {
359
417
  if (steps && steps.length > 0) {
360
418
  let inputTokens = 0;
361
419
  let outputTokens = 0;
420
+ let reasoningTokens = 0;
421
+ let cachedInputTokens = 0;
422
+ let hasInput = false;
423
+ let hasOutput = false;
424
+ let hasReasoning = false;
425
+ let hasCachedInput = false;
362
426
  let hasAny = false;
363
427
  for (const s of steps) {
364
428
  if (!s.usage)
365
429
  continue;
366
430
  const n = normalizeUsage(s.usage);
367
431
  if (n) {
368
- inputTokens += n.inputTokens;
369
- outputTokens += n.outputTokens;
432
+ if (n.inputTokens != null) {
433
+ inputTokens += n.inputTokens;
434
+ hasInput = true;
435
+ }
436
+ if (n.outputTokens != null) {
437
+ outputTokens += n.outputTokens;
438
+ hasOutput = true;
439
+ }
440
+ if (n.reasoningTokens != null) {
441
+ reasoningTokens += n.reasoningTokens;
442
+ hasReasoning = true;
443
+ }
444
+ if (n.cachedInputTokens != null) {
445
+ cachedInputTokens += n.cachedInputTokens;
446
+ hasCachedInput = true;
447
+ }
370
448
  hasAny = true;
371
449
  }
372
450
  }
373
- if (hasAny)
374
- return { inputTokens, outputTokens };
451
+ if (hasAny) {
452
+ return {
453
+ ...(hasInput ? { inputTokens } : undefined),
454
+ ...(hasOutput ? { outputTokens } : undefined),
455
+ ...(hasReasoning ? { reasoningTokens } : undefined),
456
+ ...(hasCachedInput ? { cachedInputTokens } : undefined),
457
+ };
458
+ }
375
459
  }
376
460
  return undefined;
377
461
  }
@@ -382,14 +466,21 @@ function extractAiSdkV6(content) {
382
466
  const { textParts, toolCalls, stepsData } = collectAiSdkV6Parts(msg.parts ?? []);
383
467
  return buildAiSdkV6Result(textParts, toolCalls, stepsData.length, msg.metadata, stepsData, extractAiSdkV6Usage(msg.metadata));
384
468
  }
385
- function extractAiSdkV6Batch(contents) {
469
+ function aggregateAiSdkV6RunSteps(stepMessages) {
386
470
  const allTextParts = [];
387
471
  const allToolCalls = [];
388
472
  const allStepsData = [];
389
473
  let hasAssistant = false;
390
474
  let metadata;
391
- let aggregatedUsage;
392
- for (const content of contents) {
475
+ let inputTokens = 0;
476
+ let outputTokens = 0;
477
+ let reasoningTokens = 0;
478
+ let cachedInputTokens = 0;
479
+ let hasInput = false;
480
+ let hasOutput = false;
481
+ let hasReasoning = false;
482
+ let hasCachedInput = false;
483
+ for (const content of stepMessages) {
393
484
  const msg = content;
394
485
  if (msg.role !== "assistant")
395
486
  continue;
@@ -402,15 +493,32 @@ function extractAiSdkV6Batch(contents) {
402
493
  metadata = msg.metadata;
403
494
  const usage = extractAiSdkV6Usage(msg.metadata);
404
495
  if (usage) {
405
- if (!aggregatedUsage)
406
- aggregatedUsage = { inputTokens: 0, outputTokens: 0 };
407
- aggregatedUsage.inputTokens += usage.inputTokens ?? 0;
408
- aggregatedUsage.outputTokens += usage.outputTokens ?? 0;
496
+ if (usage.inputTokens != null) {
497
+ inputTokens += usage.inputTokens;
498
+ hasInput = true;
499
+ }
500
+ if (usage.outputTokens != null) {
501
+ outputTokens += usage.outputTokens;
502
+ hasOutput = true;
503
+ }
504
+ if (usage.reasoningTokens != null) {
505
+ reasoningTokens += usage.reasoningTokens;
506
+ hasReasoning = true;
507
+ }
508
+ if (usage.cachedInputTokens != null) {
509
+ cachedInputTokens += usage.cachedInputTokens;
510
+ hasCachedInput = true;
511
+ }
409
512
  }
410
513
  }
411
514
  if (!hasAssistant)
412
515
  return null;
413
- return buildAiSdkV6Result(allTextParts, allToolCalls, allStepsData.length, metadata, allStepsData, aggregatedUsage);
516
+ return buildAiSdkV6Result(allTextParts, allToolCalls, allStepsData.length, metadata, allStepsData, {
517
+ ...(hasInput ? { inputTokens } : undefined),
518
+ ...(hasOutput ? { outputTokens } : undefined),
519
+ ...(hasReasoning ? { reasoningTokens } : undefined),
520
+ ...(hasCachedInput ? { cachedInputTokens } : undefined),
521
+ });
414
522
  }
415
523
  export function useAssistantCloudThreadHistoryAdapter(cloudRef) {
416
524
  const aui = useAui();
@@ -1 +1 @@
1
- {"version":3,"file":"AssistantCloudThreadHistoryAdapter.js","sourceRoot":"","sources":["../../../src/legacy-runtime/cloud/AssistantCloudThreadHistoryAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AssistantCloudThreadHistoryAdapter.js","sourceRoot":"","sources":["../../../src/legacy-runtime/cloud/AssistantCloudThreadHistoryAdapter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useToolInvocations.d.ts","sourceRoot":"","sources":["../../../../src/legacy-runtime/runtime-cores/assistant-transport/useToolInvocations.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,IAAI,EACV,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EACV,yBAAyB,EACzB,uBAAuB,EACxB,mBAAgB;AAejB,KAAK,wBAAwB,GAAG;IAC9B,KAAK,EAAE,uBAAuB,CAAC;IAC/B,QAAQ,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC;IACjD,QAAQ,EAAE,CAAC,OAAO,EAAE,yBAAyB,KAAK,IAAI,CAAC;IACvD,eAAe,EAAE,CACf,OAAO,EACH,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,GACnC,CAAC,CACC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,KACtC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,KAC1C,IAAI,CAAC;CACX,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAC3B;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,CAAC;AAUxE,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,eAAe,GAChB,EAAE,wBAAwB;;iBAkVP,OAAO,CAAC,IAAI,CAAC;yBA4BR,MAAM,WAAW,OAAO;EAgBhD"}
1
+ {"version":3,"file":"useToolInvocations.d.ts","sourceRoot":"","sources":["../../../../src/legacy-runtime/runtime-cores/assistant-transport/useToolInvocations.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,IAAI,EACV,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EACV,yBAAyB,EACzB,uBAAuB,EACxB,mBAAgB;AA+BjB,KAAK,wBAAwB,GAAG;IAC9B,KAAK,EAAE,uBAAuB,CAAC;IAC/B,QAAQ,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC;IACjD,QAAQ,EAAE,CAAC,OAAO,EAAE,yBAAyB,KAAK,IAAI,CAAC;IACvD,eAAe,EAAE,CACf,OAAO,EACH,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,GACnC,CAAC,CACC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,KACtC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,KAC1C,IAAI,CAAC;CACX,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAC3B;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,CAAC;AAUxE,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,eAAe,GAChB,EAAE,wBAAwB;;iBA8cP,OAAO,CAAC,IAAI,CAAC;yBA6BR,MAAM,WAAW,OAAO;EAgBhD"}
@@ -1,6 +1,7 @@
1
1
  import { useEffect, useRef, useState } from "react";
2
2
  import { createAssistantStreamController, ToolResponse, unstable_toolResultStream, } from "assistant-stream";
3
3
  import { AssistantMetaTransformStream, } from "assistant-stream/utils";
4
+ import { isJSONValueEqual } from "../../../utils/json/is-json-equal.js";
4
5
  const isArgsTextComplete = (argsText) => {
5
6
  try {
6
7
  JSON.parse(argsText);
@@ -10,11 +11,27 @@ const isArgsTextComplete = (argsText) => {
10
11
  return false;
11
12
  }
12
13
  };
14
+ const parseArgsText = (argsText) => {
15
+ try {
16
+ return JSON.parse(argsText);
17
+ }
18
+ catch {
19
+ return undefined;
20
+ }
21
+ };
22
+ const isEquivalentCompleteArgsText = (previous, next) => {
23
+ const previousValue = parseArgsText(previous);
24
+ const nextValue = parseArgsText(next);
25
+ if (previousValue === undefined || nextValue === undefined)
26
+ return false;
27
+ return isJSONValueEqual(previousValue, nextValue);
28
+ };
13
29
  export function useToolInvocations({ state, getTools, onResult, setToolStatuses, }) {
14
30
  const lastToolStates = useRef({});
15
31
  const humanInputRef = useRef(new Map());
16
32
  const acRef = useRef(new AbortController());
17
33
  const executingCountRef = useRef(0);
34
+ const startedExecutionToolCallIdsRef = useRef(new Set());
18
35
  const settledResolversRef = useRef([]);
19
36
  const toolCallIdAliasesRef = useRef(new Map());
20
37
  const ignoredResultToolCallIdsRef = useRef(new Set());
@@ -78,6 +95,7 @@ export function useToolInvocations({ state, getTools, onResult, setToolStatuses,
78
95
  if (ignoredResultToolCallIdsRef.current.has(toolCallId)) {
79
96
  return;
80
97
  }
98
+ startedExecutionToolCallIdsRef.current.add(toolCallId);
81
99
  const logicalToolCallId = getLogicalToolCallId(toolCallId);
82
100
  executingCountRef.current++;
83
101
  setToolStatuses((prev) => ({
@@ -86,7 +104,18 @@ export function useToolInvocations({ state, getTools, onResult, setToolStatuses,
86
104
  }));
87
105
  },
88
106
  onExecutionEnd: (toolCallId) => {
107
+ const wasStarted = startedExecutionToolCallIdsRef.current.delete(toolCallId);
89
108
  if (ignoredResultToolCallIdsRef.current.has(toolCallId)) {
109
+ if (wasStarted) {
110
+ executingCountRef.current--;
111
+ if (executingCountRef.current === 0) {
112
+ settledResolversRef.current.forEach((resolve) => resolve());
113
+ settledResolversRef.current = [];
114
+ }
115
+ }
116
+ return;
117
+ }
118
+ if (!wasStarted) {
90
119
  return;
91
120
  }
92
121
  const logicalToolCallId = getLogicalToolCallId(toolCallId);
@@ -149,6 +178,43 @@ export function useToolInvocations({ state, getTools, onResult, setToolStatuses,
149
178
  const patchToolState = (toolCallId, state, patch) => {
150
179
  return setToolState(toolCallId, { ...state, ...patch });
151
180
  };
181
+ const hasExecutableTool = (toolName) => {
182
+ const tool = getTools()?.[toolName];
183
+ return tool?.execute !== undefined || tool?.streamCall !== undefined;
184
+ };
185
+ const shouldCloseArgsStream = ({ toolName, argsText, hasResult, }) => {
186
+ if (hasResult)
187
+ return true;
188
+ if (!hasExecutableTool(toolName)) {
189
+ // Non-executable tools can emit parseable snapshots mid-stream.
190
+ // Wait until the run settles before closing the args stream.
191
+ return !state.isRunning && isArgsTextComplete(argsText);
192
+ }
193
+ return isArgsTextComplete(argsText);
194
+ };
195
+ const restartToolArgsStream = ({ toolCallId, toolName, state, }) => {
196
+ ignoredResultToolCallIdsRef.current.add(state.streamToolCallId);
197
+ state.controller.argsText.close();
198
+ const streamToolCallId = `${toolCallId}:rewrite:${rewriteCounterRef.current++}`;
199
+ toolCallIdAliasesRef.current.set(streamToolCallId, toolCallId);
200
+ const toolCallController = controller.addToolCallPart({
201
+ toolName,
202
+ toolCallId: streamToolCallId,
203
+ });
204
+ if (process.env.NODE_ENV !== "production") {
205
+ console.warn("started replacement stream tool call", {
206
+ toolCallId,
207
+ streamToolCallId,
208
+ });
209
+ }
210
+ return setToolState(toolCallId, {
211
+ ...createToolState({
212
+ controller: toolCallController,
213
+ streamToolCallId,
214
+ }),
215
+ hasResult: state.hasResult,
216
+ });
217
+ };
152
218
  const processMessages = (messages) => {
153
219
  messages.forEach((message) => {
154
220
  message.content.forEach((content) => {
@@ -173,69 +239,107 @@ export function useToolInvocations({ state, getTools, onResult, setToolStatuses,
173
239
  }));
174
240
  }
175
241
  if (content.argsText !== lastState.argsText) {
242
+ let shouldWriteArgsText = true;
176
243
  if (lastState.argsComplete) {
177
- if (process.env.NODE_ENV !== "production") {
178
- console.warn("argsText updated after controller was closed:", {
179
- previous: lastState.argsText,
180
- next: content.argsText,
244
+ if (isEquivalentCompleteArgsText(lastState.argsText, content.argsText)) {
245
+ lastState = patchToolState(content.toolCallId, lastState, {
246
+ argsText: content.argsText,
181
247
  });
248
+ shouldWriteArgsText = false;
182
249
  }
183
- }
184
- else {
185
- if (!content.argsText.startsWith(lastState.argsText)) {
186
- // Check if this is key reordering (both are complete JSON)
187
- // This happens when transitioning from streaming to complete state
188
- // and the provider returns keys in a different order
189
- if (isArgsTextComplete(lastState.argsText) &&
190
- isArgsTextComplete(content.argsText)) {
191
- lastState.controller.argsText.close();
192
- patchToolState(content.toolCallId, lastState, {
193
- argsText: content.argsText,
194
- argsComplete: true,
195
- });
196
- return; // Continue to next content part
197
- }
250
+ if (shouldWriteArgsText) {
251
+ const canRestartClosedArgsStream = !lastState.hasResult &&
252
+ !startedExecutionToolCallIdsRef.current.has(lastState.streamToolCallId);
198
253
  if (process.env.NODE_ENV !== "production") {
199
- console.warn("argsText rewrote previous snapshot, restarting tool args stream:", {
254
+ console.warn(canRestartClosedArgsStream
255
+ ? "argsText updated after controller was closed, restarting tool args stream:"
256
+ : "argsText updated after controller was closed:", {
200
257
  previous: lastState.argsText,
201
258
  next: content.argsText,
202
- toolCallId: content.toolCallId,
203
259
  });
204
260
  }
205
- ignoredResultToolCallIdsRef.current.add(lastState.streamToolCallId);
206
- lastState.controller.argsText.close();
207
- const streamToolCallId = `${content.toolCallId}:rewrite:${rewriteCounterRef.current++}`;
208
- toolCallIdAliasesRef.current.set(streamToolCallId, content.toolCallId);
209
- const toolCallController = controller.addToolCallPart({
261
+ if (!canRestartClosedArgsStream) {
262
+ lastState = patchToolState(content.toolCallId, lastState, {
263
+ argsText: content.argsText,
264
+ });
265
+ shouldWriteArgsText = false;
266
+ }
267
+ }
268
+ if (shouldWriteArgsText) {
269
+ lastState = restartToolArgsStream({
270
+ toolCallId: content.toolCallId,
210
271
  toolName: content.toolName,
211
- toolCallId: streamToolCallId,
272
+ state: lastState,
212
273
  });
274
+ }
275
+ }
276
+ else if (!content.argsText.startsWith(lastState.argsText)) {
277
+ // Check if this is key reordering (both are complete JSON)
278
+ // This happens when transitioning from streaming to complete state
279
+ // and the provider returns keys in a different order
280
+ if (isArgsTextComplete(lastState.argsText) &&
281
+ isArgsTextComplete(content.argsText) &&
282
+ isEquivalentCompleteArgsText(lastState.argsText, content.argsText)) {
283
+ const shouldClose = shouldCloseArgsStream({
284
+ toolName: content.toolName,
285
+ argsText: content.argsText,
286
+ hasResult: content.result !== undefined,
287
+ });
288
+ if (shouldClose) {
289
+ lastState.controller.argsText.close();
290
+ }
291
+ lastState = patchToolState(content.toolCallId, lastState, {
292
+ argsText: content.argsText,
293
+ argsComplete: shouldClose,
294
+ });
295
+ shouldWriteArgsText = false;
296
+ }
297
+ if (shouldWriteArgsText) {
213
298
  if (process.env.NODE_ENV !== "production") {
214
- console.warn("started replacement stream tool call", {
299
+ console.warn("argsText rewrote previous snapshot, restarting tool args stream:", {
300
+ previous: lastState.argsText,
301
+ next: content.argsText,
215
302
  toolCallId: content.toolCallId,
216
- streamToolCallId,
217
303
  });
218
304
  }
219
- lastState = setToolState(content.toolCallId, {
220
- ...createToolState({
221
- controller: toolCallController,
222
- streamToolCallId,
223
- }),
224
- hasResult: lastState.hasResult,
305
+ lastState = restartToolArgsStream({
306
+ toolCallId: content.toolCallId,
307
+ toolName: content.toolName,
308
+ state: lastState,
225
309
  });
226
310
  }
311
+ }
312
+ if (shouldWriteArgsText) {
227
313
  const argsTextDelta = content.argsText.slice(lastState.argsText.length);
228
314
  lastState.controller.argsText.append(argsTextDelta);
229
- const shouldClose = isArgsTextComplete(content.argsText);
315
+ const shouldClose = shouldCloseArgsStream({
316
+ toolName: content.toolName,
317
+ argsText: content.argsText,
318
+ hasResult: content.result !== undefined,
319
+ });
230
320
  if (shouldClose) {
231
321
  lastState.controller.argsText.close();
232
322
  }
233
- patchToolState(content.toolCallId, lastState, {
323
+ lastState = patchToolState(content.toolCallId, lastState, {
234
324
  argsText: content.argsText,
235
325
  argsComplete: shouldClose,
236
326
  });
237
327
  }
238
328
  }
329
+ if (!lastState.argsComplete) {
330
+ const shouldClose = shouldCloseArgsStream({
331
+ toolName: content.toolName,
332
+ argsText: content.argsText,
333
+ hasResult: content.result !== undefined,
334
+ });
335
+ if (shouldClose) {
336
+ lastState.controller.argsText.close();
337
+ lastState = patchToolState(content.toolCallId, lastState, {
338
+ argsText: content.argsText,
339
+ argsComplete: true,
340
+ });
341
+ }
342
+ }
239
343
  if (content.result !== undefined && !lastState.hasResult) {
240
344
  patchToolState(content.toolCallId, lastState, {
241
345
  hasResult: true,
@@ -261,7 +365,7 @@ export function useToolInvocations({ state, getTools, onResult, setToolStatuses,
261
365
  if (isInitialState.current) {
262
366
  isInitialState.current = false;
263
367
  }
264
- }, [state, controller]);
368
+ }, [state, controller, getTools]);
265
369
  const abort = () => {
266
370
  humanInputRef.current.forEach(({ reject }) => {
267
371
  reject(new Error("Tool execution aborted"));
@@ -281,6 +385,7 @@ export function useToolInvocations({ state, getTools, onResult, setToolStatuses,
281
385
  reset: () => {
282
386
  isInitialState.current = true;
283
387
  void abort().finally(() => {
388
+ startedExecutionToolCallIdsRef.current.clear();
284
389
  toolCallIdAliasesRef.current.clear();
285
390
  ignoredResultToolCallIdsRef.current.clear();
286
391
  rewriteCounterRef.current = 0;