@sylphx/contract 0.2.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 (571) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/LICENSE +21 -0
  3. package/README.md +164 -0
  4. package/dist/endpoint.d.ts +65 -0
  5. package/dist/endpoint.d.ts.map +1 -0
  6. package/dist/endpoint.js +22 -0
  7. package/dist/endpoints/admin-ai-playground.d.ts +93 -0
  8. package/dist/endpoints/admin-ai-playground.d.ts.map +1 -0
  9. package/dist/endpoints/admin-ai-playground.js +37 -0
  10. package/dist/endpoints/admin-anomalies.d.ts +108 -0
  11. package/dist/endpoints/admin-anomalies.d.ts.map +1 -0
  12. package/dist/endpoints/admin-anomalies.js +72 -0
  13. package/dist/endpoints/admin-apm.d.ts +102 -0
  14. package/dist/endpoints/admin-apm.d.ts.map +1 -0
  15. package/dist/endpoints/admin-apm.js +70 -0
  16. package/dist/endpoints/admin-audit.d.ts +714 -0
  17. package/dist/endpoints/admin-audit.d.ts.map +1 -0
  18. package/dist/endpoints/admin-audit.js +494 -0
  19. package/dist/endpoints/admin-billing.d.ts +82 -0
  20. package/dist/endpoints/admin-billing.d.ts.map +1 -0
  21. package/dist/endpoints/admin-billing.js +190 -0
  22. package/dist/endpoints/admin-bootstrap.d.ts +16 -0
  23. package/dist/endpoints/admin-bootstrap.d.ts.map +1 -0
  24. package/dist/endpoints/admin-bootstrap.js +28 -0
  25. package/dist/endpoints/admin-broadcasts.d.ts +105 -0
  26. package/dist/endpoints/admin-broadcasts.d.ts.map +1 -0
  27. package/dist/endpoints/admin-broadcasts.js +60 -0
  28. package/dist/endpoints/admin-builds.d.ts +33 -0
  29. package/dist/endpoints/admin-builds.d.ts.map +1 -0
  30. package/dist/endpoints/admin-builds.js +36 -0
  31. package/dist/endpoints/admin-config.d.ts +180 -0
  32. package/dist/endpoints/admin-config.d.ts.map +1 -0
  33. package/dist/endpoints/admin-config.js +108 -0
  34. package/dist/endpoints/admin-consent.d.ts +123 -0
  35. package/dist/endpoints/admin-consent.d.ts.map +1 -0
  36. package/dist/endpoints/admin-consent.js +126 -0
  37. package/dist/endpoints/admin-env-services.d.ts +28 -0
  38. package/dist/endpoints/admin-env-services.d.ts.map +1 -0
  39. package/dist/endpoints/admin-env-services.js +35 -0
  40. package/dist/endpoints/admin-impersonation.d.ts +105 -0
  41. package/dist/endpoints/admin-impersonation.d.ts.map +1 -0
  42. package/dist/endpoints/admin-impersonation.js +88 -0
  43. package/dist/endpoints/admin-invitations.d.ts +73 -0
  44. package/dist/endpoints/admin-invitations.d.ts.map +1 -0
  45. package/dist/endpoints/admin-invitations.js +55 -0
  46. package/dist/endpoints/admin-jwt-keys.d.ts +75 -0
  47. package/dist/endpoints/admin-jwt-keys.d.ts.map +1 -0
  48. package/dist/endpoints/admin-jwt-keys.js +63 -0
  49. package/dist/endpoints/admin-logs.d.ts +109 -0
  50. package/dist/endpoints/admin-logs.d.ts.map +1 -0
  51. package/dist/endpoints/admin-logs.js +78 -0
  52. package/dist/endpoints/admin-plans.d.ts +63 -0
  53. package/dist/endpoints/admin-plans.d.ts.map +1 -0
  54. package/dist/endpoints/admin-plans.js +47 -0
  55. package/dist/endpoints/admin-project-users.d.ts +148 -0
  56. package/dist/endpoints/admin-project-users.d.ts.map +1 -0
  57. package/dist/endpoints/admin-project-users.js +89 -0
  58. package/dist/endpoints/admin-projects.d.ts +124 -0
  59. package/dist/endpoints/admin-projects.d.ts.map +1 -0
  60. package/dist/endpoints/admin-projects.js +74 -0
  61. package/dist/endpoints/admin-quotas.d.ts +98 -0
  62. package/dist/endpoints/admin-quotas.d.ts.map +1 -0
  63. package/dist/endpoints/admin-quotas.js +67 -0
  64. package/dist/endpoints/admin-rate-limits.d.ts +50 -0
  65. package/dist/endpoints/admin-rate-limits.d.ts.map +1 -0
  66. package/dist/endpoints/admin-rate-limits.js +53 -0
  67. package/dist/endpoints/admin-reconcile.d.ts +28 -0
  68. package/dist/endpoints/admin-reconcile.d.ts.map +1 -0
  69. package/dist/endpoints/admin-reconcile.js +33 -0
  70. package/dist/endpoints/admin-resources.d.ts +51 -0
  71. package/dist/endpoints/admin-resources.d.ts.map +1 -0
  72. package/dist/endpoints/admin-resources.js +53 -0
  73. package/dist/endpoints/admin-secrets.d.ts +41 -0
  74. package/dist/endpoints/admin-secrets.d.ts.map +1 -0
  75. package/dist/endpoints/admin-secrets.js +33 -0
  76. package/dist/endpoints/admin-services.d.ts +29 -0
  77. package/dist/endpoints/admin-services.d.ts.map +1 -0
  78. package/dist/endpoints/admin-services.js +35 -0
  79. package/dist/endpoints/admin-tasks.d.ts +186 -0
  80. package/dist/endpoints/admin-tasks.d.ts.map +1 -0
  81. package/dist/endpoints/admin-tasks.js +67 -0
  82. package/dist/endpoints/admin-tenants.d.ts +26 -0
  83. package/dist/endpoints/admin-tenants.d.ts.map +1 -0
  84. package/dist/endpoints/admin-tenants.js +30 -0
  85. package/dist/endpoints/admin-traces.d.ts +124 -0
  86. package/dist/endpoints/admin-traces.d.ts.map +1 -0
  87. package/dist/endpoints/admin-traces.js +59 -0
  88. package/dist/endpoints/admin-users.d.ts +106 -0
  89. package/dist/endpoints/admin-users.d.ts.map +1 -0
  90. package/dist/endpoints/admin-users.js +83 -0
  91. package/dist/endpoints/admin-webhook-signature-versions.d.ts +59 -0
  92. package/dist/endpoints/admin-webhook-signature-versions.d.ts.map +1 -0
  93. package/dist/endpoints/admin-webhook-signature-versions.js +57 -0
  94. package/dist/endpoints/ai-admin.d.ts +30 -0
  95. package/dist/endpoints/ai-admin.d.ts.map +1 -0
  96. package/dist/endpoints/ai-admin.js +59 -0
  97. package/dist/endpoints/analytics-admin.d.ts +279 -0
  98. package/dist/endpoints/analytics-admin.d.ts.map +1 -0
  99. package/dist/endpoints/analytics-admin.js +308 -0
  100. package/dist/endpoints/analytics.d.ts +58 -0
  101. package/dist/endpoints/analytics.d.ts.map +1 -0
  102. package/dist/endpoints/analytics.js +43 -0
  103. package/dist/endpoints/audit-chain.d.ts +49 -0
  104. package/dist/endpoints/audit-chain.d.ts.map +1 -0
  105. package/dist/endpoints/audit-chain.js +29 -0
  106. package/dist/endpoints/audit.d.ts +50 -0
  107. package/dist/endpoints/audit.d.ts.map +1 -0
  108. package/dist/endpoints/audit.js +30 -0
  109. package/dist/endpoints/auth-admin.d.ts +65 -0
  110. package/dist/endpoints/auth-admin.d.ts.map +1 -0
  111. package/dist/endpoints/auth-admin.js +55 -0
  112. package/dist/endpoints/auth.d.ts +157 -0
  113. package/dist/endpoints/auth.d.ts.map +1 -0
  114. package/dist/endpoints/auth.js +214 -0
  115. package/dist/endpoints/backups.d.ts +51 -0
  116. package/dist/endpoints/backups.d.ts.map +1 -0
  117. package/dist/endpoints/backups.js +47 -0
  118. package/dist/endpoints/billing-console.d.ts +294 -0
  119. package/dist/endpoints/billing-console.d.ts.map +1 -0
  120. package/dist/endpoints/billing-console.js +167 -0
  121. package/dist/endpoints/billing-settings.d.ts +107 -0
  122. package/dist/endpoints/billing-settings.d.ts.map +1 -0
  123. package/dist/endpoints/billing-settings.js +117 -0
  124. package/dist/endpoints/branch-databases.d.ts +75 -0
  125. package/dist/endpoints/branch-databases.d.ts.map +1 -0
  126. package/dist/endpoints/branch-databases.js +61 -0
  127. package/dist/endpoints/challenge.d.ts +62 -0
  128. package/dist/endpoints/challenge.d.ts.map +1 -0
  129. package/dist/endpoints/challenge.js +52 -0
  130. package/dist/endpoints/ci-settings.d.ts +89 -0
  131. package/dist/endpoints/ci-settings.d.ts.map +1 -0
  132. package/dist/endpoints/ci-settings.js +78 -0
  133. package/dist/endpoints/consent-admin.d.ts +134 -0
  134. package/dist/endpoints/consent-admin.d.ts.map +1 -0
  135. package/dist/endpoints/consent-admin.js +83 -0
  136. package/dist/endpoints/databases.d.ts +251 -0
  137. package/dist/endpoints/databases.d.ts.map +1 -0
  138. package/dist/endpoints/databases.js +150 -0
  139. package/dist/endpoints/deployments.d.ts +280 -0
  140. package/dist/endpoints/deployments.d.ts.map +1 -0
  141. package/dist/endpoints/deployments.js +205 -0
  142. package/dist/endpoints/domains.d.ts +356 -0
  143. package/dist/endpoints/domains.d.ts.map +1 -0
  144. package/dist/endpoints/domains.js +149 -0
  145. package/dist/endpoints/edge-deployments.d.ts +92 -0
  146. package/dist/endpoints/edge-deployments.d.ts.map +1 -0
  147. package/dist/endpoints/edge-deployments.js +58 -0
  148. package/dist/endpoints/email-admin.d.ts +415 -0
  149. package/dist/endpoints/email-admin.d.ts.map +1 -0
  150. package/dist/endpoints/email-admin.js +253 -0
  151. package/dist/endpoints/email.d.ts +37 -0
  152. package/dist/endpoints/email.d.ts.map +1 -0
  153. package/dist/endpoints/email.js +42 -0
  154. package/dist/endpoints/engagement-admin.d.ts +98 -0
  155. package/dist/endpoints/engagement-admin.d.ts.map +1 -0
  156. package/dist/endpoints/engagement-admin.js +64 -0
  157. package/dist/endpoints/env-vars.d.ts +66 -0
  158. package/dist/endpoints/env-vars.d.ts.map +1 -0
  159. package/dist/endpoints/env-vars.js +47 -0
  160. package/dist/endpoints/environments.d.ts +456 -0
  161. package/dist/endpoints/environments.d.ts.map +1 -0
  162. package/dist/endpoints/environments.js +237 -0
  163. package/dist/endpoints/experiments.d.ts +500 -0
  164. package/dist/endpoints/experiments.d.ts.map +1 -0
  165. package/dist/endpoints/experiments.js +93 -0
  166. package/dist/endpoints/flags-admin.d.ts +74 -0
  167. package/dist/endpoints/flags-admin.d.ts.map +1 -0
  168. package/dist/endpoints/flags-admin.js +84 -0
  169. package/dist/endpoints/flags.d.ts +23 -0
  170. package/dist/endpoints/flags.d.ts.map +1 -0
  171. package/dist/endpoints/flags.js +17 -0
  172. package/dist/endpoints/github.d.ts +30 -0
  173. package/dist/endpoints/github.d.ts.map +1 -0
  174. package/dist/endpoints/github.js +37 -0
  175. package/dist/endpoints/image-opt.d.ts +43 -0
  176. package/dist/endpoints/image-opt.d.ts.map +1 -0
  177. package/dist/endpoints/image-opt.js +44 -0
  178. package/dist/endpoints/kv-admin.d.ts +58 -0
  179. package/dist/endpoints/kv-admin.d.ts.map +1 -0
  180. package/dist/endpoints/kv-admin.js +69 -0
  181. package/dist/endpoints/kv.d.ts +63 -0
  182. package/dist/endpoints/kv.d.ts.map +1 -0
  183. package/dist/endpoints/kv.js +82 -0
  184. package/dist/endpoints/monitoring-admin.d.ts +204 -0
  185. package/dist/endpoints/monitoring-admin.d.ts.map +1 -0
  186. package/dist/endpoints/monitoring-admin.js +119 -0
  187. package/dist/endpoints/monitoring.d.ts +63 -0
  188. package/dist/endpoints/monitoring.d.ts.map +1 -0
  189. package/dist/endpoints/monitoring.js +27 -0
  190. package/dist/endpoints/newsletter.d.ts +366 -0
  191. package/dist/endpoints/newsletter.d.ts.map +1 -0
  192. package/dist/endpoints/newsletter.js +232 -0
  193. package/dist/endpoints/notifications-admin.d.ts +268 -0
  194. package/dist/endpoints/notifications-admin.d.ts.map +1 -0
  195. package/dist/endpoints/notifications-admin.js +172 -0
  196. package/dist/endpoints/notifications.d.ts +225 -0
  197. package/dist/endpoints/notifications.d.ts.map +1 -0
  198. package/dist/endpoints/notifications.js +150 -0
  199. package/dist/endpoints/oidc.d.ts +67 -0
  200. package/dist/endpoints/oidc.d.ts.map +1 -0
  201. package/dist/endpoints/oidc.js +49 -0
  202. package/dist/endpoints/organizations.d.ts +702 -0
  203. package/dist/endpoints/organizations.d.ts.map +1 -0
  204. package/dist/endpoints/organizations.js +460 -0
  205. package/dist/endpoints/plans.d.ts +136 -0
  206. package/dist/endpoints/plans.d.ts.map +1 -0
  207. package/dist/endpoints/plans.js +83 -0
  208. package/dist/endpoints/privacy.d.ts +131 -0
  209. package/dist/endpoints/privacy.d.ts.map +1 -0
  210. package/dist/endpoints/privacy.js +98 -0
  211. package/dist/endpoints/project-manifest.d.ts +1044 -0
  212. package/dist/endpoints/project-manifest.d.ts.map +1 -0
  213. package/dist/endpoints/project-manifest.js +59 -0
  214. package/dist/endpoints/projects.d.ts +187 -0
  215. package/dist/endpoints/projects.d.ts.map +1 -0
  216. package/dist/endpoints/projects.js +58 -0
  217. package/dist/endpoints/rate-limits.d.ts +83 -0
  218. package/dist/endpoints/rate-limits.d.ts.map +1 -0
  219. package/dist/endpoints/rate-limits.js +54 -0
  220. package/dist/endpoints/realtime-admin.d.ts +42 -0
  221. package/dist/endpoints/realtime-admin.d.ts.map +1 -0
  222. package/dist/endpoints/realtime-admin.js +50 -0
  223. package/dist/endpoints/realtime.d.ts +35 -0
  224. package/dist/endpoints/realtime.d.ts.map +1 -0
  225. package/dist/endpoints/realtime.js +39 -0
  226. package/dist/endpoints/referrals-admin.d.ts +118 -0
  227. package/dist/endpoints/referrals-admin.d.ts.map +1 -0
  228. package/dist/endpoints/referrals-admin.js +59 -0
  229. package/dist/endpoints/refresh.d.ts +19 -0
  230. package/dist/endpoints/refresh.d.ts.map +1 -0
  231. package/dist/endpoints/refresh.js +25 -0
  232. package/dist/endpoints/regions.d.ts +41 -0
  233. package/dist/endpoints/regions.d.ts.map +1 -0
  234. package/dist/endpoints/regions.js +43 -0
  235. package/dist/endpoints/runners.d.ts +55 -0
  236. package/dist/endpoints/runners.d.ts.map +1 -0
  237. package/dist/endpoints/runners.js +45 -0
  238. package/dist/endpoints/saml.d.ts +147 -0
  239. package/dist/endpoints/saml.d.ts.map +1 -0
  240. package/dist/endpoints/saml.js +106 -0
  241. package/dist/endpoints/search.d.ts +62 -0
  242. package/dist/endpoints/search.d.ts.map +1 -0
  243. package/dist/endpoints/search.js +40 -0
  244. package/dist/endpoints/secrets.d.ts +95 -0
  245. package/dist/endpoints/secrets.d.ts.map +1 -0
  246. package/dist/endpoints/secrets.js +81 -0
  247. package/dist/endpoints/security.d.ts +231 -0
  248. package/dist/endpoints/security.d.ts.map +1 -0
  249. package/dist/endpoints/security.js +291 -0
  250. package/dist/endpoints/service-tokens.d.ts +392 -0
  251. package/dist/endpoints/service-tokens.d.ts.map +1 -0
  252. package/dist/endpoints/service-tokens.js +125 -0
  253. package/dist/endpoints/session-replay.d.ts +142 -0
  254. package/dist/endpoints/session-replay.d.ts.map +1 -0
  255. package/dist/endpoints/session-replay.js +53 -0
  256. package/dist/endpoints/storage-admin.d.ts +96 -0
  257. package/dist/endpoints/storage-admin.d.ts.map +1 -0
  258. package/dist/endpoints/storage-admin.js +113 -0
  259. package/dist/endpoints/storage.d.ts +167 -0
  260. package/dist/endpoints/storage.d.ts.map +1 -0
  261. package/dist/endpoints/storage.js +117 -0
  262. package/dist/endpoints/tasks.d.ts +141 -0
  263. package/dist/endpoints/tasks.d.ts.map +1 -0
  264. package/dist/endpoints/tasks.js +97 -0
  265. package/dist/endpoints/users.d.ts +103 -0
  266. package/dist/endpoints/users.d.ts.map +1 -0
  267. package/dist/endpoints/users.js +98 -0
  268. package/dist/endpoints/webhooks.d.ts +201 -0
  269. package/dist/endpoints/webhooks.d.ts.map +1 -0
  270. package/dist/endpoints/webhooks.js +120 -0
  271. package/dist/errors.d.ts +153 -0
  272. package/dist/errors.d.ts.map +1 -0
  273. package/dist/errors.js +73 -0
  274. package/dist/index.d.ts +12303 -0
  275. package/dist/index.d.ts.map +1 -0
  276. package/dist/index.js +390 -0
  277. package/dist/schemas/_primitives.d.ts +37 -0
  278. package/dist/schemas/_primitives.d.ts.map +1 -0
  279. package/dist/schemas/_primitives.js +38 -0
  280. package/dist/schemas/admin-ai-playground.d.ts +128 -0
  281. package/dist/schemas/admin-ai-playground.d.ts.map +1 -0
  282. package/dist/schemas/admin-ai-playground.js +84 -0
  283. package/dist/schemas/admin-anomalies.d.ts +131 -0
  284. package/dist/schemas/admin-anomalies.d.ts.map +1 -0
  285. package/dist/schemas/admin-anomalies.js +106 -0
  286. package/dist/schemas/admin-apm.d.ts +151 -0
  287. package/dist/schemas/admin-apm.d.ts.map +1 -0
  288. package/dist/schemas/admin-apm.js +96 -0
  289. package/dist/schemas/admin-audit.d.ts +625 -0
  290. package/dist/schemas/admin-audit.d.ts.map +1 -0
  291. package/dist/schemas/admin-audit.js +508 -0
  292. package/dist/schemas/admin-billing.d.ts +73 -0
  293. package/dist/schemas/admin-billing.d.ts.map +1 -0
  294. package/dist/schemas/admin-billing.js +60 -0
  295. package/dist/schemas/admin-bootstrap.d.ts +32 -0
  296. package/dist/schemas/admin-bootstrap.d.ts.map +1 -0
  297. package/dist/schemas/admin-bootstrap.js +37 -0
  298. package/dist/schemas/admin-broadcasts.d.ts +181 -0
  299. package/dist/schemas/admin-broadcasts.d.ts.map +1 -0
  300. package/dist/schemas/admin-broadcasts.js +93 -0
  301. package/dist/schemas/admin-builds.d.ts +108 -0
  302. package/dist/schemas/admin-builds.d.ts.map +1 -0
  303. package/dist/schemas/admin-builds.js +127 -0
  304. package/dist/schemas/admin-config.d.ts +248 -0
  305. package/dist/schemas/admin-config.d.ts.map +1 -0
  306. package/dist/schemas/admin-config.js +145 -0
  307. package/dist/schemas/admin-consent.d.ts +129 -0
  308. package/dist/schemas/admin-consent.d.ts.map +1 -0
  309. package/dist/schemas/admin-consent.js +76 -0
  310. package/dist/schemas/admin-env-services.d.ts +63 -0
  311. package/dist/schemas/admin-env-services.d.ts.map +1 -0
  312. package/dist/schemas/admin-env-services.js +81 -0
  313. package/dist/schemas/admin-impersonation.d.ts +150 -0
  314. package/dist/schemas/admin-impersonation.d.ts.map +1 -0
  315. package/dist/schemas/admin-impersonation.js +114 -0
  316. package/dist/schemas/admin-invitations.d.ts +119 -0
  317. package/dist/schemas/admin-invitations.d.ts.map +1 -0
  318. package/dist/schemas/admin-invitations.js +80 -0
  319. package/dist/schemas/admin-jwt-keys.d.ts +130 -0
  320. package/dist/schemas/admin-jwt-keys.d.ts.map +1 -0
  321. package/dist/schemas/admin-jwt-keys.js +83 -0
  322. package/dist/schemas/admin-logs.d.ts +170 -0
  323. package/dist/schemas/admin-logs.d.ts.map +1 -0
  324. package/dist/schemas/admin-logs.js +108 -0
  325. package/dist/schemas/admin-plans.d.ts +92 -0
  326. package/dist/schemas/admin-plans.d.ts.map +1 -0
  327. package/dist/schemas/admin-plans.js +62 -0
  328. package/dist/schemas/admin-project-users.d.ts +183 -0
  329. package/dist/schemas/admin-project-users.d.ts.map +1 -0
  330. package/dist/schemas/admin-project-users.js +108 -0
  331. package/dist/schemas/admin-projects.d.ts +237 -0
  332. package/dist/schemas/admin-projects.d.ts.map +1 -0
  333. package/dist/schemas/admin-projects.js +129 -0
  334. package/dist/schemas/admin-quotas.d.ts +161 -0
  335. package/dist/schemas/admin-quotas.d.ts.map +1 -0
  336. package/dist/schemas/admin-quotas.js +107 -0
  337. package/dist/schemas/admin-rate-limits.d.ts +90 -0
  338. package/dist/schemas/admin-rate-limits.d.ts.map +1 -0
  339. package/dist/schemas/admin-rate-limits.js +72 -0
  340. package/dist/schemas/admin-reconcile.d.ts +89 -0
  341. package/dist/schemas/admin-reconcile.d.ts.map +1 -0
  342. package/dist/schemas/admin-reconcile.js +86 -0
  343. package/dist/schemas/admin-resources.d.ts +129 -0
  344. package/dist/schemas/admin-resources.d.ts.map +1 -0
  345. package/dist/schemas/admin-resources.js +143 -0
  346. package/dist/schemas/admin-secrets.d.ts +113 -0
  347. package/dist/schemas/admin-secrets.d.ts.map +1 -0
  348. package/dist/schemas/admin-secrets.js +94 -0
  349. package/dist/schemas/admin-services.d.ts +71 -0
  350. package/dist/schemas/admin-services.d.ts.map +1 -0
  351. package/dist/schemas/admin-services.js +61 -0
  352. package/dist/schemas/admin-tasks.d.ts +239 -0
  353. package/dist/schemas/admin-tasks.d.ts.map +1 -0
  354. package/dist/schemas/admin-tasks.js +103 -0
  355. package/dist/schemas/admin-tenants.d.ts +45 -0
  356. package/dist/schemas/admin-tenants.d.ts.map +1 -0
  357. package/dist/schemas/admin-tenants.js +54 -0
  358. package/dist/schemas/admin-traces.d.ts +203 -0
  359. package/dist/schemas/admin-traces.d.ts.map +1 -0
  360. package/dist/schemas/admin-traces.js +128 -0
  361. package/dist/schemas/admin-users.d.ts +158 -0
  362. package/dist/schemas/admin-users.d.ts.map +1 -0
  363. package/dist/schemas/admin-users.js +110 -0
  364. package/dist/schemas/admin-webhook-signature-versions.d.ts +103 -0
  365. package/dist/schemas/admin-webhook-signature-versions.d.ts.map +1 -0
  366. package/dist/schemas/admin-webhook-signature-versions.js +73 -0
  367. package/dist/schemas/ai-admin.d.ts +39 -0
  368. package/dist/schemas/ai-admin.d.ts.map +1 -0
  369. package/dist/schemas/ai-admin.js +29 -0
  370. package/dist/schemas/ai.d.ts +120 -0
  371. package/dist/schemas/ai.d.ts.map +1 -0
  372. package/dist/schemas/ai.js +84 -0
  373. package/dist/schemas/analytics-admin.d.ts +104 -0
  374. package/dist/schemas/analytics-admin.d.ts.map +1 -0
  375. package/dist/schemas/analytics-admin.js +61 -0
  376. package/dist/schemas/analytics.d.ts +118 -0
  377. package/dist/schemas/analytics.d.ts.map +1 -0
  378. package/dist/schemas/analytics.js +80 -0
  379. package/dist/schemas/audit-chain.d.ts +81 -0
  380. package/dist/schemas/audit-chain.d.ts.map +1 -0
  381. package/dist/schemas/audit-chain.js +62 -0
  382. package/dist/schemas/auth-admin.d.ts +55 -0
  383. package/dist/schemas/auth-admin.d.ts.map +1 -0
  384. package/dist/schemas/auth-admin.js +48 -0
  385. package/dist/schemas/auth.d.ts +865 -0
  386. package/dist/schemas/auth.d.ts.map +1 -0
  387. package/dist/schemas/auth.js +815 -0
  388. package/dist/schemas/backups.d.ts +70 -0
  389. package/dist/schemas/backups.d.ts.map +1 -0
  390. package/dist/schemas/backups.js +38 -0
  391. package/dist/schemas/billing-console.d.ts +414 -0
  392. package/dist/schemas/billing-console.d.ts.map +1 -0
  393. package/dist/schemas/billing-console.js +298 -0
  394. package/dist/schemas/billing-settings.d.ts +156 -0
  395. package/dist/schemas/billing-settings.d.ts.map +1 -0
  396. package/dist/schemas/billing-settings.js +119 -0
  397. package/dist/schemas/billing.d.ts +211 -0
  398. package/dist/schemas/billing.d.ts.map +1 -0
  399. package/dist/schemas/billing.js +147 -0
  400. package/dist/schemas/branch-database.d.ts +98 -0
  401. package/dist/schemas/branch-database.d.ts.map +1 -0
  402. package/dist/schemas/branch-database.js +68 -0
  403. package/dist/schemas/challenge.d.ts +104 -0
  404. package/dist/schemas/challenge.d.ts.map +1 -0
  405. package/dist/schemas/challenge.js +74 -0
  406. package/dist/schemas/ci-settings.d.ts +122 -0
  407. package/dist/schemas/ci-settings.d.ts.map +1 -0
  408. package/dist/schemas/ci-settings.js +65 -0
  409. package/dist/schemas/consent-admin.d.ts +187 -0
  410. package/dist/schemas/consent-admin.d.ts.map +1 -0
  411. package/dist/schemas/consent-admin.js +114 -0
  412. package/dist/schemas/consent.d.ts +78 -0
  413. package/dist/schemas/consent.d.ts.map +1 -0
  414. package/dist/schemas/consent.js +68 -0
  415. package/dist/schemas/database.d.ts +104 -0
  416. package/dist/schemas/database.d.ts.map +1 -0
  417. package/dist/schemas/database.js +89 -0
  418. package/dist/schemas/deployment.d.ts +386 -0
  419. package/dist/schemas/deployment.d.ts.map +1 -0
  420. package/dist/schemas/deployment.js +282 -0
  421. package/dist/schemas/domain.d.ts +148 -0
  422. package/dist/schemas/domain.d.ts.map +1 -0
  423. package/dist/schemas/domain.js +86 -0
  424. package/dist/schemas/edge-deployments.d.ts +140 -0
  425. package/dist/schemas/edge-deployments.d.ts.map +1 -0
  426. package/dist/schemas/edge-deployments.js +87 -0
  427. package/dist/schemas/email-admin.d.ts +384 -0
  428. package/dist/schemas/email-admin.d.ts.map +1 -0
  429. package/dist/schemas/email-admin.js +313 -0
  430. package/dist/schemas/email.d.ts +46 -0
  431. package/dist/schemas/email.d.ts.map +1 -0
  432. package/dist/schemas/email.js +34 -0
  433. package/dist/schemas/engagement-admin.d.ts +148 -0
  434. package/dist/schemas/engagement-admin.d.ts.map +1 -0
  435. package/dist/schemas/engagement-admin.js +107 -0
  436. package/dist/schemas/env-var.d.ts +68 -0
  437. package/dist/schemas/env-var.d.ts.map +1 -0
  438. package/dist/schemas/env-var.js +52 -0
  439. package/dist/schemas/environment.d.ts +392 -0
  440. package/dist/schemas/environment.d.ts.map +1 -0
  441. package/dist/schemas/environment.js +211 -0
  442. package/dist/schemas/experiments.d.ts +540 -0
  443. package/dist/schemas/experiments.d.ts.map +1 -0
  444. package/dist/schemas/experiments.js +150 -0
  445. package/dist/schemas/flags-admin.d.ts +112 -0
  446. package/dist/schemas/flags-admin.d.ts.map +1 -0
  447. package/dist/schemas/flags-admin.js +84 -0
  448. package/dist/schemas/flags.d.ts +43 -0
  449. package/dist/schemas/flags.d.ts.map +1 -0
  450. package/dist/schemas/flags.js +27 -0
  451. package/dist/schemas/github.d.ts +34 -0
  452. package/dist/schemas/github.d.ts.map +1 -0
  453. package/dist/schemas/github.js +24 -0
  454. package/dist/schemas/ids.d.ts +39 -0
  455. package/dist/schemas/ids.d.ts.map +1 -0
  456. package/dist/schemas/ids.js +26 -0
  457. package/dist/schemas/image-opt.d.ts +70 -0
  458. package/dist/schemas/image-opt.d.ts.map +1 -0
  459. package/dist/schemas/image-opt.js +68 -0
  460. package/dist/schemas/kv-admin.d.ts +60 -0
  461. package/dist/schemas/kv-admin.d.ts.map +1 -0
  462. package/dist/schemas/kv-admin.js +43 -0
  463. package/dist/schemas/kv.d.ts +79 -0
  464. package/dist/schemas/kv.d.ts.map +1 -0
  465. package/dist/schemas/kv.js +54 -0
  466. package/dist/schemas/monitoring-admin.d.ts +314 -0
  467. package/dist/schemas/monitoring-admin.d.ts.map +1 -0
  468. package/dist/schemas/monitoring-admin.js +196 -0
  469. package/dist/schemas/monitoring.d.ts +143 -0
  470. package/dist/schemas/monitoring.d.ts.map +1 -0
  471. package/dist/schemas/monitoring.js +96 -0
  472. package/dist/schemas/newsletter.d.ts +366 -0
  473. package/dist/schemas/newsletter.d.ts.map +1 -0
  474. package/dist/schemas/newsletter.js +245 -0
  475. package/dist/schemas/notifications-admin.d.ts +337 -0
  476. package/dist/schemas/notifications-admin.d.ts.map +1 -0
  477. package/dist/schemas/notifications-admin.js +261 -0
  478. package/dist/schemas/notifications.d.ts +312 -0
  479. package/dist/schemas/notifications.d.ts.map +1 -0
  480. package/dist/schemas/notifications.js +235 -0
  481. package/dist/schemas/oidc.d.ts +74 -0
  482. package/dist/schemas/oidc.d.ts.map +1 -0
  483. package/dist/schemas/oidc.js +46 -0
  484. package/dist/schemas/organization-billing.d.ts +165 -0
  485. package/dist/schemas/organization-billing.d.ts.map +1 -0
  486. package/dist/schemas/organization-billing.js +156 -0
  487. package/dist/schemas/organization-project-users.d.ts +126 -0
  488. package/dist/schemas/organization-project-users.d.ts.map +1 -0
  489. package/dist/schemas/organization-project-users.js +88 -0
  490. package/dist/schemas/organization-projects.d.ts +129 -0
  491. package/dist/schemas/organization-projects.d.ts.map +1 -0
  492. package/dist/schemas/organization-projects.js +119 -0
  493. package/dist/schemas/organization-referrals.d.ts +129 -0
  494. package/dist/schemas/organization-referrals.d.ts.map +1 -0
  495. package/dist/schemas/organization-referrals.js +126 -0
  496. package/dist/schemas/organization-team.d.ts +123 -0
  497. package/dist/schemas/organization-team.d.ts.map +1 -0
  498. package/dist/schemas/organization-team.js +119 -0
  499. package/dist/schemas/organization.d.ts +210 -0
  500. package/dist/schemas/organization.d.ts.map +1 -0
  501. package/dist/schemas/organization.js +169 -0
  502. package/dist/schemas/plans.d.ts +211 -0
  503. package/dist/schemas/plans.d.ts.map +1 -0
  504. package/dist/schemas/plans.js +131 -0
  505. package/dist/schemas/privacy.d.ts +174 -0
  506. package/dist/schemas/privacy.d.ts.map +1 -0
  507. package/dist/schemas/privacy.js +132 -0
  508. package/dist/schemas/project-manifest.d.ts +1421 -0
  509. package/dist/schemas/project-manifest.d.ts.map +1 -0
  510. package/dist/schemas/project-manifest.js +318 -0
  511. package/dist/schemas/project.d.ts +132 -0
  512. package/dist/schemas/project.d.ts.map +1 -0
  513. package/dist/schemas/project.js +76 -0
  514. package/dist/schemas/realtime-admin.d.ts +51 -0
  515. package/dist/schemas/realtime-admin.d.ts.map +1 -0
  516. package/dist/schemas/realtime-admin.js +29 -0
  517. package/dist/schemas/realtime.d.ts +46 -0
  518. package/dist/schemas/realtime.d.ts.map +1 -0
  519. package/dist/schemas/realtime.js +32 -0
  520. package/dist/schemas/referrals-admin.d.ts +166 -0
  521. package/dist/schemas/referrals-admin.d.ts.map +1 -0
  522. package/dist/schemas/referrals-admin.js +123 -0
  523. package/dist/schemas/referrals.d.ts +148 -0
  524. package/dist/schemas/referrals.d.ts.map +1 -0
  525. package/dist/schemas/referrals.js +102 -0
  526. package/dist/schemas/refresh.d.ts +29 -0
  527. package/dist/schemas/refresh.d.ts.map +1 -0
  528. package/dist/schemas/refresh.js +18 -0
  529. package/dist/schemas/region.d.ts +118 -0
  530. package/dist/schemas/region.d.ts.map +1 -0
  531. package/dist/schemas/region.js +86 -0
  532. package/dist/schemas/resources.d.ts +345 -0
  533. package/dist/schemas/resources.d.ts.map +1 -0
  534. package/dist/schemas/resources.js +220 -0
  535. package/dist/schemas/runners.d.ts +93 -0
  536. package/dist/schemas/runners.d.ts.map +1 -0
  537. package/dist/schemas/runners.js +49 -0
  538. package/dist/schemas/saml.d.ts +254 -0
  539. package/dist/schemas/saml.d.ts.map +1 -0
  540. package/dist/schemas/saml.js +159 -0
  541. package/dist/schemas/search.d.ts +96 -0
  542. package/dist/schemas/search.d.ts.map +1 -0
  543. package/dist/schemas/search.js +57 -0
  544. package/dist/schemas/secret.d.ts +101 -0
  545. package/dist/schemas/secret.d.ts.map +1 -0
  546. package/dist/schemas/secret.js +79 -0
  547. package/dist/schemas/security.d.ts +345 -0
  548. package/dist/schemas/security.d.ts.map +1 -0
  549. package/dist/schemas/security.js +248 -0
  550. package/dist/schemas/service-tokens.d.ts +342 -0
  551. package/dist/schemas/service-tokens.d.ts.map +1 -0
  552. package/dist/schemas/service-tokens.js +101 -0
  553. package/dist/schemas/session-replay.d.ts +285 -0
  554. package/dist/schemas/session-replay.d.ts.map +1 -0
  555. package/dist/schemas/session-replay.js +145 -0
  556. package/dist/schemas/storage-admin.d.ts +351 -0
  557. package/dist/schemas/storage-admin.d.ts.map +1 -0
  558. package/dist/schemas/storage-admin.js +197 -0
  559. package/dist/schemas/storage.d.ts +257 -0
  560. package/dist/schemas/storage.d.ts.map +1 -0
  561. package/dist/schemas/storage.js +173 -0
  562. package/dist/schemas/tasks.d.ts +178 -0
  563. package/dist/schemas/tasks.d.ts.map +1 -0
  564. package/dist/schemas/tasks.js +102 -0
  565. package/dist/schemas/user.d.ts +103 -0
  566. package/dist/schemas/user.d.ts.map +1 -0
  567. package/dist/schemas/user.js +79 -0
  568. package/dist/schemas/webhooks.d.ts +259 -0
  569. package/dist/schemas/webhooks.d.ts.map +1 -0
  570. package/dist/schemas/webhooks.js +198 -0
  571. package/package.json +154 -0
