@alienplatform/core 1.8.0 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/.turbo/turbo-build.log +12 -12
  2. package/dist/index.d.ts +755 -72
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +199 -33
  5. package/dist/index.js.map +1 -1
  6. package/dist/stack.js +579 -44
  7. package/dist/stack.js.map +1 -1
  8. package/dist/tests/index.js +1 -1
  9. package/package.json +1 -1
  10. package/src/__tests__/__snapshots__/stack.test.ts.snap +10 -4
  11. package/src/__tests__/stack.test.ts +184 -2
  12. package/src/compute-cluster.ts +211 -0
  13. package/src/container.ts +38 -26
  14. package/src/daemon.ts +79 -0
  15. package/src/generated/index.ts +42 -2
  16. package/src/generated/schemas/architecture.json +1 -0
  17. package/src/generated/schemas/capacityGroup.json +1 -0
  18. package/src/generated/schemas/capacityGroupScalePolicy.json +1 -0
  19. package/src/generated/schemas/computeChoiceRange.json +1 -0
  20. package/src/generated/schemas/computeCluster.json +1 -0
  21. package/src/generated/schemas/computePoolSelection.json +1 -0
  22. package/src/generated/schemas/computeSettings.json +1 -0
  23. package/src/generated/schemas/container.json +1 -1
  24. package/src/generated/schemas/containerOutputs.json +1 -1
  25. package/src/generated/schemas/containerPort.json +1 -1
  26. package/src/generated/schemas/daemon.json +1 -1
  27. package/src/generated/schemas/daemonOutputs.json +1 -1
  28. package/src/generated/schemas/daemonRuntime.json +1 -0
  29. package/src/generated/schemas/daemonRuntimeMount.json +1 -0
  30. package/src/generated/schemas/exposeProtocol.json +1 -1
  31. package/src/generated/schemas/gpuSpec.json +1 -0
  32. package/src/generated/schemas/machineProfile.json +1 -0
  33. package/src/generated/schemas/publicEndpoint.json +1 -0
  34. package/src/generated/schemas/publicEndpointOutput.json +1 -0
  35. package/src/generated/schemas/stack.json +1 -1
  36. package/src/generated/schemas/stackImportRequest.json +1 -1
  37. package/src/generated/schemas/stackImportResponse.json +1 -1
  38. package/src/generated/schemas/stackInputDefaultValue.json +1 -0
  39. package/src/generated/schemas/stackInputDefinition.json +1 -0
  40. package/src/generated/schemas/stackInputEnvironmentMapping.json +1 -0
  41. package/src/generated/schemas/stackInputEnvironmentVariableType.json +1 -0
  42. package/src/generated/schemas/stackInputKind.json +1 -0
  43. package/src/generated/schemas/stackInputProvider.json +1 -0
  44. package/src/generated/schemas/stackInputValidation.json +1 -0
  45. package/src/generated/schemas/stackSettings.json +1 -1
  46. package/src/generated/schemas/worker.json +1 -1
  47. package/src/generated/schemas/workerOutputs.json +1 -1
  48. package/src/generated/schemas/workerPublicEndpoint.json +1 -0
  49. package/src/generated/zod/architecture-schema.ts +13 -0
  50. package/src/generated/zod/capacity-group-scale-policy-schema.ts +27 -0
  51. package/src/generated/zod/capacity-group-schema.ts +27 -0
  52. package/src/generated/zod/compute-choice-range-schema.ts +17 -0
  53. package/src/generated/zod/compute-cluster-schema.ts +20 -0
  54. package/src/generated/zod/compute-pool-selection-schema.ts +22 -0
  55. package/src/generated/zod/compute-settings-schema.ts +18 -0
  56. package/src/generated/zod/container-outputs-schema.ts +5 -6
  57. package/src/generated/zod/container-port-schema.ts +1 -5
  58. package/src/generated/zod/container-schema.ts +7 -3
  59. package/src/generated/zod/daemon-outputs-schema.ts +4 -0
  60. package/src/generated/zod/daemon-runtime-mount-schema.ts +14 -0
  61. package/src/generated/zod/daemon-runtime-schema.ts +19 -0
  62. package/src/generated/zod/daemon-schema.ts +14 -2
  63. package/src/generated/zod/expose-protocol-schema.ts +2 -2
  64. package/src/generated/zod/gpu-spec-schema.ts +16 -0
  65. package/src/generated/zod/index.ts +42 -2
  66. package/src/generated/zod/machine-profile-schema.ts +25 -0
  67. package/src/generated/zod/public-endpoint-output-schema.ts +21 -0
  68. package/src/generated/zod/public-endpoint-schema.ts +22 -0
  69. package/src/generated/zod/stack-import-request-schema.ts +3 -0
  70. package/src/generated/zod/stack-input-default-value-schema.ts +25 -0
  71. package/src/generated/zod/stack-input-definition-schema.ts +43 -0
  72. package/src/generated/zod/stack-input-environment-mapping-schema.ts +20 -0
  73. package/src/generated/zod/stack-input-environment-variable-type-schema.ts +13 -0
  74. package/src/generated/zod/stack-input-kind-schema.ts +13 -0
  75. package/src/generated/zod/stack-input-provider-schema.ts +13 -0
  76. package/src/generated/zod/stack-input-validation-schema.ts +23 -0
  77. package/src/generated/zod/stack-schema.ts +4 -0
  78. package/src/generated/zod/stack-settings-schema.ts +5 -1
  79. package/src/generated/zod/worker-outputs-schema.ts +4 -5
  80. package/src/generated/zod/worker-public-endpoint-schema.ts +17 -0
  81. package/src/generated/zod/worker-schema.ts +4 -4
  82. package/src/index.ts +9 -0
  83. package/src/input.ts +380 -0
  84. package/src/stack.ts +19 -0
  85. package/src/worker.ts +24 -14
  86. package/src/generated/schemas/ingress.json +0 -1
  87. package/src/generated/zod/ingress-schema.ts +0 -13
package/dist/stack.js CHANGED
@@ -403,6 +403,16 @@ const AlienEventSchema = z.union([
403
403
  })
404
404
  ]).describe("Represents all possible events in the Alien system");
405
405
  //#endregion
406
+ //#region src/generated/zod/architecture-schema.ts
407
+ /**
408
+ * Generated by Kubb (https://kubb.dev/).
409
+ * Do not edit manually.
410
+ */
411
+ /**
412
+ * @description CPU architecture.
413
+ */
414
+ const ArchitectureSchema = z.enum(["arm64", "x86_64"]).describe("CPU architecture.");
415
+ //#endregion
406
416
  //#region src/generated/zod/heartbeat-collection-issue-reason-schema.ts
407
417
  /**
408
418
  * Generated by Kubb (https://kubb.dev/).
@@ -2764,6 +2774,98 @@ const BuildStatusSchema = z.enum([
2764
2774
  "TIMED_OUT"
2765
2775
  ]).describe("Status of a build execution.");
2766
2776
  //#endregion
2777
+ //#region src/generated/zod/compute-choice-range-schema.ts
2778
+ /**
2779
+ * Generated by Kubb (https://kubb.dev/).
2780
+ * Do not edit manually.
2781
+ */
2782
+ /**
2783
+ * @description Allowed range and default for a count selected by the installer.
2784
+ */
2785
+ const ComputeChoiceRangeSchema = z.object({
2786
+ "default": z.int().min(0).describe("Default value recommended when no installer override is supplied."),
2787
+ "max": z.int().min(0).describe("Highest allowed value."),
2788
+ "min": z.int().min(0).describe("Lowest allowed value.")
2789
+ }).describe("Allowed range and default for a count selected by the installer.");
2790
+ //#endregion
2791
+ //#region src/generated/zod/capacity-group-scale-policy-schema.ts
2792
+ /**
2793
+ * Generated by Kubb (https://kubb.dev/).
2794
+ * Do not edit manually.
2795
+ */
2796
+ /**
2797
+ * @description Source-declared scale policy for a capacity group.
2798
+ */
2799
+ const CapacityGroupScalePolicySchema = z.union([z.object({
2800
+ get "machines"() {
2801
+ return ComputeChoiceRangeSchema.describe("Allowed range and default for a count selected by the installer.");
2802
+ },
2803
+ "type": z.enum(["fixed"])
2804
+ }), z.object({
2805
+ get "max"() {
2806
+ return ComputeChoiceRangeSchema.describe("Allowed range and default for a count selected by the installer.");
2807
+ },
2808
+ get "min"() {
2809
+ return ComputeChoiceRangeSchema.describe("Allowed range and default for a count selected by the installer.");
2810
+ },
2811
+ "type": z.enum(["autoscale"])
2812
+ })]).describe("Source-declared scale policy for a capacity group.");
2813
+ //#endregion
2814
+ //#region src/generated/zod/gpu-spec-schema.ts
2815
+ /**
2816
+ * Generated by Kubb (https://kubb.dev/).
2817
+ * Do not edit manually.
2818
+ */
2819
+ /**
2820
+ * @description GPU specification for a capacity group.
2821
+ */
2822
+ const GpuSpecSchema = z.object({
2823
+ "count": z.int().min(0).describe("Number of GPUs per machine"),
2824
+ "type": z.string().describe("GPU type identifier (e.g., \"nvidia-a100\", \"nvidia-t4\")")
2825
+ }).describe("GPU specification for a capacity group.");
2826
+ //#endregion
2827
+ //#region src/generated/zod/machine-profile-schema.ts
2828
+ /**
2829
+ * Generated by Kubb (https://kubb.dev/).
2830
+ * Do not edit manually.
2831
+ */
2832
+ /**
2833
+ * @description Machine resource profile for a capacity group.\n\nRepresents the hardware specifications for machines in a capacity group.\nThese are hardware totals (what the instance type advertises), not allocatable\ncapacity. The managed container scheduler internally subtracts system reserves for planning.
2834
+ */
2835
+ const MachineProfileSchema = z.object({
2836
+ get "architecture"() {
2837
+ return z.union([ArchitectureSchema, z.null()]).optional();
2838
+ },
2839
+ "cpu": z.string().describe("CPU cores per machine (hardware total) - stored as string to preserve precision\n(e.g., \"8.0\", \"4.5\")"),
2840
+ "ephemeralStorageBytes": z.int().min(0).describe("Ephemeral storage in bytes (hardware total)"),
2841
+ get "gpu"() {
2842
+ return z.union([GpuSpecSchema, z.null()]).optional();
2843
+ },
2844
+ "memoryBytes": z.int().min(0).describe("Memory in bytes (hardware total)")
2845
+ }).describe("Machine resource profile for a capacity group.\n\nRepresents the hardware specifications for machines in a capacity group.\nThese are hardware totals (what the instance type advertises), not allocatable\ncapacity. The managed container scheduler internally subtracts system reserves for planning.");
2846
+ //#endregion
2847
+ //#region src/generated/zod/capacity-group-schema.ts
2848
+ /**
2849
+ * Generated by Kubb (https://kubb.dev/).
2850
+ * Do not edit manually.
2851
+ */
2852
+ /**
2853
+ * @description Capacity group definition.\n\nA capacity group represents machines with identical hardware profiles.\nEach group becomes a separate Auto Scaling Group (AWS), Managed Instance Group (GCP),\nor VM Scale Set (Azure).
2854
+ */
2855
+ const CapacityGroupSchema = z.object({
2856
+ "groupId": z.string().describe("Unique identifier for this capacity group (must be lowercase alphanumeric with hyphens)"),
2857
+ "instanceType": z.string().describe("Provider machine selected at deployment time.\n`alien.ts` should declare portable requirements; preflight materialization\nfills this field from `StackSettings.compute`.").nullish(),
2858
+ "maxSize": z.int().min(0).describe("Maximum number of machines (must be ≤ 10)"),
2859
+ "minSize": z.int().min(0).describe("Minimum number of machines (can be 0 for scale-to-zero)"),
2860
+ "nestedVirtualization": z.boolean().describe("Require instance types that expose nested virtualization (VT-x/EPT)\nto guest VMs. This is needed by workloads that boot nested VMs inside\ncontainers.\nWhen true, the controller's instance-type selector is constrained\nto a vetted nested-virt-capable allowlist.").nullish(),
2861
+ get "profile"() {
2862
+ return z.union([MachineProfileSchema, z.null()]).optional();
2863
+ },
2864
+ get "scalePolicy"() {
2865
+ return z.union([CapacityGroupScalePolicySchema, z.null()]).optional();
2866
+ }
2867
+ }).describe("Capacity group definition.\n\nA capacity group represents machines with identical hardware profiles.\nEach group becomes a separate Auto Scaling Group (AWS), Managed Instance Group (GCP),\nor VM Scale Set (Azure).");
2868
+ //#endregion
2767
2869
  //#region src/generated/zod/command-response-schema.ts
