@kodax-ai/kodax 0.7.95 → 0.7.96-alpha.2

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 (163) hide show
  1. package/CHANGELOG.md +178 -1
  2. package/LICENSE +158 -158
  3. package/README.md +149 -24
  4. package/README_CN.md +117 -24
  5. package/config-templates/config.example.jsonc +2 -1
  6. package/config-templates/integrations/a2a.example.jsonc +91 -91
  7. package/config-templates/integrations/extensions.example.jsonc +7 -7
  8. package/config-templates/integrations/mcp.example.jsonc +16 -16
  9. package/dist/builtin/code-review/SKILL.md +82 -82
  10. package/dist/builtin/git-workflow/SKILL.md +84 -84
  11. package/dist/builtin/skill-creator/SKILL.md +127 -127
  12. package/dist/builtin/skill-creator/agents/analyzer.md +12 -12
  13. package/dist/builtin/skill-creator/agents/comparator.md +13 -13
  14. package/dist/builtin/skill-creator/agents/grader.md +13 -13
  15. package/dist/builtin/skill-creator/references/schemas.md +227 -227
  16. package/dist/builtin/skill-creator/scripts/aggregate-benchmark.d.ts +46 -46
  17. package/dist/builtin/skill-creator/scripts/aggregate-benchmark.js +208 -208
  18. package/dist/builtin/skill-creator/scripts/analyze-benchmark.d.ts +46 -46
  19. package/dist/builtin/skill-creator/scripts/analyze-benchmark.js +286 -286
  20. package/dist/builtin/skill-creator/scripts/compare-runs.d.ts +62 -62
  21. package/dist/builtin/skill-creator/scripts/compare-runs.js +330 -330
  22. package/dist/builtin/skill-creator/scripts/generate-review.d.ts +33 -33
  23. package/dist/builtin/skill-creator/scripts/generate-review.js +414 -414
  24. package/dist/builtin/skill-creator/scripts/grade-evals.d.ts +73 -73
  25. package/dist/builtin/skill-creator/scripts/grade-evals.js +402 -402
  26. package/dist/builtin/skill-creator/scripts/improve-description.d.ts +23 -23
  27. package/dist/builtin/skill-creator/scripts/improve-description.js +160 -160
  28. package/dist/builtin/skill-creator/scripts/init-skill.d.ts +14 -14
  29. package/dist/builtin/skill-creator/scripts/init-skill.js +155 -155
  30. package/dist/builtin/skill-creator/scripts/install-skill.d.ts +29 -29
  31. package/dist/builtin/skill-creator/scripts/install-skill.js +173 -173
  32. package/dist/builtin/skill-creator/scripts/package-skill.d.ts +38 -38
  33. package/dist/builtin/skill-creator/scripts/package-skill.js +121 -121
  34. package/dist/builtin/skill-creator/scripts/quick-validate.d.ts +8 -8
  35. package/dist/builtin/skill-creator/scripts/quick-validate.js +163 -163
  36. package/dist/builtin/skill-creator/scripts/run-eval.d.ts +66 -66
  37. package/dist/builtin/skill-creator/scripts/run-eval.js +353 -353
  38. package/dist/builtin/skill-creator/scripts/run-loop.d.ts +49 -49
  39. package/dist/builtin/skill-creator/scripts/run-loop.js +242 -242
  40. package/dist/builtin/skill-creator/scripts/run-trigger-eval.d.ts +58 -58
  41. package/dist/builtin/skill-creator/scripts/run-trigger-eval.js +224 -224
  42. package/dist/builtin/tdd/SKILL.md +56 -56
  43. package/dist/chunks/agent-4FABF6WK.js +2 -0
  44. package/dist/chunks/argument-completer-72VHB2VL.js +2 -0
  45. package/dist/chunks/{chunk-7JXA3533.js → chunk-4OIQZWA5.js} +223 -226
  46. package/dist/chunks/{chunk-BNVSKIAB.js → chunk-6BVF3HZ7.js} +136 -136
  47. package/dist/chunks/chunk-7JZZIFZH.js +501 -0
  48. package/dist/chunks/chunk-AC7Z2OIY.js +2 -0
  49. package/dist/chunks/{chunk-JS452J2F.js → chunk-C4KYZAFU.js} +2 -2
  50. package/dist/chunks/chunk-CHUPIWIF.js +251 -0
  51. package/dist/chunks/{chunk-C4DTUKTR.js → chunk-GYUU7XLH.js} +5 -4
  52. package/dist/chunks/{chunk-OK4AXDC5.js → chunk-HAX55GOQ.js} +1 -1
  53. package/dist/chunks/chunk-JKTJCGO2.js +418 -0
  54. package/dist/chunks/{chunk-O743AJ5V.js → chunk-LQYETRFK.js} +171 -175
  55. package/dist/chunks/{chunk-2PEDBGKN.js → chunk-LTUZTQ6W.js} +1 -1
  56. package/dist/chunks/chunk-LYWDUSKO.js +2 -0
  57. package/dist/chunks/chunk-NGH6T4FD.js +92 -0
  58. package/dist/chunks/{chunk-SRIJX5ZP.js → chunk-NVRWCSA5.js} +1 -1
  59. package/dist/chunks/chunk-O4DS7RIQ.js +384 -0
  60. package/dist/chunks/chunk-ORXU6OWZ.js +2 -0
  61. package/dist/chunks/chunk-POTW3O65.js +124 -0
  62. package/dist/chunks/{chunk-2TM3W3GK.js → chunk-RIQSS56Y.js} +1 -1
  63. package/dist/chunks/chunk-U27XKEN5.js +407 -0
  64. package/dist/chunks/{chunk-6ABQJUK6.js → chunk-XUX6OUCA.js} +2 -2
  65. package/dist/chunks/{client-JDOS3YJR.js → client-4C456K4O.js} +1 -1
  66. package/dist/chunks/compaction-config-3VQRDFF4.js +2 -0
  67. package/dist/chunks/{construction-bootstrap-YCWHHUYO.js → construction-bootstrap-AHN7EDGG.js} +1 -1
  68. package/dist/chunks/dist-BCBQXAGI.js +2 -0
  69. package/dist/chunks/dist-QK2YDWU6.js +2 -0
  70. package/dist/chunks/host-VIHV7ADG.js +2 -0
  71. package/dist/chunks/run-manager-NBVMU3KV.js +2 -0
  72. package/dist/chunks/utils-MEJZ2IGI.js +2 -0
  73. package/dist/index.d.ts +22 -21
  74. package/dist/index.js +7 -7
  75. package/dist/kodax_bootstrap.js +26 -26
  76. package/dist/kodax_cli.js +1905 -1882
  77. package/dist/native/darwin-arm64/LICENSE-APACHE.txt +13 -0
  78. package/dist/native/darwin-arm64/kodax-text-transaction.node +0 -0
  79. package/dist/native/darwin-arm64/manifest.json +16 -0
  80. package/dist/native/darwin-x64/LICENSE-APACHE.txt +13 -0
  81. package/dist/native/darwin-x64/kodax-text-transaction.node +0 -0
  82. package/dist/native/darwin-x64/manifest.json +16 -0
  83. package/dist/native/linux-arm64/LICENSE-APACHE.txt +13 -0
  84. package/dist/native/linux-arm64/kodax-text-transaction.node +0 -0
  85. package/dist/native/linux-arm64/manifest.json +16 -0
  86. package/dist/native/linux-x64/LICENSE-APACHE.txt +13 -0
  87. package/dist/native/linux-x64/kodax-text-transaction.node +0 -0
  88. package/dist/native/linux-x64/manifest.json +16 -0
  89. package/dist/native/win32-x64/LICENSE-APACHE.txt +13 -0
  90. package/dist/native/win32-x64/NOTICE-windows-sandbox.txt +8 -0
  91. package/dist/native/win32-x64/kodax-windows-sandbox.exe +0 -0
  92. package/dist/native/win32-x64/kodax-windows-text-transaction.node +0 -0
  93. package/dist/native/win32-x64/manifest.json +30 -0
  94. package/dist/provider-capabilities.json +108 -2
  95. package/dist/runtime-worker.js +1745 -1727
  96. package/dist/sandbox-network-broker.js +1715 -0
  97. package/dist/sdk-a2a.d.ts +13 -12
  98. package/dist/sdk-a2a.js +1 -1
  99. package/dist/sdk-agent.d.ts +27 -18
  100. package/dist/sdk-agent.js +1 -1
  101. package/dist/sdk-coding.d.ts +107 -58
  102. package/dist/sdk-coding.js +1 -1
  103. package/dist/sdk-experimental-memory.d.ts +4 -4
  104. package/dist/sdk-experimental-memory.js +1 -1
  105. package/dist/sdk-llm.d.ts +9 -10
  106. package/dist/sdk-llm.js +1 -1
  107. package/dist/sdk-mcp.js +1 -1
  108. package/dist/sdk-media.d.ts +1 -1
  109. package/dist/sdk-media.js +1 -1
  110. package/dist/sdk-repl.d.ts +25 -17
  111. package/dist/sdk-repl.js +1 -1
  112. package/dist/sdk-runtime.d.ts +41 -17
  113. package/dist/sdk-runtime.js +1 -1
  114. package/dist/sdk-sandbox.d.ts +17 -3
  115. package/dist/sdk-sandbox.js +1 -1
  116. package/dist/sdk-session.d.ts +8 -7
  117. package/dist/sdk-session.js +1 -1
  118. package/dist/sdk-skills.js +1 -1
  119. package/dist/semantic-worker.js +61 -61
  120. package/dist/types-chunks/{base.d-vopO1rml.d.ts → base.d-COo8E2dk.d.ts} +18 -27
  121. package/dist/types-chunks/{bash-prefix-extractor.d-B2rxNI4L.d.ts → bash-prefix-extractor.d-DQOlA8cy.d.ts} +72 -52
  122. package/dist/types-chunks/{capability-learning.d-CE1tm29C.d.ts → capability-learning.d-lRPgA3Or.d.ts} +1 -1
  123. package/dist/types-chunks/{capsule.d-Y7QRS4J2.d.ts → capsule.d-0zxsgXg_.d.ts} +3 -3
  124. package/dist/types-chunks/{controller.d-BR-UVeUR.d.ts → controller.d-BTtyIIC1.d.ts} +1 -1
  125. package/dist/types-chunks/{controller.d-C5noq5-w.d.ts → controller.d-C7tXUcXo.d.ts} +2 -2
  126. package/dist/types-chunks/{guardrail.d-DqHD-61O.d.ts → guardrail.d-DKTyEHJa.d.ts} +5 -5
  127. package/dist/types-chunks/{history-retrieval.d-CKU8zmt_.d.ts → history-retrieval.d-CHnL99S7.d.ts} +2 -2
  128. package/dist/types-chunks/{public-api.d-D7fXaWW8.d.ts → public-api.d-Dx3L3W4Z.d.ts} +7 -4
  129. package/dist/types-chunks/{repl.d-BYDb14s6.d.ts → repl.d-mO01olIa.d.ts} +5 -5
  130. package/dist/types-chunks/{resolver.d-CwHUwbdE.d.ts → resolver.d-DlXPjeyx.d.ts} +38 -6
  131. package/dist/types-chunks/{review-inbox.d-BSgFewyj.d.ts → review-inbox.d-WDSe1nze.d.ts} +1 -1
  132. package/dist/types-chunks/{run-manager.d-BVJSntpS.d.ts → run-manager.d-DENbbzgR.d.ts} +1 -1
  133. package/dist/types-chunks/{sdk-session-CqEG84oP.d.ts → sdk-session-DYHGXXH4.d.ts} +3 -3
  134. package/dist/types-chunks/{shell-command-sets.d-DqaaBwhU.d.ts → shell-command-sets.d-CjFqS4dp.d.ts} +1 -1
  135. package/dist/types-chunks/{side-query.d-iH0P9ASy.d.ts → side-query.d-j8A3sFv_.d.ts} +2 -2
  136. package/dist/types-chunks/{types.d-rUOjXych.d.ts → types.d-BbZjR0Wr.d.ts} +1 -1
  137. package/dist/types-chunks/{types.d-CaTXAW_Q.d.ts → types.d-BkTIKdH6.d.ts} +2 -2
  138. package/dist/types-chunks/{types.d-C5xQEFcj.d.ts → types.d-DncLrpu_.d.ts} +4 -4
  139. package/dist/types-chunks/{types.d-CK9A9rpP.d.ts → types.d-Xy0f3x4i.d.ts} +9 -0
  140. package/dist/types-chunks/{utils.d-CWUyLiXo.d.ts → utils.d-CnxefMos.d.ts} +6 -6
  141. package/package.json +10 -3
  142. package/public_docs/README.md +130 -0
  143. package/public_docs/configuration/sandbox.md +289 -0
  144. package/public_docs/sdk/embedder-guide.md +6674 -0
  145. package/scripts/kodax-bin.cjs +28 -28
  146. package/scripts/production-env.cjs +25 -25
  147. package/dist/chunks/agent-XXZMXKKA.js +0 -2
  148. package/dist/chunks/argument-completer-KCYDGTQW.js +0 -2
  149. package/dist/chunks/chunk-77PNP27P.js +0 -92
  150. package/dist/chunks/chunk-7QBWHCIZ.js +0 -2
  151. package/dist/chunks/chunk-BHE66SP3.js +0 -123
  152. package/dist/chunks/chunk-BR2OSB2I.js +0 -722
  153. package/dist/chunks/chunk-DSMONSVB.js +0 -407
  154. package/dist/chunks/chunk-Q5VRWSKG.js +0 -418
  155. package/dist/chunks/chunk-XWRPOGJN.js +0 -4
  156. package/dist/chunks/chunk-Y5VIQBT6.js +0 -383
  157. package/dist/chunks/compaction-config-EGS4577X.js +0 -2
  158. package/dist/chunks/dist-ITTXQHRJ.js +0 -2
  159. package/dist/chunks/dist-KFYN3OKD.js +0 -2
  160. package/dist/chunks/host-VAYADIPW.js +0 -2
  161. package/dist/chunks/run-manager-52IJZMZJ.js +0 -2
  162. package/dist/chunks/utils-P7PBSL3R.js +0 -2
  163. package/dist/sandbox-workspace-session.js +0 -1705
