@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
@@ -1,8 +1,8 @@
1
1
  import { extractCodePlugins } from './chunk-2SFBB54R.js';
2
2
  import { submit, emitRunEvent } from './chunk-HRA3CPGG.js';
3
- import { enqueueSessionWrite, hydrateSession, flushSessionWrites, persistTurnToTranscript, appendSessionMessage, getSessionMessages, clearSession } from './chunk-VUXLNVX7.js';
4
- import { FsSessionStore } from './chunk-PORDVVJS.js';
5
- import { discoverProviderPlugins, CircuitBreaker, buildDefaultSummarizer, parseSseStream, resolveProviderChain, inferProviderFromApiKey, detectPrimaryProvider, tryFirstEvent, relayStream, mapOpenAICompatibleError, renderToolResultContentText } from './chunk-TLG444A6.js';
3
+ import { enqueueSessionWrite, hydrateSession, flushSessionWrites, persistTurnToTranscript, appendSessionMessage, getSessionMessages, clearSession } from './chunk-334WDVFZ.js';
4
+ import { FsSessionStore } from './chunk-EIPSZ4GA.js';
5
+ import { discoverProviderPlugins, CircuitBreaker, buildDefaultSummarizer, parseSseStream, resolveProviderChain, inferProviderFromApiKey, detectPrimaryProvider, tryFirstEvent, relayStream, mapOpenAICompatibleError, renderToolResultContentText } from './chunk-SQVQH4EK.js';
6
6
  import { IndexManager, writeSessionSummary, memoryDir, globalEmbeddingCache, appendFact, readFacts, legacyMemoryJsonPath, memoryMdPath, appendFactToMarkdown } from './chunk-XAUBQMQU.js';
7
7
  import { loadHookConfig, warnOnce, currentPersonalityContext, warnPersonalitySwitchInsideFork } from './chunk-XIG2IE3L.js';
8
8
  import { resolveChildEnv } from './chunk-7GFX45DD.js';
@@ -13,9 +13,9 @@ import { setAgentFacade } from './chunk-6X6ID4MO.js';
13
13
  import { findGitRoot, DEFAULT_DISCOVERY_SPECS, walkUpForFile, walkUpForGlob } from './chunk-UJ7IQJAG.js';
14
14
  import { withToolWhitelist, checkToolWhitelist } from './chunk-7AD3ZTZL.js';
15
15
  import { mapWithConcurrency } from './chunk-V4XRLPEF.js';
16
- import { withFileLock } from './chunk-ICSCKB3N.js';
16
+ import { withFileLock } from './chunk-UAYYNWYJ.js';
17
17
  import { withCwdMutex } from './chunk-2XLKLVVR.js';
18
- import { defaultBaseDir, expandTilde } from './chunk-ZZWTY3RX.js';
18
+ import { defaultBaseDir, expandTilde } from './chunk-WPBTPSKQ.js';
19
19
  import { toJsonSchema } from './chunk-4VPXM6UU.js';
20
20
  import { atomicWriteJson } from './chunk-S2BBRVQX.js';
21
21
  import { loadSubagents } from './chunk-BNIFFFH3.js';
@@ -2700,6 +2700,15 @@ function buildContextBudgetEvent(model, resolved) {
2700
2700
  }
2701
2701
 
2702
2702
  // src/internal/runtime/lifecycle/post-run-lifecycle.ts