2768
2870
  /**
2769
2871
  * Generated by Kubb (https://kubb.dev/).
@@ -2886,6 +2988,51 @@ const ComputeClusterHeartbeatDataSchema = z.union([
2886
2988
  z.lazy(() => LocalComputeClusterHeartbeatDataSchema).and(z.object({ "backend": z.enum(["local"]) }))
2887
2989
  ]);
2888
2990
  //#endregion
2991
+ //#region src/generated/zod/compute-cluster-schema.ts
2992
+ /**
2993
+ * Generated by Kubb (https://kubb.dev/).
2994
+ * Do not edit manually.
2995
+ */
2996
+ /**
2997
+ * @description ComputeCluster resource for running long-running container workloads.\n\nA ComputeCluster provides the setup-owned machine boundary for containers.\nAlien may manage the worker fleet inside that boundary when setup grants\n`compute-cluster/management`.\n\n## Architecture\n\n- **Setup** creates cloud resources: ASGs/MIGs/VMSSs, IAM roles, security groups\n- **Alien** manages allowed fleet operations: machine count and runtime\n machine image rollout\n- A node agent runs on each machine from the selected runtime image channel\n\n## Example\n\n```rust\nuse alien_core::{CapacityGroup, ComputeCluster, MachineProfile};\n\nlet cluster = ComputeCluster::new(\"compute\".to_string())\n .capacity_group(CapacityGroup {\n group_id: \"general\".to_string(),\n instance_type: None,\n profile: Some(MachineProfile {\n cpu: \"4.0\".to_string(),\n memory_bytes: 16 * 1024 * 1024 * 1024,\n ephemeral_storage_bytes: 20 * 1024 * 1024 * 1024,\n architecture: None,\n gpu: None,\n }),\n min_size: 1,\n max_size: 5,\n scale_policy: None,\n nested_virtualization: None,\n })\n .build();\n```
2998
+ */
2999
+ const ComputeClusterSchema = z.object({
3000
+ get "capacityGroups"() {
3001
+ return z.array(CapacityGroupSchema.describe("Capacity group definition.\n\nA capacity group represents machines with identical hardware profiles.\nEach group becomes a separate Auto Scaling Group (AWS), Managed Instance Group (GCP),\nor VM Scale Set (Azure).")).describe("Capacity groups defining the machine pools for this cluster.\nEach group becomes a separate ASG/MIG/VMSS.");
3002
+ },
3003
+ "containerCidr": z.string().describe("Container CIDR block for internal container networking.\nAuto-generated as \"10.244.0.0/16\" if not specified.\nEach machine gets a /24 subnet from this range.").nullish(),
3004
+ "id": z.string().describe("Unique identifier for the container cluster.\nMust contain only alphanumeric characters, hyphens, and underscores.")
3005
+ }).describe("ComputeCluster resource for running long-running container workloads.\n\nA ComputeCluster provides the setup-owned machine boundary for containers.\nAlien may manage the worker fleet inside that boundary when setup grants\n`compute-cluster/management`.\n\n## Architecture\n\n- **Setup** creates cloud resources: ASGs/MIGs/VMSSs, IAM roles, security groups\n- **Alien** manages allowed fleet operations: machine count and runtime\n machine image rollout\n- A node agent runs on each machine from the selected runtime image channel\n\n## Example\n\n```rust\nuse alien_core::{CapacityGroup, ComputeCluster, MachineProfile};\n\nlet cluster = ComputeCluster::new(\"compute\".to_string())\n .capacity_group(CapacityGroup {\n group_id: \"general\".to_string(),\n instance_type: None,\n profile: Some(MachineProfile {\n cpu: \"4.0\".to_string(),\n memory_bytes: 16 * 1024 * 1024 * 1024,\n ephemeral_storage_bytes: 20 * 1024 * 1024 * 1024,\n architecture: None,\n gpu: None,\n }),\n min_size: 1,\n max_size: 5,\n scale_policy: None,\n nested_virtualization: None,\n })\n .build();\n```");
3006
+ //#endregion
3007
+ //#region src/generated/zod/compute-pool-selection-schema.ts
3008
+ /**
3009
+ * Generated by Kubb (https://kubb.dev/).
3010
+ * Do not edit manually.
3011
+ */
3012
+ /**
3013
+ * @description User-selected deployment settings for one compute pool.
3014
+ */
3015
+ const ComputePoolSelectionSchema = z.union([z.object({
3016
+ "machine": z.string().describe("Provider machine type selected for this deployment.").nullish(),
3017
+ "machines": z.int().min(0).describe("Number of machines to run."),
3018
+ "mode": z.enum(["fixed"])
3019
+ }), z.object({
3020
+ "machine": z.string().describe("Provider machine type selected for this deployment.").nullish(),
3021
+ "max": z.int().min(0).describe("Maximum machine count."),
3022
+ "min": z.int().min(0).describe("Minimum machine count."),
3023
+ "mode": z.enum(["autoscale"])
3024
+ })]).describe("User-selected deployment settings for one compute pool.");
3025
+ //#endregion
3026
+ //#region src/generated/zod/compute-settings-schema.ts
3027
+ /**
3028
+ * Generated by Kubb (https://kubb.dev/).
3029
+ * Do not edit manually.
3030
+ */
3031
+ /**
3032
+ * @description Deployment-time compute choices for Alien-managed compute pools.\n\nApplication source declares portable pool requirements. This settings\nobject stores the concrete choices made for one deployment, such as the\nprovider machine type and selected machine counts.
3033
+ */
3034
+ const ComputeSettingsSchema = z.object({ "pools": z.optional(z.object({}).catchall(z.lazy(() => ComputePoolSelectionSchema).describe("User-selected deployment settings for one compute pool.")).describe("Selected compute choices keyed by pool ID.")) }).describe("Deployment-time compute choices for Alien-managed compute pools.\n\nApplication source declares portable pool requirements. This settings\nobject stores the concrete choices made for one deployment, such as the\nprovider machine type and selected machine counts.");
3035
+ //#endregion
2889
3036
  //#region src/generated/zod/container-autoscaling-schema.ts
2890
3037
  /**
2891
3038
  * Generated by Kubb (https://kubb.dev/).
@@ -3271,6 +3418,23 @@ const LoadBalancerEndpointSchema = z.object({
3271
3418
  "hostedZoneId": z.string().describe("AWS Route53 hosted zone ID (for ALIAS records). Only set on AWS.").nullish()
3272
3419
  }).describe("Load balancer endpoint information for DNS management.\nThis is optional metadata used by the DNS controller to create domain mappings.");
3273
3420
  //#endregion
3421
+ //#region src/generated/zod/public-endpoint-output-schema.ts
3422
+ /**
3423
+ * Generated by Kubb (https://kubb.dev/).
3424
+ * Do not edit manually.
3425
+ */
3426
+ /**
3427
+ * @description Runtime-resolved public endpoint metadata.
3428
+ */
3429
+ const PublicEndpointOutputSchema = z.object({
3430
+ "host": z.string().describe("Hostname for this endpoint."),
3431
+ get "loadBalancerEndpoint"() {
3432
+ return z.union([LoadBalancerEndpointSchema, z.null()]).optional();
3433
+ },
3434
+ "url": z.string().describe("Base URL for this endpoint."),
3435
+ "wildcardHost": z.string().describe("Wildcard hostname routed to this endpoint, when configured.").nullish()
3436
+ }).describe("Runtime-resolved public endpoint metadata.");
3437
+ //#endregion
3274
3438
  //#region src/generated/zod/replica-status-schema.ts
