@kodax-ai/kodax 0.7.45 → 0.7.47

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 (53) hide show
  1. package/CHANGELOG.md +57 -1
  2. package/README.md +1 -1
  3. package/README_CN.md +1 -1
  4. package/dist/builtin/skill-creator/scripts/utils.js +12 -27
  5. package/dist/chunks/{chunk-FKB7BWQT.js → chunk-2SMCCP44.js} +1 -1
  6. package/dist/chunks/chunk-66B6ZOU7.js +31 -0
  7. package/dist/chunks/chunk-ARUWXX25.js +2 -0
  8. package/dist/chunks/chunk-KRHAO2T3.js +567 -0
  9. package/dist/chunks/chunk-QZFZIGPF.js +2 -0
  10. package/dist/chunks/{chunk-X6EHEQWP.js → chunk-VGRG2F6H.js} +301 -263
  11. package/dist/chunks/chunk-VX6HN3JP.js +415 -0
  12. package/dist/chunks/{compaction-config-WCNGYWT3.js → compaction-config-YU7SI6L6.js} +1 -1
  13. package/dist/chunks/{construction-bootstrap-OB5SDNBD.js → construction-bootstrap-6UN3OY7X.js} +1 -1
  14. package/dist/chunks/devtools-4CRULTR2.js +2 -0
  15. package/dist/chunks/devtools-YINBSZC7.js +2 -0
  16. package/dist/chunks/dist-DS2KIZQG.js +2 -0
  17. package/dist/chunks/dist-IDNOAB4M.js +2 -0
  18. package/dist/chunks/{utils-CHXCBR3Q.js → utils-3ISOUEFC.js} +1 -1
  19. package/dist/index.d.ts +15 -12
  20. package/dist/index.js +5 -5
  21. package/dist/kodax_cli.js +986 -926
  22. package/dist/provider-capabilities.json +32 -23
  23. package/dist/sdk-agent.d.ts +42 -11
  24. package/dist/sdk-agent.js +1 -1
  25. package/dist/sdk-coding.d.ts +74 -14
  26. package/dist/sdk-coding.js +1 -1
  27. package/dist/sdk-llm.d.ts +84 -7
  28. package/dist/sdk-llm.js +1 -1
  29. package/dist/sdk-mcp.d.ts +1 -1
  30. package/dist/sdk-mcp.js +1 -1
  31. package/dist/sdk-repl.d.ts +19 -9
  32. package/dist/sdk-repl.js +2 -2
  33. package/dist/sdk-session.d.ts +27 -6
  34. package/dist/sdk-session.js +1 -1
  35. package/dist/sdk-skills.js +1 -1
  36. package/dist/types-chunks/{base.d-FUJahC0i.d.ts → base.d-BdJKSPO2.d.ts} +18 -1
  37. package/dist/types-chunks/{bash-prefix-extractor.d-HrTUwtV7.d.ts → bash-prefix-extractor.d-D6hL0Cuv.d.ts} +284 -6
  38. package/dist/types-chunks/{file-tracker.d-DOfaoCbJ.d.ts → file-tracker.d-BNTIvsdb.d.ts} +11 -4
  39. package/dist/types-chunks/{manager.d-87belpiS.d.ts → manager.d-U3UEwY1P.d.ts} +15 -0
  40. package/dist/types-chunks/{resolver.d-OMwxURit.d.ts → resolver.d-DkgJlEzr.d.ts} +79 -3
  41. package/dist/types-chunks/{storage.d-BvTdjYQF.d.ts → storage.d-B1Jk6ryM.d.ts} +79 -4
  42. package/dist/types-chunks/{types.d-HBbWT-iA.d.ts → types.d-B_MIIApc.d.ts} +1 -1
  43. package/dist/types-chunks/{types.d-B1uGoVTE.d.ts → types.d-Cf-GCzac.d.ts} +82 -1
  44. package/dist/types-chunks/{types.d-DM8zEJgF.d.ts → types.d-D2RNa5Y7.d.ts} +2 -2
  45. package/dist/types-chunks/{utils.d-DSEX6Rq1.d.ts → utils.d-umRKgMAu.d.ts} +19 -5
  46. package/package.json +2 -1
  47. package/dist/chunks/chunk-CZHIUJQS.js +0 -535
  48. package/dist/chunks/chunk-FT2XFFNP.js +0 -2
  49. package/dist/chunks/chunk-IJUB7QXG.js +0 -425
  50. package/dist/chunks/chunk-PGF5EZ7C.js +0 -31
  51. package/dist/chunks/devtools-EYGFOXEU.js +0 -2
  52. package/dist/chunks/dist-C2VOGY5Z.js +0 -2
  53. package/dist/chunks/dist-Q2PQM7U7.js +0 -2