2703
+ function resolveWindowForRun(model, contextWindow) {
2704
+ const override = contextWindow !== void 0 && contextWindow > 0 ? contextWindow : void 0;
2705
+ return resolveEffectiveContextWindow({
2706
+ ...override !== void 0 ? { override } : {},
2707
+ catalog: getCatalogModelInfo(model)?.limit?.context,
2708
+ margin: CONTEXT_WINDOW_MARGIN,
2709
+ floor: CONTEXT_WINDOW_FLOOR
2710
+ });
2711
+ }
2703
2712
  async function runPostRunLifecycle(inputs) {
2704
2713
  const {
2705
2714
  run,
@@ -2708,6 +2717,7 @@ async function runPostRunLifecycle(inputs) {
2708
2717
  workspaceCwd,
2709
2718
  sessionStore,
2710
2719
  model,
2720
+ contextWindow,
2711
2721
  onRunEvent,
2712
2722
  hooksExecutor,
2713
2723
  memoryGlue,
@@ -2720,19 +2730,15 @@ async function runPostRunLifecycle(inputs) {
2720
2730
  try {
2721
2731
  const parcial = await safeConversation(run);
2722
2732
  if (parcial !== void 0) {
2723
- persistTurnToTranscript(
2724
- sessionStore,
2725
- { cwd: workspaceCwd, agentId, model },
2726
- agentId,
2727
- { userText, conversation: parcial }
2728
- );
2733
+ persistTurnToTranscript(sessionStore, { cwd: workspaceCwd, agentId, model }, agentId, {
2734
+ userText,
2735
+ conversation: parcial
2736
+ });
2729
2737
  }
2730
2738
  } catch (cause) {
2731
2739
  const msg = cause instanceof Error ? cause.message : String(cause);
2732
- process.stderr.write(
2733
- `[theokit-sdk] partial transcript write failed (${agentId}): ${msg}
2734
- `
2735
- );
2740
+ process.stderr.write(`[theokit-sdk] partial transcript write failed (${agentId}): ${msg}
2741
+ `);
2736
2742
  }
2737
2743
  await flushSessionWrites();
2738
2744
  return;
@@ -2741,12 +2747,8 @@ async function runPostRunLifecycle(inputs) {
2741
2747
  appendSessionMessage(agentId, { role: "assistant", text: result.result });
2742
2748
  }
2743
2749
  const conversation = await safeConversation(run);
2744
- const resolvedWindow = resolveEffectiveContextWindow({
2745
- catalog: getCatalogModelInfo(model)?.limit?.context,
2746
- margin: CONTEXT_WINDOW_MARGIN,
2747
- floor: CONTEXT_WINDOW_FLOOR
2748
- });
2749
- const contextWindow = resolvedWindow.window;
2750
+ const resolvedWindow = resolveWindowForRun(model, contextWindow);
2751
+ const janelaEfetiva = resolvedWindow.window;
2750
2752
  const budgetEvent = buildContextBudgetEvent(model, resolvedWindow);
2751
2753
  if (budgetEvent !== void 0 && onRunEvent !== void 0) {
2752
2754
  emitRunEvent(onRunEvent, budgetEvent);
@@ -2762,7 +2764,9 @@ async function runPostRunLifecycle(inputs) {
2762
2764
  conversation,
2763
2765
  autoCompact: {
2764
2766
  usageTotal: usageForTrigger,
2765
- contextWindow,
2767
+ // A janela EFETIVA (após override, clamp e margem) — não a declarada. Trocar por
2768
+ // `contextWindow` aqui orçaria contra um número que o clamp já rejeitou.
2769
+ contextWindow: janelaEfetiva,
2766
2770
  summarize: buildDefaultSummarizer({
2767
2771
  agentModel: model,
2768
2772
  ...inputs.apiKey !== void 0 ? { apiKey: inputs.apiKey } : {}
@@ -9647,6 +9651,18 @@ var LocalAgent = class {
9647
9651
  );
9648
9652
  });
9649
9653
  }
9654
+ /**
9655
+ * A janela de contexto declarada na seleção de modelo, no formato de spread condicional.
9656
+ *
9657
+ * M94 — sem isto, o `override` de `resolveEffectiveContextWindow` existia desde o M77 e nenhum
9658
+ * call site de produção o passava: um modelo de 400k sem entrada de catálogo era orçado contra o
9659
+ * piso de 128k. Método próprio porque o spread inline empurrava `runLockedSendCycle` para além do
9660
+ * teto de complexidade cognitiva do projeto.
9661
+ */
9662
+ #janelaDeclarada() {
9663
+ const declarada = this.model?.contextWindow;
9664
+ return declarada !== void 0 ? { contextWindow: declarada } : {};
9665
+ }
9650
9666
  async runLockedSendCycle(message, options, sendSpan, resolve, reject) {
9651
9667
  const userText = typeof message === "string" ? message : message.text;
9652
9668
  let run;
@@ -9674,6 +9690,7 @@ var LocalAgent = class {
9674
9690
  workspaceCwd: this.workspaceCwd,
9675
9691
  sessionStore: this.sessionStore,
9676
9692
  model: this.model?.id ?? "unknown",
9693
+ ...this.#janelaDeclarada(),
9677
9694
  // M50 — the auto-compaction summarizer resolves credentials like the run itself.
9678
9695
  ...this.options.apiKey !== void 0 ? { apiKey: this.options.apiKey } : {},
9679
9696
  ...options.onRunEvent !== void 0 ? { onRunEvent: options.onRunEvent } : {},
@@ -10401,7 +10418,7 @@ var Agent = class _Agent {
10401
10418
  `No local agent "${agentId}" registered \u2014 compact targets local sessions.`
10402
10419
  );
10403
10420
  }
10404
- const { compactSessionTranscript, buildDefaultSummarizer: buildDefaultSummarizer2 } = await import('./compact-session-2JONXHLR.js');
10421
+ const { compactSessionTranscript, buildDefaultSummarizer: buildDefaultSummarizer2 } = await import('./compact-session-UHGMWPMW.js');
10405
10422
  const { cwd, model, store } = await abrirStoreLocal(reg);
10406
10423
  return enqueueSessionWrite(
10407
10424
  cwd,
@@ -10437,7 +10454,7 @@ var Agent = class _Agent {
10437
10454
  `No local agent "${agentId}" registered \u2014 injectSessionTurn targets local sessions.`
10438
10455
  );
10439
10456
  }
10440
- const { injectSessionTurn } = await import('./inject-session-NNSCCIVP.js');
10457
+ const { injectSessionTurn } = await import('./inject-session-JXQO33T3.js');
10441
10458
  const { cwd, model, store } = await abrirStoreLocal(reg);
10442
10459
  await injectSessionTurn({
10443
10460
  store,
@@ -10484,12 +10501,12 @@ async function abrirStoreLocal(reg) {
10484
10501
  const cwd = reg.cwd ?? process.cwd();
10485
10502
  const optModel = reg.options.model;
10486
10503
  const model = reg.model?.id ?? (typeof optModel === "string" ? optModel : optModel?.id) ?? "unknown";
10487
- const { FsSessionStore: FsSessionStore2 } = await import('./fs-session-store-7AEI4STY.js');
10488
- const { defaultBaseDir: defaultBaseDir2, expandTilde: expandTilde2 } = await import('./session-transcript-T7LGJUGW.js');
10504
+ const { FsSessionStore: FsSessionStore2 } = await import('./fs-session-store-2J5JOXC2.js');
10505
+ const { defaultBaseDir: defaultBaseDir2, expandTilde: expandTilde2 } = await import('./session-transcript-QS6CXHHD.js');
10489
10506
  const baseDir = reg.options.local?.baseDir !== void 0 ? expandTilde2(reg.options.local.baseDir) : defaultBaseDir2();
10490
10507
  return { cwd, model, store: new FsSessionStore2({ baseDir, cwd }) };
10491
10508
  }
10492
10509
 
10493
10510
  export { Agent, AgentBuilder, DEFAULT_AGENTIC_MODEL_ID, MEMORY_EMBEDDING_ADAPTERS, Tool, ToolError, UsageAccumulator, computeCost, generateCronId, getPricingEntry, httpRequest, isFixtureApiKey, openRouterMemoryEmbeddingProviderAdapter, resolveApiKey, shouldUseFixtureMode };
10494
- //# sourceMappingURL=chunk-FZ75EZR5.js.map
10495
- //# sourceMappingURL=chunk-FZ75EZR5.js.map
10511
+ //# sourceMappingURL=chunk-NI4PAMJQ.js.map
10512
+ //# sourceMappingURL=chunk-NI4PAMJQ.js.map