@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
@@ -1173,15 +1173,21 @@ class XMLParser {
1173
1173
 
1174
1174
  // src/aws/client.ts
1175
1175
  function resolveS3Endpoint(options) {
1176
- const base = options.endpoint || `s3.${options.region}.amazonaws.com`;
1176
+ const rawEndpoint = options.endpoint || `s3.${options.region}.amazonaws.com`;
1177
+ const parsed = new URL(/^https?:\/\//i.test(rawEndpoint) ? rawEndpoint : `https://${rawEndpoint}`);
1178
+ if (parsed.protocol !== "http:" && parsed.protocol !== "https:" || parsed.pathname !== "/" && parsed.pathname !== "" || parsed.search || parsed.hash || parsed.username || parsed.password) {
1179
+ throw new Error("S3 endpoint must be an HTTP(S) origin without a path");
1180
+ }
1181
+ const protocol = parsed.protocol.slice(0, -1);
1182
+ const base = parsed.host;
1177
1183
  if (!options.bucket) {
1178
- return { host: base, path: options.path };
1184
+ return { protocol, host: base, path: options.path };
1179
1185
  }
1180
1186
  if (options.forcePathStyle) {
1181
1187
  const path = options.path === "/" ? `/${options.bucket}` : `/${options.bucket}${options.path}`;
1182
- return { host: base, path };
1188
+ return { protocol, host: base, path };
1183
1189
  }
1184
- return { host: `${options.bucket}.${base}`, path: options.path };
1190
+ return { protocol, host: `${options.bucket}.${base}`, path: options.path };
1185
1191
  }
1186
1192
 
1187
1193
  class AWSClient {
@@ -1409,6 +1415,7 @@ class AWSClient {
1409
1415
  const { service, region, queryParams } = options;
1410
1416
  let { path } = options;
1411
1417
  let host;
1418
+ let protocol = "https";
1412
1419
  if (service === "s3") {
1413
1420
  const resolved = resolveS3Endpoint({
1414
1421
  region,
@@ -1417,6 +1424,7 @@ class AWSClient {
1417
1424
  endpoint: this.config.endpoint,
1418
1425
  forcePathStyle: this.config.forcePathStyle
1419
1426
  });
1427
+ protocol = resolved.protocol;
1420
1428
  host = resolved.host;
1421
1429
  path = resolved.path;
1422
1430
  } else if (service === "cloudfront") {
@@ -1434,7 +1442,7 @@ class AWSClient {
1434
1442
  } else {
1435
1443
  host = `${service}.${region}.amazonaws.com`;
1436
1444
  }
1437
- let url = `https://${host}${path}`;
1445
+ let url = `${protocol}://${host}${path}`;
1438
1446
  if (queryParams && Object.keys(queryParams).length > 0) {
1439
1447
  const queryString = Object.keys(queryParams).map((k) => `${this.uriEncode(k)}=${this.uriEncode(queryParams[k])}`).join("&");
1440
1448
  url += `?${queryString}`;
@@ -1510,12 +1518,7 @@ class AWSClient {
1510
1518
  if (service === "email")
1511
1519
  signingService = "ses";
1512
1520
  const credentialScope = `${dateStamp}/${region}/${signingService}/aws4_request`;
1513
- const stringToSign = [
1514
- algorithm,
1515
- amzDate,
1516
- credentialScope,
1517
- this.sha256(canonicalRequest)
1518
- ].join(`
1521
+ const stringToSign = [algorithm, amzDate, credentialScope, this.sha256(canonicalRequest)].join(`
1519
1522
  `);
1520
1523
  const signingKey = this.getSignatureKey(credentials.secretAccessKey, dateStamp, region, signingService);
1521
1524
  const signature = this.hmac(signingKey, stringToSign);
@@ -0,0 +1,6 @@
1
+ export * from './types';
2
+ export * from './parser';
3
+ export * from './templates';
4
+ export * from './runtime';
5
+ export * from './store';
6
+ export * from './service';
@@ -0,0 +1,13 @@
1
+ import type { ComposeApplicationManifest, ComposeParseResult } from './types';
2
+ export declare function parseCompose(source: string, input: {
3
+ name: string;
4
+ projectId: string;
5
+ environmentId: string;
6
+ slug?: string;
7
+ }): ComposeParseResult;
8
+ export declare function exportCompose(manifest: ComposeApplicationManifest): string;
9
+ export declare function diffCompose(previous: ComposeApplicationManifest, next: ComposeApplicationManifest): Array<{
10
+ path: string;
11
+ before?: unknown;
12
+ after?: unknown;
13
+ }>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,10 @@
1
+ import type { ComposeApplicationManifest } from './types';
2
+ export declare function composeProjectName(manifest: ComposeApplicationManifest): string;
3
+ export declare function buildComposeRuntimeCommand(manifest: ComposeApplicationManifest, action: 'deploy' | 'redeploy' | 'start' | 'stop' | 'delete' | 'status', input?: {
4
+ removeVolumes?: boolean;
5
+ service?: string;
6
+ replicas?: number;
7
+ }): string;
8
+ export declare function buildComposeScaleCommand(manifest: ComposeApplicationManifest, service: string, replicas: number): string;
9
+ export declare function buildComposeLogsCommand(manifest: ComposeApplicationManifest, service: string, lines?: number): string;
10
+ export declare function buildComposeShellCommand(manifest: ComposeApplicationManifest, service: string, command?: string[]): string;
@@ -0,0 +1,18 @@
1
+ import type { ControlPlaneOperation, ControlPlaneStore } from '../control-plane';
2
+ import type { ComposeApplicationRecord } from './types';
3
+ import { DurableOperationQueue } from '../queue';
4
+ import { ComposeApplicationStore } from './store';
5
+ export type ComposeLifecycleAction = 'deploy' | 'redeploy' | 'start' | 'stop' | 'delete' | 'scale';
6
+ export declare class ComposeApplicationService {
7
+ readonly controlPlane: ControlPlaneStore;
8
+ readonly applications: ComposeApplicationStore;
9
+ readonly queue: DurableOperationQueue;
10
+ constructor(controlPlane: ControlPlaneStore);
11
+ enqueue(application: ComposeApplicationRecord, action: ComposeLifecycleAction, input?: {
12
+ actorId?: string;
13
+ service?: string;
14
+ replicas?: number;
15
+ removeVolumes?: boolean;
16
+ confirmation?: string;
17
+ }): ControlPlaneOperation;
18
+ }
@@ -0,0 +1,59 @@
1
+ import type { ControlPlaneStore, JsonValue } from '../control-plane';
2
+ import type { ComposeApplicationRecord, ComposeParseResult, ComposeServiceState } from './types';
3
+ export declare class ComposeApplicationStore {
4
+ readonly controlPlane: ControlPlaneStore;
5
+ private readonly now;
6
+ private readonly id;
7
+ constructor(controlPlane: ControlPlaneStore, options?: {
8
+ now?: () => Date;
9
+ id?: () => string;
10
+ });
11
+ private persist;
12
+ import(source: string, input: {
13
+ name: string;
14
+ slug?: string;
15
+ projectId: string;
16
+ environmentId: string;
17
+ createdByActorId?: string;
18
+ }): {
19
+ application: ComposeApplicationRecord;
20
+ parsed: ComposeParseResult;
21
+ };
22
+ fromTemplate(templateId: string, inputs: Record<string, string>, input: {
23
+ name: string;
24
+ slug?: string;
25
+ projectId: string;
26
+ environmentId: string;
27
+ version?: string;
28
+ createdByActorId?: string;
29
+ }): {
30
+ application: ComposeApplicationRecord;
31
+ parsed: ComposeParseResult;
32
+ };
33
+ preview(source: string, input: {
34
+ name: string;
35
+ slug?: string;
36
+ projectId: string;
37
+ environmentId: string;
38
+ }): ComposeParseResult;
39
+ get(id: string): ComposeApplicationRecord | undefined;
40
+ getByResource(resourceId: string): ComposeApplicationRecord | undefined;
41
+ getBySlug(projectId: string, environmentId: string, slug: string): ComposeApplicationRecord | undefined;
42
+ list(input?: {
43
+ projectId?: string;
44
+ environmentId?: string;
45
+ includeDeleted?: boolean;
46
+ }): ComposeApplicationRecord[];
47
+ services(applicationId: string): ComposeServiceState[];
48
+ transition(id: string, status: ComposeApplicationRecord['status'], input?: {
49
+ operationId?: string;
50
+ services?: Array<{
51
+ name: string;
52
+ status: ComposeServiceState['status'];
53
+ replicas?: number;
54
+ healthyReplicas?: number;
55
+ observedState?: JsonValue;
56
+ }>;
57
+ error?: string;
58
+ }): ComposeApplicationRecord;
59
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,17 @@
1
+ import type { ComposeApplicationManifest, ComposeCatalogResult, ComposeParseResult, ComposeTemplate, ComposeTemplateUpgradePlan } from './types';
2
+ export declare function listComposeTemplates(): ComposeTemplate[];
3
+ export declare function getComposeTemplate(id: string, version?: string): ComposeTemplate | undefined;
4
+ export declare function renderComposeTemplate(id: string, inputs: Record<string, string>, target: {
5
+ name: string;
6
+ projectId: string;
7
+ environmentId: string;
8
+ }, version?: string): ComposeParseResult;
9
+ export declare function parseComposeCatalog(source: string, target: {
10
+ projectId: string;
11
+ environmentId: string;
12
+ }): ComposeCatalogResult;
13
+ export declare function planComposeTemplateUpgrade(current: ComposeApplicationManifest, previousTemplate: ComposeApplicationManifest, id: string, inputs: Record<string, string>, target: {
14
+ name: string;
15
+ projectId: string;
16
+ environmentId: string;
17
+ }, version: string): ComposeTemplateUpgradePlan;
@@ -0,0 +1,164 @@
1
+ import type { JsonValue } from '../control-plane';
2
+ export type ComposeDiagnosticSeverity = 'warning' | 'error';
3
+ export interface ComposeDiagnostic {
4
+ severity: ComposeDiagnosticSeverity;
5
+ path: string;
6
+ code: string;
7
+ message: string;
8
+ alternative?: string;
9
+ }
10
+ export interface ComposePort {
11
+ target: number;
12
+ published?: number;
13
+ protocol: 'tcp' | 'udp';
14
+ }
15
+ export interface ComposeVolumeMount {
16
+ source: string;
17
+ target: string;
18
+ readOnly: boolean;
19
+ }
20
+ export interface ComposeDependency {
21
+ service: string;
22
+ condition: 'service_started' | 'service_healthy' | 'service_completed_successfully';
23
+ }
24
+ export interface ComposeHealthCheck {
25
+ test: string[];
26
+ intervalSeconds: number;
27
+ timeoutSeconds: number;
28
+ retries: number;
29
+ startPeriodSeconds?: number;
30
+ }
31
+ export interface ComposeBuild {
32
+ context: string;
33
+ dockerfile: string;
34
+ target?: string;
35
+ args: Record<string, string | {
36
+ secretRef: string;
37
+ }>;
38
+ }
39
+ export interface ComposeService {
40
+ name: string;
41
+ image?: string;
42
+ build?: ComposeBuild;
43
+ command?: string[];
44
+ entrypoint?: string[];
45
+ environment: Record<string, string | {
46
+ secretRef: string;
47
+ }>;
48
+ ports: ComposePort[];
49
+ volumes: ComposeVolumeMount[];
50
+ networks: string[];
51
+ dependsOn: ComposeDependency[];
52
+ healthCheck?: ComposeHealthCheck;
53
+ restart: 'no' | 'always' | 'on-failure' | 'unless-stopped';
54
+ cpu?: number;
55
+ memoryMb?: number;
56
+ replicas: number;
57
+ domains: string[];
58
+ }
59
+ export interface ComposeApplicationManifest {
60
+ apiVersion: 'ts-cloud.dev/v1';
61
+ kind: 'ComposeApplication';
62
+ metadata: {
63
+ name: string;
64
+ slug: string;
65
+ projectId: string;
66
+ environmentId: string;
67
+ };
68
+ spec: {
69
+ services: Record<string, ComposeService>;
70
+ networks: string[];
71
+ volumes: string[];
72
+ dependencyOrder: string[];
73
+ };
74
+ }
75
+ export interface ComposeParseResult {
76
+ valid: boolean;
77
+ manifest: ComposeApplicationManifest;
78
+ diagnostics: ComposeDiagnostic[];
79
+ redactedSource: string;
80
+ sourceHash: string;
81
+ }
82
+ export interface ComposeApplicationRecord {
83
+ id: string;
84
+ resourceId: string;
85
+ projectId: string;
86
+ environmentId: string;
87
+ name: string;
88
+ slug: string;
89
+ status: 'draft' | 'ready' | 'deploying' | 'running' | 'stopped' | 'degraded' | 'failed' | 'deleting' | 'deleted';
90
+ sourceKind: 'compose' | 'template';
91
+ sourceHash: string;
92
+ redactedSource: string;
93
+ manifest: ComposeApplicationManifest;
94
+ diagnostics: ComposeDiagnostic[];
95
+ templateId?: string;
96
+ templateVersion?: string;
97
+ latestOperationId?: string;
98
+ createdByActorId?: string;
99
+ version: number;
100
+ createdAt: string;
101
+ updatedAt: string;
102
+ deletedAt?: string;
103
+ }
104
+ export interface ComposeServiceState {
105
+ applicationId: string;
106
+ serviceName: string;
107
+ status: 'pending' | 'starting' | 'running' | 'stopped' | 'unhealthy' | 'failed' | 'unknown';
108
+ replicas: number;
109
+ healthyReplicas: number;
110
+ latestOperationId?: string;
111
+ observedState: JsonValue;
112
+ updatedAt: string;
113
+ }
114
+ export interface ComposeTemplateInput {
115
+ name: string;
116
+ label: string;
117
+ required: boolean;
118
+ secret: boolean;
119
+ default?: string;
120
+ description?: string;
121
+ }
122
+ export interface ComposeTemplate {
123
+ id: string;
124
+ name: string;
125
+ description: string;
126
+ category: string;
127
+ version: string;
128
+ source: string;
129
+ sourceVersion: string;
130
+ architecture: string;
131
+ minimumResources: {
132
+ cpu: number;
133
+ memoryMb: number;
134
+ };
135
+ exposedServices: string[];
136
+ maintenanceNotes: string;
137
+ lastVerifiedAt: string;
138
+ inputs: ComposeTemplateInput[];
139
+ checksum: string;
140
+ builtin: boolean;
141
+ }
142
+ export interface ComposeCatalogResult {
143
+ valid: boolean;
144
+ source: string;
145
+ templates: Array<{
146
+ template: ComposeTemplate;
147
+ parsed: ComposeParseResult;
148
+ }>;
149
+ diagnostics: ComposeDiagnostic[];
150
+ }
151
+ export interface ComposeTemplateUpgradePlan {
152
+ template: ComposeTemplate;
153
+ parsed: ComposeParseResult;
154
+ templateChanges: Array<{
155
+ path: string;
156
+ before?: unknown;
157
+ after?: unknown;
158
+ }>;
159
+ userChanges: Array<{
160
+ path: string;
161
+ before?: unknown;
162
+ after?: unknown;
163
+ }>;
164
+ }
@@ -0,0 +1,66 @@
1
+ import type { SecretsManagerClient } from '../aws/secrets-manager';
2
+ import type { SSMClient } from '../aws/ssm';
3
+ import type { ControlPlaneStore } from '../control-plane';
4
+ import type { ConfigurationBackend } from './model';
5
+ export interface SecretWrite {
6
+ reference?: string;
7
+ name: string;
8
+ value: string;
9
+ idempotencyKey: string;
10
+ }
11
+ export interface SecretWriteResult {
12
+ reference: string;
13
+ version: string;
14
+ }
15
+ export interface ConfigurationSecretBackend {
16
+ readonly kind: Exclude<ConfigurationBackend, 'plaintext'>;
17
+ put(input: SecretWrite): Promise<SecretWriteResult>;
18
+ resolve(reference: string): Promise<string>;
19
+ remove(reference: string): Promise<void>;
20
+ validate(reference: string): Promise<boolean>;
21
+ }
22
+ export declare class LocalEncryptedConfigurationBackend implements ConfigurationSecretBackend {
23
+ private readonly controlPlane;
24
+ private readonly now;
25
+ readonly kind: 'local_encrypted';
26
+ private readonly key;
27
+ constructor(controlPlane: ControlPlaneStore, encryptionKey: string, now?: () => Date);
28
+ private encrypt;
29
+ private decrypt;
30
+ put(input: SecretWrite): Promise<SecretWriteResult>;
31
+ resolve(reference: string): Promise<string>;
32
+ remove(reference: string): Promise<void>;
33
+ validate(reference: string): Promise<boolean>;
34
+ }
35
+ type SecretsManagerApi = Pick<SecretsManagerClient, 'createSecret' | 'putSecretValue' | 'getSecretValue' | 'describeSecret' | 'deleteSecret'>;
36
+ export declare class AwsSecretsManagerConfigurationBackend implements ConfigurationSecretBackend {
37
+ private readonly client;
38
+ private readonly region;
39
+ readonly kind: 'aws_secrets_manager';
40
+ constructor(client: SecretsManagerApi, region: string);
41
+ put(input: SecretWrite): Promise<SecretWriteResult>;
42
+ resolve(reference: string): Promise<string>;
43
+ remove(reference: string): Promise<void>;
44
+ validate(reference: string): Promise<boolean>;
45
+ private id;
46
+ }
47
+ type SsmApi = Pick<SSMClient, 'putParameter' | 'getParameter' | 'deleteParameter'>;
48
+ export declare class AwsSsmConfigurationBackend implements ConfigurationSecretBackend {
49
+ private readonly client;
50
+ private readonly region;
51
+ readonly kind: 'aws_ssm';
52
+ constructor(client: SsmApi, region: string);
53
+ put(input: SecretWrite): Promise<SecretWriteResult>;
54
+ resolve(reference: string): Promise<string>;
55
+ remove(reference: string): Promise<void>;
56
+ validate(reference: string): Promise<boolean>;
57
+ private name;
58
+ }
59
+ export declare class ExternalConfigurationBackend implements ConfigurationSecretBackend {
60
+ readonly kind: 'external';
61
+ put(): Promise<SecretWriteResult>;
62
+ resolve(): Promise<string>;
63
+ remove(): Promise<void>;
64
+ validate(reference: string): Promise<boolean>;
65
+ }
66
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,14 @@
1
+ export interface DotenvDiagnostic {
2
+ line: number;
3
+ key?: string;
4
+ severity: 'warning' | 'error';
5
+ code: 'invalid_line' | 'invalid_key' | 'duplicate' | 'conflict' | 'unterminated_quote';
6
+ message: string;
7
+ }
8
+ export interface DotenvDocument {
9
+ values: Record<string, string>;
10
+ diagnostics: DotenvDiagnostic[];
11
+ valid: boolean;
12
+ }
13
+ export declare function parseDotenv(source: string): DotenvDocument;
14
+ export declare function serializeDotenv(values: Record<string, string>): string;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ export * from './model';
2
+ export * from './store';
3
+ export * from './dotenv';
4
+ export * from './backends';
5
+ export * from './service';
6
+ export * from './migrate';
@@ -0,0 +1,10 @@
1
+ import type { CloudConfig } from '@ts-cloud/core';
2
+ import type { DashboardControlPlane } from '../deploy/dashboard-control-plane';
3
+ import { ConfigurationService } from './service';
4
+ export interface ConfigurationSyncResult {
5
+ added: number;
6
+ changed: number;
7
+ removed: number;
8
+ overridden: number;
9
+ }
10
+ export declare function synchronizeConfiguredConfiguration(service: ConfigurationService, controlPlane: DashboardControlPlane, config: CloudConfig, actorId?: string): Promise<ConfigurationSyncResult>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,50 @@
1
+ import type { JsonValue } from '../control-plane';
2
+ export type ConfigurationScopeType = 'project' | 'environment' | 'service' | 'function' | 'preview';
3
+ export type ConfigurationKind = 'variable' | 'secret';
4
+ export type ConfigurationBackend = 'plaintext' | 'local_encrypted' | 'aws_secrets_manager' | 'aws_ssm' | 'external';
5
+ export interface ConfigurationScope {
6
+ type: ConfigurationScopeType;
7
+ id: string;
8
+ environmentId?: string;
9
+ resourceId?: string;
10
+ previewId?: string;
11
+ }
12
+ export interface ConfigurationEntry {
13
+ id: string;
14
+ organizationId: string;
15
+ projectId: string;
16
+ scope: ConfigurationScope;
17
+ key: string;
18
+ kind: ConfigurationKind;
19
+ value?: string;
20
+ valueFingerprint: string;
21
+ secretRef?: string;
22
+ backend: ConfigurationBackend;
23
+ backendVersion?: string;
24
+ origin: 'managed' | 'config' | 'migrated';
25
+ required: boolean;
26
+ metadata: Record<string, JsonValue>;
27
+ lastUsedAt?: string;
28
+ rotatedAt?: string;
29
+ version: number;
30
+ createdAt: string;
31
+ updatedAt: string;
32
+ }
33
+ export interface ConfigurationDependency {
34
+ entryId: string;
35
+ resourceId: string;
36
+ injectionTarget: 'environment' | 'native_reference' | 'file';
37
+ required: boolean;
38
+ requiresRedeploy: boolean;
39
+ lastDeployedVersion?: number;
40
+ createdAt: string;
41
+ updatedAt: string;
42
+ }
43
+ export interface ConfigurationMutationResult {
44
+ added: string[];
45
+ changed: string[];
46
+ removed: string[];
47
+ unchanged: string[];
48
+ affectedResourceIds: string[];
49
+ versions: Record<string, number>;
50
+ }
@@ -0,0 +1,144 @@
1
+ import type { JsonValue } from '../control-plane';
2
+ import type { ConfigurationSecretBackend } from './backends';
3
+ import type { ConfigurationBackend, ConfigurationEntry, ConfigurationKind, ConfigurationMutationResult, ConfigurationScope } from './model';
4
+ import { parseDotenv } from './dotenv';
5
+ import { ConfigurationStore } from './store';
6
+ export interface ConfigurationMetadata {
7
+ id: string;
8
+ key: string;
9
+ kind: ConfigurationKind;
10
+ scope: ConfigurationScope;
11
+ inherited: boolean;
12
+ overridden: boolean;
13
+ required: boolean;
14
+ backend?: ConfigurationBackend;
15
+ backendVersion?: string;
16
+ reference?: string;
17
+ lastUsedAt?: string;
18
+ rotatedAt?: string;
19
+ version: number;
20
+ updatedAt: string;
21
+ value?: string;
22
+ }
23
+ export interface ConfigurationWarning {
24
+ key?: string;
25
+ code: 'reserved' | 'limit' | 'missing_required' | 'stale_reference';
26
+ message: string;
27
+ }
28
+ export interface ResolvedConfiguration {
29
+ values: Record<string, string>;
30
+ entries: Record<string, ConfigurationMetadata>;
31
+ warnings: ConfigurationWarning[];
32
+ configurationHash: string;
33
+ }
34
+ export interface SetConfigurationInput {
35
+ organizationId: string;
36
+ projectId: string;
37
+ scope: ConfigurationScope;
38
+ key: string;
39
+ kind: ConfigurationKind;
40
+ value?: string;
41
+ reference?: string;
42
+ backend?: Exclude<ConfigurationBackend, 'plaintext'>;
43
+ required?: boolean;
44
+ metadata?: Record<string, JsonValue>;
45
+ expectedVersion?: number;
46
+ confirmed?: boolean;
47
+ idempotencyKey?: string;
48
+ actorId?: string;
49
+ origin?: ConfigurationEntry['origin'];
50
+ }
51
+ export interface ConfigurationPlan {
52
+ added: string[];
53
+ changed: string[];
54
+ removed: string[];
55
+ unchanged: string[];
56
+ affectedResourceIds: string[];
57
+ warnings: ConfigurationWarning[];
58
+ }
59
+ export declare class ConfigurationService {
60
+ readonly store: ConfigurationStore;
61
+ private readonly backends;
62
+ private readonly fingerprintKey;
63
+ private readonly now;
64
+ constructor(store: ConfigurationStore, options: {
65
+ encryptionKey: string;
66
+ fingerprintKey?: string;
67
+ backends?: ConfigurationSecretBackend[];
68
+ now?: () => Date;
69
+ });
70
+ list(input: {
71
+ projectId: string;
72
+ scope?: ConfigurationScope;
73
+ kind?: ConfigurationKind;
74
+ search?: string;
75
+ canReadSecretMetadata?: boolean;
76
+ }): ConfigurationMetadata[];
77
+ plan(input: {
78
+ projectId: string;
79
+ scope: ConfigurationScope;
80
+ values: Record<string, string>;
81
+ removeMissing?: boolean;
82
+ }): ConfigurationPlan;
83
+ set(input: SetConfigurationInput): Promise<{
84
+ entry: ConfigurationEntry;
85
+ mutation: ConfigurationMutationResult;
86
+ warnings: ConfigurationWarning[];
87
+ }>;
88
+ importDotenv(input: Omit<SetConfigurationInput, 'key' | 'kind' | 'value'> & {
89
+ source: string;
90
+ secretKeys?: string[];
91
+ }): Promise<{
92
+ document: ReturnType<typeof parseDotenv>;
93
+ mutation?: ConfigurationMutationResult;
94
+ warnings: ConfigurationWarning[];
95
+ }>;
96
+ exportVariables(input: {
97
+ projectId: string;
98
+ scope: ConfigurationScope;
99
+ }): string;
100
+ transfer(input: {
101
+ entryId: string;
102
+ targetScope: ConfigurationScope;
103
+ mode: 'copy' | 'move';
104
+ confirmed?: boolean;
105
+ actorId?: string;
106
+ idempotencyKey?: string;
107
+ }): Promise<{
108
+ entry: ConfigurationEntry;
109
+ mutation: ConfigurationMutationResult;
110
+ }>;
111
+ resolve(input: {
112
+ projectId: string;
113
+ environmentId?: string;
114
+ resourceId?: string;
115
+ functionId?: string;
116
+ previewId?: string;
117
+ trustedPreview?: boolean;
118
+ allowedPreviewSecrets?: string[];
119
+ nativeReferences?: boolean;
120
+ canReadSecretMetadata?: boolean;
121
+ }): Promise<ResolvedConfiguration>;
122
+ reveal(input: {
123
+ entryId: string;
124
+ canRevealSecrets: boolean;
125
+ recentlyAuthenticated: boolean;
126
+ actorId?: string;
127
+ }): Promise<string>;
128
+ remove(input: {
129
+ entryId: string;
130
+ expectedVersion: number;
131
+ confirmed?: boolean;
132
+ actorId?: string;
133
+ }): Promise<ConfigurationMutationResult>;
134
+ private applies;
135
+ private rank;
136
+ private fingerprint;
137
+ private requestHash;
138
+ private backend;
139
+ private backendName;
140
+ private isProduction;
141
+ private warnings;
142
+ private affectedResources;
143
+ private audit;
144
+ }
@@ -0,0 +1 @@
1
+ export {};