@frontmcp/sdk 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (558) hide show
  1. package/README.md +30 -18
  2. package/package.json +20 -5
  3. package/src/app/app.registry.d.ts +3 -2
  4. package/src/app/app.registry.js +3 -1
  5. package/src/app/app.registry.js.map +1 -1
  6. package/src/app/instances/app.local.instance.js +2 -2
  7. package/src/app/instances/app.local.instance.js.map +1 -1
  8. package/src/auth/auth.registry.d.ts +34 -2
  9. package/src/auth/auth.registry.js +162 -24
  10. package/src/auth/auth.registry.js.map +1 -1
  11. package/src/auth/auth.utils.js +8 -9
  12. package/src/auth/auth.utils.js.map +1 -1
  13. package/src/auth/authorization/authorization.class.d.ts +125 -0
  14. package/src/auth/authorization/authorization.class.js +224 -0
  15. package/src/auth/authorization/authorization.class.js.map +1 -0
  16. package/src/auth/authorization/authorization.types.d.ts +300 -0
  17. package/src/auth/authorization/authorization.types.js +79 -0
  18. package/src/auth/authorization/authorization.types.js.map +1 -0
  19. package/src/auth/authorization/index.d.ts +5 -0
  20. package/src/auth/authorization/index.js +19 -0
  21. package/src/auth/authorization/index.js.map +1 -0
  22. package/src/auth/authorization/orchestrated.authorization.d.ts +242 -0
  23. package/src/auth/authorization/orchestrated.authorization.js +306 -0
  24. package/src/auth/authorization/orchestrated.authorization.js.map +1 -0
  25. package/src/auth/authorization/public.authorization.d.ts +91 -0
  26. package/src/auth/authorization/public.authorization.js +132 -0
  27. package/src/auth/authorization/public.authorization.js.map +1 -0
  28. package/src/auth/authorization/transparent.authorization.d.ts +130 -0
  29. package/src/auth/authorization/transparent.authorization.js +147 -0
  30. package/src/auth/authorization/transparent.authorization.js.map +1 -0
  31. package/src/auth/consent/consent.types.d.ts +111 -0
  32. package/src/auth/consent/consent.types.js +119 -0
  33. package/src/auth/consent/consent.types.js.map +1 -0
  34. package/src/auth/consent/index.d.ts +1 -0
  35. package/src/auth/consent/index.js +13 -0
  36. package/src/auth/consent/index.js.map +1 -0
  37. package/src/auth/detection/auth-provider-detection.d.ts +84 -0
  38. package/src/auth/detection/auth-provider-detection.js +230 -0
  39. package/src/auth/detection/auth-provider-detection.js.map +1 -0
  40. package/src/auth/detection/index.d.ts +1 -0
  41. package/src/auth/detection/index.js +15 -0
  42. package/src/auth/detection/index.js.map +1 -0
  43. package/src/auth/flows/auth.verify.flow.d.ts +110 -0
  44. package/src/auth/flows/auth.verify.flow.js +379 -0
  45. package/src/auth/flows/auth.verify.flow.js.map +1 -0
  46. package/src/auth/flows/oauth.authorize.flow.d.ts +118 -164
  47. package/src/auth/flows/oauth.authorize.flow.js +701 -33
  48. package/src/auth/flows/oauth.authorize.flow.js.map +1 -1
  49. package/src/auth/flows/oauth.callback.flow.d.ts +117 -0
  50. package/src/auth/flows/oauth.callback.flow.js +357 -0
  51. package/src/auth/flows/oauth.callback.flow.js.map +1 -0
  52. package/src/auth/flows/oauth.register.flow.d.ts +32 -125
  53. package/src/auth/flows/oauth.token.flow.d.ts +52 -154
  54. package/src/auth/flows/oauth.token.flow.js +193 -55
  55. package/src/auth/flows/oauth.token.flow.js.map +1 -1
  56. package/src/auth/flows/session.verify.flow.d.ts +66 -321
  57. package/src/auth/flows/session.verify.flow.js +107 -18
  58. package/src/auth/flows/session.verify.flow.js.map +1 -1
  59. package/src/auth/flows/well-known.jwks.flow.d.ts +34 -205
  60. package/src/auth/flows/well-known.jwks.flow.js +15 -8
  61. package/src/auth/flows/well-known.jwks.flow.js.map +1 -1
  62. package/src/auth/flows/well-known.oauth-authorization-server.flow.d.ts +48 -223
  63. package/src/auth/flows/well-known.oauth-authorization-server.flow.js +2 -3
  64. package/src/auth/flows/well-known.oauth-authorization-server.flow.js.map +1 -1
  65. package/src/auth/flows/well-known.prm.flow.d.ts +19 -120
  66. package/src/auth/flows/well-known.prm.flow.js +3 -4
  67. package/src/auth/flows/well-known.prm.flow.js.map +1 -1
  68. package/src/auth/instances/instance.local-primary-auth.d.ts +91 -4
  69. package/src/auth/instances/instance.local-primary-auth.js +236 -6
  70. package/src/auth/instances/instance.local-primary-auth.js.map +1 -1
  71. package/src/auth/instances/instance.remote-primary-auth.d.ts +4 -3
  72. package/src/auth/instances/instance.remote-primary-auth.js +2 -2
  73. package/src/auth/instances/instance.remote-primary-auth.js.map +1 -1
  74. package/src/auth/session/authorization-vault.d.ts +611 -0
  75. package/src/auth/session/authorization-vault.js +817 -0
  76. package/src/auth/session/authorization-vault.js.map +1 -0
  77. package/src/auth/session/authorization.store.d.ts +301 -0
  78. package/src/auth/session/authorization.store.js +323 -0
  79. package/src/auth/session/authorization.store.js.map +1 -0
  80. package/src/auth/session/encrypted-authorization-vault.d.ts +181 -0
  81. package/src/auth/session/encrypted-authorization-vault.js +493 -0
  82. package/src/auth/session/encrypted-authorization-vault.js.map +1 -0
  83. package/src/auth/session/index.d.ts +4 -4
  84. package/src/auth/session/index.js +11 -7
  85. package/src/auth/session/index.js.map +1 -1
  86. package/src/auth/session/session.schema.d.ts +1 -1
  87. package/src/auth/session/session.service.d.ts +1 -1
  88. package/src/auth/session/transport-session.manager.d.ts +101 -0
  89. package/src/auth/session/transport-session.manager.js +300 -0
  90. package/src/auth/session/transport-session.manager.js.map +1 -0
  91. package/src/auth/session/transport-session.types.d.ts +457 -0
  92. package/src/auth/session/transport-session.types.js +110 -0
  93. package/src/auth/session/transport-session.types.js.map +1 -0
  94. package/src/auth/session/utils/session-id.utils.d.ts +14 -2
  95. package/src/auth/session/utils/session-id.utils.js +68 -19
  96. package/src/auth/session/utils/session-id.utils.js.map +1 -1
  97. package/src/auth/session/vault-encryption.d.ts +189 -0
  98. package/src/auth/session/vault-encryption.js +263 -0
  99. package/src/auth/session/vault-encryption.js.map +1 -0
  100. package/src/auth/ui/base-layout.d.ts +188 -0
  101. package/src/auth/ui/base-layout.js +292 -0
  102. package/src/auth/ui/base-layout.js.map +1 -0
  103. package/src/auth/ui/htmx-templates.d.ts +135 -0
  104. package/src/auth/ui/htmx-templates.js +433 -0
  105. package/src/auth/ui/htmx-templates.js.map +1 -0
  106. package/src/auth/ui/index.d.ts +11 -0
  107. package/src/auth/ui/index.js +35 -0
  108. package/src/auth/ui/index.js.map +1 -0
  109. package/src/auth/utils/audience.validator.d.ts +129 -0
  110. package/src/auth/utils/audience.validator.js +196 -0
  111. package/src/auth/utils/audience.validator.js.map +1 -0
  112. package/src/auth/utils/index.d.ts +2 -0
  113. package/src/auth/utils/index.js +7 -0
  114. package/src/auth/utils/index.js.map +1 -0
  115. package/src/auth/utils/www-authenticate.utils.d.ts +97 -0
  116. package/src/auth/utils/www-authenticate.utils.js +183 -0
  117. package/src/auth/utils/www-authenticate.utils.js.map +1 -0
  118. package/src/common/common.schema.d.ts +2 -16
  119. package/src/common/constants.d.ts +3 -0
  120. package/src/common/constants.js +6 -1
  121. package/src/common/constants.js.map +1 -1
  122. package/src/common/decorators/decorator-utils.d.ts +131 -0
  123. package/src/common/decorators/decorator-utils.js +195 -0
  124. package/src/common/decorators/decorator-utils.js.map +1 -0
  125. package/src/common/decorators/front-mcp.decorator.js +3 -2
  126. package/src/common/decorators/front-mcp.decorator.js.map +1 -1
  127. package/src/common/decorators/hook.decorator.d.ts +58 -2
  128. package/src/common/decorators/hook.decorator.js +127 -17
  129. package/src/common/decorators/hook.decorator.js.map +1 -1
  130. package/src/common/decorators/plugin.decorator.d.ts +1 -1
  131. package/src/common/decorators/plugin.decorator.js +11 -10
  132. package/src/common/decorators/plugin.decorator.js.map +1 -1
  133. package/src/common/decorators/resource.decorator.d.ts +32 -3
  134. package/src/common/decorators/resource.decorator.js +46 -4
  135. package/src/common/decorators/resource.decorator.js.map +1 -1
  136. package/src/common/decorators/tool.decorator.d.ts +54 -5
  137. package/src/common/decorators/tool.decorator.js.map +1 -1
  138. package/src/common/dynamic/dynamic.plugin.d.ts +22 -11
  139. package/src/common/dynamic/dynamic.plugin.js +7 -1
  140. package/src/common/dynamic/dynamic.plugin.js.map +1 -1
  141. package/src/common/entries/prompt.entry.d.ts +46 -2
  142. package/src/common/entries/prompt.entry.js +10 -0
  143. package/src/common/entries/prompt.entry.js.map +1 -1
  144. package/src/common/entries/resource.entry.d.ts +69 -6
  145. package/src/common/entries/resource.entry.js +27 -3
  146. package/src/common/entries/resource.entry.js.map +1 -1
  147. package/src/common/entries/scope.entry.d.ts +5 -1
  148. package/src/common/entries/scope.entry.js +3 -3
  149. package/src/common/entries/scope.entry.js.map +1 -1
  150. package/src/common/flow/flow.utils.d.ts +56 -0
  151. package/src/common/flow/flow.utils.js +96 -0
  152. package/src/common/flow/flow.utils.js.map +1 -0
  153. package/src/common/index.d.ts +2 -2
  154. package/src/common/index.js +2 -2
  155. package/src/common/index.js.map +1 -1
  156. package/src/common/interfaces/execution-context.interface.d.ts +59 -0
  157. package/src/common/interfaces/execution-context.interface.js +81 -0
  158. package/src/common/interfaces/execution-context.interface.js.map +1 -0
  159. package/src/common/interfaces/flow.interface.d.ts +1 -1
  160. package/src/common/interfaces/flow.interface.js.map +1 -1
  161. package/src/common/interfaces/index.d.ts +1 -0
  162. package/src/common/interfaces/index.js +1 -0
  163. package/src/common/interfaces/index.js.map +1 -1
  164. package/src/common/interfaces/internal/primary-auth-provider.interface.d.ts +17 -2
  165. package/src/common/interfaces/internal/primary-auth-provider.interface.js +52 -4
  166. package/src/common/interfaces/internal/primary-auth-provider.interface.js.map +1 -1
  167. package/src/common/interfaces/internal/registry.interface.d.ts +16 -2
  168. package/src/common/interfaces/internal/registry.interface.js.map +1 -1
  169. package/src/common/interfaces/plugin.interface.js.map +1 -1
  170. package/src/common/interfaces/prompt.interface.d.ts +53 -4
  171. package/src/common/interfaces/prompt.interface.js +78 -0
  172. package/src/common/interfaces/prompt.interface.js.map +1 -1
  173. package/src/common/interfaces/resource.interface.d.ts +47 -17
  174. package/src/common/interfaces/resource.interface.js +53 -0
  175. package/src/common/interfaces/resource.interface.js.map +1 -1
  176. package/src/common/interfaces/tool.interface.d.ts +39 -22
  177. package/src/common/interfaces/tool.interface.js +61 -34
  178. package/src/common/interfaces/tool.interface.js.map +1 -1
  179. package/src/common/metadata/adapter.metadata.d.ts +1 -9
  180. package/src/common/metadata/app.metadata.d.ts +425 -730
  181. package/src/common/metadata/auth-provider.metadata.d.ts +2 -12
  182. package/src/common/metadata/flow.metadata.d.ts +10 -25
  183. package/src/common/metadata/front-mcp.metadata.d.ts +602 -1023
  184. package/src/common/metadata/front-mcp.metadata.js +6 -4
  185. package/src/common/metadata/front-mcp.metadata.js.map +1 -1
  186. package/src/common/metadata/hook.metadata.d.ts +1 -1
  187. package/src/common/metadata/hook.metadata.js.map +1 -1
  188. package/src/common/metadata/index.d.ts +1 -0
  189. package/src/common/metadata/index.js +1 -0
  190. package/src/common/metadata/index.js.map +1 -1
  191. package/src/common/metadata/logger.metadata.d.ts +1 -9
  192. package/src/common/metadata/plugin.metadata.d.ts +8 -30
  193. package/src/common/metadata/prompt.metadata.d.ts +4 -161
  194. package/src/common/metadata/provider.metadata.d.ts +2 -12
  195. package/src/common/metadata/resource.metadata.d.ts +6 -98
  196. package/src/common/metadata/resource.metadata.js +15 -6
  197. package/src/common/metadata/resource.metadata.js.map +1 -1
  198. package/src/common/metadata/tool-ui.metadata.d.ts +10 -0
  199. package/src/common/metadata/tool-ui.metadata.js +12 -0
  200. package/src/common/metadata/tool-ui.metadata.js.map +1 -0
  201. package/src/common/metadata/tool.metadata.d.ts +78 -199
  202. package/src/common/metadata/tool.metadata.js +11 -14
  203. package/src/common/metadata/tool.metadata.js.map +1 -1
  204. package/src/common/providers/base-config.provider.d.ts +84 -0
  205. package/src/common/providers/base-config.provider.js +128 -0
  206. package/src/common/providers/base-config.provider.js.map +1 -0
  207. package/src/common/records/plugin.record.d.ts +5 -6
  208. package/src/common/records/plugin.record.js.map +1 -1
  209. package/src/common/records/prompt.record.js.map +1 -1
  210. package/src/common/records/resource.record.d.ts +17 -1
  211. package/src/common/records/resource.record.js +12 -6
  212. package/src/common/records/resource.record.js.map +1 -1
  213. package/src/common/records/tool.record.js.map +1 -1
  214. package/src/common/schemas/annotated-class.schema.d.ts +9 -9
  215. package/src/common/schemas/annotated-class.schema.js +92 -27
  216. package/src/common/schemas/annotated-class.schema.js.map +1 -1
  217. package/src/common/schemas/http-input.schema.d.ts +6 -30
  218. package/src/common/schemas/http-output.schema.d.ts +326 -1630
  219. package/src/common/schemas/http-output.schema.js +39 -1
  220. package/src/common/schemas/http-output.schema.js.map +1 -1
  221. package/src/common/tokens/front-mcp.tokens.js +4 -1
  222. package/src/common/tokens/front-mcp.tokens.js.map +1 -1
  223. package/src/common/tokens/resource.tokens.d.ts +2 -0
  224. package/src/common/tokens/resource.tokens.js +4 -1
  225. package/src/common/tokens/resource.tokens.js.map +1 -1
  226. package/src/common/tokens/tool.tokens.d.ts +2 -0
  227. package/src/common/tokens/tool.tokens.js +2 -0
  228. package/src/common/tokens/tool.tokens.js.map +1 -1
  229. package/src/common/types/auth/jwt.types.d.ts +5 -31
  230. package/src/common/types/auth/session.types.d.ts +97 -192
  231. package/src/common/types/auth/session.types.js +24 -11
  232. package/src/common/types/auth/session.types.js.map +1 -1
  233. package/src/common/types/options/auth.options.d.ts +1013 -490
  234. package/src/common/types/options/auth.options.js +554 -36
  235. package/src/common/types/options/auth.options.js.map +1 -1
  236. package/src/common/types/options/http.options.d.ts +1 -9
  237. package/src/common/types/options/logging.options.d.ts +7 -13
  238. package/src/common/types/options/logging.options.js +4 -0
  239. package/src/common/types/options/logging.options.js.map +1 -1
  240. package/src/common/types/options/server-info.options.d.ts +3 -31
  241. package/src/common/types/options/session.options.d.ts +90 -10
  242. package/src/common/types/options/session.options.js +26 -3
  243. package/src/common/types/options/session.options.js.map +1 -1
  244. package/src/common/utils/decide-request-intent.utils.d.ts +8 -46
  245. package/src/common/utils/decide-request-intent.utils.js +88 -23
  246. package/src/common/utils/decide-request-intent.utils.js.map +1 -1
  247. package/src/completion/flows/complete.flow.d.ts +74 -0
  248. package/src/completion/flows/complete.flow.js +199 -0
  249. package/src/completion/flows/complete.flow.js.map +1 -0
  250. package/src/errors/authorization-required.error.d.ts +189 -0
  251. package/src/errors/authorization-required.error.js +274 -0
  252. package/src/errors/authorization-required.error.js.map +1 -0
  253. package/src/errors/index.d.ts +2 -1
  254. package/src/errors/index.js +17 -1
  255. package/src/errors/index.js.map +1 -1
  256. package/src/errors/mcp.error.d.ts +101 -1
  257. package/src/errors/mcp.error.js +147 -2
  258. package/src/errors/mcp.error.js.map +1 -1
  259. package/src/flows/flow.instance.js +4 -3
  260. package/src/flows/flow.instance.js.map +1 -1
  261. package/src/flows/flow.registry.js.map +1 -1
  262. package/src/flows/flow.stages.js +14 -11
  263. package/src/flows/flow.stages.js.map +1 -1
  264. package/src/front-mcp/front-mcp.providers.d.ts +464 -102
  265. package/src/front-mcp/front-mcp.providers.js +3 -5
  266. package/src/front-mcp/front-mcp.providers.js.map +1 -1
  267. package/src/hooks/hook.instance.d.ts +1 -1
  268. package/src/hooks/hook.instance.js +5 -2
  269. package/src/hooks/hook.instance.js.map +1 -1
  270. package/src/hooks/hook.registry.js +7 -5
  271. package/src/hooks/hook.registry.js.map +1 -1
  272. package/src/index.d.ts +28 -9
  273. package/src/index.js +5 -1
  274. package/src/index.js.map +1 -1
  275. package/src/logger/instances/instance.logger.js +3 -2
  276. package/src/logger/instances/instance.logger.js.map +1 -1
  277. package/src/logger/logger.registry.js +7 -2
  278. package/src/logger/logger.registry.js.map +1 -1
  279. package/src/logging/flows/set-level.flow.d.ts +62 -0
  280. package/src/logging/flows/set-level.flow.js +108 -0
  281. package/src/logging/flows/set-level.flow.js.map +1 -0
  282. package/src/mcp-apps/csp.d.ts +111 -0
  283. package/src/mcp-apps/csp.js +267 -0
  284. package/src/mcp-apps/csp.js.map +1 -0
  285. package/src/mcp-apps/index.d.ts +23 -0
  286. package/src/mcp-apps/index.js +91 -0
  287. package/src/mcp-apps/index.js.map +1 -0
  288. package/src/mcp-apps/schemas.d.ts +403 -0
  289. package/src/mcp-apps/schemas.js +345 -0
  290. package/src/mcp-apps/schemas.js.map +1 -0
  291. package/src/mcp-apps/template.d.ts +94 -0
  292. package/src/mcp-apps/template.js +419 -0
  293. package/src/mcp-apps/template.js.map +1 -0
  294. package/src/mcp-apps/types.d.ts +323 -0
  295. package/src/mcp-apps/types.js +59 -0
  296. package/src/mcp-apps/types.js.map +1 -0
  297. package/src/notification/index.d.ts +1 -0
  298. package/src/notification/index.js +13 -0
  299. package/src/notification/index.js.map +1 -0
  300. package/src/notification/notification.service.d.ts +378 -0
  301. package/src/notification/notification.service.js +727 -0
  302. package/src/notification/notification.service.js.map +1 -0
  303. package/src/plugin/plugin.registry.js +12 -9
  304. package/src/plugin/plugin.registry.js.map +1 -1
  305. package/src/prompt/flows/get-prompt.flow.d.ts +153 -0
  306. package/src/prompt/flows/get-prompt.flow.js +214 -0
  307. package/src/prompt/flows/get-prompt.flow.js.map +1 -0
  308. package/src/prompt/flows/prompts-list.flow.d.ts +67 -0
  309. package/src/prompt/flows/prompts-list.flow.js +176 -0
  310. package/src/prompt/flows/prompts-list.flow.js.map +1 -0
  311. package/src/prompt/index.d.ts +7 -0
  312. package/src/prompt/index.js +17 -0
  313. package/src/prompt/index.js.map +1 -0
  314. package/src/prompt/prompt.events.d.ts +17 -0
  315. package/src/prompt/prompt.events.js +25 -0
  316. package/src/prompt/prompt.events.js.map +1 -0
  317. package/src/prompt/prompt.instance.d.ts +30 -0
  318. package/src/prompt/prompt.instance.js +120 -0
  319. package/src/prompt/prompt.instance.js.map +1 -0
  320. package/src/prompt/prompt.registry.d.ts +79 -12
  321. package/src/prompt/prompt.registry.js +360 -15
  322. package/src/prompt/prompt.registry.js.map +1 -1
  323. package/src/prompt/prompt.types.d.ts +26 -0
  324. package/src/prompt/prompt.types.js +11 -0
  325. package/src/prompt/prompt.types.js.map +1 -0
  326. package/src/prompt/prompt.utils.d.ts +26 -0
  327. package/src/prompt/prompt.utils.js +136 -0
  328. package/src/prompt/prompt.utils.js.map +1 -0
  329. package/src/provider/provider.registry.d.ts +12 -5
  330. package/src/provider/provider.registry.js +30 -138
  331. package/src/provider/provider.registry.js.map +1 -1
  332. package/src/regsitry/registry.base.d.ts +1 -1
  333. package/src/regsitry/registry.base.js.map +1 -1
  334. package/src/resource/flows/read-resource.flow.d.ts +91 -0
  335. package/src/resource/flows/read-resource.flow.js +270 -0
  336. package/src/resource/flows/read-resource.flow.js.map +1 -0
  337. package/src/resource/flows/resource-templates-list.flow.d.ts +64 -0
  338. package/src/resource/flows/resource-templates-list.flow.js +191 -0
  339. package/src/resource/flows/resource-templates-list.flow.js.map +1 -0
  340. package/src/resource/flows/resources-list.flow.d.ts +64 -0
  341. package/src/resource/flows/resources-list.flow.js +196 -0
  342. package/src/resource/flows/resources-list.flow.js.map +1 -0
  343. package/src/resource/flows/subscribe-resource.flow.d.ts +45 -0
  344. package/src/resource/flows/subscribe-resource.flow.js +123 -0
  345. package/src/resource/flows/subscribe-resource.flow.js.map +1 -0
  346. package/src/resource/flows/unsubscribe-resource.flow.d.ts +44 -0
  347. package/src/resource/flows/unsubscribe-resource.flow.js +107 -0
  348. package/src/resource/flows/unsubscribe-resource.flow.js.map +1 -0
  349. package/src/resource/index.d.ts +8 -0
  350. package/src/resource/index.js +20 -0
  351. package/src/resource/index.js.map +1 -0
  352. package/src/resource/resource.events.d.ts +24 -0
  353. package/src/resource/resource.events.js +17 -0
  354. package/src/resource/resource.events.js.map +1 -0
  355. package/src/resource/resource.instance.d.ts +35 -0
  356. package/src/resource/resource.instance.js +163 -0
  357. package/src/resource/resource.instance.js.map +1 -0
  358. package/src/resource/resource.registry.d.ts +106 -12
  359. package/src/resource/resource.registry.js +449 -13
  360. package/src/resource/resource.registry.js.map +1 -1
  361. package/src/resource/resource.types.d.ts +35 -0
  362. package/src/resource/resource.types.js +11 -0
  363. package/src/resource/resource.types.js.map +1 -0
  364. package/src/resource/resource.utils.d.ts +30 -0
  365. package/src/resource/resource.utils.js +151 -0
  366. package/src/resource/resource.utils.js.map +1 -0
  367. package/src/scope/flows/http.request.flow.d.ts +48 -330
  368. package/src/scope/flows/http.request.flow.js +306 -78
  369. package/src/scope/flows/http.request.flow.js.map +1 -1
  370. package/src/scope/scope.instance.d.ts +12 -0
  371. package/src/scope/scope.instance.js +145 -15
  372. package/src/scope/scope.instance.js.map +1 -1
  373. package/src/tool/flows/call-tool.flow.d.ts +64 -1110
  374. package/src/tool/flows/call-tool.flow.js +303 -15
  375. package/src/tool/flows/call-tool.flow.js.map +1 -1
  376. package/src/tool/flows/tools-list.flow.d.ts +32 -473
  377. package/src/tool/flows/tools-list.flow.js +111 -10
  378. package/src/tool/flows/tools-list.flow.js.map +1 -1
  379. package/src/tool/tool.events.d.ts +8 -1
  380. package/src/tool/tool.events.js.map +1 -1
  381. package/src/tool/tool.instance.d.ts +3 -1
  382. package/src/tool/tool.instance.js +17 -3
  383. package/src/tool/tool.instance.js.map +1 -1
  384. package/src/tool/tool.registry.d.ts +7 -1
  385. package/src/tool/tool.registry.js +26 -10
  386. package/src/tool/tool.registry.js.map +1 -1
  387. package/src/tool/tool.types.d.ts +4 -4
  388. package/src/tool/tool.types.js.map +1 -1
  389. package/src/tool/tool.utils.d.ts +3 -12
  390. package/src/tool/tool.utils.js +39 -193
  391. package/src/tool/tool.utils.js.map +1 -1
  392. package/src/tool/ui/index.d.ts +22 -0
  393. package/src/tool/ui/index.js +63 -0
  394. package/src/tool/ui/index.js.map +1 -0
  395. package/src/tool/ui/platform-adapters.d.ts +10 -0
  396. package/src/tool/ui/platform-adapters.js +18 -0
  397. package/src/tool/ui/platform-adapters.js.map +1 -0
  398. package/src/tool/ui/template-helpers.d.ts +46 -0
  399. package/src/tool/ui/template-helpers.js +112 -0
  400. package/src/tool/ui/template-helpers.js.map +1 -0
  401. package/src/tool/ui/ui-resource-template.d.ts +34 -0
  402. package/src/tool/ui/ui-resource-template.js +64 -0
  403. package/src/tool/ui/ui-resource-template.js.map +1 -0
  404. package/src/tool/ui/ui-resource.handler.d.ts +74 -0
  405. package/src/tool/ui/ui-resource.handler.js +129 -0
  406. package/src/tool/ui/ui-resource.handler.js.map +1 -0
  407. package/src/transport/adapters/transport.local.adapter.d.ts +2 -2
  408. package/src/transport/adapters/transport.local.adapter.js +28 -7
  409. package/src/transport/adapters/transport.local.adapter.js.map +1 -1
  410. package/src/transport/adapters/transport.sse.adapter.d.ts +2 -2
  411. package/src/transport/adapters/transport.sse.adapter.js +4 -3
  412. package/src/transport/adapters/transport.sse.adapter.js.map +1 -1
  413. package/src/transport/adapters/transport.streamable-http.adapter.d.ts +10 -3
  414. package/src/transport/adapters/transport.streamable-http.adapter.js +54 -8
  415. package/src/transport/adapters/transport.streamable-http.adapter.js.map +1 -1
  416. package/src/transport/flows/handle.sse.flow.d.ts +29 -63
  417. package/src/transport/flows/handle.sse.flow.js +78 -10
  418. package/src/transport/flows/handle.sse.flow.js.map +1 -1
  419. package/src/transport/flows/handle.stateless-http.flow.d.ts +29 -0
  420. package/src/transport/flows/handle.stateless-http.flow.js +102 -0
  421. package/src/transport/flows/handle.stateless-http.flow.js.map +1 -0
  422. package/src/transport/flows/handle.streamable-http.flow.d.ts +32 -64
  423. package/src/transport/flows/handle.streamable-http.flow.js +158 -26
  424. package/src/transport/flows/handle.streamable-http.flow.js.map +1 -1
  425. package/src/transport/legacy/legacy.sse.tranporter.d.ts +9 -0
  426. package/src/transport/legacy/legacy.sse.tranporter.js +17 -2
  427. package/src/transport/legacy/legacy.sse.tranporter.js.map +1 -1
  428. package/src/transport/mcp-handlers/call-tool-request.handler.js +27 -1
  429. package/src/transport/mcp-handlers/call-tool-request.handler.js.map +1 -1
  430. package/src/transport/mcp-handlers/complete-request.handler.d.ts +69 -0
  431. package/src/transport/mcp-handlers/complete-request.handler.js +11 -0
  432. package/src/transport/mcp-handlers/complete-request.handler.js.map +1 -0
  433. package/src/transport/mcp-handlers/get-prompt-request.handler.d.ts +87 -0
  434. package/src/transport/mcp-handlers/get-prompt-request.handler.js +11 -0
  435. package/src/transport/mcp-handlers/get-prompt-request.handler.js.map +1 -0
  436. package/src/transport/mcp-handlers/index.d.ts +517 -208
  437. package/src/transport/mcp-handlers/index.js +39 -2
  438. package/src/transport/mcp-handlers/index.js.map +1 -1
  439. package/src/transport/mcp-handlers/initialize-request.handler.d.ts +1 -1
  440. package/src/transport/mcp-handlers/initialize-request.handler.js +73 -7
  441. package/src/transport/mcp-handlers/initialize-request.handler.js.map +1 -1
  442. package/src/transport/mcp-handlers/list-prompts-request.handler.d.ts +54 -0
  443. package/src/transport/mcp-handlers/list-prompts-request.handler.js +11 -0
  444. package/src/transport/mcp-handlers/list-prompts-request.handler.js.map +1 -0
  445. package/src/transport/mcp-handlers/list-resource-templates-request.handler.d.ts +51 -0
  446. package/src/transport/mcp-handlers/list-resource-templates-request.handler.js +12 -0
  447. package/src/transport/mcp-handlers/list-resource-templates-request.handler.js.map +1 -0
  448. package/src/transport/mcp-handlers/list-resources-request.handler.d.ts +51 -0
  449. package/src/transport/mcp-handlers/list-resources-request.handler.js +12 -0
  450. package/src/transport/mcp-handlers/list-resources-request.handler.js.map +1 -0
  451. package/src/transport/mcp-handlers/list-tools-request.handler.d.ts +19 -146
  452. package/src/transport/mcp-handlers/logging-set-level-request.handler.d.ts +46 -0
  453. package/src/transport/mcp-handlers/logging-set-level-request.handler.js +34 -0
  454. package/src/transport/mcp-handlers/logging-set-level-request.handler.js.map +1 -0
  455. package/src/transport/mcp-handlers/mcp-handlers.types.d.ts +3 -7
  456. package/src/transport/mcp-handlers/mcp-handlers.types.js.map +1 -1
  457. package/src/transport/mcp-handlers/read-resource-request.handler.d.ts +46 -0
  458. package/src/transport/mcp-handlers/read-resource-request.handler.js +12 -0
  459. package/src/transport/mcp-handlers/read-resource-request.handler.js.map +1 -0
  460. package/src/transport/mcp-handlers/roots-list-changed-notification.handler.d.ts +11 -0
  461. package/src/transport/mcp-handlers/roots-list-changed-notification.handler.js +26 -0
  462. package/src/transport/mcp-handlers/roots-list-changed-notification.handler.js.map +1 -0
  463. package/src/transport/mcp-handlers/subscribe-request.handler.d.ts +37 -0
  464. package/src/transport/mcp-handlers/subscribe-request.handler.js +34 -0
  465. package/src/transport/mcp-handlers/subscribe-request.handler.js.map +1 -0
  466. package/src/transport/mcp-handlers/unsubscribe-request.handler.d.ts +37 -0
  467. package/src/transport/mcp-handlers/unsubscribe-request.handler.js +34 -0
  468. package/src/transport/mcp-handlers/unsubscribe-request.handler.js.map +1 -0
  469. package/src/transport/transport.local.js +7 -2
  470. package/src/transport/transport.local.js.map +1 -1
  471. package/src/transport/transport.registry.d.ts +30 -0
  472. package/src/transport/transport.registry.js +84 -1
  473. package/src/transport/transport.registry.js.map +1 -1
  474. package/src/transport/transport.types.d.ts +3 -3
  475. package/src/transport/transport.types.js.map +1 -1
  476. package/src/utils/content.utils.d.ts +48 -0
  477. package/src/utils/content.utils.js +194 -0
  478. package/src/utils/content.utils.js.map +1 -0
  479. package/src/utils/index.d.ts +8 -0
  480. package/src/utils/index.js +55 -0
  481. package/src/utils/index.js.map +1 -0
  482. package/src/utils/lineage.utils.d.ts +40 -0
  483. package/src/utils/lineage.utils.js +82 -0
  484. package/src/utils/lineage.utils.js.map +1 -0
  485. package/src/utils/naming.utils.d.ts +46 -0
  486. package/src/utils/naming.utils.js +136 -0
  487. package/src/utils/naming.utils.js.map +1 -0
  488. package/src/utils/types.utils.d.ts +2 -2
  489. package/src/utils/types.utils.js.map +1 -1
  490. package/src/utils/uri-template.utils.d.ts +57 -0
  491. package/src/utils/uri-template.utils.js +113 -0
  492. package/src/utils/uri-template.utils.js.map +1 -0
  493. package/src/utils/uri-validation.utils.d.ts +40 -0
  494. package/src/utils/uri-validation.utils.js +76 -0
  495. package/src/utils/uri-validation.utils.js.map +1 -0
  496. package/src/__test-utils__/fixtures/hook.fixtures.d.ts +0 -46
  497. package/src/__test-utils__/fixtures/hook.fixtures.js +0 -114
  498. package/src/__test-utils__/fixtures/hook.fixtures.js.map +0 -1
  499. package/src/__test-utils__/fixtures/index.d.ts +0 -7
  500. package/src/__test-utils__/fixtures/index.js +0 -11
  501. package/src/__test-utils__/fixtures/index.js.map +0 -1
  502. package/src/__test-utils__/fixtures/plugin.fixtures.d.ts +0 -46
  503. package/src/__test-utils__/fixtures/plugin.fixtures.js +0 -127
  504. package/src/__test-utils__/fixtures/plugin.fixtures.js.map +0 -1
  505. package/src/__test-utils__/fixtures/provider.fixtures.d.ts +0 -69
  506. package/src/__test-utils__/fixtures/provider.fixtures.js +0 -131
  507. package/src/__test-utils__/fixtures/provider.fixtures.js.map +0 -1
  508. package/src/__test-utils__/fixtures/scope.fixtures.d.ts +0 -14
  509. package/src/__test-utils__/fixtures/scope.fixtures.js +0 -59
  510. package/src/__test-utils__/fixtures/scope.fixtures.js.map +0 -1
  511. package/src/__test-utils__/fixtures/tool.fixtures.d.ts +0 -36
  512. package/src/__test-utils__/fixtures/tool.fixtures.js +0 -91
  513. package/src/__test-utils__/fixtures/tool.fixtures.js.map +0 -1
  514. package/src/__test-utils__/helpers/assertion.helpers.d.ts +0 -45
  515. package/src/__test-utils__/helpers/assertion.helpers.js +0 -153
  516. package/src/__test-utils__/helpers/assertion.helpers.js.map +0 -1
  517. package/src/__test-utils__/helpers/async.helpers.d.ts +0 -48
  518. package/src/__test-utils__/helpers/async.helpers.js +0 -112
  519. package/src/__test-utils__/helpers/async.helpers.js.map +0 -1
  520. package/src/__test-utils__/helpers/index.d.ts +0 -6
  521. package/src/__test-utils__/helpers/index.js +0 -10
  522. package/src/__test-utils__/helpers/index.js.map +0 -1
  523. package/src/__test-utils__/helpers/setup.helpers.d.ts +0 -54
  524. package/src/__test-utils__/helpers/setup.helpers.js +0 -106
  525. package/src/__test-utils__/helpers/setup.helpers.js.map +0 -1
  526. package/src/__test-utils__/index.d.ts +0 -9
  527. package/src/__test-utils__/index.js +0 -14
  528. package/src/__test-utils__/index.js.map +0 -1
  529. package/src/__test-utils__/mocks/flow-instance.mock.d.ts +0 -50
  530. package/src/__test-utils__/mocks/flow-instance.mock.js +0 -72
  531. package/src/__test-utils__/mocks/flow-instance.mock.js.map +0 -1
  532. package/src/__test-utils__/mocks/hook-registry.mock.d.ts +0 -25
  533. package/src/__test-utils__/mocks/hook-registry.mock.js +0 -65
  534. package/src/__test-utils__/mocks/hook-registry.mock.js.map +0 -1
  535. package/src/__test-utils__/mocks/index.d.ts +0 -8
  536. package/src/__test-utils__/mocks/index.js +0 -12
  537. package/src/__test-utils__/mocks/index.js.map +0 -1
  538. package/src/__test-utils__/mocks/plugin-registry.mock.d.ts +0 -43
  539. package/src/__test-utils__/mocks/plugin-registry.mock.js +0 -70
  540. package/src/__test-utils__/mocks/plugin-registry.mock.js.map +0 -1
  541. package/src/__test-utils__/mocks/provider-registry.mock.d.ts +0 -39
  542. package/src/__test-utils__/mocks/provider-registry.mock.js +0 -72
  543. package/src/__test-utils__/mocks/provider-registry.mock.js.map +0 -1
  544. package/src/__test-utils__/mocks/tool-registry.mock.d.ts +0 -43
  545. package/src/__test-utils__/mocks/tool-registry.mock.js +0 -79
  546. package/src/__test-utils__/mocks/tool-registry.mock.js.map +0 -1
  547. package/src/auth/path.utils.d.ts +0 -20
  548. package/src/auth/path.utils.js +0 -71
  549. package/src/auth/path.utils.js.map +0 -1
  550. package/src/common/decorators-old/async-with.decorator.d.ts +0 -10
  551. package/src/common/decorators-old/async-with.decorator.js +0 -24
  552. package/src/common/decorators-old/async-with.decorator.js.map +0 -1
  553. package/src/common/decorators-old/auth-hook.decorator.d.ts +0 -14
  554. package/src/common/decorators-old/auth-hook.decorator.js +0 -27
  555. package/src/common/decorators-old/auth-hook.decorator.js.map +0 -1
  556. package/src/common/decorators-old/session-hook.decorator.d.ts +0 -14
  557. package/src/common/decorators-old/session-hook.decorator.js +0 -27
  558. package/src/common/decorators-old/session-hook.decorator.js.map +0 -1
