diff options
| author | Adam Malczewski <[email protected]> | 2026-06-22 14:58:40 +0900 |
|---|---|---|
| committer | Adam Malczewski <[email protected]> | 2026-06-22 14:58:40 +0900 |
| commit | e6e2d31b987043d0325a93d23295af0408b723ec (patch) | |
| tree | d3208766c1e8123b8ca81c7a7c5a91c2c269e536 /packages/kernel/src/contracts | |
| parent | 519b79999d49156bbfaecc91a2d882fba2475fef (diff) | |
| download | dispatch-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.ts | 2 |
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; } /** |
