nitrostack 1.0.83 → 1.0.84

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (435) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +38 -143
  3. package/package.json +13 -49
  4. package/dist/auth/__tests__/api-key.test.d.ts +0 -2
  5. package/dist/auth/__tests__/api-key.test.d.ts.map +0 -1
  6. package/dist/auth/__tests__/api-key.test.js +0 -156
  7. package/dist/auth/__tests__/api-key.test.js.map +0 -1
  8. package/dist/auth/__tests__/client.test.d.ts +0 -2
  9. package/dist/auth/__tests__/client.test.d.ts.map +0 -1
  10. package/dist/auth/__tests__/client.test.js +0 -173
  11. package/dist/auth/__tests__/client.test.js.map +0 -1
  12. package/dist/auth/__tests__/middleware.test.d.ts +0 -2
  13. package/dist/auth/__tests__/middleware.test.d.ts.map +0 -1
  14. package/dist/auth/__tests__/middleware.test.js +0 -232
  15. package/dist/auth/__tests__/middleware.test.js.map +0 -1
  16. package/dist/auth/__tests__/pkce.test.d.ts +0 -2
  17. package/dist/auth/__tests__/pkce.test.d.ts.map +0 -1
  18. package/dist/auth/__tests__/pkce.test.js +0 -110
  19. package/dist/auth/__tests__/pkce.test.js.map +0 -1
  20. package/dist/auth/__tests__/quick-setup.test.d.ts +0 -2
  21. package/dist/auth/__tests__/quick-setup.test.d.ts.map +0 -1
  22. package/dist/auth/__tests__/quick-setup.test.js +0 -95
  23. package/dist/auth/__tests__/quick-setup.test.js.map +0 -1
  24. package/dist/auth/__tests__/secure-secret.test.d.ts +0 -2
  25. package/dist/auth/__tests__/secure-secret.test.d.ts.map +0 -1
  26. package/dist/auth/__tests__/secure-secret.test.js +0 -104
  27. package/dist/auth/__tests__/secure-secret.test.js.map +0 -1
  28. package/dist/auth/__tests__/server-integration.test.d.ts +0 -2
  29. package/dist/auth/__tests__/server-integration.test.d.ts.map +0 -1
  30. package/dist/auth/__tests__/server-integration.test.js +0 -156
  31. package/dist/auth/__tests__/server-integration.test.js.map +0 -1
  32. package/dist/auth/__tests__/server-metadata.test.d.ts +0 -2
  33. package/dist/auth/__tests__/server-metadata.test.d.ts.map +0 -1
  34. package/dist/auth/__tests__/server-metadata.test.js +0 -72
  35. package/dist/auth/__tests__/server-metadata.test.js.map +0 -1
  36. package/dist/auth/__tests__/simple-jwt.test.d.ts +0 -2
  37. package/dist/auth/__tests__/simple-jwt.test.d.ts.map +0 -1
  38. package/dist/auth/__tests__/simple-jwt.test.js +0 -125
  39. package/dist/auth/__tests__/simple-jwt.test.js.map +0 -1
  40. package/dist/auth/__tests__/token-store.test.d.ts +0 -2
  41. package/dist/auth/__tests__/token-store.test.d.ts.map +0 -1
  42. package/dist/auth/__tests__/token-store.test.js +0 -167
  43. package/dist/auth/__tests__/token-store.test.js.map +0 -1
  44. package/dist/auth/__tests__/token-validation.test.d.ts +0 -2
  45. package/dist/auth/__tests__/token-validation.test.d.ts.map +0 -1
  46. package/dist/auth/__tests__/token-validation.test.js +0 -219
  47. package/dist/auth/__tests__/token-validation.test.js.map +0 -1
  48. package/dist/auth/api-key.d.ts +0 -118
  49. package/dist/auth/api-key.d.ts.map +0 -1
  50. package/dist/auth/api-key.js +0 -168
  51. package/dist/auth/api-key.js.map +0 -1
  52. package/dist/auth/client.d.ts +0 -151
  53. package/dist/auth/client.d.ts.map +0 -1
  54. package/dist/auth/client.js +0 -330
  55. package/dist/auth/client.js.map +0 -1
  56. package/dist/auth/index.d.ts +0 -31
  57. package/dist/auth/index.d.ts.map +0 -1
  58. package/dist/auth/index.js +0 -46
  59. package/dist/auth/index.js.map +0 -1
  60. package/dist/auth/middleware.d.ts +0 -95
  61. package/dist/auth/middleware.d.ts.map +0 -1
  62. package/dist/auth/middleware.js +0 -260
  63. package/dist/auth/middleware.js.map +0 -1
  64. package/dist/auth/pkce.d.ts +0 -53
  65. package/dist/auth/pkce.d.ts.map +0 -1
  66. package/dist/auth/pkce.js +0 -105
  67. package/dist/auth/pkce.js.map +0 -1
  68. package/dist/auth/quick-setup.d.ts +0 -94
  69. package/dist/auth/quick-setup.d.ts.map +0 -1
  70. package/dist/auth/quick-setup.js +0 -210
  71. package/dist/auth/quick-setup.js.map +0 -1
  72. package/dist/auth/secure-secret.d.ts +0 -136
  73. package/dist/auth/secure-secret.d.ts.map +0 -1
  74. package/dist/auth/secure-secret.js +0 -182
  75. package/dist/auth/secure-secret.js.map +0 -1
  76. package/dist/auth/server-integration.d.ts +0 -97
  77. package/dist/auth/server-integration.d.ts.map +0 -1
  78. package/dist/auth/server-integration.js +0 -182
  79. package/dist/auth/server-integration.js.map +0 -1
  80. package/dist/auth/server-metadata.d.ts +0 -51
  81. package/dist/auth/server-metadata.d.ts.map +0 -1
  82. package/dist/auth/server-metadata.js +0 -106
  83. package/dist/auth/server-metadata.js.map +0 -1
  84. package/dist/auth/simple-jwt.d.ts +0 -174
  85. package/dist/auth/simple-jwt.d.ts.map +0 -1
  86. package/dist/auth/simple-jwt.js +0 -162
  87. package/dist/auth/simple-jwt.js.map +0 -1
  88. package/dist/auth/token-store.d.ts +0 -104
  89. package/dist/auth/token-store.d.ts.map +0 -1
  90. package/dist/auth/token-store.js +0 -205
  91. package/dist/auth/token-store.js.map +0 -1
  92. package/dist/auth/token-validation.d.ts +0 -59
  93. package/dist/auth/token-validation.d.ts.map +0 -1
  94. package/dist/auth/token-validation.js +0 -241
  95. package/dist/auth/token-validation.js.map +0 -1
  96. package/dist/auth/types.d.ts +0 -215
  97. package/dist/auth/types.d.ts.map +0 -1
  98. package/dist/auth/types.js +0 -6
  99. package/dist/auth/types.js.map +0 -1
  100. package/dist/core/__tests__/app-decorator.test.d.ts +0 -2
  101. package/dist/core/__tests__/app-decorator.test.d.ts.map +0 -1
  102. package/dist/core/__tests__/app-decorator.test.js +0 -100
  103. package/dist/core/__tests__/app-decorator.test.js.map +0 -1
  104. package/dist/core/__tests__/app-factory.extended.test.d.ts +0 -2
  105. package/dist/core/__tests__/app-factory.extended.test.d.ts.map +0 -1
  106. package/dist/core/__tests__/app-factory.extended.test.js +0 -244
  107. package/dist/core/__tests__/app-factory.extended.test.js.map +0 -1
  108. package/dist/core/__tests__/builders.test.d.ts +0 -2
  109. package/dist/core/__tests__/builders.test.d.ts.map +0 -1
  110. package/dist/core/__tests__/builders.test.js +0 -98
  111. package/dist/core/__tests__/builders.test.js.map +0 -1
  112. package/dist/core/__tests__/component.test.d.ts +0 -2
  113. package/dist/core/__tests__/component.test.d.ts.map +0 -1
  114. package/dist/core/__tests__/component.test.js +0 -151
  115. package/dist/core/__tests__/component.test.js.map +0 -1
  116. package/dist/core/__tests__/config-module.test.d.ts +0 -2
  117. package/dist/core/__tests__/config-module.test.d.ts.map +0 -1
  118. package/dist/core/__tests__/config-module.test.js +0 -90
  119. package/dist/core/__tests__/config-module.test.js.map +0 -1
  120. package/dist/core/__tests__/core-modules.test.d.ts +0 -2
  121. package/dist/core/__tests__/core-modules.test.d.ts.map +0 -1
  122. package/dist/core/__tests__/core-modules.test.js +0 -36
  123. package/dist/core/__tests__/core-modules.test.js.map +0 -1
  124. package/dist/core/__tests__/di.test.d.ts +0 -2
  125. package/dist/core/__tests__/di.test.d.ts.map +0 -1
  126. package/dist/core/__tests__/di.test.js +0 -101
  127. package/dist/core/__tests__/di.test.js.map +0 -1
  128. package/dist/core/__tests__/errors.test.d.ts +0 -2
  129. package/dist/core/__tests__/errors.test.d.ts.map +0 -1
  130. package/dist/core/__tests__/errors.test.js +0 -109
  131. package/dist/core/__tests__/errors.test.js.map +0 -1
  132. package/dist/core/__tests__/final.blitz.test.d.ts +0 -2
  133. package/dist/core/__tests__/final.blitz.test.d.ts.map +0 -1
  134. package/dist/core/__tests__/final.blitz.test.js +0 -327
  135. package/dist/core/__tests__/final.blitz.test.js.map +0 -1
  136. package/dist/core/__tests__/jwt-module.test.d.ts +0 -2
  137. package/dist/core/__tests__/jwt-module.test.d.ts.map +0 -1
  138. package/dist/core/__tests__/jwt-module.test.js +0 -60
  139. package/dist/core/__tests__/jwt-module.test.js.map +0 -1
  140. package/dist/core/__tests__/logger.test.d.ts +0 -2
  141. package/dist/core/__tests__/logger.test.d.ts.map +0 -1
  142. package/dist/core/__tests__/logger.test.js +0 -83
  143. package/dist/core/__tests__/logger.test.js.map +0 -1
  144. package/dist/core/__tests__/models.test.d.ts +0 -2
  145. package/dist/core/__tests__/models.test.d.ts.map +0 -1
  146. package/dist/core/__tests__/models.test.js +0 -142
  147. package/dist/core/__tests__/models.test.js.map +0 -1
  148. package/dist/core/__tests__/module.test.d.ts +0 -2
  149. package/dist/core/__tests__/module.test.d.ts.map +0 -1
  150. package/dist/core/__tests__/module.test.js +0 -58
  151. package/dist/core/__tests__/module.test.js.map +0 -1
  152. package/dist/core/__tests__/oauth-module.test.d.ts +0 -2
  153. package/dist/core/__tests__/oauth-module.test.d.ts.map +0 -1
  154. package/dist/core/__tests__/oauth-module.test.js +0 -168
  155. package/dist/core/__tests__/oauth-module.test.js.map +0 -1
  156. package/dist/core/__tests__/oauth.extended.test.d.ts +0 -2
  157. package/dist/core/__tests__/oauth.extended.test.d.ts.map +0 -1
  158. package/dist/core/__tests__/oauth.extended.test.js +0 -146
  159. package/dist/core/__tests__/oauth.extended.test.js.map +0 -1
  160. package/dist/core/__tests__/prompt.test.d.ts +0 -2
  161. package/dist/core/__tests__/prompt.test.d.ts.map +0 -1
  162. package/dist/core/__tests__/prompt.test.js +0 -126
  163. package/dist/core/__tests__/prompt.test.js.map +0 -1
  164. package/dist/core/__tests__/resource.test.d.ts +0 -2
  165. package/dist/core/__tests__/resource.test.d.ts.map +0 -1
  166. package/dist/core/__tests__/resource.test.js +0 -173
  167. package/dist/core/__tests__/resource.test.js.map +0 -1
  168. package/dist/core/__tests__/server.extended.test.d.ts +0 -2
  169. package/dist/core/__tests__/server.extended.test.d.ts.map +0 -1
  170. package/dist/core/__tests__/server.extended.test.js +0 -242
  171. package/dist/core/__tests__/server.extended.test.js.map +0 -1
  172. package/dist/core/__tests__/server.test.d.ts +0 -2
  173. package/dist/core/__tests__/server.test.d.ts.map +0 -1
  174. package/dist/core/__tests__/server.test.js +0 -120
  175. package/dist/core/__tests__/server.test.js.map +0 -1
  176. package/dist/core/__tests__/transport.http.test.d.ts +0 -2
  177. package/dist/core/__tests__/transport.http.test.d.ts.map +0 -1
  178. package/dist/core/__tests__/transport.http.test.js +0 -119
  179. package/dist/core/__tests__/transport.http.test.js.map +0 -1
  180. package/dist/core/__tests__/transport.streamable.test.d.ts +0 -2
  181. package/dist/core/__tests__/transport.streamable.test.d.ts.map +0 -1
  182. package/dist/core/__tests__/transport.streamable.test.js +0 -168
  183. package/dist/core/__tests__/transport.streamable.test.js.map +0 -1
  184. package/dist/core/__tests__/transports.test.d.ts +0 -2
  185. package/dist/core/__tests__/transports.test.d.ts.map +0 -1
  186. package/dist/core/__tests__/transports.test.js +0 -12
  187. package/dist/core/__tests__/transports.test.js.map +0 -1
  188. package/dist/core/apikey-module.d.ts +0 -69
  189. package/dist/core/apikey-module.d.ts.map +0 -1
  190. package/dist/core/apikey-module.js +0 -114
  191. package/dist/core/apikey-module.js.map +0 -1
  192. package/dist/core/app-decorator.d.ts +0 -59
  193. package/dist/core/app-decorator.d.ts.map +0 -1
  194. package/dist/core/app-decorator.js +0 -322
  195. package/dist/core/app-decorator.js.map +0 -1
  196. package/dist/core/builders.d.ts +0 -50
  197. package/dist/core/builders.d.ts.map +0 -1
  198. package/dist/core/builders.js +0 -139
  199. package/dist/core/builders.js.map +0 -1
  200. package/dist/core/component.d.ts +0 -111
  201. package/dist/core/component.d.ts.map +0 -1
  202. package/dist/core/component.js +0 -228
  203. package/dist/core/component.js.map +0 -1
  204. package/dist/core/config-module.d.ts +0 -62
  205. package/dist/core/config-module.d.ts.map +0 -1
  206. package/dist/core/config-module.js +0 -94
  207. package/dist/core/config-module.js.map +0 -1
  208. package/dist/core/decorators/__tests__/decorators.test.d.ts +0 -2
  209. package/dist/core/decorators/__tests__/decorators.test.d.ts.map +0 -1
  210. package/dist/core/decorators/__tests__/decorators.test.js +0 -103
  211. package/dist/core/decorators/__tests__/decorators.test.js.map +0 -1
  212. package/dist/core/decorators/__tests__/extended-decorators.test.d.ts +0 -2
  213. package/dist/core/decorators/__tests__/extended-decorators.test.d.ts.map +0 -1
  214. package/dist/core/decorators/__tests__/extended-decorators.test.js +0 -194
  215. package/dist/core/decorators/__tests__/extended-decorators.test.js.map +0 -1
  216. package/dist/core/decorators/__tests__/health-check.test.d.ts +0 -2
  217. package/dist/core/decorators/__tests__/health-check.test.d.ts.map +0 -1
  218. package/dist/core/decorators/__tests__/health-check.test.js +0 -119
  219. package/dist/core/decorators/__tests__/health-check.test.js.map +0 -1
  220. package/dist/core/decorators/cache.decorator.d.ts +0 -61
  221. package/dist/core/decorators/cache.decorator.d.ts.map +0 -1
  222. package/dist/core/decorators/cache.decorator.js +0 -115
  223. package/dist/core/decorators/cache.decorator.js.map +0 -1
  224. package/dist/core/decorators/health-check.decorator.d.ts +0 -80
  225. package/dist/core/decorators/health-check.decorator.d.ts.map +0 -1
  226. package/dist/core/decorators/health-check.decorator.js +0 -153
  227. package/dist/core/decorators/health-check.decorator.js.map +0 -1
  228. package/dist/core/decorators/rate-limit.decorator.d.ts +0 -63
  229. package/dist/core/decorators/rate-limit.decorator.d.ts.map +0 -1
  230. package/dist/core/decorators/rate-limit.decorator.js +0 -129
  231. package/dist/core/decorators/rate-limit.decorator.js.map +0 -1
  232. package/dist/core/decorators.d.ts +0 -190
  233. package/dist/core/decorators.d.ts.map +0 -1
  234. package/dist/core/decorators.js +0 -170
  235. package/dist/core/decorators.js.map +0 -1
  236. package/dist/core/di/__tests__/container.test.d.ts +0 -2
  237. package/dist/core/di/__tests__/container.test.d.ts.map +0 -1
  238. package/dist/core/di/__tests__/container.test.js +0 -88
  239. package/dist/core/di/__tests__/container.test.js.map +0 -1
  240. package/dist/core/di/container.d.ts +0 -64
  241. package/dist/core/di/container.d.ts.map +0 -1
  242. package/dist/core/di/container.js +0 -105
  243. package/dist/core/di/container.js.map +0 -1
  244. package/dist/core/di/injectable.decorator.d.ts +0 -62
  245. package/dist/core/di/injectable.decorator.d.ts.map +0 -1
  246. package/dist/core/di/injectable.decorator.js +0 -66
  247. package/dist/core/di/injectable.decorator.js.map +0 -1
  248. package/dist/core/di/metadata-shim.d.ts +0 -31
  249. package/dist/core/di/metadata-shim.d.ts.map +0 -1
  250. package/dist/core/di/metadata-shim.js +0 -181
  251. package/dist/core/di/metadata-shim.js.map +0 -1
  252. package/dist/core/errors.d.ts +0 -54
  253. package/dist/core/errors.d.ts.map +0 -1
  254. package/dist/core/errors.js +0 -87
  255. package/dist/core/errors.js.map +0 -1
  256. package/dist/core/events/__tests__/events.test.d.ts +0 -2
  257. package/dist/core/events/__tests__/events.test.d.ts.map +0 -1
  258. package/dist/core/events/__tests__/events.test.js +0 -177
  259. package/dist/core/events/__tests__/events.test.js.map +0 -1
  260. package/dist/core/events/event-emitter.d.ts +0 -50
  261. package/dist/core/events/event-emitter.d.ts.map +0 -1
  262. package/dist/core/events/event-emitter.js +0 -94
  263. package/dist/core/events/event-emitter.js.map +0 -1
  264. package/dist/core/events/event.decorator.d.ts +0 -48
  265. package/dist/core/events/event.decorator.d.ts.map +0 -1
  266. package/dist/core/events/event.decorator.js +0 -72
  267. package/dist/core/events/event.decorator.js.map +0 -1
  268. package/dist/core/events/log-emitter.d.ts +0 -14
  269. package/dist/core/events/log-emitter.d.ts.map +0 -1
  270. package/dist/core/events/log-emitter.js +0 -20
  271. package/dist/core/events/log-emitter.js.map +0 -1
  272. package/dist/core/filters/__tests__/filters.test.d.ts +0 -2
  273. package/dist/core/filters/__tests__/filters.test.d.ts.map +0 -1
  274. package/dist/core/filters/__tests__/filters.test.js +0 -72
  275. package/dist/core/filters/__tests__/filters.test.js.map +0 -1
  276. package/dist/core/filters/exception-filter.decorator.d.ts +0 -40
  277. package/dist/core/filters/exception-filter.decorator.d.ts.map +0 -1
  278. package/dist/core/filters/exception-filter.decorator.js +0 -54
  279. package/dist/core/filters/exception-filter.decorator.js.map +0 -1
  280. package/dist/core/filters/exception-filter.interface.d.ts +0 -39
  281. package/dist/core/filters/exception-filter.interface.d.ts.map +0 -1
  282. package/dist/core/filters/exception-filter.interface.js +0 -2
  283. package/dist/core/filters/exception-filter.interface.js.map +0 -1
  284. package/dist/core/guards/__tests__/guards.test.d.ts +0 -2
  285. package/dist/core/guards/__tests__/guards.test.d.ts.map +0 -1
  286. package/dist/core/guards/__tests__/guards.test.js +0 -55
  287. package/dist/core/guards/__tests__/guards.test.js.map +0 -1
  288. package/dist/core/guards/apikey.guard.d.ts +0 -22
  289. package/dist/core/guards/apikey.guard.d.ts.map +0 -1
  290. package/dist/core/guards/apikey.guard.js +0 -11
  291. package/dist/core/guards/apikey.guard.js.map +0 -1
  292. package/dist/core/guards/guard.interface.d.ts +0 -18
  293. package/dist/core/guards/guard.interface.d.ts.map +0 -1
  294. package/dist/core/guards/guard.interface.js +0 -2
  295. package/dist/core/guards/guard.interface.js.map +0 -1
  296. package/dist/core/guards/jwt.guard.d.ts +0 -18
  297. package/dist/core/guards/jwt.guard.d.ts.map +0 -1
  298. package/dist/core/guards/jwt.guard.js +0 -2
  299. package/dist/core/guards/jwt.guard.js.map +0 -1
  300. package/dist/core/guards/oauth.guard.d.ts +0 -35
  301. package/dist/core/guards/oauth.guard.d.ts.map +0 -1
  302. package/dist/core/guards/oauth.guard.js +0 -2
  303. package/dist/core/guards/oauth.guard.js.map +0 -1
  304. package/dist/core/guards/use-guards.decorator.d.ts +0 -25
  305. package/dist/core/guards/use-guards.decorator.d.ts.map +0 -1
  306. package/dist/core/guards/use-guards.decorator.js +0 -32
  307. package/dist/core/guards/use-guards.decorator.js.map +0 -1
  308. package/dist/core/health/__tests__/health.test.d.ts +0 -2
  309. package/dist/core/health/__tests__/health.test.d.ts.map +0 -1
  310. package/dist/core/health/__tests__/health.test.js +0 -31
  311. package/dist/core/health/__tests__/health.test.js.map +0 -1
  312. package/dist/core/health/health-checks.resource.d.ts +0 -14
  313. package/dist/core/health/health-checks.resource.d.ts.map +0 -1
  314. package/dist/core/health/health-checks.resource.js +0 -29
  315. package/dist/core/health/health-checks.resource.js.map +0 -1
  316. package/dist/core/index.d.ts +0 -57
  317. package/dist/core/index.d.ts.map +0 -1
  318. package/dist/core/index.js +0 -59
  319. package/dist/core/index.js.map +0 -1
  320. package/dist/core/interceptors/__tests__/interceptors.test.d.ts +0 -2
  321. package/dist/core/interceptors/__tests__/interceptors.test.d.ts.map +0 -1
  322. package/dist/core/interceptors/__tests__/interceptors.test.js +0 -52
  323. package/dist/core/interceptors/__tests__/interceptors.test.js.map +0 -1
  324. package/dist/core/interceptors/interceptor.decorator.d.ts +0 -37
  325. package/dist/core/interceptors/interceptor.decorator.d.ts.map +0 -1
  326. package/dist/core/interceptors/interceptor.decorator.js +0 -51
  327. package/dist/core/interceptors/interceptor.decorator.js.map +0 -1
  328. package/dist/core/interceptors/interceptor.interface.d.ts +0 -31
  329. package/dist/core/interceptors/interceptor.interface.d.ts.map +0 -1
  330. package/dist/core/interceptors/interceptor.interface.js +0 -2
  331. package/dist/core/interceptors/interceptor.interface.js.map +0 -1
  332. package/dist/core/jwt-module.d.ts +0 -51
  333. package/dist/core/jwt-module.d.ts.map +0 -1
  334. package/dist/core/jwt-module.js +0 -52
  335. package/dist/core/jwt-module.js.map +0 -1
  336. package/dist/core/logger.d.ts +0 -18
  337. package/dist/core/logger.d.ts.map +0 -1
  338. package/dist/core/logger.js +0 -53
  339. package/dist/core/logger.js.map +0 -1
  340. package/dist/core/middleware/__tests__/middleware.test.d.ts +0 -2
  341. package/dist/core/middleware/__tests__/middleware.test.d.ts.map +0 -1
  342. package/dist/core/middleware/__tests__/middleware.test.js +0 -105
  343. package/dist/core/middleware/__tests__/middleware.test.js.map +0 -1
  344. package/dist/core/middleware/middleware.decorator.d.ts +0 -39
  345. package/dist/core/middleware/middleware.decorator.d.ts.map +0 -1
  346. package/dist/core/middleware/middleware.decorator.js +0 -53
  347. package/dist/core/middleware/middleware.decorator.js.map +0 -1
  348. package/dist/core/middleware/middleware.interface.d.ts +0 -29
  349. package/dist/core/middleware/middleware.interface.d.ts.map +0 -1
  350. package/dist/core/middleware/middleware.interface.js +0 -2
  351. package/dist/core/middleware/middleware.interface.js.map +0 -1
  352. package/dist/core/module.d.ts +0 -93
  353. package/dist/core/module.d.ts.map +0 -1
  354. package/dist/core/module.js +0 -87
  355. package/dist/core/module.js.map +0 -1
  356. package/dist/core/oauth-module.d.ts +0 -123
  357. package/dist/core/oauth-module.d.ts.map +0 -1
  358. package/dist/core/oauth-module.js +0 -324
  359. package/dist/core/oauth-module.js.map +0 -1
  360. package/dist/core/pipes/__tests__/pipes.test.d.ts +0 -2
  361. package/dist/core/pipes/__tests__/pipes.test.d.ts.map +0 -1
  362. package/dist/core/pipes/__tests__/pipes.test.js +0 -164
  363. package/dist/core/pipes/__tests__/pipes.test.js.map +0 -1
  364. package/dist/core/pipes/pipe.decorator.d.ts +0 -64
  365. package/dist/core/pipes/pipe.decorator.d.ts.map +0 -1
  366. package/dist/core/pipes/pipe.decorator.js +0 -85
  367. package/dist/core/pipes/pipe.decorator.js.map +0 -1
  368. package/dist/core/pipes/pipe.interface.d.ts +0 -41
  369. package/dist/core/pipes/pipe.interface.d.ts.map +0 -1
  370. package/dist/core/pipes/pipe.interface.js +0 -2
  371. package/dist/core/pipes/pipe.interface.js.map +0 -1
  372. package/dist/core/prompt.d.ts +0 -46
  373. package/dist/core/prompt.d.ts.map +0 -1
  374. package/dist/core/prompt.js +0 -76
  375. package/dist/core/prompt.js.map +0 -1
  376. package/dist/core/resource.d.ts +0 -47
  377. package/dist/core/resource.d.ts.map +0 -1
  378. package/dist/core/resource.js +0 -90
  379. package/dist/core/resource.js.map +0 -1
  380. package/dist/core/server.d.ts +0 -129
  381. package/dist/core/server.d.ts.map +0 -1
  382. package/dist/core/server.js +0 -617
  383. package/dist/core/server.js.map +0 -1
  384. package/dist/core/tool.d.ts +0 -108
  385. package/dist/core/tool.d.ts.map +0 -1
  386. package/dist/core/tool.js +0 -241
  387. package/dist/core/tool.js.map +0 -1
  388. package/dist/core/transports/__tests__/transports.test.d.ts +0 -2
  389. package/dist/core/transports/__tests__/transports.test.d.ts.map +0 -1
  390. package/dist/core/transports/__tests__/transports.test.js +0 -249
  391. package/dist/core/transports/__tests__/transports.test.js.map +0 -1
  392. package/dist/core/transports/discovery-http-server.d.ts +0 -19
  393. package/dist/core/transports/discovery-http-server.d.ts.map +0 -1
  394. package/dist/core/transports/discovery-http-server.js +0 -54
  395. package/dist/core/transports/discovery-http-server.js.map +0 -1
  396. package/dist/core/transports/http-server.d.ts +0 -108
  397. package/dist/core/transports/http-server.d.ts.map +0 -1
  398. package/dist/core/transports/http-server.js +0 -293
  399. package/dist/core/transports/http-server.js.map +0 -1
  400. package/dist/core/transports/streamable-http.d.ts +0 -177
  401. package/dist/core/transports/streamable-http.d.ts.map +0 -1
  402. package/dist/core/transports/streamable-http.js +0 -1287
  403. package/dist/core/transports/streamable-http.js.map +0 -1
  404. package/dist/core/types.d.ts +0 -195
  405. package/dist/core/types.d.ts.map +0 -1
  406. package/dist/core/types.js +0 -2
  407. package/dist/core/types.js.map +0 -1
  408. package/dist/core/widgets/__tests__/registry.test.d.ts +0 -2
  409. package/dist/core/widgets/__tests__/registry.test.d.ts.map +0 -1
  410. package/dist/core/widgets/__tests__/registry.test.js +0 -69
  411. package/dist/core/widgets/__tests__/registry.test.js.map +0 -1
  412. package/dist/core/widgets/widget-examples.resource.d.ts +0 -17
  413. package/dist/core/widgets/widget-examples.resource.d.ts.map +0 -1
  414. package/dist/core/widgets/widget-examples.resource.js +0 -28
  415. package/dist/core/widgets/widget-examples.resource.js.map +0 -1
  416. package/dist/core/widgets/widget-registry.d.ts +0 -56
  417. package/dist/core/widgets/widget-registry.d.ts.map +0 -1
  418. package/dist/core/widgets/widget-registry.js +0 -75
  419. package/dist/core/widgets/widget-registry.js.map +0 -1
  420. package/dist/testing/__tests__/testing.test.d.ts +0 -2
  421. package/dist/testing/__tests__/testing.test.d.ts.map +0 -1
  422. package/dist/testing/__tests__/testing.test.js +0 -167
  423. package/dist/testing/__tests__/testing.test.js.map +0 -1
  424. package/dist/testing/index.d.ts +0 -103
  425. package/dist/testing/index.d.ts.map +0 -1
  426. package/dist/testing/index.js +0 -161
  427. package/dist/testing/index.js.map +0 -1
  428. package/dist/ui-next/__tests__/ui-next.test.d.ts +0 -2
  429. package/dist/ui-next/__tests__/ui-next.test.d.ts.map +0 -1
  430. package/dist/ui-next/__tests__/ui-next.test.js +0 -74
  431. package/dist/ui-next/__tests__/ui-next.test.js.map +0 -1
  432. package/dist/ui-next/index.d.ts +0 -31
  433. package/dist/ui-next/index.d.ts.map +0 -1
  434. package/dist/ui-next/index.js +0 -687
  435. package/dist/ui-next/index.js.map +0 -1
