@theokit/agents 10.1.0 → 11.0.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.
Files changed (51) hide show
  1. package/CHANGELOG.md +312 -0
  2. package/LICENSE +2 -2
  3. package/README.md +6 -5
  4. package/dist/{agent-compiler-CIPQkehU.d.ts → agent-compiler-tetgj6zR.d.ts} +3 -172
  5. package/dist/{agent-handle-Dgi4ZGbg.d.ts → agent-handle-rEWdERuv.d.ts} +113 -2
  6. package/dist/auth.js +1 -1
  7. package/dist/{bridge-entry-emr2PSXC.d.ts → bridge-entry-DRAzQ7UA.d.ts} +32 -200
  8. package/dist/bridge.d.ts +7 -6
  9. package/dist/bridge.js +3 -3
  10. package/dist/{chunk-CKRM5Q2K.js → chunk-4EHZG6KN.js} +122 -16
  11. package/dist/chunk-4EHZG6KN.js.map +1 -0
  12. package/dist/{chunk-M6HMASZC.js → chunk-7PNUTDBQ.js} +109 -14
  13. package/dist/chunk-7PNUTDBQ.js.map +1 -0
  14. package/dist/{chunk-QXGSF6WX.js → chunk-D2EFYZBV.js} +1 -1
  15. package/dist/{chunk-QXGSF6WX.js.map → chunk-D2EFYZBV.js.map} +1 -1
  16. package/dist/{chunk-4VHCH6IZ.js → chunk-LLIERPF3.js} +14 -1
  17. package/dist/chunk-LLIERPF3.js.map +1 -0
  18. package/dist/{chunk-QJN2LLPF.js → chunk-T5MBTKA2.js} +275 -164
  19. package/dist/chunk-T5MBTKA2.js.map +1 -0
  20. package/dist/client-react.d.ts +24 -2
  21. package/dist/client-react.js +2 -1
  22. package/dist/client-react.js.map +1 -1
  23. package/dist/client.d.ts +99 -5
  24. package/dist/client.js +3 -1
  25. package/dist/config.d.ts +2 -2
  26. package/dist/config.js +2 -2
  27. package/dist/{define-agent-BO5QSjV8.d.ts → define-agent-BnH1MBxs.d.ts} +16 -1
  28. package/dist/{delegation-scoring-CDvtrYKd.d.ts → delegation-scoring-CQtF2Zaf.d.ts} +345 -11
  29. package/dist/hooks.js +2 -2
  30. package/dist/hooks.js.map +1 -1
  31. package/dist/index.d.ts +22 -9
  32. package/dist/index.js +8 -3
  33. package/dist/index.js.map +1 -1
  34. package/dist/mcp-health.d.ts +66 -1
  35. package/dist/mcp-health.js +32 -1
  36. package/dist/mcp-health.js.map +1 -1
  37. package/dist/pty.js.map +1 -1
  38. package/dist/session.d.ts +58 -1
  39. package/dist/session.js +34 -1
  40. package/dist/session.js.map +1 -1
  41. package/dist/testing.d.ts +3 -2
  42. package/dist/testing.js +1 -1
  43. package/dist/tools.d.ts +4 -2
  44. package/dist/tools.js +4 -4
  45. package/dist/tools.js.map +1 -1
  46. package/dist/types-C16Wuh9E.d.ts +173 -0
  47. package/package.json +23 -10
  48. package/dist/chunk-4VHCH6IZ.js.map +0 -1
  49. package/dist/chunk-CKRM5Q2K.js.map +0 -1
  50. package/dist/chunk-M6HMASZC.js.map +0 -1
  51. package/dist/chunk-QJN2LLPF.js.map +0 -1