package/dist/sdk-llm.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- import { q as KodaXProviderCapabilityProfile, m as KodaXMessage, F as KodaXReasoningRequest, W as KodaXTokenUsage, g as KodaXContentBlock, f as KodaXCacheBoundary } from './types-chunks/types.d-B1uGoVTE.js';
2
- export { K as KodaXAmaControllerDecision, a as KodaXAmaFanoutClass, b as KodaXAmaFanoutPolicy, c as KodaXAmaProfile, d as KodaXAmaTactic, e as KodaXAssuranceIntent, h as KodaXCustomProviderConfig, i as KodaXExecutionMode, j as KodaXExecutionPattern, k as KodaXHarnessProfile, l as KodaXImageBlock, n as KodaXModelDescriptor, o as KodaXMutationSurface, p as KodaXProtocolFamily, r as KodaXProviderConfig, s as KodaXProviderContextFidelity, t as KodaXProviderConversationSemantics, u as KodaXProviderEvidenceSupport, v as KodaXProviderLongRunningSupport, w as KodaXProviderMcpSupport, x as KodaXProviderMultimodalSupport, y as KodaXProviderSessionSupport, z as KodaXProviderStreamOptions, A as KodaXProviderToolCallingFidelity, B as KodaXProviderTransport, C as KodaXReasoningCapability, D as KodaXReasoningMode, E as KodaXReasoningOverride, G as KodaXRedactedThinkingBlock, H as KodaXReviewScale, I as KodaXRiskLevel, J as KodaXStreamResult, L as KodaXTaskActionability, M as KodaXTaskBudgetOverrides, N as KodaXTaskComplexity, O as KodaXTaskFamily, P as KodaXTaskRoutingDecision, Q as KodaXTaskType, R as KodaXTaskWorkIntent, S as KodaXTextBlock, T as KodaXThinkingBlock, U as KodaXThinkingBudgetMap, V as KodaXThinkingDepth, X as KodaXToolDefinition, Y as KodaXToolResultBlock, Z as KodaXToolResultContentItem, _ as KodaXToolResultImageItem, $ as KodaXToolResultTextItem, a0 as KodaXToolUseBlock } from './types-chunks/types.d-B1uGoVTE.js';
3
- export { K as KODAX_DEFAULT_PROVIDER, a as KODAX_DEFAULT_THINKING_BUDGETS, b as KODAX_PROVIDERS, c as KODAX_PROVIDER_SNAPSHOTS, d as KODAX_REASONING_MODE_SEQUENCE, e as KODAX_REASONING_SAFETY_RESERVE, f as KodaXAnthropicCompatProvider, g as KodaXError, h as KodaXModelCapabilities, i as KodaXNetworkError, j as KodaXOpenAICompatProvider, k as KodaXProviderError, l as KodaXRateLimitError, m as KodaXToolCallIdError, P as ProviderName, n as buildReasoningOverrideKey, o as clampThinkingBudget, p as clearReasoningOverride, q as clearRuntimeModelProviders, r as createCustomProvider, s as getAvailableProviderNames, t as getCustomModelCapabilities, u as getCustomProvider, v as getCustomProviderList, w as getCustomProviderModelDescriptors, x as getCustomProviderModels, y as getCustomProviderNames, z as getDefaultThinkingDepthForMode, A as getModelCapabilities, B as getProvider, C as getProviderConfiguredCapabilityProfile, D as getProviderConfiguredReasoningCapability, E as getProviderList, F as getProviderModel, G as getProviderModelDescriptors, H as getProviderModels, I as getReasoningCapability, J as getRuntimeModelProvider, L as getRuntimeModelProviderNames, M as isCustomProviderName, N as isKnownProvider, O as isProviderConfigured, Q as isProviderName, R as isReasoningEnabled, S as isRuntimeModelProviderName, T as listAllModelCapabilities, U as listBuiltinModelCapabilities, V as listCustomProviderModelCapabilities, W as loadReasoningOverride, X as mapDepthToOpenAIReasoningEffort, Y as normalizeReasoningRequest, Z as reasoningCapabilityToOverride, _ as reasoningOverrideToCapability, $ as registerCustomProviders, a0 as registerModelProvider, a1 as resolveModelCapabilities, a2 as resolveProvider, a3 as resolveProviderModelDescriptors, a4 as resolveThinkingBudget, a5 as saveReasoningOverride, a6 as validateCustomProviderConfig } from './types-chunks/resolver.d-OMwxURit.js';
4
- import { K as KodaXBaseProvider } from './types-chunks/base.d-FUJahC0i.js';
5
- export { a as KodaXOnRetryAfterCallback, b as KodaXRetryAfterEvent, P as ParseRetryAfterOptions, R as RetryAfterResult, c as RetryAfterSource, e as extractHeadersFromError, p as parseRetryAfter } from './types-chunks/base.d-FUJahC0i.js';
1
+ import { r as KodaXProviderCapabilityProfile, a3 as KodaXVerifyStrategy, a2 as KodaXVerifyCredentialResult, n as KodaXMessage, G as KodaXReasoningRequest, X as KodaXTokenUsage, g as KodaXContentBlock, f as KodaXCacheBoundary } from './types-chunks/types.d-Cf-GCzac.js';
2
+ export { K as KodaXAmaControllerDecision, a as KodaXAmaFanoutClass, b as KodaXAmaFanoutPolicy, c as KodaXAmaProfile, d as KodaXAmaTactic, e as KodaXAssuranceIntent, h as KodaXCustomProviderConfig, i as KodaXExecutionMode, j as KodaXExecutionPattern, k as KodaXHarnessProfile, l as KodaXImageBlock, m as KodaXListModelsResult, o as KodaXModelDescriptor, p as KodaXMutationSurface, q as KodaXProtocolFamily, s as KodaXProviderConfig, t as KodaXProviderContextFidelity, u as KodaXProviderConversationSemantics, v as KodaXProviderEvidenceSupport, w as KodaXProviderLongRunningSupport, x as KodaXProviderMcpSupport, y as KodaXProviderMultimodalSupport, z as KodaXProviderSessionSupport, A as KodaXProviderStreamOptions, B as KodaXProviderToolCallingFidelity, C as KodaXProviderTransport, D as KodaXReasoningCapability, E as KodaXReasoningMode, F as KodaXReasoningOverride, H as KodaXRedactedThinkingBlock, I as KodaXReviewScale, J as KodaXRiskLevel, L as KodaXStreamResult, M as KodaXTaskActionability, N as KodaXTaskBudgetOverrides, O as KodaXTaskComplexity, P as KodaXTaskFamily, Q as KodaXTaskRoutingDecision, R as KodaXTaskType, S as KodaXTaskWorkIntent, T as KodaXTextBlock, U as KodaXThinkingBlock, V as KodaXThinkingBudgetMap, W as KodaXThinkingDepth, Y as KodaXToolDefinition, Z as KodaXToolResultBlock, _ as KodaXToolResultContentItem, $ as KodaXToolResultImageItem, a0 as KodaXToolResultTextItem, a1 as KodaXToolUseBlock } from './types-chunks/types.d-Cf-GCzac.js';
3
+ export { K as KODAX_DEFAULT_PROVIDER, a as KODAX_DEFAULT_THINKING_BUDGETS, b as KODAX_PROVIDERS, c as KODAX_PROVIDER_SNAPSHOTS, d as KODAX_REASONING_MODE_SEQUENCE, e as KODAX_REASONING_SAFETY_RESERVE, f as KodaXAnthropicCompatProvider, g as KodaXError, h as KodaXModelCapabilities, i as KodaXNetworkError, j as KodaXOpenAICompatProvider, k as KodaXProviderError, l as KodaXRateLimitError, m as KodaXToolCallIdError, P as ProviderName, n as buildReasoningOverrideKey, o as clampThinkingBudget, p as clearReasoningOverride, q as clearRuntimeModelProviders, r as createCustomProvider, s as getAvailableProviderNames, t as getCustomModelCapabilities, u as getCustomProvider, v as getCustomProviderList, w as getCustomProviderModelDescriptors, x as getCustomProviderModels, y as getCustomProviderNames, z as getDefaultThinkingDepthForMode, A as getModelCapabilities, B as getProvider, C as getProviderConfiguredCapabilityProfile, D as getProviderConfiguredReasoningCapability, E as getProviderList, F as getProviderModel, G as getProviderModelDescriptors, H as getProviderModels, I as getReasoningCapability, J as getRuntimeModelProvider, L as getRuntimeModelProviderNames, M as isCustomProviderName, N as isKnownProvider, O as isProviderConfigured, Q as isProviderName, R as isReasoningEnabled, S as isRuntimeModelProviderName, T as listAllModelCapabilities, U as listBuiltinModelCapabilities, V as listCustomProviderModelCapabilities, W as listProviderModels, X as loadReasoningOverride, Y as mapDepthToOpenAIReasoningEffort, Z as normalizeReasoningRequest, _ as reasoningCapabilityToOverride, $ as reasoningOverrideToCapability, a0 as registerCustomProviders, a1 as registerModelProvider, a2 as resolveModelCapabilities, a3 as resolveProvider, a4 as resolveProviderModelDescriptors, a5 as resolveThinkingBudget, a6 as saveReasoningOverride, a7 as validateCustomProviderConfig, a8 as verifyProviderCredential } from './types-chunks/resolver.d-DkgJlEzr.js';
4
+ import { K as KodaXBaseProvider } from './types-chunks/base.d-BdJKSPO2.js';
5
+ export { a as KodaXOnRetryAfterCallback, b as KodaXRetryAfterEvent, P as ParseRetryAfterOptions, R as RetryAfterResult, c as RetryAfterSource, e as extractHeadersFromError, p as parseRetryAfter } from './types-chunks/base.d-BdJKSPO2.js';
6
6
  import { a as CostTracker } from './types-chunks/cost-tracker.d-wRtyEW9d.js';
7
7
  export { C as CostRate, D as DEFAULT_COST_RATES, P as ProviderCostSummary, R as RetryRecord, S as SessionCostSummary, T as TokenUsageRecord, c as calculateCost, b as createCostTracker, f as formatCost, d as formatCostReport, g as getCostRate, e as getSummary, r as recordRetry, h as recordUsage } from './types-chunks/cost-tracker.d-wRtyEW9d.js';
8
8
  export { C as CapabilityKind, a as CapabilityProvider, b as CapabilityResult } from './types-chunks/capability.d-3C62G8Eq.js';
@@ -45,6 +45,83 @@ interface NormalizedKodaXProviderCapabilityProfile extends KodaXProviderCapabili
45
45
  }
46
46
  declare function normalizeCapabilityProfile(profile: KodaXProviderCapabilityProfile): NormalizedKodaXProviderCapabilityProfile;
47
47
 
48
+ /**
49
+ * FEATURE_216 v0.7.45 — Provider credential verification orchestrator.
50
+ *
51
+ * Shared never-throws envelope + 3-primitive dispatch used by the
52
+ * `verifyCredential()` overrides on the two compat base classes
53
+ * (`KodaXAnthropicCompatProvider`, `KodaXOpenAICompatProvider`).
54
+ *
55
+ * Mirrors the abortCause-tracking pattern from `side-query.ts` so the
56
+ * resulting `error` label is deterministic even when timeout and parent
57
+ * abort fire near-simultaneously.
58
+ *
59
+ * The base class supplies a list of `VerifyPrimitiveRunner` closures —
60
+ * one per primitive it can run with its specific SDK client. The
61
+ * orchestrator dispatches by `strategy` (sourced from the config /
62
+ * provider-capabilities.json), then catches and classifies any failure.
63
+ *
64
+ * "Strategy declared but no matching runner" returns `unsupported` with
65
+ * a clear message — the config-time mismatch is surfaced loud instead
66
+ * of silently downgrading to a different primitive.
67
+ */
68
+
69
+ interface VerifyPrimitiveRunner {
70
+ /** Strategy this runner implements. Orchestrator dispatches by name match. */
71
+ readonly strategy: Exclude<KodaXVerifyStrategy, 'unsupported'>;
72
+ /**
73
+ * Run the verify primitive. Resolves on a 2xx response; throws on any
74
+ * non-2xx, network error, timeout, or abort. The orchestrator catches
75
+ * + classifies via `classifyVerifyError`.
76
+ */
77
+ run(signal: AbortSignal): Promise<void>;
78
+ /**
79
+ * Approx token spend reported in the result when the call succeeds.
80
+ * `count-tokens` and `models-list` are true zero-token paths; only
81
+ * `minimal-message` actually invokes the model (~6-7 tokens / call).
82
+ */
83
+ readonly approxTokensSpent: number;
84
+ }
85
+ interface RunVerifyCredentialOpts {
86
+ readonly strategy: KodaXVerifyStrategy;
87
+ readonly runners: readonly VerifyPrimitiveRunner[];
88
+ readonly timeoutMs?: number;
89
+ readonly signal?: AbortSignal;
90
+ /**
91
+ * Optional provider identity used by `classifyVerifyError` for
92
+ * provider-specific empirical workarounds (currently: kimi-code's
93
+ * count_tokens-with-bad-key returns 400 instead of 401). Threading
94
+ * the name keeps the workaround scoped — generic 400 responses on
95
+ * other providers correctly stay as `unknown`.
96
+ */
97
+ readonly providerName?: string;
98
+ }
99
+ declare function runVerifyCredential(opts: RunVerifyCredentialOpts): Promise<KodaXVerifyCredentialResult>;
100
+ interface ClassifyContext {
101
+ readonly strategy: KodaXVerifyStrategy;
102
+ readonly durationMs: number;
103
+ readonly approxTokensSpent: number;
104
+ readonly abortCause?: 'timeout' | 'parent';
105
+ /** Provider name for empirical-workaround scoping (see kimi-code 400 branch). */
106
+ readonly providerName?: string;
107
+ }
108
+ /**
109
+ * Categorize a thrown error from a verify primitive into the stable
110
+ * `KodaXVerifyCredentialResult.error` enum. Classification order:
111
+ *
112
+ * 1. Abort cause (timeout vs parent) wins over everything — the
113
+ * controller fired before any HTTP error class was assigned.
114
+ * 2. SDK error class name (`AuthenticationError` / `PermissionDeniedError`)
115
+ * maps directly to `unauthorized` — both Anthropic and OpenAI
116
+ * SDKs use these consistently regardless of underlying HTTP code
117
+ * (kimi-code returns 400 but class is still AuthenticationError).
118
+ * 3. HTTP status fallbacks (401/403/5xx).
119
+ * 4. Network error codes from the underlying socket layer.
120
+ * 5. Everything else → `unknown` with the upstream message preserved
121
+ * (truncated to 240 chars) so the caller can surface diagnostics.
122
+ */
123
+ declare function classifyVerifyError(err: unknown, ctx: ClassifyContext): KodaXVerifyCredentialResult;
124
+
48
125
  declare function getCodexCliDefaultModel(): string;
