@anthropic-ai/sdk 0.110.0 → 0.112.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.
Files changed (95) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/bin/migration-config.json +74 -0
  3. package/lib/tools/SessionToolRunner.d.mts +29 -2
  4. package/lib/tools/SessionToolRunner.d.mts.map +1 -1
  5. package/lib/tools/SessionToolRunner.d.ts +29 -2
  6. package/lib/tools/SessionToolRunner.d.ts.map +1 -1
  7. package/lib/tools/SessionToolRunner.js +265 -36
  8. package/lib/tools/SessionToolRunner.js.map +1 -1
  9. package/lib/tools/SessionToolRunner.mjs +265 -36
  10. package/lib/tools/SessionToolRunner.mjs.map +1 -1
  11. package/package.json +1 -1
  12. package/resources/beta/agents/agents.d.mts +1 -1
  13. package/resources/beta/agents/agents.d.ts +1 -1
  14. package/resources/beta/beta.d.mts +9 -1
  15. package/resources/beta/beta.d.mts.map +1 -1
  16. package/resources/beta/beta.d.ts +9 -1
  17. package/resources/beta/beta.d.ts.map +1 -1
  18. package/resources/beta/beta.js +8 -0
  19. package/resources/beta/beta.js.map +1 -1
  20. package/resources/beta/beta.mjs +8 -0
  21. package/resources/beta/beta.mjs.map +1 -1
  22. package/resources/beta/dreams.d.mts +269 -0
  23. package/resources/beta/dreams.d.mts.map +1 -0
  24. package/resources/beta/dreams.d.ts +269 -0
  25. package/resources/beta/dreams.d.ts.map +1 -0
  26. package/resources/beta/dreams.js +116 -0
  27. package/resources/beta/dreams.js.map +1 -0
  28. package/resources/beta/dreams.mjs +112 -0
  29. package/resources/beta/dreams.mjs.map +1 -0
  30. package/resources/beta/index.d.mts +2 -0
  31. package/resources/beta/index.d.mts.map +1 -1
  32. package/resources/beta/index.d.ts +2 -0
  33. package/resources/beta/index.d.ts.map +1 -1
  34. package/resources/beta/index.js +7 -3
  35. package/resources/beta/index.js.map +1 -1
  36. package/resources/beta/index.mjs +2 -0
  37. package/resources/beta/index.mjs.map +1 -1
  38. package/resources/beta/messages/batches.d.mts +3 -2
  39. package/resources/beta/messages/batches.d.mts.map +1 -1
  40. package/resources/beta/messages/batches.d.ts +3 -2
  41. package/resources/beta/messages/batches.d.ts.map +1 -1
  42. package/resources/beta/messages/messages.d.mts +18 -9
  43. package/resources/beta/messages/messages.d.mts.map +1 -1
  44. package/resources/beta/messages/messages.d.ts +18 -9
  45. package/resources/beta/messages/messages.d.ts.map +1 -1
  46. package/resources/beta/messages/messages.js.map +1 -1
  47. package/resources/beta/messages/messages.mjs.map +1 -1
  48. package/resources/beta/tunnels/certificates.d.mts +163 -0
  49. package/resources/beta/tunnels/certificates.d.mts.map +1 -0
  50. package/resources/beta/tunnels/certificates.d.ts +163 -0
  51. package/resources/beta/tunnels/certificates.d.ts.map +1 -0
  52. package/resources/beta/tunnels/certificates.js +129 -0
  53. package/resources/beta/tunnels/certificates.js.map +1 -0
  54. package/resources/beta/tunnels/certificates.mjs +125 -0
  55. package/resources/beta/tunnels/certificates.mjs.map +1 -0
  56. package/resources/beta/tunnels/index.d.mts +3 -0
  57. package/resources/beta/tunnels/index.d.mts.map +1 -0
  58. package/resources/beta/tunnels/index.d.ts +3 -0
  59. package/resources/beta/tunnels/index.d.ts.map +1 -0
  60. package/resources/beta/tunnels/index.js +9 -0
  61. package/resources/beta/tunnels/index.js.map +1 -0
  62. package/resources/beta/tunnels/index.mjs +4 -0
  63. package/resources/beta/tunnels/index.mjs.map +1 -0
  64. package/resources/beta/tunnels/tunnels.d.mts +212 -0
  65. package/resources/beta/tunnels/tunnels.d.mts.map +1 -0
  66. package/resources/beta/tunnels/tunnels.d.ts +212 -0
  67. package/resources/beta/tunnels/tunnels.d.ts.map +1 -0
  68. package/resources/beta/tunnels/tunnels.js +181 -0
  69. package/resources/beta/tunnels/tunnels.js.map +1 -0
  70. package/resources/beta/tunnels/tunnels.mjs +176 -0
  71. package/resources/beta/tunnels/tunnels.mjs.map +1 -0
  72. package/resources/beta/tunnels.d.mts +2 -0
  73. package/resources/beta/tunnels.d.mts.map +1 -0
  74. package/resources/beta/tunnels.d.ts +2 -0
  75. package/resources/beta/tunnels.d.ts.map +1 -0
  76. package/resources/beta/tunnels.js +6 -0
  77. package/resources/beta/tunnels.js.map +1 -0
  78. package/resources/beta/tunnels.mjs +3 -0
  79. package/resources/beta/tunnels.mjs.map +1 -0
  80. package/src/lib/tools/SessionToolRunner.ts +280 -36
  81. package/src/resources/beta/agents/agents.ts +1 -1
  82. package/src/resources/beta/beta.ts +73 -0
  83. package/src/resources/beta/dreams.ts +404 -0
  84. package/src/resources/beta/index.ts +32 -0
  85. package/src/resources/beta/messages/batches.ts +3 -2
  86. package/src/resources/beta/messages/messages.ts +18 -9
  87. package/src/resources/beta/tunnels/certificates.ts +252 -0
  88. package/src/resources/beta/tunnels/index.ts +23 -0
  89. package/src/resources/beta/tunnels/tunnels.ts +347 -0
  90. package/src/resources/beta/tunnels.ts +3 -0
  91. package/src/version.ts +1 -1
  92. package/version.d.mts +1 -1
  93. package/version.d.ts +1 -1
  94. package/version.js +1 -1
  95. package/version.mjs +1 -1
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- var _SessionToolRunner_instances, _SessionToolRunner_consumed, _SessionToolRunner_controller, _SessionToolRunner_detachExternal, _SessionToolRunner_requestOpts, _SessionToolRunner_toolByName, _SessionToolRunner_logger, _SessionToolRunner_seen, _SessionToolRunner_answered, _SessionToolRunner_results, _SessionToolRunner_inFlightCount, _SessionToolRunner_onIdle, _SessionToolRunner_idleTimer, _SessionToolRunner_requestOptions, _SessionToolRunner_streamLoop, _SessionToolRunner_reconcile, _SessionToolRunner_ingestHistory, _SessionToolRunner_handleStreamEvent, _SessionToolRunner_armIdleTimer, _SessionToolRunner_disarmIdleTimer, _SessionToolRunner_execute, _SessionToolRunner_sendResult, _SessionToolRunner_drain;
2
+ var _IdleClock_maxIdleMs, _IdleClock_onExpire, _IdleClock_blockers, _IdleClock_armPending, _IdleClock_timer, _SessionToolRunner_instances, _SessionToolRunner_consumed, _SessionToolRunner_controller, _SessionToolRunner_detachExternal, _SessionToolRunner_requestOpts, _SessionToolRunner_toolByName, _SessionToolRunner_logger, _SessionToolRunner_seen, _SessionToolRunner_answered, _SessionToolRunner_confirmationVerdicts, _SessionToolRunner_awaitingConfirmation, _SessionToolRunner_results, _SessionToolRunner_inFlightCount, _SessionToolRunner_onIdle, _SessionToolRunner_idleClock, _SessionToolRunner_requestOptions, _SessionToolRunner_streamLoop, _SessionToolRunner_reconcile, _SessionToolRunner_ingestHistory, _SessionToolRunner_handleStreamEvent, _SessionToolRunner_routeToolEvent, _SessionToolRunner_noteConfirmation, _SessionToolRunner_applyVerdict, _SessionToolRunner_surfaceCall, _SessionToolRunner_execute, _SessionToolRunner_sendResult, _SessionToolRunner_drain;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.SessionToolRunner = exports.DEFAULT_MAX_IDLE_MS = exports.MANAGED_AGENTS_BETA = void 0;
5
5
  const tslib_1 = require("../../internal/tslib.js");