@@ -6,7 +6,7 @@ import {
6
6
  import { parseWireStream, readMessageStream } from "@theokit/presenter/wire";
7
7
  async function consumeUIMessageStream(response, onMessage) {
8
8
  const chunkStream = await responseToChunkStream(response);
9
- await consumeChunkStream(chunkStream, onMessage);
9
+ return consumeChunkStream(chunkStream, onMessage);
10
10
  }
11
11
  __name(consumeUIMessageStream, "consumeUIMessageStream");
12
12
  function responseToChunkStream(response) {
@@ -21,13 +21,36 @@ function responseToChunkStream(response) {
21
21
  }
22
22
  __name(responseToChunkStream, "responseToChunkStream");
23
23
  async function consumeChunkStream(stream, onMessage) {
24
- for await (const message of readMessageStream(stream)) {
24
+ let chunksReceived = 0;
25
+ let terminated = false;
26
+ const watched = stream.pipeThrough(new TransformStream({
27
+ transform(chunk, controller) {
28
+ chunksReceived += 1;
29
+ if (chunk.type === "finish") terminated = true;
30
+ controller.enqueue(chunk);
31
+ }
32
+ }));
33
+ for await (const message of readMessageStream(watched)) {
25
34
  onMessage(message);
26
35
  }
36
+ return {
37
+ terminated,
38
+ chunksReceived
39
+ };
27
40
  }
28
41
  __name(consumeChunkStream, "consumeChunkStream");
29
42
 
30
43
  // src/client/http-transport.ts
44
+ function inMemoryRunIdStore() {
45
+ let runId;
46
+ return {
47
+ get: /* @__PURE__ */ __name(() => runId, "get"),
48
+ set: /* @__PURE__ */ __name((next) => {
49
+ runId = next;
50
+ }, "set")
51
+ };
52
+ }
53
+ __name(inMemoryRunIdStore, "inMemoryRunIdStore");
31
54
  function toRecord(headers) {
32
55
  if (headers === void 0) return {};
33
56
  if (headers instanceof Headers) return Object.fromEntries(headers.entries());
@@ -41,12 +64,13 @@ var HttpTransport = class {
41
64
  #api;
42
65
  #headers;
43
66
  #fetch;
44
- /** Server-minted id of the last run (from `x-theokit-run-id`) the reconnect key. */
45
- #lastRunId;
67
+ /** Where the server-minted id of the last run (from `x-theokit-run-id`) is kept. */
68
+ #runIds;
46
69
  constructor(options) {
47
70
  this.#api = options.api;
48
71
  this.#headers = options.headers ?? {};
49
72
  this.#fetch = options.fetch ?? globalThis.fetch.bind(globalThis);
73
+ this.#runIds = options.runIdStore ?? inMemoryRunIdStore();
50
74
  }
51
75
  /** Resolve the configured headers per request (a resolver evaluates now — dynamic auth is never stale). */
52
76
  #resolveHeaders() {
@@ -78,12 +102,13 @@ var HttpTransport = class {
78
102
  if (!response.ok) {
79
103
  throw new Error(`Agent request to ${this.#api} failed: ${response.status} ${response.statusText}`);
80
104
  }
81
- this.#lastRunId = response.headers.get("x-theokit-run-id") ?? void 0;
105
+ this.#runIds.set(response.headers.get("x-theokit-run-id") ?? void 0);
82
106
  return responseToChunkStream(response);
83
107
  }
84
108
  async reconnectToStream(options) {
85
- if (this.#lastRunId === void 0) return null;
86
- const response = await this.#fetch(`${this.#api}/runs/${this.#lastRunId}/stream`, {
109
+ const runId = this.#runIds.get();
110
+ if (runId === void 0) return null;
111
+ const response = await this.#fetch(`${this.#api}/runs/${runId}/stream`, {
87
112
  method: "GET",
88
113
  headers: {
89
114
  ...this.#resolveHeaders(),
@@ -92,7 +117,7 @@ var HttpTransport = class {
92
117
  });
93
118
  if (response.status === 404) return null;
94
119
  if (!response.ok) {
95
- throw new Error(`Agent reconnect to run ${this.#lastRunId} failed: ${response.status} ${response.statusText}`);
120
+ throw new Error(`Agent reconnect to run ${runId} failed: ${response.status} ${response.statusText}`);
96
121
  }
97
122
  return responseToChunkStream(response);
98
123
  }
@@ -352,6 +377,49 @@ var ChannelTransport = class {
352
377
  };
353
378
 
354
379
  // src/client/agent-client.ts
380
+ import { TheokitAgentError as TheokitAgentError2 } from "@theokit/sdk/errors";
381
+ var AgentStreamInterruptedError = class extends TheokitAgentError2 {
382
+ static {
383
+ __name(this, "AgentStreamInterruptedError");
384
+ }
385
+ chunksReceived;
386
+ name = "AgentStreamInterruptedError";
387
+ constructor(chunksReceived) {
388
+ super(`The agent stream ended after ${String(chunksReceived)} chunk(s) without its terminal frame \u2014 the connection dropped mid-run, so the answer on screen is incomplete.`, {
389
+ // A dropped connection is the definition of transient: the run may still be alive on the
390
+ // server, and `AgentClient.reconnect()` is the affordance built for it. DECLARED, because a
391
+ // default here would be a retry policy nobody chose.
392
+ isRetryable: true,
393
+ code: "AGENT_STREAM_INTERRUPTED"
394
+ }), this.chunksReceived = chunksReceived;
395
+ }
396
+ };
397
+ var NO_PENDING_APPROVALS = [];
398
+ function derivePendingApprovals(messages) {
399
+ let pending;
400
+ for (const message of messages) {
401
+ for (const part of message.parts) {
402
+ if (part.state !== "approval-requested") continue;
403
+ const approval = part.approval;
404
+ if (typeof approval?.id !== "string") continue;
405
+ pending ??= [];
406
+ pending.push({
407
+ approvalId: approval.id,
408
+ toolCallId: String(part.toolCallId),
409
+ toolName: typeof part.toolName === "string" ? part.toolName : void 0,
410
+ input: part.input,
411
+ ...approval.question !== void 0 ? {
412
+ question: approval.question
413
+ } : {},
414
+ ...approval.timeoutMs !== void 0 ? {
415
+ timeoutMs: approval.timeoutMs
416
+ } : {}
417
+ });
418
+ }
419
+ }
420
+ return pending ?? NO_PENDING_APPROVALS;
421
+ }
422
+ __name(derivePendingApprovals, "derivePendingApprovals");
355
423
  function inputToText(input) {
356
424
  if (typeof input === "object" && input !== null && typeof input.message === "string") {
357
425
  return input.message;
@@ -378,7 +446,7 @@ var AgentClient = class {
378
446
  __name(this, "AgentClient");
379
447
  }
380
448
  #transport;
381
- #chatId = crypto.randomUUID();
449
+ #chatId;
382
450
  #listeners = /* @__PURE__ */ new Set();
383
451
  /** M43 — resolves per-request context (evaluated on every send/reconnect — dynamic, never stale). */
384
452
  #contextResolver;
@@ -397,7 +465,8 @@ var AgentClient = class {
397
465
  messages: [],
398
466
  thread: [],
399
467
  status: "idle",
400
- error: void 0
468
+ error: void 0,
469
+ pendingApprovals: NO_PENDING_APPROVALS
401
470
  };
402
471
  /**
403
472
  * M92 — the committed prefix, materialized ONCE per write instead of once per token delta.
@@ -423,6 +492,16 @@ var AgentClient = class {
423
492
  this.#transport = transport;
424
493
  this.#contextResolver = contextResolver;
425
494
  this.#emitIntervalMs = options?.emitIntervalMs ?? 0;
495
+ this.#chatId = options?.chatId ?? crypto.randomUUID();
496
+ }
497
+ /**
498
+ * The conversation this client is on — the id the server keys the session by.
499
+ *
500
+ * Readable so an application can persist it and pass it back through
501
+ * {@link AgentClientOptions.chatId} after a reload (usetheokit/theokit#364).
502
+ */
503
+ get chatId() {
504
+ return this.#chatId;
426
505
  }
427
506
  /** Subscribe to state changes; returns an unsubscribe fn. */
428
507
  subscribe = /* @__PURE__ */ __name((listener) => {
@@ -450,7 +529,8 @@ var AgentClient = class {
450
529
  messages: this.#messages,
451
530
  thread,
452
531
  status: this.#status,
453
- error: this.#error
532
+ error: this.#error,
533
+ pendingApprovals: derivePendingApprovals(this.#messages)
454
534
  };
455
535
  for (const listener of this.#listeners) listener();
456
536
  }
@@ -495,7 +575,7 @@ var AgentClient = class {
495
575
  this.#emit();
496
576
  return;
497
577
  }
498
- await consumeChunkStream(stream, (message) => {
578
+ const outcome = await consumeChunkStream(stream, (message) => {
499
579
  if (aborted()) return;
500
580
  const stamped = message.id ? message : {
501
581
  ...message,
@@ -505,6 +585,12 @@ var AgentClient = class {
505
585
  this.#scheduleEmit();
506
586
  });
507
587
  if (aborted()) return;
588
+ if (!outcome.terminated) {
589
+ this.#error = new AgentStreamInterruptedError(outcome.chunksReceived);
590
+ this.#status = "error";
591
+ this.#emit();
592
+ return;
593
+ }
508
594
  this.#status = "done";
509
595
  this.#emit();
510
596
  } catch (err) {
@@ -586,7 +672,15 @@ var AgentClient = class {
586
672
  this.#status = "idle";
587
673
  this.#emit();
588
674
  }, "reset");
589
- /** Settle a paused HITL approval via the transport's HITL path (HTTP POST or inline callback). */
675
+ /**
676
+ * Settle a paused HITL approval via the transport's HITL path (HTTP POST or inline callback).
677
+ *
678
+ * The signature is unchanged by usetheokit/theokit#392, deliberately. What that issue reported was
679
+ * not that `approve` takes an id — it was that nothing HANDED the caller one, so the id had to be
680
+ * mined out of band. `pendingApprovals` hands it over, and taking the entry instead of its
681
+ * `approvalId` would save no line while adding a second accepted shape to a published method that
682
+ * surfaces outside this repository (`@theokit/tui`, `@theokit/ui`).
683
+ */
590
684
  approve = /* @__PURE__ */ __name(async (approvalId, decision) => {
591
685
  await this.#transport.approve?.(approvalId, decision);
592
686
  }, "approve");
@@ -619,8 +713,9 @@ export {
619
713
  ApprovalAbortedError,
620
714
  InProcessTransport,
621
715
  ChannelTransport,
716
+ AgentStreamInterruptedError,
622
717
  AgentClient,
623
718
  agentHandle,
624
719
  isAgentHandle
625
720
  };
626
- //# sourceMappingURL=chunk-M6HMASZC.js.map
721
+ //# sourceMappingURL=chunk-7PNUTDBQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/client/consume-ui-message-stream.ts","../src/client/http-transport.ts","../src/client/last-user-text.ts","../src/client/in-process-transport.ts","../src/client/channel-transport.ts","../src/client/agent-client.ts","../src/client/agent-handle.ts"],"mappings":"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","names":["parseWireStream","readMessageStream","consumeUIMessageStream","response","onMessage","chunkStream","responseToChunkStream","consumeChunkStream","body","Promise","resolve","ReadableStream","start","controller","close","parseWireStream","stream","chunksReceived","terminated","watched","pipeThrough","TransformStream","transform","chunk","type","enqueue","message","readMessageStream","inMemoryRunIdStore","runId","get","set","next","toRecord","headers","undefined","Headers","Object","fromEntries","entries","HttpTransport","options","api","fetch","globalThis","bind","runIdStore","sendMessages","messages","abortSignal","body","chatId","extra","response","method","accept","JSON","stringify","id","signal","ok","Error","status","statusText","responseToChunkStream","reconnectToStream","approve","approvalId","decision","extractLastUserText","messages","i","length","message","role","text","parts","filter","part","type","map","join","TheokitAgentError","generatorToStream","gen","ReadableStream","pull","controller","result","next","done","close","enqueue","value","err","error","cancel","return","undefined","ApprovalAbortedError","TheokitAgentError","name","approvalId","reason","code","isRetryable","InProcessTransport","Map","options","run","turn","signal","req","Promise","resolve","reject","aborted","has","Error","set","id","entry","delete","pending","size","sendMessages","messages","abortSignal","metadata","currentTurn","addEventListener","once","generator","message","extractLastUserText","awaitApproval","context","reconnectToStream","approve","decision","get","ChannelTransport","options","source","sendMessages","messages","abortSignal","metadata","message","extractLastUserText","closed","teardown","undefined","detachAbort","stream","ReadableStream","start","controller","finish","settle","context","onLine","line","parsed","JSON","parse","type","enqueue","onClose","close","onError","err","error","onAbort","aborted","addEventListener","removeEventListener","cancel","Promise","resolve","reconnectToStream","approve","approvalId","decision","Error","TheokitAgentError","AgentStreamInterruptedError","TheokitAgentError","name","chunksReceived","String","isRetryable","code","NO_PENDING_APPROVALS","derivePendingApprovals","messages","pending","message","part","parts","state","approval","id","push","approvalId","toolCallId","toolName","undefined","input","question","timeoutMs","inputToText","JSON","stringify","buildUserMessage","crypto","randomUUID","role","type","text","AgentClient","Set","thread","status","error","pendingApprovals","transport","contextResolver","options","emitIntervalMs","chatId","subscribe","listener","add","delete","getSnapshot","clearTimeout","tail","concat","setTimeout","next","idx","findIndex","existing","open","controller","aborted","signal","stream","length","outcome","consumeChunkStream","stamped","terminated","err","Error","send","abort","AbortController","userMsg","context","sendMessages","trigger","messageId","abortSignal","body","headers","metadata","reconnect","reconnectToStream","reset","approve","decision","agentHandle","path","inProcess","run","InProcessTransport","channel","source","ChannelTransport","isAgentHandle","value","sendMessages"]}
@@ -77,4 +77,4 @@ export {
77
77
  readSecureJson,
78
78
  writeSecureJson
79
79
  };
80
- //# sourceMappingURL=chunk-QXGSF6WX.js.map
80
+ //# sourceMappingURL=chunk-D2EFYZBV.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/hooks/secure-store.ts"],"mappings":";;;;;AAuBA,SAASA,kBAAkB;AAC3B,SAASC,WAAWC,WAAWC,cAAcC,YAAYC,UAAUC,qBAAqB;AACxF,SAASC,SAASC,YAAY;AAG9B,IAAMC,uBAAuB;AAG7B,IAAMC,WAAW;AACjB,IAAMC,YAAY;AAqBX,SAASC,gBAAgBC,UAAgB;AAC9C,QAAMC,MAAMC,QAAQF,QAAAA;AAEpBG,YAAUF,KAAK;IAAEG,WAAW;IAAMC,MAAMR;EAAS,CAAA;AAGjD,QAAMQ,OAAOC,SAASL,GAAAA,EAAKI,OAAO;AAClC,OAAKA,OAAOT,0BAA0B,GAAG;AAEvCW,cAAUN,KAAKJ,QAAAA;AAEf,UAAMW,WAAWF,SAASL,GAAAA,EAAKI,OAAO;AACtC,SAAKG,WAAWZ,0BAA0B,GAAG;AAC3C,YAAM,IAAIa,MACR,GAAGR,GAAAA,YAAeO,SAASE,SAAS,CAAA,CAAA,2LAEQT,GAAAA,KAAQ;IAExD;EACF;AACF;AApBgBF;AA2BT,SAASY,eACdX,UACAY,OACAC,OAAQ;AAER,MAAIC;AACJ,MAAI;AAEFA,UAAMC,aAAaf,UAAU,MAAA;EAC/B,QAAQ;AAEN,WAAO;MAAEgB,OAAOH;IAAM;EACxB;AAUA,QAAMI,WAAWX,SAASN,QAAAA,EAAUK,OAAO;AAC3C,OAAKY,WAAWrB,0BAA0B,GAAG;AAC3C,WAAO;MACLoB,OAAOH;MACPK,OAAO,IAAIT,MACT,GAAGT,QAAAA,YAAoBiB,SAASP,SAAS,CAAA,CAAA,8KAEGV,QAAAA,KAAa;IAE7D;EACF;AAGA,MAAIc,IAAIK,KAAI,EAAGC,WAAW,EAAG,QAAO;IAAEJ,OAAOH;EAAM;AAEnD,MAAI;AACF,WAAO;MAAEG,OAAOJ,MAAME,GAAAA;IAAK;EAC7B,SAASO,OAAO;AACd,WAAO;MACLL,OAAOH;MACPK,OAAO,IAAIT,MACT,GAAGT,QAAAA,kIACiDqB,iBAAiBZ,QAAQY,MAAMC,UAAUC,OAAOF,KAAAA,CAAAA,EAAQ;IAEhH;EACF;AACF;AAhDgBV;AAiET,SAASa,YAAYxB,UAAgB;AAC1C,SAAOyB,KAAKvB,QAAQF,QAAAA,GAAW,IAAI0B,WAAAA,CAAAA,MAAkB;AACvD;AAFgBF;AAKT,SAASG,gBAAgB3B,UAAkB4B,WAAuB;AACvE7B,kBAAgBC,QAAAA;AAChB,QAAM6B,MAAML,YAAYxB,QAAAA;AAExB8B,gBAAcD,KAAKD,UAAAA,GAAa;IAAEG,UAAU;IAAQ1B,MAAMP;EAAU,CAAA;AAEpEkC,aAAWH,KAAK7B,QAAAA;AAQhBO,YAAUP,UAAUF,SAAAA;AACtB;AAfgB6B;","names":["randomUUID","chmodSync","mkdirSync","readFileSync","renameSync","statSync","writeFileSync","dirname","join","FORBIDDEN_WRITE_BITS","DIR_MODE","FILE_MODE","ensureSecureDir","filePath","dir","dirname","mkdirSync","recursive","mode","statSync","chmodSync","repaired","Error","toString","readSecureJson","parse","empty","raw","readFileSync","value","fileMode","error","trim","length","cause","message","String","tempPathFor","join","randomUUID","writeSecureJson","serialize","tmp","writeFileSync","encoding","renameSync"]}
1
+ {"version":3,"sources":["../src/hooks/secure-store.ts"],"mappings":";;;;;AAuBA,SAASA,kBAAkB;AAC3B,SAASC,WAAWC,WAAWC,cAAcC,YAAYC,UAAUC,qBAAqB;AACxF,SAASC,SAASC,YAAY;AAG9B,IAAMC,uBAAuB;AAG7B,IAAMC,WAAW;AACjB,IAAMC,YAAY;AA0BX,SAASC,gBAAgBC,UAAgB;AAC9C,QAAMC,MAAMC,QAAQF,QAAAA;AAEpBG,YAAUF,KAAK;IAAEG,WAAW;IAAMC,MAAMR;EAAS,CAAA;AAGjD,QAAMQ,OAAOC,SAASL,GAAAA,EAAKI,OAAO;AAClC,OAAKA,OAAOT,0BAA0B,GAAG;AAEvCW,cAAUN,KAAKJ,QAAAA;AAEf,UAAMW,WAAWF,SAASL,GAAAA,EAAKI,OAAO;AACtC,SAAKG,WAAWZ,0BAA0B,GAAG;AAC3C,YAAM,IAAIa,MACR,GAAGR,GAAAA,YAAeO,SAASE,SAAS,CAAA,CAAA,2LAEQT,GAAAA,KAAQ;IAExD;EACF;AACF;AApBgBF;AA2BT,SAASY,eACdX,UACAY,OACAC,OAAQ;AAER,MAAIC;AACJ,MAAI;AAEFA,UAAMC,aAAaf,UAAU,MAAA;EAC/B,QAAQ;AAEN,WAAO;MAAEgB,OAAOH;IAAM;EACxB;AAUA,QAAMI,WAAWX,SAASN,QAAAA,EAAUK,OAAO;AAC3C,OAAKY,WAAWrB,0BAA0B,GAAG;AAC3C,WAAO;MACLoB,OAAOH;MACPK,OAAO,IAAIT,MACT,GAAGT,QAAAA,YAAoBiB,SAASP,SAAS,CAAA,CAAA,8KAEGV,QAAAA,KAAa;IAE7D;EACF;AAGA,MAAIc,IAAIK,KAAI,EAAGC,WAAW,EAAG,QAAO;IAAEJ,OAAOH;EAAM;AAEnD,MAAI;AACF,WAAO;MAAEG,OAAOJ,MAAME,GAAAA;IAAK;EAC7B,SAASO,OAAO;AACd,WAAO;MACLL,OAAOH;MACPK,OAAO,IAAIT,MACT,GAAGT,QAAAA,kIACiDqB,iBAAiBZ,QAAQY,MAAMC,UAAUC,OAAOF,KAAAA,CAAAA,EAAQ;IAEhH;EACF;AACF;AAhDgBV;AAiET,SAASa,YAAYxB,UAAgB;AAC1C,SAAOyB,KAAKvB,QAAQF,QAAAA,GAAW,IAAI0B,WAAAA,CAAAA,MAAkB;AACvD;AAFgBF;AAKT,SAASG,gBAAgB3B,UAAkB4B,WAAuB;AACvE7B,kBAAgBC,QAAAA;AAChB,QAAM6B,MAAML,YAAYxB,QAAAA;AAExB8B,gBAAcD,KAAKD,UAAAA,GAAa;IAAEG,UAAU;IAAQ1B,MAAMP;EAAU,CAAA;AAEpEkC,aAAWH,KAAK7B,QAAAA;AAQhBO,YAAUP,UAAUF,SAAAA;AACtB;AAfgB6B;","names":["randomUUID","chmodSync","mkdirSync","readFileSync","renameSync","statSync","writeFileSync","dirname","join","FORBIDDEN_WRITE_BITS","DIR_MODE","FILE_MODE","ensureSecureDir","filePath","dir","dirname","mkdirSync","recursive","mode","statSync","chmodSync","repaired","Error","toString","readSecureJson","parse","empty","raw","readFileSync","value","fileMode","error","trim","length","cause","message","String","tempPathFor","join","randomUUID","writeSecureJson","serialize","tmp","writeFileSync","encoding","renameSync"]}
@@ -34,12 +34,20 @@ __name(resolveSettingSources, "resolveSettingSources");
34
34
  // src/bridge/define-agent.ts
35
35
  var AGENT_BRAND = /* @__PURE__ */ Symbol.for("theokit.agent.definition");
36
36
  function defineAgent(config) {
37
+ assertValidMaxIterations(config.maxIterations);
37
38
  return {
38
39
  ...config,
39
40
  [AGENT_BRAND]: true
40
41
  };
41
42
  }
42
43
  __name(defineAgent, "defineAgent");
44
+ function assertValidMaxIterations(value) {
45
+ if (value === void 0) return;
46
+ if (!Number.isInteger(value) || value < 1) {
47
+ throw new Error(`[@theokit/agents] maxIterations must be a positive integer, got ${String(value)}.`);
48
+ }
49
+ }
50
+ __name(assertValidMaxIterations, "assertValidMaxIterations");
43
51
  function isAgentDefinition(value) {
44
52
  return typeof value === "object" && value !== null && value[AGENT_BRAND] === true;
45
53
  }
@@ -76,6 +84,11 @@ function compileAgentDefinition(def) {
76
84
  ...def.guardrails !== void 0 ? {
77
85
  guardrails: def.guardrails
78
86
  } : {},
87
+ // theokit#363 — the declared step ceiling reaches `CompiledAgentOptions.maxIterations`, which the
88
+ // adapter lowers to `SendOptions.maxIterations`. Absent ⇒ no key, so the SDK default is untouched.
89
+ ...def.maxIterations !== void 0 ? {
90
+ maxIterations: def.maxIterations
91
+ } : {},
79
92
  // M14 — HITL approvals compile into the same `hitl` map the decorator path produces.
80
93
  ...def.approvals !== void 0 ? {
81
94
  hitl: compileApprovals(def)
@@ -178,4 +191,4 @@ export {
178
191
  compileAgentDefinition,
179
192
  compileSkillsSelection
180
193
  };
181
- //# sourceMappingURL=chunk-4VHCH6IZ.js.map
194
+ //# sourceMappingURL=chunk-LLIERPF3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/bridge/setting-sources-gate.ts","../src/bridge/define-agent.ts"],"mappings":"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","names":["TheokitAgentError","UntrustedSettingSourceError","TheokitAgentError","name","message","trustSource","capability","resolveSettingSources","selection","undefined","sources","user","push","grant","project","posture","trustedBy","allows","projectSettings","level","source","AGENT_BRAND","Symbol","for","defineAgent","config","assertValidMaxIterations","maxIterations","value","undefined","Number","isInteger","Error","String","isAgentDefinition","toCompiledTool","tool","handler","compiled","name","description","inputSchema","input","ctx","sym","Object","getOwnPropertySymbols","compileAgentDefinition","def","model","reasoningEffort","systemPrompt","system","tools","map","agents","stream","context","runContext","guardrails","approvals","hitl","compileApprovals","compileSkillsSelection","skills","settingSources","resolveSettingSources","memory","compileHooksAndPlugins","mcpServers","hooks","entries","filter","h","explicit","plugins","length","plugin","version","kind","register","hookName","on","skillsResolver","enabled","inline","entry","push","autoInject","toolNames","Set","t","gates","Map","toolName","options","has","join","set"]}