@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
@@ -0,0 +1,872 @@
1
+ import { z } from 'zod';
2
+ import { AuthOptions } from '../types';
3
+ import { ProviderType, PromptType, ResourceType, ToolType, AuthProviderType, PluginType, AdapterType } from '../interfaces';
4
+ /**
5
+ * Declarative metadata describing what a local mcp app contributes at app scope.
6
+ *
7
+ * Includes dependency providers, app-scoped plugins, adapters (that can
8
+ * generate tools/resources/prompts from external definitions), and any
9
+ * inline tools authored in the app. Adapter-generated items inherit the
10
+ * app’s plugins and policies and are tagged with provenance.
11
+ */
12
+ export interface LocalAppMetadata {
13
+ /**
14
+ * Human-friendly name for this app as shown in UIs, logs, and describe reports.
15
+ * Keep it short, stable, and unique within a gateway (consider prefixes).
16
+ */
17
+ id?: string;
18
+ /**
19
+ * Human-friendly name for this app as shown in UIs, logs, and describe reports.
20
+ * Keep it short, stable, and unique within a gateway (consider prefixes).
21
+ */
22
+ name: string;
23
+ /**
24
+ * Optional longer explanation of what the app does and what it exposes.
25
+ * Used for documentation, describe reports, and UIs. Avoid secrets/PII.
26
+ */
27
+ description?: string;
28
+ /**
29
+ * Named singleton (or scoped-singleton) dependencies used by tools/plugins at runtime
30
+ * — e.g., config, database pools, Redis clients, queues, KMS.
31
+ *
32
+ * Resolution is hierarchical (tool → app → gateway). Providers may depend on
33
+ * other providers and are usually initialized lazily on first use.
34
+ */
35
+ providers?: ProviderType[];
36
+ /**
37
+ * Named singleton / session auth provider to be used by tools/plugins at runtime
38
+ * — e.g., GithubAuthProvider, GoogleAuthProvider, etc.
39
+ *
40
+ * Note: this is different from providers, which are used for calling fetch request
41
+ * with specific auth context headers.
42
+ *
43
+ * Resolution is hierarchical (tool → app → gateway). Providers may depend on
44
+ * other providers and are usually initialized lazily on first use.
45
+ */
46
+ authProviders?: AuthProviderType[];
47
+ /**
48
+ * App-scoped plugins that participate in lifecycle events and can contribute
49
+ * additional capabilities (tools, resources, prompts, providers, adapters).
50
+ * Use plugins to enforce policy, auth, PII reduction, tracing, etc.
51
+ */
52
+ plugins?: PluginType[];
53
+ /**
54
+ * Adapters attached to this app that convert external definitions or sources
55
+ * (e.g., OpenAPI, Lambda, Custom) into generated tools/resources/prompts.
56
+ * Common options include include/exclude filters, name prefixes, base URLs,
57
+ * and authentication (often provided by plugins).
58
+ */
59
+ adapters?: AdapterType[];
60
+ /**
61
+ * Inline tools authored by this app (via builder or class). These are active
62
+ * actions with input/output schemas that the model can call. Tools generated
63
+ * by adapters do not need to be listed here.
64
+ */
65
+ tools?: ToolType[];
66
+ resources?: ResourceType[];
67
+ prompts?: PromptType[];
68
+ /**
69
+ * Configures the app's default authentication provider.
70
+ * If not provided, the app will use the gateway's default auth provider.
71
+ */
72
+ auth?: AuthOptions;
73
+ /**
74
+ * If true, the app will NOT be included and will act as a separated scope.
75
+ * If false, the app will be included in MultiApp frontmcp server.
76
+ * If 'includeInParent', the app will be included in the gateway's
77
+ * standalone app list and will act as a separated scope under the appName prefix
78
+ */
79
+ standalone?: 'includeInParent' | boolean;
80
+ }
81
+ export declare const frontMcpLocalAppMetadataSchema: z.ZodObject<{
82
+ id: z.ZodOptional<z.ZodString>;
83
+ name: z.ZodString;
84
+ description: z.ZodOptional<z.ZodString>;
85
+ providers: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>>;
86
+ authProviders: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>>;
87
+ plugins: z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>;
88
+ adapters: z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>;
89
+ tools: z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>;
90
+ resources: z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>;
91
+ prompts: z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>;
92
+ auth: z.ZodOptional<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
93
+ type: z.ZodLiteral<"remote">;
94
+ id: z.ZodOptional<z.ZodString>;
95
+ name: z.ZodString;
96
+ baseUrl: z.ZodString;
97
+ dcrEnabled: z.ZodOptional<z.ZodBoolean>;
98
+ clientId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodFunction<z.ZodTuple<[z.ZodObject<{
99
+ clientId: z.ZodString;
100
+ }, "strip", z.ZodTypeAny, {
101
+ clientId: string;
102
+ }, {
103
+ clientId: string;
104
+ }>], z.ZodUnknown>, z.ZodString>]>>;
105
+ mode: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"orchestrated">, z.ZodLiteral<"transparent">]>>;
106
+ allowAnonymous: z.ZodOptional<z.ZodBoolean>;
107
+ consent: z.ZodOptional<z.ZodBoolean>;
108
+ jwks: z.ZodOptional<z.ZodObject<{
109
+ keys: z.ZodArray<z.ZodType<import("../types").JWK, z.ZodTypeDef, import("../types").JWK>, "many">;
110
+ }, "strip", z.ZodTypeAny, {
111
+ keys: import("../types").JWK[];
112
+ }, {
113
+ keys: import("../types").JWK[];
114
+ }>>;
115
+ scopes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
116
+ grantTypes: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodLiteral<"authorization_code">, z.ZodLiteral<"refresh_token">]>, "many">>;
117
+ authEndpoint: z.ZodOptional<z.ZodString>;
118
+ tokenEndpoint: z.ZodOptional<z.ZodString>;
119
+ registrationEndpoint: z.ZodOptional<z.ZodString>;
120
+ userInfoEndpoint: z.ZodOptional<z.ZodString>;
121
+ jwksUri: z.ZodOptional<z.ZodString>;
122
+ }, "strip", z.ZodTypeAny, {
123
+ name: string;
124
+ type: "remote";
125
+ baseUrl: string;
126
+ id?: string | undefined;
127
+ dcrEnabled?: boolean | undefined;
128
+ clientId?: string | ((args_0: {
129
+ clientId: string;
130
+ }, ...args: unknown[]) => string) | undefined;
131
+ mode?: "orchestrated" | "transparent" | undefined;
132
+ allowAnonymous?: boolean | undefined;
133
+ consent?: boolean | undefined;
134
+ scopes?: string[] | undefined;
135
+ grantTypes?: ("authorization_code" | "refresh_token")[] | undefined;
136
+ authEndpoint?: string | undefined;
137
+ tokenEndpoint?: string | undefined;
138
+ registrationEndpoint?: string | undefined;
139
+ userInfoEndpoint?: string | undefined;
140
+ jwks?: {
141
+ keys: import("../types").JWK[];
142
+ } | undefined;
143
+ jwksUri?: string | undefined;
144
+ }, {
145
+ name: string;
146
+ type: "remote";
147
+ baseUrl: string;
148
+ id?: string | undefined;
149
+ dcrEnabled?: boolean | undefined;
150
+ clientId?: string | ((args_0: {
151
+ clientId: string;
152
+ }, ...args: unknown[]) => string) | undefined;
153
+ mode?: "orchestrated" | "transparent" | undefined;
154
+ allowAnonymous?: boolean | undefined;
155
+ consent?: boolean | undefined;
156
+ scopes?: string[] | undefined;
157
+ grantTypes?: ("authorization_code" | "refresh_token")[] | undefined;
158
+ authEndpoint?: string | undefined;
159
+ tokenEndpoint?: string | undefined;
160
+ registrationEndpoint?: string | undefined;
161
+ userInfoEndpoint?: string | undefined;
162
+ jwks?: {
163
+ keys: import("../types").JWK[];
164
+ } | undefined;
165
+ jwksUri?: string | undefined;
166
+ }>, z.ZodObject<{
167
+ type: z.ZodLiteral<"local">;
168
+ id: z.ZodString;
169
+ name: z.ZodString;
170
+ scopes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
171
+ grantTypes: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodLiteral<"authorization_code">, z.ZodLiteral<"refresh_token">]>, "many">>;
172
+ allowAnonymous: z.ZodOptional<z.ZodBoolean>;
173
+ consent: z.ZodOptional<z.ZodBoolean>;
174
+ jwks: z.ZodOptional<z.ZodObject<{
175
+ keys: z.ZodArray<z.ZodType<import("../types").JWK, z.ZodTypeDef, import("../types").JWK>, "many">;
176
+ }, "strip", z.ZodTypeAny, {
177
+ keys: import("../types").JWK[];
178
+ }, {
179
+ keys: import("../types").JWK[];
180
+ }>>;
181
+ signKey: z.ZodOptional<z.ZodUnion<[z.ZodType<import("../types").JWK, z.ZodTypeDef, import("../types").JWK>, z.ZodType<Uint8Array<ArrayBuffer>, z.ZodTypeDef, Uint8Array<ArrayBuffer>>]>>;
182
+ }, "strip", z.ZodTypeAny, {
183
+ name: string;
184
+ id: string;
185
+ type: "local";
186
+ allowAnonymous?: boolean | undefined;
187
+ consent?: boolean | undefined;
188
+ scopes?: string[] | undefined;
189
+ grantTypes?: ("authorization_code" | "refresh_token")[] | undefined;
190
+ jwks?: {
191
+ keys: import("../types").JWK[];
192
+ } | undefined;
193
+ signKey?: import("../types").JWK | Uint8Array<ArrayBuffer> | undefined;
194
+ }, {
195
+ name: string;
196
+ id: string;
197
+ type: "local";
198
+ allowAnonymous?: boolean | undefined;
199
+ consent?: boolean | undefined;
200
+ scopes?: string[] | undefined;
201
+ grantTypes?: ("authorization_code" | "refresh_token")[] | undefined;
202
+ jwks?: {
203
+ keys: import("../types").JWK[];
204
+ } | undefined;
205
+ signKey?: import("../types").JWK | Uint8Array<ArrayBuffer> | undefined;
206
+ }>]>>;
207
+ standalone: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"includeInParent">, z.ZodBoolean]>>>;
208
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
209
+ id: z.ZodOptional<z.ZodString>;
210
+ name: z.ZodString;
211
+ description: z.ZodOptional<z.ZodString>;
212
+ providers: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>>;
213
+ authProviders: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>>;
214
+ plugins: z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>;
215
+ adapters: z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>;
216
+ tools: z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>;
217
+ resources: z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>;
218
+ prompts: z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>;
219
+ auth: z.ZodOptional<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
220
+ type: z.ZodLiteral<"remote">;
221
+ id: z.ZodOptional<z.ZodString>;
222
+ name: z.ZodString;
223
+ baseUrl: z.ZodString;
224
+ dcrEnabled: z.ZodOptional<z.ZodBoolean>;
225
+ clientId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodFunction<z.ZodTuple<[z.ZodObject<{
226
+ clientId: z.ZodString;
227
+ }, "strip", z.ZodTypeAny, {
228
+ clientId: string;
229
+ }, {
230
+ clientId: string;
231
+ }>], z.ZodUnknown>, z.ZodString>]>>;
232
+ mode: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"orchestrated">, z.ZodLiteral<"transparent">]>>;
233
+ allowAnonymous: z.ZodOptional<z.ZodBoolean>;
234
+ consent: z.ZodOptional<z.ZodBoolean>;
235
+ jwks: z.ZodOptional<z.ZodObject<{
236
+ keys: z.ZodArray<z.ZodType<import("../types").JWK, z.ZodTypeDef, import("../types").JWK>, "many">;
237
+ }, "strip", z.ZodTypeAny, {
238
+ keys: import("../types").JWK[];
239
+ }, {
240
+ keys: import("../types").JWK[];
241
+ }>>;
242
+ scopes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
243
+ grantTypes: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodLiteral<"authorization_code">, z.ZodLiteral<"refresh_token">]>, "many">>;
244
+ authEndpoint: z.ZodOptional<z.ZodString>;
245
+ tokenEndpoint: z.ZodOptional<z.ZodString>;
246
+ registrationEndpoint: z.ZodOptional<z.ZodString>;
247
+ userInfoEndpoint: z.ZodOptional<z.ZodString>;
248
+ jwksUri: z.ZodOptional<z.ZodString>;
249
+ }, "strip", z.ZodTypeAny, {
250
+ name: string;
251
+ type: "remote";
252
+ baseUrl: string;
253
+ id?: string | undefined;
254
+ dcrEnabled?: boolean | undefined;
255
+ clientId?: string | ((args_0: {
256
+ clientId: string;
257
+ }, ...args: unknown[]) => string) | undefined;
258
+ mode?: "orchestrated" | "transparent" | undefined;
259
+ allowAnonymous?: boolean | undefined;
260
+ consent?: boolean | undefined;
261
+ scopes?: string[] | undefined;
262
+ grantTypes?: ("authorization_code" | "refresh_token")[] | undefined;
263
+ authEndpoint?: string | undefined;
264
+ tokenEndpoint?: string | undefined;
265
+ registrationEndpoint?: string | undefined;
266
+ userInfoEndpoint?: string | undefined;
267
+ jwks?: {
268
+ keys: import("../types").JWK[];
269
+ } | undefined;
270
+ jwksUri?: string | undefined;
271
+ }, {
272
+ name: string;
273
+ type: "remote";
274
+ baseUrl: string;
275
+ id?: string | undefined;
276
+ dcrEnabled?: boolean | undefined;
277
+ clientId?: string | ((args_0: {
278
+ clientId: string;
279
+ }, ...args: unknown[]) => string) | undefined;
280
+ mode?: "orchestrated" | "transparent" | undefined;
281
+ allowAnonymous?: boolean | undefined;
282
+ consent?: boolean | undefined;
283
+ scopes?: string[] | undefined;
284
+ grantTypes?: ("authorization_code" | "refresh_token")[] | undefined;
285
+ authEndpoint?: string | undefined;
286
+ tokenEndpoint?: string | undefined;
287
+ registrationEndpoint?: string | undefined;
288
+ userInfoEndpoint?: string | undefined;
289
+ jwks?: {
290
+ keys: import("../types").JWK[];
291
+ } | undefined;
292
+ jwksUri?: string | undefined;
293
+ }>, z.ZodObject<{
294
+ type: z.ZodLiteral<"local">;
295
+ id: z.ZodString;
296
+ name: z.ZodString;
297
+ scopes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
298
+ grantTypes: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodLiteral<"authorization_code">, z.ZodLiteral<"refresh_token">]>, "many">>;
299
+ allowAnonymous: z.ZodOptional<z.ZodBoolean>;
300
+ consent: z.ZodOptional<z.ZodBoolean>;
301
+ jwks: z.ZodOptional<z.ZodObject<{
302
+ keys: z.ZodArray<z.ZodType<import("../types").JWK, z.ZodTypeDef, import("../types").JWK>, "many">;
303
+ }, "strip", z.ZodTypeAny, {
304
+ keys: import("../types").JWK[];
305
+ }, {
306
+ keys: import("../types").JWK[];
307
+ }>>;
308
+ signKey: z.ZodOptional<z.ZodUnion<[z.ZodType<import("../types").JWK, z.ZodTypeDef, import("../types").JWK>, z.ZodType<Uint8Array<ArrayBuffer>, z.ZodTypeDef, Uint8Array<ArrayBuffer>>]>>;
309
+ }, "strip", z.ZodTypeAny, {
310
+ name: string;
311
+ id: string;
312
+ type: "local";
313
+ allowAnonymous?: boolean | undefined;
314
+ consent?: boolean | undefined;
315
+ scopes?: string[] | undefined;
316
+ grantTypes?: ("authorization_code" | "refresh_token")[] | undefined;
317
+ jwks?: {
318
+ keys: import("../types").JWK[];
319
+ } | undefined;
320
+ signKey?: import("../types").JWK | Uint8Array<ArrayBuffer> | undefined;
321
+ }, {
322
+ name: string;
323
+ id: string;
324
+ type: "local";
325
+ allowAnonymous?: boolean | undefined;
326
+ consent?: boolean | undefined;
327
+ scopes?: string[] | undefined;
328
+ grantTypes?: ("authorization_code" | "refresh_token")[] | undefined;
329
+ jwks?: {
330
+ keys: import("../types").JWK[];
331
+ } | undefined;
332
+ signKey?: import("../types").JWK | Uint8Array<ArrayBuffer> | undefined;
333
+ }>]>>;
334
+ standalone: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"includeInParent">, z.ZodBoolean]>>>;
335
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
336
+ id: z.ZodOptional<z.ZodString>;
337
+ name: z.ZodString;
338
+ description: z.ZodOptional<z.ZodString>;
339
+ providers: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>>;
340
+ authProviders: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>>;
341
+ plugins: z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>;
342
+ adapters: z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>;
343
+ tools: z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>;
344
+ resources: z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>;
345
+ prompts: z.ZodOptional<z.ZodArray<z.ZodType<import("../interfaces").Type<unknown>, z.ZodTypeDef, import("../interfaces").Type<unknown>>, "many">>;
346
+ auth: z.ZodOptional<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
347
+ type: z.ZodLiteral<"remote">;
348
+ id: z.ZodOptional<z.ZodString>;
349
+ name: z.ZodString;
350
+ baseUrl: z.ZodString;
351
+ dcrEnabled: z.ZodOptional<z.ZodBoolean>;
352
+ clientId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodFunction<z.ZodTuple<[z.ZodObject<{
353
+ clientId: z.ZodString;
354
+ }, "strip", z.ZodTypeAny, {
355
+ clientId: string;
356
+ }, {
357
+ clientId: string;
358
+ }>], z.ZodUnknown>, z.ZodString>]>>;
359
+ mode: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"orchestrated">, z.ZodLiteral<"transparent">]>>;
360
+ allowAnonymous: z.ZodOptional<z.ZodBoolean>;
361
+ consent: z.ZodOptional<z.ZodBoolean>;
362
+ jwks: z.ZodOptional<z.ZodObject<{
363
+ keys: z.ZodArray<z.ZodType<import("../types").JWK, z.ZodTypeDef, import("../types").JWK>, "many">;
364
+ }, "strip", z.ZodTypeAny, {
365
+ keys: import("../types").JWK[];
366
+ }, {
367
+ keys: import("../types").JWK[];
368
+ }>>;
369
+ scopes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
370
+ grantTypes: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodLiteral<"authorization_code">, z.ZodLiteral<"refresh_token">]>, "many">>;
371
+ authEndpoint: z.ZodOptional<z.ZodString>;
372
+ tokenEndpoint: z.ZodOptional<z.ZodString>;
373
+ registrationEndpoint: z.ZodOptional<z.ZodString>;
374
+ userInfoEndpoint: z.ZodOptional<z.ZodString>;
375
+ jwksUri: z.ZodOptional<z.ZodString>;
376
+ }, "strip", z.ZodTypeAny, {
377
+ name: string;
378
+ type: "remote";
379
+ baseUrl: string;
380
+ id?: string | undefined;
381
+ dcrEnabled?: boolean | undefined;
382
+ clientId?: string | ((args_0: {
383
+ clientId: string;
384
+ }, ...args: unknown[]) => string) | undefined;
385
+ mode?: "orchestrated" | "transparent" | undefined;
386
+ allowAnonymous?: boolean | undefined;
387
+ consent?: boolean | undefined;
388
+ scopes?: string[] | undefined;
389
+ grantTypes?: ("authorization_code" | "refresh_token")[] | undefined;
390
+ authEndpoint?: string | undefined;
391
+ tokenEndpoint?: string | undefined;
392
+ registrationEndpoint?: string | undefined;
393
+ userInfoEndpoint?: string | undefined;
394
+ jwks?: {
395
+ keys: import("../types").JWK[];
396
+ } | undefined;
397
+ jwksUri?: string | undefined;
398
+ }, {
399
+ name: string;
400
+ type: "remote";
401
+ baseUrl: string;
402
+ id?: string | undefined;
403
+ dcrEnabled?: boolean | undefined;
404
+ clientId?: string | ((args_0: {
405
+ clientId: string;
406
+ }, ...args: unknown[]) => string) | undefined;
407
+ mode?: "orchestrated" | "transparent" | undefined;
408
+ allowAnonymous?: boolean | undefined;
409
+ consent?: boolean | undefined;
410
+ scopes?: string[] | undefined;
411
+ grantTypes?: ("authorization_code" | "refresh_token")[] | undefined;
412
+ authEndpoint?: string | undefined;
413
+ tokenEndpoint?: string | undefined;
414
+ registrationEndpoint?: string | undefined;
415
+ userInfoEndpoint?: string | undefined;
416
+ jwks?: {
417
+ keys: import("../types").JWK[];
418
+ } | undefined;
419
+ jwksUri?: string | undefined;
420
+ }>, z.ZodObject<{
421
+ type: z.ZodLiteral<"local">;
422
+ id: z.ZodString;
423
+ name: z.ZodString;
424
+ scopes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
425
+ grantTypes: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodLiteral<"authorization_code">, z.ZodLiteral<"refresh_token">]>, "many">>;
426
+ allowAnonymous: z.ZodOptional<z.ZodBoolean>;
427
+ consent: z.ZodOptional<z.ZodBoolean>;
428
+ jwks: z.ZodOptional<z.ZodObject<{
429
+ keys: z.ZodArray<z.ZodType<import("../types").JWK, z.ZodTypeDef, import("../types").JWK>, "many">;
430
+ }, "strip", z.ZodTypeAny, {
431
+ keys: import("../types").JWK[];
432
+ }, {
433
+ keys: import("../types").JWK[];
434
+ }>>;
435
+ signKey: z.ZodOptional<z.ZodUnion<[z.ZodType<import("../types").JWK, z.ZodTypeDef, import("../types").JWK>, z.ZodType<Uint8Array<ArrayBuffer>, z.ZodTypeDef, Uint8Array<ArrayBuffer>>]>>;
436
+ }, "strip", z.ZodTypeAny, {
437
+ name: string;
438
+ id: string;
439
+ type: "local";
440
+ allowAnonymous?: boolean | undefined;
441
+ consent?: boolean | undefined;
442
+ scopes?: string[] | undefined;
443
+ grantTypes?: ("authorization_code" | "refresh_token")[] | undefined;
444
+ jwks?: {
445
+ keys: import("../types").JWK[];
446
+ } | undefined;
447
+ signKey?: import("../types").JWK | Uint8Array<ArrayBuffer> | undefined;
448
+ }, {
449
+ name: string;
450
+ id: string;
451
+ type: "local";
452
+ allowAnonymous?: boolean | undefined;
453
+ consent?: boolean | undefined;
454
+ scopes?: string[] | undefined;
455
+ grantTypes?: ("authorization_code" | "refresh_token")[] | undefined;
456
+ jwks?: {
457
+ keys: import("../types").JWK[];
458
+ } | undefined;
459
+ signKey?: import("../types").JWK | Uint8Array<ArrayBuffer> | undefined;
460
+ }>]>>;
461
+ standalone: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"includeInParent">, z.ZodBoolean]>>>;
462
+ }, z.ZodTypeAny, "passthrough">>;
463
+ /**
464
+ * Declarative metadata describing what a remote encapsulated mcp app.
465
+ */
466
+ export interface RemoteAppMetadata {
467
+ /**
468
+ * Human-friendly name for this app as shown in UIs, logs, and describe reports.
469
+ * Keep it short, stable, and unique within a gateway (consider prefixes).
470
+ */
471
+ id?: string;
472
+ /**
473
+ * Human-friendly name for this app as shown in UIs, logs, and describe reports.
474
+ * Keep it short, stable, and unique within a gateway (consider prefixes).
475
+ */
476
+ name: string;
477
+ /**
478
+ * Optional longer explanation of what the app does and what it exposes.
479
+ * Used for documentation, describe reports, and UIs. Avoid secrets/PII.
480
+ */
481
+ description?: string;
482
+ /**
483
+ * The type of the remote app.
484
+ * - 'worker': The remote app is a worker file.
485
+ * - 'url': The remote app is a remote URL.
486
+ */
487
+ urlType: 'worker' | 'url';
488
+ /**
489
+ * The URL of the remote app. This can be a local worker file or a remote URL.
490
+ */
491
+ url: string;
492
+ /**
493
+ * Configures the app's default authentication provider.
494
+ * If not provided, the app will use the gateway's default auth provider.
495
+ */
496
+ auth?: AuthOptions;
497
+ /**
498
+ * If true, the app will NOT be included and will act as a separated scope.
499
+ * If false, the app will be included in MultiApp frontmcp server.
500
+ * If 'includeInParent', the app will be included in the gateway's
501
+ * standalone app list and will act as a separated scope under the appName prefix
502
+ */
503
+ standalone: 'includeInParent' | boolean;
504
+ }
505
+ export declare const frontMcpRemoteAppMetadataSchema: z.ZodObject<{
506
+ id: z.ZodOptional<z.ZodString>;
507
+ name: z.ZodString;
508
+ description: z.ZodOptional<z.ZodString>;
509
+ urlType: z.ZodEnum<["worker", "url"]>;
510
+ url: z.ZodString;
511
+ auth: z.ZodOptional<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
512
+ type: z.ZodLiteral<"remote">;
513
+ id: z.ZodOptional<z.ZodString>;
514
+ name: z.ZodString;
515
+ baseUrl: z.ZodString;
516
+ dcrEnabled: z.ZodOptional<z.ZodBoolean>;
517
+ clientId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodFunction<z.ZodTuple<[z.ZodObject<{
518
+ clientId: z.ZodString;
519
+ }, "strip", z.ZodTypeAny, {
520
+ clientId: string;
521
+ }, {
522
+ clientId: string;
523
+ }>], z.ZodUnknown>, z.ZodString>]>>;
524
+ mode: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"orchestrated">, z.ZodLiteral<"transparent">]>>;
525
+ allowAnonymous: z.ZodOptional<z.ZodBoolean>;
526
+ consent: z.ZodOptional<z.ZodBoolean>;
527
+ jwks: z.ZodOptional<z.ZodObject<{
528
+ keys: z.ZodArray<z.ZodType<import("../types").JWK, z.ZodTypeDef, import("../types").JWK>, "many">;
529
+ }, "strip", z.ZodTypeAny, {
530
+ keys: import("../types").JWK[];
531
+ }, {
532
+ keys: import("../types").JWK[];
533
+ }>>;
534
+ scopes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
535
+ grantTypes: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodLiteral<"authorization_code">, z.ZodLiteral<"refresh_token">]>, "many">>;
536
+ authEndpoint: z.ZodOptional<z.ZodString>;
537
+ tokenEndpoint: z.ZodOptional<z.ZodString>;
538
+ registrationEndpoint: z.ZodOptional<z.ZodString>;
539
+ userInfoEndpoint: z.ZodOptional<z.ZodString>;
540
+ jwksUri: z.ZodOptional<z.ZodString>;
541
+ }, "strip", z.ZodTypeAny, {
542
+ name: string;
543
+ type: "remote";
544
+ baseUrl: string;
545
+ id?: string | undefined;
546
+ dcrEnabled?: boolean | undefined;
547
+ clientId?: string | ((args_0: {
548
+ clientId: string;
549
+ }, ...args: unknown[]) => string) | undefined;
550
+ mode?: "orchestrated" | "transparent" | undefined;
551
+ allowAnonymous?: boolean | undefined;
552
+ consent?: boolean | undefined;
553
+ scopes?: string[] | undefined;
554
+ grantTypes?: ("authorization_code" | "refresh_token")[] | undefined;
555
+ authEndpoint?: string | undefined;
556
+ tokenEndpoint?: string | undefined;
557
+ registrationEndpoint?: string | undefined;
558
+ userInfoEndpoint?: string | undefined;
559
+ jwks?: {
560
+ keys: import("../types").JWK[];
561
+ } | undefined;
562
+ jwksUri?: string | undefined;
563
+ }, {
564
+ name: string;
565
+ type: "remote";
566
+ baseUrl: string;
567
+ id?: string | undefined;
568
+ dcrEnabled?: boolean | undefined;
569
+ clientId?: string | ((args_0: {
570
+ clientId: string;
571
+ }, ...args: unknown[]) => string) | undefined;
572
+ mode?: "orchestrated" | "transparent" | undefined;
573
+ allowAnonymous?: boolean | undefined;
574
+ consent?: boolean | undefined;
575
+ scopes?: string[] | undefined;
576
+ grantTypes?: ("authorization_code" | "refresh_token")[] | undefined;
577
+ authEndpoint?: string | undefined;
578
+ tokenEndpoint?: string | undefined;
579
+ registrationEndpoint?: string | undefined;
580
+ userInfoEndpoint?: string | undefined;
581
+ jwks?: {
582
+ keys: import("../types").JWK[];
583
+ } | undefined;
584
+ jwksUri?: string | undefined;
585
+ }>, z.ZodObject<{
586
+ type: z.ZodLiteral<"local">;
587
+ id: z.ZodString;
588
+ name: z.ZodString;
589
+ scopes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
590
+ grantTypes: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodLiteral<"authorization_code">, z.ZodLiteral<"refresh_token">]>, "many">>;
591
+ allowAnonymous: z.ZodOptional<z.ZodBoolean>;
592
+ consent: z.ZodOptional<z.ZodBoolean>;
593
+ jwks: z.ZodOptional<z.ZodObject<{
594
+ keys: z.ZodArray<z.ZodType<import("../types").JWK, z.ZodTypeDef, import("../types").JWK>, "many">;
595
+ }, "strip", z.ZodTypeAny, {
596
+ keys: import("../types").JWK[];
597
+ }, {
598
+ keys: import("../types").JWK[];
599
+ }>>;
600
+ signKey: z.ZodOptional<z.ZodUnion<[z.ZodType<import("../types").JWK, z.ZodTypeDef, import("../types").JWK>, z.ZodType<Uint8Array<ArrayBuffer>, z.ZodTypeDef, Uint8Array<ArrayBuffer>>]>>;
601
+ }, "strip", z.ZodTypeAny, {
602
+ name: string;
603
+ id: string;
604
+ type: "local";
605
+ allowAnonymous?: boolean | undefined;
606
+ consent?: boolean | undefined;
607
+ scopes?: string[] | undefined;
608
+ grantTypes?: ("authorization_code" | "refresh_token")[] | undefined;
609
+ jwks?: {
610
+ keys: import("../types").JWK[];
611
+ } | undefined;
612
+ signKey?: import("../types").JWK | Uint8Array<ArrayBuffer> | undefined;
613
+ }, {
614
+ name: string;
615
+ id: string;
616
+ type: "local";
617
+ allowAnonymous?: boolean | undefined;
618
+ consent?: boolean | undefined;
619
+ scopes?: string[] | undefined;
620
+ grantTypes?: ("authorization_code" | "refresh_token")[] | undefined;
621
+ jwks?: {
622
+ keys: import("../types").JWK[];
623
+ } | undefined;
624
+ signKey?: import("../types").JWK | Uint8Array<ArrayBuffer> | undefined;
625
+ }>]>>;
626
+ standalone: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"includeInParent">, z.ZodBoolean]>>>;
627
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
628
+ id: z.ZodOptional<z.ZodString>;
629
+ name: z.ZodString;
630
+ description: z.ZodOptional<z.ZodString>;
631
+ urlType: z.ZodEnum<["worker", "url"]>;
632
+ url: z.ZodString;
633
+ auth: z.ZodOptional<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
634
+ type: z.ZodLiteral<"remote">;
635
+ id: z.ZodOptional<z.ZodString>;
636
+ name: z.ZodString;
637
+ baseUrl: z.ZodString;
638
+ dcrEnabled: z.ZodOptional<z.ZodBoolean>;
639
+ clientId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodFunction<z.ZodTuple<[z.ZodObject<{
640
+ clientId: z.ZodString;
641
+ }, "strip", z.ZodTypeAny, {
642
+ clientId: string;
643
+ }, {
644
+ clientId: string;
645
+ }>], z.ZodUnknown>, z.ZodString>]>>;
646
+ mode: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"orchestrated">, z.ZodLiteral<"transparent">]>>;
647
+ allowAnonymous: z.ZodOptional<z.ZodBoolean>;
648
+ consent: z.ZodOptional<z.ZodBoolean>;
649
+ jwks: z.ZodOptional<z.ZodObject<{
650
+ keys: z.ZodArray<z.ZodType<import("../types").JWK, z.ZodTypeDef, import("../types").JWK>, "many">;
651
+ }, "strip", z.ZodTypeAny, {
652
+ keys: import("../types").JWK[];
653
+ }, {
654
+ keys: import("../types").JWK[];
655
+ }>>;
656
+ scopes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
657
+ grantTypes: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodLiteral<"authorization_code">, z.ZodLiteral<"refresh_token">]>, "many">>;
658
+ authEndpoint: z.ZodOptional<z.ZodString>;
659
+ tokenEndpoint: z.ZodOptional<z.ZodString>;
660
+ registrationEndpoint: z.ZodOptional<z.ZodString>;
661
+ userInfoEndpoint: z.ZodOptional<z.ZodString>;
662
+ jwksUri: z.ZodOptional<z.ZodString>;
663
+ }, "strip", z.ZodTypeAny, {
664
+ name: string;
665
+ type: "remote";
666
+ baseUrl: string;
667
+ id?: string | undefined;
668
+ dcrEnabled?: boolean | undefined;
669
+ clientId?: string | ((args_0: {
670
+ clientId: string;
671
+ }, ...args: unknown[]) => string) | undefined;
672
+ mode?: "orchestrated" | "transparent" | undefined;
673
+ allowAnonymous?: boolean | undefined;
674
+ consent?: boolean | undefined;
675
+ scopes?: string[] | undefined;
676
+ grantTypes?: ("authorization_code" | "refresh_token")[] | undefined;
677
+ authEndpoint?: string | undefined;
678
+ tokenEndpoint?: string | undefined;
679
+ registrationEndpoint?: string | undefined;
680
+ userInfoEndpoint?: string | undefined;
681
+ jwks?: {
682
+ keys: import("../types").JWK[];
683
+ } | undefined;
684
+ jwksUri?: string | undefined;
685
+ }, {
686
+ name: string;
687
+ type: "remote";
688
+ baseUrl: string;
689
+ id?: string | undefined;
690
+ dcrEnabled?: boolean | undefined;
691
+ clientId?: string | ((args_0: {
692
+ clientId: string;
693
+ }, ...args: unknown[]) => string) | undefined;
694
+ mode?: "orchestrated" | "transparent" | undefined;
695
+ allowAnonymous?: boolean | undefined;
696
+ consent?: boolean | undefined;
697
+ scopes?: string[] | undefined;
698
+ grantTypes?: ("authorization_code" | "refresh_token")[] | undefined;
699
+ authEndpoint?: string | undefined;
700
+ tokenEndpoint?: string | undefined;
701
+ registrationEndpoint?: string | undefined;
702
+ userInfoEndpoint?: string | undefined;
703
+ jwks?: {
704
+ keys: import("../types").JWK[];
705
+ } | undefined;
706
+ jwksUri?: string | undefined;
707
+ }>, z.ZodObject<{
708
+ type: z.ZodLiteral<"local">;
709
+ id: z.ZodString;
710
+ name: z.ZodString;
711
+ scopes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
712
+ grantTypes: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodLiteral<"authorization_code">, z.ZodLiteral<"refresh_token">]>, "many">>;
713
+ allowAnonymous: z.ZodOptional<z.ZodBoolean>;
714
+ consent: z.ZodOptional<z.ZodBoolean>;
715
+ jwks: z.ZodOptional<z.ZodObject<{
716
+ keys: z.ZodArray<z.ZodType<import("../types").JWK, z.ZodTypeDef, import("../types").JWK>, "many">;
717
+ }, "strip", z.ZodTypeAny, {
718
+ keys: import("../types").JWK[];
719
+ }, {
720
+ keys: import("../types").JWK[];
721
+ }>>;
722
+ signKey: z.ZodOptional<z.ZodUnion<[z.ZodType<import("../types").JWK, z.ZodTypeDef, import("../types").JWK>, z.ZodType<Uint8Array<ArrayBuffer>, z.ZodTypeDef, Uint8Array<ArrayBuffer>>]>>;
723
+ }, "strip", z.ZodTypeAny, {
724
+ name: string;
725
+ id: string;
726
+ type: "local";
727
+ allowAnonymous?: boolean | undefined;
728
+ consent?: boolean | undefined;
729
+ scopes?: string[] | undefined;
730
+ grantTypes?: ("authorization_code" | "refresh_token")[] | undefined;
731
+ jwks?: {
732
+ keys: import("../types").JWK[];
733
+ } | undefined;
734
+ signKey?: import("../types").JWK | Uint8Array<ArrayBuffer> | undefined;
735
+ }, {
736
+ name: string;
737
+ id: string;
738
+ type: "local";
739
+ allowAnonymous?: boolean | undefined;
740
+ consent?: boolean | undefined;
741
+ scopes?: string[] | undefined;
742
+ grantTypes?: ("authorization_code" | "refresh_token")[] | undefined;
743
+ jwks?: {
744
+ keys: import("../types").JWK[];
745
+ } | undefined;
746
+ signKey?: import("../types").JWK | Uint8Array<ArrayBuffer> | undefined;
747
+ }>]>>;
748
+ standalone: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"includeInParent">, z.ZodBoolean]>>>;
749
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
750
+ id: z.ZodOptional<z.ZodString>;
751
+ name: z.ZodString;
752
+ description: z.ZodOptional<z.ZodString>;
753
+ urlType: z.ZodEnum<["worker", "url"]>;
754
+ url: z.ZodString;
755
+ auth: z.ZodOptional<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
756
+ type: z.ZodLiteral<"remote">;
757
+ id: z.ZodOptional<z.ZodString>;
758
+ name: z.ZodString;
759
+ baseUrl: z.ZodString;
760
+ dcrEnabled: z.ZodOptional<z.ZodBoolean>;
761
+ clientId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodFunction<z.ZodTuple<[z.ZodObject<{
762
+ clientId: z.ZodString;
763
+ }, "strip", z.ZodTypeAny, {
764
+ clientId: string;
765
+ }, {
766
+ clientId: string;
767
+ }>], z.ZodUnknown>, z.ZodString>]>>;
768
+ mode: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"orchestrated">, z.ZodLiteral<"transparent">]>>;
769
+ allowAnonymous: z.ZodOptional<z.ZodBoolean>;
770
+ consent: z.ZodOptional<z.ZodBoolean>;
771
+ jwks: z.ZodOptional<z.ZodObject<{
772
+ keys: z.ZodArray<z.ZodType<import("../types").JWK, z.ZodTypeDef, import("../types").JWK>, "many">;
773
+ }, "strip", z.ZodTypeAny, {
774
+ keys: import("../types").JWK[];
775
+ }, {
776
+ keys: import("../types").JWK[];
777
+ }>>;
778
+ scopes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
779
+ grantTypes: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodLiteral<"authorization_code">, z.ZodLiteral<"refresh_token">]>, "many">>;
780
+ authEndpoint: z.ZodOptional<z.ZodString>;
781
+ tokenEndpoint: z.ZodOptional<z.ZodString>;
782
+ registrationEndpoint: z.ZodOptional<z.ZodString>;
783
+ userInfoEndpoint: z.ZodOptional<z.ZodString>;
784
+ jwksUri: z.ZodOptional<z.ZodString>;
785
+ }, "strip", z.ZodTypeAny, {
786
+ name: string;
787
+ type: "remote";
788
+ baseUrl: string;
789
+ id?: string | undefined;
790
+ dcrEnabled?: boolean | undefined;
791
+ clientId?: string | ((args_0: {
792
+ clientId: string;
793
+ }, ...args: unknown[]) => string) | undefined;
794
+ mode?: "orchestrated" | "transparent" | undefined;
795
+ allowAnonymous?: boolean | undefined;
796
+ consent?: boolean | undefined;
797
+ scopes?: string[] | undefined;
798
+ grantTypes?: ("authorization_code" | "refresh_token")[] | undefined;
799
+ authEndpoint?: string | undefined;
800
+ tokenEndpoint?: string | undefined;
801
+ registrationEndpoint?: string | undefined;
802
+ userInfoEndpoint?: string | undefined;
803
+ jwks?: {
804
+ keys: import("../types").JWK[];
805
+ } | undefined;
806
+ jwksUri?: string | undefined;
807
+ }, {
808
+ name: string;
809
+ type: "remote";
810
+ baseUrl: string;
811
+ id?: string | undefined;
812
+ dcrEnabled?: boolean | undefined;
813
+ clientId?: string | ((args_0: {
814
+ clientId: string;
815
+ }, ...args: unknown[]) => string) | undefined;
816
+ mode?: "orchestrated" | "transparent" | undefined;
817
+ allowAnonymous?: boolean | undefined;
818
+ consent?: boolean | undefined;
819
+ scopes?: string[] | undefined;
820
+ grantTypes?: ("authorization_code" | "refresh_token")[] | undefined;
821
+ authEndpoint?: string | undefined;
822
+ tokenEndpoint?: string | undefined;
823
+ registrationEndpoint?: string | undefined;
824
+ userInfoEndpoint?: string | undefined;
825
+ jwks?: {
826
+ keys: import("../types").JWK[];
827
+ } | undefined;
828
+ jwksUri?: string | undefined;
829
+ }>, z.ZodObject<{
830
+ type: z.ZodLiteral<"local">;
831
+ id: z.ZodString;
832
+ name: z.ZodString;
833
+ scopes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
834
+ grantTypes: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodLiteral<"authorization_code">, z.ZodLiteral<"refresh_token">]>, "many">>;
835
+ allowAnonymous: z.ZodOptional<z.ZodBoolean>;
836
+ consent: z.ZodOptional<z.ZodBoolean>;
837
+ jwks: z.ZodOptional<z.ZodObject<{
838
+ keys: z.ZodArray<z.ZodType<import("../types").JWK, z.ZodTypeDef, import("../types").JWK>, "many">;
839
+ }, "strip", z.ZodTypeAny, {
840
+ keys: import("../types").JWK[];
841
+ }, {
842
+ keys: import("../types").JWK[];
843
+ }>>;
844
+ signKey: z.ZodOptional<z.ZodUnion<[z.ZodType<import("../types").JWK, z.ZodTypeDef, import("../types").JWK>, z.ZodType<Uint8Array<ArrayBuffer>, z.ZodTypeDef, Uint8Array<ArrayBuffer>>]>>;
845
+ }, "strip", z.ZodTypeAny, {
846
+ name: string;
847
+ id: string;
848
+ type: "local";
849
+ allowAnonymous?: boolean | undefined;
850
+ consent?: boolean | undefined;
851
+ scopes?: string[] | undefined;
852
+ grantTypes?: ("authorization_code" | "refresh_token")[] | undefined;
853
+ jwks?: {
854
+ keys: import("../types").JWK[];
855
+ } | undefined;
856
+ signKey?: import("../types").JWK | Uint8Array<ArrayBuffer> | undefined;
857
+ }, {
858
+ name: string;
859
+ id: string;
860
+ type: "local";
861
+ allowAnonymous?: boolean | undefined;
862
+ consent?: boolean | undefined;
863
+ scopes?: string[] | undefined;
864
+ grantTypes?: ("authorization_code" | "refresh_token")[] | undefined;
865
+ jwks?: {
866
+ keys: import("../types").JWK[];
867
+ } | undefined;
868
+ signKey?: import("../types").JWK | Uint8Array<ArrayBuffer> | undefined;
869
+ }>]>>;
870
+ standalone: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"includeInParent">, z.ZodBoolean]>>>;
871
+ }, z.ZodTypeAny, "passthrough">>;
872
+ export type AppMetadata = LocalAppMetadata | RemoteAppMetadata;