@@ -25,6 +25,95 @@ exports.DEFAULT_MAX_IDLE_MS = 60000;
25
25
  function isEndTurnIdle(ev) {
26
26
  return ev.type === 'session.status_idle' && ev.stop_reason?.type === 'end_turn';
27
27
  }
28
+ /**
29
+ * The `maxIdleMs` stop-countdown, including its deferral. {@link noteEvent}
30
+ * arms on `session.status_idle` with `stop_reason: end_turn` and disarms on
31
+ * anything else. Gated tool work registered via {@link block} — a call held for
32
+ * user confirmation, or a user-approved call still dispatching — keeps
33
+ * {@link arm} pending until {@link unblock} retires the last blocker, at which
34
+ * point the countdown starts. Event-driven — there is no polling watchdog.
35
+ */
36
+ class IdleClock {
37
+ constructor(maxIdleMs, onExpire) {
38
+ _IdleClock_maxIdleMs.set(this, void 0);
39
+ _IdleClock_onExpire.set(this, void 0);
40
+ _IdleClock_blockers.set(this, new Set());
41
+ // Set when arm() found blockers outstanding; the unblock that retires the
42
+ // last blocker applies it. Cleared by any disarm.
43
+ _IdleClock_armPending.set(this, false);
44
+ _IdleClock_timer.set(this, void 0);
45
+ tslib_1.__classPrivateFieldSet(this, _IdleClock_maxIdleMs, maxIdleMs, "f");
46
+ tslib_1.__classPrivateFieldSet(this, _IdleClock_onExpire, onExpire, "f");
47
+ }
48
+ /**
49
+ * Arm on `status_idle{end_turn}`; disarm otherwise. `user.tool_confirmation`
50
+ * is neutral: it signals neither agent activity nor an idle, and its effect
51
+ * on the clock flows through {@link block} / {@link unblock} instead —
52
+ * disarming here would discard the pending arm the verdict is about to
53
+ * settle.
54
+ */
55
+ noteEvent(ev) {
56
+ if (ev.type === 'user.tool_confirmation')
57
+ return;
58
+ if (isEndTurnIdle(ev))
59
+ this.arm();
60
+ else
61
+ this.disarm();
62
+ }
63
+ /** Register gated work that must resolve before an idle countdown starts. */
64
+ block(toolUseId) {
65
+ tslib_1.__classPrivateFieldGet(this, _IdleClock_blockers, "f").add(toolUseId);
66
+ if (tslib_1.__classPrivateFieldGet(this, _IdleClock_timer, "f") !== undefined) {
67
+ // Defensive: every caller disarms first (any event that routes a tool
68
+ // call is itself a disarming event), but a countdown running when gated
69
+ // work appears is stale evidence — the session is not idly waiting to
70
+ // stop. Convert it into a pending arm rather than let it fire over the
71
+ // gated call.
72
+ tslib_1.__classPrivateFieldSet(this, _IdleClock_armPending, true, "f");
73
+ clearTimeout(tslib_1.__classPrivateFieldGet(this, _IdleClock_timer, "f"));
74
+ tslib_1.__classPrivateFieldSet(this, _IdleClock_timer, undefined, "f");
75
+ }
76
+ }
77
+ /**
78
+ * Retire gated work (a no-op for ids never blocked); applies a pending arm —
79
+ * with a fresh full `maxIdleMs` window — once the last blocker retires.
80
+ */
81
+ unblock(toolUseId) {
82
+ tslib_1.__classPrivateFieldGet(this, _IdleClock_blockers, "f").delete(toolUseId);
83
+ if (tslib_1.__classPrivateFieldGet(this, _IdleClock_blockers, "f").size === 0 && tslib_1.__classPrivateFieldGet(this, _IdleClock_armPending, "f"))
84
+ this.arm();
85
+ }
86
+ /**
87
+ * (Re)start the idle countdown — or, while blockers are outstanding, hold
88
+ * the arm pending instead. Stopping then would drop a held call when its
89
+ * verdict later arrives, or cut the runner off before a released call's
90
+ * result can drive the next turn.
91
+ */
92
+ arm() {
93
+ if (tslib_1.__classPrivateFieldGet(this, _IdleClock_maxIdleMs, "f") <= 0)
94
+ return;
95
+ if (tslib_1.__classPrivateFieldGet(this, _IdleClock_blockers, "f").size > 0) {
96
+ tslib_1.__classPrivateFieldSet(this, _IdleClock_armPending, true, "f");
97
+ return;
98
+ }
99
+ tslib_1.__classPrivateFieldSet(this, _IdleClock_armPending, false, "f");
100
+ if (tslib_1.__classPrivateFieldGet(this, _IdleClock_timer, "f") !== undefined)
101
+ clearTimeout(tslib_1.__classPrivateFieldGet(this, _IdleClock_timer, "f"));
102
+ tslib_1.__classPrivateFieldSet(this, _IdleClock_timer, setTimeout(tslib_1.__classPrivateFieldGet(this, _IdleClock_onExpire, "f"), tslib_1.__classPrivateFieldGet(this, _IdleClock_maxIdleMs, "f")), "f");
103
+ }
104
+ /**
105
+ * Cancel the idle countdown and any pending arm. Blockers persist — they
106
+ * track real outstanding work, retired only by {@link unblock}.
107
+ */
108
+ disarm() {
109
+ tslib_1.__classPrivateFieldSet(this, _IdleClock_armPending, false, "f");
110
+ if (tslib_1.__classPrivateFieldGet(this, _IdleClock_timer, "f") !== undefined) {
111
+ clearTimeout(tslib_1.__classPrivateFieldGet(this, _IdleClock_timer, "f"));
112
+ tslib_1.__classPrivateFieldSet(this, _IdleClock_timer, undefined, "f");
113
+ }
114
+ }
115
+ }
116
+ _IdleClock_maxIdleMs = new WeakMap(), _IdleClock_onExpire = new WeakMap(), _IdleClock_blockers = new WeakMap(), _IdleClock_armPending = new WeakMap(), _IdleClock_timer = new WeakMap();
28
117
  /**
29
118
  * The sessions-side counterpart to `client.beta.messages.toolRunner`: an
30
119
  * async-iterable that attaches to a managed-agents session, executes every
@@ -35,6 +124,18 @@ function isEndTurnIdle(ev) {
35
124
  * calls are not dispatched. Internally drives event-stream reconnect and result
36
125
  * posting.
37
126
  *
127
+ * A call the server gated with `evaluated_permission: "ask"` (the `always_ask`
128
+ * policy — or any value this SDK doesn't recognize, which fails closed) is held
129
+ * until its `user.tool_confirmation` arrives: only an explicit `allow` runs it;
130
+ * `deny` — or any verdict this SDK doesn't recognize, failing closed — is never
131
+ * executed and posts nothing (the denial resolves the call server-side), but is
132
+ * still yielded (`confirmation="deny"`, `posted=false`, `result=undefined`) so
133
+ * the consumer can observe it. A held call — and a user-approved one still
134
+ * dispatching — defers the `maxIdleMs` countdown, so an `end_turn` idle
135
+ * observed in the meantime cannot stop the runner: it waits until the verdict
136
+ * arrives, the session terminates, or the abort signal fires — pass
137
+ * `AbortSignal.timeout(...)` for a wall-clock bound.
138
+ *
38
139
  * Iteration ends when the session terminates (`session.status_terminated` /
39
140
  * `session.deleted`), when the consumer `break`s out of the loop or aborts the
40
141
  * supplied signal, or — once the session has gone idle with
@@ -67,12 +168,19 @@ class SessionToolRunner {
67
168
  _SessionToolRunner_logger.set(this, void 0);
68
169
  _SessionToolRunner_seen.set(this, new Set());
69
170
  _SessionToolRunner_answered.set(this, new Set());
171
+ // Confirmation gating (`always_ask` tools): `#confirmationVerdicts` records
172
+ // every `user.tool_confirmation` verdict by `tool_use_id`;
173
+ // `#awaitingConfirmation` holds the tool-call events whose
174
+ // `evaluated_permission` is `ask` and whose verdict has not arrived —
175
+ // released (or resolved as denied) by `#noteConfirmation` / the next
176
+ // reconcile pass. Like `#seen` and `#answered`, `#confirmationVerdicts` is
177
+ // per-session O(tool calls): recorded verdicts persist for the life of the run.
178
+ _SessionToolRunner_confirmationVerdicts.set(this, new Map());
179
+ _SessionToolRunner_awaitingConfirmation.set(this, new Map());
70
180
  _SessionToolRunner_results.set(this, new async_queue_1.AsyncQueue());
71
181
  _SessionToolRunner_inFlightCount.set(this, 0);
72
182
  _SessionToolRunner_onIdle.set(this, null);
73
- // When the session is idle past an `end_turn`, the pending stop timer; cleared
74
- // by any new event. Event-driven — there is no polling watchdog.
75
- _SessionToolRunner_idleTimer.set(this, void 0);
183
+ _SessionToolRunner_idleClock.set(this, void 0);
76
184
  this.client = opts.client;
77
185
  this.sessionId = sessionId;
78
186
  this.tools = opts.tools;
@@ -82,6 +190,14 @@ class SessionToolRunner {
82
190
  tslib_1.__classPrivateFieldSet(this, _SessionToolRunner_controller, new AbortController(), "f");
83
191
  tslib_1.__classPrivateFieldSet(this, _SessionToolRunner_detachExternal, (0, abort_1.linkAbort)(opts.signal, tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_controller, "f")), "f");
84
192
  tslib_1.__classPrivateFieldSet(this, _SessionToolRunner_requestOpts, opts.requestOptions, "f");
193
+ tslib_1.__classPrivateFieldSet(this, _SessionToolRunner_idleClock, new IdleClock(this.maxIdleMs, () => {
194
+ tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_logger, "f").info('session idle after end_turn; stopping', {
195
+ component: 'session-tool-runner',
196
+ session_id: this.sessionId,
197
+ max_idle_ms: this.maxIdleMs,
198
+ });
199
+ tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_controller, "f").abort();
200
+ }), "f");
85
201
  }
86
202
  /** Read-only view of this runner's abort signal. */
