@stacksjs/ts-cloud 0.7.55 → 0.7.57

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 (467) hide show
  1. package/dist/alerts/alerts.test.d.ts +1 -0
  2. package/dist/alerts/delivery.d.ts +45 -0
  3. package/dist/alerts/evaluator.d.ts +12 -0
  4. package/dist/alerts/health.d.ts +34 -0
  5. package/dist/alerts/index.d.ts +6 -0
  6. package/dist/alerts/model.d.ts +170 -0
  7. package/dist/alerts/store.d.ts +90 -0
  8. package/dist/alerts/telemetry.d.ts +3 -0
  9. package/dist/api/client.d.ts +197 -0
  10. package/dist/api/handler.d.ts +18 -0
  11. package/dist/api/handler.test.d.ts +1 -0
  12. package/dist/api/index.d.ts +6 -0
  13. package/dist/api/openapi.d.ts +2 -0
  14. package/dist/api/service.d.ts +28 -0
  15. package/dist/api/types.d.ts +119 -0
  16. package/dist/auth/encryption.d.ts +3 -0
  17. package/dist/auth/index.d.ts +8 -0
  18. package/dist/auth/mailer.d.ts +9 -0
  19. package/dist/auth/oidc.d.ts +36 -0
  20. package/dist/auth/oidc.test.d.ts +1 -0
  21. package/dist/auth/store.d.ts +121 -0
  22. package/dist/auth/store.test.d.ts +1 -0
  23. package/dist/auth/totp.d.ts +11 -0
  24. package/dist/auth/totp.test.d.ts +1 -0
  25. package/dist/auth/types.d.ts +138 -0
  26. package/dist/automation/index.d.ts +2 -0
  27. package/dist/automation/store.d.ts +46 -0
  28. package/dist/automation/store.test.d.ts +1 -0
  29. package/dist/automation/types.d.ts +66 -0
  30. package/dist/aws/acm.d.ts +0 -4
  31. package/dist/aws/application-autoscaling.d.ts +0 -5
  32. package/dist/aws/backup.d.ts +42 -0
  33. package/dist/aws/bedrock.d.ts +0 -5
  34. package/dist/aws/client.d.ts +3 -6
  35. package/dist/aws/cloudformation.d.ts +0 -4
  36. package/dist/aws/cloudfront-media.test.d.ts +1 -0
  37. package/dist/aws/cloudfront-origin.test.d.ts +1 -0
  38. package/dist/aws/cloudfront.d.ts +87 -3
  39. package/dist/aws/cloudwatch-logs.d.ts +2 -4
  40. package/dist/aws/cloudwatch.d.ts +1 -1
  41. package/dist/aws/comprehend.d.ts +0 -5
  42. package/dist/aws/connect.d.ts +0 -4
  43. package/dist/aws/cost-explorer-cache.d.ts +1 -15
  44. package/dist/aws/cost-explorer.d.ts +18 -9
  45. package/dist/aws/cost-explorer.test.d.ts +1 -0
  46. package/dist/aws/dynamodb.d.ts +0 -4
  47. package/dist/aws/ec2.d.ts +0 -4
  48. package/dist/aws/ecr.d.ts +0 -4
  49. package/dist/aws/ecs.d.ts +17 -7
  50. package/dist/aws/efs.d.ts +0 -4
  51. package/dist/aws/elasticache.d.ts +0 -4
  52. package/dist/aws/elbv2.d.ts +0 -7
  53. package/dist/aws/email.d.ts +0 -10
  54. package/dist/aws/eventbridge.d.ts +0 -4
  55. package/dist/aws/iam.d.ts +1 -5
  56. package/dist/aws/imap-server.d.ts +0 -7
  57. package/dist/aws/index.d.ts +4 -3
  58. package/dist/aws/index.js +31 -31
  59. package/dist/aws/kendra.d.ts +0 -5
  60. package/dist/aws/lambda.d.ts +3 -5
  61. package/dist/aws/opensearch.d.ts +0 -4
  62. package/dist/aws/personalize.d.ts +0 -5
  63. package/dist/aws/polly.d.ts +0 -5
  64. package/dist/aws/rds.d.ts +59 -4
  65. package/dist/aws/rekognition.d.ts +0 -5
  66. package/dist/aws/route53-domains.d.ts +0 -4
  67. package/dist/aws/route53.d.ts +0 -4
  68. package/dist/aws/s3.d.ts +10 -6
  69. package/dist/aws/scheduler.d.ts +0 -4
  70. package/dist/aws/secrets-manager.d.ts +0 -4
  71. package/dist/aws/setup-sms.d.ts +0 -14
  72. package/dist/aws/sms.d.ts +0 -10
  73. package/dist/aws/smtp-server.d.ts +0 -11
  74. package/dist/aws/sns.d.ts +0 -4
  75. package/dist/aws/sqs.d.ts +0 -4
  76. package/dist/aws/ssm.d.ts +0 -4
  77. package/dist/aws/sts.d.ts +0 -4
  78. package/dist/aws/support.d.ts +0 -4
  79. package/dist/aws/textract.d.ts +0 -5
  80. package/dist/aws/transcribe.d.ts +0 -4
  81. package/dist/aws/translate.d.ts +0 -5
  82. package/dist/aws/voice.d.ts +0 -11
  83. package/dist/aws/xray.d.ts +1 -0
  84. package/dist/backups/aws-database-source.d.ts +19 -0
  85. package/dist/backups/aws-database-source.test.d.ts +1 -0
  86. package/dist/backups/aws-infrastructure-source.d.ts +43 -0
  87. package/dist/backups/aws-infrastructure-source.test.d.ts +1 -0
  88. package/dist/backups/control-plane-source.d.ts +16 -0
  89. package/dist/backups/control-plane-source.test.d.ts +1 -0
  90. package/dist/backups/docker-volume-source.d.ts +31 -0
  91. package/dist/backups/docker-volume-source.test.d.ts +1 -0
  92. package/dist/backups/filesystem-source.d.ts +34 -0
  93. package/dist/backups/filesystem-source.test.d.ts +1 -0
  94. package/dist/backups/index.d.ts +10 -0
  95. package/dist/backups/logical-database-source.d.ts +16 -0
  96. package/dist/backups/logical-database-source.test.d.ts +1 -0
  97. package/dist/backups/model.d.ts +121 -0
  98. package/dist/backups/s3-destination.d.ts +85 -0
  99. package/dist/backups/s3-destination.test.d.ts +1 -0
  100. package/dist/backups/service.d.ts +80 -0
  101. package/dist/backups/service.test.d.ts +1 -0
  102. package/dist/backups/store.d.ts +30 -0
  103. package/dist/backups/store.test.d.ts +1 -0
  104. package/dist/bin/cli.js +3360 -1802
  105. package/dist/{chunk-tjjgajbh.js → chunk-01d86gt1.js} +301 -9
  106. package/dist/{chunk-73vcqg6z.js → chunk-0z43x8re.js} +7 -7
  107. package/dist/{chunk-tnztxpcb.js → chunk-32e7ya18.js} +61 -49
  108. package/dist/{chunk-qpj3edwz.js → chunk-4cjrg98a.js} +3 -7
  109. package/dist/{chunk-hsk6fe6x.js → chunk-50jpda9q.js} +2 -2
  110. package/dist/{chunk-93hjhs78.js → chunk-703nkybg.js} +1 -1
  111. package/dist/{chunk-d5vqwj8s.js → chunk-9m6b4m74.js} +755 -720
  112. package/dist/chunk-e05phx5f.js +10 -0
  113. package/dist/{chunk-f29w04w5.js → chunk-exbcsab2.js} +10 -4
  114. package/dist/{chunk-eq08r166.js → chunk-f55nkpvb.js} +2 -2
  115. package/dist/{chunk-3bfv1z4v.js → chunk-fv1bj3yt.js} +63 -56
  116. package/dist/chunk-fw3q88wk.js +48641 -0
  117. package/dist/{chunk-3knnr7wh.js → chunk-he9a874b.js} +170 -2
  118. package/dist/{chunk-zn0nxxa8.js → chunk-hpv68b4a.js} +1070 -1070
  119. package/dist/chunk-k114qwg9.js +12 -0
  120. package/dist/{chunk-r16e02bc.js → chunk-vdk53yyq.js} +3900 -4101
  121. package/dist/{chunk-jp2a8yad.js → chunk-vvkd46k1.js} +15 -13
  122. package/dist/{chunk-vd87cpvn.js → chunk-wj3s95p9.js} +62 -46
  123. package/dist/{chunk-mj1tmhte.js → chunk-x9s0cqfx.js} +1 -1
  124. package/dist/{chunk-3rsfns7x.js → chunk-ybcz6sxc.js} +2048 -387
  125. package/dist/{chunk-arsh1g5h.js → chunk-zqtpg06c.js} +14 -11
  126. package/dist/compose/index.d.ts +6 -0
  127. package/dist/compose/parser.d.ts +13 -0
  128. package/dist/compose/parser.test.d.ts +1 -0
  129. package/dist/compose/runtime.d.ts +10 -0
  130. package/dist/compose/service.d.ts +18 -0
  131. package/dist/compose/store.d.ts +59 -0
  132. package/dist/compose/store.test.d.ts +1 -0
  133. package/dist/compose/templates.d.ts +17 -0
  134. package/dist/compose/types.d.ts +164 -0
  135. package/dist/configuration/backends.d.ts +66 -0
  136. package/dist/configuration/backends.test.d.ts +1 -0
  137. package/dist/configuration/dotenv.d.ts +14 -0
  138. package/dist/configuration/dotenv.test.d.ts +1 -0
  139. package/dist/configuration/index.d.ts +6 -0
  140. package/dist/configuration/migrate.d.ts +10 -0
  141. package/dist/configuration/migrate.test.d.ts +1 -0
  142. package/dist/configuration/model.d.ts +50 -0
  143. package/dist/configuration/service.d.ts +144 -0
  144. package/dist/configuration/service.test.d.ts +1 -0
  145. package/dist/configuration/store.d.ts +33 -0
  146. package/dist/configuration/store.test.d.ts +1 -0
  147. package/dist/control-plane/authorization.d.ts +24 -0
  148. package/dist/control-plane/authorization.test.d.ts +1 -0
  149. package/dist/control-plane/index.d.ts +8 -0
  150. package/dist/control-plane/migrations.d.ts +7 -0
  151. package/dist/control-plane/search.d.ts +25 -0
  152. package/dist/control-plane/store.d.ts +117 -0
  153. package/dist/control-plane/store.test.d.ts +1 -0
  154. package/dist/control-plane/types.d.ts +381 -0
  155. package/dist/cost/reporting.d.ts +24 -0
  156. package/dist/cost/reporting.test.d.ts +1 -0
  157. package/dist/cost/resource-inventory.d.ts +32 -0
  158. package/dist/cost/resource-inventory.test.d.ts +1 -0
  159. package/dist/cost/resource-optimization.d.ts +59 -0
  160. package/dist/cost/resource-optimization.test.d.ts +1 -0
  161. package/dist/data-services/adapters.d.ts +39 -0
  162. package/dist/data-services/aws-transports.d.ts +29 -0
  163. package/dist/data-services/aws-transports.test.d.ts +1 -0
  164. package/dist/data-services/capabilities.d.ts +2 -0
  165. package/dist/data-services/data-services.test.d.ts +1 -0
  166. package/dist/data-services/docker-transport.d.ts +55 -0
  167. package/dist/data-services/docker-transport.test.d.ts +1 -0
  168. package/dist/data-services/index.d.ts +8 -0
  169. package/dist/data-services/model.d.ts +79 -0
  170. package/dist/data-services/secrets.d.ts +13 -0
  171. package/dist/data-services/secrets.test.d.ts +1 -0
  172. package/dist/data-services/service.d.ts +51 -0
  173. package/dist/data-services/store.d.ts +17 -0
  174. package/dist/deploy/container-image.d.ts +28 -0
  175. package/dist/deploy/container-image.test.d.ts +1 -0
  176. package/dist/deploy/dashboard-audit.test.d.ts +1 -0
  177. package/dist/deploy/dashboard-auth.d.ts +4 -23
  178. package/dist/deploy/dashboard-backups.integration.test.d.ts +1 -0
  179. package/dist/deploy/dashboard-configuration.integration.test.d.ts +1 -0
  180. package/dist/deploy/dashboard-control-plane.d.ts +37 -0
  181. package/dist/deploy/dashboard-control-plane.test.d.ts +1 -0
  182. package/dist/deploy/dashboard-data-services.integration.test.d.ts +1 -0
  183. package/dist/deploy/dashboard-environment-scope.test.d.ts +1 -0
  184. package/dist/deploy/dashboard-guard.d.ts +12 -0
  185. package/dist/deploy/dashboard-guard.test.d.ts +1 -0
  186. package/dist/deploy/dashboard-identities.d.ts +15 -0
  187. package/dist/deploy/dashboard-identities.test.d.ts +1 -0
  188. package/dist/deploy/dashboard-jobs.integration.test.d.ts +1 -0
  189. package/dist/deploy/dashboard-login-page.d.ts +5 -5
  190. package/dist/deploy/dashboard-login-page.test.d.ts +1 -0
  191. package/dist/deploy/dashboard-oidc.integration.test.d.ts +1 -0
  192. package/dist/deploy/dashboard-onboarding.integration.test.d.ts +1 -0
  193. package/dist/deploy/dashboard-policy.d.ts +4 -2
  194. package/dist/deploy/dashboard-queue-worker.integration.test.d.ts +1 -0
  195. package/dist/deploy/dashboard-release.integration.test.d.ts +1 -0
  196. package/dist/deploy/dashboard-route-manifest.d.ts +14 -0
  197. package/dist/deploy/dashboard-route-manifest.test.d.ts +1 -0
  198. package/dist/deploy/dashboard-security.integration.test.d.ts +1 -0
  199. package/dist/deploy/dashboard-session.d.ts +3 -14
  200. package/dist/deploy/dashboard-source.integration.test.d.ts +1 -0
  201. package/dist/deploy/dashboard-users.d.ts +3 -0
  202. package/dist/deploy/fullstack-container.d.ts +87 -0
  203. package/dist/deploy/fullstack-container.test.d.ts +1 -0
  204. package/dist/deploy/index.d.ts +7 -2
  205. package/dist/deploy/index.js +65 -25
  206. package/dist/deploy/local-dashboard-server.d.ts +30 -0
  207. package/dist/deploy/quick-deploy.d.ts +1 -1
  208. package/dist/deploy/serverless-operations.d.ts +1 -0
  209. package/dist/deploy/site-target.d.ts +16 -0
  210. package/dist/deploy/static-api-origin.d.ts +107 -0
  211. package/dist/deploy/static-api-origin.test.d.ts +1 -0
  212. package/dist/deploy/static-site-helper.d.ts +0 -16
  213. package/dist/deploy/telemetry-access.d.ts +5 -0
  214. package/dist/deploy/telemetry-access.test.d.ts +1 -0
  215. package/dist/deploy/telemetry-collection.d.ts +44 -0
  216. package/dist/deploy/telemetry-collection.test.d.ts +1 -0
  217. package/dist/dns/index.js +3 -3
  218. package/dist/dns/route53-adapter.d.ts +1 -1
  219. package/dist/drivers/hetzner/cloud-init.d.ts +1 -1
  220. package/dist/drivers/index.d.ts +2 -2
  221. package/dist/drivers/index.js +6 -6
  222. package/dist/drivers/shared/notifications.d.ts +1 -1
  223. package/dist/drivers/shared/rpx-gateway.d.ts +1 -0
  224. package/dist/fleet/fleet.test.d.ts +1 -0
  225. package/dist/fleet/index.d.ts +144 -0
  226. package/dist/fleet/queue.d.ts +3 -0
  227. package/dist/fleet/ssh-driver.d.ts +34 -0
  228. package/dist/index.d.ts +28 -4
  229. package/dist/index.js +1132 -424
  230. package/dist/jobs/adapters.d.ts +23 -0
  231. package/dist/jobs/index.d.ts +7 -0
  232. package/dist/jobs/jobs.test.d.ts +1 -0
  233. package/dist/jobs/model.d.ts +100 -0
  234. package/dist/jobs/provider-adapters.d.ts +49 -0
  235. package/dist/jobs/reconcile.d.ts +19 -0
  236. package/dist/jobs/schedule.d.ts +9 -0
  237. package/dist/jobs/service.d.ts +30 -0
  238. package/dist/jobs/store.d.ts +48 -0
  239. package/dist/maintenance/drivers.d.ts +117 -0
  240. package/dist/maintenance/index.d.ts +6 -0
  241. package/dist/maintenance/maintenance.test.d.ts +1 -0
  242. package/dist/maintenance/manifest.d.ts +15 -0
  243. package/dist/maintenance/queue.d.ts +9 -0
  244. package/dist/maintenance/service.d.ts +31 -0
  245. package/dist/maintenance/store.d.ts +84 -0
  246. package/dist/maintenance/types.d.ts +192 -0
  247. package/dist/media.d.ts +62 -0
  248. package/dist/media.test.d.ts +1 -0
  249. package/dist/object-storage/index.d.ts +0 -24
  250. package/dist/onboarding/archive.d.ts +12 -0
  251. package/dist/onboarding/artifact-store.d.ts +22 -0
  252. package/dist/onboarding/detection.d.ts +8 -0
  253. package/dist/onboarding/index.d.ts +9 -0
  254. package/dist/onboarding/migrations.d.ts +3 -0
  255. package/dist/onboarding/onboarding.test.d.ts +1 -0
  256. package/dist/onboarding/plan.d.ts +3 -0
  257. package/dist/onboarding/registry.d.ts +41 -0
  258. package/dist/onboarding/service.d.ts +16 -0
  259. package/dist/onboarding/store.d.ts +30 -0
  260. package/dist/onboarding/types.d.ts +204 -0
  261. package/dist/placement/builds.d.ts +20 -0
  262. package/dist/placement/drivers.d.ts +54 -0
  263. package/dist/placement/index.d.ts +6 -0
  264. package/dist/placement/placement.test.d.ts +1 -0
  265. package/dist/placement/queue.d.ts +4 -0
  266. package/dist/placement/service.d.ts +34 -0
  267. package/dist/placement/store.d.ts +49 -0
  268. package/dist/placement/types.d.ts +109 -0
  269. package/dist/preview/index.d.ts +3 -0
  270. package/dist/preview/service.d.ts +45 -0
  271. package/dist/preview/service.test.d.ts +1 -0
  272. package/dist/preview/store.d.ts +47 -0
  273. package/dist/preview/store.test.d.ts +1 -0
  274. package/dist/preview/types.d.ts +99 -0
  275. package/dist/push/apns.d.ts +0 -26
  276. package/dist/push/fcm.d.ts +0 -23
  277. package/dist/push/index.d.ts +2 -2
  278. package/dist/push/index.js +1 -1
  279. package/dist/queue/deployment-handlers.d.ts +27 -0
  280. package/dist/queue/deployment-handlers.test.d.ts +1 -0
  281. package/dist/queue/index.d.ts +4 -0
  282. package/dist/queue/queue.d.ts +57 -0
  283. package/dist/queue/queue.test.d.ts +1 -0
  284. package/dist/queue/types.d.ts +93 -0
  285. package/dist/queue/worker.d.ts +32 -0
  286. package/dist/queue/worker.test.d.ts +1 -0
  287. package/dist/regions/drivers.d.ts +139 -0
  288. package/dist/regions/index.d.ts +5 -0
  289. package/dist/regions/queue.d.ts +4 -0
  290. package/dist/regions/regions.test.d.ts +1 -0
  291. package/dist/regions/service.d.ts +23 -0
  292. package/dist/regions/store.d.ts +41 -0
  293. package/dist/regions/types.d.ts +132 -0
  294. package/dist/release/index.d.ts +6 -0
  295. package/dist/release/queue.d.ts +15 -0
  296. package/dist/release/queue.test.d.ts +1 -0
  297. package/dist/release/runtime.d.ts +35 -0
  298. package/dist/release/runtime.test.d.ts +1 -0
  299. package/dist/release/service.d.ts +28 -0
  300. package/dist/release/store.d.ts +88 -0
  301. package/dist/release/store.test.d.ts +1 -0
  302. package/dist/release/strategy.d.ts +8 -0
  303. package/dist/release/types.d.ts +103 -0
  304. package/dist/runtime/adapters/aws.d.ts +5 -0
  305. package/dist/runtime/adapters/docker.d.ts +53 -0
  306. package/dist/runtime/adapters/systemd.d.ts +26 -0
  307. package/dist/runtime/index.d.ts +9 -0
  308. package/dist/runtime/inventory.d.ts +6 -0
  309. package/dist/runtime/model.d.ts +130 -0
  310. package/dist/runtime/normalize.d.ts +5 -0
  311. package/dist/runtime/operations.d.ts +113 -0
  312. package/dist/runtime/service.d.ts +32 -0
  313. package/dist/runtime/streams.d.ts +49 -0
  314. package/dist/security/artifacts.d.ts +105 -0
  315. package/dist/security/artifacts.test.d.ts +1 -0
  316. package/dist/security/container-release.d.ts +35 -0
  317. package/dist/security/container-release.test.d.ts +1 -0
  318. package/dist/security/index.d.ts +8 -0
  319. package/dist/security/integration.d.ts +41 -0
  320. package/dist/security/integration.test.d.ts +1 -0
  321. package/dist/security/posture-store.d.ts +80 -0
  322. package/dist/security/posture-store.test.d.ts +1 -0
  323. package/dist/security/pre-deploy-scanner.d.ts +0 -4
  324. package/dist/security/scanners.d.ts +81 -0
  325. package/dist/security/scanners.test.d.ts +1 -0
  326. package/dist/security/types.d.ts +150 -0
  327. package/dist/source/git-workspace.d.ts +26 -0
  328. package/dist/source/git-workspace.test.d.ts +1 -0
  329. package/dist/source/index.d.ts +6 -0
  330. package/dist/source/providers.d.ts +199 -0
  331. package/dist/source/providers.test.d.ts +1 -0
  332. package/dist/source/service.d.ts +18 -0
  333. package/dist/source/store.d.ts +149 -0
  334. package/dist/source/store.test.d.ts +1 -0
  335. package/dist/source/types.d.ts +191 -0
  336. package/dist/source/webhooks.d.ts +33 -0
  337. package/dist/source/webhooks.test.d.ts +1 -0
  338. package/dist/ssl/acme-client.d.ts +0 -6
  339. package/dist/storage/compose.d.ts +4 -0
  340. package/dist/storage/compose.test.d.ts +1 -0
  341. package/dist/storage/drivers.d.ts +107 -0
  342. package/dist/storage/drivers.test.d.ts +1 -0
  343. package/dist/storage/index.d.ts +5 -0
  344. package/dist/storage/model.d.ts +112 -0
  345. package/dist/storage/service.d.ts +95 -0
  346. package/dist/storage/storage.test.d.ts +1 -0
  347. package/dist/storage/store.d.ts +40 -0
  348. package/dist/telemetry/correlation.test.d.ts +1 -0
  349. package/dist/telemetry/index.d.ts +4 -0
  350. package/dist/telemetry/model.d.ts +145 -0
  351. package/dist/telemetry/policy.d.ts +8 -0
  352. package/dist/telemetry/policy.test.d.ts +1 -0
  353. package/dist/telemetry/redaction.d.ts +9 -0
  354. package/dist/telemetry/store.d.ts +34 -0
  355. package/dist/telemetry/store.test.d.ts +1 -0
  356. package/dist/ui/404.html +1506 -17
  357. package/dist/ui/accept-invitation.html +1163 -0
  358. package/dist/ui/{server/backups.html → access-denied.html} +344 -55
  359. package/dist/ui/account/automation.html +1669 -0
  360. package/dist/ui/account/security.html +1646 -0
  361. package/dist/ui/applications/compose.html +1590 -0
  362. package/dist/ui/applications/new.html +1868 -0
  363. package/dist/ui/data/backups.html +1757 -0
  364. package/dist/ui/data/services.html +1723 -0
  365. package/dist/ui/data/volumes.html +1639 -0
  366. package/dist/ui/index.html +392 -29
  367. package/dist/ui/integrations.html +1865 -0
  368. package/dist/ui/operations/alerts.html +1610 -0
  369. package/dist/ui/operations/configuration.html +1746 -0
  370. package/dist/ui/operations/jobs.html +1709 -0
  371. package/dist/ui/operations/maintenance.html +1540 -0
  372. package/dist/ui/operations/observability.html +1742 -0
  373. package/dist/ui/{serverless/scheduler.html → operations/previews.html} +447 -46
  374. package/dist/ui/operations/queue.html +1615 -0
  375. package/dist/ui/{server/workers.html → operations/regions.html} +413 -49
  376. package/dist/ui/operations/releases.html +1596 -0
  377. package/dist/ui/operations/workloads.html +1775 -0
  378. package/dist/ui/security.html +1767 -0
  379. package/dist/ui/server/actions.html +446 -57
  380. package/dist/ui/server/activity.html +346 -1
  381. package/dist/ui/server/capacity.html +1542 -0
  382. package/dist/ui/server/database.html +443 -36
  383. package/dist/ui/server/deployments.html +439 -53
  384. package/dist/ui/server/diagnostics.html +346 -1
  385. package/dist/ui/server/firewall.html +476 -50
  386. package/dist/ui/server/fleet.html +1577 -0
  387. package/dist/ui/server/logs.html +389 -25
  388. package/dist/ui/server/metrics.html +346 -1
  389. package/dist/ui/server/security.html +346 -1
  390. package/dist/ui/server/services.html +421 -46
  391. package/dist/ui/server/sites.html +476 -95
  392. package/dist/ui/server/ssh-keys.html +476 -46
  393. package/dist/ui/server/team.html +700 -77
  394. package/dist/ui/server/terminal.html +444 -54
  395. package/dist/ui/serverless/alarms.html +430 -42
  396. package/dist/ui/serverless/assets.html +421 -46
  397. package/dist/ui/serverless/cost.html +346 -1
  398. package/dist/ui/serverless/data.html +422 -47
  399. package/dist/ui/serverless/deployments.html +421 -46
  400. package/dist/ui/serverless/firewall.html +346 -1
  401. package/dist/ui/serverless/functions.html +423 -48
  402. package/dist/ui/serverless/logs.html +389 -25
  403. package/dist/ui/serverless/metrics.html +346 -1
  404. package/dist/ui/serverless/queues.html +448 -62
  405. package/dist/ui/serverless/secrets.html +448 -42
  406. package/dist/ui/serverless/traces.html +350 -5
  407. package/dist/ui/serverless.html +434 -58
  408. package/dist/ui-src/pages/404.stx +18 -0
  409. package/dist/ui-src/pages/accept-invitation.stx +50 -0
  410. package/dist/ui-src/pages/access-denied.stx +18 -0
  411. package/dist/ui-src/pages/account/automation.stx +187 -0
  412. package/dist/ui-src/pages/account/security.stx +249 -0
  413. package/dist/ui-src/pages/applications/compose.stx +38 -0
  414. package/dist/ui-src/pages/applications/new.stx +76 -0
  415. package/dist/ui-src/pages/data/backups.stx +214 -0
  416. package/dist/ui-src/pages/data/services.stx +257 -0
  417. package/dist/ui-src/pages/data/volumes.stx +40 -0
  418. package/dist/ui-src/pages/index.stx +24 -10
  419. package/dist/ui-src/pages/integrations.stx +186 -0
  420. package/dist/ui-src/pages/operations/alerts.stx +40 -0
  421. package/dist/ui-src/pages/operations/configuration.stx +164 -0
  422. package/dist/ui-src/pages/operations/jobs.stx +238 -0
  423. package/dist/ui-src/pages/operations/maintenance.stx +15 -0
  424. package/dist/ui-src/pages/operations/observability.stx +76 -0
  425. package/dist/ui-src/pages/operations/previews.stx +62 -0
  426. package/dist/ui-src/pages/operations/queue.stx +158 -0
  427. package/dist/ui-src/pages/operations/regions.stx +12 -0
  428. package/dist/ui-src/pages/operations/releases.stx +39 -0
  429. package/dist/ui-src/pages/operations/workloads.stx +151 -0
  430. package/dist/ui-src/pages/partials/head.stx +148 -15
  431. package/dist/ui-src/pages/partials/nav.stx +491 -74
  432. package/dist/ui-src/pages/partials/op-confirm.stx +6 -6
  433. package/dist/ui-src/pages/security.stx +264 -0
  434. package/dist/ui-src/pages/server/actions.stx +17 -26
  435. package/dist/ui-src/pages/server/capacity.stx +16 -0
  436. package/dist/ui-src/pages/server/database.stx +31 -16
  437. package/dist/ui-src/pages/server/deployments.stx +28 -30
  438. package/dist/ui-src/pages/server/firewall.stx +25 -30
  439. package/dist/ui-src/pages/server/fleet.stx +10 -0
  440. package/dist/ui-src/pages/server/logs.stx +11 -9
  441. package/dist/ui-src/pages/server/metrics.stx +8 -16
  442. package/dist/ui-src/pages/server/services.stx +19 -28
  443. package/dist/ui-src/pages/server/sites.stx +75 -72
  444. package/dist/ui-src/pages/server/ssh-keys.stx +24 -30
  445. package/dist/ui-src/pages/server/team.stx +286 -149
  446. package/dist/ui-src/pages/server/terminal.stx +6 -28
  447. package/dist/ui-src/pages/serverless/alarms.stx +17 -31
  448. package/dist/ui-src/pages/serverless/assets.stx +13 -22
  449. package/dist/ui-src/pages/serverless/cost.stx +15 -3
  450. package/dist/ui-src/pages/serverless/data.stx +12 -25
  451. package/dist/ui-src/pages/serverless/deployments.stx +14 -23
  452. package/dist/ui-src/pages/serverless/firewall.stx +5 -1
  453. package/dist/ui-src/pages/serverless/functions.stx +20 -26
  454. package/dist/ui-src/pages/serverless/logs.stx +11 -10
  455. package/dist/ui-src/pages/serverless/metrics.stx +18 -17
  456. package/dist/ui-src/pages/serverless/queues.stx +34 -42
  457. package/dist/ui-src/pages/serverless/secrets.stx +31 -34
  458. package/dist/ui-src/pages/serverless/traces.stx +2 -6
  459. package/dist/ui-src/pages/serverless.stx +40 -74
  460. package/package.json +11 -11
  461. package/dist/chunk-b17vf1g1.js +0 -13787
  462. package/dist/chunk-b82pbxyp.js +0 -1572
  463. package/dist/chunk-pqfzdg68.js +0 -12
  464. package/dist/chunk-z58fqnjm.js +0 -10
  465. package/dist/ui-src/pages/server/backups.stx +0 -91
  466. package/dist/ui-src/pages/server/workers.stx +0 -99
  467. package/dist/ui-src/pages/serverless/scheduler.stx +0 -89