@@ -1,4 +1,4 @@
1
- import { r as KodaXProviderConfig, k as KodaXMessage, a2 as KodaXToolDefinition, I as KodaXReasoningRequest, z as KodaXProviderStreamOptions, O as KodaXStreamResult, a8 as KodaXVerifyCredentialResult, l as KodaXModelDescriptor, q as KodaXProviderCapabilityProfile, C as KodaXReasoningCapability, H as KodaXReasoningProfile, n as KodaXNormalizedReasoningRequest, aa as KodaXWireReasoningEffort } from './types.d-CK9A9rpP.js';
1
+ import { r as KodaXProviderConfig, k as KodaXMessage, a2 as KodaXToolDefinition, I as KodaXReasoningRequest, z as KodaXProviderStreamOptions, O as KodaXStreamResult, a8 as KodaXVerifyCredentialResult, l as KodaXModelDescriptor, q as KodaXProviderCapabilityProfile, C as KodaXReasoningCapability, H as KodaXReasoningProfile, n as KodaXNormalizedReasoningRequest, aa as KodaXWireReasoningEffort } from './types.d-Xy0f3x4i.js';
2
2
 
3
3
  /**
4
4
  * Retry-After header parsing — FEATURE_130 (v0.7.36).
@@ -104,6 +104,13 @@ interface ReasoningRejectionGuard {
104
104
  effort: string;
105
105
  }) => void;
106
106
  }
107
+ /** Retry-only state owned by one provider request, never by the provider singleton. */
108
+ interface ProviderRequestRetryState {
109
+ maxOutputTokensOverride?: number;
110
+ /** Effective cap of the original request; overflow recovery may only lower it. */
111
+ maxOutputTokensLimit?: number;
112
+ suppressReasoningEffort: boolean;
113
+ }
107
114
 
