@frontmcp/sdk 1.8.0 → 1.8.1

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 (230) hide show
  1. package/agent/agent.instance.d.ts.map +1 -1
  2. package/agent/agent.scope.d.ts +2 -411
  3. package/agent/agent.scope.d.ts.map +1 -1
  4. package/agent/flows/call-agent.flow.d.ts +1 -0
  5. package/agent/flows/call-agent.flow.d.ts.map +1 -1
  6. package/app/instances/app.local.instance.d.ts.map +1 -1
  7. package/app/remote-capabilities.utils.d.ts +4 -0
  8. package/app/remote-capabilities.utils.d.ts.map +1 -0
  9. package/auth/flows/oauth.auth-ui.flow.d.ts +3 -2
  10. package/auth/flows/oauth.auth-ui.flow.d.ts.map +1 -1
  11. package/auth/flows/oauth.authorize.flow.d.ts +5 -4
  12. package/auth/flows/oauth.authorize.flow.d.ts.map +1 -1
  13. package/auth/flows/oauth.callback.flow.d.ts +4 -3
  14. package/auth/flows/oauth.callback.flow.d.ts.map +1 -1
  15. package/auth/flows/oauth.connect.flow.d.ts +3 -2
  16. package/auth/flows/oauth.connect.flow.d.ts.map +1 -1
  17. package/auth/flows/oauth.provider-callback.flow.d.ts +4 -3
  18. package/auth/flows/oauth.provider-callback.flow.d.ts.map +1 -1
  19. package/auth/flows/oauth.register.flow.d.ts +3 -2
  20. package/auth/flows/oauth.register.flow.d.ts.map +1 -1
  21. package/auth/flows/oauth.token.flow.d.ts +3 -2
  22. package/auth/flows/oauth.token.flow.d.ts.map +1 -1
  23. package/auth/flows/oauth.userinfo.flow.d.ts +3 -2
  24. package/auth/flows/oauth.userinfo.flow.d.ts.map +1 -1
  25. package/auth/flows/well-known.jwks.flow.d.ts +5 -4
  26. package/auth/flows/well-known.jwks.flow.d.ts.map +1 -1
  27. package/auth/flows/well-known.oauth-authorization-server.flow.d.ts +4 -3
  28. package/auth/flows/well-known.oauth-authorization-server.flow.d.ts.map +1 -1
  29. package/auth/flows/well-known.prm.flow.d.ts +3 -2
  30. package/auth/flows/well-known.prm.flow.d.ts.map +1 -1
  31. package/common/decorators/agent.decorator.d.ts +27 -6
  32. package/common/decorators/agent.decorator.d.ts.map +1 -1
  33. package/common/decorators/resource.decorator.d.ts.map +1 -1
  34. package/common/decorators/tool.decorator.d.ts +17 -9
  35. package/common/decorators/tool.decorator.d.ts.map +1 -1
  36. package/common/dynamic/dynamic.plugin.d.ts +1 -0
  37. package/common/dynamic/dynamic.plugin.d.ts.map +1 -1
  38. package/common/entries/resource.entry.d.ts +2 -2
  39. package/common/entries/resource.entry.d.ts.map +1 -1
  40. package/common/interfaces/agent.interface.d.ts +1 -1
  41. package/common/interfaces/agent.interface.d.ts.map +1 -1
  42. package/common/interfaces/execution-context.interface.d.ts +4 -4
  43. package/common/interfaces/execution-context.interface.d.ts.map +1 -1
  44. package/common/interfaces/flow.interface.d.ts +7 -2
  45. package/common/interfaces/flow.interface.d.ts.map +1 -1
  46. package/common/interfaces/prompt.interface.d.ts +12 -5
  47. package/common/interfaces/prompt.interface.d.ts.map +1 -1
  48. package/common/interfaces/tool-hook.interface.d.ts +2 -2
  49. package/common/interfaces/tool.interface.d.ts +14 -8
  50. package/common/interfaces/tool.interface.d.ts.map +1 -1
  51. package/common/metadata/agent.metadata.d.ts +6 -6
  52. package/common/metadata/app.metadata.d.ts +40 -40
  53. package/common/metadata/app.metadata.d.ts.map +1 -1
  54. package/common/metadata/front-mcp.metadata.d.ts +473 -413
  55. package/common/metadata/front-mcp.metadata.d.ts.map +1 -1
  56. package/common/metadata/job.metadata.d.ts +2 -2
  57. package/common/metadata/output-policy.d.ts +1 -1
  58. package/common/metadata/plugin.metadata.d.ts +8 -8
  59. package/common/metadata/prompt.metadata.d.ts +1 -1
  60. package/common/metadata/prompt.metadata.d.ts.map +1 -1
  61. package/common/metadata/skill.metadata.d.ts +1 -1
  62. package/common/metadata/tool.metadata.d.ts +8 -3
  63. package/common/metadata/tool.metadata.d.ts.map +1 -1
  64. package/common/metadata/workflow.metadata.d.ts +2 -2
  65. package/common/schemas/annotated-class.schema.d.ts +16 -13
  66. package/common/schemas/annotated-class.schema.d.ts.map +1 -1
  67. package/common/schemas/http-output.schema.d.ts +24 -24
  68. package/common/tokens/front-mcp.tokens.d.ts.map +1 -1
  69. package/common/tokens/tool.tokens.d.ts +1 -0
  70. package/common/tokens/tool.tokens.d.ts.map +1 -1
  71. package/common/types/options/http/interfaces.d.ts +1 -1
  72. package/common/types/options/index.d.ts +1 -0
  73. package/common/types/options/index.d.ts.map +1 -1
  74. package/common/types/options/logging/schema.d.ts +1 -1
  75. package/common/types/options/outbound-fetch/index.d.ts +4 -0
  76. package/common/types/options/outbound-fetch/index.d.ts.map +1 -0
  77. package/common/types/options/outbound-fetch/interfaces.d.ts +32 -0
  78. package/common/types/options/outbound-fetch/interfaces.d.ts.map +1 -0
  79. package/common/types/options/outbound-fetch/schema.d.ts +19 -0
  80. package/common/types/options/outbound-fetch/schema.d.ts.map +1 -0
  81. package/common/types/options/skills-http/interfaces.d.ts +3 -2
  82. package/common/types/options/skills-http/interfaces.d.ts.map +1 -1
  83. package/common/types/options/skills-http/schema.d.ts +8 -8
  84. package/common/types/options/transport/index.d.ts +2 -2
  85. package/common/types/options/transport/index.d.ts.map +1 -1
  86. package/common/types/options/transport/schema.d.ts +11 -0
  87. package/common/types/options/transport/schema.d.ts.map +1 -1
  88. package/common/utils/auth-info.utils.d.ts +26 -0
  89. package/common/utils/auth-info.utils.d.ts.map +1 -0
  90. package/common/utils/decide-request-intent.utils.d.ts +1 -1
  91. package/common/utils/decide-request-intent.utils.d.ts.map +1 -1
  92. package/common/utils/guard.utils.d.ts +57 -0
  93. package/common/utils/guard.utils.d.ts.map +1 -0
  94. package/common/utils/index.d.ts +2 -0
  95. package/common/utils/index.d.ts.map +1 -1
  96. package/completion/flows/complete.flow.d.ts +11 -2
  97. package/completion/flows/complete.flow.d.ts.map +1 -1
  98. package/context/frontmcp-context-storage.d.ts +27 -1
  99. package/context/frontmcp-context-storage.d.ts.map +1 -1
  100. package/context/frontmcp-context.d.ts +19 -6
  101. package/context/frontmcp-context.d.ts.map +1 -1
  102. package/context/frontmcp-context.provider.d.ts +1 -1
  103. package/context/index.d.ts +0 -1
  104. package/context/index.d.ts.map +1 -1
  105. package/context/metadata.utils.d.ts.map +1 -1
  106. package/direct/client.types.d.ts +2 -0
  107. package/direct/client.types.d.ts.map +1 -1
  108. package/direct/direct-server.d.ts +1 -0
  109. package/direct/direct-server.d.ts.map +1 -1
  110. package/direct/index.d.ts +0 -1
  111. package/direct/index.d.ts.map +1 -1
  112. package/elicitation/helpers/elicit.helper.d.ts.map +1 -1
  113. package/errors/error-handler.d.ts +10 -5
  114. package/errors/error-handler.d.ts.map +1 -1
  115. package/errors/index.d.ts +2 -2
  116. package/errors/index.d.ts.map +1 -1
  117. package/errors/mcp.error.d.ts +28 -0
  118. package/errors/mcp.error.d.ts.map +1 -1
  119. package/errors/mrtr.error.d.ts +5 -0
  120. package/errors/mrtr.error.d.ts.map +1 -1
  121. package/esm/index.mjs +5264 -4449
  122. package/flows/flow.instance.d.ts.map +1 -1
  123. package/flows/flow.registry.d.ts.map +1 -1
  124. package/flows/flow.stages.d.ts +2 -1
  125. package/flows/flow.stages.d.ts.map +1 -1
  126. package/front-mcp/front-mcp.d.ts +2 -2
  127. package/front-mcp/front-mcp.d.ts.map +1 -1
  128. package/front-mcp/front-mcp.providers.d.ts +2 -3607
  129. package/front-mcp/front-mcp.providers.d.ts.map +1 -1
  130. package/hooks/hooks.utils.d.ts +12 -2
  131. package/hooks/hooks.utils.d.ts.map +1 -1
  132. package/index.d.ts +22 -21
  133. package/index.d.ts.map +1 -1
  134. package/index.js +5794 -4970
  135. package/package.json +10 -10
  136. package/plugin/plugin.registry.d.ts.map +1 -1
  137. package/plugin/plugin.utils.d.ts.map +1 -1
  138. package/prompt/flows/get-prompt.flow.d.ts +2 -1
  139. package/prompt/flows/get-prompt.flow.d.ts.map +1 -1
  140. package/prompt/prompt.registry.d.ts +3 -1
  141. package/prompt/prompt.registry.d.ts.map +1 -1
  142. package/provider/provider.registry.d.ts +1 -0
  143. package/provider/provider.registry.d.ts.map +1 -1
  144. package/resource/flows/read-resource.flow.d.ts +2 -1
  145. package/resource/flows/read-resource.flow.d.ts.map +1 -1
  146. package/resource/resource.instance.d.ts +4 -2
  147. package/resource/resource.instance.d.ts.map +1 -1
  148. package/resource/resource.registry.d.ts +3 -1
  149. package/resource/resource.registry.d.ts.map +1 -1
  150. package/scope/flows/http.ip-filter.flow.d.ts +17 -0
  151. package/scope/flows/http.ip-filter.flow.d.ts.map +1 -0
  152. package/scope/flows/http.request.flow.d.ts +5 -1
  153. package/scope/flows/http.request.flow.d.ts.map +1 -1
  154. package/scope/scope.instance.d.ts +7 -1
  155. package/scope/scope.instance.d.ts.map +1 -1
  156. package/server/custom-routes.helper.d.ts +7 -1
  157. package/server/custom-routes.helper.d.ts.map +1 -1
  158. package/skill/flows/filter-skills.flow.d.ts +39 -0
  159. package/skill/flows/filter-skills.flow.d.ts.map +1 -0
  160. package/skill/flows/http/llm-full-txt.flow.d.ts +3 -2
  161. package/skill/flows/http/llm-full-txt.flow.d.ts.map +1 -1
  162. package/skill/flows/http/llm-txt.flow.d.ts +3 -2
  163. package/skill/flows/http/llm-txt.flow.d.ts.map +1 -1
  164. package/skill/flows/http/skills-api.flow.d.ts +3 -2
  165. package/skill/flows/http/skills-api.flow.d.ts.map +1 -1
  166. package/skill/flows/index.d.ts +1 -0
  167. package/skill/flows/index.d.ts.map +1 -1
  168. package/skill/flows/load-skill.flow.d.ts.map +1 -1
  169. package/skill/flows/search-skills.flow.d.ts.map +1 -1
  170. package/skill/hooks/skill-tool.hook.d.ts +18 -1
  171. package/skill/hooks/skill-tool.hook.d.ts.map +1 -1
  172. package/skill/index.d.ts +2 -1
  173. package/skill/index.d.ts.map +1 -1
  174. package/skill/sep-2640/resources/skill-file.resource.d.ts.map +1 -1
  175. package/skill/sep-2640/resources/skill-index.resource.d.ts.map +1 -1
  176. package/skill/sep-2640/resources/skill-md.resource.d.ts.map +1 -1
  177. package/skill/sep-2640/sep-2640.per-skill.d.ts.map +1 -1
  178. package/skill/sep-2640/sep-2640.resource-helpers.d.ts +2 -1
  179. package/skill/sep-2640/sep-2640.resource-helpers.d.ts.map +1 -1
  180. package/skill/skill-audit.helper.d.ts +4 -0
  181. package/skill/skill-audit.helper.d.ts.map +1 -1
  182. package/skill/skill-authorities.helper.d.ts +0 -21
  183. package/skill/skill-authorities.helper.d.ts.map +1 -1
  184. package/skill/skill-filter.helper.d.ts +32 -0
  185. package/skill/skill-filter.helper.d.ts.map +1 -0
  186. package/skill/skill-http.utils.d.ts +3 -2
  187. package/skill/skill-http.utils.d.ts.map +1 -1
  188. package/skill/skill-instructions.helper.d.ts +13 -8
  189. package/skill/skill-instructions.helper.d.ts.map +1 -1
  190. package/skill/skill-scope.helper.d.ts +2 -1
  191. package/skill/skill-scope.helper.d.ts.map +1 -1
  192. package/tool/flows/call-tool.flow.d.ts +4 -2
  193. package/tool/flows/call-tool.flow.d.ts.map +1 -1
  194. package/tool/flows/tools-list.flow.d.ts.map +1 -1
  195. package/tool/tool.registry.d.ts +4 -1
  196. package/tool/tool.registry.d.ts.map +1 -1
  197. package/tool/tool.utils.d.ts.map +1 -1
  198. package/tool/ui/index.d.ts +1 -1
  199. package/tool/ui/index.d.ts.map +1 -1
  200. package/tool/ui/ui-shared.d.ts +14 -1
  201. package/tool/ui/ui-shared.d.ts.map +1 -1
  202. package/transport/adapters/transport.local.adapter.d.ts +4 -1
  203. package/transport/adapters/transport.local.adapter.d.ts.map +1 -1
  204. package/transport/adapters/transport.streamable-http.adapter.d.ts.map +1 -1
  205. package/transport/flows/handle.mcp-20260728.flow.d.ts.map +1 -1
  206. package/transport/flows/handle.stateless-http.flow.d.ts.map +1 -1
  207. package/transport/flows/handle.streamable-http.flow.d.ts +1 -1
  208. package/transport/index.d.ts +1 -0
  209. package/transport/index.d.ts.map +1 -1
  210. package/transport/mcp-20260728/dispatcher.d.ts +2 -1
  211. package/transport/mcp-20260728/dispatcher.d.ts.map +1 -1
  212. package/transport/mcp-20260728/mrtr.d.ts.map +1 -1
  213. package/transport/mcp-handlers/call-tool-request.handler.d.ts.map +1 -1
  214. package/transport/mcp-handlers/get-prompt-request.handler.d.ts.map +1 -1
  215. package/transport/mcp-handlers/index.d.ts +549 -549
  216. package/transport/mcp-handlers/index.d.ts.map +1 -1
  217. package/transport/mcp-handlers/mcp-error.utils.d.ts +17 -2
  218. package/transport/mcp-handlers/mcp-error.utils.d.ts.map +1 -1
  219. package/transport/mcp-handlers/read-resource-request.handler.d.ts.map +1 -1
  220. package/transport/mcp-handlers/skills-list-request.handler.d.ts.map +1 -1
  221. package/transport/mcp-handlers/skills-load-request.handler.d.ts.map +1 -1
  222. package/transport/mcp-handlers/skills-search-request.handler.d.ts.map +1 -1
  223. package/transport/transport.registry.d.ts +1 -1
  224. package/transport/transport.registry.d.ts.map +1 -1
  225. package/transport/transport.types.d.ts +2 -0
  226. package/transport/transport.types.d.ts.map +1 -1
  227. package/transport/web-fetch-handler.d.ts +9 -0
  228. package/transport/web-fetch-handler.d.ts.map +1 -1
  229. package/utils/lineage.utils.d.ts +23 -1
  230. package/utils/lineage.utils.d.ts.map +1 -1