@@ -7,15 +7,17 @@ const schemas_1 = require("../schemas");
7
7
  exports.frontMcpBaseSchema = zod_1.z.object({
8
8
  info: types_1.serverInfoOptionsSchema,
9
9
  providers: zod_1.z.array(schemas_1.annotatedFrontMcpProvidersSchema).optional().default([]),
10
+ tools: zod_1.z.array(schemas_1.annotatedFrontMcpToolsSchema).optional().default([]),
11
+ resources: zod_1.z.array(schemas_1.annotatedFrontMcpResourcesSchema).optional().default([]),
10
12
  apps: zod_1.z.array(schemas_1.annotatedFrontMcpAppSchema),
11
13
  serve: zod_1.z.boolean().optional().default(true),
12
- http: types_1.httpOptionsSchema.optional().default({}),
13
- session: types_1.sessionOptionsSchema.optional().default({}),
14
- logging: types_1.loggingOptionsSchema.optional().default({}),
14
+ http: types_1.httpOptionsSchema.optional(),
15
+ session: types_1.sessionOptionsSchema.optional(),
16
+ logging: types_1.loggingOptionsSchema.optional(),
15
17
  });
16
18
  const frontMcpMultiAppSchema = exports.frontMcpBaseSchema.extend({
17
19
  splitByApp: zod_1.z.literal(false).default(false).describe('If true, each app gets its own scope & basePath.'),
18
- auth: types_1.authOptionsSchema.optional().describe('Configures the server\'s default authentication provider.'),
20
+ auth: types_1.authOptionsSchema.optional().describe("Configures the server's default authentication provider."),
19
21
  });
