@noodleseed/one 0.58.0 → 0.59.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 (498) hide show
  1. package/dist/cli.d.ts.map +1 -1
  2. package/dist/cli.js +72 -7
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/alerts-ops.d.ts +2 -1
  5. package/dist/commands/alerts-ops.d.ts.map +1 -1
  6. package/dist/commands/alerts-ops.js.map +1 -1
  7. package/dist/commands/analytics-ops.d.ts +4 -3
  8. package/dist/commands/analytics-ops.d.ts.map +1 -1
  9. package/dist/commands/analytics-ops.js.map +1 -1
  10. package/dist/commands/apps-ops.d.ts +5 -4
  11. package/dist/commands/apps-ops.d.ts.map +1 -1
  12. package/dist/commands/apps-ops.js.map +1 -1
  13. package/dist/commands/archive-ops.d.ts +3 -2
  14. package/dist/commands/archive-ops.d.ts.map +1 -1
  15. package/dist/commands/archive-ops.js.map +1 -1
  16. package/dist/commands/assistant-embed-ops.d.ts +9 -1
  17. package/dist/commands/assistant-embed-ops.d.ts.map +1 -1
  18. package/dist/commands/assistant-embed-ops.js.map +1 -1
  19. package/dist/commands/assistant-ops.d.ts +2 -1
  20. package/dist/commands/assistant-ops.d.ts.map +1 -1
  21. package/dist/commands/assistant-ops.js +3 -2
  22. package/dist/commands/assistant-ops.js.map +1 -1
  23. package/dist/commands/audit-ops.d.ts +2 -1
  24. package/dist/commands/audit-ops.d.ts.map +1 -1
  25. package/dist/commands/audit-ops.js.map +1 -1
  26. package/dist/commands/auth-ops.d.ts +2 -1
  27. package/dist/commands/auth-ops.d.ts.map +1 -1
  28. package/dist/commands/auth-ops.js.map +1 -1
  29. package/dist/commands/author-loop.d.ts +4 -3
  30. package/dist/commands/author-loop.d.ts.map +1 -1
  31. package/dist/commands/author-loop.js.map +1 -1
  32. package/dist/commands/billing-apply-ops.d.ts +2 -1
  33. package/dist/commands/billing-apply-ops.d.ts.map +1 -1
  34. package/dist/commands/billing-apply-ops.js.map +1 -1
  35. package/dist/commands/billing-enforcement-activation-ops.d.ts +2 -1
  36. package/dist/commands/billing-enforcement-activation-ops.d.ts.map +1 -1
  37. package/dist/commands/billing-enforcement-activation-ops.js.map +1 -1
  38. package/dist/commands/billing-enforcement-ops.d.ts +2 -1
  39. package/dist/commands/billing-enforcement-ops.d.ts.map +1 -1
  40. package/dist/commands/billing-enforcement-ops.js.map +1 -1
  41. package/dist/commands/billing-metering-ops.d.ts +2 -1
  42. package/dist/commands/billing-metering-ops.d.ts.map +1 -1
  43. package/dist/commands/billing-metering-ops.js.map +1 -1
  44. package/dist/commands/billing-metering-validation-ops.d.ts +2 -1
  45. package/dist/commands/billing-metering-validation-ops.d.ts.map +1 -1
  46. package/dist/commands/billing-metering-validation-ops.js.map +1 -1
  47. package/dist/commands/billing-ops.d.ts +2 -1
  48. package/dist/commands/billing-ops.d.ts.map +1 -1
  49. package/dist/commands/billing-ops.js.map +1 -1
  50. package/dist/commands/billing-read-ops.d.ts +3 -2
  51. package/dist/commands/billing-read-ops.d.ts.map +1 -1
  52. package/dist/commands/billing-read-ops.js.map +1 -1
  53. package/dist/commands/billing-stripe-ops.d.ts +2 -1
  54. package/dist/commands/billing-stripe-ops.d.ts.map +1 -1
  55. package/dist/commands/billing-stripe-ops.js.map +1 -1
  56. package/dist/commands/config-values.d.ts +2 -1
  57. package/dist/commands/config-values.d.ts.map +1 -1
  58. package/dist/commands/config-values.js.map +1 -1
  59. package/dist/commands/deploy-github-hint.d.ts +6 -0
  60. package/dist/commands/deploy-github-hint.d.ts.map +1 -0
  61. package/dist/commands/deploy-github-hint.js +53 -0
  62. package/dist/commands/deploy-github-hint.js.map +1 -0
  63. package/dist/commands/deploy-ops.d.ts +5 -7
  64. package/dist/commands/deploy-ops.d.ts.map +1 -1
  65. package/dist/commands/deploy-ops.js +14 -54
  66. package/dist/commands/deploy-ops.js.map +1 -1
  67. package/dist/commands/deploy-status-ops.d.ts +5 -3
  68. package/dist/commands/deploy-status-ops.d.ts.map +1 -1
  69. package/dist/commands/deploy-status-ops.js +9 -1
  70. package/dist/commands/deploy-status-ops.js.map +1 -1
  71. package/dist/commands/deploy-target.d.ts +2 -1
  72. package/dist/commands/deploy-target.d.ts.map +1 -1
  73. package/dist/commands/deploy-target.js.map +1 -1
  74. package/dist/commands/deployments-ops.d.ts +5 -4
  75. package/dist/commands/deployments-ops.d.ts.map +1 -1
  76. package/dist/commands/deployments-ops.js.map +1 -1
  77. package/dist/commands/devtools.d.ts +2 -1
  78. package/dist/commands/devtools.d.ts.map +1 -1
  79. package/dist/commands/devtools.js.map +1 -1
  80. package/dist/commands/diagnostics-ops.d.ts +3 -2
  81. package/dist/commands/diagnostics-ops.d.ts.map +1 -1
  82. package/dist/commands/diagnostics-ops.js.map +1 -1
  83. package/dist/commands/envs-ops.d.ts +4 -3
  84. package/dist/commands/envs-ops.d.ts.map +1 -1
  85. package/dist/commands/envs-ops.js.map +1 -1
  86. package/dist/commands/feedback-ops.d.ts +2 -1
  87. package/dist/commands/feedback-ops.d.ts.map +1 -1
  88. package/dist/commands/feedback-ops.js.map +1 -1
  89. package/dist/commands/github-ops.d.ts +5 -4
  90. package/dist/commands/github-ops.d.ts.map +1 -1
  91. package/dist/commands/github-ops.js.map +1 -1
  92. package/dist/commands/github-runs-ops.d.ts +2 -1
  93. package/dist/commands/github-runs-ops.d.ts.map +1 -1
  94. package/dist/commands/github-runs-ops.js.map +1 -1
  95. package/dist/commands/github-shared.d.ts +2 -1
  96. package/dist/commands/github-shared.d.ts.map +1 -1
  97. package/dist/commands/github-shared.js.map +1 -1
  98. package/dist/commands/logs-ops.d.ts +2 -1
  99. package/dist/commands/logs-ops.d.ts.map +1 -1
  100. package/dist/commands/logs-ops.js.map +1 -1
  101. package/dist/commands/org-admin.d.ts +3 -2
  102. package/dist/commands/org-admin.d.ts.map +1 -1
  103. package/dist/commands/org-admin.js.map +1 -1
  104. package/dist/commands/org-openai-challenge.d.ts +2 -1
  105. package/dist/commands/org-openai-challenge.d.ts.map +1 -1
  106. package/dist/commands/org-openai-challenge.js.map +1 -1
  107. package/dist/commands/policy-ops.d.ts +2 -1
  108. package/dist/commands/policy-ops.d.ts.map +1 -1
  109. package/dist/commands/policy-ops.js.map +1 -1
  110. package/dist/commands/resource-shared.d.ts +2 -1
  111. package/dist/commands/resource-shared.d.ts.map +1 -1
  112. package/dist/commands/resource-shared.js.map +1 -1
  113. package/dist/commands/service-ops.d.ts +2 -1
  114. package/dist/commands/service-ops.d.ts.map +1 -1
  115. package/dist/commands/service-ops.js.map +1 -1
  116. package/dist/commands/session.d.ts +12 -4
  117. package/dist/commands/session.d.ts.map +1 -1
  118. package/dist/commands/session.js +40 -9
  119. package/dist/commands/session.js.map +1 -1
  120. package/dist/commands/shared.d.ts +2 -1
  121. package/dist/commands/shared.d.ts.map +1 -1
  122. package/dist/commands/shared.js.map +1 -1
  123. package/dist/config.d.ts +17 -8
  124. package/dist/config.d.ts.map +1 -1
  125. package/dist/config.js +2 -2
  126. package/dist/config.js.map +1 -1
  127. package/dist/control-plane.d.ts +10 -3
  128. package/dist/control-plane.d.ts.map +1 -1
  129. package/dist/control-plane.js +38 -2
  130. package/dist/control-plane.js.map +1 -1
  131. package/dist/doctor.d.ts +2 -1
  132. package/dist/doctor.d.ts.map +1 -1
  133. package/dist/doctor.js.map +1 -1
  134. package/dist/first-run-entry.d.ts +2 -1
  135. package/dist/first-run-entry.d.ts.map +1 -1
  136. package/dist/first-run-entry.js.map +1 -1
  137. package/dist/first-run.d.ts +2 -1
  138. package/dist/first-run.d.ts.map +1 -1
  139. package/dist/first-run.js.map +1 -1
  140. package/dist/index.d.ts +4 -1
  141. package/dist/index.d.ts.map +1 -1
  142. package/dist/index.js +3 -0
  143. package/dist/index.js.map +1 -1
  144. package/dist/local-target.d.ts +2 -1
  145. package/dist/local-target.d.ts.map +1 -1
  146. package/dist/local-target.js.map +1 -1
  147. package/dist/plugin-mode/build-readiness-contract.d.ts +36 -0
  148. package/dist/plugin-mode/build-readiness-contract.d.ts.map +1 -0
  149. package/dist/plugin-mode/build-readiness-contract.js +107 -0
  150. package/dist/plugin-mode/build-readiness-contract.js.map +1 -0
  151. package/dist/plugin-mode/build-readiness-fingerprint.d.ts +7 -0
  152. package/dist/plugin-mode/build-readiness-fingerprint.d.ts.map +1 -0
  153. package/dist/plugin-mode/build-readiness-fingerprint.js +83 -0
  154. package/dist/plugin-mode/build-readiness-fingerprint.js.map +1 -0
  155. package/dist/plugin-mode/build-readiness-recorder.d.ts +15 -0
  156. package/dist/plugin-mode/build-readiness-recorder.d.ts.map +1 -0
  157. package/dist/plugin-mode/build-readiness-recorder.js +150 -0
  158. package/dist/plugin-mode/build-readiness-recorder.js.map +1 -0
  159. package/dist/plugin-mode/build-readiness-server.d.ts +22 -0
  160. package/dist/plugin-mode/build-readiness-server.d.ts.map +1 -0
  161. package/dist/plugin-mode/build-readiness-server.js +322 -0
  162. package/dist/plugin-mode/build-readiness-server.js.map +1 -0
  163. package/dist/plugin-mode/build-readiness-store.d.ts +16 -0
  164. package/dist/plugin-mode/build-readiness-store.d.ts.map +1 -0
  165. package/dist/plugin-mode/build-readiness-store.js +198 -0
  166. package/dist/plugin-mode/build-readiness-store.js.map +1 -0
  167. package/dist/plugin-mode/build-readiness-tools.d.ts +47 -0
  168. package/dist/plugin-mode/build-readiness-tools.d.ts.map +1 -0
  169. package/dist/plugin-mode/build-readiness-tools.js +159 -0
  170. package/dist/plugin-mode/build-readiness-tools.js.map +1 -0
  171. package/dist/plugin-mode/build-readiness-widget.css.d.ts +2 -0
  172. package/dist/plugin-mode/build-readiness-widget.css.d.ts.map +1 -0
  173. package/dist/plugin-mode/build-readiness-widget.css.js +217 -0
  174. package/dist/plugin-mode/build-readiness-widget.css.js.map +1 -0
  175. package/dist/plugin-mode/build-readiness-widget.d.ts +28 -0
  176. package/dist/plugin-mode/build-readiness-widget.d.ts.map +1 -0
  177. package/dist/plugin-mode/build-readiness-widget.js +60 -0
  178. package/dist/plugin-mode/build-readiness-widget.js.map +1 -0
  179. package/dist/plugin-mode/compatibility.d.ts +22 -0
  180. package/dist/plugin-mode/compatibility.d.ts.map +1 -0
  181. package/dist/plugin-mode/compatibility.js +59 -0
  182. package/dist/plugin-mode/compatibility.js.map +1 -0
  183. package/dist/plugin-mode/plugin-mcp-bootstrap.d.ts +13 -0
  184. package/dist/plugin-mode/plugin-mcp-bootstrap.d.ts.map +1 -0
  185. package/dist/plugin-mode/plugin-mcp-bootstrap.js +90 -0
  186. package/dist/plugin-mode/plugin-mcp-bootstrap.js.map +1 -0
  187. package/dist/plugin-mode/profile.d.ts +16 -0
  188. package/dist/plugin-mode/profile.d.ts.map +1 -0
  189. package/dist/plugin-mode/profile.js +66 -0
  190. package/dist/plugin-mode/profile.js.map +1 -0
  191. package/dist/plugin-mode/service-compatibility.d.ts +15 -0
  192. package/dist/plugin-mode/service-compatibility.d.ts.map +1 -0
  193. package/dist/plugin-mode/service-compatibility.js +57 -0
  194. package/dist/plugin-mode/service-compatibility.js.map +1 -0
  195. package/dist/update-check.d.ts +2 -16
  196. package/dist/update-check.d.ts.map +1 -1
  197. package/dist/update-check.js.map +1 -1
  198. package/node_modules/@noodle-borg/agent-kit/dist/generated/example-files.js +1 -1
  199. package/node_modules/@noodle-borg/agent-kit/dist/generated/example-files.js.map +1 -1
  200. package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.d.ts +1 -1
  201. package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.d.ts.map +1 -1
  202. package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.js +1 -1
  203. package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.js.map +1 -1
  204. package/node_modules/@noodle-borg/agent-kit/dist/index.d.ts +3 -0
  205. package/node_modules/@noodle-borg/agent-kit/dist/index.d.ts.map +1 -1
  206. package/node_modules/@noodle-borg/agent-kit/dist/index.js +3 -0
  207. package/node_modules/@noodle-borg/agent-kit/dist/index.js.map +1 -1
  208. package/node_modules/@noodle-borg/agent-kit/dist/plugin-bundle.d.ts +5 -0
  209. package/node_modules/@noodle-borg/agent-kit/dist/plugin-bundle.d.ts.map +1 -1
  210. package/node_modules/@noodle-borg/agent-kit/dist/plugin-bundle.js +106 -28
  211. package/node_modules/@noodle-borg/agent-kit/dist/plugin-bundle.js.map +1 -1
  212. package/node_modules/@noodle-borg/agent-kit/dist/plugin-compatibility.d.ts +22 -0
  213. package/node_modules/@noodle-borg/agent-kit/dist/plugin-compatibility.d.ts.map +1 -0
  214. package/node_modules/@noodle-borg/agent-kit/dist/plugin-compatibility.js +100 -0
  215. package/node_modules/@noodle-borg/agent-kit/dist/plugin-compatibility.js.map +1 -0
  216. package/node_modules/@noodle-borg/agent-kit/dist/plugin-launcher.d.ts +8 -0
  217. package/node_modules/@noodle-borg/agent-kit/dist/plugin-launcher.d.ts.map +1 -0
  218. package/node_modules/@noodle-borg/agent-kit/dist/plugin-launcher.js +55 -0
  219. package/node_modules/@noodle-borg/agent-kit/dist/plugin-launcher.js.map +1 -0
  220. package/node_modules/@noodle-borg/agent-kit/dist/plugin-manifests.d.ts +27 -0
  221. package/node_modules/@noodle-borg/agent-kit/dist/plugin-manifests.d.ts.map +1 -0
  222. package/node_modules/@noodle-borg/agent-kit/dist/plugin-manifests.js +108 -0
  223. package/node_modules/@noodle-borg/agent-kit/dist/plugin-manifests.js.map +1 -0
  224. package/node_modules/@noodle-borg/agent-kit/dist/plugin-marketplace-docs.d.ts +9 -0
  225. package/node_modules/@noodle-borg/agent-kit/dist/plugin-marketplace-docs.d.ts.map +1 -0
  226. package/node_modules/@noodle-borg/agent-kit/dist/plugin-marketplace-docs.js +121 -0
  227. package/node_modules/@noodle-borg/agent-kit/dist/plugin-marketplace-docs.js.map +1 -0
  228. package/node_modules/@noodle-borg/agent-kit/dist/plugin-submission.d.ts +130 -0
  229. package/node_modules/@noodle-borg/agent-kit/dist/plugin-submission.d.ts.map +1 -0
  230. package/node_modules/@noodle-borg/agent-kit/dist/plugin-submission.js +220 -0
  231. package/node_modules/@noodle-borg/agent-kit/dist/plugin-submission.js.map +1 -0
  232. package/node_modules/@noodle-borg/agent-kit/dist/skill-content.d.ts.map +1 -1
  233. package/node_modules/@noodle-borg/agent-kit/dist/skill-content.js +2 -0
  234. package/node_modules/@noodle-borg/agent-kit/dist/skill-content.js.map +1 -1
  235. package/node_modules/@noodle-borg/agent-kit/dist/skill-operations-refs.d.ts.map +1 -1
  236. package/node_modules/@noodle-borg/agent-kit/dist/skill-operations-refs.js +5 -0
  237. package/node_modules/@noodle-borg/agent-kit/dist/skill-operations-refs.js.map +1 -1
  238. package/node_modules/@noodle-borg/auth/dist/jwt-issuer.d.ts +4 -0
  239. package/node_modules/@noodle-borg/auth/dist/jwt-issuer.d.ts.map +1 -1
  240. package/node_modules/@noodle-borg/auth/dist/jwt-issuer.js +2 -0
  241. package/node_modules/@noodle-borg/auth/dist/jwt-issuer.js.map +1 -1
  242. package/node_modules/@noodle-borg/auth/dist/verify.d.ts +4 -0
  243. package/node_modules/@noodle-borg/auth/dist/verify.d.ts.map +1 -1
  244. package/node_modules/@noodle-borg/auth/dist/verify.js +10 -0
  245. package/node_modules/@noodle-borg/auth/dist/verify.js.map +1 -1
  246. package/node_modules/@noodle-borg/developer-mcp/dist/capabilities.d.ts +9 -0
  247. package/node_modules/@noodle-borg/developer-mcp/dist/capabilities.d.ts.map +1 -0
  248. package/node_modules/@noodle-borg/developer-mcp/dist/capabilities.js +41 -0
  249. package/node_modules/@noodle-borg/developer-mcp/dist/capabilities.js.map +1 -0
  250. package/node_modules/@noodle-borg/developer-mcp/dist/contracts.d.ts +637 -0
  251. package/node_modules/@noodle-borg/developer-mcp/dist/contracts.d.ts.map +1 -0
  252. package/node_modules/@noodle-borg/developer-mcp/dist/contracts.js +364 -0
  253. package/node_modules/@noodle-borg/developer-mcp/dist/contracts.js.map +1 -0
  254. package/node_modules/@noodle-borg/developer-mcp/dist/diagnosis.d.ts +79 -0
  255. package/node_modules/@noodle-borg/developer-mcp/dist/diagnosis.d.ts.map +1 -0
  256. package/node_modules/@noodle-borg/developer-mcp/dist/diagnosis.js +138 -0
  257. package/node_modules/@noodle-borg/developer-mcp/dist/diagnosis.js.map +1 -0
  258. package/node_modules/@noodle-borg/developer-mcp/dist/index.d.ts +12 -0
  259. package/node_modules/@noodle-borg/developer-mcp/dist/index.d.ts.map +1 -0
  260. package/node_modules/@noodle-borg/developer-mcp/dist/index.js +12 -0
  261. package/node_modules/@noodle-borg/developer-mcp/dist/index.js.map +1 -0
  262. package/node_modules/@noodle-borg/developer-mcp/dist/port.d.ts +16 -0
  263. package/node_modules/@noodle-borg/developer-mcp/dist/port.d.ts.map +1 -0
  264. package/node_modules/@noodle-borg/developer-mcp/dist/port.js +9 -0
  265. package/node_modules/@noodle-borg/developer-mcp/dist/port.js.map +1 -0
  266. package/node_modules/@noodle-borg/developer-mcp/dist/prompts.d.ts +16 -0
  267. package/node_modules/@noodle-borg/developer-mcp/dist/prompts.d.ts.map +1 -0
  268. package/node_modules/@noodle-borg/developer-mcp/dist/prompts.js +51 -0
  269. package/node_modules/@noodle-borg/developer-mcp/dist/prompts.js.map +1 -0
  270. package/node_modules/@noodle-borg/developer-mcp/dist/resources.d.ts +13 -0
  271. package/node_modules/@noodle-borg/developer-mcp/dist/resources.d.ts.map +1 -0
  272. package/node_modules/@noodle-borg/developer-mcp/dist/resources.js +90 -0
  273. package/node_modules/@noodle-borg/developer-mcp/dist/resources.js.map +1 -0
  274. package/node_modules/@noodle-borg/developer-mcp/dist/results.d.ts +31 -0
  275. package/node_modules/@noodle-borg/developer-mcp/dist/results.d.ts.map +1 -0
  276. package/node_modules/@noodle-borg/developer-mcp/dist/results.js +80 -0
  277. package/node_modules/@noodle-borg/developer-mcp/dist/results.js.map +1 -0
  278. package/node_modules/@noodle-borg/developer-mcp/dist/server.d.ts +19 -0
  279. package/node_modules/@noodle-borg/developer-mcp/dist/server.d.ts.map +1 -0
  280. package/node_modules/@noodle-borg/developer-mcp/dist/server.js +79 -0
  281. package/node_modules/@noodle-borg/developer-mcp/dist/server.js.map +1 -0
  282. package/node_modules/@noodle-borg/developer-mcp/dist/tools/apps.d.ts +43 -0
  283. package/node_modules/@noodle-borg/developer-mcp/dist/tools/apps.d.ts.map +1 -0
  284. package/node_modules/@noodle-borg/developer-mcp/dist/tools/apps.js +77 -0
  285. package/node_modules/@noodle-borg/developer-mcp/dist/tools/apps.js.map +1 -0
  286. package/node_modules/@noodle-borg/developer-mcp/dist/tools/context.d.ts +4 -0
  287. package/node_modules/@noodle-borg/developer-mcp/dist/tools/context.d.ts.map +1 -0
  288. package/node_modules/@noodle-borg/developer-mcp/dist/tools/context.js +21 -0
  289. package/node_modules/@noodle-borg/developer-mcp/dist/tools/context.js.map +1 -0
  290. package/node_modules/@noodle-borg/developer-mcp/dist/tools/deployments.d.ts +61 -0
  291. package/node_modules/@noodle-borg/developer-mcp/dist/tools/deployments.d.ts.map +1 -0
  292. package/node_modules/@noodle-borg/developer-mcp/dist/tools/deployments.js +37 -0
  293. package/node_modules/@noodle-borg/developer-mcp/dist/tools/deployments.js.map +1 -0
  294. package/node_modules/@noodle-borg/developer-mcp/dist/tools/diagnose.d.ts +29 -0
  295. package/node_modules/@noodle-borg/developer-mcp/dist/tools/diagnose.d.ts.map +1 -0
  296. package/node_modules/@noodle-borg/developer-mcp/dist/tools/diagnose.js +83 -0
  297. package/node_modules/@noodle-borg/developer-mcp/dist/tools/diagnose.js.map +1 -0
  298. package/node_modules/@noodle-borg/developer-mcp/dist/tools/index.d.ts +7 -0
  299. package/node_modules/@noodle-borg/developer-mcp/dist/tools/index.d.ts.map +1 -0
  300. package/node_modules/@noodle-borg/developer-mcp/dist/tools/index.js +7 -0
  301. package/node_modules/@noodle-borg/developer-mcp/dist/tools/index.js.map +1 -0
  302. package/node_modules/@noodle-borg/developer-mcp/dist/tools/operations.d.ts +138 -0
  303. package/node_modules/@noodle-borg/developer-mcp/dist/tools/operations.d.ts.map +1 -0
  304. package/node_modules/@noodle-borg/developer-mcp/dist/tools/operations.js +99 -0
  305. package/node_modules/@noodle-borg/developer-mcp/dist/tools/operations.js.map +1 -0
  306. package/node_modules/@noodle-borg/developer-mcp/dist/tools/rollback.d.ts +24 -0
  307. package/node_modules/@noodle-borg/developer-mcp/dist/tools/rollback.d.ts.map +1 -0
  308. package/node_modules/@noodle-borg/developer-mcp/dist/tools/rollback.js +59 -0
  309. package/node_modules/@noodle-borg/developer-mcp/dist/tools/rollback.js.map +1 -0
  310. package/node_modules/@noodle-borg/developer-mcp/dist/widget-links.d.ts +16 -0
  311. package/node_modules/@noodle-borg/developer-mcp/dist/widget-links.d.ts.map +1 -0
  312. package/node_modules/@noodle-borg/developer-mcp/dist/widget-links.js +20 -0
  313. package/node_modules/@noodle-borg/developer-mcp/dist/widget-links.js.map +1 -0
  314. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/analytics.d.ts +2 -0
  315. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/analytics.d.ts.map +1 -0
  316. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/analytics.js +6 -0
  317. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/analytics.js.map +1 -0
  318. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/app-overview.d.ts +2 -0
  319. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/app-overview.d.ts.map +1 -0
  320. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/app-overview.js +6 -0
  321. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/app-overview.js.map +1 -0
  322. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/deployment-detail.d.ts +2 -0
  323. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/deployment-detail.d.ts.map +1 -0
  324. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/deployment-detail.js +7 -0
  325. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/deployment-detail.js.map +1 -0
  326. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/operations.d.ts +2 -0
  327. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/operations.d.ts.map +1 -0
  328. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/operations.js +6 -0
  329. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/operations.js.map +1 -0
  330. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/resources.d.ts +37 -0
  331. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/resources.d.ts.map +1 -0
  332. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/resources.js +76 -0
  333. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/resources.js.map +1 -0
  334. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/shared.d.ts +30 -0
  335. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/shared.d.ts.map +1 -0
  336. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/shared.js +23 -0
  337. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/shared.js.map +1 -0
  338. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/styles.d.ts +2 -0
  339. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/styles.d.ts.map +1 -0
  340. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/styles.js +153 -0
  341. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/styles.js.map +1 -0
  342. package/node_modules/@noodle-borg/developer-mcp/package.json +37 -0
  343. package/node_modules/@noodle-borg/module/dist/contract.d.ts +4 -0
  344. package/node_modules/@noodle-borg/module/dist/contract.d.ts.map +1 -1
  345. package/node_modules/@noodle-borg/module/dist/contract.js.map +1 -1
  346. package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.d.ts +7 -1
  347. package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.d.ts.map +1 -1
  348. package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.js +17 -5
  349. package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.js.map +1 -1
  350. package/node_modules/@noodle-borg/service/dist/auth/developer-grant-guard.d.ts +16 -0
  351. package/node_modules/@noodle-borg/service/dist/auth/developer-grant-guard.d.ts.map +1 -0
  352. package/node_modules/@noodle-borg/service/dist/auth/developer-grant-guard.js +40 -0
  353. package/node_modules/@noodle-borg/service/dist/auth/developer-grant-guard.js.map +1 -0
  354. package/node_modules/@noodle-borg/service/dist/build-info.d.ts +1 -0
  355. package/node_modules/@noodle-borg/service/dist/build-info.d.ts.map +1 -1
  356. package/node_modules/@noodle-borg/service/dist/build-info.js +11 -0
  357. package/node_modules/@noodle-borg/service/dist/build-info.js.map +1 -1
  358. package/node_modules/@noodle-borg/service/dist/developer-mcp/control-plane-adapter.d.ts +30 -0
  359. package/node_modules/@noodle-borg/service/dist/developer-mcp/control-plane-adapter.d.ts.map +1 -0
  360. package/node_modules/@noodle-borg/service/dist/developer-mcp/control-plane-adapter.js +311 -0
  361. package/node_modules/@noodle-borg/service/dist/developer-mcp/control-plane-adapter.js.map +1 -0
  362. package/node_modules/@noodle-borg/service/dist/developer-mcp/inspection.d.ts +69 -0
  363. package/node_modules/@noodle-borg/service/dist/developer-mcp/inspection.d.ts.map +1 -0
  364. package/node_modules/@noodle-borg/service/dist/developer-mcp/inspection.js +118 -0
  365. package/node_modules/@noodle-borg/service/dist/developer-mcp/inspection.js.map +1 -0
  366. package/node_modules/@noodle-borg/service/dist/developer-mcp/mount.d.ts +29 -0
  367. package/node_modules/@noodle-borg/service/dist/developer-mcp/mount.d.ts.map +1 -0
  368. package/node_modules/@noodle-borg/service/dist/developer-mcp/mount.js +223 -0
  369. package/node_modules/@noodle-borg/service/dist/developer-mcp/mount.js.map +1 -0
  370. package/node_modules/@noodle-borg/service/dist/developer-mcp/service-options.d.ts +18 -0
  371. package/node_modules/@noodle-borg/service/dist/developer-mcp/service-options.d.ts.map +1 -0
  372. package/node_modules/@noodle-borg/service/dist/developer-mcp/service-options.js +26 -0
  373. package/node_modules/@noodle-borg/service/dist/developer-mcp/service-options.js.map +1 -0
  374. package/node_modules/@noodle-borg/service/dist/index.d.ts +5 -0
  375. package/node_modules/@noodle-borg/service/dist/index.d.ts.map +1 -1
  376. package/node_modules/@noodle-borg/service/dist/index.js +5 -0
  377. package/node_modules/@noodle-borg/service/dist/index.js.map +1 -1
  378. package/node_modules/@noodle-borg/service/dist/main.js +1 -0
  379. package/node_modules/@noodle-borg/service/dist/main.js.map +1 -1
  380. package/node_modules/@noodle-borg/service/dist/oauth/app.d.ts.map +1 -1
  381. package/node_modules/@noodle-borg/service/dist/oauth/app.js +5 -0
  382. package/node_modules/@noodle-borg/service/dist/oauth/app.js.map +1 -1
  383. package/node_modules/@noodle-borg/service/dist/oauth/consent-claims.d.ts +6 -0
  384. package/node_modules/@noodle-borg/service/dist/oauth/consent-claims.d.ts.map +1 -1
  385. package/node_modules/@noodle-borg/service/dist/oauth/consent-claims.js +28 -0
  386. package/node_modules/@noodle-borg/service/dist/oauth/consent-claims.js.map +1 -1
  387. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-authorizer.d.ts +48 -0
  388. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-authorizer.d.ts.map +1 -0
  389. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-authorizer.js +90 -0
  390. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-authorizer.js.map +1 -0
  391. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-bootstrap.d.ts +18 -0
  392. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-bootstrap.d.ts.map +1 -0
  393. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-bootstrap.js +29 -0
  394. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-bootstrap.js.map +1 -0
  395. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-flow.d.ts +22 -0
  396. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-flow.d.ts.map +1 -0
  397. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-flow.js +144 -0
  398. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-flow.js.map +1 -0
  399. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-page.d.ts +12 -0
  400. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-page.d.ts.map +1 -0
  401. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-page.js +61 -0
  402. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-page.js.map +1 -0
  403. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-store-postgres.d.ts +11 -0
  404. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-store-postgres.d.ts.map +1 -0
  405. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-store-postgres.js +89 -0
  406. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-store-postgres.js.map +1 -0
  407. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant.d.ts +48 -0
  408. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant.d.ts.map +1 -0
  409. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant.js +123 -0
  410. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant.js.map +1 -0
  411. package/node_modules/@noodle-borg/service/dist/oauth/paths.d.ts.map +1 -1
  412. package/node_modules/@noodle-borg/service/dist/oauth/paths.js +2 -0
  413. package/node_modules/@noodle-borg/service/dist/oauth/paths.js.map +1 -1
  414. package/node_modules/@noodle-borg/service/dist/oauth/provider.d.ts +6 -1
  415. package/node_modules/@noodle-borg/service/dist/oauth/provider.d.ts.map +1 -1
  416. package/node_modules/@noodle-borg/service/dist/oauth/provider.js +53 -0
  417. package/node_modules/@noodle-borg/service/dist/oauth/provider.js.map +1 -1
  418. package/node_modules/@noodle-borg/service/dist/oauth/store-postgres.d.ts.map +1 -1
  419. package/node_modules/@noodle-borg/service/dist/oauth/store-postgres.js +17 -6
  420. package/node_modules/@noodle-borg/service/dist/oauth/store-postgres.js.map +1 -1
  421. package/node_modules/@noodle-borg/service/dist/oauth/store.d.ts +3 -0
  422. package/node_modules/@noodle-borg/service/dist/oauth/store.d.ts.map +1 -1
  423. package/node_modules/@noodle-borg/service/dist/oauth/store.js +2 -0
  424. package/node_modules/@noodle-borg/service/dist/oauth/store.js.map +1 -1
  425. package/node_modules/@noodle-borg/service/dist/oauth/token-issuer.d.ts +2 -0
  426. package/node_modules/@noodle-borg/service/dist/oauth/token-issuer.d.ts.map +1 -1
  427. package/node_modules/@noodle-borg/service/dist/oauth/token-issuer.js +8 -0
  428. package/node_modules/@noodle-borg/service/dist/oauth/token-issuer.js.map +1 -1
  429. package/node_modules/@noodle-borg/service/dist/operations/rollback-deployment.d.ts +52 -0
  430. package/node_modules/@noodle-borg/service/dist/operations/rollback-deployment.d.ts.map +1 -0
  431. package/node_modules/@noodle-borg/service/dist/operations/rollback-deployment.js +120 -0
  432. package/node_modules/@noodle-borg/service/dist/operations/rollback-deployment.js.map +1 -0
  433. package/node_modules/@noodle-borg/service/dist/options.d.ts +7 -1
  434. package/node_modules/@noodle-borg/service/dist/options.d.ts.map +1 -1
  435. package/node_modules/@noodle-borg/service/dist/routes/analytics-dispatch.d.ts +2 -0
  436. package/node_modules/@noodle-borg/service/dist/routes/analytics-dispatch.d.ts.map +1 -1
  437. package/node_modules/@noodle-borg/service/dist/routes/analytics-dispatch.js +4 -4
  438. package/node_modules/@noodle-borg/service/dist/routes/analytics-dispatch.js.map +1 -1
  439. package/node_modules/@noodle-borg/service/dist/routes/analytics.d.ts +4 -3
  440. package/node_modules/@noodle-borg/service/dist/routes/analytics.d.ts.map +1 -1
  441. package/node_modules/@noodle-borg/service/dist/routes/analytics.js +7 -7
  442. package/node_modules/@noodle-borg/service/dist/routes/analytics.js.map +1 -1
  443. package/node_modules/@noodle-borg/service/dist/routes/apps.d.ts +3 -2
  444. package/node_modules/@noodle-borg/service/dist/routes/apps.d.ts.map +1 -1
  445. package/node_modules/@noodle-borg/service/dist/routes/apps.js +28 -7
  446. package/node_modules/@noodle-borg/service/dist/routes/apps.js.map +1 -1
  447. package/node_modules/@noodle-borg/service/dist/routes/control-plane.d.ts +12 -1
  448. package/node_modules/@noodle-borg/service/dist/routes/control-plane.d.ts.map +1 -1
  449. package/node_modules/@noodle-borg/service/dist/routes/control-plane.js +36 -4
  450. package/node_modules/@noodle-borg/service/dist/routes/control-plane.js.map +1 -1
  451. package/node_modules/@noodle-borg/service/dist/routes/deployments.d.ts +4 -3
  452. package/node_modules/@noodle-borg/service/dist/routes/deployments.d.ts.map +1 -1
  453. package/node_modules/@noodle-borg/service/dist/routes/deployments.js +26 -18
  454. package/node_modules/@noodle-borg/service/dist/routes/deployments.js.map +1 -1
  455. package/node_modules/@noodle-borg/service/dist/routes/diagnostics.d.ts.map +1 -1
  456. package/node_modules/@noodle-borg/service/dist/routes/diagnostics.js +8 -105
  457. package/node_modules/@noodle-borg/service/dist/routes/diagnostics.js.map +1 -1
  458. package/node_modules/@noodle-borg/service/dist/routes/envs.d.ts +3 -2
  459. package/node_modules/@noodle-borg/service/dist/routes/envs.d.ts.map +1 -1
  460. package/node_modules/@noodle-borg/service/dist/routes/envs.js +9 -5
  461. package/node_modules/@noodle-borg/service/dist/routes/envs.js.map +1 -1
  462. package/node_modules/@noodle-borg/service/dist/routes/logs.d.ts +2 -1
  463. package/node_modules/@noodle-borg/service/dist/routes/logs.d.ts.map +1 -1
  464. package/node_modules/@noodle-borg/service/dist/routes/logs.js +3 -3
  465. package/node_modules/@noodle-borg/service/dist/routes/logs.js.map +1 -1
  466. package/node_modules/@noodle-borg/service/dist/routes/plans.d.ts.map +1 -1
  467. package/node_modules/@noodle-borg/service/dist/routes/plans.js +3 -14
  468. package/node_modules/@noodle-borg/service/dist/routes/plans.js.map +1 -1
  469. package/node_modules/@noodle-borg/service/dist/routes/policies.d.ts.map +1 -1
  470. package/node_modules/@noodle-borg/service/dist/routes/policies.js +3 -14
  471. package/node_modules/@noodle-borg/service/dist/routes/policies.js.map +1 -1
  472. package/node_modules/@noodle-borg/service/dist/routes/protected-resource-metadata.d.ts +8 -0
  473. package/node_modules/@noodle-borg/service/dist/routes/protected-resource-metadata.d.ts.map +1 -0
  474. package/node_modules/@noodle-borg/service/dist/routes/protected-resource-metadata.js +51 -0
  475. package/node_modules/@noodle-borg/service/dist/routes/protected-resource-metadata.js.map +1 -0
  476. package/node_modules/@noodle-borg/service/dist/routes/resource-read-dispatch.d.ts +2 -0
  477. package/node_modules/@noodle-borg/service/dist/routes/resource-read-dispatch.d.ts.map +1 -1
  478. package/node_modules/@noodle-borg/service/dist/routes/resource-read-dispatch.js +6 -6
  479. package/node_modules/@noodle-borg/service/dist/routes/resource-read-dispatch.js.map +1 -1
  480. package/node_modules/@noodle-borg/service/dist/routes/rollback.d.ts.map +1 -1
  481. package/node_modules/@noodle-borg/service/dist/routes/rollback.js +25 -86
  482. package/node_modules/@noodle-borg/service/dist/routes/rollback.js.map +1 -1
  483. package/node_modules/@noodle-borg/service/dist/serve-resource-auth.d.ts +11 -0
  484. package/node_modules/@noodle-borg/service/dist/serve-resource-auth.d.ts.map +1 -0
  485. package/node_modules/@noodle-borg/service/dist/serve-resource-auth.js +62 -0
  486. package/node_modules/@noodle-borg/service/dist/serve-resource-auth.js.map +1 -0
  487. package/node_modules/@noodle-borg/service/dist/serve.d.ts.map +1 -1
  488. package/node_modules/@noodle-borg/service/dist/serve.js +19 -62
  489. package/node_modules/@noodle-borg/service/dist/serve.js.map +1 -1
  490. package/node_modules/@noodle-borg/service/dist/service.d.ts.map +1 -1
  491. package/node_modules/@noodle-borg/service/dist/service.js +25 -45
  492. package/node_modules/@noodle-borg/service/dist/service.js.map +1 -1
  493. package/node_modules/@noodle-borg/service/dist/store/postgres-schema.d.ts +2 -0
  494. package/node_modules/@noodle-borg/service/dist/store/postgres-schema.d.ts.map +1 -1
  495. package/node_modules/@noodle-borg/service/dist/store/postgres-schema.js +35 -0
  496. package/node_modules/@noodle-borg/service/dist/store/postgres-schema.js.map +1 -1
  497. package/node_modules/@noodle-borg/service/package.json +1 -0
  498. package/package.json +2 -1
