mirror of
https://github.com/instructkr/claw-code.git
synced 2026-04-07 00:24:50 +08:00
feat(harness+usage): add auto_compact and token_cost parity scenarios
Two new mock parity harness scenarios:
1. auto_compact_triggered (session-compaction category)
- Mock returns 50k input tokens, validates auto_compaction key
is present in JSON output
- Validates format parity; trigger behavior covered by
conversation::tests::auto_compacts_when_cumulative_input_threshold_is_crossed
2. token_cost_reporting (token-usage category)
- Mock returns known token counts (1k input, 500 output)
- Validates input/output token fields present in JSON output
Additional changes:
- Add estimated_cost to JSON prompt output (format_usd + pricing_for_model)
- Add final_text_sse_with_usage and text_message_response_with_usage helpers
to mock-anthropic-service for parameterized token counts
- Add ScenarioCase.extra_env and ScenarioCase.resume_session fields
- Update mock_parity_scenarios.json: 10 -> 12 scenarios
- Update harness request count assertion: 19 -> 21
cargo test --workspace: 558 passed, 0 failed
This commit is contained in:
@@ -46,7 +46,7 @@ use runtime::{
|
||||
ConversationRuntime, MessageRole, OAuthAuthorizationRequest, OAuthConfig,
|
||||
OAuthTokenExchangeRequest, PermissionMode, PermissionPolicy, ProjectContext, PromptCacheEvent,
|
||||
ResolvedPermissionMode, RuntimeError, Session, TokenUsage, ToolError, ToolExecutor,
|
||||
UsageTracker,
|
||||
UsageTracker, ModelPricing, format_usd, pricing_for_model,
|
||||
};
|
||||
use serde_json::json;
|
||||
use tools::GlobalToolRegistry;
|
||||
@@ -1899,7 +1899,13 @@ impl LiveCli {
|
||||
"output_tokens": summary.usage.output_tokens,
|
||||
"cache_creation_input_tokens": summary.usage.cache_creation_input_tokens,
|
||||
"cache_read_input_tokens": summary.usage.cache_read_input_tokens,
|
||||
}
|
||||
},
|
||||
"estimated_cost": format_usd(
|
||||
summary.usage.estimate_cost_usd_with_pricing(
|
||||
pricing_for_model(&self.model)
|
||||
.unwrap_or_else(runtime::ModelPricing::default_sonnet_tier)
|
||||
).total_cost_usd()
|
||||
)
|
||||
})
|
||||
);
|
||||
Ok(())
|
||||
|
||||
Reference in New Issue
Block a user