nitrostack 1.0.83 → 1.0.84

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 (435) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +38 -143
  3. package/package.json +13 -49
  4. package/dist/auth/__tests__/api-key.test.d.ts +0 -2
  5. package/dist/auth/__tests__/api-key.test.d.ts.map +0 -1
  6. package/dist/auth/__tests__/api-key.test.js +0 -156
  7. package/dist/auth/__tests__/api-key.test.js.map +0 -1
  8. package/dist/auth/__tests__/client.test.d.ts +0 -2
  9. package/dist/auth/__tests__/client.test.d.ts.map +0 -1
  10. package/dist/auth/__tests__/client.test.js +0 -173
  11. package/dist/auth/__tests__/client.test.js.map +0 -1
  12. package/dist/auth/__tests__/middleware.test.d.ts +0 -2
  13. package/dist/auth/__tests__/middleware.test.d.ts.map +0 -1
  14. package/dist/auth/__tests__/middleware.test.js +0 -232
  15. package/dist/auth/__tests__/middleware.test.js.map +0 -1
  16. package/dist/auth/__tests__/pkce.test.d.ts +0 -2
  17. package/dist/auth/__tests__/pkce.test.d.ts.map +0 -1
  18. package/dist/auth/__tests__/pkce.test.js +0 -110
  19. package/dist/auth/__tests__/pkce.test.js.map +0 -1
  20. package/dist/auth/__tests__/quick-setup.test.d.ts +0 -2
  21. package/dist/auth/__tests__/quick-setup.test.d.ts.map +0 -1
  22. package/dist/auth/__tests__/quick-setup.test.js +0 -95
  23. package/dist/auth/__tests__/quick-setup.test.js.map +0 -1
  24. package/dist/auth/__tests__/secure-secret.test.d.ts +0 -2
  25. package/dist/auth/__tests__/secure-secret.test.d.ts.map +0 -1
  26. package/dist/auth/__tests__/secure-secret.test.js +0 -104
  27. package/dist/auth/__tests__/secure-secret.test.js.map +0 -1
  28. package/dist/auth/__tests__/server-integration.test.d.ts +0 -2
  29. package/dist/auth/__tests__/server-integration.test.d.ts.map +0 -1
  30. package/dist/auth/__tests__/server-integration.test.js +0 -156
  31. package/dist/auth/__tests__/server-integration.test.js.map +0 -1
  32. package/dist/auth/__tests__/server-metadata.test.d.ts +0 -2
  33. package/dist/auth/__tests__/server-metadata.test.d.ts.map +0 -1
  34. package/dist/auth/__tests__/server-metadata.test.js +0 -72
  35. package/dist/auth/__tests__/server-metadata.test.js.map +0 -1
  36. package/dist/auth/__tests__/simple-jwt.test.d.ts +0 -2
  37. package/dist/auth/__tests__/simple-jwt.test.d.ts.map +0 -1
  38. package/dist/auth/__tests__/simple-jwt.test.js +0 -125
  39. package/dist/auth/__tests__/simple-jwt.test.js.map +0 -1
  40. package/dist/auth/__tests__/token-store.test.d.ts +0 -2
  41. package/dist/auth/__tests__/token-store.test.d.ts.map +0 -1
  42. package/dist/auth/__tests__/token-store.test.js +0 -167
  43. package/dist/auth/__tests__/token-store.test.js.map +0 -1
  44. package/dist/auth/__tests__/token-validation.test.d.ts +0 -2
  45. package/dist/auth/__tests__/token-validation.test.d.ts.map +0 -1
  46. package/dist/auth/__tests__/token-validation.test.js +0 -219
  47. package/dist/auth/__tests__/token-validation.test.js.map +0 -1
  48. package/dist/auth/api-key.d.ts +0 -118
  49. package/dist/auth/api-key.d.ts.map +0 -1
  50. package/dist/auth/api-key.js +0 -168
  51. package/dist/auth/api-key.js.map +0 -1
  52. package/dist/auth/client.d.ts +0 -151
  53. package/dist/auth/client.d.ts.map +0 -1
  54. package/dist/auth/client.js +0 -330
  55. package/dist/auth/client.js.map +0 -1
  56. package/dist/auth/index.d.ts +0 -31
  57. package/dist/auth/index.d.ts.map +0 -1
  58. package/dist/auth/index.js +0 -46
  59. package/dist/auth/index.js.map +0 -1
  60. package/dist/auth/middleware.d.ts +0 -95
  61. package/dist/auth/middleware.d.ts.map +0 -1
  62. package/dist/auth/middleware.js +0 -260
  63. package/dist/auth/middleware.js.map +0 -1
  64. package/dist/auth/pkce.d.ts +0 -53
  65. package/dist/auth/pkce.d.ts.map +0 -1
  66. package/dist/auth/pkce.js +0 -105
  67. package/dist/auth/pkce.js.map +0 -1
  68. package/dist/auth/quick-setup.d.ts +0 -94
  69. package/dist/auth/quick-setup.d.ts.map +0 -1
  70. package/dist/auth/quick-setup.js +0 -210
  71. package/dist/auth/quick-setup.js.map +0 -1
  72. package/dist/auth/secure-secret.d.ts +0 -136
  73. package/dist/auth/secure-secret.d.ts.map +0 -1
  74. package/dist/auth/secure-secret.js +0 -182
  75. package/dist/auth/secure-secret.js.map +0 -1
  76. package/dist/auth/server-integration.d.ts +0 -97
  77. package/dist/auth/server-integration.d.ts.map +0 -1
  78. package/dist/auth/server-integration.js +0 -182
  79. package/dist/auth/server-integration.js.map +0 -1
  80. package/dist/auth/server-metadata.d.ts +0 -51
  81. package/dist/auth/server-metadata.d.ts.map +0 -1
  82. package/dist/auth/server-metadata.js +0 -106
  83. package/dist/auth/server-metadata.js.map +0 -1
  84. package/dist/auth/simple-jwt.d.ts +0 -174
  85. package/dist/auth/simple-jwt.d.ts.map +0 -1
  86. package/dist/auth/simple-jwt.js +0 -162
  87. package/dist/auth/simple-jwt.js.map +0 -1
  88. package/dist/auth/token-store.d.ts +0 -104
  89. package/dist/auth/token-store.d.ts.map +0 -1
  90. package/dist/auth/token-store.js +0 -205
  91. package/dist/auth/token-store.js.map +0 -1
  92. package/dist/auth/token-validation.d.ts +0 -59
  93. package/dist/auth/token-validation.d.ts.map +0 -1
  94. package/dist/auth/token-validation.js +0 -241
  95. package/dist/auth/token-validation.js.map +0 -1
  96. package/dist/auth/types.d.ts +0 -215
  97. package/dist/auth/types.d.ts.map +0 -1
  98. package/dist/auth/types.js +0 -6
  99. package/dist/auth/types.js.map +0 -1
  100. package/dist/core/__tests__/app-decorator.test.d.ts +0 -2
  101. package/dist/core/__tests__/app-decorator.test.d.ts.map +0 -1
  102. package/dist/core/__tests__/app-decorator.test.js +0 -100
  103. package/dist/core/__tests__/app-decorator.test.js.map +0 -1
  104. package/dist/core/__tests__/app-factory.extended.test.d.ts +0 -2
  105. package/dist/core/__tests__/app-factory.extended.test.d.ts.map +0 -1
  106. package/dist/core/__tests__/app-factory.extended.test.js +0 -244
  107. package/dist/core/__tests__/app-factory.extended.test.js.map +0 -1
  108. package/dist/core/__tests__/builders.test.d.ts +0 -2
  109. package/dist/core/__tests__/builders.test.d.ts.map +0 -1
  110. package/dist/core/__tests__/builders.test.js +0 -98
  111. package/dist/core/__tests__/builders.test.js.map +0 -1
  112. package/dist/core/__tests__/component.test.d.ts +0 -2
  113. package/dist/core/__tests__/component.test.d.ts.map +0 -1
  114. package/dist/core/__tests__/component.test.js +0 -151
  115. package/dist/core/__tests__/component.test.js.map +0 -1
  116. package/dist/core/__tests__/config-module.test.d.ts +0 -2
  117. package/dist/core/__tests__/config-module.test.d.ts.map +0 -1
  118. package/dist/core/__tests__/config-module.test.js +0 -90
  119. package/dist/core/__tests__/config-module.test.js.map +0 -1
  120. package/dist/core/__tests__/core-modules.test.d.ts +0 -2
  121. package/dist/core/__tests__/core-modules.test.d.ts.map +0 -1
  122. package/dist/core/__tests__/core-modules.test.js +0 -36
  123. package/dist/core/__tests__/core-modules.test.js.map +0 -1
  124. package/dist/core/__tests__/di.test.d.ts +0 -2
  125. package/dist/core/__tests__/di.test.d.ts.map +0 -1
  126. package/dist/core/__tests__/di.test.js +0 -101
  127. package/dist/core/__tests__/di.test.js.map +0 -1
  128. package/dist/core/__tests__/errors.test.d.ts +0 -2
  129. package/dist/core/__tests__/errors.test.d.ts.map +0 -1
  130. package/dist/core/__tests__/errors.test.js +0 -109
  131. package/dist/core/__tests__/errors.test.js.map +0 -1
  132. package/dist/core/__tests__/final.blitz.test.d.ts +0 -2
  133. package/dist/core/__tests__/final.blitz.test.d.ts.map +0 -1
  134. package/dist/core/__tests__/final.blitz.test.js +0 -327
  135. package/dist/core/__tests__/final.blitz.test.js.map +0 -1
  136. package/dist/core/__tests__/jwt-module.test.d.ts +0 -2
  137. package/dist/core/__tests__/jwt-module.test.d.ts.map +0 -1
  138. package/dist/core/__tests__/jwt-module.test.js +0 -60
  139. package/dist/core/__tests__/jwt-module.test.js.map +0 -1
  140. package/dist/core/__tests__/logger.test.d.ts +0 -2
  141. package/dist/core/__tests__/logger.test.d.ts.map +0 -1
  142. package/dist/core/__tests__/logger.test.js +0 -83
  143. package/dist/core/__tests__/logger.test.js.map +0 -1
  144. package/dist/core/__tests__/models.test.d.ts +0 -2
  145. package/dist/core/__tests__/models.test.d.ts.map +0 -1
  146. package/dist/core/__tests__/models.test.js +0 -142
  147. package/dist/core/__tests__/models.test.js.map +0 -1
  148. package/dist/core/__tests__/module.test.d.ts +0 -2
  149. package/dist/core/__tests__/module.test.d.ts.map +0 -1
  150. package/dist/core/__tests__/module.test.js +0 -58
  151. package/dist/core/__tests__/module.test.js.map +0 -1
  152. package/dist/core/__tests__/oauth-module.test.d.ts +0 -2
  153. package/dist/core/__tests__/oauth-module.test.d.ts.map +0 -1
  154. package/dist/core/__tests__/oauth-module.test.js +0 -168
  155. package/dist/core/__tests__/oauth-module.test.js.map +0 -1
  156. package/dist/core/__tests__/oauth.extended.test.d.ts +0 -2
  157. package/dist/core/__tests__/oauth.extended.test.d.ts.map +0 -1
  158. package/dist/core/__tests__/oauth.extended.test.js +0 -146
  159. package/dist/core/__tests__/oauth.extended.test.js.map +0 -1
  160. package/dist/core/__tests__/prompt.test.d.ts +0 -2
  161. package/dist/core/__tests__/prompt.test.d.ts.map +0 -1
  162. package/dist/core/__tests__/prompt.test.js +0 -126
  163. package/dist/core/__tests__/prompt.test.js.map +0 -1
  164. package/dist/core/__tests__/resource.test.d.ts +0 -2
  165. package/dist/core/__tests__/resource.test.d.ts.map +0 -1
  166. package/dist/core/__tests__/resource.test.js +0 -173
  167. package/dist/core/__tests__/resource.test.js.map +0 -1
  168. package/dist/core/__tests__/server.extended.test.d.ts +0 -2
  169. package/dist/core/__tests__/server.extended.test.d.ts.map +0 -1
  170. package/dist/core/__tests__/server.extended.test.js +0 -242
  171. package/dist/core/__tests__/server.extended.test.js.map +0 -1
  172. package/dist/core/__tests__/server.test.d.ts +0 -2
  173. package/dist/core/__tests__/server.test.d.ts.map +0 -1
  174. package/dist/core/__tests__/server.test.js +0 -120
  175. package/dist/core/__tests__/server.test.js.map +0 -1
  176. package/dist/core/__tests__/transport.http.test.d.ts +0 -2
  177. package/dist/core/__tests__/transport.http.test.d.ts.map +0 -1
  178. package/dist/core/__tests__/transport.http.test.js +0 -119
  179. package/dist/core/__tests__/transport.http.test.js.map +0 -1
  180. package/dist/core/__tests__/transport.streamable.test.d.ts +0 -2
  181. package/dist/core/__tests__/transport.streamable.test.d.ts.map +0 -1
  182. package/dist/core/__tests__/transport.streamable.test.js +0 -168
  183. package/dist/core/__tests__/transport.streamable.test.js.map +0 -1
  184. package/dist/core/__tests__/transports.test.d.ts +0 -2
  185. package/dist/core/__tests__/transports.test.d.ts.map +0 -1
  186. package/dist/core/__tests__/transports.test.js +0 -12
  187. package/dist/core/__tests__/transports.test.js.map +0 -1
  188. package/dist/core/apikey-module.d.ts +0 -69
  189. package/dist/core/apikey-module.d.ts.map +0 -1
  190. package/dist/core/apikey-module.js +0 -114
  191. package/dist/core/apikey-module.js.map +0 -1
  192. package/dist/core/app-decorator.d.ts +0 -59
  193. package/dist/core/app-decorator.d.ts.map +0 -1
  194. package/dist/core/app-decorator.js +0 -322
  195. package/dist/core/app-decorator.js.map +0 -1
  196. package/dist/core/builders.d.ts +0 -50
  197. package/dist/core/builders.d.ts.map +0 -1
  198. package/dist/core/builders.js +0 -139
  199. package/dist/core/builders.js.map +0 -1
  200. package/dist/core/component.d.ts +0 -111
  201. package/dist/core/component.d.ts.map +0 -1
  202. package/dist/core/component.js +0 -228
  203. package/dist/core/component.js.map +0 -1
  204. package/dist/core/config-module.d.ts +0 -62
  205. package/dist/core/config-module.d.ts.map +0 -1
  206. package/dist/core/config-module.js +0 -94
  207. package/dist/core/config-module.js.map +0 -1
  208. package/dist/core/decorators/__tests__/decorators.test.d.ts +0 -2
  209. package/dist/core/decorators/__tests__/decorators.test.d.ts.map +0 -1
  210. package/dist/core/decorators/__tests__/decorators.test.js +0 -103
  211. package/dist/core/decorators/__tests__/decorators.test.js.map +0 -1
  212. package/dist/core/decorators/__tests__/extended-decorators.test.d.ts +0 -2
  213. package/dist/core/decorators/__tests__/extended-decorators.test.d.ts.map +0 -1
  214. package/dist/core/decorators/__tests__/extended-decorators.test.js +0 -194
  215. package/dist/core/decorators/__tests__/extended-decorators.test.js.map +0 -1
  216. package/dist/core/decorators/__tests__/health-check.test.d.ts +0 -2
  217. package/dist/core/decorators/__tests__/health-check.test.d.ts.map +0 -1
  218. package/dist/core/decorators/__tests__/health-check.test.js +0 -119
  219. package/dist/core/decorators/__tests__/health-check.test.js.map +0 -1
  220. package/dist/core/decorators/cache.decorator.d.ts +0 -61
  221. package/dist/core/decorators/cache.decorator.d.ts.map +0 -1
  222. package/dist/core/decorators/cache.decorator.js +0 -115
  223. package/dist/core/decorators/cache.decorator.js.map +0 -1
  224. package/dist/core/decorators/health-check.decorator.d.ts +0 -80
  225. package/dist/core/decorators/health-check.decorator.d.ts.map +0 -1
  226. package/dist/core/decorators/health-check.decorator.js +0 -153
  227. package/dist/core/decorators/health-check.decorator.js.map +0 -1
  228. package/dist/core/decorators/rate-limit.decorator.d.ts +0 -63
  229. package/dist/core/decorators/rate-limit.decorator.d.ts.map +0 -1
  230. package/dist/core/decorators/rate-limit.decorator.js +0 -129
  231. package/dist/core/decorators/rate-limit.decorator.js.map +0 -1
  232. package/dist/core/decorators.d.ts +0 -190
  233. package/dist/core/decorators.d.ts.map +0 -1
  234. package/dist/core/decorators.js +0 -170
  235. package/dist/core/decorators.js.map +0 -1
  236. package/dist/core/di/__tests__/container.test.d.ts +0 -2
  237. package/dist/core/di/__tests__/container.test.d.ts.map +0 -1
  238. package/dist/core/di/__tests__/container.test.js +0 -88
  239. package/dist/core/di/__tests__/container.test.js.map +0 -1
  240. package/dist/core/di/container.d.ts +0 -64
  241. package/dist/core/di/container.d.ts.map +0 -1
  242. package/dist/core/di/container.js +0 -105
  243. package/dist/core/di/container.js.map +0 -1
  244. package/dist/core/di/injectable.decorator.d.ts +0 -62
  245. package/dist/core/di/injectable.decorator.d.ts.map +0 -1
  246. package/dist/core/di/injectable.decorator.js +0 -66
  247. package/dist/core/di/injectable.decorator.js.map +0 -1
  248. package/dist/core/di/metadata-shim.d.ts +0 -31
  249. package/dist/core/di/metadata-shim.d.ts.map +0 -1
  250. package/dist/core/di/metadata-shim.js +0 -181
  251. package/dist/core/di/metadata-shim.js.map +0 -1
  252. package/dist/core/errors.d.ts +0 -54
  253. package/dist/core/errors.d.ts.map +0 -1
  254. package/dist/core/errors.js +0 -87
  255. package/dist/core/errors.js.map +0 -1
  256. package/dist/core/events/__tests__/events.test.d.ts +0 -2
  257. package/dist/core/events/__tests__/events.test.d.ts.map +0 -1
  258. package/dist/core/events/__tests__/events.test.js +0 -177
  259. package/dist/core/events/__tests__/events.test.js.map +0 -1
  260. package/dist/core/events/event-emitter.d.ts +0 -50
  261. package/dist/core/events/event-emitter.d.ts.map +0 -1
  262. package/dist/core/events/event-emitter.js +0 -94
  263. package/dist/core/events/event-emitter.js.map +0 -1
  264. package/dist/core/events/event.decorator.d.ts +0 -48
  265. package/dist/core/events/event.decorator.d.ts.map +0 -1
  266. package/dist/core/events/event.decorator.js +0 -72
  267. package/dist/core/events/event.decorator.js.map +0 -1
  268. package/dist/core/events/log-emitter.d.ts +0 -14
  269. package/dist/core/events/log-emitter.d.ts.map +0 -1
  270. package/dist/core/events/log-emitter.js +0 -20
  271. package/dist/core/events/log-emitter.js.map +0 -1
  272. package/dist/core/filters/__tests__/filters.test.d.ts +0 -2
  273. package/dist/core/filters/__tests__/filters.test.d.ts.map +0 -1
  274. package/dist/core/filters/__tests__/filters.test.js +0 -72
  275. package/dist/core/filters/__tests__/filters.test.js.map +0 -1
  276. package/dist/core/filters/exception-filter.decorator.d.ts +0 -40
  277. package/dist/core/filters/exception-filter.decorator.d.ts.map +0 -1
  278. package/dist/core/filters/exception-filter.decorator.js +0 -54
  279. package/dist/core/filters/exception-filter.decorator.js.map +0 -1
  280. package/dist/core/filters/exception-filter.interface.d.ts +0 -39
  281. package/dist/core/filters/exception-filter.interface.d.ts.map +0 -1
  282. package/dist/core/filters/exception-filter.interface.js +0 -2
  283. package/dist/core/filters/exception-filter.interface.js.map +0 -1
  284. package/dist/core/guards/__tests__/guards.test.d.ts +0 -2
  285. package/dist/core/guards/__tests__/guards.test.d.ts.map +0 -1
  286. package/dist/core/guards/__tests__/guards.test.js +0 -55
  287. package/dist/core/guards/__tests__/guards.test.js.map +0 -1
  288. package/dist/core/guards/apikey.guard.d.ts +0 -22
  289. package/dist/core/guards/apikey.guard.d.ts.map +0 -1
  290. package/dist/core/guards/apikey.guard.js +0 -11
  291. package/dist/core/guards/apikey.guard.js.map +0 -1
  292. package/dist/core/guards/guard.interface.d.ts +0 -18
  293. package/dist/core/guards/guard.interface.d.ts.map +0 -1
  294. package/dist/core/guards/guard.interface.js +0 -2
  295. package/dist/core/guards/guard.interface.js.map +0 -1
  296. package/dist/core/guards/jwt.guard.d.ts +0 -18
  297. package/dist/core/guards/jwt.guard.d.ts.map +0 -1
  298. package/dist/core/guards/jwt.guard.js +0 -2
  299. package/dist/core/guards/jwt.guard.js.map +0 -1
  300. package/dist/core/guards/oauth.guard.d.ts +0 -35
  301. package/dist/core/guards/oauth.guard.d.ts.map +0 -1
  302. package/dist/core/guards/oauth.guard.js +0 -2
  303. package/dist/core/guards/oauth.guard.js.map +0 -1
  304. package/dist/core/guards/use-guards.decorator.d.ts +0 -25
  305. package/dist/core/guards/use-guards.decorator.d.ts.map +0 -1
  306. package/dist/core/guards/use-guards.decorator.js +0 -32
  307. package/dist/core/guards/use-guards.decorator.js.map +0 -1
  308. package/dist/core/health/__tests__/health.test.d.ts +0 -2
  309. package/dist/core/health/__tests__/health.test.d.ts.map +0 -1
  310. package/dist/core/health/__tests__/health.test.js +0 -31
  311. package/dist/core/health/__tests__/health.test.js.map +0 -1
  312. package/dist/core/health/health-checks.resource.d.ts +0 -14
  313. package/dist/core/health/health-checks.resource.d.ts.map +0 -1
  314. package/dist/core/health/health-checks.resource.js +0 -29
  315. package/dist/core/health/health-checks.resource.js.map +0 -1
  316. package/dist/core/index.d.ts +0 -57
  317. package/dist/core/index.d.ts.map +0 -1
  318. package/dist/core/index.js +0 -59
  319. package/dist/core/index.js.map +0 -1
  320. package/dist/core/interceptors/__tests__/interceptors.test.d.ts +0 -2
  321. package/dist/core/interceptors/__tests__/interceptors.test.d.ts.map +0 -1
  322. package/dist/core/interceptors/__tests__/interceptors.test.js +0 -52
  323. package/dist/core/interceptors/__tests__/interceptors.test.js.map +0 -1
  324. package/dist/core/interceptors/interceptor.decorator.d.ts +0 -37
  325. package/dist/core/interceptors/interceptor.decorator.d.ts.map +0 -1
  326. package/dist/core/interceptors/interceptor.decorator.js +0 -51
  327. package/dist/core/interceptors/interceptor.decorator.js.map +0 -1
  328. package/dist/core/interceptors/interceptor.interface.d.ts +0 -31
  329. package/dist/core/interceptors/interceptor.interface.d.ts.map +0 -1
  330. package/dist/core/interceptors/interceptor.interface.js +0 -2
  331. package/dist/core/interceptors/interceptor.interface.js.map +0 -1
  332. package/dist/core/jwt-module.d.ts +0 -51
  333. package/dist/core/jwt-module.d.ts.map +0 -1
  334. package/dist/core/jwt-module.js +0 -52
  335. package/dist/core/jwt-module.js.map +0 -1
  336. package/dist/core/logger.d.ts +0 -18
  337. package/dist/core/logger.d.ts.map +0 -1
  338. package/dist/core/logger.js +0 -53
  339. package/dist/core/logger.js.map +0 -1
  340. package/dist/core/middleware/__tests__/middleware.test.d.ts +0 -2
  341. package/dist/core/middleware/__tests__/middleware.test.d.ts.map +0 -1
  342. package/dist/core/middleware/__tests__/middleware.test.js +0 -105
  343. package/dist/core/middleware/__tests__/middleware.test.js.map +0 -1
  344. package/dist/core/middleware/middleware.decorator.d.ts +0 -39
  345. package/dist/core/middleware/middleware.decorator.d.ts.map +0 -1
  346. package/dist/core/middleware/middleware.decorator.js +0 -53
  347. package/dist/core/middleware/middleware.decorator.js.map +0 -1
  348. package/dist/core/middleware/middleware.interface.d.ts +0 -29
  349. package/dist/core/middleware/middleware.interface.d.ts.map +0 -1
  350. package/dist/core/middleware/middleware.interface.js +0 -2
  351. package/dist/core/middleware/middleware.interface.js.map +0 -1
  352. package/dist/core/module.d.ts +0 -93
  353. package/dist/core/module.d.ts.map +0 -1
  354. package/dist/core/module.js +0 -87
  355. package/dist/core/module.js.map +0 -1
  356. package/dist/core/oauth-module.d.ts +0 -123
  357. package/dist/core/oauth-module.d.ts.map +0 -1
  358. package/dist/core/oauth-module.js +0 -324
  359. package/dist/core/oauth-module.js.map +0 -1
  360. package/dist/core/pipes/__tests__/pipes.test.d.ts +0 -2
  361. package/dist/core/pipes/__tests__/pipes.test.d.ts.map +0 -1
  362. package/dist/core/pipes/__tests__/pipes.test.js +0 -164
  363. package/dist/core/pipes/__tests__/pipes.test.js.map +0 -1
  364. package/dist/core/pipes/pipe.decorator.d.ts +0 -64
  365. package/dist/core/pipes/pipe.decorator.d.ts.map +0 -1
  366. package/dist/core/pipes/pipe.decorator.js +0 -85
  367. package/dist/core/pipes/pipe.decorator.js.map +0 -1
  368. package/dist/core/pipes/pipe.interface.d.ts +0 -41
  369. package/dist/core/pipes/pipe.interface.d.ts.map +0 -1
  370. package/dist/core/pipes/pipe.interface.js +0 -2
  371. package/dist/core/pipes/pipe.interface.js.map +0 -1
  372. package/dist/core/prompt.d.ts +0 -46
  373. package/dist/core/prompt.d.ts.map +0 -1
  374. package/dist/core/prompt.js +0 -76
  375. package/dist/core/prompt.js.map +0 -1
  376. package/dist/core/resource.d.ts +0 -47
  377. package/dist/core/resource.d.ts.map +0 -1
  378. package/dist/core/resource.js +0 -90
  379. package/dist/core/resource.js.map +0 -1
  380. package/dist/core/server.d.ts +0 -129
  381. package/dist/core/server.d.ts.map +0 -1
  382. package/dist/core/server.js +0 -617
  383. package/dist/core/server.js.map +0 -1
  384. package/dist/core/tool.d.ts +0 -108
  385. package/dist/core/tool.d.ts.map +0 -1
  386. package/dist/core/tool.js +0 -241
  387. package/dist/core/tool.js.map +0 -1
  388. package/dist/core/transports/__tests__/transports.test.d.ts +0 -2
  389. package/dist/core/transports/__tests__/transports.test.d.ts.map +0 -1
  390. package/dist/core/transports/__tests__/transports.test.js +0 -249
  391. package/dist/core/transports/__tests__/transports.test.js.map +0 -1
  392. package/dist/core/transports/discovery-http-server.d.ts +0 -19
  393. package/dist/core/transports/discovery-http-server.d.ts.map +0 -1
  394. package/dist/core/transports/discovery-http-server.js +0 -54
  395. package/dist/core/transports/discovery-http-server.js.map +0 -1
  396. package/dist/core/transports/http-server.d.ts +0 -108
  397. package/dist/core/transports/http-server.d.ts.map +0 -1
  398. package/dist/core/transports/http-server.js +0 -293
  399. package/dist/core/transports/http-server.js.map +0 -1
  400. package/dist/core/transports/streamable-http.d.ts +0 -177
  401. package/dist/core/transports/streamable-http.d.ts.map +0 -1
  402. package/dist/core/transports/streamable-http.js +0 -1287
  403. package/dist/core/transports/streamable-http.js.map +0 -1
  404. package/dist/core/types.d.ts +0 -195
  405. package/dist/core/types.d.ts.map +0 -1
  406. package/dist/core/types.js +0 -2
  407. package/dist/core/types.js.map +0 -1
  408. package/dist/core/widgets/__tests__/registry.test.d.ts +0 -2
  409. package/dist/core/widgets/__tests__/registry.test.d.ts.map +0 -1
  410. package/dist/core/widgets/__tests__/registry.test.js +0 -69
  411. package/dist/core/widgets/__tests__/registry.test.js.map +0 -1
  412. package/dist/core/widgets/widget-examples.resource.d.ts +0 -17
  413. package/dist/core/widgets/widget-examples.resource.d.ts.map +0 -1
  414. package/dist/core/widgets/widget-examples.resource.js +0 -28
  415. package/dist/core/widgets/widget-examples.resource.js.map +0 -1
  416. package/dist/core/widgets/widget-registry.d.ts +0 -56
  417. package/dist/core/widgets/widget-registry.d.ts.map +0 -1
  418. package/dist/core/widgets/widget-registry.js +0 -75
  419. package/dist/core/widgets/widget-registry.js.map +0 -1
  420. package/dist/testing/__tests__/testing.test.d.ts +0 -2
  421. package/dist/testing/__tests__/testing.test.d.ts.map +0 -1
  422. package/dist/testing/__tests__/testing.test.js +0 -167
  423. package/dist/testing/__tests__/testing.test.js.map +0 -1
  424. package/dist/testing/index.d.ts +0 -103
  425. package/dist/testing/index.d.ts.map +0 -1
  426. package/dist/testing/index.js +0 -161
  427. package/dist/testing/index.js.map +0 -1
  428. package/dist/ui-next/__tests__/ui-next.test.d.ts +0 -2
  429. package/dist/ui-next/__tests__/ui-next.test.d.ts.map +0 -1
  430. package/dist/ui-next/__tests__/ui-next.test.js +0 -74
  431. package/dist/ui-next/__tests__/ui-next.test.js.map +0 -1
  432. package/dist/ui-next/index.d.ts +0 -31
  433. package/dist/ui-next/index.d.ts.map +0 -1
  434. package/dist/ui-next/index.js +0 -687
  435. package/dist/ui-next/index.js.map +0 -1
