Summary
Add sessionDurationMs: number to the ObserveCostSummary type — time elapsed since observe() was called.
What to do
- Record
Date.now() when observe() creates the proxy
- Compute duration in
getCost() as Date.now() - startTime
- Add
sessionDurationMs to the returned ObserveCostSummary object
- Update the type definition
- Add unit test
Expected behavior
const client = observe(new OpenAI());
// ... wait 5 seconds, make some calls ...
const cost = client.getCost();
console.log(cost.sessionDurationMs); // ~5000
Acceptance criteria
Helpful links
- Types:
src/observe/types.ts → ObserveCostSummary
- Observe entry point:
src/observe/observe.ts
- Cost accumulator:
src/observe/cost-accumulator.ts
Summary
Add
sessionDurationMs: numberto theObserveCostSummarytype — time elapsed sinceobserve()was called.What to do
Date.now()whenobserve()creates the proxygetCost()asDate.now() - startTimesessionDurationMsto the returnedObserveCostSummaryobjectExpected behavior
Acceptance criteria
sessionDurationMsfield added toObserveCostSummaryinterface insrc/observe/types.tsDate.now() - proxyCreationTimegetCost()consumers (additive change)Helpful links
src/observe/types.ts→ObserveCostSummarysrc/observe/observe.tssrc/observe/cost-accumulator.ts