fix(claude_sdk,conversations,rotation): context size from the last api call, new-day text by rotation reason
This commit is contained in:
@@ -98,7 +98,12 @@ class FakeClient:
|
||||
self.interrupted = True
|
||||
|
||||
async def receive_response(self):
|
||||
start = {"type": "message_start", "message": {}}
|
||||
start = {
|
||||
"type": "message_start",
|
||||
"message": {
|
||||
"usage": {"input_tokens": 5, "cache_read_input_tokens": 20_000}
|
||||
},
|
||||
}
|
||||
yield StreamEvent(uuid="u", session_id="s", event=start)
|
||||
for e in _stream(0, "calling "):
|
||||
yield e
|
||||
@@ -119,7 +124,17 @@ class FakeClient:
|
||||
yield UserMessage(
|
||||
content=[ToolResultBlock(tool_use_id="toolu_1", content="42")]
|
||||
)
|
||||
yield StreamEvent(uuid="u", session_id="s", event=start)
|
||||
second = {
|
||||
"type": "message_start",
|
||||
"message": {
|
||||
"usage": {
|
||||
"input_tokens": 7,
|
||||
"cache_read_input_tokens": 20_000,
|
||||
"cache_creation_input_tokens": 3_000,
|
||||
}
|
||||
},
|
||||
}
|
||||
yield StreamEvent(uuid="u", session_id="s", event=second)
|
||||
for e in _stream(0, "done"):
|
||||
yield e
|
||||
yield AssistantMessage(content=[TextBlock(text="done")], model="m")
|
||||
@@ -194,6 +209,7 @@ async def test_stream_envelope_and_index_rebase(cwd: Path) -> None:
|
||||
|
||||
assert capture.session_id == "fresh-session"
|
||||
assert capture.usage is not None and capture.usage.cost_usd == 0.01
|
||||
assert capture.usage.context_tokens == 23_007
|
||||
assert capture.synthesized_messages == [
|
||||
{
|
||||
"role": "assistant",
|
||||
|
||||
Reference in New Issue
Block a user