@frontmcp/sdk 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (558) hide show
  1. package/README.md +30 -18
  2. package/package.json +20 -5
  3. package/src/app/app.registry.d.ts +3 -2
  4. package/src/app/app.registry.js +3 -1
  5. package/src/app/app.registry.js.map +1 -1
  6. package/src/app/instances/app.local.instance.js +2 -2
  7. package/src/app/instances/app.local.instance.js.map +1 -1
  8. package/src/auth/auth.registry.d.ts +34 -2
  9. package/src/auth/auth.registry.js +162 -24
  10. package/src/auth/auth.registry.js.map +1 -1
  11. package/src/auth/auth.utils.js +8 -9
  12. package/src/auth/auth.utils.js.map +1 -1
  13. package/src/auth/authorization/authorization.class.d.ts +125 -0
  14. package/src/auth/authorization/authorization.class.js +224 -0
  15. package/src/auth/authorization/authorization.class.js.map +1 -0
  16. package/src/auth/authorization/authorization.types.d.ts +300 -0
  17. package/src/auth/authorization/authorization.types.js +79 -0
  18. package/src/auth/authorization/authorization.types.js.map +1 -0
  19. package/src/auth/authorization/index.d.ts +5 -0
  20. package/src/auth/authorization/index.js +19 -0
  21. package/src/auth/authorization/index.js.map +1 -0
  22. package/src/auth/authorization/orchestrated.authorization.d.ts +242 -0
  23. package/src/auth/authorization/orchestrated.authorization.js +306 -0
  24. package/src/auth/authorization/orchestrated.authorization.js.map +1 -0
  25. package/src/auth/authorization/public.authorization.d.ts +91 -0
  26. package/src/auth/authorization/public.authorization.js +132 -0
  27. package/src/auth/authorization/public.authorization.js.map +1 -0
  28. package/src/auth/authorization/transparent.authorization.d.ts +130 -0
  29. package/src/auth/authorization/transparent.authorization.js +147 -0
  30. package/src/auth/authorization/transparent.authorization.js.map +1 -0
  31. package/src/auth/consent/consent.types.d.ts +111 -0
  32. package/src/auth/consent/consent.types.js +119 -0
  33. package/src/auth/consent/consent.types.js.map +1 -0
  34. package/src/auth/consent/index.d.ts +1 -0
  35. package/src/auth/consent/index.js +13 -0
  36. package/src/auth/consent/index.js.map +1 -0
  37. package/src/auth/detection/auth-provider-detection.d.ts +84 -0
  38. package/src/auth/detection/auth-provider-detection.js +230 -0
  39. package/src/auth/detection/auth-provider-detection.js.map +1 -0
  40. package/src/auth/detection/index.d.ts +1 -0
  41. package/src/auth/detection/index.js +15 -0
  42. package/src/auth/detection/index.js.map +1 -0
  43. package/src/auth/flows/auth.verify.flow.d.ts +110 -0
  44. package/src/auth/flows/auth.verify.flow.js +379 -0
  45. package/src/auth/flows/auth.verify.flow.js.map +1 -0
  46. package/src/auth/flows/oauth.authorize.flow.d.ts +118 -164
  47. package/src/auth/flows/oauth.authorize.flow.js +701 -33
  48. package/src/auth/flows/oauth.authorize.flow.js.map +1 -1
  49. package/src/auth/flows/oauth.callback.flow.d.ts +117 -0
  50. package/src/auth/flows/oauth.callback.flow.js +357 -0
  51. package/src/auth/flows/oauth.callback.flow.js.map +1 -0
  52. package/src/auth/flows/oauth.register.flow.d.ts +32 -125
  53. package/src/auth/flows/oauth.token.flow.d.ts +52 -154
  54. package/src/auth/flows/oauth.token.flow.js +193 -55
  55. package/src/auth/flows/oauth.token.flow.js.map +1 -1
  56. package/src/auth/flows/session.verify.flow.d.ts +66 -321
  57. package/src/auth/flows/session.verify.flow.js +107 -18
  58. package/src/auth/flows/session.verify.flow.js.map +1 -1
  59. package/src/auth/flows/well-known.jwks.flow.d.ts +34 -205
  60. package/src/auth/flows/well-known.jwks.flow.js +15 -8
  61. package/src/auth/flows/well-known.jwks.flow.js.map +1 -1
  62. package/src/auth/flows/well-known.oauth-authorization-server.flow.d.ts +48 -223
  63. package/src/auth/flows/well-known.oauth-authorization-server.flow.js +2 -3
  64. package/src/auth/flows/well-known.oauth-authorization-server.flow.js.map +1 -1
  65. package/src/auth/flows/well-known.prm.flow.d.ts +19 -120
  66. package/src/auth/flows/well-known.prm.flow.js +3 -4
  67. package/src/auth/flows/well-known.prm.flow.js.map +1 -1
  68. package/src/auth/instances/instance.local-primary-auth.d.ts +91 -4
  69. package/src/auth/instances/instance.local-primary-auth.js +236 -6
  70. package/src/auth/instances/instance.local-primary-auth.js.map +1 -1
  71. package/src/auth/instances/instance.remote-primary-auth.d.ts +4 -3
  72. package/src/auth/instances/instance.remote-primary-auth.js +2 -2
  73. package/src/auth/instances/instance.remote-primary-auth.js.map +1 -1
  74. package/src/auth/session/authorization-vault.d.ts +611 -0
  75. package/src/auth/session/authorization-vault.js +817 -0
  76. package/src/auth/session/authorization-vault.js.map +1 -0
  77. package/src/auth/session/authorization.store.d.ts +301 -0
  78. package/src/auth/session/authorization.store.js +323 -0
  79. package/src/auth/session/authorization.store.js.map +1 -0
  80. package/src/auth/session/encrypted-authorization-vault.d.ts +181 -0
  81. package/src/auth/session/encrypted-authorization-vault.js +493 -0
  82. package/src/auth/session/encrypted-authorization-vault.js.map +1 -0
  83. package/src/auth/session/index.d.ts +4 -4
  84. package/src/auth/session/index.js +11 -7
  85. package/src/auth/session/index.js.map +1 -1
  86. package/src/auth/session/session.schema.d.ts +1 -1
  87. package/src/auth/session/session.service.d.ts +1 -1
  88. package/src/auth/session/transport-session.manager.d.ts +101 -0
  89. package/src/auth/session/transport-session.manager.js +300 -0
  90. package/src/auth/session/transport-session.manager.js.map +1 -0
  91. package/src/auth/session/transport-session.types.d.ts +457 -0
  92. package/src/auth/session/transport-session.types.js +110 -0
  93. package/src/auth/session/transport-session.types.js.map +1 -0
  94. package/src/auth/session/utils/session-id.utils.d.ts +14 -2
  95. package/src/auth/session/utils/session-id.utils.js +68 -19
  96. package/src/auth/session/utils/session-id.utils.js.map +1 -1
  97. package/src/auth/session/vault-encryption.d.ts +189 -0
  98. package/src/auth/session/vault-encryption.js +263 -0
  99. package/src/auth/session/vault-encryption.js.map +1 -0
  100. package/src/auth/ui/base-layout.d.ts +188 -0
  101. package/src/auth/ui/base-layout.js +292 -0
  102. package/src/auth/ui/base-layout.js.map +1 -0
  103. package/src/auth/ui/htmx-templates.d.ts +135 -0
  104. package/src/auth/ui/htmx-templates.js +433 -0
  105. package/src/auth/ui/htmx-templates.js.map +1 -0
  106. package/src/auth/ui/index.d.ts +11 -0
  107. package/src/auth/ui/index.js +35 -0
  108. package/src/auth/ui/index.js.map +1 -0
  109. package/src/auth/utils/audience.validator.d.ts +129 -0
  110. package/src/auth/utils/audience.validator.js +196 -0
  111. package/src/auth/utils/audience.validator.js.map +1 -0
  112. package/src/auth/utils/index.d.ts +2 -0
  113. package/src/auth/utils/index.js +7 -0
  114. package/src/auth/utils/index.js.map +1 -0
  115. package/src/auth/utils/www-authenticate.utils.d.ts +97 -0
  116. package/src/auth/utils/www-authenticate.utils.js +183 -0
  117. package/src/auth/utils/www-authenticate.utils.js.map +1 -0
  118. package/src/common/common.schema.d.ts +2 -16
  119. package/src/common/constants.d.ts +3 -0
  120. package/src/common/constants.js +6 -1
  121. package/src/common/constants.js.map +1 -1
  122. package/src/common/decorators/decorator-utils.d.ts +131 -0
  123. package/src/common/decorators/decorator-utils.js +195 -0
  124. package/src/common/decorators/decorator-utils.js.map +1 -0
  125. package/src/common/decorators/front-mcp.decorator.js +3 -2
  126. package/src/common/decorators/front-mcp.decorator.js.map +1 -1
  127. package/src/common/decorators/hook.decorator.d.ts +58 -2
  128. package/src/common/decorators/hook.decorator.js +127 -17
  129. package/src/common/decorators/hook.decorator.js.map +1 -1
  130. package/src/common/decorators/plugin.decorator.d.ts +1 -1
  131. package/src/common/decorators/plugin.decorator.js +11 -10
  132. package/src/common/decorators/plugin.decorator.js.map +1 -1
  133. package/src/common/decorators/resource.decorator.d.ts +32 -3
  134. package/src/common/decorators/resource.decorator.js +46 -4
  135. package/src/common/decorators/resource.decorator.js.map +1 -1
  136. package/src/common/decorators/tool.decorator.d.ts +54 -5
  137. package/src/common/decorators/tool.decorator.js.map +1 -1
  138. package/src/common/dynamic/dynamic.plugin.d.ts +22 -11
  139. package/src/common/dynamic/dynamic.plugin.js +7 -1
  140. package/src/common/dynamic/dynamic.plugin.js.map +1 -1
  141. package/src/common/entries/prompt.entry.d.ts +46 -2
  142. package/src/common/entries/prompt.entry.js +10 -0
  143. package/src/common/entries/prompt.entry.js.map +1 -1
  144. package/src/common/entries/resource.entry.d.ts +69 -6
  145. package/src/common/entries/resource.entry.js +27 -3
  146. package/src/common/entries/resource.entry.js.map +1 -1
  147. package/src/common/entries/scope.entry.d.ts +5 -1
  148. package/src/common/entries/scope.entry.js +3 -3
  149. package/src/common/entries/scope.entry.js.map +1 -1
  150. package/src/common/flow/flow.utils.d.ts +56 -0
  151. package/src/common/flow/flow.utils.js +96 -0
  152. package/src/common/flow/flow.utils.js.map +1 -0
  153. package/src/common/index.d.ts +2 -2
  154. package/src/common/index.js +2 -2
  155. package/src/common/index.js.map +1 -1
  156. package/src/common/interfaces/execution-context.interface.d.ts +59 -0
  157. package/src/common/interfaces/execution-context.interface.js +81 -0
  158. package/src/common/interfaces/execution-context.interface.js.map +1 -0
  159. package/src/common/interfaces/flow.interface.d.ts +1 -1
  160. package/src/common/interfaces/flow.interface.js.map +1 -1
  161. package/src/common/interfaces/index.d.ts +1 -0
  162. package/src/common/interfaces/index.js +1 -0
  163. package/src/common/interfaces/index.js.map +1 -1
  164. package/src/common/interfaces/internal/primary-auth-provider.interface.d.ts +17 -2
  165. package/src/common/interfaces/internal/primary-auth-provider.interface.js +52 -4
  166. package/src/common/interfaces/internal/primary-auth-provider.interface.js.map +1 -1
  167. package/src/common/interfaces/internal/registry.interface.d.ts +16 -2
  168. package/src/common/interfaces/internal/registry.interface.js.map +1 -1
  169. package/src/common/interfaces/plugin.interface.js.map +1 -1
  170. package/src/common/interfaces/prompt.interface.d.ts +53 -4
  171. package/src/common/interfaces/prompt.interface.js +78 -0
  172. package/src/common/interfaces/prompt.interface.js.map +1 -1
  173. package/src/common/interfaces/resource.interface.d.ts +47 -17
  174. package/src/common/interfaces/resource.interface.js +53 -0
  175. package/src/common/interfaces/resource.interface.js.map +1 -1
  176. package/src/common/interfaces/tool.interface.d.ts +39 -22
  177. package/src/common/interfaces/tool.interface.js +61 -34
  178. package/src/common/interfaces/tool.interface.js.map +1 -1
  179. package/src/common/metadata/adapter.metadata.d.ts +1 -9
  180. package/src/common/metadata/app.metadata.d.ts +425 -730
  181. package/src/common/metadata/auth-provider.metadata.d.ts +2 -12
  182. package/src/common/metadata/flow.metadata.d.ts +10 -25
  183. package/src/common/metadata/front-mcp.metadata.d.ts +602 -1023
  184. package/src/common/metadata/front-mcp.metadata.js +6 -4
  185. package/src/common/metadata/front-mcp.metadata.js.map +1 -1
  186. package/src/common/metadata/hook.metadata.d.ts +1 -1
  187. package/src/common/metadata/hook.metadata.js.map +1 -1
  188. package/src/common/metadata/index.d.ts +1 -0
  189. package/src/common/metadata/index.js +1 -0
  190. package/src/common/metadata/index.js.map +1 -1
  191. package/src/common/metadata/logger.metadata.d.ts +1 -9
  192. package/src/common/metadata/plugin.metadata.d.ts +8 -30
  193. package/src/common/metadata/prompt.metadata.d.ts +4 -161
  194. package/src/common/metadata/provider.metadata.d.ts +2 -12
  195. package/src/common/metadata/resource.metadata.d.ts +6 -98
  196. package/src/common/metadata/resource.metadata.js +15 -6
  197. package/src/common/metadata/resource.metadata.js.map +1 -1
  198. package/src/common/metadata/tool-ui.metadata.d.ts +10 -0
  199. package/src/common/metadata/tool-ui.metadata.js +12 -0
  200. package/src/common/metadata/tool-ui.metadata.js.map +1 -0
  201. package/src/common/metadata/tool.metadata.d.ts +78 -199
  202. package/src/common/metadata/tool.metadata.js +11 -14
  203. package/src/common/metadata/tool.metadata.js.map +1 -1
  204. package/src/common/providers/base-config.provider.d.ts +84 -0
  205. package/src/common/providers/base-config.provider.js +128 -0
  206. package/src/common/providers/base-config.provider.js.map +1 -0
  207. package/src/common/records/plugin.record.d.ts +5 -6
  208. package/src/common/records/plugin.record.js.map +1 -1
  209. package/src/common/records/prompt.record.js.map +1 -1
  210. package/src/common/records/resource.record.d.ts +17 -1
  211. package/src/common/records/resource.record.js +12 -6
  212. package/src/common/records/resource.record.js.map +1 -1
  213. package/src/common/records/tool.record.js.map +1 -1
  214. package/src/common/schemas/annotated-class.schema.d.ts +9 -9
  215. package/src/common/schemas/annotated-class.schema.js +92 -27
  216. package/src/common/schemas/annotated-class.schema.js.map +1 -1
  217. package/src/common/schemas/http-input.schema.d.ts +6 -30
  218. package/src/common/schemas/http-output.schema.d.ts +326 -1630
  219. package/src/common/schemas/http-output.schema.js +39 -1
  220. package/src/common/schemas/http-output.schema.js.map +1 -1
  221. package/src/common/tokens/front-mcp.tokens.js +4 -1
  222. package/src/common/tokens/front-mcp.tokens.js.map +1 -1
  223. package/src/common/tokens/resource.tokens.d.ts +2 -0
  224. package/src/common/tokens/resource.tokens.js +4 -1
  225. package/src/common/tokens/resource.tokens.js.map +1 -1
  226. package/src/common/tokens/tool.tokens.d.ts +2 -0
  227. package/src/common/tokens/tool.tokens.js +2 -0
  228. package/src/common/tokens/tool.tokens.js.map +1 -1
  229. package/src/common/types/auth/jwt.types.d.ts +5 -31
  230. package/src/common/types/auth/session.types.d.ts +97 -192
  231. package/src/common/types/auth/session.types.js +24 -11
  232. package/src/common/types/auth/session.types.js.map +1 -1
  233. package/src/common/types/options/auth.options.d.ts +1013 -490
  234. package/src/common/types/options/auth.options.js +554 -36
  235. package/src/common/types/options/auth.options.js.map +1 -1
  236. package/src/common/types/options/http.options.d.ts +1 -9
  237. package/src/common/types/options/logging.options.d.ts +7 -13
  238. package/src/common/types/options/logging.options.js +4 -0
  239. package/src/common/types/options/logging.options.js.map +1 -1
  240. package/src/common/types/options/server-info.options.d.ts +3 -31
  241. package/src/common/types/options/session.options.d.ts +90 -10
  242. package/src/common/types/options/session.options.js +26 -3
  243. package/src/common/types/options/session.options.js.map +1 -1
  244. package/src/common/utils/decide-request-intent.utils.d.ts +8 -46
  245. package/src/common/utils/decide-request-intent.utils.js +88 -23
  246. package/src/common/utils/decide-request-intent.utils.js.map +1 -1
  247. package/src/completion/flows/complete.flow.d.ts +74 -0
  248. package/src/completion/flows/complete.flow.js +199 -0
  249. package/src/completion/flows/complete.flow.js.map +1 -0
  250. package/src/errors/authorization-required.error.d.ts +189 -0
  251. package/src/errors/authorization-required.error.js +274 -0
  252. package/src/errors/authorization-required.error.js.map +1 -0
  253. package/src/errors/index.d.ts +2 -1
  254. package/src/errors/index.js +17 -1
  255. package/src/errors/index.js.map +1 -1
  256. package/src/errors/mcp.error.d.ts +101 -1
  257. package/src/errors/mcp.error.js +147 -2
  258. package/src/errors/mcp.error.js.map +1 -1
  259. package/src/flows/flow.instance.js +4 -3
  260. package/src/flows/flow.instance.js.map +1 -1
  261. package/src/flows/flow.registry.js.map +1 -1
  262. package/src/flows/flow.stages.js +14 -11
  263. package/src/flows/flow.stages.js.map +1 -1
  264. package/src/front-mcp/front-mcp.providers.d.ts +464 -102
  265. package/src/front-mcp/front-mcp.providers.js +3 -5
  266. package/src/front-mcp/front-mcp.providers.js.map +1 -1
  267. package/src/hooks/hook.instance.d.ts +1 -1
  268. package/src/hooks/hook.instance.js +5 -2
  269. package/src/hooks/hook.instance.js.map +1 -1
  270. package/src/hooks/hook.registry.js +7 -5
  271. package/src/hooks/hook.registry.js.map +1 -1
  272. package/src/index.d.ts +28 -9
  273. package/src/index.js +5 -1
  274. package/src/index.js.map +1 -1
  275. package/src/logger/instances/instance.logger.js +3 -2
  276. package/src/logger/instances/instance.logger.js.map +1 -1
  277. package/src/logger/logger.registry.js +7 -2
  278. package/src/logger/logger.registry.js.map +1 -1
  279. package/src/logging/flows/set-level.flow.d.ts +62 -0
  280. package/src/logging/flows/set-level.flow.js +108 -0
  281. package/src/logging/flows/set-level.flow.js.map +1 -0
  282. package/src/mcp-apps/csp.d.ts +111 -0
  283. package/src/mcp-apps/csp.js +267 -0
  284. package/src/mcp-apps/csp.js.map +1 -0
  285. package/src/mcp-apps/index.d.ts +23 -0
  286. package/src/mcp-apps/index.js +91 -0
  287. package/src/mcp-apps/index.js.map +1 -0
  288. package/src/mcp-apps/schemas.d.ts +403 -0
  289. package/src/mcp-apps/schemas.js +345 -0
  290. package/src/mcp-apps/schemas.js.map +1 -0
  291. package/src/mcp-apps/template.d.ts +94 -0
  292. package/src/mcp-apps/template.js +419 -0
  293. package/src/mcp-apps/template.js.map +1 -0
  294. package/src/mcp-apps/types.d.ts +323 -0
  295. package/src/mcp-apps/types.js +59 -0
  296. package/src/mcp-apps/types.js.map +1 -0
  297. package/src/notification/index.d.ts +1 -0
  298. package/src/notification/index.js +13 -0
  299. package/src/notification/index.js.map +1 -0
  300. package/src/notification/notification.service.d.ts +378 -0
  301. package/src/notification/notification.service.js +727 -0
  302. package/src/notification/notification.service.js.map +1 -0
  303. package/src/plugin/plugin.registry.js +12 -9
  304. package/src/plugin/plugin.registry.js.map +1 -1
  305. package/src/prompt/flows/get-prompt.flow.d.ts +153 -0
  306. package/src/prompt/flows/get-prompt.flow.js +214 -0
  307. package/src/prompt/flows/get-prompt.flow.js.map +1 -0
  308. package/src/prompt/flows/prompts-list.flow.d.ts +67 -0
  309. package/src/prompt/flows/prompts-list.flow.js +176 -0
  310. package/src/prompt/flows/prompts-list.flow.js.map +1 -0
  311. package/src/prompt/index.d.ts +7 -0
  312. package/src/prompt/index.js +17 -0
  313. package/src/prompt/index.js.map +1 -0
  314. package/src/prompt/prompt.events.d.ts +17 -0
  315. package/src/prompt/prompt.events.js +25 -0
  316. package/src/prompt/prompt.events.js.map +1 -0
  317. package/src/prompt/prompt.instance.d.ts +30 -0
  318. package/src/prompt/prompt.instance.js +120 -0
  319. package/src/prompt/prompt.instance.js.map +1 -0
  320. package/src/prompt/prompt.registry.d.ts +79 -12
  321. package/src/prompt/prompt.registry.js +360 -15
  322. package/src/prompt/prompt.registry.js.map +1 -1
  323. package/src/prompt/prompt.types.d.ts +26 -0
  324. package/src/prompt/prompt.types.js +11 -0
  325. package/src/prompt/prompt.types.js.map +1 -0
  326. package/src/prompt/prompt.utils.d.ts +26 -0
  327. package/src/prompt/prompt.utils.js +136 -0
  328. package/src/prompt/prompt.utils.js.map +1 -0
  329. package/src/provider/provider.registry.d.ts +12 -5
  330. package/src/provider/provider.registry.js +30 -138
  331. package/src/provider/provider.registry.js.map +1 -1
  332. package/src/regsitry/registry.base.d.ts +1 -1
  333. package/src/regsitry/registry.base.js.map +1 -1
  334. package/src/resource/flows/read-resource.flow.d.ts +91 -0
  335. package/src/resource/flows/read-resource.flow.js +270 -0
  336. package/src/resource/flows/read-resource.flow.js.map +1 -0
  337. package/src/resource/flows/resource-templates-list.flow.d.ts +64 -0
  338. package/src/resource/flows/resource-templates-list.flow.js +191 -0
  339. package/src/resource/flows/resource-templates-list.flow.js.map +1 -0
  340. package/src/resource/flows/resources-list.flow.d.ts +64 -0
  341. package/src/resource/flows/resources-list.flow.js +196 -0
  342. package/src/resource/flows/resources-list.flow.js.map +1 -0
  343. package/src/resource/flows/subscribe-resource.flow.d.ts +45 -0
  344. package/src/resource/flows/subscribe-resource.flow.js +123 -0
  345. package/src/resource/flows/subscribe-resource.flow.js.map +1 -0
  346. package/src/resource/flows/unsubscribe-resource.flow.d.ts +44 -0
  347. package/src/resource/flows/unsubscribe-resource.flow.js +107 -0
  348. package/src/resource/flows/unsubscribe-resource.flow.js.map +1 -0
  349. package/src/resource/index.d.ts +8 -0
  350. package/src/resource/index.js +20 -0
  351. package/src/resource/index.js.map +1 -0
  352. package/src/resource/resource.events.d.ts +24 -0
  353. package/src/resource/resource.events.js +17 -0
  354. package/src/resource/resource.events.js.map +1 -0
  355. package/src/resource/resource.instance.d.ts +35 -0
  356. package/src/resource/resource.instance.js +163 -0
  357. package/src/resource/resource.instance.js.map +1 -0
  358. package/src/resource/resource.registry.d.ts +106 -12
  359. package/src/resource/resource.registry.js +449 -13
  360. package/src/resource/resource.registry.js.map +1 -1
  361. package/src/resource/resource.types.d.ts +35 -0
  362. package/src/resource/resource.types.js +11 -0
  363. package/src/resource/resource.types.js.map +1 -0
  364. package/src/resource/resource.utils.d.ts +30 -0
  365. package/src/resource/resource.utils.js +151 -0
  366. package/src/resource/resource.utils.js.map +1 -0
  367. package/src/scope/flows/http.request.flow.d.ts +48 -330
  368. package/src/scope/flows/http.request.flow.js +306 -78
  369. package/src/scope/flows/http.request.flow.js.map +1 -1
  370. package/src/scope/scope.instance.d.ts +12 -0
  371. package/src/scope/scope.instance.js +145 -15
  372. package/src/scope/scope.instance.js.map +1 -1
  373. package/src/tool/flows/call-tool.flow.d.ts +64 -1110
  374. package/src/tool/flows/call-tool.flow.js +303 -15
  375. package/src/tool/flows/call-tool.flow.js.map +1 -1
  376. package/src/tool/flows/tools-list.flow.d.ts +32 -473
  377. package/src/tool/flows/tools-list.flow.js +111 -10
  378. package/src/tool/flows/tools-list.flow.js.map +1 -1
  379. package/src/tool/tool.events.d.ts +8 -1
  380. package/src/tool/tool.events.js.map +1 -1
  381. package/src/tool/tool.instance.d.ts +3 -1
  382. package/src/tool/tool.instance.js +17 -3
  383. package/src/tool/tool.instance.js.map +1 -1
  384. package/src/tool/tool.registry.d.ts +7 -1
  385. package/src/tool/tool.registry.js +26 -10
  386. package/src/tool/tool.registry.js.map +1 -1
  387. package/src/tool/tool.types.d.ts +4 -4
  388. package/src/tool/tool.types.js.map +1 -1
  389. package/src/tool/tool.utils.d.ts +3 -12
  390. package/src/tool/tool.utils.js +39 -193
  391. package/src/tool/tool.utils.js.map +1 -1
  392. package/src/tool/ui/index.d.ts +22 -0
  393. package/src/tool/ui/index.js +63 -0
  394. package/src/tool/ui/index.js.map +1 -0
  395. package/src/tool/ui/platform-adapters.d.ts +10 -0
  396. package/src/tool/ui/platform-adapters.js +18 -0
  397. package/src/tool/ui/platform-adapters.js.map +1 -0
  398. package/src/tool/ui/template-helpers.d.ts +46 -0
  399. package/src/tool/ui/template-helpers.js +112 -0
  400. package/src/tool/ui/template-helpers.js.map +1 -0
  401. package/src/tool/ui/ui-resource-template.d.ts +34 -0
  402. package/src/tool/ui/ui-resource-template.js +64 -0
  403. package/src/tool/ui/ui-resource-template.js.map +1 -0
  404. package/src/tool/ui/ui-resource.handler.d.ts +74 -0
  405. package/src/tool/ui/ui-resource.handler.js +129 -0
  406. package/src/tool/ui/ui-resource.handler.js.map +1 -0
  407. package/src/transport/adapters/transport.local.adapter.d.ts +2 -2
  408. package/src/transport/adapters/transport.local.adapter.js +28 -7
  409. package/src/transport/adapters/transport.local.adapter.js.map +1 -1
  410. package/src/transport/adapters/transport.sse.adapter.d.ts +2 -2
  411. package/src/transport/adapters/transport.sse.adapter.js +4 -3
  412. package/src/transport/adapters/transport.sse.adapter.js.map +1 -1
  413. package/src/transport/adapters/transport.streamable-http.adapter.d.ts +10 -3
  414. package/src/transport/adapters/transport.streamable-http.adapter.js +54 -8
  415. package/src/transport/adapters/transport.streamable-http.adapter.js.map +1 -1
  416. package/src/transport/flows/handle.sse.flow.d.ts +29 -63
  417. package/src/transport/flows/handle.sse.flow.js +78 -10
  418. package/src/transport/flows/handle.sse.flow.js.map +1 -1
  419. package/src/transport/flows/handle.stateless-http.flow.d.ts +29 -0
  420. package/src/transport/flows/handle.stateless-http.flow.js +102 -0
  421. package/src/transport/flows/handle.stateless-http.flow.js.map +1 -0
  422. package/src/transport/flows/handle.streamable-http.flow.d.ts +32 -64
  423. package/src/transport/flows/handle.streamable-http.flow.js +158 -26
  424. package/src/transport/flows/handle.streamable-http.flow.js.map +1 -1
  425. package/src/transport/legacy/legacy.sse.tranporter.d.ts +9 -0
  426. package/src/transport/legacy/legacy.sse.tranporter.js +17 -2
  427. package/src/transport/legacy/legacy.sse.tranporter.js.map +1 -1
  428. package/src/transport/mcp-handlers/call-tool-request.handler.js +27 -1
  429. package/src/transport/mcp-handlers/call-tool-request.handler.js.map +1 -1
  430. package/src/transport/mcp-handlers/complete-request.handler.d.ts +69 -0
  431. package/src/transport/mcp-handlers/complete-request.handler.js +11 -0
  432. package/src/transport/mcp-handlers/complete-request.handler.js.map +1 -0
  433. package/src/transport/mcp-handlers/get-prompt-request.handler.d.ts +87 -0
  434. package/src/transport/mcp-handlers/get-prompt-request.handler.js +11 -0
  435. package/src/transport/mcp-handlers/get-prompt-request.handler.js.map +1 -0
  436. package/src/transport/mcp-handlers/index.d.ts +517 -208
  437. package/src/transport/mcp-handlers/index.js +39 -2
  438. package/src/transport/mcp-handlers/index.js.map +1 -1
  439. package/src/transport/mcp-handlers/initialize-request.handler.d.ts +1 -1
  440. package/src/transport/mcp-handlers/initialize-request.handler.js +73 -7
  441. package/src/transport/mcp-handlers/initialize-request.handler.js.map +1 -1
  442. package/src/transport/mcp-handlers/list-prompts-request.handler.d.ts +54 -0
  443. package/src/transport/mcp-handlers/list-prompts-request.handler.js +11 -0
  444. package/src/transport/mcp-handlers/list-prompts-request.handler.js.map +1 -0
  445. package/src/transport/mcp-handlers/list-resource-templates-request.handler.d.ts +51 -0
  446. package/src/transport/mcp-handlers/list-resource-templates-request.handler.js +12 -0
  447. package/src/transport/mcp-handlers/list-resource-templates-request.handler.js.map +1 -0
  448. package/src/transport/mcp-handlers/list-resources-request.handler.d.ts +51 -0
  449. package/src/transport/mcp-handlers/list-resources-request.handler.js +12 -0
  450. package/src/transport/mcp-handlers/list-resources-request.handler.js.map +1 -0
  451. package/src/transport/mcp-handlers/list-tools-request.handler.d.ts +19 -146
  452. package/src/transport/mcp-handlers/logging-set-level-request.handler.d.ts +46 -0
  453. package/src/transport/mcp-handlers/logging-set-level-request.handler.js +34 -0
  454. package/src/transport/mcp-handlers/logging-set-level-request.handler.js.map +1 -0
  455. package/src/transport/mcp-handlers/mcp-handlers.types.d.ts +3 -7
  456. package/src/transport/mcp-handlers/mcp-handlers.types.js.map +1 -1
  457. package/src/transport/mcp-handlers/read-resource-request.handler.d.ts +46 -0
  458. package/src/transport/mcp-handlers/read-resource-request.handler.js +12 -0
  459. package/src/transport/mcp-handlers/read-resource-request.handler.js.map +1 -0
  460. package/src/transport/mcp-handlers/roots-list-changed-notification.handler.d.ts +11 -0
  461. package/src/transport/mcp-handlers/roots-list-changed-notification.handler.js +26 -0
  462. package/src/transport/mcp-handlers/roots-list-changed-notification.handler.js.map +1 -0
  463. package/src/transport/mcp-handlers/subscribe-request.handler.d.ts +37 -0
  464. package/src/transport/mcp-handlers/subscribe-request.handler.js +34 -0
  465. package/src/transport/mcp-handlers/subscribe-request.handler.js.map +1 -0
  466. package/src/transport/mcp-handlers/unsubscribe-request.handler.d.ts +37 -0
  467. package/src/transport/mcp-handlers/unsubscribe-request.handler.js +34 -0
  468. package/src/transport/mcp-handlers/unsubscribe-request.handler.js.map +1 -0
  469. package/src/transport/transport.local.js +7 -2
  470. package/src/transport/transport.local.js.map +1 -1
  471. package/src/transport/transport.registry.d.ts +30 -0
  472. package/src/transport/transport.registry.js +84 -1
  473. package/src/transport/transport.registry.js.map +1 -1
  474. package/src/transport/transport.types.d.ts +3 -3
  475. package/src/transport/transport.types.js.map +1 -1
  476. package/src/utils/content.utils.d.ts +48 -0
  477. package/src/utils/content.utils.js +194 -0
  478. package/src/utils/content.utils.js.map +1 -0
  479. package/src/utils/index.d.ts +8 -0
  480. package/src/utils/index.js +55 -0
  481. package/src/utils/index.js.map +1 -0
  482. package/src/utils/lineage.utils.d.ts +40 -0
  483. package/src/utils/lineage.utils.js +82 -0
  484. package/src/utils/lineage.utils.js.map +1 -0
  485. package/src/utils/naming.utils.d.ts +46 -0
  486. package/src/utils/naming.utils.js +136 -0
  487. package/src/utils/naming.utils.js.map +1 -0
  488. package/src/utils/types.utils.d.ts +2 -2
  489. package/src/utils/types.utils.js.map +1 -1
  490. package/src/utils/uri-template.utils.d.ts +57 -0
  491. package/src/utils/uri-template.utils.js +113 -0
  492. package/src/utils/uri-template.utils.js.map +1 -0
  493. package/src/utils/uri-validation.utils.d.ts +40 -0
  494. package/src/utils/uri-validation.utils.js +76 -0
  495. package/src/utils/uri-validation.utils.js.map +1 -0
  496. package/src/__test-utils__/fixtures/hook.fixtures.d.ts +0 -46
  497. package/src/__test-utils__/fixtures/hook.fixtures.js +0 -114
  498. package/src/__test-utils__/fixtures/hook.fixtures.js.map +0 -1
  499. package/src/__test-utils__/fixtures/index.d.ts +0 -7
  500. package/src/__test-utils__/fixtures/index.js +0 -11
  501. package/src/__test-utils__/fixtures/index.js.map +0 -1
  502. package/src/__test-utils__/fixtures/plugin.fixtures.d.ts +0 -46
  503. package/src/__test-utils__/fixtures/plugin.fixtures.js +0 -127
  504. package/src/__test-utils__/fixtures/plugin.fixtures.js.map +0 -1
  505. package/src/__test-utils__/fixtures/provider.fixtures.d.ts +0 -69
  506. package/src/__test-utils__/fixtures/provider.fixtures.js +0 -131
  507. package/src/__test-utils__/fixtures/provider.fixtures.js.map +0 -1
  508. package/src/__test-utils__/fixtures/scope.fixtures.d.ts +0 -14
  509. package/src/__test-utils__/fixtures/scope.fixtures.js +0 -59
  510. package/src/__test-utils__/fixtures/scope.fixtures.js.map +0 -1
  511. package/src/__test-utils__/fixtures/tool.fixtures.d.ts +0 -36
  512. package/src/__test-utils__/fixtures/tool.fixtures.js +0 -91
  513. package/src/__test-utils__/fixtures/tool.fixtures.js.map +0 -1
  514. package/src/__test-utils__/helpers/assertion.helpers.d.ts +0 -45
  515. package/src/__test-utils__/helpers/assertion.helpers.js +0 -153
  516. package/src/__test-utils__/helpers/assertion.helpers.js.map +0 -1
  517. package/src/__test-utils__/helpers/async.helpers.d.ts +0 -48
  518. package/src/__test-utils__/helpers/async.helpers.js +0 -112
  519. package/src/__test-utils__/helpers/async.helpers.js.map +0 -1
  520. package/src/__test-utils__/helpers/index.d.ts +0 -6
  521. package/src/__test-utils__/helpers/index.js +0 -10
  522. package/src/__test-utils__/helpers/index.js.map +0 -1
  523. package/src/__test-utils__/helpers/setup.helpers.d.ts +0 -54
  524. package/src/__test-utils__/helpers/setup.helpers.js +0 -106
  525. package/src/__test-utils__/helpers/setup.helpers.js.map +0 -1
  526. package/src/__test-utils__/index.d.ts +0 -9
  527. package/src/__test-utils__/index.js +0 -14
  528. package/src/__test-utils__/index.js.map +0 -1
  529. package/src/__test-utils__/mocks/flow-instance.mock.d.ts +0 -50
  530. package/src/__test-utils__/mocks/flow-instance.mock.js +0 -72
  531. package/src/__test-utils__/mocks/flow-instance.mock.js.map +0 -1
  532. package/src/__test-utils__/mocks/hook-registry.mock.d.ts +0 -25
  533. package/src/__test-utils__/mocks/hook-registry.mock.js +0 -65
  534. package/src/__test-utils__/mocks/hook-registry.mock.js.map +0 -1
  535. package/src/__test-utils__/mocks/index.d.ts +0 -8
  536. package/src/__test-utils__/mocks/index.js +0 -12
  537. package/src/__test-utils__/mocks/index.js.map +0 -1
  538. package/src/__test-utils__/mocks/plugin-registry.mock.d.ts +0 -43
  539. package/src/__test-utils__/mocks/plugin-registry.mock.js +0 -70
  540. package/src/__test-utils__/mocks/plugin-registry.mock.js.map +0 -1
  541. package/src/__test-utils__/mocks/provider-registry.mock.d.ts +0 -39
  542. package/src/__test-utils__/mocks/provider-registry.mock.js +0 -72
  543. package/src/__test-utils__/mocks/provider-registry.mock.js.map +0 -1
  544. package/src/__test-utils__/mocks/tool-registry.mock.d.ts +0 -43
  545. package/src/__test-utils__/mocks/tool-registry.mock.js +0 -79
  546. package/src/__test-utils__/mocks/tool-registry.mock.js.map +0 -1
  547. package/src/auth/path.utils.d.ts +0 -20
  548. package/src/auth/path.utils.js +0 -71
  549. package/src/auth/path.utils.js.map +0 -1
  550. package/src/common/decorators-old/async-with.decorator.d.ts +0 -10
  551. package/src/common/decorators-old/async-with.decorator.js +0 -24
  552. package/src/common/decorators-old/async-with.decorator.js.map +0 -1
  553. package/src/common/decorators-old/auth-hook.decorator.d.ts +0 -14
  554. package/src/common/decorators-old/auth-hook.decorator.js +0 -27
  555. package/src/common/decorators-old/auth-hook.decorator.js.map +0 -1
  556. package/src/common/decorators-old/session-hook.decorator.d.ts +0 -14
  557. package/src/common/decorators-old/session-hook.decorator.js +0 -27
  558. package/src/common/decorators-old/session-hook.decorator.js.map +0 -1
