@frontmcp/sdk 1.8.2 → 1.8.4

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 (195) hide show
  1. package/agent/agent-execution-loop.d.ts.map +1 -1
  2. package/agent/agent.instance.d.ts +20 -4
  3. package/agent/agent.instance.d.ts.map +1 -1
  4. package/agent/agent.scope.d.ts +6 -0
  5. package/agent/agent.scope.d.ts.map +1 -1
  6. package/agent/agent.utils.d.ts.map +1 -1
  7. package/auth/auth-ui/auth-ui.render.d.ts +31 -0
  8. package/auth/auth-ui/auth-ui.render.d.ts.map +1 -1
  9. package/auth/auth-ui/auth-ui.state.d.ts.map +1 -1
  10. package/auth/flows/auth.verify.flow.d.ts.map +1 -1
  11. package/auth/flows/form-body.utils.d.ts +9 -0
  12. package/auth/flows/form-body.utils.d.ts.map +1 -0
  13. package/auth/flows/oauth.authorize.flow.d.ts +41 -14
  14. package/auth/flows/oauth.authorize.flow.d.ts.map +1 -1
  15. package/auth/flows/oauth.callback.flow.d.ts +32 -10
  16. package/auth/flows/oauth.callback.flow.d.ts.map +1 -1
  17. package/auth/flows/oauth.connect.flow.d.ts +2 -0
  18. package/auth/flows/oauth.connect.flow.d.ts.map +1 -1
  19. package/auth/flows/oauth.provider-callback.flow.d.ts +30 -10
  20. package/auth/flows/oauth.provider-callback.flow.d.ts.map +1 -1
  21. package/auth/flows/oauth.register.flow.d.ts.map +1 -1
  22. package/auth/flows/oauth.token.flow.d.ts +5 -0
  23. package/auth/flows/oauth.token.flow.d.ts.map +1 -1
  24. package/auth/flows/oauth.userinfo.flow.d.ts.map +1 -1
  25. package/auth/flows/session.verify.flow.d.ts.map +1 -1
  26. package/auth/flows/signin-binding.utils.d.ts +44 -0
  27. package/auth/flows/signin-binding.utils.d.ts.map +1 -0
  28. package/auth/flows/well-known.oauth-authorization-server.flow.d.ts.map +1 -1
  29. package/auth/flows/well-known.prm.flow.d.ts.map +1 -1
  30. package/auth/instances/instance.local-primary-auth.d.ts +90 -16
  31. package/auth/instances/instance.local-primary-auth.d.ts.map +1 -1
  32. package/auth/secure-store/secure-store.providers.d.ts +8 -5
  33. package/auth/secure-store/secure-store.providers.d.ts.map +1 -1
  34. package/auth/session-scope-identity.d.ts +18 -0
  35. package/auth/session-scope-identity.d.ts.map +1 -0
  36. package/auth/vault/auth-providers.providers.d.ts +2 -4
  37. package/auth/vault/auth-providers.providers.d.ts.map +1 -1
  38. package/channel/sources/webhook.source.d.ts +1 -1
  39. package/channel/sources/webhook.source.d.ts.map +1 -1
  40. package/common/availability/availability.utils.d.ts +30 -0
  41. package/common/availability/availability.utils.d.ts.map +1 -1
  42. package/common/availability/index.d.ts +1 -1
  43. package/common/availability/index.d.ts.map +1 -1
  44. package/common/decorators/hook.decorator.d.ts +2 -0
  45. package/common/decorators/hook.decorator.d.ts.map +1 -1
  46. package/common/decorators/plugin.decorator.d.ts.map +1 -1
  47. package/common/interfaces/agent.interface.d.ts +8 -0
  48. package/common/interfaces/agent.interface.d.ts.map +1 -1
  49. package/common/interfaces/channel.interface.d.ts +6 -0
  50. package/common/interfaces/channel.interface.d.ts.map +1 -1
  51. package/common/interfaces/execution-context.interface.d.ts +12 -0
  52. package/common/interfaces/execution-context.interface.d.ts.map +1 -1
  53. package/common/interfaces/internal/primary-auth-provider.interface.d.ts +12 -6
  54. package/common/interfaces/internal/primary-auth-provider.interface.d.ts.map +1 -1
  55. package/common/interfaces/job.interface.d.ts +3 -0
  56. package/common/interfaces/job.interface.d.ts.map +1 -1
  57. package/common/interfaces/server.interface.d.ts +2 -0
  58. package/common/interfaces/server.interface.d.ts.map +1 -1
  59. package/common/metadata/app.metadata.d.ts +8 -0
  60. package/common/metadata/app.metadata.d.ts.map +1 -1
  61. package/common/metadata/front-mcp.metadata.d.ts +32 -0
  62. package/common/metadata/front-mcp.metadata.d.ts.map +1 -1
  63. package/common/metadata/hook.metadata.d.ts +13 -0
  64. package/common/metadata/hook.metadata.d.ts.map +1 -1
  65. package/common/metadata/plugin.metadata.d.ts +20 -0
  66. package/common/metadata/plugin.metadata.d.ts.map +1 -1
  67. package/common/schemas/http-output.schema.d.ts +5 -0
  68. package/common/schemas/http-output.schema.d.ts.map +1 -1
  69. package/common/tokens/plugin.tokens.d.ts +2 -0
  70. package/common/tokens/plugin.tokens.d.ts.map +1 -1
  71. package/common/utils/auth-info.utils.d.ts +26 -1
  72. package/common/utils/auth-info.utils.d.ts.map +1 -1
  73. package/common/utils/enforced-metadata.utils.d.ts +17 -0
  74. package/common/utils/enforced-metadata.utils.d.ts.map +1 -0
  75. package/common/utils/guard.utils.d.ts +2 -0
  76. package/common/utils/guard.utils.d.ts.map +1 -1
  77. package/completion/flows/complete.flow.d.ts.map +1 -1
  78. package/context/call-surface.d.ts +11 -0
  79. package/context/call-surface.d.ts.map +1 -0
  80. package/context/frontmcp-context.d.ts +9 -1
  81. package/context/frontmcp-context.d.ts.map +1 -1
  82. package/context/index.d.ts +2 -0
  83. package/context/index.d.ts.map +1 -1
  84. package/context/running-tool.d.ts +14 -0
  85. package/context/running-tool.d.ts.map +1 -0
  86. package/direct/connect.d.ts.map +1 -1
  87. package/direct/direct-server.d.ts +2 -1
  88. package/direct/direct-server.d.ts.map +1 -1
  89. package/elicitation/elicitation.types.d.ts +6 -0
  90. package/elicitation/elicitation.types.d.ts.map +1 -1
  91. package/elicitation/helpers/elicit.helper.d.ts.map +1 -1
  92. package/elicitation/helpers/fallback.helper.d.ts +18 -0
  93. package/elicitation/helpers/fallback.helper.d.ts.map +1 -1
  94. package/elicitation/send-elicitation-result.tool.d.ts.map +1 -1
  95. package/errors/elicitation.error.d.ts +23 -1
  96. package/errors/elicitation.error.d.ts.map +1 -1
  97. package/errors/error-handler.d.ts.map +1 -1
  98. package/errors/index.d.ts +3 -1
  99. package/errors/index.d.ts.map +1 -1
  100. package/errors/mcp.error.d.ts.map +1 -1
  101. package/errors/plugin.errors.d.ts +14 -0
  102. package/errors/plugin.errors.d.ts.map +1 -0
  103. package/errors/session-identity-required.error.d.ts +20 -0
  104. package/errors/session-identity-required.error.d.ts.map +1 -0
  105. package/esm/index.mjs +3198 -1375
  106. package/flows/flow.http-path.d.ts +21 -0
  107. package/flows/flow.http-path.d.ts.map +1 -0
  108. package/flows/flow.instance.d.ts.map +1 -1
  109. package/front-mcp/front-mcp.d.ts +11 -0
  110. package/front-mcp/front-mcp.d.ts.map +1 -1
  111. package/front-mcp/static-startup.check.d.ts +12 -0
  112. package/front-mcp/static-startup.check.d.ts.map +1 -0
  113. package/hooks/hook-coverage.d.ts +29 -0
  114. package/hooks/hook-coverage.d.ts.map +1 -0
  115. package/hooks/hook.registry.d.ts +2 -0
  116. package/hooks/hook.registry.d.ts.map +1 -1
  117. package/index.d.ts +14 -9
  118. package/index.d.ts.map +1 -1
  119. package/index.js +3962 -2153
  120. package/job/execution/job-execution.manager.d.ts.map +1 -1
  121. package/notification/notification.service.d.ts.map +1 -1
  122. package/package.json +11 -11
  123. package/plugin/enforced-metadata.check.d.ts +29 -0
  124. package/plugin/enforced-metadata.check.d.ts.map +1 -0
  125. package/plugin/plugin.registry.d.ts.map +1 -1
  126. package/prompt/flows/get-prompt.flow.d.ts.map +1 -1
  127. package/prompt/flows/prompts-list.flow.d.ts.map +1 -1
  128. package/provider/provider.registry.d.ts +11 -0
  129. package/provider/provider.registry.d.ts.map +1 -1
  130. package/resource/flows/read-resource.flow.d.ts.map +1 -1
  131. package/resource/flows/resource-templates-list.flow.d.ts.map +1 -1
  132. package/resource/flows/resources-list.flow.d.ts.map +1 -1
  133. package/scope/flows/http.request.flow.d.ts +25 -1
  134. package/scope/flows/http.request.flow.d.ts.map +1 -1
  135. package/scope/flows/request-log.redaction.d.ts +13 -0
  136. package/scope/flows/request-log.redaction.d.ts.map +1 -0
  137. package/scope/scope.instance.d.ts.map +1 -1
  138. package/scope/scope.registry.d.ts +7 -0
  139. package/scope/scope.registry.d.ts.map +1 -1
  140. package/server/server.validation.d.ts.map +1 -1
  141. package/skill/auth/index.d.ts +2 -2
  142. package/skill/auth/index.d.ts.map +1 -1
  143. package/skill/auth/skill-http-auth.d.ts +44 -13
  144. package/skill/auth/skill-http-auth.d.ts.map +1 -1
  145. package/skill/flows/http/llm-full-txt.flow.d.ts +1 -0
  146. package/skill/flows/http/llm-full-txt.flow.d.ts.map +1 -1
  147. package/skill/flows/http/llm-txt.flow.d.ts +1 -0
  148. package/skill/flows/http/llm-txt.flow.d.ts.map +1 -1
  149. package/skill/flows/http/skills-api.flow.d.ts +5 -8
  150. package/skill/flows/http/skills-api.flow.d.ts.map +1 -1
  151. package/skill/index.d.ts +2 -2
  152. package/skill/index.d.ts.map +1 -1
  153. package/skill/sep-2640/sep-2640.per-skill.d.ts.map +1 -1
  154. package/skill/skill-filter.helper.d.ts +21 -4
  155. package/skill/skill-filter.helper.d.ts.map +1 -1
  156. package/skill/skill-instructions.helper.d.ts.map +1 -1
  157. package/skill/skill-scope.helper.d.ts +11 -1
  158. package/skill/skill-scope.helper.d.ts.map +1 -1
  159. package/skill/skill.registry.d.ts +33 -1
  160. package/skill/skill.registry.d.ts.map +1 -1
  161. package/task/helpers/task-runner.d.ts.map +1 -1
  162. package/task/runtime/execute-task.d.ts.map +1 -1
  163. package/task/task.types.d.ts +13 -0
  164. package/task/task.types.d.ts.map +1 -1
  165. package/tool/flows/call-tool.flow.d.ts.map +1 -1
  166. package/tool/flows/tools-list.flow.d.ts.map +1 -1
  167. package/transport/flows/handle.mcp-20260728.flow.d.ts.map +1 -1
  168. package/transport/flows/handle.streamable-http.flow.d.ts.map +1 -1
  169. package/transport/in-memory-server.d.ts.map +1 -1
  170. package/transport/index.d.ts +1 -0
  171. package/transport/index.d.ts.map +1 -1
  172. package/transport/mcp-20260728/result-decorator.d.ts +14 -4
  173. package/transport/mcp-20260728/result-decorator.d.ts.map +1 -1
  174. package/transport/mcp-handlers/call-tool-request.handler.d.ts.map +1 -1
  175. package/transport/mcp-handlers/complete-request.handler.d.ts.map +1 -1
  176. package/transport/mcp-handlers/get-prompt-request.handler.d.ts.map +1 -1
  177. package/transport/mcp-handlers/index.d.ts.map +1 -1
  178. package/transport/mcp-handlers/list-prompts-request.handler.d.ts.map +1 -1
  179. package/transport/mcp-handlers/list-resource-templates-request.handler.d.ts.map +1 -1
  180. package/transport/mcp-handlers/list-resources-request.handler.d.ts.map +1 -1
  181. package/transport/mcp-handlers/list-tools-request.handler.d.ts.map +1 -1
  182. package/transport/mcp-handlers/mcp-surface.d.ts +22 -0
  183. package/transport/mcp-handlers/mcp-surface.d.ts.map +1 -0
  184. package/transport/mcp-handlers/read-resource-request.handler.d.ts.map +1 -1
  185. package/transport/mcp-handlers/skills-list-request.handler.d.ts.map +1 -1
  186. package/transport/mcp-handlers/skills-load-request.handler.d.ts.map +1 -1
  187. package/transport/mcp-handlers/skills-search-request.handler.d.ts.map +1 -1
  188. package/transport/mcp-handlers/subscribe-request.handler.d.ts.map +1 -1
  189. package/transport/persistent-session-owner.d.ts +41 -0
  190. package/transport/persistent-session-owner.d.ts.map +1 -0
  191. package/transport/web-fetch-handler.d.ts.map +1 -1
  192. package/transport/web-response.renderer.d.ts.map +1 -1
  193. package/transport/web-standard-mcp.d.ts +4 -0
  194. package/transport/web-standard-mcp.d.ts.map +1 -1
  195. package/workflow/engine/workflow-step.executor.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"agent-execution-loop.d.ts","sourceRoot":"","sources":["../../src/agent/agent-execution-loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-execution-loop.d.ts","sourceRoot":"","sources":["../../src/agent/agent-execution-loop.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type CallToolRequest, type Tool } from '@frontmcp/protocol';
2
- import { AgentContext, AgentEntry, type AgentCallArgs, type AgentCallExtra, type AgentInputOf, type AgentLlmAdapter, type AgentOutputOf, type AgentRecord, type EntryOwnerRef, type ParsedAgentResult, type SafeTransformResult, type ScopeEntry, type ToolInputType, type ToolOutputType } from '../common';
2
+ import { AgentContext, AgentEntry, type AgentCallArgs, type AgentCallExtra, type AgentInputOf, type AgentLlmAdapter, type AgentOutputOf, type AgentRecord, type EntryOwnerRef, type ParsedAgentResult, type SafeTransformResult, type ScopeEntry, type ToolEntry, type ToolInputType, type ToolOutputType } from '../common';
3
3
  import type HookRegistry from '../hooks/hook.registry';
4
4
  import type ProviderRegistry from '../provider/provider.registry';
5
5
  import { ToolInstance } from '../tool/tool.instance';
@@ -104,8 +104,9 @@ export declare class AgentInstance<InSchema extends ToolInputType = ToolInputTyp
104
104
  /**
105
105
  * Build ToolMetadata from AgentMetadata.
106
106
  *
107
- * Includes plugin metadata extensions (cache, codecall) from agent metadata
108
- * so plugins can apply to agent tools.
107
+ * The agent is listed and called only through this tool, so everything the agent declares
108
+ * that gates a tool (availability, limits, and every plugin extension such as `authorities`,
109
+ * `approval` or `featureFlag`) is copied onto it.
109
110
  */
110
111
  private buildAgentToolMetadata;
111
112
  /**
@@ -124,6 +125,11 @@ export declare class AgentInstance<InSchema extends ToolInputType = ToolInputTyp
124
125
  * @returns The agent's ToolInstance, or null if not created
125
126
  */
126
127
  getToolInstance(): ToolInstance | null;
128
+ /**
129
+ * The tools this agent can call: those it declares and those its plugins contribute, as its private
130
+ * scope holds them. Empty until the agent is initialized.
131
+ */
132
+ getAgentTools(): readonly ToolEntry[];
127
133
  getMetadata(): import("../common").AgentMetadata<Readonly<{
128
134
  [k: string]: import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>>;
129
135
  }>, ToolOutputType>;
@@ -151,9 +157,14 @@ export declare class AgentInstance<InSchema extends ToolInputType = ToolInputTyp
151
157
  private buildAgentCtorArgs;
152
158
  /**
153
159
  * Get tool definitions available to this agent.
154
- * Returns only the agent's own tools (from @Agent({ tools: [...] })).
160
+ * Returns only the agent's own tools (from @Agent({ tools: [...] })) that are offered to it.
155
161
  */
156
162
  private getToolDefinitions;
163
+ /**
164
+ * The agent's tools its model may call: those whose `availableWhen.surface` offers them on the
165
+ * `'agent'` surface. The others are neither shown to the model nor run for it.
166
+ */
167
+ private getOfferedTools;
157
168
  /**
158
169
  * Create a tool executor for agent-scoped tools.
159
170
  *
@@ -173,6 +184,11 @@ export declare class AgentInstance<InSchema extends ToolInputType = ToolInputTyp
173
184
  * @returns A function that executes tools by name
174
185
  */
175
186
  private createToolExecutor;
187
+ /**
188
+ * The `checkEntryAuthorities` stage of tools:call-tool, for a tool this agent runs directly
189
+ * (`execution.useToolFlow: false`): the caller the agent runs for must satisfy the tool's `authorities`.
190
+ */
191
+ private assertToolAuthorized;
176
192
  /**
177
193
  * Extract the actual result from MCP CallToolResult format.
178
194
  *
@@ -1 +1 @@
1
- {"version":3,"file":"agent.instance.d.ts","sourceRoot":"","sources":["../../src/agent/agent.instance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.instance.d.ts","sourceRoot":"","sources":["../../src/agent/agent.instance.ts"],"names":[],"mappings":"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"}
@@ -76,6 +76,12 @@ export declare class AgentScope {
76
76
  get toolUI(): import("../tool/ui").ToolUIRegistry | undefined;
77
77
  get skills(): import("@frontmcp/sdk").SkillRegistryInterface;
78
78
  get scopeMetadata(): import("../common").ScopeMetadata;
79
+ /** The server's authorities engine: the agent's tools answer to its rules like every other tool. */
80
+ get authoritiesEngine(): import("@frontmcp/auth").AuthoritiesEngine | undefined;
81
+ /** The server's builder for the context `authorities` rules are evaluated against (claims mapping included). */
82
+ get authoritiesContextBuilder(): import("@frontmcp/auth").AuthoritiesContextBuilder | undefined;
83
+ /** The server's mapping from authority denials to OAuth scope challenges. */
84
+ get authoritiesScopeMapping(): import("@frontmcp/auth").AuthoritiesScopeMapping | undefined;
79
85
  registryFlows(...flows: FlowType[]): Promise<void>;
80
86
  runFlow<Name extends FlowName>(name: Name, input: FlowInputOf<Name>, deps?: Map<Token, Type>): Promise<FlowOutputOf<Name> | undefined>;
81
87
  runFlowForOutput<Name extends FlowName>(name: Name, input: FlowInputOf<Name>, deps?: Map<Token, Type>): Promise<FlowOutputOf<Name>>;
@@ -1 +1 @@
1
- {"version":3,"file":"agent.scope.d.ts","sourceRoot":"","sources":["../../src/agent/agent.scope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.scope.d.ts","sourceRoot":"","sources":["../../src/agent/agent.scope.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent.utils.d.ts","sourceRoot":"","sources":["../../src/agent/agent.utils.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,KAAK,KAAK,EAAa,MAAM,cAAc,CAAC;AAErD,OAAO,EAIL,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,SAAS,EACf,MAAM,WAAW,CAAC;AAQnB;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAGzF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAIlG;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,QAAQ,GAAG,aAAa,CA8BtE;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GAAG,aAAa,CAGzG;AAMD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,WAAW,CA4D5D;AAMD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK,EAAE,CAoB/D;AAMD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAgBrD;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,CAE5E;AAMD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAQnE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAEtE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAEjE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,EAAE,CAGpE"}
1
+ {"version":3,"file":"agent.utils.d.ts","sourceRoot":"","sources":["../../src/agent/agent.utils.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,KAAK,KAAK,EAAa,MAAM,cAAc,CAAC;AAErD,OAAO,EAIL,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,SAAS,EACf,MAAM,WAAW,CAAC;AAQnB;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAGzF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAIlG;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,QAAQ,GAAG,aAAa,CAmCtE;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GAAG,aAAa,CAGzG;AAMD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,WAAW,CA4D5D;AAMD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK,EAAE,CAoB/D;AAMD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAgBrD;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,CAE5E;AAMD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAQnE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAEtE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAEjE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,EAAE,CAGpE"}
@@ -8,6 +8,16 @@ import { type AuthUiRegistry } from './auth-ui.registry';
8
8
  export { AUTH_MOUNT_ID };
9
9
  /** Path the auth extra submissions POST to (action discriminates the extra). */
10
10
  export declare function authUiExtraPath(fullPath: string): string;
11
+ /**
12
+ * The CSP source expression that lets a form submission end at `target`, or
13
+ * `undefined` when none can name it exactly:
14
+ * - an `http(s)` URL: its origin (`https://app.example.com:8443`);
15
+ * - a native app's private-use scheme (RFC 8252 §7.1, `com.example.app:/cb`),
16
+ * which has no origin: that scheme;
17
+ * - anything else (unparseable, an IPv6 host a CSP source can't express, a
18
+ * script or local scheme): nothing, so the redirect stays blocked.
19
+ */
20
+ export declare function formActionSource(target: string): string | undefined;
11
21
  /**
12
22
  * The Content-Security-Policy for an auth-UI page.
13
23
  *
@@ -17,11 +27,26 @@ export declare function authUiExtraPath(fullPath: string): string;
17
27
  * user input). It does NOT include `'unsafe-eval'` — the TSX→JS transform is
18
28
  * done server-side, so the browser never evals source. Framing is denied to
19
29
  * prevent clickjacking of the login / consent form.
30
+ *
31
+ * `form-action` allows this server plus the origin of each of `formTargets`:
32
+ * the URLs the server may redirect a submission of the page's form to (the
33
+ * client's validated `redirect_uri`, an upstream provider's authorization
34
+ * endpoint). Browsers apply `form-action` to those redirects, so with `'self'`
35
+ * alone the sign-in would stop at the callback.
36
+ *
37
+ * @param formTargets - Where a submission of the page's form may be redirected
20
38
  */
39
+ export declare function authUiCsp(formTargets?: readonly string[]): string;
40
+ /** The auth-UI CSP for a page whose form can only reach this server (see {@link authUiCsp}). */
21
41
  export declare const AUTH_UI_CSP: string;
22
42
  /**
23
43
  * Build the auth security headers for an auth-UI page (CSP + anti-clickjacking).
24
44
  *
45
+ * `Referrer-Policy: same-origin`, as on the built-in pages: the page's URL
46
+ * stays away from esm.sh, while a POST of its form still carries its `Origin`,
47
+ * which `/oauth/callback` checks (`no-referrer` would send `Origin: null`, and
48
+ * the callback would refuse every sign-in as cross-origin).
49
+ *
25
50
  * @param csp - Override the CSP value (defaults to {@link AUTH_UI_CSP}).
26
51
  */
27
52
  export declare function authUiPageHeaders(csp?: string): Record<string, string>;
@@ -42,6 +67,12 @@ export declare function buildAuthUiPage(options: {
42
67
  fullPath: string;
43
68
  /** Page <title> (defaults to a slot-appropriate label). */
44
69
  title?: string;
70
+ /**
71
+ * Where the server may redirect a submission of the page's form (the
72
+ * validated `redirect_uri`, upstream authorization endpoints); their origins
73
+ * are allowed in the CSP `form-action` (see {@link authUiCsp}).
74
+ */
75
+ formTargets?: readonly string[];
45
76
  }): {
46
77
  html: string;
47
78
  headers: Record<string, string>;
@@ -1 +1 @@
1
- {"version":3,"file":"auth-ui.render.d.ts","sourceRoot":"","sources":["../../../src/auth/auth-ui/auth-ui.render.ts"],"names":[],"mappings":"AA+CA,OAAO,EAAwB,aAAa,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC5G,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD;;;;GAIG;AACH,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB,gFAAgF;AAChF,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAIxD;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW,QASZ,CAAC;AAEb;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,MAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOnF;AAED,kFAAkF;AAClF,wBAAgB,qBAAqB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAE9D;AAiBD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE;IACvC,QAAQ,EAAE,cAAc,CAAC;IACzB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,SAAS,CAwChE"}
1
+ {"version":3,"file":"auth-ui.render.d.ts","sourceRoot":"","sources":["../../../src/auth/auth-ui/auth-ui.render.ts"],"names":[],"mappings":"AA+CA,OAAO,EAAwB,aAAa,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC5G,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD;;;;GAIG;AACH,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB,gFAAgF;AAChF,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAIxD;AAKD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAYnE;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,SAAS,CAAC,WAAW,GAAE,SAAS,MAAM,EAAO,GAAG,MAAM,CAgBrE;AAED,gGAAgG;AAChG,eAAO,MAAM,WAAW,QAAc,CAAC;AAEvC;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,MAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQnF;AAED,kFAAkF;AAClF,wBAAgB,qBAAqB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAE9D;AAiBD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE;IACvC,QAAQ,EAAE,cAAc,CAAC;IACzB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACjC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,SAAS,CAwChE"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth-ui.state.d.ts","sourceRoot":"","sources":["../../../src/auth/auth-ui/auth-ui.state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAoB,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE5G,+DAA+D;AAC/D,UAAU,UAAU;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,8DAA8D;IAC9D,SAAS,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;CACxC;AAED,oCAAoC;AACpC,wBAAgB,eAAe,CAC7B,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACvG,aAAa,CAcf;AAED,sCAAsC;AACtC,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,QAAQ,EAAE,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACvF,aAAa,CAaf;AAED,wCAAwC;AACxC,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,YAAY,EAAE,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC9F,aAAa,CAef;AAED,0CAA0C;AAC1C,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACtG,aAAa,CAiBf;AAED,mEAAmE;AACnE,wBAAgB,eAAe,CAAC,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,aAAa,CAM9F"}
1
+ {"version":3,"file":"auth-ui.state.d.ts","sourceRoot":"","sources":["../../../src/auth/auth-ui/auth-ui.state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,YAAY,EAEjB,KAAK,QAAQ,EACd,MAAM,oBAAoB,CAAC;AAS5B,+DAA+D;AAC/D,UAAU,UAAU;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,8DAA8D;IAC9D,SAAS,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;CACxC;AAED,oCAAoC;AACpC,wBAAgB,eAAe,CAC7B,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACvG,aAAa,CAef;AAED,sCAAsC;AACtC,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,QAAQ,EAAE,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACvF,aAAa,CAcf;AAED,wCAAwC;AACxC,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,YAAY,EAAE,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC9F,aAAa,CAgBf;AAED,0CAA0C;AAC1C,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACtG,aAAa,CAkBf;AAED,mEAAmE;AACnE,wBAAgB,eAAe,CAAC,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,aAAa,CAM9F"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth.verify.flow.d.ts","sourceRoot":"","sources":["../../../src/auth/flows/auth.verify.flow.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,QAAQ,EAQR,KAAK,cAAc,EACpB,MAAM,cAAc,CAAC;AAEtB,OAAO,kBAAkB,CAAC;AAI1B,OAAO,EAiBL,KAAK,aAAa,EAMnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AAKvC,QAAA,MAAM,WAAW;;gCAAyB,CAAC;AAG3C,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;gCAUf,CAAC;AA2BH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAAmE,CAAC;AAEvG,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAGtE,QAAA,MAAM,IAAI;;;CAU2B,CAAC;AAGtC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,WAAW;QACnB,aAAa,EAAE,cAAc,CAC3B,cAAc,EACd,OAAO,IAAI,EACX,OAAO,WAAW,EAClB,OAAO,sBAAsB,EAC7B,OAAO,WAAW,CACnB,CAAC;KACH;CACF;AAED,QAAA,MAAM,IAAI,EAAG,aAAsB,CAAC;AAGpC;;;;;;;;;GASG;AAQH,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,QAAQ,CAAC,OAAO,IAAI,CAAC;IAC/D,OAAO,CAAC,MAAM,CAA6C;IAE3D;;OAEG;IAEG,UAAU;IA6BhB;;OAEG;IAEG,iBAAiB;IAcvB;;OAEG;IAIG,gBAAgB;IAqBtB;;;OAGG;IAQG,uBAAuB;IAsB7B;;OAEG;IAWG,0BAA0B;IAShC;;OAEG;IAIG,WAAW;IAoHjB;;OAEG;IAEG,kBAAkB;IA8FxB;;OAEG;IACH,OAAO,CAAC,QAAQ;IA0BhB;;OAEG;IACH,OAAO,CAAC,WAAW;CAMpB"}
1
+ {"version":3,"file":"auth.verify.flow.d.ts","sourceRoot":"","sources":["../../../src/auth/flows/auth.verify.flow.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,QAAQ,EAQR,KAAK,cAAc,EACpB,MAAM,cAAc,CAAC;AAEtB,OAAO,kBAAkB,CAAC;AAI1B,OAAO,EAiBL,KAAK,aAAa,EAMnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AAKvC,QAAA,MAAM,WAAW;;gCAAyB,CAAC;AAG3C,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;gCAUf,CAAC;AA2BH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAAmE,CAAC;AAEvG,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAGtE,QAAA,MAAM,IAAI;;;CAU2B,CAAC;AAGtC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,WAAW;QACnB,aAAa,EAAE,cAAc,CAC3B,cAAc,EACd,OAAO,IAAI,EACX,OAAO,WAAW,EAClB,OAAO,sBAAsB,EAC7B,OAAO,WAAW,CACnB,CAAC;KACH;CACF;AAED,QAAA,MAAM,IAAI,EAAG,aAAsB,CAAC;AAGpC;;;;;;;;;GASG;AAQH,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,QAAQ,CAAC,OAAO,IAAI,CAAC;IAC/D,OAAO,CAAC,MAAM,CAA6C;IAE3D;;OAEG;IAEG,UAAU;IA6BhB;;OAEG;IAEG,iBAAiB;IAcvB;;OAEG;IAIG,gBAAgB;IAqBtB;;;OAGG;IAQG,uBAAuB;IAsB7B;;OAEG;IAWG,0BAA0B;IAShC;;OAEG;IAIG,WAAW;IAqHjB;;OAEG;IAEG,kBAAkB;IA8FxB;;OAEG;IACH,OAAO,CAAC,QAAQ;IA0BhB;;OAEG;IACH,OAAO,CAAC,WAAW;CAMpB"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * A POSTed HTML form body as a record.
3
+ *
4
+ * The Node host hands the flows an already-parsed object; the fetch handler
5
+ * hands over the raw `application/x-www-form-urlencoded` string. Repeated keys
6
+ * (checkbox groups such as `tools`) become arrays.
7
+ */
8
+ export declare function parseFormBody(body: unknown): Record<string, unknown>;
9
+ //# sourceMappingURL=form-body.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-body.utils.d.ts","sourceRoot":"","sources":["../../../src/auth/flows/form-body.utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASpE"}
@@ -18,7 +18,7 @@
18
18
  */
19
19
  import { type IncrementalAuthTicketPayload } from '@frontmcp/auth';
20
20
  import { z } from '@frontmcp/lazy-zod';
21
- import { FlowBase, type FlowRunOptions } from '../../common';
21
+ import { FlowBase, type FlowOutputOf, type FlowRunOptions } from '../../common';
22
22
  /**
23
23
  * Validated OAuth authorization request for orchestrated mode
24
24
  */
@@ -181,9 +181,23 @@ export default class OauthAuthorizeFlow extends FlowBase<typeof name> {
181
181
  * Returns `undefined` when the configured auth instance has no issuer, so the
182
182
  * parameter is simply omitted rather than emitted empty — a client validating
183
183
  * `iss` treats absence as "not supported" and proceeds.
184
+ *
185
+ * With `request`, the issuer the tokens redeemed for this request name
186
+ * (`LocalPrimaryAuth.issuerFor`); without it, the boot-time issuer.
184
187
  */
185
188
  private resolveIssuer;
186
189
  private logger;
190
+ /** The sign-in binding cookie, once the pending authorization exists (see `prepareAuthorizationRequest`). */
191
+ private signinCookie;
192
+ /** Its hash, kept on the pending authorization and on remote mode's federated session. */
193
+ private signinBindingHash;
194
+ /**
195
+ * Respond, giving the browser the sign-in binding cookie once a pending
196
+ * authorization was created: the sign-in page, the provider-selection and
197
+ * incremental pages, a custom `auth.ui` page and remote mode's redirect to the
198
+ * upstream provider all carry it.
199
+ */
200
+ respond(output: FlowOutputOf<typeof name>): void;
187
201
  checkIpFilter(): Promise<void>;
188
202
  parseInput(): Promise<void>;
189
203
  validateInput(): Promise<void>;
@@ -207,10 +221,15 @@ export default class OauthAuthorizeFlow extends FlowBase<typeof name> {
207
221
  * pending authorization record (so the callback can verify it across nodes),
208
222
  * builds the {@link AuthFlowState} via `buildState`, SSRs the registered
209
223
  * component, and responds with the assembled page + CSP / anti-clickjacking
210
- * headers. Returns `true` when it handled the slot (caller should `return`),
211
- * `false` to fall through to the built-in page (no renderer / build failed).
224
+ * headers. `formTargets` are where the callback may redirect a submission of
225
+ * the page (the validated `redirect_uri`, upstream authorization endpoints):
226
+ * the page's CSP `form-action` allows their origins. Returns `true` when it
227
+ * handled the slot (caller should `return`), `false` to fall through to the
228
+ * built-in page (no renderer / build failed).
212
229
  */
213
230
  private tryRenderCustomSlot;
231
+ /** The authorization endpoints of the upstream providers among `providerIds` (others have none). */
232
+ private providerAuthorizationEndpoints;
214
233
  /**
215
234
  * Remote mode (`mode: 'remote'`) auto-federation.
216
235
  *
@@ -229,24 +248,32 @@ export default class OauthAuthorizeFlow extends FlowBase<typeof name> {
229
248
  */
230
249
  private startRemoteFederation;
231
250
  validateOutput(): Promise<void>;
251
+ /** An HTML response with the built-in auth pages' security headers (#263). */
252
+ private htmlPage;
232
253
  /**
233
- * Enforce the local-AS DCR allowlists (#462) at authorize time. Returns a
234
- * human-readable rejection reason, or `undefined` when the request is allowed
235
- * (including when no allowlist is configured, or the auth instance does not
236
- * expose a DCR registry — e.g. non-local modes).
237
- *
238
- * - `allowedRedirectUris`: applies to ALL clients (CIMD or not) as an
239
- * open-redirect / lateral-movement guard.
240
- * - `allowedClientIds`: applies only to non-CIMD client ids; CIMD URLs are
241
- * validated by the CIMD layer instead.
254
+ * Enforce the local-AS DCR `allowedRedirectUris` (#462) at authorize time,
255
+ * for ALL clients (CIMD or not) as an open-redirect / lateral-movement guard.
256
+ * Returns a human-readable rejection reason, or `undefined` when the
257
+ * redirect_uri is allowed (including when no allowlist is configured, or the
258
+ * auth instance does not expose a DCR registry — e.g. non-local modes).
242
259
  */
243
- private checkDcrAllowlist;
260
+ private checkDcrRedirectAllowlist;
261
+ /**
262
+ * Enforce the local-AS DCR `allowedClientIds` (#462) at authorize time, for
263
+ * non-CIMD client ids (the caller skips CIMD URLs, which the CIMD layer
264
+ * validates). Returns a human-readable rejection reason, or `undefined` when
265
+ * the client is allowed or no allowlist is configured.
266
+ */
267
+ private checkDcrClientIdAllowlist;
244
268
  /**
245
269
  * Format Zod errors into human-readable strings
246
270
  */
247
271
  private formatZodErrors;
248
272
  /**
249
- * Respond with OAuth error - redirect if possible, otherwise show error page
273
+ * Respond with OAuth error - redirect if possible, otherwise show error page.
274
+ *
275
+ * @param redirectUri A redirect_uri validated for the client; omit it for an error page.
276
+ * @param error The RFC 6749 §4.1.2.1 error code. Default `invalid_request`.
250
277
  */
251
278
  private respondWithError;
252
279
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.authorize.flow.d.ts","sourceRoot":"","sources":["../../../src/auth/flows/oauth.authorize.flow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH;;;;;;GAMG;AACH,OAAO,EAaL,KAAK,4BAA4B,EAIlC,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,CAAC,EAAiB,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAIL,QAAQ,EAWR,KAAK,cAAc,EACpB,MAAM,cAAc,CAAC;AAwEtB;;GAEG;AACH,QAAA,MAAM,2BAA2B;;;;;;;;;gCAS/B,CAAC;AAEH;;GAEG;AACH,QAAA,MAAM,+BAA+B;;;gCAGnC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAMxF,QAAA,MAAM,WAAW;;;;gCAAkB,CAAC;AAEpC,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAuCf,CAAC;AAEH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAIhB,CAAC;AAEH,QAAA,MAAM,IAAI;;;;CAS2B,CAAC;AAEtC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,WAAW;QACnB,iBAAiB,EAAE,cAAc,CAC/B,kBAAkB,EAClB,OAAO,IAAI,EACX,OAAO,WAAW,EAClB,OAAO,YAAY,EACnB,OAAO,WAAW,CACnB,CAAC;KACH;CACF;AAED,QAAA,MAAM,IAAI,EAAG,iBAA0B,CAAC;AAkCxC,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,QAAQ,CAAC,OAAO,IAAI,CAAC;IACnE;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,MAAM,CAAiD;IAGzD,aAAa;IAKb,UAAU;IAwGV,aAAa;IA2KnB;;;;;;;;OAQG;IACH,OAAO,CAAC,uBAAuB;IAiBzB,iBAAiB;IASjB,2BAA2B;IAsJ3B,oBAAoB;IAiL1B;;;;;;;;;OASG;YACW,mBAAmB;IA4CjC;;;;;;;;;;;;;;;OAeG;YACW,qBAAqB;IAsE7B,cAAc;IAIpB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,iBAAiB;IAkBzB;;OAEG;IACH,OAAO,CAAC,eAAe;IAOvB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAuBxB;;;;;;;;OAQG;IACH,OAAO,CAAC,eAAe;IA+BvB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAyBjC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA2BhC;;OAEG;IACH,OAAO,CAAC,eAAe;CAyCxB"}
1
+ {"version":3,"file":"oauth.authorize.flow.d.ts","sourceRoot":"","sources":["../../../src/auth/flows/oauth.authorize.flow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH;;;;;;GAMG;AACH,OAAO,EAgBL,KAAK,4BAA4B,EAIlC,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,CAAC,EAAiB,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAIL,QAAQ,EAWR,KAAK,YAAY,EAEjB,KAAK,cAAc,EAGpB,MAAM,cAAc,CAAC;AAyEtB;;GAEG;AACH,QAAA,MAAM,2BAA2B;;;;;;;;;gCAS/B,CAAC;AAEH;;GAEG;AACH,QAAA,MAAM,+BAA+B;;;gCAGnC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAMxF,QAAA,MAAM,WAAW;;;;gCAAkB,CAAC;AAEpC,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAyCf,CAAC;AAEH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAIhB,CAAC;AAEH,QAAA,MAAM,IAAI;;;;CAS2B,CAAC;AAEtC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,WAAW;QACnB,iBAAiB,EAAE,cAAc,CAC/B,kBAAkB,EAClB,OAAO,IAAI,EACX,OAAO,WAAW,EAClB,OAAO,YAAY,EACnB,OAAO,WAAW,CACnB,CAAC;KACH;CACF;AAED,QAAA,MAAM,IAAI,EAAG,iBAA0B,CAAC;AAkCxC,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,QAAQ,CAAC,OAAO,IAAI,CAAC;IACnE;;;;;;;;;OASG;IACH,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,MAAM,CAAiD;IAE/D,6GAA6G;IAC7G,OAAO,CAAC,YAAY,CAAyB;IAC7C,0FAA0F;IAC1F,OAAO,CAAC,iBAAiB,CAAqB;IAE9C;;;;;OAKG;IACM,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,IAAI,CAAC,GAAG,IAAI;IAKnD,aAAa;IAKb,UAAU;IA0GV,aAAa;IAoPnB;;;;;;;;OAQG;IACH,OAAO,CAAC,uBAAuB;IAiBzB,iBAAiB;IASjB,2BAA2B;IAiK3B,oBAAoB;IAkM1B;;;;;;;;;;;;OAYG;YACW,mBAAmB;IA6CjC,oGAAoG;IACpG,OAAO,CAAC,8BAA8B;IAWtC;;;;;;;;;;;;;;;OAeG;YACW,qBAAqB;IAuE7B,cAAc;IAIpB,8EAA8E;IAC9E,OAAO,CAAC,QAAQ;IAIhB;;;;;;OAMG;IACH,OAAO,CAAC,yBAAyB;IAQjC;;;;;OAKG;IACH,OAAO,CAAC,yBAAyB;IAQjC;;OAEG;IACH,OAAO,CAAC,eAAe;IAOvB;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAuBxB;;;;;;;;OAQG;IACH,OAAO,CAAC,eAAe;IA+BvB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAyBjC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA2BhC;;OAEG;IACH,OAAO,CAAC,eAAe;CAyCxB"}
@@ -50,6 +50,7 @@ declare const stateSchema: import("@frontmcp/lazy-zod").ZodObject<{
50
50
  selectedTools: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodArray<import("@frontmcp/lazy-zod").ZodString>>;
51
51
  consentSubmitted: import("@frontmcp/lazy-zod").ZodDefault<import("@frontmcp/lazy-zod").ZodBoolean>;
52
52
  csrf: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodString>;
53
+ signinBinding: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodString>;
53
54
  }, import("zod/v4/core").$strip>;
54
55
  declare const outputSchema: import("@frontmcp/lazy-zod").ZodUnion<readonly [import("@frontmcp/lazy-zod").ZodObject<{
55
56
  kind: import("@frontmcp/lazy-zod").ZodLiteral<"redirect">;
@@ -111,6 +112,9 @@ export default class OauthCallbackFlow extends FlowBase<typeof name> {
111
112
  * Returns `undefined` when the configured auth instance has no issuer, so the
112
113
  * parameter is simply omitted rather than emitted empty — a client validating
113
114
  * `iss` treats absence as "not supported" and proceeds.
115
+ *
116
+ * With `request`, the issuer the tokens redeemed for this request name
117
+ * (`LocalPrimaryAuth.issuerFor`); without it, the boot-time issuer.
114
118
  */
115
119
  private resolveIssuer;
116
120
  checkIpFilter(): Promise<void>;
@@ -168,13 +172,14 @@ export default class OauthCallbackFlow extends FlowBase<typeof name> {
168
172
  * to the verifier as if they were login fields. Only string values are kept.
169
173
  */
170
174
  /**
171
- * Defensively read a single param from a urlencoded POST body (some adapters
172
- * parse the body into `request.body`). The consent form uses a GET round-trip
173
- * (mirroring the federated page) so query params are the primary source; this
174
- * is a fallback for adapters that route a POST body instead. Multi-valued
175
- * keys keep all values so checkbox groups (`tools`) survive a POST.
175
+ * Read a single param from the POSTed form body. The built-in sign-in and
176
+ * consent forms POST here; the Node host hands the body over parsed, the fetch
177
+ * handler as the raw urlencoded string. Multi-valued keys keep all values so
178
+ * checkbox groups (`tools`, `providers`) survive.
176
179
  */
177
180
  private readBodyParam;
181
+ /** A single-valued param from the query (GET) or the form body (POST). */
182
+ private readParam;
178
183
  /**
179
184
  * Same-origin (CSRF) check for a state-changing login/consent submission.
180
185
  *
@@ -229,16 +234,31 @@ export default class OauthCallbackFlow extends FlowBase<typeof name> {
229
234
  * custom page already set on the record, so a consent re-render keeps the same
230
235
  * token), builds the consent {@link AuthFlowState} from the SAME tool
231
236
  * projection the built-in screen uses, SSRs the component, and responds with
232
- * the assembled page + CSP headers. Returns `true` when handled.
237
+ * the assembled page + CSP headers (its `form-action` allows the client's
238
+ * `redirect_uri`, where the submission is redirected). Returns `true` when handled.
233
239
  */
234
240
  private tryRenderCustomConsent;
241
+ /**
242
+ * Keep the sign-in this request verified on the pending record while the
243
+ * consent screen is shown (#263), and give that screen a CSRF token.
244
+ *
245
+ * The consent form then needs only `pending_auth_id`, the token and the
246
+ * chosen tools: no login field (a password included) is written into the page
247
+ * or sent back through the browser. The sign-in is sealed with the server
248
+ * secret because it may carry `authenticate()` credentials and the record may
249
+ * live in a shared store. Fails closed: when the record can't be written the
250
+ * consent screen is not shown.
251
+ *
252
+ * @returns false when it already responded with an error.
253
+ */
254
+ private keepSignInForConsent;
235
255
  /**
236
256
  * Render the tool-consent screen.
237
257
  *
238
- * The form GETs back to `/oauth/callback` carrying `pending_auth_id`,
239
- * `consent_submitted=1`, the resolved identity (`email`/`name` + any custom
240
- * `login.fields`), and the chosen `tools=` checkboxes — so the resubmit
241
- * re-derives the SAME subject and proceeds to mint.
258
+ * The form POSTs back to `/oauth/callback` carrying `pending_auth_id`, the
259
+ * CSRF token, `consent_submitted=1` and the chosen `tools=` checkboxes. It
260
+ * carries no sign-in fields: {@link keepSignInForConsent} kept the verified
261
+ * sign-in on the pending record, and the resubmit completes it from there.
242
262
  *
243
263
  * Honors the `auth.consent` flags: `groupByApp`, `showDescriptions`,
244
264
  * `customMessage`, `allowSelectAll`, `requireSelection`, `defaultSelectedTools`
@@ -247,6 +267,8 @@ export default class OauthCallbackFlow extends FlowBase<typeof name> {
247
267
  * (used for an empty `requireSelection` submit).
248
268
  */
249
269
  private renderConsentScreen;
270
+ /** An HTML response with the built-in auth pages' security headers (#263). */
271
+ private htmlPage;
250
272
  /**
251
273
  * Generate a stable user sub from email
252
274
  * In production, this would be the user's ID from the database
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.callback.flow.d.ts","sourceRoot":"","sources":["../../../src/auth/flows/oauth.callback.flow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAgBH,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AAGvC,OAAO,EAGL,QAAQ,EAQR,KAAK,cAAc,EACpB,MAAM,cAAc,CAAC;AAKtB,QAAA,MAAM,WAAW;;;;gCAAkB,CAAC;AAEpC,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCA2Df,CAAC;AAEH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAAgD,CAAC;AAEnE,QAAA,MAAM,IAAI;;;CAG2B,CAAC;AAEtC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,WAAW;QACnB,gBAAgB,EAAE,cAAc,CAC9B,iBAAiB,EACjB,OAAO,IAAI,EACX,OAAO,WAAW,EAClB,OAAO,YAAY,EACnB,OAAO,WAAW,CACnB,CAAC;KACH;CACF;AAED,QAAA,MAAM,IAAI,EAAG,gBAAyB,CAAC;AAcvC,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,QAAQ,CAAC,OAAO,IAAI,CAAC;IAClE,OAAO,CAAC,MAAM,CAAgD;IAE9D;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAMf,aAAa;IAKb,UAAU;IA4EV,mBAAmB;IAsZzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IAEG,qBAAqB;IA2D3B;;;;;;OAMG;IAEG,mBAAmB;IAiInB,uBAAuB;IA2GvB,gBAAgB;IA8CtB;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAqB1C;IAEH;;;;;OAKG;IACH;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAYrB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,uBAAuB;IA4B/B,OAAO,CAAC,kBAAkB;IAsB1B;;;;OAIG;YACW,eAAe;IAgC7B;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAQpB;;;;OAIG;YACW,iBAAiB;IAoB/B;;;;;;;OAOG;IACH,OAAO,CAAC,yBAAyB;IAYjC;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAmB5B;;;;;;;;OAQG;YACW,sBAAsB;IA0EpC;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,mBAAmB;IA8D3B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAQvB;;OAEG;IACH,OAAO,CAAC,eAAe;CAqDxB"}
1
+ {"version":3,"file":"oauth.callback.flow.d.ts","sourceRoot":"","sources":["../../../src/auth/flows/oauth.callback.flow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAoBH,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AAUvC,OAAO,EAGL,QAAQ,EAQR,KAAK,cAAc,EAEpB,MAAM,cAAc,CAAC;AAatB,QAAA,MAAM,WAAW;;;;gCAAkB,CAAC;AAEpC,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCA8Df,CAAC;AAEH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAAgD,CAAC;AAEnE,QAAA,MAAM,IAAI;;;CAG2B,CAAC;AAEtC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,WAAW;QACnB,gBAAgB,EAAE,cAAc,CAC9B,iBAAiB,EACjB,OAAO,IAAI,EACX,OAAO,WAAW,EAClB,OAAO,YAAY,EACnB,OAAO,WAAW,CACnB,CAAC;KACH;CACF;AAED,QAAA,MAAM,IAAI,EAAG,gBAAyB,CAAC;AAevC,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,QAAQ,CAAC,OAAO,IAAI,CAAC;IAClE,OAAO,CAAC,MAAM,CAAgD;IAE9D;;;;;;;;;OASG;IACH,OAAO,CAAC,aAAa;IAOf,aAAa;IAKb,UAAU;IA4EV,mBAAmB;IA+bzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IAEG,qBAAqB;IA2D3B;;;;;;OAMG;IAEG,mBAAmB;IAiInB,uBAAuB;IA2GvB,gBAAgB;IAyDtB;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAqB1C;IAEH;;;;;OAKG;IACH;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAUrB,0EAA0E;IAC1E,OAAO,CAAC,SAAS;IAOjB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,uBAAuB;IA4B/B,OAAO,CAAC,kBAAkB;IAqB1B;;;;OAIG;YACW,eAAe;IAgC7B;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAQpB;;;;OAIG;YACW,iBAAiB;IAoB/B;;;;;;;OAOG;IACH,OAAO,CAAC,yBAAyB;IAYjC;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAmB5B;;;;;;;;;OASG;YACW,sBAAsB;IAgFpC;;;;;;;;;;;;OAYG;YACW,oBAAoB;IA4BlC;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,mBAAmB;IA0C3B,8EAA8E;IAC9E,OAAO,CAAC,QAAQ;IAIhB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAQvB;;OAEG;IACH,OAAO,CAAC,eAAe;CAqDxB"}
@@ -68,6 +68,8 @@ export default class OauthConnectFlow extends FlowBase<typeof name> {
68
68
  private verifyToken;
69
69
  /** Resolve the single credential field to render from `login.fields` (first field), or a default. */
70
70
  private resolveConnectField;
71
+ /** An HTML response with the built-in auth pages' security headers (#263). */
72
+ private htmlPage;
71
73
  /** Render the single-field connect page (reusing the login field renderer). */
72
74
  private renderConnectPage;
73
75
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.connect.flow.d.ts","sourceRoot":"","sources":["../../../src/auth/flows/oauth.connect.flow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAgBH,OAAO,EAGL,QAAQ,EAMR,KAAK,cAAc,EAEpB,MAAM,cAAc,CAAC;AAGtB,QAAA,MAAM,WAAW;;;;gCAAkB,CAAC;AAEpC,QAAA,MAAM,WAAW;;;;gCAOf,CAAC;AAEH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;gCAAiB,CAAC;AAEpC,QAAA,MAAM,IAAI;;;CAG2B,CAAC;AAEtC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,WAAW;QACnB,eAAe,EAAE,cAAc,CAC7B,gBAAgB,EAChB,OAAO,IAAI,EACX,OAAO,WAAW,EAClB,OAAO,YAAY,EACnB,OAAO,WAAW,CACnB,CAAC;KACH;CACF;AAED,QAAA,MAAM,IAAI,EAAG,eAAwB,CAAC;AAiBtC,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,QAAQ,CAAC,OAAO,IAAI,CAAC;IACjE,OAAO,CAAC,MAAM,CAA+C;IAGvD,aAAa;IAKb,UAAU;IAeV,aAAa;IAwHnB,yFAAyF;IACzF,OAAO,CAAC,WAAW;IAKnB,qGAAqG;IACrG,OAAO,CAAC,mBAAmB;IAW3B,+EAA+E;IAC/E,OAAO,CAAC,iBAAiB;IAoBzB;;;OAGG;YACW,eAAe;IA4B7B,+FAA+F;IAC/F,OAAO,CAAC,YAAY;IAQpB,oFAAoF;IACpF,OAAO,CAAC,sBAAsB;IAiB9B,4DAA4D;IAC5D,OAAO,CAAC,UAAU;IAyBlB,+FAA+F;IAC/F,OAAO,CAAC,aAAa;IAerB,2CAA2C;IAC3C,OAAO,CAAC,WAAW;CAQpB"}
1
+ {"version":3,"file":"oauth.connect.flow.d.ts","sourceRoot":"","sources":["../../../src/auth/flows/oauth.connect.flow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAiBH,OAAO,EAGL,QAAQ,EAMR,KAAK,cAAc,EAEpB,MAAM,cAAc,CAAC;AAGtB,QAAA,MAAM,WAAW;;;;gCAAkB,CAAC;AAEpC,QAAA,MAAM,WAAW;;;;gCAOf,CAAC;AAEH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;gCAAiB,CAAC;AAEpC,QAAA,MAAM,IAAI;;;CAG2B,CAAC;AAEtC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,WAAW;QACnB,eAAe,EAAE,cAAc,CAC7B,gBAAgB,EAChB,OAAO,IAAI,EACX,OAAO,WAAW,EAClB,OAAO,YAAY,EACnB,OAAO,WAAW,CACnB,CAAC;KACH;CACF;AAED,QAAA,MAAM,IAAI,EAAG,eAAwB,CAAC;AAiBtC,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,QAAQ,CAAC,OAAO,IAAI,CAAC;IACjE,OAAO,CAAC,MAAM,CAA+C;IAGvD,aAAa;IAKb,UAAU;IAeV,aAAa;IAqHnB,yFAAyF;IACzF,OAAO,CAAC,WAAW;IAKnB,qGAAqG;IACrG,OAAO,CAAC,mBAAmB;IAW3B,8EAA8E;IAC9E,OAAO,CAAC,QAAQ;IAIhB,+EAA+E;IAC/E,OAAO,CAAC,iBAAiB;IAoBzB;;;OAGG;YACW,eAAe;IA4B7B,+FAA+F;IAC/F,OAAO,CAAC,YAAY;IAQpB,oFAAoF;IACpF,OAAO,CAAC,sBAAsB;IAiB9B,4DAA4D;IAC5D,OAAO,CAAC,UAAU;IAyBlB,+FAA+F;IAC/F,OAAO,CAAC,aAAa;IAerB,2CAA2C;IAC3C,OAAO,CAAC,WAAW;CAQpB"}
@@ -36,6 +36,7 @@ declare const stateSchema: import("@frontmcp/lazy-zod").ZodObject<{
36
36
  providerTokens: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodUnknown>;
37
37
  providerUserInfo: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodUnknown>;
38
38
  consentSessionId: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodString>;
39
+ consentCsrf: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodString>;
39
40
  consentSubmitted: import("@frontmcp/lazy-zod").ZodDefault<import("@frontmcp/lazy-zod").ZodBoolean>;
40
41
  selectedTools: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodArray<import("@frontmcp/lazy-zod").ZodString>>;
41
42
  }, import("zod/v4/core").$strip>;
@@ -105,13 +106,20 @@ export default class OauthProviderCallbackFlow extends FlowBase<typeof name> {
105
106
  *
106
107
  * Federated logins complete (mint the code) here, AFTER all providers are
107
108
  * linked. When consent mode is enabled, {@link completeFederatedAuth} first
108
- * renders the consent screen, which GETs back to this endpoint with
109
- * `consent_session=<sessionId>` + `tools=`. This stage loads that still alive
110
- * session, applies the selection (validating + `requireSelection`), and
111
- * completes the mint — short-circuiting the provider-code path entirely.
109
+ * renders the consent screen, which POSTs back to this endpoint with
110
+ * `consent_session=<sessionId>`, the screen's `csrf` token and `tools=`. This
111
+ * stage loads that still alive session, checks the token, applies the
112
+ * selection (validating + `requireSelection`), and completes the mint —
113
+ * short-circuiting the provider-code path entirely.
112
114
  */
113
115
  handleConsentSubmission(): Promise<void>;
114
116
  loadFederatedSession(): Promise<void>;
117
+ /**
118
+ * Whether this request comes from the browser that started the sign-in of
119
+ * `session` (it carries the session's binding cookie). Responds with a 400
120
+ * page, and returns false, when it doesn't.
121
+ */
122
+ private fromBrowserThatStarted;
115
123
  validateProviderCallback(): Promise<void>;
116
124
  exchangeProviderCode(): Promise<void>;
117
125
  storeProviderTokens(): Promise<void>;
@@ -121,8 +129,9 @@ export default class OauthProviderCallbackFlow extends FlowBase<typeof name> {
121
129
  *
122
130
  * When consent mode is enabled this runs in two passes:
123
131
  * 1. First reach (no `consent.consentSubmitted`): render the consent screen,
124
- * which GETs back to this endpoint with `consent_session` + `tools=`. The
125
- * federated session is kept ALIVE for the round-trip.
132
+ * which POSTs back to this endpoint with `consent_session`, the CSRF token
133
+ * kept on the session and `tools=`. The federated session is kept ALIVE
134
+ * for the round-trip.
126
135
  * 2. Resubmit (`consent.consentSubmitted` true): validate the selection
127
136
  * (honoring `requireSelection`) and mint the code with the consented set.
128
137
  *
@@ -130,20 +139,31 @@ export default class OauthProviderCallbackFlow extends FlowBase<typeof name> {
130
139
  */
131
140
  private completeFederatedAuth;
132
141
  /**
133
- * Render the federated consent screen. The form GETs back to this provider
134
- * callback endpoint with `consent_session=<sessionId>` + the chosen `tools=`
135
- * (and `consent_submitted=1`), so {@link handleConsentSubmission} completes
136
- * the mint. Honors the same `auth.consent` flags as the non-federated path.
142
+ * Give the federated session the consent screen's CSRF token and persist it
143
+ * before the screen is shown. Fails closed: when the session can't be
144
+ * written, no consent screen goes out (its submission could not be checked).
145
+ */
146
+ private keepConsentCsrf;
147
+ /**
148
+ * Render the federated consent screen. The form POSTs back to this provider
149
+ * callback endpoint with `consent_session=<sessionId>`, the session's `csrf`
150
+ * token and the chosen `tools=` (and `consent_submitted=1`), so
151
+ * {@link handleConsentSubmission} completes the mint. Honors the same
152
+ * `auth.consent` flags as the non-federated path.
137
153
  */
138
154
  private renderConsentScreen;
139
155
  /**
140
156
  * Generate a deterministic user sub from email
141
157
  */
142
158
  private generateUserSub;
159
+ /** End a federated sign-in that won't complete: drop its session and pending authorization. */
160
+ private abandon;
143
161
  /**
144
162
  * Render an error page
145
163
  */
146
164
  private renderErrorPage;
165
+ /** An HTML response with the built-in auth pages' security headers (#263). */
166
+ private htmlPage;
147
167
  private getStateValidation;
148
168
  }
149
169
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.provider-callback.flow.d.ts","sourceRoot":"","sources":["../../../src/auth/flows/oauth.provider-callback.flow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAeH,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AAGvC,OAAO,EAGL,QAAQ,EASR,KAAK,cAAc,EACpB,MAAM,cAAc,CAAC;AAKtB,QAAA,MAAM,WAAW;;;;gCAAkB,CAAC;AAEpC,QAAA,MAAM,WAAW;;;;;;;;;;;;;;gCAqBf,CAAC;AAEH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAAgD,CAAC;AAEnE,QAAA,MAAM,IAAI;;;CAG2B,CAAC;AAEtC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,WAAW;QACnB,yBAAyB,EAAE,cAAc,CACvC,yBAAyB,EACzB,OAAO,IAAI,EACX,OAAO,WAAW,EAClB,OAAO,YAAY,EACnB,OAAO,WAAW,CACnB,CAAC;KACH;CACF;AAED,QAAA,MAAM,IAAI,EAAG,yBAAkC,CAAC;AAchD,MAAM,CAAC,OAAO,OAAO,yBAA0B,SAAQ,QAAQ,CAAC,OAAO,IAAI,CAAC;IAC1E,OAAO,CAAC,MAAM,CAAwD;IAEtE;;;OAGG;IACH,OAAO,CAAC,YAAY;IASd,aAAa;IAKb,UAAU;IAwChB;;;;;;;;;OASG;IAEG,uBAAuB;IAyCvB,oBAAoB;IA6EpB,wBAAwB;IAyExB,oBAAoB;IAwFpB,mBAAmB;IAoEnB,4BAA4B;IAkElC;;;;;;;;;;;OAWG;YACW,qBAAqB;IAsKnC;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAsC3B;;OAEG;IACH,OAAO,CAAC,eAAe;IAQvB;;OAEG;IACH,OAAO,CAAC,eAAe;IAqDvB,OAAO,CAAC,kBAAkB;CAO3B"}
1
+ {"version":3,"file":"oauth.provider-callback.flow.d.ts","sourceRoot":"","sources":["../../../src/auth/flows/oauth.provider-callback.flow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAgBH,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AAWvC,OAAO,EAGL,QAAQ,EASR,KAAK,cAAc,EACpB,MAAM,cAAc,CAAC;AAatB,QAAA,MAAM,WAAW;;;;gCAAkB,CAAC;AAEpC,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;gCAuBf,CAAC;AAEH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAAgD,CAAC;AAEnE,QAAA,MAAM,IAAI;;;CAG2B,CAAC;AAEtC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,WAAW;QACnB,yBAAyB,EAAE,cAAc,CACvC,yBAAyB,EACzB,OAAO,IAAI,EACX,OAAO,WAAW,EAClB,OAAO,YAAY,EACnB,OAAO,WAAW,CACnB,CAAC;KACH;CACF;AAED,QAAA,MAAM,IAAI,EAAG,yBAAkC,CAAC;AAehD,MAAM,CAAC,OAAO,OAAO,yBAA0B,SAAQ,QAAQ,CAAC,OAAO,IAAI,CAAC;IAC1E,OAAO,CAAC,MAAM,CAAwD;IAEtE;;;OAGG;IACH,OAAO,CAAC,YAAY;IASd,aAAa;IAKb,UAAU;IA2DhB;;;;;;;;;;OAUG;IAEG,uBAAuB;IAgDvB,oBAAoB;IAiF1B;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAQxB,wBAAwB;IAqFxB,oBAAoB;IAwFpB,mBAAmB;IAoEnB,4BAA4B;IAkElC;;;;;;;;;;;;OAYG;YACW,qBAAqB;IAkNnC;;;;OAIG;YACW,eAAe;IAqB7B;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IAsC3B;;OAEG;IACH,OAAO,CAAC,eAAe;IAKvB,+FAA+F;YACjF,OAAO;IAYrB;;OAEG;IACH,OAAO,CAAC,eAAe;IAqDvB,8EAA8E;IAC9E,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,kBAAkB;CAO3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.register.flow.d.ts","sourceRoot":"","sources":["../../../src/auth/flows/oauth.register.flow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAmBH,OAAO,EAGL,QAAQ,EAMR,KAAK,cAAc,EACpB,MAAM,cAAc,CAAC;AAGtB,QAAA,MAAM,WAAW;;;;gCAAkB,CAAC;AACpC,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;gCAAiB,CAAC;AA6BpC,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;gCAIf,CAAC;AAEH,QAAA,MAAM,IAAI;;;;CAI2B,CAAC;AAEtC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,WAAW;QACnB,gBAAgB,EAAE,cAAc,CAC9B,iBAAiB,EACjB,OAAO,IAAI,EACX,OAAO,WAAW,EAClB,OAAO,YAAY,EACnB,OAAO,WAAW,CACnB,CAAC;KACH;CACF;AAED,QAAA,MAAM,IAAI,EAAG,gBAAyB,CAAC;AAqDvC,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,QAAQ,CAAC,OAAO,IAAI,CAAC;IAClE,OAAO,CAAC,UAAU,CAAC,CAAmB;IAEtC,4EAA4E;IAC5E,OAAO,KAAK,SAAS,GAEpB;IAGK,aAAa;IAKb,UAAU;IAeV,aAAa;IAyIb,cAAc;IA6Cd,mBAAmB;IAiCnB,cAAc;CAGrB"}
1
+ {"version":3,"file":"oauth.register.flow.d.ts","sourceRoot":"","sources":["../../../src/auth/flows/oauth.register.flow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAmBH,OAAO,EAGL,QAAQ,EAMR,KAAK,cAAc,EACpB,MAAM,cAAc,CAAC;AAGtB,QAAA,MAAM,WAAW;;;;gCAAkB,CAAC;AACpC,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;gCAAiB,CAAC;AA6BpC,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;gCAIf,CAAC;AAEH,QAAA,MAAM,IAAI;;;;CAI2B,CAAC;AAEtC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,WAAW;QACnB,gBAAgB,EAAE,cAAc,CAC9B,iBAAiB,EACjB,OAAO,IAAI,EACX,OAAO,WAAW,EAClB,OAAO,YAAY,EACnB,OAAO,WAAW,CACnB,CAAC;KACH;CACF;AAED,QAAA,MAAM,IAAI,EAAG,gBAAyB,CAAC;AAsBvC,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,QAAQ,CAAC,OAAO,IAAI,CAAC;IAClE,OAAO,CAAC,UAAU,CAAC,CAAmB;IAEtC,4EAA4E;IAC5E,OAAO,KAAK,SAAS,GAEpB;IAGK,aAAa;IAKb,UAAU;IAeV,aAAa;IAyIb,cAAc;IA6Cd,mBAAmB;IAiCnB,cAAc;CAGrB"}
@@ -112,6 +112,11 @@ export default class OauthTokenFlow extends FlowBase<typeof name> {
112
112
  handleAnonymousGrant(): Promise<void>;
113
113
  buildTokenResponse(): Promise<void>;
114
114
  validateOutput(): Promise<void>;
115
+ /**
116
+ * This server's protected-resource URI (RFC 8707), the audience of the tokens
117
+ * it issues when the grant named none (#269).
118
+ */
119
+ private canonicalResource;
115
120
  }
116
121
  export {};
117
122
  //# sourceMappingURL=oauth.token.flow.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.token.flow.d.ts","sourceRoot":"","sources":["../../../src/auth/flows/oauth.token.flow.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH;;;;;;;;GAQG;AACH;;;;;;;;;;;GAWG;AAgCH,OAAO,EAKL,QAAQ,EAOR,KAAK,cAAc,EAEpB,MAAM,cAAc,CAAC;AAGtB,QAAA,MAAM,WAAW;;;;gCAAkB,CAAC;AA2HpC,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAkBf,CAAC;AAEH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;gCAAiB,CAAC;AAEpC,QAAA,MAAM,IAAI;;;;CAI2B,CAAC;AAEtC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,WAAW;QACnB,aAAa,EAAE,cAAc,CAC3B,cAAc,EACd,OAAO,IAAI,EACX,OAAO,WAAW,EAClB,OAAO,YAAY,EACnB,OAAO,WAAW,CACnB,CAAC;KACH;CACF;AAED,QAAA,MAAM,IAAI,EAAG,aAAsB,CAAC;AAcpC,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,QAAQ,CAAC,OAAO,IAAI,CAAC;IAC/D,OAAO,CAAC,MAAM,CAA6C;IAGrD,aAAa;IAKb,UAAU;IAoDV,aAAa;IAmBb,4BAA4B;IA0D5B,uBAAuB;IA8DvB,oBAAoB;IAsDpB,kBAAkB;IAqBlB,cAAc;CAGrB"}
1
+ {"version":3,"file":"oauth.token.flow.d.ts","sourceRoot":"","sources":["../../../src/auth/flows/oauth.token.flow.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH;;;;;;;;GAQG;AACH;;;;;;;;;;;GAWG;AAgCH,OAAO,EAKL,QAAQ,EAQR,KAAK,cAAc,EAEpB,MAAM,cAAc,CAAC;AAGtB,QAAA,MAAM,WAAW;;;;gCAAkB,CAAC;AA2HpC,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAoBf,CAAC;AAEH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;gCAAiB,CAAC;AAEpC,QAAA,MAAM,IAAI;;;;CAI2B,CAAC;AAEtC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,WAAW;QACnB,aAAa,EAAE,cAAc,CAC3B,cAAc,EACd,OAAO,IAAI,EACX,OAAO,WAAW,EAClB,OAAO,YAAY,EACnB,OAAO,WAAW,CACnB,CAAC;KACH;CACF;AAED,QAAA,MAAM,IAAI,EAAG,aAAsB,CAAC;AAcpC,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,QAAQ,CAAC,OAAO,IAAI,CAAC;IAC/D,OAAO,CAAC,MAAM,CAA6C;IAGrD,aAAa;IAKb,UAAU;IAsDV,aAAa;IAmBb,4BAA4B;IA+D5B,uBAAuB;IAuEvB,oBAAoB;IAyDpB,kBAAkB;IAqBlB,cAAc;IAIpB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;CAG1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.userinfo.flow.d.ts","sourceRoot":"","sources":["../../../src/auth/flows/oauth.userinfo.flow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,kBAAkB,CAAC;AAK1B,OAAO,EAGL,QAAQ,EAOR,KAAK,cAAc,EACpB,MAAM,cAAc,CAAC;AAGtB,QAAA,MAAM,WAAW;;;;gCAAkB,CAAC;AAEpC,QAAA,MAAM,WAAW;;;gCAGf,CAAC;AAEH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;gCAAiB,CAAC;AAEpC,QAAA,MAAM,IAAI;;;CAG2B,CAAC;AAEtC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,WAAW;QACnB,gBAAgB,EAAE,cAAc,CAC9B,iBAAiB,EACjB,OAAO,IAAI,EACX,OAAO,WAAW,EAClB,OAAO,YAAY,EACnB,OAAO,WAAW,CACnB,CAAC;KACH;CACF;AAED,QAAA,MAAM,IAAI,EAAG,gBAAyB,CAAC;AAcvC,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,QAAQ,CAAC,OAAO,IAAI,CAAC;IAClE,OAAO,CAAC,MAAM,CAAgD;IAGxD,aAAa;IAKb,UAAU;IASV,gBAAgB;CAuDvB"}
1
+ {"version":3,"file":"oauth.userinfo.flow.d.ts","sourceRoot":"","sources":["../../../src/auth/flows/oauth.userinfo.flow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,kBAAkB,CAAC;AAK1B,OAAO,EAGL,QAAQ,EAOR,KAAK,cAAc,EACpB,MAAM,cAAc,CAAC;AAGtB,QAAA,MAAM,WAAW;;;;gCAAkB,CAAC;AAEpC,QAAA,MAAM,WAAW;;;gCAGf,CAAC;AAEH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;gCAAiB,CAAC;AAEpC,QAAA,MAAM,IAAI;;;CAG2B,CAAC;AAEtC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,WAAW;QACnB,gBAAgB,EAAE,cAAc,CAC9B,iBAAiB,EACjB,OAAO,IAAI,EACX,OAAO,WAAW,EAClB,OAAO,YAAY,EACnB,OAAO,WAAW,CACnB,CAAC;KACH;CACF;AAED,QAAA,MAAM,IAAI,EAAG,gBAAyB,CAAC;AAcvC,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,QAAQ,CAAC,OAAO,IAAI,CAAC;IAClE,OAAO,CAAC,MAAM,CAAgD;IAGxD,aAAa;IAKb,UAAU;IASV,gBAAgB;CAwDvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"session.verify.flow.d.ts","sourceRoot":"","sources":["../../../src/auth/flows/session.verify.flow.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,QAAQ,EAaR,KAAK,cAAc,EAGpB,MAAM,cAAc,CAAC;AAEtB,OAAO,kBAAkB,CAAC;AAsB1B,QAAA,MAAM,WAAW;;gCAAyB,CAAC;AAE3C,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAaf,CAAC;AAuBH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAAmE,CAAC;AAE1G,QAAA,MAAM,IAAI;;;CAU2B,CAAC;AAEtC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,WAAW;QACnB,gBAAgB,EAAE,cAAc,CAC9B,iBAAiB,EACjB,OAAO,IAAI,EACX,OAAO,WAAW,EAClB,OAAO,yBAAyB,EAChC,OAAO,WAAW,CACnB,CAAC;KACH;CACF;AAED,QAAA,MAAM,IAAI,EAAG,gBAAyB,CAAC;AAgFvC,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,QAAQ,CAAC,OAAO,IAAI,CAAC;IAClE,MAAM,wCAA+C;IAErD,OAAO,CAAC,OAAO;IAMf;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IA8FxB,UAAU;IAsDhB;;;;;;;;;;;OAWG;IAOG,iBAAiB;IA8CvB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAgB5B;;;;;;;OAOG;IAEG,gBAAgB;IAuCtB;;;OAGG;IAUG,uBAAuB;IA4BvB,+BAA+B;IAQrC;;;;;;;OAOG;IAEG,WAAW;IAsKX,UAAU;IAIhB;;;;;OAKG;IAEG,kBAAkB;IAclB,qBAAqB;CAoB5B"}
1
+ {"version":3,"file":"session.verify.flow.d.ts","sourceRoot":"","sources":["../../../src/auth/flows/session.verify.flow.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,QAAQ,EAcR,KAAK,cAAc,EAGpB,MAAM,cAAc,CAAC;AAEtB,OAAO,kBAAkB,CAAC;AAuB1B,QAAA,MAAM,WAAW;;gCAAyB,CAAC;AAE3C,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAaf,CAAC;AAuBH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAAmE,CAAC;AAE1G,QAAA,MAAM,IAAI;;;CAU2B,CAAC;AAEtC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,WAAW;QACnB,gBAAgB,EAAE,cAAc,CAC9B,iBAAiB,EACjB,OAAO,IAAI,EACX,OAAO,WAAW,EAClB,OAAO,yBAAyB,EAChC,OAAO,WAAW,CACnB,CAAC;KACH;CACF;AAED,QAAA,MAAM,IAAI,EAAG,gBAAyB,CAAC;AAgFvC,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,QAAQ,CAAC,OAAO,IAAI,CAAC;IAClE,MAAM,wCAA+C;IAErD,OAAO,CAAC,OAAO;IAMf;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IA8FxB,UAAU;IAsDhB;;;;;;;;;;;OAWG;IAOG,iBAAiB;IA8CvB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAgB5B;;;;;;;OAOG;IAEG,gBAAgB;IAuCtB;;;OAGG;IAUG,uBAAuB;IA4BvB,+BAA+B;IAQrC;;;;;;;OAOG;IAEG,WAAW;IA4KX,UAAU;IAIhB;;;;;OAKG;IAEG,kBAAkB;IAclB,qBAAqB;CAoB5B"}