@@ -0,0 +1,192 @@
1
+ import type { JsonValue } from '../control-plane';
2
+ export interface PlatformUpdateDocument {
3
+ version: string;
4
+ channel: 'stable' | 'preview' | 'nightly';
5
+ publishedAt: string;
6
+ minimumSchema: number;
7
+ maximumSchema: number;
8
+ minimumVersion?: string;
9
+ artifacts: Array<{
10
+ platform: string;
11
+ architecture: string;
12
+ url: string;
13
+ sha256: string;
14
+ sizeBytes: number;
15
+ }>;
16
+ migrations: Array<{
17
+ id: string;
18
+ reversible: boolean;
19
+ description: string;
20
+ }>;
21
+ releaseNotes?: string;
22
+ }
23
+ export interface TrustedUpdateKey {
24
+ id: string;
25
+ organizationId: string;
26
+ name: string;
27
+ algorithm: 'ed25519';
28
+ publicKeyPem: string;
29
+ fingerprint: string;
30
+ revokedAt?: string;
31
+ createdAt: string;
32
+ }
33
+ export interface PlatformUpdateManifest {
34
+ id: string;
35
+ organizationId: string;
36
+ version: string;
37
+ channel: PlatformUpdateDocument['channel'];
38
+ publishedAt: string;
39
+ keyId: string;
40
+ digest: string;
41
+ document: PlatformUpdateDocument;
42
+ signature: string;
43
+ verificationStatus: 'verified' | 'invalid' | 'revoked';
44
+ compatibility: {
45
+ compatible: boolean;
46
+ reasons: string[];
47
+ };
48
+ createdAt: string;
49
+ }
50
+ export interface MaintenanceWindow {
51
+ id: string;
52
+ projectId: string;
53
+ name: string;
54
+ schedule: string;
55
+ timezone: string;
56
+ durationMinutes: number;
57
+ allowedOperations: string[];
58
+ requireApproval: boolean;
59
+ enabled: boolean;
60
+ createdAt: string;
61
+ updatedAt: string;
62
+ }
63
+ export interface UpgradeCampaign {
64
+ id: string;
65
+ projectId: string;
66
+ manifestId: string;
67
+ windowId?: string;
68
+ fromVersion: string;
69
+ strategy: 'canary' | 'rolling';
70
+ batchSize: number;
71
+ healthGate: Record<string, JsonValue>;
72
+ status: 'planned' | 'queued' | 'running' | 'paused' | 'rolling_back' | 'succeeded' | 'failed' | 'rolled_back' | 'cancelled';
73
+ currentStage?: string;
74
+ backupId?: string;
75
+ approvedBy?: string;
76
+ createdAt: string;
77
+ updatedAt: string;
78
+ }
79
+ export interface UpgradeTarget {
80
+ id: string;
81
+ campaignId: string;
82
+ serverId?: string;
83
+ target: string;
84
+ cohort: number;
85
+ previousVersion: string;
86
+ status: 'pending' | 'downloading' | 'installing' | 'healthy' | 'failed' | 'rolling_back' | 'rolled_back' | 'skipped';
87
+ evidence: Record<string, JsonValue>;
88
+ error?: string;
89
+ startedAt?: string;
90
+ finishedAt?: string;
91
+ createdAt: string;
92
+ updatedAt: string;
93
+ }
94
+ export interface CleanupCandidate {
95
+ id: string;
96
+ kind: string;
97
+ label: string;
98
+ bytes: number;
99
+ metadata?: Record<string, JsonValue>;
100
+ }
101
+ export interface CleanupPlan {
102
+ id: string;
103
+ projectId: string;
104
+ kind: 'releases' | 'artifacts' | 'operations' | 'logs' | 'previews' | 'snapshots' | 'orphaned_resources';
105
+ criteria: Record<string, JsonValue>;
106
+ candidates: CleanupCandidate[];
107
+ candidateDigest: string;
108
+ estimatedBytes: number;
109
+ status: 'preview' | 'approved' | 'running' | 'succeeded' | 'partial' | 'failed' | 'expired';
110
+ confirmation?: string;
111
+ expiresAt: string;
112
+ result: Record<string, JsonValue>;
113
+ createdAt: string;
114
+ updatedAt: string;
115
+ }
116
+ export interface DisasterRecoveryDrill {
117
+ id: string;
118
+ projectId: string;
119
+ backupPolicyId?: string;
120
+ recoveryPointId?: string;
121
+ topologyId?: string;
122
+ scenario: 'control_plane' | 'database' | 'volume' | 'regional';
123
+ isolatedTarget: string;
124
+ expectedRpoMinutes: number;
125
+ expectedRtoMinutes: number;
126
+ status: 'planned' | 'queued' | 'restoring' | 'verifying' | 'cleaning' | 'passed' | 'failed' | 'cleanup_required' | 'cancelled';
127
+ operationId?: string;
128
+ evidence: Record<string, JsonValue>;
129
+ measuredRpoMinutes?: number;
130
+ measuredRtoMinutes?: number;
131
+ cleanupVerified: boolean;
132
+ error?: string;
133
+ startedAt?: string;
134
+ finishedAt?: string;
135
+ createdAt: string;
136
+ updatedAt: string;
137
+ }
138
+ export interface PlatformMaintenanceDriver {
139
+ download(input: {
140
+ target: UpgradeTarget;
141
+ artifact: PlatformUpdateDocument['artifacts'][number];
142
+ signal: AbortSignal;
143
+ }): Promise<{
144
+ path: string;
145
+ sha256: string;
146
+ }>;
147
+ install(input: {
148
+ target: UpgradeTarget;
149
+ path: string;
150
+ version: string;
151
+ signal: AbortSignal;
152
+ }): Promise<void>;
153
+ health(input: {
154
+ target: UpgradeTarget;
155
+ gate: Record<string, JsonValue>;
156
+ }): Promise<{
157
+ healthy: boolean;
158
+ evidence: Record<string, JsonValue>;
159
+ }>;
160
+ rollback(input: {
161
+ target: UpgradeTarget;
162
+ version: string;
163
+ signal: AbortSignal;
164
+ }): Promise<void>;
165
+ }
166
+ export interface CleanupDriver {
167
+ kind: CleanupPlan['kind'];
168
+ discover(criteria: CleanupPlan['criteria']): Promise<CleanupCandidate[]>;
169
+ remove(candidate: CleanupCandidate): Promise<void>;
170
+ }
171
+ export interface DisasterRecoveryDriver {
172
+ scenario: DisasterRecoveryDrill['scenario'];
173
+ restore(input: {
174
+ drill: DisasterRecoveryDrill;
175
+ signal: AbortSignal;
176
+ }): Promise<{
177
+ target: string;
178
+ recoveryPointAt: string;
179
+ evidence: Record<string, JsonValue>;
180
+ }>;
181
+ verify(input: {
182
+ drill: DisasterRecoveryDrill;
183
+ target: string;
184
+ }): Promise<{
185
+ healthy: boolean;
186
+ evidence: Record<string, JsonValue>;
187
+ }>;
188
+ cleanup(input: {
189
+ drill: DisasterRecoveryDrill;
190
+ target: string;
191
+ }): Promise<void>;
192
+ }
@@ -0,0 +1,62 @@
1
+ export interface CloudFrontPolicyOptions {
2
+ resource: string;
3
+ expiresAt: Date | number;
4
+ activeAt?: Date | number;
5
+ ipAddress?: string;
6
+ }
7
+ export interface CloudFrontSignerOptions {
8
+ keyPairId: string;
9
+ privateKey: string | Buffer;
10
+ }
11
+ export interface CloudFrontSignedCookies {
12
+ 'CloudFront-Key-Pair-Id': string;
13
+ 'CloudFront-Policy': string;
14
+ 'CloudFront-Signature': string;
15
+ }
16
+ export interface MediaAccessTokenOptions {
17
+ resource: string;
18
+ secret: string | Uint8Array;
19
+ expiresAt: Date | number;
20
+ keyId?: string;
21
+ audience?: string;
22
+ }
23
+ export interface VerifiedMediaAccessToken {
24
+ resource: string;
25
+ expiresAt: number;
26
+ keyId?: string;
27
+ audience?: string;
28
+ }
29
+ export interface MediaCdnPlanOptions {
30
+ bucket: string;
31
+ region: string;
32
+ domain?: string;
33
+ prefix?: string;
34
+ protected?: boolean;
35
+ trustedKeyGroupIds?: string[];
36
+ }
37
+ export interface MediaCdnBehavior {
38
+ pathPattern: string;
39
+ cacheControl: string;
40
+ compress: boolean;
41
+ signed: boolean;
42
+ }
43
+ export interface MediaCdnPlan {
44
+ originDomain: string;
45
+ originPath: string;
46
+ domain?: string;
47
+ behaviors: MediaCdnBehavior[];
48
+ trustedKeyGroupIds: string[];
49
+ responseHeaders: Record<string, string>;
50
+ }
51
+ export declare function createCloudFrontPolicy(options: CloudFrontPolicyOptions): string;
52
+ export declare function signCloudFrontUrl(resource: string, expiresAt: Date | number, signer: CloudFrontSignerOptions): string;
53
+ export declare function signCloudFrontCookies(policyOptions: CloudFrontPolicyOptions, signer: CloudFrontSignerOptions): CloudFrontSignedCookies;
54
+ export declare function createMediaAccessToken(options: MediaAccessTokenOptions): string;
55
+ export declare function verifyMediaAccessToken(token: string, options: {
56
+ secret: string | Uint8Array;
57
+ now?: Date | number;
58
+ resource?: string;
59
+ audience?: string;
60
+ }): VerifiedMediaAccessToken | null;
61
+ export declare function mediaObjectHeaders(path: string, protectedMedia?: boolean): Record<string, string>;
62
+ export declare function buildMediaCdnPlan(options: MediaCdnPlanOptions): MediaCdnPlan;
@@ -0,0 +1 @@
1
+ export {};
@@ -1,27 +1,3 @@
1
- /**
2
- * Multi-provider object storage.
3
- *
4
- * AWS S3, Backblaze B2 and Hetzner Object Storage all speak the S3 API and
5
- * authenticate with AWS Signature V4, so a single {@link S3Client} drives all
6
- * three — the only differences are the endpoint host, the addressing style and
7
- * where the credentials come from. This module resolves those differences from
8
- * a small config object (or environment variables) and hands back a ready
9
- * {@link S3Client}.
10
- *
11
- * @example
12
- * ```ts
13
- * // Backblaze B2 from explicit config
14
- * const s3 = createObjectStorageClient({
15
- * provider: 'backblaze',
16
- * region: 'us-west-004',
17
- * credentials: { accessKeyId: keyId, secretAccessKey: appKey },
18
- * })
19
- * await s3.putObject({ bucket: 'my-bucket', key: 'a.txt', body: 'hi' })
20
- *
21
- * // Or entirely from env (OBJECT_STORAGE_PROVIDER=backblaze, B2_* vars set)
22
- * const s3 = createObjectStorageClient()
23
- * ```
24
- */
25
1
  import { S3Client } from '../aws/s3';
