@classytic/arc 2.30.0 → 2.32.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 (242) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +7 -0
  3. package/TRADEMARK.md +22 -0
  4. package/dist/{BaseController-B5DwufbB.mjs → BaseController-Dk34dxhI.mjs} +21 -19
  5. package/dist/{EventTransport-QmY7A258.d.mts → EventTransport-2uVV34WU.d.mts} +1 -0
  6. package/dist/{EventTransport-C6YA8xY9.mjs → EventTransport-BV10D0oG.mjs} +1 -0
  7. package/dist/{HookSystem-WkIougo6.mjs → HookSystem-vimw5D7Z.mjs} +2 -1
  8. package/dist/{QueryCache-DOMT_iq7.d.mts → QueryCache-DFA-QrU9.d.mts} +2 -1
  9. package/dist/{ResourceRegistry-y9Hnypus.mjs → ResourceRegistry-BVr7PgA0.mjs} +18 -15
  10. package/dist/{actionPermissions-CAphcmUG.mjs → actionPermissions-Dti7ebyv.mjs} +1 -0
  11. package/dist/audit/index.d.mts +3 -2
  12. package/dist/audit/index.mjs +2 -1
  13. package/dist/auth/audit.d.mts +1 -0
  14. package/dist/auth/audit.mjs +1 -0
  15. package/dist/auth/index.d.mts +5 -4
  16. package/dist/auth/index.mjs +11 -9
  17. package/dist/auth/redis-session.d.mts +2 -1
  18. package/dist/auth/redis-session.mjs +1 -0
  19. package/dist/{applyPermissionResult-Cf6zUCvb.mjs → authorizationDecision-__T3EJDA.mjs} +19 -10
  20. package/dist/{buildHandler-BYS3Vkfz.mjs → buildHandler-Dn7rzUJo.mjs} +6 -4
  21. package/dist/cache/index.d.mts +4 -3
  22. package/dist/cache/index.mjs +4 -3
  23. package/dist/{caching-_NJeDd1_.mjs → caching-DFJqHyFs.mjs} +2 -1
  24. package/dist/cleanup/index.d.mts +39 -16
  25. package/dist/cleanup/index.mjs +50 -38
  26. package/dist/cli/commands/describe.d.mts +2 -1
  27. package/dist/cli/commands/describe.mjs +4 -5
  28. package/dist/cli/commands/docs.d.mts +1 -0
  29. package/dist/cli/commands/docs.mjs +3 -2
  30. package/dist/cli/commands/doctor.d.mts +1 -0
  31. package/dist/cli/commands/doctor.mjs +1 -0
  32. package/dist/cli/commands/generate.d.mts +2 -1
  33. package/dist/cli/commands/generate.mjs +2 -1
  34. package/dist/cli/commands/init.d.mts +2 -1
  35. package/dist/cli/commands/init.mjs +2 -1
  36. package/dist/cli/commands/introspect.d.mts +1 -0
  37. package/dist/cli/commands/introspect.mjs +2 -1
  38. package/dist/cli/index.d.mts +3 -2
  39. package/dist/cli/index.mjs +3 -2
  40. package/dist/{constants-DNre0wRg.mjs → constants-J99LGTJI.mjs} +1 -0
  41. package/dist/context/index.d.mts +1 -0
  42. package/dist/context/index.mjs +3 -2
  43. package/dist/core/index.d.mts +3 -2
  44. package/dist/core/index.mjs +7 -6
  45. package/dist/{core-poalJLvp.mjs → core-BwwmNSp7.mjs} +3 -2
  46. package/dist/{createActionRouter-BxuywVRB.mjs → createActionRouter-DkJZWo0m.mjs} +14 -10
  47. package/dist/{createAggregationRouter-BiY-lGdY.mjs → createAggregationRouter-B1exOVD8.mjs} +10 -7
  48. package/dist/{createApp-CXrKFciH.mjs → createApp-Bv0m-Q6_.mjs} +625 -229
  49. package/dist/{defineAggregation-ufWjUwml.mjs → defineAggregation-gX4No1gt.mjs} +1 -0
  50. package/dist/{defineResource-CxWqDCAy.mjs → defineResource-XFPPUu2c.mjs} +84 -50
  51. package/dist/discovery/index.d.mts +1 -0
  52. package/dist/discovery/index.mjs +1 -0
  53. package/dist/docs/index.d.mts +3 -2
  54. package/dist/docs/index.mjs +3 -2
  55. package/dist/{elevation-C9s5hFP_.d.mts → elevation-BXCfVcNG.d.mts} +1 -0
  56. package/dist/{elevation-CIz1GjGm.mjs → elevation-DNXXxgjl.mjs} +4 -3
  57. package/dist/encryption/index.d.mts +2 -1
  58. package/dist/encryption/index.mjs +5 -3
  59. package/dist/{errorHandler-Bq2OeEQL.mjs → errorHandler-B2AZUJUj.mjs} +3 -2
  60. package/dist/{errorHandler-C6yv4ZTW.d.mts → errorHandler-CpYUJmPA.d.mts} +1 -0
  61. package/dist/{errors-DHcHVAgk.d.mts → errors-BGdVwP25.d.mts} +1 -0
  62. package/dist/{errors-DkO8Nk6-.mjs → errors-Bh1KK5ps.mjs} +1 -0
  63. package/dist/{eventPlugin-D2NNR4py.mjs → eventPlugin-Dk_TyXeE.mjs} +8 -6
  64. package/dist/{eventPlugin-Bg3cP2_u.d.mts → eventPlugin-GF5nnBIq.d.mts} +2 -1
  65. package/dist/events/index.d.mts +112 -44
  66. package/dist/events/index.mjs +177 -141
  67. package/dist/events/transports/redis-stream-entry.d.mts +2 -1
  68. package/dist/events/transports/redis-stream-entry.mjs +14 -9
  69. package/dist/events/transports/redis.d.mts +2 -1
  70. package/dist/events/transports/redis.mjs +1 -0
  71. package/dist/{externalPaths-BE6wFpYv.d.mts → externalPaths-CmGOxOtD.d.mts} +1 -0
  72. package/dist/factory/index.d.mts +9 -5
  73. package/dist/factory/index.mjs +131 -7
  74. package/dist/fastify-augmentation-BppG5bMT.d.mts +179 -0
  75. package/dist/{fields-CQ_7KQWw.mjs → fields-DEi65pGj.mjs} +6 -10
  76. package/dist/{fields-D3lhgzhD.d.mts → fields-I_EeRWND.d.mts} +1 -0
  77. package/dist/{generate-D0wZupBg.mjs → generate-CRSG0jTv.mjs} +2 -1
  78. package/dist/{generate-BnsL9GBm.d.mts → generate-DCGuEbqI.d.mts} +1 -0
  79. package/dist/{headers-BvlQSDMB.mjs → headers-BXjQYbeC.mjs} +2 -1
  80. package/dist/{health-CB_m4S32.mjs → health-5XnTa2uo.mjs} +1 -0
  81. package/dist/hooks/index.d.mts +2 -1
  82. package/dist/hooks/index.mjs +2 -1
  83. package/dist/idempotency/index.d.mts +3 -2
  84. package/dist/idempotency/index.mjs +8 -5
  85. package/dist/idempotency/redis.d.mts +2 -1
  86. package/dist/idempotency/redis.mjs +1 -0
  87. package/dist/{index-CG4yqMDB.d.mts → index-C-481Zf2.d.mts} +74 -18
  88. package/dist/{index-Q5gzEIWY.d.mts → index-CpzxqePp.d.mts} +107 -32
  89. package/dist/{index-Cx7bro4R.d.mts → index-DXlHwvuE.d.mts} +5 -4
  90. package/dist/index-ZWhLTp_s.d.mts +290 -0
  91. package/dist/{index-Ch16aAah.d.mts → index-zq6VrjaB.d.mts} +122 -15
  92. package/dist/index.d.mts +9 -8
  93. package/dist/index.mjs +11 -10
  94. package/dist/{init-tlRSt667.mjs → init-BbfP8aky.mjs} +25 -27
  95. package/dist/{init-BPEu8cs-.d.mts → init-Cscs4lab.d.mts} +1 -0
  96. package/dist/integrations/event-gateway.d.mts +3 -2
  97. package/dist/integrations/event-gateway.mjs +2 -1
  98. package/dist/integrations/index.d.mts +4 -3
  99. package/dist/integrations/index.mjs +1 -0
  100. package/dist/integrations/jobs/index.d.mts +2 -1
  101. package/dist/integrations/jobs/index.mjs +109 -33
  102. package/dist/integrations/mcp/index.d.mts +6 -6
  103. package/dist/integrations/mcp/index.mjs +2 -1
  104. package/dist/integrations/mcp/testing.d.mts +3 -2
  105. package/dist/integrations/mcp/testing.mjs +2 -2
  106. package/dist/integrations/streamline.d.mts +1 -0
  107. package/dist/integrations/streamline.mjs +3 -2
  108. package/dist/integrations/webhooks.d.mts +1 -0
  109. package/dist/integrations/webhooks.mjs +1 -0
  110. package/dist/integrations/websocket-pushref-redis.d.mts +2 -1
  111. package/dist/integrations/websocket-pushref-redis.mjs +1 -0
  112. package/dist/integrations/websocket-redis.d.mts +2 -1
  113. package/dist/integrations/websocket-redis.mjs +1 -0
  114. package/dist/integrations/websocket.d.mts +3 -2
  115. package/dist/integrations/websocket.mjs +38 -34
  116. package/dist/{interface-BGZCzOGL.d.mts → interface-BOk3YnTz.d.mts} +1 -0
  117. package/dist/{interface-n5hpKg1d.mjs → interface-BP4IJCBO.mjs} +1 -0
  118. package/dist/{interface-Uk8ONJv7.d.mts → interface-DEWNOMza.d.mts} +1 -0
  119. package/dist/{jsonBody-BlzAoGCe.mjs → jsonBody-DDSR2HFl.mjs} +2 -1
  120. package/dist/{keys-Cd316u_y.mjs → keys-B-HBTGXl.mjs} +1 -0
  121. package/dist/{loadResources-DpU8pfjV.mjs → loadResources-DisEAmkm.mjs} +4 -2
  122. package/dist/{loadResourcesFromEntry-kvGT6EcO.mjs → loadResourcesFromEntry-D1MJp13f.mjs} +2 -1
  123. package/dist/logger/index.d.mts +1 -0
  124. package/dist/logger/index.mjs +1 -0
  125. package/dist/{mcpPlugin-nRzm5g2s.mjs → mcpPlugin-CpfVpKHE.mjs} +38 -38
  126. package/dist/{memory-CmnzXE5Z.mjs → memory-DsuWnj4T.mjs} +5 -4
  127. package/dist/{metrics-fdxI5mn_.mjs → metrics-DdQL8syd.mjs} +2 -1
  128. package/dist/middleware/index.d.mts +2 -1
  129. package/dist/middleware/index.mjs +3 -2
  130. package/dist/migrations/index.d.mts +1 -0
  131. package/dist/migrations/index.mjs +3 -2
  132. package/dist/module-Br81am6m.mjs +78 -0
  133. package/dist/{multipartBody-D0eBvkeq.mjs → multipartBody-BnkBLN7v.mjs} +3 -2
  134. package/dist/{openapi-B8Vkbxbn.mjs → openapi-DIRzvxC0.mjs} +6 -5
  135. package/dist/outbox-admin/index.d.mts +85 -0
  136. package/dist/outbox-admin/index.mjs +115 -0
  137. package/dist/permissions/index.d.mts +5 -4
  138. package/dist/permissions/index.mjs +6 -5
  139. package/dist/{permissions-Bfu_8y1U.mjs → permissions-Dl_m0NCe.mjs} +308 -42
  140. package/dist/{pipe-BOLmGIxa.mjs → pipe-ELHCP3zj.mjs} +3 -4
  141. package/dist/pipeline/index.d.mts +2 -1
  142. package/dist/pipeline/index.mjs +2 -1
  143. package/dist/{pipeline-BJnpkY9i.mjs → pipeline-CPA-jx0M.mjs} +17 -14
  144. package/dist/plugins/index.d.mts +8 -7
  145. package/dist/plugins/index.mjs +16 -15
  146. package/dist/plugins/response-cache.d.mts +1 -0
  147. package/dist/plugins/response-cache.mjs +2 -1
  148. package/dist/plugins/tracing-entry.d.mts +2 -1
  149. package/dist/plugins/tracing-entry.mjs +2 -1
  150. package/dist/{pluralize-BhrgwZb9.mjs → pluralize-C2ZkKbsn.mjs} +1 -0
  151. package/dist/{preloadResources-DSY5HGpS.mjs → preloadResources-CDs87fTw.mjs} +1 -0
  152. package/dist/{preloadResources-DCfa2egz.d.mts → preloadResources-T1hmlTEZ.d.mts} +117 -12
  153. package/dist/presets/filesUpload.d.mts +6 -5
  154. package/dist/presets/filesUpload.mjs +10 -12
  155. package/dist/presets/index.d.mts +3 -2
  156. package/dist/presets/index.mjs +2 -1
  157. package/dist/presets/multiTenant.d.mts +2 -1
  158. package/dist/presets/multiTenant.mjs +3 -2
  159. package/dist/presets/search.d.mts +3 -2
  160. package/dist/presets/search.mjs +2 -1
  161. package/dist/{presets-CJOEXLuk.mjs → presets-Dntd_pUO.mjs} +6 -4
  162. package/dist/{projection-UBDgfMwu.mjs → projection-CjHhM5W1.mjs} +2 -1
  163. package/dist/{pushref-registry-BbcnpNTm.d.mts → pushref-registry-Dov9l4qE.d.mts} +1 -0
  164. package/dist/{queryCachePlugin-br4otiqF.d.mts → queryCachePlugin-BzqxconG.d.mts} +3 -2
  165. package/dist/{queryCachePlugin-DSGuSVLW.mjs → queryCachePlugin-Dhps-Ldt.mjs} +6 -5
  166. package/dist/{rateLimit-DrED-C4v.mjs → rateLimit-C7mmAGs3.mjs} +7 -3
  167. package/dist/{rateLimitKey-BoWRH3e7.mjs → rateLimitKey-CccEFBfk.mjs} +1 -0
  168. package/dist/{realtime-B9nmIY5V.mjs → realtime-DVvVZZFz.mjs} +20 -9
  169. package/dist/{redis-UDtLaNj6.d.mts → redis-CduhKsJi.d.mts} +2 -1
  170. package/dist/{redis-stream-uIaauNpZ.d.mts → redis-stream-qN6A-RFv.d.mts} +2 -1
  171. package/dist/{registerRoute-JkxIEBJq.mjs → registerRoute-B_QrjYZS.mjs} +10 -7
  172. package/dist/registry/index.d.mts +3 -2
  173. package/dist/registry/index.mjs +3 -2
  174. package/dist/{registry-BYXUUg21.mjs → registry-DqUmzA9W.mjs} +2 -1
  175. package/dist/{renewingLease-3cuQH7h8.mjs → renewingLease-BpP9wwj7.mjs} +1 -0
  176. package/dist/{replyHelpers-67tRawQZ.mjs → replyHelpers-DS-P0b32.mjs} +2 -1
  177. package/dist/{repositoryFilter-Dz8k3S4P.mjs → repositoryFilter-DotlxG3L.mjs} +1 -0
  178. package/dist/{requestContext-MrlJwECf.mjs → requestContext-B6vQF-sy.mjs} +1 -0
  179. package/dist/{rolldown-runtime-8H4AJuhK.mjs → rolldown-runtime-BhflRrBs.mjs} +1 -0
  180. package/dist/{schedules-CjOd2MG9.mjs → schedules-C2Q3uv2d.mjs} +3 -2
  181. package/dist/{schemaConverter-DJvodiHj.mjs → schemaConverter-Crjvczi_.mjs} +70 -17
  182. package/dist/{schemaIR-Ca7ySNPx.mjs → schemaIR-CnyKK_1j.mjs} +2 -1
  183. package/dist/schemas/index.d.mts +1 -0
  184. package/dist/schemas/index.mjs +1 -0
  185. package/dist/scim/index.d.mts +1 -0
  186. package/dist/scim/index.mjs +2 -1
  187. package/dist/scope/index.d.mts +3 -2
  188. package/dist/scope/index.mjs +5 -4
  189. package/dist/{scope-DfaPntpo.mjs → scope-afz_Ieek.mjs} +4 -3
  190. package/dist/{sessionManager-BHOM3N_0.d.mts → sessionManager-qimlKV0P.d.mts} +1 -0
  191. package/dist/{simpleEqualityMatcher-Cg05HPsn.mjs → simpleEqualityMatcher-C4KiMWUa.mjs} +1 -0
  192. package/dist/{sse-BQ1w0dfl.mjs → sse-B9P4Y-UI.mjs} +7 -5
  193. package/dist/{sseStream-BQ7Qaynp.mjs → sseStream-B3zb_d1h.mjs} +2 -1
  194. package/dist/{storage-DLUZ04kK.d.mts → storage-Cx9Sz3Ou.d.mts} +1 -0
  195. package/dist/{store-helpers-DY6xq4sM.mjs → store-helpers-DmEMHlPQ.mjs} +1 -0
  196. package/dist/{streaming-BQcW6_Kq.mjs → streaming-DPZdQmDz.mjs} +1 -0
  197. package/dist/{subscribe-helpers-DfzsivM6.mjs → subscribe-helpers-sp5xTDVA.mjs} +2 -1
  198. package/dist/sync/changelog.d.mts +1 -0
  199. package/dist/sync/changelog.mjs +1 -0
  200. package/dist/testing/cleanupStoreContract.d.mts +2 -1
  201. package/dist/testing/cleanupStoreContract.mjs +10 -5
  202. package/dist/testing/index.d.mts +166 -12
  203. package/dist/testing/index.mjs +315 -43
  204. package/dist/testing/outboxStoreContract.d.mts +12 -2
  205. package/dist/testing/outboxStoreContract.mjs +110 -20
  206. package/dist/testing/storageContract.d.mts +2 -1
  207. package/dist/testing/storageContract.mjs +11 -5
  208. package/dist/{tracing-CsGKQJGg.d.mts → tracing-Dro5eH6j.d.mts} +1 -0
  209. package/dist/{transactionContext-PNdoyLLm.mjs → transactionContext-BvLKvOIL.mjs} +1 -0
  210. package/dist/{typeGuards-C9KXUly6.mjs → typeGuards-B_5-hKjJ.mjs} +1 -0
  211. package/dist/types/index.d.mts +6 -5
  212. package/dist/types/index.mjs +1 -0
  213. package/dist/types/storage.d.mts +2 -1
  214. package/dist/types/storage.mjs +1 -0
  215. package/dist/{types-ChvvVNP8.d.mts → types-B7XeLEgK.d.mts} +34 -2
  216. package/dist/{types-Cc91nXuA.d.mts → types-ByHn9rEO.d.mts} +1 -0
  217. package/dist/{types-C_ZZRcD6.d.mts → types-C4QE8qnm.d.mts} +1 -0
  218. package/dist/{types-D_n8L6VY.d.mts → types-CT5vu6M0.d.mts} +132 -17
  219. package/dist/{types-DjC-KUCz.d.mts → types-ChuShpCP.d.mts} +1 -0
  220. package/dist/{types-Bmmn-fO0.d.mts → types-CwcUQ610.d.mts} +2 -6
  221. package/dist/{types-CSyCxl2V.mjs → types-DXYX7dIR.mjs} +4 -3
  222. package/dist/usage/index.d.mts +3 -2
  223. package/dist/usage/index.mjs +0 -0
  224. package/dist/{userHelpers-Cg_y3fBz.mjs → userHelpers-BNsOXzOd.mjs} +1 -0
  225. package/dist/utils/index.d.mts +16 -7
  226. package/dist/utils/index.mjs +10 -9
  227. package/dist/{utils-taUVD4p3.mjs → utils-BtOha_Sp.mjs} +3 -2
  228. package/dist/{validate-Bk44F2yT.mjs → validate-PMCPR9El.mjs} +2 -1
  229. package/dist/{versioning-gKWyryT3.mjs → versioning-CKv2jz_U.mjs} +4 -3
  230. package/dist/{versioning-DXgY5BUm.d.mts → versioning-D_rhHfZm.d.mts} +5 -2
  231. package/dist/{websocket-_Pd0CgR0.d.mts → websocket-BOXVggMf.d.mts} +2 -1
  232. package/package.json +557 -539
  233. package/skills/arc/SKILL.md +22 -8
  234. package/skills/arc/references/api-reference.md +4 -0
  235. package/skills/arc/references/auth.md +3 -0
  236. package/skills/arc/references/integrations.md +33 -0
  237. package/skills/arc/references/mcp.md +6 -7
  238. package/skills/arc/references/production.md +24 -25
  239. package/skills/arc-code-review/references/anti-patterns.md +3 -3
  240. package/dist/fastify-augmentation-0WhPnUH7.d.mts +0 -76
  241. package/dist/index-CCzVR-N3.d.mts +0 -107
  242. package/dist/module-_-M7C5ES.mjs +0 -29
