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,51 +0,0 @@
1
- import 'reflect-metadata';
2
- /**
3
- * JWT Module Configuration
4
- */
5
- export interface JWTModuleConfig {
6
- /** JWT secret (or env var name to read from) */
7
- secret?: string;
8
- /** Environment variable to read secret from */
9
- secretEnvVar?: string;
10
- /** Token expiration time (e.g., '24h', '7d') */
11
- expiresIn?: string;
12
- /** JWT audience */
13
- audience?: string;
14
- /** JWT issuer */
15
- issuer?: string;
16
- }
17
- /**
18
- * JWT Module - Enable JWT authentication in your MCP server
19
- *
20
- * Import this module to indicate your server uses JWT authentication.
21
- * Then use @UseGuards(JWTGuard) on your tools to protect them.
22
- *
23
- * @example
24
- * ```typescript
25
- * import { createServer, JWTModule } from 'nitrostack';
26
- *
27
- * const server = createServer({ ... });
28
- *
29
- * // Enable JWT authentication
30
- * server.use(JWTModule.forRoot({
31
- * secretEnvVar: 'JWT_SECRET',
32
- * expiresIn: '24h',
33
- * }));
34
- * ```
35
- */
36
- export declare class JWTModule {
37
- private static config;
38
- /**
39
- * Configure JWT module for the application
40
- */
41
- static forRoot(config: JWTModuleConfig): JWTModuleConfig;
42
- /**
43
- * Get current JWT configuration
44
- */
45
- static getConfig(): JWTModuleConfig;
46
- /**
47
- * Get JWT secret from config or environment
48
- */
49
- static getSecret(): string | null;
50
- }
51
- //# sourceMappingURL=jwt-module.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jwt-module.d.ts","sourceRoot":"","sources":["../../src/core/jwt-module.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,mBAAmB;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,iBAAiB;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAC,MAAM,CAGnB;IAEF;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe;IAKxD;;OAEG;IACH,MAAM,CAAC,SAAS,IAAI,eAAe;IAInC;;OAEG;IACH,MAAM,CAAC,SAAS,IAAI,MAAM,GAAG,IAAI;CAWlC"}
@@ -1,52 +0,0 @@
1
- import 'reflect-metadata';
2
- /**
3
- * JWT Module - Enable JWT authentication in your MCP server
4
- *
5
- * Import this module to indicate your server uses JWT authentication.
6
- * Then use @UseGuards(JWTGuard) on your tools to protect them.
7
- *
8
- * @example
9
- * ```typescript
10
- * import { createServer, JWTModule } from 'nitrostack';
11
- *
12
- * const server = createServer({ ... });
13
- *
14
- * // Enable JWT authentication
15
- * server.use(JWTModule.forRoot({
16
- * secretEnvVar: 'JWT_SECRET',
17
- * expiresIn: '24h',
18
- * }));
19
- * ```
20
- */
21
- export class JWTModule {
22
- static config = {
23
- secretEnvVar: 'JWT_SECRET',
24
- expiresIn: '24h',
25
- };
26
- /**
27
- * Configure JWT module for the application
28
- */
29
- static forRoot(config) {
30
- this.config = { ...this.config, ...config };
31
- return this.config;
32
- }
33
- /**
34
- * Get current JWT configuration
35
- */
36
- static getConfig() {
37
- return this.config;
38
- }
39
- /**
40
- * Get JWT secret from config or environment
41
- */
42
- static getSecret() {
43
- if (this.config.secret) {
44
- return this.config.secret;
45
- }
46
- if (this.config.secretEnvVar) {
47
- return process.env[this.config.secretEnvVar] || null;
48
- }
49
- return null;
50
- }
51
- }
52
- //# sourceMappingURL=jwt-module.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jwt-module.js","sourceRoot":"","sources":["../../src/core/jwt-module.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAsB1B;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,SAAS;IACZ,MAAM,CAAC,MAAM,GAAoB;QACvC,YAAY,EAAE,YAAY;QAC1B,SAAS,EAAE,KAAK;KACjB,CAAC;IAEF;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,MAAuB;QACpC,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,SAAS;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,SAAS;QACd,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAC5B,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YAC7B,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;QACvD,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC"}
@@ -1,18 +0,0 @@
1
- import { Logger } from './types.js';
2
- /**
3
- * Create a logger instance with custom configuration
4
- *
5
- * IMPORTANT: For MCP servers, console logging is DISABLED by default
6
- * as it breaks the JSON-RPC protocol over stdio. All logs go to files.
7
- */
8
- export declare function createLogger(options: {
9
- level?: string;
10
- file?: string;
11
- serviceName?: string;
12
- enableConsole?: boolean;
13
- }): Logger;
14
- /**
15
- * Default logger instance
16
- */
17
- export declare const defaultLogger: Logger;
18
- //# sourceMappingURL=logger.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/core/logger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAW,MAAM,YAAY,CAAC;AAG7C;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,GAAG,MAAM,CA6DT;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,QAAkC,CAAC"}
@@ -1,53 +0,0 @@
1
- import winston from 'winston';
2
- import { EventEmitterTransport } from './events/log-emitter.js';
3
- /**
4
- * Create a logger instance with custom configuration
5
- *
6
- * IMPORTANT: For MCP servers, console logging is DISABLED by default
7
- * as it breaks the JSON-RPC protocol over stdio. All logs go to files.
8
- */
9
- export function createLogger(options) {
10
- const { level = 'info', file, serviceName = 'nitrostack', enableConsole = false } = options;
11
- const transports = [new EventEmitterTransport()];
12
- // CRITICAL: Console logging disabled by default for MCP compatibility
13
- // MCP uses stdio for JSON-RPC communication, console output breaks it
14
- if (enableConsole) {
15
- transports.push(new winston.transports.Console({
16
- format: winston.format.combine(winston.format.colorize(), winston.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), winston.format.printf(({ timestamp, level, message, ...meta }) => {
17
- const metaStr = Object.keys(meta).length > 0 ? `\n${JSON.stringify(meta, null, 2)}` : '';
18
- return `${timestamp} [${serviceName}] ${level}: ${message}${metaStr}`;
19
- })),
20
- }));
21
- }
22
- // File logging - always recommended for MCP servers
23
- if (file) {
24
- transports.push(new winston.transports.File({
25
- filename: file,
26
- format: winston.format.combine(winston.format.timestamp(), winston.format.json()),
27
- }));
28
- }
29
- // If no transports configured, use a null transport to avoid crashes
30
- if (transports.length === 0) {
31
- // Silent logger - logs nowhere (better than crashing)
32
- transports.push(new winston.transports.File({
33
- filename: '/dev/null', // Discard logs
34
- silent: true,
35
- }));
36
- }
37
- const winstonLogger = winston.createLogger({
38
- level,
39
- format: winston.format.combine(winston.format.timestamp(), winston.format.json()),
40
- transports,
41
- });
42
- return {
43
- debug: (message, meta) => winstonLogger.debug(message, meta),
44
- info: (message, meta) => winstonLogger.info(message, meta),
45
- warn: (message, meta) => winstonLogger.warn(message, meta),
46
- error: (message, meta) => winstonLogger.error(message, meta),
47
- };
48
- }
49
- /**
50
- * Default logger instance
51
- */
52
- export const defaultLogger = createLogger({ level: 'info' });
53
- //# sourceMappingURL=logger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/core/logger.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import 'reflect-metadata';
2
- //# sourceMappingURL=middleware.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"middleware.test.d.ts","sourceRoot":"","sources":["../../../../src/core/middleware/__tests__/middleware.test.ts"],"names":[],"mappings":"AACA,OAAO,kBAAkB,CAAC"}
@@ -1,105 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
10
- import { describe, it, expect } from '@jest/globals';
11
- import 'reflect-metadata';
12
- import { Middleware, UseMiddleware, getMiddlewareMetadata, isMiddleware } from '../middleware.decorator.js';
13
- describe('Core Middleware', () => {
14
- describe('@Middleware Decorator', () => {
15
- it('should mark class as middleware', () => {
16
- let TestMiddleware = class TestMiddleware {
17
- async use(ctx, next) { return next(); }
18
- };
19
- TestMiddleware = __decorate([
20
- Middleware()
21
- ], TestMiddleware);
22
- expect(isMiddleware(TestMiddleware)).toBe(true);
23
- });
24
- it('should return false for non-middleware class', () => {
25
- class NormalClass {
26
- }
27
- expect(isMiddleware(NormalClass)).toBe(false);
28
- });
29
- });
30
- describe('@UseMiddleware Decorator', () => {
31
- it('should register middleware metadata on method', () => {
32
- class TestMiddleware {
33
- }
34
- class TestClass {
35
- testMethod() { }
36
- }
37
- __decorate([
38
- UseMiddleware(TestMiddleware),
39
- __metadata("design:type", Function),
40
- __metadata("design:paramtypes", []),
41
- __metadata("design:returntype", void 0)
42
- ], TestClass.prototype, "testMethod", null);
43
- const instance = new TestClass();
44
- const metadata = getMiddlewareMetadata(instance, 'testMethod');
45
- expect(metadata).toHaveLength(1);
46
- expect(metadata[0]).toBe(TestMiddleware);
47
- });
48
- it('should stack multiple middlewares', () => {
49
- class Middleware1 {
50
- }
51
- class Middleware2 {
52
- }
53
- class TestClass {
54
- testMethod() { }
55
- }
56
- __decorate([
57
- UseMiddleware(Middleware1),
58
- UseMiddleware(Middleware2),
59
- __metadata("design:type", Function),
60
- __metadata("design:paramtypes", []),
61
- __metadata("design:returntype", void 0)
62
- ], TestClass.prototype, "testMethod", null);
63
- const instance = new TestClass();
64
- const metadata = getMiddlewareMetadata(instance, 'testMethod');
65
- // Decorators apply inside-out (bottom-up), so Middleware2 comes first, then Middleware1
66
- // But usually we want execution order. Let's check how implementation handles it.
67
- // based on the implementation: [...existing, ...new].
68
- // 1. @UseMiddleware(Middleware2) runs -> metadata = [Middleware2]
69
- // 2. @UseMiddleware(Middleware1) runs -> existing=[Middleware2], new=[Middleware1] -> result=[Middleware2, Middleware1]
70
- // Wait, looking at implementation:
71
- // const existingMiddlewares = Reflect.getMetadata(...) || [];
72
- // Reflect.defineMetadata(..., [...existingMiddlewares, ...middlewares], ...);
73
- // So if I use:
74
- // @A
75
- // @B
76
- // method()
77
- // B runs first. sets [B].
78
- // A runs second. gets [B]. sets [B, A].
79
- expect(metadata).toHaveLength(2);
80
- expect(metadata[0]).toBe(Middleware2);
81
- expect(metadata[1]).toBe(Middleware1);
82
- });
83
- it('should accept multiple middlewares in single decorator', () => {
84
- class Middleware1 {
85
- }
86
- class Middleware2 {
87
- }
88
- class TestClass {
89
- testMethod() { }
90
- }
91
- __decorate([
92
- UseMiddleware(Middleware1, Middleware2),
93
- __metadata("design:type", Function),
94
- __metadata("design:paramtypes", []),
95
- __metadata("design:returntype", void 0)
96
- ], TestClass.prototype, "testMethod", null);
97
- const instance = new TestClass();
98
- const metadata = getMiddlewareMetadata(instance, 'testMethod');
99
- expect(metadata).toHaveLength(2);
100
- expect(metadata[0]).toBe(Middleware1);
101
- expect(metadata[1]).toBe(Middleware2);
102
- });
103
- });
104
- });
105
- //# sourceMappingURL=middleware.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"middleware.test.js","sourceRoot":"","sources":["../../../../src/core/middleware/__tests__/middleware.test.ts"],"names":[],"mappings":"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"}
@@ -1,39 +0,0 @@
1
- import 'reflect-metadata';
2
- import { MiddlewareConstructor } from './middleware.interface.js';
3
- /**
4
- * Marks a class as a middleware
5
- *
6
- * @example
7
- * ```typescript
8
- * @Middleware()
9
- * export class LoggingMiddleware implements MiddlewareInterface {
10
- * async use(context: ExecutionContext, next: () => Promise<unknown>) {
11
- * console.log('Before');
12
- * const result = await next();
13
- * console.log('After');
14
- * return result;
15
- * }
16
- * }
17
- * ```
18
- */
19
- export declare function Middleware(): ClassDecorator;
20
- /**
21
- * Apply middleware to a tool method
22
- *
23
- * @example
24
- * ```typescript
25
- * @Tool({ name: 'my_tool', ... })
26
- * @UseMiddleware(LoggingMiddleware, AuthMiddleware)
27
- * async myTool(input: Record<string, unknown>, context: ExecutionContext) { }
28
- * ```
29
- */
30
- export declare function UseMiddleware(...middlewares: MiddlewareConstructor[]): MethodDecorator;
31
- /**
32
- * Get middlewares for a method
33
- */
34
- export declare function getMiddlewareMetadata(target: object, propertyKey: string | symbol): MiddlewareConstructor[];
35
- /**
36
- * Check if a class is marked as middleware
37
- */
38
- export declare function isMiddleware(target: object): boolean;
39
- //# sourceMappingURL=middleware.decorator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"middleware.decorator.d.ts","sourceRoot":"","sources":["../../../src/core/middleware/middleware.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAKlE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,IAAI,cAAc,CAI3C;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,GAAG,WAAW,EAAE,qBAAqB,EAAE,GAAG,eAAe,CAUtF;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,qBAAqB,EAAE,CAE3G;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEpD"}
@@ -1,53 +0,0 @@
1
- import 'reflect-metadata';
2
- const MIDDLEWARE_KEY = 'nitrostack:middleware';
3
- const IS_MIDDLEWARE_KEY = 'nitrostack:is_middleware';
4
- /**
5
- * Marks a class as a middleware
6
- *
7
- * @example
8
- * ```typescript
9
- * @Middleware()
10
- * export class LoggingMiddleware implements MiddlewareInterface {
11
- * async use(context: ExecutionContext, next: () => Promise<unknown>) {
12
- * console.log('Before');
13
- * const result = await next();
14
- * console.log('After');
15
- * return result;
16
- * }
17
- * }
18
- * ```
19
- */
20
- export function Middleware() {
21
- return (target) => {
22
- Reflect.defineMetadata(IS_MIDDLEWARE_KEY, true, target);
23
- };
24
- }
25
- /**
26
- * Apply middleware to a tool method
27
- *
28
- * @example
29
- * ```typescript
30
- * @Tool({ name: 'my_tool', ... })
31
- * @UseMiddleware(LoggingMiddleware, AuthMiddleware)
32
- * async myTool(input: Record<string, unknown>, context: ExecutionContext) { }
33
- * ```
34
- */
35
- export function UseMiddleware(...middlewares) {
36
- return (target, propertyKey, descriptor) => {
37
- const existingMiddlewares = Reflect.getMetadata(MIDDLEWARE_KEY, target, propertyKey) || [];
38
- Reflect.defineMetadata(MIDDLEWARE_KEY, [...existingMiddlewares, ...middlewares], target, propertyKey);
39
- };
40
- }
41
- /**
42
- * Get middlewares for a method
43
- */
44
- export function getMiddlewareMetadata(target, propertyKey) {
45
- return Reflect.getMetadata(MIDDLEWARE_KEY, target, propertyKey) || [];
46
- }
47
- /**
48
- * Check if a class is marked as middleware
49
- */
50
- export function isMiddleware(target) {
51
- return Reflect.getMetadata(IS_MIDDLEWARE_KEY, target) === true;
52
- }
53
- //# sourceMappingURL=middleware.decorator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"middleware.decorator.js","sourceRoot":"","sources":["../../../src/core/middleware/middleware.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAG1B,MAAM,cAAc,GAAG,uBAAuB,CAAC;AAC/C,MAAM,iBAAiB,GAAG,0BAA0B,CAAC;AAErD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,UAAU;IACxB,OAAO,CAAC,MAAc,EAAE,EAAE;QACxB,OAAO,CAAC,cAAc,CAAC,iBAAiB,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,GAAG,WAAoC;IACnE,OAAO,CAAC,MAAc,EAAE,WAA4B,EAAE,UAA8B,EAAE,EAAE;QACtF,MAAM,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;QAC3F,OAAO,CAAC,cAAc,CACpB,cAAc,EACd,CAAC,GAAG,mBAAmB,EAAE,GAAG,WAAW,CAAC,EACxC,MAAM,EACN,WAAW,CACZ,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAc,EAAE,WAA4B;IAChF,OAAO,OAAO,CAAC,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;AACxE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,OAAO,OAAO,CAAC,WAAW,CAAC,iBAAiB,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;AACjE,CAAC"}
@@ -1,29 +0,0 @@
1
- import 'reflect-metadata';
2
- import { ExecutionContext } from '../types.js';
3
- /**
4
- * Middleware Interface
5
- *
6
- * Middleware can intercept tool execution for cross-cutting concerns
7
- * like logging, authentication, validation, etc.
8
- *
9
- * @example
10
- * ```typescript
11
- * @Middleware()
12
- * export class LoggingMiddleware implements MiddlewareInterface {
13
- * async use(context: ExecutionContext, next: () => Promise<unknown>) {
14
- * console.log('Before:', context.toolName);
15
- * const result = await next();
16
- * console.log('After:', context.toolName);
17
- * return result;
18
- * }
19
- * }
20
- * ```
21
- */
22
- export interface MiddlewareInterface {
23
- use(context: ExecutionContext, next: () => Promise<unknown>): Promise<unknown>;
24
- }
25
- /**
26
- * Middleware constructor type
27
- */
28
- export type MiddlewareConstructor = new (...args: unknown[]) => MiddlewareInterface;
29
- //# sourceMappingURL=middleware.interface.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"middleware.interface.d.ts","sourceRoot":"","sources":["../../../src/core/middleware/middleware.interface.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,mBAAmB;IAClC,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAChF;AAED;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,mBAAmB,CAAC"}
@@ -1,2 +0,0 @@
1
- import 'reflect-metadata';
2
- //# sourceMappingURL=middleware.interface.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"middleware.interface.js","sourceRoot":"","sources":["../../../src/core/middleware/middleware.interface.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC"}
@@ -1,93 +0,0 @@
1
- import 'reflect-metadata';
2
- import type { ClassConstructor } from './types.js';
3
- /**
4
- * Module metadata key
5
- */
6
- export declare const MODULE_METADATA: unique symbol;
7
- /**
8
- * Provider definition for dependency injection
9
- */
10
- export interface Provider {
11
- provide: string | symbol | ClassConstructor;
12
- useValue?: unknown;
13
- useClass?: ClassConstructor;
14
- useFactory?: (...args: unknown[]) => unknown;
15
- }
16
- /**
17
- * Dynamic module definition (for configurable modules)
18
- */
19
- export interface DynamicModule {
20
- module?: ClassConstructor;
21
- providers?: (ClassConstructor | Provider)[];
22
- exports?: (ClassConstructor | string | symbol)[];
23
- controllers?: ClassConstructor[];
24
- imports?: ModuleImport[];
25
- }
26
- /**
27
- * Type for module imports - can be a class or a dynamic module configuration
28
- */
29
- export type ModuleImport = ClassConstructor | DynamicModule;
30
- /**
31
- * Module metadata interface
32
- */
33
- export interface ModuleMetadata {
34
- /** Module name */
35
- name: string;
36
- /** Module description */
37
- description?: string;
38
- /** Controllers (classes with @Tool, @Resource, @Prompt decorators) */
39
- controllers?: ClassConstructor[];
40
- /** Services (dependency injection) */
41
- providers?: (ClassConstructor | Provider)[];
42
- /** Other modules to import */
43
- imports?: ModuleImport[];
44
- /** Items to export to other modules */
45
- exports?: (ClassConstructor | string | symbol)[];
46
- }
47
- /**
48
- * Module class (internal)
49
- */
50
- declare class ModuleClass {
51
- metadata: ModuleMetadata;
52
- constructor(metadata: ModuleMetadata);
53
- /**
54
- * Get all controllers from this module
55
- */
56
- getControllers(): ClassConstructor[];
57
- /**
58
- * Get module name
59
- */
60
- getName(): string;
61
- /**
62
- * Get module description
63
- */
64
- getDescription(): string | undefined;
65
- }
66
- /**
67
- * Module decorator - Defines a module with controllers, providers, imports
68
- *
69
- * @example
70
- * ```typescript
71
- * @Module({
72
- * name: 'auth',
73
- * description: 'Authentication module',
74
- * controllers: [AuthController],
75
- * })
76
- * export class AuthModule {}
77
- * ```
78
- */
79
- export declare function ModuleDecorator(metadata: ModuleMetadata): <T extends new (...args: any[]) => object>(constructor: T) => T;
80
- export { ModuleDecorator as Module };
81
- /**
82
- * Create a module instance from a class
83
- */
84
- export declare function createModule(moduleClass: ClassConstructor): ModuleClass;
85
- /**
86
- * Check if a class is a module
87
- */
88
- export declare function isModule(target: ClassConstructor): boolean;
89
- /**
90
- * Get module metadata from a class
91
- */
92
- export declare function getModuleMetadata(target: ClassConstructor): ModuleMetadata | undefined;
93
- //# sourceMappingURL=module.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/core/module.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD;;GAEG;AACH,eAAO,MAAM,eAAe,eAA4B,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,UAAU,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;CAC9C;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,SAAS,CAAC,EAAE,CAAC,gBAAgB,GAAG,QAAQ,CAAC,EAAE,CAAC;IAC5C,OAAO,CAAC,EAAE,CAAC,gBAAgB,GAAG,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACjD,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACjC,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG,aAAa,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IAEb,yBAAyB;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,sEAAsE;IACtE,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAEjC,sCAAsC;IACtC,SAAS,CAAC,EAAE,CAAC,gBAAgB,GAAG,QAAQ,CAAC,EAAE,CAAC;IAE5C,8BAA8B;IAC9B,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IAEzB,uCAAuC;IACvC,OAAO,CAAC,EAAE,CAAC,gBAAgB,GAAG,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;CAClD;AAED;;GAEG;AACH,cAAM,WAAW;IACI,QAAQ,EAAE,cAAc;gBAAxB,QAAQ,EAAE,cAAc;IAE3C;;OAEG;IACH,cAAc,IAAI,gBAAgB,EAAE;IAIpC;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;OAEG;IACH,cAAc,IAAI,MAAM,GAAG,SAAS;CAGrC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,cAAc,IAErC,CAAC,SAAS,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,EAAE,aAAa,CAAC,KAAG,CAAC,CAmB9E;AAGD,OAAO,EAAE,eAAe,IAAI,MAAM,EAAE,CAAC;AAErC;;GAEG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,gBAAgB,GAAG,WAAW,CAMvE;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAE1D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,cAAc,GAAG,SAAS,CAEtF"}
@@ -1,87 +0,0 @@
1
- import 'reflect-metadata';
2
- /**
3
- * Module metadata key
4
- */
5
- export const MODULE_METADATA = Symbol('module:metadata');
6
- /**
7
- * Module class (internal)
8
- */
9
- class ModuleClass {
10
- metadata;
11
- constructor(metadata) {
12
- this.metadata = metadata;
13
- }
14
- /**
15
- * Get all controllers from this module
16
- */
17
- getControllers() {
18
- return this.metadata.controllers || [];
19
- }
20
- /**
21
- * Get module name
22
- */
23
- getName() {
24
- return this.metadata.name;
25
- }
26
- /**
27
- * Get module description
28
- */
29
- getDescription() {
30
- return this.metadata.description;
31
- }
32
- }
33
- /**
34
- * Module decorator - Defines a module with controllers, providers, imports
35
- *
36
- * @example
37
- * ```typescript
38
- * @Module({
39
- * name: 'auth',
40
- * description: 'Authentication module',
41
- * controllers: [AuthController],
42
- * })
43
- * export class AuthModule {}
44
- * ```
45
- */
46
- export function ModuleDecorator(metadata) {
47
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
48
- return function (constructor) {
49
- // Store metadata on the class
50
- Reflect.defineMetadata(MODULE_METADATA, metadata, constructor);
51
- // Return the constructor with static method
52
- const enhanced = constructor;
53
- // Add static method
54
- Object.defineProperty(enhanced, 'getMetadata', {
55
- value: () => Reflect.getMetadata(MODULE_METADATA, constructor) || metadata,
56
- writable: false,
57
- enumerable: false,
58
- configurable: false,
59
- });
60
- return enhanced;
61
- };
62
- }
63
- // Export as "Module" for decorator usage
64
- export { ModuleDecorator as Module };
65
- /**
66
- * Create a module instance from a class
67
- */
68
- export function createModule(moduleClass) {
69
- const metadata = Reflect.getMetadata(MODULE_METADATA, moduleClass);
70
- if (!metadata) {
71
- throw new Error(`Class ${moduleClass.name} is not decorated with @Module`);
72
- }
73
- return new ModuleClass(metadata);
74
- }
75
- /**
76
- * Check if a class is a module
77
- */
78
- export function isModule(target) {
79
- return Reflect.hasMetadata(MODULE_METADATA, target);
80
- }
81
- /**
82
- * Get module metadata from a class
83
- */
84
- export function getModuleMetadata(target) {
85
- return Reflect.getMetadata(MODULE_METADATA, target);
86
- }
87
- //# sourceMappingURL=module.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/core/module.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAG1B;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAmDzD;;GAEG;AACH,MAAM,WAAW;IACI;IAAnB,YAAmB,QAAwB;QAAxB,aAAQ,GAAR,QAAQ,CAAgB;IAAG,CAAC;IAE/C;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;IACnC,CAAC;CACF;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,eAAe,CAAC,QAAwB;IACtD,8DAA8D;IAC9D,OAAO,UAAoD,WAAc;QACvE,8BAA8B;QAC9B,OAAO,CAAC,cAAc,CAAC,eAAe,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QAE/D,4CAA4C;QAC5C,MAAM,QAAQ,GAAG,WAEhB,CAAC;QAEF,oBAAoB;QACpB,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,aAAa,EAAE;YAC7C,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,eAAe,EAAE,WAAW,CAAC,IAAI,QAAQ;YAC1E,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;AACJ,CAAC;AAED,yCAAyC;AACzC,OAAO,EAAE,eAAe,IAAI,MAAM,EAAE,CAAC;AAErC;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,WAA6B;IACxD,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,eAAe,EAAE,WAAW,CAA+B,CAAC;IACjG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,SAAS,WAAW,CAAC,IAAI,gCAAgC,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,MAAwB;IAC/C,OAAO,OAAO,CAAC,WAAW,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAwB;IACxD,OAAO,OAAO,CAAC,WAAW,CAAC,eAAe,EAAE,MAAM,CAA+B,CAAC;AACpF,CAAC"}