@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,1421 @@
1
+ /**
2
+ * `sylphx.toml` project manifest — Effect Schema SSOT (ADR-084 Rule 1).
3
+ *
4
+ * Plane: `management`. The manifest is the user-facing, editable surface
5
+ * declared in Git at repo root. The CLI parses `sylphx.toml` via Bun's
6
+ * built-in TOML parser, validates against this schema, and pushes to the
7
+ * Management API (`PUT /projects/:id/manifest`, landing in a follow-up PR).
8
+ *
9
+ * Slug-valued (not TypeID) on purpose: the manifest is what users type,
10
+ * so slugs are the DX-correct surface. The server maps slugs → TypeIDs
11
+ * per ADR-055. Immutable fields (slug, org, service.name, postgres.tier,
12
+ * volume.size_gb shrink) are validated at apply time on the server;
13
+ * the local parser only enforces shape.
14
+ *
15
+ * See docs/design/sylphx-toml-manifest.md §2 for the full design.
16
+ */
17
+ import { Schema } from 'effect';
18
+ /**
19
+ * Slug format per ADR-055 §Slugs — lower-case, DNS-safe, 3-63 chars.
20
+ * Used for `project.slug`, `project.org`, `[[services]].name`, resource
21
+ * names, and per-service resource bindings.
22
+ */
23
+ export declare const Slug: Schema.filter<Schema.filter<Schema.filter<typeof Schema.String>>>;
24
+ export type Slug = typeof Slug.Type;
25
+ /** Environment name — closed enum matches ADR-080 environment types. */
26
+ export declare const ManifestEnvName: Schema.Literal<["production", "staging", "preview", "development"]>;
27
+ export type ManifestEnvName = typeof ManifestEnvName.Type;
28
+ /** Hetzner region starter set; extend as new regions come online. */
29
+ export declare const ManifestRegion: Schema.Literal<["fsn1", "nbg1", "hel1", "ash1", "hil1"]>;
30
+ export type ManifestRegion = typeof ManifestRegion.Type;
31
+ /** Machine size tiers — shared between build runners and service containers. */
32
+ export declare const MachineSize: Schema.Literal<["nano", "micro", "small", "standard", "large", "xlarge"]>;
33
+ export type MachineSize = typeof MachineSize.Type;
34
+ /** Build runner size — smaller enum than MachineSize (no nano/micro). */
35
+ export declare const BuildMachineSize: Schema.Literal<["standard", "large", "xlarge"]>;
36
+ export type BuildMachineSize = typeof BuildMachineSize.Type;
37
+ /** Buildpack identifier per ADR-071. `auto` lets the platform detect. */
38
+ export declare const BuildpackName: Schema.Literal<["auto", "ruby", "node", "python", "static", "dockerfile"]>;
39
+ export type BuildpackName = typeof BuildpackName.Type;
40
+ /** Service type discriminant — drives K8s workload shape (Deployment/Job). */
41
+ export declare const ServiceType: Schema.Literal<["web", "worker", "cron", "function"]>;
42
+ export type ServiceType = typeof ServiceType.Type;
43
+ /** Deploy strategy — `rolling` is the Sylphx default (ArgoCD PreSync-gated). */
44
+ export declare const DeployStrategy: Schema.Literal<["rolling", "blue-green", "immediate"]>;
45
+ export type DeployStrategy = typeof DeployStrategy.Type;
46
+ /** WWW-apex redirect policy at the Gateway API listener. */
47
+ export declare const WwwRedirect: Schema.Literal<["apex", "www", "none"]>;
48
+ export type WwwRedirect = typeof WwwRedirect.Type;
49
+ export declare const ManifestProjectSection: Schema.Struct<{
50
+ /** Human-readable name; mutable, displayed in Console. */
51
+ name: Schema.filter<Schema.filter<typeof Schema.String>>;
52
+ /**
53
+ * DNS-safe slug; **immutable** per ADR-055. Drives `{slug}.sylphx.app`,
54
+ * `{slug}.sylphx.net`. Server rejects slug change with `409 immutable_slug`.
55
+ */
56
+ slug: Schema.filter<Schema.filter<Schema.filter<typeof Schema.String>>>;
57
+ /** Owner org slug (ADR-055). Resolved to OrgId server-side. */
58
+ org: Schema.filter<Schema.filter<Schema.filter<typeof Schema.String>>>;
59
+ /** Default deployment region. Multi-region is services-level. */
60
+ region: Schema.optional<Schema.Literal<["fsn1", "nbg1", "hel1", "ash1", "hil1"]>>;
61
+ /** Optional description surfaced in Console header. */
62
+ description: Schema.optional<Schema.filter<typeof Schema.String>>;
63
+ }>;
64
+ export type ManifestProjectSection = typeof ManifestProjectSection.Type;
65
+ export declare const ManifestBuildSection: Schema.Struct<{
66
+ /**
67
+ * Override buildpack auto-detection. Unset → auto-detect from
68
+ * package.json / Gemfile / requirements.txt / Dockerfile.
69
+ */
70
+ buildpack: Schema.optional<Schema.Literal<["auto", "ruby", "node", "python", "static", "dockerfile"]>>;
71
+ /** Override path to Dockerfile (implies buildpack=dockerfile). */
72
+ dockerfile: Schema.optional<typeof Schema.String>;
73
+ /** Docker build context path (default: repo root). */
74
+ docker_context: Schema.optional<typeof Schema.String>;
75
+ /** Custom build command; overrides buildpack default. */
76
+ build_command: Schema.optional<typeof Schema.String>;
77
+ /** Glob patterns to exclude from build context (.dockerignore-style). */
78
+ ignore: Schema.optional<Schema.Array$<typeof Schema.String>>;
79
+ /** CI build machine tier per `buildMachineType` field on Project. */
80
+ machine_type: Schema.optional<Schema.Literal<["standard", "large", "xlarge"]>>;
81
+ /** Reserved for reproducible-builds (ADR-069) metadata. */
82
+ reproducible: Schema.optional<typeof Schema.Boolean>;
83
+ }>;
84
+ export type ManifestBuildSection = typeof ManifestBuildSection.Type;
85
+ export declare const ManifestDeploySection: Schema.Struct<{
86
+ /**
87
+ * Command run before traffic cutover (DB migrations via expand-and-
88
+ * contract). Runs as an ArgoCD PreSync Job (sync-wave "-1"). ADR-066.2.
89
+ */
90
+ release_command: Schema.optional<typeof Schema.String>;
91
+ /** HTTP path for K8s readinessProbe. */
92
+ health_check_path: Schema.optional<typeof Schema.String>;
93
+ /** Timeout in seconds. */
94
+ health_check_timeout: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
95
+ /** Deploy strategy; Sylphx default is rolling. */
96
+ strategy: Schema.optional<Schema.Literal<["rolling", "blue-green", "immediate"]>>;
97
+ /** Grace period before SIGKILL (seconds). */
98
+ graceful_shutdown: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
99
+ }>;
100
+ export type ManifestDeploySection = typeof ManifestDeploySection.Type;
101
+ export declare const ManifestServiceSection: Schema.Struct<{
102
+ /** Service name — unique within project. Used as K8s Deployment name. */
103
+ name: Schema.filter<Schema.filter<Schema.filter<typeof Schema.String>>>;
104
+ type: Schema.Literal<["web", "worker", "cron", "function"]>;
105
+ /** Container start command. */
106
+ command: Schema.optional<typeof Schema.String>;
107
+ /** Internal container port; required for `web`. */
108
+ port: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
109
+ /**
110
+ * Public HTTP port (Gateway API listener). Defaults to 443 for web.
111
+ * Most users leave unset.
112
+ */
113
+ internal_port: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
114
+ /** Replica count. Ignored for `cron`. */
115
+ replicas: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
116
+ /** Compute size; maps to per-service K8s resources.requests/limits. */
117
+ instance_type: Schema.optional<Schema.Literal<["nano", "micro", "small", "standard", "large", "xlarge"]>>;
118
+ /** Required when type=cron. Standard 5-field cron expression. */
119
+ cron_schedule: Schema.optional<typeof Schema.String>;
120
+ /** Optional per-service region override. */
121
+ regions: Schema.optional<Schema.Array$<Schema.Literal<["fsn1", "nbg1", "hel1", "ash1", "hil1"]>>>;
122
+ /**
123
+ * Scale-to-zero (KEDA). `false` (default) = pinned at `min_replicas >= 1`;
124
+ * `true` = the reconciler emits a KEDA ScaledObject and lets KEDA drive
125
+ * the replica count from 0 → N on incoming traffic (docs/design/scale-to-zero.md).
126
+ */
127
+ scale_to_zero: Schema.optional<typeof Schema.Boolean>;
128
+ /**
129
+ * Seconds of no traffic before KEDA scales the Deployment down to 0.
130
+ * Maps to KEDA `cooldownPeriod`. Only meaningful when `scale_to_zero=true`.
131
+ * Range: 60s–3600s. Default: 300 (5 min).
132
+ */
133
+ idle_timeout_seconds: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
134
+ /**
135
+ * Minimum replica count. Default: `0` when `scale_to_zero=true`, else `1`.
136
+ * Setting `min_replicas=1` alongside `scale_to_zero=true` keeps a warm
137
+ * floor while still letting KEDA scale horizontally beyond 1.
138
+ */
139
+ min_replicas: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
140
+ /** Per-service env var merge — refs entries from top-level [env]. */
141
+ env: Schema.optional<Schema.Array$<typeof Schema.String>>;
142
+ /** Per-service resource bindings (by resource name). */
143
+ resources: Schema.optional<Schema.Array$<Schema.filter<Schema.filter<Schema.filter<typeof Schema.String>>>>>;
144
+ }>;
145
+ export type ManifestServiceSection = typeof ManifestServiceSection.Type;
146
+ /**
147
+ * Env var value — literal, secret reference, or resource attribute.
148
+ * Values are NEVER stored in the manifest — always by reference.
149
+ * `from_secret` resolves via the platform `secrets` table (AES-256-GCM).
150
+ * `from_resource` + `attr` resolves via the `resources` table; valid
151
+ * attributes: `connection_url | host | port | user | password | database`.
152
+ */
153
+ export declare const ManifestEnvValue: Schema.Union<[Schema.Struct<{
154
+ value: typeof Schema.String;
155
+ }>, Schema.Struct<{
156
+ from_secret: typeof Schema.String;
157
+ }>, Schema.Struct<{
158
+ from_resource: typeof Schema.String;
159
+ attr: typeof Schema.String;
160
+ }>]>;
161
+ export type ManifestEnvValue = typeof ManifestEnvValue.Type;
162
+ export declare const ManifestDomainSection: Schema.Struct<{
163
+ hostname: Schema.filter<typeof Schema.String>;
164
+ /** Which service in [[services]] handles requests for this hostname. */
165
+ service: Schema.filter<Schema.filter<Schema.filter<typeof Schema.String>>>;
166
+ /** Force HTTPS redirect at the Gateway API listener. */
167
+ redirect_https: Schema.optional<typeof Schema.Boolean>;
168
+ /** WWW-apex redirect policy. */
169
+ www_redirect: Schema.optional<Schema.Literal<["apex", "www", "none"]>>;
170
+ /** Alternate names (e.g. marketing domains pointing here). */
171
+ aliases: Schema.optional<Schema.Array$<typeof Schema.String>>;
172
+ }>;
173
+ export type ManifestDomainSection = typeof ManifestDomainSection.Type;
174
+ export declare const PostgresTier: Schema.Literal<["nano", "micro", "standard", "large", "xl"]>;
175
+ export type PostgresTier = typeof PostgresTier.Type;
176
+ export declare const RedisTier: Schema.Literal<["micro", "standard", "large"]>;
177
+ export type RedisTier = typeof RedisTier.Type;
178
+ export declare const PostgresVersion: Schema.Literal<["15", "16", "17"]>;
179
+ export type PostgresVersion = typeof PostgresVersion.Type;
180
+ export declare const BlobVisibility: Schema.Literal<["private", "public"]>;
181
+ export type BlobVisibility = typeof BlobVisibility.Type;
182
+ export declare const VolumeAccess: Schema.Literal<["ReadWriteOnce", "ReadWriteMany"]>;
183
+ export type VolumeAccess = typeof VolumeAccess.Type;
184
+ export declare const SearchTier: Schema.Literal<["micro", "standard"]>;
185
+ export type SearchTier = typeof SearchTier.Type;
186
+ export declare const ManifestPostgresResource: Schema.Struct<{
187
+ /** CNPG tier; IMMUTABLE after creation. */
188
+ tier: Schema.Literal<["nano", "micro", "standard", "large", "xl"]>;
189
+ storage_gb: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
190
+ version: Schema.optional<Schema.Literal<["15", "16", "17"]>>;
191
+ /** Enable CNPG read-replica(s). */
192
+ replicas: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
193
+ /** Branch-per-preview (P0 gap #4 sibling). */
194
+ branch_on_preview: Schema.optional<typeof Schema.Boolean>;
195
+ }>;
196
+ export type ManifestPostgresResource = typeof ManifestPostgresResource.Type;
197
+ export declare const ManifestRedisResource: Schema.Struct<{
198
+ tier: Schema.Literal<["micro", "standard", "large"]>;
199
+ }>;
200
+ export type ManifestRedisResource = typeof ManifestRedisResource.Type;
201
+ export declare const ManifestBlobResource: Schema.Struct<{
202
+ /** Ceph S3 bucket, auto-provisioned. `public` maps to presigned-URL-only. */
203
+ visibility: Schema.Literal<["private", "public"]>;
204
+ }>;
205
+ export type ManifestBlobResource = typeof ManifestBlobResource.Type;
206
+ export declare const ManifestVolumeResource: Schema.Struct<{
207
+ name: Schema.filter<Schema.filter<Schema.filter<typeof Schema.String>>>;
208
+ /** GROW-ONLY — server rejects shrink with `409 immutable_volume_shrink`. */
209
+ size_gb: Schema.filter<Schema.filter<typeof Schema.Number>>;
210
+ /** ReadWriteOnce → rook-ceph-block; ReadWriteMany → rook-cephfs. */
211
+ access: Schema.Literal<["ReadWriteOnce", "ReadWriteMany"]>;
212
+ mount: typeof Schema.String;
213
+ }>;
214
+ export type ManifestVolumeResource = typeof ManifestVolumeResource.Type;
215
+ export declare const ManifestSearchResource: Schema.Struct<{
216
+ tier: Schema.Literal<["micro", "standard"]>;
217
+ }>;
218
+ export type ManifestSearchResource = typeof ManifestSearchResource.Type;
219
+ export declare const ManifestResourcesSection: Schema.Struct<{
220
+ postgres: Schema.optional<Schema.Struct<{
221
+ /** CNPG tier; IMMUTABLE after creation. */
222
+ tier: Schema.Literal<["nano", "micro", "standard", "large", "xl"]>;
223
+ storage_gb: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
224
+ version: Schema.optional<Schema.Literal<["15", "16", "17"]>>;
225
+ /** Enable CNPG read-replica(s). */
226
+ replicas: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
227
+ /** Branch-per-preview (P0 gap #4 sibling). */
228
+ branch_on_preview: Schema.optional<typeof Schema.Boolean>;
229
+ }>>;
230
+ redis: Schema.optional<Schema.Struct<{
231
+ tier: Schema.Literal<["micro", "standard", "large"]>;
232
+ }>>;
233
+ blob: Schema.optional<Schema.Struct<{
234
+ /** Ceph S3 bucket, auto-provisioned. `public` maps to presigned-URL-only. */
235
+ visibility: Schema.Literal<["private", "public"]>;
236
+ }>>;
237
+ volume: Schema.optional<Schema.Array$<Schema.Struct<{
238
+ name: Schema.filter<Schema.filter<Schema.filter<typeof Schema.String>>>;
239
+ /** GROW-ONLY — server rejects shrink with `409 immutable_volume_shrink`. */
240
+ size_gb: Schema.filter<Schema.filter<typeof Schema.Number>>;
241
+ /** ReadWriteOnce → rook-ceph-block; ReadWriteMany → rook-cephfs. */
242
+ access: Schema.Literal<["ReadWriteOnce", "ReadWriteMany"]>;
243
+ mount: typeof Schema.String;
244
+ }>>>;
245
+ search: Schema.optional<Schema.Struct<{
246
+ tier: Schema.Literal<["micro", "standard"]>;
247
+ }>>;
248
+ }>;
249
+ export type ManifestResourcesSection = typeof ManifestResourcesSection.Type;
250
+ export declare const ManifestCiSection: Schema.Struct<{
251
+ on_push: Schema.optional<typeof Schema.Boolean>;
252
+ preview_deploys: Schema.optional<typeof Schema.Boolean>;
253
+ pr_comment: Schema.optional<typeof Schema.Boolean>;
254
+ /** Regex of branches that auto-deploy to production. */
255
+ production_branches: Schema.optional<Schema.Array$<typeof Schema.String>>;
256
+ /** Which runner tier to request from the managed runner pool. */
257
+ runner: Schema.optional<Schema.Literal<["standard", "large", "xlarge"]>>;
258
+ /** Paths whose changes should not trigger a deploy. */
259
+ ignore_paths: Schema.optional<Schema.Array$<typeof Schema.String>>;
260
+ }>;
261
+ export type ManifestCiSection = typeof ManifestCiSection.Type;
262
+ /**
263
+ * Sparse service override keyed by `name`. Only `name` is required;
264
+ * every other field is optional and shallow-merges onto the top-level
265
+ * `[[services]]` entry with the matching name. Arrays replace, scalars/
266
+ * structs merge.
267
+ */
268
+ export declare const ManifestServiceOverride: Schema.Struct<{
269
+ name: Schema.filter<Schema.filter<Schema.filter<typeof Schema.String>>>;
270
+ type: Schema.optional<Schema.Literal<["web", "worker", "cron", "function"]>>;
271
+ command: Schema.optional<typeof Schema.String>;
272
+ port: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
273
+ internal_port: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
274
+ replicas: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
275
+ instance_type: Schema.optional<Schema.Literal<["nano", "micro", "small", "standard", "large", "xlarge"]>>;
276
+ cron_schedule: Schema.optional<typeof Schema.String>;
277
+ regions: Schema.optional<Schema.Array$<Schema.Literal<["fsn1", "nbg1", "hel1", "ash1", "hil1"]>>>;
278
+ scale_to_zero: Schema.optional<typeof Schema.Boolean>;
279
+ idle_timeout_seconds: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
280
+ min_replicas: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
281
+ env: Schema.optional<Schema.Array$<typeof Schema.String>>;
282
+ resources: Schema.optional<Schema.Array$<Schema.filter<Schema.filter<Schema.filter<typeof Schema.String>>>>>;
283
+ }>;
284
+ export type ManifestServiceOverride = typeof ManifestServiceOverride.Type;
285
+ export declare const ManifestEnvironmentOverride: Schema.Struct<{
286
+ /** Shallow-merge over top-level [env]. */
287
+ env: Schema.optional<Schema.Record$<typeof Schema.String, Schema.Union<[Schema.Struct<{
288
+ value: typeof Schema.String;
289
+ }>, Schema.Struct<{
290
+ from_secret: typeof Schema.String;
291
+ }>, Schema.Struct<{
292
+ from_resource: typeof Schema.String;
293
+ attr: typeof Schema.String;
294
+ }>]>>>;
295
+ /** Override build for this env. */
296
+ build: Schema.optional<Schema.Struct<{
297
+ /**
298
+ * Override buildpack auto-detection. Unset → auto-detect from
299
+ * package.json / Gemfile / requirements.txt / Dockerfile.
300
+ */
301
+ buildpack: Schema.optional<Schema.Literal<["auto", "ruby", "node", "python", "static", "dockerfile"]>>;
302
+ /** Override path to Dockerfile (implies buildpack=dockerfile). */
303
+ dockerfile: Schema.optional<typeof Schema.String>;
304
+ /** Docker build context path (default: repo root). */
305
+ docker_context: Schema.optional<typeof Schema.String>;
306
+ /** Custom build command; overrides buildpack default. */
307
+ build_command: Schema.optional<typeof Schema.String>;
308
+ /** Glob patterns to exclude from build context (.dockerignore-style). */
309
+ ignore: Schema.optional<Schema.Array$<typeof Schema.String>>;
310
+ /** CI build machine tier per `buildMachineType` field on Project. */
311
+ machine_type: Schema.optional<Schema.Literal<["standard", "large", "xlarge"]>>;
312
+ /** Reserved for reproducible-builds (ADR-069) metadata. */
313
+ reproducible: Schema.optional<typeof Schema.Boolean>;
314
+ }>>;
315
+ /** Override deploy for this env. */
316
+ deploy: Schema.optional<Schema.Struct<{
317
+ /**
318
+ * Command run before traffic cutover (DB migrations via expand-and-
319
+ * contract). Runs as an ArgoCD PreSync Job (sync-wave "-1"). ADR-066.2.
320
+ */
321
+ release_command: Schema.optional<typeof Schema.String>;
322
+ /** HTTP path for K8s readinessProbe. */
323
+ health_check_path: Schema.optional<typeof Schema.String>;
324
+ /** Timeout in seconds. */
325
+ health_check_timeout: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
326
+ /** Deploy strategy; Sylphx default is rolling. */
327
+ strategy: Schema.optional<Schema.Literal<["rolling", "blue-green", "immediate"]>>;
328
+ /** Grace period before SIGKILL (seconds). */
329
+ graceful_shutdown: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
330
+ }>>;
331
+ /** Sparse service overrides; entries match by `name`. */
332
+ services: Schema.optional<Schema.Array$<Schema.Struct<{
333
+ name: Schema.filter<Schema.filter<Schema.filter<typeof Schema.String>>>;
334
+ type: Schema.optional<Schema.Literal<["web", "worker", "cron", "function"]>>;
335
+ command: Schema.optional<typeof Schema.String>;
336
+ port: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
337
+ internal_port: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
338
+ replicas: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
339
+ instance_type: Schema.optional<Schema.Literal<["nano", "micro", "small", "standard", "large", "xlarge"]>>;
340
+ cron_schedule: Schema.optional<typeof Schema.String>;
341
+ regions: Schema.optional<Schema.Array$<Schema.Literal<["fsn1", "nbg1", "hel1", "ash1", "hil1"]>>>;
342
+ scale_to_zero: Schema.optional<typeof Schema.Boolean>;
343
+ idle_timeout_seconds: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
344
+ min_replicas: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
345
+ env: Schema.optional<Schema.Array$<typeof Schema.String>>;
346
+ resources: Schema.optional<Schema.Array$<Schema.filter<Schema.filter<Schema.filter<typeof Schema.String>>>>>;
347
+ }>>>;
348
+ /** Per-env region override. */
349
+ region: Schema.optional<Schema.Literal<["fsn1", "nbg1", "hel1", "ash1", "hil1"]>>;
350
+ /** Domain overrides; typically for preview-only hostnames. */
351
+ domains: Schema.optional<Schema.Array$<Schema.Struct<{
352
+ hostname: Schema.filter<typeof Schema.String>;
353
+ /** Which service in [[services]] handles requests for this hostname. */
354
+ service: Schema.filter<Schema.filter<Schema.filter<typeof Schema.String>>>;
355
+ /** Force HTTPS redirect at the Gateway API listener. */
356
+ redirect_https: Schema.optional<typeof Schema.Boolean>;
357
+ /** WWW-apex redirect policy. */
358
+ www_redirect: Schema.optional<Schema.Literal<["apex", "www", "none"]>>;
359
+ /** Alternate names (e.g. marketing domains pointing here). */
360
+ aliases: Schema.optional<Schema.Array$<typeof Schema.String>>;
361
+ }>>>;
362
+ }>;
363
+ export type ManifestEnvironmentOverride = typeof ManifestEnvironmentOverride.Type;
364
+ /**
365
+ * Map of environment overrides — keys must be in `ManifestEnvName`
366
+ * (production | staging | preview | development) and are all optional.
367
+ * `partialWith` on a fixed-key `Struct` enforces "only these keys, each
368
+ * optional" — stricter than `Record(EnvName, …)` (which Effect treats
369
+ * as an exhaustive record demanding every key) yet still flexible.
370
+ */
371
+ export declare const ManifestEnvironmentsMap: Schema.SchemaClass<{
372
+ readonly development?: {
373
+ readonly domains?: readonly {
374
+ readonly service: string;
375
+ readonly hostname: string;
376
+ readonly redirect_https?: boolean | undefined;
377
+ readonly www_redirect?: "none" | "apex" | "www" | undefined;
378
+ readonly aliases?: readonly string[] | undefined;
379
+ }[] | undefined;
380
+ readonly services?: readonly {
381
+ readonly name: string;
382
+ readonly type?: "function" | "web" | "cron" | "worker" | undefined;
383
+ readonly port?: number | undefined;
384
+ readonly env?: readonly string[] | undefined;
385
+ readonly replicas?: number | undefined;
386
+ readonly command?: string | undefined;
387
+ readonly internal_port?: number | undefined;
388
+ readonly instance_type?: "standard" | "large" | "xlarge" | "nano" | "micro" | "small" | undefined;
389
+ readonly cron_schedule?: string | undefined;
390
+ readonly regions?: readonly ("fsn1" | "nbg1" | "hel1" | "ash1" | "hil1")[] | undefined;
391
+ readonly scale_to_zero?: boolean | undefined;
392
+ readonly idle_timeout_seconds?: number | undefined;
393
+ readonly min_replicas?: number | undefined;
394
+ readonly resources?: readonly string[] | undefined;
395
+ }[] | undefined;
396
+ readonly region?: "fsn1" | "nbg1" | "hel1" | "ash1" | "hil1" | undefined;
397
+ readonly env?: {
398
+ readonly [x: string]: {
399
+ readonly value: string;
400
+ } | {
401
+ readonly from_secret: string;
402
+ } | {
403
+ readonly from_resource: string;
404
+ readonly attr: string;
405
+ };
406
+ } | undefined;
407
+ readonly build?: {
408
+ readonly dockerfile?: string | undefined;
409
+ readonly buildpack?: "auto" | "ruby" | "node" | "python" | "static" | "dockerfile" | undefined;
410
+ readonly docker_context?: string | undefined;
411
+ readonly build_command?: string | undefined;
412
+ readonly ignore?: readonly string[] | undefined;
413
+ readonly machine_type?: "standard" | "large" | "xlarge" | undefined;
414
+ readonly reproducible?: boolean | undefined;
415
+ } | undefined;
416
+ readonly deploy?: {
417
+ readonly strategy?: "immediate" | "rolling" | "blue-green" | undefined;
418
+ readonly release_command?: string | undefined;
419
+ readonly health_check_path?: string | undefined;
420
+ readonly health_check_timeout?: number | undefined;
421
+ readonly graceful_shutdown?: number | undefined;
422
+ } | undefined;
423
+ };
424
+ readonly staging?: {
425
+ readonly domains?: readonly {
426
+ readonly service: string;
427
+ readonly hostname: string;
428
+ readonly redirect_https?: boolean | undefined;
429
+ readonly www_redirect?: "none" | "apex" | "www" | undefined;
430
+ readonly aliases?: readonly string[] | undefined;
431
+ }[] | undefined;
432
+ readonly services?: readonly {
433
+ readonly name: string;
434
+ readonly type?: "function" | "web" | "cron" | "worker" | undefined;
435
+ readonly port?: number | undefined;
436
+ readonly env?: readonly string[] | undefined;
437
+ readonly replicas?: number | undefined;
438
+ readonly command?: string | undefined;
439
+ readonly internal_port?: number | undefined;
440
+ readonly instance_type?: "standard" | "large" | "xlarge" | "nano" | "micro" | "small" | undefined;
441
+ readonly cron_schedule?: string | undefined;
442
+ readonly regions?: readonly ("fsn1" | "nbg1" | "hel1" | "ash1" | "hil1")[] | undefined;
443
+ readonly scale_to_zero?: boolean | undefined;
444
+ readonly idle_timeout_seconds?: number | undefined;
445
+ readonly min_replicas?: number | undefined;
446
+ readonly resources?: readonly string[] | undefined;
447
+ }[] | undefined;
448
+ readonly region?: "fsn1" | "nbg1" | "hel1" | "ash1" | "hil1" | undefined;
449
+ readonly env?: {
450
+ readonly [x: string]: {
451
+ readonly value: string;
452
+ } | {
453
+ readonly from_secret: string;
454
+ } | {
455
+ readonly from_resource: string;
456
+ readonly attr: string;
457
+ };
458
+ } | undefined;
459
+ readonly build?: {
460
+ readonly dockerfile?: string | undefined;
461
+ readonly buildpack?: "auto" | "ruby" | "node" | "python" | "static" | "dockerfile" | undefined;
462
+ readonly docker_context?: string | undefined;
463
+ readonly build_command?: string | undefined;
464
+ readonly ignore?: readonly string[] | undefined;
465
+ readonly machine_type?: "standard" | "large" | "xlarge" | undefined;
466
+ readonly reproducible?: boolean | undefined;
467
+ } | undefined;
468
+ readonly deploy?: {
469
+ readonly strategy?: "immediate" | "rolling" | "blue-green" | undefined;
470
+ readonly release_command?: string | undefined;
471
+ readonly health_check_path?: string | undefined;
472
+ readonly health_check_timeout?: number | undefined;
473
+ readonly graceful_shutdown?: number | undefined;
474
+ } | undefined;
475
+ };
476
+ readonly production?: {
477
+ readonly domains?: readonly {
478
+ readonly service: string;
479
+ readonly hostname: string;
480
+ readonly redirect_https?: boolean | undefined;
481
+ readonly www_redirect?: "none" | "apex" | "www" | undefined;
482
+ readonly aliases?: readonly string[] | undefined;
483
+ }[] | undefined;
484
+ readonly services?: readonly {
485
+ readonly name: string;
486
+ readonly type?: "function" | "web" | "cron" | "worker" | undefined;
487
+ readonly port?: number | undefined;
488
+ readonly env?: readonly string[] | undefined;
489
+ readonly replicas?: number | undefined;
490
+ readonly command?: string | undefined;
491
+ readonly internal_port?: number | undefined;
492
+ readonly instance_type?: "standard" | "large" | "xlarge" | "nano" | "micro" | "small" | undefined;
493
+ readonly cron_schedule?: string | undefined;
494
+ readonly regions?: readonly ("fsn1" | "nbg1" | "hel1" | "ash1" | "hil1")[] | undefined;
495
+ readonly scale_to_zero?: boolean | undefined;
496
+ readonly idle_timeout_seconds?: number | undefined;
497
+ readonly min_replicas?: number | undefined;
498
+ readonly resources?: readonly string[] | undefined;
499
+ }[] | undefined;
500
+ readonly region?: "fsn1" | "nbg1" | "hel1" | "ash1" | "hil1" | undefined;
501
+ readonly env?: {
502
+ readonly [x: string]: {
503
+ readonly value: string;
504
+ } | {
505
+ readonly from_secret: string;
506
+ } | {
507
+ readonly from_resource: string;
508
+ readonly attr: string;
509
+ };
510
+ } | undefined;
511
+ readonly build?: {
512
+ readonly dockerfile?: string | undefined;
513
+ readonly buildpack?: "auto" | "ruby" | "node" | "python" | "static" | "dockerfile" | undefined;
514
+ readonly docker_context?: string | undefined;
515
+ readonly build_command?: string | undefined;
516
+ readonly ignore?: readonly string[] | undefined;
517
+ readonly machine_type?: "standard" | "large" | "xlarge" | undefined;
518
+ readonly reproducible?: boolean | undefined;
519
+ } | undefined;
520
+ readonly deploy?: {
521
+ readonly strategy?: "immediate" | "rolling" | "blue-green" | undefined;
522
+ readonly release_command?: string | undefined;
523
+ readonly health_check_path?: string | undefined;
524
+ readonly health_check_timeout?: number | undefined;
525
+ readonly graceful_shutdown?: number | undefined;
526
+ } | undefined;
527
+ };
528
+ readonly preview?: {
529
+ readonly domains?: readonly {
530
+ readonly service: string;
531
+ readonly hostname: string;
532
+ readonly redirect_https?: boolean | undefined;
533
+ readonly www_redirect?: "none" | "apex" | "www" | undefined;
534
+ readonly aliases?: readonly string[] | undefined;
535
+ }[] | undefined;
536
+ readonly services?: readonly {
537
+ readonly name: string;
538
+ readonly type?: "function" | "web" | "cron" | "worker" | undefined;
539
+ readonly port?: number | undefined;
540
+ readonly env?: readonly string[] | undefined;
541
+ readonly replicas?: number | undefined;
542
+ readonly command?: string | undefined;
543
+ readonly internal_port?: number | undefined;
544
+ readonly instance_type?: "standard" | "large" | "xlarge" | "nano" | "micro" | "small" | undefined;
545
+ readonly cron_schedule?: string | undefined;
546
+ readonly regions?: readonly ("fsn1" | "nbg1" | "hel1" | "ash1" | "hil1")[] | undefined;
547
+ readonly scale_to_zero?: boolean | undefined;
548
+ readonly idle_timeout_seconds?: number | undefined;
549
+ readonly min_replicas?: number | undefined;
550
+ readonly resources?: readonly string[] | undefined;
551
+ }[] | undefined;
552
+ readonly region?: "fsn1" | "nbg1" | "hel1" | "ash1" | "hil1" | undefined;
553
+ readonly env?: {
554
+ readonly [x: string]: {
555
+ readonly value: string;
556
+ } | {
557
+ readonly from_secret: string;
558
+ } | {
559
+ readonly from_resource: string;
560
+ readonly attr: string;
561
+ };
562
+ } | undefined;
563
+ readonly build?: {
564
+ readonly dockerfile?: string | undefined;
565
+ readonly buildpack?: "auto" | "ruby" | "node" | "python" | "static" | "dockerfile" | undefined;
566
+ readonly docker_context?: string | undefined;
567
+ readonly build_command?: string | undefined;
568
+ readonly ignore?: readonly string[] | undefined;
569
+ readonly machine_type?: "standard" | "large" | "xlarge" | undefined;
570
+ readonly reproducible?: boolean | undefined;
571
+ } | undefined;
572
+ readonly deploy?: {
573
+ readonly strategy?: "immediate" | "rolling" | "blue-green" | undefined;
574
+ readonly release_command?: string | undefined;
575
+ readonly health_check_path?: string | undefined;
576
+ readonly health_check_timeout?: number | undefined;
577
+ readonly graceful_shutdown?: number | undefined;
578
+ } | undefined;
579
+ };
580
+ }, {
581
+ readonly development?: {
582
+ readonly domains?: readonly {
583
+ readonly service: string;
584
+ readonly hostname: string;
585
+ readonly redirect_https?: boolean | undefined;
586
+ readonly www_redirect?: "none" | "apex" | "www" | undefined;
587
+ readonly aliases?: readonly string[] | undefined;
588
+ }[] | undefined;
589
+ readonly services?: readonly {
590
+ readonly name: string;
591
+ readonly type?: "function" | "web" | "cron" | "worker" | undefined;
592
+ readonly port?: number | undefined;
593
+ readonly env?: readonly string[] | undefined;
594
+ readonly replicas?: number | undefined;
595
+ readonly command?: string | undefined;
596
+ readonly internal_port?: number | undefined;
597
+ readonly instance_type?: "standard" | "large" | "xlarge" | "nano" | "micro" | "small" | undefined;
598
+ readonly cron_schedule?: string | undefined;
599
+ readonly regions?: readonly ("fsn1" | "nbg1" | "hel1" | "ash1" | "hil1")[] | undefined;
600
+ readonly scale_to_zero?: boolean | undefined;
601
+ readonly idle_timeout_seconds?: number | undefined;
602
+ readonly min_replicas?: number | undefined;
603
+ readonly resources?: readonly string[] | undefined;
604
+ }[] | undefined;
605
+ readonly region?: "fsn1" | "nbg1" | "hel1" | "ash1" | "hil1" | undefined;
606
+ readonly env?: {
607
+ readonly [x: string]: {
608
+ readonly value: string;
609
+ } | {
610
+ readonly from_secret: string;
611
+ } | {
612
+ readonly from_resource: string;
613
+ readonly attr: string;
614
+ };
615
+ } | undefined;
616
+ readonly build?: {
617
+ readonly dockerfile?: string | undefined;
618
+ readonly buildpack?: "auto" | "ruby" | "node" | "python" | "static" | "dockerfile" | undefined;
619
+ readonly docker_context?: string | undefined;
620
+ readonly build_command?: string | undefined;
621
+ readonly ignore?: readonly string[] | undefined;
622
+ readonly machine_type?: "standard" | "large" | "xlarge" | undefined;
623
+ readonly reproducible?: boolean | undefined;
624
+ } | undefined;
625
+ readonly deploy?: {
626
+ readonly strategy?: "immediate" | "rolling" | "blue-green" | undefined;
627
+ readonly release_command?: string | undefined;
628
+ readonly health_check_path?: string | undefined;
629
+ readonly health_check_timeout?: number | undefined;
630
+ readonly graceful_shutdown?: number | undefined;
631
+ } | undefined;
632
+ };
633
+ readonly staging?: {
634
+ readonly domains?: readonly {
635
+ readonly service: string;
636
+ readonly hostname: string;
637
+ readonly redirect_https?: boolean | undefined;
638
+ readonly www_redirect?: "none" | "apex" | "www" | undefined;
639
+ readonly aliases?: readonly string[] | undefined;
640
+ }[] | undefined;
641
+ readonly services?: readonly {
642
+ readonly name: string;
643
+ readonly type?: "function" | "web" | "cron" | "worker" | undefined;
644
+ readonly port?: number | undefined;
645
+ readonly env?: readonly string[] | undefined;
646
+ readonly replicas?: number | undefined;
647
+ readonly command?: string | undefined;
648
+ readonly internal_port?: number | undefined;
649
+ readonly instance_type?: "standard" | "large" | "xlarge" | "nano" | "micro" | "small" | undefined;
650
+ readonly cron_schedule?: string | undefined;
651
+ readonly regions?: readonly ("fsn1" | "nbg1" | "hel1" | "ash1" | "hil1")[] | undefined;
652
+ readonly scale_to_zero?: boolean | undefined;
653
+ readonly idle_timeout_seconds?: number | undefined;
654
+ readonly min_replicas?: number | undefined;
655
+ readonly resources?: readonly string[] | undefined;
656
+ }[] | undefined;
657
+ readonly region?: "fsn1" | "nbg1" | "hel1" | "ash1" | "hil1" | undefined;
658
+ readonly env?: {
659
+ readonly [x: string]: {
660
+ readonly value: string;
661
+ } | {
662
+ readonly from_secret: string;
663
+ } | {
664
+ readonly from_resource: string;
665
+ readonly attr: string;
666
+ };
667
+ } | undefined;
668
+ readonly build?: {
669
+ readonly dockerfile?: string | undefined;
670
+ readonly buildpack?: "auto" | "ruby" | "node" | "python" | "static" | "dockerfile" | undefined;
671
+ readonly docker_context?: string | undefined;
672
+ readonly build_command?: string | undefined;
673
+ readonly ignore?: readonly string[] | undefined;
674
+ readonly machine_type?: "standard" | "large" | "xlarge" | undefined;
675
+ readonly reproducible?: boolean | undefined;
676
+ } | undefined;
677
+ readonly deploy?: {
678
+ readonly strategy?: "immediate" | "rolling" | "blue-green" | undefined;
679
+ readonly release_command?: string | undefined;
680
+ readonly health_check_path?: string | undefined;
681
+ readonly health_check_timeout?: number | undefined;
682
+ readonly graceful_shutdown?: number | undefined;
683
+ } | undefined;
684
+ };
685
+ readonly production?: {
686
+ readonly domains?: readonly {
687
+ readonly service: string;
688
+ readonly hostname: string;
689
+ readonly redirect_https?: boolean | undefined;
690
+ readonly www_redirect?: "none" | "apex" | "www" | undefined;
691
+ readonly aliases?: readonly string[] | undefined;
692
+ }[] | undefined;
693
+ readonly services?: readonly {
694
+ readonly name: string;
695
+ readonly type?: "function" | "web" | "cron" | "worker" | undefined;
696
+ readonly port?: number | undefined;
697
+ readonly env?: readonly string[] | undefined;
698
+ readonly replicas?: number | undefined;
699
+ readonly command?: string | undefined;
700
+ readonly internal_port?: number | undefined;
701
+ readonly instance_type?: "standard" | "large" | "xlarge" | "nano" | "micro" | "small" | undefined;
702
+ readonly cron_schedule?: string | undefined;
703
+ readonly regions?: readonly ("fsn1" | "nbg1" | "hel1" | "ash1" | "hil1")[] | undefined;
704
+ readonly scale_to_zero?: boolean | undefined;
705
+ readonly idle_timeout_seconds?: number | undefined;
706
+ readonly min_replicas?: number | undefined;
707
+ readonly resources?: readonly string[] | undefined;
708
+ }[] | undefined;
709
+ readonly region?: "fsn1" | "nbg1" | "hel1" | "ash1" | "hil1" | undefined;
710
+ readonly env?: {
711
+ readonly [x: string]: {
712
+ readonly value: string;
713
+ } | {
714
+ readonly from_secret: string;
715
+ } | {
716
+ readonly from_resource: string;
717
+ readonly attr: string;
718
+ };
719
+ } | undefined;
720
+ readonly build?: {
721
+ readonly dockerfile?: string | undefined;
722
+ readonly buildpack?: "auto" | "ruby" | "node" | "python" | "static" | "dockerfile" | undefined;
723
+ readonly docker_context?: string | undefined;
724
+ readonly build_command?: string | undefined;
725
+ readonly ignore?: readonly string[] | undefined;
726
+ readonly machine_type?: "standard" | "large" | "xlarge" | undefined;
727
+ readonly reproducible?: boolean | undefined;
728
+ } | undefined;
729
+ readonly deploy?: {
730
+ readonly strategy?: "immediate" | "rolling" | "blue-green" | undefined;
731
+ readonly release_command?: string | undefined;
732
+ readonly health_check_path?: string | undefined;
733
+ readonly health_check_timeout?: number | undefined;
734
+ readonly graceful_shutdown?: number | undefined;
735
+ } | undefined;
736
+ };
737
+ readonly preview?: {
738
+ readonly domains?: readonly {
739
+ readonly service: string;
740
+ readonly hostname: string;
741
+ readonly redirect_https?: boolean | undefined;
742
+ readonly www_redirect?: "none" | "apex" | "www" | undefined;
743
+ readonly aliases?: readonly string[] | undefined;
744
+ }[] | undefined;
745
+ readonly services?: readonly {
746
+ readonly name: string;
747
+ readonly type?: "function" | "web" | "cron" | "worker" | undefined;
748
+ readonly port?: number | undefined;
749
+ readonly env?: readonly string[] | undefined;
750
+ readonly replicas?: number | undefined;
751
+ readonly command?: string | undefined;
752
+ readonly internal_port?: number | undefined;
753
+ readonly instance_type?: "standard" | "large" | "xlarge" | "nano" | "micro" | "small" | undefined;
754
+ readonly cron_schedule?: string | undefined;
755
+ readonly regions?: readonly ("fsn1" | "nbg1" | "hel1" | "ash1" | "hil1")[] | undefined;
756
+ readonly scale_to_zero?: boolean | undefined;
757
+ readonly idle_timeout_seconds?: number | undefined;
758
+ readonly min_replicas?: number | undefined;
759
+ readonly resources?: readonly string[] | undefined;
760
+ }[] | undefined;
761
+ readonly region?: "fsn1" | "nbg1" | "hel1" | "ash1" | "hil1" | undefined;
762
+ readonly env?: {
763
+ readonly [x: string]: {
764
+ readonly value: string;
765
+ } | {
766
+ readonly from_secret: string;
767
+ } | {
768
+ readonly from_resource: string;
769
+ readonly attr: string;
770
+ };
771
+ } | undefined;
772
+ readonly build?: {
773
+ readonly dockerfile?: string | undefined;
774
+ readonly buildpack?: "auto" | "ruby" | "node" | "python" | "static" | "dockerfile" | undefined;
775
+ readonly docker_context?: string | undefined;
776
+ readonly build_command?: string | undefined;
777
+ readonly ignore?: readonly string[] | undefined;
778
+ readonly machine_type?: "standard" | "large" | "xlarge" | undefined;
779
+ readonly reproducible?: boolean | undefined;
780
+ } | undefined;
781
+ readonly deploy?: {
782
+ readonly strategy?: "immediate" | "rolling" | "blue-green" | undefined;
783
+ readonly release_command?: string | undefined;
784
+ readonly health_check_path?: string | undefined;
785
+ readonly health_check_timeout?: number | undefined;
786
+ readonly graceful_shutdown?: number | undefined;
787
+ } | undefined;
788
+ };
789
+ }, never>;
790
+ export type ManifestEnvironmentsMap = typeof ManifestEnvironmentsMap.Type;
791
+ /**
792
+ * Complete `sylphx.toml` manifest. Version starts at `"1"`; future
793
+ * breaking changes bump the major. Additive minor changes leave `"1"`
794
+ * alone and feature-detect.
795
+ */
796
+ export declare const SylphxManifest: Schema.Struct<{
797
+ version: Schema.Literal<["1"]>;
798
+ project: Schema.Struct<{
799
+ /** Human-readable name; mutable, displayed in Console. */
800
+ name: Schema.filter<Schema.filter<typeof Schema.String>>;
801
+ /**
802
+ * DNS-safe slug; **immutable** per ADR-055. Drives `{slug}.sylphx.app`,
803
+ * `{slug}.sylphx.net`. Server rejects slug change with `409 immutable_slug`.
804
+ */
805
+ slug: Schema.filter<Schema.filter<Schema.filter<typeof Schema.String>>>;
806
+ /** Owner org slug (ADR-055). Resolved to OrgId server-side. */
807
+ org: Schema.filter<Schema.filter<Schema.filter<typeof Schema.String>>>;
808
+ /** Default deployment region. Multi-region is services-level. */
809
+ region: Schema.optional<Schema.Literal<["fsn1", "nbg1", "hel1", "ash1", "hil1"]>>;
810
+ /** Optional description surfaced in Console header. */
811
+ description: Schema.optional<Schema.filter<typeof Schema.String>>;
812
+ }>;
813
+ build: Schema.optional<Schema.Struct<{
814
+ /**
815
+ * Override buildpack auto-detection. Unset → auto-detect from
816
+ * package.json / Gemfile / requirements.txt / Dockerfile.
817
+ */
818
+ buildpack: Schema.optional<Schema.Literal<["auto", "ruby", "node", "python", "static", "dockerfile"]>>;
819
+ /** Override path to Dockerfile (implies buildpack=dockerfile). */
820
+ dockerfile: Schema.optional<typeof Schema.String>;
821
+ /** Docker build context path (default: repo root). */
822
+ docker_context: Schema.optional<typeof Schema.String>;
823
+ /** Custom build command; overrides buildpack default. */
824
+ build_command: Schema.optional<typeof Schema.String>;
825
+ /** Glob patterns to exclude from build context (.dockerignore-style). */
826
+ ignore: Schema.optional<Schema.Array$<typeof Schema.String>>;
827
+ /** CI build machine tier per `buildMachineType` field on Project. */
828
+ machine_type: Schema.optional<Schema.Literal<["standard", "large", "xlarge"]>>;
829
+ /** Reserved for reproducible-builds (ADR-069) metadata. */
830
+ reproducible: Schema.optional<typeof Schema.Boolean>;
831
+ }>>;
832
+ deploy: Schema.optional<Schema.Struct<{
833
+ /**
834
+ * Command run before traffic cutover (DB migrations via expand-and-
835
+ * contract). Runs as an ArgoCD PreSync Job (sync-wave "-1"). ADR-066.2.
836
+ */
837
+ release_command: Schema.optional<typeof Schema.String>;
838
+ /** HTTP path for K8s readinessProbe. */
839
+ health_check_path: Schema.optional<typeof Schema.String>;
840
+ /** Timeout in seconds. */
841
+ health_check_timeout: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
842
+ /** Deploy strategy; Sylphx default is rolling. */
843
+ strategy: Schema.optional<Schema.Literal<["rolling", "blue-green", "immediate"]>>;
844
+ /** Grace period before SIGKILL (seconds). */
845
+ graceful_shutdown: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
846
+ }>>;
847
+ services: Schema.optional<Schema.Array$<Schema.Struct<{
848
+ /** Service name — unique within project. Used as K8s Deployment name. */
849
+ name: Schema.filter<Schema.filter<Schema.filter<typeof Schema.String>>>;
850
+ type: Schema.Literal<["web", "worker", "cron", "function"]>;
851
+ /** Container start command. */
852
+ command: Schema.optional<typeof Schema.String>;
853
+ /** Internal container port; required for `web`. */
854
+ port: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
855
+ /**
856
+ * Public HTTP port (Gateway API listener). Defaults to 443 for web.
857
+ * Most users leave unset.
858
+ */
859
+ internal_port: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
860
+ /** Replica count. Ignored for `cron`. */
861
+ replicas: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
862
+ /** Compute size; maps to per-service K8s resources.requests/limits. */
863
+ instance_type: Schema.optional<Schema.Literal<["nano", "micro", "small", "standard", "large", "xlarge"]>>;
864
+ /** Required when type=cron. Standard 5-field cron expression. */
865
+ cron_schedule: Schema.optional<typeof Schema.String>;
866
+ /** Optional per-service region override. */
867
+ regions: Schema.optional<Schema.Array$<Schema.Literal<["fsn1", "nbg1", "hel1", "ash1", "hil1"]>>>;
868
+ /**
869
+ * Scale-to-zero (KEDA). `false` (default) = pinned at `min_replicas >= 1`;
870
+ * `true` = the reconciler emits a KEDA ScaledObject and lets KEDA drive
871
+ * the replica count from 0 → N on incoming traffic (docs/design/scale-to-zero.md).
872
+ */
873
+ scale_to_zero: Schema.optional<typeof Schema.Boolean>;
874
+ /**
875
+ * Seconds of no traffic before KEDA scales the Deployment down to 0.
876
+ * Maps to KEDA `cooldownPeriod`. Only meaningful when `scale_to_zero=true`.
877
+ * Range: 60s–3600s. Default: 300 (5 min).
878
+ */
879
+ idle_timeout_seconds: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
880
+ /**
881
+ * Minimum replica count. Default: `0` when `scale_to_zero=true`, else `1`.
882
+ * Setting `min_replicas=1` alongside `scale_to_zero=true` keeps a warm
883
+ * floor while still letting KEDA scale horizontally beyond 1.
884
+ */
885
+ min_replicas: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
886
+ /** Per-service env var merge — refs entries from top-level [env]. */
887
+ env: Schema.optional<Schema.Array$<typeof Schema.String>>;
888
+ /** Per-service resource bindings (by resource name). */
889
+ resources: Schema.optional<Schema.Array$<Schema.filter<Schema.filter<Schema.filter<typeof Schema.String>>>>>;
890
+ }>>>;
891
+ env: Schema.optional<Schema.Record$<typeof Schema.String, Schema.Union<[Schema.Struct<{
892
+ value: typeof Schema.String;
893
+ }>, Schema.Struct<{
894
+ from_secret: typeof Schema.String;
895
+ }>, Schema.Struct<{
896
+ from_resource: typeof Schema.String;
897
+ attr: typeof Schema.String;
898
+ }>]>>>;
899
+ domains: Schema.optional<Schema.Array$<Schema.Struct<{
900
+ hostname: Schema.filter<typeof Schema.String>;
901
+ /** Which service in [[services]] handles requests for this hostname. */
902
+ service: Schema.filter<Schema.filter<Schema.filter<typeof Schema.String>>>;
903
+ /** Force HTTPS redirect at the Gateway API listener. */
904
+ redirect_https: Schema.optional<typeof Schema.Boolean>;
905
+ /** WWW-apex redirect policy. */
906
+ www_redirect: Schema.optional<Schema.Literal<["apex", "www", "none"]>>;
907
+ /** Alternate names (e.g. marketing domains pointing here). */
908
+ aliases: Schema.optional<Schema.Array$<typeof Schema.String>>;
909
+ }>>>;
910
+ environments: Schema.optional<Schema.SchemaClass<{
911
+ readonly development?: {
912
+ readonly domains?: readonly {
913
+ readonly service: string;
914
+ readonly hostname: string;
915
+ readonly redirect_https?: boolean | undefined;
916
+ readonly www_redirect?: "none" | "apex" | "www" | undefined;
917
+ readonly aliases?: readonly string[] | undefined;
918
+ }[] | undefined;
919
+ readonly services?: readonly {
920
+ readonly name: string;
921
+ readonly type?: "function" | "web" | "cron" | "worker" | undefined;
922
+ readonly port?: number | undefined;
923
+ readonly env?: readonly string[] | undefined;
924
+ readonly replicas?: number | undefined;
925
+ readonly command?: string | undefined;
926
+ readonly internal_port?: number | undefined;
927
+ readonly instance_type?: "standard" | "large" | "xlarge" | "nano" | "micro" | "small" | undefined;
928
+ readonly cron_schedule?: string | undefined;
929
+ readonly regions?: readonly ("fsn1" | "nbg1" | "hel1" | "ash1" | "hil1")[] | undefined;
930
+ readonly scale_to_zero?: boolean | undefined;
931
+ readonly idle_timeout_seconds?: number | undefined;
932
+ readonly min_replicas?: number | undefined;
933
+ readonly resources?: readonly string[] | undefined;
934
+ }[] | undefined;
935
+ readonly region?: "fsn1" | "nbg1" | "hel1" | "ash1" | "hil1" | undefined;
936
+ readonly env?: {
937
+ readonly [x: string]: {
938
+ readonly value: string;
939
+ } | {
940
+ readonly from_secret: string;
941
+ } | {
942
+ readonly from_resource: string;
943
+ readonly attr: string;
944
+ };
945
+ } | undefined;
946
+ readonly build?: {
947
+ readonly dockerfile?: string | undefined;
948
+ readonly buildpack?: "auto" | "ruby" | "node" | "python" | "static" | "dockerfile" | undefined;
949
+ readonly docker_context?: string | undefined;
950
+ readonly build_command?: string | undefined;
951
+ readonly ignore?: readonly string[] | undefined;
952
+ readonly machine_type?: "standard" | "large" | "xlarge" | undefined;
953
+ readonly reproducible?: boolean | undefined;
954
+ } | undefined;
955
+ readonly deploy?: {
956
+ readonly strategy?: "immediate" | "rolling" | "blue-green" | undefined;
957
+ readonly release_command?: string | undefined;
958
+ readonly health_check_path?: string | undefined;
959
+ readonly health_check_timeout?: number | undefined;
960
+ readonly graceful_shutdown?: number | undefined;
961
+ } | undefined;
962
+ };
963
+ readonly staging?: {
964
+ readonly domains?: readonly {
965
+ readonly service: string;
966
+ readonly hostname: string;
967
+ readonly redirect_https?: boolean | undefined;
968
+ readonly www_redirect?: "none" | "apex" | "www" | undefined;
969
+ readonly aliases?: readonly string[] | undefined;
970
+ }[] | undefined;
971
+ readonly services?: readonly {
972
+ readonly name: string;
973
+ readonly type?: "function" | "web" | "cron" | "worker" | undefined;
974
+ readonly port?: number | undefined;
975
+ readonly env?: readonly string[] | undefined;
976
+ readonly replicas?: number | undefined;
977
+ readonly command?: string | undefined;
978
+ readonly internal_port?: number | undefined;
979
+ readonly instance_type?: "standard" | "large" | "xlarge" | "nano" | "micro" | "small" | undefined;
980
+ readonly cron_schedule?: string | undefined;
981
+ readonly regions?: readonly ("fsn1" | "nbg1" | "hel1" | "ash1" | "hil1")[] | undefined;
982
+ readonly scale_to_zero?: boolean | undefined;
983
+ readonly idle_timeout_seconds?: number | undefined;
984
+ readonly min_replicas?: number | undefined;
985
+ readonly resources?: readonly string[] | undefined;
986
+ }[] | undefined;
987
+ readonly region?: "fsn1" | "nbg1" | "hel1" | "ash1" | "hil1" | undefined;
988
+ readonly env?: {
989
+ readonly [x: string]: {
990
+ readonly value: string;
991
+ } | {
992
+ readonly from_secret: string;
993
+ } | {
994
+ readonly from_resource: string;
995
+ readonly attr: string;
996
+ };
997
+ } | undefined;
998
+ readonly build?: {
999
+ readonly dockerfile?: string | undefined;
1000
+ readonly buildpack?: "auto" | "ruby" | "node" | "python" | "static" | "dockerfile" | undefined;
1001
+ readonly docker_context?: string | undefined;
1002
+ readonly build_command?: string | undefined;
1003
+ readonly ignore?: readonly string[] | undefined;
1004
+ readonly machine_type?: "standard" | "large" | "xlarge" | undefined;
1005
+ readonly reproducible?: boolean | undefined;
1006
+ } | undefined;
1007
+ readonly deploy?: {
1008
+ readonly strategy?: "immediate" | "rolling" | "blue-green" | undefined;
1009
+ readonly release_command?: string | undefined;
1010
+ readonly health_check_path?: string | undefined;
1011
+ readonly health_check_timeout?: number | undefined;
1012
+ readonly graceful_shutdown?: number | undefined;
1013
+ } | undefined;
1014
+ };
1015
+ readonly production?: {
1016
+ readonly domains?: readonly {
1017
+ readonly service: string;
1018
+ readonly hostname: string;
1019
+ readonly redirect_https?: boolean | undefined;
1020
+ readonly www_redirect?: "none" | "apex" | "www" | undefined;
1021
+ readonly aliases?: readonly string[] | undefined;
1022
+ }[] | undefined;
1023
+ readonly services?: readonly {
1024
+ readonly name: string;
1025
+ readonly type?: "function" | "web" | "cron" | "worker" | undefined;
1026
+ readonly port?: number | undefined;
1027
+ readonly env?: readonly string[] | undefined;
1028
+ readonly replicas?: number | undefined;
1029
+ readonly command?: string | undefined;
1030
+ readonly internal_port?: number | undefined;
1031
+ readonly instance_type?: "standard" | "large" | "xlarge" | "nano" | "micro" | "small" | undefined;
1032
+ readonly cron_schedule?: string | undefined;
1033
+ readonly regions?: readonly ("fsn1" | "nbg1" | "hel1" | "ash1" | "hil1")[] | undefined;
1034
+ readonly scale_to_zero?: boolean | undefined;
1035
+ readonly idle_timeout_seconds?: number | undefined;
1036
+ readonly min_replicas?: number | undefined;
1037
+ readonly resources?: readonly string[] | undefined;
1038
+ }[] | undefined;
1039
+ readonly region?: "fsn1" | "nbg1" | "hel1" | "ash1" | "hil1" | undefined;
1040
+ readonly env?: {
1041
+ readonly [x: string]: {
1042
+ readonly value: string;
1043
+ } | {
1044
+ readonly from_secret: string;
1045
+ } | {
1046
+ readonly from_resource: string;
1047
+ readonly attr: string;
1048
+ };
1049
+ } | undefined;
1050
+ readonly build?: {
1051
+ readonly dockerfile?: string | undefined;
1052
+ readonly buildpack?: "auto" | "ruby" | "node" | "python" | "static" | "dockerfile" | undefined;
1053
+ readonly docker_context?: string | undefined;
1054
+ readonly build_command?: string | undefined;
1055
+ readonly ignore?: readonly string[] | undefined;
1056
+ readonly machine_type?: "standard" | "large" | "xlarge" | undefined;
1057
+ readonly reproducible?: boolean | undefined;
1058
+ } | undefined;
1059
+ readonly deploy?: {
1060
+ readonly strategy?: "immediate" | "rolling" | "blue-green" | undefined;
1061
+ readonly release_command?: string | undefined;
1062
+ readonly health_check_path?: string | undefined;
1063
+ readonly health_check_timeout?: number | undefined;
1064
+ readonly graceful_shutdown?: number | undefined;
1065
+ } | undefined;
1066
+ };
1067
+ readonly preview?: {
1068
+ readonly domains?: readonly {
1069
+ readonly service: string;
1070
+ readonly hostname: string;
1071
+ readonly redirect_https?: boolean | undefined;
1072
+ readonly www_redirect?: "none" | "apex" | "www" | undefined;
1073
+ readonly aliases?: readonly string[] | undefined;
1074
+ }[] | undefined;
1075
+ readonly services?: readonly {
1076
+ readonly name: string;
1077
+ readonly type?: "function" | "web" | "cron" | "worker" | undefined;
1078
+ readonly port?: number | undefined;
1079
+ readonly env?: readonly string[] | undefined;
1080
+ readonly replicas?: number | undefined;
1081
+ readonly command?: string | undefined;
1082
+ readonly internal_port?: number | undefined;
1083
+ readonly instance_type?: "standard" | "large" | "xlarge" | "nano" | "micro" | "small" | undefined;
1084
+ readonly cron_schedule?: string | undefined;
1085
+ readonly regions?: readonly ("fsn1" | "nbg1" | "hel1" | "ash1" | "hil1")[] | undefined;
1086
+ readonly scale_to_zero?: boolean | undefined;
1087
+ readonly idle_timeout_seconds?: number | undefined;
1088
+ readonly min_replicas?: number | undefined;
1089
+ readonly resources?: readonly string[] | undefined;
1090
+ }[] | undefined;
1091
+ readonly region?: "fsn1" | "nbg1" | "hel1" | "ash1" | "hil1" | undefined;
1092
+ readonly env?: {
1093
+ readonly [x: string]: {
1094
+ readonly value: string;
1095
+ } | {
1096
+ readonly from_secret: string;
1097
+ } | {
1098
+ readonly from_resource: string;
1099
+ readonly attr: string;
1100
+ };
1101
+ } | undefined;
1102
+ readonly build?: {
1103
+ readonly dockerfile?: string | undefined;
1104
+ readonly buildpack?: "auto" | "ruby" | "node" | "python" | "static" | "dockerfile" | undefined;
1105
+ readonly docker_context?: string | undefined;
1106
+ readonly build_command?: string | undefined;
1107
+ readonly ignore?: readonly string[] | undefined;
1108
+ readonly machine_type?: "standard" | "large" | "xlarge" | undefined;
1109
+ readonly reproducible?: boolean | undefined;
1110
+ } | undefined;
1111
+ readonly deploy?: {
1112
+ readonly strategy?: "immediate" | "rolling" | "blue-green" | undefined;
1113
+ readonly release_command?: string | undefined;
1114
+ readonly health_check_path?: string | undefined;
1115
+ readonly health_check_timeout?: number | undefined;
1116
+ readonly graceful_shutdown?: number | undefined;
1117
+ } | undefined;
1118
+ };
1119
+ }, {
1120
+ readonly development?: {
1121
+ readonly domains?: readonly {
1122
+ readonly service: string;
1123
+ readonly hostname: string;
1124
+ readonly redirect_https?: boolean | undefined;
1125
+ readonly www_redirect?: "none" | "apex" | "www" | undefined;
1126
+ readonly aliases?: readonly string[] | undefined;
1127
+ }[] | undefined;
1128
+ readonly services?: readonly {
1129
+ readonly name: string;
1130
+ readonly type?: "function" | "web" | "cron" | "worker" | undefined;
1131
+ readonly port?: number | undefined;
1132
+ readonly env?: readonly string[] | undefined;
1133
+ readonly replicas?: number | undefined;
1134
+ readonly command?: string | undefined;
1135
+ readonly internal_port?: number | undefined;
1136
+ readonly instance_type?: "standard" | "large" | "xlarge" | "nano" | "micro" | "small" | undefined;
1137
+ readonly cron_schedule?: string | undefined;
1138
+ readonly regions?: readonly ("fsn1" | "nbg1" | "hel1" | "ash1" | "hil1")[] | undefined;
1139
+ readonly scale_to_zero?: boolean | undefined;
1140
+ readonly idle_timeout_seconds?: number | undefined;
1141
+ readonly min_replicas?: number | undefined;
1142
+ readonly resources?: readonly string[] | undefined;
1143
+ }[] | undefined;
1144
+ readonly region?: "fsn1" | "nbg1" | "hel1" | "ash1" | "hil1" | undefined;
1145
+ readonly env?: {
1146
+ readonly [x: string]: {
1147
+ readonly value: string;
1148
+ } | {
1149
+ readonly from_secret: string;
1150
+ } | {
1151
+ readonly from_resource: string;
1152
+ readonly attr: string;
1153
+ };
1154
+ } | undefined;
1155
+ readonly build?: {
1156
+ readonly dockerfile?: string | undefined;
1157
+ readonly buildpack?: "auto" | "ruby" | "node" | "python" | "static" | "dockerfile" | undefined;
1158
+ readonly docker_context?: string | undefined;
1159
+ readonly build_command?: string | undefined;
1160
+ readonly ignore?: readonly string[] | undefined;
1161
+ readonly machine_type?: "standard" | "large" | "xlarge" | undefined;
1162
+ readonly reproducible?: boolean | undefined;
1163
+ } | undefined;
1164
+ readonly deploy?: {
1165
+ readonly strategy?: "immediate" | "rolling" | "blue-green" | undefined;
1166
+ readonly release_command?: string | undefined;
1167
+ readonly health_check_path?: string | undefined;
1168
+ readonly health_check_timeout?: number | undefined;
1169
+ readonly graceful_shutdown?: number | undefined;
1170
+ } | undefined;
1171
+ };
1172
+ readonly staging?: {
1173
+ readonly domains?: readonly {
1174
+ readonly service: string;
1175
+ readonly hostname: string;
1176
+ readonly redirect_https?: boolean | undefined;
1177
+ readonly www_redirect?: "none" | "apex" | "www" | undefined;
1178
+ readonly aliases?: readonly string[] | undefined;
1179
+ }[] | undefined;
1180
+ readonly services?: readonly {
1181
+ readonly name: string;
1182
+ readonly type?: "function" | "web" | "cron" | "worker" | undefined;
1183
+ readonly port?: number | undefined;
1184
+ readonly env?: readonly string[] | undefined;
1185
+ readonly replicas?: number | undefined;
1186
+ readonly command?: string | undefined;
1187
+ readonly internal_port?: number | undefined;
1188
+ readonly instance_type?: "standard" | "large" | "xlarge" | "nano" | "micro" | "small" | undefined;
1189
+ readonly cron_schedule?: string | undefined;
1190
+ readonly regions?: readonly ("fsn1" | "nbg1" | "hel1" | "ash1" | "hil1")[] | undefined;
1191
+ readonly scale_to_zero?: boolean | undefined;
1192
+ readonly idle_timeout_seconds?: number | undefined;
1193
+ readonly min_replicas?: number | undefined;
1194
+ readonly resources?: readonly string[] | undefined;
1195
+ }[] | undefined;
1196
+ readonly region?: "fsn1" | "nbg1" | "hel1" | "ash1" | "hil1" | undefined;
1197
+ readonly env?: {
1198
+ readonly [x: string]: {
1199
+ readonly value: string;
1200
+ } | {
1201
+ readonly from_secret: string;
1202
+ } | {
1203
+ readonly from_resource: string;
1204
+ readonly attr: string;
1205
+ };
1206
+ } | undefined;
1207
+ readonly build?: {
1208
+ readonly dockerfile?: string | undefined;
1209
+ readonly buildpack?: "auto" | "ruby" | "node" | "python" | "static" | "dockerfile" | undefined;
1210
+ readonly docker_context?: string | undefined;
1211
+ readonly build_command?: string | undefined;
1212
+ readonly ignore?: readonly string[] | undefined;
1213
+ readonly machine_type?: "standard" | "large" | "xlarge" | undefined;
1214
+ readonly reproducible?: boolean | undefined;
1215
+ } | undefined;
1216
+ readonly deploy?: {
1217
+ readonly strategy?: "immediate" | "rolling" | "blue-green" | undefined;
1218
+ readonly release_command?: string | undefined;
1219
+ readonly health_check_path?: string | undefined;
1220
+ readonly health_check_timeout?: number | undefined;
1221
+ readonly graceful_shutdown?: number | undefined;
1222
+ } | undefined;
1223
+ };
1224
+ readonly production?: {
1225
+ readonly domains?: readonly {
1226
+ readonly service: string;
1227
+ readonly hostname: string;
1228
+ readonly redirect_https?: boolean | undefined;
1229
+ readonly www_redirect?: "none" | "apex" | "www" | undefined;
1230
+ readonly aliases?: readonly string[] | undefined;
1231
+ }[] | undefined;
1232
+ readonly services?: readonly {
1233
+ readonly name: string;
1234
+ readonly type?: "function" | "web" | "cron" | "worker" | undefined;
1235
+ readonly port?: number | undefined;
1236
+ readonly env?: readonly string[] | undefined;
1237
+ readonly replicas?: number | undefined;
1238
+ readonly command?: string | undefined;
1239
+ readonly internal_port?: number | undefined;
1240
+ readonly instance_type?: "standard" | "large" | "xlarge" | "nano" | "micro" | "small" | undefined;
1241
+ readonly cron_schedule?: string | undefined;
1242
+ readonly regions?: readonly ("fsn1" | "nbg1" | "hel1" | "ash1" | "hil1")[] | undefined;
1243
+ readonly scale_to_zero?: boolean | undefined;
1244
+ readonly idle_timeout_seconds?: number | undefined;
1245
+ readonly min_replicas?: number | undefined;
1246
+ readonly resources?: readonly string[] | undefined;
1247
+ }[] | undefined;
1248
+ readonly region?: "fsn1" | "nbg1" | "hel1" | "ash1" | "hil1" | undefined;
1249
+ readonly env?: {
1250
+ readonly [x: string]: {
1251
+ readonly value: string;
1252
+ } | {
1253
+ readonly from_secret: string;
1254
+ } | {
1255
+ readonly from_resource: string;
1256
+ readonly attr: string;
1257
+ };
1258
+ } | undefined;
1259
+ readonly build?: {
1260
+ readonly dockerfile?: string | undefined;
1261
+ readonly buildpack?: "auto" | "ruby" | "node" | "python" | "static" | "dockerfile" | undefined;
1262
+ readonly docker_context?: string | undefined;
1263
+ readonly build_command?: string | undefined;
1264
+ readonly ignore?: readonly string[] | undefined;
1265
+ readonly machine_type?: "standard" | "large" | "xlarge" | undefined;
1266
+ readonly reproducible?: boolean | undefined;
1267
+ } | undefined;
1268
+ readonly deploy?: {
1269
+ readonly strategy?: "immediate" | "rolling" | "blue-green" | undefined;
1270
+ readonly release_command?: string | undefined;
1271
+ readonly health_check_path?: string | undefined;
1272
+ readonly health_check_timeout?: number | undefined;
1273
+ readonly graceful_shutdown?: number | undefined;
1274
+ } | undefined;
1275
+ };
1276
+ readonly preview?: {
1277
+ readonly domains?: readonly {
1278
+ readonly service: string;
1279
+ readonly hostname: string;
1280
+ readonly redirect_https?: boolean | undefined;
1281
+ readonly www_redirect?: "none" | "apex" | "www" | undefined;
1282
+ readonly aliases?: readonly string[] | undefined;
1283
+ }[] | undefined;
1284
+ readonly services?: readonly {
1285
+ readonly name: string;
1286
+ readonly type?: "function" | "web" | "cron" | "worker" | undefined;
1287
+ readonly port?: number | undefined;
1288
+ readonly env?: readonly string[] | undefined;
1289
+ readonly replicas?: number | undefined;
1290
+ readonly command?: string | undefined;
1291
+ readonly internal_port?: number | undefined;
1292
+ readonly instance_type?: "standard" | "large" | "xlarge" | "nano" | "micro" | "small" | undefined;
1293
+ readonly cron_schedule?: string | undefined;
1294
+ readonly regions?: readonly ("fsn1" | "nbg1" | "hel1" | "ash1" | "hil1")[] | undefined;
1295
+ readonly scale_to_zero?: boolean | undefined;
1296
+ readonly idle_timeout_seconds?: number | undefined;
1297
+ readonly min_replicas?: number | undefined;
1298
+ readonly resources?: readonly string[] | undefined;
1299
+ }[] | undefined;
1300
+ readonly region?: "fsn1" | "nbg1" | "hel1" | "ash1" | "hil1" | undefined;
1301
+ readonly env?: {
1302
+ readonly [x: string]: {
1303
+ readonly value: string;
1304
+ } | {
1305
+ readonly from_secret: string;
1306
+ } | {
1307
+ readonly from_resource: string;
1308
+ readonly attr: string;
1309
+ };
1310
+ } | undefined;
1311
+ readonly build?: {
1312
+ readonly dockerfile?: string | undefined;
1313
+ readonly buildpack?: "auto" | "ruby" | "node" | "python" | "static" | "dockerfile" | undefined;
1314
+ readonly docker_context?: string | undefined;
1315
+ readonly build_command?: string | undefined;
1316
+ readonly ignore?: readonly string[] | undefined;
1317
+ readonly machine_type?: "standard" | "large" | "xlarge" | undefined;
1318
+ readonly reproducible?: boolean | undefined;
1319
+ } | undefined;
1320
+ readonly deploy?: {
1321
+ readonly strategy?: "immediate" | "rolling" | "blue-green" | undefined;
1322
+ readonly release_command?: string | undefined;
1323
+ readonly health_check_path?: string | undefined;
1324
+ readonly health_check_timeout?: number | undefined;
1325
+ readonly graceful_shutdown?: number | undefined;
1326
+ } | undefined;
1327
+ };
1328
+ }, never>>;
1329
+ resources: Schema.optional<Schema.Struct<{
1330
+ postgres: Schema.optional<Schema.Struct<{
1331
+ /** CNPG tier; IMMUTABLE after creation. */
1332
+ tier: Schema.Literal<["nano", "micro", "standard", "large", "xl"]>;
1333
+ storage_gb: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
1334
+ version: Schema.optional<Schema.Literal<["15", "16", "17"]>>;
1335
+ /** Enable CNPG read-replica(s). */
1336
+ replicas: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
1337
+ /** Branch-per-preview (P0 gap #4 sibling). */
1338
+ branch_on_preview: Schema.optional<typeof Schema.Boolean>;
1339
+ }>>;
1340
+ redis: Schema.optional<Schema.Struct<{
1341
+ tier: Schema.Literal<["micro", "standard", "large"]>;
1342
+ }>>;
1343
+ blob: Schema.optional<Schema.Struct<{
1344
+ /** Ceph S3 bucket, auto-provisioned. `public` maps to presigned-URL-only. */
1345
+ visibility: Schema.Literal<["private", "public"]>;
1346
+ }>>;
1347
+ volume: Schema.optional<Schema.Array$<Schema.Struct<{
1348
+ name: Schema.filter<Schema.filter<Schema.filter<typeof Schema.String>>>;
1349
+ /** GROW-ONLY — server rejects shrink with `409 immutable_volume_shrink`. */
1350
+ size_gb: Schema.filter<Schema.filter<typeof Schema.Number>>;
1351
+ /** ReadWriteOnce → rook-ceph-block; ReadWriteMany → rook-cephfs. */
1352
+ access: Schema.Literal<["ReadWriteOnce", "ReadWriteMany"]>;
1353
+ mount: typeof Schema.String;
1354
+ }>>>;
1355
+ search: Schema.optional<Schema.Struct<{
1356
+ tier: Schema.Literal<["micro", "standard"]>;
1357
+ }>>;
1358
+ }>>;
1359
+ ci: Schema.optional<Schema.Struct<{
1360
+ on_push: Schema.optional<typeof Schema.Boolean>;
1361
+ preview_deploys: Schema.optional<typeof Schema.Boolean>;
1362
+ pr_comment: Schema.optional<typeof Schema.Boolean>;
1363
+ /** Regex of branches that auto-deploy to production. */
1364
+ production_branches: Schema.optional<Schema.Array$<typeof Schema.String>>;
1365
+ /** Which runner tier to request from the managed runner pool. */
1366
+ runner: Schema.optional<Schema.Literal<["standard", "large", "xlarge"]>>;
1367
+ /** Paths whose changes should not trigger a deploy. */
1368
+ ignore_paths: Schema.optional<Schema.Array$<typeof Schema.String>>;
1369
+ }>>;
1370
+ }>;
1371
+ export type SylphxManifest = typeof SylphxManifest.Type;
1372
+ /**
1373
+ * Canonical scale-to-zero snapshot, resolved from a manifest service entry
1374
+ * or from the `project_services.scaling_config` JSONB column. Controller +
1375
+ * CLI both call `resolveScaleToZeroDefaults()` (below) rather than
1376
+ * hand-rolling `?? 300`/`?? 0` literals, so the defaults stay in sync with
1377
+ * the schema above.
1378
+ */
1379
+ export interface ResolvedScaleToZero {
1380
+ /** Whether the service opts into KEDA-managed scale-to-zero. */
1381
+ scaleToZero: boolean;
1382
+ /** KEDA `cooldownPeriod` (seconds). Meaningful only when scaleToZero=true. */
1383
+ idleTimeoutSeconds: number;
1384
+ /** KEDA `minReplicaCount`. 0 iff `scaleToZero=true` and caller didn't pin a warm floor. */
1385
+ minReplicas: number;
1386
+ /** KEDA `maxReplicaCount`. Upper bound for horizontal scaling. */
1387
+ maxReplicas: number;
1388
+ }
1389
+ /**
1390
+ * Default values baked into `resolveScaleToZeroDefaults`. Kept here so both
1391
+ * the API validation layer and the controller import the same constants —
1392
+ * the defaults table in docs/design/scale-to-zero.md §3.4 lives here.
1393
+ */
1394
+ export declare const SCALE_TO_ZERO_DEFAULTS: {
1395
+ /** Idle timeout in seconds when caller didn't provide one. */
1396
+ readonly idleTimeoutSeconds: 300;
1397
+ /** Min replicas when the service opted into scale-to-zero. */
1398
+ readonly minReplicasScaleToZero: 0;
1399
+ /** Min replicas when the service did NOT opt in (pinned warm). */
1400
+ readonly minReplicasWarm: 1;
1401
+ /** Max replicas fallback when neither manifest nor compute profile specify. */
1402
+ readonly maxReplicasDefault: 10;
1403
+ };
1404
+ /**
1405
+ * Apply `SCALE_TO_ZERO_DEFAULTS` to a partial config. Pure function — both
1406
+ * the controller (`keda-scaled-object.ts`) and the CLI (`programs/scale.ts`)
1407
+ * call it so defaults stay in sync.
1408
+ *
1409
+ * @param input - Partial config from the manifest / DB / CLI flag.
1410
+ * Pass `null`/`undefined` for "no scale-to-zero".
1411
+ * @param explicitMax - Optional per-tier ceiling (e.g. resolved from
1412
+ * compute profile). Takes precedence over the static
1413
+ * 10-replica fallback but not over an input.maxReplicas.
1414
+ */
1415
+ export declare function resolveScaleToZeroDefaults(input: {
1416
+ scaleToZero?: boolean;
1417
+ idleTimeoutSeconds?: number;
1418
+ minReplicas?: number;
1419
+ maxReplicas?: number;
1420
+ } | null | undefined, explicitMax?: number): ResolvedScaleToZero;
1421
+ //# sourceMappingURL=project-manifest.d.ts.map