IGPAPI
    Preparing search index...

    Function FlushTelemetry

    • Sends everything the process accumulated, across every channel that has a delivery, and reports what went out. It is the user's explicit action (yield* FlushTelemetry, owner decision 2026-10-21), not a background step: nothing sends on a timer, on leave, or in the background — the flows that instrument a sequence keep their own best-effort sends as part of the flow. An empty store sends nothing; a channel the transport or the server rejects fails with TelemetryDeliveryError after putting that channel's events back, and the next flush sends the same ones again.

      It sends only into a session the process began at startup: the Pigeon session is started by pigeonInit, which pigeonSendInfraBatches (@igpapi/pigeon-nest) runs — a brick the caller runs itself; no flow of the library sends it. A process that never began it gets TelemetryDeliverySessionError (reason: 'session') and the batch stays in the store — no recording covers an upload without the session, so the flush does not send an unverified batch.

      Returns Effect<TelemetryFlushResult, TelemetryDeliveryError, PigeonFlushRequirements>