@@ -1,513 +1,1036 @@
1
1
  import { z } from 'zod';
2
- import { JSONWebKeySet, JWK } from '../auth';
3
- export type RemoteAuthOptions = {
4
- type: 'remote';
5
- /**
6
- * unique id for the provider
7
- */
8
- id?: string;
9
- /**
10
- * human-readable name for the provider
11
- */
12
- name: string;
13
- /**
14
- * base url of the provider
15
- * if the provider does not support dcr it will be used with local auth provider proxy
16
- * to register client dynamically you have to provide client id for the registration flow
17
- * @example https://my-company.frontegg.com
18
- */
19
- baseUrl: string;
20
- /**
21
- * enable dynamic client registration (DCR) flow, if your provider does not support DCR
22
- * you can set this to false and provide clientId for authorization flow, we will use local auth provider proxy
23
- * to register a dynamic client with the provided clientId or by called clientId function with client info
24
- * by default, the provider will use the registration endpoint to register the client dynamically
25
- */
26
- dcrEnabled?: boolean;
27
- /**
28
- * Only used if your auth provider does not support DCR.
29
- * for Dcr auth provider the client id acquired by the registration flow
30
- */
31
- clientId?: string | ((clientInfo: {
32
- clientId: string;
33
- }) => string);
34
- /**
35
- * Set default gateway oauth server mode, this will be overridden by discovery flow.
36
- * if set to transparent and the discovery flow detect orchestrated mode it will switch to orchestrated mode
37
- * @default 'transparent'
38
- */
39
- mode?: 'orchestrated' | 'transparent';
40
- /**
41
- * allow anonymous access to the provider
42
- * @default false - allowing anonymous access will make the provider to issue an orchestrated token
43
- */
44
- allowAnonymous?: boolean;
45
- /**
46
- * allow consent mode to select tools/resource/prompts after authorization
47
- * for scoped based access token
48
- * @default false - allowing anonymous access will make the provider to issue an orchestrated token
49
- */
50
- consent?: boolean;
51
- /**
52
- * scopes for the token endpoint
53
- * @default undefined - all scopes supported by th provider
54
- */
55
- scopes?: string[];
56
- /**
57
- * authorization provider supported grant types, currently only authorization_code and refresh_token are supported
58
- * @default undefined - default is what presented in the /.well-known/oauth-authorization-server
59
- */
60
- grantTypes?: ('authorization_code' | 'refresh_token')[];
61
- /**
62
- * authorization endpoint for the provider
63
- * @default undefined - default is what presented in the /.well-known/oauth-authorization-server
64
- */
65
- authEndpoint?: string;
66
- /**
67
- * token endpoint for the provider
68
- * @default undefined - default is what presented in the /.well-known/oauth-authorization-server
69
- */
70
- tokenEndpoint?: string;
71
- /**
72
- * registration endpoint for the provider (DCR)
73
- * @default undefined - default is what presented in the /.well-known/oauth-authorization-server
74
- */
75
- registrationEndpoint?: string;
76
- /**
77
- * user info endpoint for the provider
78
- * @default undefined - default is what presented in the /.well-known/oauth-authorization-server
79
- */
80
- userInfoEndpoint?: string;
81
- /**
82
- * Inline JWKS for the provider to verify tokens without automatic fetching
83
- * @default undefined - default is what presented in the /.well-known/jwks.json
84
- */
85
- jwks?: JSONWebKeySet;
86
- /**
87
- * jwks uri for the provider
88
- * @default undefined - default is what presented in the /.well-known/oauth-authorization-server
89
- */
90
- jwksUri?: string;
91
- };
92
- export declare const remoteAuthOptionsSchema: z.ZodObject<{
93
- type: z.ZodLiteral<"remote">;
2
+ import { JWK } from '../auth';
3
+ /**
4
+ * Public access configuration for tools/prompts
5
+ */
6
+ export declare const publicAccessConfigSchema: z.ZodObject<{
7
+ tools: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
8
+ prompts: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
9
+ rateLimit: z.ZodDefault<z.ZodNumber>;
10
+ }, z.core.$strip>;
11
+ /**
12
+ * Local signing configuration (for orchestrated local type)
13
+ */
14
+ export declare const localSigningConfigSchema: z.ZodObject<{
15
+ signKey: z.ZodOptional<z.ZodUnion<[z.ZodType<JWK, unknown, z.core.$ZodTypeInternals<JWK, unknown>>, z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>]>>;
16
+ jwks: z.ZodOptional<z.ZodObject<{
17
+ keys: z.ZodArray<z.ZodType<JWK, unknown, z.core.$ZodTypeInternals<JWK, unknown>>>;
18
+ }, z.core.$strip>>;
19
+ issuer: z.ZodOptional<z.ZodString>;
20
+ }, z.core.$strip>;
21
+ /**
22
+ * Remote OAuth provider configuration (for orchestrated remote and transparent)
23
+ */
24
+ export declare const remoteProviderConfigSchema: z.ZodObject<{
25
+ provider: z.ZodString;
26
+ name: z.ZodOptional<z.ZodString>;
94
27
  id: z.ZodOptional<z.ZodString>;
95
- name: z.ZodString;
96
- baseUrl: z.ZodString;
97
- dcrEnabled: z.ZodOptional<z.ZodBoolean>;
98
- clientId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodFunction<z.ZodTuple<[z.ZodObject<{
99
- clientId: z.ZodString;
100
- }, "strip", z.ZodTypeAny, {
101
- clientId: string;
102
- }, {
103
- clientId: string;
104
- }>], z.ZodUnknown>, z.ZodString>]>>;
105
- mode: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"orchestrated">, z.ZodLiteral<"transparent">]>>;
106
- allowAnonymous: z.ZodOptional<z.ZodBoolean>;
107
- consent: z.ZodOptional<z.ZodBoolean>;
108
28
  jwks: z.ZodOptional<z.ZodObject<{
109
- keys: z.ZodArray<z.ZodType<JWK, z.ZodTypeDef, JWK>, "many">;
110
- }, "strip", z.ZodTypeAny, {
111
- keys: JWK[];
112
- }, {
113
- keys: JWK[];
114
- }>>;
115
- scopes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
116
- grantTypes: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodLiteral<"authorization_code">, z.ZodLiteral<"refresh_token">]>, "many">>;
29
+ keys: z.ZodArray<z.ZodType<JWK, unknown, z.core.$ZodTypeInternals<JWK, unknown>>>;
30
+ }, z.core.$strip>>;
31
+ jwksUri: z.ZodOptional<z.ZodString>;
32
+ clientId: z.ZodOptional<z.ZodString>;
33
+ clientSecret: z.ZodOptional<z.ZodString>;
34
+ scopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
35
+ dcrEnabled: z.ZodDefault<z.ZodBoolean>;
117
36
  authEndpoint: z.ZodOptional<z.ZodString>;