87
203
  get signal() {
@@ -91,7 +207,7 @@ class SessionToolRunner {
91
207
  abort() {
92
208
  tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_controller, "f").abort();
93
209
  }
94
- async *[(_SessionToolRunner_consumed = new WeakMap(), _SessionToolRunner_controller = new WeakMap(), _SessionToolRunner_detachExternal = new WeakMap(), _SessionToolRunner_requestOpts = new WeakMap(), _SessionToolRunner_toolByName = new WeakMap(), _SessionToolRunner_logger = new WeakMap(), _SessionToolRunner_seen = new WeakMap(), _SessionToolRunner_answered = new WeakMap(), _SessionToolRunner_results = new WeakMap(), _SessionToolRunner_inFlightCount = new WeakMap(), _SessionToolRunner_onIdle = new WeakMap(), _SessionToolRunner_idleTimer = new WeakMap(), _SessionToolRunner_instances = new WeakSet(), Symbol.asyncIterator)]() {
210
+ async *[(_SessionToolRunner_consumed = new WeakMap(), _SessionToolRunner_controller = new WeakMap(), _SessionToolRunner_detachExternal = new WeakMap(), _SessionToolRunner_requestOpts = new WeakMap(), _SessionToolRunner_toolByName = new WeakMap(), _SessionToolRunner_logger = new WeakMap(), _SessionToolRunner_seen = new WeakMap(), _SessionToolRunner_answered = new WeakMap(), _SessionToolRunner_confirmationVerdicts = new WeakMap(), _SessionToolRunner_awaitingConfirmation = new WeakMap(), _SessionToolRunner_results = new WeakMap(), _SessionToolRunner_inFlightCount = new WeakMap(), _SessionToolRunner_onIdle = new WeakMap(), _SessionToolRunner_idleClock = new WeakMap(), _SessionToolRunner_instances = new WeakSet(), Symbol.asyncIterator)]() {
95
211
  if (tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_consumed, "f")) {
96
212
  throw new error_1.AnthropicError('Cannot iterate over a consumed SessionToolRunner');
97
213
  }
@@ -128,7 +244,7 @@ class SessionToolRunner {
128
244
  }
129
245
  finally {
130
246
  tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_controller, "f").abort();
131
- tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_instances, "m", _SessionToolRunner_disarmIdleTimer).call(this);
247
+ tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_idleClock, "f").disarm();
132
248
  // Re-await defensively in case the consumer broke out of phase 1 before