20
22
  const frontMcpSplitByAppSchema = exports.frontMcpBaseSchema.extend({
21
23
  splitByApp: zod_1.z.literal(true).describe('If false, apps are grouped under the same scope & basePath.'),
@@ -1 +1 @@
1
- {"version":3,"file":"front-mcp.metadata.js","sourceRoot":"","sources":["../../../../src/common/metadata/front-mcp.metadata.ts"],"names":[],"mappings":";;;AAAA,6BAAsB;AACtB,oCAYkB;AAClB,wCAGoB;AAqBP,QAAA,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,+BAAuB;IAC7B,SAAS,EAAE,OAAC,CAAC,KAAK,CAAC,0CAAgC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC3E,IAAI,EAAE,OAAC,CAAC,KAAK,CAAC,oCAA0B,CAAC;IACzC,KAAK,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3C,IAAI,EAAE,yBAAiB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC9C,OAAO,EAAE,4BAAoB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACpD,OAAO,EAAE,4BAAoB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;CACT,CAAC,CAAC;AAQ/C,MAAM,sBAAsB,GAAG,0BAAkB,CAAC,MAAM,CAAC;IACvD,UAAU,EAAE,OAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,kDAAkD,CAAC;IACxG,IAAI,EAAE,yBAAiB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;CACnC,CAAC,CAAC;AAQzE,MAAM,wBAAwB,GAAG,0BAAkB,CAAC,MAAM,CAAC;IACzD,UAAU,EAAE,OAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,6DAA6D,CAAC;IACnG,IAAI,EAAE,OAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;CAC6C,CAAC,CAAC;AAK9D,QAAA,sBAAsB,GAAG,sBAAsB,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC","sourcesContent":["import {z} from 'zod';\nimport {\n AuthOptions,\n authOptionsSchema,\n SessionOptions,\n sessionOptionsSchema,\n ServerInfoOptions,\n serverInfoOptionsSchema,\n HttpOptions,\n httpOptionsSchema,\n LoggingOptions,\n loggingOptionsSchema,\n RawZodShape,\n} from '../types';\nimport {\n annotatedFrontMcpAppSchema,\n annotatedFrontMcpProvidersSchema,\n} from '../schemas';\nimport {AppType, ProviderType} from '../interfaces';\n\n\nexport interface FrontMcpBaseMetadata {\n info: ServerInfoOptions;\n apps: AppType[];\n http?: HttpOptions;\n session?: SessionOptions;\n logging?: LoggingOptions;\n\n serve?: boolean; // default to true\n\n /**\n * Additional providers that are available to all apps.\n */\n providers?: ProviderType[];\n\n\n}\n\nexport const frontMcpBaseSchema = z.object({\n info: serverInfoOptionsSchema,\n providers: z.array(annotatedFrontMcpProvidersSchema).optional().default([]),\n apps: z.array(annotatedFrontMcpAppSchema),\n serve: z.boolean().optional().default(true),\n http: httpOptionsSchema.optional().default({}),\n session: sessionOptionsSchema.optional().default({}),\n logging: loggingOptionsSchema.optional().default({}),\n} satisfies RawZodShape<FrontMcpBaseMetadata>);\n\n\nexport interface FrontMcpMultiAppMetadata extends FrontMcpBaseMetadata {\n splitByApp?: false;\n auth?: AuthOptions;\n}\n\nconst frontMcpMultiAppSchema = frontMcpBaseSchema.extend({\n splitByApp: z.literal(false).default(false).describe('If true, each app gets its own scope & basePath.'),\n auth: authOptionsSchema.optional().describe('Configures the server\\'s default authentication provider.'),\n} satisfies RawZodShape<FrontMcpMultiAppMetadata, FrontMcpBaseMetadata>);\n\n\nexport interface FrontMcpSplitByAppMetadata extends FrontMcpBaseMetadata {\n splitByApp: true;\n auth?: never;\n}\n\nconst frontMcpSplitByAppSchema = frontMcpBaseSchema.extend({\n splitByApp: z.literal(true).describe('If false, apps are grouped under the same scope & basePath.'),\n auth: z.never().optional(),\n} satisfies RawZodShape<FrontMcpSplitByAppMetadata, FrontMcpBaseMetadata>);\n\n\nexport type FrontMcpMetadata = FrontMcpMultiAppMetadata | FrontMcpSplitByAppMetadata;\n\nexport const frontMcpMetadataSchema = frontMcpMultiAppSchema.or(frontMcpSplitByAppSchema);\n\nexport type FrontMcpMultiAppConfig = z.infer<typeof frontMcpMultiAppSchema>;\nexport type FrontMcpSplitByAppConfig = z.infer<typeof frontMcpSplitByAppSchema>;\n\n\nexport type FrontMcpConfigType = z.infer<typeof frontMcpMetadataSchema>;\n\nexport interface AppScopeMetadata extends Omit<FrontMcpSplitByAppMetadata, 'auth' | 'splitByApp'> {\n id: string;\n apps: [AppType];\n auth?: AuthOptions;\n}\n\nexport interface MultiAppScopeMetadata extends FrontMcpMultiAppMetadata {\n id: string;\n apps: AppType[];\n}\n\nexport type ScopeMetadata = AppScopeMetadata | MultiAppScopeMetadata;\n"]}
1
+ {"version":3,"file":"front-mcp.metadata.js","sourceRoot":"","sources":["../../../../src/common/metadata/front-mcp.metadata.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,oCAakB;AAClB,wCAKoB;AA8BP,QAAA,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,+BAAuB;IAC7B,SAAS,EAAE,OAAC,CAAC,KAAK,CAAC,0CAAgC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC3E,KAAK,EAAE,OAAC,CAAC,KAAK,CAAC,sCAA4B,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACnE,SAAS,EAAE,OAAC,CAAC,KAAK,CAAC,0CAAgC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC3E,IAAI,EAAE,OAAC,CAAC,KAAK,CAAC,oCAA0B,CAAC;IACzC,KAAK,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3C,IAAI,EAAE,yBAAiB,CAAC,QAAQ,EAAE;IAClC,OAAO,EAAE,4BAAoB,CAAC,QAAQ,EAAE;IACxC,OAAO,EAAE,4BAAoB,CAAC,QAAQ,EAAE;CACG,CAAC,CAAC;AAO/C,MAAM,sBAAsB,GAAG,0BAAkB,CAAC,MAAM,CAAC;IACvD,UAAU,EAAE,OAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,kDAAkD,CAAC;IACxG,IAAI,EAAE,yBAAiB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;CAClC,CAAC,CAAC;AAOzE,MAAM,wBAAwB,GAAG,0BAAkB,CAAC,MAAM,CAAC;IACzD,UAAU,EAAE,OAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,6DAA6D,CAAC;IACnG,IAAI,EAAE,OAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;CAC6C,CAAC,CAAC;AAI9D,QAAA,sBAAsB,GAAG,sBAAsB,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\nimport {\n AuthOptions,\n authOptionsSchema,\n SessionOptions,\n sessionOptionsSchema,\n ServerInfoOptions,\n serverInfoOptionsSchema,\n HttpOptions,\n httpOptionsSchema,\n LoggingOptions,\n loggingOptionsSchema,\n RawZodShape,\n AuthOptionsInput,\n} from '../types';\nimport {\n annotatedFrontMcpAppSchema,\n annotatedFrontMcpProvidersSchema,\n annotatedFrontMcpResourcesSchema,\n annotatedFrontMcpToolsSchema,\n} from '../schemas';\nimport { AppType, ProviderType, ResourceType, ToolType } from '../interfaces';\n\nexport interface FrontMcpBaseMetadata {\n info: ServerInfoOptions;\n apps: AppType[];\n http?: HttpOptions;\n session?: SessionOptions;\n logging?: LoggingOptions;\n\n serve?: boolean; // default to true\n\n /**\n * Additional providers that are available to all apps.\n */\n providers?: ProviderType[];\n\n /**\n * Shared tools that are available to all apps.\n * These are merged (additively) with app-specific tools.\n */\n tools?: ToolType[];\n\n /**\n * Shared resources that are available to all apps.\n * These are merged (additively) with app-specific resources.\n */\n resources?: ResourceType[];\n}\n\nexport const frontMcpBaseSchema = z.object({\n info: serverInfoOptionsSchema,\n providers: z.array(annotatedFrontMcpProvidersSchema).optional().default([]),\n tools: z.array(annotatedFrontMcpToolsSchema).optional().default([]),\n resources: z.array(annotatedFrontMcpResourcesSchema).optional().default([]),\n apps: z.array(annotatedFrontMcpAppSchema),\n serve: z.boolean().optional().default(true),\n http: httpOptionsSchema.optional(),\n session: sessionOptionsSchema.optional(),\n logging: loggingOptionsSchema.optional(),\n} satisfies RawZodShape<FrontMcpBaseMetadata>);\n\nexport interface FrontMcpMultiAppMetadata extends FrontMcpBaseMetadata {\n splitByApp?: false;\n auth?: AuthOptionsInput;\n}\n\nconst frontMcpMultiAppSchema = frontMcpBaseSchema.extend({\n splitByApp: z.literal(false).default(false).describe('If true, each app gets its own scope & basePath.'),\n auth: authOptionsSchema.optional().describe(\"Configures the server's default authentication provider.\"),\n} satisfies RawZodShape<FrontMcpMultiAppMetadata, FrontMcpBaseMetadata>);\n\nexport interface FrontMcpSplitByAppMetadata extends FrontMcpBaseMetadata {\n splitByApp: true;\n auth?: never;\n}\n\nconst frontMcpSplitByAppSchema = frontMcpBaseSchema.extend({\n splitByApp: z.literal(true).describe('If false, apps are grouped under the same scope & basePath.'),\n auth: z.never().optional(),\n} satisfies RawZodShape<FrontMcpSplitByAppMetadata, FrontMcpBaseMetadata>);\n\nexport type FrontMcpMetadata = FrontMcpMultiAppMetadata | FrontMcpSplitByAppMetadata;\n\nexport const frontMcpMetadataSchema = frontMcpMultiAppSchema.or(frontMcpSplitByAppSchema);\n\nexport type FrontMcpMultiAppConfig = z.infer<typeof frontMcpMultiAppSchema>;\nexport type FrontMcpSplitByAppConfig = z.infer<typeof frontMcpSplitByAppSchema>;\n\nexport type FrontMcpConfigType = z.infer<typeof frontMcpMetadataSchema>;\n\nexport interface AppScopeMetadata extends Omit<FrontMcpSplitByAppMetadata, 'auth' | 'splitByApp'> {\n id: string;\n apps: [AppType];\n auth?: AuthOptions;\n}\n\nexport interface MultiAppScopeMetadata extends FrontMcpMultiAppMetadata {\n id: string;\n apps: AppType[];\n}\n\nexport type ScopeMetadata = AppScopeMetadata | MultiAppScopeMetadata;\n"]}
@@ -14,7 +14,7 @@ export interface HookMetadata<Name extends FlowName = FlowName, Stage = string,
14
14
  type: HookStageType;
15
15
  flow: Name;
16
16
  stage: Stage;
17
- target: Token;
17
+ target: Token | null;
18
18
  method: string;
19
19
  static?: boolean;
20
20
  owner?: EntryOwnerRef;
@@ -1 +1 @@
1
- {"version":3,"file":"hook.metadata.js","sourceRoot":"","sources":["../../../../src/common/metadata/hook.metadata.ts"],"names":[],"mappings":"","sourcesContent":["import { Token } from '../interfaces';\nimport { FlowName } from './flow.metadata';\nimport { EntryOwnerRef } from '../entries/base.entry';\n\nexport type HookStageType = 'stage' | 'will' | 'did' | 'around';\nexport type HookPriority = number;\n\nexport interface HookOptions<Ctx> {\n priority?: HookPriority;\n filter?: (ctx: Ctx) => boolean | Promise<boolean>;\n}\n\nexport interface TokenHookMetadata {\n hooks: HookMetadata[];\n}\n\nexport interface HookMetadata<Name extends FlowName = FlowName, Stage = string, Ctx = any> extends HookOptions<Ctx> {\n type: HookStageType;\n flow: Name;\n stage: Stage;\n target: Token;\n method: string;\n static?: boolean;\n owner?: EntryOwnerRef;\n}\n"]}
1
+ {"version":3,"file":"hook.metadata.js","sourceRoot":"","sources":["../../../../src/common/metadata/hook.metadata.ts"],"names":[],"mappings":"","sourcesContent":["import { Token } from '../interfaces';\nimport { FlowName } from './flow.metadata';\nimport { EntryOwnerRef } from '../entries/base.entry';\n\nexport type HookStageType = 'stage' | 'will' | 'did' | 'around';\nexport type HookPriority = number;\n\nexport interface HookOptions<Ctx> {\n priority?: HookPriority;\n filter?: (ctx: Ctx) => boolean | Promise<boolean>;\n}\n\nexport interface TokenHookMetadata {\n hooks: HookMetadata[];\n}\n\nexport interface HookMetadata<Name extends FlowName = FlowName, Stage = string, Ctx = any> extends HookOptions<Ctx> {\n type: HookStageType;\n flow: Name;\n stage: Stage;\n target: Token | null; // null for TC39 decorators until resolved at execution time\n method: string;\n static?: boolean;\n owner?: EntryOwnerRef;\n}\n"]}
@@ -7,6 +7,7 @@ export * from './auth-provider.metadata';
7
7
  export * from './adapter.metadata';
8
8
  export * from './plugin.metadata';
9
9
  export * from './tool.metadata';
10
+ export * from './tool-ui.metadata';
10
11
  export * from './resource.metadata';
11
12
  export * from './prompt.metadata';
12
13
  export * from './logger.metadata';
@@ -10,6 +10,7 @@ tslib_1.__exportStar(require("./auth-provider.metadata"), exports);
10
10
  tslib_1.__exportStar(require("./adapter.metadata"), exports);
11
11
  tslib_1.__exportStar(require("./plugin.metadata"), exports);
12
12
  tslib_1.__exportStar(require("./tool.metadata"), exports);
13
+ tslib_1.__exportStar(require("./tool-ui.metadata"), exports);
13
14
  tslib_1.__exportStar(require("./resource.metadata"), exports);
14
15
  tslib_1.__exportStar(require("./prompt.metadata"), exports);
15
16
  tslib_1.__exportStar(require("./logger.metadata"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/common/metadata/index.ts"],"names":[],"mappings":";;;AAAA,+DAAqC;AACrC,0DAAgC;AAChC,0DAAgC;AAChC,yDAA+B;AAC/B,8DAAoC;AACpC,mEAAyC;AACzC,6DAAmC;AACnC,4DAAkC;AAClC,0DAAgC;AAChC,8DAAoC;AACpC,4DAAkC;AAClC,4DAAkC","sourcesContent":["export * from './front-mcp.metadata';\nexport * from './flow.metadata';\nexport * from './hook.metadata';\nexport * from './app.metadata';\nexport * from './provider.metadata';\nexport * from './auth-provider.metadata';\nexport * from './adapter.metadata';\nexport * from './plugin.metadata';\nexport * from './tool.metadata';\nexport * from './resource.metadata';\nexport * from './prompt.metadata';\nexport * from './logger.metadata';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/common/metadata/index.ts"],"names":[],"mappings":";;;AAAA,+DAAqC;AACrC,0DAAgC;AAChC,0DAAgC;AAChC,yDAA+B;AAC/B,8DAAoC;AACpC,mEAAyC;AACzC,6DAAmC;AACnC,4DAAkC;AAClC,0DAAgC;AAChC,6DAAmC;AACnC,8DAAoC;AACpC,4DAAkC;AAClC,4DAAkC","sourcesContent":["export * from './front-mcp.metadata';\nexport * from './flow.metadata';\nexport * from './hook.metadata';\nexport * from './app.metadata';\nexport * from './provider.metadata';\nexport * from './auth-provider.metadata';\nexport * from './adapter.metadata';\nexport * from './plugin.metadata';\nexport * from './tool.metadata';\nexport * from './tool-ui.metadata';\nexport * from './resource.metadata';\nexport * from './prompt.metadata';\nexport * from './logger.metadata';\n"]}
@@ -28,12 +28,4 @@ export declare const frontMcpLogTransportMetadataSchema: z.ZodObject<{
28
28
  id: z.ZodOptional<z.ZodString>;
29
29
  name: z.ZodString;
30
30
  description: z.ZodOptional<z.ZodString>;
31
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
32
- id: z.ZodOptional<z.ZodString>;
33
- name: z.ZodString;
34
- description: z.ZodOptional<z.ZodString>;
35
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
36
- id: z.ZodOptional<z.ZodString>;
37
- name: z.ZodString;
38
- description: z.ZodOptional<z.ZodString>;
39
- }, z.ZodTypeAny, "passthrough">>;
31
+ }, z.core.$loose>;
@@ -61,33 +61,11 @@ export declare const frontMcpPluginMetadataSchema: z.ZodObject<{
61
61
  id: z.ZodOptional<z.ZodString>;
62
62
  name: z.ZodString;
63
63
  description: z.ZodOptional<z.ZodString>;
64
- providers: z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>;
65
- exports: z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>;
66
- plugins: z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>;
67
- adapters: z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>;
68
- tools: z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>;
69
- resources: z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>;
70
- prompts: z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>;
71
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
72
- id: z.ZodOptional<z.ZodString>;
73
- name: z.ZodString;
74
- description: z.ZodOptional<z.ZodString>;
75
- providers: z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>;
76
- exports: z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>;
77
- plugins: z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>;
78
- adapters: z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>;
79
- tools: z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>;
80
- resources: z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>;
81
- prompts: z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>;
82
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
83
- id: z.ZodOptional<z.ZodString>;
84
- name: z.ZodString;
85
- description: z.ZodOptional<z.ZodString>;
86
- providers: z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>;
87
- exports: z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>;
88
- plugins: z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>;
89
- adapters: z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>;
90
- tools: z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>;
91
- resources: z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>;
92
- prompts: z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>;
93
- }, z.ZodTypeAny, "passthrough">>;
64
+ providers: z.ZodOptional<z.ZodArray<z.ZodCustom<import("../interfaces").Type<unknown>, import("../interfaces").Type<unknown>>>>;
65
+ exports: z.ZodOptional<z.ZodArray<z.ZodCustom<import("../interfaces").Type<unknown>, import("../interfaces").Type<unknown>>>>;
66
+ plugins: z.ZodOptional<z.ZodArray<z.ZodCustom<import("../interfaces").Type<unknown>, import("../interfaces").Type<unknown>>>>;
67
+ adapters: z.ZodOptional<z.ZodArray<z.ZodCustom<import("../interfaces").Type<unknown>, import("../interfaces").Type<unknown>>>>;
68
+ tools: z.ZodOptional<z.ZodArray<z.ZodCustom<import("../interfaces").Type<unknown>, import("../interfaces").Type<unknown>>>>;
69
+ resources: z.ZodOptional<z.ZodArray<z.ZodCustom<import("../interfaces").Type<unknown>, import("../interfaces").Type<unknown>>>>;
70
+ prompts: z.ZodOptional<z.ZodArray<z.ZodCustom<import("../interfaces").Type<unknown>, import("../interfaces").Type<unknown>>>>;
71
+ }, z.core.$loose>;
@@ -56,171 +56,14 @@ export declare const frontMcpPromptMetadataSchema: z.ZodObject<{
56
56
  title: z.ZodOptional<z.ZodString>;
57
57
  description: z.ZodOptional<z.ZodString>;
58
58
  arguments: z.ZodOptional<z.ZodArray<z.ZodObject<{
59
- /**
60
- * The name of the argument.
61
- */
62
59
  name: z.ZodString;
63
- /**
64
- * A human-readable description of the argument.
65
- */
66
60
  description: z.ZodOptional<z.ZodString>;
67
- /**
68
- * Whether this argument must be provided.
69
- */
70
61
  required: z.ZodOptional<z.ZodBoolean>;
71
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
72
- /**
73
- * The name of the argument.
74
- */
75
- name: z.ZodString;
76
- /**
77
- * A human-readable description of the argument.
78
- */
79
- description: z.ZodOptional<z.ZodString>;
80
- /**
81
- * Whether this argument must be provided.
82
- */
83
- required: z.ZodOptional<z.ZodBoolean>;
84
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
85
- /**
86
- * The name of the argument.
87
- */
88
- name: z.ZodString;
89
- /**
90
- * A human-readable description of the argument.
91
- */
92
- description: z.ZodOptional<z.ZodString>;
93
- /**
94
- * Whether this argument must be provided.
95
- */
96
- required: z.ZodOptional<z.ZodBoolean>;
97
- }, z.ZodTypeAny, "passthrough">>, "many">>;
98
- icons: z.ZodOptional<z.ZodArray<z.ZodObject<{
99
- src: z.ZodString;
100
- mimeType: z.ZodOptional<z.ZodString>;
101
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
102
- }, "strip", z.ZodTypeAny, {
103
- src: string;
104
- mimeType?: string | undefined;
105
- sizes?: string[] | undefined;
106
- }, {
107
- src: string;
108
- mimeType?: string | undefined;
109
- sizes?: string[] | undefined;
110
- }>, "many">>;
111
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
112
- name: z.ZodString;
113
- title: z.ZodOptional<z.ZodString>;
114
- description: z.ZodOptional<z.ZodString>;
115
- arguments: z.ZodOptional<z.ZodArray<z.ZodObject<{
116
- /**
117
- * The name of the argument.
118
- */
119
- name: z.ZodString;
120
- /**
121
- * A human-readable description of the argument.
122
- */
123
- description: z.ZodOptional<z.ZodString>;
124
- /**
125
- * Whether this argument must be provided.
126
- */
127
- required: z.ZodOptional<z.ZodBoolean>;
128
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
129
- /**
130
- * The name of the argument.
131
- */
132
- name: z.ZodString;
133
- /**
134
- * A human-readable description of the argument.
135
- */
136
- description: z.ZodOptional<z.ZodString>;
137
- /**
138
- * Whether this argument must be provided.
139
- */
140
- required: z.ZodOptional<z.ZodBoolean>;
141
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
142
- /**
143
- * The name of the argument.
144
- */
145
- name: z.ZodString;
146
- /**
147
- * A human-readable description of the argument.
148
- */
149
- description: z.ZodOptional<z.ZodString>;
150
- /**
151
- * Whether this argument must be provided.
152
- */
153
- required: z.ZodOptional<z.ZodBoolean>;
154
- }, z.ZodTypeAny, "passthrough">>, "many">>;
155
- icons: z.ZodOptional<z.ZodArray<z.ZodObject<{
156
- src: z.ZodString;
157
- mimeType: z.ZodOptional<z.ZodString>;
158
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
159
- }, "strip", z.ZodTypeAny, {
160
- src: string;
161
- mimeType?: string | undefined;
162
- sizes?: string[] | undefined;
163
- }, {
164
- src: string;
165
- mimeType?: string | undefined;
166
- sizes?: string[] | undefined;
167
- }>, "many">>;
168
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
169
- name: z.ZodString;
170
- title: z.ZodOptional<z.ZodString>;
171
- description: z.ZodOptional<z.ZodString>;
172
- arguments: z.ZodOptional<z.ZodArray<z.ZodObject<{
173
- /**
174
- * The name of the argument.
175
- */
176
- name: z.ZodString;
177
- /**
178
- * A human-readable description of the argument.
179
- */
180
- description: z.ZodOptional<z.ZodString>;
181
- /**
182
- * Whether this argument must be provided.
183
- */
184
- required: z.ZodOptional<z.ZodBoolean>;
185
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
186
- /**
187
- * The name of the argument.
188
- */
189
- name: z.ZodString;
190
- /**
191
- * A human-readable description of the argument.
192
- */
193
- description: z.ZodOptional<z.ZodString>;
194
- /**
195
- * Whether this argument must be provided.
196
- */
197
- required: z.ZodOptional<z.ZodBoolean>;
198
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
199
- /**
200
- * The name of the argument.
201
- */
202
- name: z.ZodString;
203
- /**
204
- * A human-readable description of the argument.
205
- */
206
- description: z.ZodOptional<z.ZodString>;
207
- /**
208
- * Whether this argument must be provided.
209
- */
210
- required: z.ZodOptional<z.ZodBoolean>;
211
- }, z.ZodTypeAny, "passthrough">>, "many">>;
62
+ }, z.core.$loose>>>;
212
63
  icons: z.ZodOptional<z.ZodArray<z.ZodObject<{
213
64
  src: z.ZodString;
214
65
  mimeType: z.ZodOptional<z.ZodString>;
215
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
216
- }, "strip", z.ZodTypeAny, {
217
- src: string;
218
- mimeType?: string | undefined;
219
- sizes?: string[] | undefined;
220
- }, {
221
- src: string;
222
- mimeType?: string | undefined;
223
- sizes?: string[] | undefined;
224
- }>, "many">>;
225
- }, z.ZodTypeAny, "passthrough">>;
66
+ sizes: z.ZodOptional<z.ZodArray<z.ZodString>>;
67
+ }, z.core.$strip>>>;
68
+ }, z.core.$loose>;
226
69
  export { FrontMcpPromptMetadata as PromptMetadata, };
