@classytic/arc 2.20.0 → 2.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{BaseController-D-MHZ27_.mjs → BaseController-C6FlRWxF.mjs} +2 -2
- package/dist/{EventTransport-IEn7Tn-Q.d.mts → EventTransport-QmY7A258.d.mts} +0 -1
- package/dist/{QueryCache-TRfXau3W.d.mts → QueryCache-Z1B38koh.d.mts} +0 -1
- package/dist/{actionPermissions-C9RMiIpc.mjs → actionPermissions-ze70xXJi.mjs} +1 -1
- package/dist/audit/index.d.mts +9 -5
- package/dist/auth/audit.d.mts +7 -4
- package/dist/auth/audit.mjs +5 -0
- package/dist/auth/index.d.mts +35 -14
- package/dist/auth/index.mjs +6 -3
- package/dist/auth/redis-session.d.mts +1 -2
- package/dist/cache/index.d.mts +2 -3
- package/dist/cli/commands/describe.d.mts +1 -2
- package/dist/cli/commands/docs.mjs +1 -1
- package/dist/cli/commands/init.mjs +1 -1
- package/dist/cli/index.mjs +1 -1
- package/dist/context/index.d.mts +2 -2
- package/dist/core/index.d.mts +3 -3
- package/dist/core/index.mjs +4 -4
- package/dist/{core-CWhyGkiM.mjs → core-b6fgFgnd.mjs} +129 -17
- package/dist/{createActionRouter-HlQso0jO.mjs → createActionRouter-h1cEEaEX.mjs} +10 -6
- package/dist/{createAggregationRouter-5LzPzgw1.mjs → createAggregationRouter-B1C0kvTL.mjs} +3 -3
- package/dist/{createApp-D6uwzCKu.mjs → createApp-Ci7yG5gv.mjs} +390 -192
- package/dist/discovery/index.d.mts +0 -1
- package/dist/docs/index.d.mts +1 -2
- package/dist/docs/index.mjs +1 -1
- package/dist/{elevation-xGUBq6p_.d.mts → elevation-C9s5hFP_.d.mts} +0 -1
- package/dist/encryption/index.d.mts +2 -144
- package/dist/encryption/index.mjs +9 -5
- package/dist/{errorHandler-Dxf6P_kV.mjs → errorHandler-BTzXSwIg.mjs} +24 -3
- package/dist/{errorHandler-BtUUDPEa.d.mts → errorHandler-C6yv4ZTW.d.mts} +13 -1
- package/dist/{errors-DOHkjQlD.d.mts → errors-DHcHVAgk.d.mts} +0 -1
- package/dist/{eventPlugin-DbBFd3x_.d.mts → eventPlugin-A6EbthXR.d.mts} +10 -6
- package/dist/events/index.d.mts +9 -6
- package/dist/events/transports/redis-stream-entry.d.mts +1 -1
- package/dist/events/transports/redis.d.mts +1 -2
- package/dist/factory/index.d.mts +30 -9
- package/dist/factory/index.mjs +35 -4
- package/dist/{fastify-augmentation-CCQJEDgh.d.mts → fastify-augmentation-9_fuetB4.d.mts} +2 -3
- package/dist/fields-D3lhgzhD.d.mts +121 -0
- package/dist/health-ScyjIVo5.mjs +202 -0
- package/dist/hooks/index.d.mts +1 -1
- package/dist/idempotency/index.d.mts +4 -3
- package/dist/idempotency/index.mjs +2 -0
- package/dist/idempotency/redis.d.mts +1 -1
- package/dist/{types-BHMKlMBU.d.mts → index-BEu4wjbL.d.mts} +241 -80
- package/dist/{index-DUa8WHz3.d.mts → index-D8MKYGDa.d.mts} +88 -7
- package/dist/{index-_--GyzcO.d.mts → index-DbtgCOCj.d.mts} +1324 -1228
- package/dist/{index-CdFkIMEd.d.mts → index-ogIHvOjo.d.mts} +36 -7
- package/dist/index.d.mts +8 -7
- package/dist/index.mjs +6 -6
- package/dist/{init-YH_nslQR.mjs → init-DleK3p9f.mjs} +272 -139
- package/dist/integrations/event-gateway.d.mts +2 -3
- package/dist/integrations/index.d.mts +2 -2
- package/dist/integrations/jobs.d.mts +0 -1
- package/dist/integrations/mcp/index.d.mts +6 -7
- package/dist/integrations/mcp/index.mjs +1 -1
- package/dist/integrations/mcp/testing.d.mts +1 -2
- package/dist/integrations/mcp/testing.mjs +1 -1
- package/dist/integrations/streamline.d.mts +2 -2
- package/dist/integrations/webhooks.d.mts +8 -5
- package/dist/integrations/webhooks.mjs +9 -5
- package/dist/integrations/websocket-pushref-redis.d.mts +1 -2
- package/dist/integrations/websocket-redis.d.mts +1 -2
- package/dist/integrations/websocket.d.mts +2 -2
- package/dist/jsonBody-BlzAoGCe.mjs +43 -0
- package/dist/{loadResources-B8UmpITt.mjs → loadResources-DpU8pfjV.mjs} +4 -3
- package/dist/logger/index.d.mts +26 -1
- package/dist/logger/index.mjs +39 -1
- package/dist/{mcpPlugin-CuW6L_uD.mjs → mcpPlugin-ByA2tf6D.mjs} +8 -4
- package/dist/middleware/index.d.mts +1 -2
- package/dist/{module-JYH9V0I8.d.mts → module-B4u10iOJ.d.mts} +71 -1
- package/dist/{openapi-Dq6RbEGK.mjs → openapi-BRpMZD7C.mjs} +3 -3
- package/dist/permissions/index.d.mts +4 -3
- package/dist/permissions/index.mjs +2 -2
- package/dist/{permissions-CgbOLJZG.mjs → permissions-BJMuKMl7.mjs} +33 -1
- package/dist/pipeline/index.d.mts +1 -2
- package/dist/plugins/index.d.mts +96 -7
- package/dist/plugins/index.mjs +86 -268
- package/dist/plugins/response-cache.d.mts +5 -3
- package/dist/plugins/response-cache.mjs +1 -0
- package/dist/plugins/tracing-entry.d.mts +1 -1
- package/dist/plugins/tracing-entry.mjs +7 -4
- package/dist/presets/filesUpload.d.mts +4 -5
- package/dist/presets/filesUpload.mjs +1 -1
- package/dist/presets/index.d.mts +1 -2
- package/dist/presets/index.mjs +1 -1
- package/dist/presets/multiTenant.d.mts +1 -2
- package/dist/presets/search.d.mts +2 -3
- package/dist/presets/search.mjs +1 -1
- package/dist/{presets-DWsYQdbV.mjs → presets-gw0ciIUD.mjs} +1 -1
- package/dist/{pushref-registry-DnCqL3aa.d.mts → pushref-registry-BbcnpNTm.d.mts} +4 -2
- package/dist/{queryCachePlugin-xzFyKAjT.d.mts → queryCachePlugin-CfYWq-Ak.d.mts} +1 -2
- package/dist/rateLimitKey-BoWRH3e7.mjs +14 -0
- package/dist/{redis-C3W0qbz8.d.mts → redis-UDtLaNj6.d.mts} +0 -1
- package/dist/{redis-stream-DsP1vqZB.d.mts → redis-stream-iVR2l7aS.d.mts} +1 -2
- package/dist/{registerRoute-DGSREwPw.mjs → registerRoute-xHc42fwB.mjs} +38 -18
- package/dist/registry/index.d.mts +2 -2
- package/dist/requestId-5BhTVzBv.mjs +113 -0
- package/dist/schemaConverter-Ds5reSGs.mjs +168 -0
- package/dist/{schemaIR-ajetw3Fv.mjs → schemaIR-B-6SPe7g.mjs} +2 -2
- package/dist/schemas/index.d.mts +0 -1
- package/dist/scim/index.d.mts +0 -1
- package/dist/scim/index.mjs +6 -7
- package/dist/scope/index.d.mts +2 -3
- package/dist/scope/index.mjs +2 -76
- package/dist/scope-k15RXfcq.mjs +64 -0
- package/dist/{sessionManager-BXG-HGwG.d.mts → sessionManager-BHOM3N_0.d.mts} +10 -6
- package/dist/{storage-Co_PQpeQ.d.mts → storage-DLUZ04kK.d.mts} +8 -4
- package/dist/testing/index.d.mts +83 -4
- package/dist/testing/index.mjs +74 -4
- package/dist/testing/storageContract.d.mts +1 -2
- package/dist/{tracing-D8jlGXP7.d.mts → tracing-CsGKQJGg.d.mts} +0 -1
- package/dist/types/index.d.mts +4 -4
- package/dist/types/storage.d.mts +1 -1
- package/dist/{types-C9b2HR5W.d.mts → types-Bc42CUyk.d.mts} +1 -2
- package/dist/types-Cc91nXuA.d.mts +132 -0
- package/dist/{fields-C7ahdGYf.d.mts → types-Csxga7d3.d.mts} +2 -123
- package/dist/{types-LNebCoJx.d.mts → types-DH0GupI7.d.mts} +8 -4
- package/dist/usage/index.d.mts +142 -0
- package/dist/usage/index.mjs +0 -0
- package/dist/utils/index.d.mts +220 -144
- package/dist/utils/index.mjs +3 -3
- package/dist/{utils-ChjYQpjn.mjs → utils-FhJ88TJE.mjs} +129 -39
- package/dist/{versioning-D_eBCfNr.d.mts → versioning-DLwklPlG.d.mts} +1 -7
- package/dist/{websocket-MlYlrYq0.d.mts → websocket-uuWqM6UY.d.mts} +5 -4
- package/llms.txt +39 -0
- package/package.json +453 -447
- package/skills/arc/SKILL.md +14 -8
- package/skills/arc/references/api-reference.md +34 -0
- package/skills/arc/references/auth.md +21 -4
- package/skills/arc/references/mcp.md +1 -1
- package/skills/arc/references/production.md +44 -2
- package/skills/arc-code-review/SKILL.md +1 -1
- package/skills/arc-code-review/references/anti-patterns.md +71 -18
- package/skills/arc-code-review/references/arc-cheatsheet.md +15 -2
- package/skills/arc-code-review/references/migration-recipes.md +7 -7
- package/skills/arc-code-review/references/mongokit-migration.md +4 -3
- package/skills/arc-module-publishing/SKILL.md +243 -0
- package/skills/arc-module-publishing/references/authoring-modules.md +327 -0
- package/skills/arc-module-publishing/references/package-manifest.md +157 -0
- package/skills/arc-module-publishing/references/publishing-workflow.md +182 -0
- package/dist/preloadResources-CHw3_oA_.mjs +0 -45
- package/dist/schemaConverter-U0MnO9vd.mjs +0 -110
package/dist/utils/index.d.mts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { Qt as UserLike, S as QueryParserInterface,
|
|
2
|
-
import { n as ErrorMapper } from "../errorHandler-
|
|
3
|
-
import { a as NotFoundError, c as RateLimitError, d as ValidationError, f as createDomainError, i as ForbiddenError, l as ServiceUnavailableError, m as isArcError, n as ConflictError, o as OrgAccessDeniedError, p as createError, r as ErrorOptions, s as OrgRequiredError, t as ArcError, u as UnauthorizedError } from "../errors-
|
|
1
|
+
import { $ as OpenApiSchemas, Qt as UserLike, S as QueryParserInterface, U as ResourceConfig, b as ParsedQuery, qt as AnyRecord } from "../index-DbtgCOCj.mjs";
|
|
2
|
+
import { n as ErrorMapper } from "../errorHandler-C6yv4ZTW.mjs";
|
|
3
|
+
import { a as NotFoundError, c as RateLimitError, d as ValidationError, f as createDomainError, i as ForbiddenError, l as ServiceUnavailableError, m as isArcError, n as ConflictError, o as OrgAccessDeniedError, p as createError, r as ErrorOptions, s as OrgRequiredError, t as ArcError, u as UnauthorizedError } from "../errors-DHcHVAgk.mjs";
|
|
4
4
|
import { errorContractSchema, errorDetailSchema } from "@classytic/repo-core/errors";
|
|
5
5
|
import { FastifyInstance, FastifyReply, FastifyRequest, RouteHandlerMethod } from "fastify";
|
|
6
|
-
|
|
7
6
|
//#region src/core/validateResourceConfig.d.ts
|
|
8
7
|
interface ConfigError {
|
|
9
8
|
field: string;
|
|
@@ -384,6 +383,49 @@ interface Guard<T> {
|
|
|
384
383
|
*/
|
|
385
384
|
declare function defineGuard<T>(config: GuardConfig<T>): Guard<T>;
|
|
386
385
|
//#endregion
|
|
386
|
+
//#region src/utils/filter-dialect.d.ts
|
|
387
|
+
/**
|
|
388
|
+
* Filter dialects — decouple `ArcQueryParser` from any single datastore's
|
|
389
|
+
* operator vocabulary.
|
|
390
|
+
*
|
|
391
|
+
* The parser owns everything store-INDEPENDENT: URL parsing, field/operator
|
|
392
|
+
* whitelisting, depth limits, value coercion, ReDoS-safe regex sanitisation.
|
|
393
|
+
* A `FilterDialect` owns the ONLY store-specific part of the output — which
|
|
394
|
+
* token each neutral operator (`gte`, `like`, `in`, …) is emitted as, and how a
|
|
395
|
+
* case-insensitive text match is expressed. Swap the dialect (or the whole
|
|
396
|
+
* parser via `QueryParserInterface`) to target a non-Mongo store; the default
|
|
397
|
+
* stays Mongo, so existing hosts are unaffected.
|
|
398
|
+
*/
|
|
399
|
+
interface FilterDialect {
|
|
400
|
+
/**
|
|
401
|
+
* Neutral operator name → emitted token. An operator absent from this map is
|
|
402
|
+
* treated as unsupported (dropped), so a dialect also defines its operator set.
|
|
403
|
+
*/
|
|
404
|
+
readonly operators: Readonly<Record<string, string>>;
|
|
405
|
+
/**
|
|
406
|
+
* Extra keys merged into a field-filter when a documented case-insensitive
|
|
407
|
+
* text operator (`like` / `contains`) is used. Mongo expresses this as a
|
|
408
|
+
* sibling `{ $options: 'i' }`; a dialect that encodes case-insensitivity in
|
|
409
|
+
* the operator itself returns `{}`.
|
|
410
|
+
*/
|
|
411
|
+
caseInsensitiveModifier(): Record<string, unknown>;
|
|
412
|
+
}
|
|
413
|
+
/**
|
|
414
|
+
* Default dialect — MongoDB / MongoKit operator shape. Emits `$`-prefixed
|
|
415
|
+
* tokens and the `$options: 'i'` case-insensitive sibling. This is what
|
|
416
|
+
* `ArcQueryParser` uses when no dialect is supplied, so behaviour is identical
|
|
417
|
+
* to every prior arc version.
|
|
418
|
+
*/
|
|
419
|
+
declare const MONGO_DIALECT: FilterDialect;
|
|
420
|
+
/**
|
|
421
|
+
* Store-neutral reference dialect — emits UN-prefixed operator tokens as a
|
|
422
|
+
* translation AST (`?price[gte]=40` → `{ price: { gte: 40 } }`, with
|
|
423
|
+
* `{ caseInsensitive: true }` for `like`/`contains`). A non-Mongo adapter can
|
|
424
|
+
* consume this directly instead of writing a full `QueryParserInterface`. Use
|
|
425
|
+
* as a starting point; adjust the token names to your store's vocabulary.
|
|
426
|
+
*/
|
|
427
|
+
declare const NEUTRAL_DIALECT: FilterDialect;
|
|
428
|
+
//#endregion
|
|
387
429
|
//#region src/utils/handleRaw.d.ts
|
|
388
430
|
/**
|
|
389
431
|
* Wrap a raw Fastify handler with Arc's response shape and error handling.
|
|
@@ -425,6 +467,13 @@ interface ArcQueryParserOptions {
|
|
|
425
467
|
* Also used by MCP to enrich list tool descriptions.
|
|
426
468
|
*/
|
|
427
469
|
allowedOperators?: string[];
|
|
470
|
+
/**
|
|
471
|
+
* Datastore dialect for the EMITTED filter shape (operator tokens +
|
|
472
|
+
* case-insensitive expression). Defaults to `MONGO_DIALECT`. Pass
|
|
473
|
+
* `NEUTRAL_DIALECT` (or a custom one) to retarget the operator vocabulary
|
|
474
|
+
* without writing a full `QueryParserInterface`.
|
|
475
|
+
*/
|
|
476
|
+
dialect?: FilterDialect;
|
|
428
477
|
}
|
|
429
478
|
/**
|
|
430
479
|
* Arc's default query parser
|
|
@@ -469,8 +518,13 @@ declare class ArcQueryParser implements QueryParserInterface {
|
|
|
469
518
|
readonly allowedSortFields?: readonly string[];
|
|
470
519
|
/** Allowed operators (used by MCP for operator descriptions) */
|
|
471
520
|
readonly allowedOperators?: readonly string[];
|
|
472
|
-
/**
|
|
473
|
-
|
|
521
|
+
/**
|
|
522
|
+
* Datastore dialect — owns the store-specific operator tokens + the
|
|
523
|
+
* case-insensitive modifier. Defaults to Mongo (backward-compatible).
|
|
524
|
+
*/
|
|
525
|
+
private readonly dialect;
|
|
526
|
+
/** Supported filter operators (neutral name → emitted token), from the dialect. */
|
|
527
|
+
private get operators();
|
|
474
528
|
constructor(options?: ArcQueryParserOptions);
|
|
475
529
|
/**
|
|
476
530
|
* Parse URL query parameters into structured query options
|
|
@@ -545,9 +599,8 @@ declare function createQueryParser(options?: ArcQueryParserOptions): ArcQueryPar
|
|
|
545
599
|
interface JsonSchema {
|
|
546
600
|
/**
|
|
547
601
|
* Optional because JSON Schema allows top-level combinator-only schemas
|
|
548
|
-
* (`{ oneOf: [...] }`, `{ anyOf: [...] }`, `{ allOf: [...] }`) —
|
|
549
|
-
*
|
|
550
|
-
* shapes with no top-level `type`.
|
|
602
|
+
* (`{ oneOf: [...] }`, `{ anyOf: [...] }`, `{ allOf: [...] }`) — hosts
|
|
603
|
+
* may pass such schemas anywhere a `JsonSchema` is accepted.
|
|
551
604
|
*/
|
|
552
605
|
type?: string | string[];
|
|
553
606
|
properties?: Record<string, JsonSchema | AnyRecord>;
|
|
@@ -569,18 +622,25 @@ interface JsonSchema {
|
|
|
569
622
|
*/
|
|
570
623
|
declare const paginationSchema: JsonSchema;
|
|
571
624
|
/**
|
|
572
|
-
* List response schema —
|
|
573
|
-
*
|
|
574
|
-
*
|
|
625
|
+
* List response schema — accepts every wire shape `toCanonicalList` can
|
|
626
|
+
* emit. Hosts who know their endpoint only ever produces one variant can
|
|
627
|
+
* pin to a narrower helper (sharper OpenAPI docs, same serializer speed):
|
|
575
628
|
* - `offsetListResponse(item)` — `{ method: 'offset', data, page, limit, total, pages, hasNext, hasPrev }`
|
|
576
629
|
* - `keysetListResponse(item)` — `{ method: 'keyset', data, limit, hasMore, next: string|null }`
|
|
577
630
|
* - `aggregateListResponse(item)` — `{ method: 'aggregate', ...offset fields }`
|
|
578
631
|
* - `bareListResponse(item)` — `{ data }`
|
|
579
632
|
*
|
|
580
|
-
*
|
|
581
|
-
*
|
|
582
|
-
*
|
|
583
|
-
*
|
|
633
|
+
* SHAPE: one merged permissive object, NOT a `oneOf` union (2.22). The
|
|
634
|
+
* pre-2.22 union was semantically identical on the wire — every variant is
|
|
635
|
+
* `additionalProperties: true` and the property definitions never conflict
|
|
636
|
+
* (`next` only exists on keyset, the offset counters only on offset/
|
|
637
|
+
* aggregate; fast-json-stringify skips undefined optionals) — but
|
|
638
|
+
* fast-json-stringify implements top-level `oneOf` by running full AJV
|
|
639
|
+
* validation PER RESPONSE to pick the branch, on the hottest route of
|
|
640
|
+
* every arc app. The merge keeps the exact bytes (pinned by
|
|
641
|
+
* `tests/utils/list-response-serialization.test.ts`) and drops the
|
|
642
|
+
* per-response branch validation. Only `data` is required — the one field
|
|
643
|
+
* all four variants share.
|
|
584
644
|
*/
|
|
585
645
|
declare function listResponse(itemSchema: JsonSchema): JsonSchema;
|
|
586
646
|
/** Offset variant — `{ method: 'offset', data, page, limit, total, pages, hasNext, hasPrev }`. */
|
|
@@ -607,12 +667,10 @@ declare const responses: {
|
|
|
607
667
|
content: {
|
|
608
668
|
"application/json": {
|
|
609
669
|
schema: {
|
|
610
|
-
additionalProperties: boolean;
|
|
611
670
|
/**
|
|
612
671
|
* Optional because JSON Schema allows top-level combinator-only schemas
|
|
613
|
-
* (`{ oneOf: [...] }`, `{ anyOf: [...] }`, `{ allOf: [...] }`) —
|
|
614
|
-
*
|
|
615
|
-
* shapes with no top-level `type`.
|
|
672
|
+
* (`{ oneOf: [...] }`, `{ anyOf: [...] }`, `{ allOf: [...] }`) — hosts
|
|
673
|
+
* may pass such schemas anywhere a `JsonSchema` is accepted.
|
|
616
674
|
*/
|
|
617
675
|
type?: string | string[];
|
|
618
676
|
properties?: Record<string, JsonSchema | AnyRecord>;
|
|
@@ -623,6 +681,7 @@ declare const responses: {
|
|
|
623
681
|
oneOf?: JsonSchema[];
|
|
624
682
|
anyOf?: JsonSchema[];
|
|
625
683
|
allOf?: JsonSchema[];
|
|
684
|
+
additionalProperties: boolean;
|
|
626
685
|
};
|
|
627
686
|
};
|
|
628
687
|
};
|
|
@@ -632,54 +691,54 @@ declare const responses: {
|
|
|
632
691
|
content: {
|
|
633
692
|
"application/json": {
|
|
634
693
|
schema: {
|
|
635
|
-
readonly type:
|
|
694
|
+
readonly type: 'object';
|
|
636
695
|
readonly properties: {
|
|
637
696
|
readonly code: {
|
|
638
|
-
readonly type:
|
|
697
|
+
readonly type: 'string';
|
|
639
698
|
readonly description: "Hierarchical machine-readable code (e.g. 'arc.not_found').";
|
|
640
699
|
};
|
|
641
700
|
readonly message: {
|
|
642
|
-
readonly type:
|
|
643
|
-
readonly description:
|
|
701
|
+
readonly type: 'string';
|
|
702
|
+
readonly description: 'Human-readable, safe-for-client message.';
|
|
644
703
|
};
|
|
645
704
|
readonly status: {
|
|
646
|
-
readonly type:
|
|
647
|
-
readonly description:
|
|
705
|
+
readonly type: 'integer';
|
|
706
|
+
readonly description: 'Suggested HTTP status code (hosts may override).';
|
|
648
707
|
};
|
|
649
708
|
readonly details: {
|
|
650
|
-
readonly type:
|
|
651
|
-
readonly description:
|
|
709
|
+
readonly type: 'array';
|
|
710
|
+
readonly description: 'Field-scoped structured details (validation failures, duplicate keys, multi-code domain errors).';
|
|
652
711
|
readonly items: {
|
|
653
|
-
readonly type:
|
|
712
|
+
readonly type: 'object';
|
|
654
713
|
readonly properties: {
|
|
655
714
|
readonly path: {
|
|
656
|
-
readonly type:
|
|
715
|
+
readonly type: 'string';
|
|
657
716
|
readonly description: "Dot-path to the offending field, e.g. 'lines.0.quantity'.";
|
|
658
717
|
};
|
|
659
718
|
readonly code: {
|
|
660
|
-
readonly type:
|
|
719
|
+
readonly type: 'string';
|
|
661
720
|
};
|
|
662
721
|
readonly message: {
|
|
663
|
-
readonly type:
|
|
722
|
+
readonly type: 'string';
|
|
664
723
|
};
|
|
665
724
|
readonly meta: {
|
|
666
|
-
readonly type:
|
|
667
|
-
readonly description:
|
|
725
|
+
readonly type: 'object';
|
|
726
|
+
readonly description: 'Non-PII per-detail diagnostics (safe to log + return).';
|
|
668
727
|
};
|
|
669
728
|
};
|
|
670
|
-
readonly required: readonly [
|
|
729
|
+
readonly required: readonly ['code', 'message'];
|
|
671
730
|
};
|
|
672
731
|
};
|
|
673
732
|
readonly correlationId: {
|
|
674
|
-
readonly type:
|
|
675
|
-
readonly description:
|
|
733
|
+
readonly type: 'string';
|
|
734
|
+
readonly description: 'Request id for support lookups.';
|
|
676
735
|
};
|
|
677
736
|
readonly meta: {
|
|
678
|
-
readonly type:
|
|
679
|
-
readonly description:
|
|
737
|
+
readonly type: 'object';
|
|
738
|
+
readonly description: 'Non-PII diagnostics (safe to log + return).';
|
|
680
739
|
};
|
|
681
740
|
};
|
|
682
|
-
readonly required: readonly [
|
|
741
|
+
readonly required: readonly ['code', 'message'];
|
|
683
742
|
};
|
|
684
743
|
};
|
|
685
744
|
};
|
|
@@ -689,54 +748,54 @@ declare const responses: {
|
|
|
689
748
|
content: {
|
|
690
749
|
"application/json": {
|
|
691
750
|
schema: {
|
|
692
|
-
readonly type:
|
|
751
|
+
readonly type: 'object';
|
|
693
752
|
readonly properties: {
|
|
694
753
|
readonly code: {
|
|
695
|
-
readonly type:
|
|
754
|
+
readonly type: 'string';
|
|
696
755
|
readonly description: "Hierarchical machine-readable code (e.g. 'arc.not_found').";
|
|
697
756
|
};
|
|
698
757
|
readonly message: {
|
|
699
|
-
readonly type:
|
|
700
|
-
readonly description:
|
|
758
|
+
readonly type: 'string';
|
|
759
|
+
readonly description: 'Human-readable, safe-for-client message.';
|
|
701
760
|
};
|
|
702
761
|
readonly status: {
|
|
703
|
-
readonly type:
|
|
704
|
-
readonly description:
|
|
762
|
+
readonly type: 'integer';
|
|
763
|
+
readonly description: 'Suggested HTTP status code (hosts may override).';
|
|
705
764
|
};
|
|
706
765
|
readonly details: {
|
|
707
|
-
readonly type:
|
|
708
|
-
readonly description:
|
|
766
|
+
readonly type: 'array';
|
|
767
|
+
readonly description: 'Field-scoped structured details (validation failures, duplicate keys, multi-code domain errors).';
|
|
709
768
|
readonly items: {
|
|
710
|
-
readonly type:
|
|
769
|
+
readonly type: 'object';
|
|
711
770
|
readonly properties: {
|
|
712
771
|
readonly path: {
|
|
713
|
-
readonly type:
|
|
772
|
+
readonly type: 'string';
|
|
714
773
|
readonly description: "Dot-path to the offending field, e.g. 'lines.0.quantity'.";
|
|
715
774
|
};
|
|
716
775
|
readonly code: {
|
|
717
|
-
readonly type:
|
|
776
|
+
readonly type: 'string';
|
|
718
777
|
};
|
|
719
778
|
readonly message: {
|
|
720
|
-
readonly type:
|
|
779
|
+
readonly type: 'string';
|
|
721
780
|
};
|
|
722
781
|
readonly meta: {
|
|
723
|
-
readonly type:
|
|
724
|
-
readonly description:
|
|
782
|
+
readonly type: 'object';
|
|
783
|
+
readonly description: 'Non-PII per-detail diagnostics (safe to log + return).';
|
|
725
784
|
};
|
|
726
785
|
};
|
|
727
|
-
readonly required: readonly [
|
|
786
|
+
readonly required: readonly ['code', 'message'];
|
|
728
787
|
};
|
|
729
788
|
};
|
|
730
789
|
readonly correlationId: {
|
|
731
|
-
readonly type:
|
|
732
|
-
readonly description:
|
|
790
|
+
readonly type: 'string';
|
|
791
|
+
readonly description: 'Request id for support lookups.';
|
|
733
792
|
};
|
|
734
793
|
readonly meta: {
|
|
735
|
-
readonly type:
|
|
736
|
-
readonly description:
|
|
794
|
+
readonly type: 'object';
|
|
795
|
+
readonly description: 'Non-PII diagnostics (safe to log + return).';
|
|
737
796
|
};
|
|
738
797
|
};
|
|
739
|
-
readonly required: readonly [
|
|
798
|
+
readonly required: readonly ['code', 'message'];
|
|
740
799
|
};
|
|
741
800
|
};
|
|
742
801
|
};
|
|
@@ -746,54 +805,54 @@ declare const responses: {
|
|
|
746
805
|
content: {
|
|
747
806
|
"application/json": {
|
|
748
807
|
schema: {
|
|
749
|
-
readonly type:
|
|
808
|
+
readonly type: 'object';
|
|
750
809
|
readonly properties: {
|
|
751
810
|
readonly code: {
|
|
752
|
-
readonly type:
|
|
811
|
+
readonly type: 'string';
|
|
753
812
|
readonly description: "Hierarchical machine-readable code (e.g. 'arc.not_found').";
|
|
754
813
|
};
|
|
755
814
|
readonly message: {
|
|
756
|
-
readonly type:
|
|
757
|
-
readonly description:
|
|
815
|
+
readonly type: 'string';
|
|
816
|
+
readonly description: 'Human-readable, safe-for-client message.';
|
|
758
817
|
};
|
|
759
818
|
readonly status: {
|
|
760
|
-
readonly type:
|
|
761
|
-
readonly description:
|
|
819
|
+
readonly type: 'integer';
|
|
820
|
+
readonly description: 'Suggested HTTP status code (hosts may override).';
|
|
762
821
|
};
|
|
763
822
|
readonly details: {
|
|
764
|
-
readonly type:
|
|
765
|
-
readonly description:
|
|
823
|
+
readonly type: 'array';
|
|
824
|
+
readonly description: 'Field-scoped structured details (validation failures, duplicate keys, multi-code domain errors).';
|
|
766
825
|
readonly items: {
|
|
767
|
-
readonly type:
|
|
826
|
+
readonly type: 'object';
|
|
768
827
|
readonly properties: {
|
|
769
828
|
readonly path: {
|
|
770
|
-
readonly type:
|
|
829
|
+
readonly type: 'string';
|
|
771
830
|
readonly description: "Dot-path to the offending field, e.g. 'lines.0.quantity'.";
|
|
772
831
|
};
|
|
773
832
|
readonly code: {
|
|
774
|
-
readonly type:
|
|
833
|
+
readonly type: 'string';
|
|
775
834
|
};
|
|
776
835
|
readonly message: {
|
|
777
|
-
readonly type:
|
|
836
|
+
readonly type: 'string';
|
|
778
837
|
};
|
|
779
838
|
readonly meta: {
|
|
780
|
-
readonly type:
|
|
781
|
-
readonly description:
|
|
839
|
+
readonly type: 'object';
|
|
840
|
+
readonly description: 'Non-PII per-detail diagnostics (safe to log + return).';
|
|
782
841
|
};
|
|
783
842
|
};
|
|
784
|
-
readonly required: readonly [
|
|
843
|
+
readonly required: readonly ['code', 'message'];
|
|
785
844
|
};
|
|
786
845
|
};
|
|
787
846
|
readonly correlationId: {
|
|
788
|
-
readonly type:
|
|
789
|
-
readonly description:
|
|
847
|
+
readonly type: 'string';
|
|
848
|
+
readonly description: 'Request id for support lookups.';
|
|
790
849
|
};
|
|
791
850
|
readonly meta: {
|
|
792
|
-
readonly type:
|
|
793
|
-
readonly description:
|
|
851
|
+
readonly type: 'object';
|
|
852
|
+
readonly description: 'Non-PII diagnostics (safe to log + return).';
|
|
794
853
|
};
|
|
795
854
|
};
|
|
796
|
-
readonly required: readonly [
|
|
855
|
+
readonly required: readonly ['code', 'message'];
|
|
797
856
|
};
|
|
798
857
|
};
|
|
799
858
|
};
|
|
@@ -803,54 +862,54 @@ declare const responses: {
|
|
|
803
862
|
content: {
|
|
804
863
|
"application/json": {
|
|
805
864
|
schema: {
|
|
806
|
-
readonly type:
|
|
865
|
+
readonly type: 'object';
|
|
807
866
|
readonly properties: {
|
|
808
867
|
readonly code: {
|
|
809
|
-
readonly type:
|
|
868
|
+
readonly type: 'string';
|
|
810
869
|
readonly description: "Hierarchical machine-readable code (e.g. 'arc.not_found').";
|
|
811
870
|
};
|
|
812
871
|
readonly message: {
|
|
813
|
-
readonly type:
|
|
814
|
-
readonly description:
|
|
872
|
+
readonly type: 'string';
|
|
873
|
+
readonly description: 'Human-readable, safe-for-client message.';
|
|
815
874
|
};
|
|
816
875
|
readonly status: {
|
|
817
|
-
readonly type:
|
|
818
|
-
readonly description:
|
|
876
|
+
readonly type: 'integer';
|
|
877
|
+
readonly description: 'Suggested HTTP status code (hosts may override).';
|
|
819
878
|
};
|
|
820
879
|
readonly details: {
|
|
821
|
-
readonly type:
|
|
822
|
-
readonly description:
|
|
880
|
+
readonly type: 'array';
|
|
881
|
+
readonly description: 'Field-scoped structured details (validation failures, duplicate keys, multi-code domain errors).';
|
|
823
882
|
readonly items: {
|
|
824
|
-
readonly type:
|
|
883
|
+
readonly type: 'object';
|
|
825
884
|
readonly properties: {
|
|
826
885
|
readonly path: {
|
|
827
|
-
readonly type:
|
|
886
|
+
readonly type: 'string';
|
|
828
887
|
readonly description: "Dot-path to the offending field, e.g. 'lines.0.quantity'.";
|
|
829
888
|
};
|
|
830
889
|
readonly code: {
|
|
831
|
-
readonly type:
|
|
890
|
+
readonly type: 'string';
|
|
832
891
|
};
|
|
833
892
|
readonly message: {
|
|
834
|
-
readonly type:
|
|
893
|
+
readonly type: 'string';
|
|
835
894
|
};
|
|
836
895
|
readonly meta: {
|
|
837
|
-
readonly type:
|
|
838
|
-
readonly description:
|
|
896
|
+
readonly type: 'object';
|
|
897
|
+
readonly description: 'Non-PII per-detail diagnostics (safe to log + return).';
|
|
839
898
|
};
|
|
840
899
|
};
|
|
841
|
-
readonly required: readonly [
|
|
900
|
+
readonly required: readonly ['code', 'message'];
|
|
842
901
|
};
|
|
843
902
|
};
|
|
844
903
|
readonly correlationId: {
|
|
845
|
-
readonly type:
|
|
846
|
-
readonly description:
|
|
904
|
+
readonly type: 'string';
|
|
905
|
+
readonly description: 'Request id for support lookups.';
|
|
847
906
|
};
|
|
848
907
|
readonly meta: {
|
|
849
|
-
readonly type:
|
|
850
|
-
readonly description:
|
|
908
|
+
readonly type: 'object';
|
|
909
|
+
readonly description: 'Non-PII diagnostics (safe to log + return).';
|
|
851
910
|
};
|
|
852
911
|
};
|
|
853
|
-
readonly required: readonly [
|
|
912
|
+
readonly required: readonly ['code', 'message'];
|
|
854
913
|
};
|
|
855
914
|
};
|
|
856
915
|
};
|
|
@@ -860,54 +919,54 @@ declare const responses: {
|
|
|
860
919
|
content: {
|
|
861
920
|
"application/json": {
|
|
862
921
|
schema: {
|
|
863
|
-
readonly type:
|
|
922
|
+
readonly type: 'object';
|
|
864
923
|
readonly properties: {
|
|
865
924
|
readonly code: {
|
|
866
|
-
readonly type:
|
|
925
|
+
readonly type: 'string';
|
|
867
926
|
readonly description: "Hierarchical machine-readable code (e.g. 'arc.not_found').";
|
|
868
927
|
};
|
|
869
928
|
readonly message: {
|
|
870
|
-
readonly type:
|
|
871
|
-
readonly description:
|
|
929
|
+
readonly type: 'string';
|
|
930
|
+
readonly description: 'Human-readable, safe-for-client message.';
|
|
872
931
|
};
|
|
873
932
|
readonly status: {
|
|
874
|
-
readonly type:
|
|
875
|
-
readonly description:
|
|
933
|
+
readonly type: 'integer';
|
|
934
|
+
readonly description: 'Suggested HTTP status code (hosts may override).';
|
|
876
935
|
};
|
|
877
936
|
readonly details: {
|
|
878
|
-
readonly type:
|
|
879
|
-
readonly description:
|
|
937
|
+
readonly type: 'array';
|
|
938
|
+
readonly description: 'Field-scoped structured details (validation failures, duplicate keys, multi-code domain errors).';
|
|
880
939
|
readonly items: {
|
|
881
|
-
readonly type:
|
|
940
|
+
readonly type: 'object';
|
|
882
941
|
readonly properties: {
|
|
883
942
|
readonly path: {
|
|
884
|
-
readonly type:
|
|
943
|
+
readonly type: 'string';
|
|
885
944
|
readonly description: "Dot-path to the offending field, e.g. 'lines.0.quantity'.";
|
|
886
945
|
};
|
|
887
946
|
readonly code: {
|
|
888
|
-
readonly type:
|
|
947
|
+
readonly type: 'string';
|
|
889
948
|
};
|
|
890
949
|
readonly message: {
|
|
891
|
-
readonly type:
|
|
950
|
+
readonly type: 'string';
|
|
892
951
|
};
|
|
893
952
|
readonly meta: {
|
|
894
|
-
readonly type:
|
|
895
|
-
readonly description:
|
|
953
|
+
readonly type: 'object';
|
|
954
|
+
readonly description: 'Non-PII per-detail diagnostics (safe to log + return).';
|
|
896
955
|
};
|
|
897
956
|
};
|
|
898
|
-
readonly required: readonly [
|
|
957
|
+
readonly required: readonly ['code', 'message'];
|
|
899
958
|
};
|
|
900
959
|
};
|
|
901
960
|
readonly correlationId: {
|
|
902
|
-
readonly type:
|
|
903
|
-
readonly description:
|
|
961
|
+
readonly type: 'string';
|
|
962
|
+
readonly description: 'Request id for support lookups.';
|
|
904
963
|
};
|
|
905
964
|
readonly meta: {
|
|
906
|
-
readonly type:
|
|
907
|
-
readonly description:
|
|
965
|
+
readonly type: 'object';
|
|
966
|
+
readonly description: 'Non-PII diagnostics (safe to log + return).';
|
|
908
967
|
};
|
|
909
968
|
};
|
|
910
|
-
readonly required: readonly [
|
|
969
|
+
readonly required: readonly ['code', 'message'];
|
|
911
970
|
};
|
|
912
971
|
};
|
|
913
972
|
};
|
|
@@ -917,54 +976,54 @@ declare const responses: {
|
|
|
917
976
|
content: {
|
|
918
977
|
"application/json": {
|
|
919
978
|
schema: {
|
|
920
|
-
readonly type:
|
|
979
|
+
readonly type: 'object';
|
|
921
980
|
readonly properties: {
|
|
922
981
|
readonly code: {
|
|
923
|
-
readonly type:
|
|
982
|
+
readonly type: 'string';
|
|
924
983
|
readonly description: "Hierarchical machine-readable code (e.g. 'arc.not_found').";
|
|
925
984
|
};
|
|
926
985
|
readonly message: {
|
|
927
|
-
readonly type:
|
|
928
|
-
readonly description:
|
|
986
|
+
readonly type: 'string';
|
|
987
|
+
readonly description: 'Human-readable, safe-for-client message.';
|
|
929
988
|
};
|
|
930
989
|
readonly status: {
|
|
931
|
-
readonly type:
|
|
932
|
-
readonly description:
|
|
990
|
+
readonly type: 'integer';
|
|
991
|
+
readonly description: 'Suggested HTTP status code (hosts may override).';
|
|
933
992
|
};
|
|
934
993
|
readonly details: {
|
|
935
|
-
readonly type:
|
|
936
|
-
readonly description:
|
|
994
|
+
readonly type: 'array';
|
|
995
|
+
readonly description: 'Field-scoped structured details (validation failures, duplicate keys, multi-code domain errors).';
|
|
937
996
|
readonly items: {
|
|
938
|
-
readonly type:
|
|
997
|
+
readonly type: 'object';
|
|
939
998
|
readonly properties: {
|
|
940
999
|
readonly path: {
|
|
941
|
-
readonly type:
|
|
1000
|
+
readonly type: 'string';
|
|
942
1001
|
readonly description: "Dot-path to the offending field, e.g. 'lines.0.quantity'.";
|
|
943
1002
|
};
|
|
944
1003
|
readonly code: {
|
|
945
|
-
readonly type:
|
|
1004
|
+
readonly type: 'string';
|
|
946
1005
|
};
|
|
947
1006
|
readonly message: {
|
|
948
|
-
readonly type:
|
|
1007
|
+
readonly type: 'string';
|
|
949
1008
|
};
|
|
950
1009
|
readonly meta: {
|
|
951
|
-
readonly type:
|
|
952
|
-
readonly description:
|
|
1010
|
+
readonly type: 'object';
|
|
1011
|
+
readonly description: 'Non-PII per-detail diagnostics (safe to log + return).';
|
|
953
1012
|
};
|
|
954
1013
|
};
|
|
955
|
-
readonly required: readonly [
|
|
1014
|
+
readonly required: readonly ['code', 'message'];
|
|
956
1015
|
};
|
|
957
1016
|
};
|
|
958
1017
|
readonly correlationId: {
|
|
959
|
-
readonly type:
|
|
960
|
-
readonly description:
|
|
1018
|
+
readonly type: 'string';
|
|
1019
|
+
readonly description: 'Request id for support lookups.';
|
|
961
1020
|
};
|
|
962
1021
|
readonly meta: {
|
|
963
|
-
readonly type:
|
|
964
|
-
readonly description:
|
|
1022
|
+
readonly type: 'object';
|
|
1023
|
+
readonly description: 'Non-PII diagnostics (safe to log + return).';
|
|
965
1024
|
};
|
|
966
1025
|
};
|
|
967
|
-
readonly required: readonly [
|
|
1026
|
+
readonly required: readonly ['code', 'message'];
|
|
968
1027
|
};
|
|
969
1028
|
};
|
|
970
1029
|
};
|
|
@@ -1049,6 +1108,20 @@ declare function isJsonSchema(input: unknown): input is Record<string, unknown>;
|
|
|
1049
1108
|
* Check if an object is a Zod schema (has `_zod` marker from Zod v4).
|
|
1050
1109
|
*/
|
|
1051
1110
|
declare function isZodSchema(input: unknown): boolean;
|
|
1111
|
+
/**
|
|
1112
|
+
* How `toJsonSchema` reacts when a Zod schema CANNOT be converted (zod not
|
|
1113
|
+
* installed/loaded, zod v3, or `z.toJSONSchema()` threw):
|
|
1114
|
+
*
|
|
1115
|
+
* - `'throw'` — fail fast with an actionable error. Used by
|
|
1116
|
+
* `convertRouteSchema` (VALIDATION path): a schema that silently degrades
|
|
1117
|
+
* to `{ type: 'object' }` is validation switched off — the worst outcome
|
|
1118
|
+
* for a wire contract, worse than a boot failure.
|
|
1119
|
+
* - `'warn'` (default) — log loudly, degrade to a permissive `{ type:
|
|
1120
|
+
* 'object' }`. Used by doc-generation paths (OpenAPI extraction of
|
|
1121
|
+
* Better Auth endpoints etc.), where the schema is third-party and a doc
|
|
1122
|
+
* gap must not take the app down.
|
|
1123
|
+
*/
|
|
1124
|
+
type UnconvertibleMode = "warn" | "throw";
|
|
1052
1125
|
/**
|
|
1053
1126
|
* Convert any schema input to JSON Schema.
|
|
1054
1127
|
*
|
|
@@ -1056,13 +1129,16 @@ declare function isZodSchema(input: unknown): boolean;
|
|
|
1056
1129
|
* 1. `null`/`undefined` → `undefined`
|
|
1057
1130
|
* 2. Already JSON Schema → pass through as-is (zero overhead)
|
|
1058
1131
|
* 3. Zod v4 schema → `z.toJSONSchema(schema, { target })`
|
|
1059
|
-
* 4.
|
|
1132
|
+
* 4. Zod v3 schema → unconvertible (actionable "upgrade to v4" error/warn)
|
|
1133
|
+
* 5. Unrecognized object → return as-is (treat as opaque schema)
|
|
1060
1134
|
*
|
|
1061
|
-
* @param input
|
|
1135
|
+
* @param input Schema (Zod, plain JSON Schema, or opaque object)
|
|
1062
1136
|
* @param target Output target — defaults to `draft-7` for Fastify compatibility.
|
|
1063
1137
|
* Pass `openapi-3.0`/`openapi-3.1` for OpenAPI document generation.
|
|
1138
|
+
* @param mode Failure policy for unconvertible Zod schemas — see
|
|
1139
|
+
* {@link UnconvertibleMode}. Defaults to `'warn'`.
|
|
1064
1140
|
*/
|
|
1065
|
-
declare function toJsonSchema(input: unknown, target?: JsonSchemaTarget): Record<string, unknown> | undefined;
|
|
1141
|
+
declare function toJsonSchema(input: unknown, target?: JsonSchemaTarget, mode?: UnconvertibleMode): Record<string, unknown> | undefined;
|
|
1066
1142
|
/**
|
|
1067
1143
|
* Convert all schema fields in an OpenApiSchemas object.
|
|
1068
1144
|
* JSON Schema values pass through unchanged. Only Zod schemas are converted.
|
|
@@ -1399,4 +1475,4 @@ declare function hasEvents(instance: FastifyInstance): instance is FastifyInstan
|
|
|
1399
1475
|
*/
|
|
1400
1476
|
declare function getUserId(user: UserLike | null | undefined): string | undefined;
|
|
1401
1477
|
//#endregion
|
|
1402
|
-
export { ArcError, ArcQueryParser, type ArcQueryParserOptions, CircuitBreaker, CircuitBreakerError, type CircuitBreakerOptions, CircuitBreakerRegistry, type CircuitBreakerStats, CircuitState, type CompensationDefinition, type CompensationError, type CompensationHooks, type CompensationResult, type CompensationStep, type ConfigError, ConflictError, type ErrorOptions, type EventsDecorator, ForbiddenError, type Guard, type GuardConfig, type JsonSchema, type JsonSchemaTarget, NotFoundError, OrgAccessDeniedError, OrgRequiredError, type PipeUIMessageStreamOptions, RateLimitError, ServiceUnavailableError, type StateMachine, type TransitionConfig, UI_MESSAGE_STREAM_HEADERS, UnauthorizedError, type ValidateOptions, ValidationError, type ValidationResult, aggregateListResponse, assertValidConfig, bareListResponse, convertOpenApiSchemas, convertRouteSchema, createCircuitBreaker, createCircuitBreakerRegistry, createDomainError, createError, createQueryParser, createStateMachine, defineCompensation, defineErrorMapper, defineGuard, deleteResponse, errorContractSchema, errorDetailSchema, formatValidationErrors, forwardedStreamHeaders, getDefaultCrudSchemas, getListQueryParams, getUserId, handleRaw, hasEvents, isArcError, isJsonSchema, isReadableStream, isZodSchema, keysetListResponse, listResponse, offsetListResponse, paginationSchema, pipeUIMessageStreamToReply, promoteStreamTokenToHeader, queryParams, responses, scheduleBackground, simpleEqualityMatcher, toJsonSchema, validateResourceConfig, withCompensation };
|
|
1478
|
+
export { ArcError, ArcQueryParser, type ArcQueryParserOptions, CircuitBreaker, CircuitBreakerError, type CircuitBreakerOptions, CircuitBreakerRegistry, type CircuitBreakerStats, CircuitState, type CompensationDefinition, type CompensationError, type CompensationHooks, type CompensationResult, type CompensationStep, type ConfigError, ConflictError, type ErrorOptions, type EventsDecorator, type FilterDialect, ForbiddenError, type Guard, type GuardConfig, type JsonSchema, type JsonSchemaTarget, MONGO_DIALECT, NEUTRAL_DIALECT, NotFoundError, OrgAccessDeniedError, OrgRequiredError, type PipeUIMessageStreamOptions, RateLimitError, ServiceUnavailableError, type StateMachine, type TransitionConfig, UI_MESSAGE_STREAM_HEADERS, UnauthorizedError, type ValidateOptions, ValidationError, type ValidationResult, aggregateListResponse, assertValidConfig, bareListResponse, convertOpenApiSchemas, convertRouteSchema, createCircuitBreaker, createCircuitBreakerRegistry, createDomainError, createError, createQueryParser, createStateMachine, defineCompensation, defineErrorMapper, defineGuard, deleteResponse, errorContractSchema, errorDetailSchema, formatValidationErrors, forwardedStreamHeaders, getDefaultCrudSchemas, getListQueryParams, getUserId, handleRaw, hasEvents, isArcError, isJsonSchema, isReadableStream, isZodSchema, keysetListResponse, listResponse, offsetListResponse, paginationSchema, pipeUIMessageStreamToReply, promoteStreamTokenToHeader, queryParams, responses, scheduleBackground, simpleEqualityMatcher, toJsonSchema, validateResourceConfig, withCompensation };
|