@ai-sdk/harness 1.0.84 → 1.0.85

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-sdk/harness",
3
- "version": "1.0.84",
3
+ "version": "1.0.85",
4
4
  "type": "module",
5
5
  "license": "Apache-2.0",
6
6
  "sideEffects": false,
@@ -45,8 +45,8 @@
45
45
  },
46
46
  "dependencies": {
47
47
  "@ai-sdk/provider": "4.0.7",
48
- "@ai-sdk/provider-utils": "5.0.28",
49
- "ai": "7.0.76"
48
+ "@ai-sdk/provider-utils": "5.0.29",
49
+ "ai": "7.0.77"
50
50
  },
51
51
  "peerDependencies": {
52
52
  "ws": "^8.21.0",
@@ -65,7 +65,7 @@
65
65
  "typescript": "5.8.3",
66
66
  "ws": "^8.21.0",
67
67
  "zod": "3.25.76",
68
- "@ai-sdk/otel": "1.0.76",
68
+ "@ai-sdk/otel": "1.0.77",
69
69
  "@vercel/ai-tsconfig": "0.0.0"
70
70
  },
71
71
  "engines": {
@@ -259,6 +259,7 @@ export function runPrompt<
259
259
  ]),
260
260
  );
261
261
  const settledHostToolCallIds = new Set<string>();
262
+ const settledBuiltinApprovalToolCallIds = new Set<string>();
262
263
  let closingResumedStep = false;
263
264
  let pendingStopBoundary:
264
265
  | {
@@ -486,9 +487,9 @@ export function runPrompt<
486
487
  onToolApprovalSettled(approval.approvalId);
487
488
  pendingApprovalsByApprovalId.delete(approval.approvalId);
488
489
  pendingApprovalsByToolCallId.delete(approval.toolCallId);
489
- settledHostToolCallIds.add(approval.toolCallId);
490
490
 
491
491
  if (approval.kind === 'builtin') {
492
+ settledBuiltinApprovalToolCallIds.add(approval.toolCallId);
492
493
  if (control.submitToolApproval == null) {
493
494
  throw new Error(
494
495
  `Harness '${input.harness.harnessId}' emitted a built-in tool approval request but does not support approval responses.`,
@@ -502,6 +503,7 @@ export function runPrompt<
502
503
  return 'continued';
503
504
  }
504
505
 
506
+ settledHostToolCallIds.add(approval.toolCallId);
505
507
  if (!continuation.approvalResponse.approved) {
506
508
  await control.submitToolResult({
507
509
  toolCallId: approval.toolCallId,
@@ -655,8 +657,12 @@ export function runPrompt<
655
657
  displayValue.type === 'tool-result' ||
656
658
  displayValue.type === 'tool-approval-request') &&
657
659
  settledHostToolCallIds.has(displayValue.toolCallId);
660
+ const settledBuiltinApprovalReplay =
661
+ (displayValue.type === 'tool-call' ||
662
+ displayValue.type === 'tool-approval-request') &&
663
+ settledBuiltinApprovalToolCallIds.has(displayValue.toolCallId);
658
664
 
659
- if (settledHostInputReplay) {
665
+ if (settledHostInputReplay || settledBuiltinApprovalReplay) {
660
666
  continue;
661
667
  }
662
668