3275
3439
  /**
3276
3440
  * Generated by Kubb (https://kubb.dev/).
@@ -3299,29 +3463,16 @@ const ContainerOutputsSchema = z.object({
3299
3463
  "currentReplicas": z.int().min(0).describe("Number of current replicas"),
3300
3464
  "desiredReplicas": z.int().min(0).describe("Desired number of replicas"),
3301
3465
  "internalDns": z.string().describe("Internal DNS name (e.g., \"api.svc\")"),
3302
- get "loadBalancerEndpoint"() {
3303
- return z.union([LoadBalancerEndpointSchema, z.null()]).optional();
3304
- },
3305
3466
  "name": z.string().describe("Container name in the managed container backend"),
3467
+ "publicEndpoints": z.optional(z.object({}).catchall(z.lazy(() => PublicEndpointOutputSchema).describe("Runtime-resolved public endpoint metadata.")).describe("Public endpoints resolved for this container.")),
3306
3468
  get "replicas"() {
3307
3469
  return z.array(ReplicaStatusSchema.describe("Status of a single container replica.")).describe("Status of each replica");
3308
3470
  },
3309
3471
  get "status"() {
3310
3472
  return ContainerStatusSchema.describe("Container status in the managed container backend.");
3311
- },
3312
- "url": z.string().describe("Public URL (if exposed publicly)").nullish()
3473
+ }
3313
3474
  }).describe("Outputs generated by a successfully provisioned Container.");
3314
3475
  //#endregion
3315
- //#region src/generated/zod/expose-protocol-schema.ts
3316
- /**
3317
- * Generated by Kubb (https://kubb.dev/).
3318
- * Do not edit manually.
3319
- */
3320
- /**
3321
- * @description Protocol for exposed ports.
3322
- */
3323
- const ExposeProtocolSchema = z.enum(["http", "tcp"]).describe("Protocol for exposed ports.");
3324
- //#endregion
3325
3476
  //#region src/generated/zod/container-port-schema.ts
3326
3477
  /**
3327
3478
  * Generated by Kubb (https://kubb.dev/).
@@ -3330,12 +3481,7 @@ const ExposeProtocolSchema = z.enum(["http", "tcp"]).describe("Protocol for expo
3330
3481
  /**
3331
3482
  * @description Container port configuration.
3332
3483
  */
3333
- const ContainerPortSchema = z.object({
3334
- get "expose"() {
3335
- return z.union([ExposeProtocolSchema, z.null()]).optional();
3336
- },
3337
- "port": z.int().min(0).describe("Port number")
3338
- }).describe("Container port configuration.");
3484
+ const ContainerPortSchema = z.object({ "port": z.int().min(0).describe("Port number") }).describe("Container port configuration.");
3339
3485
  //#endregion
3340
3486
  //#region src/generated/zod/health-check-schema.ts
3341
3487
  /**
@@ -3366,6 +3512,34 @@ const PersistentStorageSchema = z.object({
3366
3512
  "size": z.string().describe("Storage size (e.g., \"100Gi\", \"500Gi\")")
3367
3513
  }).describe("Persistent storage configuration for stateful containers.");
3368
3514
  //#endregion
3515
+ //#region src/generated/zod/expose-protocol-schema.ts
3516
+ /**
3517
+ * Generated by Kubb (https://kubb.dev/).
3518
+ * Do not edit manually.
3519
+ */
3520
+ /**
3521
+ * @description Protocol for public workload endpoints.
3522
+ */
3523
+ const ExposeProtocolSchema = z.enum(["http", "tcp"]).describe("Protocol for public workload endpoints.");
3524
+ //#endregion
3525
+ //#region src/generated/zod/public-endpoint-schema.ts
3526
+ /**
3527
+ * Generated by Kubb (https://kubb.dev/).
3528
+ * Do not edit manually.
3529
+ */
3530
+ /**
3531
+ * @description Public endpoint configuration for port-backed workload resources.
3532
+ */
3533
+ const PublicEndpointSchema = z.object({
3534
+ "hostLabel": z.string().describe("Optional DNS label override for generated endpoint hostnames.").nullish(),
3535
+ "name": z.string().describe("Endpoint name within the resource."),
3536
+ "port": z.int().min(0).describe("Workload port served by the public endpoint."),
3537
+ get "protocol"() {
3538
+ return ExposeProtocolSchema.describe("Protocol for public workload endpoints.");
3539
+ },
3540
+ "wildcardSubdomains": z.optional(z.boolean().describe("Whether to route wildcard subdomains to this endpoint."))
3541
+ }).describe("Public endpoint configuration for port-backed workload resources.");
3542
+ //#endregion
3369
3543
  //#region src/generated/zod/resource-spec-schema.ts
3370
3544
  /**
3371
3545
  * Generated by Kubb (https://kubb.dev/).
@@ -3385,7 +3559,7 @@ const ResourceSpecSchema = z.object({
3385
3559
  * Do not edit manually.
3386
3560
  */
3387
3561
  /**
3388
- * @description Container resource for running long-running container workloads.\n\nA Container defines a deployable unit that runs on a ComputeCluster.\nThe managed container backend handles scheduling replicas across machines,\nautoscaling based on various metrics, and service discovery.\n\n## Example\n\n```rust\nuse alien_core::{Container, ContainerCode, ResourceSpec, ContainerAutoscaling, ContainerPort, ExposeProtocol};\n\nlet container = Container::new(\"api\".to_string())\n .cluster(\"compute\".to_string())\n .code(ContainerCode::Image {\n image: \"myapp:latest\".to_string(),\n })\n .cpu(ResourceSpec { min: \"0.5\".to_string(), desired: \"1\".to_string() })\n .memory(ResourceSpec { min: \"512Mi\".to_string(), desired: \"1Gi\".to_string() })\n .port(8080)\n .expose_port(8080, ExposeProtocol::Http)\n .autoscaling(ContainerAutoscaling {\n min: 2,\n desired: 3,\n max: 10,\n target_cpu_percent: Some(70.0),\n target_memory_percent: None,\n target_http_in_flight_per_replica: Some(100),\n max_http_p95_latency_ms: None,\n })\n .permissions(\"container-execution\".to_string())\n .build();\n```
3562
+ * @description Container resource for running long-running container workloads.\n\nA Container defines a deployable unit that runs on a ComputeCluster.\nThe managed container backend handles scheduling replicas across machines,\nautoscaling based on various metrics, and service discovery.\n\n## Example\n\n```rust\nuse alien_core::{Container, ContainerCode, ResourceSpec, ContainerAutoscaling, PublicEndpoint, ExposeProtocol};\n\nlet container = Container::new(\"api\".to_string())\n .cluster(\"compute\".to_string())\n .code(ContainerCode::Image {\n image: \"myapp:latest\".to_string(),\n })\n .cpu(ResourceSpec { min: \"0.5\".to_string(), desired: \"1\".to_string() })\n .memory(ResourceSpec { min: \"512Mi\".to_string(), desired: \"1Gi\".to_string() })\n .port(8080)\n .public_endpoint(PublicEndpoint {\n name: \"api\".to_string(),\n port: 8080,\n protocol: ExposeProtocol::Http,\n host_label: None,\n wildcard_subdomains: false,\n })\n .autoscaling(ContainerAutoscaling {\n min: 2,\n desired: 3,\n max: 10,\n target_cpu_percent: Some(70.0),\n target_memory_percent: None,\n target_http_in_flight_per_replica: Some(100),\n max_http_p95_latency_ms: None,\n })\n .permissions(\"container-execution\".to_string())\n .build();\n```
3389
3563
  */
3390
3564
  const ContainerSchema = z.object({
3391
3565
  get "autoscaling"() {
@@ -3420,11 +3594,14 @@ const ContainerSchema = z.object({
3420
3594
  },
3421
3595
  "pool": z.string().describe("Capacity group to run on (must exist in the cluster)\nIf not specified, containers are scheduled to any available group.").nullish(),
3422
3596
  get "ports"() {
3423
- return z.array(ContainerPortSchema.describe("Container port configuration.")).describe("Container ports to expose (at least one required)");
3597
+ return z.array(ContainerPortSchema.describe("Container port configuration.")).describe("Internal container ports (at least one required).");
3598
+ },
3599
+ get "publicEndpoints"() {
3600
+ return z.array(PublicEndpointSchema.describe("Public endpoint configuration for port-backed workload resources.")).describe("Public endpoints exposed by the container.");
3424
3601
  },
3425
3602
  "replicas": z.int().min(0).describe("Fixed replica count (for stateful containers or stateless without autoscaling)").nullish(),
3426
3603
  "stateful": z.optional(z.boolean().describe("Whether container is stateful (gets stable ordinals, optional persistent volumes)"))
3427
- }).describe("Container resource for running long-running container workloads.\n\nA Container defines a deployable unit that runs on a ComputeCluster.\nThe managed container backend handles scheduling replicas across machines,\nautoscaling based on various metrics, and service discovery.\n\n## Example\n\n```rust\nuse alien_core::{Container, ContainerCode, ResourceSpec, ContainerAutoscaling, ContainerPort, ExposeProtocol};\n\nlet container = Container::new(\"api\".to_string())\n .cluster(\"compute\".to_string())\n .code(ContainerCode::Image {\n image: \"myapp:latest\".to_string(),\n })\n .cpu(ResourceSpec { min: \"0.5\".to_string(), desired: \"1\".to_string() })\n .memory(ResourceSpec { min: \"512Mi\".to_string(), desired: \"1Gi\".to_string() })\n .port(8080)\n .expose_port(8080, ExposeProtocol::Http)\n .autoscaling(ContainerAutoscaling {\n min: 2,\n desired: 3,\n max: 10,\n target_cpu_percent: Some(70.0),\n target_memory_percent: None,\n target_http_in_flight_per_replica: Some(100),\n max_http_p95_latency_ms: None,\n })\n .permissions(\"container-execution\".to_string())\n .build();\n```");
3604
+ }).describe("Container resource for running long-running container workloads.\n\nA Container defines a deployable unit that runs on a ComputeCluster.\nThe managed container backend handles scheduling replicas across machines,\nautoscaling based on various metrics, and service discovery.\n\n## Example\n\n```rust\nuse alien_core::{Container, ContainerCode, ResourceSpec, ContainerAutoscaling, PublicEndpoint, ExposeProtocol};\n\nlet container = Container::new(\"api\".to_string())\n .cluster(\"compute\".to_string())\n .code(ContainerCode::Image {\n image: \"myapp:latest\".to_string(),\n })\n .cpu(ResourceSpec { min: \"0.5\".to_string(), desired: \"1\".to_string() })\n .memory(ResourceSpec { min: \"512Mi\".to_string(), desired: \"1Gi\".to_string() })\n .port(8080)\n .public_endpoint(PublicEndpoint {\n name: \"api\".to_string(),\n port: 8080,\n protocol: ExposeProtocol::Http,\n host_label: None,\n wildcard_subdomains: false,\n })\n .autoscaling(ContainerAutoscaling {\n min: 2,\n desired: 3,\n max: 10,\n target_cpu_percent: Some(70.0),\n target_memory_percent: None,\n target_http_in_flight_per_replica: Some(100),\n max_http_p95_latency_ms: None,\n })\n .permissions(\"container-execution\".to_string())\n .build();\n```");
3428
3605
  //#endregion
