Summary
Implement configuration-driven thresholds for token optimization operations, following the pattern discovered in Gemini CLI.
Background
Currently, hardcoded values are scattered throughout the codebase. Gemini CLI uses a centralized configuration system with schema validation.
Gemini CLI Pattern Reference
File: packages/core/src/config/settingsSchema.ts
- Uses JSON schema for configuration validation
- Defines
CompressionTokenThreshold (default: 0.7 = 70%)
- Defines
CompressionPreserveThreshold (default: 0.3 = keep 30%)
- Defines per-model
tokenBudget limits
Implementation
Create ~/.token-optimizer/config.json:
```json
{
"compressionTokenThreshold": 0.7,
"compressionPreserveThreshold": 0.3,
"minTokensBeforeCompression": 1000,
"modelTokenLimits": {
"gemini-2.5-flash": 1000000,
"gemini-1.5-pro": 2000000
},
"cacheSettings": {
"maxSize": 1000,
"ttlSeconds": 3600
},
"optimizationSettings": {
"minOutputSizeBytes": 500,
"quality": "balanced"
}
}
```
Create PowerShell config class in src/Config.ps1.
Acceptance Criteria
Priority
High - Foundation for other optimizations
References
Gemini CLI: packages/core/src/config/settingsSchema.ts
Summary
Implement configuration-driven thresholds for token optimization operations, following the pattern discovered in Gemini CLI.
Background
Currently, hardcoded values are scattered throughout the codebase. Gemini CLI uses a centralized configuration system with schema validation.
Gemini CLI Pattern Reference
File:
packages/core/src/config/settingsSchema.tsCompressionTokenThreshold(default: 0.7 = 70%)CompressionPreserveThreshold(default: 0.3 = keep 30%)tokenBudgetlimitsImplementation
Create
~/.token-optimizer/config.json:```json
{
"compressionTokenThreshold": 0.7,
"compressionPreserveThreshold": 0.3,
"minTokensBeforeCompression": 1000,
"modelTokenLimits": {
"gemini-2.5-flash": 1000000,
"gemini-1.5-pro": 2000000
},
"cacheSettings": {
"maxSize": 1000,
"ttlSeconds": 3600
},
"optimizationSettings": {
"minOutputSizeBytes": 500,
"quality": "balanced"
}
}
```
Create PowerShell config class in
src/Config.ps1.Acceptance Criteria
Priority
High - Foundation for other optimizations
References
Gemini CLI:
packages/core/src/config/settingsSchema.ts