@noodleseed/one 0.63.1 → 0.65.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 (434) hide show
  1. package/dist/auth-discovery.d.ts +17 -0
  2. package/dist/auth-discovery.d.ts.map +1 -0
  3. package/dist/auth-discovery.js +54 -0
  4. package/dist/auth-discovery.js.map +1 -0
  5. package/dist/cli.d.ts.map +1 -1
  6. package/dist/cli.js +3 -0
  7. package/dist/cli.js.map +1 -1
  8. package/dist/commands/catalog-data-platform-auth.d.ts +7 -0
  9. package/dist/commands/catalog-data-platform-auth.d.ts.map +1 -0
  10. package/dist/commands/catalog-data-platform-auth.js +47 -0
  11. package/dist/commands/catalog-data-platform-auth.js.map +1 -0
  12. package/dist/commands/catalog.d.ts.map +1 -1
  13. package/dist/commands/catalog.js +6 -3
  14. package/dist/commands/catalog.js.map +1 -1
  15. package/dist/commands/docs-mcp.d.ts +3 -3
  16. package/dist/commands/docs-mcp.js +3 -3
  17. package/dist/commands/platform-auth-finalization-args.d.ts +13 -0
  18. package/dist/commands/platform-auth-finalization-args.d.ts.map +1 -0
  19. package/dist/commands/platform-auth-finalization-args.js +29 -0
  20. package/dist/commands/platform-auth-finalization-args.js.map +1 -0
  21. package/dist/commands/platform-auth-migration-args.d.ts +71 -0
  22. package/dist/commands/platform-auth-migration-args.d.ts.map +1 -0
  23. package/dist/commands/platform-auth-migration-args.js +320 -0
  24. package/dist/commands/platform-auth-migration-args.js.map +1 -0
  25. package/dist/commands/platform-auth-migration-ops.d.ts +3 -0
  26. package/dist/commands/platform-auth-migration-ops.d.ts.map +1 -0
  27. package/dist/commands/platform-auth-migration-ops.js +369 -0
  28. package/dist/commands/platform-auth-migration-ops.js.map +1 -0
  29. package/dist/commands/project-setup.js +1 -1
  30. package/dist/commands/project-setup.js.map +1 -1
  31. package/dist/config.d.ts +4 -4
  32. package/dist/config.d.ts.map +1 -1
  33. package/dist/control-plane.d.ts +0 -11
  34. package/dist/control-plane.d.ts.map +1 -1
  35. package/dist/control-plane.js +1 -8
  36. package/dist/control-plane.js.map +1 -1
  37. package/dist/doctor.d.ts.map +1 -1
  38. package/dist/doctor.js +3 -5
  39. package/dist/doctor.js.map +1 -1
  40. package/node_modules/@noodle-borg/agent-kit/dist/curated/command-groups.d.ts.map +1 -1
  41. package/node_modules/@noodle-borg/agent-kit/dist/curated/command-groups.js +4 -0
  42. package/node_modules/@noodle-borg/agent-kit/dist/curated/command-groups.js.map +1 -1
  43. package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.d.ts.map +1 -1
  44. package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.js +1 -0
  45. package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.js.map +1 -1
  46. package/node_modules/@noodle-borg/agent-kit/package.json +1 -1
  47. package/node_modules/@noodle-borg/auth/dist/jwt-issuer.d.ts +2 -2
  48. package/node_modules/@noodle-borg/auth/dist/jwt-issuer.d.ts.map +1 -1
  49. package/node_modules/@noodle-borg/auth/dist/jwt-issuer.js +1 -1
  50. package/node_modules/@noodle-borg/auth/dist/verify.d.ts +1 -1
  51. package/node_modules/@noodle-borg/auth/dist/verify.d.ts.map +1 -1
  52. package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.d.ts +26 -0
  53. package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.d.ts.map +1 -1
  54. package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.js +105 -1
  55. package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.js.map +1 -1
  56. package/node_modules/@noodle-borg/service/dist/control-plane-auth-bootstrap.d.ts +25 -0
  57. package/node_modules/@noodle-borg/service/dist/control-plane-auth-bootstrap.d.ts.map +1 -0
  58. package/node_modules/@noodle-borg/service/dist/control-plane-auth-bootstrap.js +99 -0
  59. package/node_modules/@noodle-borg/service/dist/control-plane-auth-bootstrap.js.map +1 -0
  60. package/node_modules/@noodle-borg/service/dist/index.d.ts +15 -0
  61. package/node_modules/@noodle-borg/service/dist/index.d.ts.map +1 -1
  62. package/node_modules/@noodle-borg/service/dist/index.js +15 -0
  63. package/node_modules/@noodle-borg/service/dist/index.js.map +1 -1
  64. package/node_modules/@noodle-borg/service/dist/main.js +112 -19
  65. package/node_modules/@noodle-borg/service/dist/main.js.map +1 -1
  66. package/node_modules/@noodle-borg/service/dist/oauth/app.d.ts +1 -1
  67. package/node_modules/@noodle-borg/service/dist/oauth/app.d.ts.map +1 -1
  68. package/node_modules/@noodle-borg/service/dist/oauth/app.js +9 -1
  69. package/node_modules/@noodle-borg/service/dist/oauth/app.js.map +1 -1
  70. package/node_modules/@noodle-borg/service/dist/oauth/authorization-initiation.d.ts +24 -0
  71. package/node_modules/@noodle-borg/service/dist/oauth/authorization-initiation.d.ts.map +1 -0
  72. package/node_modules/@noodle-borg/service/dist/oauth/authorization-initiation.js +88 -0
  73. package/node_modules/@noodle-borg/service/dist/oauth/authorization-initiation.js.map +1 -0
  74. package/node_modules/@noodle-borg/service/dist/oauth/consent-claims.d.ts +1 -1
  75. package/node_modules/@noodle-borg/service/dist/oauth/consent-claims.d.ts.map +1 -1
  76. package/node_modules/@noodle-borg/service/dist/oauth/consent-token.d.ts +5 -0
  77. package/node_modules/@noodle-borg/service/dist/oauth/consent-token.d.ts.map +1 -0
  78. package/node_modules/@noodle-borg/service/dist/oauth/consent-token.js +19 -0
  79. package/node_modules/@noodle-borg/service/dist/oauth/consent-token.js.map +1 -0
  80. package/node_modules/@noodle-borg/service/dist/oauth/consent.js +1 -1
  81. package/node_modules/@noodle-borg/service/dist/oauth/first-party-client.d.ts +13 -0
  82. package/node_modules/@noodle-borg/service/dist/oauth/first-party-client.d.ts.map +1 -0
  83. package/node_modules/@noodle-borg/service/dist/oauth/first-party-client.js +62 -0
  84. package/node_modules/@noodle-borg/service/dist/oauth/first-party-client.js.map +1 -0
  85. package/node_modules/@noodle-borg/service/dist/oauth/metadata.d.ts +4 -0
  86. package/node_modules/@noodle-borg/service/dist/oauth/metadata.d.ts.map +1 -0
  87. package/node_modules/@noodle-borg/service/dist/oauth/metadata.js +20 -0
  88. package/node_modules/@noodle-borg/service/dist/oauth/metadata.js.map +1 -0
  89. package/node_modules/@noodle-borg/service/dist/oauth/paths.d.ts.map +1 -1
  90. package/node_modules/@noodle-borg/service/dist/oauth/paths.js +2 -0
  91. package/node_modules/@noodle-borg/service/dist/oauth/paths.js.map +1 -1
  92. package/node_modules/@noodle-borg/service/dist/oauth/platform-principal-guard.d.ts +15 -0
  93. package/node_modules/@noodle-borg/service/dist/oauth/platform-principal-guard.d.ts.map +1 -0
  94. package/node_modules/@noodle-borg/service/dist/oauth/platform-principal-guard.js +58 -0
  95. package/node_modules/@noodle-borg/service/dist/oauth/platform-principal-guard.js.map +1 -0
  96. package/node_modules/@noodle-borg/service/dist/oauth/platform-principal-postgres.d.ts +8 -0
  97. package/node_modules/@noodle-borg/service/dist/oauth/platform-principal-postgres.d.ts.map +1 -0
  98. package/node_modules/@noodle-borg/service/dist/oauth/platform-principal-postgres.js +49 -0
  99. package/node_modules/@noodle-borg/service/dist/oauth/platform-principal-postgres.js.map +1 -0
  100. package/node_modules/@noodle-borg/service/dist/oauth/postgres-time.d.ts +3 -0
  101. package/node_modules/@noodle-borg/service/dist/oauth/postgres-time.d.ts.map +1 -0
  102. package/node_modules/@noodle-borg/service/dist/oauth/postgres-time.js +7 -0
  103. package/node_modules/@noodle-borg/service/dist/oauth/postgres-time.js.map +1 -0
  104. package/node_modules/@noodle-borg/service/dist/oauth/provider.d.ts +20 -25
  105. package/node_modules/@noodle-borg/service/dist/oauth/provider.d.ts.map +1 -1
  106. package/node_modules/@noodle-borg/service/dist/oauth/provider.js +105 -196
  107. package/node_modules/@noodle-borg/service/dist/oauth/provider.js.map +1 -1
  108. package/node_modules/@noodle-borg/service/dist/oauth/service-bootstrap.d.ts +36 -0
  109. package/node_modules/@noodle-borg/service/dist/oauth/service-bootstrap.d.ts.map +1 -0
  110. package/node_modules/@noodle-borg/service/dist/oauth/service-bootstrap.js +157 -0
  111. package/node_modules/@noodle-borg/service/dist/oauth/service-bootstrap.js.map +1 -0
  112. package/node_modules/@noodle-borg/service/dist/oauth/store-postgres-schema.d.ts +4 -0
  113. package/node_modules/@noodle-borg/service/dist/oauth/store-postgres-schema.d.ts.map +1 -0
  114. package/node_modules/@noodle-borg/service/dist/oauth/store-postgres-schema.js +110 -0
  115. package/node_modules/@noodle-borg/service/dist/oauth/store-postgres-schema.js.map +1 -0
  116. package/node_modules/@noodle-borg/service/dist/oauth/store-postgres.d.ts +7 -4
  117. package/node_modules/@noodle-borg/service/dist/oauth/store-postgres.d.ts.map +1 -1
  118. package/node_modules/@noodle-borg/service/dist/oauth/store-postgres.js +63 -120
  119. package/node_modules/@noodle-borg/service/dist/oauth/store-postgres.js.map +1 -1
  120. package/node_modules/@noodle-borg/service/dist/oauth/store.d.ts +19 -6
  121. package/node_modules/@noodle-borg/service/dist/oauth/store.d.ts.map +1 -1
  122. package/node_modules/@noodle-borg/service/dist/oauth/store.js +24 -2
  123. package/node_modules/@noodle-borg/service/dist/oauth/store.js.map +1 -1
  124. package/node_modules/@noodle-borg/service/dist/oauth/tokens.d.ts +1 -1
  125. package/node_modules/@noodle-borg/service/dist/oauth/tokens.d.ts.map +1 -1
  126. package/node_modules/@noodle-borg/service/dist/oauth/tokens.js +1 -1
  127. package/node_modules/@noodle-borg/service/dist/oauth/tokens.js.map +1 -1
  128. package/node_modules/@noodle-borg/service/dist/oauth/upstream-callback-availability.d.ts +4 -0
  129. package/node_modules/@noodle-borg/service/dist/oauth/upstream-callback-availability.d.ts.map +1 -0
  130. package/node_modules/@noodle-borg/service/dist/oauth/upstream-callback-availability.js +8 -0
  131. package/node_modules/@noodle-borg/service/dist/oauth/upstream-callback-availability.js.map +1 -0
  132. package/node_modules/@noodle-borg/service/dist/oauth/upstream-callback-handler.d.ts +34 -0
  133. package/node_modules/@noodle-borg/service/dist/oauth/upstream-callback-handler.d.ts.map +1 -0
  134. package/node_modules/@noodle-borg/service/dist/oauth/upstream-callback-handler.js +109 -0
  135. package/node_modules/@noodle-borg/service/dist/oauth/upstream-callback-handler.js.map +1 -0
  136. package/node_modules/@noodle-borg/service/dist/oauth/upstream-callback-support.d.ts +22 -0
  137. package/node_modules/@noodle-borg/service/dist/oauth/upstream-callback-support.d.ts.map +1 -0
  138. package/node_modules/@noodle-borg/service/dist/oauth/upstream-callback-support.js +30 -0
  139. package/node_modules/@noodle-borg/service/dist/oauth/upstream-callback-support.js.map +1 -0
  140. package/node_modules/@noodle-borg/service/dist/oauth/upstream-consent.d.ts +21 -0
  141. package/node_modules/@noodle-borg/service/dist/oauth/upstream-consent.d.ts.map +1 -0
  142. package/node_modules/@noodle-borg/service/dist/oauth/upstream-consent.js +56 -0
  143. package/node_modules/@noodle-borg/service/dist/oauth/upstream-consent.js.map +1 -0
  144. package/node_modules/@noodle-borg/service/dist/oauth/upstream-federation.d.ts +30 -0
  145. package/node_modules/@noodle-borg/service/dist/oauth/upstream-federation.d.ts.map +1 -0
  146. package/node_modules/@noodle-borg/service/dist/oauth/upstream-federation.js +94 -0
  147. package/node_modules/@noodle-borg/service/dist/oauth/upstream-federation.js.map +1 -0
  148. package/node_modules/@noodle-borg/service/dist/oauth/upstream-human.d.ts +33 -0
  149. package/node_modules/@noodle-borg/service/dist/oauth/upstream-human.d.ts.map +1 -0
  150. package/node_modules/@noodle-borg/service/dist/oauth/upstream-human.js +27 -0
  151. package/node_modules/@noodle-borg/service/dist/oauth/upstream-human.js.map +1 -0
  152. package/node_modules/@noodle-borg/service/dist/oauth/upstream-provider-choice.d.ts +13 -0
  153. package/node_modules/@noodle-borg/service/dist/oauth/upstream-provider-choice.d.ts.map +1 -0
  154. package/node_modules/@noodle-borg/service/dist/oauth/upstream-provider-choice.js +63 -0
  155. package/node_modules/@noodle-borg/service/dist/oauth/upstream-provider-choice.js.map +1 -0
  156. package/node_modules/@noodle-borg/service/dist/oauth/upstream-rollout-store.d.ts +20 -0
  157. package/node_modules/@noodle-borg/service/dist/oauth/upstream-rollout-store.d.ts.map +1 -0
  158. package/node_modules/@noodle-borg/service/dist/oauth/upstream-rollout-store.js +40 -0
  159. package/node_modules/@noodle-borg/service/dist/oauth/upstream-rollout-store.js.map +1 -0
  160. package/node_modules/@noodle-borg/service/dist/oauth/workos-events.d.ts +115 -0
  161. package/node_modules/@noodle-borg/service/dist/oauth/workos-events.d.ts.map +1 -0
  162. package/node_modules/@noodle-borg/service/dist/oauth/workos-events.js +310 -0
  163. package/node_modules/@noodle-borg/service/dist/oauth/workos-events.js.map +1 -0
  164. package/node_modules/@noodle-borg/service/dist/oauth/workos.d.ts +65 -0
  165. package/node_modules/@noodle-borg/service/dist/oauth/workos.d.ts.map +1 -0
  166. package/node_modules/@noodle-borg/service/dist/oauth/workos.js +85 -0
  167. package/node_modules/@noodle-borg/service/dist/oauth/workos.js.map +1 -0
  168. package/node_modules/@noodle-borg/service/dist/options.d.ts +11 -2
  169. package/node_modules/@noodle-borg/service/dist/options.d.ts.map +1 -1
  170. package/node_modules/@noodle-borg/service/dist/personal-workspace.d.ts +2 -0
  171. package/node_modules/@noodle-borg/service/dist/personal-workspace.d.ts.map +1 -1
  172. package/node_modules/@noodle-borg/service/dist/personal-workspace.js +8 -2
  173. package/node_modules/@noodle-borg/service/dist/personal-workspace.js.map +1 -1
  174. package/node_modules/@noodle-borg/service/dist/platform-auth-configuration.d.ts +67 -0
  175. package/node_modules/@noodle-borg/service/dist/platform-auth-configuration.d.ts.map +1 -0
  176. package/node_modules/@noodle-borg/service/dist/platform-auth-configuration.js +54 -0
  177. package/node_modules/@noodle-borg/service/dist/platform-auth-configuration.js.map +1 -0
  178. package/node_modules/@noodle-borg/service/dist/platform-auth-frozen-candidate-postgres.d.ts +25 -0
  179. package/node_modules/@noodle-borg/service/dist/platform-auth-frozen-candidate-postgres.d.ts.map +1 -0
  180. package/node_modules/@noodle-borg/service/dist/platform-auth-frozen-candidate-postgres.js +61 -0
  181. package/node_modules/@noodle-borg/service/dist/platform-auth-frozen-candidate-postgres.js.map +1 -0
  182. package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-legacy-sources-postgres.d.ts +32 -0
  183. package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-legacy-sources-postgres.d.ts.map +1 -0
  184. package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-legacy-sources-postgres.js +231 -0
  185. package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-legacy-sources-postgres.js.map +1 -0
  186. package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-local-postgres.d.ts +29 -0
  187. package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-local-postgres.d.ts.map +1 -0
  188. package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-local-postgres.js +350 -0
  189. package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-local-postgres.js.map +1 -0
  190. package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-local-subjects-postgres.d.ts +50 -0
  191. package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-local-subjects-postgres.d.ts.map +1 -0
  192. package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-local-subjects-postgres.js +239 -0
  193. package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-local-subjects-postgres.js.map +1 -0
  194. package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-paging.d.ts +66 -0
  195. package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-paging.d.ts.map +1 -0
  196. package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-paging.js +77 -0
  197. package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-paging.js.map +1 -0
  198. package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-postgres.d.ts +40 -0
  199. package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-postgres.d.ts.map +1 -0
  200. package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-postgres.js +355 -0
  201. package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-postgres.js.map +1 -0
  202. package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-progress-postgres.d.ts +41 -0
  203. package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-progress-postgres.d.ts.map +1 -0
  204. package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-progress-postgres.js +230 -0
  205. package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-progress-postgres.js.map +1 -0
  206. package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-source-fence-postgres.d.ts +20 -0
  207. package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-source-fence-postgres.d.ts.map +1 -0
  208. package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-source-fence-postgres.js +126 -0
  209. package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-source-fence-postgres.js.map +1 -0
  210. package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-sources.d.ts +8 -0
  211. package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-sources.d.ts.map +1 -0
  212. package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-sources.js +86 -0
  213. package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-sources.js.map +1 -0
  214. package/node_modules/@noodle-borg/service/dist/platform-auth-migration-postgres.d.ts +42 -0
  215. package/node_modules/@noodle-borg/service/dist/platform-auth-migration-postgres.d.ts.map +1 -0
  216. package/node_modules/@noodle-borg/service/dist/platform-auth-migration-postgres.js +368 -0
  217. package/node_modules/@noodle-borg/service/dist/platform-auth-migration-postgres.js.map +1 -0
  218. package/node_modules/@noodle-borg/service/dist/platform-auth-migration-runs-postgres.d.ts +86 -0
  219. package/node_modules/@noodle-borg/service/dist/platform-auth-migration-runs-postgres.d.ts.map +1 -0
  220. package/node_modules/@noodle-borg/service/dist/platform-auth-migration-runs-postgres.js +474 -0
  221. package/node_modules/@noodle-borg/service/dist/platform-auth-migration-runs-postgres.js.map +1 -0
  222. package/node_modules/@noodle-borg/service/dist/platform-auth-migration-schema.d.ts +17 -0
  223. package/node_modules/@noodle-borg/service/dist/platform-auth-migration-schema.d.ts.map +1 -0
  224. package/node_modules/@noodle-borg/service/dist/platform-auth-migration-schema.js +435 -0
  225. package/node_modules/@noodle-borg/service/dist/platform-auth-migration-schema.js.map +1 -0
  226. package/node_modules/@noodle-borg/service/dist/platform-auth-migration.d.ts +202 -0
  227. package/node_modules/@noodle-borg/service/dist/platform-auth-migration.d.ts.map +1 -0
  228. package/node_modules/@noodle-borg/service/dist/platform-auth-migration.js +313 -0
  229. package/node_modules/@noodle-borg/service/dist/platform-auth-migration.js.map +1 -0
  230. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-batches.d.ts +48 -0
  231. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-batches.d.ts.map +1 -0
  232. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-batches.js +158 -0
  233. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-batches.js.map +1 -0
  234. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-effects.d.ts +43 -0
  235. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-effects.d.ts.map +1 -0
  236. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-effects.js +92 -0
  237. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-effects.js.map +1 -0
  238. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-operation-postgres.d.ts +31 -0
  239. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-operation-postgres.d.ts.map +1 -0
  240. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-operation-postgres.js +94 -0
  241. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-operation-postgres.js.map +1 -0
  242. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-ports.d.ts +102 -0
  243. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-ports.d.ts.map +1 -0
  244. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-ports.js +2 -0
  245. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-ports.js.map +1 -0
  246. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-postgres.d.ts +17 -0
  247. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-postgres.d.ts.map +1 -0
  248. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-postgres.js +367 -0
  249. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-postgres.js.map +1 -0
  250. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-remote-status.d.ts +10 -0
  251. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-remote-status.d.ts.map +1 -0
  252. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-remote-status.js +37 -0
  253. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-remote-status.js.map +1 -0
  254. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-rollout.d.ts +36 -0
  255. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-rollout.d.ts.map +1 -0
  256. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-rollout.js +156 -0
  257. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-rollout.js.map +1 -0
  258. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-schema.d.ts +4 -0
  259. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-schema.d.ts.map +1 -0
  260. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-schema.js +162 -0
  261. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-schema.js.map +1 -0
  262. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-state-postgres.d.ts +92 -0
  263. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-state-postgres.d.ts.map +1 -0
  264. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-state-postgres.js +271 -0
  265. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-state-postgres.js.map +1 -0
  266. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-state-support.d.ts +13 -0
  267. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-state-support.d.ts.map +1 -0
  268. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-state-support.js +67 -0
  269. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-state-support.js.map +1 -0
  270. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-support.d.ts +15 -0
  271. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-support.d.ts.map +1 -0
  272. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-support.js +47 -0
  273. package/node_modules/@noodle-borg/service/dist/platform-auth-operator-support.js.map +1 -0
  274. package/node_modules/@noodle-borg/service/dist/platform-auth-operator.d.ts +1569 -0
  275. package/node_modules/@noodle-borg/service/dist/platform-auth-operator.d.ts.map +1 -0
  276. package/node_modules/@noodle-borg/service/dist/platform-auth-operator.js +274 -0
  277. package/node_modules/@noodle-borg/service/dist/platform-auth-operator.js.map +1 -0
  278. package/node_modules/@noodle-borg/service/dist/platform-auth-remote-verification-postgres-support.d.ts +41 -0
  279. package/node_modules/@noodle-borg/service/dist/platform-auth-remote-verification-postgres-support.d.ts.map +1 -0
  280. package/node_modules/@noodle-borg/service/dist/platform-auth-remote-verification-postgres-support.js +163 -0
  281. package/node_modules/@noodle-borg/service/dist/platform-auth-remote-verification-postgres-support.js.map +1 -0
  282. package/node_modules/@noodle-borg/service/dist/platform-auth-remote-verification-postgres.d.ts +34 -0
  283. package/node_modules/@noodle-borg/service/dist/platform-auth-remote-verification-postgres.d.ts.map +1 -0
  284. package/node_modules/@noodle-borg/service/dist/platform-auth-remote-verification-postgres.js +274 -0
  285. package/node_modules/@noodle-borg/service/dist/platform-auth-remote-verification-postgres.js.map +1 -0
  286. package/node_modules/@noodle-borg/service/dist/platform-auth-remote-verification-schema.d.ts +3 -0
  287. package/node_modules/@noodle-borg/service/dist/platform-auth-remote-verification-schema.d.ts.map +1 -0
  288. package/node_modules/@noodle-borg/service/dist/platform-auth-remote-verification-schema.js +120 -0
  289. package/node_modules/@noodle-borg/service/dist/platform-auth-remote-verification-schema.js.map +1 -0
  290. package/node_modules/@noodle-borg/service/dist/platform-auth-remote-verification.d.ts +79 -0
  291. package/node_modules/@noodle-borg/service/dist/platform-auth-remote-verification.d.ts.map +1 -0
  292. package/node_modules/@noodle-borg/service/dist/platform-auth-remote-verification.js +88 -0
  293. package/node_modules/@noodle-borg/service/dist/platform-auth-remote-verification.js.map +1 -0
  294. package/node_modules/@noodle-borg/service/dist/platform-auth-rollback-guard.d.ts +6 -0
  295. package/node_modules/@noodle-borg/service/dist/platform-auth-rollback-guard.d.ts.map +1 -0
  296. package/node_modules/@noodle-borg/service/dist/platform-auth-rollback-guard.js +38 -0
  297. package/node_modules/@noodle-borg/service/dist/platform-auth-rollback-guard.js.map +1 -0
  298. package/node_modules/@noodle-borg/service/dist/platform-auth-rollout-postgres.d.ts +61 -0
  299. package/node_modules/@noodle-borg/service/dist/platform-auth-rollout-postgres.d.ts.map +1 -0
  300. package/node_modules/@noodle-borg/service/dist/platform-auth-rollout-postgres.js +292 -0
  301. package/node_modules/@noodle-borg/service/dist/platform-auth-rollout-postgres.js.map +1 -0
  302. package/node_modules/@noodle-borg/service/dist/platform-auth-rollout-readiness-postgres.d.ts +19 -0
  303. package/node_modules/@noodle-borg/service/dist/platform-auth-rollout-readiness-postgres.d.ts.map +1 -0
  304. package/node_modules/@noodle-borg/service/dist/platform-auth-rollout-readiness-postgres.js +121 -0
  305. package/node_modules/@noodle-borg/service/dist/platform-auth-rollout-readiness-postgres.js.map +1 -0
  306. package/node_modules/@noodle-borg/service/dist/platform-auth-rollout-support.d.ts +119 -0
  307. package/node_modules/@noodle-borg/service/dist/platform-auth-rollout-support.d.ts.map +1 -0
  308. package/node_modules/@noodle-borg/service/dist/platform-auth-rollout-support.js +194 -0
  309. package/node_modules/@noodle-borg/service/dist/platform-auth-rollout-support.js.map +1 -0
  310. package/node_modules/@noodle-borg/service/dist/platform-auth-runtime.d.ts +36 -0
  311. package/node_modules/@noodle-borg/service/dist/platform-auth-runtime.d.ts.map +1 -0
  312. package/node_modules/@noodle-borg/service/dist/platform-auth-runtime.js +93 -0
  313. package/node_modules/@noodle-borg/service/dist/platform-auth-runtime.js.map +1 -0
  314. package/node_modules/@noodle-borg/service/dist/platform-auth-service-bootstrap.d.ts +32 -0
  315. package/node_modules/@noodle-borg/service/dist/platform-auth-service-bootstrap.d.ts.map +1 -0
  316. package/node_modules/@noodle-borg/service/dist/platform-auth-service-bootstrap.js +68 -0
  317. package/node_modules/@noodle-borg/service/dist/platform-auth-service-bootstrap.js.map +1 -0
  318. package/node_modules/@noodle-borg/service/dist/platform-identity-maintenance.d.ts +36 -0
  319. package/node_modules/@noodle-borg/service/dist/platform-identity-maintenance.d.ts.map +1 -0
  320. package/node_modules/@noodle-borg/service/dist/platform-identity-maintenance.js +92 -0
  321. package/node_modules/@noodle-borg/service/dist/platform-identity-maintenance.js.map +1 -0
  322. package/node_modules/@noodle-borg/service/dist/platform-identity-postgres.d.ts +23 -0
  323. package/node_modules/@noodle-borg/service/dist/platform-identity-postgres.d.ts.map +1 -0
  324. package/node_modules/@noodle-borg/service/dist/platform-identity-postgres.js +231 -0
  325. package/node_modules/@noodle-borg/service/dist/platform-identity-postgres.js.map +1 -0
  326. package/node_modules/@noodle-borg/service/dist/platform-identity-schema-postgres.d.ts +13 -0
  327. package/node_modules/@noodle-borg/service/dist/platform-identity-schema-postgres.d.ts.map +1 -0
  328. package/node_modules/@noodle-borg/service/dist/platform-identity-schema-postgres.js +399 -0
  329. package/node_modules/@noodle-borg/service/dist/platform-identity-schema-postgres.js.map +1 -0
  330. package/node_modules/@noodle-borg/service/dist/platform-identity-sync-enqueue.d.ts +18 -0
  331. package/node_modules/@noodle-borg/service/dist/platform-identity-sync-enqueue.d.ts.map +1 -0
  332. package/node_modules/@noodle-borg/service/dist/platform-identity-sync-enqueue.js +25 -0
  333. package/node_modules/@noodle-borg/service/dist/platform-identity-sync-enqueue.js.map +1 -0
  334. package/node_modules/@noodle-borg/service/dist/platform-identity-sync-evidence-postgres.d.ts +15 -0
  335. package/node_modules/@noodle-borg/service/dist/platform-identity-sync-evidence-postgres.d.ts.map +1 -0
  336. package/node_modules/@noodle-borg/service/dist/platform-identity-sync-evidence-postgres.js +74 -0
  337. package/node_modules/@noodle-borg/service/dist/platform-identity-sync-evidence-postgres.js.map +1 -0
  338. package/node_modules/@noodle-borg/service/dist/platform-identity-sync-postgres.d.ts +19 -0
  339. package/node_modules/@noodle-borg/service/dist/platform-identity-sync-postgres.d.ts.map +1 -0
  340. package/node_modules/@noodle-borg/service/dist/platform-identity-sync-postgres.js +249 -0
  341. package/node_modules/@noodle-borg/service/dist/platform-identity-sync-postgres.js.map +1 -0
  342. package/node_modules/@noodle-borg/service/dist/platform-identity-sync-recovery-postgres.d.ts +34 -0
  343. package/node_modules/@noodle-borg/service/dist/platform-identity-sync-recovery-postgres.d.ts.map +1 -0
  344. package/node_modules/@noodle-borg/service/dist/platform-identity-sync-recovery-postgres.js +275 -0
  345. package/node_modules/@noodle-borg/service/dist/platform-identity-sync-recovery-postgres.js.map +1 -0
  346. package/node_modules/@noodle-borg/service/dist/platform-identity-sync.d.ts +98 -0
  347. package/node_modules/@noodle-borg/service/dist/platform-identity-sync.d.ts.map +1 -0
  348. package/node_modules/@noodle-borg/service/dist/platform-identity-sync.js +179 -0
  349. package/node_modules/@noodle-borg/service/dist/platform-identity-sync.js.map +1 -0
  350. package/node_modules/@noodle-borg/service/dist/platform-identity.d.ts +110 -0
  351. package/node_modules/@noodle-borg/service/dist/platform-identity.d.ts.map +1 -0
  352. package/node_modules/@noodle-borg/service/dist/platform-identity.js +312 -0
  353. package/node_modules/@noodle-borg/service/dist/platform-identity.js.map +1 -0
  354. package/node_modules/@noodle-borg/service/dist/routes/auth-discovery.d.ts +6 -0
  355. package/node_modules/@noodle-borg/service/dist/routes/auth-discovery.d.ts.map +1 -0
  356. package/node_modules/@noodle-borg/service/dist/routes/auth-discovery.js +36 -0
  357. package/node_modules/@noodle-borg/service/dist/routes/auth-discovery.js.map +1 -0
  358. package/node_modules/@noodle-borg/service/dist/routes/billing-read.d.ts.map +1 -1
  359. package/node_modules/@noodle-borg/service/dist/routes/billing-read.js +3 -9
  360. package/node_modules/@noodle-borg/service/dist/routes/billing-read.js.map +1 -1
  361. package/node_modules/@noodle-borg/service/dist/routes/billing-stripe.d.ts.map +1 -1
  362. package/node_modules/@noodle-borg/service/dist/routes/billing-stripe.js +3 -3
  363. package/node_modules/@noodle-borg/service/dist/routes/billing-stripe.js.map +1 -1
  364. package/node_modules/@noodle-borg/service/dist/routes/github-run-claim.d.ts.map +1 -1
  365. package/node_modules/@noodle-borg/service/dist/routes/github-run-claim.js +3 -1
  366. package/node_modules/@noodle-borg/service/dist/routes/github-run-claim.js.map +1 -1
  367. package/node_modules/@noodle-borg/service/dist/routes/platform-auth-migration-dispatch.d.ts +8 -0
  368. package/node_modules/@noodle-borg/service/dist/routes/platform-auth-migration-dispatch.d.ts.map +1 -0
  369. package/node_modules/@noodle-borg/service/dist/routes/platform-auth-migration-dispatch.js +40 -0
  370. package/node_modules/@noodle-borg/service/dist/routes/platform-auth-migration-dispatch.js.map +1 -0
  371. package/node_modules/@noodle-borg/service/dist/routes/platform-auth-migration.d.ts +13 -0
  372. package/node_modules/@noodle-borg/service/dist/routes/platform-auth-migration.d.ts.map +1 -0
  373. package/node_modules/@noodle-borg/service/dist/routes/platform-auth-migration.js +158 -0
  374. package/node_modules/@noodle-borg/service/dist/routes/platform-auth-migration.js.map +1 -0
  375. package/node_modules/@noodle-borg/service/dist/serve-options.d.ts +21 -3
  376. package/node_modules/@noodle-borg/service/dist/serve-options.d.ts.map +1 -1
  377. package/node_modules/@noodle-borg/service/dist/serve.d.ts.map +1 -1
  378. package/node_modules/@noodle-borg/service/dist/serve.js +61 -146
  379. package/node_modules/@noodle-borg/service/dist/serve.js.map +1 -1
  380. package/node_modules/@noodle-borg/service/dist/service-resource-cleanup.d.ts +1 -0
  381. package/node_modules/@noodle-borg/service/dist/service-resource-cleanup.d.ts.map +1 -1
  382. package/node_modules/@noodle-borg/service/dist/service-resource-cleanup.js +3 -0
  383. package/node_modules/@noodle-borg/service/dist/service-resource-cleanup.js.map +1 -1
  384. package/node_modules/@noodle-borg/service/dist/service.d.ts.map +1 -1
  385. package/node_modules/@noodle-borg/service/dist/service.js +17 -29
  386. package/node_modules/@noodle-borg/service/dist/service.js.map +1 -1
  387. package/node_modules/@noodle-borg/service/dist/store/control-plane.d.ts.map +1 -1
  388. package/node_modules/@noodle-borg/service/dist/store/control-plane.js +60 -19
  389. package/node_modules/@noodle-borg/service/dist/store/control-plane.js.map +1 -1
  390. package/node_modules/@noodle-borg/service/dist/store/postgres-control-plane.d.ts +1 -2
  391. package/node_modules/@noodle-borg/service/dist/store/postgres-control-plane.d.ts.map +1 -1
  392. package/node_modules/@noodle-borg/service/dist/store/postgres-control-plane.js +0 -40
  393. package/node_modules/@noodle-borg/service/dist/store/postgres-control-plane.js.map +1 -1
  394. package/node_modules/@noodle-borg/service/dist/store/postgres-personal-workspace.d.ts +5 -0
  395. package/node_modules/@noodle-borg/service/dist/store/postgres-personal-workspace.d.ts.map +1 -0
  396. package/node_modules/@noodle-borg/service/dist/store/postgres-personal-workspace.js +176 -0
  397. package/node_modules/@noodle-borg/service/dist/store/postgres-personal-workspace.js.map +1 -0
  398. package/node_modules/@noodle-borg/service/dist/store/postgres-schema.d.ts +2 -0
  399. package/node_modules/@noodle-borg/service/dist/store/postgres-schema.d.ts.map +1 -1
  400. package/node_modules/@noodle-borg/service/dist/store/postgres-schema.js +43 -1
  401. package/node_modules/@noodle-borg/service/dist/store/postgres-schema.js.map +1 -1
  402. package/node_modules/@noodle-borg/service/dist/store/postgres-signup.js +2 -1
  403. package/node_modules/@noodle-borg/service/dist/store/postgres-signup.js.map +1 -1
  404. package/node_modules/@noodle-borg/service/dist/workos-directory.d.ts +71 -0
  405. package/node_modules/@noodle-borg/service/dist/workos-directory.d.ts.map +1 -0
  406. package/node_modules/@noodle-borg/service/dist/workos-directory.js +175 -0
  407. package/node_modules/@noodle-borg/service/dist/workos-directory.js.map +1 -0
  408. package/node_modules/@noodle-borg/service/package.json +1 -0
  409. package/node_modules/@workos-inc/node/LICENSE +21 -0
  410. package/node_modules/@workos-inc/node/README.md +140 -0
  411. package/node_modules/@workos-inc/node/lib/factory-B8vTFojy.d.cts +9727 -0
  412. package/node_modules/@workos-inc/node/lib/factory-B8vTFojy.d.mts +9727 -0
  413. package/node_modules/@workos-inc/node/lib/factory-CoKXdPX2.cjs +8426 -0
  414. package/node_modules/@workos-inc/node/lib/factory-CoKXdPX2.cjs.map +1 -0
  415. package/node_modules/@workos-inc/node/lib/factory-MKPb5Egh.mjs +8241 -0
  416. package/node_modules/@workos-inc/node/lib/factory-MKPb5Egh.mjs.map +1 -0
  417. package/node_modules/@workos-inc/node/lib/index.cjs +449 -0
  418. package/node_modules/@workos-inc/node/lib/index.cjs.map +1 -0
  419. package/node_modules/@workos-inc/node/lib/index.d.cts +478 -0
  420. package/node_modules/@workos-inc/node/lib/index.d.mts +478 -0
  421. package/node_modules/@workos-inc/node/lib/index.mjs +394 -0
  422. package/node_modules/@workos-inc/node/lib/index.mjs.map +1 -0
  423. package/node_modules/@workos-inc/node/lib/index.worker.cjs +60 -0
  424. package/node_modules/@workos-inc/node/lib/index.worker.cjs.map +1 -0
  425. package/node_modules/@workos-inc/node/lib/index.worker.d.cts +16 -0
  426. package/node_modules/@workos-inc/node/lib/index.worker.d.mts +16 -0
  427. package/node_modules/@workos-inc/node/lib/index.worker.mjs +35 -0
  428. package/node_modules/@workos-inc/node/lib/index.worker.mjs.map +1 -0
  429. package/node_modules/@workos-inc/node/lib/webapi-BgpV54gi.mjs +3224 -0
  430. package/node_modules/@workos-inc/node/lib/webapi-BgpV54gi.mjs.map +1 -0
  431. package/node_modules/@workos-inc/node/lib/webapi-BzGFatFp.cjs +3271 -0
  432. package/node_modules/@workos-inc/node/lib/webapi-BzGFatFp.cjs.map +1 -0
  433. package/node_modules/@workos-inc/node/package.json +96 -0
  434. package/package.json +2 -1
