@alienplatform/sdk 3.3.21 → 3.3.23
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/dist/dist.js +99 -43
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/package.json +4 -4
package/dist/dist.js
CHANGED
|
@@ -6714,8 +6714,8 @@ const SandboxHeartbeatStatusSchema = object({
|
|
|
6714
6714
|
* @description AWS: the image a sandbox runs from, and the lifecycle state AWS reports for it.
|
|
6715
6715
|
*/
|
|
6716
6716
|
const AwsMicrovmSandboxHeartbeatDataSchema = object({
|
|
6717
|
-
"imageIdentifier": string().describe("Image the
|
|
6718
|
-
"imageState": string().describe("The image's own lifecycle state, which is where AWS surfaces base-image deprecation.\n\nNo
|
|
6717
|
+
"imageIdentifier": string().describe("Image the sandboxes belong to."),
|
|
6718
|
+
"imageState": string().describe("The image's own lifecycle state, which is where AWS surfaces base-image deprecation.\n\nNo sandbox count sits beside it: counting means `lambda:ListMicrovms`, which authorizes\nagainst no resource type and so cannot be granted without an account-wide reach the\npermission sets refuse. A field only an over-broad grant could fill is a field whose\nimplementer ships AccessDenied into a customer's account.").nullish(),
|
|
6719
6719
|
get "status"() {
|
|
6720
6720
|
return SandboxHeartbeatStatusSchema;
|
|
6721
6721
|
}
|
|
@@ -6988,9 +6988,9 @@ object({
|
|
|
6988
6988
|
"egressConnectorArns": optional(array(string()).describe("Egress network connectors. Deleting one while MicroVMs still reference it breaks their\nnetworking, so teardown needs them named rather than rediscovered.")),
|
|
6989
6989
|
"imageArn": string().describe("MicroVM image ARN. Absent until a runtime-provisioned image has been built.").nullish(),
|
|
6990
6990
|
"imageIdentifier": string().describe("MicroVM image identifier. Absent until a runtime-provisioned image has been built.").nullish(),
|
|
6991
|
-
"imageVersion": string().describe("Image version the
|
|
6991
|
+
"imageVersion": string().describe("Image version the sandboxes are scoped to. Re-imported on every image roll, and absent\nuntil a runtime-provisioned image has been built.").nullish(),
|
|
6992
6992
|
"previewPorts": optional(array(int().min(0)).describe("Ports a preview capability may be minted for; empty means preview is not offered."))
|
|
6993
|
-
}).describe("AWS Sandbox ImportData.\n\nCarries the sandbox's parent from the setup emitter to the runtime controller. The image\n**version** is not decoration: `RunMicrovm` has no `tags`, so image plus version is the only\
|
|
6993
|
+
}).describe("AWS Sandbox ImportData.\n\nCarries the sandbox's parent from the setup emitter to the runtime controller. The image\n**version** is not decoration: `RunMicrovm` has no `tags`, so image plus version is the only\nsandbox identity there is, and a controller holding a stale version would enumerate the wrong\nset and orphan every sandbox started on the previous one.\n\nTwo shapes arrive here, and which fields are present says which. A Frozen sandbox is built by\nstack creation and names its image; a Live one is built by the controller after the deployment\nregisters, so it names the build role and bundle instead, leaving the image fields empty.");
|
|
6994
6994
|
object({
|
|
6995
6995
|
"roleArn": string().describe("IAM role ARN."),
|
|
6996
6996
|
"roleName": string().describe("IAM role name."),
|
|
@@ -7589,7 +7589,7 @@ const AzureResourceProviderActivationHeartbeatDataSchema = object({
|
|
|
7589
7589
|
* Do not edit manually.
|
|
7590
7590
|
*/
|
|
7591
7591
|
/**
|
|
7592
|
-
* @description Azure: the sandbox group\'s ARM state. The data plane has no list operation, so a
|
|
7592
|
+
* @description Azure: the sandbox group\'s ARM state. The data plane has no list operation, so a sandbox count\nis not available here.
|
|
7593
7593
|
*/
|
|
7594
7594
|
const AzureSandboxGroupHeartbeatDataSchema = object({
|
|
7595
7595
|
"provisioningState": string().nullish(),
|
|
@@ -7597,7 +7597,7 @@ const AzureSandboxGroupHeartbeatDataSchema = object({
|
|
|
7597
7597
|
get "status"() {
|
|
7598
7598
|
return SandboxHeartbeatStatusSchema;
|
|
7599
7599
|
}
|
|
7600
|
-
}).describe("Azure: the sandbox group's ARM state. The data plane has no list operation, so a
|
|
7600
|
+
}).describe("Azure: the sandbox group's ARM state. The data plane has no list operation, so a sandbox count\nis not available here.");
|
|
7601
7601
|
object({
|
|
7602
7602
|
"region": string().describe("Region the group lives in; selects the ADC endpoint."),
|
|
7603
7603
|
"resourceGroup": string().describe("Resource group containing the sandbox group."),
|
|
@@ -8888,6 +8888,7 @@ object({
|
|
|
8888
8888
|
"deadline": datetime().describe("Optional deadline for command completion").nullish(),
|
|
8889
8889
|
"deploymentId": string().describe("Target deployment identifier"),
|
|
8890
8890
|
"idempotencyKey": string().describe("Optional idempotency key").nullish(),
|
|
8891
|
+
"operationResultContract": optional(any().describe("Opaque result-handling contract the registry must persist atomically\nwith command creation before the command becomes executable.")),
|
|
8891
8892
|
get "params"() {
|
|
8892
8893
|
return BodySpecSchema.describe("Body specification supporting inline and storage modes");
|
|
8893
8894
|
},
|
|
@@ -8908,6 +8909,7 @@ const StorageUploadSchema = object({
|
|
|
8908
8909
|
}).describe("Storage upload information");
|
|
8909
8910
|
object({
|
|
8910
8911
|
"commandId": string().describe("Unique command identifier"),
|
|
8912
|
+
"created": optional(boolean().describe("Whether this request created the returned command. False means an\nidempotent replay returned a command created by another request.")),
|
|
8911
8913
|
"inlineAllowedUpTo": int().min(0).describe("Maximum inline body size allowed"),
|
|
8912
8914
|
"next": string().describe("Next action for client: \"upload\" | \"poll\""),
|
|
8913
8915
|
get "state"() {
|
|
@@ -9387,15 +9389,15 @@ object({ "engineId": string().describe("The engine's resource name, or the bare
|
|
|
9387
9389
|
* Do not edit manually.
|
|
9388
9390
|
*/
|
|
9389
9391
|
/**
|
|
9390
|
-
* @description GCP: the Agent Platform template
|
|
9392
|
+
* @description GCP: the Agent Platform template sandboxes are cut from, and the engine it hangs under.\n\nNo sandbox count: that needs `aiplatform.sandboxEnvironments.list`, which only the management\npermission set holds. No template state either — emission is gated on reading it `ACTIVE`,\nwhich is what `status` already says.
|
|
9391
9393
|
*/
|
|
9392
9394
|
const GcpAgentPlatformSandboxHeartbeatDataSchema = object({
|
|
9393
9395
|
"engine": string().describe("Reasoning engine the template hangs under, without which the template id names nothing."),
|
|
9394
9396
|
get "status"() {
|
|
9395
9397
|
return SandboxHeartbeatStatusSchema;
|
|
9396
9398
|
},
|
|
9397
|
-
"templateId": string().describe("The template
|
|
9398
|
-
}).describe("GCP: the Agent Platform template
|
|
9399
|
+
"templateId": string().describe("The template sandboxes are currently cut from.")
|
|
9400
|
+
}).describe("GCP: the Agent Platform template sandboxes are cut from, and the engine it hangs under.\n\nNo sandbox count: that needs `aiplatform.sandboxEnvironments.list`, which only the management\npermission set holds. No template state either — emission is gated on reading it `ACTIVE`,\nwhich is what `status` already says.");
|
|
9399
9401
|
object({
|
|
9400
9402
|
"projectId": string().describe("Project ID hosting the registry."),
|
|
9401
9403
|
"pullServiceAccountEmail": string().describe("Service account email with pull-only access."),
|
|
@@ -10584,6 +10586,53 @@ object({
|
|
|
10584
10586
|
* Do not edit manually.
|
|
10585
10587
|
*/
|
|
10586
10588
|
/**
|
|
10589
|
+
* @description One bundle the Operator needs to download to reach `targetBundleHash`.\nThe manager mints a short-lived presigned GET URL per bundle — the\nOperator never holds real cloud storage credentials, mirroring the OCI\nregistry proxy\'s credential-injection pattern.
|
|
10590
|
+
*/
|
|
10591
|
+
const OperationsBundleDownloadSchema = object({
|
|
10592
|
+
"plugin": string().describe("Plugin name this bundle provides."),
|
|
10593
|
+
"pluginVersion": string().describe("Plugin version this bundle provides."),
|
|
10594
|
+
"url": string().describe("Presigned URL to GET the bundle ZIP from. Short-lived.")
|
|
10595
|
+
}).describe("One bundle the Operator needs to download to reach `targetBundleHash`.\nThe manager mints a short-lived presigned GET URL per bundle — the\nOperator never holds real cloud storage credentials, mirroring the OCI\nregistry proxy's credential-injection pattern.");
|
|
10596
|
+
/**
|
|
10597
|
+
* Generated by Kubb (https://kubb.dev/).
|
|
10598
|
+
* Do not edit manually.
|
|
10599
|
+
*/
|
|
10600
|
+
/**
|
|
10601
|
+
* @description A single operation the Operator currently has loaded. Opaque identifiers\nonly — no tier, description, or other plugin business logic crosses into\nthis public crate.
|
|
10602
|
+
*/
|
|
10603
|
+
const ReportedOperationSchema = object({
|
|
10604
|
+
"name": string().describe("Name of the operation within the plugin."),
|
|
10605
|
+
"plugin": string().describe("Name of the plugin that owns this operation."),
|
|
10606
|
+
"pluginVersion": string().describe("Version of the plugin that owns this operation.")
|
|
10607
|
+
}).describe("A single operation the Operator currently has loaded. Opaque identifiers\nonly — no tier, description, or other plugin business logic crosses into\nthis public crate.");
|
|
10608
|
+
object({
|
|
10609
|
+
"loadedBundleHash": string().describe("Hash of the enabled-plugin bundle set the Operator currently has\nloaded. Compared against the platform's target hash to detect drift.").nullish(),
|
|
10610
|
+
get "operations"() {
|
|
10611
|
+
return array(ReportedOperationSchema.describe("A single operation the Operator currently has loaded. Opaque identifiers\nonly — no tier, description, or other plugin business logic crosses into\nthis public crate.")).describe("Operations currently loaded and executable by the Operator.").optional();
|
|
10612
|
+
}
|
|
10613
|
+
}).describe("Report-only summary of the operations the Operator has loaded, used to\nconfirm a bundle sync actually took effect.");
|
|
10614
|
+
/**
|
|
10615
|
+
* Generated by Kubb (https://kubb.dev/).
|
|
10616
|
+
* Do not edit manually.
|
|
10617
|
+
*/
|
|
10618
|
+
/**
|
|
10619
|
+
* @description Origin of the exact Operator image running this process.
|
|
10620
|
+
*/
|
|
10621
|
+
const OperatorImageSourceSchema = _enum(["package", "configured"]).describe("Origin of the exact Operator image running this process.");
|
|
10622
|
+
object({
|
|
10623
|
+
"digest": string().describe("Exact lowercase OCI digest in `sha256:digest` form."),
|
|
10624
|
+
"image": string().describe("Exact OCI image reference in `repository@sha256:digest` form."),
|
|
10625
|
+
"packageId": string().describe("Package ID when `source` is `package`; otherwise `null`.").nullish(),
|
|
10626
|
+
"packageVersion": string().describe("Package version when `source` is `package`; otherwise `null`.").nullish(),
|
|
10627
|
+
get "source"() {
|
|
10628
|
+
return OperatorImageSourceSchema.describe("Origin of the exact Operator image running this process.");
|
|
10629
|
+
}
|
|
10630
|
+
}).describe("Exact immutable Operator image identity observed by the running process.");
|
|
10631
|
+
/**
|
|
10632
|
+
* Generated by Kubb (https://kubb.dev/).
|
|
10633
|
+
* Do not edit manually.
|
|
10634
|
+
*/
|
|
10635
|
+
/**
|
|
10587
10636
|
* @description Combined permissions configuration that contains both profiles and management
|
|
10588
10637
|
*/
|
|
10589
10638
|
const PermissionsConfigSchema = object({
|
|
@@ -10721,15 +10770,15 @@ const ResourceEntrySchema = object({
|
|
|
10721
10770
|
* Do not edit manually.
|
|
10722
10771
|
*/
|
|
10723
10772
|
/**
|
|
10724
|
-
* @description Content-free telemetry about a sandbox
|
|
10773
|
+
* @description Content-free telemetry about what a sandbox resource is running.\n\nNever anything from inside a sandbox. A controller reaches only the cloud\'s management APIs,\nand the whole point of the resource is that the control plane cannot see what runs in it.
|
|
10725
10774
|
*/
|
|
10726
10775
|
const SandboxHeartbeatDataSchema = union([
|
|
10727
10776
|
lazy(() => AwsMicrovmSandboxHeartbeatDataSchema).and(object({ "backend": _enum(["awsMicrovm"]) })).describe("AWS: the image a sandbox runs from, and the lifecycle state AWS reports for it."),
|
|
10728
|
-
lazy(() => AzureSandboxGroupHeartbeatDataSchema).and(object({ "backend": _enum(["azureSandboxGroup"]) })).describe("Azure: the sandbox group's ARM state. The data plane has no list operation, so a
|
|
10729
|
-
lazy(() => GcpAgentPlatformSandboxHeartbeatDataSchema).and(object({ "backend": _enum(["gcpAgentPlatform"]) })).describe("GCP: the Agent Platform template
|
|
10777
|
+
lazy(() => AzureSandboxGroupHeartbeatDataSchema).and(object({ "backend": _enum(["azureSandboxGroup"]) })).describe("Azure: the sandbox group's ARM state. The data plane has no list operation, so a sandbox count\nis not available here."),
|
|
10778
|
+
lazy(() => GcpAgentPlatformSandboxHeartbeatDataSchema).and(object({ "backend": _enum(["gcpAgentPlatform"]) })).describe("GCP: the Agent Platform template sandboxes are cut from, and the engine it hangs under.\n\nNo sandbox count: that needs `aiplatform.sandboxEnvironments.list`, which only the management\npermission set holds. No template state either — emission is gated on reading it `ACTIVE`,\nwhich is what `status` already says."),
|
|
10730
10779
|
lazy(() => KubernetesSandboxHeartbeatDataSchema).and(object({ "backend": _enum(["kubernetesPods"]) })).describe("Kubernetes: pods carrying the sandbox label, in the deployment's namespace."),
|
|
10731
10780
|
lazy(() => LocalSandboxHeartbeatDataSchema).and(object({ "backend": _enum(["local"]) })).describe("Local: containers Docker still holds for this sandbox.")
|
|
10732
|
-
]).describe("Content-free telemetry about a sandbox
|
|
10781
|
+
]).describe("Content-free telemetry about what a sandbox resource is running.\n\nNever anything from inside a sandbox. A controller reaches only the cloud's management APIs,\nand the whole point of the resource is that the control plane cannot see what runs in it.");
|
|
10733
10782
|
/**
|
|
10734
10783
|
* Generated by Kubb (https://kubb.dev/).
|
|
10735
10784
|
* Do not edit manually.
|
|
@@ -10916,7 +10965,7 @@ const ResourceHeartbeatDataSchema = union([
|
|
|
10916
10965
|
}),
|
|
10917
10966
|
object({
|
|
10918
10967
|
get "data"() {
|
|
10919
|
-
return SandboxHeartbeatDataSchema.describe("Content-free telemetry about a sandbox
|
|
10968
|
+
return SandboxHeartbeatDataSchema.describe("Content-free telemetry about what a sandbox resource is running.\n\nNever anything from inside a sandbox. A controller reaches only the cloud's management APIs,\nand the whole point of the resource is that the control plane cannot see what runs in it.");
|
|
10920
10969
|
},
|
|
10921
10970
|
"resourceType": _enum(["sandbox"])
|
|
10922
10971
|
})
|
|
@@ -10945,29 +10994,29 @@ object({
|
|
|
10945
10994
|
"domainEgressRules": boolean().describe("Egress can be restricted to a hostname allowlist"),
|
|
10946
10995
|
"egressDeny": boolean().describe("Whether a declared `deny` is actually enforced, rather than accepted and dropped"),
|
|
10947
10996
|
"enforcedLimits": boolean().describe("The platform enforces the declared cpu, memory and disk ceilings"),
|
|
10948
|
-
"files": boolean().describe("Files can be moved in and out of a
|
|
10949
|
-
"jobs": boolean().describe("A command can be started, polled and cancelled across separate calls, so it outlives the\none that started it. False where nothing inside the
|
|
10997
|
+
"files": boolean().describe("Files can be moved in and out of a sandbox"),
|
|
10998
|
+
"jobs": boolean().describe("A command can be started, polled and cancelled across separate calls, so it outlives the\none that started it. False where nothing inside the sandbox owns the process in between."),
|
|
10999
|
+
"pauseResume": boolean().describe("Sandbox state can be paused and resumed"),
|
|
10950
11000
|
"preview": boolean().describe("An authenticated, port-scoped capability to reach a service inside the sandbox"),
|
|
10951
|
-
"processLimit": boolean().describe("The platform can cap how many processes a
|
|
10952
|
-
"reconnect": boolean().describe("A later call can reach a
|
|
10953
|
-
"
|
|
10954
|
-
"snapshot": boolean().describe("A
|
|
11001
|
+
"processLimit": boolean().describe("The platform can cap how many processes a sandbox runs"),
|
|
11002
|
+
"reconnect": boolean().describe("A later call can reach a sandbox created by an earlier one"),
|
|
11003
|
+
"sandboxLifetime": boolean().describe("The platform terminates a sandbox at a declared wall-clock deadline"),
|
|
11004
|
+
"snapshot": boolean().describe("A sandbox's full state can be captured and used to create another"),
|
|
10955
11005
|
"supervisorIsolation": boolean().describe("The process supervising a command is a different identity from the command.\n\nFalse where a command runs as the agent's own user: it can then read the supervisor's\nenvironment and signal it. Separate from `supervisorPidNamespace`, which is about\nvisibility rather than identity — a backend can have one without the other."),
|
|
10956
|
-
"supervisorPidNamespace": boolean().describe("A command runs in its own PID namespace and cannot see or signal the agent's processes.\n\nOnly where an agent runs as root. Creating the namespace needs `CAP_SYS_ADMIN`, and the\nKubernetes sandbox pod drops every capability — which is also what denies `ptrace` by\nconstruction, so granting it there would remove a lock to add one.")
|
|
10957
|
-
"suspendResume": boolean().describe("Session state can be suspended and resumed")
|
|
11006
|
+
"supervisorPidNamespace": boolean().describe("A command runs in its own PID namespace and cannot see or signal the agent's processes.\n\nOnly where an agent runs as root. Creating the namespace needs `CAP_SYS_ADMIN`, and the\nKubernetes sandbox pod drops every capability — which is also what denies `ptrace` by\nconstruction, so granting it there would remove a lock to add one.")
|
|
10958
11007
|
}).describe("What a platform's sandbox backend can actually do.\n\nPublished so portable code can branch before calling rather than discovering a gap through\nan error. Every field here corresponds to a capability that at least one platform lacks;\ncreate, exec and terminate are the guaranteed floor and are therefore not listed.");
|
|
10959
11008
|
_enum([
|
|
10960
11009
|
"files",
|
|
10961
11010
|
"reconnect",
|
|
10962
11011
|
"jobs",
|
|
10963
11012
|
"preview",
|
|
10964
|
-
"
|
|
11013
|
+
"pauseResume",
|
|
10965
11014
|
"snapshot",
|
|
10966
11015
|
"domainEgressRules",
|
|
10967
11016
|
"egressDeny",
|
|
10968
11017
|
"enforcedLimits",
|
|
10969
11018
|
"processLimit",
|
|
10970
|
-
"
|
|
11019
|
+
"sandboxLifetime",
|
|
10971
11020
|
"supervisorPidNamespace",
|
|
10972
11021
|
"supervisorIsolation"
|
|
10973
11022
|
]).describe("Names a single sandbox capability, so an unsupported call can report which one it needed.");
|
|
@@ -11008,30 +11057,30 @@ const SandboxEgressSchema = union([
|
|
|
11008
11057
|
* Do not edit manually.
|
|
11009
11058
|
*/
|
|
11010
11059
|
/**
|
|
11011
|
-
* @description
|
|
11060
|
+
* @description How long a sandbox may live and when it is paused.\n\nDeclaration-time ceilings, not per-request values: every sandbox created through this\ndeclaration\'s binding is held to them, whatever a caller asks for at runtime.
|
|
11061
|
+
*/
|
|
11062
|
+
const SandboxLifecyclePolicySchema = object({
|
|
11063
|
+
"idlePauseSeconds": int().min(0).describe("Idle period after which the sandbox is paused, where the platform supports it").nullish(),
|
|
11064
|
+
"maxLifetimeSeconds": int().min(0).describe("Wall-clock ceiling on a single sandbox, after which the platform terminates it.\n\nOptional because not every backend has the primitive: Kubernetes has\n`activeDeadlineSeconds` and AWS `maximumDurationInSeconds`, while neither Azure nor Local\nexpose one, so declaring a ceiling there is refused at plan time rather than accepted and\nnever applied. AWS caps it at 8 hours.").nullish()
|
|
11065
|
+
}).describe("How long a sandbox may live and when it is paused.\n\nDeclaration-time ceilings, not per-request values: every sandbox created through this\ndeclaration's binding is held to them, whatever a caller asks for at runtime.");
|
|
11066
|
+
/**
|
|
11067
|
+
* Generated by Kubb (https://kubb.dev/).
|
|
11068
|
+
* Do not edit manually.
|
|
11069
|
+
*/
|
|
11070
|
+
/**
|
|
11071
|
+
* @description Hard ceilings enforced on a sandbox.\n\nThese are limits, not scheduling requests. Untrusted code does not respect a hint, so every\nfield is enforced by the platform and a platform that cannot enforce one is rejected at plan\ntime rather than silently ignoring it.
|
|
11012
11072
|
*/
|
|
11013
11073
|
const SandboxLimitsSchema = object({
|
|
11014
11074
|
"cpu": string().describe("CPU ceiling in cores or millicores (e.g. `\"1\"`, `\"500m\"`)"),
|
|
11015
11075
|
"disk": string().describe("Disk ceiling (e.g. `\"20Gi\"`)"),
|
|
11016
11076
|
"maxProcesses": int().min(0).describe("Maximum number of processes, which bounds fork bombs.\n\nOptional because only a container runtime has the primitive: Kubernetes sets a pid ceiling\nper node, not per pod, and neither AWS MicroVMs nor Azure sandboxes expose one. Declaring\nit on a platform that cannot apply it is refused at plan time.").nullish(),
|
|
11017
11077
|
"memory": string().describe("Memory ceiling (e.g. `\"2Gi\"`, `\"512Mi\"`)")
|
|
11018
|
-
}).describe("Hard ceilings enforced on a sandbox
|
|
11078
|
+
}).describe("Hard ceilings enforced on a sandbox.\n\nThese are limits, not scheduling requests. Untrusted code does not respect a hint, so every\nfield is enforced by the platform and a platform that cannot enforce one is rejected at plan\ntime rather than silently ignoring it.");
|
|
11019
11079
|
object({
|
|
11020
|
-
"endpoint": string().describe("Data-plane endpoint
|
|
11080
|
+
"endpoint": string().describe("Data-plane endpoint sandboxes are created through, where the platform has one").nullish(),
|
|
11021
11081
|
"identifier": string().describe("Platform-specific identifier for the parent (image ARN, sandbox group id, namespace)").nullish(),
|
|
11022
|
-
"parentName": string().describe("Name of the durable parent that
|
|
11082
|
+
"parentName": string().describe("Name of the durable parent that sandboxes are created inside")
|
|
11023
11083
|
}).describe("Outputs generated by a successfully provisioned Sandbox parent.");
|
|
11024
|
-
/**
|
|
11025
|
-
* Generated by Kubb (https://kubb.dev/).
|
|
11026
|
-
* Do not edit manually.
|
|
11027
|
-
*/
|
|
11028
|
-
/**
|
|
11029
|
-
* @description How long a session may live and when it is suspended.
|
|
11030
|
-
*/
|
|
11031
|
-
const SandboxSessionPolicySchema = object({
|
|
11032
|
-
"idleSuspendSeconds": int().min(0).describe("Idle period after which the session is suspended, where the platform supports it").nullish(),
|
|
11033
|
-
"maxLifetimeSeconds": int().min(0).describe("Wall-clock ceiling on a single session, after which the platform terminates it.\n\nOptional because not every backend has the primitive: Kubernetes has\n`activeDeadlineSeconds` and AWS `maximumDurationInSeconds`, while neither Azure nor Local\nexpose one, so declaring a ceiling there is refused at plan time rather than accepted and\nnever applied. AWS caps it at 8 hours.").nullish()
|
|
11034
|
-
}).describe("How long a session may live and when it is suspended.");
|
|
11035
11084
|
object({
|
|
11036
11085
|
get "code"() {
|
|
11037
11086
|
return SandboxCodeSchema.describe("Specifies where the sandbox's root filesystem comes from.");
|
|
@@ -11040,14 +11089,15 @@ object({
|
|
|
11040
11089
|
return SandboxEgressSchema.describe("Outbound network policy for a sandbox.");
|
|
11041
11090
|
},
|
|
11042
11091
|
"id": string().describe("Identifier for the sandbox. Must contain only alphanumeric characters, hyphens, and\nunderscores ([A-Za-z0-9-_]). Maximum 64 characters."),
|
|
11092
|
+
get "lifecycle"() {
|
|
11093
|
+
return SandboxLifecyclePolicySchema.describe("How long a sandbox may live and when it is paused.\n\nDeclaration-time ceilings, not per-request values: every sandbox created through this\ndeclaration's binding is held to them, whatever a caller asks for at runtime.");
|
|
11094
|
+
},
|
|
11043
11095
|
get "limits"() {
|
|
11044
11096
|
return union([SandboxLimitsSchema, _null()]).optional();
|
|
11045
11097
|
},
|
|
11046
11098
|
"previewPorts": optional(array(int().min(0)).describe("Ports eligible for a preview capability. An application reaches its sandbox through the\nprovider, so it cannot widen its own ingress at runtime; a holder of a remote binding's\ncredentials is bounded by no port condition, which is why a remote sandbox declares none.")),
|
|
11047
|
-
|
|
11048
|
-
|
|
11049
|
-
}
|
|
11050
|
-
}).describe("An isolated environment for running untrusted code, created per session at runtime.");
|
|
11099
|
+
"privateBaseImage": string().describe("Private ECR base image an AWS build pulls; `code.image` names only the S3 bundle, so this is\nwhat the cross-account grant opens. Live only: the grant needs the customer account,\nwhich registration reports. Absent means the base image is pulled anonymously.").nullish()
|
|
11100
|
+
}).describe("An isolated environment for running untrusted code, created at runtime.");
|
|
11051
11101
|
object({ "timestamp": datetime().describe("The timestamp when the event was scheduled or triggered.") }).describe("Represents a scheduled event trigger, typically from a cron job or timer.\n\nThis struct aims to provide a common representation for scheduled events\nacross different providers like AWS CloudWatch Events, Google Cloud Scheduler,\nand Azure Timer Triggers.");
|
|
11052
11102
|
object({
|
|
11053
11103
|
"identity": string().describe("The platform-specific identifier of the service account\n- AWS: Role ARN\n- GCP: Service Account email\n- Azure: Managed Identity client ID"),
|
|
@@ -11352,6 +11402,12 @@ object({
|
|
|
11352
11402
|
"versioning": optional(boolean().describe("Enables object versioning.\nDefault: `false`"))
|
|
11353
11403
|
}).describe("Represents an object storage bucket.");
|
|
11354
11404
|
lazy(() => CommandResponseSchema).describe("Command response from deployment").describe("Request to submit a command response (from deployment)");
|
|
11405
|
+
object({
|
|
11406
|
+
get "bundles"() {
|
|
11407
|
+
return array(OperationsBundleDownloadSchema.describe("One bundle the Operator needs to download to reach `targetBundleHash`.\nThe manager mints a short-lived presigned GET URL per bundle — the\nOperator never holds real cloud storage credentials, mirroring the OCI\nregistry proxy's credential-injection pattern.")).describe("Presigned downloads for every bundle in the target set. The Operator\nfetches only the ones it doesn't already have loaded at the right\nversion; already-loaded bundles are harmless to re-download.").optional();
|
|
11408
|
+
},
|
|
11409
|
+
"hash": string().describe("Hash identifying this exact enabled-plugin set. Compare against\n`OperationsReport.loadedBundleHash` to detect drift.")
|
|
11410
|
+
}).describe("Target operations-bundle set for the Operator to converge its loaded\nplugin registry toward, independent of any release/config target — a\nplugin can be enabled with no release change, so this is not nested under\n`TargetDeployment`.");
|
|
11355
11411
|
object({ "size": int().min(0).describe("Size of uploaded data") }).describe("Request to mark upload as complete");
|
|
11356
11412
|
object({
|
|
11357
11413
|
"commandId": string().describe("Command identifier"),
|
package/dist/index.d.ts
CHANGED
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
*/
|
|
29
29
|
export type { CronEvent, QueueMessage, QueueMessageEvent, ScheduledEvent, StandardSchema, StandardSchemaOutput, StorageEvent, StorageEventType, WorkerCommandContext, } from "./worker-runtime/registry.js";
|
|
30
30
|
export { command, onCronEvent, onQueueMessage, onStorageEvent, waitUntil, } from "./worker-runtime/registry.js";
|
|
31
|
-
export type { CommandFrame, Container, JobError, JobExit, JobPoll, Kv, Postgres, PostgresConnection, PostgresSslMode, Queue, RunCommandOptions, Sandbox,
|
|
31
|
+
export type { CommandFrame, Container, CreateSandboxOptions, JobError, JobExit, JobPoll, Kv, Postgres, PostgresConnection, PostgresSslMode, Queue, ResolvedSandbox, RunCommandOptions, Sandbox, SandboxInstance, Storage, Vault, } from "@alienplatform/bindings";
|
|
32
32
|
export { container, kv, postgres, queue, sandbox, storage, vault } from "@alienplatform/bindings";
|
|
33
33
|
export type { AiBinding, AiConnection, AiModel, AmbientAiBinding, ChatCompletionCreateParams, ExternalAiBinding, ResponseCreateParams, } from "@alienplatform/ai-gateway";
|
|
34
34
|
export { Ai, ai, getAiConnection, isExternalAiBinding, parseAiBinding, startAiGateway, } from "@alienplatform/ai-gateway";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAOH,YAAY,EACV,SAAS,EACT,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EACL,OAAO,EACP,WAAW,EACX,cAAc,EACd,cAAc,EACd,SAAS,GACV,MAAM,8BAA8B,CAAA;AAMrC,YAAY,EACV,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,OAAO,EACP,OAAO,EACP,EAAE,EACF,QAAQ,EACR,kBAAkB,EAClB,eAAe,EACf,KAAK,EACL,iBAAiB,EACjB,OAAO,EACP,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAOH,YAAY,EACV,SAAS,EACT,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EACL,OAAO,EACP,WAAW,EACX,cAAc,EACd,cAAc,EACd,SAAS,GACV,MAAM,8BAA8B,CAAA;AAMrC,YAAY,EACV,YAAY,EACZ,SAAS,EACT,oBAAoB,EACpB,QAAQ,EACR,OAAO,EACP,OAAO,EACP,EAAE,EACF,QAAQ,EACR,kBAAkB,EAClB,eAAe,EACf,KAAK,EACL,eAAe,EACf,iBAAiB,EACjB,OAAO,EACP,eAAe,EACf,OAAO,EACP,KAAK,GACN,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAMjG,YAAY,EACV,SAAS,EACT,YAAY,EACZ,OAAO,EACP,gBAAgB,EAChB,0BAA0B,EAC1B,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACL,EAAE,EACF,EAAE,EACF,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,cAAc,GACf,MAAM,2BAA2B,CAAA;AAMlC,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC7E,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AACnE,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alienplatform/sdk",
|
|
3
|
-
"version": "3.3.
|
|
3
|
+
"version": "3.3.23",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist"
|
|
@@ -57,9 +57,9 @@
|
|
|
57
57
|
"nice-grpc": "^2.1.11",
|
|
58
58
|
"nice-grpc-common": "^2.0.2",
|
|
59
59
|
"zod": "4.5.2",
|
|
60
|
-
"@alienplatform/ai-gateway": "^3.3.
|
|
61
|
-
"@alienplatform/bindings": "^3.3.
|
|
62
|
-
"@alienplatform/core": "^3.3.
|
|
60
|
+
"@alienplatform/ai-gateway": "^3.3.23",
|
|
61
|
+
"@alienplatform/bindings": "^3.3.23",
|
|
62
|
+
"@alienplatform/core": "^3.3.23"
|
|
63
63
|
},
|
|
64
64
|
"scripts": {
|
|
65
65
|
"build": "tsdown && tsc --emitDeclarationOnly",
|