@classytic/arc 2.45.0 → 2.45.1

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 (149) hide show
  1. package/dist/{EventTransport-Ci6hGO1Y.mjs → EventTransport-4b0noGwa.mjs} +2 -2
  2. package/dist/{HookSystem-CtnnYHME.mjs → HookSystem-4pABQnGn.mjs} +2 -2
  3. package/dist/{ResourceRegistry-BNoHOx-D.mjs → ResourceRegistry-BBaN_Ne-.mjs} +2 -2
  4. package/dist/{acquire-BW_2Dt60.mjs → acquire-kiZzy5bX.mjs} +1 -1
  5. package/dist/{actionPermissions-TAc_6LCw.mjs → actionPermissions-BLnbDA6g.mjs} +13 -13
  6. package/dist/audit/index.mjs +4 -4
  7. package/dist/auth/audit.mjs +1 -1
  8. package/dist/auth/index.mjs +7 -7
  9. package/dist/auth/redis-session.mjs +1 -1
  10. package/dist/{authorizationDecision-BixzgirP.mjs → authorizationDecision-CVlaTjAX.mjs} +4 -4
  11. package/dist/{boundedMap-DQfXgxMo.mjs → boundedMap-DSy7KkeX.mjs} +1 -1
  12. package/dist/{buildHandler-mEUmO2_u.mjs → buildHandler-B4IhILv9.mjs} +4 -4
  13. package/dist/cache/index.mjs +4 -4
  14. package/dist/{caching-TQfW2QX7.mjs → caching-DqakP2vY.mjs} +2 -2
  15. package/dist/{claimed-CnEEOHuL.mjs → claimed-XoiVrWZ2.mjs} +1 -1
  16. package/dist/cleanup/index.mjs +4 -4
  17. package/dist/cli/commands/describe.mjs +3 -3
  18. package/dist/cli/commands/docs.mjs +3 -3
  19. package/dist/cli/commands/doctor.mjs +1 -1
  20. package/dist/cli/commands/generate.mjs +2 -2
  21. package/dist/cli/commands/init.mjs +2 -2
  22. package/dist/cli/commands/introspect.mjs +2 -2
  23. package/dist/cli/index.mjs +3 -3
  24. package/dist/{constants-B90SnSQn.mjs → constants-CtWkmWn3.mjs} +1 -1
  25. package/dist/context/index.mjs +5 -5
  26. package/dist/core/index.mjs +7 -7
  27. package/dist/{core-DV9PSXtr.mjs → core-Cro2v5a7.mjs} +3 -3
  28. package/dist/{createActionRouter-BgPCYU2U.mjs → createActionRouter-k-gwiPv6.mjs} +6 -6
  29. package/dist/{createAggregationRouter-lNCkDwKe.mjs → createAggregationRouter-BqWqhAPG.mjs} +7 -7
  30. package/dist/{createApp-BSBPntOQ.mjs → createApp-Dw7L72Hz.mjs} +28 -28
  31. package/dist/{defineAggregation-CwD8_XNd.mjs → defineAggregation-pxbd7BBK.mjs} +1 -1
  32. package/dist/{defineResource-CRkhRRSj.mjs → defineResource-DwgEjLCO.mjs} +7 -7
  33. package/dist/discovery/index.mjs +1 -1
  34. package/dist/docs/index.mjs +3 -3
  35. package/dist/{elevation-BAfsnnO0.mjs → elevation-B9wF2Z1F.mjs} +5 -5
  36. package/dist/encryption/index.mjs +3 -3
  37. package/dist/{errorHandler-DbHGwrQM.mjs → errorHandler-Dr2nG0Ui.mjs} +3 -3
  38. package/dist/{errors-C9G4A8cN.mjs → errors-BtHzrSA6.mjs} +1 -1
  39. package/dist/{eventPlugin-Dghr7iL5.mjs → eventPlugin-Dvs7OBw8.mjs} +8 -8
  40. package/dist/{eventTypes-DDy7BMAn.mjs → eventTypes-BVoCTG5c.mjs} +2 -2
  41. package/dist/events/index.mjs +7 -7
  42. package/dist/events/transports/redis-stream-entry.mjs +4 -4
  43. package/dist/events/transports/redis.mjs +2 -2
  44. package/dist/factory/index.mjs +6 -6
  45. package/dist/{fields-Da--1DNS.mjs → fields-C1e_7Fwi.mjs} +1 -1
  46. package/dist/{filter-merge-BYKBa9b2.mjs → filter-merge-xaiEKtz8.mjs} +1 -1
  47. package/dist/{generate-Cm5Ct81v.mjs → generate-DJiJMaXN.mjs} +2 -2
  48. package/dist/{headers-B6DRXXzT.mjs → headers-Dr-wt6Tr.mjs} +2 -2
  49. package/dist/{health-pLbfckGB.mjs → health-BLYn_Hds.mjs} +1 -1
  50. package/dist/{health-hRGgxnOC.mjs → health-DkkWbJtQ.mjs} +1 -1
  51. package/dist/hooks/index.mjs +2 -2
  52. package/dist/idempotency/index.mjs +7 -7
  53. package/dist/idempotency/redis.mjs +2 -2
  54. package/dist/index.mjs +11 -11
  55. package/dist/{init-lpaUB-Ph.mjs → init-CW3kJqNW.mjs} +1 -1
  56. package/dist/integrations/event-gateway.mjs +2 -2
  57. package/dist/integrations/index.mjs +1 -1
  58. package/dist/integrations/jobs/index.mjs +3 -3
  59. package/dist/integrations/mcp/index.mjs +2 -2
  60. package/dist/integrations/mcp/testing.mjs +2 -2
  61. package/dist/integrations/streamline.mjs +3 -3
  62. package/dist/integrations/webhooks.mjs +3 -3
  63. package/dist/integrations/websocket-pushref-redis.mjs +1 -1
  64. package/dist/integrations/websocket-redis.mjs +1 -1
  65. package/dist/integrations/websocket.mjs +2 -2
  66. package/dist/{jsonBody-CzKHE-Fg.mjs → jsonBody-DPU8yYwA.mjs} +2 -2
  67. package/dist/{keys-BoZKnBel.mjs → keys-Dgn6OYhl.mjs} +1 -1
  68. package/dist/{loadResources-BEKG6bP9.mjs → loadResources-BtKj6P1P.mjs} +3 -3
  69. package/dist/{loadResourcesFromEntry-BEPA0ptL.mjs → loadResourcesFromEntry-Bmq6TnB7.mjs} +2 -2
  70. package/dist/logger/index.mjs +2 -2
  71. package/dist/{logger-vxu0DXf_.mjs → logger-qQNLlOAU.mjs} +1 -1
  72. package/dist/{mcpPlugin-DP_UB0LK.mjs → mcpPlugin-DDfe8jAP.mjs} +22 -22
  73. package/dist/{memory-DJN6kyC8.mjs → memory-C0Blueoh.mjs} +3 -3
  74. package/dist/{metrics-wfr7XFE7.mjs → metrics-DYka72iN.mjs} +3 -3
  75. package/dist/middleware/index.mjs +3 -3
  76. package/dist/migrations/index.mjs +2 -2
  77. package/dist/{module-BtdcGn_E.mjs → module-BszSyWbd.mjs} +1 -1
  78. package/dist/{multipartBody-NHGOuUnG.mjs → multipartBody-RHvIkNmc.mjs} +1 -1
  79. package/dist/{openapi-BCOaGAgE.mjs → openapi-BrFPc3Ny.mjs} +6 -6
  80. package/dist/outbox-admin/index.mjs +5 -5
  81. package/dist/{outbox-module-BVDiMwXb.mjs → outbox-module-DF4Bu_Qa.mjs} +9 -9
  82. package/dist/permissions/index.mjs +7 -7
  83. package/dist/{permissions-IdHJ0_5V.mjs → permissions-DN1CWH56.mjs} +9 -9
  84. package/dist/{pipe-BPJPifhi.mjs → pipe-B8uq865o.mjs} +2 -2
  85. package/dist/pipeline/index.mjs +2 -2
  86. package/dist/{plan-CEedaMlr.mjs → plan-DUGfynNg.mjs} +1 -1
  87. package/dist/{plugin-BDBOS3-c.mjs → plugin-ByU3h-bR.mjs} +22 -22
  88. package/dist/plugins/index.mjs +17 -17
  89. package/dist/plugins/response-cache.mjs +4 -4
  90. package/dist/plugins/tracing-entry.mjs +2 -2
  91. package/dist/{pluralize-B4FcZEyI.mjs → pluralize-Cdya8zYt.mjs} +1 -1
  92. package/dist/presets/filesUpload.mjs +5 -5
  93. package/dist/presets/index.mjs +2 -2
  94. package/dist/presets/multiTenant.mjs +5 -5
  95. package/dist/presets/search.mjs +2 -2
  96. package/dist/{presets-BPjNc-Np.mjs → presets-CCOlKTZw.mjs} +4 -4
  97. package/dist/{projection-BXUOYosj.mjs → projection-BGty6ie4.mjs} +2 -2
  98. package/dist/{queryCachePlugin-s4pBvjFF.mjs → queryCachePlugin-B7itTkWu.mjs} +6 -6
  99. package/dist/{rateLimitKey-C4mkCwQ-.mjs → rateLimitKey-DBWO59H9.mjs} +1 -1
  100. package/dist/{realtime-MPj6eIoV.mjs → realtime-_59Rlje8.mjs} +11 -11
  101. package/dist/registry/index.mjs +3 -3
  102. package/dist/{registry-DIdh6mWE.mjs → registry-uG4wr541.mjs} +2 -2
  103. package/dist/{renewingLease-boGRXWCr.mjs → renewingLease-CiU3ZynH.mjs} +1 -1
  104. package/dist/{replyHelpers-BW_p67QD.mjs → replyHelpers-Dr2pnXZg.mjs} +2 -2
  105. package/dist/{requestContext-B8JKbeb7.mjs → requestContext-DBKIdmDi.mjs} +1 -1
  106. package/dist/{requirement-tXpcD56f.mjs → requirement-DxOaghWD.mjs} +1 -1
  107. package/dist/{resourceRateLimit-DWob9nQ8.mjs → resourceRateLimit-BBdj5yRq.mjs} +2 -2
  108. package/dist/rolldown-runtime-DpVPUeXF.mjs +15 -0
  109. package/dist/{routeValidator-CnmenC4Y.mjs → routeValidator-BNTqM1Eh.mjs} +1 -1
  110. package/dist/{runtimeCapabilities-C7gAbIxC.mjs → runtimeCapabilities-D_3eUO6V.mjs} +1 -1
  111. package/dist/{schedules-Dr9gNFzx.mjs → schedules-CVS7c1nv.mjs} +5 -5
  112. package/dist/{schemaConverter-rzBovk00.mjs → schemaConverter-BQbg7loK.mjs} +2 -2
  113. package/dist/{schemaIR-GrOK1JO4.mjs → schemaIR-CUI3hPQR.mjs} +2 -2
  114. package/dist/schemas/index.mjs +1 -1
  115. package/dist/scim/index.mjs +2 -2
  116. package/dist/scope/index.mjs +5 -5
  117. package/dist/{scope-DpOpxyHT.mjs → scope-DFXngazv.mjs} +4 -4
  118. package/dist/{shutdown-BW8qwgpx.mjs → shutdown-BCXCwghd.mjs} +1 -1
  119. package/dist/{simpleEqualityMatcher-WdZw6GOt.mjs → simpleEqualityMatcher-5jOzYQ_L.mjs} +1 -1
  120. package/dist/{sse-D8AgoUN3.mjs → sse-BilBz766.mjs} +7 -7
  121. package/dist/{sseStream-B7rPhIQw.mjs → sseStream-BG_uJL6J.mjs} +2 -2
  122. package/dist/{store-helpers-Bxk7TDgG.mjs → store-helpers-CzLZdVa1.mjs} +1 -1
  123. package/dist/{streaming-BLg1buwL.mjs → streaming-DgUvMWlv.mjs} +1 -1
  124. package/dist/{subscriberIdentity-Cxp19Ked.mjs → subscriberIdentity-EWnIZ-U8.mjs} +1 -1
  125. package/dist/{tenancy-D7jo78AP.mjs → tenancy-CVMvO5DH.mjs} +2 -2
  126. package/dist/{tenantPreparation-DqJnokDW.mjs → tenantPreparation-DIH-GX4g.mjs} +4 -4
  127. package/dist/testing/cleanupStoreContract.mjs +1 -1
  128. package/dist/testing/index.mjs +15 -16
  129. package/dist/testing/outboxStoreContract.mjs +2 -2
  130. package/dist/testing/requiredPorts.mjs +2 -2
  131. package/dist/testing/storageContract.mjs +1 -1
  132. package/dist/{timing-Y6_ZpoYG.mjs → timing-q9NITK04.mjs} +1 -1
  133. package/dist/{transactionContext-BWp0MBGL.mjs → transactionContext-NHmhDIOF.mjs} +1 -1
  134. package/dist/{typeGuards-CtZJypJO.mjs → typeGuards-CPYR9RCg.mjs} +1 -1
  135. package/dist/types/index.mjs +1 -1
  136. package/dist/types/storage.mjs +1 -1
  137. package/dist/{types-4JKkSvds.mjs → types-BI4sbUJ3.mjs} +4 -4
  138. package/dist/usage/index.mjs +4 -4
  139. package/dist/{userHelpers-Nc5ePCsf.mjs → userHelpers-oBTU3a_k.mjs} +1 -1
  140. package/dist/utils/index.mjs +12 -12
  141. package/dist/{utils-QWSIKqAk.mjs → utils-BmE8zRrh.mjs} +4 -4
  142. package/dist/{validate-CT4umNhp.mjs → validate-Dby08LhR.mjs} +3 -3
  143. package/dist/{versioning-JIqxO64K.mjs → versioning-P6JMNcJr.mjs} +3 -3
  144. package/dist/{workScope-BDjGXwU9.mjs → workScope-BcMLKa3G.mjs} +2 -2
  145. package/package.json +1 -1
  146. package/dist/mongodb-memory-server-Cn57YIsc.mjs +0 -35539
  147. package/dist/mongoose-DzFjTtBN.mjs +0 -67451
  148. package/dist/node-C0HB_V6E.mjs +0 -41236
  149. package/dist/rolldown-runtime-AD16t29l.mjs +0 -45
