@sylphx/contract 0.4.0 → 0.5.1

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 (240) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/endpoint.d.ts +45 -3
  3. package/dist/endpoint.d.ts.map +1 -1
  4. package/dist/endpoint.js +9 -0
  5. package/dist/endpoints/admin-ai-playground.d.ts +3 -3
  6. package/dist/endpoints/admin-anomalies.d.ts +7 -7
  7. package/dist/endpoints/admin-apm.d.ts +6 -6
  8. package/dist/endpoints/admin-audit.d.ts +94 -58
  9. package/dist/endpoints/admin-audit.d.ts.map +1 -1
  10. package/dist/endpoints/admin-audit.js +8 -1
  11. package/dist/endpoints/admin-billing.d.ts +35 -24
  12. package/dist/endpoints/admin-billing.d.ts.map +1 -1
  13. package/dist/endpoints/admin-billing.js +4 -3
  14. package/dist/endpoints/admin-bootstrap.d.ts +1 -1
  15. package/dist/endpoints/admin-branch-databases.d.ts +43 -0
  16. package/dist/endpoints/admin-branch-databases.d.ts.map +1 -0
  17. package/dist/endpoints/admin-branch-databases.js +41 -0
  18. package/dist/endpoints/admin-broadcasts.d.ts +10 -8
  19. package/dist/endpoints/admin-broadcasts.d.ts.map +1 -1
  20. package/dist/endpoints/admin-broadcasts.js +1 -0
  21. package/dist/endpoints/admin-builds.d.ts +1 -1
  22. package/dist/endpoints/admin-config.d.ts +11 -11
  23. package/dist/endpoints/admin-consent.d.ts +78 -41
  24. package/dist/endpoints/admin-consent.d.ts.map +1 -1
  25. package/dist/endpoints/admin-consent.js +9 -6
  26. package/dist/endpoints/admin-env-services.d.ts +1 -1
  27. package/dist/endpoints/admin-impersonation.d.ts +9 -9
  28. package/dist/endpoints/admin-invitations.d.ts +9 -5
  29. package/dist/endpoints/admin-invitations.d.ts.map +1 -1
  30. package/dist/endpoints/admin-invitations.js +2 -0
  31. package/dist/endpoints/admin-jwt-keys.d.ts +6 -6
  32. package/dist/endpoints/admin-logs.d.ts +7 -7
  33. package/dist/endpoints/admin-plans.d.ts +6 -4
  34. package/dist/endpoints/admin-plans.d.ts.map +1 -1
  35. package/dist/endpoints/admin-plans.js +1 -0
  36. package/dist/endpoints/admin-project-users.d.ts +8 -8
  37. package/dist/endpoints/admin-projects.d.ts +11 -9
  38. package/dist/endpoints/admin-projects.d.ts.map +1 -1
  39. package/dist/endpoints/admin-projects.js +3 -2
  40. package/dist/endpoints/admin-quotas.d.ts +6 -6
  41. package/dist/endpoints/admin-rate-limits.d.ts +2 -2
  42. package/dist/endpoints/admin-reconcile.d.ts +1 -1
  43. package/dist/endpoints/admin-resources.d.ts +2 -2
  44. package/dist/endpoints/admin-secrets.d.ts +2 -2
  45. package/dist/endpoints/admin-services.d.ts +1 -1
  46. package/dist/endpoints/admin-tasks.d.ts +6 -6
  47. package/dist/endpoints/admin-tenants.d.ts +3 -1
  48. package/dist/endpoints/admin-tenants.d.ts.map +1 -1
  49. package/dist/endpoints/admin-tenants.js +1 -0
  50. package/dist/endpoints/admin-traces.d.ts +5 -5
  51. package/dist/endpoints/admin-users.d.ts +8 -8
  52. package/dist/endpoints/admin-webhook-signature-versions.d.ts +5 -3
  53. package/dist/endpoints/admin-webhook-signature-versions.d.ts.map +1 -1
  54. package/dist/endpoints/admin-webhook-signature-versions.js +1 -0
  55. package/dist/endpoints/ai-admin.d.ts +5 -5
  56. package/dist/endpoints/analytics-admin.d.ts +123 -38
  57. package/dist/endpoints/analytics-admin.d.ts.map +1 -1
  58. package/dist/endpoints/analytics-admin.js +17 -9
  59. package/dist/endpoints/analytics.d.ts +4 -4
  60. package/dist/endpoints/audit-chain.d.ts +1 -1
  61. package/dist/endpoints/audit.d.ts +1 -1
  62. package/dist/endpoints/auth-admin.d.ts +5 -5
  63. package/dist/endpoints/auth.d.ts +25 -22
  64. package/dist/endpoints/auth.d.ts.map +1 -1
  65. package/dist/endpoints/auth.js +2 -2
  66. package/dist/endpoints/backups.d.ts +4 -4
  67. package/dist/endpoints/billing-console.d.ts +16 -16
  68. package/dist/endpoints/billing-settings.d.ts +11 -11
  69. package/dist/endpoints/branch-databases.d.ts +8 -4
  70. package/dist/endpoints/branch-databases.d.ts.map +1 -1
  71. package/dist/endpoints/branch-databases.js +2 -0
  72. package/dist/endpoints/challenge.d.ts +5 -5
  73. package/dist/endpoints/ci-settings.d.ts +8 -8
  74. package/dist/endpoints/consent-admin.d.ts +9 -7
  75. package/dist/endpoints/consent-admin.d.ts.map +1 -1
  76. package/dist/endpoints/consent-admin.js +1 -0
  77. package/dist/endpoints/databases.d.ts +189 -323
  78. package/dist/endpoints/databases.d.ts.map +1 -1
  79. package/dist/endpoints/databases.js +42 -41
  80. package/dist/endpoints/deployments.d.ts +71 -18
  81. package/dist/endpoints/deployments.d.ts.map +1 -1
  82. package/dist/endpoints/deployments.js +9 -1
  83. package/dist/endpoints/domains.d.ts +33 -23
  84. package/dist/endpoints/domains.d.ts.map +1 -1
  85. package/dist/endpoints/domains.js +7 -4
  86. package/dist/endpoints/email-admin.d.ts +29 -23
  87. package/dist/endpoints/email-admin.d.ts.map +1 -1
  88. package/dist/endpoints/email-admin.js +3 -0
  89. package/dist/endpoints/email.d.ts +4 -4
  90. package/dist/endpoints/engagement-admin.d.ts +6 -6
  91. package/dist/endpoints/env-vars.d.ts +3 -3
  92. package/dist/endpoints/environments.d.ts +30 -27
  93. package/dist/endpoints/environments.d.ts.map +1 -1
  94. package/dist/endpoints/environments.js +3 -7
  95. package/dist/endpoints/experiments.d.ts +20 -18
  96. package/dist/endpoints/experiments.d.ts.map +1 -1
  97. package/dist/endpoints/experiments.js +1 -0
  98. package/dist/endpoints/flags-admin.d.ts +73 -9
  99. package/dist/endpoints/flags-admin.d.ts.map +1 -1
  100. package/dist/endpoints/flags-admin.js +1 -0
  101. package/dist/endpoints/flags.d.ts +1 -1
  102. package/dist/endpoints/github.d.ts +3 -3
  103. package/dist/endpoints/image-opt.d.ts +2 -2
  104. package/dist/endpoints/kv-admin.d.ts +7 -7
  105. package/dist/endpoints/kv-admin.js +1 -1
  106. package/dist/endpoints/kv.d.ts +27 -21
  107. package/dist/endpoints/kv.d.ts.map +1 -1
  108. package/dist/endpoints/kv.js +9 -9
  109. package/dist/endpoints/monitoring-admin.d.ts +10 -10
  110. package/dist/endpoints/monitoring.d.ts +2 -2
  111. package/dist/endpoints/newsletter.d.ts +30 -24
  112. package/dist/endpoints/newsletter.d.ts.map +1 -1
  113. package/dist/endpoints/newsletter.js +3 -0
  114. package/dist/endpoints/notifications-admin.d.ts +17 -17
  115. package/dist/endpoints/notifications.d.ts +23 -16
  116. package/dist/endpoints/notifications.d.ts.map +1 -1
  117. package/dist/endpoints/oidc.d.ts +6 -4
  118. package/dist/endpoints/oidc.d.ts.map +1 -1
  119. package/dist/endpoints/oidc.js +1 -0
  120. package/dist/endpoints/organizations.d.ts +56 -48
  121. package/dist/endpoints/organizations.d.ts.map +1 -1
  122. package/dist/endpoints/organizations.js +4 -0
  123. package/dist/endpoints/plans.d.ts +9 -7
  124. package/dist/endpoints/plans.d.ts.map +1 -1
  125. package/dist/endpoints/plans.js +1 -0
  126. package/dist/endpoints/privacy.d.ts +11 -9
  127. package/dist/endpoints/privacy.d.ts.map +1 -1
  128. package/dist/endpoints/privacy.js +1 -0
  129. package/dist/endpoints/project-manifest.d.ts +126 -44
  130. package/dist/endpoints/project-manifest.d.ts.map +1 -1
  131. package/dist/endpoints/projects.d.ts +7 -5
  132. package/dist/endpoints/projects.d.ts.map +1 -1
  133. package/dist/endpoints/projects.js +2 -1
  134. package/dist/endpoints/rate-limits.d.ts +4 -4
  135. package/dist/endpoints/realtime-admin.d.ts +6 -4
  136. package/dist/endpoints/realtime-admin.d.ts.map +1 -1
  137. package/dist/endpoints/realtime-admin.js +1 -0
  138. package/dist/endpoints/realtime.d.ts +3 -3
  139. package/dist/endpoints/referrals-admin.d.ts +7 -5
  140. package/dist/endpoints/referrals-admin.d.ts.map +1 -1
  141. package/dist/endpoints/referrals-admin.js +1 -0
  142. package/dist/endpoints/refresh.d.ts +1 -1
  143. package/dist/endpoints/regions.d.ts +5 -22
  144. package/dist/endpoints/regions.d.ts.map +1 -1
  145. package/dist/endpoints/regions.js +5 -27
  146. package/dist/endpoints/runners.d.ts +4 -4
  147. package/dist/endpoints/saml.d.ts +13 -11
  148. package/dist/endpoints/saml.d.ts.map +1 -1
  149. package/dist/endpoints/saml.js +1 -0
  150. package/dist/endpoints/search.d.ts +3 -3
  151. package/dist/endpoints/secrets.d.ts +9 -7
  152. package/dist/endpoints/secrets.d.ts.map +1 -1
  153. package/dist/endpoints/secrets.js +1 -0
  154. package/dist/endpoints/security.d.ts +28 -28
  155. package/dist/endpoints/service-tokens.d.ts +20 -12
  156. package/dist/endpoints/service-tokens.d.ts.map +1 -1
  157. package/dist/endpoints/service-tokens.js +4 -0
  158. package/dist/endpoints/session-replay.d.ts +4 -4
  159. package/dist/endpoints/storage-admin.d.ts +14 -10
  160. package/dist/endpoints/storage-admin.d.ts.map +1 -1
  161. package/dist/endpoints/storage-admin.js +3 -1
  162. package/dist/endpoints/storage.d.ts +30 -12
  163. package/dist/endpoints/storage.d.ts.map +1 -1
  164. package/dist/endpoints/storage.js +11 -1
  165. package/dist/endpoints/tasks.d.ts +13 -9
  166. package/dist/endpoints/tasks.d.ts.map +1 -1
  167. package/dist/endpoints/tasks.js +2 -0
  168. package/dist/endpoints/users.d.ts +12 -12
  169. package/dist/endpoints/webhooks.d.ts +10 -10
  170. package/dist/hono-app.d.ts +55 -26
  171. package/dist/hono-app.d.ts.map +1 -1
  172. package/dist/index.d.ts +1644 -1101
  173. package/dist/index.d.ts.map +1 -1
  174. package/dist/index.js +6 -5
  175. package/dist/schemas/admin-audit.d.ts +50 -0
  176. package/dist/schemas/admin-audit.d.ts.map +1 -1
  177. package/dist/schemas/admin-audit.js +43 -0
  178. package/dist/schemas/admin-billing.d.ts +19 -5
  179. package/dist/schemas/admin-billing.d.ts.map +1 -1
  180. package/dist/schemas/admin-billing.js +16 -5
  181. package/dist/schemas/admin-branch-databases.d.ts +34 -0
  182. package/dist/schemas/admin-branch-databases.d.ts.map +1 -0
  183. package/dist/schemas/admin-branch-databases.js +33 -0
  184. package/dist/schemas/admin-broadcasts.d.ts +6 -6
  185. package/dist/schemas/admin-broadcasts.d.ts.map +1 -1
  186. package/dist/schemas/admin-broadcasts.js +1 -1
  187. package/dist/schemas/admin-consent.d.ts +90 -6
  188. package/dist/schemas/admin-consent.d.ts.map +1 -1
  189. package/dist/schemas/admin-consent.js +50 -3
  190. package/dist/schemas/analytics-admin.d.ts +99 -9
  191. package/dist/schemas/analytics-admin.d.ts.map +1 -1
  192. package/dist/schemas/analytics-admin.js +70 -0
  193. package/dist/schemas/auth.d.ts +1 -0
  194. package/dist/schemas/auth.d.ts.map +1 -1
  195. package/dist/schemas/auth.js +1 -0
  196. package/dist/schemas/database.d.ts +3 -2
  197. package/dist/schemas/database.d.ts.map +1 -1
  198. package/dist/schemas/database.js +3 -2
  199. package/dist/schemas/deployment.d.ts +53 -0
  200. package/dist/schemas/deployment.d.ts.map +1 -1
  201. package/dist/schemas/deployment.js +53 -1
  202. package/dist/schemas/experiments.d.ts +13 -33
  203. package/dist/schemas/experiments.d.ts.map +1 -1
  204. package/dist/schemas/experiments.js +5 -4
  205. package/dist/schemas/flags-admin.d.ts +115 -19
  206. package/dist/schemas/flags-admin.d.ts.map +1 -1
  207. package/dist/schemas/flags-admin.js +28 -8
  208. package/dist/schemas/ids.d.ts +2 -0
  209. package/dist/schemas/ids.d.ts.map +1 -1
  210. package/dist/schemas/ids.js +1 -0
  211. package/dist/schemas/kv-admin.d.ts +1 -1
  212. package/dist/schemas/kv-admin.js +1 -1
  213. package/dist/schemas/kv.d.ts +12 -4
  214. package/dist/schemas/kv.d.ts.map +1 -1
  215. package/dist/schemas/kv.js +17 -5
  216. package/dist/schemas/notifications.d.ts +11 -0
  217. package/dist/schemas/notifications.d.ts.map +1 -1
  218. package/dist/schemas/notifications.js +11 -0
  219. package/dist/schemas/project-manifest.d.ts +239 -76
  220. package/dist/schemas/project-manifest.d.ts.map +1 -1
  221. package/dist/schemas/project-manifest.js +74 -23
  222. package/dist/schemas/project.d.ts +3 -3
  223. package/dist/schemas/project.d.ts.map +1 -1
  224. package/dist/schemas/project.js +2 -2
  225. package/dist/schemas/region.d.ts +4 -52
  226. package/dist/schemas/region.d.ts.map +1 -1
  227. package/dist/schemas/region.js +4 -46
  228. package/dist/schemas/resources.d.ts +59 -8
  229. package/dist/schemas/resources.d.ts.map +1 -1
  230. package/dist/schemas/resources.js +54 -3
  231. package/dist/schemas/storage.d.ts +29 -0
  232. package/dist/schemas/storage.d.ts.map +1 -1
  233. package/dist/schemas/storage.js +19 -0
  234. package/package.json +1 -1
  235. package/dist/endpoints/edge-deployments.d.ts +0 -92
  236. package/dist/endpoints/edge-deployments.d.ts.map +0 -1
  237. package/dist/endpoints/edge-deployments.js +0 -58
  238. package/dist/schemas/edge-deployments.d.ts +0 -140
  239. package/dist/schemas/edge-deployments.d.ts.map +0 -1
  240. package/dist/schemas/edge-deployments.js +0 -87