@@ -0,0 +1,161 @@
1
+ /**
2
+ * Admin Quotas — internal operator console schemas for quota management.
3
+ * Mirrors `/admin/quotas/*` in `apps/api/src/server/platform/routes/admin/quotas.ts`.
4
+ *
5
+ * Plane: `admin`.
6
+ *
7
+ * Note — `service` is typed as `Schema.String` here because the billable
8
+ * service enum is the Drizzle enum SSOT in `core`; keeping it string-shaped
9
+ * avoids a cross-package enum sync every time a new service is added.
10
+ */
11
+ import { Schema } from 'effect';
12
+ export declare const AdminBillableService: typeof Schema.String;
13
+ export type AdminBillableService = typeof AdminBillableService.Type;
14
+ export declare const AdminQuotaEnforcement: Schema.Literal<["hard", "soft", "none"]>;
15
+ export type AdminQuotaEnforcement = typeof AdminQuotaEnforcement.Type;
16
+ export declare const AdminQuotaStatus: Schema.Literal<["ok", "warning", "critical", "exceeded"]>;
17
+ export type AdminQuotaStatus = typeof AdminQuotaStatus.Type;
18
+ export declare const AdminOverallQuotaStatus: Schema.Literal<["ok", "warning", "critical", "exceeded", "blocked"]>;
19
+ export type AdminOverallQuotaStatus = typeof AdminOverallQuotaStatus.Type;
20
+ export declare const AdminQuotaPeriod: Schema.Literal<["hourly", "daily", "monthly", "unlimited"]>;
21
+ export type AdminQuotaPeriod = typeof AdminQuotaPeriod.Type;
22
+ export declare const AdminQuotaAlertLevel: Schema.Literal<["warning", "critical", "exceeded"]>;
23
+ export type AdminQuotaAlertLevel = typeof AdminQuotaAlertLevel.Type;
24
+ export declare const AdminQuotaItem: Schema.Struct<{
25
+ service: typeof Schema.String;
26
+ metric: typeof Schema.String;
27
+ currentUsage: typeof Schema.Number;
28
+ limit: typeof Schema.Number;
29
+ percentUsed: typeof Schema.Number;
30
+ enforcement: Schema.Literal<["hard", "soft", "none"]>;
31
+ period: Schema.Literal<["hourly", "daily", "monthly", "unlimited"]>;
32
+ status: Schema.Literal<["ok", "warning", "critical", "exceeded"]>;
33
+ isActive: typeof Schema.Boolean;
34
+ }>;
35
+ export type AdminQuotaItem = typeof AdminQuotaItem.Type;
36
+ export declare const AdminQuotaAlert: Schema.Struct<{
37
+ id: typeof Schema.String;
38
+ service: typeof Schema.String;
39
+ metric: typeof Schema.String;
40
+ level: Schema.Literal<["warning", "critical", "exceeded"]>;
41
+ usagePercent: typeof Schema.Number;
42
+ currentValue: typeof Schema.Number;
43
+ limitValue: typeof Schema.Number;
44
+ message: typeof Schema.String;
45
+ sentAt: typeof Schema.String;
46
+ acknowledgedAt: Schema.NullOr<typeof Schema.String>;
47
+ }>;
48
+ export type AdminQuotaAlert = typeof AdminQuotaAlert.Type;
49
+ export declare const AdminQuotaHistoryItem: Schema.Struct<{
50
+ date: typeof Schema.String;
51
+ value: typeof Schema.Number;
52
+ }>;
53
+ export type AdminQuotaHistoryItem = typeof AdminQuotaHistoryItem.Type;
54
+ export declare const AdminUpdatedQuota: Schema.Struct<{
55
+ service: typeof Schema.String;
56
+ metric: typeof Schema.String;
57
+ limitValue: typeof Schema.Number;
58
+ enforcement: Schema.Literal<["hard", "soft", "none"]>;
59
+ warningThresholdPercent: typeof Schema.Number;
60
+ criticalThresholdPercent: typeof Schema.Number;
61
+ isActive: typeof Schema.Boolean;
62
+ }>;
63
+ export type AdminUpdatedQuota = typeof AdminUpdatedQuota.Type;
64
+ export declare const AdminQuotasProjectParams: Schema.Struct<{
65
+ projectId: typeof Schema.String;
66
+ }>;
67
+ export type AdminQuotasProjectParams = typeof AdminQuotasProjectParams.Type;
68
+ export declare const AdminAlertIdParams: Schema.Struct<{
69
+ alertId: typeof Schema.String;
70
+ }>;
71
+ export type AdminAlertIdParams = typeof AdminAlertIdParams.Type;
72
+ export declare const AdminGetQuotaAlertsQuery: Schema.Struct<{
73
+ acknowledged: Schema.optional<typeof Schema.String>;
74
+ limit: Schema.optional<typeof Schema.String>;
75
+ }>;
76
+ export type AdminGetQuotaAlertsQuery = typeof AdminGetQuotaAlertsQuery.Type;
77
+ export declare const AdminGetQuotaHistoryQuery: Schema.Struct<{
78
+ service: typeof Schema.String;
79
+ metric: typeof Schema.String;
80
+ days: Schema.optional<typeof Schema.String>;
81
+ }>;
82
+ export type AdminGetQuotaHistoryQuery = typeof AdminGetQuotaHistoryQuery.Type;
83
+ export declare const AdminUpdateQuotaInput: Schema.Struct<{
84
+ service: typeof Schema.String;
85
+ metric: typeof Schema.String;
86
+ limitValue: Schema.optional<typeof Schema.Number>;
87
+ enforcement: Schema.optional<Schema.Literal<["hard", "soft", "none"]>>;
88
+ warningThresholdPercent: Schema.optional<typeof Schema.Number>;
89
+ criticalThresholdPercent: Schema.optional<typeof Schema.Number>;
90
+ isActive: Schema.optional<typeof Schema.Boolean>;
91
+ }>;
92
+ export type AdminUpdateQuotaInput = typeof AdminUpdateQuotaInput.Type;
93
+ export declare const AdminGetProjectQuotasResult: Schema.Struct<{
94
+ projectId: typeof Schema.String;
95
+ projectName: typeof Schema.String;
96
+ quotas: Schema.Array$<Schema.Struct<{
97
+ service: typeof Schema.String;
98
+ metric: typeof Schema.String;
99
+ currentUsage: typeof Schema.Number;
100
+ limit: typeof Schema.Number;
101
+ percentUsed: typeof Schema.Number;
102
+ enforcement: Schema.Literal<["hard", "soft", "none"]>;
103
+ period: Schema.Literal<["hourly", "daily", "monthly", "unlimited"]>;
104
+ status: Schema.Literal<["ok", "warning", "critical", "exceeded"]>;
105
+ isActive: typeof Schema.Boolean;
106
+ }>>;
107
+ mauCount: typeof Schema.Number;
108
+ mauLimit: typeof Schema.Number;
109
+ overallStatus: Schema.Literal<["ok", "warning", "critical", "exceeded", "blocked"]>;
110
+ unacknowledgedAlertsCount: typeof Schema.Number;
111
+ }>;
112
+ export type AdminGetProjectQuotasResult = typeof AdminGetProjectQuotasResult.Type;
113
+ export declare const AdminGetQuotaStatsResult: Schema.Struct<{
114
+ atLimit: typeof Schema.Number;
115
+ warning: typeof Schema.Number;
116
+ critical: typeof Schema.Number;
117
+ ok: typeof Schema.Number;
118
+ total: typeof Schema.Number;
119
+ }>;
120
+ export type AdminGetQuotaStatsResult = typeof AdminGetQuotaStatsResult.Type;
121
+ export declare const AdminGetQuotaAlertsResult: Schema.Struct<{
122
+ alerts: Schema.Array$<Schema.Struct<{
123
+ id: typeof Schema.String;
124
+ service: typeof Schema.String;
125
+ metric: typeof Schema.String;
126
+ level: Schema.Literal<["warning", "critical", "exceeded"]>;
127
+ usagePercent: typeof Schema.Number;
128
+ currentValue: typeof Schema.Number;
129
+ limitValue: typeof Schema.Number;
130
+ message: typeof Schema.String;
131
+ sentAt: typeof Schema.String;
132
+ acknowledgedAt: Schema.NullOr<typeof Schema.String>;
133
+ }>>;
134
+ }>;
135
+ export type AdminGetQuotaAlertsResult = typeof AdminGetQuotaAlertsResult.Type;
136
+ export declare const AdminGetQuotaHistoryResult: Schema.Struct<{
137
+ history: Schema.Array$<Schema.Struct<{
138
+ date: typeof Schema.String;
139
+ value: typeof Schema.Number;
140
+ }>>;
141
+ }>;
142
+ export type AdminGetQuotaHistoryResult = typeof AdminGetQuotaHistoryResult.Type;
143
+ export declare const AdminUpdateQuotaResult: Schema.Struct<{
144
+ success: typeof Schema.Boolean;
145
+ quota: Schema.Struct<{
146
+ service: typeof Schema.String;
147
+ metric: typeof Schema.String;
148
+ limitValue: typeof Schema.Number;
149
+ enforcement: Schema.Literal<["hard", "soft", "none"]>;
150
+ warningThresholdPercent: typeof Schema.Number;
151
+ criticalThresholdPercent: typeof Schema.Number;
152
+ isActive: typeof Schema.Boolean;
153
+ }>;
154
+ }>;
155
+ export type AdminUpdateQuotaResult = typeof AdminUpdateQuotaResult.Type;
156
+ export declare const AdminAcknowledgeAlertResult: Schema.Struct<{
157
+ success: typeof Schema.Boolean;
158
+ acknowledgedAt: Schema.NullOr<typeof Schema.String>;
159
+ }>;
160
+ export type AdminAcknowledgeAlertResult = typeof AdminAcknowledgeAlertResult.Type;
161
+ //# sourceMappingURL=admin-quotas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-quotas.d.ts","sourceRoot":"","sources":["../../src/schemas/admin-quotas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,eAAO,MAAM,oBAAoB,sBAAgB,CAAA;AACjD,MAAM,MAAM,oBAAoB,GAAG,OAAO,oBAAoB,CAAC,IAAI,CAAA;AAEnE,eAAO,MAAM,qBAAqB,0CAAyC,CAAA;AAC3E,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAA;AAErE,eAAO,MAAM,gBAAgB,2DAA0D,CAAA;AACvF,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAA;AAE3D,eAAO,MAAM,uBAAuB,sEAMnC,CAAA;AACD,MAAM,MAAM,uBAAuB,GAAG,OAAO,uBAAuB,CAAC,IAAI,CAAA;AAEzE,eAAO,MAAM,gBAAgB,6DAA4D,CAAA;AACzF,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAA;AAE3D,eAAO,MAAM,oBAAoB,qDAAoD,CAAA;AACrF,MAAM,MAAM,oBAAoB,GAAG,OAAO,oBAAoB,CAAC,IAAI,CAAA;AAEnE,eAAO,MAAM,cAAc;;;;;;;;;;EAUzB,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAA;AAEvD,eAAO,MAAM,eAAe;;;;;;;;;;;EAW1B,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AAEzD,eAAO,MAAM,qBAAqB;;;EAGhC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAA;AAErE,eAAO,MAAM,iBAAiB;;;;;;;;EAQ5B,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;AAI7D,eAAO,MAAM,wBAAwB;;EAA8C,CAAA;AACnF,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAC,IAAI,CAAA;AAC3E,eAAO,MAAM,kBAAkB;;EAA4C,CAAA;AAC3E,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC,IAAI,CAAA;AAI/D,eAAO,MAAM,wBAAwB;;;EAGnC,CAAA;AACF,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAC,IAAI,CAAA;AAE3E,eAAO,MAAM,yBAAyB;;;;EAIpC,CAAA;AACF,MAAM,MAAM,yBAAyB,GAAG,OAAO,yBAAyB,CAAC,IAAI,CAAA;AAI7E,eAAO,MAAM,qBAAqB;;;;;;;;EAQhC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAA;AAIrE,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;EAQtC,CAAA;AACF,MAAM,MAAM,2BAA2B,GAAG,OAAO,2BAA2B,CAAC,IAAI,CAAA;AAEjF,eAAO,MAAM,wBAAwB;;;;;;EAMnC,CAAA;AACF,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAC,IAAI,CAAA;AAE3E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;EAEpC,CAAA;AACF,MAAM,MAAM,yBAAyB,GAAG,OAAO,yBAAyB,CAAC,IAAI,CAAA;AAE7E,eAAO,MAAM,0BAA0B;;;;;EAErC,CAAA;AACF,MAAM,MAAM,0BAA0B,GAAG,OAAO,0BAA0B,CAAC,IAAI,CAAA;AAE/E,eAAO,MAAM,sBAAsB;;;;;;;;;;;EAGjC,CAAA;AACF,MAAM,MAAM,sBAAsB,GAAG,OAAO,sBAAsB,CAAC,IAAI,CAAA;AAEvE,eAAO,MAAM,2BAA2B;;;EAGtC,CAAA;AACF,MAAM,MAAM,2BAA2B,GAAG,OAAO,2BAA2B,CAAC,IAAI,CAAA"}
@@ -0,0 +1,107 @@
1
+ /**
2
+ * Admin Quotas — internal operator console schemas for quota management.
3
+ * Mirrors `/admin/quotas/*` in `apps/api/src/server/platform/routes/admin/quotas.ts`.
4
+ *
5
+ * Plane: `admin`.
6
+ *
7
+ * Note — `service` is typed as `Schema.String` here because the billable
8
+ * service enum is the Drizzle enum SSOT in `core`; keeping it string-shaped
9
+ * avoids a cross-package enum sync every time a new service is added.
10
+ */
11
+ import { Schema } from 'effect';
12
+ export const AdminBillableService = Schema.String;
13
+ export const AdminQuotaEnforcement = Schema.Literal('hard', 'soft', 'none');
14
+ export const AdminQuotaStatus = Schema.Literal('ok', 'warning', 'critical', 'exceeded');
15
+ export const AdminOverallQuotaStatus = Schema.Literal('ok', 'warning', 'critical', 'exceeded', 'blocked');
16
+ export const AdminQuotaPeriod = Schema.Literal('hourly', 'daily', 'monthly', 'unlimited');
17
+ export const AdminQuotaAlertLevel = Schema.Literal('warning', 'critical', 'exceeded');
18
+ export const AdminQuotaItem = Schema.Struct({
19
+ service: AdminBillableService,
20
+ metric: Schema.String,
21
+ currentUsage: Schema.Number,
22
+ limit: Schema.Number,
23
+ percentUsed: Schema.Number,
24
+ enforcement: AdminQuotaEnforcement,
25
+ period: AdminQuotaPeriod,
26
+ status: AdminQuotaStatus,
27
+ isActive: Schema.Boolean,
28
+ });
29
+ export const AdminQuotaAlert = Schema.Struct({
30
+ id: Schema.String,
31
+ service: AdminBillableService,
32
+ metric: Schema.String,
33
+ level: AdminQuotaAlertLevel,
34
+ usagePercent: Schema.Number,
35
+ currentValue: Schema.Number,
36
+ limitValue: Schema.Number,
37
+ message: Schema.String,
38
+ sentAt: Schema.String,
39
+ acknowledgedAt: Schema.NullOr(Schema.String),
40
+ });
41
+ export const AdminQuotaHistoryItem = Schema.Struct({
42
+ date: Schema.String,
43
+ value: Schema.Number,
44
+ });
45
+ export const AdminUpdatedQuota = Schema.Struct({
46
+ service: AdminBillableService,
47
+ metric: Schema.String,
48
+ limitValue: Schema.Number,
49
+ enforcement: AdminQuotaEnforcement,
50
+ warningThresholdPercent: Schema.Number,
51
+ criticalThresholdPercent: Schema.Number,
52
+ isActive: Schema.Boolean,
53
+ });
54
+ // ── Params ─────────────────────────────────────────────────────────────────
55
+ export const AdminQuotasProjectParams = Schema.Struct({ projectId: Schema.String });
56
+ export const AdminAlertIdParams = Schema.Struct({ alertId: Schema.String });
57
+ // ── Query ──────────────────────────────────────────────────────────────────
58
+ export const AdminGetQuotaAlertsQuery = Schema.Struct({
59
+ acknowledged: Schema.optional(Schema.String),
60
+ limit: Schema.optional(Schema.String),
61
+ });
62
+ export const AdminGetQuotaHistoryQuery = Schema.Struct({
63
+ service: AdminBillableService,
64
+ metric: Schema.String,
65
+ days: Schema.optional(Schema.String),
66
+ });
67
+ // ── Inputs ─────────────────────────────────────────────────────────────────
68
+ export const AdminUpdateQuotaInput = Schema.Struct({
69
+ service: AdminBillableService,
70
+ metric: Schema.String,
71
+ limitValue: Schema.optional(Schema.Number),
72
+ enforcement: Schema.optional(AdminQuotaEnforcement),
73
+ warningThresholdPercent: Schema.optional(Schema.Number),
74
+ criticalThresholdPercent: Schema.optional(Schema.Number),
75
+ isActive: Schema.optional(Schema.Boolean),
76
+ });
77
+ // ── Responses ──────────────────────────────────────────────────────────────
78
+ export const AdminGetProjectQuotasResult = Schema.Struct({
79
+ projectId: Schema.String,
80
+ projectName: Schema.String,
81
+ quotas: Schema.Array(AdminQuotaItem),
82
+ mauCount: Schema.Number,
83
+ mauLimit: Schema.Number,
84
+ overallStatus: AdminOverallQuotaStatus,
85
+ unacknowledgedAlertsCount: Schema.Number,
86
+ });
87
+ export const AdminGetQuotaStatsResult = Schema.Struct({
88
+ atLimit: Schema.Number,
89
+ warning: Schema.Number,
90
+ critical: Schema.Number,
91
+ ok: Schema.Number,
92
+ total: Schema.Number,
93
+ });
94
+ export const AdminGetQuotaAlertsResult = Schema.Struct({
95
+ alerts: Schema.Array(AdminQuotaAlert),
96
+ });
97
+ export const AdminGetQuotaHistoryResult = Schema.Struct({
98
+ history: Schema.Array(AdminQuotaHistoryItem),
99
+ });
100
+ export const AdminUpdateQuotaResult = Schema.Struct({
101
+ success: Schema.Boolean,
102
+ quota: AdminUpdatedQuota,
103
+ });
104
+ export const AdminAcknowledgeAlertResult = Schema.Struct({
105
+ success: Schema.Boolean,
106
+ acknowledgedAt: Schema.NullOr(Schema.String),
107
+ });
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Admin Rate-Limits — operator-driven tuning of per-credential-type
3
+ * multipliers (Production-Ready audit M-3).
4
+ *
5
+ * Pre-M-3 the multipliers were hard-coded constants in
6
+ * `packages/core/src/lib/security/rate-limit.ts:86-92`. Tuning required
7
+ * a code deploy + restart — exactly the workflow we don't want to run
8
+ * during a credential-enumeration attack on a `pk_*` key.
9
+ *
10
+ * Endpoints:
11
+ *
12
+ * - GET /admin/rate-limits/credential-multipliers — snapshot every
13
+ * credential type's current multiplier + exempt status.
14
+ * - POST /admin/rate-limits/credential-multipliers — upsert the row
15
+ * for one credential type. The enforcement layer picks up the
16
+ * change within 5 minutes (Redis cache TTL) or immediately via
17
+ * `invalidateAndReload()`.
18
+ *
19
+ * Auth: service token + scope `platform:ratelimits:write`. Super-admin
20
+ * sessions are NOT accepted server-side — a multiplier change is a
21
+ * security-policy decision and MUST be a programmatic step in an Ops
22
+ * runbook, never an interactive Console click.
23
+ */
24
+ import { Schema } from 'effect';
25
+ /**
26
+ * Credential-type enumeration — mirrors `RateLimitCredentialType` in
27
+ * the schema layer. New types require a coordinated migration + union
28
+ * extension + this literal.
29
+ */
30
+ export declare const AdminRateLimitCredentialType: Schema.Literal<["public", "secret", "service", "session", "spiffe", "unknown"]>;
31
+ export type AdminRateLimitCredentialType = typeof AdminRateLimitCredentialType.Type;
32
+ /**
33
+ * Snapshot row — one per credential type. `effectiveMultiplier` is
34
+ * the value the limiter is currently applying (after Redis cache
35
+ * settles); `exempt=true` means the limiter short-circuits to
36
+ * always-allow (used for the SPIFFE mesh path).
37
+ */
38
+ export declare const AdminRateLimitMultiplierStatus: Schema.Struct<{
39
+ credentialType: Schema.Literal<["public", "secret", "service", "session", "spiffe", "unknown"]>;
40
+ multiplier: typeof Schema.Number;
41
+ exempt: typeof Schema.Boolean;
42
+ notes: Schema.NullOr<typeof Schema.String>;
43
+ lastUpdatedAt: Schema.NullOr<typeof Schema.String>;
44
+ }>;
45
+ export type AdminRateLimitMultiplierStatus = typeof AdminRateLimitMultiplierStatus.Type;
46
+ /**
47
+ * `GET /admin/rate-limits/credential-multipliers` response.
48
+ */
49
+ export declare const AdminListRateLimitMultipliersResult: Schema.Struct<{
50
+ multipliers: Schema.Array$<Schema.Struct<{
51
+ credentialType: Schema.Literal<["public", "secret", "service", "session", "spiffe", "unknown"]>;
52
+ multiplier: typeof Schema.Number;
53
+ exempt: typeof Schema.Boolean;
54
+ notes: Schema.NullOr<typeof Schema.String>;
55
+ lastUpdatedAt: Schema.NullOr<typeof Schema.String>;
56
+ }>>;
57
+ }>;
58
+ export type AdminListRateLimitMultipliersResult = typeof AdminListRateLimitMultipliersResult.Type;
59
+ /**
60
+ * `POST /admin/rate-limits/credential-multipliers` body. One write
61
+ * per (credentialType) row — the table's PK enforces uniqueness.
62
+ *
63
+ * `multiplier` is required; pass any value in (0, 10]. To toggle
64
+ * exempt status, set `exempt=true` (multiplier becomes a no-op).
65
+ * `reason` is required and audited.
66
+ */
67
+ export declare const AdminSetRateLimitMultiplierInput: Schema.Struct<{
68
+ credentialType: Schema.Literal<["public", "secret", "service", "session", "spiffe", "unknown"]>;
69
+ multiplier: Schema.filter<Schema.filter<typeof Schema.Number>>;
70
+ exempt: Schema.optional<typeof Schema.Boolean>;
71
+ reason: Schema.filter<typeof Schema.String>;
72
+ }>;
73
+ export type AdminSetRateLimitMultiplierInput = typeof AdminSetRateLimitMultiplierInput.Type;
74
+ /**
75
+ * Result envelope — returns the freshly-written row + the audit log
76
+ * ID for traceability.
77
+ */
78
+ export declare const AdminSetRateLimitMultiplierResult: Schema.Struct<{
79
+ updated: Schema.Struct<{
80
+ credentialType: Schema.Literal<["public", "secret", "service", "session", "spiffe", "unknown"]>;
81
+ multiplier: typeof Schema.Number;
82
+ exempt: typeof Schema.Boolean;
83
+ notes: Schema.NullOr<typeof Schema.String>;
84
+ lastUpdatedAt: Schema.NullOr<typeof Schema.String>;
85
+ }>;
86
+ auditLogId: Schema.NullOr<typeof Schema.String>;
87
+ message: typeof Schema.String;
88
+ }>;
89
+ export type AdminSetRateLimitMultiplierResult = typeof AdminSetRateLimitMultiplierResult.Type;
90
+ //# sourceMappingURL=admin-rate-limits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-rate-limits.d.ts","sourceRoot":"","sources":["../../src/schemas/admin-rate-limits.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,iFAOxC,CAAA;AACD,MAAM,MAAM,4BAA4B,GAAG,OAAO,4BAA4B,CAAC,IAAI,CAAA;AAEnF;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B;;;;;;EAMzC,CAAA;AACF,MAAM,MAAM,8BAA8B,GAAG,OAAO,8BAA8B,CAAC,IAAI,CAAA;AAEvF;;GAEG;AACH,eAAO,MAAM,mCAAmC;;;;;;;;EAE9C,CAAA;AACF,MAAM,MAAM,mCAAmC,GAAG,OAAO,mCAAmC,CAAC,IAAI,CAAA;AAEjG;;;;;;;GAOG;AACH,eAAO,MAAM,gCAAgC;;;;;EAK3C,CAAA;AACF,MAAM,MAAM,gCAAgC,GAAG,OAAO,gCAAgC,CAAC,IAAI,CAAA;AAE3F;;;GAGG;AACH,eAAO,MAAM,iCAAiC;;;;;;;;;;EAI5C,CAAA;AACF,MAAM,MAAM,iCAAiC,GAAG,OAAO,iCAAiC,CAAC,IAAI,CAAA"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Admin Rate-Limits — operator-driven tuning of per-credential-type
3
+ * multipliers (Production-Ready audit M-3).
4
+ *
5
+ * Pre-M-3 the multipliers were hard-coded constants in
6
+ * `packages/core/src/lib/security/rate-limit.ts:86-92`. Tuning required
7
+ * a code deploy + restart — exactly the workflow we don't want to run
8
+ * during a credential-enumeration attack on a `pk_*` key.
9
+ *
10
+ * Endpoints:
11
+ *
12
+ * - GET /admin/rate-limits/credential-multipliers — snapshot every
13
+ * credential type's current multiplier + exempt status.
14
+ * - POST /admin/rate-limits/credential-multipliers — upsert the row
15
+ * for one credential type. The enforcement layer picks up the
16
+ * change within 5 minutes (Redis cache TTL) or immediately via
17
+ * `invalidateAndReload()`.
18
+ *
19
+ * Auth: service token + scope `platform:ratelimits:write`. Super-admin
20
+ * sessions are NOT accepted server-side — a multiplier change is a
21
+ * security-policy decision and MUST be a programmatic step in an Ops
22
+ * runbook, never an interactive Console click.
23
+ */
24
+ import { Schema } from 'effect';
25
+ /**
26
+ * Credential-type enumeration — mirrors `RateLimitCredentialType` in
27
+ * the schema layer. New types require a coordinated migration + union
28
+ * extension + this literal.
29
+ */
30
+ export const AdminRateLimitCredentialType = Schema.Literal('public', 'secret', 'service', 'session', 'spiffe', 'unknown');
31
+ /**
32
+ * Snapshot row — one per credential type. `effectiveMultiplier` is
33
+ * the value the limiter is currently applying (after Redis cache
34
+ * settles); `exempt=true` means the limiter short-circuits to
35
+ * always-allow (used for the SPIFFE mesh path).
36
+ */
37
+ export const AdminRateLimitMultiplierStatus = Schema.Struct({
38
+ credentialType: AdminRateLimitCredentialType,
39
+ multiplier: Schema.Number,
40
+ exempt: Schema.Boolean,
41
+ notes: Schema.NullOr(Schema.String),
42
+ lastUpdatedAt: Schema.NullOr(Schema.String),
43
+ });
44
+ /**
45
+ * `GET /admin/rate-limits/credential-multipliers` response.
46
+ */
47
+ export const AdminListRateLimitMultipliersResult = Schema.Struct({
48
+ multipliers: Schema.Array(AdminRateLimitMultiplierStatus),
49
+ });
50
+ /**
51
+ * `POST /admin/rate-limits/credential-multipliers` body. One write
52
+ * per (credentialType) row — the table's PK enforces uniqueness.
53
+ *
54
+ * `multiplier` is required; pass any value in (0, 10]. To toggle
55
+ * exempt status, set `exempt=true` (multiplier becomes a no-op).
56
+ * `reason` is required and audited.
57
+ */
58
+ export const AdminSetRateLimitMultiplierInput = Schema.Struct({
59
+ credentialType: AdminRateLimitCredentialType,
60
+ multiplier: Schema.Number.pipe(Schema.greaterThan(0), Schema.lessThanOrEqualTo(10)),
61
+ exempt: Schema.optional(Schema.Boolean),
62
+ reason: Schema.String.pipe(Schema.minLength(3)),
63
+ });
64
+ /**
65
+ * Result envelope — returns the freshly-written row + the audit log
66
+ * ID for traceability.
67
+ */
68
+ export const AdminSetRateLimitMultiplierResult = Schema.Struct({
69
+ updated: AdminRateLimitMultiplierStatus,
70
+ auditLogId: Schema.NullOr(Schema.String),
71
+ message: Schema.String,
72
+ });
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Admin Reconcile — operator recovery schemas (OPS-6).
3
+ *
4
+ * Mirrors `apps/api/src/server/platform/routes/admin/reconcile.ts`.
5
+ * Replaces the manual `UPDATE project_environments SET generation = … ,
6
+ * reconcile_status = 'pending' …` from
7
+ * `docs/how-to/reconciler-cleanup-semantic.md` (lines 34, 42, 68, 74,
8
+ * 125) with a structured admin endpoint.
9
+ *
10
+ * Plane: `admin` (super-admin / scoped service-token only — scope
11
+ * `platform:reconcile:reset`).
12
+ */
13
+ import { Schema } from 'effect';
14
+ /**
15
+ * Targetable rows. The wire vocabulary maps to:
16
+ *
17
+ * - `service` → `environment_services.id` (TypeID `esvc_*`).
18
+ * State machine: `pending | progressing | synced |
19
+ * degraded | failed | stopped` plus the
20
+ * lifecycle terminal `terminating`.
21
+ * - `environment` → `project_environments.id` (TypeID `env_*`).
22
+ * State machine: `pending | synced | failed` plus
23
+ * the lifecycle terminal `terminating`.
24
+ *
25
+ * Per ADR-055 §3, IDs are TypeIDs on the wire — the route decodes to UUID
26
+ * server-side via `parseIdOrError()`.
27
+ */
28
+ declare const ReconcileKind: Schema.Union<[Schema.Literal<["service"]>, Schema.Literal<["environment"]>]>;
29
+ export type AdminReconcileKind = typeof ReconcileKind.Type;
30
+ /**
31
+ * Target reconcile_status. Operators only ever need two:
32
+ *
33
+ * - `pending` — re-arm the reconciler (the typical "undo a stuck
34
+ * failed/progressing/degraded row" path).
35
+ * - `synced` — mark the row as converged when the underlying K8s
36
+ * state has actually been verified out-of-band (the
37
+ * escape hatch for split-brain repairs).
38
+ *
39
+ * `terminating` / `terminated` are NOT acceptable here — those are
40
+ * lifecycle transitions driven by `handleTerminating` and the
41
+ * force-delete path (OPS-3), not by an operator's reset button.
42
+ */
43
+ declare const ReconcileStatus: Schema.Union<[Schema.Literal<["pending"]>, Schema.Literal<["synced"]>]>;
44
+ export type AdminReconcileStatus = typeof ReconcileStatus.Type;
45
+ /**
46
+ * Body of `POST /admin/reconcile/reset`.
47
+ *
48
+ * Semantics:
49
+ *
50
+ * - `kind` — `service` or `environment`. Selects the target table.
51
+ * - `id` — TypeID (`esvc_*` for `service`, `env_*` for
52
+ * `environment`).
53
+ * - `to` — target `reconcile_status`. The endpoint validates the
54
+ * source state allows the transition (see route file for
55
+ * the full transition table).
56
+ * - `reason` — required (min 3 chars). Audit row narrative.
57
+ *
58
+ * Side effect on `to=pending`: also bumps `generation += 1` so the
59
+ * reconciler picks up the row on the next tick (matching the runbook's
60
+ * canonical UPDATE).
61
+ */
62
+ export declare const AdminReconcileResetInput: Schema.Struct<{
63
+ kind: Schema.Union<[Schema.Literal<["service"]>, Schema.Literal<["environment"]>]>;
64
+ id: Schema.filter<typeof Schema.String>;
65
+ to: Schema.Union<[Schema.Literal<["pending"]>, Schema.Literal<["synced"]>]>;
66
+ reason: Schema.filter<Schema.filter<typeof Schema.String>>;
67
+ }>;
68
+ export type AdminReconcileResetInput = typeof AdminReconcileResetInput.Type;
69
+ /**
70
+ * Response envelope.
71
+ *
72
+ * - `kind` — echo of the request.
73
+ * - `id` — echo of the request (TypeID).
74
+ * - `previousStatus` — `reconcile_status` value the row carried just
75
+ * before the UPDATE landed.
76
+ * - `newStatus` — final value (matches `to`).
77
+ * - `generationBumped` — `true` iff the endpoint additionally
78
+ * incremented `generation` (only on `to=pending`).
79
+ */
80
+ export declare const AdminReconcileResetResult: Schema.Struct<{
81
+ kind: Schema.Union<[Schema.Literal<["service"]>, Schema.Literal<["environment"]>]>;
82
+ id: typeof Schema.String;
83
+ previousStatus: typeof Schema.String;
84
+ newStatus: Schema.Union<[Schema.Literal<["pending"]>, Schema.Literal<["synced"]>]>;
85
+ generationBumped: typeof Schema.Boolean;
86
+ }>;
87
+ export type AdminReconcileResetResult = typeof AdminReconcileResetResult.Type;
88
+ export {};
89
+ //# sourceMappingURL=admin-reconcile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-reconcile.d.ts","sourceRoot":"","sources":["../../src/schemas/admin-reconcile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B;;;;;;;;;;;;;GAaG;AACH,QAAA,MAAM,aAAa,8EAAyE,CAAA;AAC5F,MAAM,MAAM,kBAAkB,GAAG,OAAO,aAAa,CAAC,IAAI,CAAA;AAE1D;;;;;;;;;;;;GAYG;AACH,QAAA,MAAM,eAAe,yEAAoE,CAAA;AACzF,MAAM,MAAM,oBAAoB,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AAI9D;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,wBAAwB;;;;;EASnC,CAAA;AACF,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAC,IAAI,CAAA;AAE3E;;;;;;;;;;GAUG;AACH,eAAO,MAAM,yBAAyB;;;;;;EAMpC,CAAA;AACF,MAAM,MAAM,yBAAyB,GAAG,OAAO,yBAAyB,CAAC,IAAI,CAAA"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Admin Reconcile — operator recovery schemas (OPS-6).
3
+ *
4
+ * Mirrors `apps/api/src/server/platform/routes/admin/reconcile.ts`.
5
+ * Replaces the manual `UPDATE project_environments SET generation = … ,
6
+ * reconcile_status = 'pending' …` from
7
+ * `docs/how-to/reconciler-cleanup-semantic.md` (lines 34, 42, 68, 74,
8
+ * 125) with a structured admin endpoint.
9
+ *
10
+ * Plane: `admin` (super-admin / scoped service-token only — scope
11
+ * `platform:reconcile:reset`).
12
+ */
13
+ import { Schema } from 'effect';
14
+ /**
15
+ * Targetable rows. The wire vocabulary maps to:
16
+ *
17
+ * - `service` → `environment_services.id` (TypeID `esvc_*`).
18
+ * State machine: `pending | progressing | synced |
19
+ * degraded | failed | stopped` plus the
20
+ * lifecycle terminal `terminating`.
21
+ * - `environment` → `project_environments.id` (TypeID `env_*`).
22
+ * State machine: `pending | synced | failed` plus
23
+ * the lifecycle terminal `terminating`.
24
+ *
25
+ * Per ADR-055 §3, IDs are TypeIDs on the wire — the route decodes to UUID
26
+ * server-side via `parseIdOrError()`.
27
+ */
28
+ const ReconcileKind = Schema.Union(Schema.Literal('service'), Schema.Literal('environment'));
29
+ /**
30
+ * Target reconcile_status. Operators only ever need two:
31
+ *
32
+ * - `pending` — re-arm the reconciler (the typical "undo a stuck
33
+ * failed/progressing/degraded row" path).
34
+ * - `synced` — mark the row as converged when the underlying K8s
35
+ * state has actually been verified out-of-band (the
36
+ * escape hatch for split-brain repairs).
37
+ *
38
+ * `terminating` / `terminated` are NOT acceptable here — those are
39
+ * lifecycle transitions driven by `handleTerminating` and the
40
+ * force-delete path (OPS-3), not by an operator's reset button.
41
+ */
42
+ const ReconcileStatus = Schema.Union(Schema.Literal('pending'), Schema.Literal('synced'));
43
+ const Reason = Schema.String.pipe(Schema.minLength(3), Schema.maxLength(500));
44
+ /**
45
+ * Body of `POST /admin/reconcile/reset`.
46
+ *
47
+ * Semantics:
48
+ *
49
+ * - `kind` — `service` or `environment`. Selects the target table.
50
+ * - `id` — TypeID (`esvc_*` for `service`, `env_*` for
51
+ * `environment`).
52
+ * - `to` — target `reconcile_status`. The endpoint validates the
53
+ * source state allows the transition (see route file for
54
+ * the full transition table).
55
+ * - `reason` — required (min 3 chars). Audit row narrative.
56
+ *
57
+ * Side effect on `to=pending`: also bumps `generation += 1` so the
58
+ * reconciler picks up the row on the next tick (matching the runbook's
59
+ * canonical UPDATE).
60
+ */
61
+ export const AdminReconcileResetInput = Schema.Struct({
62
+ kind: ReconcileKind,
63
+ id: Schema.String.pipe(Schema.pattern(/^(esvc|env)_[0-9a-z]{20,30}$/i, {
64
+ message: () => 'id must be a TypeID with prefix `esvc_` or `env_`',
65
+ })),
66
+ to: ReconcileStatus,
67
+ reason: Reason,
68
+ });
69
+ /**
70
+ * Response envelope.
71
+ *
72
+ * - `kind` — echo of the request.
73
+ * - `id` — echo of the request (TypeID).
74
+ * - `previousStatus` — `reconcile_status` value the row carried just
75
+ * before the UPDATE landed.
76
+ * - `newStatus` — final value (matches `to`).
77
+ * - `generationBumped` — `true` iff the endpoint additionally
78
+ * incremented `generation` (only on `to=pending`).
79
+ */
80
+ export const AdminReconcileResetResult = Schema.Struct({
81
+ kind: ReconcileKind,
82
+ id: Schema.String,
83
+ previousStatus: Schema.String,
84
+ newStatus: ReconcileStatus,
85
+ generationBumped: Schema.Boolean,
86
+ });