@classytic/arc 2.20.0 → 2.21.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.
Files changed (111) hide show
  1. package/dist/{BaseController-D-MHZ27_.mjs → BaseController-BnLYgE9A.mjs} +2 -2
  2. package/dist/{EventTransport-IEn7Tn-Q.d.mts → EventTransport-QmY7A258.d.mts} +0 -1
  3. package/dist/{QueryCache-TRfXau3W.d.mts → QueryCache-Z1B38koh.d.mts} +0 -1
  4. package/dist/{actionPermissions-C9RMiIpc.mjs → actionPermissions-ze70xXJi.mjs} +1 -1
  5. package/dist/audit/index.d.mts +9 -5
  6. package/dist/auth/audit.d.mts +7 -4
  7. package/dist/auth/audit.mjs +5 -0
  8. package/dist/auth/index.d.mts +7 -14
  9. package/dist/auth/index.mjs +1 -1
  10. package/dist/auth/redis-session.d.mts +1 -2
  11. package/dist/cache/index.d.mts +2 -3
  12. package/dist/cli/commands/describe.d.mts +1 -2
  13. package/dist/cli/commands/docs.mjs +1 -1
  14. package/dist/cli/commands/init.mjs +1 -1
  15. package/dist/cli/index.mjs +1 -1
  16. package/dist/context/index.d.mts +2 -2
  17. package/dist/core/index.d.mts +3 -3
  18. package/dist/core/index.mjs +4 -4
  19. package/dist/{core-CWhyGkiM.mjs → core-DZ6Xe1jR.mjs} +65 -10
  20. package/dist/{createActionRouter-HlQso0jO.mjs → createActionRouter-BWMDW-dL.mjs} +2 -2
  21. package/dist/{createAggregationRouter-5LzPzgw1.mjs → createAggregationRouter-l5mNdYrZ.mjs} +1 -1
  22. package/dist/{createApp-D6uwzCKu.mjs → createApp-Bi61XxqU.mjs} +149 -137
  23. package/dist/discovery/index.d.mts +0 -1
  24. package/dist/docs/index.d.mts +1 -2
  25. package/dist/docs/index.mjs +1 -1
  26. package/dist/{elevation-xGUBq6p_.d.mts → elevation-C9s5hFP_.d.mts} +0 -1
  27. package/dist/encryption/index.d.mts +2 -144
  28. package/dist/{errorHandler-BtUUDPEa.d.mts → errorHandler-B0e-bq-O.d.mts} +0 -1
  29. package/dist/{errors-DOHkjQlD.d.mts → errors-DHcHVAgk.d.mts} +0 -1
  30. package/dist/{eventPlugin-DbBFd3x_.d.mts → eventPlugin-A6EbthXR.d.mts} +10 -6
  31. package/dist/events/index.d.mts +9 -6
  32. package/dist/events/transports/redis-stream-entry.d.mts +1 -1
  33. package/dist/events/transports/redis.d.mts +1 -2
  34. package/dist/factory/index.d.mts +4 -4
  35. package/dist/factory/index.mjs +2 -2
  36. package/dist/{fastify-augmentation-CCQJEDgh.d.mts → fastify-augmentation-DafigGQp.d.mts} +2 -3
  37. package/dist/{fields-C7ahdGYf.d.mts → fields-BGqrAa_u.d.mts} +1 -2
  38. package/dist/hooks/index.d.mts +1 -1
  39. package/dist/idempotency/index.d.mts +4 -3
  40. package/dist/idempotency/redis.d.mts +1 -1
  41. package/dist/{index-DUa8WHz3.d.mts → index-B5N-NaHs.d.mts} +88 -7
  42. package/dist/{index-CdFkIMEd.d.mts → index-B5PoNbfu.d.mts} +36 -7
  43. package/dist/{index-_--GyzcO.d.mts → index-Dtrj6XZk.d.mts} +62 -28
  44. package/dist/index.d.mts +7 -7
  45. package/dist/index.mjs +6 -6
  46. package/dist/{init-YH_nslQR.mjs → init-0YhHkXGk.mjs} +154 -137
  47. package/dist/integrations/event-gateway.d.mts +2 -3
  48. package/dist/integrations/index.d.mts +2 -2
  49. package/dist/integrations/jobs.d.mts +0 -1
  50. package/dist/integrations/mcp/index.d.mts +6 -7
  51. package/dist/integrations/mcp/index.mjs +1 -1
  52. package/dist/integrations/mcp/testing.d.mts +1 -2
  53. package/dist/integrations/mcp/testing.mjs +1 -1
  54. package/dist/integrations/streamline.d.mts +2 -2
  55. package/dist/integrations/webhooks.d.mts +0 -1
  56. package/dist/integrations/websocket-pushref-redis.d.mts +1 -2
  57. package/dist/integrations/websocket-redis.d.mts +1 -2
  58. package/dist/integrations/websocket.d.mts +2 -2
  59. package/dist/{loadResources-B8UmpITt.mjs → loadResources-DpU8pfjV.mjs} +4 -3
  60. package/dist/{mcpPlugin-CuW6L_uD.mjs → mcpPlugin-B9XjjNVG.mjs} +3 -3
  61. package/dist/middleware/index.d.mts +1 -2
  62. package/dist/{module-JYH9V0I8.d.mts → module-WeuU5jfd.d.mts} +46 -1
  63. package/dist/{openapi-Dq6RbEGK.mjs → openapi-Kyod_di6.mjs} +2 -2
  64. package/dist/permissions/index.d.mts +3 -3
  65. package/dist/permissions/index.mjs +2 -2
  66. package/dist/{permissions-CgbOLJZG.mjs → permissions-BJMuKMl7.mjs} +33 -1
  67. package/dist/pipeline/index.d.mts +1 -2
  68. package/dist/plugins/index.d.mts +79 -7
  69. package/dist/plugins/index.mjs +88 -1
  70. package/dist/plugins/response-cache.d.mts +5 -3
  71. package/dist/plugins/tracing-entry.d.mts +1 -1
  72. package/dist/plugins/tracing-entry.mjs +1 -1
  73. package/dist/presets/filesUpload.d.mts +4 -5
  74. package/dist/presets/filesUpload.mjs +1 -1
  75. package/dist/presets/index.d.mts +1 -2
  76. package/dist/presets/index.mjs +1 -1
  77. package/dist/presets/multiTenant.d.mts +1 -2
  78. package/dist/presets/search.d.mts +2 -3
  79. package/dist/presets/search.mjs +1 -1
  80. package/dist/{presets-DWsYQdbV.mjs → presets-gw0ciIUD.mjs} +1 -1
  81. package/dist/{pushref-registry-DnCqL3aa.d.mts → pushref-registry-BbcnpNTm.d.mts} +4 -2
  82. package/dist/{queryCachePlugin-xzFyKAjT.d.mts → queryCachePlugin-CfYWq-Ak.d.mts} +1 -2
  83. package/dist/{redis-C3W0qbz8.d.mts → redis-UDtLaNj6.d.mts} +0 -1
  84. package/dist/{redis-stream-DsP1vqZB.d.mts → redis-stream-iVR2l7aS.d.mts} +1 -2
  85. package/dist/{registerRoute-DGSREwPw.mjs → registerRoute-oGAl0oA8.mjs} +1 -1
  86. package/dist/registry/index.d.mts +2 -2
  87. package/dist/schemas/index.d.mts +0 -1
  88. package/dist/scim/index.d.mts +0 -1
  89. package/dist/scope/index.d.mts +2 -3
  90. package/dist/{sessionManager-BXG-HGwG.d.mts → sessionManager-BHOM3N_0.d.mts} +10 -6
  91. package/dist/{storage-Co_PQpeQ.d.mts → storage-DLUZ04kK.d.mts} +8 -4
  92. package/dist/testing/index.d.mts +2 -3
  93. package/dist/testing/index.mjs +5 -2
  94. package/dist/testing/storageContract.d.mts +1 -2
  95. package/dist/{tracing-D8jlGXP7.d.mts → tracing-CsGKQJGg.d.mts} +0 -1
  96. package/dist/types/index.d.mts +4 -4
  97. package/dist/types/storage.d.mts +1 -1
  98. package/dist/types-Cc91nXuA.d.mts +132 -0
  99. package/dist/{types-LNebCoJx.d.mts → types-DH0GupI7.d.mts} +8 -4
  100. package/dist/{types-C9b2HR5W.d.mts → types-DRj-Ut4n.d.mts} +1 -2
  101. package/dist/{types-BHMKlMBU.d.mts → types-DpxoNX5v.d.mts} +61 -21
  102. package/dist/utils/index.d.mts +182 -128
  103. package/dist/utils/index.mjs +2 -2
  104. package/dist/{utils-ChjYQpjn.mjs → utils-CO8a3B_1.mjs} +70 -26
  105. package/dist/{versioning-D_eBCfNr.d.mts → versioning-DQ4mCvg0.d.mts} +1 -2
  106. package/dist/{websocket-MlYlrYq0.d.mts → websocket-uuWqM6UY.d.mts} +5 -4
  107. package/package.json +7 -7
  108. package/skills/arc-module-publishing/SKILL.md +242 -0
  109. package/skills/arc-module-publishing/references/authoring-modules.md +272 -0
  110. package/skills/arc-module-publishing/references/package-manifest.md +155 -0
  111. package/skills/arc-module-publishing/references/publishing-workflow.md +182 -0
