MCPcopy Create free account
hub / github.com/ScriptedAlchemy/tracedecay / flush_codex_turn_usage

Function flush_codex_turn_usage

src/sessions/transcript_backfill.rs:348–364  ·  view source on GitHub ↗

Attach a finished Codex turn's summed usage to its assistant line's facts, merging additively when several flushes land on the same line.

(
    facts: &mut HashMap<i64, LineFacts>,
    assistant_offset: Option<i64>,
    turn_usage: &mut CodexTurnUsage,
)

Source from the content-addressed store, hash-verified

346/// Attach a finished Codex turn's summed usage to its assistant line's facts,
347/// merging additively when several flushes land on the same line.
348fn flush_codex_turn_usage(
349 facts: &mut HashMap<i64, LineFacts>,
350 assistant_offset: Option<i64>,
351 turn_usage: &mut CodexTurnUsage,
352) {
353 let Some(usage) = turn_usage.take() else {
354 return;
355 };
356 let Some(offset) = assistant_offset else {
357 return;
358 };
359 let entry = facts.entry(offset).or_default();
360 match entry.usage.as_mut() {
361 Some(existing) => merge_usage_counters(existing, &usage),
362 None => entry.usage = Some(usage),
363 }
364}
365
366/// Per-provider timestamp derivation, mirroring each source's live ingest.
367fn derive_timestamp(provider: &str, record: &Value, carry: &mut TimestampCarry) -> Option<i64> {

Callers 1

derive_line_factsFunction · 0.85

Calls 3

merge_usage_countersFunction · 0.85
entryMethod · 0.80
takeMethod · 0.45

Tested by

no test coverage detected