inspection
Classes
Section titled “Classes”DeliveryInspectionError
Section titled “DeliveryInspectionError”Stable inspection errors never include stored cargo or raw SQL failures.
Extends
Section titled “Extends”Error
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new DeliveryInspectionError(
code):DeliveryInspectionError
Parameters
Section titled “Parameters”"unavailable" | "invalid_query"
Returns
Section titled “Returns”Overrides
Section titled “Overrides”Error.constructor
Properties
Section titled “Properties”
readonlycode:"unavailable"|"invalid_query"
Type Aliases
Section titled “Type Aliases”DeliveryInspectionPageQuery
Section titled “DeliveryInspectionPageQuery”DeliveryInspectionPageQuery =
Schema.Codec.Encoded<typeofDeliveryInspectionPageQuerySchema>>
An email receipt page uses the same producer-key pagination.
DeliveryInspectionQuery
Section titled “DeliveryInspectionQuery”DeliveryInspectionQuery =
Schema.Codec.Encoded<typeofDeliveryInspectionQuerySchema>>
Input to one producer-local inspection. Cursors are producer keys, without storage prefixes.
PostReceiptSummary
Section titled “PostReceiptSummary”PostReceiptSummary =
Schema.Schema.Type<typeofPostReceiptSummarySchema>>
Metadata for one retained Post row.
PostInspectionPage
Section titled “PostInspectionPage”PostInspectionPage =
Schema.Schema.Type<typeofPostInspectionPageSchema>>
One read of producer-local Post dispatch evidence.
CarrierInspectionPage
Section titled “CarrierInspectionPage”CarrierInspectionPage =
Schema.Schema.Type<typeofCarrierInspectionPageSchema>>
One read of aggregate email dispatch evidence.
Variables
Section titled “Variables”DeliveryInspectionPageQuerySchema
Section titled “DeliveryInspectionPageQuerySchema”
constDeliveryInspectionPageQuerySchema:Struct<{limit:withDecodingDefaultType<Int,never>>;after:optional<String>>; }>
One bounded scan; an empty filtered page can still have a continuation.
DeliveryInspectionQuerySchema
Section titled “DeliveryInspectionQuerySchema”
constDeliveryInspectionQuerySchema:Struct<{limit:withDecodingDefaultType<Int,never>>;after:optional<String>>;view:Literals<readonly ["receipts","deadLetters"]>; }>
Post can filter dead letters while scanning at most one bounded page.
PostReceiptSummarySchema
Section titled “PostReceiptSummarySchema”
constPostReceiptSummarySchema:Union<readonly [Struct<{key:String;state:Literal<"delivered">>; }>,Struct<{key:String;state:Literal<"pending">>;kind:String;attempts:Int;nextAttemptAt:Number; }>,Struct<{key:String;state:Literal<"dead">>;kind:String;attempts:Int;reason:Literals<readonly ["refused","exhausted"]>; }>]>
Dispatch evidence deliberately omits the address and event.
PostInspectionPageSchema
Section titled “PostInspectionPageSchema”
constPostInspectionPageSchema:Union<readonly [Struct<{status:Literal<"uninitialized">>; }>,Struct<{status:Literal<"available">>;records:$Array<Union<readonly [Struct<{key:String;state:Literal<"delivered">>; }>,Struct<{key:String;state:Literal<"pending">>;kind:String;attempts:Int;nextAttemptAt:Number; }>,Struct<{key:String;state:Literal<"dead">>;kind:String;attempts:Int;reason:Literals<readonly […, …]>; }>]>>;nextCursor:NullOr<String>>; }>]>
Bounded evidence with an explicit distinction between empty and uninitialized storage.
CarrierReceiptSummarySchema
Section titled “CarrierReceiptSummarySchema”
constCarrierReceiptSummarySchema:Struct<{id:String;status:Literals<readonly ["queued","dispatching","provider_accepted","outcome_unknown","rejected","refused","expired","superseded"]>;attempts:Int;retryAt:NullOr<Number>>;providerMessageId:optional<NonEmptyString>>;providerRejection:optional<Struct<{code:NonEmptyString;class:Literals<readonly ["permanent","temporary"]>; }>>; }>
Aggregate email evidence without bodies, headers or recipient addresses.
CarrierInspectionPageSchema
Section titled “CarrierInspectionPageSchema”
constCarrierInspectionPageSchema:Union<readonly [Struct<{status:Literal<"uninitialized">>; }>,Struct<{status:Literal<"available">>;records:$Array<Struct<{id:String;status:Literals<readonly ["queued","dispatching","provider_accepted","outcome_unknown","rejected","refused","expired","superseded"]>;attempts:Int;retryAt:NullOr<Number>>;providerMessageId:optional<NonEmptyString>>;providerRejection:optional<Struct<{code:NonEmptyString;class:Literals<…>; }>>; }>>;nextCursor:NullOr<String>>; }>]>
Carrier’s bounded metadata page; unavailable storage is never reported as empty.
Functions
Section titled “Functions”createDeliveryInspection()
Section titled “createDeliveryInspection()”createDeliveryInspection(
sql):object
Read existing storage without opening a sender, initializing tables, repairing jobs or arming a wake. The trusted host must admit an operator before calling.
Parameters
Section titled “Parameters”Readonly<{ exec: (statement, …bindings) => WatchdogSqliteCursor;
}>
Returns
Section titled “Returns”email()
Section titled “email()”email(
input): {status:"uninitialized"; } | {status:"available";records: readonlyobject[];nextCursor:string|null; }
Read aggregate dispatch evidence without email cargo or recipient addresses.
Parameters
Section titled “Parameters”limit?
Section titled “limit?”number = ...
after?
Section titled “after?”string = ...
Returns
Section titled “Returns”{ status: "uninitialized"; } | { status: "available"; records:
readonly object[]; nextCursor: string | null; }
post()
Section titled “post()”post(
input): {status:"uninitialized"; } | {status:"available";records: readonly ({key:string;state:"delivered"; } | {key:string;state:"pending";kind:string;attempts:number;nextAttemptAt:number; } | {key:string;state:"dead";kind:string;attempts:number;reason:"refused"|"exhausted"; })[];nextCursor:string|null; }
Read Post metadata; filtered pages retain their continuation through other states.
Parameters
Section titled “Parameters”limit?
Section titled “limit?”number = ...
after?
Section titled “after?”string = ...
"deadLetters" | "receipts" = ...
Returns
Section titled “Returns”{ status: "uninitialized"; } | { status: "available"; records:
readonly ({ key: string; state: "delivered"; } | { key: string;
state: "pending"; kind: string; attempts: number; nextAttemptAt:
number; } | { key: string; state: "dead"; kind: string;
attempts: number; reason: "refused" | "exhausted"; })[];
nextCursor: string | null; }