3429
3606
  //#region src/generated/zod/create-command-request-schema.ts
3430
3607
  /**
@@ -3668,16 +3845,43 @@ const DaemonHeartbeatDataSchema = z.union([
3668
3845
  */
3669
3846
  const DaemonOutputsSchema = z.object({
3670
3847
  "daemonName": z.string(),
3848
+ "publicEndpoints": z.optional(z.object({}).catchall(z.lazy(() => PublicEndpointOutputSchema).describe("Runtime-resolved public endpoint metadata."))),
3671
3849
  "running": z.boolean()
3672
3850
  });
3673
3851
  //#endregion
3852
+ //#region src/generated/zod/daemon-runtime-mount-schema.ts
3853
+ /**
3854
+ * Generated by Kubb (https://kubb.dev/).
3855
+ * Do not edit manually.
3856
+ */
3857
+ const DaemonRuntimeMountSchema = z.object({
3858
+ "options": z.string().describe("Optional mount options understood by the backend runtime.").nullish(),
3859
+ "source": z.string().describe("Absolute host path to mount into the daemon container."),
3860
+ "target": z.string().describe("Absolute container path where the source is mounted.")
3861
+ });
3862
+ //#endregion
3863
+ //#region src/generated/zod/daemon-runtime-schema.ts
3864
+ /**
3865
+ * Generated by Kubb (https://kubb.dev/).
3866
+ * Do not edit manually.
3867
+ */
3868
+ const DaemonRuntimeSchema = z.object({
3869
+ get "mounts"() {
3870
+ return z.array(DaemonRuntimeMountSchema).describe("Host mounts exposed to the daemon container.").optional();
3871
+ },
3872
+ "networkMode": z.string().describe("Network mode. Supported values are `host` and `appnet`.").nullish(),
3873
+ "pidNamespace": z.string().describe("Process namespace mode. Supported values are `host` and `private`.").nullish(),
3874
+ "privileged": z.boolean().describe("Run the daemon container with elevated host capabilities.").nullish(),
3875
+ "user": z.string().describe("Runtime user, as a numeric uid or uid:gid string.").nullish()
3876
+ });
3877
+ //#endregion
3674
3878
  //#region src/generated/zod/daemon-schema.ts
3675
3879
  /**
3676
3880
  * Generated by Kubb (https://kubb.dev/).
3677
3881
  * Do not edit manually.
3678
3882
  */