@@ -20,15 +20,5 @@ export declare const frontMcpProviderMetadataSchema: z.ZodObject<{
20
20
  id: z.ZodOptional<z.ZodString>;
21
21
  name: z.ZodString;
22
22
  description: z.ZodOptional<z.ZodString>;
23
- scope: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof ProviderScope>>>;
24
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
25
- id: z.ZodOptional<z.ZodString>;
26
- name: z.ZodString;
27
- description: z.ZodOptional<z.ZodString>;
28
- scope: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof ProviderScope>>>;
29
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
30
- id: z.ZodOptional<z.ZodString>;
31
- name: z.ZodString;
32
- description: z.ZodOptional<z.ZodString>;
33
- scope: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof ProviderScope>>>;
34
- }, z.ZodTypeAny, "passthrough">>;
23
+ scope: z.ZodDefault<z.ZodOptional<z.ZodEnum<typeof ProviderScope>>>;
24
+ }, z.core.$loose>;
@@ -55,55 +55,9 @@ export declare const frontMcpResourceMetadataSchema: z.ZodObject<{
55
55
  icons: z.ZodOptional<z.ZodArray<z.ZodObject<{
56
56
  src: z.ZodString;
57
57
  mimeType: z.ZodOptional<z.ZodString>;
58
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
59
- }, "strip", z.ZodTypeAny, {
60
- src: string;
61
- mimeType?: string | undefined;
62
- sizes?: string[] | undefined;
63
- }, {
64
- src: string;
65
- mimeType?: string | undefined;
66
- sizes?: string[] | undefined;
67
- }>, "many">>;
68
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
69
- name: z.ZodString;
70
- title: z.ZodOptional<z.ZodString>;
71
- uri: z.ZodString;
72
- description: z.ZodOptional<z.ZodString>;
73
- mimeType: z.ZodOptional<z.ZodString>;
74
- icons: z.ZodOptional<z.ZodArray<z.ZodObject<{
75
- src: z.ZodString;
76
- mimeType: z.ZodOptional<z.ZodString>;
77
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
78
- }, "strip", z.ZodTypeAny, {
79
- src: string;
80
- mimeType?: string | undefined;
81
- sizes?: string[] | undefined;
82
- }, {
83
- src: string;
84
- mimeType?: string | undefined;
85
- sizes?: string[] | undefined;
86
- }>, "many">>;
87
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
88
- name: z.ZodString;
89
- title: z.ZodOptional<z.ZodString>;
90
- uri: z.ZodString;
91
- description: z.ZodOptional<z.ZodString>;
92
- mimeType: z.ZodOptional<z.ZodString>;
93
- icons: z.ZodOptional<z.ZodArray<z.ZodObject<{
94
- src: z.ZodString;
95
- mimeType: z.ZodOptional<z.ZodString>;
96
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
97
- }, "strip", z.ZodTypeAny, {
98
- src: string;
99
- mimeType?: string | undefined;
100
- sizes?: string[] | undefined;
101
- }, {
102
- src: string;
103
- mimeType?: string | undefined;
104
- sizes?: string[] | undefined;
105
- }>, "many">>;
106
- }, z.ZodTypeAny, "passthrough">>;
58
+ sizes: z.ZodOptional<z.ZodArray<z.ZodString>>;
59
+ }, z.core.$strip>>>;
60
+ }, z.core.$loose>;
107
61
  /**
108
62
  * A template description for resources available on the server.
109
63
  */
