@frontmcp/sdk 0.1.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 (353) hide show
  1. package/README.md +11 -0
  2. package/package.json +29 -0
  3. package/src/constants.d.ts +30 -0
  4. package/src/constants.js +36 -0
  5. package/src/constants.js.map +1 -0
  6. package/src/decorators/adapter.decorator.d.ts +7 -0
  7. package/src/decorators/adapter.decorator.js +20 -0
  8. package/src/decorators/adapter.decorator.js.map +1 -0
  9. package/src/decorators/app.decorator.d.ts +7 -0
  10. package/src/decorators/app.decorator.js +44 -0
  11. package/src/decorators/app.decorator.js.map +1 -0
  12. package/src/decorators/auth-provider.decorator.d.ts +7 -0
  13. package/src/decorators/auth-provider.decorator.js +20 -0
  14. package/src/decorators/auth-provider.decorator.js.map +1 -0
  15. package/src/decorators/flow-hooks.decorator.d.ts +12 -0
  16. package/src/decorators/flow-hooks.decorator.js +63 -0
  17. package/src/decorators/flow-hooks.decorator.js.map +1 -0
  18. package/src/decorators/flow.decorator.d.ts +6 -0
  19. package/src/decorators/flow.decorator.js +19 -0
  20. package/src/decorators/flow.decorator.js.map +1 -0
  21. package/src/decorators/front-mcp.decorator.d.ts +6 -0
  22. package/src/decorators/front-mcp.decorator.js +40 -0
  23. package/src/decorators/front-mcp.decorator.js.map +1 -0
  24. package/src/decorators/index.d.ts +12 -0
  25. package/src/decorators/index.js +16 -0
  26. package/src/decorators/index.js.map +1 -0
  27. package/src/decorators/logger.decorator.d.ts +7 -0
  28. package/src/decorators/logger.decorator.js +20 -0
  29. package/src/decorators/logger.decorator.js.map +1 -0
  30. package/src/decorators/plugin.decorator.d.ts +7 -0
  31. package/src/decorators/plugin.decorator.js +38 -0
  32. package/src/decorators/plugin.decorator.js.map +1 -0
  33. package/src/decorators/prompt.decorator.d.ts +13 -0
  34. package/src/decorators/prompt.decorator.js +38 -0
  35. package/src/decorators/prompt.decorator.js.map +1 -0
  36. package/src/decorators/provider.decorator.d.ts +7 -0
  37. package/src/decorators/provider.decorator.js +20 -0
  38. package/src/decorators/provider.decorator.js.map +1 -0
  39. package/src/decorators/resource.decorator.d.ts +17 -0
  40. package/src/decorators/resource.decorator.js +52 -0
  41. package/src/decorators/resource.decorator.js.map +1 -0
  42. package/src/decorators/tool.decorator.d.ts +14 -0
  43. package/src/decorators/tool.decorator.js +38 -0
  44. package/src/decorators/tool.decorator.js.map +1 -0
  45. package/src/decorators-old/async-with.decorator.d.ts +9 -0
  46. package/src/decorators-old/async-with.decorator.js +23 -0
  47. package/src/decorators-old/async-with.decorator.js.map +1 -0
  48. package/src/decorators-old/auth-hook.decorator.d.ts +14 -0
  49. package/src/decorators-old/auth-hook.decorator.js +27 -0
  50. package/src/decorators-old/auth-hook.decorator.js.map +1 -0
  51. package/src/decorators-old/session-hook.decorator.d.ts +14 -0
  52. package/src/decorators-old/session-hook.decorator.js +27 -0
  53. package/src/decorators-old/session-hook.decorator.js.map +1 -0
  54. package/src/decorators-old/tool-hook.decorator.d.ts +14 -0
  55. package/src/decorators-old/tool-hook.decorator.js +27 -0
  56. package/src/decorators-old/tool-hook.decorator.js.map +1 -0
  57. package/src/dynamic/dynamic.adapter.d.ts +42 -0
  58. package/src/dynamic/dynamic.adapter.js +28 -0
  59. package/src/dynamic/dynamic.adapter.js.map +1 -0
  60. package/src/dynamic/dynamic.plugin.d.ts +52 -0
  61. package/src/dynamic/dynamic.plugin.js +33 -0
  62. package/src/dynamic/dynamic.plugin.js.map +1 -0
  63. package/src/dynamic/dynamic.utils.d.ts +3 -0
  64. package/src/dynamic/dynamic.utils.js +27 -0
  65. package/src/dynamic/dynamic.utils.js.map +1 -0
  66. package/src/dynamic/index.d.ts +2 -0
  67. package/src/dynamic/index.js +6 -0
  68. package/src/dynamic/index.js.map +1 -0
  69. package/src/entries/adapter.entry.d.ts +6 -0
  70. package/src/entries/adapter.entry.js +8 -0
  71. package/src/entries/adapter.entry.js.map +1 -0
  72. package/src/entries/app.entry.d.ts +13 -0
  73. package/src/entries/app.entry.js +9 -0
  74. package/src/entries/app.entry.js.map +1 -0
  75. package/src/entries/auth-provider.entry.d.ts +6 -0
  76. package/src/entries/auth-provider.entry.js +8 -0
  77. package/src/entries/auth-provider.entry.js.map +1 -0
  78. package/src/entries/base.entry.d.ts +20 -0
  79. package/src/entries/base.entry.js +17 -0
  80. package/src/entries/base.entry.js.map +1 -0
  81. package/src/entries/flow.entry.d.ts +15 -0
  82. package/src/entries/flow.entry.js +21 -0
  83. package/src/entries/flow.entry.js.map +1 -0
  84. package/src/entries/index.d.ts +12 -0
  85. package/src/entries/index.js +16 -0
  86. package/src/entries/index.js.map +1 -0
  87. package/src/entries/logger.entry.d.ts +6 -0
  88. package/src/entries/logger.entry.js +8 -0
  89. package/src/entries/logger.entry.js.map +1 -0
  90. package/src/entries/plugin.entry.d.ts +6 -0
  91. package/src/entries/plugin.entry.js +8 -0
  92. package/src/entries/plugin.entry.js.map +1 -0
  93. package/src/entries/prompt.entry.d.ts +6 -0
  94. package/src/entries/prompt.entry.js +8 -0
  95. package/src/entries/prompt.entry.js.map +1 -0
  96. package/src/entries/provider.entry.d.ts +7 -0
  97. package/src/entries/provider.entry.js +8 -0
  98. package/src/entries/provider.entry.js.map +1 -0
  99. package/src/entries/resource.entry.d.ts +7 -0
  100. package/src/entries/resource.entry.js +11 -0
  101. package/src/entries/resource.entry.js.map +1 -0
  102. package/src/entries/scope.entry.d.ts +17 -0
  103. package/src/entries/scope.entry.js +8 -0
  104. package/src/entries/scope.entry.js.map +1 -0
  105. package/src/entries/tool.entry.d.ts +15 -0
  106. package/src/entries/tool.entry.js +11 -0
  107. package/src/entries/tool.entry.js.map +1 -0
  108. package/src/index.d.ts +18 -0
  109. package/src/index.js +22 -0
  110. package/src/index.js.map +1 -0
  111. package/src/interfaces/adapter.interface.d.ts +20 -0
  112. package/src/interfaces/adapter.interface.js +3 -0
  113. package/src/interfaces/adapter.interface.js.map +1 -0
  114. package/src/interfaces/app.interface.d.ts +6 -0
  115. package/src/interfaces/app.interface.js +3 -0
  116. package/src/interfaces/app.interface.js.map +1 -0
  117. package/src/interfaces/auth-hook.interface.d.ts +126 -0
  118. package/src/interfaces/auth-hook.interface.js +135 -0
  119. package/src/interfaces/auth-hook.interface.js.map +1 -0
  120. package/src/interfaces/auth-provider.interface.d.ts +22 -0
  121. package/src/interfaces/auth-provider.interface.js +18 -0
  122. package/src/interfaces/auth-provider.interface.js.map +1 -0
  123. package/src/interfaces/base.interface.d.ts +77 -0
  124. package/src/interfaces/base.interface.js +3 -0
  125. package/src/interfaces/base.interface.js.map +1 -0
  126. package/src/interfaces/flow.interface.d.ts +38 -0
  127. package/src/interfaces/flow.interface.js +69 -0
  128. package/src/interfaces/flow.interface.js.map +1 -0
  129. package/src/interfaces/front-mcp.interface.d.ts +5 -0
  130. package/src/interfaces/front-mcp.interface.js +3 -0
  131. package/src/interfaces/front-mcp.interface.js.map +1 -0
  132. package/src/interfaces/index.d.ts +15 -0
  133. package/src/interfaces/index.js +19 -0
  134. package/src/interfaces/index.js.map +1 -0
  135. package/src/interfaces/internal/flow.utils.d.ts +24 -0
  136. package/src/interfaces/internal/flow.utils.js +83 -0
  137. package/src/interfaces/internal/flow.utils.js.map +1 -0
  138. package/src/interfaces/internal/index.d.ts +2 -0
  139. package/src/interfaces/internal/index.js +7 -0
  140. package/src/interfaces/internal/index.js.map +1 -0
  141. package/src/interfaces/internal/primary-auth-provider.interface.d.ts +24 -0
  142. package/src/interfaces/internal/primary-auth-provider.interface.js +33 -0
  143. package/src/interfaces/internal/primary-auth-provider.interface.js.map +1 -0
  144. package/src/interfaces/internal/registry.interface.d.ts +71 -0
  145. package/src/interfaces/internal/registry.interface.js +3 -0
  146. package/src/interfaces/internal/registry.interface.js.map +1 -0
  147. package/src/interfaces/logger.interface.d.ts +42 -0
  148. package/src/interfaces/logger.interface.js +10 -0
  149. package/src/interfaces/logger.interface.js.map +1 -0
  150. package/src/interfaces/plugin.interface.d.ts +8 -0
  151. package/src/interfaces/plugin.interface.js +3 -0
  152. package/src/interfaces/plugin.interface.js.map +1 -0
  153. package/src/interfaces/prompt.interface.d.ts +5 -0
  154. package/src/interfaces/prompt.interface.js +3 -0
  155. package/src/interfaces/prompt.interface.js.map +1 -0
  156. package/src/interfaces/provider.interface.d.ts +20 -0
  157. package/src/interfaces/provider.interface.js +18 -0
  158. package/src/interfaces/provider.interface.js.map +1 -0
  159. package/src/interfaces/resource.interface.d.ts +21 -0
  160. package/src/interfaces/resource.interface.js +3 -0
  161. package/src/interfaces/resource.interface.js.map +1 -0
  162. package/src/interfaces/scope.interface.d.ts +5 -0
  163. package/src/interfaces/scope.interface.js +3 -0
  164. package/src/interfaces/scope.interface.js.map +1 -0
  165. package/src/interfaces/server.interface.d.ts +46 -0
  166. package/src/interfaces/server.interface.js +18 -0
  167. package/src/interfaces/server.interface.js.map +1 -0
  168. package/src/interfaces/session-hook.interface.d.ts +131 -0
  169. package/src/interfaces/session-hook.interface.js +140 -0
  170. package/src/interfaces/session-hook.interface.js.map +1 -0
  171. package/src/interfaces/tool-hook.interface.d.ts +80 -0
  172. package/src/interfaces/tool-hook.interface.js +92 -0
  173. package/src/interfaces/tool-hook.interface.js.map +1 -0
  174. package/src/interfaces/tool.interface.d.ts +45 -0
  175. package/src/interfaces/tool.interface.js +89 -0
  176. package/src/interfaces/tool.interface.js.map +1 -0
  177. package/src/metadata/adapter.metadata.d.ts +22 -0
  178. package/src/metadata/adapter.metadata.js +10 -0
  179. package/src/metadata/adapter.metadata.js.map +1 -0
  180. package/src/metadata/app.metadata.d.ts +872 -0
  181. package/src/metadata/app.metadata.js +30 -0
  182. package/src/metadata/app.metadata.js.map +1 -0
  183. package/src/metadata/auth-provider.metadata.d.ts +33 -0
  184. package/src/metadata/auth-provider.metadata.js +19 -0
  185. package/src/metadata/auth-provider.metadata.js.map +1 -0
  186. package/src/metadata/flow-hooks.metadata.d.ts +20 -0
  187. package/src/metadata/flow-hooks.metadata.js +3 -0
  188. package/src/metadata/flow-hooks.metadata.js.map +1 -0
  189. package/src/metadata/flow.metadata.d.ts +75 -0
  190. package/src/metadata/flow.metadata.js +15 -0
  191. package/src/metadata/flow.metadata.js.map +1 -0
  192. package/src/metadata/front-mcp.metadata.d.ts +1144 -0
  193. package/src/metadata/front-mcp.metadata.js +25 -0
  194. package/src/metadata/front-mcp.metadata.js.map +1 -0
  195. package/src/metadata/index.d.ts +12 -0
  196. package/src/metadata/index.js +16 -0
  197. package/src/metadata/index.js.map +1 -0
  198. package/src/metadata/logger.metadata.d.ts +39 -0
  199. package/src/metadata/logger.metadata.js +10 -0
  200. package/src/metadata/logger.metadata.js.map +1 -0
  201. package/src/metadata/plugin.metadata.d.ts +93 -0
  202. package/src/metadata/plugin.metadata.js +18 -0
  203. package/src/metadata/plugin.metadata.js.map +1 -0
  204. package/src/metadata/prompt.metadata.d.ts +226 -0
  205. package/src/metadata/prompt.metadata.js +27 -0
  206. package/src/metadata/prompt.metadata.js.map +1 -0
  207. package/src/metadata/provider.metadata.d.ts +34 -0
  208. package/src/metadata/provider.metadata.js +20 -0
  209. package/src/metadata/provider.metadata.js.map +1 -0
  210. package/src/metadata/resource.metadata.d.ts +199 -0
  211. package/src/metadata/resource.metadata.js +22 -0
  212. package/src/metadata/resource.metadata.js.map +1 -0
  213. package/src/metadata/tool.metadata.d.ts +278 -0
  214. package/src/metadata/tool.metadata.js +28 -0
  215. package/src/metadata/tool.metadata.js.map +1 -0
  216. package/src/providers/session.provider.d.ts +13 -0
  217. package/src/providers/session.provider.js +27 -0
  218. package/src/providers/session.provider.js.map +1 -0
  219. package/src/records/adapter.record.d.ts +26 -0
  220. package/src/records/adapter.record.js +11 -0
  221. package/src/records/adapter.record.js.map +1 -0
  222. package/src/records/app.record.d.ts +19 -0
  223. package/src/records/app.record.js +9 -0
  224. package/src/records/app.record.js.map +1 -0
  225. package/src/records/auth-provider.record.d.ts +37 -0
  226. package/src/records/auth-provider.record.js +12 -0
  227. package/src/records/auth-provider.record.js.map +1 -0
  228. package/src/records/flow.record.d.ts +11 -0
  229. package/src/records/flow.record.js +8 -0
  230. package/src/records/flow.record.js.map +1 -0
  231. package/src/records/index.d.ts +11 -0
  232. package/src/records/index.js +15 -0
  233. package/src/records/index.js.map +1 -0
  234. package/src/records/logger.record.d.ts +11 -0
  235. package/src/records/logger.record.js +8 -0
  236. package/src/records/logger.record.js.map +1 -0
  237. package/src/records/plugin.record.d.ts +21 -0
  238. package/src/records/plugin.record.js +11 -0
  239. package/src/records/plugin.record.js.map +1 -0
  240. package/src/records/prompt.record.d.ts +18 -0
  241. package/src/records/prompt.record.js +9 -0
  242. package/src/records/prompt.record.js.map +1 -0
  243. package/src/records/provider.record.d.ts +36 -0
  244. package/src/records/provider.record.js +14 -0
  245. package/src/records/provider.record.js.map +1 -0
  246. package/src/records/resource.record.d.ts +18 -0
  247. package/src/records/resource.record.js +14 -0
  248. package/src/records/resource.record.js.map +1 -0
  249. package/src/records/scope.record.d.ts +18 -0
  250. package/src/records/scope.record.js +9 -0
  251. package/src/records/scope.record.js.map +1 -0
  252. package/src/records/tool.record.d.ts +17 -0
  253. package/src/records/tool.record.js +9 -0
  254. package/src/records/tool.record.js.map +1 -0
  255. package/src/schemas/annotated-class.schema.d.ts +11 -0
  256. package/src/schemas/annotated-class.schema.js +40 -0
  257. package/src/schemas/annotated-class.schema.js.map +1 -0
  258. package/src/schemas/http-input.schema.d.ts +33 -0
  259. package/src/schemas/http-input.schema.js +13 -0
  260. package/src/schemas/http-input.schema.js.map +1 -0
  261. package/src/schemas/http-output.schema.d.ts +2011 -0
  262. package/src/schemas/http-output.schema.js +283 -0
  263. package/src/schemas/http-output.schema.js.map +1 -0
  264. package/src/schemas/index.d.ts +3 -0
  265. package/src/schemas/index.js +7 -0
  266. package/src/schemas/index.js.map +1 -0
  267. package/src/tokens/adapter.tokens.d.ts +3 -0
  268. package/src/tokens/adapter.tokens.js +11 -0
  269. package/src/tokens/adapter.tokens.js.map +1 -0
  270. package/src/tokens/app.tokens.d.ts +4 -0
  271. package/src/tokens/app.tokens.js +30 -0
  272. package/src/tokens/app.tokens.js.map +1 -0
  273. package/src/tokens/auth-provider.tokens.d.ts +3 -0
  274. package/src/tokens/auth-provider.tokens.js +12 -0
  275. package/src/tokens/auth-provider.tokens.js.map +1 -0
  276. package/src/tokens/base.tokens.d.ts +5 -0
  277. package/src/tokens/base.tokens.js +9 -0
  278. package/src/tokens/base.tokens.js.map +1 -0
  279. package/src/tokens/flow-hook.tokens.d.ts +4 -0
  280. package/src/tokens/flow-hook.tokens.js +9 -0
  281. package/src/tokens/flow-hook.tokens.js.map +1 -0
  282. package/src/tokens/flow.tokens.d.ts +11 -0
  283. package/src/tokens/flow.tokens.js +16 -0
  284. package/src/tokens/flow.tokens.js.map +1 -0
  285. package/src/tokens/front-mcp.tokens.d.ts +3 -0
  286. package/src/tokens/front-mcp.tokens.js +19 -0
  287. package/src/tokens/front-mcp.tokens.js.map +1 -0
  288. package/src/tokens/index.d.ts +13 -0
  289. package/src/tokens/index.js +17 -0
  290. package/src/tokens/index.js.map +1 -0
  291. package/src/tokens/logger.tokens.d.ts +3 -0
  292. package/src/tokens/logger.tokens.js +11 -0
  293. package/src/tokens/logger.tokens.js.map +1 -0
  294. package/src/tokens/plugin.tokens.d.ts +13 -0
  295. package/src/tokens/plugin.tokens.js +18 -0
  296. package/src/tokens/plugin.tokens.js.map +1 -0
  297. package/src/tokens/prompt.tokens.d.ts +9 -0
  298. package/src/tokens/prompt.tokens.js +14 -0
  299. package/src/tokens/prompt.tokens.js.map +1 -0
  300. package/src/tokens/provider.tokens.d.ts +3 -0
  301. package/src/tokens/provider.tokens.js +12 -0
  302. package/src/tokens/provider.tokens.js.map +1 -0
  303. package/src/tokens/resource.tokens.d.ts +20 -0
  304. package/src/tokens/resource.tokens.js +25 -0
  305. package/src/tokens/resource.tokens.js.map +1 -0
  306. package/src/tokens/server.tokens.d.ts +6 -0
  307. package/src/tokens/server.tokens.js +11 -0
  308. package/src/tokens/server.tokens.js.map +1 -0
  309. package/src/tokens/tool.tokens.d.ts +13 -0
  310. package/src/tokens/tool.tokens.js +18 -0
  311. package/src/tokens/tool.tokens.js.map +1 -0
  312. package/src/types/auth/index.d.ts +2 -0
  313. package/src/types/auth/index.js +6 -0
  314. package/src/types/auth/index.js.map +1 -0
  315. package/src/types/auth/jwt.types.d.ts +112 -0
  316. package/src/types/auth/jwt.types.js +36 -0
  317. package/src/types/auth/jwt.types.js.map +1 -0
  318. package/src/types/auth/session.types.d.ts +263 -0
  319. package/src/types/auth/session.types.js +40 -0
  320. package/src/types/auth/session.types.js.map +1 -0
  321. package/src/types/common.types.d.ts +11 -0
  322. package/src/types/common.types.js +3 -0
  323. package/src/types/common.types.js.map +1 -0
  324. package/src/types/index.d.ts +3 -0
  325. package/src/types/index.js +7 -0
  326. package/src/types/index.js.map +1 -0
  327. package/src/types/options/auth.options.d.ts +513 -0
  328. package/src/types/options/auth.options.js +53 -0
  329. package/src/types/options/auth.options.js.map +1 -0
  330. package/src/types/options/http.options.d.ts +22 -0
  331. package/src/types/options/http.options.js +10 -0
  332. package/src/types/options/http.options.js.map +1 -0
  333. package/src/types/options/index.d.ts +5 -0
  334. package/src/types/options/index.js +9 -0
  335. package/src/types/options/index.js.map +1 -0
  336. package/src/types/options/logging.options.d.ts +39 -0
  337. package/src/types/options/logging.options.js +37 -0
  338. package/src/types/options/logging.options.js.map +1 -0
  339. package/src/types/options/server-info.options.d.ts +48 -0
  340. package/src/types/options/server-info.options.js +13 -0
  341. package/src/types/options/server-info.options.js.map +1 -0
  342. package/src/types/options/session.options.d.ts +67 -0
  343. package/src/types/options/session.options.js +9 -0
  344. package/src/types/options/session.options.js.map +1 -0
  345. package/src/utils/decide-request-intent.utils.d.ts +79 -0
  346. package/src/utils/decide-request-intent.utils.js +326 -0
  347. package/src/utils/decide-request-intent.utils.js.map +1 -0
  348. package/src/utils/index.d.ts +2 -0
  349. package/src/utils/index.js +6 -0
  350. package/src/utils/index.js.map +1 -0
  351. package/src/utils/path.utils.d.ts +20 -0
  352. package/src/utils/path.utils.js +66 -0
  353. package/src/utils/path.utils.js.map +1 -0
