@shardflux/sdk 0.12.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +110 -0
- package/README.md +93 -3
- package/dist/cell.d.ts +44 -0
- package/dist/cell.js +73 -12
- package/dist/client.d.ts +30 -6
- package/dist/client.js +33 -5
- package/dist/errors.d.ts +21 -2
- package/dist/generated/app-api.d.ts +328 -47
- package/dist/generated/cell-api.d.ts +167 -9
- package/dist/http.d.ts +6 -1
- package/dist/http.js +12 -3
- package/dist/index.d.ts +4 -4
- package/dist/lifecycle.d.ts +7 -1
- package/dist/lifecycle.js +2 -2
- package/dist/templates.d.ts +25 -3
- package/dist/tools.d.ts +7 -0
- package/dist/tools.js +275 -7
- package/dist/workspace.d.ts +19 -4
- package/dist/workspace.js +21 -0
- package/package.json +1 -1
|
@@ -1366,7 +1366,7 @@ export interface paths {
|
|
|
1366
1366
|
put?: never;
|
|
1367
1367
|
/**
|
|
1368
1368
|
* Open a workspace by key (create on first use, reconnect or resume afterwards)
|
|
1369
|
-
* @description New keys resolve `template` to its latest published version; reopening never changes or resets the workspace (the response reports the template version actually used). 200 when the workspace is already running and ready (with `cell_endpoint` and a tool token); otherwise 202 with the operation to poll. A running workspace whose startup failed (`startup.state` failed, contracts §24.4) is not ready: the open is 202 with an `open` operation (input.startup_retry) that runs the failed step again. Concurrent opens of one key share one workspace and one operation. `secrets` (optional) binds secret names injected into every exec/PTY start: it sets the binding of a new key and replaces it on an existing key (omitted = unchanged); an unknown or unusable name is 422 details.reason secret_not_available with details.names (nothing is created or changed). The template version’s secret inputs (contracts §24.3) join the binding on create and whenever `secrets` is given; a required one this workspace may not use is 422 input_required (details.kind secret); a bound name equal to a template env key or text input is 422 env_collision (details.name). `inputs` (optional): the version’s text inputs {NAME: string}; stored on create (else the declared default) and replaced on an existing key (omitted = unchanged); 422 input_unknown, input_invalid or input_required (details.names). `lifetime` (contracts §19.11): omitted = the version’s default (else persistent); `session` workspaces are discarded when the session ends (close(), idle timeout), after which the key opens a NEW workspace; reopening a live key with another lifetime is 409 lifetime_mismatch. A new workspace is `layered` when its version supports it and layered opens are enabled (`disk_layout`). Errors: 404 template/key outside scope, 402 `entitlement_required`, 403 `quota_exceeded` (details.limit), 409 operation in progress, key whose deletion is still in progress (workspace_deleted) or lifetime_mismatch, 422 reserved_key_prefix (keys starting with sf:). Supports Idempotency-Key. Held open (contracts §22.3): with `Prefer: wait=<seconds>` (at most 20) an open whose outcome is an operation is held until the operation is terminal or the wait elapses; success answers 200 with the running workspace, the succeeded operation and a tool token (`Preference-Applied: wait=<seconds>`), anything else 202 with the fresh operation. Without `Preference-Applied` the server did not wait: poll the operation. `mode` (contracts §29): omitted = processful for a new key and the stored mode for an existing one; `file_first` creates a workspace whose state is a versioned file tree with no VM between executions: it is ready at once (200 with a tool token, `observed_state` running, `tree_revision` 0, no operation), needs a layered template version (409 layout_unsupported otherwise) and is persistent (`lifetime: session` or `idle_policy` with it are 422 not_supported_for_mode); each open of a file-first key re-resolves the size of its execution VMs from `caps`, the template and the plan. 422 mode_not_available while the deployment does not offer file-first workspaces; reopening a key with another mode is 409 mode_mismatch.
|
|
1369
|
+
* @description New keys resolve `template` to its latest published version; reopening never changes or resets the workspace (the response reports the template version actually used). 200 when the workspace is already running and ready (with `cell_endpoint` and a tool token); otherwise 202 with the operation to poll. A running workspace whose startup failed (`startup.state` failed, contracts §24.4) is not ready: the open is 202 with an `open` operation (input.startup_retry) that runs the failed step again. Concurrent opens of one key share one workspace and one operation. `secrets` (optional) binds secret names injected into every exec/PTY start: it sets the binding of a new key and replaces it on an existing key (omitted = unchanged); an unknown or unusable name is 422 details.reason secret_not_available with details.names (nothing is created or changed). The template version’s secret inputs (contracts §24.3) join the binding on create and whenever `secrets` is given; a required one this workspace may not use is 422 input_required (details.kind secret); a bound name equal to a template env key or text input is 422 env_collision (details.name). `inputs` (optional): the version’s text inputs {NAME: string}; stored on create (else the declared default) and replaced on an existing key (omitted = unchanged); 422 input_unknown, input_invalid or input_required (details.names). `lifetime` (contracts §19.11): omitted = the version’s default (else persistent); `session` workspaces are discarded when the session ends (close(), idle timeout), after which the key opens a NEW workspace; reopening a live key with another lifetime is 409 lifetime_mismatch. A new workspace is `layered` when its version supports it and layered opens are enabled (`disk_layout`). Errors: 404 template/key outside scope, 402 `entitlement_required`, 403 `quota_exceeded` (details.limit), 409 operation in progress, key whose deletion is still in progress (workspace_deleted) or lifetime_mismatch, 422 reserved_key_prefix (keys starting with sf:). Supports Idempotency-Key. Held open (contracts §22.3): with `Prefer: wait=<seconds>` (at most 20) an open whose outcome is an operation is held until the operation is terminal or the wait elapses; success answers 200 with the running workspace, the succeeded operation and a tool token (`Preference-Applied: wait=<seconds>`), anything else 202 with the fresh operation. Without `Preference-Applied` the server did not wait: poll the operation. `mode` (contracts §29): omitted = processful for a new key and the stored mode for an existing one; `file_first` creates a workspace whose state is a versioned file tree with no VM between executions: it is ready at once (200 with a tool token, `observed_state` running, `tree_revision` 0, no operation), needs a layered template version (409 layout_unsupported otherwise) and is persistent (`lifetime: session` or `idle_policy` with it are 422 not_supported_for_mode); each open of a file-first key re-resolves the size of its execution VMs from `caps`, the template and the plan. 422 mode_not_available while the deployment does not offer file-first workspaces; reopening a key with another mode is 409 mode_mismatch. Memory allocation (contracts §32): caps.allocation_mode elastic with caps.memory_mib_held; 422 validation_failed details.field caps.allocation_mode reason allocation_mode_not_available (the organization lacks elastic memory; nothing is created or changed), reason not_supported_for_mode (file_first); details.field caps.memory_mib_held reason requires_elastic (held without elastic) or exceeds_memory_mib (held above caps.memory_mib).
|
|
1370
1370
|
*/
|
|
1371
1371
|
post: operations["postV1WorkspacesOpen"];
|
|
1372
1372
|
delete?: never;
|
|
@@ -1588,7 +1588,7 @@ export interface paths {
|
|
|
1588
1588
|
put?: never;
|
|
1589
1589
|
/**
|
|
1590
1590
|
* Fork a workspace into a new key (independent copy of its committed state)
|
|
1591
|
-
* @description Creates the target workspace (same template version and disk layout) and a `fork` operation on it, admitted like a start. Caps default to the source’s. `lifetime` is the fork’s own (default persistent): forking a session keeps its state. A file-first source (contracts §29) is 409 not_supported_for_mode. Supports Idempotency-Key.
|
|
1591
|
+
* @description Creates the target workspace (same template version and disk layout) and a `fork` operation on it, admitted like a start. Caps default to the source’s. `lifetime` is the fork’s own (default persistent): forking a session keeps its state. A file-first source (contracts §29) is 409 not_supported_for_mode. Supports Idempotency-Key. Caps (and the memory allocation mode) default to the source’s. Held fork (contracts §22.7): with Prefer: wait=<seconds> (at most 20), holds through the terminal operation. Success returns 200 with the running target, succeeded operation and a final-epoch tool token for agent_label/tools. Otherwise returns 202 with the fresh operation. Preference-Applied confirms the wait; without it, poll as usual. A token that could not be issued is null; fetch it from the target tool-token route. Memory allocation (contracts §32): caps.allocation_mode elastic with caps.memory_mib_held; 422 validation_failed details.field caps.allocation_mode reason allocation_mode_not_available (the organization lacks elastic memory; nothing is created or changed), reason not_supported_for_mode (file_first); details.field caps.memory_mib_held reason requires_elastic (held without elastic) or exceeds_memory_mib (held above caps.memory_mib).
|
|
1592
1592
|
*/
|
|
1593
1593
|
post: operations["postV1WorkspacesWorkspaceIdFork"];
|
|
1594
1594
|
delete?: never;
|
|
@@ -1648,7 +1648,7 @@ export interface paths {
|
|
|
1648
1648
|
put?: never;
|
|
1649
1649
|
/**
|
|
1650
1650
|
* Save a layered workspace as the next version of an organization template
|
|
1651
|
-
* @description Everything in the workspace becomes template content (its whole filesystem, minus the sf-scrub.v1 list, the contents of /proc, /sys, /dev, /run and /tmp, and shared-volume contents), stored as one new org layer on the workspace’s template chain. A running workspace is captured briefly (`operation`, layer_snapshot); a suspended one uses its current checkpoint; `checkpoint_id` saves a committed checkpoint instead. 202 SaveAsTemplateResponse: poll the build. Owners/admins and API keys with a tool permission (403 otherwise). Errors: 409 legacy_disk_layout, workspace_not_running, operation_in_progress, not_supported_for_mode (file-first, contracts §29), template_archived, 422 platform_template_slug, invalid_defaults,
|
|
1651
|
+
* @description Everything in the workspace becomes template content (its whole filesystem, minus the sf-scrub.v1 list, the contents of /proc, /sys, /dev, /run and /tmp, and shared-volume contents), stored as one new org layer on the workspace’s template chain. A running workspace is captured briefly (`operation`, layer_snapshot); a suspended one uses its current checkpoint; `checkpoint_id` saves a committed checkpoint instead. 202 SaveAsTemplateResponse: poll the build. Owners/admins and API keys with a tool permission (403 otherwise). Immutable paths (contracts §34.1): the new version declares the target template’s open version’s immutable paths (else the workspace’s version’s); their content comes from that template’s newest published version, not from the workspace (a draft publish keeps the draft’s own content). Errors: 409 legacy_disk_layout, workspace_not_running, operation_in_progress, not_supported_for_mode (file-first, contracts §29), template_archived, 422 platform_template_slug, invalid_defaults, too_many_acknowledged_findings, invalid_path, immutable_paths_unsupported_base (the workspace’s base has no guest agent with immutable_paths.v1; details.base), 403 quota_exceeded (concurrent_template_builds). Supports Idempotency-Key.
|
|
1652
1652
|
*/
|
|
1653
1653
|
post: operations["postV1WorkspacesWorkspaceIdSaveAsTemplate"];
|
|
1654
1654
|
delete?: never;
|
|
@@ -1759,7 +1759,7 @@ export interface paths {
|
|
|
1759
1759
|
put?: never;
|
|
1760
1760
|
/**
|
|
1761
1761
|
* Open a workspace by key (create on first use, reconnect or resume afterwards)
|
|
1762
|
-
* @description New keys resolve `template` to its latest published version; reopening never changes or resets the workspace (the response reports the template version actually used). 200 when the workspace is already running and ready (with `cell_endpoint` and a tool token); otherwise 202 with the operation to poll. A running workspace whose startup failed (`startup.state` failed, contracts §24.4) is not ready: the open is 202 with an `open` operation (input.startup_retry) that runs the failed step again. Concurrent opens of one key share one workspace and one operation. `secrets` (optional) binds secret names injected into every exec/PTY start: it sets the binding of a new key and replaces it on an existing key (omitted = unchanged); an unknown or unusable name is 422 details.reason secret_not_available with details.names (nothing is created or changed). The template version’s secret inputs (contracts §24.3) join the binding on create and whenever `secrets` is given; a required one this workspace may not use is 422 input_required (details.kind secret); a bound name equal to a template env key or text input is 422 env_collision (details.name). `inputs` (optional): the version’s text inputs {NAME: string}; stored on create (else the declared default) and replaced on an existing key (omitted = unchanged); 422 input_unknown, input_invalid or input_required (details.names). `lifetime` (contracts §19.11): omitted = the version’s default (else persistent); `session` workspaces are discarded when the session ends (close(), idle timeout), after which the key opens a NEW workspace; reopening a live key with another lifetime is 409 lifetime_mismatch. A new workspace is `layered` when its version supports it and layered opens are enabled (`disk_layout`). Errors: 404 template/key outside scope, 402 `entitlement_required`, 403 `quota_exceeded` (details.limit), 409 operation in progress, key whose deletion is still in progress (workspace_deleted) or lifetime_mismatch, 422 reserved_key_prefix (keys starting with sf:). Supports Idempotency-Key. Held open (contracts §22.3): with `Prefer: wait=<seconds>` (at most 20) an open whose outcome is an operation is held until the operation is terminal or the wait elapses; success answers 200 with the running workspace, the succeeded operation and a tool token (`Preference-Applied: wait=<seconds>`), anything else 202 with the fresh operation. Without `Preference-Applied` the server did not wait: poll the operation. `mode` (contracts §29): omitted = processful for a new key and the stored mode for an existing one; `file_first` creates a workspace whose state is a versioned file tree with no VM between executions: it is ready at once (200 with a tool token, `observed_state` running, `tree_revision` 0, no operation), needs a layered template version (409 layout_unsupported otherwise) and is persistent (`lifetime: session` or `idle_policy` with it are 422 not_supported_for_mode); each open of a file-first key re-resolves the size of its execution VMs from `caps`, the template and the plan. 422 mode_not_available while the deployment does not offer file-first workspaces; reopening a key with another mode is 409 mode_mismatch.
|
|
1762
|
+
* @description New keys resolve `template` to its latest published version; reopening never changes or resets the workspace (the response reports the template version actually used). 200 when the workspace is already running and ready (with `cell_endpoint` and a tool token); otherwise 202 with the operation to poll. A running workspace whose startup failed (`startup.state` failed, contracts §24.4) is not ready: the open is 202 with an `open` operation (input.startup_retry) that runs the failed step again. Concurrent opens of one key share one workspace and one operation. `secrets` (optional) binds secret names injected into every exec/PTY start: it sets the binding of a new key and replaces it on an existing key (omitted = unchanged); an unknown or unusable name is 422 details.reason secret_not_available with details.names (nothing is created or changed). The template version’s secret inputs (contracts §24.3) join the binding on create and whenever `secrets` is given; a required one this workspace may not use is 422 input_required (details.kind secret); a bound name equal to a template env key or text input is 422 env_collision (details.name). `inputs` (optional): the version’s text inputs {NAME: string}; stored on create (else the declared default) and replaced on an existing key (omitted = unchanged); 422 input_unknown, input_invalid or input_required (details.names). `lifetime` (contracts §19.11): omitted = the version’s default (else persistent); `session` workspaces are discarded when the session ends (close(), idle timeout), after which the key opens a NEW workspace; reopening a live key with another lifetime is 409 lifetime_mismatch. A new workspace is `layered` when its version supports it and layered opens are enabled (`disk_layout`). Errors: 404 template/key outside scope, 402 `entitlement_required`, 403 `quota_exceeded` (details.limit), 409 operation in progress, key whose deletion is still in progress (workspace_deleted) or lifetime_mismatch, 422 reserved_key_prefix (keys starting with sf:). Supports Idempotency-Key. Held open (contracts §22.3): with `Prefer: wait=<seconds>` (at most 20) an open whose outcome is an operation is held until the operation is terminal or the wait elapses; success answers 200 with the running workspace, the succeeded operation and a tool token (`Preference-Applied: wait=<seconds>`), anything else 202 with the fresh operation. Without `Preference-Applied` the server did not wait: poll the operation. `mode` (contracts §29): omitted = processful for a new key and the stored mode for an existing one; `file_first` creates a workspace whose state is a versioned file tree with no VM between executions: it is ready at once (200 with a tool token, `observed_state` running, `tree_revision` 0, no operation), needs a layered template version (409 layout_unsupported otherwise) and is persistent (`lifetime: session` or `idle_policy` with it are 422 not_supported_for_mode); each open of a file-first key re-resolves the size of its execution VMs from `caps`, the template and the plan. 422 mode_not_available while the deployment does not offer file-first workspaces; reopening a key with another mode is 409 mode_mismatch. Memory allocation (contracts §32): caps.allocation_mode elastic with caps.memory_mib_held; 422 validation_failed details.field caps.allocation_mode reason allocation_mode_not_available (the organization lacks elastic memory; nothing is created or changed), reason not_supported_for_mode (file_first); details.field caps.memory_mib_held reason requires_elastic (held without elastic) or exceeds_memory_mib (held above caps.memory_mib).
|
|
1763
1763
|
*/
|
|
1764
1764
|
post: operations["postApiV1WorkspacesOpen"];
|
|
1765
1765
|
delete?: never;
|
|
@@ -1981,7 +1981,7 @@ export interface paths {
|
|
|
1981
1981
|
put?: never;
|
|
1982
1982
|
/**
|
|
1983
1983
|
* Fork a workspace into a new key (independent copy of its committed state)
|
|
1984
|
-
* @description Creates the target workspace (same template version and disk layout) and a `fork` operation on it, admitted like a start. Caps default to the source’s. `lifetime` is the fork’s own (default persistent): forking a session keeps its state. A file-first source (contracts §29) is 409 not_supported_for_mode. Supports Idempotency-Key.
|
|
1984
|
+
* @description Creates the target workspace (same template version and disk layout) and a `fork` operation on it, admitted like a start. Caps default to the source’s. `lifetime` is the fork’s own (default persistent): forking a session keeps its state. A file-first source (contracts §29) is 409 not_supported_for_mode. Supports Idempotency-Key. Caps (and the memory allocation mode) default to the source’s. Held fork (contracts §22.7): with Prefer: wait=<seconds> (at most 20), holds through the terminal operation. Success returns 200 with the running target, succeeded operation and a final-epoch tool token for agent_label/tools. Otherwise returns 202 with the fresh operation. Preference-Applied confirms the wait; without it, poll as usual. A token that could not be issued is null; fetch it from the target tool-token route. Memory allocation (contracts §32): caps.allocation_mode elastic with caps.memory_mib_held; 422 validation_failed details.field caps.allocation_mode reason allocation_mode_not_available (the organization lacks elastic memory; nothing is created or changed), reason not_supported_for_mode (file_first); details.field caps.memory_mib_held reason requires_elastic (held without elastic) or exceeds_memory_mib (held above caps.memory_mib).
|
|
1985
1985
|
*/
|
|
1986
1986
|
post: operations["postApiV1WorkspacesWorkspaceIdFork"];
|
|
1987
1987
|
delete?: never;
|
|
@@ -2041,7 +2041,7 @@ export interface paths {
|
|
|
2041
2041
|
put?: never;
|
|
2042
2042
|
/**
|
|
2043
2043
|
* Save a layered workspace as the next version of an organization template
|
|
2044
|
-
* @description Everything in the workspace becomes template content (its whole filesystem, minus the sf-scrub.v1 list, the contents of /proc, /sys, /dev, /run and /tmp, and shared-volume contents), stored as one new org layer on the workspace’s template chain. A running workspace is captured briefly (`operation`, layer_snapshot); a suspended one uses its current checkpoint; `checkpoint_id` saves a committed checkpoint instead. 202 SaveAsTemplateResponse: poll the build. Owners/admins and API keys with a tool permission (403 otherwise). Errors: 409 legacy_disk_layout, workspace_not_running, operation_in_progress, not_supported_for_mode (file-first, contracts §29), template_archived, 422 platform_template_slug, invalid_defaults,
|
|
2044
|
+
* @description Everything in the workspace becomes template content (its whole filesystem, minus the sf-scrub.v1 list, the contents of /proc, /sys, /dev, /run and /tmp, and shared-volume contents), stored as one new org layer on the workspace’s template chain. A running workspace is captured briefly (`operation`, layer_snapshot); a suspended one uses its current checkpoint; `checkpoint_id` saves a committed checkpoint instead. 202 SaveAsTemplateResponse: poll the build. Owners/admins and API keys with a tool permission (403 otherwise). Immutable paths (contracts §34.1): the new version declares the target template’s open version’s immutable paths (else the workspace’s version’s); their content comes from that template’s newest published version, not from the workspace (a draft publish keeps the draft’s own content). Errors: 409 legacy_disk_layout, workspace_not_running, operation_in_progress, not_supported_for_mode (file-first, contracts §29), template_archived, 422 platform_template_slug, invalid_defaults, too_many_acknowledged_findings, invalid_path, immutable_paths_unsupported_base (the workspace’s base has no guest agent with immutable_paths.v1; details.base), 403 quota_exceeded (concurrent_template_builds). Supports Idempotency-Key.
|
|
2045
2045
|
*/
|
|
2046
2046
|
post: operations["postApiV1WorkspacesWorkspaceIdSaveAsTemplate"];
|
|
2047
2047
|
delete?: never;
|
|
@@ -2453,7 +2453,7 @@ export interface paths {
|
|
|
2453
2453
|
put?: never;
|
|
2454
2454
|
/**
|
|
2455
2455
|
* Request a custom template build (queued for the isolated builder)
|
|
2456
|
-
* @description 202 with the queued build. Takes recipe v1 (a Dockerfile) or recipe v2 (contracts §24.1: validated against the base, compiled to the builder’s steps, uploads locked). Records the canonical recipe and its SHA-256 (provenance input), pins the base version, clamps resources to the plan and assigns `target_version`. The cell executes it (building -> testing -> publishing -> published) and the API then registers the version (published at once unless auto_publish=false); poll GET .../template-builds/{id} until `registration.state` is registered (or the build failed/was canceled). `builder_availability` says whether a builder is running. Errors: 422 when the recipe is outside the host builder Dockerfile dialect or the slug is not a builder slug (`details.reason`: multi_stage_not_supported, from_not_template_base, stage_names_not_supported, from_flags_not_supported, base_mismatch, run_flags_not_supported, heredoc_not_supported, instruction_not_supported, no_build_context, env_invalid, user_invalid, too_many_steps, recipe_too_large, slug_not_supported_by_builder, platform_template_slug, reserved_template_slug, base_not_found, base_not_published, base_archived, architecture_not_supported, ...; `line` for line errors; recipe v2: invalid_recipe (details.field, details.detail), base_not_layered, language_unavailable, language_conflict, invalid_package, too_many_files, platform_owned_path, invalid_path, upload_required, upload_missing, upload_digest_mismatch, upload_too_large, too_many_steps, recipe_too_large, allowlist_empty, allow_hosts_without_allowlist, extra_hosts_without_auto, too_many_hosts, invalid_host, ip_literal_not_allowed, host_not_allowed, invalid_settings, services_unsupported, too_many_acknowledged_findings), 503 dependency_unavailable (uploads_not_configured), 402 entitlement_required, 403 quota_exceeded (concurrent_template_builds), 409 template_archived. Supports Idempotency-Key.
|
|
2456
|
+
* @description 202 with the queued build. Takes recipe v1 (a Dockerfile) or recipe v2 (contracts §24.1: validated against the base, compiled to the builder’s steps, uploads locked). Records the canonical recipe and its SHA-256 (provenance input), pins the base version, clamps resources to the plan and assigns `target_version`. The cell executes it (building -> testing -> publishing -> published) and the API then registers the version (published at once unless auto_publish=false); poll GET .../template-builds/{id} until `registration.state` is registered (or the build failed/was canceled). `builder_availability` says whether a builder is running. Errors: 422 when the recipe is outside the host builder Dockerfile dialect or the slug is not a builder slug (`details.reason`: multi_stage_not_supported, from_not_template_base, stage_names_not_supported, from_flags_not_supported, base_mismatch, run_flags_not_supported, heredoc_not_supported, instruction_not_supported, no_build_context, env_invalid, user_invalid, too_many_steps, recipe_too_large, slug_not_supported_by_builder, platform_template_slug, reserved_template_slug, base_not_found, base_not_published, base_archived, architecture_not_supported, ...; `line` for line errors; recipe v2: invalid_recipe (details.field, details.detail), base_not_layered, language_unavailable, language_conflict, invalid_package, too_many_files, platform_owned_path, invalid_path, upload_required, upload_missing, upload_digest_mismatch, upload_too_large, too_many_steps, recipe_too_large, allowlist_empty, allow_hosts_without_allowlist, extra_hosts_without_auto, too_many_hosts, invalid_host, ip_literal_not_allowed, host_not_allowed, invalid_settings, services_unsupported, too_many_acknowledged_findings; immutable paths (contracts §34.1): invalid_path (details.field recipe.immutable[<i>]), immutable_path_removed (the recipe drops a path of the template’s open version; details.removed), immutable_paths_unsupported_base (a non-empty list on a base whose guest agent lacks immutable_paths.v1, or a recipe v1 build of a template with immutable paths; details.base {name, version})), 503 dependency_unavailable (uploads_not_configured), 402 entitlement_required, 403 quota_exceeded (concurrent_template_builds), 409 template_archived. Supports Idempotency-Key.
|
|
2457
2457
|
*/
|
|
2458
2458
|
post: operations["postV1OrganizationsOrganizationIdTemplateBuilds"];
|
|
2459
2459
|
delete?: never;
|
|
@@ -2710,7 +2710,7 @@ export interface paths {
|
|
|
2710
2710
|
put?: never;
|
|
2711
2711
|
/**
|
|
2712
2712
|
* Publish an organization template version
|
|
2713
|
-
* @description Only a version produced by a registered `published` build (or a legacy `succeeded` one) whose scan and compatibility checks passed (409 `not_produced_by_succeeded_build` otherwise; 409 `version_archived`). New workspaces of the slug then use the latest published version; existing workspaces keep theirs. Idempotent. Owner/admin.
|
|
2713
|
+
* @description Only a version produced by a registered `published` build (or a legacy `succeeded` one) whose scan and compatibility checks passed (409 `not_produced_by_succeeded_build` otherwise; 409 `version_archived`). New workspaces of the slug then use the latest published version; existing workspaces keep theirs, except their immutable paths (contracts §34), which show the latest published version from their next cold boot or resume. Idempotent. Owner/admin.
|
|
2714
2714
|
*/
|
|
2715
2715
|
post: operations["postV1OrganizationsOrganizationIdTemplatesSlugVersionsVersionPublish"];
|
|
2716
2716
|
delete?: never;
|
|
@@ -2730,7 +2730,7 @@ export interface paths {
|
|
|
2730
2730
|
put?: never;
|
|
2731
2731
|
/**
|
|
2732
2732
|
* Archive an organization template version
|
|
2733
|
-
* @description Hides the version and stops `open` from picking it for new workspaces; existing workspaces
|
|
2733
|
+
* @description Hides the version and stops `open` from picking it for new workspaces; existing workspaces keep their version (versions are immutable). Archiving the latest published version rolls immutable paths (contracts §34) back: workspaces show the previous published version there from their next cold boot or resume. Idempotent. Owner/admin.
|
|
2734
2734
|
*/
|
|
2735
2735
|
post: operations["postV1OrganizationsOrganizationIdTemplatesSlugVersionsVersionArchive"];
|
|
2736
2736
|
delete?: never;
|
|
@@ -2791,7 +2791,7 @@ export interface paths {
|
|
|
2791
2791
|
put?: never;
|
|
2792
2792
|
/**
|
|
2793
2793
|
* Request a custom template build (queued for the isolated builder)
|
|
2794
|
-
* @description 202 with the queued build. Takes recipe v1 (a Dockerfile) or recipe v2 (contracts §24.1: validated against the base, compiled to the builder’s steps, uploads locked). Records the canonical recipe and its SHA-256 (provenance input), pins the base version, clamps resources to the plan and assigns `target_version`. The cell executes it (building -> testing -> publishing -> published) and the API then registers the version (published at once unless auto_publish=false); poll GET .../template-builds/{id} until `registration.state` is registered (or the build failed/was canceled). `builder_availability` says whether a builder is running. Errors: 422 when the recipe is outside the host builder Dockerfile dialect or the slug is not a builder slug (`details.reason`: multi_stage_not_supported, from_not_template_base, stage_names_not_supported, from_flags_not_supported, base_mismatch, run_flags_not_supported, heredoc_not_supported, instruction_not_supported, no_build_context, env_invalid, user_invalid, too_many_steps, recipe_too_large, slug_not_supported_by_builder, platform_template_slug, reserved_template_slug, base_not_found, base_not_published, base_archived, architecture_not_supported, ...; `line` for line errors; recipe v2: invalid_recipe (details.field, details.detail), base_not_layered, language_unavailable, language_conflict, invalid_package, too_many_files, platform_owned_path, invalid_path, upload_required, upload_missing, upload_digest_mismatch, upload_too_large, too_many_steps, recipe_too_large, allowlist_empty, allow_hosts_without_allowlist, extra_hosts_without_auto, too_many_hosts, invalid_host, ip_literal_not_allowed, host_not_allowed, invalid_settings, services_unsupported, too_many_acknowledged_findings), 503 dependency_unavailable (uploads_not_configured), 402 entitlement_required, 403 quota_exceeded (concurrent_template_builds), 409 template_archived. Supports Idempotency-Key.
|
|
2794
|
+
* @description 202 with the queued build. Takes recipe v1 (a Dockerfile) or recipe v2 (contracts §24.1: validated against the base, compiled to the builder’s steps, uploads locked). Records the canonical recipe and its SHA-256 (provenance input), pins the base version, clamps resources to the plan and assigns `target_version`. The cell executes it (building -> testing -> publishing -> published) and the API then registers the version (published at once unless auto_publish=false); poll GET .../template-builds/{id} until `registration.state` is registered (or the build failed/was canceled). `builder_availability` says whether a builder is running. Errors: 422 when the recipe is outside the host builder Dockerfile dialect or the slug is not a builder slug (`details.reason`: multi_stage_not_supported, from_not_template_base, stage_names_not_supported, from_flags_not_supported, base_mismatch, run_flags_not_supported, heredoc_not_supported, instruction_not_supported, no_build_context, env_invalid, user_invalid, too_many_steps, recipe_too_large, slug_not_supported_by_builder, platform_template_slug, reserved_template_slug, base_not_found, base_not_published, base_archived, architecture_not_supported, ...; `line` for line errors; recipe v2: invalid_recipe (details.field, details.detail), base_not_layered, language_unavailable, language_conflict, invalid_package, too_many_files, platform_owned_path, invalid_path, upload_required, upload_missing, upload_digest_mismatch, upload_too_large, too_many_steps, recipe_too_large, allowlist_empty, allow_hosts_without_allowlist, extra_hosts_without_auto, too_many_hosts, invalid_host, ip_literal_not_allowed, host_not_allowed, invalid_settings, services_unsupported, too_many_acknowledged_findings; immutable paths (contracts §34.1): invalid_path (details.field recipe.immutable[<i>]), immutable_path_removed (the recipe drops a path of the template’s open version; details.removed), immutable_paths_unsupported_base (a non-empty list on a base whose guest agent lacks immutable_paths.v1, or a recipe v1 build of a template with immutable paths; details.base {name, version})), 503 dependency_unavailable (uploads_not_configured), 402 entitlement_required, 403 quota_exceeded (concurrent_template_builds), 409 template_archived. Supports Idempotency-Key.
|
|
2795
2795
|
*/
|
|
2796
2796
|
post: operations["postApiV1OrganizationsOrganizationIdTemplateBuilds"];
|
|
2797
2797
|
delete?: never;
|
|
@@ -2968,7 +2968,7 @@ export interface paths {
|
|
|
2968
2968
|
put?: never;
|
|
2969
2969
|
/**
|
|
2970
2970
|
* Publish an organization template version
|
|
2971
|
-
* @description Only a version produced by a registered `published` build (or a legacy `succeeded` one) whose scan and compatibility checks passed (409 `not_produced_by_succeeded_build` otherwise; 409 `version_archived`). New workspaces of the slug then use the latest published version; existing workspaces keep theirs. Idempotent. Owner/admin.
|
|
2971
|
+
* @description Only a version produced by a registered `published` build (or a legacy `succeeded` one) whose scan and compatibility checks passed (409 `not_produced_by_succeeded_build` otherwise; 409 `version_archived`). New workspaces of the slug then use the latest published version; existing workspaces keep theirs, except their immutable paths (contracts §34), which show the latest published version from their next cold boot or resume. Idempotent. Owner/admin.
|
|
2972
2972
|
*/
|
|
2973
2973
|
post: operations["postApiV1OrganizationsOrganizationIdTemplatesSlugVersionsVersionPublish"];
|
|
2974
2974
|
delete?: never;
|
|
@@ -2988,7 +2988,7 @@ export interface paths {
|
|
|
2988
2988
|
put?: never;
|
|
2989
2989
|
/**
|
|
2990
2990
|
* Archive an organization template version
|
|
2991
|
-
* @description Hides the version and stops `open` from picking it for new workspaces; existing workspaces
|
|
2991
|
+
* @description Hides the version and stops `open` from picking it for new workspaces; existing workspaces keep their version (versions are immutable). Archiving the latest published version rolls immutable paths (contracts §34) back: workspaces show the previous published version there from their next cold boot or resume. Idempotent. Owner/admin.
|
|
2992
2992
|
*/
|
|
2993
2993
|
post: operations["postApiV1OrganizationsOrganizationIdTemplatesSlugVersionsVersionArchive"];
|
|
2994
2994
|
delete?: never;
|
|
@@ -3154,7 +3154,7 @@ export interface paths {
|
|
|
3154
3154
|
put?: never;
|
|
3155
3155
|
/**
|
|
3156
3156
|
* Publish the draft as the template’s next version (save-as-template from the draft)
|
|
3157
|
-
* @description Builds one new org layer holding every change since the draft base, from `state_id` or the draft’s current state (a fresh capture when running). `settings` (TemplateSettingsInput, contracts §24.3): each given field replaces that field of the draft base’s settings, each absent one is carried forward (settings.defaults and defaults together: 422 invalid_settings). Refused with 409 draft_stale (details latest_version, draft_base_version) when the template has a version newer than the draft base that this draft did not produce, and 409 build_in_progress while a build from another source is unfinished. 202 SaveAsTemplateResponse. Supports Idempotency-Key.
|
|
3157
|
+
* @description Builds one new org layer holding every change since the draft base, from `state_id` or the draft’s current state (a fresh capture when running). `settings` (TemplateSettingsInput, contracts §24.3): each given field replaces that field of the draft base’s settings, each absent one is carried forward (settings.defaults and defaults together: 422 invalid_settings). Refused with 409 draft_stale (details latest_version, draft_base_version) when the template has a version newer than the draft base that this draft did not produce, and 409 build_in_progress while a build from another source is unfinished. Immutable paths (contracts §34.1): the new version declares the template’s open version’s immutable paths (else the draft base’s) with the content the draft holds there; 422 immutable_paths_unsupported_base when the draft’s base has no guest agent with immutable_paths.v1 (details.base). 202 SaveAsTemplateResponse. Supports Idempotency-Key.
|
|
3158
3158
|
*/
|
|
3159
3159
|
post: operations["postV1OrganizationsOrganizationIdTemplatesSlugDraftPublish"];
|
|
3160
3160
|
delete?: never;
|
|
@@ -3174,7 +3174,7 @@ export interface paths {
|
|
|
3174
3174
|
put?: never;
|
|
3175
3175
|
/**
|
|
3176
3176
|
* Publish the draft as the template’s next version (save-as-template from the draft)
|
|
3177
|
-
* @description Builds one new org layer holding every change since the draft base, from `state_id` or the draft’s current state (a fresh capture when running). `settings` (TemplateSettingsInput, contracts §24.3): each given field replaces that field of the draft base’s settings, each absent one is carried forward (settings.defaults and defaults together: 422 invalid_settings). Refused with 409 draft_stale (details latest_version, draft_base_version) when the template has a version newer than the draft base that this draft did not produce, and 409 build_in_progress while a build from another source is unfinished. 202 SaveAsTemplateResponse. Supports Idempotency-Key.
|
|
3177
|
+
* @description Builds one new org layer holding every change since the draft base, from `state_id` or the draft’s current state (a fresh capture when running). `settings` (TemplateSettingsInput, contracts §24.3): each given field replaces that field of the draft base’s settings, each absent one is carried forward (settings.defaults and defaults together: 422 invalid_settings). Refused with 409 draft_stale (details latest_version, draft_base_version) when the template has a version newer than the draft base that this draft did not produce, and 409 build_in_progress while a build from another source is unfinished. Immutable paths (contracts §34.1): the new version declares the template’s open version’s immutable paths (else the draft base’s) with the content the draft holds there; 422 immutable_paths_unsupported_base when the draft’s base has no guest agent with immutable_paths.v1 (details.base). 202 SaveAsTemplateResponse. Supports Idempotency-Key.
|
|
3178
3178
|
*/
|
|
3179
3179
|
post: operations["postV1TemplatesSlugDraftPublish"];
|
|
3180
3180
|
delete?: never;
|
|
@@ -3267,7 +3267,7 @@ export interface paths {
|
|
|
3267
3267
|
put?: never;
|
|
3268
3268
|
/**
|
|
3269
3269
|
* Publish the draft as the template’s next version (save-as-template from the draft)
|
|
3270
|
-
* @description Builds one new org layer holding every change since the draft base, from `state_id` or the draft’s current state (a fresh capture when running). `settings` (TemplateSettingsInput, contracts §24.3): each given field replaces that field of the draft base’s settings, each absent one is carried forward (settings.defaults and defaults together: 422 invalid_settings). Refused with 409 draft_stale (details latest_version, draft_base_version) when the template has a version newer than the draft base that this draft did not produce, and 409 build_in_progress while a build from another source is unfinished. 202 SaveAsTemplateResponse. Supports Idempotency-Key.
|
|
3270
|
+
* @description Builds one new org layer holding every change since the draft base, from `state_id` or the draft’s current state (a fresh capture when running). `settings` (TemplateSettingsInput, contracts §24.3): each given field replaces that field of the draft base’s settings, each absent one is carried forward (settings.defaults and defaults together: 422 invalid_settings). Refused with 409 draft_stale (details latest_version, draft_base_version) when the template has a version newer than the draft base that this draft did not produce, and 409 build_in_progress while a build from another source is unfinished. Immutable paths (contracts §34.1): the new version declares the template’s open version’s immutable paths (else the draft base’s) with the content the draft holds there; 422 immutable_paths_unsupported_base when the draft’s base has no guest agent with immutable_paths.v1 (details.base). 202 SaveAsTemplateResponse. Supports Idempotency-Key.
|
|
3271
3271
|
*/
|
|
3272
3272
|
post: operations["postApiV1OrganizationsOrganizationIdTemplatesSlugDraftPublish"];
|
|
3273
3273
|
delete?: never;
|
|
@@ -5649,11 +5649,6 @@ export interface components {
|
|
|
5649
5649
|
* @enum {string}
|
|
5650
5650
|
*/
|
|
5651
5651
|
WorkspacePurpose: "standard" | "template_draft" | "template_test";
|
|
5652
|
-
/**
|
|
5653
|
-
* @description Reserved (T2). Always `pinned` in T1: a workspace stays on its template version; `auto` is refused with 422 update_policy_not_available.
|
|
5654
|
-
* @enum {string}
|
|
5655
|
-
*/
|
|
5656
|
-
UpdatePolicy: "pinned" | "auto";
|
|
5657
5652
|
/** @description Where the workspace’s disk came from; null for a workspace opened from its template. */
|
|
5658
5653
|
WorkspaceOrigin: {
|
|
5659
5654
|
/** @enum {string} */
|
|
@@ -5704,7 +5699,6 @@ export interface components {
|
|
|
5704
5699
|
} | null;
|
|
5705
5700
|
egress: components["schemas"]["TemplateEgressDefault"] | null;
|
|
5706
5701
|
agent_tools: null;
|
|
5707
|
-
update_policy: null;
|
|
5708
5702
|
};
|
|
5709
5703
|
/** @description The template’s workspace network ceiling (contracts §24.3): the cell intersects it with the effective egress policy. */
|
|
5710
5704
|
TemplateEgressDefault: {
|
|
@@ -5813,7 +5807,7 @@ export interface components {
|
|
|
5813
5807
|
ready_timeout_seconds?: number;
|
|
5814
5808
|
};
|
|
5815
5809
|
};
|
|
5816
|
-
/** @description Manifest defaults (§19.7, §24.3). agent_tools
|
|
5810
|
+
/** @description Manifest defaults (§19.7, §24.3). agent_tools stays reserved (null). */
|
|
5817
5811
|
defaults?: {
|
|
5818
5812
|
/** @enum {unknown} */
|
|
5819
5813
|
lifetime?: "persistent" | "session";
|
|
@@ -5831,7 +5825,6 @@ export interface components {
|
|
|
5831
5825
|
allow_hosts?: string[];
|
|
5832
5826
|
};
|
|
5833
5827
|
agent_tools?: null;
|
|
5834
|
-
update_policy?: null;
|
|
5835
5828
|
};
|
|
5836
5829
|
};
|
|
5837
5830
|
/** @description Recipe v1: a Dockerfile in the host builder’s dialect (no `schema` field). */
|
|
@@ -5864,7 +5857,7 @@ export interface components {
|
|
|
5864
5857
|
};
|
|
5865
5858
|
/**
|
|
5866
5859
|
* Template recipe v2 (shardflux.template-recipe.v2)
|
|
5867
|
-
* @description A template without a Dockerfile (docs/INTEGRATION_CONTRACTS.md §24.1): `build` changes the filesystem through the host builder's structured steps, `settings` goes into the manifest and applies when a workspace opens. This document is the body field `recipe` of POST …/template-builds, the `recipe` of GET …/templates/{slug}/versions/{v}/recipe (export), and the content of template.yaml (the same document in YAML; only clients parse YAML). In template.yaml a file entry may name a local path (`from`) instead of an upload; clients upload it and send `upload` (the API refuses `from`). Rules JSON Schema cannot express, enforced by the API with 422 validation_failed and details.reason (§24.1, §24.6): input names are unique across settings.env and settings.inputs; a secret input has no default; a required input has no default; start command names are unique; `to` is not platform-owned; build.network.allow_hosts only with build "allowlist" and extra_hosts only with "auto"; the sum of every run/command script is at most 262144 bytes; start timeout_seconds sum to at most 3600; languages are in the API's language table for the base; services need a base whose guest agent has services.v1.
|
|
5860
|
+
* @description A template without a Dockerfile (docs/INTEGRATION_CONTRACTS.md §24.1): `build` changes the filesystem through the host builder's structured steps, `settings` goes into the manifest and applies when a workspace opens. This document is the body field `recipe` of POST …/template-builds, the `recipe` of GET …/templates/{slug}/versions/{v}/recipe (export), and the content of template.yaml (the same document in YAML; only clients parse YAML). In template.yaml a file entry may name a local path (`from`) instead of an upload; clients upload it and send `upload` (the API refuses `from`). Rules JSON Schema cannot express, enforced by the API with 422 validation_failed and details.reason (§24.1, §24.6): input names are unique across settings.env and settings.inputs; a secret input has no default; a required input has no default; start command names are unique; `to` is not platform-owned; build.network.allow_hosts only with build "allowlist" and extra_hosts only with "auto"; the sum of every run/command script is at most 262144 bytes; start timeout_seconds sum to at most 3600; languages are in the API's language table for the base; services need a base whose guest agent has services.v1; immutable paths are not platform-owned, do not contain a platform-owned path and do not nest (§34.1).
|
|
5868
5861
|
*/
|
|
5869
5862
|
TemplateRecipeV2: {
|
|
5870
5863
|
/** @enum {unknown} */
|
|
@@ -5978,7 +5971,7 @@ export interface components {
|
|
|
5978
5971
|
ready_timeout_seconds?: number;
|
|
5979
5972
|
};
|
|
5980
5973
|
};
|
|
5981
|
-
/** @description Manifest defaults (§19.7, §24.3). agent_tools
|
|
5974
|
+
/** @description Manifest defaults (§19.7, §24.3). agent_tools stays reserved (null). */
|
|
5982
5975
|
defaults?: {
|
|
5983
5976
|
/** @enum {unknown} */
|
|
5984
5977
|
lifetime?: "persistent" | "session";
|
|
@@ -5996,9 +5989,10 @@ export interface components {
|
|
|
5996
5989
|
allow_hosts?: string[];
|
|
5997
5990
|
};
|
|
5998
5991
|
agent_tools?: null;
|
|
5999
|
-
update_policy?: null;
|
|
6000
5992
|
};
|
|
6001
5993
|
};
|
|
5994
|
+
/** @description Directories every workspace of the template mounts read-only from the template's newest published version (§34.1): workspaces pick up a newer version when they cold-boot or resume. Not `/`, not equal to or under /proc, /sys, /dev, /run, /tmp, /lost+found or a platform-owned path, not containing a platform-owned path, none equal to or containing another (422 invalid_path). Omitted: the list of the template's newest published version. A version keeps every path of that list (422 immutable_path_removed) and a non-empty list needs a base whose guest agent has immutable_paths.v1 (422 immutable_paths_unsupported_base). Each path is a directory in the built filesystem. */
|
|
5995
|
+
immutable?: string[];
|
|
6002
5996
|
/** @description Builder VM bounds, exactly as recipe v1 `resources` (not part of recipe_sha256). */
|
|
6003
5997
|
resources?: {
|
|
6004
5998
|
cpu_millis?: number;
|
|
@@ -6391,6 +6385,8 @@ export interface components {
|
|
|
6391
6385
|
kind: "file" | "tar";
|
|
6392
6386
|
}[];
|
|
6393
6387
|
};
|
|
6388
|
+
/** @description The effective immutable paths (contracts §34.1: the recipe’s, else inherited), in byte order; empty for none. */
|
|
6389
|
+
immutable: string[];
|
|
6394
6390
|
};
|
|
6395
6391
|
result: {
|
|
6396
6392
|
artifact_sha256: string | null;
|
|
@@ -6414,8 +6410,13 @@ export interface components {
|
|
|
6414
6410
|
} | null;
|
|
6415
6411
|
};
|
|
6416
6412
|
failure: {
|
|
6413
|
+
/** @description build_error, timeout, resource_limit, scan_failed, compatibility_failed, base_unavailable, network_denied, internal_error, publish_failed, source_unavailable, immutable_path_missing (an immutable path is not a directory in the built filesystem: details.path), immutable_image_too_large (the immutable image exceeds 16 GiB). */
|
|
6417
6414
|
code: string;
|
|
6418
6415
|
message: string;
|
|
6416
|
+
/** @description Code-specific details (immutable_path_missing: {path}). */
|
|
6417
|
+
details?: {
|
|
6418
|
+
[key: string]: unknown;
|
|
6419
|
+
};
|
|
6419
6420
|
} | null;
|
|
6420
6421
|
/** @description Build log: the tail inline, the full log through a short-lived signed URL (log-url). */
|
|
6421
6422
|
log: {
|
|
@@ -6453,6 +6454,8 @@ export interface components {
|
|
|
6453
6454
|
produced_layer_id: string | null;
|
|
6454
6455
|
squashed: boolean | null;
|
|
6455
6456
|
org_bytes: number | null;
|
|
6457
|
+
/** @description The immutable paths the produced version declares (contracts §34.1), in byte order: the recipe’s `immutable`, else the list of the template’s open version (a save from a workspace: the target template’s open version’s list, else the workspace’s version’s). Empty for none. */
|
|
6458
|
+
immutable_paths: string[];
|
|
6456
6459
|
};
|
|
6457
6460
|
/** @description A disk-only capture of the draft (contracts §19.9). */
|
|
6458
6461
|
DraftState: {
|
|
@@ -6541,7 +6544,6 @@ export interface components {
|
|
|
6541
6544
|
} | null;
|
|
6542
6545
|
/** @description Reserved (T2). */
|
|
6543
6546
|
agent_tools?: null;
|
|
6544
|
-
update_policy?: ("pinned" | "auto") | null;
|
|
6545
6547
|
};
|
|
6546
6548
|
settings?: components["schemas"]["TemplateSettingsInput"];
|
|
6547
6549
|
/** @default true */
|
|
@@ -6572,7 +6574,6 @@ export interface components {
|
|
|
6572
6574
|
} | null;
|
|
6573
6575
|
/** @description Reserved (T2). */
|
|
6574
6576
|
agent_tools?: null;
|
|
6575
|
-
update_policy?: ("pinned" | "auto") | null;
|
|
6576
6577
|
};
|
|
6577
6578
|
/**
|
|
6578
6579
|
* Format: uuid
|
|
@@ -6760,7 +6761,7 @@ export interface components {
|
|
|
6760
6761
|
* @description UUIDv7, lowercase canonical form.
|
|
6761
6762
|
*/
|
|
6762
6763
|
template_version_id: string;
|
|
6763
|
-
/** @description
|
|
6764
|
+
/** @description The template version this workspace was created from (immutable), and the version its immutable paths show. */
|
|
6764
6765
|
template: {
|
|
6765
6766
|
/**
|
|
6766
6767
|
* Format: uuid
|
|
@@ -6774,6 +6775,7 @@ export interface components {
|
|
|
6774
6775
|
template_id: string;
|
|
6775
6776
|
slug: string;
|
|
6776
6777
|
version: number;
|
|
6778
|
+
immutable_version: number | null;
|
|
6777
6779
|
};
|
|
6778
6780
|
/** @enum {string} */
|
|
6779
6781
|
desired_state: "running" | "suspended" | "deleted";
|
|
@@ -6782,11 +6784,29 @@ export interface components {
|
|
|
6782
6784
|
cell_id: string | null;
|
|
6783
6785
|
cell_endpoint: string | null;
|
|
6784
6786
|
ownership_epoch: number;
|
|
6785
|
-
/** @description User caps for this workspace (null = no user restriction). */
|
|
6787
|
+
/** @description User caps for this workspace (null = no user restriction) and its memory allocation mode. */
|
|
6786
6788
|
caps: {
|
|
6787
6789
|
cpu_millis: number | null;
|
|
6788
6790
|
memory_mib: number | null;
|
|
6789
6791
|
disk_gib: number | null;
|
|
6792
|
+
/**
|
|
6793
|
+
* @description Memory allocation (contracts §32): fixed (default) boots memory_mib and holds it; elastic holds memory_mib_held while idle and is grown up to memory_mib (the promise) when a command needs it. The mode the next VM start uses: an elastic request whose promise does not exceed the held floor by at least 512 MiB is fixed at the promise.
|
|
6794
|
+
* @enum {string}
|
|
6795
|
+
*/
|
|
6796
|
+
allocation_mode: "fixed" | "elastic";
|
|
6797
|
+
/** @description Elastic only: the memory held while idle (MiB). */
|
|
6798
|
+
memory_mib_held?: number;
|
|
6799
|
+
};
|
|
6800
|
+
/** @description Memory of the workspace (contracts §32.6). */
|
|
6801
|
+
memory: {
|
|
6802
|
+
/**
|
|
6803
|
+
* @description The layout of the running VM, else the one the next start uses.
|
|
6804
|
+
* @enum {string}
|
|
6805
|
+
*/
|
|
6806
|
+
allocation_mode: "fixed" | "elastic";
|
|
6807
|
+
promised_mib: number | null;
|
|
6808
|
+
held_mib: number | null;
|
|
6809
|
+
plugged_mib: number | null;
|
|
6790
6810
|
};
|
|
6791
6811
|
ceilings: {
|
|
6792
6812
|
cpu_millis: number;
|
|
@@ -6839,7 +6859,6 @@ export interface components {
|
|
|
6839
6859
|
origin: components["schemas"]["WorkspaceOrigin"] | null;
|
|
6840
6860
|
ended_reason: ("closed" | "idle_timeout" | "draft_discarded") | null;
|
|
6841
6861
|
dev_template_id: string | null;
|
|
6842
|
-
update_policy: components["schemas"]["UpdatePolicy"];
|
|
6843
6862
|
startup: components["schemas"]["WorkspaceStartup"] | null;
|
|
6844
6863
|
mode: components["schemas"]["WorkspaceMode"];
|
|
6845
6864
|
/** @description file_first: the latest revision of the file tree (0 = the empty tree the workspace starts with; each mutating file call or execution publishes the next one; cell file responses carry it as X-Tree-Revision). Always 0 for processful workspaces. */
|
|
@@ -11592,11 +11611,19 @@ export interface operations {
|
|
|
11592
11611
|
};
|
|
11593
11612
|
/** @description Template slug; new workspaces use its latest published version. */
|
|
11594
11613
|
template: string;
|
|
11595
|
-
/** @description Optional user caps; the ceiling is min(template, cap, plan). Absent fields add no restriction. */
|
|
11614
|
+
/** @description Optional user caps; the ceiling is min(template, cap, plan). Absent fields add no restriction (allocation_mode: fixed). Given caps replace the stored ones. */
|
|
11596
11615
|
caps?: {
|
|
11597
11616
|
cpu_millis?: number;
|
|
11598
11617
|
memory_mib?: number;
|
|
11599
11618
|
disk_gib?: number;
|
|
11619
|
+
/**
|
|
11620
|
+
* @description Memory allocation (contracts §32): fixed (default) boots memory_mib and holds it; elastic makes memory_mib a promise: the VM holds memory_mib_held while idle and is grown towards the promise when a command needs it. Needs the elastic memory entitlement (422 details.reason allocation_mode_not_available). A promise that does not exceed the held floor by at least 512 MiB is fixed at the promise (the response caps say which). Takes effect at the next VM start.
|
|
11621
|
+
* @default fixed
|
|
11622
|
+
* @enum {string}
|
|
11623
|
+
*/
|
|
11624
|
+
allocation_mode?: "fixed" | "elastic";
|
|
11625
|
+
/** @description Elastic only: memory held while idle (MiB, default 1024, at most memory_mib). */
|
|
11626
|
+
memory_mib_held?: number;
|
|
11600
11627
|
};
|
|
11601
11628
|
/**
|
|
11602
11629
|
* Format: uuid
|
|
@@ -12270,7 +12297,9 @@ export interface operations {
|
|
|
12270
12297
|
postV1WorkspacesWorkspaceIdFork: {
|
|
12271
12298
|
parameters: {
|
|
12272
12299
|
query?: never;
|
|
12273
|
-
header?:
|
|
12300
|
+
header?: {
|
|
12301
|
+
prefer?: string;
|
|
12302
|
+
};
|
|
12274
12303
|
path: {
|
|
12275
12304
|
/** @description UUIDv7, lowercase canonical form. */
|
|
12276
12305
|
workspace_id: string;
|
|
@@ -12282,17 +12311,47 @@ export interface operations {
|
|
|
12282
12311
|
"application/json": {
|
|
12283
12312
|
/** @description Stable workspace key, unique per organization (e.g. `${customerId}/${projectId}`). */
|
|
12284
12313
|
key: string;
|
|
12285
|
-
/** @description Optional user caps; the ceiling is min(template, cap, plan). Absent fields add no restriction. */
|
|
12314
|
+
/** @description Optional user caps; the ceiling is min(template, cap, plan). Absent fields add no restriction (allocation_mode: fixed). Given caps replace the stored ones. */
|
|
12286
12315
|
caps?: {
|
|
12287
12316
|
cpu_millis?: number;
|
|
12288
12317
|
memory_mib?: number;
|
|
12289
12318
|
disk_gib?: number;
|
|
12319
|
+
/**
|
|
12320
|
+
* @description Memory allocation (contracts §32): fixed (default) boots memory_mib and holds it; elastic makes memory_mib a promise: the VM holds memory_mib_held while idle and is grown towards the promise when a command needs it. Needs the elastic memory entitlement (422 details.reason allocation_mode_not_available). A promise that does not exceed the held floor by at least 512 MiB is fixed at the promise (the response caps say which). Takes effect at the next VM start.
|
|
12321
|
+
* @default fixed
|
|
12322
|
+
* @enum {string}
|
|
12323
|
+
*/
|
|
12324
|
+
allocation_mode?: "fixed" | "elastic";
|
|
12325
|
+
/** @description Elastic only: memory held while idle (MiB, default 1024, at most memory_mib). */
|
|
12326
|
+
memory_mib_held?: number;
|
|
12290
12327
|
};
|
|
12291
12328
|
lifetime?: components["schemas"]["WorkspaceLifetime"];
|
|
12329
|
+
/** @description Attribution label; one agent session per (workspace, principal, label). */
|
|
12330
|
+
agent_label?: string;
|
|
12331
|
+
tools?: ("exec" | "files" | "pty" | "process" | "git" | "browser")[];
|
|
12292
12332
|
};
|
|
12293
12333
|
};
|
|
12294
12334
|
};
|
|
12295
12335
|
responses: {
|
|
12336
|
+
/** @description Default Response */
|
|
12337
|
+
200: {
|
|
12338
|
+
headers: {
|
|
12339
|
+
[name: string]: unknown;
|
|
12340
|
+
};
|
|
12341
|
+
content: {
|
|
12342
|
+
"application/json": {
|
|
12343
|
+
operation: components["schemas"]["Operation"];
|
|
12344
|
+
workspace: components["schemas"]["Workspace"];
|
|
12345
|
+
/**
|
|
12346
|
+
* Format: uuid
|
|
12347
|
+
* @description UUIDv7, lowercase canonical form.
|
|
12348
|
+
*/
|
|
12349
|
+
source_workspace_id: string;
|
|
12350
|
+
cell_endpoint: string | null;
|
|
12351
|
+
tool_token: components["schemas"]["ToolToken"] | null;
|
|
12352
|
+
};
|
|
12353
|
+
};
|
|
12354
|
+
};
|
|
12296
12355
|
/** @description Default Response */
|
|
12297
12356
|
202: {
|
|
12298
12357
|
headers: {
|
|
@@ -12778,11 +12837,19 @@ export interface operations {
|
|
|
12778
12837
|
};
|
|
12779
12838
|
/** @description Template slug; new workspaces use its latest published version. */
|
|
12780
12839
|
template: string;
|
|
12781
|
-
/** @description Optional user caps; the ceiling is min(template, cap, plan). Absent fields add no restriction. */
|
|
12840
|
+
/** @description Optional user caps; the ceiling is min(template, cap, plan). Absent fields add no restriction (allocation_mode: fixed). Given caps replace the stored ones. */
|
|
12782
12841
|
caps?: {
|
|
12783
12842
|
cpu_millis?: number;
|
|
12784
12843
|
memory_mib?: number;
|
|
12785
12844
|
disk_gib?: number;
|
|
12845
|
+
/**
|
|
12846
|
+
* @description Memory allocation (contracts §32): fixed (default) boots memory_mib and holds it; elastic makes memory_mib a promise: the VM holds memory_mib_held while idle and is grown towards the promise when a command needs it. Needs the elastic memory entitlement (422 details.reason allocation_mode_not_available). A promise that does not exceed the held floor by at least 512 MiB is fixed at the promise (the response caps say which). Takes effect at the next VM start.
|
|
12847
|
+
* @default fixed
|
|
12848
|
+
* @enum {string}
|
|
12849
|
+
*/
|
|
12850
|
+
allocation_mode?: "fixed" | "elastic";
|
|
12851
|
+
/** @description Elastic only: memory held while idle (MiB, default 1024, at most memory_mib). */
|
|
12852
|
+
memory_mib_held?: number;
|
|
12786
12853
|
};
|
|
12787
12854
|
/**
|
|
12788
12855
|
* Format: uuid
|
|
@@ -13456,7 +13523,9 @@ export interface operations {
|
|
|
13456
13523
|
postApiV1WorkspacesWorkspaceIdFork: {
|
|
13457
13524
|
parameters: {
|
|
13458
13525
|
query?: never;
|
|
13459
|
-
header?:
|
|
13526
|
+
header?: {
|
|
13527
|
+
prefer?: string;
|
|
13528
|
+
};
|
|
13460
13529
|
path: {
|
|
13461
13530
|
/** @description UUIDv7, lowercase canonical form. */
|
|
13462
13531
|
workspace_id: string;
|
|
@@ -13468,17 +13537,47 @@ export interface operations {
|
|
|
13468
13537
|
"application/json": {
|
|
13469
13538
|
/** @description Stable workspace key, unique per organization (e.g. `${customerId}/${projectId}`). */
|
|
13470
13539
|
key: string;
|
|
13471
|
-
/** @description Optional user caps; the ceiling is min(template, cap, plan). Absent fields add no restriction. */
|
|
13540
|
+
/** @description Optional user caps; the ceiling is min(template, cap, plan). Absent fields add no restriction (allocation_mode: fixed). Given caps replace the stored ones. */
|
|
13472
13541
|
caps?: {
|
|
13473
13542
|
cpu_millis?: number;
|
|
13474
13543
|
memory_mib?: number;
|
|
13475
13544
|
disk_gib?: number;
|
|
13545
|
+
/**
|
|
13546
|
+
* @description Memory allocation (contracts §32): fixed (default) boots memory_mib and holds it; elastic makes memory_mib a promise: the VM holds memory_mib_held while idle and is grown towards the promise when a command needs it. Needs the elastic memory entitlement (422 details.reason allocation_mode_not_available). A promise that does not exceed the held floor by at least 512 MiB is fixed at the promise (the response caps say which). Takes effect at the next VM start.
|
|
13547
|
+
* @default fixed
|
|
13548
|
+
* @enum {string}
|
|
13549
|
+
*/
|
|
13550
|
+
allocation_mode?: "fixed" | "elastic";
|
|
13551
|
+
/** @description Elastic only: memory held while idle (MiB, default 1024, at most memory_mib). */
|
|
13552
|
+
memory_mib_held?: number;
|
|
13476
13553
|
};
|
|
13477
13554
|
lifetime?: components["schemas"]["WorkspaceLifetime"];
|
|
13555
|
+
/** @description Attribution label; one agent session per (workspace, principal, label). */
|
|
13556
|
+
agent_label?: string;
|
|
13557
|
+
tools?: ("exec" | "files" | "pty" | "process" | "git" | "browser")[];
|
|
13478
13558
|
};
|
|
13479
13559
|
};
|
|
13480
13560
|
};
|
|
13481
13561
|
responses: {
|
|
13562
|
+
/** @description Default Response */
|
|
13563
|
+
200: {
|
|
13564
|
+
headers: {
|
|
13565
|
+
[name: string]: unknown;
|
|
13566
|
+
};
|
|
13567
|
+
content: {
|
|
13568
|
+
"application/json": {
|
|
13569
|
+
operation: components["schemas"]["Operation"];
|
|
13570
|
+
workspace: components["schemas"]["Workspace"];
|
|
13571
|
+
/**
|
|
13572
|
+
* Format: uuid
|
|
13573
|
+
* @description UUIDv7, lowercase canonical form.
|
|
13574
|
+
*/
|
|
13575
|
+
source_workspace_id: string;
|
|
13576
|
+
cell_endpoint: string | null;
|
|
13577
|
+
tool_token: components["schemas"]["ToolToken"] | null;
|
|
13578
|
+
};
|
|
13579
|
+
};
|
|
13580
|
+
};
|
|
13482
13581
|
/** @description Default Response */
|
|
13483
13582
|
202: {
|
|
13484
13583
|
headers: {
|
|
@@ -14985,6 +15084,12 @@ export interface operations {
|
|
|
14985
15084
|
} | null;
|
|
14986
15085
|
defaults: components["schemas"]["TemplateDefaults"];
|
|
14987
15086
|
settings: components["schemas"]["TemplateSettings"];
|
|
15087
|
+
immutable: {
|
|
15088
|
+
/** @description The directories every workspace of the template mounts read-only from its newest published version, in byte order. */
|
|
15089
|
+
paths: string[];
|
|
15090
|
+
/** @description Size of the version’s immutable image (counts toward template storage). */
|
|
15091
|
+
bytes: number;
|
|
15092
|
+
} | null;
|
|
14988
15093
|
files: components["schemas"]["TemplateFilesSummary"];
|
|
14989
15094
|
rootfs_bytes: number | null;
|
|
14990
15095
|
/** @description The org layers of this version’s chain, bottom to top (empty for images). */
|
|
@@ -15028,7 +15133,6 @@ export interface operations {
|
|
|
15028
15133
|
*/
|
|
15029
15134
|
created_at: string;
|
|
15030
15135
|
} | null;
|
|
15031
|
-
update_policy: components["schemas"]["UpdatePolicy"];
|
|
15032
15136
|
category: ("os" | "stack") | null;
|
|
15033
15137
|
}[];
|
|
15034
15138
|
next_cursor: string | null;
|
|
@@ -15197,6 +15301,12 @@ export interface operations {
|
|
|
15197
15301
|
} | null;
|
|
15198
15302
|
defaults: components["schemas"]["TemplateDefaults"];
|
|
15199
15303
|
settings: components["schemas"]["TemplateSettings"];
|
|
15304
|
+
immutable: {
|
|
15305
|
+
/** @description The directories every workspace of the template mounts read-only from its newest published version, in byte order. */
|
|
15306
|
+
paths: string[];
|
|
15307
|
+
/** @description Size of the version’s immutable image (counts toward template storage). */
|
|
15308
|
+
bytes: number;
|
|
15309
|
+
} | null;
|
|
15200
15310
|
files: components["schemas"]["TemplateFilesSummary"];
|
|
15201
15311
|
rootfs_bytes: number | null;
|
|
15202
15312
|
/** @description The org layers of this version’s chain, bottom to top (empty for images). */
|
|
@@ -15240,7 +15350,6 @@ export interface operations {
|
|
|
15240
15350
|
*/
|
|
15241
15351
|
created_at: string;
|
|
15242
15352
|
} | null;
|
|
15243
|
-
update_policy: components["schemas"]["UpdatePolicy"];
|
|
15244
15353
|
category: ("os" | "stack") | null;
|
|
15245
15354
|
plan: {
|
|
15246
15355
|
plan_key: string;
|
|
@@ -15356,6 +15465,12 @@ export interface operations {
|
|
|
15356
15465
|
} | null;
|
|
15357
15466
|
defaults: components["schemas"]["TemplateDefaults"];
|
|
15358
15467
|
settings: components["schemas"]["TemplateSettings"];
|
|
15468
|
+
immutable: {
|
|
15469
|
+
/** @description The directories every workspace of the template mounts read-only from its newest published version, in byte order. */
|
|
15470
|
+
paths: string[];
|
|
15471
|
+
/** @description Size of the version’s immutable image (counts toward template storage). */
|
|
15472
|
+
bytes: number;
|
|
15473
|
+
} | null;
|
|
15359
15474
|
files: components["schemas"]["TemplateFilesSummary"];
|
|
15360
15475
|
rootfs_bytes: number | null;
|
|
15361
15476
|
/** @description The org layers of this version’s chain, bottom to top (empty for images). */
|
|
@@ -15534,6 +15649,12 @@ export interface operations {
|
|
|
15534
15649
|
} | null;
|
|
15535
15650
|
defaults: components["schemas"]["TemplateDefaults"];
|
|
15536
15651
|
settings: components["schemas"]["TemplateSettings"];
|
|
15652
|
+
immutable: {
|
|
15653
|
+
/** @description The directories every workspace of the template mounts read-only from its newest published version, in byte order. */
|
|
15654
|
+
paths: string[];
|
|
15655
|
+
/** @description Size of the version’s immutable image (counts toward template storage). */
|
|
15656
|
+
bytes: number;
|
|
15657
|
+
} | null;
|
|
15537
15658
|
files: components["schemas"]["TemplateFilesSummary"];
|
|
15538
15659
|
rootfs_bytes: number | null;
|
|
15539
15660
|
/** @description The org layers of this version’s chain, bottom to top (empty for images). */
|
|
@@ -15577,7 +15698,6 @@ export interface operations {
|
|
|
15577
15698
|
*/
|
|
15578
15699
|
created_at: string;
|
|
15579
15700
|
} | null;
|
|
15580
|
-
update_policy: components["schemas"]["UpdatePolicy"];
|
|
15581
15701
|
category: ("os" | "stack") | null;
|
|
15582
15702
|
}[];
|
|
15583
15703
|
next_cursor: string | null;
|
|
@@ -15744,6 +15864,12 @@ export interface operations {
|
|
|
15744
15864
|
} | null;
|
|
15745
15865
|
defaults: components["schemas"]["TemplateDefaults"];
|
|
15746
15866
|
settings: components["schemas"]["TemplateSettings"];
|
|
15867
|
+
immutable: {
|
|
15868
|
+
/** @description The directories every workspace of the template mounts read-only from its newest published version, in byte order. */
|
|
15869
|
+
paths: string[];
|
|
15870
|
+
/** @description Size of the version’s immutable image (counts toward template storage). */
|
|
15871
|
+
bytes: number;
|
|
15872
|
+
} | null;
|
|
15747
15873
|
files: components["schemas"]["TemplateFilesSummary"];
|
|
15748
15874
|
rootfs_bytes: number | null;
|
|
15749
15875
|
/** @description The org layers of this version’s chain, bottom to top (empty for images). */
|
|
@@ -15787,7 +15913,6 @@ export interface operations {
|
|
|
15787
15913
|
*/
|
|
15788
15914
|
created_at: string;
|
|
15789
15915
|
} | null;
|
|
15790
|
-
update_policy: components["schemas"]["UpdatePolicy"];
|
|
15791
15916
|
category: ("os" | "stack") | null;
|
|
15792
15917
|
plan: {
|
|
15793
15918
|
plan_key: string;
|
|
@@ -15903,6 +16028,12 @@ export interface operations {
|
|
|
15903
16028
|
} | null;
|
|
15904
16029
|
defaults: components["schemas"]["TemplateDefaults"];
|
|
15905
16030
|
settings: components["schemas"]["TemplateSettings"];
|
|
16031
|
+
immutable: {
|
|
16032
|
+
/** @description The directories every workspace of the template mounts read-only from its newest published version, in byte order. */
|
|
16033
|
+
paths: string[];
|
|
16034
|
+
/** @description Size of the version’s immutable image (counts toward template storage). */
|
|
16035
|
+
bytes: number;
|
|
16036
|
+
} | null;
|
|
15906
16037
|
files: components["schemas"]["TemplateFilesSummary"];
|
|
15907
16038
|
rootfs_bytes: number | null;
|
|
15908
16039
|
/** @description The org layers of this version’s chain, bottom to top (empty for images). */
|
|
@@ -16167,6 +16298,8 @@ export interface operations {
|
|
|
16167
16298
|
kind: "file" | "tar";
|
|
16168
16299
|
}[];
|
|
16169
16300
|
};
|
|
16301
|
+
/** @description The effective immutable paths (contracts §34.1: the recipe’s, else inherited), in byte order; empty for none. */
|
|
16302
|
+
immutable: string[];
|
|
16170
16303
|
};
|
|
16171
16304
|
result: {
|
|
16172
16305
|
artifact_sha256: string | null;
|
|
@@ -16190,8 +16323,13 @@ export interface operations {
|
|
|
16190
16323
|
} | null;
|
|
16191
16324
|
};
|
|
16192
16325
|
failure: {
|
|
16326
|
+
/** @description build_error, timeout, resource_limit, scan_failed, compatibility_failed, base_unavailable, network_denied, internal_error, publish_failed, source_unavailable, immutable_path_missing (an immutable path is not a directory in the built filesystem: details.path), immutable_image_too_large (the immutable image exceeds 16 GiB). */
|
|
16193
16327
|
code: string;
|
|
16194
16328
|
message: string;
|
|
16329
|
+
/** @description Code-specific details (immutable_path_missing: {path}). */
|
|
16330
|
+
details?: {
|
|
16331
|
+
[key: string]: unknown;
|
|
16332
|
+
};
|
|
16195
16333
|
} | null;
|
|
16196
16334
|
/** @description Build log: the tail inline, the full log through a short-lived signed URL (log-url). */
|
|
16197
16335
|
log: {
|
|
@@ -16229,6 +16367,8 @@ export interface operations {
|
|
|
16229
16367
|
produced_layer_id: string | null;
|
|
16230
16368
|
squashed: boolean | null;
|
|
16231
16369
|
org_bytes: number | null;
|
|
16370
|
+
/** @description The immutable paths the produced version declares (contracts §34.1), in byte order: the recipe’s `immutable`, else the list of the template’s open version (a save from a workspace: the target template’s open version’s list, else the workspace’s version’s). Empty for none. */
|
|
16371
|
+
immutable_paths: string[];
|
|
16232
16372
|
}[];
|
|
16233
16373
|
next_cursor: string | null;
|
|
16234
16374
|
};
|
|
@@ -16493,6 +16633,8 @@ export interface operations {
|
|
|
16493
16633
|
kind: "file" | "tar";
|
|
16494
16634
|
}[];
|
|
16495
16635
|
};
|
|
16636
|
+
/** @description The effective immutable paths (contracts §34.1: the recipe’s, else inherited), in byte order; empty for none. */
|
|
16637
|
+
immutable: string[];
|
|
16496
16638
|
};
|
|
16497
16639
|
result: {
|
|
16498
16640
|
artifact_sha256: string | null;
|
|
@@ -16516,8 +16658,13 @@ export interface operations {
|
|
|
16516
16658
|
} | null;
|
|
16517
16659
|
};
|
|
16518
16660
|
failure: {
|
|
16661
|
+
/** @description build_error, timeout, resource_limit, scan_failed, compatibility_failed, base_unavailable, network_denied, internal_error, publish_failed, source_unavailable, immutable_path_missing (an immutable path is not a directory in the built filesystem: details.path), immutable_image_too_large (the immutable image exceeds 16 GiB). */
|
|
16519
16662
|
code: string;
|
|
16520
16663
|
message: string;
|
|
16664
|
+
/** @description Code-specific details (immutable_path_missing: {path}). */
|
|
16665
|
+
details?: {
|
|
16666
|
+
[key: string]: unknown;
|
|
16667
|
+
};
|
|
16521
16668
|
} | null;
|
|
16522
16669
|
/** @description Build log: the tail inline, the full log through a short-lived signed URL (log-url). */
|
|
16523
16670
|
log: {
|
|
@@ -16555,6 +16702,8 @@ export interface operations {
|
|
|
16555
16702
|
produced_layer_id: string | null;
|
|
16556
16703
|
squashed: boolean | null;
|
|
16557
16704
|
org_bytes: number | null;
|
|
16705
|
+
/** @description The immutable paths the produced version declares (contracts §34.1), in byte order: the recipe’s `immutable`, else the list of the template’s open version (a save from a workspace: the target template’s open version’s list, else the workspace’s version’s). Empty for none. */
|
|
16706
|
+
immutable_paths: string[];
|
|
16558
16707
|
};
|
|
16559
16708
|
};
|
|
16560
16709
|
};
|
|
@@ -16802,6 +16951,8 @@ export interface operations {
|
|
|
16802
16951
|
kind: "file" | "tar";
|
|
16803
16952
|
}[];
|
|
16804
16953
|
};
|
|
16954
|
+
/** @description The effective immutable paths (contracts §34.1: the recipe’s, else inherited), in byte order; empty for none. */
|
|
16955
|
+
immutable: string[];
|
|
16805
16956
|
};
|
|
16806
16957
|
result: {
|
|
16807
16958
|
artifact_sha256: string | null;
|
|
@@ -16825,8 +16976,13 @@ export interface operations {
|
|
|
16825
16976
|
} | null;
|
|
16826
16977
|
};
|
|
16827
16978
|
failure: {
|
|
16979
|
+
/** @description build_error, timeout, resource_limit, scan_failed, compatibility_failed, base_unavailable, network_denied, internal_error, publish_failed, source_unavailable, immutable_path_missing (an immutable path is not a directory in the built filesystem: details.path), immutable_image_too_large (the immutable image exceeds 16 GiB). */
|
|
16828
16980
|
code: string;
|
|
16829
16981
|
message: string;
|
|
16982
|
+
/** @description Code-specific details (immutable_path_missing: {path}). */
|
|
16983
|
+
details?: {
|
|
16984
|
+
[key: string]: unknown;
|
|
16985
|
+
};
|
|
16830
16986
|
} | null;
|
|
16831
16987
|
/** @description Build log: the tail inline, the full log through a short-lived signed URL (log-url). */
|
|
16832
16988
|
log: {
|
|
@@ -16864,6 +17020,8 @@ export interface operations {
|
|
|
16864
17020
|
produced_layer_id: string | null;
|
|
16865
17021
|
squashed: boolean | null;
|
|
16866
17022
|
org_bytes: number | null;
|
|
17023
|
+
/** @description The immutable paths the produced version declares (contracts §34.1), in byte order: the recipe’s `immutable`, else the list of the template’s open version (a save from a workspace: the target template’s open version’s list, else the workspace’s version’s). Empty for none. */
|
|
17024
|
+
immutable_paths: string[];
|
|
16867
17025
|
};
|
|
16868
17026
|
};
|
|
16869
17027
|
};
|
|
@@ -17108,6 +17266,8 @@ export interface operations {
|
|
|
17108
17266
|
kind: "file" | "tar";
|
|
17109
17267
|
}[];
|
|
17110
17268
|
};
|
|
17269
|
+
/** @description The effective immutable paths (contracts §34.1: the recipe’s, else inherited), in byte order; empty for none. */
|
|
17270
|
+
immutable: string[];
|
|
17111
17271
|
};
|
|
17112
17272
|
result: {
|
|
17113
17273
|
artifact_sha256: string | null;
|
|
@@ -17131,8 +17291,13 @@ export interface operations {
|
|
|
17131
17291
|
} | null;
|
|
17132
17292
|
};
|
|
17133
17293
|
failure: {
|
|
17294
|
+
/** @description build_error, timeout, resource_limit, scan_failed, compatibility_failed, base_unavailable, network_denied, internal_error, publish_failed, source_unavailable, immutable_path_missing (an immutable path is not a directory in the built filesystem: details.path), immutable_image_too_large (the immutable image exceeds 16 GiB). */
|
|
17134
17295
|
code: string;
|
|
17135
17296
|
message: string;
|
|
17297
|
+
/** @description Code-specific details (immutable_path_missing: {path}). */
|
|
17298
|
+
details?: {
|
|
17299
|
+
[key: string]: unknown;
|
|
17300
|
+
};
|
|
17136
17301
|
} | null;
|
|
17137
17302
|
/** @description Build log: the tail inline, the full log through a short-lived signed URL (log-url). */
|
|
17138
17303
|
log: {
|
|
@@ -17170,6 +17335,8 @@ export interface operations {
|
|
|
17170
17335
|
produced_layer_id: string | null;
|
|
17171
17336
|
squashed: boolean | null;
|
|
17172
17337
|
org_bytes: number | null;
|
|
17338
|
+
/** @description The immutable paths the produced version declares (contracts §34.1), in byte order: the recipe’s `immutable`, else the list of the template’s open version (a save from a workspace: the target template’s open version’s list, else the workspace’s version’s). Empty for none. */
|
|
17339
|
+
immutable_paths: string[];
|
|
17173
17340
|
};
|
|
17174
17341
|
};
|
|
17175
17342
|
};
|
|
@@ -17380,6 +17547,8 @@ export interface operations {
|
|
|
17380
17547
|
kind: "file" | "tar";
|
|
17381
17548
|
}[];
|
|
17382
17549
|
};
|
|
17550
|
+
/** @description The effective immutable paths (contracts §34.1: the recipe’s, else inherited), in byte order; empty for none. */
|
|
17551
|
+
immutable: string[];
|
|
17383
17552
|
};
|
|
17384
17553
|
result: {
|
|
17385
17554
|
artifact_sha256: string | null;
|
|
@@ -17403,8 +17572,13 @@ export interface operations {
|
|
|
17403
17572
|
} | null;
|
|
17404
17573
|
};
|
|
17405
17574
|
failure: {
|
|
17575
|
+
/** @description build_error, timeout, resource_limit, scan_failed, compatibility_failed, base_unavailable, network_denied, internal_error, publish_failed, source_unavailable, immutable_path_missing (an immutable path is not a directory in the built filesystem: details.path), immutable_image_too_large (the immutable image exceeds 16 GiB). */
|
|
17406
17576
|
code: string;
|
|
17407
17577
|
message: string;
|
|
17578
|
+
/** @description Code-specific details (immutable_path_missing: {path}). */
|
|
17579
|
+
details?: {
|
|
17580
|
+
[key: string]: unknown;
|
|
17581
|
+
};
|
|
17408
17582
|
} | null;
|
|
17409
17583
|
/** @description Build log: the tail inline, the full log through a short-lived signed URL (log-url). */
|
|
17410
17584
|
log: {
|
|
@@ -17442,6 +17616,8 @@ export interface operations {
|
|
|
17442
17616
|
produced_layer_id: string | null;
|
|
17443
17617
|
squashed: boolean | null;
|
|
17444
17618
|
org_bytes: number | null;
|
|
17619
|
+
/** @description The immutable paths the produced version declares (contracts §34.1), in byte order: the recipe’s `immutable`, else the list of the template’s open version (a save from a workspace: the target template’s open version’s list, else the workspace’s version’s). Empty for none. */
|
|
17620
|
+
immutable_paths: string[];
|
|
17445
17621
|
};
|
|
17446
17622
|
};
|
|
17447
17623
|
};
|
|
@@ -18073,6 +18249,12 @@ export interface operations {
|
|
|
18073
18249
|
} | null;
|
|
18074
18250
|
defaults: components["schemas"]["TemplateDefaults"];
|
|
18075
18251
|
settings: components["schemas"]["TemplateSettings"];
|
|
18252
|
+
immutable: {
|
|
18253
|
+
/** @description The directories every workspace of the template mounts read-only from its newest published version, in byte order. */
|
|
18254
|
+
paths: string[];
|
|
18255
|
+
/** @description Size of the version’s immutable image (counts toward template storage). */
|
|
18256
|
+
bytes: number;
|
|
18257
|
+
} | null;
|
|
18076
18258
|
files: components["schemas"]["TemplateFilesSummary"];
|
|
18077
18259
|
rootfs_bytes: number | null;
|
|
18078
18260
|
/** @description The org layers of this version’s chain, bottom to top (empty for images). */
|
|
@@ -18116,7 +18298,6 @@ export interface operations {
|
|
|
18116
18298
|
*/
|
|
18117
18299
|
created_at: string;
|
|
18118
18300
|
} | null;
|
|
18119
|
-
update_policy: components["schemas"]["UpdatePolicy"];
|
|
18120
18301
|
category: ("os" | "stack") | null;
|
|
18121
18302
|
plan: {
|
|
18122
18303
|
plan_key: string;
|
|
@@ -18232,6 +18413,12 @@ export interface operations {
|
|
|
18232
18413
|
} | null;
|
|
18233
18414
|
defaults: components["schemas"]["TemplateDefaults"];
|
|
18234
18415
|
settings: components["schemas"]["TemplateSettings"];
|
|
18416
|
+
immutable: {
|
|
18417
|
+
/** @description The directories every workspace of the template mounts read-only from its newest published version, in byte order. */
|
|
18418
|
+
paths: string[];
|
|
18419
|
+
/** @description Size of the version’s immutable image (counts toward template storage). */
|
|
18420
|
+
bytes: number;
|
|
18421
|
+
} | null;
|
|
18235
18422
|
files: components["schemas"]["TemplateFilesSummary"];
|
|
18236
18423
|
rootfs_bytes: number | null;
|
|
18237
18424
|
/** @description The org layers of this version’s chain, bottom to top (empty for images). */
|
|
@@ -18408,6 +18595,12 @@ export interface operations {
|
|
|
18408
18595
|
} | null;
|
|
18409
18596
|
defaults: components["schemas"]["TemplateDefaults"];
|
|
18410
18597
|
settings: components["schemas"]["TemplateSettings"];
|
|
18598
|
+
immutable: {
|
|
18599
|
+
/** @description The directories every workspace of the template mounts read-only from its newest published version, in byte order. */
|
|
18600
|
+
paths: string[];
|
|
18601
|
+
/** @description Size of the version’s immutable image (counts toward template storage). */
|
|
18602
|
+
bytes: number;
|
|
18603
|
+
} | null;
|
|
18411
18604
|
files: components["schemas"]["TemplateFilesSummary"];
|
|
18412
18605
|
rootfs_bytes: number | null;
|
|
18413
18606
|
/** @description The org layers of this version’s chain, bottom to top (empty for images). */
|
|
@@ -18451,7 +18644,6 @@ export interface operations {
|
|
|
18451
18644
|
*/
|
|
18452
18645
|
created_at: string;
|
|
18453
18646
|
} | null;
|
|
18454
|
-
update_policy: components["schemas"]["UpdatePolicy"];
|
|
18455
18647
|
category: ("os" | "stack") | null;
|
|
18456
18648
|
plan: {
|
|
18457
18649
|
plan_key: string;
|
|
@@ -18567,6 +18759,12 @@ export interface operations {
|
|
|
18567
18759
|
} | null;
|
|
18568
18760
|
defaults: components["schemas"]["TemplateDefaults"];
|
|
18569
18761
|
settings: components["schemas"]["TemplateSettings"];
|
|
18762
|
+
immutable: {
|
|
18763
|
+
/** @description The directories every workspace of the template mounts read-only from its newest published version, in byte order. */
|
|
18764
|
+
paths: string[];
|
|
18765
|
+
/** @description Size of the version’s immutable image (counts toward template storage). */
|
|
18766
|
+
bytes: number;
|
|
18767
|
+
} | null;
|
|
18570
18768
|
files: components["schemas"]["TemplateFilesSummary"];
|
|
18571
18769
|
rootfs_bytes: number | null;
|
|
18572
18770
|
/** @description The org layers of this version’s chain, bottom to top (empty for images). */
|
|
@@ -18748,6 +18946,12 @@ export interface operations {
|
|
|
18748
18946
|
} | null;
|
|
18749
18947
|
defaults: components["schemas"]["TemplateDefaults"];
|
|
18750
18948
|
settings: components["schemas"]["TemplateSettings"];
|
|
18949
|
+
immutable: {
|
|
18950
|
+
/** @description The directories every workspace of the template mounts read-only from its newest published version, in byte order. */
|
|
18951
|
+
paths: string[];
|
|
18952
|
+
/** @description Size of the version’s immutable image (counts toward template storage). */
|
|
18953
|
+
bytes: number;
|
|
18954
|
+
} | null;
|
|
18751
18955
|
files: components["schemas"]["TemplateFilesSummary"];
|
|
18752
18956
|
rootfs_bytes: number | null;
|
|
18753
18957
|
/** @description The org layers of this version’s chain, bottom to top (empty for images). */
|
|
@@ -18791,7 +18995,6 @@ export interface operations {
|
|
|
18791
18995
|
*/
|
|
18792
18996
|
created_at: string;
|
|
18793
18997
|
} | null;
|
|
18794
|
-
update_policy: components["schemas"]["UpdatePolicy"];
|
|
18795
18998
|
category: ("os" | "stack") | null;
|
|
18796
18999
|
}[];
|
|
18797
19000
|
next_cursor: string | null;
|
|
@@ -18960,6 +19163,12 @@ export interface operations {
|
|
|
18960
19163
|
} | null;
|
|
18961
19164
|
defaults: components["schemas"]["TemplateDefaults"];
|
|
18962
19165
|
settings: components["schemas"]["TemplateSettings"];
|
|
19166
|
+
immutable: {
|
|
19167
|
+
/** @description The directories every workspace of the template mounts read-only from its newest published version, in byte order. */
|
|
19168
|
+
paths: string[];
|
|
19169
|
+
/** @description Size of the version’s immutable image (counts toward template storage). */
|
|
19170
|
+
bytes: number;
|
|
19171
|
+
} | null;
|
|
18963
19172
|
files: components["schemas"]["TemplateFilesSummary"];
|
|
18964
19173
|
rootfs_bytes: number | null;
|
|
18965
19174
|
/** @description The org layers of this version’s chain, bottom to top (empty for images). */
|
|
@@ -19003,7 +19212,6 @@ export interface operations {
|
|
|
19003
19212
|
*/
|
|
19004
19213
|
created_at: string;
|
|
19005
19214
|
} | null;
|
|
19006
|
-
update_policy: components["schemas"]["UpdatePolicy"];
|
|
19007
19215
|
category: ("os" | "stack") | null;
|
|
19008
19216
|
plan: {
|
|
19009
19217
|
plan_key: string;
|
|
@@ -19119,6 +19327,12 @@ export interface operations {
|
|
|
19119
19327
|
} | null;
|
|
19120
19328
|
defaults: components["schemas"]["TemplateDefaults"];
|
|
19121
19329
|
settings: components["schemas"]["TemplateSettings"];
|
|
19330
|
+
immutable: {
|
|
19331
|
+
/** @description The directories every workspace of the template mounts read-only from its newest published version, in byte order. */
|
|
19332
|
+
paths: string[];
|
|
19333
|
+
/** @description Size of the version’s immutable image (counts toward template storage). */
|
|
19334
|
+
bytes: number;
|
|
19335
|
+
} | null;
|
|
19122
19336
|
files: components["schemas"]["TemplateFilesSummary"];
|
|
19123
19337
|
rootfs_bytes: number | null;
|
|
19124
19338
|
/** @description The org layers of this version’s chain, bottom to top (empty for images). */
|
|
@@ -19383,6 +19597,8 @@ export interface operations {
|
|
|
19383
19597
|
kind: "file" | "tar";
|
|
19384
19598
|
}[];
|
|
19385
19599
|
};
|
|
19600
|
+
/** @description The effective immutable paths (contracts §34.1: the recipe’s, else inherited), in byte order; empty for none. */
|
|
19601
|
+
immutable: string[];
|
|
19386
19602
|
};
|
|
19387
19603
|
result: {
|
|
19388
19604
|
artifact_sha256: string | null;
|
|
@@ -19406,8 +19622,13 @@ export interface operations {
|
|
|
19406
19622
|
} | null;
|
|
19407
19623
|
};
|
|
19408
19624
|
failure: {
|
|
19625
|
+
/** @description build_error, timeout, resource_limit, scan_failed, compatibility_failed, base_unavailable, network_denied, internal_error, publish_failed, source_unavailable, immutable_path_missing (an immutable path is not a directory in the built filesystem: details.path), immutable_image_too_large (the immutable image exceeds 16 GiB). */
|
|
19409
19626
|
code: string;
|
|
19410
19627
|
message: string;
|
|
19628
|
+
/** @description Code-specific details (immutable_path_missing: {path}). */
|
|
19629
|
+
details?: {
|
|
19630
|
+
[key: string]: unknown;
|
|
19631
|
+
};
|
|
19411
19632
|
} | null;
|
|
19412
19633
|
/** @description Build log: the tail inline, the full log through a short-lived signed URL (log-url). */
|
|
19413
19634
|
log: {
|
|
@@ -19445,6 +19666,8 @@ export interface operations {
|
|
|
19445
19666
|
produced_layer_id: string | null;
|
|
19446
19667
|
squashed: boolean | null;
|
|
19447
19668
|
org_bytes: number | null;
|
|
19669
|
+
/** @description The immutable paths the produced version declares (contracts §34.1), in byte order: the recipe’s `immutable`, else the list of the template’s open version (a save from a workspace: the target template’s open version’s list, else the workspace’s version’s). Empty for none. */
|
|
19670
|
+
immutable_paths: string[];
|
|
19448
19671
|
}[];
|
|
19449
19672
|
next_cursor: string | null;
|
|
19450
19673
|
};
|
|
@@ -19709,6 +19932,8 @@ export interface operations {
|
|
|
19709
19932
|
kind: "file" | "tar";
|
|
19710
19933
|
}[];
|
|
19711
19934
|
};
|
|
19935
|
+
/** @description The effective immutable paths (contracts §34.1: the recipe’s, else inherited), in byte order; empty for none. */
|
|
19936
|
+
immutable: string[];
|
|
19712
19937
|
};
|
|
19713
19938
|
result: {
|
|
19714
19939
|
artifact_sha256: string | null;
|
|
@@ -19732,8 +19957,13 @@ export interface operations {
|
|
|
19732
19957
|
} | null;
|
|
19733
19958
|
};
|
|
19734
19959
|
failure: {
|
|
19960
|
+
/** @description build_error, timeout, resource_limit, scan_failed, compatibility_failed, base_unavailable, network_denied, internal_error, publish_failed, source_unavailable, immutable_path_missing (an immutable path is not a directory in the built filesystem: details.path), immutable_image_too_large (the immutable image exceeds 16 GiB). */
|
|
19735
19961
|
code: string;
|
|
19736
19962
|
message: string;
|
|
19963
|
+
/** @description Code-specific details (immutable_path_missing: {path}). */
|
|
19964
|
+
details?: {
|
|
19965
|
+
[key: string]: unknown;
|
|
19966
|
+
};
|
|
19737
19967
|
} | null;
|
|
19738
19968
|
/** @description Build log: the tail inline, the full log through a short-lived signed URL (log-url). */
|
|
19739
19969
|
log: {
|
|
@@ -19771,6 +20001,8 @@ export interface operations {
|
|
|
19771
20001
|
produced_layer_id: string | null;
|
|
19772
20002
|
squashed: boolean | null;
|
|
19773
20003
|
org_bytes: number | null;
|
|
20004
|
+
/** @description The immutable paths the produced version declares (contracts §34.1), in byte order: the recipe’s `immutable`, else the list of the template’s open version (a save from a workspace: the target template’s open version’s list, else the workspace’s version’s). Empty for none. */
|
|
20005
|
+
immutable_paths: string[];
|
|
19774
20006
|
};
|
|
19775
20007
|
};
|
|
19776
20008
|
};
|
|
@@ -20018,6 +20250,8 @@ export interface operations {
|
|
|
20018
20250
|
kind: "file" | "tar";
|
|
20019
20251
|
}[];
|
|
20020
20252
|
};
|
|
20253
|
+
/** @description The effective immutable paths (contracts §34.1: the recipe’s, else inherited), in byte order; empty for none. */
|
|
20254
|
+
immutable: string[];
|
|
20021
20255
|
};
|
|
20022
20256
|
result: {
|
|
20023
20257
|
artifact_sha256: string | null;
|
|
@@ -20041,8 +20275,13 @@ export interface operations {
|
|
|
20041
20275
|
} | null;
|
|
20042
20276
|
};
|
|
20043
20277
|
failure: {
|
|
20278
|
+
/** @description build_error, timeout, resource_limit, scan_failed, compatibility_failed, base_unavailable, network_denied, internal_error, publish_failed, source_unavailable, immutable_path_missing (an immutable path is not a directory in the built filesystem: details.path), immutable_image_too_large (the immutable image exceeds 16 GiB). */
|
|
20044
20279
|
code: string;
|
|
20045
20280
|
message: string;
|
|
20281
|
+
/** @description Code-specific details (immutable_path_missing: {path}). */
|
|
20282
|
+
details?: {
|
|
20283
|
+
[key: string]: unknown;
|
|
20284
|
+
};
|
|
20046
20285
|
} | null;
|
|
20047
20286
|
/** @description Build log: the tail inline, the full log through a short-lived signed URL (log-url). */
|
|
20048
20287
|
log: {
|
|
@@ -20080,6 +20319,8 @@ export interface operations {
|
|
|
20080
20319
|
produced_layer_id: string | null;
|
|
20081
20320
|
squashed: boolean | null;
|
|
20082
20321
|
org_bytes: number | null;
|
|
20322
|
+
/** @description The immutable paths the produced version declares (contracts §34.1), in byte order: the recipe’s `immutable`, else the list of the template’s open version (a save from a workspace: the target template’s open version’s list, else the workspace’s version’s). Empty for none. */
|
|
20323
|
+
immutable_paths: string[];
|
|
20083
20324
|
};
|
|
20084
20325
|
};
|
|
20085
20326
|
};
|
|
@@ -20324,6 +20565,8 @@ export interface operations {
|
|
|
20324
20565
|
kind: "file" | "tar";
|
|
20325
20566
|
}[];
|
|
20326
20567
|
};
|
|
20568
|
+
/** @description The effective immutable paths (contracts §34.1: the recipe’s, else inherited), in byte order; empty for none. */
|
|
20569
|
+
immutable: string[];
|
|
20327
20570
|
};
|
|
20328
20571
|
result: {
|
|
20329
20572
|
artifact_sha256: string | null;
|
|
@@ -20347,8 +20590,13 @@ export interface operations {
|
|
|
20347
20590
|
} | null;
|
|
20348
20591
|
};
|
|
20349
20592
|
failure: {
|
|
20593
|
+
/** @description build_error, timeout, resource_limit, scan_failed, compatibility_failed, base_unavailable, network_denied, internal_error, publish_failed, source_unavailable, immutable_path_missing (an immutable path is not a directory in the built filesystem: details.path), immutable_image_too_large (the immutable image exceeds 16 GiB). */
|
|
20350
20594
|
code: string;
|
|
20351
20595
|
message: string;
|
|
20596
|
+
/** @description Code-specific details (immutable_path_missing: {path}). */
|
|
20597
|
+
details?: {
|
|
20598
|
+
[key: string]: unknown;
|
|
20599
|
+
};
|
|
20352
20600
|
} | null;
|
|
20353
20601
|
/** @description Build log: the tail inline, the full log through a short-lived signed URL (log-url). */
|
|
20354
20602
|
log: {
|
|
@@ -20386,6 +20634,8 @@ export interface operations {
|
|
|
20386
20634
|
produced_layer_id: string | null;
|
|
20387
20635
|
squashed: boolean | null;
|
|
20388
20636
|
org_bytes: number | null;
|
|
20637
|
+
/** @description The immutable paths the produced version declares (contracts §34.1), in byte order: the recipe’s `immutable`, else the list of the template’s open version (a save from a workspace: the target template’s open version’s list, else the workspace’s version’s). Empty for none. */
|
|
20638
|
+
immutable_paths: string[];
|
|
20389
20639
|
};
|
|
20390
20640
|
};
|
|
20391
20641
|
};
|
|
@@ -20596,6 +20846,8 @@ export interface operations {
|
|
|
20596
20846
|
kind: "file" | "tar";
|
|
20597
20847
|
}[];
|
|
20598
20848
|
};
|
|
20849
|
+
/** @description The effective immutable paths (contracts §34.1: the recipe’s, else inherited), in byte order; empty for none. */
|
|
20850
|
+
immutable: string[];
|
|
20599
20851
|
};
|
|
20600
20852
|
result: {
|
|
20601
20853
|
artifact_sha256: string | null;
|
|
@@ -20619,8 +20871,13 @@ export interface operations {
|
|
|
20619
20871
|
} | null;
|
|
20620
20872
|
};
|
|
20621
20873
|
failure: {
|
|
20874
|
+
/** @description build_error, timeout, resource_limit, scan_failed, compatibility_failed, base_unavailable, network_denied, internal_error, publish_failed, source_unavailable, immutable_path_missing (an immutable path is not a directory in the built filesystem: details.path), immutable_image_too_large (the immutable image exceeds 16 GiB). */
|
|
20622
20875
|
code: string;
|
|
20623
20876
|
message: string;
|
|
20877
|
+
/** @description Code-specific details (immutable_path_missing: {path}). */
|
|
20878
|
+
details?: {
|
|
20879
|
+
[key: string]: unknown;
|
|
20880
|
+
};
|
|
20624
20881
|
} | null;
|
|
20625
20882
|
/** @description Build log: the tail inline, the full log through a short-lived signed URL (log-url). */
|
|
20626
20883
|
log: {
|
|
@@ -20658,6 +20915,8 @@ export interface operations {
|
|
|
20658
20915
|
produced_layer_id: string | null;
|
|
20659
20916
|
squashed: boolean | null;
|
|
20660
20917
|
org_bytes: number | null;
|
|
20918
|
+
/** @description The immutable paths the produced version declares (contracts §34.1), in byte order: the recipe’s `immutable`, else the list of the template’s open version (a save from a workspace: the target template’s open version’s list, else the workspace’s version’s). Empty for none. */
|
|
20919
|
+
immutable_paths: string[];
|
|
20661
20920
|
};
|
|
20662
20921
|
};
|
|
20663
20922
|
};
|
|
@@ -21109,6 +21368,12 @@ export interface operations {
|
|
|
21109
21368
|
} | null;
|
|
21110
21369
|
defaults: components["schemas"]["TemplateDefaults"];
|
|
21111
21370
|
settings: components["schemas"]["TemplateSettings"];
|
|
21371
|
+
immutable: {
|
|
21372
|
+
/** @description The directories every workspace of the template mounts read-only from its newest published version, in byte order. */
|
|
21373
|
+
paths: string[];
|
|
21374
|
+
/** @description Size of the version’s immutable image (counts toward template storage). */
|
|
21375
|
+
bytes: number;
|
|
21376
|
+
} | null;
|
|
21112
21377
|
files: components["schemas"]["TemplateFilesSummary"];
|
|
21113
21378
|
rootfs_bytes: number | null;
|
|
21114
21379
|
/** @description The org layers of this version’s chain, bottom to top (empty for images). */
|
|
@@ -21152,7 +21417,6 @@ export interface operations {
|
|
|
21152
21417
|
*/
|
|
21153
21418
|
created_at: string;
|
|
21154
21419
|
} | null;
|
|
21155
|
-
update_policy: components["schemas"]["UpdatePolicy"];
|
|
21156
21420
|
category: ("os" | "stack") | null;
|
|
21157
21421
|
plan: {
|
|
21158
21422
|
plan_key: string;
|
|
@@ -21268,6 +21532,12 @@ export interface operations {
|
|
|
21268
21532
|
} | null;
|
|
21269
21533
|
defaults: components["schemas"]["TemplateDefaults"];
|
|
21270
21534
|
settings: components["schemas"]["TemplateSettings"];
|
|
21535
|
+
immutable: {
|
|
21536
|
+
/** @description The directories every workspace of the template mounts read-only from its newest published version, in byte order. */
|
|
21537
|
+
paths: string[];
|
|
21538
|
+
/** @description Size of the version’s immutable image (counts toward template storage). */
|
|
21539
|
+
bytes: number;
|
|
21540
|
+
} | null;
|
|
21271
21541
|
files: components["schemas"]["TemplateFilesSummary"];
|
|
21272
21542
|
rootfs_bytes: number | null;
|
|
21273
21543
|
/** @description The org layers of this version’s chain, bottom to top (empty for images). */
|
|
@@ -21444,6 +21714,12 @@ export interface operations {
|
|
|
21444
21714
|
} | null;
|
|
21445
21715
|
defaults: components["schemas"]["TemplateDefaults"];
|
|
21446
21716
|
settings: components["schemas"]["TemplateSettings"];
|
|
21717
|
+
immutable: {
|
|
21718
|
+
/** @description The directories every workspace of the template mounts read-only from its newest published version, in byte order. */
|
|
21719
|
+
paths: string[];
|
|
21720
|
+
/** @description Size of the version’s immutable image (counts toward template storage). */
|
|
21721
|
+
bytes: number;
|
|
21722
|
+
} | null;
|
|
21447
21723
|
files: components["schemas"]["TemplateFilesSummary"];
|
|
21448
21724
|
rootfs_bytes: number | null;
|
|
21449
21725
|
/** @description The org layers of this version’s chain, bottom to top (empty for images). */
|
|
@@ -21487,7 +21763,6 @@ export interface operations {
|
|
|
21487
21763
|
*/
|
|
21488
21764
|
created_at: string;
|
|
21489
21765
|
} | null;
|
|
21490
|
-
update_policy: components["schemas"]["UpdatePolicy"];
|
|
21491
21766
|
category: ("os" | "stack") | null;
|
|
21492
21767
|
plan: {
|
|
21493
21768
|
plan_key: string;
|
|
@@ -21603,6 +21878,12 @@ export interface operations {
|
|
|
21603
21878
|
} | null;
|
|
21604
21879
|
defaults: components["schemas"]["TemplateDefaults"];
|
|
21605
21880
|
settings: components["schemas"]["TemplateSettings"];
|
|
21881
|
+
immutable: {
|
|
21882
|
+
/** @description The directories every workspace of the template mounts read-only from its newest published version, in byte order. */
|
|
21883
|
+
paths: string[];
|
|
21884
|
+
/** @description Size of the version’s immutable image (counts toward template storage). */
|
|
21885
|
+
bytes: number;
|
|
21886
|
+
} | null;
|
|
21606
21887
|
files: components["schemas"]["TemplateFilesSummary"];
|
|
21607
21888
|
rootfs_bytes: number | null;
|
|
21608
21889
|
/** @description The org layers of this version’s chain, bottom to top (empty for images). */
|