@@ -1,5 +1,5 @@
1
- /*! @classytic/arc v2.45.0 | MIT | https://classytic.com */
2
- import { r as workSeedFromEvent, t as runWorkScope } from "./workScope-BDjGXwU9.mjs";
1
+ /*! @classytic/arc v2.45.1 | MIT | https://classytic.com */
2
+ import { r as workSeedFromEvent, t as runWorkScope } from "./workScope-BcMLKa3G.mjs";
3
3
  import { createEvent, createEventRouter } from "@classytic/primitives/events";
4
4
  //#region src/events/EventTransport.ts
5
5
  /**
@@ -1,5 +1,5 @@
1
- /*! @classytic/arc v2.45.0 | MIT | https://classytic.com */
2
- import { t as buildRequestScopeProjection } from "./projection-BXUOYosj.mjs";
1
+ /*! @classytic/arc v2.45.1 | MIT | https://classytic.com */
2
+ import { t as buildRequestScopeProjection } from "./projection-BGty6ie4.mjs";
3
3
  //#region src/hooks/HookSystem.ts
4
4
  /**
5
5
  * Hook System
@@ -1,5 +1,5 @@
1
- /*! @classytic/arc v2.45.0 | MIT | https://classytic.com */
2
- import "./constants-B90SnSQn.mjs";
1
+ /*! @classytic/arc v2.45.1 | MIT | https://classytic.com */
2
+ import "./constants-CtWkmWn3.mjs";
3
3
  //#region src/registry/ResourceRegistry.ts