118
37
  tokenEndpoint: z.ZodOptional<z.ZodString>;
119
38
  registrationEndpoint: z.ZodOptional<z.ZodString>;
120
39
  userInfoEndpoint: z.ZodOptional<z.ZodString>;
121
- jwksUri: z.ZodOptional<z.ZodString>;
122
- }, "strip", z.ZodTypeAny, {
123
- type: "remote";
124
- name: string;
125
- baseUrl: string;
126
- id?: string | undefined;
127
- dcrEnabled?: boolean | undefined;
128
- clientId?: string | ((args_0: {
129
- clientId: string;
130
- }, ...args: unknown[]) => string) | undefined;
131
- mode?: "orchestrated" | "transparent" | undefined;
132
- allowAnonymous?: boolean | undefined;
133
- consent?: boolean | undefined;
134
- scopes?: string[] | undefined;
135
- grantTypes?: ("authorization_code" | "refresh_token")[] | undefined;
136
- authEndpoint?: string | undefined;
137
- tokenEndpoint?: string | undefined;
138
- registrationEndpoint?: string | undefined;
139
- userInfoEndpoint?: string | undefined;
140
- jwks?: {
141
- keys: JWK[];
142
- } | undefined;
143
- jwksUri?: string | undefined;
144
- }, {
145
- type: "remote";
146
- name: string;
147
- baseUrl: string;
148
- id?: string | undefined;
149
- dcrEnabled?: boolean | undefined;
150
- clientId?: string | ((args_0: {
151
- clientId: string;
152
- }, ...args: unknown[]) => string) | undefined;
153
- mode?: "orchestrated" | "transparent" | undefined;
154
- allowAnonymous?: boolean | undefined;
155
- consent?: boolean | undefined;
156
- scopes?: string[] | undefined;
157
- grantTypes?: ("authorization_code" | "refresh_token")[] | undefined;
158
- authEndpoint?: string | undefined;
159
- tokenEndpoint?: string | undefined;
160
- registrationEndpoint?: string | undefined;
161
- userInfoEndpoint?: string | undefined;
162
- jwks?: {
163
- keys: JWK[];
164
- } | undefined;
165
- jwksUri?: string | undefined;
40
+ }, z.core.$strip>;
41
+ /**
42
+ * Token storage configuration for orchestrated mode
43
+ */
44
+ export declare const tokenStorageConfigSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
45
+ type: z.ZodLiteral<"memory">;
46
+ }, z.core.$strip>, z.ZodObject<{
47
+ type: z.ZodLiteral<"redis">;
48
+ config: z.ZodObject<{
49
+ host: z.ZodString;
50
+ port: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
51
+ password: z.ZodOptional<z.ZodString>;
52
+ db: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
53
+ tls: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
54
+ keyPrefix: z.ZodDefault<z.ZodOptional<z.ZodString>>;
55
+ }, z.core.$strip>;
56
+ }, z.core.$strip>], "type">;
57
+ /**
58
+ * Token refresh configuration
59
+ */
60
+ export declare const tokenRefreshConfigSchema: z.ZodObject<{
61
+ enabled: z.ZodDefault<z.ZodBoolean>;
62
+ skewSeconds: z.ZodDefault<z.ZodNumber>;
63
+ }, z.core.$strip>;
64
+ /**
65
+ * Behavior when a tool from a skipped (not yet authorized) app is called
66
+ */
67
+ export declare const skippedAppBehaviorSchema: z.ZodEnum<{
68
+ anonymous: "anonymous";
69
+ "require-auth": "require-auth";
166
70
  }>;
