@c9up/ream 0.1.3

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 (451) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +70 -0
  3. package/dist/Application.d.ts +71 -0
  4. package/dist/Application.d.ts.map +1 -0
  5. package/dist/Application.js +151 -0
  6. package/dist/Application.js.map +1 -0
  7. package/dist/Codemods.d.ts +16 -0
  8. package/dist/Codemods.d.ts.map +1 -0
  9. package/dist/Codemods.js +277 -0
  10. package/dist/Codemods.js.map +1 -0
  11. package/dist/ConfigLoader.d.ts +29 -0
  12. package/dist/ConfigLoader.d.ts.map +1 -0
  13. package/dist/ConfigLoader.js +43 -0
  14. package/dist/ConfigLoader.js.map +1 -0
  15. package/dist/ErrorBoundary.d.ts +51 -0
  16. package/dist/ErrorBoundary.d.ts.map +1 -0
  17. package/dist/ErrorBoundary.js +122 -0
  18. package/dist/ErrorBoundary.js.map +1 -0
  19. package/dist/GracefulShutdown.d.ts +28 -0
  20. package/dist/GracefulShutdown.d.ts.map +1 -0
  21. package/dist/GracefulShutdown.js +55 -0
  22. package/dist/GracefulShutdown.js.map +1 -0
  23. package/dist/HealthCheck.d.ts +42 -0
  24. package/dist/HealthCheck.d.ts.map +1 -0
  25. package/dist/HealthCheck.js +65 -0
  26. package/dist/HealthCheck.js.map +1 -0
  27. package/dist/HotReload.d.ts +28 -0
  28. package/dist/HotReload.d.ts.map +1 -0
  29. package/dist/HotReload.js +60 -0
  30. package/dist/HotReload.js.map +1 -0
  31. package/dist/HttpKernel.d.ts +62 -0
  32. package/dist/HttpKernel.d.ts.map +1 -0
  33. package/dist/HttpKernel.js +210 -0
  34. package/dist/HttpKernel.js.map +1 -0
  35. package/dist/Ignitor.d.ts +195 -0
  36. package/dist/Ignitor.d.ts.map +1 -0
  37. package/dist/Ignitor.js +505 -0
  38. package/dist/Ignitor.js.map +1 -0
  39. package/dist/Provider.d.ts +54 -0
  40. package/dist/Provider.d.ts.map +1 -0
  41. package/dist/Provider.js +37 -0
  42. package/dist/Provider.js.map +1 -0
  43. package/dist/bodyparser/BodyParserMiddleware.d.ts +38 -0
  44. package/dist/bodyparser/BodyParserMiddleware.d.ts.map +1 -0
  45. package/dist/bodyparser/BodyParserMiddleware.js +143 -0
  46. package/dist/bodyparser/BodyParserMiddleware.js.map +1 -0
  47. package/dist/bodyparser/MultipartFile.d.ts +77 -0
  48. package/dist/bodyparser/MultipartFile.d.ts.map +1 -0
  49. package/dist/bodyparser/MultipartFile.js +138 -0
  50. package/dist/bodyparser/MultipartFile.js.map +1 -0
  51. package/dist/bodyparser/parseSize.d.ts +6 -0
  52. package/dist/bodyparser/parseSize.d.ts.map +1 -0
  53. package/dist/bodyparser/parseSize.js +21 -0
  54. package/dist/bodyparser/parseSize.js.map +1 -0
  55. package/dist/bootstrap/hyper-server.d.ts +27 -0
  56. package/dist/bootstrap/hyper-server.d.ts.map +1 -0
  57. package/dist/bootstrap/hyper-server.js +63 -0
  58. package/dist/bootstrap/hyper-server.js.map +1 -0
  59. package/dist/console/CommandRunner.d.ts +18 -0
  60. package/dist/console/CommandRunner.d.ts.map +1 -0
  61. package/dist/console/CommandRunner.js +65 -0
  62. package/dist/console/CommandRunner.js.map +1 -0
  63. package/dist/container/Container.d.ts +60 -0
  64. package/dist/container/Container.d.ts.map +1 -0
  65. package/dist/container/Container.js +329 -0
  66. package/dist/container/Container.js.map +1 -0
  67. package/dist/container/types.d.ts +25 -0
  68. package/dist/container/types.d.ts.map +1 -0
  69. package/dist/container/types.js +6 -0
  70. package/dist/container/types.js.map +1 -0
  71. package/dist/decorators/Lazy.d.ts +19 -0
  72. package/dist/decorators/Lazy.d.ts.map +1 -0
  73. package/dist/decorators/Lazy.js +53 -0
  74. package/dist/decorators/Lazy.js.map +1 -0
  75. package/dist/decorators/Service.d.ts +48 -0
  76. package/dist/decorators/Service.d.ts.map +1 -0
  77. package/dist/decorators/Service.js +70 -0
  78. package/dist/decorators/Service.js.map +1 -0
  79. package/dist/errors/FuzzyMatcher.d.ts +41 -0
  80. package/dist/errors/FuzzyMatcher.d.ts.map +1 -0
  81. package/dist/errors/FuzzyMatcher.js +81 -0
  82. package/dist/errors/FuzzyMatcher.js.map +1 -0
  83. package/dist/errors/ModuleErrors.d.ts +41 -0
  84. package/dist/errors/ModuleErrors.d.ts.map +1 -0
  85. package/dist/errors/ModuleErrors.js +65 -0
  86. package/dist/errors/ModuleErrors.js.map +1 -0
  87. package/dist/errors/PipelineStageError.d.ts +31 -0
  88. package/dist/errors/PipelineStageError.d.ts.map +1 -0
  89. package/dist/errors/PipelineStageError.js +77 -0
  90. package/dist/errors/PipelineStageError.js.map +1 -0
  91. package/dist/errors/ReamError.d.ts +50 -0
  92. package/dist/errors/ReamError.d.ts.map +1 -0
  93. package/dist/errors/ReamError.js +108 -0
  94. package/dist/errors/ReamError.js.map +1 -0
  95. package/dist/events/Emitter.d.ts +124 -0
  96. package/dist/events/Emitter.d.ts.map +1 -0
  97. package/dist/events/Emitter.js +271 -0
  98. package/dist/events/Emitter.js.map +1 -0
  99. package/dist/events/EventsProvider.d.ts +28 -0
  100. package/dist/events/EventsProvider.d.ts.map +1 -0
  101. package/dist/events/EventsProvider.js +36 -0
  102. package/dist/events/EventsProvider.js.map +1 -0
  103. package/dist/events/config.d.ts +8 -0
  104. package/dist/events/config.d.ts.map +1 -0
  105. package/dist/events/config.js +4 -0
  106. package/dist/events/config.js.map +1 -0
  107. package/dist/events/configure.d.ts +10 -0
  108. package/dist/events/configure.d.ts.map +1 -0
  109. package/dist/events/configure.js +11 -0
  110. package/dist/events/configure.js.map +1 -0
  111. package/dist/events/helix/helpers.d.ts +62 -0
  112. package/dist/events/helix/helpers.d.ts.map +1 -0
  113. package/dist/events/helix/helpers.js +187 -0
  114. package/dist/events/helix/helpers.js.map +1 -0
  115. package/dist/events/index.d.ts +17 -0
  116. package/dist/events/index.d.ts.map +1 -0
  117. package/dist/events/index.js +15 -0
  118. package/dist/events/index.js.map +1 -0
  119. package/dist/events/native.d.ts +21 -0
  120. package/dist/events/native.d.ts.map +1 -0
  121. package/dist/events/native.js +17 -0
  122. package/dist/events/native.js.map +1 -0
  123. package/dist/events/services/main.d.ts +18 -0
  124. package/dist/events/services/main.d.ts.map +1 -0
  125. package/dist/events/services/main.js +31 -0
  126. package/dist/events/services/main.js.map +1 -0
  127. package/dist/events/testing/FakeBus.d.ts +66 -0
  128. package/dist/events/testing/FakeBus.d.ts.map +1 -0
  129. package/dist/events/testing/FakeBus.js +356 -0
  130. package/dist/events/testing/FakeBus.js.map +1 -0
  131. package/dist/graphql/GraphQLEngine.d.ts +69 -0
  132. package/dist/graphql/GraphQLEngine.d.ts.map +1 -0
  133. package/dist/graphql/GraphQLEngine.js +309 -0
  134. package/dist/graphql/GraphQLEngine.js.map +1 -0
  135. package/dist/graphql/GraphQLProvider.d.ts +32 -0
  136. package/dist/graphql/GraphQLProvider.d.ts.map +1 -0
  137. package/dist/graphql/GraphQLProvider.js +49 -0
  138. package/dist/graphql/GraphQLProvider.js.map +1 -0
  139. package/dist/helpers/base64.d.ts +40 -0
  140. package/dist/helpers/base64.d.ts.map +1 -0
  141. package/dist/helpers/base64.js +70 -0
  142. package/dist/helpers/base64.js.map +1 -0
  143. package/dist/helpers/index.d.ts +7 -0
  144. package/dist/helpers/index.d.ts.map +1 -0
  145. package/dist/helpers/index.js +5 -0
  146. package/dist/helpers/index.js.map +1 -0
  147. package/dist/helpers/is.d.ts +101 -0
  148. package/dist/helpers/is.d.ts.map +1 -0
  149. package/dist/helpers/is.js +151 -0
  150. package/dist/helpers/is.js.map +1 -0
  151. package/dist/helpers/napi-loader.d.ts +46 -0
  152. package/dist/helpers/napi-loader.d.ts.map +1 -0
  153. package/dist/helpers/napi-loader.js +69 -0
  154. package/dist/helpers/napi-loader.js.map +1 -0
  155. package/dist/helpers/safeEqual.d.ts +9 -0
  156. package/dist/helpers/safeEqual.d.ts.map +1 -0
  157. package/dist/helpers/safeEqual.js +16 -0
  158. package/dist/helpers/safeEqual.js.map +1 -0
  159. package/dist/helpers/string.d.ts +161 -0
  160. package/dist/helpers/string.d.ts.map +1 -0
  161. package/dist/helpers/string.js +429 -0
  162. package/dist/helpers/string.js.map +1 -0
  163. package/dist/helpers/types.d.ts +83 -0
  164. package/dist/helpers/types.d.ts.map +1 -0
  165. package/dist/helpers/types.js +6 -0
  166. package/dist/helpers/types.js.map +1 -0
  167. package/dist/http/Exception.d.ts +103 -0
  168. package/dist/http/Exception.d.ts.map +1 -0
  169. package/dist/http/Exception.js +228 -0
  170. package/dist/http/Exception.js.map +1 -0
  171. package/dist/http/HttpContext.d.ts +69 -0
  172. package/dist/http/HttpContext.d.ts.map +1 -0
  173. package/dist/http/HttpContext.js +55 -0
  174. package/dist/http/HttpContext.js.map +1 -0
  175. package/dist/http/RedirectBuilder.d.ts +31 -0
  176. package/dist/http/RedirectBuilder.d.ts.map +1 -0
  177. package/dist/http/RedirectBuilder.js +75 -0
  178. package/dist/http/RedirectBuilder.js.map +1 -0
  179. package/dist/http/Request.d.ts +160 -0
  180. package/dist/http/Request.d.ts.map +1 -0
  181. package/dist/http/Request.js +484 -0
  182. package/dist/http/Request.js.map +1 -0
  183. package/dist/http/Response.d.ts +114 -0
  184. package/dist/http/Response.d.ts.map +1 -0
  185. package/dist/http/Response.js +303 -0
  186. package/dist/http/Response.js.map +1 -0
  187. package/dist/http/SseStream.d.ts +89 -0
  188. package/dist/http/SseStream.d.ts.map +1 -0
  189. package/dist/http/SseStream.js +228 -0
  190. package/dist/http/SseStream.js.map +1 -0
  191. package/dist/http/urlDecode.d.ts +8 -0
  192. package/dist/http/urlDecode.d.ts.map +1 -0
  193. package/dist/http/urlDecode.js +18 -0
  194. package/dist/http/urlDecode.js.map +1 -0
  195. package/dist/index.d.ts +92 -0
  196. package/dist/index.d.ts.map +1 -0
  197. package/dist/index.js +67 -0
  198. package/dist/index.js.map +1 -0
  199. package/dist/middleware/Pipeline.d.ts +36 -0
  200. package/dist/middleware/Pipeline.d.ts.map +1 -0
  201. package/dist/middleware/Pipeline.js +104 -0
  202. package/dist/middleware/Pipeline.js.map +1 -0
  203. package/dist/openapi/OpenApiGenerator.d.ts +58 -0
  204. package/dist/openapi/OpenApiGenerator.d.ts.map +1 -0
  205. package/dist/openapi/OpenApiGenerator.js +192 -0
  206. package/dist/openapi/OpenApiGenerator.js.map +1 -0
  207. package/dist/openapi/OpenApiMiddleware.d.ts +24 -0
  208. package/dist/openapi/OpenApiMiddleware.d.ts.map +1 -0
  209. package/dist/openapi/OpenApiMiddleware.js +78 -0
  210. package/dist/openapi/OpenApiMiddleware.js.map +1 -0
  211. package/dist/openapi/OpenApiProvider.d.ts +36 -0
  212. package/dist/openapi/OpenApiProvider.d.ts.map +1 -0
  213. package/dist/openapi/OpenApiProvider.js +42 -0
  214. package/dist/openapi/OpenApiProvider.js.map +1 -0
  215. package/dist/resources/ApiResource.d.ts +45 -0
  216. package/dist/resources/ApiResource.d.ts.map +1 -0
  217. package/dist/resources/ApiResource.js +58 -0
  218. package/dist/resources/ApiResource.js.map +1 -0
  219. package/dist/router/Router.d.ts +205 -0
  220. package/dist/router/Router.d.ts.map +1 -0
  221. package/dist/router/Router.js +552 -0
  222. package/dist/router/Router.js.map +1 -0
  223. package/dist/rpc/RpcProvider.d.ts +34 -0
  224. package/dist/rpc/RpcProvider.d.ts.map +1 -0
  225. package/dist/rpc/RpcProvider.js +37 -0
  226. package/dist/rpc/RpcProvider.js.map +1 -0
  227. package/dist/rpc/RpcRouter.d.ts +61 -0
  228. package/dist/rpc/RpcRouter.d.ts.map +1 -0
  229. package/dist/rpc/RpcRouter.js +187 -0
  230. package/dist/rpc/RpcRouter.js.map +1 -0
  231. package/dist/scheduler/Schedule.d.ts +53 -0
  232. package/dist/scheduler/Schedule.d.ts.map +1 -0
  233. package/dist/scheduler/Schedule.js +76 -0
  234. package/dist/scheduler/Schedule.js.map +1 -0
  235. package/dist/scheduler/ScheduleProvider.d.ts +56 -0
  236. package/dist/scheduler/ScheduleProvider.d.ts.map +1 -0
  237. package/dist/scheduler/ScheduleProvider.js +145 -0
  238. package/dist/scheduler/ScheduleProvider.js.map +1 -0
  239. package/dist/scheduler/Scheduler.d.ts +209 -0
  240. package/dist/scheduler/Scheduler.d.ts.map +1 -0
  241. package/dist/scheduler/Scheduler.js +432 -0
  242. package/dist/scheduler/Scheduler.js.map +1 -0
  243. package/dist/scheduler/index.d.ts +14 -0
  244. package/dist/scheduler/index.d.ts.map +1 -0
  245. package/dist/scheduler/index.js +6 -0
  246. package/dist/scheduler/index.js.map +1 -0
  247. package/dist/scheduler/locks/LockBackend.d.ts +37 -0
  248. package/dist/scheduler/locks/LockBackend.d.ts.map +1 -0
  249. package/dist/scheduler/locks/LockBackend.js +13 -0
  250. package/dist/scheduler/locks/LockBackend.js.map +1 -0
  251. package/dist/scheduler/locks/MemoryLockBackend.d.ts +39 -0
  252. package/dist/scheduler/locks/MemoryLockBackend.d.ts.map +1 -0
  253. package/dist/scheduler/locks/MemoryLockBackend.js +71 -0
  254. package/dist/scheduler/locks/MemoryLockBackend.js.map +1 -0
  255. package/dist/scheduler/observability/ErrorReporter.d.ts +15 -0
  256. package/dist/scheduler/observability/ErrorReporter.d.ts.map +1 -0
  257. package/dist/scheduler/observability/ErrorReporter.js +13 -0
  258. package/dist/scheduler/observability/ErrorReporter.js.map +1 -0
  259. package/dist/scheduler/observability/ScheduleEvent.d.ts +57 -0
  260. package/dist/scheduler/observability/ScheduleEvent.d.ts.map +1 -0
  261. package/dist/scheduler/observability/ScheduleEvent.js +12 -0
  262. package/dist/scheduler/observability/ScheduleEvent.js.map +1 -0
  263. package/dist/scheduler/observability/ScheduleEventSink.d.ts +20 -0
  264. package/dist/scheduler/observability/ScheduleEventSink.d.ts.map +1 -0
  265. package/dist/scheduler/observability/ScheduleEventSink.js +17 -0
  266. package/dist/scheduler/observability/ScheduleEventSink.js.map +1 -0
  267. package/dist/scheduler/observability/StatsTracker.d.ts +50 -0
  268. package/dist/scheduler/observability/StatsTracker.d.ts.map +1 -0
  269. package/dist/scheduler/observability/StatsTracker.js +96 -0
  270. package/dist/scheduler/observability/StatsTracker.js.map +1 -0
  271. package/dist/security/CookieSigner.d.ts +13 -0
  272. package/dist/security/CookieSigner.d.ts.map +1 -0
  273. package/dist/security/CookieSigner.js +51 -0
  274. package/dist/security/CookieSigner.js.map +1 -0
  275. package/dist/security/SignedUrl.d.ts +17 -0
  276. package/dist/security/SignedUrl.d.ts.map +1 -0
  277. package/dist/security/SignedUrl.js +63 -0
  278. package/dist/security/SignedUrl.js.map +1 -0
  279. package/dist/security/crypto.d.ts +25 -0
  280. package/dist/security/crypto.d.ts.map +1 -0
  281. package/dist/security/crypto.js +82 -0
  282. package/dist/security/crypto.js.map +1 -0
  283. package/dist/server/HyperServer.d.ts +64 -0
  284. package/dist/server/HyperServer.d.ts.map +1 -0
  285. package/dist/server/HyperServer.js +54 -0
  286. package/dist/server/HyperServer.js.map +1 -0
  287. package/dist/server/Server.d.ts +68 -0
  288. package/dist/server/Server.d.ts.map +1 -0
  289. package/dist/server/Server.js +113 -0
  290. package/dist/server/Server.js.map +1 -0
  291. package/dist/services/app.d.ts +14 -0
  292. package/dist/services/app.d.ts.map +1 -0
  293. package/dist/services/app.js +27 -0
  294. package/dist/services/app.js.map +1 -0
  295. package/dist/services/router.d.ts +21 -0
  296. package/dist/services/router.d.ts.map +1 -0
  297. package/dist/services/router.js +36 -0
  298. package/dist/services/router.js.map +1 -0
  299. package/dist/services/server.d.ts +16 -0
  300. package/dist/services/server.d.ts.map +1 -0
  301. package/dist/services/server.js +32 -0
  302. package/dist/services/server.js.map +1 -0
  303. package/dist/session/Session.d.ts +88 -0
  304. package/dist/session/Session.d.ts.map +1 -0
  305. package/dist/session/Session.js +186 -0
  306. package/dist/session/Session.js.map +1 -0
  307. package/dist/session/SessionMiddleware.d.ts +16 -0
  308. package/dist/session/SessionMiddleware.d.ts.map +1 -0
  309. package/dist/session/SessionMiddleware.js +132 -0
  310. package/dist/session/SessionMiddleware.js.map +1 -0
  311. package/dist/session/drivers/CookieDriver.d.ts +17 -0
  312. package/dist/session/drivers/CookieDriver.d.ts.map +1 -0
  313. package/dist/session/drivers/CookieDriver.js +42 -0
  314. package/dist/session/drivers/CookieDriver.js.map +1 -0
  315. package/dist/session/drivers/MemoryDriver.d.ts +9 -0
  316. package/dist/session/drivers/MemoryDriver.d.ts.map +1 -0
  317. package/dist/session/drivers/MemoryDriver.js +24 -0
  318. package/dist/session/drivers/MemoryDriver.js.map +1 -0
  319. package/dist/storage/S3Driver.d.ts +27 -0
  320. package/dist/storage/S3Driver.d.ts.map +1 -0
  321. package/dist/storage/S3Driver.js +135 -0
  322. package/dist/storage/S3Driver.js.map +1 -0
  323. package/dist/storage/StaticMiddleware.d.ts +27 -0
  324. package/dist/storage/StaticMiddleware.d.ts.map +1 -0
  325. package/dist/storage/StaticMiddleware.js +153 -0
  326. package/dist/storage/StaticMiddleware.js.map +1 -0
  327. package/dist/storage/StaticProvider.d.ts +26 -0
  328. package/dist/storage/StaticProvider.d.ts.map +1 -0
  329. package/dist/storage/StaticProvider.js +31 -0
  330. package/dist/storage/StaticProvider.js.map +1 -0
  331. package/dist/storage/StorageManager.d.ts +31 -0
  332. package/dist/storage/StorageManager.d.ts.map +1 -0
  333. package/dist/storage/StorageManager.js +120 -0
  334. package/dist/storage/StorageManager.js.map +1 -0
  335. package/dist/testing/RequestBuilder.d.ts +67 -0
  336. package/dist/testing/RequestBuilder.d.ts.map +1 -0
  337. package/dist/testing/RequestBuilder.js +202 -0
  338. package/dist/testing/RequestBuilder.js.map +1 -0
  339. package/dist/testing/TestClient.d.ts +96 -0
  340. package/dist/testing/TestClient.d.ts.map +1 -0
  341. package/dist/testing/TestClient.js +263 -0
  342. package/dist/testing/TestClient.js.map +1 -0
  343. package/dist/types/helpers.d.ts +47 -0
  344. package/dist/types/helpers.d.ts.map +1 -0
  345. package/dist/types/helpers.js +5 -0
  346. package/dist/types/helpers.js.map +1 -0
  347. package/events.darwin-arm64.node +0 -0
  348. package/events.darwin-x64.node +0 -0
  349. package/events.linux-arm64-gnu.node +0 -0
  350. package/events.linux-x64-gnu.node +0 -0
  351. package/events.win32-x64-msvc.node +0 -0
  352. package/index.darwin-arm64.node +0 -0
  353. package/index.darwin-x64.node +0 -0
  354. package/index.linux-arm64-gnu.node +0 -0
  355. package/index.linux-x64-gnu.node +0 -0
  356. package/index.win32-x64-msvc.node +0 -0
  357. package/package.json +106 -0
  358. package/scheduler.darwin-arm64.node +0 -0
  359. package/scheduler.darwin-x64.node +0 -0
  360. package/scheduler.linux-arm64-gnu.node +0 -0
  361. package/scheduler.linux-x64-gnu.node +0 -0
  362. package/scheduler.win32-x64-msvc.node +0 -0
  363. package/scripts/copy-napi.mjs +113 -0
  364. package/src/Application.ts +177 -0
  365. package/src/Codemods.ts +343 -0
  366. package/src/ConfigLoader.ts +49 -0
  367. package/src/ErrorBoundary.ts +157 -0
  368. package/src/GracefulShutdown.ts +80 -0
  369. package/src/HealthCheck.ts +96 -0
  370. package/src/HotReload.ts +78 -0
  371. package/src/HttpKernel.ts +305 -0
  372. package/src/Ignitor.ts +656 -0
  373. package/src/Provider.ts +74 -0
  374. package/src/bodyparser/BodyParserMiddleware.ts +183 -0
  375. package/src/bodyparser/MultipartFile.ts +181 -0
  376. package/src/bodyparser/parseSize.ts +19 -0
  377. package/src/bootstrap/hyper-server.ts +78 -0
  378. package/src/console/CommandRunner.ts +82 -0
  379. package/src/container/Container.ts +383 -0
  380. package/src/container/types.ts +30 -0
  381. package/src/decorators/Lazy.ts +57 -0
  382. package/src/decorators/Service.ts +85 -0
  383. package/src/errors/FuzzyMatcher.ts +93 -0
  384. package/src/errors/ModuleErrors.ts +73 -0
  385. package/src/errors/PipelineStageError.ts +97 -0
  386. package/src/errors/ReamError.ts +138 -0
  387. package/src/events/Emitter.ts +333 -0
  388. package/src/events/EventsProvider.ts +58 -0
  389. package/src/events/config.ts +10 -0
  390. package/src/events/configure.ts +19 -0
  391. package/src/events/helix/helpers.ts +260 -0
  392. package/src/events/index.ts +22 -0
  393. package/src/events/native.ts +37 -0
  394. package/src/events/services/main.ts +39 -0
  395. package/src/events/testing/FakeBus.ts +420 -0
  396. package/src/graphql/GraphQLEngine.ts +421 -0
  397. package/src/graphql/GraphQLProvider.ts +59 -0
  398. package/src/helpers/base64.ts +72 -0
  399. package/src/helpers/index.ts +6 -0
  400. package/src/helpers/is.ts +162 -0
  401. package/src/helpers/napi-loader.ts +106 -0
  402. package/src/helpers/safeEqual.ts +15 -0
  403. package/src/helpers/string.ts +469 -0
  404. package/src/helpers/types.ts +100 -0
  405. package/src/http/Exception.ts +272 -0
  406. package/src/http/HttpContext.ts +108 -0
  407. package/src/http/RedirectBuilder.ts +89 -0
  408. package/src/http/Request.ts +540 -0
  409. package/src/http/Response.ts +351 -0
  410. package/src/http/SseStream.ts +250 -0
  411. package/src/http/urlDecode.ts +18 -0
  412. package/src/index.ts +263 -0
  413. package/src/middleware/Pipeline.ts +136 -0
  414. package/src/openapi/OpenApiGenerator.ts +254 -0
  415. package/src/openapi/OpenApiMiddleware.ts +101 -0
  416. package/src/openapi/OpenApiProvider.ts +67 -0
  417. package/src/resources/ApiResource.ts +79 -0
  418. package/src/router/Router.ts +733 -0
  419. package/src/rpc/RpcProvider.ts +54 -0
  420. package/src/rpc/RpcRouter.ts +243 -0
  421. package/src/scheduler/Schedule.ts +96 -0
  422. package/src/scheduler/ScheduleProvider.ts +177 -0
  423. package/src/scheduler/Scheduler.ts +601 -0
  424. package/src/scheduler/index.ts +24 -0
  425. package/src/scheduler/locks/LockBackend.ts +38 -0
  426. package/src/scheduler/locks/MemoryLockBackend.ts +85 -0
  427. package/src/scheduler/observability/ErrorReporter.ts +13 -0
  428. package/src/scheduler/observability/ScheduleEvent.ts +61 -0
  429. package/src/scheduler/observability/ScheduleEventSink.ts +21 -0
  430. package/src/scheduler/observability/StatsTracker.ts +134 -0
  431. package/src/security/CookieSigner.ts +54 -0
  432. package/src/security/SignedUrl.ts +71 -0
  433. package/src/security/crypto.ts +98 -0
  434. package/src/server/HyperServer.ts +121 -0
  435. package/src/server/Server.ts +147 -0
  436. package/src/services/app.ts +34 -0
  437. package/src/services/router.ts +44 -0
  438. package/src/services/server.ts +40 -0
  439. package/src/session/Session.ts +231 -0
  440. package/src/session/SessionMiddleware.ts +153 -0
  441. package/src/session/drivers/CookieDriver.ts +48 -0
  442. package/src/session/drivers/MemoryDriver.ts +29 -0
  443. package/src/storage/S3Driver.ts +171 -0
  444. package/src/storage/StaticMiddleware.ts +182 -0
  445. package/src/storage/StaticProvider.ts +40 -0
  446. package/src/storage/StorageManager.ts +142 -0
  447. package/src/testing/RequestBuilder.ts +275 -0
  448. package/src/testing/TestClient.ts +344 -0
  449. package/src/types/helpers.ts +52 -0
  450. package/swcrc.app.json +17 -0
  451. package/tsconfig.app.json +21 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Service.js","sourceRoot":"","sources":["../../src/decorators/Service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,kBAAkB,CAAA;AAGzB,MAAM,oBAAoB,GAAG,MAAM,CAAC,cAAc,CAAC,CAAA;AACnD,MAAM,mBAAmB,GAAG,MAAM,CAAC,aAAa,CAAC,CAAA;AAKjD,0CAA0C;AAC1C,MAAM,eAAe,GAAyC,IAAI,GAAG,EAAE,CAAA;AAEvE,MAAM,UAAU,kBAAkB;IAChC,OAAO,eAAe,CAAA;AACxB,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,oBAAoB;IAClC,eAAe,CAAC,KAAK,EAAE,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAsB;IACvD,OAAO,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;AACpC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAC,UAAiD,EAAE;IACzE,OAAO,CAAC,MAAM,EAAE,EAAE;QAChB,MAAM,QAAQ,GAAoB;YAChC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,WAAW;YACnC,EAAE,EAAE,OAAO,CAAC,EAAE;SACf,CAAA;QACD,qIAAqI;QACrI,eAAe,CAAC,GAAG,CAAC,MAA+B,EAAE,QAAQ,CAAC,CAAA;QAC9D,OAAO,CAAC,cAAc,CAAC,oBAAoB,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;IAChE,CAAC,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,KAAa;IAClC,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE;QAC9C,MAAM,cAAc,GAClB,OAAO,CAAC,cAAc,CAAC,mBAAmB,EAAE,MAAM,CAAC,IAAI,IAAI,GAAG,EAAE,CAAA;QAClE,cAAc,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,CAAA;QACzC,OAAO,CAAC,cAAc,CAAC,mBAAmB,EAAE,cAAc,EAAE,MAAM,CAAC,CAAA;IACrE,CAAC,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,MAAsB;IACpD,OAAO,OAAO,CAAC,cAAc,CAAC,mBAAmB,EAAE,MAAM,CAAC,IAAI,IAAI,GAAG,EAAE,CAAA;AACzE,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,MAAM;IACpB,OAAO,OAAO,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAA;AACxC,CAAC;AAED,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,CAAA"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Fuzzy Matcher — suggests corrections for typos using Levenshtein distance.
