@classytic/arc 2.37.1 → 2.38.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 (172) hide show
  1. package/dist/{BaseController-Chkf0Aiw.mjs → BaseController-CYaDvmOB.mjs} +11 -11
  2. package/dist/{EventTransport-BEVP50ka.d.mts → EventTransport-Cx60_s-6.d.mts} +37 -0
  3. package/dist/{EventTransport-CFdtK25P.mjs → EventTransport-Gq7JWbWw.mjs} +39 -7
  4. package/dist/{HookSystem-Csy31WS-.mjs → HookSystem-C0ikzqQf.mjs} +2 -2
  5. package/dist/{ResourceRegistry-OQA13slI.mjs → ResourceRegistry-DPcX--zk.mjs} +2 -2
  6. package/dist/{actionPermissions-DGGqqSIV.mjs → actionPermissions-jlFZ1it4.mjs} +6 -6
  7. package/dist/audit/index.d.mts +1 -1
  8. package/dist/audit/index.mjs +2 -2
  9. package/dist/auth/audit.mjs +1 -1
  10. package/dist/auth/index.d.mts +1 -1
  11. package/dist/auth/index.mjs +6 -6
  12. package/dist/auth/redis-session.mjs +1 -1
  13. package/dist/{authorizationDecision-BzZi2bsf.mjs → authorizationDecision-BP8GHtjc.mjs} +2 -2
  14. package/dist/{buildHandler-CIz0NsGS.mjs → buildHandler-DjXOqIvX.mjs} +4 -4
  15. package/dist/cache/index.mjs +4 -4
  16. package/dist/{caching-DldVgnC9.mjs → caching-a3ZEcJJs.mjs} +2 -2
  17. package/dist/cleanup/index.d.mts +2 -2
  18. package/dist/cleanup/index.mjs +4 -4
  19. package/dist/cli/commands/describe.d.mts +1 -1
  20. package/dist/cli/commands/describe.mjs +3 -3
  21. package/dist/cli/commands/docs.mjs +3 -3
  22. package/dist/cli/commands/doctor.mjs +1 -1
  23. package/dist/cli/commands/generate.mjs +2 -2
  24. package/dist/cli/commands/init.mjs +2 -2
  25. package/dist/cli/commands/introspect.mjs +2 -2
  26. package/dist/cli/index.mjs +3 -3
  27. package/dist/{constants-DDKf25s4.mjs → constants-BONghE1Y.mjs} +1 -1
  28. package/dist/context/index.mjs +3 -3
  29. package/dist/core/index.d.mts +2 -2
  30. package/dist/core/index.mjs +7 -7
  31. package/dist/{core-uHQonaHf.mjs → core-8She7FgF.mjs} +3 -3
  32. package/dist/{createActionRouter-C22Xn11N.mjs → createActionRouter-Bqi6Bhhx.mjs} +7 -7
  33. package/dist/{createAggregationRouter-DgyksLHH.mjs → createAggregationRouter-BsYO7ktd.mjs} +7 -7
  34. package/dist/{defineAggregation-B1m-45Fe.mjs → defineAggregation-0KBvqEEC.mjs} +1 -1
  35. package/dist/{defineResource-DS3Uj2-8.mjs → defineResource-BMdyRelW.mjs} +18 -18
  36. package/dist/discovery/index.mjs +1 -1
  37. package/dist/docs/index.d.mts +1 -1
  38. package/dist/docs/index.mjs +3 -3
  39. package/dist/{elevation-9X0lGzTQ.mjs → elevation-C6woysGC.mjs} +4 -4
  40. package/dist/encryption/index.mjs +3 -3
  41. package/dist/{errorHandler-BmEGKyO9.mjs → errorHandler-BdmIWPba.mjs} +3 -3
  42. package/dist/{errors-CbxCF9M0.mjs → errors-2ExmOgIJ.mjs} +1 -1
  43. package/dist/{eventPlugin-B47sfCJ8.d.mts → eventPlugin-DFvHa4Nf.d.mts} +10 -1
  44. package/dist/{eventPlugin-B1ahehZH.mjs → eventPlugin-DJwpGMzx.mjs} +6 -6
  45. package/dist/events/index.d.mts +4 -4
  46. package/dist/events/index.mjs +5 -5
  47. package/dist/events/transports/redis-stream-entry.d.mts +1 -1
  48. package/dist/events/transports/redis-stream-entry.mjs +1 -1
  49. package/dist/events/transports/redis.d.mts +1 -1
  50. package/dist/events/transports/redis.mjs +1 -1
  51. package/dist/factory/index.d.mts +4 -4
  52. package/dist/factory/index.mjs +5 -5
  53. package/dist/{fastify-augmentation-CRsNNhuo.d.mts → fastify-augmentation-jYA2oHyL.d.mts} +3 -3
  54. package/dist/{fields-f_MdWDl_.mjs → fields-Cha2QCKH.mjs} +37 -2
  55. package/dist/{generate-DxWn-XnM.mjs → generate-BUP4Oydg.mjs} +2 -2
  56. package/dist/{headers-DivLPMHe.mjs → headers-DeXNifVj.mjs} +2 -2
  57. package/dist/{health-W_BjgWf0.mjs → health-Bh0N_FLk.mjs} +1 -1
  58. package/dist/hooks/index.d.mts +1 -1
  59. package/dist/hooks/index.mjs +2 -2
  60. package/dist/idempotency/index.mjs +4 -4
  61. package/dist/idempotency/redis.mjs +1 -1
  62. package/dist/{index-BqRfP1kT.d.mts → index-B78WZom8.d.mts} +1 -1
  63. package/dist/{index-CEmPspAB.d.mts → index-BRoDtjek.d.mts} +2 -2
  64. package/dist/{index-DCxxRwLC.d.mts → index-D2uIUSQk.d.mts} +1 -1
  65. package/dist/index.d.mts +3 -3
  66. package/dist/index.mjs +11 -11
  67. package/dist/{init-BJ6fdYnp.mjs → init-Dg_Am2o_.mjs} +1 -1
  68. package/dist/integrations/event-gateway.d.mts +1 -1
  69. package/dist/integrations/event-gateway.mjs +2 -2
  70. package/dist/integrations/index.d.mts +1 -1
  71. package/dist/integrations/index.mjs +1 -1
  72. package/dist/integrations/jobs/index.mjs +2 -2
  73. package/dist/integrations/mcp/index.d.mts +2 -2
  74. package/dist/integrations/mcp/index.mjs +2 -2
  75. package/dist/integrations/mcp/testing.d.mts +1 -1
  76. package/dist/integrations/mcp/testing.mjs +2 -2
  77. package/dist/integrations/streamline.mjs +3 -3
  78. package/dist/integrations/webhooks.d.mts +2 -2
  79. package/dist/integrations/webhooks.mjs +3 -3
  80. package/dist/integrations/websocket-pushref-redis.mjs +1 -1
  81. package/dist/integrations/websocket-redis.mjs +1 -1
  82. package/dist/integrations/websocket.mjs +1 -1
  83. package/dist/{interface-DeLndJ8G.mjs → interface-DYPVscCU.mjs} +1 -1
  84. package/dist/{jsonBody-kApktjTc.mjs → jsonBody-DVui0uJl.mjs} +2 -2
  85. package/dist/{keys-B1MgfDWi.mjs → keys-BSuxGS-B.mjs} +1 -1
  86. package/dist/{loadResources-ma-Aaxp1.mjs → loadResources-CNd1DWnK.mjs} +2 -2
  87. package/dist/{loadResourcesFromEntry-xszlyXTs.mjs → loadResourcesFromEntry-DNj8cpiY.mjs} +2 -2
  88. package/dist/logger/index.mjs +1 -1
  89. package/dist/{mcpPlugin-97HuFA46.mjs → mcpPlugin-KWsezMx7.mjs} +15 -15
  90. package/dist/{memory-DvASzOn3.mjs → memory-BiPVaCPg.mjs} +2 -2
  91. package/dist/{metrics-Dx-nkDE5.mjs → metrics-CsWaIVTa.mjs} +2 -2
  92. package/dist/middleware/index.d.mts +1 -1
  93. package/dist/middleware/index.mjs +3 -3
  94. package/dist/migrations/index.mjs +2 -2
  95. package/dist/{module-CNKk_twm.mjs → module-BQXHxMEk.mjs} +1 -1
  96. package/dist/{multipartBody-TDaYOHGZ.mjs → multipartBody-u6VrS_iH.mjs} +1 -1
  97. package/dist/{openapi-473gZ-8x.mjs → openapi-Dxc8RLy_.mjs} +6 -6
  98. package/dist/outbox-admin/index.d.mts +1 -1
  99. package/dist/outbox-admin/index.mjs +4 -4
  100. package/dist/{outbox-module-BbdaMyqy.d.mts → outbox-module-CQXu_O6o.d.mts} +2 -2
  101. package/dist/{outbox-module-DOAmyXOb.mjs → outbox-module-DyIqA5vo.mjs} +4 -4
  102. package/dist/permissions/index.mjs +5 -5
  103. package/dist/{permissions-DnAc6zoZ.mjs → permissions-H7Zcb82Z.mjs} +6 -6
  104. package/dist/{pipe-BoV-z4db.mjs → pipe-SunhEaZ6.mjs} +2 -2
  105. package/dist/pipeline/index.d.mts +1 -1
  106. package/dist/pipeline/index.mjs +2 -2
  107. package/dist/plugins/index.d.mts +4 -4
  108. package/dist/plugins/index.mjs +16 -16
  109. package/dist/plugins/response-cache.mjs +2 -2
  110. package/dist/plugins/tracing-entry.mjs +2 -2
  111. package/dist/{pluralize-BiU5ocWw.mjs → pluralize-Da7IT_qJ.mjs} +1 -1
  112. package/dist/{preloadResources-DHkyk3QN.d.mts → preloadResources-BbBkNkqK.d.mts} +6 -6
  113. package/dist/{preloadResources-DJ7Lli0a.mjs → preloadResources-DlhH81py.mjs} +21 -21
  114. package/dist/presets/filesUpload.d.mts +1 -1
  115. package/dist/presets/filesUpload.mjs +5 -5
  116. package/dist/presets/index.d.mts +1 -1
  117. package/dist/presets/index.mjs +2 -2
  118. package/dist/presets/multiTenant.d.mts +1 -1
  119. package/dist/presets/multiTenant.mjs +3 -3
  120. package/dist/presets/search.d.mts +1 -1
  121. package/dist/presets/search.mjs +2 -2
  122. package/dist/{presets-BMxH-Bb7.mjs → presets-CNyfaxGL.mjs} +4 -4
  123. package/dist/{projection-CRCM5S9T.mjs → projection-DSfEoooA.mjs} +2 -2
  124. package/dist/{queryCachePlugin-Cl3zLG7g.mjs → queryCachePlugin-oTsmVyEQ.mjs} +5 -5
  125. package/dist/{rateLimitKey-D4_rjP1K.mjs → rateLimitKey-CewdR-m6.mjs} +1 -1
  126. package/dist/{realtime-BWuHi-UI.mjs → realtime-CPmjjgqd.mjs} +9 -9
  127. package/dist/{redis-stream-mwLWlfHG.d.mts → redis-stream-eh0eOtjh.d.mts} +1 -1
  128. package/dist/{registerRoute-mvm6zY2H.mjs → registerRoute-XvcI_3sh.mjs} +10 -6
  129. package/dist/registry/index.d.mts +2 -2
  130. package/dist/registry/index.mjs +3 -3
  131. package/dist/{registry-3maEt__c.mjs → registry-UFEJQN8R.mjs} +2 -2
  132. package/dist/{renewingLease-C1-GAUpr.mjs → renewingLease-DuRGVOMe.mjs} +1 -1
  133. package/dist/{replyHelpers-DVcUoled.mjs → replyHelpers-BHebarf0.mjs} +2 -2
  134. package/dist/{requestContext-KzIdSmN2.mjs → requestContext-DpmntRZy.mjs} +1 -1
  135. package/dist/{rolldown-runtime-NVzJrC-o.mjs → rolldown-runtime-Add2L50I.mjs} +1 -1
  136. package/dist/{runtimeCapabilities-OrGatf7r.mjs → runtimeCapabilities-D793Pxci.mjs} +1 -1
  137. package/dist/{schedules-DeRI03eo.mjs → schedules-DthM8Qag.mjs} +3 -3
  138. package/dist/{schemaConverter-cXTayNOW.mjs → schemaConverter-Db-MMsH6.mjs} +1 -1
  139. package/dist/{schemaIR-Cc9ZPVs2.mjs → schemaIR-CIXShch7.mjs} +2 -2
  140. package/dist/schemas/index.mjs +1 -1
  141. package/dist/scim/index.mjs +2 -2
  142. package/dist/scope/index.mjs +5 -5
  143. package/dist/{scope-C2r7_WGs.mjs → scope-D03sk17n.mjs} +4 -4
  144. package/dist/{simpleEqualityMatcher-Cr1F8jKZ.mjs → simpleEqualityMatcher-B7qVjQBv.mjs} +1 -1
  145. package/dist/{sse-BmZCVRGH.mjs → sse-D4MYqkic.mjs} +5 -5
  146. package/dist/{sseStream-nNPqvOeK.mjs → sseStream-BuMNPR6r.mjs} +2 -2
  147. package/dist/{store-helpers-C1r3-6M0.mjs → store-helpers-CIF4RG8s.mjs} +1 -1
  148. package/dist/{streaming-BxZDlH01.mjs → streaming-DkpW1HwJ.mjs} +1 -1
  149. package/dist/{subscribe-helpers-Dca7Fcz2.mjs → subscribe-helpers-CBZOi6pk.mjs} +2 -2
  150. package/dist/sync/changelog.mjs +1 -1
  151. package/dist/testing/cleanupStoreContract.mjs +1 -1
  152. package/dist/testing/index.d.mts +4 -4
  153. package/dist/testing/index.mjs +10 -10
  154. package/dist/testing/outboxStoreContract.mjs +1 -1
  155. package/dist/testing/storageContract.mjs +1 -1
  156. package/dist/{transactionContext-6F7Gkbxg.mjs → transactionContext-DMmvcfdo.mjs} +1 -1
  157. package/dist/{typeGuards-BrXgbFi-.mjs → typeGuards-DHTnEs5X.mjs} +1 -1
  158. package/dist/types/index.d.mts +1 -1
  159. package/dist/types/index.mjs +1 -1
  160. package/dist/types/storage.mjs +1 -1
  161. package/dist/{types-BMa2EPtv.d.mts → types-BRU-Kd3t.d.mts} +1 -1
  162. package/dist/{types-khJmBErP.mjs → types-BqLyyH0o.mjs} +4 -4
  163. package/dist/{types-rzNprqbE.d.mts → types-LQFwC37d.d.mts} +1 -1
  164. package/dist/usage/index.mjs +0 -0
  165. package/dist/{userHelpers-Bi97zMEl.mjs → userHelpers-CXySQFRg.mjs} +1 -1
  166. package/dist/utils/index.d.mts +1 -1
  167. package/dist/utils/index.mjs +11 -11
  168. package/dist/{utils-WlLDIKuw.mjs → utils-BbGG8XNT.mjs} +3 -3
  169. package/dist/{validate-pMke_boy.mjs → validate-CidSeUrx.mjs} +2 -2
  170. package/dist/{versioning-DEs-_hFi.d.mts → versioning-B843jOYX.d.mts} +1 -1
  171. package/dist/{versioning-CFK3c04-.mjs → versioning-C2r0eOZ4.mjs} +3 -3
  172. package/package.json +5 -5
