nitrostack 1.0.83 → 1.0.85

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 (439) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +42 -137
  3. package/assets/gif/nitrocli.gif +0 -0
  4. package/assets/gif/nitrostudio-chat.gif +0 -0
  5. package/assets/gif/nitrostudio-main.gif +0 -0
  6. package/assets/gif/nitrostudio-testing.gif +0 -0
  7. package/package.json +15 -50
  8. package/dist/auth/__tests__/api-key.test.d.ts +0 -2
  9. package/dist/auth/__tests__/api-key.test.d.ts.map +0 -1
  10. package/dist/auth/__tests__/api-key.test.js +0 -156
  11. package/dist/auth/__tests__/api-key.test.js.map +0 -1
  12. package/dist/auth/__tests__/client.test.d.ts +0 -2
  13. package/dist/auth/__tests__/client.test.d.ts.map +0 -1
  14. package/dist/auth/__tests__/client.test.js +0 -173
  15. package/dist/auth/__tests__/client.test.js.map +0 -1
  16. package/dist/auth/__tests__/middleware.test.d.ts +0 -2
  17. package/dist/auth/__tests__/middleware.test.d.ts.map +0 -1
  18. package/dist/auth/__tests__/middleware.test.js +0 -232
  19. package/dist/auth/__tests__/middleware.test.js.map +0 -1
  20. package/dist/auth/__tests__/pkce.test.d.ts +0 -2
  21. package/dist/auth/__tests__/pkce.test.d.ts.map +0 -1
  22. package/dist/auth/__tests__/pkce.test.js +0 -110
  23. package/dist/auth/__tests__/pkce.test.js.map +0 -1
  24. package/dist/auth/__tests__/quick-setup.test.d.ts +0 -2
  25. package/dist/auth/__tests__/quick-setup.test.d.ts.map +0 -1
  26. package/dist/auth/__tests__/quick-setup.test.js +0 -95
  27. package/dist/auth/__tests__/quick-setup.test.js.map +0 -1
  28. package/dist/auth/__tests__/secure-secret.test.d.ts +0 -2
  29. package/dist/auth/__tests__/secure-secret.test.d.ts.map +0 -1
  30. package/dist/auth/__tests__/secure-secret.test.js +0 -104
  31. package/dist/auth/__tests__/secure-secret.test.js.map +0 -1
  32. package/dist/auth/__tests__/server-integration.test.d.ts +0 -2
  33. package/dist/auth/__tests__/server-integration.test.d.ts.map +0 -1
  34. package/dist/auth/__tests__/server-integration.test.js +0 -156
  35. package/dist/auth/__tests__/server-integration.test.js.map +0 -1
  36. package/dist/auth/__tests__/server-metadata.test.d.ts +0 -2
  37. package/dist/auth/__tests__/server-metadata.test.d.ts.map +0 -1
  38. package/dist/auth/__tests__/server-metadata.test.js +0 -72
  39. package/dist/auth/__tests__/server-metadata.test.js.map +0 -1
  40. package/dist/auth/__tests__/simple-jwt.test.d.ts +0 -2
  41. package/dist/auth/__tests__/simple-jwt.test.d.ts.map +0 -1
  42. package/dist/auth/__tests__/simple-jwt.test.js +0 -125
  43. package/dist/auth/__tests__/simple-jwt.test.js.map +0 -1
  44. package/dist/auth/__tests__/token-store.test.d.ts +0 -2
  45. package/dist/auth/__tests__/token-store.test.d.ts.map +0 -1
  46. package/dist/auth/__tests__/token-store.test.js +0 -167
  47. package/dist/auth/__tests__/token-store.test.js.map +0 -1
  48. package/dist/auth/__tests__/token-validation.test.d.ts +0 -2
  49. package/dist/auth/__tests__/token-validation.test.d.ts.map +0 -1
  50. package/dist/auth/__tests__/token-validation.test.js +0 -219
  51. package/dist/auth/__tests__/token-validation.test.js.map +0 -1
  52. package/dist/auth/api-key.d.ts +0 -118
  53. package/dist/auth/api-key.d.ts.map +0 -1
  54. package/dist/auth/api-key.js +0 -168
  55. package/dist/auth/api-key.js.map +0 -1
  56. package/dist/auth/client.d.ts +0 -151
  57. package/dist/auth/client.d.ts.map +0 -1
  58. package/dist/auth/client.js +0 -330
  59. package/dist/auth/client.js.map +0 -1
  60. package/dist/auth/index.d.ts +0 -31
  61. package/dist/auth/index.d.ts.map +0 -1
  62. package/dist/auth/index.js +0 -46
  63. package/dist/auth/index.js.map +0 -1
  64. package/dist/auth/middleware.d.ts +0 -95
  65. package/dist/auth/middleware.d.ts.map +0 -1
  66. package/dist/auth/middleware.js +0 -260
  67. package/dist/auth/middleware.js.map +0 -1
  68. package/dist/auth/pkce.d.ts +0 -53
  69. package/dist/auth/pkce.d.ts.map +0 -1
  70. package/dist/auth/pkce.js +0 -105
  71. package/dist/auth/pkce.js.map +0 -1
  72. package/dist/auth/quick-setup.d.ts +0 -94
  73. package/dist/auth/quick-setup.d.ts.map +0 -1
  74. package/dist/auth/quick-setup.js +0 -210
  75. package/dist/auth/quick-setup.js.map +0 -1
  76. package/dist/auth/secure-secret.d.ts +0 -136
  77. package/dist/auth/secure-secret.d.ts.map +0 -1
  78. package/dist/auth/secure-secret.js +0 -182
  79. package/dist/auth/secure-secret.js.map +0 -1
  80. package/dist/auth/server-integration.d.ts +0 -97
  81. package/dist/auth/server-integration.d.ts.map +0 -1
  82. package/dist/auth/server-integration.js +0 -182
  83. package/dist/auth/server-integration.js.map +0 -1
  84. package/dist/auth/server-metadata.d.ts +0 -51
  85. package/dist/auth/server-metadata.d.ts.map +0 -1
  86. package/dist/auth/server-metadata.js +0 -106
  87. package/dist/auth/server-metadata.js.map +0 -1
  88. package/dist/auth/simple-jwt.d.ts +0 -174
  89. package/dist/auth/simple-jwt.d.ts.map +0 -1
  90. package/dist/auth/simple-jwt.js +0 -162
  91. package/dist/auth/simple-jwt.js.map +0 -1
  92. package/dist/auth/token-store.d.ts +0 -104
  93. package/dist/auth/token-store.d.ts.map +0 -1
  94. package/dist/auth/token-store.js +0 -205
  95. package/dist/auth/token-store.js.map +0 -1
  96. package/dist/auth/token-validation.d.ts +0 -59
  97. package/dist/auth/token-validation.d.ts.map +0 -1
  98. package/dist/auth/token-validation.js +0 -241
  99. package/dist/auth/token-validation.js.map +0 -1
  100. package/dist/auth/types.d.ts +0 -215
  101. package/dist/auth/types.d.ts.map +0 -1
  102. package/dist/auth/types.js +0 -6
  103. package/dist/auth/types.js.map +0 -1
  104. package/dist/core/__tests__/app-decorator.test.d.ts +0 -2
  105. package/dist/core/__tests__/app-decorator.test.d.ts.map +0 -1
  106. package/dist/core/__tests__/app-decorator.test.js +0 -100
  107. package/dist/core/__tests__/app-decorator.test.js.map +0 -1
  108. package/dist/core/__tests__/app-factory.extended.test.d.ts +0 -2
  109. package/dist/core/__tests__/app-factory.extended.test.d.ts.map +0 -1
  110. package/dist/core/__tests__/app-factory.extended.test.js +0 -244
  111. package/dist/core/__tests__/app-factory.extended.test.js.map +0 -1
  112. package/dist/core/__tests__/builders.test.d.ts +0 -2
  113. package/dist/core/__tests__/builders.test.d.ts.map +0 -1
  114. package/dist/core/__tests__/builders.test.js +0 -98
  115. package/dist/core/__tests__/builders.test.js.map +0 -1
  116. package/dist/core/__tests__/component.test.d.ts +0 -2
  117. package/dist/core/__tests__/component.test.d.ts.map +0 -1
  118. package/dist/core/__tests__/component.test.js +0 -151
  119. package/dist/core/__tests__/component.test.js.map +0 -1
  120. package/dist/core/__tests__/config-module.test.d.ts +0 -2
  121. package/dist/core/__tests__/config-module.test.d.ts.map +0 -1
  122. package/dist/core/__tests__/config-module.test.js +0 -90
  123. package/dist/core/__tests__/config-module.test.js.map +0 -1
  124. package/dist/core/__tests__/core-modules.test.d.ts +0 -2
  125. package/dist/core/__tests__/core-modules.test.d.ts.map +0 -1
  126. package/dist/core/__tests__/core-modules.test.js +0 -36
  127. package/dist/core/__tests__/core-modules.test.js.map +0 -1
  128. package/dist/core/__tests__/di.test.d.ts +0 -2
  129. package/dist/core/__tests__/di.test.d.ts.map +0 -1
  130. package/dist/core/__tests__/di.test.js +0 -101
  131. package/dist/core/__tests__/di.test.js.map +0 -1
  132. package/dist/core/__tests__/errors.test.d.ts +0 -2
  133. package/dist/core/__tests__/errors.test.d.ts.map +0 -1
  134. package/dist/core/__tests__/errors.test.js +0 -109
  135. package/dist/core/__tests__/errors.test.js.map +0 -1
  136. package/dist/core/__tests__/final.blitz.test.d.ts +0 -2
  137. package/dist/core/__tests__/final.blitz.test.d.ts.map +0 -1
  138. package/dist/core/__tests__/final.blitz.test.js +0 -327
  139. package/dist/core/__tests__/final.blitz.test.js.map +0 -1
  140. package/dist/core/__tests__/jwt-module.test.d.ts +0 -2
  141. package/dist/core/__tests__/jwt-module.test.d.ts.map +0 -1
  142. package/dist/core/__tests__/jwt-module.test.js +0 -60
  143. package/dist/core/__tests__/jwt-module.test.js.map +0 -1
  144. package/dist/core/__tests__/logger.test.d.ts +0 -2
  145. package/dist/core/__tests__/logger.test.d.ts.map +0 -1
  146. package/dist/core/__tests__/logger.test.js +0 -83
  147. package/dist/core/__tests__/logger.test.js.map +0 -1
  148. package/dist/core/__tests__/models.test.d.ts +0 -2
  149. package/dist/core/__tests__/models.test.d.ts.map +0 -1
  150. package/dist/core/__tests__/models.test.js +0 -142
  151. package/dist/core/__tests__/models.test.js.map +0 -1
  152. package/dist/core/__tests__/module.test.d.ts +0 -2
  153. package/dist/core/__tests__/module.test.d.ts.map +0 -1
  154. package/dist/core/__tests__/module.test.js +0 -58
  155. package/dist/core/__tests__/module.test.js.map +0 -1
  156. package/dist/core/__tests__/oauth-module.test.d.ts +0 -2
  157. package/dist/core/__tests__/oauth-module.test.d.ts.map +0 -1
  158. package/dist/core/__tests__/oauth-module.test.js +0 -168
  159. package/dist/core/__tests__/oauth-module.test.js.map +0 -1
  160. package/dist/core/__tests__/oauth.extended.test.d.ts +0 -2
  161. package/dist/core/__tests__/oauth.extended.test.d.ts.map +0 -1
  162. package/dist/core/__tests__/oauth.extended.test.js +0 -146
  163. package/dist/core/__tests__/oauth.extended.test.js.map +0 -1
  164. package/dist/core/__tests__/prompt.test.d.ts +0 -2
  165. package/dist/core/__tests__/prompt.test.d.ts.map +0 -1
  166. package/dist/core/__tests__/prompt.test.js +0 -126
  167. package/dist/core/__tests__/prompt.test.js.map +0 -1
  168. package/dist/core/__tests__/resource.test.d.ts +0 -2
  169. package/dist/core/__tests__/resource.test.d.ts.map +0 -1
  170. package/dist/core/__tests__/resource.test.js +0 -173
  171. package/dist/core/__tests__/resource.test.js.map +0 -1
  172. package/dist/core/__tests__/server.extended.test.d.ts +0 -2
  173. package/dist/core/__tests__/server.extended.test.d.ts.map +0 -1
  174. package/dist/core/__tests__/server.extended.test.js +0 -242
  175. package/dist/core/__tests__/server.extended.test.js.map +0 -1
  176. package/dist/core/__tests__/server.test.d.ts +0 -2
  177. package/dist/core/__tests__/server.test.d.ts.map +0 -1
  178. package/dist/core/__tests__/server.test.js +0 -120
  179. package/dist/core/__tests__/server.test.js.map +0 -1
  180. package/dist/core/__tests__/transport.http.test.d.ts +0 -2
  181. package/dist/core/__tests__/transport.http.test.d.ts.map +0 -1
  182. package/dist/core/__tests__/transport.http.test.js +0 -119
  183. package/dist/core/__tests__/transport.http.test.js.map +0 -1
  184. package/dist/core/__tests__/transport.streamable.test.d.ts +0 -2
  185. package/dist/core/__tests__/transport.streamable.test.d.ts.map +0 -1
  186. package/dist/core/__tests__/transport.streamable.test.js +0 -168
  187. package/dist/core/__tests__/transport.streamable.test.js.map +0 -1
  188. package/dist/core/__tests__/transports.test.d.ts +0 -2
  189. package/dist/core/__tests__/transports.test.d.ts.map +0 -1
  190. package/dist/core/__tests__/transports.test.js +0 -12
  191. package/dist/core/__tests__/transports.test.js.map +0 -1
  192. package/dist/core/apikey-module.d.ts +0 -69
  193. package/dist/core/apikey-module.d.ts.map +0 -1
  194. package/dist/core/apikey-module.js +0 -114
  195. package/dist/core/apikey-module.js.map +0 -1
  196. package/dist/core/app-decorator.d.ts +0 -59
  197. package/dist/core/app-decorator.d.ts.map +0 -1
  198. package/dist/core/app-decorator.js +0 -322
  199. package/dist/core/app-decorator.js.map +0 -1
  200. package/dist/core/builders.d.ts +0 -50
  201. package/dist/core/builders.d.ts.map +0 -1
  202. package/dist/core/builders.js +0 -139
  203. package/dist/core/builders.js.map +0 -1
  204. package/dist/core/component.d.ts +0 -111
  205. package/dist/core/component.d.ts.map +0 -1
  206. package/dist/core/component.js +0 -228
  207. package/dist/core/component.js.map +0 -1
  208. package/dist/core/config-module.d.ts +0 -62
  209. package/dist/core/config-module.d.ts.map +0 -1
  210. package/dist/core/config-module.js +0 -94
  211. package/dist/core/config-module.js.map +0 -1
  212. package/dist/core/decorators/__tests__/decorators.test.d.ts +0 -2
  213. package/dist/core/decorators/__tests__/decorators.test.d.ts.map +0 -1
  214. package/dist/core/decorators/__tests__/decorators.test.js +0 -103
  215. package/dist/core/decorators/__tests__/decorators.test.js.map +0 -1
  216. package/dist/core/decorators/__tests__/extended-decorators.test.d.ts +0 -2
  217. package/dist/core/decorators/__tests__/extended-decorators.test.d.ts.map +0 -1
  218. package/dist/core/decorators/__tests__/extended-decorators.test.js +0 -194
  219. package/dist/core/decorators/__tests__/extended-decorators.test.js.map +0 -1
  220. package/dist/core/decorators/__tests__/health-check.test.d.ts +0 -2
  221. package/dist/core/decorators/__tests__/health-check.test.d.ts.map +0 -1
  222. package/dist/core/decorators/__tests__/health-check.test.js +0 -119
  223. package/dist/core/decorators/__tests__/health-check.test.js.map +0 -1
  224. package/dist/core/decorators/cache.decorator.d.ts +0 -61
  225. package/dist/core/decorators/cache.decorator.d.ts.map +0 -1
  226. package/dist/core/decorators/cache.decorator.js +0 -115
  227. package/dist/core/decorators/cache.decorator.js.map +0 -1
  228. package/dist/core/decorators/health-check.decorator.d.ts +0 -80
  229. package/dist/core/decorators/health-check.decorator.d.ts.map +0 -1
  230. package/dist/core/decorators/health-check.decorator.js +0 -153
  231. package/dist/core/decorators/health-check.decorator.js.map +0 -1
  232. package/dist/core/decorators/rate-limit.decorator.d.ts +0 -63
  233. package/dist/core/decorators/rate-limit.decorator.d.ts.map +0 -1
  234. package/dist/core/decorators/rate-limit.decorator.js +0 -129
  235. package/dist/core/decorators/rate-limit.decorator.js.map +0 -1
  236. package/dist/core/decorators.d.ts +0 -190
  237. package/dist/core/decorators.d.ts.map +0 -1
  238. package/dist/core/decorators.js +0 -170
  239. package/dist/core/decorators.js.map +0 -1
  240. package/dist/core/di/__tests__/container.test.d.ts +0 -2
  241. package/dist/core/di/__tests__/container.test.d.ts.map +0 -1
  242. package/dist/core/di/__tests__/container.test.js +0 -88
  243. package/dist/core/di/__tests__/container.test.js.map +0 -1
  244. package/dist/core/di/container.d.ts +0 -64
  245. package/dist/core/di/container.d.ts.map +0 -1
  246. package/dist/core/di/container.js +0 -105
  247. package/dist/core/di/container.js.map +0 -1
  248. package/dist/core/di/injectable.decorator.d.ts +0 -62
  249. package/dist/core/di/injectable.decorator.d.ts.map +0 -1
  250. package/dist/core/di/injectable.decorator.js +0 -66
  251. package/dist/core/di/injectable.decorator.js.map +0 -1
  252. package/dist/core/di/metadata-shim.d.ts +0 -31
  253. package/dist/core/di/metadata-shim.d.ts.map +0 -1
  254. package/dist/core/di/metadata-shim.js +0 -181
  255. package/dist/core/di/metadata-shim.js.map +0 -1
  256. package/dist/core/errors.d.ts +0 -54
  257. package/dist/core/errors.d.ts.map +0 -1
  258. package/dist/core/errors.js +0 -87
  259. package/dist/core/errors.js.map +0 -1
  260. package/dist/core/events/__tests__/events.test.d.ts +0 -2
  261. package/dist/core/events/__tests__/events.test.d.ts.map +0 -1
  262. package/dist/core/events/__tests__/events.test.js +0 -177
  263. package/dist/core/events/__tests__/events.test.js.map +0 -1
  264. package/dist/core/events/event-emitter.d.ts +0 -50
  265. package/dist/core/events/event-emitter.d.ts.map +0 -1
  266. package/dist/core/events/event-emitter.js +0 -94
  267. package/dist/core/events/event-emitter.js.map +0 -1
  268. package/dist/core/events/event.decorator.d.ts +0 -48
  269. package/dist/core/events/event.decorator.d.ts.map +0 -1
  270. package/dist/core/events/event.decorator.js +0 -72
  271. package/dist/core/events/event.decorator.js.map +0 -1
  272. package/dist/core/events/log-emitter.d.ts +0 -14
  273. package/dist/core/events/log-emitter.d.ts.map +0 -1
  274. package/dist/core/events/log-emitter.js +0 -20
  275. package/dist/core/events/log-emitter.js.map +0 -1
  276. package/dist/core/filters/__tests__/filters.test.d.ts +0 -2
  277. package/dist/core/filters/__tests__/filters.test.d.ts.map +0 -1
  278. package/dist/core/filters/__tests__/filters.test.js +0 -72
  279. package/dist/core/filters/__tests__/filters.test.js.map +0 -1
  280. package/dist/core/filters/exception-filter.decorator.d.ts +0 -40
  281. package/dist/core/filters/exception-filter.decorator.d.ts.map +0 -1
  282. package/dist/core/filters/exception-filter.decorator.js +0 -54
  283. package/dist/core/filters/exception-filter.decorator.js.map +0 -1
  284. package/dist/core/filters/exception-filter.interface.d.ts +0 -39
  285. package/dist/core/filters/exception-filter.interface.d.ts.map +0 -1
  286. package/dist/core/filters/exception-filter.interface.js +0 -2
  287. package/dist/core/filters/exception-filter.interface.js.map +0 -1
  288. package/dist/core/guards/__tests__/guards.test.d.ts +0 -2
  289. package/dist/core/guards/__tests__/guards.test.d.ts.map +0 -1
  290. package/dist/core/guards/__tests__/guards.test.js +0 -55
  291. package/dist/core/guards/__tests__/guards.test.js.map +0 -1
  292. package/dist/core/guards/apikey.guard.d.ts +0 -22
  293. package/dist/core/guards/apikey.guard.d.ts.map +0 -1
  294. package/dist/core/guards/apikey.guard.js +0 -11
  295. package/dist/core/guards/apikey.guard.js.map +0 -1
  296. package/dist/core/guards/guard.interface.d.ts +0 -18
  297. package/dist/core/guards/guard.interface.d.ts.map +0 -1
  298. package/dist/core/guards/guard.interface.js +0 -2
  299. package/dist/core/guards/guard.interface.js.map +0 -1
  300. package/dist/core/guards/jwt.guard.d.ts +0 -18
  301. package/dist/core/guards/jwt.guard.d.ts.map +0 -1
  302. package/dist/core/guards/jwt.guard.js +0 -2
  303. package/dist/core/guards/jwt.guard.js.map +0 -1
  304. package/dist/core/guards/oauth.guard.d.ts +0 -35
  305. package/dist/core/guards/oauth.guard.d.ts.map +0 -1
  306. package/dist/core/guards/oauth.guard.js +0 -2
  307. package/dist/core/guards/oauth.guard.js.map +0 -1
  308. package/dist/core/guards/use-guards.decorator.d.ts +0 -25
  309. package/dist/core/guards/use-guards.decorator.d.ts.map +0 -1
  310. package/dist/core/guards/use-guards.decorator.js +0 -32
  311. package/dist/core/guards/use-guards.decorator.js.map +0 -1
  312. package/dist/core/health/__tests__/health.test.d.ts +0 -2
  313. package/dist/core/health/__tests__/health.test.d.ts.map +0 -1
  314. package/dist/core/health/__tests__/health.test.js +0 -31
  315. package/dist/core/health/__tests__/health.test.js.map +0 -1
  316. package/dist/core/health/health-checks.resource.d.ts +0 -14
  317. package/dist/core/health/health-checks.resource.d.ts.map +0 -1
  318. package/dist/core/health/health-checks.resource.js +0 -29
  319. package/dist/core/health/health-checks.resource.js.map +0 -1
  320. package/dist/core/index.d.ts +0 -57
  321. package/dist/core/index.d.ts.map +0 -1
  322. package/dist/core/index.js +0 -59
  323. package/dist/core/index.js.map +0 -1
  324. package/dist/core/interceptors/__tests__/interceptors.test.d.ts +0 -2
  325. package/dist/core/interceptors/__tests__/interceptors.test.d.ts.map +0 -1
  326. package/dist/core/interceptors/__tests__/interceptors.test.js +0 -52
  327. package/dist/core/interceptors/__tests__/interceptors.test.js.map +0 -1
  328. package/dist/core/interceptors/interceptor.decorator.d.ts +0 -37
  329. package/dist/core/interceptors/interceptor.decorator.d.ts.map +0 -1
  330. package/dist/core/interceptors/interceptor.decorator.js +0 -51
  331. package/dist/core/interceptors/interceptor.decorator.js.map +0 -1
  332. package/dist/core/interceptors/interceptor.interface.d.ts +0 -31
  333. package/dist/core/interceptors/interceptor.interface.d.ts.map +0 -1
  334. package/dist/core/interceptors/interceptor.interface.js +0 -2
  335. package/dist/core/interceptors/interceptor.interface.js.map +0 -1
  336. package/dist/core/jwt-module.d.ts +0 -51
  337. package/dist/core/jwt-module.d.ts.map +0 -1
  338. package/dist/core/jwt-module.js +0 -52
  339. package/dist/core/jwt-module.js.map +0 -1
  340. package/dist/core/logger.d.ts +0 -18
  341. package/dist/core/logger.d.ts.map +0 -1
  342. package/dist/core/logger.js +0 -53
  343. package/dist/core/logger.js.map +0 -1
  344. package/dist/core/middleware/__tests__/middleware.test.d.ts +0 -2
  345. package/dist/core/middleware/__tests__/middleware.test.d.ts.map +0 -1
  346. package/dist/core/middleware/__tests__/middleware.test.js +0 -105
  347. package/dist/core/middleware/__tests__/middleware.test.js.map +0 -1
  348. package/dist/core/middleware/middleware.decorator.d.ts +0 -39
  349. package/dist/core/middleware/middleware.decorator.d.ts.map +0 -1
  350. package/dist/core/middleware/middleware.decorator.js +0 -53
  351. package/dist/core/middleware/middleware.decorator.js.map +0 -1
  352. package/dist/core/middleware/middleware.interface.d.ts +0 -29
  353. package/dist/core/middleware/middleware.interface.d.ts.map +0 -1
  354. package/dist/core/middleware/middleware.interface.js +0 -2
  355. package/dist/core/middleware/middleware.interface.js.map +0 -1
  356. package/dist/core/module.d.ts +0 -93
  357. package/dist/core/module.d.ts.map +0 -1
  358. package/dist/core/module.js +0 -87
  359. package/dist/core/module.js.map +0 -1
  360. package/dist/core/oauth-module.d.ts +0 -123
  361. package/dist/core/oauth-module.d.ts.map +0 -1
  362. package/dist/core/oauth-module.js +0 -324
  363. package/dist/core/oauth-module.js.map +0 -1
  364. package/dist/core/pipes/__tests__/pipes.test.d.ts +0 -2
  365. package/dist/core/pipes/__tests__/pipes.test.d.ts.map +0 -1
  366. package/dist/core/pipes/__tests__/pipes.test.js +0 -164
  367. package/dist/core/pipes/__tests__/pipes.test.js.map +0 -1
  368. package/dist/core/pipes/pipe.decorator.d.ts +0 -64
  369. package/dist/core/pipes/pipe.decorator.d.ts.map +0 -1
  370. package/dist/core/pipes/pipe.decorator.js +0 -85
  371. package/dist/core/pipes/pipe.decorator.js.map +0 -1
  372. package/dist/core/pipes/pipe.interface.d.ts +0 -41
  373. package/dist/core/pipes/pipe.interface.d.ts.map +0 -1
  374. package/dist/core/pipes/pipe.interface.js +0 -2
  375. package/dist/core/pipes/pipe.interface.js.map +0 -1
  376. package/dist/core/prompt.d.ts +0 -46
  377. package/dist/core/prompt.d.ts.map +0 -1
  378. package/dist/core/prompt.js +0 -76
  379. package/dist/core/prompt.js.map +0 -1
  380. package/dist/core/resource.d.ts +0 -47
  381. package/dist/core/resource.d.ts.map +0 -1
  382. package/dist/core/resource.js +0 -90
  383. package/dist/core/resource.js.map +0 -1
  384. package/dist/core/server.d.ts +0 -129
  385. package/dist/core/server.d.ts.map +0 -1
  386. package/dist/core/server.js +0 -617
  387. package/dist/core/server.js.map +0 -1
  388. package/dist/core/tool.d.ts +0 -108
  389. package/dist/core/tool.d.ts.map +0 -1
  390. package/dist/core/tool.js +0 -241
  391. package/dist/core/tool.js.map +0 -1
  392. package/dist/core/transports/__tests__/transports.test.d.ts +0 -2
  393. package/dist/core/transports/__tests__/transports.test.d.ts.map +0 -1
  394. package/dist/core/transports/__tests__/transports.test.js +0 -249
  395. package/dist/core/transports/__tests__/transports.test.js.map +0 -1
  396. package/dist/core/transports/discovery-http-server.d.ts +0 -19
  397. package/dist/core/transports/discovery-http-server.d.ts.map +0 -1
  398. package/dist/core/transports/discovery-http-server.js +0 -54
  399. package/dist/core/transports/discovery-http-server.js.map +0 -1
  400. package/dist/core/transports/http-server.d.ts +0 -108
  401. package/dist/core/transports/http-server.d.ts.map +0 -1
  402. package/dist/core/transports/http-server.js +0 -293
  403. package/dist/core/transports/http-server.js.map +0 -1
  404. package/dist/core/transports/streamable-http.d.ts +0 -177
  405. package/dist/core/transports/streamable-http.d.ts.map +0 -1
  406. package/dist/core/transports/streamable-http.js +0 -1287
  407. package/dist/core/transports/streamable-http.js.map +0 -1
  408. package/dist/core/types.d.ts +0 -195
  409. package/dist/core/types.d.ts.map +0 -1
  410. package/dist/core/types.js +0 -2
  411. package/dist/core/types.js.map +0 -1
  412. package/dist/core/widgets/__tests__/registry.test.d.ts +0 -2
  413. package/dist/core/widgets/__tests__/registry.test.d.ts.map +0 -1
  414. package/dist/core/widgets/__tests__/registry.test.js +0 -69
  415. package/dist/core/widgets/__tests__/registry.test.js.map +0 -1
  416. package/dist/core/widgets/widget-examples.resource.d.ts +0 -17
  417. package/dist/core/widgets/widget-examples.resource.d.ts.map +0 -1
  418. package/dist/core/widgets/widget-examples.resource.js +0 -28
  419. package/dist/core/widgets/widget-examples.resource.js.map +0 -1
  420. package/dist/core/widgets/widget-registry.d.ts +0 -56
  421. package/dist/core/widgets/widget-registry.d.ts.map +0 -1
  422. package/dist/core/widgets/widget-registry.js +0 -75
  423. package/dist/core/widgets/widget-registry.js.map +0 -1
  424. package/dist/testing/__tests__/testing.test.d.ts +0 -2
  425. package/dist/testing/__tests__/testing.test.d.ts.map +0 -1
  426. package/dist/testing/__tests__/testing.test.js +0 -167
  427. package/dist/testing/__tests__/testing.test.js.map +0 -1
  428. package/dist/testing/index.d.ts +0 -103
  429. package/dist/testing/index.d.ts.map +0 -1
  430. package/dist/testing/index.js +0 -161
  431. package/dist/testing/index.js.map +0 -1
  432. package/dist/ui-next/__tests__/ui-next.test.d.ts +0 -2
  433. package/dist/ui-next/__tests__/ui-next.test.d.ts.map +0 -1
  434. package/dist/ui-next/__tests__/ui-next.test.js +0 -74
  435. package/dist/ui-next/__tests__/ui-next.test.js.map +0 -1
  436. package/dist/ui-next/index.d.ts +0 -31
  437. package/dist/ui-next/index.d.ts.map +0 -1
  438. package/dist/ui-next/index.js +0 -687
  439. 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":"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"}
@@ -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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"}