exisjs 0.6.1 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (564) hide show
  1. package/README.md +9 -3
  2. package/dist/cli/commands/build.d.ts.map +1 -1
  3. package/dist/cli/commands/build.js +2 -8
  4. package/dist/cli/commands/build.js.map +1 -1
  5. package/dist/cli/commands/dev.d.ts.map +1 -1
  6. package/dist/cli/commands/dev.js +33 -44
  7. package/dist/cli/commands/dev.js.map +1 -1
  8. package/dist/cli/commands/exports.d.ts.map +1 -1
  9. package/dist/cli/commands/exports.js +5 -32
  10. package/dist/cli/commands/exports.js.map +1 -1
  11. package/dist/cli/commands/generate.d.ts +2 -13
  12. package/dist/cli/commands/generate.d.ts.map +1 -1
  13. package/dist/cli/commands/generate.js +27 -60
  14. package/dist/cli/commands/generate.js.map +1 -1
  15. package/dist/cli/commands/init.d.ts.map +1 -1
  16. package/dist/cli/commands/init.js +4 -4
  17. package/dist/cli/commands/init.js.map +1 -1
  18. package/dist/cli/commands/start.d.ts.map +1 -1
  19. package/dist/cli/commands/start.js +2 -6
  20. package/dist/cli/commands/start.js.map +1 -1
  21. package/dist/cli/index.js +11 -23
  22. package/dist/cli/index.js.map +1 -1
  23. package/dist/cli/routes.d.ts.map +1 -1
  24. package/dist/cli/routes.js +20 -8
  25. package/dist/cli/routes.js.map +1 -1
  26. package/dist/config/config.d.ts +2 -1
  27. package/dist/config/config.d.ts.map +1 -1
  28. package/dist/config/config.js +7 -5
  29. package/dist/config/config.js.map +1 -1
  30. package/dist/config/env.d.ts.map +1 -1
  31. package/dist/config/env.js +3 -2
  32. package/dist/config/env.js.map +1 -1
  33. package/dist/config/types.d.ts +7 -2
  34. package/dist/config/types.d.ts.map +1 -1
  35. package/dist/decorators/constants.d.ts +9 -2
  36. package/dist/decorators/constants.d.ts.map +1 -1
  37. package/dist/decorators/constants.js +3 -2
  38. package/dist/decorators/constants.js.map +1 -1
  39. package/dist/decorators/core/metadata.d.ts +31 -0
  40. package/dist/decorators/core/metadata.d.ts.map +1 -1
  41. package/dist/decorators/core/metadata.js +110 -1
  42. package/dist/decorators/core/metadata.js.map +1 -1
  43. package/dist/decorators/core.d.ts +19 -4
  44. package/dist/decorators/core.d.ts.map +1 -1
  45. package/dist/decorators/core.js +29 -4
  46. package/dist/decorators/core.js.map +1 -1
  47. package/dist/decorators/middleware.d.ts +17 -17
  48. package/dist/decorators/middleware.d.ts.map +1 -1
  49. package/dist/decorators/middleware.js +111 -208
  50. package/dist/decorators/middleware.js.map +1 -1
  51. package/dist/decorators/params.d.ts +54 -12
  52. package/dist/decorators/params.d.ts.map +1 -1
  53. package/dist/decorators/params.js +40 -20
  54. package/dist/decorators/params.js.map +1 -1
  55. package/dist/decorators/routing.d.ts +0 -2
  56. package/dist/decorators/routing.d.ts.map +1 -1
  57. package/dist/decorators/routing.js +3 -4
  58. package/dist/decorators/routing.js.map +1 -1
  59. package/dist/di/container.d.ts +5 -1
  60. package/dist/di/container.d.ts.map +1 -1
  61. package/dist/di/container.js +56 -8
  62. package/dist/di/container.js.map +1 -1
  63. package/dist/di/decorators.d.ts +30 -0
  64. package/dist/di/decorators.d.ts.map +1 -0
  65. package/dist/di/decorators.js +59 -0
  66. package/dist/di/decorators.js.map +1 -0
  67. package/dist/di/index.d.ts +1 -0
  68. package/dist/di/index.d.ts.map +1 -1
  69. package/dist/di/index.js +4 -1
  70. package/dist/di/index.js.map +1 -1
  71. package/dist/docs/ARCHITECTURE.md +46 -285
  72. package/dist/docs/BENCHMARKS.md +5 -5
  73. package/dist/docs/README.md +8 -11
  74. package/dist/docs/content/boundaries.mdx +151 -0
  75. package/dist/docs/content/cli/commands.mdx +66 -104
  76. package/dist/docs/content/cli/overview.mdx +37 -47
  77. package/dist/docs/content/cli/usage.mdx +29 -15
  78. package/dist/docs/content/decorators.mdx +142 -81
  79. package/dist/docs/content/installation.mdx +20 -1
  80. package/dist/docs/content/middleware.mdx +65 -291
  81. package/dist/docs/content/modules.mdx +22 -1
  82. package/dist/docs/content/providers.mdx +33 -1
  83. package/dist/docs/content/security.mdx +44 -246
  84. package/dist/docs/content/structure.mdx +227 -100
  85. package/dist/docs/content/validation.mdx +0 -17
  86. package/dist/docs/reference/decorators.mdx +34 -216
  87. package/dist/docs/reference/di.mdx +35 -11
  88. package/dist/docs/reference/logger.mdx +100 -0
  89. package/dist/docs/reference/middleware.mdx +41 -217
  90. package/dist/docs/reference/router.mdx +9 -9
  91. package/dist/docs/reference/validator.mdx +2 -5
  92. package/dist/error/errors.d.ts.map +1 -1
  93. package/dist/error/errors.js +19 -5
  94. package/dist/error/errors.js.map +1 -1
  95. package/dist/index.d.ts +0 -1
  96. package/dist/index.d.ts.map +1 -1
  97. package/dist/index.js +1 -4
  98. package/dist/index.js.map +1 -1
  99. package/dist/lib/start-server.js +10 -0
  100. package/dist/lib/start-server.js.map +1 -1
  101. package/dist/logger/index.d.ts +81 -0
  102. package/dist/logger/index.d.ts.map +1 -0
  103. package/dist/logger/index.js +142 -0
  104. package/dist/logger/index.js.map +1 -0
  105. package/dist/middleware/dedupe.d.ts +1 -1
  106. package/dist/middleware/dedupe.js +1 -1
  107. package/dist/middleware/middleware.d.ts +3 -5
  108. package/dist/middleware/middleware.d.ts.map +1 -1
  109. package/dist/middleware/middleware.js +2 -6
  110. package/dist/middleware/middleware.js.map +1 -1
  111. package/dist/middleware/rate-limit.d.ts +0 -2
  112. package/dist/middleware/rate-limit.d.ts.map +1 -1
  113. package/dist/middleware/rate-limit.js +2 -14
  114. package/dist/middleware/rate-limit.js.map +1 -1
  115. package/dist/module/index.d.ts +2 -0
  116. package/dist/module/index.d.ts.map +1 -1
  117. package/dist/module/index.js +3 -1
  118. package/dist/module/index.js.map +1 -1
  119. package/dist/plugin/manager.d.ts +1 -1
  120. package/dist/plugin/manager.d.ts.map +1 -1
  121. package/dist/plugin/manager.js +47 -0
  122. package/dist/plugin/manager.js.map +1 -1
  123. package/dist/router/{gateway.d.ts → boundary.d.ts} +21 -13
  124. package/dist/router/boundary.d.ts.map +1 -0
  125. package/dist/router/boundary.js +11 -0
  126. package/dist/router/boundary.js.map +1 -0
  127. package/dist/router/controller-registrar.d.ts.map +1 -1
  128. package/dist/router/controller-registrar.js +33 -6
  129. package/dist/router/controller-registrar.js.map +1 -1
  130. package/dist/router/index.d.ts +3 -6
  131. package/dist/router/index.d.ts.map +1 -1
  132. package/dist/router/index.js +3 -7
  133. package/dist/router/index.js.map +1 -1
  134. package/dist/router/route-builder.d.ts +0 -28
  135. package/dist/router/route-builder.d.ts.map +1 -1
  136. package/dist/router/route-builder.js +2 -5
  137. package/dist/router/route-builder.js.map +1 -1
  138. package/dist/router/route-scanner.d.ts +1 -2
  139. package/dist/router/route-scanner.d.ts.map +1 -1
  140. package/dist/router/route-scanner.js +225 -203
  141. package/dist/router/route-scanner.js.map +1 -1
  142. package/dist/router/router.d.ts +4 -6
  143. package/dist/router/router.d.ts.map +1 -1
  144. package/dist/router/router.js +36 -72
  145. package/dist/router/router.js.map +1 -1
  146. package/dist/router/types.d.ts +2 -6
  147. package/dist/router/types.d.ts.map +1 -1
  148. package/dist/server/{bun-adapter.d.ts → adapters/bun-adapter.d.ts} +1 -1
  149. package/dist/server/adapters/bun-adapter.d.ts.map +1 -0
  150. package/dist/server/{bun-adapter.js → adapters/bun-adapter.js} +2 -24
  151. package/dist/server/adapters/bun-adapter.js.map +1 -0
  152. package/dist/server/{uws-adapter.d.ts → adapters/uws-adapter.d.ts} +1 -1
  153. package/dist/server/adapters/uws-adapter.d.ts.map +1 -0
  154. package/dist/server/{uws-adapter.js → adapters/uws-adapter.js} +1 -28
  155. package/dist/server/adapters/uws-adapter.js.map +1 -0
  156. package/dist/server/app.d.ts +10 -31
  157. package/dist/server/app.d.ts.map +1 -1
  158. package/dist/server/app.js +20 -135
  159. package/dist/server/app.js.map +1 -1
  160. package/dist/server/bootstrapper.d.ts +4 -15
  161. package/dist/server/bootstrapper.d.ts.map +1 -1
  162. package/dist/server/bootstrapper.js +30 -229
  163. package/dist/server/bootstrapper.js.map +1 -1
  164. package/dist/server/define.d.ts +2 -2
  165. package/dist/server/define.d.ts.map +1 -1
  166. package/dist/server/define.js +3 -3
  167. package/dist/server/define.js.map +1 -1
  168. package/dist/server/engines/bun-engine.d.ts +16 -0
  169. package/dist/server/engines/bun-engine.d.ts.map +1 -0
  170. package/dist/server/engines/bun-engine.js +41 -0
  171. package/dist/server/engines/bun-engine.js.map +1 -0
  172. package/dist/server/engines/engine.d.ts +16 -0
  173. package/dist/server/engines/engine.d.ts.map +1 -0
  174. package/dist/{queue/types.js → server/engines/engine.js} +1 -1
  175. package/dist/server/engines/engine.js.map +1 -0
  176. package/dist/server/engines/node-engine.d.ts +22 -0
  177. package/dist/server/engines/node-engine.d.ts.map +1 -0
  178. package/dist/server/engines/node-engine.js +130 -0
  179. package/dist/server/engines/node-engine.js.map +1 -0
  180. package/dist/server/engines/uws-engine.d.ts +16 -0
  181. package/dist/server/engines/uws-engine.d.ts.map +1 -0
  182. package/dist/server/engines/uws-engine.js +48 -0
  183. package/dist/server/engines/uws-engine.js.map +1 -0
  184. package/dist/server/request-handler.d.ts +0 -1
  185. package/dist/server/request-handler.d.ts.map +1 -1
  186. package/dist/server/request-handler.js +74 -48
  187. package/dist/server/request-handler.js.map +1 -1
  188. package/dist/server/request.d.ts +0 -8
  189. package/dist/server/request.d.ts.map +1 -1
  190. package/dist/server/request.js +0 -16
  191. package/dist/server/request.js.map +1 -1
  192. package/dist/server/response.d.ts.map +1 -1
  193. package/dist/server/response.js +2 -1
  194. package/dist/server/response.js.map +1 -1
  195. package/dist/utils/logger.d.ts.map +1 -1
  196. package/dist/utils/logger.js +0 -1
  197. package/dist/utils/logger.js.map +1 -1
  198. package/dist/utils/time.d.ts +6 -0
  199. package/dist/utils/time.d.ts.map +1 -0
  200. package/dist/utils/time.js +15 -0
  201. package/dist/utils/time.js.map +1 -0
  202. package/dist/validator/index.d.ts +1 -7
  203. package/dist/validator/index.d.ts.map +1 -1
  204. package/dist/validator/index.js +1 -5
  205. package/dist/validator/index.js.map +1 -1
  206. package/dist/validator/tex-types.d.ts +15 -2
  207. package/dist/validator/tex-types.d.ts.map +1 -1
  208. package/dist/validator/tex-types.js +8 -0
  209. package/dist/validator/tex-types.js.map +1 -1
  210. package/dist/validator/tex.d.ts.map +1 -1
  211. package/dist/validator/tex.js +21 -2
  212. package/dist/validator/tex.js.map +1 -1
  213. package/package.json +9 -151
  214. package/dist/adapters/aws-lambda.d.ts +0 -21
  215. package/dist/adapters/aws-lambda.d.ts.map +0 -1
  216. package/dist/adapters/aws-lambda.js +0 -125
  217. package/dist/adapters/aws-lambda.js.map +0 -1
  218. package/dist/adapters/bun.d.ts +0 -9
  219. package/dist/adapters/bun.d.ts.map +0 -1
  220. package/dist/adapters/bun.js +0 -23
  221. package/dist/adapters/bun.js.map +0 -1
  222. package/dist/adapters/cloudflare.d.ts +0 -10
  223. package/dist/adapters/cloudflare.d.ts.map +0 -1
  224. package/dist/adapters/cloudflare.js +0 -22
  225. package/dist/adapters/cloudflare.js.map +0 -1
  226. package/dist/adapters/deno.d.ts +0 -7
  227. package/dist/adapters/deno.d.ts.map +0 -1
  228. package/dist/adapters/deno.js +0 -21
  229. package/dist/adapters/deno.js.map +0 -1
  230. package/dist/adapters/fastly.d.ts +0 -6
  231. package/dist/adapters/fastly.d.ts.map +0 -1
  232. package/dist/adapters/fastly.js +0 -20
  233. package/dist/adapters/fastly.js.map +0 -1
  234. package/dist/adapters/fetch.d.ts +0 -30
  235. package/dist/adapters/fetch.d.ts.map +0 -1
  236. package/dist/adapters/fetch.js +0 -119
  237. package/dist/adapters/fetch.js.map +0 -1
  238. package/dist/adapters/index.d.ts +0 -9
  239. package/dist/adapters/index.d.ts.map +0 -1
  240. package/dist/adapters/index.js +0 -28
  241. package/dist/adapters/index.js.map +0 -1
  242. package/dist/adapters/netlify.d.ts +0 -8
  243. package/dist/adapters/netlify.d.ts.map +0 -1
  244. package/dist/adapters/netlify.js +0 -20
  245. package/dist/adapters/netlify.js.map +0 -1
  246. package/dist/adapters/vercel.d.ts +0 -17
  247. package/dist/adapters/vercel.d.ts.map +0 -1
  248. package/dist/adapters/vercel.js +0 -23
  249. package/dist/adapters/vercel.js.map +0 -1
  250. package/dist/auth/index.d.ts +0 -8
  251. package/dist/auth/index.d.ts.map +0 -1
  252. package/dist/auth/index.js +0 -49
  253. package/dist/auth/index.js.map +0 -1
  254. package/dist/auth/jwt.d.ts +0 -20
  255. package/dist/auth/jwt.d.ts.map +0 -1
  256. package/dist/auth/jwt.js +0 -59
  257. package/dist/auth/jwt.js.map +0 -1
  258. package/dist/auth/oauth/core.d.ts +0 -96
  259. package/dist/auth/oauth/core.d.ts.map +0 -1
  260. package/dist/auth/oauth/core.js +0 -203
  261. package/dist/auth/oauth/core.js.map +0 -1
  262. package/dist/auth/oauth/index.d.ts +0 -45
  263. package/dist/auth/oauth/index.d.ts.map +0 -1
  264. package/dist/auth/oauth/index.js +0 -64
  265. package/dist/auth/oauth/index.js.map +0 -1
  266. package/dist/auth/oauth/middleware.d.ts +0 -63
  267. package/dist/auth/oauth/middleware.d.ts.map +0 -1
  268. package/dist/auth/oauth/middleware.js +0 -164
  269. package/dist/auth/oauth/middleware.js.map +0 -1
  270. package/dist/auth/oauth/providers/custom.d.ts +0 -41
  271. package/dist/auth/oauth/providers/custom.d.ts.map +0 -1
  272. package/dist/auth/oauth/providers/custom.js +0 -204
  273. package/dist/auth/oauth/providers/custom.js.map +0 -1
  274. package/dist/auth/oauth/providers/discord.d.ts +0 -23
  275. package/dist/auth/oauth/providers/discord.d.ts.map +0 -1
  276. package/dist/auth/oauth/providers/discord.js +0 -130
  277. package/dist/auth/oauth/providers/discord.js.map +0 -1
  278. package/dist/auth/oauth/providers/facebook.d.ts +0 -28
  279. package/dist/auth/oauth/providers/facebook.d.ts.map +0 -1
  280. package/dist/auth/oauth/providers/facebook.js +0 -124
  281. package/dist/auth/oauth/providers/facebook.js.map +0 -1
  282. package/dist/auth/oauth/providers/github.d.ts +0 -25
  283. package/dist/auth/oauth/providers/github.d.ts.map +0 -1
  284. package/dist/auth/oauth/providers/github.js +0 -132
  285. package/dist/auth/oauth/providers/github.js.map +0 -1
  286. package/dist/auth/oauth/providers/google.d.ts +0 -23
  287. package/dist/auth/oauth/providers/google.d.ts.map +0 -1
  288. package/dist/auth/oauth/providers/google.js +0 -134
  289. package/dist/auth/oauth/providers/google.js.map +0 -1
  290. package/dist/auth/oauth/providers/microsoft.d.ts +0 -28
  291. package/dist/auth/oauth/providers/microsoft.d.ts.map +0 -1
  292. package/dist/auth/oauth/providers/microsoft.js +0 -136
  293. package/dist/auth/oauth/providers/microsoft.js.map +0 -1
  294. package/dist/auth/oauth/types.d.ts +0 -158
  295. package/dist/auth/oauth/types.d.ts.map +0 -1
  296. package/dist/auth/oauth/types.js +0 -4
  297. package/dist/auth/oauth/types.js.map +0 -1
  298. package/dist/auth/password.d.ts +0 -25
  299. package/dist/auth/password.d.ts.map +0 -1
  300. package/dist/auth/password.js +0 -93
  301. package/dist/auth/password.js.map +0 -1
  302. package/dist/auth/rbac.d.ts +0 -10
  303. package/dist/auth/rbac.d.ts.map +0 -1
  304. package/dist/auth/rbac.js +0 -34
  305. package/dist/auth/rbac.js.map +0 -1
  306. package/dist/auth/session.d.ts +0 -26
  307. package/dist/auth/session.d.ts.map +0 -1
  308. package/dist/auth/session.js +0 -134
  309. package/dist/auth/session.js.map +0 -1
  310. package/dist/cache/index.d.ts +0 -4
  311. package/dist/cache/index.d.ts.map +0 -1
  312. package/dist/cache/index.js +0 -25
  313. package/dist/cache/index.js.map +0 -1
  314. package/dist/cache/store.d.ts +0 -58
  315. package/dist/cache/store.d.ts.map +0 -1
  316. package/dist/cache/store.js +0 -298
  317. package/dist/cache/store.js.map +0 -1
  318. package/dist/cron/parser.d.ts +0 -2
  319. package/dist/cron/parser.d.ts.map +0 -1
  320. package/dist/cron/parser.js +0 -52
  321. package/dist/cron/parser.js.map +0 -1
  322. package/dist/cron/scheduler.d.ts +0 -23
  323. package/dist/cron/scheduler.d.ts.map +0 -1
  324. package/dist/cron/scheduler.js +0 -114
  325. package/dist/cron/scheduler.js.map +0 -1
  326. package/dist/database/adapters/mongodb.d.ts +0 -58
  327. package/dist/database/adapters/mongodb.d.ts.map +0 -1
  328. package/dist/database/adapters/mongodb.js +0 -264
  329. package/dist/database/adapters/mongodb.js.map +0 -1
  330. package/dist/database/adapters/mysql.d.ts +0 -27
  331. package/dist/database/adapters/mysql.d.ts.map +0 -1
  332. package/dist/database/adapters/mysql.js +0 -188
  333. package/dist/database/adapters/mysql.js.map +0 -1
  334. package/dist/database/adapters/postgres.d.ts +0 -28
  335. package/dist/database/adapters/postgres.d.ts.map +0 -1
  336. package/dist/database/adapters/postgres.js +0 -174
  337. package/dist/database/adapters/postgres.js.map +0 -1
  338. package/dist/database/adapters/sqlite.d.ts +0 -27
  339. package/dist/database/adapters/sqlite.d.ts.map +0 -1
  340. package/dist/database/adapters/sqlite.js +0 -149
  341. package/dist/database/adapters/sqlite.js.map +0 -1
  342. package/dist/database/index.d.ts +0 -42
  343. package/dist/database/index.d.ts.map +0 -1
  344. package/dist/database/index.js +0 -58
  345. package/dist/database/index.js.map +0 -1
  346. package/dist/database/manager.d.ts +0 -141
  347. package/dist/database/manager.d.ts.map +0 -1
  348. package/dist/database/manager.js +0 -337
  349. package/dist/database/manager.js.map +0 -1
  350. package/dist/database/migration.d.ts +0 -57
  351. package/dist/database/migration.d.ts.map +0 -1
  352. package/dist/database/migration.js +0 -329
  353. package/dist/database/migration.js.map +0 -1
  354. package/dist/database/query-builder.d.ts +0 -95
  355. package/dist/database/query-builder.d.ts.map +0 -1
  356. package/dist/database/query-builder.js +0 -404
  357. package/dist/database/query-builder.js.map +0 -1
  358. package/dist/database/sql/index.d.ts +0 -18
  359. package/dist/database/sql/index.d.ts.map +0 -1
  360. package/dist/database/sql/index.js +0 -74
  361. package/dist/database/sql/index.js.map +0 -1
  362. package/dist/database/sql/schema.d.ts +0 -38
  363. package/dist/database/sql/schema.d.ts.map +0 -1
  364. package/dist/database/sql/schema.js +0 -80
  365. package/dist/database/sql/schema.js.map +0 -1
  366. package/dist/database/synchronizer.d.ts +0 -12
  367. package/dist/database/synchronizer.d.ts.map +0 -1
  368. package/dist/database/synchronizer.js +0 -82
  369. package/dist/database/synchronizer.js.map +0 -1
  370. package/dist/database/types.d.ts +0 -184
  371. package/dist/database/types.d.ts.map +0 -1
  372. package/dist/database/types.js +0 -4
  373. package/dist/database/types.js.map +0 -1
  374. package/dist/dataloader/dataloader.d.ts +0 -23
  375. package/dist/dataloader/dataloader.d.ts.map +0 -1
  376. package/dist/dataloader/dataloader.js +0 -98
  377. package/dist/dataloader/dataloader.js.map +0 -1
  378. package/dist/dataloader/index.d.ts +0 -3
  379. package/dist/dataloader/index.d.ts.map +0 -1
  380. package/dist/dataloader/index.js +0 -19
  381. package/dist/dataloader/index.js.map +0 -1
  382. package/dist/dataloader/registry.d.ts +0 -17
  383. package/dist/dataloader/registry.d.ts.map +0 -1
  384. package/dist/dataloader/registry.js +0 -47
  385. package/dist/dataloader/registry.js.map +0 -1
  386. package/dist/dev/dep-graph.d.ts +0 -2
  387. package/dist/dev/dep-graph.d.ts.map +0 -1
  388. package/dist/dev/dep-graph.js +0 -111
  389. package/dist/dev/dep-graph.js.map +0 -1
  390. package/dist/dev/hot-reload.d.ts +0 -30
  391. package/dist/dev/hot-reload.d.ts.map +0 -1
  392. package/dist/dev/hot-reload.js +0 -262
  393. package/dist/dev/hot-reload.js.map +0 -1
  394. package/dist/docs/content/adapters.mdx +0 -199
  395. package/dist/docs/content/cache.mdx +0 -239
  396. package/dist/docs/content/circuit-breaker.mdx +0 -130
  397. package/dist/docs/content/cron.mdx +0 -109
  398. package/dist/docs/content/database.mdx +0 -278
  399. package/dist/docs/content/gateways.mdx +0 -376
  400. package/dist/docs/content/oauth.mdx +0 -179
  401. package/dist/docs/content/queues.mdx +0 -177
  402. package/dist/docs/content/rpc.mdx +0 -146
  403. package/dist/docs/content/sse.mdx +0 -159
  404. package/dist/docs/content/websockets.mdx +0 -289
  405. package/dist/docs/integrations/README.md +0 -23
  406. package/dist/docs/integrations/jwt.mdx +0 -151
  407. package/dist/docs/integrations/mongo.mdx +0 -183
  408. package/dist/docs/integrations/observability.mdx +0 -125
  409. package/dist/docs/integrations/openai.mdx +0 -108
  410. package/dist/docs/integrations/postgres.mdx +0 -190
  411. package/dist/docs/integrations/posthog.mdx +0 -122
  412. package/dist/docs/integrations/redis.mdx +0 -141
  413. package/dist/docs/integrations/resend.mdx +0 -117
  414. package/dist/docs/integrations/s3.mdx +0 -122
  415. package/dist/docs/integrations/swagger.mdx +0 -113
  416. package/dist/docs/reference/adapters.mdx +0 -130
  417. package/dist/docs/reference/auth.mdx +0 -183
  418. package/dist/docs/reference/cache.mdx +0 -132
  419. package/dist/docs/reference/circuit-breaker.mdx +0 -71
  420. package/dist/docs/reference/queue.mdx +0 -155
  421. package/dist/docs/reference/storage.mdx +0 -116
  422. package/dist/docs/reference/swagger.mdx +0 -132
  423. package/dist/integrations/drizzle.d.ts +0 -10
  424. package/dist/integrations/drizzle.d.ts.map +0 -1
  425. package/dist/integrations/drizzle.js +0 -34
  426. package/dist/integrations/drizzle.js.map +0 -1
  427. package/dist/integrations/jwt.d.ts +0 -12
  428. package/dist/integrations/jwt.d.ts.map +0 -1
  429. package/dist/integrations/jwt.js +0 -29
  430. package/dist/integrations/jwt.js.map +0 -1
  431. package/dist/integrations/mongodb.d.ts +0 -13
  432. package/dist/integrations/mongodb.d.ts.map +0 -1
  433. package/dist/integrations/mongodb.js +0 -48
  434. package/dist/integrations/mongodb.js.map +0 -1
  435. package/dist/integrations/mongoose.d.ts +0 -13
  436. package/dist/integrations/mongoose.d.ts.map +0 -1
  437. package/dist/integrations/mongoose.js +0 -84
  438. package/dist/integrations/mongoose.js.map +0 -1
  439. package/dist/integrations/openai.d.ts +0 -12
  440. package/dist/integrations/openai.d.ts.map +0 -1
  441. package/dist/integrations/openai.js +0 -47
  442. package/dist/integrations/openai.js.map +0 -1
  443. package/dist/integrations/postgres.d.ts +0 -13
  444. package/dist/integrations/postgres.d.ts.map +0 -1
  445. package/dist/integrations/postgres.js +0 -55
  446. package/dist/integrations/postgres.js.map +0 -1
  447. package/dist/integrations/posthog.d.ts +0 -13
  448. package/dist/integrations/posthog.d.ts.map +0 -1
  449. package/dist/integrations/posthog.js +0 -49
  450. package/dist/integrations/posthog.js.map +0 -1
  451. package/dist/integrations/prisma.d.ts +0 -10
  452. package/dist/integrations/prisma.d.ts.map +0 -1
  453. package/dist/integrations/prisma.js +0 -39
  454. package/dist/integrations/prisma.js.map +0 -1
  455. package/dist/integrations/redis.d.ts +0 -12
  456. package/dist/integrations/redis.d.ts.map +0 -1
  457. package/dist/integrations/redis.js +0 -48
  458. package/dist/integrations/redis.js.map +0 -1
  459. package/dist/integrations/resend.d.ts +0 -12
  460. package/dist/integrations/resend.d.ts.map +0 -1
  461. package/dist/integrations/resend.js +0 -47
  462. package/dist/integrations/resend.js.map +0 -1
  463. package/dist/integrations/s3.d.ts +0 -15
  464. package/dist/integrations/s3.d.ts.map +0 -1
  465. package/dist/integrations/s3.js +0 -60
  466. package/dist/integrations/s3.js.map +0 -1
  467. package/dist/integrations/supabase.d.ts +0 -13
  468. package/dist/integrations/supabase.d.ts.map +0 -1
  469. package/dist/integrations/supabase.js +0 -51
  470. package/dist/integrations/supabase.js.map +0 -1
  471. package/dist/middleware/cache.d.ts +0 -21
  472. package/dist/middleware/cache.d.ts.map +0 -1
  473. package/dist/middleware/cache.js +0 -156
  474. package/dist/middleware/cache.js.map +0 -1
  475. package/dist/observability/health.d.ts +0 -23
  476. package/dist/observability/health.d.ts.map +0 -1
  477. package/dist/observability/health.js +0 -49
  478. package/dist/observability/health.js.map +0 -1
  479. package/dist/observability/index.d.ts +0 -4
  480. package/dist/observability/index.d.ts.map +0 -1
  481. package/dist/observability/index.js +0 -10
  482. package/dist/observability/index.js.map +0 -1
  483. package/dist/observability/metrics.d.ts +0 -6
  484. package/dist/observability/metrics.d.ts.map +0 -1
  485. package/dist/observability/metrics.js +0 -60
  486. package/dist/observability/metrics.js.map +0 -1
  487. package/dist/observability/otel.d.ts +0 -27
  488. package/dist/observability/otel.d.ts.map +0 -1
  489. package/dist/observability/otel.js +0 -45
  490. package/dist/observability/otel.js.map +0 -1
  491. package/dist/observability/prometheus.d.ts +0 -30
  492. package/dist/observability/prometheus.d.ts.map +0 -1
  493. package/dist/observability/prometheus.js +0 -31
  494. package/dist/observability/prometheus.js.map +0 -1
  495. package/dist/queue/client.d.ts +0 -13
  496. package/dist/queue/client.d.ts.map +0 -1
  497. package/dist/queue/client.js +0 -83
  498. package/dist/queue/client.js.map +0 -1
  499. package/dist/queue/drivers/MemoryDriver.d.ts +0 -21
  500. package/dist/queue/drivers/MemoryDriver.d.ts.map +0 -1
  501. package/dist/queue/drivers/MemoryDriver.js +0 -176
  502. package/dist/queue/drivers/MemoryDriver.js.map +0 -1
  503. package/dist/queue/drivers/RedisDriver.d.ts +0 -19
  504. package/dist/queue/drivers/RedisDriver.d.ts.map +0 -1
  505. package/dist/queue/drivers/RedisDriver.js +0 -130
  506. package/dist/queue/drivers/RedisDriver.js.map +0 -1
  507. package/dist/queue/index.d.ts +0 -18
  508. package/dist/queue/index.d.ts.map +0 -1
  509. package/dist/queue/index.js +0 -37
  510. package/dist/queue/index.js.map +0 -1
  511. package/dist/queue/manager.d.ts +0 -18
  512. package/dist/queue/manager.d.ts.map +0 -1
  513. package/dist/queue/manager.js +0 -59
  514. package/dist/queue/manager.js.map +0 -1
  515. package/dist/queue/types.d.ts +0 -55
  516. package/dist/queue/types.d.ts.map +0 -1
  517. package/dist/queue/types.js.map +0 -1
  518. package/dist/queue/worker.d.ts +0 -18
  519. package/dist/queue/worker.d.ts.map +0 -1
  520. package/dist/queue/worker.js +0 -176
  521. package/dist/queue/worker.js.map +0 -1
  522. package/dist/router/gateway.d.ts.map +0 -1
  523. package/dist/router/gateway.js +0 -11
  524. package/dist/router/gateway.js.map +0 -1
  525. package/dist/server/bun-adapter.d.ts.map +0 -1
  526. package/dist/server/bun-adapter.js.map +0 -1
  527. package/dist/server/sse.d.ts +0 -16
  528. package/dist/server/sse.d.ts.map +0 -1
  529. package/dist/server/sse.js +0 -51
  530. package/dist/server/sse.js.map +0 -1
  531. package/dist/server/uws-adapter.d.ts.map +0 -1
  532. package/dist/server/uws-adapter.js.map +0 -1
  533. package/dist/storage/index.d.ts +0 -15
  534. package/dist/storage/index.d.ts.map +0 -1
  535. package/dist/storage/index.js +0 -7
  536. package/dist/storage/index.js.map +0 -1
  537. package/dist/swagger/index.d.ts +0 -9
  538. package/dist/swagger/index.d.ts.map +0 -1
  539. package/dist/swagger/index.js +0 -165
  540. package/dist/swagger/index.js.map +0 -1
  541. package/dist/threads/pool.d.ts +0 -14
  542. package/dist/threads/pool.d.ts.map +0 -1
  543. package/dist/threads/pool.js +0 -93
  544. package/dist/threads/pool.js.map +0 -1
  545. package/dist/threads/worker-runner.d.ts +0 -2
  546. package/dist/threads/worker-runner.d.ts.map +0 -1
  547. package/dist/threads/worker-runner.js +0 -71
  548. package/dist/threads/worker-runner.js.map +0 -1
  549. package/dist/validator/validator.d.ts +0 -360
  550. package/dist/validator/validator.d.ts.map +0 -1
  551. package/dist/validator/validator.js +0 -931
  552. package/dist/validator/validator.js.map +0 -1
  553. package/dist/websocket/orchestrator.d.ts +0 -11
  554. package/dist/websocket/orchestrator.d.ts.map +0 -1
  555. package/dist/websocket/orchestrator.js +0 -238
  556. package/dist/websocket/orchestrator.js.map +0 -1
  557. package/dist/websocket/server.d.ts +0 -66
  558. package/dist/websocket/server.d.ts.map +0 -1
  559. package/dist/websocket/server.js +0 -158
  560. package/dist/websocket/server.js.map +0 -1
  561. package/dist/websocket/socket.d.ts +0 -119
  562. package/dist/websocket/socket.d.ts.map +0 -1
  563. package/dist/websocket/socket.js +0 -242
  564. package/dist/websocket/socket.js.map +0 -1
