exisjs 0.6.1 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (517) hide show
  1. package/dist/cli/commands/build.d.ts.map +1 -1
  2. package/dist/cli/commands/build.js +2 -8
  3. package/dist/cli/commands/build.js.map +1 -1
  4. package/dist/cli/commands/dev.d.ts.map +1 -1
  5. package/dist/cli/commands/dev.js +33 -44
  6. package/dist/cli/commands/dev.js.map +1 -1
  7. package/dist/cli/commands/exports.d.ts.map +1 -1
  8. package/dist/cli/commands/exports.js +5 -32
  9. package/dist/cli/commands/exports.js.map +1 -1
  10. package/dist/cli/commands/generate.d.ts +2 -13
  11. package/dist/cli/commands/generate.d.ts.map +1 -1
  12. package/dist/cli/commands/generate.js +27 -60
  13. package/dist/cli/commands/generate.js.map +1 -1
  14. package/dist/cli/commands/init.d.ts.map +1 -1
  15. package/dist/cli/commands/init.js +4 -4
  16. package/dist/cli/commands/init.js.map +1 -1
  17. package/dist/cli/commands/start.d.ts.map +1 -1
  18. package/dist/cli/commands/start.js +2 -6
  19. package/dist/cli/commands/start.js.map +1 -1
  20. package/dist/cli/index.js +11 -23
  21. package/dist/cli/index.js.map +1 -1
  22. package/dist/cli/routes.d.ts.map +1 -1
  23. package/dist/cli/routes.js +20 -8
  24. package/dist/cli/routes.js.map +1 -1
  25. package/dist/config/config.d.ts +2 -1
  26. package/dist/config/config.d.ts.map +1 -1
  27. package/dist/config/config.js +3 -2
  28. package/dist/config/config.js.map +1 -1
  29. package/dist/config/types.d.ts +7 -2
  30. package/dist/config/types.d.ts.map +1 -1
  31. package/dist/decorators/constants.d.ts +2 -2
  32. package/dist/decorators/constants.d.ts.map +1 -1
  33. package/dist/decorators/constants.js +2 -2
  34. package/dist/decorators/constants.js.map +1 -1
  35. package/dist/decorators/core.d.ts +4 -3
  36. package/dist/decorators/core.d.ts.map +1 -1
  37. package/dist/decorators/core.js +7 -4
  38. package/dist/decorators/core.js.map +1 -1
  39. package/dist/decorators/middleware.d.ts +0 -10
  40. package/dist/decorators/middleware.d.ts.map +1 -1
  41. package/dist/decorators/middleware.js +0 -25
  42. package/dist/decorators/middleware.js.map +1 -1
  43. package/dist/decorators/routing.d.ts +0 -2
  44. package/dist/decorators/routing.d.ts.map +1 -1
  45. package/dist/decorators/routing.js +1 -3
  46. package/dist/decorators/routing.js.map +1 -1
  47. package/dist/di/inject.d.ts +1 -2
  48. package/dist/di/inject.d.ts.map +1 -1
  49. package/dist/di/inject.js.map +1 -1
  50. package/dist/docs/ARCHITECTURE.md +46 -285
  51. package/dist/docs/BENCHMARKS.md +5 -5
  52. package/dist/docs/README.md +8 -11
  53. package/dist/docs/content/boundaries.mdx +151 -0
  54. package/dist/docs/content/cli/commands.mdx +66 -104
  55. package/dist/docs/content/cli/overview.mdx +37 -47
  56. package/dist/docs/content/cli/usage.mdx +29 -15
  57. package/dist/docs/content/decorators.mdx +107 -80
  58. package/dist/docs/content/installation.mdx +20 -1
  59. package/dist/docs/content/middleware.mdx +65 -291
  60. package/dist/docs/content/security.mdx +44 -246
  61. package/dist/docs/content/structure.mdx +227 -100
  62. package/dist/docs/content/validation.mdx +0 -17
  63. package/dist/docs/reference/decorators.mdx +24 -217
  64. package/dist/docs/reference/middleware.mdx +41 -217
  65. package/dist/docs/reference/validator.mdx +2 -5
  66. package/dist/error/errors.d.ts.map +1 -1
  67. package/dist/error/errors.js +16 -0
  68. package/dist/error/errors.js.map +1 -1
  69. package/dist/index.d.ts +1 -1
  70. package/dist/index.d.ts.map +1 -1
  71. package/dist/index.js +5 -2
  72. package/dist/index.js.map +1 -1
  73. package/dist/lib/start-server.js +10 -0
  74. package/dist/lib/start-server.js.map +1 -1
  75. package/dist/logger/index.d.ts +81 -0
  76. package/dist/logger/index.d.ts.map +1 -0
  77. package/dist/logger/index.js +142 -0
  78. package/dist/logger/index.js.map +1 -0
  79. package/dist/middleware/dedupe.d.ts +1 -1
  80. package/dist/middleware/dedupe.js +1 -1
  81. package/dist/middleware/middleware.d.ts +3 -5
  82. package/dist/middleware/middleware.d.ts.map +1 -1
  83. package/dist/middleware/middleware.js +2 -6
  84. package/dist/middleware/middleware.js.map +1 -1
  85. package/dist/router/{gateway.d.ts → boundary.d.ts} +21 -13
  86. package/dist/router/boundary.d.ts.map +1 -0
  87. package/dist/router/boundary.js +11 -0
  88. package/dist/router/boundary.js.map +1 -0
  89. package/dist/router/index.d.ts +3 -6
  90. package/dist/router/index.d.ts.map +1 -1
  91. package/dist/router/index.js +3 -7
  92. package/dist/router/index.js.map +1 -1
  93. package/dist/router/route-builder.d.ts +0 -28
  94. package/dist/router/route-builder.d.ts.map +1 -1
  95. package/dist/router/route-builder.js +0 -4
  96. package/dist/router/route-builder.js.map +1 -1
  97. package/dist/router/route-scanner.d.ts +1 -2
  98. package/dist/router/route-scanner.d.ts.map +1 -1
  99. package/dist/router/route-scanner.js +216 -193
  100. package/dist/router/route-scanner.js.map +1 -1
  101. package/dist/router/router.d.ts +4 -6
  102. package/dist/router/router.d.ts.map +1 -1
  103. package/dist/router/router.js +36 -72
  104. package/dist/router/router.js.map +1 -1
  105. package/dist/router/types.d.ts +2 -6
  106. package/dist/router/types.d.ts.map +1 -1
  107. package/dist/server/{bun-adapter.d.ts → adapters/bun-adapter.d.ts} +1 -1
  108. package/dist/server/adapters/bun-adapter.d.ts.map +1 -0
  109. package/dist/server/{bun-adapter.js → adapters/bun-adapter.js} +2 -24
  110. package/dist/server/adapters/bun-adapter.js.map +1 -0
  111. package/dist/server/{uws-adapter.d.ts → adapters/uws-adapter.d.ts} +1 -1
  112. package/dist/server/adapters/uws-adapter.d.ts.map +1 -0
  113. package/dist/server/{uws-adapter.js → adapters/uws-adapter.js} +1 -28
  114. package/dist/server/adapters/uws-adapter.js.map +1 -0
  115. package/dist/server/app.d.ts +9 -30
  116. package/dist/server/app.d.ts.map +1 -1
  117. package/dist/server/app.js +19 -134
  118. package/dist/server/app.js.map +1 -1
  119. package/dist/server/bootstrapper.d.ts +4 -15
  120. package/dist/server/bootstrapper.d.ts.map +1 -1
  121. package/dist/server/bootstrapper.js +30 -229
  122. package/dist/server/bootstrapper.js.map +1 -1
  123. package/dist/server/define.d.ts +2 -2
  124. package/dist/server/define.d.ts.map +1 -1
  125. package/dist/server/define.js +3 -3
  126. package/dist/server/define.js.map +1 -1
  127. package/dist/server/engines/bun-engine.d.ts +16 -0
  128. package/dist/server/engines/bun-engine.d.ts.map +1 -0
  129. package/dist/server/engines/bun-engine.js +41 -0
  130. package/dist/server/engines/bun-engine.js.map +1 -0
  131. package/dist/server/engines/engine.d.ts +16 -0
  132. package/dist/server/engines/engine.d.ts.map +1 -0
  133. package/dist/{queue/types.js → server/engines/engine.js} +1 -1
  134. package/dist/server/engines/engine.js.map +1 -0
  135. package/dist/server/engines/node-engine.d.ts +22 -0
  136. package/dist/server/engines/node-engine.d.ts.map +1 -0
  137. package/dist/server/engines/node-engine.js +130 -0
  138. package/dist/server/engines/node-engine.js.map +1 -0
  139. package/dist/server/engines/uws-engine.d.ts +16 -0
  140. package/dist/server/engines/uws-engine.d.ts.map +1 -0
  141. package/dist/server/engines/uws-engine.js +48 -0
  142. package/dist/server/engines/uws-engine.js.map +1 -0
  143. package/dist/server/request-handler.d.ts +0 -1
  144. package/dist/server/request-handler.d.ts.map +1 -1
  145. package/dist/server/request-handler.js +74 -48
  146. package/dist/server/request-handler.js.map +1 -1
  147. package/dist/server/request.d.ts +0 -8
  148. package/dist/server/request.d.ts.map +1 -1
  149. package/dist/server/request.js +0 -16
  150. package/dist/server/request.js.map +1 -1
  151. package/dist/utils/time.d.ts +6 -0
  152. package/dist/utils/time.d.ts.map +1 -0
  153. package/dist/utils/time.js +15 -0
  154. package/dist/utils/time.js.map +1 -0
  155. package/dist/validator/index.d.ts +1 -7
  156. package/dist/validator/index.d.ts.map +1 -1
  157. package/dist/validator/index.js +1 -5
  158. package/dist/validator/index.js.map +1 -1
  159. package/dist/validator/tex-types.d.ts +15 -2
  160. package/dist/validator/tex-types.d.ts.map +1 -1
  161. package/dist/validator/tex-types.js +8 -0
  162. package/dist/validator/tex-types.js.map +1 -1
  163. package/dist/validator/tex.d.ts.map +1 -1
  164. package/dist/validator/tex.js +21 -2
  165. package/dist/validator/tex.js.map +1 -1
  166. package/package.json +9 -151
  167. package/dist/adapters/aws-lambda.d.ts +0 -21
  168. package/dist/adapters/aws-lambda.d.ts.map +0 -1
  169. package/dist/adapters/aws-lambda.js +0 -125
  170. package/dist/adapters/aws-lambda.js.map +0 -1
  171. package/dist/adapters/bun.d.ts +0 -9
  172. package/dist/adapters/bun.d.ts.map +0 -1
  173. package/dist/adapters/bun.js +0 -23
  174. package/dist/adapters/bun.js.map +0 -1
  175. package/dist/adapters/cloudflare.d.ts +0 -10
  176. package/dist/adapters/cloudflare.d.ts.map +0 -1
  177. package/dist/adapters/cloudflare.js +0 -22
  178. package/dist/adapters/cloudflare.js.map +0 -1
  179. package/dist/adapters/deno.d.ts +0 -7
  180. package/dist/adapters/deno.d.ts.map +0 -1
  181. package/dist/adapters/deno.js +0 -21
  182. package/dist/adapters/deno.js.map +0 -1
  183. package/dist/adapters/fastly.d.ts +0 -6
  184. package/dist/adapters/fastly.d.ts.map +0 -1
  185. package/dist/adapters/fastly.js +0 -20
  186. package/dist/adapters/fastly.js.map +0 -1
  187. package/dist/adapters/fetch.d.ts +0 -30
  188. package/dist/adapters/fetch.d.ts.map +0 -1
  189. package/dist/adapters/fetch.js +0 -119
  190. package/dist/adapters/fetch.js.map +0 -1
  191. package/dist/adapters/index.d.ts +0 -9
  192. package/dist/adapters/index.d.ts.map +0 -1
  193. package/dist/adapters/index.js +0 -28
  194. package/dist/adapters/index.js.map +0 -1
  195. package/dist/adapters/netlify.d.ts +0 -8
  196. package/dist/adapters/netlify.d.ts.map +0 -1
  197. package/dist/adapters/netlify.js +0 -20
  198. package/dist/adapters/netlify.js.map +0 -1
  199. package/dist/adapters/vercel.d.ts +0 -17
  200. package/dist/adapters/vercel.d.ts.map +0 -1
  201. package/dist/adapters/vercel.js +0 -23
  202. package/dist/adapters/vercel.js.map +0 -1
  203. package/dist/auth/index.d.ts +0 -8
  204. package/dist/auth/index.d.ts.map +0 -1
  205. package/dist/auth/index.js +0 -49
  206. package/dist/auth/index.js.map +0 -1
  207. package/dist/auth/jwt.d.ts +0 -20
  208. package/dist/auth/jwt.d.ts.map +0 -1
  209. package/dist/auth/jwt.js +0 -59
  210. package/dist/auth/jwt.js.map +0 -1
  211. package/dist/auth/oauth/core.d.ts +0 -96
  212. package/dist/auth/oauth/core.d.ts.map +0 -1
  213. package/dist/auth/oauth/core.js +0 -203
  214. package/dist/auth/oauth/core.js.map +0 -1
  215. package/dist/auth/oauth/index.d.ts +0 -45
  216. package/dist/auth/oauth/index.d.ts.map +0 -1
  217. package/dist/auth/oauth/index.js +0 -64
  218. package/dist/auth/oauth/index.js.map +0 -1
  219. package/dist/auth/oauth/middleware.d.ts +0 -63
  220. package/dist/auth/oauth/middleware.d.ts.map +0 -1
  221. package/dist/auth/oauth/middleware.js +0 -164
  222. package/dist/auth/oauth/middleware.js.map +0 -1
  223. package/dist/auth/oauth/providers/custom.d.ts +0 -41
  224. package/dist/auth/oauth/providers/custom.d.ts.map +0 -1
  225. package/dist/auth/oauth/providers/custom.js +0 -204
  226. package/dist/auth/oauth/providers/custom.js.map +0 -1
  227. package/dist/auth/oauth/providers/discord.d.ts +0 -23
  228. package/dist/auth/oauth/providers/discord.d.ts.map +0 -1
  229. package/dist/auth/oauth/providers/discord.js +0 -130
  230. package/dist/auth/oauth/providers/discord.js.map +0 -1
  231. package/dist/auth/oauth/providers/facebook.d.ts +0 -28
  232. package/dist/auth/oauth/providers/facebook.d.ts.map +0 -1
  233. package/dist/auth/oauth/providers/facebook.js +0 -124
  234. package/dist/auth/oauth/providers/facebook.js.map +0 -1
  235. package/dist/auth/oauth/providers/github.d.ts +0 -25
  236. package/dist/auth/oauth/providers/github.d.ts.map +0 -1
  237. package/dist/auth/oauth/providers/github.js +0 -132
  238. package/dist/auth/oauth/providers/github.js.map +0 -1
  239. package/dist/auth/oauth/providers/google.d.ts +0 -23
  240. package/dist/auth/oauth/providers/google.d.ts.map +0 -1
  241. package/dist/auth/oauth/providers/google.js +0 -134
  242. package/dist/auth/oauth/providers/google.js.map +0 -1
  243. package/dist/auth/oauth/providers/microsoft.d.ts +0 -28
  244. package/dist/auth/oauth/providers/microsoft.d.ts.map +0 -1
  245. package/dist/auth/oauth/providers/microsoft.js +0 -136
  246. package/dist/auth/oauth/providers/microsoft.js.map +0 -1
  247. package/dist/auth/oauth/types.d.ts +0 -158
  248. package/dist/auth/oauth/types.d.ts.map +0 -1
  249. package/dist/auth/oauth/types.js +0 -4
  250. package/dist/auth/oauth/types.js.map +0 -1
  251. package/dist/auth/password.d.ts +0 -25
  252. package/dist/auth/password.d.ts.map +0 -1
  253. package/dist/auth/password.js +0 -93
  254. package/dist/auth/password.js.map +0 -1
  255. package/dist/auth/rbac.d.ts +0 -10
  256. package/dist/auth/rbac.d.ts.map +0 -1
  257. package/dist/auth/rbac.js +0 -34
  258. package/dist/auth/rbac.js.map +0 -1
  259. package/dist/auth/session.d.ts +0 -26
  260. package/dist/auth/session.d.ts.map +0 -1
  261. package/dist/auth/session.js +0 -134
  262. package/dist/auth/session.js.map +0 -1
  263. package/dist/cache/index.d.ts +0 -4
  264. package/dist/cache/index.d.ts.map +0 -1
  265. package/dist/cache/index.js +0 -25
  266. package/dist/cache/index.js.map +0 -1
  267. package/dist/cache/store.d.ts +0 -58
  268. package/dist/cache/store.d.ts.map +0 -1
  269. package/dist/cache/store.js +0 -298
  270. package/dist/cache/store.js.map +0 -1
  271. package/dist/cron/parser.d.ts +0 -2
  272. package/dist/cron/parser.d.ts.map +0 -1
  273. package/dist/cron/parser.js +0 -52
  274. package/dist/cron/parser.js.map +0 -1
  275. package/dist/cron/scheduler.d.ts +0 -23
  276. package/dist/cron/scheduler.d.ts.map +0 -1
  277. package/dist/cron/scheduler.js +0 -114
  278. package/dist/cron/scheduler.js.map +0 -1
  279. package/dist/database/adapters/mongodb.d.ts +0 -58
  280. package/dist/database/adapters/mongodb.d.ts.map +0 -1
  281. package/dist/database/adapters/mongodb.js +0 -264
  282. package/dist/database/adapters/mongodb.js.map +0 -1
  283. package/dist/database/adapters/mysql.d.ts +0 -27
  284. package/dist/database/adapters/mysql.d.ts.map +0 -1
  285. package/dist/database/adapters/mysql.js +0 -188
  286. package/dist/database/adapters/mysql.js.map +0 -1
  287. package/dist/database/adapters/postgres.d.ts +0 -28
  288. package/dist/database/adapters/postgres.d.ts.map +0 -1
  289. package/dist/database/adapters/postgres.js +0 -174
  290. package/dist/database/adapters/postgres.js.map +0 -1
  291. package/dist/database/adapters/sqlite.d.ts +0 -27
  292. package/dist/database/adapters/sqlite.d.ts.map +0 -1
  293. package/dist/database/adapters/sqlite.js +0 -149
  294. package/dist/database/adapters/sqlite.js.map +0 -1
  295. package/dist/database/index.d.ts +0 -42
  296. package/dist/database/index.d.ts.map +0 -1
  297. package/dist/database/index.js +0 -58
  298. package/dist/database/index.js.map +0 -1
  299. package/dist/database/manager.d.ts +0 -141
  300. package/dist/database/manager.d.ts.map +0 -1
  301. package/dist/database/manager.js +0 -337
  302. package/dist/database/manager.js.map +0 -1
  303. package/dist/database/migration.d.ts +0 -57
  304. package/dist/database/migration.d.ts.map +0 -1
  305. package/dist/database/migration.js +0 -329
  306. package/dist/database/migration.js.map +0 -1
  307. package/dist/database/query-builder.d.ts +0 -95
  308. package/dist/database/query-builder.d.ts.map +0 -1
  309. package/dist/database/query-builder.js +0 -404
  310. package/dist/database/query-builder.js.map +0 -1
  311. package/dist/database/sql/index.d.ts +0 -18
  312. package/dist/database/sql/index.d.ts.map +0 -1
  313. package/dist/database/sql/index.js +0 -74
  314. package/dist/database/sql/index.js.map +0 -1
  315. package/dist/database/sql/schema.d.ts +0 -38
  316. package/dist/database/sql/schema.d.ts.map +0 -1
  317. package/dist/database/sql/schema.js +0 -80
  318. package/dist/database/sql/schema.js.map +0 -1
  319. package/dist/database/synchronizer.d.ts +0 -12
  320. package/dist/database/synchronizer.d.ts.map +0 -1
  321. package/dist/database/synchronizer.js +0 -82
  322. package/dist/database/synchronizer.js.map +0 -1
  323. package/dist/database/types.d.ts +0 -184
  324. package/dist/database/types.d.ts.map +0 -1
  325. package/dist/database/types.js +0 -4
  326. package/dist/database/types.js.map +0 -1
  327. package/dist/dataloader/dataloader.d.ts +0 -23
  328. package/dist/dataloader/dataloader.d.ts.map +0 -1
  329. package/dist/dataloader/dataloader.js +0 -98
  330. package/dist/dataloader/dataloader.js.map +0 -1
  331. package/dist/dataloader/index.d.ts +0 -3
  332. package/dist/dataloader/index.d.ts.map +0 -1
  333. package/dist/dataloader/index.js +0 -19
  334. package/dist/dataloader/index.js.map +0 -1
  335. package/dist/dataloader/registry.d.ts +0 -17
  336. package/dist/dataloader/registry.d.ts.map +0 -1
  337. package/dist/dataloader/registry.js +0 -47
  338. package/dist/dataloader/registry.js.map +0 -1
  339. package/dist/dev/dep-graph.d.ts +0 -2
  340. package/dist/dev/dep-graph.d.ts.map +0 -1
  341. package/dist/dev/dep-graph.js +0 -111
  342. package/dist/dev/dep-graph.js.map +0 -1
  343. package/dist/dev/hot-reload.d.ts +0 -30
  344. package/dist/dev/hot-reload.d.ts.map +0 -1
  345. package/dist/dev/hot-reload.js +0 -262
  346. package/dist/dev/hot-reload.js.map +0 -1
  347. package/dist/docs/content/adapters.mdx +0 -199
  348. package/dist/docs/content/cache.mdx +0 -239
  349. package/dist/docs/content/circuit-breaker.mdx +0 -130
  350. package/dist/docs/content/cron.mdx +0 -109
  351. package/dist/docs/content/database.mdx +0 -278
  352. package/dist/docs/content/gateways.mdx +0 -376
  353. package/dist/docs/content/oauth.mdx +0 -179
  354. package/dist/docs/content/queues.mdx +0 -177
  355. package/dist/docs/content/rpc.mdx +0 -146
  356. package/dist/docs/content/sse.mdx +0 -159
  357. package/dist/docs/content/websockets.mdx +0 -289
  358. package/dist/docs/integrations/README.md +0 -23
  359. package/dist/docs/integrations/jwt.mdx +0 -151
  360. package/dist/docs/integrations/mongo.mdx +0 -183
  361. package/dist/docs/integrations/observability.mdx +0 -125
  362. package/dist/docs/integrations/openai.mdx +0 -108
  363. package/dist/docs/integrations/postgres.mdx +0 -190
  364. package/dist/docs/integrations/posthog.mdx +0 -122
  365. package/dist/docs/integrations/redis.mdx +0 -141
  366. package/dist/docs/integrations/resend.mdx +0 -117
  367. package/dist/docs/integrations/s3.mdx +0 -122
  368. package/dist/docs/integrations/swagger.mdx +0 -113
  369. package/dist/docs/reference/adapters.mdx +0 -130
  370. package/dist/docs/reference/auth.mdx +0 -183
  371. package/dist/docs/reference/cache.mdx +0 -132
  372. package/dist/docs/reference/circuit-breaker.mdx +0 -71
  373. package/dist/docs/reference/queue.mdx +0 -155
  374. package/dist/docs/reference/storage.mdx +0 -116
  375. package/dist/docs/reference/swagger.mdx +0 -132
  376. package/dist/integrations/drizzle.d.ts +0 -10
  377. package/dist/integrations/drizzle.d.ts.map +0 -1
  378. package/dist/integrations/drizzle.js +0 -34
  379. package/dist/integrations/drizzle.js.map +0 -1
  380. package/dist/integrations/jwt.d.ts +0 -12
  381. package/dist/integrations/jwt.d.ts.map +0 -1
  382. package/dist/integrations/jwt.js +0 -29
  383. package/dist/integrations/jwt.js.map +0 -1
  384. package/dist/integrations/mongodb.d.ts +0 -13
  385. package/dist/integrations/mongodb.d.ts.map +0 -1
  386. package/dist/integrations/mongodb.js +0 -48
  387. package/dist/integrations/mongodb.js.map +0 -1
  388. package/dist/integrations/mongoose.d.ts +0 -13
  389. package/dist/integrations/mongoose.d.ts.map +0 -1
  390. package/dist/integrations/mongoose.js +0 -84
  391. package/dist/integrations/mongoose.js.map +0 -1
  392. package/dist/integrations/openai.d.ts +0 -12
  393. package/dist/integrations/openai.d.ts.map +0 -1
  394. package/dist/integrations/openai.js +0 -47
  395. package/dist/integrations/openai.js.map +0 -1
  396. package/dist/integrations/postgres.d.ts +0 -13
  397. package/dist/integrations/postgres.d.ts.map +0 -1
  398. package/dist/integrations/postgres.js +0 -55
  399. package/dist/integrations/postgres.js.map +0 -1
  400. package/dist/integrations/posthog.d.ts +0 -13
  401. package/dist/integrations/posthog.d.ts.map +0 -1
  402. package/dist/integrations/posthog.js +0 -49
  403. package/dist/integrations/posthog.js.map +0 -1
  404. package/dist/integrations/prisma.d.ts +0 -10
  405. package/dist/integrations/prisma.d.ts.map +0 -1
  406. package/dist/integrations/prisma.js +0 -39
  407. package/dist/integrations/prisma.js.map +0 -1
  408. package/dist/integrations/redis.d.ts +0 -12
  409. package/dist/integrations/redis.d.ts.map +0 -1
  410. package/dist/integrations/redis.js +0 -48
  411. package/dist/integrations/redis.js.map +0 -1
  412. package/dist/integrations/resend.d.ts +0 -12
  413. package/dist/integrations/resend.d.ts.map +0 -1
  414. package/dist/integrations/resend.js +0 -47
  415. package/dist/integrations/resend.js.map +0 -1
  416. package/dist/integrations/s3.d.ts +0 -15
  417. package/dist/integrations/s3.d.ts.map +0 -1
  418. package/dist/integrations/s3.js +0 -60
  419. package/dist/integrations/s3.js.map +0 -1
  420. package/dist/integrations/supabase.d.ts +0 -13
  421. package/dist/integrations/supabase.d.ts.map +0 -1
  422. package/dist/integrations/supabase.js +0 -51
  423. package/dist/integrations/supabase.js.map +0 -1
  424. package/dist/middleware/cache.d.ts +0 -21
  425. package/dist/middleware/cache.d.ts.map +0 -1
  426. package/dist/middleware/cache.js +0 -156
  427. package/dist/middleware/cache.js.map +0 -1
  428. package/dist/observability/health.d.ts +0 -23
  429. package/dist/observability/health.d.ts.map +0 -1
  430. package/dist/observability/health.js +0 -49
  431. package/dist/observability/health.js.map +0 -1
  432. package/dist/observability/index.d.ts +0 -4
  433. package/dist/observability/index.d.ts.map +0 -1
  434. package/dist/observability/index.js +0 -10
  435. package/dist/observability/index.js.map +0 -1
  436. package/dist/observability/metrics.d.ts +0 -6
  437. package/dist/observability/metrics.d.ts.map +0 -1
  438. package/dist/observability/metrics.js +0 -60
  439. package/dist/observability/metrics.js.map +0 -1
  440. package/dist/observability/otel.d.ts +0 -27
  441. package/dist/observability/otel.d.ts.map +0 -1
  442. package/dist/observability/otel.js +0 -45
  443. package/dist/observability/otel.js.map +0 -1
  444. package/dist/observability/prometheus.d.ts +0 -30
  445. package/dist/observability/prometheus.d.ts.map +0 -1
  446. package/dist/observability/prometheus.js +0 -31
  447. package/dist/observability/prometheus.js.map +0 -1
  448. package/dist/queue/client.d.ts +0 -13
  449. package/dist/queue/client.d.ts.map +0 -1
  450. package/dist/queue/client.js +0 -83
  451. package/dist/queue/client.js.map +0 -1
  452. package/dist/queue/drivers/MemoryDriver.d.ts +0 -21
  453. package/dist/queue/drivers/MemoryDriver.d.ts.map +0 -1
  454. package/dist/queue/drivers/MemoryDriver.js +0 -176
  455. package/dist/queue/drivers/MemoryDriver.js.map +0 -1
  456. package/dist/queue/drivers/RedisDriver.d.ts +0 -19
  457. package/dist/queue/drivers/RedisDriver.d.ts.map +0 -1
  458. package/dist/queue/drivers/RedisDriver.js +0 -130
  459. package/dist/queue/drivers/RedisDriver.js.map +0 -1
  460. package/dist/queue/index.d.ts +0 -18
  461. package/dist/queue/index.d.ts.map +0 -1
  462. package/dist/queue/index.js +0 -37
  463. package/dist/queue/index.js.map +0 -1
  464. package/dist/queue/manager.d.ts +0 -18
  465. package/dist/queue/manager.d.ts.map +0 -1
  466. package/dist/queue/manager.js +0 -59
  467. package/dist/queue/manager.js.map +0 -1
  468. package/dist/queue/types.d.ts +0 -55
  469. package/dist/queue/types.d.ts.map +0 -1
  470. package/dist/queue/types.js.map +0 -1
  471. package/dist/queue/worker.d.ts +0 -18
  472. package/dist/queue/worker.d.ts.map +0 -1
  473. package/dist/queue/worker.js +0 -176
  474. package/dist/queue/worker.js.map +0 -1
  475. package/dist/router/gateway.d.ts.map +0 -1
  476. package/dist/router/gateway.js +0 -11
  477. package/dist/router/gateway.js.map +0 -1
  478. package/dist/server/bun-adapter.d.ts.map +0 -1
  479. package/dist/server/bun-adapter.js.map +0 -1
  480. package/dist/server/sse.d.ts +0 -16
  481. package/dist/server/sse.d.ts.map +0 -1
  482. package/dist/server/sse.js +0 -51
  483. package/dist/server/sse.js.map +0 -1
  484. package/dist/server/uws-adapter.d.ts.map +0 -1
  485. package/dist/server/uws-adapter.js.map +0 -1
  486. package/dist/storage/index.d.ts +0 -15
  487. package/dist/storage/index.d.ts.map +0 -1
  488. package/dist/storage/index.js +0 -7
  489. package/dist/storage/index.js.map +0 -1
  490. package/dist/swagger/index.d.ts +0 -9
  491. package/dist/swagger/index.d.ts.map +0 -1
  492. package/dist/swagger/index.js +0 -165
  493. package/dist/swagger/index.js.map +0 -1
  494. package/dist/threads/pool.d.ts +0 -14
  495. package/dist/threads/pool.d.ts.map +0 -1
  496. package/dist/threads/pool.js +0 -93
  497. package/dist/threads/pool.js.map +0 -1
  498. package/dist/threads/worker-runner.d.ts +0 -2
  499. package/dist/threads/worker-runner.d.ts.map +0 -1
  500. package/dist/threads/worker-runner.js +0 -71
  501. package/dist/threads/worker-runner.js.map +0 -1
  502. package/dist/validator/validator.d.ts +0 -360
  503. package/dist/validator/validator.d.ts.map +0 -1
  504. package/dist/validator/validator.js +0 -931
  505. package/dist/validator/validator.js.map +0 -1
  506. package/dist/websocket/orchestrator.d.ts +0 -11
  507. package/dist/websocket/orchestrator.d.ts.map +0 -1
  508. package/dist/websocket/orchestrator.js +0 -238
  509. package/dist/websocket/orchestrator.js.map +0 -1
  510. package/dist/websocket/server.d.ts +0 -66
  511. package/dist/websocket/server.d.ts.map +0 -1
  512. package/dist/websocket/server.js +0 -158
  513. package/dist/websocket/server.js.map +0 -1
  514. package/dist/websocket/socket.d.ts +0 -119
  515. package/dist/websocket/socket.d.ts.map +0 -1
  516. package/dist/websocket/socket.js +0 -242
  517. package/dist/websocket/socket.js.map +0 -1
