# Supported public APIs

Import supported package entries, never private implementation paths. The [generated API inventory](generated-api.md) reflects exports at the site's tested revision; the source links below identify those entry files. Curated guides explain how to use the contracts.

## Portable reporting

| Entry                          | Main public operations                                                                                                                                         | Source                                           |
| ------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------ |
| `@snagbadger/reporting`        | `createBugReport`, `parseBugReport`, `reviseBugReport`, `removeReportEvidence`; shared evidence/expectation/timestamp validation and verification invalidation | [Entry](../../../../sdk/reporting/src/index.ts)  |
| `@snagbadger/reporting/bundle` | `createReportBundle`, `prepareReportExport`, `importReportBundle`, `submitBugReport`, `redactReportSecrets`, `IncompleteDeliveryError`                         | [Entry](../../../../sdk/reporting/src/bundle.ts) |
| `@snagbadger/capture`          | Portable `Evidence`, `RecordedInteraction`, `JsonValue` types                                                                                                  | [Entry](../../../../sdk/capture/src/index.ts)    |

The report model includes stable identity/revision, expected/actual behavior, hypotheses, authored steps, actual interactions, evidence, reproduction data and source snapshots. Functions-only reporting loads no React/CSS. Bundle/rendering behavior is an optional entry.

Start with [first portable report](../getting-started/first-bug-report.md); [canonical portable guidance](../../../integration/portable-reports.md) explains mutation, sanitization and delivery semantics. Capture types do not collect browser evidence.

## Catalog and execution

| Entry                         | Main public operations                                                                                                                                           | Source                                                    |
| ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- |
| `@snagbadger/agent-catalog`   | `discoverCatalog`, `selectCatalogTests`, `resolveCatalogTest`, `testContext`, `parseCatalog`, `selectTests`; catalog/source/test/section/settings and hook types | [Entry](../../../../agent-testing/catalog/src/index.ts)   |
| `@snagbadger/agent-execution` | `executeCatalog`; runtime, session, task packet, hook and execution option types                                                                                 | [Entry](../../../../agent-testing/execution/src/index.ts) |

The catalog consumes source paths/content; filesystem discovery belongs to tooling. Execution consumes a supplied `Runtime`; it does not secretly install tools or operate an MCP. [Runner commands](runner-commands.md) provide the filesystem bridge's supported CLI.

## Results and HTML view

| Entry                              | Main public operations                                                                                                                                                 | Source                                                    |
| ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- |
| `@snagbadger/agent-reporting`      | `parseTestRun`, `defaultRunPolicy`, `summarizeResult`, `appendAttempt`, `addResultComment`, `requestedScreenshots`, `assessRegressionCandidate`, `createBugFromResult` | [Entry](../../../../agent-testing/reporting/src/index.ts) |
| `@snagbadger/agent-reporting/html` | `createTestRunReport`, `parseRunReportView`; run-view/options types                                                                                                    | [Entry](../../../../agent-testing/reporting/src/html.ts)  |

Result and bug-report models remain distinct, sharing evidence/validation semantics. Read [runs and attempts](../concepts/runs-results-and-attempts.md) and [review/promotion](../guides/review-results-and-create-bug-reports.md) before interpreting summary results.

## Reporter composition and session lifecycle

| Entry                           | Main public operations                                                                                                                            | Source                                                       |
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ |
| `@snagbadger/configuration`     | `composeConfiguration`, `pipeConfiguration`, `removeAdapter`, `replaceAdapters`, `selectConfiguration`, `resolveConfiguration`, `resolveSettings` | [Entry](../../../../integrations/configuration/src/index.ts) |
| `@snagbadger/reporting/session` | `createReportingRuntime`; reporting adapter, session, selection and failure types                                                                 | [Entry](../../../../sdk/reporting/src/session.ts)            |
| `@snagbadger/embedding`         | `LauncherAdapter` type for host-owned mounting and disposal                                                                                       | [Entry](../../../../sdk/embedding/src/index.ts)              |

Capture also supplies portable `CaptureAdapter`, `ActiveCapture`, `CaptureOutput` and cancellation/context types. These interfaces support developer-owned integrations; they do not install a browser collector or launcher. See [configure reporting](../guides/configure-reporting.md) for a runnable empty session and the [implemented contracts](../../../architecture/reporting-contracts.md) for lifecycle and settings behavior.

## Experimental and reserved entries

`@snagbadger/reporting/theming-prototype` supplies the maintained experimental React component with separately imported layout/default/host styles. [Sample site](../../examples/sample-site.md) identifies simulated behavior. The empty reporting/browser entry is reserved; embedding supplies a launcher interface rather than a built-in working launcher.

All packages share one repository version. `formatVersion: 1` identifies serialized data formats independently of package version. No multi-version documentation or published release availability is implied.