@@ -1,5 +1,5 @@
1
- /*! @classytic/arc v2.37.1 | MIT | https://classytic.com */
2
- import { t as __exportAll } from "./rolldown-runtime-NVzJrC-o.mjs";
1
+ /*! @classytic/arc v2.38.0 | MIT | https://classytic.com */
2
+ import { t as __exportAll } from "./rolldown-runtime-Add2L50I.mjs";
3
3
  import { arcLog } from "./logger/index.mjs";
4
4
  import { readdir } from "node:fs/promises";
5
5
  import { dirname, join, resolve } from "node:path";
@@ -1,5 +1,5 @@
1
- /*! @classytic/arc v2.37.1 | MIT | https://classytic.com */
2
- import { t as ResourceRegistry } from "./ResourceRegistry-OQA13slI.mjs";
1
+ /*! @classytic/arc v2.38.0 | MIT | https://classytic.com */
2
+ import { t as ResourceRegistry } from "./ResourceRegistry-DPcX--zk.mjs";
3
3
  import { resolve } from "node:path";
4
4
  import { pathToFileURL } from "node:url";
5
5
  //#region src/cli/utils/loadResourcesFromEntry.ts
@@ -1,4 +1,4 @@
1
- /*! @classytic/arc v2.37.1 | MIT | https://classytic.com */
1
+ /*! @classytic/arc v2.38.0 | MIT | https://classytic.com */
2
2
  import { AsyncLocalStorage } from "node:async_hooks";
