UNPKG

n8n

Version:

n8n Workflow Automation Tool

50 lines (49 loc) 2.11 kB
import { LicenseState } from '@n8n/backend-common'; import { GlobalConfig } from '@n8n/config'; import { UserRepository } from '@n8n/db'; import { InstanceSettings } from 'n8n-core'; import type { ICredentialDataDecryptedObject } from 'n8n-workflow'; import type { AiGatewayConfigDto, AiGatewayUsageResponse } from '@n8n/api-types'; import { License } from '../license'; import { OwnershipService } from '../services/ownership.service'; import { UrlService } from '../services/url.service'; interface GatewayWalletResponse { budget: number; balance: number; } export declare class AiGatewayService { private readonly globalConfig; private readonly license; private readonly licenseState; private readonly instanceSettings; private readonly ownershipService; private readonly userRepository; private readonly urlService; private readonly tokenCache; private readonly TOKEN_CACHE_MAX_SIZE; private readonly pendingTokenRequests; private gatewayConfig; private configFetchedAt; private static readonly CONFIG_TTL_MS; private static readonly GATEWAY_PATH_PREFIX; constructor(globalConfig: GlobalConfig, license: License, licenseState: LicenseState, instanceSettings: InstanceSettings, ownershipService: OwnershipService, userRepository: UserRepository, urlService: UrlService); private resolveUserId; getSyntheticCredential({ credentialType, userId, workflowId, projectId, executionId, }: { credentialType: string; userId: string | undefined; workflowId?: string; projectId?: string; executionId?: string; }): Promise<ICredentialDataDecryptedObject>; getUsage(userId: string, offset: number, limit: number): Promise<AiGatewayUsageResponse>; getWallet(userId: string): Promise<GatewayWalletResponse>; private parseWalletResponse; private buildGatewayUrl; private requireBaseUrl; private isConfigStale; getGatewayConfig(): Promise<AiGatewayConfigDto>; private buildGatewayCredentialsHeaders; private getOrFetchToken; private fetchAndCacheToken; } export {};