@@ -147,53 +101,7 @@ export declare const frontMcpResourceTemplateMetadataSchema: z.ZodObject<{
147
101
  icons: z.ZodOptional<z.ZodArray<z.ZodObject<{
148
102
  src: z.ZodString;
149
103
  mimeType: z.ZodOptional<z.ZodString>;
150
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
151
- }, "strip", z.ZodTypeAny, {
152
- src: string;
153
- mimeType?: string | undefined;
154
- sizes?: string[] | undefined;
155
- }, {
156
- src: string;
157
- mimeType?: string | undefined;
158
- sizes?: string[] | undefined;
159
- }>, "many">>;
160
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
161
- name: z.ZodString;
162
- title: z.ZodOptional<z.ZodString>;
163
- uriTemplate: z.ZodString;
164
- description: z.ZodOptional<z.ZodString>;
165
- mimeType: z.ZodOptional<z.ZodString>;
166
- icons: z.ZodOptional<z.ZodArray<z.ZodObject<{
167
- src: z.ZodString;
168
- mimeType: z.ZodOptional<z.ZodString>;
169
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
170
- }, "strip", z.ZodTypeAny, {
171
- src: string;
172
- mimeType?: string | undefined;
173
- sizes?: string[] | undefined;
174
- }, {
175
- src: string;
176
- mimeType?: string | undefined;
177
- sizes?: string[] | undefined;
178
- }>, "many">>;
179
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
180
- name: z.ZodString;
181
- title: z.ZodOptional<z.ZodString>;
182
- uriTemplate: z.ZodString;
183
- description: z.ZodOptional<z.ZodString>;
184
- mimeType: z.ZodOptional<z.ZodString>;
185
- icons: z.ZodOptional<z.ZodArray<z.ZodObject<{
186
- src: z.ZodString;
187
- mimeType: z.ZodOptional<z.ZodString>;
188
- sizes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
189
- }, "strip", z.ZodTypeAny, {
190
- src: string;
191
- mimeType?: string | undefined;
192
- sizes?: string[] | undefined;
193
- }, {
194
- src: string;
195
- mimeType?: string | undefined;
196
- sizes?: string[] | undefined;
197
- }>, "many">>;
198
- }, z.ZodTypeAny, "passthrough">>;
104
+ sizes: z.ZodOptional<z.ZodArray<z.ZodString>>;
105
+ }, z.core.$strip>>>;
106
+ }, z.core.$loose>;
199
107
  export { ResourceMetadata, ResourceMetadata as FrontMcpResourceMetadata, ResourceTemplateMetadata, ResourceTemplateMetadata as FrontMcpResourceTemplateMetadata, };