133
249
  // phase 2 ran — a no-op if it already settled.
134
250
  await streamPromise;
@@ -229,15 +345,31 @@ async function _SessionToolRunner_reconcile() {
229
345
  return;
230
346
  }
231
347
  const unanswered = pending.filter((ev) => !tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_answered, "f").has(ev.id));
232
- // If the most recent event in history is an `end_turn` idle and there's no
233
- // outstanding tool work, the session is done arm the idle timer so the
234
- // runner stops even if that `end_turn` arrived during a disconnect.
235
- if (lastWasEndTurn && unanswered.length === 0)
236
- tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_instances, "m", _SessionToolRunner_armIdleTimer).call(this);
237
- else
238
- tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_instances, "m", _SessionToolRunner_disarmIdleTimer).call(this);
348
+ // Disarm before routing: `#execute` runs inline here, so a timer left armed
349
+ // from before the reconnect could fire over an in-flight tool.
350
+ tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_idleClock, "f").disarm();
239
351
  for (const ev of unanswered)
240
- await tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_instances, "m", _SessionToolRunner_execute).call(this, ev);
352
+ await tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_instances, "m", _SessionToolRunner_routeToolEvent).call(this, ev);
353
+ // A held call's verdict is normally applied by the routing pass above; if
354
+ // its tool_use fell outside the listed window the pass never saw it, so
355
+ // apply the verdict to the held copy here.
356
+ for (const held of [...tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_awaitingConfirmation, "f").values()]) {
357
+ const verdict = tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_confirmationVerdicts, "f").get(held.id);
358
+ if (verdict !== undefined)
359
+ await tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_instances, "m", _SessionToolRunner_applyVerdict).call(this, held, verdict);
360
+ }
361
+ // Routing resolves denied calls in place (marking them answered) and holds
362
+ // ask-gated calls for their `user.tool_confirmation`. If the most recent
363
+ // event in history is an `end_turn` idle and no tool work is outstanding,
364
+ // the session is done — arm the idle clock so the runner stops even if that
365
+ // `end_turn` arrived during a disconnect. A held call is not outstanding
366
+ // here: it blocks the clock, so this arm stays pending until the verdict
367
+ // (and, for an allow, the dispatch it releases) resolves it.
368
+ const outstanding = unanswered.filter((ev) => !tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_answered, "f").has(ev.id) && !tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_awaitingConfirmation, "f").has(ev.id));
369
+ if (lastWasEndTurn && outstanding.length === 0)
370
+ tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_idleClock, "f").arm();
371
+ else
372
+ tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_idleClock, "f").disarm();
241
373
  }, _SessionToolRunner_ingestHistory = function _SessionToolRunner_ingestHistory(ev, pending) {
242
374
  if (ev.type === 'agent.tool_use' || ev.type === 'agent.custom_tool_use') {
243
375
  // Mark the event seen so a replay on the live stream is not dispatched
@@ -254,23 +386,29 @@ async function _SessionToolRunner_reconcile() {
254
386
  else if (ev.type === 'user.custom_tool_result') {
255
387
  tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_answered, "f").add(ev.custom_tool_use_id);
256
388
  }
389
+ else if (ev.type === 'user.tool_confirmation') {
390
+ // Record the verdict only, before the pending pass, so a call whose
391
+ // confirmation appears later in the same history routes with its verdict
392
+ // already known. Releasing a held call here as well would dispatch it a
393
+ // second time when the routing pass reaches its tool_use event.
394
+ if (!tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_answered, "f").has(ev.tool_use_id))
395
+ tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_confirmationVerdicts, "f").set(ev.tool_use_id, ev.result);
396
+ }
257
397
  }, _SessionToolRunner_handleStreamEvent =
