@classytic/arc 2.43.0 → 2.44.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 (212) hide show
  1. package/dist/{EventTransport-tzA7CAB4.mjs → EventTransport-DZWDsaPa.mjs} +2 -2
  2. package/dist/{HookSystem-B6UaKRbF.mjs → HookSystem-yjEgn7Cm.mjs} +2 -2
  3. package/dist/{ResourceRegistry-CuCARu2B.mjs → ResourceRegistry-DJxHUpE4.mjs} +2 -2
  4. package/dist/acquire-BozJ-9yt.mjs +35 -0
  5. package/dist/{actionPermissions-BotX1YOa.mjs → actionPermissions-5N04zBL4.mjs} +13 -17
  6. package/dist/audit/index.d.mts +6 -6
  7. package/dist/audit/index.mjs +4 -4
  8. package/dist/auth/audit.d.mts +8 -8
  9. package/dist/auth/audit.mjs +1 -1
  10. package/dist/auth/index.d.mts +5 -5
  11. package/dist/auth/index.mjs +11 -8
  12. package/dist/auth/redis-session.d.mts +4 -5
  13. package/dist/auth/redis-session.mjs +1 -1
  14. package/dist/{authorizationDecision-DQYrkl5f.mjs → authorizationDecision-wX3SA9w_.mjs} +4 -4
  15. package/dist/{boundedMap-BULzfXYU.mjs → boundedMap-DWiKW7lP.mjs} +1 -1
  16. package/dist/{buildHandler-CRQ8EcX5.mjs → buildHandler-Bswu_vNb.mjs} +4 -4
  17. package/dist/cache/index.d.mts +9 -9
  18. package/dist/cache/index.mjs +4 -4
  19. package/dist/{caching-Cc2M1DwO.mjs → caching-Drp68DIS.mjs} +2 -2
  20. package/dist/{claimed-B10RTfkM.mjs → claimed-DYvQoZLv.mjs} +1 -1
  21. package/dist/cleanup/index.d.mts +14 -14
  22. package/dist/cleanup/index.mjs +4 -4
  23. package/dist/cli/commands/describe.d.mts +5 -5
  24. package/dist/cli/commands/describe.mjs +3 -3
  25. package/dist/cli/commands/docs.d.mts +2 -3
  26. package/dist/cli/commands/docs.mjs +3 -3
  27. package/dist/cli/commands/doctor.d.mts +2 -3
  28. package/dist/cli/commands/doctor.mjs +1 -1
  29. package/dist/cli/commands/generate.mjs +2 -3
  30. package/dist/cli/commands/init.mjs +2 -3
  31. package/dist/cli/commands/introspect.d.mts +2 -3
  32. package/dist/cli/commands/introspect.mjs +2 -2
  33. package/dist/cli/index.mjs +3 -3
  34. package/dist/{constants-Cu7Mx7_U.mjs → constants-B2QHb6u6.mjs} +1 -1
  35. package/dist/context/index.d.mts +9 -9
  36. package/dist/context/index.mjs +5 -5
  37. package/dist/core/index.d.mts +3 -3
  38. package/dist/core/index.mjs +8 -8
  39. package/dist/{core-Cb0LjccA.mjs → core-COcqo0Cp.mjs} +13 -4
  40. package/dist/{createActionRouter-xjqonMRO.mjs → createActionRouter-zG13rpPJ.mjs} +18 -8
  41. package/dist/{createAggregationRouter-zRYWw_5D.mjs → createAggregationRouter-CWRz96Vr.mjs} +7 -7
  42. package/dist/{createApp-D-953ZAq.mjs → createApp-BGLYtErt.mjs} +34 -32
  43. package/dist/{createMcpServer-C9cxS8zt.d.mts → createMcpServer-DSztofa9.d.mts} +1 -1
  44. package/dist/{defineAggregation-Bm8RjMbq.mjs → defineAggregation--3xguLkk.mjs} +1 -1
  45. package/dist/{defineResource-DIC7JZGU.mjs → defineResource-gUp9ug66.mjs} +7 -7
  46. package/dist/discovery/index.d.mts +6 -7
  47. package/dist/discovery/index.mjs +1 -1
  48. package/dist/docs/index.d.mts +3 -3
  49. package/dist/docs/index.mjs +3 -3
  50. package/dist/{elevation-DG8SrLN-.mjs → elevation-BG4gnMsJ.mjs} +5 -5
  51. package/dist/encryption/index.d.mts +5 -5
  52. package/dist/encryption/index.mjs +3 -3
  53. package/dist/{errorHandler-BnfDviL1.mjs → errorHandler-COHw3N1b.mjs} +3 -3
  54. package/dist/{errors-CtrywMHP.mjs → errors-CW4anJBy.mjs} +1 -1
  55. package/dist/{eventPlugin-Q6BhzHzs.mjs → eventPlugin-BweHAVws.mjs} +8 -8
  56. package/dist/{eventTypes-Cdhm6ZlV.mjs → eventTypes-N4-omQFR.mjs} +2 -2
  57. package/dist/events/index.d.mts +14 -14
  58. package/dist/events/index.mjs +7 -7
  59. package/dist/events/transports/redis-stream-entry.mjs +4 -4
  60. package/dist/events/transports/redis.d.mts +4 -5
  61. package/dist/events/transports/redis.mjs +2 -2
  62. package/dist/factory/index.d.mts +16 -16
  63. package/dist/factory/index.mjs +6 -6
  64. package/dist/{fastify-augmentation-DhUJ-mvo.d.mts → fastify-augmentation-DRlCIWE9.d.mts} +2 -2
  65. package/dist/{fields-ToPYpMqS.mjs → fields-A5crhsJb.mjs} +1 -1
  66. package/dist/{filter-merge-IpGywvym.mjs → filter-merge-DGM-GQ1J.mjs} +1 -1
  67. package/dist/{generate-DRTkLlIl.mjs → generate-BXKo2Gc8.mjs} +2 -2
  68. package/dist/{headers-BbkIF6vA.mjs → headers-DKZQKL-Z.mjs} +2 -2
  69. package/dist/{health-D-Ft6JM6.mjs → health-BYAwA6YS.mjs} +1 -1
  70. package/dist/{health-DqbsG-_w.mjs → health-CrqUp3sz.mjs} +1 -1
  71. package/dist/hooks/index.d.mts +1 -1
  72. package/dist/hooks/index.mjs +2 -3
  73. package/dist/idempotency/index.d.mts +8 -6
  74. package/dist/idempotency/index.mjs +108 -46
  75. package/dist/idempotency/redis.d.mts +1 -1
  76. package/dist/idempotency/redis.mjs +30 -2
  77. package/dist/{index-CRoPtISf.d.mts → index-Beg3aNnK.d.mts} +3 -31
  78. package/dist/{index-C8zVGYsk.d.mts → index-BkV55WlV.d.mts} +3 -3
  79. package/dist/{index-JdbZAIsm.d.mts → index-CUJvoyw3.d.mts} +1 -1
  80. package/dist/{index-mqaqZNpe.d.mts → index-WH7xgvxS.d.mts} +52 -1
  81. package/dist/index.d.mts +5 -5
  82. package/dist/index.mjs +11 -11
  83. package/dist/{init-B_oUYDXI.mjs → init-BPzK5Lnr.mjs} +1 -1
  84. package/dist/integrations/event-gateway.d.mts +3 -4
  85. package/dist/integrations/event-gateway.mjs +2 -2
  86. package/dist/integrations/index.d.mts +1 -1
  87. package/dist/integrations/index.mjs +1 -1
  88. package/dist/integrations/jobs/index.mjs +3 -3
  89. package/dist/integrations/mcp/index.d.mts +36 -36
  90. package/dist/integrations/mcp/index.mjs +2 -2
  91. package/dist/integrations/mcp/testing.d.mts +8 -9
  92. package/dist/integrations/mcp/testing.mjs +2 -2
  93. package/dist/integrations/streamline.d.mts +12 -13
  94. package/dist/integrations/streamline.mjs +18 -4
  95. package/dist/integrations/webhooks.d.mts +23 -23
  96. package/dist/integrations/webhooks.mjs +3 -3
  97. package/dist/integrations/websocket-pushref-redis.d.mts +4 -5
  98. package/dist/integrations/websocket-pushref-redis.mjs +1 -1
  99. package/dist/integrations/websocket-redis.d.mts +4 -5
  100. package/dist/integrations/websocket-redis.mjs +1 -1
  101. package/dist/integrations/websocket.mjs +2 -2
  102. package/dist/{interface-C0395yUN.d.mts → interface-JJzwH4Ro.d.mts} +22 -2
  103. package/dist/{jsonBody-B4YVGcql.mjs → jsonBody-YIq-vGLv.mjs} +2 -2
  104. package/dist/{keys-B2KtgMLJ.mjs → keys-CpoiZ8hU.mjs} +1 -1
  105. package/dist/{loadResources-Dn4lalw2.mjs → loadResources-6jO52-RR.mjs} +3 -3
  106. package/dist/{loadResourcesFromEntry-3sLYbuse.mjs → loadResourcesFromEntry-MP8xEppu.mjs} +2 -2
  107. package/dist/logger/index.d.mts +9 -10
  108. package/dist/logger/index.mjs +2 -3
  109. package/dist/{logger-DXjfIqjV.mjs → logger-D4V1zGLI.mjs} +1 -1
  110. package/dist/{mcpPlugin-C08HalN5.mjs → mcpPlugin-srPc7ItN.mjs} +42 -29
  111. package/dist/{memory-9Cp7611C.mjs → memory-CTa5pOCW.mjs} +3 -3
  112. package/dist/{metrics-CWI11eRu.mjs → metrics-DsZrvnpB.mjs} +3 -3
  113. package/dist/middleware/index.d.mts +5 -5
  114. package/dist/middleware/index.mjs +3 -3
  115. package/dist/migrations/index.d.mts +13 -13
  116. package/dist/migrations/index.mjs +2 -2
  117. package/dist/{module-BSvOQC7E.mjs → module--L0iBIZz.mjs} +1 -1
  118. package/dist/mongodb-memory-server-CHhYSq5y.mjs +35539 -0
  119. package/dist/mongoose-CYJCLyi-.mjs +67451 -0
  120. package/dist/{multiTenant-cY0FkDiA.d.mts → multiTenant-CAtYlW6H.d.mts} +1 -1
  121. package/dist/{multipartBody-CXM2a-Dy.mjs → multipartBody-Cc7eZ9cq.mjs} +1 -1
  122. package/dist/node-D8UZv_8c.mjs +41236 -0
  123. package/dist/{openapi-DT_G4VhY.mjs → openapi-CMegfsm8.mjs} +6 -6
  124. package/dist/outbox-admin/index.d.mts +2 -2
  125. package/dist/outbox-admin/index.mjs +5 -5
  126. package/dist/{outbox-module-Bjgzl6tg.mjs → outbox-module-Ryk270jd.mjs} +9 -9
  127. package/dist/permissions/index.mjs +7 -7
  128. package/dist/{permissions-Cm0uYHvd.mjs → permissions-C5ijIz5Q.mjs} +9 -9
  129. package/dist/{pipe-BqeGT6UO.mjs → pipe-D81zMtWs.mjs} +2 -2
  130. package/dist/pipeline/index.d.mts +7 -7
  131. package/dist/pipeline/index.mjs +2 -2
  132. package/dist/{plan-FVR6LP59.mjs → plan-CJGMKoui.mjs} +1 -1
  133. package/dist/{plugin-BccET1tL.mjs → plugin-DALd9dcF.mjs} +39 -27
  134. package/dist/plugins/index.d.mts +7 -7
  135. package/dist/plugins/index.mjs +17 -17
  136. package/dist/plugins/response-cache.d.mts +5 -6
  137. package/dist/plugins/response-cache.mjs +4 -4
  138. package/dist/plugins/tracing-entry.mjs +2 -2
  139. package/dist/{pluralize-CVIOcgMF.mjs → pluralize-COUNYo3d.mjs} +1 -1
  140. package/dist/presets/filesUpload.d.mts +7 -7
  141. package/dist/presets/filesUpload.mjs +5 -5
  142. package/dist/presets/index.d.mts +14 -14
  143. package/dist/presets/index.mjs +2 -2
  144. package/dist/presets/multiTenant.d.mts +1 -1
  145. package/dist/presets/multiTenant.mjs +5 -5
  146. package/dist/presets/search.d.mts +8 -9
  147. package/dist/presets/search.mjs +2 -2
  148. package/dist/{presets-Cpvj6fGO.mjs → presets-CONf2Qem.mjs} +4 -4
  149. package/dist/{projection-Ce4aQhQk.mjs → projection-wFoLqdss.mjs} +2 -2
  150. package/dist/{queryCachePlugin-CFWNH8aT.mjs → queryCachePlugin-BATECpyh.mjs} +6 -6
  151. package/dist/{rateLimitKey-C4O-kPm0.mjs → rateLimitKey-DVEZ_UpV.mjs} +1 -1
  152. package/dist/{realtime-DmPE9S54.mjs → realtime-xyubMKSB.mjs} +11 -11
  153. package/dist/{redis-vLvtcGy_.d.mts → redis-BDgv9Glw.d.mts} +5 -1
  154. package/dist/registry/index.d.mts +9 -9
  155. package/dist/registry/index.mjs +3 -3
  156. package/dist/{registry-Bcz9G1bh.mjs → registry-Bdzg-hdm.mjs} +5 -4
  157. package/dist/{renewingLease-qODa7KJQ.mjs → renewingLease-BFJxGPuh.mjs} +1 -1
  158. package/dist/{replyHelpers-CG_VtVgS.mjs → replyHelpers-Bnc6lJyy.mjs} +2 -2
  159. package/dist/{requestContext-Dsu9P1bV.mjs → requestContext-C10UeFe5.mjs} +1 -1
  160. package/dist/{requirement-KDdoRcOP.mjs → requirement-Bu50QALH.mjs} +1 -1
  161. package/dist/{resourceRateLimit-dSjVr1pk.mjs → resourceRateLimit-urWPJxrt.mjs} +2 -2
  162. package/dist/rolldown-runtime-MYrLNGnq.mjs +45 -0
  163. package/dist/{routeValidator-D36SW8qt.mjs → routeValidator-DHtpzrzk.mjs} +1 -1
  164. package/dist/{runtimeCapabilities-0tccjRlj.mjs → runtimeCapabilities-DIMKMV2G.mjs} +1 -1
  165. package/dist/{schedules-C-OpmHBq.mjs → schedules-CKTs5ys8.mjs} +5 -5
  166. package/dist/{schemaConverter-BORek3O-.mjs → schemaConverter-BVjkQ5DD.mjs} +2 -2
  167. package/dist/{schemaIR-C7Vbp71I.mjs → schemaIR-BA0Hb21Y.mjs} +2 -2
  168. package/dist/schemas/index.d.mts +10 -10
  169. package/dist/schemas/index.mjs +1 -1
  170. package/dist/scim/index.d.mts +13 -13
  171. package/dist/scim/index.mjs +2 -2
  172. package/dist/scope/index.d.mts +3 -3
  173. package/dist/scope/index.mjs +5 -5
  174. package/dist/{scope-DQthe88b.mjs → scope-DINaj7Ax.mjs} +4 -4
  175. package/dist/{shutdown-MqA81z_P.mjs → shutdown-LpLMH8T1.mjs} +1 -1
  176. package/dist/{simpleEqualityMatcher-auW8QjXN.mjs → simpleEqualityMatcher-DbwIM1f1.mjs} +1 -1
  177. package/dist/{sse-CYzQBVFe.mjs → sse-BzJFPX_1.mjs} +7 -7
  178. package/dist/{sseStream-B5_Afiqn.mjs → sseStream-DQChzGTs.mjs} +2 -2
  179. package/dist/{store-helpers-BOzk-CuX.mjs → store-helpers-Coj9RhOZ.mjs} +1 -1
  180. package/dist/{streaming-DjTQhZrN.mjs → streaming-JzB5CAga.mjs} +1 -1
  181. package/dist/{subscriberIdentity-CW39uA8G.mjs → subscriberIdentity-DeyppIif.mjs} +1 -1
  182. package/dist/{tenancy--ed9eH_z.mjs → tenancy-DxV8OuX2.mjs} +2 -2
  183. package/dist/{tenantPreparation-BKon6Yox.mjs → tenantPreparation-CBvvAcAj.mjs} +4 -4
  184. package/dist/testing/cleanupStoreContract.d.mts +4 -5
  185. package/dist/testing/cleanupStoreContract.mjs +1 -1
  186. package/dist/testing/index.d.mts +35 -35
  187. package/dist/testing/index.mjs +16 -15
  188. package/dist/testing/outboxStoreContract.d.mts +4 -5
  189. package/dist/testing/outboxStoreContract.mjs +2 -2
  190. package/dist/testing/requiredPorts.d.mts +4 -5
  191. package/dist/testing/requiredPorts.mjs +2 -2
  192. package/dist/testing/storageContract.d.mts +4 -5
  193. package/dist/testing/storageContract.mjs +1 -1
  194. package/dist/{timing-qczZ0YC-.mjs → timing-CntavTlR.mjs} +1 -1
  195. package/dist/{transactionContext-DjFkrNG6.mjs → transactionContext-orvnGu4F.mjs} +1 -1
  196. package/dist/{typeGuards-CySF12G-.mjs → typeGuards-kEaP_WmO.mjs} +1 -1
  197. package/dist/types/index.d.mts +1 -1
  198. package/dist/types/index.mjs +1 -1
  199. package/dist/types/storage.mjs +1 -1
  200. package/dist/{types-B4Aq4Sdj.d.mts → types-D3Ixsh00.d.mts} +1 -1
  201. package/dist/{types-Bk9NOgOC.mjs → types-fvO6Ovzx.mjs} +4 -4
  202. package/dist/usage/index.d.mts +4 -4
  203. package/dist/usage/index.mjs +4 -4
  204. package/dist/{userHelpers-aklawRaK.mjs → userHelpers-C76zD5pa.mjs} +1 -1
  205. package/dist/utils/index.d.mts +47 -47
  206. package/dist/utils/index.mjs +12 -12
  207. package/dist/{utils-ec1oTo1n.mjs → utils-BpkVZ8rB.mjs} +4 -4
  208. package/dist/{validate-9yzHC1e2.mjs → validate-CWp-lsrm.mjs} +3 -3
  209. package/dist/{versioning-fhhWHV74.mjs → versioning-CHhL9P3o.mjs} +3 -3
  210. package/dist/{workScope-zpPyge4t.mjs → workScope-n9a7d_lZ.mjs} +2 -2
  211. package/package.json +45 -51
  212. package/dist/rolldown-runtime-D1w9Y1VJ.mjs +0 -15
