@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,103 @@
1
+ import type { JsonValue } from '../control-plane';
2
+ export type ReleaseDeployableKind = 'static' | 'compute' | 'serverless_zip' | 'serverless_image' | 'container' | 'compose';
3
+ export type ReleaseStrategy = 'atomic' | 'rolling' | 'blue_green' | 'canary';
4
+ export type ReleaseStatus = 'built' | 'awaiting_approval' | 'activating' | 'active' | 'failed' | 'rolled_back' | 'superseded';
5
+ export interface ReleaseArtifact {
6
+ id: string;
7
+ organizationId: string;
8
+ digest: string;
9
+ kind: ReleaseDeployableKind;
10
+ uri: string;
11
+ size: number;
12
+ mediaType: string;
13
+ provenance: JsonValue;
14
+ attestation: JsonValue;
15
+ verifiedAt: string;
16
+ createdAt: string;
17
+ }
18
+ export interface ReleaseHealthGate {
19
+ name?: string;
20
+ protocol: 'http' | 'https' | 'tcp' | 'provider';
21
+ path?: string;
22
+ timeoutSeconds: number;
23
+ intervalSeconds: number;
24
+ healthyThreshold: number;
25
+ unhealthyThreshold: number;
26
+ }
27
+ export interface ReleaseHookCompatibility {
28
+ migrations: 'none' | 'backward_compatible' | 'forward_only' | 'irreversible';
29
+ preActivate: string[];
30
+ postActivate: string[];
31
+ notes?: string;
32
+ }
33
+ export interface ReleaseRecord {
34
+ id: string;
35
+ organizationId: string;
36
+ projectId: string;
37
+ environmentId: string;
38
+ resourceId: string;
39
+ artifactId: string;
40
+ kind: ReleaseDeployableKind;
41
+ sourceSha?: string;
42
+ configHash: string;
43
+ manifest: JsonValue;
44
+ provenance: JsonValue;
45
+ strategy: ReleaseStrategy;
46
+ status: ReleaseStatus;
47
+ healthGate?: ReleaseHealthGate;
48
+ hooks: ReleaseHookCompatibility;
49
+ drainSeconds: number;
50
+ graceSeconds: number;
51
+ automaticRollback: boolean;
52
+ rollbackAttempts: number;
53
+ previousReleaseId?: string;
54
+ promotedFromReleaseId?: string;
55
+ actorId?: string;
56
+ trigger: string;
57
+ pinned: boolean;
58
+ pinReason?: string;
59
+ activatedAt?: string;
60
+ failedAt?: string;
61
+ createdAt: string;
62
+ updatedAt: string;
63
+ }
64
+ export interface ReleaseTransition {
65
+ sequence: number;
66
+ id: string;
67
+ releaseId: string;
68
+ fromStatus?: ReleaseStatus;
69
+ toStatus: ReleaseStatus;
70
+ trafficPercent?: number;
71
+ health: JsonValue;
72
+ message: string;
73
+ operationId?: string;
74
+ createdAt: string;
75
+ }
76
+ export interface ReleaseApproval {
77
+ id: string;
78
+ releaseId: string;
79
+ environmentId: string;
80
+ decision: 'approved' | 'rejected';
81
+ actorId: string;
82
+ comment?: string;
83
+ createdAt: string;
84
+ }
85
+ export interface ReleaseStrategyCapability {
86
+ strategy: ReleaseStrategy;
87
+ supported: boolean;
88
+ explanation: string;
89
+ capacityMultiplier: number;
90
+ costImpact: 'none' | 'temporary' | 'sustained';
91
+ rollback: string;
92
+ }
93
+ export interface ReleaseCompare {
94
+ artifactChanged: boolean;
95
+ sourceChanged: boolean;
96
+ configChanged: boolean;
97
+ manifestChanges: Array<{
98
+ path: string;
99
+ before?: unknown;
100
+ after?: unknown;
101
+ }>;
102
+ dataCaveat: string;
103
+ }
@@ -0,0 +1,5 @@
1
+ import type { Service as EcsService, Task as EcsTask } from '../../aws/ecs';
2
+ import type { LambdaFunctionConfiguration } from '../../aws/lambda';
3
+ import type { RuntimeDiscoveryContext, RuntimeWorkload } from '../model';
4
+ export declare function ecsWorkloads(services: EcsService[], tasks: EcsTask[], context: RuntimeDiscoveryContext, sourceId?: string, taskDefinitions?: any[]): RuntimeWorkload[];
5
+ export declare function lambdaWorkloads(functions: LambdaFunctionConfiguration[], context: RuntimeDiscoveryContext, sourceId?: string): RuntimeWorkload[];
@@ -0,0 +1,53 @@
1
+ import type { RuntimeDiscoveryAdapter, RuntimeDiscoveryContext, RuntimeWorkload } from '../model';
2
+ export interface DockerInspectRecord {
3
+ Id: string;
4
+ Name?: string;
5
+ Config?: {
6
+ Image?: string;
7
+ Labels?: Record<string, string>;
8
+ Env?: string[];
9
+ };
10
+ State?: {
11
+ Status?: string;
12
+ Running?: boolean;
13
+ StartedAt?: string;
14
+ FinishedAt?: string;
15
+ ExitCode?: number;
16
+ Error?: string;
17
+ OOMKilled?: boolean;
18
+ Restarting?: boolean;
19
+ };
20
+ RestartCount?: number;
21
+ HostConfig?: {
22
+ NetworkMode?: string;
23
+ Memory?: number;
24
+ NanoCpus?: number;
25
+ };
26
+ Mounts?: Array<{
27
+ Source?: string;
28
+ Destination?: string;
29
+ Type?: string;
30
+ RW?: boolean;
31
+ }>;
32
+ NetworkSettings?: {
33
+ Networks?: Record<string, {
34
+ NetworkID?: string;
35
+ IPAddress?: string;
36
+ GlobalIPv6Address?: string;
37
+ }>;
38
+ Ports?: Record<string, Array<{
39
+ HostIp?: string;
40
+ HostPort?: string;
41
+ }> | null>;
42
+ };
43
+ Image?: string;
44
+ }
45
+ export declare function parseDockerInspect(output: string): DockerInspectRecord[];
46
+ export declare function dockerWorkloads(records: DockerInspectRecord[], context: RuntimeDiscoveryContext, sourceId?: string): RuntimeWorkload[];
47
+ export declare class DockerDiscoveryAdapter implements RuntimeDiscoveryAdapter {
48
+ private readonly inspect;
49
+ readonly id: string;
50
+ readonly provider: 'docker';
51
+ constructor(inspect: (context: RuntimeDiscoveryContext) => Promise<string>, id?: string);
52
+ discover(context: RuntimeDiscoveryContext): Promise<RuntimeWorkload[]>;
53
+ }
@@ -0,0 +1,26 @@
1
+ import type { RuntimeDiscoveryAdapter, RuntimeDiscoveryContext, RuntimeWorkload } from '../model';
2
+ export interface SystemdUnitRecord {
3
+ unit: string;
4
+ load?: string;
5
+ active?: string;
6
+ sub?: string;
7
+ description?: string;
8
+ enabled?: string;
9
+ pid?: number;
10
+ memoryBytes?: number;
11
+ restartCount?: number;
12
+ activeSince?: string;
13
+ fragmentPath?: string;
14
+ workingDirectory?: string;
15
+ user?: string;
16
+ environment?: Record<string, string>;
17
+ }
18
+ export declare function parseSystemdRecords(output: string): SystemdUnitRecord[];
19
+ export declare function systemdWorkloads(records: SystemdUnitRecord[], context: RuntimeDiscoveryContext, sourceId?: string): RuntimeWorkload[];
20
+ export declare class SystemdDiscoveryAdapter implements RuntimeDiscoveryAdapter {
21
+ private readonly read;
22
+ readonly id: string;
23
+ readonly provider: 'systemd';
24
+ constructor(read: (context: RuntimeDiscoveryContext) => Promise<string>, id?: string);
25
+ discover(context: RuntimeDiscoveryContext): Promise<RuntimeWorkload[]>;
26
+ }
@@ -0,0 +1,9 @@
1
+ export * from './model';
2
+ export * from './normalize';
3
+ export * from './inventory';
4
+ export * from './service';
5
+ export * from './operations';
6
+ export * from './streams';
7
+ export * from './adapters/systemd';
8
+ export * from './adapters/docker';
9
+ export * from './adapters/aws';
@@ -0,0 +1,6 @@
1
+ import type { RuntimeDiscoveryAdapter, RuntimeDiscoveryContext, RuntimeInventory } from './model';
2
+ export interface DiscoverInventoryOptions {
3
+ timeoutMs?: number;
4
+ staleAfterSeconds?: number;
5
+ }
6
+ export declare function discoverRuntimeInventory(adapters: RuntimeDiscoveryAdapter[], context?: RuntimeDiscoveryContext, options?: DiscoverInventoryOptions): Promise<RuntimeInventory>;
@@ -0,0 +1,130 @@
1
+ export type WorkloadProvider = 'systemd' | 'docker' | 'oci' | 'ecs' | 'lambda';
2
+ export type WorkloadKind = 'service' | 'container' | 'task' | 'function' | 'process';
3
+ export type WorkloadStatus = 'starting' | 'running' | 'degraded' | 'stopping' | 'stopped' | 'failed' | 'unknown';
4
+ export type LifecycleAction = 'start' | 'stop' | 'restart' | 'redeploy' | 'scale' | 'logs' | 'exec' | 'inspect' | 'files';
5
+ export interface RuntimeLink {
6
+ project?: string;
7
+ environment?: string;
8
+ service?: string;
9
+ release?: string;
10
+ deployment?: string;
11
+ server?: string;
12
+ providerId?: string;
13
+ }
14
+ export interface RuntimeResourceUsage {
15
+ cpuPercent?: number;
16
+ memoryBytes?: number;
17
+ memoryLimitBytes?: number;
18
+ ephemeralBytes?: number;
19
+ ephemeralLimitBytes?: number;
20
+ }
21
+ export interface RuntimeNetwork {
22
+ id: string;
23
+ name?: string;
24
+ mode?: string;
25
+ addresses?: string[];
26
+ ports?: Array<{
27
+ container?: number;
28
+ host?: number;
29
+ protocol?: string;
30
+ address?: string;
31
+ }>;
32
+ }
33
+ export interface RuntimeMount {
34
+ source?: string;
35
+ target: string;
36
+ type?: string;
37
+ readOnly?: boolean;
38
+ }
39
+ export interface RuntimeContainer {
40
+ id: string;
41
+ name: string;
42
+ image?: string;
43
+ imageDigest?: string;
44
+ runtime?: string;
45
+ status: WorkloadStatus;
46
+ rawStatus?: string;
47
+ exitCode?: number;
48
+ reason?: string;
49
+ resources?: RuntimeResourceUsage;
50
+ networks?: RuntimeNetwork[];
51
+ mounts?: RuntimeMount[];
52
+ }
53
+ export interface RuntimeReplica {
54
+ id: string;
55
+ name?: string;
56
+ status: WorkloadStatus;
57
+ rawStatus?: string;
58
+ createdAt?: string;
59
+ startedAt?: string;
60
+ stoppedAt?: string;
61
+ restartCount?: number;
62
+ host?: string;
63
+ pid?: number;
64
+ containers?: RuntimeContainer[];
65
+ resources?: RuntimeResourceUsage;
66
+ }
67
+ export interface LifecycleCapability {
68
+ supported: boolean;
69
+ reason?: string;
70
+ requiresRecentAuth?: boolean;
71
+ requiresConfirmation?: boolean;
72
+ }
73
+ export type LifecycleCapabilities = Record<LifecycleAction, LifecycleCapability>;
74
+ export interface RuntimeWorkload {
75
+ id: string;
76
+ provider: WorkloadProvider;
77
+ kind: WorkloadKind;
78
+ name: string;
79
+ displayName?: string;
80
+ status: WorkloadStatus;
81
+ rawStatus?: string;
82
+ health?: 'healthy' | 'unhealthy' | 'unknown';
83
+ desiredReplicas?: number;
84
+ runningReplicas?: number;
85
+ image?: string;
86
+ runtime?: string;
87
+ version?: string;
88
+ architecture?: string;
89
+ ageSeconds?: number;
90
+ restartCount?: number;
91
+ tags: Record<string, string>;
92
+ links: RuntimeLink;
93
+ resources?: RuntimeResourceUsage;
94
+ replicas: RuntimeReplica[];
95
+ networks: RuntimeNetwork[];
96
+ mounts: RuntimeMount[];
97
+ capabilities: LifecycleCapabilities;
98
+ config: Record<string, unknown>;
99
+ discoveredAt: string;
100
+ sourceId: string;
101
+ }
102
+ export interface RuntimeSourceStatus {
103
+ id: string;
104
+ provider: WorkloadProvider;
105
+ status: 'fresh' | 'stale' | 'unreachable' | 'unauthorized' | 'error';
106
+ discoveredAt: string;
107
+ staleAfterSeconds: number;
108
+ message?: string;
109
+ itemCount: number;
110
+ }
111
+ export interface RuntimeInventory {
112
+ generatedAt: string;
113
+ workloads: RuntimeWorkload[];
114
+ sources: RuntimeSourceStatus[];
115
+ degraded: boolean;
116
+ }
117
+ export interface RuntimeDiscoveryContext {
118
+ project?: string;
119
+ environment?: string;
120
+ server?: string;
121
+ now?: Date;
122
+ }
123
+ export interface RuntimeDiscoveryAdapter {
124
+ id: string;
125
+ provider: WorkloadProvider;
126
+ discover(context: RuntimeDiscoveryContext): Promise<RuntimeWorkload[]>;
127
+ }
128
+ export declare function runtimeId(provider: WorkloadProvider, source: string, nativeId: string): string;
129
+ export declare function unsupportedCapabilities(reason: string): LifecycleCapabilities;
130
+ export declare function capabilities(supported: LifecycleAction[], unsupportedReason: string, elevated?: LifecycleAction[]): LifecycleCapabilities;
@@ -0,0 +1,5 @@
1
+ import type { WorkloadStatus } from './model';
2
+ export declare function normalizeRuntimeStatus(raw: unknown): WorkloadStatus;
3
+ export declare function redactRuntimeConfig<T>(value: T): T;
4
+ export declare function ageSeconds(value: string | undefined, now?: Date): number | undefined;
5
+ export declare function bytes(value: unknown): number | undefined;
@@ -0,0 +1,113 @@
1
+ import type { CloudConfig, CloudDriver, EnvironmentType } from '@ts-cloud/core';
2
+ import type { CloudWatchLogsClient } from '../aws/cloudwatch-logs';
3
+ import type { ECSClient } from '../aws/ecs';
4
+ import type { LifecycleAction, RuntimeInventory, RuntimeWorkload } from './model';
5
+ export interface RuntimeOperationInput {
6
+ workloadId: string;
7
+ action: LifecycleAction;
8
+ confirm?: string;
9
+ replicas?: number;
10
+ recentAuth?: boolean;
11
+ }
12
+ export interface RuntimeOperationResult {
13
+ ok: boolean;
14
+ workloadId: string;
15
+ action: LifecycleAction;
16
+ command?: string;
17
+ stdout?: string;
18
+ stderr?: string;
19
+ error?: string;
20
+ workload?: RuntimeWorkload;
21
+ }
22
+ export interface RuntimeLogResult {
23
+ workloadId: string;
24
+ provider: RuntimeWorkload['provider'];
25
+ lines: Array<{
26
+ timestamp?: string;
27
+ message: string;
28
+ }>;
29
+ nextCursor?: string;
30
+ truncated: boolean;
31
+ }
32
+ export interface RuntimeExecInput {
33
+ workloadId: string;
34
+ preset?: keyof typeof DIAGNOSTIC_PRESETS;
35
+ command?: string;
36
+ confirm?: string;
37
+ recentAuth?: boolean;
38
+ }
39
+ export interface RuntimeExecResult {
40
+ ok: boolean;
41
+ workloadId: string;
42
+ preset?: keyof typeof DIAGNOSTIC_PRESETS;
43
+ command?: string;
44
+ stdout?: string;
45
+ stderr?: string;
46
+ error?: string;
47
+ }
48
+ export interface RuntimeFileInput {
49
+ workloadId: string;
50
+ path: string;
51
+ confirm?: string;
52
+ recentAuth?: boolean;
53
+ }
54
+ export interface RuntimeFileReadResult {
55
+ ok: boolean;
56
+ workloadId: string;
57
+ path: string;
58
+ contentBase64?: string;
59
+ size?: number;
60
+ truncated?: boolean;
61
+ error?: string;
62
+ }
63
+ export interface RuntimeFileWriteInput extends RuntimeFileInput {
64
+ contentBase64: string;
65
+ }
66
+ interface EcsMutator extends Pick<ECSClient, 'scaleService' | 'forceNewDeployment'> {
67
+ }
68
+ interface LogReader extends Pick<CloudWatchLogsClient, 'filterLogEvents'> {
69
+ }
70
+ export interface RuntimeOperationDependencies {
71
+ driver?: CloudDriver;
72
+ ecs?: EcsMutator;
73
+ logs?: LogReader;
74
+ inventory?: () => Promise<RuntimeInventory>;
75
+ }
76
+ /**
77
+ * Permit file operations only below a service-owned root or a discovered bind/
78
+ * volume target. Host-sensitive trees stay forbidden even if a mount points at
79
+ * one. This function never follows the requested path on the dashboard host.
80
+ */
81
+ export declare function authorizeRuntimePath(_workload: RuntimeWorkload, _requested: string): {
82
+ ok: true;
83
+ path: string;
84
+ } | {
85
+ ok: false;
86
+ error: string;
87
+ };
88
+ export declare const DIAGNOSTIC_PRESETS: {
89
+ readonly process: readonly ['ps', '-eo', 'pid,ppid,user,%cpu,%mem,etime,command', '--sort=-%cpu'];
90
+ readonly sockets: readonly ['ss', '-lntup'];
91
+ readonly filesystem: readonly ['df', '-h'];
92
+ };
93
+ export declare class RuntimeOperationService {
94
+ private readonly config;
95
+ private readonly environment;
96
+ private readonly dependencies;
97
+ private readonly region;
98
+ private readonly profile?;
99
+ constructor(config: CloudConfig, environment: EnvironmentType, dependencies?: RuntimeOperationDependencies);
100
+ inventory(): Promise<RuntimeInventory>;
101
+ workload(id: string): Promise<RuntimeWorkload | undefined>;
102
+ private remote;
103
+ run(input: RuntimeOperationInput): Promise<RuntimeOperationResult>;
104
+ exec(input: RuntimeExecInput): Promise<RuntimeExecResult>;
105
+ readFile(input: RuntimeFileInput): Promise<RuntimeFileReadResult>;
106
+ writeFile(input: RuntimeFileWriteInput): Promise<RuntimeFileReadResult>;
107
+ private fileTarget;
108
+ logs(workloadId: string, input?: {
109
+ limit?: number;
110
+ since?: Date;
111
+ }): Promise<RuntimeLogResult>;
112
+ }
113
+ export {};
@@ -0,0 +1,32 @@
1
+ import type { CloudConfig, CloudDriver, EnvironmentType } from '@ts-cloud/core';
2
+ import type { ECSClient, LambdaClient } from '../aws';
3
+ import type { RuntimeDiscoveryAdapter, RuntimeDiscoveryContext, RuntimeInventory } from './model';
4
+ interface EcsReader extends Pick<ECSClient, 'listClusters' | 'listServices' | 'describeServices' | 'listTasks' | 'describeTasks'> {
5
+ describeTaskDefinition?: ECSClient['describeTaskDefinition'];
6
+ }
7
+ interface LambdaReader extends Pick<LambdaClient, 'listFunctions'> {
8
+ }
9
+ export interface RuntimeServiceDependencies {
10
+ driver?: CloudDriver;
11
+ ecs?: EcsReader;
12
+ lambda?: LambdaReader;
13
+ }
14
+ export declare class EcsRuntimeAdapter implements RuntimeDiscoveryAdapter {
15
+ private readonly client;
16
+ private readonly prefix;
17
+ readonly id = "ecs:aws";
18
+ readonly provider: 'ecs';
19
+ constructor(client: EcsReader, prefix: string);
20
+ discover(context: RuntimeDiscoveryContext): Promise<import('./model').RuntimeWorkload[]>;
21
+ }
22
+ export declare class LambdaRuntimeAdapter implements RuntimeDiscoveryAdapter {
23
+ private readonly client;
24
+ private readonly prefix;
25
+ readonly id = "lambda:aws";
26
+ readonly provider: 'lambda';
27
+ constructor(client: LambdaReader, prefix: string);
28
+ discover(context: RuntimeDiscoveryContext): Promise<import('./model').RuntimeWorkload[]>;
29
+ }
30
+ export declare function createRuntimeAdapters(config: CloudConfig, environment: EnvironmentType, dependencies?: RuntimeServiceDependencies): Promise<RuntimeDiscoveryAdapter[]>;
31
+ export declare function resolveRuntimeInventory(config: CloudConfig, environment: EnvironmentType, dependencies?: RuntimeServiceDependencies): Promise<RuntimeInventory>;
32
+ export {};
@@ -0,0 +1,49 @@
1
+ export type RuntimeStreamKind = 'exec' | 'logs';
2
+ export type RuntimeStreamState = 'open' | 'complete' | 'failed' | 'cancelled';
3
+ export interface RuntimeStreamChunk {
4
+ cursor: number;
5
+ stream: 'stdout' | 'stderr' | 'system';
6
+ data: string;
7
+ at: string;
8
+ }
9
+ export interface RuntimeStreamSnapshot {
10
+ id: string;
11
+ workloadId: string;
12
+ kind: RuntimeStreamKind;
13
+ state: RuntimeStreamState;
14
+ chunks: RuntimeStreamChunk[];
15
+ cursor: number;
16
+ reset: boolean;
17
+ droppedBytes: number;
18
+ createdAt: string;
19
+ updatedAt: string;
20
+ error?: string;
21
+ }
22
+ export interface RuntimeStreamRegistryOptions {
23
+ maxBufferBytes?: number;
24
+ ttlMs?: number;
25
+ now?: () => Date;
26
+ }
27
+ /**
28
+ * Bounded, reconnectable runtime output. Cursors are monotonically increasing
29
+ * chunk IDs: clients can reconnect with their last cursor, and receive a reset
30
+ * signal when backpressure already evicted older chunks.
31
+ */
32
+ export declare class RuntimeStreamRegistry {
33
+ private readonly records;
34
+ private readonly maxBufferBytes;
35
+ private readonly ttlMs;
36
+ private readonly now;
37
+ constructor(options?: RuntimeStreamRegistryOptions);
38
+ create(kind: RuntimeStreamKind, workloadId: string): RuntimeStreamSnapshot;
39
+ signal(id: string): AbortSignal | undefined;
40
+ append(id: string, data: string, stream?: RuntimeStreamChunk['stream']): RuntimeStreamSnapshot | undefined;
41
+ read(id: string, workloadId: string, after?: number): RuntimeStreamSnapshot | undefined;
42
+ close(id: string, state?: Exclude<RuntimeStreamState, 'open'>, error?: string): RuntimeStreamSnapshot | undefined;
43
+ cancel(id: string, workloadId: string): RuntimeStreamSnapshot | undefined;
44
+ subscribe(id: string, workloadId: string, listener: (snapshot: RuntimeStreamSnapshot) => void): (() => void) | undefined;
45
+ sweep(): number;
46
+ clear(): void;
47
+ private snapshot;
48
+ private publish;
49
+ }
@@ -0,0 +1,105 @@
1
+ import type { JsonValue } from '../control-plane';
2
+ import type { SecurityPostureStore } from './posture-store';
3
+ import type { ReleaseSecurityArtifact, SecurityPostureFinding } from './types';
4
+ export interface CycloneDxComponent {
5
+ type: 'application' | 'library' | 'container';
6
+ name: string;
7
+ version: string;
8
+ purl?: string;
9
+ scope?: 'required' | 'optional' | 'excluded';
10
+ hashes?: Array<{
11
+ alg: 'SHA-256';
12
+ content: string;
13
+ }>;
14
+ }
15
+ export interface CycloneDxDocument {
16
+ bomFormat: 'CycloneDX';
17
+ specVersion: '1.5';
18
+ serialNumber: string;
19
+ version: 1;
20
+ metadata: {
21
+ timestamp: string;
22
+ component: CycloneDxComponent;
23
+ tools: Array<{
24
+ vendor: string;
25
+ name: string;
26
+ version: string;
27
+ }>;
28
+ };
29
+ components: CycloneDxComponent[];
30
+ }
31
+ export interface ReleaseProvenance {
32
+ _type: 'https://in-toto.io/Statement/v1';
33
+ subject: Array<{
34
+ name: string;
35
+ digest: {
36
+ sha256: string;
37
+ };
38
+ }>;
39
+ predicateType: 'https://slsa.dev/provenance/v1';
40
+ predicate: {
41
+ buildDefinition: {
42
+ buildType: string;
43
+ externalParameters: JsonValue;
44
+ internalParameters: JsonValue;
45
+ resolvedDependencies: JsonValue[];
46
+ };
47
+ runDetails: {
48
+ builder: {
49
+ id: string;
50
+ };
51
+ metadata: {
52
+ invocationId: string;
53
+ startedOn: string;
54
+ finishedOn: string;
55
+ };
56
+ };
57
+ };
58
+ }
59
+ /** Creates a deterministic local-only CycloneDX document from the release package manifest. */
60
+ export declare function generateCycloneDxSbom(root: string, options?: {
61
+ now?: Date;
62
+ serial?: string;
63
+ }): CycloneDxDocument;
64
+ /** Uses a local Syft binary for full image inventory; no report or source is sent to a service. */
65
+ export declare function generateImageSbom(imageRef: string, options?: {
66
+ executable?: string;
67
+ signal?: AbortSignal;
68
+ }): Promise<CycloneDxDocument>;
69
+ export declare function attachSbomToRelease(posture: SecurityPostureStore, scope: {
70
+ organizationId: string;
71
+ projectId: string;
72
+ environmentId?: string;
73
+ releaseId: string;
74
+ }, sbom: CycloneDxDocument): ReleaseSecurityArtifact;
75
+ export declare function attachVulnerabilitySummary(posture: SecurityPostureStore, scope: {
76
+ organizationId: string;
77
+ projectId: string;
78
+ environmentId?: string;
79
+ releaseId: string;
80
+ }, findings: SecurityPostureFinding[]): ReleaseSecurityArtifact;
81
+ export declare function createReleaseProvenance(input: {
82
+ artifactName: string;
83
+ artifact?: string | Uint8Array;
84
+ artifactSha256?: string;
85
+ invocationId: string;
86
+ startedAt: string;
87
+ completedAt: string;
88
+ externalParameters?: JsonValue;
89
+ resolvedDependencies?: JsonValue[];
90
+ }): ReleaseProvenance;
91
+ export declare function attachProvenanceToRelease(posture: SecurityPostureStore, scope: {
92
+ organizationId: string;
93
+ projectId: string;
94
+ environmentId?: string;
95
+ releaseId: string;
96
+ }, provenance: ReleaseProvenance): ReleaseSecurityArtifact;
97
+ export declare function verifyArtifactSignature(input: {
98
+ artifact: string | Uint8Array;
99
+ expectedSha256: string;
100
+ signature?: string;
101
+ publicKey?: string;
102
+ }): {
103
+ digestValid: boolean;
104
+ signature: 'verified' | 'invalid' | 'not_configured';
105
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,35 @@
1
+ import type { JsonValue } from '../control-plane';
2
+ import type { CycloneDxDocument } from './artifacts';
3
+ import type { SecurityPostureStore } from './posture-store';
4
+ import type { SecurityScanner } from './scanners';
5
+ import type { SecurityScope } from './types';
6
+ import { SecurityScannerRunner } from './scanners';
7
+ export interface SecureContainerReleaseInput {
8
+ scope: SecurityScope & {
9
+ projectId: string;
10
+ environmentId: string;
11
+ };
12
+ releaseId: string;
13
+ imageRef: string;
14
+ imageSha256?: string;
15
+ artifactRoot: string;
16
+ invocationId: string;
17
+ startedAt: string;
18
+ completedAt?: string;
19
+ externalParameters?: JsonValue;
20
+ scanner?: SecurityScanner;
21
+ scannerTimeoutMs?: number;
22
+ sbomTimeoutMs?: number;
23
+ generateImageSbom?: (imageRef: string, options: {
24
+ signal?: AbortSignal;
25
+ }) => Promise<CycloneDxDocument>;
26
+ }
27
+ /**
28
+ * Produces the security record for a built container without sending image or
29
+ * source data to a hosted service. Optional local tooling may be absent: that
30
+ * state is persisted and a manifest SBOM is used when possible.
31
+ */
32
+ export declare function secureContainerRelease(_posture: SecurityPostureStore, _input: SecureContainerReleaseInput): Promise<{
33
+ scan: Awaited<ReturnType<SecurityScannerRunner['run']>>;
34
+ sbomSource: 'image' | 'manifest' | 'unavailable';
35
+ }>;
@@ -0,0 +1 @@
1
+ export {};