@theokit/sdk 4.31.0 → 4.32.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 (103) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/{agent-Bzg2_uGr.d.cts → agent-DGv1-d81.d.cts} +52 -2
  3. package/dist/{agent-6GQBOHHA.cjs → agent-ES57DGAT.cjs} +9 -9
  4. package/dist/{agent-6GQBOHHA.cjs.map → agent-ES57DGAT.cjs.map} +1 -1
  5. package/dist/{agent-DY5LGZ5E.js → agent-FBFPSBTX.js} +8 -8
  6. package/dist/{agent-DY5LGZ5E.js.map → agent-FBFPSBTX.js.map} +1 -1
  7. package/dist/{agent-Ekv8y7_c.d.ts → agent-SmxntivO.d.ts} +52 -2
  8. package/dist/{chunk-VUXLNVX7.js → chunk-334WDVFZ.js} +4 -4
  9. package/dist/{chunk-VUXLNVX7.js.map → chunk-334WDVFZ.js.map} +1 -1
  10. package/dist/{chunk-WQEQCJTZ.cjs → chunk-CJVMDRQB.cjs} +26 -3
  11. package/dist/chunk-CJVMDRQB.cjs.map +1 -0
  12. package/dist/{chunk-UKNMWCPZ.cjs → chunk-CVSNCUBU.cjs} +133 -70
  13. package/dist/chunk-CVSNCUBU.cjs.map +1 -0
  14. package/dist/{chunk-4SXHEZIV.cjs → chunk-DQSILMWU.cjs} +9 -3
  15. package/dist/chunk-DQSILMWU.cjs.map +1 -0
  16. package/dist/{chunk-PORDVVJS.js → chunk-EIPSZ4GA.js} +4 -4
  17. package/dist/chunk-EIPSZ4GA.js.map +1 -0
  18. package/dist/{chunk-4JWZRASX.js → chunk-HBTEK5LK.js} +3 -3
  19. package/dist/{chunk-4JWZRASX.js.map → chunk-HBTEK5LK.js.map} +1 -1
  20. package/dist/{chunk-U447MTG4.cjs → chunk-HCXDDR6P.cjs} +8 -8
  21. package/dist/chunk-HCXDDR6P.cjs.map +1 -0
  22. package/dist/{chunk-XJT5VACT.cjs → chunk-I4QDIQ45.cjs} +6 -6
  23. package/dist/{chunk-XJT5VACT.cjs.map → chunk-I4QDIQ45.cjs.map} +1 -1
  24. package/dist/{chunk-CYTAM3E6.cjs → chunk-JPG7NMNH.cjs} +75 -58
  25. package/dist/chunk-JPG7NMNH.cjs.map +1 -0
  26. package/dist/{chunk-FZ75EZR5.js → chunk-NI4PAMJQ.js} +45 -28
  27. package/dist/chunk-NI4PAMJQ.js.map +1 -0
  28. package/dist/{chunk-FDGRQQWX.cjs → chunk-OQX2DG36.cjs} +5 -5
  29. package/dist/{chunk-FDGRQQWX.cjs.map → chunk-OQX2DG36.cjs.map} +1 -1
  30. package/dist/{chunk-TLG444A6.js → chunk-SQVQH4EK.js} +130 -67
  31. package/dist/chunk-SQVQH4EK.js.map +1 -0
  32. package/dist/{chunk-ICSCKB3N.js → chunk-UAYYNWYJ.js} +27 -4
  33. package/dist/chunk-UAYYNWYJ.js.map +1 -0
  34. package/dist/{chunk-ZZWTY3RX.js → chunk-WPBTPSKQ.js} +9 -4
  35. package/dist/chunk-WPBTPSKQ.js.map +1 -0
  36. package/dist/{compact-session-2BFNMENR.cjs → compact-session-OKXLKJIS.cjs} +12 -12
  37. package/dist/{compact-session-2BFNMENR.cjs.map → compact-session-OKXLKJIS.cjs.map} +1 -1
  38. package/dist/{compact-session-2JONXHLR.js → compact-session-UHGMWPMW.js} +4 -4
  39. package/dist/{compact-session-2JONXHLR.js.map → compact-session-UHGMWPMW.js.map} +1 -1
  40. package/dist/{cron-CjzvXGT2.d.cts → cron-BiK_aNJI.d.cts} +2 -2
  41. package/dist/{cron-D0Z29gI-.d.ts → cron-Dx7B-3WB.d.ts} +2 -2
  42. package/dist/cron.cjs +8 -8
  43. package/dist/cron.d.cts +3 -3
  44. package/dist/cron.d.ts +3 -3
  45. package/dist/cron.js +7 -7
  46. package/dist/{errors-DHZtSNnj.d.ts → errors-Cua4WC9H.d.ts} +1 -1
  47. package/dist/{errors-BdL-buYn.d.cts → errors-DyVbXdR4.d.cts} +1 -1
  48. package/dist/errors.d.cts +2 -2
  49. package/dist/errors.d.ts +2 -2
  50. package/dist/eval.cjs +11 -11
  51. package/dist/eval.js +7 -7
  52. package/dist/fs-session-store-2J5JOXC2.js +8 -0
  53. package/dist/{fs-session-store-7AEI4STY.js.map → fs-session-store-2J5JOXC2.js.map} +1 -1
  54. package/dist/fs-session-store-DNAJ6RQG.cjs +17 -0
  55. package/dist/{fs-session-store-26WVVMC4.cjs.map → fs-session-store-DNAJ6RQG.cjs.map} +1 -1
  56. package/dist/index.cjs +50 -30
  57. package/dist/index.cjs.map +1 -1
  58. package/dist/index.d.cts +23 -8
  59. package/dist/index.d.ts +23 -8
  60. package/dist/index.js +30 -10
  61. package/dist/index.js.map +1 -1
  62. package/dist/{inject-session-MIFEKATN.cjs → inject-session-24FJ65LP.cjs} +6 -6
  63. package/dist/{inject-session-MIFEKATN.cjs.map → inject-session-24FJ65LP.cjs.map} +1 -1
  64. package/dist/{inject-session-NNSCCIVP.js → inject-session-JXQO33T3.js} +4 -4
  65. package/dist/{inject-session-NNSCCIVP.js.map → inject-session-JXQO33T3.js.map} +1 -1
  66. package/dist/internal/llm/abort-error.d.ts +1 -0
  67. package/dist/internal/llm/retrying-client.d.ts +27 -3
  68. package/dist/internal/llm/transport-error.d.ts +9 -0
  69. package/dist/internal/persistence/index.cjs +6 -6
  70. package/dist/internal/persistence/index.js +1 -1
  71. package/dist/internal/persistence/session-transcript.d.cts +13 -1
  72. package/dist/internal/persistence/session-transcript.d.ts +13 -1
  73. package/dist/internal/runtime/lifecycle/post-run-lifecycle.d.ts +1 -1
  74. package/dist/persistence.cjs +13 -9
  75. package/dist/persistence.d.cts +2 -1
  76. package/dist/persistence.d.ts +2 -1
  77. package/dist/persistence.js +2 -2
  78. package/dist/{run-OJbGyweZ.d.ts → run-CwEJtLPE.d.cts} +8 -0
  79. package/dist/{run-OJbGyweZ.d.cts → run-CwEJtLPE.d.ts} +8 -0
  80. package/dist/server/errors-envelope.d.cts +3 -3
  81. package/dist/server/errors-envelope.d.ts +3 -3
  82. package/dist/session-transcript-F5OXXO6G.cjs +50 -0
  83. package/dist/{session-transcript-LPNZR3YS.cjs.map → session-transcript-F5OXXO6G.cjs.map} +1 -1
  84. package/dist/{session-transcript-T7LGJUGW.js → session-transcript-QS6CXHHD.js} +3 -3
  85. package/dist/{session-transcript-T7LGJUGW.js.map → session-transcript-QS6CXHHD.js.map} +1 -1
  86. package/dist/subagents-loader.d.cts +2 -2
  87. package/dist/subagents-loader.d.ts +2 -2
  88. package/dist/types/agent-prims.d.ts +8 -0
  89. package/dist/types/session-record.d.ts +51 -1
  90. package/package.json +1 -1
  91. package/dist/chunk-4SXHEZIV.cjs.map +0 -1
  92. package/dist/chunk-CYTAM3E6.cjs.map +0 -1
  93. package/dist/chunk-FZ75EZR5.js.map +0 -1
  94. package/dist/chunk-ICSCKB3N.js.map +0 -1
  95. package/dist/chunk-PORDVVJS.js.map +0 -1
  96. package/dist/chunk-TLG444A6.js.map +0 -1
  97. package/dist/chunk-U447MTG4.cjs.map +0 -1
  98. package/dist/chunk-UKNMWCPZ.cjs.map +0 -1
  99. package/dist/chunk-WQEQCJTZ.cjs.map +0 -1
  100. package/dist/chunk-ZZWTY3RX.js.map +0 -1
  101. package/dist/fs-session-store-26WVVMC4.cjs +0 -17
  102. package/dist/fs-session-store-7AEI4STY.js +0 -8
  103. package/dist/session-transcript-LPNZR3YS.cjs +0 -46