@@ -1,3608 +1,3 @@
1
- import { FrontMcpServer, type FrontMcpConfigType, type ProviderValueType } from '../common';
2
- import { FrontMcpContextStorage } from '../context';
3
- export declare function createMcpGlobalProviders(metadata: FrontMcpConfigType): (typeof FrontMcpContextStorage | ProviderValueType<{
4
- info: {
5
- name: string;
6
- version: string;
7
- title?: string | undefined;
8
- websiteUrl?: string | undefined;
9
- icons?: {
10
- src: string;
11
- mimeType?: string | undefined;
12
- sizes?: string[] | undefined;
13
- theme?: "light" | "dark" | undefined;
14
- }[] | undefined;
15
- };
16
- providers: import("@frontmcp/di").Type<unknown>[];
17
- tools: (string | import("@frontmcp/di").Type<unknown>)[];
18
- resources: import("@frontmcp/di").Type<unknown>[];
19
- skills: import("@frontmcp/di").Type<unknown>[];
20
- plugins: import("@frontmcp/di").Type<unknown>[];
21
- apps: import("@frontmcp/di").Type<unknown>[];
22
- serve: boolean;
23
- transport: {
24
- sessionMode: "stateful" | "stateless" | import("zod/v4/core").$InferOuterFunctionType<import("zod/v4/core").$ZodFunctionArgs, import("zod/v4/core").$ZodFunctionOut>;
25
- protocol: "modern" | "legacy" | "stateless-api" | "full" | {
26
- sse?: boolean | undefined;
27
- streamable?: boolean | undefined;
28
- json?: boolean | undefined;
29
- stateless?: boolean | undefined;
30
- legacy?: boolean | undefined;
31
- strictSession?: boolean | undefined;
32
- };
33
- distributedMode: boolean | "auto";
34
- platformDetection?: {
35
- customOnly: boolean;
36
- mappings?: {
37
- pattern: string | RegExp;
38
- platform: "unknown" | "continue" | "openai" | "claude" | "gemini" | "cursor" | "cody" | "generic-mcp" | "ext-apps";
39
- }[] | undefined;
40
- } | undefined;
41
- defaultProtocolVersion?: "legacy" | "2026-07-28" | undefined;
42
- persistence?: false | {
43
- defaultTtlMs: number;
44
- redis?: {
45
- provider: "redis";
46
- host: string;
47
- port: number;
48
- db: number;
49
- tls: boolean;
50
- keyPrefix: string;
51
- defaultTtlMs: number;
52
- password?: string | undefined;
53
- } | {
54
- provider: "redis";
55
- host: string;
56
- port: number;
57
- db: number;
58
- tls: boolean;
59
- keyPrefix: string;
60
- defaultTtlMs: number;
61
- password?: string | undefined;
62
- } | {
63
- provider: "vercel-kv";
64
- keyPrefix: string;
65
- defaultTtlMs: number;
66
- url?: string | undefined;
67
- token?: string | undefined;
68
- } | undefined;
69
- sqlite?: {
70
- ttlCleanupIntervalMs: number;
71
- walMode: boolean;
72
- path?: string | undefined;
73
- encryption?: {
74
- secret: string;
75
- } | undefined;
76
- } | undefined;
77
- } | undefined;
78
- providerCaching?: boolean | undefined;
79
- eventStore?: {
80
- enabled: boolean;
81
- provider: "redis" | "sqlite" | "memory";
82
- maxEvents: number;
83
- ttlMs: number;
84
- redis?: {
85
- provider: "redis";
86
- host: string;
87
- port: number;
88
- db: number;
89
- tls: boolean;
90
- keyPrefix: string;
91
- defaultTtlMs: number;
92
- password?: string | undefined;
93
- } | {
94
- provider: "redis";
95
- host: string;
96
- port: number;
97
- db: number;
98
- tls: boolean;
99
- keyPrefix: string;
100
- defaultTtlMs: number;
101
- password?: string | undefined;
102
- } | {
103
- provider: "vercel-kv";
104
- keyPrefix: string;
105
- defaultTtlMs: number;
106
- url?: string | undefined;
107
- token?: string | undefined;
108
- } | undefined;
109
- } | undefined;
110
- };
111
- splitByApp: false;
112
- __sourceDir?: string | undefined;
113
- instructions?: string | undefined;
114
- http?: {
115
- port: number;
116
- entryPath: string;
117
- bodyLimit: string | number;
118
- hostFactory?: any;
119
- socketPath?: string | undefined;
120
- cors?: false | {
121
- origin?: string | boolean | string[] | ((origin: string | undefined, callback: (err: Error | null, allow?: boolean) => void) => void) | undefined;
122
- credentials?: boolean | undefined;
123
- maxAge?: number | undefined;
124
- } | undefined;
125
- security?: {
126
- strict?: boolean | undefined;
127
- bindAddress?: string | undefined;
128
- dnsRebindingProtection?: {
129
- enabled?: boolean | undefined;
130
- allowedHosts?: string[] | undefined;
131
- allowedOrigins?: string[] | undefined;
132
- } | undefined;
133
- } | undefined;
134
- urlencodedLimit?: string | number | undefined;
135
- routes?: {
136
- method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS" | "HEAD";
137
- path: string;
138
- handler: import("../common").ServerRequestHandler;
139
- auth?: boolean | undefined;
140
- }[] | undefined;
141
- } | undefined;
142
- redis?: {
143
- provider: "redis";
144
- host: string;
145
- port: number;
146
- db: number;
147
- tls: boolean;
148
- keyPrefix: string;
149
- defaultTtlMs: number;
150
- password?: string | undefined;
151
- } | {
152
- provider: "redis";
153
- host: string;
154
- port: number;
155
- db: number;
156
- tls: boolean;
157
- keyPrefix: string;
158
- defaultTtlMs: number;
159
- password?: string | undefined;
160
- } | {
161
- provider: "vercel-kv";
162
- keyPrefix: string;
163
- defaultTtlMs: number;
164
- url?: string | undefined;
165
- token?: string | undefined;
166
- } | undefined;
167
- pubsub?: {
168
- provider: "redis";
169
- host: string;
170
- port: number;
171
- db: number;
172
- tls: boolean;
173
- keyPrefix: string;
174
- defaultTtlMs: number;
175
- password?: string | undefined;
176
- } | {
177
- provider: "redis";
178
- host: string;
179
- port: number;
180
- db: number;
181
- tls: boolean;
182
- keyPrefix: string;
183
- defaultTtlMs: number;
184
- password?: string | undefined;
185
- } | undefined;
186
- logging?: {
187
- level: import("../common").LogLevel;
188
- enableConsole: boolean;
189
- transports: import("@frontmcp/di").Type<unknown>[];
190
- prefix?: string | undefined;
191
- } | undefined;
192
- pagination?: {
193
- tools?: {
194
- mode: boolean | "auto";
195
- pageSize: number;
196
- autoThreshold: number;
197
- } | undefined;
198
- } | undefined;
199
- elicitation?: {
200
- enabled: boolean;
201
- redis?: {
202
- provider: "redis";
203
- host: string;
204
- port: number;
205
- db: number;
206
- tls: boolean;
207
- keyPrefix: string;
208
- defaultTtlMs: number;
209
- password?: string | undefined;
210
- } | {
211
- provider: "redis";
212
- host: string;
213
- port: number;
214
- db: number;
215
- tls: boolean;
216
- keyPrefix: string;
217
- defaultTtlMs: number;
218
- password?: string | undefined;
219
- } | {
220
- provider: "vercel-kv";
221
- keyPrefix: string;
222
- defaultTtlMs: number;
223
- url?: string | undefined;
224
- token?: string | undefined;
225
- } | undefined;
226
- } | undefined;
227
- skillsConfig?: {
228
- enabled: boolean;
229
- auth: "inherit" | "public" | "api-key" | "bearer";
230
- llmTxt: boolean | {
231
- enabled: boolean;
232
- path?: string | undefined;
233
- };
234
- llmFullTxt: boolean | {
235
- enabled: boolean;
236
- path?: string | undefined;
237
- };
238
- api: boolean | {
239
- enabled: boolean;
240
- path?: string | undefined;
241
- };
242
- mcpResources: boolean;
243
- sep2640InInstructions: boolean;
244
- injectInstructions: "replace" | "off" | "append" | "prepend";
245
- prefix?: string | undefined;
246
- apiKeys?: string[] | undefined;
247
- jwt?: {
248
- issuer: string;
249
- audience?: string | undefined;
250
- jwksUrl?: string | undefined;
251
- } | undefined;
252
- cache?: {
253
- enabled: boolean;
254
- ttlMs: number;
255
- redis?: {
256
- provider: "redis" | "vercel-kv" | "@vercel/kv";
257
- host?: string | undefined;
258
- port?: number | undefined;
259
- password?: string | undefined;
260
- db?: number | undefined;
261
- } | undefined;
262
- keyPrefix?: string | undefined;
263
- } | undefined;
264
- audit?: {
265
- enabled: boolean;
266
- signer?: unknown;
267
- store?: unknown;
268
- subjectMode?: "plain" | "hash" | "omit" | undefined;
269
- headAnchorIntervalMs?: number | undefined;
270
- } | undefined;
271
- scoring?: "cosine" | "bm25" | undefined;
272
- } | undefined;
273
- extApps?: {
274
- enabled: boolean;
275
- hostCapabilities?: {
276
- serverToolProxy?: boolean | undefined;
277
- openLink?: boolean | undefined;
278
- modelContextUpdate?: boolean | undefined;
279
- widgetTools?: boolean | undefined;
280
- displayModes?: ("inline" | "fullscreen" | "pip")[] | undefined;
281
- logging?: boolean | undefined;
282
- } | undefined;
283
- } | undefined;
284
- sqlite?: {
285
- ttlCleanupIntervalMs: number;
286
- walMode: boolean;
287
- path?: string | undefined;
288
- encryption?: {
289
- secret: string;
290
- } | undefined;
291
- } | undefined;
292
- ui?: {
293
- cdnOverrides?: Record<string, string> | undefined;
294
- } | undefined;
295
- output?: {
296
- allowNonFinite?: boolean | undefined;
297
- schemaMode?: "description" | "definition" | "both" | "none" | undefined;
298
- schemaDescriptionFormat?: "summary" | "jsonSchema" | undefined;
299
- } | undefined;
300
- jobs?: {
301
- enabled: boolean;
302
- allowDynamicRegistration?: boolean | undefined;
303
- store?: {
304
- redis?: {
305
- provider: "redis";
306
- host: string;
307
- port: number;
308
- db: number;
309
- tls: boolean;
310
- keyPrefix: string;
311
- defaultTtlMs: number;
312
- password?: string | undefined;
313
- } | {
314
- provider: "redis";
315
- host: string;
316
- port: number;
317
- db: number;
318
- tls: boolean;
319
- keyPrefix: string;
320
- defaultTtlMs: number;
321
- password?: string | undefined;
322
- } | {
323
- provider: "vercel-kv";
324
- keyPrefix: string;
325
- defaultTtlMs: number;
326
- url?: string | undefined;
327
- token?: string | undefined;
328
- } | undefined;
329
- keyPrefix?: string | undefined;
330
- } | undefined;
331
- } | undefined;
332
- loader?: {
333
- url?: string | undefined;
334
- registryUrl?: string | undefined;
335
- token?: string | undefined;
336
- tokenEnvVar?: string | undefined;
337
- } | undefined;
338
- throttle?: {
339
- enabled: boolean;
340
- keyPrefix: string;
341
- storage?: {
342
- [x: string]: unknown;
343
- } | undefined;
344
- global?: {
345
- maxRequests: number;
346
- windowMs: number;
347
- partitionBy: "session" | "global" | ((ctx: {
348
- sessionId: string;
349
- clientIp?: string;
350
- userId?: string;
351
- }) => string) | "ip" | "userId";
352
- } | undefined;
353
- globalConcurrency?: {
354
- maxConcurrent: number;
355
- queueTimeoutMs: number;
356
- partitionBy: "session" | "global" | "ip" | "userId" | ((ctx: {
357
- sessionId: string;
358
- clientIp?: string;
359
- userId?: string;
360
- }) => string);
361
- } | undefined;
362
- defaultRateLimit?: {
363
- maxRequests: number;
364
- windowMs: number;
365
- partitionBy: "session" | "global" | "ip" | "userId" | ((ctx: {
366
- sessionId: string;
367
- clientIp?: string;
368
- userId?: string;
369
- }) => string);
370
- } | undefined;
371
- defaultConcurrency?: {
372
- maxConcurrent: number;
373
- queueTimeoutMs: number;
374
- partitionBy: "session" | "global" | "ip" | "userId" | ((ctx: {
375
- sessionId: string;
376
- clientIp?: string;
377
- userId?: string;
378
- }) => string);
379
- } | undefined;
380
- defaultTimeout?: {
381
- executeMs: number;
382
- } | undefined;
383
- ipFilter?: {
384
- defaultAction: "allow" | "deny";
385
- trustProxy: boolean;
386
- trustedProxyDepth: number;
387
- allowList?: string[] | undefined;
388
- denyList?: string[] | undefined;
389
- } | undefined;
390
- } | undefined;
391
- observability?: boolean | {
392
- tracing?: boolean | {
393
- [x: string]: unknown;
394
- } | undefined;
395
- logging?: boolean | {
396
- [x: string]: unknown;
397
- } | undefined;
398
- requestLogs?: boolean | {
399
- [x: string]: unknown;
400
- } | undefined;
401
- } | undefined;
402
- health?: {
403
- enabled: boolean;
404
- healthzPath: string;
405
- readyzPath: string;
406
- probes: any[];
407
- includeDetails?: boolean | undefined;
408
- readyz?: {
409
- timeoutMs: number;
410
- enabled?: boolean | undefined;
411
- } | undefined;
412
- } | undefined;
413
- metrics?: {
414
- enabled: boolean;
415
- path: string;
416
- format: "json" | "prometheus";
417
- auth: "token" | "public" | {
418
- token: string;
419
- };
420
- tokenEnv: string;
421
- include?: ("auth" | "http" | "tools" | "resources" | "skills" | "process" | "storage" | "sessions")[] | undefined;
422
- process?: {
423
- eventLoopLag?: boolean | undefined;
424
- fdCount?: boolean | undefined;
425
- activeHandles?: boolean | undefined;
426
- } | undefined;
427
- } | undefined;
428
- channels?: {
429
- enabled: boolean;
430
- defaultMeta?: Record<string, string> | undefined;
431
- } | undefined;
432
- authorities?: {
433
- claimsMapping?: Record<string, string | undefined> | undefined;
434
- profiles?: Record<string, {
435
- [x: string]: unknown;
436
- }> | undefined;
437
- relationshipResolver?: any;
438
- evaluators?: Record<string, any> | undefined;
439
- claimsResolver?: any;
440
- scopeMapping?: {
441
- roles?: Record<string, string[]> | undefined;
442
- permissions?: Record<string, string[]> | undefined;
443
- profiles?: Record<string, string[]> | undefined;
444
- } | undefined;
445
- pipes?: any[] | undefined;
446
- } | undefined;
447
- tasks?: {
448
- enabled?: boolean | undefined;
449
- redis?: {
450
- provider: "redis";
451
- host: string;
452
- port: number;
453
- db: number;
454
- tls: boolean;
455
- keyPrefix: string;
456
- defaultTtlMs: number;
457
- password?: string | undefined;
458
- } | {
459
- provider: "redis";
460
- host: string;
461
- port: number;
462
- db: number;
463
- tls: boolean;
464
- keyPrefix: string;
465
- defaultTtlMs: number;
466
- password?: string | undefined;
467
- } | {
468
- provider: "vercel-kv";
469
- keyPrefix: string;
470
- defaultTtlMs: number;
471
- url?: string | undefined;
472
- token?: string | undefined;
473
- } | undefined;
474
- keyPrefix?: string | undefined;
475
- defaultTtlMs?: number | undefined;
476
- maxTtlMs?: number | undefined;
477
- defaultPollIntervalMs?: number | undefined;
478
- maxConcurrentPerSession?: number | undefined;
479
- strict?: boolean | undefined;
480
- runner?: "in-process" | "cli" | undefined;
481
- sqlite?: {
482
- path: string;
483
- encryption?: {
484
- secret: string;
485
- } | undefined;
486
- walMode?: boolean | undefined;
487
- ttlCleanupIntervalMs?: number | undefined;
488
- } | undefined;
489
- cliRunnerCommand?: {
490
- exe: string;
491
- args?: string[] | undefined;
492
- } | undefined;
493
- } | undefined;
494
- auth?: {
495
- mode: "public";
496
- sessionTtl: number;
497
- anonymousScopes: string[];
498
- issuer?: string | undefined;
499
- publicAccess?: {
500
- tools: string[] | "all";
501
- prompts: string[] | "all";
502
- rateLimit: number;
503
- } | undefined;
504
- jwks?: {
505
- keys: import("libs/auth/dist/common/jwt.types").JWK[];
506
- } | undefined;
507
- signKey?: Uint8Array<ArrayBuffer> | import("libs/auth/dist/common/jwt.types").JWK | undefined;
508
- } | {
509
- mode: "static";
510
- tokens: string[];
511
- header: string;
512
- scheme: string;
513
- scopes: string[];
514
- realm: string;
515
- publicAccess?: {
516
- tools: string[] | "all";
517
- prompts: string[] | "all";
518
- rateLimit: number;
519
- } | undefined;
520
- } | {
521
- requiredScopes: string[];
522
- allowAnonymous: boolean;
523
- anonymousScopes: string[];
524
- provider: string;
525
- mode: "transparent";
526
- expectedAudience?: string | string[] | undefined;
527
- requireAudience?: boolean | undefined;
528
- publicAccess?: {
529
- tools: string[] | "all";
530
- prompts: string[] | "all";
531
- rateLimit: number;
532
- } | undefined;
533
- clientId?: string | undefined;
534
- clientSecret?: string | undefined;
535
- scopes?: string[] | undefined;
536
- providerConfig?: {
537
- dcrEnabled: boolean;
538
- name?: string | undefined;
539
- id?: string | undefined;
540
- jwks?: {
541
- keys: import("libs/auth/dist/common/jwt.types").JWK[];
542
- } | undefined;
543
- jwksUri?: string | undefined;
544
- additionalIssuers?: string[] | undefined;
545
- verifyIssuer?: boolean | undefined;
546
- authEndpoint?: string | undefined;
547
- tokenEndpoint?: string | undefined;
548
- registrationEndpoint?: string | undefined;
549
- userInfoEndpoint?: string | undefined;
550
- } | undefined;
551
- } | {
552
- requireEmail: boolean;
553
- anonymousSubject: string;
554
- tokenStorage: "memory" | {
555
- redis: {
556
- host: string;
557
- port: number;
558
- db: number;
559
- tls: boolean;
560
- keyPrefix: string;
561
- defaultTtlMs: number;
562
- password?: string | undefined;
563
- };
564
- } | {
565
- sqlite: {
566
- path: string;
567
- encryption?: {
568
- secret: string;
569
- } | undefined;
570
- ttlCleanupIntervalMs?: number | undefined;
571
- walMode?: boolean | undefined;
572
- };
573
- };
574
- allowDefaultPublic: boolean;
575
- anonymousScopes: string[];
576
- requireRegisteredClients: boolean;
577
- mode: "local";
578
- login?: {
579
- title?: string | undefined;
580
- subtitle?: string | undefined;
581
- logoUri?: string | undefined;
582
- fields?: Record<string, {
583
- type: "text" | "email" | "password" | "select" | "hidden";
584
- label?: string | undefined;
585
- required?: boolean | undefined;
586
- placeholder?: string | undefined;
587
- options?: {
588
- value: string;
589
- label: string;
590
- }[] | undefined;
591
- }> | undefined;
592
- render?: ((ctx: import("libs/auth/dist/options/interfaces").LoginRenderContext) => string) | undefined;
593
- subject?: {
594
- fromField?: string | undefined;
595
- strategy?: "per-session" | "per-account" | undefined;
596
- } | undefined;
597
- } | undefined;
598
- authenticate?: import("libs/auth/dist/options/interfaces").AuthenticateFn | undefined;
599
- providers?: {
600
- id: string;
601
- clientId: string;
602
- name?: string | undefined;
603
- authorizationEndpoint?: string | undefined;
604
- authorizeUrl?: string | undefined;
605
- tokenEndpoint?: string | undefined;
606
- tokenUrl?: string | undefined;
607
- clientSecret?: string | undefined;
608
- scopes?: string[] | undefined;
609
- userInfoEndpoint?: string | undefined;
610
- jwksUri?: string | undefined;
611
- }[] | undefined;
612
- dcr?: {
613
- enabled?: boolean | undefined;
614
- allowedRedirectUris?: string[] | undefined;
615
- allowedClientIds?: string[] | undefined;
616
- initialAccessToken?: string | undefined;
617
- clients?: {
618
- clientId: string;
619
- redirectUris: string[];
620
- tokenEndpointAuthMethod: "none" | "client_secret_basic" | "client_secret_post";
621
- grantTypes: ("authorization_code" | "refresh_token")[];
622
- responseTypes: "code"[];
623
- clientSecret?: string | undefined;
624
- clientName?: string | undefined;
625
- scope?: string | undefined;
626
- }[] | undefined;
627
- maxDynamicClients?: number | undefined;
628
- } | undefined;
629
- local?: {
630
- signKey?: Uint8Array<ArrayBuffer> | import("libs/auth/dist/common/jwt.types").JWK | undefined;
631
- jwks?: {
632
- keys: import("libs/auth/dist/common/jwt.types").JWK[];
633
- } | undefined;
634
- issuer?: string | undefined;
635
- } | undefined;
636
- secureStore?: "memory" | {
637
- sqlite: {
638
- path: string;
639
- encryption?: {
640
- secret: string;
641
- } | undefined;
642
- ttlCleanupIntervalMs?: number | undefined;
643
- walMode?: boolean | undefined;
644
- };
645
- scope?: "user" | "session" | "global" | undefined;
646
- ttlMs?: number | undefined;
647
- encryption?: {
648
- pepper?: string | undefined;
649
- } | undefined;
650
- } | {
651
- redis: {
652
- host: string;
653
- port: number;
654
- db: number;
655
- tls: boolean;
656
- keyPrefix: string;
657
- defaultTtlMs: number;
658
- password?: string | undefined;
659
- };
660
- scope?: "user" | "session" | "global" | undefined;
661
- ttlMs?: number | undefined;
662
- encryption?: {
663
- pepper?: string | undefined;
664
- } | undefined;
665
- } | {
666
- backend: import("libs/auth/dist/options/interfaces").SecureStoreCustomBackend;
667
- scope?: "user" | "session" | "global" | undefined;
668
- ttlMs?: number | undefined;
669
- encryption?: {
670
- pepper?: string | undefined;
671
- } | undefined;
672
- } | {
673
- scope?: "user" | "session" | "global" | undefined;
674
- ttlMs?: number | undefined;
675
- encryption?: {
676
- pepper?: string | undefined;
677
- } | undefined;
678
- } | undefined;
679
- publicAccess?: {
680
- tools: string[] | "all";
681
- prompts: string[] | "all";
682
- rateLimit: number;
683
- } | undefined;
684
- consent?: {
685
- enabled: boolean;
686
- groupByApp: boolean;
687
- showDescriptions: boolean;
688
- allowSelectAll: boolean;
689
- requireSelection: boolean;
690
- rememberConsent: boolean;
691
- customMessage?: string | undefined;
692
- excludedTools?: string[] | undefined;
693
- defaultSelectedTools?: string[] | undefined;
694
- } | undefined;
695
- federatedAuth?: {
696
- stateValidation: "format" | "strict";
697
- minProviders?: number | undefined;
698
- requiredProviders?: string[] | undefined;
699
- } | undefined;
700
- refresh?: {
701
- enabled: boolean;
702
- skewSeconds: number;
703
- } | undefined;
704
- expectedAudience?: string | string[] | undefined;
705
- incrementalAuth?: {
706
- enabled: boolean;
707
- skippedAppBehavior: "anonymous" | "require-auth";
708
- allowSkip: boolean;
709
- showAllAppsAtOnce: boolean;
710
- } | undefined;
711
- cimd?: {
712
- enabled: boolean;
713
- cache?: {
714
- type: "redis" | "memory";
715
- defaultTtlMs: number;
716
- maxTtlMs: number;
717
- minTtlMs: number;
718
- redis?: {
719
- keyPrefix: string;
720
- url?: string | undefined;
721
- host?: string | undefined;
722
- port?: number | undefined;
723
- password?: string | undefined;
724
- db?: number | undefined;
725
- tls?: boolean | undefined;
726
- } | undefined;
727
- } | undefined;
728
- security?: {
729
- blockPrivateIPs: boolean;
730
- warnOnLocalhostRedirects: boolean;
731
- allowInsecureForTesting: boolean;
732
- allowedDomains?: string[] | undefined;
733
- blockedDomains?: string[] | undefined;
734
- } | undefined;
735
- network?: {
736
- timeoutMs: number;
737
- maxResponseSizeBytes: number;
738
- redirectPolicy: "allow" | "deny" | "same-origin";
739
- maxRedirects: number;
740
- } | undefined;
741
- } | undefined;
742
- ui?: Partial<Record<"error" | "login" | "consent" | "incremental" | "federated", string>> | undefined;
743
- extras?: Record<string, import("libs/auth/dist/options/interfaces").AuthExtraHandler> | undefined;
744
- } | {
745
- tokenStorage: "memory" | {
746
- redis: {
747
- host: string;
748
- port: number;
749
- db: number;
750
- tls: boolean;
751
- keyPrefix: string;
752
- defaultTtlMs: number;
753
- password?: string | undefined;
754
- };
755
- } | {
756
- sqlite: {
757
- path: string;
758
- encryption?: {
759
- secret: string;
760
- } | undefined;
761
- ttlCleanupIntervalMs?: number | undefined;
762
- walMode?: boolean | undefined;
763
- };
764
- };
765
- allowDefaultPublic: boolean;
766
- anonymousScopes: string[];
767
- requireRegisteredClients: boolean;
768
- provider: string;
769
- mode: "remote";
770
- local?: {
771
- signKey?: Uint8Array<ArrayBuffer> | import("libs/auth/dist/common/jwt.types").JWK | undefined;
772
- jwks?: {
773
- keys: import("libs/auth/dist/common/jwt.types").JWK[];
774
- } | undefined;
775
- issuer?: string | undefined;
776
- } | undefined;
777
- secureStore?: "memory" | {
778
- sqlite: {
779
- path: string;
780
- encryption?: {
781
- secret: string;
782
- } | undefined;
783
- ttlCleanupIntervalMs?: number | undefined;
784
- walMode?: boolean | undefined;
785
- };
786
- scope?: "user" | "session" | "global" | undefined;
787
- ttlMs?: number | undefined;
788
- encryption?: {
789
- pepper?: string | undefined;
790
- } | undefined;
791
- } | {
792
- redis: {
793
- host: string;
794
- port: number;
795
- db: number;
796
- tls: boolean;
797
- keyPrefix: string;
798
- defaultTtlMs: number;
799
- password?: string | undefined;
800
- };
801
- scope?: "user" | "session" | "global" | undefined;
802
- ttlMs?: number | undefined;
803
- encryption?: {
804
- pepper?: string | undefined;
805
- } | undefined;
806
- } | {
807
- backend: import("libs/auth/dist/options/interfaces").SecureStoreCustomBackend;
808
- scope?: "user" | "session" | "global" | undefined;
809
- ttlMs?: number | undefined;
810
- encryption?: {
811
- pepper?: string | undefined;
812
- } | undefined;
813
- } | {
814
- scope?: "user" | "session" | "global" | undefined;
815
- ttlMs?: number | undefined;
816
- encryption?: {
817
- pepper?: string | undefined;
818
- } | undefined;
819
- } | undefined;
820
- publicAccess?: {
821
- tools: string[] | "all";
822
- prompts: string[] | "all";
823
- rateLimit: number;
824
- } | undefined;
825
- consent?: {
826
- enabled: boolean;
827
- groupByApp: boolean;
828
- showDescriptions: boolean;
829
- allowSelectAll: boolean;
830
- requireSelection: boolean;
831
- rememberConsent: boolean;
832
- customMessage?: string | undefined;
833
- excludedTools?: string[] | undefined;
834
- defaultSelectedTools?: string[] | undefined;
835
- } | undefined;
836
- federatedAuth?: {
837
- stateValidation: "format" | "strict";
838
- minProviders?: number | undefined;
839
- requiredProviders?: string[] | undefined;
840
- } | undefined;
841
- refresh?: {
842
- enabled: boolean;
843
- skewSeconds: number;
844
- } | undefined;
845
- expectedAudience?: string | string[] | undefined;
846
- incrementalAuth?: {
847
- enabled: boolean;
848
- skippedAppBehavior: "anonymous" | "require-auth";
849
- allowSkip: boolean;
850
- showAllAppsAtOnce: boolean;
851
- } | undefined;
852
- cimd?: {
853
- enabled: boolean;
854
- cache?: {
855
- type: "redis" | "memory";
856
- defaultTtlMs: number;
857
- maxTtlMs: number;
858
- minTtlMs: number;
859
- redis?: {
860
- keyPrefix: string;
861
- url?: string | undefined;
862
- host?: string | undefined;
863
- port?: number | undefined;
864
- password?: string | undefined;
865
- db?: number | undefined;
866
- tls?: boolean | undefined;
867
- } | undefined;
868
- } | undefined;
869
- security?: {
870
- blockPrivateIPs: boolean;
871
- warnOnLocalhostRedirects: boolean;
872
- allowInsecureForTesting: boolean;
873
- allowedDomains?: string[] | undefined;
874
- blockedDomains?: string[] | undefined;
875
- } | undefined;
876
- network?: {
877
- timeoutMs: number;
878
- maxResponseSizeBytes: number;
879
- redirectPolicy: "allow" | "deny" | "same-origin";
880
- maxRedirects: number;
881
- } | undefined;
882
- } | undefined;
883
- ui?: Partial<Record<"error" | "login" | "consent" | "incremental" | "federated", string>> | undefined;
884
- extras?: Record<string, import("libs/auth/dist/options/interfaces").AuthExtraHandler> | undefined;
885
- clientId?: string | undefined;
886
- clientSecret?: string | undefined;
887
- scopes?: string[] | undefined;
888
- providerConfig?: {
889
- dcrEnabled: boolean;
890
- name?: string | undefined;
891
- id?: string | undefined;
892
- jwks?: {
893
- keys: import("libs/auth/dist/common/jwt.types").JWK[];
894
- } | undefined;
895
- jwksUri?: string | undefined;
896
- additionalIssuers?: string[] | undefined;
897
- verifyIssuer?: boolean | undefined;
898
- authEndpoint?: string | undefined;
899
- tokenEndpoint?: string | undefined;
900
- registrationEndpoint?: string | undefined;
901
- userInfoEndpoint?: string | undefined;
902
- } | undefined;
903
- } | undefined;
904
- } | {
905
- info: {
906
- name: string;
907
- version: string;
908
- title?: string | undefined;
909
- websiteUrl?: string | undefined;
910
- icons?: {
911
- src: string;
912
- mimeType?: string | undefined;
913
- sizes?: string[] | undefined;
914
- theme?: "light" | "dark" | undefined;
915
- }[] | undefined;
916
- };
917
- providers: import("@frontmcp/di").Type<unknown>[];
918
- tools: (string | import("@frontmcp/di").Type<unknown>)[];
919
- resources: import("@frontmcp/di").Type<unknown>[];
920
- skills: import("@frontmcp/di").Type<unknown>[];
921
- plugins: import("@frontmcp/di").Type<unknown>[];
922
- apps: import("@frontmcp/di").Type<unknown>[];
923
- serve: boolean;
924
- transport: {
925
- sessionMode: "stateful" | "stateless" | import("zod/v4/core").$InferOuterFunctionType<import("zod/v4/core").$ZodFunctionArgs, import("zod/v4/core").$ZodFunctionOut>;
926
- protocol: "modern" | "legacy" | "stateless-api" | "full" | {
927
- sse?: boolean | undefined;
928
- streamable?: boolean | undefined;
929
- json?: boolean | undefined;
930
- stateless?: boolean | undefined;
931
- legacy?: boolean | undefined;
932
- strictSession?: boolean | undefined;
933
- };
934
- distributedMode: boolean | "auto";
935
- platformDetection?: {
936
- customOnly: boolean;
937
- mappings?: {
938
- pattern: string | RegExp;
939
- platform: "unknown" | "continue" | "openai" | "claude" | "gemini" | "cursor" | "cody" | "generic-mcp" | "ext-apps";
940
- }[] | undefined;
941
- } | undefined;
942
- defaultProtocolVersion?: "legacy" | "2026-07-28" | undefined;
943
- persistence?: false | {
944
- defaultTtlMs: number;
945
- redis?: {
946
- provider: "redis";
947
- host: string;
948
- port: number;
949
- db: number;
950
- tls: boolean;
951
- keyPrefix: string;
952
- defaultTtlMs: number;
953
- password?: string | undefined;
954
- } | {
955
- provider: "redis";
956
- host: string;
957
- port: number;
958
- db: number;
959
- tls: boolean;
960
- keyPrefix: string;
961
- defaultTtlMs: number;
962
- password?: string | undefined;
963
- } | {
964
- provider: "vercel-kv";
965
- keyPrefix: string;
966
- defaultTtlMs: number;
967
- url?: string | undefined;
968
- token?: string | undefined;
969
- } | undefined;
970
- sqlite?: {
971
- ttlCleanupIntervalMs: number;
972
- walMode: boolean;
973
- path?: string | undefined;
974
- encryption?: {
975
- secret: string;
976
- } | undefined;
977
- } | undefined;
978
- } | undefined;
979
- providerCaching?: boolean | undefined;
980
- eventStore?: {
981
- enabled: boolean;
982
- provider: "redis" | "sqlite" | "memory";
983
- maxEvents: number;
984
- ttlMs: number;
985
- redis?: {
986
- provider: "redis";
987
- host: string;
988
- port: number;
989
- db: number;
990
- tls: boolean;
991
- keyPrefix: string;
992
- defaultTtlMs: number;
993
- password?: string | undefined;
994
- } | {
995
- provider: "redis";
996
- host: string;
997
- port: number;
998
- db: number;
999
- tls: boolean;
1000
- keyPrefix: string;
1001
- defaultTtlMs: number;
1002
- password?: string | undefined;
1003
- } | {
1004
- provider: "vercel-kv";
1005
- keyPrefix: string;
1006
- defaultTtlMs: number;
1007
- url?: string | undefined;
1008
- token?: string | undefined;
1009
- } | undefined;
1010
- } | undefined;
1011
- };
1012
- splitByApp: true;
1013
- __sourceDir?: string | undefined;
1014
- instructions?: string | undefined;
1015
- http?: {
1016
- port: number;
1017
- entryPath: string;
1018
- bodyLimit: string | number;
1019
- hostFactory?: any;
1020
- socketPath?: string | undefined;
1021
- cors?: false | {
1022
- origin?: string | boolean | string[] | ((origin: string | undefined, callback: (err: Error | null, allow?: boolean) => void) => void) | undefined;
1023
- credentials?: boolean | undefined;
1024
- maxAge?: number | undefined;
1025
- } | undefined;
1026
- security?: {
1027
- strict?: boolean | undefined;
1028
- bindAddress?: string | undefined;
1029
- dnsRebindingProtection?: {
1030
- enabled?: boolean | undefined;
1031
- allowedHosts?: string[] | undefined;
1032
- allowedOrigins?: string[] | undefined;
1033
- } | undefined;
1034
- } | undefined;
1035
- urlencodedLimit?: string | number | undefined;
1036
- routes?: {
1037
- method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS" | "HEAD";
1038
- path: string;
1039
- handler: import("../common").ServerRequestHandler;
1040
- auth?: boolean | undefined;
1041
- }[] | undefined;
1042
- } | undefined;
1043
- redis?: {
1044
- provider: "redis";
1045
- host: string;
1046
- port: number;
1047
- db: number;
1048
- tls: boolean;
1049
- keyPrefix: string;
1050
- defaultTtlMs: number;
1051
- password?: string | undefined;
1052
- } | {
1053
- provider: "redis";
1054
- host: string;
1055
- port: number;
1056
- db: number;
1057
- tls: boolean;
1058
- keyPrefix: string;
1059
- defaultTtlMs: number;
1060
- password?: string | undefined;
1061
- } | {
1062
- provider: "vercel-kv";
1063
- keyPrefix: string;
1064
- defaultTtlMs: number;
1065
- url?: string | undefined;
1066
- token?: string | undefined;
1067
- } | undefined;
1068
- pubsub?: {
1069
- provider: "redis";
1070
- host: string;
1071
- port: number;
1072
- db: number;
1073
- tls: boolean;
1074
- keyPrefix: string;
1075
- defaultTtlMs: number;
1076
- password?: string | undefined;
1077
- } | {
1078
- provider: "redis";
1079
- host: string;
1080
- port: number;
1081
- db: number;
1082
- tls: boolean;
1083
- keyPrefix: string;
1084
- defaultTtlMs: number;
1085
- password?: string | undefined;
1086
- } | undefined;
1087
- logging?: {
1088
- level: import("../common").LogLevel;
1089
- enableConsole: boolean;
1090
- transports: import("@frontmcp/di").Type<unknown>[];
1091
- prefix?: string | undefined;
1092
- } | undefined;
1093
- pagination?: {
1094
- tools?: {
1095
- mode: boolean | "auto";
1096
- pageSize: number;
1097
- autoThreshold: number;
1098
- } | undefined;
1099
- } | undefined;
1100
- elicitation?: {
1101
- enabled: boolean;
1102
- redis?: {
1103
- provider: "redis";
1104
- host: string;
1105
- port: number;
1106
- db: number;
1107
- tls: boolean;
1108
- keyPrefix: string;
1109
- defaultTtlMs: number;
1110
- password?: string | undefined;
1111
- } | {
1112
- provider: "redis";
1113
- host: string;
1114
- port: number;
1115
- db: number;
1116
- tls: boolean;
1117
- keyPrefix: string;
1118
- defaultTtlMs: number;
1119
- password?: string | undefined;
1120
- } | {
1121
- provider: "vercel-kv";
1122
- keyPrefix: string;
1123
- defaultTtlMs: number;
1124
- url?: string | undefined;
1125
- token?: string | undefined;
1126
- } | undefined;
1127
- } | undefined;
1128
- skillsConfig?: {
1129
- enabled: boolean;
1130
- auth: "inherit" | "public" | "api-key" | "bearer";
1131
- llmTxt: boolean | {
1132
- enabled: boolean;
1133
- path?: string | undefined;
1134
- };
1135
- llmFullTxt: boolean | {
1136
- enabled: boolean;
1137
- path?: string | undefined;
1138
- };
1139
- api: boolean | {
1140
- enabled: boolean;
1141
- path?: string | undefined;
1142
- };
1143
- mcpResources: boolean;
1144
- sep2640InInstructions: boolean;
1145
- injectInstructions: "replace" | "off" | "append" | "prepend";
1146
- prefix?: string | undefined;
1147
- apiKeys?: string[] | undefined;
1148
- jwt?: {
1149
- issuer: string;
1150
- audience?: string | undefined;
1151
- jwksUrl?: string | undefined;
1152
- } | undefined;
1153
- cache?: {
1154
- enabled: boolean;
1155
- ttlMs: number;
1156
- redis?: {
1157
- provider: "redis" | "vercel-kv" | "@vercel/kv";
1158
- host?: string | undefined;
1159
- port?: number | undefined;
1160
- password?: string | undefined;
1161
- db?: number | undefined;
1162
- } | undefined;
1163
- keyPrefix?: string | undefined;
1164
- } | undefined;
1165
- audit?: {
1166
- enabled: boolean;
1167
- signer?: unknown;
1168
- store?: unknown;
1169
- subjectMode?: "plain" | "hash" | "omit" | undefined;
1170
- headAnchorIntervalMs?: number | undefined;
1171
- } | undefined;
1172
- scoring?: "cosine" | "bm25" | undefined;
1173
- } | undefined;
1174
- extApps?: {
1175
- enabled: boolean;
1176
- hostCapabilities?: {
1177
- serverToolProxy?: boolean | undefined;
1178
- openLink?: boolean | undefined;
1179
- modelContextUpdate?: boolean | undefined;
1180
- widgetTools?: boolean | undefined;
1181
- displayModes?: ("inline" | "fullscreen" | "pip")[] | undefined;
1182
- logging?: boolean | undefined;
1183
- } | undefined;
1184
- } | undefined;
1185
- sqlite?: {
1186
- ttlCleanupIntervalMs: number;
1187
- walMode: boolean;
1188
- path?: string | undefined;
1189
- encryption?: {
1190
- secret: string;
1191
- } | undefined;
1192
- } | undefined;
1193
- ui?: {
1194
- cdnOverrides?: Record<string, string> | undefined;
1195
- } | undefined;
1196
- output?: {
1197
- allowNonFinite?: boolean | undefined;
1198
- schemaMode?: "description" | "definition" | "both" | "none" | undefined;
1199
- schemaDescriptionFormat?: "summary" | "jsonSchema" | undefined;
1200
- } | undefined;
1201
- jobs?: {
1202
- enabled: boolean;
1203
- allowDynamicRegistration?: boolean | undefined;
1204
- store?: {
1205
- redis?: {
1206
- provider: "redis";
1207
- host: string;
1208
- port: number;
1209
- db: number;
1210
- tls: boolean;
1211
- keyPrefix: string;
1212
- defaultTtlMs: number;
1213
- password?: string | undefined;
1214
- } | {
1215
- provider: "redis";
1216
- host: string;
1217
- port: number;
1218
- db: number;
1219
- tls: boolean;
1220
- keyPrefix: string;
1221
- defaultTtlMs: number;
1222
- password?: string | undefined;
1223
- } | {
1224
- provider: "vercel-kv";
1225
- keyPrefix: string;
1226
- defaultTtlMs: number;
1227
- url?: string | undefined;
1228
- token?: string | undefined;
1229
- } | undefined;
1230
- keyPrefix?: string | undefined;
1231
- } | undefined;
1232
- } | undefined;
1233
- loader?: {
1234
- url?: string | undefined;
1235
- registryUrl?: string | undefined;
1236
- token?: string | undefined;
1237
- tokenEnvVar?: string | undefined;
1238
- } | undefined;
1239
- throttle?: {
1240
- enabled: boolean;
1241
- keyPrefix: string;
1242
- storage?: {
1243
- [x: string]: unknown;
1244
- } | undefined;
1245
- global?: {
1246
- maxRequests: number;
1247
- windowMs: number;
1248
- partitionBy: "session" | "global" | ((ctx: {
1249
- sessionId: string;
1250
- clientIp?: string;
1251
- userId?: string;
1252
- }) => string) | "ip" | "userId";
1253
- } | undefined;
1254
- globalConcurrency?: {
1255
- maxConcurrent: number;
1256
- queueTimeoutMs: number;
1257
- partitionBy: "session" | "global" | "ip" | "userId" | ((ctx: {
1258
- sessionId: string;
1259
- clientIp?: string;
1260
- userId?: string;
1261
- }) => string);
1262
- } | undefined;
1263
- defaultRateLimit?: {
1264
- maxRequests: number;
1265
- windowMs: number;
1266
- partitionBy: "session" | "global" | "ip" | "userId" | ((ctx: {
1267
- sessionId: string;
1268
- clientIp?: string;
1269
- userId?: string;
1270
- }) => string);
1271
- } | undefined;
1272
- defaultConcurrency?: {
1273
- maxConcurrent: number;
1274
- queueTimeoutMs: number;
1275
- partitionBy: "session" | "global" | "ip" | "userId" | ((ctx: {
1276
- sessionId: string;
1277
- clientIp?: string;
1278
- userId?: string;
1279
- }) => string);
1280
- } | undefined;
1281
- defaultTimeout?: {
1282
- executeMs: number;
1283
- } | undefined;
1284
- ipFilter?: {
1285
- defaultAction: "allow" | "deny";
1286
- trustProxy: boolean;
1287
- trustedProxyDepth: number;
1288
- allowList?: string[] | undefined;
1289
- denyList?: string[] | undefined;
1290
- } | undefined;
1291
- } | undefined;
1292
- observability?: boolean | {
1293
- tracing?: boolean | {
1294
- [x: string]: unknown;
1295
- } | undefined;
1296
- logging?: boolean | {
1297
- [x: string]: unknown;
1298
- } | undefined;
1299
- requestLogs?: boolean | {
1300
- [x: string]: unknown;
1301
- } | undefined;
1302
- } | undefined;
1303
- health?: {
1304
- enabled: boolean;
1305
- healthzPath: string;
1306
- readyzPath: string;
1307
- probes: any[];
1308
- includeDetails?: boolean | undefined;
1309
- readyz?: {
1310
- timeoutMs: number;
1311
- enabled?: boolean | undefined;
1312
- } | undefined;
1313
- } | undefined;
1314
- metrics?: {
1315
- enabled: boolean;
1316
- path: string;
1317
- format: "json" | "prometheus";
1318
- auth: "token" | "public" | {
1319
- token: string;
1320
- };
1321
- tokenEnv: string;
1322
- include?: ("auth" | "http" | "tools" | "resources" | "skills" | "process" | "storage" | "sessions")[] | undefined;
1323
- process?: {
1324
- eventLoopLag?: boolean | undefined;
1325
- fdCount?: boolean | undefined;
1326
- activeHandles?: boolean | undefined;
1327
- } | undefined;
1328
- } | undefined;
1329
- channels?: {
1330
- enabled: boolean;
1331
- defaultMeta?: Record<string, string> | undefined;
1332
- } | undefined;
1333
- authorities?: {
1334
- claimsMapping?: Record<string, string | undefined> | undefined;
1335
- profiles?: Record<string, {
1336
- [x: string]: unknown;
1337
- }> | undefined;
1338
- relationshipResolver?: any;
1339
- evaluators?: Record<string, any> | undefined;
1340
- claimsResolver?: any;
1341
- scopeMapping?: {
1342
- roles?: Record<string, string[]> | undefined;
1343
- permissions?: Record<string, string[]> | undefined;
1344
- profiles?: Record<string, string[]> | undefined;
1345
- } | undefined;
1346
- pipes?: any[] | undefined;
1347
- } | undefined;
1348
- tasks?: {
1349
- enabled?: boolean | undefined;
1350
- redis?: {
1351
- provider: "redis";
1352
- host: string;
1353
- port: number;
1354
- db: number;
1355
- tls: boolean;
1356
- keyPrefix: string;
1357
- defaultTtlMs: number;
1358
- password?: string | undefined;
1359
- } | {
1360
- provider: "redis";
1361
- host: string;
1362
- port: number;
1363
- db: number;
1364
- tls: boolean;
1365
- keyPrefix: string;
1366
- defaultTtlMs: number;
1367
- password?: string | undefined;
1368
- } | {
1369
- provider: "vercel-kv";
1370
- keyPrefix: string;
1371
- defaultTtlMs: number;
1372
- url?: string | undefined;
1373
- token?: string | undefined;
1374
- } | undefined;
1375
- keyPrefix?: string | undefined;
1376
- defaultTtlMs?: number | undefined;
1377
- maxTtlMs?: number | undefined;
1378
- defaultPollIntervalMs?: number | undefined;
1379
- maxConcurrentPerSession?: number | undefined;
1380
- strict?: boolean | undefined;
1381
- runner?: "in-process" | "cli" | undefined;
1382
- sqlite?: {
1383
- path: string;
1384
- encryption?: {
1385
- secret: string;
1386
- } | undefined;
1387
- walMode?: boolean | undefined;
1388
- ttlCleanupIntervalMs?: number | undefined;
1389
- } | undefined;
1390
- cliRunnerCommand?: {
1391
- exe: string;
1392
- args?: string[] | undefined;
1393
- } | undefined;
1394
- } | undefined;
1395
- auth?: {
1396
- mode: "public";
1397
- sessionTtl: number;
1398
- anonymousScopes: string[];
1399
- issuer?: string | undefined;
1400
- publicAccess?: {
1401
- tools: string[] | "all";
1402
- prompts: string[] | "all";
1403
- rateLimit: number;
1404
- } | undefined;
1405
- jwks?: {
1406
- keys: import("libs/auth/dist/common/jwt.types").JWK[];
1407
- } | undefined;
1408
- signKey?: Uint8Array<ArrayBuffer> | import("libs/auth/dist/common/jwt.types").JWK | undefined;
1409
- } | {
1410
- mode: "static";
1411
- tokens: string[];
1412
- header: string;
1413
- scheme: string;
1414
- scopes: string[];
1415
- realm: string;
1416
- publicAccess?: {
1417
- tools: string[] | "all";
1418
- prompts: string[] | "all";
1419
- rateLimit: number;
1420
- } | undefined;
1421
- } | {
1422
- requiredScopes: string[];
1423
- allowAnonymous: boolean;
1424
- anonymousScopes: string[];
1425
- provider: string;
1426
- mode: "transparent";
1427
- expectedAudience?: string | string[] | undefined;
1428
- requireAudience?: boolean | undefined;
1429
- publicAccess?: {
1430
- tools: string[] | "all";
1431
- prompts: string[] | "all";
1432
- rateLimit: number;
1433
- } | undefined;
1434
- clientId?: string | undefined;
1435
- clientSecret?: string | undefined;
1436
- scopes?: string[] | undefined;
1437
- providerConfig?: {
1438
- dcrEnabled: boolean;
1439
- name?: string | undefined;
1440
- id?: string | undefined;
1441
- jwks?: {
1442
- keys: import("libs/auth/dist/common/jwt.types").JWK[];
1443
- } | undefined;
1444
- jwksUri?: string | undefined;
1445
- additionalIssuers?: string[] | undefined;
1446
- verifyIssuer?: boolean | undefined;
1447
- authEndpoint?: string | undefined;
1448
- tokenEndpoint?: string | undefined;
1449
- registrationEndpoint?: string | undefined;
1450
- userInfoEndpoint?: string | undefined;
1451
- } | undefined;
1452
- } | {
1453
- requireEmail: boolean;
1454
- anonymousSubject: string;
1455
- tokenStorage: "memory" | {
1456
- redis: {
1457
- host: string;
1458
- port: number;
1459
- db: number;
1460
- tls: boolean;
1461
- keyPrefix: string;
1462
- defaultTtlMs: number;
1463
- password?: string | undefined;
1464
- };
1465
- } | {
1466
- sqlite: {
1467
- path: string;
1468
- encryption?: {
1469
- secret: string;
1470
- } | undefined;
1471
- ttlCleanupIntervalMs?: number | undefined;
1472
- walMode?: boolean | undefined;
1473
- };
1474
- };
1475
- allowDefaultPublic: boolean;
1476
- anonymousScopes: string[];
1477
- requireRegisteredClients: boolean;
1478
- mode: "local";
1479
- login?: {
1480
- title?: string | undefined;
1481
- subtitle?: string | undefined;
1482
- logoUri?: string | undefined;
1483
- fields?: Record<string, {
1484
- type: "text" | "email" | "password" | "select" | "hidden";
1485
- label?: string | undefined;
1486
- required?: boolean | undefined;
1487
- placeholder?: string | undefined;
1488
- options?: {
1489
- value: string;
1490
- label: string;
1491
- }[] | undefined;
1492
- }> | undefined;
1493
- render?: ((ctx: import("libs/auth/dist/options/interfaces").LoginRenderContext) => string) | undefined;
1494
- subject?: {
1495
- fromField?: string | undefined;
1496
- strategy?: "per-session" | "per-account" | undefined;
1497
- } | undefined;
1498
- } | undefined;
1499
- authenticate?: import("libs/auth/dist/options/interfaces").AuthenticateFn | undefined;
1500
- providers?: {
1501
- id: string;
1502
- clientId: string;
1503
- name?: string | undefined;
1504
- authorizationEndpoint?: string | undefined;
1505
- authorizeUrl?: string | undefined;
1506
- tokenEndpoint?: string | undefined;
1507
- tokenUrl?: string | undefined;
1508
- clientSecret?: string | undefined;
1509
- scopes?: string[] | undefined;
1510
- userInfoEndpoint?: string | undefined;
1511
- jwksUri?: string | undefined;
1512
- }[] | undefined;
1513
- dcr?: {
1514
- enabled?: boolean | undefined;
1515
- allowedRedirectUris?: string[] | undefined;
1516
- allowedClientIds?: string[] | undefined;
1517
- initialAccessToken?: string | undefined;
1518
- clients?: {
1519
- clientId: string;
1520
- redirectUris: string[];
1521
- tokenEndpointAuthMethod: "none" | "client_secret_basic" | "client_secret_post";
1522
- grantTypes: ("authorization_code" | "refresh_token")[];
1523
- responseTypes: "code"[];
1524
- clientSecret?: string | undefined;
1525
- clientName?: string | undefined;
1526
- scope?: string | undefined;
1527
- }[] | undefined;
1528
- maxDynamicClients?: number | undefined;
1529
- } | undefined;
1530
- local?: {
1531
- signKey?: Uint8Array<ArrayBuffer> | import("libs/auth/dist/common/jwt.types").JWK | undefined;
1532
- jwks?: {
1533
- keys: import("libs/auth/dist/common/jwt.types").JWK[];
1534
- } | undefined;
1535
- issuer?: string | undefined;
1536
- } | undefined;
1537
- secureStore?: "memory" | {
1538
- sqlite: {
1539
- path: string;
1540
- encryption?: {
1541
- secret: string;
1542
- } | undefined;
1543
- ttlCleanupIntervalMs?: number | undefined;
1544
- walMode?: boolean | undefined;
1545
- };
1546
- scope?: "user" | "session" | "global" | undefined;
1547
- ttlMs?: number | undefined;
1548
- encryption?: {
1549
- pepper?: string | undefined;
1550
- } | undefined;
1551
- } | {
1552
- redis: {
1553
- host: string;
1554
- port: number;
1555
- db: number;
1556
- tls: boolean;
1557
- keyPrefix: string;
1558
- defaultTtlMs: number;
1559
- password?: string | undefined;
1560
- };
1561
- scope?: "user" | "session" | "global" | undefined;
1562
- ttlMs?: number | undefined;
1563
- encryption?: {
1564
- pepper?: string | undefined;
1565
- } | undefined;
1566
- } | {
1567
- backend: import("libs/auth/dist/options/interfaces").SecureStoreCustomBackend;
1568
- scope?: "user" | "session" | "global" | undefined;
1569
- ttlMs?: number | undefined;
1570
- encryption?: {
1571
- pepper?: string | undefined;
1572
- } | undefined;
1573
- } | {
1574
- scope?: "user" | "session" | "global" | undefined;
1575
- ttlMs?: number | undefined;
1576
- encryption?: {
1577
- pepper?: string | undefined;
1578
- } | undefined;
1579
- } | undefined;
1580
- publicAccess?: {
1581
- tools: string[] | "all";
1582
- prompts: string[] | "all";
1583
- rateLimit: number;
1584
- } | undefined;
1585
- consent?: {
1586
- enabled: boolean;
1587
- groupByApp: boolean;
1588
- showDescriptions: boolean;
1589
- allowSelectAll: boolean;
1590
- requireSelection: boolean;
1591
- rememberConsent: boolean;
1592
- customMessage?: string | undefined;
1593
- excludedTools?: string[] | undefined;
1594
- defaultSelectedTools?: string[] | undefined;
1595
- } | undefined;
1596
- federatedAuth?: {
1597
- stateValidation: "format" | "strict";
1598
- minProviders?: number | undefined;
1599
- requiredProviders?: string[] | undefined;
1600
- } | undefined;
1601
- refresh?: {
1602
- enabled: boolean;
1603
- skewSeconds: number;
1604
- } | undefined;
1605
- expectedAudience?: string | string[] | undefined;
1606
- incrementalAuth?: {
1607
- enabled: boolean;
1608
- skippedAppBehavior: "anonymous" | "require-auth";
1609
- allowSkip: boolean;
1610
- showAllAppsAtOnce: boolean;
1611
- } | undefined;
1612
- cimd?: {
1613
- enabled: boolean;
1614
- cache?: {
1615
- type: "redis" | "memory";
1616
- defaultTtlMs: number;
1617
- maxTtlMs: number;
1618
- minTtlMs: number;
1619
- redis?: {
1620
- keyPrefix: string;
1621
- url?: string | undefined;
1622
- host?: string | undefined;
1623
- port?: number | undefined;
1624
- password?: string | undefined;
1625
- db?: number | undefined;
1626
- tls?: boolean | undefined;
1627
- } | undefined;
1628
- } | undefined;
1629
- security?: {
1630
- blockPrivateIPs: boolean;
1631
- warnOnLocalhostRedirects: boolean;
1632
- allowInsecureForTesting: boolean;
1633
- allowedDomains?: string[] | undefined;
1634
- blockedDomains?: string[] | undefined;
1635
- } | undefined;
1636
- network?: {
1637
- timeoutMs: number;
1638
- maxResponseSizeBytes: number;
1639
- redirectPolicy: "allow" | "deny" | "same-origin";
1640
- maxRedirects: number;
1641
- } | undefined;
1642
- } | undefined;
1643
- ui?: Partial<Record<"error" | "login" | "consent" | "incremental" | "federated", string>> | undefined;
1644
- extras?: Record<string, import("libs/auth/dist/options/interfaces").AuthExtraHandler> | undefined;
1645
- } | {
1646
- tokenStorage: "memory" | {
1647
- redis: {
1648
- host: string;
1649
- port: number;
1650
- db: number;
1651
- tls: boolean;
1652
- keyPrefix: string;
1653
- defaultTtlMs: number;
1654
- password?: string | undefined;
1655
- };
1656
- } | {
1657
- sqlite: {
1658
- path: string;
1659
- encryption?: {
1660
- secret: string;
1661
- } | undefined;
1662
- ttlCleanupIntervalMs?: number | undefined;
1663
- walMode?: boolean | undefined;
1664
- };
1665
- };
1666
- allowDefaultPublic: boolean;
1667
- anonymousScopes: string[];
1668
- requireRegisteredClients: boolean;
1669
- provider: string;
1670
- mode: "remote";
1671
- local?: {
1672
- signKey?: Uint8Array<ArrayBuffer> | import("libs/auth/dist/common/jwt.types").JWK | undefined;
1673
- jwks?: {
1674
- keys: import("libs/auth/dist/common/jwt.types").JWK[];
1675
- } | undefined;
1676
- issuer?: string | undefined;
1677
- } | undefined;
1678
- secureStore?: "memory" | {
1679
- sqlite: {
1680
- path: string;
1681
- encryption?: {
1682
- secret: string;
1683
- } | undefined;
1684
- ttlCleanupIntervalMs?: number | undefined;
1685
- walMode?: boolean | undefined;
1686
- };
1687
- scope?: "user" | "session" | "global" | undefined;
1688
- ttlMs?: number | undefined;
1689
- encryption?: {
1690
- pepper?: string | undefined;
1691
- } | undefined;
1692
- } | {
1693
- redis: {
1694
- host: string;
1695
- port: number;
1696
- db: number;
1697
- tls: boolean;
1698
- keyPrefix: string;
1699
- defaultTtlMs: number;
1700
- password?: string | undefined;
1701
- };
1702
- scope?: "user" | "session" | "global" | undefined;
1703
- ttlMs?: number | undefined;
1704
- encryption?: {
1705
- pepper?: string | undefined;
1706
- } | undefined;
1707
- } | {
1708
- backend: import("libs/auth/dist/options/interfaces").SecureStoreCustomBackend;
1709
- scope?: "user" | "session" | "global" | undefined;
1710
- ttlMs?: number | undefined;
1711
- encryption?: {
1712
- pepper?: string | undefined;
1713
- } | undefined;
1714
- } | {
1715
- scope?: "user" | "session" | "global" | undefined;
1716
- ttlMs?: number | undefined;
1717
- encryption?: {
1718
- pepper?: string | undefined;
1719
- } | undefined;
1720
- } | undefined;
1721
- publicAccess?: {
1722
- tools: string[] | "all";
1723
- prompts: string[] | "all";
1724
- rateLimit: number;
1725
- } | undefined;
1726
- consent?: {
1727
- enabled: boolean;
1728
- groupByApp: boolean;
1729
- showDescriptions: boolean;
1730
- allowSelectAll: boolean;
1731
- requireSelection: boolean;
1732
- rememberConsent: boolean;
1733
- customMessage?: string | undefined;
1734
- excludedTools?: string[] | undefined;
1735
- defaultSelectedTools?: string[] | undefined;
1736
- } | undefined;
1737
- federatedAuth?: {
1738
- stateValidation: "format" | "strict";
1739
- minProviders?: number | undefined;
1740
- requiredProviders?: string[] | undefined;
1741
- } | undefined;
1742
- refresh?: {
1743
- enabled: boolean;
1744
- skewSeconds: number;
1745
- } | undefined;
1746
- expectedAudience?: string | string[] | undefined;
1747
- incrementalAuth?: {
1748
- enabled: boolean;
1749
- skippedAppBehavior: "anonymous" | "require-auth";
1750
- allowSkip: boolean;
1751
- showAllAppsAtOnce: boolean;
1752
- } | undefined;
1753
- cimd?: {
1754
- enabled: boolean;
1755
- cache?: {
1756
- type: "redis" | "memory";
1757
- defaultTtlMs: number;
1758
- maxTtlMs: number;
1759
- minTtlMs: number;
1760
- redis?: {
1761
- keyPrefix: string;
1762
- url?: string | undefined;
1763
- host?: string | undefined;
1764
- port?: number | undefined;
1765
- password?: string | undefined;
1766
- db?: number | undefined;
1767
- tls?: boolean | undefined;
1768
- } | undefined;
1769
- } | undefined;
1770
- security?: {
1771
- blockPrivateIPs: boolean;
1772
- warnOnLocalhostRedirects: boolean;
1773
- allowInsecureForTesting: boolean;
1774
- allowedDomains?: string[] | undefined;
1775
- blockedDomains?: string[] | undefined;
1776
- } | undefined;
1777
- network?: {
1778
- timeoutMs: number;
1779
- maxResponseSizeBytes: number;
1780
- redirectPolicy: "allow" | "deny" | "same-origin";
1781
- maxRedirects: number;
1782
- } | undefined;
1783
- } | undefined;
1784
- ui?: Partial<Record<"error" | "login" | "consent" | "incremental" | "federated", string>> | undefined;
1785
- extras?: Record<string, import("libs/auth/dist/options/interfaces").AuthExtraHandler> | undefined;
1786
- clientId?: string | undefined;
1787
- clientSecret?: string | undefined;
1788
- scopes?: string[] | undefined;
1789
- providerConfig?: {
1790
- dcrEnabled: boolean;
1791
- name?: string | undefined;
1792
- id?: string | undefined;
1793
- jwks?: {
1794
- keys: import("libs/auth/dist/common/jwt.types").JWK[];
1795
- } | undefined;
1796
- jwksUri?: string | undefined;
1797
- additionalIssuers?: string[] | undefined;
1798
- verifyIssuer?: boolean | undefined;
1799
- authEndpoint?: string | undefined;
1800
- tokenEndpoint?: string | undefined;
1801
- registrationEndpoint?: string | undefined;
1802
- userInfoEndpoint?: string | undefined;
1803
- } | undefined;
1804
- } | undefined;
1805
- }> | import("../common").ProviderFactoryType<FrontMcpServer, readonly [import("@frontmcp/di").Reference<{
1806
- info: {
1807
- name: string;
1808
- version: string;
1809
- title?: string | undefined;
1810
- websiteUrl?: string | undefined;
1811
- icons?: {
1812
- src: string;
1813
- mimeType?: string | undefined;
1814
- sizes?: string[] | undefined;
1815
- theme?: "light" | "dark" | undefined;
1816
- }[] | undefined;
1817
- };
1818
- providers: import("@frontmcp/di").Type<unknown>[];
1819
- tools: (string | import("@frontmcp/di").Type<unknown>)[];
1820
- resources: import("@frontmcp/di").Type<unknown>[];
1821
- skills: import("@frontmcp/di").Type<unknown>[];
1822
- plugins: import("@frontmcp/di").Type<unknown>[];
1823
- apps: import("@frontmcp/di").Type<unknown>[];
1824
- serve: boolean;
1825
- transport: {
1826
- sessionMode: "stateful" | "stateless" | import("zod/v4/core").$InferOuterFunctionType<import("zod/v4/core").$ZodFunctionArgs, import("zod/v4/core").$ZodFunctionOut>;
1827
- protocol: "modern" | "legacy" | "stateless-api" | "full" | {
1828
- sse?: boolean | undefined;
1829
- streamable?: boolean | undefined;
1830
- json?: boolean | undefined;
1831
- stateless?: boolean | undefined;
1832
- legacy?: boolean | undefined;
1833
- strictSession?: boolean | undefined;
1834
- };
1835
- distributedMode: boolean | "auto";
1836
- platformDetection?: {
1837
- customOnly: boolean;
1838
- mappings?: {
1839
- pattern: string | RegExp;
1840
- platform: "unknown" | "continue" | "openai" | "claude" | "gemini" | "cursor" | "cody" | "generic-mcp" | "ext-apps";
1841
- }[] | undefined;
1842
- } | undefined;
1843
- defaultProtocolVersion?: "legacy" | "2026-07-28" | undefined;
1844
- persistence?: false | {
1845
- defaultTtlMs: number;
1846
- redis?: {
1847
- provider: "redis";
1848
- host: string;
1849
- port: number;
1850
- db: number;
1851
- tls: boolean;
1852
- keyPrefix: string;
1853
- defaultTtlMs: number;
1854
- password?: string | undefined;
1855
- } | {
1856
- provider: "redis";
1857
- host: string;
1858
- port: number;
1859
- db: number;
1860
- tls: boolean;
1861
- keyPrefix: string;
1862
- defaultTtlMs: number;
1863
- password?: string | undefined;
1864
- } | {
1865
- provider: "vercel-kv";
1866
- keyPrefix: string;
1867
- defaultTtlMs: number;
1868
- url?: string | undefined;
1869
- token?: string | undefined;
1870
- } | undefined;
1871
- sqlite?: {
1872
- ttlCleanupIntervalMs: number;
1873
- walMode: boolean;
1874
- path?: string | undefined;
1875
- encryption?: {
1876
- secret: string;
1877
- } | undefined;
1878
- } | undefined;
1879
- } | undefined;
1880
- providerCaching?: boolean | undefined;
1881
- eventStore?: {
1882
- enabled: boolean;
1883
- provider: "redis" | "sqlite" | "memory";
1884
- maxEvents: number;
1885
- ttlMs: number;
1886
- redis?: {
1887
- provider: "redis";
1888
- host: string;
1889
- port: number;
1890
- db: number;
1891
- tls: boolean;
1892
- keyPrefix: string;
1893
- defaultTtlMs: number;
1894
- password?: string | undefined;
1895
- } | {
1896
- provider: "redis";
1897
- host: string;
1898
- port: number;
1899
- db: number;
1900
- tls: boolean;
1901
- keyPrefix: string;
1902
- defaultTtlMs: number;
1903
- password?: string | undefined;
1904
- } | {
1905
- provider: "vercel-kv";
1906
- keyPrefix: string;
1907
- defaultTtlMs: number;
1908
- url?: string | undefined;
1909
- token?: string | undefined;
1910
- } | undefined;
1911
- } | undefined;
1912
- };
1913
- splitByApp: false;
1914
- __sourceDir?: string | undefined;
1915
- instructions?: string | undefined;
1916
- http?: {
1917
- port: number;
1918
- entryPath: string;
1919
- bodyLimit: string | number;
1920
- hostFactory?: any;
1921
- socketPath?: string | undefined;
1922
- cors?: false | {
1923
- origin?: string | boolean | string[] | ((origin: string | undefined, callback: (err: Error | null, allow?: boolean) => void) => void) | undefined;
1924
- credentials?: boolean | undefined;
1925
- maxAge?: number | undefined;
1926
- } | undefined;
1927
- security?: {
1928
- strict?: boolean | undefined;
1929
- bindAddress?: string | undefined;
1930
- dnsRebindingProtection?: {
1931
- enabled?: boolean | undefined;
1932
- allowedHosts?: string[] | undefined;
1933
- allowedOrigins?: string[] | undefined;
1934
- } | undefined;
1935
- } | undefined;
1936
- urlencodedLimit?: string | number | undefined;
1937
- routes?: {
1938
- method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS" | "HEAD";
1939
- path: string;
1940
- handler: import("../common").ServerRequestHandler;
1941
- auth?: boolean | undefined;
1942
- }[] | undefined;
1943
- } | undefined;
1944
- redis?: {
1945
- provider: "redis";
1946
- host: string;
1947
- port: number;
1948
- db: number;
1949
- tls: boolean;
1950
- keyPrefix: string;
1951
- defaultTtlMs: number;
1952
- password?: string | undefined;
1953
- } | {
1954
- provider: "redis";
1955
- host: string;
1956
- port: number;
1957
- db: number;
1958
- tls: boolean;
1959
- keyPrefix: string;
1960
- defaultTtlMs: number;
1961
- password?: string | undefined;
1962
- } | {
1963
- provider: "vercel-kv";
1964
- keyPrefix: string;
1965
- defaultTtlMs: number;
1966
- url?: string | undefined;
1967
- token?: string | undefined;
1968
- } | undefined;
1969
- pubsub?: {
1970
- provider: "redis";
1971
- host: string;
1972
- port: number;
1973
- db: number;
1974
- tls: boolean;
1975
- keyPrefix: string;
1976
- defaultTtlMs: number;
1977
- password?: string | undefined;
1978
- } | {
1979
- provider: "redis";
1980
- host: string;
1981
- port: number;
1982
- db: number;
1983
- tls: boolean;
1984
- keyPrefix: string;
1985
- defaultTtlMs: number;
1986
- password?: string | undefined;
1987
- } | undefined;
1988
- logging?: {
1989
- level: import("../common").LogLevel;
1990
- enableConsole: boolean;
1991
- transports: import("@frontmcp/di").Type<unknown>[];
1992
- prefix?: string | undefined;
1993
- } | undefined;
1994
- pagination?: {
1995
- tools?: {
1996
- mode: boolean | "auto";
1997
- pageSize: number;
1998
- autoThreshold: number;
1999
- } | undefined;
2000
- } | undefined;
2001
- elicitation?: {
2002
- enabled: boolean;
2003
- redis?: {
2004
- provider: "redis";
2005
- host: string;
2006
- port: number;
2007
- db: number;
2008
- tls: boolean;
2009
- keyPrefix: string;
2010
- defaultTtlMs: number;
2011
- password?: string | undefined;
2012
- } | {
2013
- provider: "redis";
2014
- host: string;
2015
- port: number;
2016
- db: number;
2017
- tls: boolean;
2018
- keyPrefix: string;
2019
- defaultTtlMs: number;
2020
- password?: string | undefined;
2021
- } | {
2022
- provider: "vercel-kv";
2023
- keyPrefix: string;
2024
- defaultTtlMs: number;
2025
- url?: string | undefined;
2026
- token?: string | undefined;
2027
- } | undefined;
2028
- } | undefined;
2029
- skillsConfig?: {
2030
- enabled: boolean;
2031
- auth: "inherit" | "public" | "api-key" | "bearer";
2032
- llmTxt: boolean | {
2033
- enabled: boolean;
2034
- path?: string | undefined;
2035
- };
2036
- llmFullTxt: boolean | {
2037
- enabled: boolean;
2038
- path?: string | undefined;
2039
- };
2040
- api: boolean | {
2041
- enabled: boolean;
2042
- path?: string | undefined;
2043
- };
2044
- mcpResources: boolean;
2045
- sep2640InInstructions: boolean;
2046
- injectInstructions: "replace" | "off" | "append" | "prepend";
2047
- prefix?: string | undefined;
2048
- apiKeys?: string[] | undefined;
2049
- jwt?: {
2050
- issuer: string;
2051
- audience?: string | undefined;
2052
- jwksUrl?: string | undefined;
2053
- } | undefined;
2054
- cache?: {
2055
- enabled: boolean;
2056
- ttlMs: number;
2057
- redis?: {
2058
- provider: "redis" | "vercel-kv" | "@vercel/kv";
2059
- host?: string | undefined;
2060
- port?: number | undefined;
2061
- password?: string | undefined;
2062
- db?: number | undefined;
2063
- } | undefined;
2064
- keyPrefix?: string | undefined;
2065
- } | undefined;
2066
- audit?: {
2067
- enabled: boolean;
2068
- signer?: unknown;
2069
- store?: unknown;
2070
- subjectMode?: "plain" | "hash" | "omit" | undefined;
2071
- headAnchorIntervalMs?: number | undefined;
2072
- } | undefined;
2073
- scoring?: "cosine" | "bm25" | undefined;
2074
- } | undefined;
2075
- extApps?: {
2076
- enabled: boolean;
2077
- hostCapabilities?: {
2078
- serverToolProxy?: boolean | undefined;
2079
- openLink?: boolean | undefined;
2080
- modelContextUpdate?: boolean | undefined;
2081
- widgetTools?: boolean | undefined;
2082
- displayModes?: ("inline" | "fullscreen" | "pip")[] | undefined;
2083
- logging?: boolean | undefined;
2084
- } | undefined;
2085
- } | undefined;
2086
- sqlite?: {
2087
- ttlCleanupIntervalMs: number;
2088
- walMode: boolean;
2089
- path?: string | undefined;
2090
- encryption?: {
2091
- secret: string;
2092
- } | undefined;
2093
- } | undefined;
2094
- ui?: {
2095
- cdnOverrides?: Record<string, string> | undefined;
2096
- } | undefined;
2097
- output?: {
2098
- allowNonFinite?: boolean | undefined;
2099
- schemaMode?: "description" | "definition" | "both" | "none" | undefined;
2100
- schemaDescriptionFormat?: "summary" | "jsonSchema" | undefined;
2101
- } | undefined;
2102
- jobs?: {
2103
- enabled: boolean;
2104
- allowDynamicRegistration?: boolean | undefined;
2105
- store?: {
2106
- redis?: {
2107
- provider: "redis";
2108
- host: string;
2109
- port: number;
2110
- db: number;
2111
- tls: boolean;
2112
- keyPrefix: string;
2113
- defaultTtlMs: number;
2114
- password?: string | undefined;
2115
- } | {
2116
- provider: "redis";
2117
- host: string;
2118
- port: number;
2119
- db: number;
2120
- tls: boolean;
2121
- keyPrefix: string;
2122
- defaultTtlMs: number;
2123
- password?: string | undefined;
2124
- } | {
2125
- provider: "vercel-kv";
2126
- keyPrefix: string;
2127
- defaultTtlMs: number;
2128
- url?: string | undefined;
2129
- token?: string | undefined;
2130
- } | undefined;
2131
- keyPrefix?: string | undefined;
2132
- } | undefined;
2133
- } | undefined;
2134
- loader?: {
2135
- url?: string | undefined;
2136
- registryUrl?: string | undefined;
2137
- token?: string | undefined;
2138
- tokenEnvVar?: string | undefined;
2139
- } | undefined;
2140
- throttle?: {
2141
- enabled: boolean;
2142
- keyPrefix: string;
2143
- storage?: {
2144
- [x: string]: unknown;
2145
- } | undefined;
2146
- global?: {
2147
- maxRequests: number;
2148
- windowMs: number;
2149
- partitionBy: "session" | "global" | ((ctx: {
2150
- sessionId: string;
2151
- clientIp?: string;
2152
- userId?: string;
2153
- }) => string) | "ip" | "userId";
2154
- } | undefined;
2155
- globalConcurrency?: {
2156
- maxConcurrent: number;
2157
- queueTimeoutMs: number;
2158
- partitionBy: "session" | "global" | "ip" | "userId" | ((ctx: {
2159
- sessionId: string;
2160
- clientIp?: string;
2161
- userId?: string;
2162
- }) => string);
2163
- } | undefined;
2164
- defaultRateLimit?: {
2165
- maxRequests: number;
2166
- windowMs: number;
2167
- partitionBy: "session" | "global" | "ip" | "userId" | ((ctx: {
2168
- sessionId: string;
2169
- clientIp?: string;
2170
- userId?: string;
2171
- }) => string);
2172
- } | undefined;
2173
- defaultConcurrency?: {
2174
- maxConcurrent: number;
2175
- queueTimeoutMs: number;
2176
- partitionBy: "session" | "global" | "ip" | "userId" | ((ctx: {
2177
- sessionId: string;
2178
- clientIp?: string;
2179
- userId?: string;
2180
- }) => string);
2181
- } | undefined;
2182
- defaultTimeout?: {
2183
- executeMs: number;
2184
- } | undefined;
2185
- ipFilter?: {
2186
- defaultAction: "allow" | "deny";
2187
- trustProxy: boolean;
2188
- trustedProxyDepth: number;
2189
- allowList?: string[] | undefined;
2190
- denyList?: string[] | undefined;
2191
- } | undefined;
2192
- } | undefined;
2193
- observability?: boolean | {
2194
- tracing?: boolean | {
2195
- [x: string]: unknown;
2196
- } | undefined;
2197
- logging?: boolean | {
2198
- [x: string]: unknown;
2199
- } | undefined;
2200
- requestLogs?: boolean | {
2201
- [x: string]: unknown;
2202
- } | undefined;
2203
- } | undefined;
2204
- health?: {
2205
- enabled: boolean;
2206
- healthzPath: string;
2207
- readyzPath: string;
2208
- probes: any[];
2209
- includeDetails?: boolean | undefined;
2210
- readyz?: {
2211
- timeoutMs: number;
2212
- enabled?: boolean | undefined;
2213
- } | undefined;
2214
- } | undefined;
2215
- metrics?: {
2216
- enabled: boolean;
2217
- path: string;
2218
- format: "json" | "prometheus";
2219
- auth: "token" | "public" | {
2220
- token: string;
2221
- };
2222
- tokenEnv: string;
2223
- include?: ("auth" | "http" | "tools" | "resources" | "skills" | "process" | "storage" | "sessions")[] | undefined;
2224
- process?: {
2225
- eventLoopLag?: boolean | undefined;
2226
- fdCount?: boolean | undefined;
2227
- activeHandles?: boolean | undefined;
2228
- } | undefined;
2229
- } | undefined;
2230
- channels?: {
2231
- enabled: boolean;
2232
- defaultMeta?: Record<string, string> | undefined;
2233
- } | undefined;
2234
- authorities?: {
2235
- claimsMapping?: Record<string, string | undefined> | undefined;
2236
- profiles?: Record<string, {
2237
- [x: string]: unknown;
2238
- }> | undefined;
2239
- relationshipResolver?: any;
2240
- evaluators?: Record<string, any> | undefined;
2241
- claimsResolver?: any;
2242
- scopeMapping?: {
2243
- roles?: Record<string, string[]> | undefined;
2244
- permissions?: Record<string, string[]> | undefined;
2245
- profiles?: Record<string, string[]> | undefined;
2246
- } | undefined;
2247
- pipes?: any[] | undefined;
2248
- } | undefined;
2249
- tasks?: {
2250
- enabled?: boolean | undefined;
2251
- redis?: {
2252
- provider: "redis";
2253
- host: string;
2254
- port: number;
2255
- db: number;
2256
- tls: boolean;
2257
- keyPrefix: string;
2258
- defaultTtlMs: number;
2259
- password?: string | undefined;
2260
- } | {
2261
- provider: "redis";
2262
- host: string;
2263
- port: number;
2264
- db: number;
2265
- tls: boolean;
2266
- keyPrefix: string;
2267
- defaultTtlMs: number;
2268
- password?: string | undefined;
2269
- } | {
2270
- provider: "vercel-kv";
2271
- keyPrefix: string;
2272
- defaultTtlMs: number;
2273
- url?: string | undefined;
2274
- token?: string | undefined;
2275
- } | undefined;
2276
- keyPrefix?: string | undefined;
2277
- defaultTtlMs?: number | undefined;
2278
- maxTtlMs?: number | undefined;
2279
- defaultPollIntervalMs?: number | undefined;
2280
- maxConcurrentPerSession?: number | undefined;
2281
- strict?: boolean | undefined;
2282
- runner?: "in-process" | "cli" | undefined;
2283
- sqlite?: {
2284
- path: string;
2285
- encryption?: {
2286
- secret: string;
2287
- } | undefined;
2288
- walMode?: boolean | undefined;
2289
- ttlCleanupIntervalMs?: number | undefined;
2290
- } | undefined;
2291
- cliRunnerCommand?: {
2292
- exe: string;
2293
- args?: string[] | undefined;
2294
- } | undefined;
2295
- } | undefined;
2296
- auth?: {
2297
- mode: "public";
2298
- sessionTtl: number;
2299
- anonymousScopes: string[];
2300
- issuer?: string | undefined;
2301
- publicAccess?: {
2302
- tools: string[] | "all";
2303
- prompts: string[] | "all";
2304
- rateLimit: number;
2305
- } | undefined;
2306
- jwks?: {
2307
- keys: import("libs/auth/dist/common/jwt.types").JWK[];
2308
- } | undefined;
2309
- signKey?: Uint8Array<ArrayBuffer> | import("libs/auth/dist/common/jwt.types").JWK | undefined;
2310
- } | {
2311
- mode: "static";
2312
- tokens: string[];
2313
- header: string;
2314
- scheme: string;
2315
- scopes: string[];
2316
- realm: string;
2317
- publicAccess?: {
2318
- tools: string[] | "all";
2319
- prompts: string[] | "all";
2320
- rateLimit: number;
2321
- } | undefined;
2322
- } | {
2323
- requiredScopes: string[];
2324
- allowAnonymous: boolean;
2325
- anonymousScopes: string[];
2326
- provider: string;
2327
- mode: "transparent";
2328
- expectedAudience?: string | string[] | undefined;
2329
- requireAudience?: boolean | undefined;
2330
- publicAccess?: {
2331
- tools: string[] | "all";
2332
- prompts: string[] | "all";
2333
- rateLimit: number;
2334
- } | undefined;
2335
- clientId?: string | undefined;
2336
- clientSecret?: string | undefined;
2337
- scopes?: string[] | undefined;
2338
- providerConfig?: {
2339
- dcrEnabled: boolean;
2340
- name?: string | undefined;
2341
- id?: string | undefined;
2342
- jwks?: {
2343
- keys: import("libs/auth/dist/common/jwt.types").JWK[];
2344
- } | undefined;
2345
- jwksUri?: string | undefined;
2346
- additionalIssuers?: string[] | undefined;
2347
- verifyIssuer?: boolean | undefined;
2348
- authEndpoint?: string | undefined;
2349
- tokenEndpoint?: string | undefined;
2350
- registrationEndpoint?: string | undefined;
2351
- userInfoEndpoint?: string | undefined;
2352
- } | undefined;
2353
- } | {
2354
- requireEmail: boolean;
2355
- anonymousSubject: string;
2356
- tokenStorage: "memory" | {
2357
- redis: {
2358
- host: string;
2359
- port: number;
2360
- db: number;
2361
- tls: boolean;
2362
- keyPrefix: string;
2363
- defaultTtlMs: number;
2364
- password?: string | undefined;
2365
- };
2366
- } | {
2367
- sqlite: {
2368
- path: string;
2369
- encryption?: {
2370
- secret: string;
2371
- } | undefined;
2372
- ttlCleanupIntervalMs?: number | undefined;
2373
- walMode?: boolean | undefined;
2374
- };
2375
- };
2376
- allowDefaultPublic: boolean;
2377
- anonymousScopes: string[];
2378
- requireRegisteredClients: boolean;
2379
- mode: "local";
2380
- login?: {
2381
- title?: string | undefined;
2382
- subtitle?: string | undefined;
2383
- logoUri?: string | undefined;
2384
- fields?: Record<string, {
2385
- type: "text" | "email" | "password" | "select" | "hidden";
2386
- label?: string | undefined;
2387
- required?: boolean | undefined;
2388
- placeholder?: string | undefined;
2389
- options?: {
2390
- value: string;
2391
- label: string;
2392
- }[] | undefined;
2393
- }> | undefined;
2394
- render?: ((ctx: import("libs/auth/dist/options/interfaces").LoginRenderContext) => string) | undefined;
2395
- subject?: {
2396
- fromField?: string | undefined;
2397
- strategy?: "per-session" | "per-account" | undefined;
2398
- } | undefined;
2399
- } | undefined;
2400
- authenticate?: import("libs/auth/dist/options/interfaces").AuthenticateFn | undefined;
2401
- providers?: {
2402
- id: string;
2403
- clientId: string;
2404
- name?: string | undefined;
2405
- authorizationEndpoint?: string | undefined;
2406
- authorizeUrl?: string | undefined;
2407
- tokenEndpoint?: string | undefined;
2408
- tokenUrl?: string | undefined;
2409
- clientSecret?: string | undefined;
2410
- scopes?: string[] | undefined;
2411
- userInfoEndpoint?: string | undefined;
2412
- jwksUri?: string | undefined;
2413
- }[] | undefined;
2414
- dcr?: {
2415
- enabled?: boolean | undefined;
2416
- allowedRedirectUris?: string[] | undefined;
2417
- allowedClientIds?: string[] | undefined;
2418
- initialAccessToken?: string | undefined;
2419
- clients?: {
2420
- clientId: string;
2421
- redirectUris: string[];
2422
- tokenEndpointAuthMethod: "none" | "client_secret_basic" | "client_secret_post";
2423
- grantTypes: ("authorization_code" | "refresh_token")[];
2424
- responseTypes: "code"[];
2425
- clientSecret?: string | undefined;
2426
- clientName?: string | undefined;
2427
- scope?: string | undefined;
2428
- }[] | undefined;
2429
- maxDynamicClients?: number | undefined;
2430
- } | undefined;
2431
- local?: {
2432
- signKey?: Uint8Array<ArrayBuffer> | import("libs/auth/dist/common/jwt.types").JWK | undefined;
2433
- jwks?: {
2434
- keys: import("libs/auth/dist/common/jwt.types").JWK[];
2435
- } | undefined;
2436
- issuer?: string | undefined;
2437
- } | undefined;
2438
- secureStore?: "memory" | {
2439
- sqlite: {
2440
- path: string;
2441
- encryption?: {
2442
- secret: string;
2443
- } | undefined;
2444
- ttlCleanupIntervalMs?: number | undefined;
2445
- walMode?: boolean | undefined;
2446
- };
2447
- scope?: "user" | "session" | "global" | undefined;
2448
- ttlMs?: number | undefined;
2449
- encryption?: {
2450
- pepper?: string | undefined;
2451
- } | undefined;
2452
- } | {
2453
- redis: {
2454
- host: string;
2455
- port: number;
2456
- db: number;
2457
- tls: boolean;
2458
- keyPrefix: string;
2459
- defaultTtlMs: number;
2460
- password?: string | undefined;
2461
- };
2462
- scope?: "user" | "session" | "global" | undefined;
2463
- ttlMs?: number | undefined;
2464
- encryption?: {
2465
- pepper?: string | undefined;
2466
- } | undefined;
2467
- } | {
2468
- backend: import("libs/auth/dist/options/interfaces").SecureStoreCustomBackend;
2469
- scope?: "user" | "session" | "global" | undefined;
2470
- ttlMs?: number | undefined;
2471
- encryption?: {
2472
- pepper?: string | undefined;
2473
- } | undefined;
2474
- } | {
2475
- scope?: "user" | "session" | "global" | undefined;
2476
- ttlMs?: number | undefined;
2477
- encryption?: {
2478
- pepper?: string | undefined;
2479
- } | undefined;
2480
- } | undefined;
2481
- publicAccess?: {
2482
- tools: string[] | "all";
2483
- prompts: string[] | "all";
2484
- rateLimit: number;
2485
- } | undefined;
2486
- consent?: {
2487
- enabled: boolean;
2488
- groupByApp: boolean;
2489
- showDescriptions: boolean;
2490
- allowSelectAll: boolean;
2491
- requireSelection: boolean;
2492
- rememberConsent: boolean;
2493
- customMessage?: string | undefined;
2494
- excludedTools?: string[] | undefined;
2495
- defaultSelectedTools?: string[] | undefined;
2496
- } | undefined;
2497
- federatedAuth?: {
2498
- stateValidation: "format" | "strict";
2499
- minProviders?: number | undefined;
2500
- requiredProviders?: string[] | undefined;
2501
- } | undefined;
2502
- refresh?: {
2503
- enabled: boolean;
2504
- skewSeconds: number;
2505
- } | undefined;
2506
- expectedAudience?: string | string[] | undefined;
2507
- incrementalAuth?: {
2508
- enabled: boolean;
2509
- skippedAppBehavior: "anonymous" | "require-auth";
2510
- allowSkip: boolean;
2511
- showAllAppsAtOnce: boolean;
2512
- } | undefined;
2513
- cimd?: {
2514
- enabled: boolean;
2515
- cache?: {
2516
- type: "redis" | "memory";
2517
- defaultTtlMs: number;
2518
- maxTtlMs: number;
2519
- minTtlMs: number;
2520
- redis?: {
2521
- keyPrefix: string;
2522
- url?: string | undefined;
2523
- host?: string | undefined;
2524
- port?: number | undefined;
2525
- password?: string | undefined;
2526
- db?: number | undefined;
2527
- tls?: boolean | undefined;
2528
- } | undefined;
2529
- } | undefined;
2530
- security?: {
2531
- blockPrivateIPs: boolean;
2532
- warnOnLocalhostRedirects: boolean;
2533
- allowInsecureForTesting: boolean;
2534
- allowedDomains?: string[] | undefined;
2535
- blockedDomains?: string[] | undefined;
2536
- } | undefined;
2537
- network?: {
2538
- timeoutMs: number;
2539
- maxResponseSizeBytes: number;
2540
- redirectPolicy: "allow" | "deny" | "same-origin";
2541
- maxRedirects: number;
2542
- } | undefined;
2543
- } | undefined;
2544
- ui?: Partial<Record<"error" | "login" | "consent" | "incremental" | "federated", string>> | undefined;
2545
- extras?: Record<string, import("libs/auth/dist/options/interfaces").AuthExtraHandler> | undefined;
2546
- } | {
2547
- tokenStorage: "memory" | {
2548
- redis: {
2549
- host: string;
2550
- port: number;
2551
- db: number;
2552
- tls: boolean;
2553
- keyPrefix: string;
2554
- defaultTtlMs: number;
2555
- password?: string | undefined;
2556
- };
2557
- } | {
2558
- sqlite: {
2559
- path: string;
2560
- encryption?: {
2561
- secret: string;
2562
- } | undefined;
2563
- ttlCleanupIntervalMs?: number | undefined;
2564
- walMode?: boolean | undefined;
2565
- };
2566
- };
2567
- allowDefaultPublic: boolean;
2568
- anonymousScopes: string[];
2569
- requireRegisteredClients: boolean;
2570
- provider: string;
2571
- mode: "remote";
2572
- local?: {
2573
- signKey?: Uint8Array<ArrayBuffer> | import("libs/auth/dist/common/jwt.types").JWK | undefined;
2574
- jwks?: {
2575
- keys: import("libs/auth/dist/common/jwt.types").JWK[];
2576
- } | undefined;
2577
- issuer?: string | undefined;
2578
- } | undefined;
2579
- secureStore?: "memory" | {
2580
- sqlite: {
2581
- path: string;
2582
- encryption?: {
2583
- secret: string;
2584
- } | undefined;
2585
- ttlCleanupIntervalMs?: number | undefined;
2586
- walMode?: boolean | undefined;
2587
- };
2588
- scope?: "user" | "session" | "global" | undefined;
2589
- ttlMs?: number | undefined;
2590
- encryption?: {
2591
- pepper?: string | undefined;
2592
- } | undefined;
2593
- } | {
2594
- redis: {
2595
- host: string;
2596
- port: number;
2597
- db: number;
2598
- tls: boolean;
2599
- keyPrefix: string;
2600
- defaultTtlMs: number;
2601
- password?: string | undefined;
2602
- };
2603
- scope?: "user" | "session" | "global" | undefined;
2604
- ttlMs?: number | undefined;
2605
- encryption?: {
2606
- pepper?: string | undefined;
2607
- } | undefined;
2608
- } | {
2609
- backend: import("libs/auth/dist/options/interfaces").SecureStoreCustomBackend;
2610
- scope?: "user" | "session" | "global" | undefined;
2611
- ttlMs?: number | undefined;
2612
- encryption?: {
2613
- pepper?: string | undefined;
2614
- } | undefined;
2615
- } | {
2616
- scope?: "user" | "session" | "global" | undefined;
2617
- ttlMs?: number | undefined;
2618
- encryption?: {
2619
- pepper?: string | undefined;
2620
- } | undefined;
2621
- } | undefined;
2622
- publicAccess?: {
2623
- tools: string[] | "all";
2624
- prompts: string[] | "all";
2625
- rateLimit: number;
2626
- } | undefined;
2627
- consent?: {
2628
- enabled: boolean;
2629
- groupByApp: boolean;
2630
- showDescriptions: boolean;
2631
- allowSelectAll: boolean;
2632
- requireSelection: boolean;
2633
- rememberConsent: boolean;
2634
- customMessage?: string | undefined;
2635
- excludedTools?: string[] | undefined;
2636
- defaultSelectedTools?: string[] | undefined;
2637
- } | undefined;
2638
- federatedAuth?: {
2639
- stateValidation: "format" | "strict";
2640
- minProviders?: number | undefined;
2641
- requiredProviders?: string[] | undefined;
2642
- } | undefined;
2643
- refresh?: {
2644
- enabled: boolean;
2645
- skewSeconds: number;
2646
- } | undefined;
2647
- expectedAudience?: string | string[] | undefined;
2648
- incrementalAuth?: {
2649
- enabled: boolean;
2650
- skippedAppBehavior: "anonymous" | "require-auth";
2651
- allowSkip: boolean;
2652
- showAllAppsAtOnce: boolean;
2653
- } | undefined;
2654
- cimd?: {
2655
- enabled: boolean;
2656
- cache?: {
2657
- type: "redis" | "memory";
2658
- defaultTtlMs: number;
2659
- maxTtlMs: number;
2660
- minTtlMs: number;
2661
- redis?: {
2662
- keyPrefix: string;
2663
- url?: string | undefined;
2664
- host?: string | undefined;
2665
- port?: number | undefined;
2666
- password?: string | undefined;
2667
- db?: number | undefined;
2668
- tls?: boolean | undefined;
2669
- } | undefined;
2670
- } | undefined;
2671
- security?: {
2672
- blockPrivateIPs: boolean;
2673
- warnOnLocalhostRedirects: boolean;
2674
- allowInsecureForTesting: boolean;
2675
- allowedDomains?: string[] | undefined;
2676
- blockedDomains?: string[] | undefined;
2677
- } | undefined;
2678
- network?: {
2679
- timeoutMs: number;
2680
- maxResponseSizeBytes: number;
2681
- redirectPolicy: "allow" | "deny" | "same-origin";
2682
- maxRedirects: number;
2683
- } | undefined;
2684
- } | undefined;
2685
- ui?: Partial<Record<"error" | "login" | "consent" | "incremental" | "federated", string>> | undefined;
2686
- extras?: Record<string, import("libs/auth/dist/options/interfaces").AuthExtraHandler> | undefined;
2687
- clientId?: string | undefined;
2688
- clientSecret?: string | undefined;
2689
- scopes?: string[] | undefined;
2690
- providerConfig?: {
2691
- dcrEnabled: boolean;
2692
- name?: string | undefined;
2693
- id?: string | undefined;
2694
- jwks?: {
2695
- keys: import("libs/auth/dist/common/jwt.types").JWK[];
2696
- } | undefined;
2697
- jwksUri?: string | undefined;
2698
- additionalIssuers?: string[] | undefined;
2699
- verifyIssuer?: boolean | undefined;
2700
- authEndpoint?: string | undefined;
2701
- tokenEndpoint?: string | undefined;
2702
- registrationEndpoint?: string | undefined;
2703
- userInfoEndpoint?: string | undefined;
2704
- } | undefined;
2705
- } | undefined;
2706
- } | {
2707
- info: {
2708
- name: string;
2709
- version: string;
2710
- title?: string | undefined;
2711
- websiteUrl?: string | undefined;
2712
- icons?: {
2713
- src: string;
2714
- mimeType?: string | undefined;
2715
- sizes?: string[] | undefined;
2716
- theme?: "light" | "dark" | undefined;
2717
- }[] | undefined;
2718
- };
2719
- providers: import("@frontmcp/di").Type<unknown>[];
2720
- tools: (string | import("@frontmcp/di").Type<unknown>)[];
2721
- resources: import("@frontmcp/di").Type<unknown>[];
2722
- skills: import("@frontmcp/di").Type<unknown>[];
2723
- plugins: import("@frontmcp/di").Type<unknown>[];
2724
- apps: import("@frontmcp/di").Type<unknown>[];
2725
- serve: boolean;
2726
- transport: {
2727
- sessionMode: "stateful" | "stateless" | import("zod/v4/core").$InferOuterFunctionType<import("zod/v4/core").$ZodFunctionArgs, import("zod/v4/core").$ZodFunctionOut>;
2728
- protocol: "modern" | "legacy" | "stateless-api" | "full" | {
2729
- sse?: boolean | undefined;
2730
- streamable?: boolean | undefined;
2731
- json?: boolean | undefined;
2732
- stateless?: boolean | undefined;
2733
- legacy?: boolean | undefined;
2734
- strictSession?: boolean | undefined;
2735
- };
2736
- distributedMode: boolean | "auto";
2737
- platformDetection?: {
2738
- customOnly: boolean;
2739
- mappings?: {
2740
- pattern: string | RegExp;
2741
- platform: "unknown" | "continue" | "openai" | "claude" | "gemini" | "cursor" | "cody" | "generic-mcp" | "ext-apps";
2742
- }[] | undefined;
2743
- } | undefined;
2744
- defaultProtocolVersion?: "legacy" | "2026-07-28" | undefined;
2745
- persistence?: false | {
2746
- defaultTtlMs: number;
2747
- redis?: {
2748
- provider: "redis";
2749
- host: string;
2750
- port: number;
2751
- db: number;
2752
- tls: boolean;
2753
- keyPrefix: string;
2754
- defaultTtlMs: number;
2755
- password?: string | undefined;
2756
- } | {
2757
- provider: "redis";
2758
- host: string;
2759
- port: number;
2760
- db: number;
2761
- tls: boolean;
2762
- keyPrefix: string;
2763
- defaultTtlMs: number;
2764
- password?: string | undefined;
2765
- } | {
2766
- provider: "vercel-kv";
2767
- keyPrefix: string;
2768
- defaultTtlMs: number;
2769
- url?: string | undefined;
2770
- token?: string | undefined;
2771
- } | undefined;
2772
- sqlite?: {
2773
- ttlCleanupIntervalMs: number;
2774
- walMode: boolean;
2775
- path?: string | undefined;
2776
- encryption?: {
2777
- secret: string;
2778
- } | undefined;
2779
- } | undefined;
2780
- } | undefined;
2781
- providerCaching?: boolean | undefined;
2782
- eventStore?: {
2783
- enabled: boolean;
2784
- provider: "redis" | "sqlite" | "memory";
2785
- maxEvents: number;
2786
- ttlMs: number;
2787
- redis?: {
2788
- provider: "redis";
2789
- host: string;
2790
- port: number;
2791
- db: number;
2792
- tls: boolean;
2793
- keyPrefix: string;
2794
- defaultTtlMs: number;
2795
- password?: string | undefined;
2796
- } | {
2797
- provider: "redis";
2798
- host: string;
2799
- port: number;
2800
- db: number;
2801
- tls: boolean;
2802
- keyPrefix: string;
2803
- defaultTtlMs: number;
2804
- password?: string | undefined;
2805
- } | {
2806
- provider: "vercel-kv";
2807
- keyPrefix: string;
2808
- defaultTtlMs: number;
2809
- url?: string | undefined;
2810
- token?: string | undefined;
2811
- } | undefined;
2812
- } | undefined;
2813
- };
2814
- splitByApp: true;
2815
- __sourceDir?: string | undefined;
2816
- instructions?: string | undefined;
2817
- http?: {
2818
- port: number;
2819
- entryPath: string;
2820
- bodyLimit: string | number;
2821
- hostFactory?: any;
2822
- socketPath?: string | undefined;
2823
- cors?: false | {
2824
- origin?: string | boolean | string[] | ((origin: string | undefined, callback: (err: Error | null, allow?: boolean) => void) => void) | undefined;
2825
- credentials?: boolean | undefined;
2826
- maxAge?: number | undefined;
2827
- } | undefined;
2828
- security?: {
2829
- strict?: boolean | undefined;
2830
- bindAddress?: string | undefined;
2831
- dnsRebindingProtection?: {
2832
- enabled?: boolean | undefined;
2833
- allowedHosts?: string[] | undefined;
2834
- allowedOrigins?: string[] | undefined;
2835
- } | undefined;
2836
- } | undefined;
2837
- urlencodedLimit?: string | number | undefined;
2838
- routes?: {
2839
- method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS" | "HEAD";
2840
- path: string;
2841
- handler: import("../common").ServerRequestHandler;
2842
- auth?: boolean | undefined;
2843
- }[] | undefined;
2844
- } | undefined;
2845
- redis?: {
2846
- provider: "redis";
2847
- host: string;
2848
- port: number;
2849
- db: number;
2850
- tls: boolean;
2851
- keyPrefix: string;
2852
- defaultTtlMs: number;
2853
- password?: string | undefined;
2854
- } | {
2855
- provider: "redis";
2856
- host: string;
2857
- port: number;
2858
- db: number;
2859
- tls: boolean;
2860
- keyPrefix: string;
2861
- defaultTtlMs: number;
2862
- password?: string | undefined;
2863
- } | {
2864
- provider: "vercel-kv";
2865
- keyPrefix: string;
2866
- defaultTtlMs: number;
2867
- url?: string | undefined;
2868
- token?: string | undefined;
2869
- } | undefined;
2870
- pubsub?: {
2871
- provider: "redis";
2872
- host: string;
2873
- port: number;
2874
- db: number;
2875
- tls: boolean;
2876
- keyPrefix: string;
2877
- defaultTtlMs: number;
2878
- password?: string | undefined;
2879
- } | {
2880
- provider: "redis";
2881
- host: string;
2882
- port: number;
2883
- db: number;
2884
- tls: boolean;
2885
- keyPrefix: string;
2886
- defaultTtlMs: number;
2887
- password?: string | undefined;
2888
- } | undefined;
2889
- logging?: {
2890
- level: import("../common").LogLevel;
2891
- enableConsole: boolean;
2892
- transports: import("@frontmcp/di").Type<unknown>[];
2893
- prefix?: string | undefined;
2894
- } | undefined;
2895
- pagination?: {
2896
- tools?: {
2897
- mode: boolean | "auto";
2898
- pageSize: number;
2899
- autoThreshold: number;
2900
- } | undefined;
2901
- } | undefined;
2902
- elicitation?: {
2903
- enabled: boolean;
2904
- redis?: {
2905
- provider: "redis";
2906
- host: string;
2907
- port: number;
2908
- db: number;
2909
- tls: boolean;
2910
- keyPrefix: string;
2911
- defaultTtlMs: number;
2912
- password?: string | undefined;
2913
- } | {
2914
- provider: "redis";
2915
- host: string;
2916
- port: number;
2917
- db: number;
2918
- tls: boolean;
2919
- keyPrefix: string;
2920
- defaultTtlMs: number;
2921
- password?: string | undefined;
2922
- } | {
2923
- provider: "vercel-kv";
2924
- keyPrefix: string;
2925
- defaultTtlMs: number;
2926
- url?: string | undefined;
2927
- token?: string | undefined;
2928
- } | undefined;
2929
- } | undefined;
2930
- skillsConfig?: {
2931
- enabled: boolean;
2932
- auth: "inherit" | "public" | "api-key" | "bearer";
2933
- llmTxt: boolean | {
2934
- enabled: boolean;
2935
- path?: string | undefined;
2936
- };
2937
- llmFullTxt: boolean | {
2938
- enabled: boolean;
2939
- path?: string | undefined;
2940
- };
2941
- api: boolean | {
2942
- enabled: boolean;
2943
- path?: string | undefined;
2944
- };
2945
- mcpResources: boolean;
2946
- sep2640InInstructions: boolean;
2947
- injectInstructions: "replace" | "off" | "append" | "prepend";
2948
- prefix?: string | undefined;
2949
- apiKeys?: string[] | undefined;
2950
- jwt?: {
2951
- issuer: string;
2952
- audience?: string | undefined;
2953
- jwksUrl?: string | undefined;
2954
- } | undefined;
2955
- cache?: {
2956
- enabled: boolean;
2957
- ttlMs: number;
2958
- redis?: {
2959
- provider: "redis" | "vercel-kv" | "@vercel/kv";
2960
- host?: string | undefined;
2961
- port?: number | undefined;
2962
- password?: string | undefined;
2963
- db?: number | undefined;
2964
- } | undefined;
2965
- keyPrefix?: string | undefined;
2966
- } | undefined;
2967
- audit?: {
2968
- enabled: boolean;
2969
- signer?: unknown;
2970
- store?: unknown;
2971
- subjectMode?: "plain" | "hash" | "omit" | undefined;
2972
- headAnchorIntervalMs?: number | undefined;
2973
- } | undefined;
2974
- scoring?: "cosine" | "bm25" | undefined;
2975
- } | undefined;
2976
- extApps?: {
2977
- enabled: boolean;
2978
- hostCapabilities?: {
2979
- serverToolProxy?: boolean | undefined;
2980
- openLink?: boolean | undefined;
2981
- modelContextUpdate?: boolean | undefined;
2982
- widgetTools?: boolean | undefined;
2983
- displayModes?: ("inline" | "fullscreen" | "pip")[] | undefined;
2984
- logging?: boolean | undefined;
2985
- } | undefined;
2986
- } | undefined;
2987
- sqlite?: {
2988
- ttlCleanupIntervalMs: number;
2989
- walMode: boolean;
2990
- path?: string | undefined;
2991
- encryption?: {
2992
- secret: string;
2993
- } | undefined;
2994
- } | undefined;
2995
- ui?: {
2996
- cdnOverrides?: Record<string, string> | undefined;
2997
- } | undefined;
2998
- output?: {
2999
- allowNonFinite?: boolean | undefined;
3000
- schemaMode?: "description" | "definition" | "both" | "none" | undefined;
3001
- schemaDescriptionFormat?: "summary" | "jsonSchema" | undefined;
3002
- } | undefined;
3003
- jobs?: {
3004
- enabled: boolean;
3005
- allowDynamicRegistration?: boolean | undefined;
3006
- store?: {
3007
- redis?: {
3008
- provider: "redis";
3009
- host: string;
3010
- port: number;
3011
- db: number;
3012
- tls: boolean;
3013
- keyPrefix: string;
3014
- defaultTtlMs: number;
3015
- password?: string | undefined;
3016
- } | {
3017
- provider: "redis";
3018
- host: string;
3019
- port: number;
3020
- db: number;
3021
- tls: boolean;
3022
- keyPrefix: string;
3023
- defaultTtlMs: number;
3024
- password?: string | undefined;
3025
- } | {
3026
- provider: "vercel-kv";
3027
- keyPrefix: string;
3028
- defaultTtlMs: number;
3029
- url?: string | undefined;
3030
- token?: string | undefined;
3031
- } | undefined;
3032
- keyPrefix?: string | undefined;
3033
- } | undefined;
3034
- } | undefined;
3035
- loader?: {
3036
- url?: string | undefined;
3037
- registryUrl?: string | undefined;
3038
- token?: string | undefined;
3039
- tokenEnvVar?: string | undefined;
3040
- } | undefined;
3041
- throttle?: {
3042
- enabled: boolean;
3043
- keyPrefix: string;
3044
- storage?: {
3045
- [x: string]: unknown;
3046
- } | undefined;
3047
- global?: {
3048
- maxRequests: number;
3049
- windowMs: number;
3050
- partitionBy: "session" | "global" | ((ctx: {
3051
- sessionId: string;
3052
- clientIp?: string;
3053
- userId?: string;
3054
- }) => string) | "ip" | "userId";
3055
- } | undefined;
3056
- globalConcurrency?: {
3057
- maxConcurrent: number;
3058
- queueTimeoutMs: number;
3059
- partitionBy: "session" | "global" | "ip" | "userId" | ((ctx: {
3060
- sessionId: string;
3061
- clientIp?: string;
3062
- userId?: string;
3063
- }) => string);
3064
- } | undefined;
3065
- defaultRateLimit?: {
3066
- maxRequests: number;
3067
- windowMs: number;
3068
- partitionBy: "session" | "global" | "ip" | "userId" | ((ctx: {
3069
- sessionId: string;
3070
- clientIp?: string;
3071
- userId?: string;
3072
- }) => string);
3073
- } | undefined;
3074
- defaultConcurrency?: {
3075
- maxConcurrent: number;
3076
- queueTimeoutMs: number;
3077
- partitionBy: "session" | "global" | "ip" | "userId" | ((ctx: {
3078
- sessionId: string;
3079
- clientIp?: string;
3080
- userId?: string;
3081
- }) => string);
3082
- } | undefined;
3083
- defaultTimeout?: {
3084
- executeMs: number;
3085
- } | undefined;
3086
- ipFilter?: {
3087
- defaultAction: "allow" | "deny";
3088
- trustProxy: boolean;
3089
- trustedProxyDepth: number;
3090
- allowList?: string[] | undefined;
3091
- denyList?: string[] | undefined;
3092
- } | undefined;
3093
- } | undefined;
3094
- observability?: boolean | {
3095
- tracing?: boolean | {
3096
- [x: string]: unknown;
3097
- } | undefined;
3098
- logging?: boolean | {
3099
- [x: string]: unknown;
3100
- } | undefined;
3101
- requestLogs?: boolean | {
3102
- [x: string]: unknown;
3103
- } | undefined;
3104
- } | undefined;
3105
- health?: {
3106
- enabled: boolean;
3107
- healthzPath: string;
3108
- readyzPath: string;
3109
- probes: any[];
3110
- includeDetails?: boolean | undefined;
3111
- readyz?: {
3112
- timeoutMs: number;
3113
- enabled?: boolean | undefined;
3114
- } | undefined;
3115
- } | undefined;
3116
- metrics?: {
3117
- enabled: boolean;
3118
- path: string;
3119
- format: "json" | "prometheus";
3120
- auth: "token" | "public" | {
3121
- token: string;
3122
- };
3123
- tokenEnv: string;
3124
- include?: ("auth" | "http" | "tools" | "resources" | "skills" | "process" | "storage" | "sessions")[] | undefined;
3125
- process?: {
3126
- eventLoopLag?: boolean | undefined;
3127
- fdCount?: boolean | undefined;
3128
- activeHandles?: boolean | undefined;
3129
- } | undefined;
3130
- } | undefined;
3131
- channels?: {
3132
- enabled: boolean;
3133
- defaultMeta?: Record<string, string> | undefined;
3134
- } | undefined;
3135
- authorities?: {
3136
- claimsMapping?: Record<string, string | undefined> | undefined;
3137
- profiles?: Record<string, {
3138
- [x: string]: unknown;
3139
- }> | undefined;
3140
- relationshipResolver?: any;
3141
- evaluators?: Record<string, any> | undefined;
3142
- claimsResolver?: any;
3143
- scopeMapping?: {
3144
- roles?: Record<string, string[]> | undefined;
3145
- permissions?: Record<string, string[]> | undefined;
3146
- profiles?: Record<string, string[]> | undefined;
3147
- } | undefined;
3148
- pipes?: any[] | undefined;
3149
- } | undefined;
3150
- tasks?: {
3151
- enabled?: boolean | undefined;
3152
- redis?: {
3153
- provider: "redis";
3154
- host: string;
3155
- port: number;
3156
- db: number;
3157
- tls: boolean;
3158
- keyPrefix: string;
3159
- defaultTtlMs: number;
3160
- password?: string | undefined;
3161
- } | {
3162
- provider: "redis";
3163
- host: string;
3164
- port: number;
3165
- db: number;
3166
- tls: boolean;
3167
- keyPrefix: string;
3168
- defaultTtlMs: number;
3169
- password?: string | undefined;
3170
- } | {
3171
- provider: "vercel-kv";
3172
- keyPrefix: string;
3173
- defaultTtlMs: number;
3174
- url?: string | undefined;
3175
- token?: string | undefined;
3176
- } | undefined;
3177
- keyPrefix?: string | undefined;
3178
- defaultTtlMs?: number | undefined;
3179
- maxTtlMs?: number | undefined;
3180
- defaultPollIntervalMs?: number | undefined;
3181
- maxConcurrentPerSession?: number | undefined;
3182
- strict?: boolean | undefined;
3183
- runner?: "in-process" | "cli" | undefined;
3184
- sqlite?: {
3185
- path: string;
3186
- encryption?: {
3187
- secret: string;
3188
- } | undefined;
3189
- walMode?: boolean | undefined;
3190
- ttlCleanupIntervalMs?: number | undefined;
3191
- } | undefined;
3192
- cliRunnerCommand?: {
3193
- exe: string;
3194
- args?: string[] | undefined;
3195
- } | undefined;
3196
- } | undefined;
3197
- auth?: {
3198
- mode: "public";
3199
- sessionTtl: number;
3200
- anonymousScopes: string[];
3201
- issuer?: string | undefined;
3202
- publicAccess?: {
3203
- tools: string[] | "all";
3204
- prompts: string[] | "all";
3205
- rateLimit: number;
3206
- } | undefined;
3207
- jwks?: {
3208
- keys: import("libs/auth/dist/common/jwt.types").JWK[];
3209
- } | undefined;
3210
- signKey?: Uint8Array<ArrayBuffer> | import("libs/auth/dist/common/jwt.types").JWK | undefined;
3211
- } | {
3212
- mode: "static";
3213
- tokens: string[];
3214
- header: string;
3215
- scheme: string;
3216
- scopes: string[];
3217
- realm: string;
3218
- publicAccess?: {
3219
- tools: string[] | "all";
3220
- prompts: string[] | "all";
3221
- rateLimit: number;
3222
- } | undefined;
3223
- } | {
3224
- requiredScopes: string[];
3225
- allowAnonymous: boolean;
3226
- anonymousScopes: string[];
3227
- provider: string;
3228
- mode: "transparent";
3229
- expectedAudience?: string | string[] | undefined;
3230
- requireAudience?: boolean | undefined;
3231
- publicAccess?: {
3232
- tools: string[] | "all";
3233
- prompts: string[] | "all";
3234
- rateLimit: number;
3235
- } | undefined;
3236
- clientId?: string | undefined;
3237
- clientSecret?: string | undefined;
3238
- scopes?: string[] | undefined;
3239
- providerConfig?: {
3240
- dcrEnabled: boolean;
3241
- name?: string | undefined;
3242
- id?: string | undefined;
3243
- jwks?: {
3244
- keys: import("libs/auth/dist/common/jwt.types").JWK[];
3245
- } | undefined;
3246
- jwksUri?: string | undefined;
3247
- additionalIssuers?: string[] | undefined;
3248
- verifyIssuer?: boolean | undefined;
3249
- authEndpoint?: string | undefined;
3250
- tokenEndpoint?: string | undefined;
3251
- registrationEndpoint?: string | undefined;
3252
- userInfoEndpoint?: string | undefined;
3253
- } | undefined;
3254
- } | {
3255
- requireEmail: boolean;
3256
- anonymousSubject: string;
3257
- tokenStorage: "memory" | {
3258
- redis: {
3259
- host: string;
3260
- port: number;
3261
- db: number;
3262
- tls: boolean;
3263
- keyPrefix: string;
3264
- defaultTtlMs: number;
3265
- password?: string | undefined;
3266
- };
3267
- } | {
3268
- sqlite: {
3269
- path: string;
3270
- encryption?: {
3271
- secret: string;
3272
- } | undefined;
3273
- ttlCleanupIntervalMs?: number | undefined;
3274
- walMode?: boolean | undefined;
3275
- };
3276
- };
3277
- allowDefaultPublic: boolean;
3278
- anonymousScopes: string[];
3279
- requireRegisteredClients: boolean;
3280
- mode: "local";
3281
- login?: {
3282
- title?: string | undefined;
3283
- subtitle?: string | undefined;
3284
- logoUri?: string | undefined;
3285
- fields?: Record<string, {
3286
- type: "text" | "email" | "password" | "select" | "hidden";
3287
- label?: string | undefined;
3288
- required?: boolean | undefined;
3289
- placeholder?: string | undefined;
3290
- options?: {
3291
- value: string;
3292
- label: string;
3293
- }[] | undefined;
3294
- }> | undefined;
3295
- render?: ((ctx: import("libs/auth/dist/options/interfaces").LoginRenderContext) => string) | undefined;
3296
- subject?: {
3297
- fromField?: string | undefined;
3298
- strategy?: "per-session" | "per-account" | undefined;
3299
- } | undefined;
3300
- } | undefined;
3301
- authenticate?: import("libs/auth/dist/options/interfaces").AuthenticateFn | undefined;
3302
- providers?: {
3303
- id: string;
3304
- clientId: string;
3305
- name?: string | undefined;
3306
- authorizationEndpoint?: string | undefined;
3307
- authorizeUrl?: string | undefined;
3308
- tokenEndpoint?: string | undefined;
3309
- tokenUrl?: string | undefined;
3310
- clientSecret?: string | undefined;
3311
- scopes?: string[] | undefined;
3312
- userInfoEndpoint?: string | undefined;
3313
- jwksUri?: string | undefined;
3314
- }[] | undefined;
3315
- dcr?: {
3316
- enabled?: boolean | undefined;
3317
- allowedRedirectUris?: string[] | undefined;
3318
- allowedClientIds?: string[] | undefined;
3319
- initialAccessToken?: string | undefined;
3320
- clients?: {
3321
- clientId: string;
3322
- redirectUris: string[];
3323
- tokenEndpointAuthMethod: "none" | "client_secret_basic" | "client_secret_post";
3324
- grantTypes: ("authorization_code" | "refresh_token")[];
3325
- responseTypes: "code"[];
3326
- clientSecret?: string | undefined;
3327
- clientName?: string | undefined;
3328
- scope?: string | undefined;
3329
- }[] | undefined;
3330
- maxDynamicClients?: number | undefined;
3331
- } | undefined;
3332
- local?: {
3333
- signKey?: Uint8Array<ArrayBuffer> | import("libs/auth/dist/common/jwt.types").JWK | undefined;
3334
- jwks?: {
3335
- keys: import("libs/auth/dist/common/jwt.types").JWK[];
3336
- } | undefined;
3337
- issuer?: string | undefined;
3338
- } | undefined;
3339
- secureStore?: "memory" | {
3340
- sqlite: {
3341
- path: string;
3342
- encryption?: {
3343
- secret: string;
3344
- } | undefined;
3345
- ttlCleanupIntervalMs?: number | undefined;
3346
- walMode?: boolean | undefined;
3347
- };
3348
- scope?: "user" | "session" | "global" | undefined;
3349
- ttlMs?: number | undefined;
3350
- encryption?: {
3351
- pepper?: string | undefined;
3352
- } | undefined;
3353
- } | {
3354
- redis: {
3355
- host: string;
3356
- port: number;
3357
- db: number;
3358
- tls: boolean;
3359
- keyPrefix: string;
3360
- defaultTtlMs: number;
3361
- password?: string | undefined;
3362
- };
3363
- scope?: "user" | "session" | "global" | undefined;
3364
- ttlMs?: number | undefined;
3365
- encryption?: {
3366
- pepper?: string | undefined;
3367
- } | undefined;
3368
- } | {
3369
- backend: import("libs/auth/dist/options/interfaces").SecureStoreCustomBackend;
3370
- scope?: "user" | "session" | "global" | undefined;
3371
- ttlMs?: number | undefined;
3372
- encryption?: {
3373
- pepper?: string | undefined;
3374
- } | undefined;
3375
- } | {
3376
- scope?: "user" | "session" | "global" | undefined;
3377
- ttlMs?: number | undefined;
3378
- encryption?: {
3379
- pepper?: string | undefined;
3380
- } | undefined;
3381
- } | undefined;
3382
- publicAccess?: {
3383
- tools: string[] | "all";
3384
- prompts: string[] | "all";
3385
- rateLimit: number;
3386
- } | undefined;
3387
- consent?: {
3388
- enabled: boolean;
3389
- groupByApp: boolean;
3390
- showDescriptions: boolean;
3391
- allowSelectAll: boolean;
3392
- requireSelection: boolean;
3393
- rememberConsent: boolean;
3394
- customMessage?: string | undefined;
3395
- excludedTools?: string[] | undefined;
3396
- defaultSelectedTools?: string[] | undefined;
3397
- } | undefined;
3398
- federatedAuth?: {
3399
- stateValidation: "format" | "strict";
3400
- minProviders?: number | undefined;
3401
- requiredProviders?: string[] | undefined;
3402
- } | undefined;
3403
- refresh?: {
3404
- enabled: boolean;
3405
- skewSeconds: number;
3406
- } | undefined;
3407
- expectedAudience?: string | string[] | undefined;
3408
- incrementalAuth?: {
3409
- enabled: boolean;
3410
- skippedAppBehavior: "anonymous" | "require-auth";
3411
- allowSkip: boolean;
3412
- showAllAppsAtOnce: boolean;
3413
- } | undefined;
3414
- cimd?: {
3415
- enabled: boolean;
3416
- cache?: {
3417
- type: "redis" | "memory";
3418
- defaultTtlMs: number;
3419
- maxTtlMs: number;
3420
- minTtlMs: number;
3421
- redis?: {
3422
- keyPrefix: string;
3423
- url?: string | undefined;
3424
- host?: string | undefined;
3425
- port?: number | undefined;
3426
- password?: string | undefined;
3427
- db?: number | undefined;
3428
- tls?: boolean | undefined;
3429
- } | undefined;
3430
- } | undefined;
3431
- security?: {
3432
- blockPrivateIPs: boolean;
3433
- warnOnLocalhostRedirects: boolean;
3434
- allowInsecureForTesting: boolean;
3435
- allowedDomains?: string[] | undefined;
3436
- blockedDomains?: string[] | undefined;
3437
- } | undefined;
3438
- network?: {
3439
- timeoutMs: number;
3440
- maxResponseSizeBytes: number;
3441
- redirectPolicy: "allow" | "deny" | "same-origin";
3442
- maxRedirects: number;
3443
- } | undefined;
3444
- } | undefined;
3445
- ui?: Partial<Record<"error" | "login" | "consent" | "incremental" | "federated", string>> | undefined;
3446
- extras?: Record<string, import("libs/auth/dist/options/interfaces").AuthExtraHandler> | undefined;
3447
- } | {
3448
- tokenStorage: "memory" | {
3449
- redis: {
3450
- host: string;
3451
- port: number;
3452
- db: number;
3453
- tls: boolean;
3454
- keyPrefix: string;
3455
- defaultTtlMs: number;
3456
- password?: string | undefined;
3457
- };
3458
- } | {
3459
- sqlite: {
3460
- path: string;
3461
- encryption?: {
3462
- secret: string;
3463
- } | undefined;
3464
- ttlCleanupIntervalMs?: number | undefined;
3465
- walMode?: boolean | undefined;
3466
- };
3467
- };
3468
- allowDefaultPublic: boolean;
3469
- anonymousScopes: string[];
3470
- requireRegisteredClients: boolean;
3471
- provider: string;
3472
- mode: "remote";
3473
- local?: {
3474
- signKey?: Uint8Array<ArrayBuffer> | import("libs/auth/dist/common/jwt.types").JWK | undefined;
3475
- jwks?: {
3476
- keys: import("libs/auth/dist/common/jwt.types").JWK[];
3477
- } | undefined;
3478
- issuer?: string | undefined;
3479
- } | undefined;
3480
- secureStore?: "memory" | {
3481
- sqlite: {
3482
- path: string;
3483
- encryption?: {
3484
- secret: string;
3485
- } | undefined;
3486
- ttlCleanupIntervalMs?: number | undefined;
3487
- walMode?: boolean | undefined;
3488
- };
3489
- scope?: "user" | "session" | "global" | undefined;
3490
- ttlMs?: number | undefined;
3491
- encryption?: {
3492
- pepper?: string | undefined;
3493
- } | undefined;
3494
- } | {
3495
- redis: {
3496
- host: string;
3497
- port: number;
3498
- db: number;
3499
- tls: boolean;
3500
- keyPrefix: string;
3501
- defaultTtlMs: number;
3502
- password?: string | undefined;
3503
- };
3504
- scope?: "user" | "session" | "global" | undefined;
3505
- ttlMs?: number | undefined;
3506
- encryption?: {
3507
- pepper?: string | undefined;
3508
- } | undefined;
3509
- } | {
3510
- backend: import("libs/auth/dist/options/interfaces").SecureStoreCustomBackend;
3511
- scope?: "user" | "session" | "global" | undefined;
3512
- ttlMs?: number | undefined;
3513
- encryption?: {
3514
- pepper?: string | undefined;
3515
- } | undefined;
3516
- } | {
3517
- scope?: "user" | "session" | "global" | undefined;
3518
- ttlMs?: number | undefined;
3519
- encryption?: {
3520
- pepper?: string | undefined;
3521
- } | undefined;
3522
- } | undefined;
3523
- publicAccess?: {
3524
- tools: string[] | "all";
3525
- prompts: string[] | "all";
3526
- rateLimit: number;
3527
- } | undefined;
3528
- consent?: {
3529
- enabled: boolean;
3530
- groupByApp: boolean;
3531
- showDescriptions: boolean;
3532
- allowSelectAll: boolean;
3533
- requireSelection: boolean;
3534
- rememberConsent: boolean;
3535
- customMessage?: string | undefined;
3536
- excludedTools?: string[] | undefined;
3537
- defaultSelectedTools?: string[] | undefined;
3538
- } | undefined;
3539
- federatedAuth?: {
3540
- stateValidation: "format" | "strict";
3541
- minProviders?: number | undefined;
3542
- requiredProviders?: string[] | undefined;
3543
- } | undefined;
3544
- refresh?: {
3545
- enabled: boolean;
3546
- skewSeconds: number;
3547
- } | undefined;
3548
- expectedAudience?: string | string[] | undefined;
3549
- incrementalAuth?: {
3550
- enabled: boolean;
3551
- skippedAppBehavior: "anonymous" | "require-auth";
3552
- allowSkip: boolean;
3553
- showAllAppsAtOnce: boolean;
3554
- } | undefined;
3555
- cimd?: {
3556
- enabled: boolean;
3557
- cache?: {
3558
- type: "redis" | "memory";
3559
- defaultTtlMs: number;
3560
- maxTtlMs: number;
3561
- minTtlMs: number;
3562
- redis?: {
3563
- keyPrefix: string;
3564
- url?: string | undefined;
3565
- host?: string | undefined;
3566
- port?: number | undefined;
3567
- password?: string | undefined;
3568
- db?: number | undefined;
3569
- tls?: boolean | undefined;
3570
- } | undefined;
3571
- } | undefined;
3572
- security?: {
3573
- blockPrivateIPs: boolean;
3574
- warnOnLocalhostRedirects: boolean;
3575
- allowInsecureForTesting: boolean;
3576
- allowedDomains?: string[] | undefined;
3577
- blockedDomains?: string[] | undefined;
3578
- } | undefined;
3579
- network?: {
3580
- timeoutMs: number;
3581
- maxResponseSizeBytes: number;
3582
- redirectPolicy: "allow" | "deny" | "same-origin";
3583
- maxRedirects: number;
3584
- } | undefined;
3585
- } | undefined;
3586
- ui?: Partial<Record<"error" | "login" | "consent" | "incremental" | "federated", string>> | undefined;
3587
- extras?: Record<string, import("libs/auth/dist/options/interfaces").AuthExtraHandler> | undefined;
3588
- clientId?: string | undefined;
3589
- clientSecret?: string | undefined;
3590
- scopes?: string[] | undefined;
3591
- providerConfig?: {
3592
- dcrEnabled: boolean;
3593
- name?: string | undefined;
3594
- id?: string | undefined;
3595
- jwks?: {
3596
- keys: import("libs/auth/dist/common/jwt.types").JWK[];
3597
- } | undefined;
3598
- jwksUri?: string | undefined;
3599
- additionalIssuers?: string[] | undefined;
3600
- verifyIssuer?: boolean | undefined;
3601
- authEndpoint?: string | undefined;
3602
- tokenEndpoint?: string | undefined;
3603
- registrationEndpoint?: string | undefined;
3604
- userInfoEndpoint?: string | undefined;
3605
- } | undefined;
3606
- } | undefined;
3607
- }>]> | ProviderValueType<FrontMcpServer>)[];
1
+ import { type FrontMcpConfigType, type ProviderType } from '../common';
2
+ export declare function createMcpGlobalProviders(metadata: FrontMcpConfigType): ProviderType[];
3608
3
  //# sourceMappingURL=front-mcp.providers.d.ts.map