@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/index.js
CHANGED
|
@@ -7529,16 +7529,38 @@ async function* runUntilImpl(agent, goal, options, deps) {
|
|
|
7529
7529
|
while (turn < maxTurns) {
|
|
7530
7530
|
if (isAborted()) {
|
|
7531
7531
|
yield { type: "status_change", status: "paused", reason: "aborted via AbortSignal" };
|
|
7532
|
-
return {
|
|
7532
|
+
return {
|
|
7533
|
+
status: "paused",
|
|
7534
|
+
turnsUsed: turn,
|
|
7535
|
+
tokensUsed,
|
|
7536
|
+
finalResponse: lastResponse || void 0
|
|
7537
|
+
};
|
|
7533
7538
|
}
|
|
7534
7539
|
turn += 1;
|
|
7535
7540
|
yield { type: "turn_start", turn, goal };
|
|
7536
7541
|
const continuationPrompt = turn === 1 ? goal : composeContinuation(goal, lastResponse);
|
|
7537
7542
|
const run = await agent.send(continuationPrompt);
|
|
7543
|
+
const cancelOnAbort = () => {
|
|
7544
|
+
void run.cancel?.();
|
|
7545
|
+
};
|
|
7546
|
+
if (signal !== void 0) {
|
|
7547
|
+
if (signal.aborted) cancelOnAbort();
|
|
7548
|
+
else signal.addEventListener("abort", cancelOnAbort, { once: true });
|
|
7549
|
+
}
|
|
7538
7550
|
const result = await run.wait();
|
|
7551
|
+
if (signal !== void 0) signal.removeEventListener("abort", cancelOnAbort);
|
|
7539
7552
|
lastResponse = result.result ?? "";
|
|
7540
7553
|
const turnTokens = result.usage?.totalTokens;
|
|
7541
7554
|
if (typeof turnTokens === "number") tokensUsed += turnTokens;
|
|
7555
|
+
if (isAborted()) {
|
|
7556
|
+
yield { type: "status_change", status: "paused", reason: "aborted via AbortSignal" };
|
|
7557
|
+
return {
|
|
7558
|
+
status: "paused",
|
|
7559
|
+
turnsUsed: turn,
|
|
7560
|
+
tokensUsed,
|
|
7561
|
+
finalResponse: lastResponse || void 0
|
|
7562
|
+
};
|
|
7563
|
+
}
|
|
7542
7564
|
yield { type: "agent_response", turn, content: lastResponse };
|
|
7543
7565
|
const judgeOpts = {};
|
|
7544
7566
|
if (options?.judgeModel !== void 0) judgeOpts.judgeModel = options.judgeModel;
|
|
@@ -7573,7 +7595,12 @@ async function* runUntilImpl(agent, goal, options, deps) {
|
|
|
7573
7595
|
}
|
|
7574
7596
|
if (judgment.verdict === "done") {
|
|
7575
7597
|
yield { type: "status_change", status: "completed", reason: judgment.reason };
|
|
7576
|
-
return {
|
|
7598
|
+
return {
|
|
7599
|
+
status: "completed",
|
|
7600
|
+
turnsUsed: turn,
|
|
7601
|
+
tokensUsed,
|
|
7602
|
+
finalResponse: lastResponse || void 0
|
|
7603
|
+
};
|
|
7577
7604
|
}
|
|
7578
7605
|
if (judgment.verdict === "skipped") {
|
|
7579
7606
|
yield {
|
|
@@ -7581,7 +7608,12 @@ async function* runUntilImpl(agent, goal, options, deps) {
|
|
|
7581
7608
|
status: "completed",
|
|
7582
7609
|
reason: `skipped: ${judgment.reason}`
|
|
7583
7610
|
};
|
|
7584
|
-
return {
|
|
7611
|
+
return {
|
|
7612
|
+
status: "completed",
|
|
7613
|
+
turnsUsed: turn,
|
|
7614
|
+
tokensUsed,
|
|
7615
|
+
finalResponse: lastResponse || void 0
|
|
7616
|
+
};
|
|
7585
7617
|
}
|
|
7586
7618
|
if (tokenBudget !== void 0 && tokensUsed >= tokenBudget) {
|
|
7587
7619
|
yield {
|
|
@@ -7589,7 +7621,12 @@ async function* runUntilImpl(agent, goal, options, deps) {
|
|
|
7589
7621
|
status: "budget_limited",
|
|
7590
7622
|
reason: `token budget (${tokenBudget}) reached: ${tokensUsed} used`
|
|
7591
7623
|
};
|
|
7592
|
-
return {
|
|
7624
|
+
return {
|
|
7625
|
+
status: "budget_limited",
|
|
7626
|
+
turnsUsed: turn,
|
|
7627
|
+
tokensUsed,
|
|
7628
|
+
finalResponse: lastResponse || void 0
|
|
7629
|
+
};
|
|
7593
7630
|
}
|
|
7594
7631
|
yield { type: "continuation", turn, prompt: continuationPrompt };
|
|
7595
7632
|
}
|
|
@@ -7598,7 +7635,12 @@ async function* runUntilImpl(agent, goal, options, deps) {
|
|
|
7598
7635
|
status: "failed",
|
|
7599
7636
|
reason: `max turns (${maxTurns}) exhausted`
|
|
7600
7637
|
};
|
|
7601
|
-
return {
|
|
7638
|
+
return {
|
|
7639
|
+
status: "failed",
|
|
7640
|
+
turnsUsed: turn,
|
|
7641
|
+
tokensUsed,
|
|
7642
|
+
finalResponse: lastResponse || void 0
|
|
7643
|
+
};
|
|
7602
7644
|
}
|
|
7603
7645
|
function composeContinuation(goal, lastResponse) {
|
|
7604
7646
|
return [
|