oblien 1.2.7 → 2.0.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.
Files changed (171) hide show
  1. package/dist/client.d.ts +31 -0
  2. package/dist/client.d.ts.map +1 -0
  3. package/dist/client.js +33 -0
  4. package/dist/client.js.map +1 -0
  5. package/dist/error.d.ts +29 -0
  6. package/dist/error.d.ts.map +1 -0
  7. package/dist/error.js +52 -0
  8. package/dist/error.js.map +1 -0
  9. package/dist/http.d.ts +20 -0
  10. package/dist/http.d.ts.map +1 -0
  11. package/dist/http.js +108 -0
  12. package/dist/http.js.map +1 -0
  13. package/dist/index.d.ts +8 -0
  14. package/dist/index.d.ts.map +1 -0
  15. package/dist/index.js +10 -0
  16. package/dist/index.js.map +1 -0
  17. package/dist/resources/api-access.d.ts +21 -0
  18. package/dist/resources/api-access.d.ts.map +1 -0
  19. package/dist/resources/api-access.js +32 -0
  20. package/dist/resources/api-access.js.map +1 -0
  21. package/dist/resources/base.d.ts +17 -0
  22. package/dist/resources/base.d.ts.map +1 -0
  23. package/dist/resources/base.js +21 -0
  24. package/dist/resources/base.js.map +1 -0
  25. package/dist/resources/images.d.ts +11 -0
  26. package/dist/resources/images.d.ts.map +1 -0
  27. package/dist/resources/images.js +16 -0
  28. package/dist/resources/images.js.map +1 -0
  29. package/dist/resources/lifecycle.d.ts +23 -0
  30. package/dist/resources/lifecycle.d.ts.map +1 -0
  31. package/dist/resources/lifecycle.js +32 -0
  32. package/dist/resources/lifecycle.js.map +1 -0
  33. package/dist/resources/logs.d.ts +25 -0
  34. package/dist/resources/logs.d.ts.map +1 -0
  35. package/dist/resources/logs.js +51 -0
  36. package/dist/resources/logs.js.map +1 -0
  37. package/dist/resources/metadata.d.ts +15 -0
  38. package/dist/resources/metadata.d.ts.map +1 -0
  39. package/dist/resources/metadata.js +20 -0
  40. package/dist/resources/metadata.js.map +1 -0
  41. package/dist/resources/metrics.d.ts +17 -0
  42. package/dist/resources/metrics.d.ts.map +1 -0
  43. package/dist/resources/metrics.js +27 -0
  44. package/dist/resources/metrics.js.map +1 -0
  45. package/dist/resources/network.d.ts +17 -0
  46. package/dist/resources/network.d.ts.map +1 -0
  47. package/dist/resources/network.js +20 -0
  48. package/dist/resources/network.js.map +1 -0
  49. package/dist/resources/public-access.d.ts +15 -0
  50. package/dist/resources/public-access.d.ts.map +1 -0
  51. package/dist/resources/public-access.js +21 -0
  52. package/dist/resources/public-access.js.map +1 -0
  53. package/dist/resources/resources.d.ts +15 -0
  54. package/dist/resources/resources.d.ts.map +1 -0
  55. package/dist/resources/resources.js +20 -0
  56. package/dist/resources/resources.js.map +1 -0
  57. package/dist/resources/snapshots.d.ts +27 -0
  58. package/dist/resources/snapshots.d.ts.map +1 -0
  59. package/dist/resources/snapshots.js +45 -0
  60. package/dist/resources/snapshots.js.map +1 -0
  61. package/dist/resources/ssh.d.ts +19 -0
  62. package/dist/resources/ssh.d.ts.map +1 -0
  63. package/dist/resources/ssh.js +28 -0
  64. package/dist/resources/ssh.js.map +1 -0
  65. package/dist/resources/usage.d.ts +25 -0
  66. package/dist/resources/usage.d.ts.map +1 -0
  67. package/dist/resources/usage.js +44 -0
  68. package/dist/resources/usage.js.map +1 -0
  69. package/dist/resources/workloads.d.ts +39 -0
  70. package/dist/resources/workloads.d.ts.map +1 -0
  71. package/dist/resources/workloads.js +83 -0
  72. package/dist/resources/workloads.js.map +1 -0
  73. package/dist/runtime/exec.d.ts +71 -0
  74. package/dist/runtime/exec.d.ts.map +1 -0
  75. package/dist/runtime/exec.js +163 -0
  76. package/dist/runtime/exec.js.map +1 -0
  77. package/dist/runtime/files.d.ts +39 -0
  78. package/dist/runtime/files.d.ts.map +1 -0
  79. package/dist/runtime/files.js +143 -0
  80. package/dist/runtime/files.js.map +1 -0
  81. package/dist/runtime/search.d.ts +23 -0
  82. package/dist/runtime/search.d.ts.map +1 -0
  83. package/dist/runtime/search.js +65 -0
  84. package/dist/runtime/search.js.map +1 -0
  85. package/dist/runtime/terminal.d.ts +29 -0
  86. package/dist/runtime/terminal.d.ts.map +1 -0
  87. package/dist/runtime/terminal.js +58 -0
  88. package/dist/runtime/terminal.js.map +1 -0
  89. package/dist/runtime/watcher.d.ts +27 -0
  90. package/dist/runtime/watcher.d.ts.map +1 -0
  91. package/dist/runtime/watcher.js +53 -0
  92. package/dist/runtime/watcher.js.map +1 -0
  93. package/dist/runtime/ws.d.ts +92 -0
  94. package/dist/runtime/ws.d.ts.map +1 -0
  95. package/dist/runtime/ws.js +228 -0
  96. package/dist/runtime/ws.js.map +1 -0
  97. package/dist/runtime-http.d.ts +35 -0
  98. package/dist/runtime-http.d.ts.map +1 -0
  99. package/dist/runtime-http.js +99 -0
  100. package/dist/runtime-http.js.map +1 -0
  101. package/dist/runtime.d.ts +77 -0
  102. package/dist/runtime.d.ts.map +1 -0
  103. package/dist/runtime.js +97 -0
  104. package/dist/runtime.js.map +1 -0
  105. package/dist/types/client.d.ts +7 -0
  106. package/dist/types/client.d.ts.map +1 -0
  107. package/dist/types/client.js +3 -0
  108. package/dist/types/client.js.map +1 -0
  109. package/dist/types/common.d.ts +13 -0
  110. package/dist/types/common.d.ts.map +1 -0
  111. package/dist/types/common.js +3 -0
  112. package/dist/types/common.js.map +1 -0
  113. package/dist/types/index.d.ts +8 -0
  114. package/dist/types/index.d.ts.map +1 -0
  115. package/dist/types/index.js +2 -0
  116. package/dist/types/index.js.map +1 -0
  117. package/dist/types/network.d.ts +15 -0
  118. package/dist/types/network.d.ts.map +1 -0
  119. package/dist/types/network.js +3 -0
  120. package/dist/types/network.js.map +1 -0
  121. package/dist/types/resources.d.ts +10 -0
  122. package/dist/types/resources.d.ts.map +1 -0
  123. package/dist/types/resources.js +3 -0
  124. package/dist/types/resources.js.map +1 -0
  125. package/dist/types/runtime.d.ts +302 -0
  126. package/dist/types/runtime.d.ts.map +1 -0
  127. package/dist/types/runtime.js +3 -0
  128. package/dist/types/runtime.js.map +1 -0
  129. package/dist/types/workspace-resources.d.ts +186 -0
  130. package/dist/types/workspace-resources.d.ts.map +1 -0
  131. package/dist/types/workspace-resources.js +3 -0
  132. package/dist/types/workspace-resources.js.map +1 -0
  133. package/dist/types/workspace.d.ts +41 -0
  134. package/dist/types/workspace.d.ts.map +1 -0
  135. package/dist/types/workspace.js +3 -0
  136. package/dist/types/workspace.js.map +1 -0
  137. package/dist/workspace.d.ts +135 -0
  138. package/dist/workspace.d.ts.map +1 -0
  139. package/dist/workspace.js +194 -0
  140. package/dist/workspace.js.map +1 -0
  141. package/package.json +31 -70
  142. package/LICENSE +0 -21
  143. package/README.md +0 -574
  144. package/agents.js +0 -14
  145. package/browser.js +0 -6
  146. package/cdn.js +0 -6
  147. package/chat.js +0 -21
  148. package/credits.js +0 -11
  149. package/icons.js +0 -11
  150. package/index.d.ts +0 -967
  151. package/index.js +0 -63
  152. package/namespaces.js +0 -12
  153. package/sandbox.js +0 -12
  154. package/search.js +0 -11
  155. package/src/agents/agent.js +0 -229
  156. package/src/agents/index.js +0 -212
  157. package/src/agents/settings.js +0 -100
  158. package/src/agents/tools.js +0 -155
  159. package/src/browser/index.js +0 -449
  160. package/src/cdn/index.js +0 -744
  161. package/src/chat/index.js +0 -704
  162. package/src/chat/session.js +0 -93
  163. package/src/client.js +0 -175
  164. package/src/credits/index.js +0 -480
  165. package/src/icons/index.js +0 -185
  166. package/src/namespaces/index.js +0 -225
  167. package/src/namespaces/namespace.js +0 -274
  168. package/src/sandbox/index.js +0 -185
  169. package/src/sandbox/sandbox.js +0 -124
  170. package/src/search/index.js +0 -191
  171. package/src/utils/guest-manager.js +0 -454
