export interface Log { id: string; userId: string; gateId: string | null; gateName: string | null; modelCode: string | null; modelGate: string | null; modelUsed: string | null; promptTokens: number; completionTokens: number; costUsd: number; /** Provenance of costUsd — see VerlonResponse['costSource']. NULL on * rows that predate cost-source recording or error rows that never * reached cost computation. `unpriced` means the $0 is WRONG, not * free: the model served traffic with no registry pricing. */ costSource?: 'provider_reported' | 'computed' | 'estimated' | 'unpriced' | 'partial' | null; latencyMs: number; success: number; errorMessage: string | null; loggedAt: Date; requestPayload?: Record; responsePayload?: Record; redacted?: boolean; } export interface ListLogOptions { limit?: number; gate?: string; offset?: number; /** * Filter to successes only (`true`) or failures only (`false`). * Omit for both. Maps to the API's `?success=true|false` filter. */ success?: boolean; /** * Relative time-window filter — `30s` / `5m` / `1h` / `7d`. The API * translates this to an absolute timestamp at request time, so a * long-running poll loop using the same `since` value sees a * fresh window on each call. */ since?: string; /** Filter to logs scoped to a specific project. */ projectId?: string; } /** * Wire response shape for `GET /v1/logs`. The route wraps the array * with pagination metadata; consumers that want just the logs can * use `LogsResource.list()` which unwraps for them. */ export interface ListLogsResponse { logs: Log[]; pagination: { total: number; limit: number; offset: number; hasMore: boolean; }; } //# sourceMappingURL=logs.d.ts.map