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