@@ -0,0 +1,186 @@
1
+ export interface LifecycleStatus {
2
+ mode?: 'permanent' | 'temporary';
3
+ status?: string;
4
+ restart_policy?: string;
5
+ max_restarts?: number;
6
+ restart_info?: Record<string, unknown> | null;
7
+ ttl?: string | number;
8
+ ttl_action?: 'stop' | 'remove';
9
+ remove_on_exit?: boolean;
10
+ uptime?: number;
11
+ expires_at?: string;
12
+ created_at?: string;
13
+ [key: string]: unknown;
14
+ }
15
+ export interface MakeTemporaryParams {
16
+ ttl?: string | number;
17
+ ttl_action?: 'stop' | 'remove';
18
+ remove_on_exit?: boolean;
19
+ }
20
+ export interface UpdateTtlParams {
21
+ ttl?: string | number;
22
+ ttl_action?: 'stop' | 'remove';
23
+ }
24
+ export interface SshStatus {
25
+ ssh_enabled: boolean;
26
+ ssh_id?: string;
27
+ ssh_password_changed?: boolean;
28
+ connection?: Record<string, unknown>;
29
+ [key: string]: unknown;
30
+ }
31
+ export interface SshPasswordParams {
32
+ password: string;
33
+ user?: string;
34
+ }
35
+ export interface SshKeyParams {
36
+ public_key: string;
37
+ user?: string;
38
+ }
39
+ export interface PublicAccessPort {
40
+ port: number;
41
+ label?: string;
42
+ url?: string;
43
+ [key: string]: unknown;
44
+ }
45
+ export interface ExposePortParams {
46
+ port: number;
47
+ label?: string;
48
+ }
49
+ export interface SnapshotParams {
50
+ after?: 'resume' | 'paused' | 'stop';
51
+ }
52
+ export interface ArchiveCreateParams {
53
+ version?: string;
54
+ format?: string;
55
+ vm_paths?: string[];
56
+ exclude_vm_paths?: string[];
57
+ }
58
+ export interface ArchiveInfo {
59
+ version: string;
60
+ [key: string]: unknown;
61
+ }
62
+ export interface WorkloadCreateParams {
63
+ cmd: string[];
64
+ name?: string;
65
+ env?: string[];
66
+ working_dir?: string;
67
+ user?: string;
68
+ restart_policy?: 'never' | 'on-failure' | 'always';
69
+ max_restarts?: number;
70
+ restart_delay?: number;
71
+ restart_backoff?: boolean;
72
+ log_path?: string;
73
+ max_log_size_mb?: number;
74
+ vm_on_exit?: 'pause' | 'stop' | 'exit' | '';
75
+ labels?: Record<string, string>;
76
+ annotations?: Record<string, string>;
77
+ enabled?: boolean;
78
+ id?: string;
79
+ [key: string]: unknown;
80
+ }
81
+ export interface WorkloadUpdateParams {
82
+ name?: string;
83
+ restart_policy?: 'never' | 'on-failure' | 'always';
84
+ max_restarts?: number;
85
+ restart_delay?: number;
86
+ restart_backoff?: boolean;
87
+ vm_on_exit?: string;
88
+ labels?: Record<string, string>;
89
+ annotations?: Record<string, string>;
90
+ [key: string]: unknown;
91
+ }
92
+ export interface WorkloadInfo {
93
+ id: string;
94
+ name?: string;
95
+ status?: string;
96
+ [key: string]: unknown;
97
+ }
98
+ export interface WorkloadListParams {
99
+ states?: string;
100
+ name?: string;
101
+ }
102
+ export interface UsageParams {
103
+ from?: string;
104
+ to?: string;
105
+ tier?: string;
106
+ last?: string;
107
+ all?: boolean;
108
+ }
109
+ export interface UpdateResourcesParams {
110
+ cpus?: number;
111
+ memory_mb?: number;
112
+ writable_size_mb?: number;
113
+ apply?: boolean;
114
+ }
115
+ export interface UpdateMetadataParams {
116
+ metadata: Record<string, string>;
117
+ }
118
+ export interface ApiAccessStatus {
119
+ enabled: boolean;
120
+ token?: string;
121
+ [key: string]: unknown;
122
+ }
123
+ export interface RawTokenResponse {
124
+ token: string;
125
+ ip: string;
126
+ port: number;
127
+ [key: string]: unknown;
128
+ }
129
+ export interface NetworkUpdateParams {
130
+ private_link_ids?: string[];
131
+ allow_internet?: boolean;
132
+ ingress_ports?: number[];
133
+ egress?: string[];
134
+ public_access?: boolean;
135
+ }
136
+ export interface NetworkConfig {
137
+ ip?: string;
138
+ gateway?: string;
139
+ public_access?: boolean;
140
+ allow_internet?: boolean;
141
+ private_links?: Record<string, unknown>[];
142
+ [key: string]: unknown;
143
+ }
144
+ export interface LogsParams {
145
+ source?: string;
146
+ tail_lines?: number;
147
+ }
148
+ export interface LogFile {
149
+ name: string;
150
+ size: number;
151
+ modified?: string;
152
+ }
153
+ export interface LogStreamEvent {
154
+ timestamp?: string;
155
+ message: string;
156
+ [key: string]: unknown;
157
+ }
158
+ export interface ImagesListParams {
159
+ search?: string;
160
+ category?: string;
161
+ }
162
+ export interface StatsEvent {
163
+ cpu_usage?: number;
164
+ memory_usage?: number;
165
+ disk_usage?: number;
166
+ network?: {
167
+ rx: number;
168
+ tx: number;
169
+ };
170
+ timestamp?: string;
171
+ [key: string]: unknown;
172
+ }
173
+ export interface WorkloadStatsEvent {
174
+ workload_id?: string;
175
+ status?: string;
176
+ cpu_usage?: number;
177
+ memory_usage?: number;
178
+ [key: string]: unknown;
179
+ }
180
+ export interface WorkloadLogEntry {
181
+ data?: string;
182
+ stream?: 'stdout' | 'stderr';
183
+ timestamp?: string;
184
+ [key: string]: unknown;
185
+ }
186
+ //# sourceMappingURL=workspace-resources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-resources.d.ts","sourceRoot":"","sources":["../../src/types/workspace-resources.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ // ── Lifecycle ────────────────────────────────────────────────────────
2
+ export {};
3
+ //# sourceMappingURL=workspace-resources.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-resources.js","sourceRoot":"","sources":["../../src/types/workspace-resources.ts"],"names":[],"mappings":"AAAA,wEAAwE"}
@@ -0,0 +1,41 @@
1
+ export interface WorkspaceCreateParams {
2
+ name?: string;
3
+ image?: string;
4
+ config?: Record<string, unknown>;
5
+ namespace?: string;
6
+ type?: string;
7
+ mode?: string;
8
+ resources?: import('./resources.js').ResourceSpec;
9
+ metadata?: Record<string, string>;
10
+ lifecycle?: import('./resources.js').LifecycleSpec;
11
+ network?: import('./network.js').NetworkSpec;
12
+ [key: string]: unknown;
13
+ }
14
+ export interface WorkspaceUpdateParams {
15
+ metadata?: Record<string, string>;
16
+ [key: string]: unknown;
17
+ }
18
+ export interface WorkspaceListParams {
19
+ page?: number;
20
+ limit?: number;
21
+ status?: string;
22
+ mode?: string;
23
+ }
24
+ export interface WorkspaceListResponse {
25
+ success: boolean;
26
+ workspaces: WorkspaceData[];
27
+ total: number;
28
+ page: number;
29
+ limit: number;
30
+ }
31
+ export interface WorkspaceData {
32
+ id: string;
33
+ name?: string;
34
+ status: string;
35
+ image: string;
36
+ namespace?: string;
37
+ created_at: string;
38
+ updated_at: string;
39
+ [key: string]: unknown;
40
+ }
41
+ //# sourceMappingURL=workspace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../src/types/workspace.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,gBAAgB,EAAE,YAAY,CAAC;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,SAAS,CAAC,EAAE,OAAO,gBAAgB,EAAE,aAAa,CAAC;IACnD,OAAO,CAAC,EAAE,OAAO,cAAc,EAAE,WAAW,CAAC;IAC7C,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB"}
@@ -0,0 +1,3 @@
1
+ // ── Workspace ───────────────────────────────────────────────────────
2
+ export {};
3
+ //# sourceMappingURL=workspace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/types/workspace.ts"],"names":[],"mappings":"AAAA,uEAAuE"}
@@ -0,0 +1,135 @@
1
+ import type { HttpClient } from './http.js';
2
+ import { Runtime } from './runtime.js';
3
+ import { LifecycleResource } from './resources/lifecycle.js';
4
+ import { NetworkResource } from './resources/network.js';
5
+ import { SshResource } from './resources/ssh.js';
6
+ import { PublicAccessResource } from './resources/public-access.js';
7
+ import { ResourcesResource } from './resources/resources.js';
8
+ import { SnapshotsResource } from './resources/snapshots.js';
9
+ import { WorkloadsResource } from './resources/workloads.js';
10
+ import { MetricsResource } from './resources/metrics.js';
11
+ import { UsageResource } from './resources/usage.js';
12
+ import { MetadataResource } from './resources/metadata.js';
13
+ import { ApiAccessResource } from './resources/api-access.js';
14
+ import { LogsResource } from './resources/logs.js';
15
+ import { ImagesResource } from './resources/images.js';
16
+ import type { ApiResponse, WorkspaceCreateParams, WorkspaceUpdateParams, WorkspaceListParams, WorkspaceListResponse, WorkspaceData } from './types/index.js';
17
+ /**
18
+ * Workspace operations namespace.
19
+ *
20
+ * Can be obtained two ways — both share the same class:
21
+ *
22
+ * ```ts
23
+ * // Via the client (pre-wired)
24
+ * import Oblien from 'oblien';
25
+ * const client = new Oblien({ clientId, clientSecret });
26
+ * await client.workspaces.create({ image: 'node' });
27
+ *
28
+ * // Standalone
29
+ * import { Workspace } from 'oblien/workspace';
30
+ * const ws = new Workspace(client);
31
+ * await ws.create({ image: 'node' });
32
+ * ```
33
+ */
34
+ export declare class Workspace {
35
+ /** @internal */
36
+ readonly _http: HttpClient;
37
+ private readonly _base;
38
+ /** Cached Runtime instances per workspace ID. */
39
+ private readonly _runtimes;
40
+ /** Lifecycle — permanent/temporary mode, TTL, ping. */
41
+ readonly lifecycle: LifecycleResource;
42
+ /** Network — firewall, private links, public access, outbound IP. */
43
+ readonly network: NetworkResource;
44
+ /** SSH access — enable, disable, set password/key. */
45
+ readonly ssh: SshResource;
46
+ /** Public port access — expose and revoke ports. */
47
+ readonly publicAccess: PublicAccessResource;
48
+ /** Resources — CPU, memory, disk allocation. */
49
+ readonly resources: ResourcesResource;
50
+ /** Snapshots and archives. */
51
+ readonly snapshots: SnapshotsResource;
52
+ /** Managed workloads (long-running processes). */
53
+ readonly workloads: WorkloadsResource;
54
+ /** Monitoring — live stats, VM info/config. */
55
+ readonly metrics: MetricsResource;
56
+ /** Usage tracking — per-workspace and global. */
57
+ readonly usage: UsageResource;
58
+ /** Metadata key-values. */
59
+ readonly metadata: MetadataResource;
60
+ /** Internal API server management — enable, disable, tokens. */
61
+ readonly apiAccess: ApiAccessResource;
62
+ /** Logs — boot logs, command logs. */
63
+ readonly logs: LogsResource;
64
+ /** Image catalog. */
65
+ readonly images: ImagesResource;
66
+ /**
67
+ * @param client - An `Oblien` instance (or any object exposing `_http`).
68
+ */
69
+ constructor(client: {
70
+ _http: HttpClient;
71
+ });
72
+ /** Create a new workspace. */
73
+ create(params?: WorkspaceCreateParams): Promise<WorkspaceData>;
74
+ /** List workspaces with optional pagination / filters. */
75
+ list(params?: WorkspaceListParams): Promise<WorkspaceListResponse>;
76
+ /** Get a single workspace by ID. */
77
+ get(workspaceId: string): Promise<WorkspaceData>;
78
+ /** Update workspace settings. */
79
+ update(workspaceId: string, params: WorkspaceUpdateParams): Promise<WorkspaceData>;
80
+ /** Permanently delete a workspace. */
81
+ delete(workspaceId: string): Promise<ApiResponse>;
82
+ /** Get aggregated workspace details. */
83
+ getDetails(workspaceId: string): Promise<ApiResponse>;
84
+ /** Start a workspace. */
85
+ start(workspaceId: string, params?: {
86
+ force?: boolean;
87
+ }): Promise<ApiResponse>;
88
+ /** Stop a workspace. */
89
+ stop(workspaceId: string): Promise<ApiResponse>;
90
+ /** Restart a workspace. */
91
+ restart(workspaceId: string): Promise<ApiResponse>;
92
+ /** Pause a workspace (preserves memory state). */
93
+ pause(workspaceId: string): Promise<ApiResponse>;
94
+ /** Resume a paused workspace. */
95
+ resume(workspaceId: string): Promise<ApiResponse>;
96
+ /** Keep-alive ping — renews TTL for temporary workspaces. */
97
+ ping(workspaceId: string, params?: {
98
+ ttl_seconds?: number;
99
+ }): Promise<ApiResponse>;
100
+ /** Get resource quota and limits. */
101
+ getQuota(): Promise<ApiResponse>;
102
+ /** Estimate monthly credit usage. */
103
+ getEstimate(params?: {
104
+ cpu?: number;
105
+ ram_mb?: number;
106
+ disk_mb?: number;
107
+ }): Promise<ApiResponse>;
108
+ /**
109
+ * Get a {@link Runtime} handle for a workspace.
110
+ *
111
+ * On first call, enables the internal API server (if needed) and
112
+ * caches the Gateway JWT. Subsequent calls for the same workspace ID
113
+ * return the cached Runtime instantly.
114
+ *
115
+ * Pass `{ force: true }` to bypass the cache and fetch a fresh token
116
+ * (useful when a cached JWT has expired).
117
+ *
118
+ * ```ts
119
+ * const rt = await client.workspaces.runtime('ws_abc');
120
+ * await rt.files.list({ dirPath: '/app' });
121
+ * await rt.exec.run(['npm', 'test']);
122
+ * ```
123
+ */
124
+ runtime(workspaceId: string, options?: {
125
+ force?: boolean;
126
+ }): Promise<Runtime>;
127
+ /**
128
+ * Invalidate the cached Runtime for a workspace.
129
+ * Next call to `runtime()` will fetch a fresh token.
130
+ */
131
+ invalidateRuntime(workspaceId: string): void;
132
+ /** Clear all cached Runtime instances. */
133
+ invalidateAllRuntimes(): void;
134
+ }
135
+ //# sourceMappingURL=workspace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,194 @@
1
+ import { Runtime } from './runtime.js';
2
+ import { LifecycleResource } from './resources/lifecycle.js';
3
+ import { NetworkResource } from './resources/network.js';
4
+ import { SshResource } from './resources/ssh.js';
5
+ import { PublicAccessResource } from './resources/public-access.js';
6
+ import { ResourcesResource } from './resources/resources.js';
7
+ import { SnapshotsResource } from './resources/snapshots.js';
8
+ import { WorkloadsResource } from './resources/workloads.js';
9
+ import { MetricsResource } from './resources/metrics.js';
10
+ import { UsageResource } from './resources/usage.js';
11
+ import { MetadataResource } from './resources/metadata.js';
12
+ import { ApiAccessResource } from './resources/api-access.js';
13
+ import { LogsResource } from './resources/logs.js';
14
+ import { ImagesResource } from './resources/images.js';
15
+ /**
16
+ * Workspace operations namespace.
17
+ *
18
+ * Can be obtained two ways — both share the same class:
19
+ *
20
+ * ```ts
21
+ * // Via the client (pre-wired)
22
+ * import Oblien from 'oblien';
23
+ * const client = new Oblien({ clientId, clientSecret });
24
+ * await client.workspaces.create({ image: 'node' });
25
+ *
26
+ * // Standalone
27
+ * import { Workspace } from 'oblien/workspace';
28
+ * const ws = new Workspace(client);
29
+ * await ws.create({ image: 'node' });
30
+ * ```
31
+ */
32
+ export class Workspace {
33
+ /** @internal */
34
+ _http;
35
+ _base = '/workspace';
36
+ /** Cached Runtime instances per workspace ID. */
37
+ _runtimes = new Map();
38
+ // ── Sub-resource namespaces ───────────────────────────────────────
39
+ /** Lifecycle — permanent/temporary mode, TTL, ping. */
40
+ lifecycle;
41
+ /** Network — firewall, private links, public access, outbound IP. */
42
+ network;
43
+ /** SSH access — enable, disable, set password/key. */
44
+ ssh;
45
+ /** Public port access — expose and revoke ports. */
46
+ publicAccess;
47
+ /** Resources — CPU, memory, disk allocation. */
48
+ resources;
49
+ /** Snapshots and archives. */
50
+ snapshots;
51
+ /** Managed workloads (long-running processes). */
52
+ workloads;
53
+ /** Monitoring — live stats, VM info/config. */
54
+ metrics;
55
+ /** Usage tracking — per-workspace and global. */
56
+ usage;
57
+ /** Metadata key-values. */
58
+ metadata;
59
+ /** Internal API server management — enable, disable, tokens. */
60
+ apiAccess;
61
+ /** Logs — boot logs, command logs. */
62
+ logs;
63
+ /** Image catalog. */
64
+ images;
65
+ /**
66
+ * @param client - An `Oblien` instance (or any object exposing `_http`).
67
+ */
68
+ constructor(client) {
69
+ this._http = client._http;
70
+ this.lifecycle = new LifecycleResource(this._http);
71
+ this.network = new NetworkResource(this._http);
72
+ this.ssh = new SshResource(this._http);
73
+ this.publicAccess = new PublicAccessResource(this._http);
74
+ this.resources = new ResourcesResource(this._http);
75
+ this.snapshots = new SnapshotsResource(this._http);
76
+ this.workloads = new WorkloadsResource(this._http);
77
+ this.metrics = new MetricsResource(this._http);
78
+ this.usage = new UsageResource(this._http);
79
+ this.metadata = new MetadataResource(this._http);
80
+ this.apiAccess = new ApiAccessResource(this._http);
81
+ this.logs = new LogsResource(this._http);
82
+ this.images = new ImagesResource(this._http);
83
+ }
84
+ // ── CRUD ──────────────────────────────────────────────────────────
85
+ /** Create a new workspace. */
86
+ async create(params = {}) {
87
+ const res = await this._http.request({ method: 'POST', path: this._base, body: params });
88
+ return res.workspace;
89
+ }
90
+ /** List workspaces with optional pagination / filters. */
91
+ async list(params = {}) {
92
+ return this._http.request({
93
+ method: 'GET',
94
+ path: this._base,
95
+ query: params,
96
+ });
97
+ }
98
+ /** Get a single workspace by ID. */
99
+ async get(workspaceId) {
100
+ const res = await this._http.request({ method: 'GET', path: `${this._base}/${workspaceId}` });
101
+ return res.workspace;
102
+ }
103
+ /** Update workspace settings. */
104
+ async update(workspaceId, params) {
105
+ const res = await this._http.request({ method: 'PUT', path: `${this._base}/${workspaceId}`, body: params });
106
+ return res.workspace;
107
+ }
108
+ /** Permanently delete a workspace. */
109
+ async delete(workspaceId) {
110
+ return this._http.request({ method: 'DELETE', path: `${this._base}/${workspaceId}` });
111
+ }
112
+ /** Get aggregated workspace details. */
113
+ async getDetails(workspaceId) {
114
+ return this._http.request({ method: 'GET', path: `${this._base}/${workspaceId}/details` });
115
+ }
116
+ // ── Power / lifecycle shortcuts ───────────────────────────────────
117
+ /** Start a workspace. */
118
+ async start(workspaceId, params) {
119
+ return this._http.request({ method: 'POST', path: `${this._base}/${workspaceId}/start`, body: params });
120
+ }
121
+ /** Stop a workspace. */
122
+ async stop(workspaceId) {
123
+ return this._http.request({ method: 'POST', path: `${this._base}/${workspaceId}/stop` });
124
+ }
125
+ /** Restart a workspace. */
126
+ async restart(workspaceId) {
127
+ return this._http.request({ method: 'POST', path: `${this._base}/${workspaceId}/restart` });
128
+ }
129
+ /** Pause a workspace (preserves memory state). */
130
+ async pause(workspaceId) {
131
+ return this._http.request({ method: 'POST', path: `${this._base}/${workspaceId}/pause` });
132
+ }
133
+ /** Resume a paused workspace. */
134
+ async resume(workspaceId) {
135
+ return this._http.request({ method: 'POST', path: `${this._base}/${workspaceId}/resume` });
136
+ }
137
+ /** Keep-alive ping — renews TTL for temporary workspaces. */
138
+ async ping(workspaceId, params) {
139
+ return this._http.request({ method: 'POST', path: `${this._base}/${workspaceId}/ping`, body: params });
140
+ }
141
+ // ── Account-level queries ─────────────────────────────────────────
142
+ /** Get resource quota and limits. */
143
+ async getQuota() {
144
+ return this._http.request({ method: 'GET', path: `${this._base}/quota` });
145
+ }
146
+ /** Estimate monthly credit usage. */
147
+ async getEstimate(params) {
148
+ return this._http.request({
149
+ method: 'GET',
150
+ path: `${this._base}/estimate`,
151
+ query: params,
152
+ });
153
+ }
154
+ // ── Runtime (data plane) ──────────────────────────────────────────
155
+ /**
156
+ * Get a {@link Runtime} handle for a workspace.
157
+ *
158
+ * On first call, enables the internal API server (if needed) and
159
+ * caches the Gateway JWT. Subsequent calls for the same workspace ID
160
+ * return the cached Runtime instantly.
161
+ *
162
+ * Pass `{ force: true }` to bypass the cache and fetch a fresh token
163
+ * (useful when a cached JWT has expired).
164
+ *
165
+ * ```ts
166
+ * const rt = await client.workspaces.runtime('ws_abc');
167
+ * await rt.files.list({ dirPath: '/app' });
168
+ * await rt.exec.run(['npm', 'test']);
169
+ * ```
170
+ */
171
+ async runtime(workspaceId, options) {
172
+ if (!options?.force) {
173
+ const cached = this._runtimes.get(workspaceId);
174
+ if (cached)
175
+ return cached;
176
+ }
177
+ const access = await this.apiAccess.enable(workspaceId);
178
+ const rt = new Runtime({ token: access.token });
179
+ this._runtimes.set(workspaceId, rt);
180
+ return rt;
181
+ }
182
+ /**
183
+ * Invalidate the cached Runtime for a workspace.
184
+ * Next call to `runtime()` will fetch a fresh token.
185
+ */
186
+ invalidateRuntime(workspaceId) {
187
+ this._runtimes.delete(workspaceId);
188
+ }
189
+ /** Clear all cached Runtime instances. */
190
+ invalidateAllRuntimes() {
191
+ this._runtimes.clear();
192
+ }
193
+ }
194
+ //# sourceMappingURL=workspace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"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"}