@theokit/sdk 4.18.0 → 4.18.1
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/dist/cron.cjs +47 -5
- package/dist/cron.cjs.map +1 -1
- package/dist/cron.js +47 -5
- package/dist/cron.js.map +1 -1
- package/dist/eval.cjs +47 -5
- package/dist/eval.cjs.map +1 -1
- package/dist/eval.js +47 -5
- package/dist/eval.js.map +1 -1
- package/dist/index.cjs +47 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +47 -5
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/cron.js
CHANGED
|
@@ -6272,16 +6272,38 @@ async function* runUntilImpl(agent, goal, options, deps) {
|
|
|
6272
6272
|
while (turn < maxTurns) {
|
|
6273
6273
|
if (isAborted()) {
|
|
6274
6274
|
yield { type: "status_change", status: "paused", reason: "aborted via AbortSignal" };
|
|
6275
|
-
return {
|
|
6275
|
+
return {
|
|
6276
|
+
status: "paused",
|
|
6277
|
+
turnsUsed: turn,
|
|
6278
|
+
tokensUsed,
|
|
6279
|
+
finalResponse: lastResponse || void 0
|
|
6280
|
+
};
|
|
6276
6281
|
}
|
|
6277
6282
|
turn += 1;
|
|
6278
6283
|
yield { type: "turn_start", turn, goal };
|
|
6279
6284
|
const continuationPrompt = turn === 1 ? goal : composeContinuation(goal, lastResponse);
|
|
6280
6285
|
const run = await agent.send(continuationPrompt);
|
|
6286
|
+
const cancelOnAbort = () => {
|
|
6287
|
+
void run.cancel?.();
|
|
6288
|
+
};
|
|
6289
|
+
if (signal !== void 0) {
|
|
6290
|
+
if (signal.aborted) cancelOnAbort();
|
|
6291
|
+
else signal.addEventListener("abort", cancelOnAbort, { once: true });
|
|
6292
|
+
}
|
|
6281
6293
|
const result = await run.wait();
|
|
6294
|
+
if (signal !== void 0) signal.removeEventListener("abort", cancelOnAbort);
|
|
6282
6295
|
lastResponse = result.result ?? "";
|
|
6283
6296
|
const turnTokens = result.usage?.totalTokens;
|
|
6284
6297
|
if (typeof turnTokens === "number") tokensUsed += turnTokens;
|
|
6298
|
+
if (isAborted()) {
|
|
6299
|
+
yield { type: "status_change", status: "paused", reason: "aborted via AbortSignal" };
|
|
6300
|
+
return {
|
|
6301
|
+
status: "paused",
|
|
6302
|
+
turnsUsed: turn,
|
|
6303
|
+
tokensUsed,
|
|
6304
|
+
finalResponse: lastResponse || void 0
|
|
6305
|
+
};
|
|
6306
|
+
}
|
|
6285
6307
|
yield { type: "agent_response", turn, content: lastResponse };
|
|
6286
6308
|
const judgeOpts = {};
|
|
6287
6309
|
if (options?.judgeModel !== void 0) judgeOpts.judgeModel = options.judgeModel;
|
|
@@ -6316,7 +6338,12 @@ async function* runUntilImpl(agent, goal, options, deps) {
|
|
|
6316
6338
|
}
|
|
6317
6339
|
if (judgment.verdict === "done") {
|
|
6318
6340
|
yield { type: "status_change", status: "completed", reason: judgment.reason };
|
|
6319
|
-
return {
|
|
6341
|
+
return {
|
|
6342
|
+
status: "completed",
|
|
6343
|
+
turnsUsed: turn,
|
|
6344
|
+
tokensUsed,
|
|
6345
|
+
finalResponse: lastResponse || void 0
|
|
6346
|
+
};
|
|
6320
6347
|
}
|
|
6321
6348
|
if (judgment.verdict === "skipped") {
|
|
6322
6349
|
yield {
|
|
@@ -6324,7 +6351,12 @@ async function* runUntilImpl(agent, goal, options, deps) {
|
|
|
6324
6351
|
status: "completed",
|
|
6325
6352
|
reason: `skipped: ${judgment.reason}`
|
|
6326
6353
|
};
|
|
6327
|
-
return {
|
|
6354
|
+
return {
|
|
6355
|
+
status: "completed",
|
|
6356
|
+
turnsUsed: turn,
|
|
6357
|
+
tokensUsed,
|
|
6358
|
+
finalResponse: lastResponse || void 0
|
|
6359
|
+
};
|
|
6328
6360
|
}
|
|
6329
6361
|
if (tokenBudget !== void 0 && tokensUsed >= tokenBudget) {
|
|
6330
6362
|
yield {
|
|
@@ -6332,7 +6364,12 @@ async function* runUntilImpl(agent, goal, options, deps) {
|
|
|
6332
6364
|
status: "budget_limited",
|
|
6333
6365
|
reason: `token budget (${tokenBudget}) reached: ${tokensUsed} used`
|
|
6334
6366
|
};
|
|
6335
|
-
return {
|
|
6367
|
+
return {
|
|
6368
|
+
status: "budget_limited",
|
|
6369
|
+
turnsUsed: turn,
|
|
6370
|
+
tokensUsed,
|
|
6371
|
+
finalResponse: lastResponse || void 0
|
|
6372
|
+
};
|
|
6336
6373
|
}
|
|
6337
6374
|
yield { type: "continuation", turn, prompt: continuationPrompt };
|
|
6338
6375
|
}
|
|
@@ -6341,7 +6378,12 @@ async function* runUntilImpl(agent, goal, options, deps) {
|
|
|
6341
6378
|
status: "failed",
|
|
6342
6379
|
reason: `max turns (${maxTurns}) exhausted`
|
|
6343
6380
|
};
|
|
6344
|
-
return {
|
|
6381
|
+
return {
|
|
6382
|
+
status: "failed",
|
|
6383
|
+
turnsUsed: turn,
|
|
6384
|
+
tokensUsed,
|
|
6385
|
+
finalResponse: lastResponse || void 0
|
|
6386
|
+
};
|
|
6345
6387
|
}
|
|
6346
6388
|
function composeContinuation(goal, lastResponse) {
|
|
6347
6389
|
return [
|