Verified: - pnpm build - pnpm check - pnpm test:macmini Co-authored-by: Glucksberg <80581902+Glucksberg@users.noreply.github.com> Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
36 lines
1.2 KiB
TypeScript
36 lines
1.2 KiB
TypeScript
import { deriveSessionTotalTokens, type NormalizedUsage } from "../../agents/usage.js";
|
|
import { incrementCompactionCount } from "./session-updates.js";
|
|
import { persistSessionUsageUpdate } from "./session-usage.js";
|
|
|
|
type PersistRunSessionUsageParams = Parameters<typeof persistSessionUsageUpdate>[0];
|
|
|
|
type IncrementRunCompactionCountParams = Omit<
|
|
Parameters<typeof incrementCompactionCount>[0],
|
|
"tokensAfter"
|
|
> & {
|
|
lastCallUsage?: NormalizedUsage;
|
|
contextTokensUsed?: number;
|
|
};
|
|
|
|
export async function persistRunSessionUsage(params: PersistRunSessionUsageParams): Promise<void> {
|
|
await persistSessionUsageUpdate(params);
|
|
}
|
|
|
|
export async function incrementRunCompactionCount(
|
|
params: IncrementRunCompactionCountParams,
|
|
): Promise<number | undefined> {
|
|
const tokensAfterCompaction = params.lastCallUsage
|
|
? deriveSessionTotalTokens({
|
|
usage: params.lastCallUsage,
|
|
contextTokens: params.contextTokensUsed,
|
|
})
|
|
: undefined;
|
|
return incrementCompactionCount({
|
|
sessionEntry: params.sessionEntry,
|
|
sessionStore: params.sessionStore,
|
|
sessionKey: params.sessionKey,
|
|
storePath: params.storePath,
|
|
tokensAfter: tokensAfterCompaction,
|
|
});
|
|
}
|