nitrostack 1.0.83 → 1.0.85

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