@@ -1,28 +1,29 @@
1
1
  import { InvalidGrantError, InvalidRequestError, InvalidTokenError, } from '@modelcontextprotocol/sdk/server/auth/errors.js';
2
- import { createOAuthMetadata } from '@modelcontextprotocol/sdk/server/auth/router.js';
3
2
  import { createJwtVerifier, } from '@noodle-borg/auth';
4
3
  import { noopLogger } from '@noodle-borg/transport-http';
5
- import { jwtVerify, SignJWT } from 'jose';
6
- import { renderConsentPage } from './consent.js';
7
- import { isConsentClaims } from './consent-claims.js';
8
- import { bridgeAuthorizeUrl, customerBridgeAuthorizeFields, customerBridgeCallbackFields, microsoftCallbackUrl, renderFirebaseAuthorizePage, } from './customer-bridge.js';
9
- import { DeveloperGrantOAuthFlow, isDeveloperResourceForIssuer } from './developer-grant-flow.js';
4
+ import { initiateAuthorization } from './authorization-initiation.js';
5
+ import { signConsentToken, verifyConsentToken } from './consent-token.js';
6
+ import { customerBridgeAuthorizeFields, customerBridgeCallbackFields, microsoftCallbackUrl, renderFirebaseAuthorizePage, } from './customer-bridge.js';
7
+ import { DeveloperGrantOAuthFlow } from './developer-grant-flow.js';
10
8
  import { DeviceAuthorizationFlow } from './device-flow.js';