@@ -1,132 +0,0 @@
1
- "use strict";
2
- /**
3
- * GitHub OAuth Provider.
4
- *
5
- * Endpoints:
6
- * Auth: https://github.com/login/oauth/authorize
7
- * Token: https://github.com/login/oauth/access_token
8
- * UserInfo: https://api.github.com/user
9
- * Emails: https://api.github.com/user/emails
10
- *
11
- * Default scopes: user:email, read:user
12
- *
13
- * Note: GitHub does not support PKCE or refresh tokens in the standard OAuth flow.
14
- */
15
- Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.GithubProvider = void 0;
17
- const AUTH_URL = 'https://github.com/login/oauth/authorize';
18
- const TOKEN_URL = 'https://github.com/login/oauth/access_token';
19
- const USERINFO_URL = 'https://api.github.com/user';
20
- const EMAILS_URL = 'https://api.github.com/user/emails';
21
- const DEFAULT_SCOPES = ['user:email', 'read:user'];
22
- class GithubProvider {
23
- constructor(config) {
24
- this.name = 'github';
25
- this.config = config;
26
- }
27
- getAuthorizationUrl(state, _codeVerifier) {
28
- const scopes = this.config.scopes || DEFAULT_SCOPES;
29
- const params = new URLSearchParams({
30
- client_id: this.config.clientId,
31
- redirect_uri: this.config.redirectUri,
32
- scope: scopes.join(' '),
33
- state,
34
- });
35
- return `${AUTH_URL}?${params.toString()}`;
36
- }
37
- async exchangeCode(code, _codeVerifier) {
38
- const response = await fetch(TOKEN_URL, {
39
- method: 'POST',
40
- headers: {
41
- 'Content-Type': 'application/json',
42
- Accept: 'application/json',
43
- },
44
- body: JSON.stringify({
45
- client_id: this.config.clientId,
46
- client_secret: this.config.clientSecret,
47
- code,
48
- redirect_uri: this.config.redirectUri,
49
- }),
50
- });
51
- if (!response.ok) {
52
- const error = await response.text();
53
- throw new Error(`GitHub token exchange failed: ${error}`);
54
- }
55
- const data = (await response.json());
56
- if (data.error) {
57
- throw new Error(`GitHub token exchange failed: ${data.error_description || data.error}`);
58
- }
59
- return {
60
- accessToken: data.access_token,
61
- tokenType: data.token_type || 'Bearer',
62
- scope: data.scope,
63
- };
64
- }
65
- async getUserProfile(tokens) {
66
- const headers = {
67
- Authorization: `Bearer ${tokens.accessToken}`,
68
- Accept: 'application/json',
69
- };
70
- // Fetch user info
71
- const userResponse = await fetch(USERINFO_URL, { headers });
72
- if (!userResponse.ok) {
73
- throw new Error(`GitHub user info request failed: ${userResponse.statusText}`);
74
- }
75
- const userData = (await userResponse.json());
76
- // Fetch emails (since the user endpoint might not include email)
77
- let email = userData.email || '';
78
- let emailVerified = false;
79
- if (!email || tokens.scope?.includes('user:email')) {
80
- try {
81
- const emailsResponse = await fetch(EMAILS_URL, { headers });
82
- if (emailsResponse.ok) {
83
- const emails = (await emailsResponse.json());
84
- const primaryEmail = emails.find((e) => e.primary) || emails[0];
85
- if (primaryEmail) {
86
- email = primaryEmail.email;
87
- emailVerified = primaryEmail.verified ?? false;
88
- }
89
- }
90
- }
91
- catch {
92
- // Non-critical: proceed with whatever email we have
93
- }
94
- }
95
- // Parse name
96
- const fullName = userData.name || userData.login || '';
97
- const nameParts = fullName.split(' ');
98
- return {
99
- id: String(userData.id),
100
- email,
101
- emailVerified,
102
- name: fullName,
103
- firstName: nameParts[0] || undefined,
104
- lastName: nameParts.length > 1 ? nameParts.slice(1).join(' ') : undefined,
105
- avatar: userData.avatar_url,
106
- provider: 'github',
107
- raw: userData,
108
- };
109
- }
110
- async refreshToken(_refreshToken) {
111
- throw new Error('GitHub OAuth does not support refresh tokens in the standard flow. ' +
112
- 'The user must re-authenticate.');
113
- }
114
- async revokeToken(token) {
115
- // GitHub uses the application API to revoke tokens
116
- const response = await fetch(`https://api.github.com/applications/${this.config.clientId}/token`, {
117
- method: 'DELETE',
118
- headers: {
119
- Authorization: 'Basic ' +
120
- Buffer.from(`${this.config.clientId}:${this.config.clientSecret}`).toString('base64'),
121
- Accept: 'application/vnd.github+json',
122
- },
123
- body: JSON.stringify({ access_token: token }),
124
- });
125
- if (!response.ok && response.status !== 404) {
126
- const error = await response.text();
127
- throw new Error(`GitHub token revocation failed: ${error}`);
128
- }
129
- }
130
- }
131
- exports.GithubProvider = GithubProvider;
132
- //# sourceMappingURL=github.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"github.js","sourceRoot":"","sources":["../../../../src/auth/oauth/providers/github.ts"],"names":[],"mappings":"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"}
@@ -1,23 +0,0 @@
1
- /**
2
- * Google OAuth 2.0 + OpenID Connect Provider.
3
- *
4
- * Endpoints:
5
- * Auth: https://accounts.google.com/o/oauth2/v2/auth
6
- * Token: https://oauth2.googleapis.com/token
7
- * UserInfo: https://www.googleapis.com/oauth2/v3/userinfo
8
- * Revoke: https://oauth2.googleapis.com/revoke
9
- *
10
- * Default scopes: openid, email, profile
11
- */
12
- import type { OAuthProviderAdapter, OAuthProviderConfig, OAuthTokens, OAuthUserProfile } from '../types';
13
- export declare class GoogleProvider implements OAuthProviderAdapter {
14
- readonly name: "google";
15
- private config;
16
- constructor(config: OAuthProviderConfig);
17
- getAuthorizationUrl(state: string, codeVerifier?: string): string;
18
- exchangeCode(code: string, codeVerifier?: string): Promise<OAuthTokens>;
19
- getUserProfile(tokens: OAuthTokens): Promise<OAuthUserProfile>;
20
- refreshToken(refreshToken: string): Promise<OAuthTokens>;
21
- revokeToken(token: string): Promise<void>;
22
- }
23
- //# sourceMappingURL=google.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"google.d.ts","sourceRoot":"","sources":["../../../../src/auth/oauth/providers/google.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EACjB,MAAM,UAAU,CAAA;AASjB,qBAAa,cAAe,YAAW,oBAAoB;IACzD,QAAQ,CAAC,IAAI,EAAG,QAAQ,CAAS;IAEjC,OAAO,CAAC,MAAM,CAAqB;gBAEvB,MAAM,EAAE,mBAAmB;IAIvC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM;IAuB3D,YAAY,CAChB,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,WAAW,CAAC;IAoCjB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA0B9D,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IA6BxD,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAchD"}
@@ -1,134 +0,0 @@
1
- "use strict";
2
- /**
3
- * Google OAuth 2.0 + OpenID Connect Provider.
4
- *
5
- * Endpoints:
6
- * Auth: https://accounts.google.com/o/oauth2/v2/auth
7
- * Token: https://oauth2.googleapis.com/token
8
- * UserInfo: https://www.googleapis.com/oauth2/v3/userinfo
9
- * Revoke: https://oauth2.googleapis.com/revoke
10
- *
11
- * Default scopes: openid, email, profile
12
- */
13
- Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.GoogleProvider = void 0;
15
- const node_crypto_1 = require("node:crypto");
16
- const AUTH_URL = 'https://accounts.google.com/o/oauth2/v2/auth';
17
- const TOKEN_URL = 'https://oauth2.googleapis.com/token';
18
- const USERINFO_URL = 'https://www.googleapis.com/oauth2/v3/userinfo';
19
- const REVOKE_URL = 'https://oauth2.googleapis.com/revoke';
20
- const DEFAULT_SCOPES = ['openid', 'email', 'profile'];
21
- class GoogleProvider {
22
- constructor(config) {
23
- this.name = 'google';
24
- this.config = config;
25
- }
26
- getAuthorizationUrl(state, codeVerifier) {
27
- const scopes = this.config.scopes || DEFAULT_SCOPES;
28
- const params = new URLSearchParams({
29
- client_id: this.config.clientId,
30
- redirect_uri: this.config.redirectUri,
31
- response_type: 'code',
32
- scope: scopes.join(' '),
33
- state,
34
- access_type: 'offline', // Request refresh token
35
- prompt: 'consent',
36
- });
37
- if (codeVerifier) {
38
- const challenge = (0, node_crypto_1.createHash)('sha256')
39
- .update(codeVerifier)
40
- .digest('base64url');
41
- params.set('code_challenge', challenge);
42
- params.set('code_challenge_method', 'S256');
43
- }
44
- return `${AUTH_URL}?${params.toString()}`;
45
- }
46
- async exchangeCode(code, codeVerifier) {
47
- const body = {
48
- client_id: this.config.clientId,
49
- client_secret: this.config.clientSecret,
50
- code,
51
- grant_type: 'authorization_code',
52
- redirect_uri: this.config.redirectUri,
53
- };
54
- if (codeVerifier) {
55
- body.code_verifier = codeVerifier;
56
- }
57
- const response = await fetch(TOKEN_URL, {
58
- method: 'POST',
59
- headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
60
- body: new URLSearchParams(body),
61
- });
62
- if (!response.ok) {
63
- const error = await response.text();
64
- throw new Error(`Google token exchange failed: ${error}`);
65
- }
66
- const data = (await response.json());
67
- return {
68
- accessToken: data.access_token,
69
- refreshToken: data.refresh_token,
70
- expiresIn: data.expires_in,
71
- tokenType: data.token_type || 'Bearer',
72
- idToken: data.id_token,
73
- scope: data.scope,
74
- };
75
- }
76
- async getUserProfile(tokens) {
77
- const response = await fetch(USERINFO_URL, {
78
- headers: { Authorization: `Bearer ${tokens.accessToken}` },
79
- });
80
- if (!response.ok) {
81
- throw new Error(`Google user info request failed: ${response.statusText}`);
82
- }
83
- const data = (await response.json());
84
- return {
85
- id: data.sub,
86
- email: data.email,
87
- emailVerified: data.email_verified ?? false,
88
- name: data.name ||
89
- `${data.given_name || ''} ${data.family_name || ''}`.trim(),
90
- firstName: data.given_name,
91
- lastName: data.family_name,
92
- avatar: data.picture,
93
- provider: 'google',
94
- raw: data,
95
- };
96
- }
97
- async refreshToken(refreshToken) {
98
- const response = await fetch(TOKEN_URL, {
99
- method: 'POST',
100
- headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
101
- body: new URLSearchParams({
102
- client_id: this.config.clientId,
103
- client_secret: this.config.clientSecret,
104
- refresh_token: refreshToken,
105
- grant_type: 'refresh_token',
106
- }),
107
- });
108
- if (!response.ok) {
109
- const error = await response.text();
110
- throw new Error(`Google token refresh failed: ${error}`);
111
- }
112
- const data = (await response.json());
113
- return {
114
- accessToken: data.access_token,
115
- refreshToken: data.refresh_token || refreshToken,
116
- expiresIn: data.expires_in,
117
- tokenType: data.token_type || 'Bearer',
118
- idToken: data.id_token,
119
- scope: data.scope,
120
- };
121
- }
122
- async revokeToken(token) {
123
- const response = await fetch(`${REVOKE_URL}?token=${encodeURIComponent(token)}`, {
124
- method: 'POST',
125
- headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
126
- });
127
- if (!response.ok) {
128
- const error = await response.text();
129
- throw new Error(`Google token revocation failed: ${error}`);
130
- }
131
- }
132
- }
133
- exports.GoogleProvider = GoogleProvider;
134
- //# sourceMappingURL=google.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"google.js","sourceRoot":"","sources":["../../../../src/auth/oauth/providers/google.ts"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- /**
2
- * Microsoft Entra ID (Azure AD) OAuth Provider.
3
- *
4
- * Endpoints:
5
- * Auth: https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize
6
- * Token: https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token
7
- * UserInfo: https://graph.microsoft.com/v1.0/me
8
- *
9
- * Supports multi-tenant ('common'), organizations-only ('organizations'),
10
- * or a specific tenant ID.
11
- *
12
- * Default scopes: openid, email, profile, User.Read
13
- */
14
- import type { OAuthProviderAdapter, OAuthProviderConfig, OAuthTokens, OAuthUserProfile } from '../types';
15
- export declare class MicrosoftProvider implements OAuthProviderAdapter {
16
- readonly name: "microsoft";
17
- private config;
18
- private tenant;
19
- constructor(config: OAuthProviderConfig);
20
- private get authUrl();
21
- private get tokenUrl();
22
- getAuthorizationUrl(state: string, codeVerifier?: string): string;
23
- exchangeCode(code: string, codeVerifier?: string): Promise<OAuthTokens>;
24
- getUserProfile(tokens: OAuthTokens): Promise<OAuthUserProfile>;
25
- refreshToken(refreshToken: string): Promise<OAuthTokens>;
26
- revokeToken(_token: string): Promise<void>;
27
- }
28
- //# sourceMappingURL=microsoft.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"microsoft.d.ts","sourceRoot":"","sources":["../../../../src/auth/oauth/providers/microsoft.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EACjB,MAAM,UAAU,CAAA;AAKjB,qBAAa,iBAAkB,YAAW,oBAAoB;IAC5D,QAAQ,CAAC,IAAI,EAAG,WAAW,CAAS;IAEpC,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,MAAM,CAAQ;gBAEV,MAAM,EAAE,mBAAmB;IAKvC,OAAO,KAAK,OAAO,GAElB;IAED,OAAO,KAAK,QAAQ,GAEnB;IAED,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM;IAsB3D,YAAY,CAChB,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,WAAW,CAAC;IAoCjB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA0B9D,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IA6BxD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAUjD"}
@@ -1,136 +0,0 @@
1
- "use strict";
2
- /**
3
- * Microsoft Entra ID (Azure AD) OAuth Provider.
4
- *
5
- * Endpoints:
6
- * Auth: https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize
7
- * Token: https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token
8
- * UserInfo: https://graph.microsoft.com/v1.0/me
9
- *
10
- * Supports multi-tenant ('common'), organizations-only ('organizations'),
11
- * or a specific tenant ID.
12
- *
13
- * Default scopes: openid, email, profile, User.Read
14
- */
15
- Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.MicrosoftProvider = void 0;
17
- const node_crypto_1 = require("node:crypto");
18
- const USERINFO_URL = 'https://graph.microsoft.com/v1.0/me';
19
- const DEFAULT_SCOPES = ['openid', 'email', 'profile', 'User.Read'];
20
- class MicrosoftProvider {
21
- constructor(config) {
22
- this.name = 'microsoft';
23
- this.config = config;
24
- this.tenant = config.tenant || 'common';
25
- }
26
- get authUrl() {
27
- return `https://login.microsoftonline.com/${this.tenant}/oauth2/v2.0/authorize`;
28
- }
29
- get tokenUrl() {
30
- return `https://login.microsoftonline.com/${this.tenant}/oauth2/v2.0/token`;
31
- }
32
- getAuthorizationUrl(state, codeVerifier) {
33
- const scopes = this.config.scopes || DEFAULT_SCOPES;
34
- const params = new URLSearchParams({
35
- client_id: this.config.clientId,
36
- redirect_uri: this.config.redirectUri,
37
- response_type: 'code',
38
- scope: scopes.join(' '),
39
- state,
40
- response_mode: 'query',
41
- });
42
- if (codeVerifier) {
43
- const challenge = (0, node_crypto_1.createHash)('sha256')
44
- .update(codeVerifier)
45
- .digest('base64url');
46
- params.set('code_challenge', challenge);
47
- params.set('code_challenge_method', 'S256');
48
- }
49
- return `${this.authUrl}?${params.toString()}`;
50
- }
51
- async exchangeCode(code, codeVerifier) {
52
- const body = {
53
- client_id: this.config.clientId,
54
- client_secret: this.config.clientSecret,
55
- code,
56
- grant_type: 'authorization_code',
57
- redirect_uri: this.config.redirectUri,
58
- };
59
- if (codeVerifier) {
60
- body.code_verifier = codeVerifier;
61
- }
62
- const response = await fetch(this.tokenUrl, {
63
- method: 'POST',
64
- headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
65
- body: new URLSearchParams(body),
66
- });
67
- if (!response.ok) {
68
- const error = await response.text();
69
- throw new Error(`Microsoft token exchange failed: ${error}`);
70
- }
71
- const data = (await response.json());
72
- return {
73
- accessToken: data.access_token,
74
- refreshToken: data.refresh_token,
75
- expiresIn: data.expires_in,
76
- tokenType: data.token_type || 'Bearer',
77
- idToken: data.id_token,
78
- scope: data.scope,
79
- };
80
- }
81
- async getUserProfile(tokens) {
82
- const response = await fetch(USERINFO_URL, {
83
- headers: { Authorization: `Bearer ${tokens.accessToken}` },
84
- });
85
- if (!response.ok) {
86
- throw new Error(`Microsoft user info request failed: ${response.statusText}`);
87
- }
88
- const data = (await response.json());
89
- return {
90
- id: data.id,
91
- email: data.mail || data.userPrincipalName || '',
92
- emailVerified: true, // Microsoft verifies emails by default
93
- name: data.displayName || '',
94
- firstName: data.givenName,
95
- lastName: data.surname,
96
- avatar: undefined, // Graph API requires a separate photo request
97
- provider: 'microsoft',
98
- raw: data,
99
- };
100
- }
101
- async refreshToken(refreshToken) {
102
- const response = await fetch(this.tokenUrl, {
103
- method: 'POST',
104
- headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
105
- body: new URLSearchParams({
106
- client_id: this.config.clientId,
107
- client_secret: this.config.clientSecret,
108
- refresh_token: refreshToken,
109
- grant_type: 'refresh_token',
110
- }),
111
- });
112
- if (!response.ok) {
113
- const error = await response.text();
114
- throw new Error(`Microsoft token refresh failed: ${error}`);
115
- }
116
- const data = (await response.json());
117
- return {
118
- accessToken: data.access_token,
119
- refreshToken: data.refresh_token || refreshToken,
120
- expiresIn: data.expires_in,
121
- tokenType: data.token_type || 'Bearer',
122
- idToken: data.id_token,
123
- scope: data.scope,
124
- };
125
- }
126
- async revokeToken(_token) {
127
- // Microsoft's v2.0 endpoint does not have a standard revocation endpoint.
128
- // Token revocation is handled via the admin portal or by signing the user out.
129
- // The logout URL can be used instead:
130
- // https://login.microsoftonline.com/{tenant}/oauth2/v2.0/logout
131
- throw new Error('Microsoft does not provide a standard token revocation endpoint. ' +
132
- 'Use the logout endpoint or revoke via the Azure admin portal.');
133
- }
134
- }
135
- exports.MicrosoftProvider = MicrosoftProvider;
136
- //# sourceMappingURL=microsoft.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"microsoft.js","sourceRoot":"","sources":["../../../../src/auth/oauth/providers/microsoft.ts"],"names":[],"mappings":"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"}
@@ -1,158 +0,0 @@
1
- /**
2
- * Built-in OAuth provider identifiers.
3
- */
4
- export type OAuthProvider = 'google' | 'github' | 'microsoft' | 'discord' | 'facebook' | (string & {});
5
- /**
6
- * Configuration for an OAuth provider.
7
- */
8
- export interface OAuthProviderConfig {
9
- /** OAuth client ID (from the provider's developer console) */
10
- clientId: string;
11
- /** OAuth client secret */
12
- clientSecret: string;
13
- /** The URL the provider redirects to after authentication */
14
- redirectUri: string;
15
- /** OAuth scopes to request */
16
- scopes?: string[];
17
- /**
18
- * Microsoft-specific: the tenant ID.
19
- * Use 'common' for multi-tenant, 'organizations' for work accounts, or a specific tenant ID.
20
- * Default: 'common'
21
- */
22
- tenant?: string;
23
- }
24
- /**
25
- * Token response from an OAuth provider.
26
- */
27
- export interface OAuthTokens {
28
- /** The access token used to call provider APIs */
29
- accessToken: string;
30
- /** The refresh token for obtaining new access tokens (if granted) */
31
- refreshToken?: string;
32
- /** Token expiry time in seconds */
33
- expiresIn?: number;
34
- /** Token type (usually 'Bearer') */
35
- tokenType: string;
36
- /** OpenID Connect ID token (JWT, if using openid scope) */
37
- idToken?: string;
38
- /** The scopes that were actually granted by the provider */
39
- scope?: string;
40
- }
41
- /**
42
- * Normalized user profile across all providers.
43
- * Guarantees a consistent shape regardless of which provider is used.
44
- */
45
- export interface OAuthUserProfile {
46
- /** User's unique ID on the provider */
47
- id: string;
48
- /** User's email address */
49
- email: string;
50
- /** Whether the provider has verified the email */
51
- emailVerified: boolean;
52
- /** User's display name */
53
- name: string;
54
- /** User's first name (if available) */
55
- firstName?: string;
56
- /** User's last name (if available) */
57
- lastName?: string;
58
- /** URL to the user's avatar/profile picture */
59
- avatar?: string;
60
- /** Which OAuth provider this profile came from */
61
- provider: OAuthProvider;
62
- /** The full raw response from the provider's user info endpoint */
63
- raw: Record<string, unknown>;
64
- }
65
- /**
66
- * The contract that every OAuth provider adapter must implement.
67
- */
68
- export interface OAuthProviderAdapter {
69
- /** Provider identifier */
70
- readonly name: OAuthProvider;
71
- /**
72
- * Generate the authorization URL that the user is redirected to.
73
- * @param state CSRF state token
74
- * @param codeVerifier PKCE code verifier (if using PKCE)
75
- */
76
- getAuthorizationUrl(state: string, codeVerifier?: string): string;
77
- /**
78
- * Exchange an authorization code for tokens.
79
- * @param code The authorization code from the callback
80
- * @param codeVerifier PKCE code verifier (if using PKCE)
81
- */
82
- exchangeCode(code: string, codeVerifier?: string): Promise<OAuthTokens>;
83
- /**
84
- * Fetch the authenticated user's profile from the provider.
85
- * @param tokens The tokens obtained from exchangeCode
86
- */
87
- getUserProfile(tokens: OAuthTokens): Promise<OAuthUserProfile>;
88
- /**
89
- * Refresh an expired access token using a refresh token.
90
- * @param refreshToken The refresh token
91
- */
92
- refreshToken(refreshToken: string): Promise<OAuthTokens>;
93
- /**
94
- * Revoke a token (access or refresh).
95
- * @param token The token to revoke
96
- */
97
- revokeToken(token: string): Promise<void>;
98
- }
99
- /**
100
- * Configuration for the OAuth middleware.
101
- */
102
- export interface OAuthCallbackOptions {
103
- /**
104
- * Called when authentication succeeds.
105
- * Use this to create/update the user in your database, set session data, etc.
106
- */
107
- onSuccess: (req: import('../../types').Request, res: import('../../types').Response, profile: OAuthUserProfile, tokens: OAuthTokens) => void | Promise<void>;
108
- /**
109
- * Called when authentication fails.
110
- * Use this to redirect to an error page, log the error, etc.
111
- */
112
- onError?: (req: import('../../types').Request, res: import('../../types').Response, error: Error) => void | Promise<void>;
113
- /**
114
- * Name of the session key to store OAuth state. Default: '_exis_oauth_state'
115
- */
116
- stateKey?: string;
117
- }
118
- /**
119
- * Configuration for a custom OAuth provider.
120
- */
121
- export interface CustomOAuthProviderConfig extends OAuthProviderConfig {
122
- /** A unique name for this custom provider */
123
- name: string;
124
- /** The authorization endpoint URL */
125
- authUrl: string;
126
- /** The token exchange endpoint URL */
127
- tokenUrl: string;
128
- /** The user info endpoint URL */
129
- userInfoUrl: string;
130
- /**
131
- * Map the raw user info response to a normalized OAuthUserProfile.
132
- * If not provided, the raw response is used as-is with best-effort field mapping.
133
- */
134
- mapProfile?: (raw: Record<string, unknown>) => Omit<OAuthUserProfile, 'provider' | 'raw'>;
135
- /** The revocation endpoint URL (optional) */
136
- revokeUrl?: string;
137
- /**
138
- * How to send the client credentials during token exchange.
139
- * 'body' sends them as POST body parameters.
140
- * 'header' sends them as a Basic auth header.
141
- * Default: 'body'
142
- */
143
- authMethod?: 'body' | 'header';
144
- }
145
- /**
146
- * Internal state stored during the OAuth flow.
147
- */
148
- export interface OAuthFlowState {
149
- /** CSRF state token */
150
- state: string;
151
- /** PKCE code verifier */
152
- codeVerifier?: string;
153
- /** Provider being used */
154
- provider: OAuthProvider;
155
- /** Timestamp when the state was created */
156
- createdAt: number;
157
- }
158
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/auth/oauth/types.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- "use strict";
2
- // ─── OAuth Types ────────────────────────────────────────────────────────────────
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- //# sourceMappingURL=types.js.map