/** * Log operations for the Cloud Build plugin. * * Provides log streaming with: * - AsyncIterable interface for consumer control * - Automatic completion when build finishes * - Configurable polling interval */ import type { CloudBuildClient } from '@google-cloud/cloudbuild'; import type { Storage } from '@google-cloud/storage'; import type { Logger } from 'pino'; import type { CloudBuildConfig } from '../config/types.js'; import type { LogEntry } from '../types/logs.js'; import type { LogFetcher, LogChunk, LogStreamOptions } from '../streaming/types.js'; export declare class LogOperations implements LogFetcher { private readonly cloudBuildClient; private readonly storage; private readonly config; private readonly logger; constructor(cloudBuildClient: CloudBuildClient, storage: Storage, config: CloudBuildConfig, logger: Logger); /** * Stream logs from a build as an AsyncIterable. */ streamLogs(buildId: string, options?: LogStreamOptions): AsyncIterable; /** * Fetch log entries from Cloud Logging. * Implements LogFetcher interface. */ fetchLogs(buildId: string, offset: number): Promise; /** * Get the current build status. * Implements LogFetcher interface. */ getBuildStatus(buildId: string): Promise; /** * Fetch logs from GCS bucket. */ private fetchLogsFromBucket; /** * Parse a log line into a LogEntry. */ private parseLogLine; /** * Parse severity string to LogSeverity type. */ private parseSeverity; /** * Map numeric status to string. */ private mapStatus; /** * Check if build status indicates completion. */ private isBuildComplete; } //# sourceMappingURL=logs.d.ts.map