@pentoshi/clai 3.11.27 → 3.11.29

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 (38) hide show
  1. package/dist/agent/runner.d.ts +1 -0
  2. package/dist/agent/runner.js +14 -3
  3. package/dist/agent/runner.js.map +1 -1
  4. package/dist/app/adapters/current-agent-adapter.js +3 -0
  5. package/dist/app/adapters/current-agent-adapter.js.map +1 -1
  6. package/dist/app/controllers/session-context-limits.d.ts +1 -7
  7. package/dist/app/controllers/session-context-limits.js +15 -28
  8. package/dist/app/controllers/session-context-limits.js.map +1 -1
  9. package/dist/app/controllers/session-controller.d.ts +0 -2
  10. package/dist/app/controllers/session-controller.js +1 -4
  11. package/dist/app/controllers/session-controller.js.map +1 -1
  12. package/dist/app/controllers/session-turn-request.d.ts +1 -0
  13. package/dist/app/controllers/session-turn-request.js +3 -0
  14. package/dist/app/controllers/session-turn-request.js.map +1 -1
  15. package/dist/app/ports/agent-port.d.ts +1 -0
  16. package/dist/tui-v2/app/App.js +13 -4
  17. package/dist/tui-v2/app/App.js.map +1 -1
  18. package/dist/tui-v2/components/status/context-limit-chip.d.ts +1 -1
  19. package/dist/tui-v2/components/status/context-limit-chip.js +23 -3
  20. package/dist/tui-v2/components/status/context-limit-chip.js.map +1 -1
  21. package/dist/tui-v2/components/status/status-line.d.ts +1 -0
  22. package/dist/tui-v2/components/status/status-line.js +5 -26
  23. package/dist/tui-v2/components/status/status-line.js.map +1 -1
  24. package/dist/tui-v2/components/transcript/transcript-scrollbar.d.ts +15 -0
  25. package/dist/tui-v2/components/transcript/transcript-scrollbar.js +155 -0
  26. package/dist/tui-v2/components/transcript/transcript-scrollbar.js.map +1 -0
  27. package/dist/tui-v2/components/transcript/transcript-view.d.ts +4 -4
  28. package/dist/tui-v2/components/transcript/transcript-view.js +30 -39
  29. package/dist/tui-v2/components/transcript/transcript-view.js.map +1 -1
  30. package/dist/tui-v2/composer/composer-editor.d.ts +1 -0
  31. package/dist/tui-v2/composer/composer-editor.js +17 -12
  32. package/dist/tui-v2/composer/composer-editor.js.map +1 -1
  33. package/dist/tui-v2/composer/use-draft-actions.d.ts +1 -1
  34. package/dist/tui-v2/composer/use-draft-actions.js +2 -2
  35. package/dist/tui-v2/composer/use-draft-actions.js.map +1 -1
  36. package/dist/version.generated.d.ts +2 -2
  37. package/dist/version.generated.js +2 -2
  38. package/package.json +1 -1
@@ -58,6 +58,7 @@ export interface AgentRunOptions {
58
58
  previousTurn?: PreviousTurnSignal | undefined;
59
59
  /** User-declared model window for this provider/model/session. */
60
60
  contextLimitTokens?: number | undefined;
61
+ getContextLimitTokens?: (provider: ProviderId | undefined, model: string | undefined) => number | undefined;
61
62
  }
62
63
  export declare function runAgentTurn(prompt: string, options?: AgentRunOptions): Promise<import("./turn-outcome.js").TurnOutcome>;
63
64
  /** Compatibility boundary for callers that consume visible assistant text. */
@@ -458,6 +458,9 @@ export async function runAgentTurn(prompt, options = {}) {
458
458
  let provider = initialProvider;
459
459
  await ensureProviderConfigured(provider);
460
460
  let model = initialModel;
461
+ const currentContextLimitTokens = () => options.getContextLimitTokens
462
+ ? options.getContextLimitTokens(provider, model)
463
+ : options.contextLimitTokens;
461
464
  // Some Groq free-tier models have a per-request/per-minute input budget
462
465
  // below the normal agent prompt alone. Select a purpose-built compact
463
466
  // instruction set before the request is made, rather than treating the
@@ -2931,11 +2934,12 @@ export async function runAgentTurn(prompt, options = {}) {
2931
2934
  }
2932
2935
  async function maybeAutoCompact(reason, force = false) {
2933
2936
  const beforeTokens = estimateNextRequestTokens(messages);
2937
+ const contextLimitTokens = currentContextLimitTokens();
2934
2938
  const compactTrigger = autoCompactTriggerTokens(getReliabilityPolicy(), {
2935
2939
  provider,
2936
2940
  model,
2937
- ...(options.contextLimitTokens
2938
- ? { contextLimitTokens: options.contextLimitTokens }
2941
+ ...(contextLimitTokens !== undefined
2942
+ ? { contextLimitTokens }
2939
2943
  : {}),
2940
2944
  });
2941
2945
  if (!force && beforeTokens < compactTrigger)
@@ -3196,6 +3200,7 @@ export async function runAgentTurn(prompt, options = {}) {
3196
3200
  writeNotice("info", notice, chalk.dim(` ℹ ${notice}\n`));
3197
3201
  }
3198
3202
  }
3203
+ const contextLimitTokens = currentContextLimitTokens();
3199
3204
  await auditLog("agent.turn", {
3200
3205
  provider,
3201
3206
  model,
@@ -3204,7 +3209,13 @@ export async function runAgentTurn(prompt, options = {}) {
3204
3209
  step,
3205
3210
  // Metadata-only composition metrics (no prompt/tool text).
3206
3211
  ...contextBreakdownAuditPayload(contextBreakdown),
3207
- compactTriggerTokens: autoCompactTriggerTokens(),
3212
+ compactTriggerTokens: autoCompactTriggerTokens(getReliabilityPolicy(), {
3213
+ provider,
3214
+ model,
3215
+ ...(contextLimitTokens !== undefined
3216
+ ? { contextLimitTokens }
3217
+ : {}),
3218
+ }),
3208
3219
  maxTokensBudget: resolveStepMaxTokens({
3209
3220
  nativeToolsActive,
3210
3221
  toolsAttached,