@frontmcp/sdk 0.2.3 → 0.3.0

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 (896) hide show
  1. package/README.md +81 -99
  2. package/package.json +24 -2
  3. package/src/adapter/adapter.instance.d.ts +11 -0
  4. package/src/adapter/adapter.instance.js +65 -0
  5. package/src/adapter/adapter.instance.js.map +1 -0
  6. package/src/adapter/adapter.regsitry.d.ts +13 -0
  7. package/src/adapter/adapter.regsitry.js +54 -0
  8. package/src/adapter/adapter.regsitry.js.map +1 -0
  9. package/src/adapter/adapter.utils.d.ts +10 -0
  10. package/src/adapter/adapter.utils.js +83 -0
  11. package/src/adapter/adapter.utils.js.map +1 -0
  12. package/src/app/app.registry.d.ts +12 -0
  13. package/src/app/app.registry.js +64 -0
  14. package/src/app/app.registry.js.map +1 -0
  15. package/src/app/app.utils.d.ts +15 -0
  16. package/src/app/app.utils.js +58 -0
  17. package/src/app/app.utils.js.map +1 -0
  18. package/src/app/instances/app.local.instance.d.ts +25 -0
  19. package/src/app/instances/app.local.instance.js +70 -0
  20. package/src/app/instances/app.local.instance.js.map +1 -0
  21. package/src/app/instances/app.remote.instance.d.ts +13 -0
  22. package/src/app/instances/app.remote.instance.js +36 -0
  23. package/src/app/instances/app.remote.instance.js.map +1 -0
  24. package/src/app/instances/index.d.ts +2 -0
  25. package/src/app/instances/index.js +6 -0
  26. package/src/app/instances/index.js.map +1 -0
  27. package/src/auth/auth.registry.d.ts +13 -0
  28. package/src/auth/auth.registry.js +81 -0
  29. package/src/auth/auth.registry.js.map +1 -0
  30. package/src/auth/auth.utils.d.ts +10 -0
  31. package/src/auth/auth.utils.js +85 -0
  32. package/src/auth/auth.utils.js.map +1 -0
  33. package/src/auth/flows/oauth.authorize.flow.d.ts +231 -0
  34. package/src/auth/flows/oauth.authorize.flow.js +154 -0
  35. package/src/auth/flows/oauth.authorize.flow.js.map +1 -0
  36. package/src/auth/flows/oauth.register.flow.d.ts +202 -0
  37. package/src/auth/flows/oauth.register.flow.js +201 -0
  38. package/src/auth/flows/oauth.register.flow.js.map +1 -0
  39. package/src/auth/flows/oauth.token.flow.d.ts +242 -0
  40. package/src/auth/flows/oauth.token.flow.js +181 -0
  41. package/src/auth/flows/oauth.token.flow.js.map +1 -0
  42. package/src/auth/flows/session.verify.flow.d.ts +404 -0
  43. package/src/auth/flows/session.verify.flow.js +205 -0
  44. package/src/auth/flows/session.verify.flow.js.map +1 -0
  45. package/src/auth/flows/well-known.jwks.flow.d.ts +261 -0
  46. package/src/auth/flows/well-known.jwks.flow.js +82 -0
  47. package/src/auth/flows/well-known.jwks.flow.js.map +1 -0
  48. package/src/auth/flows/well-known.oauth-authorization-server.flow.d.ts +282 -0
  49. package/src/auth/flows/well-known.oauth-authorization-server.flow.js +123 -0
  50. package/src/auth/flows/well-known.oauth-authorization-server.flow.js.map +1 -0
  51. package/src/auth/flows/well-known.prm.flow.d.ts +159 -0
  52. package/src/auth/flows/well-known.prm.flow.js +107 -0
  53. package/src/auth/flows/well-known.prm.flow.js.map +1 -0
  54. package/src/auth/instances/instance.local-primary-auth.d.ts +19 -0
  55. package/src/auth/instances/instance.local-primary-auth.js +76 -0
  56. package/src/auth/instances/instance.local-primary-auth.js.map +1 -0
  57. package/src/auth/instances/instance.remote-primary-auth.d.ts +14 -0
  58. package/src/auth/instances/instance.remote-primary-auth.js +47 -0
  59. package/src/auth/instances/instance.remote-primary-auth.js.map +1 -0
  60. package/src/auth/jwks/index.d.ts +2 -0
  61. package/src/auth/jwks/index.js +6 -0
  62. package/src/auth/jwks/index.js.map +1 -0
  63. package/src/auth/jwks/jwks.service.d.ts +41 -0
  64. package/src/auth/jwks/jwks.service.js +235 -0
  65. package/src/auth/jwks/jwks.service.js.map +1 -0
  66. package/src/auth/jwks/jwks.types.d.ts +25 -0
  67. package/src/auth/jwks/jwks.types.js +3 -0
  68. package/src/auth/jwks/jwks.types.js.map +1 -0
  69. package/src/auth/jwks/jwks.utils.d.ts +4 -0
  70. package/src/auth/jwks/jwks.utils.js +32 -0
  71. package/src/auth/jwks/jwks.utils.js.map +1 -0
  72. package/src/auth/oauth/flows/oauth.authorize.flow.d.ts +31 -0
  73. package/src/auth/oauth/flows/oauth.authorize.flow.js +33 -0
  74. package/src/auth/oauth/flows/oauth.authorize.flow.js.map +1 -0
  75. package/src/auth/oauth/flows/oauth.device-authorization.flow.d.ts +46 -0
  76. package/src/auth/oauth/flows/oauth.device-authorization.flow.js +48 -0
  77. package/src/auth/oauth/flows/oauth.device-authorization.flow.js.map +1 -0
  78. package/src/auth/oauth/flows/oauth.introspect.flow.d.ts +26 -0
  79. package/src/auth/oauth/flows/oauth.introspect.flow.js +28 -0
  80. package/src/auth/oauth/flows/oauth.introspect.flow.js.map +1 -0
  81. package/src/auth/oauth/flows/oauth.par.flow.d.ts +27 -0
  82. package/src/auth/oauth/flows/oauth.par.flow.js +29 -0
  83. package/src/auth/oauth/flows/oauth.par.flow.js.map +1 -0
  84. package/src/auth/oauth/flows/oauth.revoke.flow.d.ts +25 -0
  85. package/src/auth/oauth/flows/oauth.revoke.flow.js +27 -0
  86. package/src/auth/oauth/flows/oauth.revoke.flow.js.map +1 -0
  87. package/src/auth/oauth/flows/oauth.token.flow.d.ts +57 -0
  88. package/src/auth/oauth/flows/oauth.token.flow.js +59 -0
  89. package/src/auth/oauth/flows/oauth.token.flow.js.map +1 -0
  90. package/src/auth/oauth/flows/oauth.userinfo.flow.d.ts +22 -0
  91. package/src/auth/oauth/flows/oauth.userinfo.flow.js +24 -0
  92. package/src/auth/oauth/flows/oauth.userinfo.flow.js.map +1 -0
  93. package/src/auth/oauth/flows/oidc.logout.flow.d.ts +18 -0
  94. package/src/auth/oauth/flows/oidc.logout.flow.js +20 -0
  95. package/src/auth/oauth/flows/oidc.logout.flow.js.map +1 -0
  96. package/src/auth/path.utils.d.ts +20 -0
  97. package/src/auth/path.utils.js +71 -0
  98. package/src/auth/path.utils.js.map +1 -0
  99. package/src/auth/session/index.d.ts +4 -0
  100. package/src/auth/session/index.js +10 -0
  101. package/src/auth/session/index.js.map +1 -0
  102. package/src/auth/session/record/session.base.d.ts +103 -0
  103. package/src/auth/session/record/session.base.js +123 -0
  104. package/src/auth/session/record/session.base.js.map +1 -0
  105. package/src/auth/session/record/session.stateful.d.ts +20 -0
  106. package/src/auth/session/record/session.stateful.js +55 -0
  107. package/src/auth/session/record/session.stateful.js.map +1 -0
  108. package/src/auth/session/record/session.stateless.d.ts +17 -0
  109. package/src/auth/session/record/session.stateless.js +30 -0
  110. package/src/auth/session/record/session.stateless.js.map +1 -0
  111. package/src/auth/session/record/session.transparent.d.ts +17 -0
  112. package/src/auth/session/record/session.transparent.js +22 -0
  113. package/src/auth/session/record/session.transparent.js.map +1 -0
  114. package/src/auth/session/session.crypto.d.ts +7 -0
  115. package/src/auth/session/session.crypto.js +47 -0
  116. package/src/auth/session/session.crypto.js.map +1 -0
  117. package/src/auth/session/session.schema.d.ts +5 -0
  118. package/src/auth/session/session.schema.js +13 -0
  119. package/src/auth/session/session.schema.js.map +1 -0
  120. package/src/auth/session/session.service.d.ts +17 -0
  121. package/src/auth/session/session.service.js +111 -0
  122. package/src/auth/session/session.service.js.map +1 -0
  123. package/src/auth/session/session.transport.d.ts +4 -0
  124. package/src/auth/session/session.transport.js +20 -0
  125. package/src/auth/session/session.transport.js.map +1 -0
  126. package/src/auth/session/session.types.d.ts +65 -0
  127. package/src/auth/session/session.types.js +4 -0
  128. package/src/auth/session/session.types.js.map +1 -0
  129. package/src/auth/session/token.refresh.d.ts +60 -0
  130. package/src/auth/session/token.refresh.js +63 -0
  131. package/src/auth/session/token.refresh.js.map +1 -0
  132. package/src/auth/session/token.store.d.ts +35 -0
  133. package/src/auth/session/token.store.js +53 -0
  134. package/src/auth/session/token.store.js.map +1 -0
  135. package/src/auth/session/token.vault.d.ts +26 -0
  136. package/src/auth/session/token.vault.js +54 -0
  137. package/src/auth/session/token.vault.js.map +1 -0
  138. package/src/auth/session/utils/auth-token.utils.d.ts +11 -0
  139. package/src/auth/session/utils/auth-token.utils.js +57 -0
  140. package/src/auth/session/utils/auth-token.utils.js.map +1 -0
  141. package/src/auth/session/utils/session-id.utils.d.ts +17 -0
  142. package/src/auth/session/utils/session-id.utils.js +129 -0
  143. package/src/auth/session/utils/session-id.utils.js.map +1 -0
  144. package/src/auth/session/utils/tiny-ttl-cache.d.ts +7 -0
  145. package/src/auth/session/utils/tiny-ttl-cache.js +26 -0
  146. package/src/auth/session/utils/tiny-ttl-cache.js.map +1 -0
  147. package/src/common/common.schema.d.ts +29 -0
  148. package/src/common/common.schema.js +35 -0
  149. package/src/common/common.schema.js.map +1 -0
  150. package/src/common/constants.d.ts +2 -0
  151. package/src/common/constants.js +8 -0
  152. package/src/common/constants.js.map +1 -0
  153. package/src/common/decorators/adapter.decorator.js.map +1 -0
  154. package/src/common/decorators/app.decorator.js.map +1 -0
  155. package/src/common/decorators/auth-provider.decorator.js.map +1 -0
  156. package/src/common/decorators/flow.decorator.js.map +1 -0
  157. package/src/common/decorators/front-mcp.decorator.js +40 -0
  158. package/src/common/decorators/front-mcp.decorator.js.map +1 -0
  159. package/src/common/decorators/hook.decorator.js.map +1 -0
  160. package/src/common/decorators/index.js.map +1 -0
  161. package/src/common/decorators/logger.decorator.js.map +1 -0
  162. package/src/common/decorators/plugin.decorator.js.map +1 -0
  163. package/src/common/decorators/prompt.decorator.js.map +1 -0
  164. package/src/common/decorators/provider.decorator.js.map +1 -0
  165. package/src/common/decorators/resource.decorator.js.map +1 -0
  166. package/src/common/decorators/tool.decorator.d.ts +42 -0
  167. package/src/common/decorators/tool.decorator.js +46 -0
  168. package/src/common/decorators/tool.decorator.js.map +1 -0
  169. package/src/common/decorators-old/async-with.decorator.d.ts +10 -0
  170. package/src/common/decorators-old/async-with.decorator.js +24 -0
  171. package/src/common/decorators-old/async-with.decorator.js.map +1 -0
  172. package/src/common/decorators-old/auth-hook.decorator.js.map +1 -0
  173. package/src/common/decorators-old/session-hook.decorator.js.map +1 -0
  174. package/src/common/dynamic/dynamic.adapter.js.map +1 -0
  175. package/src/common/dynamic/dynamic.plugin.js.map +1 -0
  176. package/src/common/dynamic/dynamic.utils.d.ts +3 -0
  177. package/src/common/dynamic/dynamic.utils.js.map +1 -0
  178. package/src/common/dynamic/index.js.map +1 -0
  179. package/src/common/entries/adapter.entry.js.map +1 -0
  180. package/src/common/entries/app.entry.d.ts +13 -0
  181. package/src/common/entries/app.entry.js.map +1 -0
  182. package/src/common/entries/auth-provider.entry.js.map +1 -0
  183. package/src/common/entries/base.entry.js.map +1 -0
  184. package/src/common/entries/flow.entry.js.map +1 -0
  185. package/src/common/entries/hook.entry.js.map +1 -0
  186. package/src/common/entries/index.js.map +1 -0
  187. package/src/common/entries/logger.entry.js.map +1 -0
  188. package/src/common/entries/plugin.entry.js.map +1 -0
  189. package/src/common/entries/prompt.entry.js.map +1 -0
  190. package/src/common/entries/provider.entry.js.map +1 -0
  191. package/src/common/entries/resource.entry.js.map +1 -0
  192. package/src/common/entries/scope.entry.js.map +1 -0
  193. package/src/common/entries/tool.entry.js.map +1 -0
  194. package/src/common/index.d.ts +17 -0
  195. package/src/common/index.js +21 -0
  196. package/src/common/index.js.map +1 -0
  197. package/src/common/interfaces/adapter.interface.js.map +1 -0
  198. package/src/common/interfaces/app.interface.js.map +1 -0
  199. package/src/common/interfaces/auth-hook.interface.js.map +1 -0
  200. package/src/common/interfaces/auth-provider.interface.js.map +1 -0
  201. package/src/common/interfaces/base.interface.js.map +1 -0
  202. package/src/common/interfaces/flow.interface.d.ts +41 -0
  203. package/src/common/interfaces/flow.interface.js.map +1 -0
  204. package/src/common/interfaces/front-mcp.interface.js.map +1 -0
  205. package/src/common/interfaces/hook.interface.js.map +1 -0
  206. package/src/common/interfaces/index.js.map +1 -0
  207. package/src/common/interfaces/internal/flow.utils.d.ts +23 -0
  208. package/src/common/interfaces/internal/flow.utils.js.map +1 -0
  209. package/src/common/interfaces/internal/index.js.map +1 -0
  210. package/src/common/interfaces/internal/primary-auth-provider.interface.d.ts +24 -0
  211. package/src/common/interfaces/internal/primary-auth-provider.interface.js.map +1 -0
  212. package/src/common/interfaces/internal/registry.interface.d.ts +95 -0
  213. package/src/common/interfaces/internal/registry.interface.js.map +1 -0
  214. package/src/common/interfaces/logger.interface.js.map +1 -0
  215. package/src/common/interfaces/plugin.interface.js.map +1 -0
  216. package/src/common/interfaces/prompt.interface.js.map +1 -0
  217. package/src/common/interfaces/provider.interface.js.map +1 -0
  218. package/src/common/interfaces/resource.interface.js.map +1 -0
  219. package/src/common/interfaces/scope.interface.js.map +1 -0
  220. package/src/common/interfaces/server.interface.js.map +1 -0
  221. package/src/common/interfaces/session-hook.interface.js.map +1 -0
  222. package/src/common/interfaces/tool-hook.interface.js.map +1 -0
  223. package/src/common/interfaces/tool.interface.js.map +1 -0
  224. package/src/common/metadata/adapter.metadata.js.map +1 -0
  225. package/src/common/metadata/app.metadata.d.ts +872 -0
  226. package/src/common/metadata/app.metadata.js.map +1 -0
  227. package/src/common/metadata/auth-provider.metadata.js.map +1 -0
  228. package/src/common/metadata/flow.metadata.d.ts +77 -0
  229. package/src/common/metadata/flow.metadata.js.map +1 -0
  230. package/src/common/metadata/front-mcp.metadata.d.ts +1144 -0
  231. package/src/common/metadata/front-mcp.metadata.js.map +1 -0
  232. package/src/common/metadata/hook.metadata.js.map +1 -0
  233. package/src/common/metadata/index.js.map +1 -0
  234. package/src/common/metadata/logger.metadata.js.map +1 -0
  235. package/src/common/metadata/plugin.metadata.js.map +1 -0
  236. package/src/common/metadata/prompt.metadata.js.map +1 -0
  237. package/src/common/metadata/provider.metadata.js.map +1 -0
  238. package/src/common/metadata/resource.metadata.js.map +1 -0
  239. package/src/common/metadata/tool.metadata.d.ts +178 -0
  240. package/src/common/metadata/tool.metadata.js.map +1 -0
  241. package/src/common/providers/session.provider.js.map +1 -0
  242. package/src/common/records/adapter.record.js.map +1 -0
  243. package/src/common/records/app.record.js.map +1 -0
  244. package/src/common/records/auth-provider.record.js.map +1 -0
  245. package/src/common/records/flow.record.js.map +1 -0
  246. package/src/common/records/hook.record.js.map +1 -0
  247. package/src/common/records/index.js.map +1 -0
  248. package/src/common/records/logger.record.d.ts +11 -0
  249. package/src/common/records/logger.record.js.map +1 -0
  250. package/src/common/records/plugin.record.js.map +1 -0
  251. package/src/common/records/prompt.record.js.map +1 -0
  252. package/src/common/records/provider.record.js.map +1 -0
  253. package/src/common/records/resource.record.js.map +1 -0
  254. package/src/common/records/scope.record.js.map +1 -0
  255. package/src/common/records/tool.record.js.map +1 -0
  256. package/src/common/schemas/annotated-class.schema.js.map +1 -0
  257. package/src/common/schemas/http-input.schema.js.map +1 -0
  258. package/src/common/schemas/http-output.schema.d.ts +2011 -0
  259. package/src/common/schemas/http-output.schema.js.map +1 -0
  260. package/src/common/schemas/index.js.map +1 -0
  261. package/src/common/tokens/adapter.tokens.js.map +1 -0
  262. package/src/common/tokens/app.tokens.js.map +1 -0
  263. package/src/common/tokens/auth-provider.tokens.js.map +1 -0
  264. package/src/common/tokens/base.tokens.js.map +1 -0
  265. package/src/common/tokens/flow-hook.tokens.js.map +1 -0
  266. package/src/common/tokens/flow.tokens.js.map +1 -0
  267. package/src/common/tokens/front-mcp.tokens.js.map +1 -0
  268. package/src/common/tokens/index.js.map +1 -0
  269. package/src/common/tokens/logger.tokens.js.map +1 -0
  270. package/src/common/tokens/plugin.tokens.js.map +1 -0
  271. package/src/common/tokens/prompt.tokens.js.map +1 -0
  272. package/src/common/tokens/provider.tokens.js.map +1 -0
  273. package/src/common/tokens/resource.tokens.js.map +1 -0
  274. package/src/common/tokens/server.tokens.js.map +1 -0
  275. package/src/common/tokens/tool.tokens.js.map +1 -0
  276. package/src/common/types/auth/index.js.map +1 -0
  277. package/src/common/types/auth/jwt.types.js.map +1 -0
  278. package/src/common/types/auth/session.types.d.ts +263 -0
  279. package/src/common/types/auth/session.types.js.map +1 -0
  280. package/src/common/types/common.types.js.map +1 -0
  281. package/src/common/types/index.js.map +1 -0
  282. package/src/common/types/options/auth.options.d.ts +513 -0
  283. package/src/common/types/options/auth.options.js.map +1 -0
  284. package/src/common/types/options/http.options.js.map +1 -0
  285. package/src/common/types/options/index.js.map +1 -0
  286. package/src/common/types/options/logging.options.d.ts +39 -0
  287. package/src/common/types/options/logging.options.js.map +1 -0
  288. package/src/common/types/options/server-info.options.d.ts +48 -0
  289. package/src/common/types/options/server-info.options.js.map +1 -0
  290. package/src/common/types/options/session.options.d.ts +67 -0
  291. package/src/common/types/options/session.options.js.map +1 -0
  292. package/src/common/utils/decide-request-intent.utils.d.ts +79 -0
  293. package/src/common/utils/decide-request-intent.utils.js.map +1 -0
  294. package/src/common/utils/index.js.map +1 -0
  295. package/src/common/utils/path.utils.d.ts +20 -0
  296. package/src/common/utils/path.utils.js.map +1 -0
  297. package/src/exceptions/mcp-exceptions/session-missing.exception.d.ts +3 -0
  298. package/src/exceptions/mcp-exceptions/session-missing.exception.js +11 -0
  299. package/src/exceptions/mcp-exceptions/session-missing.exception.js.map +1 -0
  300. package/src/exceptions/mcp-exceptions/unsupported-client-version.exception.d.ts +5 -0
  301. package/src/exceptions/mcp-exceptions/unsupported-client-version.exception.js +15 -0
  302. package/src/exceptions/mcp-exceptions/unsupported-client-version.exception.js.map +1 -0
  303. package/src/flows/flow.instance.d.ts +16 -0
  304. package/src/flows/flow.instance.js +332 -0
  305. package/src/flows/flow.instance.js.map +1 -0
  306. package/src/flows/flow.registry.d.ts +14 -0
  307. package/src/flows/flow.registry.js +79 -0
  308. package/src/flows/flow.registry.js.map +1 -0
  309. package/src/flows/flow.stages.d.ts +12 -0
  310. package/src/flows/flow.stages.js +110 -0
  311. package/src/flows/flow.stages.js.map +1 -0
  312. package/src/flows/flow.utils.d.ts +8 -0
  313. package/src/flows/flow.utils.js +36 -0
  314. package/src/flows/flow.utils.js.map +1 -0
  315. package/src/front-mcp/front-mcp.d.ts +12 -0
  316. package/src/front-mcp/front-mcp.js +44 -0
  317. package/src/front-mcp/front-mcp.js.map +1 -0
  318. package/src/front-mcp/front-mcp.providers.d.ts +198 -0
  319. package/src/front-mcp/front-mcp.providers.js +30 -0
  320. package/src/front-mcp/front-mcp.providers.js.map +1 -0
  321. package/src/front-mcp/front-mcp.tokens.d.ts +2 -0
  322. package/src/front-mcp/front-mcp.tokens.js +5 -0
  323. package/src/front-mcp/front-mcp.tokens.js.map +1 -0
  324. package/src/front-mcp/index.d.ts +1 -0
  325. package/src/front-mcp/index.js +5 -0
  326. package/src/front-mcp/index.js.map +1 -0
  327. package/src/hooks/hook.instance.d.ts +7 -0
  328. package/src/hooks/hook.instance.js +23 -0
  329. package/src/hooks/hook.instance.js.map +1 -0
  330. package/src/hooks/hook.registry.d.ts +34 -0
  331. package/src/hooks/hook.registry.js +138 -0
  332. package/src/hooks/hook.registry.js.map +1 -0
  333. package/src/hooks/hooks.utils.d.ts +3 -0
  334. package/src/hooks/hooks.utils.js +27 -0
  335. package/src/hooks/hooks.utils.js.map +1 -0
  336. package/src/index.d.ts +21 -18
  337. package/src/index.js +9 -18
  338. package/src/index.js.map +1 -1
  339. package/src/logger/instances/instance.console-logger.d.ts +10 -0
  340. package/src/logger/instances/instance.console-logger.js +75 -0
  341. package/src/logger/instances/instance.console-logger.js.map +1 -0
  342. package/src/logger/instances/instance.logger.d.ts +24 -0
  343. package/src/logger/instances/instance.logger.js +77 -0
  344. package/src/logger/instances/instance.logger.js.map +1 -0
  345. package/src/logger/logger.registry.d.ts +13 -0
  346. package/src/logger/logger.registry.js +91 -0
  347. package/src/logger/logger.registry.js.map +1 -0
  348. package/src/logger/logger.tokens.d.ts +1 -0
  349. package/src/logger/logger.tokens.js +3 -0
  350. package/src/logger/logger.tokens.js.map +1 -0
  351. package/src/logger/logger.types.d.ts +10 -0
  352. package/src/logger/logger.types.js +8 -0
  353. package/src/logger/logger.types.js.map +1 -0
  354. package/src/logger/logger.utils.d.ts +15 -0
  355. package/src/logger/logger.utils.js +42 -0
  356. package/src/logger/logger.utils.js.map +1 -0
  357. package/src/plugin/plugin.registry.d.ts +24 -0
  358. package/src/plugin/plugin.registry.js +137 -0
  359. package/src/plugin/plugin.registry.js.map +1 -0
  360. package/src/plugin/plugin.utils.d.ts +10 -0
  361. package/src/plugin/plugin.utils.js +88 -0
  362. package/src/plugin/plugin.utils.js.map +1 -0
  363. package/src/prompt/prompt.registry.d.ts +16 -0
  364. package/src/prompt/prompt.registry.js +34 -0
  365. package/src/prompt/prompt.registry.js.map +1 -0
  366. package/src/provider/provider.registry.d.ts +75 -0
  367. package/src/provider/provider.registry.js +679 -0
  368. package/src/provider/provider.registry.js.map +1 -0
  369. package/src/provider/provider.types.d.ts +9 -0
  370. package/src/provider/provider.types.js +3 -0
  371. package/src/provider/provider.types.js.map +1 -0
  372. package/src/provider/provider.utils.d.ts +13 -0
  373. package/src/provider/provider.utils.js +103 -0
  374. package/src/provider/provider.utils.js.map +1 -0
  375. package/src/regsitry/index.d.ts +1 -0
  376. package/src/regsitry/index.js +5 -0
  377. package/src/regsitry/index.js.map +1 -0
  378. package/src/regsitry/registry.base.d.ts +25 -0
  379. package/src/regsitry/registry.base.js +32 -0
  380. package/src/regsitry/registry.base.js.map +1 -0
  381. package/src/resource/resource.registry.d.ts +15 -0
  382. package/src/resource/resource.registry.js +31 -0
  383. package/src/resource/resource.registry.js.map +1 -0
  384. package/src/scope/flows/http.request.flow.d.ts +384 -0
  385. package/src/scope/flows/http.request.flow.js +210 -0
  386. package/src/scope/flows/http.request.flow.js.map +1 -0
  387. package/src/scope/index.d.ts +1 -0
  388. package/src/scope/index.js +6 -0
  389. package/src/scope/index.js.map +1 -0
  390. package/src/scope/scope.instance.d.ts +35 -0
  391. package/src/scope/scope.instance.js +120 -0
  392. package/src/scope/scope.instance.js.map +1 -0
  393. package/src/scope/scope.registry.d.ts +10 -0
  394. package/src/scope/scope.registry.js +93 -0
  395. package/src/scope/scope.registry.js.map +1 -0
  396. package/src/scope/scope.utils.d.ts +13 -0
  397. package/src/scope/scope.utils.js +59 -0
  398. package/src/scope/scope.utils.js.map +1 -0
  399. package/src/server/adapters/base.host.adapter.d.ts +7 -0
  400. package/src/server/adapters/base.host.adapter.js +8 -0
  401. package/src/server/adapters/base.host.adapter.js.map +1 -0
  402. package/src/server/adapters/express.host.adapter.d.ts +12 -0
  403. package/src/server/adapters/express.host.adapter.js +50 -0
  404. package/src/server/adapters/express.host.adapter.js.map +1 -0
  405. package/src/server/server.instance.d.ts +12 -0
  406. package/src/server/server.instance.js +47 -0
  407. package/src/server/server.instance.js.map +1 -0
  408. package/src/server/server.types.d.ts +24 -0
  409. package/src/server/server.types.js +3 -0
  410. package/src/server/server.types.js.map +1 -0
  411. package/src/server/server.validation.d.ts +2 -0
  412. package/src/server/server.validation.js +192 -0
  413. package/src/server/server.validation.js.map +1 -0
  414. package/src/store/adapters/store.base.adapter.d.ts +21 -0
  415. package/src/store/adapters/store.base.adapter.js +16 -0
  416. package/src/store/adapters/store.base.adapter.js.map +1 -0
  417. package/src/store/adapters/store.memory.adapter.d.ts +26 -0
  418. package/src/store/adapters/store.memory.adapter.js +87 -0
  419. package/src/store/adapters/store.memory.adapter.js.map +1 -0
  420. package/src/store/adapters/store.redis.adapter.d.ts +33 -0
  421. package/src/store/adapters/store.redis.adapter.js +104 -0
  422. package/src/store/adapters/store.redis.adapter.js.map +1 -0
  423. package/src/store/index.d.ts +8 -0
  424. package/src/store/index.js +12 -0
  425. package/src/store/index.js.map +1 -0
  426. package/src/store/store.helpers.d.ts +9 -0
  427. package/src/store/store.helpers.js +67 -0
  428. package/src/store/store.helpers.js.map +1 -0
  429. package/src/store/store.registry.d.ts +13 -0
  430. package/src/store/store.registry.js +37 -0
  431. package/src/store/store.registry.js.map +1 -0
  432. package/src/store/store.tokens.d.ts +3 -0
  433. package/src/store/store.tokens.js +7 -0
  434. package/src/store/store.tokens.js.map +1 -0
  435. package/src/store/store.types.d.ts +64 -0
  436. package/src/store/store.types.js +11 -0
  437. package/src/store/store.types.js.map +1 -0
  438. package/src/store/store.utils.d.ts +8 -0
  439. package/src/store/store.utils.js +18 -0
  440. package/src/store/store.utils.js.map +1 -0
  441. package/src/tool/flows/call-tool.flow.d.ts +875 -0
  442. package/src/tool/flows/call-tool.flow.js +249 -0
  443. package/src/tool/flows/call-tool.flow.js.map +1 -0
  444. package/src/tool/flows/tools-list.flow.d.ts +771 -0
  445. package/src/tool/flows/tools-list.flow.js +149 -0
  446. package/src/tool/flows/tools-list.flow.js.map +1 -0
  447. package/src/tool/tool.events.d.ts +17 -0
  448. package/src/tool/tool.events.js +16 -0
  449. package/src/tool/tool.events.js.map +1 -0
  450. package/src/tool/tool.instance.d.ts +15 -0
  451. package/src/tool/tool.instance.js +68 -0
  452. package/src/tool/tool.instance.js.map +1 -0
  453. package/src/tool/tool.registry.d.ts +72 -0
  454. package/src/tool/tool.registry.js +339 -0
  455. package/src/tool/tool.registry.js.map +1 -0
  456. package/src/tool/tool.types.d.ts +25 -0
  457. package/src/tool/tool.types.js +10 -0
  458. package/src/tool/tool.types.js.map +1 -0
  459. package/src/tool/tool.utils.d.ts +20 -0
  460. package/src/tool/tool.utils.js +157 -0
  461. package/src/tool/tool.utils.js.map +1 -0
  462. package/src/transport/adapters/transport.local.adapter.d.ts +41 -0
  463. package/src/transport/adapters/transport.local.adapter.js +127 -0
  464. package/src/transport/adapters/transport.local.adapter.js.map +1 -0
  465. package/src/transport/adapters/transport.sse.adapter.d.ts +14 -0
  466. package/src/transport/adapters/transport.sse.adapter.js +63 -0
  467. package/src/transport/adapters/transport.sse.adapter.js.map +1 -0
  468. package/src/transport/adapters/transport.streamable-http.adapter.d.ts +13 -0
  469. package/src/transport/adapters/transport.streamable-http.adapter.js +65 -0
  470. package/src/transport/adapters/transport.streamable-http.adapter.js.map +1 -0
  471. package/src/transport/flows/handle.sse.flow.d.ts +92 -0
  472. package/src/transport/flows/handle.sse.flow.js +129 -0
  473. package/src/transport/flows/handle.sse.flow.js.map +1 -0
  474. package/src/transport/flows/handle.streamable-http.flow.d.ts +93 -0
  475. package/src/transport/flows/handle.streamable-http.flow.js +125 -0
  476. package/src/transport/flows/handle.streamable-http.flow.js.map +1 -0
  477. package/src/transport/legacy/legacy.sse.tranporter.d.ts +75 -0
  478. package/src/transport/legacy/legacy.sse.tranporter.js +170 -0
  479. package/src/transport/legacy/legacy.sse.tranporter.js.map +1 -0
  480. package/src/transport/mcp-handlers/Initialized-notification.hanlder.d.ts +3 -0
  481. package/src/transport/mcp-handlers/Initialized-notification.hanlder.js +14 -0
  482. package/src/transport/mcp-handlers/Initialized-notification.hanlder.js.map +1 -0
  483. package/src/transport/mcp-handlers/call-tool-request.handler.d.ts +3 -0
  484. package/src/transport/mcp-handlers/call-tool-request.handler.js +15 -0
  485. package/src/transport/mcp-handlers/call-tool-request.handler.js.map +1 -0
  486. package/src/transport/mcp-handlers/index.d.ts +521 -0
  487. package/src/transport/mcp-handlers/index.js +20 -0
  488. package/src/transport/mcp-handlers/index.js.map +1 -0
  489. package/src/transport/mcp-handlers/initialize-request.handler.d.ts +3 -0
  490. package/src/transport/mcp-handlers/initialize-request.handler.js +33 -0
  491. package/src/transport/mcp-handlers/initialize-request.handler.js.map +1 -0
  492. package/src/transport/mcp-handlers/list-tools-request.handler.d.ts +285 -0
  493. package/src/transport/mcp-handlers/list-tools-request.handler.js +11 -0
  494. package/src/transport/mcp-handlers/list-tools-request.handler.js.map +1 -0
  495. package/src/transport/mcp-handlers/mcp-handlers.types.d.ts +37 -0
  496. package/src/transport/mcp-handlers/mcp-handlers.types.js +3 -0
  497. package/src/transport/mcp-handlers/mcp-handlers.types.js.map +1 -0
  498. package/src/transport/transport.error.d.ts +4 -0
  499. package/src/transport/transport.error.js +25 -0
  500. package/src/transport/transport.error.js.map +1 -0
  501. package/src/transport/transport.event-store.d.ts +10 -0
  502. package/src/transport/transport.event-store.js +36 -0
  503. package/src/transport/transport.event-store.js.map +1 -0
  504. package/src/transport/transport.local.d.ts +17 -0
  505. package/src/transport/transport.local.js +65 -0
  506. package/src/transport/transport.local.js.map +1 -0
  507. package/src/transport/transport.registry.d.ts +23 -0
  508. package/src/transport/transport.registry.js +138 -0
  509. package/src/transport/transport.registry.js.map +1 -0
  510. package/src/transport/transport.remote.d.ts +15 -0
  511. package/src/transport/transport.remote.js +31 -0
  512. package/src/transport/transport.remote.js.map +1 -0
  513. package/src/transport/transport.types.d.ts +54 -0
  514. package/src/transport/transport.types.js +3 -0
  515. package/src/transport/transport.types.js.map +1 -0
  516. package/src/types/drinen-hooks.types.d.ts +20 -0
  517. package/src/types/drinen-hooks.types.js +3 -0
  518. package/src/types/drinen-hooks.types.js.map +1 -0
  519. package/src/types/invoke.type.d.ts +15 -0
  520. package/src/types/invoke.type.js +34 -0
  521. package/src/types/invoke.type.js.map +1 -0
  522. package/src/types/token.types.d.ts +1 -0
  523. package/src/types/token.types.js +3 -0
  524. package/src/types/token.types.js.map +1 -0
  525. package/src/utils/metadata.utils.d.ts +5 -0
  526. package/src/utils/metadata.utils.js +26 -0
  527. package/src/utils/metadata.utils.js.map +1 -0
  528. package/src/utils/server.utils.d.ts +19 -0
  529. package/src/utils/server.utils.js +59 -0
  530. package/src/utils/server.utils.js.map +1 -0
  531. package/src/utils/string.utils.d.ts +1 -0
  532. package/src/utils/string.utils.js +10 -0
  533. package/src/utils/string.utils.js.map +1 -0
  534. package/src/utils/token.utils.d.ts +11 -0
  535. package/src/utils/token.utils.js +65 -0
  536. package/src/utils/token.utils.js.map +1 -0
  537. package/src/utils/types.utils.d.ts +7 -0
  538. package/src/utils/types.utils.js +3 -0
  539. package/src/utils/types.utils.js.map +1 -0
  540. package/src/constants.d.ts +0 -30
  541. package/src/constants.js +0 -36
  542. package/src/constants.js.map +0 -1
  543. package/src/decorators/adapter.decorator.js.map +0 -1
  544. package/src/decorators/app.decorator.js.map +0 -1
  545. package/src/decorators/auth-provider.decorator.js.map +0 -1
  546. package/src/decorators/flow.decorator.js.map +0 -1
  547. package/src/decorators/front-mcp.decorator.js +0 -40
  548. package/src/decorators/front-mcp.decorator.js.map +0 -1
  549. package/src/decorators/hook.decorator.js.map +0 -1
  550. package/src/decorators/index.js.map +0 -1
  551. package/src/decorators/logger.decorator.js.map +0 -1
  552. package/src/decorators/plugin.decorator.js.map +0 -1
  553. package/src/decorators/prompt.decorator.js.map +0 -1
  554. package/src/decorators/provider.decorator.js.map +0 -1
  555. package/src/decorators/resource.decorator.js.map +0 -1
  556. package/src/decorators/tool.decorator.d.ts +0 -42
  557. package/src/decorators/tool.decorator.js +0 -45
  558. package/src/decorators/tool.decorator.js.map +0 -1
  559. package/src/decorators-old/async-with.decorator.d.ts +0 -9
  560. package/src/decorators-old/async-with.decorator.js +0 -23
  561. package/src/decorators-old/async-with.decorator.js.map +0 -1
  562. package/src/decorators-old/auth-hook.decorator.js.map +0 -1
  563. package/src/decorators-old/session-hook.decorator.js.map +0 -1
  564. package/src/decorators-old/tool-hook.decorator.d.ts +0 -14
  565. package/src/decorators-old/tool-hook.decorator.js +0 -27
  566. package/src/decorators-old/tool-hook.decorator.js.map +0 -1
  567. package/src/dynamic/dynamic.adapter.js.map +0 -1
  568. package/src/dynamic/dynamic.plugin.js.map +0 -1
  569. package/src/dynamic/dynamic.utils.d.ts +0 -3
  570. package/src/dynamic/dynamic.utils.js.map +0 -1
  571. package/src/dynamic/index.js.map +0 -1
  572. package/src/entries/adapter.entry.js.map +0 -1
  573. package/src/entries/app.entry.d.ts +0 -13
  574. package/src/entries/app.entry.js.map +0 -1
  575. package/src/entries/auth-provider.entry.js.map +0 -1
  576. package/src/entries/base.entry.js.map +0 -1
  577. package/src/entries/flow.entry.js.map +0 -1
  578. package/src/entries/hook.entry.js.map +0 -1
  579. package/src/entries/index.js.map +0 -1
  580. package/src/entries/logger.entry.js.map +0 -1
  581. package/src/entries/plugin.entry.js.map +0 -1
  582. package/src/entries/prompt.entry.js.map +0 -1
  583. package/src/entries/provider.entry.js.map +0 -1
  584. package/src/entries/resource.entry.js.map +0 -1
  585. package/src/entries/scope.entry.js.map +0 -1
  586. package/src/entries/tool.entry.js.map +0 -1
  587. package/src/interfaces/adapter.interface.js.map +0 -1
  588. package/src/interfaces/app.interface.js.map +0 -1
  589. package/src/interfaces/auth-hook.interface.js.map +0 -1
  590. package/src/interfaces/auth-provider.interface.js.map +0 -1
  591. package/src/interfaces/base.interface.js.map +0 -1
  592. package/src/interfaces/flow.interface.d.ts +0 -41
  593. package/src/interfaces/flow.interface.js.map +0 -1
  594. package/src/interfaces/front-mcp.interface.js.map +0 -1
  595. package/src/interfaces/hook.interface.js.map +0 -1
  596. package/src/interfaces/index.js.map +0 -1
  597. package/src/interfaces/internal/flow.utils.d.ts +0 -24
  598. package/src/interfaces/internal/flow.utils.js.map +0 -1
  599. package/src/interfaces/internal/index.js.map +0 -1
  600. package/src/interfaces/internal/primary-auth-provider.interface.d.ts +0 -24
  601. package/src/interfaces/internal/primary-auth-provider.interface.js.map +0 -1
  602. package/src/interfaces/internal/registry.interface.d.ts +0 -97
  603. package/src/interfaces/internal/registry.interface.js.map +0 -1
  604. package/src/interfaces/logger.interface.js.map +0 -1
  605. package/src/interfaces/plugin.interface.js.map +0 -1
  606. package/src/interfaces/prompt.interface.js.map +0 -1
  607. package/src/interfaces/provider.interface.js.map +0 -1
  608. package/src/interfaces/resource.interface.js.map +0 -1
  609. package/src/interfaces/scope.interface.js.map +0 -1
  610. package/src/interfaces/server.interface.js.map +0 -1
  611. package/src/interfaces/session-hook.interface.js.map +0 -1
  612. package/src/interfaces/tool-hook.interface.js.map +0 -1
  613. package/src/interfaces/tool.interface.js.map +0 -1
  614. package/src/metadata/adapter.metadata.js.map +0 -1
  615. package/src/metadata/app.metadata.d.ts +0 -872
  616. package/src/metadata/app.metadata.js.map +0 -1
  617. package/src/metadata/auth-provider.metadata.js.map +0 -1
  618. package/src/metadata/flow.metadata.d.ts +0 -77
  619. package/src/metadata/flow.metadata.js.map +0 -1
  620. package/src/metadata/front-mcp.metadata.d.ts +0 -1144
  621. package/src/metadata/front-mcp.metadata.js.map +0 -1
  622. package/src/metadata/hook.metadata.js.map +0 -1
  623. package/src/metadata/index.js.map +0 -1
  624. package/src/metadata/logger.metadata.js.map +0 -1
  625. package/src/metadata/plugin.metadata.js.map +0 -1
  626. package/src/metadata/prompt.metadata.js.map +0 -1
  627. package/src/metadata/provider.metadata.js.map +0 -1
  628. package/src/metadata/resource.metadata.js.map +0 -1
  629. package/src/metadata/tool.metadata.d.ts +0 -178
  630. package/src/metadata/tool.metadata.js.map +0 -1
  631. package/src/providers/session.provider.js.map +0 -1
  632. package/src/records/adapter.record.js.map +0 -1
  633. package/src/records/app.record.js.map +0 -1
  634. package/src/records/auth-provider.record.js.map +0 -1
  635. package/src/records/flow.record.js.map +0 -1
  636. package/src/records/hook.record.js.map +0 -1
  637. package/src/records/index.js.map +0 -1
  638. package/src/records/logger.record.d.ts +0 -11
  639. package/src/records/logger.record.js.map +0 -1
  640. package/src/records/plugin.record.js.map +0 -1
  641. package/src/records/prompt.record.js.map +0 -1
  642. package/src/records/provider.record.js.map +0 -1
  643. package/src/records/resource.record.js.map +0 -1
  644. package/src/records/scope.record.js.map +0 -1
  645. package/src/records/tool.record.js.map +0 -1
  646. package/src/schemas/annotated-class.schema.js.map +0 -1
  647. package/src/schemas/http-input.schema.js.map +0 -1
  648. package/src/schemas/http-output.schema.d.ts +0 -2011
  649. package/src/schemas/http-output.schema.js.map +0 -1
  650. package/src/schemas/index.js.map +0 -1
  651. package/src/tokens/adapter.tokens.js.map +0 -1
  652. package/src/tokens/app.tokens.js.map +0 -1
  653. package/src/tokens/auth-provider.tokens.js.map +0 -1
  654. package/src/tokens/base.tokens.js.map +0 -1
  655. package/src/tokens/flow-hook.tokens.js.map +0 -1
  656. package/src/tokens/flow.tokens.js.map +0 -1
  657. package/src/tokens/front-mcp.tokens.js.map +0 -1
  658. package/src/tokens/index.js.map +0 -1
  659. package/src/tokens/logger.tokens.js.map +0 -1
  660. package/src/tokens/plugin.tokens.js.map +0 -1
  661. package/src/tokens/prompt.tokens.js.map +0 -1
  662. package/src/tokens/provider.tokens.js.map +0 -1
  663. package/src/tokens/resource.tokens.js.map +0 -1
  664. package/src/tokens/server.tokens.js.map +0 -1
  665. package/src/tokens/tool.tokens.js.map +0 -1
  666. package/src/types/auth/index.js.map +0 -1
  667. package/src/types/auth/jwt.types.js.map +0 -1
  668. package/src/types/auth/session.types.d.ts +0 -263
  669. package/src/types/auth/session.types.js.map +0 -1
  670. package/src/types/common.types.js.map +0 -1
  671. package/src/types/index.js.map +0 -1
  672. package/src/types/options/auth.options.d.ts +0 -513
  673. package/src/types/options/auth.options.js.map +0 -1
  674. package/src/types/options/http.options.js.map +0 -1
  675. package/src/types/options/index.js.map +0 -1
  676. package/src/types/options/logging.options.d.ts +0 -39
  677. package/src/types/options/logging.options.js.map +0 -1
  678. package/src/types/options/server-info.options.d.ts +0 -48
  679. package/src/types/options/server-info.options.js.map +0 -1
  680. package/src/types/options/session.options.d.ts +0 -67
  681. package/src/types/options/session.options.js.map +0 -1
  682. package/src/utils/decide-request-intent.utils.d.ts +0 -79
  683. package/src/utils/decide-request-intent.utils.js.map +0 -1
  684. package/src/utils/index.js.map +0 -1
  685. package/src/utils/path.utils.d.ts +0 -20
  686. package/src/utils/path.utils.js.map +0 -1
  687. /package/src/{decorators → common/decorators}/adapter.decorator.d.ts +0 -0
  688. /package/src/{decorators → common/decorators}/adapter.decorator.js +0 -0
  689. /package/src/{decorators → common/decorators}/app.decorator.d.ts +0 -0
  690. /package/src/{decorators → common/decorators}/app.decorator.js +0 -0
  691. /package/src/{decorators → common/decorators}/auth-provider.decorator.d.ts +0 -0
  692. /package/src/{decorators → common/decorators}/auth-provider.decorator.js +0 -0
  693. /package/src/{decorators → common/decorators}/flow.decorator.d.ts +0 -0
  694. /package/src/{decorators → common/decorators}/flow.decorator.js +0 -0
  695. /package/src/{decorators → common/decorators}/front-mcp.decorator.d.ts +0 -0
  696. /package/src/{decorators → common/decorators}/hook.decorator.d.ts +0 -0
  697. /package/src/{decorators → common/decorators}/hook.decorator.js +0 -0
  698. /package/src/{decorators → common/decorators}/index.d.ts +0 -0
  699. /package/src/{decorators → common/decorators}/index.js +0 -0
  700. /package/src/{decorators → common/decorators}/logger.decorator.d.ts +0 -0
  701. /package/src/{decorators → common/decorators}/logger.decorator.js +0 -0
  702. /package/src/{decorators → common/decorators}/plugin.decorator.d.ts +0 -0
  703. /package/src/{decorators → common/decorators}/plugin.decorator.js +0 -0
  704. /package/src/{decorators → common/decorators}/prompt.decorator.d.ts +0 -0
  705. /package/src/{decorators → common/decorators}/prompt.decorator.js +0 -0
  706. /package/src/{decorators → common/decorators}/provider.decorator.d.ts +0 -0
  707. /package/src/{decorators → common/decorators}/provider.decorator.js +0 -0
  708. /package/src/{decorators → common/decorators}/resource.decorator.d.ts +0 -0
  709. /package/src/{decorators → common/decorators}/resource.decorator.js +0 -0
  710. /package/src/{decorators-old → common/decorators-old}/auth-hook.decorator.d.ts +0 -0
  711. /package/src/{decorators-old → common/decorators-old}/auth-hook.decorator.js +0 -0
  712. /package/src/{decorators-old → common/decorators-old}/session-hook.decorator.d.ts +0 -0
  713. /package/src/{decorators-old → common/decorators-old}/session-hook.decorator.js +0 -0
  714. /package/src/{dynamic → common/dynamic}/dynamic.adapter.d.ts +0 -0
  715. /package/src/{dynamic → common/dynamic}/dynamic.adapter.js +0 -0
  716. /package/src/{dynamic → common/dynamic}/dynamic.plugin.d.ts +0 -0
  717. /package/src/{dynamic → common/dynamic}/dynamic.plugin.js +0 -0
  718. /package/src/{dynamic → common/dynamic}/dynamic.utils.js +0 -0
  719. /package/src/{dynamic → common/dynamic}/index.d.ts +0 -0
  720. /package/src/{dynamic → common/dynamic}/index.js +0 -0
  721. /package/src/{entries → common/entries}/adapter.entry.d.ts +0 -0
  722. /package/src/{entries → common/entries}/adapter.entry.js +0 -0
  723. /package/src/{entries → common/entries}/app.entry.js +0 -0
  724. /package/src/{entries → common/entries}/auth-provider.entry.d.ts +0 -0
  725. /package/src/{entries → common/entries}/auth-provider.entry.js +0 -0
  726. /package/src/{entries → common/entries}/base.entry.d.ts +0 -0
  727. /package/src/{entries → common/entries}/base.entry.js +0 -0
  728. /package/src/{entries → common/entries}/flow.entry.d.ts +0 -0
  729. /package/src/{entries → common/entries}/flow.entry.js +0 -0
  730. /package/src/{entries → common/entries}/hook.entry.d.ts +0 -0
  731. /package/src/{entries → common/entries}/hook.entry.js +0 -0
  732. /package/src/{entries → common/entries}/index.d.ts +0 -0
  733. /package/src/{entries → common/entries}/index.js +0 -0
  734. /package/src/{entries → common/entries}/logger.entry.d.ts +0 -0
  735. /package/src/{entries → common/entries}/logger.entry.js +0 -0
  736. /package/src/{entries → common/entries}/plugin.entry.d.ts +0 -0
  737. /package/src/{entries → common/entries}/plugin.entry.js +0 -0
  738. /package/src/{entries → common/entries}/prompt.entry.d.ts +0 -0
  739. /package/src/{entries → common/entries}/prompt.entry.js +0 -0
  740. /package/src/{entries → common/entries}/provider.entry.d.ts +0 -0
  741. /package/src/{entries → common/entries}/provider.entry.js +0 -0
  742. /package/src/{entries → common/entries}/resource.entry.d.ts +0 -0
  743. /package/src/{entries → common/entries}/resource.entry.js +0 -0
  744. /package/src/{entries → common/entries}/scope.entry.d.ts +0 -0
  745. /package/src/{entries → common/entries}/scope.entry.js +0 -0
  746. /package/src/{entries → common/entries}/tool.entry.d.ts +0 -0
  747. /package/src/{entries → common/entries}/tool.entry.js +0 -0
  748. /package/src/{interfaces → common/interfaces}/adapter.interface.d.ts +0 -0
  749. /package/src/{interfaces → common/interfaces}/adapter.interface.js +0 -0
  750. /package/src/{interfaces → common/interfaces}/app.interface.d.ts +0 -0
  751. /package/src/{interfaces → common/interfaces}/app.interface.js +0 -0
  752. /package/src/{interfaces → common/interfaces}/auth-hook.interface.d.ts +0 -0
  753. /package/src/{interfaces → common/interfaces}/auth-hook.interface.js +0 -0
  754. /package/src/{interfaces → common/interfaces}/auth-provider.interface.d.ts +0 -0
  755. /package/src/{interfaces → common/interfaces}/auth-provider.interface.js +0 -0
  756. /package/src/{interfaces → common/interfaces}/base.interface.d.ts +0 -0
  757. /package/src/{interfaces → common/interfaces}/base.interface.js +0 -0
  758. /package/src/{interfaces → common/interfaces}/flow.interface.js +0 -0
  759. /package/src/{interfaces → common/interfaces}/front-mcp.interface.d.ts +0 -0
  760. /package/src/{interfaces → common/interfaces}/front-mcp.interface.js +0 -0
  761. /package/src/{interfaces → common/interfaces}/hook.interface.d.ts +0 -0
  762. /package/src/{interfaces → common/interfaces}/hook.interface.js +0 -0
  763. /package/src/{interfaces → common/interfaces}/index.d.ts +0 -0
  764. /package/src/{interfaces → common/interfaces}/index.js +0 -0
  765. /package/src/{interfaces → common/interfaces}/internal/flow.utils.js +0 -0
  766. /package/src/{interfaces → common/interfaces}/internal/index.d.ts +0 -0
  767. /package/src/{interfaces → common/interfaces}/internal/index.js +0 -0
  768. /package/src/{interfaces → common/interfaces}/internal/primary-auth-provider.interface.js +0 -0
  769. /package/src/{interfaces → common/interfaces}/internal/registry.interface.js +0 -0
  770. /package/src/{interfaces → common/interfaces}/logger.interface.d.ts +0 -0
  771. /package/src/{interfaces → common/interfaces}/logger.interface.js +0 -0
  772. /package/src/{interfaces → common/interfaces}/plugin.interface.d.ts +0 -0
  773. /package/src/{interfaces → common/interfaces}/plugin.interface.js +0 -0
  774. /package/src/{interfaces → common/interfaces}/prompt.interface.d.ts +0 -0
  775. /package/src/{interfaces → common/interfaces}/prompt.interface.js +0 -0
  776. /package/src/{interfaces → common/interfaces}/provider.interface.d.ts +0 -0
  777. /package/src/{interfaces → common/interfaces}/provider.interface.js +0 -0
  778. /package/src/{interfaces → common/interfaces}/resource.interface.d.ts +0 -0
  779. /package/src/{interfaces → common/interfaces}/resource.interface.js +0 -0
  780. /package/src/{interfaces → common/interfaces}/scope.interface.d.ts +0 -0
  781. /package/src/{interfaces → common/interfaces}/scope.interface.js +0 -0
  782. /package/src/{interfaces → common/interfaces}/server.interface.d.ts +0 -0
  783. /package/src/{interfaces → common/interfaces}/server.interface.js +0 -0
  784. /package/src/{interfaces → common/interfaces}/session-hook.interface.d.ts +0 -0
  785. /package/src/{interfaces → common/interfaces}/session-hook.interface.js +0 -0
  786. /package/src/{interfaces → common/interfaces}/tool-hook.interface.d.ts +0 -0
  787. /package/src/{interfaces → common/interfaces}/tool-hook.interface.js +0 -0
  788. /package/src/{interfaces → common/interfaces}/tool.interface.d.ts +0 -0
  789. /package/src/{interfaces → common/interfaces}/tool.interface.js +0 -0
  790. /package/src/{metadata → common/metadata}/adapter.metadata.d.ts +0 -0
  791. /package/src/{metadata → common/metadata}/adapter.metadata.js +0 -0
  792. /package/src/{metadata → common/metadata}/app.metadata.js +0 -0
  793. /package/src/{metadata → common/metadata}/auth-provider.metadata.d.ts +0 -0
  794. /package/src/{metadata → common/metadata}/auth-provider.metadata.js +0 -0
  795. /package/src/{metadata → common/metadata}/flow.metadata.js +0 -0
  796. /package/src/{metadata → common/metadata}/front-mcp.metadata.js +0 -0
  797. /package/src/{metadata → common/metadata}/hook.metadata.d.ts +0 -0
  798. /package/src/{metadata → common/metadata}/hook.metadata.js +0 -0
  799. /package/src/{metadata → common/metadata}/index.d.ts +0 -0
  800. /package/src/{metadata → common/metadata}/index.js +0 -0
  801. /package/src/{metadata → common/metadata}/logger.metadata.d.ts +0 -0
  802. /package/src/{metadata → common/metadata}/logger.metadata.js +0 -0
  803. /package/src/{metadata → common/metadata}/plugin.metadata.d.ts +0 -0
  804. /package/src/{metadata → common/metadata}/plugin.metadata.js +0 -0
  805. /package/src/{metadata → common/metadata}/prompt.metadata.d.ts +0 -0
  806. /package/src/{metadata → common/metadata}/prompt.metadata.js +0 -0
  807. /package/src/{metadata → common/metadata}/provider.metadata.d.ts +0 -0
  808. /package/src/{metadata → common/metadata}/provider.metadata.js +0 -0
  809. /package/src/{metadata → common/metadata}/resource.metadata.d.ts +0 -0
  810. /package/src/{metadata → common/metadata}/resource.metadata.js +0 -0
  811. /package/src/{metadata → common/metadata}/tool.metadata.js +0 -0
  812. /package/src/{providers → common/providers}/session.provider.d.ts +0 -0
  813. /package/src/{providers → common/providers}/session.provider.js +0 -0
  814. /package/src/{records → common/records}/adapter.record.d.ts +0 -0
  815. /package/src/{records → common/records}/adapter.record.js +0 -0
  816. /package/src/{records → common/records}/app.record.d.ts +0 -0
  817. /package/src/{records → common/records}/app.record.js +0 -0
  818. /package/src/{records → common/records}/auth-provider.record.d.ts +0 -0
  819. /package/src/{records → common/records}/auth-provider.record.js +0 -0
  820. /package/src/{records → common/records}/flow.record.d.ts +0 -0
  821. /package/src/{records → common/records}/flow.record.js +0 -0
  822. /package/src/{records → common/records}/hook.record.d.ts +0 -0
  823. /package/src/{records → common/records}/hook.record.js +0 -0
  824. /package/src/{records → common/records}/index.d.ts +0 -0
  825. /package/src/{records → common/records}/index.js +0 -0
  826. /package/src/{records → common/records}/logger.record.js +0 -0
  827. /package/src/{records → common/records}/plugin.record.d.ts +0 -0
  828. /package/src/{records → common/records}/plugin.record.js +0 -0
  829. /package/src/{records → common/records}/prompt.record.d.ts +0 -0
  830. /package/src/{records → common/records}/prompt.record.js +0 -0
  831. /package/src/{records → common/records}/provider.record.d.ts +0 -0
  832. /package/src/{records → common/records}/provider.record.js +0 -0
  833. /package/src/{records → common/records}/resource.record.d.ts +0 -0
  834. /package/src/{records → common/records}/resource.record.js +0 -0
  835. /package/src/{records → common/records}/scope.record.d.ts +0 -0
  836. /package/src/{records → common/records}/scope.record.js +0 -0
  837. /package/src/{records → common/records}/tool.record.d.ts +0 -0
  838. /package/src/{records → common/records}/tool.record.js +0 -0
  839. /package/src/{schemas → common/schemas}/annotated-class.schema.d.ts +0 -0
  840. /package/src/{schemas → common/schemas}/annotated-class.schema.js +0 -0
  841. /package/src/{schemas → common/schemas}/http-input.schema.d.ts +0 -0
  842. /package/src/{schemas → common/schemas}/http-input.schema.js +0 -0
  843. /package/src/{schemas → common/schemas}/http-output.schema.js +0 -0
  844. /package/src/{schemas → common/schemas}/index.d.ts +0 -0
  845. /package/src/{schemas → common/schemas}/index.js +0 -0
  846. /package/src/{tokens → common/tokens}/adapter.tokens.d.ts +0 -0
  847. /package/src/{tokens → common/tokens}/adapter.tokens.js +0 -0
  848. /package/src/{tokens → common/tokens}/app.tokens.d.ts +0 -0
  849. /package/src/{tokens → common/tokens}/app.tokens.js +0 -0
  850. /package/src/{tokens → common/tokens}/auth-provider.tokens.d.ts +0 -0
  851. /package/src/{tokens → common/tokens}/auth-provider.tokens.js +0 -0
  852. /package/src/{tokens → common/tokens}/base.tokens.d.ts +0 -0
  853. /package/src/{tokens → common/tokens}/base.tokens.js +0 -0
  854. /package/src/{tokens → common/tokens}/flow-hook.tokens.d.ts +0 -0
  855. /package/src/{tokens → common/tokens}/flow-hook.tokens.js +0 -0
  856. /package/src/{tokens → common/tokens}/flow.tokens.d.ts +0 -0
  857. /package/src/{tokens → common/tokens}/flow.tokens.js +0 -0
  858. /package/src/{tokens → common/tokens}/front-mcp.tokens.d.ts +0 -0
  859. /package/src/{tokens → common/tokens}/front-mcp.tokens.js +0 -0
  860. /package/src/{tokens → common/tokens}/index.d.ts +0 -0
  861. /package/src/{tokens → common/tokens}/index.js +0 -0
  862. /package/src/{tokens → common/tokens}/logger.tokens.d.ts +0 -0
  863. /package/src/{tokens → common/tokens}/logger.tokens.js +0 -0
  864. /package/src/{tokens → common/tokens}/plugin.tokens.d.ts +0 -0
  865. /package/src/{tokens → common/tokens}/plugin.tokens.js +0 -0
  866. /package/src/{tokens → common/tokens}/prompt.tokens.d.ts +0 -0
  867. /package/src/{tokens → common/tokens}/prompt.tokens.js +0 -0
  868. /package/src/{tokens → common/tokens}/provider.tokens.d.ts +0 -0
  869. /package/src/{tokens → common/tokens}/provider.tokens.js +0 -0
  870. /package/src/{tokens → common/tokens}/resource.tokens.d.ts +0 -0
  871. /package/src/{tokens → common/tokens}/resource.tokens.js +0 -0
  872. /package/src/{tokens → common/tokens}/server.tokens.d.ts +0 -0
  873. /package/src/{tokens → common/tokens}/server.tokens.js +0 -0
  874. /package/src/{tokens → common/tokens}/tool.tokens.d.ts +0 -0
  875. /package/src/{tokens → common/tokens}/tool.tokens.js +0 -0
  876. /package/src/{types → common/types}/auth/index.d.ts +0 -0
  877. /package/src/{types → common/types}/auth/index.js +0 -0
  878. /package/src/{types → common/types}/auth/jwt.types.d.ts +0 -0
  879. /package/src/{types → common/types}/auth/jwt.types.js +0 -0
  880. /package/src/{types → common/types}/auth/session.types.js +0 -0
  881. /package/src/{types → common/types}/common.types.d.ts +0 -0
  882. /package/src/{types → common/types}/common.types.js +0 -0
  883. /package/src/{types → common/types}/index.d.ts +0 -0
  884. /package/src/{types → common/types}/index.js +0 -0
  885. /package/src/{types → common/types}/options/auth.options.js +0 -0
  886. /package/src/{types → common/types}/options/http.options.d.ts +0 -0
  887. /package/src/{types → common/types}/options/http.options.js +0 -0
  888. /package/src/{types → common/types}/options/index.d.ts +0 -0
  889. /package/src/{types → common/types}/options/index.js +0 -0
  890. /package/src/{types → common/types}/options/logging.options.js +0 -0
  891. /package/src/{types → common/types}/options/server-info.options.js +0 -0
  892. /package/src/{types → common/types}/options/session.options.js +0 -0
  893. /package/src/{utils → common/utils}/decide-request-intent.utils.js +0 -0
  894. /package/src/{utils → common/utils}/index.d.ts +0 -0
  895. /package/src/{utils → common/utils}/index.js +0 -0
  896. /package/src/{utils → common/utils}/path.utils.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-id.utils.js","sourceRoot":"","sources":["../../../../../src/auth/session/utils/session-id.utils.ts"],"names":[],"mappings":";;AA+BA,kCASC;AAuCD,gDAmCC;AAED,0CAYC;AAED,sDAGC;AAED,4DAIC;AA3ID,yCAAyC;AACzC,mCAA+F;AAC/F,qDAAgD;AAEhD,yDAAkE;AAElE,qCAAqC;AACrC,MAAM,KAAK,GAAG,IAAI,6BAAY,CAA2B,IAAI,CAAC,CAAC;AAE/D,uDAAuD;AACvD,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE;IACvB,2FAA2F;IAC3F,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAA,mBAAU,GAAE,CAAC,CAAC,sCAAsC;AAC1F,CAAC,CAAC,EAAE,CAAC;AAEL,2EAA2E;AAC3E,SAAS,MAAM;IACb,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,UAAU,CAAC,CAAC,sCAAsC;IACpG,OAAO,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,WAAW;AAChE,CAAC;AAED,SAAS,YAAY,CAAC,GAAW;IAC/B,OAAO,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAC5F,CAAC;AAED,SAAS,YAAY,CAAC,CAAS;IAC7B,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1F,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACvC,CAAC;AAED,SAAgB,WAAW,CAAC,GAAY;IACtC,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IACrB,MAAM,EAAE,GAAG,IAAA,oBAAW,EAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB;IAChD,MAAM,MAAM,GAAG,IAAA,uBAAc,EAAC,aAAa,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACtD,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;IACpD,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC9D,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IAChC,yCAAyC;IACzC,OAAO,GAAG,YAAY,CAAC,EAAE,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;AACxE,CAAC;AAED,SAAS,gBAAgB,CAAC,SAAiB,EAAE,GAAW;IACtD,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IACrB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpD,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAC7C,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAG,IAAA,yBAAgB,EAAC,aAAa,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QAC1D,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACzB,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAClE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5C,IACE,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;YAC9B,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;YAC/B,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;YAC5B,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ;YAC3B,GAAG,CAAC,OAAO,KAAK,GAAG,EACnB,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,MAAM;IACb,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AACvC,CAAC;AAED;;;;GAIG;AACH,SAAgB,kBAAkB,CAChC,aAAiC,EACjC,KAAa;IAEb,MAAM,cAAc,GAAG,IAAA,+CAA4B,EAAC,KAAK,CAAC,CAAC;IAC3D,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACxC,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,MAAM,CAAC,OAAO,KAAK,cAAc,EAAE,CAAC;gBACtC,OAAO,EAAE,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YAChD,CAAC;YACD,wCAAwC;QAC1C,CAAC;QAED,MAAM,GAAG,GAAG,gBAAgB,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QAC5D,IAAI,GAAG,EAAE,CAAC;YACR,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;YAC9B,OAAO,EAAE,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,GAAuB,EAAE,CAAC;QACjE,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;IACjB,kBAAkB;IAElB,yCAAyC;IACzC,wBAAwB;IACxB,6BAA6B;IAC7B,wBAAwB;IACxB,mBAAmB;IACnB,KAAK;IACL,uCAAuC;IACvC,6CAA6C;IAC7C,8BAA8B;IAC9B,oCAAoC;IACpC,sDAAsD;AACxD,CAAC;AAED,SAAgB,eAAe,CAAC,QAA2B,EAAE,KAAa;IACxE,MAAM,OAAO,GAAG,IAAA,+CAA4B,EAAC,KAAK,CAAC,CAAC;IACpD,MAAM,OAAO,GAAqB;QAChC,MAAM,EAAE,UAAU;QAClB,OAAO;QACP,IAAI,EAAE,IAAA,mBAAU,GAAE;QAClB,GAAG,EAAE,MAAM,EAAE;QACb,QAAQ;KACT,CAAC;IACF,MAAM,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAChC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACvB,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;AACzB,CAAC;AAED,SAAgB,qBAAqB,CAAC,SAAiB,EAAE,YAAY,GAAG,EAAE,GAAG,EAAE;IAC7E,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9E,OAAO,kBAAkB,SAAS,qBAAqB,OAAO,0BAA0B,CAAC;AAC3F,CAAC;AAED,SAAgB,wBAAwB,CAAC,MAAe;IACtD,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC/D,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9B,CAAC","sourcesContent":["// auth/session/utils/session-id.utils.ts\nimport { randomUUID, createHash, randomBytes, createCipheriv, createDecipheriv } from 'crypto';\nimport { TinyTtlCache } from './tiny-ttl-cache';\nimport { HttpRequestIntent, SessionIdPayload } from '../../../common';\nimport { getTokenSignatureFingerprint } from './auth-token.utils';\n\n// 5s TTL cache for decrypted headers\nconst cache = new TinyTtlCache<string, SessionIdPayload>(5000);\n\n// Single-process machine id generated at server launch\nconst MACHINE_ID = (() => {\n // Prefer an injected env (stable across restarts) if you have one; else random per launch:\n return process.env['MACHINE_ID'] || randomUUID(); // TODO: move to gateway config module\n})();\n\n// Symmetric key derived from secret or machine id (stable for the process)\nfunction getKey(): Buffer {\n const base = process.env['MCP_SESSION_SECRET'] || MACHINE_ID; // TODO: move to gateway config module\n return createHash('sha256').update(base).digest(); // 32 bytes\n}\n\nfunction b64urlEncode(buf: Buffer): string {\n return buf.toString('base64').replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=+$/g, '');\n}\n\nfunction b64urlDecode(s: string): Buffer {\n const pad = 4 - (s.length % 4);\n const base64 = s.replace(/-/g, '+').replace(/_/g, '/') + (pad < 4 ? '='.repeat(pad) : '');\n return Buffer.from(base64, 'base64');\n}\n\nexport function encryptJson(obj: unknown): string {\n const key = getKey();\n const iv = randomBytes(12); // AES-GCM 96-bit IV\n const cipher = createCipheriv('aes-256-gcm', key, iv);\n const pt = Buffer.from(JSON.stringify(obj), 'utf8');\n const ct = Buffer.concat([cipher.update(pt), cipher.final()]);\n const tag = cipher.getAuthTag();\n // Pack iv.tag.ct as base64url(iv.tag.ct)\n return `${b64urlEncode(iv)}.${b64urlEncode(tag)}.${b64urlEncode(ct)}`;\n}\n\nfunction decryptSessionId(sessionId: string, sig: string): SessionIdPayload | null {\n const key = getKey();\n const [ivB64, tagB64, ctB64] = sessionId.split('.');\n if (!ivB64 || !tagB64 || !ctB64) return null;\n try {\n const iv = b64urlDecode(ivB64);\n const tag = b64urlDecode(tagB64);\n const ct = b64urlDecode(ctB64);\n const decipher = createDecipheriv('aes-256-gcm', key, iv);\n decipher.setAuthTag(tag);\n const pt = Buffer.concat([decipher.update(ct), decipher.final()]);\n const dec = JSON.parse(pt.toString('utf8'));\n if (\n typeof dec.nodeId === 'string' &&\n typeof dec.authSig === 'string' &&\n typeof dec.uuid === 'string' &&\n typeof dec.iat === 'number' &&\n dec.authSig === sig\n ) {\n return dec;\n }\n\n throw new Error('Invalid session id');\n } catch {\n return null;\n }\n}\n\nfunction nowSec(): number {\n return Math.floor(Date.now() / 1000);\n}\n\n/**\n * Validates an existing session header OR creates a fresh one.\n * - Valid: nodeId matches local, authSig matches current Authorization\n * - On any mismatch/decrypt error → generate new\n */\nexport function parseSessionHeader(\n sessionHeader: string | undefined,\n token: string,\n): { id: string; payload: SessionIdPayload } | undefined {\n const currentAuthSig = getTokenSignatureFingerprint(token);\n if (sessionHeader) {\n const cached = cache.get(sessionHeader);\n if (cached) {\n if (cached.authSig === currentAuthSig) {\n return { id: sessionHeader, payload: cached };\n }\n // fallthrough to regenerate if mismatch\n }\n\n const dec = decryptSessionId(sessionHeader, currentAuthSig);\n if (dec) {\n cache.set(sessionHeader, dec);\n return { id: sessionHeader, payload: dec as SessionIdPayload };\n }\n }\n\n return undefined;\n // // Create fresh\n\n // const decodedSse: SessionIdPayload = {\n // nodeId: MACHINE_ID,\n // authSig: currentAuthSig,\n // uuid: randomUUID(),\n // iat: nowSec(),\n // };\n // const header = encryptJson(decoded);\n // const headerSse = encryptJson(decodedSse);\n // cache.set(header, decoded);\n // cache.set(headerSse, decodedSse);\n // return { header, decoded, headerSse, isNew: true };\n}\n\nexport function createSessionId(protocol: HttpRequestIntent, token: string) {\n const authSig = getTokenSignatureFingerprint(token);\n const payload: SessionIdPayload = {\n nodeId: MACHINE_ID,\n authSig,\n uuid: randomUUID(),\n iat: nowSec(),\n protocol,\n };\n const id = encryptJson(payload);\n cache.set(id, payload);\n return { id, payload };\n}\n\nexport function generateSessionCookie(sessionId: string, ttlInMinutes = 60 * 24): string {\n const expires = new Date(Date.now() + ttlInMinutes * 60 * 1000).toUTCString();\n return `mcp_session_id=${sessionId}; Path=/; Expires=${expires}; HttpOnly; SameSite=Lax`;\n}\n\nexport function extractSessionFromCookie(cookie?: string): string | undefined {\n if (!cookie) return undefined;\n const m = cookie.match(/(^|;)\\s*mcp_session_id\\s*=\\s*([^;]*)/);\n return m ? m[2] : undefined;\n}\n\n\n"]}