@@ -1,8 +1,8 @@
1
1
 
2
2
  import { t as AnyRecord } from "../base-CZyixEQR.mjs";
3
- import { In as IControllerResponse, L as ResourceConfig, Ln as IRequestContext, W as PresetResult, i as PaginationResult } from "../index-mqaqZNpe.mjs";
3
+ import { Hn as IRequestContext, L as ResourceConfig, Vn as IControllerResponse, W as PresetResult, i as PaginationResult } from "../index-WH7xgvxS.mjs";
4
4
  import { FilesUploadPresetOptions, FilesUploadPresetPermissions, FilesUploadPresetRoutes, filesUploadPreset } from "./filesUpload.mjs";
5
- import { n as multiTenantPreset, r as TenantFieldSpec, t as MultiTenantOptions } from "../multiTenant-cY0FkDiA.mjs";
5
+ import { n as multiTenantPreset, r as TenantFieldSpec, t as MultiTenantOptions } from "../multiTenant-CAtYlW6H.mjs";
6
6
  import { SearchHandler, SearchPresetOptions, SearchRouteConfig, searchPreset } from "./search.mjs";
7
7
  //#region src/presets/audited.d.ts
8
8
  interface AuditedPresetOptions {
@@ -14,7 +14,7 @@ interface AuditedPresetOptions {
14
14
  /**
15
15
  * Audited preset - adds createdBy/updatedBy tracking
16
16
  */
17
- declare function auditedPreset(options?: AuditedPresetOptions): PresetResult;
17
+ export declare function auditedPreset(options?: AuditedPresetOptions): PresetResult;
18
18
  //#endregion
19
19
  //#region src/presets/bulk.d.ts
20
20
  type BulkOperation = "createMany" | "updateMany" | "deleteMany";
@@ -24,7 +24,7 @@ interface BulkPresetOptions {
24
24
  /** Max items per bulk create (default: 1000) */
25
25
  maxCreateItems?: number;
26
26
  }
27
- declare function bulkPreset(opts?: BulkPresetOptions): PresetResult;
27
+ export declare function bulkPreset(opts?: BulkPresetOptions): PresetResult;
28
28
  //#endregion
29
29
  //#region src/presets/ownedByUser.d.ts
30
30
  interface OwnedByUserOptions {
@@ -42,22 +42,22 @@ interface OwnedByUserOptions {
42
42
  */
43
43
  missingOwner?: "deny" | "allow";
44
44
  }
45
- declare function ownedByUserPreset(options?: OwnedByUserOptions): PresetResult;
45
+ export declare function ownedByUserPreset(options?: OwnedByUserOptions): PresetResult;
46
46
  //#endregion
47
47
  //#region src/presets/slugLookup.d.ts
48
48
  interface SlugLookupOptions {
49
49
  slugField?: string;
50
50
  }
51
- declare function slugLookupPreset(options?: SlugLookupOptions): PresetResult;
51
+ export declare function slugLookupPreset(options?: SlugLookupOptions): PresetResult;
52
52
  //#endregion
53
53
  //#region src/presets/softDelete.d.ts
54
- declare function softDeletePreset(): PresetResult;
54
+ export declare function softDeletePreset(): PresetResult;
55
55
  //#endregion
56
56
  //#region src/presets/tree.d.ts
57
57
  interface TreeOptions {
58
58
  parentField?: string;
59
59
  }
60
- declare function treePreset(options?: TreeOptions): PresetResult;
60
+ export declare function treePreset(options?: TreeOptions): PresetResult;
61
61
  //#endregion
62
62
  //#region src/presets/types.d.ts
63
63
  /**
@@ -271,21 +271,21 @@ type PresetFactory = (options?: AnyRecord) => PresetResult;
271
271
  /**
272
272
  * Get preset by name with options
273
273
  */
274
- declare function getPreset(nameOrConfig: string | {
274
+ export declare function getPreset(nameOrConfig: string | {
275
275
  name: string;
276
276
  [key: string]: unknown;
277
277
  }): PresetResult;
278
278
  /**
279
279
  * Register a custom preset
280
280
  */
281
- declare function registerPreset(name: string, factory: PresetFactory, options?: {
281
+ export declare function registerPreset(name: string, factory: PresetFactory, options?: {
282
282
  override?: boolean;
283
283
  }): void;
284
284
  /**
285
285
  * Get all available preset names
286
286
  */
287
- declare function getAvailablePresets(): string[];
288
- type PresetInput = string | PresetResult | {
287
+ export declare function getAvailablePresets(): string[];
288
+ export type PresetInput = string | PresetResult | {
289
289
  name: string;
290
290
  [key: string]: unknown;
291
291
  };
@@ -293,6 +293,6 @@ type PresetInput = string | PresetResult | {
293
293
  * Apply presets to resource config.
294
294
  * Validates preset combinations for conflicts before merging.
295
295
  */
296
- declare function applyPresets<TDoc = AnyRecord>(config: ResourceConfig<TDoc>, presets?: PresetInput[]): ResourceConfig<TDoc>;
296
+ export declare function applyPresets<TDoc = AnyRecord>(config: ResourceConfig<TDoc>, presets?: PresetInput[]): ResourceConfig<TDoc>;
297
297
  //#endregion
298
- export { type AuditedPresetOptions, type BulkOperation, type BulkPresetOptions, type FilesUploadPresetOptions, type FilesUploadPresetPermissions, type FilesUploadPresetRoutes, type IAuditedPreset, type IMultiTenantPreset, type IOwnedByUserPreset, type IPresetController, type ISlugLookupController, type ISoftDeleteController, type ITreeController, type MultiTenantOptions, type OwnedByUserOptions, PresetInput, type SearchHandler, type SearchPresetOptions, type SearchRouteConfig, type SlugLookupOptions, type TenantFieldSpec, type TreeOptions, applyPresets, auditedPreset, bulkPreset, filesUploadPreset, getAvailablePresets, getPreset, multiTenantPreset, ownedByUserPreset, registerPreset, searchPreset, slugLookupPreset, softDeletePreset, treePreset };
298
+ export { type AuditedPresetOptions, type BulkOperation, type BulkPresetOptions, type FilesUploadPresetOptions, type FilesUploadPresetPermissions, type FilesUploadPresetRoutes, type IAuditedPreset, type IMultiTenantPreset, type IOwnedByUserPreset, type IPresetController, type ISlugLookupController, type ISoftDeleteController, type ITreeController, type MultiTenantOptions, type OwnedByUserOptions, type SearchHandler, type SearchPresetOptions, type SearchRouteConfig, type SlugLookupOptions, type TenantFieldSpec, type TreeOptions, filesUploadPreset, multiTenantPreset, searchPreset };
@@ -1,5 +1,5 @@
1
- /*! @classytic/arc v2.43.0 | MIT | https://classytic.com */
2
- import { a as treePreset, c as ownedByUserPreset, i as registerPreset, l as bulkPreset, n as getAvailablePresets, o as softDeletePreset, r as getPreset, s as slugLookupPreset, t as applyPresets, u as auditedPreset } from "../presets-Cpvj6fGO.mjs";
1
+ /*! @classytic/arc v2.44.0 | MIT | https://classytic.com */
2
+ import { a as treePreset, c as ownedByUserPreset, i as registerPreset, l as bulkPreset, n as getAvailablePresets, o as softDeletePreset, r as getPreset, s as slugLookupPreset, t as applyPresets, u as auditedPreset } from "../presets-CONf2Qem.mjs";
3
3
  import { filesUploadPreset } from "./filesUpload.mjs";
4
4
  import { multiTenantPreset } from "./multiTenant.mjs";
5
5
  import { searchPreset } from "./search.mjs";
@@ -1,3 +1,3 @@
1
1
 
2
- import { n as multiTenantPreset, r as TenantFieldSpec, t as MultiTenantOptions } from "../multiTenant-cY0FkDiA.mjs";
2
+ import { n as multiTenantPreset, r as TenantFieldSpec, t as MultiTenantOptions } from "../multiTenant-CAtYlW6H.mjs";
3
3
  export { MultiTenantOptions, type TenantFieldSpec, multiTenantPreset };
@@ -1,8 +1,8 @@
1
- /*! @classytic/arc v2.43.0 | MIT | https://classytic.com */
2
- import "../constants-Cu7Mx7_U.mjs";
3
- import { t as ArcError } from "../errors-CtrywMHP.mjs";
4
- import { u as getRequestScope } from "../types-Bk9NOgOC.mjs";
5
- import { i as tagTenantPreparation, t as applyTenantPreparation } from "../tenantPreparation-BKon6Yox.mjs";
1
+ /*! @classytic/arc v2.44.0 | MIT | https://classytic.com */
2
+ import "../constants-B2QHb6u6.mjs";
3
+ import { t as ArcError } from "../errors-CW4anJBy.mjs";
4
+ import { u as getRequestScope } from "../types-fvO6Ovzx.mjs";
5
+ import { i as tagTenantPreparation, t as applyTenantPreparation } from "../tenantPreparation-CBvvAcAj.mjs";
6
6
  //#region src/presets/multiTenant.ts
7
7
  function createTenantMiddleware(specs, mode) {
8
8
  const preparation = {
@@ -1,6 +1,6 @@
1
1
 
2
2
  import { l as PermissionCheck } from "../base-CZyixEQR.mjs";
3
- import { Dt as RouteMcpConfig, Et as RouteDefinition, Mn as ControllerHandler, W as PresetResult } from "../index-mqaqZNpe.mjs";
3
+ import { Dt as RouteMcpConfig, Et as RouteDefinition, Ln as ControllerHandler, W as PresetResult } from "../index-WH7xgvxS.mjs";
4
4
  //#region src/presets/search.d.ts
5
5
  /**
6
6
  * Search Preset — backend-agnostic search / vector / embed routes
@@ -46,7 +46,7 @@ import { Dt as RouteMcpConfig, Et as RouteDefinition, Mn as ControllerHandler, W
46
46
  * kit happens to ship these methods, without forcing every repo to declare
47
47
  * them.
48
48
  */
49
- interface SearchableRepository {
49
+ export interface SearchableRepository {
50
50
  search?(query: unknown, options?: unknown): Promise<unknown>;
51
51
  searchSimilar?(query: unknown, options?: unknown): Promise<unknown>;
52
52
  embed?(input: unknown): Promise<number[]>;
@@ -56,8 +56,8 @@ interface SearchableRepository {
56
56
  * non-raw route handler) and returns either the raw result (wrapped into
57
57
  * `{ success: true, data }` by arc) or an explicit `IControllerResponse`.
58
58
  */
59
- type SearchHandler = ControllerHandler;
60
- interface SearchRouteConfig {
59
+ export type SearchHandler = ControllerHandler;
60
+ export interface SearchRouteConfig {
61
61
  /**
62
62
  * User-supplied handler. When omitted, the preset auto-synthesises a handler
63
63
  * from `options.repository` (calling `repo.search` / `repo.searchSimilar` /
@@ -95,8 +95,8 @@ interface SearchRouteConfig {
95
95
  * - `true` → mount with defaults, auto-wire from `repository`
96
96
  * - `SearchRouteConfig` → explicit config (and optional handler override)
97
97
  */
98
- type SearchSection = true | SearchRouteConfig;
99
- interface SearchPresetOptions {
98
+ export type SearchSection = true | SearchRouteConfig;
99
+ export interface SearchPresetOptions {
100
100
  /**
101
101
  * Repository exposing `search`/`searchSimilar`/`embed`. When provided,
102
102
  * any section without an explicit `handler` is auto-wired to the matching
@@ -135,6 +135,5 @@ interface SearchPresetOptions {
135
135
  * The preset itself stays DB-agnostic: nothing is imported from mongokit —
136
136
  * it only feature-detects the optional methods on whatever repo you pass.
137
137
  */
138
- declare function searchPreset(options?: SearchPresetOptions): PresetResult;
139
- //#endregion
140
- export { SearchHandler, SearchPresetOptions, SearchRouteConfig, SearchSection, SearchableRepository, searchPreset };
138
+ export declare function searchPreset(options?: SearchPresetOptions): PresetResult;
139
+ //#endregion
@@ -1,5 +1,5 @@
1
- /*! @classytic/arc v2.43.0 | MIT | https://classytic.com */
2
- import { B as requireAuth, F as allowPublic } from "../permissions-Cm0uYHvd.mjs";
1
+ /*! @classytic/arc v2.44.0 | MIT | https://classytic.com */
2
+ import { B as requireAuth, F as allowPublic } from "../permissions-C5ijIz5Q.mjs";
3
3
  //#region src/presets/search.ts
4
4
  const BUILTINS = [
5
5
  {
@@ -1,7 +1,7 @@
1
- /*! @classytic/arc v2.43.0 | MIT | https://classytic.com */
2
- import { l as UnauthorizedError } from "./errors-CtrywMHP.mjs";
3
- import { b as isElevated, n as PUBLIC_SCOPE } from "./types-Bk9NOgOC.mjs";
4
- import { B as requireAuth, F as allowPublic, U as requireRoles } from "./permissions-Cm0uYHvd.mjs";
1
+ /*! @classytic/arc v2.44.0 | MIT | https://classytic.com */
2
+ import { l as UnauthorizedError } from "./errors-CW4anJBy.mjs";
3
+ import { b as isElevated, n as PUBLIC_SCOPE } from "./types-fvO6Ovzx.mjs";
4
+ import { B as requireAuth, F as allowPublic, U as requireRoles } from "./permissions-C5ijIz5Q.mjs";
5
5
  import { multiTenantPreset } from "./presets/multiTenant.mjs";
6
6
  //#region src/presets/audited.ts
7
7
  /**
@@ -1,5 +1,5 @@
1
- /*! @classytic/arc v2.43.0 | MIT | https://classytic.com */
2
- import { c as getOrgId, f as getScopeContextMap, g as getUserId, m as getTeamId, x as isMember } from "./types-Bk9NOgOC.mjs";
1
+ /*! @classytic/arc v2.44.0 | MIT | https://classytic.com */
2
+ import { c as getOrgId, f as getScopeContextMap, g as getUserId, m as getTeamId, x as isMember } from "./types-fvO6Ovzx.mjs";
3
3
  //#region src/scope/projection.ts
4
4
  /**
5
5
  * Compute the request-scope projection. Returns `undefined` when no
@@ -1,9 +1,9 @@
1
- /*! @classytic/arc v2.43.0 | MIT | https://classytic.com */
2
- import { t as __exportAll } from "./rolldown-runtime-D1w9Y1VJ.mjs";
3
- import { i as versionKey, r as tagVersionKey } from "./keys-B2KtgMLJ.mjs";
4
- import { n as declareRuntimeCapability } from "./runtimeCapabilities-0tccjRlj.mjs";
5
- import { t as hasEvents } from "./typeGuards-CySF12G-.mjs";
6
- import { t as MemoryCacheStore } from "./memory-9Cp7611C.mjs";
1
+ /*! @classytic/arc v2.44.0 | MIT | https://classytic.com */
2
+ import { r as __exportAll } from "./rolldown-runtime-MYrLNGnq.mjs";
3
+ import { i as versionKey, r as tagVersionKey } from "./keys-CpoiZ8hU.mjs";
4
+ import { n as declareRuntimeCapability } from "./runtimeCapabilities-DIMKMV2G.mjs";
5
+ import { t as hasEvents } from "./typeGuards-kEaP_WmO.mjs";
6
+ import { t as MemoryCacheStore } from "./memory-CTa5pOCW.mjs";
7
7
  import fp from "fastify-plugin";
8
8
  //#region src/cache/QueryCache.ts
9
9
  const MISS = Object.freeze({
@@ -1,4 +1,4 @@
1
- /*! @classytic/arc v2.43.0 | MIT | https://classytic.com */
1
+ /*! @classytic/arc v2.44.0 | MIT | https://classytic.com */
2
2
  //#region src/scope/rateLimitKey.ts
3
3
  /**
4
4
  * Marks a key generator as SCOPE-AWARE, so `buildRateLimitOpts` can place the rate-limit
@@ -1,14 +1,14 @@
1
- /*! @classytic/arc v2.43.0 | MIT | https://classytic.com */
2
- import { t as __exportAll } from "./rolldown-runtime-D1w9Y1VJ.mjs";
3
- import { t as arcLog } from "./logger-DXjfIqjV.mjs";
4
- import { t as simpleEqualityMatcher } from "./simpleEqualityMatcher-auW8QjXN.mjs";
5
- import { n as getUserRoles } from "./userHelpers-aklawRaK.mjs";
6
- import { n as isEventVisible, t as eventAudienceOf } from "./tenancy--ed9eH_z.mjs";
7
- import { t as applyFieldReadPermissions } from "./fields-ToPYpMqS.mjs";
8
- import { a as promoteStreamTokenToHeader } from "./streaming-DjTQhZrN.mjs";
9
- import { n as evaluateAndApplyPermission } from "./authorizationDecision-DQYrkl5f.mjs";
10
- import { t as openSseStream } from "./sseStream-B5_Afiqn.mjs";
11
- import { n as arcRouteValidatorCompiler } from "./routeValidator-D36SW8qt.mjs";
1
+ /*! @classytic/arc v2.44.0 | MIT | https://classytic.com */
2
+ import { r as __exportAll } from "./rolldown-runtime-MYrLNGnq.mjs";
3
+ import { t as arcLog } from "./logger-D4V1zGLI.mjs";
4
+ import { t as simpleEqualityMatcher } from "./simpleEqualityMatcher-DbwIM1f1.mjs";
5
+ import { n as getUserRoles } from "./userHelpers-C76zD5pa.mjs";
6
+ import { n as isEventVisible, t as eventAudienceOf } from "./tenancy-DxV8OuX2.mjs";
7
+ import { t as applyFieldReadPermissions } from "./fields-A5crhsJb.mjs";
8
+ import { a as promoteStreamTokenToHeader } from "./streaming-JzB5CAga.mjs";
9
+ import { n as evaluateAndApplyPermission } from "./authorizationDecision-wX3SA9w_.mjs";
10
+ import { t as openSseStream } from "./sseStream-DQChzGTs.mjs";
11
+ import { n as arcRouteValidatorCompiler } from "./routeValidator-DHtpzrzk.mjs";
12
12
  import fp from "fastify-plugin";
13
13
  //#region src/plugins/realtime.ts
14
14
  var realtime_exports = /* @__PURE__ */ __exportAll({
@@ -1,6 +1,6 @@
1
1
 
2
2
  import { n as UpstashKeyValueCommands, t as IoredisKeyValueCommands } from "./redisShapes-CQksY67q.mjs";
3
- import { n as IdempotencyResult, r as IdempotencyStore } from "./interface-C0395yUN.mjs";
3
+ import { i as IdempotencyStore, r as IdempotencyResult, t as IdempotencyAcquisition } from "./interface-JJzwH4Ro.mjs";
4
4
  //#region src/idempotency/stores/redis.d.ts
5
5
  interface RedisClient {
6
6
  get(key: string): Promise<string | null>;
@@ -28,6 +28,8 @@ interface RedisIdempotencyStoreOptions {
28
28
  declare class RedisIdempotencyStore implements IdempotencyStore {
29
29
  readonly name = "redis";
30
30
  readonly supportsFencedCompletion: boolean;
31
+ /** The fenced completion script deletes the lock; it needs `eval`, as fencing does. */
32
+ readonly completionReleasesLock: boolean;
31
33
  private client;
32
34
  private prefix;
33
35
  private lockPrefix;
@@ -36,8 +38,10 @@ declare class RedisIdempotencyStore implements IdempotencyStore {
36
38
  private resultKey;
37
39
  private lockKey;
38
40
  get(key: string): Promise<IdempotencyResult | undefined>;
41
+ private parseResult;
39
42
  set(key: string, result: Omit<IdempotencyResult, "key">): Promise<void>;
40
43
  tryLock(key: string, requestId: string, ttlMs: number): Promise<boolean>;
44
+ acquire(key: string, requestId: string, lockTtlMs: number): Promise<IdempotencyAcquisition>;
41
45
  setIfLocked(key: string, requestId: string, result: Omit<IdempotencyResult, "key">): Promise<boolean>;
42
46
  unlock(key: string, requestId: string): Promise<void>;
43
47
  isLocked(key: string): Promise<boolean>;
@@ -1,6 +1,6 @@
1
1
 
2
- import { F as ResourceDefinition, G as CrudRouteKey, M as ResourceRegistry, N as RouteRow, S as IntrospectionPluginOptions, V as ResolvedTenantPurge, j as RegisterOptions, o as RegistryEntry } from "../index-mqaqZNpe.mjs";
3
- import "../fastify-augmentation-DhUJ-mvo.mjs";
2
+ import { F as ResourceDefinition, G as CrudRouteKey, M as ResourceRegistry, N as RouteRow, S as IntrospectionPluginOptions, V as ResolvedTenantPurge, j as RegisterOptions, o as RegistryEntry } from "../index-WH7xgvxS.mjs";
3
+ import "../fastify-augmentation-DRlCIWE9.mjs";
4
4
  import { TenantPurgeProgress, TenantPurgeStrategy } from "@classytic/repo-core/repository";
5
5
  import { FastifyPluginAsync } from "fastify";
6
6
  //#region src/registry/assertNoTenantData.d.ts
@@ -60,7 +60,7 @@ interface AssertNoTenantDataReport {
60
60
  * });
61
61
  * ```
62
62
  */
63
- declare function assertNoTenantData(registry: ResourceRegistry, options: AssertNoTenantDataOptions): Promise<AssertNoTenantDataReport>;
63
+ export declare function assertNoTenantData(registry: ResourceRegistry, options: AssertNoTenantDataOptions): Promise<AssertNoTenantDataReport>;
64
64
  //#endregion
65
65
  //#region src/registry/purgeResource.d.ts
66
66
  /**
@@ -232,7 +232,7 @@ interface CascadeCheckpoint {
232
232
  * A resource is cascading when its resolved strategy isn't `disabled`
233
233
  * (i.e. the host declared `onTenantDelete`).
234
234
  */
235
- declare function getCascadingResources(registry: ResourceRegistry): readonly string[];
235
+ export declare function getCascadingResources(registry: ResourceRegistry): readonly string[];
236
236
  /**
237
237
  * Rich introspection — returns the resolved strategy + source per
238
238
  * cascading resource. Use for audit dashboards that answer "what
@@ -245,7 +245,7 @@ declare function getCascadingResources(registry: ResourceRegistry): readonly str
245
245
  * purge this" entry. Anonymize carries the field map. Custom carries
246
246
  * the handler reference. Narrow on `.strategy.type` for typed access.
247
247
  */
248
- declare function getCascadingResourcesWithMetadata(registry: ResourceRegistry): readonly {
248
+ export declare function getCascadingResourcesWithMetadata(registry: ResourceRegistry): readonly {
249
249
  name: string;
250
250
  tenantField: string;
251
251
  strategy: TenantPurgeStrategy;
@@ -274,7 +274,7 @@ declare function getCascadingResourcesWithMetadata(registry: ResourceRegistry):
274
274
  * @param registry The arc resource registry (`fastify.arc.registry`).
275
275
  * @param options Org id + filters + logger + progress + signal.
276
276
  */
277
- declare function cascadeDeleteForOrganization(registry: ResourceRegistry, options: CascadeOptions): Promise<CascadeReport>;
277
+ export declare function cascadeDeleteForOrganization(registry: ResourceRegistry, options: CascadeOptions): Promise<CascadeReport>;
278
278
  //#endregion
279
279
  //#region src/registry/introspectionPlugin.d.ts
280
280
  declare const _default: FastifyPluginAsync<IntrospectionPluginOptions>;
@@ -337,7 +337,7 @@ interface ResourceManifest {
337
337
  * `defineResource(...)`). Use at build time when you have direct access
338
338
  * to the resource module — typically the simplest codegen path.
339
339
  */
340
- declare function buildResourceManifest(resource: ResourceDefinition): ResourceManifest;
340
+ export declare function buildResourceManifest(resource: ResourceDefinition): ResourceManifest;
341
341
  /**
342
342
  * Build a manifest from a `RegistryEntry` — use when the resource is
343
343
  * already registered (introspection endpoint, runtime audit script).
@@ -348,6 +348,6 @@ declare function buildResourceManifest(resource: ResourceDefinition): ResourceMa
348
348
  * `/_resources` endpoint) gets the same output without dragging the resource
349
349
  * module into the codegen path.
350
350
  */
351
- declare function buildResourceManifestFromRegistry(entry: RegistryEntry): ResourceManifest;
351
+ export declare function buildResourceManifestFromRegistry(entry: RegistryEntry): ResourceManifest;
352
352
  //#endregion
353
- export { type ActionManifestEntry, type ActionMount, type AggregationManifestEntry, type AssertNoTenantDataOptions, type AssertNoTenantDataReport, type CascadeCheckpoint, type CascadeCheckpointState, type CascadeOptions, type CascadeReport, type CascadeResourceReport, type CustomRouteManifestEntry, type IntrospectionPluginOptions, type RegisterOptions, type ResourceManifest, ResourceRegistry, type RouteRow, type TenantDataLeak, assertNoTenantData, buildResourceManifest, buildResourceManifestFromRegistry, cascadeDeleteForOrganization, getCascadingResources, getCascadingResourcesWithMetadata, _default as introspectionPlugin };
353
+ export { type ActionManifestEntry, type ActionMount, type AggregationManifestEntry, type AssertNoTenantDataOptions, type AssertNoTenantDataReport, type CascadeCheckpoint, type CascadeCheckpointState, type CascadeOptions, type CascadeReport, type CascadeResourceReport, type CustomRouteManifestEntry, type IntrospectionPluginOptions, type RegisterOptions, type ResourceManifest, ResourceRegistry, type RouteRow, type TenantDataLeak, _default as introspectionPlugin };
@@ -1,4 +1,4 @@
1
- /*! @classytic/arc v2.43.0 | MIT | https://classytic.com */
2
- import { a as getCascadingResources, i as cascadeDeleteForOrganization, n as buildResourceManifestFromRegistry, o as getCascadingResourcesWithMetadata, r as introspectionPlugin_default, s as assertNoTenantData, t as buildResourceManifest } from "../registry-Bcz9G1bh.mjs";
3
- import { t as ResourceRegistry } from "../ResourceRegistry-CuCARu2B.mjs";
1
+ /*! @classytic/arc v2.44.0 | MIT | https://classytic.com */
2
+ import { a as getCascadingResources, i as cascadeDeleteForOrganization, n as buildResourceManifestFromRegistry, o as getCascadingResourcesWithMetadata, r as introspectionPlugin_default, s as assertNoTenantData, t as buildResourceManifest } from "../registry-Bdzg-hdm.mjs";
3
+ import { t as ResourceRegistry } from "../ResourceRegistry-DJxHUpE4.mjs";
4
4
  export { ResourceRegistry, assertNoTenantData, buildResourceManifest, buildResourceManifestFromRegistry, cascadeDeleteForOrganization, getCascadingResources, getCascadingResourcesWithMetadata, introspectionPlugin_default as introspectionPlugin };
@@ -1,5 +1,5 @@
1
- /*! @classytic/arc v2.43.0 | MIT | https://classytic.com */
2
- import { t as CRUD_OPERATIONS } from "./constants-Cu7Mx7_U.mjs";
1
+ /*! @classytic/arc v2.44.0 | MIT | https://classytic.com */
2
+ import { t as CRUD_OPERATIONS } from "./constants-B2QHb6u6.mjs";
3
3
  import fp from "fastify-plugin";
4
4
  //#region src/registry/assertNoTenantData.ts
5
5
  /**
@@ -405,7 +405,7 @@ const introspectionPlugin = async (fastify, opts = {}) => {
405
405
  const typedFastify = fastify;
406
406
  const authMiddleware = authRoles.length > 0 && typedFastify.authenticate ? [typedFastify.authenticate, typedFastify.authorize?.(...authRoles)].filter(Boolean) : [];
407
407
  const getRegistry = () => fastify.arc?.registry;
408
- await fastify.register(async (instance) => {
408
+ const introspectionRoutes = async (instance) => {
409
409
  instance.get("/", { preHandler: authMiddleware }, async (_req, _reply) => {
410
410
  return getRegistry()?.getIntrospection() ?? {
411
411
  resources: [],
@@ -434,7 +434,8 @@ const introspectionPlugin = async (fastify, opts = {}) => {
434
434
  if (!resource) return reply.code(404).send({ error: `Resource '${req.params.name}' not found` });
435
435
  return resource;
436
436
  });
437
- }, { prefix });
437
+ };
438
+ await fastify.register(introspectionRoutes, { prefix });
438
439
  fastify.log?.debug?.(`Introspection API at ${prefix}`);
439
440
  };
440
441
  var introspectionPlugin_default = fp(introspectionPlugin, { name: "arc-introspection" });
@@ -1,4 +1,4 @@
1
- /*! @classytic/arc v2.43.0 | MIT | https://classytic.com */
1
+ /*! @classytic/arc v2.44.0 | MIT | https://classytic.com */
2
2
  //#region src/lock/renewingLease.ts
3
3
  /**
4
4
  * Start renewing an ALREADY-ACQUIRED lease. The caller performed the
@@ -1,5 +1,5 @@
1
- /*! @classytic/arc v2.43.0 | MIT | https://classytic.com */
2
- import { t as __exportAll } from "./rolldown-runtime-D1w9Y1VJ.mjs";
1
+ /*! @classytic/arc v2.44.0 | MIT | https://classytic.com */
2
+ import { r as __exportAll } from "./rolldown-runtime-MYrLNGnq.mjs";
3
3
  import { toCanonicalList } from "@classytic/repo-core/pagination";
4
4
  import fp from "fastify-plugin";
5
5
  //#region src/plugins/replyHelpers.ts
@@ -1,4 +1,4 @@
1
- /*! @classytic/arc v2.43.0 | MIT | https://classytic.com */
1
+ /*! @classytic/arc v2.44.0 | MIT | https://classytic.com */
2
2
  import { AsyncLocalStorage } from "node:async_hooks";
3
3
  //#region src/context/requestContext.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- /*! @classytic/arc v2.43.0 | MIT | https://classytic.com */
1
+ /*! @classytic/arc v2.44.0 | MIT | https://classytic.com */
2
2
  //#region src/idempotency/requirement.ts
3
3
  /** What is wrong with a route's idempotency declaration, or `undefined` when it is sound. */
4
4
  function idempotencyConfigProblem(config) {
@@ -1,5 +1,5 @@
1
- /*! @classytic/arc v2.43.0 | MIT | https://classytic.com */
2
- import { t as createTenantKeyGenerator } from "./rateLimitKey-C4O-kPm0.mjs";
1
+ /*! @classytic/arc v2.44.0 | MIT | https://classytic.com */
2
+ import { t as createTenantKeyGenerator } from "./rateLimitKey-DVEZ_UpV.mjs";
3
3
  //#region src/permissions/resourceRateLimit.ts
4
4
  function decision(allowed, max, remaining, ttlSeconds) {
5
5
  const reset = Math.max(1, ttlSeconds);
@@ -0,0 +1,45 @@
1
+ /*! @classytic/arc v2.44.0 | MIT | https://classytic.com */
2
+ import { createRequire } from "node:module";
3
+ //#region \0rolldown/runtime.js
4
+ var __create = Object.create;
5
+ var __defProp = Object.defineProperty;
6
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
+ var __getOwnPropNames = Object.getOwnPropertyNames;
8
+ var __getProtoOf = Object.getPrototypeOf;
9
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
10
+ var __esmMin = (fn, res, err) => () => {
11
+ if (err) throw err[0];
12
+ try {
13
+ return fn && (res = fn(fn = 0)), res;
14
+ } catch (e) {
15
+ throw err = [e], e;
16
+ }
17
+ };
18
+ var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod, mod.exports), cb = null), mod.exports);
19
+ var __exportAll = (all, no_symbols) => {
20
+ let target = {};
21
+ for (var name in all) __defProp(target, name, {
22
+ get: all[name],
23
+ enumerable: true
24
+ });
25
+ if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
26
+ return target;
27
+ };
28
+ var __copyProps = (to, from, except, desc) => {
29
+ if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
30
+ key = keys[i];
31
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
32
+ get: ((k) => from[k]).bind(null, key),
33
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
34
+ });
35
+ }
36
+ return to;
37
+ };
38
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule || !__hasOwnProp.call(mod, "default") ? __defProp(target, "default", {
39
+ value: mod,
40
+ enumerable: true
41
+ }) : target, mod));
42
+ var __toCommonJS = (mod) => __hasOwnProp.call(mod, "module.exports") ? mod["module.exports"] : __copyProps(__defProp({}, "__esModule", { value: true }), mod);
43
+ var __require = /* #__PURE__ */ (() => createRequire(import.meta.url))();
44
+ //#endregion
45
+ export { __toCommonJS as a, __require as i, __esmMin as n, __toESM as o, __exportAll as r, __commonJSMin as t };
@@ -1,4 +1,4 @@
1
- /*! @classytic/arc v2.43.0 | MIT | https://classytic.com */
1
+ /*! @classytic/arc v2.44.0 | MIT | https://classytic.com */
2
2
  import { AjvCompiler } from "@fastify/ajv-compiler";
3
3
  //#region src/core/routeValidator.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- /*! @classytic/arc v2.43.0 | MIT | https://classytic.com */
1
+ /*! @classytic/arc v2.44.0 | MIT | https://classytic.com */
2
2
  //#region src/utils/runtimeCapabilities.ts
3
3
  /**
4
4
  * `Symbol.for` so declarations from two arc copies in one dependency graph
@@ -1,8 +1,8 @@
1
- /*! @classytic/arc v2.43.0 | MIT | https://classytic.com */
2
- import { t as __exportAll } from "./rolldown-runtime-D1w9Y1VJ.mjs";
3
- import { a as runShutdown, i as runAdmittedWork, r as registerShutdownParticipant } from "./shutdown-MqA81z_P.mjs";
4
- import { t as runWorkScope } from "./workScope-zpPyge4t.mjs";
5
- import { t as startRenewingLease } from "./renewingLease-qODa7KJQ.mjs";
1
+ /*! @classytic/arc v2.44.0 | MIT | https://classytic.com */
2
+ import { r as __exportAll } from "./rolldown-runtime-MYrLNGnq.mjs";
3
+ import { a as runShutdown, i as runAdmittedWork, r as registerShutdownParticipant } from "./shutdown-LpLMH8T1.mjs";
4
+ import { t as runWorkScope } from "./workScope-n9a7d_lZ.mjs";
5
+ import { t as startRenewingLease } from "./renewingLease-BFJxGPuh.mjs";
6
6
  import fp from "fastify-plugin";
7
7
  //#region src/plugins/schedules.ts
8
8
  var schedules_exports = /* @__PURE__ */ __exportAll({
@@ -1,5 +1,5 @@
1
- /*! @classytic/arc v2.43.0 | MIT | https://classytic.com */
2
- import { t as arcLog } from "./logger-DXjfIqjV.mjs";
1
+ /*! @classytic/arc v2.44.0 | MIT | https://classytic.com */
2
+ import { t as arcLog } from "./logger-D4V1zGLI.mjs";
3
3
  //#region src/utils/schemaConverter.ts
4
4
  /**
5
5
  * Schema Converter — Detect-First, Convert-Only-When-Needed
@@ -1,5 +1,5 @@
1
- /*! @classytic/arc v2.43.0 | MIT | https://classytic.com */
2
- import { o as toJsonSchema } from "./schemaConverter-BORek3O-.mjs";
1
+ /*! @classytic/arc v2.44.0 | MIT | https://classytic.com */
2
+ import { o as toJsonSchema } from "./schemaConverter-BVjkQ5DD.mjs";
3
3
  //#region src/core/schemaIR.ts
4
4
  /**
5
5
  * Schema IR — one canonical representation, two adapters.
@@ -17,7 +17,7 @@ import { FastifyPluginAsyncTypebox, FastifyPluginCallbackTypebox, TypeBoxTypePro
17
17
  * variant when your endpoint never emits the others. HTTP status
18
18
  * discriminates success vs error — no `success` field.
19
19
  */
20
- declare function ArcListResponse<T extends TSchema$1>(itemSchema: T): Type$1.TUnion<[Type$1.TObject<{
20
+ export declare function ArcListResponse<T extends TSchema$1>(itemSchema: T): Type$1.TUnion<[Type$1.TObject<{
21
21
  method: Type$1.TLiteral<"offset">;
22
22
  data: Type$1.TArray<T>;
23
23
  page: Type$1.TInteger;
@@ -50,7 +50,7 @@ declare function ArcListResponse<T extends TSchema$1>(itemSchema: T): Type$1.TUn
50
50
  data: Type$1.TArray<T>;
51
51
  }>]>;
52
52
  /** Offset variant — `{ method: 'offset', data, page, limit, total, pages, hasNext, hasPrev }`. */
53
- declare function ArcOffsetListResponse<T extends TSchema$1>(itemSchema: T): Type$1.TObject<{
53
+ export declare function ArcOffsetListResponse<T extends TSchema$1>(itemSchema: T): Type$1.TObject<{
54
54
  method: Type$1.TLiteral<"offset">;
55
55
  data: Type$1.TArray<T>;
56
56
  page: Type$1.TInteger;
@@ -63,7 +63,7 @@ declare function ArcOffsetListResponse<T extends TSchema$1>(itemSchema: T): Type
63
63
  countedAt: Type$1.TOptional<Type$1.TUnion<[Type$1.TString, Type$1.TNull]>>;
64
64
  }>;
65
65
  /** Keyset variant — `{ method: 'keyset', data, limit, hasMore, next: string | null }`. */
66
- declare function ArcKeysetListResponse<T extends TSchema$1>(itemSchema: T): Type$1.TObject<{
66
+ export declare function ArcKeysetListResponse<T extends TSchema$1>(itemSchema: T): Type$1.TObject<{
67
67
  method: Type$1.TLiteral<"keyset">;
68
68
  data: Type$1.TArray<T>;
69
69
  limit: Type$1.TInteger;
@@ -74,7 +74,7 @@ declare function ArcKeysetListResponse<T extends TSchema$1>(itemSchema: T): Type
74
74
  end: Type$1.TOptional<Type$1.TUnion<[Type$1.TString, Type$1.TNull]>>;
75
75
  }>;
76
76
  /** Aggregate variant — `{ method: 'aggregate', ...same as offset }`. */
77
- declare function ArcAggregateListResponse<T extends TSchema$1>(itemSchema: T): Type$1.TObject<{
77
+ export declare function ArcAggregateListResponse<T extends TSchema$1>(itemSchema: T): Type$1.TObject<{
78
78
  method: Type$1.TLiteral<"aggregate">;
79
79
  data: Type$1.TArray<T>;
80
80
  page: Type$1.TInteger;
@@ -85,13 +85,13 @@ declare function ArcAggregateListResponse<T extends TSchema$1>(itemSchema: T): T
85
85
  hasPrev: Type$1.TBoolean;
86
86
  }>;
87
87
  /** Bare variant — `{ data }`, no `method` discriminant. */
88
- declare function ArcBareListResponse<T extends TSchema$1>(itemSchema: T): Type$1.TObject<{
88
+ export declare function ArcBareListResponse<T extends TSchema$1>(itemSchema: T): Type$1.TObject<{
89
89
  data: Type$1.TArray<T>;
90
90
  }>;
91
91
  /**
92
92
  * Delete response — `{ message, id?, soft? }` raw at the top level.
93
93
  */
94
- declare function ArcDeleteResponse(): Type$1.TObject<{
94
+ export declare function ArcDeleteResponse(): Type$1.TObject<{
95
95
  message: Type$1.TString;
96
96
  id: Type$1.TOptional<Type$1.TString>;
97
97
  soft: Type$1.TOptional<Type$1.TBoolean>;
@@ -106,7 +106,7 @@ declare function ArcDeleteResponse(): Type$1.TObject<{
106
106
  * Exported standalone so hosts can embed it in custom 422 / 409 response
107
107
  * schemas.
108
108
  */
109
- declare function ArcErrorDetail(): Type$1.TUnsafe<ErrorDetail>;
109
+ export declare function ArcErrorDetail(): Type$1.TUnsafe<ErrorDetail>;
110
110
  /**
111
111
  * Error response schema — `Type.Unsafe<ErrorContract>` over the canonical
112
112
  * JSON Schema `errorContractSchema` from `@classytic/repo-core/errors`.
@@ -115,7 +115,7 @@ declare function ArcErrorDetail(): Type$1.TUnsafe<ErrorDetail>;
115
115
  * (`errorContractSchema`) and this TypeBox helper cannot drift —
116
116
  * literally one source.
117
117
  */
118
- declare function ArcErrorResponse(): Type$1.TUnsafe<ErrorContract>;
118
+ export declare function ArcErrorResponse(): Type$1.TUnsafe<ErrorContract>;
119
119
  /**
120
120
  * Standard pagination + sorting + filtering query parameters.
121
121
  * Matches Arc's list endpoint conventions.
@@ -131,7 +131,7 @@ declare function ArcErrorResponse(): Type$1.TUnsafe<ErrorContract>;
131
131
  * projection forms at the request-validation gate even though arc passes
132
132
  * them through unchanged.
133
133
  */
134
- declare function ArcPaginationQuery(): Type$1.TObject<{
134
+ export declare function ArcPaginationQuery(): Type$1.TObject<{
135
135
  page: Type$1.TOptional<Type$1.TInteger>;
136
136
  limit: Type$1.TOptional<Type$1.TInteger>;
137
137
  sort: Type$1.TOptional<Type$1.TString>;
@@ -139,4 +139,4 @@ declare function ArcPaginationQuery(): Type$1.TObject<{
139
139
  populate: Type$1.TOptional<Type$1.TAny>;
140
140
  }>;
141
141
  //#endregion
142
- export { ArcAggregateListResponse, ArcBareListResponse, ArcDeleteResponse, ArcErrorDetail, ArcErrorResponse, ArcKeysetListResponse, ArcListResponse, ArcOffsetListResponse, ArcPaginationQuery, type FastifyPluginAsyncTypebox, type FastifyPluginCallbackTypebox, type Static, type TObject, type TSchema, Type, type TypeBoxTypeProvider };
142
+ export { type FastifyPluginAsyncTypebox, type FastifyPluginCallbackTypebox, type Static, type TObject, type TSchema, Type, type TypeBoxTypeProvider };
@@ -1,4 +1,4 @@
1
- /*! @classytic/arc v2.43.0 | MIT | https://classytic.com */
1
+ /*! @classytic/arc v2.44.0 | MIT | https://classytic.com */
2
2
  import { errorContractSchema, errorDetailSchema } from "@classytic/repo-core/errors";
3
3
  import { Type, Type as Type$1 } from "typebox";
4
4
  //#region src/schemas/index.ts