167
- export type LocalAuthOptions = {
168
- type: 'local';
169
- /**
170
- * unique id for the provider
171
- */
172
- id: string;
173
- /**
174
- * human-readable name for the provider
175
- */
176
- name: string;
177
- /**
178
- * scopes for the token endpoint
179
- * @default undefined - all scopes supported by th provider
180
- */
181
- scopes?: string[];
182
- /**
183
- * currently only authorization_code and refresh_token are supported
184
- * @default ['authorization_code', 'refresh_token']
185
- */
186
- grantTypes?: ('authorization_code' | 'refresh_token')[];
187
- /**
188
- * allow anonymous access to the provider
189
- * in this case the provider will act as an authorization server
190
- * @default true
191
- */
192
- allowAnonymous?: boolean;
193
- /**
194
- * allow consent mode to select tools/resource/prompts after authorization
195
- * for scoped based access token
196
- * @default false - allowing anonymous access will make the provider to issue an orchestrated token
197
- */
198
- consent?: boolean;
199
- /**
200
- * Inline JWKS for the provider to verify tokens for local provider
201
- * it will also used in /.well-known/jwks.json
202
- * @default undefined - default is auto generated keys and saved in the temp folder
203
- */
204
- jwks?: JSONWebKeySet;
205
- /**
206
- * private key signing tokens for local provider
207
- * @default undefined - default is auto generated keys and saved in the temp folder
208
- */
209
- signKey?: JWK | Uint8Array;
210
- };
211
- export declare const localAuthOptionsSchema: z.ZodObject<{
212
- type: z.ZodLiteral<"local">;
213
- id: z.ZodString;
214
- name: z.ZodString;
215
- scopes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
216
- grantTypes: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodLiteral<"authorization_code">, z.ZodLiteral<"refresh_token">]>, "many">>;
217
- allowAnonymous: z.ZodOptional<z.ZodBoolean>;
218
- consent: z.ZodOptional<z.ZodBoolean>;
71
+ /**
72
+ * Consent configuration for tool selection
73
+ * Allows users to choose which MCP tools to expose to the LLM
74
+ *
75
+ * Note: This schema is the canonical definition. It is duplicated in
76
+ * auth/consent/consent.types.ts for domain-specific use. Both schemas
77
+ * MUST be kept in sync. The duplication exists to avoid circular
78
+ * dependencies between common/ and auth/ modules.
79
+ */
80
+ export declare const consentConfigSchema: z.ZodObject<{
81
+ enabled: z.ZodDefault<z.ZodBoolean>;
82
+ groupByApp: z.ZodDefault<z.ZodBoolean>;
83
+ showDescriptions: z.ZodDefault<z.ZodBoolean>;
84
+ allowSelectAll: z.ZodDefault<z.ZodBoolean>;
85
+ requireSelection: z.ZodDefault<z.ZodBoolean>;
86
+ customMessage: z.ZodOptional<z.ZodString>;
87
+ rememberConsent: z.ZodDefault<z.ZodBoolean>;
88
+ excludedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
89
+ defaultSelectedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
90
+ }, z.core.$strip>;
91
+ /**
92
+ * Progressive/Incremental authorization configuration
93
+ * Allows users to authorize apps one at a time after initial auth
94
+ */
95
+ export declare const incrementalAuthConfigSchema: z.ZodObject<{
96
+ enabled: z.ZodDefault<z.ZodBoolean>;
97
+ skippedAppBehavior: z.ZodDefault<z.ZodEnum<{
98
+ anonymous: "anonymous";
99
+ "require-auth": "require-auth";
100
+ }>>;
101
+ allowSkip: z.ZodDefault<z.ZodBoolean>;
102
+ showAllAppsAtOnce: z.ZodDefault<z.ZodBoolean>;
103
+ }, z.core.$strip>;
104
+ /**
105
+ * Transport protocol configuration
106
+ * Controls which transport protocols are enabled and their behavior
107
+ */
108
+ export declare const transportConfigSchema: z.ZodObject<{
109
+ enableLegacySSE: z.ZodDefault<z.ZodBoolean>;
110
+ enableSseListener: z.ZodDefault<z.ZodBoolean>;
111
+ enableStreamableHttp: z.ZodDefault<z.ZodBoolean>;
112
+ enableStatelessHttp: z.ZodDefault<z.ZodBoolean>;
113
+ enableStatefulHttp: z.ZodDefault<z.ZodBoolean>;
114
+ requireSessionForStreamable: z.ZodDefault<z.ZodBoolean>;
115
+ }, z.core.$strip>;
116
+ export declare const publicAuthOptionsSchema: z.ZodObject<{
117
+ mode: z.ZodLiteral<"public">;
118
+ issuer: z.ZodOptional<z.ZodString>;
119
+ sessionTtl: z.ZodDefault<z.ZodNumber>;
120
+ anonymousScopes: z.ZodDefault<z.ZodArray<z.ZodString>>;
121
+ publicAccess: z.ZodOptional<z.ZodObject<{
122
+ tools: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
123
+ prompts: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
124
+ rateLimit: z.ZodDefault<z.ZodNumber>;
125
+ }, z.core.$strip>>;
219
126
  jwks: z.ZodOptional<z.ZodObject<{
220
- keys: z.ZodArray<z.ZodType<JWK, z.ZodTypeDef, JWK>, "many">;
221
- }, "strip", z.ZodTypeAny, {
222
- keys: JWK[];
223
- }, {
224
- keys: JWK[];
127
+ keys: z.ZodArray<z.ZodType<JWK, unknown, z.core.$ZodTypeInternals<JWK, unknown>>>;
128
+ }, z.core.$strip>>;
129
+ signKey: z.ZodOptional<z.ZodUnion<[z.ZodType<JWK, unknown, z.core.$ZodTypeInternals<JWK, unknown>>, z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>]>>;
130
+ transport: z.ZodOptional<z.ZodObject<{
131
+ enableLegacySSE: z.ZodDefault<z.ZodBoolean>;
132
+ enableSseListener: z.ZodDefault<z.ZodBoolean>;
133
+ enableStreamableHttp: z.ZodDefault<z.ZodBoolean>;
134
+ enableStatelessHttp: z.ZodDefault<z.ZodBoolean>;
135
+ enableStatefulHttp: z.ZodDefault<z.ZodBoolean>;
136
+ requireSessionForStreamable: z.ZodDefault<z.ZodBoolean>;
137
+ }, z.core.$strip>>;
138
+ }, z.core.$strip>;
139
+ export declare const transparentAuthOptionsSchema: z.ZodObject<{
140
+ mode: z.ZodLiteral<"transparent">;
141
+ remote: z.ZodObject<{
142
+ provider: z.ZodString;
143
+ name: z.ZodOptional<z.ZodString>;
144
+ id: z.ZodOptional<z.ZodString>;
145
+ jwks: z.ZodOptional<z.ZodObject<{
146
+ keys: z.ZodArray<z.ZodType<JWK, unknown, z.core.$ZodTypeInternals<JWK, unknown>>>;
147
+ }, z.core.$strip>>;
148
+ jwksUri: z.ZodOptional<z.ZodString>;
149
+ clientId: z.ZodOptional<z.ZodString>;
150
+ clientSecret: z.ZodOptional<z.ZodString>;
151
+ scopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
152
+ dcrEnabled: z.ZodDefault<z.ZodBoolean>;
153
+ authEndpoint: z.ZodOptional<z.ZodString>;
154
+ tokenEndpoint: z.ZodOptional<z.ZodString>;
155
+ registrationEndpoint: z.ZodOptional<z.ZodString>;
156
+ userInfoEndpoint: z.ZodOptional<z.ZodString>;
157
+ }, z.core.$strip>;
158
+ expectedAudience: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
159
+ requiredScopes: z.ZodDefault<z.ZodArray<z.ZodString>>;
160
+ allowAnonymous: z.ZodDefault<z.ZodBoolean>;
161
+ anonymousScopes: z.ZodDefault<z.ZodArray<z.ZodString>>;
162
+ publicAccess: z.ZodOptional<z.ZodObject<{
163
+ tools: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
164
+ prompts: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
165
+ rateLimit: z.ZodDefault<z.ZodNumber>;
166
+ }, z.core.$strip>>;
167
+ transport: z.ZodOptional<z.ZodObject<{
168
+ enableLegacySSE: z.ZodDefault<z.ZodBoolean>;
169
+ enableSseListener: z.ZodDefault<z.ZodBoolean>;
170
+ enableStreamableHttp: z.ZodDefault<z.ZodBoolean>;
171
+ enableStatelessHttp: z.ZodDefault<z.ZodBoolean>;
172
+ enableStatefulHttp: z.ZodDefault<z.ZodBoolean>;
173
+ requireSessionForStreamable: z.ZodDefault<z.ZodBoolean>;
174
+ }, z.core.$strip>>;
175
+ }, z.core.$strip>;
176
+ /**
177
+ * Orchestrated mode with local authentication only
178
+ */
179
+ export declare const orchestratedLocalSchema: z.ZodObject<{
180
+ mode: z.ZodLiteral<"orchestrated">;
181
+ type: z.ZodLiteral<"local">;
182
+ local: z.ZodOptional<z.ZodObject<{
183
+ signKey: z.ZodOptional<z.ZodUnion<[z.ZodType<JWK, unknown, z.core.$ZodTypeInternals<JWK, unknown>>, z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>]>>;
184
+ jwks: z.ZodOptional<z.ZodObject<{
185
+ keys: z.ZodArray<z.ZodType<JWK, unknown, z.core.$ZodTypeInternals<JWK, unknown>>>;
186
+ }, z.core.$strip>>;
187
+ issuer: z.ZodOptional<z.ZodString>;
188
+ }, z.core.$strip>>;
189
+ tokenStorage: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
190
+ type: z.ZodLiteral<"memory">;
191
+ }, z.core.$strip>, z.ZodObject<{
192
+ type: z.ZodLiteral<"redis">;
193
+ config: z.ZodObject<{
194
+ host: z.ZodString;
195
+ port: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
196
+ password: z.ZodOptional<z.ZodString>;
197
+ db: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
198
+ tls: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
199
+ keyPrefix: z.ZodDefault<z.ZodOptional<z.ZodString>>;
200
+ }, z.core.$strip>;
201
+ }, z.core.$strip>], "type">>;
202
+ sessionMode: z.ZodDefault<z.ZodEnum<{
203
+ stateful: "stateful";
204
+ stateless: "stateless";
225
205
  }>>;
