@salesforce/sfdx-agent-harness-claude 0.16.0 → 0.17.0

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/CHANGELOG.md CHANGED
@@ -3,6 +3,11 @@
3
3
  All notable changes to `@salesforce/sfdx-agent-harness-claude` are documented in this file.
4
4
  Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
5
5
 
6
+ ## [0.17.0] - 2026-06-15
7
+
8
+ ### Fixes
9
+ - **harness-claude,harness-mastra,agent-sdk**: idempotent settle + quiet dispose (#589) ([#598](https://github.com/forcedotcom/agentic-dx/pull/598))
10
+
6
11
  ## [0.16.0] - 2026-06-12
7
12
 
8
13
  ### Features
@@ -59,10 +59,22 @@ export declare class ClaudeApprovalCoordinator {
59
59
  /** ToolCallIds the consumer has settled. Rejects double-settle. */
60
60
  private readonly consumerSettled;
61
61
  /**
62
- * ToolCallIds the coordinator auto-resolved (timeout / abort / dispose).
63
- * A subsequent settle for these ids rejects with "already auto-resolved".
62
+ * ToolCallIds the coordinator auto-resolved (timeout / abort / dispose
63
+ * / pump-error). A subsequent settle for these ids is a silent no-op
64
+ * via the idempotent-settle contract (issue #589) — the lost race is
65
+ * unactionable from the consumer's side, and the methods are
66
+ * void-typed so there's no return value to communicate the no-op.
64
67
  */
65
68
  private readonly settledByCoordinator;
69
+ /**
70
+ * ToolCallIds the consumer has settled via {@link submitToolResult},
71
+ * or that the coordinator drained at teardown time. Used as the
72
+ * idempotent-settle ledger for the consumer-tool path (parallel to
73
+ * `consumerSettled` + `settledByCoordinator` on the approve/decline
74
+ * path). A subsequent `submitToolResult` for these ids is a silent
75
+ * no-op rather than throwing `TOOL_CALL_NOT_FOUND` (issue #589).
76
+ */
77
+ private readonly consumerToolSettled;
66
78
  /** Args from the adapter's `tool-call` ChatEvent, keyed by `toolCallId`. */
67
79
  private readonly toolCallArgs;
68
80
  /**
@@ -153,21 +165,44 @@ export declare class ClaudeApprovalCoordinator {
153
165
  /**
154
166
  * Single teardown path for abort / dispose / approval-timeout /
155
167
  * pump-error. Marks every emitted approval `settledByCoordinator`
156
- * (so a subsequent `approve` / `decline` rejects with
157
- * "already auto-resolved"), drains every parked `PreToolUse` hook
158
- * Promise and per-id timer, rejects every parked consumer-tool
159
- * parker, pushes the synthetic terminal pair on the sink, aborts
160
- * the subprocess via the injected controller, and fires teardown
161
- * callbacks.
168
+ * (so a subsequent `approve` / `decline` is a silent no-op via the
169
+ * idempotent-settle path — issue #589), drains every parked
170
+ * `PreToolUse` hook Promise and per-id timer, rejects every parked
171
+ * consumer-tool parker, pushes the typed `error` + `finish('error')`
172
+ * pair on the sink, aborts the subprocess via the injected
173
+ * controller, and fires teardown callbacks.
174
+ *
175
+ * Every teardown reason — including `'dispose'` — pushes both events
176
+ * (issue #589). Two reasons:
177
+ *
178
+ * - **Consumers route on `error.code`, not on the *presence* of an
179
+ * error event.** AFV's `chat-stream-service.ts` maps
180
+ * `error.code === AgentSDKErrorType.DISPOSED` → its internal
181
+ * `AGENT_CANCELLED` and reaps the turn as cancelled (rather than
182
+ * completed or failed). Suppressing the dispose error event would
183
+ * delete that signal: the for-await would exit cleanly without a
184
+ * terminal event, the consumer would see a "completed" turn, and
185
+ * a turn that was actually torn down by a superseding `chat()` /
186
+ * `destroyThread` / `destroyAgent` / `shutdown` would record as
187
+ * successful in their telemetry pipeline. The original bug
188
+ * (issue #589 failure 2) was *untyped* error noise — `error.code`
189
+ * is already typed as `AgentSDKErrorType.DISPOSED`, which gives
190
+ * consumers a clean discriminator without string-matching.
191
+ *
192
+ * - **The SDK invariant requires every chat turn to end with one
193
+ * terminal `FinishEvent`.** `DefaultChatSession.wrapEventStream`
194
+ * only synthesizes a synthetic `finish` when an error landed on
195
+ * the stream; if dispose ended the sink without an error, there'd
196
+ * be no synthesis path and the turn would end with neither a
197
+ * natural finish nor a synthetic one — breaking the SDK contract
198
+ * pinned in `packages/sfdx-agent-sdk/ARCHITECTURE.md` →
199
+ * "Critical Invariants" → "Every chat turn ends with exactly one
200
+ * terminal FinishEvent".
162
201
  *
163
- * The `reason` parameter changes two things:
164
- * - `'dispose'` pushes an error event only, no `finish` (matches
165
- * pre-#529 dispose contract: disposal is consumer-triggered,
166
- * not a normal turn end).
167
- * - `'timeout'` resolves every parked hook with `decision: 'block'`
168
- * so the agentic loop ends politely; the other reasons reject
169
- * parked hooks with the underlying error so the SDK surfaces
170
- * each as a tool failure.
202
+ * The `reason` parameter changes one thing: `'timeout'` resolves
203
+ * every parked hook with `decision: 'block'` so the agentic loop
204
+ * ends politely; the other reasons reject parked hooks with the
205
+ * underlying error so the SDK surfaces each as a tool failure.
171
206
  *
172
207
  * Mirrors the Mastra coordinator's `teardown` so the pump-throw /
173
208
  * abort / dispose / timeout paths can't drift out of step on either
@@ -53,10 +53,22 @@ export class ClaudeApprovalCoordinator {
53
53
  /** ToolCallIds the consumer has settled. Rejects double-settle. */
54
54
  consumerSettled = new Set();
55
55
  /**
56
- * ToolCallIds the coordinator auto-resolved (timeout / abort / dispose).
57
- * A subsequent settle for these ids rejects with "already auto-resolved".
56
+ * ToolCallIds the coordinator auto-resolved (timeout / abort / dispose
57
+ * / pump-error). A subsequent settle for these ids is a silent no-op
58
+ * via the idempotent-settle contract (issue #589) — the lost race is
59
+ * unactionable from the consumer's side, and the methods are
60
+ * void-typed so there's no return value to communicate the no-op.
58
61
  */
59
62
  settledByCoordinator = new Set();
63
+ /**
64
+ * ToolCallIds the consumer has settled via {@link submitToolResult},
65
+ * or that the coordinator drained at teardown time. Used as the
66
+ * idempotent-settle ledger for the consumer-tool path (parallel to
67
+ * `consumerSettled` + `settledByCoordinator` on the approve/decline
68
+ * path). A subsequent `submitToolResult` for these ids is a silent
69
+ * no-op rather than throwing `TOOL_CALL_NOT_FOUND` (issue #589).
70
+ */
71
+ consumerToolSettled = new Set();
60
72
  /** Args from the adapter's `tool-call` ChatEvent, keyed by `toolCallId`. */
61
73
  toolCallArgs = new Map();
62
74
  /**
@@ -199,21 +211,44 @@ export class ClaudeApprovalCoordinator {
199
211
  /**
200
212
  * Single teardown path for abort / dispose / approval-timeout /
201
213
  * pump-error. Marks every emitted approval `settledByCoordinator`
202
- * (so a subsequent `approve` / `decline` rejects with
203
- * "already auto-resolved"), drains every parked `PreToolUse` hook
204
- * Promise and per-id timer, rejects every parked consumer-tool
205
- * parker, pushes the synthetic terminal pair on the sink, aborts
206
- * the subprocess via the injected controller, and fires teardown
207
- * callbacks.
214
+ * (so a subsequent `approve` / `decline` is a silent no-op via the
215
+ * idempotent-settle path — issue #589), drains every parked
216
+ * `PreToolUse` hook Promise and per-id timer, rejects every parked
217
+ * consumer-tool parker, pushes the typed `error` + `finish('error')`
218
+ * pair on the sink, aborts the subprocess via the injected
219
+ * controller, and fires teardown callbacks.
220
+ *
221
+ * Every teardown reason — including `'dispose'` — pushes both events
222
+ * (issue #589). Two reasons:
223
+ *
224
+ * - **Consumers route on `error.code`, not on the *presence* of an
225
+ * error event.** AFV's `chat-stream-service.ts` maps
226
+ * `error.code === AgentSDKErrorType.DISPOSED` → its internal
227
+ * `AGENT_CANCELLED` and reaps the turn as cancelled (rather than
228
+ * completed or failed). Suppressing the dispose error event would
229
+ * delete that signal: the for-await would exit cleanly without a
230
+ * terminal event, the consumer would see a "completed" turn, and
231
+ * a turn that was actually torn down by a superseding `chat()` /
232
+ * `destroyThread` / `destroyAgent` / `shutdown` would record as
233
+ * successful in their telemetry pipeline. The original bug
234
+ * (issue #589 failure 2) was *untyped* error noise — `error.code`
235
+ * is already typed as `AgentSDKErrorType.DISPOSED`, which gives
236
+ * consumers a clean discriminator without string-matching.
208
237
  *
209
- * The `reason` parameter changes two things:
210
- * - `'dispose'` pushes an error event only, no `finish` (matches
211
- * pre-#529 dispose contract: disposal is consumer-triggered,
212
- * not a normal turn end).
213
- * - `'timeout'` resolves every parked hook with `decision: 'block'`
214
- * so the agentic loop ends politely; the other reasons reject
215
- * parked hooks with the underlying error so the SDK surfaces
216
- * each as a tool failure.
238
+ * - **The SDK invariant requires every chat turn to end with one
239
+ * terminal `FinishEvent`.** `DefaultChatSession.wrapEventStream`
240
+ * only synthesizes a synthetic `finish` when an error landed on
241
+ * the stream; if dispose ended the sink without an error, there'd
242
+ * be no synthesis path and the turn would end with neither a
243
+ * natural finish nor a synthetic one — breaking the SDK contract
244
+ * pinned in `packages/sfdx-agent-sdk/ARCHITECTURE.md` →
245
+ * "Critical Invariants" → "Every chat turn ends with exactly one
246
+ * terminal FinishEvent".
247
+ *
248
+ * The `reason` parameter changes one thing: `'timeout'` resolves
249
+ * every parked hook with `decision: 'block'` so the agentic loop
250
+ * ends politely; the other reasons reject parked hooks with the
251
+ * underlying error so the SDK surfaces each as a tool failure.
217
252
  *
218
253
  * Mirrors the Mastra coordinator's `teardown` so the pump-throw /
219
254
  * abort / dispose / timeout paths can't drift out of step on either
@@ -226,6 +261,10 @@ export class ClaudeApprovalCoordinator {
226
261
  this.tornDown = true;
227
262
  for (const id of this.emittedApprovals)
228
263
  this.settledByCoordinator.add(id);
264
+ for (const id of this.pendingByToolCallId.keys())
265
+ this.consumerToolSettled.add(id);
266
+ for (const id of this.recentToolCallNameById.keys())
267
+ this.consumerToolSettled.add(id);
229
268
  if (reason === 'timeout') {
230
269
  // Resolve every parked PreToolUse hook with the SDK's
231
270
  // polite-halt shape so the agentic loop ends without
@@ -255,15 +294,9 @@ export class ClaudeApprovalCoordinator {
255
294
  // Reject every parked consumer-tool call so the bridge handler
256
295
  // unblocks with an error rather than waiting forever.
257
296
  this.failAllPendingConsumerCalls(error);
258
- if (reason === 'dispose') {
259
- this.initial.push({ type: 'error', error, code });
260
- this.initial.end();
261
- }
262
- else {
263
- this.initial.push({ type: 'error', error, code });
264
- this.initial.push({ type: 'finish', finishReason: 'error' });
265
- this.initial.end();
266
- }
297
+ this.initial.push({ type: 'error', error, code });
298
+ this.initial.push({ type: 'finish', finishReason: 'error' });
299
+ this.initial.end();
267
300
  // Kill the subprocess on every teardown reason. `abort` is
268
301
  // already aborted by the harness's abort listener forwarding
269
302
  // (which calls `controller.abort()` before `coordinator.abort()`);
@@ -359,15 +392,22 @@ export class ClaudeApprovalCoordinator {
359
392
  }));
360
393
  }
361
394
  settlePending(method, toolCallId, decide) {
362
- if (this.settledByCoordinator.has(toolCallId)) {
363
- throw new Error(`ClaudeApprovalCoordinator.${method}(): tool call "${toolCallId}" was already auto-resolved by the coordinator`);
364
- }
365
- if (this.consumerSettled.has(toolCallId)) {
366
- throw new Error(`ClaudeApprovalCoordinator.${method}(): tool call "${toolCallId}" was already settled`);
395
+ // Issue #589: idempotent settle. A tool call the coordinator
396
+ // already auto-resolved (timeout / abort / dispose / pump-error) or
397
+ // the consumer already settled is a lost-race no-op rather than a
398
+ // throw — settle methods are void-typed, so the consumer never
399
+ // branches on a return value, and the outcome they wanted (id is
400
+ // settled) is already true.
401
+ if (this.settledByCoordinator.has(toolCallId) || this.consumerSettled.has(toolCallId)) {
402
+ return;
367
403
  }
368
404
  const pending = this.pendingApprovals.get(toolCallId);
369
405
  if (!pending && !this.emittedApprovals.has(toolCallId)) {
370
- throw new Error(`ClaudeApprovalCoordinator.${method}(): no pending approval for tool call "${toolCallId}"`);
406
+ // Genuine misuse — the coordinator never saw this id (typo,
407
+ // wrong session, or settle called before approval-request /
408
+ // tool-call ever fired). Typed so consumers can branch on
409
+ // err.type instead of string-matching the message.
410
+ throw new AgentSDKError(`ClaudeApprovalCoordinator.${method}(): no pending approval for tool call "${toolCallId}"`, AgentSDKErrorType.TOOL_CALL_NOT_FOUND);
371
411
  }
372
412
  this.consumerSettled.add(toolCallId);
373
413
  const input = pending?.input ?? this.toolCallArgs.get(toolCallId) ?? {};
@@ -437,8 +477,18 @@ export class ClaudeApprovalCoordinator {
437
477
  * consumer is iterating from `chat()`.
438
478
  */
439
479
  submitToolResult(toolCallId, result, isError) {
480
+ // Issue #589: idempotent settle. A submitToolResult for an id the
481
+ // consumer already settled, or that the coordinator drained at
482
+ // teardown time, is a silent no-op — the lost-race shape is
483
+ // unactionable from the consumer's side, and the method is
484
+ // void-typed. Mirrors the approve/decline path's
485
+ // `consumerSettled` + `settledByCoordinator` ledger.
486
+ if (this.consumerToolSettled.has(toolCallId)) {
487
+ return;
488
+ }
440
489
  const entry = this.pendingByToolCallId.get(toolCallId);
441
490
  if (entry) {
491
+ this.consumerToolSettled.add(toolCallId);
442
492
  this.pendingByToolCallId.delete(toolCallId);
443
493
  entry.resolve({ result, isError });
444
494
  return;
@@ -447,10 +497,14 @@ export class ClaudeApprovalCoordinator {
447
497
  // toolCallId) but the bridge handler hasn't parked yet. Stage the
448
498
  // result; the parker resolves as soon as it arrives.
449
499
  if (this.recentToolCallNameById.has(toolCallId)) {
500
+ this.consumerToolSettled.add(toolCallId);
450
501
  this.preSubmittedByToolCallId.set(toolCallId, { result, isError });
451
502
  return;
452
503
  }
453
- throw new Error(`ClaudeApprovalCoordinator.submitToolResult(): no pending tool call for id "${toolCallId}"`);
504
+ // Issue #589: typed error — the coordinator never saw this id, so
505
+ // this is genuine misuse rather than the lost-race shape the
506
+ // idempotent-settle path collapses to a no-op.
507
+ throw new AgentSDKError(`ClaudeApprovalCoordinator.submitToolResult(): no pending tool call for id "${toolCallId}"`, AgentSDKErrorType.TOOL_CALL_NOT_FOUND);
454
508
  }
455
509
  failAllPendingConsumerCalls(err) {
456
510
  for (const list of this.waitingParkersByName.values()) {
@@ -481,12 +535,12 @@ export class ClaudeApprovalCoordinator {
481
535
  // so every parked PreToolUse hook is rejected, every
482
536
  // consumer-tool parker is failed, every emitted approval is
483
537
  // marked `settledByCoordinator` (so a subsequent
484
- // `approve(tc-N)` rejects with "already auto-resolved"
485
- // instead of deadlocking on a sink the pump just torched),
486
- // and the synthetic terminal pair lands on the same `initial`
487
- // sink the consumer is iterating. Mirrors Mastra's
488
- // `pumpUntilSuspendOrTerminal` catch block — closes the
489
- // audit's Claude Finding #1 / Mastra Finding #1.
538
+ // `approve(tc-N)` is a silent no-op via the idempotent-settle
539
+ // path — issue #589 — instead of deadlocking on a sink the
540
+ // pump just torched), and the synthetic terminal pair lands
541
+ // on the same `initial` sink the consumer is iterating.
542
+ // Mirrors Mastra's `pumpUntilSuspendOrTerminal` catch block —
543
+ // closes the audit's Claude Finding #1 / Mastra Finding #1.
490
544
  //
491
545
  // Re-entry from a prior abort/dispose/timeout teardown that
492
546
  // aborted the subprocess (which then surfaces here as the
@@ -1 +1 @@
1
- {"version":3,"file":"claude-approval-coordinator.js","sourceRoot":"","sources":["../src/claude-approval-coordinator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-approval-coordinator.js","sourceRoot":"","sources":["../src/claude-approval-coordinator.ts"],"names":[],"mappings":"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"}