3
+ *
4
+ * @implements FR72
5
+ */
6
+ /**
7
+ * Calculate Levenshtein distance between two strings.
8
+ */
9
+ export declare function levenshtein(a: string, b: string): number;
10
+ /**
11
+ * Find the closest matches from a list of candidates.
12
+ *
13
+ * @param input - The typo'd string
14
+ * @param candidates - Available options
15
+ * @param maxDistance - Maximum Levenshtein distance to consider (default: 3)
16
+ * @param maxResults - Maximum suggestions to return (default: 3)
17
+ * @returns Sorted array of { candidate, distance }
18
+ */
19
+ /**
20
+ * Find the closest matches from a list of candidates.
21
+ * Exact matches (distance 0) are excluded — this is for "did you mean" suggestions.
22
+ *
23
+ * @param input - The typo'd string (max 100 chars — longer inputs return empty)
24
+ * @param candidates - Available options
25
+ * @param maxDistance - Maximum Levenshtein distance to consider (default: 3)
26
+ * @param maxResults - Maximum suggestions to return (default: 3)
27
+ * @returns Sorted array of { candidate, distance }
28
+ */
29
+ export declare function findClosestMatches(input: string, candidates: string[], maxDistance?: number, maxResults?: number): Array<{
30
+ candidate: string;
31
+ distance: number;
32
+ }>;
33
+ /**
34
+ * Format a "did you mean?" suggestion string.
35
+ *
36
+ * @param input - What the user typed
37
+ * @param candidates - Available options to match against
38
+ * @returns Formatted suggestion string, or empty string if no matches
39
+ */
40
+ export declare function didYouMean(input: string, candidates: string[]): string;
41
+ //# sourceMappingURL=FuzzyMatcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FuzzyMatcher.d.ts","sourceRoot":"","sources":["../../src/errors/FuzzyMatcher.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAwBxD;AAED;;;;;;;;GAQG;AACH;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAAE,EACpB,WAAW,SAAI,EACf,UAAU,SAAI,GACb,KAAK,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAchD;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,CAUtE"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Fuzzy Matcher — suggests corrections for typos using Levenshtein distance.
3
+ *
4
+ * @implements FR72
5
+ */
6
+ /**
7
+ * Calculate Levenshtein distance between two strings.
8
+ */
9
+ export function levenshtein(a, b) {
10
+ const m = a.length;
11
+ const n = b.length;
12
+ if (m === 0)
13
+ return n;
14
+ if (n === 0)
15
+ return m;
16
+ const dp = Array.from({ length: m + 1 }, () => Array(n + 1).fill(0));
17
+ for (let i = 0; i <= m; i++)
18
+ dp[i][0] = i;
19
+ for (let j = 0; j <= n; j++)
20
+ dp[0][j] = j;
21
+ for (let i = 1; i <= m; i++) {
22
+ for (let j = 1; j <= n; j++) {
23
+ const cost = a[i - 1] === b[j - 1] ? 0 : 1;
24
+ dp[i][j] = Math.min(dp[i - 1][j] + 1, // deletion
25
+ dp[i][j - 1] + 1, // insertion
26
+ dp[i - 1][j - 1] + cost);
27
+ }
28
+ }
29
+ return dp[m][n];
30
+ }
31
+ /**
32
+ * Find the closest matches from a list of candidates.
33
+ *
34
+ * @param input - The typo'd string
35
+ * @param candidates - Available options
36
+ * @param maxDistance - Maximum Levenshtein distance to consider (default: 3)
37
+ * @param maxResults - Maximum suggestions to return (default: 3)
38
+ * @returns Sorted array of { candidate, distance }
39
+ */
40
+ /**
41
+ * Find the closest matches from a list of candidates.
42
+ * Exact matches (distance 0) are excluded — this is for "did you mean" suggestions.
43
+ *
44
+ * @param input - The typo'd string (max 100 chars — longer inputs return empty)
45
+ * @param candidates - Available options
46
+ * @param maxDistance - Maximum Levenshtein distance to consider (default: 3)
47
+ * @param maxResults - Maximum suggestions to return (default: 3)
48
+ * @returns Sorted array of { candidate, distance }
49
+ */
50
+ export function findClosestMatches(input, candidates, maxDistance = 3, maxResults = 3) {
51
+ // Guard against very long inputs to avoid O(m*n) allocation pressure
52
+ if (input.length > 100 || candidates.length === 0)
53
+ return [];
54
+ const results = candidates
55
+ .map((candidate) => ({
56
+ candidate,
57
+ distance: levenshtein(input.toLowerCase(), candidate.toLowerCase()),
58
+ }))
59
+ .filter((r) => r.distance <= maxDistance && r.distance > 0)
60
+ .sort((a, b) => a.distance - b.distance)
61
+ .slice(0, maxResults);
62
+ return results;
63
+ }
64
+ /**
65
+ * Format a "did you mean?" suggestion string.
66
+ *
67
+ * @param input - What the user typed
68
+ * @param candidates - Available options to match against
69
+ * @returns Formatted suggestion string, or empty string if no matches
70
+ */
71
+ export function didYouMean(input, candidates) {
72
+ const matches = findClosestMatches(input, candidates);
73
+ if (matches.length === 0)
74
+ return '';
75
+ if (matches.length === 1) {
76
+ return `Did you mean '${matches[0].candidate}'?`;
77
+ }
78
+ const suggestions = matches.map((m) => `'${m.candidate}'`).join(', ');
79
+ return `Did you mean one of: ${suggestions}?`;
80
+ }
81
+ //# sourceMappingURL=FuzzyMatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FuzzyMatcher.js","sourceRoot":"","sources":["../../src/errors/FuzzyMatcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Module-specific error subclasses.
3
+ *
4
+ * Each module gets its own error class with appropriate defaults.
5
+ *
6
+ * @implements FR71
7
+ */
8
+ import { ReamError } from './ReamError.js';
9
+ /** Container / IoC errors */
10
+ export declare class ContainerError extends ReamError {
11
+ constructor(code: string, message: string, options?: ConstructorParameters<typeof ReamError>[2]);
12
+ }
13
+ /** Router errors */
14
+ export declare class RouterError extends ReamError {
15
+ constructor(code: string, message: string, options?: ConstructorParameters<typeof ReamError>[2]);
16
+ }
17
+ /** Pipeline / Middleware errors */
18
+ export declare class PipelineError extends ReamError {
19
+ constructor(code: string, message: string, options?: ConstructorParameters<typeof ReamError>[2]);
20
+ }
21
+ /** Atlas ORM errors */
22
+ export declare class AtlasError extends ReamError {
23
+ constructor(code: string, message: string, options?: ConstructorParameters<typeof ReamError>[2]);
24
+ }
25
+ /** Rune validation errors */
26
+ export declare class RuneError extends ReamError {
27
+ constructor(code: string, message: string, options?: ConstructorParameters<typeof ReamError>[2]);
28
+ }
29
+ /** Warden auth errors */
30
+ export declare class WardenError extends ReamError {
31
+ constructor(code: string, message: string, options?: ConstructorParameters<typeof ReamError>[2]);
32
+ }
33
+ /** Event bus errors */
34
+ export declare class EventsError extends ReamError {
35
+ constructor(code: string, message: string, options?: ConstructorParameters<typeof ReamError>[2]);
36
+ }
37
+ /** Forge CLI errors */
38
+ export declare class ForgeError extends ReamError {
39
+ constructor(code: string, message: string, options?: ConstructorParameters<typeof ReamError>[2]);
40
+ }
41
+ //# sourceMappingURL=ModuleErrors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModuleErrors.d.ts","sourceRoot":"","sources":["../../src/errors/ModuleErrors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,6BAA6B;AAC7B,qBAAa,cAAe,SAAQ,SAAS;gBAC/B,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;CAIhG;AAED,oBAAoB;AACpB,qBAAa,WAAY,SAAQ,SAAS;gBAC5B,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;CAIhG;AAED,mCAAmC;AACnC,qBAAa,aAAc,SAAQ,SAAS;gBAC9B,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;CAIhG;AAED,uBAAuB;AACvB,qBAAa,UAAW,SAAQ,SAAS;gBAC3B,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;CAIhG;AAED,6BAA6B;AAC7B,qBAAa,SAAU,SAAQ,SAAS;gBAC1B,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;CAIhG;AAED,yBAAyB;AACzB,qBAAa,WAAY,SAAQ,SAAS;gBAC5B,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;CAIhG;AAED,uBAAuB;AACvB,qBAAa,WAAY,SAAQ,SAAS;gBAC5B,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;CAIhG;AAED,uBAAuB;AACvB,qBAAa,UAAW,SAAQ,SAAS;gBAC3B,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;CAIhG"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Module-specific error subclasses.
3
+ *
4
+ * Each module gets its own error class with appropriate defaults.
5
+ *
6
+ * @implements FR71
7
+ */
8
+ import { ReamError } from './ReamError.js';
9
+ /** Container / IoC errors */
10
+ export class ContainerError extends ReamError {
11
+ constructor(code, message, options) {
12
+ super(`CONTAINER_${code}`, message, options);
13
+ this.name = 'ContainerError';
14
+ }
15
+ }
16
+ /** Router errors */
17
+ export class RouterError extends ReamError {
18
+ constructor(code, message, options) {
19
+ super(`ROUTER_${code}`, message, options);
20
+ this.name = 'RouterError';
21
+ }
22
+ }
23
+ /** Pipeline / Middleware errors */
24
+ export class PipelineError extends ReamError {
25
+ constructor(code, message, options) {
26
+ super(`PIPELINE_${code}`, message, options);
27
+ this.name = 'PipelineError';
28
+ }
29
+ }
30
+ /** Atlas ORM errors */
31
+ export class AtlasError extends ReamError {
32
+ constructor(code, message, options) {
33
+ super(`ATLAS_${code}`, message, options);
34
+ this.name = 'AtlasError';
35
+ }
36
+ }
37
+ /** Rune validation errors */
38
+ export class RuneError extends ReamError {
39
+ constructor(code, message, options) {
40
+ super(`RUNE_${code}`, message, options);
41
+ this.name = 'RuneError';
42
+ }
43
+ }
44
+ /** Warden auth errors */
45
+ export class WardenError extends ReamError {
46
+ constructor(code, message, options) {
47
+ super(`WARDEN_${code}`, message, options);
48
+ this.name = 'WardenError';
49
+ }
50
+ }
51
+ /** Event bus errors */
52
+ export class EventsError extends ReamError {
53
+ constructor(code, message, options) {
54
+ super(`EVENTS_${code}`, message, options);
55
+ this.name = 'EventsError';
56
+ }
57
+ }
58
+ /** Forge CLI errors */
59
+ export class ForgeError extends ReamError {
60
+ constructor(code, message, options) {
61
+ super(`FORGE_${code}`, message, options);
62
+ this.name = 'ForgeError';
63
+ }
64
+ }
65
+ //# sourceMappingURL=ModuleErrors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModuleErrors.js","sourceRoot":"","sources":["../../src/errors/ModuleErrors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,6BAA6B;AAC7B,MAAM,OAAO,cAAe,SAAQ,SAAS;IAC3C,YAAY,IAAY,EAAE,OAAe,EAAE,OAAoD;QAC7F,KAAK,CAAC,aAAa,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;QAC5C,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAA;IAC9B,CAAC;CACF;AAED,oBAAoB;AACpB,MAAM,OAAO,WAAY,SAAQ,SAAS;IACxC,YAAY,IAAY,EAAE,OAAe,EAAE,OAAoD;QAC7F,KAAK,CAAC,UAAU,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;QACzC,IAAI,CAAC,IAAI,GAAG,aAAa,CAAA;IAC3B,CAAC;CACF;AAED,mCAAmC;AACnC,MAAM,OAAO,aAAc,SAAQ,SAAS;IAC1C,YAAY,IAAY,EAAE,OAAe,EAAE,OAAoD;QAC7F,KAAK,CAAC,YAAY,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;QAC3C,IAAI,CAAC,IAAI,GAAG,eAAe,CAAA;IAC7B,CAAC;CACF;AAED,uBAAuB;AACvB,MAAM,OAAO,UAAW,SAAQ,SAAS;IACvC,YAAY,IAAY,EAAE,OAAe,EAAE,OAAoD;QAC7F,KAAK,CAAC,SAAS,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;QACxC,IAAI,CAAC,IAAI,GAAG,YAAY,CAAA;IAC1B,CAAC;CACF;AAED,6BAA6B;AAC7B,MAAM,OAAO,SAAU,SAAQ,SAAS;IACtC,YAAY,IAAY,EAAE,OAAe,EAAE,OAAoD;QAC7F,KAAK,CAAC,QAAQ,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;QACvC,IAAI,CAAC,IAAI,GAAG,WAAW,CAAA;IACzB,CAAC;CACF;AAED,yBAAyB;AACzB,MAAM,OAAO,WAAY,SAAQ,SAAS;IACxC,YAAY,IAAY,EAAE,OAAe,EAAE,OAAoD;QAC7F,KAAK,CAAC,UAAU,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;QACzC,IAAI,CAAC,IAAI,GAAG,aAAa,CAAA;IAC3B,CAAC;CACF;AAED,uBAAuB;AACvB,MAAM,OAAO,WAAY,SAAQ,SAAS;IACxC,YAAY,IAAY,EAAE,OAAe,EAAE,OAAoD;QAC7F,KAAK,CAAC,UAAU,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;QACzC,IAAI,CAAC,IAAI,GAAG,aAAa,CAAA;IAC3B,CAAC;CACF;AAED,uBAAuB;AACvB,MAAM,OAAO,UAAW,SAAQ,SAAS;IACvC,YAAY,IAAY,EAAE,OAAe,EAAE,OAAoD;QAC7F,KAAK,CAAC,SAAS,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;QACxC,IAAI,CAAC,IAAI,GAAG,YAAY,CAAA;IAC1B,CAAC;CACF"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Pipeline Stage Error — indicates which pipeline stage failed.
3
+ *
4
+ * @implements FR73
5
+ */
6
+ import { ReamError } from './ReamError.js';
7
+ /** Pipeline stage names in execution order. */
8
+ export declare const PIPELINE_STAGES: readonly ["Security (Blackhole)", "Logging", "Global Middleware", "Named Middleware", "Guard", "Validate", "Transaction", "Handler", "After Middleware", "Response Logging"];
9
+ export type PipelineStageName = (typeof PIPELINE_STAGES)[number];
10
+ /**
11
+ * Create a pipeline stage error with position context.
12
+ *
13
+ * @param stageIndex - Zero-based index in PIPELINE_STAGES (clamped to valid range)
14
+ * @param originalError - The error that occurred
15
+ * @param context - Additional context
16
+ */
17
+ export declare function createPipelineError(stageIndex: number, originalError: Error, context?: Record<string, string>): ReamError;
18
+ /**
19
+ * Validate pipeline configuration at boot time.
20
+ * Detects misconfiguration before accepting traffic.
21
+ *
22
+ * @implements FR74
23
+ */
24
+ export declare function validatePipelineConfig(config: {
25
+ globalMiddleware?: unknown[];
26
+ namedMiddleware?: Record<string, unknown>;
27
+ routes?: Array<{
28
+ middleware?: string[];
29
+ }>;
30
+ }): ReamError[];
31
+ //# sourceMappingURL=PipelineStageError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PipelineStageError.d.ts","sourceRoot":"","sources":["../../src/errors/PipelineStageError.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,+CAA+C;AAC/C,eAAO,MAAM,eAAe,8KAWlB,CAAA;AAEV,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAA;AAEhE;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,KAAK,EACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,SAAS,CAsBX;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAC7C,gBAAgB,CAAC,EAAE,OAAO,EAAE,CAAA;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzC,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;CAC1C,GAAG,SAAS,EAAE,CA2Bd"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Pipeline Stage Error — indicates which pipeline stage failed.
3
+ *
4
+ * @implements FR73
5
+ */
6
+ import { ReamError } from './ReamError.js';
7
+ /** Pipeline stage names in execution order. */
8
+ export const PIPELINE_STAGES = [
9
+ 'Security (Blackhole)',
10
+ 'Logging',
11
+ 'Global Middleware',
12
+ 'Named Middleware',
13
+ 'Guard',
14
+ 'Validate',
15
+ 'Transaction',
16
+ 'Handler',
17
+ 'After Middleware',
18
+ 'Response Logging',
19
+ ];
20
+ /**
21
+ * Create a pipeline stage error with position context.
22
+ *
23
+ * @param stageIndex - Zero-based index in PIPELINE_STAGES (clamped to valid range)
24
+ * @param originalError - The error that occurred
25
+ * @param context - Additional context
26
+ */
27
+ export function createPipelineError(stageIndex, originalError, context) {
28
+ const total = PIPELINE_STAGES.length;
29
+ const clampedIndex = Math.max(0, Math.min(stageIndex, total - 1));
30
+ const stageName = PIPELINE_STAGES[clampedIndex];
31
+ const position = `${clampedIndex + 1}/${total}`;
32
+ const nextStage = clampedIndex + 1 < total ? PIPELINE_STAGES[clampedIndex + 1] : '(end)';
33
+ const errorCode = originalError instanceof ReamError ? originalError.code : 'PIPELINE_ERROR';
34
+ return new ReamError(errorCode, originalError.message, {
35
+ pipelineStage: `${position} (${stageName})`,
36
+ hint: `Error occurred at pipeline stage ${position} (${stageName}). Next stage would have been: ${nextStage}.`,
37
+ context: {
38
+ ...context,
39
+ stage: stageName,
40
+ position,
41
+ nextStage,
42
+ },
43
+ sourceFile: originalError instanceof ReamError ? originalError.sourceFile : undefined,
44
+ sourceLine: originalError instanceof ReamError ? originalError.sourceLine : undefined,
45
+ docsUrl: originalError instanceof ReamError ? originalError.docsUrl : undefined,
46
+ });
47
+ }
48
+ /**
49
+ * Validate pipeline configuration at boot time.
50
+ * Detects misconfiguration before accepting traffic.
51
+ *
52
+ * @implements FR74
53
+ */
54
+ export function validatePipelineConfig(config) {
55
+ const errors = [];
56
+ // Check named middleware references exist (deduplicated)
57
+ if (config.routes && config.namedMiddleware) {
58
+ const registered = new Set(Object.keys(config.namedMiddleware));
59
+ const reported = new Set();
60
+ for (const route of config.routes) {
61
+ for (const mw of route.middleware ?? []) {
62
+ if (!registered.has(mw) && !reported.has(mw)) {
63
+ reported.add(mw);
64
+ errors.push(new ReamError('PIPELINE_UNKNOWN_MIDDLEWARE', `Middleware '${mw}' is not registered`, {
65
+ hint: `Register it with middleware.register('${mw}', handler) before using it on routes.`,
66
+ context: {
67
+ middleware: mw,
68
+ registered: [...registered].join(', '),
69
+ },
70
+ }));
71
+ }
72
+ }
73
+ }
74
+ }
75
+ return errors;
76
+ }
77
+ //# sourceMappingURL=PipelineStageError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PipelineStageError.js","sourceRoot":"","sources":["../../src/errors/PipelineStageError.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Base ReamError class for TypeScript.
3
+ *
4
+ * Parses structured JSON errors from Rust NAPI boundary and provides
5
+ * rich error context (code, hint, source location, docs URL).
6
+ *
7
+ * @implements FR71, FR72, FR73, FR77
8
+ */
9
+ export declare class ReamError extends Error {
10
+ /** Error code (e.g., "ATLAS_QUERY_ERROR", "CONTAINER_NOT_FOUND") */
11
+ readonly code: string;
12
+ /** Additional context key-value pairs */
13
+ readonly context: Record<string, string>;
14
+ /** Actionable hint for the developer */
15
+ readonly hint?: string;
16
+ /** Source file where the error originated */
17
+ readonly sourceFile?: string;
18
+ /** Line number in the source file */
19
+ readonly sourceLine?: number;
20
+ /** URL to the error documentation page */
21
+ readonly docsUrl?: string;
22
+ /** Pipeline stage where the error occurred (if applicable) */
23
+ readonly pipelineStage?: string;
24
+ constructor(code: string, message: string, options?: {
25
+ context?: Record<string, string>;
26
+ hint?: string;
27
+ sourceFile?: string;
28
+ sourceLine?: number;
29
+ docsUrl?: string;
30
+ pipelineStage?: string;
31
+ });
32
+ /**
33
+ * Parse a NAPI error message (JSON string from Rust ReamError) into a TS ReamError.
34
+ * Falls back to a generic error if parsing fails.
35
+ */
36
+ static fromNapi(error: Error): ReamError;
37
+ /**
38
+ * Format for dev console — full box display with all details.
39
+ */
40
+ toDevString(): string;
41
+ /**
42
+ * Format for prod — code + message only.
43
+ */
44
+ toProdString(): string;
45
+ /**
46
+ * Auto-format based on NODE_ENV.
47
+ */
48
+ toFormattedString(): string;
49
+ }
50
+ //# sourceMappingURL=ReamError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReamError.d.ts","sourceRoot":"","sources":["../../src/errors/ReamError.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,qBAAa,SAAU,SAAQ,KAAK;IAClC,oEAAoE;IACpE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IAErB,yCAAyC;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAExC,wCAAwC;IACxC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IAEtB,6CAA6C;IAC7C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAE5B,qCAAqC;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAE5B,0CAA0C;IAC1C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IAEzB,8DAA8D;IAC9D,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;gBAG7B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAChC,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,aAAa,CAAC,EAAE,MAAM,CAAA;KACvB;IAaH;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS;IAoBxC;;OAEG;IACH,WAAW,IAAI,MAAM;IA2CrB;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,iBAAiB,IAAI,MAAM;CAG5B"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * Base ReamError class for TypeScript.
3
+ *
4
+ * Parses structured JSON errors from Rust NAPI boundary and provides
5
+ * rich error context (code, hint, source location, docs URL).
6
+ *
7
+ * @implements FR71, FR72, FR73, FR77
8
+ */
9
+ export class ReamError extends Error {
10
+ /** Error code (e.g., "ATLAS_QUERY_ERROR", "CONTAINER_NOT_FOUND") */
11
+ code;
12
+ /** Additional context key-value pairs */
13
+ context;
14
+ /** Actionable hint for the developer */
15
+ hint;
16
+ /** Source file where the error originated */
17
+ sourceFile;
18
+ /** Line number in the source file */
19
+ sourceLine;
20
+ /** URL to the error documentation page */
21
+ docsUrl;
22
+ /** Pipeline stage where the error occurred (if applicable) */
23
+ pipelineStage;
24
+ constructor(code, message, options) {
25
+ super(message);
26
+ this.name = 'ReamError';
27
+ this.code = code;
28
+ this.context = options?.context ?? {};
29
+ this.hint = options?.hint;
30
+ this.sourceFile = options?.sourceFile;
31
+ this.sourceLine = options?.sourceLine;
32
+ this.docsUrl = options?.docsUrl ?? `https://docs.ream.dev/errors/${code}`;
33
+ this.pipelineStage = options?.pipelineStage;
34
+ }
35
+ /**
36
+ * Parse a NAPI error message (JSON string from Rust ReamError) into a TS ReamError.
37
+ * Falls back to a generic error if parsing fails.
38
+ */
39
+ static fromNapi(error) {
40
+ try {
41
+ const parsed = JSON.parse(error.message);
42
+ if (typeof parsed !== 'object' || parsed === null || typeof parsed.code !== 'string') {
43
+ return new ReamError('UNKNOWN', error.message);
44
+ }
45
+ return new ReamError(parsed.code, parsed.message ?? error.message, {
46
+ context: typeof parsed.context === 'object' && parsed.context !== null ? parsed.context : {},
47
+ hint: typeof parsed.hint === 'string' ? parsed.hint : undefined,
48
+ sourceFile: typeof parsed.sourceFile === 'string' ? parsed.sourceFile : undefined,
49
+ sourceLine: typeof parsed.sourceLine === 'number' ? parsed.sourceLine : undefined,
50
+ docsUrl: typeof parsed.docsUrl === 'string' ? parsed.docsUrl : undefined,
51
+ });
52
+ }
53
+ catch {
54
+ // Not a JSON error — wrap as generic
55
+ return new ReamError('UNKNOWN', error.message);
56
+ }
57
+ }
58
+ /**
59
+ * Format for dev console — full box display with all details.
60
+ */
61
+ toDevString() {
62
+ const content = [];
63
+ content.push(`[${this.code}] ${this.message}`);
64
+ if (this.pipelineStage) {
65
+ content.push(`Pipeline: ${this.pipelineStage}`);
66
+ }
67
+ if (this.sourceFile) {
68
+ content.push(`at ${this.sourceFile}${this.sourceLine ? `:${this.sourceLine}` : ''}`);
69
+ }
70
+ if (Object.keys(this.context).length > 0) {
71
+ content.push('');
72
+ for (const [key, value] of Object.entries(this.context)) {
73
+ // Escape newlines in values to prevent box corruption
74
+ const safeValue = String(value).replace(/\n/g, '\\n');
75
+ content.push(`${key}: ${safeValue}`);
76
+ }
77
+ }
78
+ if (this.hint) {
79
+ content.push('');
80
+ content.push(`Hint: ${this.hint}`);
81
+ }
82
+ if (this.docsUrl) {
83
+ content.push(`Docs: ${this.docsUrl}`);
84
+ }
85
+ // Compute border width from the longest content line
86
+ const maxLen = Math.min(Math.max(...content.map((l) => l.length)) + 4, 80);
87
+ const border = '─'.repeat(maxLen);
88
+ const lines = [`┌${border}┐`];
89
+ for (const line of content) {
90
+ lines.push(`│ ${line}`);
91
+ }
92
+ lines.push(`└${border}┘`);
93
+ return lines.join('\n');
94
+ }
95
+ /**
96
+ * Format for prod — code + message only.
97
+ */
98
+ toProdString() {
99
+ return `[${this.code}] ${this.message}`;
100
+ }
101
+ /**
102
+ * Auto-format based on NODE_ENV.
103
+ */
104
+ toFormattedString() {
105
+ return process.env.NODE_ENV === 'production' ? this.toProdString() : this.toDevString();
106
+ }
107
+ }
108
+ //# sourceMappingURL=ReamError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReamError.js","sourceRoot":"","sources":["../../src/errors/ReamError.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,OAAO,SAAU,SAAQ,KAAK;IAClC,oEAAoE;IAC3D,IAAI,CAAQ;IAErB,yCAAyC;IAChC,OAAO,CAAwB;IAExC,wCAAwC;IAC/B,IAAI,CAAS;IAEtB,6CAA6C;IACpC,UAAU,CAAS;IAE5B,qCAAqC;IAC5B,UAAU,CAAS;IAE5B,0CAA0C;IACjC,OAAO,CAAS;IAEzB,8DAA8D;IACrD,aAAa,CAAS;IAE/B,YACE,IAAY,EACZ,OAAe,EACf,OAOC;QAED,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,WAAW,CAAA;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,EAAE,CAAA;QACrC,IAAI,CAAC,IAAI,GAAG,OAAO,EAAE,IAAI,CAAA;QACzB,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,CAAA;QACrC,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,CAAA;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,gCAAgC,IAAI,EAAE,CAAA;QACzE,IAAI,CAAC,aAAa,GAAG,OAAO,EAAE,aAAa,CAAA;IAC7C,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAY;QAC1B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YACxC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACrF,OAAO,IAAI,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;YAChD,CAAC;YACD,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE;gBACjE,OAAO,EACL,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACrF,IAAI,EAAE,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;gBAC/D,UAAU,EAAE,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;gBACjF,UAAU,EAAE,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;gBACjF,OAAO,EAAE,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;aACzE,CAAC,CAAA;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,qCAAqC;YACrC,OAAO,IAAI,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;QAChD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,WAAW;QACT,MAAM,OAAO,GAAa,EAAE,CAAA;QAC5B,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;QAE9C,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,EAAE,CAAC,CAAA;QACjD,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QACtF,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAChB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxD,sDAAsD;gBACtD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;gBACrD,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,SAAS,EAAE,CAAC,CAAA;YACtC,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAChB,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QACpC,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;QACvC,CAAC;QAED,qDAAqD;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;QAC1E,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAEjC,MAAM,KAAK,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,CAAA;QAC7B,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;QACzB,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,IAAI,MAAM,GAAG,CAAC,CAAA;QAEzB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,EAAE,CAAA;IACzC,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAA;IACzF,CAAC;CACF"}