49
126
  declare function getGeminiCliDefaultModel(): string;
50
127
  declare function getCodexCliKnownModels(): string[];
@@ -213,5 +290,5 @@ declare function stripCacheBoundaries<T extends {
213
290
  type: string;
214
291
  }>(blocks: readonly (T | KodaXCacheBoundary)[]): T[];
215
292
 
216
- export { CostTracker, KODAX_API_MIN_INTERVAL, KODAX_CAPPED_MAX_OUTPUT_TOKENS, KODAX_ESCALATED_MAX_OUTPUT_TOKENS, KODAX_MAX_TOKENS, KodaXBaseProvider, KodaXCacheBoundary, KodaXContentBlock, KodaXMessage, KodaXProviderCapabilityProfile, KodaXReasoningRequest, KodaXTokenUsage, getCodexCliDefaultModel, getCodexCliKnownModels, getGeminiCliDefaultModel, getGeminiCliKnownModels, insertCacheBoundary, isCacheBoundary, lowerCacheBoundaries, normalizeCapabilityProfile, parseToolInputWithSalvage, sideQuery, stripCacheBoundaries };
217
- export type { KodaXAnthropicCacheableBlock, KodaXCacheLowerMode, SideQueryRequest, SideQueryResult, SideQueryStopReason };
293
+ export { CostTracker, KODAX_API_MIN_INTERVAL, KODAX_CAPPED_MAX_OUTPUT_TOKENS, KODAX_ESCALATED_MAX_OUTPUT_TOKENS, KODAX_MAX_TOKENS, KodaXBaseProvider, KodaXCacheBoundary, KodaXContentBlock, KodaXMessage, KodaXProviderCapabilityProfile, KodaXReasoningRequest, KodaXTokenUsage, KodaXVerifyCredentialResult, KodaXVerifyStrategy, classifyVerifyError, getCodexCliDefaultModel, getCodexCliKnownModels, getGeminiCliDefaultModel, getGeminiCliKnownModels, insertCacheBoundary, isCacheBoundary, lowerCacheBoundaries, normalizeCapabilityProfile, parseToolInputWithSalvage, runVerifyCredential, sideQuery, stripCacheBoundaries };
294
+ export type { KodaXAnthropicCacheableBlock, KodaXCacheLowerMode, RunVerifyCredentialOpts, SideQueryRequest, SideQueryResult, SideQueryStopReason, VerifyPrimitiveRunner };
package/dist/sdk-llm.js CHANGED
@@ -1,2 +1,2 @@
1
1
  // @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
2
- import{$,A,Aa as Bo,B,Ba as Co,C,Ca as Do,D,Da as Eo,E,Ea as Fo,F,Fa as Go,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,_,a as o,aa as oo,b as r,ba as ro,c as e,ca as eo,d as f,da as fo,e as m,ea as mo,f as p,fa as po,g as t,ga as to,h as x,ha as xo,i as a,ia as ao,j as b,ja as bo,k as c,ka as co,l as d,la as go,m as g,ma as ho,n as h,na as io,o as i,oa as jo,p as j,pa as ko,q as k,qa as lo,r as l,ra as no,s as n,sa as qo,t as q,ta as so,u as s,ua as uo,v as u,va as vo,w as v,wa as wo,x as w,xa as yo,y,ya as zo,z,za as Ao}from"./chunks/chunk-PGF5EZ7C.js";import"./chunks/chunk-V4WSBIXB.js";export{wo as DEFAULT_COST_RATES,a as KODAX_API_MIN_INTERVAL,t as KODAX_CAPPED_MAX_OUTPUT_TOKENS,Q as KODAX_DEFAULT_PROVIDER,c as KODAX_DEFAULT_THINKING_BUDGETS,x as KODAX_ESCALATED_MAX_OUTPUT_TOKENS,p as KODAX_MAX_TOKENS,P as KODAX_PROVIDERS,O as KODAX_PROVIDER_SNAPSHOTS,b as KODAX_REASONING_MODE_SEQUENCE,d as KODAX_REASONING_SAFETY_RESERVE,I as KodaXAnthropicCompatProvider,C as KodaXBaseProvider,o as KodaXError,f as KodaXNetworkError,J as KodaXOpenAICompatProvider,r as KodaXProviderError,e as KodaXRateLimitError,m as KodaXToolCallIdError,u as buildReasoningOverrideKey,zo as calculateCost,l as clampThinkingBudget,y as clearReasoningOverride,ko as clearRuntimeModelProviders,Ao as createCostTracker,ro as createCustomProvider,A as extractHeadersFromError,Eo as formatCost,Fo as formatCostReport,qo as getAvailableProviderNames,K as getCodexCliDefaultModel,M as getCodexCliKnownModels,yo as getCostRate,bo as getCustomModelCapabilities,fo as getCustomProvider,to as getCustomProviderList,ao as getCustomProviderModelDescriptors,xo as getCustomProviderModels,po as getCustomProviderNames,j as getDefaultThinkingDepthForMode,L as getGeminiCliDefaultModel,N as getGeminiCliKnownModels,_ as getModelCapabilities,R as getProvider,V as getProviderConfiguredCapabilityProfile,U as getProviderConfiguredReasoningCapability,W as getProviderList,T as getProviderModel,Z as getProviderModelDescriptors,X as getProviderModels,g as getReasoningCapability,ho as getRuntimeModelProvider,jo as getRuntimeModelProviderNames,Do as getSummary,E as insertCacheBoundary,F as isCacheBoundary,mo as isCustomProviderName,no as isKnownProvider,S as isProviderConfigured,Y as isProviderName,h as isReasoningEnabled,io as isRuntimeModelProviderName,vo as listAllModelCapabilities,$ as listBuiltinModelCapabilities,co as listCustomProviderModelCapabilities,v as loadReasoningOverride,G as lowerCacheBoundaries,n as mapDepthToOpenAIReasoningEffort,B as normalizeCapabilityProfile,i as normalizeReasoningRequest,z as parseRetryAfter,D as parseToolInputWithSalvage,q as reasoningCapabilityToOverride,s as reasoningOverrideToCapability,Bo as recordRetry,Co as recordUsage,eo as registerCustomProviders,go as registerModelProvider,uo as resolveModelCapabilities,lo as resolveProvider,so as resolveProviderModelDescriptors,k as resolveThinkingBudget,w as saveReasoningOverride,Go as sideQuery,H as stripCacheBoundaries,oo as validateCustomProviderConfig};
2
+ import{$,A,Aa as Bo,B,Ba as Co,C,Ca as Do,D,Da as Eo,E,Ea as Fo,F,Fa as Go,G,Ga as Ho,H,Ha as Io,I,Ia as Jo,J,Ja as Ko,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,_,a as o,aa as oo,b as r,ba as ro,c as e,ca as eo,d as f,da as fo,e as m,ea as mo,f as p,fa as po,g as t,ga as to,h as x,ha as xo,i as a,ia as ao,j as b,ja as bo,k as c,ka as co,l as d,la as go,m as g,ma as ho,n as h,na as io,o as i,oa as jo,p as j,pa as ko,q as k,qa as lo,r as l,ra as no,s as n,sa as qo,t as q,ta as so,u as s,ua as uo,v as u,va as vo,w as v,wa as wo,x as w,xa as yo,y,ya as zo,z,za as Ao}from"./chunks/chunk-66B6ZOU7.js";import"./chunks/chunk-V4WSBIXB.js";export{Bo as DEFAULT_COST_RATES,a as KODAX_API_MIN_INTERVAL,t as KODAX_CAPPED_MAX_OUTPUT_TOKENS,S as KODAX_DEFAULT_PROVIDER,c as KODAX_DEFAULT_THINKING_BUDGETS,x as KODAX_ESCALATED_MAX_OUTPUT_TOKENS,p as KODAX_MAX_TOKENS,R as KODAX_PROVIDERS,Q as KODAX_PROVIDER_SNAPSHOTS,b as KODAX_REASONING_MODE_SEQUENCE,d as KODAX_REASONING_SAFETY_RESERVE,K as KodaXAnthropicCompatProvider,C as KodaXBaseProvider,o as KodaXError,f as KodaXNetworkError,L as KodaXOpenAICompatProvider,r as KodaXProviderError,e as KodaXRateLimitError,m as KodaXToolCallIdError,u as buildReasoningOverrideKey,Do as calculateCost,l as clampThinkingBudget,F as classifyVerifyError,y as clearReasoningOverride,no as clearRuntimeModelProviders,Eo as createCostTracker,fo as createCustomProvider,A as extractHeadersFromError,Io as formatCost,Jo as formatCostReport,uo as getAvailableProviderNames,M as getCodexCliDefaultModel,O as getCodexCliKnownModels,Co as getCostRate,go as getCustomModelCapabilities,po as getCustomProvider,ao as getCustomProviderList,co as getCustomProviderModelDescriptors,bo as getCustomProviderModels,xo as getCustomProviderNames,j as getDefaultThinkingDepthForMode,N as getGeminiCliDefaultModel,P as getGeminiCliKnownModels,oo as getModelCapabilities,T as getProvider,X as getProviderConfiguredCapabilityProfile,W as getProviderConfiguredReasoningCapability,Y as getProviderList,V as getProviderModel,$ as getProviderModelDescriptors,Z as getProviderModels,g as getReasoningCapability,jo as getRuntimeModelProvider,lo as getRuntimeModelProviderNames,Ho as getSummary,G as insertCacheBoundary,H as isCacheBoundary,to as isCustomProviderName,so as isKnownProvider,U as isProviderConfigured,_ as isProviderName,h as isReasoningEnabled,ko as isRuntimeModelProviderName,yo as listAllModelCapabilities,ro as listBuiltinModelCapabilities,ho as listCustomProviderModelCapabilities,Ao as listProviderModels,v as loadReasoningOverride,I as lowerCacheBoundaries,n as mapDepthToOpenAIReasoningEffort,B as normalizeCapabilityProfile,i as normalizeReasoningRequest,z as parseRetryAfter,D as parseToolInputWithSalvage,q as reasoningCapabilityToOverride,s as reasoningOverrideToCapability,Fo as recordRetry,Go as recordUsage,mo as registerCustomProviders,io as registerModelProvider,wo as resolveModelCapabilities,qo as resolveProvider,vo as resolveProviderModelDescriptors,k as resolveThinkingBudget,E as runVerifyCredential,w as saveReasoningOverride,Ko as sideQuery,J as stripCacheBoundaries,eo as validateCustomProviderConfig,zo as verifyProviderCredential};
package/dist/sdk-mcp.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { b as McpServersConfig } from './types-chunks/config.d-BfJUXxC0.js';
2
2
  export { M as McpConnectMode, a as McpServerConfig, c as McpTransportKind } from './types-chunks/config.d-BfJUXxC0.js';
