summaryrefslogtreecommitdiffhomepage
path: root/packages/kernel/src/contracts
diff options
context:
space:
mode:
authorAdam Malczewski <[email protected]>2026-06-22 14:58:40 +0900
committerAdam Malczewski <[email protected]>2026-06-22 14:58:40 +0900
commite6e2d31b987043d0325a93d23295af0408b723ec (patch)
treed3208766c1e8123b8ca81c7a7c5a91c2c269e536 /packages/kernel/src/contracts
parent519b79999d49156bbfaecc91a2d882fba2475fef (diff)
downloaddispatch-e6e2d31b987043d0325a93d23295af0408b723ec.tar.gz
dispatch-e6e2d31b987043d0325a93d23295af0408b723ec.zip
feat: context window from model endpoints + percentage-based auto-compact
ModelInfo (kernel contract): - Add contextWindow?: number field OpenAI-stream listModels: - Parse contextWindow from common field names (context_length, context_window, max_context_length, max_tokens) Transport-contract: - ModelsResponse: add optional modelInfo map (model name → { contextWindow? }) - Add ModelMetadata type - Rename CompactThresholdResponse → CompactPercentResponse - Rename SetCompactThresholdRequest → SetCompactPercentRequest Credential store: - Add getModelInfo(modelName) method — resolves full ModelInfo (including contextWindow) for a <credential>/<model> string Transport-http: - GET /models now includes modelInfo with contextWindow per model - Rename compact-threshold endpoints → compact-percent Session-orchestrator: - Auto-compact now uses contextSize (not overcounted usage.inputTokens) compared against contextWindow * (percent / 100) - Default percent: 85 (was flat 350000) - resolveModelInfo dep added to look up contextWindow - Passes modelName from the settled turn to the compaction service Conversation store: - Rename getCompactThreshold/setCompactThreshold → getCompactPercent/setCompactPercent - compactThresholdKey → compact-percent key
Diffstat (limited to 'packages/kernel/src/contracts')
-rw-r--r--packages/kernel/src/contracts/provider.ts2
1 files changed, 2 insertions, 0 deletions
diff --git a/packages/kernel/src/contracts/provider.ts b/packages/kernel/src/contracts/provider.ts
index 7f920c5..52d853b 100644
--- a/packages/kernel/src/contracts/provider.ts
+++ b/packages/kernel/src/contracts/provider.ts
@@ -112,6 +112,8 @@ export interface ProviderStreamOptions {
export interface ModelInfo {
readonly id: string;
readonly displayName?: string;
+ /** The model's max context window in tokens (e.g. 200000). Optional — providers that don't report it leave it undefined. */
+ readonly contextWindow?: number;
}
/**