Package-level declarations
Types
Shared selection of which captured network transactions an export (HAR, Postman) should include. Declared once here -- rather than separately in sdk:server-ktor and sdk:full -- so the browser export routes and the Android in-app exporter can never select a different set of rows for what a caller intends to be the same export. Mirrors the shape of io.devconsole.export.ExportScope (whole/time-range/explicit-ids), which plays the same role for timeline-event ZIP exports; the two are kept as separate types because they select over different id spaces (transaction ids here, event ids there), not because the selection dimensions differ.
Bounded, thread-safe transaction store for the live network inspector.
A bounded body copy that has already passed through capture-time redaction. The byte array returned by bytes is defensive so an integration cannot mutate another sink's payload.
Which side of an HTTP exchange owns a persisted payload attachment.
Persists already-redacted payloads on the recorder's background worker.
Adapter-neutral metadata that integrations attach without mutating outgoing HTTP headers.
Consulted before a transaction is queued for capture, so an excluded request is never redacted, serialized, persisted, or exported. Implementations must be cheap and side-effect free: they run on the caller's (host application) thread.
Signed, scope-bound cursor so a cursor cannot be reused with different filters.
Exports captured network transactions. Inputs are NetworkCapture values rather than raw requests, so all output is constrained to the capture pipeline's redacted fields.
Bridges redacted capture to the bounded transaction store without affecting host behavior. When enabled is false, record returns immediately without building a capture or touching store — the disabled build never redacts, serializes, or stores a payload. Processing (URL parsing, redaction, and store persistence) is offloaded asynchronously from caller threads via a bounded queue (drop-oldest strategy on overflow).
Functions
Whether contentType identifies a body worth treating as text. Shared with the OkHttp/Ktor adapter modules so a response (or request) body is never buffered into memory on the host's calling thread only to be discarded here as binary -- adapters call this before reading any bytes to decide whether reading is worth doing at all. NetworkCaptureFactory itself still runs the same check (plus a UTF-8 decodability fallback for a body an adapter did read despite an absent content-type) once bytes are actually in hand.
Resolves selection against this store, bounded to NetworkTransactionQuery.MAX_PAGE_LIMIT rows. baseQuery supplies any additional filters (method, host, status, free-text search, ...) layered on top of ExportSelection.All or ExportSelection.TimeRange; it is ignored for ExportSelection.Ids, which is always an exact match regardless of filters -- a caller who picked specific rows expects exactly those rows back, not a filtered subset of them.