/** * Structured errors for the direct Google Sheets API outbound provider. * * The transport converts gaxios/network failures into * `GoogleSheetsApiTransportError` with explicit HTTP-status and stable-code * presence so the shared `classifyTransportOutcome` boundary can decide * between a proven pre-mutation rejection and an ambiguous delivery without * reading raw SDK error objects. */ import { type SyncInvalidProviderClassification } from "../../../contracts/sheets/errors.js"; export { GoogleSheetsApiTransportError, GOOGLE_SHEETS_API_TRANSPORT_ERROR_CODES, } from "../../../contracts/sheets/transportError.js"; export type { GoogleSheetsApiTransportErrorCode } from "../../../contracts/sheets/transportError.js"; /** * Classification shared by every `spreadsheets.get` validation guard: a raw * get reply whose shape, cell value, or cell format fails closed is a * `get_reply` / `malformed_reply` invalid provider state. All model parsers * that promote `spreadsheets.get` payloads (`preflightParsing`, * `valueNormalization`, `preflightRows`, `observation`, and the `readRows` * read operations) route their raw GET guards through this constant so the * emitted redacted event always carries the stable pair instead of * collapsing to `unclassified`. The message (which may echo a payload * fragment, id, or URL) is never logged. */ export declare const GET_REPLY_MALFORMED: SyncInvalidProviderClassification; /** * Throws the shared contract error for an invalid direct-provider request. * * Mirrors the Apps Script operation request boundary: invalid routes, effect * shapes, and provider options fail closed before any remote mutation. */ export declare function invalidProviderRequest(label: string, message: string): never; /** * Throws the shared contract error for an invalid remote Sheet/API state. * * Malformed SDK payloads, header drift, duplicate anchors/identities, and * receipt-schema drift are remote-state problems, not transport problems. * They surface to the worker as delivery-uncertain (the same way a throwing * Apps Script operation does) so the effect is probed rather than failed on * unverified evidence. * * `classification` carries the allowlisted provider operation/reason so the * redacted `hikoutei.transport.response_invalid` event (and the thrown error) * expose a stable safe category. Call sites that detect a proven fixture * branch pass a specific classification; everything else keeps the default * `unclassified` category. The message is never logged and never reaches * telemetry (it can echo remote payload fragments, ids, or URLs). */ export declare function invalidProviderState(message: string, classification?: SyncInvalidProviderClassification): never; //# sourceMappingURL=errors.d.ts.map