> [Agent navigation index](/llms.txt)

# Public API reference

This is the exhaustive Brix-owned package surface. Start with the linked skill for task guidance; use this page to discover importable values and types. [`public-api.json`](https://github.com/eberrydigital/brix-js/blob/main/docs/public-api.json) is the executable snapshot checked against the built `brix` and `@brix/react` packages.

## Configuration and builds

### `brix/config`

Values: `defineBrixOxfmtConfig`, `defineBrixOxlintConfig`, `defineBrixLibraryBuildConfig`, `defineBrixOpenApiConfig`. Type: `BrixOpenApiConfig`.

JSON baselines: `brix/config/tsconfig/application`, `/config/tsconfig/react-application`, `/config/tsconfig/library`, and `/config/tsconfig/ui-library`.

Owner: [managing projects](/docs/cli).

### `brix/vite`

Value: `defineBrixConfig`. Types: `DefineBrixConfigOptions`, `BrixViteConfig`, and `BrixPlatform` (`"node" | "aws" | "cloudflare" | "fastly"`; options also include `server`, `assetPrefix`, `assetOutDir`, `panda`, and the constrained `vite` escape hatch). Worker platforms are fully bundled for a Web Worker graph and cannot depend on Node APIs. This is the Hono and Preact-islands application configuration; React SPAs use `@brix/react/vite`.

Owner: [framework](/docs/islands).

### `brix/panda`

Value: `defineBrixTheme`. Types: `AnimationStyles`, `BrixTheme`, `CompositionStyles`, `CssKeyframes`, `GlobalStyleObject`, `LayerStyles`, `RecipeConfig`, `RecipeVariantRecord`, `SemanticTokens`, `SlotRecipeConfig`, `SlotRecipeVariantRecord`, `SystemStyleObject`, `TextStyles`, `Tokens`. This curated authoring surface supports themes and generated `#brix/panda/*` declarations without exposing Panda's full configuration API.

Owner: [styling](/docs/styling).

## Contracts and requests

### `brix/contracts`

Values: `ApiRequestError`, `buildApiUrl`, `createApiClient`, `createApiContract`, `createMarkdownIndex`, `createPageContract`, `createPathPrefix`, `decideFragmentCache`, `decidePageCache`, `defineBrix`, `executeApi`, `getMarkdownIndexPath`, `getPath`, `matchBrixEdgeRoute`, `mergeBrixManifests`, `stripBrixPageRepresentationMarker`.

Types: `ApiDefinitionBase`, `ApiRequestErrorKind`, `ApiWithBody`, `ApiWithoutBody`, `AssertConsistentParams`, `BrixApiManifestRoute`, `BrixApplicationManifest`, `BrixApplicationManifestRoute`, `BrixApplicationManifestV1`, `BrixApplicationManifestV2`, `BrixCacheHint`, `BrixDefinition`, `BrixEdgeManifest`, `BrixEdgeManifestRoute`, `BrixFragmentCacheDecision`, `BrixFragmentManifestRoute`, `BrixLocalePartition`, `BrixManifestMethod`, `BrixManifestRouteBase`, `BrixManifestRouteKind`, `BrixMarkdownIndexManifestRoute`, `BrixPageAlias`, `BrixPageCacheDecision`, `BrixPageManifestRoute`, `BrixPageManifestRouteV1`, `CreateMarkdownIndex`, `CreatePageContract`, `ExecuteApiOptions`, `ExecuteResult`, `InferBody`, `InferBodyInput`, `InferPageParams`, `InferPageQuery`, `InferPageQueryInput`, `InferPageRepresentations`, `InferParams`, `InferQuery`, `InferQueryInput`, `InferResponse`, `InferResponseInput`, `MarkdownIndexDefinition`, `PageContract`, `PageRepresentation`, `PathParams`, `PathParamsFromPaths`, `QueryParam`, `ResponseType`, `ResultPromise`, `RetryConfig`, `WithParams`, `WithoutParams`.

Owners: [API routes](/docs/api-routes) and [page routes](/docs/pages). Use `buildApiUrl` only when a contract URL is needed without executing it; `getPath` is the locale-aware page URL builder.

API contracts are universal runtime values and do not require a Brix application or route. Generated
contract libraries may use `executeApi` directly from browsers, Node services, workers, libraries, and
external applications that provide the standard Fetch API. `brix/contracts` remains independent of
`brix/server`, Hono, route discovery, and application setup.

`createApiClient(options)` (also on `defineBrix()`) returns an immutable `ApiClient` whose `execute`
has exactly the `executeApi` overloads and `ResultPromise` inference. `ApiClientOptions` binds base URL,
headers, timeout, retry, cache, redirect, Fetch `credentials`, validation and fetch-wrapper defaults. Headers may be a
record or a synchronous/asynchronous resolver evaluated once per execution. Call headers merge
case-insensitively and win; other call options replace defaults, including `cache: false`.
Response type and cancellation signals remain per-call. Keep privileged credentials and configured
server cache capabilities in server-only modules; use request-scoped closures for user credentials.
Omitting `credentials` preserves Fetch's `same-origin` default. Data-cache identity normalizes that
default and partitions other credential modes.

Runtime-neutral cache capability types: `ApiCache`, `ApiCacheRequest`, `ApiCacheValue`. `ExecuteApiOptions.cache`
accepts an explicitly created data-cache option or `false`; no cache implementation enters the
universal contract bundle. Existing `ResultPromise` and response-schema inference are preserved.

### `brix/markdown`

Values: `isMarkdownContent`, `isMarkdownDocument`, `isMarkdownDocumentContent`, `isMarkdownIndexDocument`, `md`, `serializeMarkdownDocument`, `serializeMarkdownDocumentWithIndex`, `serializeMarkdownIndexDocument`.

Types: `MarkdownBlock`, `MarkdownContent`, `MarkdownDocument`, `MarkdownDocumentContent`, `MarkdownFragment`, `MarkdownIndexDocument`, `MarkdownInline`, `MarkdownListItem`, `MarkdownTableAlignment`.

This is the safe structured authoring and serialization surface for explicit page and index Markdown representations. Translation-enabled callbacks use the project-bound server `getTranslator`; they do not run the Preact translation provider. Owner: [rendering agent-friendly pages](/docs/markdown).

### `brix/hooks`

Values: `createTranslationHooks`, `TranslationProvider`, `useApi`, `useCallback`, `useComputed`, `useEffect`, `useLocalStorage`, `useMemo`, `useRef`, `useSessionStorage`, `useSignal`, `useState`, `useStorage`. Types: `ApiError`, `UseApiOptions`.

This is the Brix Preact binding. React components use the separately installed `@brix/react` adapter, including ordinary React APIs and the Brix hooks `useApi`, `useComputed`, and `useSignal`.

`useApi(contract, { client })` optionally uses a native `ApiClient` in either binding. Defined hook
options override client defaults, including the same `ApiCache | false` policy as imperative calls.
The hook also forwards `credentials`. Exceptions or rejected promises from `onSuccess` and `onError`
are logged and do not replace the execution Result or alter request state.
Both are uncached by default. Configured cache-first calls share data and pending loads; each caller
retains cancellation and validation. Resolved headers and URLs enter hashed identity; cookie-only
sessions require explicit private session scopes and rotation/invalidation on identity changes.
After manual execution, cached JSON GET hooks observe successful local writes and refresh after
matching invalidation. Awaiting invalidation confirms storage completion, not background refresh;
old data remains visible during loading/errors. Reset/unmount/new execution releases the old query.
Mounting does not fetch, and `cache: false` bypasses observation. Notifications stay within one
DataCache coordinator, never across tabs, replicas or browser/server instances.
Reset/remount old-user UI on logout. The same-origin default and Result inference remain
simple; no hook-specific cache owner or global registry is involved.

Owners: [API routes](/docs/api-routes) and [managing translations](/docs/translations).

### `brix/hooks/adapter`

Values: `createStorageHooks`, `createUseApi`. Types: `ApiError`, `HooksRuntime`, `StorageHooksRuntime`, `UseApiHook`, `UseApiOptions`.

This is the binding-author boundary used by the separately distributed `@brix/react` package. Application components use `brix/hooks` or `@brix/react` instead.

### `@brix/react`

Managed React runtime and Brix hooks for first-class React applications and integrated external React clients. Use `@brix/react/client` for `createRoot`, JSX runtime subpaths for React TSX, and `@brix/react/contentful` plus `/contentful/icons` for the Contentful preset. Brix SSR and islands remain Preact-only.

### `@brix/react/vite`

Value: `defineBrixReactConfig`. It configures the root `index.html` React SPA entry, React Fast Refresh, and a single production build to `dist`. Its constrained `vite` option supports project-specific Vite configuration; Contentful apps set `vite.base` to `"./"`.

## Data reuse

### `brix/cache`, `brix/cache/dynamodb`, and `brix/cache/fastly`

Values: `createDataCache`, `createMemoryDataCacheStore`; the DynamoDB subpath exports
`createDynamoDataCacheStore`; the Fastly subpath exports `createFastlyKvDataCacheStore`. Types:
`CacheDuration`, `DataCache`, `DataCacheConfig`, `DataCachePolicy`, `DataCacheEvent`, `DataCacheStore`,
`DataCacheEntry`, `DataCacheOperationOptions`, `DynamoDataCacheStoreOptions`,
`FastlyKvDataCacheStoreOptions`. A store reads `DataCacheEntry | undefined`, writes `void`, and
receives only an operation `AbortSignal` for read, write, and invalidation.

`brix/cache` is browser/server safe and uses Web Crypto, not Node or provider imports. Calling
`createDataCache()` creates an isolated bounded memory store; optional `namespace` (default `default`)
and `store` explicitly share persistent data across instances. Keep shared namespaces stable by
application/stage. `brix/cache/dynamodb` remains server-only and is supported only for
`platform: "aws"`; `brix/cache/fastly` uses native Fastly KV in a Fastly request and runs under
Viceroy when Fastly development is selected. Browser and server storage are distinct
instances/security scopes, not a global cache.

Configure `defineBrixServer(brix, { dataCache })` to obtain the project-bound `dataCache`, or use
`createDataCache` directly. `dataCache` may be a request callback; in that form call
`brixServer.dataCache(c)` to obtain its request-memoized cache. Pass `dataCache.public("1h")` or `dataCache.private(sessionScope, "1m")`
to native Contentful clients, JSON GET `executeApi` calls, configured API clients and `useApi`.
Await `dataCache.invalidate(contract)` for every variant of a contract in the namespace, use string
tags for narrower grouping, or `invalidateAll()` for that namespace. This does not automatically
update mounted hook state, purge a different browser/server store, or invalidate edge responses.
Policies accept either `{ ttl, staleIfError? }` (cache-first) or `{ fallbackFor: "1h" }`
(network-first), plus optional tags/version; mixed and empty policies are invalid. Network-first
attempts origin on every call and falls back only after eligible transient failures exhaust retries,
within the lifetime since successful storage; fallback never extends that lifetime. Both modes read
the bounded store before starting origin. This adds lookup latency; store read failures still fail
open and a later successful origin response may still be written. Invalidation is eventual in shared
stores: in-flight work may repopulate an entry. Within one coordinator, a local generation prevents
stale observer publication and prevents new callers from joining work started before local
invalidation; it is not a cross-coordinator guarantee.
Best-effort `onEvent` callback failures cannot fail cache operations.
Owner: [caching data](/docs/caching).

## Server

### `brix/server`

Values: `BRIX_FRAGMENT_MODE_DEFER`, `BRIX_FRAGMENT_MODE_HEADER`, `BRIX_FRAGMENT_PATH_PREFIX`, `BRIX_REQUEST_ID`, `composeFragments`, `createBrixApp`, `defineBrixAuth`, `defineBrixServer`.

Types: `ApiRoute`, `ApiRouteOptionsBase`, `ApiRouteOptionsWithAuth`, `ApiRouteOptionsWithoutAuth`, `BrixAuth`, `BrixContentfulPreviewOptions`, `BrixContentSecurityPolicy`, `BrixObservabilityOptions`, `BrixRequestEndEvent`, `BrixRequestErrorEvent`, `BrixRequestEvent`, `BrixRequestStartEvent`, `BrixSecurityOptions`, `BrixServerDefinition`, `BrixServiceMetadata`, `BrixTranslationsServerOptions`, `CacheOption`, `ComposeFragmentsOptions`, `DefineBrixServerOptions`, `FragmentDescriptor`, `FragmentEndpointConfig`, `FragmentParams`, `FragmentProps`, `FragmentPropValue`, `FragmentRoute`, `MarkdownIndexDocumentCallback`, `MarkdownIndexRoute`, `MarkdownIndexRouteOptions`, `PageCacheConfig`, `PageCacheOption`, `PageCacheQueryConfig`, `PageRoute`, `PageRouteAuthOption`, `PageRouteLoadData`, `RoutingConfig`, `TranslationFallbackInput`, `TranslationLoaderInput`, `TranslationMissingEvent`, `ValidatedData`.

Applications obtain `createApiRoute`, `createFragment`, `createMarkdownIndexRoute`, `createPageRoute`, typed `getLocale`, and request-memoized `createService(c => value)` from `defineBrixServer`; translated applications also receive `getTranslator`. Passing an inert `BrixEnv<T>` declaration as `env` gives handlers parsed `c.env`. Request callbacks may also configure `dataCache` and service metadata. This server boundary does not expose universal contract, URL, or HTTP-client factories. The lower-level routing constructor is not public. Owners: [managing servers](/docs/server), [managing translations](/docs/translations), and [composing fragments](/docs/fragments).

Deferred fragment URLs reserve `__brix_locale`; fragment endpoint schemas cannot declare
that key, and requests validate it against configured locales. Schema-2 fragment manifest entries may
include their finite locale keys for explicit edge-cache partitioning.

## Translations

### `brix/translations`

Values: `createTranslator`, `defineTranslations`, `TRANSLATION_PAYLOAD_ID`.

Types: `Translate`, `TranslationDefinition`, `TranslationDictionary`, `TranslationKeyOf`, `TranslationLookupOptions`, `TranslationPayload`.

This browser/server-safe, UI-neutral surface defines strict message-key identity, opaque string lookup, and hydration payloads. Providers and typed hooks come from the matching `brix/hooks` or `@brix/react` UI binding. Applications provide server loading through `defineBrixServer`.

Owner: [managing translations](/docs/translations).

## Islands

### `brix/islands`

Values: `AppStateWrapper`, `createStore`, `getWindow`, `parse`, `sharedSignal`, `stringify`.

Types: `BaseAppState`, `CustomParser`, `Island`, `IslandManifest`, `IslandModule`, `PageProps`, `Stringifiers`.

These are browser/server-safe island primitives, serialization types, and state helpers. `BaseAppState.locale` is the finalized request locale. Application state providers and custom serialization must round-trip through the corresponding server and client boundaries.

`IslandManifest.staticImports` optionally maps absolute asset URLs to their static JavaScript imports
for dependency-aware preloads. Generated mounts pass `AppStateWrapper.payloadContext` (the hydration
root and script suffix) so optional renderers can read the correct fragment's data without becoming
dependencies of every island. Ordinary applications do not supply these fields manually.

### `brix/islands/client`

Values: `getFragmentRoot`, `init`, `initFragments`, `reviveIsland`. Types: `InitConfig`, `InitIsland`.

`init` hydrates immediate islands before resolving, then only schedules idle and lazy work. Hydration scheduling is page-lifetime infrastructure with no disposal guarantee. The remaining values support framework-managed fragment initialization; ordinary applications do not call them.

`init(islands, config, root?)` applies priority scheduling to a document. Passing a fragment root
instead eagerly prefetches and activates the listed islands only within that root, without publishing
document-level hydration completion.

### `brix/islands/server`

Values: `AppStateWrapper`, `createHtmlTemplate`, `createIslandRenderer`, `Head`, `Styling`. Types: `HtmlTemplateConfig`, `IslandRendererConfig`.

These are the supported server rendering extension points. Contexts, asset middleware, interception, and serializer construction remain framework internals composed by `createBrixApp`.

Owner: [framework](/docs/islands); server assembly belongs to [managing servers](/docs/server), and stores belong to [stores](/docs/stores).

## Typed results

### `brix/result`

Values: `Result`, `TaggedError`, `resultPromise`. Types: `ResultPromise`, `Ok`, `Err`.

Owner: [handling results](/docs/results).

## Environment

### `brix/env`

Value: `createEnv`. Type: `BrixEnv`.

`createEnv<T>()` returns an inert `BrixEnv<T>` declaration with `parse(snapshot)`. Mark its module `"use server"` even though declaration is web-safe, then pass it to `defineBrixServer(brix, { env })`; the deployment adapter supplies the snapshot and Brix populates each request's parsed, deeply frozen `c.env`. Use the generated `CoercedEnvSchema` type from the application's `env/.env.schema`. Varlock owns application validation and coercion. Commands refresh types automatically without resolving providers; checks and CI detect stale types without writes. Explicit CLI paths layer schema/base/stage/local/overrides under `env/`, without root or bare dotenv discovery. `brix env types` explicitly generates types and `brix env upload <stage>` validates schema/base/stage before upload. Upload is currently AWS-only; Cloudflare and Fastly snapshot publication is not implemented. There is no separately authored Zod schema.

### `brix/env/script`

Value: `loadEnv`.

`loadEnv<T>()` retains explicit script loading from Varlock's resolved payload or the exact AWS Secrets Manager `SECRETS_ARN`/`SECRETS_VERSION` snapshot. Applications bind it in `src/env.script.ts` and scripts import `#brix/env/script`; request-runtime modules must use `c.env` instead.

Owner: [environment and secrets](/docs/environment).

### `brix/plugin`

Side-effect-only Varlock plugin entry, selected by `@plugin(brix)` in `env/.env.schema`. Registers Brix's pinned official 1Password plugin without a consumer plugin dependency or hoisting. Use `@initOp(token=$OP_SERVICE_ACCOUNT_TOKEN, allowAppAuth=true)` to initialize it. This tooling entry is not an application runtime import.

## Storage

### `brix/storage`

Values: `createStorageKey`, `getStorageItem`, `setStorageItem`, `removeStorageItem`, `getLocalStorageItem`, `setLocalStorageItem`, `removeLocalStorageItem`, `getSessionStorageItem`, `setSessionStorageItem`, `removeSessionStorageItem`. Type: `StorageKey`. Reactive hooks come from `brix/hooks` or `@brix/react`.

Owner: [storage](/docs/storage).

## Contentful

### `brix/contentful`

Values: `ContentfulEntryNotFoundError`, `ContentfulRequestError`, `ContentfulSyncError`, `contentfulWebhookMiddleware`, `createContentfulClient`, `createContentfulCmaClient`, `getAllContentTypesContract`, `getAssetContract`, `getContentTypesContract`, `getEntriesContract`, `isAsset`, `isDeletedAsset`, `isDeletedEntry`, `isEntry`, `isLink`, `resolveLinks`, `syncContract`, `verifyContentfulWebhook` (async, using native Web Crypto).

Types: `Asset`, `AssetFields`, `AssetFile`, `ContentfulClientConfig`, `ContentfulCmaClientConfig`, `ContentfulCollection`, `ContentfulMetadata`, `ContentfulWebhookMiddlewareOptions`, `ContentType`, `ContentTypeField`, `ContentTypeValidation`, `DeletedAsset`, `DeletedEntry`, `Entry`, `FieldFilters`, `GetEntriesOptions`, `Link`, `RichTextDocument`, `RichTextMark`, `RichTextNode`, `SyncOptions`, `SyncPageResult`, `SyncResponse`, `SyncResult`, `Sys`.

Owner: [Contentful](/docs/contentful) and its focused references.

`contentfulWebhookMiddleware(secret, { clients: [contentful] })` composes signature verification with
validated Entry/Asset publish/unpublish/delete metadata, exact registered space/environment matching
and awaited native delivery-cache invalidation. Tombstones are required for unpublish/delete.
Unknown/malformed events return 400, invalid/unsigned signatures or topics 401, unmatched sources 403;
provider invalidation failures remain retryable errors. Duplicate delivery repeats broad environment
invalidation, not entry dependency inference. Only explicitly registered cached standard delivery
clients are accepted, never preview/CMA/custom-host clients. No implicit edge or browser purge occurs.
Omitting `clients` keeps verification-only middleware. The
[tested onboarding recipe](https://github.com/eberrydigital/brix-js/blob/main/docs/examples/contentful-site/README.md) supplies editable setup and route files.

### `brix/contentful/rendering`

Values: `CONTENTFUL_LOADED_DATA_ID`, `ContentfulRenderingProvider`, `contentfulEntryKey`, `createContentfulAdapterFactory`, `createContentfulRegistry`, `isContentfulAdapter`, `propsOf`, `renderContentfulEntry`.

Types: `ContentfulAdapter`, `ContentfulAttributes`, `ContentfulExtraProps`, `ContentfulMarkdownEntry`, `ContentfulMarkdownEntryOptions`, `ContentfulMarkdownProjection`, `ContentfulMarkdownRenderEntry`, `ContentfulPreviewApi`, `ContentfulPreviewControl`, `ContentfulPreviewControls`, `ContentfulPreviewOptions`, `ContentfulRegistry`, `ContentfulRenderEntry`, `DataAttributeSlots`, `Loaded`, `UnknownEntry`.

Application code normally defines conventional adapters with `createContentfulAdapterFactory` and transports entries opaquely to adapters or the generated dispatcher. Registry, provider, payload, and dispatch values support Brix's generated server and browser application projections.

### `brix/contentful/rendering/markdown`

Value: `projectContentfulRichText`. Type: `ContentfulRichTextProjectionOptions`.

This server-only projection converts Contentful Rich Text into Brix's structured Markdown model without exposing Contentful to the generic Markdown package.

### `brix/contentful/rendering/registry`

Generated application registry. Values: `markdownEntry`, `renderEntry`.

Owner: [Contentful rendering adapters](/docs/contentful).

### `brix/contentful/app`

Browser facade for the managed Contentful App SDK. Use it from the React entry generated by `brix create contentful-app` rather than depending on the SDK directly.

Values: `init`, `locations`. Types: `ConfigAppSDK`, `DialogAppSDK`, `EditorAppSDK`, `FieldAppSDK`, `HomeAppSDK`, `KnownAppSDK`, `PageAppSDK`, `SidebarAppSDK`.

Owner: [Contentful Apps](/docs/contentful).

## Storybook

### `brix/storybook`

Values: `defineBrixStorybookTestConfig`, `withBrixStorybook`, `workspaceStoryGlobs`, `workspaceStorySources`. Type: `BrixStorybookOptions`.

The managed browser configuration generates the Contentful rendering registry from directly relevant
story sources and removes server loaders and Markdown projections. Contentful stories supply fixture
data through `ContentfulRenderingProvider`. Ordinary stories need no Contentful setup; content types used by the catalog must map
unambiguously to one adapter.

### `brix/storybook/test`

Values: `createBrixTranslationPreview`, `expect`, `fn`, `userEvent`, `within`. Types: `Meta`, `Preview`, `StoryObj`.

Owner: [managing Storybook](/docs/storybook).

## Testing

### `brix/test`

Brix values: `createTestHarness`, `mockContract`, `mockContractError`, `mockFragment`. Types: `ApiTestResponse`, `FragmentMock`, `HtmlPageTestResponse`, `MarkdownPageTestResponse`, `MockContractRequest`, `MockContractResolver`, `MockData`, `PageTestResponse`, `TestHarness`, `TestHarnessConfig`, `TestRequestDefaults`, `TranslationTestDictionaries`. The entry point also re-exports the project-pinned Vitest authoring API.

`testDataCacheStore` registers the shared data-cache adapter conformance suite; use it in node tests.

Routes retain their contracts, so the harness infers request bodies, params, queries, fragment endpoint params and page query, localized page paths, and responses from the route alone. `testPage({ fragments })` transparently intercepts ordinary registered components and composes real fragment routes or typed `mockFragment` replacements in-process through the production protocol. Successful API responses expose `expectSuccess()` for a typed non-optional payload. A `createApp` factory runs each request through fresh application infrastructure; `withOptions` binds reusable setup, header, cookie, and fragment scenarios. `setupContext` supports synchronous or asynchronous fixture setup. Contract mocks accept static fixtures or typed request-aware resolvers and validate schema-backed requests and responses; they are only for HTTP-consuming client code, while route and server behavior use the harness.

### `brix/test/browser`

Values: `page`, `render`, `renderWithTranslations`, `userEvent`.

Owner: [testing](/docs/testing).

### `brix/test/e2e`

Values: `test`, `expect`, `defineBrixE2EConfig`. The Playwright-backed `test` fixture lazily
prepares browsers. Conventional `e2e/` tests run through `brix test` with a managed development
server and failure artifacts; `defineBrixE2EConfig` accepts native Playwright configuration
for optional `brix.e2e.ts` overrides. See [managed E2E](/docs/testing).

### `brix/test/benchmark`

Values: `runHydrationBenchmark`, `hydrationBenchmarkProfiles`, `expect`. Types: `HydrationBenchmarkOptions`, `HydrationBenchmarkProfile`, `HydrationBenchmarkReport`, `HydrationBenchmarkSample`, `HydrationBenchmarkScenario`, `HydrationBenchmarkSnapshot`, `Page`.

Node-only production-URL comparisons for Brix/Preact islands versus full-page hydration. Named SSR controls provide per-boundary mount readiness, with separate deferred activation, cold/warm CPU/network profiles, shared functional verification, and JSON/Markdown reports. The harness does not build, start, or rewrite applications; readiness is not paint or INP. See [consumer hydration benchmarks](/docs/testing).

## Dependency facades

Brix intentionally exposes approved dependency APIs so consumers do not add independently versioned framework packages:

- Zod: `/zod`
- Preact: `/preact`, `/preact/compat`, `/preact/hooks`, `/preact/jsx-runtime`, `/preact/jsx-dev-runtime`
- Signals primitives: `/signals`
- Hono: `/hono`, `/hono/aws-lambda`, `/hono/cookie`, `/hono/cors`, `/hono/factory`, `/hono/http-exception`
- MSW: `/msw`, `/msw/browser`, `/msw/node`

The upstream package defines the member-level API for each facade except `/signals`, which intentionally omits component hooks so `useSignal` and `useComputed` have one Prefresh-safe home in `/hooks`. Brix owns the version and supported import path. Do not add the underlying package directly.

## Complete export inventory

This inventory is generated from the public API snapshot verified against the built packages. Runtime values and type-only exports are listed separately. Dependency facades delegate member-level behavior to their pinned upstream packages.

### `brix/cache`

Values: `createDataCache`, `createMemoryDataCacheStore`.

Types: `CacheDuration`, `DataCache`, `DataCacheConfig`, `DataCacheEntry`, `DataCacheEvent`, `DataCacheOperationOptions`, `DataCachePolicy`, `DataCacheStore`.

### `brix/cache/dynamodb`

Values: `createDynamoDataCacheStore`.

Types: `DynamoDataCacheStoreOptions`.

### `brix/cache/fastly`

Values: `createFastlyKvDataCacheStore`.

Types: `FastlyKvDataCacheStoreOptions`.

### `brix/config`

Values: `defineBrixLibraryBuildConfig`, `defineBrixOpenApiConfig`, `defineBrixOxfmtConfig`, `defineBrixOxlintConfig`.

Types: `BrixOpenApiConfig`.

### `brix/config/tsconfig/application`

JSON TypeScript configuration baseline.

### `brix/config/tsconfig/library`

JSON TypeScript configuration baseline.

### `brix/config/tsconfig/react-application`

JSON TypeScript configuration baseline.

### `brix/config/tsconfig/ui-library`

JSON TypeScript configuration baseline.

### `brix/contentful`

Values: `ContentfulEntryNotFoundError`, `ContentfulRequestError`, `ContentfulSyncError`, `contentfulWebhookMiddleware`, `createContentfulClient`, `createContentfulCmaClient`, `getAllContentTypesContract`, `getAssetContract`, `getContentTypesContract`, `getEntriesContract`, `isAsset`, `isDeletedAsset`, `isDeletedEntry`, `isEntry`, `isLink`, `resolveLinks`, `syncContract`, `verifyContentfulWebhook`.

Types: `Asset`, `AssetFields`, `AssetFile`, `ContentfulClientConfig`, `ContentfulCmaClientConfig`, `ContentfulCollection`, `ContentfulMetadata`, `ContentfulWebhookMiddlewareOptions`, `ContentType`, `ContentTypeField`, `ContentTypeValidation`, `DeletedAsset`, `DeletedEntry`, `Entry`, `FieldFilters`, `GetEntriesOptions`, `Link`, `RichTextDocument`, `RichTextMark`, `RichTextNode`, `SyncOptions`, `SyncPageResult`, `SyncResponse`, `SyncResult`, `Sys`.

### `brix/contentful/app`

Values: `init`, `locations`.

Types: `ConfigAppSDK`, `DialogAppSDK`, `EditorAppSDK`, `FieldAppSDK`, `HomeAppSDK`, `KnownAppSDK`, `PageAppSDK`, `SidebarAppSDK`.

### `brix/contentful/rendering`

Values: `CONTENTFUL_LOADED_DATA_ID`, `contentfulEntryKey`, `ContentfulRenderingProvider`, `createContentfulAdapterFactory`, `createContentfulRegistry`, `isContentfulAdapter`, `propsOf`, `renderContentfulEntry`.

Types: `ContentfulAdapter`, `ContentfulAttributes`, `ContentfulExtraProps`, `ContentfulMarkdownEntry`, `ContentfulMarkdownEntryOptions`, `ContentfulMarkdownProjection`, `ContentfulMarkdownRenderEntry`, `ContentfulPreviewApi`, `ContentfulPreviewControl`, `ContentfulPreviewControls`, `ContentfulPreviewOptions`, `ContentfulRegistry`, `ContentfulRenderEntry`, `DataAttributeSlots`, `Loaded`, `UnknownEntry`.

### `brix/contentful/rendering/markdown`

Values: `projectContentfulRichText`.

Types: `ContentfulRichTextProjectionOptions`.

### `brix/contentful/rendering/registry`

Values: `markdownEntry`, `renderEntry`.

### `brix/contracts`

Values: `ApiRequestError`, `buildApiUrl`, `createApiClient`, `createApiContract`, `createMarkdownIndex`, `createPageContract`, `createPathPrefix`, `decideFragmentCache`, `decidePageCache`, `defineBrix`, `executeApi`, `getMarkdownIndexPath`, `getPath`, `matchBrixEdgeRoute`, `mergeBrixManifests`, `stripBrixPageRepresentationMarker`.

Types: `ApiCache`, `ApiCacheRequest`, `ApiCacheValue`, `ApiClient`, `ApiClientOptions`, `ApiDefinitionBase`, `ApiRequestErrorKind`, `ApiWithBody`, `ApiWithoutBody`, `AssertConsistentParams`, `BrixApiManifestRoute`, `BrixApplicationManifest`, `BrixApplicationManifestRoute`, `BrixApplicationManifestV1`, `BrixApplicationManifestV2`, `BrixCacheHint`, `BrixDefinition`, `BrixEdgeManifest`, `BrixEdgeManifestRoute`, `BrixFragmentCacheDecision`, `BrixFragmentManifestRoute`, `BrixLocalePartition`, `BrixManifestMethod`, `BrixManifestRouteBase`, `BrixManifestRouteKind`, `BrixMarkdownIndexManifestRoute`, `BrixPageAlias`, `BrixPageCacheDecision`, `BrixPageManifestRoute`, `BrixPageManifestRouteV1`, `CreateMarkdownIndex`, `CreatePageContract`, `ExecuteApiOptions`, `ExecuteResult`, `InferBody`, `InferBodyInput`, `InferPageParams`, `InferPageQuery`, `InferPageQueryInput`, `InferPageRepresentations`, `InferParams`, `InferQuery`, `InferQueryInput`, `InferResponse`, `InferResponseInput`, `MarkdownIndexDefinition`, `PageContract`, `PageRepresentation`, `PathParams`, `PathParamsFromPaths`, `QueryParam`, `ResponseType`, `ResultPromise`, `RetryConfig`, `WithoutParams`, `WithParams`.

### `brix/env`

Values: `createEnv`.

Types: `BrixEnv`.

### `brix/env/script`

Values: `loadEnv`.

### `brix/hono`

Re-exports the project-pinned API from `hono`.

### `brix/hono/aws-lambda`

Re-exports the project-pinned API from `hono/aws-lambda`.

### `brix/hono/cookie`

Re-exports the project-pinned API from `hono/cookie`.

### `brix/hono/cors`

Re-exports the project-pinned API from `hono/cors`.

### `brix/hono/factory`

Re-exports the project-pinned API from `hono/factory`.

### `brix/hono/http-exception`

Re-exports the project-pinned API from `hono/http-exception`.

### `brix/hooks`

Values: `createTranslationHooks`, `TranslationProvider`, `useApi`, `useCallback`, `useComputed`, `useEffect`, `useLocalStorage`, `useMemo`, `useRef`, `useSessionStorage`, `useSignal`, `useState`, `useStorage`.

Types: `ApiError`, `UseApiOptions`.

### `brix/hooks/adapter`

Values: `createStorageHooks`, `createUseApi`.

Types: `ApiError`, `HooksRuntime`, `StorageHooksRuntime`, `UseApiHook`, `UseApiOptions`.

### `brix/islands`

Values: `AppStateWrapper`, `createStore`, `getWindow`, `parse`, `sharedSignal`, `stringify`.

Types: `BaseAppState`, `CustomParser`, `Island`, `IslandManifest`, `IslandModule`, `PageProps`, `Stringifiers`.

### `brix/islands/client`

Values: `getFragmentRoot`, `init`, `initFragments`, `reviveIsland`.

Types: `InitConfig`, `InitIsland`.

### `brix/islands/server`

Values: `AppStateWrapper`, `createHtmlTemplate`, `createIslandRenderer`, `Head`, `Styling`.

Types: `HtmlTemplateConfig`, `IslandRendererConfig`.

### `brix/markdown`

Values: `isMarkdownContent`, `isMarkdownDocument`, `isMarkdownDocumentContent`, `isMarkdownIndexDocument`, `md`, `serializeMarkdownDocument`, `serializeMarkdownDocumentWithIndex`, `serializeMarkdownIndexDocument`.

Types: `MarkdownBlock`, `MarkdownContent`, `MarkdownDocument`, `MarkdownDocumentContent`, `MarkdownFragment`, `MarkdownIndexDocument`, `MarkdownInline`, `MarkdownListItem`, `MarkdownTableAlignment`.

### `brix/msw`

Re-exports the project-pinned API from `msw`.

### `brix/msw/browser`

Re-exports the project-pinned API from `msw/browser`.

### `brix/msw/node`

Re-exports the project-pinned API from `msw/node`.

### `brix/panda`

Values: `defineBrixTheme`.

Types: `AnimationStyles`, `BrixTheme`, `CompositionStyles`, `CssKeyframes`, `GlobalStyleObject`, `LayerStyles`, `RecipeConfig`, `RecipeVariantRecord`, `SemanticTokens`, `SlotRecipeConfig`, `SlotRecipeVariantRecord`, `SystemStyleObject`, `TextStyles`, `Tokens`.

### `brix/plugin`

### `brix/preact`

Re-exports the project-pinned API from `preact`.

### `brix/preact/compat`

Values: `createElement`, `forwardRef`.

Types: `ComponentProps`, `ComponentType`, `JSX`.

### `brix/preact/hooks`

Re-exports the project-pinned API from `preact/hooks`.

### `brix/preact/jsx-dev-runtime`

Re-exports the project-pinned API from `preact/jsx-dev-runtime`.

### `brix/preact/jsx-runtime`

Re-exports the project-pinned API from `preact/jsx-runtime`.

### `brix/result`

Values: `Result`, `resultPromise`, `TaggedError`.

Types: `Err`, `Ok`, `ResultPromise`.

### `brix/server`

Values: `BRIX_FRAGMENT_MODE_DEFER`, `BRIX_FRAGMENT_MODE_HEADER`, `BRIX_FRAGMENT_PATH_PREFIX`, `BRIX_REQUEST_ID`, `composeFragments`, `createBrixApp`, `defineBrixAuth`, `defineBrixServer`.

Types: `ApiRoute`, `ApiRouteOptionsBase`, `ApiRouteOptionsWithAuth`, `ApiRouteOptionsWithoutAuth`, `BrixAuth`, `BrixContentfulPreviewOptions`, `BrixContentSecurityPolicy`, `BrixObservabilityOptions`, `BrixRequestEndEvent`, `BrixRequestErrorEvent`, `BrixRequestEvent`, `BrixRequestStartEvent`, `BrixSecurityOptions`, `BrixServerDefinition`, `BrixServiceMetadata`, `BrixTranslationsServerOptions`, `CacheOption`, `ComposeFragmentsOptions`, `DefineBrixServerOptions`, `FragmentDescriptor`, `FragmentEndpointConfig`, `FragmentParams`, `FragmentProps`, `FragmentPropValue`, `FragmentRoute`, `MarkdownIndexDocumentCallback`, `MarkdownIndexRoute`, `MarkdownIndexRouteOptions`, `PageCacheConfig`, `PageCacheOption`, `PageCacheQueryConfig`, `PageRoute`, `PageRouteAuthOption`, `PageRouteLoadData`, `RoutingConfig`, `TranslationFallbackInput`, `TranslationLoaderInput`, `TranslationMissingEvent`, `ValidatedData`.

### `brix/signals`

Values: `action`, `batch`, `computed`, `createModel`, `effect`, `signal`, `Signal`, `untracked`.

Types: `Model`, `ModelConstructor`, `ModelFactory`, `ReadonlySignal`.

### `brix/storage`

Values: `createStorageKey`, `getLocalStorageItem`, `getSessionStorageItem`, `getStorageItem`, `removeLocalStorageItem`, `removeSessionStorageItem`, `removeStorageItem`, `setLocalStorageItem`, `setSessionStorageItem`, `setStorageItem`.

Types: `StorageKey`.

### `brix/storybook`

Values: `defineBrixStorybookTestConfig`, `withBrixStorybook`, `workspaceStoryGlobs`, `workspaceStorySources`.

Types: `BrixStorybookOptions`.

### `brix/storybook/test`

Values: `createBrixTranslationPreview`, `expect`, `fn`, `userEvent`, `within`.

Types: `Meta`, `Preview`, `StoryObj`.

### `brix/test`

Values: `createTestHarness`, `mockContract`, `mockContractError`, `mockFragment`, `testDataCacheStore`.

Types: `ApiTestResponse`, `FragmentMock`, `HtmlPageTestResponse`, `MarkdownPageTestResponse`, `MockContractRequest`, `MockContractResolver`, `MockData`, `PageTestResponse`, `TestHarness`, `TestHarnessConfig`, `TestRequestDefaults`, `TranslationTestDictionaries`.

Re-exports the project-pinned API from `vitest`.

### `brix/test/benchmark`

Values: `expect`, `hydrationBenchmarkProfiles`, `runHydrationBenchmark`.

Types: `HydrationBenchmarkOptions`, `HydrationBenchmarkProfile`, `HydrationBenchmarkReport`, `HydrationBenchmarkSample`, `HydrationBenchmarkScenario`, `HydrationBenchmarkSnapshot`, `Page`.

### `brix/test/browser`

Values: `page`, `render`, `renderWithTranslations`, `userEvent`.

### `brix/test/e2e`

Values: `defineBrixE2EConfig`, `expect`, `test`.

### `brix/translations`

Values: `createTranslator`, `defineTranslations`, `TRANSLATION_PAYLOAD_ID`.

Types: `Translate`, `TranslationDefinition`, `TranslationDictionary`, `TranslationKeyOf`, `TranslationLookupOptions`, `TranslationPayload`.

### `brix/vite`

Values: `defineBrixConfig`.

Types: `BrixPlatform`, `BrixViteConfig`, `DefineBrixConfigOptions`.

### `brix/zod`

Re-exports the project-pinned API from `zod`.

### `@brix/react`

Values: `act`, `Activity`, `cache`, `cacheSignal`, `captureOwnerStack`, `Children`, `cloneElement`, `Component`, `createContext`, `createElement`, `createRef`, `createTranslationHooks`, `forwardRef`, `Fragment`, `isValidElement`, `lazy`, `memo`, `Profiler`, `PureComponent`, `startTransition`, `StrictMode`, `Suspense`, `TranslationProvider`, `use`, `useActionState`, `useApi`, `useCallback`, `useComputed`, `useContext`, `useDebugValue`, `useDeferredValue`, `useEffect`, `useEffectEvent`, `useId`, `useImperativeHandle`, `useInsertionEffect`, `useLayoutEffect`, `useLocalStorage`, `useMemo`, `useOptimistic`, `useReducer`, `useRef`, `useSessionStorage`, `useSignal`, `useState`, `useStorage`, `useSyncExternalStore`, `useTransition`, `version`.

Types: `ActionDispatch`, `ActivityProps`, `ApiError`, `Attributes`, `ChangeEvent`, `ChangeEventHandler`, `ClassAttributes`, `ComponentClass`, `ComponentProps`, `ComponentPropsWithoutRef`, `ComponentPropsWithRef`, `ComponentRef`, `ComponentType`, `Context`, `CSSProperties`, `DependencyList`, `Dispatch`, `EffectCallback`, `ElementRef`, `ElementType`, `ErrorInfo`, `EventHandler`, `FC`, `FormEvent`, `FormEventHandler`, `ForwardedRef`, `ForwardRefExoticComponent`, `FunctionComponent`, `HTMLAttributes`, `JSX`, `JSXElementConstructor`, `Key`, `KeyboardEvent`, `MouseEvent`, `MutableRefObject`, `NamedExoticComponent`, `PropsWithChildren`, `ReactElement`, `ReactNode`, `ReactPortal`, `Reducer`, `Ref`, `RefAttributes`, `RefCallback`, `RefObject`, `SetStateAction`, `SyntheticEvent`, `TransitionFunction`, `UseApiOptions`.

### `@brix/react/client`

Re-exports the project-pinned API from `react-dom/client`.

### `@brix/react/contentful`

Re-exports the project-pinned API from `@contentful/f36-components`.

### `@brix/react/contentful/icons`

Re-exports the project-pinned API from `@contentful/f36-icons`.

### `@brix/react/jsx-dev-runtime`

Values: `Fragment`, `jsxDEV`.

Types: `JSX`.

### `@brix/react/jsx-runtime`

Values: `Fragment`, `jsx`, `jsxs`.

Types: `JSX`.

### `@brix/react/vite`

Values: `defineBrixReactConfig`.

Types: `DefineBrixReactConfigOptions`.