3
3
  //#region src/logger/index.ts
4
4
  /**
@@ -1,18 +1,18 @@
1
- /*! @classytic/arc v2.37.1 | MIT | https://classytic.com */
2
- import { r as evaluatePermissionDecision } from "./authorizationDecision-BzZi2bsf.mjs";
3
- import { p as isArcError, t as ArcError } from "./errors-CbxCF9M0.mjs";
4
- import { n as requireSingleHeaderValue } from "./headers-DivLPMHe.mjs";
5
- import { b as isElevated, c as getOrgId, g as getUserId, x as isMember } from "./types-khJmBErP.mjs";
6
- import { t as BaseController } from "./BaseController-Chkf0Aiw.mjs";
7
- import { i as resolveEffectiveRoles, t as applyFieldReadPermissions } from "./fields-f_MdWDl_.mjs";
8
- import { t as buildRequestScopeProjection } from "./projection-CRCM5S9T.mjs";
9
- import { i as resolvePipelineSteps, t as resolveActionPermission } from "./actionPermissions-DGGqqSIV.mjs";
10
- import { t as executePipeline } from "./pipe-BoV-z4db.mjs";
11
- import { t as pluralize } from "./pluralize-BiU5ocWw.mjs";
12
- import { t as createIdempotencyResult } from "./interface-DeLndJ8G.mjs";
13
- import { r as shouldRejectAdditionalProperties, t as normalizeSchemaIR } from "./schemaIR-Cc9ZPVs2.mjs";
14
- import { n as validateAggregations } from "./validate-pMke_boy.mjs";
15
- import { n as executeAggregation } from "./buildHandler-CIz0NsGS.mjs";
1
+ /*! @classytic/arc v2.38.0 | MIT | https://classytic.com */
2
+ import { r as evaluatePermissionDecision } from "./authorizationDecision-BP8GHtjc.mjs";
3
+ import { p as isArcError, t as ArcError } from "./errors-2ExmOgIJ.mjs";
4
+ import { n as requireSingleHeaderValue } from "./headers-DeXNifVj.mjs";
5
+ import { b as isElevated, c as getOrgId, g as getUserId, x as isMember } from "./types-BqLyyH0o.mjs";
6
+ import { t as BaseController } from "./BaseController-CYaDvmOB.mjs";
7
+ import { a as resolveEffectiveRoles, t as applyFieldReadPermissions } from "./fields-Cha2QCKH.mjs";
8
+ import { t as buildRequestScopeProjection } from "./projection-DSfEoooA.mjs";
9
+ import { i as resolvePipelineSteps, t as resolveActionPermission } from "./actionPermissions-jlFZ1it4.mjs";
10
+ import { t as executePipeline } from "./pipe-SunhEaZ6.mjs";
11
+ import { t as pluralize } from "./pluralize-Da7IT_qJ.mjs";
12
+ import { t as createIdempotencyResult } from "./interface-DYPVscCU.mjs";
13
+ import { r as shouldRejectAdditionalProperties, t as normalizeSchemaIR } from "./schemaIR-CIXShch7.mjs";
14
+ import { n as validateAggregations } from "./validate-CidSeUrx.mjs";
15
+ import { n as executeAggregation } from "./buildHandler-DjXOqIvX.mjs";
16
16
  import { isHttpError, toErrorContract } from "@classytic/repo-core/errors";
17
17
  import { createHash, randomUUID } from "node:crypto";
18
18
  import fp from "fastify-plugin";
@@ -1,5 +1,5 @@
1
- /*! @classytic/arc v2.37.1 | MIT | https://classytic.com */
2
- import { t as __exportAll } from "./rolldown-runtime-NVzJrC-o.mjs";
1
+ /*! @classytic/arc v2.38.0 | MIT | https://classytic.com */
2
+ import { t as __exportAll } from "./rolldown-runtime-Add2L50I.mjs";
3
3
  //#region src/cache/memory.ts
4
4
  var memory_exports = /* @__PURE__ */ __exportAll({ MemoryCacheStore: () => MemoryCacheStore });
5
5
  /**
@@ -1,5 +1,5 @@
1
- /*! @classytic/arc v2.37.1 | MIT | https://classytic.com */
2
- import { t as __exportAll } from "./rolldown-runtime-NVzJrC-o.mjs";
1
+ /*! @classytic/arc v2.38.0 | MIT | https://classytic.com */
2
+ import { t as __exportAll } from "./rolldown-runtime-Add2L50I.mjs";
3
3
  import fp from "fastify-plugin";
4
4
  //#region src/plugins/metrics.ts