@@ -2,9 +2,9 @@
2
2
 
3
3
  var chunkBV2MWEMV_cjs = require('./chunk-BV2MWEMV.cjs');
4
4
  var chunkMZ5ZRORA_cjs = require('./chunk-MZ5ZRORA.cjs');
5
- var chunkXJT5VACT_cjs = require('./chunk-XJT5VACT.cjs');
6
- var chunkU447MTG4_cjs = require('./chunk-U447MTG4.cjs');
7
- var chunkUKNMWCPZ_cjs = require('./chunk-UKNMWCPZ.cjs');
5
+ var chunkI4QDIQ45_cjs = require('./chunk-I4QDIQ45.cjs');
6
+ var chunkHCXDDR6P_cjs = require('./chunk-HCXDDR6P.cjs');
7
+ var chunkCVSNCUBU_cjs = require('./chunk-CVSNCUBU.cjs');
8
8
  var chunkJLMXKTBX_cjs = require('./chunk-JLMXKTBX.cjs');
9
9
  var chunkN24XBYNX_cjs = require('./chunk-N24XBYNX.cjs');
10
10
  var chunkWPZTYOUX_cjs = require('./chunk-WPZTYOUX.cjs');
@@ -15,9 +15,9 @@ var chunkNINIJCHU_cjs = require('./chunk-NINIJCHU.cjs');
15
15
  var chunkYPEPCZHF_cjs = require('./chunk-YPEPCZHF.cjs');
