/** * 一轮 dispatch 结束后的用量:从 OpenClaw session store 的结构化字段汇总, * 供 WS `RUN_USAGE` 回传业务系统。 * * 数据源唯一:`sessions.json` 中本 sessionKey 的 entry * (agent-runner 在回合结束时写入 modelProvider / model / inputTokens / outputTokens 等)。 * 不解析 deliver 正文 usage footer / usage bar。 */ /** session store 中与用量相关的字段(子集) */ export type SessionUsageFields = { modelProvider?: string; model?: string; inputTokens?: number; outputTokens?: number; totalTokens?: number; cacheRead?: number; cacheWrite?: number; estimatedCostUsd?: number; }; export type RunUsageSnapshot = { provider?: string; model?: string; modelRef?: string; inputTokens?: number; outputTokens?: number; totalTokens?: number; cacheReadTokens?: number; cacheWriteTokens?: number; estimatedCostUsd?: number; runId?: string; /** 固定为 session:结构化 session entry */ source: "session"; }; export type ImStreamRunUsageData = { groupId: string; replyToMsgId: string; usage: RunUsageSnapshot; }; /** 本轮是否值得发 RUN_USAGE(至少有模型或 token 之一)。 */ export declare function hasReportableUsage(usage: RunUsageSnapshot | undefined): boolean; /** * 从 session entry 构建用量快照。 * entry 缺字段时不捏造;完全无信息返回 undefined。 */ export declare function buildRunUsageFromSessionEntry(entry: SessionUsageFields | undefined | null, opts?: { runId?: string; }): RunUsageSnapshot | undefined; export declare function toImStreamRunUsageData(usage: RunUsageSnapshot, anchors: { groupId: string; replyToMsgId: string; }): ImStreamRunUsageData; //# sourceMappingURL=run-usage.d.ts.map