@anthropic-ai/sdk 0.117.1 → 0.119.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 +36 -0
- package/client.d.mts +8 -2
- package/client.d.mts.map +1 -1
- package/client.d.ts +8 -2
- package/client.d.ts.map +1 -1
- package/client.js +7 -1
- package/client.js.map +1 -1
- package/client.mjs +7 -1
- package/client.mjs.map +1 -1
- package/core/api-promise.d.mts +1 -0
- package/core/api-promise.d.mts.map +1 -1
- package/core/api-promise.d.ts +1 -0
- package/core/api-promise.d.ts.map +1 -1
- package/core/api-promise.js +7 -2
- package/core/api-promise.js.map +1 -1
- package/core/api-promise.mjs +8 -3
- package/core/api-promise.mjs.map +1 -1
- package/core/error.d.mts +1 -0
- package/core/error.d.mts.map +1 -1
- package/core/error.d.ts +1 -0
- package/core/error.d.ts.map +1 -1
- package/core/error.js +1 -0
- package/core/error.js.map +1 -1
- package/core/error.mjs +1 -0
- package/core/error.mjs.map +1 -1
- package/core/middleware.js +1 -1
- package/core/middleware.js.map +1 -1
- package/core/middleware.mjs +2 -2
- package/core/middleware.mjs.map +1 -1
- package/helpers/beta/zod.d.mts.map +1 -1
- package/helpers/beta/zod.d.ts.map +1 -1
- package/helpers/beta/zod.js +1 -2
- package/helpers/beta/zod.js.map +1 -1
- package/helpers/beta/zod.mjs +1 -2
- package/helpers/beta/zod.mjs.map +1 -1
- package/helpers/zod.d.mts.map +1 -1
- package/helpers/zod.d.ts.map +1 -1
- package/helpers/zod.js +1 -2
- package/helpers/zod.js.map +1 -1
- package/helpers/zod.mjs +1 -2
- package/helpers/zod.mjs.map +1 -1
- package/internal/parse.d.mts +2 -1
- package/internal/parse.d.mts.map +1 -1
- package/internal/parse.d.ts +2 -1
- package/internal/parse.d.ts.map +1 -1
- package/internal/parse.js +6 -6
- package/internal/parse.js.map +1 -1
- package/internal/parse.mjs +5 -5
- package/internal/parse.mjs.map +1 -1
- package/lib/BetaMessageStream.d.mts +2 -0
- package/lib/BetaMessageStream.d.mts.map +1 -1
- package/lib/BetaMessageStream.d.ts +2 -0
- package/lib/BetaMessageStream.d.ts.map +1 -1
- package/lib/BetaMessageStream.js +8 -2
- package/lib/BetaMessageStream.js.map +1 -1
- package/lib/BetaMessageStream.mjs +8 -2
- package/lib/BetaMessageStream.mjs.map +1 -1
- package/lib/MessageStream.d.mts +2 -0
- package/lib/MessageStream.d.mts.map +1 -1
- package/lib/MessageStream.d.ts +2 -0
- package/lib/MessageStream.d.ts.map +1 -1
- package/lib/MessageStream.js +8 -2
- package/lib/MessageStream.js.map +1 -1
- package/lib/MessageStream.mjs +8 -2
- package/lib/MessageStream.mjs.map +1 -1
- package/lib/environments/worker.d.mts +10 -6
- package/lib/environments/worker.d.mts.map +1 -1
- package/lib/environments/worker.d.ts +10 -6
- package/lib/environments/worker.d.ts.map +1 -1
- package/lib/environments/worker.js +22 -15
- package/lib/environments/worker.js.map +1 -1
- package/lib/environments/worker.mjs +22 -15
- package/lib/environments/worker.mjs.map +1 -1
- package/lib/tools/BetaRunnableTool.d.mts +21 -40
- package/lib/tools/BetaRunnableTool.d.mts.map +1 -1
- package/lib/tools/BetaRunnableTool.d.ts +21 -40
- package/lib/tools/BetaRunnableTool.d.ts.map +1 -1
- package/lib/tools/BetaRunnableTool.js +7 -16
- package/lib/tools/BetaRunnableTool.js.map +1 -1
- package/lib/tools/BetaRunnableTool.mjs +7 -16
- package/lib/tools/BetaRunnableTool.mjs.map +1 -1
- package/lib/tools/BetaToolRunner.d.mts.map +1 -1
- package/lib/tools/BetaToolRunner.d.ts.map +1 -1
- package/lib/tools/BetaToolRunner.js +3 -13
- package/lib/tools/BetaToolRunner.js.map +1 -1
- package/lib/tools/BetaToolRunner.mjs +3 -13
- package/lib/tools/BetaToolRunner.mjs.map +1 -1
- package/lib/tools/SessionToolRunner.d.mts +6 -0
- package/lib/tools/SessionToolRunner.d.mts.map +1 -1
- package/lib/tools/SessionToolRunner.d.ts +6 -0
- package/lib/tools/SessionToolRunner.d.ts.map +1 -1
- package/lib/tools/SessionToolRunner.js +37 -8
- package/lib/tools/SessionToolRunner.js.map +1 -1
- package/lib/tools/SessionToolRunner.mjs +38 -9
- package/lib/tools/SessionToolRunner.mjs.map +1 -1
- package/package.json +1 -1
- package/resources/beta/agents/agents.d.mts +3 -3
- package/resources/beta/agents/agents.d.ts +3 -3
- package/resources/beta/agents/agents.js +1 -1
- package/resources/beta/agents/agents.mjs +1 -1
- package/resources/beta/beta.d.mts +5 -5
- package/resources/beta/beta.d.mts.map +1 -1
- package/resources/beta/beta.d.ts +5 -5
- package/resources/beta/beta.d.ts.map +1 -1
- package/resources/beta/beta.js.map +1 -1
- package/resources/beta/beta.mjs.map +1 -1
- package/resources/beta/dreams.d.mts +2 -2
- package/resources/beta/dreams.d.ts +2 -2
- package/resources/beta/environments/environments.d.mts +4 -3
- package/resources/beta/environments/environments.d.mts.map +1 -1
- package/resources/beta/environments/environments.d.ts +4 -3
- package/resources/beta/environments/environments.d.ts.map +1 -1
- package/resources/beta/environments/environments.js.map +1 -1
- package/resources/beta/environments/environments.mjs.map +1 -1
- package/resources/beta/files.d.mts +22 -22
- package/resources/beta/files.d.mts.map +1 -1
- package/resources/beta/files.d.ts +22 -22
- package/resources/beta/files.d.ts.map +1 -1
- package/resources/beta/files.js +4 -4
- package/resources/beta/files.js.map +1 -1
- package/resources/beta/files.mjs +4 -4
- package/resources/beta/files.mjs.map +1 -1
- package/resources/beta/index.d.mts +2 -2
- package/resources/beta/index.d.mts.map +1 -1
- package/resources/beta/index.d.ts +2 -2
- package/resources/beta/index.d.ts.map +1 -1
- package/resources/beta/index.js.map +1 -1
- package/resources/beta/index.mjs.map +1 -1
- package/resources/beta/memory-stores/index.d.mts +1 -1
- package/resources/beta/memory-stores/index.d.mts.map +1 -1
- package/resources/beta/memory-stores/index.d.ts +1 -1
- package/resources/beta/memory-stores/index.d.ts.map +1 -1
- package/resources/beta/memory-stores/index.js.map +1 -1
- package/resources/beta/memory-stores/index.mjs.map +1 -1
- package/resources/beta/memory-stores/memory-stores.d.mts +2 -2
- package/resources/beta/memory-stores/memory-stores.d.mts.map +1 -1
- package/resources/beta/memory-stores/memory-stores.d.ts +2 -2
- package/resources/beta/memory-stores/memory-stores.d.ts.map +1 -1
- package/resources/beta/memory-stores/memory-stores.js.map +1 -1
- package/resources/beta/memory-stores/memory-stores.mjs.map +1 -1
- package/resources/beta/memory-stores/memory-versions.d.mts +17 -2
- package/resources/beta/memory-stores/memory-versions.d.mts.map +1 -1
- package/resources/beta/memory-stores/memory-versions.d.ts +17 -2
- package/resources/beta/memory-stores/memory-versions.d.ts.map +1 -1
- package/resources/beta/messages/batches.d.mts +1 -1
- package/resources/beta/messages/batches.d.ts +1 -1
- package/resources/beta/messages/batches.js +1 -1
- package/resources/beta/messages/batches.mjs +1 -1
- package/resources/beta/messages/index.d.mts +1 -1
- package/resources/beta/messages/index.d.mts.map +1 -1
- package/resources/beta/messages/index.d.ts +1 -1
- package/resources/beta/messages/index.d.ts.map +1 -1
- package/resources/beta/messages/index.js.map +1 -1
- package/resources/beta/messages/index.mjs.map +1 -1
- package/resources/beta/messages/messages.d.mts +1204 -25
- package/resources/beta/messages/messages.d.mts.map +1 -1
- package/resources/beta/messages/messages.d.ts +1204 -25
- package/resources/beta/messages/messages.d.ts.map +1 -1
- package/resources/beta/messages/messages.js +1 -1
- package/resources/beta/messages/messages.js.map +1 -1
- package/resources/beta/messages/messages.mjs +1 -1
- package/resources/beta/messages/messages.mjs.map +1 -1
- package/resources/beta/sessions/sessions.d.mts +1 -1
- package/resources/beta/sessions/sessions.d.ts +1 -1
- package/resources/beta/user-profiles.d.mts +35 -9
- package/resources/beta/user-profiles.d.mts.map +1 -1
- package/resources/beta/user-profiles.d.ts +35 -9
- package/resources/beta/user-profiles.d.ts.map +1 -1
- package/resources/beta/user-profiles.js +5 -5
- package/resources/beta/user-profiles.mjs +5 -5
- package/resources/files.d.mts +105 -0
- package/resources/files.d.mts.map +1 -0
- package/resources/files.d.ts +105 -0
- package/resources/files.d.ts.map +1 -0
- package/resources/files.js +52 -0
- package/resources/files.js.map +1 -0
- package/resources/files.mjs +48 -0
- package/resources/files.mjs.map +1 -0
- package/resources/index.d.mts +3 -1
- package/resources/index.d.mts.map +1 -1
- package/resources/index.d.ts +3 -1
- package/resources/index.d.ts.map +1 -1
- package/resources/index.js +5 -1
- package/resources/index.js.map +1 -1
- package/resources/index.mjs +2 -0
- package/resources/index.mjs.map +1 -1
- package/resources/messages/batches.d.mts +1 -1
- package/resources/messages/batches.d.ts +1 -1
- package/resources/messages/batches.js +1 -1
- package/resources/messages/batches.mjs +1 -1
- package/resources/messages/index.d.mts +1 -1
- package/resources/messages/index.d.mts.map +1 -1
- package/resources/messages/index.d.ts +1 -1
- package/resources/messages/index.d.ts.map +1 -1
- package/resources/messages/index.js.map +1 -1
- package/resources/messages/index.mjs.map +1 -1
- package/resources/messages/messages.d.mts +1270 -28
- package/resources/messages/messages.d.mts.map +1 -1
- package/resources/messages/messages.d.ts +1270 -28
- package/resources/messages/messages.d.ts.map +1 -1
- package/resources/messages/messages.js +1 -1
- package/resources/messages/messages.js.map +1 -1
- package/resources/messages/messages.mjs +1 -1
- package/resources/messages/messages.mjs.map +1 -1
- package/resources/skills/index.d.mts +3 -0
- package/resources/skills/index.d.mts.map +1 -0
- package/resources/skills/index.d.ts +3 -0
- package/resources/skills/index.d.ts.map +1 -0
- package/resources/skills/index.js +9 -0
- package/resources/skills/index.js.map +1 -0
- package/resources/skills/index.mjs +4 -0
- package/resources/skills/index.mjs.map +1 -0
- package/resources/skills/skills.d.mts +129 -0
- package/resources/skills/skills.d.mts.map +1 -0
- package/resources/skills/skills.d.ts +129 -0
- package/resources/skills/skills.d.ts.map +1 -0
- package/resources/skills/skills.js +44 -0
- package/resources/skills/skills.js.map +1 -0
- package/resources/skills/skills.mjs +39 -0
- package/resources/skills/skills.mjs.map +1 -0
- package/resources/skills/versions.d.mts +104 -0
- package/resources/skills/versions.d.mts.map +1 -0
- package/resources/skills/versions.d.ts +104 -0
- package/resources/skills/versions.d.ts.map +1 -0
- package/resources/skills/versions.js +41 -0
- package/resources/skills/versions.js.map +1 -0
- package/resources/skills/versions.mjs +37 -0
- package/resources/skills/versions.mjs.map +1 -0
- package/resources/skills.d.mts +2 -0
- package/resources/skills.d.mts.map +1 -0
- package/resources/skills.d.ts +2 -0
- package/resources/skills.d.ts.map +1 -0
- package/resources/skills.js +6 -0
- package/resources/skills.js.map +1 -0
- package/resources/skills.mjs +3 -0
- package/resources/skills.mjs.map +1 -0
- package/src/client.ts +173 -3
- package/src/core/api-promise.ts +14 -4
- package/src/core/error.ts +2 -0
- package/src/core/middleware.ts +2 -2
- package/src/helpers/beta/zod.ts +1 -3
- package/src/helpers/zod.ts +1 -3
- package/src/internal/parse.ts +6 -6
- package/src/lib/BetaMessageStream.ts +8 -0
- package/src/lib/MessageStream.ts +8 -0
- package/src/lib/environments/worker.ts +28 -14
- package/src/lib/tools/BetaRunnableTool.ts +26 -43
- package/src/lib/tools/BetaToolRunner.ts +6 -13
- package/src/lib/tools/SessionToolRunner.ts +39 -6
- package/src/resources/beta/agents/agents.ts +3 -3
- package/src/resources/beta/beta.ts +127 -8
- package/src/resources/beta/dreams.ts +2 -2
- package/src/resources/beta/environments/environments.ts +4 -3
- package/src/resources/beta/files.ts +27 -27
- package/src/resources/beta/index.ts +63 -4
- package/src/resources/beta/memory-stores/index.ts +1 -0
- package/src/resources/beta/memory-stores/memory-stores.ts +2 -0
- package/src/resources/beta/memory-stores/memory-versions.ts +21 -1
- package/src/resources/beta/messages/batches.ts +1 -1
- package/src/resources/beta/messages/index.ts +60 -1
- package/src/resources/beta/messages/messages.ts +1862 -435
- package/src/resources/beta/sessions/sessions.ts +1 -1
- package/src/resources/beta/user-profiles.ts +44 -15
- package/src/resources/files.ts +163 -0
- package/src/resources/index.ts +83 -1
- package/src/resources/messages/batches.ts +1 -1
- package/src/resources/messages/index.ts +66 -1
- package/src/resources/messages/messages.ts +1830 -320
- package/src/resources/skills/index.ts +21 -0
- package/src/resources/skills/skills.ts +194 -0
- package/src/resources/skills/versions.ts +160 -0
- package/src/resources/skills.ts +3 -0
- package/src/version.ts +1 -1
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
|
@@ -23,10 +23,10 @@ const NO_HEARTBEAT_SENTINEL = 'NO_HEARTBEAT';
|
|
|
23
23
|
* For each claimed `session` work item it: builds the per-session
|
|
24
24
|
* {@link AgentToolContext}, downloads the session agent's skills
|
|
25
25
|
* (`setupSkills`), then runs a {@link SessionToolRunner} for the session
|
|
26
|
-
*
|
|
27
|
-
* the work item, cleans up the downloaded skills, and loops to the
|
|
28
|
-
* lease heartbeat reports `state === "stopping"` / a lost lease
|
|
29
|
-
* by aborting the session runner.
|
|
26
|
+
* while heartbeating the work-item lease on the same event loop; on exit it
|
|
27
|
+
* force-stops the work item, cleans up the downloaded skills, and loops to the
|
|
28
|
+
* next one. The lease heartbeat reports `state === "stopping"` / a lost lease
|
|
29
|
+
* back into the run by aborting the session runner.
|
|
30
30
|
*
|
|
31
31
|
* Use {@link EnvironmentWorker.handleItem} if you already hold a claimed work
|
|
32
32
|
* item (e.g. a `worker poll --on-work` script handed one to a fresh process) and
|
|
@@ -94,8 +94,8 @@ class EnvironmentWorker {
|
|
|
94
94
|
* per-session {@link AgentToolContext} (workdir from this worker's options),
|
|
95
95
|
* download the session agent's skills (`setupSkills`), run a
|
|
96
96
|
* {@link SessionToolRunner} for the session while heartbeating the work-item
|
|
97
|
-
* lease
|
|
98
|
-
*
|
|
97
|
+
* lease, and force-stop the work item on exit (whether the runner finishes
|
|
98
|
+
* normally, throws, or the heartbeat loop signals shutdown).
|
|
99
99
|
*
|
|
100
100
|
* Use this when something else does the claiming — e.g. a `worker poll
|
|
101
101
|
* --on-work` script that hands an already-claimed item to a fresh process. The
|
|
@@ -178,19 +178,23 @@ async function _EnvironmentWorker_handleItem(work, environmentKey, externalSigna
|
|
|
178
178
|
// session runner finishes, or when the lease heartbeat says to stop.
|
|
179
179
|
const ctrl = new AbortController();
|
|
180
180
|
const detachExternal = (0, abort_1.linkAbort)(externalSignal, ctrl);
|
|
181
|
-
|
|
181
|
+
// Inert until iterated below.
|
|
182
|
+
const runner = new SessionToolRunner_1.SessionToolRunner(sessionId, {
|
|
183
|
+
client: sessionClient,
|
|
184
|
+
tools,
|
|
185
|
+
...(this.maxIdleMs !== undefined ? { maxIdleMs: this.maxIdleMs } : {}),
|
|
186
|
+
...(this.requestOptions !== undefined ? { requestOptions: this.requestOptions } : {}),
|
|
187
|
+
signal: ctrl.signal,
|
|
188
|
+
});
|
|
189
|
+
// Each heartbeat reports the lease TTL the server is enforcing; it becomes
|
|
190
|
+
// the runner's tool-result send retry window so a send keeps retrying
|
|
191
|
+
// exactly as long as the lease could still be live.
|
|
192
|
+
const heartbeatPromise = heartbeatLoop(sessionClient, work, ctrl, log, this.requestOptions, (ttlMs) => runner._setSendRetryWindow(ttlMs)).catch((e) => {
|
|
182
193
|
if (!ctrl.signal.aborted)
|
|
183
194
|
log.error('heartbeat loop failed', { work_id: work.id, error: String(e) });
|
|
184
195
|
ctrl.abort();
|
|
185
196
|
});
|
|
186
197
|
try {
|
|
187
|
-
const runner = new SessionToolRunner_1.SessionToolRunner(sessionId, {
|
|
188
|
-
client: sessionClient,
|
|
189
|
-
tools,
|
|
190
|
-
...(this.maxIdleMs !== undefined ? { maxIdleMs: this.maxIdleMs } : {}),
|
|
191
|
-
...(this.requestOptions !== undefined ? { requestOptions: this.requestOptions } : {}),
|
|
192
|
-
signal: ctrl.signal,
|
|
193
|
-
});
|
|
194
198
|
for await (const _ of runner) {
|
|
195
199
|
// Drive the runner to completion; per-call observability is not part
|
|
196
200
|
// of this composition's surface — use `SessionToolRunner` directly
|
|
@@ -230,7 +234,9 @@ async function forceStop(client, work, log, requestOptions) {
|
|
|
230
234
|
* lost). Each heartbeat call is cut off after the current beat interval so a
|
|
231
235
|
* hung request cannot outlive the lease it is meant to renew.
|
|
232
236
|
*/
|
|
233
|
-
async function heartbeatLoop(client, work, ctrl, logger, requestOptions
|
|
237
|
+
async function heartbeatLoop(client, work, ctrl, logger, requestOptions,
|
|
238
|
+
/** Called with the server-reported lease TTL after every successful beat. */
|
|
239
|
+
onLeaseTtl) {
|
|
234
240
|
let intervalMs = HEARTBEAT_DEFAULT_MS;
|
|
235
241
|
let ttlMs = HEARTBEAT_TTL_DEFAULT_MS;
|
|
236
242
|
let lastSuccessMs = Date.now();
|
|
@@ -248,6 +254,7 @@ async function heartbeatLoop(client, work, ctrl, logger, requestOptions) {
|
|
|
248
254
|
if (resp.ttl_seconds > 0) {
|
|
249
255
|
ttlMs = resp.ttl_seconds * 1000;
|
|
250
256
|
intervalMs = Math.max(1000, Math.min(ttlMs / 2, HEARTBEAT_DEFAULT_MS));
|
|
257
|
+
onLeaseTtl?.(ttlMs);
|
|
251
258
|
}
|
|
252
259
|
if (resp.state === 'stopping' || resp.state === 'stopped') {
|
|
253
260
|
logger.info('heartbeat signals shutdown', { work_id: work.id, state: resp.state });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/lib/environments/worker.ts"],"names":[],"mappings":";;;;;AAAA,+CAAkD;AAGlD,qDAAkE;AAClE,qDAAmD;AACnD,yDAAmD;AACnD,6DAAoE;AACpE,yDAAuD;AACvD,uDAAsD;AAGtD,qEAA+D;AAC/D,wCAAsC;AACtC,uDAAuD;AASvD,MAAM,oBAAoB,GAAG,KAAM,CAAC;AACpC,MAAM,wBAAwB,GAAG,KAAM,CAAC;AACxC,MAAM,qBAAqB,GAAG,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/lib/environments/worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,10 +20,10 @@ const NO_HEARTBEAT_SENTINEL = 'NO_HEARTBEAT';
|
|
|
20
20
|
* For each claimed `session` work item it: builds the per-session
|
|
21
21
|
* {@link AgentToolContext}, downloads the session agent's skills
|
|
22
22
|
* (`setupSkills`), then runs a {@link SessionToolRunner} for the session
|
|
23
|
-
*
|
|
24
|
-
* the work item, cleans up the downloaded skills, and loops to the
|
|
25
|
-
* lease heartbeat reports `state === "stopping"` / a lost lease
|
|
26
|
-
* by aborting the session runner.
|
|
23
|
+
* while heartbeating the work-item lease on the same event loop; on exit it
|
|
24
|
+
* force-stops the work item, cleans up the downloaded skills, and loops to the
|
|
25
|
+
* next one. The lease heartbeat reports `state === "stopping"` / a lost lease
|
|
26
|
+
* back into the run by aborting the session runner.
|
|
27
27
|
*
|
|
28
28
|
* Use {@link EnvironmentWorker.handleItem} if you already hold a claimed work
|
|
29
29
|
* item (e.g. a `worker poll --on-work` script handed one to a fresh process) and
|
|
@@ -91,8 +91,8 @@ export class EnvironmentWorker {
|
|
|
91
91
|
* per-session {@link AgentToolContext} (workdir from this worker's options),
|
|
92
92
|
* download the session agent's skills (`setupSkills`), run a
|
|
93
93
|
* {@link SessionToolRunner} for the session while heartbeating the work-item
|
|
94
|
-
* lease
|
|
95
|
-
*
|
|
94
|
+
* lease, and force-stop the work item on exit (whether the runner finishes
|
|
95
|
+
* normally, throws, or the heartbeat loop signals shutdown).
|
|
96
96
|
*
|
|
97
97
|
* Use this when something else does the claiming — e.g. a `worker poll
|
|
98
98
|
* --on-work` script that hands an already-claimed item to a fresh process. The
|
|
@@ -174,19 +174,23 @@ async function _EnvironmentWorker_handleItem(work, environmentKey, externalSigna
|
|
|
174
174
|
// session runner finishes, or when the lease heartbeat says to stop.
|
|
175
175
|
const ctrl = new AbortController();
|
|
176
176
|
const detachExternal = linkAbort(externalSignal, ctrl);
|
|
177
|
-
|
|
177
|
+
// Inert until iterated below.
|
|
178
|
+
const runner = new SessionToolRunner(sessionId, {
|
|
179
|
+
client: sessionClient,
|
|
180
|
+
tools,
|
|
181
|
+
...(this.maxIdleMs !== undefined ? { maxIdleMs: this.maxIdleMs } : {}),
|
|
182
|
+
...(this.requestOptions !== undefined ? { requestOptions: this.requestOptions } : {}),
|
|
183
|
+
signal: ctrl.signal,
|
|
184
|
+
});
|
|
185
|
+
// Each heartbeat reports the lease TTL the server is enforcing; it becomes
|
|
186
|
+
// the runner's tool-result send retry window so a send keeps retrying
|
|
187
|
+
// exactly as long as the lease could still be live.
|
|
188
|
+
const heartbeatPromise = heartbeatLoop(sessionClient, work, ctrl, log, this.requestOptions, (ttlMs) => runner._setSendRetryWindow(ttlMs)).catch((e) => {
|
|
178
189
|
if (!ctrl.signal.aborted)
|
|
179
190
|
log.error('heartbeat loop failed', { work_id: work.id, error: String(e) });
|
|
180
191
|
ctrl.abort();
|
|
181
192
|
});
|
|
182
193
|
try {
|
|
183
|
-
const runner = new SessionToolRunner(sessionId, {
|
|
184
|
-
client: sessionClient,
|
|
185
|
-
tools,
|
|
186
|
-
...(this.maxIdleMs !== undefined ? { maxIdleMs: this.maxIdleMs } : {}),
|
|
187
|
-
...(this.requestOptions !== undefined ? { requestOptions: this.requestOptions } : {}),
|
|
188
|
-
signal: ctrl.signal,
|
|
189
|
-
});
|
|
190
194
|
for await (const _ of runner) {
|
|
191
195
|
// Drive the runner to completion; per-call observability is not part
|
|
192
196
|
// of this composition's surface — use `SessionToolRunner` directly
|
|
@@ -226,7 +230,9 @@ async function forceStop(client, work, log, requestOptions) {
|
|
|
226
230
|
* lost). Each heartbeat call is cut off after the current beat interval so a
|
|
227
231
|
* hung request cannot outlive the lease it is meant to renew.
|
|
228
232
|
*/
|
|
229
|
-
async function heartbeatLoop(client, work, ctrl, logger, requestOptions
|
|
233
|
+
async function heartbeatLoop(client, work, ctrl, logger, requestOptions,
|
|
234
|
+
/** Called with the server-reported lease TTL after every successful beat. */
|
|
235
|
+
onLeaseTtl) {
|
|
230
236
|
let intervalMs = HEARTBEAT_DEFAULT_MS;
|
|
231
237
|
let ttlMs = HEARTBEAT_TTL_DEFAULT_MS;
|
|
232
238
|
let lastSuccessMs = Date.now();
|
|
@@ -244,6 +250,7 @@ async function heartbeatLoop(client, work, ctrl, logger, requestOptions) {
|
|
|
244
250
|
if (resp.ttl_seconds > 0) {
|
|
245
251
|
ttlMs = resp.ttl_seconds * 1000;
|
|
246
252
|
intervalMs = Math.max(1000, Math.min(ttlMs / 2, HEARTBEAT_DEFAULT_MS));
|
|
253
|
+
onLeaseTtl?.(ttlMs);
|
|
247
254
|
}
|
|
248
255
|
if (resp.state === 'stopping' || resp.state === 'stopped') {
|
|
249
256
|
logger.info('heartbeat signals shutdown', { work_id: work.id, state: resp.state });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.mjs","sourceRoot":"","sources":["../../src/lib/environments/worker.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,cAAc,EAAE,6BAAyB;AAGlD,OAAO,EAAE,SAAS,EAAe,qCAAiC;AAClE,OAAO,EAAE,OAAO,EAAE,qCAAiC;AACnD,OAAO,EAAE,KAAK,EAAE,uCAAmC;AACnD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,yCAAqC;AACpE,OAAO,EAAE,SAAS,EAAE,uCAAmC;AACvD,OAAO,EAAE,YAAY,EAAE,mCAA+B;AAGtD,OAAO,EAAE,iBAAiB,EAAE,uCAAmC;AAC/D,OAAO,EAAE,UAAU,EAAE,qBAAiB;AACtC,OAAO,EAAE,mBAAmB,EAAE,6BAAyB;AASvD,MAAM,oBAAoB,GAAG,KAAM,CAAC;AACpC,MAAM,wBAAwB,GAAG,KAAM,CAAC;AACxC,MAAM,qBAAqB,GAAG,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"worker.mjs","sourceRoot":"","sources":["../../src/lib/environments/worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,68 +1,49 @@
|
|
|
1
1
|
import { BetaMemoryTool20250818, BetaTool, BetaToolBash20241022, BetaToolBash20250124, BetaToolComputerUse20241022, BetaToolComputerUse20250124, BetaToolComputerUse20251124, BetaToolResultContentBlockParam, BetaToolTextEditor20241022, BetaToolTextEditor20250124, BetaToolTextEditor20250429, BetaToolTextEditor20250728, BetaToolUnion, BetaToolUseBlock } from "../../resources/beta.mjs";
|
|
2
2
|
import type { BetaManagedAgentsAgentCustomToolUseEvent, BetaManagedAgentsAgentToolUseEvent } from "../../resources/beta/sessions/events.mjs";
|
|
3
3
|
export type Promisable<T> = T | Promise<T>;
|
|
4
|
-
/**
|
|
5
|
-
* Tool types that can be implemented on the client.
|
|
6
|
-
* Excludes server-side tools like code execution, web search, and MCP toolsets.
|
|
7
|
-
*/
|
|
4
|
+
/** Tools that run on the client. Server-side tools (code execution, web search, MCP toolsets) are not included. */
|
|
8
5
|
export type BetaClientRunnableToolType = BetaTool | BetaMemoryTool20250818 | BetaToolBash20241022 | BetaToolBash20250124 | BetaToolComputerUse20241022 | BetaToolComputerUse20250124 | BetaToolComputerUse20251124 | BetaToolTextEditor20241022 | BetaToolTextEditor20250124 | BetaToolTextEditor20250429 | BetaToolTextEditor20250728;
|
|
9
6
|
/**
|
|
10
|
-
* The tool
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* - from `client.beta.sessions.events.toolRunner`, the `agent.tool_use` /
|
|
14
|
-
* `agent.custom_tool_use` session event.
|
|
15
|
-
*
|
|
16
|
-
* The shapes overlap on the common fields (`id`, `name`, `input`), so code that
|
|
17
|
-
* only reads those works without narrowing; narrow on the shape (e.g. `'type' in
|
|
18
|
-
* x`) when you need surface-specific properties.
|
|
7
|
+
* The tool call being served: a Messages `tool_use` block, or a session
|
|
8
|
+
* `agent.tool_use` / `agent.custom_tool_use` event. All three carry `id`,
|
|
9
|
+
* `name` and `input`.
|
|
19
10
|
*/
|
|
20
11
|
export type BetaToolUse = BetaToolUseBlock | BetaManagedAgentsAgentToolUseEvent | BetaManagedAgentsAgentCustomToolUseEvent;
|
|
21
12
|
export type BetaToolRunContext = {
|
|
22
|
-
/** The tool-use that triggered this run. See {@link BetaToolUse}. */
|
|
23
13
|
toolUse: BetaToolUse;
|
|
14
|
+
/** @deprecated Use `toolUse`. */
|
|
15
|
+
toolUseBlock: BetaToolUse;
|
|
24
16
|
/**
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
* name — which is why it was renamed.
|
|
17
|
+
* Aborted when the runner is aborted or, in the session runner, when the
|
|
18
|
+
* per-tool timeout fires. The runner still waits for `run` to return, so
|
|
19
|
+
* check it in long-running work.
|
|
29
20
|
*/
|
|
30
|
-
toolUseBlock: BetaToolUse;
|
|
31
21
|
signal?: AbortSignal | null | undefined;
|
|
32
22
|
};
|
|
23
|
+
/** A tool definition plus the `run` and `parse` the tool runners call. */
|
|
33
24
|
export type BetaRunnableTool<Input = any> = BetaClientRunnableToolType & {
|
|
34
|
-
run: (args: Input, context?: BetaToolRunContext) => Promisable<string | Array<BetaToolResultContentBlockParam>>;
|
|
35
|
-
parse: (content: unknown) => Input;
|
|
36
25
|
/**
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
26
|
+
* Runs on the event loop: a body that blocks synchronously stalls the runner
|
|
27
|
+
* and, in an `EnvironmentWorker`, the lease heartbeat. Await async work or
|
|
28
|
+
* move it to a worker thread.
|
|
40
29
|
*/
|
|
30
|
+
run: (args: Input, context?: BetaToolRunContext) => Promisable<string | Array<BetaToolResultContentBlockParam>>;
|
|
31
|
+
parse: (content: unknown) => Input;
|
|
32
|
+
/** Called once by the session runner when it stops. Release held resources here (e.g. a shell). */
|
|
41
33
|
close?: () => Promisable<void>;
|
|
42
34
|
};
|
|
43
35
|
/**
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
* Shared so the tool-name lookup is identical across `toolRunner()` surfaces.
|
|
36
|
+
* The name the model calls a tool by: `mcp_server_name` for MCP toolsets, `type` for nameless server
|
|
37
|
+
* toolsets (browser/computer), `name` for everything else.
|
|
47
38
|
*/
|
|
48
39
|
export declare function toolName(tool: BetaToolUnion | BetaRunnableTool): string;
|
|
49
|
-
/**
|
|
50
|
-
* Format a thrown value into tool-result content: a {@link ToolError} carries
|
|
51
|
-
* its own structured content, anything else becomes an `Error: <message>`
|
|
52
|
-
* string. Shared so every `toolRunner()` surface reports tool failures the
|
|
53
|
-
* same way to the model.
|
|
54
|
-
*/
|
|
40
|
+
/** Tool-result content for a thrown value: a {@link ToolError}'s own content, otherwise `Error: <message>`. */
|
|
55
41
|
export declare function toolErrorContent(e: unknown): string | Array<BetaToolResultContentBlockParam>;
|
|
56
|
-
/**
|
|
42
|
+
/** What a tool run produced, and whether it failed. */
|
|
57
43
|
export interface RunnableToolOutcome {
|
|
58
44
|
content: string | Array<BetaToolResultContentBlockParam>;
|
|
59
45
|
isError: boolean;
|
|
60
46
|
}
|
|
61
|
-
/**
|
|
62
|
-
* Run a {@link BetaRunnableTool} end-to-end: parse the raw input, invoke `run`,
|
|
63
|
-
* and format any thrown value via {@link toolErrorContent}. Shared so the
|
|
64
|
-
* parse → run → catch → format pipeline is identical across `toolRunner()`
|
|
65
|
-
* surfaces.
|
|
66
|
-
*/
|
|
47
|
+
/** Parse the input, run the tool, and turn anything thrown into an error result. */
|
|
67
48
|
export declare function runRunnableTool(tool: BetaRunnableTool, rawInput: unknown, context: BetaToolRunContext): Promise<RunnableToolOutcome>;
|
|
68
49
|
//# sourceMappingURL=BetaRunnableTool.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BetaRunnableTool.d.mts","sourceRoot":"","sources":["../../src/lib/tools/BetaRunnableTool.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,QAAQ,EACR,oBAAoB,EACpB,oBAAoB,EACpB,2BAA2B,EAC3B,2BAA2B,EAC3B,2BAA2B,EAC3B,+BAA+B,EAC/B,0BAA0B,EAC1B,0BAA0B,EAC1B,0BAA0B,EAC1B,0BAA0B,EAC1B,aAAa,EACb,gBAAgB,EACjB,iCAA6B;AAC9B,OAAO,KAAK,EACV,wCAAwC,EACxC,kCAAkC,EACnC,iDAA6C;AAG9C,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAE3C
|
|
1
|
+
{"version":3,"file":"BetaRunnableTool.d.mts","sourceRoot":"","sources":["../../src/lib/tools/BetaRunnableTool.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,QAAQ,EACR,oBAAoB,EACpB,oBAAoB,EACpB,2BAA2B,EAC3B,2BAA2B,EAC3B,2BAA2B,EAC3B,+BAA+B,EAC/B,0BAA0B,EAC1B,0BAA0B,EAC1B,0BAA0B,EAC1B,0BAA0B,EAC1B,aAAa,EACb,gBAAgB,EACjB,iCAA6B;AAC9B,OAAO,KAAK,EACV,wCAAwC,EACxC,kCAAkC,EACnC,iDAA6C;AAG9C,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAE3C,mHAAmH;AACnH,MAAM,MAAM,0BAA0B,GAClC,QAAQ,GACR,sBAAsB,GACtB,oBAAoB,GACpB,oBAAoB,GACpB,2BAA2B,GAC3B,2BAA2B,GAC3B,2BAA2B,GAC3B,0BAA0B,GAC1B,0BAA0B,GAC1B,0BAA0B,GAC1B,0BAA0B,CAAC;AAE/B;;;;GAIG;AACH,MAAM,MAAM,WAAW,GACnB,gBAAgB,GAChB,kCAAkC,GAClC,wCAAwC,CAAC;AAE7C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,WAAW,CAAC;IACrB,iCAAiC;IACjC,YAAY,EAAE,WAAW,CAAC;IAC1B;;;;OAIG;IACH,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;CACzC,CAAC;AAEF,0EAA0E;AAC1E,MAAM,MAAM,gBAAgB,CAAC,KAAK,GAAG,GAAG,IAAI,0BAA0B,GAAG;IACvE;;;;OAIG;IACH,GAAG,EAAE,CACH,IAAI,EAAE,KAAK,EACX,OAAO,CAAC,EAAE,kBAAkB,KACzB,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;IACjE,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,KAAK,CAAC;IACnC,mGAAmG;IACnG,KAAK,CAAC,EAAE,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;CAChC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,aAAa,GAAG,gBAAgB,GAAG,MAAM,CAMvE;AAED,+GAA+G;AAC/G,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC,+BAA+B,CAAC,CAE5F;AAED,uDAAuD;AACvD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACzD,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,oFAAoF;AACpF,wBAAsB,eAAe,CACnC,IAAI,EAAE,gBAAgB,EACtB,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,mBAAmB,CAAC,CAQ9B"}
|
|
@@ -1,68 +1,49 @@
|
|
|
1
1
|
import { BetaMemoryTool20250818, BetaTool, BetaToolBash20241022, BetaToolBash20250124, BetaToolComputerUse20241022, BetaToolComputerUse20250124, BetaToolComputerUse20251124, BetaToolResultContentBlockParam, BetaToolTextEditor20241022, BetaToolTextEditor20250124, BetaToolTextEditor20250429, BetaToolTextEditor20250728, BetaToolUnion, BetaToolUseBlock } from "../../resources/beta.js";
|
|
2
2
|
import type { BetaManagedAgentsAgentCustomToolUseEvent, BetaManagedAgentsAgentToolUseEvent } from "../../resources/beta/sessions/events.js";
|
|
3
3
|
export type Promisable<T> = T | Promise<T>;
|
|
4
|
-
/**
|
|
5
|
-
* Tool types that can be implemented on the client.
|
|
6
|
-
* Excludes server-side tools like code execution, web search, and MCP toolsets.
|
|
7
|
-
*/
|
|
4
|
+
/** Tools that run on the client. Server-side tools (code execution, web search, MCP toolsets) are not included. */
|
|
8
5
|
export type BetaClientRunnableToolType = BetaTool | BetaMemoryTool20250818 | BetaToolBash20241022 | BetaToolBash20250124 | BetaToolComputerUse20241022 | BetaToolComputerUse20250124 | BetaToolComputerUse20251124 | BetaToolTextEditor20241022 | BetaToolTextEditor20250124 | BetaToolTextEditor20250429 | BetaToolTextEditor20250728;
|
|
9
6
|
/**
|
|
10
|
-
* The tool
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* - from `client.beta.sessions.events.toolRunner`, the `agent.tool_use` /
|
|
14
|
-
* `agent.custom_tool_use` session event.
|
|
15
|
-
*
|
|
16
|
-
* The shapes overlap on the common fields (`id`, `name`, `input`), so code that
|
|
17
|
-
* only reads those works without narrowing; narrow on the shape (e.g. `'type' in
|
|
18
|
-
* x`) when you need surface-specific properties.
|
|
7
|
+
* The tool call being served: a Messages `tool_use` block, or a session
|
|
8
|
+
* `agent.tool_use` / `agent.custom_tool_use` event. All three carry `id`,
|
|
9
|
+
* `name` and `input`.
|
|
19
10
|
*/
|
|
20
11
|
export type BetaToolUse = BetaToolUseBlock | BetaManagedAgentsAgentToolUseEvent | BetaManagedAgentsAgentCustomToolUseEvent;
|
|
21
12
|
export type BetaToolRunContext = {
|
|
22
|
-
/** The tool-use that triggered this run. See {@link BetaToolUse}. */
|
|
23
13
|
toolUse: BetaToolUse;
|
|
14
|
+
/** @deprecated Use `toolUse`. */
|
|
15
|
+
toolUseBlock: BetaToolUse;
|
|
24
16
|
/**
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
* name — which is why it was renamed.
|
|
17
|
+
* Aborted when the runner is aborted or, in the session runner, when the
|
|
18
|
+
* per-tool timeout fires. The runner still waits for `run` to return, so
|
|
19
|
+
* check it in long-running work.
|
|
29
20
|
*/
|
|
30
|
-
toolUseBlock: BetaToolUse;
|
|
31
21
|
signal?: AbortSignal | null | undefined;
|
|
32
22
|
};
|
|
23
|
+
/** A tool definition plus the `run` and `parse` the tool runners call. */
|
|
33
24
|
export type BetaRunnableTool<Input = any> = BetaClientRunnableToolType & {
|
|
34
|
-
run: (args: Input, context?: BetaToolRunContext) => Promisable<string | Array<BetaToolResultContentBlockParam>>;
|
|
35
|
-
parse: (content: unknown) => Input;
|
|
36
25
|
/**
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
26
|
+
* Runs on the event loop: a body that blocks synchronously stalls the runner
|
|
27
|
+
* and, in an `EnvironmentWorker`, the lease heartbeat. Await async work or
|
|
28
|
+
* move it to a worker thread.
|
|
40
29
|
*/
|
|
30
|
+
run: (args: Input, context?: BetaToolRunContext) => Promisable<string | Array<BetaToolResultContentBlockParam>>;
|
|
31
|
+
parse: (content: unknown) => Input;
|
|
32
|
+
/** Called once by the session runner when it stops. Release held resources here (e.g. a shell). */
|
|
41
33
|
close?: () => Promisable<void>;
|
|
42
34
|
};
|
|
43
35
|
/**
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
* Shared so the tool-name lookup is identical across `toolRunner()` surfaces.
|
|
36
|
+
* The name the model calls a tool by: `mcp_server_name` for MCP toolsets, `type` for nameless server
|
|
37
|
+
* toolsets (browser/computer), `name` for everything else.
|
|
47
38
|
*/
|
|
48
39
|
export declare function toolName(tool: BetaToolUnion | BetaRunnableTool): string;
|
|
49
|
-
/**
|
|
50
|
-
* Format a thrown value into tool-result content: a {@link ToolError} carries
|
|
51
|
-
* its own structured content, anything else becomes an `Error: <message>`
|
|
52
|
-
* string. Shared so every `toolRunner()` surface reports tool failures the
|
|
53
|
-
* same way to the model.
|
|
54
|
-
*/
|
|
40
|
+
/** Tool-result content for a thrown value: a {@link ToolError}'s own content, otherwise `Error: <message>`. */
|
|
55
41
|
export declare function toolErrorContent(e: unknown): string | Array<BetaToolResultContentBlockParam>;
|
|
56
|
-
/**
|
|
42
|
+
/** What a tool run produced, and whether it failed. */
|
|
57
43
|
export interface RunnableToolOutcome {
|
|
58
44
|
content: string | Array<BetaToolResultContentBlockParam>;
|
|
59
45
|
isError: boolean;
|
|
60
46
|
}
|
|
61
|
-
/**
|
|
62
|
-
* Run a {@link BetaRunnableTool} end-to-end: parse the raw input, invoke `run`,
|
|
63
|
-
* and format any thrown value via {@link toolErrorContent}. Shared so the
|
|
64
|
-
* parse → run → catch → format pipeline is identical across `toolRunner()`
|
|
65
|
-
* surfaces.
|
|
66
|
-
*/
|
|
47
|
+
/** Parse the input, run the tool, and turn anything thrown into an error result. */
|
|
67
48
|
export declare function runRunnableTool(tool: BetaRunnableTool, rawInput: unknown, context: BetaToolRunContext): Promise<RunnableToolOutcome>;
|
|
68
49
|
//# sourceMappingURL=BetaRunnableTool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BetaRunnableTool.d.ts","sourceRoot":"","sources":["../../src/lib/tools/BetaRunnableTool.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,QAAQ,EACR,oBAAoB,EACpB,oBAAoB,EACpB,2BAA2B,EAC3B,2BAA2B,EAC3B,2BAA2B,EAC3B,+BAA+B,EAC/B,0BAA0B,EAC1B,0BAA0B,EAC1B,0BAA0B,EAC1B,0BAA0B,EAC1B,aAAa,EACb,gBAAgB,EACjB,gCAA6B;AAC9B,OAAO,KAAK,EACV,wCAAwC,EACxC,kCAAkC,EACnC,gDAA6C;AAG9C,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAE3C
|
|
1
|
+
{"version":3,"file":"BetaRunnableTool.d.ts","sourceRoot":"","sources":["../../src/lib/tools/BetaRunnableTool.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,QAAQ,EACR,oBAAoB,EACpB,oBAAoB,EACpB,2BAA2B,EAC3B,2BAA2B,EAC3B,2BAA2B,EAC3B,+BAA+B,EAC/B,0BAA0B,EAC1B,0BAA0B,EAC1B,0BAA0B,EAC1B,0BAA0B,EAC1B,aAAa,EACb,gBAAgB,EACjB,gCAA6B;AAC9B,OAAO,KAAK,EACV,wCAAwC,EACxC,kCAAkC,EACnC,gDAA6C;AAG9C,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAE3C,mHAAmH;AACnH,MAAM,MAAM,0BAA0B,GAClC,QAAQ,GACR,sBAAsB,GACtB,oBAAoB,GACpB,oBAAoB,GACpB,2BAA2B,GAC3B,2BAA2B,GAC3B,2BAA2B,GAC3B,0BAA0B,GAC1B,0BAA0B,GAC1B,0BAA0B,GAC1B,0BAA0B,CAAC;AAE/B;;;;GAIG;AACH,MAAM,MAAM,WAAW,GACnB,gBAAgB,GAChB,kCAAkC,GAClC,wCAAwC,CAAC;AAE7C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,WAAW,CAAC;IACrB,iCAAiC;IACjC,YAAY,EAAE,WAAW,CAAC;IAC1B;;;;OAIG;IACH,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;CACzC,CAAC;AAEF,0EAA0E;AAC1E,MAAM,MAAM,gBAAgB,CAAC,KAAK,GAAG,GAAG,IAAI,0BAA0B,GAAG;IACvE;;;;OAIG;IACH,GAAG,EAAE,CACH,IAAI,EAAE,KAAK,EACX,OAAO,CAAC,EAAE,kBAAkB,KACzB,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;IACjE,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,KAAK,CAAC;IACnC,mGAAmG;IACnG,KAAK,CAAC,EAAE,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;CAChC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,aAAa,GAAG,gBAAgB,GAAG,MAAM,CAMvE;AAED,+GAA+G;AAC/G,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC,+BAA+B,CAAC,CAE5F;AAED,uDAAuD;AACvD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACzD,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,oFAAoF;AACpF,wBAAsB,eAAe,CACnC,IAAI,EAAE,gBAAgB,EACtB,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,mBAAmB,CAAC,CAQ9B"}
|
|
@@ -5,28 +5,19 @@ exports.toolErrorContent = toolErrorContent;
|
|
|
5
5
|
exports.runRunnableTool = runRunnableTool;
|
|
6
6
|
const ToolError_1 = require("./ToolError.js");
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* Shared so the tool-name lookup is identical across `toolRunner()` surfaces.
|
|
8
|
+
* The name the model calls a tool by: `mcp_server_name` for MCP toolsets, `type` for nameless server
|
|
9
|
+
* toolsets (browser/computer), `name` for everything else.
|
|
11
10
|
*/
|
|
12
11
|
function toolName(tool) {
|
|
13
|
-
return 'name' in tool ? tool.name
|
|
12
|
+
return ('name' in tool ? tool.name
|
|
13
|
+
: 'mcp_server_name' in tool ? tool.mcp_server_name
|
|
14
|
+
: tool.type);
|
|
14
15
|
}
|
|
15
|
-
/**
|
|
16
|
-
* Format a thrown value into tool-result content: a {@link ToolError} carries
|
|
17
|
-
* its own structured content, anything else becomes an `Error: <message>`
|
|
18
|
-
* string. Shared so every `toolRunner()` surface reports tool failures the
|
|
19
|
-
* same way to the model.
|
|
20
|
-
*/
|
|
16
|
+
/** Tool-result content for a thrown value: a {@link ToolError}'s own content, otherwise `Error: <message>`. */
|
|
21
17
|
function toolErrorContent(e) {
|
|
22
18
|
return e instanceof ToolError_1.ToolError ? e.content : `Error: ${e instanceof Error ? e.message : String(e)}`;
|
|
23
19
|
}
|
|
24
|
-
/**
|
|
25
|
-
* Run a {@link BetaRunnableTool} end-to-end: parse the raw input, invoke `run`,
|
|
26
|
-
* and format any thrown value via {@link toolErrorContent}. Shared so the
|
|
27
|
-
* parse → run → catch → format pipeline is identical across `toolRunner()`
|
|
28
|
-
* surfaces.
|
|
29
|
-
*/
|
|
20
|
+
/** Parse the input, run the tool, and turn anything thrown into an error result. */
|
|
30
21
|
async function runRunnableTool(tool, rawInput, context) {
|
|
31
22
|
try {
|
|
32
23
|
const input = tool.parse ? tool.parse(rawInput) : rawInput;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BetaRunnableTool.js","sourceRoot":"","sources":["../../src/lib/tools/BetaRunnableTool.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"BetaRunnableTool.js","sourceRoot":"","sources":["../../src/lib/tools/BetaRunnableTool.ts"],"names":[],"mappings":";;AAgFA,4BAMC;AAGD,4CAEC;AASD,0CAYC;AA5FD,8CAAwC;AAwDxC;;;GAGG;AACH,SAAgB,QAAQ,CAAC,IAAsC;IAC7D,OAAO,CACL,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI;QAC1B,CAAC,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe;YAClD,CAAC,CAAC,IAAI,CAAC,IAAI,CACZ,CAAC;AACJ,CAAC;AAED,+GAA+G;AAC/G,SAAgB,gBAAgB,CAAC,CAAU;IACzC,OAAO,CAAC,YAAY,qBAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;AACrG,CAAC;AAQD,oFAAoF;AAC7E,KAAK,UAAU,eAAe,CACnC,IAAsB,EACtB,QAAiB,EACjB,OAA2B;IAE3B,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC3D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC/C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACrC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACzD,CAAC;AACH,CAAC"}
|
|
@@ -1,27 +1,18 @@
|
|
|
1
1
|
import { ToolError } from "./ToolError.mjs";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* Shared so the tool-name lookup is identical across `toolRunner()` surfaces.
|
|
3
|
+
* The name the model calls a tool by: `mcp_server_name` for MCP toolsets, `type` for nameless server
|
|
4
|
+
* toolsets (browser/computer), `name` for everything else.
|
|
6
5
|
*/
|
|
7
6
|
export function toolName(tool) {
|
|
8
|
-
return 'name' in tool ? tool.name
|
|
7
|
+
return ('name' in tool ? tool.name
|
|
8
|
+
: 'mcp_server_name' in tool ? tool.mcp_server_name
|
|
9
|
+
: tool.type);
|
|
9
10
|
}
|
|
10
|
-
/**
|
|
11
|
-
* Format a thrown value into tool-result content: a {@link ToolError} carries
|
|
12
|
-
* its own structured content, anything else becomes an `Error: <message>`
|
|
13
|
-
* string. Shared so every `toolRunner()` surface reports tool failures the
|
|
14
|
-
* same way to the model.
|
|
15
|
-
*/
|
|
11
|
+
/** Tool-result content for a thrown value: a {@link ToolError}'s own content, otherwise `Error: <message>`. */
|
|
16
12
|
export function toolErrorContent(e) {
|
|
17
13
|
return e instanceof ToolError ? e.content : `Error: ${e instanceof Error ? e.message : String(e)}`;
|
|
18
14
|
}
|
|
19
|
-
/**
|
|
20
|
-
* Run a {@link BetaRunnableTool} end-to-end: parse the raw input, invoke `run`,
|
|
21
|
-
* and format any thrown value via {@link toolErrorContent}. Shared so the
|
|
22
|
-
* parse → run → catch → format pipeline is identical across `toolRunner()`
|
|
23
|
-
* surfaces.
|
|
24
|
-
*/
|
|
15
|
+
/** Parse the input, run the tool, and turn anything thrown into an error result. */
|
|
25
16
|
export async function runRunnableTool(tool, rawInput, context) {
|
|
26
17
|
try {
|
|
27
18
|
const input = tool.parse ? tool.parse(rawInput) : rawInput;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BetaRunnableTool.mjs","sourceRoot":"","sources":["../../src/lib/tools/BetaRunnableTool.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,SAAS,EAAE,wBAAoB;
|
|
1
|
+
{"version":3,"file":"BetaRunnableTool.mjs","sourceRoot":"","sources":["../../src/lib/tools/BetaRunnableTool.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,SAAS,EAAE,wBAAoB;AAwDxC;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAsC;IAC7D,OAAO,CACL,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI;QAC1B,CAAC,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe;YAClD,CAAC,CAAC,IAAI,CAAC,IAAI,CACZ,CAAC;AACJ,CAAC;AAED,+GAA+G;AAC/G,MAAM,UAAU,gBAAgB,CAAC,CAAU;IACzC,OAAO,CAAC,YAAY,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;AACrG,CAAC;AAQD,oFAAoF;AACpF,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAAsB,EACtB,QAAiB,EACjB,OAA2B;IAE3B,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC3D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC/C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACrC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACzD,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BetaToolRunner.d.mts","sourceRoot":"","sources":["../../src/lib/tools/BetaToolRunner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,+BAA2B;AAEtD,OAAO,EAAE,SAAS,EAAE,wBAAc;AAElC,OAAO,EAEL,WAAW,EACX,gBAAgB,EAMhB,aAAa,EACb,mBAAmB,EACpB,iCAA6B;AAC9B,OAAO,EAAE,iBAAiB,EAAE,iCAA6B;AACzD,OAAO,EAAE,cAAc,EAAE,2CAAuC;AAGhE,OAAO,EAAE,iBAAiB,EAAmD,gCAA4B;AAOzG;;;;;GAKG;AACH,qBAAa,cAAc,CAAC,MAAM,SAAS,OAAO;;IAsB9C,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,SAAS,EACzB,MAAM,EAAE,oBAAoB,EAC5B,OAAO,CAAC,EAAE,4BAA4B;IAsHjC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAC5C,MAAM,SAAS,IAAI,GAAG,iBAAiB,GACrC,MAAM,SAAS,KAAK,GAAG,WAAW,GAClC,WAAW,GAAG,iBAAiB,CAClC;IA+FD;;;;;;;;;;;;;;;;;;OAkBG;IACH,iBAAiB,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI;IACrD,iBAAiB,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,oBAAoB,KAAK,oBAAoB,GAAG,IAAI;IAc5F;;;;;;;;;;;;;;;;;OAiBG;IACH,iBAAiB,CAAC,OAAO,EAAE,4BAA4B,GAAG,IAAI;IAC9D,iBAAiB,CACf,OAAO,EAAE,CAAC,WAAW,EAAE,4BAA4B,KAAK,4BAA4B,GACnF,IAAI;IAaP;;;;;;;;;;;OAWG;IACG,oBAAoB,CAAC,MAAM,GAAE,WAAW,GAAG,IAAI,GAAG,SAAgC;IAsBxF;;;;;;;;;;;;;;;OAeG;IACH,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC;IAI5B;;;;;;;;;;;;OAYG;IACG,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC;IAY1C;;;;;;;;;OASG;IACH,IAAI,MAAM,IAAI,QAAQ,CAAC,oBAAoB,CAAC,CAE3C;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,YAAY,CAAC,GAAG,QAAQ,EAAE,gBAAgB,EAAE;IAO5C;;;OAGG;IACH,IAAI,CAAC,QAAQ,GAAG,WAAW,EAAE,QAAQ,GAAG,KAAK,EAC3C,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,EAC3F,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,GAClF,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;CAGhC;
|
|
1
|
+
{"version":3,"file":"BetaToolRunner.d.mts","sourceRoot":"","sources":["../../src/lib/tools/BetaToolRunner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,+BAA2B;AAEtD,OAAO,EAAE,SAAS,EAAE,wBAAc;AAElC,OAAO,EAEL,WAAW,EACX,gBAAgB,EAMhB,aAAa,EACb,mBAAmB,EACpB,iCAA6B;AAC9B,OAAO,EAAE,iBAAiB,EAAE,iCAA6B;AACzD,OAAO,EAAE,cAAc,EAAE,2CAAuC;AAGhE,OAAO,EAAE,iBAAiB,EAAmD,gCAA4B;AAOzG;;;;;GAKG;AACH,qBAAa,cAAc,CAAC,MAAM,SAAS,OAAO;;IAsB9C,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,SAAS,EACzB,MAAM,EAAE,oBAAoB,EAC5B,OAAO,CAAC,EAAE,4BAA4B;IAsHjC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAC5C,MAAM,SAAS,IAAI,GAAG,iBAAiB,GACrC,MAAM,SAAS,KAAK,GAAG,WAAW,GAClC,WAAW,GAAG,iBAAiB,CAClC;IA+FD;;;;;;;;;;;;;;;;;;OAkBG;IACH,iBAAiB,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI;IACrD,iBAAiB,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,oBAAoB,KAAK,oBAAoB,GAAG,IAAI;IAc5F;;;;;;;;;;;;;;;;;OAiBG;IACH,iBAAiB,CAAC,OAAO,EAAE,4BAA4B,GAAG,IAAI;IAC9D,iBAAiB,CACf,OAAO,EAAE,CAAC,WAAW,EAAE,4BAA4B,KAAK,4BAA4B,GACnF,IAAI;IAaP;;;;;;;;;;;OAWG;IACG,oBAAoB,CAAC,MAAM,GAAE,WAAW,GAAG,IAAI,GAAG,SAAgC;IAsBxF;;;;;;;;;;;;;;;OAeG;IACH,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC;IAI5B;;;;;;;;;;;;OAYG;IACG,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC;IAY1C;;;;;;;;;OASG;IACH,IAAI,MAAM,IAAI,QAAQ,CAAC,oBAAoB,CAAC,CAE3C;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,YAAY,CAAC,GAAG,QAAQ,EAAE,gBAAgB,EAAE;IAO5C;;;OAGG;IACH,IAAI,CAAC,QAAQ,GAAG,WAAW,EAAE,QAAQ,GAAG,KAAK,EAC3C,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,EAC3F,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,GAClF,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;CAGhC;AAkJD,KAAK,QAAQ,CAAC,CAAC,IAAI;KAAG,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;CAAE,GAAG,EAAE,CAAC;AAE7D;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CACzC,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,GAAG;IACnC,KAAK,EAAE,CAAC,aAAa,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;IACjD;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC,CACF,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,IAAI,CAAC,cAAc,EAAE,SAAS,GAAG,QAAQ,GAAG,eAAe,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BetaToolRunner.d.ts","sourceRoot":"","sources":["../../src/lib/tools/BetaToolRunner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,8BAA2B;AAEtD,OAAO,EAAE,SAAS,EAAE,uBAAc;AAElC,OAAO,EAEL,WAAW,EACX,gBAAgB,EAMhB,aAAa,EACb,mBAAmB,EACpB,gCAA6B;AAC9B,OAAO,EAAE,iBAAiB,EAAE,gCAA6B;AACzD,OAAO,EAAE,cAAc,EAAE,0CAAuC;AAGhE,OAAO,EAAE,iBAAiB,EAAmD,+BAA4B;AAOzG;;;;;GAKG;AACH,qBAAa,cAAc,CAAC,MAAM,SAAS,OAAO;;IAsB9C,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,SAAS,EACzB,MAAM,EAAE,oBAAoB,EAC5B,OAAO,CAAC,EAAE,4BAA4B;IAsHjC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAC5C,MAAM,SAAS,IAAI,GAAG,iBAAiB,GACrC,MAAM,SAAS,KAAK,GAAG,WAAW,GAClC,WAAW,GAAG,iBAAiB,CAClC;IA+FD;;;;;;;;;;;;;;;;;;OAkBG;IACH,iBAAiB,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI;IACrD,iBAAiB,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,oBAAoB,KAAK,oBAAoB,GAAG,IAAI;IAc5F;;;;;;;;;;;;;;;;;OAiBG;IACH,iBAAiB,CAAC,OAAO,EAAE,4BAA4B,GAAG,IAAI;IAC9D,iBAAiB,CACf,OAAO,EAAE,CAAC,WAAW,EAAE,4BAA4B,KAAK,4BAA4B,GACnF,IAAI;IAaP;;;;;;;;;;;OAWG;IACG,oBAAoB,CAAC,MAAM,GAAE,WAAW,GAAG,IAAI,GAAG,SAAgC;IAsBxF;;;;;;;;;;;;;;;OAeG;IACH,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC;IAI5B;;;;;;;;;;;;OAYG;IACG,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC;IAY1C;;;;;;;;;OASG;IACH,IAAI,MAAM,IAAI,QAAQ,CAAC,oBAAoB,CAAC,CAE3C;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,YAAY,CAAC,GAAG,QAAQ,EAAE,gBAAgB,EAAE;IAO5C;;;OAGG;IACH,IAAI,CAAC,QAAQ,GAAG,WAAW,EAAE,QAAQ,GAAG,KAAK,EAC3C,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,EAC3F,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,GAClF,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;CAGhC;
|
|
1
|
+
{"version":3,"file":"BetaToolRunner.d.ts","sourceRoot":"","sources":["../../src/lib/tools/BetaToolRunner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,8BAA2B;AAEtD,OAAO,EAAE,SAAS,EAAE,uBAAc;AAElC,OAAO,EAEL,WAAW,EACX,gBAAgB,EAMhB,aAAa,EACb,mBAAmB,EACpB,gCAA6B;AAC9B,OAAO,EAAE,iBAAiB,EAAE,gCAA6B;AACzD,OAAO,EAAE,cAAc,EAAE,0CAAuC;AAGhE,OAAO,EAAE,iBAAiB,EAAmD,+BAA4B;AAOzG;;;;;GAKG;AACH,qBAAa,cAAc,CAAC,MAAM,SAAS,OAAO;;IAsB9C,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,SAAS,EACzB,MAAM,EAAE,oBAAoB,EAC5B,OAAO,CAAC,EAAE,4BAA4B;IAsHjC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAC5C,MAAM,SAAS,IAAI,GAAG,iBAAiB,GACrC,MAAM,SAAS,KAAK,GAAG,WAAW,GAClC,WAAW,GAAG,iBAAiB,CAClC;IA+FD;;;;;;;;;;;;;;;;;;OAkBG;IACH,iBAAiB,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI;IACrD,iBAAiB,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,oBAAoB,KAAK,oBAAoB,GAAG,IAAI;IAc5F;;;;;;;;;;;;;;;;;OAiBG;IACH,iBAAiB,CAAC,OAAO,EAAE,4BAA4B,GAAG,IAAI;IAC9D,iBAAiB,CACf,OAAO,EAAE,CAAC,WAAW,EAAE,4BAA4B,KAAK,4BAA4B,GACnF,IAAI;IAaP;;;;;;;;;;;OAWG;IACG,oBAAoB,CAAC,MAAM,GAAE,WAAW,GAAG,IAAI,GAAG,SAAgC;IAsBxF;;;;;;;;;;;;;;;OAeG;IACH,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC;IAI5B;;;;;;;;;;;;OAYG;IACG,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC;IAY1C;;;;;;;;;OASG;IACH,IAAI,MAAM,IAAI,QAAQ,CAAC,oBAAoB,CAAC,CAE3C;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,YAAY,CAAC,GAAG,QAAQ,EAAE,gBAAgB,EAAE;IAO5C;;;OAGG;IACH,IAAI,CAAC,QAAQ,GAAG,WAAW,EAAE,QAAQ,GAAG,KAAK,EAC3C,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,EAC3F,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,GAClF,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;CAGhC;AAkJD,KAAK,QAAQ,CAAC,CAAC,IAAI;KAAG,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;CAAE,GAAG,EAAE,CAAC;AAE7D;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CACzC,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,GAAG;IACnC,KAAK,EAAE,CAAC,aAAa,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;IACjD;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC,CACF,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,IAAI,CAAC,cAAc,EAAE,SAAS,GAAG,QAAQ,GAAG,eAAe,CAAC,CAAC"}
|
|
@@ -368,7 +368,9 @@ async function generateToolResponse(params, lastMessage = params.messages.at(-1)
|
|
|
368
368
|
}
|
|
369
369
|
const available = availableToolNames(params);
|
|
370
370
|
const toolResults = await Promise.all(toolUseBlocks.map(async (toolUse) => {
|
|
371
|
-
const tool = params.tools.find((t) => ('name' in t ? t.name
|
|
371
|
+
const tool = params.tools.find((t) => ('name' in t ? t.name
|
|
372
|
+
: 'mcp_server_name' in t ? t.mcp_server_name
|
|
373
|
+
: t.type) === toolUse.name);
|
|
372
374
|
// A `tool_removal` is only a hint to the model, which may still emit a tool_use for a
|
|
373
375
|
// withdrawn tool — treat those exactly like a tool that was never defined.
|
|
374
376
|
if (!tool || !('run' in tool) || !available.has(toolUse.name)) {
|
|
@@ -446,18 +448,6 @@ function applyToolChange(block, available) {
|
|
|
446
448
|
case 'tool_addition':
|
|
447
449
|
applyToolReference(block, available);
|
|
448
450
|
break;
|
|
449
|
-
case 'mid_conv_system':
|
|
450
|
-
// A `mid_conv_system` block's content is limited by the API schema to
|
|
451
|
-
// text / tool_addition / tool_removal, so we walk exactly one level — no recursion.
|
|
452
|
-
for (const inner of block.content) {
|
|
453
|
-
if (inner.type === 'tool_removal' || inner.type === 'tool_addition') {
|
|
454
|
-
applyToolReference(inner, available);
|
|
455
|
-
}
|
|
456
|
-
}
|
|
457
|
-
break;
|
|
458
|
-
default:
|
|
459
|
-
// Other and unknown/newer block types leave the set untouched (forward compatibility).
|
|
460
|
-
break;
|
|
461
451
|
}
|
|
462
452
|
}
|
|
463
453
|
function applyToolReference(block, available) {
|