@frontmcp/sdk 0.6.1 → 0.6.3

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 (1066) hide show
  1. package/{src/auth → auth}/instances/instance.local-primary-auth.d.ts +1 -1
  2. package/{src/auth → auth}/instances/instance.remote-primary-auth.d.ts +1 -1
  3. package/auth/session/index.d.ts +8 -0
  4. package/{src/auth → auth}/session/redis-session.store.d.ts +26 -3
  5. package/auth/session/session-crypto.d.ts +86 -0
  6. package/auth/session/session-rate-limiter.d.ts +113 -0
  7. package/{src/auth → auth}/session/transport-session.types.d.ts +51 -34
  8. package/{src/auth → auth}/session/vercel-kv-session.store.d.ts +22 -2
  9. package/{src/common → common}/interfaces/internal/primary-auth-provider.interface.d.ts +1 -4
  10. package/{src/common → common}/metadata/front-mcp.metadata.d.ts +1074 -44
  11. package/common/types/options/auth/app-auth.schema.d.ts +275 -0
  12. package/common/types/options/auth/auth.interfaces.d.ts +461 -0
  13. package/common/types/options/auth/auth.schema.d.ts +284 -0
  14. package/common/types/options/auth/auth.utils.d.ts +32 -0
  15. package/common/types/options/auth/index.d.ts +16 -0
  16. package/common/types/options/auth/orchestrated.schema.d.ts +381 -0
  17. package/common/types/options/auth/public.schema.d.ts +42 -0
  18. package/common/types/options/auth/shared.schemas.d.ts +120 -0
  19. package/common/types/options/auth/transparent.schema.d.ts +56 -0
  20. package/common/types/options/auth/transport.deprecated.d.ts +63 -0
  21. package/{src/common → common}/types/options/index.d.ts +1 -1
  22. package/{src/common → common}/types/options/transport.options.d.ts +6 -1
  23. package/{src/common → common}/utils/decide-request-intent.utils.d.ts +6 -7
  24. package/esm/index.mjs +23219 -0
  25. package/esm/mcp-apps/index.mjs +723 -0
  26. package/esm/package.json +89 -0
  27. package/index.js +23513 -0
  28. package/logger/logger.tokens.d.ts +1 -0
  29. package/mcp-apps/index.js +799 -0
  30. package/package.json +36 -13
  31. package/transport/adapters/sse-transport.d.ts +65 -0
  32. package/transport/adapters/streamable-http-transport.d.ts +69 -0
  33. package/{src/transport → transport}/adapters/transport.local.adapter.d.ts +15 -1
  34. package/transport/adapters/transport.sse.adapter.d.ts +27 -0
  35. package/{src/transport → transport}/adapters/transport.streamable-http.adapter.d.ts +12 -3
  36. package/transport/index.d.ts +21 -0
  37. package/{src/transport → transport}/transport.local.d.ts +6 -0
  38. package/{src/transport → transport}/transport.registry.d.ts +7 -1
  39. package/{src/transport → transport}/transport.remote.d.ts +1 -0
  40. package/{src/transport → transport}/transport.types.d.ts +6 -0
  41. package/README.md +0 -461
  42. package/src/adapter/adapter.instance.js +0 -70
  43. package/src/adapter/adapter.instance.js.map +0 -1
  44. package/src/adapter/adapter.regsitry.js +0 -54
  45. package/src/adapter/adapter.regsitry.js.map +0 -1
  46. package/src/adapter/adapter.utils.js +0 -83
  47. package/src/adapter/adapter.utils.js.map +0 -1
  48. package/src/app/app.registry.js +0 -66
  49. package/src/app/app.registry.js.map +0 -1
  50. package/src/app/app.utils.js +0 -58
  51. package/src/app/app.utils.js.map +0 -1
  52. package/src/app/instances/app.local.instance.js +0 -67
  53. package/src/app/instances/app.local.instance.js.map +0 -1
  54. package/src/app/instances/app.remote.instance.js +0 -36
  55. package/src/app/instances/app.remote.instance.js.map +0 -1
  56. package/src/app/instances/index.js +0 -6
  57. package/src/app/instances/index.js.map +0 -1
  58. package/src/auth/auth.registry.js +0 -219
  59. package/src/auth/auth.registry.js.map +0 -1
  60. package/src/auth/auth.utils.js +0 -84
  61. package/src/auth/auth.utils.js.map +0 -1
  62. package/src/auth/authorization/authorization.class.js +0 -217
  63. package/src/auth/authorization/authorization.class.js.map +0 -1
  64. package/src/auth/authorization/authorization.types.js +0 -79
  65. package/src/auth/authorization/authorization.types.js.map +0 -1
  66. package/src/auth/authorization/index.js +0 -19
  67. package/src/auth/authorization/index.js.map +0 -1
  68. package/src/auth/authorization/orchestrated.authorization.js +0 -306
  69. package/src/auth/authorization/orchestrated.authorization.js.map +0 -1
  70. package/src/auth/authorization/public.authorization.js +0 -132
  71. package/src/auth/authorization/public.authorization.js.map +0 -1
  72. package/src/auth/authorization/transparent.authorization.js +0 -147
  73. package/src/auth/authorization/transparent.authorization.js.map +0 -1
  74. package/src/auth/consent/consent.types.js +0 -119
  75. package/src/auth/consent/consent.types.js.map +0 -1
  76. package/src/auth/consent/index.js +0 -13
  77. package/src/auth/consent/index.js.map +0 -1
  78. package/src/auth/detection/auth-provider-detection.js +0 -230
  79. package/src/auth/detection/auth-provider-detection.js.map +0 -1
  80. package/src/auth/detection/index.js +0 -15
  81. package/src/auth/detection/index.js.map +0 -1
  82. package/src/auth/flows/auth.verify.flow.js +0 -379
  83. package/src/auth/flows/auth.verify.flow.js.map +0 -1
  84. package/src/auth/flows/oauth.authorize.flow.js +0 -822
  85. package/src/auth/flows/oauth.authorize.flow.js.map +0 -1
  86. package/src/auth/flows/oauth.callback.flow.js +0 -357
  87. package/src/auth/flows/oauth.callback.flow.js.map +0 -1
  88. package/src/auth/flows/oauth.register.flow.js +0 -201
  89. package/src/auth/flows/oauth.register.flow.js.map +0 -1
  90. package/src/auth/flows/oauth.token.flow.js +0 -319
  91. package/src/auth/flows/oauth.token.flow.js.map +0 -1
  92. package/src/auth/flows/session.verify.flow.js +0 -304
  93. package/src/auth/flows/session.verify.flow.js.map +0 -1
  94. package/src/auth/flows/well-known.jwks.flow.js +0 -89
  95. package/src/auth/flows/well-known.jwks.flow.js.map +0 -1
  96. package/src/auth/flows/well-known.oauth-authorization-server.flow.js +0 -122
  97. package/src/auth/flows/well-known.oauth-authorization-server.flow.js.map +0 -1
  98. package/src/auth/flows/well-known.prm.flow.js +0 -106
  99. package/src/auth/flows/well-known.prm.flow.js.map +0 -1
  100. package/src/auth/instances/instance.local-primary-auth.js +0 -308
  101. package/src/auth/instances/instance.local-primary-auth.js.map +0 -1
  102. package/src/auth/instances/instance.remote-primary-auth.js +0 -49
  103. package/src/auth/instances/instance.remote-primary-auth.js.map +0 -1
  104. package/src/auth/jwks/dev-key-persistence.js +0 -219
  105. package/src/auth/jwks/dev-key-persistence.js.map +0 -1
  106. package/src/auth/jwks/index.js +0 -7
  107. package/src/auth/jwks/index.js.map +0 -1
  108. package/src/auth/jwks/jwks.service.js +0 -303
  109. package/src/auth/jwks/jwks.service.js.map +0 -1
  110. package/src/auth/jwks/jwks.types.js +0 -3
  111. package/src/auth/jwks/jwks.types.js.map +0 -1
  112. package/src/auth/jwks/jwks.utils.js +0 -32
  113. package/src/auth/jwks/jwks.utils.js.map +0 -1
  114. package/src/auth/machine-id.js +0 -32
  115. package/src/auth/machine-id.js.map +0 -1
  116. package/src/auth/oauth/flows/oauth.authorize.flow.js +0 -33
  117. package/src/auth/oauth/flows/oauth.authorize.flow.js.map +0 -1
  118. package/src/auth/oauth/flows/oauth.device-authorization.flow.js +0 -48
  119. package/src/auth/oauth/flows/oauth.device-authorization.flow.js.map +0 -1
  120. package/src/auth/oauth/flows/oauth.introspect.flow.js +0 -28
  121. package/src/auth/oauth/flows/oauth.introspect.flow.js.map +0 -1
  122. package/src/auth/oauth/flows/oauth.par.flow.js +0 -29
  123. package/src/auth/oauth/flows/oauth.par.flow.js.map +0 -1
  124. package/src/auth/oauth/flows/oauth.revoke.flow.js +0 -27
  125. package/src/auth/oauth/flows/oauth.revoke.flow.js.map +0 -1
  126. package/src/auth/oauth/flows/oauth.token.flow.js +0 -59
  127. package/src/auth/oauth/flows/oauth.token.flow.js.map +0 -1
  128. package/src/auth/oauth/flows/oauth.userinfo.flow.js +0 -24
  129. package/src/auth/oauth/flows/oauth.userinfo.flow.js.map +0 -1
  130. package/src/auth/oauth/flows/oidc.logout.flow.js +0 -20
  131. package/src/auth/oauth/flows/oidc.logout.flow.js.map +0 -1
  132. package/src/auth/session/authorization-vault.js +0 -817
  133. package/src/auth/session/authorization-vault.js.map +0 -1
  134. package/src/auth/session/authorization.store.js +0 -323
  135. package/src/auth/session/authorization.store.js.map +0 -1
  136. package/src/auth/session/encrypted-authorization-vault.js +0 -493
  137. package/src/auth/session/encrypted-authorization-vault.js.map +0 -1
  138. package/src/auth/session/index.d.ts +0 -6
  139. package/src/auth/session/index.js +0 -18
  140. package/src/auth/session/index.js.map +0 -1
  141. package/src/auth/session/record/session.base.js +0 -125
  142. package/src/auth/session/record/session.base.js.map +0 -1
  143. package/src/auth/session/record/session.stateful.js +0 -55
  144. package/src/auth/session/record/session.stateful.js.map +0 -1
  145. package/src/auth/session/record/session.stateless.js +0 -32
  146. package/src/auth/session/record/session.stateless.js.map +0 -1
  147. package/src/auth/session/record/session.transparent.js +0 -22
  148. package/src/auth/session/record/session.transparent.js.map +0 -1
  149. package/src/auth/session/redis-session.store.js +0 -204
  150. package/src/auth/session/redis-session.store.js.map +0 -1
  151. package/src/auth/session/session.crypto.js +0 -47
  152. package/src/auth/session/session.crypto.js.map +0 -1
  153. package/src/auth/session/session.schema.js +0 -13
  154. package/src/auth/session/session.schema.js.map +0 -1
  155. package/src/auth/session/session.service.js +0 -105
  156. package/src/auth/session/session.service.js.map +0 -1
  157. package/src/auth/session/session.transport.js +0 -20
  158. package/src/auth/session/session.transport.js.map +0 -1
  159. package/src/auth/session/session.types.js +0 -4
  160. package/src/auth/session/session.types.js.map +0 -1
  161. package/src/auth/session/token.refresh.js +0 -63
  162. package/src/auth/session/token.refresh.js.map +0 -1
  163. package/src/auth/session/token.store.js +0 -53
  164. package/src/auth/session/token.store.js.map +0 -1
  165. package/src/auth/session/token.vault.js +0 -54
  166. package/src/auth/session/token.vault.js.map +0 -1
  167. package/src/auth/session/transport-session.manager.js +0 -298
  168. package/src/auth/session/transport-session.manager.js.map +0 -1
  169. package/src/auth/session/transport-session.types.js +0 -111
  170. package/src/auth/session/transport-session.types.js.map +0 -1
  171. package/src/auth/session/utils/auth-token.utils.js +0 -57
  172. package/src/auth/session/utils/auth-token.utils.js.map +0 -1
  173. package/src/auth/session/utils/session-id.utils.js +0 -217
  174. package/src/auth/session/utils/session-id.utils.js.map +0 -1
  175. package/src/auth/session/utils/tiny-ttl-cache.js +0 -26
  176. package/src/auth/session/utils/tiny-ttl-cache.js.map +0 -1
  177. package/src/auth/session/vault-encryption.js +0 -263
  178. package/src/auth/session/vault-encryption.js.map +0 -1
  179. package/src/auth/session/vercel-kv-session.store.js +0 -216
  180. package/src/auth/session/vercel-kv-session.store.js.map +0 -1
  181. package/src/auth/ui/base-layout.js +0 -279
  182. package/src/auth/ui/base-layout.js.map +0 -1
  183. package/src/auth/ui/index.js +0 -34
  184. package/src/auth/ui/index.js.map +0 -1
  185. package/src/auth/ui/templates.js +0 -426
  186. package/src/auth/ui/templates.js.map +0 -1
  187. package/src/auth/utils/audience.validator.js +0 -196
  188. package/src/auth/utils/audience.validator.js.map +0 -1
  189. package/src/auth/utils/index.js +0 -7
  190. package/src/auth/utils/index.js.map +0 -1
  191. package/src/auth/utils/www-authenticate.utils.js +0 -183
  192. package/src/auth/utils/www-authenticate.utils.js.map +0 -1
  193. package/src/common/common.schema.js +0 -35
  194. package/src/common/common.schema.js.map +0 -1
  195. package/src/common/constants.js +0 -13
  196. package/src/common/constants.js.map +0 -1
  197. package/src/common/decorators/adapter.decorator.js +0 -20
  198. package/src/common/decorators/adapter.decorator.js.map +0 -1
  199. package/src/common/decorators/app.decorator.js +0 -44
  200. package/src/common/decorators/app.decorator.js.map +0 -1
  201. package/src/common/decorators/auth-provider.decorator.js +0 -20
  202. package/src/common/decorators/auth-provider.decorator.js.map +0 -1
  203. package/src/common/decorators/decorator-utils.js +0 -195
  204. package/src/common/decorators/decorator-utils.js.map +0 -1
  205. package/src/common/decorators/flow.decorator.js +0 -19
  206. package/src/common/decorators/flow.decorator.js.map +0 -1
  207. package/src/common/decorators/front-mcp.decorator.js +0 -64
  208. package/src/common/decorators/front-mcp.decorator.js.map +0 -1
  209. package/src/common/decorators/hook.decorator.js +0 -178
  210. package/src/common/decorators/hook.decorator.js.map +0 -1
  211. package/src/common/decorators/index.js +0 -16
  212. package/src/common/decorators/index.js.map +0 -1
  213. package/src/common/decorators/logger.decorator.js +0 -20
  214. package/src/common/decorators/logger.decorator.js.map +0 -1
  215. package/src/common/decorators/plugin.decorator.js +0 -39
  216. package/src/common/decorators/plugin.decorator.js.map +0 -1
  217. package/src/common/decorators/prompt.decorator.js +0 -38
  218. package/src/common/decorators/prompt.decorator.js.map +0 -1
  219. package/src/common/decorators/provider.decorator.js +0 -20
  220. package/src/common/decorators/provider.decorator.js.map +0 -1
  221. package/src/common/decorators/resource.decorator.js +0 -94
  222. package/src/common/decorators/resource.decorator.js.map +0 -1
  223. package/src/common/decorators/tool.decorator.js +0 -45
  224. package/src/common/decorators/tool.decorator.js.map +0 -1
  225. package/src/common/dynamic/dynamic.adapter.js +0 -28
  226. package/src/common/dynamic/dynamic.adapter.js.map +0 -1
  227. package/src/common/dynamic/dynamic.plugin.js +0 -42
  228. package/src/common/dynamic/dynamic.plugin.js.map +0 -1
  229. package/src/common/dynamic/dynamic.utils.js +0 -27
  230. package/src/common/dynamic/dynamic.utils.js.map +0 -1
  231. package/src/common/dynamic/index.js +0 -6
  232. package/src/common/dynamic/index.js.map +0 -1
  233. package/src/common/entries/adapter.entry.js +0 -8
  234. package/src/common/entries/adapter.entry.js.map +0 -1
  235. package/src/common/entries/app.entry.js +0 -9
  236. package/src/common/entries/app.entry.js.map +0 -1
  237. package/src/common/entries/auth-provider.entry.js +0 -8
  238. package/src/common/entries/auth-provider.entry.js.map +0 -1
  239. package/src/common/entries/base.entry.js +0 -17
  240. package/src/common/entries/base.entry.js.map +0 -1
  241. package/src/common/entries/flow.entry.js +0 -21
  242. package/src/common/entries/flow.entry.js.map +0 -1
  243. package/src/common/entries/hook.entry.js +0 -20
  244. package/src/common/entries/hook.entry.js.map +0 -1
  245. package/src/common/entries/index.js +0 -17
  246. package/src/common/entries/index.js.map +0 -1
  247. package/src/common/entries/logger.entry.js +0 -8
  248. package/src/common/entries/logger.entry.js.map +0 -1
  249. package/src/common/entries/plugin.entry.js +0 -8
  250. package/src/common/entries/plugin.entry.js.map +0 -1
  251. package/src/common/entries/prompt.entry.js +0 -18
  252. package/src/common/entries/prompt.entry.js.map +0 -1
  253. package/src/common/entries/provider.entry.js +0 -8
  254. package/src/common/entries/provider.entry.js.map +0 -1
  255. package/src/common/entries/resource.entry.js +0 -35
  256. package/src/common/entries/resource.entry.js.map +0 -1
  257. package/src/common/entries/scope.entry.js +0 -14
  258. package/src/common/entries/scope.entry.js.map +0 -1
  259. package/src/common/entries/tool.entry.js +0 -31
  260. package/src/common/entries/tool.entry.js.map +0 -1
  261. package/src/common/flow/flow.utils.js +0 -96
  262. package/src/common/flow/flow.utils.js.map +0 -1
  263. package/src/common/index.js +0 -20
  264. package/src/common/index.js.map +0 -1
  265. package/src/common/interfaces/adapter.interface.js +0 -3
  266. package/src/common/interfaces/adapter.interface.js.map +0 -1
  267. package/src/common/interfaces/app.interface.js +0 -3
  268. package/src/common/interfaces/app.interface.js.map +0 -1
  269. package/src/common/interfaces/auth-hook.interface.js +0 -135
  270. package/src/common/interfaces/auth-hook.interface.js.map +0 -1
  271. package/src/common/interfaces/auth-provider.interface.js +0 -18
  272. package/src/common/interfaces/auth-provider.interface.js.map +0 -1
  273. package/src/common/interfaces/base.interface.js +0 -3
  274. package/src/common/interfaces/base.interface.js.map +0 -1
  275. package/src/common/interfaces/execution-context.interface.js +0 -166
  276. package/src/common/interfaces/execution-context.interface.js.map +0 -1
  277. package/src/common/interfaces/flow.interface.js +0 -95
  278. package/src/common/interfaces/flow.interface.js.map +0 -1
  279. package/src/common/interfaces/front-mcp.interface.js +0 -3
  280. package/src/common/interfaces/front-mcp.interface.js.map +0 -1
  281. package/src/common/interfaces/hook.interface.js +0 -3
  282. package/src/common/interfaces/hook.interface.js.map +0 -1
  283. package/src/common/interfaces/index.js +0 -21
  284. package/src/common/interfaces/index.js.map +0 -1
  285. package/src/common/interfaces/internal/flow.utils.js +0 -83
  286. package/src/common/interfaces/internal/flow.utils.js.map +0 -1
  287. package/src/common/interfaces/internal/index.js +0 -7
  288. package/src/common/interfaces/internal/index.js.map +0 -1
  289. package/src/common/interfaces/internal/primary-auth-provider.interface.js +0 -81
  290. package/src/common/interfaces/internal/primary-auth-provider.interface.js.map +0 -1
  291. package/src/common/interfaces/internal/registry.interface.js +0 -3
  292. package/src/common/interfaces/internal/registry.interface.js.map +0 -1
  293. package/src/common/interfaces/logger.interface.js +0 -10
  294. package/src/common/interfaces/logger.interface.js.map +0 -1
  295. package/src/common/interfaces/plugin.interface.js +0 -3
  296. package/src/common/interfaces/plugin.interface.js.map +0 -1
  297. package/src/common/interfaces/prompt.interface.js +0 -81
  298. package/src/common/interfaces/prompt.interface.js.map +0 -1
  299. package/src/common/interfaces/provider.interface.js +0 -18
  300. package/src/common/interfaces/provider.interface.js.map +0 -1
  301. package/src/common/interfaces/resource.interface.js +0 -56
  302. package/src/common/interfaces/resource.interface.js.map +0 -1
  303. package/src/common/interfaces/scope.interface.js +0 -3
  304. package/src/common/interfaces/scope.interface.js.map +0 -1
  305. package/src/common/interfaces/server.interface.js +0 -18
  306. package/src/common/interfaces/server.interface.js.map +0 -1
  307. package/src/common/interfaces/session-hook.interface.js +0 -140
  308. package/src/common/interfaces/session-hook.interface.js.map +0 -1
  309. package/src/common/interfaces/tool-hook.interface.js +0 -92
  310. package/src/common/interfaces/tool-hook.interface.js.map +0 -1
  311. package/src/common/interfaces/tool.interface.js +0 -117
  312. package/src/common/interfaces/tool.interface.js.map +0 -1
  313. package/src/common/metadata/adapter.metadata.js +0 -10
  314. package/src/common/metadata/adapter.metadata.js.map +0 -1
  315. package/src/common/metadata/app.metadata.js +0 -30
  316. package/src/common/metadata/app.metadata.js.map +0 -1
  317. package/src/common/metadata/auth-provider.metadata.js +0 -19
  318. package/src/common/metadata/auth-provider.metadata.js.map +0 -1
  319. package/src/common/metadata/flow.metadata.js +0 -15
  320. package/src/common/metadata/flow.metadata.js.map +0 -1
  321. package/src/common/metadata/front-mcp.metadata.js +0 -30
  322. package/src/common/metadata/front-mcp.metadata.js.map +0 -1
  323. package/src/common/metadata/hook.metadata.js +0 -3
  324. package/src/common/metadata/hook.metadata.js.map +0 -1
  325. package/src/common/metadata/index.js +0 -17
  326. package/src/common/metadata/index.js.map +0 -1
  327. package/src/common/metadata/logger.metadata.js +0 -10
  328. package/src/common/metadata/logger.metadata.js.map +0 -1
  329. package/src/common/metadata/plugin.metadata.js +0 -18
  330. package/src/common/metadata/plugin.metadata.js.map +0 -1
  331. package/src/common/metadata/prompt.metadata.js +0 -27
  332. package/src/common/metadata/prompt.metadata.js.map +0 -1
  333. package/src/common/metadata/provider.metadata.js +0 -36
  334. package/src/common/metadata/provider.metadata.js.map +0 -1
  335. package/src/common/metadata/resource.metadata.js +0 -31
  336. package/src/common/metadata/resource.metadata.js.map +0 -1
  337. package/src/common/metadata/tool-ui.metadata.js +0 -12
  338. package/src/common/metadata/tool-ui.metadata.js.map +0 -1
  339. package/src/common/metadata/tool.metadata.js +0 -55
  340. package/src/common/metadata/tool.metadata.js.map +0 -1
  341. package/src/common/migrate/auth-transport.migrate.js +0 -140
  342. package/src/common/migrate/auth-transport.migrate.js.map +0 -1
  343. package/src/common/migrate/index.js +0 -6
  344. package/src/common/migrate/index.js.map +0 -1
  345. package/src/common/providers/base-config.provider.js +0 -128
  346. package/src/common/providers/base-config.provider.js.map +0 -1
  347. package/src/common/records/adapter.record.js +0 -11
  348. package/src/common/records/adapter.record.js.map +0 -1
  349. package/src/common/records/app.record.js +0 -9
  350. package/src/common/records/app.record.js.map +0 -1
  351. package/src/common/records/auth-provider.record.js +0 -12
  352. package/src/common/records/auth-provider.record.js.map +0 -1
  353. package/src/common/records/flow.record.js +0 -8
  354. package/src/common/records/flow.record.js.map +0 -1
  355. package/src/common/records/hook.record.js +0 -8
  356. package/src/common/records/hook.record.js.map +0 -1
  357. package/src/common/records/index.js +0 -16
  358. package/src/common/records/index.js.map +0 -1
  359. package/src/common/records/logger.record.js +0 -8
  360. package/src/common/records/logger.record.js.map +0 -1
  361. package/src/common/records/plugin.record.js +0 -11
  362. package/src/common/records/plugin.record.js.map +0 -1
  363. package/src/common/records/prompt.record.js +0 -9
  364. package/src/common/records/prompt.record.js.map +0 -1
  365. package/src/common/records/provider.record.js +0 -14
  366. package/src/common/records/provider.record.js.map +0 -1
  367. package/src/common/records/resource.record.js +0 -20
  368. package/src/common/records/resource.record.js.map +0 -1
  369. package/src/common/records/scope.record.js +0 -9
  370. package/src/common/records/scope.record.js.map +0 -1
  371. package/src/common/records/tool.record.js +0 -9
  372. package/src/common/records/tool.record.js.map +0 -1
  373. package/src/common/schemas/annotated-class.schema.js +0 -109
  374. package/src/common/schemas/annotated-class.schema.js.map +0 -1
  375. package/src/common/schemas/http-input.schema.js +0 -13
  376. package/src/common/schemas/http-input.schema.js.map +0 -1
  377. package/src/common/schemas/http-output.schema.js +0 -321
  378. package/src/common/schemas/http-output.schema.js.map +0 -1
  379. package/src/common/schemas/index.js +0 -8
  380. package/src/common/schemas/index.js.map +0 -1
  381. package/src/common/schemas/session-header.schema.js +0 -42
  382. package/src/common/schemas/session-header.schema.js.map +0 -1
  383. package/src/common/tokens/adapter.tokens.js +0 -11
  384. package/src/common/tokens/adapter.tokens.js.map +0 -1
  385. package/src/common/tokens/app.tokens.js +0 -30
  386. package/src/common/tokens/app.tokens.js.map +0 -1
  387. package/src/common/tokens/auth-provider.tokens.js +0 -12
  388. package/src/common/tokens/auth-provider.tokens.js.map +0 -1
  389. package/src/common/tokens/base.tokens.js +0 -9
  390. package/src/common/tokens/base.tokens.js.map +0 -1
  391. package/src/common/tokens/flow-hook.tokens.js +0 -9
  392. package/src/common/tokens/flow-hook.tokens.js.map +0 -1
  393. package/src/common/tokens/flow.tokens.js +0 -16
  394. package/src/common/tokens/flow.tokens.js.map +0 -1
  395. package/src/common/tokens/front-mcp.tokens.js +0 -25
  396. package/src/common/tokens/front-mcp.tokens.js.map +0 -1
  397. package/src/common/tokens/index.js +0 -17
  398. package/src/common/tokens/index.js.map +0 -1
  399. package/src/common/tokens/logger.tokens.js +0 -11
  400. package/src/common/tokens/logger.tokens.js.map +0 -1
  401. package/src/common/tokens/plugin.tokens.js +0 -18
  402. package/src/common/tokens/plugin.tokens.js.map +0 -1
  403. package/src/common/tokens/prompt.tokens.js +0 -14
  404. package/src/common/tokens/prompt.tokens.js.map +0 -1
  405. package/src/common/tokens/provider.tokens.js +0 -12
  406. package/src/common/tokens/provider.tokens.js.map +0 -1
  407. package/src/common/tokens/resource.tokens.js +0 -28
  408. package/src/common/tokens/resource.tokens.js.map +0 -1
  409. package/src/common/tokens/server.tokens.js +0 -11
  410. package/src/common/tokens/server.tokens.js.map +0 -1
  411. package/src/common/tokens/tool.tokens.js +0 -21
  412. package/src/common/tokens/tool.tokens.js.map +0 -1
  413. package/src/common/types/auth/index.js +0 -6
  414. package/src/common/types/auth/index.js.map +0 -1
  415. package/src/common/types/auth/jwt.types.js +0 -36
  416. package/src/common/types/auth/jwt.types.js.map +0 -1
  417. package/src/common/types/auth/session.types.js +0 -53
  418. package/src/common/types/auth/session.types.js.map +0 -1
  419. package/src/common/types/common.types.js +0 -3
  420. package/src/common/types/common.types.js.map +0 -1
  421. package/src/common/types/index.js +0 -7
  422. package/src/common/types/index.js.map +0 -1
  423. package/src/common/types/options/auth.options.d.ts +0 -1266
  424. package/src/common/types/options/auth.options.js +0 -560
  425. package/src/common/types/options/auth.options.js.map +0 -1
  426. package/src/common/types/options/http.options.js +0 -10
  427. package/src/common/types/options/http.options.js.map +0 -1
  428. package/src/common/types/options/index.js +0 -11
  429. package/src/common/types/options/index.js.map +0 -1
  430. package/src/common/types/options/logging.options.js +0 -33
  431. package/src/common/types/options/logging.options.js.map +0 -1
  432. package/src/common/types/options/redis.options.js +0 -191
  433. package/src/common/types/options/redis.options.js.map +0 -1
  434. package/src/common/types/options/server-info.options.js +0 -13
  435. package/src/common/types/options/server-info.options.js.map +0 -1
  436. package/src/common/types/options/session.options.js +0 -32
  437. package/src/common/types/options/session.options.js.map +0 -1
  438. package/src/common/types/options/transport.options.js +0 -121
  439. package/src/common/types/options/transport.options.js.map +0 -1
  440. package/src/common/utils/decide-request-intent.utils.js +0 -391
  441. package/src/common/utils/decide-request-intent.utils.js.map +0 -1
  442. package/src/common/utils/global-config.utils.js +0 -44
  443. package/src/common/utils/global-config.utils.js.map +0 -1
  444. package/src/common/utils/index.js +0 -7
  445. package/src/common/utils/index.js.map +0 -1
  446. package/src/common/utils/path.utils.js +0 -66
  447. package/src/common/utils/path.utils.js.map +0 -1
  448. package/src/completion/flows/complete.flow.js +0 -199
  449. package/src/completion/flows/complete.flow.js.map +0 -1
  450. package/src/context/frontmcp-context-storage.js +0 -183
  451. package/src/context/frontmcp-context-storage.js.map +0 -1
  452. package/src/context/frontmcp-context.js +0 -360
  453. package/src/context/frontmcp-context.js.map +0 -1
  454. package/src/context/frontmcp-context.provider.js +0 -61
  455. package/src/context/frontmcp-context.provider.js.map +0 -1
  456. package/src/context/index.js +0 -64
  457. package/src/context/index.js.map +0 -1
  458. package/src/context/request-context-storage.js +0 -183
  459. package/src/context/request-context-storage.js.map +0 -1
  460. package/src/context/request-context.js +0 -209
  461. package/src/context/request-context.js.map +0 -1
  462. package/src/context/request-context.provider.js +0 -51
  463. package/src/context/request-context.provider.js.map +0 -1
  464. package/src/context/session-key.provider.js +0 -65
  465. package/src/context/session-key.provider.js.map +0 -1
  466. package/src/context/trace-context.js +0 -142
  467. package/src/context/trace-context.js.map +0 -1
  468. package/src/errors/authorization-required.error.js +0 -274
  469. package/src/errors/authorization-required.error.js.map +0 -1
  470. package/src/errors/error-handler.js +0 -107
  471. package/src/errors/error-handler.js.map +0 -1
  472. package/src/errors/index.js +0 -45
  473. package/src/errors/index.js.map +0 -1
  474. package/src/errors/mcp.error.js +0 -416
  475. package/src/errors/mcp.error.js.map +0 -1
  476. package/src/exceptions/mcp-exceptions/session-missing.exception.js +0 -11
  477. package/src/exceptions/mcp-exceptions/session-missing.exception.js.map +0 -1
  478. package/src/exceptions/mcp-exceptions/unsupported-client-version.exception.js +0 -15
  479. package/src/exceptions/mcp-exceptions/unsupported-client-version.exception.js.map +0 -1
  480. package/src/flows/flow.instance.js +0 -420
  481. package/src/flows/flow.instance.js.map +0 -1
  482. package/src/flows/flow.registry.js +0 -121
  483. package/src/flows/flow.registry.js.map +0 -1
  484. package/src/flows/flow.stages.js +0 -113
  485. package/src/flows/flow.stages.js.map +0 -1
  486. package/src/flows/flow.utils.js +0 -36
  487. package/src/flows/flow.utils.js.map +0 -1
  488. package/src/front-mcp/front-mcp.js +0 -63
  489. package/src/front-mcp/front-mcp.js.map +0 -1
  490. package/src/front-mcp/front-mcp.providers.js +0 -29
  491. package/src/front-mcp/front-mcp.providers.js.map +0 -1
  492. package/src/front-mcp/front-mcp.tokens.js +0 -5
  493. package/src/front-mcp/front-mcp.tokens.js.map +0 -1
  494. package/src/front-mcp/index.js +0 -8
  495. package/src/front-mcp/index.js.map +0 -1
  496. package/src/front-mcp/serverless-handler.js +0 -61
  497. package/src/front-mcp/serverless-handler.js.map +0 -1
  498. package/src/hooks/hook.instance.js +0 -26
  499. package/src/hooks/hook.instance.js.map +0 -1
  500. package/src/hooks/hook.registry.js +0 -152
  501. package/src/hooks/hook.registry.js.map +0 -1
  502. package/src/hooks/hooks.utils.js +0 -34
  503. package/src/hooks/hooks.utils.js.map +0 -1
  504. package/src/index.js +0 -37
  505. package/src/index.js.map +0 -1
  506. package/src/logger/instances/instance.console-logger.js +0 -75
  507. package/src/logger/instances/instance.console-logger.js.map +0 -1
  508. package/src/logger/instances/instance.logger.js +0 -77
  509. package/src/logger/instances/instance.logger.js.map +0 -1
  510. package/src/logger/logger.registry.js +0 -96
  511. package/src/logger/logger.registry.js.map +0 -1
  512. package/src/logger/logger.tokens.js +0 -3
  513. package/src/logger/logger.tokens.js.map +0 -1
  514. package/src/logger/logger.types.js +0 -8
  515. package/src/logger/logger.types.js.map +0 -1
  516. package/src/logger/logger.utils.js +0 -42
  517. package/src/logger/logger.utils.js.map +0 -1
  518. package/src/logging/flows/set-level.flow.js +0 -108
  519. package/src/logging/flows/set-level.flow.js.map +0 -1
  520. package/src/mcp-apps/csp.js +0 -267
  521. package/src/mcp-apps/csp.js.map +0 -1
  522. package/src/mcp-apps/index.js +0 -91
  523. package/src/mcp-apps/index.js.map +0 -1
  524. package/src/mcp-apps/schemas.js +0 -345
  525. package/src/mcp-apps/schemas.js.map +0 -1
  526. package/src/mcp-apps/template.js +0 -419
  527. package/src/mcp-apps/template.js.map +0 -1
  528. package/src/mcp-apps/types.js +0 -59
  529. package/src/mcp-apps/types.js.map +0 -1
  530. package/src/notification/index.js +0 -13
  531. package/src/notification/index.js.map +0 -1
  532. package/src/notification/notification.service.js +0 -731
  533. package/src/notification/notification.service.js.map +0 -1
  534. package/src/plugin/plugin.registry.js +0 -152
  535. package/src/plugin/plugin.registry.js.map +0 -1
  536. package/src/plugin/plugin.utils.js +0 -88
  537. package/src/plugin/plugin.utils.js.map +0 -1
  538. package/src/prompt/flows/get-prompt.flow.js +0 -214
  539. package/src/prompt/flows/get-prompt.flow.js.map +0 -1
  540. package/src/prompt/flows/prompts-list.flow.js +0 -176
  541. package/src/prompt/flows/prompts-list.flow.js.map +0 -1
  542. package/src/prompt/index.js +0 -17
  543. package/src/prompt/index.js.map +0 -1
  544. package/src/prompt/prompt.events.js +0 -25
  545. package/src/prompt/prompt.events.js.map +0 -1
  546. package/src/prompt/prompt.instance.js +0 -120
  547. package/src/prompt/prompt.instance.js.map +0 -1
  548. package/src/prompt/prompt.registry.js +0 -380
  549. package/src/prompt/prompt.registry.js.map +0 -1
  550. package/src/prompt/prompt.types.js +0 -11
  551. package/src/prompt/prompt.types.js.map +0 -1
  552. package/src/prompt/prompt.utils.js +0 -136
  553. package/src/prompt/prompt.utils.js.map +0 -1
  554. package/src/provider/provider.registry.js +0 -868
  555. package/src/provider/provider.registry.js.map +0 -1
  556. package/src/provider/provider.types.js +0 -3
  557. package/src/provider/provider.types.js.map +0 -1
  558. package/src/provider/provider.utils.js +0 -103
  559. package/src/provider/provider.utils.js.map +0 -1
  560. package/src/regsitry/index.js +0 -5
  561. package/src/regsitry/index.js.map +0 -1
  562. package/src/regsitry/registry.base.js +0 -32
  563. package/src/regsitry/registry.base.js.map +0 -1
  564. package/src/resource/flows/read-resource.flow.js +0 -270
  565. package/src/resource/flows/read-resource.flow.js.map +0 -1
  566. package/src/resource/flows/resource-templates-list.flow.js +0 -191
  567. package/src/resource/flows/resource-templates-list.flow.js.map +0 -1
  568. package/src/resource/flows/resources-list.flow.js +0 -196
  569. package/src/resource/flows/resources-list.flow.js.map +0 -1
  570. package/src/resource/flows/subscribe-resource.flow.js +0 -123
  571. package/src/resource/flows/subscribe-resource.flow.js.map +0 -1
  572. package/src/resource/flows/unsubscribe-resource.flow.js +0 -107
  573. package/src/resource/flows/unsubscribe-resource.flow.js.map +0 -1
  574. package/src/resource/index.js +0 -20
  575. package/src/resource/index.js.map +0 -1
  576. package/src/resource/resource.events.js +0 -17
  577. package/src/resource/resource.events.js.map +0 -1
  578. package/src/resource/resource.instance.js +0 -163
  579. package/src/resource/resource.instance.js.map +0 -1
  580. package/src/resource/resource.registry.js +0 -468
  581. package/src/resource/resource.registry.js.map +0 -1
  582. package/src/resource/resource.types.js +0 -11
  583. package/src/resource/resource.types.js.map +0 -1
  584. package/src/resource/resource.utils.js +0 -151
  585. package/src/resource/resource.utils.js.map +0 -1
  586. package/src/scope/flows/http.request.flow.js +0 -474
  587. package/src/scope/flows/http.request.flow.js.map +0 -1
  588. package/src/scope/index.js +0 -6
  589. package/src/scope/index.js.map +0 -1
  590. package/src/scope/scope.instance.js +0 -263
  591. package/src/scope/scope.instance.js.map +0 -1
  592. package/src/scope/scope.registry.js +0 -94
  593. package/src/scope/scope.registry.js.map +0 -1
  594. package/src/scope/scope.utils.js +0 -61
  595. package/src/scope/scope.utils.js.map +0 -1
  596. package/src/server/adapters/base.host.adapter.js +0 -8
  597. package/src/server/adapters/base.host.adapter.js.map +0 -1
  598. package/src/server/adapters/express.host.adapter.js +0 -70
  599. package/src/server/adapters/express.host.adapter.js.map +0 -1
  600. package/src/server/server.instance.js +0 -54
  601. package/src/server/server.instance.js.map +0 -1
  602. package/src/server/server.types.js +0 -3
  603. package/src/server/server.types.js.map +0 -1
  604. package/src/server/server.validation.js +0 -192
  605. package/src/server/server.validation.js.map +0 -1
  606. package/src/store/adapters/store.base.adapter.js +0 -16
  607. package/src/store/adapters/store.base.adapter.js.map +0 -1
  608. package/src/store/adapters/store.memory.adapter.js +0 -89
  609. package/src/store/adapters/store.memory.adapter.js.map +0 -1
  610. package/src/store/adapters/store.redis.adapter.js +0 -104
  611. package/src/store/adapters/store.redis.adapter.js.map +0 -1
  612. package/src/store/adapters/store.vercel-kv.adapter.js +0 -155
  613. package/src/store/adapters/store.vercel-kv.adapter.js.map +0 -1
  614. package/src/store/index.js +0 -14
  615. package/src/store/index.js.map +0 -1
  616. package/src/store/store.factory.js +0 -194
  617. package/src/store/store.factory.js.map +0 -1
  618. package/src/store/store.helpers.js +0 -67
  619. package/src/store/store.helpers.js.map +0 -1
  620. package/src/store/store.registry.js +0 -37
  621. package/src/store/store.registry.js.map +0 -1
  622. package/src/store/store.tokens.js +0 -7
  623. package/src/store/store.tokens.js.map +0 -1
  624. package/src/store/store.types.js +0 -11
  625. package/src/store/store.types.js.map +0 -1
  626. package/src/store/store.utils.js +0 -18
  627. package/src/store/store.utils.js.map +0 -1
  628. package/src/tool/flows/call-tool.flow.js +0 -616
  629. package/src/tool/flows/call-tool.flow.js.map +0 -1
  630. package/src/tool/flows/tools-list.flow.js +0 -328
  631. package/src/tool/flows/tools-list.flow.js.map +0 -1
  632. package/src/tool/tool.events.js +0 -16
  633. package/src/tool/tool.events.js.map +0 -1
  634. package/src/tool/tool.instance.js +0 -117
  635. package/src/tool/tool.instance.js.map +0 -1
  636. package/src/tool/tool.registry.js +0 -353
  637. package/src/tool/tool.registry.js.map +0 -1
  638. package/src/tool/tool.types.js +0 -10
  639. package/src/tool/tool.types.js.map +0 -1
  640. package/src/tool/tool.utils.js +0 -366
  641. package/src/tool/tool.utils.js.map +0 -1
  642. package/src/tool/ui/index.js +0 -63
  643. package/src/tool/ui/index.js.map +0 -1
  644. package/src/tool/ui/platform-adapters.js +0 -18
  645. package/src/tool/ui/platform-adapters.js.map +0 -1
  646. package/src/tool/ui/template-helpers.js +0 -95
  647. package/src/tool/ui/template-helpers.js.map +0 -1
  648. package/src/tool/ui/ui-resource-template.js +0 -64
  649. package/src/tool/ui/ui-resource-template.js.map +0 -1
  650. package/src/tool/ui/ui-resource.handler.js +0 -129
  651. package/src/tool/ui/ui-resource.handler.js.map +0 -1
  652. package/src/transport/adapters/transport.local.adapter.js +0 -148
  653. package/src/transport/adapters/transport.local.adapter.js.map +0 -1
  654. package/src/transport/adapters/transport.sse.adapter.d.ts +0 -14
  655. package/src/transport/adapters/transport.sse.adapter.js +0 -65
  656. package/src/transport/adapters/transport.sse.adapter.js.map +0 -1
  657. package/src/transport/adapters/transport.streamable-http.adapter.js +0 -112
  658. package/src/transport/adapters/transport.streamable-http.adapter.js.map +0 -1
  659. package/src/transport/flows/handle.sse.flow.js +0 -197
  660. package/src/transport/flows/handle.sse.flow.js.map +0 -1
  661. package/src/transport/flows/handle.stateless-http.flow.js +0 -102
  662. package/src/transport/flows/handle.stateless-http.flow.js.map +0 -1
  663. package/src/transport/flows/handle.streamable-http.flow.js +0 -315
  664. package/src/transport/flows/handle.streamable-http.flow.js.map +0 -1
  665. package/src/transport/legacy/legacy.sse.tranporter.js +0 -185
  666. package/src/transport/legacy/legacy.sse.tranporter.js.map +0 -1
  667. package/src/transport/mcp-handlers/Initialized-notification.hanlder.js +0 -14
  668. package/src/transport/mcp-handlers/Initialized-notification.hanlder.js.map +0 -1
  669. package/src/transport/mcp-handlers/call-tool-request.handler.js +0 -46
  670. package/src/transport/mcp-handlers/call-tool-request.handler.js.map +0 -1
  671. package/src/transport/mcp-handlers/complete-request.handler.js +0 -11
  672. package/src/transport/mcp-handlers/complete-request.handler.js.map +0 -1
  673. package/src/transport/mcp-handlers/get-prompt-request.handler.js +0 -11
  674. package/src/transport/mcp-handlers/get-prompt-request.handler.js.map +0 -1
  675. package/src/transport/mcp-handlers/index.js +0 -57
  676. package/src/transport/mcp-handlers/index.js.map +0 -1
  677. package/src/transport/mcp-handlers/initialize-request.handler.js +0 -109
  678. package/src/transport/mcp-handlers/initialize-request.handler.js.map +0 -1
  679. package/src/transport/mcp-handlers/list-prompts-request.handler.js +0 -11
  680. package/src/transport/mcp-handlers/list-prompts-request.handler.js.map +0 -1
  681. package/src/transport/mcp-handlers/list-resource-templates-request.handler.js +0 -12
  682. package/src/transport/mcp-handlers/list-resource-templates-request.handler.js.map +0 -1
  683. package/src/transport/mcp-handlers/list-resources-request.handler.js +0 -12
  684. package/src/transport/mcp-handlers/list-resources-request.handler.js.map +0 -1
  685. package/src/transport/mcp-handlers/list-tools-request.handler.js +0 -11
  686. package/src/transport/mcp-handlers/list-tools-request.handler.js.map +0 -1
  687. package/src/transport/mcp-handlers/logging-set-level-request.handler.js +0 -34
  688. package/src/transport/mcp-handlers/logging-set-level-request.handler.js.map +0 -1
  689. package/src/transport/mcp-handlers/mcp-handlers.types.js +0 -3
  690. package/src/transport/mcp-handlers/mcp-handlers.types.js.map +0 -1
  691. package/src/transport/mcp-handlers/read-resource-request.handler.js +0 -12
  692. package/src/transport/mcp-handlers/read-resource-request.handler.js.map +0 -1
  693. package/src/transport/mcp-handlers/roots-list-changed-notification.handler.js +0 -26
  694. package/src/transport/mcp-handlers/roots-list-changed-notification.handler.js.map +0 -1
  695. package/src/transport/mcp-handlers/subscribe-request.handler.js +0 -34
  696. package/src/transport/mcp-handlers/subscribe-request.handler.js.map +0 -1
  697. package/src/transport/mcp-handlers/unsubscribe-request.handler.js +0 -34
  698. package/src/transport/mcp-handlers/unsubscribe-request.handler.js.map +0 -1
  699. package/src/transport/transport.error.js +0 -25
  700. package/src/transport/transport.error.js.map +0 -1
  701. package/src/transport/transport.event-store.js +0 -36
  702. package/src/transport/transport.event-store.js.map +0 -1
  703. package/src/transport/transport.local.js +0 -71
  704. package/src/transport/transport.local.js.map +0 -1
  705. package/src/transport/transport.registry.js +0 -552
  706. package/src/transport/transport.registry.js.map +0 -1
  707. package/src/transport/transport.remote.js +0 -31
  708. package/src/transport/transport.remote.js.map +0 -1
  709. package/src/transport/transport.types.js +0 -3
  710. package/src/transport/transport.types.js.map +0 -1
  711. package/src/types/drinen-hooks.types.js +0 -3
  712. package/src/types/drinen-hooks.types.js.map +0 -1
  713. package/src/types/invoke.type.js +0 -34
  714. package/src/types/invoke.type.js.map +0 -1
  715. package/src/types/token.types.js +0 -3
  716. package/src/types/token.types.js.map +0 -1
  717. package/src/utils/content.utils.js +0 -194
  718. package/src/utils/content.utils.js.map +0 -1
  719. package/src/utils/index.js +0 -55
  720. package/src/utils/index.js.map +0 -1
  721. package/src/utils/lineage.utils.js +0 -82
  722. package/src/utils/lineage.utils.js.map +0 -1
  723. package/src/utils/metadata.utils.js +0 -26
  724. package/src/utils/metadata.utils.js.map +0 -1
  725. package/src/utils/naming.utils.js +0 -136
  726. package/src/utils/naming.utils.js.map +0 -1
  727. package/src/utils/server.utils.js +0 -59
  728. package/src/utils/server.utils.js.map +0 -1
  729. package/src/utils/string.utils.js +0 -10
  730. package/src/utils/string.utils.js.map +0 -1
  731. package/src/utils/token.utils.js +0 -65
  732. package/src/utils/token.utils.js.map +0 -1
  733. package/src/utils/types.utils.js +0 -3
  734. package/src/utils/types.utils.js.map +0 -1
  735. package/src/utils/uri-template.utils.js +0 -113
  736. package/src/utils/uri-template.utils.js.map +0 -1
  737. package/src/utils/uri-validation.utils.js +0 -76
  738. package/src/utils/uri-validation.utils.js.map +0 -1
  739. package/{src/adapter → adapter}/adapter.instance.d.ts +0 -0
  740. package/{src/adapter → adapter}/adapter.regsitry.d.ts +0 -0
  741. package/{src/adapter → adapter}/adapter.utils.d.ts +0 -0
  742. package/{src/app → app}/app.registry.d.ts +0 -0
  743. package/{src/app → app}/app.utils.d.ts +0 -0
  744. package/{src/app → app}/instances/app.local.instance.d.ts +0 -0
  745. package/{src/app → app}/instances/app.remote.instance.d.ts +0 -0
  746. package/{src/app → app}/instances/index.d.ts +0 -0
  747. package/{src/auth → auth}/auth.registry.d.ts +0 -0
  748. package/{src/auth → auth}/auth.utils.d.ts +0 -0
  749. package/{src/auth → auth}/authorization/authorization.class.d.ts +0 -0
  750. package/{src/auth → auth}/authorization/authorization.types.d.ts +0 -0
  751. package/{src/auth → auth}/authorization/index.d.ts +0 -0
  752. package/{src/auth → auth}/authorization/orchestrated.authorization.d.ts +0 -0
  753. package/{src/auth → auth}/authorization/public.authorization.d.ts +0 -0
  754. package/{src/auth → auth}/authorization/transparent.authorization.d.ts +0 -0
  755. package/{src/auth → auth}/consent/consent.types.d.ts +0 -0
  756. package/{src/auth → auth}/consent/index.d.ts +0 -0
  757. package/{src/auth → auth}/detection/auth-provider-detection.d.ts +0 -0
  758. package/{src/auth → auth}/detection/index.d.ts +0 -0
  759. package/{src/auth → auth}/flows/auth.verify.flow.d.ts +0 -0
  760. package/{src/auth → auth}/flows/oauth.authorize.flow.d.ts +0 -0
  761. package/{src/auth → auth}/flows/oauth.callback.flow.d.ts +0 -0
  762. package/{src/auth → auth}/flows/oauth.register.flow.d.ts +0 -0
  763. package/{src/auth → auth}/flows/oauth.token.flow.d.ts +0 -0
  764. package/{src/auth → auth}/flows/session.verify.flow.d.ts +0 -0
  765. package/{src/auth → auth}/flows/well-known.jwks.flow.d.ts +0 -0
  766. package/{src/auth → auth}/flows/well-known.oauth-authorization-server.flow.d.ts +0 -0
  767. package/{src/auth → auth}/flows/well-known.prm.flow.d.ts +0 -0
  768. package/{src/auth → auth}/jwks/dev-key-persistence.d.ts +0 -0
  769. package/{src/auth → auth}/jwks/index.d.ts +0 -0
  770. package/{src/auth → auth}/jwks/jwks.service.d.ts +0 -0
  771. package/{src/auth → auth}/jwks/jwks.types.d.ts +0 -0
  772. package/{src/auth → auth}/jwks/jwks.utils.d.ts +0 -0
  773. package/{src/auth → auth}/machine-id.d.ts +0 -0
  774. package/{src/auth → auth}/oauth/flows/oauth.authorize.flow.d.ts +0 -0
  775. package/{src/auth → auth}/oauth/flows/oauth.device-authorization.flow.d.ts +0 -0
  776. package/{src/auth → auth}/oauth/flows/oauth.introspect.flow.d.ts +0 -0
  777. package/{src/auth → auth}/oauth/flows/oauth.par.flow.d.ts +0 -0
  778. package/{src/auth → auth}/oauth/flows/oauth.revoke.flow.d.ts +0 -0
  779. package/{src/auth → auth}/oauth/flows/oauth.token.flow.d.ts +0 -0
  780. package/{src/auth → auth}/oauth/flows/oauth.userinfo.flow.d.ts +0 -0
  781. package/{src/auth → auth}/oauth/flows/oidc.logout.flow.d.ts +0 -0
  782. package/{src/auth → auth}/session/authorization-vault.d.ts +0 -0
  783. package/{src/auth → auth}/session/authorization.store.d.ts +0 -0
  784. package/{src/auth → auth}/session/encrypted-authorization-vault.d.ts +0 -0
  785. package/{src/auth → auth}/session/record/session.base.d.ts +0 -0
  786. package/{src/auth → auth}/session/record/session.stateful.d.ts +0 -0
  787. package/{src/auth → auth}/session/record/session.stateless.d.ts +0 -0
  788. package/{src/auth → auth}/session/record/session.transparent.d.ts +0 -0
  789. package/{src/auth → auth}/session/session.crypto.d.ts +0 -0
  790. package/{src/auth → auth}/session/session.schema.d.ts +0 -0
  791. package/{src/auth → auth}/session/session.service.d.ts +0 -0
  792. package/{src/auth → auth}/session/session.transport.d.ts +0 -0
  793. package/{src/auth → auth}/session/session.types.d.ts +0 -0
  794. package/{src/auth → auth}/session/token.refresh.d.ts +0 -0
  795. package/{src/auth → auth}/session/token.store.d.ts +0 -0
  796. package/{src/auth → auth}/session/token.vault.d.ts +0 -0
  797. package/{src/auth → auth}/session/transport-session.manager.d.ts +0 -0
  798. package/{src/auth → auth}/session/utils/auth-token.utils.d.ts +0 -0
  799. package/{src/auth → auth}/session/utils/session-id.utils.d.ts +0 -0
  800. package/{src/auth → auth}/session/utils/tiny-ttl-cache.d.ts +0 -0
  801. package/{src/auth → auth}/session/vault-encryption.d.ts +0 -0
  802. package/{src/auth → auth}/ui/base-layout.d.ts +0 -0
  803. package/{src/auth → auth}/ui/index.d.ts +0 -0
  804. package/{src/auth → auth}/ui/templates.d.ts +0 -0
  805. package/{src/auth → auth}/utils/audience.validator.d.ts +0 -0
  806. package/{src/auth → auth}/utils/index.d.ts +0 -0
  807. package/{src/auth → auth}/utils/www-authenticate.utils.d.ts +0 -0
  808. package/{src/common → common}/common.schema.d.ts +0 -0
  809. package/{src/common → common}/constants.d.ts +0 -0
  810. package/{src/common → common}/decorators/adapter.decorator.d.ts +0 -0
  811. package/{src/common → common}/decorators/app.decorator.d.ts +0 -0
  812. package/{src/common → common}/decorators/auth-provider.decorator.d.ts +0 -0
  813. package/{src/common → common}/decorators/decorator-utils.d.ts +0 -0
  814. package/{src/common → common}/decorators/flow.decorator.d.ts +0 -0
  815. package/{src/common → common}/decorators/front-mcp.decorator.d.ts +0 -0
  816. package/{src/common → common}/decorators/hook.decorator.d.ts +0 -0
  817. package/{src/common → common}/decorators/index.d.ts +0 -0
  818. package/{src/common → common}/decorators/logger.decorator.d.ts +0 -0
  819. package/{src/common → common}/decorators/plugin.decorator.d.ts +0 -0
  820. package/{src/common → common}/decorators/prompt.decorator.d.ts +0 -0
  821. package/{src/common → common}/decorators/provider.decorator.d.ts +0 -0
  822. package/{src/common → common}/decorators/resource.decorator.d.ts +0 -0
  823. package/{src/common → common}/decorators/tool.decorator.d.ts +0 -0
  824. package/{src/common → common}/dynamic/dynamic.adapter.d.ts +0 -0
  825. package/{src/common → common}/dynamic/dynamic.plugin.d.ts +0 -0
  826. package/{src/common → common}/dynamic/dynamic.utils.d.ts +0 -0
  827. package/{src/common → common}/dynamic/index.d.ts +0 -0
  828. package/{src/common → common}/entries/adapter.entry.d.ts +0 -0
  829. package/{src/common → common}/entries/app.entry.d.ts +0 -0
  830. package/{src/common → common}/entries/auth-provider.entry.d.ts +0 -0
  831. package/{src/common → common}/entries/base.entry.d.ts +0 -0
  832. package/{src/common → common}/entries/flow.entry.d.ts +0 -0
  833. package/{src/common → common}/entries/hook.entry.d.ts +0 -0
  834. package/{src/common → common}/entries/index.d.ts +0 -0
  835. package/{src/common → common}/entries/logger.entry.d.ts +0 -0
  836. package/{src/common → common}/entries/plugin.entry.d.ts +0 -0
  837. package/{src/common → common}/entries/prompt.entry.d.ts +0 -0
  838. package/{src/common → common}/entries/provider.entry.d.ts +0 -0
  839. package/{src/common → common}/entries/resource.entry.d.ts +0 -0
  840. package/{src/common → common}/entries/scope.entry.d.ts +0 -0
  841. package/{src/common → common}/entries/tool.entry.d.ts +0 -0
  842. package/{src/common → common}/flow/flow.utils.d.ts +0 -0
  843. package/{src/common → common}/index.d.ts +0 -0
  844. package/{src/common → common}/interfaces/adapter.interface.d.ts +0 -0
  845. package/{src/common → common}/interfaces/app.interface.d.ts +0 -0
  846. package/{src/common → common}/interfaces/auth-hook.interface.d.ts +0 -0
  847. package/{src/common → common}/interfaces/auth-provider.interface.d.ts +0 -0
  848. package/{src/common → common}/interfaces/base.interface.d.ts +0 -0
  849. package/{src/common → common}/interfaces/execution-context.interface.d.ts +0 -0
  850. package/{src/common → common}/interfaces/flow.interface.d.ts +0 -0
  851. package/{src/common → common}/interfaces/front-mcp.interface.d.ts +0 -0
  852. package/{src/common → common}/interfaces/hook.interface.d.ts +0 -0
  853. package/{src/common → common}/interfaces/index.d.ts +0 -0
  854. package/{src/common → common}/interfaces/internal/flow.utils.d.ts +0 -0
  855. package/{src/common → common}/interfaces/internal/index.d.ts +0 -0
  856. package/{src/common → common}/interfaces/internal/registry.interface.d.ts +0 -0
  857. package/{src/common → common}/interfaces/logger.interface.d.ts +0 -0
  858. package/{src/common → common}/interfaces/plugin.interface.d.ts +0 -0
  859. package/{src/common → common}/interfaces/prompt.interface.d.ts +0 -0
  860. package/{src/common → common}/interfaces/provider.interface.d.ts +0 -0
  861. package/{src/common → common}/interfaces/resource.interface.d.ts +0 -0
  862. package/{src/common → common}/interfaces/scope.interface.d.ts +0 -0
  863. package/{src/common → common}/interfaces/server.interface.d.ts +0 -0
  864. package/{src/common → common}/interfaces/session-hook.interface.d.ts +0 -0
  865. package/{src/common → common}/interfaces/tool-hook.interface.d.ts +0 -0
  866. package/{src/common → common}/interfaces/tool.interface.d.ts +0 -0
  867. package/{src/common → common}/metadata/adapter.metadata.d.ts +0 -0
  868. package/{src/common → common}/metadata/app.metadata.d.ts +42 -42
  869. package/{src/common → common}/metadata/auth-provider.metadata.d.ts +0 -0
  870. package/{src/common → common}/metadata/flow.metadata.d.ts +0 -0
  871. package/{src/common → common}/metadata/hook.metadata.d.ts +0 -0
  872. package/{src/common → common}/metadata/index.d.ts +0 -0
  873. package/{src/common → common}/metadata/logger.metadata.d.ts +0 -0
  874. package/{src/common → common}/metadata/plugin.metadata.d.ts +0 -0
  875. package/{src/common → common}/metadata/prompt.metadata.d.ts +0 -0
  876. package/{src/common → common}/metadata/provider.metadata.d.ts +0 -0
  877. package/{src/common → common}/metadata/resource.metadata.d.ts +0 -0
  878. package/{src/common → common}/metadata/tool-ui.metadata.d.ts +0 -0
  879. package/{src/common → common}/metadata/tool.metadata.d.ts +0 -0
  880. package/{src/common → common}/migrate/auth-transport.migrate.d.ts +0 -0
  881. package/{src/common → common}/migrate/index.d.ts +0 -0
  882. package/{src/common → common}/providers/base-config.provider.d.ts +0 -0
  883. package/{src/common → common}/records/adapter.record.d.ts +0 -0
  884. package/{src/common → common}/records/app.record.d.ts +0 -0
  885. package/{src/common → common}/records/auth-provider.record.d.ts +0 -0
  886. package/{src/common → common}/records/flow.record.d.ts +0 -0
  887. package/{src/common → common}/records/hook.record.d.ts +0 -0
  888. package/{src/common → common}/records/index.d.ts +0 -0
  889. package/{src/common → common}/records/logger.record.d.ts +0 -0
  890. package/{src/common → common}/records/plugin.record.d.ts +0 -0
  891. package/{src/common → common}/records/prompt.record.d.ts +0 -0
  892. package/{src/common → common}/records/provider.record.d.ts +0 -0
  893. package/{src/common → common}/records/resource.record.d.ts +0 -0
  894. package/{src/common → common}/records/scope.record.d.ts +0 -0
  895. package/{src/common → common}/records/tool.record.d.ts +0 -0
  896. package/{src/common → common}/schemas/annotated-class.schema.d.ts +0 -0
  897. package/{src/common → common}/schemas/http-input.schema.d.ts +0 -0
  898. package/{src/common → common}/schemas/http-output.schema.d.ts +0 -0
  899. package/{src/common → common}/schemas/index.d.ts +0 -0
  900. package/{src/common → common}/schemas/session-header.schema.d.ts +0 -0
  901. package/{src/common → common}/tokens/adapter.tokens.d.ts +0 -0
  902. package/{src/common → common}/tokens/app.tokens.d.ts +0 -0
  903. package/{src/common → common}/tokens/auth-provider.tokens.d.ts +0 -0
  904. package/{src/common → common}/tokens/base.tokens.d.ts +0 -0
  905. package/{src/common → common}/tokens/flow-hook.tokens.d.ts +0 -0
  906. package/{src/common → common}/tokens/flow.tokens.d.ts +0 -0
  907. package/{src/common → common}/tokens/front-mcp.tokens.d.ts +0 -0
  908. package/{src/common → common}/tokens/index.d.ts +0 -0
  909. package/{src/common → common}/tokens/logger.tokens.d.ts +0 -0
  910. package/{src/common → common}/tokens/plugin.tokens.d.ts +0 -0
  911. package/{src/common → common}/tokens/prompt.tokens.d.ts +0 -0
  912. package/{src/common → common}/tokens/provider.tokens.d.ts +0 -0
  913. package/{src/common → common}/tokens/resource.tokens.d.ts +0 -0
  914. package/{src/common → common}/tokens/server.tokens.d.ts +0 -0
  915. package/{src/common → common}/tokens/tool.tokens.d.ts +0 -0
  916. package/{src/common → common}/types/auth/index.d.ts +0 -0
  917. package/{src/common → common}/types/auth/jwt.types.d.ts +0 -0
  918. package/{src/common → common}/types/auth/session.types.d.ts +0 -0
  919. package/{src/common → common}/types/common.types.d.ts +0 -0
  920. package/{src/common → common}/types/index.d.ts +0 -0
  921. package/{src/logger/logger.tokens.d.ts → common/types/options/auth/auth.typecheck.d.ts} +0 -0
  922. package/{src/common → common}/types/options/http.options.d.ts +0 -0
  923. package/{src/common → common}/types/options/logging.options.d.ts +0 -0
  924. package/{src/common → common}/types/options/redis.options.d.ts +0 -0
  925. package/{src/common → common}/types/options/server-info.options.d.ts +0 -0
  926. package/{src/common → common}/types/options/session.options.d.ts +0 -0
  927. package/{src/common → common}/utils/global-config.utils.d.ts +0 -0
  928. package/{src/common → common}/utils/index.d.ts +0 -0
  929. package/{src/common → common}/utils/path.utils.d.ts +0 -0
  930. package/{src/completion → completion}/flows/complete.flow.d.ts +0 -0
  931. package/{src/context → context}/frontmcp-context-storage.d.ts +0 -0
  932. package/{src/context → context}/frontmcp-context.d.ts +0 -0
  933. package/{src/context → context}/frontmcp-context.provider.d.ts +0 -0
  934. package/{src/context → context}/index.d.ts +0 -0
  935. package/{src/context → context}/request-context-storage.d.ts +0 -0
  936. package/{src/context → context}/request-context.d.ts +0 -0
  937. package/{src/context → context}/request-context.provider.d.ts +0 -0
  938. package/{src/context → context}/session-key.provider.d.ts +0 -0
  939. package/{src/context → context}/trace-context.d.ts +0 -0
  940. package/{src/errors → errors}/authorization-required.error.d.ts +0 -0
  941. package/{src/errors → errors}/error-handler.d.ts +0 -0
  942. package/{src/errors → errors}/index.d.ts +0 -0
  943. package/{src/errors → errors}/mcp.error.d.ts +0 -0
  944. package/{src/exceptions → exceptions}/mcp-exceptions/session-missing.exception.d.ts +0 -0
  945. package/{src/exceptions → exceptions}/mcp-exceptions/unsupported-client-version.exception.d.ts +0 -0
  946. package/{src/flows → flows}/flow.instance.d.ts +0 -0
  947. package/{src/flows → flows}/flow.registry.d.ts +0 -0
  948. package/{src/flows → flows}/flow.stages.d.ts +0 -0
  949. package/{src/flows → flows}/flow.utils.d.ts +0 -0
  950. package/{src/front-mcp → front-mcp}/front-mcp.d.ts +0 -0
  951. package/{src/front-mcp → front-mcp}/front-mcp.providers.d.ts +38 -38
  952. /package/{src/front-mcp → front-mcp}/front-mcp.tokens.d.ts +0 -0
  953. /package/{src/front-mcp → front-mcp}/index.d.ts +0 -0
  954. /package/{src/front-mcp → front-mcp}/serverless-handler.d.ts +0 -0
  955. /package/{src/hooks → hooks}/hook.instance.d.ts +0 -0
  956. /package/{src/hooks → hooks}/hook.registry.d.ts +0 -0
  957. /package/{src/hooks → hooks}/hooks.utils.d.ts +0 -0
  958. /package/{src/index.d.ts → index.d.ts} +0 -0
  959. /package/{src/logger → logger}/instances/instance.console-logger.d.ts +0 -0
  960. /package/{src/logger → logger}/instances/instance.logger.d.ts +0 -0
  961. /package/{src/logger → logger}/logger.registry.d.ts +0 -0
  962. /package/{src/logger → logger}/logger.types.d.ts +0 -0
  963. /package/{src/logger → logger}/logger.utils.d.ts +0 -0
  964. /package/{src/logging → logging}/flows/set-level.flow.d.ts +0 -0
  965. /package/{src/mcp-apps → mcp-apps}/csp.d.ts +0 -0
  966. /package/{src/mcp-apps → mcp-apps}/index.d.ts +0 -0
  967. /package/{src/mcp-apps → mcp-apps}/schemas.d.ts +0 -0
  968. /package/{src/mcp-apps → mcp-apps}/template.d.ts +0 -0
  969. /package/{src/mcp-apps → mcp-apps}/types.d.ts +0 -0
  970. /package/{src/notification → notification}/index.d.ts +0 -0
  971. /package/{src/notification → notification}/notification.service.d.ts +0 -0
  972. /package/{src/plugin → plugin}/plugin.registry.d.ts +0 -0
  973. /package/{src/plugin → plugin}/plugin.utils.d.ts +0 -0
  974. /package/{src/prompt → prompt}/flows/get-prompt.flow.d.ts +0 -0
  975. /package/{src/prompt → prompt}/flows/prompts-list.flow.d.ts +0 -0
  976. /package/{src/prompt → prompt}/index.d.ts +0 -0
  977. /package/{src/prompt → prompt}/prompt.events.d.ts +0 -0
  978. /package/{src/prompt → prompt}/prompt.instance.d.ts +0 -0
  979. /package/{src/prompt → prompt}/prompt.registry.d.ts +0 -0
  980. /package/{src/prompt → prompt}/prompt.types.d.ts +0 -0
  981. /package/{src/prompt → prompt}/prompt.utils.d.ts +0 -0
  982. /package/{src/provider → provider}/provider.registry.d.ts +0 -0
  983. /package/{src/provider → provider}/provider.types.d.ts +0 -0
  984. /package/{src/provider → provider}/provider.utils.d.ts +0 -0
  985. /package/{src/regsitry → regsitry}/index.d.ts +0 -0
  986. /package/{src/regsitry → regsitry}/registry.base.d.ts +0 -0
  987. /package/{src/resource → resource}/flows/read-resource.flow.d.ts +0 -0
  988. /package/{src/resource → resource}/flows/resource-templates-list.flow.d.ts +0 -0
  989. /package/{src/resource → resource}/flows/resources-list.flow.d.ts +0 -0
  990. /package/{src/resource → resource}/flows/subscribe-resource.flow.d.ts +0 -0
  991. /package/{src/resource → resource}/flows/unsubscribe-resource.flow.d.ts +0 -0
  992. /package/{src/resource → resource}/index.d.ts +0 -0
  993. /package/{src/resource → resource}/resource.events.d.ts +0 -0
  994. /package/{src/resource → resource}/resource.instance.d.ts +0 -0
  995. /package/{src/resource → resource}/resource.registry.d.ts +0 -0
  996. /package/{src/resource → resource}/resource.types.d.ts +0 -0
  997. /package/{src/resource → resource}/resource.utils.d.ts +0 -0
  998. /package/{src/scope → scope}/flows/http.request.flow.d.ts +0 -0
  999. /package/{src/scope → scope}/index.d.ts +0 -0
  1000. /package/{src/scope → scope}/scope.instance.d.ts +0 -0
  1001. /package/{src/scope → scope}/scope.registry.d.ts +0 -0
  1002. /package/{src/scope → scope}/scope.utils.d.ts +0 -0
  1003. /package/{src/server → server}/adapters/base.host.adapter.d.ts +0 -0
  1004. /package/{src/server → server}/adapters/express.host.adapter.d.ts +0 -0
  1005. /package/{src/server → server}/server.instance.d.ts +0 -0
  1006. /package/{src/server → server}/server.types.d.ts +0 -0
  1007. /package/{src/server → server}/server.validation.d.ts +0 -0
  1008. /package/{src/store → store}/adapters/store.base.adapter.d.ts +0 -0
  1009. /package/{src/store → store}/adapters/store.memory.adapter.d.ts +0 -0
  1010. /package/{src/store → store}/adapters/store.redis.adapter.d.ts +0 -0
  1011. /package/{src/store → store}/adapters/store.vercel-kv.adapter.d.ts +0 -0
  1012. /package/{src/store → store}/index.d.ts +0 -0
  1013. /package/{src/store → store}/store.factory.d.ts +0 -0
  1014. /package/{src/store → store}/store.helpers.d.ts +0 -0
  1015. /package/{src/store → store}/store.registry.d.ts +0 -0
  1016. /package/{src/store → store}/store.tokens.d.ts +0 -0
  1017. /package/{src/store → store}/store.types.d.ts +0 -0
  1018. /package/{src/store → store}/store.utils.d.ts +0 -0
  1019. /package/{src/tool → tool}/flows/call-tool.flow.d.ts +0 -0
  1020. /package/{src/tool → tool}/flows/tools-list.flow.d.ts +0 -0
  1021. /package/{src/tool → tool}/tool.events.d.ts +0 -0
  1022. /package/{src/tool → tool}/tool.instance.d.ts +0 -0
  1023. /package/{src/tool → tool}/tool.registry.d.ts +0 -0
  1024. /package/{src/tool → tool}/tool.types.d.ts +0 -0
  1025. /package/{src/tool → tool}/tool.utils.d.ts +0 -0
  1026. /package/{src/tool → tool}/ui/index.d.ts +0 -0
  1027. /package/{src/tool → tool}/ui/platform-adapters.d.ts +0 -0
  1028. /package/{src/tool → tool}/ui/template-helpers.d.ts +0 -0
  1029. /package/{src/tool → tool}/ui/ui-resource-template.d.ts +0 -0
  1030. /package/{src/tool → tool}/ui/ui-resource.handler.d.ts +0 -0
  1031. /package/{src/transport → transport}/flows/handle.sse.flow.d.ts +0 -0
  1032. /package/{src/transport → transport}/flows/handle.stateless-http.flow.d.ts +0 -0
  1033. /package/{src/transport → transport}/flows/handle.streamable-http.flow.d.ts +0 -0
  1034. /package/{src/transport → transport}/legacy/legacy.sse.tranporter.d.ts +0 -0
  1035. /package/{src/transport → transport}/mcp-handlers/Initialized-notification.hanlder.d.ts +0 -0
  1036. /package/{src/transport → transport}/mcp-handlers/call-tool-request.handler.d.ts +0 -0
  1037. /package/{src/transport → transport}/mcp-handlers/complete-request.handler.d.ts +0 -0
  1038. /package/{src/transport → transport}/mcp-handlers/get-prompt-request.handler.d.ts +0 -0
  1039. /package/{src/transport → transport}/mcp-handlers/index.d.ts +0 -0
  1040. /package/{src/transport → transport}/mcp-handlers/initialize-request.handler.d.ts +0 -0
  1041. /package/{src/transport → transport}/mcp-handlers/list-prompts-request.handler.d.ts +0 -0
  1042. /package/{src/transport → transport}/mcp-handlers/list-resource-templates-request.handler.d.ts +0 -0
  1043. /package/{src/transport → transport}/mcp-handlers/list-resources-request.handler.d.ts +0 -0
  1044. /package/{src/transport → transport}/mcp-handlers/list-tools-request.handler.d.ts +0 -0
  1045. /package/{src/transport → transport}/mcp-handlers/logging-set-level-request.handler.d.ts +0 -0
  1046. /package/{src/transport → transport}/mcp-handlers/mcp-handlers.types.d.ts +0 -0
  1047. /package/{src/transport → transport}/mcp-handlers/read-resource-request.handler.d.ts +0 -0
  1048. /package/{src/transport → transport}/mcp-handlers/roots-list-changed-notification.handler.d.ts +0 -0
  1049. /package/{src/transport → transport}/mcp-handlers/subscribe-request.handler.d.ts +0 -0
  1050. /package/{src/transport → transport}/mcp-handlers/unsubscribe-request.handler.d.ts +0 -0
  1051. /package/{src/transport → transport}/transport.error.d.ts +0 -0
  1052. /package/{src/transport → transport}/transport.event-store.d.ts +0 -0
  1053. /package/{src/types → types}/drinen-hooks.types.d.ts +0 -0
  1054. /package/{src/types → types}/invoke.type.d.ts +0 -0
  1055. /package/{src/types → types}/token.types.d.ts +0 -0
  1056. /package/{src/utils → utils}/content.utils.d.ts +0 -0
  1057. /package/{src/utils → utils}/index.d.ts +0 -0
  1058. /package/{src/utils → utils}/lineage.utils.d.ts +0 -0
  1059. /package/{src/utils → utils}/metadata.utils.d.ts +0 -0
  1060. /package/{src/utils → utils}/naming.utils.d.ts +0 -0
  1061. /package/{src/utils → utils}/server.utils.d.ts +0 -0
  1062. /package/{src/utils → utils}/string.utils.d.ts +0 -0
  1063. /package/{src/utils → utils}/token.utils.d.ts +0 -0
  1064. /package/{src/utils → utils}/types.utils.d.ts +0 -0
  1065. /package/{src/utils → utils}/uri-template.utils.d.ts +0 -0
  1066. /package/{src/utils → utils}/uri-validation.utils.d.ts +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"handle.streamable-http.flow.js","sourceRoot":"","sources":["../../../../src/transport/flows/handle.streamable-http.flow.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Flow,\n httpInputSchema,\n FlowRunOptions,\n httpOutputSchema,\n FlowPlan,\n FlowBase,\n FlowHooksOf,\n sessionIdSchema,\n httpRespond,\n ServerRequestTokens,\n Authorization,\n FlowControl,\n validateMcpSessionHeader,\n} from '../../common';\nimport { z } from 'zod';\nimport { ElicitResultSchema, RequestSchema } from '@modelcontextprotocol/sdk/types.js';\nimport { Scope } from '../../scope';\nimport { createSessionId } from '../../auth/session/utils/session-id.utils';\n\nexport const plan = {\n pre: ['parseInput', 'router'],\n execute: ['onInitialize', 'onMessage', 'onElicitResult', 'onSseListener'],\n post: [],\n finalize: ['cleanup'],\n} as const satisfies FlowPlan<string>;\n\n// Relaxed session schema for state - payload is optional when using mcp-session-id header directly\nconst stateSessionSchema = z.object({\n id: z.string(),\n payload: z\n .object({\n nodeId: z.string(),\n authSig: z.string(),\n uuid: z.string().uuid(),\n iat: z.number(),\n protocol: z.enum(['legacy-sse', 'sse', 'streamable-http', 'stateful-http', 'stateless-http']).optional(),\n isPublic: z.boolean().optional(),\n platformType: z\n .enum(['openai', 'claude', 'gemini', 'cursor', 'continue', 'cody', 'generic-mcp', 'ext-apps', 'unknown'])\n .optional(),\n })\n .optional(),\n});\n\nexport const stateSchema = z.object({\n token: z.string(),\n session: stateSessionSchema,\n requestType: z.enum(['initialize', 'message', 'elicitResult', 'sseListener']).optional(),\n});\n\nconst name = 'handle:streamable-http' as const;\nconst { Stage } = FlowHooksOf(name);\n\ndeclare global {\n interface ExtendFlows {\n 'handle:streamable-http': FlowRunOptions<\n HandleStreamableHttpFlow,\n typeof plan,\n typeof httpInputSchema,\n typeof httpOutputSchema,\n typeof stateSchema\n >;\n }\n}\n\n@Flow({\n name,\n plan,\n access: 'authorized',\n inputSchema: httpInputSchema,\n outputSchema: httpOutputSchema,\n})\nexport default class HandleStreamableHttpFlow extends FlowBase<typeof name> {\n name = name;\n\n @Stage('parseInput')\n async parseInput() {\n const { request } = this.rawInput;\n\n console.log('[DEBUG] parseInput: starting');\n const authorization = request[ServerRequestTokens.auth] as Authorization;\n console.log(\n '[DEBUG] parseInput: authorization =',\n authorization\n ? {\n hasToken: !!authorization.token,\n hasSession: !!authorization.session,\n sessionId: authorization.session?.id?.slice(0, 30),\n }\n : 'undefined',\n );\n const { token } = authorization;\n\n // CRITICAL: The mcp-session-id header is the client's reference to their session.\n // We MUST use this exact ID for transport registry lookup.\n //\n // Priority 1: Use mcp-session-id header if present (client's session ID for lookup)\n // This is the ID the client received from initialize and is referencing.\n // Priority 2: Use session from authorization if header matches or is absent\n // Priority 3: Create new session (first request - no header, no authorization.session)\n const raw = request.headers?.['mcp-session-id'];\n const rawMcpSessionHeader = typeof raw === 'string' ? raw : undefined;\n const mcpSessionHeader = validateMcpSessionHeader(rawMcpSessionHeader);\n\n // If client sent a header but validation failed, return 404\n if (raw !== undefined && !mcpSessionHeader) {\n this.respond(httpRespond.sessionNotFound('invalid session id'));\n return;\n }\n\n let session: { id: string; payload?: z.infer<typeof stateSchema>['session']['payload'] };\n\n if (mcpSessionHeader) {\n // Client sent session ID - ALWAYS use it for transport lookup\n // If authorization.session exists and matches, use its payload for protocol detection\n // If authorization.session differs or is missing, still use header ID (payload may be undefined)\n if (authorization.session?.id === mcpSessionHeader) {\n session = authorization.session;\n } else {\n session = { id: mcpSessionHeader };\n }\n } else if (authorization.session) {\n // No header but authorization has session - use it (shouldn't happen in normal flow)\n session = authorization.session;\n } else {\n // No session - create new one (initialize request)\n session = createSessionId('streamable-http', token, {\n userAgent: request.headers?.['user-agent'] as string | undefined,\n platformDetectionConfig: (this.scope as Scope).metadata.transport?.platformDetection,\n });\n }\n\n this.state.set(stateSchema.parse({ token, session }));\n }\n\n @Stage('router')\n async router() {\n const { request } = this.rawInput;\n\n // GET requests are SSE listener streams - no body expected\n // Per MCP spec, clients can open SSE stream with GET + Accept: text/event-stream\n if (request.method.toUpperCase() === 'GET') {\n this.state.set('requestType', 'sseListener');\n return;\n }\n\n // POST requests have MCP JSON-RPC body\n const body = request.body as { method?: string } | undefined;\n const method = body?.method;\n\n // Use method-based detection for routing (more permissive than strict schema)\n // The actual schema validation happens in the MCP SDK's transport layer\n if (method === 'initialize') {\n this.state.set('requestType', 'initialize');\n } else if (ElicitResultSchema.safeParse(request.body).success) {\n this.state.set('requestType', 'elicitResult');\n } else if (method && RequestSchema.safeParse(request.body).success) {\n this.state.set('requestType', 'message');\n } else {\n this.respond(httpRespond.rpcError('Invalid Request'));\n }\n }\n\n @Stage('onInitialize', {\n filter: ({ state: { requestType } }) => requestType === 'initialize',\n })\n async onInitialize() {\n const transportService = (this.scope as Scope).transportService;\n const logger = (this.scope as Scope).logger.child('handle:streamable-http:onInitialize');\n\n const { request, response } = this.rawInput;\n const { token, session } = this.state.required;\n\n logger.info('onInitialize: creating transport', {\n sessionId: session.id.slice(0, 30),\n hasToken: !!token,\n tokenPrefix: token?.slice(0, 10),\n });\n\n try {\n const transport = await transportService.createTransporter('streamable-http', token, session.id, response);\n logger.info('onInitialize: transport created, calling initialize');\n await transport.initialize(request, response);\n logger.info('onInitialize: completed successfully');\n this.handled();\n } catch (error) {\n // FlowControl is expected control flow (from this.handled()), not an error\n if (error instanceof FlowControl) {\n throw error;\n }\n logger.error('onInitialize: failed', {\n error: error instanceof Error ? error.message : String(error),\n stack: error instanceof Error ? error.stack : undefined,\n });\n throw error;\n }\n }\n\n @Stage('onElicitResult', {\n filter: ({ state: { requestType } }) => requestType === 'elicitResult',\n })\n async onElicitResult() {\n this.fail(new Error('Not implemented'));\n }\n\n @Stage('onMessage', {\n filter: ({ state: { requestType } }) => requestType === 'message',\n })\n async onMessage() {\n const transportService = (this.scope as Scope).transportService;\n const logger = this.scopeLogger.child('handle:streamable-http:onMessage');\n\n const { request, response } = this.rawInput;\n const { token, session } = this.state.required;\n\n // 1. Try to get existing transport from memory\n let transport = await transportService.getTransporter('streamable-http', token, session.id);\n\n // 2. If not in memory, check if session exists in Redis and recreate\n if (!transport) {\n try {\n const storedSession = await transportService.getStoredSession('streamable-http', token, session.id);\n if (storedSession) {\n logger.info('Recreating transport from Redis session', {\n sessionId: session.id?.slice(0, 20),\n createdAt: storedSession.createdAt,\n });\n transport = await transportService.recreateTransporter(\n 'streamable-http',\n token,\n session.id,\n storedSession,\n response,\n );\n }\n } catch (error) {\n // Log and fall through to 404 logic - transport remains undefined\n logger.warn('Failed to recreate transport from stored session', {\n sessionId: session.id?.slice(0, 20),\n error: error instanceof Error ? error.message : String(error),\n });\n }\n }\n\n if (!transport) {\n // Check if session was ever created to differentiate error types per MCP Spec 2025-11-25\n const wasCreated = await transportService.wasSessionCreatedAsync('streamable-http', token, session.id);\n const body = request.body as Record<string, unknown> | undefined;\n\n if (wasCreated) {\n // Session existed but was terminated/evicted → HTTP 404 (client should re-initialize)\n logger.info('Session expired - client should re-initialize', {\n sessionId: session.id?.slice(0, 20),\n tokenHash: token.slice(0, 8),\n method: body?.['method'],\n requestId: body?.['id'],\n mcpSessionId: request.headers?.['mcp-session-id'],\n });\n this.respond(httpRespond.sessionExpired('session expired'));\n } else {\n // Session was never created → HTTP 404 (per user requirement: invalid/missing session = 404)\n logger.warn('Session not initialized - client attempted request without initializing', {\n sessionId: session.id?.slice(0, 20),\n tokenHash: token.slice(0, 8),\n method: body?.['method'],\n requestId: body?.['id'],\n mcpSessionId: request.headers?.['mcp-session-id'],\n userAgent: (request.headers?.['user-agent'] as string | undefined)?.slice(0, 50),\n });\n this.respond(httpRespond.sessionNotFound('session not initialized'));\n }\n return;\n }\n\n try {\n await transport.handleRequest(request, response);\n this.handled();\n } catch (error) {\n // FlowControl is expected control flow, not an error\n if (!(error instanceof FlowControl)) {\n const body = request.body as Record<string, unknown> | undefined;\n logger.error('handleRequest failed', {\n error: error instanceof Error ? { name: error.name, message: error.message, stack: error.stack } : error,\n method: body?.['method'],\n id: body?.['id'],\n sessionId: session.id?.slice(0, 20),\n });\n }\n throw error;\n }\n }\n\n @Stage('onSseListener', {\n filter: ({ state: { requestType } }) => requestType === 'sseListener',\n })\n async onSseListener() {\n const transportService = (this.scope as Scope).transportService;\n const logger = this.scopeLogger.child('handle:streamable-http:onSseListener');\n\n const { request, response } = this.rawInput;\n const { token, session } = this.state.required;\n\n // 1. Try to get existing transport from memory\n let transport = await transportService.getTransporter('streamable-http', token, session.id);\n\n // 2. If not in memory, check if session exists in Redis and recreate\n if (!transport) {\n try {\n const storedSession = await transportService.getStoredSession('streamable-http', token, session.id);\n if (storedSession) {\n logger.info('Recreating transport from Redis session for SSE listener', {\n sessionId: session.id?.slice(0, 20),\n createdAt: storedSession.createdAt,\n });\n transport = await transportService.recreateTransporter(\n 'streamable-http',\n token,\n session.id,\n storedSession,\n response,\n );\n }\n } catch (error) {\n // Log and fall through to 404 logic - transport remains undefined\n logger.warn('Failed to recreate transport from stored session for SSE listener', {\n sessionId: session.id?.slice(0, 20),\n error: error instanceof Error ? error.message : String(error),\n });\n }\n }\n\n if (!transport) {\n this.respond(httpRespond.notFound('Session not found'));\n return;\n }\n\n // Forward GET request to transport (opens SSE stream for server→client notifications)\n await transport.handleRequest(request, response);\n this.handled();\n }\n}\n"]}