226
- signKey: z.ZodOptional<z.ZodUnion<[z.ZodType<JWK, z.ZodTypeDef, JWK>, z.ZodType<Uint8Array<ArrayBuffer>, z.ZodTypeDef, Uint8Array<ArrayBuffer>>]>>;
227
- }, "strip", z.ZodTypeAny, {
228
- type: "local";
229
- id: string;
230
- name: string;
231
- allowAnonymous?: boolean | undefined;
232
- consent?: boolean | undefined;
233
- scopes?: string[] | undefined;
234
- grantTypes?: ("authorization_code" | "refresh_token")[] | undefined;
235
- jwks?: {
236
- keys: JWK[];
237
- } | undefined;
238
- signKey?: JWK | Uint8Array<ArrayBuffer> | undefined;
239
- }, {
240
- type: "local";
241
- id: string;
242
- name: string;
243
- allowAnonymous?: boolean | undefined;
244
- consent?: boolean | undefined;
245
- scopes?: string[] | undefined;
246
- grantTypes?: ("authorization_code" | "refresh_token")[] | undefined;
247
- jwks?: {
248
- keys: JWK[];
249
- } | undefined;
250
- signKey?: JWK | Uint8Array<ArrayBuffer> | undefined;
251
- }>;
252
- export declare const authOptionsSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
206
+ allowDefaultPublic: z.ZodDefault<z.ZodBoolean>;
207
+ anonymousScopes: z.ZodDefault<z.ZodArray<z.ZodString>>;
208
+ publicAccess: z.ZodOptional<z.ZodObject<{
209
+ tools: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
210
+ prompts: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
211
+ rateLimit: z.ZodDefault<z.ZodNumber>;
212
+ }, z.core.$strip>>;
213
+ consent: z.ZodOptional<z.ZodObject<{
214
+ enabled: z.ZodDefault<z.ZodBoolean>;
215
+ groupByApp: z.ZodDefault<z.ZodBoolean>;
216
+ showDescriptions: z.ZodDefault<z.ZodBoolean>;
217
+ allowSelectAll: z.ZodDefault<z.ZodBoolean>;
218
+ requireSelection: z.ZodDefault<z.ZodBoolean>;
219
+ customMessage: z.ZodOptional<z.ZodString>;
220
+ rememberConsent: z.ZodDefault<z.ZodBoolean>;
221
+ excludedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
222
+ defaultSelectedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
223
+ }, z.core.$strip>>;
224
+ refresh: z.ZodOptional<z.ZodObject<{
225
+ enabled: z.ZodDefault<z.ZodBoolean>;
226
+ skewSeconds: z.ZodDefault<z.ZodNumber>;
227
+ }, z.core.$strip>>;
228
+ expectedAudience: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
229
+ incrementalAuth: z.ZodOptional<z.ZodObject<{
230
+ enabled: z.ZodDefault<z.ZodBoolean>;
231
+ skippedAppBehavior: z.ZodDefault<z.ZodEnum<{
232
+ anonymous: "anonymous";
233
+ "require-auth": "require-auth";
234
+ }>>;
235
+ allowSkip: z.ZodDefault<z.ZodBoolean>;
236
+ showAllAppsAtOnce: z.ZodDefault<z.ZodBoolean>;
237
+ }, z.core.$strip>>;
238
+ transport: z.ZodOptional<z.ZodObject<{
239
+ enableLegacySSE: z.ZodDefault<z.ZodBoolean>;
240
+ enableSseListener: z.ZodDefault<z.ZodBoolean>;
241
+ enableStreamableHttp: z.ZodDefault<z.ZodBoolean>;
242
+ enableStatelessHttp: z.ZodDefault<z.ZodBoolean>;
243
+ enableStatefulHttp: z.ZodDefault<z.ZodBoolean>;
244
+ requireSessionForStreamable: z.ZodDefault<z.ZodBoolean>;
245
+ }, z.core.$strip>>;
246
+ }, z.core.$strip>;
247
+ /**
248
+ * Orchestrated mode with remote OAuth provider
249
+ */
250
+ export declare const orchestratedRemoteSchema: z.ZodObject<{
251
+ mode: z.ZodLiteral<"orchestrated">;
253
252
  type: z.ZodLiteral<"remote">;
254
- id: z.ZodOptional<z.ZodString>;
255
- name: z.ZodString;
256
- baseUrl: z.ZodString;
257
- dcrEnabled: z.ZodOptional<z.ZodBoolean>;
258
- clientId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodFunction<z.ZodTuple<[z.ZodObject<{
259
- clientId: z.ZodString;
260
- }, "strip", z.ZodTypeAny, {
261
- clientId: string;
262
- }, {
263
- clientId: string;
264
- }>], z.ZodUnknown>, z.ZodString>]>>;
265
- mode: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"orchestrated">, z.ZodLiteral<"transparent">]>>;
266
- allowAnonymous: z.ZodOptional<z.ZodBoolean>;
267
- consent: z.ZodOptional<z.ZodBoolean>;
268
- jwks: z.ZodOptional<z.ZodObject<{
269
- keys: z.ZodArray<z.ZodType<JWK, z.ZodTypeDef, JWK>, "many">;
270
- }, "strip", z.ZodTypeAny, {
271
- keys: JWK[];
272
- }, {
273
- keys: JWK[];
253
+ remote: z.ZodObject<{
254
+ provider: z.ZodString;
255
+ name: z.ZodOptional<z.ZodString>;
256
+ id: z.ZodOptional<z.ZodString>;
257
+ jwks: z.ZodOptional<z.ZodObject<{
258
+ keys: z.ZodArray<z.ZodType<JWK, unknown, z.core.$ZodTypeInternals<JWK, unknown>>>;
259
+ }, z.core.$strip>>;
260
+ jwksUri: z.ZodOptional<z.ZodString>;
261
+ clientId: z.ZodOptional<z.ZodString>;
262
+ clientSecret: z.ZodOptional<z.ZodString>;
263
+ scopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
264
+ dcrEnabled: z.ZodDefault<z.ZodBoolean>;
265
+ authEndpoint: z.ZodOptional<z.ZodString>;
266
+ tokenEndpoint: z.ZodOptional<z.ZodString>;
267
+ registrationEndpoint: z.ZodOptional<z.ZodString>;
268
+ userInfoEndpoint: z.ZodOptional<z.ZodString>;
269
+ }, z.core.$strip>;
270
+ local: z.ZodOptional<z.ZodObject<{
271
+ signKey: z.ZodOptional<z.ZodUnion<[z.ZodType<JWK, unknown, z.core.$ZodTypeInternals<JWK, unknown>>, z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>]>>;
272
+ jwks: z.ZodOptional<z.ZodObject<{
273
+ keys: z.ZodArray<z.ZodType<JWK, unknown, z.core.$ZodTypeInternals<JWK, unknown>>>;
274
+ }, z.core.$strip>>;
275
+ issuer: z.ZodOptional<z.ZodString>;
276
+ }, z.core.$strip>>;
277
+ tokenStorage: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
278
+ type: z.ZodLiteral<"memory">;
279
+ }, z.core.$strip>, z.ZodObject<{
280
+ type: z.ZodLiteral<"redis">;
281
+ config: z.ZodObject<{
282
+ host: z.ZodString;
283
+ port: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
284
+ password: z.ZodOptional<z.ZodString>;
285
+ db: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
286
+ tls: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
287
+ keyPrefix: z.ZodDefault<z.ZodOptional<z.ZodString>>;
288
+ }, z.core.$strip>;
289
+ }, z.core.$strip>], "type">>;
290
+ sessionMode: z.ZodDefault<z.ZodEnum<{
291
+ stateful: "stateful";
292
+ stateless: "stateless";
274
293
  }>>;
275
- scopes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
276
- grantTypes: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodLiteral<"authorization_code">, z.ZodLiteral<"refresh_token">]>, "many">>;
277
- authEndpoint: z.ZodOptional<z.ZodString>;
278
- tokenEndpoint: z.ZodOptional<z.ZodString>;
279
- registrationEndpoint: z.ZodOptional<z.ZodString>;
280
- userInfoEndpoint: z.ZodOptional<z.ZodString>;
281
- jwksUri: z.ZodOptional<z.ZodString>;
282
- }, "strip", z.ZodTypeAny, {
283
- type: "remote";
284
- name: string;
285
- baseUrl: string;
286
- id?: string | undefined;
287
- dcrEnabled?: boolean | undefined;
288
- clientId?: string | ((args_0: {
289
- clientId: string;
290
- }, ...args: unknown[]) => string) | undefined;
291
- mode?: "orchestrated" | "transparent" | undefined;
292
- allowAnonymous?: boolean | undefined;
293
- consent?: boolean | undefined;
294
- scopes?: string[] | undefined;
295
- grantTypes?: ("authorization_code" | "refresh_token")[] | undefined;
296
- authEndpoint?: string | undefined;
297
- tokenEndpoint?: string | undefined;
298
- registrationEndpoint?: string | undefined;
299
- userInfoEndpoint?: string | undefined;
300
- jwks?: {
301
- keys: JWK[];
302
- } | undefined;
303
- jwksUri?: string | undefined;
304
- }, {
305
- type: "remote";
306
- name: string;
307
- baseUrl: string;
308
- id?: string | undefined;
309
- dcrEnabled?: boolean | undefined;
310
- clientId?: string | ((args_0: {
311
- clientId: string;
312
- }, ...args: unknown[]) => string) | undefined;
313
- mode?: "orchestrated" | "transparent" | undefined;
314
- allowAnonymous?: boolean | undefined;
315
- consent?: boolean | undefined;
316
- scopes?: string[] | undefined;
317
- grantTypes?: ("authorization_code" | "refresh_token")[] | undefined;
318
- authEndpoint?: string | undefined;
319
- tokenEndpoint?: string | undefined;
320
- registrationEndpoint?: string | undefined;
321
- userInfoEndpoint?: string | undefined;
322
- jwks?: {
323
- keys: JWK[];
324
- } | undefined;
325
- jwksUri?: string | undefined;
326
- }>, z.ZodObject<{
294
+ allowDefaultPublic: z.ZodDefault<z.ZodBoolean>;
295
+ anonymousScopes: z.ZodDefault<z.ZodArray<z.ZodString>>;
296
+ publicAccess: z.ZodOptional<z.ZodObject<{
297
+ tools: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
298
+ prompts: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
299
+ rateLimit: z.ZodDefault<z.ZodNumber>;
300
+ }, z.core.$strip>>;
301
+ consent: z.ZodOptional<z.ZodObject<{
302
+ enabled: z.ZodDefault<z.ZodBoolean>;
303
+ groupByApp: z.ZodDefault<z.ZodBoolean>;
304
+ showDescriptions: z.ZodDefault<z.ZodBoolean>;
305
+ allowSelectAll: z.ZodDefault<z.ZodBoolean>;
306
+ requireSelection: z.ZodDefault<z.ZodBoolean>;
307
+ customMessage: z.ZodOptional<z.ZodString>;
308
+ rememberConsent: z.ZodDefault<z.ZodBoolean>;
309
+ excludedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
310
+ defaultSelectedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
311
+ }, z.core.$strip>>;
312
+ refresh: z.ZodOptional<z.ZodObject<{
313
+ enabled: z.ZodDefault<z.ZodBoolean>;
314
+ skewSeconds: z.ZodDefault<z.ZodNumber>;
315
+ }, z.core.$strip>>;
316
+ expectedAudience: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
317
+ incrementalAuth: z.ZodOptional<z.ZodObject<{
318
+ enabled: z.ZodDefault<z.ZodBoolean>;
319
+ skippedAppBehavior: z.ZodDefault<z.ZodEnum<{
320
+ anonymous: "anonymous";
321
+ "require-auth": "require-auth";
322
+ }>>;
323
+ allowSkip: z.ZodDefault<z.ZodBoolean>;
324
+ showAllAppsAtOnce: z.ZodDefault<z.ZodBoolean>;
325
+ }, z.core.$strip>>;
326
+ transport: z.ZodOptional<z.ZodObject<{
327
+ enableLegacySSE: z.ZodDefault<z.ZodBoolean>;
328
+ enableSseListener: z.ZodDefault<z.ZodBoolean>;
329
+ enableStreamableHttp: z.ZodDefault<z.ZodBoolean>;
330
+ enableStatelessHttp: z.ZodDefault<z.ZodBoolean>;
331
+ enableStatefulHttp: z.ZodDefault<z.ZodBoolean>;
332
+ requireSessionForStreamable: z.ZodDefault<z.ZodBoolean>;
333
+ }, z.core.$strip>>;
334
+ }, z.core.$strip>;
335
+ export declare const orchestratedAuthOptionsSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
336
+ mode: z.ZodLiteral<"orchestrated">;
327
337
  type: z.ZodLiteral<"local">;
328
- id: z.ZodString;
329
- name: z.ZodString;
330
- scopes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
331
- grantTypes: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodLiteral<"authorization_code">, z.ZodLiteral<"refresh_token">]>, "many">>;
332
- allowAnonymous: z.ZodOptional<z.ZodBoolean>;
333
- consent: z.ZodOptional<z.ZodBoolean>;
334
- jwks: z.ZodOptional<z.ZodObject<{
335
- keys: z.ZodArray<z.ZodType<JWK, z.ZodTypeDef, JWK>, "many">;
336
- }, "strip", z.ZodTypeAny, {
337
- keys: JWK[];
338
- }, {
339
- keys: JWK[];
338
+ local: z.ZodOptional<z.ZodObject<{
339
+ signKey: z.ZodOptional<z.ZodUnion<[z.ZodType<JWK, unknown, z.core.$ZodTypeInternals<JWK, unknown>>, z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>]>>;
340
+ jwks: z.ZodOptional<z.ZodObject<{
341
+ keys: z.ZodArray<z.ZodType<JWK, unknown, z.core.$ZodTypeInternals<JWK, unknown>>>;
342
+ }, z.core.$strip>>;
343
+ issuer: z.ZodOptional<z.ZodString>;
344
+ }, z.core.$strip>>;
345
+ tokenStorage: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
346
+ type: z.ZodLiteral<"memory">;
347
+ }, z.core.$strip>, z.ZodObject<{
348
+ type: z.ZodLiteral<"redis">;
349
+ config: z.ZodObject<{
350
+ host: z.ZodString;
351
+ port: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
352
+ password: z.ZodOptional<z.ZodString>;
353
+ db: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
354
+ tls: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
355
+ keyPrefix: z.ZodDefault<z.ZodOptional<z.ZodString>>;
356
+ }, z.core.$strip>;
357
+ }, z.core.$strip>], "type">>;
358
+ sessionMode: z.ZodDefault<z.ZodEnum<{
359
+ stateful: "stateful";
360
+ stateless: "stateless";
340
361
  }>>;