11
9
  import { completeDeviceAuthorization, issueDeviceTokens } from './device-provider.js';
12
10
  import { storedOAuthOwnerPreferences, verifiedIdentityOwnerPreferences, } from './identity-preferences.js';
11
+ import { noodleOAuthMetadata } from './metadata.js';
13
12
  import { exchangeMicrosoftAuthorizationCode, isConfiguredMicrosoftBridge, verifyMicrosoftIdToken, } from './microsoft.js';
14
- import { defaultResourceFromClient, hostOf, normalizeResource, resourcePath, trimTrailingSlash, } from './provider-util.js';
13
+ import { assertPlatformRefreshPrincipal } from './platform-principal-guard.js';
14
+ import { defaultResourceFromClient, normalizeResource, resourcePath, trimTrailingSlash, } from './provider-util.js';
15
15
  import { mintOAuthAccessToken, OAuthTokenIssuer } from './token-issuer.js';
16
16
  import { hashToken, randomToken } from './tokens.js';
17
+ import { handleUpstreamHumanCallback } from './upstream-callback-handler.js';
18
+ import { redirectPendingAuthorizationError } from './upstream-callback-support.js';
19
+ import { continueUpstreamProviderChoice } from './upstream-provider-choice.js';
17
20
  const ONE_HOUR = 3600;