package/package.json CHANGED
@@ -1,541 +1,559 @@
1
1
  {
2
- "name": "@classytic/arc",
3
- "version": "2.30.0",
4
- "description": "Resource-oriented backend framework for Fastify - clean, minimal, powerful, tree-shakable",
5
- "type": "module",
6
- "exports": {
7
- ".": {
8
- "types": "./dist/index.d.mts",
9
- "default": "./dist/index.mjs"
10
- },
11
- "./permissions": {
12
- "types": "./dist/permissions/index.d.mts",
13
- "default": "./dist/permissions/index.mjs"
14
- },
15
- "./cache": {
16
- "types": "./dist/cache/index.d.mts",
17
- "default": "./dist/cache/index.mjs"
18
- },
19
- "./types": {
20
- "types": "./dist/types/index.d.mts",
21
- "default": "./dist/types/index.mjs"
22
- },
23
- "./types/storage": {
24
- "types": "./dist/types/storage.d.mts",
25
- "default": "./dist/types/storage.mjs"
26
- },
27
- "./core": {
28
- "types": "./dist/core/index.d.mts",
29
- "default": "./dist/core/index.mjs"
30
- },
31
- "./presets": {
32
- "types": "./dist/presets/index.d.mts",
33
- "default": "./dist/presets/index.mjs"
34
- },
35
- "./presets/tenant": {
36
- "types": "./dist/presets/multiTenant.d.mts",
37
- "default": "./dist/presets/multiTenant.mjs"
38
- },
39
- "./presets/files-upload": {
40
- "types": "./dist/presets/filesUpload.d.mts",
41
- "default": "./dist/presets/filesUpload.mjs"
42
- },
43
- "./presets/search": {
44
- "types": "./dist/presets/search.d.mts",
45
- "default": "./dist/presets/search.mjs"
46
- },
47
- "./auth": {
48
- "types": "./dist/auth/index.d.mts",
49
- "default": "./dist/auth/index.mjs"
50
- },
51
- "./hooks": {
52
- "types": "./dist/hooks/index.d.mts",
53
- "default": "./dist/hooks/index.mjs"
54
- },
55
- "./middleware": {
56
- "types": "./dist/middleware/index.d.mts",
57
- "default": "./dist/middleware/index.mjs"
58
- },
59
- "./pipeline": {
60
- "types": "./dist/pipeline/index.d.mts",
61
- "default": "./dist/pipeline/index.mjs"
62
- },
63
- "./context": {
64
- "types": "./dist/context/index.d.mts",
65
- "default": "./dist/context/index.mjs"
66
- },
67
- "./logger": {
68
- "types": "./dist/logger/index.d.mts",
69
- "default": "./dist/logger/index.mjs"
70
- },
71
- "./registry": {
72
- "types": "./dist/registry/index.d.mts",
73
- "default": "./dist/registry/index.mjs"
74
- },
75
- "./utils": {
76
- "types": "./dist/utils/index.d.mts",
77
- "default": "./dist/utils/index.mjs"
78
- },
79
- "./cli": {
80
- "types": "./dist/cli/index.d.mts",
81
- "default": "./dist/cli/index.mjs"
82
- },
83
- "./plugins": {
84
- "types": "./dist/plugins/index.d.mts",
85
- "default": "./dist/plugins/index.mjs"
86
- },
87
- "./plugins/tracing": {
88
- "types": "./dist/plugins/tracing-entry.d.mts",
89
- "default": "./dist/plugins/tracing-entry.mjs"
90
- },
91
- "./audit": {
92
- "types": "./dist/audit/index.d.mts",
93
- "default": "./dist/audit/index.mjs"
94
- },
95
- "./docs": {
96
- "types": "./dist/docs/index.d.mts",
97
- "default": "./dist/docs/index.mjs"
98
- },
99
- "./encryption": {
100
- "types": "./dist/encryption/index.d.mts",
101
- "default": "./dist/encryption/index.mjs"
102
- },
103
- "./idempotency": {
104
- "types": "./dist/idempotency/index.d.mts",
105
- "default": "./dist/idempotency/index.mjs"
106
- },
107
- "./idempotency/redis": {
108
- "types": "./dist/idempotency/redis.d.mts",
109
- "default": "./dist/idempotency/redis.mjs"
110
- },
111
- "./events": {
112
- "types": "./dist/events/index.d.mts",
113
- "default": "./dist/events/index.mjs"
114
- },
115
- "./events/redis": {
116
- "types": "./dist/events/transports/redis.d.mts",
117
- "default": "./dist/events/transports/redis.mjs"
118
- },
119
- "./events/redis-stream": {
120
- "types": "./dist/events/transports/redis-stream-entry.d.mts",
121
- "default": "./dist/events/transports/redis-stream-entry.mjs"
122
- },
123
- "./testing": {
124
- "types": "./dist/testing/index.d.mts",
125
- "default": "./dist/testing/index.mjs"
126
- },
127
- "./testing/storage": {
128
- "types": "./dist/testing/storageContract.d.mts",
129
- "default": "./dist/testing/storageContract.mjs"
130
- },
131
- "./testing/cleanup": {
132
- "types": "./dist/testing/cleanupStoreContract.d.mts",
133
- "default": "./dist/testing/cleanupStoreContract.mjs"
134
- },
135
- "./factory": {
136
- "types": "./dist/factory/index.d.mts",
137
- "default": "./dist/factory/index.mjs"
138
- },
139
- "./schemas": {
140
- "types": "./dist/schemas/index.d.mts",
141
- "default": "./dist/schemas/index.mjs"
142
- },
143
- "./migrations": {
144
- "types": "./dist/migrations/index.d.mts",
145
- "default": "./dist/migrations/index.mjs"
146
- },
147
- "./discovery": {
148
- "types": "./dist/discovery/index.d.mts",
149
- "default": "./dist/discovery/index.mjs"
150
- },
151
- "./integrations": {
152
- "types": "./dist/integrations/index.d.mts",
153
- "default": "./dist/integrations/index.mjs"
154
- },
155
- "./integrations/streamline": {
156
- "types": "./dist/integrations/streamline.d.mts",
157
- "default": "./dist/integrations/streamline.mjs"
158
- },
159
- "./integrations/websocket": {
160
- "types": "./dist/integrations/websocket.d.mts",
161
- "default": "./dist/integrations/websocket.mjs"
162
- },
163
- "./integrations/websocket-redis": {
164
- "types": "./dist/integrations/websocket-redis.d.mts",
165
- "default": "./dist/integrations/websocket-redis.mjs"
166
- },
167
- "./integrations/websocket-pushref-redis": {
168
- "types": "./dist/integrations/websocket-pushref-redis.d.mts",
169
- "default": "./dist/integrations/websocket-pushref-redis.mjs"
170
- },
171
- "./integrations/jobs": {
172
- "types": "./dist/integrations/jobs/index.d.mts",
173
- "default": "./dist/integrations/jobs/index.mjs"
174
- },
175
- "./integrations/event-gateway": {
176
- "types": "./dist/integrations/event-gateway.d.mts",
177
- "default": "./dist/integrations/event-gateway.mjs"
178
- },
179
- "./integrations/webhooks": {
180
- "types": "./dist/integrations/webhooks.d.mts",
181
- "default": "./dist/integrations/webhooks.mjs"
182
- },
183
- "./auth/redis": {
184
- "types": "./dist/auth/redis-session.d.mts",
185
- "default": "./dist/auth/redis-session.mjs"
186
- },
187
- "./plugins/response-cache": {
188
- "types": "./dist/plugins/response-cache.d.mts",
189
- "default": "./dist/plugins/response-cache.mjs"
190
- },
191
- "./scope": {
192
- "types": "./dist/scope/index.d.mts",
193
- "default": "./dist/scope/index.mjs"
194
- },
195
- "./mcp": {
196
- "types": "./dist/integrations/mcp/index.d.mts",
197
- "default": "./dist/integrations/mcp/index.mjs"
198
- },
199
- "./mcp/testing": {
200
- "types": "./dist/integrations/mcp/testing.d.mts",
201
- "default": "./dist/integrations/mcp/testing.mjs"
202
- },
203
- "./scim": {
204
- "types": "./dist/scim/index.d.mts",
205
- "default": "./dist/scim/index.mjs"
206
- },
207
- "./auth/audit": {
208
- "types": "./dist/auth/audit.d.mts",
209
- "default": "./dist/auth/audit.mjs"
210
- },
211
- "./sync": {
212
- "types": "./dist/sync/changelog.d.mts",
213
- "default": "./dist/sync/changelog.mjs"
214
- },
215
- "./usage": {
216
- "types": "./dist/usage/index.d.mts",
217
- "default": "./dist/usage/index.mjs"
218
- },
219
- "./cleanup": {
220
- "types": "./dist/cleanup/index.d.mts",
221
- "default": "./dist/cleanup/index.mjs"
222
- },
223
- "./testing/outbox": {
224
- "types": "./dist/testing/outboxStoreContract.d.mts",
225
- "default": "./dist/testing/outboxStoreContract.mjs"
226
- }
227
- },
228
- "main": "./dist/index.mjs",
229
- "types": "./dist/index.d.mts",
230
- "bin": {
231
- "arc": "./bin/arc.js"
232
- },
233
- "publishConfig": {
234
- "access": "public"
235
- },
236
- "sideEffects": false,
237
- "arc": {
238
- "subpathStability": {
239
- ".": "stable",
240
- "./permissions": "stable",
241
- "./cache": "stable",
242
- "./cleanup": "stable",
243
- "./types": "stable",
244
- "./types/storage": "stable",
245
- "./core": "stable",
246
- "./presets": "stable",
247
- "./presets/tenant": "stable",
248
- "./presets/files-upload": "stable",
249
- "./presets/search": "stable",
250
- "./auth": "stable",
251
- "./hooks": "stable",
252
- "./middleware": "stable",
253
- "./pipeline": "stable",
254
- "./context": "stable",
255
- "./logger": "stable",
256
- "./registry": "stable",
257
- "./utils": "stable",
258
- "./cli": "stable",
259
- "./plugins": "stable",
260
- "./plugins/tracing": "stable",
261
- "./audit": "stable",
262
- "./docs": "stable",
263
- "./encryption": "stable",
264
- "./idempotency": "stable",
265
- "./idempotency/redis": "stable",
266
- "./events": "stable",
267
- "./events/redis": "stable",
268
- "./events/redis-stream": "stable",
269
- "./testing": "stable",
270
- "./testing/storage": "stable",
271
- "./testing/cleanup": "stable",
272
- "./factory": "stable",
273
- "./schemas": "stable",
274
- "./migrations": "stable",
275
- "./discovery": "stable",
276
- "./integrations": "stable",
277
- "./integrations/streamline": "stable",
278
- "./integrations/websocket": "stable",
279
- "./integrations/websocket-redis": "stable",
280
- "./integrations/websocket-pushref-redis": "stable",
281
- "./integrations/jobs": "stable",
282
- "./integrations/event-gateway": "experimental",
283
- "./integrations/webhooks": "stable",
284
- "./auth/redis": "stable",
285
- "./plugins/response-cache": "stable",
286
- "./scope": "stable",
287
- "./mcp": "stable",
288
- "./mcp/testing": "stable",
289
- "./scim": "stable",
290
- "./auth/audit": "stable",
291
- "./sync": "experimental",
292
- "./usage": "experimental",
293
- "./testing/outbox": "stable"
294
- }
295
- },
296
- "files": [
297
- "dist",
298
- "bin",
299
- "skills",
300
- "llms.txt"
301
- ],
302
- "scripts": {
303
- "build": "tsdown",
304
- "dev": "tsdown --watch",
305
- "typecheck": "npm run typecheck:src && npm run typecheck:types && npm run check:type-lane",
306
- "typecheck:src": "tsc --noEmit",
307
- "check:type-lane": "node scripts/check-type-lane.mjs",
308
- "lint": "biome check src/",
309
- "lint:fix": "biome check --fix src/",
310
- "lint:all": "biome check src/ tests/",
311
- "test": "vitest run",
312
- "test:main": "vitest run",
313
- "test:main:serial": "vitest run --no-file-parallelism",
314
- "test:perf": "node --expose-gc ./node_modules/vitest/vitest.mjs run --config vitest.perf.config.ts --no-file-parallelism",
315
- "test:ci": "npm run test:main && npm run test:perf",
316
- "test:watch": "vitest",
317
- "test:ui": "vitest --ui",
318
- "typecheck:types": "tsc -p tsconfig.types.json",
319
- "api:surface": "node scripts/check-api-surface.mjs --update",
320
- "check:api-surface": "node scripts/check-api-surface.mjs",
321
- "check:package": "publint && attw --pack . --profile esm-only",
322
- "test:coverage": "vitest run --coverage",
323
- "test:fast": "vitest run tests/core tests/hooks tests/utils tests/plugins tests/cache tests/events",
324
- "test:contract": "vitest run tests/contract tests/adapters tests/types",
325
- "test:integration": "vitest run tests/integrations tests/factory tests/auth",
326
- "test:e2e": "vitest run tests/e2e tests/scenarios tests/smoke",
327
- "test:changed": "vitest run --changed",
328
- "test:reliability": "vitest run tests/cache tests/events tests/migrations tests/plugins/schedules.test.ts tests/plugins/health.test.ts tests/utils/circuit-breaker.test.ts tests/utils/compensation-hooks.test.ts tests/integrations/jobs-timeout.test.ts",
329
- "test:smoke:ws": "vitest run tests/integrations/websocket/smoke.test.ts",
330
- "test:smoke:redis": "node scripts/smoke-ws-redis.mjs",
331
- "smoke": "node scripts/smoke-test.mjs",
332
- "smoke:consumer": "node scripts/smoke-test.mjs --consumer",
333
- "push": "classytic-push",
334
- "release:tag": "node -e \"require('child_process').execSync('npm run push -- v'+require('./package.json').version,{stdio:'inherit'})\"",
335
- "release": "npm run push -- main && npm run release:tag && npm publish",
336
- "check:peer-skew": "node scripts/check-peer-skew.mjs",
337
- "check:docs-drift": "node scripts/check-docs-drift.mjs",
338
- "check:boundaries": "node scripts/check-boundaries.mjs",
339
- "prepublishOnly": "npm run check:peer-skew && npm run check:docs-drift && npm run check:boundaries && npm run typecheck && npm run lint && npm run build && npm run check:api-surface && npm run check:package && npm run test:ci && npm run smoke:consumer"
340
- },
341
- "engines": {
342
- "node": ">=22"
343
- },
344
- "peerDependencies": {
345
- "@classytic/primitives": ">=0.15.0",
346
- "@classytic/repo-core": ">=0.17.0",
347
- "@classytic/streamline": ">=2.8.0",
348
- "@fastify/cors": ">=11.0.0",
349
- "@fastify/helmet": ">=13.0.0",
350
- "@fastify/jwt": ">=10.0.0",
351
- "@fastify/multipart": ">=9.0.0",
352
- "@fastify/rate-limit": ">=10.0.0",
353
- "@fastify/sensible": ">=6.0.0",
354
- "@fastify/type-provider-typebox": ">=6.0.0",
355
- "@fastify/under-pressure": ">=9.0.0",
356
- "@fastify/websocket": ">=11.0.0",
357
- "@modelcontextprotocol/sdk": ">=1.28.0",
358
- "@opentelemetry/api": ">=1.9.0",
359
- "@opentelemetry/auto-instrumentations-node": ">=0.40.0",
360
- "@opentelemetry/exporter-trace-otlp-http": ">=0.50.0",
361
- "@opentelemetry/instrumentation-http": ">=0.50.0",
362
- "@opentelemetry/instrumentation-mongodb": ">=0.40.0",
363
- "@opentelemetry/sdk-node": ">=0.50.0",
364
- "better-auth": ">=1.6.2",
365
- "bullmq": ">=5.0.0",
366
- "fastify": ">=5.8.5",
367
- "fastify-raw-body": ">=5.0.0",
368
- "h3-js": ">=4.0.0",
369
- "ioredis": ">=5.0.0",
370
- "jose": ">=5.0.0",
371
- "pino-pretty": ">=13.0.0",
372
- "typebox": ">=1.0.0",
373
- "zod": ">=4.0.0"
374
- },
375
- "peerDependenciesMeta": {
376
- "better-auth": {
377
- "optional": true
378
- },
379
- "@fastify/cors": {
380
- "optional": true
381
- },
382
- "@fastify/helmet": {
383
- "optional": true
384
- },
385
- "@fastify/jwt": {
386
- "optional": true
387
- },
388
- "@fastify/rate-limit": {
389
- "optional": true
390
- },
391
- "@fastify/sensible": {
392
- "optional": true
393
- },
394
- "@fastify/under-pressure": {
395
- "optional": true
396
- },
397
- "@fastify/multipart": {
398
- "optional": true
399
- },
400
- "@fastify/websocket": {
401
- "optional": true
402
- },
403
- "fastify-raw-body": {
404
- "optional": true
405
- },
406
- "h3-js": {
407
- "optional": true
408
- },
409
- "pino-pretty": {
410
- "optional": true
411
- },
412
- "@opentelemetry/api": {
413
- "optional": true
414
- },
415
- "@opentelemetry/sdk-node": {
416
- "optional": true
417
- },
418
- "@opentelemetry/exporter-trace-otlp-http": {
419
- "optional": true
420
- },
421
- "@opentelemetry/instrumentation-http": {
422
- "optional": true
423
- },
424
- "@opentelemetry/instrumentation-mongodb": {
425
- "optional": true
426
- },
427
- "@opentelemetry/auto-instrumentations-node": {
428
- "optional": true
429
- },
430
- "ioredis": {
431
- "optional": true
432
- },
433
- "jose": {
434
- "optional": true
435
- },
436
- "typebox": {
437
- "optional": true
438
- },
439
- "@fastify/type-provider-typebox": {
440
- "optional": true
441
- },
442
- "bullmq": {
443
- "optional": true
444
- },
445
- "@classytic/streamline": {
446
- "optional": true
447
- },
448
- "zod": {
449
- "optional": true
450
- },
451
- "@modelcontextprotocol/sdk": {
452
- "optional": true
453
- }
454
- },
455
- "dependencies": {
456
- "fastify-plugin": "^6.0.0",
457
- "qs": "^6.15.2",
458
- "secure-json-parse": "^4.1.0"
459
- },
460
- "devDependencies": {
461
- "@arethetypeswrong/cli": "^0.18.5",
462
- "@better-auth/drizzle-adapter": "^1.6.19",
463
- "@better-auth/mongo-adapter": "^1.6.19",
464
- "@biomejs/biome": "^2.5.5",
465
- "@classytic/dev-tools": "^0.2.0",
466
- "@classytic/gitkit": ">=0.1.0",
467
- "@classytic/mongokit": "^3.28.0",
468
- "@classytic/pgkit": "^0.1.0",
469
- "@classytic/primitives": "^0.15.0",
470
- "@classytic/repo-core": "^0.17.0",
471
- "@classytic/sqlitekit": "^0.6.0",
472
- "@classytic/streamline": "^2.8.2",
473
- "@electric-sql/pglite": "^0.5.4",
474
- "@fastify/cors": "^11.2.0",
475
- "@fastify/helmet": "^13.0.2",
476
- "@fastify/jwt": "^10.1.0",
477
- "@fastify/multipart": "^10.0.0",
478
- "@fastify/rate-limit": "^11.0.0",
479
- "@fastify/sensible": "^6.0.4",
480
- "@fastify/type-provider-typebox": "^6.1.0",
481
- "@fastify/under-pressure": "^9.0.3",
482
- "@fastify/websocket": "^11.2.0",
483
- "@modelcontextprotocol/sdk": "^1.29.0",
484
- "@opentelemetry/api": "^1.9.1",
485
- "@types/node": "^22.19.21",
486
- "@types/qs": "^6.15.1",
487
- "@vitest/coverage-v8": "^4.1.9",
488
- "ajv": "^8.20.0",
489
- "better-auth": "^1.6.25",
490
- "better-sqlite3": "^12.11.1",
491
- "bullmq": "^5.81.2",
492
- "dotenv": "^17.4.2",
493
- "drizzle-orm": "^0.45.2",
494
- "fast-check": "^4.8.0",
495
- "fastify": "^5.10.0",
496
- "fastify-raw-body": "^5.0.0",
497
- "h3-js": "^4.4.0",
498
- "ioredis": "^5.11.1",
499
- "jose": "^6.2.3",
500
- "jsonwebtoken": "^9.0.3",
501
- "knip": "^6.17.1",
502
- "mongodb": "^7.3.0",
503
- "mongodb-memory-server": "^11.2.0",
504
- "mongoose": "^9.7.1",
505
- "publint": "^0.3.21",
506
- "tsdown": "^0.22.14",
507
- "typebox": "^1.3.6",
508
- "typescript": "^7.0.2",
509
- "vitest": "^4.1.10",
510
- "ws": "^8.21.0",
511
- "zod": "^4.4.3"
512
- },
513
- "config": {
514
- "mongodbMemoryServer": {
515
- "disablePostinstall": "1"
516
- }
517
- },
518
- "keywords": [
519
- "fastify",
520
- "mongodb",
521
- "mongoose",
522
- "crud",
523
- "rest",
524
- "api",
525
- "framework",
526
- "resource",
527
- "multi-tenant",
528
- "typescript",
529
- "tree-shakable",
530
- "serverless",
531
- "websocket",
532
- "jobs",
533
- "workflow"
534
- ],
535
- "author": "Classytic",
536
- "license": "MIT",
537
- "repository": {
538
- "type": "git",
539
- "url": "git+https://github.com/classytic/arc.git"
540
- }
2
+ "name": "@classytic/arc",
3
+ "version": "2.32.0",
4
+ "description": "Resource-oriented backend framework for Fastify - clean, minimal, powerful, tree-shakable",
5
+ "type": "module",
6
+ "exports": {
7
+ ".": {
8
+ "types": "./dist/index.d.mts",
9
+ "default": "./dist/index.mjs"
10
+ },
11
+ "./permissions": {
12
+ "types": "./dist/permissions/index.d.mts",
13
+ "default": "./dist/permissions/index.mjs"
14
+ },
15
+ "./cache": {
16
+ "types": "./dist/cache/index.d.mts",
17
+ "default": "./dist/cache/index.mjs"
18
+ },
19
+ "./types": {
20
+ "types": "./dist/types/index.d.mts",
21
+ "default": "./dist/types/index.mjs"
22
+ },
23
+ "./types/storage": {
24
+ "types": "./dist/types/storage.d.mts",
25
+ "default": "./dist/types/storage.mjs"
26
+ },
27
+ "./core": {
28
+ "types": "./dist/core/index.d.mts",
29
+ "default": "./dist/core/index.mjs"
30
+ },
31
+ "./presets": {
32
+ "types": "./dist/presets/index.d.mts",
33
+ "default": "./dist/presets/index.mjs"
34
+ },
35
+ "./presets/tenant": {
36
+ "types": "./dist/presets/multiTenant.d.mts",
37
+ "default": "./dist/presets/multiTenant.mjs"
38
+ },
39
+ "./presets/files-upload": {
40
+ "types": "./dist/presets/filesUpload.d.mts",
41
+ "default": "./dist/presets/filesUpload.mjs"
42
+ },
43
+ "./presets/search": {
44
+ "types": "./dist/presets/search.d.mts",
45
+ "default": "./dist/presets/search.mjs"
46
+ },
47
+ "./auth": {
48
+ "types": "./dist/auth/index.d.mts",
49
+ "default": "./dist/auth/index.mjs"
50
+ },
51
+ "./hooks": {
52
+ "types": "./dist/hooks/index.d.mts",
53
+ "default": "./dist/hooks/index.mjs"
54
+ },
55
+ "./middleware": {
56
+ "types": "./dist/middleware/index.d.mts",
57
+ "default": "./dist/middleware/index.mjs"
58
+ },
59
+ "./pipeline": {
60
+ "types": "./dist/pipeline/index.d.mts",
61
+ "default": "./dist/pipeline/index.mjs"
62
+ },
63
+ "./context": {
64
+ "types": "./dist/context/index.d.mts",
65
+ "default": "./dist/context/index.mjs"
66
+ },
67
+ "./logger": {
68
+ "types": "./dist/logger/index.d.mts",
69
+ "default": "./dist/logger/index.mjs"
70
+ },
71
+ "./registry": {
72
+ "types": "./dist/registry/index.d.mts",
73
+ "default": "./dist/registry/index.mjs"
74
+ },
75
+ "./utils": {
76
+ "types": "./dist/utils/index.d.mts",
77
+ "default": "./dist/utils/index.mjs"
78
+ },
79
+ "./cli": {
80
+ "types": "./dist/cli/index.d.mts",
81
+ "default": "./dist/cli/index.mjs"
82
+ },
83
+ "./plugins": {
84
+ "types": "./dist/plugins/index.d.mts",
85
+ "default": "./dist/plugins/index.mjs"
86
+ },
87
+ "./plugins/tracing": {
88
+ "types": "./dist/plugins/tracing-entry.d.mts",
89
+ "default": "./dist/plugins/tracing-entry.mjs"
90
+ },
91
+ "./audit": {
92
+ "types": "./dist/audit/index.d.mts",
93
+ "default": "./dist/audit/index.mjs"
94
+ },
95
+ "./docs": {
96
+ "types": "./dist/docs/index.d.mts",
97
+ "default": "./dist/docs/index.mjs"
98
+ },
99
+ "./encryption": {
100
+ "types": "./dist/encryption/index.d.mts",
101
+ "default": "./dist/encryption/index.mjs"
102
+ },
103
+ "./idempotency": {
104
+ "types": "./dist/idempotency/index.d.mts",
105
+ "default": "./dist/idempotency/index.mjs"
106
+ },
107
+ "./idempotency/redis": {
108
+ "types": "./dist/idempotency/redis.d.mts",
109
+ "default": "./dist/idempotency/redis.mjs"
110
+ },
111
+ "./events": {
112
+ "types": "./dist/events/index.d.mts",
113
+ "default": "./dist/events/index.mjs"
114
+ },
115
+ "./events/redis": {
116
+ "types": "./dist/events/transports/redis.d.mts",
117
+ "default": "./dist/events/transports/redis.mjs"
118
+ },
119
+ "./events/redis-stream": {
120
+ "types": "./dist/events/transports/redis-stream-entry.d.mts",
121
+ "default": "./dist/events/transports/redis-stream-entry.mjs"
122
+ },
123
+ "./testing": {
124
+ "types": "./dist/testing/index.d.mts",
125
+ "default": "./dist/testing/index.mjs"
126
+ },
127
+ "./testing/storage": {
128
+ "types": "./dist/testing/storageContract.d.mts",
129
+ "default": "./dist/testing/storageContract.mjs"
130
+ },
131
+ "./testing/cleanup": {
132
+ "types": "./dist/testing/cleanupStoreContract.d.mts",
133
+ "default": "./dist/testing/cleanupStoreContract.mjs"
134
+ },
135
+ "./factory": {
136
+ "types": "./dist/factory/index.d.mts",
137
+ "default": "./dist/factory/index.mjs"
138
+ },
139
+ "./schemas": {
140
+ "types": "./dist/schemas/index.d.mts",
141
+ "default": "./dist/schemas/index.mjs"
142
+ },
143
+ "./migrations": {
144
+ "types": "./dist/migrations/index.d.mts",
145
+ "default": "./dist/migrations/index.mjs"
146
+ },
147
+ "./discovery": {
148
+ "types": "./dist/discovery/index.d.mts",
149
+ "default": "./dist/discovery/index.mjs"
150
+ },
151
+ "./integrations": {
152
+ "types": "./dist/integrations/index.d.mts",
153
+ "default": "./dist/integrations/index.mjs"
154
+ },
155
+ "./integrations/streamline": {
156
+ "types": "./dist/integrations/streamline.d.mts",
157
+ "default": "./dist/integrations/streamline.mjs"
158
+ },
159
+ "./integrations/websocket": {
160
+ "types": "./dist/integrations/websocket.d.mts",
161
+ "default": "./dist/integrations/websocket.mjs"
162
+ },
163
+ "./integrations/websocket-redis": {
164
+ "types": "./dist/integrations/websocket-redis.d.mts",
165
+ "default": "./dist/integrations/websocket-redis.mjs"
166
+ },
167
+ "./integrations/websocket-pushref-redis": {
168
+ "types": "./dist/integrations/websocket-pushref-redis.d.mts",
169
+ "default": "./dist/integrations/websocket-pushref-redis.mjs"
170
+ },
171
+ "./integrations/jobs": {
172
+ "types": "./dist/integrations/jobs/index.d.mts",
173
+ "default": "./dist/integrations/jobs/index.mjs"
174
+ },
175
+ "./integrations/event-gateway": {
176
+ "types": "./dist/integrations/event-gateway.d.mts",
177
+ "default": "./dist/integrations/event-gateway.mjs"
178
+ },
179
+ "./integrations/webhooks": {
180
+ "types": "./dist/integrations/webhooks.d.mts",
181
+ "default": "./dist/integrations/webhooks.mjs"
182
+ },
183
+ "./auth/redis": {
184
+ "types": "./dist/auth/redis-session.d.mts",
185
+ "default": "./dist/auth/redis-session.mjs"
186
+ },
187
+ "./plugins/response-cache": {
188
+ "types": "./dist/plugins/response-cache.d.mts",
189
+ "default": "./dist/plugins/response-cache.mjs"
190
+ },
191
+ "./scope": {
192
+ "types": "./dist/scope/index.d.mts",
193
+ "default": "./dist/scope/index.mjs"
194
+ },
195
+ "./mcp": {
196
+ "types": "./dist/integrations/mcp/index.d.mts",
197
+ "default": "./dist/integrations/mcp/index.mjs"
198
+ },
199
+ "./mcp/testing": {
200
+ "types": "./dist/integrations/mcp/testing.d.mts",
201
+ "default": "./dist/integrations/mcp/testing.mjs"
202
+ },
203
+ "./scim": {
204
+ "types": "./dist/scim/index.d.mts",
205
+ "default": "./dist/scim/index.mjs"
206
+ },
207
+ "./auth/audit": {
208
+ "types": "./dist/auth/audit.d.mts",
209
+ "default": "./dist/auth/audit.mjs"
210
+ },
211
+ "./sync": {
212
+ "types": "./dist/sync/changelog.d.mts",
213
+ "default": "./dist/sync/changelog.mjs"
214
+ },
215
+ "./usage": {
216
+ "types": "./dist/usage/index.d.mts",
217
+ "default": "./dist/usage/index.mjs"
218
+ },
219
+ "./cleanup": {
220
+ "types": "./dist/cleanup/index.d.mts",
221
+ "default": "./dist/cleanup/index.mjs"
222
+ },
223
+ "./outbox-admin": {
224
+ "types": "./dist/outbox-admin/index.d.mts",
225
+ "default": "./dist/outbox-admin/index.mjs"
226
+ },
227
+ "./testing/outbox": {
228
+ "types": "./dist/testing/outboxStoreContract.d.mts",
229
+ "default": "./dist/testing/outboxStoreContract.mjs"
230
+ }
231
+ },
232
+ "main": "./dist/index.mjs",
233
+ "types": "./dist/index.d.mts",
234
+ "bin": {
235
+ "arc": "./bin/arc.js"
236
+ },
237
+ "publishConfig": {
238
+ "access": "public"
239
+ },
240
+ "sideEffects": false,
241
+ "arc": {
242
+ "subpathStability": {
243
+ ".": "stable",
244
+ "./permissions": "stable",
245
+ "./cache": "stable",
246
+ "./cleanup": "stable",
247
+ "./types": "stable",
248
+ "./types/storage": "stable",
249
+ "./core": "stable",
250
+ "./presets": "stable",
251
+ "./presets/tenant": "stable",
252
+ "./presets/files-upload": "stable",
253
+ "./presets/search": "stable",
254
+ "./auth": "stable",
255
+ "./hooks": "stable",
256
+ "./middleware": "stable",
257
+ "./pipeline": "stable",
258
+ "./context": "stable",
259
+ "./logger": "stable",
260
+ "./registry": "stable",
261
+ "./utils": "stable",
262
+ "./cli": "stable",
263
+ "./plugins": "stable",
264
+ "./plugins/tracing": "stable",
265
+ "./audit": "stable",
266
+ "./docs": "stable",
267
+ "./encryption": "stable",
268
+ "./idempotency": "stable",
269
+ "./idempotency/redis": "stable",
270
+ "./events": "stable",
271
+ "./events/redis": "stable",
272
+ "./events/redis-stream": "stable",
273
+ "./testing": "stable",
274
+ "./testing/storage": "stable",
275
+ "./testing/cleanup": "stable",
276
+ "./factory": "stable",
277
+ "./schemas": "stable",
278
+ "./migrations": "stable",
279
+ "./discovery": "stable",
280
+ "./integrations": "stable",
281
+ "./integrations/streamline": "stable",
282
+ "./integrations/websocket": "stable",
283
+ "./integrations/websocket-redis": "stable",
284
+ "./integrations/websocket-pushref-redis": "stable",
285
+ "./integrations/jobs": "stable",
286
+ "./integrations/event-gateway": "experimental",
287
+ "./integrations/webhooks": "stable",
288
+ "./auth/redis": "stable",
289
+ "./plugins/response-cache": "stable",
290
+ "./scope": "stable",
291
+ "./mcp": "stable",
292
+ "./mcp/testing": "stable",
293
+ "./scim": "stable",
294
+ "./auth/audit": "stable",
295
+ "./sync": "experimental",
296
+ "./usage": "experimental",
297
+ "./testing/outbox": "stable",
298
+ "./outbox-admin": "experimental"
299
+ }
300
+ },
301
+ "files": [
302
+ "dist",
303
+ "bin",
304
+ "skills",
305
+ "llms.txt",
306
+ "TRADEMARK.md"
307
+ ],
308
+ "scripts": {
309
+ "build": "tsdown",
310
+ "dev": "tsdown --watch",
311
+ "typecheck": "npm run typecheck:src && npm run typecheck:types && npm run check:type-lane",
312
+ "typecheck:src": "tsc --noEmit",
313
+ "check:type-lane": "node scripts/check-type-lane.mjs",
314
+ "lint": "biome check src/",
315
+ "lint:fix": "biome check --fix src/",
316
+ "lint:all": "biome check src/ tests/",
317
+ "test": "vitest run",
318
+ "test:main": "vitest run",
319
+ "test:main:serial": "vitest run --no-file-parallelism",
320
+ "test:perf": "node --expose-gc ./node_modules/vitest/vitest.mjs run --config vitest.perf.config.ts --no-file-parallelism",
321
+ "test:ci": "npm run test:main && npm run test:perf",
322
+ "test:watch": "vitest",
323
+ "test:ui": "vitest --ui",
324
+ "typecheck:types": "tsc -p tsconfig.types.json",
325
+ "api:surface": "node scripts/check-api-surface.mjs --update",
326
+ "check:api-surface": "node scripts/check-api-surface.mjs",
327
+ "check:package": "publint && attw --pack . --profile esm-only",
328
+ "test:coverage": "vitest run --coverage",
329
+ "test:fast": "vitest run tests/core tests/hooks tests/utils tests/plugins tests/cache tests/events",
330
+ "test:contract": "vitest run tests/contract tests/adapters tests/types",
331
+ "test:integration": "vitest run tests/integrations tests/factory tests/auth",
332
+ "test:e2e": "vitest run tests/e2e tests/scenarios tests/smoke",
333
+ "test:changed": "vitest run --changed",
334
+ "test:reliability": "vitest run tests/cache tests/events tests/migrations tests/plugins/schedules.test.ts tests/plugins/health.test.ts tests/utils/circuit-breaker.test.ts tests/utils/compensation-hooks.test.ts tests/integrations/jobs-timeout.test.ts",
335
+ "test:smoke:ws": "vitest run tests/integrations/websocket/smoke.test.ts",
336
+ "test:smoke:redis": "node scripts/smoke-ws-redis.mjs",
337
+ "smoke": "node scripts/smoke-test.mjs",
338
+ "smoke:consumer": "node scripts/smoke-test.mjs --consumer",
339
+ "push": "classytic-push",
340
+ "release:tag": "node -e \"require('child_process').execSync('npm run push -- v'+require('./package.json').version,{stdio:'inherit'})\"",
341
+ "release": "npm run push -- main && npm run release:tag && npm publish",
342
+ "check:peer-skew": "node scripts/check-peer-skew.mjs",
343
+ "check:docs-drift": "node scripts/check-docs-drift.mjs",
344
+ "check:boundaries": "node scripts/check-boundaries.mjs",
345
+ "prepublishOnly": "npm run check:peer-skew && npm run check:docs-drift && npm run check:route-api && npm run check:boundaries && npm run typecheck && npm run lint && npm run build && npm run check:api-surface && npm run check:forgotten-exports && npm run check:package && npm run test:ci && npm run smoke:consumer",
346
+ "check:route-api": "node scripts/check-removed-route-api.mjs",
347
+ "check:forgotten-exports": "node scripts/check-forgotten-exports.mjs"
348
+ },
349
+ "engines": {
350
+ "node": ">=22"
351
+ },
352
+ "peerDependencies": {
353
+ "@classytic/primitives": ">=0.20.0",
354
+ "@classytic/repo-core": ">=0.17.0",
355
+ "@classytic/streamline": ">=2.8.0",
356
+ "@fastify/cors": ">=11.0.0",
357
+ "@fastify/helmet": ">=13.0.0",
358
+ "@fastify/jwt": ">=10.0.0",
359
+ "@fastify/multipart": ">=9.0.0",
360
+ "@fastify/rate-limit": ">=10.0.0",
361
+ "@fastify/sensible": ">=6.0.0",
362
+ "@fastify/type-provider-typebox": ">=6.0.0",
363
+ "@fastify/under-pressure": ">=9.0.0",
364
+ "@fastify/websocket": ">=11.0.0",
365
+ "@modelcontextprotocol/sdk": ">=1.28.0",
366
+ "@opentelemetry/api": ">=1.9.0",
367
+ "@opentelemetry/auto-instrumentations-node": ">=0.40.0",
368
+ "@opentelemetry/exporter-trace-otlp-http": ">=0.50.0",
369
+ "@opentelemetry/instrumentation-http": ">=0.50.0",
370
+ "@opentelemetry/instrumentation-mongodb": ">=0.40.0",
371
+ "@opentelemetry/sdk-node": ">=0.50.0",
372
+ "better-auth": ">=1.6.2",
373
+ "bullmq": ">=5.0.0",
374
+ "fastify": ">=5.8.5",
375
+ "fastify-raw-body": ">=5.0.0",
376
+ "h3-js": ">=4.0.0",
377
+ "ioredis": ">=5.0.0",
378
+ "jose": ">=5.0.0",
379
+ "pino-pretty": ">=13.0.0",
380
+ "typebox": ">=1.0.0",
381
+ "zod": ">=4.4.0",
382
+ "@fastify/static": ">=8.0.0",
383
+ "vitest": ">=3.0.0"
384
+ },
385
+ "peerDependenciesMeta": {
386
+ "better-auth": {
387
+ "optional": true
388
+ },
389
+ "@fastify/cors": {
390
+ "optional": true
391
+ },
392
+ "@fastify/helmet": {
393
+ "optional": true
394
+ },
395
+ "@fastify/jwt": {
396
+ "optional": true
397
+ },
398
+ "@fastify/rate-limit": {
399
+ "optional": true
400
+ },
401
+ "@fastify/sensible": {
402
+ "optional": true
403
+ },
404
+ "@fastify/under-pressure": {
405
+ "optional": true
406
+ },
407
+ "@fastify/multipart": {
408
+ "optional": true
409
+ },
410
+ "@fastify/websocket": {
411
+ "optional": true
412
+ },
413
+ "fastify-raw-body": {
414
+ "optional": true
415
+ },
416
+ "h3-js": {
417
+ "optional": true
418
+ },
419
+ "pino-pretty": {
420
+ "optional": true
421
+ },
422
+ "@opentelemetry/api": {
423
+ "optional": true
424
+ },
425
+ "@opentelemetry/sdk-node": {
426
+ "optional": true
427
+ },
428
+ "@opentelemetry/exporter-trace-otlp-http": {
429
+ "optional": true
430
+ },
431
+ "@opentelemetry/instrumentation-http": {
432
+ "optional": true
433
+ },
434
+ "@opentelemetry/instrumentation-mongodb": {
435
+ "optional": true
436
+ },
437
+ "@opentelemetry/auto-instrumentations-node": {
438
+ "optional": true
439
+ },
440
+ "ioredis": {
441
+ "optional": true
442
+ },
443
+ "jose": {
444
+ "optional": true
445
+ },
446
+ "typebox": {
447
+ "optional": true
448
+ },
449
+ "@fastify/type-provider-typebox": {
450
+ "optional": true
451
+ },
452
+ "bullmq": {
453
+ "optional": true
454
+ },
455
+ "@classytic/streamline": {
456
+ "optional": true
457
+ },
458
+ "zod": {
459
+ "optional": true
460
+ },
461
+ "@modelcontextprotocol/sdk": {
462
+ "optional": true
463
+ },
464
+ "@fastify/static": {
465
+ "optional": true
466
+ },
467
+ "vitest": {
468
+ "optional": true
469
+ }
470
+ },
471
+ "dependencies": {
472
+ "fastify-plugin": "^6.0.0",
473
+ "qs": "^6.15.2",
474
+ "secure-json-parse": "^4.1.0"
475
+ },
476
+ "devDependencies": {
477
+ "@arethetypeswrong/cli": "^0.18.5",
478
+ "@better-auth/drizzle-adapter": "^1.6.19",
479
+ "@better-auth/mongo-adapter": "^1.6.19",
480
+ "@biomejs/biome": "^2.5.7",
481
+ "@classytic/dev-tools": "^0.2.0",
482
+ "@classytic/gitkit": ">=0.1.0",
483
+ "@classytic/mongokit": "^3.30.0",
484
+ "@classytic/pgkit": "^0.1.0",
485
+ "@classytic/primitives": "^0.20.0",
486
+ "@classytic/repo-core": "^0.20.0",
487
+ "@classytic/sqlitekit": "^0.6.0",
488
+ "@classytic/streamline": "^2.8.2",
489
+ "@electric-sql/pglite": "^0.5.4",
490
+ "@fastify/cors": "^11.2.0",
491
+ "@fastify/helmet": "^13.0.2",
492
+ "@fastify/jwt": "^10.1.0",
493
+ "@fastify/multipart": "^10.0.0",
494
+ "@fastify/rate-limit": "^11.0.0",
495
+ "@fastify/sensible": "^6.0.4",
496
+ "@fastify/static": "^10.1.2",
497
+ "@fastify/type-provider-typebox": "^6.1.0",
498
+ "@fastify/under-pressure": "^9.0.3",
499
+ "@fastify/websocket": "^11.2.0",
500
+ "@modelcontextprotocol/sdk": "^1.29.0",
501
+ "@opentelemetry/api": "^1.9.1",
502
+ "@types/node": "^22.19.21",
503
+ "@types/qs": "^6.15.1",
504
+ "@vitest/coverage-v8": "^4.1.9",
505
+ "ajv": "^8.20.0",
506
+ "better-auth": "^1.6.25",
507
+ "better-sqlite3": "^12.11.1",
508
+ "bullmq": "^5.81.2",
509
+ "dotenv": "^17.4.2",
510
+ "drizzle-orm": "^0.45.2",
511
+ "fast-check": "^4.8.0",
512
+ "fastify": "^5.11.2",
513
+ "fastify-raw-body": "^5.0.0",
514
+ "h3-js": "^4.4.0",
515
+ "ioredis": "^5.11.1",
516
+ "jose": "^6.2.3",
517
+ "jsonwebtoken": "^9.0.3",
518
+ "knip": "^6.31.0",
519
+ "mongodb": "^7.3.0",
520
+ "mongodb-memory-server": "^11.2.0",
521
+ "mongoose": "^9.9.1",
522
+ "publint": "^0.3.21",
523
+ "tsdown": "^0.22.14",
524
+ "typebox": "^1.3.6",
525
+ "typescript": "^7.0.2",
526
+ "vitest": "^4.1.10",
527
+ "ws": "^8.21.0",
528
+ "zod": "^4.4.3"
529
+ },
530
+ "config": {
531
+ "mongodbMemoryServer": {
532
+ "disablePostinstall": "1"
533
+ }
534
+ },
535
+ "keywords": [
536
+ "fastify",
537
+ "mongodb",
538
+ "mongoose",
539
+ "crud",
540
+ "rest",
541
+ "api",
542
+ "framework",
543
+ "resource",
544
+ "multi-tenant",
545
+ "typescript",
546
+ "tree-shakable",
547
+ "serverless",
548
+ "websocket",
549
+ "jobs",
550
+ "workflow"
551
+ ],
552
+ "author": "Classytic",
553
+ "license": "MIT",
554
+ "homepage": "https://classytic.com",
555
+ "repository": {
556
+ "type": "git",
557
+ "url": "git+https://github.com/classytic/arc.git"
558
+ }
541
559
  }