@@ -4,7 +4,7 @@
4
4
  * Plane: `management`. The manifest is the user-facing, editable surface
5
5
  * declared in Git at repo root. The CLI parses `sylphx.toml` via Bun's
6
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).
7
+ * Management API (`PUT /projects/:id/manifest`).
8
8
  *
9
9
  * Slug-valued (not TypeID) on purpose: the manifest is what users type,
10
10
  * so slugs are the DX-correct surface. The server maps slugs → TypeIDs
@@ -37,6 +37,9 @@ export type BuildMachineSize = typeof BuildMachineSize.Type;
37
37
  /** Buildpack identifier per ADR-071. `auto` lets the platform detect. */
38
38
  export declare const BuildpackName: Schema.Literal<["auto", "ruby", "node", "python", "static", "dockerfile"]>;
39
39
  export type BuildpackName = typeof BuildpackName.Type;
40
+ /** Build strategy hint. `dockerfile` pins the build to the declared Dockerfile. */
41
+ export declare const BuildStrategy: Schema.Literal<["auto", "buildpack", "dockerfile", "nixpacks"]>;
42
+ export type BuildStrategy = typeof BuildStrategy.Type;
40
43
  /** Service type discriminant — drives K8s workload shape (Deployment/Job). */
41
44
  export declare const ServiceType: Schema.Literal<["web", "worker", "cron", "function"]>;