258
398
  /** Returns true when the runner should exit. */
259
399
  async function _SessionToolRunner_handleStreamEvent(ev) {
260
- // Arm/disarm the idle timer: an `end_turn` idle starts the grace countdown;
261
- // any other event cancels it.
262
- if (isEndTurnIdle(ev))
263
- tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_instances, "m", _SessionToolRunner_armIdleTimer).call(this);
264
- else
265
- tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_instances, "m", _SessionToolRunner_disarmIdleTimer).call(this);
400
+ tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_idleClock, "f").noteEvent(ev);
266
401
  switch (ev.type) {
267
402
  case 'agent.tool_use':
268
403
  case 'agent.custom_tool_use':
269
404
  if (!tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_seen, "f").has(ev.id)) {
270
405
  tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_seen, "f").add(ev.id);
271
- await tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_instances, "m", _SessionToolRunner_execute).call(this, ev);
406
+ await tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_instances, "m", _SessionToolRunner_routeToolEvent).call(this, ev);
272
407
  }
273
408
  return false;
409
+ case 'user.tool_confirmation':
410
+ await tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_instances, "m", _SessionToolRunner_noteConfirmation).call(this, ev);
411
+ return false;
274
412
  case 'user.tool_result':
275
413
  tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_answered, "f").add(ev.tool_use_id);
