@alienplatform/core 1.0.1 → 1.3.3
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 +24 -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
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/generated/zod/agent-status-schema.ts","../src/generated/zod/alien-error-schema.ts","../src/generated/zod/alien-event-schema.ts","../src/generated/zod/artifact-registry-outputs-schema.ts","../src/generated/zod/artifact-registry-schema.ts","../src/generated/zod/base-resource-schema.ts","../src/generated/zod/body-spec-schema.ts","../src/generated/zod/build-config-schema.ts","../src/generated/zod/build-outputs-schema.ts","../src/generated/zod/build-status-schema.ts","../src/generated/zod/command-response-schema.ts","../src/generated/zod/command-state-schema.ts","../src/generated/zod/command-status-response-schema.ts","../src/generated/zod/compute-type-schema.ts","../src/generated/zod/container-autoscaling-schema.ts","../src/generated/zod/container-code-schema.ts","../src/generated/zod/container-gpu-spec-schema.ts","../src/generated/zod/container-outputs-schema.ts","../src/generated/zod/container-port-schema.ts","../src/generated/zod/container-schema.ts","../src/generated/zod/container-status-schema.ts","../src/generated/zod/create-command-request-schema.ts","../src/generated/zod/create-command-response-schema.ts","../src/generated/zod/deployment-model-schema.ts","../src/generated/zod/dev-resource-info-schema.ts","../src/generated/zod/dev-status-schema.ts","../src/generated/zod/dev-status-state-schema.ts","../src/generated/zod/envelope-schema.ts","../src/generated/zod/event-change-schema.ts","../src/generated/zod/event-state-schema.ts","../src/generated/zod/expose-protocol-schema.ts","../src/generated/zod/function-code-schema.ts","../src/generated/zod/function-outputs-schema.ts","../src/generated/zod/function-schema.ts","../src/generated/zod/function-trigger-schema.ts","../src/generated/zod/health-check-schema.ts","../src/generated/zod/heartbeats-mode-schema.ts","../src/generated/zod/http-method-schema.ts","../src/generated/zod/ingress-schema.ts","../src/generated/zod/kv-outputs-schema.ts","../src/generated/zod/kv-schema.ts","../src/generated/zod/lease-info-schema.ts","../src/generated/zod/lease-request-schema.ts","../src/generated/zod/lease-response-schema.ts","../src/generated/zod/lifecycle-rule-schema.ts","../src/generated/zod/management-permissions-schema.ts","../src/generated/zod/message-payload-schema.ts","../src/generated/zod/permission-set-schema.ts","../src/generated/zod/permissions-config-schema.ts","../src/generated/zod/persistent-storage-schema.ts","../src/generated/zod/platform-schema.ts","../src/generated/zod/presigned-request-backend-schema.ts","../src/generated/zod/presigned-request-schema.ts","../src/generated/zod/queue-message-schema.ts","../src/generated/zod/queue-outputs-schema.ts","../src/generated/zod/queue-schema.ts","../src/generated/zod/readiness-probe-schema.ts","../src/generated/zod/release-request-schema.ts","../src/generated/zod/replica-status-schema.ts","../src/generated/zod/resource-lifecycle-schema.ts","../src/generated/zod/resource-ref-schema.ts","../src/generated/zod/resource-spec-schema.ts","../src/generated/zod/resource-status-schema.ts","../src/generated/zod/resource-type-schema.ts","../src/generated/zod/response-handling-schema.ts","../src/generated/zod/scheduled-event-schema.ts","../src/generated/zod/service-account-outputs-schema.ts","../src/generated/zod/service-account-schema.ts","../src/generated/zod/stack-resource-state-schema.ts","../src/generated/zod/stack-schema.ts","../src/generated/zod/stack-settings-schema.ts","../src/generated/zod/stack-state-schema.ts","../src/generated/zod/stack-status-schema.ts","../src/generated/zod/storage-event-schema.ts","../src/generated/zod/storage-event-type-schema.ts","../src/generated/zod/storage-events-schema.ts","../src/generated/zod/storage-outputs-schema.ts","../src/generated/zod/storage-schema.ts","../src/generated/zod/storage-upload-schema.ts","../src/generated/zod/submit-response-request-schema.ts","../src/generated/zod/telemetry-mode-schema.ts","../src/generated/zod/updates-mode-schema.ts","../src/generated/zod/upload-complete-request-schema.ts","../src/generated/zod/upload-complete-response-schema.ts","../src/generated/zod/vault-outputs-schema.ts","../src/generated/zod/vault-schema.ts","../src/resource.ts","../src/storage.ts","../src/function.ts","../src/container.ts","../src/build.ts","../src/artifact-registry.ts","../src/vault.ts","../src/kv.ts","../src/queue.ts","../src/service-account.ts","../src/stack.ts","../src/get-resource-outputs.ts","../src/error.ts","../src/common-errors.ts"],"sourcesContent":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/generated/zod/agent-status-schema.ts","../src/generated/zod/alien-error-schema.ts","../src/generated/zod/alien-event-schema.ts","../src/generated/zod/artifact-registry-outputs-schema.ts","../src/generated/zod/artifact-registry-schema.ts","../src/generated/zod/base-resource-schema.ts","../src/generated/zod/body-spec-schema.ts","../src/generated/zod/build-config-schema.ts","../src/generated/zod/build-outputs-schema.ts","../src/generated/zod/build-status-schema.ts","../src/generated/zod/command-response-schema.ts","../src/generated/zod/command-state-schema.ts","../src/generated/zod/command-status-response-schema.ts","../src/generated/zod/compute-type-schema.ts","../src/generated/zod/container-autoscaling-schema.ts","../src/generated/zod/container-code-schema.ts","../src/generated/zod/container-gpu-spec-schema.ts","../src/generated/zod/container-outputs-schema.ts","../src/generated/zod/container-port-schema.ts","../src/generated/zod/container-schema.ts","../src/generated/zod/container-status-schema.ts","../src/generated/zod/create-command-request-schema.ts","../src/generated/zod/create-command-response-schema.ts","../src/generated/zod/deployment-model-schema.ts","../src/generated/zod/dev-resource-info-schema.ts","../src/generated/zod/dev-status-schema.ts","../src/generated/zod/dev-status-state-schema.ts","../src/generated/zod/envelope-schema.ts","../src/generated/zod/event-change-schema.ts","../src/generated/zod/event-state-schema.ts","../src/generated/zod/expose-protocol-schema.ts","../src/generated/zod/function-code-schema.ts","../src/generated/zod/function-outputs-schema.ts","../src/generated/zod/function-schema.ts","../src/generated/zod/function-trigger-schema.ts","../src/generated/zod/health-check-schema.ts","../src/generated/zod/heartbeats-mode-schema.ts","../src/generated/zod/http-method-schema.ts","../src/generated/zod/ingress-schema.ts","../src/generated/zod/kv-outputs-schema.ts","../src/generated/zod/kv-schema.ts","../src/generated/zod/lease-info-schema.ts","../src/generated/zod/lease-request-schema.ts","../src/generated/zod/lease-response-schema.ts","../src/generated/zod/lifecycle-rule-schema.ts","../src/generated/zod/management-permissions-schema.ts","../src/generated/zod/message-payload-schema.ts","../src/generated/zod/permission-set-schema.ts","../src/generated/zod/permissions-config-schema.ts","../src/generated/zod/persistent-storage-schema.ts","../src/generated/zod/platform-schema.ts","../src/generated/zod/presigned-request-backend-schema.ts","../src/generated/zod/presigned-request-schema.ts","../src/generated/zod/queue-message-schema.ts","../src/generated/zod/queue-outputs-schema.ts","../src/generated/zod/queue-schema.ts","../src/generated/zod/readiness-probe-schema.ts","../src/generated/zod/release-request-schema.ts","../src/generated/zod/replica-status-schema.ts","../src/generated/zod/resource-lifecycle-schema.ts","../src/generated/zod/resource-ref-schema.ts","../src/generated/zod/resource-spec-schema.ts","../src/generated/zod/resource-status-schema.ts","../src/generated/zod/resource-type-schema.ts","../src/generated/zod/response-handling-schema.ts","../src/generated/zod/scheduled-event-schema.ts","../src/generated/zod/service-account-outputs-schema.ts","../src/generated/zod/service-account-schema.ts","../src/generated/zod/stack-resource-state-schema.ts","../src/generated/zod/stack-schema.ts","../src/generated/zod/stack-settings-schema.ts","../src/generated/zod/stack-state-schema.ts","../src/generated/zod/stack-status-schema.ts","../src/generated/zod/storage-event-schema.ts","../src/generated/zod/storage-event-type-schema.ts","../src/generated/zod/storage-events-schema.ts","../src/generated/zod/storage-outputs-schema.ts","../src/generated/zod/storage-schema.ts","../src/generated/zod/storage-upload-schema.ts","../src/generated/zod/submit-response-request-schema.ts","../src/generated/zod/telemetry-mode-schema.ts","../src/generated/zod/updates-mode-schema.ts","../src/generated/zod/upload-complete-request-schema.ts","../src/generated/zod/upload-complete-response-schema.ts","../src/generated/zod/vault-outputs-schema.ts","../src/generated/zod/vault-schema.ts","../src/resource.ts","../src/storage.ts","../src/function.ts","../src/container.ts","../src/build.ts","../src/artifact-registry.ts","../src/vault.ts","../src/kv.ts","../src/queue.ts","../src/service-account.ts","../src/stack.ts","../src/get-resource-outputs.ts","../src/error.ts","../src/common-errors.ts"],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -233,15 +233,14 @@ var Function = class {
|
|
|
233
233
|
return this;
|
|
234
234
|
}
|
|
235
235
|
/**
|
|
236
|
-
* Enables or disables
|
|
237
|
-
* When enabled, the
|
|
238
|
-
* The necessary queue infrastructure is automatically created for the target platform.
|
|
236
|
+
* Enables or disables the Commands protocol for the function.
|
|
237
|
+
* When enabled, the runtime polls the manager for pending commands and executes registered handlers.
|
|
239
238
|
* Default: false.
|
|
240
|
-
* @param enabled Whether to enable
|
|
239
|
+
* @param enabled Whether to enable commands for this function.
|
|
241
240
|
* @returns The Function builder instance.
|
|
242
241
|
*/
|
|
243
|
-
|
|
244
|
-
this._config.
|
|
242
|
+
commandsEnabled(enabled) {
|
|
243
|
+
this._config.commandsEnabled = enabled;
|
|
245
244
|
return this;
|
|
246
245
|
}
|
|
247
246
|
/**
|
|
@@ -709,6 +708,17 @@ var ArtifactRegistry = class {
|
|
|
709
708
|
return "artifact-registry";
|
|
710
709
|
}
|
|
711
710
|
/**
|
|
711
|
+
* AWS-only: Configure ECR private image replication to additional regions.
|
|
712
|
+
* Ensures images pushed in the registry's home region are automatically
|
|
713
|
+
* available in these destination regions (required when Lambda or other
|
|
714
|
+
* compute runs in a different region).
|
|
715
|
+
* @param regions - AWS region codes to replicate to (e.g., ["us-east-2", "eu-west-1"])
|
|
716
|
+
*/
|
|
717
|
+
replicationRegions(regions) {
|
|
718
|
+
this._config.replicationRegions = regions;
|
|
719
|
+
return this;
|
|
720
|
+
}
|
|
721
|
+
/**
|
|
712
722
|
* Builds and validates the artifact registry configuration.
|
|
713
723
|
* @returns An immutable Resource representing the configured artifact registry.
|
|
714
724
|
* @throws Error if the artifact registry configuration is invalid.
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["AlienErrorOptionsSchema","z","z"],"sources":["../src/resource.ts","../src/storage.ts","../src/function.ts","../src/container.ts","../src/build.ts","../src/artifact-registry.ts","../src/vault.ts","../src/kv.ts","../src/queue.ts","../src/service-account.ts","../src/error.ts","../src/common-errors.ts","../src/get-resource-outputs.ts"],"sourcesContent":["import type { BaseResource, ResourceRef } from \"./generated/index.js\"\n\nexport { ResourceTypeSchema } from \"./generated/index.js\"\nexport type { ResourceType } from \"./generated/index.js\"\n\n/**\n * Represents a generic cloud resource within the Alien framework.\n * This class encapsulates the common properties of a resource, such as its name and configuration.\n */\nexport class Resource {\n /**\n * Creates a new Resource instance.\n * @param config The configuration object for this specific resource type.\n */\n constructor(public config: BaseResource) {}\n\n /**\n * Returns a reference to this resource.\n * A resource reference is used to link resources together (e.g., granting a Function access to a Storage bucket).\n * @returns A ResourceRef object containing the type and name of this resource.\n */\n public ref(): ResourceRef {\n return { type: this.config.type, id: this.config.id }\n }\n}\n","import {\n type LifecycleRule,\n type ResourceType,\n type Storage as StorageConfig,\n StorageSchema,\n} from \"./generated/index.js\"\nimport { Resource } from \"./resource.js\"\n\nexport type { LifecycleRule, StorageOutputs, Storage as StorageConfig } from \"./generated/index.js\"\nexport { StorageSchema as StorageConfigSchema } from \"./generated/index.js\"\n\n/**\n * Represents an object storage bucket.\n */\nexport class Storage {\n private _config: Partial<StorageConfig> = {\n publicRead: false,\n versioning: false,\n lifecycleRules: [],\n }\n\n /**\n * Creates a new Storage builder.\n * @param id ID of the storage bucket. For names with dots, each dot-separated label must be ≤ 63 characters.\n */\n constructor(id: string) {\n this._config.id = id\n }\n\n /**\n * Returns a ResourceType representing any storage resource.\n * Used for creating permission targets that apply to all storage resources.\n * @returns The \"storage\" resource type.\n */\n public static any(): ResourceType {\n return \"storage\"\n }\n\n /**\n * Allows public read access to objects without authentication.\n * Default: `false`.\n * @param value Whether to allow public read access.\n * @returns The Storage builder instance.\n */\n public publicRead(value: boolean): this {\n this._config.publicRead = value\n return this\n }\n\n /**\n * Enables object versioning.\n * Default: `false`.\n * @param value Whether to enable versioning.\n * @returns The Storage builder instance.\n */\n public versioning(value: boolean): this {\n this._config.versioning = value\n return this\n }\n\n /**\n * Defines lifecycle rules for automatic object management (e.g., expiration).\n * @param rules An array of lifecycle rules.\n * @returns The Storage builder instance.\n */\n public lifecycleRules(rules: LifecycleRule[]): this {\n this._config.lifecycleRules = rules\n return this\n }\n\n /**\n * Builds and validates the storage configuration.\n * @returns An immutable Resource representing the configured storage bucket.\n * @throws Error if the storage configuration is invalid.\n */\n public build(): Resource {\n const config = StorageSchema.parse(this._config)\n\n return new Resource({\n type: \"storage\",\n ...config,\n })\n }\n}\n","import {\n type FunctionCode,\n type Function as FunctionConfig,\n FunctionSchema,\n type FunctionTrigger,\n type Ingress,\n type ReadinessProbe,\n type ResourceType,\n} from \"./generated/index.js\"\nimport { Resource } from \"./resource.js\"\n\nexport type {\n Ingress,\n Function as FunctionConfig,\n FunctionOutputs,\n FunctionTrigger,\n ReadinessProbe,\n HttpMethod,\n} from \"./generated/index.js\"\nexport {\n IngressSchema,\n FunctionSchema as FunctionConfigSchema,\n FunctionOutputsSchema,\n FunctionTriggerSchema,\n ReadinessProbeSchema,\n HttpMethodSchema,\n} from \"./generated/index.js\"\n\n/**\n * Represents a serverless function that executes code in response to triggers or direct invocations.\n * Functions are the primary compute resource in serverless applications, designed to be stateless and ephemeral.\n */\n// biome-ignore lint/suspicious/noShadowRestrictedNames: intentionally shadows built-in `Function`\nexport class Function {\n private _config: Partial<FunctionConfig> = {\n links: [],\n triggers: [],\n environment: {},\n }\n\n /**\n * Creates a new Function builder.\n * @param id Identifier for the function. Must contain only alphanumeric characters, hyphens, and underscores ([A-Za-z0-9-_]). Maximum 64 characters.\n */\n constructor(id: string) {\n this._config.id = id\n }\n\n /**\n * Returns a ResourceType representing any function resource.\n * Used for creating permission targets that apply to all function resources.\n * @returns The \"function\" resource type.\n */\n public static any(): ResourceType {\n return \"function\"\n }\n\n /**\n * Sets the code for the function, either a pre-built image or source code to be built.\n * @param code The function code configuration.\n * @returns The Function builder instance.\n */\n public code(code: FunctionCode): this {\n this._config.code = code\n return this\n }\n\n /**\n * Sets the memory allocated to the function in megabytes (MB).\n * Constraints: 128‑32768 MB (platform-specific limits may apply).\n * Default: 256 MB.\n * @param mb The memory in MB.\n * @returns The Function builder instance.\n */\n public memoryMb(mb: number): this {\n this._config.memoryMb = mb\n return this\n }\n\n /**\n * Sets the maximum execution time for the function in seconds.\n * Constraints: 1‑3600 seconds (platform-specific limits may apply).\n * Default: 30 seconds.\n * @param sec The timeout in seconds.\n * @returns The Function builder instance.\n */\n public timeoutSeconds(sec: number): this {\n this._config.timeoutSeconds = sec\n return this\n }\n\n /**\n * Sets the maximum number of concurrent executions allowed for the function.\n * `null` means platform default applies.\n * @param limit The concurrency limit, or `null` for platform default.\n * @returns The Function builder instance.\n */\n public concurrencyLimit(limit: number | undefined): this {\n this._config.concurrencyLimit = limit\n return this\n }\n\n /**\n * Controls network accessibility of the function.\n * - `public`: Function accessible from the internet.\n * - `private`: Function accessible only via cloud API calls / triggers.\n * - `vpc`: Function deployed within a VPC with specific network controls.\n * Default: `private`.\n * @param value The ingress type.\n * @returns The Function builder instance.\n */\n public ingress(value: Ingress): this {\n this._config.ingress = value\n return this\n }\n\n /**\n * Sets key-value pairs as environment variables for the function.\n * @param env A map of environment variable names to their values.\n * @returns The Function builder instance.\n */\n public environment(env: Record<string, string>): this {\n this._config.environment = env\n return this\n }\n\n /**\n * Links another resource (e.g., Storage, KV, Queue) to this function.\n * This makes the linked resource accessible to the function, often by injecting\n * environment variables or granting permissions.\n * @param resource The resource to link.\n * @returns The Function builder instance.\n */\n public link(resource: Resource): this {\n if (!this._config.links) {\n this._config.links = []\n }\n this._config.links.push(resource.ref())\n return this\n }\n\n /**\n * Assigns a permission profile to this function.\n * The profile defines the permissions granted to this function when interacting\n * with other cloud resources.\n * @param permissions The permission profile name.\n * @returns The Function builder instance.\n */\n public permissions(permissions: string): this {\n this._config.permissions = permissions\n return this\n }\n\n /**\n * Configures a readiness probe for the function.\n * The probe will be executed after provisioning/update to verify the function is ready.\n * Only works with functions that have Public ingress.\n *\n * @example\n * ```typescript\n * const probe: ReadinessProbe = {\n * method: \"GET\",\n * path: \"/health\"\n * };\n *\n * const func = new Function(\"my-api\")\n * .code({ type: \"image\", image: \"my-api:latest\" })\n * .ingress(\"public\")\n * .readinessProbe(probe)\n * .build();\n * ```\n *\n * @param probe The readiness probe configuration.\n * @returns The Function builder instance.\n */\n public readinessProbe(probe: ReadinessProbe): this {\n this._config.readinessProbe = probe\n return this\n }\n\n /**\n * Enables or disables ARC (Alien Remote Call) protocol for the function.\n * When enabled, the function can be invoked via ARC protocol from the control plane.\n * The necessary queue infrastructure is automatically created for the target platform.\n * Default: false.\n * @param enabled Whether to enable ARC for this function.\n * @returns The Function builder instance.\n */\n public arcEnabled(enabled: boolean): this {\n this._config.arcEnabled = enabled\n return this\n }\n\n /**\n * Adds a trigger to the function. Functions can have multiple triggers.\n * Each trigger will independently invoke the function when its conditions are met.\n *\n * @example\n * ```typescript\n * // Queue trigger\n * const queueTrigger: FunctionTrigger = {\n * type: \"queue\",\n * queue: myQueue.ref()\n * };\n *\n * // Schedule trigger\n * const scheduleTrigg: FunctionTrigger = {\n * type: \"schedule\",\n * cron: \"0 * * * *\"\n * };\n *\n * const func = new Function(\"my-func\")\n * .code({ type: \"image\", image: \"my-image:latest\" })\n * .trigger(queueTrigger)\n * .trigger(scheduleTrigger)\n * .build();\n * ```\n *\n * @param trigger The trigger configuration.\n * @returns The Function builder instance.\n */\n public trigger(trigger: FunctionTrigger): this {\n if (!this._config.triggers) {\n this._config.triggers = []\n }\n this._config.triggers.push(trigger)\n return this\n }\n\n /**\n * Builds and validates the function configuration.\n * @returns An immutable Resource representing the configured function.\n * @throws Error if the function configuration is invalid (e.g., missing code).\n */\n public build(): Resource {\n const config = FunctionSchema.parse(this._config)\n\n return new Resource({\n type: \"function\",\n ...config,\n })\n }\n}\n","import {\n type ContainerAutoscaling,\n type ContainerCode,\n type Container as ContainerConfig,\n type ContainerGpuSpec,\n ContainerSchema,\n type HealthCheck,\n type ResourceSpec,\n type ResourceType,\n} from \"./generated/index.js\"\nimport { Resource } from \"./resource.js\"\n\nexport type {\n Container as ContainerConfig,\n ContainerOutputs,\n ContainerCode,\n ContainerAutoscaling,\n ContainerPort,\n ExposeProtocol,\n ContainerGpuSpec,\n ContainerStatus,\n HealthCheck,\n PersistentStorage,\n ResourceSpec,\n ReplicaStatus,\n} from \"./generated/index.js\"\nexport {\n ContainerSchema as ContainerConfigSchema,\n ContainerPortSchema,\n ExposeProtocolSchema,\n ContainerCodeSchema,\n ContainerAutoscalingSchema,\n} from \"./generated/index.js\"\n\n/**\n * Represents a long-running container workload.\n *\n * Containers run on compute instances (EC2, GCE, Azure VMs) and are orchestrated\n * by Horizon. They're designed for always-on workloads like web services, APIs,\n * databases, and background workers.\n */\nexport class Container {\n private _config: Partial<ContainerConfig> = {\n links: [],\n ports: [],\n environment: {},\n stateful: false,\n // cluster is optional - if not set, ContainerClusterMutation will auto-assign\n }\n\n /**\n * Creates a new Container builder.\n * @param id Identifier for the container. Must be DNS-compatible: lowercase alphanumeric with hyphens.\n */\n constructor(id: string) {\n this._config.id = id\n }\n\n /**\n * Returns a ResourceType representing any container resource.\n * Used for creating permission targets that apply to all container resources.\n * @returns The \"container\" resource type.\n */\n public static any(): ResourceType {\n return \"container\"\n }\n\n /**\n * Sets the container cluster this container runs on.\n * @param clusterId The ContainerCluster resource ID.\n * @returns The Container builder instance.\n */\n public cluster(clusterId: string): this {\n this._config.cluster = clusterId\n return this\n }\n\n /**\n * Sets the code for the container, either a pre-built image or source code to be built.\n * @param code The container code configuration.\n * @returns The Container builder instance.\n */\n public code(code: ContainerCode): this {\n this._config.code = code\n return this\n }\n\n /**\n * Sets the CPU resources for the container.\n *\n * For simplified configuration, use a single number:\n * - `.cpu(1)` sets both min and desired to 1 vCPU\n *\n * For advanced configuration, use ResourceSpec:\n * - `.cpu({ min: \"0.5\", desired: \"1\" })`\n *\n * @param value CPU in vCPUs (number) or ResourceSpec with min/desired.\n * @returns The Container builder instance.\n */\n public cpu(value: number | ResourceSpec): this {\n if (typeof value === \"number\") {\n this._config.cpu = { min: value.toString(), desired: value.toString() }\n } else {\n this._config.cpu = value\n }\n return this\n }\n\n /**\n * Sets the memory resources for the container.\n *\n * Format: \"<number>Mi\" or \"<number>Gi\"\n *\n * Example: \"512Mi\", \"2Gi\", \"16Gi\"\n *\n * @param size Memory size string.\n * @returns The Container builder instance.\n */\n public memory(size: string): this {\n this._config.memory = { min: size, desired: size }\n return this\n }\n\n /**\n * Sets minimum and maximum replica counts with autoscaling configuration.\n *\n * @param min Minimum replicas (always running).\n * @param max Maximum replicas under load.\n * @returns The Container builder instance.\n */\n public minReplicas(min: number): this {\n if (!this._config.autoscaling) {\n this._config.autoscaling = {\n min,\n desired: min,\n max: min * 10, // Default max is 10x min\n }\n } else {\n this._config.autoscaling.min = min\n this._config.autoscaling.desired = min\n }\n return this\n }\n\n /**\n * Sets the maximum replica count for autoscaling.\n * @param max Maximum replicas.\n * @returns The Container builder instance.\n */\n public maxReplicas(max: number): this {\n if (!this._config.autoscaling) {\n this._config.autoscaling = {\n min: 1,\n desired: 1,\n max,\n }\n } else {\n this._config.autoscaling.max = max\n }\n return this\n }\n\n /**\n * Sets a fixed replica count (for stateful containers or stateless without autoscaling).\n * Cannot be used with minReplicas/maxReplicas.\n * @param count Fixed number of replicas.\n * @returns The Container builder instance.\n */\n public replicas(count: number): this {\n this._config.replicas = count\n this._config.autoscaling = undefined\n return this\n }\n\n /**\n * Configures autoscaling behavior.\n * @param config Autoscaling configuration.\n * @returns The Container builder instance.\n */\n public autoScale(config: ContainerAutoscaling): this {\n this._config.autoscaling = config\n return this\n }\n\n /**\n * Sets whether this container is stateful.\n * Stateful containers get stable ordinals and support persistent storage.\n * @param enabled Whether the container is stateful.\n * @returns The Container builder instance.\n */\n public stateful(enabled: boolean): this {\n this._config.stateful = enabled\n return this\n }\n\n /**\n * Adds an internal-only port to the container.\n * Automatically creates DNS records for service discovery.\n * @param port Port number (e.g., 3000, 8080, 5432).\n * @returns The Container builder instance.\n */\n public port(port: number): this {\n if (!this._config.ports) {\n this._config.ports = []\n }\n this._config.ports.push({ port })\n return this\n }\n\n /**\n * Adds multiple internal-only ports to the container.\n * @param ports Array of port numbers.\n * @returns The Container builder instance.\n */\n public ports(ports: number[]): this {\n if (!this._config.ports) {\n this._config.ports = []\n }\n this._config.ports.push(...ports.map(port => ({ port })))\n return this\n }\n\n /**\n * Exposes a specific port publicly via load balancer.\n * @param port Port number to expose.\n * @param protocol \"http\" for HTTPS with TLS termination, \"tcp\" for TCP passthrough.\n * @returns The Container builder instance.\n */\n public exposePort(port: number, protocol: \"http\" | \"tcp\"): this {\n if (!this._config.ports) {\n this._config.ports = []\n }\n\n // Find existing port or add new one\n const existingPort = this._config.ports.find(p => p.port === port)\n if (existingPort) {\n existingPort.expose = protocol\n } else {\n this._config.ports.push({ port, expose: protocol })\n }\n return this\n }\n\n /**\n * Convenience method to expose the first/primary port publicly.\n * Must be called after .port() or .ports().\n * @param protocol \"http\" for HTTPS with TLS termination, \"tcp\" for TCP passthrough.\n * @returns The Container builder instance.\n */\n public expose(protocol: \"http\" | \"tcp\"): this {\n if (!this._config.ports || this._config.ports.length === 0) {\n throw new Error(\"Cannot expose port: no ports defined. Call .port() first.\")\n }\n if (!this._config.ports[0]) {\n throw new Error(\"Cannot expose port: ports array is empty\")\n }\n this._config.ports[0].expose = protocol\n return this\n }\n\n /**\n * Sets environment variables for the container.\n * @param vars Key-value pairs of environment variables.\n * @returns The Container builder instance.\n */\n public environment(vars: Record<string, string>): this {\n this._config.environment = { ...this._config.environment, ...vars }\n return this\n }\n\n /**\n * Sets ephemeral storage size.\n * Data is lost on container restart.\n * @param size Storage size (e.g., \"10Gi\", \"100Gi\", \"500Gi\").\n * @returns The Container builder instance.\n */\n public ephemeralStorage(size: string): this {\n this._config.ephemeralStorage = size\n return this\n }\n\n /**\n * Configures persistent storage (requires stateful=true).\n * Data survives container restarts.\n * @param size Storage size (e.g., \"100Gi\", \"500Gi\", \"1Ti\").\n * @returns The Container builder instance.\n */\n public persistentStorage(size: string): this {\n this._config.persistentStorage = {\n size,\n mountPath: \"/data\",\n }\n this._config.stateful = true\n return this\n }\n\n /**\n * Requests GPU resources.\n * @param config GPU configuration with type and count.\n * @returns The Container builder instance.\n */\n public gpu(config: ContainerGpuSpec): this {\n this._config.gpu = config\n return this\n }\n\n /**\n * Configures health check for the container.\n * @param config Health check configuration.\n * @returns The Container builder instance.\n */\n public healthCheck(config: HealthCheck): this {\n this._config.healthCheck = config\n return this\n }\n\n /**\n * Configures readiness probe (alias for healthCheck).\n * @param config Readiness probe configuration with method and path.\n * @returns The Container builder instance.\n */\n public readinessProbe(config: { method: string; path: string }): this {\n this._config.healthCheck = {\n path: config.path,\n method: config.method,\n timeoutSeconds: 1,\n failureThreshold: 3,\n }\n return this\n }\n\n /**\n * Sets the permission profile for this container.\n * @param profile Permission profile name from stack permissions configuration.\n * @returns The Container builder instance.\n */\n public permissions(profile: string): this {\n this._config.permissions = profile\n return this\n }\n\n /**\n * Assigns the container to a specific compute pool.\n * @param poolName Compute pool name.\n * @returns The Container builder instance.\n */\n public pool(poolName: string): this {\n this._config.pool = poolName\n return this\n }\n\n /**\n * Sets the command to override the image default.\n * @param command Array of command arguments.\n * @returns The Container builder instance.\n */\n public command(command: string[]): this {\n this._config.command = command\n return this\n }\n\n /**\n * Links this container to another resource (Storage, Queue, KV, etc.).\n * @param resource The resource to link to.\n * @returns The Container builder instance.\n */\n public link(resource: Resource): this {\n if (!this._config.links) {\n this._config.links = []\n }\n this._config.links.push(resource.ref())\n return this\n }\n\n /**\n * Builds and validates the container configuration.\n * @returns An immutable Resource representing the configured container.\n * @throws Error if the container configuration is invalid.\n */\n public build(): Resource {\n const config = ContainerSchema.parse(this._config)\n\n return new Resource({\n type: \"container\",\n ...config,\n })\n }\n}\n","import {\n type Build as BuildConfig,\n BuildSchema,\n type ComputeType,\n type ResourceType,\n} from \"./generated/index.js\"\nimport { Resource } from \"./resource.js\"\n\nexport type { BuildOutputs, ComputeType, BuildStatus, BuildConfig } from \"./generated/index.js\"\nexport {\n BuildOutputsSchema,\n ComputeTypeSchema,\n BuildStatusSchema,\n BuildConfigSchema,\n} from \"./generated/index.js\"\n\n/**\n * Represents a build resource that executes bash scripts to build code.\n * Builds are designed to be stateless and can be triggered on-demand to compile,\n * test, or package application code.\n */\nexport class Build {\n private _config: Partial<BuildConfig> = {\n links: [],\n environment: {},\n }\n\n /**\n * Creates a new Build builder.\n * @param id Identifier for the build resource. Must contain only alphanumeric characters, hyphens, and underscores ([A-Za-z0-9-_]). Maximum 64 characters.\n */\n constructor(id: string) {\n this._config.id = id\n }\n\n /**\n * Returns a ResourceType representing any build resource.\n * Used for creating permission targets that apply to all build resources.\n * @returns The \"build\" resource type.\n */\n public static any(): ResourceType {\n return \"build\"\n }\n\n /**\n * Sets the compute type for the build.\n * @param type The compute type (small, medium, large, x-large).\n * @returns The Build builder instance.\n */\n public computeType(type: ComputeType): this {\n this._config.computeType = type\n return this\n }\n\n /**\n * Sets key-value pairs as environment variables for the build.\n * @param env A map of environment variable names to their values.\n * @returns The Build builder instance.\n */\n public environment(env: Record<string, string>): this {\n this._config.environment = env\n return this\n }\n\n /**\n * Links another resource (e.g., Storage, ArtifactRegistry, Role) to this build.\n * This makes the linked resource accessible to the build, often by injecting\n * environment variables or granting permissions.\n * @param resource The resource to link.\n * @returns The Build builder instance.\n */\n public link(resource: Resource): this {\n if (!this._config.links) {\n this._config.links = []\n }\n this._config.links.push(resource.ref())\n return this\n }\n\n /**\n * Assigns a permission profile to this build.\n * The profile defines the permissions granted to this build when interacting\n * with other cloud resources.\n * @param permissions The permission profile name.\n * @returns The Build builder instance.\n */\n public permissions(permissions: string): this {\n this._config.permissions = permissions\n return this\n }\n\n /**\n * Builds and validates the build configuration.\n * @returns An immutable Resource representing the configured build.\n * @throws Error if the build configuration is invalid.\n */\n public build(): Resource {\n const config = BuildSchema.parse(this._config)\n\n return new Resource({\n type: \"build\",\n ...config,\n })\n }\n}\n","import {\n type ArtifactRegistry as ArtifactRegistryConfig,\n ArtifactRegistrySchema,\n type ResourceType,\n} from \"./generated/index.js\"\nimport { Resource } from \"./resource.js\"\n\nexport type {\n ArtifactRegistryOutputs,\n ArtifactRegistry as ArtifactRegistryConfig,\n} from \"./generated/index.js\"\nexport { ArtifactRegistrySchema as ArtifactRegistryConfigSchema } from \"./generated/index.js\"\n\n/**\n * Represents an artifact registry for storing container images and other build artifacts.\n * This is a high-level wrapper resource that provides a cloud-agnostic interface over\n * AWS ECR, GCP Artifact Registry, and Azure Container Registry.\n */\nexport class ArtifactRegistry {\n private _config: Partial<ArtifactRegistryConfig> = {}\n\n /**\n * Creates a new ArtifactRegistry builder.\n * @param id Identifier for the artifact registry. Must contain only alphanumeric characters, hyphens, and underscores ([A-Za-z0-9-_]). Maximum 64 characters.\n */\n constructor(id: string) {\n this._config.id = id\n }\n\n /**\n * Returns a ResourceType representing any artifact registry resource.\n * Used for creating permission targets that apply to all artifact registry resources.\n * @returns The \"artifact-registry\" resource type.\n */\n public static any(): ResourceType {\n return \"artifact-registry\"\n }\n\n /**\n * Builds and validates the artifact registry configuration.\n * @returns An immutable Resource representing the configured artifact registry.\n * @throws Error if the artifact registry configuration is invalid.\n */\n public build(): Resource {\n const config = ArtifactRegistrySchema.parse(this._config)\n\n return new Resource({\n type: \"artifact-registry\",\n ...config,\n })\n }\n}\n","import { type ResourceType, type Vault as VaultConfig, VaultSchema } from \"./generated/index.js\"\nimport { Resource } from \"./resource.js\"\n\nexport type { VaultOutputs, Vault as VaultConfig } from \"./generated/index.js\"\nexport { VaultSchema as VaultConfigSchema } from \"./generated/index.js\"\n\n/**\n * Represents a secure vault for storing secrets.\n * This resource provides a platform-agnostic interface over cloud-native secret management services:\n * - AWS: AWS Secrets Manager with prefixed secret names\n * - GCP: Secret Manager with prefixed secret names\n * - Azure: Key Vault resource\n *\n * The vault acts as a namespace for secrets and controls access permissions for functions and services.\n */\nexport class Vault {\n private _config: Partial<VaultConfig> = {}\n\n /**\n * Creates a new Vault builder.\n * @param id Identifier for the vault. Must contain only alphanumeric characters, hyphens, and underscores ([A-Za-z0-9-_]). Maximum 64 characters.\n */\n constructor(id: string) {\n this._config.id = id\n }\n\n /**\n * Returns a ResourceType representing any vault resource.\n * Used for creating permission targets that apply to all vault resources.\n * @returns The \"vault\" resource type.\n */\n public static any(): ResourceType {\n return \"vault\"\n }\n\n /**\n * Builds and validates the vault configuration.\n * @returns An immutable Resource representing the configured vault.\n * @throws Error if the vault configuration is invalid.\n */\n public build(): Resource {\n const config = VaultSchema.parse(this._config)\n\n return new Resource({\n type: \"vault\",\n ...config,\n })\n }\n}\n","import { type Kv as KvConfig, KvSchema, type ResourceType } from \"./generated/index.js\"\nimport { Resource } from \"./resource.js\"\n\nexport type { KvOutputs, Kv as KvConfig } from \"./generated/index.js\"\nexport { KvSchema as KvConfigSchema } from \"./generated/index.js\"\n\n/**\n * Represents a key-value store for data storage.\n * This resource provides a platform-agnostic interface over cloud-native KV services:\n * - AWS: DynamoDB with hash bucketing for load distribution\n * - GCP: Firestore with document-based storage and collection management\n * - Azure: Table Storage with client-side TTL filtering and partition fan-out\n *\n * The KV store supports basic operations: get, put, delete, exists, and scan_prefix.\n * All operations support TTL for automatic expiration and conditional operations.\n *\n * Key Features:\n * - Universal size limits: 512B keys, 64KB values\n * - TTL support with logical expiry across all platforms\n * - Conditional puts with if_not_exists support\n * - Prefix-based scanning with pagination\n * - Platform-specific optimizations while maintaining consistent API\n *\n * Size Constraints:\n * - Keys: ≤ 512 bytes with portable ASCII charset (a-z, A-Z, 0-9, -, _, :, /, .)\n * - Values: ≤ 65,536 bytes (64 KiB)\n *\n * TTL Behavior:\n * - Expired items appear absent on reads even if physically present\n * - TTL precision varies by platform but logical behavior is consistent\n *\n * Scan Operations:\n * - Returns arbitrary, unordered subsets in backend-natural order\n * - No ordering guarantees across platforms\n * - May return ≤ limit items (not guaranteed to fill)\n * - Clients must de-duplicate keys across pages\n * - No completeness guarantee under concurrent writes\n */\nexport class Kv {\n private _config: Partial<KvConfig> = {}\n\n /**\n * Creates a new KV builder.\n * @param id Identifier for the KV store. Must contain only alphanumeric characters, hyphens, and underscores ([A-Za-z0-9-_]). Maximum 64 characters.\n */\n constructor(id: string) {\n this._config.id = id\n }\n\n /**\n * Returns a ResourceType representing any KV resource.\n * Used for creating permission targets that apply to all KV resources.\n * @returns The \"kv\" resource type.\n */\n public static any(): ResourceType {\n return \"kv\"\n }\n\n /**\n * Builds and validates the KV configuration.\n * @returns An immutable Resource representing the configured KV store.\n * @throws Error if the KV configuration is invalid.\n */\n public build(): Resource {\n const config = KvSchema.parse(this._config)\n\n return new Resource({\n type: \"kv\",\n ...config,\n })\n }\n}\n","import { type Queue as QueueConfig, QueueSchema, type ResourceType } from \"./generated/index.js\"\nimport { Resource } from \"./resource.js\"\n\nexport type { QueueOutputs, Queue as QueueConfig } from \"./generated/index.js\"\nexport { QueueSchema as QueueConfigSchema } from \"./generated/index.js\"\n\n/**\n * Represents a message queue resource with minimal, portable semantics.\n * Queue integrates with platform-native services (AWS SQS, GCP Pub/Sub, Azure Service Bus).\n */\nexport class Queue {\n private _config: Partial<QueueConfig> = {}\n\n /**\n * Creates a new Queue builder.\n * @param id Identifier for the queue. Must contain only alphanumeric characters, hyphens, and underscores ([A-Za-z0-9-_]). Maximum 64 characters.\n */\n constructor(id: string) {\n this._config.id = id\n }\n\n /**\n * Returns a ResourceType representing any queue resource.\n * Used for creating permission targets that apply to all queue resources.\n * @returns The \"queue\" resource type.\n */\n public static any(): ResourceType {\n return \"queue\"\n }\n\n /**\n * Builds and validates the queue configuration.\n * @returns An immutable Resource representing the configured queue.\n * @throws Error if the queue configuration is invalid.\n */\n public build(): Resource {\n const config = QueueSchema.parse(this._config)\n\n return new Resource({\n type: \"queue\",\n ...config,\n })\n }\n}\n","import {\n type PermissionSet,\n type ResourceType,\n type ServiceAccount as ServiceAccountConfig,\n ServiceAccountSchema,\n} from \"./generated/index.js\"\nimport { Resource } from \"./resource.js\"\n\nexport type {\n ServiceAccount as ServiceAccountConfig,\n ServiceAccountOutputs,\n PermissionSet,\n} from \"./generated/index.js\"\nexport {\n ServiceAccountSchema as ServiceAccountConfigSchema,\n ServiceAccountOutputsSchema,\n PermissionSetSchema,\n} from \"./generated/index.js\"\n\n/**\n * Represents a non-human identity that can be assumed by compute services.\n *\n * Maps to:\n * - AWS: IAM Role\n * - GCP: Service Account\n * - Azure: User-assigned Managed Identity\n *\n * ServiceAccounts can be used to grant specific permissions to compute resources\n * and can be impersonated by other services for cross-account or cross-service access.\n *\n * @example\n * ```typescript\n * import { ServiceAccount, Function } from \"@alien/core\"\n *\n * // Create a service account with stack-level permissions\n * const dataProcessorAccount = new ServiceAccount(\"data-processor\")\n * .build()\n *\n * // Link it to a function to use its identity\n * const processor = new Function(\"processor\")\n * .code({ type: \"image\", image: \"processor:latest\" })\n * .link(dataProcessorAccount)\n * .build()\n * ```\n */\nexport class ServiceAccount {\n private _config: Partial<ServiceAccountConfig> = {\n stackPermissionSets: [],\n }\n\n /**\n * Creates a new ServiceAccount builder.\n * @param id Identifier for the service account. Must contain only alphanumeric characters, hyphens, and underscores ([A-Za-z0-9-_]). Maximum 64 characters.\n */\n constructor(id: string) {\n this._config.id = id\n }\n\n /**\n * Returns a ResourceType representing any service account resource.\n * Used for creating permission targets that apply to all service account resources.\n * @returns The \"service-account\" resource type.\n */\n public static any(): ResourceType {\n return \"service-account\"\n }\n\n /**\n * Adds a stack-level permission set to the service account.\n * Stack-level permissions apply to all resources in the stack.\n *\n * Note: Only inline permission set objects are supported. To use built-in permission sets,\n * you need to resolve them first through the permission set registry or use permission profiles\n * in your stack configuration.\n *\n * @example\n * ```typescript\n * import { ServiceAccount, type PermissionSet } from \"@alien/core\"\n *\n * const customPermissionSet: PermissionSet = {\n * id: \"custom/my-perms\",\n * description: \"Custom permissions\",\n * platforms: {\n * aws: [{ grant: { actions: [\"s3:GetObject\"] }, binding: { stack: { resources: [\"*\"] } } }]\n * }\n * }\n *\n * const account = new ServiceAccount(\"custom-processor\")\n * .stackPermissionSet(customPermissionSet)\n * .build()\n * ```\n *\n * @param permissionSet The permission set object with platform-specific permissions\n * @returns The ServiceAccount builder instance.\n */\n public stackPermissionSet(permissionSet: PermissionSet): this {\n if (!this._config.stackPermissionSets) {\n this._config.stackPermissionSets = []\n }\n this._config.stackPermissionSets.push(permissionSet)\n return this\n }\n\n /**\n * Builds and validates the service account configuration.\n * @returns An immutable Resource representing the configured service account.\n * @throws Error if the service account configuration is invalid.\n */\n public build(): Resource {\n const config = ServiceAccountSchema.parse(this._config)\n\n return new Resource({\n type: \"service-account\",\n ...config,\n })\n }\n}\n","/**\n * This module provides a structured error handling system similar to Rust's error types,\n * with TypeScript type safety, error chaining, and context preservation.\n *\n * @example Basic Usage\n * ```typescript\n * import { AlienError, defineError } from '@alienplatform/core'\n * import { z } from 'zod'\n *\n * // Define a type-safe error\n * const DatabaseError = defineError({\n * code: \"DATABASE_CONNECTION_FAILED\",\n * context: z.object({\n * host: z.string(),\n * port: z.number(),\n * reason: z.string(),\n * }),\n * message: ({ host, port, reason }) => `Failed to connect to database '${host}:${port}': ${reason}`,\n * retryable: true,\n * internal: false,\n * httpStatusCode: 502,\n * })\n *\n * // Use it\n * throw new AlienError(DatabaseError.create({\n * host: \"localhost\",\n * port: 5432,\n * reason: \"Connection timeout\"\n * }))\n * ```\n *\n * @example Error Chaining\n * ```typescript\n * try {\n * // Some operation that fails\n * throw new Error(\"Connection refused\")\n * } catch (error) {\n * throw (await AlienError.from(error)).withContext(\n * DatabaseError.create({\n * host: \"localhost\",\n * port: 5432,\n * reason: \"Connection refused by server\"\n * })\n * )\n * }\n * ```\n *\n * @example External API Sanitization\n * ```typescript\n * const internalError = new AlienError(InternalApiError.create({\n * service: \"payment-processor\",\n * details: \"Database password expired\",\n * traceId: \"trace-12345\"\n * }))\n *\n * // Safe for external APIs (sanitizes internal errors)\n * const safeResponse = internalError.toExternal()\n * ```\n */\n\nimport { serializeError } from \"serialize-error\"\nimport type { z } from \"zod/v4\"\nimport {\n type AlienError as AlienErrorOptions,\n AlienErrorSchema as AlienErrorOptionsSchema,\n} from \"./generated/index.js\"\n\n// Re-export the schema for external use\nexport { AlienErrorOptionsSchema }\nexport type { AlienErrorOptions }\n\n/**\n * Base interface that all error type definitions must implement.\n *\n * This provides the structure for creating type-safe error definitions\n * with Zod validation and contextual information.\n *\n * @template TContext - Zod schema type for the error context\n */\nexport interface AlienErrorMetadata<TContext extends z.ZodTypeAny> {\n /** Unique error code (e.g., \"DATABASE_CONNECTION_FAILED\") */\n code: string\n /** Zod schema for type-safe context validation */\n context: TContext\n /** Whether this error can be retried */\n retryable: boolean\n /** Whether this error contains sensitive information */\n internal: boolean\n /** HTTP status code for API responses */\n httpStatusCode?: number\n /** Function to generate human-readable error message from context */\n message: (context: z.infer<TContext>) => string\n}\n\n/**\n * Helper function to create type-safe error definitions.\n *\n * This function provides a clean API for defining reusable error types\n * with full TypeScript type safety and Zod validation.\n *\n * @template TContext - Zod schema type for the error context\n * @param metadata - Error metadata including code, schema, and message generator\n * @returns Object with metadata and a create function for error instances\n *\n * @example\n * ```typescript\n * const UserNotFound = defineError({\n * code: \"USER_NOT_FOUND\",\n * context: z.object({\n * userId: z.string(),\n * searchMethod: z.string(),\n * }),\n * message: ({ userId, searchMethod }) =>\n * `User '${userId}' not found using method '${searchMethod}'`,\n * retryable: false,\n * internal: false,\n * httpStatusCode: 404,\n * })\n *\n * // Usage\n * const error = UserNotFound.create({\n * userId: \"123\",\n * searchMethod: \"database_lookup\"\n * })\n * ```\n */\nexport function defineError<TContext extends z.ZodTypeAny>(metadata: AlienErrorMetadata<TContext>) {\n return {\n metadata,\n contextSchema: metadata.context,\n create: (context: z.infer<TContext>): AlienErrorDefinition<TContext> => ({\n metadata,\n contextSchema: metadata.context,\n context,\n toOptions: (): AlienErrorOptions => ({\n code: metadata.code,\n message: metadata.message(context),\n retryable: metadata.retryable,\n internal: metadata.internal,\n httpStatusCode: metadata.httpStatusCode,\n context,\n }),\n }),\n }\n}\n\n/**\n * Represents a specific error instance with its context.\n *\n * This is created by calling `.create()` on an error definition\n * and contains the actual context data for a specific error occurrence.\n *\n * @template TContext - Zod schema type for the error context\n */\nexport interface AlienErrorDefinition<TContext extends z.ZodTypeAny> {\n metadata: AlienErrorMetadata<TContext>\n contextSchema: TContext\n context: z.infer<TContext>\n\n /**\n * Convert this error definition directly to AlienErrorOptions.\n *\n * This allows you to get the wire format representation\n * without creating an AlienError instance first.\n *\n * @returns AlienErrorOptions object representing this error\n */\n toOptions(): AlienErrorOptions\n}\n\n/**\n * Main AlienError class that provides structured error handling.\n *\n * This class extends the standard JavaScript Error with additional features:\n * - Type-safe context data\n * - Error chaining and source tracking\n * - Retryability and internal/external visibility flags\n * - HTTP status code mapping\n * - Sanitization for external APIs\n *\n * @template TContext - Zod schema type for the error context\n *\n * @example Basic Construction\n * ```typescript\n * const error = new AlienError(DatabaseError.create({\n * host: \"localhost\",\n * port: 5432,\n * reason: \"Timeout\"\n * }))\n * ```\n *\n * @example Converting JavaScript Errors\n * ```typescript\n * try {\n * JSON.parse(\"invalid json\")\n * } catch (jsError) {\n * const alienError = AlienError.from(jsError)\n * console.log(alienError.code) // \"GENERIC_ERROR\"\n * }\n * ```\n *\n * @example Error Chaining\n * ```typescript\n * const contextualError = AlienError.from(new Error(\"Network timeout\"))\n * .withContext(DatabaseError.create({\n * host: \"localhost\",\n * port: 5432,\n * reason: \"Connection timeout\"\n * }))\n *\n * // Check error chain\n * console.log(contextualError.hasErrorCode(\"DATABASE_CONNECTION_FAILED\")) // true\n * console.log(contextualError.toString()) // Shows full error chain\n * ```\n */\nexport class AlienError<TContext extends z.ZodTypeAny = z.ZodAny> extends Error {\n /** Unique error code identifying the error type */\n public readonly code: string\n /** Whether this error can be safely retried */\n public readonly retryable: boolean\n /** Whether this error contains sensitive internal information */\n public readonly internal: boolean\n /** HTTP status code for API responses */\n public readonly httpStatusCode: number\n /** Type-safe context data specific to this error */\n public readonly context?: z.infer<TContext>\n /** Source error that caused this error (for chaining) */\n public readonly source?: AlienError<any>\n\n constructor(input: AlienErrorDefinition<TContext> | (AlienErrorOptions & { context?: any })) {\n // Handle both error definitions and raw options\n let options: AlienErrorOptions & { context?: any }\n\n if (\"metadata\" in input && \"context\" in input) {\n // It's an AlienErrorDefinition\n const definition = input as AlienErrorDefinition<TContext>\n const { metadata, context: contextData } = definition\n const message = metadata.message(contextData)\n\n options = {\n code: metadata.code,\n message,\n retryable: metadata.retryable,\n internal: metadata.internal,\n httpStatusCode: metadata.httpStatusCode,\n context: contextData,\n }\n } else {\n // It's raw AlienErrorOptions\n options = input as AlienErrorOptions & { context?: any }\n }\n\n const message = options.message\n super(message, { cause: options.source })\n\n this.name = \"AlienError\"\n this.code = options.code\n this.retryable = options.retryable\n this.internal = options.internal\n this.httpStatusCode = options.httpStatusCode ?? 500\n this.context = options.context\n\n // Handle source construction - check if it's a valid AlienErrorOptions object\n this.source = undefined\n if (options.source && typeof options.source === \"object\") {\n // Check if it has the required fields to be a valid AlienErrorOptions\n if (\n \"code\" in options.source &&\n \"message\" in options.source &&\n \"retryable\" in options.source &&\n \"internal\" in options.source\n ) {\n this.source = new AlienError(options.source as AlienErrorOptions)\n }\n }\n }\n\n /**\n * Create an AlienError from a type-safe error definition.\n *\n * @template TContext - Zod schema type for the error context\n * @param definition - Error definition with type-safe context\n * @returns New AlienError instance\n */\n static fromDefinition<TContext extends z.ZodTypeAny>(\n definition: AlienErrorDefinition<TContext>,\n ): AlienError<TContext> {\n return new AlienError(definition)\n }\n\n /**\n * Create an AlienError from raw options (for compatibility).\n *\n * @param options - Raw error options conforming to AlienErrorOptions schema\n * @returns New AlienError instance\n */\n static fromOptions(options: AlienErrorOptions): AlienError {\n return new AlienError(AlienErrorOptionsSchema.parse(options))\n }\n\n /**\n * Helper function to get a user-friendly type name for error context.\n *\n * @param error - Any value to get the type name for\n * @returns User-friendly type name\n */\n private static getErrorTypeName(error: any): string {\n // Handle null explicitly (typeof null === \"object\" is a JS quirk)\n if (error === null) {\n return \"null\"\n }\n\n // Handle undefined\n if (error === undefined) {\n return \"undefined\"\n }\n\n // Try to get constructor name first (for Arrays, Functions, custom classes, etc.)\n if (error?.constructor?.name) {\n return error.constructor.name\n }\n\n // Fall back to typeof, but capitalize for consistency\n const typeofResult = typeof error\n return typeofResult === \"object\"\n ? \"Object\"\n : typeofResult.charAt(0).toUpperCase() + typeofResult.slice(1)\n }\n\n /**\n * Convert a JavaScript Error or any object to a generic AlienError.\n *\n * This is equivalent to Rust's `.into_alien_error()` pattern and provides\n * a way to convert any JavaScript error into the structured AlienError format.\n *\n * @param error - Any JavaScript error or object to convert\n * @returns AlienError with GENERIC_ERROR code and preserved original error\n *\n * @example\n * ```typescript\n * try {\n * throw new TypeError(\"Invalid argument\")\n * } catch (error) {\n * const alienError = AlienError.from(error)\n * console.log(alienError.code) // \"GENERIC_ERROR\"\n * console.log(alienError.context?.originalError) // Serialized TypeError\n * }\n * ```\n *\n * @example Chaining with context\n * ```typescript\n * try {\n * JSON.parse(\"invalid\")\n * } catch (error) {\n * throw AlienError.from(error).withContext(\n * ValidationError.create({\n * input: \"invalid\",\n * expectedFormat: \"JSON\"\n * })\n * )\n * }\n * ```\n *\n * @example AxiosError conversion\n * ```typescript\n * try {\n * await axios.get('/api/resource')\n * } catch (error) {\n * // If error.response.data contains a valid AlienError structure, it will be parsed\n * const alienError = AlienError.from(error)\n * console.log(alienError.code) // Could be \"REMOTE_RESOURCE_NOT_FOUND\" if parsed from response\n * }\n * ```\n */\n static async from(error: any): Promise<AlienError> {\n if (error instanceof AlienError) {\n return error\n }\n\n // Try to parse as fetch Response with AlienError in body\n if (error instanceof Response) {\n let errorBody: any\n try {\n errorBody = await error.json()\n } catch {\n // If JSON parsing fails, create generic error\n return new AlienError({\n code: \"GENERIC_ERROR\",\n message: `HTTP request failed with status ${error.status}`,\n retryable: false,\n internal: false,\n httpStatusCode: error.status,\n context: {\n url: error.url,\n status: error.status,\n statusText: error.statusText,\n },\n })\n }\n\n // Try to parse as AlienError\n const parseResult = AlienErrorOptionsSchema.safeParse(errorBody)\n if (parseResult.success) {\n return new AlienError(parseResult.data)\n }\n\n // If not an AlienError, wrap it as generic error\n return new AlienError({\n code: \"GENERIC_ERROR\",\n message: errorBody?.message || `HTTP request failed with status ${error.status}`,\n retryable: false,\n internal: false,\n httpStatusCode: error.status,\n context: {\n url: error.url,\n status: error.status,\n statusText: error.statusText,\n responseBody: errorBody,\n },\n })\n }\n\n // Try to parse as AxiosError with AlienError in response.data\n if (error?.response?.data && typeof error.response.data === \"object\") {\n const parseResult = AlienErrorOptionsSchema.safeParse(error.response.data)\n if (parseResult.success) {\n return new AlienError(parseResult.data)\n }\n // If parsing fails, continue with generic error handling\n // This is expected for non-AlienError responses\n }\n\n // Serialize the error using serialize-error for consistent structure\n const serialized = serializeError(error)\n const message = serialized?.message || String(error)\n\n return new AlienError({\n code: \"GENERIC_ERROR\",\n message,\n retryable: false,\n internal: false,\n httpStatusCode: 500,\n context: {\n originalError: serialized,\n errorType: AlienError.getErrorTypeName(error),\n },\n })\n }\n\n /**\n * Add context to this error, creating a new error that wraps this one.\n *\n * This is equivalent to Rust's `.with_context()` pattern and allows\n * building error chains with increasing levels of context.\n *\n * @template TNewContext - Zod schema type for the new context\n * @param definition - Error definition to wrap this error with\n * @returns New AlienError with this error as the source\n *\n * @example\n * ```typescript\n * // Clean fluent API\n * const authError = (await AlienError.from(new Error(\"ECONNREFUSED\")))\n * .withContext(DatabaseError.create({\n * host: \"localhost\",\n * port: 5432,\n * reason: \"Connection refused\"\n * }))\n * .withContext(AuthError.create({\n * username: \"john\",\n * reason: \"Database unavailable\"\n * }))\n *\n * // Error chain: AuthError -> DatabaseError -> GENERIC_ERROR\n * console.log(authError.toString())\n * ```\n */\n withContext<TNewContext extends z.ZodTypeAny>(\n definition: AlienErrorDefinition<TNewContext>,\n ): AlienError<TNewContext> {\n const { metadata, context: contextData } = definition\n const message = metadata.message(contextData)\n\n // Convert current error to source format\n const sourceOptions: AlienErrorOptions = {\n code: this.code,\n message: this.message,\n retryable: this.retryable,\n internal: this.internal,\n httpStatusCode: this.httpStatusCode,\n context: this.context,\n source: this.source?.toOptions(),\n }\n\n return new AlienError({\n code: metadata.code,\n message,\n retryable: metadata.retryable,\n internal: metadata.internal,\n httpStatusCode: metadata.httpStatusCode,\n context: contextData,\n source: sourceOptions,\n })\n }\n\n /**\n * Convert this AlienError to the wire format (AlienErrorOptions).\n *\n * This method serializes the error into the standard format used\n * for transmitting errors over the network or storing them.\n *\n * @returns AlienErrorOptions object representing this error\n */\n toOptions(): AlienErrorOptions {\n return {\n code: this.code,\n message: this.message,\n retryable: this.retryable,\n internal: this.internal,\n httpStatusCode: this.httpStatusCode,\n context: this.context,\n source: this.source?.toOptions(),\n }\n }\n\n /**\n * Get a sanitized version for external APIs (hides internal errors).\n *\n * This method is crucial for security - it prevents sensitive internal\n * error details from being exposed to external users while preserving\n * the error chain structure for non-sensitive errors.\n *\n * @returns Sanitized AlienErrorOptions safe for external consumption\n *\n * @example\n * ```typescript\n * const internalError = new AlienError(InternalApiError.create({\n * service: \"payment-processor\",\n * details: \"Database password expired for user admin\",\n * traceId: \"trace-12345\"\n * }))\n *\n * console.log(internalError.toOptions())\n * // Shows full details including sensitive information\n *\n * console.log(internalError.toExternal())\n * // { code: \"GENERIC_ERROR\", message: \"Internal server error\", ... }\n * ```\n */\n toExternal(): AlienErrorOptions {\n if (this.internal) {\n return {\n code: \"GENERIC_ERROR\",\n message: \"Internal server error\",\n retryable: false,\n internal: false,\n httpStatusCode: 500,\n }\n }\n\n return {\n code: this.code,\n message: this.message,\n retryable: this.retryable,\n internal: this.internal,\n httpStatusCode: this.httpStatusCode,\n context: this.context,\n source: this.source?.toExternal(),\n }\n }\n\n /**\n * Check if this error chain contains an error with a specific code.\n *\n * This method traverses the entire error chain (this error and all\n * source errors) to find if any error has the specified code.\n *\n * @param code - Error code to search for\n * @returns True if the code is found anywhere in the error chain\n *\n * @example\n * ```typescript\n * const chainedError = authError.withContext(dbError.withContext(networkError))\n *\n * console.log(chainedError.hasErrorCode(\"AUTH_FAILED\")) // true\n * console.log(chainedError.hasErrorCode(\"DATABASE_CONNECTION_FAILED\")) // true\n * console.log(chainedError.hasErrorCode(\"NETWORK_TIMEOUT\")) // true\n * console.log(chainedError.hasErrorCode(\"NONEXISTENT_ERROR\")) // false\n * ```\n */\n hasErrorCode(code: string): boolean {\n if (this.code === code) return true\n return this.source?.hasErrorCode(code) ?? false\n }\n\n /**\n * Find the first error in the chain with a specific code.\n *\n * This method traverses the error chain and returns the first error\n * instance that matches the specified code, allowing access to its\n * specific context and details.\n *\n * @param code - Error code to search for\n * @returns AlienError instance with the specified code, or undefined if not found\n *\n * @example\n * ```typescript\n * const chainedError = authError.withContext(dbError)\n *\n * const dbError = chainedError.findErrorByCode(\"DATABASE_CONNECTION_FAILED\")\n * if (dbError) {\n * console.log(\"Database error context:\", dbError.context)\n * console.log(\"Host:\", dbError.context?.host)\n * }\n * ```\n */\n findErrorByCode(code: string): AlienError | undefined {\n if (this.code === code) return this\n return this.source?.findErrorByCode(code)\n }\n\n /**\n * Get a formatted string representation of the error chain.\n *\n * This method provides a human-readable representation of the entire\n * error chain, showing how errors are nested and providing context\n * for debugging and logging.\n *\n * @returns Formatted string showing the complete error chain\n *\n * @example\n * ```typescript\n * const chainedError = authError.withContext(dbError.withContext(networkError))\n * console.log(chainedError.toString())\n * // Output:\n * // AUTH_FAILED: User authentication failed for 'john'\n * // ├─▶ DATABASE_CONNECTION_FAILED: Failed to connect to database 'localhost:5432'\n * // ├─▶ GENERIC_ERROR: Connection timeout\n * ```\n */\n toString(): string {\n let result = `${this.code}: ${this.message}`\n let current = this.source\n let indent = \"\"\n\n while (current) {\n indent += \" \"\n result += `\\n${indent}├─▶ ${current.code}: ${current.message}`\n current = current.source\n }\n\n return result\n }\n}\n\n// Utility type to extract context type from error definition\nexport type ExtractContext<T> = T extends AlienErrorDefinition<infer TContext>\n ? z.infer<TContext>\n : never\n","import * as z from \"zod/v4\"\nimport { defineError } from \"./error.js\"\n\n/**\n * Error thrown when a requested resource cannot be found in the stack state.\n * This matches the Rust alien-core error: RESOURCE_NOT_FOUND\n */\nexport const ResourceNotFoundError = defineError({\n code: \"RESOURCE_NOT_FOUND\",\n context: z.object({\n resourceId: z.string(),\n availableResources: z.array(z.string()),\n }),\n message: ({ resourceId, availableResources }) =>\n `Resource '${resourceId}' not found in stack state. Available resources: ${JSON.stringify(availableResources)}`,\n retryable: false,\n internal: false,\n httpStatusCode: 404,\n})\n\n/**\n * Error thrown when resource outputs cannot be parsed according to their expected schema.\n * This indicates an internal system error or data corruption.\n */\nexport const ResourceOutputsParseError = defineError({\n code: \"RESOURCE_OUTPUTS_PARSE_ERROR\",\n context: z.object({\n resourceName: z.string(),\n resourceType: z.string(),\n validationErrors: z.string(),\n }),\n message: ({ resourceName, resourceType, validationErrors }) =>\n `Failed to parse outputs for resource '${resourceName}' of type '${resourceType}':\\n${validationErrors}`,\n retryable: false,\n internal: true,\n httpStatusCode: 500,\n})\n\n/**\n * Error thrown when there's a resource type mismatch during stack operations.\n * This matches the Rust alien-core error: UNEXPECTED_RESOURCE_TYPE\n */\nexport const UnexpectedResourceTypeError = defineError({\n code: \"UNEXPECTED_RESOURCE_TYPE\",\n context: z.object({\n resourceId: z.string(),\n expected: z.string(),\n actual: z.string(),\n }),\n message: ({ resourceId, expected, actual }) =>\n `Unexpected resource type for resource '${resourceId}': expected ${expected}, but got ${actual}`,\n retryable: false,\n internal: false,\n httpStatusCode: 400,\n})\n","import * as z from \"zod/v4\"\nimport { ResourceNotFoundError, ResourceOutputsParseError } from \"./common-errors.js\"\nimport { AlienError } from \"./error.js\"\nimport {\n ArtifactRegistryOutputsSchema,\n ArtifactRegistrySchema,\n BuildOutputsSchema,\n BuildSchema,\n ContainerOutputsSchema,\n ContainerSchema,\n FunctionOutputsSchema,\n FunctionSchema,\n KvOutputsSchema,\n KvSchema,\n QueueOutputsSchema,\n QueueSchema,\n RemoteStackManagementOutputsSchema,\n RemoteStackManagementSchema,\n ServiceAccountOutputsSchema,\n ServiceAccountSchema,\n StorageOutputsSchema,\n StorageSchema,\n VaultOutputsSchema,\n VaultSchema,\n} from \"./generated/index.js\"\nimport type { StackState } from \"./stack.js\"\n\nexport const ResourceSchemaMapping = {\n function: {\n input: FunctionSchema,\n output: FunctionOutputsSchema,\n },\n container: {\n input: ContainerSchema,\n output: ContainerOutputsSchema,\n },\n storage: {\n input: StorageSchema,\n output: StorageOutputsSchema,\n },\n kv: {\n input: KvSchema,\n output: KvOutputsSchema,\n },\n queue: {\n input: QueueSchema,\n output: QueueOutputsSchema,\n },\n vault: {\n input: VaultSchema,\n output: VaultOutputsSchema,\n },\n build: {\n input: BuildSchema,\n output: BuildOutputsSchema,\n },\n \"artifact-registry\": {\n input: ArtifactRegistrySchema,\n output: ArtifactRegistryOutputsSchema,\n },\n \"service-account\": {\n input: ServiceAccountSchema,\n output: ServiceAccountOutputsSchema,\n },\n \"remote-stack-management\": {\n input: RemoteStackManagementSchema,\n output: RemoteStackManagementOutputsSchema,\n },\n}\n\n// Retrieves and validates the outputs of a resource from the stack state.\nexport function getResourceOutputs<K extends keyof typeof ResourceSchemaMapping>(params: {\n state: StackState\n resource: { type: K; name: string }\n}): z.infer<(typeof ResourceSchemaMapping)[K][\"output\"]> {\n const { state, resource } = params\n\n const resourceState = state.resources[resource.name]\n if (!resourceState) {\n throw new AlienError(\n ResourceNotFoundError.create({\n resourceId: resource.name,\n availableResources: Object.keys(state.resources),\n }),\n )\n }\n\n const outputsSchema = ResourceSchemaMapping[resource.type].output\n const outputs = outputsSchema.safeParse(resourceState.outputs)\n if (!outputs.success) {\n throw new AlienError(\n ResourceOutputsParseError.create({\n resourceName: resource.name,\n resourceType: resource.type,\n validationErrors: z.prettifyError(outputs.error),\n }),\n )\n }\n\n return outputs.data as z.infer<(typeof ResourceSchemaMapping)[K][\"output\"]>\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["AlienErrorOptionsSchema","z","z"],"sources":["../src/resource.ts","../src/storage.ts","../src/function.ts","../src/container.ts","../src/build.ts","../src/artifact-registry.ts","../src/vault.ts","../src/kv.ts","../src/queue.ts","../src/service-account.ts","../src/error.ts","../src/common-errors.ts","../src/get-resource-outputs.ts"],"sourcesContent":["import type { BaseResource, ResourceRef } from \"./generated/index.js\"\n\nexport { ResourceTypeSchema } from \"./generated/index.js\"\nexport type { ResourceType } from \"./generated/index.js\"\n\n/**\n * Represents a generic cloud resource within the Alien framework.\n * This class encapsulates the common properties of a resource, such as its name and configuration.\n */\nexport class Resource {\n /**\n * Creates a new Resource instance.\n * @param config The configuration object for this specific resource type.\n */\n constructor(public config: BaseResource) {}\n\n /**\n * Returns a reference to this resource.\n * A resource reference is used to link resources together (e.g., granting a Function access to a Storage bucket).\n * @returns A ResourceRef object containing the type and name of this resource.\n */\n public ref(): ResourceRef {\n return { type: this.config.type, id: this.config.id }\n }\n}\n","import {\n type LifecycleRule,\n type ResourceType,\n type Storage as StorageConfig,\n StorageSchema,\n} from \"./generated/index.js\"\nimport { Resource } from \"./resource.js\"\n\nexport type { LifecycleRule, StorageOutputs, Storage as StorageConfig } from \"./generated/index.js\"\nexport { StorageSchema as StorageConfigSchema } from \"./generated/index.js\"\n\n/**\n * Represents an object storage bucket.\n */\nexport class Storage {\n private _config: Partial<StorageConfig> = {\n publicRead: false,\n versioning: false,\n lifecycleRules: [],\n }\n\n /**\n * Creates a new Storage builder.\n * @param id ID of the storage bucket. For names with dots, each dot-separated label must be ≤ 63 characters.\n */\n constructor(id: string) {\n this._config.id = id\n }\n\n /**\n * Returns a ResourceType representing any storage resource.\n * Used for creating permission targets that apply to all storage resources.\n * @returns The \"storage\" resource type.\n */\n public static any(): ResourceType {\n return \"storage\"\n }\n\n /**\n * Allows public read access to objects without authentication.\n * Default: `false`.\n * @param value Whether to allow public read access.\n * @returns The Storage builder instance.\n */\n public publicRead(value: boolean): this {\n this._config.publicRead = value\n return this\n }\n\n /**\n * Enables object versioning.\n * Default: `false`.\n * @param value Whether to enable versioning.\n * @returns The Storage builder instance.\n */\n public versioning(value: boolean): this {\n this._config.versioning = value\n return this\n }\n\n /**\n * Defines lifecycle rules for automatic object management (e.g., expiration).\n * @param rules An array of lifecycle rules.\n * @returns The Storage builder instance.\n */\n public lifecycleRules(rules: LifecycleRule[]): this {\n this._config.lifecycleRules = rules\n return this\n }\n\n /**\n * Builds and validates the storage configuration.\n * @returns An immutable Resource representing the configured storage bucket.\n * @throws Error if the storage configuration is invalid.\n */\n public build(): Resource {\n const config = StorageSchema.parse(this._config)\n\n return new Resource({\n type: \"storage\",\n ...config,\n })\n }\n}\n","import {\n type FunctionCode,\n type Function as FunctionConfig,\n FunctionSchema,\n type FunctionTrigger,\n type Ingress,\n type ReadinessProbe,\n type ResourceType,\n} from \"./generated/index.js\"\nimport { Resource } from \"./resource.js\"\n\nexport type {\n Ingress,\n Function as FunctionConfig,\n FunctionOutputs,\n FunctionTrigger,\n ReadinessProbe,\n HttpMethod,\n} from \"./generated/index.js\"\nexport {\n IngressSchema,\n FunctionSchema as FunctionConfigSchema,\n FunctionOutputsSchema,\n FunctionTriggerSchema,\n ReadinessProbeSchema,\n HttpMethodSchema,\n} from \"./generated/index.js\"\n\n/**\n * Represents a serverless function that executes code in response to triggers or direct invocations.\n * Functions are the primary compute resource in serverless applications, designed to be stateless and ephemeral.\n */\n// biome-ignore lint/suspicious/noShadowRestrictedNames: intentionally shadows built-in `Function`\nexport class Function {\n private _config: Partial<FunctionConfig> = {\n links: [],\n triggers: [],\n environment: {},\n }\n\n /**\n * Creates a new Function builder.\n * @param id Identifier for the function. Must contain only alphanumeric characters, hyphens, and underscores ([A-Za-z0-9-_]). Maximum 64 characters.\n */\n constructor(id: string) {\n this._config.id = id\n }\n\n /**\n * Returns a ResourceType representing any function resource.\n * Used for creating permission targets that apply to all function resources.\n * @returns The \"function\" resource type.\n */\n public static any(): ResourceType {\n return \"function\"\n }\n\n /**\n * Sets the code for the function, either a pre-built image or source code to be built.\n * @param code The function code configuration.\n * @returns The Function builder instance.\n */\n public code(code: FunctionCode): this {\n this._config.code = code\n return this\n }\n\n /**\n * Sets the memory allocated to the function in megabytes (MB).\n * Constraints: 128‑32768 MB (platform-specific limits may apply).\n * Default: 256 MB.\n * @param mb The memory in MB.\n * @returns The Function builder instance.\n */\n public memoryMb(mb: number): this {\n this._config.memoryMb = mb\n return this\n }\n\n /**\n * Sets the maximum execution time for the function in seconds.\n * Constraints: 1‑3600 seconds (platform-specific limits may apply).\n * Default: 30 seconds.\n * @param sec The timeout in seconds.\n * @returns The Function builder instance.\n */\n public timeoutSeconds(sec: number): this {\n this._config.timeoutSeconds = sec\n return this\n }\n\n /**\n * Sets the maximum number of concurrent executions allowed for the function.\n * `null` means platform default applies.\n * @param limit The concurrency limit, or `null` for platform default.\n * @returns The Function builder instance.\n */\n public concurrencyLimit(limit: number | undefined): this {\n this._config.concurrencyLimit = limit\n return this\n }\n\n /**\n * Controls network accessibility of the function.\n * - `public`: Function accessible from the internet.\n * - `private`: Function accessible only via cloud API calls / triggers.\n * - `vpc`: Function deployed within a VPC with specific network controls.\n * Default: `private`.\n * @param value The ingress type.\n * @returns The Function builder instance.\n */\n public ingress(value: Ingress): this {\n this._config.ingress = value\n return this\n }\n\n /**\n * Sets key-value pairs as environment variables for the function.\n * @param env A map of environment variable names to their values.\n * @returns The Function builder instance.\n */\n public environment(env: Record<string, string>): this {\n this._config.environment = env\n return this\n }\n\n /**\n * Links another resource (e.g., Storage, KV, Queue) to this function.\n * This makes the linked resource accessible to the function, often by injecting\n * environment variables or granting permissions.\n * @param resource The resource to link.\n * @returns The Function builder instance.\n */\n public link(resource: Resource): this {\n if (!this._config.links) {\n this._config.links = []\n }\n this._config.links.push(resource.ref())\n return this\n }\n\n /**\n * Assigns a permission profile to this function.\n * The profile defines the permissions granted to this function when interacting\n * with other cloud resources.\n * @param permissions The permission profile name.\n * @returns The Function builder instance.\n */\n public permissions(permissions: string): this {\n this._config.permissions = permissions\n return this\n }\n\n /**\n * Configures a readiness probe for the function.\n * The probe will be executed after provisioning/update to verify the function is ready.\n * Only works with functions that have Public ingress.\n *\n * @example\n * ```typescript\n * const probe: ReadinessProbe = {\n * method: \"GET\",\n * path: \"/health\"\n * };\n *\n * const func = new Function(\"my-api\")\n * .code({ type: \"image\", image: \"my-api:latest\" })\n * .ingress(\"public\")\n * .readinessProbe(probe)\n * .build();\n * ```\n *\n * @param probe The readiness probe configuration.\n * @returns The Function builder instance.\n */\n public readinessProbe(probe: ReadinessProbe): this {\n this._config.readinessProbe = probe\n return this\n }\n\n /**\n * Enables or disables the Commands protocol for the function.\n * When enabled, the runtime polls the manager for pending commands and executes registered handlers.\n * Default: false.\n * @param enabled Whether to enable commands for this function.\n * @returns The Function builder instance.\n */\n public commandsEnabled(enabled: boolean): this {\n this._config.commandsEnabled = enabled\n return this\n }\n\n /**\n * Adds a trigger to the function. Functions can have multiple triggers.\n * Each trigger will independently invoke the function when its conditions are met.\n *\n * @example\n * ```typescript\n * // Queue trigger\n * const queueTrigger: FunctionTrigger = {\n * type: \"queue\",\n * queue: myQueue.ref()\n * };\n *\n * // Schedule trigger\n * const scheduleTrigg: FunctionTrigger = {\n * type: \"schedule\",\n * cron: \"0 * * * *\"\n * };\n *\n * const func = new Function(\"my-func\")\n * .code({ type: \"image\", image: \"my-image:latest\" })\n * .trigger(queueTrigger)\n * .trigger(scheduleTrigger)\n * .build();\n * ```\n *\n * @param trigger The trigger configuration.\n * @returns The Function builder instance.\n */\n public trigger(trigger: FunctionTrigger): this {\n if (!this._config.triggers) {\n this._config.triggers = []\n }\n this._config.triggers.push(trigger)\n return this\n }\n\n /**\n * Builds and validates the function configuration.\n * @returns An immutable Resource representing the configured function.\n * @throws Error if the function configuration is invalid (e.g., missing code).\n */\n public build(): Resource {\n const config = FunctionSchema.parse(this._config)\n\n return new Resource({\n type: \"function\",\n ...config,\n })\n }\n}\n","import {\n type ContainerAutoscaling,\n type ContainerCode,\n type Container as ContainerConfig,\n type ContainerGpuSpec,\n ContainerSchema,\n type HealthCheck,\n type ResourceSpec,\n type ResourceType,\n} from \"./generated/index.js\"\nimport { Resource } from \"./resource.js\"\n\nexport type {\n Container as ContainerConfig,\n ContainerOutputs,\n ContainerCode,\n ContainerAutoscaling,\n ContainerPort,\n ExposeProtocol,\n ContainerGpuSpec,\n ContainerStatus,\n HealthCheck,\n PersistentStorage,\n ResourceSpec,\n ReplicaStatus,\n} from \"./generated/index.js\"\nexport {\n ContainerSchema as ContainerConfigSchema,\n ContainerPortSchema,\n ExposeProtocolSchema,\n ContainerCodeSchema,\n ContainerAutoscalingSchema,\n} from \"./generated/index.js\"\n\n/**\n * Represents a long-running container workload.\n *\n * Containers run on compute instances (EC2, GCE, Azure VMs) and are orchestrated\n * by Horizon. They're designed for always-on workloads like web services, APIs,\n * databases, and background workers.\n */\nexport class Container {\n private _config: Partial<ContainerConfig> = {\n links: [],\n ports: [],\n environment: {},\n stateful: false,\n // cluster is optional - if not set, ContainerClusterMutation will auto-assign\n }\n\n /**\n * Creates a new Container builder.\n * @param id Identifier for the container. Must be DNS-compatible: lowercase alphanumeric with hyphens.\n */\n constructor(id: string) {\n this._config.id = id\n }\n\n /**\n * Returns a ResourceType representing any container resource.\n * Used for creating permission targets that apply to all container resources.\n * @returns The \"container\" resource type.\n */\n public static any(): ResourceType {\n return \"container\"\n }\n\n /**\n * Sets the container cluster this container runs on.\n * @param clusterId The ContainerCluster resource ID.\n * @returns The Container builder instance.\n */\n public cluster(clusterId: string): this {\n this._config.cluster = clusterId\n return this\n }\n\n /**\n * Sets the code for the container, either a pre-built image or source code to be built.\n * @param code The container code configuration.\n * @returns The Container builder instance.\n */\n public code(code: ContainerCode): this {\n this._config.code = code\n return this\n }\n\n /**\n * Sets the CPU resources for the container.\n *\n * For simplified configuration, use a single number:\n * - `.cpu(1)` sets both min and desired to 1 vCPU\n *\n * For advanced configuration, use ResourceSpec:\n * - `.cpu({ min: \"0.5\", desired: \"1\" })`\n *\n * @param value CPU in vCPUs (number) or ResourceSpec with min/desired.\n * @returns The Container builder instance.\n */\n public cpu(value: number | ResourceSpec): this {\n if (typeof value === \"number\") {\n this._config.cpu = { min: value.toString(), desired: value.toString() }\n } else {\n this._config.cpu = value\n }\n return this\n }\n\n /**\n * Sets the memory resources for the container.\n *\n * Format: \"<number>Mi\" or \"<number>Gi\"\n *\n * Example: \"512Mi\", \"2Gi\", \"16Gi\"\n *\n * @param size Memory size string.\n * @returns The Container builder instance.\n */\n public memory(size: string): this {\n this._config.memory = { min: size, desired: size }\n return this\n }\n\n /**\n * Sets minimum and maximum replica counts with autoscaling configuration.\n *\n * @param min Minimum replicas (always running).\n * @param max Maximum replicas under load.\n * @returns The Container builder instance.\n */\n public minReplicas(min: number): this {\n if (!this._config.autoscaling) {\n this._config.autoscaling = {\n min,\n desired: min,\n max: min * 10, // Default max is 10x min\n }\n } else {\n this._config.autoscaling.min = min\n this._config.autoscaling.desired = min\n }\n return this\n }\n\n /**\n * Sets the maximum replica count for autoscaling.\n * @param max Maximum replicas.\n * @returns The Container builder instance.\n */\n public maxReplicas(max: number): this {\n if (!this._config.autoscaling) {\n this._config.autoscaling = {\n min: 1,\n desired: 1,\n max,\n }\n } else {\n this._config.autoscaling.max = max\n }\n return this\n }\n\n /**\n * Sets a fixed replica count (for stateful containers or stateless without autoscaling).\n * Cannot be used with minReplicas/maxReplicas.\n * @param count Fixed number of replicas.\n * @returns The Container builder instance.\n */\n public replicas(count: number): this {\n this._config.replicas = count\n this._config.autoscaling = undefined\n return this\n }\n\n /**\n * Configures autoscaling behavior.\n * @param config Autoscaling configuration.\n * @returns The Container builder instance.\n */\n public autoScale(config: ContainerAutoscaling): this {\n this._config.autoscaling = config\n return this\n }\n\n /**\n * Sets whether this container is stateful.\n * Stateful containers get stable ordinals and support persistent storage.\n * @param enabled Whether the container is stateful.\n * @returns The Container builder instance.\n */\n public stateful(enabled: boolean): this {\n this._config.stateful = enabled\n return this\n }\n\n /**\n * Adds an internal-only port to the container.\n * Automatically creates DNS records for service discovery.\n * @param port Port number (e.g., 3000, 8080, 5432).\n * @returns The Container builder instance.\n */\n public port(port: number): this {\n if (!this._config.ports) {\n this._config.ports = []\n }\n this._config.ports.push({ port })\n return this\n }\n\n /**\n * Adds multiple internal-only ports to the container.\n * @param ports Array of port numbers.\n * @returns The Container builder instance.\n */\n public ports(ports: number[]): this {\n if (!this._config.ports) {\n this._config.ports = []\n }\n this._config.ports.push(...ports.map(port => ({ port })))\n return this\n }\n\n /**\n * Exposes a specific port publicly via load balancer.\n * @param port Port number to expose.\n * @param protocol \"http\" for HTTPS with TLS termination, \"tcp\" for TCP passthrough.\n * @returns The Container builder instance.\n */\n public exposePort(port: number, protocol: \"http\" | \"tcp\"): this {\n if (!this._config.ports) {\n this._config.ports = []\n }\n\n // Find existing port or add new one\n const existingPort = this._config.ports.find(p => p.port === port)\n if (existingPort) {\n existingPort.expose = protocol\n } else {\n this._config.ports.push({ port, expose: protocol })\n }\n return this\n }\n\n /**\n * Convenience method to expose the first/primary port publicly.\n * Must be called after .port() or .ports().\n * @param protocol \"http\" for HTTPS with TLS termination, \"tcp\" for TCP passthrough.\n * @returns The Container builder instance.\n */\n public expose(protocol: \"http\" | \"tcp\"): this {\n if (!this._config.ports || this._config.ports.length === 0) {\n throw new Error(\"Cannot expose port: no ports defined. Call .port() first.\")\n }\n if (!this._config.ports[0]) {\n throw new Error(\"Cannot expose port: ports array is empty\")\n }\n this._config.ports[0].expose = protocol\n return this\n }\n\n /**\n * Sets environment variables for the container.\n * @param vars Key-value pairs of environment variables.\n * @returns The Container builder instance.\n */\n public environment(vars: Record<string, string>): this {\n this._config.environment = { ...this._config.environment, ...vars }\n return this\n }\n\n /**\n * Sets ephemeral storage size.\n * Data is lost on container restart.\n * @param size Storage size (e.g., \"10Gi\", \"100Gi\", \"500Gi\").\n * @returns The Container builder instance.\n */\n public ephemeralStorage(size: string): this {\n this._config.ephemeralStorage = size\n return this\n }\n\n /**\n * Configures persistent storage (requires stateful=true).\n * Data survives container restarts.\n * @param size Storage size (e.g., \"100Gi\", \"500Gi\", \"1Ti\").\n * @returns The Container builder instance.\n */\n public persistentStorage(size: string): this {\n this._config.persistentStorage = {\n size,\n mountPath: \"/data\",\n }\n this._config.stateful = true\n return this\n }\n\n /**\n * Requests GPU resources.\n * @param config GPU configuration with type and count.\n * @returns The Container builder instance.\n */\n public gpu(config: ContainerGpuSpec): this {\n this._config.gpu = config\n return this\n }\n\n /**\n * Configures health check for the container.\n * @param config Health check configuration.\n * @returns The Container builder instance.\n */\n public healthCheck(config: HealthCheck): this {\n this._config.healthCheck = config\n return this\n }\n\n /**\n * Configures readiness probe (alias for healthCheck).\n * @param config Readiness probe configuration with method and path.\n * @returns The Container builder instance.\n */\n public readinessProbe(config: { method: string; path: string }): this {\n this._config.healthCheck = {\n path: config.path,\n method: config.method,\n timeoutSeconds: 1,\n failureThreshold: 3,\n }\n return this\n }\n\n /**\n * Sets the permission profile for this container.\n * @param profile Permission profile name from stack permissions configuration.\n * @returns The Container builder instance.\n */\n public permissions(profile: string): this {\n this._config.permissions = profile\n return this\n }\n\n /**\n * Assigns the container to a specific compute pool.\n * @param poolName Compute pool name.\n * @returns The Container builder instance.\n */\n public pool(poolName: string): this {\n this._config.pool = poolName\n return this\n }\n\n /**\n * Sets the command to override the image default.\n * @param command Array of command arguments.\n * @returns The Container builder instance.\n */\n public command(command: string[]): this {\n this._config.command = command\n return this\n }\n\n /**\n * Links this container to another resource (Storage, Queue, KV, etc.).\n * @param resource The resource to link to.\n * @returns The Container builder instance.\n */\n public link(resource: Resource): this {\n if (!this._config.links) {\n this._config.links = []\n }\n this._config.links.push(resource.ref())\n return this\n }\n\n /**\n * Builds and validates the container configuration.\n * @returns An immutable Resource representing the configured container.\n * @throws Error if the container configuration is invalid.\n */\n public build(): Resource {\n const config = ContainerSchema.parse(this._config)\n\n return new Resource({\n type: \"container\",\n ...config,\n })\n }\n}\n","import {\n type Build as BuildConfig,\n BuildSchema,\n type ComputeType,\n type ResourceType,\n} from \"./generated/index.js\"\nimport { Resource } from \"./resource.js\"\n\nexport type { BuildOutputs, ComputeType, BuildStatus, BuildConfig } from \"./generated/index.js\"\nexport {\n BuildOutputsSchema,\n ComputeTypeSchema,\n BuildStatusSchema,\n BuildConfigSchema,\n} from \"./generated/index.js\"\n\n/**\n * Represents a build resource that executes bash scripts to build code.\n * Builds are designed to be stateless and can be triggered on-demand to compile,\n * test, or package application code.\n */\nexport class Build {\n private _config: Partial<BuildConfig> = {\n links: [],\n environment: {},\n }\n\n /**\n * Creates a new Build builder.\n * @param id Identifier for the build resource. Must contain only alphanumeric characters, hyphens, and underscores ([A-Za-z0-9-_]). Maximum 64 characters.\n */\n constructor(id: string) {\n this._config.id = id\n }\n\n /**\n * Returns a ResourceType representing any build resource.\n * Used for creating permission targets that apply to all build resources.\n * @returns The \"build\" resource type.\n */\n public static any(): ResourceType {\n return \"build\"\n }\n\n /**\n * Sets the compute type for the build.\n * @param type The compute type (small, medium, large, x-large).\n * @returns The Build builder instance.\n */\n public computeType(type: ComputeType): this {\n this._config.computeType = type\n return this\n }\n\n /**\n * Sets key-value pairs as environment variables for the build.\n * @param env A map of environment variable names to their values.\n * @returns The Build builder instance.\n */\n public environment(env: Record<string, string>): this {\n this._config.environment = env\n return this\n }\n\n /**\n * Links another resource (e.g., Storage, ArtifactRegistry, Role) to this build.\n * This makes the linked resource accessible to the build, often by injecting\n * environment variables or granting permissions.\n * @param resource The resource to link.\n * @returns The Build builder instance.\n */\n public link(resource: Resource): this {\n if (!this._config.links) {\n this._config.links = []\n }\n this._config.links.push(resource.ref())\n return this\n }\n\n /**\n * Assigns a permission profile to this build.\n * The profile defines the permissions granted to this build when interacting\n * with other cloud resources.\n * @param permissions The permission profile name.\n * @returns The Build builder instance.\n */\n public permissions(permissions: string): this {\n this._config.permissions = permissions\n return this\n }\n\n /**\n * Builds and validates the build configuration.\n * @returns An immutable Resource representing the configured build.\n * @throws Error if the build configuration is invalid.\n */\n public build(): Resource {\n const config = BuildSchema.parse(this._config)\n\n return new Resource({\n type: \"build\",\n ...config,\n })\n }\n}\n","import {\n type ArtifactRegistry as ArtifactRegistryConfig,\n ArtifactRegistrySchema,\n type ResourceType,\n} from \"./generated/index.js\"\nimport { Resource } from \"./resource.js\"\n\nexport type {\n ArtifactRegistryOutputs,\n ArtifactRegistry as ArtifactRegistryConfig,\n} from \"./generated/index.js\"\nexport { ArtifactRegistrySchema as ArtifactRegistryConfigSchema } from \"./generated/index.js\"\n\n/**\n * Represents an artifact registry for storing container images and other build artifacts.\n * This is a high-level wrapper resource that provides a cloud-agnostic interface over\n * AWS ECR, GCP Artifact Registry, and Azure Container Registry.\n */\nexport class ArtifactRegistry {\n private _config: Partial<ArtifactRegistryConfig> = {}\n\n /**\n * Creates a new ArtifactRegistry builder.\n * @param id Identifier for the artifact registry. Must contain only alphanumeric characters, hyphens, and underscores ([A-Za-z0-9-_]). Maximum 64 characters.\n */\n constructor(id: string) {\n this._config.id = id\n }\n\n /**\n * Returns a ResourceType representing any artifact registry resource.\n * Used for creating permission targets that apply to all artifact registry resources.\n * @returns The \"artifact-registry\" resource type.\n */\n public static any(): ResourceType {\n return \"artifact-registry\"\n }\n\n /**\n * AWS-only: Configure ECR private image replication to additional regions.\n * Ensures images pushed in the registry's home region are automatically\n * available in these destination regions (required when Lambda or other\n * compute runs in a different region).\n * @param regions - AWS region codes to replicate to (e.g., [\"us-east-2\", \"eu-west-1\"])\n */\n public replicationRegions(regions: string[]): this {\n this._config.replicationRegions = regions\n return this\n }\n\n /**\n * Builds and validates the artifact registry configuration.\n * @returns An immutable Resource representing the configured artifact registry.\n * @throws Error if the artifact registry configuration is invalid.\n */\n public build(): Resource {\n const config = ArtifactRegistrySchema.parse(this._config)\n\n return new Resource({\n type: \"artifact-registry\",\n ...config,\n })\n }\n}\n","import { type ResourceType, type Vault as VaultConfig, VaultSchema } from \"./generated/index.js\"\nimport { Resource } from \"./resource.js\"\n\nexport type { VaultOutputs, Vault as VaultConfig } from \"./generated/index.js\"\nexport { VaultSchema as VaultConfigSchema } from \"./generated/index.js\"\n\n/**\n * Represents a secure vault for storing secrets.\n * This resource provides a platform-agnostic interface over cloud-native secret management services:\n * - AWS: AWS Secrets Manager with prefixed secret names\n * - GCP: Secret Manager with prefixed secret names\n * - Azure: Key Vault resource\n *\n * The vault acts as a namespace for secrets and controls access permissions for functions and services.\n */\nexport class Vault {\n private _config: Partial<VaultConfig> = {}\n\n /**\n * Creates a new Vault builder.\n * @param id Identifier for the vault. Must contain only alphanumeric characters, hyphens, and underscores ([A-Za-z0-9-_]). Maximum 64 characters.\n */\n constructor(id: string) {\n this._config.id = id\n }\n\n /**\n * Returns a ResourceType representing any vault resource.\n * Used for creating permission targets that apply to all vault resources.\n * @returns The \"vault\" resource type.\n */\n public static any(): ResourceType {\n return \"vault\"\n }\n\n /**\n * Builds and validates the vault configuration.\n * @returns An immutable Resource representing the configured vault.\n * @throws Error if the vault configuration is invalid.\n */\n public build(): Resource {\n const config = VaultSchema.parse(this._config)\n\n return new Resource({\n type: \"vault\",\n ...config,\n })\n }\n}\n","import { type Kv as KvConfig, KvSchema, type ResourceType } from \"./generated/index.js\"\nimport { Resource } from \"./resource.js\"\n\nexport type { KvOutputs, Kv as KvConfig } from \"./generated/index.js\"\nexport { KvSchema as KvConfigSchema } from \"./generated/index.js\"\n\n/**\n * Represents a key-value store for data storage.\n * This resource provides a platform-agnostic interface over cloud-native KV services:\n * - AWS: DynamoDB with hash bucketing for load distribution\n * - GCP: Firestore with document-based storage and collection management\n * - Azure: Table Storage with client-side TTL filtering and partition fan-out\n *\n * The KV store supports basic operations: get, put, delete, exists, and scan_prefix.\n * All operations support TTL for automatic expiration and conditional operations.\n *\n * Key Features:\n * - Universal size limits: 512B keys, 64KB values\n * - TTL support with logical expiry across all platforms\n * - Conditional puts with if_not_exists support\n * - Prefix-based scanning with pagination\n * - Platform-specific optimizations while maintaining consistent API\n *\n * Size Constraints:\n * - Keys: ≤ 512 bytes with portable ASCII charset (a-z, A-Z, 0-9, -, _, :, /, .)\n * - Values: ≤ 65,536 bytes (64 KiB)\n *\n * TTL Behavior:\n * - Expired items appear absent on reads even if physically present\n * - TTL precision varies by platform but logical behavior is consistent\n *\n * Scan Operations:\n * - Returns arbitrary, unordered subsets in backend-natural order\n * - No ordering guarantees across platforms\n * - May return ≤ limit items (not guaranteed to fill)\n * - Clients must de-duplicate keys across pages\n * - No completeness guarantee under concurrent writes\n */\nexport class Kv {\n private _config: Partial<KvConfig> = {}\n\n /**\n * Creates a new KV builder.\n * @param id Identifier for the KV store. Must contain only alphanumeric characters, hyphens, and underscores ([A-Za-z0-9-_]). Maximum 64 characters.\n */\n constructor(id: string) {\n this._config.id = id\n }\n\n /**\n * Returns a ResourceType representing any KV resource.\n * Used for creating permission targets that apply to all KV resources.\n * @returns The \"kv\" resource type.\n */\n public static any(): ResourceType {\n return \"kv\"\n }\n\n /**\n * Builds and validates the KV configuration.\n * @returns An immutable Resource representing the configured KV store.\n * @throws Error if the KV configuration is invalid.\n */\n public build(): Resource {\n const config = KvSchema.parse(this._config)\n\n return new Resource({\n type: \"kv\",\n ...config,\n })\n }\n}\n","import { type Queue as QueueConfig, QueueSchema, type ResourceType } from \"./generated/index.js\"\nimport { Resource } from \"./resource.js\"\n\nexport type { QueueOutputs, Queue as QueueConfig } from \"./generated/index.js\"\nexport { QueueSchema as QueueConfigSchema } from \"./generated/index.js\"\n\n/**\n * Represents a message queue resource with minimal, portable semantics.\n * Queue integrates with platform-native services (AWS SQS, GCP Pub/Sub, Azure Service Bus).\n */\nexport class Queue {\n private _config: Partial<QueueConfig> = {}\n\n /**\n * Creates a new Queue builder.\n * @param id Identifier for the queue. Must contain only alphanumeric characters, hyphens, and underscores ([A-Za-z0-9-_]). Maximum 64 characters.\n */\n constructor(id: string) {\n this._config.id = id\n }\n\n /**\n * Returns a ResourceType representing any queue resource.\n * Used for creating permission targets that apply to all queue resources.\n * @returns The \"queue\" resource type.\n */\n public static any(): ResourceType {\n return \"queue\"\n }\n\n /**\n * Builds and validates the queue configuration.\n * @returns An immutable Resource representing the configured queue.\n * @throws Error if the queue configuration is invalid.\n */\n public build(): Resource {\n const config = QueueSchema.parse(this._config)\n\n return new Resource({\n type: \"queue\",\n ...config,\n })\n }\n}\n","import {\n type PermissionSet,\n type ResourceType,\n type ServiceAccount as ServiceAccountConfig,\n ServiceAccountSchema,\n} from \"./generated/index.js\"\nimport { Resource } from \"./resource.js\"\n\nexport type {\n ServiceAccount as ServiceAccountConfig,\n ServiceAccountOutputs,\n PermissionSet,\n} from \"./generated/index.js\"\nexport {\n ServiceAccountSchema as ServiceAccountConfigSchema,\n ServiceAccountOutputsSchema,\n PermissionSetSchema,\n} from \"./generated/index.js\"\n\n/**\n * Represents a non-human identity that can be assumed by compute services.\n *\n * Maps to:\n * - AWS: IAM Role\n * - GCP: Service Account\n * - Azure: User-assigned Managed Identity\n *\n * ServiceAccounts can be used to grant specific permissions to compute resources\n * and can be impersonated by other services for cross-account or cross-service access.\n *\n * @example\n * ```typescript\n * import { ServiceAccount, Function } from \"@alien/core\"\n *\n * // Create a service account with stack-level permissions\n * const dataProcessorAccount = new ServiceAccount(\"data-processor\")\n * .build()\n *\n * // Link it to a function to use its identity\n * const processor = new Function(\"processor\")\n * .code({ type: \"image\", image: \"processor:latest\" })\n * .link(dataProcessorAccount)\n * .build()\n * ```\n */\nexport class ServiceAccount {\n private _config: Partial<ServiceAccountConfig> = {\n stackPermissionSets: [],\n }\n\n /**\n * Creates a new ServiceAccount builder.\n * @param id Identifier for the service account. Must contain only alphanumeric characters, hyphens, and underscores ([A-Za-z0-9-_]). Maximum 64 characters.\n */\n constructor(id: string) {\n this._config.id = id\n }\n\n /**\n * Returns a ResourceType representing any service account resource.\n * Used for creating permission targets that apply to all service account resources.\n * @returns The \"service-account\" resource type.\n */\n public static any(): ResourceType {\n return \"service-account\"\n }\n\n /**\n * Adds a stack-level permission set to the service account.\n * Stack-level permissions apply to all resources in the stack.\n *\n * Note: Only inline permission set objects are supported. To use built-in permission sets,\n * you need to resolve them first through the permission set registry or use permission profiles\n * in your stack configuration.\n *\n * @example\n * ```typescript\n * import { ServiceAccount, type PermissionSet } from \"@alien/core\"\n *\n * const customPermissionSet: PermissionSet = {\n * id: \"custom/my-perms\",\n * description: \"Custom permissions\",\n * platforms: {\n * aws: [{ grant: { actions: [\"s3:GetObject\"] }, binding: { stack: { resources: [\"*\"] } } }]\n * }\n * }\n *\n * const account = new ServiceAccount(\"custom-processor\")\n * .stackPermissionSet(customPermissionSet)\n * .build()\n * ```\n *\n * @param permissionSet The permission set object with platform-specific permissions\n * @returns The ServiceAccount builder instance.\n */\n public stackPermissionSet(permissionSet: PermissionSet): this {\n if (!this._config.stackPermissionSets) {\n this._config.stackPermissionSets = []\n }\n this._config.stackPermissionSets.push(permissionSet)\n return this\n }\n\n /**\n * Builds and validates the service account configuration.\n * @returns An immutable Resource representing the configured service account.\n * @throws Error if the service account configuration is invalid.\n */\n public build(): Resource {\n const config = ServiceAccountSchema.parse(this._config)\n\n return new Resource({\n type: \"service-account\",\n ...config,\n })\n }\n}\n","/**\n * This module provides a structured error handling system similar to Rust's error types,\n * with TypeScript type safety, error chaining, and context preservation.\n *\n * @example Basic Usage\n * ```typescript\n * import { AlienError, defineError } from '@alienplatform/core'\n * import { z } from 'zod'\n *\n * // Define a type-safe error\n * const DatabaseError = defineError({\n * code: \"DATABASE_CONNECTION_FAILED\",\n * context: z.object({\n * host: z.string(),\n * port: z.number(),\n * reason: z.string(),\n * }),\n * message: ({ host, port, reason }) => `Failed to connect to database '${host}:${port}': ${reason}`,\n * retryable: true,\n * internal: false,\n * httpStatusCode: 502,\n * })\n *\n * // Use it\n * throw new AlienError(DatabaseError.create({\n * host: \"localhost\",\n * port: 5432,\n * reason: \"Connection timeout\"\n * }))\n * ```\n *\n * @example Error Chaining\n * ```typescript\n * try {\n * // Some operation that fails\n * throw new Error(\"Connection refused\")\n * } catch (error) {\n * throw (await AlienError.from(error)).withContext(\n * DatabaseError.create({\n * host: \"localhost\",\n * port: 5432,\n * reason: \"Connection refused by server\"\n * })\n * )\n * }\n * ```\n *\n * @example External API Sanitization\n * ```typescript\n * const internalError = new AlienError(InternalApiError.create({\n * service: \"payment-processor\",\n * details: \"Database password expired\",\n * traceId: \"trace-12345\"\n * }))\n *\n * // Safe for external APIs (sanitizes internal errors)\n * const safeResponse = internalError.toExternal()\n * ```\n */\n\nimport { serializeError } from \"serialize-error\"\nimport type { z } from \"zod/v4\"\nimport {\n type AlienError as AlienErrorOptions,\n AlienErrorSchema as AlienErrorOptionsSchema,\n} from \"./generated/index.js\"\n\n// Re-export the schema for external use\nexport { AlienErrorOptionsSchema }\nexport type { AlienErrorOptions }\n\n/**\n * Base interface that all error type definitions must implement.\n *\n * This provides the structure for creating type-safe error definitions\n * with Zod validation and contextual information.\n *\n * @template TContext - Zod schema type for the error context\n */\nexport interface AlienErrorMetadata<TContext extends z.ZodTypeAny> {\n /** Unique error code (e.g., \"DATABASE_CONNECTION_FAILED\") */\n code: string\n /** Zod schema for type-safe context validation */\n context: TContext\n /** Whether this error can be retried */\n retryable: boolean\n /** Whether this error contains sensitive information */\n internal: boolean\n /** HTTP status code for API responses */\n httpStatusCode?: number\n /** Function to generate human-readable error message from context */\n message: (context: z.infer<TContext>) => string\n}\n\n/**\n * Helper function to create type-safe error definitions.\n *\n * This function provides a clean API for defining reusable error types\n * with full TypeScript type safety and Zod validation.\n *\n * @template TContext - Zod schema type for the error context\n * @param metadata - Error metadata including code, schema, and message generator\n * @returns Object with metadata and a create function for error instances\n *\n * @example\n * ```typescript\n * const UserNotFound = defineError({\n * code: \"USER_NOT_FOUND\",\n * context: z.object({\n * userId: z.string(),\n * searchMethod: z.string(),\n * }),\n * message: ({ userId, searchMethod }) =>\n * `User '${userId}' not found using method '${searchMethod}'`,\n * retryable: false,\n * internal: false,\n * httpStatusCode: 404,\n * })\n *\n * // Usage\n * const error = UserNotFound.create({\n * userId: \"123\",\n * searchMethod: \"database_lookup\"\n * })\n * ```\n */\nexport function defineError<TContext extends z.ZodTypeAny>(metadata: AlienErrorMetadata<TContext>) {\n return {\n metadata,\n contextSchema: metadata.context,\n create: (context: z.infer<TContext>): AlienErrorDefinition<TContext> => ({\n metadata,\n contextSchema: metadata.context,\n context,\n toOptions: (): AlienErrorOptions => ({\n code: metadata.code,\n message: metadata.message(context),\n retryable: metadata.retryable,\n internal: metadata.internal,\n httpStatusCode: metadata.httpStatusCode,\n context,\n }),\n }),\n }\n}\n\n/**\n * Represents a specific error instance with its context.\n *\n * This is created by calling `.create()` on an error definition\n * and contains the actual context data for a specific error occurrence.\n *\n * @template TContext - Zod schema type for the error context\n */\nexport interface AlienErrorDefinition<TContext extends z.ZodTypeAny> {\n metadata: AlienErrorMetadata<TContext>\n contextSchema: TContext\n context: z.infer<TContext>\n\n /**\n * Convert this error definition directly to AlienErrorOptions.\n *\n * This allows you to get the wire format representation\n * without creating an AlienError instance first.\n *\n * @returns AlienErrorOptions object representing this error\n */\n toOptions(): AlienErrorOptions\n}\n\n/**\n * Main AlienError class that provides structured error handling.\n *\n * This class extends the standard JavaScript Error with additional features:\n * - Type-safe context data\n * - Error chaining and source tracking\n * - Retryability and internal/external visibility flags\n * - HTTP status code mapping\n * - Sanitization for external APIs\n *\n * @template TContext - Zod schema type for the error context\n *\n * @example Basic Construction\n * ```typescript\n * const error = new AlienError(DatabaseError.create({\n * host: \"localhost\",\n * port: 5432,\n * reason: \"Timeout\"\n * }))\n * ```\n *\n * @example Converting JavaScript Errors\n * ```typescript\n * try {\n * JSON.parse(\"invalid json\")\n * } catch (jsError) {\n * const alienError = AlienError.from(jsError)\n * console.log(alienError.code) // \"GENERIC_ERROR\"\n * }\n * ```\n *\n * @example Error Chaining\n * ```typescript\n * const contextualError = AlienError.from(new Error(\"Network timeout\"))\n * .withContext(DatabaseError.create({\n * host: \"localhost\",\n * port: 5432,\n * reason: \"Connection timeout\"\n * }))\n *\n * // Check error chain\n * console.log(contextualError.hasErrorCode(\"DATABASE_CONNECTION_FAILED\")) // true\n * console.log(contextualError.toString()) // Shows full error chain\n * ```\n */\nexport class AlienError<TContext extends z.ZodTypeAny = z.ZodAny> extends Error {\n /** Unique error code identifying the error type */\n public readonly code: string\n /** Whether this error can be safely retried */\n public readonly retryable: boolean\n /** Whether this error contains sensitive internal information */\n public readonly internal: boolean\n /** HTTP status code for API responses */\n public readonly httpStatusCode: number\n /** Type-safe context data specific to this error */\n public readonly context?: z.infer<TContext>\n /** Source error that caused this error (for chaining) */\n public readonly source?: AlienError<any>\n\n constructor(input: AlienErrorDefinition<TContext> | (AlienErrorOptions & { context?: any })) {\n // Handle both error definitions and raw options\n let options: AlienErrorOptions & { context?: any }\n\n if (\"metadata\" in input && \"context\" in input) {\n // It's an AlienErrorDefinition\n const definition = input as AlienErrorDefinition<TContext>\n const { metadata, context: contextData } = definition\n const message = metadata.message(contextData)\n\n options = {\n code: metadata.code,\n message,\n retryable: metadata.retryable,\n internal: metadata.internal,\n httpStatusCode: metadata.httpStatusCode,\n context: contextData,\n }\n } else {\n // It's raw AlienErrorOptions\n options = input as AlienErrorOptions & { context?: any }\n }\n\n const message = options.message\n super(message, { cause: options.source })\n\n this.name = \"AlienError\"\n this.code = options.code\n this.retryable = options.retryable\n this.internal = options.internal\n this.httpStatusCode = options.httpStatusCode ?? 500\n this.context = options.context\n\n // Handle source construction - check if it's a valid AlienErrorOptions object\n this.source = undefined\n if (options.source && typeof options.source === \"object\") {\n // Check if it has the required fields to be a valid AlienErrorOptions\n if (\n \"code\" in options.source &&\n \"message\" in options.source &&\n \"retryable\" in options.source &&\n \"internal\" in options.source\n ) {\n this.source = new AlienError(options.source as AlienErrorOptions)\n }\n }\n }\n\n /**\n * Create an AlienError from a type-safe error definition.\n *\n * @template TContext - Zod schema type for the error context\n * @param definition - Error definition with type-safe context\n * @returns New AlienError instance\n */\n static fromDefinition<TContext extends z.ZodTypeAny>(\n definition: AlienErrorDefinition<TContext>,\n ): AlienError<TContext> {\n return new AlienError(definition)\n }\n\n /**\n * Create an AlienError from raw options (for compatibility).\n *\n * @param options - Raw error options conforming to AlienErrorOptions schema\n * @returns New AlienError instance\n */\n static fromOptions(options: AlienErrorOptions): AlienError {\n return new AlienError(AlienErrorOptionsSchema.parse(options))\n }\n\n /**\n * Helper function to get a user-friendly type name for error context.\n *\n * @param error - Any value to get the type name for\n * @returns User-friendly type name\n */\n private static getErrorTypeName(error: any): string {\n // Handle null explicitly (typeof null === \"object\" is a JS quirk)\n if (error === null) {\n return \"null\"\n }\n\n // Handle undefined\n if (error === undefined) {\n return \"undefined\"\n }\n\n // Try to get constructor name first (for Arrays, Functions, custom classes, etc.)\n if (error?.constructor?.name) {\n return error.constructor.name\n }\n\n // Fall back to typeof, but capitalize for consistency\n const typeofResult = typeof error\n return typeofResult === \"object\"\n ? \"Object\"\n : typeofResult.charAt(0).toUpperCase() + typeofResult.slice(1)\n }\n\n /**\n * Convert a JavaScript Error or any object to a generic AlienError.\n *\n * This is equivalent to Rust's `.into_alien_error()` pattern and provides\n * a way to convert any JavaScript error into the structured AlienError format.\n *\n * @param error - Any JavaScript error or object to convert\n * @returns AlienError with GENERIC_ERROR code and preserved original error\n *\n * @example\n * ```typescript\n * try {\n * throw new TypeError(\"Invalid argument\")\n * } catch (error) {\n * const alienError = AlienError.from(error)\n * console.log(alienError.code) // \"GENERIC_ERROR\"\n * console.log(alienError.context?.originalError) // Serialized TypeError\n * }\n * ```\n *\n * @example Chaining with context\n * ```typescript\n * try {\n * JSON.parse(\"invalid\")\n * } catch (error) {\n * throw AlienError.from(error).withContext(\n * ValidationError.create({\n * input: \"invalid\",\n * expectedFormat: \"JSON\"\n * })\n * )\n * }\n * ```\n *\n * @example AxiosError conversion\n * ```typescript\n * try {\n * await axios.get('/api/resource')\n * } catch (error) {\n * // If error.response.data contains a valid AlienError structure, it will be parsed\n * const alienError = AlienError.from(error)\n * console.log(alienError.code) // Could be \"REMOTE_RESOURCE_NOT_FOUND\" if parsed from response\n * }\n * ```\n */\n static async from(error: any): Promise<AlienError> {\n if (error instanceof AlienError) {\n return error\n }\n\n // Try to parse as fetch Response with AlienError in body\n if (error instanceof Response) {\n let errorBody: any\n try {\n errorBody = await error.json()\n } catch {\n // If JSON parsing fails, create generic error\n return new AlienError({\n code: \"GENERIC_ERROR\",\n message: `HTTP request failed with status ${error.status}`,\n retryable: false,\n internal: false,\n httpStatusCode: error.status,\n context: {\n url: error.url,\n status: error.status,\n statusText: error.statusText,\n },\n })\n }\n\n // Try to parse as AlienError\n const parseResult = AlienErrorOptionsSchema.safeParse(errorBody)\n if (parseResult.success) {\n return new AlienError(parseResult.data)\n }\n\n // If not an AlienError, wrap it as generic error\n return new AlienError({\n code: \"GENERIC_ERROR\",\n message: errorBody?.message || `HTTP request failed with status ${error.status}`,\n retryable: false,\n internal: false,\n httpStatusCode: error.status,\n context: {\n url: error.url,\n status: error.status,\n statusText: error.statusText,\n responseBody: errorBody,\n },\n })\n }\n\n // Try to parse as AxiosError with AlienError in response.data\n if (error?.response?.data && typeof error.response.data === \"object\") {\n const parseResult = AlienErrorOptionsSchema.safeParse(error.response.data)\n if (parseResult.success) {\n return new AlienError(parseResult.data)\n }\n // If parsing fails, continue with generic error handling\n // This is expected for non-AlienError responses\n }\n\n // Serialize the error using serialize-error for consistent structure\n const serialized = serializeError(error)\n const message = serialized?.message || String(error)\n\n return new AlienError({\n code: \"GENERIC_ERROR\",\n message,\n retryable: false,\n internal: false,\n httpStatusCode: 500,\n context: {\n originalError: serialized,\n errorType: AlienError.getErrorTypeName(error),\n },\n })\n }\n\n /**\n * Add context to this error, creating a new error that wraps this one.\n *\n * This is equivalent to Rust's `.with_context()` pattern and allows\n * building error chains with increasing levels of context.\n *\n * @template TNewContext - Zod schema type for the new context\n * @param definition - Error definition to wrap this error with\n * @returns New AlienError with this error as the source\n *\n * @example\n * ```typescript\n * // Clean fluent API\n * const authError = (await AlienError.from(new Error(\"ECONNREFUSED\")))\n * .withContext(DatabaseError.create({\n * host: \"localhost\",\n * port: 5432,\n * reason: \"Connection refused\"\n * }))\n * .withContext(AuthError.create({\n * username: \"john\",\n * reason: \"Database unavailable\"\n * }))\n *\n * // Error chain: AuthError -> DatabaseError -> GENERIC_ERROR\n * console.log(authError.toString())\n * ```\n */\n withContext<TNewContext extends z.ZodTypeAny>(\n definition: AlienErrorDefinition<TNewContext>,\n ): AlienError<TNewContext> {\n const { metadata, context: contextData } = definition\n const message = metadata.message(contextData)\n\n // Convert current error to source format\n const sourceOptions: AlienErrorOptions = {\n code: this.code,\n message: this.message,\n retryable: this.retryable,\n internal: this.internal,\n httpStatusCode: this.httpStatusCode,\n context: this.context,\n source: this.source?.toOptions(),\n }\n\n return new AlienError({\n code: metadata.code,\n message,\n retryable: metadata.retryable,\n internal: metadata.internal,\n httpStatusCode: metadata.httpStatusCode,\n context: contextData,\n source: sourceOptions,\n })\n }\n\n /**\n * Convert this AlienError to the wire format (AlienErrorOptions).\n *\n * This method serializes the error into the standard format used\n * for transmitting errors over the network or storing them.\n *\n * @returns AlienErrorOptions object representing this error\n */\n toOptions(): AlienErrorOptions {\n return {\n code: this.code,\n message: this.message,\n retryable: this.retryable,\n internal: this.internal,\n httpStatusCode: this.httpStatusCode,\n context: this.context,\n source: this.source?.toOptions(),\n }\n }\n\n /**\n * Get a sanitized version for external APIs (hides internal errors).\n *\n * This method is crucial for security - it prevents sensitive internal\n * error details from being exposed to external users while preserving\n * the error chain structure for non-sensitive errors.\n *\n * @returns Sanitized AlienErrorOptions safe for external consumption\n *\n * @example\n * ```typescript\n * const internalError = new AlienError(InternalApiError.create({\n * service: \"payment-processor\",\n * details: \"Database password expired for user admin\",\n * traceId: \"trace-12345\"\n * }))\n *\n * console.log(internalError.toOptions())\n * // Shows full details including sensitive information\n *\n * console.log(internalError.toExternal())\n * // { code: \"GENERIC_ERROR\", message: \"Internal server error\", ... }\n * ```\n */\n toExternal(): AlienErrorOptions {\n if (this.internal) {\n return {\n code: \"GENERIC_ERROR\",\n message: \"Internal server error\",\n retryable: false,\n internal: false,\n httpStatusCode: 500,\n }\n }\n\n return {\n code: this.code,\n message: this.message,\n retryable: this.retryable,\n internal: this.internal,\n httpStatusCode: this.httpStatusCode,\n context: this.context,\n source: this.source?.toExternal(),\n }\n }\n\n /**\n * Check if this error chain contains an error with a specific code.\n *\n * This method traverses the entire error chain (this error and all\n * source errors) to find if any error has the specified code.\n *\n * @param code - Error code to search for\n * @returns True if the code is found anywhere in the error chain\n *\n * @example\n * ```typescript\n * const chainedError = authError.withContext(dbError.withContext(networkError))\n *\n * console.log(chainedError.hasErrorCode(\"AUTH_FAILED\")) // true\n * console.log(chainedError.hasErrorCode(\"DATABASE_CONNECTION_FAILED\")) // true\n * console.log(chainedError.hasErrorCode(\"NETWORK_TIMEOUT\")) // true\n * console.log(chainedError.hasErrorCode(\"NONEXISTENT_ERROR\")) // false\n * ```\n */\n hasErrorCode(code: string): boolean {\n if (this.code === code) return true\n return this.source?.hasErrorCode(code) ?? false\n }\n\n /**\n * Find the first error in the chain with a specific code.\n *\n * This method traverses the error chain and returns the first error\n * instance that matches the specified code, allowing access to its\n * specific context and details.\n *\n * @param code - Error code to search for\n * @returns AlienError instance with the specified code, or undefined if not found\n *\n * @example\n * ```typescript\n * const chainedError = authError.withContext(dbError)\n *\n * const dbError = chainedError.findErrorByCode(\"DATABASE_CONNECTION_FAILED\")\n * if (dbError) {\n * console.log(\"Database error context:\", dbError.context)\n * console.log(\"Host:\", dbError.context?.host)\n * }\n * ```\n */\n findErrorByCode(code: string): AlienError | undefined {\n if (this.code === code) return this\n return this.source?.findErrorByCode(code)\n }\n\n /**\n * Get a formatted string representation of the error chain.\n *\n * This method provides a human-readable representation of the entire\n * error chain, showing how errors are nested and providing context\n * for debugging and logging.\n *\n * @returns Formatted string showing the complete error chain\n *\n * @example\n * ```typescript\n * const chainedError = authError.withContext(dbError.withContext(networkError))\n * console.log(chainedError.toString())\n * // Output:\n * // AUTH_FAILED: User authentication failed for 'john'\n * // ├─▶ DATABASE_CONNECTION_FAILED: Failed to connect to database 'localhost:5432'\n * // ├─▶ GENERIC_ERROR: Connection timeout\n * ```\n */\n toString(): string {\n let result = `${this.code}: ${this.message}`\n let current = this.source\n let indent = \"\"\n\n while (current) {\n indent += \" \"\n result += `\\n${indent}├─▶ ${current.code}: ${current.message}`\n current = current.source\n }\n\n return result\n }\n}\n\n// Utility type to extract context type from error definition\nexport type ExtractContext<T> = T extends AlienErrorDefinition<infer TContext>\n ? z.infer<TContext>\n : never\n","import * as z from \"zod/v4\"\nimport { defineError } from \"./error.js\"\n\n/**\n * Error thrown when a requested resource cannot be found in the stack state.\n * This matches the Rust alien-core error: RESOURCE_NOT_FOUND\n */\nexport const ResourceNotFoundError = defineError({\n code: \"RESOURCE_NOT_FOUND\",\n context: z.object({\n resourceId: z.string(),\n availableResources: z.array(z.string()),\n }),\n message: ({ resourceId, availableResources }) =>\n `Resource '${resourceId}' not found in stack state. Available resources: ${JSON.stringify(availableResources)}`,\n retryable: false,\n internal: false,\n httpStatusCode: 404,\n})\n\n/**\n * Error thrown when resource outputs cannot be parsed according to their expected schema.\n * This indicates an internal system error or data corruption.\n */\nexport const ResourceOutputsParseError = defineError({\n code: \"RESOURCE_OUTPUTS_PARSE_ERROR\",\n context: z.object({\n resourceName: z.string(),\n resourceType: z.string(),\n validationErrors: z.string(),\n }),\n message: ({ resourceName, resourceType, validationErrors }) =>\n `Failed to parse outputs for resource '${resourceName}' of type '${resourceType}':\\n${validationErrors}`,\n retryable: false,\n internal: true,\n httpStatusCode: 500,\n})\n\n/**\n * Error thrown when there's a resource type mismatch during stack operations.\n * This matches the Rust alien-core error: UNEXPECTED_RESOURCE_TYPE\n */\nexport const UnexpectedResourceTypeError = defineError({\n code: \"UNEXPECTED_RESOURCE_TYPE\",\n context: z.object({\n resourceId: z.string(),\n expected: z.string(),\n actual: z.string(),\n }),\n message: ({ resourceId, expected, actual }) =>\n `Unexpected resource type for resource '${resourceId}': expected ${expected}, but got ${actual}`,\n retryable: false,\n internal: false,\n httpStatusCode: 400,\n})\n","import * as z from \"zod/v4\"\nimport { ResourceNotFoundError, ResourceOutputsParseError } from \"./common-errors.js\"\nimport { AlienError } from \"./error.js\"\nimport {\n ArtifactRegistryOutputsSchema,\n ArtifactRegistrySchema,\n BuildOutputsSchema,\n BuildSchema,\n ContainerOutputsSchema,\n ContainerSchema,\n FunctionOutputsSchema,\n FunctionSchema,\n KvOutputsSchema,\n KvSchema,\n QueueOutputsSchema,\n QueueSchema,\n RemoteStackManagementOutputsSchema,\n RemoteStackManagementSchema,\n ServiceAccountOutputsSchema,\n ServiceAccountSchema,\n StorageOutputsSchema,\n StorageSchema,\n VaultOutputsSchema,\n VaultSchema,\n} from \"./generated/index.js\"\nimport type { StackState } from \"./stack.js\"\n\nexport const ResourceSchemaMapping = {\n function: {\n input: FunctionSchema,\n output: FunctionOutputsSchema,\n },\n container: {\n input: ContainerSchema,\n output: ContainerOutputsSchema,\n },\n storage: {\n input: StorageSchema,\n output: StorageOutputsSchema,\n },\n kv: {\n input: KvSchema,\n output: KvOutputsSchema,\n },\n queue: {\n input: QueueSchema,\n output: QueueOutputsSchema,\n },\n vault: {\n input: VaultSchema,\n output: VaultOutputsSchema,\n },\n build: {\n input: BuildSchema,\n output: BuildOutputsSchema,\n },\n \"artifact-registry\": {\n input: ArtifactRegistrySchema,\n output: ArtifactRegistryOutputsSchema,\n },\n \"service-account\": {\n input: ServiceAccountSchema,\n output: ServiceAccountOutputsSchema,\n },\n \"remote-stack-management\": {\n input: RemoteStackManagementSchema,\n output: RemoteStackManagementOutputsSchema,\n },\n}\n\n// Retrieves and validates the outputs of a resource from the stack state.\nexport function getResourceOutputs<K extends keyof typeof ResourceSchemaMapping>(params: {\n state: StackState\n resource: { type: K; name: string }\n}): z.infer<(typeof ResourceSchemaMapping)[K][\"output\"]> {\n const { state, resource } = params\n\n const resourceState = state.resources[resource.name]\n if (!resourceState) {\n throw new AlienError(\n ResourceNotFoundError.create({\n resourceId: resource.name,\n availableResources: Object.keys(state.resources),\n }),\n )\n }\n\n const outputsSchema = ResourceSchemaMapping[resource.type].output\n const outputs = outputsSchema.safeParse(resourceState.outputs)\n if (!outputs.success) {\n throw new AlienError(\n ResourceOutputsParseError.create({\n resourceName: resource.name,\n resourceType: resource.type,\n validationErrors: z.prettifyError(outputs.error),\n }),\n )\n }\n\n return outputs.data as z.infer<(typeof ResourceSchemaMapping)[K][\"output\"]>\n}\n"],"mappings":";;;;;;;;AASA,IAAa,WAAb,MAAsB;;;;;CAKpB,YAAY,QAA6B;AAAtB,OAAA,SAAA;;;;;;;CAOnB,MAA0B;AACxB,SAAO;GAAE,MAAM,KAAK,OAAO;GAAM,IAAI,KAAK,OAAO;GAAI;;;;;;;;ACRzD,IAAa,UAAb,MAAqB;CACnB,UAA0C;EACxC,YAAY;EACZ,YAAY;EACZ,gBAAgB,EAAE;EACnB;;;;;CAMD,YAAY,IAAY;AACtB,OAAK,QAAQ,KAAK;;;;;;;CAQpB,OAAc,MAAoB;AAChC,SAAO;;;;;;;;CAST,WAAkB,OAAsB;AACtC,OAAK,QAAQ,aAAa;AAC1B,SAAO;;;;;;;;CAST,WAAkB,OAAsB;AACtC,OAAK,QAAQ,aAAa;AAC1B,SAAO;;;;;;;CAQT,eAAsB,OAA8B;AAClD,OAAK,QAAQ,iBAAiB;AAC9B,SAAO;;;;;;;CAQT,QAAyB;AAGvB,SAAO,IAAI,SAAS;GAClB,MAAM;GACN,GAJa,cAAc,MAAM,KAAK,QAAQ;GAK/C,CAAC;;;;;;;;;AChDN,IAAa,WAAb,MAAsB;CACpB,UAA2C;EACzC,OAAO,EAAE;EACT,UAAU,EAAE;EACZ,aAAa,EAAE;EAChB;;;;;CAMD,YAAY,IAAY;AACtB,OAAK,QAAQ,KAAK;;;;;;;CAQpB,OAAc,MAAoB;AAChC,SAAO;;;;;;;CAQT,KAAY,MAA0B;AACpC,OAAK,QAAQ,OAAO;AACpB,SAAO;;;;;;;;;CAUT,SAAgB,IAAkB;AAChC,OAAK,QAAQ,WAAW;AACxB,SAAO;;;;;;;;;CAUT,eAAsB,KAAmB;AACvC,OAAK,QAAQ,iBAAiB;AAC9B,SAAO;;;;;;;;CAST,iBAAwB,OAAiC;AACvD,OAAK,QAAQ,mBAAmB;AAChC,SAAO;;;;;;;;;;;CAYT,QAAe,OAAsB;AACnC,OAAK,QAAQ,UAAU;AACvB,SAAO;;;;;;;CAQT,YAAmB,KAAmC;AACpD,OAAK,QAAQ,cAAc;AAC3B,SAAO;;;;;;;;;CAUT,KAAY,UAA0B;AACpC,MAAI,CAAC,KAAK,QAAQ,MAChB,MAAK,QAAQ,QAAQ,EAAE;AAEzB,OAAK,QAAQ,MAAM,KAAK,SAAS,KAAK,CAAC;AACvC,SAAO;;;;;;;;;CAUT,YAAmB,aAA2B;AAC5C,OAAK,QAAQ,cAAc;AAC3B,SAAO;;;;;;;;;;;;;;;;;;;;;;;;CAyBT,eAAsB,OAA6B;AACjD,OAAK,QAAQ,iBAAiB;AAC9B,SAAO;;;;;;;;;CAUT,gBAAuB,SAAwB;AAC7C,OAAK,QAAQ,kBAAkB;AAC/B,SAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BT,QAAe,SAAgC;AAC7C,MAAI,CAAC,KAAK,QAAQ,SAChB,MAAK,QAAQ,WAAW,EAAE;AAE5B,OAAK,QAAQ,SAAS,KAAK,QAAQ;AACnC,SAAO;;;;;;;CAQT,QAAyB;AAGvB,SAAO,IAAI,SAAS;GAClB,MAAM;GACN,GAJa,eAAe,MAAM,KAAK,QAAQ;GAKhD,CAAC;;;;;;;;;;;;ACtMN,IAAa,YAAb,MAAuB;CACrB,UAA4C;EAC1C,OAAO,EAAE;EACT,OAAO,EAAE;EACT,aAAa,EAAE;EACf,UAAU;EAEX;;;;;CAMD,YAAY,IAAY;AACtB,OAAK,QAAQ,KAAK;;;;;;;CAQpB,OAAc,MAAoB;AAChC,SAAO;;;;;;;CAQT,QAAe,WAAyB;AACtC,OAAK,QAAQ,UAAU;AACvB,SAAO;;;;;;;CAQT,KAAY,MAA2B;AACrC,OAAK,QAAQ,OAAO;AACpB,SAAO;;;;;;;;;;;;;;CAeT,IAAW,OAAoC;AAC7C,MAAI,OAAO,UAAU,SACnB,MAAK,QAAQ,MAAM;GAAE,KAAK,MAAM,UAAU;GAAE,SAAS,MAAM,UAAU;GAAE;MAEvE,MAAK,QAAQ,MAAM;AAErB,SAAO;;;;;;;;;;;;CAaT,OAAc,MAAoB;AAChC,OAAK,QAAQ,SAAS;GAAE,KAAK;GAAM,SAAS;GAAM;AAClD,SAAO;;;;;;;;;CAUT,YAAmB,KAAmB;AACpC,MAAI,CAAC,KAAK,QAAQ,YAChB,MAAK,QAAQ,cAAc;GACzB;GACA,SAAS;GACT,KAAK,MAAM;GACZ;OACI;AACL,QAAK,QAAQ,YAAY,MAAM;AAC/B,QAAK,QAAQ,YAAY,UAAU;;AAErC,SAAO;;;;;;;CAQT,YAAmB,KAAmB;AACpC,MAAI,CAAC,KAAK,QAAQ,YAChB,MAAK,QAAQ,cAAc;GACzB,KAAK;GACL,SAAS;GACT;GACD;MAED,MAAK,QAAQ,YAAY,MAAM;AAEjC,SAAO;;;;;;;;CAST,SAAgB,OAAqB;AACnC,OAAK,QAAQ,WAAW;AACxB,OAAK,QAAQ,cAAc,KAAA;AAC3B,SAAO;;;;;;;CAQT,UAAiB,QAAoC;AACnD,OAAK,QAAQ,cAAc;AAC3B,SAAO;;;;;;;;CAST,SAAgB,SAAwB;AACtC,OAAK,QAAQ,WAAW;AACxB,SAAO;;;;;;;;CAST,KAAY,MAAoB;AAC9B,MAAI,CAAC,KAAK,QAAQ,MAChB,MAAK,QAAQ,QAAQ,EAAE;AAEzB,OAAK,QAAQ,MAAM,KAAK,EAAE,MAAM,CAAC;AACjC,SAAO;;;;;;;CAQT,MAAa,OAAuB;AAClC,MAAI,CAAC,KAAK,QAAQ,MAChB,MAAK,QAAQ,QAAQ,EAAE;AAEzB,OAAK,QAAQ,MAAM,KAAK,GAAG,MAAM,KAAI,UAAS,EAAE,MAAM,EAAE,CAAC;AACzD,SAAO;;;;;;;;CAST,WAAkB,MAAc,UAAgC;AAC9D,MAAI,CAAC,KAAK,QAAQ,MAChB,MAAK,QAAQ,QAAQ,EAAE;EAIzB,MAAM,eAAe,KAAK,QAAQ,MAAM,MAAK,MAAK,EAAE,SAAS,KAAK;AAClE,MAAI,aACF,cAAa,SAAS;MAEtB,MAAK,QAAQ,MAAM,KAAK;GAAE;GAAM,QAAQ;GAAU,CAAC;AAErD,SAAO;;;;;;;;CAST,OAAc,UAAgC;AAC5C,MAAI,CAAC,KAAK,QAAQ,SAAS,KAAK,QAAQ,MAAM,WAAW,EACvD,OAAM,IAAI,MAAM,4DAA4D;AAE9E,MAAI,CAAC,KAAK,QAAQ,MAAM,GACtB,OAAM,IAAI,MAAM,2CAA2C;AAE7D,OAAK,QAAQ,MAAM,GAAG,SAAS;AAC/B,SAAO;;;;;;;CAQT,YAAmB,MAAoC;AACrD,OAAK,QAAQ,cAAc;GAAE,GAAG,KAAK,QAAQ;GAAa,GAAG;GAAM;AACnE,SAAO;;;;;;;;CAST,iBAAwB,MAAoB;AAC1C,OAAK,QAAQ,mBAAmB;AAChC,SAAO;;;;;;;;CAST,kBAAyB,MAAoB;AAC3C,OAAK,QAAQ,oBAAoB;GAC/B;GACA,WAAW;GACZ;AACD,OAAK,QAAQ,WAAW;AACxB,SAAO;;;;;;;CAQT,IAAW,QAAgC;AACzC,OAAK,QAAQ,MAAM;AACnB,SAAO;;;;;;;CAQT,YAAmB,QAA2B;AAC5C,OAAK,QAAQ,cAAc;AAC3B,SAAO;;;;;;;CAQT,eAAsB,QAAgD;AACpE,OAAK,QAAQ,cAAc;GACzB,MAAM,OAAO;GACb,QAAQ,OAAO;GACf,gBAAgB;GAChB,kBAAkB;GACnB;AACD,SAAO;;;;;;;CAQT,YAAmB,SAAuB;AACxC,OAAK,QAAQ,cAAc;AAC3B,SAAO;;;;;;;CAQT,KAAY,UAAwB;AAClC,OAAK,QAAQ,OAAO;AACpB,SAAO;;;;;;;CAQT,QAAe,SAAyB;AACtC,OAAK,QAAQ,UAAU;AACvB,SAAO;;;;;;;CAQT,KAAY,UAA0B;AACpC,MAAI,CAAC,KAAK,QAAQ,MAChB,MAAK,QAAQ,QAAQ,EAAE;AAEzB,OAAK,QAAQ,MAAM,KAAK,SAAS,KAAK,CAAC;AACvC,SAAO;;;;;;;CAQT,QAAyB;AAGvB,SAAO,IAAI,SAAS;GAClB,MAAM;GACN,GAJa,gBAAgB,MAAM,KAAK,QAAQ;GAKjD,CAAC;;;;;;;;;;AC5WN,IAAa,QAAb,MAAmB;CACjB,UAAwC;EACtC,OAAO,EAAE;EACT,aAAa,EAAE;EAChB;;;;;CAMD,YAAY,IAAY;AACtB,OAAK,QAAQ,KAAK;;;;;;;CAQpB,OAAc,MAAoB;AAChC,SAAO;;;;;;;CAQT,YAAmB,MAAyB;AAC1C,OAAK,QAAQ,cAAc;AAC3B,SAAO;;;;;;;CAQT,YAAmB,KAAmC;AACpD,OAAK,QAAQ,cAAc;AAC3B,SAAO;;;;;;;;;CAUT,KAAY,UAA0B;AACpC,MAAI,CAAC,KAAK,QAAQ,MAChB,MAAK,QAAQ,QAAQ,EAAE;AAEzB,OAAK,QAAQ,MAAM,KAAK,SAAS,KAAK,CAAC;AACvC,SAAO;;;;;;;;;CAUT,YAAmB,aAA2B;AAC5C,OAAK,QAAQ,cAAc;AAC3B,SAAO;;;;;;;CAQT,QAAyB;AAGvB,SAAO,IAAI,SAAS;GAClB,MAAM;GACN,GAJa,YAAY,MAAM,KAAK,QAAQ;GAK7C,CAAC;;;;;;;;;;ACpFN,IAAa,mBAAb,MAA8B;CAC5B,UAAmD,EAAE;;;;;CAMrD,YAAY,IAAY;AACtB,OAAK,QAAQ,KAAK;;;;;;;CAQpB,OAAc,MAAoB;AAChC,SAAO;;;;;;;;;CAUT,mBAA0B,SAAyB;AACjD,OAAK,QAAQ,qBAAqB;AAClC,SAAO;;;;;;;CAQT,QAAyB;AAGvB,SAAO,IAAI,SAAS;GAClB,MAAM;GACN,GAJa,uBAAuB,MAAM,KAAK,QAAQ;GAKxD,CAAC;;;;;;;;;;;;;;AC9CN,IAAa,QAAb,MAAmB;CACjB,UAAwC,EAAE;;;;;CAM1C,YAAY,IAAY;AACtB,OAAK,QAAQ,KAAK;;;;;;;CAQpB,OAAc,MAAoB;AAChC,SAAO;;;;;;;CAQT,QAAyB;AAGvB,SAAO,IAAI,SAAS;GAClB,MAAM;GACN,GAJa,YAAY,MAAM,KAAK,QAAQ;GAK7C,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACRN,IAAa,KAAb,MAAgB;CACd,UAAqC,EAAE;;;;;CAMvC,YAAY,IAAY;AACtB,OAAK,QAAQ,KAAK;;;;;;;CAQpB,OAAc,MAAoB;AAChC,SAAO;;;;;;;CAQT,QAAyB;AAGvB,SAAO,IAAI,SAAS;GAClB,MAAM;GACN,GAJa,SAAS,MAAM,KAAK,QAAQ;GAK1C,CAAC;;;;;;;;;AC3DN,IAAa,QAAb,MAAmB;CACjB,UAAwC,EAAE;;;;;CAM1C,YAAY,IAAY;AACtB,OAAK,QAAQ,KAAK;;;;;;;CAQpB,OAAc,MAAoB;AAChC,SAAO;;;;;;;CAQT,QAAyB;AAGvB,SAAO,IAAI,SAAS;GAClB,MAAM;GACN,GAJa,YAAY,MAAM,KAAK,QAAQ;GAK7C,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACIN,IAAa,iBAAb,MAA4B;CAC1B,UAAiD,EAC/C,qBAAqB,EAAE,EACxB;;;;;CAMD,YAAY,IAAY;AACtB,OAAK,QAAQ,KAAK;;;;;;;CAQpB,OAAc,MAAoB;AAChC,SAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BT,mBAA0B,eAAoC;AAC5D,MAAI,CAAC,KAAK,QAAQ,oBAChB,MAAK,QAAQ,sBAAsB,EAAE;AAEvC,OAAK,QAAQ,oBAAoB,KAAK,cAAc;AACpD,SAAO;;;;;;;CAQT,QAAyB;AAGvB,SAAO,IAAI,SAAS;GAClB,MAAM;GACN,GAJa,qBAAqB,MAAM,KAAK,QAAQ;GAKtD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACYN,SAAgB,YAA2C,UAAwC;AACjG,QAAO;EACL;EACA,eAAe,SAAS;EACxB,SAAS,aAAgE;GACvE;GACA,eAAe,SAAS;GACxB;GACA,kBAAqC;IACnC,MAAM,SAAS;IACf,SAAS,SAAS,QAAQ,QAAQ;IAClC,WAAW,SAAS;IACpB,UAAU,SAAS;IACnB,gBAAgB,SAAS;IACzB;IACD;GACF;EACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwEH,IAAa,aAAb,MAAa,mBAA6D,MAAM;;CAE9E;;CAEA;;CAEA;;CAEA;;CAEA;;CAEA;CAEA,YAAY,OAAiF;EAE3F,IAAI;AAEJ,MAAI,cAAc,SAAS,aAAa,OAAO;GAG7C,MAAM,EAAE,UAAU,SAAS,gBADR;GAEnB,MAAM,UAAU,SAAS,QAAQ,YAAY;AAE7C,aAAU;IACR,MAAM,SAAS;IACf;IACA,WAAW,SAAS;IACpB,UAAU,SAAS;IACnB,gBAAgB,SAAS;IACzB,SAAS;IACV;QAGD,WAAU;EAGZ,MAAM,UAAU,QAAQ;AACxB,QAAM,SAAS,EAAE,OAAO,QAAQ,QAAQ,CAAC;AAEzC,OAAK,OAAO;AACZ,OAAK,OAAO,QAAQ;AACpB,OAAK,YAAY,QAAQ;AACzB,OAAK,WAAW,QAAQ;AACxB,OAAK,iBAAiB,QAAQ,kBAAkB;AAChD,OAAK,UAAU,QAAQ;AAGvB,OAAK,SAAS,KAAA;AACd,MAAI,QAAQ,UAAU,OAAO,QAAQ,WAAW;OAG5C,UAAU,QAAQ,UAClB,aAAa,QAAQ,UACrB,eAAe,QAAQ,UACvB,cAAc,QAAQ,OAEtB,MAAK,SAAS,IAAI,WAAW,QAAQ,OAA4B;;;;;;;;;;CAYvE,OAAO,eACL,YACsB;AACtB,SAAO,IAAI,WAAW,WAAW;;;;;;;;CASnC,OAAO,YAAY,SAAwC;AACzD,SAAO,IAAI,WAAWA,iBAAwB,MAAM,QAAQ,CAAC;;;;;;;;CAS/D,OAAe,iBAAiB,OAAoB;AAElD,MAAI,UAAU,KACZ,QAAO;AAIT,MAAI,UAAU,KAAA,EACZ,QAAO;AAIT,MAAI,OAAO,aAAa,KACtB,QAAO,MAAM,YAAY;EAI3B,MAAM,eAAe,OAAO;AAC5B,SAAO,iBAAiB,WACpB,WACA,aAAa,OAAO,EAAE,CAAC,aAAa,GAAG,aAAa,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDlE,aAAa,KAAK,OAAiC;AACjD,MAAI,iBAAiB,WACnB,QAAO;AAIT,MAAI,iBAAiB,UAAU;GAC7B,IAAI;AACJ,OAAI;AACF,gBAAY,MAAM,MAAM,MAAM;WACxB;AAEN,WAAO,IAAI,WAAW;KACpB,MAAM;KACN,SAAS,mCAAmC,MAAM;KAClD,WAAW;KACX,UAAU;KACV,gBAAgB,MAAM;KACtB,SAAS;MACP,KAAK,MAAM;MACX,QAAQ,MAAM;MACd,YAAY,MAAM;MACnB;KACF,CAAC;;GAIJ,MAAM,cAAcA,iBAAwB,UAAU,UAAU;AAChE,OAAI,YAAY,QACd,QAAO,IAAI,WAAW,YAAY,KAAK;AAIzC,UAAO,IAAI,WAAW;IACpB,MAAM;IACN,SAAS,WAAW,WAAW,mCAAmC,MAAM;IACxE,WAAW;IACX,UAAU;IACV,gBAAgB,MAAM;IACtB,SAAS;KACP,KAAK,MAAM;KACX,QAAQ,MAAM;KACd,YAAY,MAAM;KAClB,cAAc;KACf;IACF,CAAC;;AAIJ,MAAI,OAAO,UAAU,QAAQ,OAAO,MAAM,SAAS,SAAS,UAAU;GACpE,MAAM,cAAcA,iBAAwB,UAAU,MAAM,SAAS,KAAK;AAC1E,OAAI,YAAY,QACd,QAAO,IAAI,WAAW,YAAY,KAAK;;EAO3C,MAAM,aAAa,eAAe,MAAM;AAGxC,SAAO,IAAI,WAAW;GACpB,MAAM;GACN,SAJc,YAAY,WAAW,OAAO,MAAM;GAKlD,WAAW;GACX,UAAU;GACV,gBAAgB;GAChB,SAAS;IACP,eAAe;IACf,WAAW,WAAW,iBAAiB,MAAM;IAC9C;GACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BJ,YACE,YACyB;EACzB,MAAM,EAAE,UAAU,SAAS,gBAAgB;EAC3C,MAAM,UAAU,SAAS,QAAQ,YAAY;EAG7C,MAAM,gBAAmC;GACvC,MAAM,KAAK;GACX,SAAS,KAAK;GACd,WAAW,KAAK;GAChB,UAAU,KAAK;GACf,gBAAgB,KAAK;GACrB,SAAS,KAAK;GACd,QAAQ,KAAK,QAAQ,WAAW;GACjC;AAED,SAAO,IAAI,WAAW;GACpB,MAAM,SAAS;GACf;GACA,WAAW,SAAS;GACpB,UAAU,SAAS;GACnB,gBAAgB,SAAS;GACzB,SAAS;GACT,QAAQ;GACT,CAAC;;;;;;;;;;CAWJ,YAA+B;AAC7B,SAAO;GACL,MAAM,KAAK;GACX,SAAS,KAAK;GACd,WAAW,KAAK;GAChB,UAAU,KAAK;GACf,gBAAgB,KAAK;GACrB,SAAS,KAAK;GACd,QAAQ,KAAK,QAAQ,WAAW;GACjC;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BH,aAAgC;AAC9B,MAAI,KAAK,SACP,QAAO;GACL,MAAM;GACN,SAAS;GACT,WAAW;GACX,UAAU;GACV,gBAAgB;GACjB;AAGH,SAAO;GACL,MAAM,KAAK;GACX,SAAS,KAAK;GACd,WAAW,KAAK;GAChB,UAAU,KAAK;GACf,gBAAgB,KAAK;GACrB,SAAS,KAAK;GACd,QAAQ,KAAK,QAAQ,YAAY;GAClC;;;;;;;;;;;;;;;;;;;;;CAsBH,aAAa,MAAuB;AAClC,MAAI,KAAK,SAAS,KAAM,QAAO;AAC/B,SAAO,KAAK,QAAQ,aAAa,KAAK,IAAI;;;;;;;;;;;;;;;;;;;;;;;CAwB5C,gBAAgB,MAAsC;AACpD,MAAI,KAAK,SAAS,KAAM,QAAO;AAC/B,SAAO,KAAK,QAAQ,gBAAgB,KAAK;;;;;;;;;;;;;;;;;;;;;CAsB3C,WAAmB;EACjB,IAAI,SAAS,GAAG,KAAK,KAAK,IAAI,KAAK;EACnC,IAAI,UAAU,KAAK;EACnB,IAAI,SAAS;AAEb,SAAO,SAAS;AACd,aAAU;AACV,aAAU,KAAK,OAAO,MAAM,QAAQ,KAAK,IAAI,QAAQ;AACrD,aAAU,QAAQ;;AAGpB,SAAO;;;;;;;;;ACpoBX,MAAa,wBAAwB,YAAY;CAC/C,MAAM;CACN,SAASC,IAAE,OAAO;EAChB,YAAYA,IAAE,QAAQ;EACtB,oBAAoBA,IAAE,MAAMA,IAAE,QAAQ,CAAC;EACxC,CAAC;CACF,UAAU,EAAE,YAAY,yBACtB,aAAa,WAAW,mDAAmD,KAAK,UAAU,mBAAmB;CAC/G,WAAW;CACX,UAAU;CACV,gBAAgB;CACjB,CAAC;;;;;AAMF,MAAa,4BAA4B,YAAY;CACnD,MAAM;CACN,SAASA,IAAE,OAAO;EAChB,cAAcA,IAAE,QAAQ;EACxB,cAAcA,IAAE,QAAQ;EACxB,kBAAkBA,IAAE,QAAQ;EAC7B,CAAC;CACF,UAAU,EAAE,cAAc,cAAc,uBACtC,yCAAyC,aAAa,aAAa,aAAa,MAAM;CACxF,WAAW;CACX,UAAU;CACV,gBAAgB;CACjB,CAAC;;;;;AAMF,MAAa,8BAA8B,YAAY;CACrD,MAAM;CACN,SAASA,IAAE,OAAO;EAChB,YAAYA,IAAE,QAAQ;EACtB,UAAUA,IAAE,QAAQ;EACpB,QAAQA,IAAE,QAAQ;EACnB,CAAC;CACF,UAAU,EAAE,YAAY,UAAU,aAChC,0CAA0C,WAAW,cAAc,SAAS,YAAY;CAC1F,WAAW;CACX,UAAU;CACV,gBAAgB;CACjB,CAAC;;;AC3BF,MAAa,wBAAwB;CACnC,UAAU;EACR,OAAO;EACP,QAAQ;EACT;CACD,WAAW;EACT,OAAO;EACP,QAAQ;EACT;CACD,SAAS;EACP,OAAO;EACP,QAAQ;EACT;CACD,IAAI;EACF,OAAO;EACP,QAAQ;EACT;CACD,OAAO;EACL,OAAO;EACP,QAAQ;EACT;CACD,OAAO;EACL,OAAO;EACP,QAAQ;EACT;CACD,OAAO;EACL,OAAO;EACP,QAAQ;EACT;CACD,qBAAqB;EACnB,OAAO;EACP,QAAQ;EACT;CACD,mBAAmB;EACjB,OAAO;EACP,QAAQ;EACT;CACD,2BAA2B;EACzB,OAAO;EACP,QAAQ;EACT;CACF;AAGD,SAAgB,mBAAiE,QAGxB;CACvD,MAAM,EAAE,OAAO,aAAa;CAE5B,MAAM,gBAAgB,MAAM,UAAU,SAAS;AAC/C,KAAI,CAAC,cACH,OAAM,IAAI,WACR,sBAAsB,OAAO;EAC3B,YAAY,SAAS;EACrB,oBAAoB,OAAO,KAAK,MAAM,UAAU;EACjD,CAAC,CACH;CAIH,MAAM,UADgB,sBAAsB,SAAS,MAAM,OAC7B,UAAU,cAAc,QAAQ;AAC9D,KAAI,CAAC,QAAQ,QACX,OAAM,IAAI,WACR,0BAA0B,OAAO;EAC/B,cAAc,SAAS;EACvB,cAAc,SAAS;EACvB,kBAAkBC,IAAE,cAAc,QAAQ,MAAM;EACjD,CAAC,CACH;AAGH,QAAO,QAAQ"}
|