3
- export { M as McpCapabilityDescriptor, a as McpCapabilityKind, b as McpCapabilityProvider, c as McpCapabilityRisk, d as McpCatalogItem, e as McpManager, f as McpProviderOptions, g as McpServerCatalog, h as McpServerCatalogSnapshot, i as McpServerLogs, j as McpServerRuntime, k as McpServerRuntimeDiagnostics, l as McpServerStatus, m as McpServerToolList, n as McpTransport, o as McpTransportEvents, p as createMcpCapabilityId, q as createMcpManager, r as createMcpTransport, s as defaultMcpCacheDir, t as getMcpCachePaths, u as parseMcpCapabilityId, v as searchMcpCatalog } from './types-chunks/manager.d-87belpiS.js';
3
+ export { M as McpCapabilityDescriptor, a as McpCapabilityKind, b as McpCapabilityProvider, c as McpCapabilityRisk, d as McpCatalogItem, e as McpManager, f as McpProviderOptions, g as McpServerCatalog, h as McpServerCatalogSnapshot, i as McpServerLogs, j as McpServerRuntime, k as McpServerRuntimeDiagnostics, l as McpServerStatus, m as McpServerToolList, n as McpTransport, o as McpTransportEvents, p as createMcpCapabilityId, q as createMcpManager, r as createMcpTransport, s as defaultMcpCacheDir, t as getMcpCachePaths, u as parseMcpCapabilityId, v as searchMcpCatalog } from './types-chunks/manager.d-U3UEwY1P.js';
4
4
  import './types-chunks/capability.d-3C62G8Eq.js';
5
5
 
6
6
  interface McpTestServerFixture {
package/dist/sdk-mcp.js CHANGED
@@ -1,2 +1,2 @@
1
1
  // @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
2
- import{ob as e,pb as r,qb as p,rb as a,sb as t,tb as c,ub as M,vb as i,wb as o,xb as n,yb as s}from"./chunks/chunk-IJUB7QXG.js";import"./chunks/chunk-V4WSBIXB.js";export{i as McpCapabilityProvider,o as McpManager,M as McpServerRuntime,r as createMcpCapabilityId,n as createMcpManager,s as createMcpTestServerFixture,c as createMcpTransport,e as defaultMcpCacheDir,t as getMcpCachePaths,p as parseMcpCapabilityId,a as searchMcpCatalog};
2
+ import{Ab as t,Bb as c,Cb as M,Db as i,Eb as o,Fb as n,Gb as s,wb as e,xb as r,yb as p,zb as a}from"./chunks/chunk-VX6HN3JP.js";import"./chunks/chunk-V4WSBIXB.js";export{i as McpCapabilityProvider,o as McpManager,M as McpServerRuntime,r as createMcpCapabilityId,n as createMcpManager,s as createMcpTestServerFixture,c as createMcpTransport,e as defaultMcpCacheDir,t as getMcpCachePaths,p as parseMcpCapabilityId,a as searchMcpCatalog};
@@ -1,18 +1,19 @@
1
1
  import React$1, { ReactNode } from 'react';
2
- import { k as PermissionMode } from './types-chunks/utils.d-DSEX6Rq1.js';
3
- export { B as BUILTIN_COMMANDS, C as Command, a as CommandCallbacks, b as ConfirmResult, c as CurrentConfig, I as InkREPLOptions, d as InteractiveContext, e as InteractiveMode, K as KODAX_CONFIG_FILE, f as KODAX_DIR, g as KODAX_SESSIONS_DIR, h as KODAX_VERSION, P as PERMISSION_MODES, i as PREVIEW_MAX_LENGTH, j as PermissionContext, R as RepLOptions, l as computeConfirmTools, m as createInteractiveContext, n as executeCommand, o as getGitRoot, p as getProviderList, q as getProviderModel, r as getVersion, s as hydrateProcessEnvFromShell, t as isPermissionMode, u as isProviderConfigured, v as loadConfig, w as normalizePermissionMode, x as parseCommand, y as permissionModeDisplayName, z as prepareRuntimeConfig, A as processSpecialSyntax, D as rateLimitedCall, E as registerConfiguredCustomProviders, F as runInkInteractiveMode, G as runInteractiveMode, H as saveConfig, J as touchContext } from './types-chunks/utils.d-DSEX6Rq1.js';
4
- import { D as KodaXReasoningMode, m as KodaXMessage, h as KodaXCustomProviderConfig } from './types-chunks/types.d-B1uGoVTE.js';
5
- import { K as KodaXAgentMode, M as KodaXEvents, aD as ProviderRecoveryEvent, Z as KodaXMcpServerConfig, _ as KodaXMcpServersConfig, l as BashPrefixExtractor, d as AutoModeAskUser, A as AgentsFile, aO as SignalCollector, j as AutoModeToolGuardrail, aN as RulesLoadResult, ab as KodaXResult } from './types-chunks/bash-prefix-extractor.d-HrTUwtV7.js';
2
+ import { k as PermissionMode } from './types-chunks/utils.d-umRKgMAu.js';
3
+ export { B as BUILTIN_COMMANDS, C as Command, a as CommandCallbacks, b as ConfirmResult, c as CurrentConfig, I as InkREPLOptions, d as InteractiveContext, e as InteractiveMode, K as KODAX_CONFIG_FILE, f as KODAX_DIR, g as KODAX_SESSIONS_DIR, h as KODAX_VERSION, P as PERMISSION_MODES, i as PREVIEW_MAX_LENGTH, j as PermissionContext, R as RepLOptions, l as computeConfirmTools, m as createInteractiveContext, n as executeCommand, o as getGitRoot, p as getProviderList, q as getProviderModel, r as getVersion, s as hydrateProcessEnvFromShell, t as isPermissionMode, u as isProviderConfigured, v as loadConfig, w as normalizePermissionMode, x as parseCommand, y as permissionModeDisplayName, z as prepareRuntimeConfig, A as processSpecialSyntax, D as rateLimitedCall, E as registerConfiguredCustomProviders, F as runInkInteractiveMode, G as runInteractiveMode, H as saveConfig, J as touchContext } from './types-chunks/utils.d-umRKgMAu.js';
4
+ import { E as KodaXReasoningMode, n as KodaXMessage, h as KodaXCustomProviderConfig } from './types-chunks/types.d-Cf-GCzac.js';
5
+ import { K as KodaXAgentMode, N as KodaXEvents, aL as ProviderRecoveryEvent, a0 as KodaXMcpServerConfig, a1 as KodaXMcpServersConfig, l as BashPrefixExtractor, d as AutoModeAskUser, A as AgentsFile, aZ as SignalCollector, j as AutoModeToolGuardrail, aY as RulesLoadResult, ae as KodaXResult } from './types-chunks/bash-prefix-extractor.d-D6hL0Cuv.js';
6
6
  import { b as QueuedMessage } from './types-chunks/types.d-C5mHR87z.js';
7
- export { F as FileSessionStorage, M as MemorySessionStorage, S as SessionData, a as SessionStorage, c as createMemorySessionStorage } from './types-chunks/storage.d-BvTdjYQF.js';
8
- export { DeleteSessionResult, ListSessionsOptions, RunningSessionInfo, SessionManager, SessionSummary, WatchSessionsCallback, createSessionManager, deleteSession, forkSession, listRunningSessions, listSessions, loadSession, rewindSession, setActiveEntry, watchSessions } from './sdk-session.js';
9
- import './types-chunks/types.d-HBbWT-iA.js';
7
+ export { F as FileSessionStorage, M as MemorySessionStorage, S as SessionData, a as SessionStorage, c as createMemorySessionStorage } from './types-chunks/storage.d-B1Jk6ryM.js';
8
+ export { DeleteSessionResult, ListSessionsOptions, RunningSessionInfo, SessionManager, SessionSummary, WatchSessionsCallback, archiveSession, createSessionManager, deleteSession, forkSession, listRunningSessions, listSessions, loadSession, rewindSession, setActiveEntry, unarchiveSession, watchSessions } from './sdk-session.js';
9
+ import './types-chunks/types.d-B_MIIApc.js';
10
10
  import 'readline';
11
11
  import 'child_process';
12
12
  import './types-chunks/config.d-BfJUXxC0.js';
13
- import './types-chunks/types.d-DM8zEJgF.js';
13
+ import './types-chunks/types.d-D2RNa5Y7.js';
14
+ import 'vscode-languageserver-protocol';
14
15
  import './types-chunks/capability.d-3C62G8Eq.js';
15
- import './types-chunks/base.d-FUJahC0i.js';
16
+ import './types-chunks/base.d-BdJKSPO2.js';
16
17
  import './types-chunks/cost-tracker.d-wRtyEW9d.js';
17
18
 
18
19
  /**
@@ -1181,6 +1182,13 @@ interface ScrollBoxWindow {
1181
1182
  viewportTop: number;
1182
1183
  pendingDelta: number;
1183
1184
  sticky: boolean;
1185
+ /**
1186
+ * FEATURE_214 (v0.7.46) — when overscan is active, [start, end) is the larger
1187
+ * OVERSCAN BLOCK and this is how far down within it the viewport sits (feeds
1188
+ * the renderer's `inWindowScrollTop` so the block translates without React).
1189
+ * 0 when overscan is off (the window == the viewport).
1190
+ */
1191
+ inWindowScrollTop: number;
1184
1192
  }