@@ -1,9 +1,8 @@
1
- import { Qt as UserLike, S as QueryParserInterface, b as ParsedQuery, et as OpenApiSchemas, qt as AnyRecord, st as ResourceConfig } from "../index-_--GyzcO.mjs";
2
- import { n as ErrorMapper } from "../errorHandler-BtUUDPEa.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-DOHkjQlD.mjs";
1
+ import { Qt as UserLike, S as QueryParserInterface, b as ParsedQuery, et as OpenApiSchemas, qt as AnyRecord, st as ResourceConfig } from "../index-Dtrj6XZk.mjs";
2
+ import { n as ErrorMapper } from "../errorHandler-B0e-bq-O.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
- /** Supported filter operators */
473
- private readonly operators;
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
@@ -607,7 +661,6 @@ declare const responses: {
607
661
  content: {
608
662
  "application/json": {
609
663
  schema: {
610
- additionalProperties: boolean;
611
664
  /**
612
665
  * Optional because JSON Schema allows top-level combinator-only schemas
613
666
  * (`{ oneOf: [...] }`, `{ anyOf: [...] }`, `{ allOf: [...] }`) — see
@@ -623,6 +676,7 @@ declare const responses: {
623
676
  oneOf?: JsonSchema[];
624
677
  anyOf?: JsonSchema[];
625
678
  allOf?: JsonSchema[];
679
+ additionalProperties: boolean;
626
680
  };
627
681
  };
628
682
  };
@@ -632,54 +686,54 @@ declare const responses: {
632
686
  content: {
633
687
  "application/json": {
634
688
  schema: {
635
- readonly type: "object";
689
+ readonly type: 'object';
636
690
  readonly properties: {
637
691
  readonly code: {
638
- readonly type: "string";
692
+ readonly type: 'string';
639
693
  readonly description: "Hierarchical machine-readable code (e.g. 'arc.not_found').";
640
694
  };
641
695
  readonly message: {
642
- readonly type: "string";
643
- readonly description: "Human-readable, safe-for-client message.";
696
+ readonly type: 'string';
697
+ readonly description: 'Human-readable, safe-for-client message.';
644
698
  };
645
699
  readonly status: {
646
- readonly type: "integer";
647
- readonly description: "Suggested HTTP status code (hosts may override).";
700
+ readonly type: 'integer';
701
+ readonly description: 'Suggested HTTP status code (hosts may override).';
648
702
  };
649
703
  readonly details: {
650
- readonly type: "array";
651
- readonly description: "Field-scoped structured details (validation failures, duplicate keys, multi-code domain errors).";
704
+ readonly type: 'array';
705
+ readonly description: 'Field-scoped structured details (validation failures, duplicate keys, multi-code domain errors).';
652
706
  readonly items: {
653
- readonly type: "object";
707
+ readonly type: 'object';
654
708
  readonly properties: {
655
709
  readonly path: {
656
- readonly type: "string";
710
+ readonly type: 'string';
657
711
  readonly description: "Dot-path to the offending field, e.g. 'lines.0.quantity'.";
658
712
  };
659
713
  readonly code: {
660
- readonly type: "string";
714
+ readonly type: 'string';
661
715
  };
662
716
  readonly message: {
663
- readonly type: "string";
717
+ readonly type: 'string';
664
718
  };
665
719
  readonly meta: {
666
- readonly type: "object";
667
- readonly description: "Non-PII per-detail diagnostics (safe to log + return).";
720
+ readonly type: 'object';
721
+ readonly description: 'Non-PII per-detail diagnostics (safe to log + return).';
668
722
  };
669
723
  };
670
- readonly required: readonly ["code", "message"];
724
+ readonly required: readonly ['code', 'message'];
671
725
  };
672
726
  };
673
727
  readonly correlationId: {
674
- readonly type: "string";
675
- readonly description: "Request id for support lookups.";
728
+ readonly type: 'string';
729
+ readonly description: 'Request id for support lookups.';
676
730
  };
677
731
  readonly meta: {
678
- readonly type: "object";
679
- readonly description: "Non-PII diagnostics (safe to log + return).";
732
+ readonly type: 'object';
733
+ readonly description: 'Non-PII diagnostics (safe to log + return).';
680
734
  };
681
735
  };
682
- readonly required: readonly ["code", "message"];
736
+ readonly required: readonly ['code', 'message'];
683
737
  };
684
738
  };
685
739
  };
@@ -689,54 +743,54 @@ declare const responses: {
689
743
  content: {
690
744
  "application/json": {
691
745
  schema: {
692
- readonly type: "object";
746
+ readonly type: 'object';
693
747
  readonly properties: {
694
748
  readonly code: {
695
- readonly type: "string";
749
+ readonly type: 'string';
696
750
  readonly description: "Hierarchical machine-readable code (e.g. 'arc.not_found').";
697
751
  };
698
752
  readonly message: {
699
- readonly type: "string";
700
- readonly description: "Human-readable, safe-for-client message.";
753
+ readonly type: 'string';
754
+ readonly description: 'Human-readable, safe-for-client message.';
701
755
  };
702
756
  readonly status: {
703
- readonly type: "integer";
704
- readonly description: "Suggested HTTP status code (hosts may override).";
757
+ readonly type: 'integer';
758
+ readonly description: 'Suggested HTTP status code (hosts may override).';
705
759
  };
706
760
  readonly details: {
707
- readonly type: "array";
708
- readonly description: "Field-scoped structured details (validation failures, duplicate keys, multi-code domain errors).";
761
+ readonly type: 'array';
762
+ readonly description: 'Field-scoped structured details (validation failures, duplicate keys, multi-code domain errors).';
709
763
  readonly items: {
710
- readonly type: "object";
764
+ readonly type: 'object';
711
765
  readonly properties: {
712
766
  readonly path: {
713
- readonly type: "string";
767
+ readonly type: 'string';
714
768
  readonly description: "Dot-path to the offending field, e.g. 'lines.0.quantity'.";
715
769
  };
716
770
  readonly code: {
717
- readonly type: "string";
771
+ readonly type: 'string';
718
772
  };
719
773
  readonly message: {
720
- readonly type: "string";
774
+ readonly type: 'string';
721
775
  };
722
776
  readonly meta: {
723
- readonly type: "object";
724
- readonly description: "Non-PII per-detail diagnostics (safe to log + return).";
777
+ readonly type: 'object';
778
+ readonly description: 'Non-PII per-detail diagnostics (safe to log + return).';
725
779
  };
726
780
  };
727
- readonly required: readonly ["code", "message"];
781
+ readonly required: readonly ['code', 'message'];
728
782
  };
729
783
  };
730
784
  readonly correlationId: {
731
- readonly type: "string";
732
- readonly description: "Request id for support lookups.";
785
+ readonly type: 'string';
786
+ readonly description: 'Request id for support lookups.';
733
787
  };
734
788
  readonly meta: {
735
- readonly type: "object";
736
- readonly description: "Non-PII diagnostics (safe to log + return).";
789
+ readonly type: 'object';
790
+ readonly description: 'Non-PII diagnostics (safe to log + return).';
737
791
  };
738
792
  };
739
- readonly required: readonly ["code", "message"];
793
+ readonly required: readonly ['code', 'message'];
740
794
  };
741
795
  };
742
796
  };
@@ -746,54 +800,54 @@ declare const responses: {
746
800
  content: {
747
801
  "application/json": {
748
802
  schema: {
749
- readonly type: "object";
803
+ readonly type: 'object';
750
804
  readonly properties: {
751
805
  readonly code: {
752
- readonly type: "string";
806
+ readonly type: 'string';
753
807
  readonly description: "Hierarchical machine-readable code (e.g. 'arc.not_found').";
754
808
  };
755
809
  readonly message: {
756
- readonly type: "string";
757
- readonly description: "Human-readable, safe-for-client message.";
810
+ readonly type: 'string';
811
+ readonly description: 'Human-readable, safe-for-client message.';
758
812
  };
759
813
  readonly status: {
760
- readonly type: "integer";
761
- readonly description: "Suggested HTTP status code (hosts may override).";
814
+ readonly type: 'integer';
815
+ readonly description: 'Suggested HTTP status code (hosts may override).';
762
816
  };
763
817
  readonly details: {
764
- readonly type: "array";
765
- readonly description: "Field-scoped structured details (validation failures, duplicate keys, multi-code domain errors).";
818
+ readonly type: 'array';
819
+ readonly description: 'Field-scoped structured details (validation failures, duplicate keys, multi-code domain errors).';
766
820
  readonly items: {
767
- readonly type: "object";
821
+ readonly type: 'object';
768
822
  readonly properties: {
769
823
  readonly path: {
770
- readonly type: "string";
824
+ readonly type: 'string';
771
825
  readonly description: "Dot-path to the offending field, e.g. 'lines.0.quantity'.";
772
826
  };
773
827
  readonly code: {
774
- readonly type: "string";
828
+ readonly type: 'string';
775
829
  };
776
830
  readonly message: {
777
- readonly type: "string";
831
+ readonly type: 'string';
778
832
  };
779
833
  readonly meta: {
780
- readonly type: "object";
781
- readonly description: "Non-PII per-detail diagnostics (safe to log + return).";
834
+ readonly type: 'object';
835
+ readonly description: 'Non-PII per-detail diagnostics (safe to log + return).';
782
836
  };
783
837
  };
784
- readonly required: readonly ["code", "message"];
838
+ readonly required: readonly ['code', 'message'];
785
839
  };
786
840
  };
787
841
  readonly correlationId: {
788
- readonly type: "string";
789
- readonly description: "Request id for support lookups.";
842
+ readonly type: 'string';
843
+ readonly description: 'Request id for support lookups.';
790
844
  };
791
845
  readonly meta: {
792
- readonly type: "object";
793
- readonly description: "Non-PII diagnostics (safe to log + return).";
846
+ readonly type: 'object';
847
+ readonly description: 'Non-PII diagnostics (safe to log + return).';
794
848
  };
795
849
  };
796
- readonly required: readonly ["code", "message"];
850
+ readonly required: readonly ['code', 'message'];
797
851
  };
798
852
  };
799
853
  };
@@ -803,54 +857,54 @@ declare const responses: {
803
857
  content: {
804
858
  "application/json": {
805
859
  schema: {
806
- readonly type: "object";
860
+ readonly type: 'object';
807
861
  readonly properties: {
808
862
  readonly code: {
809
- readonly type: "string";
863
+ readonly type: 'string';
810
864
  readonly description: "Hierarchical machine-readable code (e.g. 'arc.not_found').";
811
865
  };
812
866
  readonly message: {
813
- readonly type: "string";
814
- readonly description: "Human-readable, safe-for-client message.";
867
+ readonly type: 'string';
868
+ readonly description: 'Human-readable, safe-for-client message.';
815
869
  };
816
870
  readonly status: {
817
- readonly type: "integer";
818
- readonly description: "Suggested HTTP status code (hosts may override).";
871
+ readonly type: 'integer';
872
+ readonly description: 'Suggested HTTP status code (hosts may override).';
819
873
  };
820
874
  readonly details: {
821
- readonly type: "array";
822
- readonly description: "Field-scoped structured details (validation failures, duplicate keys, multi-code domain errors).";
875
+ readonly type: 'array';
876
+ readonly description: 'Field-scoped structured details (validation failures, duplicate keys, multi-code domain errors).';
823
877
  readonly items: {
824
- readonly type: "object";
878
+ readonly type: 'object';
825
879
  readonly properties: {
826
880
  readonly path: {
827
- readonly type: "string";
881
+ readonly type: 'string';
828
882
  readonly description: "Dot-path to the offending field, e.g. 'lines.0.quantity'.";
829
883
  };
830
884
  readonly code: {
831
- readonly type: "string";
885
+ readonly type: 'string';
832
886
  };
833
887
  readonly message: {
834
- readonly type: "string";
888
+ readonly type: 'string';
835
889
  };
836
890
  readonly meta: {
837
- readonly type: "object";
838
- readonly description: "Non-PII per-detail diagnostics (safe to log + return).";
891
+ readonly type: 'object';
892
+ readonly description: 'Non-PII per-detail diagnostics (safe to log + return).';
839
893
  };
840
894
  };
841
- readonly required: readonly ["code", "message"];
895
+ readonly required: readonly ['code', 'message'];
842
896
  };
843
897
  };
844
898
  readonly correlationId: {
845
- readonly type: "string";
846
- readonly description: "Request id for support lookups.";
899
+ readonly type: 'string';
900
+ readonly description: 'Request id for support lookups.';
847
901
  };
848
902
  readonly meta: {
849
- readonly type: "object";
850
- readonly description: "Non-PII diagnostics (safe to log + return).";
903
+ readonly type: 'object';
904
+ readonly description: 'Non-PII diagnostics (safe to log + return).';
851
905
  };
852
906
  };
853
- readonly required: readonly ["code", "message"];
907
+ readonly required: readonly ['code', 'message'];
854
908
  };
855
909
  };
856
910
  };
@@ -860,54 +914,54 @@ declare const responses: {
860
914
  content: {
861
915
  "application/json": {
862
916
  schema: {
863
- readonly type: "object";
917
+ readonly type: 'object';
864
918
  readonly properties: {
865
919
  readonly code: {
866
- readonly type: "string";
920
+ readonly type: 'string';
867
921
  readonly description: "Hierarchical machine-readable code (e.g. 'arc.not_found').";
868
922
  };
869
923
  readonly message: {
870
- readonly type: "string";
871
- readonly description: "Human-readable, safe-for-client message.";
924
+ readonly type: 'string';
925
+ readonly description: 'Human-readable, safe-for-client message.';
872
926
  };
873
927
  readonly status: {
874
- readonly type: "integer";
875
- readonly description: "Suggested HTTP status code (hosts may override).";
928
+ readonly type: 'integer';
929
+ readonly description: 'Suggested HTTP status code (hosts may override).';
876
930
  };
877
931
  readonly details: {
878
- readonly type: "array";
879
- readonly description: "Field-scoped structured details (validation failures, duplicate keys, multi-code domain errors).";
932
+ readonly type: 'array';
933
+ readonly description: 'Field-scoped structured details (validation failures, duplicate keys, multi-code domain errors).';
880
934
  readonly items: {
881
- readonly type: "object";
935
+ readonly type: 'object';
882
936
  readonly properties: {
883
937
  readonly path: {
884
- readonly type: "string";
938
+ readonly type: 'string';
885
939
  readonly description: "Dot-path to the offending field, e.g. 'lines.0.quantity'.";
886
940
  };
887
941
  readonly code: {
888
- readonly type: "string";
942
+ readonly type: 'string';
889
943
  };
890
944
  readonly message: {
891
- readonly type: "string";
945
+ readonly type: 'string';
892
946
  };
893
947
  readonly meta: {
894
- readonly type: "object";
895
- readonly description: "Non-PII per-detail diagnostics (safe to log + return).";
948
+ readonly type: 'object';
949
+ readonly description: 'Non-PII per-detail diagnostics (safe to log + return).';
896
950
  };
897
951
  };
898
- readonly required: readonly ["code", "message"];
952
+ readonly required: readonly ['code', 'message'];
899
953
  };
900
954
  };
901
955
  readonly correlationId: {
902
- readonly type: "string";
903
- readonly description: "Request id for support lookups.";
956
+ readonly type: 'string';
957
+ readonly description: 'Request id for support lookups.';
904
958
  };
905
959
  readonly meta: {
906
- readonly type: "object";
907
- readonly description: "Non-PII diagnostics (safe to log + return).";
960
+ readonly type: 'object';
961
+ readonly description: 'Non-PII diagnostics (safe to log + return).';
908
962
  };
909
963
  };
910
- readonly required: readonly ["code", "message"];
964
+ readonly required: readonly ['code', 'message'];
911
965
  };
912
966
  };
913
967
  };
@@ -917,54 +971,54 @@ declare const responses: {
917
971
  content: {
918
972
  "application/json": {
919
973
  schema: {
920
- readonly type: "object";
974
+ readonly type: 'object';
921
975
  readonly properties: {
922
976
  readonly code: {
923
- readonly type: "string";
977
+ readonly type: 'string';
924
978
  readonly description: "Hierarchical machine-readable code (e.g. 'arc.not_found').";
925
979
  };
926
980
  readonly message: {
927
- readonly type: "string";
928
- readonly description: "Human-readable, safe-for-client message.";
981
+ readonly type: 'string';
982
+ readonly description: 'Human-readable, safe-for-client message.';
929
983
  };
930
984
  readonly status: {
931
- readonly type: "integer";
932
- readonly description: "Suggested HTTP status code (hosts may override).";
985
+ readonly type: 'integer';
986
+ readonly description: 'Suggested HTTP status code (hosts may override).';
933
987
  };
934
988
  readonly details: {
935
- readonly type: "array";
936
- readonly description: "Field-scoped structured details (validation failures, duplicate keys, multi-code domain errors).";
989
+ readonly type: 'array';
990
+ readonly description: 'Field-scoped structured details (validation failures, duplicate keys, multi-code domain errors).';
937
991
  readonly items: {
938
- readonly type: "object";
992
+ readonly type: 'object';
939
993
  readonly properties: {
940
994
  readonly path: {
941
- readonly type: "string";
995
+ readonly type: 'string';
942
996
  readonly description: "Dot-path to the offending field, e.g. 'lines.0.quantity'.";
943
997
  };
944
998
  readonly code: {
945
- readonly type: "string";
999
+ readonly type: 'string';
946
1000
  };
947
1001
  readonly message: {
948
- readonly type: "string";
1002
+ readonly type: 'string';
949
1003
  };
950
1004
  readonly meta: {
951
- readonly type: "object";
952
- readonly description: "Non-PII per-detail diagnostics (safe to log + return).";
1005
+ readonly type: 'object';
1006
+ readonly description: 'Non-PII per-detail diagnostics (safe to log + return).';
953
1007
  };
954
1008
  };
955
- readonly required: readonly ["code", "message"];
1009
+ readonly required: readonly ['code', 'message'];
956
1010
  };
957
1011
  };
958
1012
  readonly correlationId: {
959
- readonly type: "string";
960
- readonly description: "Request id for support lookups.";
1013
+ readonly type: 'string';
1014
+ readonly description: 'Request id for support lookups.';
961
1015
  };
962
1016
  readonly meta: {
963
- readonly type: "object";
964
- readonly description: "Non-PII diagnostics (safe to log + return).";
1017
+ readonly type: 'object';
1018
+ readonly description: 'Non-PII diagnostics (safe to log + return).';
965
1019
  };
966
1020
  };
967
- readonly required: readonly ["code", "message"];
1021
+ readonly required: readonly ['code', 'message'];
968
1022
  };
969
1023
  };
970
1024
  };
@@ -1399,4 +1453,4 @@ declare function hasEvents(instance: FastifyInstance): instance is FastifyInstan
1399
1453
  */
1400
1454
  declare function getUserId(user: UserLike | null | undefined): string | undefined;
1401
1455
  //#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 };
1456
+ 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 };
@@ -1,6 +1,6 @@
1
1
  import { a as OrgAccessDeniedError, c as ServiceUnavailableError, d as createDomainError, f as createError, i as NotFoundError, l as UnauthorizedError, n as ConflictError, o as OrgRequiredError, p as isArcError, r as ForbiddenError, s as RateLimitError, t as ArcError, u as ValidationError } from "../errors-DkO8Nk6-.mjs";
2
- import { A as assertValidConfig, C as withCompensation, D as CircuitState, E as CircuitBreakerRegistry, M as validateResourceConfig, N as simpleEqualityMatcher, O as createCircuitBreaker, S as defineCompensation, T as CircuitBreakerError, _ as ArcQueryParser, a as bareListResponse, b as defineGuard, c as errorDetailSchema, d as keysetListResponse, f as listResponse, g as responses, h as queryParams, i as aggregateListResponse, j as formatValidationErrors, k as createCircuitBreakerRegistry, l as getDefaultCrudSchemas, m as paginationSchema, n as createStateMachine, o as deleteResponse, p as offsetListResponse, r as scheduleBackground, s as errorContractSchema, t as getUserId, u as getListQueryParams, v as createQueryParser, w as CircuitBreaker, x as defineErrorMapper, y as handleRaw } from "../utils-ChjYQpjn.mjs";
2
+ import { A as createCircuitBreaker, C as defineErrorMapper, D as CircuitBreakerError, E as CircuitBreaker, F as simpleEqualityMatcher, M as assertValidConfig, N as formatValidationErrors, O as CircuitBreakerRegistry, P as validateResourceConfig, S as defineGuard, T as withCompensation, _ as ArcQueryParser, a as bareListResponse, b as MONGO_DIALECT, c as errorDetailSchema, d as keysetListResponse, f as listResponse, g as responses, h as queryParams, i as aggregateListResponse, j as createCircuitBreakerRegistry, k as CircuitState, l as getDefaultCrudSchemas, m as paginationSchema, n as createStateMachine, o as deleteResponse, p as offsetListResponse, r as scheduleBackground, s as errorContractSchema, t as getUserId, u as getListQueryParams, v as createQueryParser, w as defineCompensation, x as NEUTRAL_DIALECT, y as handleRaw } from "../utils-CO8a3B_1.mjs";
3
3
  import { a as toJsonSchema, i as isZodSchema, n as convertRouteSchema, r as isJsonSchema, t as convertOpenApiSchemas } from "../schemaConverter-U0MnO9vd.mjs";
4
4
  import { a as promoteStreamTokenToHeader, i as pipeUIMessageStreamToReply, n as forwardedStreamHeaders, r as isReadableStream, t as UI_MESSAGE_STREAM_HEADERS } from "../streaming-BQcW6_Kq.mjs";
5
5
  import { t as hasEvents } from "../typeGuards-C9KXUly6.mjs";
6
- export { ArcError, ArcQueryParser, CircuitBreaker, CircuitBreakerError, CircuitBreakerRegistry, CircuitState, ConflictError, ForbiddenError, NotFoundError, OrgAccessDeniedError, OrgRequiredError, RateLimitError, ServiceUnavailableError, UI_MESSAGE_STREAM_HEADERS, UnauthorizedError, ValidationError, 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 };
6
+ export { ArcError, ArcQueryParser, CircuitBreaker, CircuitBreakerError, CircuitBreakerRegistry, CircuitState, ConflictError, ForbiddenError, MONGO_DIALECT, NEUTRAL_DIALECT, NotFoundError, OrgAccessDeniedError, OrgRequiredError, RateLimitError, ServiceUnavailableError, UI_MESSAGE_STREAM_HEADERS, UnauthorizedError, ValidationError, 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 };