341
- signKey: z.ZodOptional<z.ZodUnion<[z.ZodType<JWK, z.ZodTypeDef, JWK>, z.ZodType<Uint8Array<ArrayBuffer>, z.ZodTypeDef, Uint8Array<ArrayBuffer>>]>>;
342
- }, "strip", z.ZodTypeAny, {
343
- type: "local";
344
- id: string;
345
- name: string;
346
- allowAnonymous?: boolean | undefined;
347
- consent?: boolean | undefined;
348
- scopes?: string[] | undefined;
349
- grantTypes?: ("authorization_code" | "refresh_token")[] | undefined;
350
- jwks?: {
351
- keys: JWK[];
352
- } | undefined;
353
- signKey?: JWK | Uint8Array<ArrayBuffer> | undefined;
354
- }, {
355
- type: "local";
356
- id: string;
357
- name: string;
358
- allowAnonymous?: boolean | undefined;
359
- consent?: boolean | undefined;
360
- scopes?: string[] | undefined;
361
- grantTypes?: ("authorization_code" | "refresh_token")[] | undefined;
362
- jwks?: {
363
- keys: JWK[];
364
- } | undefined;
365
- signKey?: JWK | Uint8Array<ArrayBuffer> | undefined;
366
- }>]>;
367
- export type AuthOptions = RemoteAuthOptions | LocalAuthOptions;
368
- type StandaloneOption = {
369
- /**
370
- * if the provider is standalone or not, if standalone it will register an oauth service provider
371
- * on app's entry path, if not standalone it will be registered as a child provider
372
- * under the root provider
373
- * @default false
374
- */
375
- standalone?: boolean;
376
- /**
377
- * if the provider should be excluded from the parent provider's discovery
378
- * this used for standalone providers
379
- * @default false
380
- */
381
- excludeFromParent?: boolean;
382
- };
383
- export declare const appAuthOptionsSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
362
+ allowDefaultPublic: z.ZodDefault<z.ZodBoolean>;
363
+ anonymousScopes: z.ZodDefault<z.ZodArray<z.ZodString>>;
364
+ publicAccess: z.ZodOptional<z.ZodObject<{
365
+ tools: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
366
+ prompts: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
367
+ rateLimit: z.ZodDefault<z.ZodNumber>;
368
+ }, z.core.$strip>>;
369
+ consent: z.ZodOptional<z.ZodObject<{
370
+ enabled: z.ZodDefault<z.ZodBoolean>;
371
+ groupByApp: z.ZodDefault<z.ZodBoolean>;
372
+ showDescriptions: z.ZodDefault<z.ZodBoolean>;
373
+ allowSelectAll: z.ZodDefault<z.ZodBoolean>;
374
+ requireSelection: z.ZodDefault<z.ZodBoolean>;
375
+ customMessage: z.ZodOptional<z.ZodString>;
376
+ rememberConsent: z.ZodDefault<z.ZodBoolean>;
377
+ excludedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
378
+ defaultSelectedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
379
+ }, z.core.$strip>>;
380
+ refresh: z.ZodOptional<z.ZodObject<{
381
+ enabled: z.ZodDefault<z.ZodBoolean>;
382
+ skewSeconds: z.ZodDefault<z.ZodNumber>;
383
+ }, z.core.$strip>>;
384
+ expectedAudience: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
385
+ incrementalAuth: z.ZodOptional<z.ZodObject<{
386
+ enabled: z.ZodDefault<z.ZodBoolean>;
387
+ skippedAppBehavior: z.ZodDefault<z.ZodEnum<{
388
+ anonymous: "anonymous";
389
+ "require-auth": "require-auth";
390
+ }>>;
391
+ allowSkip: z.ZodDefault<z.ZodBoolean>;
392
+ showAllAppsAtOnce: z.ZodDefault<z.ZodBoolean>;
393
+ }, z.core.$strip>>;
394
+ transport: z.ZodOptional<z.ZodObject<{
395
+ enableLegacySSE: z.ZodDefault<z.ZodBoolean>;
396
+ enableSseListener: z.ZodDefault<z.ZodBoolean>;
397
+ enableStreamableHttp: z.ZodDefault<z.ZodBoolean>;
398
+ enableStatelessHttp: z.ZodDefault<z.ZodBoolean>;
399
+ enableStatefulHttp: z.ZodDefault<z.ZodBoolean>;
400
+ requireSessionForStreamable: z.ZodDefault<z.ZodBoolean>;
401
+ }, z.core.$strip>>;
402
+ }, z.core.$strip>, z.ZodObject<{
403
+ mode: z.ZodLiteral<"orchestrated">;
384
404
  type: z.ZodLiteral<"remote">;
385
- id: z.ZodOptional<z.ZodString>;
386
- name: z.ZodString;
387
- baseUrl: z.ZodString;
388
- dcrEnabled: z.ZodOptional<z.ZodBoolean>;
389
- clientId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodFunction<z.ZodTuple<[z.ZodObject<{
390
- clientId: z.ZodString;
391
- }, "strip", z.ZodTypeAny, {
392
- clientId: string;
393
- }, {
394
- clientId: string;
395
- }>], z.ZodUnknown>, z.ZodString>]>>;
396
- mode: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"orchestrated">, z.ZodLiteral<"transparent">]>>;
397
- allowAnonymous: z.ZodOptional<z.ZodBoolean>;
398
- consent: z.ZodOptional<z.ZodBoolean>;
405
+ remote: z.ZodObject<{
406
+ provider: z.ZodString;
407
+ name: z.ZodOptional<z.ZodString>;
408
+ id: z.ZodOptional<z.ZodString>;
409
+ jwks: z.ZodOptional<z.ZodObject<{
410
+ keys: z.ZodArray<z.ZodType<JWK, unknown, z.core.$ZodTypeInternals<JWK, unknown>>>;
411
+ }, z.core.$strip>>;
412
+ jwksUri: z.ZodOptional<z.ZodString>;
413
+ clientId: z.ZodOptional<z.ZodString>;
414
+ clientSecret: z.ZodOptional<z.ZodString>;
415
+ scopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
416
+ dcrEnabled: z.ZodDefault<z.ZodBoolean>;
417
+ authEndpoint: z.ZodOptional<z.ZodString>;
418
+ tokenEndpoint: z.ZodOptional<z.ZodString>;
419
+ registrationEndpoint: z.ZodOptional<z.ZodString>;
420
+ userInfoEndpoint: z.ZodOptional<z.ZodString>;
421
+ }, z.core.$strip>;
422
+ local: z.ZodOptional<z.ZodObject<{
423
+ signKey: z.ZodOptional<z.ZodUnion<[z.ZodType<JWK, unknown, z.core.$ZodTypeInternals<JWK, unknown>>, z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>]>>;
424
+ jwks: z.ZodOptional<z.ZodObject<{
425
+ keys: z.ZodArray<z.ZodType<JWK, unknown, z.core.$ZodTypeInternals<JWK, unknown>>>;
426
+ }, z.core.$strip>>;
427
+ issuer: z.ZodOptional<z.ZodString>;
428
+ }, z.core.$strip>>;
429
+ tokenStorage: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
430
+ type: z.ZodLiteral<"memory">;
431
+ }, z.core.$strip>, z.ZodObject<{
432
+ type: z.ZodLiteral<"redis">;
433
+ config: z.ZodObject<{
434
+ host: z.ZodString;
435
+ port: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
436
+ password: z.ZodOptional<z.ZodString>;
437
+ db: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
438
+ tls: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
439
+ keyPrefix: z.ZodDefault<z.ZodOptional<z.ZodString>>;
440
+ }, z.core.$strip>;
441
+ }, z.core.$strip>], "type">>;
442
+ sessionMode: z.ZodDefault<z.ZodEnum<{
443
+ stateful: "stateful";
444
+ stateless: "stateless";
445
+ }>>;
446
+ allowDefaultPublic: z.ZodDefault<z.ZodBoolean>;
447
+ anonymousScopes: z.ZodDefault<z.ZodArray<z.ZodString>>;
448
+ publicAccess: z.ZodOptional<z.ZodObject<{
449
+ tools: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
450
+ prompts: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
451
+ rateLimit: z.ZodDefault<z.ZodNumber>;
452
+ }, z.core.$strip>>;
453
+ consent: z.ZodOptional<z.ZodObject<{
454
+ enabled: z.ZodDefault<z.ZodBoolean>;
455
+ groupByApp: z.ZodDefault<z.ZodBoolean>;
456
+ showDescriptions: z.ZodDefault<z.ZodBoolean>;
457
+ allowSelectAll: z.ZodDefault<z.ZodBoolean>;
458
+ requireSelection: z.ZodDefault<z.ZodBoolean>;
459
+ customMessage: z.ZodOptional<z.ZodString>;
460
+ rememberConsent: z.ZodDefault<z.ZodBoolean>;
461
+ excludedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
462
+ defaultSelectedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
463
+ }, z.core.$strip>>;
464
+ refresh: z.ZodOptional<z.ZodObject<{
465
+ enabled: z.ZodDefault<z.ZodBoolean>;
466
+ skewSeconds: z.ZodDefault<z.ZodNumber>;
467
+ }, z.core.$strip>>;
468
+ expectedAudience: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
469
+ incrementalAuth: z.ZodOptional<z.ZodObject<{
470
+ enabled: z.ZodDefault<z.ZodBoolean>;
471
+ skippedAppBehavior: z.ZodDefault<z.ZodEnum<{
472
+ anonymous: "anonymous";
473
+ "require-auth": "require-auth";
474
+ }>>;
475
+ allowSkip: z.ZodDefault<z.ZodBoolean>;
476
+ showAllAppsAtOnce: z.ZodDefault<z.ZodBoolean>;
477
+ }, z.core.$strip>>;
478
+ transport: z.ZodOptional<z.ZodObject<{
479
+ enableLegacySSE: z.ZodDefault<z.ZodBoolean>;
480
+ enableSseListener: z.ZodDefault<z.ZodBoolean>;
481
+ enableStreamableHttp: z.ZodDefault<z.ZodBoolean>;
482
+ enableStatelessHttp: z.ZodDefault<z.ZodBoolean>;
483
+ enableStatefulHttp: z.ZodDefault<z.ZodBoolean>;
484
+ requireSessionForStreamable: z.ZodDefault<z.ZodBoolean>;
485
+ }, z.core.$strip>>;
486
+ }, z.core.$strip>], "type">;
487
+ /**
488
+ * Main auth options schema - discriminated by 'mode'
489
+ *
490
+ * Uses z.union because we have nested discriminators (orchestrated has 'type')
491
+ */
492
+ export declare const authOptionsSchema: z.ZodUnion<readonly [z.ZodObject<{
493
+ mode: z.ZodLiteral<"public">;
494
+ issuer: z.ZodOptional<z.ZodString>;
495
+ sessionTtl: z.ZodDefault<z.ZodNumber>;
496
+ anonymousScopes: z.ZodDefault<z.ZodArray<z.ZodString>>;
497
+ publicAccess: z.ZodOptional<z.ZodObject<{
498
+ tools: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
499
+ prompts: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
500
+ rateLimit: z.ZodDefault<z.ZodNumber>;
501
+ }, z.core.$strip>>;
399
502
  jwks: z.ZodOptional<z.ZodObject<{
400
- keys: z.ZodArray<z.ZodType<JWK, z.ZodTypeDef, JWK>, "many">;
401
- }, "strip", z.ZodTypeAny, {
402
- keys: JWK[];
403
- }, {
404
- keys: JWK[];
503
+ keys: z.ZodArray<z.ZodType<JWK, unknown, z.core.$ZodTypeInternals<JWK, unknown>>>;
504
+ }, z.core.$strip>>;
505
+ signKey: z.ZodOptional<z.ZodUnion<[z.ZodType<JWK, unknown, z.core.$ZodTypeInternals<JWK, unknown>>, z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>]>>;
506
+ transport: z.ZodOptional<z.ZodObject<{
507
+ enableLegacySSE: z.ZodDefault<z.ZodBoolean>;
508
+ enableSseListener: z.ZodDefault<z.ZodBoolean>;
509
+ enableStreamableHttp: z.ZodDefault<z.ZodBoolean>;
510
+ enableStatelessHttp: z.ZodDefault<z.ZodBoolean>;
511
+ enableStatefulHttp: z.ZodDefault<z.ZodBoolean>;
512
+ requireSessionForStreamable: z.ZodDefault<z.ZodBoolean>;
513
+ }, z.core.$strip>>;
514
+ }, z.core.$strip>, z.ZodObject<{
515
+ mode: z.ZodLiteral<"transparent">;
516
+ remote: z.ZodObject<{
517
+ provider: z.ZodString;
518
+ name: z.ZodOptional<z.ZodString>;
519
+ id: z.ZodOptional<z.ZodString>;
520
+ jwks: z.ZodOptional<z.ZodObject<{
521
+ keys: z.ZodArray<z.ZodType<JWK, unknown, z.core.$ZodTypeInternals<JWK, unknown>>>;
522
+ }, z.core.$strip>>;
523
+ jwksUri: z.ZodOptional<z.ZodString>;
524
+ clientId: z.ZodOptional<z.ZodString>;
525
+ clientSecret: z.ZodOptional<z.ZodString>;
526
+ scopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
527
+ dcrEnabled: z.ZodDefault<z.ZodBoolean>;
528
+ authEndpoint: z.ZodOptional<z.ZodString>;
529
+ tokenEndpoint: z.ZodOptional<z.ZodString>;
530
+ registrationEndpoint: z.ZodOptional<z.ZodString>;
531
+ userInfoEndpoint: z.ZodOptional<z.ZodString>;
532
+ }, z.core.$strip>;
533
+ expectedAudience: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
534
+ requiredScopes: z.ZodDefault<z.ZodArray<z.ZodString>>;
535
+ allowAnonymous: z.ZodDefault<z.ZodBoolean>;
536
+ anonymousScopes: z.ZodDefault<z.ZodArray<z.ZodString>>;
537
+ publicAccess: z.ZodOptional<z.ZodObject<{
538
+ tools: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
539
+ prompts: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
540
+ rateLimit: z.ZodDefault<z.ZodNumber>;
541
+ }, z.core.$strip>>;
542
+ transport: z.ZodOptional<z.ZodObject<{
543
+ enableLegacySSE: z.ZodDefault<z.ZodBoolean>;
544
+ enableSseListener: z.ZodDefault<z.ZodBoolean>;
545
+ enableStreamableHttp: z.ZodDefault<z.ZodBoolean>;
546
+ enableStatelessHttp: z.ZodDefault<z.ZodBoolean>;
547
+ enableStatefulHttp: z.ZodDefault<z.ZodBoolean>;
548
+ requireSessionForStreamable: z.ZodDefault<z.ZodBoolean>;
549
+ }, z.core.$strip>>;
550
+ }, z.core.$strip>, z.ZodObject<{
551
+ mode: z.ZodLiteral<"orchestrated">;
552
+ type: z.ZodLiteral<"local">;
553
+ local: z.ZodOptional<z.ZodObject<{
554
+ signKey: z.ZodOptional<z.ZodUnion<[z.ZodType<JWK, unknown, z.core.$ZodTypeInternals<JWK, unknown>>, z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>]>>;
555
+ jwks: z.ZodOptional<z.ZodObject<{
556
+ keys: z.ZodArray<z.ZodType<JWK, unknown, z.core.$ZodTypeInternals<JWK, unknown>>>;
557
+ }, z.core.$strip>>;
558
+ issuer: z.ZodOptional<z.ZodString>;
559
+ }, z.core.$strip>>;
560
+ tokenStorage: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
561
+ type: z.ZodLiteral<"memory">;
562
+ }, z.core.$strip>, z.ZodObject<{
563
+ type: z.ZodLiteral<"redis">;
564
+ config: z.ZodObject<{
565
+ host: z.ZodString;
566
+ port: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
567
+ password: z.ZodOptional<z.ZodString>;
568
+ db: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
569
+ tls: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
570
+ keyPrefix: z.ZodDefault<z.ZodOptional<z.ZodString>>;
571
+ }, z.core.$strip>;
572
+ }, z.core.$strip>], "type">>;
573
+ sessionMode: z.ZodDefault<z.ZodEnum<{
574
+ stateful: "stateful";
575
+ stateless: "stateless";
405
576
  }>>;
