n8n
Version:
n8n Workflow Automation Tool
27 lines (26 loc) • 1.27 kB
TypeScript
import { Logger } from '@n8n/backend-common';
import type { User } from '@n8n/db';
import type { BuilderUsageItem, TraceStatus } from '@n8n/instance-ai';
import { InstanceSettings } from 'n8n-core';
import { Push } from '../../push';
import { AiService } from '../../services/ai.service';
import { Telemetry } from '../../telemetry';
import { InstanceAiThreadRepository } from './repositories/instance-ai-thread.repository';
export declare class InstanceAiCreditService {
private readonly aiService;
private readonly telemetry;
private readonly instanceSettings;
private readonly push;
private readonly threadRepo;
private readonly logger;
private readonly claimedRunIds;
static readonly CLAIM_DEDUPE_CACHE_SIZE = 1000;
private static readonly CLAIM_MAX_ATTEMPTS;
constructor(logger: Logger, aiService: AiService, telemetry: Telemetry, instanceSettings: InstanceSettings, push: Push, threadRepo: InstanceAiThreadRepository);
claimRunUsage(user: User, threadId: string, dedupeId: string, usage: BuilderUsageItem[], status: TraceStatus): Promise<number | undefined>;
private getProxyAuth;
private claimTokens;
private claimTokensWithRetry;
private accumulateThreadCredits;
private rememberClaimedRunId;
}