Summary
Add a formatCost(summary: ObserveCostSummary): string utility that pretty-prints cost data for terminal output.
What to do
- Create
src/observe/format-cost.ts
- Format output:
"$0.0023 (2 requests) | Input: $0.0018 | Output: $0.0005"
- Export from
tealtiger/observe
- Add unit test in
src/observe/__tests__/format-cost.test.ts
Expected behavior
import { observe } from 'tealtiger';
import { formatCost } from 'tealtiger/observe';
const client = observe(new OpenAI());
// ... make some calls ...
console.log(formatCost(client.getCost()));
// Output: "$0.0023 (2 requests) | Input: $0.0018 | Output: $0.0005"
Acceptance criteria
Helpful links
- Type definition:
src/observe/types.ts → ObserveCostSummary
- Existing formatters:
dashboard/web/src/utils/formatters.ts (for reference pattern)
Summary
Add a
formatCost(summary: ObserveCostSummary): stringutility that pretty-prints cost data for terminal output.What to do
src/observe/format-cost.ts"$0.0023 (2 requests) | Input: $0.0018 | Output: $0.0005"tealtiger/observesrc/observe/__tests__/format-cost.test.tsExpected behavior
Acceptance criteria
formatCost()exported fromtealtiger/observe"$0.00 (0 requests)"" (estimated)"whenhasPricingGaps === trueHelpful links
src/observe/types.ts→ObserveCostSummarydashboard/web/src/utils/formatters.ts(for reference pattern)