@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.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 { status: "paused", turnsUsed: turn, tokensUsed, finalResponse: lastResponse || void 0 };
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 { status: "completed", turnsUsed: turn, tokensUsed, finalResponse: lastResponse || void 0 };
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 { status: "completed", turnsUsed: turn, tokensUsed, finalResponse: lastResponse || void 0 };
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 { status: "budget_limited", turnsUsed: turn, tokensUsed, finalResponse: lastResponse || void 0 };
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 { status: "failed", turnsUsed: turn, tokensUsed, finalResponse: lastResponse || void 0 };
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 [