276
414
  return false;
@@ -288,26 +426,109 @@ async function _SessionToolRunner_handleStreamEvent(ev) {
288
426
  default:
289
427
  return false;
290
428
  }
291
- }, _SessionToolRunner_armIdleTimer = function _SessionToolRunner_armIdleTimer() {
292
- tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_instances, "m", _SessionToolRunner_disarmIdleTimer).call(this);
293
- if (this.maxIdleMs <= 0)
429
+ }, _SessionToolRunner_routeToolEvent =
430
+ // ===== confirmation gating (always_ask tools) =====
431
+ /**
432
+ * Dispatch `ev`, honoring its evaluated permission. A call the server gated
433
+ * (`evaluated_permission == "ask"`) is held until its `user.tool_confirmation`
434
+ * arrives. Fails closed: only an explicit `allow` verdict releases a gated
435
+ * call; a server-side `deny` overrides any recorded verdict; an unrecognized
436
+ * permission is held like `ask` and an unrecognized verdict is denied.
437
+ */
438
+ async function _SessionToolRunner_routeToolEvent(ev) {
439
+ // `getattr`-style read: today only `agent.tool_use` carries
440
+ // `evaluated_permission`, but if it ever lands on `agent.custom_tool_use`
441
+ // the gate must keep failing closed rather than dispatch by event type.
442
+ const permission = ev.evaluated_permission;
443
+ // A server-side `deny` overrides any (stray) recorded verdict.
444
+ const verdict = permission === 'deny' ? 'deny' : tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_confirmationVerdicts, "f").get(ev.id);
445
+ if (verdict === undefined) {
446
+ if (permission === undefined || permission === 'allow') {
447
+ await tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_instances, "m", _SessionToolRunner_execute).call(this, ev, undefined);
448
+ }
449
+ else if (!tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_awaitingConfirmation, "f").has(ev.id)) {
450
+ // "ask" — or a permission this SDK does not recognize, which must not
451
+ // dispatch unconfirmed — waits for the user's verdict. (Already-held: a
452
+ // reconcile after reconnect re-routes the call; keep the existing hold.)
453
+ tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_logger, "f").info('tool call awaiting confirmation; holding', {
454
+ component: 'session-tool-runner',
455
+ session_id: this.sessionId,
456
+ tool: ev.name,
457
+ tool_use_id: ev.id,
458
+ });
459
+ tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_awaitingConfirmation, "f").set(ev.id, ev);
460
+ tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_idleClock, "f").block(ev.id);
461
+ }
462
+ return;
463
+ }
464
+ await tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_instances, "m", _SessionToolRunner_applyVerdict).call(this, ev, verdict);
465
+ }, _SessionToolRunner_noteConfirmation =
466
+ /** Record an allow/deny verdict and release the held call it gates, if any. */
467
+ async function _SessionToolRunner_noteConfirmation(ev) {
468
+ tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_confirmationVerdicts, "f").set(ev.tool_use_id, ev.result);
469
+ const held = tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_awaitingConfirmation, "f").get(ev.tool_use_id);
470
+ // Nothing held: the verdict gates a call this runner has not seen yet (or
471
+ // one it never gates, e.g. an `agent.mcp_tool_use`). Keeping it in
472
+ // `#confirmationVerdicts` lets a later route of that call resolve instantly.
473
+ if (held === undefined)
294
474
  return;