406
- scopes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
407
- grantTypes: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodLiteral<"authorization_code">, z.ZodLiteral<"refresh_token">]>, "many">>;
408
- authEndpoint: z.ZodOptional<z.ZodString>;
409
- tokenEndpoint: z.ZodOptional<z.ZodString>;
410
- registrationEndpoint: z.ZodOptional<z.ZodString>;
411
- userInfoEndpoint: z.ZodOptional<z.ZodString>;
412
- jwksUri: z.ZodOptional<z.ZodString>;
413
- } & {
577
+ allowDefaultPublic: z.ZodDefault<z.ZodBoolean>;
578
+ anonymousScopes: z.ZodDefault<z.ZodArray<z.ZodString>>;
579
+ publicAccess: z.ZodOptional<z.ZodObject<{
580
+ tools: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
581
+ prompts: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
582
+ rateLimit: z.ZodDefault<z.ZodNumber>;
583
+ }, z.core.$strip>>;
584
+ consent: z.ZodOptional<z.ZodObject<{
585
+ enabled: z.ZodDefault<z.ZodBoolean>;
586
+ groupByApp: z.ZodDefault<z.ZodBoolean>;
587
+ showDescriptions: z.ZodDefault<z.ZodBoolean>;
588
+ allowSelectAll: z.ZodDefault<z.ZodBoolean>;
589
+ requireSelection: z.ZodDefault<z.ZodBoolean>;
590
+ customMessage: z.ZodOptional<z.ZodString>;
591
+ rememberConsent: z.ZodDefault<z.ZodBoolean>;
592
+ excludedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
593
+ defaultSelectedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
594
+ }, z.core.$strip>>;
595
+ refresh: z.ZodOptional<z.ZodObject<{
596
+ enabled: z.ZodDefault<z.ZodBoolean>;
597
+ skewSeconds: z.ZodDefault<z.ZodNumber>;
598
+ }, z.core.$strip>>;
599
+ expectedAudience: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
600
+ incrementalAuth: z.ZodOptional<z.ZodObject<{
601
+ enabled: z.ZodDefault<z.ZodBoolean>;
602
+ skippedAppBehavior: z.ZodDefault<z.ZodEnum<{
603
+ anonymous: "anonymous";
604
+ "require-auth": "require-auth";
605
+ }>>;
606
+ allowSkip: z.ZodDefault<z.ZodBoolean>;
607
+ showAllAppsAtOnce: z.ZodDefault<z.ZodBoolean>;
608
+ }, z.core.$strip>>;
609
+ transport: z.ZodOptional<z.ZodObject<{
610
+ enableLegacySSE: z.ZodDefault<z.ZodBoolean>;
611
+ enableSseListener: z.ZodDefault<z.ZodBoolean>;
612
+ enableStreamableHttp: z.ZodDefault<z.ZodBoolean>;
613
+ enableStatelessHttp: z.ZodDefault<z.ZodBoolean>;
614
+ enableStatefulHttp: z.ZodDefault<z.ZodBoolean>;
615
+ requireSessionForStreamable: z.ZodDefault<z.ZodBoolean>;
616
+ }, z.core.$strip>>;
617
+ }, z.core.$strip>, z.ZodObject<{
618
+ mode: z.ZodLiteral<"orchestrated">;
619
+ type: z.ZodLiteral<"remote">;
620
+ remote: z.ZodObject<{
621
+ provider: z.ZodString;
622
+ name: z.ZodOptional<z.ZodString>;
623
+ id: z.ZodOptional<z.ZodString>;
624
+ jwks: z.ZodOptional<z.ZodObject<{
625
+ keys: z.ZodArray<z.ZodType<JWK, unknown, z.core.$ZodTypeInternals<JWK, unknown>>>;
626
+ }, z.core.$strip>>;
627
+ jwksUri: z.ZodOptional<z.ZodString>;
628
+ clientId: z.ZodOptional<z.ZodString>;
629
+ clientSecret: z.ZodOptional<z.ZodString>;
630
+ scopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
631
+ dcrEnabled: z.ZodDefault<z.ZodBoolean>;
632
+ authEndpoint: z.ZodOptional<z.ZodString>;
633
+ tokenEndpoint: z.ZodOptional<z.ZodString>;
634
+ registrationEndpoint: z.ZodOptional<z.ZodString>;
635
+ userInfoEndpoint: z.ZodOptional<z.ZodString>;
636
+ }, z.core.$strip>;
637
+ local: z.ZodOptional<z.ZodObject<{
638
+ signKey: z.ZodOptional<z.ZodUnion<[z.ZodType<JWK, unknown, z.core.$ZodTypeInternals<JWK, unknown>>, z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>]>>;
639
+ jwks: z.ZodOptional<z.ZodObject<{
640
+ keys: z.ZodArray<z.ZodType<JWK, unknown, z.core.$ZodTypeInternals<JWK, unknown>>>;
641
+ }, z.core.$strip>>;
642
+ issuer: z.ZodOptional<z.ZodString>;
643
+ }, z.core.$strip>>;
644
+ tokenStorage: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
645
+ type: z.ZodLiteral<"memory">;
646
+ }, z.core.$strip>, z.ZodObject<{
647
+ type: z.ZodLiteral<"redis">;
648
+ config: z.ZodObject<{
649
+ host: z.ZodString;
650
+ port: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
651
+ password: z.ZodOptional<z.ZodString>;
652
+ db: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
653
+ tls: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
654
+ keyPrefix: z.ZodDefault<z.ZodOptional<z.ZodString>>;
655
+ }, z.core.$strip>;
656
+ }, z.core.$strip>], "type">>;
657
+ sessionMode: z.ZodDefault<z.ZodEnum<{
658
+ stateful: "stateful";
659
+ stateless: "stateless";
660
+ }>>;
661
+ allowDefaultPublic: z.ZodDefault<z.ZodBoolean>;
662
+ anonymousScopes: z.ZodDefault<z.ZodArray<z.ZodString>>;
663
+ publicAccess: z.ZodOptional<z.ZodObject<{
664
+ tools: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
665
+ prompts: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
666
+ rateLimit: z.ZodDefault<z.ZodNumber>;
667
+ }, z.core.$strip>>;
668
+ consent: z.ZodOptional<z.ZodObject<{
669
+ enabled: z.ZodDefault<z.ZodBoolean>;
670
+ groupByApp: z.ZodDefault<z.ZodBoolean>;
671
+ showDescriptions: z.ZodDefault<z.ZodBoolean>;
672
+ allowSelectAll: z.ZodDefault<z.ZodBoolean>;
673
+ requireSelection: z.ZodDefault<z.ZodBoolean>;
674
+ customMessage: z.ZodOptional<z.ZodString>;
675
+ rememberConsent: z.ZodDefault<z.ZodBoolean>;
676
+ excludedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
677
+ defaultSelectedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
678
+ }, z.core.$strip>>;
679
+ refresh: z.ZodOptional<z.ZodObject<{
680
+ enabled: z.ZodDefault<z.ZodBoolean>;
681
+ skewSeconds: z.ZodDefault<z.ZodNumber>;
682
+ }, z.core.$strip>>;
683
+ expectedAudience: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
684
+ incrementalAuth: z.ZodOptional<z.ZodObject<{
685
+ enabled: z.ZodDefault<z.ZodBoolean>;
686
+ skippedAppBehavior: z.ZodDefault<z.ZodEnum<{
687
+ anonymous: "anonymous";
688
+ "require-auth": "require-auth";
689
+ }>>;
690
+ allowSkip: z.ZodDefault<z.ZodBoolean>;
691
+ showAllAppsAtOnce: z.ZodDefault<z.ZodBoolean>;
692
+ }, z.core.$strip>>;
693
+ transport: z.ZodOptional<z.ZodObject<{
694
+ enableLegacySSE: z.ZodDefault<z.ZodBoolean>;
695
+ enableSseListener: z.ZodDefault<z.ZodBoolean>;
696
+ enableStreamableHttp: z.ZodDefault<z.ZodBoolean>;
697
+ enableStatelessHttp: z.ZodDefault<z.ZodBoolean>;
698
+ enableStatefulHttp: z.ZodDefault<z.ZodBoolean>;
699
+ requireSessionForStreamable: z.ZodDefault<z.ZodBoolean>;
700
+ }, z.core.$strip>>;
701
+ }, z.core.$strip>]>;
702
+ /**
703
+ * Public access configuration
704
+ */
705
+ export type PublicAccessConfig = z.infer<typeof publicAccessConfigSchema>;
706
+ export type PublicAccessConfigInput = z.input<typeof publicAccessConfigSchema>;
707
+ /**
708
+ * Local signing configuration
709
+ */
710
+ export type LocalSigningConfig = z.infer<typeof localSigningConfigSchema>;
711
+ export type LocalSigningConfigInput = z.input<typeof localSigningConfigSchema>;
712
+ /**
713
+ * Remote provider configuration
714
+ */
715
+ export type RemoteProviderConfig = z.infer<typeof remoteProviderConfigSchema>;
716
+ export type RemoteProviderConfigInput = z.input<typeof remoteProviderConfigSchema>;
717
+ /**
718
+ * Token storage configuration
719
+ */
720
+ export type TokenStorageConfig = z.infer<typeof tokenStorageConfigSchema>;
721
+ export type TokenStorageConfigInput = z.input<typeof tokenStorageConfigSchema>;
722
+ /**
723
+ * Token refresh configuration
724
+ */
725
+ export type TokenRefreshConfig = z.infer<typeof tokenRefreshConfigSchema>;
726
+ export type TokenRefreshConfigInput = z.input<typeof tokenRefreshConfigSchema>;
727
+ /**
728
+ * Incremental (progressive) authorization configuration
729
+ */
730
+ export type IncrementalAuthConfig = z.infer<typeof incrementalAuthConfigSchema>;
731
+ export type IncrementalAuthConfigInput = z.input<typeof incrementalAuthConfigSchema>;
732
+ /**
733
+ * Skipped app behavior type
734
+ */
735
+ export type SkippedAppBehavior = z.infer<typeof skippedAppBehaviorSchema>;
736
+ /**
737
+ * Consent configuration for tool selection
738
+ */
739
+ export type ConsentConfig = z.infer<typeof consentConfigSchema>;
740
+ export type ConsentConfigInput = z.input<typeof consentConfigSchema>;
741
+ /**
742
+ * Transport protocol configuration
743
+ */
744
+ export type TransportConfig = z.infer<typeof transportConfigSchema>;
745
+ export type TransportConfigInput = z.input<typeof transportConfigSchema>;
746
+ /**
747
+ * Public mode options (output type with defaults applied)
748
+ */
749
+ export type PublicAuthOptions = z.infer<typeof publicAuthOptionsSchema>;
750
+ export type PublicAuthOptionsInput = z.input<typeof publicAuthOptionsSchema>;
751
+ /**
752
+ * Transparent mode options (output type with defaults applied)
753
+ */
754
+ export type TransparentAuthOptions = z.infer<typeof transparentAuthOptionsSchema>;
755
+ export type TransparentAuthOptionsInput = z.input<typeof transparentAuthOptionsSchema>;
756
+ /**
757
+ * Orchestrated local mode options
758
+ */
759
+ export type OrchestratedLocalOptions = z.infer<typeof orchestratedLocalSchema>;
760
+ export type OrchestratedLocalOptionsInput = z.input<typeof orchestratedLocalSchema>;
761
+ /**
762
+ * Orchestrated remote mode options
763
+ */
764
+ export type OrchestratedRemoteOptions = z.infer<typeof orchestratedRemoteSchema>;
765
+ export type OrchestratedRemoteOptionsInput = z.input<typeof orchestratedRemoteSchema>;
766
+ /**
767
+ * Orchestrated mode options (union of local and remote)
768
+ */
769
+ export type OrchestratedAuthOptions = z.infer<typeof orchestratedAuthOptionsSchema>;
770
+ export type OrchestratedAuthOptionsInput = z.input<typeof orchestratedAuthOptionsSchema>;
771
+ /**
772
+ * Auth options (output type with defaults applied)
773
+ * Use this type when working with parsed/validated options
774
+ */
775
+ export type AuthOptions = z.infer<typeof authOptionsSchema>;
776
+ /**
777
+ * Auth options input (input type for user configuration)
778
+ * Use this type for the @frontmcp configuration
779
+ */
780
+ export type AuthOptionsInput = z.input<typeof authOptionsSchema>;
781
+ /**
782
+ * Authentication mode
783
+ */
784
+ export type AuthMode = 'public' | 'transparent' | 'orchestrated';
785
+ /**
786
+ * Orchestrated type (local or remote)
787
+ */
788
+ export type OrchestratedType = 'local' | 'remote';
789
+ export declare const appAuthOptionsSchema: z.ZodUnion<readonly [z.ZodObject<{
790
+ mode: z.ZodLiteral<"public">;
791
+ issuer: z.ZodOptional<z.ZodString>;
792
+ sessionTtl: z.ZodDefault<z.ZodNumber>;
793
+ anonymousScopes: z.ZodDefault<z.ZodArray<z.ZodString>>;
794
+ publicAccess: z.ZodOptional<z.ZodObject<{
795
+ tools: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
796
+ prompts: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
797
+ rateLimit: z.ZodDefault<z.ZodNumber>;
798
+ }, z.core.$strip>>;
799
+ jwks: z.ZodOptional<z.ZodObject<{
800
+ keys: z.ZodArray<z.ZodType<JWK, unknown, z.core.$ZodTypeInternals<JWK, unknown>>>;
801
+ }, z.core.$strip>>;
802
+ signKey: z.ZodOptional<z.ZodUnion<[z.ZodType<JWK, unknown, z.core.$ZodTypeInternals<JWK, unknown>>, z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>]>>;
803
+ transport: z.ZodOptional<z.ZodObject<{
804
+ enableLegacySSE: z.ZodDefault<z.ZodBoolean>;
805
+ enableSseListener: z.ZodDefault<z.ZodBoolean>;
806
+ enableStreamableHttp: z.ZodDefault<z.ZodBoolean>;
807
+ enableStatelessHttp: z.ZodDefault<z.ZodBoolean>;
808
+ enableStatefulHttp: z.ZodDefault<z.ZodBoolean>;
809
+ requireSessionForStreamable: z.ZodDefault<z.ZodBoolean>;
810
+ }, z.core.$strip>>;
811
+ standalone: z.ZodOptional<z.ZodBoolean>;
812
+ excludeFromParent: z.ZodOptional<z.ZodBoolean>;
813
+ }, z.core.$strip>, z.ZodObject<{
814
+ mode: z.ZodLiteral<"transparent">;
815
+ remote: z.ZodObject<{
816
+ provider: z.ZodString;
817
+ name: z.ZodOptional<z.ZodString>;
818
+ id: z.ZodOptional<z.ZodString>;
819
+ jwks: z.ZodOptional<z.ZodObject<{
820
+ keys: z.ZodArray<z.ZodType<JWK, unknown, z.core.$ZodTypeInternals<JWK, unknown>>>;
821
+ }, z.core.$strip>>;
822
+ jwksUri: z.ZodOptional<z.ZodString>;
823
+ clientId: z.ZodOptional<z.ZodString>;
824
+ clientSecret: z.ZodOptional<z.ZodString>;
825
+ scopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
826
+ dcrEnabled: z.ZodDefault<z.ZodBoolean>;
827
+ authEndpoint: z.ZodOptional<z.ZodString>;
828
+ tokenEndpoint: z.ZodOptional<z.ZodString>;
829
+ registrationEndpoint: z.ZodOptional<z.ZodString>;
830
+ userInfoEndpoint: z.ZodOptional<z.ZodString>;
831
+ }, z.core.$strip>;
832
+ expectedAudience: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
833
+ requiredScopes: z.ZodDefault<z.ZodArray<z.ZodString>>;
834
+ allowAnonymous: z.ZodDefault<z.ZodBoolean>;
835
+ anonymousScopes: z.ZodDefault<z.ZodArray<z.ZodString>>;
836
+ publicAccess: z.ZodOptional<z.ZodObject<{
837
+ tools: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
838
+ prompts: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
839
+ rateLimit: z.ZodDefault<z.ZodNumber>;
840
+ }, z.core.$strip>>;
841
+ transport: z.ZodOptional<z.ZodObject<{
842
+ enableLegacySSE: z.ZodDefault<z.ZodBoolean>;
843
+ enableSseListener: z.ZodDefault<z.ZodBoolean>;
844
+ enableStreamableHttp: z.ZodDefault<z.ZodBoolean>;
845
+ enableStatelessHttp: z.ZodDefault<z.ZodBoolean>;
846
+ enableStatefulHttp: z.ZodDefault<z.ZodBoolean>;
847
+ requireSessionForStreamable: z.ZodDefault<z.ZodBoolean>;
848
+ }, z.core.$strip>>;
414
849
  standalone: z.ZodOptional<z.ZodBoolean>;
415
850
  excludeFromParent: z.ZodOptional<z.ZodBoolean>;
416
- }, "strip", z.ZodTypeAny, {
417
- type: "remote";
418
- name: string;
419
- baseUrl: string;
420
- id?: string | undefined;
421
- standalone?: boolean | undefined;
422
- dcrEnabled?: boolean | undefined;
423
- clientId?: string | ((args_0: {
424
- clientId: string;
425
- }, ...args: unknown[]) => string) | undefined;
426
- mode?: "orchestrated" | "transparent" | undefined;
427
- allowAnonymous?: boolean | undefined;
428
- consent?: boolean | undefined;
429
- scopes?: string[] | undefined;
430
- grantTypes?: ("authorization_code" | "refresh_token")[] | undefined;
431
- authEndpoint?: string | undefined;
432
- tokenEndpoint?: string | undefined;
433
- registrationEndpoint?: string | undefined;
434
- userInfoEndpoint?: string | undefined;
435
- jwks?: {
436
- keys: JWK[];
437
- } | undefined;
438
- jwksUri?: string | undefined;
439
- excludeFromParent?: boolean | undefined;
440
- }, {
441
- type: "remote";
442
- name: string;
443
- baseUrl: string;
444
- id?: string | undefined;
445
- standalone?: boolean | undefined;
446
- dcrEnabled?: boolean | undefined;
447
- clientId?: string | ((args_0: {
448
- clientId: string;
449
- }, ...args: unknown[]) => string) | undefined;
450
- mode?: "orchestrated" | "transparent" | undefined;
451
- allowAnonymous?: boolean | undefined;
452
- consent?: boolean | undefined;
453
- scopes?: string[] | undefined;
454
- grantTypes?: ("authorization_code" | "refresh_token")[] | undefined;
455
- authEndpoint?: string | undefined;
456
- tokenEndpoint?: string | undefined;
457
- registrationEndpoint?: string | undefined;
458
- userInfoEndpoint?: string | undefined;
459
- jwks?: {
460
- keys: JWK[];
461
- } | undefined;
462
- jwksUri?: string | undefined;
463
- excludeFromParent?: boolean | undefined;
464
- }>, z.ZodObject<{
851
+ }, z.core.$strip>, z.ZodObject<{
852
+ mode: z.ZodLiteral<"orchestrated">;
465
853
  type: z.ZodLiteral<"local">;
466
- id: z.ZodString;
467
- name: z.ZodString;
468
- scopes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
469
- grantTypes: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodLiteral<"authorization_code">, z.ZodLiteral<"refresh_token">]>, "many">>;
470
- allowAnonymous: z.ZodOptional<z.ZodBoolean>;
471
- consent: z.ZodOptional<z.ZodBoolean>;
472
- jwks: z.ZodOptional<z.ZodObject<{
473
- keys: z.ZodArray<z.ZodType<JWK, z.ZodTypeDef, JWK>, "many">;
474
- }, "strip", z.ZodTypeAny, {
475
- keys: JWK[];
476
- }, {
477
- keys: JWK[];
854
+ local: z.ZodOptional<z.ZodObject<{
855
+ signKey: z.ZodOptional<z.ZodUnion<[z.ZodType<JWK, unknown, z.core.$ZodTypeInternals<JWK, unknown>>, z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>]>>;
856
+ jwks: z.ZodOptional<z.ZodObject<{
857
+ keys: z.ZodArray<z.ZodType<JWK, unknown, z.core.$ZodTypeInternals<JWK, unknown>>>;
858
+ }, z.core.$strip>>;
859
+ issuer: z.ZodOptional<z.ZodString>;
860
+ }, z.core.$strip>>;
861
+ tokenStorage: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
862
+ type: z.ZodLiteral<"memory">;
863
+ }, z.core.$strip>, z.ZodObject<{
864
+ type: z.ZodLiteral<"redis">;
865
+ config: z.ZodObject<{
866
+ host: z.ZodString;
867
+ port: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
868
+ password: z.ZodOptional<z.ZodString>;
869
+ db: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
870
+ tls: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
871
+ keyPrefix: z.ZodDefault<z.ZodOptional<z.ZodString>>;
872
+ }, z.core.$strip>;
873
+ }, z.core.$strip>], "type">>;
874
+ sessionMode: z.ZodDefault<z.ZodEnum<{
875
+ stateful: "stateful";
876
+ stateless: "stateless";
877
+ }>>;
878
+ allowDefaultPublic: z.ZodDefault<z.ZodBoolean>;
879
+ anonymousScopes: z.ZodDefault<z.ZodArray<z.ZodString>>;
880
+ publicAccess: z.ZodOptional<z.ZodObject<{
881
+ tools: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
882
+ prompts: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
883
+ rateLimit: z.ZodDefault<z.ZodNumber>;
884
+ }, z.core.$strip>>;
885
+ consent: z.ZodOptional<z.ZodObject<{
886
+ enabled: z.ZodDefault<z.ZodBoolean>;
887
+ groupByApp: z.ZodDefault<z.ZodBoolean>;
888
+ showDescriptions: z.ZodDefault<z.ZodBoolean>;
889
+ allowSelectAll: z.ZodDefault<z.ZodBoolean>;
890
+ requireSelection: z.ZodDefault<z.ZodBoolean>;
891
+ customMessage: z.ZodOptional<z.ZodString>;
892
+ rememberConsent: z.ZodDefault<z.ZodBoolean>;
893
+ excludedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
894
+ defaultSelectedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
895
+ }, z.core.$strip>>;
896
+ refresh: z.ZodOptional<z.ZodObject<{
897
+ enabled: z.ZodDefault<z.ZodBoolean>;
898
+ skewSeconds: z.ZodDefault<z.ZodNumber>;
899
+ }, z.core.$strip>>;
900
+ expectedAudience: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
901
+ incrementalAuth: z.ZodOptional<z.ZodObject<{
902
+ enabled: z.ZodDefault<z.ZodBoolean>;
903
+ skippedAppBehavior: z.ZodDefault<z.ZodEnum<{
904
+ anonymous: "anonymous";
905
+ "require-auth": "require-auth";
906
+ }>>;
907
+ allowSkip: z.ZodDefault<z.ZodBoolean>;
908
+ showAllAppsAtOnce: z.ZodDefault<z.ZodBoolean>;
909
+ }, z.core.$strip>>;
910
+ transport: z.ZodOptional<z.ZodObject<{
911
+ enableLegacySSE: z.ZodDefault<z.ZodBoolean>;
912
+ enableSseListener: z.ZodDefault<z.ZodBoolean>;
913
+ enableStreamableHttp: z.ZodDefault<z.ZodBoolean>;
914
+ enableStatelessHttp: z.ZodDefault<z.ZodBoolean>;
915
+ enableStatefulHttp: z.ZodDefault<z.ZodBoolean>;
916
+ requireSessionForStreamable: z.ZodDefault<z.ZodBoolean>;
917
+ }, z.core.$strip>>;
918
+ standalone: z.ZodOptional<z.ZodBoolean>;
919
+ excludeFromParent: z.ZodOptional<z.ZodBoolean>;
920
+ }, z.core.$strip>, z.ZodObject<{
921
+ mode: z.ZodLiteral<"orchestrated">;
922
+ type: z.ZodLiteral<"remote">;
923
+ remote: z.ZodObject<{
924
+ provider: z.ZodString;
925
+ name: z.ZodOptional<z.ZodString>;
926
+ id: z.ZodOptional<z.ZodString>;
927
+ jwks: z.ZodOptional<z.ZodObject<{
928
+ keys: z.ZodArray<z.ZodType<JWK, unknown, z.core.$ZodTypeInternals<JWK, unknown>>>;
929
+ }, z.core.$strip>>;
930
+ jwksUri: z.ZodOptional<z.ZodString>;
931
+ clientId: z.ZodOptional<z.ZodString>;
932
+ clientSecret: z.ZodOptional<z.ZodString>;
933
+ scopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
934
+ dcrEnabled: z.ZodDefault<z.ZodBoolean>;
935
+ authEndpoint: z.ZodOptional<z.ZodString>;
936
+ tokenEndpoint: z.ZodOptional<z.ZodString>;
937
+ registrationEndpoint: z.ZodOptional<z.ZodString>;
938
+ userInfoEndpoint: z.ZodOptional<z.ZodString>;
939
+ }, z.core.$strip>;
940
+ local: z.ZodOptional<z.ZodObject<{
941
+ signKey: z.ZodOptional<z.ZodUnion<[z.ZodType<JWK, unknown, z.core.$ZodTypeInternals<JWK, unknown>>, z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>]>>;
942
+ jwks: z.ZodOptional<z.ZodObject<{
943
+ keys: z.ZodArray<z.ZodType<JWK, unknown, z.core.$ZodTypeInternals<JWK, unknown>>>;
944
+ }, z.core.$strip>>;
945
+ issuer: z.ZodOptional<z.ZodString>;
946
+ }, z.core.$strip>>;
947
+ tokenStorage: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
948
+ type: z.ZodLiteral<"memory">;
949
+ }, z.core.$strip>, z.ZodObject<{
950
+ type: z.ZodLiteral<"redis">;
951
+ config: z.ZodObject<{
952
+ host: z.ZodString;
953
+ port: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
954
+ password: z.ZodOptional<z.ZodString>;
955
+ db: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
956
+ tls: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
957
+ keyPrefix: z.ZodDefault<z.ZodOptional<z.ZodString>>;
958
+ }, z.core.$strip>;
959
+ }, z.core.$strip>], "type">>;
960
+ sessionMode: z.ZodDefault<z.ZodEnum<{
961
+ stateful: "stateful";
962
+ stateless: "stateless";
478
963
  }>>;
