/** * Example: the custom-filters authoring and consumer surface, end to end. * * Three scenarios, each isolated in its own function: * * 1. Happy path (mock server): define a plugin with a custom field and a * registered custom filter, build a client with `plugin.getClient()`, and * search with a mix of default, registered, and ad-hoc filters. * 2. Authoring error: `definePlugin()` rejects an invalid registration * (a filter named after a default field; an unknown filterType). * 3. Consumer error: `search()` rejects a bad filter value with `FilterError` * before any HTTP request, for both a registered filter (wrong value * family) and an ad-hoc filter (operator/value structure mismatch). * * Run with: `pnpm example:custom-filters` * * Scenario 1 talks to the mock server; start it first in another terminal with * `pnpm example:server`. If it is not running, scenario 1 is skipped and the two * offline scenarios still run. * * Filter buckets (ADR-0012): * - Default filters (status, closeDateRange, ...) -> named top-level fields. * - Registered custom filters (region) -> `customFilters` record, validated * against their declared filterType. * - Ad-hoc filters (any other key) -> `customFilters` passthrough, validated * for operator/value structure only (no element-type check). */ export {}; //# sourceMappingURL=custom-filters.d.ts.map