295
- tslib_1.__classPrivateFieldSet(this, _SessionToolRunner_idleTimer, setTimeout(() => {
296
- tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_logger, "f").info('session idle after end_turn; stopping', {
475
+ await tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_instances, "m", _SessionToolRunner_applyVerdict).call(this, held, ev.result);
476
+ }, _SessionToolRunner_applyVerdict =
477
+ /**
478
+ * Dispatch or resolve a gated call according to its verdict.
479
+ *
480
+ * The idle-clock blocker accounting lives here: a denial retires the held
481
+ * call's blocker, while an allow keeps one on the call — taking it now if the
482
+ * verdict was already known when the call was routed, so it was never held —
483
+ * until `#execute` has finished with it. The countdown must not run over
484
+ * gated work that is still in flight.
485
+ */
486
+ async function _SessionToolRunner_applyVerdict(ev, verdict) {
487
+ const wasHeld = tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_awaitingConfirmation, "f").delete(ev.id);
488
+ if (verdict === 'allow') {
489
+ tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_logger, "f").info('tool call confirmed', {
297
490
  component: 'session-tool-runner',
298
491
  session_id: this.sessionId,
299
- max_idle_ms: this.maxIdleMs,
492
+ tool: ev.name,
493
+ tool_use_id: ev.id,
300
494
  });
301
- tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_controller, "f").abort();
302
- }, this.maxIdleMs), "f");
303
- }, _SessionToolRunner_disarmIdleTimer = function _SessionToolRunner_disarmIdleTimer() {
304
- if (tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_idleTimer, "f") !== undefined) {
305
- clearTimeout(tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_idleTimer, "f"));
306
- tslib_1.__classPrivateFieldSet(this, _SessionToolRunner_idleTimer, undefined, "f");
495
+ if (!wasHeld)
496
+ tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_idleClock, "f").block(ev.id);
497
+ try {
498
+ await tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_instances, "m", _SessionToolRunner_execute).call(this, ev, 'allow');
499
+ }
500
+ finally {
501
+ // The approved call is fully disposed of (executed, or moot because it
502
+ // was answered elsewhere) — the sole place an allow's blocker retires.
503
+ tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_idleClock, "f").unblock(ev.id);
504
+ }
505
+ return;
307
506
  }