1185
1193
 
1186
1194
  type TranscriptColorToken = "primary" | "secondary" | "accent" | "text" | "dim" | "thinking" | "success" | "warning" | "error" | "info" | "hint";
@@ -1520,6 +1528,8 @@ interface FullscreenTranscriptLayoutProps {
1520
1528
  onScrollTopChange?: (nextScrollTop: number) => void;
1521
1529
  onStickyChange?: (sticky: boolean) => void;
1522
1530
  onWindowChange?: (window: ScrollBoxWindow) => void;
1531
+ /** FEATURE_214 (v0.7.46) — overscan margin rows for React-bypass scrolling. */
1532
+ overscanRows?: number;
1523
1533
  }
1524
1534
  declare const FullscreenTranscriptLayout: React$1.FC<FullscreenTranscriptLayoutProps>;
1525
1535
 
package/dist/sdk-repl.js CHANGED
@@ -1,3 +1,3 @@
1
1
  // @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
2
- import{$ as Lt,$a as Wn,$b as Fo,A as Q,Aa as pn,Ab as lo,B as T,Ba as ln,Bb as uo,C as U,Ca as un,Cb as fo,D as V,Da as fn,Db as go,E as Y,Ea as gn,Eb as Co,F as Z,Fa as Cn,Fb as xo,G as tt,Ga as xn,Gb as yo,H as nt,Ha as yn,Hb as Ko,I as ot,Ia as Kn,Ib as Xo,J as et,Ja as Xn,Jb as ho,K as rt,Ka as hn,Kb as Do,L as at,La as Dn,Lb as Po,M as mt,Ma as Pn,Mb as Mo,N as it,Na as Mn,Nb as wo,O as st,Oa as wn,Ob as No,P as ct,Pa as Nn,Pb as _o,Q as dt,Qa as _n,Qb as bo,R as pt,Ra as bn,Rb as jo,S as lt,Sa as jn,Sb as ko,T as ut,Ta as kn,Tb as Ao,U as ft,Ua as An,Ub as Oo,V as gt,Va as On,Vb as Ro,W as Ct,Wa as Rn,Wb as So,X as xt,Xa as Sn,Xb as vo,Y as yt,Ya as vn,Yb as Io,Z as Kt,Za as In,Zb as Lo,_ as It,_a as Ln,_b as Wo,a as D,aa as Wt,ab as Fn,ac as $o,b as P,ba as Ft,bb as $n,bc as qo,c as M,ca as $t,cb as qn,cc as zo,d as w,da as qt,db as zn,dc as Bo,e as N,ea as zt,eb as Bn,ec as Eo,f as _,fa as Bt,fb as En,fc as Go,g as b,ga as Et,gb as Gn,gc as Ho,h as j,ha as Gt,hb as Hn,hc as Jo,i as k,ia as Ht,ib as Jn,ic as Qo,j as A,ja as Jt,jb as Qn,jc as To,k as O,ka as Qt,kb as Tn,l as R,la as Tt,lb as Un,m as S,ma as Ut,mb as Vn,n as v,na as Vt,nb as Yn,o as I,oa as Yt,ob as Zn,p as L,pa as Zt,pb as to,q as W,qa as tn,qb as no,r as F,ra as nn,rb as oo,s as $,sa as on,sb as eo,t as q,ta as en,tb as ro,u as z,ua as rn,ub as ao,v as B,va as an,vb as mo,w as E,wa as mn,wb as io,x as G,xa as sn,xb as so,y as H,ya as cn,yb as co,z as J,za as dn,zb as po}from"./chunks/chunk-CZHIUJQS.js";import{D as vt,b as Xt,c as ht,d as Dt,e as Pt,f as Mt,h as wt,i as Nt,j as _t,k as bt,u as jt,v as kt,w as At,x as Ot,y as Rt,z as St}from"./chunks/chunk-FT2XFFNP.js";import"./chunks/chunk-FKB7BWQT.js";import"./chunks/chunk-EVIDQWMF.js";import"./chunks/chunk-X6EHEQWP.js";import"./chunks/chunk-PGF5EZ7C.js";import"./chunks/chunk-IJUB7QXG.js";import{a}from"./chunks/chunk-V4WSBIXB.js";import l from"fs/promises";import c from"path";import x from"os";var u=c.join(x.homedir(),".kodax","commands");function y(){return u}a(y,"getDefaultCommandDir");async function K(e){let n=new Map,o=e??u;try{await l.mkdir(o,{recursive:!0});let r=await l.readdir(o);for(let t of r){let m=c.extname(t),f=t.replace(m,"");if(m===".md"){try{let d=await l.readFile(c.join(o,t),"utf-8"),i=(d.split(`
3
- `)[0]?.replace(/^#\s*/,"").trim()??"").slice(0,60)||"(prompt command)";n.set(f,{name:f,description:i,content:d,type:"prompt"})}catch{}continue}if(m===".js"||m===".ts")try{let g=await import(c.join(o,t));for(let[i,p]of Object.entries(g))if(i.startsWith("command_")&&typeof p=="function"){let s=i.replace("command_",""),C=p.description??s;n.set(s,{name:s,description:String(C).slice(0,60),content:`[Programmable command: ${s}]`,type:"programmable",execute:p})}}catch{}}}catch{}return n}a(K,"loadCommands");async function X(e,n,o,r){let t=o.get(e);return t?t.type==="prompt"?n?t.content.replace(/{args}/g,n):t.content:t.type==="programmable"&&t.execute?t.execute({args:n,runAgent:r}):null:null}a(X,"processCommandCall");function h(e){if(!e.startsWith("/"))return null;let n=e.slice(1).split(/\s+/,2);if(n.length===0)return null;let[o,r]=n;return o?[o,r]:null}a(h,"parseCommandCall");export{Cn as App,Vt as AutocompleteContextProvider,Qt as BUILTIN_COMMANDS,qn as BackgroundTaskBar,No as ConsoleCapturer,dt as DEFAULT_UI_STATE,In as DialogSurface,mn as DotsIndicator,$o as FileSessionStorage,yn as FullscreenTranscriptLayout,pn as HistoryItemRenderer,en as InputPrompt,u as KODAX_COMMANDS_DIR,Dt as KODAX_CONFIG_FILE,Xt as KODAX_DIR,ht as KODAX_SESSIONS_DIR,_t as KODAX_VERSION,ft as KeyMatchers,ct as KeypressHandlerPriority,ot as KeypressParser,lt as KeypressProvider,L as LRUCache,dn as LoadingIndicator,no as MemorySessionStorage,Kn as MessageActions,ln as MessageList,Xn as MessageSelector,Wn as NotificationsSurface,gt as PERMISSION_MODES,Pt as PREVIEW_MAX_LENGTH,yo as PendingInputsIndicator,sn as ProgressIndicator,Dn as PromptComposer,wn as PromptFooter,Pn as PromptFooterLeftSide,Mn as PromptFooterRightSide,Nn as PromptHelpMenu,vn as PromptSuggestionsSurface,Ln as QueuedCommandsSurface,xn as SimpleApp,rn as SimpleInputPrompt,un as SimpleMessageDisplay,gn as SimpleStatusBar,tt as SingleLineTextInput,an as Spinner,$n as StashNotice,fn as StatusBar,Fn as StatusNoticesSurface,Bn as StreamingProvider,mt as StreamingState,Sn as SuggestionsDisplay,st as TOOL_STATUS_ICONS,nn as TextBuffer,Z as TextInput,cn as ThinkingIndicator,Co as ToolCallDisplay,it as ToolCallStatus,xo as ToolGroup,go as ToolProgressBar,fo as ToolStatusBadge,hn as TranscriptViewport,kn as UIStateProvider,Vn as _resetQueuedPromptsCacheForTests,to as bootstrapAutoMode,J as calculateVisualCursorFromLayout,H as calculateVisualLayout,zt as collectBashWriteTargets,xt as computeConfirmTools,lo as createCliEvents,bn as createHistoryItem,Yn as createInteractiveContext,uo as createJsonEvents,Qn as createKeyMatcher,pt as createKeypressManager,oo as createMemorySessionStorage,so as createRecoveryHistoryItem,mo as createRetryHistoryItem,To as createSessionManager,zn as createStreamingManager,jn as createToolCall,Q as darkTheme,Jo as deleteSession,wo as detectTerminalCapabilities,j as detectTerminalHostProfile,b as detectTerminalRenderHost,co as emitRecoveryHistoryItem,io as emitRetryHistoryItem,Ut as executeCommand,eo as executeShellCommand,Gt as extractTextContent,Ht as extractTitle,Bo as forkSession,Jt as formatMessagePreview,_n as generateId,Ft as generateSavePattern,Bt as getBashOutsideProjectWriteRisk,q as getCharAtCodePoint,W as getCodePointLength,Oo as getCustomProviderConfig,y as getDefaultCommandDir,St as getGitRoot,at as getKeyDisplayName,Io as getMcpServerConfig,Et as getPlanModeBlockReason,jt as getProviderList,bt as getProviderModel,S as getTerminalHostCapabilities,Po as getTerminalWidth,V as getTheme,Y as getThemeNames,Nt as getVersion,$ as getVisualWidth,G as getVisualWidthCached,P as hasCursorUpViewportYankRisk,w as hasMainScreenRenderScrollRisk,Mt as hydrateProcessEnvFromShell,$t as isAlwaysConfirmPath,It as isBashReadCommand,Lt as isBashWriteCommand,I as isClassicReplForced,et as isFunctionKey,v as isOwnedRendererPreferred,qt as isPathInsideProject,yt as isPermissionMode,rt as isPrintable,kt as isProviderConfigured,M as isRemoteConptyHost,Mo as isScreenReader,ro as isShellCommand,ao as isShellCommandSuccess,N as isTmuxControlMode,Wt as isToolCallAllowed,D as isVsCodeTerminalHostEnv,F as isWideChar,Ao as listCustomProviders,vo as listMcpServers,Ho as listRunningSessions,qo as listSessions,K as loadCommands,At as loadConfig,zo as loadSession,T as minimalTheme,Kt as normalizePermissionMode,Tt as parseCommand,h as parseCommandCall,nt as parseKeypress,Ct as permissionModeDisplayName,Ot as prepareRuntimeConfig,X as processCommandCall,ko as processSpecialSyntax,vt as rateLimitedCall,wt as registerConfiguredCustomProviders,So as removeCustomProvider,Wo as removeMcpServer,_ as resetTmuxControlModeProbeForTesting,k as resolveConfiguredTuiRendererMode,A as resolveEffectiveTuiRendererMode,R as resolveFullscreenPolicy,O as resolveInteractiveSurfacePreference,Eo as rewindSession,po as runInkInteractiveMode,jo as runInteractiveMode,Rt as saveConfig,Go as setActiveEntry,z as splitByCodePoints,Xo as supports256Colors,Do as supportsEmoji,Ko as supportsTrueColor,ho as supportsUnicode,U as themes,Zn as touchContext,B as truncateByVisualWidth,Ro as upsertCustomProvider,Lo as upsertMcpServer,Zt as useAutocomplete,Yt as useAutocompleteContext,tn as useInputHistory,Jn as useKeypress,ut as useKeypressManager,Un as useQueuedPromptContents,Tn as useQueuedPrompts,Hn as useStreaming,Gn as useStreamingActions,En as useStreamingState,on as useTextBuffer,Rn as useUI,On as useUIActions,An as useUIState,Fo as validateMcpServerConfig,E as visualWidthCache,Qo as watchSessions,_o as withCapture,bo as withCaptureSync};
2
+ import{$ as Lt,$a as Wn,$b as Fo,A as Q,Aa as pn,Ab as lo,B as T,Ba as ln,Bb as uo,C as U,Ca as un,Cb as fo,D as V,Da as fn,Db as go,E as Y,Ea as gn,Eb as Co,F as Z,Fa as Cn,Fb as xo,G as tt,Ga as xn,Gb as yo,H as nt,Ha as yn,Hb as Ko,I as ot,Ia as Kn,Ib as Xo,J as et,Ja as Xn,Jb as ho,K as rt,Ka as hn,Kb as Do,L as at,La as Dn,Lb as Po,M as mt,Ma as Pn,Mb as Mo,N as it,Na as Mn,Nb as wo,O as st,Oa as wn,Ob as No,P as ct,Pa as Nn,Pb as _o,Q as dt,Qa as _n,Qb as bo,R as pt,Ra as bn,Rb as jo,S as lt,Sa as jn,Sb as ko,T as ut,Ta as kn,Tb as Ao,U as ft,Ua as An,Ub as Oo,V as gt,Va as On,Vb as Ro,W as Ct,Wa as Rn,Wb as So,X as xt,Xa as Sn,Xb as vo,Y as yt,Ya as vn,Yb as Io,Z as Kt,Za as In,Zb as Lo,_ as It,_a as Ln,_b as Wo,a as D,aa as Wt,ab as Fn,ac as $o,b as P,ba as Ft,bb as $n,bc as qo,c as M,ca as $t,cb as qn,cc as zo,d as w,da as qt,db as zn,dc as Bo,e as N,ea as zt,eb as Bn,ec as Eo,f as _,fa as Bt,fb as En,fc as Go,g as b,ga as Et,gb as Gn,gc as Ho,h as j,ha as Gt,hb as Hn,hc as Jo,i as k,ia as Ht,ib as Jn,ic as Qo,j as A,ja as Jt,jb as Qn,jc as To,k as O,ka as Qt,kb as Tn,kc as Uo,l as R,la as Tt,lb as Un,lc as Vo,m as S,ma as Ut,mb as Vn,n as v,na as Vt,nb as Yn,o as I,oa as Yt,ob as Zn,p as L,pa as Zt,pb as to,q as W,qa as tn,qb as no,r as F,ra as nn,rb as oo,s as $,sa as on,sb as eo,t as q,ta as en,tb as ro,u as z,ua as rn,ub as ao,v as B,va as an,vb as mo,w as E,wa as mn,wb as io,x as G,xa as sn,xb as so,y as H,ya as cn,yb as co,z as J,za as dn,zb as po}from"./chunks/chunk-KRHAO2T3.js";import{D as vt,b as Xt,c as ht,d as Dt,e as Pt,f as Mt,h as wt,i as Nt,j as _t,k as bt,u as jt,v as kt,w as At,x as Ot,y as Rt,z as St}from"./chunks/chunk-QZFZIGPF.js";import"./chunks/chunk-2SMCCP44.js";import"./chunks/chunk-EVIDQWMF.js";import"./chunks/chunk-VGRG2F6H.js";import"./chunks/chunk-66B6ZOU7.js";import"./chunks/chunk-VX6HN3JP.js";import{a}from"./chunks/chunk-V4WSBIXB.js";import l from"fs/promises";import c from"path";import x from"os";var u=c.join(x.homedir(),".kodax","commands");function y(){return u}a(y,"getDefaultCommandDir");async function K(e){let n=new Map,o=e??u;try{await l.mkdir(o,{recursive:!0});let r=await l.readdir(o);for(let t of r){let m=c.extname(t),f=t.replace(m,"");if(m===".md"){try{let d=await l.readFile(c.join(o,t),"utf-8"),i=(d.split(`
3
+ `)[0]?.replace(/^#\s*/,"").trim()??"").slice(0,60)||"(prompt command)";n.set(f,{name:f,description:i,content:d,type:"prompt"})}catch{}continue}if(m===".js"||m===".ts")try{let g=await import(c.join(o,t));for(let[i,p]of Object.entries(g))if(i.startsWith("command_")&&typeof p=="function"){let s=i.replace("command_",""),C=p.description??s;n.set(s,{name:s,description:String(C).slice(0,60),content:`[Programmable command: ${s}]`,type:"programmable",execute:p})}}catch{}}}catch{}return n}a(K,"loadCommands");async function X(e,n,o,r){let t=o.get(e);return t?t.type==="prompt"?n?t.content.replace(/{args}/g,n):t.content:t.type==="programmable"&&t.execute?t.execute({args:n,runAgent:r}):null:null}a(X,"processCommandCall");function h(e){if(!e.startsWith("/"))return null;let n=e.slice(1).split(/\s+/,2);if(n.length===0)return null;let[o,r]=n;return o?[o,r]:null}a(h,"parseCommandCall");export{Cn as App,Vt as AutocompleteContextProvider,Qt as BUILTIN_COMMANDS,qn as BackgroundTaskBar,No as ConsoleCapturer,dt as DEFAULT_UI_STATE,In as DialogSurface,mn as DotsIndicator,$o as FileSessionStorage,yn as FullscreenTranscriptLayout,pn as HistoryItemRenderer,en as InputPrompt,u as KODAX_COMMANDS_DIR,Dt as KODAX_CONFIG_FILE,Xt as KODAX_DIR,ht as KODAX_SESSIONS_DIR,_t as KODAX_VERSION,ft as KeyMatchers,ct as KeypressHandlerPriority,ot as KeypressParser,lt as KeypressProvider,L as LRUCache,dn as LoadingIndicator,no as MemorySessionStorage,Kn as MessageActions,ln as MessageList,Xn as MessageSelector,Wn as NotificationsSurface,gt as PERMISSION_MODES,Pt as PREVIEW_MAX_LENGTH,yo as PendingInputsIndicator,sn as ProgressIndicator,Dn as PromptComposer,wn as PromptFooter,Pn as PromptFooterLeftSide,Mn as PromptFooterRightSide,Nn as PromptHelpMenu,vn as PromptSuggestionsSurface,Ln as QueuedCommandsSurface,xn as SimpleApp,rn as SimpleInputPrompt,un as SimpleMessageDisplay,gn as SimpleStatusBar,tt as SingleLineTextInput,an as Spinner,$n as StashNotice,fn as StatusBar,Fn as StatusNoticesSurface,Bn as StreamingProvider,mt as StreamingState,Sn as SuggestionsDisplay,st as TOOL_STATUS_ICONS,nn as TextBuffer,Z as TextInput,cn as ThinkingIndicator,Co as ToolCallDisplay,it as ToolCallStatus,xo as ToolGroup,go as ToolProgressBar,fo as ToolStatusBadge,hn as TranscriptViewport,kn as UIStateProvider,Vn as _resetQueuedPromptsCacheForTests,Qo as archiveSession,to as bootstrapAutoMode,J as calculateVisualCursorFromLayout,H as calculateVisualLayout,zt as collectBashWriteTargets,xt as computeConfirmTools,lo as createCliEvents,bn as createHistoryItem,Yn as createInteractiveContext,uo as createJsonEvents,Qn as createKeyMatcher,pt as createKeypressManager,oo as createMemorySessionStorage,so as createRecoveryHistoryItem,mo as createRetryHistoryItem,Vo as createSessionManager,zn as createStreamingManager,jn as createToolCall,Q as darkTheme,Jo as deleteSession,wo as detectTerminalCapabilities,j as detectTerminalHostProfile,b as detectTerminalRenderHost,co as emitRecoveryHistoryItem,io as emitRetryHistoryItem,Ut as executeCommand,eo as executeShellCommand,Gt as extractTextContent,Ht as extractTitle,Bo as forkSession,Jt as formatMessagePreview,_n as generateId,Ft as generateSavePattern,Bt as getBashOutsideProjectWriteRisk,q as getCharAtCodePoint,W as getCodePointLength,Oo as getCustomProviderConfig,y as getDefaultCommandDir,St as getGitRoot,at as getKeyDisplayName,Io as getMcpServerConfig,Et as getPlanModeBlockReason,jt as getProviderList,bt as getProviderModel,S as getTerminalHostCapabilities,Po as getTerminalWidth,V as getTheme,Y as getThemeNames,Nt as getVersion,$ as getVisualWidth,G as getVisualWidthCached,P as hasCursorUpViewportYankRisk,w as hasMainScreenRenderScrollRisk,Mt as hydrateProcessEnvFromShell,$t as isAlwaysConfirmPath,It as isBashReadCommand,Lt as isBashWriteCommand,I as isClassicReplForced,et as isFunctionKey,v as isOwnedRendererPreferred,qt as isPathInsideProject,yt as isPermissionMode,rt as isPrintable,kt as isProviderConfigured,M as isRemoteConptyHost,Mo as isScreenReader,ro as isShellCommand,ao as isShellCommandSuccess,N as isTmuxControlMode,Wt as isToolCallAllowed,D as isVsCodeTerminalHostEnv,F as isWideChar,Ao as listCustomProviders,vo as listMcpServers,Ho as listRunningSessions,qo as listSessions,K as loadCommands,At as loadConfig,zo as loadSession,T as minimalTheme,Kt as normalizePermissionMode,Tt as parseCommand,h as parseCommandCall,nt as parseKeypress,Ct as permissionModeDisplayName,Ot as prepareRuntimeConfig,X as processCommandCall,ko as processSpecialSyntax,vt as rateLimitedCall,wt as registerConfiguredCustomProviders,So as removeCustomProvider,Wo as removeMcpServer,_ as resetTmuxControlModeProbeForTesting,k as resolveConfiguredTuiRendererMode,A as resolveEffectiveTuiRendererMode,R as resolveFullscreenPolicy,O as resolveInteractiveSurfacePreference,Eo as rewindSession,po as runInkInteractiveMode,jo as runInteractiveMode,Rt as saveConfig,Go as setActiveEntry,z as splitByCodePoints,Xo as supports256Colors,Do as supportsEmoji,Ko as supportsTrueColor,ho as supportsUnicode,U as themes,Zn as touchContext,B as truncateByVisualWidth,To as unarchiveSession,Ro as upsertCustomProvider,Lo as upsertMcpServer,Zt as useAutocomplete,Yt as useAutocompleteContext,tn as useInputHistory,Jn as useKeypress,ut as useKeypressManager,Un as useQueuedPromptContents,Tn as useQueuedPrompts,Hn as useStreaming,Gn as useStreamingActions,En as useStreamingState,on as useTextBuffer,Rn as useUI,On as useUIActions,An as useUIState,Fo as validateMcpServerConfig,E as visualWidthCache,Uo as watchSessions,_o as withCapture,bo as withCaptureSync};
@@ -1,6 +1,6 @@
1
- import { S as SessionData, F as FileSessionStorage } from './types-chunks/storage.d-BvTdjYQF.js';
2
- import './types-chunks/types.d-HBbWT-iA.js';
3
- import './types-chunks/types.d-B1uGoVTE.js';
1
+ import { S as SessionData, F as FileSessionStorage } from './types-chunks/storage.d-B1Jk6ryM.js';
2
+ import './types-chunks/types.d-B_MIIApc.js';
3
+ import './types-chunks/types.d-Cf-GCzac.js';
4
4
 
5
5
  /**
6
6
  * FEATURE_173 Part B (v0.7.42) — Session Management Public SDK.
@@ -22,6 +22,15 @@ interface SessionSummary {
22
22
  workspaceRoot?: string;
23
23
  gitRoot?: string;
24
24
  };
25
+ /**
26
+ * FEATURE_219 (v0.7.46) — the per-project directory key this session lives
27
+ * under (ADR-038 §7). A backward-compatible hint: consumers may pass it back
28
+ * for precise disambiguation, but `loadSession(id)` works without it.
29
+ */
30
+ readonly projectKey?: string;
31
+ /** FEATURE_219 — true when the session is whole-session archived (only ever
32
+ * surfaced when `includeArchived` is set). */
33
+ readonly archived?: boolean;
25
34
  }
26
35
  interface ListSessionsOptions {
27
36
  /**
@@ -37,8 +46,9 @@ interface ListSessionsOptions {
37
46
  */
38
47
  readonly scope?: 'user' | 'managed-task-worker' | 'all';
39
48
  /**
40
- * Whether to include archived sessions (filename starts with `archived-`).
41
- * Default false no archived sessions exist today; reserved for future use.
49
+ * Whether to include whole-session-archived sessions. FEATURE_219 (v0.7.46):
50
+ * archived sessions live in `<projectKey>/archived/` (see `archiveSession`);
51
+ * also still hides the legacy `archived-` filename prefix. Default false.
42
52
  */
43
53
  readonly includeArchived?: boolean;
44
54
  /** Maximum number of sessions to return. Default 50. */
@@ -60,6 +70,8 @@ interface SessionManager {
60
70
  rewindSession: typeof rewindSession;
61
71
  setActiveEntry: typeof setActiveEntry;
62
72
  deleteSession: typeof deleteSession;
73
+ archiveSession: typeof archiveSession;
74
+ unarchiveSession: typeof unarchiveSession;
63
75
  listRunningSessions: typeof listRunningSessions;
64
76
  watchSessions: typeof watchSessions;
65
77
  /**
@@ -145,6 +157,15 @@ type DeleteSessionResult = {
145
157
  * NEVER throws.
146
158
  */
147
159
  declare function deleteSession(id: string): Promise<DeleteSessionResult>;
160
+ /**
161
+ * FEATURE_219 (v0.7.46) — whole-session archive. Moves the session (and its
162
+ * island sidecar) into `<projectKey>/archived/`. Returns false for a missing
163
+ * session. NEVER throws. Archived sessions are hidden from the default listing
164
+ * and resurface only with `listSessions({ includeArchived: true })`.
165
+ */
166
+ declare function archiveSession(id: string): Promise<boolean>;
167
+ /** Restore an archived session back into its project directory. NEVER throws. */
168
+ declare function unarchiveSession(id: string): Promise<boolean>;
148
169
  /**
149
170
  * Watch the sessions directory for changes.
150
171
  * Returns { close() } that stops the watcher / poll interval.
@@ -172,5 +193,5 @@ declare function createSessionManager(opts?: {
172
193
  sessionsDir?: string;
173
194
  }): SessionManager;
174
195
 
175
- export { createSessionManager, deleteSession, forkSession, listRunningSessions, listSessions, loadSession, rewindSession, setActiveEntry, watchSessions };
196
+ export { archiveSession, createSessionManager, deleteSession, forkSession, listRunningSessions, listSessions, loadSession, rewindSession, setActiveEntry, unarchiveSession, watchSessions };
176
197
  export type { DeleteSessionResult, ListSessionsOptions, RunningSessionInfo, SessionManager, SessionSummary, WatchSessionsCallback };
@@ -1,2 +1,2 @@
1
1
  // @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
2
- import{bc as s,cc as e,dc as n,ec as i,fc as o,gc as t,hc as S,ic as a,jc as r}from"./chunks/chunk-CZHIUJQS.js";import"./chunks/chunk-FT2XFFNP.js";import"./chunks/chunk-FKB7BWQT.js";import"./chunks/chunk-EVIDQWMF.js";import"./chunks/chunk-X6EHEQWP.js";import"./chunks/chunk-PGF5EZ7C.js";import"./chunks/chunk-IJUB7QXG.js";import"./chunks/chunk-V4WSBIXB.js";export{r as createSessionManager,S as deleteSession,n as forkSession,t as listRunningSessions,s as listSessions,e as loadSession,i as rewindSession,o as setActiveEntry,a as watchSessions};
2
+ import{bc as s,cc as e,dc as n,ec as i,fc as o,gc as S,hc as t,ic as a,jc as r,kc as l,lc as c}from"./chunks/chunk-KRHAO2T3.js";import"./chunks/chunk-QZFZIGPF.js";import"./chunks/chunk-2SMCCP44.js";import"./chunks/chunk-EVIDQWMF.js";import"./chunks/chunk-VGRG2F6H.js";import"./chunks/chunk-66B6ZOU7.js";import"./chunks/chunk-VX6HN3JP.js";import"./chunks/chunk-V4WSBIXB.js";export{a as archiveSession,c as createSessionManager,t as deleteSession,n as forkSession,S as listRunningSessions,s as listSessions,e as loadSession,i as rewindSession,o as setActiveEntry,r as unarchiveSession,l as watchSessions};
@@ -1,2 +1,2 @@
1
1
  // @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
2
- import{$b as E,Ab as e,Bb as i,Cb as t,Db as a,Eb as o,Ib as k,Jb as r,Kb as S,Lb as s,Mb as n,Nb as g,Ob as u,Pb as c,Qb as x,Rb as d,Sb as P,Tb as R,Ub as h,Vb as p,Wb as v,Xb as y,Yb as M,Zb as f,_b as m,zb as l}from"./chunks/chunk-IJUB7QXG.js";import"./chunks/chunk-V4WSBIXB.js";export{y as SkillExecutor,R as SkillRegistry,x as VariableResolver,t as clearPluginSkillPaths,M as createExecutor,d as createResolver,n as discoverSkills,u as discoverSkillsWithMonorepo,f as executeSkill,m as expandSkillForLLM,E as formatSkillActivationMessage,a as getDefaultSkillPaths,g as getNestedSkillPaths,o as getSkillPathsFlat,h as getSkillRegistry,p as initializeSkillRegistry,i as listPluginSkillPaths,S as loadFullSkill,s as loadSkillFileContent,r as loadSkillMetadata,c as parseArguments,k as parseSkillMarkdown,l as registerPluginSkillPath,v as resetSkillRegistry,P as resolveSkillContent,e as unregisterPluginSkillPath};
2
+ import{$b as R,Hb as l,Ib as e,Jb as i,Kb as t,Lb as a,Mb as o,Qb as k,Rb as r,Sb as S,Tb as s,Ub as n,Vb as g,Wb as u,Xb as c,Yb as x,Zb as d,_b as P,ac as h,bc as p,cc as v,dc as y,ec as M,fc as f,gc as m,hc as E}from"./chunks/chunk-VX6HN3JP.js";import"./chunks/chunk-V4WSBIXB.js";export{y as SkillExecutor,R as SkillRegistry,x as VariableResolver,t as clearPluginSkillPaths,M as createExecutor,d as createResolver,n as discoverSkills,u as discoverSkillsWithMonorepo,f as executeSkill,m as expandSkillForLLM,E as formatSkillActivationMessage,a as getDefaultSkillPaths,g as getNestedSkillPaths,o as getSkillPathsFlat,h as getSkillRegistry,p as initializeSkillRegistry,i as listPluginSkillPaths,S as loadFullSkill,s as loadSkillFileContent,r as loadSkillMetadata,c as parseArguments,k as parseSkillMarkdown,l as registerPluginSkillPath,v as resetSkillRegistry,P as resolveSkillContent,e as unregisterPluginSkillPath};
@@ -1,4 +1,4 @@
1
- import { r as KodaXProviderConfig, m as KodaXMessage, X as KodaXToolDefinition, F as KodaXReasoningRequest, z as KodaXProviderStreamOptions, J as KodaXStreamResult, n as KodaXModelDescriptor, q as KodaXProviderCapabilityProfile, C as KodaXReasoningCapability, E as KodaXReasoningOverride } from './types.d-B1uGoVTE.js';
1
+ import { s as KodaXProviderConfig, n as KodaXMessage, Y as KodaXToolDefinition, G as KodaXReasoningRequest, A as KodaXProviderStreamOptions, L as KodaXStreamResult, a2 as KodaXVerifyCredentialResult, o as KodaXModelDescriptor, r as KodaXProviderCapabilityProfile, D as KodaXReasoningCapability, F as KodaXReasoningOverride } from './types.d-Cf-GCzac.js';
2
2
 
3
3
  /**
4
4
  * Retry-After header parsing — FEATURE_130 (v0.7.36).
@@ -169,6 +169,23 @@ declare abstract class KodaXBaseProvider {
169
169
  supportsNonStreamingFallback(): boolean;
170
170
  complete(_messages: KodaXMessage[], _tools: KodaXToolDefinition[], _system: string, _reasoning?: boolean | KodaXReasoningRequest, _streamOptions?: KodaXProviderStreamOptions, _signal?: AbortSignal): Promise<KodaXStreamResult>;
171
171
  isConfigured(): boolean;
172
+ /**
173
+ * FEATURE_216 v0.7.45 — Lightweight credential verification. Returns
174
+ * a never-throws envelope with `ok` + categorized `error`. Concrete
175
+ * compat base classes (`KodaXAnthropicCompatProvider`,
176
+ * `KodaXOpenAICompatProvider`) override this to dispatch by the
177
+ * `verifyStrategy` field. The default here returns `unsupported` so
178
+ * Provider classes that don't extend a compat base — or future ones
179
+ * yet to be wired — fail safely instead of throwing.
180
+ *
181
+ * Distinct from `isConfigured()`: that one is env-only (no network);
182
+ * this one hits the wire (zero or ~7 tokens depending on strategy)
183
+ * and verifies the key is actually accepted by the upstream.
184
+ */
185
+ verifyCredential(_opts?: {
186
+ timeoutMs?: number;
187
+ signal?: AbortSignal;
188
+ }): Promise<KodaXVerifyCredentialResult>;
172
189
  getModel(): string;
173
190
  getAvailableModels(): string[];
174
191
  getModelDescriptor(modelId?: string): KodaXModelDescriptor | undefined;