oblien 2.4.0 → 2.6.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/dist/access.d.ts +79 -0
- package/dist/access.d.ts.map +1 -0
- package/dist/access.js +42 -0
- package/dist/access.js.map +1 -0
- package/dist/billing.d.ts +6 -0
- package/dist/billing.d.ts.map +1 -1
- package/dist/billing.js +6 -0
- package/dist/billing.js.map +1 -1
- package/dist/cli/commands/scp.js +9 -2
- package/dist/cli/commands/scp.js.map +1 -1
- package/dist/cli/commands/ssh.d.ts.map +1 -1
- package/dist/cli/commands/ssh.js +12 -0
- package/dist/cli/commands/ssh.js.map +1 -1
- package/dist/cli/commands/workloads.d.ts.map +1 -1
- package/dist/cli/commands/workloads.js +26 -2
- package/dist/cli/commands/workloads.js.map +1 -1
- package/dist/cli/commands/workspaces.d.ts.map +1 -1
- package/dist/cli/commands/workspaces.js +8 -0
- package/dist/cli/commands/workspaces.js.map +1 -1
- package/dist/client.d.ts +8 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +12 -0
- package/dist/client.js.map +1 -1
- package/dist/disks.d.ts +49 -0
- package/dist/disks.d.ts.map +1 -0
- package/dist/disks.js +143 -0
- package/dist/disks.js.map +1 -0
- package/dist/http.d.ts +2 -0
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +14 -0
- package/dist/http.js.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/namespace.d.ts +8 -5
- package/dist/namespace.d.ts.map +1 -1
- package/dist/namespace.js +4 -3
- package/dist/namespace.js.map +1 -1
- package/dist/resources/desktop.d.ts +19 -3
- package/dist/resources/desktop.d.ts.map +1 -1
- package/dist/resources/desktop.js +19 -6
- package/dist/resources/desktop.js.map +1 -1
- package/dist/resources/images.d.ts +26 -0
- package/dist/resources/images.d.ts.map +1 -1
- package/dist/resources/images.js.map +1 -1
- package/dist/resources/logs.d.ts +5 -1
- package/dist/resources/logs.d.ts.map +1 -1
- package/dist/resources/logs.js +4 -1
- package/dist/resources/logs.js.map +1 -1
- package/dist/resources/ssh.d.ts +3 -0
- package/dist/resources/ssh.d.ts.map +1 -1
- package/dist/resources/ssh.js +4 -0
- package/dist/resources/ssh.js.map +1 -1
- package/dist/resources/workloads.d.ts +12 -3
- package/dist/resources/workloads.d.ts.map +1 -1
- package/dist/resources/workloads.js +20 -4
- package/dist/resources/workloads.js.map +1 -1
- package/dist/runtime/terminal.d.ts +10 -0
- package/dist/runtime/terminal.d.ts.map +1 -1
- package/dist/runtime/terminal.js +19 -0
- package/dist/runtime/terminal.js.map +1 -1
- package/dist/runtime/ws.d.ts.map +1 -1
- package/dist/runtime/ws.js +6 -2
- package/dist/runtime/ws.js.map +1 -1
- package/dist/types/access.d.ts +65 -0
- package/dist/types/access.d.ts.map +1 -0
- package/dist/types/access.js +2 -0
- package/dist/types/access.js.map +1 -0
- package/dist/types/billing.d.ts +61 -2
- package/dist/types/billing.d.ts.map +1 -1
- package/dist/types/billing.js +0 -8
- package/dist/types/billing.js.map +1 -1
- package/dist/types/client.d.ts +4 -0
- package/dist/types/client.d.ts.map +1 -1
- package/dist/types/disks.d.ts +153 -0
- package/dist/types/disks.d.ts.map +1 -0
- package/dist/types/disks.js +2 -0
- package/dist/types/disks.js.map +1 -0
- package/dist/types/index.d.ts +5 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/namespace.d.ts +43 -3
- package/dist/types/namespace.d.ts.map +1 -1
- package/dist/types/runtime.d.ts +3 -1
- package/dist/types/runtime.d.ts.map +1 -1
- package/dist/types/workspace-resources.d.ts +25 -0
- package/dist/types/workspace-resources.d.ts.map +1 -1
- package/dist/types/workspace.d.ts +34 -0
- package/dist/types/workspace.d.ts.map +1 -1
- package/dist/workspace-handle.d.ts +2 -0
- package/dist/workspace-handle.d.ts.map +1 -1
- package/dist/workspace-handle.js +2 -0
- package/dist/workspace-handle.js.map +1 -1
- package/dist/workspace.d.ts +2 -0
- package/dist/workspace.d.ts.map +1 -1
- package/dist/workspace.js +23 -7
- package/dist/workspace.js.map +1 -1
- package/docs/billing.md +133 -6
- package/docs/desktop.md +32 -0
- package/docs/namespaces.md +70 -1
- package/docs/releases/2.6.0.md +16 -0
- package/docs/runtime.md +2 -0
- package/docs/webhooks.md +42 -0
- package/docs/workspaces.md +1 -1
- package/package.json +1 -1
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import type { IdlePolicy } from './workspace-resources.js';
|
|
2
|
+
import type { WorkspaceSharing, AccountLabel } from './access.js';
|
|
3
|
+
import type { DiskAttachInput } from './disks.js';
|
|
2
4
|
/** Mac boot behavior. CPU/RAM come from the ordinary workspace resources. */
|
|
3
5
|
export interface MacOSBootConfig {
|
|
4
6
|
agent?: 'macos' | 'linux';
|
|
5
7
|
network?: 'tap' | 'user';
|
|
6
8
|
storage?: 'nvme' | 'sata';
|
|
7
9
|
disk_cache?: 'none' | 'writeback';
|
|
10
|
+
/** Use a matching prepared Mac template when available, or force a cold boot. */
|
|
11
|
+
warm_boot?: 'auto' | 'off';
|
|
8
12
|
boot_args?: string;
|
|
9
13
|
ports?: {
|
|
10
14
|
host: number;
|
|
@@ -29,6 +33,8 @@ export interface WorkspaceCreateParams {
|
|
|
29
33
|
* Browse the catalog with `client.workspaces.images.list()`.
|
|
30
34
|
*/
|
|
31
35
|
image?: string;
|
|
36
|
+
/** Catalog preset ID, e.g. macos-xcode. Resolves the base image, shared software and boot setup. */
|
|
37
|
+
preset?: string;
|
|
32
38
|
/** Namespace for organization-scoped workspaces. Omit for a personal workspace billed to the owner account. */
|
|
33
39
|
namespace?: string;
|
|
34
40
|
/** 'permanent' (default) or 'temporary'. */
|
|
@@ -39,9 +45,15 @@ export interface WorkspaceCreateParams {
|
|
|
39
45
|
memory_mb?: number;
|
|
40
46
|
/** Writable disk in MB. */
|
|
41
47
|
disk_size_mb?: number;
|
|
48
|
+
/** Detached mutable root. Uses its recorded image and capacity. */
|
|
49
|
+
root_disk_id?: string;
|
|
50
|
+
/** Additional persistent data disks, attached before workloads start. */
|
|
51
|
+
disks?: DiskAttachInput[];
|
|
42
52
|
/** Raw config object. Resource/lifecycle/network convenience fields above
|
|
43
53
|
* are merged into this before sending. */
|
|
44
54
|
config?: {
|
|
55
|
+
root_disk_id?: string;
|
|
56
|
+
disks?: DiskAttachInput[];
|
|
45
57
|
/** Opt-in sleep for permanent workspaces; incoming requests to published URLs wake them. */
|
|
46
58
|
idle?: IdlePolicy | null;
|
|
47
59
|
/** Prepare/enable desktop on compatible images. Default off; capabilities come from images.list(). Later install with workspaces.desktop.install(), control access with runtime.desktop. */
|
|
@@ -106,6 +118,13 @@ export interface WorkspaceListResponse {
|
|
|
106
118
|
limit: number;
|
|
107
119
|
}
|
|
108
120
|
export interface WorkspaceData {
|
|
121
|
+
sharing?: WorkspaceSharing;
|
|
122
|
+
owner?: AccountLabel;
|
|
123
|
+
base_os?: {
|
|
124
|
+
family: 'linux' | 'macos';
|
|
125
|
+
distribution: string;
|
|
126
|
+
version: string;
|
|
127
|
+
} | null;
|
|
109
128
|
id: string;
|
|
110
129
|
ready?: boolean;
|
|
111
130
|
info?: {
|
|
@@ -119,6 +138,21 @@ export interface WorkspaceData {
|
|
|
119
138
|
status: string;
|
|
120
139
|
mode?: 'permanent' | 'temporary';
|
|
121
140
|
image: string;
|
|
141
|
+
/** Resolved catalog selection, pinned when this workspace was created. */
|
|
142
|
+
preset?: {
|
|
143
|
+
id: string;
|
|
144
|
+
revision: string;
|
|
145
|
+
label: string;
|
|
146
|
+
base_image: string;
|
|
147
|
+
logo?: string;
|
|
148
|
+
color?: string;
|
|
149
|
+
software: {
|
|
150
|
+
id: string;
|
|
151
|
+
label: string;
|
|
152
|
+
read_only: boolean;
|
|
153
|
+
size_mb: number;
|
|
154
|
+
}[];
|
|
155
|
+
};
|
|
122
156
|
/** Null for a personal/account workspace; named namespaces have independent billing policies. */
|
|
123
157
|
namespace?: string | null;
|
|
124
158
|
lifecycle?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../src/types/workspace.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../src/types/workspace.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import type { LifecycleResource } from './resources/lifecycle.js';
|
|
|
4
4
|
import type { NetworkResource } from './resources/network.js';
|
|
5
5
|
import type { SshResource } from './resources/ssh.js';
|
|
6
6
|
import type { DesktopResource } from './resources/desktop.js';
|
|
7
|
+
import type { WorkspaceDisksResource } from './disks.js';
|
|
7
8
|
import type { PublicAccessResource } from './resources/public-access.js';
|
|
8
9
|
import type { ResourcesResource } from './resources/resources.js';
|
|
9
10
|
import type { SnapshotsResource } from './resources/snapshots.js';
|
|
@@ -53,6 +54,7 @@ export declare class WorkspaceHandle {
|
|
|
53
54
|
/** SSH access - enable, disable, set password/key. */
|
|
54
55
|
readonly ssh: Scoped<SshResource>;
|
|
55
56
|
readonly desktop: Scoped<DesktopResource>;
|
|
57
|
+
readonly disks: Scoped<WorkspaceDisksResource>;
|
|
56
58
|
/** Public port access - expose and revoke ports. */
|
|
57
59
|
readonly publicAccess: Scoped<PublicAccessResource>;
|
|
58
60
|
/** Resources - CPU, memory, disk allocation. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-handle.d.ts","sourceRoot":"","sources":["../src/workspace-handle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EACV,WAAW,EACX,qBAAqB,EACrB,aAAa,EACb,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAgB1B,sEAAsE;AACtE,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,MAAM,GAAG,GACxE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,GAAG,GACnB,CAAC,CAAC;AAEN,qEAAqE;AACrE,KAAK,MAAM,CAAC,CAAC,IAAI;KACd,CAAC,IAAI,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAChC,CAAC;AAkBF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,eAAe;IAC1B,gDAAgD;IAChD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,gBAAgB;IAChB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAY;IAEhC,uDAAuD;IACvD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAE9C,sDAAsD;IACtD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;IAE1C,sDAAsD;IACtD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"workspace-handle.d.ts","sourceRoot":"","sources":["../src/workspace-handle.ts"],"names":[],"mappings":"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"}
|
package/dist/workspace-handle.js
CHANGED
|
@@ -45,6 +45,7 @@ export class WorkspaceHandle {
|
|
|
45
45
|
/** SSH access - enable, disable, set password/key. */
|
|
46
46
|
ssh;
|
|
47
47
|
desktop;
|
|
48
|
+
disks;
|
|
48
49
|
/** Public port access - expose and revoke ports. */
|
|
49
50
|
publicAccess;
|
|
50
51
|
/** Resources - CPU, memory, disk allocation. */
|
|
@@ -72,6 +73,7 @@ export class WorkspaceHandle {
|
|
|
72
73
|
this.network = scopeResource(workspace.network, workspaceId);
|
|
73
74
|
this.ssh = scopeResource(workspace.ssh, workspaceId);
|
|
74
75
|
this.desktop = scopeResource(workspace.desktop, workspaceId);
|
|
76
|
+
this.disks = scopeResource(workspace.disks, workspaceId);
|
|
75
77
|
this.publicAccess = scopeResource(workspace.publicAccess, workspaceId);
|
|
76
78
|
this.resources = scopeResource(workspace.resources, workspaceId);
|
|
77
79
|
this.snapshots = scopeResource(workspace.snapshots, workspaceId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-handle.js","sourceRoot":"","sources":["../src/workspace-handle.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"workspace-handle.js","sourceRoot":"","sources":["../src/workspace-handle.ts"],"names":[],"mappings":"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"}
|
package/dist/workspace.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ import { ApiAccessResource } from './resources/api-access.js';
|
|
|
15
15
|
import { LogsResource } from './resources/logs.js';
|
|
16
16
|
import { ImagesResource } from './resources/images.js';
|
|
17
17
|
import { DomainsResource } from './resources/domains.js';
|
|
18
|
+
import { WorkspaceDisksResource } from './disks.js';
|
|
18
19
|
import type { ApiResponse, WorkspaceCreateParams, WorkspaceUpdateParams, WorkspaceListParams, WorkspaceListResponse, WorkspaceData, WorkspaceWaitOptions } from './types/index.js';
|
|
19
20
|
/**
|
|
20
21
|
* Workspace operations namespace.
|
|
@@ -48,6 +49,7 @@ export declare class Workspace {
|
|
|
48
49
|
/** SSH access - enable, disable, set password/key. */
|
|
49
50
|
readonly ssh: SshResource;
|
|
50
51
|
readonly desktop: DesktopResource;
|
|
52
|
+
readonly disks: WorkspaceDisksResource;
|
|
51
53
|
/** Public port access - expose and revoke ports. */
|
|
52
54
|
readonly publicAccess: PublicAccessResource;
|
|
53
55
|
/** Resources - CPU, memory, disk allocation. */
|
package/dist/workspace.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EACV,WAAW,EACX,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,EACb,oBAAoB,EAErB,MAAM,kBAAkB,CAAC;AAe1B;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,SAAS;IACpB,gBAAgB;IAChB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAE3B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IAEtC,2EAA2E;IAC3E,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwC;IAElE,uEAAuE;IACvE,OAAO,CAAC,WAAW,CAAwB;IAI3C,uDAAuD;IACvD,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IAEtC,qEAAqE;IACrE,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAElC,sDAAsD;IACtD,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"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"}
|
package/dist/workspace.js
CHANGED
|
@@ -15,6 +15,7 @@ import { ApiAccessResource } from './resources/api-access.js';
|
|
|
15
15
|
import { LogsResource } from './resources/logs.js';
|
|
16
16
|
import { ImagesResource } from './resources/images.js';
|
|
17
17
|
import { DomainsResource } from './resources/domains.js';
|
|
18
|
+
import { WorkspaceDisksResource } from './disks.js';
|
|
18
19
|
/**
|
|
19
20
|
* Default token TTL - 55 minutes.
|
|
20
21
|
* Gateway JWTs typically expire in 60 min; we refresh a bit early.
|
|
@@ -53,6 +54,7 @@ export class Workspace {
|
|
|
53
54
|
/** SSH access - enable, disable, set password/key. */
|
|
54
55
|
ssh;
|
|
55
56
|
desktop;
|
|
57
|
+
disks;
|
|
56
58
|
/** Public port access - expose and revoke ports. */
|
|
57
59
|
publicAccess;
|
|
58
60
|
/** Resources - CPU, memory, disk allocation. */
|
|
@@ -83,7 +85,8 @@ export class Workspace {
|
|
|
83
85
|
this.lifecycle = new LifecycleResource(this._http);
|
|
84
86
|
this.network = new NetworkResource(this._http);
|
|
85
87
|
this.ssh = new SshResource(this._http);
|
|
86
|
-
this.desktop = new DesktopResource(this._http);
|
|
88
|
+
this.desktop = new DesktopResource(this._http, id => this.invalidateRuntime(id));
|
|
89
|
+
this.disks = new WorkspaceDisksResource(this._http);
|
|
87
90
|
this.publicAccess = new PublicAccessResource(this._http);
|
|
88
91
|
this.resources = new ResourcesResource(this._http);
|
|
89
92
|
this.snapshots = new SnapshotsResource(this._http);
|
|
@@ -101,7 +104,7 @@ export class Workspace {
|
|
|
101
104
|
async create(params = {}, options = {}) {
|
|
102
105
|
// Flatten convenience resource fields into config so the backend sees them.
|
|
103
106
|
// Backend extracts cpus/memory_mb/disk_size_mb from config.
|
|
104
|
-
const { cpus, memory_mb, disk_size_mb, wait_ready = true, ready_timeout_seconds = 600, ...rest } = params;
|
|
107
|
+
const { cpus, memory_mb, disk_size_mb, root_disk_id, disks, wait_ready = true, ready_timeout_seconds = 600, ...rest } = params;
|
|
105
108
|
const timeoutMs = options.timeoutMs ?? ready_timeout_seconds * 1000;
|
|
106
109
|
if (!Number.isFinite(timeoutMs) || timeoutMs <= 0)
|
|
107
110
|
throw new RangeError('Readiness timeout must be positive');
|
|
@@ -112,6 +115,10 @@ export class Workspace {
|
|
|
112
115
|
config.memory_mb = memory_mb;
|
|
113
116
|
if (disk_size_mb !== undefined)
|
|
114
117
|
config.disk_size_mb = disk_size_mb;
|
|
118
|
+
if (root_disk_id !== undefined)
|
|
119
|
+
config.root_disk_id = root_disk_id;
|
|
120
|
+
if (disks !== undefined)
|
|
121
|
+
config.disks = disks;
|
|
115
122
|
const body = { ...rest, config, wait_ready: false };
|
|
116
123
|
const res = await this._http.request({ method: 'POST', path: this._base, body, signal: options.signal });
|
|
117
124
|
if (!wait_ready)
|
|
@@ -208,7 +215,8 @@ export class Workspace {
|
|
|
208
215
|
}
|
|
209
216
|
/** Permanently delete a workspace. */
|
|
210
217
|
async delete(workspaceId) {
|
|
211
|
-
|
|
218
|
+
this.invalidateRuntime(workspaceId);
|
|
219
|
+
return this._http.request({ method: 'DELETE', path: `${this._base}/${workspaceId}` }).finally(() => this.invalidateRuntime(workspaceId));
|
|
212
220
|
}
|
|
213
221
|
/** Get aggregated workspace details. */
|
|
214
222
|
async getDetails(workspaceId) {
|
|
@@ -217,15 +225,21 @@ export class Workspace {
|
|
|
217
225
|
// ── Power / lifecycle shortcuts ───────────────────────────────────
|
|
218
226
|
/** Start a workspace. */
|
|
219
227
|
async start(workspaceId, params) {
|
|
220
|
-
|
|
228
|
+
this.invalidateRuntime(workspaceId);
|
|
229
|
+
return this._http.request({ method: 'POST', path: `${this._base}/${workspaceId}/start`, body: params })
|
|
230
|
+
.finally(() => this.invalidateRuntime(workspaceId));
|
|
221
231
|
}
|
|
222
232
|
/** Stop a workspace. */
|
|
223
233
|
async stop(workspaceId) {
|
|
224
|
-
|
|
234
|
+
this.invalidateRuntime(workspaceId);
|
|
235
|
+
return this._http.request({ method: 'POST', path: `${this._base}/${workspaceId}/stop` })
|
|
236
|
+
.finally(() => this.invalidateRuntime(workspaceId));
|
|
225
237
|
}
|
|
226
238
|
/** Restart a workspace. */
|
|
227
239
|
async restart(workspaceId) {
|
|
228
|
-
|
|
240
|
+
this.invalidateRuntime(workspaceId);
|
|
241
|
+
return this._http.request({ method: 'POST', path: `${this._base}/${workspaceId}/restart` })
|
|
242
|
+
.finally(() => this.invalidateRuntime(workspaceId));
|
|
229
243
|
}
|
|
230
244
|
/** Pause a workspace (preserves memory state). */
|
|
231
245
|
async pause(workspaceId) {
|
|
@@ -233,7 +247,9 @@ export class Workspace {
|
|
|
233
247
|
}
|
|
234
248
|
/** Resume a paused workspace. */
|
|
235
249
|
async resume(workspaceId) {
|
|
236
|
-
|
|
250
|
+
this.invalidateRuntime(workspaceId);
|
|
251
|
+
return this._http.request({ method: 'POST', path: `${this._base}/${workspaceId}/resume` })
|
|
252
|
+
.finally(() => this.invalidateRuntime(workspaceId));
|
|
237
253
|
}
|
|
238
254
|
/** Keep-alive ping - renews TTL for temporary workspaces. */
|
|
239
255
|
async ping(workspaceId, params) {
|
package/dist/workspace.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"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"}
|
package/docs/billing.md
CHANGED
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
# Namespace billing
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Namespace management is available from `oblien@2.3.0`; reseller checkout and
|
|
4
|
+
status reads from `2.4.0`. The `2.5.0` source adds typed offer policy/resource
|
|
5
|
+
caps and exported reseller types, with the matching API deployment.
|
|
4
6
|
Each customer uses a namespace with its own subscription, Stripe customer, quota,
|
|
5
7
|
and billing portal. Keep your `admin` or `billing` API key on your server. Resolve
|
|
6
8
|
the namespace from the authenticated customer's record before calling these methods.
|
|
7
9
|
Namespace/workspace tokens cannot access billing.
|
|
10
|
+
New namespace checkouts (custom offers, catalog subscriptions and top-ups) require
|
|
11
|
+
an Enterprise owner account or platform-admin Enterprise grant, in both test and
|
|
12
|
+
live mode. Customer plans do not qualify the owner. Ineligible attempts return
|
|
13
|
+
`403 reseller_enterprise_required` before creating a payment session. The catalog
|
|
14
|
+
advertises `reseller.requiredAccountTier`. Existing customer management, renewals
|
|
15
|
+
and refunds remain processable after an owner downgrade.
|
|
8
16
|
Do not reassign a customer's namespace slug to someone else: its billing history
|
|
9
17
|
stays attached to that owner/namespace identity.
|
|
10
18
|
|
|
@@ -52,7 +60,9 @@ const topup = await client.billing.checkout({
|
|
|
52
60
|
});
|
|
53
61
|
```
|
|
54
62
|
|
|
55
|
-
|
|
63
|
+
For catalog products, use catalog IDs and prices. To own your prices, credits and
|
|
64
|
+
limits, use a [reseller offer](#reseller-offers-price-allowance-and-product-text).
|
|
65
|
+
Return URLs must be host-allowlisted by the operator;
|
|
56
66
|
an unapproved host returns `billing_redirect_not_allowed`. Supplied URLs require HTTPS. Optional `customer` details apply
|
|
57
67
|
to the first namespace checkout, without copying the API-key owner's details.
|
|
58
68
|
Reuse an idempotency key only when retrying the identical request.
|
|
@@ -138,7 +148,7 @@ Subscribe to `payment.succeeded`, `entitlement.changed`, `subscription.renewed`,
|
|
|
138
148
|
`subscription.updated`, `subscription.past_due`, `subscription.canceled`,
|
|
139
149
|
`subscription.tier_changed`, `namespace.suspended`, and `namespace.restored` using
|
|
140
150
|
`client.webhooks`. Verify the signature on raw bytes and deduplicate event IDs.
|
|
141
|
-
|
|
151
|
+
Billing events use a durable outbox with retry. Reconcile with `entitlement()` and
|
|
142
152
|
`subscription()` when the customer returns to billing or an event is missed.
|
|
143
153
|
|
|
144
154
|
[Full API contract](https://oblien.com/docs/api/billing)
|
|
@@ -159,7 +169,9 @@ Webhook delivery is best effort: reconcile with `entitlement()` and
|
|
|
159
169
|
"description": "Your hosted application compute plan",
|
|
160
170
|
"unitAmount": 1000,
|
|
161
171
|
"currency": "usd",
|
|
162
|
-
"credits": 100
|
|
172
|
+
"credits": 100,
|
|
173
|
+
"policy": { "overdraft": 0, "suspendThreshold": 0, "onOverdraftAction": "stop_workspaces" },
|
|
174
|
+
"resourceLimits": { "max_workspaces": 2, "max_vcpus": 2, "max_ram_mb": 4096, "max_disk_gb": 32 }
|
|
163
175
|
},
|
|
164
176
|
"metadata": { "appOrderId": "order-123", "planVersion": "1" },
|
|
165
177
|
"idempotencyKey": "order-123",
|
|
@@ -179,13 +191,62 @@ This charges **$10**, funds the **owner's Oblien wallet** at the standard rate (
|
|
|
179
191
|
| `offer.unitAmount` | Required integer USD cents, 100–1,000,000 ($1–$10,000) |
|
|
180
192
|
| `offer.currency` | `usd` only; defaults to `usd` |
|
|
181
193
|
| `offer.credits` | Required integer namespace allowance, 1–1,000,000,000; independent of wallet funding |
|
|
194
|
+
| `offer.policy` | Subscription only: optional `overdraft`, `suspendThreshold`, `onOverdraftAction`; defaults to zero grace and `stop_workspaces` |
|
|
195
|
+
| `offer.resourceLimits` | Subscription only: nonempty subset of `max_workspaces`, `max_vcpus`, `max_ram_mb`, `max_disk_gb`; values are integers 0–1,000,000,000 or `null` |
|
|
182
196
|
| `metadata` | Optional, only with `offer`: at most 35 string entries; key `[A-Za-z0-9_]`, length 1–40; value at most 500 characters without control characters |
|
|
183
197
|
| `idempotencyKey` | Required with `offer`, nonempty string up to 200 characters; reuse only for an identical request |
|
|
184
198
|
|
|
185
|
-
Metadata may not override `service`, `user_id`, `client_id`, `namespace`, `billing_order_id`, `kind`, `credits`, `amount`, `credits_per_cycle`, `plan_family`, `billing_interval`, prototype keys, or any `oblien_` prefix. Unknown offer fields are rejected. Customer accepts only `email` and/or `name`; provider customer IDs are never accepted. Custom offers
|
|
199
|
+
Metadata may not override `service`, `user_id`, `client_id`, `namespace`, `billing_order_id`, `kind`, `credits`, `amount`, `credits_per_cycle`, `plan_family`, `billing_interval`, prototype keys, or any `oblien_` or `promotion_` prefix. Unknown offer fields are rejected. Customer accepts only `email` and/or `name`; provider customer IDs are never accepted. Custom offers support native Stripe promotion codes by default, or scoped Oblien-admin codes with `checkoutMode: "oblien"`. Trials, proration, and portal price changes remain unsupported.
|
|
186
200
|
|
|
187
201
|
The contract is saved before contacting the provider. It binds owner, namespace, amount, allowance, metadata, provider customer and checkout mode. Reusing a key with a changed request returns `409 billing_idempotency_conflict`. An interrupted checkout older than the provider's safe idempotency window returns `409 billing_checkout_reconciliation_required`; do not create another payment blindly.
|
|
188
202
|
|
|
203
|
+
### Saved policy and resource caps
|
|
204
|
+
|
|
205
|
+
Check `billing.catalog().reseller` before enabling offers with policy or limits:
|
|
206
|
+
`contractVersion >= 2`, `offerPolicy: true`, `resourceLimits: true`, and
|
|
207
|
+
`effectiveResourceLimits: true` identify support in the deployed API. A dashboard-only deployment does not add this API
|
|
208
|
+
capability. SDK 2.4.0 already transports reseller offers; the 2.5.0 source adds
|
|
209
|
+
these TypeScript fields and public reseller type exports.
|
|
210
|
+
|
|
211
|
+
Grace is zero by default. To permit 60 extra namespace credits, save
|
|
212
|
+
`policy: { overdraft: 60, suspendThreshold: 60, onOverdraftAction: 'stop_workspaces' }`
|
|
213
|
+
on the subscription offer. `suspendThreshold` must be at least `overdraft`.
|
|
214
|
+
`quota.balance` already includes grace (`limit + overdraft - used`); never add it
|
|
215
|
+
again on the client. A top-up adds purchased allowance and cannot change policy
|
|
216
|
+
or resource caps.
|
|
217
|
+
|
|
218
|
+
The saved price, allowance, metadata, grace and resource caps are reused for
|
|
219
|
+
renewals. Editing your catalog does not alter existing subscriptions. The cycle
|
|
220
|
+
checkpoint, allowance reset, grace and receipt allocation commit in one database
|
|
221
|
+
transaction. VM admission reads caps from that committed cycle, so a missed
|
|
222
|
+
reseller webhook cannot leave a larger namespace mirror as a bypass. A full
|
|
223
|
+
refund of the current cycle removes its remaining allowance and grace; an old
|
|
224
|
+
invoice refund cannot erase a newer cycle.
|
|
225
|
+
|
|
226
|
+
`max_workspaces` counts allocated workspaces in this namespace. CPU, RAM and disk
|
|
227
|
+
are per-workspace caps. Oblien resolves the strictest cap from the saved offer,
|
|
228
|
+
configured namespace policy, owner account and platform. `null` inherits capacity;
|
|
229
|
+
it never removes another layer's restriction. Clients submit policy directly
|
|
230
|
+
without fetching account quota or calculating capacity. Namespace detail and
|
|
231
|
+
mutation responses expose `effective_resource_limits` separately from the saved
|
|
232
|
+
`resource_limits`; these are ceilings, not capacity reservations. Concurrent
|
|
233
|
+
creates reserve slots under a namespace lock. Create, resize and subsequent VM
|
|
234
|
+
start/resume/wake/snapshot-resume check the caps. Lowering limits does not delete
|
|
235
|
+
existing workspaces or resize running machines; arrange any necessary cleanup
|
|
236
|
+
or stop/resize before moving customers to a smaller plan. Service, project,
|
|
237
|
+
seat and other application limits belong to your application and can be saved
|
|
238
|
+
as versioned metadata; Oblien does not interpret those metadata fields.
|
|
239
|
+
|
|
240
|
+
Only the namespace receives this subscription. Owner plan reads, owner portal
|
|
241
|
+
customer lookup and owner plan replacement exclude namespace subscriptions.
|
|
242
|
+
The owner's wallet receives payment funding, and that wallet entry does not
|
|
243
|
+
change the owner's platform plan.
|
|
244
|
+
|
|
245
|
+
Stripe, the payment database, namespace storage and VM hosts are separate
|
|
246
|
+
systems. The whole network operation is not one distributed transaction:
|
|
247
|
+
receipts and cycle checkpoints make retries safe, and fresh entitlement/status
|
|
248
|
+
reads prevent a checkout redirect from granting access before fulfillment.
|
|
249
|
+
|
|
189
250
|
### Inspect a reseller checkout
|
|
190
251
|
|
|
191
252
|
```
|
|
@@ -223,7 +284,7 @@ Requires an `admin` or `billing` credential. Looks up both owner and namespace b
|
|
|
223
284
|
|
|
224
285
|
`fulfilled` means initial processing finished; always inspect the net credit fields and `fulfillmentStatus` for `partially_refunded`, `refunded` or `disputed`. Use `GET /billing/entitlement` and `/billing/balance` for current access. The lookup describes the checkout's initial payment, not its later renewal invoices. Reseller subscriptions also expose `offer` and `metadata` through `GET /billing/subscription`; their `tierId` is `reseller` and does not upgrade owner capacity.
|
|
225
286
|
|
|
226
|
-
Custom `payment.succeeded`, `subscription.renewed` and `entitlement.changed` events include `orgRef`, `namespace`, `kind`, `checkoutId`, `paymentId`, saved `offer`, application `metadata`, `amount: { unitAmount, currency }`, net `walletCredits` and `namespaceCredits`. Fulfillment uses stable receipt-based event IDs. Verify the raw-body HMAC, deduplicate by event ID, then re-read entitlement to handle reordering.
|
|
287
|
+
Custom `payment.succeeded`, `subscription.renewed` and `entitlement.changed` events include `orgRef`, `namespace`, `kind`, `checkoutId`, `paymentId`, saved `offer`, application `metadata`, `amount: { unitAmount, currency }`, net `walletCredits` and `namespaceCredits`. Fulfillment uses stable receipt-based event IDs. Verify the raw-body HMAC, deduplicate by event ID, then re-read entitlement to handle reordering. Financial billing events are committed to a durable outbox with retries. Keep reconciliation polling to handle delayed or exhausted delivery and event reordering.
|
|
227
288
|
|
|
228
289
|
### Useful checkout and portal errors
|
|
229
290
|
|
|
@@ -256,3 +317,69 @@ Billing responses include a safe diagnostic code and message. Internal failures
|
|
|
256
317
|
Supplied checkout and portal return URLs must be HTTPS and allowlisted. An invalid host returns an error; it is not silently replaced. Omitted URLs use the platform default. Retrying payment creation must reuse the original idempotency key.
|
|
257
318
|
|
|
258
319
|
SDK 2.4.0 adds typed `offer`/`metadata` and `client.billing.checkoutStatus(namespace, checkoutId)`. For a complete customer onboarding, resource-limit, VM creation and signed webhook walkthrough, see [Build a SaaS or VM reseller](https://oblien.com/docs/saas-reselling).
|
|
320
|
+
|
|
321
|
+
|
|
322
|
+
## Promotion codes
|
|
323
|
+
|
|
324
|
+
Stripe-hosted checkout is the default for namespaces and Oblien account purchases/subscriptions, with code entry enabled. Use `checkoutMode: 'stripe'` (or omit it) for native Stripe promotion codes; use `checkoutMode: 'oblien'` for the custom page and scoped, capped Oblien-admin codes. `allowPromotionCodes: false` hides and disables code entry in either mode.
|
|
325
|
+
|
|
326
|
+
| Options | Destination | Code rules |
|
|
327
|
+
|---|---|---|
|
|
328
|
+
| Omitted, or `checkoutMode: 'stripe', allowPromotionCodes: true` | Direct Stripe Checkout | Stripe promotion codes and their restrictions |
|
|
329
|
+
| `checkoutMode: 'stripe', allowPromotionCodes: false` | Direct Stripe Checkout | Code entry disabled |
|
|
330
|
+
| `checkoutMode: 'oblien', allowPromotionCodes: true` | Custom Oblien page, then Stripe | Oblien-admin owner/namespace scopes and capped percentages |
|
|
331
|
+
| `checkoutMode: 'oblien', allowPromotionCodes: false` | Custom Oblien page, then Stripe | Code entry disabled |
|
|
332
|
+
|
|
333
|
+
Platform operators issue native coupons and promotion codes in Stripe Dashboard, in the same test/live mode as the checkout. Stripe controls coupon duration, expiry, total redemptions, minimum purchase, and Stripe-customer restrictions. A `once` coupon discounts the first subscription payment; repeating or forever coupons also apply to eligible renewals. Stripe metadata cannot enforce an Oblien owner/namespace audience list or dollar-capped percentages. Choose the custom mode for those controls. Stripe codes and Oblien Admin codes are separate.
|
|
334
|
+
|
|
335
|
+
Choose the checkout experience on your server:
|
|
336
|
+
|
|
337
|
+
```typescript
|
|
338
|
+
const { url, checkoutId } = await client.billing.checkout({
|
|
339
|
+
namespace: customer.namespace, // Resolve from your authenticated customer.
|
|
340
|
+
kind: 'subscription',
|
|
341
|
+
billingInterval: 'monthly',
|
|
342
|
+
offer: {
|
|
343
|
+
reference: 'starter-v1', name: 'Starter', description: 'Your chosen CPU-minute allowance',
|
|
344
|
+
unitAmount: 1000, currency: 'usd', credits: 100,
|
|
345
|
+
policy: { overdraft: 0, suspendThreshold: 0, onOverdraftAction: 'stop_workspaces' },
|
|
346
|
+
resourceLimits: { max_workspaces: 3 },
|
|
347
|
+
},
|
|
348
|
+
checkoutMode: 'stripe', // Default; use 'oblien' for the custom page.
|
|
349
|
+
allowPromotionCodes: true, // Default; false disables code entry.
|
|
350
|
+
successUrl: 'https://your-app.com/billing?checkout={CHECKOUT_SESSION_ID}',
|
|
351
|
+
cancelUrl: 'https://your-app.com/billing',
|
|
352
|
+
idempotencyKey: `checkout-${order.id}`,
|
|
353
|
+
});
|
|
354
|
+
// Save checkoutId with the customer/order and redirect to url unchanged.
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
`checkoutMode` accepts only `stripe` or `oblien`. `allowPromotionCodes` is a strict boolean and defaults to `true` in both modes. The request cannot issue codes, override eligibility, choose a coupon, or supply a discount amount. Enterprise reseller eligibility and saved quotas/resource caps still apply. Use a new idempotency key when changing checkout options.
|
|
358
|
+
|
|
359
|
+
The same options apply to account `POST /credits/purchase` and `POST /credits/subscribe`. `GET /billing/catalog` advertises `promotions.defaultCheckoutMode: "stripe"`, `checkoutModes: ["stripe", "oblien"]`, `customerEntry: "stripe_hosted"`, `preservesCredits`, `canDisable`, and the scoped/capped custom capabilities under `promotions.custom`. No SDK update is required to receive the server default; the new SDK types expose the explicit mode option.
|
|
360
|
+
|
|
361
|
+
The default response points directly to `https://checkout.stripe.com/...`. Explicit custom mode returns `https://api.oblien.com/billing/pay#<capability>`. Either mode can return an ID starting with `bco_`; the ID prefix does not identify the page host. Treat both checkout IDs and returned URLs as opaque; do not require a Stripe `cs_` ID. If enforcing a redirect allowlist, allow HTTPS on `api.oblien.com` with exactly `/billing/pay`, no query, credentials or custom port, and a 43-character base64url fragment, as well as your existing Stripe checkout host. Never log the capability or put it in analytics. It grants access to one checkout, not a billing portal or account. The page removes the fragment from the address bar and uses no login-cookie authority.
|
|
362
|
+
|
|
363
|
+
The `{CHECKOUT_SESSION_ID}` return placeholder is replaced with the same public checkout ID that was saved with the order. `billing.checkoutStatus(namespace, checkoutId)` and signed billing events retain that ID. A browser return is not payment proof: use the verified payment event and re-read status/entitlement.
|
|
364
|
+
|
|
365
|
+
### Custom-page administrator rules
|
|
366
|
+
|
|
367
|
+
For `checkoutMode: "oblien"`, create, inspect usage, or disable a promotion at **https://admin.oblien.com/promotions**. Only platform operators with `promotions.manage` can create or disable codes, using the existing MFA, idempotent operation queue and audit trail.
|
|
368
|
+
|
|
369
|
+
Rules include fixed USD amount or percentage plus a required USD cap; minimum purchase; start and expiry; finite total uses; optional uses per owner and per namespace; eligible owner IDs or all owners; account/namespace/both scope; and top-up/subscription checkout kinds. A code for owner `80` in namespace scope can be used only for namespaces under owner `80`. To allow multiple reseller customers, avoid a per-owner limit of one; use per-namespace limits and a bounded total. Rules are immutable; disable a campaign and create a new code to change them. Test and live campaigns are isolated, including queued admin creation.
|
|
370
|
+
|
|
371
|
+
### Financial treatment
|
|
372
|
+
|
|
373
|
+
Custom-page promotions apply to the **first payment only**; native Stripe codes follow their coupon duration. Codes do not stack in these checkout flows. Both modes preserve the purchased credit grant. A $10 offer with a 50% promotion charges $5, funds the full 1,000 Oblien wallet credits at the current standard rate, and grants the offer's independently declared 100 namespace credits. Oblien funds the $5 discount; the local receipt retains list price, cash paid and discount. Custom campaigns have local campaign IDs; native promotion details remain linked through the Stripe payment record. With a once coupon, subsequent renewals charge $10 and grant the normal credits/quotas. Any admin-approved plan change uses its separately saved renewal price and credit terms. A namespace payment never subscribes the reseller's owner account to the namespace plan.
|
|
374
|
+
|
|
375
|
+
The discount cannot exceed the price. A resulting USD total must be zero or at least $0.50. A zero total requires a verified completed Stripe checkout marked paid or no-payment-required; an unpaid or open session never grants credits. This is a promotional subsidy, not test credit.
|
|
376
|
+
|
|
377
|
+
### Retries, expiry and refunds
|
|
378
|
+
|
|
379
|
+
On the custom page, previewing a code consumes no use. Confirming locks the campaign and reserves one use with an immutable checkout selection. The reservation counts against all applicable limits immediately, including concurrent checkouts. The payment session lasts 45 minutes; disabling or expiring a code stops new reservations but honors already reserved payments until their payment session expires. Unstarted links expire after 24 hours. The recovery worker releases abandoned reservations only after confirming that payment is no longer possible.
|
|
380
|
+
|
|
381
|
+
In both modes, the verified payment receipt, wallet credit, namespace allowance/cycle, saved resource policy and billing-event outbox commit in the financial transaction. Custom campaign redemption participates in the same transaction; Stripe manages native code eligibility/redemption. Stripe-hosted payment sessions expire after 45 minutes. Replayed provider events cannot grant twice. External Stripe calls are recovered with stable idempotency keys and provider reads; they do not form a distributed SQL transaction.
|
|
382
|
+
|
|
383
|
+
Refund only the cash actually collected through Stripe's authorized refund controls. Credits, including the funded discount, are reversed proportionally: refunding all $5 above reverses the full 1,000 wallet credits and the corresponding 100 namespace credits. Reversing an old subscription payment cannot reduce a later cycle's allowance. Refunds and disputes retain the original code use. Oblien's admin promotion page does not initiate cash refunds.
|
|
384
|
+
|
|
385
|
+
Errors use `{ success:false, code, message, requestId }`, with safe diagnostic details when available. Custom-page codes include `promotion_unavailable`, `promotion_expired`, `promotion_limit_reached`, `promotion_minimum_amount`, `promotion_payment_too_small`, `checkout_already_started`, `checkout_expired`, and `checkout_rate_limit`. Do not retry a changed selection under the same checkout ID: continue the saved payment or start a new checkout with a new idempotency key.
|
package/docs/desktop.md
CHANGED
|
@@ -26,6 +26,38 @@ Creation accepts `config.desktop: { enabled: true }`. Live changes use these
|
|
|
26
26
|
methods without changing CPU, RAM or boot settings. `forTarget()` changes command
|
|
27
27
|
and file targets, while desktop continues to address the workspace image.
|
|
28
28
|
|
|
29
|
+
## Add desktop
|
|
30
|
+
|
|
31
|
+
Ubuntu 24.04/26.04 and Debian 13 offer prepared Cinnamon layers. Discover choices
|
|
32
|
+
from the owned workspace, then add the selected desktop:
|
|
33
|
+
|
|
34
|
+
```ts
|
|
35
|
+
const desktop = client.workspace(workspaceId).desktop;
|
|
36
|
+
const installation = await desktop.installation();
|
|
37
|
+
if (installation.choices?.length) {
|
|
38
|
+
await desktop.install({ desktop: installation.choices[0].id, restart: true });
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
`restart: true` explicitly permits restarting a running workspace. Stopped
|
|
43
|
+
workspaces stay stopped. Poll `installation()` while `phase === 'installing'`;
|
|
44
|
+
`stage` describes progress. Completion is `ready`, or `stopped` with
|
|
45
|
+
`installed: true`. Failures include `error`; retry after fixing the cause.
|
|
46
|
+
An explicit Stop cancels the preparer's deferred restart.
|
|
47
|
+
|
|
48
|
+
After preparation, obtain the current connection with
|
|
49
|
+
`await client.workspace(workspaceId).runtime()`. Recreate any Runtime object or
|
|
50
|
+
stream held across the restart, as with an ordinary workspace restart.
|
|
51
|
+
|
|
52
|
+
Prepared programs are shared read-only with private profiles and writes. There
|
|
53
|
+
are no per-workspace downloads, public desktop disk IDs or extra image names.
|
|
54
|
+
Creation with `config.desktop.enabled: true` attaches before first boot and
|
|
55
|
+
honors normal `wait_ready`. Compatible custom/application images without a
|
|
56
|
+
prepared choice still support `install()` using the download-based recipe.
|
|
57
|
+
|
|
58
|
+
Use `client.disks.listSoftware({ workspace_id: workspaceId })` to browse software
|
|
59
|
+
compatible with a workspace's base OS. Desktop artifacts remain internal.
|
|
60
|
+
|
|
29
61
|
## CLI
|
|
30
62
|
|
|
31
63
|
The desktop-enabled 2.3.2 build is an official downloadable package:
|