@shardflux/sdk 0.13.1 → 0.15.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 +134 -0
- package/README.md +233 -13
- package/dist/account.d.ts +41 -2
- package/dist/account.js +36 -2
- package/dist/cell.d.ts +39 -0
- package/dist/cell.js +71 -0
- package/dist/client.d.ts +115 -6
- package/dist/client.js +205 -5
- package/dist/codex-proof.d.ts +53 -0
- package/dist/codex-proof.js +200 -0
- package/dist/computer.d.ts +143 -0
- package/dist/computer.js +146 -0
- package/dist/errors.d.ts +1 -1
- package/dist/generated/app-api.d.ts +2649 -540
- package/dist/generated/cell-api.d.ts +338 -0
- package/dist/http.d.ts +1 -1
- package/dist/http.js +1 -1
- package/dist/index.d.ts +14 -6
- package/dist/index.js +7 -2
- package/dist/ports.d.ts +117 -0
- package/dist/ports.js +62 -0
- package/dist/progress.d.ts +11 -7
- package/dist/progress.js +2 -0
- package/dist/templates.d.ts +12 -0
- package/dist/templates.js +9 -0
- package/dist/tools.d.ts +24 -3
- package/dist/tools.js +131 -22
- package/dist/workspace-ref.d.ts +83 -0
- package/dist/workspace-ref.js +149 -0
- package/dist/workspace.d.ts +48 -1
- package/dist/workspace.js +71 -0
- package/package.json +1 -1
|
@@ -125,8 +125,8 @@ export interface paths {
|
|
|
125
125
|
cookie?: never;
|
|
126
126
|
};
|
|
127
127
|
/**
|
|
128
|
-
* Public keys (JWKS) for verifying ES256 workspace tool tokens
|
|
129
|
-
* @description Consumed by the cell gateway. Tokens carry `kid
|
|
128
|
+
* Public keys (JWKS) for verifying ES256 workspace tool tokens and port tokens
|
|
129
|
+
* @description Consumed by the cell gateway. Tokens carry `kid`. Tool tokens live at most 15 min; port tokens (`sfp_` + JWS, aud shardflux-ports, contracts §39.3) at most 1 day (bearer) or 7 days (link): keep a rotated-out key in TOOL_TOKEN_KMS_VERIFY_KEYS for 7 days.
|
|
130
130
|
*/
|
|
131
131
|
get: operations["getV1WellKnownToolTokenKeys"];
|
|
132
132
|
put?: never;
|
|
@@ -602,6 +602,46 @@ export interface paths {
|
|
|
602
602
|
patch?: never;
|
|
603
603
|
trace?: never;
|
|
604
604
|
};
|
|
605
|
+
"/v1/auth/signup": {
|
|
606
|
+
parameters: {
|
|
607
|
+
query?: never;
|
|
608
|
+
header?: never;
|
|
609
|
+
path?: never;
|
|
610
|
+
cookie?: never;
|
|
611
|
+
};
|
|
612
|
+
get?: never;
|
|
613
|
+
put?: never;
|
|
614
|
+
/**
|
|
615
|
+
* Sign up from an agent, without a browser or an email round-trip
|
|
616
|
+
* @description Returns a CLI session at once. With `codex_id_token` (a Codex CLI login, contracts §44.2) the email is verified and the request signs in to the account of that ChatGPT identity or email, creating it when there is none (201 when created, 200 when it signed in; `mfa_required` when the account has TOTP). With `email` only, a new unverified account is created (201) with `access: provisional` (resource routes on the default plan before verification) or `verification_required`; an address that already has an account is 409 conflict, details.reason `email_registered`. Verify later with POST /v1/auth/verify-email/code.
|
|
617
|
+
*/
|
|
618
|
+
post: operations["postV1AuthSignup"];
|
|
619
|
+
delete?: never;
|
|
620
|
+
options?: never;
|
|
621
|
+
head?: never;
|
|
622
|
+
patch?: never;
|
|
623
|
+
trace?: never;
|
|
624
|
+
};
|
|
625
|
+
"/v1/auth/verify-email/code": {
|
|
626
|
+
parameters: {
|
|
627
|
+
query?: never;
|
|
628
|
+
header?: never;
|
|
629
|
+
path?: never;
|
|
630
|
+
cookie?: never;
|
|
631
|
+
};
|
|
632
|
+
get?: never;
|
|
633
|
+
put?: never;
|
|
634
|
+
/**
|
|
635
|
+
* Verify the email with a 6-digit code
|
|
636
|
+
* @description Without `code`: emails a 6-digit code to the account address (202; valid 15 minutes, once; a new one ends the previous). With `code`: verifies the address (200). The code proves that whoever holds this session reads the inbox, so nothing is signed out; the signup trial is granted when it applies. 5 wrong attempts end a code: 400 token_invalid.
|
|
637
|
+
*/
|
|
638
|
+
post: operations["postV1AuthVerifyEmailCode"];
|
|
639
|
+
delete?: never;
|
|
640
|
+
options?: never;
|
|
641
|
+
head?: never;
|
|
642
|
+
patch?: never;
|
|
643
|
+
trace?: never;
|
|
644
|
+
};
|
|
605
645
|
"/v1/auth/login": {
|
|
606
646
|
parameters: {
|
|
607
647
|
query?: never;
|
|
@@ -724,7 +764,7 @@ export interface paths {
|
|
|
724
764
|
put?: never;
|
|
725
765
|
/**
|
|
726
766
|
* Re-authenticate for sensitive actions
|
|
727
|
-
* @description Password, plus a TOTP or recovery code when MFA is enabled. Rotates the session; valid for STEP_UP_WINDOW_SECONDS.
|
|
767
|
+
* @description Password, or a Codex identity proof (`codex_id_token`) of a Codex login linked to the account (contracts §44.2), plus a TOTP or recovery code when MFA is enabled. Rotates the session; valid for STEP_UP_WINDOW_SECONDS.
|
|
728
768
|
*/
|
|
729
769
|
post: operations["postV1AuthStepUp"];
|
|
730
770
|
delete?: never;
|
|
@@ -1493,6 +1533,26 @@ export interface paths {
|
|
|
1493
1533
|
patch?: never;
|
|
1494
1534
|
trace?: never;
|
|
1495
1535
|
};
|
|
1536
|
+
"/v1/workspaces/{workspace_id}/computer-use": {
|
|
1537
|
+
parameters: {
|
|
1538
|
+
query?: never;
|
|
1539
|
+
header?: never;
|
|
1540
|
+
path?: never;
|
|
1541
|
+
cookie?: never;
|
|
1542
|
+
};
|
|
1543
|
+
get?: never;
|
|
1544
|
+
/**
|
|
1545
|
+
* Switch computer use on or off for the workspace (contracts §45.1)
|
|
1546
|
+
* @description enabled: true or false overrides the template’s switch; null follows it. While computer use is on, tool tokens carry the computer tool and the workspace desktop starts on the first computer call. Takes effect on the next tool token. 409 computer_use_unavailable when the workspace’s template version cannot run a desktop, 409 not_supported_for_mode for file-first workspaces (§29), 409 workspace_deleted. Returns the switch.
|
|
1547
|
+
*/
|
|
1548
|
+
put: operations["putV1WorkspacesWorkspaceIdComputerUse"];
|
|
1549
|
+
post?: never;
|
|
1550
|
+
delete?: never;
|
|
1551
|
+
options?: never;
|
|
1552
|
+
head?: never;
|
|
1553
|
+
patch?: never;
|
|
1554
|
+
trace?: never;
|
|
1555
|
+
};
|
|
1496
1556
|
"/v1/workspaces/{workspace_id}/suspend": {
|
|
1497
1557
|
parameters: {
|
|
1498
1558
|
query?: never;
|
|
@@ -1553,6 +1613,26 @@ export interface paths {
|
|
|
1553
1613
|
patch?: never;
|
|
1554
1614
|
trace?: never;
|
|
1555
1615
|
};
|
|
1616
|
+
"/v1/workspaces/{workspace_id}/caps": {
|
|
1617
|
+
parameters: {
|
|
1618
|
+
query?: never;
|
|
1619
|
+
header?: never;
|
|
1620
|
+
path?: never;
|
|
1621
|
+
cookie?: never;
|
|
1622
|
+
};
|
|
1623
|
+
get?: never;
|
|
1624
|
+
put?: never;
|
|
1625
|
+
post?: never;
|
|
1626
|
+
delete?: never;
|
|
1627
|
+
options?: never;
|
|
1628
|
+
head?: never;
|
|
1629
|
+
/**
|
|
1630
|
+
* Resize a workspace: memory, its allocation mode, CPU and disk, running or suspended
|
|
1631
|
+
* @description Changes the caps of any workspace, fixed or elastic, running or suspended, without restarting or forking it. Each given field replaces the stored one (omitted fields keep theirs); every later start uses the new caps. Each value is bounded like caps at open: by the plan’s per-workspace maximum and the template’s limit (`limit_reason` plan or template). A running workspace changes live where it can (memory plugged or unplugged, CPU within its boot vCPUs, disk grown online); a suspended one gets the change right after its next resume, before the first call; what cannot apply now says `applies_at: next_start` and applies at the next start. The request is held until the resize finishes, up to `Prefer: wait=<seconds>` (default 20, at most 55): 200 ResizeResult (per resource: `applies_at` now | resume | next_start, requested, target, previous and applied values, `limit_reason`, `reason`) with the workspace caps; otherwise 202 with the `resize` operation, whose `result` carries the same per-resource fields when it succeeds. A resize that fails answers with its error. Errors (nothing changes): 409 conflict reason resize_not_available (not enabled for the organization), workspace_deleted, operation_in_progress (another lifecycle operation is active; details.active_operation_id, retryable); 422 validation_failed reason not_supported_for_mode (file-first workspace), shrink_not_supported (disk_gib below the current disk; details.current_disk_gib), requires_elastic (memory_mib_held without an elastic mode), exceeds_memory_mib (memory_mib_held above the maximum), allocation_mode_not_available (elastic memory is not available to the organization); 402 as for a start (no plan, new starts on hold). Owners, admins and members, and API keys with a tool permission. Supports Idempotency-Key.
|
|
1632
|
+
*/
|
|
1633
|
+
patch: operations["patchV1WorkspacesWorkspaceIdCaps"];
|
|
1634
|
+
trace?: never;
|
|
1635
|
+
};
|
|
1556
1636
|
"/v1/workspaces/{workspace_id}/suspend-when-idle": {
|
|
1557
1637
|
parameters: {
|
|
1558
1638
|
query?: never;
|
|
@@ -1886,6 +1966,26 @@ export interface paths {
|
|
|
1886
1966
|
patch?: never;
|
|
1887
1967
|
trace?: never;
|
|
1888
1968
|
};
|
|
1969
|
+
"/api/v1/workspaces/{workspace_id}/computer-use": {
|
|
1970
|
+
parameters: {
|
|
1971
|
+
query?: never;
|
|
1972
|
+
header?: never;
|
|
1973
|
+
path?: never;
|
|
1974
|
+
cookie?: never;
|
|
1975
|
+
};
|
|
1976
|
+
get?: never;
|
|
1977
|
+
/**
|
|
1978
|
+
* Switch computer use on or off for the workspace (contracts §45.1)
|
|
1979
|
+
* @description enabled: true or false overrides the template’s switch; null follows it. While computer use is on, tool tokens carry the computer tool and the workspace desktop starts on the first computer call. Takes effect on the next tool token. 409 computer_use_unavailable when the workspace’s template version cannot run a desktop, 409 not_supported_for_mode for file-first workspaces (§29), 409 workspace_deleted. Returns the switch.
|
|
1980
|
+
*/
|
|
1981
|
+
put: operations["putApiV1WorkspacesWorkspaceIdComputerUse"];
|
|
1982
|
+
post?: never;
|
|
1983
|
+
delete?: never;
|
|
1984
|
+
options?: never;
|
|
1985
|
+
head?: never;
|
|
1986
|
+
patch?: never;
|
|
1987
|
+
trace?: never;
|
|
1988
|
+
};
|
|
1889
1989
|
"/api/v1/workspaces/{workspace_id}/suspend": {
|
|
1890
1990
|
parameters: {
|
|
1891
1991
|
query?: never;
|
|
@@ -1946,6 +2046,26 @@ export interface paths {
|
|
|
1946
2046
|
patch?: never;
|
|
1947
2047
|
trace?: never;
|
|
1948
2048
|
};
|
|
2049
|
+
"/api/v1/workspaces/{workspace_id}/caps": {
|
|
2050
|
+
parameters: {
|
|
2051
|
+
query?: never;
|
|
2052
|
+
header?: never;
|
|
2053
|
+
path?: never;
|
|
2054
|
+
cookie?: never;
|
|
2055
|
+
};
|
|
2056
|
+
get?: never;
|
|
2057
|
+
put?: never;
|
|
2058
|
+
post?: never;
|
|
2059
|
+
delete?: never;
|
|
2060
|
+
options?: never;
|
|
2061
|
+
head?: never;
|
|
2062
|
+
/**
|
|
2063
|
+
* Resize a workspace: memory, its allocation mode, CPU and disk, running or suspended
|
|
2064
|
+
* @description Changes the caps of any workspace, fixed or elastic, running or suspended, without restarting or forking it. Each given field replaces the stored one (omitted fields keep theirs); every later start uses the new caps. Each value is bounded like caps at open: by the plan’s per-workspace maximum and the template’s limit (`limit_reason` plan or template). A running workspace changes live where it can (memory plugged or unplugged, CPU within its boot vCPUs, disk grown online); a suspended one gets the change right after its next resume, before the first call; what cannot apply now says `applies_at: next_start` and applies at the next start. The request is held until the resize finishes, up to `Prefer: wait=<seconds>` (default 20, at most 55): 200 ResizeResult (per resource: `applies_at` now | resume | next_start, requested, target, previous and applied values, `limit_reason`, `reason`) with the workspace caps; otherwise 202 with the `resize` operation, whose `result` carries the same per-resource fields when it succeeds. A resize that fails answers with its error. Errors (nothing changes): 409 conflict reason resize_not_available (not enabled for the organization), workspace_deleted, operation_in_progress (another lifecycle operation is active; details.active_operation_id, retryable); 422 validation_failed reason not_supported_for_mode (file-first workspace), shrink_not_supported (disk_gib below the current disk; details.current_disk_gib), requires_elastic (memory_mib_held without an elastic mode), exceeds_memory_mib (memory_mib_held above the maximum), allocation_mode_not_available (elastic memory is not available to the organization); 402 as for a start (no plan, new starts on hold). Owners, admins and members, and API keys with a tool permission. Supports Idempotency-Key.
|
|
2065
|
+
*/
|
|
2066
|
+
patch: operations["patchApiV1WorkspacesWorkspaceIdCaps"];
|
|
2067
|
+
trace?: never;
|
|
2068
|
+
};
|
|
1949
2069
|
"/api/v1/workspaces/{workspace_id}/suspend-when-idle": {
|
|
1950
2070
|
parameters: {
|
|
1951
2071
|
query?: never;
|
|
@@ -2161,6 +2281,242 @@ export interface paths {
|
|
|
2161
2281
|
patch?: never;
|
|
2162
2282
|
trace?: never;
|
|
2163
2283
|
};
|
|
2284
|
+
"/v1/workspaces/{workspace_id}/ports/{port}": {
|
|
2285
|
+
parameters: {
|
|
2286
|
+
query?: never;
|
|
2287
|
+
header?: never;
|
|
2288
|
+
path?: never;
|
|
2289
|
+
cookie?: never;
|
|
2290
|
+
};
|
|
2291
|
+
get?: never;
|
|
2292
|
+
/**
|
|
2293
|
+
* Expose a port of the workspace at its own HTTPS URL
|
|
2294
|
+
* @description Serves TCP `port` inside the workspace at `https://<port>-<handle>.<ingress domain>` (contracts §39.3). The port is private: every request needs a port token (POST …/tokens), a signed link (POST …/links) or the port’s callback URL (POST …/callback). A request to a suspended workspace resumes it and is held until it runs; a parked one wakes inside the request. 201 when exposed now, 200 when it already was (unchanged: its tokens, links and callback URL stay valid). The handle is the workspace’s for good (kept when ports are closed and exposed again, across suspend, resume and reset; a fork gets none). At most 10 exposed ports: 409 conflict details.reason port_limit (details.limit 10). Errors: 403 forbidden details.reason inbound_ports_not_available (inbound ports are not enabled for the organization), 409 conflict not_supported_for_mode (file-first workspace) or workspace_deleted, 422 validation_failed for a port outside 1-65535 (details.reason port_reserved for 61001, the workspace desktop’s control port, contracts §45.5).
|
|
2295
|
+
*/
|
|
2296
|
+
put: operations["putV1WorkspacesWorkspaceIdPortsPort"];
|
|
2297
|
+
post?: never;
|
|
2298
|
+
/**
|
|
2299
|
+
* Close an exposed port
|
|
2300
|
+
* @description 204, also when the port was not exposed. Its tokens, links and callback URL stop working at once (the gateway caches for at most 5 s), and stay revoked if the port is exposed again. The workspace keeps its URL handle. Errors: 403 forbidden details.reason inbound_ports_not_available (inbound ports are not enabled for the organization), 409 conflict not_supported_for_mode (file-first workspace) or workspace_deleted, 422 validation_failed for a port outside 1-65535 (details.reason port_reserved for 61001, the workspace desktop’s control port, contracts §45.5).
|
|
2301
|
+
*/
|
|
2302
|
+
delete: operations["deleteV1WorkspacesWorkspaceIdPortsPort"];
|
|
2303
|
+
options?: never;
|
|
2304
|
+
head?: never;
|
|
2305
|
+
patch?: never;
|
|
2306
|
+
trace?: never;
|
|
2307
|
+
};
|
|
2308
|
+
"/v1/workspaces/{workspace_id}/ports": {
|
|
2309
|
+
parameters: {
|
|
2310
|
+
query?: never;
|
|
2311
|
+
header?: never;
|
|
2312
|
+
path?: never;
|
|
2313
|
+
cookie?: never;
|
|
2314
|
+
};
|
|
2315
|
+
/**
|
|
2316
|
+
* List the workspace’s exposed ports
|
|
2317
|
+
* @description Ordered by port. `callback` is set when the port has a callback URL (its secret is never shown again). Errors: 403 forbidden details.reason inbound_ports_not_available (inbound ports are not enabled for the organization), 409 conflict not_supported_for_mode (file-first workspace) or workspace_deleted, 422 validation_failed for a port outside 1-65535 (details.reason port_reserved for 61001, the workspace desktop’s control port, contracts §45.5).
|
|
2318
|
+
*/
|
|
2319
|
+
get: operations["getV1WorkspacesWorkspaceIdPorts"];
|
|
2320
|
+
put?: never;
|
|
2321
|
+
post?: never;
|
|
2322
|
+
delete?: never;
|
|
2323
|
+
options?: never;
|
|
2324
|
+
head?: never;
|
|
2325
|
+
patch?: never;
|
|
2326
|
+
trace?: never;
|
|
2327
|
+
};
|
|
2328
|
+
"/v1/workspaces/{workspace_id}/ports/{port}/tokens": {
|
|
2329
|
+
parameters: {
|
|
2330
|
+
query?: never;
|
|
2331
|
+
header?: never;
|
|
2332
|
+
path?: never;
|
|
2333
|
+
cookie?: never;
|
|
2334
|
+
};
|
|
2335
|
+
get?: never;
|
|
2336
|
+
put?: never;
|
|
2337
|
+
/**
|
|
2338
|
+
* Mint a port token for an exposed port
|
|
2339
|
+
* @description A bearer token for requests to the port’s URL: `Authorization: Bearer <token>` (or `X-Shardflux-Token: <token>` when the app uses Authorization itself). `sfp_` + an ES256 JWS (claims iss, aud `shardflux-ports`, sub, pty, org, prj, ws, port, pxid, use `bearer`, iat, exp, jti; keys at GET /v1/.well-known/tool-token-keys). Revoked by closing the port, deleting the workspace, revoking the API key that minted it, or the minting member’s removal or role change. 404 not_found details.reason port_not_exposed. Errors: 403 forbidden details.reason inbound_ports_not_available (inbound ports are not enabled for the organization), 409 conflict not_supported_for_mode (file-first workspace) or workspace_deleted, 422 validation_failed for a port outside 1-65535 (details.reason port_reserved for 61001, the workspace desktop’s control port, contracts §45.5).
|
|
2340
|
+
*/
|
|
2341
|
+
post: operations["postV1WorkspacesWorkspaceIdPortsPortTokens"];
|
|
2342
|
+
delete?: never;
|
|
2343
|
+
options?: never;
|
|
2344
|
+
head?: never;
|
|
2345
|
+
patch?: never;
|
|
2346
|
+
trace?: never;
|
|
2347
|
+
};
|
|
2348
|
+
"/v1/workspaces/{workspace_id}/ports/{port}/links": {
|
|
2349
|
+
parameters: {
|
|
2350
|
+
query?: never;
|
|
2351
|
+
header?: never;
|
|
2352
|
+
path?: never;
|
|
2353
|
+
cookie?: never;
|
|
2354
|
+
};
|
|
2355
|
+
get?: never;
|
|
2356
|
+
put?: never;
|
|
2357
|
+
/**
|
|
2358
|
+
* Create a signed link that opens an exposed port in a browser
|
|
2359
|
+
* @description Opening the link sets a session cookie for the port’s host (HttpOnly, Secure, until `expires_at`) and redirects to `path`, so a person can use the app in a browser without a header. Share it like a password: anyone with the link can open the port until it expires. Revoked like a port token (closing the port, deleting the workspace, revoking the minting API key). 422 validation_failed details.field path for a path that does not start with one `/` or has characters other than printable ASCII. 404 not_found details.reason port_not_exposed. Errors: 403 forbidden details.reason inbound_ports_not_available (inbound ports are not enabled for the organization), 409 conflict not_supported_for_mode (file-first workspace) or workspace_deleted, 422 validation_failed for a port outside 1-65535 (details.reason port_reserved for 61001, the workspace desktop’s control port, contracts §45.5).
|
|
2360
|
+
*/
|
|
2361
|
+
post: operations["postV1WorkspacesWorkspaceIdPortsPortLinks"];
|
|
2362
|
+
delete?: never;
|
|
2363
|
+
options?: never;
|
|
2364
|
+
head?: never;
|
|
2365
|
+
patch?: never;
|
|
2366
|
+
trace?: never;
|
|
2367
|
+
};
|
|
2368
|
+
"/v1/workspaces/{workspace_id}/ports/{port}/callback": {
|
|
2369
|
+
parameters: {
|
|
2370
|
+
query?: never;
|
|
2371
|
+
header?: never;
|
|
2372
|
+
path?: never;
|
|
2373
|
+
cookie?: never;
|
|
2374
|
+
};
|
|
2375
|
+
get?: never;
|
|
2376
|
+
put?: never;
|
|
2377
|
+
/**
|
|
2378
|
+
* Create or replace the port’s callback URL (webhooks, OAuth redirects)
|
|
2379
|
+
* @description A URL with a secret in its path that reaches the port without a token header: register `<url><your path>` with GitHub, Slack, Stripe or an OAuth provider; a request to `/__shardflux/callback/<secret>/<rest>` reaches `/<rest>` (query kept) and wakes the workspace like any request. Creating it again replaces it (the previous URL stops working). The secret is shown only in this response (stored as a SHA-256 hash). Revoke it with DELETE, by closing the port, or by deleting the workspace; it also stops waking the workspace when its creator can no longer manage the workspace. 404 not_found details.reason port_not_exposed. Errors: 403 forbidden details.reason inbound_ports_not_available (inbound ports are not enabled for the organization), 409 conflict not_supported_for_mode (file-first workspace) or workspace_deleted, 422 validation_failed for a port outside 1-65535 (details.reason port_reserved for 61001, the workspace desktop’s control port, contracts §45.5).
|
|
2380
|
+
*/
|
|
2381
|
+
post: operations["postV1WorkspacesWorkspaceIdPortsPortCallback"];
|
|
2382
|
+
/**
|
|
2383
|
+
* Revoke the port’s callback URL
|
|
2384
|
+
* @description 204, also when the port has no callback URL. The URL stops working at once (the gateway caches for at most 5 s). 404 not_found details.reason port_not_exposed. Errors: 403 forbidden details.reason inbound_ports_not_available (inbound ports are not enabled for the organization), 409 conflict not_supported_for_mode (file-first workspace) or workspace_deleted, 422 validation_failed for a port outside 1-65535 (details.reason port_reserved for 61001, the workspace desktop’s control port, contracts §45.5).
|
|
2385
|
+
*/
|
|
2386
|
+
delete: operations["deleteV1WorkspacesWorkspaceIdPortsPortCallback"];
|
|
2387
|
+
options?: never;
|
|
2388
|
+
head?: never;
|
|
2389
|
+
patch?: never;
|
|
2390
|
+
trace?: never;
|
|
2391
|
+
};
|
|
2392
|
+
"/api/v1/workspaces/{workspace_id}/ports/{port}": {
|
|
2393
|
+
parameters: {
|
|
2394
|
+
query?: never;
|
|
2395
|
+
header?: never;
|
|
2396
|
+
path?: never;
|
|
2397
|
+
cookie?: never;
|
|
2398
|
+
};
|
|
2399
|
+
get?: never;
|
|
2400
|
+
/**
|
|
2401
|
+
* Expose a port of the workspace at its own HTTPS URL
|
|
2402
|
+
* @description Serves TCP `port` inside the workspace at `https://<port>-<handle>.<ingress domain>` (contracts §39.3). The port is private: every request needs a port token (POST …/tokens), a signed link (POST …/links) or the port’s callback URL (POST …/callback). A request to a suspended workspace resumes it and is held until it runs; a parked one wakes inside the request. 201 when exposed now, 200 when it already was (unchanged: its tokens, links and callback URL stay valid). The handle is the workspace’s for good (kept when ports are closed and exposed again, across suspend, resume and reset; a fork gets none). At most 10 exposed ports: 409 conflict details.reason port_limit (details.limit 10). Errors: 403 forbidden details.reason inbound_ports_not_available (inbound ports are not enabled for the organization), 409 conflict not_supported_for_mode (file-first workspace) or workspace_deleted, 422 validation_failed for a port outside 1-65535 (details.reason port_reserved for 61001, the workspace desktop’s control port, contracts §45.5).
|
|
2403
|
+
*/
|
|
2404
|
+
put: operations["putApiV1WorkspacesWorkspaceIdPortsPort"];
|
|
2405
|
+
post?: never;
|
|
2406
|
+
/**
|
|
2407
|
+
* Close an exposed port
|
|
2408
|
+
* @description 204, also when the port was not exposed. Its tokens, links and callback URL stop working at once (the gateway caches for at most 5 s), and stay revoked if the port is exposed again. The workspace keeps its URL handle. Errors: 403 forbidden details.reason inbound_ports_not_available (inbound ports are not enabled for the organization), 409 conflict not_supported_for_mode (file-first workspace) or workspace_deleted, 422 validation_failed for a port outside 1-65535 (details.reason port_reserved for 61001, the workspace desktop’s control port, contracts §45.5).
|
|
2409
|
+
*/
|
|
2410
|
+
delete: operations["deleteApiV1WorkspacesWorkspaceIdPortsPort"];
|
|
2411
|
+
options?: never;
|
|
2412
|
+
head?: never;
|
|
2413
|
+
patch?: never;
|
|
2414
|
+
trace?: never;
|
|
2415
|
+
};
|
|
2416
|
+
"/api/v1/workspaces/{workspace_id}/ports": {
|
|
2417
|
+
parameters: {
|
|
2418
|
+
query?: never;
|
|
2419
|
+
header?: never;
|
|
2420
|
+
path?: never;
|
|
2421
|
+
cookie?: never;
|
|
2422
|
+
};
|
|
2423
|
+
/**
|
|
2424
|
+
* List the workspace’s exposed ports
|
|
2425
|
+
* @description Ordered by port. `callback` is set when the port has a callback URL (its secret is never shown again). Errors: 403 forbidden details.reason inbound_ports_not_available (inbound ports are not enabled for the organization), 409 conflict not_supported_for_mode (file-first workspace) or workspace_deleted, 422 validation_failed for a port outside 1-65535 (details.reason port_reserved for 61001, the workspace desktop’s control port, contracts §45.5).
|
|
2426
|
+
*/
|
|
2427
|
+
get: operations["getApiV1WorkspacesWorkspaceIdPorts"];
|
|
2428
|
+
put?: never;
|
|
2429
|
+
post?: never;
|
|
2430
|
+
delete?: never;
|
|
2431
|
+
options?: never;
|
|
2432
|
+
head?: never;
|
|
2433
|
+
patch?: never;
|
|
2434
|
+
trace?: never;
|
|
2435
|
+
};
|
|
2436
|
+
"/api/v1/workspaces/{workspace_id}/ports/{port}/tokens": {
|
|
2437
|
+
parameters: {
|
|
2438
|
+
query?: never;
|
|
2439
|
+
header?: never;
|
|
2440
|
+
path?: never;
|
|
2441
|
+
cookie?: never;
|
|
2442
|
+
};
|
|
2443
|
+
get?: never;
|
|
2444
|
+
put?: never;
|
|
2445
|
+
/**
|
|
2446
|
+
* Mint a port token for an exposed port
|
|
2447
|
+
* @description A bearer token for requests to the port’s URL: `Authorization: Bearer <token>` (or `X-Shardflux-Token: <token>` when the app uses Authorization itself). `sfp_` + an ES256 JWS (claims iss, aud `shardflux-ports`, sub, pty, org, prj, ws, port, pxid, use `bearer`, iat, exp, jti; keys at GET /v1/.well-known/tool-token-keys). Revoked by closing the port, deleting the workspace, revoking the API key that minted it, or the minting member’s removal or role change. 404 not_found details.reason port_not_exposed. Errors: 403 forbidden details.reason inbound_ports_not_available (inbound ports are not enabled for the organization), 409 conflict not_supported_for_mode (file-first workspace) or workspace_deleted, 422 validation_failed for a port outside 1-65535 (details.reason port_reserved for 61001, the workspace desktop’s control port, contracts §45.5).
|
|
2448
|
+
*/
|
|
2449
|
+
post: operations["postApiV1WorkspacesWorkspaceIdPortsPortTokens"];
|
|
2450
|
+
delete?: never;
|
|
2451
|
+
options?: never;
|
|
2452
|
+
head?: never;
|
|
2453
|
+
patch?: never;
|
|
2454
|
+
trace?: never;
|
|
2455
|
+
};
|
|
2456
|
+
"/api/v1/workspaces/{workspace_id}/ports/{port}/links": {
|
|
2457
|
+
parameters: {
|
|
2458
|
+
query?: never;
|
|
2459
|
+
header?: never;
|
|
2460
|
+
path?: never;
|
|
2461
|
+
cookie?: never;
|
|
2462
|
+
};
|
|
2463
|
+
get?: never;
|
|
2464
|
+
put?: never;
|
|
2465
|
+
/**
|
|
2466
|
+
* Create a signed link that opens an exposed port in a browser
|
|
2467
|
+
* @description Opening the link sets a session cookie for the port’s host (HttpOnly, Secure, until `expires_at`) and redirects to `path`, so a person can use the app in a browser without a header. Share it like a password: anyone with the link can open the port until it expires. Revoked like a port token (closing the port, deleting the workspace, revoking the minting API key). 422 validation_failed details.field path for a path that does not start with one `/` or has characters other than printable ASCII. 404 not_found details.reason port_not_exposed. Errors: 403 forbidden details.reason inbound_ports_not_available (inbound ports are not enabled for the organization), 409 conflict not_supported_for_mode (file-first workspace) or workspace_deleted, 422 validation_failed for a port outside 1-65535 (details.reason port_reserved for 61001, the workspace desktop’s control port, contracts §45.5).
|
|
2468
|
+
*/
|
|
2469
|
+
post: operations["postApiV1WorkspacesWorkspaceIdPortsPortLinks"];
|
|
2470
|
+
delete?: never;
|
|
2471
|
+
options?: never;
|
|
2472
|
+
head?: never;
|
|
2473
|
+
patch?: never;
|
|
2474
|
+
trace?: never;
|
|
2475
|
+
};
|
|
2476
|
+
"/api/v1/workspaces/{workspace_id}/ports/{port}/callback": {
|
|
2477
|
+
parameters: {
|
|
2478
|
+
query?: never;
|
|
2479
|
+
header?: never;
|
|
2480
|
+
path?: never;
|
|
2481
|
+
cookie?: never;
|
|
2482
|
+
};
|
|
2483
|
+
get?: never;
|
|
2484
|
+
put?: never;
|
|
2485
|
+
/**
|
|
2486
|
+
* Create or replace the port’s callback URL (webhooks, OAuth redirects)
|
|
2487
|
+
* @description A URL with a secret in its path that reaches the port without a token header: register `<url><your path>` with GitHub, Slack, Stripe or an OAuth provider; a request to `/__shardflux/callback/<secret>/<rest>` reaches `/<rest>` (query kept) and wakes the workspace like any request. Creating it again replaces it (the previous URL stops working). The secret is shown only in this response (stored as a SHA-256 hash). Revoke it with DELETE, by closing the port, or by deleting the workspace; it also stops waking the workspace when its creator can no longer manage the workspace. 404 not_found details.reason port_not_exposed. Errors: 403 forbidden details.reason inbound_ports_not_available (inbound ports are not enabled for the organization), 409 conflict not_supported_for_mode (file-first workspace) or workspace_deleted, 422 validation_failed for a port outside 1-65535 (details.reason port_reserved for 61001, the workspace desktop’s control port, contracts §45.5).
|
|
2488
|
+
*/
|
|
2489
|
+
post: operations["postApiV1WorkspacesWorkspaceIdPortsPortCallback"];
|
|
2490
|
+
/**
|
|
2491
|
+
* Revoke the port’s callback URL
|
|
2492
|
+
* @description 204, also when the port has no callback URL. The URL stops working at once (the gateway caches for at most 5 s). 404 not_found details.reason port_not_exposed. Errors: 403 forbidden details.reason inbound_ports_not_available (inbound ports are not enabled for the organization), 409 conflict not_supported_for_mode (file-first workspace) or workspace_deleted, 422 validation_failed for a port outside 1-65535 (details.reason port_reserved for 61001, the workspace desktop’s control port, contracts §45.5).
|
|
2493
|
+
*/
|
|
2494
|
+
delete: operations["deleteApiV1WorkspacesWorkspaceIdPortsPortCallback"];
|
|
2495
|
+
options?: never;
|
|
2496
|
+
head?: never;
|
|
2497
|
+
patch?: never;
|
|
2498
|
+
trace?: never;
|
|
2499
|
+
};
|
|
2500
|
+
"/v1/internal/port-wakes": {
|
|
2501
|
+
parameters: {
|
|
2502
|
+
query?: never;
|
|
2503
|
+
header?: never;
|
|
2504
|
+
path?: never;
|
|
2505
|
+
cookie?: never;
|
|
2506
|
+
};
|
|
2507
|
+
get?: never;
|
|
2508
|
+
put?: never;
|
|
2509
|
+
/**
|
|
2510
|
+
* Wake a workspace for an inbound port request (called by the cell gateway)
|
|
2511
|
+
* @description Contracts §39.3. The credential is the ingress request’s port token, forwarded unchanged as `Authorization: Bearer sfp_…` (`use` bearer or link), or the callback URL’s secret in `callback_secret`. The API verifies it as the gateway does: ES256 with its own keys, iss, aud shardflux-ports, iat/exp, workspace and port of the token (403 port_token_scope), the port exposed (404 port_not_exposed) under the token’s exposure (`pxid`), the revocation watermarks of the minting principal and the workspace and the minting API key (401 port_token_revoked), or the callback secret’s SHA-256 and its creator’s lifecycle permission (401 callback_invalid); then the organization’s `policy.inbound_ports` (403 inbound_ports_not_enabled). A deleted workspace is 404 unknown_host. It then resumes the workspace as that principal exactly like POST /v1/workspaces/{id}/resume (joins an active resume/open, recovers a failed workspace with an open, refuses with its admission errors, which the gateway passes through), audited workspace.resume with details.via inbound_port. With `Prefer: wait=<seconds>` (at most 20) it holds like a held resume: 200 {workspace, operation} once the operation succeeded, 202 with the operation otherwise (also without the preference). A running workspace answers 200 at once with operation null. 401 port_auth_required (no credential), port_token_invalid; 429 rate_limited per workspace. `Cache-Control: no-store`.
|
|
2512
|
+
*/
|
|
2513
|
+
post: operations["postV1InternalPortWakes"];
|
|
2514
|
+
delete?: never;
|
|
2515
|
+
options?: never;
|
|
2516
|
+
head?: never;
|
|
2517
|
+
patch?: never;
|
|
2518
|
+
trace?: never;
|
|
2519
|
+
};
|
|
2164
2520
|
"/v1/projects/{project_id}/volumes": {
|
|
2165
2521
|
parameters: {
|
|
2166
2522
|
query?: never;
|
|
@@ -2441,6 +2797,46 @@ export interface paths {
|
|
|
2441
2797
|
patch?: never;
|
|
2442
2798
|
trace?: never;
|
|
2443
2799
|
};
|
|
2800
|
+
"/v1/organizations/{organization_id}/templates/{slug}/computer-use": {
|
|
2801
|
+
parameters: {
|
|
2802
|
+
query?: never;
|
|
2803
|
+
header?: never;
|
|
2804
|
+
path?: never;
|
|
2805
|
+
cookie?: never;
|
|
2806
|
+
};
|
|
2807
|
+
get?: never;
|
|
2808
|
+
/**
|
|
2809
|
+
* Switch computer use on or off for the workspaces of an organization template (contracts §45.1)
|
|
2810
|
+
* @description Every workspace of the template follows it unless the workspace sets its own value; takes effect on their next tool token. Owners and admins (sessions) or API keys of the organization with a tool permission. 403 for platform templates (switch a workspace on instead), 404 outside the organization.
|
|
2811
|
+
*/
|
|
2812
|
+
put: operations["putV1OrganizationsOrganizationIdTemplatesSlugComputerUse"];
|
|
2813
|
+
post?: never;
|
|
2814
|
+
delete?: never;
|
|
2815
|
+
options?: never;
|
|
2816
|
+
head?: never;
|
|
2817
|
+
patch?: never;
|
|
2818
|
+
trace?: never;
|
|
2819
|
+
};
|
|
2820
|
+
"/v1/templates/{slug}/computer-use": {
|
|
2821
|
+
parameters: {
|
|
2822
|
+
query?: never;
|
|
2823
|
+
header?: never;
|
|
2824
|
+
path?: never;
|
|
2825
|
+
cookie?: never;
|
|
2826
|
+
};
|
|
2827
|
+
get?: never;
|
|
2828
|
+
/**
|
|
2829
|
+
* Switch computer use on or off for the workspaces of an organization template (contracts §45.1) (the API key’s organization)
|
|
2830
|
+
* @description Every workspace of the template follows it unless the workspace sets its own value; takes effect on their next tool token. Owners and admins (sessions) or API keys of the organization with a tool permission. 403 for platform templates (switch a workspace on instead), 404 outside the organization.
|
|
2831
|
+
*/
|
|
2832
|
+
put: operations["putV1TemplatesSlugComputerUse"];
|
|
2833
|
+
post?: never;
|
|
2834
|
+
delete?: never;
|
|
2835
|
+
options?: never;
|
|
2836
|
+
head?: never;
|
|
2837
|
+
patch?: never;
|
|
2838
|
+
trace?: never;
|
|
2839
|
+
};
|
|
2444
2840
|
"/v1/organizations/{organization_id}/template-builds": {
|
|
2445
2841
|
parameters: {
|
|
2446
2842
|
query?: never;
|
|
@@ -2779,6 +3175,26 @@ export interface paths {
|
|
|
2779
3175
|
patch?: never;
|
|
2780
3176
|
trace?: never;
|
|
2781
3177
|
};
|
|
3178
|
+
"/api/v1/organizations/{organization_id}/templates/{slug}/computer-use": {
|
|
3179
|
+
parameters: {
|
|
3180
|
+
query?: never;
|
|
3181
|
+
header?: never;
|
|
3182
|
+
path?: never;
|
|
3183
|
+
cookie?: never;
|
|
3184
|
+
};
|
|
3185
|
+
get?: never;
|
|
3186
|
+
/**
|
|
3187
|
+
* Switch computer use on or off for the workspaces of an organization template (contracts §45.1)
|
|
3188
|
+
* @description Every workspace of the template follows it unless the workspace sets its own value; takes effect on their next tool token. Owners and admins (sessions) or API keys of the organization with a tool permission. 403 for platform templates (switch a workspace on instead), 404 outside the organization.
|
|
3189
|
+
*/
|
|
3190
|
+
put: operations["putApiV1OrganizationsOrganizationIdTemplatesSlugComputerUse"];
|
|
3191
|
+
post?: never;
|
|
3192
|
+
delete?: never;
|
|
3193
|
+
options?: never;
|
|
3194
|
+
head?: never;
|
|
3195
|
+
patch?: never;
|
|
3196
|
+
trace?: never;
|
|
3197
|
+
};
|
|
2782
3198
|
"/api/v1/organizations/{organization_id}/template-builds": {
|
|
2783
3199
|
parameters: {
|
|
2784
3200
|
query?: never;
|
|
@@ -5524,6 +5940,30 @@ export interface paths {
|
|
|
5524
5940
|
patch?: never;
|
|
5525
5941
|
trace?: never;
|
|
5526
5942
|
};
|
|
5943
|
+
"/api/v1/oauth/authorization": {
|
|
5944
|
+
parameters: {
|
|
5945
|
+
query?: never;
|
|
5946
|
+
header?: never;
|
|
5947
|
+
path?: never;
|
|
5948
|
+
cookie?: never;
|
|
5949
|
+
};
|
|
5950
|
+
/**
|
|
5951
|
+
* Describe a hosted MCP connection request (consent page)
|
|
5952
|
+
* @description Describes the pending authorization request /connect?request=<id> names: the client, where the browser goes afterwards and the projects the user may connect. 422 `validation_failed`: details.reason `request_expired` (unknown, expired after 15 minutes, or already answered), details.oauth_error when the client or its redirect_uri cannot be trusted, or details.redirect_to (the error redirect) for any other problem.
|
|
5953
|
+
*/
|
|
5954
|
+
get: operations["getApiV1OauthAuthorization"];
|
|
5955
|
+
put?: never;
|
|
5956
|
+
/**
|
|
5957
|
+
* Approve or decline a hosted MCP connection request
|
|
5958
|
+
* @description Answers the pending request (it is consumed). approve (with project_id, a project where the user is owner or admin; checked before the request is consumed) creates the connection: a project API key named "<client> (MCP connector)" with every tool permission, held by Shardflux for the client, and a single-use authorization code (5 minutes). deny sends access_denied. Either way the answer is redirect_to, where the browser goes next.
|
|
5959
|
+
*/
|
|
5960
|
+
post: operations["postApiV1OauthAuthorization"];
|
|
5961
|
+
delete?: never;
|
|
5962
|
+
options?: never;
|
|
5963
|
+
head?: never;
|
|
5964
|
+
patch?: never;
|
|
5965
|
+
trace?: never;
|
|
5966
|
+
};
|
|
5527
5967
|
}
|
|
5528
5968
|
export type webhooks = Record<string, never>;
|
|
5529
5969
|
export interface components {
|
|
@@ -6510,7 +6950,7 @@ export interface components {
|
|
|
6510
6950
|
disk_gib?: number;
|
|
6511
6951
|
};
|
|
6512
6952
|
agent_label?: string;
|
|
6513
|
-
tools?: ("exec" | "files" | "pty" | "process" | "git" | "browser")[];
|
|
6953
|
+
tools?: ("exec" | "files" | "pty" | "process" | "git" | "browser" | "computer")[];
|
|
6514
6954
|
/** @description Open-time inputs of the template version (contracts §24.3): {NAME: string} for its declared text inputs. A new workspace stores each given value, else the declared default; on an existing key `inputs` replaces them all (omitted = unchanged). Secret inputs are not passed here: they bind the stored secret of the same name. 422 input_unknown (undeclared name, details.names), input_invalid (a secret input, a non-string, or a value over 4096 bytes or with CR, LF or NUL; details.names), input_required (details {names, kind}). */
|
|
6515
6955
|
inputs?: {
|
|
6516
6956
|
[key: string]: unknown;
|
|
@@ -6530,7 +6970,7 @@ export interface components {
|
|
|
6530
6970
|
disk_gib?: number;
|
|
6531
6971
|
};
|
|
6532
6972
|
agent_label?: string;
|
|
6533
|
-
tools?: ("exec" | "files" | "pty" | "process" | "git" | "browser")[];
|
|
6973
|
+
tools?: ("exec" | "files" | "pty" | "process" | "git" | "browser" | "computer")[];
|
|
6534
6974
|
/** @description Open-time inputs of the template version (contracts §24.3): {NAME: string} for its declared text inputs. A new workspace stores each given value, else the declared default; on an existing key `inputs` replaces them all (omitted = unchanged). Secret inputs are not passed here: they bind the stored secret of the same name. 422 input_unknown (undeclared name, details.names), input_invalid (a secret input, a non-string, or a value over 4096 bytes or with CR, LF or NUL; details.names), input_required (details {names, kind}). */
|
|
6535
6975
|
inputs?: {
|
|
6536
6976
|
[key: string]: unknown;
|
|
@@ -6725,7 +7165,7 @@ export interface components {
|
|
|
6725
7165
|
disk_gib?: number;
|
|
6726
7166
|
};
|
|
6727
7167
|
agent_label?: string;
|
|
6728
|
-
tools?: ("exec" | "files" | "pty" | "process" | "git" | "browser")[];
|
|
7168
|
+
tools?: ("exec" | "files" | "pty" | "process" | "git" | "browser" | "computer")[];
|
|
6729
7169
|
/** @description Open-time inputs of the template version (contracts §24.3): {NAME: string} for its declared text inputs. A new workspace stores each given value, else the declared default; on an existing key `inputs` replaces them all (omitted = unchanged). Secret inputs are not passed here: they bind the stored secret of the same name. 422 input_unknown (undeclared name, details.names), input_invalid (a secret input, a non-string, or a value over 4096 bytes or with CR, LF or NUL; details.names), input_required (details {names, kind}). */
|
|
6730
7170
|
inputs?: {
|
|
6731
7171
|
[key: string]: unknown;
|
|
@@ -6750,6 +7190,111 @@ export interface components {
|
|
|
6750
7190
|
*/
|
|
6751
7191
|
not_before: string;
|
|
6752
7192
|
};
|
|
7193
|
+
/** @description At least one field. Each given value replaces the stored one; omitted fields keep theirs. */
|
|
7194
|
+
ResizeWorkspaceBody: {
|
|
7195
|
+
/** @description Memory (MiB): the size of a fixed workspace, the maximum of an elastic one. Bounded by the plan and the template (`limit_reason`). */
|
|
7196
|
+
memory_mib?: number;
|
|
7197
|
+
/** @description Elastic only: the memory held while idle (MiB), at most the maximum. */
|
|
7198
|
+
memory_mib_held?: number;
|
|
7199
|
+
/**
|
|
7200
|
+
* @description fixed: memory_mib is plugged and held; elastic: the workspace holds memory_mib_held and grows to memory_mib when a command needs it.
|
|
7201
|
+
* @enum {string}
|
|
7202
|
+
*/
|
|
7203
|
+
allocation_mode?: "fixed" | "elastic";
|
|
7204
|
+
/** @description CPU (millicores). Bounded by the plan and the template. */
|
|
7205
|
+
cpu_millis?: number;
|
|
7206
|
+
/** @description Disk (GiB). Grow only. Bounded by the plan and the template. */
|
|
7207
|
+
disk_gib?: number;
|
|
7208
|
+
};
|
|
7209
|
+
/** @description Per resource the request named (allocation_mode and memory_mib_held report under memory): what applied now and what applies later. caps: the workspace caps every later start uses. */
|
|
7210
|
+
ResizeResult: {
|
|
7211
|
+
/**
|
|
7212
|
+
* Format: uuid
|
|
7213
|
+
* @description UUIDv7, lowercase canonical form.
|
|
7214
|
+
*/
|
|
7215
|
+
workspace_id: string;
|
|
7216
|
+
/**
|
|
7217
|
+
* Format: uuid
|
|
7218
|
+
* @description UUIDv7, lowercase canonical form.
|
|
7219
|
+
*/
|
|
7220
|
+
operation_id: string;
|
|
7221
|
+
/** @description The workspace state the resize found (running, suspended, ...). */
|
|
7222
|
+
state: string;
|
|
7223
|
+
memory?: {
|
|
7224
|
+
/**
|
|
7225
|
+
* @description now: live; resume: right after the next resume, before its first call; next_start: at the next start that boots the workspace.
|
|
7226
|
+
* @enum {string}
|
|
7227
|
+
*/
|
|
7228
|
+
applies_at: "now" | "resume" | "next_start";
|
|
7229
|
+
/**
|
|
7230
|
+
* @description The memory layout after the resize.
|
|
7231
|
+
* @enum {string}
|
|
7232
|
+
*/
|
|
7233
|
+
allocation_mode: "fixed" | "elastic";
|
|
7234
|
+
requested_mib: number | null;
|
|
7235
|
+
target_mib: number | null;
|
|
7236
|
+
previous_mib: number | null;
|
|
7237
|
+
applied_mib: number | null;
|
|
7238
|
+
held_mib: number | null;
|
|
7239
|
+
converged: boolean | null;
|
|
7240
|
+
/** @description Why the target or the applied value is below what was requested: plan or template (bounded like caps at open), host_capacity (the rest did not fit on the host at once), shrink_stalled (the guest kept the memory its processes use). */
|
|
7241
|
+
limit_reason: ("plan" | "template" | "host_capacity" | "shrink_stalled") | null;
|
|
7242
|
+
/** @description Why it does not apply now (null when it does). */
|
|
7243
|
+
reason: ("region" | "below_base" | "legacy_layout" | "boot_vcpus" | "suspended" | "stopped") | null;
|
|
7244
|
+
};
|
|
7245
|
+
cpu?: {
|
|
7246
|
+
/**
|
|
7247
|
+
* @description now: live; resume: right after the next resume, before its first call; next_start: at the next start that boots the workspace.
|
|
7248
|
+
* @enum {string}
|
|
7249
|
+
*/
|
|
7250
|
+
applies_at: "now" | "resume" | "next_start";
|
|
7251
|
+
requested_millis: number | null;
|
|
7252
|
+
target_millis: number | null;
|
|
7253
|
+
previous_millis: number | null;
|
|
7254
|
+
applied_millis: number | null;
|
|
7255
|
+
/** @description Why the target or the applied value is below what was requested: plan or template (bounded like caps at open), host_capacity (the rest did not fit on the host at once), shrink_stalled (the guest kept the memory its processes use). */
|
|
7256
|
+
limit_reason: ("plan" | "template" | "host_capacity" | "shrink_stalled") | null;
|
|
7257
|
+
/** @description Why it does not apply now (null when it does). */
|
|
7258
|
+
reason: ("region" | "below_base" | "legacy_layout" | "boot_vcpus" | "suspended" | "stopped") | null;
|
|
7259
|
+
};
|
|
7260
|
+
disk?: {
|
|
7261
|
+
/**
|
|
7262
|
+
* @description now: live; resume: right after the next resume, before its first call; next_start: at the next start that boots the workspace.
|
|
7263
|
+
* @enum {string}
|
|
7264
|
+
*/
|
|
7265
|
+
applies_at: "now" | "resume" | "next_start";
|
|
7266
|
+
requested_gib: number | null;
|
|
7267
|
+
target_gib: number | null;
|
|
7268
|
+
previous_gib: number | null;
|
|
7269
|
+
applied_gib: number | null;
|
|
7270
|
+
/** @description Why the target or the applied value is below what was requested: plan or template (bounded like caps at open), host_capacity (the rest did not fit on the host at once), shrink_stalled (the guest kept the memory its processes use). */
|
|
7271
|
+
limit_reason: ("plan" | "template" | "host_capacity" | "shrink_stalled") | null;
|
|
7272
|
+
/** @description Why it does not apply now (null when it does). */
|
|
7273
|
+
reason: ("region" | "below_base" | "legacy_layout" | "boot_vcpus" | "suspended" | "stopped") | null;
|
|
7274
|
+
};
|
|
7275
|
+
/** @description User caps for this workspace (null = no user restriction) and its memory allocation mode. */
|
|
7276
|
+
caps: {
|
|
7277
|
+
cpu_millis: number | null;
|
|
7278
|
+
memory_mib: number | null;
|
|
7279
|
+
disk_gib: number | null;
|
|
7280
|
+
/**
|
|
7281
|
+
* @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.
|
|
7282
|
+
* @enum {string}
|
|
7283
|
+
*/
|
|
7284
|
+
allocation_mode: "fixed" | "elastic";
|
|
7285
|
+
/** @description Elastic only: the memory held while idle (MiB). */
|
|
7286
|
+
memory_mib_held?: number;
|
|
7287
|
+
};
|
|
7288
|
+
};
|
|
7289
|
+
ComputerUse: {
|
|
7290
|
+
/** @description Effective: tool tokens carry the computer tool (the workspace’s value, else the template’s, and the version runs a desktop). */
|
|
7291
|
+
enabled: boolean;
|
|
7292
|
+
workspace: boolean | null;
|
|
7293
|
+
/** @description The template’s switch for its workspaces. */
|
|
7294
|
+
template: boolean;
|
|
7295
|
+
/** @description The workspace’s template version can run a desktop (its guest agent has desktop.v1). */
|
|
7296
|
+
available: boolean;
|
|
7297
|
+
};
|
|
6753
7298
|
Workspace: {
|
|
6754
7299
|
/**
|
|
6755
7300
|
* Format: uuid
|
|
@@ -6878,6 +7423,7 @@ export interface components {
|
|
|
6878
7423
|
mode: components["schemas"]["WorkspaceMode"];
|
|
6879
7424
|
/** @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. */
|
|
6880
7425
|
tree_revision: number;
|
|
7426
|
+
computer_use: components["schemas"]["ComputerUse"];
|
|
6881
7427
|
/**
|
|
6882
7428
|
* Format: date-time
|
|
6883
7429
|
* @description RFC 3339 UTC timestamp with Z.
|
|
@@ -6950,9 +7496,28 @@ export interface components {
|
|
|
6950
7496
|
*/
|
|
6951
7497
|
agent_session_id: string;
|
|
6952
7498
|
ownership_epoch: number;
|
|
6953
|
-
tools: ("exec" | "files" | "pty" | "process" | "git" | "browser")[];
|
|
7499
|
+
tools: ("exec" | "files" | "pty" | "process" | "git" | "browser" | "computer")[];
|
|
6954
7500
|
cell_endpoint: string;
|
|
6955
7501
|
};
|
|
7502
|
+
/** @description An exposed port of a workspace (contracts §39.3). Private: every request needs a credential. */
|
|
7503
|
+
Port: {
|
|
7504
|
+
/** @description TCP port inside the workspace (1-65535). */
|
|
7505
|
+
port: number;
|
|
7506
|
+
/** @description https://<port>-<handle>.<ingress domain>: requests need a port token (Authorization: Bearer sfp_…), a signed link’s cookie, or the callback URL. */
|
|
7507
|
+
url: string;
|
|
7508
|
+
/**
|
|
7509
|
+
* Format: date-time
|
|
7510
|
+
* @description RFC 3339 UTC timestamp with Z.
|
|
7511
|
+
*/
|
|
7512
|
+
created_at: string;
|
|
7513
|
+
callback: {
|
|
7514
|
+
/**
|
|
7515
|
+
* Format: date-time
|
|
7516
|
+
* @description RFC 3339 UTC timestamp with Z.
|
|
7517
|
+
*/
|
|
7518
|
+
created_at: string;
|
|
7519
|
+
} | null;
|
|
7520
|
+
};
|
|
6956
7521
|
Volume: {
|
|
6957
7522
|
/**
|
|
6958
7523
|
* Format: uuid
|
|
@@ -7131,6 +7696,39 @@ export interface components {
|
|
|
7131
7696
|
/** @description When the charges reach the effective cap at the average burn of this period so far. Null when not accruing or when it would fall after resets_at. */
|
|
7132
7697
|
projected_reached_at: string | null;
|
|
7133
7698
|
};
|
|
7699
|
+
OAuthConsentView: {
|
|
7700
|
+
client: {
|
|
7701
|
+
client_id: string;
|
|
7702
|
+
/** @description client_name from its registration or metadata document. Self-declared: show it with redirect_host. */
|
|
7703
|
+
name: string;
|
|
7704
|
+
uri: string | null;
|
|
7705
|
+
logo_uri: string | null;
|
|
7706
|
+
/** @description `metadata_document`: client_id is an https URL its owner serves (the host is verified by that); `registered`: dynamic client registration. */
|
|
7707
|
+
kind: "registered" | "metadata_document";
|
|
7708
|
+
client_id_host: string | null;
|
|
7709
|
+
};
|
|
7710
|
+
/** @description Where the browser goes after the decision (host, or scheme://host for a native app). */
|
|
7711
|
+
redirect_host: string;
|
|
7712
|
+
scope: string;
|
|
7713
|
+
/** @description The MCP endpoint the client will be able to use. */
|
|
7714
|
+
resource: string;
|
|
7715
|
+
/** @description Projects the user may connect (owner or admin of the organization), by organization then project name; at most 200. */
|
|
7716
|
+
projects: {
|
|
7717
|
+
/**
|
|
7718
|
+
* Format: uuid
|
|
7719
|
+
* @description UUIDv7, lowercase canonical form.
|
|
7720
|
+
*/
|
|
7721
|
+
organization_id: string;
|
|
7722
|
+
organization_name: string;
|
|
7723
|
+
/**
|
|
7724
|
+
* Format: uuid
|
|
7725
|
+
* @description UUIDv7, lowercase canonical form.
|
|
7726
|
+
*/
|
|
7727
|
+
project_id: string;
|
|
7728
|
+
project_name: string;
|
|
7729
|
+
role: "owner" | "admin";
|
|
7730
|
+
}[];
|
|
7731
|
+
};
|
|
7134
7732
|
};
|
|
7135
7733
|
responses: never;
|
|
7136
7734
|
parameters: never;
|
|
@@ -8678,7 +9276,7 @@ export interface operations {
|
|
|
8678
9276
|
};
|
|
8679
9277
|
};
|
|
8680
9278
|
};
|
|
8681
|
-
|
|
9279
|
+
postV1AuthSignup: {
|
|
8682
9280
|
parameters: {
|
|
8683
9281
|
query?: never;
|
|
8684
9282
|
header?: never;
|
|
@@ -8689,9 +9287,10 @@ export interface operations {
|
|
|
8689
9287
|
content: {
|
|
8690
9288
|
"application/json": {
|
|
8691
9289
|
/** @description Email address. */
|
|
8692
|
-
email
|
|
8693
|
-
|
|
8694
|
-
|
|
9290
|
+
email?: string;
|
|
9291
|
+
display_name?: string;
|
|
9292
|
+
/** @description The OpenAI ID token of a Codex CLI login (`tokens.id_token` in `~/.codex/auth.json`, refreshed by Codex within CODEX_PROOF_MAX_AGE_SECONDS). Proves a verified email; it is not a credential to OpenAI. */
|
|
9293
|
+
codex_id_token?: string;
|
|
8695
9294
|
};
|
|
8696
9295
|
};
|
|
8697
9296
|
};
|
|
@@ -8704,6 +9303,43 @@ export interface operations {
|
|
|
8704
9303
|
content: {
|
|
8705
9304
|
"application/json": {
|
|
8706
9305
|
status: "authenticated" | "mfa_required";
|
|
9306
|
+
/** @description True when this request created the account; false: it signed in to an existing one (a Codex proof only). */
|
|
9307
|
+
created: boolean;
|
|
9308
|
+
/** @description verified: the email is verified (a Codex proof, or verified before). provisional: unverified, and the account may use resource routes on its default plan now; the signup trial comes when the email is verified. verification_required: unverified, and resource routes answer 403 email_unverified until POST /v1/auth/verify-email/code. */
|
|
9309
|
+
access: "verified" | "provisional" | "verification_required";
|
|
9310
|
+
user: {
|
|
9311
|
+
/**
|
|
9312
|
+
* Format: uuid
|
|
9313
|
+
* @description UUIDv7, lowercase canonical form.
|
|
9314
|
+
*/
|
|
9315
|
+
id: string;
|
|
9316
|
+
email: string;
|
|
9317
|
+
email_verified: boolean;
|
|
9318
|
+
display_name: string | null;
|
|
9319
|
+
mfa_enabled: boolean;
|
|
9320
|
+
} | null;
|
|
9321
|
+
/** @description The session: send `Authorization: Bearer <session_token>` from now on (a previous token of this session is revoked). */
|
|
9322
|
+
session_token: string;
|
|
9323
|
+
/**
|
|
9324
|
+
* Format: date-time
|
|
9325
|
+
* @description RFC 3339 UTC timestamp with Z.
|
|
9326
|
+
*/
|
|
9327
|
+
session_expires_at: string;
|
|
9328
|
+
};
|
|
9329
|
+
};
|
|
9330
|
+
};
|
|
9331
|
+
/** @description Default Response */
|
|
9332
|
+
201: {
|
|
9333
|
+
headers: {
|
|
9334
|
+
[name: string]: unknown;
|
|
9335
|
+
};
|
|
9336
|
+
content: {
|
|
9337
|
+
"application/json": {
|
|
9338
|
+
status: "authenticated" | "mfa_required";
|
|
9339
|
+
/** @description True when this request created the account; false: it signed in to an existing one (a Codex proof only). */
|
|
9340
|
+
created: boolean;
|
|
9341
|
+
/** @description verified: the email is verified (a Codex proof, or verified before). provisional: unverified, and the account may use resource routes on its default plan now; the signup trial comes when the email is verified. verification_required: unverified, and resource routes answer 403 email_unverified until POST /v1/auth/verify-email/code. */
|
|
9342
|
+
access: "verified" | "provisional" | "verification_required";
|
|
8707
9343
|
user: {
|
|
8708
9344
|
/**
|
|
8709
9345
|
* Format: uuid
|
|
@@ -8745,7 +9381,7 @@ export interface operations {
|
|
|
8745
9381
|
};
|
|
8746
9382
|
};
|
|
8747
9383
|
};
|
|
8748
|
-
|
|
9384
|
+
postV1AuthVerifyEmailCode: {
|
|
8749
9385
|
parameters: {
|
|
8750
9386
|
query?: never;
|
|
8751
9387
|
header?: never;
|
|
@@ -8755,10 +9391,70 @@ export interface operations {
|
|
|
8755
9391
|
requestBody: {
|
|
8756
9392
|
content: {
|
|
8757
9393
|
"application/json": {
|
|
8758
|
-
/** @description
|
|
9394
|
+
/** @description The 6-digit code from the email. */
|
|
8759
9395
|
code?: string;
|
|
8760
|
-
|
|
8761
|
-
|
|
9396
|
+
};
|
|
9397
|
+
};
|
|
9398
|
+
};
|
|
9399
|
+
responses: {
|
|
9400
|
+
/** @description Default Response */
|
|
9401
|
+
200: {
|
|
9402
|
+
headers: {
|
|
9403
|
+
[name: string]: unknown;
|
|
9404
|
+
};
|
|
9405
|
+
content: {
|
|
9406
|
+
"application/json": {
|
|
9407
|
+
/** @enum {string} */
|
|
9408
|
+
status: "verified";
|
|
9409
|
+
};
|
|
9410
|
+
};
|
|
9411
|
+
};
|
|
9412
|
+
/** @description Default Response */
|
|
9413
|
+
202: {
|
|
9414
|
+
headers: {
|
|
9415
|
+
[name: string]: unknown;
|
|
9416
|
+
};
|
|
9417
|
+
content: {
|
|
9418
|
+
"application/json": {
|
|
9419
|
+
/** @enum {string} */
|
|
9420
|
+
status: "accepted";
|
|
9421
|
+
};
|
|
9422
|
+
};
|
|
9423
|
+
};
|
|
9424
|
+
/** @description Default Response */
|
|
9425
|
+
"4XX": {
|
|
9426
|
+
headers: {
|
|
9427
|
+
[name: string]: unknown;
|
|
9428
|
+
};
|
|
9429
|
+
content: {
|
|
9430
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
9431
|
+
};
|
|
9432
|
+
};
|
|
9433
|
+
/** @description Default Response */
|
|
9434
|
+
"5XX": {
|
|
9435
|
+
headers: {
|
|
9436
|
+
[name: string]: unknown;
|
|
9437
|
+
};
|
|
9438
|
+
content: {
|
|
9439
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
9440
|
+
};
|
|
9441
|
+
};
|
|
9442
|
+
};
|
|
9443
|
+
};
|
|
9444
|
+
postV1AuthLogin: {
|
|
9445
|
+
parameters: {
|
|
9446
|
+
query?: never;
|
|
9447
|
+
header?: never;
|
|
9448
|
+
path?: never;
|
|
9449
|
+
cookie?: never;
|
|
9450
|
+
};
|
|
9451
|
+
requestBody: {
|
|
9452
|
+
content: {
|
|
9453
|
+
"application/json": {
|
|
9454
|
+
/** @description Email address. */
|
|
9455
|
+
email: string;
|
|
9456
|
+
/** @description Password (12-256 characters). */
|
|
9457
|
+
password: string;
|
|
8762
9458
|
};
|
|
8763
9459
|
};
|
|
8764
9460
|
};
|
|
@@ -8812,21 +9508,88 @@ export interface operations {
|
|
|
8812
9508
|
};
|
|
8813
9509
|
};
|
|
8814
9510
|
};
|
|
8815
|
-
|
|
9511
|
+
postV1AuthMfaChallenge: {
|
|
8816
9512
|
parameters: {
|
|
8817
9513
|
query?: never;
|
|
8818
9514
|
header?: never;
|
|
8819
9515
|
path?: never;
|
|
8820
9516
|
cookie?: never;
|
|
8821
9517
|
};
|
|
8822
|
-
requestBody
|
|
9518
|
+
requestBody: {
|
|
9519
|
+
content: {
|
|
9520
|
+
"application/json": {
|
|
9521
|
+
/** @description Current 6-digit TOTP code. */
|
|
9522
|
+
code?: string;
|
|
9523
|
+
/** @description One-time recovery code. */
|
|
9524
|
+
recovery_code?: string;
|
|
9525
|
+
};
|
|
9526
|
+
};
|
|
9527
|
+
};
|
|
8823
9528
|
responses: {
|
|
8824
|
-
/** @description
|
|
8825
|
-
|
|
9529
|
+
/** @description Default Response */
|
|
9530
|
+
200: {
|
|
8826
9531
|
headers: {
|
|
8827
9532
|
[name: string]: unknown;
|
|
8828
9533
|
};
|
|
8829
|
-
content
|
|
9534
|
+
content: {
|
|
9535
|
+
"application/json": {
|
|
9536
|
+
status: "authenticated" | "mfa_required";
|
|
9537
|
+
user: {
|
|
9538
|
+
/**
|
|
9539
|
+
* Format: uuid
|
|
9540
|
+
* @description UUIDv7, lowercase canonical form.
|
|
9541
|
+
*/
|
|
9542
|
+
id: string;
|
|
9543
|
+
email: string;
|
|
9544
|
+
email_verified: boolean;
|
|
9545
|
+
display_name: string | null;
|
|
9546
|
+
mfa_enabled: boolean;
|
|
9547
|
+
} | null;
|
|
9548
|
+
/** @description The session: send `Authorization: Bearer <session_token>` from now on (a previous token of this session is revoked). */
|
|
9549
|
+
session_token: string;
|
|
9550
|
+
/**
|
|
9551
|
+
* Format: date-time
|
|
9552
|
+
* @description RFC 3339 UTC timestamp with Z.
|
|
9553
|
+
*/
|
|
9554
|
+
session_expires_at: string;
|
|
9555
|
+
};
|
|
9556
|
+
};
|
|
9557
|
+
};
|
|
9558
|
+
/** @description Default Response */
|
|
9559
|
+
"4XX": {
|
|
9560
|
+
headers: {
|
|
9561
|
+
[name: string]: unknown;
|
|
9562
|
+
};
|
|
9563
|
+
content: {
|
|
9564
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
9565
|
+
};
|
|
9566
|
+
};
|
|
9567
|
+
/** @description Default Response */
|
|
9568
|
+
"5XX": {
|
|
9569
|
+
headers: {
|
|
9570
|
+
[name: string]: unknown;
|
|
9571
|
+
};
|
|
9572
|
+
content: {
|
|
9573
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
9574
|
+
};
|
|
9575
|
+
};
|
|
9576
|
+
};
|
|
9577
|
+
};
|
|
9578
|
+
postV1AuthLogout: {
|
|
9579
|
+
parameters: {
|
|
9580
|
+
query?: never;
|
|
9581
|
+
header?: never;
|
|
9582
|
+
path?: never;
|
|
9583
|
+
cookie?: never;
|
|
9584
|
+
};
|
|
9585
|
+
requestBody?: never;
|
|
9586
|
+
responses: {
|
|
9587
|
+
/** @description No content. */
|
|
9588
|
+
204: {
|
|
9589
|
+
headers: {
|
|
9590
|
+
[name: string]: unknown;
|
|
9591
|
+
};
|
|
9592
|
+
content?: never;
|
|
8830
9593
|
};
|
|
8831
9594
|
/** @description Default Response */
|
|
8832
9595
|
"4XX": {
|
|
@@ -9002,7 +9765,9 @@ export interface operations {
|
|
|
9002
9765
|
content: {
|
|
9003
9766
|
"application/json": {
|
|
9004
9767
|
/** @description Password (12-256 characters). */
|
|
9005
|
-
password
|
|
9768
|
+
password?: string;
|
|
9769
|
+
/** @description The OpenAI ID token of a Codex CLI login (`tokens.id_token` in `~/.codex/auth.json`, refreshed by Codex within CODEX_PROOF_MAX_AGE_SECONDS). Proves a verified email; it is not a credential to OpenAI. */
|
|
9770
|
+
codex_id_token?: string;
|
|
9006
9771
|
/** @description Current 6-digit TOTP code. */
|
|
9007
9772
|
code?: string;
|
|
9008
9773
|
/** @description One-time recovery code. */
|
|
@@ -9543,7 +10308,7 @@ export interface operations {
|
|
|
9543
10308
|
* @description UUIDv7, lowercase canonical form.
|
|
9544
10309
|
*/
|
|
9545
10310
|
project_id: string;
|
|
9546
|
-
tool_permissions: ("exec" | "files" | "pty" | "process" | "git" | "browser")[];
|
|
10311
|
+
tool_permissions: ("exec" | "files" | "pty" | "process" | "git" | "browser" | "computer")[];
|
|
9547
10312
|
} | null;
|
|
9548
10313
|
};
|
|
9549
10314
|
};
|
|
@@ -10386,7 +11151,7 @@ export interface operations {
|
|
|
10386
11151
|
*/
|
|
10387
11152
|
project_id: string;
|
|
10388
11153
|
name: string;
|
|
10389
|
-
tool_permissions: ("exec" | "files" | "pty" | "process" | "git" | "browser")[];
|
|
11154
|
+
tool_permissions: ("exec" | "files" | "pty" | "process" | "git" | "browser" | "computer")[];
|
|
10390
11155
|
/**
|
|
10391
11156
|
* Format: date-time
|
|
10392
11157
|
* @description RFC 3339 UTC timestamp with Z.
|
|
@@ -10434,7 +11199,7 @@ export interface operations {
|
|
|
10434
11199
|
content: {
|
|
10435
11200
|
"application/json": {
|
|
10436
11201
|
name: string;
|
|
10437
|
-
tool_permissions: ("exec" | "files" | "pty" | "process" | "git" | "browser")[];
|
|
11202
|
+
tool_permissions: ("exec" | "files" | "pty" | "process" | "git" | "browser" | "computer")[];
|
|
10438
11203
|
/**
|
|
10439
11204
|
* Format: date-time
|
|
10440
11205
|
* @description RFC 3339 UTC timestamp with Z.
|
|
@@ -10470,7 +11235,7 @@ export interface operations {
|
|
|
10470
11235
|
*/
|
|
10471
11236
|
project_id: string;
|
|
10472
11237
|
name: string;
|
|
10473
|
-
tool_permissions: ("exec" | "files" | "pty" | "process" | "git" | "browser")[];
|
|
11238
|
+
tool_permissions: ("exec" | "files" | "pty" | "process" | "git" | "browser" | "computer")[];
|
|
10474
11239
|
/**
|
|
10475
11240
|
* Format: date-time
|
|
10476
11241
|
* @description RFC 3339 UTC timestamp with Z.
|
|
@@ -10602,7 +11367,7 @@ export interface operations {
|
|
|
10602
11367
|
* @description UUIDv7, lowercase canonical form.
|
|
10603
11368
|
*/
|
|
10604
11369
|
project_id: string;
|
|
10605
|
-
tool_permissions: ("exec" | "files" | "pty" | "process" | "git" | "browser")[];
|
|
11370
|
+
tool_permissions: ("exec" | "files" | "pty" | "process" | "git" | "browser" | "computer")[];
|
|
10606
11371
|
} | null;
|
|
10607
11372
|
};
|
|
10608
11373
|
};
|
|
@@ -11445,7 +12210,7 @@ export interface operations {
|
|
|
11445
12210
|
*/
|
|
11446
12211
|
project_id: string;
|
|
11447
12212
|
name: string;
|
|
11448
|
-
tool_permissions: ("exec" | "files" | "pty" | "process" | "git" | "browser")[];
|
|
12213
|
+
tool_permissions: ("exec" | "files" | "pty" | "process" | "git" | "browser" | "computer")[];
|
|
11449
12214
|
/**
|
|
11450
12215
|
* Format: date-time
|
|
11451
12216
|
* @description RFC 3339 UTC timestamp with Z.
|
|
@@ -11493,7 +12258,7 @@ export interface operations {
|
|
|
11493
12258
|
content: {
|
|
11494
12259
|
"application/json": {
|
|
11495
12260
|
name: string;
|
|
11496
|
-
tool_permissions: ("exec" | "files" | "pty" | "process" | "git" | "browser")[];
|
|
12261
|
+
tool_permissions: ("exec" | "files" | "pty" | "process" | "git" | "browser" | "computer")[];
|
|
11497
12262
|
/**
|
|
11498
12263
|
* Format: date-time
|
|
11499
12264
|
* @description RFC 3339 UTC timestamp with Z.
|
|
@@ -11529,7 +12294,7 @@ export interface operations {
|
|
|
11529
12294
|
*/
|
|
11530
12295
|
project_id: string;
|
|
11531
12296
|
name: string;
|
|
11532
|
-
tool_permissions: ("exec" | "files" | "pty" | "process" | "git" | "browser")[];
|
|
12297
|
+
tool_permissions: ("exec" | "files" | "pty" | "process" | "git" | "browser" | "computer")[];
|
|
11533
12298
|
/**
|
|
11534
12299
|
* Format: date-time
|
|
11535
12300
|
* @description RFC 3339 UTC timestamp with Z.
|
|
@@ -11626,14 +12391,13 @@ export interface operations {
|
|
|
11626
12391
|
};
|
|
11627
12392
|
/** @description Template slug; new workspaces use its latest published version. */
|
|
11628
12393
|
template: string;
|
|
11629
|
-
/** @description Optional user caps; the ceiling is min(template, cap, plan). Absent fields add no restriction
|
|
12394
|
+
/** @description Optional user caps; the ceiling is min(template, cap, plan). Absent fields add no restriction. Given caps replace the stored ones (a reopen keeps an elastic workspace’s mode when elastic is the organization’s default and allocation_mode is omitted). */
|
|
11630
12395
|
caps?: {
|
|
11631
12396
|
cpu_millis?: number;
|
|
11632
12397
|
memory_mib?: number;
|
|
11633
12398
|
disk_gib?: number;
|
|
11634
12399
|
/**
|
|
11635
|
-
* @description Memory allocation (contracts §32): fixed
|
|
11636
|
-
* @default fixed
|
|
12400
|
+
* @description Memory allocation (contracts §32): fixed 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). Omitted: fixed, or elastic where that is the organization’s default (a reopen then keeps the stored mode). Takes effect at the next VM start.
|
|
11637
12401
|
* @enum {string}
|
|
11638
12402
|
*/
|
|
11639
12403
|
allocation_mode?: "fixed" | "elastic";
|
|
@@ -11647,7 +12411,7 @@ export interface operations {
|
|
|
11647
12411
|
project_id?: string;
|
|
11648
12412
|
/** @description Attribution label; one agent session per (workspace, principal, label). */
|
|
11649
12413
|
agent_label?: string;
|
|
11650
|
-
tools?: ("exec" | "files" | "pty" | "process" | "git" | "browser")[];
|
|
12414
|
+
tools?: ("exec" | "files" | "pty" | "process" | "git" | "browser" | "computer")[];
|
|
11651
12415
|
/** @description Secret names bound to the workspace (max 50, unique): injected as environment variables into every exec and PTY start (terminal sessions included), together with the call’s own `secret_refs`. Each must name a live secret this workspace may use (its project, its id, and allowed_tools including exec and pty), else 422 details.reason secret_not_available with details.names. */
|
|
11652
12416
|
secrets?: string[];
|
|
11653
12417
|
/** @description Open-time inputs of the template version (contracts §24.3): {NAME: string} for its declared text inputs. A new workspace stores each given value, else the declared default; on an existing key `inputs` replaces them all (omitted = unchanged). Secret inputs are not passed here: they bind the stored secret of the same name. 422 input_unknown (undeclared name, details.names), input_invalid (a secret input, a non-string, or a value over 4096 bytes or with CR, LF or NUL; details.names), input_required (details {names, kind}). */
|
|
@@ -11658,6 +12422,8 @@ export interface operations {
|
|
|
11658
12422
|
/** @description adaptive (the learned timeout, default), never, or fixed:<seconds> (60..604800). Contracts §20.7. */
|
|
11659
12423
|
idle_policy?: string;
|
|
11660
12424
|
mode?: components["schemas"]["WorkspaceMode"];
|
|
12425
|
+
/** @description Contracts §45.1: the workspace’s computer use switch (null follows the template); set on create, replaced on an existing key when given. */
|
|
12426
|
+
computer_use?: boolean | null;
|
|
11661
12427
|
};
|
|
11662
12428
|
};
|
|
11663
12429
|
};
|
|
@@ -11673,6 +12439,8 @@ export interface operations {
|
|
|
11673
12439
|
operation: components["schemas"]["Operation"] | null;
|
|
11674
12440
|
cell_endpoint: string | null;
|
|
11675
12441
|
tool_token: components["schemas"]["ToolToken"] | null;
|
|
12442
|
+
/** @description Contracts §46.2: true when this request created the workspace (a new key, or a key whose session ended), false when it reconnected to or resumed an existing one. Of concurrent opens of one new key exactly one says true; a replay with the same Idempotency-Key repeats it. */
|
|
12443
|
+
created: boolean;
|
|
11676
12444
|
};
|
|
11677
12445
|
};
|
|
11678
12446
|
};
|
|
@@ -11687,6 +12455,8 @@ export interface operations {
|
|
|
11687
12455
|
operation: components["schemas"]["Operation"] | null;
|
|
11688
12456
|
cell_endpoint: string | null;
|
|
11689
12457
|
tool_token: components["schemas"]["ToolToken"] | null;
|
|
12458
|
+
/** @description Contracts §46.2: true when this request created the workspace (a new key, or a key whose session ended), false when it reconnected to or resumed an existing one. Of concurrent opens of one new key exactly one says true; a replay with the same Idempotency-Key repeats it. */
|
|
12459
|
+
created: boolean;
|
|
11690
12460
|
};
|
|
11691
12461
|
};
|
|
11692
12462
|
};
|
|
@@ -12052,6 +12822,54 @@ export interface operations {
|
|
|
12052
12822
|
};
|
|
12053
12823
|
};
|
|
12054
12824
|
};
|
|
12825
|
+
putV1WorkspacesWorkspaceIdComputerUse: {
|
|
12826
|
+
parameters: {
|
|
12827
|
+
query?: never;
|
|
12828
|
+
header?: never;
|
|
12829
|
+
path: {
|
|
12830
|
+
/** @description UUIDv7, lowercase canonical form. */
|
|
12831
|
+
workspace_id: string;
|
|
12832
|
+
};
|
|
12833
|
+
cookie?: never;
|
|
12834
|
+
};
|
|
12835
|
+
requestBody: {
|
|
12836
|
+
content: {
|
|
12837
|
+
"application/json": {
|
|
12838
|
+
/** @description true or false overrides the template; null follows it. */
|
|
12839
|
+
enabled: boolean | null;
|
|
12840
|
+
};
|
|
12841
|
+
};
|
|
12842
|
+
};
|
|
12843
|
+
responses: {
|
|
12844
|
+
/** @description Default Response */
|
|
12845
|
+
200: {
|
|
12846
|
+
headers: {
|
|
12847
|
+
[name: string]: unknown;
|
|
12848
|
+
};
|
|
12849
|
+
content: {
|
|
12850
|
+
"application/json": components["schemas"]["ComputerUse"];
|
|
12851
|
+
};
|
|
12852
|
+
};
|
|
12853
|
+
/** @description Default Response */
|
|
12854
|
+
"4XX": {
|
|
12855
|
+
headers: {
|
|
12856
|
+
[name: string]: unknown;
|
|
12857
|
+
};
|
|
12858
|
+
content: {
|
|
12859
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
12860
|
+
};
|
|
12861
|
+
};
|
|
12862
|
+
/** @description Default Response */
|
|
12863
|
+
"5XX": {
|
|
12864
|
+
headers: {
|
|
12865
|
+
[name: string]: unknown;
|
|
12866
|
+
};
|
|
12867
|
+
content: {
|
|
12868
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
12869
|
+
};
|
|
12870
|
+
};
|
|
12871
|
+
};
|
|
12872
|
+
};
|
|
12055
12873
|
postV1WorkspacesWorkspaceIdSuspend: {
|
|
12056
12874
|
parameters: {
|
|
12057
12875
|
query?: never;
|
|
@@ -12115,7 +12933,7 @@ export interface operations {
|
|
|
12115
12933
|
"application/json": {
|
|
12116
12934
|
/** @description Attribution label; one agent session per (workspace, principal, label). */
|
|
12117
12935
|
agent_label?: string;
|
|
12118
|
-
tools?: ("exec" | "files" | "pty" | "process" | "git" | "browser")[];
|
|
12936
|
+
tools?: ("exec" | "files" | "pty" | "process" | "git" | "browser" | "computer")[];
|
|
12119
12937
|
};
|
|
12120
12938
|
};
|
|
12121
12939
|
};
|
|
@@ -12216,6 +13034,66 @@ export interface operations {
|
|
|
12216
13034
|
};
|
|
12217
13035
|
};
|
|
12218
13036
|
};
|
|
13037
|
+
patchV1WorkspacesWorkspaceIdCaps: {
|
|
13038
|
+
parameters: {
|
|
13039
|
+
query?: never;
|
|
13040
|
+
header?: {
|
|
13041
|
+
/** @description RFC 7240 preference, e.g. `wait=30` (at most 55; default 20). */
|
|
13042
|
+
prefer?: string;
|
|
13043
|
+
};
|
|
13044
|
+
path: {
|
|
13045
|
+
/** @description UUIDv7, lowercase canonical form. */
|
|
13046
|
+
workspace_id: string;
|
|
13047
|
+
};
|
|
13048
|
+
cookie?: never;
|
|
13049
|
+
};
|
|
13050
|
+
requestBody: {
|
|
13051
|
+
content: {
|
|
13052
|
+
"application/json": components["schemas"]["ResizeWorkspaceBody"];
|
|
13053
|
+
};
|
|
13054
|
+
};
|
|
13055
|
+
responses: {
|
|
13056
|
+
/** @description Per resource the request named (allocation_mode and memory_mib_held report under memory): what applied now and what applies later. caps: the workspace caps every later start uses. */
|
|
13057
|
+
200: {
|
|
13058
|
+
headers: {
|
|
13059
|
+
[name: string]: unknown;
|
|
13060
|
+
};
|
|
13061
|
+
content: {
|
|
13062
|
+
"application/json": components["schemas"]["ResizeResult"];
|
|
13063
|
+
};
|
|
13064
|
+
};
|
|
13065
|
+
/** @description Default Response */
|
|
13066
|
+
202: {
|
|
13067
|
+
headers: {
|
|
13068
|
+
[name: string]: unknown;
|
|
13069
|
+
};
|
|
13070
|
+
content: {
|
|
13071
|
+
"application/json": {
|
|
13072
|
+
operation: components["schemas"]["Operation"];
|
|
13073
|
+
workspace: components["schemas"]["Workspace"];
|
|
13074
|
+
};
|
|
13075
|
+
};
|
|
13076
|
+
};
|
|
13077
|
+
/** @description Default Response */
|
|
13078
|
+
"4XX": {
|
|
13079
|
+
headers: {
|
|
13080
|
+
[name: string]: unknown;
|
|
13081
|
+
};
|
|
13082
|
+
content: {
|
|
13083
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
13084
|
+
};
|
|
13085
|
+
};
|
|
13086
|
+
/** @description Default Response */
|
|
13087
|
+
"5XX": {
|
|
13088
|
+
headers: {
|
|
13089
|
+
[name: string]: unknown;
|
|
13090
|
+
};
|
|
13091
|
+
content: {
|
|
13092
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
13093
|
+
};
|
|
13094
|
+
};
|
|
13095
|
+
};
|
|
13096
|
+
};
|
|
12219
13097
|
postV1WorkspacesWorkspaceIdSuspendWhenIdle: {
|
|
12220
13098
|
parameters: {
|
|
12221
13099
|
query?: never;
|
|
@@ -12326,14 +13204,13 @@ export interface operations {
|
|
|
12326
13204
|
"application/json": {
|
|
12327
13205
|
/** @description Stable workspace key, unique per organization (e.g. `${customerId}/${projectId}`). */
|
|
12328
13206
|
key: string;
|
|
12329
|
-
/** @description Optional user caps; the ceiling is min(template, cap, plan). Absent fields add no restriction
|
|
13207
|
+
/** @description Optional user caps; the ceiling is min(template, cap, plan). Absent fields add no restriction. Given caps replace the stored ones (a reopen keeps an elastic workspace’s mode when elastic is the organization’s default and allocation_mode is omitted). */
|
|
12330
13208
|
caps?: {
|
|
12331
13209
|
cpu_millis?: number;
|
|
12332
13210
|
memory_mib?: number;
|
|
12333
13211
|
disk_gib?: number;
|
|
12334
13212
|
/**
|
|
12335
|
-
* @description Memory allocation (contracts §32): fixed
|
|
12336
|
-
* @default fixed
|
|
13213
|
+
* @description Memory allocation (contracts §32): fixed 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). Omitted: fixed, or elastic where that is the organization’s default (a reopen then keeps the stored mode). Takes effect at the next VM start.
|
|
12337
13214
|
* @enum {string}
|
|
12338
13215
|
*/
|
|
12339
13216
|
allocation_mode?: "fixed" | "elastic";
|
|
@@ -12343,7 +13220,7 @@ export interface operations {
|
|
|
12343
13220
|
lifetime?: components["schemas"]["WorkspaceLifetime"];
|
|
12344
13221
|
/** @description Attribution label; one agent session per (workspace, principal, label). */
|
|
12345
13222
|
agent_label?: string;
|
|
12346
|
-
tools?: ("exec" | "files" | "pty" | "process" | "git" | "browser")[];
|
|
13223
|
+
tools?: ("exec" | "files" | "pty" | "process" | "git" | "browser" | "computer")[];
|
|
12347
13224
|
};
|
|
12348
13225
|
};
|
|
12349
13226
|
};
|
|
@@ -12651,7 +13528,7 @@ export interface operations {
|
|
|
12651
13528
|
"application/json": {
|
|
12652
13529
|
/** @description Attribution label; one agent session per (workspace, principal, label). */
|
|
12653
13530
|
agent_label?: string;
|
|
12654
|
-
tools?: ("exec" | "files" | "pty" | "process" | "git" | "browser")[];
|
|
13531
|
+
tools?: ("exec" | "files" | "pty" | "process" | "git" | "browser" | "computer")[];
|
|
12655
13532
|
};
|
|
12656
13533
|
};
|
|
12657
13534
|
};
|
|
@@ -12852,14 +13729,13 @@ export interface operations {
|
|
|
12852
13729
|
};
|
|
12853
13730
|
/** @description Template slug; new workspaces use its latest published version. */
|
|
12854
13731
|
template: string;
|
|
12855
|
-
/** @description Optional user caps; the ceiling is min(template, cap, plan). Absent fields add no restriction
|
|
13732
|
+
/** @description Optional user caps; the ceiling is min(template, cap, plan). Absent fields add no restriction. Given caps replace the stored ones (a reopen keeps an elastic workspace’s mode when elastic is the organization’s default and allocation_mode is omitted). */
|
|
12856
13733
|
caps?: {
|
|
12857
13734
|
cpu_millis?: number;
|
|
12858
13735
|
memory_mib?: number;
|
|
12859
13736
|
disk_gib?: number;
|
|
12860
13737
|
/**
|
|
12861
|
-
* @description Memory allocation (contracts §32): fixed
|
|
12862
|
-
* @default fixed
|
|
13738
|
+
* @description Memory allocation (contracts §32): fixed 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). Omitted: fixed, or elastic where that is the organization’s default (a reopen then keeps the stored mode). Takes effect at the next VM start.
|
|
12863
13739
|
* @enum {string}
|
|
12864
13740
|
*/
|
|
12865
13741
|
allocation_mode?: "fixed" | "elastic";
|
|
@@ -12873,7 +13749,7 @@ export interface operations {
|
|
|
12873
13749
|
project_id?: string;
|
|
12874
13750
|
/** @description Attribution label; one agent session per (workspace, principal, label). */
|
|
12875
13751
|
agent_label?: string;
|
|
12876
|
-
tools?: ("exec" | "files" | "pty" | "process" | "git" | "browser")[];
|
|
13752
|
+
tools?: ("exec" | "files" | "pty" | "process" | "git" | "browser" | "computer")[];
|
|
12877
13753
|
/** @description Secret names bound to the workspace (max 50, unique): injected as environment variables into every exec and PTY start (terminal sessions included), together with the call’s own `secret_refs`. Each must name a live secret this workspace may use (its project, its id, and allowed_tools including exec and pty), else 422 details.reason secret_not_available with details.names. */
|
|
12878
13754
|
secrets?: string[];
|
|
12879
13755
|
/** @description Open-time inputs of the template version (contracts §24.3): {NAME: string} for its declared text inputs. A new workspace stores each given value, else the declared default; on an existing key `inputs` replaces them all (omitted = unchanged). Secret inputs are not passed here: they bind the stored secret of the same name. 422 input_unknown (undeclared name, details.names), input_invalid (a secret input, a non-string, or a value over 4096 bytes or with CR, LF or NUL; details.names), input_required (details {names, kind}). */
|
|
@@ -12884,6 +13760,8 @@ export interface operations {
|
|
|
12884
13760
|
/** @description adaptive (the learned timeout, default), never, or fixed:<seconds> (60..604800). Contracts §20.7. */
|
|
12885
13761
|
idle_policy?: string;
|
|
12886
13762
|
mode?: components["schemas"]["WorkspaceMode"];
|
|
13763
|
+
/** @description Contracts §45.1: the workspace’s computer use switch (null follows the template); set on create, replaced on an existing key when given. */
|
|
13764
|
+
computer_use?: boolean | null;
|
|
12887
13765
|
};
|
|
12888
13766
|
};
|
|
12889
13767
|
};
|
|
@@ -12899,6 +13777,8 @@ export interface operations {
|
|
|
12899
13777
|
operation: components["schemas"]["Operation"] | null;
|
|
12900
13778
|
cell_endpoint: string | null;
|
|
12901
13779
|
tool_token: components["schemas"]["ToolToken"] | null;
|
|
13780
|
+
/** @description Contracts §46.2: true when this request created the workspace (a new key, or a key whose session ended), false when it reconnected to or resumed an existing one. Of concurrent opens of one new key exactly one says true; a replay with the same Idempotency-Key repeats it. */
|
|
13781
|
+
created: boolean;
|
|
12902
13782
|
};
|
|
12903
13783
|
};
|
|
12904
13784
|
};
|
|
@@ -12913,6 +13793,8 @@ export interface operations {
|
|
|
12913
13793
|
operation: components["schemas"]["Operation"] | null;
|
|
12914
13794
|
cell_endpoint: string | null;
|
|
12915
13795
|
tool_token: components["schemas"]["ToolToken"] | null;
|
|
13796
|
+
/** @description Contracts §46.2: true when this request created the workspace (a new key, or a key whose session ended), false when it reconnected to or resumed an existing one. Of concurrent opens of one new key exactly one says true; a replay with the same Idempotency-Key repeats it. */
|
|
13797
|
+
created: boolean;
|
|
12916
13798
|
};
|
|
12917
13799
|
};
|
|
12918
13800
|
};
|
|
@@ -13278,121 +14160,7 @@ export interface operations {
|
|
|
13278
14160
|
};
|
|
13279
14161
|
};
|
|
13280
14162
|
};
|
|
13281
|
-
|
|
13282
|
-
parameters: {
|
|
13283
|
-
query?: never;
|
|
13284
|
-
header?: never;
|
|
13285
|
-
path: {
|
|
13286
|
-
/** @description UUIDv7, lowercase canonical form. */
|
|
13287
|
-
workspace_id: string;
|
|
13288
|
-
};
|
|
13289
|
-
cookie?: never;
|
|
13290
|
-
};
|
|
13291
|
-
requestBody?: never;
|
|
13292
|
-
responses: {
|
|
13293
|
-
/** @description Default Response */
|
|
13294
|
-
202: {
|
|
13295
|
-
headers: {
|
|
13296
|
-
[name: string]: unknown;
|
|
13297
|
-
};
|
|
13298
|
-
content: {
|
|
13299
|
-
"application/json": {
|
|
13300
|
-
operation: components["schemas"]["Operation"];
|
|
13301
|
-
workspace: components["schemas"]["Workspace"];
|
|
13302
|
-
};
|
|
13303
|
-
};
|
|
13304
|
-
};
|
|
13305
|
-
/** @description Default Response */
|
|
13306
|
-
"4XX": {
|
|
13307
|
-
headers: {
|
|
13308
|
-
[name: string]: unknown;
|
|
13309
|
-
};
|
|
13310
|
-
content: {
|
|
13311
|
-
"application/json": components["schemas"]["ErrorBody"];
|
|
13312
|
-
};
|
|
13313
|
-
};
|
|
13314
|
-
/** @description Default Response */
|
|
13315
|
-
"5XX": {
|
|
13316
|
-
headers: {
|
|
13317
|
-
[name: string]: unknown;
|
|
13318
|
-
};
|
|
13319
|
-
content: {
|
|
13320
|
-
"application/json": components["schemas"]["ErrorBody"];
|
|
13321
|
-
};
|
|
13322
|
-
};
|
|
13323
|
-
};
|
|
13324
|
-
};
|
|
13325
|
-
postApiV1WorkspacesWorkspaceIdResume: {
|
|
13326
|
-
parameters: {
|
|
13327
|
-
query?: never;
|
|
13328
|
-
header?: {
|
|
13329
|
-
/** @description RFC 7240 preference, e.g. `wait=20` (held resume). */
|
|
13330
|
-
prefer?: string;
|
|
13331
|
-
};
|
|
13332
|
-
path: {
|
|
13333
|
-
/** @description UUIDv7, lowercase canonical form. */
|
|
13334
|
-
workspace_id: string;
|
|
13335
|
-
};
|
|
13336
|
-
cookie?: never;
|
|
13337
|
-
};
|
|
13338
|
-
/** @description The tool token a held resume returns (as for open): agent label and tools (default all the principal may use). */
|
|
13339
|
-
requestBody?: {
|
|
13340
|
-
content: {
|
|
13341
|
-
"application/json": {
|
|
13342
|
-
/** @description Attribution label; one agent session per (workspace, principal, label). */
|
|
13343
|
-
agent_label?: string;
|
|
13344
|
-
tools?: ("exec" | "files" | "pty" | "process" | "git" | "browser")[];
|
|
13345
|
-
};
|
|
13346
|
-
};
|
|
13347
|
-
};
|
|
13348
|
-
responses: {
|
|
13349
|
-
/** @description Held resume (`Prefer: wait`) that ended with the workspace running: the view, the succeeded resume (or the joined open/resume; null when the workspace was already running) and a tool token for the requested tools (null when one could not be issued: request it from POST …/tool-tokens). */
|
|
13350
|
-
200: {
|
|
13351
|
-
headers: {
|
|
13352
|
-
[name: string]: unknown;
|
|
13353
|
-
};
|
|
13354
|
-
content: {
|
|
13355
|
-
"application/json": {
|
|
13356
|
-
workspace: components["schemas"]["Workspace"];
|
|
13357
|
-
operation: components["schemas"]["Operation"] | null;
|
|
13358
|
-
cell_endpoint: string | null;
|
|
13359
|
-
tool_token: components["schemas"]["ToolToken"] | null;
|
|
13360
|
-
};
|
|
13361
|
-
};
|
|
13362
|
-
};
|
|
13363
|
-
/** @description Default Response */
|
|
13364
|
-
202: {
|
|
13365
|
-
headers: {
|
|
13366
|
-
[name: string]: unknown;
|
|
13367
|
-
};
|
|
13368
|
-
content: {
|
|
13369
|
-
"application/json": {
|
|
13370
|
-
operation: components["schemas"]["Operation"];
|
|
13371
|
-
workspace: components["schemas"]["Workspace"];
|
|
13372
|
-
};
|
|
13373
|
-
};
|
|
13374
|
-
};
|
|
13375
|
-
/** @description Default Response */
|
|
13376
|
-
"4XX": {
|
|
13377
|
-
headers: {
|
|
13378
|
-
[name: string]: unknown;
|
|
13379
|
-
};
|
|
13380
|
-
content: {
|
|
13381
|
-
"application/json": components["schemas"]["ErrorBody"];
|
|
13382
|
-
};
|
|
13383
|
-
};
|
|
13384
|
-
/** @description Default Response */
|
|
13385
|
-
"5XX": {
|
|
13386
|
-
headers: {
|
|
13387
|
-
[name: string]: unknown;
|
|
13388
|
-
};
|
|
13389
|
-
content: {
|
|
13390
|
-
"application/json": components["schemas"]["ErrorBody"];
|
|
13391
|
-
};
|
|
13392
|
-
};
|
|
13393
|
-
};
|
|
13394
|
-
};
|
|
13395
|
-
postApiV1WorkspacesWorkspaceIdSnapshot: {
|
|
14163
|
+
putApiV1WorkspacesWorkspaceIdComputerUse: {
|
|
13396
14164
|
parameters: {
|
|
13397
14165
|
query?: never;
|
|
13398
14166
|
header?: never;
|
|
@@ -13405,21 +14173,243 @@ export interface operations {
|
|
|
13405
14173
|
requestBody: {
|
|
13406
14174
|
content: {
|
|
13407
14175
|
"application/json": {
|
|
13408
|
-
|
|
14176
|
+
/** @description true or false overrides the template; null follows it. */
|
|
14177
|
+
enabled: boolean | null;
|
|
13409
14178
|
};
|
|
13410
14179
|
};
|
|
13411
14180
|
};
|
|
13412
14181
|
responses: {
|
|
13413
14182
|
/** @description Default Response */
|
|
13414
|
-
|
|
14183
|
+
200: {
|
|
13415
14184
|
headers: {
|
|
13416
14185
|
[name: string]: unknown;
|
|
13417
14186
|
};
|
|
13418
14187
|
content: {
|
|
13419
|
-
"application/json":
|
|
13420
|
-
|
|
13421
|
-
|
|
13422
|
-
|
|
14188
|
+
"application/json": components["schemas"]["ComputerUse"];
|
|
14189
|
+
};
|
|
14190
|
+
};
|
|
14191
|
+
/** @description Default Response */
|
|
14192
|
+
"4XX": {
|
|
14193
|
+
headers: {
|
|
14194
|
+
[name: string]: unknown;
|
|
14195
|
+
};
|
|
14196
|
+
content: {
|
|
14197
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
14198
|
+
};
|
|
14199
|
+
};
|
|
14200
|
+
/** @description Default Response */
|
|
14201
|
+
"5XX": {
|
|
14202
|
+
headers: {
|
|
14203
|
+
[name: string]: unknown;
|
|
14204
|
+
};
|
|
14205
|
+
content: {
|
|
14206
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
14207
|
+
};
|
|
14208
|
+
};
|
|
14209
|
+
};
|
|
14210
|
+
};
|
|
14211
|
+
postApiV1WorkspacesWorkspaceIdSuspend: {
|
|
14212
|
+
parameters: {
|
|
14213
|
+
query?: never;
|
|
14214
|
+
header?: never;
|
|
14215
|
+
path: {
|
|
14216
|
+
/** @description UUIDv7, lowercase canonical form. */
|
|
14217
|
+
workspace_id: string;
|
|
14218
|
+
};
|
|
14219
|
+
cookie?: never;
|
|
14220
|
+
};
|
|
14221
|
+
requestBody?: never;
|
|
14222
|
+
responses: {
|
|
14223
|
+
/** @description Default Response */
|
|
14224
|
+
202: {
|
|
14225
|
+
headers: {
|
|
14226
|
+
[name: string]: unknown;
|
|
14227
|
+
};
|
|
14228
|
+
content: {
|
|
14229
|
+
"application/json": {
|
|
14230
|
+
operation: components["schemas"]["Operation"];
|
|
14231
|
+
workspace: components["schemas"]["Workspace"];
|
|
14232
|
+
};
|
|
14233
|
+
};
|
|
14234
|
+
};
|
|
14235
|
+
/** @description Default Response */
|
|
14236
|
+
"4XX": {
|
|
14237
|
+
headers: {
|
|
14238
|
+
[name: string]: unknown;
|
|
14239
|
+
};
|
|
14240
|
+
content: {
|
|
14241
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
14242
|
+
};
|
|
14243
|
+
};
|
|
14244
|
+
/** @description Default Response */
|
|
14245
|
+
"5XX": {
|
|
14246
|
+
headers: {
|
|
14247
|
+
[name: string]: unknown;
|
|
14248
|
+
};
|
|
14249
|
+
content: {
|
|
14250
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
14251
|
+
};
|
|
14252
|
+
};
|
|
14253
|
+
};
|
|
14254
|
+
};
|
|
14255
|
+
postApiV1WorkspacesWorkspaceIdResume: {
|
|
14256
|
+
parameters: {
|
|
14257
|
+
query?: never;
|
|
14258
|
+
header?: {
|
|
14259
|
+
/** @description RFC 7240 preference, e.g. `wait=20` (held resume). */
|
|
14260
|
+
prefer?: string;
|
|
14261
|
+
};
|
|
14262
|
+
path: {
|
|
14263
|
+
/** @description UUIDv7, lowercase canonical form. */
|
|
14264
|
+
workspace_id: string;
|
|
14265
|
+
};
|
|
14266
|
+
cookie?: never;
|
|
14267
|
+
};
|
|
14268
|
+
/** @description The tool token a held resume returns (as for open): agent label and tools (default all the principal may use). */
|
|
14269
|
+
requestBody?: {
|
|
14270
|
+
content: {
|
|
14271
|
+
"application/json": {
|
|
14272
|
+
/** @description Attribution label; one agent session per (workspace, principal, label). */
|
|
14273
|
+
agent_label?: string;
|
|
14274
|
+
tools?: ("exec" | "files" | "pty" | "process" | "git" | "browser" | "computer")[];
|
|
14275
|
+
};
|
|
14276
|
+
};
|
|
14277
|
+
};
|
|
14278
|
+
responses: {
|
|
14279
|
+
/** @description Held resume (`Prefer: wait`) that ended with the workspace running: the view, the succeeded resume (or the joined open/resume; null when the workspace was already running) and a tool token for the requested tools (null when one could not be issued: request it from POST …/tool-tokens). */
|
|
14280
|
+
200: {
|
|
14281
|
+
headers: {
|
|
14282
|
+
[name: string]: unknown;
|
|
14283
|
+
};
|
|
14284
|
+
content: {
|
|
14285
|
+
"application/json": {
|
|
14286
|
+
workspace: components["schemas"]["Workspace"];
|
|
14287
|
+
operation: components["schemas"]["Operation"] | null;
|
|
14288
|
+
cell_endpoint: string | null;
|
|
14289
|
+
tool_token: components["schemas"]["ToolToken"] | null;
|
|
14290
|
+
};
|
|
14291
|
+
};
|
|
14292
|
+
};
|
|
14293
|
+
/** @description Default Response */
|
|
14294
|
+
202: {
|
|
14295
|
+
headers: {
|
|
14296
|
+
[name: string]: unknown;
|
|
14297
|
+
};
|
|
14298
|
+
content: {
|
|
14299
|
+
"application/json": {
|
|
14300
|
+
operation: components["schemas"]["Operation"];
|
|
14301
|
+
workspace: components["schemas"]["Workspace"];
|
|
14302
|
+
};
|
|
14303
|
+
};
|
|
14304
|
+
};
|
|
14305
|
+
/** @description Default Response */
|
|
14306
|
+
"4XX": {
|
|
14307
|
+
headers: {
|
|
14308
|
+
[name: string]: unknown;
|
|
14309
|
+
};
|
|
14310
|
+
content: {
|
|
14311
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
14312
|
+
};
|
|
14313
|
+
};
|
|
14314
|
+
/** @description Default Response */
|
|
14315
|
+
"5XX": {
|
|
14316
|
+
headers: {
|
|
14317
|
+
[name: string]: unknown;
|
|
14318
|
+
};
|
|
14319
|
+
content: {
|
|
14320
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
14321
|
+
};
|
|
14322
|
+
};
|
|
14323
|
+
};
|
|
14324
|
+
};
|
|
14325
|
+
postApiV1WorkspacesWorkspaceIdSnapshot: {
|
|
14326
|
+
parameters: {
|
|
14327
|
+
query?: never;
|
|
14328
|
+
header?: never;
|
|
14329
|
+
path: {
|
|
14330
|
+
/** @description UUIDv7, lowercase canonical form. */
|
|
14331
|
+
workspace_id: string;
|
|
14332
|
+
};
|
|
14333
|
+
cookie?: never;
|
|
14334
|
+
};
|
|
14335
|
+
requestBody: {
|
|
14336
|
+
content: {
|
|
14337
|
+
"application/json": {
|
|
14338
|
+
label?: string;
|
|
14339
|
+
};
|
|
14340
|
+
};
|
|
14341
|
+
};
|
|
14342
|
+
responses: {
|
|
14343
|
+
/** @description Default Response */
|
|
14344
|
+
202: {
|
|
14345
|
+
headers: {
|
|
14346
|
+
[name: string]: unknown;
|
|
14347
|
+
};
|
|
14348
|
+
content: {
|
|
14349
|
+
"application/json": {
|
|
14350
|
+
operation: components["schemas"]["Operation"];
|
|
14351
|
+
workspace: components["schemas"]["Workspace"];
|
|
14352
|
+
};
|
|
14353
|
+
};
|
|
14354
|
+
};
|
|
14355
|
+
/** @description Default Response */
|
|
14356
|
+
"4XX": {
|
|
14357
|
+
headers: {
|
|
14358
|
+
[name: string]: unknown;
|
|
14359
|
+
};
|
|
14360
|
+
content: {
|
|
14361
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
14362
|
+
};
|
|
14363
|
+
};
|
|
14364
|
+
/** @description Default Response */
|
|
14365
|
+
"5XX": {
|
|
14366
|
+
headers: {
|
|
14367
|
+
[name: string]: unknown;
|
|
14368
|
+
};
|
|
14369
|
+
content: {
|
|
14370
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
14371
|
+
};
|
|
14372
|
+
};
|
|
14373
|
+
};
|
|
14374
|
+
};
|
|
14375
|
+
patchApiV1WorkspacesWorkspaceIdCaps: {
|
|
14376
|
+
parameters: {
|
|
14377
|
+
query?: never;
|
|
14378
|
+
header?: {
|
|
14379
|
+
/** @description RFC 7240 preference, e.g. `wait=30` (at most 55; default 20). */
|
|
14380
|
+
prefer?: string;
|
|
14381
|
+
};
|
|
14382
|
+
path: {
|
|
14383
|
+
/** @description UUIDv7, lowercase canonical form. */
|
|
14384
|
+
workspace_id: string;
|
|
14385
|
+
};
|
|
14386
|
+
cookie?: never;
|
|
14387
|
+
};
|
|
14388
|
+
requestBody: {
|
|
14389
|
+
content: {
|
|
14390
|
+
"application/json": components["schemas"]["ResizeWorkspaceBody"];
|
|
14391
|
+
};
|
|
14392
|
+
};
|
|
14393
|
+
responses: {
|
|
14394
|
+
/** @description Per resource the request named (allocation_mode and memory_mib_held report under memory): what applied now and what applies later. caps: the workspace caps every later start uses. */
|
|
14395
|
+
200: {
|
|
14396
|
+
headers: {
|
|
14397
|
+
[name: string]: unknown;
|
|
14398
|
+
};
|
|
14399
|
+
content: {
|
|
14400
|
+
"application/json": components["schemas"]["ResizeResult"];
|
|
14401
|
+
};
|
|
14402
|
+
};
|
|
14403
|
+
/** @description Default Response */
|
|
14404
|
+
202: {
|
|
14405
|
+
headers: {
|
|
14406
|
+
[name: string]: unknown;
|
|
14407
|
+
};
|
|
14408
|
+
content: {
|
|
14409
|
+
"application/json": {
|
|
14410
|
+
operation: components["schemas"]["Operation"];
|
|
14411
|
+
workspace: components["schemas"]["Workspace"];
|
|
14412
|
+
};
|
|
13423
14413
|
};
|
|
13424
14414
|
};
|
|
13425
14415
|
/** @description Default Response */
|
|
@@ -13552,14 +14542,13 @@ export interface operations {
|
|
|
13552
14542
|
"application/json": {
|
|
13553
14543
|
/** @description Stable workspace key, unique per organization (e.g. `${customerId}/${projectId}`). */
|
|
13554
14544
|
key: string;
|
|
13555
|
-
/** @description Optional user caps; the ceiling is min(template, cap, plan). Absent fields add no restriction
|
|
14545
|
+
/** @description Optional user caps; the ceiling is min(template, cap, plan). Absent fields add no restriction. Given caps replace the stored ones (a reopen keeps an elastic workspace’s mode when elastic is the organization’s default and allocation_mode is omitted). */
|
|
13556
14546
|
caps?: {
|
|
13557
14547
|
cpu_millis?: number;
|
|
13558
14548
|
memory_mib?: number;
|
|
13559
14549
|
disk_gib?: number;
|
|
13560
14550
|
/**
|
|
13561
|
-
* @description Memory allocation (contracts §32): fixed
|
|
13562
|
-
* @default fixed
|
|
14551
|
+
* @description Memory allocation (contracts §32): fixed 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). Omitted: fixed, or elastic where that is the organization’s default (a reopen then keeps the stored mode). Takes effect at the next VM start.
|
|
13563
14552
|
* @enum {string}
|
|
13564
14553
|
*/
|
|
13565
14554
|
allocation_mode?: "fixed" | "elastic";
|
|
@@ -13569,7 +14558,7 @@ export interface operations {
|
|
|
13569
14558
|
lifetime?: components["schemas"]["WorkspaceLifetime"];
|
|
13570
14559
|
/** @description Attribution label; one agent session per (workspace, principal, label). */
|
|
13571
14560
|
agent_label?: string;
|
|
13572
|
-
tools?: ("exec" | "files" | "pty" | "process" | "git" | "browser")[];
|
|
14561
|
+
tools?: ("exec" | "files" | "pty" | "process" | "git" | "browser" | "computer")[];
|
|
13573
14562
|
};
|
|
13574
14563
|
};
|
|
13575
14564
|
};
|
|
@@ -13877,7 +14866,7 @@ export interface operations {
|
|
|
13877
14866
|
"application/json": {
|
|
13878
14867
|
/** @description Attribution label; one agent session per (workspace, principal, label). */
|
|
13879
14868
|
agent_label?: string;
|
|
13880
|
-
tools?: ("exec" | "files" | "pty" | "process" | "git" | "browser")[];
|
|
14869
|
+
tools?: ("exec" | "files" | "pty" | "process" | "git" | "browser" | "computer")[];
|
|
13881
14870
|
};
|
|
13882
14871
|
};
|
|
13883
14872
|
};
|
|
@@ -14024,8 +15013,11 @@ export interface operations {
|
|
|
14024
15013
|
* @description UUIDv7, lowercase canonical form.
|
|
14025
15014
|
*/
|
|
14026
15015
|
workspace_id: string;
|
|
14027
|
-
/**
|
|
14028
|
-
|
|
15016
|
+
/**
|
|
15017
|
+
* @description computer (contracts §45): the workspace desktop; a tool token carries it only while the workspace’s computer use is on.
|
|
15018
|
+
* @enum {string}
|
|
15019
|
+
*/
|
|
15020
|
+
tool: "exec" | "files" | "pty" | "process" | "git" | "browser" | "computer";
|
|
14029
15021
|
/**
|
|
14030
15022
|
* Format: uuid
|
|
14031
15023
|
* @description UUIDv7, lowercase canonical form.
|
|
@@ -14130,34 +15122,36 @@ export interface operations {
|
|
|
14130
15122
|
};
|
|
14131
15123
|
};
|
|
14132
15124
|
};
|
|
14133
|
-
|
|
15125
|
+
putV1WorkspacesWorkspaceIdPortsPort: {
|
|
14134
15126
|
parameters: {
|
|
14135
|
-
query?:
|
|
14136
|
-
limit?: number;
|
|
14137
|
-
cursor?: string;
|
|
14138
|
-
/** @description Also list org-shared volumes owned by other projects of the organization (attachable here). */
|
|
14139
|
-
include_org_shared?: boolean;
|
|
14140
|
-
include_deleted?: boolean;
|
|
14141
|
-
};
|
|
15127
|
+
query?: never;
|
|
14142
15128
|
header?: never;
|
|
14143
15129
|
path: {
|
|
14144
15130
|
/** @description UUIDv7, lowercase canonical form. */
|
|
14145
|
-
|
|
15131
|
+
workspace_id: string;
|
|
15132
|
+
/** @description TCP port inside the workspace (1-65535). */
|
|
15133
|
+
port: number;
|
|
14146
15134
|
};
|
|
14147
15135
|
cookie?: never;
|
|
14148
15136
|
};
|
|
14149
15137
|
requestBody?: never;
|
|
14150
15138
|
responses: {
|
|
14151
|
-
/** @description
|
|
15139
|
+
/** @description An exposed port of a workspace (contracts §39.3). Private: every request needs a credential. */
|
|
14152
15140
|
200: {
|
|
14153
15141
|
headers: {
|
|
14154
15142
|
[name: string]: unknown;
|
|
14155
15143
|
};
|
|
14156
15144
|
content: {
|
|
14157
|
-
"application/json":
|
|
14158
|
-
|
|
14159
|
-
|
|
14160
|
-
|
|
15145
|
+
"application/json": components["schemas"]["Port"];
|
|
15146
|
+
};
|
|
15147
|
+
};
|
|
15148
|
+
/** @description An exposed port of a workspace (contracts §39.3). Private: every request needs a credential. */
|
|
15149
|
+
201: {
|
|
15150
|
+
headers: {
|
|
15151
|
+
[name: string]: unknown;
|
|
15152
|
+
};
|
|
15153
|
+
content: {
|
|
15154
|
+
"application/json": components["schemas"]["Port"];
|
|
14161
15155
|
};
|
|
14162
15156
|
};
|
|
14163
15157
|
/** @description Default Response */
|
|
@@ -14180,39 +15174,26 @@ export interface operations {
|
|
|
14180
15174
|
};
|
|
14181
15175
|
};
|
|
14182
15176
|
};
|
|
14183
|
-
|
|
15177
|
+
deleteV1WorkspacesWorkspaceIdPortsPort: {
|
|
14184
15178
|
parameters: {
|
|
14185
15179
|
query?: never;
|
|
14186
15180
|
header?: never;
|
|
14187
15181
|
path: {
|
|
14188
15182
|
/** @description UUIDv7, lowercase canonical form. */
|
|
14189
|
-
|
|
15183
|
+
workspace_id: string;
|
|
15184
|
+
/** @description TCP port inside the workspace (1-65535). */
|
|
15185
|
+
port: number;
|
|
14190
15186
|
};
|
|
14191
15187
|
cookie?: never;
|
|
14192
15188
|
};
|
|
14193
|
-
requestBody
|
|
14194
|
-
content: {
|
|
14195
|
-
"application/json": {
|
|
14196
|
-
/** @description Unique among the project’s live volumes. */
|
|
14197
|
-
name: string;
|
|
14198
|
-
quota_gib: number;
|
|
14199
|
-
/** @default false */
|
|
14200
|
-
org_shared?: boolean;
|
|
14201
|
-
};
|
|
14202
|
-
};
|
|
14203
|
-
};
|
|
15189
|
+
requestBody?: never;
|
|
14204
15190
|
responses: {
|
|
14205
|
-
/** @description
|
|
14206
|
-
|
|
15191
|
+
/** @description No content. */
|
|
15192
|
+
204: {
|
|
14207
15193
|
headers: {
|
|
14208
15194
|
[name: string]: unknown;
|
|
14209
15195
|
};
|
|
14210
|
-
content
|
|
14211
|
-
"application/json": {
|
|
14212
|
-
volume: components["schemas"]["Volume"];
|
|
14213
|
-
operation: components["schemas"]["Operation"];
|
|
14214
|
-
};
|
|
14215
|
-
};
|
|
15196
|
+
content?: never;
|
|
14216
15197
|
};
|
|
14217
15198
|
/** @description Default Response */
|
|
14218
15199
|
"4XX": {
|
|
@@ -14234,15 +15215,13 @@ export interface operations {
|
|
|
14234
15215
|
};
|
|
14235
15216
|
};
|
|
14236
15217
|
};
|
|
14237
|
-
|
|
15218
|
+
getV1WorkspacesWorkspaceIdPorts: {
|
|
14238
15219
|
parameters: {
|
|
14239
15220
|
query?: never;
|
|
14240
15221
|
header?: never;
|
|
14241
15222
|
path: {
|
|
14242
15223
|
/** @description UUIDv7, lowercase canonical form. */
|
|
14243
|
-
|
|
14244
|
-
/** @description UUIDv7, lowercase canonical form. */
|
|
14245
|
-
volume_id: string;
|
|
15224
|
+
workspace_id: string;
|
|
14246
15225
|
};
|
|
14247
15226
|
cookie?: never;
|
|
14248
15227
|
};
|
|
@@ -14254,7 +15233,9 @@ export interface operations {
|
|
|
14254
15233
|
[name: string]: unknown;
|
|
14255
15234
|
};
|
|
14256
15235
|
content: {
|
|
14257
|
-
"application/json":
|
|
15236
|
+
"application/json": {
|
|
15237
|
+
ports: components["schemas"]["Port"][];
|
|
15238
|
+
};
|
|
14258
15239
|
};
|
|
14259
15240
|
};
|
|
14260
15241
|
/** @description Default Response */
|
|
@@ -14277,32 +15258,46 @@ export interface operations {
|
|
|
14277
15258
|
};
|
|
14278
15259
|
};
|
|
14279
15260
|
};
|
|
14280
|
-
|
|
15261
|
+
postV1WorkspacesWorkspaceIdPortsPortTokens: {
|
|
14281
15262
|
parameters: {
|
|
14282
|
-
query?:
|
|
14283
|
-
force?: boolean;
|
|
14284
|
-
confirm_name?: string;
|
|
14285
|
-
};
|
|
15263
|
+
query?: never;
|
|
14286
15264
|
header?: never;
|
|
14287
15265
|
path: {
|
|
14288
15266
|
/** @description UUIDv7, lowercase canonical form. */
|
|
14289
|
-
|
|
14290
|
-
/** @description
|
|
14291
|
-
|
|
15267
|
+
workspace_id: string;
|
|
15268
|
+
/** @description TCP port inside the workspace (1-65535). */
|
|
15269
|
+
port: number;
|
|
14292
15270
|
};
|
|
14293
15271
|
cookie?: never;
|
|
14294
15272
|
};
|
|
14295
|
-
requestBody?:
|
|
15273
|
+
requestBody?: {
|
|
15274
|
+
content: {
|
|
15275
|
+
"application/json": {
|
|
15276
|
+
/**
|
|
15277
|
+
* @description Lifetime in seconds (60-86400, default 3600).
|
|
15278
|
+
* @default 3600
|
|
15279
|
+
*/
|
|
15280
|
+
ttl_seconds?: number;
|
|
15281
|
+
};
|
|
15282
|
+
};
|
|
15283
|
+
};
|
|
14296
15284
|
responses: {
|
|
14297
15285
|
/** @description Default Response */
|
|
14298
|
-
|
|
15286
|
+
201: {
|
|
14299
15287
|
headers: {
|
|
14300
15288
|
[name: string]: unknown;
|
|
14301
15289
|
};
|
|
14302
15290
|
content: {
|
|
14303
15291
|
"application/json": {
|
|
14304
|
-
|
|
14305
|
-
|
|
15292
|
+
/** @description sfp_…: send as `Authorization: Bearer <token>` (or `X-Shardflux-Token`) to `url`. Revoked when the port is closed. */
|
|
15293
|
+
token: string;
|
|
15294
|
+
/**
|
|
15295
|
+
* Format: date-time
|
|
15296
|
+
* @description RFC 3339 UTC timestamp with Z.
|
|
15297
|
+
*/
|
|
15298
|
+
expires_at: string;
|
|
15299
|
+
/** @description The port’s URL. */
|
|
15300
|
+
url: string;
|
|
14306
15301
|
};
|
|
14307
15302
|
};
|
|
14308
15303
|
};
|
|
@@ -14326,33 +15321,46 @@ export interface operations {
|
|
|
14326
15321
|
};
|
|
14327
15322
|
};
|
|
14328
15323
|
};
|
|
14329
|
-
|
|
15324
|
+
postV1WorkspacesWorkspaceIdPortsPortLinks: {
|
|
14330
15325
|
parameters: {
|
|
14331
|
-
query?:
|
|
14332
|
-
limit?: number;
|
|
14333
|
-
cursor?: string;
|
|
14334
|
-
include_detached?: boolean;
|
|
14335
|
-
};
|
|
15326
|
+
query?: never;
|
|
14336
15327
|
header?: never;
|
|
14337
15328
|
path: {
|
|
14338
15329
|
/** @description UUIDv7, lowercase canonical form. */
|
|
14339
|
-
|
|
14340
|
-
/** @description
|
|
14341
|
-
|
|
15330
|
+
workspace_id: string;
|
|
15331
|
+
/** @description TCP port inside the workspace (1-65535). */
|
|
15332
|
+
port: number;
|
|
14342
15333
|
};
|
|
14343
15334
|
cookie?: never;
|
|
14344
15335
|
};
|
|
14345
|
-
requestBody?:
|
|
15336
|
+
requestBody?: {
|
|
15337
|
+
content: {
|
|
15338
|
+
"application/json": {
|
|
15339
|
+
/**
|
|
15340
|
+
* @description Lifetime of the link and of the browser session it starts (60-604800 s, default 86400).
|
|
15341
|
+
* @default 86400
|
|
15342
|
+
*/
|
|
15343
|
+
ttl_seconds?: number;
|
|
15344
|
+
/** @description Where the link lands (default `/`): a path starting with one `/`, printable ASCII, query allowed. */
|
|
15345
|
+
path?: string;
|
|
15346
|
+
};
|
|
15347
|
+
};
|
|
15348
|
+
};
|
|
14346
15349
|
responses: {
|
|
14347
15350
|
/** @description Default Response */
|
|
14348
|
-
|
|
15351
|
+
201: {
|
|
14349
15352
|
headers: {
|
|
14350
15353
|
[name: string]: unknown;
|
|
14351
15354
|
};
|
|
14352
15355
|
content: {
|
|
14353
15356
|
"application/json": {
|
|
14354
|
-
|
|
14355
|
-
|
|
15357
|
+
/** @description Open in a browser: it sets a session cookie for the port’s host (until expires_at) and redirects to `path`. */
|
|
15358
|
+
url: string;
|
|
15359
|
+
/**
|
|
15360
|
+
* Format: date-time
|
|
15361
|
+
* @description RFC 3339 UTC timestamp with Z.
|
|
15362
|
+
*/
|
|
15363
|
+
expires_at: string;
|
|
14356
15364
|
};
|
|
14357
15365
|
};
|
|
14358
15366
|
};
|
|
@@ -14376,31 +15384,34 @@ export interface operations {
|
|
|
14376
15384
|
};
|
|
14377
15385
|
};
|
|
14378
15386
|
};
|
|
14379
|
-
|
|
15387
|
+
postV1WorkspacesWorkspaceIdPortsPortCallback: {
|
|
14380
15388
|
parameters: {
|
|
14381
|
-
query?:
|
|
14382
|
-
limit?: number;
|
|
14383
|
-
cursor?: string;
|
|
14384
|
-
include_detached?: boolean;
|
|
14385
|
-
};
|
|
15389
|
+
query?: never;
|
|
14386
15390
|
header?: never;
|
|
14387
15391
|
path: {
|
|
14388
15392
|
/** @description UUIDv7, lowercase canonical form. */
|
|
14389
15393
|
workspace_id: string;
|
|
15394
|
+
/** @description TCP port inside the workspace (1-65535). */
|
|
15395
|
+
port: number;
|
|
14390
15396
|
};
|
|
14391
15397
|
cookie?: never;
|
|
14392
15398
|
};
|
|
14393
15399
|
requestBody?: never;
|
|
14394
15400
|
responses: {
|
|
14395
15401
|
/** @description Default Response */
|
|
14396
|
-
|
|
15402
|
+
201: {
|
|
14397
15403
|
headers: {
|
|
14398
15404
|
[name: string]: unknown;
|
|
14399
15405
|
};
|
|
14400
15406
|
content: {
|
|
14401
15407
|
"application/json": {
|
|
14402
|
-
|
|
14403
|
-
|
|
15408
|
+
/** @description https://<port>-<handle>.<domain>/__shardflux/callback/sfcb_…/: append your own path. Shown once. */
|
|
15409
|
+
url: string;
|
|
15410
|
+
/**
|
|
15411
|
+
* Format: date-time
|
|
15412
|
+
* @description RFC 3339 UTC timestamp with Z.
|
|
15413
|
+
*/
|
|
15414
|
+
created_at: string;
|
|
14404
15415
|
};
|
|
14405
15416
|
};
|
|
14406
15417
|
};
|
|
@@ -14424,57 +15435,77 @@ export interface operations {
|
|
|
14424
15435
|
};
|
|
14425
15436
|
};
|
|
14426
15437
|
};
|
|
14427
|
-
|
|
15438
|
+
deleteV1WorkspacesWorkspaceIdPortsPortCallback: {
|
|
14428
15439
|
parameters: {
|
|
14429
15440
|
query?: never;
|
|
14430
15441
|
header?: never;
|
|
14431
15442
|
path: {
|
|
14432
15443
|
/** @description UUIDv7, lowercase canonical form. */
|
|
14433
15444
|
workspace_id: string;
|
|
15445
|
+
/** @description TCP port inside the workspace (1-65535). */
|
|
15446
|
+
port: number;
|
|
14434
15447
|
};
|
|
14435
15448
|
cookie?: never;
|
|
14436
15449
|
};
|
|
14437
|
-
requestBody
|
|
14438
|
-
|
|
14439
|
-
|
|
14440
|
-
|
|
14441
|
-
|
|
14442
|
-
|
|
14443
|
-
|
|
14444
|
-
|
|
14445
|
-
|
|
14446
|
-
|
|
14447
|
-
|
|
14448
|
-
|
|
14449
|
-
|
|
14450
|
-
|
|
14451
|
-
|
|
15450
|
+
requestBody?: never;
|
|
15451
|
+
responses: {
|
|
15452
|
+
/** @description No content. */
|
|
15453
|
+
204: {
|
|
15454
|
+
headers: {
|
|
15455
|
+
[name: string]: unknown;
|
|
15456
|
+
};
|
|
15457
|
+
content?: never;
|
|
15458
|
+
};
|
|
15459
|
+
/** @description Default Response */
|
|
15460
|
+
"4XX": {
|
|
15461
|
+
headers: {
|
|
15462
|
+
[name: string]: unknown;
|
|
15463
|
+
};
|
|
15464
|
+
content: {
|
|
15465
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
14452
15466
|
};
|
|
14453
15467
|
};
|
|
15468
|
+
/** @description Default Response */
|
|
15469
|
+
"5XX": {
|
|
15470
|
+
headers: {
|
|
15471
|
+
[name: string]: unknown;
|
|
15472
|
+
};
|
|
15473
|
+
content: {
|
|
15474
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
15475
|
+
};
|
|
15476
|
+
};
|
|
15477
|
+
};
|
|
15478
|
+
};
|
|
15479
|
+
putApiV1WorkspacesWorkspaceIdPortsPort: {
|
|
15480
|
+
parameters: {
|
|
15481
|
+
query?: never;
|
|
15482
|
+
header?: never;
|
|
15483
|
+
path: {
|
|
15484
|
+
/** @description UUIDv7, lowercase canonical form. */
|
|
15485
|
+
workspace_id: string;
|
|
15486
|
+
/** @description TCP port inside the workspace (1-65535). */
|
|
15487
|
+
port: number;
|
|
15488
|
+
};
|
|
15489
|
+
cookie?: never;
|
|
14454
15490
|
};
|
|
15491
|
+
requestBody?: never;
|
|
14455
15492
|
responses: {
|
|
14456
|
-
/** @description
|
|
15493
|
+
/** @description An exposed port of a workspace (contracts §39.3). Private: every request needs a credential. */
|
|
14457
15494
|
200: {
|
|
14458
15495
|
headers: {
|
|
14459
15496
|
[name: string]: unknown;
|
|
14460
15497
|
};
|
|
14461
15498
|
content: {
|
|
14462
|
-
"application/json":
|
|
14463
|
-
attachment: components["schemas"]["VolumeAttachment"];
|
|
14464
|
-
operation: components["schemas"]["Operation"] | null;
|
|
14465
|
-
};
|
|
15499
|
+
"application/json": components["schemas"]["Port"];
|
|
14466
15500
|
};
|
|
14467
15501
|
};
|
|
14468
|
-
/** @description
|
|
14469
|
-
|
|
15502
|
+
/** @description An exposed port of a workspace (contracts §39.3). Private: every request needs a credential. */
|
|
15503
|
+
201: {
|
|
14470
15504
|
headers: {
|
|
14471
15505
|
[name: string]: unknown;
|
|
14472
15506
|
};
|
|
14473
15507
|
content: {
|
|
14474
|
-
"application/json":
|
|
14475
|
-
attachment: components["schemas"]["VolumeAttachment"];
|
|
14476
|
-
operation: components["schemas"]["Operation"] | null;
|
|
14477
|
-
};
|
|
15508
|
+
"application/json": components["schemas"]["Port"];
|
|
14478
15509
|
};
|
|
14479
15510
|
};
|
|
14480
15511
|
/** @description Default Response */
|
|
@@ -14497,31 +15528,26 @@ export interface operations {
|
|
|
14497
15528
|
};
|
|
14498
15529
|
};
|
|
14499
15530
|
};
|
|
14500
|
-
|
|
15531
|
+
deleteApiV1WorkspacesWorkspaceIdPortsPort: {
|
|
14501
15532
|
parameters: {
|
|
14502
15533
|
query?: never;
|
|
14503
15534
|
header?: never;
|
|
14504
15535
|
path: {
|
|
14505
15536
|
/** @description UUIDv7, lowercase canonical form. */
|
|
14506
15537
|
workspace_id: string;
|
|
14507
|
-
/** @description
|
|
14508
|
-
|
|
15538
|
+
/** @description TCP port inside the workspace (1-65535). */
|
|
15539
|
+
port: number;
|
|
14509
15540
|
};
|
|
14510
15541
|
cookie?: never;
|
|
14511
15542
|
};
|
|
14512
15543
|
requestBody?: never;
|
|
14513
15544
|
responses: {
|
|
14514
|
-
/** @description
|
|
14515
|
-
|
|
15545
|
+
/** @description No content. */
|
|
15546
|
+
204: {
|
|
14516
15547
|
headers: {
|
|
14517
15548
|
[name: string]: unknown;
|
|
14518
15549
|
};
|
|
14519
|
-
content
|
|
14520
|
-
"application/json": {
|
|
14521
|
-
attachment: components["schemas"]["VolumeAttachment"];
|
|
14522
|
-
operation: components["schemas"]["Operation"] | null;
|
|
14523
|
-
};
|
|
14524
|
-
};
|
|
15550
|
+
content?: never;
|
|
14525
15551
|
};
|
|
14526
15552
|
/** @description Default Response */
|
|
14527
15553
|
"4XX": {
|
|
@@ -14543,19 +15569,13 @@ export interface operations {
|
|
|
14543
15569
|
};
|
|
14544
15570
|
};
|
|
14545
15571
|
};
|
|
14546
|
-
|
|
15572
|
+
getApiV1WorkspacesWorkspaceIdPorts: {
|
|
14547
15573
|
parameters: {
|
|
14548
|
-
query?:
|
|
14549
|
-
limit?: number;
|
|
14550
|
-
cursor?: string;
|
|
14551
|
-
/** @description Also list org-shared volumes owned by other projects of the organization (attachable here). */
|
|
14552
|
-
include_org_shared?: boolean;
|
|
14553
|
-
include_deleted?: boolean;
|
|
14554
|
-
};
|
|
15574
|
+
query?: never;
|
|
14555
15575
|
header?: never;
|
|
14556
15576
|
path: {
|
|
14557
15577
|
/** @description UUIDv7, lowercase canonical form. */
|
|
14558
|
-
|
|
15578
|
+
workspace_id: string;
|
|
14559
15579
|
};
|
|
14560
15580
|
cookie?: never;
|
|
14561
15581
|
};
|
|
@@ -14568,8 +15588,7 @@ export interface operations {
|
|
|
14568
15588
|
};
|
|
14569
15589
|
content: {
|
|
14570
15590
|
"application/json": {
|
|
14571
|
-
|
|
14572
|
-
next_cursor: string | null;
|
|
15591
|
+
ports: components["schemas"]["Port"][];
|
|
14573
15592
|
};
|
|
14574
15593
|
};
|
|
14575
15594
|
};
|
|
@@ -14593,37 +15612,46 @@ export interface operations {
|
|
|
14593
15612
|
};
|
|
14594
15613
|
};
|
|
14595
15614
|
};
|
|
14596
|
-
|
|
15615
|
+
postApiV1WorkspacesWorkspaceIdPortsPortTokens: {
|
|
14597
15616
|
parameters: {
|
|
14598
15617
|
query?: never;
|
|
14599
15618
|
header?: never;
|
|
14600
15619
|
path: {
|
|
14601
15620
|
/** @description UUIDv7, lowercase canonical form. */
|
|
14602
|
-
|
|
15621
|
+
workspace_id: string;
|
|
15622
|
+
/** @description TCP port inside the workspace (1-65535). */
|
|
15623
|
+
port: number;
|
|
14603
15624
|
};
|
|
14604
15625
|
cookie?: never;
|
|
14605
15626
|
};
|
|
14606
|
-
requestBody
|
|
15627
|
+
requestBody?: {
|
|
14607
15628
|
content: {
|
|
14608
15629
|
"application/json": {
|
|
14609
|
-
/**
|
|
14610
|
-
|
|
14611
|
-
|
|
14612
|
-
|
|
14613
|
-
|
|
15630
|
+
/**
|
|
15631
|
+
* @description Lifetime in seconds (60-86400, default 3600).
|
|
15632
|
+
* @default 3600
|
|
15633
|
+
*/
|
|
15634
|
+
ttl_seconds?: number;
|
|
14614
15635
|
};
|
|
14615
15636
|
};
|
|
14616
15637
|
};
|
|
14617
15638
|
responses: {
|
|
14618
15639
|
/** @description Default Response */
|
|
14619
|
-
|
|
15640
|
+
201: {
|
|
14620
15641
|
headers: {
|
|
14621
15642
|
[name: string]: unknown;
|
|
14622
15643
|
};
|
|
14623
15644
|
content: {
|
|
14624
15645
|
"application/json": {
|
|
14625
|
-
|
|
14626
|
-
|
|
15646
|
+
/** @description sfp_…: send as `Authorization: Bearer <token>` (or `X-Shardflux-Token`) to `url`. Revoked when the port is closed. */
|
|
15647
|
+
token: string;
|
|
15648
|
+
/**
|
|
15649
|
+
* Format: date-time
|
|
15650
|
+
* @description RFC 3339 UTC timestamp with Z.
|
|
15651
|
+
*/
|
|
15652
|
+
expires_at: string;
|
|
15653
|
+
/** @description The port’s URL. */
|
|
15654
|
+
url: string;
|
|
14627
15655
|
};
|
|
14628
15656
|
};
|
|
14629
15657
|
};
|
|
@@ -14647,27 +15675,47 @@ export interface operations {
|
|
|
14647
15675
|
};
|
|
14648
15676
|
};
|
|
14649
15677
|
};
|
|
14650
|
-
|
|
15678
|
+
postApiV1WorkspacesWorkspaceIdPortsPortLinks: {
|
|
14651
15679
|
parameters: {
|
|
14652
15680
|
query?: never;
|
|
14653
15681
|
header?: never;
|
|
14654
15682
|
path: {
|
|
14655
15683
|
/** @description UUIDv7, lowercase canonical form. */
|
|
14656
|
-
|
|
14657
|
-
/** @description
|
|
14658
|
-
|
|
15684
|
+
workspace_id: string;
|
|
15685
|
+
/** @description TCP port inside the workspace (1-65535). */
|
|
15686
|
+
port: number;
|
|
14659
15687
|
};
|
|
14660
15688
|
cookie?: never;
|
|
14661
15689
|
};
|
|
14662
|
-
requestBody?:
|
|
15690
|
+
requestBody?: {
|
|
15691
|
+
content: {
|
|
15692
|
+
"application/json": {
|
|
15693
|
+
/**
|
|
15694
|
+
* @description Lifetime of the link and of the browser session it starts (60-604800 s, default 86400).
|
|
15695
|
+
* @default 86400
|
|
15696
|
+
*/
|
|
15697
|
+
ttl_seconds?: number;
|
|
15698
|
+
/** @description Where the link lands (default `/`): a path starting with one `/`, printable ASCII, query allowed. */
|
|
15699
|
+
path?: string;
|
|
15700
|
+
};
|
|
15701
|
+
};
|
|
15702
|
+
};
|
|
14663
15703
|
responses: {
|
|
14664
15704
|
/** @description Default Response */
|
|
14665
|
-
|
|
15705
|
+
201: {
|
|
14666
15706
|
headers: {
|
|
14667
15707
|
[name: string]: unknown;
|
|
14668
15708
|
};
|
|
14669
15709
|
content: {
|
|
14670
|
-
"application/json":
|
|
15710
|
+
"application/json": {
|
|
15711
|
+
/** @description Open in a browser: it sets a session cookie for the port’s host (until expires_at) and redirects to `path`. */
|
|
15712
|
+
url: string;
|
|
15713
|
+
/**
|
|
15714
|
+
* Format: date-time
|
|
15715
|
+
* @description RFC 3339 UTC timestamp with Z.
|
|
15716
|
+
*/
|
|
15717
|
+
expires_at: string;
|
|
15718
|
+
};
|
|
14671
15719
|
};
|
|
14672
15720
|
};
|
|
14673
15721
|
/** @description Default Response */
|
|
@@ -14690,32 +15738,34 @@ export interface operations {
|
|
|
14690
15738
|
};
|
|
14691
15739
|
};
|
|
14692
15740
|
};
|
|
14693
|
-
|
|
15741
|
+
postApiV1WorkspacesWorkspaceIdPortsPortCallback: {
|
|
14694
15742
|
parameters: {
|
|
14695
|
-
query?:
|
|
14696
|
-
force?: boolean;
|
|
14697
|
-
confirm_name?: string;
|
|
14698
|
-
};
|
|
15743
|
+
query?: never;
|
|
14699
15744
|
header?: never;
|
|
14700
15745
|
path: {
|
|
14701
15746
|
/** @description UUIDv7, lowercase canonical form. */
|
|
14702
|
-
|
|
14703
|
-
/** @description
|
|
14704
|
-
|
|
15747
|
+
workspace_id: string;
|
|
15748
|
+
/** @description TCP port inside the workspace (1-65535). */
|
|
15749
|
+
port: number;
|
|
14705
15750
|
};
|
|
14706
15751
|
cookie?: never;
|
|
14707
15752
|
};
|
|
14708
15753
|
requestBody?: never;
|
|
14709
15754
|
responses: {
|
|
14710
15755
|
/** @description Default Response */
|
|
14711
|
-
|
|
15756
|
+
201: {
|
|
14712
15757
|
headers: {
|
|
14713
15758
|
[name: string]: unknown;
|
|
14714
15759
|
};
|
|
14715
15760
|
content: {
|
|
14716
15761
|
"application/json": {
|
|
14717
|
-
|
|
14718
|
-
|
|
15762
|
+
/** @description https://<port>-<handle>.<domain>/__shardflux/callback/sfcb_…/: append your own path. Shown once. */
|
|
15763
|
+
url: string;
|
|
15764
|
+
/**
|
|
15765
|
+
* Format: date-time
|
|
15766
|
+
* @description RFC 3339 UTC timestamp with Z.
|
|
15767
|
+
*/
|
|
15768
|
+
created_at: string;
|
|
14719
15769
|
};
|
|
14720
15770
|
};
|
|
14721
15771
|
};
|
|
@@ -14739,35 +15789,771 @@ export interface operations {
|
|
|
14739
15789
|
};
|
|
14740
15790
|
};
|
|
14741
15791
|
};
|
|
14742
|
-
|
|
15792
|
+
deleteApiV1WorkspacesWorkspaceIdPortsPortCallback: {
|
|
14743
15793
|
parameters: {
|
|
14744
|
-
query?:
|
|
14745
|
-
limit?: number;
|
|
14746
|
-
cursor?: string;
|
|
14747
|
-
include_detached?: boolean;
|
|
14748
|
-
};
|
|
15794
|
+
query?: never;
|
|
14749
15795
|
header?: never;
|
|
14750
15796
|
path: {
|
|
14751
15797
|
/** @description UUIDv7, lowercase canonical form. */
|
|
14752
|
-
|
|
14753
|
-
/** @description
|
|
14754
|
-
|
|
15798
|
+
workspace_id: string;
|
|
15799
|
+
/** @description TCP port inside the workspace (1-65535). */
|
|
15800
|
+
port: number;
|
|
14755
15801
|
};
|
|
14756
15802
|
cookie?: never;
|
|
14757
15803
|
};
|
|
14758
15804
|
requestBody?: never;
|
|
14759
15805
|
responses: {
|
|
14760
|
-
/** @description
|
|
14761
|
-
|
|
15806
|
+
/** @description No content. */
|
|
15807
|
+
204: {
|
|
14762
15808
|
headers: {
|
|
14763
15809
|
[name: string]: unknown;
|
|
14764
15810
|
};
|
|
14765
|
-
content
|
|
14766
|
-
|
|
14767
|
-
|
|
14768
|
-
|
|
14769
|
-
|
|
14770
|
-
|
|
15811
|
+
content?: never;
|
|
15812
|
+
};
|
|
15813
|
+
/** @description Default Response */
|
|
15814
|
+
"4XX": {
|
|
15815
|
+
headers: {
|
|
15816
|
+
[name: string]: unknown;
|
|
15817
|
+
};
|
|
15818
|
+
content: {
|
|
15819
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
15820
|
+
};
|
|
15821
|
+
};
|
|
15822
|
+
/** @description Default Response */
|
|
15823
|
+
"5XX": {
|
|
15824
|
+
headers: {
|
|
15825
|
+
[name: string]: unknown;
|
|
15826
|
+
};
|
|
15827
|
+
content: {
|
|
15828
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
15829
|
+
};
|
|
15830
|
+
};
|
|
15831
|
+
};
|
|
15832
|
+
};
|
|
15833
|
+
postV1InternalPortWakes: {
|
|
15834
|
+
parameters: {
|
|
15835
|
+
query?: never;
|
|
15836
|
+
header?: {
|
|
15837
|
+
/** @description RFC 7240 preference, e.g. `wait=20` (held wake). */
|
|
15838
|
+
prefer?: string;
|
|
15839
|
+
};
|
|
15840
|
+
path?: never;
|
|
15841
|
+
cookie?: never;
|
|
15842
|
+
};
|
|
15843
|
+
requestBody: {
|
|
15844
|
+
content: {
|
|
15845
|
+
"application/json": {
|
|
15846
|
+
/**
|
|
15847
|
+
* Format: uuid
|
|
15848
|
+
* @description UUIDv7, lowercase canonical form.
|
|
15849
|
+
*/
|
|
15850
|
+
workspace_id: string;
|
|
15851
|
+
/** @description TCP port inside the workspace (1-65535). */
|
|
15852
|
+
port: number;
|
|
15853
|
+
/** @description The callback URL’s secret (`sfcb_…`) when the request came in on the callback path; omit when Authorization carries a port token. */
|
|
15854
|
+
callback_secret?: string;
|
|
15855
|
+
};
|
|
15856
|
+
};
|
|
15857
|
+
};
|
|
15858
|
+
responses: {
|
|
15859
|
+
/** @description 200: running (operation null: it already was) or the resume succeeded during the hold. 202: the resume/open to wait for. */
|
|
15860
|
+
200: {
|
|
15861
|
+
headers: {
|
|
15862
|
+
[name: string]: unknown;
|
|
15863
|
+
};
|
|
15864
|
+
content: {
|
|
15865
|
+
"application/json": {
|
|
15866
|
+
workspace: {
|
|
15867
|
+
/**
|
|
15868
|
+
* Format: uuid
|
|
15869
|
+
* @description UUIDv7, lowercase canonical form.
|
|
15870
|
+
*/
|
|
15871
|
+
id: string;
|
|
15872
|
+
observed_state: string;
|
|
15873
|
+
ownership_epoch: number;
|
|
15874
|
+
};
|
|
15875
|
+
operation: components["schemas"]["Operation"] | null;
|
|
15876
|
+
};
|
|
15877
|
+
};
|
|
15878
|
+
};
|
|
15879
|
+
/** @description 200: running (operation null: it already was) or the resume succeeded during the hold. 202: the resume/open to wait for. */
|
|
15880
|
+
202: {
|
|
15881
|
+
headers: {
|
|
15882
|
+
[name: string]: unknown;
|
|
15883
|
+
};
|
|
15884
|
+
content: {
|
|
15885
|
+
"application/json": {
|
|
15886
|
+
workspace: {
|
|
15887
|
+
/**
|
|
15888
|
+
* Format: uuid
|
|
15889
|
+
* @description UUIDv7, lowercase canonical form.
|
|
15890
|
+
*/
|
|
15891
|
+
id: string;
|
|
15892
|
+
observed_state: string;
|
|
15893
|
+
ownership_epoch: number;
|
|
15894
|
+
};
|
|
15895
|
+
operation: components["schemas"]["Operation"] | null;
|
|
15896
|
+
};
|
|
15897
|
+
};
|
|
15898
|
+
};
|
|
15899
|
+
/** @description Default Response */
|
|
15900
|
+
"4XX": {
|
|
15901
|
+
headers: {
|
|
15902
|
+
[name: string]: unknown;
|
|
15903
|
+
};
|
|
15904
|
+
content: {
|
|
15905
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
15906
|
+
};
|
|
15907
|
+
};
|
|
15908
|
+
/** @description Default Response */
|
|
15909
|
+
"5XX": {
|
|
15910
|
+
headers: {
|
|
15911
|
+
[name: string]: unknown;
|
|
15912
|
+
};
|
|
15913
|
+
content: {
|
|
15914
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
15915
|
+
};
|
|
15916
|
+
};
|
|
15917
|
+
};
|
|
15918
|
+
};
|
|
15919
|
+
getV1ProjectsProjectIdVolumes: {
|
|
15920
|
+
parameters: {
|
|
15921
|
+
query?: {
|
|
15922
|
+
limit?: number;
|
|
15923
|
+
cursor?: string;
|
|
15924
|
+
/** @description Also list org-shared volumes owned by other projects of the organization (attachable here). */
|
|
15925
|
+
include_org_shared?: boolean;
|
|
15926
|
+
include_deleted?: boolean;
|
|
15927
|
+
};
|
|
15928
|
+
header?: never;
|
|
15929
|
+
path: {
|
|
15930
|
+
/** @description UUIDv7, lowercase canonical form. */
|
|
15931
|
+
project_id: string;
|
|
15932
|
+
};
|
|
15933
|
+
cookie?: never;
|
|
15934
|
+
};
|
|
15935
|
+
requestBody?: never;
|
|
15936
|
+
responses: {
|
|
15937
|
+
/** @description Default Response */
|
|
15938
|
+
200: {
|
|
15939
|
+
headers: {
|
|
15940
|
+
[name: string]: unknown;
|
|
15941
|
+
};
|
|
15942
|
+
content: {
|
|
15943
|
+
"application/json": {
|
|
15944
|
+
data: components["schemas"]["Volume"][];
|
|
15945
|
+
next_cursor: string | null;
|
|
15946
|
+
};
|
|
15947
|
+
};
|
|
15948
|
+
};
|
|
15949
|
+
/** @description Default Response */
|
|
15950
|
+
"4XX": {
|
|
15951
|
+
headers: {
|
|
15952
|
+
[name: string]: unknown;
|
|
15953
|
+
};
|
|
15954
|
+
content: {
|
|
15955
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
15956
|
+
};
|
|
15957
|
+
};
|
|
15958
|
+
/** @description Default Response */
|
|
15959
|
+
"5XX": {
|
|
15960
|
+
headers: {
|
|
15961
|
+
[name: string]: unknown;
|
|
15962
|
+
};
|
|
15963
|
+
content: {
|
|
15964
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
15965
|
+
};
|
|
15966
|
+
};
|
|
15967
|
+
};
|
|
15968
|
+
};
|
|
15969
|
+
postV1ProjectsProjectIdVolumes: {
|
|
15970
|
+
parameters: {
|
|
15971
|
+
query?: never;
|
|
15972
|
+
header?: never;
|
|
15973
|
+
path: {
|
|
15974
|
+
/** @description UUIDv7, lowercase canonical form. */
|
|
15975
|
+
project_id: string;
|
|
15976
|
+
};
|
|
15977
|
+
cookie?: never;
|
|
15978
|
+
};
|
|
15979
|
+
requestBody: {
|
|
15980
|
+
content: {
|
|
15981
|
+
"application/json": {
|
|
15982
|
+
/** @description Unique among the project’s live volumes. */
|
|
15983
|
+
name: string;
|
|
15984
|
+
quota_gib: number;
|
|
15985
|
+
/** @default false */
|
|
15986
|
+
org_shared?: boolean;
|
|
15987
|
+
};
|
|
15988
|
+
};
|
|
15989
|
+
};
|
|
15990
|
+
responses: {
|
|
15991
|
+
/** @description Default Response */
|
|
15992
|
+
202: {
|
|
15993
|
+
headers: {
|
|
15994
|
+
[name: string]: unknown;
|
|
15995
|
+
};
|
|
15996
|
+
content: {
|
|
15997
|
+
"application/json": {
|
|
15998
|
+
volume: components["schemas"]["Volume"];
|
|
15999
|
+
operation: components["schemas"]["Operation"];
|
|
16000
|
+
};
|
|
16001
|
+
};
|
|
16002
|
+
};
|
|
16003
|
+
/** @description Default Response */
|
|
16004
|
+
"4XX": {
|
|
16005
|
+
headers: {
|
|
16006
|
+
[name: string]: unknown;
|
|
16007
|
+
};
|
|
16008
|
+
content: {
|
|
16009
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
16010
|
+
};
|
|
16011
|
+
};
|
|
16012
|
+
/** @description Default Response */
|
|
16013
|
+
"5XX": {
|
|
16014
|
+
headers: {
|
|
16015
|
+
[name: string]: unknown;
|
|
16016
|
+
};
|
|
16017
|
+
content: {
|
|
16018
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
16019
|
+
};
|
|
16020
|
+
};
|
|
16021
|
+
};
|
|
16022
|
+
};
|
|
16023
|
+
getV1ProjectsProjectIdVolumesVolumeId: {
|
|
16024
|
+
parameters: {
|
|
16025
|
+
query?: never;
|
|
16026
|
+
header?: never;
|
|
16027
|
+
path: {
|
|
16028
|
+
/** @description UUIDv7, lowercase canonical form. */
|
|
16029
|
+
project_id: string;
|
|
16030
|
+
/** @description UUIDv7, lowercase canonical form. */
|
|
16031
|
+
volume_id: string;
|
|
16032
|
+
};
|
|
16033
|
+
cookie?: never;
|
|
16034
|
+
};
|
|
16035
|
+
requestBody?: never;
|
|
16036
|
+
responses: {
|
|
16037
|
+
/** @description Default Response */
|
|
16038
|
+
200: {
|
|
16039
|
+
headers: {
|
|
16040
|
+
[name: string]: unknown;
|
|
16041
|
+
};
|
|
16042
|
+
content: {
|
|
16043
|
+
"application/json": components["schemas"]["Volume"];
|
|
16044
|
+
};
|
|
16045
|
+
};
|
|
16046
|
+
/** @description Default Response */
|
|
16047
|
+
"4XX": {
|
|
16048
|
+
headers: {
|
|
16049
|
+
[name: string]: unknown;
|
|
16050
|
+
};
|
|
16051
|
+
content: {
|
|
16052
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
16053
|
+
};
|
|
16054
|
+
};
|
|
16055
|
+
/** @description Default Response */
|
|
16056
|
+
"5XX": {
|
|
16057
|
+
headers: {
|
|
16058
|
+
[name: string]: unknown;
|
|
16059
|
+
};
|
|
16060
|
+
content: {
|
|
16061
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
16062
|
+
};
|
|
16063
|
+
};
|
|
16064
|
+
};
|
|
16065
|
+
};
|
|
16066
|
+
deleteV1ProjectsProjectIdVolumesVolumeId: {
|
|
16067
|
+
parameters: {
|
|
16068
|
+
query?: {
|
|
16069
|
+
force?: boolean;
|
|
16070
|
+
confirm_name?: string;
|
|
16071
|
+
};
|
|
16072
|
+
header?: never;
|
|
16073
|
+
path: {
|
|
16074
|
+
/** @description UUIDv7, lowercase canonical form. */
|
|
16075
|
+
project_id: string;
|
|
16076
|
+
/** @description UUIDv7, lowercase canonical form. */
|
|
16077
|
+
volume_id: string;
|
|
16078
|
+
};
|
|
16079
|
+
cookie?: never;
|
|
16080
|
+
};
|
|
16081
|
+
requestBody?: never;
|
|
16082
|
+
responses: {
|
|
16083
|
+
/** @description Default Response */
|
|
16084
|
+
202: {
|
|
16085
|
+
headers: {
|
|
16086
|
+
[name: string]: unknown;
|
|
16087
|
+
};
|
|
16088
|
+
content: {
|
|
16089
|
+
"application/json": {
|
|
16090
|
+
volume: components["schemas"]["Volume"];
|
|
16091
|
+
operation: components["schemas"]["Operation"];
|
|
16092
|
+
};
|
|
16093
|
+
};
|
|
16094
|
+
};
|
|
16095
|
+
/** @description Default Response */
|
|
16096
|
+
"4XX": {
|
|
16097
|
+
headers: {
|
|
16098
|
+
[name: string]: unknown;
|
|
16099
|
+
};
|
|
16100
|
+
content: {
|
|
16101
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
16102
|
+
};
|
|
16103
|
+
};
|
|
16104
|
+
/** @description Default Response */
|
|
16105
|
+
"5XX": {
|
|
16106
|
+
headers: {
|
|
16107
|
+
[name: string]: unknown;
|
|
16108
|
+
};
|
|
16109
|
+
content: {
|
|
16110
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
16111
|
+
};
|
|
16112
|
+
};
|
|
16113
|
+
};
|
|
16114
|
+
};
|
|
16115
|
+
getV1ProjectsProjectIdVolumesVolumeIdAttachments: {
|
|
16116
|
+
parameters: {
|
|
16117
|
+
query?: {
|
|
16118
|
+
limit?: number;
|
|
16119
|
+
cursor?: string;
|
|
16120
|
+
include_detached?: boolean;
|
|
16121
|
+
};
|
|
16122
|
+
header?: never;
|
|
16123
|
+
path: {
|
|
16124
|
+
/** @description UUIDv7, lowercase canonical form. */
|
|
16125
|
+
project_id: string;
|
|
16126
|
+
/** @description UUIDv7, lowercase canonical form. */
|
|
16127
|
+
volume_id: string;
|
|
16128
|
+
};
|
|
16129
|
+
cookie?: never;
|
|
16130
|
+
};
|
|
16131
|
+
requestBody?: never;
|
|
16132
|
+
responses: {
|
|
16133
|
+
/** @description Default Response */
|
|
16134
|
+
200: {
|
|
16135
|
+
headers: {
|
|
16136
|
+
[name: string]: unknown;
|
|
16137
|
+
};
|
|
16138
|
+
content: {
|
|
16139
|
+
"application/json": {
|
|
16140
|
+
data: components["schemas"]["VolumeAttachment"][];
|
|
16141
|
+
next_cursor: string | null;
|
|
16142
|
+
};
|
|
16143
|
+
};
|
|
16144
|
+
};
|
|
16145
|
+
/** @description Default Response */
|
|
16146
|
+
"4XX": {
|
|
16147
|
+
headers: {
|
|
16148
|
+
[name: string]: unknown;
|
|
16149
|
+
};
|
|
16150
|
+
content: {
|
|
16151
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
16152
|
+
};
|
|
16153
|
+
};
|
|
16154
|
+
/** @description Default Response */
|
|
16155
|
+
"5XX": {
|
|
16156
|
+
headers: {
|
|
16157
|
+
[name: string]: unknown;
|
|
16158
|
+
};
|
|
16159
|
+
content: {
|
|
16160
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
16161
|
+
};
|
|
16162
|
+
};
|
|
16163
|
+
};
|
|
16164
|
+
};
|
|
16165
|
+
getV1WorkspacesWorkspaceIdVolumes: {
|
|
16166
|
+
parameters: {
|
|
16167
|
+
query?: {
|
|
16168
|
+
limit?: number;
|
|
16169
|
+
cursor?: string;
|
|
16170
|
+
include_detached?: boolean;
|
|
16171
|
+
};
|
|
16172
|
+
header?: never;
|
|
16173
|
+
path: {
|
|
16174
|
+
/** @description UUIDv7, lowercase canonical form. */
|
|
16175
|
+
workspace_id: string;
|
|
16176
|
+
};
|
|
16177
|
+
cookie?: never;
|
|
16178
|
+
};
|
|
16179
|
+
requestBody?: never;
|
|
16180
|
+
responses: {
|
|
16181
|
+
/** @description Default Response */
|
|
16182
|
+
200: {
|
|
16183
|
+
headers: {
|
|
16184
|
+
[name: string]: unknown;
|
|
16185
|
+
};
|
|
16186
|
+
content: {
|
|
16187
|
+
"application/json": {
|
|
16188
|
+
data: components["schemas"]["VolumeAttachment"][];
|
|
16189
|
+
next_cursor: string | null;
|
|
16190
|
+
};
|
|
16191
|
+
};
|
|
16192
|
+
};
|
|
16193
|
+
/** @description Default Response */
|
|
16194
|
+
"4XX": {
|
|
16195
|
+
headers: {
|
|
16196
|
+
[name: string]: unknown;
|
|
16197
|
+
};
|
|
16198
|
+
content: {
|
|
16199
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
16200
|
+
};
|
|
16201
|
+
};
|
|
16202
|
+
/** @description Default Response */
|
|
16203
|
+
"5XX": {
|
|
16204
|
+
headers: {
|
|
16205
|
+
[name: string]: unknown;
|
|
16206
|
+
};
|
|
16207
|
+
content: {
|
|
16208
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
16209
|
+
};
|
|
16210
|
+
};
|
|
16211
|
+
};
|
|
16212
|
+
};
|
|
16213
|
+
postV1WorkspacesWorkspaceIdVolumes: {
|
|
16214
|
+
parameters: {
|
|
16215
|
+
query?: never;
|
|
16216
|
+
header?: never;
|
|
16217
|
+
path: {
|
|
16218
|
+
/** @description UUIDv7, lowercase canonical form. */
|
|
16219
|
+
workspace_id: string;
|
|
16220
|
+
};
|
|
16221
|
+
cookie?: never;
|
|
16222
|
+
};
|
|
16223
|
+
requestBody: {
|
|
16224
|
+
content: {
|
|
16225
|
+
"application/json": {
|
|
16226
|
+
/**
|
|
16227
|
+
* Format: uuid
|
|
16228
|
+
* @description UUIDv7, lowercase canonical form.
|
|
16229
|
+
*/
|
|
16230
|
+
volume_id: string;
|
|
16231
|
+
/** @description Absolute guest path (e.g. /mnt/data); segments of A-Z a-z 0-9 . _ - not starting with "."; system directories (/etc, /usr, /proc, /tmp, /var, ...) and nesting with another mount are refused. */
|
|
16232
|
+
mount_path: string;
|
|
16233
|
+
/**
|
|
16234
|
+
* @default rw
|
|
16235
|
+
* @enum {string}
|
|
16236
|
+
*/
|
|
16237
|
+
mode?: "ro" | "rw";
|
|
16238
|
+
};
|
|
16239
|
+
};
|
|
16240
|
+
};
|
|
16241
|
+
responses: {
|
|
16242
|
+
/** @description operation is null only for an idempotent re-attach of an already attached volume (200). */
|
|
16243
|
+
200: {
|
|
16244
|
+
headers: {
|
|
16245
|
+
[name: string]: unknown;
|
|
16246
|
+
};
|
|
16247
|
+
content: {
|
|
16248
|
+
"application/json": {
|
|
16249
|
+
attachment: components["schemas"]["VolumeAttachment"];
|
|
16250
|
+
operation: components["schemas"]["Operation"] | null;
|
|
16251
|
+
};
|
|
16252
|
+
};
|
|
16253
|
+
};
|
|
16254
|
+
/** @description operation is null only for an idempotent re-attach of an already attached volume (200). */
|
|
16255
|
+
202: {
|
|
16256
|
+
headers: {
|
|
16257
|
+
[name: string]: unknown;
|
|
16258
|
+
};
|
|
16259
|
+
content: {
|
|
16260
|
+
"application/json": {
|
|
16261
|
+
attachment: components["schemas"]["VolumeAttachment"];
|
|
16262
|
+
operation: components["schemas"]["Operation"] | null;
|
|
16263
|
+
};
|
|
16264
|
+
};
|
|
16265
|
+
};
|
|
16266
|
+
/** @description Default Response */
|
|
16267
|
+
"4XX": {
|
|
16268
|
+
headers: {
|
|
16269
|
+
[name: string]: unknown;
|
|
16270
|
+
};
|
|
16271
|
+
content: {
|
|
16272
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
16273
|
+
};
|
|
16274
|
+
};
|
|
16275
|
+
/** @description Default Response */
|
|
16276
|
+
"5XX": {
|
|
16277
|
+
headers: {
|
|
16278
|
+
[name: string]: unknown;
|
|
16279
|
+
};
|
|
16280
|
+
content: {
|
|
16281
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
16282
|
+
};
|
|
16283
|
+
};
|
|
16284
|
+
};
|
|
16285
|
+
};
|
|
16286
|
+
deleteV1WorkspacesWorkspaceIdVolumesVolumeId: {
|
|
16287
|
+
parameters: {
|
|
16288
|
+
query?: never;
|
|
16289
|
+
header?: never;
|
|
16290
|
+
path: {
|
|
16291
|
+
/** @description UUIDv7, lowercase canonical form. */
|
|
16292
|
+
workspace_id: string;
|
|
16293
|
+
/** @description UUIDv7, lowercase canonical form. */
|
|
16294
|
+
volume_id: string;
|
|
16295
|
+
};
|
|
16296
|
+
cookie?: never;
|
|
16297
|
+
};
|
|
16298
|
+
requestBody?: never;
|
|
16299
|
+
responses: {
|
|
16300
|
+
/** @description operation is null only for an idempotent re-attach of an already attached volume (200). */
|
|
16301
|
+
202: {
|
|
16302
|
+
headers: {
|
|
16303
|
+
[name: string]: unknown;
|
|
16304
|
+
};
|
|
16305
|
+
content: {
|
|
16306
|
+
"application/json": {
|
|
16307
|
+
attachment: components["schemas"]["VolumeAttachment"];
|
|
16308
|
+
operation: components["schemas"]["Operation"] | null;
|
|
16309
|
+
};
|
|
16310
|
+
};
|
|
16311
|
+
};
|
|
16312
|
+
/** @description Default Response */
|
|
16313
|
+
"4XX": {
|
|
16314
|
+
headers: {
|
|
16315
|
+
[name: string]: unknown;
|
|
16316
|
+
};
|
|
16317
|
+
content: {
|
|
16318
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
16319
|
+
};
|
|
16320
|
+
};
|
|
16321
|
+
/** @description Default Response */
|
|
16322
|
+
"5XX": {
|
|
16323
|
+
headers: {
|
|
16324
|
+
[name: string]: unknown;
|
|
16325
|
+
};
|
|
16326
|
+
content: {
|
|
16327
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
16328
|
+
};
|
|
16329
|
+
};
|
|
16330
|
+
};
|
|
16331
|
+
};
|
|
16332
|
+
getApiV1ProjectsProjectIdVolumes: {
|
|
16333
|
+
parameters: {
|
|
16334
|
+
query?: {
|
|
16335
|
+
limit?: number;
|
|
16336
|
+
cursor?: string;
|
|
16337
|
+
/** @description Also list org-shared volumes owned by other projects of the organization (attachable here). */
|
|
16338
|
+
include_org_shared?: boolean;
|
|
16339
|
+
include_deleted?: boolean;
|
|
16340
|
+
};
|
|
16341
|
+
header?: never;
|
|
16342
|
+
path: {
|
|
16343
|
+
/** @description UUIDv7, lowercase canonical form. */
|
|
16344
|
+
project_id: string;
|
|
16345
|
+
};
|
|
16346
|
+
cookie?: never;
|
|
16347
|
+
};
|
|
16348
|
+
requestBody?: never;
|
|
16349
|
+
responses: {
|
|
16350
|
+
/** @description Default Response */
|
|
16351
|
+
200: {
|
|
16352
|
+
headers: {
|
|
16353
|
+
[name: string]: unknown;
|
|
16354
|
+
};
|
|
16355
|
+
content: {
|
|
16356
|
+
"application/json": {
|
|
16357
|
+
data: components["schemas"]["Volume"][];
|
|
16358
|
+
next_cursor: string | null;
|
|
16359
|
+
};
|
|
16360
|
+
};
|
|
16361
|
+
};
|
|
16362
|
+
/** @description Default Response */
|
|
16363
|
+
"4XX": {
|
|
16364
|
+
headers: {
|
|
16365
|
+
[name: string]: unknown;
|
|
16366
|
+
};
|
|
16367
|
+
content: {
|
|
16368
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
16369
|
+
};
|
|
16370
|
+
};
|
|
16371
|
+
/** @description Default Response */
|
|
16372
|
+
"5XX": {
|
|
16373
|
+
headers: {
|
|
16374
|
+
[name: string]: unknown;
|
|
16375
|
+
};
|
|
16376
|
+
content: {
|
|
16377
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
16378
|
+
};
|
|
16379
|
+
};
|
|
16380
|
+
};
|
|
16381
|
+
};
|
|
16382
|
+
postApiV1ProjectsProjectIdVolumes: {
|
|
16383
|
+
parameters: {
|
|
16384
|
+
query?: never;
|
|
16385
|
+
header?: never;
|
|
16386
|
+
path: {
|
|
16387
|
+
/** @description UUIDv7, lowercase canonical form. */
|
|
16388
|
+
project_id: string;
|
|
16389
|
+
};
|
|
16390
|
+
cookie?: never;
|
|
16391
|
+
};
|
|
16392
|
+
requestBody: {
|
|
16393
|
+
content: {
|
|
16394
|
+
"application/json": {
|
|
16395
|
+
/** @description Unique among the project’s live volumes. */
|
|
16396
|
+
name: string;
|
|
16397
|
+
quota_gib: number;
|
|
16398
|
+
/** @default false */
|
|
16399
|
+
org_shared?: boolean;
|
|
16400
|
+
};
|
|
16401
|
+
};
|
|
16402
|
+
};
|
|
16403
|
+
responses: {
|
|
16404
|
+
/** @description Default Response */
|
|
16405
|
+
202: {
|
|
16406
|
+
headers: {
|
|
16407
|
+
[name: string]: unknown;
|
|
16408
|
+
};
|
|
16409
|
+
content: {
|
|
16410
|
+
"application/json": {
|
|
16411
|
+
volume: components["schemas"]["Volume"];
|
|
16412
|
+
operation: components["schemas"]["Operation"];
|
|
16413
|
+
};
|
|
16414
|
+
};
|
|
16415
|
+
};
|
|
16416
|
+
/** @description Default Response */
|
|
16417
|
+
"4XX": {
|
|
16418
|
+
headers: {
|
|
16419
|
+
[name: string]: unknown;
|
|
16420
|
+
};
|
|
16421
|
+
content: {
|
|
16422
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
16423
|
+
};
|
|
16424
|
+
};
|
|
16425
|
+
/** @description Default Response */
|
|
16426
|
+
"5XX": {
|
|
16427
|
+
headers: {
|
|
16428
|
+
[name: string]: unknown;
|
|
16429
|
+
};
|
|
16430
|
+
content: {
|
|
16431
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
16432
|
+
};
|
|
16433
|
+
};
|
|
16434
|
+
};
|
|
16435
|
+
};
|
|
16436
|
+
getApiV1ProjectsProjectIdVolumesVolumeId: {
|
|
16437
|
+
parameters: {
|
|
16438
|
+
query?: never;
|
|
16439
|
+
header?: never;
|
|
16440
|
+
path: {
|
|
16441
|
+
/** @description UUIDv7, lowercase canonical form. */
|
|
16442
|
+
project_id: string;
|
|
16443
|
+
/** @description UUIDv7, lowercase canonical form. */
|
|
16444
|
+
volume_id: string;
|
|
16445
|
+
};
|
|
16446
|
+
cookie?: never;
|
|
16447
|
+
};
|
|
16448
|
+
requestBody?: never;
|
|
16449
|
+
responses: {
|
|
16450
|
+
/** @description Default Response */
|
|
16451
|
+
200: {
|
|
16452
|
+
headers: {
|
|
16453
|
+
[name: string]: unknown;
|
|
16454
|
+
};
|
|
16455
|
+
content: {
|
|
16456
|
+
"application/json": components["schemas"]["Volume"];
|
|
16457
|
+
};
|
|
16458
|
+
};
|
|
16459
|
+
/** @description Default Response */
|
|
16460
|
+
"4XX": {
|
|
16461
|
+
headers: {
|
|
16462
|
+
[name: string]: unknown;
|
|
16463
|
+
};
|
|
16464
|
+
content: {
|
|
16465
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
16466
|
+
};
|
|
16467
|
+
};
|
|
16468
|
+
/** @description Default Response */
|
|
16469
|
+
"5XX": {
|
|
16470
|
+
headers: {
|
|
16471
|
+
[name: string]: unknown;
|
|
16472
|
+
};
|
|
16473
|
+
content: {
|
|
16474
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
16475
|
+
};
|
|
16476
|
+
};
|
|
16477
|
+
};
|
|
16478
|
+
};
|
|
16479
|
+
deleteApiV1ProjectsProjectIdVolumesVolumeId: {
|
|
16480
|
+
parameters: {
|
|
16481
|
+
query?: {
|
|
16482
|
+
force?: boolean;
|
|
16483
|
+
confirm_name?: string;
|
|
16484
|
+
};
|
|
16485
|
+
header?: never;
|
|
16486
|
+
path: {
|
|
16487
|
+
/** @description UUIDv7, lowercase canonical form. */
|
|
16488
|
+
project_id: string;
|
|
16489
|
+
/** @description UUIDv7, lowercase canonical form. */
|
|
16490
|
+
volume_id: string;
|
|
16491
|
+
};
|
|
16492
|
+
cookie?: never;
|
|
16493
|
+
};
|
|
16494
|
+
requestBody?: never;
|
|
16495
|
+
responses: {
|
|
16496
|
+
/** @description Default Response */
|
|
16497
|
+
202: {
|
|
16498
|
+
headers: {
|
|
16499
|
+
[name: string]: unknown;
|
|
16500
|
+
};
|
|
16501
|
+
content: {
|
|
16502
|
+
"application/json": {
|
|
16503
|
+
volume: components["schemas"]["Volume"];
|
|
16504
|
+
operation: components["schemas"]["Operation"];
|
|
16505
|
+
};
|
|
16506
|
+
};
|
|
16507
|
+
};
|
|
16508
|
+
/** @description Default Response */
|
|
16509
|
+
"4XX": {
|
|
16510
|
+
headers: {
|
|
16511
|
+
[name: string]: unknown;
|
|
16512
|
+
};
|
|
16513
|
+
content: {
|
|
16514
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
16515
|
+
};
|
|
16516
|
+
};
|
|
16517
|
+
/** @description Default Response */
|
|
16518
|
+
"5XX": {
|
|
16519
|
+
headers: {
|
|
16520
|
+
[name: string]: unknown;
|
|
16521
|
+
};
|
|
16522
|
+
content: {
|
|
16523
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
16524
|
+
};
|
|
16525
|
+
};
|
|
16526
|
+
};
|
|
16527
|
+
};
|
|
16528
|
+
getApiV1ProjectsProjectIdVolumesVolumeIdAttachments: {
|
|
16529
|
+
parameters: {
|
|
16530
|
+
query?: {
|
|
16531
|
+
limit?: number;
|
|
16532
|
+
cursor?: string;
|
|
16533
|
+
include_detached?: boolean;
|
|
16534
|
+
};
|
|
16535
|
+
header?: never;
|
|
16536
|
+
path: {
|
|
16537
|
+
/** @description UUIDv7, lowercase canonical form. */
|
|
16538
|
+
project_id: string;
|
|
16539
|
+
/** @description UUIDv7, lowercase canonical form. */
|
|
16540
|
+
volume_id: string;
|
|
16541
|
+
};
|
|
16542
|
+
cookie?: never;
|
|
16543
|
+
};
|
|
16544
|
+
requestBody?: never;
|
|
16545
|
+
responses: {
|
|
16546
|
+
/** @description Default Response */
|
|
16547
|
+
200: {
|
|
16548
|
+
headers: {
|
|
16549
|
+
[name: string]: unknown;
|
|
16550
|
+
};
|
|
16551
|
+
content: {
|
|
16552
|
+
"application/json": {
|
|
16553
|
+
data: components["schemas"]["VolumeAttachment"][];
|
|
16554
|
+
next_cursor: string | null;
|
|
16555
|
+
};
|
|
16556
|
+
};
|
|
14771
16557
|
};
|
|
14772
16558
|
/** @description Default Response */
|
|
14773
16559
|
"4XX": {
|
|
@@ -15005,6 +16791,8 @@ export interface operations {
|
|
|
15005
16791
|
memory_mib: number | null;
|
|
15006
16792
|
idle_policy: string | null;
|
|
15007
16793
|
};
|
|
16794
|
+
/** @description Contracts §45.1: the template’s computer use switch for its workspaces (a workspace may override it). Set by the owning organization; platform templates are off. */
|
|
16795
|
+
computer_use: boolean;
|
|
15008
16796
|
open_version: {
|
|
15009
16797
|
/**
|
|
15010
16798
|
* Format: uuid
|
|
@@ -15222,6 +17010,8 @@ export interface operations {
|
|
|
15222
17010
|
memory_mib: number | null;
|
|
15223
17011
|
idle_policy: string | null;
|
|
15224
17012
|
};
|
|
17013
|
+
/** @description Contracts §45.1: the template’s computer use switch for its workspaces (a workspace may override it). Set by the owning organization; platform templates are off. */
|
|
17014
|
+
computer_use: boolean;
|
|
15225
17015
|
open_version: {
|
|
15226
17016
|
/**
|
|
15227
17017
|
* Format: uuid
|
|
@@ -15570,6 +17360,8 @@ export interface operations {
|
|
|
15570
17360
|
memory_mib: number | null;
|
|
15571
17361
|
idle_policy: string | null;
|
|
15572
17362
|
};
|
|
17363
|
+
/** @description Contracts §45.1: the template’s computer use switch for its workspaces (a workspace may override it). Set by the owning organization; platform templates are off. */
|
|
17364
|
+
computer_use: boolean;
|
|
15573
17365
|
open_version: {
|
|
15574
17366
|
/**
|
|
15575
17367
|
* Format: uuid
|
|
@@ -15785,6 +17577,8 @@ export interface operations {
|
|
|
15785
17577
|
memory_mib: number | null;
|
|
15786
17578
|
idle_policy: string | null;
|
|
15787
17579
|
};
|
|
17580
|
+
/** @description Contracts §45.1: the template’s computer use switch for its workspaces (a workspace may override it). Set by the owning organization; platform templates are off. */
|
|
17581
|
+
computer_use: boolean;
|
|
15788
17582
|
open_version: {
|
|
15789
17583
|
/**
|
|
15790
17584
|
* Format: uuid
|
|
@@ -16087,6 +17881,104 @@ export interface operations {
|
|
|
16087
17881
|
};
|
|
16088
17882
|
};
|
|
16089
17883
|
};
|
|
17884
|
+
putV1OrganizationsOrganizationIdTemplatesSlugComputerUse: {
|
|
17885
|
+
parameters: {
|
|
17886
|
+
query?: never;
|
|
17887
|
+
header?: never;
|
|
17888
|
+
path: {
|
|
17889
|
+
/** @description UUIDv7, lowercase canonical form. */
|
|
17890
|
+
organization_id: string;
|
|
17891
|
+
slug: string;
|
|
17892
|
+
};
|
|
17893
|
+
cookie?: never;
|
|
17894
|
+
};
|
|
17895
|
+
requestBody: {
|
|
17896
|
+
content: {
|
|
17897
|
+
"application/json": {
|
|
17898
|
+
enabled: boolean;
|
|
17899
|
+
};
|
|
17900
|
+
};
|
|
17901
|
+
};
|
|
17902
|
+
responses: {
|
|
17903
|
+
/** @description Default Response */
|
|
17904
|
+
200: {
|
|
17905
|
+
headers: {
|
|
17906
|
+
[name: string]: unknown;
|
|
17907
|
+
};
|
|
17908
|
+
content: {
|
|
17909
|
+
"application/json": {
|
|
17910
|
+
enabled: boolean;
|
|
17911
|
+
};
|
|
17912
|
+
};
|
|
17913
|
+
};
|
|
17914
|
+
/** @description Default Response */
|
|
17915
|
+
"4XX": {
|
|
17916
|
+
headers: {
|
|
17917
|
+
[name: string]: unknown;
|
|
17918
|
+
};
|
|
17919
|
+
content: {
|
|
17920
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
17921
|
+
};
|
|
17922
|
+
};
|
|
17923
|
+
/** @description Default Response */
|
|
17924
|
+
"5XX": {
|
|
17925
|
+
headers: {
|
|
17926
|
+
[name: string]: unknown;
|
|
17927
|
+
};
|
|
17928
|
+
content: {
|
|
17929
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
17930
|
+
};
|
|
17931
|
+
};
|
|
17932
|
+
};
|
|
17933
|
+
};
|
|
17934
|
+
putV1TemplatesSlugComputerUse: {
|
|
17935
|
+
parameters: {
|
|
17936
|
+
query?: never;
|
|
17937
|
+
header?: never;
|
|
17938
|
+
path: {
|
|
17939
|
+
slug: string;
|
|
17940
|
+
};
|
|
17941
|
+
cookie?: never;
|
|
17942
|
+
};
|
|
17943
|
+
requestBody: {
|
|
17944
|
+
content: {
|
|
17945
|
+
"application/json": {
|
|
17946
|
+
enabled: boolean;
|
|
17947
|
+
};
|
|
17948
|
+
};
|
|
17949
|
+
};
|
|
17950
|
+
responses: {
|
|
17951
|
+
/** @description Default Response */
|
|
17952
|
+
200: {
|
|
17953
|
+
headers: {
|
|
17954
|
+
[name: string]: unknown;
|
|
17955
|
+
};
|
|
17956
|
+
content: {
|
|
17957
|
+
"application/json": {
|
|
17958
|
+
enabled: boolean;
|
|
17959
|
+
};
|
|
17960
|
+
};
|
|
17961
|
+
};
|
|
17962
|
+
/** @description Default Response */
|
|
17963
|
+
"4XX": {
|
|
17964
|
+
headers: {
|
|
17965
|
+
[name: string]: unknown;
|
|
17966
|
+
};
|
|
17967
|
+
content: {
|
|
17968
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
17969
|
+
};
|
|
17970
|
+
};
|
|
17971
|
+
/** @description Default Response */
|
|
17972
|
+
"5XX": {
|
|
17973
|
+
headers: {
|
|
17974
|
+
[name: string]: unknown;
|
|
17975
|
+
};
|
|
17976
|
+
content: {
|
|
17977
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
17978
|
+
};
|
|
17979
|
+
};
|
|
17980
|
+
};
|
|
17981
|
+
};
|
|
16090
17982
|
getV1OrganizationsOrganizationIdTemplateBuilds: {
|
|
16091
17983
|
parameters: {
|
|
16092
17984
|
query?: {
|
|
@@ -18170,6 +20062,8 @@ export interface operations {
|
|
|
18170
20062
|
memory_mib: number | null;
|
|
18171
20063
|
idle_policy: string | null;
|
|
18172
20064
|
};
|
|
20065
|
+
/** @description Contracts §45.1: the template’s computer use switch for its workspaces (a workspace may override it). Set by the owning organization; platform templates are off. */
|
|
20066
|
+
computer_use: boolean;
|
|
18173
20067
|
open_version: {
|
|
18174
20068
|
/**
|
|
18175
20069
|
* Format: uuid
|
|
@@ -18516,6 +20410,8 @@ export interface operations {
|
|
|
18516
20410
|
memory_mib: number | null;
|
|
18517
20411
|
idle_policy: string | null;
|
|
18518
20412
|
};
|
|
20413
|
+
/** @description Contracts §45.1: the template’s computer use switch for its workspaces (a workspace may override it). Set by the owning organization; platform templates are off. */
|
|
20414
|
+
computer_use: boolean;
|
|
18519
20415
|
open_version: {
|
|
18520
20416
|
/**
|
|
18521
20417
|
* Format: uuid
|
|
@@ -18867,6 +20763,8 @@ export interface operations {
|
|
|
18867
20763
|
memory_mib: number | null;
|
|
18868
20764
|
idle_policy: string | null;
|
|
18869
20765
|
};
|
|
20766
|
+
/** @description Contracts §45.1: the template’s computer use switch for its workspaces (a workspace may override it). Set by the owning organization; platform templates are off. */
|
|
20767
|
+
computer_use: boolean;
|
|
18870
20768
|
open_version: {
|
|
18871
20769
|
/**
|
|
18872
20770
|
* Format: uuid
|
|
@@ -19084,6 +20982,8 @@ export interface operations {
|
|
|
19084
20982
|
memory_mib: number | null;
|
|
19085
20983
|
idle_policy: string | null;
|
|
19086
20984
|
};
|
|
20985
|
+
/** @description Contracts §45.1: the template’s computer use switch for its workspaces (a workspace may override it). Set by the owning organization; platform templates are off. */
|
|
20986
|
+
computer_use: boolean;
|
|
19087
20987
|
open_version: {
|
|
19088
20988
|
/**
|
|
19089
20989
|
* Format: uuid
|
|
@@ -19386,6 +21286,56 @@ export interface operations {
|
|
|
19386
21286
|
};
|
|
19387
21287
|
};
|
|
19388
21288
|
};
|
|
21289
|
+
putApiV1OrganizationsOrganizationIdTemplatesSlugComputerUse: {
|
|
21290
|
+
parameters: {
|
|
21291
|
+
query?: never;
|
|
21292
|
+
header?: never;
|
|
21293
|
+
path: {
|
|
21294
|
+
/** @description UUIDv7, lowercase canonical form. */
|
|
21295
|
+
organization_id: string;
|
|
21296
|
+
slug: string;
|
|
21297
|
+
};
|
|
21298
|
+
cookie?: never;
|
|
21299
|
+
};
|
|
21300
|
+
requestBody: {
|
|
21301
|
+
content: {
|
|
21302
|
+
"application/json": {
|
|
21303
|
+
enabled: boolean;
|
|
21304
|
+
};
|
|
21305
|
+
};
|
|
21306
|
+
};
|
|
21307
|
+
responses: {
|
|
21308
|
+
/** @description Default Response */
|
|
21309
|
+
200: {
|
|
21310
|
+
headers: {
|
|
21311
|
+
[name: string]: unknown;
|
|
21312
|
+
};
|
|
21313
|
+
content: {
|
|
21314
|
+
"application/json": {
|
|
21315
|
+
enabled: boolean;
|
|
21316
|
+
};
|
|
21317
|
+
};
|
|
21318
|
+
};
|
|
21319
|
+
/** @description Default Response */
|
|
21320
|
+
"4XX": {
|
|
21321
|
+
headers: {
|
|
21322
|
+
[name: string]: unknown;
|
|
21323
|
+
};
|
|
21324
|
+
content: {
|
|
21325
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
21326
|
+
};
|
|
21327
|
+
};
|
|
21328
|
+
/** @description Default Response */
|
|
21329
|
+
"5XX": {
|
|
21330
|
+
headers: {
|
|
21331
|
+
[name: string]: unknown;
|
|
21332
|
+
};
|
|
21333
|
+
content: {
|
|
21334
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
21335
|
+
};
|
|
21336
|
+
};
|
|
21337
|
+
};
|
|
21338
|
+
};
|
|
19389
21339
|
getApiV1OrganizationsOrganizationIdTemplateBuilds: {
|
|
19390
21340
|
parameters: {
|
|
19391
21341
|
query?: {
|
|
@@ -21289,6 +23239,8 @@ export interface operations {
|
|
|
21289
23239
|
memory_mib: number | null;
|
|
21290
23240
|
idle_policy: string | null;
|
|
21291
23241
|
};
|
|
23242
|
+
/** @description Contracts §45.1: the template’s computer use switch for its workspaces (a workspace may override it). Set by the owning organization; platform templates are off. */
|
|
23243
|
+
computer_use: boolean;
|
|
21292
23244
|
open_version: {
|
|
21293
23245
|
/**
|
|
21294
23246
|
* Format: uuid
|
|
@@ -21635,6 +23587,8 @@ export interface operations {
|
|
|
21635
23587
|
memory_mib: number | null;
|
|
21636
23588
|
idle_policy: string | null;
|
|
21637
23589
|
};
|
|
23590
|
+
/** @description Contracts §45.1: the template’s computer use switch for its workspaces (a workspace may override it). Set by the owning organization; platform templates are off. */
|
|
23591
|
+
computer_use: boolean;
|
|
21638
23592
|
open_version: {
|
|
21639
23593
|
/**
|
|
21640
23594
|
* Format: uuid
|
|
@@ -24767,8 +26721,11 @@ export interface operations {
|
|
|
24767
26721
|
*/
|
|
24768
26722
|
id: string;
|
|
24769
26723
|
};
|
|
24770
|
-
/**
|
|
24771
|
-
|
|
26724
|
+
/**
|
|
26725
|
+
* @description computer (contracts §45): the workspace desktop; a tool token carries it only while the workspace’s computer use is on.
|
|
26726
|
+
* @enum {string}
|
|
26727
|
+
*/
|
|
26728
|
+
tool: "exec" | "files" | "pty" | "process" | "git" | "browser" | "computer";
|
|
24772
26729
|
outcome: "granted" | "denied" | "failed";
|
|
24773
26730
|
reason: string | null;
|
|
24774
26731
|
ownership_epoch: number | null;
|
|
@@ -24819,8 +26776,11 @@ export interface operations {
|
|
|
24819
26776
|
* @description UUIDv7, lowercase canonical form.
|
|
24820
26777
|
*/
|
|
24821
26778
|
workspace_id: string;
|
|
24822
|
-
/**
|
|
24823
|
-
|
|
26779
|
+
/**
|
|
26780
|
+
* @description computer (contracts §45): the workspace desktop; a tool token carries it only while the workspace’s computer use is on.
|
|
26781
|
+
* @enum {string}
|
|
26782
|
+
*/
|
|
26783
|
+
tool: "exec" | "files" | "pty" | "process" | "git" | "browser" | "computer";
|
|
24824
26784
|
/** @description The start’s `secret_refs` together with the workspace’s bound names (app.workspace_secret_bindings), each name once: at most 50 + 50. */
|
|
24825
26785
|
names: string[];
|
|
24826
26786
|
/** @description The cell’s exec/PTY session id, recorded for correlation. */
|
|
@@ -24841,8 +26801,11 @@ export interface operations {
|
|
|
24841
26801
|
* @description UUIDv7, lowercase canonical form.
|
|
24842
26802
|
*/
|
|
24843
26803
|
workspace_id: string;
|
|
24844
|
-
/**
|
|
24845
|
-
|
|
26804
|
+
/**
|
|
26805
|
+
* @description computer (contracts §45): the workspace desktop; a tool token carries it only while the workspace’s computer use is on.
|
|
26806
|
+
* @enum {string}
|
|
26807
|
+
*/
|
|
26808
|
+
tool: "exec" | "files" | "pty" | "process" | "git" | "browser" | "computer";
|
|
24846
26809
|
/**
|
|
24847
26810
|
* Format: uuid
|
|
24848
26811
|
* @description UUIDv7, lowercase canonical form.
|
|
@@ -25855,8 +27818,11 @@ export interface operations {
|
|
|
25855
27818
|
*/
|
|
25856
27819
|
id: string;
|
|
25857
27820
|
};
|
|
25858
|
-
/**
|
|
25859
|
-
|
|
27821
|
+
/**
|
|
27822
|
+
* @description computer (contracts §45): the workspace desktop; a tool token carries it only while the workspace’s computer use is on.
|
|
27823
|
+
* @enum {string}
|
|
27824
|
+
*/
|
|
27825
|
+
tool: "exec" | "files" | "pty" | "process" | "git" | "browser" | "computer";
|
|
25860
27826
|
outcome: "granted" | "denied" | "failed";
|
|
25861
27827
|
reason: string | null;
|
|
25862
27828
|
ownership_epoch: number | null;
|
|
@@ -35363,6 +37329,18 @@ export interface operations {
|
|
|
35363
37329
|
disk_gib: number;
|
|
35364
37330
|
}[];
|
|
35365
37331
|
heartbeat_stale_after_seconds: number;
|
|
37332
|
+
/** @description Contracts §42.5: what draining this host costs in memory (cell.hosts.drain_runtime_impact). */
|
|
37333
|
+
runtime_impact?: {
|
|
37334
|
+
/** @description known: recorded by the cell’s capacity tick within 15 minutes; unknown: not recorded; stale: older (both reported, neither blocks). */
|
|
37335
|
+
status: "known" | "unknown" | "stale";
|
|
37336
|
+
memory_lost: number | null;
|
|
37337
|
+
waits: number | null;
|
|
37338
|
+
/** @description Affected snapshot compatibility keys with counts and their outlook without this host (largest first, at most 20). */
|
|
37339
|
+
keys: {
|
|
37340
|
+
[key: string]: unknown;
|
|
37341
|
+
}[];
|
|
37342
|
+
computed_at: string | null;
|
|
37343
|
+
};
|
|
35366
37344
|
host: {
|
|
35367
37345
|
/**
|
|
35368
37346
|
* Format: uuid
|
|
@@ -35554,6 +37532,18 @@ export interface operations {
|
|
|
35554
37532
|
disk_gib: number;
|
|
35555
37533
|
}[];
|
|
35556
37534
|
heartbeat_stale_after_seconds: number;
|
|
37535
|
+
/** @description Contracts §42.5: what draining this host costs in memory (cell.hosts.drain_runtime_impact). */
|
|
37536
|
+
runtime_impact?: {
|
|
37537
|
+
/** @description known: recorded by the cell’s capacity tick within 15 minutes; unknown: not recorded; stale: older (both reported, neither blocks). */
|
|
37538
|
+
status: "known" | "unknown" | "stale";
|
|
37539
|
+
memory_lost: number | null;
|
|
37540
|
+
waits: number | null;
|
|
37541
|
+
/** @description Affected snapshot compatibility keys with counts and their outlook without this host (largest first, at most 20). */
|
|
37542
|
+
keys: {
|
|
37543
|
+
[key: string]: unknown;
|
|
37544
|
+
}[];
|
|
37545
|
+
computed_at: string | null;
|
|
37546
|
+
};
|
|
35557
37547
|
host: {
|
|
35558
37548
|
/**
|
|
35559
37549
|
* Format: uuid
|
|
@@ -35742,199 +37732,223 @@ export interface operations {
|
|
|
35742
37732
|
disk_gib: number;
|
|
35743
37733
|
}[];
|
|
35744
37734
|
heartbeat_stale_after_seconds: number;
|
|
35745
|
-
|
|
35746
|
-
|
|
35747
|
-
|
|
35748
|
-
|
|
35749
|
-
|
|
35750
|
-
|
|
35751
|
-
|
|
35752
|
-
|
|
35753
|
-
|
|
35754
|
-
|
|
35755
|
-
|
|
35756
|
-
|
|
35757
|
-
|
|
35758
|
-
|
|
35759
|
-
|
|
35760
|
-
|
|
35761
|
-
|
|
35762
|
-
|
|
35763
|
-
|
|
35764
|
-
|
|
35765
|
-
|
|
35766
|
-
|
|
35767
|
-
|
|
35768
|
-
|
|
35769
|
-
|
|
35770
|
-
|
|
35771
|
-
|
|
35772
|
-
|
|
35773
|
-
|
|
35774
|
-
|
|
35775
|
-
|
|
35776
|
-
|
|
35777
|
-
|
|
35778
|
-
|
|
35779
|
-
|
|
35780
|
-
|
|
35781
|
-
|
|
35782
|
-
|
|
35783
|
-
|
|
35784
|
-
|
|
35785
|
-
|
|
35786
|
-
|
|
35787
|
-
|
|
35788
|
-
|
|
35789
|
-
|
|
35790
|
-
|
|
35791
|
-
|
|
35792
|
-
|
|
35793
|
-
|
|
35794
|
-
|
|
35795
|
-
|
|
35796
|
-
|
|
35797
|
-
|
|
35798
|
-
|
|
35799
|
-
|
|
35800
|
-
|
|
35801
|
-
|
|
35802
|
-
|
|
35803
|
-
|
|
35804
|
-
|
|
35805
|
-
|
|
35806
|
-
|
|
35807
|
-
|
|
35808
|
-
};
|
|
35809
|
-
|
|
35810
|
-
|
|
35811
|
-
|
|
35812
|
-
|
|
35813
|
-
|
|
35814
|
-
|
|
35815
|
-
|
|
35816
|
-
|
|
35817
|
-
|
|
35818
|
-
|
|
35819
|
-
|
|
35820
|
-
|
|
35821
|
-
|
|
35822
|
-
|
|
35823
|
-
|
|
35824
|
-
|
|
35825
|
-
|
|
35826
|
-
|
|
35827
|
-
|
|
35828
|
-
|
|
35829
|
-
|
|
35830
|
-
|
|
35831
|
-
|
|
35832
|
-
|
|
35833
|
-
|
|
35834
|
-
|
|
35835
|
-
|
|
35836
|
-
|
|
35837
|
-
|
|
35838
|
-
|
|
35839
|
-
|
|
35840
|
-
|
|
35841
|
-
|
|
35842
|
-
|
|
35843
|
-
|
|
35844
|
-
|
|
35845
|
-
|
|
35846
|
-
|
|
35847
|
-
|
|
35848
|
-
|
|
35849
|
-
|
|
35850
|
-
|
|
35851
|
-
|
|
35852
|
-
|
|
35853
|
-
|
|
35854
|
-
|
|
35855
|
-
|
|
35856
|
-
|
|
35857
|
-
|
|
35858
|
-
|
|
35859
|
-
|
|
35860
|
-
|
|
35861
|
-
|
|
35862
|
-
|
|
35863
|
-
|
|
35864
|
-
|
|
35865
|
-
|
|
35866
|
-
|
|
35867
|
-
|
|
35868
|
-
|
|
35869
|
-
|
|
35870
|
-
|
|
35871
|
-
|
|
35872
|
-
|
|
35873
|
-
|
|
35874
|
-
|
|
35875
|
-
|
|
35876
|
-
|
|
35877
|
-
|
|
35878
|
-
|
|
37735
|
+
/** @description Contracts §42.5: what draining this host costs in memory (cell.hosts.drain_runtime_impact). */
|
|
37736
|
+
runtime_impact?: {
|
|
37737
|
+
/** @description known: recorded by the cell’s capacity tick within 15 minutes; unknown: not recorded; stale: older (both reported, neither blocks). */
|
|
37738
|
+
status: "known" | "unknown" | "stale";
|
|
37739
|
+
memory_lost: number | null;
|
|
37740
|
+
waits: number | null;
|
|
37741
|
+
/** @description Affected snapshot compatibility keys with counts and their outlook without this host (largest first, at most 20). */
|
|
37742
|
+
keys: {
|
|
37743
|
+
[key: string]: unknown;
|
|
37744
|
+
}[];
|
|
37745
|
+
computed_at: string | null;
|
|
37746
|
+
};
|
|
37747
|
+
host: {
|
|
37748
|
+
/**
|
|
37749
|
+
* Format: uuid
|
|
37750
|
+
* @description UUIDv7, lowercase canonical form.
|
|
37751
|
+
*/
|
|
37752
|
+
id: string;
|
|
37753
|
+
cell_id: string;
|
|
37754
|
+
pool: string;
|
|
37755
|
+
state: string;
|
|
37756
|
+
instance_id: string;
|
|
37757
|
+
};
|
|
37758
|
+
/**
|
|
37759
|
+
* Format: date-time
|
|
37760
|
+
* @description RFC 3339 UTC timestamp with Z.
|
|
37761
|
+
*/
|
|
37762
|
+
computed_at: string;
|
|
37763
|
+
};
|
|
37764
|
+
/**
|
|
37765
|
+
* Format: uuid
|
|
37766
|
+
* @description UUIDv7, lowercase canonical form.
|
|
37767
|
+
*/
|
|
37768
|
+
requested_by: string;
|
|
37769
|
+
request_id: string | null;
|
|
37770
|
+
claimed_by: string | null;
|
|
37771
|
+
claim_expires_at: string | null;
|
|
37772
|
+
attempt: number;
|
|
37773
|
+
cell_drain_id: string | null;
|
|
37774
|
+
result: {
|
|
37775
|
+
[key: string]: unknown;
|
|
37776
|
+
} | null;
|
|
37777
|
+
canceled_by: string | null;
|
|
37778
|
+
cancel_reason: string | null;
|
|
37779
|
+
/**
|
|
37780
|
+
* Format: date-time
|
|
37781
|
+
* @description RFC 3339 UTC timestamp with Z.
|
|
37782
|
+
*/
|
|
37783
|
+
created_at: string;
|
|
37784
|
+
/**
|
|
37785
|
+
* Format: date-time
|
|
37786
|
+
* @description RFC 3339 UTC timestamp with Z.
|
|
37787
|
+
*/
|
|
37788
|
+
updated_at: string;
|
|
37789
|
+
accepted_at: string | null;
|
|
37790
|
+
completed_at: string | null;
|
|
37791
|
+
};
|
|
37792
|
+
};
|
|
37793
|
+
};
|
|
37794
|
+
/** @description Default Response */
|
|
37795
|
+
"4XX": {
|
|
37796
|
+
headers: {
|
|
37797
|
+
[name: string]: unknown;
|
|
37798
|
+
};
|
|
37799
|
+
content: {
|
|
37800
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
37801
|
+
};
|
|
37802
|
+
};
|
|
37803
|
+
/** @description Default Response */
|
|
37804
|
+
"5XX": {
|
|
37805
|
+
headers: {
|
|
37806
|
+
[name: string]: unknown;
|
|
37807
|
+
};
|
|
37808
|
+
content: {
|
|
37809
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
37810
|
+
};
|
|
37811
|
+
};
|
|
37812
|
+
};
|
|
37813
|
+
};
|
|
37814
|
+
postApiV1OperatorDrainRequestsIdCancel: {
|
|
37815
|
+
parameters: {
|
|
37816
|
+
query?: never;
|
|
37817
|
+
header?: never;
|
|
37818
|
+
path: {
|
|
37819
|
+
/** @description UUIDv7, lowercase canonical form. */
|
|
37820
|
+
id: string;
|
|
37821
|
+
};
|
|
37822
|
+
cookie?: never;
|
|
37823
|
+
};
|
|
37824
|
+
requestBody: {
|
|
37825
|
+
content: {
|
|
37826
|
+
"application/json": {
|
|
37827
|
+
/** @description Why (audited). */
|
|
37828
|
+
reason: string;
|
|
37829
|
+
};
|
|
37830
|
+
};
|
|
37831
|
+
};
|
|
37832
|
+
responses: {
|
|
37833
|
+
/** @description Default Response */
|
|
37834
|
+
200: {
|
|
37835
|
+
headers: {
|
|
37836
|
+
[name: string]: unknown;
|
|
37837
|
+
};
|
|
37838
|
+
content: {
|
|
37839
|
+
"application/json": {
|
|
37840
|
+
/**
|
|
37841
|
+
* Format: uuid
|
|
37842
|
+
* @description UUIDv7, lowercase canonical form.
|
|
37843
|
+
*/
|
|
37844
|
+
id: string;
|
|
37845
|
+
cell_id: string;
|
|
37846
|
+
/**
|
|
37847
|
+
* Format: uuid
|
|
37848
|
+
* @description UUIDv7, lowercase canonical form.
|
|
37849
|
+
*/
|
|
37850
|
+
host_id: string;
|
|
37851
|
+
pool: string;
|
|
37852
|
+
instance_id: string | null;
|
|
37853
|
+
host_state_at_request: string;
|
|
37854
|
+
state: "requested" | "accepted" | "draining" | "completed" | "refused" | "canceled" | "aborted";
|
|
37855
|
+
state_reason: string | null;
|
|
37856
|
+
reason: string;
|
|
37857
|
+
safety: {
|
|
37858
|
+
safe: boolean;
|
|
37859
|
+
reasons: string[];
|
|
37860
|
+
required: {
|
|
37861
|
+
cpu_millis: number;
|
|
37862
|
+
memory_mib: number;
|
|
37863
|
+
disk_gib: number;
|
|
37864
|
+
allocations: number;
|
|
37865
|
+
};
|
|
37866
|
+
/** @description Suspended/deleted workspaces’ host disks: evacuated to durable checkpoints by the cell drain, not re-placed. */
|
|
37867
|
+
storage_only: {
|
|
37868
|
+
allocations: number;
|
|
37869
|
+
disk_gib: number;
|
|
37870
|
+
};
|
|
37871
|
+
available: {
|
|
37872
|
+
cpu_millis: number;
|
|
37873
|
+
memory_mib: number;
|
|
37874
|
+
disk_gib: number;
|
|
37875
|
+
hosts: number;
|
|
37876
|
+
};
|
|
37877
|
+
shortfall: {
|
|
37878
|
+
cpu_millis: number;
|
|
37879
|
+
memory_mib: number;
|
|
37880
|
+
disk_gib: number;
|
|
37881
|
+
};
|
|
37882
|
+
targets: {
|
|
37883
|
+
/**
|
|
37884
|
+
* Format: uuid
|
|
37885
|
+
* @description UUIDv7, lowercase canonical form.
|
|
37886
|
+
*/
|
|
37887
|
+
host_id: string;
|
|
37888
|
+
instance_id: string;
|
|
37889
|
+
free: {
|
|
37890
|
+
cpu_millis: number;
|
|
37891
|
+
memory_mib: number;
|
|
37892
|
+
disk_gib: number;
|
|
37893
|
+
};
|
|
37894
|
+
memory_free_allocatable_mib: number;
|
|
37895
|
+
memory_free_commit_limit_mib: number | null;
|
|
37896
|
+
}[];
|
|
37897
|
+
excluded_hosts: {
|
|
37898
|
+
/**
|
|
37899
|
+
* Format: uuid
|
|
37900
|
+
* @description UUIDv7, lowercase canonical form.
|
|
37901
|
+
*/
|
|
37902
|
+
host_id: string;
|
|
37903
|
+
state: string;
|
|
37904
|
+
/** @description not_ready | drain_requested | heartbeat_stale | no_live_incarnation */
|
|
37905
|
+
reason: string;
|
|
37906
|
+
}[];
|
|
37907
|
+
placement: {
|
|
37908
|
+
/**
|
|
37909
|
+
* Format: uuid
|
|
37910
|
+
* @description UUIDv7, lowercase canonical form.
|
|
37911
|
+
*/
|
|
37912
|
+
allocation_id: string;
|
|
37913
|
+
/**
|
|
37914
|
+
* Format: uuid
|
|
37915
|
+
* @description UUIDv7, lowercase canonical form.
|
|
37916
|
+
*/
|
|
37917
|
+
workspace_id: string;
|
|
37918
|
+
/**
|
|
37919
|
+
* Format: uuid
|
|
37920
|
+
* @description UUIDv7, lowercase canonical form.
|
|
37921
|
+
*/
|
|
37922
|
+
host_id: string;
|
|
37923
|
+
}[];
|
|
37924
|
+
unplaceable: {
|
|
37925
|
+
/**
|
|
37926
|
+
* Format: uuid
|
|
37927
|
+
* @description UUIDv7, lowercase canonical form.
|
|
37928
|
+
*/
|
|
37929
|
+
allocation_id: string;
|
|
37930
|
+
/**
|
|
37931
|
+
* Format: uuid
|
|
37932
|
+
* @description UUIDv7, lowercase canonical form.
|
|
37933
|
+
*/
|
|
37934
|
+
workspace_id: string;
|
|
37935
|
+
cpu_millis: number;
|
|
37936
|
+
memory_mib: number;
|
|
37937
|
+
disk_gib: number;
|
|
37938
|
+
}[];
|
|
37939
|
+
heartbeat_stale_after_seconds: number;
|
|
37940
|
+
/** @description Contracts §42.5: what draining this host costs in memory (cell.hosts.drain_runtime_impact). */
|
|
37941
|
+
runtime_impact?: {
|
|
37942
|
+
/** @description known: recorded by the cell’s capacity tick within 15 minutes; unknown: not recorded; stale: older (both reported, neither blocks). */
|
|
37943
|
+
status: "known" | "unknown" | "stale";
|
|
37944
|
+
memory_lost: number | null;
|
|
37945
|
+
waits: number | null;
|
|
37946
|
+
/** @description Affected snapshot compatibility keys with counts and their outlook without this host (largest first, at most 20). */
|
|
37947
|
+
keys: {
|
|
37948
|
+
[key: string]: unknown;
|
|
37949
|
+
}[];
|
|
37950
|
+
computed_at: string | null;
|
|
35879
37951
|
};
|
|
35880
|
-
targets: {
|
|
35881
|
-
/**
|
|
35882
|
-
* Format: uuid
|
|
35883
|
-
* @description UUIDv7, lowercase canonical form.
|
|
35884
|
-
*/
|
|
35885
|
-
host_id: string;
|
|
35886
|
-
instance_id: string;
|
|
35887
|
-
free: {
|
|
35888
|
-
cpu_millis: number;
|
|
35889
|
-
memory_mib: number;
|
|
35890
|
-
disk_gib: number;
|
|
35891
|
-
};
|
|
35892
|
-
memory_free_allocatable_mib: number;
|
|
35893
|
-
memory_free_commit_limit_mib: number | null;
|
|
35894
|
-
}[];
|
|
35895
|
-
excluded_hosts: {
|
|
35896
|
-
/**
|
|
35897
|
-
* Format: uuid
|
|
35898
|
-
* @description UUIDv7, lowercase canonical form.
|
|
35899
|
-
*/
|
|
35900
|
-
host_id: string;
|
|
35901
|
-
state: string;
|
|
35902
|
-
/** @description not_ready | drain_requested | heartbeat_stale | no_live_incarnation */
|
|
35903
|
-
reason: string;
|
|
35904
|
-
}[];
|
|
35905
|
-
placement: {
|
|
35906
|
-
/**
|
|
35907
|
-
* Format: uuid
|
|
35908
|
-
* @description UUIDv7, lowercase canonical form.
|
|
35909
|
-
*/
|
|
35910
|
-
allocation_id: string;
|
|
35911
|
-
/**
|
|
35912
|
-
* Format: uuid
|
|
35913
|
-
* @description UUIDv7, lowercase canonical form.
|
|
35914
|
-
*/
|
|
35915
|
-
workspace_id: string;
|
|
35916
|
-
/**
|
|
35917
|
-
* Format: uuid
|
|
35918
|
-
* @description UUIDv7, lowercase canonical form.
|
|
35919
|
-
*/
|
|
35920
|
-
host_id: string;
|
|
35921
|
-
}[];
|
|
35922
|
-
unplaceable: {
|
|
35923
|
-
/**
|
|
35924
|
-
* Format: uuid
|
|
35925
|
-
* @description UUIDv7, lowercase canonical form.
|
|
35926
|
-
*/
|
|
35927
|
-
allocation_id: string;
|
|
35928
|
-
/**
|
|
35929
|
-
* Format: uuid
|
|
35930
|
-
* @description UUIDv7, lowercase canonical form.
|
|
35931
|
-
*/
|
|
35932
|
-
workspace_id: string;
|
|
35933
|
-
cpu_millis: number;
|
|
35934
|
-
memory_mib: number;
|
|
35935
|
-
disk_gib: number;
|
|
35936
|
-
}[];
|
|
35937
|
-
heartbeat_stale_after_seconds: number;
|
|
35938
37952
|
host: {
|
|
35939
37953
|
/**
|
|
35940
37954
|
* Format: uuid
|
|
@@ -37085,4 +39099,99 @@ export interface operations {
|
|
|
37085
39099
|
};
|
|
37086
39100
|
};
|
|
37087
39101
|
};
|
|
39102
|
+
getApiV1OauthAuthorization: {
|
|
39103
|
+
parameters: {
|
|
39104
|
+
query: {
|
|
39105
|
+
/** @description The `request` parameter of /connect: the pending authorization request /oauth/authorize stored. */
|
|
39106
|
+
request: string;
|
|
39107
|
+
};
|
|
39108
|
+
header?: never;
|
|
39109
|
+
path?: never;
|
|
39110
|
+
cookie?: never;
|
|
39111
|
+
};
|
|
39112
|
+
requestBody?: never;
|
|
39113
|
+
responses: {
|
|
39114
|
+
/** @description Default Response */
|
|
39115
|
+
200: {
|
|
39116
|
+
headers: {
|
|
39117
|
+
[name: string]: unknown;
|
|
39118
|
+
};
|
|
39119
|
+
content: {
|
|
39120
|
+
"application/json": components["schemas"]["OAuthConsentView"];
|
|
39121
|
+
};
|
|
39122
|
+
};
|
|
39123
|
+
/** @description Default Response */
|
|
39124
|
+
"4XX": {
|
|
39125
|
+
headers: {
|
|
39126
|
+
[name: string]: unknown;
|
|
39127
|
+
};
|
|
39128
|
+
content: {
|
|
39129
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
39130
|
+
};
|
|
39131
|
+
};
|
|
39132
|
+
/** @description Default Response */
|
|
39133
|
+
"5XX": {
|
|
39134
|
+
headers: {
|
|
39135
|
+
[name: string]: unknown;
|
|
39136
|
+
};
|
|
39137
|
+
content: {
|
|
39138
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
39139
|
+
};
|
|
39140
|
+
};
|
|
39141
|
+
};
|
|
39142
|
+
};
|
|
39143
|
+
postApiV1OauthAuthorization: {
|
|
39144
|
+
parameters: {
|
|
39145
|
+
query?: never;
|
|
39146
|
+
header?: never;
|
|
39147
|
+
path?: never;
|
|
39148
|
+
cookie?: never;
|
|
39149
|
+
};
|
|
39150
|
+
requestBody: {
|
|
39151
|
+
content: {
|
|
39152
|
+
"application/json": {
|
|
39153
|
+
/** @description The `request` parameter of /connect: the pending authorization request /oauth/authorize stored. */
|
|
39154
|
+
request: string;
|
|
39155
|
+
decision: "approve" | "deny";
|
|
39156
|
+
/**
|
|
39157
|
+
* Format: uuid
|
|
39158
|
+
* @description UUIDv7, lowercase canonical form.
|
|
39159
|
+
*/
|
|
39160
|
+
project_id?: string;
|
|
39161
|
+
};
|
|
39162
|
+
};
|
|
39163
|
+
};
|
|
39164
|
+
responses: {
|
|
39165
|
+
/** @description Default Response */
|
|
39166
|
+
200: {
|
|
39167
|
+
headers: {
|
|
39168
|
+
[name: string]: unknown;
|
|
39169
|
+
};
|
|
39170
|
+
content: {
|
|
39171
|
+
"application/json": {
|
|
39172
|
+
/** @description Send the browser here (the client’s redirect_uri with code or error, state and iss). */
|
|
39173
|
+
redirect_to: string;
|
|
39174
|
+
};
|
|
39175
|
+
};
|
|
39176
|
+
};
|
|
39177
|
+
/** @description Default Response */
|
|
39178
|
+
"4XX": {
|
|
39179
|
+
headers: {
|
|
39180
|
+
[name: string]: unknown;
|
|
39181
|
+
};
|
|
39182
|
+
content: {
|
|
39183
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
39184
|
+
};
|
|
39185
|
+
};
|
|
39186
|
+
/** @description Default Response */
|
|
39187
|
+
"5XX": {
|
|
39188
|
+
headers: {
|
|
39189
|
+
[name: string]: unknown;
|
|
39190
|
+
};
|
|
39191
|
+
content: {
|
|
39192
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
39193
|
+
};
|
|
39194
|
+
};
|
|
39195
|
+
};
|
|
39196
|
+
};
|
|
37088
39197
|
}
|