18
21
  const THIRTY_DAYS = 30 * 24 * 3600;
19
22
  const TEN_MINUTES = 600;
20
23
  const FIVE_MINUTES = 300;
21
24
  const REFRESH_GRACE = 30;
22
25
  const REFRESH_RECOVERY = 300;
23
- const CONSENT_PATH = '/oauth/consent';
24
26
  const DEVICE_GRANT = 'urn:ietf:params:oauth:grant-type:device_code';
25
- /** Self-hosted OAuth authorization server provider (OA-2, ADR 0042). */
26
27
  export class NoodleOAuthProvider {
27
28
  #config;
28
29
  #accessTtl;
@@ -85,42 +86,32 @@ export class NoodleOAuthProvider {
85
86
  get deviceAuthorizationFlow() {
86
87
  return this.#deviceFlow;
87
88
  }
88
- /** Begin authorization: persist the pending request and redirect the user to "Sign in with Google". */
89
89
  async authorize(client, params, res) {
90
- // RFC 8707: the client MUST bind the token to a resource. Owner-only tokens are audience-bound to the
91
- // tenant MCP URL, so without it we cannot mint a usable token — fail before redirecting to Google.
92
- const resource = params.resource?.href ??
93
- defaultResourceFromClient(client) ??
94
- normalizeResource(this.#config.defaultResourceForClient?.(client));
95
- if (!resource) {
96
- throw new InvalidRequestError('the resource parameter is required');
97
- }
98
- const nonce = randomToken();
99
- await this.#config.store.createPendingAuthorization({
100
- state: hashToken(nonce),
101
- clientId: client.client_id,
102
- redirectUri: params.redirectUri,
103
- codeChallenge: params.codeChallenge,
104
- ...(params.state !== undefined ? { clientState: params.state } : {}),
105
- resource,
106
- ...(params.scopes && params.scopes.length > 0 ? { scope: params.scopes.join(' ') } : {}),
107
- expiresAt: this.#nowSeconds() + this.#pendingTtl,
90
+ await initiateAuthorization({
91
+ client,
92
+ params,
93
+ res,
94
+ issuer: this.#config.issuer,
95
+ store: this.#config.store,
96
+ ...(this.#config.google === undefined ? {} : { google: this.#config.google }),
97
+ ...(this.#config.upstreamAuthenticators?.workos === undefined
98
+ ? {}
99
+ : { workos: this.#config.upstreamAuthenticators.workos }),
100
+ ...(this.#config.upstreamRollout === undefined
101
+ ? {}
102
+ : { rollout: this.#config.upstreamRollout }),
103
+ ...(this.#config.upstreamRolloutStore === undefined
104
+ ? {}
105
+ : { rolloutStore: this.#config.upstreamRolloutStore }),
106
+ ...(this.#config.customerBridgeAuthForResource === undefined
107
+ ? {}
108
+ : { customerBridgeAuthForResource: this.#config.customerBridgeAuthForResource }),
109
+ ...(this.#config.defaultResourceForClient === undefined
110
+ ? {}
111
+ : { defaultResourceForClient: this.#config.defaultResourceForClient }),
112
+ pendingTtlSeconds: this.#pendingTtl,
113
+ nowSeconds: this.#nowSeconds(),
108
114
  });
109
- const bridgeAuth = await this.#config.customerBridgeAuthForResource?.(resource);
110
- if (bridgeAuth !== undefined) {
111
- const authorizeUrl = bridgeAuthorizeUrl(bridgeAuth, {
112
- issuer: this.#config.issuer,
113
- state: nonce,
114
- resource,
115
- clientId: client.client_id,
116
- });
117
- if (authorizeUrl === undefined) {
118
- throw new InvalidRequestError('customer bridge authorization is not configured');
119
- }
120
- res.redirect(302, authorizeUrl);
121
- return;
122
- }
123
- res.redirect(302, this.#config.google.authorizationUrl(nonce));
124
115
  }
125
116
  #withDefaultResource(client) {
126
117
  const defaultResource = this.#config.defaultResourceForClient?.(client);
@@ -128,7 +119,6 @@ export class NoodleOAuthProvider {
128
119
  return client;
129
120
  return { ...client, default_resource: defaultResource };
130
121
  }
131
- /** Return the stored PKCE challenge for a code (non-destructive — the SDK validates the verifier against it). */
132
122
  async challengeForAuthorizationCode(client, authorizationCode) {
133
123
  const record = await this.#config.store.getAuthorizationCode(hashToken(authorizationCode));
134
124
  if (!record || record.clientId !== client.client_id) {
@@ -136,7 +126,6 @@ export class NoodleOAuthProvider {
136
126
  }
137
127
  return record.codeChallenge;
138
128
  }
139
- /** Redeem an authorization code (single-use) and mint the owner's tokens. PKCE was validated by the SDK. */
140
129
  async exchangeAuthorizationCode(client, authorizationCode, _codeVerifier, redirectUri, resource) {
141
130
  const resolvedResource = resource?.href ??
142
131
  defaultResourceFromClient(client) ??
@@ -173,7 +162,6 @@ export class NoodleOAuthProvider {
173
162
  : {}),
174
163
  });
175
164
  }
176
- /** Complete the server-owned authorization-code bridge used by the RFC 8628 verification page. */
177
165
  async completeDeviceAuthorization(session, authorizationCode) {
178
166
  return completeDeviceAuthorization({
179
167
  store: this.#config.store,
@@ -182,11 +170,9 @@ export class NoodleOAuthProvider {
182
170
  authorizationCode,
183
171
  });
184
172
  }
185
- /** Mint normal access/refresh tokens after the device authorization has been approved and consumed. */
186
173
  issueDeviceTokens(record) {
187
174
  return issueDeviceTokens({ tokenIssuer: this.#tokenIssuer, record });
188
175
  }
189
- /** Rotate a refresh token with grace/recovery handling for concurrent or retried refreshes. */
190
176
  async exchangeRefreshToken(client, refreshToken, _scopes, resource) {
191
177
  const resolvedResource = resource?.href ??
192
178
  defaultResourceFromClient(client) ??
@@ -194,9 +180,14 @@ export class NoodleOAuthProvider {
194
180
  if (resolvedResource === undefined) {
195
181
  throw new InvalidRequestError('the resource parameter is required');
196
182
  }
183
+ const oldTokenHash = hashToken(refreshToken);
184
+ await assertPlatformRefreshPrincipal(this.#config.store, this.#config.platformPrincipalResolver, {
185
+ oldTokenHash,
186
+ client,
187
+ });
197
188
  const rawRefresh = randomToken();
198
189
  const rotation = await this.#config.store.rotateRefreshToken({
199
- oldTokenHash: hashToken(refreshToken),
190
+ oldTokenHash,
200
191
  clientId: client.client_id,
201
192
  newTokenHash: hashToken(rawRefresh),
202
193
  newExpiresAt: this.#nowSeconds() + this.#refreshTtl,
@@ -204,7 +195,7 @@ export class NoodleOAuthProvider {
204
195
  recoverySeconds: this.#refreshRecoveryTtl,
205
196
  nowSeconds: this.#nowSeconds(),
206
197
  });
207
- if (rotation.status === 'reuse' || rotation.status === 'unknown') {
198
+ if (!('identity' in rotation)) {
208
199
  this.#logRefresh(rotation.status, client.client_id, resolvedResource);
209
200
  throw new InvalidGrantError('invalid refresh token');
210
201
  }
@@ -245,8 +236,6 @@ export class NoodleOAuthProvider {
245
236
  ...(identity.scope !== undefined ? { scope: identity.scope } : {}),
246
237
  };
247
238
  }
248
- /** Verify an access token (issuer/signature/expiry). Provided for interface completeness — the data-plane
249
- * resource server verifies with its own audience-bound verifier; this is not on the AS request path. */
250
239
  async verifyAccessToken(token) {
251
240
  const identity = await this.#verify()(token);
252
241
  if (!identity)
@@ -258,7 +247,6 @@ export class NoodleOAuthProvider {
258
247
  ...(identity.expiresAt !== undefined ? { expiresAt: identity.expiresAt } : {}),
259
248
  };
260
249
  }
261
- /** RFC 7009 revocation also invalidates the exact developer grant bound to this client token. */
262
250
  async revokeToken(client, request) {
263
251
  try {
264
252
  const identity = await this.#verify()(request.token);
@@ -272,120 +260,67 @@ export class NoodleOAuthProvider {
272
260
  at: new Date(this.#now()).toISOString(),
273
261
  });
274
262
  }
275
- catch {
276
- // RFC 7009 requires invalid and already-revoked tokens to be indistinguishable no-ops.
277
- }
263
+ catch { }
278
264
  }
279
- /** RFC 8414 authorization-server metadata (plus our `jwks_uri`), served at `/.well-known/oauth-authorization-server`. */
280
265
  metadata() {
281
266
  const issuer = trimTrailingSlash(this.#config.issuer);
282
- const base = createOAuthMetadata({ provider: this, issuerUrl: new URL(issuer) });
283
- // The SDK emits `issuer` as `URL.href`, which appends a trailing slash for a path-less origin
284
- // (`https://h` → `https://h/`). RFC 8414 §3.3 requires the metadata `issuer` to be identical to the
285
- // issuer used to build the well-known URL, and our token `iss` + the PRM `authorization_servers` entry
286
- // use the no-slash form — so normalize it back for consistency across all three.
287
- const grants = Array.isArray(base.grant_types_supported)
288
- ? base.grant_types_supported
289
- : ['authorization_code', 'refresh_token'];
290
- return {
291
- ...base,
292
- issuer,
293
- grant_types_supported: [...new Set([...grants, DEVICE_GRANT])],
294
- device_authorization_endpoint: `${issuer}/device_authorization`,
295
- jwks_uri: `${issuer}/.well-known/jwks.json`,
296
- };
267
+ return noodleOAuthMetadata(this, issuer, DEVICE_GRANT);
297
268
  }
298
- /** The public JWKS the resource server (and external validators) read to verify access tokens. */
299
269
  jwks() {
300
270
  return this.#config.signer.publicJwks();
301
271
  }
302
- /** Google callback: consume the pending auth, verify the Google identity, and render the consent page. */
303
272
  async handleGoogleCallback(req, res) {
304
- if (typeof req.query.error === 'string') {
305
- res.status(400).type('text/plain').send(`Google sign-in failed: ${req.query.error}`);
306
- return;
307
- }
308
- const code = typeof req.query.code === 'string' ? req.query.code : undefined;
309
- const state = typeof req.query.state === 'string' ? req.query.state : undefined;
310
- if (!code || !state) {
311
- res.status(400).type('text/plain').send('missing authorization code or state');
312
- return;
313
- }
314
- const pending = await this.#config.store.consumePendingAuthorization(hashToken(state));
315
- if (!pending) {
316
- res.status(400).type('text/plain').send('unknown or expired authorization request');
317
- return;
318
- }
319
- let identity;
320
- try {
321
- identity = await this.#config.google.exchange(code);
322
- }
323
- catch {
324
- res.status(400).type('text/plain').send('Google authentication failed');
325
- return;
326
- }
327
- if (this.#config.allowedEmailDomain &&
328
- !identity.email.toLowerCase().endsWith(this.#config.allowedEmailDomain.toLowerCase()) &&
329
- !(await this.#config.signupAuthorizer?.isSignupAllowed({
330
- subject: identity.subject,
331
- email: identity.email.toLowerCase(),
332
- }))) {
333
- res.status(403).type('text/plain').send('this Google account is not permitted');
334
- return;
335
- }
336
- const preferences = storedOAuthOwnerPreferences(identity);
337
- if (isDeveloperResourceForIssuer(pending.resource, this.#config.issuer)) {
338
- if (this.#developerGrantFlow === undefined) {
339
- res.status(400).type('text/plain').send('developer access is not configured');
340
- return;
341
- }
342
- await this.#developerGrantFlow.renderSelection(pending, identity, res);
343
- return;
344
- }
345
- // Remembered consent: if this human already approved this (client, subject, resource), skip the
346
- // interstitial and issue the code directly — a re-authorizing client (e.g. ChatGPT, which does not persist
347
- // its MCP session) never re-prompts the user. A new client or resource has no grant and still consents
348
- // (ADR 0042 confused-deputy guard intact).
349
- if (await this.#config.store.hasConsentGrant(pending.clientId, identity.subject, pending.resource)) {
350
- await this.#tokenIssuer.issueAuthorizationCode(res, {
351
- clientId: pending.clientId,
352
- codeChallenge: pending.codeChallenge,
353
- redirectUri: pending.redirectUri,
354
- resource: pending.resource,
355
- ownerSubject: identity.subject,
356
- ownerEmail: identity.email,
357
- ...preferences,
358
- ...(pending.clientState !== undefined ? { clientState: pending.clientState } : {}),
359
- ...(pending.scope !== undefined ? { scope: pending.scope } : {}),
360
- });
361
- return;
362
- }
363
- const consentToken = await this.#signConsent({
364
- kind: 'consent',
365
- clientId: pending.clientId,
366
- redirectUri: pending.redirectUri,
367
- codeChallenge: pending.codeChallenge,
368
- resource: pending.resource,
369
- ownerSubject: identity.subject,
370
- ownerEmail: identity.email,
371
- ...preferences,
372
- ...(pending.clientState !== undefined ? { clientState: pending.clientState } : {}),
373
- ...(pending.scope !== undefined ? { scope: pending.scope } : {}),
273
+ await this.#handleUpstreamCallback('google', req, res);
274
+ }
275
+ async handleWorkOSCallback(req, res) {
276
+ await this.#handleUpstreamCallback('workos', req, res);
277
+ }
278
+ async handleUpstreamProviderChoice(req, res) {
279
+ await continueUpstreamProviderChoice({
280
+ req,
281
+ res,
282
+ store: this.#config.store,
283
+ ...(this.#config.google === undefined ? {} : { google: this.#config.google }),
284
+ ...(this.#config.upstreamAuthenticators?.workos === undefined
285
+ ? {}
286
+ : { workos: this.#config.upstreamAuthenticators.workos }),
287
+ });
288
+ }
289
+ async #handleUpstreamCallback(upstreamProvider, req, res) {
290
+ await handleUpstreamHumanCallback({
291
+ provider: upstreamProvider,
292
+ req,
293
+ res,
294
+ store: this.#config.store,
295
+ issuer: this.#config.issuer,
296
+ ...(this.#config.google === undefined ? {} : { google: this.#config.google }),
297
+ ...(this.#config.upstreamAuthenticators?.workos === undefined
298
+ ? {}
299
+ : { workos: this.#config.upstreamAuthenticators.workos }),
300
+ ...(this.#config.platformPrincipalResolver === undefined
301
+ ? {}
302
+ : { resolver: this.#config.platformPrincipalResolver }),
303
+ ...(this.#config.signupAuthorizer === undefined
304
+ ? {}
305
+ : { signupAuthorizer: this.#config.signupAuthorizer }),
306
+ signupMode: this.#config.signupMode ?? 'restricted',
307
+ ...(this.#config.allowedEmailDomain === undefined
308
+ ? {}
309
+ : { allowedEmailDomain: this.#config.allowedEmailDomain }),
310
+ deniedSignupDomains: this.#config.deniedSignupDomains ?? [],
311
+ deniedSignupSubjects: this.#config.deniedSignupSubjects ?? [],
312
+ ...(this.#config.provisionPlatformPrincipal === undefined
313
+ ? {}
314
+ : { provisionPlatformPrincipal: this.#config.provisionPlatformPrincipal }),
315
+ ...(this.#developerGrantFlow === undefined
316
+ ? {}
317
+ : { developerGrantFlow: this.#developerGrantFlow }),
318
+ tokenIssuer: this.#tokenIssuer,
319
+ signConsent: (claims) => signConsentToken(claims, this.#config.signer, this.#config.issuer, this.#consentTtl),
320
+ logger: this.#logger,
321
+ now: this.#now,
374
322
  });
375
- const client = await this.#config.store.getClient(pending.clientId);
376
- res
377
- .status(200)
378
- .type('html')
379
- .send(renderConsentPage({
380
- clientName: client?.client_name ?? pending.clientId,
381
- resourceHost: hostOf(pending.resource),
382
- redirectHost: hostOf(pending.redirectUri),
383
- userEmail: identity.email,
384
- consentToken,
385
- consentAction: CONSENT_PATH,
386
- }));
387
323
  }
388
- /** Consent decision: on approve, mint a PKCE-bound code and redirect to the client; on deny, redirect with an error. */
389
324
  async handleConsent(req, res) {
390
325
  const body = (req.body ?? {});
391
326
  const consentToken = typeof body.consent_token === 'string' ? body.consent_token : undefined;
@@ -396,7 +331,7 @@ export class NoodleOAuthProvider {
396
331
  }
397
332
  let claims;
398
333
  try {
399
- claims = await this.#verifyConsent(consentToken);
334
+ claims = await verifyConsentToken(consentToken, this.#config.signer, this.#config.issuer);
400
335
  }
401
336
  catch {
402
337
  res.status(400).type('text/plain').send('invalid or expired consent');
@@ -410,7 +345,6 @@ export class NoodleOAuthProvider {
410
345
  res.redirect(302, redirect.href);
411
346
  return;
412
347
  }
413
- // Remember this approval so a later authorization for the same (client, subject, resource) is silent.
414
348
  await this.#config.store.createConsentGrant({
415
349
  clientId: claims.clientId,
416
350
  ownerSubject: claims.ownerSubject,
@@ -436,7 +370,6 @@ export class NoodleOAuthProvider {
436
370
  }
437
371
  await this.#developerGrantFlow.handleDecision(req, res);
438
372
  }
439
- /** Customer bridge callback: verify the tenant app's customer token and issue a normal OAuth code. */
440
373
  async handleFirebaseCustomerAuthorize(req, res) {
441
374
  const input = customerBridgeAuthorizeFields(req);
442
375
  const auth = input.resource !== undefined
@@ -456,7 +389,7 @@ export class NoodleOAuthProvider {
456
389
  const input = customerBridgeCallbackFields(req);
457
390
  const state = input.state;
458
391
  if (input.error !== undefined) {
459
- await this.#redirectPendingError(res, state, input.error);
392
+ await this.#redirectPendingError(res, state, input.error, 'customer_firebase');
460
393
  return;
461
394
  }
462
395
  const idToken = input.id_token;
@@ -464,7 +397,7 @@ export class NoodleOAuthProvider {
464
397
  res.status(400).type('text/plain').send('missing state or id_token');
465
398
  return;
466
399
  }
467
- const pending = await this.#config.store.consumePendingAuthorization(hashToken(state));
400
+ const pending = await this.#config.store.consumePendingAuthorization(hashToken(state), 'customer_firebase');
468
401
  if (!pending) {
469
402
  res.status(400).type('text/plain').send('unknown or expired authorization request');
470
403
  return;
@@ -511,7 +444,7 @@ export class NoodleOAuthProvider {
511
444
  const input = customerBridgeCallbackFields(req);
512
445
  const state = input.state;
513
446
  if (input.error !== undefined) {
514
- await this.#redirectPendingError(res, state, input.error);
447
+ await this.#redirectPendingError(res, state, input.error, 'customer_microsoft');
515
448
  return;
516
449
  }
517
450
  const code = input.code;
@@ -519,7 +452,7 @@ export class NoodleOAuthProvider {
519
452
  res.status(400).type('text/plain').send('missing state or code');
520
453
  return;
521
454
  }
522
- const pending = await this.#config.store.consumePendingAuthorization(hashToken(state));
455
+ const pending = await this.#config.store.consumePendingAuthorization(hashToken(state), 'customer_microsoft');
523
456
  if (!pending) {
524
457
  res.status(400).type('text/plain').send('unknown or expired authorization request');
525
458
  return;
@@ -585,22 +518,6 @@ export class NoodleOAuthProvider {
585
518
  identityProvider: 'microsoft',
586
519
  });
587
520
  }
588
- async #signConsent(claims) {
589
- const key = await this.#config.signer.signingKey();
590
- return new SignJWT({ ...claims })
591
- .setProtectedHeader({ alg: key.alg, kid: key.kid })
592
- .setIssuer(this.#config.issuer)
593
- .setIssuedAt()
594
- .setExpirationTime(`${this.#consentTtl}s`)
595
- .sign(key.privateKey);
596
- }
597
- async #verifyConsent(token) {
598
- const getKey = await this.#config.signer.verifierKey();
599
- const { payload } = await jwtVerify(token, getKey, { issuer: this.#config.issuer });
600
- if (!isConsentClaims(payload))
601
- throw new Error('not a consent token');
602
- return payload;
603
- }
604
521
  #verify() {
605
522
  if (!this.#verifier) {
606
523
  this.#verifier = createJwtVerifier({
@@ -610,7 +527,6 @@ export class NoodleOAuthProvider {
610
527
  }
611
528
  return this.#verifier;
612
529
  }
613
- // A resolver that defers to the signer's public key on first use (the signer's key set is stable).
614
530
  #lazyKey = async (header, input) => {
615
531
  const getKey = await this.#config.signer.verifierKey();
616
532
  return getKey(header, input);
@@ -624,21 +540,14 @@ export class NoodleOAuthProvider {
624
540
  resourcePath: resourcePath(resource),
625
541
  });
626
542
  }
627
- async #redirectPendingError(res, state, error) {
628
- if (state === undefined) {
629
- res.status(400).type('text/plain').send(`customer authorization failed: ${error}`);
630
- return;
631
- }
632
- const pending = await this.#config.store.consumePendingAuthorization(hashToken(state));
633
- if (!pending) {
634
- res.status(400).type('text/plain').send('unknown or expired authorization request');
635
- return;
636
- }
637
- const redirect = new URL(pending.redirectUri);
638
- redirect.searchParams.set('error', error);
639
- if (pending.clientState !== undefined)
640
- redirect.searchParams.set('state', pending.clientState);
641
- res.redirect(302, redirect.href);
543
+ async #redirectPendingError(res, state, error, callbackKind) {
544
+ return redirectPendingAuthorizationError({
545
+ store: this.#config.store,
546
+ res,
547
+ state,
548
+ error,
549
+ callbackKind,
550
+ });
642
551
  }
643
552
  }
644
553
  //# sourceMappingURL=provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/oauth/provider.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,iDAAiD,CAAC;AAKzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAOtF,OAAO,EACL,iBAAiB,GAIlB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAe,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEtE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAsB,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EACL,kBAAkB,EAClB,6BAA6B,EAC7B,4BAA4B,EAC5B,oBAAoB,EACpB,2BAA2B,GAC5B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,uBAAuB,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAClG,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGtF,OAAO,EACL,2BAA2B,EAC3B,gCAAgC,GACjC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,kCAAkC,EAClC,2BAA2B,EAE3B,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,yBAAyB,EACzB,MAAM,EACN,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAErD,MAAM,QAAQ,GAAG,IAAI,CAAC;AACtB,MAAM,WAAW,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AACnC,MAAM,WAAW,GAAG,GAAG,CAAC;AACxB,MAAM,YAAY,GAAG,GAAG,CAAC;AACzB,MAAM,aAAa,GAAG,EAAE,CAAC;AACzB,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAC7B,MAAM,YAAY,GAAG,gBAAgB,CAAC;AACtC,MAAM,YAAY,GAAG,8CAA8C,CAAC;AA2CpE,wEAAwE;AACxE,MAAM,OAAO,mBAAmB;IACrB,OAAO,CAA4B;IACnC,UAAU,CAAS;IACnB,WAAW,CAAS;IACpB,gBAAgB,CAAS;IACzB,mBAAmB,CAAS;IAC5B,QAAQ,CAAS;IACjB,WAAW,CAAS;IACpB,WAAW,CAAS;IACpB,OAAO,CAAS;IAChB,IAAI,CAAe;IACnB,YAAY,CAAmB;IAC/B,WAAW,CAA0B;IACrC,mBAAmB,CAAsC;IAClE,SAAS,CAA4B;IAErC,YAAY,MAAiC;QAC3C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,qBAAqB,IAAI,QAAQ,CAAC;QAC3D,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,sBAAsB,IAAI,WAAW,CAAC;QAChE,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,wBAAwB,IAAI,aAAa,CAAC;QACzE,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,2BAA2B,IAAI,gBAAgB,CAAC;QAClF,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,kBAAkB,IAAI,WAAW,CAAC;QACzD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,iBAAiB,IAAI,WAAW,CAAC;QAC3D,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,iBAAiB,IAAI,YAAY,CAAC;QAC5D,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,IAAI,UAAU,CAAC;QAC3C,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,YAAY,GAAG,IAAI,gBAAgB,CAAC;YACvC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE;SACrC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,GAAG,IAAI,uBAAuB,CAAC;YAC7C,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,QAAQ,EAAE,IAAI;YACd,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE;SAC9B,CAAC,CAAC;QACH,IAAI,CAAC,mBAAmB;YACtB,MAAM,CAAC,wBAAwB,KAAK,SAAS;gBAC3C,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,IAAI,uBAAuB,CAAC;oBAC1B,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,UAAU,EAAE,MAAM,CAAC,wBAAwB;oBAC3C,WAAW,EAAE,IAAI,CAAC,YAAY;oBAC9B,eAAe,EAAE,IAAI,CAAC,WAAW;iBAClC,CAAC,CAAC;IACX,CAAC;IAED,IAAI,YAAY;QACd,OAAO;YACL,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC;YAC/D,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,CACzB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAC1B,IAAI,CAAC,oBAAoB,CAAC,MAAoC,CAAC,CAChE;SACJ,CAAC;IACJ,CAAC;IAED,IAAI,uBAAuB;QACzB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,uGAAuG;IACvG,KAAK,CAAC,SAAS,CACb,MAAkC,EAClC,MAA2B,EAC3B,GAAa;QAEb,sGAAsG;QACtG,mGAAmG;QACnG,MAAM,QAAQ,GACZ,MAAM,CAAC,QAAQ,EAAE,IAAI;YACrB,yBAAyB,CAAC,MAAM,CAAC;YACjC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,mBAAmB,CAAC,oCAAoC,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;QAC5B,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC;YAClD,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC;YACvB,QAAQ,EAAE,MAAM,CAAC,SAAS;YAC1B,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,QAAQ;YACR,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxF,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,WAAW;SACjD,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,6BAA6B,EAAE,CAAC,QAAQ,CAAC,CAAC;QAChF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,YAAY,GAAG,kBAAkB,CAAC,UAAU,EAAE;gBAClD,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;gBAC3B,KAAK,EAAE,KAAK;gBACZ,QAAQ;gBACR,QAAQ,EAAE,MAAM,CAAC,SAAS;aAC3B,CAAC,CAAC;YACH,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,IAAI,mBAAmB,CAAC,iDAAiD,CAAC,CAAC;YACnF,CAAC;YACD,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAChC,OAAO;QACT,CAAC;QACD,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,oBAAoB,CAAC,MAAkC;QACrD,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC,MAAM,CAAC,CAAC;QACxE,IAAI,eAAe,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;QACjD,OAAO,EAAE,GAAG,MAAM,EAAE,gBAAgB,EAAE,eAAe,EAAgC,CAAC;IACxF,CAAC;IAED,iHAAiH;IACjH,KAAK,CAAC,6BAA6B,CACjC,MAAkC,EAClC,iBAAyB;QAEzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC3F,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;YACpD,MAAM,IAAI,iBAAiB,CAAC,4BAA4B,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,MAAM,CAAC,aAAa,CAAC;IAC9B,CAAC;IAED,4GAA4G;IAC5G,KAAK,CAAC,yBAAyB,CAC7B,MAAkC,EAClC,iBAAyB,EACzB,aAAsB,EACtB,WAAoB,EACpB,QAAc;QAEd,MAAM,gBAAgB,GACpB,QAAQ,EAAE,IAAI;YACd,yBAAyB,CAAC,MAAM,CAAC;YACjC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QACrE,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,IAAI,mBAAmB,CAAC,oCAAoC,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC9F,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;YACpD,MAAM,IAAI,iBAAiB,CAAC,4BAA4B,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC;YACpE,MAAM,IAAI,iBAAiB,CAAC,uDAAuD,CAAC,CAAC;QACvF,CAAC;QACD,IAAI,gBAAgB,KAAK,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzC,MAAM,IAAI,iBAAiB,CAAC,mDAAmD,CAAC,CAAC;QACnF,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;YACnC,QAAQ,EAAE,MAAM,CAAC,SAAS;YAC1B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7E,GAAG,2BAA2B,CAAC;gBAC7B,MAAM,EAAE,MAAM,CAAC,WAAW;gBAC1B,QAAQ,EAAE,MAAM,CAAC,aAAa;aAC/B,CAAC;YACF,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnF,GAAG,CAAC,MAAM,CAAC,gBAAgB,KAAK,SAAS;gBACvC,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,EAAE;gBAC/C,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,MAAM,CAAC,gBAAgB,KAAK,SAAS;gBACvC,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,EAAE;gBAC/C,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;IACL,CAAC;IAED,kGAAkG;IAClG,KAAK,CAAC,2BAA2B,CAC/B,OAAmC,EACnC,iBAAyB;QAEzB,OAAO,2BAA2B,CAAC;YACjC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;YACzB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;YAC3B,OAAO;YACP,iBAAiB;SAClB,CAAC,CAAC;IACL,CAAC;IAED,uGAAuG;IACvG,iBAAiB,CAAC,MAAiC;QACjD,OAAO,iBAAiB,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,+FAA+F;IAC/F,KAAK,CAAC,oBAAoB,CACxB,MAAkC,EAClC,YAAoB,EACpB,OAAkB,EAClB,QAAc;QAEd,MAAM,gBAAgB,GACpB,QAAQ,EAAE,IAAI;YACd,yBAAyB,CAAC,MAAM,CAAC;YACjC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QACrE,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,IAAI,mBAAmB,CAAC,oCAAoC,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,UAAU,GAAG,WAAW,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC;YAC3D,YAAY,EAAE,SAAS,CAAC,YAAY,CAAC;YACrC,QAAQ,EAAE,MAAM,CAAC,SAAS;YAC1B,YAAY,EAAE,SAAS,CAAC,UAAU,CAAC;YACnC,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,WAAW;YACnD,YAAY,EAAE,IAAI,CAAC,gBAAgB;YACnC,eAAe,EAAE,IAAI,CAAC,mBAAmB;YACzC,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE;SAC/B,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACjE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YACtE,MAAM,IAAI,iBAAiB,CAAC,uBAAuB,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;QAC9B,IAAI,gBAAgB,KAAK,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC3C,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,MAAM,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAC1E,MAAM,IAAI,iBAAiB,CAAC,2CAA2C,CAAC,CAAC;QAC3E,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACvE,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAAC;YAC9C,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;YAC3B,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;YAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ,EAAE;gBACR,YAAY,EAAE,QAAQ,CAAC,YAAY;gBACnC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,GAAG,CAAC,QAAQ,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjF,GAAG,2BAA2B,CAAC;oBAC7B,MAAM,EAAE,QAAQ,CAAC,WAAW;oBAC5B,QAAQ,EAAE,QAAQ,CAAC,aAAa;iBACjC,CAAC;gBACF,GAAG,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClE,GAAG,CAAC,QAAQ,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvF,GAAG,CAAC,QAAQ,CAAC,gBAAgB,KAAK,SAAS;oBACzC,CAAC,CAAC,EAAE,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,EAAE;oBACjD,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,QAAQ,CAAC,gBAAgB,KAAK,SAAS;oBACzC,CAAC,CAAC,EAAE,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,EAAE;oBACjD,CAAC,CAAC,EAAE,CAAC;gBACP,aAAa,EAAE,MAAM,CAAC,SAAS;aAChC;SACF,CAAC,CAAC;QACH,OAAO;YACL,YAAY;YACZ,UAAU,EAAE,QAAQ;YACpB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,aAAa,EAAE,UAAU;YACzB,GAAG,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnE,CAAC;IACJ,CAAC;IAED;4GACwG;IACxG,KAAK,CAAC,iBAAiB,CAAC,KAAa;QACnC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,iBAAiB,CAAC,iCAAiC,CAAC,CAAC;QAC9E,OAAO;YACL,KAAK;YACL,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC5B,GAAG,CAAC,QAAQ,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/E,CAAC;IACJ,CAAC;IAED,iGAAiG;IACjG,KAAK,CAAC,WAAW,CACf,MAAkC,EAClC,OAAoC;QAEpC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACrD,IAAI,QAAQ,EAAE,gBAAgB,KAAK,SAAS,IAAI,QAAQ,CAAC,aAAa,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;gBAC5F,OAAO;YACT,CAAC;YACD,MAAM,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,MAAM,CAAC;gBAClD,EAAE,EAAE,QAAQ,CAAC,gBAAgB;gBAC7B,QAAQ,EAAE,MAAM,CAAC,SAAS;gBAC1B,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,EAAE,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE;aACxC,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,uFAAuF;QACzF,CAAC;IACH,CAAC;IAED,yHAAyH;IACzH,QAAQ;QACN,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,mBAAmB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACjF,8FAA8F;QAC9F,oGAAoG;QACpG,uGAAuG;QACvG,iFAAiF;QACjF,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC;YACtD,CAAC,CAAC,IAAI,CAAC,qBAAqB;YAC5B,CAAC,CAAC,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC;QAC5C,OAAO;YACL,GAAG,IAAI;YACP,MAAM;YACN,qBAAqB,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;YAC9D,6BAA6B,EAAE,GAAG,MAAM,uBAAuB;YAC/D,QAAQ,EAAE,GAAG,MAAM,wBAAwB;SAC5C,CAAC;IACJ,CAAC;IAED,kGAAkG;IAClG,IAAI;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IAC1C,CAAC;IAED,0GAA0G;IAC1G,KAAK,CAAC,oBAAoB,CAAC,GAAY,EAAE,GAAa;QACpD,IAAI,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACxC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,0BAA0B,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YACrF,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7E,MAAM,KAAK,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAChF,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACpB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;YAC/E,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACvF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;YACpF,OAAO;QACT,CAAC;QACD,IAAI,QAAwB,CAAC;QAC7B,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YACxE,OAAO;QACT,CAAC;QACD,IACE,IAAI,CAAC,OAAO,CAAC,kBAAkB;YAC/B,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;YACrF,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,eAAe,CAAC;gBACrD,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE;aACpC,CAAC,CAAC,EACH,CAAC;YACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;YAChF,OAAO;QACT,CAAC;QACD,MAAM,WAAW,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,4BAA4B,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACxE,IAAI,IAAI,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;gBAC3C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;gBAC9E,OAAO;YACT,CAAC;YACD,MAAM,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;YACvE,OAAO;QACT,CAAC;QACD,gGAAgG;QAChG,2GAA2G;QAC3G,uGAAuG;QACvG,2CAA2C;QAC3C,IACE,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,EAC9F,CAAC;YACD,MAAM,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,GAAG,EAAE;gBAClD,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,YAAY,EAAE,QAAQ,CAAC,OAAO;gBAC9B,UAAU,EAAE,QAAQ,CAAC,KAAK;gBAC1B,GAAG,WAAW;gBACd,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClF,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACjE,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC;YAC3C,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,YAAY,EAAE,QAAQ,CAAC,OAAO;YAC9B,UAAU,EAAE,QAAQ,CAAC,KAAK;YAC1B,GAAG,WAAW;YACd,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClF,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjE,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpE,GAAG;aACA,MAAM,CAAC,GAAG,CAAC;aACX,IAAI,CAAC,MAAM,CAAC;aACZ,IAAI,CACH,iBAAiB,CAAC;YAChB,UAAU,EAAE,MAAM,EAAE,WAAW,IAAI,OAAO,CAAC,QAAQ;YACnD,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;YACtC,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;YACzC,SAAS,EAAE,QAAQ,CAAC,KAAK;YACzB,YAAY;YACZ,aAAa,EAAE,YAAY;SAC5B,CAAC,CACH,CAAC;IACN,CAAC;IAED,wHAAwH;IACxH,KAAK,CAAC,aAAa,CAAC,GAAY,EAAE,GAAa;QAC7C,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAA4B,CAAC;QACzD,MAAM,YAAY,GAAG,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7F,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/E,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;QACD,IAAI,MAAqB,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QACnD,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YACtE,OAAO;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC7C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YACpD,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS;gBAAE,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YAC7F,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjC,OAAO;QACT,CAAC;QACD,sGAAsG;QACtG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC;YAC1C,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,GAAG,EAAE;YAClD,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7E,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChF,GAAG,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtF,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChF,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/D,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,GAAY,EAAE,GAAa;QACpD,IAAI,IAAI,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;YAC3C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;YAC9E,OAAO;QACT,CAAC;QACD,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1D,CAAC;IAED,sGAAsG;IACtG,KAAK,CAAC,+BAA+B,CAAC,GAAY,EAAE,GAAa;QAC/D,MAAM,KAAK,GAAG,6BAA6B,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,IAAI,GACR,KAAK,CAAC,QAAQ,KAAK,SAAS;YAC1B,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,6BAA6B,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC;YACpE,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,IAAI,GAAG,2BAA2B,CAAC;YACvC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;YAC3B,IAAI;YACJ,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,WAAW,EAAE,KAAK,CAAC,YAAY;YAC/B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,QAAQ,EAAE,KAAK,CAAC,SAAS;SAC1B,CAAC,CAAC;QACH,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9F,CAAC;IAED,KAAK,CAAC,8BAA8B,CAAC,GAAY,EAAE,GAAa;QAC9D,MAAM,KAAK,GAAG,4BAA4B,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1D,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACjD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACvF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;YACpF,OAAO;QACT,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,6BAA6B,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACxF,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YACnE,GAAG;iBACA,MAAM,CAAC,GAAG,CAAC;iBACX,IAAI,CAAC,YAAY,CAAC;iBAClB,IAAI,CAAC,qDAAqD,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACrF,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YAChD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YAC1E,OAAO;QACT,CAAC;QACD,IACE,KAAK,CAAC,aAAa,KAAK,SAAS;YACjC,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,sBAAsB,KAAK,SAAS,EACjD,CAAC;YACD,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;gBAC9C,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,QAAQ,EAAE,UAAU;gBACpB,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,UAAU,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,aAAa,CAAC;gBAC1E,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE;aAC/C,CAAC,CAAC;QACL,CAAC;QACD,MAAM,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,GAAG,EAAE;YAClD,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,YAAY,EAAE,QAAQ,CAAC,OAAO;YAC9B,GAAG,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,GAAG,gCAAgC,CAAC,QAAQ,CAAC;YAC7C,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClF,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,YAAY,EAAE,UAAU;YACxB,gBAAgB,EAAE,UAAU;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,+BAA+B,CAAC,GAAY,EAAE,GAAa;QAC/D,MAAM,KAAK,GAAG,4BAA4B,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1D,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACvF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;YACpF,OAAO;QACT,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,6BAA6B,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACxF,IAAI,CAAC,2BAA2B,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7C,GAAG;iBACA,MAAM,CAAC,GAAG,CAAC;iBACX,IAAI,CAAC,YAAY,CAAC;iBAClB,IAAI,CAAC,qDAAqD,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAChE,OAAO,CAAC,QAAQ,EAChB,UAAU,CAAC,YAAY,CACxB,CAAC;QACF,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;YAC3F,OAAO;QACT,CAAC;QACD,IAAI,MAAwC,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,kCAAkC,CAAC;gBAChD,IAAI,EAAE,UAAU;gBAChB,IAAI;gBACJ,YAAY;gBACZ,WAAW,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACzE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,KAAK;aAC3C,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YAC1E,OAAO;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC;YAC5C,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,KAAK;SAC3C,CAAC,CAAC;QACH,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YAC1E,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,sBAAsB,KAAK,SAAS,EAAE,CAAC;YACtD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;YACzF,OAAO;QACT,CAAC;QACD,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;YAC9C,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,QAAQ,EAAE,WAAW;YACrB,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,UAAU,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,MAAM,CAAC,YAAY,CAAC;YAC1E,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE;SAC/C,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,GAAG,EAAE;YAClD,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,YAAY,EAAE,QAAQ,CAAC,OAAO;YAC9B,GAAG,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,GAAG,gCAAgC,CAAC,QAAQ,CAAC;YAC7C,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClF,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,YAAY,EAAE,UAAU;YACxB,gBAAgB,EAAE,WAAW;SAC9B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAqB;QACtC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACnD,OAAO,IAAI,OAAO,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;aAC9B,kBAAkB,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;aAClD,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;aAC9B,WAAW,EAAE;aACb,iBAAiB,CAAC,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC;aACzC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,KAAa;QAChC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACvD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACpF,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACtE,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,iBAAiB,CAAC;gBACjC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;gBAC3B,WAAW,EAAE,IAAI,CAAC,QAAQ;aAC3B,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,mGAAmG;IACnG,QAAQ,GAAmC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;QACjE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACvD,OAAO,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC,CAAC;IAEF,WAAW;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,WAAW,CAAC,OAAe,EAAE,QAAgB,EAAE,QAAgB;QAC7D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,OAAO,EAAE,EAAE;YAC5C,QAAQ;YACR,YAAY,EAAE,YAAY,CAAC,QAAQ,CAAC;SACrC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,GAAa,EACb,KAAyB,EACzB,KAAa;QAEb,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,kCAAkC,KAAK,EAAE,CAAC,CAAC;YACnF,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACvF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;YACpF,OAAO;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC9C,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC1C,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS;YAAE,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAC/F,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;CACF"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/oauth/provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import type { IncomingMessage, ServerResponse } from 'node:http';
2
+ import { type SigningKeyProvider } from '@noodle-borg/auth';
3
+ import type { SecretBox } from '@noodle-borg/runtime';
4
+ import { type OwnerTokenVerifier } from '@noodle-borg/transport-http';
5
+ import type { Pool } from 'pg';
6
+ import { createCustomerVerifierFactory } from '../customer-verifier.js';
7
+ import type { PlatformAuthServiceBootstrap } from '../platform-auth-service-bootstrap.js';
8
+ import { type PlatformIdentityStore } from '../platform-identity.js';
9
+ import type { ServerRegistry } from '../registry.js';
10
+ import type { ServeServiceOptions } from '../serve-options.js';
11
+ import type { ControlPlaneStore } from '../store.js';
12
+ import type { DeveloperGrantStore } from './developer-grant.js';
13
+ import type { OAuthStore } from './store.js';
14
+ export interface ServiceOAuthBootstrap {
15
+ readonly authServerApp?: (req: IncomingMessage, res: ServerResponse) => void;
16
+ readonly verifyOwnerToken?: OwnerTokenVerifier;
17
+ readonly authServerIssuer?: string;
18
+ readonly oauthStore?: OAuthStore;
19
+ readonly developerGrantStore?: DeveloperGrantStore;
20
+ readonly delegatedExchange?: {
21
+ readonly issuer: string;
22
+ readonly signer: SigningKeyProvider;
23
+ };
24
+ readonly rawCustomerVerifierFactory: ReturnType<typeof createCustomerVerifierFactory>;
25
+ }
26
+ /** Build the co-hosted authorization server and its durable upstream-human dependencies. */
27
+ export declare function resolveServiceOAuthBootstrap(input: {
28
+ readonly options: ServeServiceOptions;
29
+ readonly pool?: Pool;
30
+ readonly secretBox?: SecretBox;
31
+ readonly controlPlaneStore: ControlPlaneStore;
32
+ readonly platformIdentityStore?: PlatformIdentityStore;
33
+ readonly platformAuth: PlatformAuthServiceBootstrap;
34
+ readonly registry: () => ServerRegistry | undefined;
35
+ }): Promise<ServiceOAuthBootstrap>;
36
+ //# sourceMappingURL=service-bootstrap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-bootstrap.d.ts","sourceRoot":"","sources":["../../src/oauth/service-bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,EAAqB,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAc,KAAK,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAClF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AAIxE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAC1F,OAAO,EAAE,KAAK,qBAAqB,EAA6B,MAAM,yBAAyB,CAAC;AAEhG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAO/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAMhE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,KAAK,IAAI,CAAC;IAC7E,QAAQ,CAAC,gBAAgB,CAAC,EAAE,kBAAkB,CAAC;IAC/C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IACnD,QAAQ,CAAC,iBAAiB,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAA;KAAE,CAAC;IAC9F,QAAQ,CAAC,0BAA0B,EAAE,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC;CACvF;AAED,4FAA4F;AAC5F,wBAAsB,4BAA4B,CAAC,KAAK,EAAE;IACxD,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACtC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC9C,QAAQ,CAAC,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IACvD,QAAQ,CAAC,YAAY,EAAE,4BAA4B,CAAC;IACpD,QAAQ,CAAC,QAAQ,EAAE,MAAM,cAAc,GAAG,SAAS,CAAC;CACrD,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAgKjC"}