@@ -3,20 +3,29 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.frontMcpResourceTemplateMetadataSchema = exports.frontMcpResourceMetadataSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
6
- exports.frontMcpResourceMetadataSchema = zod_1.z.object({
6
+ const uri_validation_utils_1 = require("../../utils/uri-validation.utils");
7
+ exports.frontMcpResourceMetadataSchema = zod_1.z
8
+ .object({
7
9
  name: zod_1.z.string().min(1),
8
10
  title: zod_1.z.string().optional(),
9
- uri: zod_1.z.string().min(1),
11
+ uri: zod_1.z.string().min(1).refine(uri_validation_utils_1.isValidMcpUri, {
12
+ message: 'URI must have a valid scheme (e.g., file://, https://, custom://)',
13
+ }),
10
14
  description: zod_1.z.string().optional(),
11
15
  mimeType: zod_1.z.string().optional(),
12
16
  icons: zod_1.z.array(types_js_1.IconSchema).optional(),
13
- }).passthrough();
14
- exports.frontMcpResourceTemplateMetadataSchema = zod_1.z.object({
17
+ })
18
+ .passthrough();
19
+ exports.frontMcpResourceTemplateMetadataSchema = zod_1.z
20
+ .object({
15
21
  name: zod_1.z.string().min(1),
16
22
  title: zod_1.z.string().optional(),
17
- uriTemplate: zod_1.z.string().min(1),
23
+ uriTemplate: zod_1.z.string().min(1).refine(uri_validation_utils_1.isValidMcpUriTemplate, {
24
+ message: 'URI template must have a valid scheme (e.g., file://, https://, custom://)',
25
+ }),
18
26
  description: zod_1.z.string().optional(),
19
27
  mimeType: zod_1.z.string().optional(),
20
28
  icons: zod_1.z.array(types_js_1.IconSchema).optional(),
21
- }).passthrough();
29
+ })
30
+ .passthrough();
22
31
  //# sourceMappingURL=resource.metadata.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resource.metadata.js","sourceRoot":"","sources":["../../../../src/common/metadata/resource.metadata.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,iEAAsE;AAwDzD,QAAA,8BAA8B,GAAG,OAAC,CAAC,MAAM,CAAC;IACrD,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtB,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,KAAK,EAAE,OAAC,CAAC,KAAK,CAAC,qBAAU,CAAC,CAAC,QAAQ,EAAE;CACkC,CAAC,CAAC,WAAW,EAAE,CAAC;AA2C5E,QAAA,sCAAsC,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7D,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,KAAK,EAAE,OAAC,CAAC,KAAK,CAAC,qBAAU,CAAC,CAAC,QAAQ,EAAE;CACkD,CAAC,CAAC,WAAW,EAAE,CAAC","sourcesContent":["import { z } from 'zod';\nimport { RawZodShape } from '../types';\nimport { Icon, IconSchema } from '@modelcontextprotocol/sdk/types.js';\n\ndeclare global {\n /**\n * Declarative metadata extends to McpResource decorator.\n */\n export interface ExtendFrontMcpResourceMetadata {\n }\n\n /**\n * Declarative metadata extends to McpResourceTemplate decorator.\n */\n export interface ExtendFrontMcpResourceTemplateMetadata {\n }\n}\n\n/**\n * A known resource that the server is capable of reading.\n */\ninterface ResourceMetadata extends ExtendFrontMcpResourceMetadata {\n /** Intended for programmatic or logical use, but used as a display name in past specs or fallback */\n name: string;\n /**\n * Intended for UI and end-user contexts — optimized to be human-readable and easily understood,\n * even by those unfamiliar with domain-specific terminology.\n *\n * If not provided, the name should be used for display (except for Tool,\n * where `annotations.title` should be given precedence over using `name`,\n * if present).\n */\n title?: string;\n\n /**\n * The URI of this resource.\n */\n uri: string;\n\n /**\n * A description of what this resource represents.\n *\n * This can be used by clients to improve the LLM's understanding of available resources. It can be thought of like a \"hint\" to the model.\n */\n description?: string;\n\n /**\n * The MIME type of this resource, if known.\n */\n mimeType?: string;\n\n /**\n * A list of icons that can be used to represent this resource template.\n */\n icons?: Icon[];\n}\n\n\nexport const frontMcpResourceMetadataSchema = z.object({\n name: z.string().min(1),\n title: z.string().optional(),\n uri: z.string().min(1),\n description: z.string().optional(),\n mimeType: z.string().optional(),\n icons: z.array(IconSchema).optional(),\n} satisfies RawZodShape<ResourceMetadata, ExtendFrontMcpResourceMetadata>).passthrough();\n\n\n/**\n * A template description for resources available on the server.\n */\ninterface ResourceTemplateMetadata extends ExtendFrontMcpResourceTemplateMetadata {\n /** Intended for programmatic or logical use, but used as a display name in past specs or fallback */\n name: string;\n /**\n * Intended for UI and end-user contexts — optimized to be human-readable and easily understood,\n * even by those unfamiliar with domain-specific terminology.\n *\n * If not provided, the name should be used for display (except for Tool,\n * where `annotations.title` should be given precedence over using `name`,\n * if present).\n */\n title?: string;\n\n /**\n * A URI template (according to RFC 6570) that can be used to construct resource URIs.\n */\n uriTemplate: string;\n\n /**\n * A description of what this template is for.\n *\n * This can be used by clients to improve the LLM's understanding of available resources. It can be thought of like a \"hint\" to the model.\n */\n description?: string;\n\n /**\n * The MIME type for all resources that match this template. This should only be included if all resources matching this template have the same type.\n */\n mimeType?: string;\n\n /**\n * A list of icons that can be used to represent this resource template.\n */\n icons?: Icon[];\n}\n\n\nexport const frontMcpResourceTemplateMetadataSchema = z.object({\n name: z.string().min(1),\n title: z.string().optional(),\n uriTemplate: z.string().min(1),\n description: z.string().optional(),\n mimeType: z.string().optional(),\n icons: z.array(IconSchema).optional(),\n} satisfies RawZodShape<ResourceTemplateMetadata, ExtendFrontMcpResourceTemplateMetadata>).passthrough();\n\n\nexport {\n ResourceMetadata,\n ResourceMetadata as FrontMcpResourceMetadata,\n ResourceTemplateMetadata,\n ResourceTemplateMetadata as FrontMcpResourceTemplateMetadata,\n};"]}