5
5
  var metrics_exports = /* @__PURE__ */ __exportAll({
@@ -1,5 +1,5 @@
1
1
 
2
- import { I as MiddlewareHandler, L as RequestWithExtras, Q as MiddlewareConfig } from "../index-BqRfP1kT.mjs";
2
+ import { I as MiddlewareHandler, L as RequestWithExtras, Q as MiddlewareConfig } from "../index-B78WZom8.mjs";
3
3
  import { RouteHandlerMethod } from "fastify";
4
4
  //#region src/middleware/middleware.d.ts
5
5
  interface NamedMiddleware {
@@ -1,6 +1,6 @@
1
- /*! @classytic/arc v2.37.1 | MIT | https://classytic.com */
2
- import { t as CRUD_OPERATIONS } from "../constants-DDKf25s4.mjs";
3
- import { t as multipartBody } from "../multipartBody-TDaYOHGZ.mjs";
1
+ /*! @classytic/arc v2.38.0 | MIT | https://classytic.com */
2
+ import { t as CRUD_OPERATIONS } from "../constants-BONghE1Y.mjs";
3
+ import { t as multipartBody } from "../multipartBody-u6VrS_iH.mjs";
4
4
  //#region src/middleware/middleware.ts
5
5
  /**
6
6
  * Named Middleware — Priority-based, conditional middleware execution.
@@ -1,5 +1,5 @@
1
- /*! @classytic/arc v2.37.1 | MIT | https://classytic.com */
2
- import { t as startRenewingLease } from "../renewingLease-C1-GAUpr.mjs";
1
+ /*! @classytic/arc v2.38.0 | MIT | https://classytic.com */
2
+ import { t as startRenewingLease } from "../renewingLease-DuRGVOMe.mjs";
3
3
  import { createHash, randomUUID } from "node:crypto";
4
4
  //#region src/migrations/index.ts
5
5
  /**
@@ -1,4 +1,4 @@
1
- /*! @classytic/arc v2.37.1 | MIT | https://classytic.com */
1
+ /*! @classytic/arc v2.38.0 | MIT | https://classytic.com */
2
2
  //#region src/factory/module/index.ts
3
3
  /**
4
4
  * Identity helper for authoring a typed module — mirrors `defineResource`.
@@ -1,4 +1,4 @@
1
- /*! @classytic/arc v2.37.1 | MIT | https://classytic.com */
1
+ /*! @classytic/arc v2.38.0 | MIT | https://classytic.com */
2
2
  import sjson from "secure-json-parse";
3
3
  //#region src/middleware/multipartBody.ts
4
4
  const DEFAULT_MAX_FILE_SIZE = 10485760;
@@ -1,9 +1,9 @@
1
- /*! @classytic/arc v2.37.1 | MIT | https://classytic.com */
2
- import { n as getUserRoles } from "./userHelpers-Bi97zMEl.mjs";
3
- import { n as convertRouteSchema } from "./schemaConverter-cXTayNOW.mjs";
4
- import { t as resolveActionPermission } from "./actionPermissions-DGGqqSIV.mjs";
5
- import { t as pluralize } from "./pluralize-BiU5ocWw.mjs";
6
- import { t as buildActionBodySchema } from "./createActionRouter-C22Xn11N.mjs";
1
+ /*! @classytic/arc v2.38.0 | MIT | https://classytic.com */
2
+ import { n as getUserRoles } from "./userHelpers-CXySQFRg.mjs";
3
+ import { n as convertRouteSchema } from "./schemaConverter-Db-MMsH6.mjs";
4
+ import { t as resolveActionPermission } from "./actionPermissions-jlFZ1it4.mjs";
5
+ import { t as pluralize } from "./pluralize-Da7IT_qJ.mjs";
6
+ import { t as buildActionBodySchema } from "./createActionRouter-Bqi6Bhhx.mjs";
7
7
  import fp from "fastify-plugin";
8
8
  //#region src/docs/openapi/canonical-schemas.ts
9
9
  /**
@@ -1,6 +1,6 @@
1
1
 
2
2
  import { l as PermissionCheck } from "../base-C-NL2fTi.mjs";
3
- import { t as ArcModule } from "../types-BMa2EPtv.mjs";
3
+ import { t as ArcModule } from "../types-BRU-Kd3t.mjs";
4
4
  import { OutboxStore } from "@classytic/primitives/outbox";
5
5
  //#region src/outbox-admin/module.d.ts
6
6
  /**
@@ -1,7 +1,7 @@
1
- /*! @classytic/arc v2.37.1 | MIT | https://classytic.com */
2
- import { i as NotFoundError, u as ValidationError } from "../errors-CbxCF9M0.mjs";
3
- import { t as defineResource } from "../defineResource-DS3Uj2-8.mjs";
4
- import { n as getModuleExports, t as defineModule } from "../module-CNKk_twm.mjs";
1
+ /*! @classytic/arc v2.38.0 | MIT | https://classytic.com */
2
+ import { i as NotFoundError, u as ValidationError } from "../errors-2ExmOgIJ.mjs";
3
+ import { t as defineResource } from "../defineResource-BMdyRelW.mjs";
4
+ import { n as getModuleExports, t as defineModule } from "../module-BQXHxMEk.mjs";
5
5
  //#region src/outbox-admin/module.ts
6
6
  /**
7
7
  * Strip the domain payload and the stack unless explicitly opted in.
@@ -1,6 +1,6 @@
1
1
 
2
- import { a as EventTransport, n as DomainEvent, t as DeadLetteredEvent } from "./EventTransport-BEVP50ka.mjs";
3
- import { t as ArcModule } from "./types-BMa2EPtv.mjs";
2
+ import { a as EventTransport, n as DomainEvent, t as DeadLetteredEvent } from "./EventTransport-Cx60_s-6.mjs";
3
+ import { t as ArcModule } from "./types-BRU-Kd3t.mjs";
4
4
  import { FastifyInstance } from "fastify";
5
5
  import { MemoryOutboxStore } from "@classytic/primitives/memory-outbox";
6
6
  import { OutboxFailurePolicy, OutboxStore, OutboxWriteOptions } from "@classytic/primitives/outbox";
@@ -1,7 +1,7 @@
1
- /*! @classytic/arc v2.37.1 | MIT | https://classytic.com */
2
- import { t as transactionContext } from "./transactionContext-6F7Gkbxg.mjs";
3
- import { i as resolveEventTransport } from "./EventTransport-CFdtK25P.mjs";
4
- import { n as createSafeGetOne, t as createIsDuplicateKeyError } from "./store-helpers-C1r3-6M0.mjs";
1
+ /*! @classytic/arc v2.38.0 | MIT | https://classytic.com */
2
+ import { t as transactionContext } from "./transactionContext-DMmvcfdo.mjs";
3
+ import { i as resolveEventTransport } from "./EventTransport-Gq7JWbWw.mjs";
4
+ import { n as createSafeGetOne, t as createIsDuplicateKeyError } from "./store-helpers-CIF4RG8s.mjs";
5
5
  import { and, anyOf, eq, lte, ne, or } from "@classytic/repo-core/filter";
6
6
  import { randomBytes } from "node:crypto";
7
7
  import { InvalidOutboxEventError, OutboxOwnershipError } from "@classytic/primitives/outbox";
@@ -1,6 +1,6 @@
1
- /*! @classytic/arc v2.37.1 | MIT | https://classytic.com */
2
- import { a as conjoinPolicyFilters, i as normalizeToDecision, r as evaluatePermissionDecision, t as applyAuthorizationDecision } from "../authorizationDecision-BzZi2bsf.mjs";
3
- import { n as getUserRoles, r as normalizeRoles } from "../userHelpers-Bi97zMEl.mjs";
4
- import { i as resolveEffectiveRoles, n as applyFieldWritePermissions, r as fields, t as applyFieldReadPermissions } from "../fields-f_MdWDl_.mjs";
5
- import { A as requireAgentScope, B as requireAuth, C as createOrgPermissions, D as requireScopeContext, E as requireOrgRole, F as allowPublic, G as when, H as requirePlatformRole, I as anyOf, K as scopeOf, L as deny, M as requireMandate, N as allOf, O as requireServiceScope, P as allow, R as denyAll, S as createDynamicPermissionMatrix, T as requireOrgMembership, U as requireRoles, V as requireOwnership, W as roles, _ as requireGrant, a as adminOnly, b as describePermissionMap, c as ownerWithAdminBypass, d as publicRead, f as publicReadAdminWrite, g as modeSatisfies, h as GRANT_MODES, i as introspectRegistry, j as requireDPoP, k as requireTeamMembership, l as permissionMatrix, m as createRoleHierarchy, n as introspectCheck, o as authenticated, p as readOnly, r as introspectModule, s as fullPublic, t as buildPermissionMatrix, u as presets_exports, v as collectPublicSurface, w as requireOrgInScope, x as explainAccess, y as describePermission, z as not } from "../permissions-DnAc6zoZ.mjs";
1
+ /*! @classytic/arc v2.38.0 | MIT | https://classytic.com */
2
+ import { a as conjoinPolicyFilters, i as normalizeToDecision, r as evaluatePermissionDecision, t as applyAuthorizationDecision } from "../authorizationDecision-BP8GHtjc.mjs";
3
+ import { n as getUserRoles, r as normalizeRoles } from "../userHelpers-CXySQFRg.mjs";
4
+ import { a as resolveEffectiveRoles, i as fields, n as applyFieldWritePermissions, t as applyFieldReadPermissions } from "../fields-Cha2QCKH.mjs";
5
+ import { A as requireAgentScope, B as requireAuth, C as createOrgPermissions, D as requireScopeContext, E as requireOrgRole, F as allowPublic, G as when, H as requirePlatformRole, I as anyOf, K as scopeOf, L as deny, M as requireMandate, N as allOf, O as requireServiceScope, P as allow, R as denyAll, S as createDynamicPermissionMatrix, T as requireOrgMembership, U as requireRoles, V as requireOwnership, W as roles, _ as requireGrant, a as adminOnly, b as describePermissionMap, c as ownerWithAdminBypass, d as publicRead, f as publicReadAdminWrite, g as modeSatisfies, h as GRANT_MODES, i as introspectRegistry, j as requireDPoP, k as requireTeamMembership, l as permissionMatrix, m as createRoleHierarchy, n as introspectCheck, o as authenticated, p as readOnly, r as introspectModule, s as fullPublic, t as buildPermissionMatrix, u as presets_exports, v as collectPublicSurface, w as requireOrgInScope, x as explainAccess, y as describePermission, z as not } from "../permissions-H7Zcb82Z.mjs";
6
6
  export { GRANT_MODES, adminOnly, allOf, allow, allowPublic, anyOf, applyAuthorizationDecision, applyFieldReadPermissions, applyFieldWritePermissions, authenticated, buildPermissionMatrix, collectPublicSurface, conjoinPolicyFilters, createDynamicPermissionMatrix, createOrgPermissions, createRoleHierarchy, deny, denyAll, describePermission, describePermissionMap, evaluatePermissionDecision, explainAccess, fields, fullPublic, getUserRoles, introspectCheck, introspectModule, introspectRegistry, modeSatisfies, normalizeRoles, normalizeToDecision, not, ownerWithAdminBypass, permissionMatrix, presets_exports as permissions, publicRead, publicReadAdminWrite, readOnly, requireAgentScope, requireAuth, requireDPoP, requireGrant, requireMandate, requireOrgInScope, requireOrgMembership, requireOrgRole, requireOwnership, requirePlatformRole, requireRoles, requireScopeContext, requireServiceScope, requireTeamMembership, resolveEffectiveRoles, roles, scopeOf, when };
@@ -1,10 +1,10 @@
1
- /*! @classytic/arc v2.37.1 | MIT | https://classytic.com */
2
- import { t as __exportAll } from "./rolldown-runtime-NVzJrC-o.mjs";
1
+ /*! @classytic/arc v2.38.0 | MIT | https://classytic.com */
2
+ import { t as __exportAll } from "./rolldown-runtime-Add2L50I.mjs";
3
3
  import { arcLog } from "./logger/index.mjs";
4
- import { a as conjoinPolicyFilters, i as normalizeToDecision } from "./authorizationDecision-BzZi2bsf.mjs";
5
- import { n as getUserRoles } from "./userHelpers-Bi97zMEl.mjs";
6
- import { C as isService, S as isOrgInScope, a as getDPoPJkt, b as isElevated, d as getScopeContext, f as getScopeContextMap, g as getUserId, m as getTeamId, n as PUBLIC_SCOPE, o as getMandate, p as getServiceScopes, u as getRequestScope, v as hasOrgAccess, x as isMember } from "./types-khJmBErP.mjs";
7
- import { t as MemoryCacheStore } from "./memory-DvASzOn3.mjs";
4
+ import { a as conjoinPolicyFilters, i as normalizeToDecision } from "./authorizationDecision-BP8GHtjc.mjs";
5
+ import { n as getUserRoles } from "./userHelpers-CXySQFRg.mjs";
6
+ import { C as isService, S as isOrgInScope, a as getDPoPJkt, b as isElevated, d as getScopeContext, f as getScopeContextMap, g as getUserId, m as getTeamId, n as PUBLIC_SCOPE, o as getMandate, p as getServiceScopes, u as getRequestScope, v as hasOrgAccess, x as isMember } from "./types-BqLyyH0o.mjs";
7
+ import { t as MemoryCacheStore } from "./memory-BiPVaCPg.mjs";
8
8
  import { randomUUID } from "node:crypto";
9
9
  //#region src/permissions/context.ts
10
10
  /**
@@ -1,5 +1,5 @@
1
- /*! @classytic/arc v2.37.1 | MIT | https://classytic.com */
2
- import { r as ForbiddenError } from "./errors-CbxCF9M0.mjs";
1
+ /*! @classytic/arc v2.38.0 | MIT | https://classytic.com */
2
+ import { r as ForbiddenError } from "./errors-2ExmOgIJ.mjs";
3
3
  //#region src/pipeline/pipe.ts
4
4
  /**
5
5
  * Compose pipeline steps into an ordered array.
@@ -1,5 +1,5 @@
1
1
 
2
- import { Ct as PipelineStep, Fn as IControllerResponse, St as PipelineContext, _t as Guard, bt as OperationFilter, vt as Interceptor, wt as Transform, xt as PipelineConfig, yt as NextFunction } from "../index-BqRfP1kT.mjs";
2
+ import { Ct as PipelineStep, Fn as IControllerResponse, St as PipelineContext, _t as Guard, bt as OperationFilter, vt as Interceptor, wt as Transform, xt as PipelineConfig, yt as NextFunction } from "../index-B78WZom8.mjs";
3
3
  //#region src/pipeline/guard.d.ts
4
4
  interface GuardOptions {
5
5
  operations?: OperationFilter;
@@ -1,5 +1,5 @@
1
- /*! @classytic/arc v2.37.1 | MIT | https://classytic.com */
2
- import { n as pipe, t as executePipeline } from "../pipe-BoV-z4db.mjs";
1
+ /*! @classytic/arc v2.38.0 | MIT | https://classytic.com */
2
+ import { n as pipe, t as executePipeline } from "../pipe-SunhEaZ6.mjs";
3
3
  //#region src/pipeline/guard.ts
4
4
  /**
5
5
  * Create a named guard.
@@ -1,10 +1,10 @@
1
1
 
2
2
  import { t as AnyRecord } from "../base-C-NL2fTi.mjs";
3
- import { At as RouteDefinition, J as PresetHook, Q as MiddlewareConfig, et as RouteSchemaOptions } from "../index-BqRfP1kT.mjs";
3
+ import { At as RouteDefinition, J as PresetHook, Q as MiddlewareConfig, et as RouteSchemaOptions } from "../index-B78WZom8.mjs";
4
4
  import { i as errorHandlerPlugin, n as ErrorMapper, r as defaultIsDuplicateKeyError, t as ErrorHandlerOptions } from "../errorHandler-DI5AN2b5.mjs";
5
- import { _ as HealthCheck, b as healthPlugin, f as ScheduleDefinition, g as schedulesPlugin, h as _default$8, m as SchedulesPluginOptions, p as ScheduleStats, v as HealthOptions, y as _default$3 } from "../types-BMa2EPtv.mjs";
6
- import { a as arcCorePlugin, i as _default, n as ArcCorePluginOptions, r as PluginMeta, t as ArcCore } from "../fastify-augmentation-CRsNNhuo.mjs";
7
- import { _ as CachingRule, a as MetricsCollector, c as metricsPlugin, d as _default$6, f as realtimePlugin, g as CachingOptions, h as ssePlugin, i as MetricEntry, l as ChangeOperation, m as _default$9, n as _default$10, o as MetricsOptions, p as SSEOptions, r as versioningPlugin, s as _default$4, t as VersioningOptions, u as RealtimeOptions, v as _default$1, y as cachingPlugin } from "../versioning-DEs-_hFi.mjs";
5
+ import { _ as HealthCheck, b as healthPlugin, f as ScheduleDefinition, g as schedulesPlugin, h as _default$8, m as SchedulesPluginOptions, p as ScheduleStats, v as HealthOptions, y as _default$3 } from "../types-BRU-Kd3t.mjs";
6
+ import { a as arcCorePlugin, i as _default, n as ArcCorePluginOptions, r as PluginMeta, t as ArcCore } from "../fastify-augmentation-jYA2oHyL.mjs";
7
+ import { _ as CachingRule, a as MetricsCollector, c as metricsPlugin, d as _default$6, f as realtimePlugin, g as CachingOptions, h as ssePlugin, i as MetricEntry, l as ChangeOperation, m as _default$9, n as _default$10, o as MetricsOptions, p as SSEOptions, r as versioningPlugin, s as _default$4, t as VersioningOptions, u as RealtimeOptions, v as _default$1, y as cachingPlugin } from "../versioning-B843jOYX.mjs";
8
8
  import { t as TracingOptions } from "../tracing-Dro5eH6j.mjs";
9
9
  import { PaginatedResult } from "@classytic/repo-core/pagination";
10
10
  import { FastifyInstance, FastifyPluginAsync } from "fastify";
@@ -1,20 +1,20 @@
1
- /*! @classytic/arc v2.37.1 | MIT | https://classytic.com */
2
- import { p as MUTATION_OPERATIONS } from "../constants-DDKf25s4.mjs";
1
+ /*! @classytic/arc v2.38.0 | MIT | https://classytic.com */
2
+ import { p as MUTATION_OPERATIONS } from "../constants-BONghE1Y.mjs";
3
3
  import { arcLog } from "../logger/index.mjs";
4
- import { c as getOrgId } from "../types-khJmBErP.mjs";
5
- import { n as requestContext } from "../requestContext-KzIdSmN2.mjs";
6
- import { t as hasEvents } from "../typeGuards-BrXgbFi-.mjs";
7
- import { t as HookSystem } from "../HookSystem-Csy31WS-.mjs";
8
- import { t as ResourceRegistry } from "../ResourceRegistry-OQA13slI.mjs";
9
- import { a as requestIdPlugin, i as createRequestIdGenerator, n as health_default, o as requestId_default, s as sanitizeRequestId, t as healthPlugin } from "../health-W_BjgWf0.mjs";
10
- import { n as caching_default, t as cachingPlugin } from "../caching-DldVgnC9.mjs";
11
- import { n as errorHandlerPlugin, t as defaultIsDuplicateKeyError } from "../errorHandler-BmEGKyO9.mjs";
12
- import { n as metrics_default, t as metricsPlugin } from "../metrics-Dx-nkDE5.mjs";
13
- import { n as realtime_default, t as realtimePlugin } from "../realtime-BWuHi-UI.mjs";
14
- import { t as replyHelpersPlugin } from "../replyHelpers-DVcUoled.mjs";
15
- import { n as schedules_default, t as schedulesPlugin } from "../schedules-DeRI03eo.mjs";
16
- import { n as sse_default, t as ssePlugin } from "../sse-BmZCVRGH.mjs";
17
- import { n as versioning_default, t as versioningPlugin } from "../versioning-CFK3c04-.mjs";
4
+ import { c as getOrgId } from "../types-BqLyyH0o.mjs";
5
+ import { n as requestContext } from "../requestContext-DpmntRZy.mjs";
6
+ import { t as hasEvents } from "../typeGuards-DHTnEs5X.mjs";
7
+ import { t as HookSystem } from "../HookSystem-C0ikzqQf.mjs";
8
+ import { t as ResourceRegistry } from "../ResourceRegistry-DPcX--zk.mjs";
9
+ import { a as requestIdPlugin, i as createRequestIdGenerator, n as health_default, o as requestId_default, s as sanitizeRequestId, t as healthPlugin } from "../health-Bh0N_FLk.mjs";
10
+ import { n as caching_default, t as cachingPlugin } from "../caching-a3ZEcJJs.mjs";
11
+ import { n as errorHandlerPlugin, t as defaultIsDuplicateKeyError } from "../errorHandler-BdmIWPba.mjs";
12
+ import { n as metrics_default, t as metricsPlugin } from "../metrics-CsWaIVTa.mjs";
13
+ import { n as realtime_default, t as realtimePlugin } from "../realtime-CPmjjgqd.mjs";
14
+ import { t as replyHelpersPlugin } from "../replyHelpers-BHebarf0.mjs";
15
+ import { n as schedules_default, t as schedulesPlugin } from "../schedules-DthM8Qag.mjs";
16
+ import { n as sse_default, t as ssePlugin } from "../sse-D4MYqkic.mjs";
17
+ import { n as versioning_default, t as versioningPlugin } from "../versioning-C2r0eOZ4.mjs";
18
18
  import fp from "fastify-plugin";
19
19
  import { performance as performance$1 } from "node:perf_hooks";
20
20
  //#region src/core/arcCorePlugin.ts
@@ -1,5 +1,5 @@
1
- /*! @classytic/arc v2.37.1 | MIT | https://classytic.com */
2
- import { t as hasEvents } from "../typeGuards-BrXgbFi-.mjs";
1
+ /*! @classytic/arc v2.38.0 | MIT | https://classytic.com */
2
+ import { t as hasEvents } from "../typeGuards-DHTnEs5X.mjs";
3
3
  import fp from "fastify-plugin";
4
4
  //#region src/plugins/response-cache.ts
5
5
  /**
@@ -1,4 +1,4 @@
1
- /*! @classytic/arc v2.37.1 | MIT | https://classytic.com */
1
+ /*! @classytic/arc v2.38.0 | MIT | https://classytic.com */
2
2
  import { createRequire } from "node:module";
3
3
  import fp from "fastify-plugin";
4
4
  //#region src/plugins/tracing.ts
@@ -59,7 +59,7 @@ try {
59
59
  function createTracerProvider(options) {
60
60
  if (!isAvailable || !NodeTracerProvider || !BatchSpanProcessor || !OTLPTraceExporter) return null;
61
61
  const { serviceName = "@classytic/arc", serviceVersion, exporterUrl = "http://localhost:4318/v1/traces" } = options;
62
- const resolvedVersion = serviceVersion ?? "2.37.1";
62
+ const resolvedVersion = serviceVersion ?? "2.38.0";
63
63
  const exporter = new OTLPTraceExporter({ url: exporterUrl });
64
64
  const provider = new NodeTracerProvider({ resource: { attributes: {
65
65
  "service.name": serviceName,
@@ -1,4 +1,4 @@
1
- /*! @classytic/arc v2.37.1 | MIT | https://classytic.com */
1
+ /*! @classytic/arc v2.38.0 | MIT | https://classytic.com */
2
2
  //#region src/utils/pluralize.ts
3
3
  /**
4
4
  * Lightweight English pluralization for the Arc CLI.
@@ -1,15 +1,15 @@
1
1
 
2
- import { It as Authenticator } from "./index-BqRfP1kT.mjs";
2
+ import { It as Authenticator } from "./index-B78WZom8.mjs";
3
3
  import { r as CacheStore } from "./interface-BOk3YnTz.mjs";
4
4
  import { n as ElevationOptions } from "./elevation-BXCfVcNG.mjs";
5
- import { a as EventTransport } from "./EventTransport-BEVP50ka.mjs";
5
+ import { a as EventTransport } from "./EventTransport-Cx60_s-6.mjs";
6
6
  import { t as ExternalOpenApiPaths } from "./externalPaths-CmGOxOtD.mjs";
7
7
  import { r as QueryCachePluginOptions } from "./queryCachePlugin-BzqxconG.mjs";
8
8
  import { t as ErrorHandlerOptions } from "./errorHandler-DI5AN2b5.mjs";
9
- import { l as ResourceLike, m as SchedulesPluginOptions, n as ArcModuleInput, v as HealthOptions } from "./types-BMa2EPtv.mjs";
10
- import "./index-DCxxRwLC.mjs";
11
- import { t as EventPluginOptions } from "./eventPlugin-B47sfCJ8.mjs";
12
- import { g as CachingOptions, o as MetricsOptions, p as SSEOptions, t as VersioningOptions, u as RealtimeOptions } from "./versioning-DEs-_hFi.mjs";
9
+ import { l as ResourceLike, m as SchedulesPluginOptions, n as ArcModuleInput, v as HealthOptions } from "./types-BRU-Kd3t.mjs";
10
+ import "./index-D2uIUSQk.mjs";
11
+ import { t as EventPluginOptions } from "./eventPlugin-DFvHa4Nf.mjs";
12
+ import { g as CachingOptions, o as MetricsOptions, p as SSEOptions, t as VersioningOptions, u as RealtimeOptions } from "./versioning-B843jOYX.mjs";
13
13
  import { r as IdempotencyStore } from "./interface-DEWNOMza.mjs";
14
14
  import { FastifyInstance, FastifyPluginAsync, FastifyReply, FastifyRequest, FastifyServerOptions } from "fastify";
15
15
  //#region src/factory/types/assets.d.ts
@@ -1,12 +1,12 @@
1
- /*! @classytic/arc v2.37.1 | MIT | https://classytic.com */
2
- import { t as __exportAll } from "./rolldown-runtime-NVzJrC-o.mjs";
1
+ /*! @classytic/arc v2.38.0 | MIT | https://classytic.com */
2
+ import { t as __exportAll } from "./rolldown-runtime-Add2L50I.mjs";
3
3
  import { arcLog, configureArcLogger, createPinoWriter, enterArcLoggerScope, runWithArcLogger } from "./logger/index.mjs";
4
- import { n as PUBLIC_SCOPE } from "./types-khJmBErP.mjs";
5
- import { t as auditRuntimeCapabilities } from "./runtimeCapabilities-OrGatf7r.mjs";
6
- import { t as createTenantKeyGenerator } from "./rateLimitKey-D4_rjP1K.mjs";
7
- import { i as createRequestIdGenerator, r as mergeHealthChecks } from "./health-W_BjgWf0.mjs";
8
- import { t as parseJsonBody } from "./jsonBody-kApktjTc.mjs";
9
- import { r as wrapWithBoundary } from "./subscribe-helpers-Dca7Fcz2.mjs";
4
+ import { n as PUBLIC_SCOPE } from "./types-BqLyyH0o.mjs";
5
+ import { t as auditRuntimeCapabilities } from "./runtimeCapabilities-D793Pxci.mjs";
6
+ import { t as createTenantKeyGenerator } from "./rateLimitKey-CewdR-m6.mjs";
7
+ import { i as createRequestIdGenerator, r as mergeHealthChecks } from "./health-Bh0N_FLk.mjs";
8
+ import { t as parseJsonBody } from "./jsonBody-DVui0uJl.mjs";
9
+ import { r as wrapWithBoundary } from "./subscribe-helpers-CBZOi6pk.mjs";
10
10
  import { isProductionEnv } from "@classytic/primitives/environment";
11
11
  import Fastify from "fastify";
12
12
  import qs from "qs";
@@ -851,7 +851,7 @@ async function registerArcCore(fastify, config, trackPlugin) {
851
851
  await fastify.register(arcCorePlugin, { emitEvents: config.arcPlugins?.emitEvents !== false });
852
852
  trackPlugin("arc-core");
853
853
  if (config.arcPlugins?.events !== false) {
854
- const { default: eventPlugin } = await import("./eventPlugin-B1ahehZH.mjs").then((n) => n.n);
854
+ const { default: eventPlugin } = await import("./eventPlugin-DJwpGMzx.mjs").then((n) => n.n);
855
855
  const eventOpts = typeof config.arcPlugins?.events === "object" ? config.arcPlugins.events : {};
856
856
  await fastify.register(eventPlugin, {
857
857
  /**
@@ -910,15 +910,15 @@ async function registerArcPlugins(fastify, config, trackPlugin, modules, moduleH
910
910
  trackPlugin("arc-graceful-shutdown");
911
911
  }
912
912
  if (config.arcPlugins?.caching) {
913
- const { default: cachingPlugin } = await import("./caching-DldVgnC9.mjs").then((n) => n.r);
913
+ const { default: cachingPlugin } = await import("./caching-a3ZEcJJs.mjs").then((n) => n.r);
914
914
  const opts = config.arcPlugins.caching === true ? {} : config.arcPlugins.caching;
915
915
  await fastify.register(cachingPlugin, opts);
916
916
  trackPlugin("arc-caching", opts);
917
917
  }
918
918
  if (config.arcPlugins?.queryCache) {
919
- const { queryCachePlugin } = await import("./queryCachePlugin-Cl3zLG7g.mjs").then((n) => n.n);
919
+ const { queryCachePlugin } = await import("./queryCachePlugin-oTsmVyEQ.mjs").then((n) => n.n);
920
920
  const opts = config.arcPlugins.queryCache === true ? {} : config.arcPlugins.queryCache;
921
- const store = config.stores?.queryCache ?? new (await (import("./memory-DvASzOn3.mjs").then((n) => n.n))).MemoryCacheStore();
921
+ const store = config.stores?.queryCache ?? new (await (import("./memory-BiPVaCPg.mjs").then((n) => n.n))).MemoryCacheStore();
922
922
  await fastify.register(queryCachePlugin, {
923
923
  store,
924
924
  ...opts
@@ -928,7 +928,7 @@ async function registerArcPlugins(fastify, config, trackPlugin, modules, moduleH
928
928
  if (config.arcPlugins?.sse) {
929
929
  if (config.arcPlugins?.events === false) fastify.log.warn("SSE plugin requires events plugin (arcPlugins.events). SSE disabled.");
930
930
  else {
931
- const { default: ssePlugin } = await import("./sse-BmZCVRGH.mjs").then((n) => n.r);
931
+ const { default: ssePlugin } = await import("./sse-D4MYqkic.mjs").then((n) => n.r);
932
932
  const opts = config.arcPlugins.sse === true ? {} : config.arcPlugins.sse;
933
933
  await fastify.register(ssePlugin, opts);
934
934
  trackPlugin("arc-sse", opts);
@@ -937,20 +937,20 @@ async function registerArcPlugins(fastify, config, trackPlugin, modules, moduleH
937
937
  if (config.arcPlugins?.realtime) {
938
938
  if (config.arcPlugins?.events === false) fastify.log.warn("Realtime plugin requires events plugin (arcPlugins.events). Realtime disabled.");
939
939
  else {
940
- const { default: realtimePlugin } = await import("./realtime-BWuHi-UI.mjs").then((n) => n.r);
940
+ const { default: realtimePlugin } = await import("./realtime-CPmjjgqd.mjs").then((n) => n.r);
941
941
  const opts = config.arcPlugins.realtime === true ? {} : config.arcPlugins.realtime;
942
942
  await fastify.register(realtimePlugin, opts);
943
943
  trackPlugin("arc-realtime", opts);
944
944
  }
945
945
  }
946
946
  if (config.arcPlugins?.metrics) {
947
- const { default: metricsPlugin } = await import("./metrics-Dx-nkDE5.mjs").then((n) => n.r);
947
+ const { default: metricsPlugin } = await import("./metrics-CsWaIVTa.mjs").then((n) => n.r);
948
948
  const opts = config.arcPlugins.metrics === true ? {} : config.arcPlugins.metrics;
949
949
  await fastify.register(metricsPlugin, opts);
950
950
  trackPlugin("arc-metrics", opts);
951
951
  }
952
952
  if (config.arcPlugins?.versioning) {
953
- const { default: versioningPlugin } = await import("./versioning-CFK3c04-.mjs").then((n) => n.r);
953
+ const { default: versioningPlugin } = await import("./versioning-C2r0eOZ4.mjs").then((n) => n.r);
954
954
  await fastify.register(versioningPlugin, config.arcPlugins.versioning);
955
955
  trackPlugin("arc-versioning", config.arcPlugins.versioning);
956
956
  }
@@ -1027,7 +1027,7 @@ async function registerAuth(fastify, config, trackPlugin) {
1027
1027
  */
1028
1028
  async function registerElevation(fastify, config, trackPlugin) {
1029
1029
  if (!config.elevation) return;
1030
- const { elevationPlugin } = await import("./elevation-9X0lGzTQ.mjs").then((n) => n.r);
1030
+ const { elevationPlugin } = await import("./elevation-C6woysGC.mjs").then((n) => n.r);
1031
1031
  await fastify.register(elevationPlugin, config.elevation);
1032
1032
  trackPlugin("arc-elevation", config.elevation);
1033
1033
  fastify.log.debug("Elevation plugin enabled");
@@ -1042,7 +1042,7 @@ async function registerElevation(fastify, config, trackPlugin) {
1042
1042
  */
1043
1043
  async function registerErrorHandler(fastify, config, trackPlugin, moduleErrorMappers) {
1044
1044
  if (config.errorHandler === false) return;
1045
- const { errorHandlerPlugin } = await import("./errorHandler-BmEGKyO9.mjs").then((n) => n.r);
1045
+ const { errorHandlerPlugin } = await import("./errorHandler-BdmIWPba.mjs").then((n) => n.r);
1046
1046
  /**
1047
1047
  * DISCLOSURE DEFAULTS MERGE — they used to be REPLACED, and that was two bugs.
1048
1048
  *
@@ -1266,7 +1266,7 @@ async function registerResources(fastify, config, preResolvedModules) {
1266
1266
  let discoveryPath;
1267
1267
  let discoveryYieldedZero = false;
1268
1268
  if (resolvedResources === void 0 && config.resourceDir) {
1269
- const { loadResources } = await import("./loadResources-ma-Aaxp1.mjs").then((n) => n.n);
1269
+ const { loadResources } = await import("./loadResources-CNd1DWnK.mjs").then((n) => n.n);
1270
1270
  const { resolve, dirname } = await import("node:path");
1271
1271
  const { fileURLToPath } = await import("node:url");
1272
1272
  const rawDir = config.resourceDir;
@@ -1392,7 +1392,7 @@ Resources supplied by "${m.name}": ${provided}.`);
1392
1392
  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.");
1393
1393
  const frozenJobs = Object.freeze(scheduledJobs.map((job) => Object.freeze({ ...job })));
1394
1394
  const scheduleOptions = typeof config.arcPlugins?.schedules === "object" ? config.arcPlugins.schedules : {};
1395
- const { default: schedulesPlugin } = await import("./schedules-DeRI03eo.mjs").then((n) => n.r);
1395
+ const { default: schedulesPlugin } = await import("./schedules-DthM8Qag.mjs").then((n) => n.r);
1396
1396
  await fastify.register(schedulesPlugin, {
1397
1397
  ...scheduleOptions,
1398
1398
  schedules: frozenJobs
@@ -1999,7 +1999,7 @@ async function buildApp(options, loggerScope, onInstance) {
1999
1999
  await registerErrorHandler(fastify, config, trackPlugin, moduleErrorMappers);
2000
2000
  await registerResources(fastify, config, resolvedModules);
2001
2001
  if (config.replyHelpers) {
2002
- const { replyHelpersPlugin } = await import("./replyHelpers-DVcUoled.mjs").then((n) => n.n);
2002
+ const { replyHelpersPlugin } = await import("./replyHelpers-BHebarf0.mjs").then((n) => n.n);
2003
2003
  await fastify.register(replyHelpersPlugin);
2004
2004
  }
2005
2005
  if (config.serializeBigInt) {
@@ -1,7 +1,7 @@
1
1
 
2
2
  import { i as RequestScope } from "../types-Ddl9OjmE.mjs";
3
3
  import { l as PermissionCheck } from "../base-C-NL2fTi.mjs";
4
- import { Y as PresetResult } from "../index-BqRfP1kT.mjs";
4
+ import { Y as PresetResult } from "../index-B78WZom8.mjs";
5
5
  import { a as StorageReadResult, i as StorageReadRange, n as StorageContext, o as StorageUploadInput, r as StorageFile, t as Storage } from "../storage-Cx9Sz3Ou.mjs";
6
6
  //#region src/presets/filesUpload.d.ts
7
7
  interface FilesUploadPresetRoutes {
@@ -1,8 +1,8 @@
1
- /*! @classytic/arc v2.37.1 | MIT | https://classytic.com */
2
- import { i as NotFoundError, u as ValidationError } from "../errors-CbxCF9M0.mjs";
3
- import { c as getOrgId, g as getUserId } from "../types-khJmBErP.mjs";
4
- import { B as requireAuth, F as allowPublic } from "../permissions-DnAc6zoZ.mjs";
5
- import { t as multipartBody } from "../multipartBody-TDaYOHGZ.mjs";
1
+ /*! @classytic/arc v2.38.0 | MIT | https://classytic.com */
2
+ import { i as NotFoundError, u as ValidationError } from "../errors-2ExmOgIJ.mjs";
3
+ import { c as getOrgId, g as getUserId } from "../types-BqLyyH0o.mjs";
4
+ import { B as requireAuth, F as allowPublic } from "../permissions-H7Zcb82Z.mjs";
5
+ import { t as multipartBody } from "../multipartBody-u6VrS_iH.mjs";
6
6
  //#region src/presets/filesUpload.ts
7
7
  const DEFAULT_FIELD_NAME = "file";
8
8
  const DEFAULT_MAX_FILE_SIZE = 10485760;
@@ -1,6 +1,6 @@
1
1
 
2
2
  import { t as AnyRecord } from "../base-C-NL2fTi.mjs";
3
- import { Fn as IControllerResponse, In as IRequestContext, U as ResourceConfig, Y as PresetResult, d as PaginationResult } from "../index-BqRfP1kT.mjs";
3
+ import { Fn as IControllerResponse, In as IRequestContext, U as ResourceConfig, Y as PresetResult, d as PaginationResult } from "../index-B78WZom8.mjs";
4
4
  import { FilesUploadPresetOptions, FilesUploadPresetPermissions, FilesUploadPresetRoutes, filesUploadPreset } from "./filesUpload.mjs";
5
5
  import { MultiTenantOptions, TenantFieldSpec, multiTenantPreset } from "./multiTenant.mjs";
6
6
  import { SearchHandler, SearchPresetOptions, SearchRouteConfig, searchPreset } from "./search.mjs";
@@ -1,6 +1,6 @@
1
- /*! @classytic/arc v2.37.1 | MIT | https://classytic.com */
1
+ /*! @classytic/arc v2.38.0 | MIT | https://classytic.com */
2
2
  import { multiTenantPreset } from "./multiTenant.mjs";
3
- import { a as registerPreset, c as auditedPreset, d as ownedByUserPreset, i as getPreset, l as softDeletePreset, n as flexibleMultiTenantPreset, o as treePreset, r as getAvailablePresets, s as bulkPreset, t as applyPresets, u as slugLookupPreset } from "../presets-BMxH-Bb7.mjs";
3
+ import { a as registerPreset, c as auditedPreset, d as ownedByUserPreset, i as getPreset, l as softDeletePreset, n as flexibleMultiTenantPreset, o as treePreset, r as getAvailablePresets, s as bulkPreset, t as applyPresets, u as slugLookupPreset } from "../presets-CNyfaxGL.mjs";
4
4
  import { filesUploadPreset } from "./filesUpload.mjs";
5
5
  import { searchPreset } from "./search.mjs";
6
6
  export { applyPresets, auditedPreset, bulkPreset, filesUploadPreset, flexibleMultiTenantPreset, getAvailablePresets, getPreset, multiTenantPreset, ownedByUserPreset, registerPreset, searchPreset, slugLookupPreset, softDeletePreset, treePreset };
@@ -1,5 +1,5 @@
1
1
 
2
- import { X as CrudRouteKey, Y as PresetResult } from "../index-BqRfP1kT.mjs";
2
+ import { X as CrudRouteKey, Y as PresetResult } from "../index-B78WZom8.mjs";
3
3
  //#region src/presets/multiTenant.d.ts
4
4
  /**
5
5
  * One tenant dimension for multi-field filtering. Discriminated by source:
@@ -1,6 +1,6 @@
1
- /*! @classytic/arc v2.37.1 | MIT | https://classytic.com */
2
- import "../constants-DDKf25s4.mjs";
3
- import { b as isElevated, c as getOrgId, d as getScopeContext, m as getTeamId, u as getRequestScope, v as hasOrgAccess } from "../types-khJmBErP.mjs";
1
+ /*! @classytic/arc v2.38.0 | MIT | https://classytic.com */
2
+ import "../constants-BONghE1Y.mjs";
3
+ import { b as isElevated, c as getOrgId, d as getScopeContext, m as getTeamId, u as getRequestScope, v as hasOrgAccess } from "../types-BqLyyH0o.mjs";
4
4
  //#region src/presets/multiTenant.ts
5
5
  /**
6
6
  * Resolve a single TenantFieldSpec against the current scope.
@@ -1,6 +1,6 @@
1
1
 
2
2
  import { l as PermissionCheck } from "../base-C-NL2fTi.mjs";
3
- import { At as RouteDefinition, Y as PresetResult, jn as ControllerHandler, jt as RouteMcpConfig } from "../index-BqRfP1kT.mjs";
3
+ import { At as RouteDefinition, Y as PresetResult, jn as ControllerHandler, jt as RouteMcpConfig } from "../index-B78WZom8.mjs";
4
4
  //#region src/presets/search.d.ts
5
5
  /**
6
6
  * Search Preset — backend-agnostic search / vector / embed routes
@@ -1,5 +1,5 @@
1
- /*! @classytic/arc v2.37.1 | MIT | https://classytic.com */
2
- import { B as requireAuth, F as allowPublic } from "../permissions-DnAc6zoZ.mjs";
1
+ /*! @classytic/arc v2.38.0 | MIT | https://classytic.com */
2
+ import { B as requireAuth, F as allowPublic } from "../permissions-H7Zcb82Z.mjs";
3
3
  //#region src/presets/search.ts
4
4
  const BUILTINS = [
5
5
  {
@@ -1,7 +1,7 @@
1
- /*! @classytic/arc v2.37.1 | MIT | https://classytic.com */
2
- import { l as UnauthorizedError } from "./errors-CbxCF9M0.mjs";
3
- import { b as isElevated, n as PUBLIC_SCOPE } from "./types-khJmBErP.mjs";
4
- import { B as requireAuth, F as allowPublic, U as requireRoles } from "./permissions-DnAc6zoZ.mjs";
1
+ /*! @classytic/arc v2.38.0 | MIT | https://classytic.com */
2
+ import { l as UnauthorizedError } from "./errors-2ExmOgIJ.mjs";
3
+ import { b as isElevated, n as PUBLIC_SCOPE } from "./types-BqLyyH0o.mjs";
4
+ import { B as requireAuth, F as allowPublic, U as requireRoles } from "./permissions-H7Zcb82Z.mjs";
5
5
  import { multiTenantPreset } from "./presets/multiTenant.mjs";
6
6
  //#region src/presets/ownedByUser.ts
7
7
  /**