3679
3883
  const DaemonSchema = z.object({
3680
- "cluster": z.string().describe("ComputeCluster resource ID that this daemon runs on for Horizon-backed\ncloud platforms. Kubernetes and Local runtimes ignore this field.").nullish(),
3884
+ "cluster": z.string().describe("ComputeCluster resource ID that this daemon runs on for managed cloud\ncompute backends. Kubernetes and Local runtimes ignore this field.").nullish(),
3681
3885
  get "code"() {
3682
3886
  return DaemonCodeSchema;
3683
3887
  },
@@ -3687,6 +3891,9 @@ const DaemonSchema = z.object({
3687
3891
  return ResourceSpecSchema.describe("Resource specification with min/desired values.").optional();
3688
3892
  },
3689
3893
  "environment": z.optional(z.object({}).catchall(z.string())),
3894
+ get "healthCheck"() {
3895
+ return z.union([HealthCheckSchema, z.null()]).optional();
3896
+ },
3690
3897
  "id": z.string(),
3691
3898
  get "links"() {
3692
3899
  return z.array(ResourceRefSchema.describe("New ResourceRef that works with any resource type.\nThis can eventually replace the enum-based ResourceRef for full extensibility."));
@@ -3695,7 +3902,13 @@ const DaemonSchema = z.object({
3695
3902
  return ResourceSpecSchema.describe("Resource specification with min/desired values.").optional();
3696
3903
  },
3697
3904
  "permissions": z.string(),
3698
- "pool": z.string().describe("Capacity group/pool to run on for backends that expose machine pools.").nullish()
3905
+ "pool": z.string().describe("Capacity group/pool to run on for backends that expose machine pools.").nullish(),
3906
+ get "publicEndpoints"() {
3907
+ return z.array(PublicEndpointSchema.describe("Public endpoint configuration for port-backed workload resources.")).describe("Public endpoints exposed by the daemon.");
3908
+ },
3909
+ get "runtime"() {
3910
+ return z.union([DaemonRuntimeSchema, z.null()]).optional();
3911
+ }
3699
3912
  });
3700
3913
  //#endregion
3701
3914
  //#region src/generated/zod/deployment-model-schema.ts
@@ -4366,16 +4579,6 @@ const ImportedResourceSchema = z.object({
4366
4579
  }
4367
4580
  }).describe("One resolved resource import payload.");
4368
4581
  //#endregion
4369
- //#region src/generated/zod/ingress-schema.ts
4370
- /**
4371
- * Generated by Kubb (https://kubb.dev/).
4372
- * Do not edit manually.
4373
- */
4374
- /**
4375
- * @description Controls network accessibility of the worker.
4376
- */
4377
- const IngressSchema = z.enum(["public", "private"]).describe("Controls network accessibility of the worker.");
4378
- //#endregion
4379
4582
  //#region src/generated/zod/kubernetes-certificate-mode-schema.ts
4380
4583
  /**
4381
4584
  * Generated by Kubb (https://kubb.dev/).
@@ -5519,6 +5722,9 @@ const UpdatesModeSchema = z.enum(["auto", "approval-required"]).describe("How up
5519
5722
  * @description User-customizable deployment settings specified at deploy time.\n\nThese settings are provided by the customer via CloudFormation parameters,\nTerraform attributes, CLI flags, or Helm values. They customize how the\ndeployment runs and what capabilities are enabled.\n\n**Key distinction**: StackSettings is user-customizable, while ManagementConfig\nis platform-derived (from the Manager\'s ServiceAccount).
5520
5723
  */
5521
5724
  const StackSettingsSchema = z.object({
5725
+ get "compute"() {
5726
+ return z.union([ComputeSettingsSchema, z.null()]).optional();
5727
+ },
5522
5728
  get "deploymentModel"() {
5523
5729
  return DeploymentModelSchema.describe("Deployment model: how updates are delivered to the remote environment.").optional();
5524
5730
  },
@@ -5548,6 +5754,7 @@ z.object({
5548
5754
  },
5549
5755
  "deploymentGroupToken": z.string().describe("Deployment-group token authorizing the import."),
5550
5756
  "deploymentName": z.string().describe("User-chosen deployment name. Must be unique within the deployment\ngroup; the manager returns 409 on collision rather than silently\nresolving to an existing deployment. Each setup adapter picks\nthe natural source: CloudFormation defaults to the CFN stack name,\nHelm to `{namespace}/{release}`, Terraform requires an explicit\n`name` attribute on the `alien_deployment` resource."),
5757
+ "inputValues": z.optional(z.object({}).catchall(z.any()).describe("Deployer-provided stack input values collected by generated setup\nsurfaces. Platform-backed managers resolve these into runtime\nenvironment variables before deployment creation; standalone managers\naccept the field for setup package compatibility.")),
5551
5758
  get "managementConfig"() {
5552
5759
  return z.union([ManagementConfigSchema, z.null()]).optional();
5553
5760
  },
@@ -5582,6 +5789,141 @@ z.object({
5582
5789
  return StackStateSchema.describe("Represents the collective state of all resources in a stack, including platform and pending actions.");
5583
5790
  }
5584
5791
  }).describe("Response body returned after a stack import.");
5792
+ //#endregion
5793
+ //#region src/generated/zod/stack-input-default-value-schema.ts
5794
+ /**
5795
+ * Generated by Kubb (https://kubb.dev/).
5796
+ * Do not edit manually.
5797
+ */
5798
+ /**
5799
+ * @description Stack input default value.
5800
+ */
5801
+ const StackInputDefaultValueSchema = z.union([
5802
+ z.object({
5803
+ "type": z.enum(["string"]),
5804
+ "value": z.string().describe("String default.")
5805
+ }),
5806
+ z.object({
5807
+ "type": z.enum(["number"]),
5808
+ "value": z.string().describe("Number default.")
5809
+ }),
5810
+ z.object({
5811
+ "type": z.enum(["boolean"]),
5812
+ "value": z.boolean().describe("Boolean default.")
5813
+ }),
5814
+ z.object({
5815
+ "type": z.enum(["stringList"]),
5816
+ "value": z.array(z.string()).describe("String list default.")
5817
+ })
5818
+ ]).describe("Stack input default value.");
5819
+ //#endregion
5820
+ //#region src/generated/zod/stack-input-environment-variable-type-schema.ts
5821
+ /**
5822
+ * Generated by Kubb (https://kubb.dev/).
5823
+ * Do not edit manually.
5824
+ */
5825
+ /**
5826
+ * @description Environment variable handling for a stack input mapping.
5827
+ */
5828
+ const StackInputEnvironmentVariableTypeSchema = z.enum(["plain", "secret"]).describe("Environment variable handling for a stack input mapping.");
5829
+ //#endregion
5830
+ //#region src/generated/zod/stack-input-environment-mapping-schema.ts
5831
+ /**
5832
+ * Generated by Kubb (https://kubb.dev/).
5833
+ * Do not edit manually.
5834
+ */
5835
+ /**
5836
+ * @description How a resolved stack input is injected into runtime environment variables.
5837
+ */
5838
+ const StackInputEnvironmentMappingSchema = z.object({
5839
+ "name": z.string().describe("Environment variable name."),
5840
+ "targetResources": z.array(z.string()).describe("Target resource IDs or patterns. None means every env-capable resource.").nullish(),
5841
+ get "type"() {
5842
+ return z.union([StackInputEnvironmentVariableTypeSchema, z.null()]).optional();
5843
+ }
5844
+ }).describe("How a resolved stack input is injected into runtime environment variables.");
5845
+ //#endregion
5846
+ //#region src/generated/zod/stack-input-kind-schema.ts
5847
+ /**
5848
+ * Generated by Kubb (https://kubb.dev/).
5849
+ * Do not edit manually.
5850
+ */
5851
+ /**
5852
+ * @description Primitive stack input kind.
5853
+ */
5854
+ const StackInputKindSchema = z.enum([
5855
+ "string",
5856
+ "secret",
5857
+ "number",
5858
+ "integer",
5859
+ "boolean",
5860
+ "enum",
5861
+ "stringList"
5862
+ ]).describe("Primitive stack input kind.");
5863
+ //#endregion
5864
+ //#region src/generated/zod/stack-input-provider-schema.ts
5865
+ /**
5866
+ * Generated by Kubb (https://kubb.dev/).
5867
+ * Do not edit manually.
5868
+ */
5869
+ /**
5870
+ * @description Who can provide a stack input value.
5871
+ */
5872
+ const StackInputProviderSchema = z.enum(["developer", "deployer"]).describe("Who can provide a stack input value.");
5873
+ //#endregion
5874
+ //#region src/generated/zod/stack-input-validation-schema.ts
5875
+ /**
5876
+ * Generated by Kubb (https://kubb.dev/).
5877
+ * Do not edit manually.
5878
+ */
5879
+ /**
5880
+ * @description Portable stack input validation constraints.
5881
+ */
5882
+ const StackInputValidationSchema = z.object({
5883
+ "format": z.string().describe("Semantic format hint such as url.").nullish(),
5884
+ "max": z.string().describe("Maximum number.").nullish(),
5885
+ "maxItems": z.int().min(0).describe("Maximum string-list items.").nullish(),
5886
+ "maxLength": z.int().min(0).describe("Maximum string length.").nullish(),
5887
+ "min": z.string().describe("Minimum number.").nullish(),
5888
+ "minItems": z.int().min(0).describe("Minimum string-list items.").nullish(),
5889
+ "minLength": z.int().min(0).describe("Minimum string length.").nullish(),
5890
+ "pattern": z.string().describe("Portable whole-value regex pattern.").nullish(),
5891
+ "values": z.array(z.string()).describe("Allowed string enum values.").nullish()
5892
+ }).describe("Portable stack input validation constraints.");
5893
+ //#endregion
5894
+ //#region src/generated/zod/stack-input-definition-schema.ts
5895
+ /**
5896
+ * Generated by Kubb (https://kubb.dev/).
5897
+ * Do not edit manually.
5898
+ */
5899
+ /**
5900
+ * @description Stack input definition serialized into a release stack.
5901
+ */
5902
+ const StackInputDefinitionSchema = z.object({
5903
+ get "default"() {
5904
+ return z.union([StackInputDefaultValueSchema, z.null()]).optional();
5905
+ },
5906
+ "description": z.string().describe("Human-facing helper text."),
5907
+ get "env"() {
5908
+ return z.array(StackInputEnvironmentMappingSchema.describe("How a resolved stack input is injected into runtime environment variables.")).describe("Runtime env-var mappings for v1 input resolution.").optional();
5909
+ },
5910
+ "id": z.string().describe("Stable input ID used by CLI/API calls."),
5911
+ get "kind"() {
5912
+ return StackInputKindSchema.describe("Primitive stack input kind.");
5913
+ },
5914
+ "label": z.string().describe("Human-facing field label."),
5915
+ "placeholder": z.string().describe("Example placeholder shown in UI.").nullish(),
5916
+ get "platforms"() {
5917
+ return z.array(PlatformSchema.describe("Represents the target cloud platform.")).describe("Platforms where this input applies.").nullish();
5918
+ },
5919
+ get "providedBy"() {
5920
+ return z.array(StackInputProviderSchema.describe("Who can provide a stack input value.")).describe("Who can provide this value.");
5921
+ },
5922
+ "required": z.boolean().describe("Whether a resolved value is required before deployment can proceed."),
5923
+ get "validation"() {
5924
+ return z.union([StackInputValidationSchema, z.null()]).optional();
5925
+ }
5926
+ }).describe("Stack input definition serialized into a release stack.");
5585
5927
  z.union([z.object({ "external": z.string().describe("Reference to another stack by ID") }), z.enum(["current"])]).describe("Reference to a stack for management permissions");
5586
5928
  //#endregion
5587
5929
  //#region src/generated/zod/stack-schema.ts
@@ -5594,6 +5936,9 @@ z.union([z.object({ "external": z.string().describe("Reference to another stack
5594
5936
  */
5595
5937
  const StackSchema = z.object({
5596
5938
  "id": z.string().describe("Unique identifier for the stack"),
5939
+ get "inputs"() {
5940
+ return z.array(StackInputDefinitionSchema.describe("Stack input definition serialized into a release stack.")).describe("Input definitions required before setup or deployment can proceed.").optional();
5941
+ },
5597
5942
  get "permissions"() {
5598
5943
  return PermissionsConfigSchema.describe("Combined permissions configuration that contains both profiles and management").optional();
5599
5944
  },
@@ -5785,13 +6130,24 @@ const WorkerCodeSchema = z.union([z.object({
5785
6130
  const WorkerOutputsSchema = z.object({
5786
6131
  "commandsPushTarget": z.string().describe("Push target for commands delivery. Platform-specific:\n- AWS: Lambda function name or ARN\n- GCP: Full Pub/Sub topic path (projects/{project}/topics/{topic})\n- Azure: Service Bus \"{namespace}/{queue}\"").nullish(),
5787
6132
  "identifier": z.string().describe("The ARN or platform-specific identifier.").nullish(),
5788
- get "loadBalancerEndpoint"() {
5789
- return z.union([LoadBalancerEndpointSchema, z.null()]).optional();
5790
- },
5791
- "url": z.string().describe("The invocation URL (if applicable, e.g., for public ingress or specific platforms).").nullish(),
6133
+ "publicEndpoints": z.optional(z.object({}).catchall(z.lazy(() => PublicEndpointOutputSchema).describe("Runtime-resolved public endpoint metadata.")).describe("Public endpoints resolved for this worker.")),
5792
6134
  "workerName": z.string().describe("The platform-specific worker name.")
5793
6135
  }).describe("Outputs generated by a successfully provisioned Worker.");
5794
6136
  //#endregion
6137
+ //#region src/generated/zod/worker-public-endpoint-schema.ts
6138
+ /**
6139
+ * Generated by Kubb (https://kubb.dev/).
6140
+ * Do not edit manually.
6141
+ */
6142
+ /**
6143
+ * @description Public endpoint configuration for Worker resources.
6144
+ */
6145
+ const WorkerPublicEndpointSchema = z.object({
6146
+ "hostLabel": z.string().describe("Optional DNS label override for generated endpoint hostnames.").nullish(),
6147
+ "name": z.string().describe("Endpoint name within the resource."),
6148
+ "wildcardSubdomains": z.optional(z.boolean().describe("Whether to route wildcard subdomains to this endpoint."))
6149
+ }).describe("Public endpoint configuration for Worker resources.");
6150
+ //#endregion
5795
6151
  //#region src/generated/zod/worker-trigger-schema.ts
5796
6152
  /**
5797
6153
  * Generated by Kubb (https://kubb.dev/).
@@ -5836,14 +6192,14 @@ const WorkerSchema = z.object({
5836
6192
  "concurrencyLimit": z.int().min(0).describe("Maximum number of concurrent executions allowed for the worker.\nNone means platform default applies.").nullish(),
5837
6193
  "environment": z.optional(z.object({}).catchall(z.string()).describe("Key-value pairs to set as environment variables for the worker.")),
5838
6194
  "id": z.string().describe("Identifier for the worker. Must contain only alphanumeric characters, hyphens, and underscores ([A-Za-z0-9-_]).\nMaximum 64 characters."),
5839
- get "ingress"() {
5840
- return IngressSchema.default("private").optional();
5841
- },
5842
6195
  get "links"() {
5843
6196
  return z.array(ResourceRefSchema.describe("New ResourceRef that works with any resource type.\nThis can eventually replace the enum-based ResourceRef for full extensibility.")).describe("List of resource references this worker depends on.");
5844
6197
  },
5845
6198
  "memoryMb": z.optional(z.int().min(0).default(256).describe("Memory allocated to the worker in megabytes (MB).\nDefault: 256\n\nPlatform-specific constraints:\n- **AWS Lambda**: 128–10240 MB in 1 MB increments\n- **GCP Cloud Run**: 128–32768 MB\n- **Azure Container Apps**: fixed CPU/memory pairs — 512, 1024, 1536, 2048, 2560,\n 3072, 3584, 4096 MB. Values below 512 are automatically rounded up at deploy time.")),
5846
6199
  "permissions": z.string().describe("Permission profile name that defines the permissions granted to this worker.\nThis references a profile defined in the stack's permission definitions."),
6200
+ get "publicEndpoints"() {
6201
+ return z.array(WorkerPublicEndpointSchema.describe("Public endpoint configuration for Worker resources.")).describe("Public endpoints exposed by this worker.");
6202
+ },
5847
6203
  get "readinessProbe"() {
5848
6204
  return z.union([ReadinessProbeSchema, z.null()]).optional();
5849
6205
  },
@@ -5853,6 +6209,176 @@ const WorkerSchema = z.object({
5853
6209
  }
5854
6210
  }).describe("Represents a serverless worker that executes code in response to triggers or direct invocations.\nWorkers are the primary compute resource in serverless applications, designed to be stateless and ephemeral.");
5855
6211
  //#endregion
6212
+ //#region src/input.ts
6213
+ const stackInputDraftSymbol = Symbol("alien.stackInputDraft");
6214
+ const stackInputDefinitionsSymbol = Symbol("alien.stackInputDefinitions");
6215
+ function inputs(drafts) {
6216
+ const result = {};
6217
+ const definitions = [];
6218
+ for (const [id, draft] of Object.entries(drafts)) {
6219
+ validateInputId(id);
6220
+ validateDraft(id, draft);
6221
+ result[id] = {
6222
+ id,
6223
+ kind: draft.kind
6224
+ };
6225
+ definitions.push({
6226
+ id,
6227
+ kind: draft.kind,
6228
+ providedBy: normalizeArray(draft.options.providedBy),
6229
+ required: draft.options.required,
6230
+ label: draft.options.label,
6231
+ description: draft.options.description,
6232
+ placeholder: draft.options.placeholder,
6233
+ default: toDefaultValue(draft.kind, draft.options.default),
6234
+ platforms: draft.options.platforms ? [...draft.options.platforms] : void 0,
6235
+ validation: Object.keys(draft.validation).length > 0 ? draft.validation : void 0,
6236
+ env: normalizeEnv(draft.options.env)
6237
+ });
6238
+ }
6239
+ Object.defineProperty(result, stackInputDefinitionsSymbol, {
6240
+ value: Object.freeze(definitions),
6241
+ enumerable: false
6242
+ });
6243
+ return result;
6244
+ }
6245
+ function getStackInputDefinitions(value) {
6246
+ if (Array.isArray(value)) return [...value];
6247
+ return [...value[stackInputDefinitionsSymbol]];
6248
+ }
6249
+ function defineInput(kind, options, validation = {}) {
6250
+ return {
6251
+ [stackInputDraftSymbol]: true,
6252
+ kind,
6253
+ options,
6254
+ validation
6255
+ };
6256
+ }
6257
+ function defineStringInput(options) {
6258
+ return defineInput("string", options, {
6259
+ minLength: options.minLength,
6260
+ maxLength: options.maxLength,
6261
+ pattern: options.pattern,
6262
+ format: options.format
6263
+ });
6264
+ }
6265
+ function defineSecretInput(options) {
6266
+ return defineInput("secret", options, {
6267
+ minLength: options.minLength,
6268
+ maxLength: options.maxLength,
6269
+ pattern: options.pattern,
6270
+ format: options.format
6271
+ });
6272
+ }
6273
+ function defineNumberInput(options) {
6274
+ return defineInput("number", options, {
6275
+ min: numberToString(options.min),
6276
+ max: numberToString(options.max)
6277
+ });
6278
+ }
6279
+ function defineIntegerInput(options) {
6280
+ return defineInput("integer", options, {
6281
+ min: integerToString(options.min, "min"),
6282
+ max: integerToString(options.max, "max")
6283
+ });
6284
+ }
6285
+ function defineBooleanInput(options) {
6286
+ return defineInput("boolean", options);
6287
+ }
6288
+ function defineEnumInput(values, options) {
6289
+ return defineInput("enum", options, { values: [...values] });
6290
+ }
6291
+ function defineStringListInput(options) {
6292
+ return defineInput("stringList", options, {
6293
+ minItems: options.minItems,
6294
+ maxItems: options.maxItems
6295
+ });
6296
+ }
6297
+ function normalizeArray(value) {
6298
+ return Array.isArray(value) ? [...value] : [value];
6299
+ }
6300
+ function normalizeEnv(value) {
6301
+ if (!value) return [];
6302
+ return normalizeArray(value).map((mapping) => {
6303
+ if (typeof mapping === "string") return { name: mapping };
6304
+ return {
6305
+ name: mapping.name,
6306
+ targetResources: mapping.targetResources ? [...mapping.targetResources] : void 0,
6307
+ type: mapping.type
6308
+ };
6309
+ });
6310
+ }
6311
+ function toDefaultValue(kind, value) {
6312
+ if (value === void 0) return;
6313
+ switch (kind) {
6314
+ case "string":
6315
+ case "enum": return {
6316
+ type: "string",
6317
+ value: String(value)
6318
+ };
6319
+ case "number": return {
6320
+ type: "number",
6321
+ value: numberToString(value) ?? ""
6322
+ };
6323
+ case "integer": return {
6324
+ type: "number",
6325
+ value: integerToString(value, "default") ?? ""
6326
+ };
6327
+ case "boolean": return {
6328
+ type: "boolean",
6329
+ value: Boolean(value)
6330
+ };
6331
+ case "stringList": return {
6332
+ type: "stringList",
6333
+ value: [...value]
6334
+ };
6335
+ case "secret": throw new Error("Secret stack inputs cannot declare a default value");
6336
+ }
6337
+ }
6338
+ function validateDraft(id, draft) {
6339
+ if (!draft || draft[stackInputDraftSymbol] !== true) throw new Error(`Stack input '${id}' must be created with alien.string(), alien.secret(), or another input helper`);
6340
+ if (normalizeArray(draft.options.providedBy).length === 0) throw new Error(`Stack input '${id}' must include at least one providedBy value`);
6341
+ if (!draft.options.label.trim()) throw new Error(`Stack input '${id}' must include a label`);
6342
+ if (draft.options.required && !draft.options.description.trim()) throw new Error(`Stack input '${id}' must include a description when required is true`);
6343
+ validateValidation(id, draft.kind, draft.validation);
6344
+ for (const mapping of normalizeEnv(draft.options.env)) {
6345
+ validateEnvName(id, mapping.name);
6346
+ if (mapping.targetResources?.length === 0) throw new Error(`Stack input '${id}' env mapping '${mapping.name}' cannot use an empty targetResources list`);
6347
+ }
6348
+ }
6349
+ function validateInputId(id) {
6350
+ if (!/^[A-Za-z_][A-Za-z0-9_]*$/.test(id)) throw new Error(`Stack input '${id}' id must start with a letter or underscore and contain only letters, digits, and underscores`);
6351
+ if (!/[a-z]/.test(id)) throw new Error(`Stack input '${id}' id must not be all-caps env-var style`);
6352
+ }
6353
+ function validateEnvName(id, name) {
6354
+ if (!/^[A-Z_][A-Z0-9_]*$/.test(name)) throw new Error(`Stack input '${id}' env name '${name}' must use uppercase letters, digits, and underscores`);
6355
+ }
6356
+ function validateValidation(id, kind, validation) {
6357
+ const minLength = validation.minLength ?? void 0;
6358
+ const maxLength = validation.maxLength ?? void 0;
6359
+ const minItems = validation.minItems ?? void 0;
6360
+ const maxItems = validation.maxItems ?? void 0;
6361
+ if (minLength !== void 0 && maxLength !== void 0 && minLength > maxLength) throw new Error(`Stack input '${id}' minLength must be less than or equal to maxLength`);
6362
+ if (minItems !== void 0 && maxItems !== void 0 && minItems > maxItems) throw new Error(`Stack input '${id}' minItems must be less than or equal to maxItems`);
6363
+ if (kind === "enum" && (!validation.values || validation.values.length === 0)) throw new Error(`Stack input '${id}' enum values must not be empty`);
6364
+ if (validation.pattern) validatePortablePattern(id, validation.pattern);
6365
+ }
6366
+ function validatePortablePattern(id, pattern) {
6367
+ if (pattern.length === 0) throw new Error(`Stack input '${id}' pattern must not be empty`);
6368
+ if (pattern.startsWith("/") && pattern.endsWith("/") && pattern.length > 1) throw new Error(`Stack input '${id}' pattern must not use regex delimiters`);
6369
+ if (/\\[1-9pPk]/.test(pattern) || /\(\?/.test(pattern) || /\[[^\]]*\[/.test(pattern)) throw new Error(`Stack input '${id}' pattern is not portable across TypeScript, CloudFormation, and Terraform`);
6370
+ }
6371
+ function numberToString(value) {
6372
+ if (value === void 0) return;
6373
+ if (!Number.isFinite(value)) throw new Error("Stack input number constraints must be finite");
6374
+ return String(value);
6375
+ }
6376
+ function integerToString(value, field) {
6377
+ if (value === void 0) return;
6378
+ if (!Number.isInteger(value)) throw new Error(`Stack input integer ${field} must be an integer`);
6379
+ return String(value);
6380
+ }
6381
+ //#endregion
5856
6382
  //#region src/stack.ts
5857
6383
  /**
5858
6384
  * Represents a collection of cloud resources that are managed together.
@@ -5905,6 +6431,15 @@ var Stack = class {
5905
6431
  return this;
5906
6432
  }
5907
6433
  /**
6434
+ * Configure values that must be provided before setup or deployment can proceed.
6435
+ * @param inputs Stack input definitions created with alien.inputs({...}).
6436
+ * @returns The Stack builder instance.
6437
+ */
6438
+ inputs(inputs) {
6439
+ this._config.inputs = getStackInputDefinitions(inputs);
6440
+ return this;
6441
+ }
6442
+ /**
5908
6443
  * Gets the stack ID without building/validating the stack.
5909
6444
  * @returns The stack ID.
5910
6445
  */
@@ -5921,6 +6456,6 @@ var Stack = class {
5921
6456
  }
5922
6457
  };
5923
6458
  //#endregion
5924
- export { LocalKvHeartbeatDataSchema as $, AzureKeyVaultHeartbeatDataSchema as $n, ArtifactRegistryOutputsSchema as $r, LocalRuntimeUnitStatusSchema as $t, RemoteStackManagementSchema as A, AzureVnetNetworkHeartbeatDataSchema as An, AwsIamRoleServiceAccountHeartbeatDataSchema as Ar, GcpArtifactRegistryImportDataSchema as At, MessagePayloadSchema as B, AzureServiceActivationImportDataSchema as Bn, AwsComputeClusterImportDataSchema as Br, DaemonHeartbeatDataSchema as Bt, ResourceHeartbeatSchema as C, GcpCloudBuildHeartbeatDataSchema as Cn, RemoteStackManagementHeartbeatStatusSchema as Cr, GcpNetworkImportDataSchema as Ct, StorageHeartbeatDataSchema as D, PresignedRequestSchema as Dn, AwsNetworkImportDataSchema as Dr, GcpCloudStorageHeartbeatDataSchema as Dt, VaultHeartbeatDataSchema as E, BodySpecSchema as En, VaultHeartbeatStatusSchema as Er, GcpComputeClusterImportDataSchema as Et, QueueSchema as F, AzureStorageAccountHeartbeatDataSchema as Fn, WorkloadHeartbeatStatusSchema as Fr, DevStatusSchema as Ft, LocalServiceAccountHeartbeatDataSchema as G, AzureResourceGroupHeartbeatDataSchema as Gn, ComputeCapacityGroupStatusSchema as Gr, StorageUploadSchema as Gt, LocalWorkerHeartbeatDataSchema as H, AzureResourceProviderActivationHeartbeatDataSchema as Hn, ProviderFleetStatusSchema as Hr, KubernetesDaemonHeartbeatDataSchema as Ht, QueueOutputsSchema as I, AzureStorageAccountEndpointsSchema as In, ManagedRuntimeUnitStatusSchema as Ir, DevStatusStateSchema as It, LeaseRequestSchema as J, AzureRemoteStackManagementHeartbeatDataSchema as Jn, AwsCodeBuildHeartbeatDataSchema as Jr, ContainerPortSchema as Jt, LocalQueueHeartbeatDataSchema as K, AzureResourceGroupHeartbeatStatusSchema as Kn, ComputeCapacityRecommendationSchema as Kr, CreateCommandRequestSchema as Kt, QueueMessageSchema as L, AzureServiceBusQueueHeartbeatDataSchema as Ln, ManagedRuntimeEventSnapshotSchema as Lr, DeploymentModelSchema as Lt, RemoteStackManagementHeartbeatDataSchema as M, AzureTableKvHeartbeatDataSchema as Mn, AwsDynamoDbKvHeartbeatDataSchema as Mr, EventStateSchema as Mt, ReleaseRequestSchema as N, AzureStorageImportDataSchema as Nn, KvHeartbeatStatusSchema as Nr, EnvelopeSchema as Nt, ServiceActivationHeartbeatDataSchema as O, PresignedRequestBackendSchema as On, AwsLambdaWorkerHeartbeatDataSchema as Or, GcpCloudRunWorkerHeartbeatDataSchema as Ot, ReadinessProbeSchema as P, AzureStorageAccountImportDataSchema as Pn, AwsDynamoDbKeySchemaElementSchema as Pr, ResponseHandlingSchema as Pt, KvHeartbeatDataSchema as Q, AzureKvImportDataSchema as Qn, ArtifactRegistrySchema as Qr, LocalContainerHeartbeatDataSchema as Qt, QueueHeartbeatDataSchema as R, AzureServiceBusNamespaceImportDataSchema as Rn, ManagedRuntimeEventSourceSchema as Rr, DaemonSchema as Rt, ScheduledEventSchema as S, KubernetesEventInvolvedObjectSchema as Sn, AwsRemoteStackManagementHeartbeatDataSchema as Sr, GcpPubSubQueueHeartbeatDataSchema as St, WorkerHeartbeatDataSchema as T, ComputeTypeSchema as Tn, AwsParameterStoreVaultHeartbeatDataSchema as Tr, GcpFirestoreKvHeartbeatDataSchema as Tt, LocalVaultHeartbeatDataSchema as U, ServiceActivationHeartbeatStatusSchema as Un, ObservedCountsSchema as Ur, DaemonCodeSchema as Ut, PermissionSetSchema as V, AzureServiceAccountImportDataSchema as Vn, AwsComputeClusterHeartbeatDataSchema as Vr, LocalDaemonHeartbeatDataSchema as Vt, LocalStorageHeartbeatDataSchema as W, AzureResourceGroupImportDataSchema as Wn, ComputeClusterHeartbeatStatusSchema as Wr, CreateCommandResponseSchema as Wt, KvSchema as X, AzureNetworkImportDataSchema as Xn, AwsBuildImportDataSchema as Xr, ContainerOutputsSchema as Xt, LeaseInfoSchema as Y, AzureQueueImportDataSchema as Yn, BuildHeartbeatStatusSchema as Yr, ExposeProtocolSchema as Yt, KvOutputsSchema as Z, AzureManagedIdentityServiceAccountHeartbeatDataSchema as Zn, AwsArtifactRegistryImportDataSchema as Zr, ContainerHeartbeatDataSchema as Zt, StackSettingsSchema as _, PlatformSchema as _i, BuildOutputsSchema as _n, QueueHeartbeatStatusSchema as _r, GcpServiceAccountHeartbeatDataSchema as _t, VaultSchema as a, AwsEcrRepositoryHeartbeatDataSchema as ai, HorizonContainerHeartbeatDataSchema as an, AzureContainerAppsBuildHeartbeatDataSchema as ar, KubernetesNodeConditionStatusSchema as at, ServiceAccountSchema as b, AlienErrorSchema as bi, KubernetesEventSnapshotSchema as bn, StorageHeartbeatStatusSchema as br, GcpRemoteStackManagementHeartbeatDataSchema as bt, UploadCompleteRequestSchema as c, ObservedHealthSchema as ci, ContainerAutoscalingSchema as cn, AzureBuildImportDataSchema as cr, HeartbeatsModeSchema as ct, StorageOutputsSchema as d, StackStateSchema as di, GcpComputeClusterHeartbeatDataSchema as dn, AwsWorkerImportDataSchema as dr, GcpVpcNetworkHeartbeatDataSchema as dt, ArtifactRegistryHeartbeatDataSchema as ei, LocalRuntimeUnitKindSchema as en, AzureContainerAppsWorkerHeartbeatDataSchema as er, KubernetesWorkerHeartbeatDataSchema as et, StorageEventsSchema as f, StackResourceStateSchema as fi, CommandStatusResponseSchema as fn, AwsVpcNetworkHeartbeatDataSchema as fr, GcpVaultImportDataSchema as ft, StackSchema as g, ResourceTypeSchema as gi, BuildSchema as gn, AwsSqsQueueHeartbeatDataSchema as gr, GcpServiceAccountImportDataSchema as gt, StackStatusSchema as h, ResourceLifecycleSchema as hi, BuildStatusSchema as hn, AwsStorageImportDataSchema as hr, GcpServiceActivationImportDataSchema as ht, WorkerOutputsSchema as i, AwsEcrArtifactRegistryHeartbeatDataSchema as ii, KubernetesPodRuntimeUnitStatusSchema as in, AzureContainerAppsEnvironmentHeartbeatStatusSchema as ir, KubernetesNodeResourcesSchema as it, RemoteStackManagementOutputsSchema as j, AzureVaultImportDataSchema as jn, ServiceAccountHeartbeatStatusSchema as jr, EventChangeSchema as jt, ServiceAccountHeartbeatDataSchema as k, AzureWorkerImportDataSchema as kn, AwsKvImportDataSchema as kr, GcpBuildImportDataSchema as kt, SubmitResponseRequestSchema as l, HeartbeatIssueSeveritySchema as li, ComputeClusterHeartbeatDataSchema as ln, AzureBlobStorageHeartbeatDataSchema as lr, HeartbeatBackendSchema as lt, StorageEventTypeSchema as m, ResourceRefSchema as mi, CommandResponseSchema as mn, AwsVaultImportDataSchema as mr, GcpServiceUsageActivationHeartbeatDataSchema as mt, WorkerSchema as n, GcpArtifactRegistryHeartbeatDataSchema as ni, LocalRuntimeEventSubjectSchema as nn, AzureContainerAppsEnvironmentHeartbeatDataSchema as nr, KubernetesClusterNodeStatusSchema as nt, VaultOutputsSchema as o, ArtifactRegistryHeartbeatStatusSchema as oi, WorkloadReplicaStatusSchema as on, AzureComputeClusterImportDataSchema as or, IngressSchema as ot, StorageEventSchema as p, ResourceStatusSchema as pi, CommandStateSchema as pn, NetworkHeartbeatStatusSchema as pr, GcpStorageImportDataSchema as pt, LeaseResponseSchema as q, AzureRemoteStackManagementImportDataSchema as qn, MetricSampleSchema as qr, ContainerSchema as qt, WorkerTriggerSchema as r, AzureContainerRegistryHeartbeatDataSchema as ri, KubernetesContainerHeartbeatDataSchema as rn, AzureContainerAppsEnvironmentWorkloadProfileSchema as rr, KubernetesNodeUsageSchema as rt, UploadCompleteResponseSchema as s, ProviderLifecycleStateSchema as si, ContainerCodeSchema as sn, AzureComputeClusterHeartbeatDataSchema as sr, HttpMethodSchema as st, Stack as t, LocalArtifactRegistryHeartbeatDataSchema as ti, LocalRuntimeEventSnapshotSchema as tn, AzureContainerAppsEnvironmentImportDataSchema as tr, KubernetesSecretVaultHeartbeatDataSchema as tt, StorageSchema as u, AlienEventSchema as ui, LocalComputeClusterHeartbeatDataSchema as un, AzureArtifactRegistryImportDataSchema as ur, GcpWorkerImportDataSchema as ut, UpdatesModeSchema as v, AgentStatusSchema as vi, BuildHeartbeatDataSchema as vn, AwsServiceAccountImportDataSchema as vr, GcpSecretManagerVaultHeartbeatDataSchema as vt, ResourceHeartbeatDataSchema as w, BuildConfigSchema as wn, AwsQueueImportDataSchema as wr, GcpKvImportDataSchema as wt, ServiceAccountOutputsSchema as x, KubernetesEventSourceSchema as xn, AwsRemoteStackManagementImportDataSchema as xr, GcpQueueImportDataSchema as xt, TelemetryModeSchema as y, DevResourceInfoSchema as yi, KubernetesBuildHeartbeatDataSchema as yn, AwsS3StorageHeartbeatDataSchema as yr, GcpRemoteStackManagementImportDataSchema as yt, NetworkHeartbeatDataSchema as z, AzureServiceBusNamespaceHeartbeatDataSchema as zn, ManagedRuntimeEventInvolvedObjectSchema as zr, DaemonOutputsSchema as zt };
6459
+ export { QueueOutputsSchema as $, AzureVaultImportDataSchema as $n, ServiceAccountHeartbeatStatusSchema as $r, DeploymentModelSchema as $t, StackInputKindSchema as A, ObservedHealthSchema as Ai, CommandStatusResponseSchema as An, AzureBuildImportDataSchema as Ar, GcpServiceUsageActivationHeartbeatDataSchema as At, ResourceHeartbeatSchema as B, AgentStatusSchema as Bi, BuildHeartbeatDataSchema as Bn, AwsServiceAccountImportDataSchema as Br, GcpKvImportDataSchema as Bt, StorageEventSchema as C, LocalArtifactRegistryHeartbeatDataSchema as Ci, WorkloadReplicaStatusSchema as Cn, AzureContainerAppsEnvironmentImportDataSchema as Cr, HttpMethodSchema as Ct, StackInputDefinitionSchema as D, AwsEcrRepositoryHeartbeatDataSchema as Di, ComputeClusterHeartbeatDataSchema as Dn, AzureContainerAppsBuildHeartbeatDataSchema as Dr, GcpVpcNetworkHeartbeatDataSchema as Dt, StackSchema as E, AwsEcrArtifactRegistryHeartbeatDataSchema as Ei, ComputeClusterSchema as En, AzureContainerAppsEnvironmentHeartbeatStatusSchema as Er, GcpWorkerImportDataSchema as Et, UpdatesModeSchema as F, ResourceStatusSchema as Fi, CapacityGroupScalePolicySchema as Fn, NetworkHeartbeatStatusSchema as Fr, GcpRemoteStackManagementImportDataSchema as Ft, ServiceActivationHeartbeatDataSchema as G, GcpCloudBuildHeartbeatDataSchema as Gn, RemoteStackManagementHeartbeatStatusSchema as Gr, GcpBuildImportDataSchema as Gt, WorkerHeartbeatDataSchema as H, AlienErrorSchema as Hi, KubernetesEventSnapshotSchema as Hn, StorageHeartbeatStatusSchema as Hr, GcpComputeClusterImportDataSchema as Ht, TelemetryModeSchema as I, ResourceRefSchema as Ii, ComputeChoiceRangeSchema as In, AwsVaultImportDataSchema as Ir, GcpRemoteStackManagementHeartbeatDataSchema as It, RemoteStackManagementOutputsSchema as J, BodySpecSchema as Jn, VaultHeartbeatStatusSchema as Jr, EventStateSchema as Jt, ServiceAccountHeartbeatDataSchema as K, BuildConfigSchema as Kn, AwsQueueImportDataSchema as Kr, GcpArtifactRegistryImportDataSchema as Kt, ServiceAccountSchema as L, ResourceLifecycleSchema as Li, BuildStatusSchema as Ln, AwsStorageImportDataSchema as Lr, GcpQueueImportDataSchema as Lt, StackInputEnvironmentVariableTypeSchema as M, AlienEventSchema as Mi, CommandResponseSchema as Mn, AzureArtifactRegistryImportDataSchema as Mr, GcpServiceAccountImportDataSchema as Mt, StackInputDefaultValueSchema as N, StackStateSchema as Ni, CapacityGroupSchema as Nn, AwsWorkerImportDataSchema as Nr, GcpServiceAccountHeartbeatDataSchema as Nt, StackInputValidationSchema as O, ArtifactRegistryHeartbeatStatusSchema as Oi, LocalComputeClusterHeartbeatDataSchema as On, AzureComputeClusterImportDataSchema as Or, GcpVaultImportDataSchema as Ot, StackSettingsSchema as P, StackResourceStateSchema as Pi, MachineProfileSchema as Pn, AwsVpcNetworkHeartbeatDataSchema as Pr, GcpSecretManagerVaultHeartbeatDataSchema as Pt, QueueSchema as Q, AzureVnetNetworkHeartbeatDataSchema as Qn, AwsIamRoleServiceAccountHeartbeatDataSchema as Qr, DevStatusStateSchema as Qt, ServiceAccountOutputsSchema as R, ResourceTypeSchema as Ri, BuildSchema as Rn, AwsSqsQueueHeartbeatDataSchema as Rr, GcpPubSubQueueHeartbeatDataSchema as Rt, StorageEventsSchema as S, ArtifactRegistryHeartbeatDataSchema as Si, HorizonContainerHeartbeatDataSchema as Sn, AzureContainerAppsWorkerHeartbeatDataSchema as Sr, KubernetesNodeConditionStatusSchema as St, StackStatusSchema as T, AzureContainerRegistryHeartbeatDataSchema as Ti, ContainerAutoscalingSchema as Tn, AzureContainerAppsEnvironmentWorkloadProfileSchema as Tr, HeartbeatBackendSchema as Tt, VaultHeartbeatDataSchema as U, KubernetesEventSourceSchema as Un, AwsRemoteStackManagementImportDataSchema as Ur, GcpCloudStorageHeartbeatDataSchema as Ut, ResourceHeartbeatDataSchema as V, DevResourceInfoSchema as Vi, KubernetesBuildHeartbeatDataSchema as Vn, AwsS3StorageHeartbeatDataSchema as Vr, GcpFirestoreKvHeartbeatDataSchema as Vt, StorageHeartbeatDataSchema as W, KubernetesEventInvolvedObjectSchema as Wn, AwsRemoteStackManagementHeartbeatDataSchema as Wr, GcpCloudRunWorkerHeartbeatDataSchema as Wt, ReleaseRequestSchema as X, PresignedRequestBackendSchema as Xn, AwsLambdaWorkerHeartbeatDataSchema as Xr, ResponseHandlingSchema as Xt, RemoteStackManagementHeartbeatDataSchema as Y, PresignedRequestSchema as Yn, AwsNetworkImportDataSchema as Yr, EnvelopeSchema as Yt, ReadinessProbeSchema as Z, AzureWorkerImportDataSchema as Zn, AwsKvImportDataSchema as Zr, DevStatusSchema as Zt, UploadCompleteResponseSchema as _, BuildHeartbeatStatusSchema as _i, LocalRuntimeUnitKindSchema as _n, AzureQueueImportDataSchema as _r, KubernetesWorkerHeartbeatDataSchema as _t, defineNumberInput as a, ManagedRuntimeEventSnapshotSchema as ai, DaemonCodeSchema as an, AzureServiceBusQueueHeartbeatDataSchema as ar, LocalWorkerHeartbeatDataSchema as at, StorageSchema as b, ArtifactRegistrySchema as bi, KubernetesContainerHeartbeatDataSchema as bn, AzureKvImportDataSchema as br, KubernetesNodeUsageSchema as bt, defineStringListInput as c, AwsComputeClusterImportDataSchema as ci, CreateCommandRequestSchema as cn, AzureServiceActivationImportDataSchema as cr, LocalServiceAccountHeartbeatDataSchema as ct, WorkerSchema as d, ObservedCountsSchema as di, ExposeProtocolSchema as dn, ServiceActivationHeartbeatStatusSchema as dr, LeaseRequestSchema as dt, AwsDynamoDbKvHeartbeatDataSchema as ei, DaemonSchema as en, AzureTableKvHeartbeatDataSchema as er, QueueMessageSchema as et, WorkerTriggerSchema as f, ComputeClusterHeartbeatStatusSchema as fi, ContainerPortSchema as fn, AzureResourceGroupImportDataSchema as fr, LeaseInfoSchema as ft, VaultOutputsSchema as g, AwsCodeBuildHeartbeatDataSchema as gi, LocalRuntimeUnitStatusSchema as gn, AzureRemoteStackManagementHeartbeatDataSchema as gr, LocalKvHeartbeatDataSchema as gt, VaultSchema as h, MetricSampleSchema as hi, LocalContainerHeartbeatDataSchema as hn, AzureRemoteStackManagementImportDataSchema as hr, KvHeartbeatDataSchema as ht, defineIntegerInput as i, ManagedRuntimeUnitStatusSchema as ii, KubernetesDaemonHeartbeatDataSchema as in, AzureStorageAccountEndpointsSchema as ir, PermissionSetSchema as it, StackInputEnvironmentMappingSchema as j, HeartbeatIssueSeveritySchema as ji, CommandStateSchema as jn, AzureBlobStorageHeartbeatDataSchema as jr, GcpServiceActivationImportDataSchema as jt, StackInputProviderSchema as k, ProviderLifecycleStateSchema as ki, GcpComputeClusterHeartbeatDataSchema as kn, AzureComputeClusterHeartbeatDataSchema as kr, GcpStorageImportDataSchema as kt, getStackInputDefinitions as l, AwsComputeClusterHeartbeatDataSchema as li, ContainerSchema as ln, AzureServiceAccountImportDataSchema as lr, LocalQueueHeartbeatDataSchema as lt, WorkerOutputsSchema as m, ComputeCapacityRecommendationSchema as mi, ContainerHeartbeatDataSchema as mn, AzureResourceGroupHeartbeatStatusSchema as mr, KvOutputsSchema as mt, defineBooleanInput as n, AwsDynamoDbKeySchemaElementSchema as ni, DaemonHeartbeatDataSchema as nn, AzureStorageAccountImportDataSchema as nr, NetworkHeartbeatDataSchema as nt, defineSecretInput as o, ManagedRuntimeEventSourceSchema as oi, CreateCommandResponseSchema as on, AzureServiceBusNamespaceImportDataSchema as or, LocalVaultHeartbeatDataSchema as ot, WorkerPublicEndpointSchema as p, ComputeCapacityGroupStatusSchema as pi, ContainerOutputsSchema as pn, AzureResourceGroupHeartbeatDataSchema as pr, KvSchema as pt, RemoteStackManagementSchema as q, ComputeTypeSchema as qn, AwsParameterStoreVaultHeartbeatDataSchema as qr, EventChangeSchema as qt, defineEnumInput as r, WorkloadHeartbeatStatusSchema as ri, LocalDaemonHeartbeatDataSchema as rn, AzureStorageAccountHeartbeatDataSchema as rr, MessagePayloadSchema as rt, defineStringInput as s, ManagedRuntimeEventInvolvedObjectSchema as si, StorageUploadSchema as sn, AzureServiceBusNamespaceHeartbeatDataSchema as sr, LocalStorageHeartbeatDataSchema as st, Stack as t, KvHeartbeatStatusSchema as ti, DaemonOutputsSchema as tn, AzureStorageImportDataSchema as tr, QueueHeartbeatDataSchema as tt, inputs as u, ProviderFleetStatusSchema as ui, PublicEndpointSchema as un, AzureResourceProviderActivationHeartbeatDataSchema as ur, LeaseResponseSchema as ut, UploadCompleteRequestSchema as v, AwsBuildImportDataSchema as vi, LocalRuntimeEventSnapshotSchema as vn, AzureNetworkImportDataSchema as vr, KubernetesSecretVaultHeartbeatDataSchema as vt, StorageEventTypeSchema as w, GcpArtifactRegistryHeartbeatDataSchema as wi, ContainerCodeSchema as wn, AzureContainerAppsEnvironmentHeartbeatDataSchema as wr, HeartbeatsModeSchema as wt, StorageOutputsSchema as x, ArtifactRegistryOutputsSchema as xi, KubernetesPodRuntimeUnitStatusSchema as xn, AzureKeyVaultHeartbeatDataSchema as xr, KubernetesNodeResourcesSchema as xt, SubmitResponseRequestSchema as y, AwsArtifactRegistryImportDataSchema as yi, LocalRuntimeEventSubjectSchema as yn, AzureManagedIdentityServiceAccountHeartbeatDataSchema as yr, KubernetesClusterNodeStatusSchema as yt, ScheduledEventSchema as z, PlatformSchema as zi, BuildOutputsSchema as zn, QueueHeartbeatStatusSchema as zr, GcpNetworkImportDataSchema as zt };
5925
6460
 
5926
6461
  //# sourceMappingURL=stack.js.map