26
2
  export * from './migrate';
27
3
  export type ObjectStorageProvider = 'aws' | 'backblaze' | 'hetzner';
@@ -0,0 +1,12 @@
1
+ export interface ArchiveInspectionOptions {
2
+ maxBytes?: number;
3
+ maxEntries?: number;
4
+ maxExpandedBytes?: number;
5
+ }
6
+ export interface ArchiveInspection {
7
+ format: 'zip' | 'tar';
8
+ entries: number;
9
+ expandedBytes: number;
10
+ paths: string[];
11
+ }
12
+ export declare function inspectApplicationArchive(bytes: Uint8Array, filename: string, options?: ArchiveInspectionOptions): ArchiveInspection;
@@ -0,0 +1,22 @@
1
+ import type { ControlPlaneStore } from '../control-plane';
2
+ import type { ApplicationArtifactRecord } from './types';
3
+ export declare class ApplicationArtifactStore {
4
+ private readonly controlPlane;
5
+ private readonly root;
6
+ private readonly idFn;
7
+ private readonly nowFn;
8
+ constructor(controlPlane: ControlPlaneStore, options: {
9
+ cwd: string;
10
+ id?: () => string;
11
+ now?: () => Date;
12
+ });
13
+ create(input: {
14
+ organizationId: string;
15
+ projectId: string;
16
+ filename: string;
17
+ bytes: Uint8Array;
18
+ actorId?: string;
19
+ }): ApplicationArtifactRecord;
20
+ get(id: string): ApplicationArtifactRecord | undefined;
21
+ list(projectId: string): ApplicationArtifactRecord[];
22
+ }
@@ -0,0 +1,8 @@
1
+ import type { DetectionCandidate, DetectionFile } from './types';
2
+ /** Pure, bounded detection over caller-provided file metadata/content. */
3
+ export declare function detectApplication(files: DetectionFile[]): DetectionCandidate[];
4
+ /** Metadata-only directory scan: no project code is imported or executed. */
5
+ export declare function scanApplicationDirectory(root: string, options?: {
6
+ maxFiles?: number;
7
+ maxContentBytes?: number;
8
+ }): DetectionFile[];
@@ -0,0 +1,9 @@
1
+ export * from './types';
2
+ export * from './detection';
3
+ export * from './plan';
4
+ export * from './archive';
5
+ export * from './migrations';
6
+ export * from './store';
7
+ export * from './registry';
8
+ export * from './artifact-store';
9
+ export * from './service';
@@ -0,0 +1,3 @@
1
+ import type { ApplicationDraftInput } from './types';
2
+ /** Upgrade the original prototype draft shape without inventing secret values. */
3
+ export declare function migrateApplicationDraft(value: unknown): ApplicationDraftInput;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ import type { ApplicationDraftInput, ApplicationManifestV1, ApplicationPlan } from './types';
2
+ export declare function planApplication(input: ApplicationDraftInput, suppliedSecretNames?: string[]): ApplicationPlan;
3
+ export declare function parseApplicationManifest(serialized: string): ApplicationManifestV1;
@@ -0,0 +1,41 @@
1
+ import type { ControlPlaneStore } from '../control-plane';
2
+ import type { RegistryConnection, RegistryCredential } from './types';
3
+ type RegistryFetch = typeof fetch;
4
+ export declare class RegistryConnectionStore {
5
+ private readonly controlPlane;
6
+ private readonly key;
7
+ private readonly nowFn;
8
+ private readonly idFn;
9
+ constructor(controlPlane: ControlPlaneStore, options: {
10
+ encryptionKey: string;
11
+ now?: () => Date;
12
+ id?: () => string;
13
+ });
14
+ private now;
15
+ private encrypt;
16
+ private decrypt;
17
+ private current;
18
+ create(input: {
19
+ organizationId: string;
20
+ provider: RegistryConnection['provider'];
21
+ name: string;
22
+ host: string;
23
+ credential?: RegistryCredential;
24
+ credentialExpiresAt?: string;
25
+ actorId?: string;
26
+ }): RegistryConnection;
27
+ get(id: string): RegistryConnection | undefined;
28
+ list(organizationId: string): RegistryConnection[];
29
+ credential(id: string): RegistryCredential | undefined;
30
+ rotate(id: string, credential: RegistryCredential, input?: {
31
+ expiresAt?: string;
32
+ actorId?: string;
33
+ }): RegistryConnection;
34
+ disconnect(id: string, actorId?: string): RegistryConnection;
35
+ test(id: string, input?: {
36
+ image?: string;
37
+ fetch?: RegistryFetch;
38
+ timeoutMs?: number;
39
+ }): Promise<RegistryConnection>;
40
+ }
41
+ export {};
@@ -0,0 +1,16 @@
1
+ import type { ControlPlaneOperation, ControlPlaneResource, ControlPlaneStore } from '../control-plane';
2
+ import type { ApplicationDraftStore } from './store';
3
+ import type { ApplicationPlan } from './types';
4
+ export interface ApplyApplicationResult {
5
+ plan: ApplicationPlan;
6
+ resource: ControlPlaneResource;
7
+ operation: ControlPlaneOperation;
8
+ }
9
+ export declare function applyApplicationDraft(input: {
10
+ controlPlane: ControlPlaneStore;
11
+ drafts: ApplicationDraftStore;
12
+ draftId: string;
13
+ expectedVersion: number;
14
+ confirmEnvironment: string;
15
+ actorId?: string;
16
+ }): ApplyApplicationResult;
@@ -0,0 +1,30 @@
1
+ import type { ControlPlaneStore } from '../control-plane';
2
+ import type { ApplicationDraftInput, ApplicationDraftRecord } from './types';
3
+ export declare class ApplicationDraftStore {
4
+ private readonly controlPlane;
5
+ private readonly nowFn;
6
+ private readonly idFn;
7
+ constructor(controlPlane: ControlPlaneStore, options?: {
8
+ now?: () => Date;
9
+ id?: () => string;
10
+ });
11
+ private now;
12
+ create(input: {
13
+ organizationId: string;
14
+ projectId: string;
15
+ name: string;
16
+ draft: ApplicationDraftInput;
17
+ step?: ApplicationDraftRecord['step'];
18
+ suppliedSecretNames?: string[];
19
+ actorId?: string;
20
+ }): ApplicationDraftRecord;
21
+ get(id: string): ApplicationDraftRecord | undefined;
22
+ list(projectId: string): ApplicationDraftRecord[];
23
+ update(id: string, expectedVersion: number, input: {
24
+ draft: ApplicationDraftInput;
25
+ step: ApplicationDraftRecord['step'];
26
+ suppliedSecretNames?: string[];
27
+ actorId?: string;
28
+ }): ApplicationDraftRecord;
29
+ markApplied(id: string, expectedVersion: number, actorId?: string): ApplicationDraftRecord;
30
+ }
@@ -0,0 +1,204 @@
1
+ import type { JsonValue } from '../control-plane';
2
+ export type ApplicationSource = {
3
+ kind: 'git';
4
+ connectionId: string;
5
+ repositoryId: string;
6
+ repositoryFullName: string;
7
+ ref: string;
8
+ monorepoRoot?: string;
9
+ includePaths?: string[];
10
+ excludePaths?: string[];
11
+ submodules?: boolean;
12
+ sparsePaths?: string[];
13
+ deployKeyId?: string;
14
+ } | {
15
+ kind: 'local';
16
+ root: string;
17
+ } | {
18
+ kind: 'artifact';
19
+ artifactId: string;
20
+ filename: string;
21
+ sha256: string;
22
+ size: number;
23
+ } | {
24
+ kind: 'image';
25
+ image: string;
26
+ registryConnectionId?: string;
27
+ digest?: string;
28
+ };
29
+ export type BuildStrategy = {
30
+ kind: 'dockerfile';
31
+ context: string;
32
+ dockerfile: string;
33
+ target?: string;
34
+ buildArgs?: Record<string, string>;
35
+ secretNames?: string[];
36
+ } | {
37
+ kind: 'buildpack';
38
+ runtime: 'bun' | 'node' | 'php';
39
+ runtimeVersion?: string;
40
+ installCommand?: string;
41
+ buildCommand?: string;
42
+ startCommand?: string;
43
+ publishDirectory?: string;
44
+ } | {
45
+ kind: 'static';
46
+ publishDirectory: string;
47
+ installCommand?: string;
48
+ buildCommand?: string;
49
+ } | {
50
+ kind: 'server';
51
+ runtime: 'bun' | 'node' | 'php';
52
+ runtimeVersion?: string;
53
+ installCommand?: string;
54
+ buildCommand?: string;
55
+ startCommand: string;
56
+ } | {
57
+ kind: 'serverless';
58
+ runtime: 'bun' | 'node' | 'php';
59
+ runtimeVersion?: string;
60
+ handler?: string;
61
+ packageRoot?: string;
62
+ } | {
63
+ kind: 'prebuilt_image';
64
+ image: string;
65
+ registryConnectionId?: string;
66
+ digest?: string;
67
+ };
68
+ export interface ApplicationRuntime {
69
+ architecture: 'x86_64' | 'arm64';
70
+ port?: number;
71
+ healthCheck?: {
72
+ protocol: 'http' | 'https' | 'tcp';
73
+ path?: string;
74
+ intervalSeconds?: number;
75
+ timeoutSeconds?: number;
76
+ };
77
+ cpu?: number;
78
+ memoryMb?: number;
79
+ minInstances?: number;
80
+ maxInstances?: number;
81
+ target: 'server' | 'serverless' | 'container';
82
+ }
83
+ export interface ApplicationDraftInput {
84
+ schemaVersion: 1;
85
+ name: string;
86
+ slug: string;
87
+ projectId: string;
88
+ environmentId: string;
89
+ source: ApplicationSource;
90
+ build: BuildStrategy;
91
+ runtime: ApplicationRuntime;
92
+ environment?: Record<string, string | {
93
+ secretRef: string;
94
+ }>;
95
+ requiredSecretNames?: string[];
96
+ domain?: {
97
+ hostname: string;
98
+ path?: string;
99
+ tls?: boolean;
100
+ };
101
+ }
102
+ export interface DetectionFile {
103
+ path: string;
104
+ content?: string;
105
+ size?: number;
106
+ }
107
+ export interface DetectionEvidence {
108
+ path: string;
109
+ reason: string;
110
+ weight: number;
111
+ }
112
+ export interface DetectionCandidate {
113
+ framework: 'bun' | 'node' | 'laravel' | 'php' | 'static' | 'dockerfile' | 'unknown';
114
+ strategy: BuildStrategy['kind'];
115
+ confidence: number;
116
+ evidence: DetectionEvidence[];
117
+ defaults: Partial<Pick<ApplicationDraftInput, 'build' | 'runtime'>>;
118
+ description: string;
119
+ }
120
+ export interface ApplicationValidationIssue {
121
+ path: string;
122
+ code: string;
123
+ message: string;
124
+ alternatives?: string[];
125
+ }
126
+ export interface ApplicationManifestV1 {
127
+ apiVersion: 'ts-cloud.dev/v1';
128
+ kind: 'Application';
129
+ metadata: {
130
+ name: string;
131
+ slug: string;
132
+ projectId: string;
133
+ environmentId: string;
134
+ };
135
+ spec: {
136
+ source: ApplicationSource;
137
+ build: BuildStrategy;
138
+ runtime: ApplicationRuntime;
139
+ environment: Record<string, string | {
140
+ secretRef: string;
141
+ }>;
142
+ domain?: ApplicationDraftInput['domain'];
143
+ };
144
+ }
145
+ export interface ApplicationPlan {
146
+ valid: boolean;
147
+ issues: ApplicationValidationIssue[];
148
+ missingSecrets: string[];
149
+ manifest: ApplicationManifestV1;
150
+ configPatch: JsonValue;
151
+ capabilityRequirements: string[];
152
+ costDrivers: string[];
153
+ serializedManifest: string;
154
+ }
155
+ export interface ApplicationDraftRecord {
156
+ id: string;
157
+ organizationId: string;
158
+ projectId: string;
159
+ schemaVersion: number;
160
+ name: string;
161
+ step: 'source' | 'build' | 'runtime' | 'environment' | 'domain' | 'review';
162
+ input: ApplicationDraftInput;
163
+ suppliedSecretNames: string[];
164
+ status: 'draft' | 'ready' | 'applied';
165
+ version: number;
166
+ createdByActorId?: string;
167
+ createdAt: string;
168
+ updatedAt: string;
169
+ }
170
+ export interface RegistryConnection {
171
+ id: string;
172
+ organizationId: string;
173
+ provider: 'docker_hub' | 'ghcr' | 'ecr' | 'gcr' | 'generic';
174
+ name: string;
175
+ host: string;
176
+ credentialConfigured: boolean;
177
+ credentialFingerprint?: string;
178
+ credentialExpiresAt?: string;
179
+ status: 'pending' | 'healthy' | 'degraded' | 'expired' | 'disconnected';
180
+ healthMessage?: string;
181
+ lastTestedAt?: string;
182
+ version: number;
183
+ createdByActorId?: string;
184
+ createdAt: string;
185
+ updatedAt: string;
186
+ }
187
+ export interface RegistryCredential {
188
+ username?: string;
189
+ password?: string;
190
+ token?: string;
191
+ }
192
+ export interface ApplicationArtifactRecord {
193
+ id: string;
194
+ organizationId: string;
195
+ projectId: string;
196
+ filename: string;
197
+ sha256: string;
198
+ size: number;
199
+ format: 'zip' | 'tar';
200
+ entryCount: number;
201
+ expandedBytes: number;
202
+ createdByActorId?: string;
203
+ createdAt: string;
204
+ }
@@ -0,0 +1,20 @@
1
+ import type { JsonValue } from '../control-plane';
2
+ import type { PlacementRequirements, RemoteBuild } from './types';
3
+ import { DurableOperationQueue } from '../queue';
4
+ import { PlacementService } from './service';
5
+ import { PlacementStore } from './store';
6
+ export declare class RemoteBuildService {
7
+ readonly store: PlacementStore;
8
+ readonly placement: PlacementService;
9
+ private now;
10
+ readonly queue: DurableOperationQueue;
11
+ constructor(store: PlacementStore, placement: PlacementService, queue?: DurableOperationQueue, now?: () => Date);
12
+ enqueue(input: {
13
+ projectId: string;
14
+ resourceId: string;
15
+ sourceSha: string;
16
+ buildSpec: JsonValue;
17
+ requirements?: Partial<PlacementRequirements>;
18
+ }): RemoteBuild;
19
+ cancel(id: string): RemoteBuild;
20
+ }