@@ -1,185 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SSEServerTransport = void 0;
4
- const tslib_1 = require("tslib");
5
- const node_crypto_1 = require("node:crypto");
6
- const raw_body_1 = tslib_1.__importDefault(require("raw-body"));
7
- const content_type_1 = tslib_1.__importDefault(require("content-type"));
8
- const url_1 = require("url");
9
- const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
10
- const MAXIMUM_MESSAGE_SIZE = '4mb';
11
- /**
12
- * Server transport for SSE: this will send messages over an SSE connection and receive messages from HTTP POST requests.
13
- *
14
- * This transport is only available in Node.js environments.
15
- */
16
- class SSEServerTransport {
17
- _endpoint;
18
- res;
19
- _sseResponse;
20
- _sessionId;
21
- _options;
22
- /** Incrementing event ID counter for SSE events (MCP 2025-11-25 spec compliance) */
23
- _eventIdCounter = 0;
24
- onclose;
25
- onerror;
26
- onmessage;
27
- /**
28
- * Creates a new SSE server transport, which will direct the client to POST messages to the relative or absolute URL identified by `_endpoint`.
29
- */
30
- constructor(_endpoint, res, options) {
31
- this._endpoint = _endpoint;
32
- this.res = res;
33
- this._sessionId = options?.sessionId ?? (0, node_crypto_1.randomUUID)();
34
- this._options = options || { enableDnsRebindingProtection: false };
35
- }
36
- /**
37
- * Validates request headers for DNS rebinding protection.
38
- * @returns Error message if validation fails, undefined if validation passes.
39
- */
40
- validateRequestHeaders(req) {
41
- // Skip validation if protection is not enabled
42
- if (!this._options.enableDnsRebindingProtection) {
43
- return undefined;
44
- }
45
- // Validate Host header if allowedHosts is configured
46
- if (this._options.allowedHosts && this._options.allowedHosts.length > 0) {
47
- const hostHeader = req.headers.host;
48
- if (!hostHeader || !this._options.allowedHosts.includes(hostHeader)) {
49
- return `Invalid Host header: ${hostHeader}`;
50
- }
51
- }
52
- // Validate Origin header if allowedOrigins is configured
53
- if (this._options.allowedOrigins && this._options.allowedOrigins.length > 0) {
54
- const originHeader = req.headers.origin;
55
- if (!originHeader || !this._options.allowedOrigins.includes(originHeader)) {
56
- return `Invalid Origin header: ${originHeader}`;
57
- }
58
- }
59
- return undefined;
60
- }
61
- /**
62
- * Handles the initial SSE connection request.
63
- *
64
- * This should be called when a GET request is made to establish the SSE stream.
65
- */
66
- async start() {
67
- if (this._sseResponse) {
68
- throw new Error('SSEServerTransport already started! If using Server class, note that connect() calls start() automatically.');
69
- }
70
- this.res.writeHead(200, {
71
- 'Content-Type': 'text/event-stream',
72
- 'Cache-Control': 'no-cache, no-transform',
73
- Connection: 'keep-alive',
74
- });
75
- // Send the endpoint event
76
- // Use a dummy base URL because this._endpoint is relative.
77
- // This allows using URL/URLSearchParams for robust parameter handling.
78
- const dummyBase = 'http://localhost'; // Any valid base works
79
- const endpointUrl = new url_1.URL(this._endpoint, dummyBase);
80
- endpointUrl.searchParams.set('sessionId', this._sessionId);
81
- // Reconstruct the relative URL string (pathname + search + hash)
82
- const relativeUrlWithSession = endpointUrl.pathname + endpointUrl.search + endpointUrl.hash;
83
- // Include event ID per MCP 2025-11-25 spec for client reconnection support
84
- const eventId = ++this._eventIdCounter;
85
- this.res.write(`id: ${eventId}\nevent: endpoint\ndata: ${relativeUrlWithSession}\n\n`);
86
- this._sseResponse = this.res;
87
- this.res.on('close', () => {
88
- this._sseResponse = undefined;
89
- this.onclose?.();
90
- });
91
- }
92
- /**
93
- * Handles incoming POST messages.
94
- *
95
- * This should be called when a POST request is made to send a message to the server.
96
- */
97
- async handlePostMessage(req, res, parsedBody) {
98
- if (!this._sseResponse) {
99
- const message = 'SSE connection not established';
100
- res.writeHead(500).end(message);
101
- throw new Error(message);
102
- }
103
- // Validate request headers for DNS rebinding protection
104
- const validationError = this.validateRequestHeaders(req);
105
- if (validationError) {
106
- res.writeHead(403).end(validationError);
107
- this.onerror?.(new Error(validationError));
108
- return;
109
- }
110
- const authInfo = req.auth;
111
- const requestInfo = { headers: req.headers };
112
- let body;
113
- try {
114
- const ct = content_type_1.default.parse(req.headers['content-type'] ?? '');
115
- if (ct.type !== 'application/json') {
116
- throw new Error(`Unsupported content-type: ${ct.type}`);
117
- }
118
- body =
119
- parsedBody ??
120
- (await (0, raw_body_1.default)(req, {
121
- limit: MAXIMUM_MESSAGE_SIZE,
122
- encoding: ct.parameters.charset ?? 'utf-8',
123
- }));
124
- }
125
- catch (error) {
126
- res.writeHead(400).end(String(error));
127
- this.onerror?.(error);
128
- return;
129
- }
130
- try {
131
- await this.handleMessage(typeof body === 'string' ? JSON.parse(body) : body, { requestInfo, authInfo });
132
- }
133
- catch {
134
- res.writeHead(400).end(`Invalid message: ${body}`);
135
- return;
136
- }
137
- res.writeHead(202).end('Accepted');
138
- }
139
- /**
140
- * Handle a client message, regardless of how it arrived. This can be used to inform the server of messages that arrive via a means different than HTTP POST.
141
- */
142
- async handleMessage(message, extra) {
143
- let parsedMessage;
144
- try {
145
- parsedMessage = types_js_1.JSONRPCMessageSchema.parse(message);
146
- }
147
- catch (error) {
148
- this.onerror?.(error);
149
- throw error;
150
- }
151
- this.onmessage?.(parsedMessage, extra);
152
- }
153
- async close() {
154
- this._sseResponse?.end();
155
- this._sseResponse = undefined;
156
- this.onclose?.();
157
- }
158
- async send(message) {
159
- if (!this._sseResponse) {
160
- throw new Error('Not connected');
161
- }
162
- // Include event ID per MCP 2025-11-25 spec for client reconnection support
163
- const eventId = ++this._eventIdCounter;
164
- this._sseResponse.write(`id: ${eventId}\nevent: message\ndata: ${JSON.stringify(message)}\n\n`);
165
- }
166
- /**
167
- * Returns the session ID for this transport.
168
- *
169
- * This can be used to route incoming POST requests.
170
- */
171
- get sessionId() {
172
- return this._sessionId;
173
- }
174
- /**
175
- * Returns the current event ID counter value.
176
- *
177
- * This is the ID that was used for the last sent event.
178
- * Useful for testing and debugging reconnection scenarios.
179
- */
180
- get lastEventId() {
181
- return this._eventIdCounter;
182
- }
183
- }
184
- exports.SSEServerTransport = SSEServerTransport;
185
- //# sourceMappingURL=legacy.sse.tranporter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"legacy.sse.tranporter.js","sourceRoot":"","sources":["../../../../src/transport/legacy/legacy.sse.tranporter.ts"],"names":[],"mappings":"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","sourcesContent":["import { randomUUID } from 'node:crypto';\nimport { IncomingMessage, ServerResponse } from 'node:http';\nimport getRawBody from 'raw-body';\nimport contentType from 'content-type';\nimport { URL } from 'url';\nimport { Transport } from '@modelcontextprotocol/sdk/shared/transport.js';\nimport { JSONRPCMessage, JSONRPCMessageSchema, MessageExtraInfo } from '@modelcontextprotocol/sdk/types.js';\nimport { AuthInfo } from '@modelcontextprotocol/sdk/server/auth/types.js';\n\nconst MAXIMUM_MESSAGE_SIZE = '4mb';\n\n/**\n * Configuration options for SSEServerTransport.\n */\nexport interface SSEServerTransportOptions {\n /**\n * List of allowed host header values for DNS rebinding protection.\n * If not specified, host validation is disabled.\n */\n allowedHosts?: string[];\n\n /**\n * List of allowed origin header values for DNS rebinding protection.\n * If not specified, origin validation is disabled.\n */\n allowedOrigins?: string[];\n\n /**\n * Enable DNS rebinding protection (requires allowedHosts and/or allowedOrigins to be configured).\n * Default is false for backwards compatibility.\n */\n enableDnsRebindingProtection?: boolean;\n\n sessionId?: string;\n}\n\n/**\n * Server transport for SSE: this will send messages over an SSE connection and receive messages from HTTP POST requests.\n *\n * This transport is only available in Node.js environments.\n */\nexport class SSEServerTransport implements Transport {\n private _sseResponse?: ServerResponse;\n private _sessionId: string;\n private _options: SSEServerTransportOptions;\n /** Incrementing event ID counter for SSE events (MCP 2025-11-25 spec compliance) */\n private _eventIdCounter = 0;\n onclose?: () => void;\n onerror?: (error: Error) => void;\n onmessage?: (message: JSONRPCMessage, extra?: MessageExtraInfo) => void;\n\n /**\n * Creates a new SSE server transport, which will direct the client to POST messages to the relative or absolute URL identified by `_endpoint`.\n */\n constructor(private _endpoint: string, private res: ServerResponse, options?: SSEServerTransportOptions) {\n this._sessionId = options?.sessionId ?? randomUUID();\n this._options = options || { enableDnsRebindingProtection: false };\n }\n\n /**\n * Validates request headers for DNS rebinding protection.\n * @returns Error message if validation fails, undefined if validation passes.\n */\n private validateRequestHeaders(req: IncomingMessage): string | undefined {\n // Skip validation if protection is not enabled\n if (!this._options.enableDnsRebindingProtection) {\n return undefined;\n }\n\n // Validate Host header if allowedHosts is configured\n if (this._options.allowedHosts && this._options.allowedHosts.length > 0) {\n const hostHeader = req.headers.host;\n if (!hostHeader || !this._options.allowedHosts.includes(hostHeader)) {\n return `Invalid Host header: ${hostHeader}`;\n }\n }\n\n // Validate Origin header if allowedOrigins is configured\n if (this._options.allowedOrigins && this._options.allowedOrigins.length > 0) {\n const originHeader = req.headers.origin;\n if (!originHeader || !this._options.allowedOrigins.includes(originHeader)) {\n return `Invalid Origin header: ${originHeader}`;\n }\n }\n\n return undefined;\n }\n\n /**\n * Handles the initial SSE connection request.\n *\n * This should be called when a GET request is made to establish the SSE stream.\n */\n async start(): Promise<void> {\n if (this._sseResponse) {\n throw new Error(\n 'SSEServerTransport already started! If using Server class, note that connect() calls start() automatically.',\n );\n }\n\n this.res.writeHead(200, {\n 'Content-Type': 'text/event-stream',\n 'Cache-Control': 'no-cache, no-transform',\n Connection: 'keep-alive',\n });\n\n // Send the endpoint event\n // Use a dummy base URL because this._endpoint is relative.\n // This allows using URL/URLSearchParams for robust parameter handling.\n const dummyBase = 'http://localhost'; // Any valid base works\n const endpointUrl = new URL(this._endpoint, dummyBase);\n endpointUrl.searchParams.set('sessionId', this._sessionId);\n\n // Reconstruct the relative URL string (pathname + search + hash)\n const relativeUrlWithSession = endpointUrl.pathname + endpointUrl.search + endpointUrl.hash;\n\n // Include event ID per MCP 2025-11-25 spec for client reconnection support\n const eventId = ++this._eventIdCounter;\n this.res.write(`id: ${eventId}\\nevent: endpoint\\ndata: ${relativeUrlWithSession}\\n\\n`);\n\n this._sseResponse = this.res;\n this.res.on('close', () => {\n this._sseResponse = undefined;\n this.onclose?.();\n });\n }\n\n /**\n * Handles incoming POST messages.\n *\n * This should be called when a POST request is made to send a message to the server.\n */\n async handlePostMessage(\n req: IncomingMessage & { auth?: AuthInfo },\n res: ServerResponse,\n parsedBody?: unknown,\n ): Promise<void> {\n if (!this._sseResponse) {\n const message = 'SSE connection not established';\n res.writeHead(500).end(message);\n throw new Error(message);\n }\n\n // Validate request headers for DNS rebinding protection\n const validationError = this.validateRequestHeaders(req);\n if (validationError) {\n res.writeHead(403).end(validationError);\n this.onerror?.(new Error(validationError));\n return;\n }\n\n const authInfo: AuthInfo | undefined = req.auth;\n const requestInfo: RequestInfo = { headers: req.headers } as any;\n\n let body: string | unknown;\n try {\n const ct = contentType.parse(req.headers['content-type'] ?? '');\n if (ct.type !== 'application/json') {\n throw new Error(`Unsupported content-type: ${ct.type}`);\n }\n\n body =\n parsedBody ??\n (await getRawBody(req, {\n limit: MAXIMUM_MESSAGE_SIZE,\n encoding: ct.parameters.charset ?? 'utf-8',\n }));\n } catch (error) {\n res.writeHead(400).end(String(error));\n this.onerror?.(error as Error);\n return;\n }\n\n try {\n await this.handleMessage(typeof body === 'string' ? JSON.parse(body) : body, { requestInfo, authInfo } as any);\n } catch {\n res.writeHead(400).end(`Invalid message: ${body}`);\n return;\n }\n\n res.writeHead(202).end('Accepted');\n }\n\n /**\n * Handle a client message, regardless of how it arrived. This can be used to inform the server of messages that arrive via a means different than HTTP POST.\n */\n async handleMessage(message: unknown, extra?: MessageExtraInfo): Promise<void> {\n let parsedMessage: JSONRPCMessage;\n try {\n parsedMessage = JSONRPCMessageSchema.parse(message);\n } catch (error) {\n this.onerror?.(error as Error);\n throw error;\n }\n\n this.onmessage?.(parsedMessage, extra);\n }\n\n async close(): Promise<void> {\n this._sseResponse?.end();\n this._sseResponse = undefined;\n this.onclose?.();\n }\n\n async send(message: JSONRPCMessage): Promise<void> {\n if (!this._sseResponse) {\n throw new Error('Not connected');\n }\n\n // Include event ID per MCP 2025-11-25 spec for client reconnection support\n const eventId = ++this._eventIdCounter;\n this._sseResponse.write(`id: ${eventId}\\nevent: message\\ndata: ${JSON.stringify(message)}\\n\\n`);\n }\n\n /**\n * Returns the session ID for this transport.\n *\n * This can be used to route incoming POST requests.\n */\n get sessionId(): string {\n return this._sessionId;\n }\n\n /**\n * Returns the current event ID counter value.\n *\n * This is the ID that was used for the last sent event.\n * Useful for testing and debugging reconnection scenarios.\n */\n get lastEventId(): number {\n return this._eventIdCounter;\n }\n}\n"]}
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = initializedNotificationHandler;
4
- const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
5
- function initializedNotificationHandler(options) {
6
- return {
7
- requestSchema: types_js_1.InitializedNotificationSchema,
8
- handler: async (request, ctx) => {
9
- // check session
10
- return {};
11
- },
12
- };
13
- }
14
- //# sourceMappingURL=Initialized-notification.hanlder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Initialized-notification.hanlder.js","sourceRoot":"","sources":["../../../../src/transport/mcp-handlers/Initialized-notification.hanlder.ts"],"names":[],"mappings":";;AASA,iDAUC;AAnBD,iEAM4C;AAG5C,SAAwB,8BAA8B,CACpD,OAA0B;IAE1B,OAAO;QACL,aAAa,EAAE,wCAA6B;QAC5C,OAAO,EAAE,KAAK,EAAE,OAAgC,EAAE,GAAG,EAAmB,EAAE;YACxE,gBAAgB;YAChB,OAAO,EAAE,CAAC;QACZ,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["import {\n isInitializedNotification,\n InitializedNotificationSchema,\n InitializeResultSchema,\n InitializedNotification,\n Result,\n} from '@modelcontextprotocol/sdk/types.js';\nimport { McpHandler, McpHandlerOptions } from './mcp-handlers.types';\n\nexport default function initializedNotificationHandler(\n options: McpHandlerOptions\n): McpHandler<InitializedNotification, Result> {\n return {\n requestSchema: InitializedNotificationSchema,\n handler: async (request: InitializedNotification, ctx): Promise<Result> => {\n // check session\n return {};\n },\n };\n}\n"]}
@@ -1,46 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = callToolRequestHandler;
4
- const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
5
- const errors_1 = require("../../errors");
6
- const common_1 = require("../../common");
7
- function callToolRequestHandler({ scope, }) {
8
- const logger = scope.logger.child('call-tool-request-handler');
9
- return {
10
- requestSchema: types_js_1.CallToolRequestSchema,
11
- handler: async (request, ctx) => {
12
- const toolName = request.params?.name || 'unknown';
13
- logger.verbose(`tools/call: ${toolName}`);
14
- try {
15
- return await scope.runFlowForOutput('tools:call-tool', { request, ctx });
16
- }
17
- catch (e) {
18
- // FlowControl is a control flow mechanism, not an error - handle silently
19
- if (e instanceof common_1.FlowControl) {
20
- if (e.type === 'respond') {
21
- // Validate output using MCP schema
22
- const parseResult = types_js_1.CallToolResultSchema.safeParse(e.output);
23
- if (parseResult.success) {
24
- return parseResult.data;
25
- }
26
- logger.error('FlowControl.respond has invalid output', {
27
- tool: toolName,
28
- validationErrors: parseResult.error.issues,
29
- });
30
- return (0, errors_1.formatMcpErrorResponse)(new errors_1.InternalMcpError('FlowControl output is not a valid CallToolResult'));
31
- }
32
- // For handled, next, abort, fail - return appropriate response
33
- logger.warn(`FlowControl ended with type: ${e.type}`, { tool: toolName, type: e.type, output: e.output });
34
- return (0, errors_1.formatMcpErrorResponse)(new errors_1.InternalMcpError(`Flow ended with: ${e.type}`));
35
- }
36
- // Log detailed error info
37
- logger.error('CallTool Failed', {
38
- tool: toolName,
39
- error: e instanceof Error ? { name: e.name, message: e.message, stack: e.stack } : e,
40
- });
41
- return (0, errors_1.formatMcpErrorResponse)(e);
42
- }
43
- },
44
- };
45
- }
46
- //# sourceMappingURL=call-tool-request.handler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"call-tool-request.handler.js","sourceRoot":"","sources":["../../../../src/transport/mcp-handlers/call-tool-request.handler.ts"],"names":[],"mappings":";;AAUA,yCA0CC;AApDD,iEAK4C;AAE5C,yCAAwE;AACxE,yCAA2C;AAE3C,SAAwB,sBAAsB,CAAC,EAC7C,KAAK,GACa;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAE/D,OAAO;QACL,aAAa,EAAE,gCAAqB;QACpC,OAAO,EAAE,KAAK,EAAE,OAAwB,EAAE,GAAG,EAAE,EAAE;YAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,IAAI,SAAS,CAAC;YACnD,MAAM,CAAC,OAAO,CAAC,eAAe,QAAQ,EAAE,CAAC,CAAC;YAE1C,IAAI,CAAC;gBACH,OAAO,MAAM,KAAK,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAC3E,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,0EAA0E;gBAC1E,IAAI,CAAC,YAAY,oBAAW,EAAE,CAAC;oBAC7B,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;wBACzB,mCAAmC;wBACnC,MAAM,WAAW,GAAG,+BAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;wBAC7D,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;4BACxB,OAAO,WAAW,CAAC,IAAI,CAAC;wBAC1B,CAAC;wBACD,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE;4BACrD,IAAI,EAAE,QAAQ;4BACd,gBAAgB,EAAE,WAAW,CAAC,KAAK,CAAC,MAAM;yBAC3C,CAAC,CAAC;wBACH,OAAO,IAAA,+BAAsB,EAAC,IAAI,yBAAgB,CAAC,kDAAkD,CAAC,CAAC,CAAC;oBAC1G,CAAC;oBACD,+DAA+D;oBAC/D,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC1G,OAAO,IAAA,+BAAsB,EAAC,IAAI,yBAAgB,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACpF,CAAC;gBAED,0BAA0B;gBAC1B,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE;oBAC9B,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;iBACrF,CAAC,CAAC;gBACH,OAAO,IAAA,+BAAsB,EAAC,CAAC,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;KACoD,CAAC;AAC1D,CAAC","sourcesContent":["import {\n CallToolRequest,\n CallToolRequestSchema,\n CallToolResult,\n CallToolResultSchema,\n} from '@modelcontextprotocol/sdk/types.js';\nimport { McpHandler, McpHandlerOptions } from './mcp-handlers.types';\nimport { formatMcpErrorResponse, InternalMcpError } from '../../errors';\nimport { FlowControl } from '../../common';\n\nexport default function callToolRequestHandler({\n scope,\n}: McpHandlerOptions): McpHandler<CallToolRequest, CallToolResult> {\n const logger = scope.logger.child('call-tool-request-handler');\n\n return {\n requestSchema: CallToolRequestSchema,\n handler: async (request: CallToolRequest, ctx) => {\n const toolName = request.params?.name || 'unknown';\n logger.verbose(`tools/call: ${toolName}`);\n\n try {\n return await scope.runFlowForOutput('tools:call-tool', { request, ctx });\n } catch (e) {\n // FlowControl is a control flow mechanism, not an error - handle silently\n if (e instanceof FlowControl) {\n if (e.type === 'respond') {\n // Validate output using MCP schema\n const parseResult = CallToolResultSchema.safeParse(e.output);\n if (parseResult.success) {\n return parseResult.data;\n }\n logger.error('FlowControl.respond has invalid output', {\n tool: toolName,\n validationErrors: parseResult.error.issues,\n });\n return formatMcpErrorResponse(new InternalMcpError('FlowControl output is not a valid CallToolResult'));\n }\n // For handled, next, abort, fail - return appropriate response\n logger.warn(`FlowControl ended with type: ${e.type}`, { tool: toolName, type: e.type, output: e.output });\n return formatMcpErrorResponse(new InternalMcpError(`Flow ended with: ${e.type}`));\n }\n\n // Log detailed error info\n logger.error('CallTool Failed', {\n tool: toolName,\n error: e instanceof Error ? { name: e.name, message: e.message, stack: e.stack } : e,\n });\n return formatMcpErrorResponse(e);\n }\n },\n } satisfies McpHandler<CallToolRequest, CallToolResult>;\n}\n"]}
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = CompleteRequestHandler;
4
- const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
5
- function CompleteRequestHandler({ scope }) {
6
- return {
7
- requestSchema: types_js_1.CompleteRequestSchema,
8
- handler: (request, ctx) => scope.runFlowForOutput('completion:complete', { request, ctx }),
9
- };
10
- }
11
- //# sourceMappingURL=complete-request.handler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"complete-request.handler.js","sourceRoot":"","sources":["../../../../src/transport/mcp-handlers/complete-request.handler.ts"],"names":[],"mappings":";;AAGA,yCAKC;AARD,iEAA4G;AAG5G,SAAwB,sBAAsB,CAAC,EAAE,KAAK,EAAqB;IACzE,OAAO;QACL,aAAa,EAAE,gCAAqB;QACpC,OAAO,EAAE,CAAC,OAAwB,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;KACtD,CAAC;AAC1D,CAAC","sourcesContent":["import { CompleteRequestSchema, CompleteRequest, CompleteResult } from '@modelcontextprotocol/sdk/types.js';\nimport { McpHandler, McpHandlerOptions } from './mcp-handlers.types';\n\nexport default function CompleteRequestHandler({ scope }: McpHandlerOptions) {\n return {\n requestSchema: CompleteRequestSchema,\n handler: (request: CompleteRequest, ctx) => scope.runFlowForOutput('completion:complete', { request, ctx }),\n } satisfies McpHandler<CompleteRequest, CompleteResult>;\n}\n"]}
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = GetPromptRequestHandler;
4
- const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
5
- function GetPromptRequestHandler({ scope }) {
6
- return {
7
- requestSchema: types_js_1.GetPromptRequestSchema,
8
- handler: (request, ctx) => scope.runFlowForOutput('prompts:get-prompt', { request, ctx }),
9
- };
10
- }
11
- //# sourceMappingURL=get-prompt-request.handler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-prompt-request.handler.js","sourceRoot":"","sources":["../../../../src/transport/mcp-handlers/get-prompt-request.handler.ts"],"names":[],"mappings":";;AAGA,0CAKC;AARD,iEAA+G;AAG/G,SAAwB,uBAAuB,CAAC,EAAE,KAAK,EAAqB;IAC1E,OAAO;QACL,aAAa,EAAE,iCAAsB;QACrC,OAAO,EAAE,CAAC,OAAyB,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;KACpD,CAAC;AAC5D,CAAC","sourcesContent":["import { GetPromptRequestSchema, GetPromptRequest, GetPromptResult } from '@modelcontextprotocol/sdk/types.js';\nimport { McpHandler, McpHandlerOptions } from './mcp-handlers.types';\n\nexport default function GetPromptRequestHandler({ scope }: McpHandlerOptions) {\n return {\n requestSchema: GetPromptRequestSchema,\n handler: (request: GetPromptRequest, ctx) => scope.runFlowForOutput('prompts:get-prompt', { request, ctx }),\n } satisfies McpHandler<GetPromptRequest, GetPromptResult>;\n}\n"]}
@@ -1,57 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createMcpHandlers = createMcpHandlers;
4
- const tslib_1 = require("tslib");
5
- const initialize_request_handler_1 = tslib_1.__importDefault(require("./initialize-request.handler"));
6
- const Initialized_notification_hanlder_1 = tslib_1.__importDefault(require("./Initialized-notification.hanlder"));
7
- const list_tools_request_handler_1 = tslib_1.__importDefault(require("./list-tools-request.handler"));
8
- const call_tool_request_handler_1 = tslib_1.__importDefault(require("./call-tool-request.handler"));
9
- const list_resources_request_handler_1 = tslib_1.__importDefault(require("./list-resources-request.handler"));
10
- const list_resource_templates_request_handler_1 = tslib_1.__importDefault(require("./list-resource-templates-request.handler"));
11
- const read_resource_request_handler_1 = tslib_1.__importDefault(require("./read-resource-request.handler"));
12
- const subscribe_request_handler_1 = tslib_1.__importDefault(require("./subscribe-request.handler"));
13
- const unsubscribe_request_handler_1 = tslib_1.__importDefault(require("./unsubscribe-request.handler"));
14
- const list_prompts_request_handler_1 = tslib_1.__importDefault(require("./list-prompts-request.handler"));
15
- const get_prompt_request_handler_1 = tslib_1.__importDefault(require("./get-prompt-request.handler"));
16
- const complete_request_handler_1 = tslib_1.__importDefault(require("./complete-request.handler"));
17
- const logging_set_level_request_handler_1 = tslib_1.__importDefault(require("./logging-set-level-request.handler"));
18
- const roots_list_changed_notification_handler_1 = tslib_1.__importDefault(require("./roots-list-changed-notification.handler"));
19
- function createMcpHandlers(options) {
20
- const toolsHandler = options.serverOptions?.capabilities?.tools
21
- ? [(0, list_tools_request_handler_1.default)(options), (0, call_tool_request_handler_1.default)(options)]
22
- : [];
23
- const resourcesHandler = options.serverOptions?.capabilities?.resources
24
- ? [
25
- (0, list_resources_request_handler_1.default)(options),
26
- (0, list_resource_templates_request_handler_1.default)(options),
27
- (0, read_resource_request_handler_1.default)(options),
28
- (0, subscribe_request_handler_1.default)(options),
29
- (0, unsubscribe_request_handler_1.default)(options),
30
- ]
31
- : [];
32
- const promptsHandler = options.serverOptions?.capabilities?.prompts
33
- ? [(0, list_prompts_request_handler_1.default)(options), (0, get_prompt_request_handler_1.default)(options)]
34
- : [];
35
- // Completion handler is available when prompts or resources are enabled
36
- // Per MCP spec, completion/complete supports both ref/prompt and ref/resource
37
- const completionHandler = options.serverOptions?.capabilities?.prompts || options.serverOptions?.capabilities?.resources
38
- ? [(0, complete_request_handler_1.default)(options)]
39
- : [];
40
- // Logging handler is available when logging capability is enabled
41
- // Per MCP 2025-11-25 spec, servers MAY provide logging capability
42
- const loggingHandler = options.serverOptions?.capabilities?.logging ? [(0, logging_set_level_request_handler_1.default)(options)] : [];
43
- return [
44
- (0, initialize_request_handler_1.default)(options),
45
- (0, Initialized_notification_hanlder_1.default)(options),
46
- (0, roots_list_changed_notification_handler_1.default)(options),
47
- ...toolsHandler,
48
- ...resourcesHandler,
49
- ...promptsHandler,
50
- ...completionHandler,
51
- ...loggingHandler,
52
- ];
53
- }
54
- // export function hookMcpHandlers(gateway: FrontMcpInterface, handlers: McpHandler[]): McpHandler[] {
55
- // return handlers;
56
- // }
57
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/transport/mcp-handlers/index.ts"],"names":[],"mappings":";;AAgBA,8CAuCC;;AAtDD,sGAAoE;AACpE,kHAAgF;AAChF,sGAAmE;AACnE,oGAAiE;AACjE,8GAA2E;AAC3E,gIAA4F;AAC5F,4GAAyE;AACzE,oGAAkE;AAClE,wGAAsE;AACtE,0GAAuE;AACvE,sGAAmE;AACnE,kGAAgE;AAChE,oHAAgF;AAChF,gIAA4F;AAE5F,SAAgB,iBAAiB,CAAC,OAA0B;IAC1D,MAAM,YAAY,GAAG,OAAO,CAAC,aAAa,EAAE,YAAY,EAAE,KAAK;QAC7D,CAAC,CAAC,CAAC,IAAA,oCAAuB,EAAC,OAAO,CAAC,EAAE,IAAA,mCAAsB,EAAC,OAAO,CAAC,CAAC;QACrE,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,gBAAgB,GAAG,OAAO,CAAC,aAAa,EAAE,YAAY,EAAE,SAAS;QACrE,CAAC,CAAC;YACE,IAAA,wCAA2B,EAAC,OAAO,CAAC;YACpC,IAAA,iDAAmC,EAAC,OAAO,CAAC;YAC5C,IAAA,uCAA0B,EAAC,OAAO,CAAC;YACnC,IAAA,mCAAuB,EAAC,OAAO,CAAC;YAChC,IAAA,qCAAyB,EAAC,OAAO,CAAC;SACnC;QACH,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,cAAc,GAAG,OAAO,CAAC,aAAa,EAAE,YAAY,EAAE,OAAO;QACjE,CAAC,CAAC,CAAC,IAAA,sCAAyB,EAAC,OAAO,CAAC,EAAE,IAAA,oCAAuB,EAAC,OAAO,CAAC,CAAC;QACxE,CAAC,CAAC,EAAE,CAAC;IAEP,wEAAwE;IACxE,8EAA8E;IAC9E,MAAM,iBAAiB,GACrB,OAAO,CAAC,aAAa,EAAE,YAAY,EAAE,OAAO,IAAI,OAAO,CAAC,aAAa,EAAE,YAAY,EAAE,SAAS;QAC5F,CAAC,CAAC,CAAC,IAAA,kCAAsB,EAAC,OAAO,CAAC,CAAC;QACnC,CAAC,CAAC,EAAE,CAAC;IAET,kEAAkE;IAClE,kEAAkE;IAClE,MAAM,cAAc,GAAG,OAAO,CAAC,aAAa,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAA,2CAA6B,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEpH,OAAO;QACL,IAAA,oCAAwB,EAAC,OAAO,CAAC;QACjC,IAAA,0CAA8B,EAAC,OAAO,CAAC;QACvC,IAAA,iDAAmC,EAAC,OAAO,CAAC;QAC5C,GAAG,YAAY;QACf,GAAG,gBAAgB;QACnB,GAAG,cAAc;QACjB,GAAG,iBAAiB;QACpB,GAAG,cAAc;KAClB,CAAC;AACJ,CAAC;AAED,sGAAsG;AACtG,qBAAqB;AACrB,IAAI","sourcesContent":["import { McpHandlerOptions } from './mcp-handlers.types';\nimport initializeRequestHandler from './initialize-request.handler';\nimport initializedNotificationHandler from './Initialized-notification.hanlder';\nimport listToolsRequestHandler from './list-tools-request.handler';\nimport callToolRequestHandler from './call-tool-request.handler';\nimport listResourcesRequestHandler from './list-resources-request.handler';\nimport listResourceTemplatesRequestHandler from './list-resource-templates-request.handler';\nimport readResourceRequestHandler from './read-resource-request.handler';\nimport subscribeRequestHandler from './subscribe-request.handler';\nimport unsubscribeRequestHandler from './unsubscribe-request.handler';\nimport listPromptsRequestHandler from './list-prompts-request.handler';\nimport getPromptRequestHandler from './get-prompt-request.handler';\nimport completeRequestHandler from './complete-request.handler';\nimport loggingSetLevelRequestHandler from './logging-set-level-request.handler';\nimport rootsListChangedNotificationHandler from './roots-list-changed-notification.handler';\n\nexport function createMcpHandlers(options: McpHandlerOptions) {\n const toolsHandler = options.serverOptions?.capabilities?.tools\n ? [listToolsRequestHandler(options), callToolRequestHandler(options)]\n : [];\n const resourcesHandler = options.serverOptions?.capabilities?.resources\n ? [\n listResourcesRequestHandler(options),\n listResourceTemplatesRequestHandler(options),\n readResourceRequestHandler(options),\n subscribeRequestHandler(options),\n unsubscribeRequestHandler(options),\n ]\n : [];\n\n const promptsHandler = options.serverOptions?.capabilities?.prompts\n ? [listPromptsRequestHandler(options), getPromptRequestHandler(options)]\n : [];\n\n // Completion handler is available when prompts or resources are enabled\n // Per MCP spec, completion/complete supports both ref/prompt and ref/resource\n const completionHandler =\n options.serverOptions?.capabilities?.prompts || options.serverOptions?.capabilities?.resources\n ? [completeRequestHandler(options)]\n : [];\n\n // Logging handler is available when logging capability is enabled\n // Per MCP 2025-11-25 spec, servers MAY provide logging capability\n const loggingHandler = options.serverOptions?.capabilities?.logging ? [loggingSetLevelRequestHandler(options)] : [];\n\n return [\n initializeRequestHandler(options),\n initializedNotificationHandler(options),\n rootsListChangedNotificationHandler(options),\n ...toolsHandler,\n ...resourcesHandler,\n ...promptsHandler,\n ...completionHandler,\n ...loggingHandler,\n ];\n}\n\n// export function hookMcpHandlers(gateway: FrontMcpInterface, handlers: McpHandler[]): McpHandler[] {\n// return handlers;\n// }\n"]}
@@ -1,109 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = initializeRequestHandler;
4
- const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
5
- const types_js_2 = require("@modelcontextprotocol/sdk/types.js");
6
- const unsupported_client_version_exception_1 = require("../../exceptions/mcp-exceptions/unsupported-client-version.exception");
7
- const notification_1 = require("../../notification");
8
- const session_id_utils_1 = require("../../auth/session/utils/session-id.utils");
9
- /**
10
- * Validates that the client's protocol version is a valid date string format.
11
- * Per MCP spec, older versions should be accepted if supported - version negotiation
12
- * determines which version to use, not this guard.
13
- */
14
- function guardClientVersion(clientVersion) {
15
- const parsed = new Date(clientVersion);
16
- if (isNaN(parsed.getTime())) {
17
- throw unsupported_client_version_exception_1.UnsupportedClientVersionException.fromVersion(clientVersion);
18
- }
19
- // Don't reject older versions - let version negotiation handle it
20
- }
21
- function initializeRequestHandler({ serverOptions, scope, }) {
22
- const logger = scope.logger.child('initialize-handler');
23
- return {
24
- requestSchema: types_js_1.InitializeRequestSchema,
25
- handler: async (request, ctx) => {
26
- logger.info('initialize: received request', {
27
- clientName: request.params.clientInfo?.name,
28
- clientVersion: request.params.clientInfo?.version,
29
- protocolVersion: request.params.protocolVersion,
30
- hasCapabilities: !!request.params.capabilities,
31
- sessionId: ctx.authInfo?.sessionId?.slice(0, 20),
32
- });
33
- guardClientVersion(request.params.protocolVersion);
34
- // Store client capabilities and client info from the initialize request
35
- // The session ID is available in the auth info from the transport
36
- const sessionId = ctx.authInfo?.sessionId;
37
- let detectedPlatform = undefined;
38
- if (sessionId) {
39
- // Store client capabilities if provided
40
- if (request.params.capabilities) {
41
- // Map MCP client capabilities to our ClientCapabilities interface
42
- const clientCapabilities = {
43
- roots: request.params.capabilities.roots,
44
- sampling: request.params.capabilities.sampling,
45
- // Include experimental capabilities for MCP Apps extension detection
46
- experimental: request.params.capabilities.experimental,
47
- };
48
- scope.notifications.setClientCapabilities(sessionId, clientCapabilities);
49
- // Try to detect platform from capabilities first (e.g., MCP Apps extension)
50
- detectedPlatform = (0, notification_1.detectPlatformFromCapabilities)(clientCapabilities);
51
- }
52
- // Store client info (name/version) for platform detection
53
- // and update the session payload with the detected platform type
54
- if (request.params.clientInfo) {
55
- // Try to store in notification service (may fail for HTTP transports without registered server)
56
- scope.notifications.setClientInfo(sessionId, {
57
- name: request.params.clientInfo.name,
58
- version: request.params.clientInfo.version,
59
- });
60
- // Detect platform directly from client info (don't rely on setClientInfo return)
61
- // Use platform detection config from scope if available
62
- const platformDetectionConfig = scope.metadata.transport?.platformDetection;
63
- const clientInfoPlatform = (0, notification_1.detectAIPlatform)(request.params.clientInfo, platformDetectionConfig);
64
- // Prefer capability-based detection (ext-apps) over client info detection
65
- const finalPlatform = detectedPlatform ?? clientInfoPlatform;
66
- // Update the session payload with the detected platform type
67
- // This makes platformType available via ctx.authInfo.sessionIdPayload.platformType
68
- if (finalPlatform && ctx.authInfo?.sessionIdPayload) {
69
- ctx.authInfo.sessionIdPayload.platformType = finalPlatform;
70
- // Persist the platformType to the session cache so subsequent requests can access it
71
- // This is critical for HTTP transports where sessions are parsed from encrypted headers
72
- (0, session_id_utils_1.updateSessionPayload)(sessionId, { platformType: finalPlatform });
73
- }
74
- }
75
- else if (detectedPlatform && ctx.authInfo?.sessionIdPayload) {
76
- // Update platform even without client info if detected from capabilities
77
- ctx.authInfo.sessionIdPayload.platformType = detectedPlatform;
78
- // Persist to session cache
79
- (0, session_id_utils_1.updateSessionPayload)(sessionId, { platformType: detectedPlatform });
80
- }
81
- }
82
- // MCP Protocol Version Negotiation (per spec):
83
- // "If the server supports the requested protocol version, it MUST respond with the same version.
84
- // Otherwise, the server MUST respond with another protocol version it supports."
85
- const requestedVersion = request.params.protocolVersion;
86
- const protocolVersion = types_js_2.SUPPORTED_PROTOCOL_VERSIONS.includes(requestedVersion)
87
- ? requestedVersion
88
- : types_js_2.LATEST_PROTOCOL_VERSION;
89
- const result = {
90
- capabilities: serverOptions.capabilities,
91
- instructions: serverOptions.instructions,
92
- serverInfo: {
93
- name: 'FrontMcpServer',
94
- version: '0.0.1',
95
- title: 'FrontMcpServer',
96
- },
97
- protocolVersion,
98
- };
99
- logger.info('initialize: sending response', {
100
- capabilities: JSON.stringify(result.capabilities),
101
- protocolVersion: result.protocolVersion,
102
- serverName: result.serverInfo.name,
103
- sessionId: ctx.authInfo?.sessionId?.slice(0, 20),
104
- });
105
- return result;
106
- },
107
- };
108
- }
109
- //# sourceMappingURL=initialize-request.handler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"initialize-request.handler.js","sourceRoot":"","sources":["../../../../src/transport/mcp-handlers/initialize-request.handler.ts"],"names":[],"mappings":";;AAoBA,2CAwGC;AA5HD,iEAAkH;AAClH,iEAA0G;AAE1G,+HAAyH;AAEzH,qDAAsF;AACtF,gFAAiF;AAEjF;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,aAAqB;IAC/C,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC;IACvC,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QAC5B,MAAM,wEAAiC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IACrE,CAAC;IACD,kEAAkE;AACpE,CAAC;AACD,SAAwB,wBAAwB,CAAC,EAC/C,aAAa,EACb,KAAK,GACa;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAExD,OAAO;QACL,aAAa,EAAE,kCAAuB;QACtC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAA6B,EAAE;YACzD,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE;gBAC1C,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI;gBAC3C,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO;gBACjD,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe;gBAC/C,eAAe,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY;gBAC9C,SAAS,EAAE,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;aACjD,CAAC,CAAC;YAEH,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAEnD,wEAAwE;YACxE,kEAAkE;YAClE,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC;YAC1C,IAAI,gBAAgB,GAAsD,SAAS,CAAC;YAEpF,IAAI,SAAS,EAAE,CAAC;gBACd,wCAAwC;gBACxC,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;oBAChC,kEAAkE;oBAClE,MAAM,kBAAkB,GAAuB;wBAC7C,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,KAAoC;wBACvE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,QAA0C;wBAChF,qEAAqE;wBACrE,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,YAAkD;qBAC7F,CAAC;oBACF,KAAK,CAAC,aAAa,CAAC,qBAAqB,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;oBAEzE,4EAA4E;oBAC5E,gBAAgB,GAAG,IAAA,6CAA8B,EAAC,kBAAkB,CAAC,CAAC;gBACxE,CAAC;gBAED,0DAA0D;gBAC1D,iEAAiE;gBACjE,IAAI,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;oBAC9B,gGAAgG;oBAChG,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,EAAE;wBAC3C,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI;wBACpC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO;qBAC3C,CAAC,CAAC;oBAEH,iFAAiF;oBACjF,wDAAwD;oBACxD,MAAM,uBAAuB,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;oBAC5E,MAAM,kBAAkB,GAAG,IAAA,+BAAgB,EAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;oBAEhG,0EAA0E;oBAC1E,MAAM,aAAa,GAAG,gBAAgB,IAAI,kBAAkB,CAAC;oBAE7D,6DAA6D;oBAC7D,mFAAmF;oBACnF,IAAI,aAAa,IAAI,GAAG,CAAC,QAAQ,EAAE,gBAAgB,EAAE,CAAC;wBACpD,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,YAAY,GAAG,aAAa,CAAC;wBAE3D,qFAAqF;wBACrF,wFAAwF;wBACxF,IAAA,uCAAoB,EAAC,SAAS,EAAE,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,CAAC;oBACnE,CAAC;gBACH,CAAC;qBAAM,IAAI,gBAAgB,IAAI,GAAG,CAAC,QAAQ,EAAE,gBAAgB,EAAE,CAAC;oBAC9D,yEAAyE;oBACzE,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,YAAY,GAAG,gBAAgB,CAAC;oBAE9D,2BAA2B;oBAC3B,IAAA,uCAAoB,EAAC,SAAS,EAAE,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC,CAAC;gBACtE,CAAC;YACH,CAAC;YAED,+CAA+C;YAC/C,iGAAiG;YACjG,kFAAkF;YAClF,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC;YACxD,MAAM,eAAe,GAAG,sCAA2B,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBAC5E,CAAC,CAAC,gBAAgB;gBAClB,CAAC,CAAC,kCAAuB,CAAC;YAE5B,MAAM,MAAM,GAAqB;gBAC/B,YAAY,EAAE,aAAa,CAAC,YAAa;gBACzC,YAAY,EAAE,aAAa,CAAC,YAAY;gBACxC,UAAU,EAAE;oBACV,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE,OAAO;oBAChB,KAAK,EAAE,gBAAgB;iBACxB;gBACD,eAAe;aAChB,CAAC;YAEF,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE;gBAC1C,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC;gBACjD,eAAe,EAAE,MAAM,CAAC,eAAe;gBACvC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI;gBAClC,SAAS,EAAE,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;aACjD,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["import { InitializeRequestSchema, InitializeRequest, InitializeResult } from '@modelcontextprotocol/sdk/types.js';\nimport { LATEST_PROTOCOL_VERSION, SUPPORTED_PROTOCOL_VERSIONS } from '@modelcontextprotocol/sdk/types.js';\nimport { McpHandler, McpHandlerOptions } from './mcp-handlers.types';\nimport { UnsupportedClientVersionException } from '../../exceptions/mcp-exceptions/unsupported-client-version.exception';\nimport type { ClientCapabilities } from '../../notification';\nimport { detectPlatformFromCapabilities, detectAIPlatform } from '../../notification';\nimport { updateSessionPayload } from '../../auth/session/utils/session-id.utils';\n\n/**\n * Validates that the client's protocol version is a valid date string format.\n * Per MCP spec, older versions should be accepted if supported - version negotiation\n * determines which version to use, not this guard.\n */\nfunction guardClientVersion(clientVersion: string): void {\n const parsed = new Date(clientVersion);\n if (isNaN(parsed.getTime())) {\n throw UnsupportedClientVersionException.fromVersion(clientVersion);\n }\n // Don't reject older versions - let version negotiation handle it\n}\nexport default function initializeRequestHandler({\n serverOptions,\n scope,\n}: McpHandlerOptions): McpHandler<InitializeRequest, InitializeResult> {\n const logger = scope.logger.child('initialize-handler');\n\n return {\n requestSchema: InitializeRequestSchema,\n handler: async (request, ctx): Promise<InitializeResult> => {\n logger.info('initialize: received request', {\n clientName: request.params.clientInfo?.name,\n clientVersion: request.params.clientInfo?.version,\n protocolVersion: request.params.protocolVersion,\n hasCapabilities: !!request.params.capabilities,\n sessionId: ctx.authInfo?.sessionId?.slice(0, 20),\n });\n\n guardClientVersion(request.params.protocolVersion);\n\n // Store client capabilities and client info from the initialize request\n // The session ID is available in the auth info from the transport\n const sessionId = ctx.authInfo?.sessionId;\n let detectedPlatform: ReturnType<typeof detectPlatformFromCapabilities> = undefined;\n\n if (sessionId) {\n // Store client capabilities if provided\n if (request.params.capabilities) {\n // Map MCP client capabilities to our ClientCapabilities interface\n const clientCapabilities: ClientCapabilities = {\n roots: request.params.capabilities.roots as ClientCapabilities['roots'],\n sampling: request.params.capabilities.sampling as ClientCapabilities['sampling'],\n // Include experimental capabilities for MCP Apps extension detection\n experimental: request.params.capabilities.experimental as ClientCapabilities['experimental'],\n };\n scope.notifications.setClientCapabilities(sessionId, clientCapabilities);\n\n // Try to detect platform from capabilities first (e.g., MCP Apps extension)\n detectedPlatform = detectPlatformFromCapabilities(clientCapabilities);\n }\n\n // Store client info (name/version) for platform detection\n // and update the session payload with the detected platform type\n if (request.params.clientInfo) {\n // Try to store in notification service (may fail for HTTP transports without registered server)\n scope.notifications.setClientInfo(sessionId, {\n name: request.params.clientInfo.name,\n version: request.params.clientInfo.version,\n });\n\n // Detect platform directly from client info (don't rely on setClientInfo return)\n // Use platform detection config from scope if available\n const platformDetectionConfig = scope.metadata.transport?.platformDetection;\n const clientInfoPlatform = detectAIPlatform(request.params.clientInfo, platformDetectionConfig);\n\n // Prefer capability-based detection (ext-apps) over client info detection\n const finalPlatform = detectedPlatform ?? clientInfoPlatform;\n\n // Update the session payload with the detected platform type\n // This makes platformType available via ctx.authInfo.sessionIdPayload.platformType\n if (finalPlatform && ctx.authInfo?.sessionIdPayload) {\n ctx.authInfo.sessionIdPayload.platformType = finalPlatform;\n\n // Persist the platformType to the session cache so subsequent requests can access it\n // This is critical for HTTP transports where sessions are parsed from encrypted headers\n updateSessionPayload(sessionId, { platformType: finalPlatform });\n }\n } else if (detectedPlatform && ctx.authInfo?.sessionIdPayload) {\n // Update platform even without client info if detected from capabilities\n ctx.authInfo.sessionIdPayload.platformType = detectedPlatform;\n\n // Persist to session cache\n updateSessionPayload(sessionId, { platformType: detectedPlatform });\n }\n }\n\n // MCP Protocol Version Negotiation (per spec):\n // \"If the server supports the requested protocol version, it MUST respond with the same version.\n // Otherwise, the server MUST respond with another protocol version it supports.\"\n const requestedVersion = request.params.protocolVersion;\n const protocolVersion = SUPPORTED_PROTOCOL_VERSIONS.includes(requestedVersion)\n ? requestedVersion\n : LATEST_PROTOCOL_VERSION;\n\n const result: InitializeResult = {\n capabilities: serverOptions.capabilities!,\n instructions: serverOptions.instructions,\n serverInfo: {\n name: 'FrontMcpServer',\n version: '0.0.1',\n title: 'FrontMcpServer',\n },\n protocolVersion,\n };\n\n logger.info('initialize: sending response', {\n capabilities: JSON.stringify(result.capabilities),\n protocolVersion: result.protocolVersion,\n serverName: result.serverInfo.name,\n sessionId: ctx.authInfo?.sessionId?.slice(0, 20),\n });\n\n return result;\n },\n };\n}\n"]}
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = ListPromptsRequestHandler;
4
- const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
5
- function ListPromptsRequestHandler({ scope }) {
6
- return {
7
- requestSchema: types_js_1.ListPromptsRequestSchema,
8
- handler: (request, ctx) => scope.runFlowForOutput('prompts:list-prompts', { request, ctx }),
9
- };
10
- }
11
- //# sourceMappingURL=list-prompts-request.handler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-prompts-request.handler.js","sourceRoot":"","sources":["../../../../src/transport/mcp-handlers/list-prompts-request.handler.ts"],"names":[],"mappings":";;AAGA,4CAKC;AARD,iEAAqH;AAGrH,SAAwB,yBAAyB,CAAC,EAAE,KAAK,EAAqB;IAC5E,OAAO;QACL,aAAa,EAAE,mCAAwB;QACvC,OAAO,EAAE,CAAC,OAA2B,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,sBAAsB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;KACpD,CAAC;AAChE,CAAC","sourcesContent":["import { ListPromptsRequestSchema, ListPromptsRequest, ListPromptsResult } from '@modelcontextprotocol/sdk/types.js';\nimport { McpHandler, McpHandlerOptions } from './mcp-handlers.types';\n\nexport default function ListPromptsRequestHandler({ scope }: McpHandlerOptions) {\n return {\n requestSchema: ListPromptsRequestSchema,\n handler: (request: ListPromptsRequest, ctx) => scope.runFlowForOutput('prompts:list-prompts', { request, ctx }),\n } satisfies McpHandler<ListPromptsRequest, ListPromptsResult>;\n}\n"]}
@@ -1,12 +0,0 @@
1
- "use strict";
2
- // file: libs/sdk/src/transport/mcp-handlers/list-resource-templates-request.handler.ts
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.default = listResourceTemplatesRequestHandler;
5
- const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
6
- function listResourceTemplatesRequestHandler({ scope }) {
7
- return {
8
- requestSchema: types_js_1.ListResourceTemplatesRequestSchema,
9
- handler: (request, ctx) => scope.runFlowForOutput('resources:list-resource-templates', { request, ctx }),
10
- };
11
- }
12
- //# sourceMappingURL=list-resource-templates-request.handler.js.map