42
45
  export type ServiceType = typeof ServiceType.Type;
@@ -68,8 +71,12 @@ export declare const ManifestBuildSection: Schema.Struct<{
68
71
  * package.json / Gemfile / requirements.txt / Dockerfile.
69
72
  */
70
73
  buildpack: Schema.optional<Schema.Literal<["auto", "ruby", "node", "python", "static", "dockerfile"]>>;
74
+ /** High-level build strategy alias used by current sylphx.toml files. */
75
+ strategy: Schema.optional<Schema.Literal<["auto", "buildpack", "dockerfile", "nixpacks"]>>;
71
76
  /** Override path to Dockerfile (implies buildpack=dockerfile). */
72
77
  dockerfile: Schema.optional<typeof Schema.String>;
78
+ /** Docker build context path. `context` is the product-facing TOML alias. */
79
+ context: Schema.optional<typeof Schema.String>;
73
80
  /** Docker build context path (default: repo root). */
74
81
  docker_context: Schema.optional<typeof Schema.String>;
75
82
  /** Custom build command; overrides buildpack default. */
@@ -98,10 +105,38 @@ export declare const ManifestDeploySection: Schema.Struct<{
98
105
  graceful_shutdown: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
99
106
  }>;
100
107
  export type ManifestDeploySection = typeof ManifestDeploySection.Type;
108
+ export declare const ManifestServiceBuildSection: Schema.Struct<{
109
+ strategy: Schema.optional<Schema.Literal<["auto", "buildpack", "dockerfile", "nixpacks"]>>;
110
+ dockerfile: Schema.optional<typeof Schema.String>;
111
+ context: Schema.optional<typeof Schema.String>;
112
+ docker_context: Schema.optional<typeof Schema.String>;
113
+ build_command: Schema.optional<typeof Schema.String>;
114
+ }>;
115
+ export type ManifestServiceBuildSection = typeof ManifestServiceBuildSection.Type;
116
+ export declare const ManifestServiceHealthSection: Schema.Struct<{
117
+ mode: Schema.optional<Schema.Literal<["http", "tcp", "command"]>>;
118
+ path: Schema.optional<typeof Schema.String>;
119
+ command: Schema.optional<typeof Schema.String>;
120
+ }>;
121
+ export type ManifestServiceHealthSection = typeof ManifestServiceHealthSection.Type;
101
122
  export declare const ManifestServiceSection: Schema.Struct<{
102
123
  /** Service name — unique within project. Used as K8s Deployment name. */
103
124
  name: Schema.filter<Schema.filter<Schema.filter<typeof Schema.String>>>;
104
125
  type: Schema.Literal<["web", "worker", "cron", "function"]>;
126
+ /** Per-service build override. Root [build] remains the default. */
127
+ build: Schema.optional<Schema.Struct<{
128
+ strategy: Schema.optional<Schema.Literal<["auto", "buildpack", "dockerfile", "nixpacks"]>>;
129
+ dockerfile: Schema.optional<typeof Schema.String>;
130
+ context: Schema.optional<typeof Schema.String>;
131
+ docker_context: Schema.optional<typeof Schema.String>;
132
+ build_command: Schema.optional<typeof Schema.String>;
133
+ }>>;
134
+ /** Per-service health contract. Platform owns probe translation. */
135
+ health: Schema.optional<Schema.Struct<{
136
+ mode: Schema.optional<Schema.Literal<["http", "tcp", "command"]>>;
137
+ path: Schema.optional<typeof Schema.String>;
138
+ command: Schema.optional<typeof Schema.String>;
139
+ }>>;
105
140
  /** Container start command. */
106
141
  command: Schema.optional<typeof Schema.String>;
107
142
  /** Internal container port; required for `web`. */
@@ -141,8 +176,34 @@ export declare const ManifestServiceSection: Schema.Struct<{
141
176
  env: Schema.optional<Schema.Array$<typeof Schema.String>>;
142
177
  /** Per-service resource bindings (by resource name). */
143
178
  resources: Schema.optional<Schema.Array$<Schema.filter<Schema.filter<Schema.filter<typeof Schema.String>>>>>;
179
+ /** Paths whose changes should trigger this service in monorepos. */
180
+ watch_paths: Schema.optional<Schema.Array$<typeof Schema.String>>;
144
181
  }>;
145
182
  export type ManifestServiceSection = typeof ManifestServiceSection.Type;
183
+ export declare const ManifestMigrationEngine: Schema.Literal<["atlas", "drizzle", "prisma", "alembic", "flyway", "goose", "sqlx", "custom"]>;
184
+ export type ManifestMigrationEngine = typeof ManifestMigrationEngine.Type;
185
+ export declare const ManifestMigrationDestructivePolicy: Schema.Literal<["require-approval", "allow"]>;
186
+ export type ManifestMigrationDestructivePolicy = typeof ManifestMigrationDestructivePolicy.Type;
187
+ export declare const ManifestMigrationsSection: Schema.Struct<{
188
+ engine: Schema.Literal<["atlas", "drizzle", "prisma", "alembic", "flyway", "goose", "sqlx", "custom"]>;
189
+ dir: Schema.optional<typeof Schema.String>;
190
+ image: Schema.filter<Schema.filter<Schema.filter<typeof Schema.String>>>;
191
+ command: Schema.filter<typeof Schema.String>;
192
+ timeout: Schema.optional<typeof Schema.String>;
193
+ destructive_policy: Schema.optional<Schema.Literal<["require-approval", "allow"]>>;
194
+ }>;
195
+ export type ManifestMigrationsSection = typeof ManifestMigrationsSection.Type;
196
+ export declare const ManifestDatabaseSection: Schema.Struct<{
197
+ migrations: Schema.optional<Schema.Struct<{
198
+ engine: Schema.Literal<["atlas", "drizzle", "prisma", "alembic", "flyway", "goose", "sqlx", "custom"]>;
199
+ dir: Schema.optional<typeof Schema.String>;
200
+ image: Schema.filter<Schema.filter<Schema.filter<typeof Schema.String>>>;
201
+ command: Schema.filter<typeof Schema.String>;
202
+ timeout: Schema.optional<typeof Schema.String>;
203
+ destructive_policy: Schema.optional<Schema.Literal<["require-approval", "allow"]>>;
204
+ }>>;
205
+ }>;
206
+ export type ManifestDatabaseSection = typeof ManifestDatabaseSection.Type;
146
207
  /**
147
208
  * Env var value — literal, secret reference, or resource attribute.
148
209
  * Values are NEVER stored in the manifest — always by reference.
@@ -171,27 +232,31 @@ export declare const ManifestDomainSection: Schema.Struct<{
171
232
  aliases: Schema.optional<Schema.Array$<typeof Schema.String>>;
172
233
  }>;
173
234
  export type ManifestDomainSection = typeof ManifestDomainSection.Type;
174
- export declare const PostgresTier: Schema.Literal<["nano", "micro", "standard", "large", "xl"]>;
235
+ export declare const ManifestManagedResourceTier: Schema.Literal<["nano", "micro", "standard", "large", "xl", "hobby", "starter", "pro", "business", "enterprise", "enterprise-2x", "enterprise-4x"]>;
236
+ export type ManifestManagedResourceTier = typeof ManifestManagedResourceTier.Type;
237
+ export declare const PostgresTier: Schema.Literal<["nano", "micro", "standard", "large", "xl", "hobby", "starter", "pro", "business", "enterprise", "enterprise-2x", "enterprise-4x"]>;
175
238
  export type PostgresTier = typeof PostgresTier.Type;
176
- export declare const RedisTier: Schema.Literal<["micro", "standard", "large"]>;
177
- export type RedisTier = typeof RedisTier.Type;
178
239
  export declare const PostgresVersion: Schema.Literal<["15", "16", "17"]>;
179
240
  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"]>;
241
+ export declare const SearchTier: Schema.Literal<["nano", "micro", "standard", "large", "xl", "hobby", "starter", "pro", "business", "enterprise", "enterprise-2x", "enterprise-4x"]>;
185
242
  export type SearchTier = typeof SearchTier.Type;
243
+ export declare const KvTier: Schema.Literal<["nano", "micro", "standard", "large", "xl", "hobby", "starter", "pro", "business", "enterprise", "enterprise-2x", "enterprise-4x"]>;
244
+ export type KvTier = typeof KvTier.Type;
245
+ export declare const ManifestVolumeTier: Schema.Literal<["nano", "micro", "standard", "large", "xl", "hobby", "starter", "pro", "business", "enterprise", "enterprise-2x", "enterprise-4x"]>;
246
+ export type ManifestVolumeTier = typeof ManifestVolumeTier.Type;
247
+ export declare const ManifestVolumeAccessMode: Schema.Literal<["ReadWriteOnce", "ReadWriteMany"]>;
248
+ export type ManifestVolumeAccessMode = typeof ManifestVolumeAccessMode.Type;
186
249
  export declare const ManifestDatabaseEngine: Schema.Literal<["postgres"]>;
187
250
  export type ManifestDatabaseEngine = typeof ManifestDatabaseEngine.Type;
251
+ export declare const ManifestKvEngine: Schema.Literal<["valkey"]>;
252
+ export type ManifestKvEngine = typeof ManifestKvEngine.Type;
188
253
  export declare const ManifestSearchEngine: Schema.Literal<["typesense"]>;
189
254
  export type ManifestSearchEngine = typeof ManifestSearchEngine.Type;
190
255
  export declare const ManifestDatabaseResource: Schema.Struct<{
191
256
  /** Capability-specific engine. PostgreSQL is the first supported database engine. */
192
257
  engine: Schema.optional<Schema.Literal<["postgres"]>>;
193
258
  /** CNPG tier; IMMUTABLE after creation. */
194
- tier: Schema.Literal<["nano", "micro", "standard", "large", "xl"]>;
259
+ tier: Schema.Literal<["nano", "micro", "standard", "large", "xl", "hobby", "starter", "pro", "business", "enterprise", "enterprise-2x", "enterprise-4x"]>;
195
260
  storage_gb: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
196
261
  version: Schema.optional<Schema.Literal<["15", "16", "17"]>>;
197
262
  /** Enable CNPG read-replica(s). */
@@ -200,38 +265,48 @@ export declare const ManifestDatabaseResource: Schema.Struct<{
200
265
  branch_on_preview: Schema.optional<typeof Schema.Boolean>;
201
266
  }>;
202
267
  export type ManifestDatabaseResource = typeof ManifestDatabaseResource.Type;
203
- export declare const ManifestRedisResource: Schema.Struct<{
204
- tier: Schema.Literal<["micro", "standard", "large"]>;
205
- }>;
206
- export type ManifestRedisResource = typeof ManifestRedisResource.Type;
207
- export declare const ManifestBlobResource: Schema.Struct<{
208
- /** Ceph S3 bucket, auto-provisioned. `public` maps to presigned-URL-only. */
209
- visibility: Schema.Literal<["private", "public"]>;
210
- }>;
211
- export type ManifestBlobResource = typeof ManifestBlobResource.Type;
212
- export declare const ManifestVolumeResource: Schema.Struct<{
213
- name: Schema.filter<Schema.filter<Schema.filter<typeof Schema.String>>>;
214
- /** GROW-ONLY — server rejects shrink with `409 immutable_volume_shrink`. */
215
- size_gb: Schema.filter<Schema.filter<typeof Schema.Number>>;
216
- /** ReadWriteOnce → rook-ceph-block; ReadWriteMany → rook-cephfs. */
217
- access: Schema.Literal<["ReadWriteOnce", "ReadWriteMany"]>;
218
- mount: typeof Schema.String;
268
+ export declare const ManifestKvResource: Schema.Struct<{
269
+ /** Capability-specific engine. Valkey is the first supported KV engine. */
270
+ engine: Schema.optional<Schema.Literal<["valkey"]>>;
271
+ tier: Schema.Literal<["nano", "micro", "standard", "large", "xl", "hobby", "starter", "pro", "business", "enterprise", "enterprise-2x", "enterprise-4x"]>;
272
+ storage_gb: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
219
273
  }>;
220
- export type ManifestVolumeResource = typeof ManifestVolumeResource.Type;
274
+ export type ManifestKvResource = typeof ManifestKvResource.Type;
221
275
  export declare const ManifestSearchResource: Schema.Struct<{
222
276
  /** Capability-specific engine. Typesense is the first supported search engine. */
223
277
  engine: Schema.optional<Schema.Literal<["typesense"]>>;
224
- tier: Schema.Literal<["micro", "standard"]>;
278
+ tier: Schema.Literal<["nano", "micro", "standard", "large", "xl", "hobby", "starter", "pro", "business", "enterprise", "enterprise-2x", "enterprise-4x"]>;
225
279
  storage_gb: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
226
280
  nodes: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
227
281
  }>;
228
282
  export type ManifestSearchResource = typeof ManifestSearchResource.Type;
283
+ export declare const ManifestVolumeResource: Schema.Struct<{
284
+ tier: Schema.Literal<["nano", "micro", "standard", "large", "xl", "hobby", "starter", "pro", "business", "enterprise", "enterprise-2x", "enterprise-4x"]>;
285
+ storage_gb: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
286
+ /**
287
+ * ReadWriteMany is required when a volume is shared by multiple sandboxes,
288
+ * workers, or replicas. ReadWriteOnce remains valid for single-writer app
289
+ * disks.
290
+ */
291
+ access_mode: Schema.optional<Schema.Literal<["ReadWriteOnce", "ReadWriteMany"]>>;
292
+ /**
293
+ * Optional env-facing path metadata. This does not mount the volume into an
294
+ * app service by itself; service/task mounts stay explicit bindings.
295
+ */
296
+ mount_path: Schema.optional<Schema.filter<typeof Schema.String>>;
297
+ /**
298
+ * Binding role controls env var prefix. Example: role="workspace" emits
299
+ * WORKSPACE_VOLUME_ID for a volume binding.
300
+ */
301
+ role: Schema.optional<Schema.filter<Schema.filter<Schema.filter<typeof Schema.String>>>>;
302
+ }>;
303
+ export type ManifestVolumeResource = typeof ManifestVolumeResource.Type;
229
304
  export declare const ManifestResourcesSection: Schema.Struct<{
230
305
  database: Schema.optional<Schema.Struct<{
231
306
  /** Capability-specific engine. PostgreSQL is the first supported database engine. */
232
307
  engine: Schema.optional<Schema.Literal<["postgres"]>>;
233
308
  /** CNPG tier; IMMUTABLE after creation. */
234
- tier: Schema.Literal<["nano", "micro", "standard", "large", "xl"]>;
309
+ tier: Schema.Literal<["nano", "micro", "standard", "large", "xl", "hobby", "starter", "pro", "business", "enterprise", "enterprise-2x", "enterprise-4x"]>;
235
310
  storage_gb: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
236
311
  version: Schema.optional<Schema.Literal<["15", "16", "17"]>>;
237
312
  /** Enable CNPG read-replica(s). */
@@ -239,28 +314,39 @@ export declare const ManifestResourcesSection: Schema.Struct<{
239
314
  /** Branch-per-preview (P0 gap #4 sibling). */
240
315
  branch_on_preview: Schema.optional<typeof Schema.Boolean>;
241
316
  }>>;
242
- redis: Schema.optional<Schema.Struct<{
243
- tier: Schema.Literal<["micro", "standard", "large"]>;
244
- }>>;
245
- blob: Schema.optional<Schema.Struct<{
246
- /** Ceph S3 bucket, auto-provisioned. `public` maps to presigned-URL-only. */
247
- visibility: Schema.Literal<["private", "public"]>;
317
+ kv: Schema.optional<Schema.Struct<{
318
+ /** Capability-specific engine. Valkey is the first supported KV engine. */
319
+ engine: Schema.optional<Schema.Literal<["valkey"]>>;
320
+ tier: Schema.Literal<["nano", "micro", "standard", "large", "xl", "hobby", "starter", "pro", "business", "enterprise", "enterprise-2x", "enterprise-4x"]>;
321
+ storage_gb: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
248
322
  }>>;
249
- volume: Schema.optional<Schema.Array$<Schema.Struct<{
250
- name: Schema.filter<Schema.filter<Schema.filter<typeof Schema.String>>>;
251
- /** GROW-ONLY — server rejects shrink with `409 immutable_volume_shrink`. */
252
- size_gb: Schema.filter<Schema.filter<typeof Schema.Number>>;
253
- /** ReadWriteOnce → rook-ceph-block; ReadWriteMany → rook-cephfs. */
254
- access: Schema.Literal<["ReadWriteOnce", "ReadWriteMany"]>;
255
- mount: typeof Schema.String;
256
- }>>>;
257
323
  search: Schema.optional<Schema.Struct<{
258
324
  /** Capability-specific engine. Typesense is the first supported search engine. */
259
325
  engine: Schema.optional<Schema.Literal<["typesense"]>>;
260
- tier: Schema.Literal<["micro", "standard"]>;
326
+ tier: Schema.Literal<["nano", "micro", "standard", "large", "xl", "hobby", "starter", "pro", "business", "enterprise", "enterprise-2x", "enterprise-4x"]>;
261
327
  storage_gb: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
262
328
  nodes: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
263
329
  }>>;
330
+ volume: Schema.optional<Schema.Struct<{
331
+ tier: Schema.Literal<["nano", "micro", "standard", "large", "xl", "hobby", "starter", "pro", "business", "enterprise", "enterprise-2x", "enterprise-4x"]>;
332
+ storage_gb: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
333
+ /**
334
+ * ReadWriteMany is required when a volume is shared by multiple sandboxes,
335
+ * workers, or replicas. ReadWriteOnce remains valid for single-writer app
336
+ * disks.
337
+ */
338
+ access_mode: Schema.optional<Schema.Literal<["ReadWriteOnce", "ReadWriteMany"]>>;
339
+ /**
340
+ * Optional env-facing path metadata. This does not mount the volume into an
341
+ * app service by itself; service/task mounts stay explicit bindings.
342
+ */
343
+ mount_path: Schema.optional<Schema.filter<typeof Schema.String>>;
344
+ /**
345
+ * Binding role controls env var prefix. Example: role="workspace" emits
346
+ * WORKSPACE_VOLUME_ID for a volume binding.
347
+ */
348
+ role: Schema.optional<Schema.filter<Schema.filter<Schema.filter<typeof Schema.String>>>>;
349
+ }>>;
264
350
  }>;
265
351
  export type ManifestResourcesSection = typeof ManifestResourcesSection.Type;
266
352
  export declare const ManifestCiSection: Schema.Struct<{
@@ -315,8 +401,12 @@ export declare const ManifestEnvironmentOverride: Schema.Struct<{
315
401
  * package.json / Gemfile / requirements.txt / Dockerfile.
316
402
  */
317
403
  buildpack: Schema.optional<Schema.Literal<["auto", "ruby", "node", "python", "static", "dockerfile"]>>;
404
+ /** High-level build strategy alias used by current sylphx.toml files. */
405
+ strategy: Schema.optional<Schema.Literal<["auto", "buildpack", "dockerfile", "nixpacks"]>>;
318
406
  /** Override path to Dockerfile (implies buildpack=dockerfile). */
319
407
  dockerfile: Schema.optional<typeof Schema.String>;
408
+ /** Docker build context path. `context` is the product-facing TOML alias. */
409
+ context: Schema.optional<typeof Schema.String>;
320
410
  /** Docker build context path (default: repo root). */
321
411
  docker_context: Schema.optional<typeof Schema.String>;
322
412
  /** Custom build command; overrides buildpack default. */
@@ -421,8 +511,10 @@ export declare const ManifestEnvironmentsMap: Schema.SchemaClass<{
421
511
  };
422
512
  } | undefined;
423
513
  readonly build?: {
514
+ readonly context?: string | undefined;
515
+ readonly strategy?: "auto" | "dockerfile" | "buildpack" | "nixpacks" | undefined;
424
516
  readonly dockerfile?: string | undefined;
425
- readonly buildpack?: "auto" | "ruby" | "node" | "python" | "static" | "dockerfile" | undefined;
517
+ readonly buildpack?: "auto" | "static" | "ruby" | "node" | "python" | "dockerfile" | undefined;
426
518
  readonly docker_context?: string | undefined;
427
519
  readonly build_command?: string | undefined;
428
520
  readonly ignore?: readonly string[] | undefined;
@@ -473,8 +565,10 @@ export declare const ManifestEnvironmentsMap: Schema.SchemaClass<{
473
565
  };
474
566
  } | undefined;
475
567
  readonly build?: {
568
+ readonly context?: string | undefined;
569
+ readonly strategy?: "auto" | "dockerfile" | "buildpack" | "nixpacks" | undefined;
476
570
  readonly dockerfile?: string | undefined;
477
- readonly buildpack?: "auto" | "ruby" | "node" | "python" | "static" | "dockerfile" | undefined;
571
+ readonly buildpack?: "auto" | "static" | "ruby" | "node" | "python" | "dockerfile" | undefined;
478
572
  readonly docker_context?: string | undefined;
479
573
  readonly build_command?: string | undefined;
480
574
  readonly ignore?: readonly string[] | undefined;
@@ -525,8 +619,10 @@ export declare const ManifestEnvironmentsMap: Schema.SchemaClass<{
525
619
  };
526
620
  } | undefined;
527
621
  readonly build?: {
622
+ readonly context?: string | undefined;
623
+ readonly strategy?: "auto" | "dockerfile" | "buildpack" | "nixpacks" | undefined;
528
624
  readonly dockerfile?: string | undefined;
529
- readonly buildpack?: "auto" | "ruby" | "node" | "python" | "static" | "dockerfile" | undefined;
625
+ readonly buildpack?: "auto" | "static" | "ruby" | "node" | "python" | "dockerfile" | undefined;
530
626
  readonly docker_context?: string | undefined;
531
627
  readonly build_command?: string | undefined;
532
628
  readonly ignore?: readonly string[] | undefined;
@@ -577,8 +673,10 @@ export declare const ManifestEnvironmentsMap: Schema.SchemaClass<{
577
673
  };
578
674
  } | undefined;
579
675
  readonly build?: {
676
+ readonly context?: string | undefined;
677
+ readonly strategy?: "auto" | "dockerfile" | "buildpack" | "nixpacks" | undefined;
580
678
  readonly dockerfile?: string | undefined;
581
- readonly buildpack?: "auto" | "ruby" | "node" | "python" | "static" | "dockerfile" | undefined;
679
+ readonly buildpack?: "auto" | "static" | "ruby" | "node" | "python" | "dockerfile" | undefined;
582
680
  readonly docker_context?: string | undefined;
583
681
  readonly build_command?: string | undefined;
584
682
  readonly ignore?: readonly string[] | undefined;
@@ -630,8 +728,10 @@ export declare const ManifestEnvironmentsMap: Schema.SchemaClass<{
630
728
  };
631
729
  } | undefined;
632
730
  readonly build?: {
731
+ readonly context?: string | undefined;
732
+ readonly strategy?: "auto" | "dockerfile" | "buildpack" | "nixpacks" | undefined;
633
733
  readonly dockerfile?: string | undefined;
634
- readonly buildpack?: "auto" | "ruby" | "node" | "python" | "static" | "dockerfile" | undefined;
734
+ readonly buildpack?: "auto" | "static" | "ruby" | "node" | "python" | "dockerfile" | undefined;
635
735
  readonly docker_context?: string | undefined;
636
736
  readonly build_command?: string | undefined;
637
737
  readonly ignore?: readonly string[] | undefined;
@@ -682,8 +782,10 @@ export declare const ManifestEnvironmentsMap: Schema.SchemaClass<{
682
782
  };
683
783
  } | undefined;
684
784
  readonly build?: {
785
+ readonly context?: string | undefined;
786
+ readonly strategy?: "auto" | "dockerfile" | "buildpack" | "nixpacks" | undefined;
685
787
  readonly dockerfile?: string | undefined;
686
- readonly buildpack?: "auto" | "ruby" | "node" | "python" | "static" | "dockerfile" | undefined;
788
+ readonly buildpack?: "auto" | "static" | "ruby" | "node" | "python" | "dockerfile" | undefined;
687
789
  readonly docker_context?: string | undefined;
688
790
  readonly build_command?: string | undefined;
689
791
  readonly ignore?: readonly string[] | undefined;
@@ -734,8 +836,10 @@ export declare const ManifestEnvironmentsMap: Schema.SchemaClass<{
734
836
  };
735
837
  } | undefined;
736
838
  readonly build?: {
839
+ readonly context?: string | undefined;
840
+ readonly strategy?: "auto" | "dockerfile" | "buildpack" | "nixpacks" | undefined;
737
841
  readonly dockerfile?: string | undefined;
738
- readonly buildpack?: "auto" | "ruby" | "node" | "python" | "static" | "dockerfile" | undefined;
842
+ readonly buildpack?: "auto" | "static" | "ruby" | "node" | "python" | "dockerfile" | undefined;
739
843
  readonly docker_context?: string | undefined;
740
844
  readonly build_command?: string | undefined;
741
845
  readonly ignore?: readonly string[] | undefined;
@@ -786,8 +890,10 @@ export declare const ManifestEnvironmentsMap: Schema.SchemaClass<{
786
890
  };
787
891
  } | undefined;
788
892
  readonly build?: {
893
+ readonly context?: string | undefined;
894
+ readonly strategy?: "auto" | "dockerfile" | "buildpack" | "nixpacks" | undefined;
789
895
  readonly dockerfile?: string | undefined;
790
- readonly buildpack?: "auto" | "ruby" | "node" | "python" | "static" | "dockerfile" | undefined;
896
+ readonly buildpack?: "auto" | "static" | "ruby" | "node" | "python" | "dockerfile" | undefined;
791
897
  readonly docker_context?: string | undefined;
792
898
  readonly build_command?: string | undefined;
793
899
  readonly ignore?: readonly string[] | undefined;
@@ -832,8 +938,12 @@ export declare const SylphxManifest: Schema.Struct<{
832
938
  * package.json / Gemfile / requirements.txt / Dockerfile.
833
939
  */
834
940
  buildpack: Schema.optional<Schema.Literal<["auto", "ruby", "node", "python", "static", "dockerfile"]>>;
941
+ /** High-level build strategy alias used by current sylphx.toml files. */
942
+ strategy: Schema.optional<Schema.Literal<["auto", "buildpack", "dockerfile", "nixpacks"]>>;
835
943
  /** Override path to Dockerfile (implies buildpack=dockerfile). */
836
944
  dockerfile: Schema.optional<typeof Schema.String>;
945
+ /** Docker build context path. `context` is the product-facing TOML alias. */
946
+ context: Schema.optional<typeof Schema.String>;
837
947
  /** Docker build context path (default: repo root). */
838
948
  docker_context: Schema.optional<typeof Schema.String>;
839
949
  /** Custom build command; overrides buildpack default. */
@@ -864,6 +974,20 @@ export declare const SylphxManifest: Schema.Struct<{
864
974
  /** Service name — unique within project. Used as K8s Deployment name. */
865
975
  name: Schema.filter<Schema.filter<Schema.filter<typeof Schema.String>>>;
866
976
  type: Schema.Literal<["web", "worker", "cron", "function"]>;
977
+ /** Per-service build override. Root [build] remains the default. */
978
+ build: Schema.optional<Schema.Struct<{
979
+ strategy: Schema.optional<Schema.Literal<["auto", "buildpack", "dockerfile", "nixpacks"]>>;
980
+ dockerfile: Schema.optional<typeof Schema.String>;
981
+ context: Schema.optional<typeof Schema.String>;
982
+ docker_context: Schema.optional<typeof Schema.String>;
983
+ build_command: Schema.optional<typeof Schema.String>;
984
+ }>>;
985
+ /** Per-service health contract. Platform owns probe translation. */
986
+ health: Schema.optional<Schema.Struct<{
987
+ mode: Schema.optional<Schema.Literal<["http", "tcp", "command"]>>;
988
+ path: Schema.optional<typeof Schema.String>;
989
+ command: Schema.optional<typeof Schema.String>;
990
+ }>>;
867
991
  /** Container start command. */
868
992
  command: Schema.optional<typeof Schema.String>;
869
993
  /** Internal container port; required for `web`. */
@@ -903,7 +1027,19 @@ export declare const SylphxManifest: Schema.Struct<{
903
1027
  env: Schema.optional<Schema.Array$<typeof Schema.String>>;
904
1028
  /** Per-service resource bindings (by resource name). */
905
1029
  resources: Schema.optional<Schema.Array$<Schema.filter<Schema.filter<Schema.filter<typeof Schema.String>>>>>;
1030
+ /** Paths whose changes should trigger this service in monorepos. */
1031
+ watch_paths: Schema.optional<Schema.Array$<typeof Schema.String>>;
906
1032
  }>>>;
1033
+ database: Schema.optional<Schema.Struct<{
1034
+ migrations: Schema.optional<Schema.Struct<{
1035
+ engine: Schema.Literal<["atlas", "drizzle", "prisma", "alembic", "flyway", "goose", "sqlx", "custom"]>;
1036
+ dir: Schema.optional<typeof Schema.String>;
1037
+ image: Schema.filter<Schema.filter<Schema.filter<typeof Schema.String>>>;
1038
+ command: Schema.filter<typeof Schema.String>;
1039
+ timeout: Schema.optional<typeof Schema.String>;
1040
+ destructive_policy: Schema.optional<Schema.Literal<["require-approval", "allow"]>>;
1041
+ }>>;
1042
+ }>>;
907
1043
  env: Schema.optional<Schema.Record$<typeof Schema.String, Schema.Union<[Schema.Struct<{
908
1044
  value: typeof Schema.String;
909
1045
  }>, Schema.Struct<{
@@ -960,8 +1096,10 @@ export declare const SylphxManifest: Schema.Struct<{
960
1096
  };
961
1097
  } | undefined;
962
1098
  readonly build?: {
1099
+ readonly context?: string | undefined;
1100
+ readonly strategy?: "auto" | "dockerfile" | "buildpack" | "nixpacks" | undefined;
963
1101
  readonly dockerfile?: string | undefined;
964
- readonly buildpack?: "auto" | "ruby" | "node" | "python" | "static" | "dockerfile" | undefined;
1102
+ readonly buildpack?: "auto" | "static" | "ruby" | "node" | "python" | "dockerfile" | undefined;
965
1103
  readonly docker_context?: string | undefined;
966
1104
  readonly build_command?: string | undefined;
967
1105
  readonly ignore?: readonly string[] | undefined;
@@ -1012,8 +1150,10 @@ export declare const SylphxManifest: Schema.Struct<{
1012
1150
  };
1013
1151
  } | undefined;
1014
1152
  readonly build?: {
1153
+ readonly context?: string | undefined;
1154
+ readonly strategy?: "auto" | "dockerfile" | "buildpack" | "nixpacks" | undefined;
1015
1155
  readonly dockerfile?: string | undefined;
1016
- readonly buildpack?: "auto" | "ruby" | "node" | "python" | "static" | "dockerfile" | undefined;
1156
+ readonly buildpack?: "auto" | "static" | "ruby" | "node" | "python" | "dockerfile" | undefined;
1017
1157
  readonly docker_context?: string | undefined;
1018
1158
  readonly build_command?: string | undefined;
1019
1159
  readonly ignore?: readonly string[] | undefined;
@@ -1064,8 +1204,10 @@ export declare const SylphxManifest: Schema.Struct<{
1064
1204
  };
1065
1205
  } | undefined;
1066
1206
  readonly build?: {
1207
+ readonly context?: string | undefined;
1208
+ readonly strategy?: "auto" | "dockerfile" | "buildpack" | "nixpacks" | undefined;
1067
1209
  readonly dockerfile?: string | undefined;
1068
- readonly buildpack?: "auto" | "ruby" | "node" | "python" | "static" | "dockerfile" | undefined;
1210
+ readonly buildpack?: "auto" | "static" | "ruby" | "node" | "python" | "dockerfile" | undefined;
1069
1211
  readonly docker_context?: string | undefined;
1070
1212
  readonly build_command?: string | undefined;
1071
1213
  readonly ignore?: readonly string[] | undefined;
@@ -1116,8 +1258,10 @@ export declare const SylphxManifest: Schema.Struct<{
1116
1258
  };
1117
1259
  } | undefined;
1118
1260
  readonly build?: {
1261
+ readonly context?: string | undefined;
1262
+ readonly strategy?: "auto" | "dockerfile" | "buildpack" | "nixpacks" | undefined;
1119
1263
  readonly dockerfile?: string | undefined;
1120
- readonly buildpack?: "auto" | "ruby" | "node" | "python" | "static" | "dockerfile" | undefined;
1264
+ readonly buildpack?: "auto" | "static" | "ruby" | "node" | "python" | "dockerfile" | undefined;
1121
1265
  readonly docker_context?: string | undefined;
1122
1266
  readonly build_command?: string | undefined;
1123
1267
  readonly ignore?: readonly string[] | undefined;
@@ -1169,8 +1313,10 @@ export declare const SylphxManifest: Schema.Struct<{
1169
1313
  };
1170
1314
  } | undefined;
1171
1315
  readonly build?: {
1316
+ readonly context?: string | undefined;
1317
+ readonly strategy?: "auto" | "dockerfile" | "buildpack" | "nixpacks" | undefined;
1172
1318
  readonly dockerfile?: string | undefined;
1173
- readonly buildpack?: "auto" | "ruby" | "node" | "python" | "static" | "dockerfile" | undefined;
1319
+ readonly buildpack?: "auto" | "static" | "ruby" | "node" | "python" | "dockerfile" | undefined;
1174
1320
  readonly docker_context?: string | undefined;
1175
1321
  readonly build_command?: string | undefined;
1176
1322
  readonly ignore?: readonly string[] | undefined;
@@ -1221,8 +1367,10 @@ export declare const SylphxManifest: Schema.Struct<{
1221
1367
  };
1222
1368
  } | undefined;
1223
1369
  readonly build?: {
1370
+ readonly context?: string | undefined;
1371
+ readonly strategy?: "auto" | "dockerfile" | "buildpack" | "nixpacks" | undefined;
1224
1372
  readonly dockerfile?: string | undefined;
1225
- readonly buildpack?: "auto" | "ruby" | "node" | "python" | "static" | "dockerfile" | undefined;
1373
+ readonly buildpack?: "auto" | "static" | "ruby" | "node" | "python" | "dockerfile" | undefined;
1226
1374
  readonly docker_context?: string | undefined;
1227
1375
  readonly build_command?: string | undefined;
1228
1376
  readonly ignore?: readonly string[] | undefined;
@@ -1273,8 +1421,10 @@ export declare const SylphxManifest: Schema.Struct<{
1273
1421
  };
1274
1422
  } | undefined;
1275
1423
  readonly build?: {
1424
+ readonly context?: string | undefined;
1425
+ readonly strategy?: "auto" | "dockerfile" | "buildpack" | "nixpacks" | undefined;
1276
1426
  readonly dockerfile?: string | undefined;
1277
- readonly buildpack?: "auto" | "ruby" | "node" | "python" | "static" | "dockerfile" | undefined;
1427
+ readonly buildpack?: "auto" | "static" | "ruby" | "node" | "python" | "dockerfile" | undefined;
1278
1428
  readonly docker_context?: string | undefined;
1279
1429
  readonly build_command?: string | undefined;
1280
1430
  readonly ignore?: readonly string[] | undefined;
@@ -1325,8 +1475,10 @@ export declare const SylphxManifest: Schema.Struct<{
1325
1475
  };
1326
1476
  } | undefined;
1327
1477
  readonly build?: {
1478
+ readonly context?: string | undefined;
1479
+ readonly strategy?: "auto" | "dockerfile" | "buildpack" | "nixpacks" | undefined;
1328
1480
  readonly dockerfile?: string | undefined;
1329
- readonly buildpack?: "auto" | "ruby" | "node" | "python" | "static" | "dockerfile" | undefined;
1481
+ readonly buildpack?: "auto" | "static" | "ruby" | "node" | "python" | "dockerfile" | undefined;
1330
1482
  readonly docker_context?: string | undefined;
1331
1483
  readonly build_command?: string | undefined;
1332
1484
  readonly ignore?: readonly string[] | undefined;
@@ -1347,7 +1499,7 @@ export declare const SylphxManifest: Schema.Struct<{
1347
1499
  /** Capability-specific engine. PostgreSQL is the first supported database engine. */
1348
1500
  engine: Schema.optional<Schema.Literal<["postgres"]>>;
1349
1501
  /** CNPG tier; IMMUTABLE after creation. */
1350
- tier: Schema.Literal<["nano", "micro", "standard", "large", "xl"]>;
1502
+ tier: Schema.Literal<["nano", "micro", "standard", "large", "xl", "hobby", "starter", "pro", "business", "enterprise", "enterprise-2x", "enterprise-4x"]>;
1351
1503
  storage_gb: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
1352
1504
  version: Schema.optional<Schema.Literal<["15", "16", "17"]>>;
1353
1505
  /** Enable CNPG read-replica(s). */
@@ -1355,28 +1507,39 @@ export declare const SylphxManifest: Schema.Struct<{
1355
1507
  /** Branch-per-preview (P0 gap #4 sibling). */
1356
1508
  branch_on_preview: Schema.optional<typeof Schema.Boolean>;
1357
1509
  }>>;
1358
- redis: Schema.optional<Schema.Struct<{
1359
- tier: Schema.Literal<["micro", "standard", "large"]>;
1360
- }>>;
1361
- blob: Schema.optional<Schema.Struct<{
1362
- /** Ceph S3 bucket, auto-provisioned. `public` maps to presigned-URL-only. */
1363
- visibility: Schema.Literal<["private", "public"]>;
1510
+ kv: Schema.optional<Schema.Struct<{
1511
+ /** Capability-specific engine. Valkey is the first supported KV engine. */
1512
+ engine: Schema.optional<Schema.Literal<["valkey"]>>;
1513
+ tier: Schema.Literal<["nano", "micro", "standard", "large", "xl", "hobby", "starter", "pro", "business", "enterprise", "enterprise-2x", "enterprise-4x"]>;
1514
+ storage_gb: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
1364
1515
  }>>;
1365
- volume: Schema.optional<Schema.Array$<Schema.Struct<{
1366
- name: Schema.filter<Schema.filter<Schema.filter<typeof Schema.String>>>;
1367
- /** GROW-ONLY — server rejects shrink with `409 immutable_volume_shrink`. */
1368
- size_gb: Schema.filter<Schema.filter<typeof Schema.Number>>;
1369
- /** ReadWriteOnce → rook-ceph-block; ReadWriteMany → rook-cephfs. */
1370
- access: Schema.Literal<["ReadWriteOnce", "ReadWriteMany"]>;
1371
- mount: typeof Schema.String;
1372
- }>>>;
1373
1516
  search: Schema.optional<Schema.Struct<{
1374
1517
  /** Capability-specific engine. Typesense is the first supported search engine. */
1375
1518
  engine: Schema.optional<Schema.Literal<["typesense"]>>;
1376
- tier: Schema.Literal<["micro", "standard"]>;
1519
+ tier: Schema.Literal<["nano", "micro", "standard", "large", "xl", "hobby", "starter", "pro", "business", "enterprise", "enterprise-2x", "enterprise-4x"]>;
1377
1520
  storage_gb: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
1378
1521
  nodes: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
1379
1522
  }>>;
1523
+ volume: Schema.optional<Schema.Struct<{
1524
+ tier: Schema.Literal<["nano", "micro", "standard", "large", "xl", "hobby", "starter", "pro", "business", "enterprise", "enterprise-2x", "enterprise-4x"]>;
1525
+ storage_gb: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
1526
+ /**
1527
+ * ReadWriteMany is required when a volume is shared by multiple sandboxes,
1528
+ * workers, or replicas. ReadWriteOnce remains valid for single-writer app
1529
+ * disks.
1530
+ */
1531
+ access_mode: Schema.optional<Schema.Literal<["ReadWriteOnce", "ReadWriteMany"]>>;
1532
+ /**
1533
+ * Optional env-facing path metadata. This does not mount the volume into an
1534
+ * app service by itself; service/task mounts stay explicit bindings.
1535
+ */
1536
+ mount_path: Schema.optional<Schema.filter<typeof Schema.String>>;
1537
+ /**
1538
+ * Binding role controls env var prefix. Example: role="workspace" emits
1539
+ * WORKSPACE_VOLUME_ID for a volume binding.
1540
+ */
1541
+ role: Schema.optional<Schema.filter<Schema.filter<Schema.filter<typeof Schema.String>>>>;
1542
+ }>>;
1380
1543
  }>>;
1381
1544
  ci: Schema.optional<Schema.Struct<{
1382
1545
  on_push: Schema.optional<typeof Schema.Boolean>;