@@ -1,49 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
36
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.OAuth = exports.JWT = exports.Password = void 0;
40
- const Password = __importStar(require("./password"));
41
- exports.Password = Password;
42
- const JWT = __importStar(require("./jwt"));
43
- exports.JWT = JWT;
44
- const OAuth = __importStar(require("./oauth"));
45
- exports.OAuth = OAuth;
46
- __exportStar(require("./rbac"), exports);
47
- __exportStar(require("./session"), exports);
48
- __exportStar(require("./oauth"), exports);
49
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAAsC;AAO7B,4BAAQ;AANjB,2CAA4B;AAMT,kBAAG;AALtB,+CAAgC;AAKR,sBAAK;AAH7B,yCAAsB;AACtB,4CAAyB;AACzB,0CAAuB"}
@@ -1,20 +0,0 @@
1
- import { HttpError } from '../error/errors';
2
- export interface JWTOptions {
3
- expiresIn?: number;
4
- }
5
- /**
6
- * Sign a payload to create a JWT token.
7
- * @param payload Object to encode
8
- * @param secret The signing secret
9
- * @param options JWTOptions (e.g. expiresIn)
10
- */
11
- export declare function signJWT(payload: Record<string, unknown>, secret: string | string[], options?: JWTOptions): string;
12
- export declare class TokenExpiredError extends HttpError {
13
- constructor(message?: string);
14
- }
15
- /**
16
- * Verify a JWT token and extract its payload.
17
- * Throws HttpError(401) if the token is invalid or TokenExpiredError if expired.
18
- */
19
- export declare function verifyJWT<T = unknown>(token: string, secret: string | string[]): T;
20
- //# sourceMappingURL=jwt.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../../src/auth/jwt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAG3C,MAAM,WAAW,UAAU;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EACzB,OAAO,CAAC,EAAE,UAAU,GACnB,MAAM,CAQR;AAED,qBAAa,iBAAkB,SAAQ,SAAS;gBAClC,OAAO,SAAkB;CAItC;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,CAAC,GAAG,OAAO,EACnC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GACxB,CAAC,CA2BH"}
package/dist/auth/jwt.js DELETED
@@ -1,59 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TokenExpiredError = void 0;
4
- exports.signJWT = signJWT;
5
- exports.verifyJWT = verifyJWT;
6
- const errors_1 = require("../error/errors");
7
- const rs_1 = require("@exisjs/rs");
8
- /**
9
- * Sign a payload to create a JWT token.
10
- * @param payload Object to encode
11
- * @param secret The signing secret
12
- * @param options JWTOptions (e.g. expiresIn)
13
- */
14
- function signJWT(payload, secret, options) {
15
- const actualSecret = Array.isArray(secret) ? secret[0] : secret;
16
- try {
17
- return (0, rs_1.signJwt)(payload, actualSecret, options?.expiresIn);
18
- }
19
- catch (err) {
20
- throw new Error(`Failed to sign JWT: ${err.message}`, { cause: err });
21
- }
22
- }
23
- class TokenExpiredError extends errors_1.HttpError {
24
- constructor(message = 'Token expired') {
25
- super(message, 401, 'TOKEN_EXPIRED');
26
- this.name = 'TokenExpiredError';
27
- }
28
- }
29
- exports.TokenExpiredError = TokenExpiredError;
30
- /**
31
- * Verify a JWT token and extract its payload.
32
- * Throws HttpError(401) if the token is invalid or TokenExpiredError if expired.
33
- */
34
- function verifyJWT(token, secret) {
35
- if (!token || typeof token !== 'string') {
36
- throw errors_1.HttpError.unauthorized('Invalid token format');
37
- }
38
- const secrets = Array.isArray(secret) ? secret : [secret];
39
- try {
40
- return (0, rs_1.verifyJwt)(token, secrets);
41
- }
42
- catch (err) {
43
- if (err.message.includes('TokenExpiredError')) {
44
- throw new TokenExpiredError();
45
- }
46
- // Check specific N-API error messages mapped to HTTP 401
47
- const unauthMsg = [
48
- 'Invalid token',
49
- 'Malformed token',
50
- 'HMAC error',
51
- 'Invalid base64url',
52
- ];
53
- if (unauthMsg.some((m) => err.message.includes(m))) {
54
- throw errors_1.HttpError.unauthorized(err.message);
55
- }
56
- throw errors_1.HttpError.unauthorized('Invalid token signature');
57
- }
58
- }
59
- //# sourceMappingURL=jwt.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jwt.js","sourceRoot":"","sources":["../../src/auth/jwt.ts"],"names":[],"mappings":";;;AAaA,0BAYC;AAaD,8BA8BC;AApED,4CAA2C;AAC3C,mCAA+C;AAM/C;;;;;GAKG;AACH,SAAgB,OAAO,CACrB,OAAgC,EAChC,MAAyB,EACzB,OAAoB;IAEpB,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;IAE/D,IAAI,CAAC;QACH,OAAO,IAAA,YAAO,EAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,CAAC,CAAA;IAC3D,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;IACvE,CAAC;AACH,CAAC;AAED,MAAa,iBAAkB,SAAQ,kBAAS;IAC9C,YAAY,OAAO,GAAG,eAAe;QACnC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,eAAe,CAAC,CAAA;QACpC,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAA;IACjC,CAAC;CACF;AALD,8CAKC;AAED;;;GAGG;AACH,SAAgB,SAAS,CACvB,KAAa,EACb,MAAyB;IAEzB,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,kBAAS,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAA;IACtD,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IAEzD,IAAI,CAAC;QACH,OAAO,IAAA,cAAS,EAAC,KAAK,EAAE,OAAO,CAAM,CAAA;IACvC,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,iBAAiB,EAAE,CAAA;QAC/B,CAAC;QAED,yDAAyD;QACzD,MAAM,SAAS,GAAG;YAChB,eAAe;YACf,iBAAiB;YACjB,YAAY;YACZ,mBAAmB;SACpB,CAAA;QACD,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,MAAM,kBAAS,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAC3C,CAAC;QAED,MAAM,kBAAS,CAAC,YAAY,CAAC,yBAAyB,CAAC,CAAA;IACzD,CAAC;AACH,CAAC"}
@@ -1,96 +0,0 @@
1
- /**
2
- * OAuth Manager — The core orchestration engine.
3
- *
4
- * Manages OAuth provider registrations, generates authorization URLs with
5
- * PKCE + state, handles the token exchange callback, and normalizes user profiles.
6
- *
7
- * Usage:
8
- * import { OAuth } from 'exisjs/auth'
9
- *
10
- * OAuth.configure({
11
- * google: { clientId: '...', clientSecret: '...', redirectUri: '...' },
12
- * github: { clientId: '...', clientSecret: '...', redirectUri: '...' },
13
- * })
14
- *
15
- * const { url, state, codeVerifier } = OAuth.getAuthUrl('google')
16
- * const { profile, tokens } = await OAuth.handleCallback('google', code, codeVerifier)
17
- */
18
- import type { OAuthProviderConfig, OAuthProviderAdapter, OAuthTokens, OAuthUserProfile, OAuthFlowState, CustomOAuthProviderConfig } from './types';
19
- /**
20
- * Generate a cryptographically random code verifier for PKCE.
21
- */
22
- declare function generateCodeVerifier(): string;
23
- /**
24
- * Derive the code challenge from a code verifier using S256 method.
25
- */
26
- declare function generateCodeChallenge(verifier: string): string;
27
- /**
28
- * Generate a cryptographically random state token for CSRF protection.
29
- */
30
- declare function generateState(): string;
31
- export declare class OAuthManager {
32
- private providers;
33
- /**
34
- * Configure multiple OAuth providers at once.
35
- */
36
- configure(providers: Record<string, OAuthProviderConfig>): this;
37
- /**
38
- * Register a single OAuth provider.
39
- */
40
- register(name: string, config: OAuthProviderConfig): this;
41
- /**
42
- * Register a custom OAuth provider.
43
- */
44
- custom(config: CustomOAuthProviderConfig): this;
45
- /**
46
- * Register a fully custom provider adapter directly.
47
- */
48
- registerAdapter(name: string, adapter: OAuthProviderAdapter): this;
49
- /**
50
- * Generate the authorization URL for a provider.
51
- * Returns the URL, state token, and PKCE code verifier.
52
- */
53
- getAuthUrl(provider: string, options?: {
54
- usePKCE?: boolean;
55
- additionalParams?: Record<string, string>;
56
- }): {
57
- url: string;
58
- state: string;
59
- codeVerifier?: string;
60
- flowState: OAuthFlowState;
61
- };
62
- /**
63
- * Handle the OAuth callback — exchange the authorization code for tokens
64
- * and fetch the user profile.
65
- */
66
- handleCallback(provider: string, code: string, codeVerifier?: string): Promise<{
67
- profile: OAuthUserProfile;
68
- tokens: OAuthTokens;
69
- }>;
70
- /**
71
- * Refresh an expired access token.
72
- */
73
- refreshAccessToken(provider: string, refreshToken: string): Promise<OAuthTokens>;
74
- /**
75
- * Revoke a token.
76
- */
77
- revokeToken(provider: string, token: string): Promise<void>;
78
- /**
79
- * Get a registered provider adapter.
80
- */
81
- getProvider(name: string): OAuthProviderAdapter;
82
- /**
83
- * Check if a provider is registered.
84
- */
85
- hasProvider(name: string): boolean;
86
- /**
87
- * Get all registered provider names.
88
- */
89
- getProviderNames(): string[];
90
- }
91
- /**
92
- * Default global OAuthManager instance.
93
- */
94
- export declare const OAuth: OAuthManager;
95
- export { generateCodeVerifier, generateCodeChallenge, generateState };
96
- //# sourceMappingURL=core.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/auth/oauth/core.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,KAAK,EAEV,mBAAmB,EACnB,oBAAoB,EACpB,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,yBAAyB,EAC1B,MAAM,SAAS,CAAA;AA2ChB;;GAEG;AACH,iBAAS,oBAAoB,IAAI,MAAM,CAEtC;AAED;;GAEG;AACH,iBAAS,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;GAEG;AACH,iBAAS,aAAa,IAAI,MAAM,CAE/B;AAID,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAA0C;IAE3D;;OAEG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,GAAG,IAAI;IAO/D;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,IAAI;IAMzD;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,yBAAyB,GAAG,IAAI;IAQ/C;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAKlE;;;OAGG;IACH,UAAU,CACR,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,GACzE;QACD,GAAG,EAAE,MAAM,CAAA;QACX,KAAK,EAAE,MAAM,CAAA;QACb,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,SAAS,EAAE,cAAc,CAAA;KAC1B;IAkCD;;;OAGG;IACG,cAAc,CAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC;QAAE,OAAO,EAAE,gBAAgB,CAAC;QAAC,MAAM,EAAE,WAAW,CAAA;KAAE,CAAC;IAY9D;;OAEG;IACG,kBAAkB,CACtB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,WAAW,CAAC;IAKvB;;OAEG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjE;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB;IAU/C;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIlC;;OAEG;IACH,gBAAgB,IAAI,MAAM,EAAE;CAG7B;AAID;;GAEG;AACH,eAAO,MAAM,KAAK,cAAqB,CAAA;AAGvC,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,aAAa,EAAE,CAAA"}
@@ -1,203 +0,0 @@
1
- "use strict";
2
- /**
3
- * OAuth Manager — The core orchestration engine.
4
- *
5
- * Manages OAuth provider registrations, generates authorization URLs with
6
- * PKCE + state, handles the token exchange callback, and normalizes user profiles.
7
- *
8
- * Usage:
9
- * import { OAuth } from 'exisjs/auth'
10
- *
11
- * OAuth.configure({
12
- * google: { clientId: '...', clientSecret: '...', redirectUri: '...' },
13
- * github: { clientId: '...', clientSecret: '...', redirectUri: '...' },
14
- * })
15
- *
16
- * const { url, state, codeVerifier } = OAuth.getAuthUrl('google')
17
- * const { profile, tokens } = await OAuth.handleCallback('google', code, codeVerifier)
18
- */
19
- Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.OAuth = exports.OAuthManager = void 0;
21
- exports.generateCodeVerifier = generateCodeVerifier;
22
- exports.generateCodeChallenge = generateCodeChallenge;
23
- exports.generateState = generateState;
24
- const node_crypto_1 = require("node:crypto");
25
- // ─── Provider Factories ──────────────────────────────────────────────────────
26
- function createBuiltInProvider(name, config) {
27
- switch (name) {
28
- case 'google': {
29
- // eslint-disable-next-line @typescript-eslint/no-require-imports
30
- const { GoogleProvider } = require('./providers/google');
31
- return new GoogleProvider(config);
32
- }
33
- case 'github': {
34
- // eslint-disable-next-line @typescript-eslint/no-require-imports
35
- const { GithubProvider } = require('./providers/github');
36
- return new GithubProvider(config);
37
- }
38
- case 'microsoft': {
39
- // eslint-disable-next-line @typescript-eslint/no-require-imports
40
- const { MicrosoftProvider } = require('./providers/microsoft');
41
- return new MicrosoftProvider(config);
42
- }
43
- case 'discord': {
44
- // eslint-disable-next-line @typescript-eslint/no-require-imports
45
- const { DiscordProvider } = require('./providers/discord');
46
- return new DiscordProvider(config);
47
- }
48
- case 'facebook': {
49
- // eslint-disable-next-line @typescript-eslint/no-require-imports
50
- const { FacebookProvider } = require('./providers/facebook');
51
- return new FacebookProvider(config);
52
- }
53
- default:
54
- throw new Error(`Unknown OAuth provider '${name}'. Use OAuth.custom() for custom providers.`);
55
- }
56
- }
57
- // ─── PKCE Helpers ────────────────────────────────────────────────────────────
58
- /**
59
- * Generate a cryptographically random code verifier for PKCE.
60
- */
61
- function generateCodeVerifier() {
62
- return (0, node_crypto_1.randomBytes)(32).toString('base64url');
63
- }
64
- /**
65
- * Derive the code challenge from a code verifier using S256 method.
66
- */
67
- function generateCodeChallenge(verifier) {
68
- return (0, node_crypto_1.createHash)('sha256').update(verifier).digest('base64url');
69
- }
70
- /**
71
- * Generate a cryptographically random state token for CSRF protection.
72
- */
73
- function generateState() {
74
- return (0, node_crypto_1.randomBytes)(24).toString('base64url');
75
- }
76
- // ─── OAuth Manager ───────────────────────────────────────────────────────────
77
- class OAuthManager {
78
- constructor() {
79
- this.providers = new Map();
80
- }
81
- /**
82
- * Configure multiple OAuth providers at once.
83
- */
84
- configure(providers) {
85
- for (const [name, config] of Object.entries(providers)) {
86
- this.register(name, config);
87
- }
88
- return this;
89
- }
90
- /**
91
- * Register a single OAuth provider.
92
- */
93
- register(name, config) {
94
- const adapter = createBuiltInProvider(name, config);
95
- this.providers.set(name, adapter);
96
- return this;
97
- }
98
- /**
99
- * Register a custom OAuth provider.
100
- */
101
- custom(config) {
102
- // eslint-disable-next-line @typescript-eslint/no-require-imports
103
- const { CustomProvider } = require('./providers/custom');
104
- const adapter = new CustomProvider(config);
105
- this.providers.set(config.name, adapter);
106
- return this;
107
- }
108
- /**
109
- * Register a fully custom provider adapter directly.
110
- */
111
- registerAdapter(name, adapter) {
112
- this.providers.set(name, adapter);
113
- return this;
114
- }
115
- /**
116
- * Generate the authorization URL for a provider.
117
- * Returns the URL, state token, and PKCE code verifier.
118
- */
119
- getAuthUrl(provider, options) {
120
- const adapter = this.getProvider(provider);
121
- const state = generateState();
122
- const usePKCE = options?.usePKCE !== false; // PKCE on by default
123
- let codeVerifier;
124
- let url;
125
- if (usePKCE) {
126
- codeVerifier = generateCodeVerifier();
127
- url = adapter.getAuthorizationUrl(state, codeVerifier);
128
- }
129
- else {
130
- url = adapter.getAuthorizationUrl(state);
131
- }
132
- // Append any additional query params
133
- if (options?.additionalParams) {
134
- const urlObj = new URL(url);
135
- for (const [key, value] of Object.entries(options.additionalParams)) {
136
- urlObj.searchParams.set(key, value);
137
- }
138
- url = urlObj.toString();
139
- }
140
- const flowState = {
141
- state,
142
- codeVerifier,
143
- provider,
144
- createdAt: Date.now(),
145
- };
146
- return { url, state, codeVerifier, flowState };
147
- }
148
- /**
149
- * Handle the OAuth callback — exchange the authorization code for tokens
150
- * and fetch the user profile.
151
- */
152
- async handleCallback(provider, code, codeVerifier) {
153
- const adapter = this.getProvider(provider);
154
- // Exchange the code for tokens
155
- const tokens = await adapter.exchangeCode(code, codeVerifier);
156
- // Fetch the user profile
157
- const profile = await adapter.getUserProfile(tokens);
158
- return { profile, tokens };
159
- }
160
- /**
161
- * Refresh an expired access token.
162
- */
163
- async refreshAccessToken(provider, refreshToken) {
164
- const adapter = this.getProvider(provider);
165
- return adapter.refreshToken(refreshToken);
166
- }
167
- /**
168
- * Revoke a token.
169
- */
170
- async revokeToken(provider, token) {
171
- const adapter = this.getProvider(provider);
172
- return adapter.revokeToken(token);
173
- }
174
- /**
175
- * Get a registered provider adapter.
176
- */
177
- getProvider(name) {
178
- const adapter = this.providers.get(name);
179
- if (!adapter) {
180
- throw new Error(`OAuth provider '${name}' is not registered. Call OAuth.register() or OAuth.configure() first.`);
181
- }
182
- return adapter;
183
- }
184
- /**
185
- * Check if a provider is registered.
186
- */
187
- hasProvider(name) {
188
- return this.providers.has(name);
189
- }
190
- /**
191
- * Get all registered provider names.
192
- */
193
- getProviderNames() {
194
- return Array.from(this.providers.keys());
195
- }
196
- }
197
- exports.OAuthManager = OAuthManager;
198
- // ─── Singleton & Exports ─────────────────────────────────────────────────────
199
- /**
200
- * Default global OAuthManager instance.
201
- */
202
- exports.OAuth = new OAuthManager();
203
- //# sourceMappingURL=core.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/auth/oauth/core.ts"],"names":[],"mappings":"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"}
@@ -1,45 +0,0 @@
1
- /**
2
- * ExisJS OAuth Provider System
3
- *
4
- * A complete OAuth 2.0 / OpenID Connect implementation with built-in providers
5
- * for Google, GitHub, Microsoft, Discord, and Facebook. Includes PKCE support,
6
- * state validation, profile normalization, and route middleware helpers.
7
- *
8
- * @example
9
- * ```ts
10
- * import { OAuth } from 'exisjs/auth'
11
- *
12
- * // Configure providers
13
- * OAuth.configure({
14
- * google: {
15
- * clientId: process.env.GOOGLE_CLIENT_ID!,
16
- * clientSecret: process.env.GOOGLE_CLIENT_SECRET!,
17
- * redirectUri: 'http://localhost:3000/auth/google/callback',
18
- * },
19
- * github: {
20
- * clientId: process.env.GITHUB_CLIENT_ID!,
21
- * clientSecret: process.env.GITHUB_CLIENT_SECRET!,
22
- * redirectUri: 'http://localhost:3000/auth/github/callback',
23
- * },
24
- * })
25
- *
26
- * // Use middleware
27
- * app.get('/auth/google', oauthRedirect('google'))
28
- * app.get('/auth/google/callback', oauthCallback('google', {
29
- * onSuccess: async (req, res, profile) => {
30
- * req.session.userId = profile.id
31
- * res.redirect('/dashboard')
32
- * },
33
- * }))
34
- * ```
35
- */
36
- export { OAuthManager, OAuth, generateCodeVerifier, generateCodeChallenge, generateState, } from './core';
37
- export { oauthRedirect, oauthCallback, requireAuth } from './middleware';
38
- export { GoogleProvider } from './providers/google';
39
- export { GithubProvider } from './providers/github';
40
- export { MicrosoftProvider } from './providers/microsoft';
41
- export { DiscordProvider } from './providers/discord';
42
- export { FacebookProvider } from './providers/facebook';
43
- export { CustomProvider } from './providers/custom';
44
- export type { OAuthProvider, OAuthProviderConfig, OAuthProviderAdapter, OAuthTokens, OAuthUserProfile, OAuthCallbackOptions, OAuthFlowState, CustomOAuthProviderConfig, } from './types';
45
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/auth/oauth/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAGH,OAAO,EACL,YAAY,EACZ,KAAK,EACL,oBAAoB,EACpB,qBAAqB,EACrB,aAAa,GACd,MAAM,QAAQ,CAAA;AAGf,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAGxE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAGnD,YAAY,EACV,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EACpB,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,EACd,yBAAyB,GAC1B,MAAM,SAAS,CAAA"}
@@ -1,64 +0,0 @@
1
- "use strict";
2
- /**
3
- * ExisJS OAuth Provider System
4
- *
5
- * A complete OAuth 2.0 / OpenID Connect implementation with built-in providers
6
- * for Google, GitHub, Microsoft, Discord, and Facebook. Includes PKCE support,
7
- * state validation, profile normalization, and route middleware helpers.
8
- *
9
- * @example
10
- * ```ts
11
- * import { OAuth } from 'exisjs/auth'
12
- *
13
- * // Configure providers
14
- * OAuth.configure({
15
- * google: {
16
- * clientId: process.env.GOOGLE_CLIENT_ID!,
17
- * clientSecret: process.env.GOOGLE_CLIENT_SECRET!,
18
- * redirectUri: 'http://localhost:3000/auth/google/callback',
19
- * },
20
- * github: {
21
- * clientId: process.env.GITHUB_CLIENT_ID!,
22
- * clientSecret: process.env.GITHUB_CLIENT_SECRET!,
23
- * redirectUri: 'http://localhost:3000/auth/github/callback',
24
- * },
25
- * })
26
- *
27
- * // Use middleware
28
- * app.get('/auth/google', oauthRedirect('google'))
29
- * app.get('/auth/google/callback', oauthCallback('google', {
30
- * onSuccess: async (req, res, profile) => {
31
- * req.session.userId = profile.id
32
- * res.redirect('/dashboard')
33
- * },
34
- * }))
35
- * ```
36
- */
37
- Object.defineProperty(exports, "__esModule", { value: true });
38
- exports.CustomProvider = exports.FacebookProvider = exports.DiscordProvider = exports.MicrosoftProvider = exports.GithubProvider = exports.GoogleProvider = exports.requireAuth = exports.oauthCallback = exports.oauthRedirect = exports.generateState = exports.generateCodeChallenge = exports.generateCodeVerifier = exports.OAuth = exports.OAuthManager = void 0;
39
- // ─── Core ────────────────────────────────────────────────────────────────────
40
- var core_1 = require("./core");
41
- Object.defineProperty(exports, "OAuthManager", { enumerable: true, get: function () { return core_1.OAuthManager; } });
42
- Object.defineProperty(exports, "OAuth", { enumerable: true, get: function () { return core_1.OAuth; } });
43
- Object.defineProperty(exports, "generateCodeVerifier", { enumerable: true, get: function () { return core_1.generateCodeVerifier; } });
44
- Object.defineProperty(exports, "generateCodeChallenge", { enumerable: true, get: function () { return core_1.generateCodeChallenge; } });
45
- Object.defineProperty(exports, "generateState", { enumerable: true, get: function () { return core_1.generateState; } });
46
- // ─── Middleware ───────────────────────────────────────────────────────────────
47
- var middleware_1 = require("./middleware");
48
- Object.defineProperty(exports, "oauthRedirect", { enumerable: true, get: function () { return middleware_1.oauthRedirect; } });
49
- Object.defineProperty(exports, "oauthCallback", { enumerable: true, get: function () { return middleware_1.oauthCallback; } });
50
- Object.defineProperty(exports, "requireAuth", { enumerable: true, get: function () { return middleware_1.requireAuth; } });
51
- // ─── Providers ───────────────────────────────────────────────────────────────
52
- var google_1 = require("./providers/google");
53
- Object.defineProperty(exports, "GoogleProvider", { enumerable: true, get: function () { return google_1.GoogleProvider; } });
54
- var github_1 = require("./providers/github");
55
- Object.defineProperty(exports, "GithubProvider", { enumerable: true, get: function () { return github_1.GithubProvider; } });
56
- var microsoft_1 = require("./providers/microsoft");
57
- Object.defineProperty(exports, "MicrosoftProvider", { enumerable: true, get: function () { return microsoft_1.MicrosoftProvider; } });
58
- var discord_1 = require("./providers/discord");
59
- Object.defineProperty(exports, "DiscordProvider", { enumerable: true, get: function () { return discord_1.DiscordProvider; } });
60
- var facebook_1 = require("./providers/facebook");
61
- Object.defineProperty(exports, "FacebookProvider", { enumerable: true, get: function () { return facebook_1.FacebookProvider; } });
62
- var custom_1 = require("./providers/custom");
63
- Object.defineProperty(exports, "CustomProvider", { enumerable: true, get: function () { return custom_1.CustomProvider; } });
64
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/auth/oauth/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;;;AAEH,gFAAgF;AAChF,+BAMe;AALb,oGAAA,YAAY,OAAA;AACZ,6FAAA,KAAK,OAAA;AACL,4GAAA,oBAAoB,OAAA;AACpB,6GAAA,qBAAqB,OAAA;AACrB,qGAAA,aAAa,OAAA;AAGf,iFAAiF;AACjF,2CAAwE;AAA/D,2GAAA,aAAa,OAAA;AAAE,2GAAA,aAAa,OAAA;AAAE,yGAAA,WAAW,OAAA;AAElD,gFAAgF;AAChF,6CAAmD;AAA1C,wGAAA,cAAc,OAAA;AACvB,6CAAmD;AAA1C,wGAAA,cAAc,OAAA;AACvB,mDAAyD;AAAhD,8GAAA,iBAAiB,OAAA;AAC1B,+CAAqD;AAA5C,0GAAA,eAAe,OAAA;AACxB,iDAAuD;AAA9C,4GAAA,gBAAgB,OAAA;AACzB,6CAAmD;AAA1C,wGAAA,cAAc,OAAA"}
@@ -1,63 +0,0 @@
1
- /**
2
- * OAuth Middleware Helpers.
3
- *
4
- * Express-style middleware functions for handling OAuth redirects, callbacks,
5
- * and authentication guards in ExisJS route handlers.
6
- *
7
- * @example
8
- * ```ts
9
- * import { oauthRedirect, oauthCallback, requireAuth } from 'exisjs/auth/oauth'
10
- *
11
- * app.get('/auth/google', oauthRedirect('google'))
12
- * app.get('/auth/google/callback', oauthCallback('google', {
13
- * onSuccess: async (req, res, profile, tokens) => {
14
- * // Create or update user in your database
15
- * req.session.userId = profile.id
16
- * res.redirect('/dashboard')
17
- * },
18
- * }))
19
- *
20
- * // Protect routes
21
- * app.get('/dashboard', requireAuth(), (req, res) => {
22
- * res.json({ user: req.user })
23
- * })
24
- * ```
25
- */
26
- import type { Request, Response, NextFunction } from '../../types';
27
- import type { OAuthCallbackOptions } from './types';
28
- /**
29
- * Middleware that redirects the user to an OAuth provider's login page.
30
- * Stores the state and code verifier in the user's session for validation on callback.
31
- *
32
- * @param provider The OAuth provider name (e.g. 'google', 'github')
33
- * @param options Optional settings like additional params or disabling PKCE
34
- */
35
- export declare function oauthRedirect(provider: string, options?: {
36
- usePKCE?: boolean;
37
- additionalParams?: Record<string, string>;
38
- stateKey?: string;
39
- }): (req: Request, res: Response, _next: NextFunction) => void;
40
- /**
41
- * Middleware that handles the OAuth callback from a provider.
42
- * Validates the state, exchanges the authorization code for tokens,
43
- * fetches the user profile, and calls the onSuccess callback.
44
- *
45
- * @param provider The OAuth provider name
46
- * @param options Callback options including onSuccess and onError handlers
47
- */
48
- export declare function oauthCallback(provider: string, options: OAuthCallbackOptions): (req: Request, res: Response, next: NextFunction) => Promise<void>;
49
- /**
50
- * Guard middleware that ensures the user is authenticated.
51
- * Checks for `req.user` or `req.session.userId` to determine authentication status.
52
- *
53
- * @param options Configuration options
54
- */
55
- export declare function requireAuth(options?: {
56
- /** Custom function to check if the request is authenticated */
57
- isAuthenticated?: (req: Request) => boolean;
58
- /** URL to redirect to if not authenticated (for browser requests). If not set, returns 401 JSON */
59
- redirectTo?: string;
60
- /** Custom error message */
61
- message?: string;
62
- }): (req: Request, res: Response, next: NextFunction) => void;
63
- //# sourceMappingURL=middleware.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../src/auth/oauth/middleware.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAGlE,OAAO,KAAK,EAAE,oBAAoB,EAAkB,MAAM,SAAS,CAAA;AAKnE;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;IACR,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,IAEO,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,OAAO,YAAY,UAuBzD;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,IAG7D,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,mBAkF9D;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE;IACpC,+DAA+D;IAC/D,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAA;IAC3C,mGAAmG;IACnG,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,2BAA2B;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,IACS,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,UA0BxD"}