@earendil-works/pi-coding-agent
Version:
Coding agent CLI with read, bash, edit, write tools and session management
3 lines (2 loc) • 1.04 kB
JavaScript
import { createRequire as __piCreateRequire } from "node:module"; const require = __piCreateRequire(import.meta.url);
function isValidCost(value){return typeof value=="number"&&Number.isFinite(value)&&value>=0}function isOpenRouterModel(model){return model.provider==="openrouter"||model.baseUrl.includes("openrouter.ai")}function applyOpenRouterReportedCost(usage,reported){if(isValidCost(reported.cost)){if(reported.is_byok===!1){usage.cost.total=reported.cost,usage.cost.totalFromProvider=!0;return}if(reported.is_byok===!0){let details=reported.cost_details;if(!details)return;let upstreamCost=details.upstream_inference_cost;if(upstreamCost===null){if(!isValidCost(details.upstream_inference_prompt_cost)||!isValidCost(details.upstream_inference_completions_cost))return;upstreamCost=details.upstream_inference_prompt_cost+details.upstream_inference_completions_cost}if(!isValidCost(upstreamCost))return;usage.cost.total=reported.cost+upstreamCost,usage.cost.totalFromProvider=!0}}}export{isOpenRouterModel,applyOpenRouterReportedCost};