@@ -0,0 +1,7 @@
1
+ export declare class TinyTtlCache<K, V> {
2
+ private readonly ttlMs;
3
+ private map;
4
+ constructor(ttlMs: number);
5
+ get(k: K): V | undefined;
6
+ set(k: K, v: V): void;
7
+ }
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TinyTtlCache = void 0;
4
+ // auth/session/utils/tiny-ttl-cache.ts
5
+ class TinyTtlCache {
6
+ ttlMs;
7
+ map = new Map();
8
+ constructor(ttlMs) {
9
+ this.ttlMs = ttlMs;
10
+ }
11
+ get(k) {
12
+ const hit = this.map.get(k);
13
+ if (!hit)
14
+ return undefined;
15
+ if (hit.exp < Date.now()) {
16
+ this.map.delete(k);
17
+ return undefined;
18
+ }
19
+ return hit.v;
20
+ }
21
+ set(k, v) {
22
+ this.map.set(k, { v, exp: Date.now() + this.ttlMs });
23
+ }
24
+ }
25
+ exports.TinyTtlCache = TinyTtlCache;
26
+ //# sourceMappingURL=tiny-ttl-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tiny-ttl-cache.js","sourceRoot":"","sources":["../../../../../src/auth/session/utils/tiny-ttl-cache.ts"],"names":[],"mappings":";;;AAAA,uCAAuC;AACvC,MAAa,YAAY;IAEM;IADrB,GAAG,GAAG,IAAI,GAAG,EAA4B,CAAC;IAClD,YAA6B,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IAAG,CAAC;IAE9C,GAAG,CAAC,CAAI;QACN,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,GAAG;YAAE,OAAO,SAAS,CAAC;QAC3B,IAAI,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACzB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACnB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,GAAG,CAAC,CAAC,CAAC;IACf,CAAC;IAED,GAAG,CAAC,CAAI,EAAE,CAAI;QACZ,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACvD,CAAC;CACF;AAjBD,oCAiBC","sourcesContent":["// auth/session/utils/tiny-ttl-cache.ts\nexport class TinyTtlCache<K, V> {\n private map = new Map<K, { v: V; exp: number }>();\n constructor(private readonly ttlMs: number) {}\n\n get(k: K): V | undefined {\n const hit = this.map.get(k);\n if (!hit) return undefined;\n if (hit.exp < Date.now()) {\n this.map.delete(k);\n return undefined;\n }\n return hit.v;\n }\n\n set(k: K, v: V) {\n this.map.set(k, { v, exp: Date.now() + this.ttlMs });\n }\n}\n"]}
@@ -0,0 +1,29 @@
1
+ import { ServerResponse } from '../common';
2
+ import { z } from 'zod';
3
+ export declare const RedirectSchema: z.ZodObject<{
4
+ status: z.ZodLiteral<302>;
5
+ location: z.ZodString;
6
+ }, "strip", z.ZodTypeAny, {
7
+ status: 302;
8
+ location: string;
9
+ }, {
10
+ status: 302;
11
+ location: string;
12
+ }>;
13
+ export declare const NotFoundSchema: z.ZodObject<{
14
+ status: z.ZodLiteral<404>;
15
+ body: z.ZodAny;
16
+ message: z.ZodString;
17
+ }, "strip", z.ZodTypeAny, {
18
+ message: string;
19
+ status: 404;
20
+ body?: any;
21
+ }, {
22
+ message: string;
23
+ status: 404;
24
+ body?: any;
25
+ }>;
26
+ type CommonResponseResult = z.infer<typeof RedirectSchema> | z.infer<typeof NotFoundSchema> | any;
27
+ export declare const commonSuccessResponseHandler: (res: ServerResponse, result: CommonResponseResult) => void;
28
+ export declare const commonFailResponseHandler: (res: ServerResponse, result: any) => void;
29
+ export {};
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.commonFailResponseHandler = exports.commonSuccessResponseHandler = exports.NotFoundSchema = exports.RedirectSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.RedirectSchema = zod_1.z.object({
6
+ status: zod_1.z.literal(302),
7
+ location: zod_1.z.string().url(),
8
+ });
9
+ exports.NotFoundSchema = zod_1.z.object({
10
+ status: zod_1.z.literal(404),
11
+ body: zod_1.z.any(),
12
+ message: zod_1.z.string(),
13
+ });
14
+ const commonSuccessResponseHandler = (res, result) => {
15
+ if (result.status === 302) {
16
+ res.redirect(result.location);
17
+ }
18
+ else {
19
+ if (typeof result.body === 'string') {
20
+ res.setHeader('Content-Type', 'text/plain');
21
+ res.status(result.status).end(result.body);
22
+ }
23
+ else {
24
+ res.setHeader('Content-Type', 'application/json');
25
+ res.status(result.status).json(result.body);
26
+ }
27
+ }
28
+ };
29
+ exports.commonSuccessResponseHandler = commonSuccessResponseHandler;
30
+ const commonFailResponseHandler = (res, result) => {
31
+ console.log('commonFailResponseHandler', result);
32
+ res.status(500).json('Internal Server Error');
33
+ };
34
+ exports.commonFailResponseHandler = commonFailResponseHandler;
35
+ //# sourceMappingURL=common.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.schema.js","sourceRoot":"","sources":["../../../src/common/common.schema.ts"],"names":[],"mappings":";;;AACA,6BAAwB;AAEX,QAAA,cAAc,GAAG,OAAC,CAAC,MAAM,CAAC;IACrC,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,GAAG,CAAC;IACtB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;CAC3B,CAAC,CAAC;AACU,QAAA,cAAc,GAAG,OAAC,CAAC,MAAM,CAAC;IACrC,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,GAAG,CAAC;IACtB,IAAI,EAAE,OAAC,CAAC,GAAG,EAAE;IACb,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC;AAGI,MAAM,4BAA4B,GAAG,CAAC,GAAmB,EAAE,MAA4B,EAAE,EAAE;IAChG,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC1B,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpC,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;YAC5C,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;YAClD,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAZW,QAAA,4BAA4B,gCAYvC;AAEK,MAAM,yBAAyB,GAAG,CAAC,GAAmB,EAAE,MAAW,EAAE,EAAE;IAC5E,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,MAAM,CAAC,CAAC;IACjD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;AAChD,CAAC,CAAC;AAHW,QAAA,yBAAyB,6BAGpC","sourcesContent":["import { ServerResponse } from '../common';\nimport { z } from 'zod';\n\nexport const RedirectSchema = z.object({\n status: z.literal(302),\n location: z.string().url(),\n});\nexport const NotFoundSchema = z.object({\n status: z.literal(404),\n body: z.any(),\n message: z.string(),\n});\n\ntype CommonResponseResult = z.infer<typeof RedirectSchema> | z.infer<typeof NotFoundSchema> | any;\nexport const commonSuccessResponseHandler = (res: ServerResponse, result: CommonResponseResult) => {\n if (result.status === 302) {\n res.redirect(result.location);\n } else {\n if (typeof result.body === 'string') {\n res.setHeader('Content-Type', 'text/plain');\n res.status(result.status).end(result.body);\n } else {\n res.setHeader('Content-Type', 'application/json');\n res.status(result.status).json(result.body);\n }\n }\n};\n\nexport const commonFailResponseHandler = (res: ServerResponse, result: any) => {\n console.log('commonFailResponseHandler', result);\n res.status(500).json('Internal Server Error');\n};\n"]}
@@ -0,0 +1,2 @@
1
+ export declare const MCP_SESSION_HOOKS = "mcp.plugin.sessionHooks";
2
+ export declare const MCP_AUTH_HOOKS = "mcp.plugin.sessionHooks";
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MCP_AUTH_HOOKS = exports.MCP_SESSION_HOOKS = void 0;
4
+ // Plugin/global Tool hooks (method-level) metadata key
5
+ // Stored on plugin classes by @ToolHook decorator
6
+ exports.MCP_SESSION_HOOKS = 'mcp.plugin.sessionHooks';
7
+ exports.MCP_AUTH_HOOKS = 'mcp.plugin.sessionHooks';
8
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/common/constants.ts"],"names":[],"mappings":";;;AAAA,uDAAuD;AACvD,kDAAkD;AACrC,QAAA,iBAAiB,GAAG,yBAAyB,CAAC;AAC9C,QAAA,cAAc,GAAG,yBAAyB,CAAC","sourcesContent":["// Plugin/global Tool hooks (method-level) metadata key\n// Stored on plugin classes by @ToolHook decorator\nexport const MCP_SESSION_HOOKS = 'mcp.plugin.sessionHooks';\nexport const MCP_AUTH_HOOKS = 'mcp.plugin.sessionHooks';\n\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.decorator.js","sourceRoot":"","sources":["../../../../src/common/decorators/adapter.decorator.ts"],"names":[],"mappings":";;AAoBE,0CAAe;AACI,kCAAO;AArB5B,4BAA0B;AAC1B,sCAAkD;AAClD,0CAA6E;AAE7E;;GAEG;AACH,SAAS,eAAe,CAAC,gBAAiC;IACxD,OAAO,CAAC,MAAgB,EAAE,EAAE;QAC1B,MAAM,QAAQ,GAAG,wCAA6B,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAEvE,OAAO,CAAC,cAAc,CAAC,8BAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAEjE,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAChC,OAAO,CAAC,cAAc,CAAC,8BAAqB,CAAC,QAAQ,CAAC,IAAI,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QAClG,CAAC;IACH,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import 'reflect-metadata';\nimport { FrontMcpAdapterTokens } from '../tokens';\nimport { AdapterMetadata, frontMcpAdapterMetadataSchema } from '../metadata';\n\n/**\n * Decorator that marks a class as a McpAdapter module and provides metadata\n */\nfunction FrontMcpAdapter(providedMetadata: AdapterMetadata): ClassDecorator {\n return (target: Function) => {\n const metadata = frontMcpAdapterMetadataSchema.parse(providedMetadata);\n\n Reflect.defineMetadata(FrontMcpAdapterTokens.type, true, target);\n\n for (const property in metadata) {\n Reflect.defineMetadata(FrontMcpAdapterTokens[property] ?? property, metadata[property], target);\n }\n };\n}\n\nexport {\n FrontMcpAdapter,\n FrontMcpAdapter as Adapter,\n};"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.decorator.js","sourceRoot":"","sources":["../../../../src/common/decorators/app.decorator.ts"],"names":[],"mappings":";;AA4CE,kCAAW;AACI,0BAAG;AA7CpB,4BAA0B;AAC1B,sCAAmD;AACnD,0CAA+E;AAE/E;;GAEG;AACH,SAAS,WAAW,CAAC,gBAAkC;IACrD,OAAO,CAAC,MAAgB,EAAE,EAAE;QAE1B,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,yCAA8B,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAC7F,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,8DAA8D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACnI,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,gEAAgE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACvI,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,aAAa,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CAAC,oEAAoE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAC/I,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,+DAA+D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACrI,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,4DAA4D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAC/H,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,gEAAgE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACvI,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,8DAA8D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACnI,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QAED,OAAO,CAAC,cAAc,CAAC,+BAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAClE,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAChC,OAAO,CAAC,cAAc,CAAC,+BAAsB,CAAC,QAAQ,CAAC,IAAI,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QACnG,CAAC;IACH,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import 'reflect-metadata';\nimport { FrontMcpLocalAppTokens } from '../tokens';\nimport { LocalAppMetadata, frontMcpLocalAppMetadataSchema } from '../metadata';\n\n/**\n * Decorator that marks a class as a McpApp module and provides metadata\n */\nfunction FrontMcpApp(providedMetadata: LocalAppMetadata): ClassDecorator {\n return (target: Function) => {\n\n const { error, data: metadata } = frontMcpLocalAppMetadataSchema.safeParse(providedMetadata);\n if (error) {\n if (error.format().plugins) {\n throw new Error(`Invalid metadata provided to @FrontMcp { plugins: [?] }: \\n${JSON.stringify(error.format().plugins, null, 2)}`);\n }\n if (error.format().providers) {\n throw new Error(`Invalid metadata provided to @FrontMcp { providers: [?] }: \\n${JSON.stringify(error.format().providers, null, 2)}`);\n }\n if (error.format().authProviders) {\n throw new Error(`Invalid metadata provided to @FrontMcp { authProviders: [?] }: \\n${JSON.stringify(error.format().authProviders, null, 2)}`);\n }\n if (error.format().adapters) {\n throw new Error(`Invalid metadata provided to @FrontMcp { adapters: [?] }: \\n${JSON.stringify(error.format().adapters, null, 2)}`);\n }\n if (error.format().tools) {\n throw new Error(`Invalid metadata provided to @FrontMcp { tools: [?] }: \\n${JSON.stringify(error.format().tools, null, 2)}`);\n }\n if (error.format().resources) {\n throw new Error(`Invalid metadata provided to @FrontMcp { resources: [?] }: \\n${JSON.stringify(error.format().resources, null, 2)}`);\n }\n if (error.format().prompts) {\n throw new Error(`Invalid metadata provided to @FrontMcp { prompts: [?] }: \\n${JSON.stringify(error.format().prompts, null, 2)}`);\n }\n throw error;\n }\n\n Reflect.defineMetadata(FrontMcpLocalAppTokens.type, true, target);\n for (const property in metadata) {\n Reflect.defineMetadata(FrontMcpLocalAppTokens[property] ?? property, metadata[property], target);\n }\n };\n}\n\nexport {\n FrontMcpApp,\n FrontMcpApp as App,\n};"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-provider.decorator.js","sourceRoot":"","sources":["../../../../src/common/decorators/auth-provider.decorator.ts"],"names":[],"mappings":";;AAoBE,oDAAoB;AACI,4CAAY;AArBtC,4BAA0B;AAC1B,sCAAuD;AACvD,0CAAuF;AAEvF;;GAEG;AACH,SAAS,oBAAoB,CAAC,gBAAsC;IAClE,OAAO,CAAC,MAAgB,EAAE,EAAE;QAC1B,MAAM,QAAQ,GAAG,6CAAkC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAE5E,OAAO,CAAC,cAAc,CAAC,mCAA0B,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAEtE,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAChC,OAAO,CAAC,cAAc,CAAC,mCAA0B,CAAC,QAAQ,CAAC,IAAI,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QACvG,CAAC;IACH,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import 'reflect-metadata';\nimport { FrontMcpAuthProviderTokens } from '../tokens';\nimport { AuthProviderMetadata, frontMcpAuthProviderMetadataSchema } from '../metadata';\n\n/**\n * Decorator that marks a class as an AuthProvider module and provides metadata\n */\nfunction FrontMcpAuthProvider(providedMetadata: AuthProviderMetadata): ClassDecorator {\n return (target: Function) => {\n const metadata = frontMcpAuthProviderMetadataSchema.parse(providedMetadata);\n\n Reflect.defineMetadata(FrontMcpAuthProviderTokens.type, true, target);\n\n for (const property in metadata) {\n Reflect.defineMetadata(FrontMcpAuthProviderTokens[property] ?? property, metadata[property], target);\n }\n };\n}\n\nexport {\n FrontMcpAuthProvider,\n FrontMcpAuthProvider as AuthProvider,\n};"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow.decorator.js","sourceRoot":"","sources":["../../../../src/common/decorators/flow.decorator.ts"],"names":[],"mappings":";;AAsBE,oCAAY;AACI,4BAAI;AAvBtB,0CAAiF;AACjF,sCAA+C;AAI/C;;GAEG;AACH,SAAS,YAAY,CAAwB,gBAAoC;IAE/E,OAAO,CAAC,MAAW,EAAE,EAAE;QACrB,MAAM,QAAQ,GAAG,qCAA0B,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAEpE,OAAO,CAAC,cAAc,CAAC,2BAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAE9D,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAChC,OAAO,CAAC,cAAc,CAAC,2BAAkB,CAAC,QAAQ,CAAC,IAAI,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QAC/F,CAAC;IACH,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import { FlowMetadata, FlowName, frontMcpFlowMetadataSchema } from '../metadata';\nimport { FrontMcpFlowTokens } from '../tokens';\n\n\n\n/**\n * Decorator that marks a class as a FrontMcpFlow module and provides metadata\n */\nfunction FrontMcpFlow<Name extends FlowName>(providedMetadata: FlowMetadata<Name>): ClassDecorator {\n\n return (target: any) => {\n const metadata = frontMcpFlowMetadataSchema.parse(providedMetadata);\n\n Reflect.defineMetadata(FrontMcpFlowTokens.type, true, target);\n\n for (const property in metadata) {\n Reflect.defineMetadata(FrontMcpFlowTokens[property] ?? property, metadata[property], target);\n }\n };\n}\n\nexport {\n FrontMcpFlow,\n FrontMcpFlow as Flow,\n}"]}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FrontMcp = FrontMcp;
4
+ require("reflect-metadata");
5
+ const tokens_1 = require("../tokens");
6
+ const metadata_1 = require("../metadata");
7
+ /**
8
+ * Decorator that marks a class as a FrontMcp Server and provides metadata
9
+ */
10
+ function FrontMcp(providedMetadata) {
11
+ return (target) => {
12
+ const { error, data: metadata } = metadata_1.frontMcpMetadataSchema.safeParse(providedMetadata);
13
+ if (error) {
14
+ if (error.format().apps) {
15
+ throw new Error(`Invalid metadata provided to @FrontMcp { apps: [?] }: \n${JSON.stringify(error.format().apps, null, 2)}`);
16
+ }
17
+ if (error.format().providers) {
18
+ throw new Error(`Invalid metadata provided to @FrontMcp { providers: [?] }: \n${JSON.stringify(error.format().providers, null, 2)}`);
19
+ }
20
+ if (error.format().logging?.transports) {
21
+ throw new Error(`Invalid metadata provided to @FrontMcp { logging: { transports: [?] } }: \n${JSON.stringify(error.format().logging?.transports, null, 2)}`);
22
+ }
23
+ throw error;
24
+ }
25
+ Reflect.defineMetadata(tokens_1.FrontMcpTokens.type, true, target);
26
+ for (const property in metadata) {
27
+ Reflect.defineMetadata(tokens_1.FrontMcpTokens[property] ?? property, metadata[property], target);
28
+ }
29
+ if (metadata.serve) {
30
+ const sdk = '@frontmcp/sdk';
31
+ import(sdk).then(({ FrontMcpInstance }) => {
32
+ if (!FrontMcpInstance) {
33
+ throw new Error(`${sdk} version mismatch, make sure you have the same version for all @frontmcp/* packages`);
34
+ }
35
+ FrontMcpInstance.bootstrap(metadata);
36
+ });
37
+ }
38
+ };
39
+ }
40
+ //# sourceMappingURL=front-mcp.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"front-mcp.decorator.js","sourceRoot":"","sources":["../../../../src/common/decorators/front-mcp.decorator.ts"],"names":[],"mappings":";;AAQA,4BAkCC;AA1CD,4BAA0B;AAC1B,sCAAyC;AACzC,0CAAqE;AAGrE;;GAEG;AACH,SAAgB,QAAQ,CAAC,gBAAkC;IACzD,OAAO,CAAC,MAAgB,EAAE,EAAE;QAE1B,MAAM,EAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAC,GAAG,iCAAsB,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACnF,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,2DAA2D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAC7H,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,gEAAgE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACvI,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CAAC,8EAA8E,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAC/J,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QAED,OAAO,CAAC,cAAc,CAAC,uBAAc,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1D,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAChC,OAAO,CAAC,cAAc,CAAC,uBAAc,CAAC,QAAQ,CAAC,IAAI,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QAC3F,CAAC;QAED,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,GAAG,GAAG,eAAe,CAAC;YAC5B,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAC,gBAAgB,EAAC,EAAE,EAAE;gBACtC,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACtB,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,qFAAqF,CAAC,CAAC;gBAC/G,CAAC;gBAED,gBAAgB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;QACL,CAAC;IAEH,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import 'reflect-metadata';\nimport {FrontMcpTokens} from '../tokens';\nimport {FrontMcpMetadata, frontMcpMetadataSchema} from '../metadata';\nimport {FrontMcpInstance} from \"../../front-mcp\";\n\n/**\n * Decorator that marks a class as a FrontMcp Server and provides metadata\n */\nexport function FrontMcp(providedMetadata: FrontMcpMetadata): ClassDecorator {\n return (target: Function) => {\n\n const {error, data: metadata} = frontMcpMetadataSchema.safeParse(providedMetadata);\n if (error) {\n if (error.format().apps) {\n throw new Error(`Invalid metadata provided to @FrontMcp { apps: [?] }: \\n${JSON.stringify(error.format().apps, null, 2)}`);\n }\n if (error.format().providers) {\n throw new Error(`Invalid metadata provided to @FrontMcp { providers: [?] }: \\n${JSON.stringify(error.format().providers, null, 2)}`);\n }\n if (error.format().logging?.transports) {\n throw new Error(`Invalid metadata provided to @FrontMcp { logging: { transports: [?] } }: \\n${JSON.stringify(error.format().logging?.transports, null, 2)}`);\n }\n throw error;\n }\n\n Reflect.defineMetadata(FrontMcpTokens.type, true, target);\n for (const property in metadata) {\n Reflect.defineMetadata(FrontMcpTokens[property] ?? property, metadata[property], target);\n }\n\n if (metadata.serve) {\n const sdk = '@frontmcp/sdk';\n import(sdk).then(({FrontMcpInstance}) => {\n if (!FrontMcpInstance) {\n throw new Error(`${sdk} version mismatch, make sure you have the same version for all @frontmcp/* packages`);\n }\n\n FrontMcpInstance.bootstrap(metadata);\n });\n }\n\n };\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook.decorator.js","sourceRoot":"","sources":["../../../../src/common/decorators/hook.decorator.ts"],"names":[],"mappings":";;AAiCA,kCAOC;AAED,gCAOC;AAED,8BAOC;AAED,oCAOC;AAED,kCAOC;AA3ED,sCAAiD;AAGjD,SAAS,gBAAgB,CAAC,MAAW,EAAE,IAAkB;IACvD,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC;IAChC,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,+BAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IAC1E,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,OAAO,CAAC,cAAc,CAAC,+BAAsB,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AAClE,CAAC;AAED,mCAAmC;AACnC,SAAS,IAAI,CAAC,IAAc,EAAE,IAAmB;IAC/C,OAAO,UAAoD,KAAQ,EAAE,OAAyB,EAAE;QAC9F,OAAO,CAAC,MAAW,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;YACjC,MAAM,EAAC,QAAQ,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAC,GAAG,IAAI,CAAC;YAC7C,gBAAgB,CAAC,MAAM,EAAE;gBACvB,GAAG,IAAI;gBACP,CAAC,+BAAsB,CAAC,IAAI,CAAC,EAAE,IAAI;gBACnC,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC;gBACnB,QAAQ,EAAE,QAAQ;gBAClB,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;aACzC,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,0BAA0B;AAC1B,SAAgB,WAAW,CAAwB,IAAU;IAG3D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,UAAU,KAAQ,EAAE,OAAyB,EAAE;QACpD,OAAO,IAAI,CAAS,KAAK,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC;AACJ,CAAC;AAED,SAAgB,UAAU,CAAwB,IAAU;IAG1D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAChC,OAAO,UAAU,KAAQ,EAAE,OAAyB,EAAE;QACpD,OAAO,IAAI,CAAS,KAAK,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC;AACJ,CAAC;AAED,SAAgB,SAAS,CAAwB,IAAU;IAGzD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/B,OAAO,UAAU,KAAQ,EAAE,OAAyB,EAAE;QACpD,OAAO,IAAI,CAAS,KAAK,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC;AACJ,CAAC;AAED,SAAgB,YAAY,CAAwB,IAAU;IAG5D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAClC,OAAO,UAAU,KAAQ,EAAE,OAAyB,EAAE;QACpD,OAAO,IAAI,CAAS,KAAK,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC;AACJ,CAAC;AAED,SAAgB,WAAW,CAAwB,IAAU;IAC3D,OAAO;QACL,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC;QACxB,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC;QACtB,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC;QACpB,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC;KAC3B,CAAC;AACJ,CAAC","sourcesContent":["import {HookStageType, HookOptions, FlowName, HookMetadata} from '../metadata';\nimport {FrontMcpFlowHookTokens} from '../tokens';\n\n\nfunction registerFlowHook(target: any, meta: HookMetadata) {\n const ctor = target.constructor;\n const arr = Reflect.getMetadata(FrontMcpFlowHookTokens.hooks, ctor) ?? [];\n arr.push(meta);\n Reflect.defineMetadata(FrontMcpFlowHookTokens.hooks, arr, ctor);\n}\n\n/** Base factory (kept internal) */\nfunction make(flow: FlowName, type: HookStageType) {\n return function <Ctx = unknown, T extends string = string>(stage: T, opts: HookOptions<Ctx> = {}): MethodDecorator {\n return (target: any, key, _desc) => {\n const {priority = 0, filter, ...rest} = opts;\n registerFlowHook(target, {\n ...rest,\n [FrontMcpFlowHookTokens.type]: true,\n flow: flow,\n type: type,\n stage: stage,\n method: String(key),\n priority: priority,\n filter: filter,\n target: target,\n static: Boolean(target.constructor[key]),\n });\n };\n };\n}\n\n/** NEW: typed variants */\nexport function StageHookOf<Name extends FlowName>(flow: Name) {\n type T = ExtendFlows[Name]['stage']\n type Ctx = ExtendFlows[Name]['ctx']\n const base = make(flow, 'stage');\n return function (stage: T, opts: HookOptions<Ctx> = {}) {\n return base<Ctx, T>(stage, opts);\n };\n}\n\nexport function WillHookOf<Name extends FlowName>(flow: Name) {\n type T = ExtendFlows[Name]['stage']\n type Ctx = ExtendFlows[Name]['ctx']\n const base = make(flow, 'will');\n return function (stage: T, opts: HookOptions<Ctx> = {}) {\n return base<Ctx, T>(stage, opts);\n };\n}\n\nexport function DidHookOf<Name extends FlowName>(flow: Name) {\n type T = ExtendFlows[Name]['stage']\n type Ctx = ExtendFlows[Name]['ctx']\n const base = make(flow, 'did');\n return function (stage: T, opts: HookOptions<Ctx> = {}) {\n return base<Ctx, T>(stage, opts);\n };\n}\n\nexport function AroundHookOf<Name extends FlowName>(name: Name) {\n type T = ExtendFlows[Name]['stage']\n type Ctx = ExtendFlows[Name]['ctx']\n const base = make(name, 'around');\n return function (stage: T, opts: HookOptions<Ctx> = {}) {\n return base<Ctx, T>(stage, opts);\n };\n}\n\nexport function FlowHooksOf<Name extends FlowName>(name: Name) {\n return {\n Stage: StageHookOf(name),\n Will: WillHookOf(name),\n Did: DidHookOf(name),\n Around: AroundHookOf(name),\n };\n}\n\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/common/decorators/index.ts"],"names":[],"mappings":";;;AAAA,gEAAsC;AACtC,2DAAiC;AACjC,2DAAiC;AACjC,0DAAgC;AAChC,+DAAqC;AACrC,oEAA0C;AAC1C,8DAAoC;AACpC,6DAAmC;AACnC,2DAAiC;AACjC,+DAAqC;AACrC,6DAAmC;AACnC,6DAAmC","sourcesContent":["export * from './front-mcp.decorator';\nexport * from './flow.decorator';\nexport * from './hook.decorator';\nexport * from './app.decorator';\nexport * from './provider.decorator';\nexport * from './auth-provider.decorator';\nexport * from './adapter.decorator';\nexport * from './plugin.decorator';\nexport * from './tool.decorator';\nexport * from './resource.decorator';\nexport * from './prompt.decorator';\nexport * from './logger.decorator';\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.decorator.js","sourceRoot":"","sources":["../../../../src/common/decorators/logger.decorator.ts"],"names":[],"mappings":";;AAsBE,oDAAoB;AACI,4CAAY;AAvBtC,4BAA0B;AAC1B,sCAAuD;AACvD,0CAGqB;AAErB;;GAEG;AACH,SAAS,oBAAoB,CAAC,gBAAsC;IAClE,OAAO,CAAC,MAAgB,EAAE,EAAE;QAC1B,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,6CAAkC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAEjG,OAAO,CAAC,cAAc,CAAC,mCAA0B,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACtE,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAChC,OAAO,CAAC,cAAc,CAAC,mCAA0B,CAAC,QAAQ,CAAC,IAAI,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QACvG,CAAC;IACH,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import 'reflect-metadata';\nimport { FrontMcpLogTransportTokens } from '../tokens';\nimport {\n LogTransportMetadata,\n frontMcpLogTransportMetadataSchema,\n} from '../metadata';\n\n/**\n * Decorator that marks a class as a FrontMcpLogger module and provides metadata\n */\nfunction FrontMcpLogTransport(providedMetadata: LogTransportMetadata): ClassDecorator {\n return (target: Function) => {\n const { error, data: metadata } = frontMcpLogTransportMetadataSchema.safeParse(providedMetadata);\n\n Reflect.defineMetadata(FrontMcpLogTransportTokens.type, true, target);\n for (const property in metadata) {\n Reflect.defineMetadata(FrontMcpLogTransportTokens[property] ?? property, metadata[property], target);\n }\n };\n}\n\nexport {\n FrontMcpLogTransport,\n FrontMcpLogTransport as LogTransport,\n};"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.decorator.js","sourceRoot":"","sources":["../../../../src/common/decorators/plugin.decorator.ts"],"names":[],"mappings":";;AAsCE,wCAAc;AACI,gCAAM;AAvC1B,4BAA0B;AAC1B,sCAAiD;AACjD,0CAA2E;AAE3E;;GAEG;AACH,SAAS,cAAc,CAAC,gBAAgC;IACtD,OAAO,CAAC,MAAgB,EAAE,EAAE;QAE1B,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,uCAA4B,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAC3F,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,kEAAkE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1J,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,gEAAgE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACtI,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,0DAA0D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAC7H,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,kEAAkE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACzI,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,8DAA8D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACnI,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QAED,OAAO,CAAC,cAAc,CAAC,6BAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAChE,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAChC,OAAO,CAAC,cAAc,CAAC,6BAAoB,CAAC,QAAQ,CAAC,IAAI,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QACjG,CAAC;IACH,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import 'reflect-metadata';\nimport { FrontMcpPluginTokens } from '../tokens';\nimport { PluginMetadata, frontMcpPluginMetadataSchema } from '../metadata';\n\n/**\n * Decorator that marks a class as a McpPlugin and provides metadata\n */\nfunction FrontMcpPlugin(providedMetadata: PluginMetadata): ClassDecorator {\n return (target: Function) => {\n\n const { error, data: metadata } = frontMcpPluginMetadataSchema.safeParse(providedMetadata);\n if (error) {\n if (error.format().providers) {\n throw new Error(`Invalid metadata provided to @FrontMcpProvider or @Provider: \\n${JSON.stringify(error.formErrors.fieldErrors['providers'], null, 2)}`);\n }\n if (error.format().adapters) {\n throw new Error(`Invalid metadata provided to @FrontMcpAdapter or @Adapter: \\n${JSON.stringify(error.format().adapters, null, 2)}`);\n }\n if (error.format().tools) {\n throw new Error(`Invalid metadata provided to @FrontMcpTool or @Tool: \\n${JSON.stringify(error.format().tools, null, 2)}`);\n }\n if (error.format().resources) {\n throw new Error(`Invalid metadata provided to @FrontMcpResource or @Resource: \\n${JSON.stringify(error.format().resources, null, 2)}`);\n }\n if (error.format().prompts) {\n throw new Error(`Invalid metadata provided to @FrontMcpPrompt or @Prompt: \\n${JSON.stringify(error.format().prompts, null, 2)}`);\n }\n throw error;\n }\n\n Reflect.defineMetadata(FrontMcpPluginTokens.type, true, target);\n for (const property in metadata) {\n Reflect.defineMetadata(FrontMcpPluginTokens[property] ?? property, metadata[property], target);\n }\n };\n}\n\nexport {\n FrontMcpPlugin,\n FrontMcpPlugin as Plugin,\n};"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt.decorator.js","sourceRoot":"","sources":["../../../../src/common/decorators/prompt.decorator.ts"],"names":[],"mappings":";;AAkDE,wCAAc;AACI,gCAAM;AAExB,wCAAc;AACI,gCAAM;AAtD1B,4BAA0B;AAC1B,sCAEmB;AACnB,0CAGqB;AAIrB;;GAEG;AACH,SAAS,cAAc,CAAC,gBAAgC;IACtD,OAAO,CAAC,MAAgB,EAAE,EAAE;QAC1B,MAAM,QAAQ,GAAG,uCAA4B,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAEtE,OAAO,CAAC,cAAc,CAAC,6BAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAEhE,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAChC,OAAO,CAAC,cAAc,CAAC,6BAAoB,CAAC,QAAQ,CAAC,IAAI,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QACjG,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAQD;;GAEG;AACH,SAAS,cAAc,CAA2B,gBAAmB;IACnE,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,QAAQ,GAAG,uCAA4B,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACtE,MAAM,YAAY,GAAG;YACnB,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE;YAC1B,CAAC,6BAAoB,CAAC,IAAI,CAAC,EAAE,iBAAiB;YAC9C,CAAC,6BAAoB,CAAC,QAAQ,CAAC,EAAE,QAAQ;SAC1C,CAAC,CAAC;QACH,OAAO,YAAY,CAAC;IACtB,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import 'reflect-metadata';\nimport {\n FrontMcpPromptTokens,\n} from '../tokens';\nimport {\n PromptMetadata,\n frontMcpPromptMetadataSchema,\n} from '../metadata';\nimport { GetPromptResult, GetPromptRequest } from '@modelcontextprotocol/sdk/types.js';\n\n\n/**\n * Decorator that marks a class as a McpPrompt module and provides metadata\n */\nfunction FrontMcpPrompt(providedMetadata: PromptMetadata): ClassDecorator {\n return (target: Function) => {\n const metadata = frontMcpPromptMetadataSchema.parse(providedMetadata);\n\n Reflect.defineMetadata(FrontMcpPromptTokens.type, true, target);\n\n for (const property in metadata) {\n Reflect.defineMetadata(FrontMcpPromptTokens[property] ?? property, metadata[property], target);\n }\n };\n}\n\n\nexport type FrontMcpPromptExecuteHandler = (\n args: GetPromptRequest['params']['arguments'],\n ...tokens: any[]\n) => GetPromptResult | Promise<GetPromptResult>;\n\n/**\n * Decorator that marks a class as a McpTool module and provides metadata\n */\nfunction frontMcpPrompt<T extends PromptMetadata>(providedMetadata: T): (handler: FrontMcpPromptExecuteHandler) => (() => void) {\n return (execute) => {\n const metadata = frontMcpPromptMetadataSchema.parse(providedMetadata);\n const toolFunction = function() {\n return execute;\n };\n Object.assign(toolFunction, {\n [FrontMcpPromptTokens.type]: 'function-prompt',\n [FrontMcpPromptTokens.metadata]: metadata,\n });\n return toolFunction;\n };\n}\n\nexport {\n FrontMcpPrompt,\n FrontMcpPrompt as Prompt,\n\n frontMcpPrompt,\n frontMcpPrompt as prompt,\n};"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.decorator.js","sourceRoot":"","sources":["../../../../src/common/decorators/provider.decorator.ts"],"names":[],"mappings":";;AAoBE,4CAAgB;AACI,oCAAQ;AArB9B,4BAA0B;AAC1B,sCAAmD;AACnD,0CAA+E;AAE/E;;GAEG;AACH,SAAS,gBAAgB,CAAC,gBAAkC;IAC1D,OAAO,CAAC,MAAgB,EAAE,EAAE;QAC1B,MAAM,QAAQ,GAAG,yCAA8B,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAExE,OAAO,CAAC,cAAc,CAAC,+BAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAElE,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAChC,OAAO,CAAC,cAAc,CAAC,+BAAsB,CAAC,QAAQ,CAAC,IAAI,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QACnG,CAAC;IACH,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import 'reflect-metadata';\nimport { FrontMcpProviderTokens } from '../tokens';\nimport { frontMcpProviderMetadataSchema, ProviderMetadata } from '../metadata';\n\n/**\n * Decorator that marks a class as a McpProvider module and provides metadata\n */\nfunction FrontMcpProvider(providedMetadata: ProviderMetadata): ClassDecorator {\n return (target: Function) => {\n const metadata = frontMcpProviderMetadataSchema.parse(providedMetadata);\n\n Reflect.defineMetadata(FrontMcpProviderTokens.type, true, target);\n\n for (const property in metadata) {\n Reflect.defineMetadata(FrontMcpProviderTokens[property] ?? property, metadata[property], target);\n }\n };\n}\n\nexport {\n FrontMcpProvider,\n FrontMcpProvider as Provider,\n};"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource.decorator.js","sourceRoot":"","sources":["../../../../src/common/decorators/resource.decorator.ts"],"names":[],"mappings":";;AA2FE,4CAAgB;AACI,oCAAQ;AAC5B,4DAAwB;AACI,oDAAgB;AAC5C,4CAAgB;AACI,oCAAQ;AAhG9B,4BAA0B;AAC1B,sCAGmB;AACnB,0CAKqB;AAOrB;;GAEG;AACH,SAAS,gBAAgB,CAAC,gBAAkC;IAC1D,OAAO,CAAC,MAAgB,EAAE,EAAE;QAC1B,MAAM,QAAQ,GAAG,yCAA8B,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAExE,OAAO,CAAC,cAAc,CAAC,+BAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAElE,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAChC,OAAO,CAAC,cAAc,CAAC,+BAAsB,CAAC,QAAQ,CAAC,IAAI,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QACnG,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAGD;;GAEG;AACH,SAAS,wBAAwB,CAAC,gBAA0C;IAC1E,OAAO,CAAC,MAAgB,EAAE,EAAE;QAC1B,MAAM,QAAQ,GAAG,iDAAsC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAEhF,OAAO,CAAC,cAAc,CAAC,uCAA8B,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAE1E,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAChC,OAAO,CAAC,cAAc,CAAC,uCAA8B,CAAC,QAAQ,CAAC,IAAI,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QAC3G,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAQD;;GAEG;AACH,SAAS,gBAAgB,CAA6B,gBAAmB;IACvE,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,QAAQ,GAAG,yCAA8B,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACxE,MAAM,YAAY,GAAG;YACnB,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE;YAC1B,CAAC,+BAAsB,CAAC,IAAI,CAAC,EAAE,mBAAmB;YAClD,CAAC,+BAAsB,CAAC,QAAQ,CAAC,EAAE,QAAQ;SAC5C,CAAC,CAAC;QACH,OAAO,YAAY,CAAC;IACtB,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import 'reflect-metadata';\nimport {\n FrontMcpResourceTokens,\n FrontMcpResourceTemplateTokens,\n} from '../tokens';\nimport {\n frontMcpResourceMetadataSchema,\n frontMcpResourceTemplateMetadataSchema,\n ResourceMetadata,\n ResourceTemplateMetadata,\n} from '../metadata';\n\nimport {\n ReadResourceRequest,\n ReadResourceResult,\n} from '@modelcontextprotocol/sdk/types.js';\n\n/**\n * Decorator that marks a class as a McpResource module and provides metadata\n */\nfunction FrontMcpResource(providedMetadata: ResourceMetadata): ClassDecorator {\n return (target: Function) => {\n const metadata = frontMcpResourceMetadataSchema.parse(providedMetadata);\n\n Reflect.defineMetadata(FrontMcpResourceTokens.type, true, target);\n\n for (const property in metadata) {\n Reflect.defineMetadata(FrontMcpResourceTokens[property] ?? property, metadata[property], target);\n }\n };\n}\n\n\n/**\n * Decorator that marks a class as a McpResourceTemplate module and provides metadata\n */\nfunction FrontMcpResourceTemplate(providedMetadata: ResourceTemplateMetadata): ClassDecorator {\n return (target: Function) => {\n const metadata = frontMcpResourceTemplateMetadataSchema.parse(providedMetadata);\n\n Reflect.defineMetadata(FrontMcpResourceTemplateTokens.type, true, target);\n\n for (const property in metadata) {\n Reflect.defineMetadata(FrontMcpResourceTemplateTokens[property] ?? property, metadata[property], target);\n }\n };\n}\n\n\nexport type FrontMcpResourceExecuteHandler = (\n uri: ReadResourceRequest['params']['uri'],\n ...tokens: any[]\n) => ReadResourceResult | Promise<ReadResourceResult>;\n\n/**\n * Decorator that marks a class as a McpResource module and provides metadata\n */\nfunction frontMcpResource<T extends ResourceMetadata>(providedMetadata: T): (handler: FrontMcpResourceExecuteHandler) => (() => void) {\n return (execute) => {\n const metadata = frontMcpResourceMetadataSchema.parse(providedMetadata);\n const toolFunction = function () {\n return execute;\n };\n Object.assign(toolFunction, {\n [FrontMcpResourceTokens.type]: 'function-resource',\n [FrontMcpResourceTokens.metadata]: metadata,\n });\n return toolFunction;\n };\n}\n\n//\n// /**\n// * Decorator that marks a class as a McpResource module and provides metadata\n// */\n// function frontMcpResourceTemplate<T extends ResourceMetadata>(providedMetadata: T): (handler: FrontMcpResourceExecuteHandler) => (() => void) {\n// return (execute) => {\n// const metadata = frontMcpResourceMetadataSchema.parse(providedMetadata);\n// const toolFunction = function() {\n// return execute;\n// };\n// Object.assign(toolFunction, {\n// [FrontMcpResourceTokens.type]: 'function-resource',\n// [FrontMcpResourceTokens.metadata]: metadata,\n// });\n// return toolFunction;\n// };\n// }\n\n\nexport {\n FrontMcpResource,\n FrontMcpResource as Resource,\n FrontMcpResourceTemplate,\n FrontMcpResourceTemplate as ResourceTemplate,\n frontMcpResource,\n frontMcpResource as resource,\n};"]}
@@ -0,0 +1,42 @@
1
+ import 'reflect-metadata';
2
+ import { ToolMetadata } from '../metadata';
3
+ import z from 'zod';
4
+ import { ToolContext } from "../interfaces";
5
+ export type FrontMcpToolExecuteHandler<In extends object, Out extends object> = (input: In, ctx: ToolContext<In, Out>) => Out | Promise<Out>;
6
+ /**
7
+ * Decorator that marks a class as a McpTool module and provides metadata
8
+ */
9
+ declare function frontMcpTool<T extends ToolMetadata, In extends object = z.baseObjectInputType<T['inputSchema']>, Out extends object = T['outputSchema'] extends z.ZodRawShape ? z.baseObjectInputType<T['outputSchema']> : object>(providedMetadata: T): (handler: FrontMcpToolExecuteHandler<In, Out>) => (() => void);
10
+ export { FrontMcpTool, FrontMcpTool as Tool, frontMcpTool, frontMcpTool as tool, };
11
+ declare module "@frontmcp/sdk" {
12
+ type __Shape = z.ZodRawShape;
13
+ type __AsZodObj<T> = T extends z.ZodObject<infer S> ? z.ZodObject<S> : T extends z.ZodRawShape ? z.ZodObject<T> : never;
14
+ type __InputOf<Opt> = Opt extends {
15
+ inputSchema: infer I;
16
+ } ? z.infer<__AsZodObj<I>> : never;
17
+ type __OutputOf<Opt> = Opt extends {
18
+ outputSchema: infer O;
19
+ } ? z.infer<__AsZodObj<O>> : never;
20
+ type __ToolOptions<I extends __Shape, O extends __Shape> = ToolMetadata<I | z.ZodObject<I>, O | z.ZodObject<O>>;
21
+ type __Ctor = new (...a: any[]) => any | (abstract new (...a: any[]) => any);
22
+ type __A<C extends __Ctor> = C extends new (...a: infer A) => any ? A : C extends abstract new (...a: infer A) => any ? A : never;
23
+ type __R<C extends __Ctor> = C extends new (...a: any[]) => infer R ? R : C extends abstract new (...a: any[]) => infer R ? R : never;
24
+ type __Param<C extends __Ctor> = __R<C> extends {
25
+ execute: (arg: infer P, ...r: any) => any;
26
+ } ? P : never;
27
+ type __Return<C extends __Ctor> = __R<C> extends {
28
+ execute: (...a: any) => infer R;
29
+ } ? R : never;
30
+ type __Unwrap<T> = T extends Promise<infer U> ? U : T;
31
+ type __IsAny<T> = 0 extends (1 & T) ? true : false;
32
+ type __Err<M extends string> = {
33
+ __type_error__: M;
34
+ } & {
35
+ never?: never;
36
+ };
37
+ type __MustExtendCtx<C extends __Ctor> = __R<C> extends ToolContext ? {} : __Err<"Class must extend ToolContext">;
38
+ type __MustParam<C extends __Ctor, In> = __IsAny<__Param<C>> extends true ? __Err<"execute(input) must not be any and must exactly match input schema"> : __Param<C> extends In ? (In extends __Param<C> ? {} : __Err<"execute(input) must be exactly the input schema (no widening or narrowing)">) : __Err<"execute(input) parameter does not match input schema">;
39
+ type __MustReturn<C extends __Ctor, Out> = __Unwrap<__Return<C>> extends Out ? {} : __Err<"execute return type must be output schema or Promise<output schema>">;
40
+ type __Rewrap<C extends __Ctor, In, Out> = C extends abstract new (...a: __A<C>) => __R<C> ? C & (abstract new (...a: __A<C>) => (ToolContext<In, Out> & __R<C>)) : C extends new (...a: __A<C>) => __R<C> ? C & (new (...a: __A<C>) => (ToolContext<In, Out> & __R<C>)) : never;
41
+ function Tool<I extends __Shape, O extends __Shape, T extends __ToolOptions<I, O>>(opts: T): <C extends __Ctor>(cls: C & __MustExtendCtx<C> & __MustParam<C, __InputOf<T>> & __MustReturn<C, __OutputOf<T>>) => __Rewrap<C, __InputOf<T>, __OutputOf<T>>;
42
+ }
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ // @ts-ignore
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.FrontMcpTool = FrontMcpTool;
5
+ exports.Tool = FrontMcpTool;
6
+ exports.frontMcpTool = frontMcpTool;
7
+ exports.tool = frontMcpTool;
8
+ require("reflect-metadata");
9
+ const tokens_1 = require("../tokens");
10
+ const metadata_1 = require("../metadata");
11
+ /**
12
+ * Decorator that marks a class as a McpTool module and provides metadata
13
+ */
14
+ function FrontMcpTool(providedMetadata) {
15
+ return (target) => {
16
+ const metadata = metadata_1.frontMcpToolMetadataSchema.parse(providedMetadata);
17
+ Reflect.defineMetadata(tokens_1.FrontMcpToolTokens.type, true, target);
18
+ const extended = {};
19
+ for (const property in metadata) {
20
+ if (tokens_1.FrontMcpToolTokens[property]) {
21
+ Reflect.defineMetadata(tokens_1.FrontMcpToolTokens[property], metadata[property], target);
22
+ }
23
+ else {
24
+ extended[property] = metadata[property];
25
+ }
26
+ }
27
+ Reflect.defineMetadata(tokens_1.extendedToolMetadata, extended, target);
28
+ };
29
+ }
30
+ /**
31
+ * Decorator that marks a class as a McpTool module and provides metadata
32
+ */
33
+ function frontMcpTool(providedMetadata) {
34
+ return (execute) => {
35
+ const metadata = metadata_1.frontMcpToolMetadataSchema.parse(providedMetadata);
36
+ const toolFunction = function () {
37
+ return execute;
38
+ };
39
+ Object.assign(toolFunction, {
40
+ [tokens_1.FrontMcpToolTokens.type]: 'function-tool',
41
+ [tokens_1.FrontMcpToolTokens.metadata]: metadata,
42
+ });
43
+ return toolFunction;
44
+ };
45
+ }
46
+ //# sourceMappingURL=tool.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.decorator.js","sourceRoot":"","sources":["../../../../src/common/decorators/tool.decorator.ts"],"names":[],"mappings":";AAAA,aAAa;;AAoDX,oCAAY;AACI,4BAAI;AACpB,oCAAY;AACI,4BAAI;AArDtB,4BAA0B;AAC1B,sCAAmE;AACnE,0CAAqE;AAIrE;;GAEG;AACH,SAAS,YAAY,CAAC,gBAA8B;IAElD,OAAO,CAAC,MAAW,EAAE,EAAE;QACrB,MAAM,QAAQ,GAAG,qCAA0B,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACpE,OAAO,CAAC,cAAc,CAAC,2BAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAChC,IAAI,2BAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACjC,OAAO,CAAC,cAAc,CAAC,2BAAkB,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;YACnF,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QACD,OAAO,CAAC,cAAc,CAAC,6BAAoB,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACjE,CAAC,CAAC;AACJ,CAAC;AAKD;;GAEG;AACH,SAAS,YAAY,CAGnB,gBAAmB;IACnB,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,QAAQ,GAAG,qCAA0B,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACpE,MAAM,YAAY,GAAG;YACnB,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE;YAC1B,CAAC,2BAAkB,CAAC,IAAI,CAAC,EAAE,eAAe;YAC1C,CAAC,2BAAkB,CAAC,QAAQ,CAAC,EAAE,QAAQ;SACxC,CAAC,CAAC;QACH,OAAO,YAAY,CAAC;IACtB,CAAC,CAAC;AACJ,CAAC","sourcesContent":["// @ts-ignore\n\nimport 'reflect-metadata';\nimport {extendedToolMetadata, FrontMcpToolTokens} from '../tokens';\nimport {ToolMetadata, frontMcpToolMetadataSchema} from '../metadata';\nimport z from 'zod';\nimport {ToolContext} from \"../interfaces\";\n\n/**\n * Decorator that marks a class as a McpTool module and provides metadata\n */\nfunction FrontMcpTool(providedMetadata: ToolMetadata): ClassDecorator {\n\n return (target: any) => {\n const metadata = frontMcpToolMetadataSchema.parse(providedMetadata);\n Reflect.defineMetadata(FrontMcpToolTokens.type, true, target);\n const extended = {};\n for (const property in metadata) {\n if (FrontMcpToolTokens[property]) {\n Reflect.defineMetadata(FrontMcpToolTokens[property], metadata[property], target);\n } else {\n extended[property] = metadata[property];\n }\n }\n Reflect.defineMetadata(extendedToolMetadata, extended, target);\n };\n}\n\n\nexport type FrontMcpToolExecuteHandler<In extends object, Out extends object> = (input: In, ctx: ToolContext<In, Out>) => Out | Promise<Out>;\n\n/**\n * Decorator that marks a class as a McpTool module and provides metadata\n */\nfunction frontMcpTool<T extends ToolMetadata,\n In extends object = z.baseObjectInputType<T['inputSchema']>,\n Out extends object = T['outputSchema'] extends z.ZodRawShape ? z.baseObjectInputType<T['outputSchema']> : object\n>(providedMetadata: T): (handler: FrontMcpToolExecuteHandler<In, Out>) => (() => void) {\n return (execute) => {\n const metadata = frontMcpToolMetadataSchema.parse(providedMetadata);\n const toolFunction = function () {\n return execute;\n };\n Object.assign(toolFunction, {\n [FrontMcpToolTokens.type]: 'function-tool',\n [FrontMcpToolTokens.metadata]: metadata,\n });\n return toolFunction;\n };\n}\n\nexport {\n FrontMcpTool,\n FrontMcpTool as Tool,\n frontMcpTool,\n frontMcpTool as tool,\n};\n\n\ndeclare module \"@frontmcp/sdk\" {\n // ---------- zod helpers ----------\n type __Shape = z.ZodRawShape; // = Record<string, z.ZodTypeAny>\n type __AsZodObj<T> =\n T extends z.ZodObject<infer S> ? z.ZodObject<S> :\n T extends z.ZodRawShape ? z.ZodObject<T> :\n never;\n\n export type __InputOf<Opt> =\n Opt extends { inputSchema: infer I } ? z.infer<__AsZodObj<I>> : never;\n\n export type __OutputOf<Opt> =\n Opt extends { outputSchema: infer O } ? z.infer<__AsZodObj<O>> : never;\n\n export type __ToolOptions<I extends __Shape, O extends __Shape> = ToolMetadata<I | z.ZodObject<I>, O | z.ZodObject<O>>;\n\n // ---------- ctor & reflection ----------\n type __Ctor = new (...a: any[]) => any | (abstract new (...a: any[]) => any);\n type __A<C extends __Ctor> = C extends new (...a: infer A) => any ? A\n : C extends abstract new (...a: infer A) => any ? A : never;\n type __R<C extends __Ctor> = C extends new (...a: any[]) => infer R ? R\n : C extends abstract new (...a: any[]) => infer R ? R : never;\n\n type __Param<C extends __Ctor> =\n __R<C> extends { execute: (arg: infer P, ...r: any) => any } ? P : never;\n\n type __Return<C extends __Ctor> =\n __R<C> extends { execute: (...a: any) => infer R } ? R : never;\n\n type __Unwrap<T> = T extends Promise<infer U> ? U : T;\n type __IsAny<T> = 0 extends (1 & T) ? true : false;\n\n // ---------- friendly branded errors ----------\n type __Err<M extends string> = { __type_error__: M } & { never?: never };\n\n // Must extend ToolContext\n type __MustExtendCtx<C extends __Ctor> =\n __R<C> extends ToolContext ? {} :\n __Err<\"Class must extend ToolContext\">;\n\n // execute param must exactly match In (and not be any)\n type __MustParam<C extends __Ctor, In> =\n __IsAny<__Param<C>> extends true\n ? __Err<\"execute(input) must not be any and must exactly match input schema\">\n : __Param<C> extends In\n ? (In extends __Param<C> ? {} : __Err<\"execute(input) must be exactly the input schema (no widening or narrowing)\">)\n : __Err<\"execute(input) parameter does not match input schema\">;\n\n // execute return must be Out or Promise<Out>\n type __MustReturn<C extends __Ctor, Out> =\n __Unwrap<__Return<C>> extends Out ? {} :\n __Err<\"execute return type must be output schema or Promise<output schema>\">;\n\n // Rewrapped constructor: preserve concrete/abstract + original type, but guarantee ToolContext<In,Out> on instance\n type __Rewrap<C extends __Ctor, In, Out> =\n C extends abstract new (...a: __A<C>) => __R<C>\n ? C & (abstract new (...a: __A<C>) => (ToolContext<In, Out> & __R<C>))\n : C extends new (...a: __A<C>) => __R<C>\n ? C & (new (...a: __A<C>) => (ToolContext<In, Out> & __R<C>))\n : never;\n\n // ---------- the decorator ----------\n // @ts-expect-error - Module augmentation requires decorator overload\n export function Tool<\n I extends __Shape,\n O extends __Shape,\n T extends __ToolOptions<I, O>\n >(opts: T): <\n C extends __Ctor\n >(cls: C &\n __MustExtendCtx<C> &\n __MustParam<C, __InputOf<T>> &\n __MustReturn<C, __OutputOf<T>>\n ) => __Rewrap<C, __InputOf<T>, __OutputOf<T>>;\n}"]}
@@ -0,0 +1,10 @@
1
+ import 'reflect-metadata';
2
+ export declare const DESIGN_PARAMTYPES = "design:paramtypes";
3
+ export declare const META_ASYNC_WITH = "mcp:asyncWith";
4
+ export declare const META_ASYNC_WITH_TOKENS = "mcp:asyncWith:tokens";
5
+ /**
6
+ * @AsyncWith(optionalLazyTokens)
7
+ * - Marks a static with(...) as the factory for this provider.
8
+ * - If you pass a lazy resolver, we won't read design:paramtypes (ESM-TDZ safe).
9
+ */
10
+ export declare function AsyncWith(tokens?: () => any[]): MethodDecorator;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.META_ASYNC_WITH_TOKENS = exports.META_ASYNC_WITH = exports.DESIGN_PARAMTYPES = void 0;
4
+ exports.AsyncWith = AsyncWith;
5
+ require("reflect-metadata");
6
+ exports.DESIGN_PARAMTYPES = 'design:paramtypes';
7
+ exports.META_ASYNC_WITH = 'mcp:asyncWith';
8
+ exports.META_ASYNC_WITH_TOKENS = 'mcp:asyncWith:tokens';
9
+ /**
10
+ * @AsyncWith(optionalLazyTokens)
11
+ * - Marks a static with(...) as the factory for this provider.
12
+ * - If you pass a lazy resolver, we won't read design:paramtypes (ESM-TDZ safe).
13
+ */
14
+ function AsyncWith(tokens) {
15
+ return (target, propertyKey, descriptor) => {
16
+ const ctor = target.constructor ?? target; // static method => target is ctor
17
+ Reflect.defineMetadata(exports.META_ASYNC_WITH, true, ctor);
18
+ if (typeof tokens === 'function') {
19
+ Reflect.defineMetadata(exports.META_ASYNC_WITH_TOKENS, tokens, ctor);
20
+ }
21
+ return descriptor;
22
+ };
23
+ }
24
+ //# sourceMappingURL=async-with.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async-with.decorator.js","sourceRoot":"","sources":["../../../../src/common/decorators-old/async-with.decorator.ts"],"names":[],"mappings":";;;AAWA,8BASC;AApBD,4BAA0B;AAEb,QAAA,iBAAiB,GAAG,mBAAmB,CAAC;AACxC,QAAA,eAAe,GAAG,eAAe,CAAC;AAClC,QAAA,sBAAsB,GAAG,sBAAsB,CAAC;AAE7D;;;;GAIG;AACH,SAAgB,SAAS,CAAC,MAAoB;IAC5C,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE;QACzC,MAAM,IAAI,GAAI,MAAc,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,kCAAkC;QACtF,OAAO,CAAC,cAAc,CAAC,uBAAe,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACpD,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;YACjC,OAAO,CAAC,cAAc,CAAC,8BAAsB,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,UAAW,CAAC;IACrB,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import 'reflect-metadata';\n\nexport const DESIGN_PARAMTYPES = 'design:paramtypes';\nexport const META_ASYNC_WITH = 'mcp:asyncWith';\nexport const META_ASYNC_WITH_TOKENS = 'mcp:asyncWith:tokens';\n\n/**\n * @AsyncWith(optionalLazyTokens)\n * - Marks a static with(...) as the factory for this provider.\n * - If you pass a lazy resolver, we won't read design:paramtypes (ESM-TDZ safe).\n */\nexport function AsyncWith(tokens?: () => any[]): MethodDecorator {\n return (target, propertyKey, descriptor) => {\n const ctor = (target as any).constructor ?? target; // static method => target is ctor\n Reflect.defineMetadata(META_ASYNC_WITH, true, ctor);\n if (typeof tokens === 'function') {\n Reflect.defineMetadata(META_ASYNC_WITH_TOKENS, tokens, ctor);\n }\n return descriptor!;\n };\n}"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-hook.decorator.js","sourceRoot":"","sources":["../../../../src/common/decorators-old/auth-hook.decorator.ts"],"names":[],"mappings":";;AAgBA,4BAcC;AA9BD,4BAA0B;AAC1B,4CAA8C;AAS9C;;;;;GAKG;AACH,SAAgB,QAAQ,CAAC,KAAoB,EAAE,IAAsB;IACnE,OAAO,UAAU,MAAW,EAAE,WAAmB,EAAE,KAAyB;QAC1E,MAAM,QAAQ,GAAG,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,+CAA+C;QAC9F,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;QACrD,MAAM,GAAG,GAAU,OAAO,CAAC,cAAc,CAAC,0BAAc,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QACvE,GAAG,CAAC,IAAI,CAAC;YACP,KAAK;YACL,UAAU,EAAE,WAAW;YACvB,QAAQ;YACR,QAAQ,EAAE,IAAI,EAAE,QAAQ;YACxB,SAAS,EAAE,IAAI,EAAE,MAAM;SACxB,CAAC,CAAC;QACH,OAAO,CAAC,cAAc,CAAC,0BAAc,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import 'reflect-metadata';\nimport { MCP_AUTH_HOOKS } from '../constants';\nimport { AuthHookStage } from '../interfaces/auth-hook.interface';\n\nexport type AuthHookOptions = {\n priority?: number;\n /** Name of a filter method on same class (static or instance) */\n filter?: string;\n};\n\n/**\n * Decorator for declaring global Tool hooks on plugin classes.\n * Usage:\n * @AuthHook('willExchangeToken')\n * static willExchangeToken(ctx: AuthInvokeContext) { ... }\n */\nexport function AuthHook(stage: AuthHookStage, opts?: AuthHookOptions) {\n return function (target: any, propertyKey: string, _desc: PropertyDescriptor) {\n const isStatic = typeof target === 'function'; // static methods receive constructor as target\n const clazz = isStatic ? target : target.constructor;\n const arr: any[] = Reflect.getOwnMetadata(MCP_AUTH_HOOKS, clazz) ?? [];\n arr.push({\n stage,\n methodName: propertyKey,\n isStatic,\n priority: opts?.priority,\n filterKey: opts?.filter,\n });\n Reflect.defineMetadata(MCP_AUTH_HOOKS, arr, clazz);\n };\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-hook.decorator.js","sourceRoot":"","sources":["../../../../src/common/decorators-old/session-hook.decorator.ts"],"names":[],"mappings":";;AAgBA,kCAcC;AA9BD,4BAA0B;AAC1B,4CAAiD;AASjD;;;;;GAKG;AACH,SAAgB,WAAW,CAAC,KAAuB,EAAE,IAAyB;IAC5E,OAAO,UAAU,MAAW,EAAE,WAAmB,EAAE,KAAyB;QAC1E,MAAM,QAAQ,GAAG,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,+CAA+C;QAC9F,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;QACrD,MAAM,GAAG,GAAU,OAAO,CAAC,cAAc,CAAC,6BAAiB,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QAC1E,GAAG,CAAC,IAAI,CAAC;YACP,KAAK;YACL,UAAU,EAAE,WAAW;YACvB,QAAQ;YACR,QAAQ,EAAE,IAAI,EAAE,QAAQ;YACxB,SAAS,EAAE,IAAI,EAAE,MAAM;SACxB,CAAC,CAAC;QACH,OAAO,CAAC,cAAc,CAAC,6BAAiB,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import 'reflect-metadata';\nimport { MCP_SESSION_HOOKS } from '../constants';\nimport { SessionHookStage } from '../interfaces/session-hook.interface';\n\nexport type SessionHookOptions = {\n priority?: number;\n /** Name of a filter method on same class (static or instance) */\n filter?: string;\n};\n\n/**\n * Decorator for declaring global Tool hooks on plugin classes.\n * Usage:\n * @SessionHook('willCreateSession')\n * static willCreateSession(ctx: SessionInvokeContext) { ... }\n */\nexport function SessionHook(stage: SessionHookStage, opts?: SessionHookOptions) {\n return function (target: any, propertyKey: string, _desc: PropertyDescriptor) {\n const isStatic = typeof target === 'function'; // static methods receive constructor as target\n const clazz = isStatic ? target : target.constructor;\n const arr: any[] = Reflect.getOwnMetadata(MCP_SESSION_HOOKS, clazz) ?? [];\n arr.push({\n stage,\n methodName: propertyKey,\n isStatic,\n priority: opts?.priority,\n filterKey: opts?.filter,\n });\n Reflect.defineMetadata(MCP_SESSION_HOOKS, arr, clazz);\n };\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic.adapter.js","sourceRoot":"","sources":["../../../../src/common/dynamic/dynamic.adapter.ts"],"names":[],"mappings":";;;AA4BA,MAAsB,cAAc;IAOlC;;;OAGG;IACH,MAAM,CAAC,IAAI,CAET,OAA0F;QAE1F,MAAM,YAAY,GAAG,OAAc,CAAC;QAEpC,IAAI,YAAY,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,YAAY,CAAC;YACrD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,OAAO,CAAC,MAAgC;gBAChD,UAAU,EAAE,OAAO,CAAC,UAAiB;gBACrC,GAAG,IAAI;aACR,CAAC;QACJ,CAAC;QACD,OAAO;YACL,GAAG,YAAY;YACf,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC;SAC5B,CAAC;IACJ,CAAC;CAQF;AAvCD,wCAuCC","sourcesContent":["// dynamic-adapter.ts\nimport {\n Reference,\n FrontMcpAdapterResponse,\n AdapterType,\n AdapterInterface,\n} from '../interfaces';\n\n// keep your original options union; just add optional `providers`\ntype InitOptions<T> =\n | ((T & {\n useFactory?: never;\n inject?: never;\n name: string;\n }))\n | {\n inject: () => readonly Reference<any>[];\n useFactory: (...args: any[]) => T;\n name: string;\n};\n\ntype AdapterClassWithOptions<T> = {\n new(...args: any[]): any;\n prototype: { __options_brand?: T };\n};\n\ntype AdapterReturn<T> = AdapterType\n\nexport abstract class DynamicAdapter<TOptions extends object> implements AdapterInterface {\n abstract options: {name:string} & TOptions\n /**\n * Private property to ensure options are typed correctly.\n */\n declare __options_brand: TOptions;\n\n /**\n * Static init() method to create a plugin provider.\n * @param options\n */\n static init<TThis extends AdapterClassWithOptions<any>>(\n this: TThis,\n options: InitOptions<TThis['prototype'] extends { __options_brand?: infer O } ? O : never>,\n ): AdapterReturn<TThis['prototype'] extends { __options_brand?: infer O } ? O : never> {\n const typedOptions = options as any;\n\n if ('useFactory' in options) {\n const { inject, useFactory, ...rest } = typedOptions;\n return {\n provide: this,\n inject: options.inject as () => Reference<any>[],\n useFactory: options.useFactory as any,\n ...rest,\n };\n }\n return {\n ...typedOptions,\n provide: this,\n useValue: new this(options),\n };\n }\n\n /**\n * Abstract fetch method to be implemented by subclasses.\n * @returns A promise resolving to any type the will be used\n * to trnasform into tools, resources, prompts, etc.\n */\n abstract fetch(): Promise<FrontMcpAdapterResponse> | FrontMcpAdapterResponse;\n}\n\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic.plugin.js","sourceRoot":"","sources":["../../../../src/common/dynamic/dynamic.plugin.ts"],"names":[],"mappings":";;;AAEA,mDAA+E;AA0B/E,MAAsB,aAAa;IAYjC,GAAG,CAAI,KAAmB;QACxB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,IAAI,CAET,OAA0F;QAE1F,MAAM,cAAc,GAAI,OAAe,CAAC,SAAgD,CAAC;QACzF,MAAM,YAAY,GAAG,OAAc,CAAC;QAEpC,IAAI,YAAY,IAAI,OAAO,EAAE,CAAC;YAC5B,OAAO;gBACL,GAAG,YAAY;gBACf,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,OAAO,CAAC,MAAgC;gBAChD,UAAU,EAAE,OAAO,CAAC,UAAiB;gBACrC,SAAS,EAAE,IAAA,qCAAqB,EAAC,cAAc,IAAI,EAAE,CAAC;aACvD,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GAAG,IAAA,uCAAuB,EAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACxD,MAAM,eAAe,GAAG,IAAA,qCAAqB,EAAC,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3F,OAAO;YACL,GAAG,YAAY;YACf,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC;YAC3B,SAAS,EAAE,eAAe;SAC3B,CAAC;IACJ,CAAC;CACF;AA9CD,sCA8CC","sourcesContent":["// dynamic-plugin.ts\nimport {Reference, PluginType, ProviderType, ProviderRegistryInterface} from '../interfaces';\nimport {collectDynamicProviders, dedupePluginProviders} from './dynamic.utils';\n\n// keep your original options union; just add optional `providers`\ntype InitOptions<T> =\n | ((T & { useFactory?: never; inject?: never }) & { providers?: readonly ProviderType[] })\n | {\n inject: () => readonly Reference<any>[];\n useFactory: (...args: any[]) => T;\n providers?: readonly ProviderType[];\n};\n\ntype PluginClassWithOptions<T> = {\n new(...args: any[]): any;\n prototype: { __options_brand?: T };\n // optional hook contributed by plugin authors\n dynamicProviders?: (options: T) => readonly ProviderType[];\n};\n\ntype ValueMcpPlugin<T> = { provide: any; useValue: T; providers?: ProviderType[] };\ntype FactoryMcpPlugin<T> = { provide: any; inject: () => readonly Reference<any>[]; useFactory: (...args: any[]) => T };\n\ntype PluginReturn<T> = (ValueMcpPlugin<T> | FactoryMcpPlugin<T>) &\n PluginType & {\n providers?: readonly ProviderType[];\n};\n\nexport abstract class DynamicPlugin<TOptions extends object> {\n /**\n * Private property to ensure options are typed correctly.\n */\n declare __options_brand: TOptions;\n\n /**\n * Optional hook to contribute providers to the plugin.\n * @param options\n */\n static dynamicProviders?(options: any): readonly ProviderType[];\n\n get<T>(token: Reference<T>): T {\n throw new Error('Method not implemented.');\n }\n\n /**\n * Static init() method to create a plugin provider.\n * @param options\n */\n static init<TThis extends PluginClassWithOptions<any>>(\n this: TThis,\n options: InitOptions<TThis['prototype'] extends { __options_brand?: infer O } ? O : never>,\n ): PluginReturn<TThis['prototype'] extends { __options_brand?: infer O } ? O : never> {\n const extraProviders = (options as any).providers as readonly ProviderType[] | undefined;\n const typedOptions = options as any;\n\n if ('useFactory' in options) {\n return {\n ...typedOptions,\n provide: this,\n inject: options.inject as () => Reference<any>[],\n useFactory: options.useFactory as any,\n providers: dedupePluginProviders(extraProviders ?? []),\n };\n }\n\n const dyn = collectDynamicProviders(this, typedOptions);\n const mergedProviders = dedupePluginProviders([...(dyn ?? []), ...(extraProviders ?? [])]);\n return {\n ...typedOptions,\n provide: this,\n useValue: new this(options),\n providers: mergedProviders,\n };\n }\n}"]}
@@ -0,0 +1,3 @@
1
+ import { ProviderType } from "../interfaces";
2
+ export declare function collectDynamicProviders<T>(klass: any, options: T): ProviderType[];
3
+ export declare function dedupePluginProviders(providers: readonly ProviderType[]): ProviderType[];
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic.utils.js","sourceRoot":"","sources":["../../../../src/common/dynamic/dynamic.utils.ts"],"names":[],"mappings":";;AAEA,0DAeC;AAED,sDAIC;AArBD,SAAgB,uBAAuB,CAAI,KAAU,EAAE,OAAU;IAC/D,4DAA4D;IAC5D,MAAM,KAAK,GAAU,EAAE,CAAC;IACxB,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,SAAS,EAAE,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;IACD,gDAAgD;IAChD,MAAM,GAAG,GAAmB,EAAE,CAAC;IAC/B,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACnB,IAAI,OAAO,CAAC,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;YAC7C,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAgB,qBAAqB,CAAC,SAAkC;IACtE,MAAM,GAAG,GAAG,IAAI,GAAG,EAAqB,CAAC;IACzC,KAAK,MAAM,CAAC,IAAI,SAAS;QAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAQ,CAAC,CAAC,CAAC,0BAA0B;IAC3F,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;AAC3B,CAAC","sourcesContent":["import { ProviderType } from \"../interfaces\";\n\nexport function collectDynamicProviders<T>(klass: any, options: T): ProviderType[] {\n // walk the prototype chain so parent plugins can contribute\n const chain: any[] = [];\n for (let k = klass; k && k !== Function.prototype; k = Object.getPrototypeOf(k)) {\n chain.push(k);\n }\n // parent-first; child can override tokens later\n const out: ProviderType[] = [];\n for (let i = chain.length - 1; i >= 0; i--) {\n const k = chain[i];\n if (typeof k.dynamicProviders === 'function') {\n out.push(...(k.dynamicProviders(options) ?? []));\n }\n }\n return out;\n}\n\nexport function dedupePluginProviders(providers: readonly ProviderType[]): ProviderType[] {\n const map = new Map<any, ProviderType>();\n for (const p of providers) map.set(p['provide'] ?? p, p as any); // class-as-token fallback\n return [...map.values()];\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/common/dynamic/index.ts"],"names":[],"mappings":";;;AAAA,4DAAkC;AAClC,2DAAiC","sourcesContent":["export * from './dynamic.adapter';\nexport * from './dynamic.plugin';"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.entry.js","sourceRoot":"","sources":["../../../../src/common/entries/adapter.entry.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAMzC,MAAsB,YAAa,SAAQ,sBAA2D;CAGrG;AAHD,oCAGC","sourcesContent":["import { BaseEntry } from './base.entry';\nimport { AdapterRecord } from '../records';\nimport { AdapterInterface } from '../interfaces';\nimport { AdapterMetadata } from '../metadata';\n\n\nexport abstract class AdapterEntry extends BaseEntry<AdapterRecord, AdapterInterface, AdapterMetadata> {\n\n\n}\n\n"]}
@@ -0,0 +1,13 @@
1
+ import { BaseEntry } from './base.entry';
2
+ import { AppRecord } from '../records';
3
+ import { AdapterRegistryInterface, AppInterface, PluginRegistryInterface, PromptRegistryInterface, ProviderRegistryInterface, ResourceRegistryInterface, ToolRegistryInterface } from '../interfaces';
4
+ import { AppMetadata } from '../metadata';
5
+ export declare abstract class AppEntry<Metadata = AppMetadata> extends BaseEntry<AppRecord, AppInterface, Metadata> {
6
+ readonly id: string;
7
+ abstract get providers(): ProviderRegistryInterface;
8
+ abstract get adapters(): AdapterRegistryInterface;
9
+ abstract get plugins(): PluginRegistryInterface;
10
+ abstract get tools(): ToolRegistryInterface;
11
+ abstract get resources(): ResourceRegistryInterface;
12
+ abstract get prompts(): PromptRegistryInterface;
13
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.entry.js","sourceRoot":"","sources":["../../../../src/common/entries/app.entry.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AASzC,MAAsB,QAAiC,SAAQ,sBAA4C;IAChG,EAAE,CAAS;CAarB;AAdD,4BAcC","sourcesContent":["import { BaseEntry } from './base.entry';\nimport { AppRecord } from '../records';\nimport {\n AdapterRegistryInterface,\n AppInterface, PluginRegistryInterface, PromptRegistryInterface, ProviderRegistryInterface, ResourceRegistryInterface,\n ToolRegistryInterface,\n} from '../interfaces';\nimport { AppMetadata } from '../metadata';\n\nexport abstract class AppEntry<Metadata = AppMetadata> extends BaseEntry<AppRecord, AppInterface, Metadata> {\n readonly id: string;\n\n abstract get providers(): ProviderRegistryInterface;\n\n abstract get adapters(): AdapterRegistryInterface;\n\n abstract get plugins(): PluginRegistryInterface;\n\n abstract get tools(): ToolRegistryInterface;\n\n abstract get resources(): ResourceRegistryInterface;\n\n abstract get prompts(): PromptRegistryInterface;\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-provider.entry.js","sourceRoot":"","sources":["../../../../src/common/entries/auth-provider.entry.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAMzC,MAAsB,iBAAkB,SAAQ,sBAA0E;CAGzH;AAHD,8CAGC","sourcesContent":["import { BaseEntry } from './base.entry';\nimport { AuthProviderRecord } from '../records';\nimport { AuthProviderInterface } from '../interfaces';\nimport { AuthProviderMetadata } from '../metadata';\n\n\nexport abstract class AuthProviderEntry extends BaseEntry<AuthProviderRecord, AuthProviderInterface, AuthProviderMetadata> {\n\n\n}"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.entry.js","sourceRoot":"","sources":["../../../../src/common/entries/base.entry.ts"],"names":[],"mappings":";;;AAAA,4BAA0B;AAQ1B,MAAsB,SAAS;IAC7B,KAAK,CAAgB;IACZ,MAAM,CAAS;IACL,KAAK,CAAmB;IAClC,QAAQ,CAAW;IAE5B,YAAY,MAAc,EAAE,KAAwB,EAAE,QAAmB;QACvE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC;IAC9C,CAAC;CAGF;AAbD,8BAaC","sourcesContent":["import 'reflect-metadata';\nimport { Token } from '../interfaces';\n\nexport type EntryOwnerKind = 'scope' | 'app' | 'plugin' | 'adapter';\nexport type EntryOwnerRef = { kind: EntryOwnerKind; id: string, ref: Token };\nexport type EntryLineage = EntryOwnerRef[]; // root -> leaf; e.g. [{kind:'app', id:'Portal'}, {kind:'plugin', id:'Okta'}]\n\n\nexport abstract class BaseEntry<Record extends { provide: any, metadata: any }, Interface, Metadata> {\n ready: Promise<void>;\n readonly record: Record;\n protected readonly token: Token<Interface>;\n readonly metadata: Metadata;\n\n constructor(record: Record, token?: Token<Interface>, metadata?: Metadata) {\n this.record = record;\n this.token = token ?? record.provide;\n this.metadata = metadata ?? record.metadata;\n }\n\n protected abstract initialize(): Promise<void>;\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow.entry.js","sourceRoot":"","sources":["../../../../src/common/entries/flow.entry.ts"],"names":[],"mappings":";;;AAAA,4BAA0B;AAC1B,6CAAyC;AAOzC,MAAsB,SAAiC,SAAQ,sBAAoD;IACxG,IAAI,CAAO;IACX,IAAI,CAAmB,CAAC,oEAAoE;IAC5F,MAAM,CAAc;IACpB,KAAK,CAAa;IAM3B,YAAsB,KAAiB,EAAC,MAAkB,EAAE,KAAuB,EAAE,QAA8B;QACjH,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC/B,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,IAAI,QAAQ,EAAE,UAAU,IAAI,EAAE,CAAC;QAClF,IAAI,CAAC,IAAI,GAAG,QAAQ,EAAE,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC;QACpD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CAEF;AAnBD,8BAmBC","sourcesContent":["import 'reflect-metadata';\nimport { BaseEntry } from './base.entry';\nimport { FlowRecord } from '../records';\nimport { FlowBase, FlowInputOf, FlowOutputOf, HttpMethod, ServerRequest, Token, Type } from '../interfaces';\nimport { FlowMetadata, FlowName } from '../metadata';\nimport { ScopeEntry } from './scope.entry';\n\n\nexport abstract class FlowEntry<Name extends FlowName> extends BaseEntry<FlowRecord, FlowBase, FlowMetadata<never>> {\n readonly name: Name;\n readonly path?: RegExp | string; // string can be \"/test/**\" or \"/test/*/asds\", default to all paths;\n readonly method?: HttpMethod;\n readonly scope: ScopeEntry;\n\n abstract canActivate(request: ServerRequest): Promise<boolean>\n\n abstract run(input: FlowInputOf<Name>, deps: Map<Token, Type>): Promise<FlowOutputOf<Name> | undefined>\n\n protected constructor(scope: ScopeEntry,record: FlowRecord, token?: Token<FlowBase>, metadata?: FlowMetadata<never>) {\n super(record, token, metadata);\n const { path, method } = record.metadata.middleware ?? metadata?.middleware ?? {};\n this.name = metadata?.name ?? record.metadata?.name;\n this.path = path;\n this.method = method;\n this.scope = scope;\n }\n\n}\n\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook.entry.js","sourceRoot":"","sources":["../../../../src/common/entries/hook.entry.ts"],"names":[],"mappings":";;;AAIA,6CAAuC;AAEvC,MAAsB,SAAiF,SAAQ,sBAAwE;IAC5K,KAAK,CAAa;IAClB,SAAS,CAA4B;IACrC,OAAO,CAAmB;IAEnC,YAAsB,KAAiB,EAAE,SAAoC,EAAE,MAAkB,EAAE,KAAY,EAAE,QAAyC;QACxJ,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG;YACb,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;SAC5B,CAAA;IACH,CAAC;CAGF;AAhBD,8BAgBC","sourcesContent":["import {ScopeEntry} from \"./scope.entry\";\nimport {HookOptions, HookMetadata, FlowName} from \"../metadata\";\nimport {HookRecord} from \"../records\";\nimport {HookBase, ProviderRegistryInterface, Token} from \"../interfaces\";\nimport {BaseEntry} from \"./base.entry\";\n\nexport abstract class HookEntry<In = any, Name extends FlowName = FlowName, Stage = string, Ctx = any> extends BaseEntry<HookRecord, HookBase<In, Ctx>, HookMetadata<Name, Stage, Ctx>> {\n readonly scope: ScopeEntry;\n readonly providers: ProviderRegistryInterface;\n readonly options: HookOptions<Ctx>;\n\n protected constructor(scope: ScopeEntry, providers: ProviderRegistryInterface, record: HookRecord, token: Token, metadata: HookMetadata<Name, Stage, Ctx>) {\n super(record, token, metadata);\n this.scope = scope;\n this.providers = providers;\n this.options = {\n filter: metadata.filter,\n priority: metadata.priority\n }\n }\n\n abstract run(input: In, ctx: Ctx): Promise<void>;\n}"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/common/entries/index.ts"],"names":[],"mappings":";;;AAAA,uDAA6B;AAC7B,wDAA8B;AAC9B,uDAA6B;AAC7B,uDAA6B;AAC7B,sDAA4B;AAC5B,2DAAiC;AACjC,gEAAsC;AACtC,yDAA+B;AAC/B,0DAAgC;AAChC,uDAA6B;AAC7B,2DAAiC;AACjC,yDAA+B;AAC/B,yDAA+B","sourcesContent":["export * from './base.entry';\nexport * from './scope.entry';\nexport * from './flow.entry';\nexport * from './hook.entry';\nexport * from './app.entry';\nexport * from './provider.entry';\nexport * from './auth-provider.entry';\nexport * from './plugin.entry';\nexport * from './adapter.entry';\nexport * from './tool.entry';\nexport * from './resource.entry';\nexport * from './prompt.entry';\nexport * from './logger.entry';\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.entry.js","sourceRoot":"","sources":["../../../../src/common/entries/logger.entry.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAMzC,MAAsB,WAAY,SAAQ,sBAAoE;CAG7G;AAHD,kCAGC","sourcesContent":["import { BaseEntry } from './base.entry';\nimport { LogTransportInterface } from '../interfaces';\nimport { LoggerRecord } from '../records';\nimport { LogTransportMetadata } from '../metadata';\n\n\nexport abstract class LoggerEntry extends BaseEntry<LoggerRecord, LogTransportInterface, LogTransportMetadata> {\n\n\n}\n\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.entry.js","sourceRoot":"","sources":["../../../../src/common/entries/plugin.entry.ts"],"names":[],"mappings":";;;AAAA,6CAAuC;AAMvC,MAAsB,WAAY,SAAQ,sBAAwD;CAGjG;AAHD,kCAGC","sourcesContent":["import {BaseEntry} from './base.entry';\nimport {PluginRecord} from '../records';\nimport {PluginInterface, Token} from '../interfaces';\nimport {PluginMetadata} from '../metadata';\n\n\nexport abstract class PluginEntry extends BaseEntry<PluginRecord, PluginInterface, PluginMetadata> {\n\n abstract get<T>(token: Token<T>): T;\n}"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt.entry.js","sourceRoot":"","sources":["../../../../src/common/entries/prompt.entry.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAMzC,MAAsB,WAAY,SAAQ,sBAAwD;CAGjG;AAHD,kCAGC","sourcesContent":["import { BaseEntry } from './base.entry';\nimport { PromptRecord } from '../records';\nimport { PromptInterface } from '../interfaces';\nimport { PromptMetadata } from '../metadata';\n\n\nexport abstract class PromptEntry extends BaseEntry<PromptRecord, PromptInterface, PromptMetadata> {\n\n\n}\n\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.entry.js","sourceRoot":"","sources":["../../../../src/common/entries/provider.entry.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAMzC,MAAe,aAAc,SAAQ,sBAA8D;CAGlG;AAIC,sCAAa","sourcesContent":["import { BaseEntry } from './base.entry';\nimport { ProviderRecord } from '../records';\nimport { ProviderInterface } from '../interfaces';\nimport { ProviderMetadata } from '../metadata';\n\n\nabstract class ProviderEntry extends BaseEntry<ProviderRecord, ProviderInterface, ProviderMetadata> {\n\n\n}\n\n\nexport {\n ProviderEntry,\n};"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource.entry.js","sourceRoot":"","sources":["../../../../src/common/entries/resource.entry.ts"],"names":[],"mappings":";;;AACA,6CAAyC;AAMzC,MAAsB,aAAuD,SAAQ,sBACtB;CAG9D;AAJD,sCAIC;AAGD,mCAAmC;AACnC,sLAAsL;AACtL,IAAI","sourcesContent":["import { z } from 'zod';\nimport { BaseEntry } from './base.entry';\nimport { ResourceRecord } from '../records';\nimport { ResourceInterface } from '../interfaces';\nimport { ResourceMetadata } from '../metadata';\n\n\nexport abstract class ResourceEntry<In = z.ZodRawShape, Out = z.ZodRawShape> extends BaseEntry<\n ResourceRecord, ResourceInterface<In, Out>, ResourceMetadata> {\n\n\n}\n\n\n// TODO: support resource templates\n// abstract class ResourceTemplateEntry<In = z.ZodRawShape, Out = z.ZodRawShape> extends BaseEntry<ResourceTemplateRecord, ResourceTemplateInterface<In, Out>, ResourceTemplateType> {\n// }"]}