@@ -0,0 +1,48 @@
1
+ import { type DeveloperCapability } from '@noodle-borg/developer-mcp';
2
+ export interface DeveloperAccessGrant {
3
+ readonly id: string;
4
+ readonly clientId: string;
5
+ readonly subject: string;
6
+ readonly org: string;
7
+ readonly environments: readonly string[];
8
+ readonly capabilities: readonly DeveloperCapability[];
9
+ readonly createdAt: string;
10
+ readonly updatedAt: string;
11
+ readonly expiresAt?: string;
12
+ readonly revokedAt?: string;
13
+ }
14
+ export interface CreateDeveloperAccessGrant {
15
+ readonly clientId: string;
16
+ readonly subject: string;
17
+ readonly org: string;
18
+ readonly environments: readonly string[];
19
+ readonly capabilities: readonly DeveloperCapability[];
20
+ readonly expiresAt?: string;
21
+ }
22
+ export interface DeveloperGrantStore {
23
+ create(input: CreateDeveloperAccessGrant): Promise<DeveloperAccessGrant>;
24
+ get(id: string): Promise<DeveloperAccessGrant | undefined>;
25
+ revoke(id: string, at: string): Promise<DeveloperAccessGrant | undefined>;
26
+ }
27
+ export interface ActiveDeveloperGrantInput {
28
+ readonly subject: string;
29
+ readonly clientId: string;
30
+ readonly at: string;
31
+ }
32
+ export interface DeveloperGrantFactoryOptions {
33
+ readonly now?: () => string;
34
+ readonly id?: () => string;
35
+ }
36
+ export type InMemoryDeveloperGrantStoreOptions = DeveloperGrantFactoryOptions;
37
+ export declare class InMemoryDeveloperGrantStore implements DeveloperGrantStore {
38
+ #private;
39
+ constructor(options?: InMemoryDeveloperGrantStoreOptions);
40
+ create(input: CreateDeveloperAccessGrant): Promise<DeveloperAccessGrant>;
41
+ get(id: string): Promise<DeveloperAccessGrant | undefined>;
42
+ revoke(id: string, at: string): Promise<DeveloperAccessGrant | undefined>;
43
+ }
44
+ export declare function activeDeveloperGrant(grant: DeveloperAccessGrant, input: ActiveDeveloperGrantInput): boolean;
45
+ export declare function createDeveloperAccessGrantRecord(input: CreateDeveloperAccessGrant, options?: DeveloperGrantFactoryOptions): DeveloperAccessGrant;
46
+ export declare function normalizeDeveloperAccessGrant(grant: DeveloperAccessGrant): DeveloperAccessGrant;
47
+ export declare function normalizeDeveloperGrantTimestamp(label: string, value: string): string;
48
+ //# sourceMappingURL=developer-grant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"developer-grant.d.ts","sourceRoot":"","sources":["../../src/oauth/developer-grant.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,mBAAmB,EAAyB,MAAM,4BAA4B,CAAC;AAI7F,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,YAAY,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACtD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,YAAY,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACtD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACzE,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAAC;IAC3D,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAAC;CAC3E;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,MAAM,CAAC;CAC5B;AAED,MAAM,MAAM,kCAAkC,GAAG,4BAA4B,CAAC;AAE9E,qBAAa,2BAA4B,YAAW,mBAAmB;;gBAKzD,OAAO,GAAE,kCAAuC;IAKtD,MAAM,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,oBAAoB,CAAC;IASxE,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;IAK1D,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;CAahF;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,oBAAoB,EAC3B,KAAK,EAAE,yBAAyB,GAC/B,OAAO,CAQT;AAED,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,0BAA0B,EACjC,OAAO,GAAE,4BAAiC,GACzC,oBAAoB,CAgBtB;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,oBAAoB,GAAG,oBAAoB,CAkC/F;AAUD,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAIrF"}
@@ -0,0 +1,123 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ import { isDeveloperCapability } from '@noodle-borg/developer-mcp';
3
+ import { validateSlug } from '../store/validate.js';
4
+ export class InMemoryDeveloperGrantStore {
5
+ #records = new Map();
6
+ #now;
7
+ #id;
8
+ constructor(options = {}) {
9
+ this.#now = options.now ?? (() => new Date().toISOString());
10
+ this.#id = options.id ?? randomUUID;
11
+ }
12
+ async create(input) {
13
+ const record = createDeveloperAccessGrantRecord(input, { now: this.#now, id: this.#id });
14
+ if (this.#records.has(record.id)) {
15
+ throw new Error(`developer grant "${record.id}" already exists`);
16
+ }
17
+ this.#records.set(record.id, record);
18
+ return cloneGrant(record);
19
+ }
20
+ async get(id) {
21
+ const record = this.#records.get(id);
22
+ return record === undefined ? undefined : cloneGrant(record);
23
+ }
24
+ async revoke(id, at) {
25
+ const record = this.#records.get(id);
26
+ if (record === undefined)
27
+ return undefined;
28
+ if (record.revokedAt !== undefined)
29
+ return cloneGrant(record);
30
+ const revokedAt = normalizeDeveloperGrantTimestamp('revokedAt', at);
31
+ if (revokedAt < record.createdAt) {
32
+ throw new Error('developer grant revokedAt must not be before createdAt');
33
+ }
34
+ const revoked = normalizeDeveloperAccessGrant({ ...record, revokedAt, updatedAt: revokedAt });
35
+ this.#records.set(id, revoked);
36
+ return cloneGrant(revoked);
37
+ }
38
+ }
39
+ export function activeDeveloperGrant(grant, input) {
40
+ const at = normalizeDeveloperGrantTimestamp('authorization time', input.at);
41
+ return (grant.subject === input.subject &&
42
+ grant.clientId === input.clientId &&
43
+ grant.revokedAt === undefined &&
44
+ (grant.expiresAt === undefined || grant.expiresAt > at));
45
+ }
46
+ export function createDeveloperAccessGrantRecord(input, options = {}) {
47
+ const createdAt = normalizeDeveloperGrantTimestamp('createdAt', options.now?.() ?? new Date().toISOString());
48
+ return normalizeDeveloperAccessGrant({
49
+ id: options.id?.() ?? randomUUID(),
50
+ clientId: input.clientId,
51
+ subject: input.subject,
52
+ org: input.org,
53
+ environments: input.environments,
54
+ capabilities: input.capabilities,
55
+ createdAt,
56
+ updatedAt: createdAt,
57
+ ...(input.expiresAt === undefined ? {} : { expiresAt: input.expiresAt }),
58
+ });
59
+ }
60
+ export function normalizeDeveloperAccessGrant(grant) {
61
+ const createdAt = normalizeDeveloperGrantTimestamp('createdAt', grant.createdAt);
62
+ const updatedAt = normalizeDeveloperGrantTimestamp('updatedAt', grant.updatedAt);
63
+ const expiresAt = grant.expiresAt === undefined
64
+ ? undefined
65
+ : normalizeDeveloperGrantTimestamp('expiresAt', grant.expiresAt);
66
+ const revokedAt = grant.revokedAt === undefined
67
+ ? undefined
68
+ : normalizeDeveloperGrantTimestamp('revokedAt', grant.revokedAt);
69
+ if (updatedAt < createdAt)
70
+ throw new Error('developer grant updatedAt must not be before createdAt');
71
+ if (expiresAt !== undefined && expiresAt <= createdAt) {
72
+ throw new Error('developer grant expiresAt must be after createdAt');
73
+ }
74
+ if (revokedAt !== undefined && revokedAt < createdAt) {
75
+ throw new Error('developer grant revokedAt must not be before createdAt');
76
+ }
77
+ return freezeGrant({
78
+ id: validateScalar('developer grant ID', grant.id),
79
+ clientId: validateScalar('OAuth client ID', grant.clientId),
80
+ subject: validateScalar('subject', grant.subject),
81
+ org: validateSlug('org', grant.org),
82
+ environments: normalizeNonEmpty('environment', grant.environments, (value) => validateSlug('env', value)),
83
+ capabilities: normalizeNonEmpty('capability', grant.capabilities, validateCapability),
84
+ createdAt,
85
+ updatedAt,
86
+ ...(expiresAt === undefined ? {} : { expiresAt }),
87
+ ...(revokedAt === undefined ? {} : { revokedAt }),
88
+ });
89
+ }
90
+ function validateScalar(label, value) {
91
+ const normalized = value.trim();
92
+ if (normalized.length === 0 || normalized.length > 200) {
93
+ throw new Error(`${label} must be between 1 and 200 characters`);
94
+ }
95
+ return normalized;
96
+ }
97
+ export function normalizeDeveloperGrantTimestamp(label, value) {
98
+ const parsed = new Date(value);
99
+ if (!Number.isFinite(parsed.getTime()))
100
+ throw new Error(`${label} must be an ISO timestamp`);
101
+ return parsed.toISOString();
102
+ }
103
+ function validateCapability(value) {
104
+ if (!isDeveloperCapability(value))
105
+ throw new Error(`invalid developer capability "${String(value)}"`);
106
+ return value;
107
+ }
108
+ function normalizeNonEmpty(label, values, validate) {
109
+ if (values.length === 0)
110
+ throw new Error(`developer grant requires at least one ${label}`);
111
+ return Object.freeze([...new Set(values.map(validate))].sort());
112
+ }
113
+ function freezeGrant(grant) {
114
+ return Object.freeze({
115
+ ...grant,
116
+ environments: Object.freeze([...grant.environments]),
117
+ capabilities: Object.freeze([...grant.capabilities]),
118
+ });
119
+ }
120
+ function cloneGrant(grant) {
121
+ return freezeGrant(grant);
122
+ }
123
+ //# sourceMappingURL=developer-grant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"developer-grant.js","sourceRoot":"","sources":["../../src/oauth/developer-grant.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/oauth/paths.ts"],"names":[],"mappings":"AAkBA,2GAA2G;AAC3G,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE1D"}
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/oauth/paths.ts"],"names":[],"mappings":"AAoBA,2GAA2G;AAC3G,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE1D"}
@@ -6,9 +6,11 @@
6
6
  const AUTH_SERVER_PATHS = new Set([
7
7
  '/authorize',
8
8
  '/token',
9
+ '/revoke',
9
10
  '/register',
10
11
  '/oauth/google/callback',
11
12
  '/oauth/consent',
13
+ '/oauth/developer-grant',
12
14
  '/oauth/customer/firebase/authorize',
13
15
  '/oauth/customer/firebase/callback',
14
16
  '/oauth/customer/microsoft/callback',
@@ -1 +1 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/oauth/paths.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,iBAAiB,GAAwB,IAAI,GAAG,CAAC;IACrD,YAAY;IACZ,QAAQ;IACR,WAAW;IACX,wBAAwB;IACxB,gBAAgB;IAChB,oCAAoC;IACpC,mCAAmC;IACnC,oCAAoC;IACpC,yCAAyC;IACzC,wBAAwB;CACzB,CAAC,CAAC;AAEH,2GAA2G;AAC3G,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,OAAO,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/oauth/paths.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,iBAAiB,GAAwB,IAAI,GAAG,CAAC;IACrD,YAAY;IACZ,QAAQ;IACR,SAAS;IACT,WAAW;IACX,wBAAwB;IACxB,gBAAgB;IAChB,wBAAwB;IACxB,oCAAoC;IACpC,mCAAmC;IACnC,oCAAoC;IACpC,yCAAyC;IACzC,wBAAwB;CACzB,CAAC,CAAC;AAEH,2GAA2G;AAC3G,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,OAAO,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACzC,CAAC"}
@@ -1,12 +1,13 @@
1
1
  import type { OAuthRegisteredClientsStore } from '@modelcontextprotocol/sdk/server/auth/clients.js';
2
2
  import type { AuthorizationParams, OAuthServerProvider } from '@modelcontextprotocol/sdk/server/auth/provider.js';
3
3
  import type { AuthInfo } from '@modelcontextprotocol/sdk/server/auth/types.js';
4
- import type { OAuthClientInformationFull, OAuthTokens } from '@modelcontextprotocol/sdk/shared/auth.js';
4
+ import type { OAuthClientInformationFull, OAuthTokenRevocationRequest, OAuthTokens } from '@modelcontextprotocol/sdk/shared/auth.js';
5
5
  import { type SigningKeyProvider, type VerifiedIdentity } from '@noodle-borg/auth';
6
6
  import { type Logger } from '@noodle-borg/transport-http';
7
7
  import type { Request, Response } from 'express';
8
8
  import type { SignupAuthorizer } from '../auth/deploy-gate.js';
9
9
  import type { SecretEnvelope, TenantBridgeAuthConfig } from '../store.js';
10
+ import type { DeveloperGrantAuthorizer } from './developer-grant-authorizer.js';
10
11
  import type { GoogleAuthenticator } from './google.js';
11
12
  import type { OAuthStore } from './store.js';
12
13
  export interface NoodleOAuthProviderConfig {
@@ -18,6 +19,7 @@ export interface NoodleOAuthProviderConfig {
18
19
  /** When set, only users whose email ends with this domain may authorize (alpha gate, e.g. `@noodleseed.com`). */
19
20
  readonly allowedEmailDomain?: string;
20
21
  readonly signupAuthorizer?: SignupAuthorizer;
22
+ readonly developerGrantAuthorizer?: DeveloperGrantAuthorizer;
21
23
  /** Compatibility hook for OAuth clients that cannot send RFC 8707 `resource` during authorization. */
22
24
  readonly defaultResourceForClient?: (client: OAuthClientInformationFull) => string | undefined;
23
25
  /** Resolve bridge auth for a resource-bound tenant MCP URL, when the deployment uses Noodle-managed bridge auth. */
@@ -56,6 +58,8 @@ export declare class NoodleOAuthProvider implements OAuthServerProvider {
56
58
  /** Verify an access token (issuer/signature/expiry). Provided for interface completeness — the data-plane
57
59
  * resource server verifies with its own audience-bound verifier; this is not on the AS request path. */
58
60
  verifyAccessToken(token: string): Promise<AuthInfo>;
61
+ /** RFC 7009 revocation also invalidates the exact developer grant bound to this client token. */
62
+ revokeToken(client: OAuthClientInformationFull, request: OAuthTokenRevocationRequest): Promise<void>;
59
63
  /** RFC 8414 authorization-server metadata (plus our `jwks_uri`), served at `/.well-known/oauth-authorization-server`. */
60
64
  metadata(): Record<string, unknown>;
61
65
  /** The public JWKS the resource server (and external validators) read to verify access tokens. */
@@ -66,6 +70,7 @@ export declare class NoodleOAuthProvider implements OAuthServerProvider {
66
70
  handleGoogleCallback(req: Request, res: Response): Promise<void>;
67
71
  /** Consent decision: on approve, mint a PKCE-bound code and redirect to the client; on deny, redirect with an error. */
68
72
  handleConsent(req: Request, res: Response): Promise<void>;
73
+ handleDeveloperGrant(req: Request, res: Response): Promise<void>;
69
74
  /** Customer bridge callback: verify the tenant app's customer token and issue a normal OAuth code. */
70
75
  handleFirebaseCustomerAuthorize(req: Request, res: Response): Promise<void>;
71
76
  handleFirebaseCustomerCallback(req: Request, res: Response): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/oauth/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/oauth/provider.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ import { jwtVerify, SignJWT } from 'jose';
6
6
  import { renderConsentPage } from './consent.js';
7
7
  import { isConsentClaims } from './consent-claims.js';
8
8
  import { bridgeAuthorizeUrl, customerBridgeAuthorizeFields, customerBridgeCallbackFields, microsoftCallbackUrl, renderFirebaseAuthorizePage, } from './customer-bridge.js';
9
+ import { DeveloperGrantOAuthFlow, isDeveloperResourceForIssuer } from './developer-grant-flow.js';
9
10
  import { storedOAuthOwnerPreferences, verifiedIdentityOwnerPreferences, } from './identity-preferences.js';
10
11
  import { exchangeMicrosoftAuthorizationCode, isConfiguredMicrosoftBridge, verifyMicrosoftIdToken, } from './microsoft.js';
11
12
  import { defaultResourceFromClient, hostOf, normalizeResource, resourcePath, trimTrailingSlash, } from './provider-util.js';
@@ -31,6 +32,7 @@ export class NoodleOAuthProvider {
31
32
  #logger;
32
33
  #now;
33
34
  #tokenIssuer;
35
+ #developerGrantFlow;
34
36
  #verifier;
35
37
  constructor(config) {
36
38
  this.#config = config;
@@ -52,6 +54,17 @@ export class NoodleOAuthProvider {
52
54
  codeTtl: this.#codeTtl,
53
55
  nowSeconds: () => this.#nowSeconds(),
54
56
  });
57
+ this.#developerGrantFlow =
58
+ config.developerGrantAuthorizer === undefined
59
+ ? undefined
60
+ : new DeveloperGrantOAuthFlow({
61
+ issuer: config.issuer,
62
+ signer: config.signer,
63
+ store: config.store,
64
+ authorizer: config.developerGrantAuthorizer,
65
+ tokenIssuer: this.#tokenIssuer,
66
+ tokenTtlSeconds: this.#consentTtl,
67
+ });
55
68
  }
56
69
  get clientsStore() {
57
70
  return {
@@ -142,6 +155,9 @@ export class NoodleOAuthProvider {
142
155
  ...(record.identityProvider !== undefined
143
156
  ? { identityProvider: record.identityProvider }
144
157
  : {}),
158
+ ...(record.developerGrantId !== undefined
159
+ ? { developerGrantId: record.developerGrantId }
160
+ : {}),
145
161
  });
146
162
  }
147
163
  /** Rotate a refresh token with grace/recovery handling for concurrent or retried refreshes. */
@@ -189,6 +205,10 @@ export class NoodleOAuthProvider {
189
205
  ...(identity.identityProvider !== undefined
190
206
  ? { identityProvider: identity.identityProvider }
191
207
  : {}),
208
+ ...(identity.developerGrantId !== undefined
209
+ ? { developerGrantId: identity.developerGrantId }
210
+ : {}),
211
+ oauthClientId: client.client_id,
192
212
  },
193
213
  });
194
214
  return {
@@ -212,6 +232,24 @@ export class NoodleOAuthProvider {
212
232
  ...(identity.expiresAt !== undefined ? { expiresAt: identity.expiresAt } : {}),
213
233
  };
214
234
  }
235
+ /** RFC 7009 revocation also invalidates the exact developer grant bound to this client token. */
236
+ async revokeToken(client, request) {
237
+ try {
238
+ const identity = await this.#verify()(request.token);
239
+ if (identity?.developerGrantId === undefined || identity.oauthClientId !== client.client_id) {
240
+ return;
241
+ }
242
+ await this.#config.developerGrantAuthorizer?.revoke({
243
+ id: identity.developerGrantId,
244
+ clientId: client.client_id,
245
+ subject: identity.subject,
246
+ at: new Date(this.#now()).toISOString(),
247
+ });
248
+ }
249
+ catch {
250
+ // RFC 7009 requires invalid and already-revoked tokens to be indistinguishable no-ops.
251
+ }
252
+ }
215
253
  /** RFC 8414 authorization-server metadata (plus our `jwks_uri`), served at `/.well-known/oauth-authorization-server`. */
216
254
  metadata() {
217
255
  const issuer = trimTrailingSlash(this.#config.issuer);
@@ -261,6 +299,14 @@ export class NoodleOAuthProvider {
261
299
  return;
262
300
  }
263
301
  const preferences = storedOAuthOwnerPreferences(identity);
302
+ if (isDeveloperResourceForIssuer(pending.resource, this.#config.issuer)) {
303
+ if (this.#developerGrantFlow === undefined) {
304
+ res.status(400).type('text/plain').send('developer access is not configured');
305
+ return;
306
+ }
307
+ await this.#developerGrantFlow.renderSelection(pending, identity, res);
308
+ return;
309
+ }
264
310
  // Remembered consent: if this human already approved this (client, subject, resource), skip the
265
311
  // interstitial and issue the code directly — a re-authorizing client (e.g. ChatGPT, which does not persist
266
312
  // its MCP session) never re-prompts the user. A new client or resource has no grant and still consents
@@ -348,6 +394,13 @@ export class NoodleOAuthProvider {
348
394
  ...(claims.scope !== undefined ? { scope: claims.scope } : {}),
349
395
  });
350
396
  }
397
+ async handleDeveloperGrant(req, res) {
398
+ if (this.#developerGrantFlow === undefined) {
399
+ res.status(400).type('text/plain').send('developer access is not configured');
400
+ return;
401
+ }
402
+ await this.#developerGrantFlow.handleDecision(req, res);
403
+ }
351
404
  /** Customer bridge callback: verify the tenant app's customer token and issue a normal OAuth code. */
352
405
  async handleFirebaseCustomerAuthorize(req, res) {
353
406
  const input = customerBridgeAuthorizeFields(req);
@@ -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;AAMtF,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,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;AA0CtC,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;IACxC,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;IACL,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,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;SACR,CAAC,CAAC;IACL,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;aACR;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,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,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,wBAAwB,EAAE,CAAC;IAC1E,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,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,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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"store-postgres.d.ts","sourceRoot":"","sources":["../../src/oauth/store-postgres.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AAC3F,OAAO,KAAK,EAAE,IAAI,EAAc,MAAM,IAAI,CAAC;AAC3C,OAAO,KAAK,EACV,uBAAuB,EACvB,kBAAkB,EAClB,yBAAyB,EACzB,yBAAyB,EACzB,UAAU,EACV,0BAA0B,EAE1B,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;GASG;AACH,qBAAa,kBAAmB,YAAW,UAAU;;gBAGvC,IAAI,EAAE,IAAI;IAItB,uGAAuG;IACjG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAiH7B,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC;IAQ5E,SAAS,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,0BAA0B,CAAC;IASlF,0BAA0B,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB7E,2BAA2B,CAC/B,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC;IAmB5C,uBAAuB,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBvE,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC;IAShF,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC;IAUnF,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB7D,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;IAU3E,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5D,eAAe,CACnB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC;IASb,sBAAsB,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBxE,sBAAsB,CAC1B,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,yBAAyB,GAAG,SAAS,CAAC;IAkBjD;;;;OAIG;IACG,kBAAkB,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC;CAiHhF"}
1
+ {"version":3,"file":"store-postgres.d.ts","sourceRoot":"","sources":["../../src/oauth/store-postgres.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AAC3F,OAAO,KAAK,EAAE,IAAI,EAAc,MAAM,IAAI,CAAC;AAC3C,OAAO,KAAK,EACV,uBAAuB,EACvB,kBAAkB,EAClB,yBAAyB,EACzB,yBAAyB,EACzB,UAAU,EACV,0BAA0B,EAE1B,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;GASG;AACH,qBAAa,kBAAmB,YAAW,UAAU;;gBAGvC,IAAI,EAAE,IAAI;IAItB,uGAAuG;IACjG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAyH7B,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC;IAQ5E,SAAS,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,0BAA0B,CAAC;IASlF,0BAA0B,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB7E,2BAA2B,CAC/B,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC;IAmB5C,uBAAuB,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BvE,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC;IAShF,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC;IAUnF,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB7D,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;IAU3E,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5D,eAAe,CACnB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC;IASb,sBAAsB,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBxE,sBAAsB,CAC1B,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,yBAAyB,GAAG,SAAS,CAAC;IAkBjD;;;;OAIG;IACG,kBAAkB,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC;CAkHhF"}
@@ -48,6 +48,7 @@ export class PostgresOAuthStore {
48
48
  scope text,
49
49
  identity_kind text,
50
50
  identity_provider text,
51
+ developer_grant_id text,
51
52
  expires_at timestamptz NOT NULL
52
53
  )
53
54
  `);
@@ -63,6 +64,7 @@ export class PostgresOAuthStore {
63
64
  scope text,
64
65
  identity_kind text,
65
66
  identity_provider text,
67
+ developer_grant_id text,
66
68
  expires_at timestamptz NOT NULL,
67
69
  family_id text,
68
70
  rotated_at timestamptz,
@@ -73,10 +75,12 @@ export class PostgresOAuthStore {
73
75
  await this.#pool.query('ALTER TABLE oauth_authorization_codes ADD COLUMN IF NOT EXISTS owner_locale text');
74
76
  await this.#pool.query('ALTER TABLE oauth_authorization_codes ADD COLUMN IF NOT EXISTS owner_time_zone text');
75
77
  await this.#pool.query('ALTER TABLE oauth_authorization_codes ADD COLUMN IF NOT EXISTS identity_provider text');
78
+ await this.#pool.query('ALTER TABLE oauth_authorization_codes ADD COLUMN IF NOT EXISTS developer_grant_id text');
76
79
  await this.#pool.query('ALTER TABLE oauth_refresh_tokens ADD COLUMN IF NOT EXISTS identity_kind text');
77
80
  await this.#pool.query('ALTER TABLE oauth_refresh_tokens ADD COLUMN IF NOT EXISTS owner_locale text');
78
81
  await this.#pool.query('ALTER TABLE oauth_refresh_tokens ADD COLUMN IF NOT EXISTS owner_time_zone text');
79
82
  await this.#pool.query('ALTER TABLE oauth_refresh_tokens ADD COLUMN IF NOT EXISTS identity_provider text');
83
+ await this.#pool.query('ALTER TABLE oauth_refresh_tokens ADD COLUMN IF NOT EXISTS developer_grant_id text');
80
84
  // Rotation hardening columns + family index (idempotent; covers tables created before this change).
81
85
  await this.#pool.query('ALTER TABLE oauth_refresh_tokens ADD COLUMN IF NOT EXISTS family_id text');
82
86
  await this.#pool.query('ALTER TABLE oauth_refresh_tokens ADD COLUMN IF NOT EXISTS rotated_at timestamptz');
@@ -144,8 +148,9 @@ export class PostgresOAuthStore {
144
148
  async createAuthorizationCode(record) {
145
149
  await this.#pool.query(`INSERT INTO oauth_authorization_codes
146
150
  (code, client_id, code_challenge, redirect_uri, resource, owner_subject, owner_email,
147
- owner_locale, owner_time_zone, scope, identity_kind, identity_provider, expires_at)
148
- VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, to_timestamp($13))`, [
151
+ owner_locale, owner_time_zone, scope, identity_kind, identity_provider, developer_grant_id,
152
+ expires_at)
153
+ VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, to_timestamp($14))`, [
149
154
  record.code,
150
155
  record.clientId,
151
156
  record.codeChallenge,
@@ -158,6 +163,7 @@ export class PostgresOAuthStore {
158
163
  record.scope ?? null,
159
164
  record.identityKind ?? null,
160
165
  record.identityProvider ?? null,
166
+ record.developerGrantId ?? null,
161
167
  record.expiresAt,
162
168
  ]);
163
169
  }
@@ -176,8 +182,8 @@ export class PostgresOAuthStore {
176
182
  async createRefreshToken(record) {
177
183
  await this.#pool.query(`INSERT INTO oauth_refresh_tokens
178
184
  (token, client_id, owner_subject, owner_email, owner_locale, owner_time_zone, resource,
179
- scope, identity_kind, identity_provider, expires_at, family_id)
180
- VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, to_timestamp($11), $12)`, [
185
+ scope, identity_kind, identity_provider, developer_grant_id, expires_at, family_id)
186
+ VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, to_timestamp($12), $13)`, [
181
187
  record.token,
182
188
  record.clientId,
183
189
  record.ownerSubject,
@@ -188,6 +194,7 @@ export class PostgresOAuthStore {
188
194
  record.scope ?? null,
189
195
  record.identityKind ?? null,
190
196
  record.identityProvider ?? null,
197
+ record.developerGrantId ?? null,
191
198
  record.expiresAt,
192
199
  record.familyId ?? null,
193
200
  ]);
@@ -309,8 +316,8 @@ export class PostgresOAuthStore {
309
316
  async #insertSuccessor(client, old, newTokenHash, newExpiresAt, clientId) {
310
317
  await client.query(`INSERT INTO oauth_refresh_tokens
311
318
  (token, client_id, owner_subject, owner_email, owner_locale, owner_time_zone, resource,
312
- scope, identity_kind, identity_provider, expires_at, family_id)
313
- VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, to_timestamp($11), $12)`, [
319
+ scope, identity_kind, identity_provider, developer_grant_id, expires_at, family_id)
320
+ VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, to_timestamp($12), $13)`, [
314
321
  newTokenHash,
315
322
  clientId,
316
323
  old.owner_subject,
@@ -321,6 +328,7 @@ export class PostgresOAuthStore {
321
328
  old.scope,
322
329
  old.identity_kind,
323
330
  old.identity_provider,
331
+ old.developer_grant_id,
324
332
  newExpiresAt,
325
333
  old.family_id,
326
334
  ]);
@@ -338,6 +346,7 @@ function refreshRowToRecord(row) {
338
346
  ...(row.scope !== null ? { scope: row.scope } : {}),
339
347
  ...(row.identity_kind !== null ? { identityKind: row.identity_kind } : {}),
340
348
  ...(row.identity_provider !== null ? { identityProvider: row.identity_provider } : {}),
349
+ ...(row.developer_grant_id !== null ? { developerGrantId: row.developer_grant_id } : {}),
341
350
  expiresAt: epochSeconds(row.expires_at),
342
351
  ...(row.family_id !== null ? { familyId: row.family_id } : {}),
343
352
  ...(row.rotated_at !== null ? { rotatedAt: epochSeconds(row.rotated_at) } : {}),
@@ -355,6 +364,7 @@ function rowIdentity(row) {
355
364
  ...(row.family_id !== null ? { familyId: row.family_id } : {}),
356
365
  ...(row.identity_kind !== null ? { identityKind: row.identity_kind } : {}),
357
366
  ...(row.identity_provider !== null ? { identityProvider: row.identity_provider } : {}),
367
+ ...(row.developer_grant_id !== null ? { developerGrantId: row.developer_grant_id } : {}),
358
368
  };
359
369
  }
360
370
  function sameFamily(a, b) {
@@ -376,6 +386,7 @@ function authCodeRowToRecord(row) {
376
386
  ...(row.scope !== null ? { scope: row.scope } : {}),
377
387
  ...(row.identity_kind !== null ? { identityKind: row.identity_kind } : {}),
378
388
  ...(row.identity_provider !== null ? { identityProvider: row.identity_provider } : {}),
389
+ ...(row.developer_grant_id !== null ? { developerGrantId: row.developer_grant_id } : {}),
379
390
  expiresAt: epochSeconds(row.expires_at),
380
391
  };
381
392
  }