507
+ // "deny" — or any value other than an explicit "allow" (fail closed). The
508
+ // denial resolves the call server-side, so mark it answered and yield it
509
+ // (nothing ran, nothing posted).
510
+ if (wasHeld)
511
+ tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_idleClock, "f").unblock(ev.id);
512
+ tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_answered, "f").add(ev.id);
513
+ tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_logger, "f").info('tool call denied; not executing', {
514
+ component: 'session-tool-runner',
515
+ session_id: this.sessionId,
516
+ tool: ev.name,
517
+ tool_use_id: ev.id,
518
+ });
519
+ tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_instances, "m", _SessionToolRunner_surfaceCall).call(this, {
520
+ event: ev,
521
+ toolUseId: ev.id,
522
+ name: ev.name,
523
+ isError: false,
524
+ posted: false,
525
+ confirmation: 'deny',
526
+ });
527
+ }, _SessionToolRunner_surfaceCall = function _SessionToolRunner_surfaceCall(call) {
528
+ tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_results, "f").push(call);
308
529
  }, _SessionToolRunner_execute =
309
530
  // ===== tool execution =====
310
- async function _SessionToolRunner_execute(ev) {
531
+ async function _SessionToolRunner_execute(ev, confirmation) {
311
532
  var _a, _b;
312
533
  if (tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_answered, "f").has(ev.id))
313
534
  return;
@@ -337,7 +558,14 @@ async function _SessionToolRunner_execute(ev) {
337
558
  tool: ev.name,
338
559
  tool_use_id: ev.id,
339
560
  });
340
- tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_results, "f").push({ event: ev, toolUseId: ev.id, name: ev.name, isError: false, posted: false });
561
+ tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_instances, "m", _SessionToolRunner_surfaceCall).call(this, {
562
+ event: ev,
563
+ toolUseId: ev.id,
564
+ name: ev.name,
565
+ isError: false,
566
+ posted: false,
567
+ confirmation,
568
+ });
341
569
  return;
342
570
  }
343
571
  let content;
@@ -370,13 +598,14 @@ async function _SessionToolRunner_execute(ev) {
370
598
  // unanswered and the session stuck.
371
599
  const result = buildResultEvent(ev, isError, toSessionContent(content));
372
600
  const posted = await tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_instances, "m", _SessionToolRunner_sendResult).call(this, result, ev.id);
373
- tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_results, "f").push({
601
+ tslib_1.__classPrivateFieldGet(this, _SessionToolRunner_instances, "m", _SessionToolRunner_surfaceCall).call(this, {
374
602
  event: ev,
375
603
  result,
376
604
  toolUseId: ev.id,
377
605
  name: ev.name,
378
606
  isError,
379
607
  posted,
608
+ confirmation,
380
609
  });
381
610
  }
382
611
  finally {
@@ -1 +1 @@
1
- {"version":3,"file":"SessionToolRunner.js","sourceRoot":"","sources":["../../src/lib/tools/SessionToolRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SessionToolRunner.js","sourceRoot":"","sources":["../../src/lib/tools/SessionToolRunner.ts"],"names":[],"mappings":"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"}