1
+ {"version":3,"file":"resource.metadata.js","sourceRoot":"","sources":["../../../../src/common/metadata/resource.metadata.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,iEAAsE;AACtE,2EAAwF;AAqD3E,QAAA,8BAA8B,GAAG,OAAC;KAC5C,MAAM,CAAC;IACN,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,oCAAa,EAAE;QAC3C,OAAO,EAAE,mEAAmE;KAC7E,CAAC;IACF,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,KAAK,EAAE,OAAC,CAAC,KAAK,CAAC,qBAAU,CAAC,CAAC,QAAQ,EAAE;CACkC,CAAC;KACzE,WAAW,EAAE,CAAC;AAyCJ,QAAA,sCAAsC,GAAG,OAAC;KACpD,MAAM,CAAC;IACN,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,4CAAqB,EAAE;QAC3D,OAAO,EAAE,4EAA4E;KACtF,CAAC;IACF,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,KAAK,EAAE,OAAC,CAAC,KAAK,CAAC,qBAAU,CAAC,CAAC,QAAQ,EAAE;CACkD,CAAC;KACzF,WAAW,EAAE,CAAC","sourcesContent":["import { z } from 'zod';\nimport { RawZodShape } from '../types';\nimport { Icon, IconSchema } from '@modelcontextprotocol/sdk/types.js';\nimport { isValidMcpUri, isValidMcpUriTemplate } from '../../utils/uri-validation.utils';\n\ndeclare global {\n /**\n * Declarative metadata extends to McpResource decorator.\n */\n export interface ExtendFrontMcpResourceMetadata {}\n\n /**\n * Declarative metadata extends to McpResourceTemplate decorator.\n */\n export interface ExtendFrontMcpResourceTemplateMetadata {}\n}\n\n/**\n * A known resource that the server is capable of reading.\n */\ninterface ResourceMetadata extends ExtendFrontMcpResourceMetadata {\n /** Intended for programmatic or logical use, but used as a display name in past specs or fallback */\n name: string;\n /**\n * Intended for UI and end-user contexts — optimized to be human-readable and easily understood,\n * even by those unfamiliar with domain-specific terminology.\n *\n * If not provided, the name should be used for display (except for Tool,\n * where `annotations.title` should be given precedence over using `name`,\n * if present).\n */\n title?: string;\n\n /**\n * The URI of this resource.\n */\n uri: string;\n\n /**\n * A description of what this resource represents.\n *\n * This can be used by clients to improve the LLM's understanding of available resources. It can be thought of like a \"hint\" to the model.\n */\n description?: string;\n\n /**\n * The MIME type of this resource, if known.\n */\n mimeType?: string;\n\n /**\n * A list of icons that can be used to represent this resource template.\n */\n icons?: Icon[];\n}\n\nexport const frontMcpResourceMetadataSchema = z\n .object({\n name: z.string().min(1),\n title: z.string().optional(),\n uri: z.string().min(1).refine(isValidMcpUri, {\n message: 'URI must have a valid scheme (e.g., file://, https://, custom://)',\n }),\n description: z.string().optional(),\n mimeType: z.string().optional(),\n icons: z.array(IconSchema).optional(),\n } satisfies RawZodShape<ResourceMetadata, ExtendFrontMcpResourceMetadata>)\n .passthrough();\n\n/**\n * A template description for resources available on the server.\n */\ninterface ResourceTemplateMetadata extends ExtendFrontMcpResourceTemplateMetadata {\n /** Intended for programmatic or logical use, but used as a display name in past specs or fallback */\n name: string;\n /**\n * Intended for UI and end-user contexts — optimized to be human-readable and easily understood,\n * even by those unfamiliar with domain-specific terminology.\n *\n * If not provided, the name should be used for display (except for Tool,\n * where `annotations.title` should be given precedence over using `name`,\n * if present).\n */\n title?: string;\n\n /**\n * A URI template (according to RFC 6570) that can be used to construct resource URIs.\n */\n uriTemplate: string;\n\n /**\n * A description of what this template is for.\n *\n * This can be used by clients to improve the LLM's understanding of available resources. It can be thought of like a \"hint\" to the model.\n */\n description?: string;\n\n /**\n * The MIME type for all resources that match this template. This should only be included if all resources matching this template have the same type.\n */\n mimeType?: string;\n\n /**\n * A list of icons that can be used to represent this resource template.\n */\n icons?: Icon[];\n}\n\nexport const frontMcpResourceTemplateMetadataSchema = z\n .object({\n name: z.string().min(1),\n title: z.string().optional(),\n uriTemplate: z.string().min(1).refine(isValidMcpUriTemplate, {\n message: 'URI template must have a valid scheme (e.g., file://, https://, custom://)',\n }),\n description: z.string().optional(),\n mimeType: z.string().optional(),\n icons: z.array(IconSchema).optional(),\n } satisfies RawZodShape<ResourceTemplateMetadata, ExtendFrontMcpResourceTemplateMetadata>)\n .passthrough();\n\nexport {\n ResourceMetadata,\n ResourceMetadata as FrontMcpResourceMetadata,\n ResourceTemplateMetadata,\n ResourceTemplateMetadata as FrontMcpResourceTemplateMetadata,\n};\n"]}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Tool UI Configuration Types
3
+ *
4
+ * Re-exports types from @frontmcp/ui/types for SDK consumers.
5
+ * This provides a single source of truth for UI configuration types
6
+ * while maintaining backwards compatibility.
7
+ *
8
+ * @see {@link https://docs.agentfront.dev/docs/servers/tools#tool-ui | Tool UI Documentation}
9
+ */
10
+ export { type UIContentSecurityPolicy, type TemplateHelpers, type TemplateContext, type TemplateBuilderFn, type WidgetServingMode, type WidgetDisplayMode, type UITemplateConfig as ToolUIConfig, type UIType, type BundlingMode, type DisplayMode, type ResourceMode, type CSPDirectives, type RendererAssets, type WidgetManifest, type RuntimePayload, type WidgetConfig, type WidgetTemplate, type WidgetRuntimeOptions, type BuildManifestResult, type BuildManifestOptions, } from '@frontmcp/ui/types';
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ /**
3
+ * Tool UI Configuration Types
4
+ *
5
+ * Re-exports types from @frontmcp/ui/types for SDK consumers.
6
+ * This provides a single source of truth for UI configuration types
7
+ * while maintaining backwards compatibility.
8
+ *
9
+ * @see {@link https://docs.agentfront.dev/docs/servers/tools#tool-ui | Tool UI Documentation}
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ //# sourceMappingURL=tool-ui.metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-ui.metadata.js","sourceRoot":"","sources":["../../../../src/common/metadata/tool-ui.metadata.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG","sourcesContent":["/**\n * Tool UI Configuration Types\n *\n * Re-exports types from @frontmcp/ui/types for SDK consumers.\n * This provides a single source of truth for UI configuration types\n * while maintaining backwards compatibility.\n *\n * @see {@link https://docs.agentfront.dev/docs/servers/tools#tool-ui | Tool UI Documentation}\n */\n\n// Re-export all UI configuration types from @frontmcp/ui\nexport {\n // Legacy UI Config Types\n type UIContentSecurityPolicy,\n type TemplateHelpers,\n type TemplateContext,\n type TemplateBuilderFn,\n type WidgetServingMode,\n type WidgetDisplayMode,\n // Re-export UITemplateConfig as ToolUIConfig for backwards compatibility\n type UITemplateConfig as ToolUIConfig,\n // New Widget Runtime Types\n type UIType,\n type BundlingMode,\n type DisplayMode,\n type ResourceMode,\n type CSPDirectives,\n type RendererAssets,\n type WidgetManifest,\n type RuntimePayload,\n type WidgetConfig,\n type WidgetTemplate,\n type WidgetRuntimeOptions,\n type BuildManifestResult,\n type BuildManifestOptions,\n} from '@frontmcp/ui/types';\n"]}