@squidcloud/client
    Preparing search index...

    Interface BulkIngestionProviderBatchStatus

    One provider batch created for a bulk-ingestion job, so a caller can tell a job waiting on a submitted provider batch (healthy — the designed cost/latency tradeoff of the batch lane, with turnaround up to 24 hours) from a job that is actually stuck, and see since when.

    interface BulkIngestionProviderBatchStatus {
        createdAt: Date;
        endpoint:
            | "/v1/embeddings"
            | "/v1/messages/batches"
            | "/v1/chat/completions"
            | "/v1/ocr";
        lanes?: BulkIngestionRequestLane[];
        provider: "voyage"
        | "anthropic"
        | "openai"
        | "mistral";
        providerBatchId?: string;
        providerInProgressAt?: Date;
        providerStatus?: string;
        providerStatusChangedAt?: Date;
        requestCounts?: BulkIngestionProviderBatchRequestCounts;
        requestCountsAt?: Date;
        state:
            | "failed"
            | "intent"
            | "submitted"
            | "ended"
            | "reconciled"
            | "cancelled";
        updatedAt: Date;
    }
    Index
    createdAt: Date

    When the batch was created — the "since when has this been waiting" clock for an in-flight batch.

    endpoint:
        | "/v1/embeddings"
        | "/v1/messages/batches"
        | "/v1/chat/completions"
        | "/v1/ocr"

    The provider API the batch rides. Mirrors the core batch row's union, like state.

    The lanes of the requests the batch carries; empty when a batch of an older core cannot tell.

    provider: "voyage" | "anthropic" | "openai" | "mistral"

    The provider running the batch. Mirrors the core batch row's union, like state.

    providerBatchId?: string

    The provider's own batch id; absent until the batch is submitted.

    providerInProgressAt?: Date

    When the provider started running the batch; absent while it has not.

    providerStatus?: string

    The provider's status at the newest poll, as the adapter reports it: provider-raw for OpenAI, normalized (in_progress, completed, …) for Anthropic and Mistral.

    providerStatusChangedAt?: Date

    When a poll first saw providerStatus.

    Per-request progress at the newest poll; absent for a provider that does not report it.

    requestCountsAt?: Date

    When the poll that read requestCounts ran.

    state: "failed" | "intent" | "submitted" | "ended" | "reconciled" | "cancelled"

    The batch's lifecycle state: intent (created, not yet submitted), submitted (waiting on the provider), ended (provider finished, results not yet absorbed), or terminal (reconciled/cancelled/failed).

    updatedAt: Date

    When the batch row was last written. NOT a state-transition time: the poller refreshes it on every poll of an in-flight batch, so on a healthy job it is always recent — it freezing means polling stopped, not that the batch is waiting. Read wait duration off createdAt.