479
- signKey: z.ZodOptional<z.ZodUnion<[z.ZodType<JWK, z.ZodTypeDef, JWK>, z.ZodType<Uint8Array<ArrayBuffer>, z.ZodTypeDef, Uint8Array<ArrayBuffer>>]>>;
480
- } & {
964
+ allowDefaultPublic: z.ZodDefault<z.ZodBoolean>;
965
+ anonymousScopes: z.ZodDefault<z.ZodArray<z.ZodString>>;
966
+ publicAccess: z.ZodOptional<z.ZodObject<{
967
+ tools: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
968
+ prompts: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
969
+ rateLimit: z.ZodDefault<z.ZodNumber>;
970
+ }, z.core.$strip>>;
971
+ consent: z.ZodOptional<z.ZodObject<{
972
+ enabled: z.ZodDefault<z.ZodBoolean>;
973
+ groupByApp: z.ZodDefault<z.ZodBoolean>;
974
+ showDescriptions: z.ZodDefault<z.ZodBoolean>;
975
+ allowSelectAll: z.ZodDefault<z.ZodBoolean>;
976
+ requireSelection: z.ZodDefault<z.ZodBoolean>;
977
+ customMessage: z.ZodOptional<z.ZodString>;
978
+ rememberConsent: z.ZodDefault<z.ZodBoolean>;
979
+ excludedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
980
+ defaultSelectedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
981
+ }, z.core.$strip>>;
982
+ refresh: z.ZodOptional<z.ZodObject<{
983
+ enabled: z.ZodDefault<z.ZodBoolean>;
984
+ skewSeconds: z.ZodDefault<z.ZodNumber>;
985
+ }, z.core.$strip>>;
986
+ expectedAudience: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
987
+ incrementalAuth: z.ZodOptional<z.ZodObject<{
988
+ enabled: z.ZodDefault<z.ZodBoolean>;
989
+ skippedAppBehavior: z.ZodDefault<z.ZodEnum<{
990
+ anonymous: "anonymous";
991
+ "require-auth": "require-auth";
992
+ }>>;
993
+ allowSkip: z.ZodDefault<z.ZodBoolean>;
994
+ showAllAppsAtOnce: z.ZodDefault<z.ZodBoolean>;
995
+ }, z.core.$strip>>;
996
+ transport: z.ZodOptional<z.ZodObject<{
997
+ enableLegacySSE: z.ZodDefault<z.ZodBoolean>;
998
+ enableSseListener: z.ZodDefault<z.ZodBoolean>;
999
+ enableStreamableHttp: z.ZodDefault<z.ZodBoolean>;
1000
+ enableStatelessHttp: z.ZodDefault<z.ZodBoolean>;
1001
+ enableStatefulHttp: z.ZodDefault<z.ZodBoolean>;
1002
+ requireSessionForStreamable: z.ZodDefault<z.ZodBoolean>;
1003
+ }, z.core.$strip>>;
481
1004
  standalone: z.ZodOptional<z.ZodBoolean>;
482
1005
  excludeFromParent: z.ZodOptional<z.ZodBoolean>;
483
- }, "strip", z.ZodTypeAny, {
484
- type: "local";
485
- id: string;
486
- name: string;
487
- standalone?: boolean | undefined;
488
- allowAnonymous?: boolean | undefined;
489
- consent?: boolean | undefined;
490
- scopes?: string[] | undefined;
491
- grantTypes?: ("authorization_code" | "refresh_token")[] | undefined;
492
- jwks?: {
493
- keys: JWK[];
494
- } | undefined;
495
- signKey?: JWK | Uint8Array<ArrayBuffer> | undefined;
496
- excludeFromParent?: boolean | undefined;
497
- }, {
498
- type: "local";
499
- id: string;
500
- name: string;
501
- standalone?: boolean | undefined;
502
- allowAnonymous?: boolean | undefined;
503
- consent?: boolean | undefined;
504
- scopes?: string[] | undefined;
505
- grantTypes?: ("authorization_code" | "refresh_token")[] | undefined;
506
- jwks?: {
507
- keys: JWK[];
508
- } | undefined;
509
- signKey?: JWK | Uint8Array<ArrayBuffer> | undefined;
510
- excludeFromParent?: boolean | undefined;
511
- }>]>;
512
- export type AppAuthOptions = (RemoteAuthOptions | LocalAuthOptions) & StandaloneOption;
513
- export {};
1006
+ }, z.core.$strip>]>;
1007
+ export type AppAuthOptions = z.infer<typeof appAuthOptionsSchema>;
1008
+ export type AppAuthOptionsInput = z.input<typeof appAuthOptionsSchema>;
1009
+ /**
1010
+ * Parse and validate auth options with defaults
1011
+ */
1012
+ export declare function parseAuthOptions(input: AuthOptionsInput): AuthOptions;
1013
+ /**
1014
+ * Check if options are public mode
1015
+ */
1016
+ export declare function isPublicMode(options: AuthOptions | AuthOptionsInput): options is PublicAuthOptions;
1017
+ /**
1018
+ * Check if options are transparent mode
1019
+ */
1020
+ export declare function isTransparentMode(options: AuthOptions | AuthOptionsInput): options is TransparentAuthOptions;
1021
+ /**
1022
+ * Check if options are orchestrated mode
1023
+ */
1024
+ export declare function isOrchestratedMode(options: AuthOptions | AuthOptionsInput): options is OrchestratedAuthOptions;
1025
+ /**
1026
+ * Check if orchestrated options are local type
1027
+ */
1028
+ export declare function isOrchestratedLocal(options: OrchestratedAuthOptions): options is OrchestratedLocalOptions;
1029
+ /**
1030
+ * Check if orchestrated options are remote type
1031
+ */
1032
+ export declare function isOrchestratedRemote(options: OrchestratedAuthOptions): options is OrchestratedRemoteOptions;
1033
+ /**
1034
+ * Check if options allow public/anonymous access
1035
+ */
1036
+ export declare function allowsPublicAccess(options: AuthOptions): boolean;