108
115
  interface ResolvedV2ReasoningIntent {
109
116
  readonly disabled: boolean;
@@ -131,37 +138,20 @@ declare abstract class KodaXBaseProvider {
131
138
  abstract readonly name: string;
132
139
  abstract readonly supportsThinking: boolean;
133
140
  protected abstract readonly config: KodaXProviderConfig;
141
+ private readonly activeLegacyRequestOverride;
142
+ private pendingLegacyMaxOutputTokensOverride?;
134
143
  /**
135
- * Per-request override for `max_tokens` in the next provider call. Consumed
136
- * once and cleared in `withRateLimit` after the next successful response.
137
- * Two callers set this:
138
- * 1. Context-overflow recovery inside `withRateLimit` (reduces budget
139
- * when the model reports "prompt too long").
140
- * 2. The agent loop's max_tokens escalation path, which flips this to
141
- * `KODAX_ESCALATED_MAX_OUTPUT_TOKENS` when a capped-budget turn
142
- * returns `stop_reason: max_tokens`. See `coding/src/agent.ts`.
143
- */
144
- protected maxOutputTokensOverride?: number;
145
- /**
146
- * One-shot flag for the passive-learning self-heal: when a request is
147
- * rejected for its reasoning-effort value, `withRateLimit` flips this true
148
- * and retries the SAME turn. The reasoning-application path then drops the
149
- * effort param so the retry uses the provider default and the user's turn
150
- * still completes — no interruption, no re-typed query. Cleared on success.
151
- */
152
- protected suppressReasoningEffort: boolean;
153
- /**
154
- * Public setter for the one-shot override above. Callers outside the
155
- * provider package (notably the agent loop's escalation branch) use this
156
- * to stage a larger budget for the next stream call in the same logical
157
- * turn. Pass `undefined` to clear a stale override explicitly.
144
+ * @deprecated Pass `streamOptions.maxOutputTokensOverride` to `stream()` or
145
+ * `complete()`. The setter remains a one-shot compatibility shim; concurrent
146
+ * callers must use the request option. Once admitted, the request value is
147
+ * async-context-local and cannot leak into sibling requests.
158
148
  */
159
149
  setMaxOutputTokensOverride(value: number | undefined): void;
160
150
  /**
161
151
  * Returns the max_tokens value the provider will currently use on its
162
152
  * next request. Precedence (highest to lowest):
163
- * 1. One-shot override (agent escalation, context-overflow recovery)
164
- * 2. User env var `KODAX_MAX_OUTPUT_TOKENS` (explicit user intent)
153
+ * 1. Deprecated one-shot override (compatibility only)
154
+ * 2. Run-scoped config / `KODAX_MAX_OUTPUT_TOKENS` (explicit user intent)
165
155
  * 3. Active model descriptor's `maxOutputTokens` (FEATURE_098)
166
156
  * 4. Provider config default
167
157
  * 5. Global `KODAX_MAX_TOKENS` fallback
@@ -300,6 +290,7 @@ declare abstract class KodaXBaseProvider {
300
290
  * header is present, which the caller then resolves to backoff)
301
291
  */
302
292
  protected extractRetryAfterMs(error: unknown): number | undefined;
293
+ private providerErrorMetadata;
303
294
  /**
304
295
  * Detect "prompt too long / context window exceeded" errors and compute
305
296
  * a reduced max_tokens for retry. Returns undefined if not a context
@@ -307,7 +298,7 @@ declare abstract class KodaXBaseProvider {
307
298
  */
308
299
  protected parseContextOverflow(error: unknown): number | undefined;
309
300
  protected isContextOverflowError(error: unknown): boolean;
310
- protected withRateLimit<T>(fn: () => Promise<T>, signal?: AbortSignal, retries?: number, onRateLimit?: (attempt: number, maxRetries: number, delayMs: number) => void, onRetryAfter?: KodaXOnRetryAfterCallback, reasoningGuard?: ReasoningRejectionGuard): Promise<T>;
301
+ protected withRateLimit<T>(fn: (retryState: ProviderRequestRetryState) => Promise<T>, signal?: AbortSignal, retries?: number, onRateLimit?: (attempt: number, maxRetries: number, delayMs: number) => void, onRetryAfter?: KodaXOnRetryAfterCallback, reasoningGuard?: ReasoningRejectionGuard): Promise<T>;
311
302
  }
312
303
 
313
304
  export { KodaXBaseProvider as K, extractHeadersFromError as e, parseRetryAfter as p };
@@ -1,12 +1,13 @@
1
- import { Z as KodaXGoalState, af as KodaXSessionLineage, k as AgentActorStore, O as AgentTurnExecutor, p as AgentBudgetPort, b as AgentActorOwner, a as AgentActorClient, x as AgentExecutionResult, a0 as KodaXJsonValue, U as KodaXExtensionSessionRecord, V as KodaXExtensionSessionState, a6 as KodaXSessionArtifactLedgerEntry, be as SessionErrorMetadata, an as KodaXSessionScope, ao as KodaXSessionStorage, aI as MemoryContextIdentity, aU as MemoryPack, b8 as MemoryReviewPlan, a3 as KodaXMemoryOutcomeDigest, b9 as MemoryReviewRunner } from './types.d-rUOjXych.js';
1
+ import { Z as KodaXGoalState, af as KodaXSessionLineage, k as AgentActorStore, O as AgentTurnExecutor, p as AgentBudgetPort, b as AgentActorOwner, a as AgentActorClient, x as AgentExecutionResult, a0 as KodaXJsonValue, U as KodaXExtensionSessionRecord, V as KodaXExtensionSessionState, a6 as KodaXSessionArtifactLedgerEntry, be as SessionErrorMetadata, an as KodaXSessionScope, ao as KodaXSessionStorage, aI as MemoryContextIdentity, aU as MemoryPack, b8 as MemoryReviewPlan, a3 as KodaXMemoryOutcomeDigest, b9 as MemoryReviewRunner } from './types.d-BbZjR0Wr.js';
2
2
  import { Diagnostic, Position, Location, Hover, DocumentSymbol, SymbolInformation, WorkspaceSymbol, CallHierarchyItem, CallHierarchyIncomingCall, CallHierarchyOutgoingCall } from 'vscode-languageserver-protocol';
3
- import { a1 as KodaXTokenUsage, k as KodaXMessage, a2 as KodaXToolDefinition, aa as KodaXWireReasoningEffort, V as KodaXTaskRoutingDecision, W as KodaXTaskType, X as KodaXTaskWorkIntent, R as KodaXTaskComplexity, M as KodaXRiskLevel, h as KodaXHarnessProfile, f as KodaXExecutionMode, b as KodaXChildFanoutClass, G as KodaXReasoningMode, L as KodaXReviewScale } from './types.d-CK9A9rpP.js';
4
- import { P as AgentMessage, ct as StopHookFn, o as AgentControllerHealth, G as AgentExecutorPlaneBinding, f as Agent, cW as WorkflowIsolation, aN as GuardrailPermissionIntent, ac as AskUserQuestionOptions, a8 as AskUserAnswer, aa as AskUserMultiOptions, cT as WorkflowEventCorrelation, am as CompactionUpdate, d8 as WorkflowProcessEvent, cS as WorkflowEvent, aJ as Guardrail, at as DiscoveredInstance, a$ as KodaXInputArtifact, cJ as UnifiedLearningReviewRunner } from './controller.d-C5noq5-w.js';
3
+ import { a1 as KodaXTokenUsage, k as KodaXMessage, a2 as KodaXToolDefinition, aa as KodaXWireReasoningEffort, V as KodaXTaskRoutingDecision, W as KodaXTaskType, X as KodaXTaskWorkIntent, R as KodaXTaskComplexity, M as KodaXRiskLevel, h as KodaXHarnessProfile, f as KodaXExecutionMode, b as KodaXChildFanoutClass, G as KodaXReasoningMode, L as KodaXReviewScale } from './types.d-Xy0f3x4i.js';
4
+ import { P as AgentMessage, ct as StopHookFn, o as AgentControllerHealth, G as AgentExecutorPlaneBinding, f as Agent, cW as WorkflowIsolation, aN as GuardrailPermissionIntent, ac as AskUserQuestionOptions, a8 as AskUserAnswer, aa as AskUserMultiOptions, cT as WorkflowEventCorrelation, am as CompactionUpdate, d8 as WorkflowProcessEvent, cS as WorkflowEvent, aJ as Guardrail, at as DiscoveredInstance, a$ as KodaXInputArtifact, cJ as UnifiedLearningReviewRunner } from './controller.d-C7tXUcXo.js';
5
+ import * as node_child_process from 'node:child_process';
5
6
  import { d as SkillDynamicContextExecutor, I as ISkillRegistry } from './types.d-Cb8RdrjU.js';
6
7
  import { K as KodaXLlmTimeoutConfig, a as CostTracker } from './cost-tracker.d-BeaenODW.js';
7
8
  import { p as MemoryRecallRunner } from './types-PHjfwebT.js';
8
9
  import { C as CapabilityKind, f as CapabilitySearchSnapshot, b as CapabilityResult } from './capability.d-K664nHOS.js';
9
- import { K as KodaXBaseProvider } from './base.d-vopO1rml.js';
10
+ import { K as KodaXBaseProvider } from './base.d-COo8E2dk.js';
10
11
 
11
12
  type KodaXOutputSegmentMode = 'replace' | 'append';
12
13
  interface KodaXOutputSegmentStarted {
@@ -1783,7 +1784,7 @@ type KodaXShellSandboxObservation = {
1783
1784
  } | {
1784
1785
  readonly version: 1;
1785
1786
  readonly state: 'fallback';
1786
- readonly reason: 'not_ready' | 'prepare_failed' | 'backend_failed';
1787
+ readonly reason: 'not_ready' | 'prepare_failed' | 'backend_failed' | 'session_reset_pending' | 'acl_transition_pending';
1787
1788
  readonly execution: 'normal_permission_policy';
1788
1789
  } | {
1789
1790
  readonly version: 1;
@@ -1822,6 +1823,12 @@ type KodaXCompactionEndResult = KodaXCompactionEndState & ({
1822
1823
  readonly outcome: 'compacted';
1823
1824
  readonly reason?: never;
1824
1825
  readonly failurePhase?: never;
1826
+ /**
1827
+ * FEATURE_296 (ADR-067): the compacted transcript still exceeds the
1828
+ * physical next-request budget; it was committed best-effort and the
1829
+ * recovery ladder owns the next request.
1830
+ */
1831
+ readonly stillOverCapacity?: boolean;
1825
1832
  } | {
1826
1833
  readonly outcome: 'skipped';
1827
1834
  readonly reason: CompactionSkipReason;
@@ -2923,29 +2930,33 @@ interface KodaXShellSandboxPrepareInput {
2923
2930
  readonly deadlineAt?: number;
2924
2931
  readonly reportObservation?: (observation: KodaXShellSandboxObservation) => void;
2925
2932
  }
2926
- /** Exclusive host filesystem fence acquired before a sandbox grants temporary ACLs. */
2927
- interface KodaXFileSystemEffectLease {
2928
- bindEffectProcess(pid: number, windowsJobContained: boolean): Promise<void>;
2929
- finishEffectProcess(): Promise<void>;
2930
- release(): Promise<void>;
2931
- }
2932
2933
  interface KodaXPreparedShellSandboxInvocation {
2933
2934
  readonly executable: string;
2934
2935
  readonly args: readonly string[];
2935
2936
  readonly env: NodeJS.ProcessEnv;
2936
2937
  readonly windowsVerbatimArguments?: boolean;
2937
- readonly fileSystemEffectLease?: KodaXFileSystemEffectLease;
2938
- /** Full sandbox policy identity used to coordinate compatible Windows ACL sessions. */
2939
- readonly fileSystemEffectPolicyKey?: string;
2940
- /** Final synchronous sandbox-safety check immediately before the effect gate starts the target. */
2941
- readonly authorizeStart?: () => void;
2938
+ /** Private bootstrap bytes consumed by the native host before target stdin. */
2939
+ readonly stdinPrefix?: Uint8Array;
2940
+ /** Broker-only framed output. The requested descriptor is never inherited by the target. */
2941
+ readonly controlChannel?: {
2942
+ readonly fd: 3;
2943
+ readonly maxOutputBytes: number;
2944
+ };
2945
+ /** The authenticated native runner owns a per-command kill-on-close Job. */
2946
+ readonly processTreeContainment?: 'native-job';
2947
+ readonly processControl?: KodaXShellSandboxProcessControl;
2942
2948
  cleanup(input?: {
2943
2949
  readonly execution: 'not_started' | 'started_or_unknown';
2950
+ readonly controlOutput?: Uint8Array;
2944
2951
  }): Promise<KodaXShellSandboxObservation | undefined>;
2945
- /** Evicts a cleanup-requested sandbox session; its safe reset may drain asynchronously. */
2946
- readonly retire?: () => Promise<void>;
2947
2952
  }
2948
2953
  /** Runtime-owned OS sandbox broker for selected concrete shell calls. */
2954
+ interface KodaXShellSandboxProcessControl {
2955
+ /** Deliver target stdin and keep the native command channel alive. */
2956
+ closeInput(child: node_child_process.ChildProcess, signal: AbortSignal | undefined, deadlineAt: number): Promise<void>;
2957
+ /** Request native Job termination and wait for its drain attestation. */
2958
+ terminate(child: node_child_process.ChildProcess): Promise<void>;
2959
+ }
2949
2960
  interface KodaXShellSandbox {
2950
2961
  /**
2951
2962
  * Host-trusted proof that the prepared root cannot settle while one of its
@@ -2955,42 +2966,51 @@ interface KodaXShellSandbox {
2955
2966
  readonly processTreeContainment?: 'root-exit-drains';
2956
2967
  prepare(input: KodaXShellSandboxPrepareInput): Promise<KodaXPreparedShellSandboxInvocation | undefined>;
2957
2968
  }
2958
- interface KodaXTextFileSnapshot {
2969
+ /** Canonical snapshot produced by the trusted main-process text authority. */
2970
+ interface KodaXTrustedTextFileSnapshot {
2959
2971
  readonly state: 'missing' | 'present';
2960
2972
  readonly content: string;
2961
- /** Opaque identity for an optimistic compare-and-write conflict check. */
2962
2973
  readonly revision: string;
2963
- /** Canonical backup authority bound to the opened snapshot identity. */
2964
- readonly backupPath: string;
2974
+ /** Stable canonical namespace slot used by the cross-Runtime kernel lock. */
2975
+ readonly slot: string;
2976
+ readonly canonicalPath: string;
2965
2977
  }
2966
- interface KodaXTextFileMutationRequest {
2967
- readonly toolCallId?: string;
2968
- readonly toolName: 'edit' | 'insert_after_anchor' | 'multi_edit' | 'undo' | 'write';
2969
- readonly toolInput: Readonly<Record<string, unknown>>;
2978
+ interface KodaXTrustedTextCommitInput {
2970
2979
  readonly path: string;
2980
+ readonly expectedRevision: string;
2981
+ readonly content: string;
2982
+ readonly createParentDirectories: boolean;
2971
2983
  readonly signal?: AbortSignal;
2972
2984
  }
2973
- /** Runtime-owned narrow filesystem capability for direct text mutation tools. */
2974
- interface KodaXTextFileMutationSandbox {
2975
- /** Whether this capability covers the path; uncovered paths use the legacy host fence. */
2976
- canHandlePath?(filePath: string): boolean;
2977
- read(input: KodaXTextFileMutationRequest): Promise<{
2978
- readonly status: 'ok';
2979
- readonly snapshot: KodaXTextFileSnapshot;
2980
- } | {
2981
- readonly status: 'unavailable';
2982
- }>;
2983
- write(input: KodaXTextFileMutationRequest & {
2984
- readonly content: string;
2985
+ type KodaXTrustedTextCommitOutcome = {
2986
+ readonly status: 'written';
2987
+ readonly before: KodaXTrustedTextFileSnapshot;
2988
+ readonly after: KodaXTrustedTextFileSnapshot;
2989
+ /** True when Windows recovered a mutex abandoned by a dead peer. */
2990
+ readonly recoveredAbandonedLock: boolean;
2991
+ } | {
2992
+ readonly status: 'stale';
2993
+ readonly currentRevision: string;
2994
+ } | {
2995
+ /** The replacement linearized, but its durability or rollback could not be proven. */
2996
+ readonly status: 'committed_uncertain';
2997
+ readonly before: KodaXTrustedTextFileSnapshot;
2998
+ readonly after: KodaXTrustedTextFileSnapshot;
2999
+ readonly recoveredAbandonedLock: boolean;
3000
+ readonly reason: string;
3001
+ };
3002
+ /**
3003
+ * Host-owned trusted text authority. It performs final canonical policy
3004
+ * validation, no-follow traversal, cross-Runtime locking, locked CAS, flush,
3005
+ * and atomic replacement without entering the shell sandbox graph.
3006
+ */
3007
+ interface KodaXTrustedTextMutationHost {
3008
+ snapshot(input: {
3009
+ readonly path: string;
2985
3010
  readonly createParentDirectories: boolean;
2986
- readonly expectedRevision: string;
2987
- }): Promise<{
2988
- readonly status: 'written';
2989
- } | {
2990
- readonly status: 'conflict';
2991
- } | {
2992
- readonly status: 'unavailable';
2993
- }>;
3011
+ readonly signal?: AbortSignal;
3012
+ }): Promise<KodaXTrustedTextFileSnapshot>;
3013
+ commit(input: KodaXTrustedTextCommitInput): Promise<KodaXTrustedTextCommitOutcome>;
2994
3014
  }
2995
3015
  /** Runtime-owned exact workspace roots shared by shell and direct text tools. */
2996
3016
  interface KodaXWorkspaceSandboxRootRegistry {
@@ -3066,8 +3086,8 @@ interface KodaXContextOptions {
3066
3086
  shellExecution?: KodaXShellExecutionContract;
3067
3087
  /** Runtime-owned OS sandbox broker; never accepted from serialized model input. */
3068
3088
  shellSandbox?: KodaXShellSandbox;
3069
- /** Runtime-owned OS-sandboxed optimistic compare-and-write path for direct text mutations. */
3070
- textFileMutationSandbox?: KodaXTextFileMutationSandbox;
3089
+ /** Runtime-owned trusted host transaction authority for direct text tools. */
3090
+ trustedTextMutationHost?: KodaXTrustedTextMutationHost;
3071
3091
  /** Runtime-owned linked-worktree roots; never accepted from model input. */
3072
3092
  workspaceSandboxRoots?: KodaXWorkspaceSandboxRootRegistry;
3073
3093
  /** Fail-closed host policy applied to every concrete file a read tool opens. */
@@ -3823,8 +3843,8 @@ interface KodaXToolExecutionContext {
3823
3843
  sandbox?: KodaXSandboxOptions;
3824
3844
  /** Runtime-owned OS sandbox broker for selected concrete shell calls. */
3825
3845
  shellSandbox?: KodaXShellSandbox;
3826
- /** Runtime-owned OS-sandboxed read/compare/write path for direct text mutations. */
3827
- textFileMutationSandbox?: KodaXTextFileMutationSandbox;
3846
+ /** Runtime-owned trusted host transaction authority for direct text tools. */
3847
+ trustedTextMutationHost?: KodaXTrustedTextMutationHost;
3828
3848
  /** Runtime-owned linked-worktree roots shared by shell and direct text tools. */
3829
3849
  workspaceSandboxRoots?: KodaXWorkspaceSandboxRootRegistry;
3830
3850
  /** Structured containment metadata; never model-visible or persisted as conversation text. */
@@ -4279,5 +4299,5 @@ interface CreateBashPrefixExtractorOptions {
4279
4299
  */
4280
4300
  declare function createBashPrefixExtractor(opts: CreateBashPrefixExtractorOptions): BashPrefixExtractor;
4281
4301
 
4282
- export { ALWAYS_RESIDENT_TOOL_NAMES as A, BASH_POLICY_SPEC as B, createBashPrefixExtractor as b$, buildGoalRuntimeBinding as bZ, consumeCompactionCooldown as b_, LSP_SERVERS as bg, LspService as bi, createCompactionAntiThrashState as c0, createExternalActorTurnExecutor as c1, createLocalCodingActorControl as c2, createOutputSegmentProjection as c3, createRuntimeContextBudgetSnapshot as c4, decideWorkflowInvocation as c5, drainPendingSwaps as c6, effectiveOutputSegmentText as c7, estimateToolSchemaTokens as c8, extractCommandPrefix as c9, getDefaultLspService as ca, hasExplicitNaturalLanguageWorkflowIntent as cb, hasPendingSwap as cc, makeDisabledGoalToolsContext as cd, normalizeKodaXAgentMode as ce, planToolExposure as cf, providerResilienceConfigFromTimeouts as cg, recordCompactionSavings as ch, reduceOutputSegmentProjection as ci, resolveConstructedAgent as cj, shouldSkipLlmCompaction as ck, shutdownDefaultLspService as cl, withGoalBeforeNextTurn as cm, withGoalStopHook as cn, workflowStartOutcomeConsumesTurn as co, CodingActorSession as d };
4283
- export type { KodaXManualSource as $, CapabilityRuntimeContract as C, DiagnosticsRequest as D, ExtensionRuntimeContract as E, FailureStage as F, GoalBlockedResult as G, KodaXChildContextBundle as H, KodaXChildExecutionResult as I, KodaXCompactionEndResult as J, KodaXActivityEventMeta as K, KodaXCompactionFailureReason as L, KodaXCompactionOverride as M, KodaXContextCompactionFinishedEvent as N, KodaXContextIdentity as O, KodaXContextOptions as P, KodaXContextTokenSnapshot as Q, KodaXEffectiveTaskConfig as R, KodaXEvents as S, KodaXFileSystemEffectLease as T, KodaXLiveEventMeta as U, KodaXManagedBudgetSnapshot as V, KodaXManagedProtocolPayload as W, KodaXManagedTask as X, KodaXManagedTaskRuntimeState as Y, KodaXManagedTaskStatusEvent as Z, KodaXManualIndexTopic as _, BashPrefixExtractor as a, KodaXTimeoutConfig as a$, KodaXManualTopic as a0, KodaXManualTopicId as a1, KodaXManualTopicInput as a2, KodaXMemoryStrategy as a3, KodaXOptions as a4, KodaXOrchestrationVerdict as a5, KodaXOutputSegmentActiveState as a6, KodaXOutputSegmentDelta as a7, KodaXOutputSegmentMode as a8, KodaXOutputSegmentProjection as a9, KodaXShellSandboxObservation as aA, KodaXShellSandboxPrepareInput as aB, KodaXSidecarMessageEvent as aC, KodaXSkillDynamicContextPolicy as aD, KodaXSkillInvocationContext as aE, KodaXSkillMap as aF, KodaXSkillProjectionConfidence as aG, KodaXSkillScriptInputFile as aH, KodaXSkillScriptOutputFile as aI, KodaXSkillScriptRunInput as aJ, KodaXSkillScriptRunner as aK, KodaXTaskCapabilityHint as aL, KodaXTaskContract as aM, KodaXTaskEvidenceArtifact as aN, KodaXTaskEvidenceBundle as aO, KodaXTaskEvidenceEntry as aP, KodaXTaskRole as aQ, KodaXTaskRoleAssignment as aR, KodaXTaskStatus as aS, KodaXTaskSurface as aT, KodaXTaskToolPolicy as aU, KodaXTaskVerificationContract as aV, KodaXTaskVerificationCriterion as aW, KodaXTaskWorkItem as aX, KodaXTextFileMutationRequest as aY, KodaXTextFileMutationSandbox as aZ, KodaXTextFileSnapshot as a_, KodaXOutputSegmentProjectionEvent as aa, KodaXOutputSegmentProjectionResult as ab, KodaXOutputSegmentStarted as ac, KodaXParentReductionContract as ad, KodaXPreparedShellSandboxInvocation as ae, KodaXPromptCacheDiagnosticEvent as af, KodaXProviderPolicyHints as ag, KodaXRepoIntelligenceCapability as ah, KodaXRepoIntelligenceMode as ai, KodaXRepoIntelligenceResolvedMode as aj, KodaXRepoIntelligenceTrace as ak, KodaXRepoIntelligenceTraceEvent as al, KodaXRepoRoutingSignals as am, KodaXResult as an, KodaXRoleRoundSummary as ao, KodaXRuntimeVerificationContract as ap, KodaXSandboxOptions as aq, KodaXSelfManualConfig as ar, KodaXSessionControl as as, KodaXSessionMutators as at, KodaXSessionOptions as au, KodaXShellExecutionContract as av, KodaXShellKind as aw, KodaXShellProfileMode as ax, KodaXShellSandbox as ay, KodaXShellSandboxBackend as az, BashPrefixResult as b, KodaXToolEventMeta as b0, KodaXToolExecutionContext as b1, KodaXToolSandboxObservationUpdate as b2, KodaXToolVisibilityMeta as b3, KodaXToolVisibilityPolicy as b4, KodaXTurnCompletedEvent as b5, KodaXTurnDeliveryKind as b6, KodaXTurnFailedEvent as b7, KodaXTurnStartedEvent as b8, KodaXUserInputPromptContext as b9, RuntimeContextBudgetRecommendation as bA, RuntimeContextBudgetSnapshot as bB, RuntimeContextBudgetSnapshotInput as bC, RuntimeContextOptimizationProfile as bD, RuntimeContextPressure as bE, RuntimeDefaultsSnapshot as bF, RuntimeToolExposureDecision as bG, RuntimeToolExposureMode as bH, RuntimeToolExposurePlan as bI, RuntimeToolExposurePlanInput as bJ, RuntimeToolExposureReason as bK, TodoItem as bL, TodoList as bM, TodoStatus as bN, ToolSideEffect as bO, WorkflowHostPolicy as bP, WorkflowInvocationAction as bQ, WorkflowInvocationPolicyDecision as bR, WorkflowInvocationPolicyInput as bS, WorkflowInvocationSource as bT, WorkflowStartOutcome as bU, WorkflowToolHost as bV, WorkflowToolHostInlineInput as bW, WorkflowToolHostResult as bX, WorkflowToolHostStartResult as bY, KodaXVerificationScorecard as ba, KodaXVerificationScorecardCriterion as bb, KodaXWorkflowAgentDigestEvent as bc, KodaXWorkflowEventMeta as bd, KodaXWorkflowTimeoutConfig as be, KodaXWorkspaceSandboxRootRegistry as bf, LspServerInfo as bh, LspServiceConfig as bj, ProviderExecutionState as bk, ProviderRecoveryEvent as bl, ProviderResilienceConfig as bm, ProviderResiliencePolicy as bn, RecoveryAction as bo, RecoveryDecision as bp, RecoveryLadderStep as bq, RecoveryResult as br, ResilienceClassification as bs, ResilienceErrorClass as bt, ResolveKodaXManualInput as bu, ResolveKodaXManualOptions as bv, ResolveKodaXManualResult as bw, RunScopedToolDefinition as bx, RuntimeCompactionSkippedEvent as by, RuntimeContextBudgetBreakdown as bz, BoundExtensionRuntimeController as c, CodingActorSessionOptions as e, CompactionAntiThrashConfig as f, CompactionAntiThrashState as g, CompactionSavingsDecision as h, CompactionSavingsSample as i, CompactionSkipReason as j, CreateBashPrefixExtractorOptions as k, ExtractCommandPrefixOptions as l, GoalCompleteResult as m, GoalCreateInput as n, GoalLifecycleContext as o, GoalRuntimeBinding as p, GoalRuntimeBindingDeps as q, GoalToolsContext as r, KodaXActorHost as s, KodaXAgentMode as t, KodaXAgentProfile as u, KodaXAgentScope as v, KodaXBudgetDisclosureZone as w, KodaXBudgetExtensionRequest as x, KodaXCanonicalAgentMode as y, KodaXChildAgentResult as z };
4302
+ export { ALWAYS_RESIDENT_TOOL_NAMES as A, BASH_POLICY_SPEC as B, consumeCompactionCooldown as b$, buildGoalRuntimeBinding as b_, LSP_SERVERS as bh, LspService as bj, createBashPrefixExtractor as c0, createCompactionAntiThrashState as c1, createExternalActorTurnExecutor as c2, createLocalCodingActorControl as c3, createOutputSegmentProjection as c4, createRuntimeContextBudgetSnapshot as c5, decideWorkflowInvocation as c6, drainPendingSwaps as c7, effectiveOutputSegmentText as c8, estimateToolSchemaTokens as c9, extractCommandPrefix as ca, getDefaultLspService as cb, hasExplicitNaturalLanguageWorkflowIntent as cc, hasPendingSwap as cd, makeDisabledGoalToolsContext as ce, normalizeKodaXAgentMode as cf, planToolExposure as cg, providerResilienceConfigFromTimeouts as ch, recordCompactionSavings as ci, reduceOutputSegmentProjection as cj, resolveConstructedAgent as ck, shouldSkipLlmCompaction as cl, shutdownDefaultLspService as cm, withGoalBeforeNextTurn as cn, withGoalStopHook as co, workflowStartOutcomeConsumesTurn as cp, CodingActorSession as d };
4303
+ export type { KodaXManualTopic as $, CapabilityRuntimeContract as C, DiagnosticsRequest as D, ExtensionRuntimeContract as E, FailureStage as F, GoalBlockedResult as G, KodaXChildContextBundle as H, KodaXChildExecutionResult as I, KodaXCompactionEndResult as J, KodaXActivityEventMeta as K, KodaXCompactionFailureReason as L, KodaXCompactionOverride as M, KodaXContextCompactionFinishedEvent as N, KodaXContextIdentity as O, KodaXContextOptions as P, KodaXContextTokenSnapshot as Q, KodaXEffectiveTaskConfig as R, KodaXEvents as S, KodaXLiveEventMeta as T, KodaXManagedBudgetSnapshot as U, KodaXManagedProtocolPayload as V, KodaXManagedTask as W, KodaXManagedTaskRuntimeState as X, KodaXManagedTaskStatusEvent as Y, KodaXManualIndexTopic as Z, KodaXManualSource as _, BashPrefixExtractor as a, KodaXToolSandboxObservationUpdate as a$, KodaXManualTopicId as a0, KodaXManualTopicInput as a1, KodaXMemoryStrategy as a2, KodaXOptions as a3, KodaXOrchestrationVerdict as a4, KodaXOutputSegmentActiveState as a5, KodaXOutputSegmentDelta as a6, KodaXOutputSegmentMode as a7, KodaXOutputSegmentProjection as a8, KodaXOutputSegmentProjectionEvent as a9, KodaXShellSandboxPrepareInput as aA, KodaXShellSandboxProcessControl as aB, KodaXSidecarMessageEvent as aC, KodaXSkillDynamicContextPolicy as aD, KodaXSkillInvocationContext as aE, KodaXSkillMap as aF, KodaXSkillProjectionConfidence as aG, KodaXSkillScriptInputFile as aH, KodaXSkillScriptOutputFile as aI, KodaXSkillScriptRunInput as aJ, KodaXSkillScriptRunner as aK, KodaXTaskCapabilityHint as aL, KodaXTaskContract as aM, KodaXTaskEvidenceArtifact as aN, KodaXTaskEvidenceBundle as aO, KodaXTaskEvidenceEntry as aP, KodaXTaskRole as aQ, KodaXTaskRoleAssignment as aR, KodaXTaskStatus as aS, KodaXTaskSurface as aT, KodaXTaskToolPolicy as aU, KodaXTaskVerificationContract as aV, KodaXTaskVerificationCriterion as aW, KodaXTaskWorkItem as aX, KodaXTimeoutConfig as aY, KodaXToolEventMeta as aZ, KodaXToolExecutionContext as a_, KodaXOutputSegmentProjectionResult as aa, KodaXOutputSegmentStarted as ab, KodaXParentReductionContract as ac, KodaXPreparedShellSandboxInvocation as ad, KodaXPromptCacheDiagnosticEvent as ae, KodaXProviderPolicyHints as af, KodaXRepoIntelligenceCapability as ag, KodaXRepoIntelligenceMode as ah, KodaXRepoIntelligenceResolvedMode as ai, KodaXRepoIntelligenceTrace as aj, KodaXRepoIntelligenceTraceEvent as ak, KodaXRepoRoutingSignals as al, KodaXResult as am, KodaXRoleRoundSummary as an, KodaXRuntimeVerificationContract as ao, KodaXSandboxOptions as ap, KodaXSelfManualConfig as aq, KodaXSessionControl as ar, KodaXSessionMutators as as, KodaXSessionOptions as at, KodaXShellExecutionContract as au, KodaXShellKind as av, KodaXShellProfileMode as aw, KodaXShellSandbox as ax, KodaXShellSandboxBackend as ay, KodaXShellSandboxObservation as az, BashPrefixResult as b, KodaXToolVisibilityMeta as b0, KodaXToolVisibilityPolicy as b1, KodaXTrustedTextCommitInput as b2, KodaXTrustedTextCommitOutcome as b3, KodaXTrustedTextFileSnapshot as b4, KodaXTrustedTextMutationHost as b5, KodaXTurnCompletedEvent as b6, KodaXTurnDeliveryKind as b7, KodaXTurnFailedEvent as b8, KodaXTurnStartedEvent as b9, RuntimeContextBudgetBreakdown as bA, RuntimeContextBudgetRecommendation as bB, RuntimeContextBudgetSnapshot as bC, RuntimeContextBudgetSnapshotInput as bD, RuntimeContextOptimizationProfile as bE, RuntimeContextPressure as bF, RuntimeDefaultsSnapshot as bG, RuntimeToolExposureDecision as bH, RuntimeToolExposureMode as bI, RuntimeToolExposurePlan as bJ, RuntimeToolExposurePlanInput as bK, RuntimeToolExposureReason as bL, TodoItem as bM, TodoList as bN, TodoStatus as bO, ToolSideEffect as bP, WorkflowHostPolicy as bQ, WorkflowInvocationAction as bR, WorkflowInvocationPolicyDecision as bS, WorkflowInvocationPolicyInput as bT, WorkflowInvocationSource as bU, WorkflowStartOutcome as bV, WorkflowToolHost as bW, WorkflowToolHostInlineInput as bX, WorkflowToolHostResult as bY, WorkflowToolHostStartResult as bZ, KodaXUserInputPromptContext as ba, KodaXVerificationScorecard as bb, KodaXVerificationScorecardCriterion as bc, KodaXWorkflowAgentDigestEvent as bd, KodaXWorkflowEventMeta as be, KodaXWorkflowTimeoutConfig as bf, KodaXWorkspaceSandboxRootRegistry as bg, LspServerInfo as bi, LspServiceConfig as bk, ProviderExecutionState as bl, ProviderRecoveryEvent as bm, ProviderResilienceConfig as bn, ProviderResiliencePolicy as bo, RecoveryAction as bp, RecoveryDecision as bq, RecoveryLadderStep as br, RecoveryResult as bs, ResilienceClassification as bt, ResilienceErrorClass as bu, ResolveKodaXManualInput as bv, ResolveKodaXManualOptions as bw, ResolveKodaXManualResult as bx, RunScopedToolDefinition as by, RuntimeCompactionSkippedEvent as bz, BoundExtensionRuntimeController as c, CodingActorSessionOptions as e, CompactionAntiThrashConfig as f, CompactionAntiThrashState as g, CompactionSavingsDecision as h, CompactionSavingsSample as i, CompactionSkipReason as j, CreateBashPrefixExtractorOptions as k, ExtractCommandPrefixOptions as l, GoalCompleteResult as m, GoalCreateInput as n, GoalLifecycleContext as o, GoalRuntimeBinding as p, GoalRuntimeBindingDeps as q, GoalToolsContext as r, KodaXActorHost as s, KodaXAgentMode as t, KodaXAgentProfile as u, KodaXAgentScope as v, KodaXBudgetDisclosureZone as w, KodaXBudgetExtensionRequest as x, KodaXCanonicalAgentMode as y, KodaXChildAgentResult as z };
@@ -1,4 +1,4 @@
1
- import { H as KodaXReasoningProfile } from './types.d-CK9A9rpP.js';
1
+ import { H as KodaXReasoningProfile } from './types.d-Xy0f3x4i.js';
2
2
 
3
3
  type CapabilityCacheSource = 'observed' | 'probed';
4
4
  interface CapabilityCacheEntry {
@@ -1,6 +1,6 @@
1
- import { k as KodaXMessage } from './types.d-CK9A9rpP.js';
2
- import { P as AgentMessage, cd as SessionEntry, cb as Session, ce as SessionExtension, ai as CompactionDetails, aH as FileOperations, cZ as WorkflowMeta, c_ as WorkflowModelHint, c$ as WorkflowModule } from './controller.d-C5noq5-w.js';
3
- import { af as KodaXSessionLineage, a0 as KodaXJsonValue, T as KodaXCompactMemorySeed, ab as KodaXSessionEntry, ap as KodaXSessionTreeNode, ae as KodaXSessionLabelEntry, ad as KodaXSessionGoalEntry, a8 as KodaXSessionClientNoticeEntry, al as KodaXSessionRewindMarkerEntry, ag as KodaXSessionMemoryOutcomeDigestEntry, ah as KodaXSessionMemoryReviewReceiptEntry, ak as KodaXSessionNavigationOptions, a6 as KodaXSessionArtifactLedgerEntry } from './types.d-rUOjXych.js';
1
+ import { k as KodaXMessage } from './types.d-Xy0f3x4i.js';
2
+ import { P as AgentMessage, cd as SessionEntry, cb as Session, ce as SessionExtension, ai as CompactionDetails, aH as FileOperations, cZ as WorkflowMeta, c_ as WorkflowModelHint, c$ as WorkflowModule } from './controller.d-C7tXUcXo.js';
3
+ import { af as KodaXSessionLineage, a0 as KodaXJsonValue, T as KodaXCompactMemorySeed, ab as KodaXSessionEntry, ap as KodaXSessionTreeNode, ae as KodaXSessionLabelEntry, ad as KodaXSessionGoalEntry, a8 as KodaXSessionClientNoticeEntry, al as KodaXSessionRewindMarkerEntry, ag as KodaXSessionMemoryOutcomeDigestEntry, ah as KodaXSessionMemoryReviewReceiptEntry, ak as KodaXSessionNavigationOptions, a6 as KodaXSessionArtifactLedgerEntry } from './types.d-BbZjR0Wr.js';
4
4
 
5
5
  /**
6
6
  * @kodax-ai/agent Constants
@@ -1,4 +1,4 @@
1
- import { aI as MemoryContextIdentity, aQ as MemoryItemRef, af as KodaXSessionLineage, a6 as KodaXSessionArtifactLedgerEntry, aM as MemoryEvent, b9 as MemoryReviewRunner, aT as MemoryManagementController, ay as MemoryActionProposal, aB as MemoryApplyResult, a$ as MemoryRejectResult, aZ as MemoryRefFilter, aG as MemoryBodySnapshot, b0 as MemoryRememberInput, b1 as MemoryRememberResult, aS as MemoryLifecycleOperationResult, aK as MemoryCuratorInput, aP as MemoryGovernanceReport, aE as MemoryAutoCuratorInput, aF as MemoryAutoCuratorResult, aW as MemoryPackInput, aU as MemoryPack, b4 as MemoryReviewInput, b8 as MemoryReviewPlan, a3 as KodaXMemoryOutcomeDigest, b5 as MemoryReviewModelInput, aL as MemoryEpisodeReviewResult } from './types.d-rUOjXych.js';
1
+ import { aI as MemoryContextIdentity, aQ as MemoryItemRef, af as KodaXSessionLineage, a6 as KodaXSessionArtifactLedgerEntry, aM as MemoryEvent, b9 as MemoryReviewRunner, aT as MemoryManagementController, ay as MemoryActionProposal, aB as MemoryApplyResult, a$ as MemoryRejectResult, aZ as MemoryRefFilter, aG as MemoryBodySnapshot, b0 as MemoryRememberInput, b1 as MemoryRememberResult, aS as MemoryLifecycleOperationResult, aK as MemoryCuratorInput, aP as MemoryGovernanceReport, aE as MemoryAutoCuratorInput, aF as MemoryAutoCuratorResult, aW as MemoryPackInput, aU as MemoryPack, b4 as MemoryReviewInput, b8 as MemoryReviewPlan, a3 as KodaXMemoryOutcomeDigest, b5 as MemoryReviewModelInput, aL as MemoryEpisodeReviewResult } from './types.d-BbZjR0Wr.js';
2
2
 
3
3
  interface CreateMemoryControlPlaneOptions {
4
4
  readonly cwd: string;
@@ -1,5 +1,5 @@
1
- import { a2 as KodaXToolDefinition, k as KodaXMessage, G as KodaXReasoningMode, aa as KodaXWireReasoningEffort, a4 as KodaXToolResultContentItem, Z as KodaXThinkingBlock, J as KodaXRedactedThinkingBlock } from './types.d-CK9A9rpP.js';
2
- import { b5 as MemoryReviewModelInput, a3 as KodaXMemoryOutcomeDigest, b8 as MemoryReviewPlan, T as KodaXCompactMemorySeed, a6 as KodaXSessionArtifactLedgerEntry, q as AgentCapabilities, O as AgentTurnExecutor, w as AgentExecutionKind, p as AgentBudgetPort, k as AgentActorStore, b as AgentActorOwner, t as AgentEvent, E as AgentMailboxMessage, a as AgentActorClient, x as AgentExecutionResult, L as AgentSpawnInput, G as AgentMutationOptions, P as AgentTurnRef, r as AgentDataClassification, F as AgentMetadataValue, y as AgentFollowupResult, B as AgentInterruptScope, M as AgentTreeSnapshot, s as AgentDetail, H as AgentOutput } from './types.d-rUOjXych.js';
1
+ import { a2 as KodaXToolDefinition, k as KodaXMessage, G as KodaXReasoningMode, aa as KodaXWireReasoningEffort, a4 as KodaXToolResultContentItem, Z as KodaXThinkingBlock, J as KodaXRedactedThinkingBlock } from './types.d-Xy0f3x4i.js';
2
+ import { b5 as MemoryReviewModelInput, a3 as KodaXMemoryOutcomeDigest, b8 as MemoryReviewPlan, T as KodaXCompactMemorySeed, a6 as KodaXSessionArtifactLedgerEntry, q as AgentCapabilities, O as AgentTurnExecutor, w as AgentExecutionKind, p as AgentBudgetPort, k as AgentActorStore, b as AgentActorOwner, t as AgentEvent, E as AgentMailboxMessage, a as AgentActorClient, x as AgentExecutionResult, L as AgentSpawnInput, G as AgentMutationOptions, P as AgentTurnRef, r as AgentDataClassification, F as AgentMetadataValue, y as AgentFollowupResult, B as AgentInterruptScope, M as AgentTreeSnapshot, s as AgentDetail, H as AgentOutput } from './types.d-BbZjR0Wr.js';
3
3
 
4
4
  /**
5
5
  * Layer A Primitive: Agent / Handoff / Guardrail / AgentReasoningProfile
@@ -1,10 +1,10 @@
1
1
  import { b as McpServersConfig, M as McpConnectMode, a as McpServerConfig, c as McpTransportKind } from './config.d-CJy1WENT.js';
2
- import { K as KodaXBaseProvider } from './base.d-vopO1rml.js';
2
+ import { K as KodaXBaseProvider } from './base.d-COo8E2dk.js';
3
3
  import { a as CostTracker } from './cost-tracker.d-BeaenODW.js';
4
- import { c5 as RunnerToolCall, cB as ToolGuardrail } from './controller.d-C5noq5-w.js';
5
- import { k as KodaXMessage } from './types.d-CK9A9rpP.js';
6
- import { S as SideQueryDiagnostics } from './side-query.d-iH0P9ASy.js';
7
- import { bO as ToolSideEffect } from './bash-prefix-extractor.d-B2rxNI4L.js';
4
+ import { c5 as RunnerToolCall, cB as ToolGuardrail } from './controller.d-C7tXUcXo.js';
5
+ import { k as KodaXMessage } from './types.d-Xy0f3x4i.js';
6
+ import { S as SideQueryDiagnostics } from './side-query.d-j8A3sFv_.js';
7
+ import { bP as ToolSideEffect } from './bash-prefix-extractor.d-DQOlA8cy.js';
8
8
 
9
9
  /**
10
10
  * FEATURE_200 Phase F (v0.7.45) — MCP domain types extracted from types.ts.
@@ -1,5 +1,5 @@
1
- import { k as KodaXMessage } from './types.d-CK9A9rpP.js';
2
- import { af as KodaXSessionLineage } from './types.d-rUOjXych.js';
1
+ import { k as KodaXMessage } from './types.d-Xy0f3x4i.js';
2
+ import { af as KodaXSessionLineage } from './types.d-BbZjR0Wr.js';
3
3
 
4
4
  type KodaXSessionHistoryScope = 'compacted' | 'all';
5
5
  type KodaXSessionHistorySource = 'user' | 'assistant' | 'system' | 'tool' | 'child_task';
@@ -1,7 +1,7 @@
1
- import { a as BashPrefixExtractor, t as KodaXAgentMode } from './bash-prefix-extractor.d-B2rxNI4L.js';
2
- import { G as KodaXReasoningMode, k as KodaXMessage, T as KodaXTaskResultMetadata } from './types.d-CK9A9rpP.js';
3
- import { bF as LearningSurfaceSnapshot$1, bA as LearningQuery, bz as LearningPage, bc as LearnedCapabilityRecord, bv as LearningEvent, bE as LearningSubscribeOptions, aj as CompactionReport } from './controller.d-C5noq5-w.js';
4
- import { aa as KodaXSessionData, af as KodaXSessionLineage, ak as KodaXSessionNavigationOptions, am as KodaXSessionRuntimeInfo, ao as KodaXSessionStorage, ab as KodaXSessionEntry, a6 as KodaXSessionArtifactLedgerEntry, U as KodaXExtensionSessionRecord, aq as KodaXSessionUiHistoryItem, an as KodaXSessionScope, g as AgentActorSnapshot, c as AgentActorSaveAttempt, a0 as KodaXJsonValue } from './types.d-rUOjXych.js';
1
+ import { a as BashPrefixExtractor, t as KodaXAgentMode } from './bash-prefix-extractor.d-DQOlA8cy.js';
2
+ import { G as KodaXReasoningMode, k as KodaXMessage, T as KodaXTaskResultMetadata } from './types.d-Xy0f3x4i.js';
3
+ import { bF as LearningSurfaceSnapshot$1, bA as LearningQuery, bz as LearningPage, bc as LearnedCapabilityRecord, bv as LearningEvent, bE as LearningSubscribeOptions, aj as CompactionReport } from './controller.d-C7tXUcXo.js';
4
+ import { aa as KodaXSessionData, af as KodaXSessionLineage, ak as KodaXSessionNavigationOptions, am as KodaXSessionRuntimeInfo, ao as KodaXSessionStorage, ab as KodaXSessionEntry, a6 as KodaXSessionArtifactLedgerEntry, U as KodaXExtensionSessionRecord, aq as KodaXSessionUiHistoryItem, an as KodaXSessionScope, g as AgentActorSnapshot, c as AgentActorSaveAttempt, a0 as KodaXJsonValue } from './types.d-BbZjR0Wr.js';
5
5
 
6
6
  /**
7
7
  * TextBuffer - Text buffer management class - 文本缓冲区管理类
@@ -419,6 +419,9 @@ interface ThemeColors {
419
419
  hint: string;
420
420
  background: string;
421
421
  inputBackground: string;
422
+ /** Optional diff-row background bars (codex-style dark green/red). */
423
+ diffAddBackground?: string;
424
+ diffRemoveBackground?: string;
422
425
  }
423
426
  interface ThemeSymbols {
424
427
  prompt: string;
@@ -1,8 +1,8 @@
1
- import { n as ResolvedAutoModeSettings, b as CommandDefinition, e as CommandSource, c as CommandInfo, C as Command$1, I as InteractiveContext, a as CommandCallbacks, g as CurrentConfig, d as CommandInvocationRequest, f as CommandWorkflowInvocationRequest, p as RuntimeSurfaceStatus } from './utils.d-CWUyLiXo.js';
2
- import { ae as SessionStorage$1, S as PermissionMode, L as LearningBinding } from './public-api.d-D7fXaWW8.js';
3
- import { a4 as KodaXOptions, an as KodaXResult } from './bash-prefix-extractor.d-B2rxNI4L.js';
4
- import { ao as KodaXSessionStorage, aa as KodaXSessionData } from './types.d-rUOjXych.js';
5
- import { t as AutoModeStats } from './guardrail.d-DqHD-61O.js';
1
+ import { n as ResolvedAutoModeSettings, b as CommandDefinition, e as CommandSource, c as CommandInfo, C as Command$1, I as InteractiveContext, a as CommandCallbacks, g as CurrentConfig, d as CommandInvocationRequest, f as CommandWorkflowInvocationRequest, p as RuntimeSurfaceStatus } from './utils.d-CnxefMos.js';
2
+ import { ae as SessionStorage$1, S as PermissionMode, L as LearningBinding } from './public-api.d-Dx3L3W4Z.js';
3
+ import { a3 as KodaXOptions, am as KodaXResult } from './bash-prefix-extractor.d-DQOlA8cy.js';
4
+ import { ao as KodaXSessionStorage, aa as KodaXSessionData } from './types.d-BbZjR0Wr.js';
5
+ import { t as AutoModeStats } from './guardrail.d-DKTyEHJa.js';
6
6
 
7
7
  interface ReplRuntimePermissionGrantSuggestion {
8
8
  readonly id: string;
@@ -1,6 +1,6 @@
1
- import { G as KodaXReasoningMode, N as KodaXStableEffortIntent, aa as KodaXWireReasoningEffort, H as KodaXReasoningProfile, _ as KodaXThinkingBudgetMap, $ as KodaXThinkingDepth, r as KodaXProviderConfig, C as KodaXReasoningCapability, I as KodaXReasoningRequest, n as KodaXNormalizedReasoningRequest, W as KodaXTaskType, a8 as KodaXVerifyCredentialResult, a2 as KodaXToolDefinition, k as KodaXMessage, z as KodaXProviderStreamOptions, O as KodaXStreamResult, l as KodaXModelDescriptor, q as KodaXProviderCapabilityProfile, o as KodaXOpenAICompatMaxOutputTokensField, a9 as KodaXVerifyStrategy, d as KodaXCustomProviderConfig, j as KodaXListModelsResult } from './types.d-CK9A9rpP.js';
1
+ import { G as KodaXReasoningMode, N as KodaXStableEffortIntent, aa as KodaXWireReasoningEffort, H as KodaXReasoningProfile, _ as KodaXThinkingBudgetMap, $ as KodaXThinkingDepth, r as KodaXProviderConfig, C as KodaXReasoningCapability, I as KodaXReasoningRequest, n as KodaXNormalizedReasoningRequest, W as KodaXTaskType, a8 as KodaXVerifyCredentialResult, a2 as KodaXToolDefinition, k as KodaXMessage, z as KodaXProviderStreamOptions, O as KodaXStreamResult, l as KodaXModelDescriptor, q as KodaXProviderCapabilityProfile, o as KodaXOpenAICompatMaxOutputTokensField, a9 as KodaXVerifyStrategy, d as KodaXCustomProviderConfig, j as KodaXListModelsResult } from './types.d-Xy0f3x4i.js';
2
2
  import Anthropic from '@anthropic-ai/sdk';
3
- import { K as KodaXBaseProvider } from './base.d-vopO1rml.js';
3
+ import { K as KodaXBaseProvider } from './base.d-COo8E2dk.js';
4
4
  import OpenAI from 'openai';
5
5
 
6
6
  /**
@@ -14,20 +14,42 @@ declare class KodaXError extends Error {
14
14
  constructor(message: string, code?: string);
15
15
  }
16
16
  /** Provider 配置错误 */
17
+ interface KodaXProviderErrorMetadata {
18
+ /** Stable KodaX classification hint; never an upstream response body. */
19
+ readonly failureCode?: 'provider_not_registered' | 'request_build_failed' | 'protocol_mismatch' | 'response_stream_error';
20
+ readonly stage?: 'catalog' | 'request_build' | 'transport' | 'response_stream';
21
+ readonly httpStatus?: number;
22
+ readonly upstreamCode?: string;
23
+ readonly requestId?: string;
24
+ readonly retryAfterMs?: number;
25
+ }
17
26
  declare class KodaXProviderError extends KodaXError {
18
27
  readonly provider?: string | undefined;
19
- constructor(message: string, provider?: string | undefined);
28
+ readonly metadata?: KodaXProviderErrorMetadata | undefined;
29
+ constructor(message: string, provider?: string | undefined, metadata?: KodaXProviderErrorMetadata | undefined);
20
30
  }
21
31
  /** API 速率限制错误 */
22
32
  declare class KodaXRateLimitError extends KodaXError {
23
33
  readonly retryAfter?: number | undefined;
24
- constructor(message: string, retryAfter?: number | undefined);
34
+ readonly metadata?: KodaXProviderErrorMetadata | undefined;
35
+ constructor(message: string, retryAfter?: number | undefined, metadata?: KodaXProviderErrorMetadata | undefined);
25
36
  }
26
37
  /** 网络错误 (超时, 连接被拒绝等) */
27
38
  declare class KodaXNetworkError extends KodaXError {
28
39
  readonly isTimeout: boolean;
29
40
  constructor(message: string, isTimeout?: boolean);
30
41
  }
42
+ /**
43
+ * Reasoning-effort rejection (passive capability learning). Thrown when a
44
+ * provider HARD-rejects a reasoning-effort value; the rejected rung has already
45
+ * been signalled via `onReasoningEffortRejected` so the caller can record it
46
+ * and retry with a safe effort.
47
+ */
48
+ declare class KodaXReasoningEffortRejectedError extends KodaXProviderError {
49
+ readonly rejectedEffort: string;
50
+ readonly model: string;
51
+ constructor(message: string, provider: string, rejectedEffort: string, model: string);
52
+ }
31
53
  /** Tool call ID 不匹配错误 */
32
54
  declare class KodaXToolCallIdError extends KodaXError {
33
55
  constructor(message: string);
@@ -525,6 +547,16 @@ declare function registerCustomProviders(configs: KodaXCustomProviderConfig[]):
525
547
  * Note: This will throw if the provider's API key env var is not set.
526
548
  */
527
549
  declare function getCustomProvider(name: string): KodaXBaseProvider | undefined;
550
+ /**
551
+ * Effective capability profile for a custom provider, read from the stored
552
+ * config WITHOUT instantiation — so no API key is required (v0.7.43
553
+ * keyless-query convention). Applies the same `imageInput` merge rule as
554
+ * `createCustomProvider`, keeping the keyless surface consistent with the
555
+ * runtime. Exact name match wins, then a case-insensitive fallback (callers
556
+ * such as the media capability layer may pass differently-cased names).
557
+ * Returns undefined when the name is not a registered custom provider.
558
+ */
559
+ declare function getCustomProviderCapabilityProfile(name: string): KodaXProviderCapabilityProfile | undefined;
528
560
  /**
529
561
  * Check if a name refers to a custom provider.
530
562
  */
@@ -665,5 +697,5 @@ declare function listProviderModels(name: string, _opts?: {
665
697
  signal?: AbortSignal;
666
698
  }): Promise<KodaXListModelsResult>;
667
699
 
668
- export { mapDepthToOpenAIReasoningEffort as $, getDefaultThinkingDepthForMode as A, getModelCapabilities as B, getProvider as C, getProviderConfiguredCapabilityProfile as D, getProviderConfiguredReasoningCapability as E, getProviderCredentialEnvironmentNames as F, getProviderList as G, getProviderModel as H, getProviderModelDescriptors as I, getProviderModels as J, KODAX_DEFAULT_PROVIDER as K, getReasoningCapability as L, getRuntimeModelProvider as M, getRuntimeModelProviderCredentialEnvironmentNames as N, getRuntimeModelProviderNames as O, isCustomProviderName as Q, isKnownProvider as S, isProviderConfigured as T, isProviderName as U, isReasoningEnabled as V, isRuntimeModelProviderName as W, listAllModelCapabilities as X, listBuiltinModelCapabilities as Y, listCustomProviderModelCapabilities as Z, listProviderModels as _, KODAX_DEFAULT_THINKING_BUDGETS as a, mapLegacyReasoningModeToEffortIntent as a0, normalizeReasoningEffortValue as a1, normalizeReasoningRequest as a2, parseReasoningEffortEnv as a3, registerCustomProviders as a4, registerModelProvider as a5, resolveModelCapabilities as a6, resolveProvider as a7, resolveProviderModelDescriptors as a8, resolveReasoningEffort as a9, resolveReasoningEffortForModelSwitch as aa, resolveThinkingBudget as ab, resolveWireEffort as ac, validateCustomProviderConfig as ad, verifyProviderCredential as ae, KODAX_PROVIDERS as b, KODAX_PROVIDER_SNAPSHOTS as c, KODAX_REASONING_MODE_SEQUENCE as d, KODAX_REASONING_SAFETY_RESERVE as e, KODAX_STABLE_EFFORT_INTENTS as f, KodaXAnthropicCompatProvider as g, KodaXError as h, KodaXNetworkError as j, KodaXOpenAICompatProvider as k, KodaXProviderError as l, KodaXRateLimitError as m, KodaXToolCallIdError as n, clampThinkingBudget as p, clearRuntimeModelProviders as q, createCustomProvider as r, effortToLegacyReasoningMode as s, getAvailableProviderNames as t, getCustomModelCapabilities as u, getCustomProvider as v, getCustomProviderList as w, getCustomProviderModelDescriptors as x, getCustomProviderModels as y, getCustomProviderNames as z };
669
- export type { ProviderName as P, ResolveWireEffortInput as R, KodaXModelCapabilities as i, ResolvedWireEffort as o };
700
+ export { listBuiltinModelCapabilities as $, getCustomProviderModelDescriptors as A, getCustomProviderModels as B, getCustomProviderNames as C, getDefaultThinkingDepthForMode as D, getModelCapabilities as E, getProvider as F, getProviderConfiguredCapabilityProfile as G, getProviderConfiguredReasoningCapability as H, getProviderCredentialEnvironmentNames as I, getProviderList as J, KODAX_DEFAULT_PROVIDER as K, getProviderModel as L, getProviderModelDescriptors as M, getProviderModels as N, getReasoningCapability as O, getRuntimeModelProvider as Q, getRuntimeModelProviderCredentialEnvironmentNames as S, getRuntimeModelProviderNames as T, isCustomProviderName as U, isKnownProvider as V, isProviderConfigured as W, isProviderName as X, isReasoningEnabled as Y, isRuntimeModelProviderName as Z, listAllModelCapabilities as _, KODAX_DEFAULT_THINKING_BUDGETS as a, listCustomProviderModelCapabilities as a0, listProviderModels as a1, mapDepthToOpenAIReasoningEffort as a2, mapLegacyReasoningModeToEffortIntent as a3, normalizeReasoningEffortValue as a4, normalizeReasoningRequest as a5, parseReasoningEffortEnv as a6, registerCustomProviders as a7, registerModelProvider as a8, resolveModelCapabilities as a9, resolveProvider as aa, resolveProviderModelDescriptors as ab, resolveReasoningEffort as ac, resolveReasoningEffortForModelSwitch as ad, resolveThinkingBudget as ae, resolveWireEffort as af, validateCustomProviderConfig as ag, verifyProviderCredential as ah, KODAX_PROVIDERS as b, KODAX_PROVIDER_SNAPSHOTS as c, KODAX_REASONING_MODE_SEQUENCE as d, KODAX_REASONING_SAFETY_RESERVE as e, KODAX_STABLE_EFFORT_INTENTS as f, KodaXAnthropicCompatProvider as g, KodaXError as h, KodaXNetworkError as j, KodaXOpenAICompatProvider as k, KodaXProviderError as l, KodaXRateLimitError as n, KodaXReasoningEffortRejectedError as o, KodaXToolCallIdError as p, clampThinkingBudget as r, clearRuntimeModelProviders as s, createCustomProvider as t, effortToLegacyReasoningMode as u, getAvailableProviderNames as v, getCustomModelCapabilities as w, getCustomProvider as x, getCustomProviderCapabilityProfile as y, getCustomProviderList as z };
701
+ export type { ProviderName as P, ResolveWireEffortInput as R, KodaXModelCapabilities as i, KodaXProviderErrorMetadata as m, ResolvedWireEffort as q };
@@ -1,4 +1,4 @@
1
- import { a3 as KodaXMemoryOutcomeDigest, aI as MemoryContextIdentity } from './types.d-rUOjXych.js';
1
+ import { a3 as KodaXMemoryOutcomeDigest, aI as MemoryContextIdentity } from './types.d-BbZjR0Wr.js';
2
2
 
3
3
  interface PendingEpisodeReviewV1 {
4
4
  readonly version: 1;
@@ -1,4 +1,4 @@
1
- import { dk as WorkflowProcessTrackerOptions, cS as WorkflowEvent, de as WorkflowProcessSnapshot, d8 as WorkflowProcessEvent } from './controller.d-C5noq5-w.js';
1
+ import { dk as WorkflowProcessTrackerOptions, cS as WorkflowEvent, de as WorkflowProcessSnapshot, d8 as WorkflowProcessEvent } from './controller.d-C7tXUcXo.js';
2
2
 
3
3
  /**
4
4
  * FEATURE_246 Part A0 (ADR-046) — neutral workflow run lifecycle manager.
@@ -1,6 +1,6 @@
1
- import { h as CreatableHistoryItem, ar as ToolCall } from './public-api.d-D7fXaWW8.js';
2
- import { k as KodaXMessage, c as KodaXContentBlock } from './types.d-CK9A9rpP.js';
3
- import { aq as KodaXSessionUiHistoryItem, au as KodaXSessionUiToolCall } from './types.d-rUOjXych.js';
1
+ import { h as CreatableHistoryItem, ar as ToolCall } from './public-api.d-Dx3L3W4Z.js';
2
+ import { k as KodaXMessage, c as KodaXContentBlock } from './types.d-Xy0f3x4i.js';
3
+ import { aq as KodaXSessionUiHistoryItem, au as KodaXSessionUiToolCall } from './types.d-BbZjR0Wr.js';
4
4
 
5
5
  interface RestoreHistoryItemsFromSessionInput {
6
6
  messages: readonly KodaXMessage[];
@@ -1,4 +1,4 @@
1
- import { bx as RunScopedToolDefinition, a as BashPrefixExtractor } from './bash-prefix-extractor.d-B2rxNI4L.js';
1
+ import { by as RunScopedToolDefinition, a as BashPrefixExtractor } from './bash-prefix-extractor.d-DQOlA8cy.js';
2
2
 
3
3
  /**
4
4
  * Permission Utilities
@@ -1,5 +1,5 @@
1
- import { k as KodaXMessage, I as KodaXReasoningRequest, a1 as KodaXTokenUsage } from './types.d-CK9A9rpP.js';
2
- import { K as KodaXBaseProvider } from './base.d-vopO1rml.js';
1
+ import { k as KodaXMessage, I as KodaXReasoningRequest, a1 as KodaXTokenUsage } from './types.d-Xy0f3x4i.js';
2
+ import { K as KodaXBaseProvider } from './base.d-COo8E2dk.js';
3
3
  import { a as CostTracker } from './cost-tracker.d-BeaenODW.js';
4
4
 
5
5
  /**
@@ -1,4 +1,4 @@
1
- import { k as KodaXMessage } from './types.d-CK9A9rpP.js';
1
+ import { k as KodaXMessage } from './types.d-Xy0f3x4i.js';
2
2
 
3
3
  type AgentActorState = 'running' | 'idle' | 'closed';
4
4
  type AgentTurnState = 'accepted' | 'running' | 'completed' | 'failed' | 'interrupted';
@@ -1,5 +1,5 @@
1
- import { a$ as KodaXInputArtifact } from './controller.d-C5noq5-w.js';
2
- import { T as KodaXTaskResultMetadata } from './types.d-CK9A9rpP.js';
1
+ import { a$ as KodaXInputArtifact } from './controller.d-C7tXUcXo.js';
2
+ import { T as KodaXTaskResultMetadata } from './types.d-Xy0f3x4i.js';
3
3
 
4
4
  /**
5
5
  * @kodax-ai/agent/messaging — Message queue types
@@ -1,8 +1,8 @@
1
- import { aa as KodaXWireReasoningEffort, a2 as KodaXToolDefinition, a4 as KodaXToolResultContentItem, k as KodaXMessage } from './types.d-CK9A9rpP.js';
2
- import { K as KodaXBaseProvider } from './base.d-vopO1rml.js';
1
+ import { aa as KodaXWireReasoningEffort, a2 as KodaXToolDefinition, a4 as KodaXToolResultContentItem, k as KodaXMessage } from './types.d-Xy0f3x4i.js';
2
+ import { K as KodaXBaseProvider } from './base.d-COo8E2dk.js';
3
3
  import { C as CapabilityKind, a as CapabilityProvider } from './capability.d-K664nHOS.js';
4
- import { a0 as KodaXJsonValue, U as KodaXExtensionSessionRecord, W as KodaXExtensionStore } from './types.d-rUOjXych.js';
5
- import { b1 as KodaXToolExecutionContext, bO as ToolSideEffect } from './bash-prefix-extractor.d-B2rxNI4L.js';
4
+ import { a0 as KodaXJsonValue, U as KodaXExtensionSessionRecord, W as KodaXExtensionStore } from './types.d-BbZjR0Wr.js';
5
+ import { a_ as KodaXToolExecutionContext, bP as ToolSideEffect } from './bash-prefix-extractor.d-DQOlA8cy.js';
6
6
 
7
7
  /**
8
8
  * KodaX Constructed-World types (FEATURE_087, v0.7.28).
@@ -475,6 +475,15 @@ interface KodaXCustomProviderConfig {
475
475
  /** @deprecated Auto-migrated on load. Prefer `reasoning: { efforts, default }`. */
476
476
  reasoningCapability?: KodaXReasoningCapability;
477
477
  reasoningProfile?: KodaXReasoningProfile;
478
+ /**
479
+ * Friendly image-input opt-in for self-hosted multimodal endpoints
480
+ * (vLLM / SGLang serving Qwen-VL-style models over an OpenAI- or
481
+ * Anthropic-compatible API). `true` forces
482
+ * `capabilityProfile.multimodalSupport: 'image-input'` on every surface
483
+ * (provider instance, capability queries, policy gates); any other value
484
+ * leaves an explicit `capabilityProfile` untouched.
485
+ */
486
+ imageInput?: boolean;
478
487
  capabilityProfile?: KodaXProviderCapabilityProfile;
479
488
  contextWindow?: number;
480
489
  maxOutputTokens?: number;