4
4
  /**
5
5
  * Resource Registry
@@ -1,4 +1,4 @@
1
- /*! @classytic/arc v2.45.0 | MIT | https://classytic.com */
1
+ /*! @classytic/arc v2.45.1 | MIT | https://classytic.com */
2
2
  //#region src/idempotency/acquire.ts
3
3
  async function acquireIdempotencyKey(store, key, requestId, lockTtlMs) {
4
4
  if (typeof store.acquire === "function") return store.acquire(key, requestId, lockTtlMs);
@@ -1,16 +1,16 @@
1
- /*! @classytic/arc v2.45.0 | MIT | https://classytic.com */
2
- import { f as createError } from "./errors-C9G4A8cN.mjs";
3
- import { n as getUserRoles } from "./userHelpers-Nc5ePCsf.mjs";
4
- import { b as isElevated, n as PUBLIC_SCOPE, u as getRequestScope, x as isMember } from "./types-4JKkSvds.mjs";
5
- import { a as resolveEffectiveRoles, r as deriveHiddenFieldPermissions, t as applyFieldReadPermissions } from "./fields-Da--1DNS.mjs";
6
- import { t as buildRequestScopeProjection } from "./projection-BXUOYosj.mjs";
7
- import { n as requestContext } from "./requestContext-B8JKbeb7.mjs";
8
- import { n as isTenantPreparation } from "./tenantPreparation-DqJnokDW.mjs";
9
- import { n as evaluateAndApplyPermission } from "./authorizationDecision-BixzgirP.mjs";
10
- import { t as executePipeline } from "./pipe-BPJPifhi.mjs";
11
- import { n as idempotencyConfigProblem, t as declaresIdempotencyFence } from "./requirement-tXpcD56f.mjs";
12
- import { i as resolveResourceRateLimiter, r as recordUnenforcedRateLimit } from "./resourceRateLimit-DWob9nQ8.mjs";
13
- import { n as arcRouteValidatorCompiler } from "./routeValidator-CnmenC4Y.mjs";
1
+ /*! @classytic/arc v2.45.1 | MIT | https://classytic.com */
2
+ import { f as createError } from "./errors-BtHzrSA6.mjs";
3
+ import { n as getUserRoles } from "./userHelpers-oBTU3a_k.mjs";
4
+ import { b as isElevated, n as PUBLIC_SCOPE, u as getRequestScope, x as isMember } from "./types-BI4sbUJ3.mjs";
5
+ import { a as resolveEffectiveRoles, r as deriveHiddenFieldPermissions, t as applyFieldReadPermissions } from "./fields-C1e_7Fwi.mjs";
6
+ import { t as buildRequestScopeProjection } from "./projection-BGty6ie4.mjs";
7
+ import { n as requestContext } from "./requestContext-DBKIdmDi.mjs";
8
+ import { n as isTenantPreparation } from "./tenantPreparation-DIH-GX4g.mjs";
9
+ import { n as evaluateAndApplyPermission } from "./authorizationDecision-CVlaTjAX.mjs";
10
+ import { t as executePipeline } from "./pipe-B8uq865o.mjs";
11
+ import { n as idempotencyConfigProblem, t as declaresIdempotencyFence } from "./requirement-DxOaghWD.mjs";
12
+ import { i as resolveResourceRateLimiter, r as recordUnenforcedRateLimit } from "./resourceRateLimit-BBdj5yRq.mjs";
13
+ import { n as arcRouteValidatorCompiler } from "./routeValidator-BNTqM1Eh.mjs";
14
14
  import { isPaginatedResult, toCanonicalList } from "@classytic/repo-core/pagination";
15
15
  //#region src/core/fastifyAdapter.ts
16
16
  /** Type guard for Mongoose-like documents with toObject() */
@@ -1,7 +1,7 @@
1
- /*! @classytic/arc v2.45.0 | MIT | https://classytic.com */
2
- import { g as getUserId, i as getClientId } from "../types-4JKkSvds.mjs";
3
- import { t as transactionContext } from "../transactionContext-BWp0MBGL.mjs";
4
- import { n as declareRuntimeCapability } from "../runtimeCapabilities-C7gAbIxC.mjs";
1
+ /*! @classytic/arc v2.45.1 | MIT | https://classytic.com */
2
+ import { g as getUserId, i as getClientId } from "../types-BI4sbUJ3.mjs";
3
+ import { t as transactionContext } from "../transactionContext-NHmhDIOF.mjs";
4
+ import { n as declareRuntimeCapability } from "../runtimeCapabilities-D_3eUO6V.mjs";
5
5
  import { and, anyOf, eq, gte, lt, lte } from "@classytic/repo-core/filter";
6
6
  import fp from "fastify-plugin";
7
7
  //#region src/audit/repository-audit-adapter.ts
@@ -1,4 +1,4 @@
1
- /*! @classytic/arc v2.45.0 | MIT | https://classytic.com */
1
+ /*! @classytic/arc v2.45.1 | MIT | https://classytic.com */
2
2
  //#region src/auth/audit.ts
3
3
  function compileGlobs(patterns) {
4
4
  if (patterns.length === 0) return () => false;
@@ -1,10 +1,10 @@
1
- /*! @classytic/arc v2.45.0 | MIT | https://classytic.com */
2
- import { d as createDomainError, l as UnauthorizedError, p as isArcError, t as ArcError } from "../errors-C9G4A8cN.mjs";
3
- import { n as requireSingleHeaderValue } from "../headers-B6DRXXzT.mjs";
4
- import { n as getUserRoles, r as normalizeRoles } from "../userHelpers-Nc5ePCsf.mjs";
5
- import { o as toJsonSchema } from "../schemaConverter-rzBovk00.mjs";
6
- import { n as declareRuntimeCapability } from "../runtimeCapabilities-C7gAbIxC.mjs";
7
- import { E as requireOrgRole, T as requireOrgMembership, k as requireTeamMembership } from "../permissions-IdHJ0_5V.mjs";
1
+ /*! @classytic/arc v2.45.1 | MIT | https://classytic.com */
2
+ import { d as createDomainError, l as UnauthorizedError, p as isArcError, t as ArcError } from "../errors-BtHzrSA6.mjs";
3
+ import { n as requireSingleHeaderValue } from "../headers-Dr-wt6Tr.mjs";
4
+ import { n as getUserRoles, r as normalizeRoles } from "../userHelpers-oBTU3a_k.mjs";
5
+ import { o as toJsonSchema } from "../schemaConverter-BQbg7loK.mjs";
6
+ import { n as declareRuntimeCapability } from "../runtimeCapabilities-D_3eUO6V.mjs";
7
+ import { E as requireOrgRole, T as requireOrgMembership, k as requireTeamMembership } from "../permissions-DN1CWH56.mjs";
8
8
  import { ARC_ERROR_CODES } from "@classytic/repo-core/errors";
9
9
  import { isProductionEnv } from "@classytic/primitives/environment";
10
10
  import { createHmac, randomUUID, timingSafeEqual } from "node:crypto";
@@ -1,4 +1,4 @@
1
- /*! @classytic/arc v2.45.0 | MIT | https://classytic.com */
1
+ /*! @classytic/arc v2.45.1 | MIT | https://classytic.com */
2
2
  import sjson from "secure-json-parse";
3
3
  //#region src/auth/redis-session.ts
4
4
  /**
@@ -1,7 +1,7 @@
1
- /*! @classytic/arc v2.45.0 | MIT | https://classytic.com */
2
- import { t as arcLog } from "./logger-vxu0DXf_.mjs";
3
- import { t as conjoinPolicyFilters } from "./filter-merge-BYKBa9b2.mjs";
4
- import { t as ArcError } from "./errors-C9G4A8cN.mjs";
1
+ /*! @classytic/arc v2.45.1 | MIT | https://classytic.com */
2
+ import { t as arcLog } from "./logger-qQNLlOAU.mjs";
3
+ import { t as conjoinPolicyFilters } from "./filter-merge-xaiEKtz8.mjs";
4
+ import { t as ArcError } from "./errors-BtHzrSA6.mjs";
5
5
  //#region src/permissions/authorizationDecision.ts
6
6
  const log = arcLog("permissions:enforce");
7
7
  /**
@@ -1,4 +1,4 @@
1
- /*! @classytic/arc v2.45.0 | MIT | https://classytic.com */
1
+ /*! @classytic/arc v2.45.1 | MIT | https://classytic.com */
2
2
  //#region src/collections/boundedMap.ts
3
3
  /**
4
4
  * Insertion-order LRU on a plain `Map` — the two moves, written once.
@@ -1,7 +1,7 @@
1
- /*! @classytic/arc v2.45.0 | MIT | https://classytic.com */
2
- import { t as conjoinPolicyFilters } from "./filter-merge-BYKBa9b2.mjs";
3
- import { C as toRepositoryFilter } from "./plugin-BDBOS3-c.mjs";
4
- import { i as compileAggRequest, t as adapterSupportsAggregate } from "./validate-CT4umNhp.mjs";
1
+ /*! @classytic/arc v2.45.1 | MIT | https://classytic.com */
2
+ import { t as conjoinPolicyFilters } from "./filter-merge-xaiEKtz8.mjs";
3
+ import { C as toRepositoryFilter } from "./plugin-ByU3h-bR.mjs";
4
+ import { i as compileAggRequest, t as adapterSupportsAggregate } from "./validate-Dby08LhR.mjs";
5
5
  //#region src/core/aggregation/buildHandler.ts
6
6
  /**
7
7
  * Framework-agnostic aggregation execution. Runs safety guards,
@@ -1,7 +1,7 @@
1
- /*! @classytic/arc v2.45.0 | MIT | https://classytic.com */
2
- import { i as versionKey, n as hashParams, r as tagVersionKey, t as buildQueryKey } from "../keys-BoZKnBel.mjs";
3
- import { t as MemoryCacheStore } from "../memory-DJN6kyC8.mjs";
4
- import { r as QueryCache, t as queryCachePlugin } from "../queryCachePlugin-s4pBvjFF.mjs";
1
+ /*! @classytic/arc v2.45.1 | MIT | https://classytic.com */
2
+ import { i as versionKey, n as hashParams, r as tagVersionKey, t as buildQueryKey } from "../keys-Dgn6OYhl.mjs";
3
+ import { t as MemoryCacheStore } from "../memory-C0Blueoh.mjs";
4
+ import { r as QueryCache, t as queryCachePlugin } from "../queryCachePlugin-B7itTkWu.mjs";
5
5
  //#region src/cache/redis.ts
6
6
  /**
7
7
  * Redis-backed cache store.
@@ -1,5 +1,5 @@
1
- /*! @classytic/arc v2.45.0 | MIT | https://classytic.com */
2
- import { r as __exportAll } from "./rolldown-runtime-AD16t29l.mjs";
1
+ /*! @classytic/arc v2.45.1 | MIT | https://classytic.com */
2
+ import { t as __exportAll } from "./rolldown-runtime-DpVPUeXF.mjs";
3
3
  import fp from "fastify-plugin";
4
4
  //#region src/plugins/caching.ts
5
5
  var caching_exports = /* @__PURE__ */ __exportAll({
@@ -1,4 +1,4 @@
1
- /*! @classytic/arc v2.45.0 | MIT | https://classytic.com */
1
+ /*! @classytic/arc v2.45.1 | MIT | https://classytic.com */
2
2
  //#region src/events/outbox/claimed.ts
3
3
  function claimedAttempts(claimed) {
4
4
  const value = claimed.attempts;
@@ -1,7 +1,7 @@
1
- /*! @classytic/arc v2.45.0 | MIT | https://classytic.com */
2
- import { g as getUserId } from "../types-4JKkSvds.mjs";
3
- import { t as defineResource } from "../defineResource-CRkhRRSj.mjs";
4
- import { t as defineModule } from "../module-BtdcGn_E.mjs";
1
+ /*! @classytic/arc v2.45.1 | MIT | https://classytic.com */
2
+ import { g as getUserId } from "../types-BI4sbUJ3.mjs";
3
+ import { t as defineResource } from "../defineResource-DwgEjLCO.mjs";
4
+ import { t as defineModule } from "../module-BszSyWbd.mjs";
5
5
  import { createPurgeEvidence } from "@classytic/primitives/retention";
6
6
  import { canonicalJson, sha256Hex } from "@classytic/primitives/canonical";
7
7
  //#region src/cleanup/errors.ts
@@ -1,6 +1,6 @@
1
- /*! @classytic/arc v2.45.0 | MIT | https://classytic.com */
2
- import { t as CRUD_OPERATIONS } from "../../constants-B90SnSQn.mjs";
3
- import { n as stringifyMeasureMap } from "../../ResourceRegistry-BNoHOx-D.mjs";
1
+ /*! @classytic/arc v2.45.1 | MIT | https://classytic.com */
2
+ import { t as CRUD_OPERATIONS } from "../../constants-CtWkmWn3.mjs";
3
+ import { n as stringifyMeasureMap } from "../../ResourceRegistry-BBaN_Ne-.mjs";
4
4
  import { resolve } from "node:path";
5
5
  import { pathToFileURL } from "node:url";
6
6
  //#region src/cli/commands/describe.ts
@@ -1,6 +1,6 @@
1
- /*! @classytic/arc v2.45.0 | MIT | https://classytic.com */
2
- import { t as buildOpenApiSpec } from "../../openapi-BCOaGAgE.mjs";
3
- import { t as loadResourcesFromEntry } from "../../loadResourcesFromEntry-BEPA0ptL.mjs";
1
+ /*! @classytic/arc v2.45.1 | MIT | https://classytic.com */
2
+ import { t as buildOpenApiSpec } from "../../openapi-BrFPc3Ny.mjs";
3
+ import { t as loadResourcesFromEntry } from "../../loadResourcesFromEntry-Bmq6TnB7.mjs";
4
4
  import { dirname, resolve } from "node:path";
5
5
  import { mkdirSync, writeFileSync } from "node:fs";
6
6
  //#region src/cli/commands/docs.ts
@@ -1,4 +1,4 @@
1
- /*! @classytic/arc v2.45.0 | MIT | https://classytic.com */
1
+ /*! @classytic/arc v2.45.1 | MIT | https://classytic.com */
2
2
  import { dirname, join, parse, resolve } from "node:path";
3
3
  import { existsSync, readFileSync } from "node:fs";
4
4
  //#region src/cli/commands/doctor.ts
@@ -1,2 +1,2 @@
1
- /*! @classytic/arc v2.45.0 | MIT | https://classytic.com */
2
- export { t as generate } from "../../generate-Cm5Ct81v.mjs";
1
+ /*! @classytic/arc v2.45.1 | MIT | https://classytic.com */
2
+ export { t as generate } from "../../generate-DJiJMaXN.mjs";
@@ -1,2 +1,2 @@
1
- /*! @classytic/arc v2.45.0 | MIT | https://classytic.com */
2
- export { t as init } from "../../init-lpaUB-Ph.mjs";
1
+ /*! @classytic/arc v2.45.1 | MIT | https://classytic.com */
2
+ export { t as init } from "../../init-CW3kJqNW.mjs";
@@ -1,5 +1,5 @@
1
- /*! @classytic/arc v2.45.0 | MIT | https://classytic.com */
2
- import { t as loadResourcesFromEntry } from "../../loadResourcesFromEntry-BEPA0ptL.mjs";
1
+ /*! @classytic/arc v2.45.1 | MIT | https://classytic.com */
2
+ import { t as loadResourcesFromEntry } from "../../loadResourcesFromEntry-Bmq6TnB7.mjs";
3
3
  //#region src/cli/commands/introspect.ts
4
4
  function describePermission(value) {
5
5
  if (!value) return "none";
@@ -1,8 +1,8 @@
1
- /*! @classytic/arc v2.45.0 | MIT | https://classytic.com */
1
+ /*! @classytic/arc v2.45.1 | MIT | https://classytic.com */
2
2
  import { describe } from "./commands/describe.mjs";
3
3
  import { exportDocs } from "./commands/docs.mjs";
4
4
  import { doctor } from "./commands/doctor.mjs";
5
- import { t as generate } from "../generate-Cm5Ct81v.mjs";
6
- import { t as init } from "../init-lpaUB-Ph.mjs";
5
+ import { t as generate } from "../generate-DJiJMaXN.mjs";
6
+ import { t as init } from "../init-CW3kJqNW.mjs";
7
7
  import { introspect } from "./commands/introspect.mjs";
8
8
  export { describe, doctor, exportDocs, generate, init, introspect };
@@ -1,4 +1,4 @@
1
- /*! @classytic/arc v2.45.0 | MIT | https://classytic.com */
1
+ /*! @classytic/arc v2.45.1 | MIT | https://classytic.com */
2
2
  //#region src/constants.ts
3
3
  /**
4
4
  * Arc Framework Constants — Single Source of Truth
@@ -1,8 +1,8 @@
1
- /*! @classytic/arc v2.45.0 | MIT | https://classytic.com */
2
- import { t as transactionContext } from "../transactionContext-BWp0MBGL.mjs";
3
- import { n as requestContext, t as getTraceHeaders } from "../requestContext-B8JKbeb7.mjs";
4
- import { n as evictToSize, r as touch } from "../boundedMap-DQfXgxMo.mjs";
5
- import { n as scopedValue, r as workSeedFromEvent, t as runWorkScope } from "../workScope-BDjGXwU9.mjs";
1
+ /*! @classytic/arc v2.45.1 | MIT | https://classytic.com */
2
+ import { t as transactionContext } from "../transactionContext-NHmhDIOF.mjs";
3
+ import { n as requestContext, t as getTraceHeaders } from "../requestContext-DBKIdmDi.mjs";
4
+ import { n as evictToSize, r as touch } from "../boundedMap-DSy7KkeX.mjs";
5
+ import { n as scopedValue, r as workSeedFromEvent, t as runWorkScope } from "../workScope-BcMLKa3G.mjs";
6
6
  //#region src/context/requestScopedCache.ts
7
7
  /** The memo slot the per-scope store hangs off. */
8
8
  const SLOT = Symbol.for("arc.requestScopedCache");
@@ -1,8 +1,8 @@
1
- /*! @classytic/arc v2.45.0 | MIT | https://classytic.com */
2
- import { a as DEFAULT_SORT, c as DEFAULT_VERSION_FIELD, d as MAX_FILTER_DEPTH, f as MAX_REGEX_LENGTH, g as SYSTEM_FIELDS, h as RESERVED_QUERY_PARAMS, i as DEFAULT_MAX_LIMIT, l as HOOK_OPERATIONS, m as MUTATION_OPERATIONS, n as DEFAULT_ID_FIELD, o as DEFAULT_TENANT_FIELD, p as MAX_SEARCH_LENGTH, r as DEFAULT_LIMIT, s as DEFAULT_UPDATE_METHOD, t as CRUD_OPERATIONS, u as HOOK_PHASES } from "../constants-B90SnSQn.mjs";
3
- import { S as nativePolicyFilter, b as BodySanitizer, c as BaseController, d as SlugMixin, f as BulkMixin, g as isFieldReadable, h as collectReadBlockedFields, l as TreeMixin, m as QueryResolver, o as createCrudRouter, p as BaseCrudController, s as createPermissionMiddleware, u as SoftDeleteMixin, x as AccessControl } from "../plugin-BDBOS3-c.mjs";
4
- import { t as defineAggregation } from "../defineAggregation-CwD8_XNd.mjs";
5
- import { C as sendControllerResponse, S as getControllerScope, b as createRequestContext, x as getControllerContext, y as createFastifyHandler } from "../actionPermissions-TAc_6LCw.mjs";
6
- import { a as defineResourceVariants, i as getEntityQuery, n as getEntityId, o as mergeResourceConfig, r as getEntityIdField, s as defineAction, t as getActionTarget } from "../core-DV9PSXtr.mjs";
7
- import { a as ResourceDefinition, i as validateResourceConfig, n as assertValidConfig, r as formatValidationErrors, t as defineResource } from "../defineResource-CRkhRRSj.mjs";
1
+ /*! @classytic/arc v2.45.1 | MIT | https://classytic.com */
2
+ import { a as DEFAULT_SORT, c as DEFAULT_VERSION_FIELD, d as MAX_FILTER_DEPTH, f as MAX_REGEX_LENGTH, g as SYSTEM_FIELDS, h as RESERVED_QUERY_PARAMS, i as DEFAULT_MAX_LIMIT, l as HOOK_OPERATIONS, m as MUTATION_OPERATIONS, n as DEFAULT_ID_FIELD, o as DEFAULT_TENANT_FIELD, p as MAX_SEARCH_LENGTH, r as DEFAULT_LIMIT, s as DEFAULT_UPDATE_METHOD, t as CRUD_OPERATIONS, u as HOOK_PHASES } from "../constants-CtWkmWn3.mjs";
3
+ import { S as nativePolicyFilter, b as BodySanitizer, c as BaseController, d as SlugMixin, f as BulkMixin, g as isFieldReadable, h as collectReadBlockedFields, l as TreeMixin, m as QueryResolver, o as createCrudRouter, p as BaseCrudController, s as createPermissionMiddleware, u as SoftDeleteMixin, x as AccessControl } from "../plugin-ByU3h-bR.mjs";
4
+ import { t as defineAggregation } from "../defineAggregation-pxbd7BBK.mjs";
5
+ import { C as sendControllerResponse, S as getControllerScope, b as createRequestContext, x as getControllerContext, y as createFastifyHandler } from "../actionPermissions-BLnbDA6g.mjs";
6
+ import { a as defineResourceVariants, i as getEntityQuery, n as getEntityId, o as mergeResourceConfig, r as getEntityIdField, s as defineAction, t as getActionTarget } from "../core-Cro2v5a7.mjs";
7
+ import { a as ResourceDefinition, i as validateResourceConfig, n as assertValidConfig, r as formatValidationErrors, t as defineResource } from "../defineResource-DwgEjLCO.mjs";
8
8
  export { AccessControl, BaseController, BaseCrudController, BodySanitizer, BulkMixin, CRUD_OPERATIONS, DEFAULT_ID_FIELD, DEFAULT_LIMIT, DEFAULT_MAX_LIMIT, DEFAULT_SORT, DEFAULT_TENANT_FIELD, DEFAULT_UPDATE_METHOD, DEFAULT_VERSION_FIELD, HOOK_OPERATIONS, HOOK_PHASES, MAX_FILTER_DEPTH, MAX_REGEX_LENGTH, MAX_SEARCH_LENGTH, MUTATION_OPERATIONS, QueryResolver, RESERVED_QUERY_PARAMS, ResourceDefinition, SYSTEM_FIELDS, SlugMixin, SoftDeleteMixin, TreeMixin, assertValidConfig, collectReadBlockedFields, createCrudRouter, createFastifyHandler, createPermissionMiddleware, createRequestContext, defineAction, defineAggregation, defineResource, defineResourceVariants, formatValidationErrors, getActionTarget, getControllerContext, getControllerScope, getEntityId, getEntityIdField, getEntityQuery, isFieldReadable, mergeResourceConfig, nativePolicyFilter, sendControllerResponse, validateResourceConfig };
@@ -1,6 +1,6 @@
1
- /*! @classytic/arc v2.45.0 | MIT | https://classytic.com */
2
- import "./constants-B90SnSQn.mjs";
3
- import { t as defineResource } from "./defineResource-CRkhRRSj.mjs";
1
+ /*! @classytic/arc v2.45.1 | MIT | https://classytic.com */
2
+ import "./constants-CtWkmWn3.mjs";
3
+ import { t as defineResource } from "./defineResource-DwgEjLCO.mjs";
4
4
  //#region src/core/defineAction.ts
5
5
  /**
6
6
  * Build an `ActionDefinition` with a typed handler. The literal schema
@@ -1,9 +1,9 @@
1
- /*! @classytic/arc v2.45.0 | MIT | https://classytic.com */
2
- import { r as __exportAll } from "./rolldown-runtime-AD16t29l.mjs";
3
- import "./constants-B90SnSQn.mjs";
4
- import { f as createError, i as NotFoundError, u as ValidationError } from "./errors-C9G4A8cN.mjs";
5
- import { C as sendControllerResponse, _ as buildArcDecorator, a as resolveRouterPluginMw, f as buildRouteHooks, g as buildAuthMiddlewareForPermissions, i as buildRouteConfig, l as resolvePipelineSteps, m as routeHookOptions, n as tryRegisterRoute, o as selectPluginMw, r as buildRateLimitConfig, s as buildActionPipelineHandler, u as buildActionPermissionMw } from "./actionPermissions-TAc_6LCw.mjs";
6
- import { n as schemaIRToJsonSchemaBranch, t as normalizeSchemaIR } from "./schemaIR-GrOK1JO4.mjs";
1
+ /*! @classytic/arc v2.45.1 | MIT | https://classytic.com */
2
+ import { t as __exportAll } from "./rolldown-runtime-DpVPUeXF.mjs";
3
+ import "./constants-CtWkmWn3.mjs";
4
+ import { f as createError, i as NotFoundError, u as ValidationError } from "./errors-BtHzrSA6.mjs";
5
+ import { C as sendControllerResponse, _ as buildArcDecorator, a as resolveRouterPluginMw, f as buildRouteHooks, g as buildAuthMiddlewareForPermissions, i as buildRouteConfig, l as resolvePipelineSteps, m as routeHookOptions, n as tryRegisterRoute, o as selectPluginMw, r as buildRateLimitConfig, s as buildActionPipelineHandler, u as buildActionPermissionMw } from "./actionPermissions-BLnbDA6g.mjs";
6
+ import { n as schemaIRToJsonSchemaBranch, t as normalizeSchemaIR } from "./schemaIR-CUI3hPQR.mjs";
7
7
  //#region src/core/createActionRouter.ts
8
8
  var createActionRouter_exports = /* @__PURE__ */ __exportAll({
9
9
  buildActionBodySchema: () => buildActionBodySchema,
@@ -1,10 +1,10 @@
1
- /*! @classytic/arc v2.45.0 | MIT | https://classytic.com */
2
- import { f as createError } from "./errors-C9G4A8cN.mjs";
3
- import { u as getRequestScope } from "./types-4JKkSvds.mjs";
4
- import { _ as buildArcDecorator, a as resolveRouterPluginMw, f as buildRouteHooks, h as buildAuthMiddleware, m as routeHookOptions, n as tryRegisterRoute, o as selectPluginMw, r as buildRateLimitConfig } from "./actionPermissions-TAc_6LCw.mjs";
5
- import { n as evaluateAndApplyPermission } from "./authorizationDecision-BixzgirP.mjs";
6
- import { n as validateAggregations } from "./validate-CT4umNhp.mjs";
7
- import { t as buildAggregationHandler } from "./buildHandler-mEUmO2_u.mjs";
1
+ /*! @classytic/arc v2.45.1 | MIT | https://classytic.com */
2
+ import { f as createError } from "./errors-BtHzrSA6.mjs";
3
+ import { u as getRequestScope } from "./types-BI4sbUJ3.mjs";
4
+ import { _ as buildArcDecorator, a as resolveRouterPluginMw, f as buildRouteHooks, h as buildAuthMiddleware, m as routeHookOptions, n as tryRegisterRoute, o as selectPluginMw, r as buildRateLimitConfig } from "./actionPermissions-BLnbDA6g.mjs";
5
+ import { n as evaluateAndApplyPermission } from "./authorizationDecision-CVlaTjAX.mjs";
6
+ import { n as validateAggregations } from "./validate-Dby08LhR.mjs";
7
+ import { t as buildAggregationHandler } from "./buildHandler-B4IhILv9.mjs";
8
8
  //#region src/core/aggregation/createAggregationRouter.ts
9
9
  /**
10
10
  * Register one Fastify route per aggregation. No-op when the map is
@@ -1,18 +1,18 @@
1
- /*! @classytic/arc v2.45.0 | MIT | https://classytic.com */
2
- import { r as __exportAll } from "./rolldown-runtime-AD16t29l.mjs";
3
- import { a as enterArcLoggerScope, i as runWithArcLogger, n as configureArcLogger, r as createPinoWriter, t as arcLog } from "./logger-vxu0DXf_.mjs";
4
- import { n as PUBLIC_SCOPE } from "./types-4JKkSvds.mjs";
5
- import { r as initRuntimeCapabilityRegistry, t as auditRuntimeCapabilities } from "./runtimeCapabilities-C7gAbIxC.mjs";
6
- import { a as runShutdown, t as initShutdownRegistry } from "./shutdown-BW8qwgpx.mjs";
7
- import { n as isScopeAwareKeyGenerator, t as createTenantKeyGenerator } from "./rateLimitKey-C4mkCwQ-.mjs";
8
- import { i as resolveResourceRateLimiter, n as markRateLimitingDisabled } from "./resourceRateLimit-DWob9nQ8.mjs";
9
- import { r as markArcRootValidator, t as arcAjvCustomOptions } from "./routeValidator-CnmenC4Y.mjs";
10
- import { c as createRequestIdGenerator, r as mergeHealthChecks } from "./health-pLbfckGB.mjs";
11
- import { t as parseJsonBody } from "./jsonBody-CzKHE-Fg.mjs";
12
- import { a as portsForModule, b as verifyEventDurability, f as resolveModuleArm, g as crudEventsOf, h as buildModuleGraph, m as analyzeModuleGraph, n as composeModules, x as verifyModuleGraph } from "./plan-CEedaMlr.mjs";
13
- import { c as wrapWithAttribution, f as defineEvent, l as wrapWithBoundary, r as CRUD_EVENT_SCHEMA } from "./eventTypes-DDy7BMAn.mjs";
14
- import { r as withSubscriberId } from "./subscriberIdentity-Cxp19Ked.mjs";
15
- import { r as getOptionalModuleExports } from "./module-BtdcGn_E.mjs";
1
+ /*! @classytic/arc v2.45.1 | MIT | https://classytic.com */
2
+ import { t as __exportAll } from "./rolldown-runtime-DpVPUeXF.mjs";
3
+ import { a as enterArcLoggerScope, i as runWithArcLogger, n as configureArcLogger, r as createPinoWriter, t as arcLog } from "./logger-qQNLlOAU.mjs";
4
+ import { n as PUBLIC_SCOPE } from "./types-BI4sbUJ3.mjs";
5
+ import { r as initRuntimeCapabilityRegistry, t as auditRuntimeCapabilities } from "./runtimeCapabilities-D_3eUO6V.mjs";
6
+ import { a as runShutdown, t as initShutdownRegistry } from "./shutdown-BCXCwghd.mjs";
7
+ import { n as isScopeAwareKeyGenerator, t as createTenantKeyGenerator } from "./rateLimitKey-DBWO59H9.mjs";
8
+ import { i as resolveResourceRateLimiter, n as markRateLimitingDisabled } from "./resourceRateLimit-BBdj5yRq.mjs";
9
+ import { r as markArcRootValidator, t as arcAjvCustomOptions } from "./routeValidator-BNTqM1Eh.mjs";
10
+ import { c as createRequestIdGenerator, r as mergeHealthChecks } from "./health-BLYn_Hds.mjs";
11
+ import { t as parseJsonBody } from "./jsonBody-DPU8yYwA.mjs";
12
+ import { a as portsForModule, b as verifyEventDurability, f as resolveModuleArm, g as crudEventsOf, h as buildModuleGraph, m as analyzeModuleGraph, n as composeModules, x as verifyModuleGraph } from "./plan-DUGfynNg.mjs";
13
+ import { c as wrapWithAttribution, f as defineEvent, l as wrapWithBoundary, r as CRUD_EVENT_SCHEMA } from "./eventTypes-BVoCTG5c.mjs";
14
+ import { r as withSubscriberId } from "./subscriberIdentity-EWnIZ-U8.mjs";
15
+ import { r as getOptionalModuleExports } from "./module-BszSyWbd.mjs";
16
16
  import { isProductionEnv, readEnv } from "@classytic/primitives/environment";
17
17
  import Fastify from "fastify";
18
18
  import qs from "qs";
@@ -774,7 +774,7 @@ async function registerArcCore(fastify, config, trackPlugin) {
774
774
  await fastify.register(arcCorePlugin, { emitEvents: config.arcPlugins?.emitEvents !== false });
775
775
  trackPlugin("arc-core");
776
776
  if (config.arcPlugins?.events !== false) {
777
- const { default: eventPlugin } = await import("./eventPlugin-Dghr7iL5.mjs").then((n) => n.r);
777
+ const { default: eventPlugin } = await import("./eventPlugin-Dvs7OBw8.mjs").then((n) => n.r);
778
778
  const eventOpts = typeof config.arcPlugins?.events === "object" ? config.arcPlugins.events : {};
779
779
  await fastify.register(eventPlugin, {
780
780
  /**
@@ -829,15 +829,15 @@ async function registerArcPlugins(fastify, config, trackPlugin, modules, moduleH
829
829
  trackPlugin("arc-graceful-shutdown", shutdownOpts);
830
830
  }
831
831
  if (config.arcPlugins?.caching) {
832
- const { default: cachingPlugin } = await import("./caching-TQfW2QX7.mjs").then((n) => n.n);
832
+ const { default: cachingPlugin } = await import("./caching-DqakP2vY.mjs").then((n) => n.n);
833
833
  const opts = config.arcPlugins.caching === true ? {} : config.arcPlugins.caching;
834
834
  await fastify.register(cachingPlugin, opts);
835
835
  trackPlugin("arc-caching", opts);
836
836
  }
837
837
  if (config.arcPlugins?.queryCache) {
838
- const { queryCachePlugin } = await import("./queryCachePlugin-s4pBvjFF.mjs").then((n) => n.n);
838
+ const { queryCachePlugin } = await import("./queryCachePlugin-B7itTkWu.mjs").then((n) => n.n);
839
839
  const opts = config.arcPlugins.queryCache === true ? {} : config.arcPlugins.queryCache;
840
- const store = config.stores?.queryCache ?? new (await (import("./memory-DJN6kyC8.mjs").then((n) => n.n))).MemoryCacheStore();
840
+ const store = config.stores?.queryCache ?? new (await (import("./memory-C0Blueoh.mjs").then((n) => n.n))).MemoryCacheStore();
841
841
  await fastify.register(queryCachePlugin, {
842
842
  store,
843
843
  ...opts
@@ -847,7 +847,7 @@ async function registerArcPlugins(fastify, config, trackPlugin, modules, moduleH
847
847
  if (config.arcPlugins?.sse) {
848
848
  if (config.arcPlugins?.events === false) fastify.log.warn("SSE plugin requires events plugin (arcPlugins.events). SSE disabled.");
849
849
  else {
850
- const { default: ssePlugin } = await import("./sse-D8AgoUN3.mjs").then((n) => n.n);
850
+ const { default: ssePlugin } = await import("./sse-BilBz766.mjs").then((n) => n.n);
851
851
  const opts = config.arcPlugins.sse === true ? {} : config.arcPlugins.sse;
852
852
  await fastify.register(ssePlugin, opts);
853
853
  trackPlugin("arc-sse", opts);
@@ -856,20 +856,20 @@ async function registerArcPlugins(fastify, config, trackPlugin, modules, moduleH
856
856
  if (config.arcPlugins?.realtime) {
857
857
  if (config.arcPlugins?.events === false) fastify.log.warn("Realtime plugin requires events plugin (arcPlugins.events). Realtime disabled.");
858
858
  else {
859
- const { default: realtimePlugin } = await import("./realtime-MPj6eIoV.mjs").then((n) => n.n);
859
+ const { default: realtimePlugin } = await import("./realtime-_59Rlje8.mjs").then((n) => n.n);
860
860
  const opts = config.arcPlugins.realtime === true ? {} : config.arcPlugins.realtime;
861
861
  await fastify.register(realtimePlugin, opts);
862
862
  trackPlugin("arc-realtime", opts);
863
863
  }
864
864
  }
865
865
  if (config.arcPlugins?.metrics) {
866
- const { default: metricsPlugin } = await import("./metrics-wfr7XFE7.mjs").then((n) => n.n);
866
+ const { default: metricsPlugin } = await import("./metrics-DYka72iN.mjs").then((n) => n.n);
867
867
  const opts = config.arcPlugins.metrics === true ? {} : config.arcPlugins.metrics;
868
868
  await fastify.register(metricsPlugin, opts);
869
869
  trackPlugin("arc-metrics", opts);
870
870
  }
871
871
  if (config.arcPlugins?.versioning) {
872
- const { default: versioningPlugin } = await import("./versioning-JIqxO64K.mjs").then((n) => n.n);
872
+ const { default: versioningPlugin } = await import("./versioning-P6JMNcJr.mjs").then((n) => n.n);
873
873
  await fastify.register(versioningPlugin, config.arcPlugins.versioning);
874
874
  trackPlugin("arc-versioning", config.arcPlugins.versioning);
875
875
  }
@@ -946,7 +946,7 @@ async function registerAuth(fastify, config, trackPlugin) {
946
946
  */
947
947
  async function registerElevation(fastify, config, trackPlugin) {
948
948
  if (!config.elevation) return;
949
- const { elevationPlugin } = await import("./elevation-BAfsnnO0.mjs").then((n) => n.n);
949
+ const { elevationPlugin } = await import("./elevation-B9wF2Z1F.mjs").then((n) => n.n);
950
950
  await fastify.register(elevationPlugin, config.elevation);
951
951
  trackPlugin("arc-elevation", config.elevation);
952
952
  fastify.log.debug("Elevation plugin enabled");
@@ -961,7 +961,7 @@ async function registerElevation(fastify, config, trackPlugin) {
961
961
  */
962
962
  async function registerErrorHandler(fastify, config, trackPlugin, moduleErrorMappers) {
963
963
  if (config.errorHandler === false) return;
964
- const { errorHandlerPlugin } = await import("./errorHandler-DbHGwrQM.mjs").then((n) => n.r);
964
+ const { errorHandlerPlugin } = await import("./errorHandler-Dr2nG0Ui.mjs").then((n) => n.r);
965
965
  /**
966
966
  * DISCLOSURE DEFAULTS MERGE — they used to be REPLACED, and that was two bugs.
967
967
  *
@@ -1180,7 +1180,7 @@ async function registerResources(fastify, config, preResolvedModules, skippedBri
1180
1180
  let discoveryPath;
1181
1181
  let discoveryYieldedZero = false;
1182
1182
  if (resolvedResources === void 0 && config.resourceDir) {
1183
- const { loadResources } = await import("./loadResources-BEKG6bP9.mjs").then((n) => n.n);
1183
+ const { loadResources } = await import("./loadResources-BtKj6P1P.mjs").then((n) => n.n);
1184
1184
  const { resolve, dirname } = await import("node:path");
1185
1185
  const { fileURLToPath } = await import("node:url");
1186
1186
  const rawDir = config.resourceDir;
@@ -1305,7 +1305,7 @@ Resources supplied by "${m.name}": ${provided}.`);
1305
1305
  if (fastify.hasDecorator("getScheduleStats")) throw new Error("[arc] modules declare scheduledJobs but schedulesPlugin was already registered manually. Configure their runner through arcPlugins.schedules so Arc can compose one schedule table.");
1306
1306
  const frozenJobs = Object.freeze(scheduledJobs.map((job) => Object.freeze({ ...job })));
1307
1307
  const scheduleOptions = typeof config.arcPlugins?.schedules === "object" ? config.arcPlugins.schedules : {};
1308
- const { default: schedulesPlugin } = await import("./schedules-Dr9gNFzx.mjs").then((n) => n.n);
1308
+ const { default: schedulesPlugin } = await import("./schedules-CVS7c1nv.mjs").then((n) => n.n);
1309
1309
  await fastify.register(schedulesPlugin, {
1310
1310
  ...scheduleOptions,
1311
1311
  schedules: frozenJobs
@@ -2011,7 +2011,7 @@ async function buildApp(options, loggerScope, onInstance, onBootDisposer) {
2011
2011
  await registerErrorHandler(fastify, config, trackPlugin, moduleErrorMappers);
2012
2012
  await registerResources(fastify, config, resolvedModules, skippedBridges);
2013
2013
  if (config.replyHelpers) {
2014
- const { replyHelpersPlugin } = await import("./replyHelpers-BW_p67QD.mjs").then((n) => n.n);
2014
+ const { replyHelpersPlugin } = await import("./replyHelpers-Dr2pnXZg.mjs").then((n) => n.n);
2015
2015
  await fastify.register(replyHelpersPlugin);
2016
2016
  }
2017
2017
  if (config.serializeBigInt) {
@@ -1,4 +1,4 @@
1
- /*! @classytic/arc v2.45.0 | MIT | https://classytic.com */
1
+ /*! @classytic/arc v2.45.1 | MIT | https://classytic.com */
2
2
  //#region src/core/aggregation/defineAggregation.ts
3
3
  /**
4
4
  * Declare a single resource aggregation. Exported configs flow into
@@ -1,10 +1,10 @@
1
- /*! @classytic/arc v2.45.0 | MIT | https://classytic.com */
2
- import { m as MUTATION_OPERATIONS, t as CRUD_OPERATIONS } from "./constants-B90SnSQn.mjs";
3
- import { t as arcLog } from "./logger-vxu0DXf_.mjs";
4
- import { a as autoInjectTenantFieldRules, c as BaseController, i as resolveOpenApiSchemas, t as buildResourcePlugin, v as detectOverriddenWriteSlots, y as isWriteVerbCapable } from "./plugin-BDBOS3-c.mjs";
5
- import { B as requireAuth } from "./permissions-IdHJ0_5V.mjs";
6
- import { n as getAvailablePresets, t as applyPresets } from "./presets-BPjNc-Np.mjs";
7
- import { t as pluralize } from "./pluralize-B4FcZEyI.mjs";
1
+ /*! @classytic/arc v2.45.1 | MIT | https://classytic.com */
2
+ import { m as MUTATION_OPERATIONS, t as CRUD_OPERATIONS } from "./constants-CtWkmWn3.mjs";
3
+ import { t as arcLog } from "./logger-qQNLlOAU.mjs";
4
+ import { a as autoInjectTenantFieldRules, c as BaseController, i as resolveOpenApiSchemas, t as buildResourcePlugin, v as detectOverriddenWriteSlots, y as isWriteVerbCapable } from "./plugin-ByU3h-bR.mjs";
5
+ import { B as requireAuth } from "./permissions-DN1CWH56.mjs";
6
+ import { n as getAvailablePresets, t as applyPresets } from "./presets-CCOlKTZw.mjs";
7
+ import { t as pluralize } from "./pluralize-Cdya8zYt.mjs";
8
8
  import { isReadOnlyRepo } from "@classytic/repo-core/repository";
9
9
  import { readEnv } from "@classytic/primitives/environment";
10
10
  //#region src/core/defineResource/writeVerbs.ts
@@ -1,4 +1,4 @@
1
- /*! @classytic/arc v2.45.0 | MIT | https://classytic.com */
1
+ /*! @classytic/arc v2.45.1 | MIT | https://classytic.com */
2
2
  import { readdir } from "node:fs/promises";
3
3
  import { extname, join, resolve } from "node:path";
4
4
  import { pathToFileURL } from "node:url";
@@ -1,6 +1,6 @@
1
- /*! @classytic/arc v2.45.0 | MIT | https://classytic.com */
2
- import { n as getUserRoles } from "../userHelpers-Nc5ePCsf.mjs";
3
- import { n as openapi_default, t as buildOpenApiSpec } from "../openapi-BCOaGAgE.mjs";
1
+ /*! @classytic/arc v2.45.1 | MIT | https://classytic.com */
2
+ import { n as getUserRoles } from "../userHelpers-oBTU3a_k.mjs";
3
+ import { n as openapi_default, t as buildOpenApiSpec } from "../openapi-BrFPc3Ny.mjs";
4
4
  import fp from "fastify-plugin";
5
5
  //#region src/docs/scalar.ts
6
6
  const scalarPlugin = async (fastify, opts = {}) => {
@@ -1,8 +1,8 @@
1
- /*! @classytic/arc v2.45.0 | MIT | https://classytic.com */
2
- import { r as __exportAll } from "./rolldown-runtime-AD16t29l.mjs";
3
- import { t as arcLog } from "./logger-vxu0DXf_.mjs";
4
- import { n as requireSingleHeaderValue } from "./headers-B6DRXXzT.mjs";
5
- import { n as getUserRoles } from "./userHelpers-Nc5ePCsf.mjs";
1
+ /*! @classytic/arc v2.45.1 | MIT | https://classytic.com */
2
+ import { t as __exportAll } from "./rolldown-runtime-DpVPUeXF.mjs";
3
+ import { t as arcLog } from "./logger-qQNLlOAU.mjs";
4
+ import { n as requireSingleHeaderValue } from "./headers-Dr-wt6Tr.mjs";
5
+ import { n as getUserRoles } from "./userHelpers-oBTU3a_k.mjs";
6
6
  import { ARC_ERROR_CODES } from "@classytic/repo-core/errors";
7
7
  import fp from "fastify-plugin";
8
8
  //#region src/scope/elevation.ts
@@ -1,6 +1,6 @@
1
- /*! @classytic/arc v2.45.0 | MIT | https://classytic.com */
2
- import { t as ArcError } from "../errors-C9G4A8cN.mjs";
3
- import { t as parseJsonBody } from "../jsonBody-CzKHE-Fg.mjs";
1
+ /*! @classytic/arc v2.45.1 | MIT | https://classytic.com */
2
+ import { t as ArcError } from "../errors-BtHzrSA6.mjs";
3
+ import { t as parseJsonBody } from "../jsonBody-DPU8yYwA.mjs";
4
4
  import { createCipheriv, createDecipheriv, randomBytes } from "node:crypto";
5
5
  import fp from "fastify-plugin";
6
6
  //#region src/encryption/fieldCipher.ts
@@ -1,6 +1,6 @@
1
- /*! @classytic/arc v2.45.0 | MIT | https://classytic.com */
2
- import { r as __exportAll } from "./rolldown-runtime-AD16t29l.mjs";
3
- import { m as statusToArcCode, p as isArcError } from "./errors-C9G4A8cN.mjs";
1
+ /*! @classytic/arc v2.45.1 | MIT | https://classytic.com */
2
+ import { t as __exportAll } from "./rolldown-runtime-DpVPUeXF.mjs";
3
+ import { m as statusToArcCode, p as isArcError } from "./errors-BtHzrSA6.mjs";
4
4
  import { isHttpError, toErrorContract } from "@classytic/repo-core/errors";
5
5
  import { isProductionEnv } from "@classytic/primitives/environment";
6
6
  import fp from "fastify-plugin";
@@ -1,4 +1,4 @@
1
- /*! @classytic/arc v2.45.0 | MIT | https://classytic.com */
1
+ /*! @classytic/arc v2.45.1 | MIT | https://classytic.com */
2
2
  import { ARC_ERROR_CODES } from "@classytic/repo-core/errors";
3
3
  //#region src/utils/errors.ts
4
4
  /**