File size: 796 Bytes
68d7816 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | import { createDecorator } from '#/_base/di/instantiation';
import type { Event } from '#/_base/event';
import type { AgentContext } from '#/agent/agentContext/agentContext';
import type { AgentLLMRequestSource } from '#/agent/llmRequester/llmRequester';
import type { UsageRecordedContext, UsageStatus } from '#/agent/usage/usage';
import type { TokenUsage } from '#human/llm/usage';
export interface ISessionUsageService {
readonly _serviceBrand: undefined;
record(
agent: AgentContext,
model: string,
usage: TokenUsage,
source?: AgentLLMRequestSource,
): Promise<void>;
status(agent: AgentContext): UsageStatus;
readonly onDidRecord: Event<UsageRecordedContext>;
}
export const ISessionUsageService = createDecorator<ISessionUsageService>('sessionUsageService');
|