@@ -1,153 +0,0 @@
1
- import 'reflect-metadata';
2
- const HEALTH_CHECK_KEY = 'nitrostack:health_check';
3
- // Global health check registry
4
- const healthChecks = new Map();
5
- /**
6
- * Health check decorator - marks a class as a health check
7
- *
8
- * @example
9
- * ```typescript
10
- * @HealthCheck({ name: 'database', description: 'Database connectivity' })
11
- * export class DatabaseHealthCheck implements HealthCheckInterface {
12
- * constructor(private database: DatabaseService) {}
13
- *
14
- * async check(): Promise<HealthCheckResult> {
15
- * try {
16
- * await this.database.ping();
17
- * return { status: 'up', message: 'Database is healthy' };
18
- * } catch (error) {
19
- * return {
20
- * status: 'down',
21
- * message: 'Database connection failed',
22
- * details: error.message
23
- * };
24
- * }
25
- * }
26
- * }
27
- * ```
28
- */
29
- export function HealthCheck(options) {
30
- return (target) => {
31
- Reflect.defineMetadata(HEALTH_CHECK_KEY, options, target);
32
- };
33
- }
34
- /**
35
- * Register a health check
36
- */
37
- export function registerHealthCheck(checker, options) {
38
- healthChecks.set(options.name, { checker, options });
39
- // Run periodically if interval is set
40
- if (options.interval) {
41
- setInterval(async () => {
42
- try {
43
- const result = await checker.check();
44
- const entry = healthChecks.get(options.name);
45
- if (entry) {
46
- entry.lastResult = {
47
- ...result,
48
- timestamp: Date.now(),
49
- };
50
- }
51
- }
52
- catch (error) {
53
- const entry = healthChecks.get(options.name);
54
- if (entry) {
55
- entry.lastResult = {
56
- status: 'down',
57
- message: 'Health check failed',
58
- details: error,
59
- timestamp: Date.now(),
60
- };
61
- }
62
- }
63
- }, options.interval * 1000);
64
- }
65
- }
66
- /**
67
- * Get all health check results
68
- */
69
- export async function getAllHealthChecks() {
70
- const results = {};
71
- for (const [name, { checker, lastResult }] of healthChecks.entries()) {
72
- if (lastResult) {
73
- results[name] = lastResult;
74
- }
75
- else {
76
- try {
77
- results[name] = {
78
- ...await checker.check(),
79
- timestamp: Date.now(),
80
- };
81
- }
82
- catch (error) {
83
- results[name] = {
84
- status: 'down',
85
- message: 'Health check failed',
86
- details: error instanceof Error ? error.message : String(error),
87
- timestamp: Date.now(),
88
- };
89
- }
90
- }
91
- }
92
- return results;
93
- }
94
- /**
95
- * Get a specific health check result
96
- */
97
- export async function getHealthCheck(name) {
98
- const entry = healthChecks.get(name);
99
- if (!entry)
100
- return null;
101
- if (entry.lastResult) {
102
- return entry.lastResult;
103
- }
104
- try {
105
- const result = await entry.checker.check();
106
- return {
107
- ...result,
108
- timestamp: Date.now(),
109
- };
110
- }
111
- catch (error) {
112
- return {
113
- status: 'down',
114
- message: 'Health check failed',
115
- details: error instanceof Error ? error.message : String(error),
116
- timestamp: Date.now(),
117
- };
118
- }
119
- }
120
- /**
121
- * Get overall health status
122
- */
123
- export async function getOverallHealth() {
124
- const checks = await getAllHealthChecks();
125
- const statuses = Object.values(checks).map(c => c.status);
126
- let overallStatus;
127
- if (statuses.every(s => s === 'up')) {
128
- overallStatus = 'healthy';
129
- }
130
- else if (statuses.some(s => s === 'down')) {
131
- overallStatus = 'unhealthy';
132
- }
133
- else {
134
- overallStatus = 'degraded';
135
- }
136
- return {
137
- status: overallStatus,
138
- checks,
139
- };
140
- }
141
- /**
142
- * Check if a class is a health check
143
- */
144
- export function isHealthCheck(target) {
145
- return Reflect.hasMetadata(HEALTH_CHECK_KEY, target);
146
- }
147
- /**
148
- * Get health check options from metadata
149
- */
150
- export function getHealthCheckMetadata(target) {
151
- return Reflect.getMetadata(HEALTH_CHECK_KEY, target);
152
- }
153
- //# sourceMappingURL=health-check.decorator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"health-check.decorator.js","sourceRoot":"","sources":["../../../src/core/decorators/health-check.decorator.ts"],"names":[],"mappings":"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"}
@@ -1,63 +0,0 @@
1
- import 'reflect-metadata';
2
- /**
3
- * Rate limit options
4
- */
5
- import { ExecutionContext } from '../types.js';
6
- export interface RateLimitOptions {
7
- /** Maximum number of requests */
8
- requests: number;
9
- /** Time window (e.g., '1m', '1h', '1d') */
10
- window: string;
11
- /** Custom key generator (default: uses auth subject or IP) */
12
- key?: (context: ExecutionContext) => string;
13
- /** Storage for rate limit data */
14
- storage?: RateLimitStorage;
15
- /** Custom error message */
16
- message?: string;
17
- }
18
- /**
19
- * Rate limit storage interface
20
- */
21
- export interface RateLimitStorage {
22
- increment(key: string, windowMs: number): Promise<number> | number;
23
- reset(key: string): Promise<void> | void;
24
- }
25
- /**
26
- * Default in-memory rate limit storage
27
- */
28
- export declare class InMemoryRateLimitStorage implements RateLimitStorage {
29
- private limits;
30
- increment(key: string, windowMs: number): number;
31
- reset(key: string): void;
32
- cleanup(): void;
33
- }
34
- /**
35
- * Rate limit decorator - limits the number of requests per time window
36
- *
37
- * @example
38
- * ```typescript
39
- * @Tool({ name: 'send_email', ... })
40
- * @RateLimit({ requests: 10, window: '1m' }) // 10 requests per minute
41
- * async sendEmail(input: Record<string, unknown>, context: ExecutionContext) {
42
- * // Send email
43
- * }
44
- *
45
- * // With custom key (per user)
46
- * @RateLimit({
47
- * requests: 100,
48
- * window: '1h',
49
- * key: (ctx) => ctx.auth?.subject || 'anonymous'
50
- * })
51
- * async createOrder(input: Record<string, unknown>, context: ExecutionContext) { }
52
- * ```
53
- */
54
- export declare function RateLimit(options: RateLimitOptions): MethodDecorator;
55
- /**
56
- * Get rate limit options from metadata
57
- */
58
- export declare function getRateLimitMetadata(target: object, propertyKey: string | symbol): RateLimitOptions | undefined;
59
- /**
60
- * Reset rate limit for a specific key
61
- */
62
- export declare function resetRateLimit(key: string): Promise<void>;
63
- //# sourceMappingURL=rate-limit.decorator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rate-limit.decorator.d.ts","sourceRoot":"","sources":["../../../src/core/decorators/rate-limit.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAI1B;;GAEG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,WAAW,gBAAgB;IAC/B,iCAAiC;IACjC,QAAQ,EAAE,MAAM,CAAC;IAEjB,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC;IAEf,8DAA8D;IAC9D,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,MAAM,CAAC;IAE5C,kCAAkC;IAClC,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAE3B,2BAA2B;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IACnE,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC1C;AAED;;GAEG;AACH,qBAAa,wBAAyB,YAAW,gBAAgB;IAC/D,OAAO,CAAC,MAAM,CAAyD;IAEvE,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAmBhD,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKxB,OAAO,IAAI,IAAI;CAQhB;AA8BD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,eAAe,CA+CpE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAE/G;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/D"}
@@ -1,129 +0,0 @@
1
- import 'reflect-metadata';
2
- const RATE_LIMIT_KEY = 'nitrostack:rate_limit';
3
- /**
4
- * Default in-memory rate limit storage
5
- */
6
- export class InMemoryRateLimitStorage {
7
- limits = new Map();
8
- increment(key, windowMs) {
9
- const now = Date.now();
10
- const limit = this.limits.get(key);
11
- // Reset if window expired
12
- if (!limit || limit.resetAt < now) {
13
- this.limits.set(key, {
14
- count: 1,
15
- resetAt: now + windowMs,
16
- });
17
- return 1;
18
- }
19
- // Increment
20
- limit.count++;
21
- this.limits.set(key, limit);
22
- return limit.count;
23
- }
24
- reset(key) {
25
- this.limits.delete(key);
26
- }
27
- // Cleanup expired entries
28
- cleanup() {
29
- const now = Date.now();
30
- for (const [key, limit] of this.limits.entries()) {
31
- if (limit.resetAt < now) {
32
- this.limits.delete(key);
33
- }
34
- }
35
- }
36
- }
37
- // Default storage instance
38
- const defaultStorage = new InMemoryRateLimitStorage();
39
- // Cleanup every minute
40
- setInterval(() => defaultStorage.cleanup(), 60000);
41
- /**
42
- * Parse time window string to milliseconds
43
- */
44
- function parseWindow(window) {
45
- const match = window.match(/^(\d+)([smhd])$/);
46
- if (!match) {
47
- throw new Error(`Invalid time window format: ${window}. Use format like '1m', '1h', '1d'`);
48
- }
49
- const value = parseInt(match[1], 10);
50
- const unit = match[2];
51
- const multipliers = {
52
- s: 1000,
53
- m: 60 * 1000,
54
- h: 60 * 60 * 1000,
55
- d: 24 * 60 * 60 * 1000,
56
- };
57
- return value * multipliers[unit];
58
- }
59
- /**
60
- * Rate limit decorator - limits the number of requests per time window
61
- *
62
- * @example
63
- * ```typescript
64
- * @Tool({ name: 'send_email', ... })
65
- * @RateLimit({ requests: 10, window: '1m' }) // 10 requests per minute
66
- * async sendEmail(input: Record<string, unknown>, context: ExecutionContext) {
67
- * // Send email
68
- * }
69
- *
70
- * // With custom key (per user)
71
- * @RateLimit({
72
- * requests: 100,
73
- * window: '1h',
74
- * key: (ctx) => ctx.auth?.subject || 'anonymous'
75
- * })
76
- * async createOrder(input: Record<string, unknown>, context: ExecutionContext) { }
77
- * ```
78
- */
79
- export function RateLimit(options) {
80
- return (target, propertyKey, descriptor) => {
81
- const originalMethod = descriptor.value;
82
- const windowMs = parseWindow(options.window);
83
- descriptor.value = async function (...args) {
84
- const context = args[1];
85
- const storage = options.storage || defaultStorage;
86
- // Generate rate limit key
87
- let rateLimitKey;
88
- if (options.key && context) {
89
- rateLimitKey = options.key(context);
90
- }
91
- else {
92
- // Default: use auth subject or 'anonymous'
93
- rateLimitKey = context?.auth?.subject || 'anonymous';
94
- }
95
- const fullKey = `${target.constructor.name}:${String(propertyKey)}:${rateLimitKey}`;
96
- // Check rate limit
97
- const count = await storage.increment(fullKey, windowMs);
98
- if (count > options.requests) {
99
- const message = options.message ||
100
- `Rate limit exceeded. Maximum ${options.requests} requests per ${options.window}`;
101
- if (context?.logger) {
102
- context.logger.warn(`[RateLimit] Limit exceeded for key: ${fullKey}`);
103
- }
104
- throw new Error(message);
105
- }
106
- if (context?.logger) {
107
- context.logger.info(`[RateLimit] Request ${count}/${options.requests} for key: ${fullKey}`);
108
- }
109
- // Execute original method
110
- return await originalMethod.apply(this, args);
111
- };
112
- // Store metadata
113
- Reflect.defineMetadata(RATE_LIMIT_KEY, options, target, propertyKey);
114
- return descriptor;
115
- };
116
- }
117
- /**
118
- * Get rate limit options from metadata
119
- */
120
- export function getRateLimitMetadata(target, propertyKey) {
121
- return Reflect.getMetadata(RATE_LIMIT_KEY, target, propertyKey);
122
- }
123
- /**
124
- * Reset rate limit for a specific key
125
- */
126
- export async function resetRateLimit(key) {
127
- await defaultStorage.reset(key);
128
- }
129
- //# sourceMappingURL=rate-limit.decorator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rate-limit.decorator.js","sourceRoot":"","sources":["../../../src/core/decorators/rate-limit.decorator.ts"],"names":[],"mappings":"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"}
@@ -1,190 +0,0 @@
1
- import 'reflect-metadata';
2
- import { z } from 'zod';
3
- import type { JsonValue, ClassConstructor } from './types.js';
4
- /**
5
- * Metadata keys for decorators
6
- */
7
- export declare const TOOL_METADATA: unique symbol;
8
- export declare const WIDGET_METADATA: unique symbol;
9
- export declare const RESOURCE_METADATA: unique symbol;
10
- export declare const PROMPT_METADATA: unique symbol;
11
- export declare const GUARDS_METADATA: unique symbol;
12
- /**
13
- * Example data for tools/resources
14
- */
15
- export interface ExampleData {
16
- request?: JsonValue;
17
- response?: JsonValue;
18
- }
19
- /**
20
- * Tool decorator options
21
- */
22
- export interface ToolOptions {
23
- name: string;
24
- description: string;
25
- inputSchema: z.ZodSchema;
26
- examples?: ExampleData;
27
- metadata?: {
28
- category?: string;
29
- tags?: string[];
30
- rateLimit?: {
31
- maxCalls: number;
32
- windowMs: number;
33
- };
34
- };
35
- }
36
- /**
37
- * Resource decorator options
38
- */
39
- export interface ResourceOptions {
40
- uri: string;
41
- name: string;
42
- description: string;
43
- mimeType?: string;
44
- examples?: {
45
- response?: JsonValue;
46
- };
47
- metadata?: {
48
- cacheable?: boolean;
49
- cacheMaxAge?: number;
50
- };
51
- }
52
- /**
53
- * Prompt decorator options
54
- */
55
- export interface PromptOptions {
56
- name: string;
57
- description: string;
58
- arguments?: Array<{
59
- name: string;
60
- description: string;
61
- required?: boolean;
62
- }>;
63
- }
64
- /**
65
- * Tool metadata stored on class
66
- */
67
- interface ToolMetadataEntry {
68
- methodName: string;
69
- options: ToolOptions;
70
- }
71
- /**
72
- * Tool decorator - Marks a method as an MCP tool
73
- *
74
- * @example
75
- * ```typescript
76
- * @Tool({
77
- * name: 'login',
78
- * description: 'Login with email and password',
79
- * inputSchema: z.object({
80
- * email: z.string().email(),
81
- * password: z.string(),
82
- * }),
83
- * })
84
- * async login(input: LoginInput, context: ExecutionContext) {
85
- * // Implementation
86
- * }
87
- * ```
88
- */
89
- export declare function Tool(options: ToolOptions): MethodDecorator;
90
- /**
91
- * Widget decorator - Links a tool to a Next.js widget route
92
- *
93
- * @example
94
- * ```typescript
95
- * @Tool({ name: 'login', ... })
96
- * @Widget('login-result')
97
- * async login(input: LoginInput, context: ExecutionContext) {
98
- * // Implementation
99
- * }
100
- * ```
101
- */
102
- export declare function Widget(routePath: string): MethodDecorator;
103
- /**
104
- * Resource metadata stored on class
105
- */
106
- interface ResourceMetadataEntry {
107
- methodName: string;
108
- options: ResourceOptions;
109
- }
110
- /**
111
- * Resource decorator - Marks a method as an MCP resource
112
- *
113
- * @example
114
- * ```typescript
115
- * @Resource({
116
- * uri: 'db://users/schema',
117
- * name: 'User Schema',
118
- * description: 'Database schema for users',
119
- * })
120
- * async getUserSchema(context: ExecutionContext) {
121
- * // Return schema
122
- * }
123
- * ```
124
- */
125
- export declare function Resource(options: ResourceOptions): MethodDecorator;
126
- /**
127
- * Prompt metadata stored on class
128
- */
129
- interface PromptMetadataEntry {
130
- methodName: string;
131
- options: PromptOptions;
132
- }
133
- /**
134
- * Prompt decorator - Marks a method as an MCP prompt
135
- *
136
- * @example
137
- * ```typescript
138
- * @Prompt({
139
- * name: 'authentication-help',
140
- * description: 'Help with authentication',
141
- * })
142
- * async authHelp(args: PromptArgs, context: ExecutionContext) {
143
- * // Return prompt messages
144
- * }
145
- * ```
146
- */
147
- export declare function Prompt(options: PromptOptions): MethodDecorator;
148
- /**
149
- * Extract tool definitions from a decorated class
150
- */
151
- export declare function extractTools(target: ClassConstructor): ToolMetadataEntry[];
152
- /**
153
- * Extract resource definitions from a decorated class
154
- */
155
- export declare function extractResources(target: ClassConstructor): ResourceMetadataEntry[];
156
- /**
157
- * Extract prompt definitions from a decorated class
158
- */
159
- export declare function extractPrompts(target: ClassConstructor): PromptMetadataEntry[];
160
- /**
161
- * Get widget metadata for a specific method
162
- */
163
- export declare function getWidgetMetadata(target: object, methodName: string): string | undefined;
164
- /**
165
- * Get guards metadata for a specific method
166
- */
167
- export declare function getGuardsMetadata(target: object, methodName: string): ClassConstructor[];
168
- /**
169
- * Initial tool decorator metadata key
170
- */
171
- export declare const INITIAL_TOOL_METADATA: unique symbol;
172
- /**
173
- * InitialTool decorator - Marks a tool to be automatically called when the client starts
174
- *
175
- * @example
176
- * ```typescript
177
- * @Tool({ ... })
178
- * @InitialTool()
179
- * async init(input: InitInput, context: ExecutionContext) {
180
- * // Implementation
181
- * }
182
- * ```
183
- */
184
- export declare function InitialTool(): MethodDecorator;
185
- /**
186
- * Get initial tool metadata for a specific method
187
- */
188
- export declare function getInitialToolMetadata(target: object, methodName: string): boolean;
189
- export {};
190
- //# sourceMappingURL=decorators.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/core/decorators.ts"],"names":[],"mappings":"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"}