@alienplatform/core 1.0.1 → 1.3.4
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.
- package/.turbo/turbo-build.log +30 -0
- package/LICENSE.md +105 -0
- package/dist/index.d.ts +2343 -2321
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -6
- package/dist/index.js.map +1 -1
- package/dist/stack.js +264 -262
- package/dist/stack.js.map +1 -1
- package/dist/tests/index.d.ts +2 -1
- package/dist/tests/index.d.ts.map +1 -1
- package/kubb.config.ts +1 -0
- package/package.json +17 -10
- package/src/artifact-registry.ts +12 -0
- package/src/function.ts +5 -6
- package/src/generated/index.ts +0 -2
- package/src/generated/schemas/agentStatus.json +1 -1
- package/src/generated/schemas/alienError.json +1 -1
- package/src/generated/schemas/alienEvent.json +1 -1
- package/src/generated/schemas/artifactRegistry.json +1 -1
- package/src/generated/schemas/azureManagementConfig.json +1 -1
- package/src/generated/schemas/commandState.json +1 -1
- package/src/generated/schemas/createCommandRequest.json +1 -1
- package/src/generated/schemas/deploymentStatus.json +1 -1
- package/src/generated/schemas/devStatus.json +1 -1
- package/src/generated/schemas/envelope.json +1 -1
- package/src/generated/schemas/eventChange.json +1 -1
- package/src/generated/schemas/eventState.json +1 -1
- package/src/generated/schemas/function.json +1 -1
- package/src/generated/schemas/functionOutputs.json +1 -1
- package/src/generated/schemas/functionTrigger.json +1 -1
- package/src/generated/schemas/leaseInfo.json +1 -1
- package/src/generated/schemas/leaseResponse.json +1 -1
- package/src/generated/schemas/managementConfig.json +1 -1
- package/src/generated/schemas/managementPermissions.json +1 -1
- package/src/generated/schemas/permissionsConfig.json +1 -1
- package/src/generated/schemas/remoteStackManagement.json +1 -1
- package/src/generated/schemas/remoteStackManagementOutputs.json +1 -1
- package/src/generated/schemas/resourceEntry.json +1 -1
- package/src/generated/schemas/resourceLifecycle.json +1 -1
- package/src/generated/schemas/stack.json +1 -1
- package/src/generated/schemas/stackResourceState.json +1 -1
- package/src/generated/schemas/stackSettings.json +1 -1
- package/src/generated/schemas/stackState.json +1 -1
- package/src/generated/schemas/updatesMode.json +1 -1
- package/src/generated/zod/agent-status-schema.ts +6 -5
- package/src/generated/zod/alien-error-schema.ts +5 -4
- package/src/generated/zod/alien-event-schema.ts +6 -6
- package/src/generated/zod/artifact-registry-outputs-schema.ts +3 -3
- package/src/generated/zod/artifact-registry-schema.ts +3 -2
- package/src/generated/zod/aws-custom-certificate-config-schema.ts +1 -1
- package/src/generated/zod/aws-management-config-schema.ts +1 -1
- package/src/generated/zod/aws-platform-permission-schema.ts +3 -3
- package/src/generated/zod/azure-custom-certificate-config-schema.ts +1 -1
- package/src/generated/zod/azure-management-config-schema.ts +5 -3
- package/src/generated/zod/azure-platform-permission-schema.ts +3 -3
- package/src/generated/zod/base-resource-outputs-schema.ts +2 -2
- package/src/generated/zod/base-resource-schema.ts +2 -2
- package/src/generated/zod/binding-configuration-aws-binding-spec-schema.ts +7 -7
- package/src/generated/zod/binding-configuration-azure-binding-spec-schema.ts +5 -5
- package/src/generated/zod/binding-configuration-gcp-binding-spec-schema.ts +7 -7
- package/src/generated/zod/body-spec-schema.ts +4 -4
- package/src/generated/zod/build-config-schema.ts +5 -5
- package/src/generated/zod/build-outputs-schema.ts +1 -1
- package/src/generated/zod/build-schema.ts +5 -5
- package/src/generated/zod/build-status-schema.ts +1 -1
- package/src/generated/zod/command-response-schema.ts +3 -3
- package/src/generated/zod/command-state-schema.ts +3 -3
- package/src/generated/zod/command-status-response-schema.ts +4 -4
- package/src/generated/zod/compute-type-schema.ts +1 -1
- package/src/generated/zod/container-autoscaling-schema.ts +5 -5
- package/src/generated/zod/container-code-schema.ts +2 -2
- package/src/generated/zod/container-gpu-spec-schema.ts +1 -1
- package/src/generated/zod/container-outputs-schema.ts +5 -5
- package/src/generated/zod/container-port-schema.ts +2 -2
- package/src/generated/zod/container-schema.ts +18 -18
- package/src/generated/zod/container-status-schema.ts +1 -1
- package/src/generated/zod/create-command-request-schema.ts +6 -6
- package/src/generated/zod/create-command-response-schema.ts +4 -4
- package/src/generated/zod/custom-certificate-config-schema.ts +4 -4
- package/src/generated/zod/custom-domain-config-schema.ts +2 -2
- package/src/generated/zod/deployment-model-schema.ts +1 -1
- package/src/generated/zod/deployment-status-schema.ts +2 -2
- package/src/generated/zod/dev-resource-info-schema.ts +2 -2
- package/src/generated/zod/dev-status-schema.ts +4 -4
- package/src/generated/zod/dev-status-state-schema.ts +1 -1
- package/src/generated/zod/domain-settings-schema.ts +2 -2
- package/src/generated/zod/envelope-schema.ts +6 -6
- package/src/generated/zod/event-change-schema.ts +9 -9
- package/src/generated/zod/event-state-schema.ts +2 -2
- package/src/generated/zod/expose-protocol-schema.ts +1 -1
- package/src/generated/zod/function-code-schema.ts +2 -2
- package/src/generated/zod/function-outputs-schema.ts +6 -5
- package/src/generated/zod/function-schema.ts +13 -13
- package/src/generated/zod/function-trigger-schema.ts +4 -4
- package/src/generated/zod/gcp-condition-schema.ts +1 -1
- package/src/generated/zod/gcp-custom-certificate-config-schema.ts +1 -1
- package/src/generated/zod/gcp-management-config-schema.ts +1 -1
- package/src/generated/zod/gcp-platform-permission-schema.ts +3 -3
- package/src/generated/zod/health-check-schema.ts +6 -6
- package/src/generated/zod/heartbeats-mode-schema.ts +1 -1
- package/src/generated/zod/http-method-schema.ts +1 -1
- package/src/generated/zod/index.ts +0 -2
- package/src/generated/zod/ingress-schema.ts +1 -1
- package/src/generated/zod/kv-outputs-schema.ts +3 -3
- package/src/generated/zod/kv-schema.ts +1 -1
- package/src/generated/zod/lease-info-schema.ts +4 -4
- package/src/generated/zod/lease-request-schema.ts +3 -3
- package/src/generated/zod/lease-response-schema.ts +2 -2
- package/src/generated/zod/lifecycle-rule-schema.ts +2 -2
- package/src/generated/zod/load-balancer-endpoint-schema.ts +2 -2
- package/src/generated/zod/local-operation-schema.ts +1 -1
- package/src/generated/zod/management-config-schema.ts +6 -6
- package/src/generated/zod/management-permissions-schema.ts +3 -3
- package/src/generated/zod/message-payload-schema.ts +1 -1
- package/src/generated/zod/monitoring-config-schema.ts +6 -6
- package/src/generated/zod/network-settings-schema.ts +4 -4
- package/src/generated/zod/permission-grant-schema.ts +4 -4
- package/src/generated/zod/permission-profile-schema.ts +2 -2
- package/src/generated/zod/permission-set-reference-schema.ts +2 -2
- package/src/generated/zod/permission-set-schema.ts +2 -2
- package/src/generated/zod/permissions-config-schema.ts +3 -3
- package/src/generated/zod/persistent-storage-schema.ts +4 -4
- package/src/generated/zod/platform-permissions-schema.ts +7 -7
- package/src/generated/zod/platform-schema.ts +1 -1
- package/src/generated/zod/presigned-operation-schema.ts +1 -1
- package/src/generated/zod/presigned-request-backend-schema.ts +2 -2
- package/src/generated/zod/presigned-request-schema.ts +4 -4
- package/src/generated/zod/push-progress-schema.ts +1 -1
- package/src/generated/zod/queue-message-schema.ts +6 -6
- package/src/generated/zod/queue-outputs-schema.ts +2 -2
- package/src/generated/zod/queue-schema.ts +1 -1
- package/src/generated/zod/readiness-probe-schema.ts +3 -3
- package/src/generated/zod/release-request-schema.ts +1 -1
- package/src/generated/zod/remote-stack-management-outputs-schema.ts +3 -3
- package/src/generated/zod/remote-stack-management-schema.ts +3 -3
- package/src/generated/zod/replica-status-schema.ts +4 -4
- package/src/generated/zod/resource-entry-schema.ts +5 -5
- package/src/generated/zod/resource-lifecycle-schema.ts +2 -2
- package/src/generated/zod/resource-ref-schema.ts +2 -2
- package/src/generated/zod/resource-spec-schema.ts +1 -1
- package/src/generated/zod/resource-status-schema.ts +1 -1
- package/src/generated/zod/resource-type-schema.ts +1 -1
- package/src/generated/zod/response-handling-schema.ts +2 -2
- package/src/generated/zod/scheduled-event-schema.ts +2 -2
- package/src/generated/zod/service-account-outputs-schema.ts +1 -1
- package/src/generated/zod/service-account-schema.ts +2 -2
- package/src/generated/zod/stack-ref-schema.ts +1 -1
- package/src/generated/zod/stack-resource-state-schema.ts +13 -13
- package/src/generated/zod/stack-schema.ts +3 -3
- package/src/generated/zod/stack-settings-schema.ts +13 -10
- package/src/generated/zod/stack-state-schema.ts +3 -3
- package/src/generated/zod/stack-status-schema.ts +1 -1
- package/src/generated/zod/storage-event-schema.ts +13 -13
- package/src/generated/zod/storage-event-type-schema.ts +1 -1
- package/src/generated/zod/storage-events-schema.ts +2 -2
- package/src/generated/zod/storage-outputs-schema.ts +1 -1
- package/src/generated/zod/storage-schema.ts +4 -4
- package/src/generated/zod/storage-upload-schema.ts +3 -3
- package/src/generated/zod/submit-response-request-schema.ts +2 -2
- package/src/generated/zod/telemetry-mode-schema.ts +1 -1
- package/src/generated/zod/toolchain-config-schema.ts +5 -5
- package/src/generated/zod/updates-mode-schema.ts +3 -3
- package/src/generated/zod/upload-complete-request-schema.ts +1 -1
- package/src/generated/zod/upload-complete-response-schema.ts +3 -3
- package/src/generated/zod/vault-outputs-schema.ts +1 -1
- package/src/generated/zod/vault-schema.ts +1 -1
- package/src/index.ts +2 -2
- package/src/generated/schemas/imagePullCredentials.json +0 -1
- package/src/generated/zod/image-pull-credentials-schema.ts +0 -16
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Do not edit manually.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import
|
|
6
|
+
import * as z from "zod";
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* @description Autoscaling configuration for stateless containers.
|
|
@@ -11,11 +11,11 @@ import { z } from "zod/v4";
|
|
|
11
11
|
export const ContainerAutoscalingSchema = z.object({
|
|
12
12
|
"desired": z.int().min(0).describe("Initial desired replicas at container creation"),
|
|
13
13
|
"max": z.int().min(0).describe("Maximum replicas under load"),
|
|
14
|
-
"maxHttpP95LatencyMs": z.number().describe("Maximum acceptable p95 HTTP latency in milliseconds").
|
|
14
|
+
"maxHttpP95LatencyMs": z.number().describe("Maximum acceptable p95 HTTP latency in milliseconds").nullish(),
|
|
15
15
|
"min": z.int().min(0).describe("Minimum replicas (always running)"),
|
|
16
|
-
"targetCpuPercent": z.number().describe("Target CPU utilization percentage for scaling (default: 70%)").
|
|
17
|
-
"targetHttpInFlightPerReplica": z.int().min(0).describe("Target in-flight HTTP requests per replica").
|
|
18
|
-
"targetMemoryPercent": z.number().describe("Target memory utilization percentage for scaling (default: 80%)").
|
|
16
|
+
"targetCpuPercent": z.number().describe("Target CPU utilization percentage for scaling (default: 70%)").nullish(),
|
|
17
|
+
"targetHttpInFlightPerReplica": z.int().min(0).describe("Target in-flight HTTP requests per replica").nullish(),
|
|
18
|
+
"targetMemoryPercent": z.number().describe("Target memory utilization percentage for scaling (default: 80%)").nullish()
|
|
19
19
|
}).describe("Autoscaling configuration for stateless containers.")
|
|
20
20
|
|
|
21
21
|
export type ContainerAutoscaling = z.infer<typeof ContainerAutoscalingSchema>
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* Do not edit manually.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
+
import * as z from "zod";
|
|
6
7
|
import { ToolchainConfigSchema } from "./toolchain-config-schema.js";
|
|
7
|
-
import { z } from "zod/v4";
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* @description Specifies the source of the container\'s executable code.
|
|
@@ -14,7 +14,7 @@ export const ContainerCodeSchema = z.union([z.object({
|
|
|
14
14
|
"type": z.enum(["image"])
|
|
15
15
|
}), z.object({
|
|
16
16
|
"src": z.string().describe("The source directory to build from"),
|
|
17
|
-
get toolchain(){
|
|
17
|
+
get "toolchain"(){
|
|
18
18
|
return ToolchainConfigSchema.describe("Configuration for different programming language toolchains.\nEach toolchain provides type-safe build configuration and auto-detection capabilities.")
|
|
19
19
|
},
|
|
20
20
|
"type": z.enum(["source"])
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
* Do not edit manually.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
+
import * as z from "zod";
|
|
6
7
|
import { ContainerStatusSchema } from "./container-status-schema.js";
|
|
7
8
|
import { LoadBalancerEndpointSchema } from "./load-balancer-endpoint-schema.js";
|
|
8
9
|
import { ReplicaStatusSchema } from "./replica-status-schema.js";
|
|
9
|
-
import { z } from "zod/v4";
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* @description Outputs generated by a successfully provisioned Container.
|
|
@@ -15,17 +15,17 @@ export const ContainerOutputsSchema = z.object({
|
|
|
15
15
|
"currentReplicas": z.int().min(0).describe("Number of current replicas"),
|
|
16
16
|
"desiredReplicas": z.int().min(0).describe("Desired number of replicas"),
|
|
17
17
|
"internalDns": z.string().describe("Internal DNS name (e.g., \"api.svc\")"),
|
|
18
|
-
get loadBalancerEndpoint(){
|
|
18
|
+
get "loadBalancerEndpoint"(){
|
|
19
19
|
return z.union([LoadBalancerEndpointSchema, z.null()]).optional()
|
|
20
20
|
},
|
|
21
21
|
"name": z.string().describe("Container name in Horizon"),
|
|
22
|
-
get replicas(){
|
|
22
|
+
get "replicas"(){
|
|
23
23
|
return z.array(ReplicaStatusSchema.describe("Status of a single container replica.")).describe("Status of each replica")
|
|
24
24
|
},
|
|
25
|
-
get status(){
|
|
25
|
+
get "status"(){
|
|
26
26
|
return ContainerStatusSchema.describe("Container status in Horizon.")
|
|
27
27
|
},
|
|
28
|
-
"url": z.string().describe("Public URL (if exposed publicly)").
|
|
28
|
+
"url": z.string().describe("Public URL (if exposed publicly)").nullish()
|
|
29
29
|
}).describe("Outputs generated by a successfully provisioned Container.")
|
|
30
30
|
|
|
31
31
|
export type ContainerOutputs = z.infer<typeof ContainerOutputsSchema>
|
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
* Do not edit manually.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
+
import * as z from "zod";
|
|
6
7
|
import { ExposeProtocolSchema } from "./expose-protocol-schema.js";
|
|
7
|
-
import { z } from "zod/v4";
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* @description Container port configuration.
|
|
11
11
|
*/
|
|
12
12
|
export const ContainerPortSchema = z.object({
|
|
13
|
-
get expose(){
|
|
13
|
+
get "expose"(){
|
|
14
14
|
return z.union([ExposeProtocolSchema, z.null()]).optional()
|
|
15
15
|
},
|
|
16
16
|
"port": z.int().min(0).describe("Port number")
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Do not edit manually.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
+
import * as z from "zod";
|
|
6
7
|
import { ContainerAutoscalingSchema } from "./container-autoscaling-schema.js";
|
|
7
8
|
import { ContainerCodeSchema } from "./container-code-schema.js";
|
|
8
9
|
import { ContainerGpuSpecSchema } from "./container-gpu-spec-schema.js";
|
|
@@ -11,50 +12,49 @@ import { HealthCheckSchema } from "./health-check-schema.js";
|
|
|
11
12
|
import { PersistentStorageSchema } from "./persistent-storage-schema.js";
|
|
12
13
|
import { ResourceRefSchema } from "./resource-ref-schema.js";
|
|
13
14
|
import { ResourceSpecSchema } from "./resource-spec-schema.js";
|
|
14
|
-
import { z } from "zod/v4";
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* @description Container resource for running long-running container workloads.\n\nA Container defines a deployable unit that runs on a ContainerCluster.\nHorizon handles scheduling replicas across machines, autoscaling based on\nvarious 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```
|
|
18
18
|
*/
|
|
19
19
|
export const ContainerSchema = z.object({
|
|
20
|
-
get autoscaling(){
|
|
20
|
+
get "autoscaling"(){
|
|
21
21
|
return z.union([ContainerAutoscalingSchema, z.null()]).optional()
|
|
22
22
|
},
|
|
23
|
-
"cluster": z.string().describe("ContainerCluster resource ID that this container runs on.\nIf None, will be auto-assigned by ContainerClusterMutation at deployment time.").
|
|
24
|
-
get code(){
|
|
23
|
+
"cluster": z.string().describe("ContainerCluster resource ID that this container runs on.\nIf None, will be auto-assigned by ContainerClusterMutation at deployment time.").nullish(),
|
|
24
|
+
get "code"(){
|
|
25
25
|
return ContainerCodeSchema.describe("Specifies the source of the container's executable code.")
|
|
26
26
|
},
|
|
27
|
-
"command": z.array(z.string()).describe("Command to override image default").
|
|
28
|
-
get cpu(){
|
|
27
|
+
"command": z.array(z.string()).describe("Command to override image default").nullish(),
|
|
28
|
+
get "cpu"(){
|
|
29
29
|
return ResourceSpecSchema.describe("Resource specification with min/desired values.")
|
|
30
30
|
},
|
|
31
|
-
"environment": z.object({
|
|
31
|
+
"environment": z.optional(z.object({
|
|
32
32
|
|
|
33
|
-
}).catchall(z.string()).describe("Environment variables")
|
|
34
|
-
"ephemeralStorage": z.string().describe("Ephemeral storage requirement (e.g., \"10Gi\")").
|
|
35
|
-
get gpu(){
|
|
33
|
+
}).catchall(z.string()).describe("Environment variables")),
|
|
34
|
+
"ephemeralStorage": z.string().describe("Ephemeral storage requirement (e.g., \"10Gi\")").nullish(),
|
|
35
|
+
get "gpu"(){
|
|
36
36
|
return z.union([ContainerGpuSpecSchema, z.null()]).optional()
|
|
37
37
|
},
|
|
38
|
-
get healthCheck(){
|
|
38
|
+
get "healthCheck"(){
|
|
39
39
|
return z.union([HealthCheckSchema, z.null()]).optional()
|
|
40
40
|
},
|
|
41
41
|
"id": z.string().describe("Unique identifier for the container.\nMust be DNS-compatible: lowercase alphanumeric with hyphens."),
|
|
42
|
-
get links(){
|
|
42
|
+
get "links"(){
|
|
43
43
|
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("Resource links (dependencies)")
|
|
44
44
|
},
|
|
45
|
-
get memory(){
|
|
45
|
+
get "memory"(){
|
|
46
46
|
return ResourceSpecSchema.describe("Resource specification with min/desired values.")
|
|
47
47
|
},
|
|
48
48
|
"permissions": z.string().describe("Permission profile name"),
|
|
49
|
-
get persistentStorage(){
|
|
49
|
+
get "persistentStorage"(){
|
|
50
50
|
return z.union([PersistentStorageSchema, z.null()]).optional()
|
|
51
51
|
},
|
|
52
|
-
"pool": z.string().describe("Capacity group to run on (must exist in the cluster)\nIf not specified, containers are scheduled to any available group.").
|
|
53
|
-
get ports(){
|
|
52
|
+
"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(),
|
|
53
|
+
get "ports"(){
|
|
54
54
|
return z.array(ContainerPortSchema.describe("Container port configuration.")).describe("Container ports to expose (at least one required)")
|
|
55
55
|
},
|
|
56
|
-
"replicas": z.int().min(0).describe("Fixed replica count (for stateful containers or stateless without autoscaling)").
|
|
57
|
-
"stateful": z.boolean().describe("Whether container is stateful (gets stable ordinals, optional persistent volumes)")
|
|
56
|
+
"replicas": z.int().min(0).describe("Fixed replica count (for stateful containers or stateless without autoscaling)").nullish(),
|
|
57
|
+
"stateful": z.optional(z.boolean().describe("Whether container is stateful (gets stable ordinals, optional persistent volumes)"))
|
|
58
58
|
}).describe("Container resource for running long-running container workloads.\n\nA Container defines a deployable unit that runs on a ContainerCluster.\nHorizon handles scheduling replicas across machines, autoscaling based on\nvarious 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```")
|
|
59
59
|
|
|
60
60
|
export type Container = z.infer<typeof ContainerSchema>
|
|
@@ -3,20 +3,20 @@
|
|
|
3
3
|
* Do not edit manually.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
+
import * as z from "zod";
|
|
6
7
|
import { BodySpecSchema } from "./body-spec-schema.js";
|
|
7
|
-
import { z } from "zod/v4";
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
|
-
* @description Request to create a new
|
|
10
|
+
* @description Request to create a new command
|
|
11
11
|
*/
|
|
12
12
|
export const CreateCommandRequestSchema = z.object({
|
|
13
13
|
"command": z.string().describe("Command name (e.g., \"generate-report\", \"sync-data\")"),
|
|
14
|
-
"deadline": z.
|
|
14
|
+
"deadline": z.iso.datetime().describe("Optional deadline for command completion").nullish(),
|
|
15
15
|
"deploymentId": z.string().describe("Target deployment identifier"),
|
|
16
|
-
"idempotencyKey": z.string().describe("Optional idempotency key").
|
|
17
|
-
get params(){
|
|
16
|
+
"idempotencyKey": z.string().describe("Optional idempotency key").nullish(),
|
|
17
|
+
get "params"(){
|
|
18
18
|
return BodySpecSchema.describe("Body specification supporting inline and storage modes")
|
|
19
19
|
}
|
|
20
|
-
}).describe("Request to create a new
|
|
20
|
+
}).describe("Request to create a new command")
|
|
21
21
|
|
|
22
22
|
export type CreateCommandRequest = z.infer<typeof CreateCommandRequestSchema>
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
* Do not edit manually.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
+
import * as z from "zod";
|
|
6
7
|
import { CommandStateSchema } from "./command-state-schema.js";
|
|
7
8
|
import { StorageUploadSchema } from "./storage-upload-schema.js";
|
|
8
|
-
import { z } from "zod/v4";
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* @description Response to command creation
|
|
@@ -14,10 +14,10 @@ export const CreateCommandResponseSchema = z.object({
|
|
|
14
14
|
"commandId": z.string().describe("Unique command identifier"),
|
|
15
15
|
"inlineAllowedUpTo": z.int().min(0).describe("Maximum inline body size allowed"),
|
|
16
16
|
"next": z.string().describe("Next action for client: \"upload\" | \"poll\""),
|
|
17
|
-
get state(){
|
|
18
|
-
return CommandStateSchema.describe("Command states in the
|
|
17
|
+
get "state"(){
|
|
18
|
+
return CommandStateSchema.describe("Command states in the Commands protocol lifecycle")
|
|
19
19
|
},
|
|
20
|
-
get storageUpload(){
|
|
20
|
+
get "storageUpload"(){
|
|
21
21
|
return z.union([StorageUploadSchema, z.null()]).optional()
|
|
22
22
|
}
|
|
23
23
|
}).describe("Response to command creation")
|
|
@@ -3,22 +3,22 @@
|
|
|
3
3
|
* Do not edit manually.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
+
import * as z from "zod";
|
|
6
7
|
import { AwsCustomCertificateConfigSchema } from "./aws-custom-certificate-config-schema.js";
|
|
7
8
|
import { AzureCustomCertificateConfigSchema } from "./azure-custom-certificate-config-schema.js";
|
|
8
9
|
import { GcpCustomCertificateConfigSchema } from "./gcp-custom-certificate-config-schema.js";
|
|
9
|
-
import { z } from "zod/v4";
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* @description Platform-specific certificate references for custom domains.
|
|
13
13
|
*/
|
|
14
14
|
export const CustomCertificateConfigSchema = z.object({
|
|
15
|
-
get aws(){
|
|
15
|
+
get "aws"(){
|
|
16
16
|
return z.union([AwsCustomCertificateConfigSchema, z.null()]).optional()
|
|
17
17
|
},
|
|
18
|
-
get azure(){
|
|
18
|
+
get "azure"(){
|
|
19
19
|
return z.union([AzureCustomCertificateConfigSchema, z.null()]).optional()
|
|
20
20
|
},
|
|
21
|
-
get gcp(){
|
|
21
|
+
get "gcp"(){
|
|
22
22
|
return z.union([GcpCustomCertificateConfigSchema, z.null()]).optional()
|
|
23
23
|
}
|
|
24
24
|
}).describe("Platform-specific certificate references for custom domains.")
|
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
* Do not edit manually.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
+
import * as z from "zod";
|
|
6
7
|
import { CustomCertificateConfigSchema } from "./custom-certificate-config-schema.js";
|
|
7
|
-
import { z } from "zod/v4";
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* @description Custom domain configuration for a single resource.
|
|
11
11
|
*/
|
|
12
12
|
export const CustomDomainConfigSchema = z.object({
|
|
13
|
-
get certificate(){
|
|
13
|
+
get "certificate"(){
|
|
14
14
|
return CustomCertificateConfigSchema.describe("Platform-specific certificate references for custom domains.")
|
|
15
15
|
},
|
|
16
16
|
"domain": z.string().describe("Fully qualified domain name to use.")
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
* Do not edit manually.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import
|
|
6
|
+
import * as z from "zod";
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* @description Deployment status in the deployment lifecycle
|
|
10
10
|
*/
|
|
11
|
-
export const DeploymentStatusSchema = z.enum(["pending", "initial-setup", "initial-setup-failed", "provisioning", "provisioning-failed", "running", "refresh-failed", "update-pending", "updating", "update-failed", "delete-pending", "deleting", "delete-failed", "deleted"]).describe("Deployment status in the deployment lifecycle")
|
|
11
|
+
export const DeploymentStatusSchema = z.enum(["pending", "initial-setup", "initial-setup-failed", "provisioning", "provisioning-failed", "running", "refresh-failed", "update-pending", "updating", "update-failed", "delete-pending", "deleting", "delete-failed", "deleted", "error"]).describe("Deployment status in the deployment lifecycle")
|
|
12
12
|
|
|
13
13
|
export type DeploymentStatus = z.infer<typeof DeploymentStatusSchema>
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
* Do not edit manually.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import
|
|
6
|
+
import * as z from "zod";
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* @description Information about a deployed resource
|
|
10
10
|
*/
|
|
11
11
|
export const DevResourceInfoSchema = z.object({
|
|
12
|
-
"resourceType": z.string().describe("Resource type (\"function\" | \"container\")").
|
|
12
|
+
"resourceType": z.string().describe("Resource type (\"function\" | \"container\")").nullish(),
|
|
13
13
|
"url": z.string().describe("Resource URL (e.g., http://localhost:8080)")
|
|
14
14
|
}).describe("Information about a deployed resource")
|
|
15
15
|
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
* Do not edit manually.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
+
import * as z from "zod";
|
|
6
7
|
import { AgentStatusSchema } from "./agent-status-schema.js";
|
|
7
8
|
import { AlienErrorSchema } from "./alien-error-schema.js";
|
|
8
9
|
import { DevStatusStateSchema } from "./dev-status-state-schema.js";
|
|
9
|
-
import { z } from "zod/v4";
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* @description Overall status of the dev server
|
|
@@ -14,9 +14,9 @@ import { z } from "zod/v4";
|
|
|
14
14
|
export const DevStatusSchema = z.object({
|
|
15
15
|
"agents": z.object({
|
|
16
16
|
|
|
17
|
-
}).catchall(AgentStatusSchema.describe("Status of a single agent in the dev server")).describe("Agents being managed by this dev server (keyed by agent name)"),
|
|
17
|
+
}).catchall(z.lazy(() => AgentStatusSchema).describe("Status of a single agent in the dev server")).describe("Agents being managed by this dev server (keyed by agent name)"),
|
|
18
18
|
"apiUrl": z.string().describe("Dev server API URL (e.g., http://localhost:9090)"),
|
|
19
|
-
get error(){
|
|
19
|
+
get "error"(){
|
|
20
20
|
return z.union([AlienErrorSchema, z.null()]).optional()
|
|
21
21
|
},
|
|
22
22
|
"lastUpdated": z.string().describe("ISO 8601 timestamp of last status update"),
|
|
@@ -25,7 +25,7 @@ get error(){
|
|
|
25
25
|
"stackId": z.string().describe("Stack ID (always \"dev\" for dev server)"),
|
|
26
26
|
"startedAt": z.string().describe("ISO 8601 timestamp when dev server started"),
|
|
27
27
|
"stateDir": z.string().describe("Path to state directory"),
|
|
28
|
-
get status(){
|
|
28
|
+
get "status"(){
|
|
29
29
|
return DevStatusStateSchema.describe("Overall dev server status")
|
|
30
30
|
}
|
|
31
31
|
}).describe("Overall status of the dev server")
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* Do not edit manually.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
+
import * as z from "zod";
|
|
6
7
|
import { CustomDomainConfigSchema } from "./custom-domain-config-schema.js";
|
|
7
|
-
import { z } from "zod/v4";
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* @description Domain configuration for the stack.\n\nWhen `custom_domains` is set, the specified resources use customer-provided\ndomains and certificates. Otherwise, Alien auto-generates domains.
|
|
@@ -12,7 +12,7 @@ import { z } from "zod/v4";
|
|
|
12
12
|
export const DomainSettingsSchema = z.object({
|
|
13
13
|
"customDomains": z.object({
|
|
14
14
|
|
|
15
|
-
}).catchall(CustomDomainConfigSchema.describe("Custom domain configuration for a single resource.")).describe("Custom domain configuration per resource ID.").
|
|
15
|
+
}).catchall(z.lazy(() => CustomDomainConfigSchema).describe("Custom domain configuration for a single resource.")).describe("Custom domain configuration per resource ID.").nullish()
|
|
16
16
|
}).describe("Domain configuration for the stack.\n\nWhen `custom_domains` is set, the specified resources use customer-provided\ndomains and certificates. Otherwise, Alien auto-generates domains.")
|
|
17
17
|
|
|
18
18
|
export type DomainSettings = z.infer<typeof DomainSettingsSchema>
|
|
@@ -3,26 +3,26 @@
|
|
|
3
3
|
* Do not edit manually.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
+
import * as z from "zod";
|
|
6
7
|
import { BodySpecSchema } from "./body-spec-schema.js";
|
|
7
8
|
import { ResponseHandlingSchema } from "./response-handling-schema.js";
|
|
8
|
-
import { z } from "zod/v4";
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
|
-
* @description
|
|
11
|
+
* @description Commands envelope sent to deployments
|
|
12
12
|
*/
|
|
13
13
|
export const EnvelopeSchema = z.object({
|
|
14
14
|
"attempt": z.int().min(0).describe("Attempt number (starts at 1)"),
|
|
15
15
|
"command": z.string().describe("Command name (e.g., \"generate-report\", \"sync-data\")"),
|
|
16
16
|
"commandId": z.string().describe("Unique command identifier"),
|
|
17
|
-
"deadline": z.
|
|
17
|
+
"deadline": z.iso.datetime().describe("Command deadline").nullish(),
|
|
18
18
|
"deploymentId": z.string().describe("Target deployment identifier"),
|
|
19
|
-
get params(){
|
|
19
|
+
get "params"(){
|
|
20
20
|
return BodySpecSchema.describe("Body specification supporting inline and storage modes")
|
|
21
21
|
},
|
|
22
22
|
"protocol": z.string().describe("Protocol version identifier"),
|
|
23
|
-
get responseHandling(){
|
|
23
|
+
get "responseHandling"(){
|
|
24
24
|
return ResponseHandlingSchema.describe("Response handling configuration for deployments")
|
|
25
25
|
}
|
|
26
|
-
}).describe("
|
|
26
|
+
}).describe("Commands envelope sent to deployments")
|
|
27
27
|
|
|
28
28
|
export type Envelope = z.infer<typeof EnvelopeSchema>
|
|
@@ -3,38 +3,38 @@
|
|
|
3
3
|
* Do not edit manually.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
+
import * as z from "zod";
|
|
6
7
|
import { AlienEventSchema } from "./alien-event-schema.js";
|
|
7
8
|
import { EventStateSchema } from "./event-state-schema.js";
|
|
8
|
-
import { z } from "zod/v4";
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* @description Represents a change to an event
|
|
12
12
|
*/
|
|
13
13
|
export const EventChangeSchema = z.union([z.object({
|
|
14
|
-
"createdAt": z.
|
|
15
|
-
get event(){
|
|
14
|
+
"createdAt": z.iso.datetime().describe("Timestamp when the event was created"),
|
|
15
|
+
get "event"(){
|
|
16
16
|
return AlienEventSchema.describe("Represents all possible events in the Alien system")
|
|
17
17
|
},
|
|
18
18
|
"id": z.string().describe("Unique identifier for the event"),
|
|
19
|
-
"parentId": z.string().describe("Parent event ID if this is a child event").
|
|
20
|
-
get state(){
|
|
19
|
+
"parentId": z.string().describe("Parent event ID if this is a child event").nullish(),
|
|
20
|
+
get "state"(){
|
|
21
21
|
return EventStateSchema.describe("Represents the state of an event")
|
|
22
22
|
},
|
|
23
23
|
"type": z.enum(["created"])
|
|
24
24
|
}), z.object({
|
|
25
|
-
get event(){
|
|
25
|
+
get "event"(){
|
|
26
26
|
return AlienEventSchema.describe("Represents all possible events in the Alien system")
|
|
27
27
|
},
|
|
28
28
|
"id": z.string().describe("Unique identifier for the event"),
|
|
29
29
|
"type": z.enum(["updated"]),
|
|
30
|
-
"updatedAt": z.
|
|
30
|
+
"updatedAt": z.iso.datetime().describe("Timestamp when the event was updated")
|
|
31
31
|
}), z.object({
|
|
32
32
|
"id": z.string().describe("Unique identifier for the event"),
|
|
33
|
-
get newState(){
|
|
33
|
+
get "newState"(){
|
|
34
34
|
return EventStateSchema.describe("Represents the state of an event")
|
|
35
35
|
},
|
|
36
36
|
"type": z.enum(["stateChanged"]),
|
|
37
|
-
"updatedAt": z.
|
|
37
|
+
"updatedAt": z.iso.datetime().describe("Timestamp when the state changed")
|
|
38
38
|
})]).describe("Represents a change to an event")
|
|
39
39
|
|
|
40
40
|
export type EventChange = z.infer<typeof EventChangeSchema>
|
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
* Do not edit manually.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
+
import * as z from "zod";
|
|
6
7
|
import { AlienErrorSchema } from "./alien-error-schema.js";
|
|
7
|
-
import { z } from "zod/v4";
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* @description Represents the state of an event
|
|
11
11
|
*/
|
|
12
12
|
export const EventStateSchema = z.union([z.object({
|
|
13
13
|
"failed": z.object({
|
|
14
|
-
get error(){
|
|
14
|
+
get "error"(){
|
|
15
15
|
return z.union([AlienErrorSchema, z.null()]).optional()
|
|
16
16
|
}
|
|
17
17
|
}).describe("Event failed with an error")
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* Do not edit manually.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
+
import * as z from "zod";
|
|
6
7
|
import { ToolchainConfigSchema } from "./toolchain-config-schema.js";
|
|
7
|
-
import { z } from "zod/v4";
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* @description Specifies the source of the function\'s executable code.\nThis can be a pre-built container image or source code that the system will build.
|
|
@@ -14,7 +14,7 @@ export const FunctionCodeSchema = z.union([z.object({
|
|
|
14
14
|
"type": z.enum(["image"])
|
|
15
15
|
}), z.object({
|
|
16
16
|
"src": z.string().describe("The source directory to build from"),
|
|
17
|
-
get toolchain(){
|
|
17
|
+
get "toolchain"(){
|
|
18
18
|
return ToolchainConfigSchema.describe("Configuration for different programming language toolchains.\nEach toolchain provides type-safe build configuration and auto-detection capabilities.")
|
|
19
19
|
},
|
|
20
20
|
"type": z.enum(["source"])
|
|
@@ -3,19 +3,20 @@
|
|
|
3
3
|
* Do not edit manually.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
+
import * as z from "zod";
|
|
6
7
|
import { LoadBalancerEndpointSchema } from "./load-balancer-endpoint-schema.js";
|
|
7
|
-
import { z } from "zod/v4";
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* @description Outputs generated by a successfully provisioned Function.
|
|
11
11
|
*/
|
|
12
12
|
export const FunctionOutputsSchema = z.object({
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
|
|
13
|
+
"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(),
|
|
14
|
+
"functionName": z.string().describe("The name of the function."),
|
|
15
|
+
"identifier": z.string().describe("The ARN or platform-specific identifier.").nullish(),
|
|
16
|
+
get "loadBalancerEndpoint"(){
|
|
16
17
|
return z.union([LoadBalancerEndpointSchema, z.null()]).optional()
|
|
17
18
|
},
|
|
18
|
-
"url": z.string().describe("The invocation URL (if applicable, e.g., for public ingress or specific platforms).").
|
|
19
|
+
"url": z.string().describe("The invocation URL (if applicable, e.g., for public ingress or specific platforms).").nullish()
|
|
19
20
|
}).describe("Outputs generated by a successfully provisioned Function.")
|
|
20
21
|
|
|
21
22
|
export type FunctionOutputs = z.infer<typeof FunctionOutputsSchema>
|
|
@@ -3,39 +3,39 @@
|
|
|
3
3
|
* Do not edit manually.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
+
import * as z from "zod";
|
|
6
7
|
import { FunctionCodeSchema } from "./function-code-schema.js";
|
|
7
8
|
import { FunctionTriggerSchema } from "./function-trigger-schema.js";
|
|
8
9
|
import { IngressSchema } from "./ingress-schema.js";
|
|
9
10
|
import { ReadinessProbeSchema } from "./readiness-probe-schema.js";
|
|
10
11
|
import { ResourceRefSchema } from "./resource-ref-schema.js";
|
|
11
|
-
import { z } from "zod/v4";
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* @description Represents a serverless function that executes code in response to triggers or direct invocations.\nFunctions are the primary compute resource in serverless applications, designed to be stateless and ephemeral.
|
|
15
15
|
*/
|
|
16
16
|
export const FunctionSchema = z.object({
|
|
17
|
-
"
|
|
18
|
-
get code(){
|
|
17
|
+
get "code"(){
|
|
19
18
|
return FunctionCodeSchema.describe("Specifies the source of the function's executable code.\nThis can be a pre-built container image or source code that the system will build.")
|
|
20
19
|
},
|
|
21
|
-
"
|
|
22
|
-
"
|
|
20
|
+
"commandsEnabled": z.optional(z.boolean().default(false).describe("Whether the function can receive remote commands via the Commands protocol.\nWhen enabled, the runtime polls the manager for pending commands and executes registered handlers.")),
|
|
21
|
+
"concurrencyLimit": z.int().min(0).describe("Maximum number of concurrent executions allowed for the function.\nNone means platform default applies.").nullish(),
|
|
22
|
+
"environment": z.optional(z.object({
|
|
23
23
|
|
|
24
|
-
}).catchall(z.string()).describe("Key-value pairs to set as environment variables for the function.")
|
|
24
|
+
}).catchall(z.string()).describe("Key-value pairs to set as environment variables for the function.")),
|
|
25
25
|
"id": z.string().describe("Identifier for the function. Must contain only alphanumeric characters, hyphens, and underscores ([A-Za-z0-9-_]).\nMaximum 64 characters."),
|
|
26
|
-
get ingress(){
|
|
27
|
-
return IngressSchema.default("private")
|
|
26
|
+
get "ingress"(){
|
|
27
|
+
return IngressSchema.default("private").optional()
|
|
28
28
|
},
|
|
29
|
-
get links(){
|
|
29
|
+
get "links"(){
|
|
30
30
|
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 function depends on.")
|
|
31
31
|
},
|
|
32
|
-
"memoryMb": z.int().min(0).default(256).describe("Memory allocated to the function in megabytes (MB).\nConstraints: 128‑32768 MB (platform-specific limits may apply)\nDefault: 256"),
|
|
32
|
+
"memoryMb": z.optional(z.int().min(0).default(256).describe("Memory allocated to the function in megabytes (MB).\nConstraints: 128‑32768 MB (platform-specific limits may apply)\nDefault: 256")),
|
|
33
33
|
"permissions": z.string().describe("Permission profile name that defines the permissions granted to this function.\nThis references a profile defined in the stack's permission definitions."),
|
|
34
|
-
get readinessProbe(){
|
|
34
|
+
get "readinessProbe"(){
|
|
35
35
|
return z.union([ReadinessProbeSchema, z.null()]).optional()
|
|
36
36
|
},
|
|
37
|
-
"timeoutSeconds": z.int().min(0).default(180).describe("Maximum execution time for the function in seconds.\nConstraints: 1‑3600 seconds (platform-specific limits may apply)\nDefault: 30"),
|
|
38
|
-
get triggers(){
|
|
37
|
+
"timeoutSeconds": z.optional(z.int().min(0).default(180).describe("Maximum execution time for the function in seconds.\nConstraints: 1‑3600 seconds (platform-specific limits may apply)\nDefault: 30")),
|
|
38
|
+
get "triggers"(){
|
|
39
39
|
return z.array(FunctionTriggerSchema.describe("Defines what triggers a function execution")).describe("List of triggers that define what events automatically invoke this function.\nIf empty, the function is only invokable directly via HTTP calls or platform-specific invocation APIs.\nWhen configured, the function will be automatically invoked when any of the specified trigger conditions are met.")
|
|
40
40
|
}
|
|
41
41
|
}).describe("Represents a serverless function that executes code in response to triggers or direct invocations.\nFunctions are the primary compute resource in serverless applications, designed to be stateless and ephemeral.")
|