package/README.md ADDED
@@ -0,0 +1,11 @@
1
+ # sdk
2
+
3
+ This library was generated with [Nx](https://nx.dev).
4
+
5
+ ## Building
6
+
7
+ Run `nx build common` to build the library.
8
+
9
+ ## Running unit tests
10
+
11
+ Run `nx test common` to execute the unit tests via [Jest](https://jestjs.io).
package/package.json ADDED
@@ -0,0 +1,29 @@
1
+ {
2
+ "name": "@frontmcp/sdk",
3
+ "version": "0.1.0",
4
+ "type": "commonjs",
5
+ "main": "./dist/src/index.js",
6
+ "types": "./dist/src/index.d.ts",
7
+ "exports": {
8
+ "./package.json": "./package.json",
9
+ ".": {
10
+ "development": "./src/index.ts",
11
+ "types": "./dist/src/index.d.ts",
12
+ "import": "./dist/src/index.js",
13
+ "default": "./dist/src/index.js"
14
+ }
15
+ },
16
+ "dependencies": {
17
+ "typescript": "^5.9.3",
18
+ "@modelcontextprotocol/sdk": "^1.19.1",
19
+ "axios": "^1.6.0",
20
+ "ioredis": "^5.8.0",
21
+ "jose": "^6.1.0",
22
+ "openapi-mcp-generator": "^3.2.0",
23
+ "reflect-metadata": "^0.2.2",
24
+ "rxjs": "^7.8.0",
25
+ "zod-from-json-schema": "^0.5.1",
26
+ "zod-to-json-schema": "^3.24.6",
27
+ "tslib": "^2.3.0"
28
+ }
29
+ }
@@ -0,0 +1,30 @@
1
+ export declare const MCP_BASE_METADATA: {
2
+ NAME: string;
3
+ DESCRIPTION: string;
4
+ };
5
+ export declare const MCP_APP_METADATA: {
6
+ PROVIDERS: string;
7
+ ADAPTERS: string;
8
+ PLUGINS: string;
9
+ TOOLS: string;
10
+ NAME: string;
11
+ DESCRIPTION: string;
12
+ };
13
+ export declare const MCP_PROVIDER_METADATA: {
14
+ SCOPE: string;
15
+ NAME: string;
16
+ DESCRIPTION: string;
17
+ };
18
+ export declare const MCP_TOOL_METADATA: {
19
+ ID: string;
20
+ NAME: string;
21
+ DESCRIPTION: string;
22
+ INPUT_SCHEMA: string;
23
+ OUTPUT_SCHEMA: string;
24
+ };
25
+ export declare const MCP_TOOL_HOOKS = "mcp.plugin.toolHooks";
26
+ export declare const MCP_SESSION_HOOKS = "mcp.plugin.sessionHooks";
27
+ export declare const MCP_AUTH_HOOKS = "mcp.plugin.sessionHooks";
28
+ export declare const DESIGN_PARAMTYPES = "design:paramtypes";
29
+ export declare const META_PROVIDERS: string;
30
+ export declare const META_ADAPTERS: string;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.META_ADAPTERS = exports.META_PROVIDERS = exports.DESIGN_PARAMTYPES = exports.MCP_AUTH_HOOKS = exports.MCP_SESSION_HOOKS = exports.MCP_TOOL_HOOKS = exports.MCP_TOOL_METADATA = exports.MCP_PROVIDER_METADATA = exports.MCP_APP_METADATA = exports.MCP_BASE_METADATA = void 0;
4
+ exports.MCP_BASE_METADATA = {
5
+ NAME: 'name',
6
+ DESCRIPTION: 'description',
7
+ };
8
+ exports.MCP_APP_METADATA = {
9
+ ...exports.MCP_BASE_METADATA,
10
+ PROVIDERS: 'providers',
11
+ ADAPTERS: 'adapters',
12
+ PLUGINS: 'plugins',
13
+ TOOLS: 'tools',
14
+ };
15
+ exports.MCP_PROVIDER_METADATA = {
16
+ ...exports.MCP_BASE_METADATA,
17
+ SCOPE: 'scope',
18
+ };
19
+ exports.MCP_TOOL_METADATA = {
20
+ ID: 'id',
21
+ NAME: 'name',
22
+ DESCRIPTION: 'description',
23
+ INPUT_SCHEMA: 'inputSchema',
24
+ OUTPUT_SCHEMA: 'outputSchema',
25
+ };
26
+ // Plugin/global Tool hooks (method-level) metadata key
27
+ // Stored on plugin classes by @ToolHook decorator
28
+ exports.MCP_TOOL_HOOKS = 'mcp.plugin.toolHooks';
29
+ exports.MCP_SESSION_HOOKS = 'mcp.plugin.sessionHooks';
30
+ exports.MCP_AUTH_HOOKS = 'mcp.plugin.sessionHooks';
31
+ // Common metadata keys used across the project
32
+ exports.DESIGN_PARAMTYPES = 'design:paramtypes';
33
+ // Alias for app metadata providers key to standardize usage in core/common
34
+ exports.META_PROVIDERS = exports.MCP_APP_METADATA.PROVIDERS;
35
+ exports.META_ADAPTERS = exports.MCP_APP_METADATA.ADAPTERS;
36
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,iBAAiB,GAAG;IAC/B,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,aAAa;CAC3B,CAAC;AAEW,QAAA,gBAAgB,GAAG;IAC9B,GAAG,yBAAiB;IACpB,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;CACf,CAAC;AAEW,QAAA,qBAAqB,GAAG;IACnC,GAAG,yBAAiB;IACpB,KAAK,EAAE,OAAO;CACf,CAAC;AAGW,QAAA,iBAAiB,GAAG;IAC/B,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,aAAa;IAC1B,YAAY,EAAE,aAAa;IAC3B,aAAa,EAAE,cAAc;CAC9B,CAAC;AAEF,uDAAuD;AACvD,kDAAkD;AACrC,QAAA,cAAc,GAAG,sBAAsB,CAAC;AACxC,QAAA,iBAAiB,GAAG,yBAAyB,CAAC;AAC9C,QAAA,cAAc,GAAG,yBAAyB,CAAC;AAGxD,+CAA+C;AAClC,QAAA,iBAAiB,GAAG,mBAAmB,CAAC;AACrD,2EAA2E;AAC9D,QAAA,cAAc,GAAG,wBAAgB,CAAC,SAAS,CAAC;AAC5C,QAAA,aAAa,GAAG,wBAAgB,CAAC,QAAQ,CAAC","sourcesContent":["export const MCP_BASE_METADATA = {\n NAME: 'name',\n DESCRIPTION: 'description',\n};\n\nexport const MCP_APP_METADATA = {\n ...MCP_BASE_METADATA,\n PROVIDERS: 'providers',\n ADAPTERS: 'adapters',\n PLUGINS: 'plugins',\n TOOLS: 'tools',\n};\n\nexport const MCP_PROVIDER_METADATA = {\n ...MCP_BASE_METADATA,\n SCOPE: 'scope',\n};\n\n\nexport const MCP_TOOL_METADATA = {\n ID: 'id',\n NAME: 'name',\n DESCRIPTION: 'description',\n INPUT_SCHEMA: 'inputSchema',\n OUTPUT_SCHEMA: 'outputSchema',\n};\n\n// Plugin/global Tool hooks (method-level) metadata key\n// Stored on plugin classes by @ToolHook decorator\nexport const MCP_TOOL_HOOKS = 'mcp.plugin.toolHooks';\nexport const MCP_SESSION_HOOKS = 'mcp.plugin.sessionHooks';\nexport const MCP_AUTH_HOOKS = 'mcp.plugin.sessionHooks';\n\n\n// Common metadata keys used across the project\nexport const DESIGN_PARAMTYPES = 'design:paramtypes';\n// Alias for app metadata providers key to standardize usage in core/common\nexport const META_PROVIDERS = MCP_APP_METADATA.PROVIDERS;\nexport const META_ADAPTERS = MCP_APP_METADATA.ADAPTERS;\n"]}
@@ -0,0 +1,7 @@
1
+ import 'reflect-metadata';
2
+ import { AdapterMetadata } from '../metadata';
3
+ /**
4
+ * Decorator that marks a class as a McpAdapter module and provides metadata
5
+ */
6
+ declare function FrontMcpAdapter(providedMetadata: AdapterMetadata): ClassDecorator;
7
+ export { FrontMcpAdapter, FrontMcpAdapter as Adapter, };
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FrontMcpAdapter = FrontMcpAdapter;
4
+ exports.Adapter = FrontMcpAdapter;
5
+ require("reflect-metadata");
6
+ const tokens_1 = require("../tokens");
7
+ const metadata_1 = require("../metadata");
8
+ /**
9
+ * Decorator that marks a class as a McpAdapter module and provides metadata
10
+ */
11
+ function FrontMcpAdapter(providedMetadata) {
12
+ return (target) => {
13
+ const metadata = metadata_1.frontMcpAdapterMetadataSchema.parse(providedMetadata);
14
+ Reflect.defineMetadata(tokens_1.FrontMcpAdapterTokens.type, true, target);
15
+ for (const property in metadata) {
16
+ Reflect.defineMetadata(tokens_1.FrontMcpAdapterTokens[property] ?? property, metadata[property], target);
17
+ }
18
+ };
19
+ }
20
+ //# sourceMappingURL=adapter.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.decorator.js","sourceRoot":"","sources":["../../../src/decorators/adapter.decorator.ts"],"names":[],"mappings":";;AAoBE,0CAAe;AACI,kCAAO;AArB5B,4BAA0B;AAC1B,sCAAkD;AAClD,0CAA6E;AAE7E;;GAEG;AACH,SAAS,eAAe,CAAC,gBAAiC;IACxD,OAAO,CAAC,MAAgB,EAAE,EAAE;QAC1B,MAAM,QAAQ,GAAG,wCAA6B,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAEvE,OAAO,CAAC,cAAc,CAAC,8BAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAEjE,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAChC,OAAO,CAAC,cAAc,CAAC,8BAAqB,CAAC,QAAQ,CAAC,IAAI,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QAClG,CAAC;IACH,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import 'reflect-metadata';\nimport { FrontMcpAdapterTokens } from '../tokens';\nimport { AdapterMetadata, frontMcpAdapterMetadataSchema } from '../metadata';\n\n/**\n * Decorator that marks a class as a McpAdapter module and provides metadata\n */\nfunction FrontMcpAdapter(providedMetadata: AdapterMetadata): ClassDecorator {\n return (target: Function) => {\n const metadata = frontMcpAdapterMetadataSchema.parse(providedMetadata);\n\n Reflect.defineMetadata(FrontMcpAdapterTokens.type, true, target);\n\n for (const property in metadata) {\n Reflect.defineMetadata(FrontMcpAdapterTokens[property] ?? property, metadata[property], target);\n }\n };\n}\n\nexport {\n FrontMcpAdapter,\n FrontMcpAdapter as Adapter,\n};"]}
@@ -0,0 +1,7 @@
1
+ import 'reflect-metadata';
2
+ import { LocalAppMetadata } from '../metadata';
3
+ /**
4
+ * Decorator that marks a class as a McpApp module and provides metadata
5
+ */
6
+ declare function FrontMcpApp(providedMetadata: LocalAppMetadata): ClassDecorator;
7
+ export { FrontMcpApp, FrontMcpApp as App, };
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FrontMcpApp = FrontMcpApp;
4
+ exports.App = FrontMcpApp;
5
+ require("reflect-metadata");
6
+ const tokens_1 = require("../tokens");
7
+ const metadata_1 = require("../metadata");
8
+ /**
9
+ * Decorator that marks a class as a McpApp module and provides metadata
10
+ */
11
+ function FrontMcpApp(providedMetadata) {
12
+ return (target) => {
13
+ const { error, data: metadata } = metadata_1.frontMcpLocalAppMetadataSchema.safeParse(providedMetadata);
14
+ if (error) {
15
+ if (error.format().plugins) {
16
+ throw new Error(`Invalid metadata provided to @FrontMcp { plugins: [?] }: \n${JSON.stringify(error.format().plugins, null, 2)}`);
17
+ }
18
+ if (error.format().providers) {
19
+ throw new Error(`Invalid metadata provided to @FrontMcp { providers: [?] }: \n${JSON.stringify(error.format().providers, null, 2)}`);
20
+ }
21
+ if (error.format().authProviders) {
22
+ throw new Error(`Invalid metadata provided to @FrontMcp { authProviders: [?] }: \n${JSON.stringify(error.format().authProviders, null, 2)}`);
23
+ }
24
+ if (error.format().adapters) {
25
+ throw new Error(`Invalid metadata provided to @FrontMcp { adapters: [?] }: \n${JSON.stringify(error.format().adapters, null, 2)}`);
26
+ }
27
+ if (error.format().tools) {
28
+ throw new Error(`Invalid metadata provided to @FrontMcp { tools: [?] }: \n${JSON.stringify(error.format().tools, null, 2)}`);
29
+ }
30
+ if (error.format().resources) {
31
+ throw new Error(`Invalid metadata provided to @FrontMcp { resources: [?] }: \n${JSON.stringify(error.format().resources, null, 2)}`);
32
+ }
33
+ if (error.format().prompts) {
34
+ throw new Error(`Invalid metadata provided to @FrontMcp { prompts: [?] }: \n${JSON.stringify(error.format().prompts, null, 2)}`);
35
+ }
36
+ throw error;
37
+ }
38
+ Reflect.defineMetadata(tokens_1.FrontMcpLocalAppTokens.type, true, target);
39
+ for (const property in metadata) {
40
+ Reflect.defineMetadata(tokens_1.FrontMcpLocalAppTokens[property] ?? property, metadata[property], target);
41
+ }
42
+ };
43
+ }
44
+ //# sourceMappingURL=app.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.decorator.js","sourceRoot":"","sources":["../../../src/decorators/app.decorator.ts"],"names":[],"mappings":";;AA4CE,kCAAW;AACI,0BAAG;AA7CpB,4BAA0B;AAC1B,sCAAmD;AACnD,0CAA+E;AAE/E;;GAEG;AACH,SAAS,WAAW,CAAC,gBAAkC;IACrD,OAAO,CAAC,MAAgB,EAAE,EAAE;QAE1B,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,yCAA8B,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAC7F,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,8DAA8D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACnI,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,gEAAgE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACvI,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,aAAa,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CAAC,oEAAoE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAC/I,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,+DAA+D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACrI,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,4DAA4D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAC/H,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,gEAAgE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACvI,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,8DAA8D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACnI,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QAED,OAAO,CAAC,cAAc,CAAC,+BAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAClE,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAChC,OAAO,CAAC,cAAc,CAAC,+BAAsB,CAAC,QAAQ,CAAC,IAAI,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QACnG,CAAC;IACH,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import 'reflect-metadata';\nimport { FrontMcpLocalAppTokens } from '../tokens';\nimport { LocalAppMetadata, frontMcpLocalAppMetadataSchema } from '../metadata';\n\n/**\n * Decorator that marks a class as a McpApp module and provides metadata\n */\nfunction FrontMcpApp(providedMetadata: LocalAppMetadata): ClassDecorator {\n return (target: Function) => {\n\n const { error, data: metadata } = frontMcpLocalAppMetadataSchema.safeParse(providedMetadata);\n if (error) {\n if (error.format().plugins) {\n throw new Error(`Invalid metadata provided to @FrontMcp { plugins: [?] }: \\n${JSON.stringify(error.format().plugins, null, 2)}`);\n }\n if (error.format().providers) {\n throw new Error(`Invalid metadata provided to @FrontMcp { providers: [?] }: \\n${JSON.stringify(error.format().providers, null, 2)}`);\n }\n if (error.format().authProviders) {\n throw new Error(`Invalid metadata provided to @FrontMcp { authProviders: [?] }: \\n${JSON.stringify(error.format().authProviders, null, 2)}`);\n }\n if (error.format().adapters) {\n throw new Error(`Invalid metadata provided to @FrontMcp { adapters: [?] }: \\n${JSON.stringify(error.format().adapters, null, 2)}`);\n }\n if (error.format().tools) {\n throw new Error(`Invalid metadata provided to @FrontMcp { tools: [?] }: \\n${JSON.stringify(error.format().tools, null, 2)}`);\n }\n if (error.format().resources) {\n throw new Error(`Invalid metadata provided to @FrontMcp { resources: [?] }: \\n${JSON.stringify(error.format().resources, null, 2)}`);\n }\n if (error.format().prompts) {\n throw new Error(`Invalid metadata provided to @FrontMcp { prompts: [?] }: \\n${JSON.stringify(error.format().prompts, null, 2)}`);\n }\n throw error;\n }\n\n Reflect.defineMetadata(FrontMcpLocalAppTokens.type, true, target);\n for (const property in metadata) {\n Reflect.defineMetadata(FrontMcpLocalAppTokens[property] ?? property, metadata[property], target);\n }\n };\n}\n\nexport {\n FrontMcpApp,\n FrontMcpApp as App,\n};"]}
@@ -0,0 +1,7 @@
1
+ import 'reflect-metadata';
2
+ import { AuthProviderMetadata } from '../metadata';
3
+ /**
4
+ * Decorator that marks a class as an AuthProvider module and provides metadata
5
+ */
6
+ declare function FrontMcpAuthProvider(providedMetadata: AuthProviderMetadata): ClassDecorator;
7
+ export { FrontMcpAuthProvider, FrontMcpAuthProvider as AuthProvider, };
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FrontMcpAuthProvider = FrontMcpAuthProvider;
4
+ exports.AuthProvider = FrontMcpAuthProvider;
5
+ require("reflect-metadata");
6
+ const tokens_1 = require("../tokens");
7
+ const metadata_1 = require("../metadata");
8
+ /**
9
+ * Decorator that marks a class as an AuthProvider module and provides metadata
10
+ */
11
+ function FrontMcpAuthProvider(providedMetadata) {
12
+ return (target) => {
13
+ const metadata = metadata_1.frontMcpAuthProviderMetadataSchema.parse(providedMetadata);
14
+ Reflect.defineMetadata(tokens_1.FrontMcpAuthProviderTokens.type, true, target);
15
+ for (const property in metadata) {
16
+ Reflect.defineMetadata(tokens_1.FrontMcpAuthProviderTokens[property] ?? property, metadata[property], target);
17
+ }
18
+ };
19
+ }
20
+ //# sourceMappingURL=auth-provider.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-provider.decorator.js","sourceRoot":"","sources":["../../../src/decorators/auth-provider.decorator.ts"],"names":[],"mappings":";;AAoBE,oDAAoB;AACI,4CAAY;AArBtC,4BAA0B;AAC1B,sCAAuD;AACvD,0CAAuF;AAEvF;;GAEG;AACH,SAAS,oBAAoB,CAAC,gBAAsC;IAClE,OAAO,CAAC,MAAgB,EAAE,EAAE;QAC1B,MAAM,QAAQ,GAAG,6CAAkC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAE5E,OAAO,CAAC,cAAc,CAAC,mCAA0B,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAEtE,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAChC,OAAO,CAAC,cAAc,CAAC,mCAA0B,CAAC,QAAQ,CAAC,IAAI,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QACvG,CAAC;IACH,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import 'reflect-metadata';\nimport { FrontMcpAuthProviderTokens } from '../tokens';\nimport { AuthProviderMetadata, frontMcpAuthProviderMetadataSchema } from '../metadata';\n\n/**\n * Decorator that marks a class as an AuthProvider module and provides metadata\n */\nfunction FrontMcpAuthProvider(providedMetadata: AuthProviderMetadata): ClassDecorator {\n return (target: Function) => {\n const metadata = frontMcpAuthProviderMetadataSchema.parse(providedMetadata);\n\n Reflect.defineMetadata(FrontMcpAuthProviderTokens.type, true, target);\n\n for (const property in metadata) {\n Reflect.defineMetadata(FrontMcpAuthProviderTokens[property] ?? property, metadata[property], target);\n }\n };\n}\n\nexport {\n FrontMcpAuthProvider,\n FrontMcpAuthProvider as AuthProvider,\n};"]}
@@ -0,0 +1,12 @@
1
+ import { FlowHookOptions, FlowName } from '../metadata';
2
+ /** NEW: typed variants */
3
+ export declare function StageHookOf<Name extends FlowName>(name: Name): (stage: ExtendFlows[Name]["stage"], opts?: FlowHookOptions<ExtendFlows[Name]["ctx"]>) => MethodDecorator;
4
+ export declare function WillHookOf<Name extends FlowName>(name: Name): (stage: ExtendFlows[Name]["stage"], opts?: FlowHookOptions<ExtendFlows[Name]["ctx"]>) => MethodDecorator;
5
+ export declare function DidHookOf<Name extends FlowName>(name: Name): (stage: ExtendFlows[Name]["stage"], opts?: FlowHookOptions<ExtendFlows[Name]["ctx"]>) => MethodDecorator;
6
+ export declare function AroundHookOf<Name extends FlowName>(name: Name): (stage: ExtendFlows[Name]["stage"], opts?: FlowHookOptions<ExtendFlows[Name]["ctx"]>) => MethodDecorator;
7
+ export declare function FlowHooksOf<Name extends FlowName>(name: Name): {
8
+ Stage: (stage: ExtendFlows[Name]["stage"], opts?: FlowHookOptions<ExtendFlows[Name]["ctx"]>) => MethodDecorator;
9
+ Will: (stage: ExtendFlows[Name]["stage"], opts?: FlowHookOptions<ExtendFlows[Name]["ctx"]>) => MethodDecorator;
10
+ Did: (stage: ExtendFlows[Name]["stage"], opts?: FlowHookOptions<ExtendFlows[Name]["ctx"]>) => MethodDecorator;
11
+ Around: (stage: ExtendFlows[Name]["stage"], opts?: FlowHookOptions<ExtendFlows[Name]["ctx"]>) => MethodDecorator;
12
+ };
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StageHookOf = StageHookOf;
4
+ exports.WillHookOf = WillHookOf;
5
+ exports.DidHookOf = DidHookOf;
6
+ exports.AroundHookOf = AroundHookOf;
7
+ exports.FlowHooksOf = FlowHooksOf;
8
+ const tokens_1 = require("../tokens");
9
+ function registerFlowHook(target, meta) {
10
+ const ctor = target.constructor;
11
+ const arr = Reflect.getMetadata(tokens_1.FrontMcpFlowHookTokens.hooks, ctor) ?? [];
12
+ arr.push(meta);
13
+ Reflect.defineMetadata(tokens_1.FrontMcpFlowHookTokens.hooks, arr, ctor);
14
+ }
15
+ /** Base factory (kept internal) */
16
+ function make(kind) {
17
+ return function (stage, opts = {}) {
18
+ return (target, key, _desc) => {
19
+ registerFlowHook(target, {
20
+ kind,
21
+ stage: String(stage),
22
+ method: String(key),
23
+ priority: opts.priority ?? 0,
24
+ filter: opts.filter,
25
+ static: Boolean(target.constructor[key]),
26
+ });
27
+ };
28
+ };
29
+ }
30
+ /** NEW: typed variants */
31
+ function StageHookOf(name) {
32
+ const base = make('stage');
33
+ return function (stage, opts = {}) {
34
+ return base(stage, opts);
35
+ };
36
+ }
37
+ function WillHookOf(name) {
38
+ const base = make('will');
39
+ return function (stage, opts = {}) {
40
+ return base(stage, opts);
41
+ };
42
+ }
43
+ function DidHookOf(name) {
44
+ const base = make('did');
45
+ return function (stage, opts = {}) {
46
+ return base(stage, opts);
47
+ };
48
+ }
49
+ function AroundHookOf(name) {
50
+ const base = make('around');
51
+ return function (stage, opts = {}) {
52
+ return base(stage, opts);
53
+ };
54
+ }
55
+ function FlowHooksOf(name) {
56
+ return {
57
+ Stage: StageHookOf(name),
58
+ Will: WillHookOf(name),
59
+ Did: DidHookOf(name),
60
+ Around: AroundHookOf(name),
61
+ };
62
+ }
63
+ //# sourceMappingURL=flow-hooks.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow-hooks.decorator.js","sourceRoot":"","sources":["../../../src/decorators/flow-hooks.decorator.ts"],"names":[],"mappings":";;AA4BA,kCAOC;AAED,gCAOC;AAED,8BAOC;AAED,oCAOC;AAED,kCAOC;AAtED,sCAAmD;AAGnD,SAAS,gBAAgB,CAAC,MAAW,EAAE,IAAkB;IACvD,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC;IAChC,MAAM,GAAG,GAAmB,OAAO,CAAC,WAAW,CAAC,+BAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IAC1F,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,OAAO,CAAC,cAAc,CAAC,+BAAsB,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AAClE,CAAC;AAED,mCAAmC;AACnC,SAAS,IAAI,CAAC,IAAkB;IAC9B,OAAO,UAAoD,KAAQ,EAAE,OAA6B,EAAE;QAClG,OAAO,CAAC,MAAW,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;YACjC,gBAAgB,CAAC,MAAM,EAAE;gBACvB,IAAI;gBACJ,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;gBACpB,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC;gBACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC;gBAC5B,MAAM,EAAE,IAAI,CAAC,MAAa;gBAC1B,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;aACzC,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,0BAA0B;AAC1B,SAAgB,WAAW,CAAwB,IAAU;IAG3D,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3B,OAAO,UAAS,KAAQ,EAAE,OAA6B,EAAE;QACvD,OAAO,IAAI,CAAS,KAAK,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC;AACJ,CAAC;AAED,SAAgB,UAAU,CAAwB,IAAU;IAG1D,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,OAAO,UAAS,KAAQ,EAAE,OAA6B,EAAE;QACvD,OAAO,IAAI,CAAS,KAAK,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC;AACJ,CAAC;AAED,SAAgB,SAAS,CAAwB,IAAU;IAGzD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACzB,OAAO,UAAS,KAAQ,EAAE,OAA6B,EAAE;QACvD,OAAO,IAAI,CAAS,KAAK,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC;AACJ,CAAC;AAED,SAAgB,YAAY,CAAwB,IAAU;IAG5D,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5B,OAAO,UAAS,KAAQ,EAAE,OAA6B,EAAE;QACvD,OAAO,IAAI,CAAS,KAAK,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC;AACJ,CAAC;AAED,SAAgB,WAAW,CAAwB,IAAU;IAC3D,OAAO;QACL,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC;QACxB,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC;QACtB,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC;QACpB,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC;KAC3B,CAAC;AACJ,CAAC","sourcesContent":["import { FlowHookKind, FlowHookOptions, FlowHookMeta, FlowName } from '../metadata';\nimport { FrontMcpFlowHookTokens } from '../tokens';\n\n\nfunction registerFlowHook(target: any, meta: FlowHookMeta) {\n const ctor = target.constructor;\n const arr: FlowHookMeta[] = Reflect.getMetadata(FrontMcpFlowHookTokens.hooks, ctor) ?? [];\n arr.push(meta);\n Reflect.defineMetadata(FrontMcpFlowHookTokens.hooks, arr, ctor);\n}\n\n/** Base factory (kept internal) */\nfunction make(kind: FlowHookKind) {\n return function <Ctx = unknown, T extends string = string>(stage: T, opts: FlowHookOptions<Ctx> = {}): MethodDecorator {\n return (target: any, key, _desc) => {\n registerFlowHook(target, {\n kind,\n stage: String(stage),\n method: String(key),\n priority: opts.priority ?? 0,\n filter: opts.filter as any,\n static: Boolean(target.constructor[key]),\n });\n };\n };\n}\n\n/** NEW: typed variants */\nexport function StageHookOf<Name extends FlowName>(name: Name) {\n type T = ExtendFlows[Name]['stage']\n type Ctx = ExtendFlows[Name]['ctx']\n const base = make('stage');\n return function(stage: T, opts: FlowHookOptions<Ctx> = {}) {\n return base<Ctx, T>(stage, opts);\n };\n}\n\nexport function WillHookOf<Name extends FlowName>(name: Name) {\n type T = ExtendFlows[Name]['stage']\n type Ctx = ExtendFlows[Name]['ctx']\n const base = make('will');\n return function(stage: T, opts: FlowHookOptions<Ctx> = {}) {\n return base<Ctx, T>(stage, opts);\n };\n}\n\nexport function DidHookOf<Name extends FlowName>(name: Name) {\n type T = ExtendFlows[Name]['stage']\n type Ctx = ExtendFlows[Name]['ctx']\n const base = make('did');\n return function(stage: T, opts: FlowHookOptions<Ctx> = {}) {\n return base<Ctx, T>(stage, opts);\n };\n}\n\nexport function AroundHookOf<Name extends FlowName>(name: Name) {\n type T = ExtendFlows[Name]['stage']\n type Ctx = ExtendFlows[Name]['ctx']\n const base = make('around');\n return function(stage: T, opts: FlowHookOptions<Ctx> = {}) {\n return base<Ctx, T>(stage, opts);\n };\n}\n\nexport function FlowHooksOf<Name extends FlowName>(name: Name) {\n return {\n Stage: StageHookOf(name),\n Will: WillHookOf(name),\n Did: DidHookOf(name),\n Around: AroundHookOf(name),\n };\n}\n\n"]}
@@ -0,0 +1,6 @@
1
+ import { FlowMetadata, FlowName } from '../metadata';
2
+ /**
3
+ * Decorator that marks a class as a FrontMcpFlow module and provides metadata
4
+ */
5
+ declare function FrontMcpFlow<Name extends FlowName>(providedMetadata: FlowMetadata<Name>): ClassDecorator;
6
+ export { FrontMcpFlow, FrontMcpFlow as Flow, };
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FrontMcpFlow = FrontMcpFlow;
4
+ exports.Flow = FrontMcpFlow;
5
+ const metadata_1 = require("../metadata");
6
+ const tokens_1 = require("../tokens");
7
+ /**
8
+ * Decorator that marks a class as a FrontMcpFlow module and provides metadata
9
+ */
10
+ function FrontMcpFlow(providedMetadata) {
11
+ return (target) => {
12
+ const metadata = metadata_1.frontMcpFlowMetadataSchema.parse(providedMetadata);
13
+ Reflect.defineMetadata(tokens_1.FrontMcpFlowTokens.type, true, target);
14
+ for (const property in metadata) {
15
+ Reflect.defineMetadata(tokens_1.FrontMcpFlowTokens[property] ?? property, metadata[property], target);
16
+ }
17
+ };
18
+ }
19
+ //# sourceMappingURL=flow.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow.decorator.js","sourceRoot":"","sources":["../../../src/decorators/flow.decorator.ts"],"names":[],"mappings":";;AAsBE,oCAAY;AACI,4BAAI;AAvBtB,0CAAiF;AACjF,sCAA+C;AAI/C;;GAEG;AACH,SAAS,YAAY,CAAwB,gBAAoC;IAE/E,OAAO,CAAC,MAAW,EAAE,EAAE;QACrB,MAAM,QAAQ,GAAG,qCAA0B,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAEpE,OAAO,CAAC,cAAc,CAAC,2BAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAE9D,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAChC,OAAO,CAAC,cAAc,CAAC,2BAAkB,CAAC,QAAQ,CAAC,IAAI,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QAC/F,CAAC;IACH,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import { FlowMetadata, FlowName, frontMcpFlowMetadataSchema } from '../metadata';\nimport { FrontMcpFlowTokens } from '../tokens';\n\n\n\n/**\n * Decorator that marks a class as a FrontMcpFlow module and provides metadata\n */\nfunction FrontMcpFlow<Name extends FlowName>(providedMetadata: FlowMetadata<Name>): ClassDecorator {\n\n return (target: any) => {\n const metadata = frontMcpFlowMetadataSchema.parse(providedMetadata);\n\n Reflect.defineMetadata(FrontMcpFlowTokens.type, true, target);\n\n for (const property in metadata) {\n Reflect.defineMetadata(FrontMcpFlowTokens[property] ?? property, metadata[property], target);\n }\n };\n}\n\nexport {\n FrontMcpFlow,\n FrontMcpFlow as Flow,\n}"]}
@@ -0,0 +1,6 @@
1
+ import 'reflect-metadata';
2
+ import { FrontMcpMetadata } from '../metadata';
3
+ /**
4
+ * Decorator that marks a class as a FrontMcp Server and provides metadata
5
+ */
6
+ export declare function FrontMcp(providedMetadata: FrontMcpMetadata): ClassDecorator;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FrontMcp = FrontMcp;
4
+ require("reflect-metadata");
5
+ const tokens_1 = require("../tokens");
6
+ const metadata_1 = require("../metadata");
7
+ /**
8
+ * Decorator that marks a class as a FrontMcp Server and provides metadata
9
+ */
10
+ function FrontMcp(providedMetadata) {
11
+ return (target) => {
12
+ const { error, data: metadata } = metadata_1.frontMcpMetadataSchema.safeParse(providedMetadata);
13
+ if (error) {
14
+ if (error.format().apps) {
15
+ throw new Error(`Invalid metadata provided to @FrontMcp { apps: [?] }: \n${JSON.stringify(error.format().apps, null, 2)}`);
16
+ }
17
+ if (error.format().providers) {
18
+ throw new Error(`Invalid metadata provided to @FrontMcp { providers: [?] }: \n${JSON.stringify(error.format().providers, null, 2)}`);
19
+ }
20
+ if (error.format().logging?.transports) {
21
+ throw new Error(`Invalid metadata provided to @FrontMcp { logging: { transports: [?] } }: \n${JSON.stringify(error.format().logging?.transports, null, 2)}`);
22
+ }
23
+ throw error;
24
+ }
25
+ Reflect.defineMetadata(tokens_1.FrontMcpTokens.type, true, target);
26
+ for (const property in metadata) {
27
+ Reflect.defineMetadata(tokens_1.FrontMcpTokens[property] ?? property, metadata[property], target);
28
+ }
29
+ if (metadata.serve) {
30
+ const core = '@frontmcp/core';
31
+ import(core).then(({ FrontMcpInstance }) => {
32
+ if (!FrontMcpInstance) {
33
+ throw new Error(`${core} version mismatch, make sure you have the same version for all @frontmcp/* packages`);
34
+ }
35
+ FrontMcpInstance.bootstrap(metadata);
36
+ });
37
+ }
38
+ };
39
+ }
40
+ //# sourceMappingURL=front-mcp.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"front-mcp.decorator.js","sourceRoot":"","sources":["../../../src/decorators/front-mcp.decorator.ts"],"names":[],"mappings":";;AAOA,4BAiCC;AAxCD,4BAA0B;AAC1B,sCAA2C;AAC3C,0CAAuE;AAEvE;;GAEG;AACH,SAAgB,QAAQ,CAAC,gBAAkC;IACzD,OAAO,CAAC,MAAgB,EAAE,EAAE;QAE1B,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,iCAAsB,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACrF,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,2DAA2D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAC7H,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,gEAAgE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACvI,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CAAC,8EAA8E,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAC/J,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QAED,OAAO,CAAC,cAAc,CAAC,uBAAc,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1D,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAChC,OAAO,CAAC,cAAc,CAAC,uBAAc,CAAC,QAAQ,CAAC,IAAI,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QAC3F,CAAC;QAED,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,gBAAgB,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE;gBACzC,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACtB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,qFAAqF,CAAC,CAAC;gBAChH,CAAC;gBACD,gBAAgB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;QACL,CAAC;IAEH,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import 'reflect-metadata';\nimport { FrontMcpTokens } from '../tokens';\nimport { FrontMcpMetadata, frontMcpMetadataSchema } from '../metadata';\n\n/**\n * Decorator that marks a class as a FrontMcp Server and provides metadata\n */\nexport function FrontMcp(providedMetadata: FrontMcpMetadata): ClassDecorator {\n return (target: Function) => {\n\n const { error, data: metadata } = frontMcpMetadataSchema.safeParse(providedMetadata);\n if (error) {\n if (error.format().apps) {\n throw new Error(`Invalid metadata provided to @FrontMcp { apps: [?] }: \\n${JSON.stringify(error.format().apps, null, 2)}`);\n }\n if (error.format().providers) {\n throw new Error(`Invalid metadata provided to @FrontMcp { providers: [?] }: \\n${JSON.stringify(error.format().providers, null, 2)}`);\n }\n if (error.format().logging?.transports) {\n throw new Error(`Invalid metadata provided to @FrontMcp { logging: { transports: [?] } }: \\n${JSON.stringify(error.format().logging?.transports, null, 2)}`);\n }\n throw error;\n }\n\n Reflect.defineMetadata(FrontMcpTokens.type, true, target);\n for (const property in metadata) {\n Reflect.defineMetadata(FrontMcpTokens[property] ?? property, metadata[property], target);\n }\n\n if (metadata.serve) {\n const core = '@frontmcp/core';\n import(core).then(({ FrontMcpInstance }) => {\n if (!FrontMcpInstance) {\n throw new Error(`${core} version mismatch, make sure you have the same version for all @frontmcp/* packages`);\n }\n FrontMcpInstance.bootstrap(metadata);\n });\n }\n\n };\n}\n"]}
@@ -0,0 +1,12 @@
1
+ export * from './front-mcp.decorator';
2
+ export * from './flow.decorator';
3
+ export * from './flow-hooks.decorator';
4
+ export * from './app.decorator';
5
+ export * from './provider.decorator';
6
+ export * from './auth-provider.decorator';
7
+ export * from './adapter.decorator';
8
+ export * from './plugin.decorator';
9
+ export * from './tool.decorator';
10
+ export * from './resource.decorator';
11
+ export * from './prompt.decorator';
12
+ export * from './logger.decorator';
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./front-mcp.decorator"), exports);
5
+ tslib_1.__exportStar(require("./flow.decorator"), exports);
6
+ tslib_1.__exportStar(require("./flow-hooks.decorator"), exports);
7
+ tslib_1.__exportStar(require("./app.decorator"), exports);
8
+ tslib_1.__exportStar(require("./provider.decorator"), exports);
9
+ tslib_1.__exportStar(require("./auth-provider.decorator"), exports);
10
+ tslib_1.__exportStar(require("./adapter.decorator"), exports);
11
+ tslib_1.__exportStar(require("./plugin.decorator"), exports);
12
+ tslib_1.__exportStar(require("./tool.decorator"), exports);
13
+ tslib_1.__exportStar(require("./resource.decorator"), exports);
14
+ tslib_1.__exportStar(require("./prompt.decorator"), exports);
15
+ tslib_1.__exportStar(require("./logger.decorator"), exports);
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/decorators/index.ts"],"names":[],"mappings":";;;AAAA,gEAAsC;AACtC,2DAAiC;AACjC,iEAAuC;AACvC,0DAAgC;AAChC,+DAAqC;AACrC,oEAA0C;AAC1C,8DAAoC;AACpC,6DAAmC;AACnC,2DAAiC;AACjC,+DAAqC;AACrC,6DAAmC;AACnC,6DAAmC","sourcesContent":["export * from './front-mcp.decorator';\nexport * from './flow.decorator';\nexport * from './flow-hooks.decorator';\nexport * from './app.decorator';\nexport * from './provider.decorator';\nexport * from './auth-provider.decorator';\nexport * from './adapter.decorator';\nexport * from './plugin.decorator';\nexport * from './tool.decorator';\nexport * from './resource.decorator';\nexport * from './prompt.decorator';\nexport * from './logger.decorator';\n"]}
@@ -0,0 +1,7 @@
1
+ import 'reflect-metadata';
2
+ import { LogTransportMetadata } from '../metadata';
3
+ /**
4
+ * Decorator that marks a class as a FrontMcpLogger module and provides metadata
5
+ */
6
+ declare function FrontMcpLogTransport(providedMetadata: LogTransportMetadata): ClassDecorator;
7
+ export { FrontMcpLogTransport, FrontMcpLogTransport as LogTransport, };
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FrontMcpLogTransport = FrontMcpLogTransport;
4
+ exports.LogTransport = FrontMcpLogTransport;
5
+ require("reflect-metadata");
6
+ const tokens_1 = require("../tokens");
7
+ const metadata_1 = require("../metadata");
8
+ /**
9
+ * Decorator that marks a class as a FrontMcpLogger module and provides metadata
10
+ */
11
+ function FrontMcpLogTransport(providedMetadata) {
12
+ return (target) => {
13
+ const { error, data: metadata } = metadata_1.frontMcpLogTransportMetadataSchema.safeParse(providedMetadata);
14
+ Reflect.defineMetadata(tokens_1.FrontMcpLogTransportTokens.type, true, target);
15
+ for (const property in metadata) {
16
+ Reflect.defineMetadata(tokens_1.FrontMcpLogTransportTokens[property] ?? property, metadata[property], target);
17
+ }
18
+ };
19
+ }
20
+ //# sourceMappingURL=logger.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.decorator.js","sourceRoot":"","sources":["../../../src/decorators/logger.decorator.ts"],"names":[],"mappings":";;AAsBE,oDAAoB;AACI,4CAAY;AAvBtC,4BAA0B;AAC1B,sCAAuD;AACvD,0CAGqB;AAErB;;GAEG;AACH,SAAS,oBAAoB,CAAC,gBAAsC;IAClE,OAAO,CAAC,MAAgB,EAAE,EAAE;QAC1B,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,6CAAkC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAEjG,OAAO,CAAC,cAAc,CAAC,mCAA0B,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACtE,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAChC,OAAO,CAAC,cAAc,CAAC,mCAA0B,CAAC,QAAQ,CAAC,IAAI,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QACvG,CAAC;IACH,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import 'reflect-metadata';\nimport { FrontMcpLogTransportTokens } from '../tokens';\nimport {\n LogTransportMetadata,\n frontMcpLogTransportMetadataSchema,\n} from '../metadata';\n\n/**\n * Decorator that marks a class as a FrontMcpLogger module and provides metadata\n */\nfunction FrontMcpLogTransport(providedMetadata: LogTransportMetadata): ClassDecorator {\n return (target: Function) => {\n const { error, data: metadata } = frontMcpLogTransportMetadataSchema.safeParse(providedMetadata);\n\n Reflect.defineMetadata(FrontMcpLogTransportTokens.type, true, target);\n for (const property in metadata) {\n Reflect.defineMetadata(FrontMcpLogTransportTokens[property] ?? property, metadata[property], target);\n }\n };\n}\n\nexport {\n FrontMcpLogTransport,\n FrontMcpLogTransport as LogTransport,\n};"]}
@@ -0,0 +1,7 @@
1
+ import 'reflect-metadata';
2
+ import { PluginMetadata } from '../metadata';
3
+ /**
4
+ * Decorator that marks a class as a McpPlugin and provides metadata
5
+ */
6
+ declare function FrontMcpPlugin(providedMetadata: PluginMetadata): ClassDecorator;
7
+ export { FrontMcpPlugin, FrontMcpPlugin as Plugin, };
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FrontMcpPlugin = FrontMcpPlugin;
4
+ exports.Plugin = FrontMcpPlugin;
5
+ require("reflect-metadata");
6
+ const tokens_1 = require("../tokens");
7
+ const metadata_1 = require("../metadata");
8
+ /**
9
+ * Decorator that marks a class as a McpPlugin and provides metadata
10
+ */
11
+ function FrontMcpPlugin(providedMetadata) {
12
+ return (target) => {
13
+ const { error, data: metadata } = metadata_1.frontMcpPluginMetadataSchema.safeParse(providedMetadata);
14
+ if (error) {
15
+ if (error.format().providers) {
16
+ throw new Error(`Invalid metadata provided to @FrontMcpProvider or @Provider: \n${JSON.stringify(error.formErrors.fieldErrors['providers'], null, 2)}`);
17
+ }
18
+ if (error.format().adapters) {
19
+ throw new Error(`Invalid metadata provided to @FrontMcpAdapter or @Adapter: \n${JSON.stringify(error.format().adapters, null, 2)}`);
20
+ }
21
+ if (error.format().tools) {
22
+ throw new Error(`Invalid metadata provided to @FrontMcpTool or @Tool: \n${JSON.stringify(error.format().tools, null, 2)}`);
23
+ }
24
+ if (error.format().resources) {
25
+ throw new Error(`Invalid metadata provided to @FrontMcpResource or @Resource: \n${JSON.stringify(error.format().resources, null, 2)}`);
26
+ }
27
+ if (error.format().prompts) {
28
+ throw new Error(`Invalid metadata provided to @FrontMcpPrompt or @Prompt: \n${JSON.stringify(error.format().prompts, null, 2)}`);
29
+ }
30
+ throw error;
31
+ }
32
+ Reflect.defineMetadata(tokens_1.FrontMcpPluginTokens.type, true, target);
33
+ for (const property in metadata) {
34
+ Reflect.defineMetadata(tokens_1.FrontMcpPluginTokens[property] ?? property, metadata[property], target);
35
+ }
36
+ };
37
+ }
38
+ //# sourceMappingURL=plugin.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.decorator.js","sourceRoot":"","sources":["../../../src/decorators/plugin.decorator.ts"],"names":[],"mappings":";;AAsCE,wCAAc;AACI,gCAAM;AAvC1B,4BAA0B;AAC1B,sCAAiD;AACjD,0CAA2E;AAE3E;;GAEG;AACH,SAAS,cAAc,CAAC,gBAAgC;IACtD,OAAO,CAAC,MAAgB,EAAE,EAAE;QAE1B,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,uCAA4B,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAC3F,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,kEAAkE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1J,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,gEAAgE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACtI,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,0DAA0D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAC7H,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,kEAAkE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACzI,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,8DAA8D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACnI,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QAED,OAAO,CAAC,cAAc,CAAC,6BAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAChE,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAChC,OAAO,CAAC,cAAc,CAAC,6BAAoB,CAAC,QAAQ,CAAC,IAAI,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QACjG,CAAC;IACH,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import 'reflect-metadata';\nimport { FrontMcpPluginTokens } from '../tokens';\nimport { PluginMetadata, frontMcpPluginMetadataSchema } from '../metadata';\n\n/**\n * Decorator that marks a class as a McpPlugin and provides metadata\n */\nfunction FrontMcpPlugin(providedMetadata: PluginMetadata): ClassDecorator {\n return (target: Function) => {\n\n const { error, data: metadata } = frontMcpPluginMetadataSchema.safeParse(providedMetadata);\n if (error) {\n if (error.format().providers) {\n throw new Error(`Invalid metadata provided to @FrontMcpProvider or @Provider: \\n${JSON.stringify(error.formErrors.fieldErrors['providers'], null, 2)}`);\n }\n if (error.format().adapters) {\n throw new Error(`Invalid metadata provided to @FrontMcpAdapter or @Adapter: \\n${JSON.stringify(error.format().adapters, null, 2)}`);\n }\n if (error.format().tools) {\n throw new Error(`Invalid metadata provided to @FrontMcpTool or @Tool: \\n${JSON.stringify(error.format().tools, null, 2)}`);\n }\n if (error.format().resources) {\n throw new Error(`Invalid metadata provided to @FrontMcpResource or @Resource: \\n${JSON.stringify(error.format().resources, null, 2)}`);\n }\n if (error.format().prompts) {\n throw new Error(`Invalid metadata provided to @FrontMcpPrompt or @Prompt: \\n${JSON.stringify(error.format().prompts, null, 2)}`);\n }\n throw error;\n }\n\n Reflect.defineMetadata(FrontMcpPluginTokens.type, true, target);\n for (const property in metadata) {\n Reflect.defineMetadata(FrontMcpPluginTokens[property] ?? property, metadata[property], target);\n }\n };\n}\n\nexport {\n FrontMcpPlugin,\n FrontMcpPlugin as Plugin,\n};"]}
@@ -0,0 +1,13 @@
1
+ import 'reflect-metadata';
2
+ import { PromptMetadata } from '../metadata';
3
+ import { GetPromptResult, GetPromptRequest } from '@modelcontextprotocol/sdk/types.js';
4
+ /**
5
+ * Decorator that marks a class as a McpPrompt module and provides metadata
6
+ */
7
+ declare function FrontMcpPrompt(providedMetadata: PromptMetadata): ClassDecorator;
8
+ export type FrontMcpPromptExecuteHandler = (args: GetPromptRequest['params']['arguments'], ...tokens: any[]) => GetPromptResult | Promise<GetPromptResult>;
9
+ /**
10
+ * Decorator that marks a class as a McpTool module and provides metadata
11
+ */
12
+ declare function frontMcpPrompt<T extends PromptMetadata>(providedMetadata: T): (handler: FrontMcpPromptExecuteHandler) => (() => void);
13
+ export { FrontMcpPrompt, FrontMcpPrompt as Prompt, frontMcpPrompt, frontMcpPrompt as prompt, };
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FrontMcpPrompt = FrontMcpPrompt;
4
+ exports.Prompt = FrontMcpPrompt;
5
+ exports.frontMcpPrompt = frontMcpPrompt;
6
+ exports.prompt = frontMcpPrompt;
7
+ require("reflect-metadata");
8
+ const tokens_1 = require("../tokens");
9
+ const metadata_1 = require("../metadata");
10
+ /**
11
+ * Decorator that marks a class as a McpPrompt module and provides metadata
12
+ */
13
+ function FrontMcpPrompt(providedMetadata) {
14
+ return (target) => {
15
+ const metadata = metadata_1.frontMcpPromptMetadataSchema.parse(providedMetadata);
16
+ Reflect.defineMetadata(tokens_1.FrontMcpPromptTokens.type, true, target);
17
+ for (const property in metadata) {
18
+ Reflect.defineMetadata(tokens_1.FrontMcpPromptTokens[property] ?? property, metadata[property], target);
19
+ }
20
+ };
21
+ }
22
+ /**
23
+ * Decorator that marks a class as a McpTool module and provides metadata
24
+ */
25
+ function frontMcpPrompt(providedMetadata) {
26
+ return (execute) => {
27
+ const metadata = metadata_1.frontMcpPromptMetadataSchema.parse(providedMetadata);
28
+ const toolFunction = function () {
29
+ return execute;
30
+ };
31
+ Object.assign(toolFunction, {
32
+ [tokens_1.FrontMcpPromptTokens.type]: 'function-prompt',
33
+ [tokens_1.FrontMcpPromptTokens.metadata]: metadata,
34
+ });
35
+ return toolFunction;
36
+ };
37
+ }
38
+ //# sourceMappingURL=prompt.decorator.js.map