@@ -1,94 +0,0 @@
1
- import { Express } from 'express';
2
- import { SimpleJWTConfig } from './simple-jwt.js';
3
- import { APIKeyConfig } from './api-key.js';
4
- import { McpAuthConfig } from './server-integration.js';
5
- /**
6
- * Quick Setup Helpers
7
- *
8
- * Make it dead simple to add authentication to NitroStack servers
9
- */
10
- /**
11
- * Setup Simple JWT Authentication (1-liner!)
12
- *
13
- * @example
14
- * ```typescript
15
- * const server = createServer({...});
16
- *
17
- * // That's it! JWT auth enabled
18
- * setupJWTAuth(server.app, {
19
- * secret: process.env.JWT_SECRET!,
20
- * });
21
- *
22
- * server.start();
23
- * ```
24
- */
25
- export declare function setupJWTAuth(app: Express, config: SimpleJWTConfig, path?: string): void;
26
- /**
27
- * Setup API Key Authentication (1-liner!)
28
- *
29
- * @example
30
- * ```typescript
31
- * const server = createServer({...});
32
- *
33
- * // That's it! API key auth enabled
34
- * setupAPIKeyAuth(server.app, {
35
- * keys: [process.env.API_KEY!],
36
- * });
37
- *
38
- * server.start();
39
- * ```
40
- */
41
- export declare function setupAPIKeyAuth(app: Express, config: APIKeyConfig, path?: string): void;
42
- /**
43
- * Setup OAuth 2.1 Authentication (full enterprise setup)
44
- *
45
- * @example
46
- * ```typescript
47
- * const server = createServer({...});
48
- *
49
- * // Full OAuth 2.1 with PKCE
50
- * setupOAuthAuth(server.app, {
51
- * resourceUri: 'https://mcp.example.com',
52
- * authorizationServers: ['https://auth.example.com'],
53
- * tokenIntrospectionEndpoint: '...',
54
- * tokenIntrospectionClientId: '...',
55
- * tokenIntrospectionClientSecret: process.env.INTROSPECTION_SECRET,
56
- * });
57
- *
58
- * server.start();
59
- * ```
60
- */
61
- export declare function setupOAuthAuth(app: Express, config: McpAuthConfig, path?: string): void;
62
- /**
63
- * Generate test credentials (for development)
64
- *
65
- * @example
66
- * ```typescript
67
- * const creds = generateTestCredentials();
68
- * console.log('JWT Secret:', creds.jwtSecret);
69
- * console.log('API Key:', creds.apiKey);
70
- * console.log('Sample Token:', creds.sampleToken);
71
- * ```
72
- */
73
- export declare function generateTestCredentials(options?: {
74
- jwtAudience?: string;
75
- jwtIssuer?: string;
76
- apiKeyPrefix?: string;
77
- }): {
78
- jwtSecret: string;
79
- apiKey: string;
80
- apiKeyHashed: string;
81
- sampleToken: string;
82
- };
83
- /**
84
- * Print auth setup instructions
85
- */
86
- export declare function printAuthSetupInstructions(type: 'jwt' | 'apikey' | 'oauth'): void;
87
- /**
88
- * Validate auth environment variables
89
- */
90
- export declare function validateAuthEnv(type: 'jwt' | 'apikey' | 'oauth'): {
91
- valid: boolean;
92
- missing: string[];
93
- };
94
- //# sourceMappingURL=quick-setup.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"quick-setup.d.ts","sourceRoot":"","sources":["../../src/auth/quick-setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAuB,eAAe,EAAe,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAAoB,YAAY,EAA8B,MAAM,cAAc,CAAC;AAC1F,OAAO,EAAuB,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7E;;;;GAIG;AAEH;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,eAAe,EACvB,IAAI,GAAE,MAAe,GACpB,IAAI,CAQN;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,YAAY,EACpB,IAAI,GAAE,MAAe,GACpB,IAAI,CAQN;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,aAAa,EACrB,IAAI,GAAE,MAAe,GACpB,IAAI,CASN;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,CAAC,EAAE;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;;;;;EAqBA;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,IAAI,CA8DjF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAmCvG"}
@@ -1,210 +0,0 @@
1
- import { createSimpleJWTAuth, generateJWT } from './simple-jwt.js';
2
- import { createAPIKeyAuth, generateAPIKey, hashAPIKey } from './api-key.js';
3
- import { configureServerAuth } from './server-integration.js';
4
- /**
5
- * Quick Setup Helpers
6
- *
7
- * Make it dead simple to add authentication to NitroStack servers
8
- */
9
- /**
10
- * Setup Simple JWT Authentication (1-liner!)
11
- *
12
- * @example
13
- * ```typescript
14
- * const server = createServer({...});
15
- *
16
- * // That's it! JWT auth enabled
17
- * setupJWTAuth(server.app, {
18
- * secret: process.env.JWT_SECRET!,
19
- * });
20
- *
21
- * server.start();
22
- * ```
23
- */
24
- export function setupJWTAuth(app, config, path = '/mcp') {
25
- const middleware = createSimpleJWTAuth(config);
26
- app.use(path, middleware);
27
- console.log(`✅ Simple JWT auth enabled on ${path}`);
28
- console.log(` Audience: ${config.audience || 'any'}`);
29
- console.log(` Issuer: ${config.issuer || 'any'}`);
30
- console.log(` Algorithm: ${config.algorithm || 'HS256'}`);
31
- }
32
- /**
33
- * Setup API Key Authentication (1-liner!)
34
- *
35
- * @example
36
- * ```typescript
37
- * const server = createServer({...});
38
- *
39
- * // That's it! API key auth enabled
40
- * setupAPIKeyAuth(server.app, {
41
- * keys: [process.env.API_KEY!],
42
- * });
43
- *
44
- * server.start();
45
- * ```
46
- */
47
- export function setupAPIKeyAuth(app, config, path = '/mcp') {
48
- const middleware = createAPIKeyAuth(config);
49
- app.use(path, middleware);
50
- console.log(`✅ API Key auth enabled on ${path}`);
51
- console.log(` Header: ${config.headerName || 'X-API-Key'}`);
52
- console.log(` Keys: ${config.keys.length} configured`);
53
- console.log(` Query param: ${config.allowQueryParam ? 'enabled' : 'disabled'}`);
54
- }
55
- /**
56
- * Setup OAuth 2.1 Authentication (full enterprise setup)
57
- *
58
- * @example
59
- * ```typescript
60
- * const server = createServer({...});
61
- *
62
- * // Full OAuth 2.1 with PKCE
63
- * setupOAuthAuth(server.app, {
64
- * resourceUri: 'https://mcp.example.com',
65
- * authorizationServers: ['https://auth.example.com'],
66
- * tokenIntrospectionEndpoint: '...',
67
- * tokenIntrospectionClientId: '...',
68
- * tokenIntrospectionClientSecret: process.env.INTROSPECTION_SECRET,
69
- * });
70
- *
71
- * server.start();
72
- * ```
73
- */
74
- export function setupOAuthAuth(app, config, path = '/mcp') {
75
- configureServerAuth(app, config, {
76
- protectRoutes: [path],
77
- });
78
- console.log(`✅ OAuth 2.1 auth enabled on ${path}`);
79
- console.log(` Resource URI: ${config.resourceUri}`);
80
- console.log(` Auth Servers: ${config.authorizationServers.join(', ')}`);
81
- console.log(` Scopes: ${config.scopesSupported?.join(', ') || 'none'}`);
82
- }
83
- /**
84
- * Generate test credentials (for development)
85
- *
86
- * @example
87
- * ```typescript
88
- * const creds = generateTestCredentials();
89
- * console.log('JWT Secret:', creds.jwtSecret);
90
- * console.log('API Key:', creds.apiKey);
91
- * console.log('Sample Token:', creds.sampleToken);
92
- * ```
93
- */
94
- export function generateTestCredentials(options) {
95
- const jwtSecret = generateAPIKey('jwt_secret');
96
- const apiKey = generateAPIKey(options?.apiKeyPrefix);
97
- const sampleToken = generateJWT({
98
- secret: jwtSecret,
99
- payload: {
100
- sub: 'test-user',
101
- scopes: ['mcp:read', 'mcp:write'],
102
- },
103
- expiresIn: '1h',
104
- audience: options?.jwtAudience,
105
- issuer: options?.jwtIssuer,
106
- });
107
- return {
108
- jwtSecret,
109
- apiKey,
110
- apiKeyHashed: hashAPIKey(apiKey),
111
- sampleToken,
112
- };
113
- }
114
- /**
115
- * Print auth setup instructions
116
- */
117
- export function printAuthSetupInstructions(type) {
118
- console.log('\n╔══════════════════════════════════════════════════════════════╗');
119
- console.log('║ AUTH SETUP INSTRUCTIONS ║');
120
- console.log('╚══════════════════════════════════════════════════════════════╝\n');
121
- if (type === 'jwt') {
122
- console.log('📝 Simple JWT Authentication Setup:\n');
123
- console.log('1. Generate a secret:');
124
- console.log(' const creds = generateTestCredentials();');
125
- console.log(' console.log(creds.jwtSecret);\n');
126
- console.log('2. Add to .env:');
127
- console.log(' JWT_SECRET=jwt_secret_...\n');
128
- console.log('3. Enable in server:');
129
- console.log(' setupJWTAuth(server.app, {');
130
- console.log(' secret: process.env.JWT_SECRET!,');
131
- console.log(' audience: "my-mcp-server",');
132
- console.log(' });\n');
133
- console.log('4. Generate tokens:');
134
- console.log(' const token = generateJWT({');
135
- console.log(' secret: process.env.JWT_SECRET!,');
136
- console.log(' payload: { sub: "user123" },');
137
- console.log(' expiresIn: "1h",');
138
- console.log(' });\n');
139
- console.log('5. Use in client:');
140
- console.log(' Authorization: Bearer <token>\n');
141
- }
142
- if (type === 'apikey') {
143
- console.log('📝 API Key Authentication Setup:\n');
144
- console.log('1. Generate API keys:');
145
- console.log(' const key1 = generateAPIKey();');
146
- console.log(' const key2 = generateAPIKey();\n');
147
- console.log('2. Add to .env:');
148
- console.log(' API_KEY_1=sk_...');
149
- console.log(' API_KEY_2=sk_...\n');
150
- console.log('3. Enable in server:');
151
- console.log(' setupAPIKeyAuth(server.app, {');
152
- console.log(' keys: [');
153
- console.log(' process.env.API_KEY_1!,');
154
- console.log(' process.env.API_KEY_2!,');
155
- console.log(' ],');
156
- console.log(' });\n');
157
- console.log('4. Use in client:');
158
- console.log(' X-API-Key: sk_...\n');
159
- }
160
- if (type === 'oauth') {
161
- console.log('📝 OAuth 2.1 Authentication Setup:\n');
162
- console.log('1. Deploy an OAuth 2.1 authorization server');
163
- console.log(' (e.g., Auth0, Keycloak, Azure AD)\n');
164
- console.log('2. Configure in server:');
165
- console.log(' setupOAuthAuth(server.app, {');
166
- console.log(' resourceUri: "https://mcp.example.com",');
167
- console.log(' authorizationServers: ["https://auth.example.com"],');
168
- console.log(' tokenIntrospectionEndpoint: "...",');
169
- console.log(' tokenIntrospectionClientId: "...",');
170
- console.log(' tokenIntrospectionClientSecret: process.env.SECRET,');
171
- console.log(' });\n');
172
- console.log('3. Use the inspector AUTH tab to test\n');
173
- }
174
- console.log('═══════════════════════════════════════════════════════════════\n');
175
- }
176
- /**
177
- * Validate auth environment variables
178
- */
179
- export function validateAuthEnv(type) {
180
- const missing = [];
181
- if (type === 'jwt') {
182
- if (!process.env.JWT_SECRET) {
183
- missing.push('JWT_SECRET');
184
- }
185
- }
186
- if (type === 'apikey') {
187
- if (!process.env.API_KEY_1 && !process.env.API_KEY) {
188
- missing.push('API_KEY_1 or API_KEY');
189
- }
190
- }
191
- if (type === 'oauth') {
192
- const required = [
193
- 'OAUTH_RESOURCE_URI',
194
- 'OAUTH_AUTH_SERVER',
195
- 'OAUTH_INTROSPECTION_ENDPOINT',
196
- 'OAUTH_CLIENT_ID',
197
- 'OAUTH_CLIENT_SECRET',
198
- ];
199
- for (const key of required) {
200
- if (!process.env[key]) {
201
- missing.push(key);
202
- }
203
- }
204
- }
205
- return {
206
- valid: missing.length === 0,
207
- missing,
208
- };
209
- }
210
- //# sourceMappingURL=quick-setup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"quick-setup.js","sourceRoot":"","sources":["../../src/auth/quick-setup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAmB,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAgB,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1F,OAAO,EAAE,mBAAmB,EAAiB,MAAM,yBAAyB,CAAC;AAE7E;;;;GAIG;AAEH;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,YAAY,CAC1B,GAAY,EACZ,MAAuB,EACvB,OAAe,MAAM;IAErB,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC/C,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAE1B,OAAO,CAAC,GAAG,CAAC,gCAAgC,IAAI,EAAE,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,QAAQ,IAAI,KAAK,EAAE,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,SAAS,IAAI,OAAO,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,eAAe,CAC7B,GAAY,EACZ,MAAoB,EACpB,OAAe,MAAM;IAErB,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC5C,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAE1B,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,UAAU,IAAI,WAAW,EAAE,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,IAAI,CAAC,MAAM,aAAa,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,mBAAmB,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;AACpF,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,cAAc,CAC5B,GAAY,EACZ,MAAqB,EACrB,OAAe,MAAM;IAErB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE;QAC/B,aAAa,EAAE,CAAC,IAAI,CAAC;KACtB,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1E,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAIvC;IACC,MAAM,SAAS,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAErD,MAAM,WAAW,GAAG,WAAW,CAAC;QAC9B,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE;YACP,GAAG,EAAE,WAAW;YAChB,MAAM,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC;SAClC;QACD,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,OAAO,EAAE,WAAW;QAC9B,MAAM,EAAE,OAAO,EAAE,SAAS;KAC3B,CAAC,CAAC;IAEH,OAAO;QACL,SAAS;QACT,MAAM;QACN,YAAY,EAAE,UAAU,CAAC,MAAM,CAAC;QAChC,WAAW;KACZ,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CAAC,IAAgC;IACzE,OAAO,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC;IAClF,OAAO,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC;IAChF,OAAO,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC;IAElF,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;QACxE,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;QACxE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC;AACnF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,IAAgC;IAC9D,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACnD,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAG;YACf,oBAAoB;YACpB,mBAAmB;YACnB,8BAA8B;YAC9B,iBAAiB;YACjB,qBAAqB;SACtB,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC;QAC3B,OAAO;KACR,CAAC;AACJ,CAAC"}
@@ -1,136 +0,0 @@
1
- /**
2
- * Secure Secret Value
3
- *
4
- * Provides a type-safe way to handle secrets that prevents accidental hardcoding.
5
- * Secrets must be explicitly created from environment variables or marked as explicit.
6
- *
7
- * @example
8
- * ```typescript
9
- * // ✅ Recommended: Load from environment variable
10
- * const secret = SecretValue.fromEnv('JWT_SECRET');
11
- *
12
- * // ✅ For testing only: Mark as explicit
13
- * const testSecret = SecretValue.fromValue('test-secret', { allowHardcoded: true });
14
- *
15
- * // ❌ This will fail at runtime:
16
- * const badSecret = SecretValue.fromValue('hardcoded'); // throws error
17
- * ```
18
- */
19
- declare const SecretBrand: unique symbol;
20
- /**
21
- * A branded type representing a secret value.
22
- * Cannot be created directly - must use factory methods.
23
- */
24
- export type SecretString = string & {
25
- readonly [SecretBrand]: 'SecretValue';
26
- };
27
- /**
28
- * Options for creating a secret from a direct value
29
- */
30
- export interface FromValueOptions {
31
- /**
32
- * Explicitly allow hardcoded values.
33
- * Only set to true for testing purposes.
34
- */
35
- allowHardcoded?: boolean;
36
- /**
37
- * Description of why hardcoded is allowed (for audit purposes)
38
- */
39
- reason?: string;
40
- }
41
- /**
42
- * Secure wrapper for secret values
43
- */
44
- export declare class SecretValue {
45
- private readonly value;
46
- private readonly source;
47
- private constructor();
48
- /**
49
- * Create a secret from an environment variable.
50
- * This is the recommended way to handle secrets.
51
- *
52
- * @param envVarName - Name of the environment variable
53
- * @param options - Optional configuration
54
- * @throws Error if the environment variable is not set
55
- *
56
- * @example
57
- * ```typescript
58
- * const jwtSecret = SecretValue.fromEnv('JWT_SECRET');
59
- * const dbPassword = SecretValue.fromEnv('DATABASE_PASSWORD');
60
- * ```
61
- */
62
- static fromEnv(envVarName: string, options?: {
63
- required?: boolean;
64
- }): SecretValue;
65
- /**
66
- * Create a secret from a direct value.
67
- *
68
- * **WARNING**: This should only be used for testing.
69
- * For production, always use `fromEnv()`.
70
- *
71
- * @param value - The secret value
72
- * @param options - Must set allowHardcoded: true to use this method
73
- * @throws Error if allowHardcoded is not explicitly set to true
74
- *
75
- * @example
76
- * ```typescript
77
- * // For testing only
78
- * const testSecret = SecretValue.fromValue('test-secret-for-unit-tests', {
79
- * allowHardcoded: true,
80
- * reason: 'Unit test fixture'
81
- * });
82
- * ```
83
- */
84
- static fromValue(value: string, options?: FromValueOptions): SecretValue;
85
- /**
86
- * Create a secret from an environment variable or return undefined.
87
- * Useful for optional secrets.
88
- *
89
- * @param envVarName - Name of the environment variable
90
- *
91
- * @example
92
- * ```typescript
93
- * const optionalSecret = SecretValue.fromEnvOptional('OPTIONAL_API_KEY');
94
- * if (optionalSecret) {
95
- * // Use the secret
96
- * }
97
- * ```
98
- */
99
- static fromEnvOptional(envVarName: string): SecretValue | undefined;
100
- /**
101
- * Get the unwrapped secret value.
102
- *
103
- * @returns The raw secret string
104
- */
105
- unwrap(): SecretString;
106
- /**
107
- * Get the secret value as a plain string.
108
- * Alias for unwrap() for compatibility.
109
- */
110
- getValue(): string;
111
- /**
112
- * Check if this secret was loaded from environment
113
- */
114
- isFromEnvironment(): boolean;
115
- /**
116
- * Prevent accidental logging of secret values
117
- */
118
- toString(): string;
119
- /**
120
- * Prevent accidental JSON serialization of secret values
121
- */
122
- toJSON(): string;
123
- }
124
- /**
125
- * Type guard to check if a value is a SecretValue
126
- */
127
- export declare function isSecretValue(value: unknown): value is SecretValue;
128
- /**
129
- * Helper to unwrap a secret if it's a SecretValue, or use as-is if string.
130
- * Useful for backward compatibility.
131
- *
132
- * @deprecated Prefer using SecretValue directly
133
- */
134
- export declare function unwrapSecret(secret: SecretValue | string): string;
135
- export {};
136
- //# sourceMappingURL=secure-secret.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"secure-secret.d.ts","sourceRoot":"","sources":["../../src/auth/secure-secret.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,CAAC,MAAM,WAAW,EAAE,OAAO,MAAM,CAAC;AAEzC;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,CAAC,WAAW,CAAC,EAAE,aAAa,CAAA;CAAE,CAAC;AAE9E;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAE5C,OAAO;IAiBP;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,WAAW;IAkBjF;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,WAAW;IAsBxE;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAQnE;;;;OAIG;IACH,MAAM,IAAI,YAAY;IAItB;;;OAGG;IACH,QAAQ,IAAI,MAAM;IAIlB;;OAEG;IACH,iBAAiB,IAAI,OAAO;IAI5B;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB;;OAEG;IACH,MAAM,IAAI,MAAM;CAUjB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAElE;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,CAYjE"}
@@ -1,182 +0,0 @@
1
- /**
2
- * Secure Secret Value
3
- *
4
- * Provides a type-safe way to handle secrets that prevents accidental hardcoding.
5
- * Secrets must be explicitly created from environment variables or marked as explicit.
6
- *
7
- * @example
8
- * ```typescript
9
- * // ✅ Recommended: Load from environment variable
10
- * const secret = SecretValue.fromEnv('JWT_SECRET');
11
- *
12
- * // ✅ For testing only: Mark as explicit
13
- * const testSecret = SecretValue.fromValue('test-secret', { allowHardcoded: true });
14
- *
15
- * // ❌ This will fail at runtime:
16
- * const badSecret = SecretValue.fromValue('hardcoded'); // throws error
17
- * ```
18
- */
19
- /**
20
- * Secure wrapper for secret values
21
- */
22
- export class SecretValue {
23
- value;
24
- source;
25
- constructor(value, source) {
26
- if (!value || value.length === 0) {
27
- throw new Error('Secret value cannot be empty');
28
- }
29
- // Minimum length check for security
30
- if (value.length < 16) {
31
- console.warn('[SecretValue] Warning: Secret is less than 16 characters. ' +
32
- 'Consider using a longer secret for better security.');
33
- }
34
- this.value = value;
35
- this.source = source;
36
- }
37
- /**
38
- * Create a secret from an environment variable.
39
- * This is the recommended way to handle secrets.
40
- *
41
- * @param envVarName - Name of the environment variable
42
- * @param options - Optional configuration
43
- * @throws Error if the environment variable is not set
44
- *
45
- * @example
46
- * ```typescript
47
- * const jwtSecret = SecretValue.fromEnv('JWT_SECRET');
48
- * const dbPassword = SecretValue.fromEnv('DATABASE_PASSWORD');
49
- * ```
50
- */
51
- static fromEnv(envVarName, options) {
52
- const value = process.env[envVarName];
53
- const required = options?.required !== false;
54
- if (!value) {
55
- if (required) {
56
- throw new Error(`Environment variable ${envVarName} is not set. ` +
57
- `Please set it in your environment or .env file.`);
58
- }
59
- // Return a placeholder that will fail if used
60
- throw new Error(`Environment variable ${envVarName} is not set.`);
61
- }
62
- return new SecretValue(value, 'env');
63
- }
64
- /**
65
- * Create a secret from a direct value.
66
- *
67
- * **WARNING**: This should only be used for testing.
68
- * For production, always use `fromEnv()`.
69
- *
70
- * @param value - The secret value
71
- * @param options - Must set allowHardcoded: true to use this method
72
- * @throws Error if allowHardcoded is not explicitly set to true
73
- *
74
- * @example
75
- * ```typescript
76
- * // For testing only
77
- * const testSecret = SecretValue.fromValue('test-secret-for-unit-tests', {
78
- * allowHardcoded: true,
79
- * reason: 'Unit test fixture'
80
- * });
81
- * ```
82
- */
83
- static fromValue(value, options) {
84
- if (!options?.allowHardcoded) {
85
- throw new Error('Hardcoded secrets are not allowed. ' +
86
- 'Use SecretValue.fromEnv() to load secrets from environment variables. ' +
87
- 'If you must use a hardcoded value (e.g., for testing), ' +
88
- 'set allowHardcoded: true explicitly.');
89
- }
90
- // Log warning in non-test environments
91
- if (process.env.NODE_ENV !== 'test') {
92
- console.warn(`[SecretValue] Warning: Using hardcoded secret value. ` +
93
- `Reason: ${options.reason || 'Not specified'}. ` +
94
- `This should not be used in production.`);
95
- }
96
- return new SecretValue(value, 'explicit');
97
- }
98
- /**
99
- * Create a secret from an environment variable or return undefined.
100
- * Useful for optional secrets.
101
- *
102
- * @param envVarName - Name of the environment variable
103
- *
104
- * @example
105
- * ```typescript
106
- * const optionalSecret = SecretValue.fromEnvOptional('OPTIONAL_API_KEY');
107
- * if (optionalSecret) {
108
- * // Use the secret
109
- * }
110
- * ```
111
- */
112
- static fromEnvOptional(envVarName) {
113
- const value = process.env[envVarName];
114
- if (!value) {
115
- return undefined;
116
- }
117
- return new SecretValue(value, 'env');
118
- }
119
- /**
120
- * Get the unwrapped secret value.
121
- *
122
- * @returns The raw secret string
123
- */
124
- unwrap() {
125
- return this.value;
126
- }
127
- /**
128
- * Get the secret value as a plain string.
129
- * Alias for unwrap() for compatibility.
130
- */
131
- getValue() {
132
- return this.value;
133
- }
134
- /**
135
- * Check if this secret was loaded from environment
136
- */
137
- isFromEnvironment() {
138
- return this.source === 'env';
139
- }
140
- /**
141
- * Prevent accidental logging of secret values
142
- */
143
- toString() {
144
- return '[SecretValue: REDACTED]';
145
- }
146
- /**
147
- * Prevent accidental JSON serialization of secret values
148
- */
149
- toJSON() {
150
- return '[SecretValue: REDACTED]';
151
- }
152
- /**
153
- * For Node.js util.inspect
154
- */
155
- [Symbol.for('nodejs.util.inspect.custom')]() {
156
- return `SecretValue { source: '${this.source}', value: [REDACTED] }`;
157
- }
158
- }
159
- /**
160
- * Type guard to check if a value is a SecretValue
161
- */
162
- export function isSecretValue(value) {
163
- return value instanceof SecretValue;
164
- }
165
- /**
166
- * Helper to unwrap a secret if it's a SecretValue, or use as-is if string.
167
- * Useful for backward compatibility.
168
- *
169
- * @deprecated Prefer using SecretValue directly
170
- */
171
- export function unwrapSecret(secret) {
172
- if (secret instanceof SecretValue) {
173
- return secret.getValue();
174
- }
175
- // Log warning for raw strings in production
176
- if (process.env.NODE_ENV === 'production') {
177
- console.warn('[SecretValue] Warning: Using raw string as secret. ' +
178
- 'Consider migrating to SecretValue.fromEnv() for better security.');
179
- }
180
- return secret;
181
- }
182
- //# sourceMappingURL=secure-secret.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"secure-secret.js","sourceRoot":"","sources":["../../src/auth/secure-secret.ts"],"names":[],"mappings":"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"}