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,322 +0,0 @@
1
- import 'reflect-metadata';
2
- import { createServer } from './server.js';
3
- import { createLogger } from './logger.js';
4
- import { DIContainer } from './di/container.js';
5
- import { registerHealthCheck } from './decorators/health-check.decorator.js';
6
- import { createResource } from './resource.js';
7
- import { getModuleMetadata } from './module.js';
8
- import { buildTools, buildResources, buildPrompts } from './builders.js';
9
- /**
10
- * Helper to check if a provider is a ClassConstructor
11
- */
12
- function isClassConstructor(provider) {
13
- return typeof provider === 'function';
14
- }
15
- /**
16
- * Register a provider (either class or object-style provider)
17
- */
18
- function registerProvider(container, provider) {
19
- if (isClassConstructor(provider)) {
20
- container.register(provider);
21
- }
22
- else {
23
- // Object-style provider: { provide: ..., useValue/useClass/useFactory: ... }
24
- const token = provider.provide;
25
- if (provider.useValue !== undefined) {
26
- container.registerValue(token, provider.useValue);
27
- }
28
- else if (provider.useClass) {
29
- container.register(token, provider.useClass);
30
- }
31
- // useFactory could be added later if needed
32
- }
33
- }
34
- /**
35
- * MCP Application Metadata Key
36
- */
37
- const MCP_APP_METADATA = Symbol('mcp:app');
38
- /**
39
- * @McpApp Decorator
40
- * Marks a class as the root application module
41
- */
42
- export function McpApp(options) {
43
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
44
- return (target) => {
45
- Reflect.defineMetadata(MCP_APP_METADATA, options, target);
46
- return target;
47
- };
48
- }
49
- /**
50
- * Get MCP App metadata
51
- */
52
- export function getMcpAppMetadata(target) {
53
- return Reflect.getMetadata(MCP_APP_METADATA, target);
54
- }
55
- /**
56
- * MCP Application Factory
57
- * Creates and bootstraps an MCP application
58
- */
59
- export class McpApplicationFactory {
60
- /**
61
- * Create an MCP application from an app module
62
- */
63
- static async create(AppModule) {
64
- const options = getMcpAppMetadata(AppModule);
65
- if (!options) {
66
- throw new Error(`${AppModule.name} is not decorated with @McpApp. ` +
67
- `Please add @McpApp decorator to your root module.`);
68
- }
69
- // Create logger
70
- const logger = createLogger({ level: options.logging?.level || 'info' });
71
- // Set log level if provided
72
- if (options.logging?.level) {
73
- process.env.LOG_LEVEL = options.logging.level;
74
- }
75
- // Create DI container
76
- const container = DIContainer.getInstance();
77
- // Register logger in DI for modules that need it
78
- container.registerValue('Logger', logger);
79
- // Get module metadata
80
- const moduleMetadata = getModuleMetadata(options.module);
81
- if (!moduleMetadata) {
82
- throw new Error(`${options.module.name} is not decorated with @Module`);
83
- }
84
- // Register all providers
85
- if (moduleMetadata.providers) {
86
- for (const provider of moduleMetadata.providers) {
87
- registerProvider(container, provider);
88
- // Check if provider is a health check (only for class constructors)
89
- if (isClassConstructor(provider)) {
90
- const healthCheckMetadata = Reflect.getMetadata('nitrostack:health_check', provider);
91
- if (healthCheckMetadata) {
92
- // Resolve and register health check
93
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
94
- const healthCheckInstance = container.resolve(provider);
95
- registerHealthCheck(healthCheckInstance, healthCheckMetadata);
96
- logger.info(` ✓ Health Check: ${healthCheckMetadata.name}`);
97
- }
98
- }
99
- }
100
- }
101
- // Register all controllers (tools/resources/prompts)
102
- if (moduleMetadata.controllers) {
103
- for (const controller of moduleMetadata.controllers) {
104
- container.register(controller);
105
- }
106
- }
107
- // Track dynamic modules (forRoot() style) to add to server after creation
108
- const dynamicModulesToAdd = [];
109
- // Process imports (other modules)
110
- if (moduleMetadata.imports) {
111
- for (const importedModule of moduleMetadata.imports) {
112
- if (typeof importedModule === 'function') {
113
- const importedMetadata = getModuleMetadata(importedModule);
114
- if (importedMetadata) {
115
- // Register providers from imported module
116
- if (importedMetadata.providers) {
117
- for (const provider of importedMetadata.providers) {
118
- registerProvider(container, provider);
119
- // Check if provider is a health check (only for class constructors)
120
- if (isClassConstructor(provider)) {
121
- const healthCheckMetadata = Reflect.getMetadata('nitrostack:health_check', provider);
122
- if (healthCheckMetadata) {
123
- // Resolve and register health check
124
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
125
- const healthCheckInstance = container.resolve(provider);
126
- registerHealthCheck(healthCheckInstance, healthCheckMetadata);
127
- logger.info(` ✓ Health Check: ${healthCheckMetadata.name}`);
128
- }
129
- }
130
- }
131
- }
132
- // Register controllers from imported module
133
- if (importedMetadata.controllers) {
134
- for (const controller of importedMetadata.controllers) {
135
- container.register(controller);
136
- }
137
- }
138
- }
139
- }
140
- else if (importedModule && typeof importedModule === 'object') {
141
- // Handle ConfigModule.forRoot() style dynamic modules
142
- const dynamicMod = importedModule;
143
- if (dynamicMod.providers) {
144
- for (const provider of dynamicMod.providers) {
145
- // Check if provider has {provide, useValue} format
146
- if (provider && typeof provider === 'object' && 'provide' in provider && 'useValue' in provider) {
147
- const valueProvider = provider;
148
- container.registerValue(valueProvider.provide, valueProvider.useValue);
149
- }
150
- else {
151
- container.register(provider);
152
- }
153
- }
154
- }
155
- // If the dynamic module has a module class, we'll add it to the server after creation
156
- // Don't register it in DI yet to avoid circular dependency issues
157
- if (dynamicMod.module) {
158
- dynamicModulesToAdd.push(dynamicMod.module);
159
- }
160
- }
161
- }
162
- }
163
- // Create server
164
- const server = createServer({
165
- name: options.server?.name || 'mcp-server',
166
- version: options.server?.version || '1.0.0',
167
- });
168
- // Register the server itself in DI so dynamic modules can inject it
169
- // Use string token since NitroStackServer has specific constructor signature
170
- container.registerValue('NitroStackServer', server);
171
- // Now register and add dynamic modules (from forRoot() calls) to server
172
- for (const dynamicModule of dynamicModulesToAdd) {
173
- container.register(dynamicModule);
174
- // Access internal modules array
175
- const serverInternal = server;
176
- serverInternal.modules.push(dynamicModule);
177
- }
178
- // Build and register tools, resources, and prompts from all controllers
179
- let totalTools = 0;
180
- let totalResources = 0;
181
- let totalPrompts = 0;
182
- // Process all registered controllers
183
- const allControllers = [];
184
- // Get controllers from root module
185
- if (moduleMetadata.controllers) {
186
- allControllers.push(...moduleMetadata.controllers);
187
- }
188
- // Get controllers from imported modules
189
- if (moduleMetadata.imports) {
190
- for (const importedModule of moduleMetadata.imports) {
191
- if (typeof importedModule === 'function') {
192
- const importedMetadata = getModuleMetadata(importedModule);
193
- if (importedMetadata?.controllers) {
194
- allControllers.push(...importedMetadata.controllers);
195
- }
196
- }
197
- }
198
- }
199
- // Build and register from each controller
200
- for (const controllerClass of allControllers) {
201
- // Resolve controller instance from DI container
202
- const controller = container.resolve(controllerClass);
203
- // Build tools
204
- const tools = buildTools(controller);
205
- for (const tool of tools) {
206
- server.tool(tool);
207
- totalTools++;
208
- }
209
- // Build resources
210
- const resources = buildResources(controller);
211
- for (const resource of resources) {
212
- server.resource(resource);
213
- totalResources++;
214
- }
215
- // Build prompts
216
- const prompts = buildPrompts(controller);
217
- for (const prompt of prompts) {
218
- server.prompt(prompt);
219
- totalPrompts++;
220
- }
221
- }
222
- // Register health checks resource if any health checks exist
223
- const { buildHealthChecksResource } = await import('./health/health-checks.resource.js');
224
- const healthChecksResourceDef = await buildHealthChecksResource();
225
- const healthChecksResource = createResource({
226
- uri: healthChecksResourceDef.uri,
227
- name: healthChecksResourceDef.name,
228
- description: healthChecksResourceDef.description,
229
- mimeType: healthChecksResourceDef.mimeType,
230
- handler: async (uri, context) => {
231
- const content = await healthChecksResourceDef.read();
232
- return { type: 'text', data: content };
233
- },
234
- });
235
- server.resource(healthChecksResource);
236
- logger.info(`✅ Health checks resource registered`);
237
- // Load widget manifest and register widget examples resource
238
- try {
239
- const { getWidgetRegistry } = await import('./widgets/widget-registry.js');
240
- const { buildWidgetExamplesResource } = await import('./widgets/widget-examples.resource.js');
241
- const { join } = await import('path');
242
- const registry = getWidgetRegistry();
243
- const widgetManifestPath = join(process.cwd(), 'src', 'widgets', 'widget-manifest.json');
244
- registry.loadManifest(widgetManifestPath);
245
- const widgetExamplesResourceDef = await buildWidgetExamplesResource();
246
- const widgetExamplesResource = createResource({
247
- uri: widgetExamplesResourceDef.uri,
248
- name: widgetExamplesResourceDef.name,
249
- description: widgetExamplesResourceDef.description,
250
- mimeType: widgetExamplesResourceDef.mimeType,
251
- handler: async (uri, context) => {
252
- const content = await widgetExamplesResourceDef.read();
253
- return { type: 'text', data: content };
254
- },
255
- });
256
- server.resource(widgetExamplesResource);
257
- logger.info(`Widget examples resource registered`);
258
- }
259
- catch (error) {
260
- const errorMessage = error instanceof Error ? error.message : String(error);
261
- logger.warn(`Widget examples not available: ${errorMessage}`);
262
- }
263
- logger.info(`✅ Application initialized with ${totalTools} tools, ${totalResources} resources, ${totalPrompts} prompts`);
264
- // Auto-detect transport type based on configuration
265
- let transportType = 'stdio';
266
- let transportOptions = undefined;
267
- // Check explicit transport configuration
268
- if (options.transport?.type) {
269
- transportType = options.transport.type;
270
- }
271
- // Check if OAuth is configured
272
- const { OAuthModule } = await import('./oauth-module.js');
273
- const oauthConfig = OAuthModule.getConfig();
274
- if (oauthConfig) {
275
- // OAuth requires DUAL transport: STDIO for MCP + HTTP for metadata
276
- // This allows Studio to connect via STDIO while exposing OAuth metadata via HTTP
277
- transportType = 'dual';
278
- // Extract port from resourceUri (e.g., http://localhost:3002)
279
- let port = 3000;
280
- try {
281
- const resourceUrl = new URL(oauthConfig.resourceUri);
282
- port = resourceUrl.port ? parseInt(resourceUrl.port) : (resourceUrl.protocol === 'https:' ? 443 : 80);
283
- }
284
- catch (error) {
285
- logger.warn(`Failed to parse resourceUri for port, using default 3000`);
286
- }
287
- // Override with explicit config if provided
288
- if (oauthConfig.http?.port) {
289
- port = oauthConfig.http.port;
290
- }
291
- else if (options.transport?.http?.port) {
292
- port = options.transport.http.port;
293
- }
294
- transportOptions = {
295
- port,
296
- host: oauthConfig.http?.host || options.transport?.http?.host || '0.0.0.0',
297
- basePath: oauthConfig.http?.basePath || options.transport?.http?.basePath || '/mcp',
298
- oauth: {
299
- resourceUri: oauthConfig.resourceUri,
300
- authorizationServers: oauthConfig.authorizationServers,
301
- scopesSupported: oauthConfig.scopesSupported,
302
- },
303
- };
304
- logger.info(`🔐 OAuth 2.1 detected - using HTTP transport on port ${port}`);
305
- }
306
- else if (options.transport?.type === 'http') {
307
- // Explicitly configured HTTP transport
308
- transportType = 'http';
309
- transportOptions = {
310
- port: options.transport.http?.port || 3000,
311
- host: options.transport.http?.host || '0.0.0.0',
312
- basePath: options.transport.http?.basePath || '/mcp',
313
- };
314
- }
315
- // Store transport configuration on server for later use
316
- const serverInternal = server;
317
- serverInternal._transportType = transportType;
318
- serverInternal._transportOptions = transportOptions;
319
- return server;
320
- }
321
- }
322
- //# sourceMappingURL=app-decorator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"app-decorator.js","sourceRoot":"","sources":["../../src/core/app-decorator.ts"],"names":[],"mappings":"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"}
@@ -1,50 +0,0 @@
1
- import { Tool } from './tool.js';
2
- import { Resource } from './resource.js';
3
- import { Prompt } from './prompt.js';
4
- import { ClassConstructor } from './types.js';
5
- import { ToolOptions, ResourceOptions, PromptOptions } from './decorators.js';
6
- /**
7
- * Controller instance type
8
- */
9
- interface ControllerInstance {
10
- [key: string]: unknown;
11
- }
12
- /**
13
- * Controller class type (using ClassConstructor for compatibility)
14
- */
15
- type ControllerClass = ClassConstructor<ControllerInstance>;
16
- /**
17
- * Build a Tool instance from a decorated method
18
- */
19
- export declare function buildTool(controllerInstance: ControllerInstance, methodName: string, options: ToolOptions, widgetRoute?: string, isInitial?: boolean): Tool;
20
- /**
21
- * Build all tools from a controller
22
- */
23
- export declare function buildTools(controllerInstance: ControllerInstance): Tool[];
24
- /**
25
- * Build a Resource instance from a decorated method
26
- */
27
- export declare function buildResource(controllerInstance: ControllerInstance, methodName: string, options: ResourceOptions): Resource;
28
- /**
29
- * Build all resources from a controller
30
- */
31
- export declare function buildResources(controllerInstance: ControllerInstance): Resource[];
32
- /**
33
- * Build a Prompt instance from a decorated method
34
- */
35
- export declare function buildPrompt(controllerInstance: ControllerInstance, methodName: string, options: PromptOptions): Prompt;
36
- /**
37
- * Build all prompts from a controller
38
- */
39
- export declare function buildPrompts(controllerInstance: ControllerInstance): Prompt[];
40
- /**
41
- * Build all tools, resources, and prompts from a controller
42
- * Supports dependency injection
43
- */
44
- export declare function buildController(controller: ControllerClass): {
45
- tools: Tool[];
46
- resources: Resource[];
47
- prompts: Prompt[];
48
- };
49
- export {};
50
- //# sourceMappingURL=builders.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../src/core/builders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAkB,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,MAAM,EAAgB,MAAM,aAAa,CAAC;AAEnD,OAAO,EAA+G,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC3J,OAAO,EAA6F,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AASzK;;GAEG;AACH,UAAU,kBAAkB;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,KAAK,eAAe,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;AAE5D;;GAEG;AACH,wBAAgB,SAAS,CACvB,kBAAkB,EAAE,kBAAkB,EACtC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,WAAW,EACpB,WAAW,CAAC,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,OAAO,GAClB,IAAI,CAsCN;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,IAAI,EAAE,CAczE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,kBAAkB,EAAE,kBAAkB,EACtC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,eAAe,GACvB,QAAQ,CAgBV;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,QAAQ,EAAE,CAOjF;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,kBAAkB,EAAE,kBAAkB,EACtC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,aAAa,GACrB,MAAM,CAcR;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,MAAM,EAAE,CAO7E;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,eAAe,GAAG;IAC5D,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAgBA"}
@@ -1,139 +0,0 @@
1
- import { Tool } from './tool.js';
2
- import { createResource } from './resource.js';
3
- import { createPrompt } from './prompt.js';
4
- import { createComponentFromNextRoute } from '../ui-next/index.js';
5
- import { extractTools, extractResources, extractPrompts, getWidgetMetadata, getInitialToolMetadata } from './decorators.js';
6
- import { getGuardsMetadata } from './guards/use-guards.decorator.js';
7
- import { getMiddlewareMetadata } from './middleware/middleware.decorator.js';
8
- import { getInterceptorMetadata } from './interceptors/interceptor.decorator.js';
9
- import { getPipeMetadata } from './pipes/pipe.decorator.js';
10
- import { getExceptionFilterMetadata } from './filters/exception-filter.decorator.js';
11
- import { DIContainer } from './di/container.js';
12
- import { isInjectable } from './di/injectable.decorator.js';
13
- /**
14
- * Build a Tool instance from a decorated method
15
- */
16
- export function buildTool(controllerInstance, methodName, options, widgetRoute, isInitial) {
17
- const prototype = Object.getPrototypeOf(controllerInstance);
18
- // Get the original method
19
- const method = controllerInstance[methodName];
20
- const originalMethod = method.bind(controllerInstance);
21
- // Extract all decorator metadata
22
- const guards = getGuardsMetadata(prototype, methodName);
23
- const middlewares = getMiddlewareMetadata(prototype, methodName);
24
- const interceptors = getInterceptorMetadata(prototype, methodName);
25
- const pipes = getPipeMetadata(prototype, methodName);
26
- const filters = getExceptionFilterMetadata(prototype, methodName);
27
- // Create tool with all metadata
28
- const tool = new Tool({
29
- name: options.name,
30
- description: options.description,
31
- inputSchema: options.inputSchema,
32
- handler: originalMethod,
33
- guards,
34
- middlewares,
35
- interceptors,
36
- pipes,
37
- filters,
38
- examples: options.examples,
39
- widget: widgetRoute ? { route: widgetRoute } : undefined,
40
- outputTemplate: widgetRoute,
41
- isInitial,
42
- });
43
- // Create and attach component if widget route is specified
44
- if (widgetRoute) {
45
- const component = createComponentFromNextRoute(widgetRoute);
46
- tool.setComponent(component);
47
- }
48
- return tool;
49
- }
50
- /**
51
- * Build all tools from a controller
52
- */
53
- export function buildTools(controllerInstance) {
54
- const constructor = Object.getPrototypeOf(controllerInstance).constructor;
55
- const toolMetadata = extractTools(constructor);
56
- return toolMetadata.map(({ methodName, options }) => {
57
- const prototype = Object.getPrototypeOf(controllerInstance);
58
- // Check if this method has a widget
59
- const widgetRoute = getWidgetMetadata(prototype, methodName);
60
- // Check for initial tool decorator
61
- const isInitial = getInitialToolMetadata(prototype, methodName);
62
- return buildTool(controllerInstance, methodName, options, widgetRoute, isInitial);
63
- });
64
- }
65
- /**
66
- * Build a Resource instance from a decorated method
67
- */
68
- export function buildResource(controllerInstance, methodName, options) {
69
- const method = controllerInstance[methodName];
70
- const originalMethod = method.bind(controllerInstance);
71
- const resourceDefinition = {
72
- uri: options.uri,
73
- name: options.name,
74
- description: options.description,
75
- mimeType: options.mimeType,
76
- handler: async (uri, context) => {
77
- return await originalMethod(uri, context);
78
- },
79
- metadata: options.metadata,
80
- };
81
- return createResource(resourceDefinition);
82
- }
83
- /**
84
- * Build all resources from a controller
85
- */
86
- export function buildResources(controllerInstance) {
87
- const constructor = Object.getPrototypeOf(controllerInstance).constructor;
88
- const resourceMetadata = extractResources(constructor);
89
- return resourceMetadata.map(({ methodName, options }) => {
90
- return buildResource(controllerInstance, methodName, options);
91
- });
92
- }
93
- /**
94
- * Build a Prompt instance from a decorated method
95
- */
96
- export function buildPrompt(controllerInstance, methodName, options) {
97
- const method = controllerInstance[methodName];
98
- const originalMethod = method.bind(controllerInstance);
99
- const promptDefinition = {
100
- name: options.name,
101
- description: options.description,
102
- arguments: options.arguments,
103
- handler: async (args, context) => {
104
- return await originalMethod(args, context);
105
- },
106
- };
107
- return createPrompt(promptDefinition);
108
- }
109
- /**
110
- * Build all prompts from a controller
111
- */
112
- export function buildPrompts(controllerInstance) {
113
- const constructor = Object.getPrototypeOf(controllerInstance).constructor;
114
- const promptMetadata = extractPrompts(constructor);
115
- return promptMetadata.map(({ methodName, options }) => {
116
- return buildPrompt(controllerInstance, methodName, options);
117
- });
118
- }
119
- /**
120
- * Build all tools, resources, and prompts from a controller
121
- * Supports dependency injection
122
- */
123
- export function buildController(controller) {
124
- const container = DIContainer.getInstance();
125
- // Create controller instance (with DI if available)
126
- let instance;
127
- if (isInjectable(controller) && container.has(controller)) {
128
- instance = container.resolve(controller);
129
- }
130
- else {
131
- instance = new controller();
132
- }
133
- return {
134
- tools: buildTools(instance),
135
- resources: buildResources(instance),
136
- prompts: buildPrompts(instance),
137
- };
138
- }
139
- //# sourceMappingURL=builders.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"builders.js","sourceRoot":"","sources":["../../src/core/builders.ts"],"names":[],"mappings":"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"}
@@ -1,111 +0,0 @@
1
- import { ExecutionContext } from './types.js';
2
- /**
3
- * Component metadata for UI rendering
4
- */
5
- export interface ComponentMetadata {
6
- /** Unique identifier for the component */
7
- id: string;
8
- /** Human-readable name */
9
- name: string;
10
- /** Description of what the component displays */
11
- description?: string;
12
- /** HTML content or path to HTML file */
13
- html: string;
14
- /** CSS content or path to CSS file */
15
- css?: string;
16
- /** JavaScript content or path to JS file */
17
- js?: string;
18
- /** Whether component can initiate tool calls */
19
- canInvokeTools?: boolean;
20
- /** Content Security Policy domains */
21
- csp?: {
22
- connectDomains?: string[];
23
- resourceDomains?: string[];
24
- };
25
- /** Custom subdomain for component rendering */
26
- subdomain?: string;
27
- /** Whether to show border around component */
28
- prefersBorder?: boolean;
29
- /** Provider-specific metadata */
30
- providerMetadata?: Record<string, unknown>;
31
- /** Internal metadata (not exposed to MCP) */
32
- _meta?: Record<string, unknown>;
33
- }
34
- /**
35
- * Component definition
36
- */
37
- export interface ComponentDefinition extends ComponentMetadata {
38
- /** Data transformation function for structuredContent */
39
- transformer?: (data: unknown, context: ExecutionContext) => unknown;
40
- /** Data transformation function for _meta (widget state) */
41
- metaTransformer?: (data: unknown, context: ExecutionContext) => unknown;
42
- /** Component initialization logic */
43
- onInit?: (context: ExecutionContext) => void | Promise<void>;
44
- }
45
- /**
46
- * Component class for defining UI components
47
- */
48
- export declare class Component {
49
- private definition;
50
- private compiled;
51
- private bundle;
52
- constructor(definition: ComponentDefinition);
53
- private validateDefinition;
54
- /**
55
- * Get component ID
56
- */
57
- get id(): string;
58
- /**
59
- * Get component name
60
- */
61
- get name(): string;
62
- /**
63
- * Get component description
64
- */
65
- get description(): string | undefined;
66
- /**
67
- * Compile component bundle
68
- */
69
- compile(): Promise<void>;
70
- /**
71
- * Get compiled bundle as HTML document
72
- */
73
- getBundle(): string;
74
- /**
75
- * Get component URI for resource registration
76
- */
77
- getResourceUri(): string;
78
- /**
79
- * Check if component is in dev mode
80
- */
81
- isDevMode(): boolean;
82
- /**
83
- * Get dev URL if in dev mode
84
- */
85
- getDevUrl(): string | null;
86
- /**
87
- * Transform data for component
88
- */
89
- transformData(data: unknown, context: ExecutionContext): Promise<unknown>;
90
- /**
91
- * Get widget metadata (state)
92
- */
93
- getWidgetMeta(data: unknown, context: ExecutionContext): Promise<unknown>;
94
- /**
95
- * Get provider-specific metadata
96
- */
97
- getProviderMetadata(provider: 'openai' | 'anthropic' | 'generic'): Record<string, unknown>;
98
- /**
99
- * Get resource metadata for MCP
100
- */
101
- getResourceMetadata(): Record<string, unknown>;
102
- /**
103
- * Initialize component
104
- */
105
- initialize(context: ExecutionContext): Promise<void>;
106
- }
107
- /**
108
- * Helper function to create a component
109
- */
110
- export declare function createComponent(definition: ComponentDefinition): Component;
111
- //# sourceMappingURL=component.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/core/component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,0CAA0C;IAC1C,EAAE,EAAE,MAAM,CAAC;IAEX,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IAEb,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IAEb,sCAAsC;IACtC,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,4CAA4C;IAC5C,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,gDAAgD;IAChD,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,sCAAsC;IACtC,GAAG,CAAC,EAAE;QACJ,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;QAC1B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;KAC5B,CAAC;IAEF,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,8CAA8C;IAC9C,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,iCAAiC;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE3C,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D,yDAAyD;IACzD,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC;IAEpE,4DAA4D;IAC5D,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC;IAExE,qCAAqC;IACrC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9D;AAED;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,MAAM,CAIG;gBAEL,UAAU,EAAE,mBAAmB;IAK3C,OAAO,CAAC,kBAAkB;IAa1B;;OAEG;IACH,IAAI,EAAE,IAAI,MAAM,CAEf;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAoD9B;;OAEG;IACH,SAAS,IAAI,MAAM;IAoBnB;;OAEG;IACH,cAAc,IAAI,MAAM;IAQxB;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,SAAS,IAAI,MAAM,GAAG,IAAI;IAK1B;;OAEG;IACG,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAO/E;;OAEG;IACG,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAS/E;;OAEG;IACH,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAiD1F;;OAEG;IACH,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAoB9C;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;CAK3D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,mBAAmB,GAAG,SAAS,CAE1E"}