@anthropic-ai/sdk 0.126.0 → 0.127.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 +38 -0
- package/client.d.mts +10 -9
- package/client.d.mts.map +1 -1
- package/client.d.ts +10 -9
- package/client.d.ts.map +1 -1
- package/client.js +33 -19
- package/client.js.map +1 -1
- package/client.mjs +34 -20
- package/client.mjs.map +1 -1
- package/internal/parse.d.mts.map +1 -1
- package/internal/parse.d.ts.map +1 -1
- package/internal/parse.js +2 -2
- package/internal/parse.js.map +1 -1
- package/internal/parse.mjs +3 -3
- package/internal/parse.mjs.map +1 -1
- package/internal/shims.d.mts +3 -3
- package/internal/shims.d.mts.map +1 -1
- package/internal/shims.d.ts +3 -3
- package/internal/shims.d.ts.map +1 -1
- package/internal/shims.js.map +1 -1
- package/internal/shims.mjs.map +1 -1
- package/internal/utils/log.d.mts +7 -12
- package/internal/utils/log.d.mts.map +1 -1
- package/internal/utils/log.d.ts +7 -12
- package/internal/utils/log.d.ts.map +1 -1
- package/internal/utils/log.js +12 -0
- package/internal/utils/log.js.map +1 -1
- package/internal/utils/log.mjs +11 -0
- package/internal/utils/log.mjs.map +1 -1
- package/lib/BetaMessageStream.d.mts.map +1 -1
- package/lib/BetaMessageStream.d.ts.map +1 -1
- package/lib/BetaMessageStream.js +7 -5
- package/lib/BetaMessageStream.js.map +1 -1
- package/lib/BetaMessageStream.mjs +7 -5
- package/lib/BetaMessageStream.mjs.map +1 -1
- package/lib/beta-parser.d.mts +1 -3
- package/lib/beta-parser.d.mts.map +1 -1
- package/lib/beta-parser.d.ts +1 -3
- package/lib/beta-parser.d.ts.map +1 -1
- package/lib/beta-parser.js.map +1 -1
- package/lib/beta-parser.mjs.map +1 -1
- package/lib/internal/stub.d.mts +2 -0
- package/lib/internal/stub.d.mts.map +1 -0
- package/lib/internal/stub.d.ts +2 -0
- package/lib/internal/stub.d.ts.map +1 -0
- package/lib/internal/stub.js +6 -0
- package/lib/internal/stub.js.map +1 -0
- package/lib/internal/stub.mjs +3 -0
- package/lib/internal/stub.mjs.map +1 -0
- package/lib/internal/types.d.mts +5 -0
- package/lib/internal/types.d.mts.map +1 -0
- package/lib/internal/types.d.ts +5 -0
- package/lib/internal/types.d.ts.map +1 -0
- package/lib/internal/types.js +3 -0
- package/lib/internal/types.js.map +1 -0
- package/lib/internal/types.mjs +2 -0
- package/lib/internal/types.mjs.map +1 -0
- package/lib/middleware.js +6 -1
- package/lib/middleware.js.map +1 -1
- package/lib/middleware.mjs +6 -1
- package/lib/middleware.mjs.map +1 -1
- package/lib/parser.d.mts +1 -3
- package/lib/parser.d.mts.map +1 -1
- package/lib/parser.d.ts +1 -3
- package/lib/parser.d.ts.map +1 -1
- package/lib/parser.js.map +1 -1
- package/lib/parser.mjs.map +1 -1
- package/lib/tools/BetaToolRunner.d.mts +21 -6
- package/lib/tools/BetaToolRunner.d.mts.map +1 -1
- package/lib/tools/BetaToolRunner.d.ts +21 -6
- package/lib/tools/BetaToolRunner.d.ts.map +1 -1
- package/lib/tools/BetaToolRunner.js +125 -23
- package/lib/tools/BetaToolRunner.js.map +1 -1
- package/lib/tools/BetaToolRunner.mjs +125 -23
- package/lib/tools/BetaToolRunner.mjs.map +1 -1
- package/lib/transform-json-schema.js +7 -5
- package/lib/transform-json-schema.js.map +1 -1
- package/lib/transform-json-schema.mjs +7 -5
- package/lib/transform-json-schema.mjs.map +1 -1
- package/package.json +2 -1
- package/resources/beta/deployment-runs.d.mts +4 -0
- package/resources/beta/deployment-runs.d.mts.map +1 -1
- package/resources/beta/deployment-runs.d.ts +4 -0
- package/resources/beta/deployment-runs.d.ts.map +1 -1
- package/resources/beta/deployments.d.mts +5 -0
- package/resources/beta/deployments.d.mts.map +1 -1
- package/resources/beta/deployments.d.ts +5 -0
- package/resources/beta/deployments.d.ts.map +1 -1
- package/resources/beta/dreams.d.mts +17 -0
- package/resources/beta/dreams.d.mts.map +1 -1
- package/resources/beta/dreams.d.ts +17 -0
- package/resources/beta/dreams.d.ts.map +1 -1
- package/resources/beta/memory-stores/memories.d.mts +6 -0
- package/resources/beta/memory-stores/memories.d.mts.map +1 -1
- package/resources/beta/memory-stores/memories.d.ts +6 -0
- package/resources/beta/memory-stores/memories.d.ts.map +1 -1
- package/resources/beta/memory-stores/memory-versions.d.mts +7 -0
- package/resources/beta/memory-stores/memory-versions.d.mts.map +1 -1
- package/resources/beta/memory-stores/memory-versions.d.ts +7 -0
- package/resources/beta/memory-stores/memory-versions.d.ts.map +1 -1
- package/resources/beta/messages/messages.d.mts +1 -1
- package/resources/beta/messages/messages.d.ts +1 -1
- package/resources/beta/organization/index.d.mts +1 -1
- package/resources/beta/organization/index.d.mts.map +1 -1
- package/resources/beta/organization/index.d.ts +1 -1
- package/resources/beta/organization/index.d.ts.map +1 -1
- package/resources/beta/organization/index.js.map +1 -1
- package/resources/beta/organization/index.mjs.map +1 -1
- package/resources/beta/organization/organization.d.mts +2 -2
- package/resources/beta/organization/organization.d.mts.map +1 -1
- package/resources/beta/organization/organization.d.ts +2 -2
- package/resources/beta/organization/organization.d.ts.map +1 -1
- package/resources/beta/organization/organization.js.map +1 -1
- package/resources/beta/organization/organization.mjs.map +1 -1
- package/resources/beta/organization/rate-limits.d.mts +87 -5
- package/resources/beta/organization/rate-limits.d.mts.map +1 -1
- package/resources/beta/organization/rate-limits.d.ts +87 -5
- package/resources/beta/organization/rate-limits.d.ts.map +1 -1
- package/resources/beta/organization/workspaces/rate-limits.d.mts +9 -4
- package/resources/beta/organization/workspaces/rate-limits.d.mts.map +1 -1
- package/resources/beta/organization/workspaces/rate-limits.d.ts +9 -4
- package/resources/beta/organization/workspaces/rate-limits.d.ts.map +1 -1
- package/resources/beta/organization/workspaces/rate-limits.js.map +1 -1
- package/resources/beta/organization/workspaces/rate-limits.mjs.map +1 -1
- package/resources/beta/sessions/sessions.d.mts +6 -0
- package/resources/beta/sessions/sessions.d.mts.map +1 -1
- package/resources/beta/sessions/sessions.d.ts +6 -0
- package/resources/beta/sessions/sessions.d.ts.map +1 -1
- package/resources/beta/sessions/sessions.js.map +1 -1
- package/resources/beta/sessions/sessions.mjs.map +1 -1
- package/resources/beta/tunnels/certificates.d.mts +2 -2
- package/resources/beta/tunnels/certificates.d.ts +2 -2
- package/resources/beta/vaults/credentials.d.mts +19 -5
- package/resources/beta/vaults/credentials.d.mts.map +1 -1
- package/resources/beta/vaults/credentials.d.ts +19 -5
- package/resources/beta/vaults/credentials.d.ts.map +1 -1
- package/src/client.ts +82 -71
- package/src/internal/parse.ts +8 -11
- package/src/internal/shims.ts +4 -3
- package/src/internal/utils/log.ts +16 -2
- package/src/lib/BetaMessageStream.ts +7 -5
- package/src/lib/beta-parser.ts +1 -3
- package/src/lib/internal/stub.ts +2 -0
- package/src/lib/internal/types.ts +2 -0
- package/src/lib/middleware.ts +6 -1
- package/src/lib/parser.ts +1 -3
- package/src/lib/tools/BetaToolRunner.ts +157 -24
- package/src/lib/transform-json-schema.ts +8 -6
- package/src/resources/beta/deployment-runs.ts +4 -0
- package/src/resources/beta/deployments.ts +5 -0
- package/src/resources/beta/dreams.ts +17 -0
- package/src/resources/beta/memory-stores/memories.ts +6 -0
- package/src/resources/beta/memory-stores/memory-versions.ts +7 -0
- package/src/resources/beta/messages/messages.ts +1 -1
- package/src/resources/beta/organization/index.ts +6 -0
- package/src/resources/beta/organization/organization.ts +12 -0
- package/src/resources/beta/organization/rate-limits.ts +112 -4
- package/src/resources/beta/organization/workspaces/rate-limits.ts +16 -4
- package/src/resources/beta/sessions/sessions.ts +6 -0
- package/src/resources/beta/tunnels/certificates.ts +2 -2
- package/src/resources/beta/vaults/credentials.ts +19 -5
- 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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var _BetaToolRunner_instances, _BetaToolRunner_consumed, _BetaToolRunner_mutated, _BetaToolRunner_state, _BetaToolRunner_options, _BetaToolRunner_message, _BetaToolRunner_toolResponse, _BetaToolRunner_completion, _BetaToolRunner_iterationCount, _BetaToolRunner_checkAndCompact, _BetaToolRunner_generateToolResponse;
|
|
2
|
+
var _BetaToolRunner_instances, _BetaToolRunner_consumed, _BetaToolRunner_mutated, _BetaToolRunner_state, _BetaToolRunner_options, _BetaToolRunner_message, _BetaToolRunner_stream, _BetaToolRunner_toolResponse, _BetaToolRunner_completion, _BetaToolRunner_iterationCount, _BetaToolRunner_compaction, _BetaToolRunner_turnPaused, _BetaToolRunner_checkAndCompact, _BetaToolRunner_send, _BetaToolRunner_compact, _BetaToolRunner_compactAfterFinalTurn, _BetaToolRunner_generateToolResponse;
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.BetaToolRunner = void 0;
|
|
5
5
|
const tslib_1 = require("../../internal/tslib.js");
|
|
@@ -8,6 +8,7 @@ const error_1 = require("../../core/error.js");
|
|
|
8
8
|
const headers_1 = require("../../internal/headers.js");
|
|
9
9
|
const promise_1 = require("../../internal/utils/promise.js");
|
|
10
10
|
const values_1 = require("../../internal/utils/values.js");
|
|
11
|
+
const log_1 = require("../../internal/utils/log.js");
|
|
11
12
|
const CompactionControl_1 = require("./CompactionControl.js");
|
|
12
13
|
const stainless_helper_header_1 = require("../../internal/stainless-helper-header.js");
|
|
13
14
|
var BetaToolRunner = /* @__PURE__ */ (() => {
|
|
@@ -30,12 +31,19 @@ var BetaToolRunner = /* @__PURE__ */ (() => {
|
|
|
30
31
|
_BetaToolRunner_options.set(this, void 0);
|
|
31
32
|
/** Promise for the last message received from the assistant */
|
|
32
33
|
_BetaToolRunner_message.set(this, void 0);
|
|
34
|
+
/** The stream of the request in progress, when streaming */
|
|
35
|
+
_BetaToolRunner_stream.set(this, void 0);
|
|
33
36
|
/** Cached tool response to avoid redundant executions */
|
|
34
37
|
_BetaToolRunner_toolResponse.set(this, void 0);
|
|
35
38
|
/** Promise resolvers for waiting on completion */
|
|
36
39
|
_BetaToolRunner_completion.set(this, void 0);
|
|
37
40
|
/** Number of iterations (API requests) made so far */
|
|
38
41
|
_BetaToolRunner_iterationCount.set(this, 0);
|
|
42
|
+
/** A compaction scheduled with `compactBeforeNextTurn()`, in flight until its response has been handled */
|
|
43
|
+
_BetaToolRunner_compaction.set(this, { status: 'idle' });
|
|
44
|
+
/** Whether the last turn was paused; a scheduled compaction waits for it to be resumed */
|
|
45
|
+
_BetaToolRunner_turnPaused.set(this, false);
|
|
46
|
+
rejectCompactionParam(params);
|
|
39
47
|
tslib_1.__classPrivateFieldSet(this, _BetaToolRunner_state, {
|
|
40
48
|
params: {
|
|
41
49
|
// You can't clone the entire params since there are functions as handlers.
|
|
@@ -64,7 +72,7 @@ var BetaToolRunner = /* @__PURE__ */ (() => {
|
|
|
64
72
|
'See https://platform.claude.com/docs/en/build-with-claude/compaction');
|
|
65
73
|
}
|
|
66
74
|
}
|
|
67
|
-
async *[(_BetaToolRunner_consumed = new WeakMap(), _BetaToolRunner_mutated = new WeakMap(), _BetaToolRunner_state = new WeakMap(), _BetaToolRunner_options = new WeakMap(), _BetaToolRunner_message = new WeakMap(), _BetaToolRunner_toolResponse = new WeakMap(), _BetaToolRunner_completion = new WeakMap(), _BetaToolRunner_iterationCount = new WeakMap(), _BetaToolRunner_instances = new WeakSet(), _BetaToolRunner_checkAndCompact = async function _BetaToolRunner_checkAndCompact() {
|
|
75
|
+
async *[(_BetaToolRunner_consumed = new WeakMap(), _BetaToolRunner_mutated = new WeakMap(), _BetaToolRunner_state = new WeakMap(), _BetaToolRunner_options = new WeakMap(), _BetaToolRunner_message = new WeakMap(), _BetaToolRunner_stream = new WeakMap(), _BetaToolRunner_toolResponse = new WeakMap(), _BetaToolRunner_completion = new WeakMap(), _BetaToolRunner_iterationCount = new WeakMap(), _BetaToolRunner_compaction = new WeakMap(), _BetaToolRunner_turnPaused = new WeakMap(), _BetaToolRunner_instances = new WeakSet(), _BetaToolRunner_checkAndCompact = async function _BetaToolRunner_checkAndCompact() {
|
|
68
76
|
const compactionControl = tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_state, "f").params.compactionControl;
|
|
69
77
|
if (!compactionControl || !compactionControl.enabled) {
|
|
70
78
|
return false;
|
|
@@ -144,34 +152,28 @@ var BetaToolRunner = /* @__PURE__ */ (() => {
|
|
|
144
152
|
tslib_1.__classPrivateFieldSet(this, _BetaToolRunner_toolResponse, undefined, "f");
|
|
145
153
|
try {
|
|
146
154
|
while (true) {
|
|
147
|
-
let stream;
|
|
148
155
|
try {
|
|
149
156
|
if (tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_state, "f").params.max_iterations &&
|
|
150
157
|
tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_iterationCount, "f") >= tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_state, "f").params.max_iterations) {
|
|
151
158
|
break;
|
|
152
159
|
}
|
|
160
|
+
// The API can't compact a conversation that ends mid-turn, so a paused turn is resumed first.
|
|
161
|
+
if (tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_compaction, "f").status === 'scheduled' && !tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_turnPaused, "f")) {
|
|
162
|
+
yield* tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_instances, "m", _BetaToolRunner_compact).call(this, tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_compaction, "f").config);
|
|
163
|
+
continue;
|
|
164
|
+
}
|
|
153
165
|
tslib_1.__classPrivateFieldSet(this, _BetaToolRunner_mutated, false, "f");
|
|
154
166
|
tslib_1.__classPrivateFieldSet(this, _BetaToolRunner_toolResponse, undefined, "f");
|
|
155
167
|
tslib_1.__classPrivateFieldSet(this, _BetaToolRunner_iterationCount, (_a = tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_iterationCount, "f"), _a++, _a), "f");
|
|
156
168
|
tslib_1.__classPrivateFieldSet(this, _BetaToolRunner_message, undefined, "f");
|
|
157
169
|
const { max_iterations, compactionControl, ...params } = tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_state, "f").params;
|
|
158
|
-
|
|
159
|
-
stream = this.client.beta.messages.stream({ ...params }, tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_options, "f"));
|
|
160
|
-
tslib_1.__classPrivateFieldSet(this, _BetaToolRunner_message, stream.finalMessage(), "f");
|
|
161
|
-
// Make sure that this promise doesn't throw before we get the option to do something about it.
|
|
162
|
-
// Error will be caught when we call await this.#message ultimately
|
|
163
|
-
tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_message, "f").catch(() => { });
|
|
164
|
-
yield stream;
|
|
165
|
-
}
|
|
166
|
-
else {
|
|
167
|
-
tslib_1.__classPrivateFieldSet(this, _BetaToolRunner_message, this.client.beta.messages.create({ ...params, stream: false }, tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_options, "f")), "f");
|
|
168
|
-
yield tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_message, "f");
|
|
169
|
-
}
|
|
170
|
+
yield* tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_instances, "m", _BetaToolRunner_send).call(this, params);
|
|
170
171
|
const isCompacted = await tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_instances, "m", _BetaToolRunner_checkAndCompact).call(this);
|
|
171
172
|
if (!isCompacted) {
|
|
172
173
|
if (!tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_mutated, "f")) {
|
|
173
174
|
const message = await tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_message, "f");
|
|
174
175
|
const nextStep = determineNextStepFromStopReason(message.stop_reason);
|
|
176
|
+
tslib_1.__classPrivateFieldSet(this, _BetaToolRunner_turnPaused, nextStep === 'resume', "f");
|
|
175
177
|
tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_state, "f").params.messages.push({ role: message.role, content: message.content });
|
|
176
178
|
// Container-bound server tools reject a follow-up request that omits the container the
|
|
177
179
|
// previous turn ran in, so carry its id forward unless the caller pinned one themselves.
|
|
@@ -185,25 +187,30 @@ var BetaToolRunner = /* @__PURE__ */ (() => {
|
|
|
185
187
|
}
|
|
186
188
|
}
|
|
187
189
|
if (nextStep === 'stop') {
|
|
190
|
+
yield* tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_instances, "m", _BetaToolRunner_compactAfterFinalTurn).call(this);
|
|
188
191
|
break;
|
|
189
192
|
}
|
|
190
193
|
if (nextStep === 'resume') {
|
|
191
194
|
continue;
|
|
192
195
|
}
|
|
193
196
|
}
|
|
197
|
+
else {
|
|
198
|
+
// The caller has taken over the history, so the last response no longer says how it ends.
|
|
199
|
+
tslib_1.__classPrivateFieldSet(this, _BetaToolRunner_turnPaused, false, "f");
|
|
200
|
+
}
|
|
194
201
|
const toolMessage = await tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_instances, "m", _BetaToolRunner_generateToolResponse).call(this, tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_state, "f").params.messages.at(-1));
|
|
195
202
|
if (toolMessage) {
|
|
196
203
|
tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_state, "f").params.messages.push(toolMessage);
|
|
197
204
|
}
|
|
198
205
|
else if (!tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_mutated, "f")) {
|
|
206
|
+
yield* tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_instances, "m", _BetaToolRunner_compactAfterFinalTurn).call(this);
|
|
199
207
|
break;
|
|
200
208
|
}
|
|
201
209
|
}
|
|
202
210
|
}
|
|
203
211
|
finally {
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
}
|
|
212
|
+
tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_stream, "f")?.abort();
|
|
213
|
+
tslib_1.__classPrivateFieldSet(this, _BetaToolRunner_stream, undefined, "f");
|
|
207
214
|
}
|
|
208
215
|
}
|
|
209
216
|
if (!tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_message, "f")) {
|
|
@@ -221,12 +228,16 @@ var BetaToolRunner = /* @__PURE__ */ (() => {
|
|
|
221
228
|
}
|
|
222
229
|
}
|
|
223
230
|
setMessagesParams(paramsOrMutator) {
|
|
224
|
-
|
|
225
|
-
|
|
231
|
+
const params = typeof paramsOrMutator === 'function' ? paramsOrMutator(tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_state, "f").params) : paramsOrMutator;
|
|
232
|
+
rejectCompactionParam(params);
|
|
233
|
+
if (tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_compaction, "f").status !== 'idle') {
|
|
234
|
+
rejectCompactionEdit(params);
|
|
226
235
|
}
|
|
227
|
-
|
|
228
|
-
|
|
236
|
+
if (tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_compaction, "f").status === 'in_flight' && params.messages !== tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_state, "f").params.messages) {
|
|
237
|
+
throw new error_1.AnthropicError("Message params can't be changed while the conversation is being compacted, because the compaction " +
|
|
238
|
+
'response is about to replace them. Change them after this iteration instead.');
|
|
229
239
|
}
|
|
240
|
+
tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_state, "f").params = params;
|
|
230
241
|
tslib_1.__classPrivateFieldSet(this, _BetaToolRunner_mutated, true, "f");
|
|
231
242
|
// Invalidate cached tool response since parameters changed
|
|
232
243
|
tslib_1.__classPrivateFieldSet(this, _BetaToolRunner_toolResponse, undefined, "f");
|
|
@@ -336,6 +347,27 @@ var BetaToolRunner = /* @__PURE__ */ (() => {
|
|
|
336
347
|
messages: [...params.messages, ...messages],
|
|
337
348
|
}));
|
|
338
349
|
}
|
|
350
|
+
/**
|
|
351
|
+
* Schedule a compaction of the conversation. Once the current turn has finished, including any tool
|
|
352
|
+
* calls, the runner requests a summary and replaces the message history with the compaction response,
|
|
353
|
+
* which is yielded like any other message. Requires the `compact-2026-09-04` beta.
|
|
354
|
+
*
|
|
355
|
+
* @param compaction - The config to send, as `messages.create()` takes it. Defaults to `{ type: 'summarize' }`
|
|
356
|
+
*
|
|
357
|
+
* @example
|
|
358
|
+
* for await (const message of runner) {
|
|
359
|
+
* if (message.usage.input_tokens > 100_000) {
|
|
360
|
+
* runner.compactBeforeNextTurn();
|
|
361
|
+
* }
|
|
362
|
+
* }
|
|
363
|
+
*/
|
|
364
|
+
compactBeforeNextTurn(compaction) {
|
|
365
|
+
if (tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_compaction, "f").status === 'in_flight') {
|
|
366
|
+
return;
|
|
367
|
+
}
|
|
368
|
+
rejectCompactionEdit(tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_state, "f").params);
|
|
369
|
+
tslib_1.__classPrivateFieldSet(this, _BetaToolRunner_compaction, { status: 'scheduled', config: compaction ?? { type: 'summarize' } }, "f");
|
|
370
|
+
}
|
|
339
371
|
/**
|
|
340
372
|
* Makes the ToolRunner directly awaitable, equivalent to calling .runUntilDone()
|
|
341
373
|
* This allows using `await runner` instead of `await runner.runUntilDone()`
|
|
@@ -344,7 +376,63 @@ var BetaToolRunner = /* @__PURE__ */ (() => {
|
|
|
344
376
|
return this.runUntilDone().then(onfulfilled, onrejected);
|
|
345
377
|
}
|
|
346
378
|
}
|
|
347
|
-
|
|
379
|
+
_BetaToolRunner_send =
|
|
380
|
+
/**
|
|
381
|
+
* Sends one request and yields its message, or its stream when streaming. `#message` and `#stream` are set
|
|
382
|
+
* before the yield, so they are there while the caller handles the item; the loop aborts the stream at the
|
|
383
|
+
* end of the iteration.
|
|
384
|
+
*/
|
|
385
|
+
async function* _BetaToolRunner_send(params) {
|
|
386
|
+
if (params.stream) {
|
|
387
|
+
tslib_1.__classPrivateFieldSet(this, _BetaToolRunner_stream, this.client.beta.messages.stream({ ...params }, tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_options, "f")), "f");
|
|
388
|
+
tslib_1.__classPrivateFieldSet(this, _BetaToolRunner_message, tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_stream, "f").finalMessage(), "f");
|
|
389
|
+
// Make sure that this promise doesn't throw before we get the option to do something about it.
|
|
390
|
+
// Error will be caught when we call await this.#message ultimately
|
|
391
|
+
tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_message, "f").catch(() => { });
|
|
392
|
+
yield tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_stream, "f");
|
|
393
|
+
}
|
|
394
|
+
else {
|
|
395
|
+
tslib_1.__classPrivateFieldSet(this, _BetaToolRunner_message, this.client.beta.messages.create({ ...params, stream: false }, tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_options, "f")), "f");
|
|
396
|
+
yield tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_message, "f");
|
|
397
|
+
}
|
|
398
|
+
}, _BetaToolRunner_compact = async function* _BetaToolRunner_compact(compaction) {
|
|
399
|
+
rejectCompactionEdit(tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_state, "f").params);
|
|
400
|
+
// The API refuses `compaction` alongside `context_management`; later requests keep it.
|
|
401
|
+
const { max_iterations, compactionControl, context_management, ...params } = tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_state, "f").params;
|
|
402
|
+
tslib_1.__classPrivateFieldSet(this, _BetaToolRunner_compaction, { status: 'in_flight' }, "f");
|
|
403
|
+
tslib_1.__classPrivateFieldSet(this, _BetaToolRunner_toolResponse, undefined, "f");
|
|
404
|
+
const lastMessage = tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_message, "f");
|
|
405
|
+
try {
|
|
406
|
+
yield* tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_instances, "m", _BetaToolRunner_send).call(this, { ...params, compaction });
|
|
407
|
+
const message = await tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_message, "f");
|
|
408
|
+
if (message.content.some((block) => block.type === 'compaction' && block.content)) {
|
|
409
|
+
// The response has to be sent back as it came, first, replacing the messages it summarizes.
|
|
410
|
+
tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_state, "f").params.messages = [{ role: message.role, content: message.content }];
|
|
411
|
+
}
|
|
412
|
+
else {
|
|
413
|
+
(0, log_1.loggerFor)(this.client).warn('Compaction produced no summary; keeping the conversation as it is.');
|
|
414
|
+
// If the run ends here, `done()` resolves to the last real message rather than this response.
|
|
415
|
+
tslib_1.__classPrivateFieldSet(this, _BetaToolRunner_message, lastMessage, "f");
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
finally {
|
|
419
|
+
tslib_1.__classPrivateFieldSet(this, _BetaToolRunner_compaction, { status: 'idle' }, "f");
|
|
420
|
+
}
|
|
421
|
+
}, _BetaToolRunner_compactAfterFinalTurn = async function* _BetaToolRunner_compactAfterFinalTurn() {
|
|
422
|
+
if (tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_compaction, "f").status !== 'scheduled') {
|
|
423
|
+
return;
|
|
424
|
+
}
|
|
425
|
+
const lastContent = tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_state, "f").params.messages.at(-1)?.content;
|
|
426
|
+
if (Array.isArray(lastContent) && lastContent.some((block) => block.type === 'tool_use')) {
|
|
427
|
+
// A turn that was cut short can end with tool calls that are never run, and the API can't
|
|
428
|
+
// compact a conversation whose last turn has an unanswered tool call.
|
|
429
|
+
(0, log_1.loggerFor)(this.client).warn('The pending compaction was skipped because the last turn ended with tool calls that were not run. ' +
|
|
430
|
+
'Call `compactBeforeNextTurn()` again if you continue the conversation.');
|
|
431
|
+
tslib_1.__classPrivateFieldSet(this, _BetaToolRunner_compaction, { status: 'idle' }, "f");
|
|
432
|
+
return;
|
|
433
|
+
}
|
|
434
|
+
yield* tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_instances, "m", _BetaToolRunner_compact).call(this, tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_compaction, "f").config);
|
|
435
|
+
}, _BetaToolRunner_generateToolResponse = async function _BetaToolRunner_generateToolResponse(lastMessage, signal = tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_options, "f").signal) {
|
|
348
436
|
if (tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_toolResponse, "f") !== undefined) {
|
|
349
437
|
return tslib_1.__classPrivateFieldGet(this, _BetaToolRunner_toolResponse, "f");
|
|
350
438
|
}
|
|
@@ -357,6 +445,20 @@ var BetaToolRunner = /* @__PURE__ */ (() => {
|
|
|
357
445
|
return BetaToolRunner;
|
|
358
446
|
})();
|
|
359
447
|
exports.BetaToolRunner = BetaToolRunner;
|
|
448
|
+
function rejectCompactionParam(params) {
|
|
449
|
+
if ('compaction' in params && params.compaction != null) {
|
|
450
|
+
throw new error_1.AnthropicError('`compaction` cannot be set on a tool runner: every request in the loop would compact again. ' +
|
|
451
|
+
'Call `runner.compactBeforeNextTurn()` when the conversation should be compacted instead.');
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
function rejectCompactionEdit(params) {
|
|
455
|
+
// The compaction request is sent without `context_management`, so the API can't refuse the pair there:
|
|
456
|
+
// it would run and bill the compaction, then refuse the next request.
|
|
457
|
+
if (params.context_management?.edits?.some((edit) => edit.type.startsWith('compact_'))) {
|
|
458
|
+
throw new error_1.AnthropicError("`compactBeforeNextTurn()` can't be used while `context_management` has a compaction edit, " +
|
|
459
|
+
"because the API doesn't accept a compaction block together with one. Remove the edit first.");
|
|
460
|
+
}
|
|
461
|
+
}
|
|
360
462
|
async function generateToolResponse(params, lastMessage = params.messages.at(-1), requestOptions) {
|
|
361
463
|
// Only process if the last message is from the assistant and has tool use blocks
|
|
362
464
|
if (!lastMessage ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BetaToolRunner.js","sourceRoot":"","sources":["../../src/lib/tools/BetaToolRunner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BetaToolRunner.js","sourceRoot":"","sources":["../../src/lib/tools/BetaToolRunner.ts"],"names":[],"mappings":";;;;;AACA,8CAAwC;AAExC,+CAAkD;AAiBlD,uDAAsD;AACtD,6DAAoE;AACpE,2DAAyD;AACzD,qDAAqD;AACrD,8DAAyG;AACzG,uFAIgD;;IAGhD;;;;;OAKG;IACH,MAAa,cAAc;QA2BzB,YACU,MAAiB,EACzB,MAA4B,EAC5B,OAAsC;;YAF9B,WAAM,GAAN,MAAM,CAAW;YA3B3B,mDAAmD;YACnD,mCAAY,KAAK,EAAC;YAClB,mEAAmE;YACnE,kCAAW,KAAK,EAAC;YACjB,sDAAsD;YACtD,wCAAyC;YACzC,0CAAuC;YACvC,+DAA+D;YAC/D,0CAA4C;YAC5C,4DAA4D;YAC5D,yCAAwC;YACxC,yDAAyD;YACzD,+CAA6D;YAC7D,kDAAkD;YAClD,6CAIE;YACF,sDAAsD;YACtD,yCAAkB,CAAC,EAAC;YACpB,2GAA2G;YAC3G,qCAA0B,EAAE,MAAM,EAAE,MAAM,EAAE,EAAC;YAC7C,0FAA0F;YAC1F,qCAAc,KAAK,EAAC;YAOlB,qBAAqB,CAAC,MAAM,CAAC,CAAC;YAC9B,+BAAA,IAAI,yBAAU;gBACZ,MAAM,EAAE;oBACN,2EAA2E;oBAC3E,+FAA+F;oBAC/F,aAAa;oBACb,GAAG,MAAM;oBACT,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC;iBAC3C;aACF,MAAA,CAAC;YAEF,yEAAyE;YACzE,wEAAwE;YACxE,+BAA+B;YAC/B,MAAM,SAAS,GAAG,IAAA,iDAAuB,EAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YACzE,+BAAA,IAAI,2BAAY;gBACd,GAAG,OAAO;gBACV,OAAO,EAAE,IAAA,sBAAY,EAAC;oBACpB,IAAA,sCAAY,EAAC,gBAAgB,CAAC;oBAC9B,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,iDAAuB,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;oBAClF,OAAO,EAAE,OAAO;iBACjB,CAAC;aACH,MAAA,CAAC;YACF,+BAAA,IAAI,8BAAe,IAAA,8BAAoB,GAAE,MAAA,CAAC;YAE1C,IAAI,MAAM,CAAC,iBAAiB,EAAE,OAAO,EAAE,CAAC;gBACtC,OAAO,CAAC,IAAI,CACV,sGAAsG;oBACpG,gIAAgI;oBAChI,sEAAsE,CACzE,CAAC;YACJ,CAAC;QACH,CAAC;QAqFD,KAAK,CAAC,CAAC,qiBAnFP,KAAK;YACH,MAAM,iBAAiB,GAAG,+BAAA,IAAI,6BAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC;YAC/D,IAAI,CAAC,iBAAiB,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;gBACrD,OAAO,KAAK,CAAC;YACf,CAAC;YAED,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,IAAI,+BAAA,IAAI,+BAAS,KAAK,SAAS,EAAE,CAAC;gBAChC,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,+BAAA,IAAI,+BAAS,CAAC;oBACpC,MAAM,gBAAgB,GACpB,OAAO,CAAC,KAAK,CAAC,YAAY;wBAC1B,CAAC,OAAO,CAAC,KAAK,CAAC,2BAA2B,IAAI,CAAC,CAAC;wBAChD,CAAC,OAAO,CAAC,KAAK,CAAC,uBAAuB,IAAI,CAAC,CAAC,CAAC;oBAC/C,UAAU,GAAG,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC;gBAC9D,CAAC;gBAAC,MAAM,CAAC;oBACP,+CAA+C;oBAC/C,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;YAED,MAAM,SAAS,GAAG,iBAAiB,CAAC,qBAAqB,IAAI,2CAAuB,CAAC;YAErF,IAAI,UAAU,GAAG,SAAS,EAAE,CAAC;gBAC3B,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,IAAI,+BAAA,IAAI,6BAAO,CAAC,MAAM,CAAC,KAAK,CAAC;YAClE,MAAM,aAAa,GAAG,iBAAiB,CAAC,aAAa,IAAI,0CAAsB,CAAC;YAEhF,MAAM,QAAQ,GAAG,+BAAA,IAAI,6BAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;YAE7C,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACxD,kEAAkE;gBAClE,2DAA2D;gBAC3D,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;gBACnD,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;oBACvC,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;oBAEvF,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC/B,gEAAgE;wBAChE,QAAQ,CAAC,GAAG,EAAE,CAAC;oBACjB,CAAC;yBAAM,CAAC;wBACN,WAAW,CAAC,OAAO,GAAG,aAAa,CAAC;oBACtC,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CACrD;gBACE,KAAK;gBACL,QAAQ,EAAE;oBACR,GAAG,QAAQ;oBACX;wBACE,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,aAAa;6BACpB;yBACF;qBACF;iBACF;gBACD,UAAU,EAAE,+BAAA,IAAI,6BAAO,CAAC,MAAM,CAAC,UAAU;aAC1C,EACD;gBACE,MAAM,EAAE,+BAAA,IAAI,+BAAS,CAAC,MAAM;gBAC5B,OAAO,EAAE,IAAA,sBAAY,EAAC,CAAC,+BAAA,IAAI,+BAAS,CAAC,OAAO,EAAE,IAAA,sCAAY,EAAC,YAAY,CAAC,CAAC,CAAC;aAC3E,CACF,CAAC;YAEF,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;gBACzC,MAAM,IAAI,sBAAc,CAAC,uCAAuC,CAAC,CAAC;YACpE,CAAC;YACD,+BAAA,IAAI,6BAAO,CAAC,MAAM,CAAC,QAAQ,GAAG;gBAC5B;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,QAAQ,CAAC,OAAO;iBAC1B;aACF,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC,EAEO,MAAM,CAAC,aAAa,EAAC;;YAK3B,IAAI,+BAAA,IAAI,gCAAU,EAAE,CAAC;gBACnB,MAAM,IAAI,sBAAc,CAAC,uCAAuC,CAAC,CAAC;YACpE,CAAC;YAED,+BAAA,IAAI,4BAAa,IAAI,MAAA,CAAC;YACtB,+BAAA,IAAI,2BAAY,IAAI,MAAA,CAAC;YACrB,+BAAA,IAAI,gCAAiB,SAAS,MAAA,CAAC;YAE/B,IAAI,CAAC;gBACH,OAAO,IAAI,EAAE,CAAC;oBACZ,IAAI,CAAC;wBACH,IACE,+BAAA,IAAI,6BAAO,CAAC,MAAM,CAAC,cAAc;4BACjC,+BAAA,IAAI,sCAAgB,IAAI,+BAAA,IAAI,6BAAO,CAAC,MAAM,CAAC,cAAc,EACzD,CAAC;4BACD,MAAM;wBACR,CAAC;wBAED,8FAA8F;wBAC9F,IAAI,+BAAA,IAAI,kCAAY,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,+BAAA,IAAI,kCAAY,EAAE,CAAC;4BACjE,KAAK,CAAC,CAAC,+BAAA,IAAI,0DAAS,MAAb,IAAI,EAAU,+BAAA,IAAI,kCAAY,CAAC,MAAM,CAAC,CAAC;4BAC9C,SAAS;wBACX,CAAC;wBAED,+BAAA,IAAI,2BAAY,KAAK,MAAA,CAAC;wBACtB,+BAAA,IAAI,gCAAiB,SAAS,MAAA,CAAC;wBAC/B,qEAAA,CAAA,8EAAoB,EAApB,IAAsB,IAAA,CAAA,MAAA,CAAC;wBACvB,+BAAA,IAAI,2BAAY,SAAS,MAAA,CAAC;wBAE1B,MAAM,EAAE,cAAc,EAAE,iBAAiB,EAAE,GAAG,MAAM,EAAE,GAAG,+BAAA,IAAI,6BAAO,CAAC,MAAM,CAAC;wBAE5E,KAAK,CAAC,CAAC,+BAAA,IAAI,uDAAM,MAAV,IAAI,EAAO,MAAM,CAAC,CAAC;wBAE1B,MAAM,WAAW,GAAG,MAAM,+BAAA,IAAI,kEAAiB,MAArB,IAAI,CAAmB,CAAC;wBAClD,IAAI,CAAC,WAAW,EAAE,CAAC;4BACjB,IAAI,CAAC,+BAAA,IAAI,+BAAS,EAAE,CAAC;gCACnB,MAAM,OAAO,GAAG,MAAM,+BAAA,IAAI,+BAAU,CAAC;gCACrC,MAAM,QAAQ,GAAG,+BAA+B,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gCACtE,+BAAA,IAAI,8BAAe,QAAQ,KAAK,QAAQ,MAAA,CAAC;gCACzC,+BAAA,IAAI,6BAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;gCAEnF,uFAAuF;gCACvF,yFAAyF;gCACzF,MAAM,EAAE,SAAS,EAAE,GAAG,+BAAA,IAAI,6BAAO,CAAC,MAAM,CAAC;gCACzC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;oCACtB,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;wCACtB,+BAAA,IAAI,6BAAO,CAAC,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;oCACtD,CAAC;yCAAM,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;wCACjE,+BAAA,IAAI,6BAAO,CAAC,MAAM,CAAC,SAAS,GAAG,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;oCAC5E,CAAC;gCACH,CAAC;gCAED,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;oCACxB,KAAK,CAAC,CAAC,+BAAA,IAAI,wEAAuB,MAA3B,IAAI,CAAyB,CAAC;oCACrC,MAAM;gCACR,CAAC;gCACD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;oCAC1B,SAAS;gCACX,CAAC;4BACH,CAAC;iCAAM,CAAC;gCACN,0FAA0F;gCAC1F,+BAAA,IAAI,8BAAe,KAAK,MAAA,CAAC;4BAC3B,CAAC;4BAED,MAAM,WAAW,GAAG,MAAM,+BAAA,IAAI,uEAAsB,MAA1B,IAAI,EAAuB,+BAAA,IAAI,6BAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;4BAC1F,IAAI,WAAW,EAAE,CAAC;gCAChB,+BAAA,IAAI,6BAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;4BAChD,CAAC;iCAAM,IAAI,CAAC,+BAAA,IAAI,+BAAS,EAAE,CAAC;gCAC1B,KAAK,CAAC,CAAC,+BAAA,IAAI,wEAAuB,MAA3B,IAAI,CAAyB,CAAC;gCACrC,MAAM;4BACR,CAAC;wBACH,CAAC;oBACH,CAAC;4BAAS,CAAC;wBACT,+BAAA,IAAI,8BAAQ,EAAE,KAAK,EAAE,CAAC;wBACtB,+BAAA,IAAI,0BAAW,SAAS,MAAA,CAAC;oBAC3B,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,+BAAA,IAAI,+BAAS,EAAE,CAAC;oBACnB,MAAM,IAAI,sBAAc,CAAC,wDAAwD,CAAC,CAAC;gBACrF,CAAC;gBAED,+BAAA,IAAI,kCAAY,CAAC,OAAO,CAAC,MAAM,+BAAA,IAAI,+BAAS,CAAC,CAAC;YAChD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,+BAAA,IAAI,4BAAa,KAAK,MAAA,CAAC;gBACvB,mCAAmC;gBACnC,+BAAA,IAAI,kCAAY,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBACzC,+BAAA,IAAI,kCAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC/B,+BAAA,IAAI,8BAAe,IAAA,8BAAoB,GAAE,MAAA,CAAC;gBAC1C,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAsFD,iBAAiB,CACf,eAAoG;YAEpG,MAAM,MAAM,GACV,OAAO,eAAe,KAAK,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,+BAAA,IAAI,6BAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;YAChG,qBAAqB,CAAC,MAAM,CAAC,CAAC;YAC9B,IAAI,+BAAA,IAAI,kCAAY,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBACvC,oBAAoB,CAAC,MAAM,CAAC,CAAC;YAC/B,CAAC;YACD,IAAI,+BAAA,IAAI,kCAAY,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,QAAQ,KAAK,+BAAA,IAAI,6BAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAC/F,MAAM,IAAI,sBAAc,CACtB,oGAAoG;oBAClG,8EAA8E,CACjF,CAAC;YACJ,CAAC;YACD,+BAAA,IAAI,6BAAO,CAAC,MAAM,GAAG,MAAM,CAAC;YAC5B,+BAAA,IAAI,2BAAY,IAAI,MAAA,CAAC;YACrB,2DAA2D;YAC3D,+BAAA,IAAI,gCAAiB,SAAS,MAAA,CAAC;QACjC,CAAC;QAwBD,iBAAiB,CACf,gBAEiF;YAEjF,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE,CAAC;gBAC3C,+BAAA,IAAI,2BAAY,gBAAgB,CAAC,+BAAA,IAAI,+BAAS,CAAC,MAAA,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACN,+BAAA,IAAI,2BAAY,EAAE,GAAG,+BAAA,IAAI,+BAAS,EAAE,GAAG,gBAAgB,EAAE,MAAA,CAAC;YAC5D,CAAC;QACH,CAAC;QAED;;;;;;;;;;;WAWG;QACH,KAAK,CAAC,oBAAoB,CAAC,SAAyC,+BAAA,IAAI,+BAAS,CAAC,MAAM;YACtF,MAAM,OAAO,GAAG,CAAC,MAAM,+BAAA,IAAI,+BAAS,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACrE,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,+BAAA,IAAI,uEAAsB,MAA1B,IAAI,EAAuB,OAAO,EAAE,MAAM,CAAC,CAAC;QACrD,CAAC;QAgBD;;;;;;;;;;;;;;;WAeG;QACH,IAAI;YACF,OAAO,+BAAA,IAAI,kCAAY,CAAC,OAAO,CAAC;QAClC,CAAC;QAED;;;;;;;;;;;;WAYG;QACH,KAAK,CAAC,YAAY;YAChB,+DAA+D;YAC/D,IAAI,CAAC,+BAAA,IAAI,gCAAU,EAAE,CAAC;gBACpB,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;oBAC3B,6CAA6C;gBAC/C,CAAC;YACH,CAAC;YAED,qDAAqD;YACrD,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;QACrB,CAAC;QAED;;;;;;;;;WASG;QACH,IAAI,MAAM;YACR,OAAO,+BAAA,IAAI,6BAAO,CAAC,MAAwC,CAAC;QAC9D,CAAC;QAED;;;;;;;;;;;;;;;;WAgBG;QACH,YAAY,CAAC,GAAG,QAA4B;YAC1C,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAClC,GAAG,MAAM;gBACT,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC;aAC5C,CAAC,CAAC,CAAC;QACN,CAAC;QAED;;;;;;;;;;;;;WAaG;QACH,qBAAqB,CAAC,UAAiC;YACrD,IAAI,+BAAA,IAAI,kCAAY,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAC5C,OAAO;YACT,CAAC;YACD,oBAAoB,CAAC,+BAAA,IAAI,6BAAO,CAAC,MAAM,CAAC,CAAC;YACzC,+BAAA,IAAI,8BAAe,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,MAAA,CAAC;QAC1F,CAAC;QAED;;;WAGG;QACH,IAAI,CACF,WAA2F,EAC3F,UAAmF;YAEnF,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAC3D,CAAC;KACF;;IAhSC;;;;OAIG;IACH,KAAK,SAAC,CAAC,sBAAM,MAA2B;QACtC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,+BAAA,IAAI,0BAAW,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,EAAE,EAAE,+BAAA,IAAI,+BAAS,CAAC,MAAA,CAAC;YAC9E,+BAAA,IAAI,2BAAY,+BAAA,IAAI,8BAAQ,CAAC,YAAY,EAAE,MAAA,CAAC;YAC5C,+FAA+F;YAC/F,mEAAmE;YACnE,+BAAA,IAAI,+BAAS,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC9B,MAAM,+BAAA,IAAI,8BAAe,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,+BAAA,IAAI,2BAAY,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,+BAAA,IAAI,+BAAS,CAAC,MAAA,CAAC;YAC9F,MAAM,+BAAA,IAAI,+BAAgB,CAAC;QAC7B,CAAC;IACH,CAAC,4BAED,KAAK,SAAC,CAAC,yBACL,UAAgC;QAEhC,oBAAoB,CAAC,+BAAA,IAAI,6BAAO,CAAC,MAAM,CAAC,CAAC;QACzC,uFAAuF;QACvF,MAAM,EAAE,cAAc,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,GAAG,MAAM,EAAE,GAAG,+BAAA,IAAI,6BAAO,CAAC,MAAM,CAAC;QAChG,+BAAA,IAAI,8BAAe,EAAE,MAAM,EAAE,WAAW,EAAE,MAAA,CAAC;QAC3C,+BAAA,IAAI,gCAAiB,SAAS,MAAA,CAAC;QAC/B,MAAM,WAAW,GAAG,+BAAA,IAAI,+BAAS,CAAC;QAElC,IAAI,CAAC;YACH,KAAK,CAAC,CAAC,+BAAA,IAAI,uDAAM,MAAV,IAAI,EAAO,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;YAC7C,MAAM,OAAO,GAAG,MAAM,+BAAA,IAAI,+BAAU,CAAC;YACrC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBAClF,4FAA4F;gBAC5F,+BAAA,IAAI,6BAAO,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YACnF,CAAC;iBAAM,CAAC;gBACN,IAAA,eAAS,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;gBAClG,8FAA8F;gBAC9F,+BAAA,IAAI,2BAAY,WAAW,MAAA,CAAC;YAC9B,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,+BAAA,IAAI,8BAAe,EAAE,MAAM,EAAE,MAAM,EAAE,MAAA,CAAC;QACxC,CAAC;IACH,CAAC,0CAED,KAAK,SAAC,CAAC;QACL,IAAI,+BAAA,IAAI,kCAAY,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAC5C,OAAO;QACT,CAAC;QACD,MAAM,WAAW,GAAG,+BAAA,IAAI,6BAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;QAChE,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,EAAE,CAAC;YACzF,0FAA0F;YAC1F,sEAAsE;YACtE,IAAA,eAAS,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CACzB,oGAAoG;gBAClG,wEAAwE,CAC3E,CAAC;YACF,+BAAA,IAAI,8BAAe,EAAE,MAAM,EAAE,MAAM,EAAE,MAAA,CAAC;YACtC,OAAO;QACT,CAAC;QACD,KAAK,CAAC,CAAC,+BAAA,IAAI,0DAAS,MAAb,IAAI,EAAU,+BAAA,IAAI,kCAAY,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC,yCAkGD,KAAK,+CACH,WAA6B,EAC7B,SAAyC,+BAAA,IAAI,+BAAS,CAAC,MAAM;QAE7D,IAAI,+BAAA,IAAI,oCAAc,KAAK,SAAS,EAAE,CAAC;YACrC,OAAO,+BAAA,IAAI,oCAAc,CAAC;QAC5B,CAAC;QACD,+BAAA,IAAI,gCAAiB,oBAAoB,CAAC,+BAAA,IAAI,6BAAO,CAAC,MAAM,EAAE,WAAW,EAAE;YACzE,GAAG,+BAAA,IAAI,+BAAS;YAChB,MAAM;SACP,CAAC,MAAA,CAAC;QACH,OAAO,+BAAA,IAAI,oCAAc,CAAC;IAC5B,CAAC;;;AAlaH,wCAuhBC;AAED,SAAS,qBAAqB,CAAC,MAA4B;IACzD,IAAI,YAAY,IAAI,MAAM,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;QACxD,MAAM,IAAI,sBAAc,CACtB,8FAA8F;YAC5F,0FAA0F,CAC7F,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,MAA4B;IACxD,uGAAuG;IACvG,sEAAsE;IACtE,IAAI,MAAM,CAAC,kBAAkB,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QACvF,MAAM,IAAI,sBAAc,CACtB,4FAA4F;YAC1F,6FAA6F,CAChG,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,MAA4B,EAC5B,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EACpC,cAA6C;IAE7C,iFAAiF;IACjF,IACE,CAAC,WAAW;QACZ,WAAW,CAAC,IAAI,KAAK,WAAW;QAChC,CAAC,WAAW,CAAC,OAAO;QACpB,OAAO,WAAW,CAAC,OAAO,KAAK,QAAQ,EACvC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IAC3F,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CACnC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAClC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAC5B,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;YACrB,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe;gBAC5C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAC7B,CAAC;QACF,sFAAsF;QACtF,2EAA2E;QAC3E,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9D,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,CAAC;YACH,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YAC1B,IAAI,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAClC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE;gBACnC,OAAO,EAAE,OAAO;gBAChB,YAAY,EAAE,OAAO;gBACrB,MAAM,EAAE,cAAc,EAAE,MAAM;aAC/B,CAAC,CAAC;YACH,OAAO;gBACL,IAAI,EAAE,aAAsB;gBAC5B,WAAW,EAAE,OAAO,CAAC,EAAE;gBACvB,OAAO,EAAE,MAAM;aAChB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,IAAI,EAAE,aAAsB;gBAC5B,WAAW,EAAE,OAAO,CAAC,EAAE;gBACvB,OAAO,EACL,KAAK,YAAY,qBAAS,CAAC,CAAC;oBAC1B,KAAK,CAAC,OAAO;oBACf,CAAC,CAAC,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gBACtE,QAAQ,EAAE,IAAI;aACf,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,MAAe;QACrB,OAAO,EAAE,WAAW;KACrB,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAqC;IAC/D,OAAO;QACL,IAAI,EAAE,aAAsB;QAC5B,WAAW,EAAE,OAAO,CAAC,EAAE;QACvB,OAAO,EAAE,gBAAgB,OAAO,CAAC,IAAI,aAAa;QAClD,QAAQ,EAAE,IAAI;KACf,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,kBAAkB,CAAC,MAA4B;IACtD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACrE,SAAS;QACX,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpC,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,eAAe,CAAC,KAA4B,EAAE,SAAsB;IAC3E,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,cAAc,CAAC;QACpB,KAAK,eAAe;YAClB,kBAAkB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YACrC,MAAM;IACV,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CACzB,KAAiE,EACjE,SAAsB;IAEtB,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO;IAC/B,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAClC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;SAAM,CAAC;QACN,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CACzB,GAAqG;IAErG,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,gBAAgB;YACnB,OAAO,GAAG,CAAC,IAAI,CAAC;QAClB;YACE,gFAAgF;YAChF,0CAA0C;YAC1C,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAID;;;;GAIG;AACH,SAAS,+BAA+B,CAAC,UAAiC;IACxE,IAAI,UAAU,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IACvC,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,UAAU;YACb,OAAO,WAAW,CAAC;QACrB,KAAK,YAAY,CAAC;QAClB,uFAAuF;QACvF,0BAA0B;QAC1B,KAAK,YAAY;YACf,OAAO,QAAQ,CAAC;QAClB,KAAK,UAAU,CAAC;QAChB,KAAK,eAAe,CAAC;QACrB,KAAK,YAAY,CAAC;QAClB,KAAK,+BAA+B,CAAC;QACrC,KAAK,SAAS;YACZ,OAAO,MAAM,CAAC;QAChB;YACE,uFAAuF;YACvF,wFAAwF;YACxF,IAAA,mBAAU,EAAC,UAAU,CAAC,CAAC;YACvB,OAAO,MAAM,CAAC;IAClB,CAAC;AACH,CAAC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
var _BetaToolRunner_instances, _BetaToolRunner_consumed, _BetaToolRunner_mutated, _BetaToolRunner_state, _BetaToolRunner_options, _BetaToolRunner_message, _BetaToolRunner_toolResponse, _BetaToolRunner_completion, _BetaToolRunner_iterationCount, _BetaToolRunner_checkAndCompact, _BetaToolRunner_generateToolResponse;
|
|
1
|
+
var _BetaToolRunner_instances, _BetaToolRunner_consumed, _BetaToolRunner_mutated, _BetaToolRunner_state, _BetaToolRunner_options, _BetaToolRunner_message, _BetaToolRunner_stream, _BetaToolRunner_toolResponse, _BetaToolRunner_completion, _BetaToolRunner_iterationCount, _BetaToolRunner_compaction, _BetaToolRunner_turnPaused, _BetaToolRunner_checkAndCompact, _BetaToolRunner_send, _BetaToolRunner_compact, _BetaToolRunner_compactAfterFinalTurn, _BetaToolRunner_generateToolResponse;
|
|
2
2
|
import { __classPrivateFieldGet, __classPrivateFieldSet } from "../../internal/tslib.mjs";
|
|
3
3
|
import { ToolError } from "./ToolError.mjs";
|
|
4
4
|
import { AnthropicError } from "../../core/error.mjs";
|
|
5
5
|
import { buildHeaders } from "../../internal/headers.mjs";
|
|
6
6
|
import { promiseWithResolvers } from "../../internal/utils/promise.mjs";
|
|
7
7
|
import { checkNever } from "../../internal/utils/values.mjs";
|
|
8
|
+
import { loggerFor } from "../../internal/utils/log.mjs";
|
|
8
9
|
import { DEFAULT_SUMMARY_PROMPT, DEFAULT_TOKEN_THRESHOLD } from "./CompactionControl.mjs";
|
|
9
10
|
import { collectStainlessHelpers, helperHeader, STAINLESS_HELPER_HEADER, } from "../../internal/stainless-helper-header.mjs";
|
|
10
11
|
/**
|
|
@@ -33,12 +34,19 @@ export var BetaToolRunner = /* @__PURE__ */ (() => {
|
|
|
33
34
|
_BetaToolRunner_options.set(this, void 0);
|
|
34
35
|
/** Promise for the last message received from the assistant */
|
|
35
36
|
_BetaToolRunner_message.set(this, void 0);
|
|
37
|
+
/** The stream of the request in progress, when streaming */
|
|
38
|
+
_BetaToolRunner_stream.set(this, void 0);
|
|
36
39
|
/** Cached tool response to avoid redundant executions */
|
|
37
40
|
_BetaToolRunner_toolResponse.set(this, void 0);
|
|
38
41
|
/** Promise resolvers for waiting on completion */
|
|
39
42
|
_BetaToolRunner_completion.set(this, void 0);
|
|
40
43
|
/** Number of iterations (API requests) made so far */
|
|
41
44
|
_BetaToolRunner_iterationCount.set(this, 0);
|
|
45
|
+
/** A compaction scheduled with `compactBeforeNextTurn()`, in flight until its response has been handled */
|
|
46
|
+
_BetaToolRunner_compaction.set(this, { status: 'idle' });
|
|
47
|
+
/** Whether the last turn was paused; a scheduled compaction waits for it to be resumed */
|
|
48
|
+
_BetaToolRunner_turnPaused.set(this, false);
|
|
49
|
+
rejectCompactionParam(params);
|
|
42
50
|
__classPrivateFieldSet(this, _BetaToolRunner_state, {
|
|
43
51
|
params: {
|
|
44
52
|
// You can't clone the entire params since there are functions as handlers.
|
|
@@ -67,7 +75,7 @@ export var BetaToolRunner = /* @__PURE__ */ (() => {
|
|
|
67
75
|
'See https://platform.claude.com/docs/en/build-with-claude/compaction');
|
|
68
76
|
}
|
|
69
77
|
}
|
|
70
|
-
async *[(_BetaToolRunner_consumed = new WeakMap(), _BetaToolRunner_mutated = new WeakMap(), _BetaToolRunner_state = new WeakMap(), _BetaToolRunner_options = new WeakMap(), _BetaToolRunner_message = new WeakMap(), _BetaToolRunner_toolResponse = new WeakMap(), _BetaToolRunner_completion = new WeakMap(), _BetaToolRunner_iterationCount = new WeakMap(), _BetaToolRunner_instances = new WeakSet(), _BetaToolRunner_checkAndCompact = async function _BetaToolRunner_checkAndCompact() {
|
|
78
|
+
async *[(_BetaToolRunner_consumed = new WeakMap(), _BetaToolRunner_mutated = new WeakMap(), _BetaToolRunner_state = new WeakMap(), _BetaToolRunner_options = new WeakMap(), _BetaToolRunner_message = new WeakMap(), _BetaToolRunner_stream = new WeakMap(), _BetaToolRunner_toolResponse = new WeakMap(), _BetaToolRunner_completion = new WeakMap(), _BetaToolRunner_iterationCount = new WeakMap(), _BetaToolRunner_compaction = new WeakMap(), _BetaToolRunner_turnPaused = new WeakMap(), _BetaToolRunner_instances = new WeakSet(), _BetaToolRunner_checkAndCompact = async function _BetaToolRunner_checkAndCompact() {
|
|
71
79
|
const compactionControl = __classPrivateFieldGet(this, _BetaToolRunner_state, "f").params.compactionControl;
|
|
72
80
|
if (!compactionControl || !compactionControl.enabled) {
|
|
73
81
|
return false;
|
|
@@ -147,34 +155,28 @@ export var BetaToolRunner = /* @__PURE__ */ (() => {
|
|
|
147
155
|
__classPrivateFieldSet(this, _BetaToolRunner_toolResponse, undefined, "f");
|
|
148
156
|
try {
|
|
149
157
|
while (true) {
|
|
150
|
-
let stream;
|
|
151
158
|
try {
|
|
152
159
|
if (__classPrivateFieldGet(this, _BetaToolRunner_state, "f").params.max_iterations &&
|
|
153
160
|
__classPrivateFieldGet(this, _BetaToolRunner_iterationCount, "f") >= __classPrivateFieldGet(this, _BetaToolRunner_state, "f").params.max_iterations) {
|
|
154
161
|
break;
|
|
155
162
|
}
|
|
163
|
+
// The API can't compact a conversation that ends mid-turn, so a paused turn is resumed first.
|
|
164
|
+
if (__classPrivateFieldGet(this, _BetaToolRunner_compaction, "f").status === 'scheduled' && !__classPrivateFieldGet(this, _BetaToolRunner_turnPaused, "f")) {
|
|
165
|
+
yield* __classPrivateFieldGet(this, _BetaToolRunner_instances, "m", _BetaToolRunner_compact).call(this, __classPrivateFieldGet(this, _BetaToolRunner_compaction, "f").config);
|
|
166
|
+
continue;
|
|
167
|
+
}
|
|
156
168
|
__classPrivateFieldSet(this, _BetaToolRunner_mutated, false, "f");
|
|
157
169
|
__classPrivateFieldSet(this, _BetaToolRunner_toolResponse, undefined, "f");
|
|
158
170
|
__classPrivateFieldSet(this, _BetaToolRunner_iterationCount, (_a = __classPrivateFieldGet(this, _BetaToolRunner_iterationCount, "f"), _a++, _a), "f");
|
|
159
171
|
__classPrivateFieldSet(this, _BetaToolRunner_message, undefined, "f");
|
|
160
172
|
const { max_iterations, compactionControl, ...params } = __classPrivateFieldGet(this, _BetaToolRunner_state, "f").params;
|
|
161
|
-
|
|
162
|
-
stream = this.client.beta.messages.stream({ ...params }, __classPrivateFieldGet(this, _BetaToolRunner_options, "f"));
|
|
163
|
-
__classPrivateFieldSet(this, _BetaToolRunner_message, stream.finalMessage(), "f");
|
|
164
|
-
// Make sure that this promise doesn't throw before we get the option to do something about it.
|
|
165
|
-
// Error will be caught when we call await this.#message ultimately
|
|
166
|
-
__classPrivateFieldGet(this, _BetaToolRunner_message, "f").catch(() => { });
|
|
167
|
-
yield stream;
|
|
168
|
-
}
|
|
169
|
-
else {
|
|
170
|
-
__classPrivateFieldSet(this, _BetaToolRunner_message, this.client.beta.messages.create({ ...params, stream: false }, __classPrivateFieldGet(this, _BetaToolRunner_options, "f")), "f");
|
|
171
|
-
yield __classPrivateFieldGet(this, _BetaToolRunner_message, "f");
|
|
172
|
-
}
|
|
173
|
+
yield* __classPrivateFieldGet(this, _BetaToolRunner_instances, "m", _BetaToolRunner_send).call(this, params);
|
|
173
174
|
const isCompacted = await __classPrivateFieldGet(this, _BetaToolRunner_instances, "m", _BetaToolRunner_checkAndCompact).call(this);
|
|
174
175
|
if (!isCompacted) {
|
|
175
176
|
if (!__classPrivateFieldGet(this, _BetaToolRunner_mutated, "f")) {
|
|
176
177
|
const message = await __classPrivateFieldGet(this, _BetaToolRunner_message, "f");
|
|
177
178
|
const nextStep = determineNextStepFromStopReason(message.stop_reason);
|
|
179
|
+
__classPrivateFieldSet(this, _BetaToolRunner_turnPaused, nextStep === 'resume', "f");
|
|
178
180
|
__classPrivateFieldGet(this, _BetaToolRunner_state, "f").params.messages.push({ role: message.role, content: message.content });
|
|
179
181
|
// Container-bound server tools reject a follow-up request that omits the container the
|
|
180
182
|
// previous turn ran in, so carry its id forward unless the caller pinned one themselves.
|
|
@@ -188,25 +190,30 @@ export var BetaToolRunner = /* @__PURE__ */ (() => {
|
|
|
188
190
|
}
|
|
189
191
|
}
|
|
190
192
|
if (nextStep === 'stop') {
|
|
193
|
+
yield* __classPrivateFieldGet(this, _BetaToolRunner_instances, "m", _BetaToolRunner_compactAfterFinalTurn).call(this);
|
|
191
194
|
break;
|
|
192
195
|
}
|
|
193
196
|
if (nextStep === 'resume') {
|
|
194
197
|
continue;
|
|
195
198
|
}
|
|
196
199
|
}
|
|
200
|
+
else {
|
|
201
|
+
// The caller has taken over the history, so the last response no longer says how it ends.
|
|
202
|
+
__classPrivateFieldSet(this, _BetaToolRunner_turnPaused, false, "f");
|
|
203
|
+
}
|
|
197
204
|
const toolMessage = await __classPrivateFieldGet(this, _BetaToolRunner_instances, "m", _BetaToolRunner_generateToolResponse).call(this, __classPrivateFieldGet(this, _BetaToolRunner_state, "f").params.messages.at(-1));
|
|
198
205
|
if (toolMessage) {
|
|
199
206
|
__classPrivateFieldGet(this, _BetaToolRunner_state, "f").params.messages.push(toolMessage);
|
|
200
207
|
}
|
|
201
208
|
else if (!__classPrivateFieldGet(this, _BetaToolRunner_mutated, "f")) {
|
|
209
|
+
yield* __classPrivateFieldGet(this, _BetaToolRunner_instances, "m", _BetaToolRunner_compactAfterFinalTurn).call(this);
|
|
202
210
|
break;
|
|
203
211
|
}
|
|
204
212
|
}
|
|
205
213
|
}
|
|
206
214
|
finally {
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
}
|
|
215
|
+
__classPrivateFieldGet(this, _BetaToolRunner_stream, "f")?.abort();
|
|
216
|
+
__classPrivateFieldSet(this, _BetaToolRunner_stream, undefined, "f");
|
|
210
217
|
}
|
|
211
218
|
}
|
|
212
219
|
if (!__classPrivateFieldGet(this, _BetaToolRunner_message, "f")) {
|
|
@@ -224,12 +231,16 @@ export var BetaToolRunner = /* @__PURE__ */ (() => {
|
|
|
224
231
|
}
|
|
225
232
|
}
|
|
226
233
|
setMessagesParams(paramsOrMutator) {
|
|
227
|
-
|
|
228
|
-
|
|
234
|
+
const params = typeof paramsOrMutator === 'function' ? paramsOrMutator(__classPrivateFieldGet(this, _BetaToolRunner_state, "f").params) : paramsOrMutator;
|
|
235
|
+
rejectCompactionParam(params);
|
|
236
|
+
if (__classPrivateFieldGet(this, _BetaToolRunner_compaction, "f").status !== 'idle') {
|
|
237
|
+
rejectCompactionEdit(params);
|
|
229
238
|
}
|
|
230
|
-
|
|
231
|
-
|
|
239
|
+
if (__classPrivateFieldGet(this, _BetaToolRunner_compaction, "f").status === 'in_flight' && params.messages !== __classPrivateFieldGet(this, _BetaToolRunner_state, "f").params.messages) {
|
|
240
|
+
throw new AnthropicError("Message params can't be changed while the conversation is being compacted, because the compaction " +
|
|
241
|
+
'response is about to replace them. Change them after this iteration instead.');
|
|
232
242
|
}
|
|
243
|
+
__classPrivateFieldGet(this, _BetaToolRunner_state, "f").params = params;
|
|
233
244
|
__classPrivateFieldSet(this, _BetaToolRunner_mutated, true, "f");
|
|
234
245
|
// Invalidate cached tool response since parameters changed
|
|
235
246
|
__classPrivateFieldSet(this, _BetaToolRunner_toolResponse, undefined, "f");
|
|
@@ -339,6 +350,27 @@ export var BetaToolRunner = /* @__PURE__ */ (() => {
|
|
|
339
350
|
messages: [...params.messages, ...messages],
|
|
340
351
|
}));
|
|
341
352
|
}
|
|
353
|
+
/**
|
|
354
|
+
* Schedule a compaction of the conversation. Once the current turn has finished, including any tool
|
|
355
|
+
* calls, the runner requests a summary and replaces the message history with the compaction response,
|
|
356
|
+
* which is yielded like any other message. Requires the `compact-2026-09-04` beta.
|
|
357
|
+
*
|
|
358
|
+
* @param compaction - The config to send, as `messages.create()` takes it. Defaults to `{ type: 'summarize' }`
|
|
359
|
+
*
|
|
360
|
+
* @example
|
|
361
|
+
* for await (const message of runner) {
|
|
362
|
+
* if (message.usage.input_tokens > 100_000) {
|
|
363
|
+
* runner.compactBeforeNextTurn();
|
|
364
|
+
* }
|
|
365
|
+
* }
|
|
366
|
+
*/
|
|
367
|
+
compactBeforeNextTurn(compaction) {
|
|
368
|
+
if (__classPrivateFieldGet(this, _BetaToolRunner_compaction, "f").status === 'in_flight') {
|
|
369
|
+
return;
|
|
370
|
+
}
|
|
371
|
+
rejectCompactionEdit(__classPrivateFieldGet(this, _BetaToolRunner_state, "f").params);
|
|
372
|
+
__classPrivateFieldSet(this, _BetaToolRunner_compaction, { status: 'scheduled', config: compaction ?? { type: 'summarize' } }, "f");
|
|
373
|
+
}
|
|
342
374
|
/**
|
|
343
375
|
* Makes the ToolRunner directly awaitable, equivalent to calling .runUntilDone()
|
|
344
376
|
* This allows using `await runner` instead of `await runner.runUntilDone()`
|
|
@@ -347,7 +379,63 @@ export var BetaToolRunner = /* @__PURE__ */ (() => {
|
|
|
347
379
|
return this.runUntilDone().then(onfulfilled, onrejected);
|
|
348
380
|
}
|
|
349
381
|
}
|
|
350
|
-
|
|
382
|
+
_BetaToolRunner_send =
|
|
383
|
+
/**
|
|
384
|
+
* Sends one request and yields its message, or its stream when streaming. `#message` and `#stream` are set
|
|
385
|
+
* before the yield, so they are there while the caller handles the item; the loop aborts the stream at the
|
|
386
|
+
* end of the iteration.
|
|
387
|
+
*/
|
|
388
|
+
async function* _BetaToolRunner_send(params) {
|
|
389
|
+
if (params.stream) {
|
|
390
|
+
__classPrivateFieldSet(this, _BetaToolRunner_stream, this.client.beta.messages.stream({ ...params }, __classPrivateFieldGet(this, _BetaToolRunner_options, "f")), "f");
|
|
391
|
+
__classPrivateFieldSet(this, _BetaToolRunner_message, __classPrivateFieldGet(this, _BetaToolRunner_stream, "f").finalMessage(), "f");
|
|
392
|
+
// Make sure that this promise doesn't throw before we get the option to do something about it.
|
|
393
|
+
// Error will be caught when we call await this.#message ultimately
|
|
394
|
+
__classPrivateFieldGet(this, _BetaToolRunner_message, "f").catch(() => { });
|
|
395
|
+
yield __classPrivateFieldGet(this, _BetaToolRunner_stream, "f");
|
|
396
|
+
}
|
|
397
|
+
else {
|
|
398
|
+
__classPrivateFieldSet(this, _BetaToolRunner_message, this.client.beta.messages.create({ ...params, stream: false }, __classPrivateFieldGet(this, _BetaToolRunner_options, "f")), "f");
|
|
399
|
+
yield __classPrivateFieldGet(this, _BetaToolRunner_message, "f");
|
|
400
|
+
}
|
|
401
|
+
}, _BetaToolRunner_compact = async function* _BetaToolRunner_compact(compaction) {
|
|
402
|
+
rejectCompactionEdit(__classPrivateFieldGet(this, _BetaToolRunner_state, "f").params);
|
|
403
|
+
// The API refuses `compaction` alongside `context_management`; later requests keep it.
|
|
404
|
+
const { max_iterations, compactionControl, context_management, ...params } = __classPrivateFieldGet(this, _BetaToolRunner_state, "f").params;
|
|
405
|
+
__classPrivateFieldSet(this, _BetaToolRunner_compaction, { status: 'in_flight' }, "f");
|
|
406
|
+
__classPrivateFieldSet(this, _BetaToolRunner_toolResponse, undefined, "f");
|
|
407
|
+
const lastMessage = __classPrivateFieldGet(this, _BetaToolRunner_message, "f");
|
|
408
|
+
try {
|
|
409
|
+
yield* __classPrivateFieldGet(this, _BetaToolRunner_instances, "m", _BetaToolRunner_send).call(this, { ...params, compaction });
|
|
410
|
+
const message = await __classPrivateFieldGet(this, _BetaToolRunner_message, "f");
|
|
411
|
+
if (message.content.some((block) => block.type === 'compaction' && block.content)) {
|
|
412
|
+
// The response has to be sent back as it came, first, replacing the messages it summarizes.
|
|
413
|
+
__classPrivateFieldGet(this, _BetaToolRunner_state, "f").params.messages = [{ role: message.role, content: message.content }];
|
|
414
|
+
}
|
|
415
|
+
else {
|
|
416
|
+
loggerFor(this.client).warn('Compaction produced no summary; keeping the conversation as it is.');
|
|
417
|
+
// If the run ends here, `done()` resolves to the last real message rather than this response.
|
|
418
|
+
__classPrivateFieldSet(this, _BetaToolRunner_message, lastMessage, "f");
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
finally {
|
|
422
|
+
__classPrivateFieldSet(this, _BetaToolRunner_compaction, { status: 'idle' }, "f");
|
|
423
|
+
}
|
|
424
|
+
}, _BetaToolRunner_compactAfterFinalTurn = async function* _BetaToolRunner_compactAfterFinalTurn() {
|
|
425
|
+
if (__classPrivateFieldGet(this, _BetaToolRunner_compaction, "f").status !== 'scheduled') {
|
|
426
|
+
return;
|
|
427
|
+
}
|
|
428
|
+
const lastContent = __classPrivateFieldGet(this, _BetaToolRunner_state, "f").params.messages.at(-1)?.content;
|
|
429
|
+
if (Array.isArray(lastContent) && lastContent.some((block) => block.type === 'tool_use')) {
|
|
430
|
+
// A turn that was cut short can end with tool calls that are never run, and the API can't
|
|
431
|
+
// compact a conversation whose last turn has an unanswered tool call.
|
|
432
|
+
loggerFor(this.client).warn('The pending compaction was skipped because the last turn ended with tool calls that were not run. ' +
|
|
433
|
+
'Call `compactBeforeNextTurn()` again if you continue the conversation.');
|
|
434
|
+
__classPrivateFieldSet(this, _BetaToolRunner_compaction, { status: 'idle' }, "f");
|
|
435
|
+
return;
|
|
436
|
+
}
|
|
437
|
+
yield* __classPrivateFieldGet(this, _BetaToolRunner_instances, "m", _BetaToolRunner_compact).call(this, __classPrivateFieldGet(this, _BetaToolRunner_compaction, "f").config);
|
|
438
|
+
}, _BetaToolRunner_generateToolResponse = async function _BetaToolRunner_generateToolResponse(lastMessage, signal = __classPrivateFieldGet(this, _BetaToolRunner_options, "f").signal) {
|
|
351
439
|
if (__classPrivateFieldGet(this, _BetaToolRunner_toolResponse, "f") !== undefined) {
|
|
352
440
|
return __classPrivateFieldGet(this, _BetaToolRunner_toolResponse, "f");
|
|
353
441
|
}
|
|
@@ -359,6 +447,20 @@ export var BetaToolRunner = /* @__PURE__ */ (() => {
|
|
|
359
447
|
};
|
|
360
448
|
return BetaToolRunner;
|
|
361
449
|
})();
|
|
450
|
+
function rejectCompactionParam(params) {
|
|
451
|
+
if ('compaction' in params && params.compaction != null) {
|
|
452
|
+
throw new AnthropicError('`compaction` cannot be set on a tool runner: every request in the loop would compact again. ' +
|
|
453
|
+
'Call `runner.compactBeforeNextTurn()` when the conversation should be compacted instead.');
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
function rejectCompactionEdit(params) {
|
|
457
|
+
// The compaction request is sent without `context_management`, so the API can't refuse the pair there:
|
|
458
|
+
// it would run and bill the compaction, then refuse the next request.
|
|
459
|
+
if (params.context_management?.edits?.some((edit) => edit.type.startsWith('compact_'))) {
|
|
460
|
+
throw new AnthropicError("`compactBeforeNextTurn()` can't be used while `context_management` has a compaction edit, " +
|
|
461
|
+
"because the API doesn't accept a compaction block together with one. Remove the edit first.");
|
|
462
|
+
}
|
|
463
|
+
}
|
|
362
464
|
async function generateToolResponse(params, lastMessage = params.messages.at(-1), requestOptions) {
|
|
363
465
|
// Only process if the last message is from the assistant and has tool use blocks
|
|
364
466
|
if (!lastMessage ||
|