16
16
  var chunkVJ26EKGJ_cjs = require('./chunk-VJ26EKGJ.cjs');
17
17
  var chunkGIW4L6HY_cjs = require('./chunk-GIW4L6HY.cjs');
18
- var chunkWQEQCJTZ_cjs = require('./chunk-WQEQCJTZ.cjs');
18
+ var chunkCJVMDRQB_cjs = require('./chunk-CJVMDRQB.cjs');
19
19
  var chunkYLQQX5W2_cjs = require('./chunk-YLQQX5W2.cjs');
20
- var chunk4SXHEZIV_cjs = require('./chunk-4SXHEZIV.cjs');
20
+ var chunkDQSILMWU_cjs = require('./chunk-DQSILMWU.cjs');
21
21
  var chunkWJVHMTKB_cjs = require('./chunk-WJVHMTKB.cjs');
22
22
  var chunkTIZ4TS5V_cjs = require('./chunk-TIZ4TS5V.cjs');
23
23
  var chunkRZQ6E5YZ_cjs = require('./chunk-RZQ6E5YZ.cjs');
@@ -1663,7 +1663,7 @@ var RealCloudRun = class extends FixtureRunBase {
1663
1663
  async consumeStream(response) {
1664
1664
  let finalStatus = "finished";
1665
1665
  let finalText = "";
1666
- for await (const record of chunkUKNMWCPZ_cjs.parseSseStream(response.body, this.controller.signal)) {
1666
+ for await (const record of chunkCVSNCUBU_cjs.parseSseStream(response.body, this.controller.signal)) {
1667
1667
  const parsed = safeParse(record.data);
1668
1668
  if (parsed === void 0) continue;
1669
1669
  const update = this.applyRecord(record.event, parsed);
@@ -2228,7 +2228,7 @@ var PersonalityStore = class {
2228
2228
  async #persist(agentId, slug) {
2229
2229
  const filePath = this.#filePath();
2230
2230
  await promises.mkdir(path.dirname(filePath), { recursive: true });
2231
- await chunkWQEQCJTZ_cjs.withFileLock(filePath, async () => {
2231
+ await chunkCJVMDRQB_cjs.withFileLock(filePath, async () => {
2232
2232
  const current = await readState(filePath);
2233
2233
  const nextAgents = { ...current.agents };
2234
2234
  if (slug === void 0) delete nextAgents[agentId];
@@ -2703,6 +2703,15 @@ function buildContextBudgetEvent(model, resolved) {
2703
2703
  }
2704
2704
 
2705
2705
  // src/internal/runtime/lifecycle/post-run-lifecycle.ts
2706
+ function resolveWindowForRun(model, contextWindow) {
2707
+ const override = contextWindow !== void 0 && contextWindow > 0 ? contextWindow : void 0;
2708
+ return chunkEVADEGM7_cjs.resolveEffectiveContextWindow({
2709
+ ...override !== void 0 ? { override } : {},
2710
+ catalog: chunkD42XHI4O_cjs.getCatalogModelInfo(model)?.limit?.context,
2711
+ margin: chunkEVADEGM7_cjs.CONTEXT_WINDOW_MARGIN,
2712
+ floor: chunkEVADEGM7_cjs.CONTEXT_WINDOW_FLOOR
2713
+ });
2714
+ }
2706
2715
  async function runPostRunLifecycle(inputs) {
2707
2716
  const {
2708
2717
  run,
@@ -2711,6 +2720,7 @@ async function runPostRunLifecycle(inputs) {
2711
2720
  workspaceCwd,
2712
2721
  sessionStore,
2713
2722
  model,
2723
+ contextWindow,
2714
2724
  onRunEvent,
2715
2725
  hooksExecutor,
2716
2726
  memoryGlue,
@@ -2723,40 +2733,32 @@ async function runPostRunLifecycle(inputs) {
2723
2733
  try {
2724
2734
  const parcial = await safeConversation(run);
2725
2735
  if (parcial !== void 0) {
2726
- chunkXJT5VACT_cjs.persistTurnToTranscript(
2727
- sessionStore,
2728
- { cwd: workspaceCwd, agentId, model },
2729
- agentId,
2730
- { userText, conversation: parcial }
2731
- );
2736
+ chunkI4QDIQ45_cjs.persistTurnToTranscript(sessionStore, { cwd: workspaceCwd, agentId, model }, agentId, {
2737
+ userText,
2738
+ conversation: parcial
2739
+ });
2732
2740
  }
2733
2741
  } catch (cause) {
2734
2742
  const msg = cause instanceof Error ? cause.message : String(cause);
2735
- process.stderr.write(
2736
- `[theokit-sdk] partial transcript write failed (${agentId}): ${msg}
2737
- `
2738
- );
2743
+ process.stderr.write(`[theokit-sdk] partial transcript write failed (${agentId}): ${msg}
2744
+ `);
2739
2745
  }
2740
- await chunkXJT5VACT_cjs.flushSessionWrites();
2746
+ await chunkI4QDIQ45_cjs.flushSessionWrites();
2741
2747
  return;
2742
2748
  }
2743
2749
  if (result.result !== void 0) {
2744
- chunkXJT5VACT_cjs.appendSessionMessage(agentId, { role: "assistant", text: result.result });
2750
+ chunkI4QDIQ45_cjs.appendSessionMessage(agentId, { role: "assistant", text: result.result });
2745
2751
  }
2746
2752
  const conversation = await safeConversation(run);
2747
- const resolvedWindow = chunkEVADEGM7_cjs.resolveEffectiveContextWindow({
2748
- catalog: chunkD42XHI4O_cjs.getCatalogModelInfo(model)?.limit?.context,
2749
- margin: chunkEVADEGM7_cjs.CONTEXT_WINDOW_MARGIN,
2750
- floor: chunkEVADEGM7_cjs.CONTEXT_WINDOW_FLOOR
2751
- });
2752
- const contextWindow = resolvedWindow.window;
2753
+ const resolvedWindow = resolveWindowForRun(model, contextWindow);
2754
+ const janelaEfetiva = resolvedWindow.window;
2753
2755
  const budgetEvent = buildContextBudgetEvent(model, resolvedWindow);
2754
2756
  if (budgetEvent !== void 0 && onRunEvent !== void 0) {
2755
2757
  chunkMZ5ZRORA_cjs.emitRunEvent(onRunEvent, budgetEvent);
2756
2758
  }
2757
2759
  const lastRequestUsage = result.usage?.requests?.at(-1)?.totalTokens;
2758
2760
  const usageForTrigger = lastRequestUsage ?? result.usage?.totalTokens;
2759
- chunkXJT5VACT_cjs.persistTurnToTranscript(
2761
+ chunkI4QDIQ45_cjs.persistTurnToTranscript(
2760
2762
  sessionStore,
2761
2763
  { cwd: workspaceCwd, agentId, model },
2762
2764
  agentId,
@@ -2765,8 +2767,10 @@ async function runPostRunLifecycle(inputs) {
2765
2767
  conversation,
2766
2768
  autoCompact: {
2767
2769
  usageTotal: usageForTrigger,
2768
- contextWindow,
2769
- summarize: chunkUKNMWCPZ_cjs.buildDefaultSummarizer({
2770
+ // A janela EFETIVA (após override, clamp e margem) — não a declarada. Trocar por
2771
+ // `contextWindow` aqui orçaria contra um número que o clamp já rejeitou.
2772
+ contextWindow: janelaEfetiva,
2773
+ summarize: chunkCVSNCUBU_cjs.buildDefaultSummarizer({
2770
2774
  agentModel: model,
2771
2775
  ...inputs.apiKey !== void 0 ? { apiKey: inputs.apiKey } : {}
2772
2776
  })
@@ -2810,7 +2814,7 @@ async function runPostRunLifecycle(inputs) {
2810
2814
  agentId,
2811
2815
  runId: result.id
2812
2816
  });
2813
- await chunkXJT5VACT_cjs.flushSessionWrites();
2817
+ await chunkI4QDIQ45_cjs.flushSessionWrites();
2814
2818
  }
2815
2819
  async function safeConversation(run) {
2816
2820
  try {
@@ -3567,7 +3571,7 @@ var HISTOGRAM_NAMES = {
3567
3571
  };
3568
3572
  function safeRequire(moduleName) {
3569
3573
  try {
3570
- const r = module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('chunk-CYTAM3E6.cjs', document.baseURI).href)));
3574
+ const r = module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('chunk-JPG7NMNH.cjs', document.baseURI).href)));
3571
3575
  return r(moduleName);
3572
3576
  } catch {
3573
3577
  return void 0;
@@ -3792,7 +3796,7 @@ var cachedOtel;
3792
3796
  function loadOtel() {
3793
3797
  if (cachedOtel === void 0) {
3794
3798
  try {
3795
- const r = module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('chunk-CYTAM3E6.cjs', document.baseURI).href)));
3799
+ const r = module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('chunk-JPG7NMNH.cjs', document.baseURI).href)));
3796
3800
  const mod = r("@opentelemetry/api");
3797
3801
  cachedOtel = mod;
3798
3802
  } catch {
@@ -6221,7 +6225,7 @@ function applyToolResultGuard(parts, opts) {
6221
6225
  (p) => (
6222
6226
  // SE7 — guard the TEXT of a tool result (string or the text blocks of a
6223
6227
  // structured content); image blocks pass through untouched.
6224
- p.type === "tool_result" ? { ...p, content: chunkUKNMWCPZ_cjs.renderToolResultContentText(p.content, (t) => guardText(t, opts)) } : p
6228
+ p.type === "tool_result" ? { ...p, content: chunkCVSNCUBU_cjs.renderToolResultContentText(p.content, (t) => guardText(t, opts)) } : p
6225
6229
  )
6226
6230
  );
6227
6231
  }
@@ -6876,12 +6880,12 @@ var FallbackLlmClient = class {
6876
6880
  let lastError;
6877
6881
  for (const client of this.clients) {
6878
6882
  if (signal.aborted) throw abortError(signal);
6879
- const attempt = await chunkUKNMWCPZ_cjs.tryFirstEvent(client, request, signal, true);
6883
+ const attempt = await chunkCVSNCUBU_cjs.tryFirstEvent(client, request, signal, true);
6880
6884
  if (attempt.kind === "handshake_error") {
6881
6885
  lastError = attempt.error;
6882
6886
  continue;
6883
6887
  }
6884
- return yield* chunkUKNMWCPZ_cjs.relayStream(attempt.generator, attempt.firstResult);
6888
+ return yield* chunkCVSNCUBU_cjs.relayStream(attempt.generator, attempt.firstResult);
6885
6889
  }
6886
6890
  if (lastError !== void 0) throw lastError;
6887
6891
  throw new chunkA44COQJJ_cjs.NetworkError("FallbackLlmClient has no providers configured", {
@@ -7388,8 +7392,8 @@ function resolveRunProvider(options) {
7388
7392
  }
7389
7393
  const parsedModel = chunkVYHJZVL5_cjs.parseModelId(options.model?.id);
7390
7394
  const modelInferredProvider = parsedModel.provider !== void 0 && chunkD42XHI4O_cjs.getProviderProfile(parsedModel.provider) !== void 0 ? parsedModel.provider : void 0;
7391
- const keyInferredProvider = chunkUKNMWCPZ_cjs.inferProviderFromApiKey(options.agentOptions.apiKey);
7392
- const primary = options.agentOptions.providers?.routes?.[0]?.provider ?? keyInferredProvider ?? modelInferredProvider ?? chunkUKNMWCPZ_cjs.detectPrimaryProvider();
7395
+ const keyInferredProvider = chunkCVSNCUBU_cjs.inferProviderFromApiKey(options.agentOptions.apiKey);
7396
+ const primary = options.agentOptions.providers?.routes?.[0]?.provider ?? keyInferredProvider ?? modelInferredProvider ?? chunkCVSNCUBU_cjs.detectPrimaryProvider();
7393
7397
  const effectiveModelId = modelInferredProvider !== void 0 && modelInferredProvider === primary ? parsedModel.name : options.model?.id ?? "claude-sonnet-4-6";
7394
7398
  return { primary, effectiveModelId };
7395
7399
  }
@@ -7418,7 +7422,7 @@ function buildLoopInputs(options, runId, userText, userImages) {
7418
7422
  const credentialPoolStrategy = options.agentOptions.providers?.credentialPoolStrategy;
7419
7423
  const extractToolCallsFromContent = options.agentOptions.providers?.routes?.[0]?.extractToolCallsFromContent;
7420
7424
  const rateLimitSink = options.sendOptions.onRunEvent;
7421
- const chain = chunkUKNMWCPZ_cjs.resolveProviderChain({
7425
+ const chain = chunkCVSNCUBU_cjs.resolveProviderChain({
7422
7426
  primary,
7423
7427
  ...fallback !== void 0 ? { fallback } : {},
7424
7428
  ...apiKeys !== void 0 ? { apiKeys } : {},
@@ -7643,7 +7647,7 @@ function buildRealRunOptions(args) {
7643
7647
  };
7644
7648
  }
7645
7649
  async function createFixtureRunHelper(args) {
7646
- const sessionMessages = chunkXJT5VACT_cjs.getSessionMessages(args.inputs.agentId);
7650
+ const sessionMessages = chunkI4QDIQ45_cjs.getSessionMessages(args.inputs.agentId);
7647
7651
  const projectMcpServers = args.inputs.settingSourcesIncludeProject ? await readProjectMcpServers(args.inputs.workspaceCwd) : {};
7648
7652
  return createLocalRun({
7649
7653
  agentId: args.inputs.agentId,
@@ -8092,7 +8096,7 @@ async function embedBatch(opts) {
8092
8096
  body = JSON.parse(text);
8093
8097
  } catch {
8094
8098
  }
8095
- throw chunkUKNMWCPZ_cjs.mapOpenAICompatibleError({
8099
+ throw chunkCVSNCUBU_cjs.mapOpenAICompatibleError({
8096
8100
  providerId: opts.providerId,
8097
8101
  status: response.status,
8098
8102
  body,
@@ -8643,7 +8647,7 @@ var LocalAgentMemory = class {
8643
8647
  async runActiveMemoryIfEnabled(userText, priorMessages, telemetry) {
8644
8648
  const cfg = this.options.memory?.activeRecall;
8645
8649
  if (cfg?.enabled !== true || this.index === void 0) return void 0;
8646
- if (this.breaker === void 0) this.breaker = new chunkUKNMWCPZ_cjs.CircuitBreaker();
8650
+ if (this.breaker === void 0) this.breaker = new chunkCVSNCUBU_cjs.CircuitBreaker();
8647
8651
  if (this.cache === void 0) this.cache = new ActiveMemoryCache();
8648
8652
  const result = await runActiveMemory({
8649
8653
  userText,
@@ -9047,8 +9051,8 @@ async function localAgentUsePersonality(args) {
9047
9051
  registry,
9048
9052
  store: args.personalityStore,
9049
9053
  invalidateCache: (reason) => args.invalidateCache(reason),
9050
- appendSessionMessage: (msg) => chunkXJT5VACT_cjs.appendSessionMessage(args.agentId, msg),
9051
- clearSession: () => chunkXJT5VACT_cjs.clearSession(args.agentId),
9054
+ appendSessionMessage: (msg) => chunkI4QDIQ45_cjs.appendSessionMessage(args.agentId, msg),
9055
+ clearSession: () => chunkI4QDIQ45_cjs.clearSession(args.agentId),
9052
9056
  opts: args.opts ?? {}
9053
9057
  })
9054
9058
  );
@@ -9396,7 +9400,7 @@ async function executeSendLocked(inputs, message, options) {
9396
9400
  if (inputs.options.onBeforeSend !== void 0) {
9397
9401
  await inputs.options.onBeforeSend({
9398
9402
  conversationId: inputs.agentId,
9399
- previousMessageCount: chunkXJT5VACT_cjs.getSessionMessages(inputs.agentId).length
9403
+ previousMessageCount: chunkI4QDIQ45_cjs.getSessionMessages(inputs.agentId).length
9400
9404
  });
9401
9405
  }
9402
9406
  await inputs.runPreHook(userText);
@@ -9408,8 +9412,8 @@ async function executeSendLocked(inputs, message, options) {
9408
9412
  userText,
9409
9413
  sendOptions: options
9410
9414
  });
9411
- const priorMessages = [...chunkXJT5VACT_cjs.getSessionMessages(inputs.agentId)];
9412
- chunkXJT5VACT_cjs.appendSessionMessage(inputs.agentId, { role: "user", text: userText });
9415
+ const priorMessages = [...chunkI4QDIQ45_cjs.getSessionMessages(inputs.agentId)];
9416
+ chunkI4QDIQ45_cjs.appendSessionMessage(inputs.agentId, { role: "user", text: userText });
9413
9417
  await persistMemoryFactIfWritePrompt(inputs.workspaceCwd, inputs.options.memory, userText);
9414
9418
  const memoryFacts = await readMemoryForSend(inputs.workspaceCwd, inputs.options.memory);
9415
9419
  const portPathActive = shouldUsePortMemoryPath();
@@ -9571,7 +9575,7 @@ var LocalAgent = class {
9571
9575
  this.options = options;
9572
9576
  this.workspaceCwd = resolveCwd(options.local?.cwd);
9573
9577
  this.transcriptBaseDir = resolveBaseDir(options.local?.baseDir);
9574
- this.sessionStore = options.local?.sessionStore ?? new chunkU447MTG4_cjs.FsSessionStore({ baseDir: this.transcriptBaseDir, cwd: this.workspaceCwd });
9578
+ this.sessionStore = options.local?.sessionStore ?? new chunkHCXDDR6P_cjs.FsSessionStore({ baseDir: this.transcriptBaseDir, cwd: this.workspaceCwd });
9575
9579
  this.settingSourcesIncludeProject = includesSetting(options, "project");
9576
9580
  this.settingSourcesIncludePlugins = includesSetting(options, "plugins");
9577
9581
  const sub = bootstrapSubmanagers({
@@ -9619,7 +9623,7 @@ var LocalAgent = class {
9619
9623
  this.settingSourcesIncludeProject,
9620
9624
  this.options.agents
9621
9625
  );
9622
- await chunkXJT5VACT_cjs.hydrateSession(this.agentId, { store: this.sessionStore, cwd: this.workspaceCwd });
9626
+ await chunkI4QDIQ45_cjs.hydrateSession(this.agentId, { store: this.sessionStore, cwd: this.workspaceCwd });
9623
9627
  await this.personalityStore.hydrate(this.agentId);
9624
9628
  }
9625
9629
  /** T4.2 — expose PluginManager so agent-loop can fire pre_tool_call hooks. @internal */
@@ -9650,6 +9654,18 @@ var LocalAgent = class {
9650
9654
  );
9651
9655
  });
9652
9656
  }
9657
+ /**
9658
+ * A janela de contexto declarada na seleção de modelo, no formato de spread condicional.
9659
+ *
9660
+ * M94 — sem isto, o `override` de `resolveEffectiveContextWindow` existia desde o M77 e nenhum
9661
+ * call site de produção o passava: um modelo de 400k sem entrada de catálogo era orçado contra o
9662
+ * piso de 128k. Método próprio porque o spread inline empurrava `runLockedSendCycle` para além do
9663
+ * teto de complexidade cognitiva do projeto.
9664
+ */
9665
+ #janelaDeclarada() {
9666
+ const declarada = this.model?.contextWindow;
9667
+ return declarada !== void 0 ? { contextWindow: declarada } : {};
9668
+ }
9653
9669
  async runLockedSendCycle(message, options, sendSpan, resolve, reject) {
9654
9670
  const userText = typeof message === "string" ? message : message.text;
9655
9671
  let run;
@@ -9677,6 +9693,7 @@ var LocalAgent = class {
9677
9693
  workspaceCwd: this.workspaceCwd,
9678
9694
  sessionStore: this.sessionStore,
9679
9695
  model: this.model?.id ?? "unknown",
9696
+ ...this.#janelaDeclarada(),
9680
9697
  // M50 — the auto-compaction summarizer resolves credentials like the run itself.
9681
9698
  ...this.options.apiKey !== void 0 ? { apiKey: this.options.apiKey } : {},
9682
9699
  ...options.onRunEvent !== void 0 ? { onRunEvent: options.onRunEvent } : {},
@@ -9799,7 +9816,7 @@ var LocalAgent = class {
9799
9816
  this.lifecycleAbortController.abort();
9800
9817
  await chunkYLQQX5W2_cjs.withCwdMutex(`agent-send:${this.agentId}`, () => Promise.resolve());
9801
9818
  disposeSessionMcpClients(this.agentId);
9802
- await chunkXJT5VACT_cjs.flushSessionWrites();
9819
+ await chunkI4QDIQ45_cjs.flushSessionWrites();
9803
9820
  await flushRegistrySaves(this.workspaceCwd);
9804
9821
  }
9805
9822
  [Symbol.asyncDispose]() {
@@ -9867,7 +9884,7 @@ function resolveCwd(cwd) {
9867
9884
  return (Array.isArray(cwd) ? cwd[0] : cwd) ?? process.cwd();
9868
9885
  }
9869
9886
  function resolveBaseDir(baseDir) {
9870
- return baseDir === void 0 ? chunk4SXHEZIV_cjs.defaultBaseDir() : chunk4SXHEZIV_cjs.expandTilde(baseDir);
9887
+ return baseDir === void 0 ? chunkDQSILMWU_cjs.defaultBaseDir() : chunkDQSILMWU_cjs.expandTilde(baseDir);
9871
9888
  }
9872
9889
  function includesSetting(options, source) {
9873
9890
  const sources = options.local?.settingSources;
@@ -10007,7 +10024,7 @@ function resolveAgentPersistenceCwd(options) {
10007
10024
  return process.cwd();
10008
10025
  }
10009
10026
  async function rehydrateExistingAgent(agentId, existing, options) {
10010
- await chunkUKNMWCPZ_cjs.discoverProviderPlugins();
10027
+ await chunkCVSNCUBU_cjs.discoverProviderPlugins();
10011
10028
  await validateRehydratedAgent(agentId, existing);
10012
10029
  const mergedLocal = options.local !== void 0 && existing.options.local !== void 0 ? { ...existing.options.local, ...options.local } : options.local ?? existing.options.local;
10013
10030
  const mergedOptions = {
@@ -10135,7 +10152,7 @@ var Agent = class _Agent {
10135
10152
  pluginCount: enabledPluginNames(options.plugins).length
10136
10153
  });
10137
10154
  try {
10138
- await chunkUKNMWCPZ_cjs.discoverProviderPlugins();
10155
+ await chunkCVSNCUBU_cjs.discoverProviderPlugins();
10139
10156
  const agent = await runCreateUnderSpan(options, span);
10140
10157
  return agent;
10141
10158
  } catch (err) {
@@ -10404,9 +10421,9 @@ var Agent = class _Agent {
10404
10421
  `No local agent "${agentId}" registered \u2014 compact targets local sessions.`
10405
10422
  );
10406
10423
  }
10407
- const { compactSessionTranscript, buildDefaultSummarizer: buildDefaultSummarizer2 } = await import('./compact-session-2BFNMENR.cjs');
10424
+ const { compactSessionTranscript, buildDefaultSummarizer: buildDefaultSummarizer2 } = await import('./compact-session-OKXLKJIS.cjs');
10408
10425
  const { cwd, model, store } = await abrirStoreLocal(reg);
10409
- return chunkXJT5VACT_cjs.enqueueSessionWrite(
10426
+ return chunkI4QDIQ45_cjs.enqueueSessionWrite(
10410
10427
  cwd,
10411
10428
  agentId,
10412
10429
  () => compactSessionTranscript({
@@ -10440,7 +10457,7 @@ var Agent = class _Agent {
10440
10457
  `No local agent "${agentId}" registered \u2014 injectSessionTurn targets local sessions.`
10441
10458
  );
10442
10459
  }
10443
- const { injectSessionTurn } = await import('./inject-session-MIFEKATN.cjs');
10460
+ const { injectSessionTurn } = await import('./inject-session-24FJ65LP.cjs');
10444
10461
  const { cwd, model, store } = await abrirStoreLocal(reg);
10445
10462
  await injectSessionTurn({
10446
10463
  store,
@@ -10487,8 +10504,8 @@ async function abrirStoreLocal(reg) {
10487
10504
  const cwd = reg.cwd ?? process.cwd();
10488
10505
  const optModel = reg.options.model;
10489
10506
  const model = reg.model?.id ?? (typeof optModel === "string" ? optModel : optModel?.id) ?? "unknown";
10490
- const { FsSessionStore: FsSessionStore2 } = await import('./fs-session-store-26WVVMC4.cjs');
10491
- const { defaultBaseDir: defaultBaseDir2, expandTilde: expandTilde2 } = await import('./session-transcript-LPNZR3YS.cjs');
10507
+ const { FsSessionStore: FsSessionStore2 } = await import('./fs-session-store-DNAJ6RQG.cjs');
10508
+ const { defaultBaseDir: defaultBaseDir2, expandTilde: expandTilde2 } = await import('./session-transcript-F5OXXO6G.cjs');
10492
10509
  const baseDir = reg.options.local?.baseDir !== void 0 ? expandTilde2(reg.options.local.baseDir) : defaultBaseDir2();
10493
10510
  return { cwd, model, store: new FsSessionStore2({ baseDir, cwd }) };
10494
10511
  }
@@ -10508,5 +10525,5 @@ exports.isFixtureApiKey = isFixtureApiKey;
10508
10525
  exports.openRouterMemoryEmbeddingProviderAdapter = openRouterMemoryEmbeddingProviderAdapter;
10509
10526
  exports.resolveApiKey = resolveApiKey;
10510
10527
  exports.shouldUseFixtureMode = shouldUseFixtureMode;
10511
- //# sourceMappingURL=chunk-CYTAM3E6.cjs.map
10512
- //# sourceMappingURL=chunk-CYTAM3E6.cjs.map
10528
+ //# sourceMappingURL=chunk-JPG7NMNH.cjs.map
10529
+ //# sourceMappingURL=chunk-JPG7NMNH.cjs.map