@solarisdk/core 0.3.1 → 0.4.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/README.md +4 -0
- package/dist/chunked-download.d.ts +0 -1
- package/dist/chunked-download.js +0 -11
- package/dist/desktop.d.ts +0 -1
- package/dist/desktop.js +0 -52
- package/dist/errors.d.ts +10 -1
- package/dist/errors.js +16 -39
- package/dist/handle.d.ts +7 -1
- package/dist/handle.js +87 -235
- package/dist/http.d.ts +2 -1
- package/dist/http.js +1 -49
- package/dist/ids.d.ts +0 -1
- package/dist/ids.js +0 -6
- package/dist/image.d.ts +0 -1
- package/dist/image.js +0 -40
- package/dist/index.d.ts +3 -4
- package/dist/index.js +3 -5
- package/dist/sandbox.d.ts +0 -1
- package/dist/sandbox.js +0 -6
- package/dist/template-client.d.ts +0 -1
- package/dist/template-client.js +3 -27
- package/dist/transport.d.ts +9 -2
- package/dist/transport.js +64 -102
- package/dist/types.d.ts +19 -7
- package/dist/types.js +0 -7
- package/dist/volume-client.d.ts +0 -1
- package/dist/volume-client.js +0 -17
- package/dist/ws.d.ts +0 -1
- package/dist/ws.js +0 -16
- package/package.json +4 -3
- package/dist/chunked-download.d.ts.map +0 -1
- package/dist/chunked-download.js.map +0 -1
- package/dist/desktop.d.ts.map +0 -1
- package/dist/desktop.js.map +0 -1
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js.map +0 -1
- package/dist/handle.d.ts.map +0 -1
- package/dist/handle.js.map +0 -1
- package/dist/http.d.ts.map +0 -1
- package/dist/http.js.map +0 -1
- package/dist/ids.d.ts.map +0 -1
- package/dist/ids.js.map +0 -1
- package/dist/image.d.ts.map +0 -1
- package/dist/image.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/sandbox.d.ts.map +0 -1
- package/dist/sandbox.js.map +0 -1
- package/dist/template-client.d.ts.map +0 -1
- package/dist/template-client.js.map +0 -1
- package/dist/transport.d.ts.map +0 -1
- package/dist/transport.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/volume-client.d.ts.map +0 -1
- package/dist/volume-client.js.map +0 -1
- package/dist/ws.d.ts.map +0 -1
- package/dist/ws.js.map +0 -1
package/dist/transport.js
CHANGED
|
@@ -1,36 +1,11 @@
|
|
|
1
|
-
// `ControlChannel` — the shared control-WebSocket transport used by both
|
|
2
|
-
// {@link Sandbox} and {@link Desktop}.
|
|
3
|
-
//
|
|
4
|
-
// Wire protocol over the control WS is newline-delimited JSON. THREE kinds of
|
|
5
|
-
// frame travel on the same socket and must be dispatched by SHAPE, not by an
|
|
6
|
-
// assumption of one-reply-per-request:
|
|
7
|
-
//
|
|
8
|
-
// 1. JSON-RPC reply `{id, ok, result?|error?}` — resolves the call `id`.
|
|
9
|
-
// 2. v1 streamed exec `{id, stream:"stdout"|"stderr", data}` — routed to
|
|
10
|
-
// the per-`id` stream handler; the terminal frame is a normal reply (1).
|
|
11
|
-
// 3. v2 async STREAM frame `{type:"cmd.data"|"cmd.exit"|"pty.data"|"fs.event",
|
|
12
|
-
// cmdId|ptyId|watchId, ...}` — these are NOT correlated to a request id;
|
|
13
|
-
// they are dispatched by `type` to a handler keyed on the stream's own id
|
|
14
|
-
// (cmdId/ptyId/watchId). `cmd.exit` is terminal for a started command.
|
|
15
|
-
//
|
|
16
|
-
// The channel owns reconnection-friendly state (pending map, stream handlers,
|
|
17
|
-
// frame handlers) so handles can layer ergonomic methods on top.
|
|
18
1
|
import { ActionError, ConnectionError, SolariError, TimeoutError, } from "./errors.js";
|
|
19
2
|
import { openWebSocket } from "./ws.js";
|
|
20
3
|
const DEFAULT_CALL_TIMEOUT_MS = 300_000;
|
|
21
4
|
const CONNECT_TIMEOUT_MS = 15_000;
|
|
22
|
-
// A freshly created/restored session's control WS can transiently fail its
|
|
23
|
-
// upstream handshake: right after a snapshot restore the guest accepts only ONE
|
|
24
|
-
// vsock control connection at a time for a brief window, so the host can answer
|
|
25
|
-
// a concurrent /control upgrade with a 502 `guest_unreachable` while it's busy
|
|
26
|
-
// (e.g. tearing down sibling sessions). The VM is live and billable — a blip
|
|
27
|
-
// like that must not be fatal. Retry a fast-failing connect a couple of times
|
|
28
|
-
// with short backoff; the next attempt lands on a now-ready guest. We do NOT
|
|
29
|
-
// retry a full connect TIMEOUT (that's a genuinely hung dial, not a transient).
|
|
30
5
|
const CONNECT_MAX_ATTEMPTS = 3;
|
|
31
6
|
const CONNECT_RETRY_BASE_MS = 150;
|
|
32
7
|
const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
|
|
33
|
-
|
|
8
|
+
const DEFAULT_IDLE_CLOSE_MS = 3000;
|
|
34
9
|
export class ControlChannel {
|
|
35
10
|
controlUrl;
|
|
36
11
|
ws = null;
|
|
@@ -39,46 +14,28 @@ export class ControlChannel {
|
|
|
39
14
|
nextId = 1;
|
|
40
15
|
pending = new Map();
|
|
41
16
|
streamHandlers = new Map();
|
|
42
|
-
/** v2 async frame handlers keyed by `type` then by stream-id. */
|
|
43
17
|
frameHandlers = new Map();
|
|
44
|
-
/**
|
|
45
|
-
* Frames that arrived before their handler was registered, keyed by
|
|
46
|
-
* `type streamId`. The guest can stream `cmd.data`/`cmd.exit` onto the
|
|
47
|
-
* wire BEFORE the `cmd.start` reply (the output pumps start before the reply
|
|
48
|
-
* is sent), so frames routinely beat the caller's onFrame() registration.
|
|
49
|
-
* We stash them here and flush on registration so no early output is lost.
|
|
50
|
-
* Bounded to avoid unbounded growth from frames whose handler never arrives.
|
|
51
|
-
*/
|
|
52
18
|
orphanFrames = new Map();
|
|
53
19
|
orphanCount = 0;
|
|
54
20
|
static MAX_ORPHAN_FRAMES = 1024;
|
|
55
|
-
/**
|
|
56
|
-
* Per-stream "the channel closed" callbacks, keyed by stream id (cmdId/ptyId).
|
|
57
|
-
* A long-running `commands.run` awaits an exit that arrives as an async frame,
|
|
58
|
-
* NOT a pending RPC reply — so a channel drop must reject it through here, or
|
|
59
|
-
* `wait()` hangs forever.
|
|
60
|
-
*/
|
|
61
21
|
streamClosers = new Map();
|
|
62
22
|
callTimeoutMs;
|
|
23
|
+
idleCloseMs;
|
|
24
|
+
idleTimer;
|
|
63
25
|
headers;
|
|
64
26
|
closed = false;
|
|
65
27
|
constructor(controlUrl, config = {}) {
|
|
66
28
|
this.controlUrl = controlUrl;
|
|
67
29
|
this.callTimeoutMs = config.callTimeoutMs ?? DEFAULT_CALL_TIMEOUT_MS;
|
|
30
|
+
this.idleCloseMs = config.idleCloseMs ?? DEFAULT_IDLE_CLOSE_MS;
|
|
68
31
|
this.headers = config.headers ?? {};
|
|
69
32
|
}
|
|
70
33
|
get connected() {
|
|
71
34
|
return this.ws?.isOpen ?? false;
|
|
72
35
|
}
|
|
73
|
-
/** Point the channel at a (possibly new) control URL — used by reconnect/resume. */
|
|
74
36
|
setControlUrl(url) {
|
|
75
37
|
this.controlUrl = url;
|
|
76
38
|
}
|
|
77
|
-
/**
|
|
78
|
-
* Open the control WebSocket. Idempotent: concurrent callers share one
|
|
79
|
-
* in-flight connect, and an already-open socket resolves immediately.
|
|
80
|
-
* Transient upstream-handshake failures are retried (see CONNECT_MAX_ATTEMPTS).
|
|
81
|
-
*/
|
|
82
39
|
connect() {
|
|
83
40
|
if (this.connected)
|
|
84
41
|
return Promise.resolve();
|
|
@@ -88,19 +45,17 @@ export class ControlChannel {
|
|
|
88
45
|
this.connecting = this.#connectWithRetry();
|
|
89
46
|
return this.connecting;
|
|
90
47
|
}
|
|
91
|
-
/** Retry a fast-failing connect a few times; surface the last error otherwise. */
|
|
92
48
|
async #connectWithRetry() {
|
|
93
49
|
let lastErr = new ConnectionError("connect failed");
|
|
94
50
|
for (let attempt = 1; attempt <= CONNECT_MAX_ATTEMPTS; attempt++) {
|
|
95
51
|
try {
|
|
96
52
|
await this.#connectOnce();
|
|
97
53
|
this.connecting = null;
|
|
54
|
+
this.#armIdleClose();
|
|
98
55
|
return;
|
|
99
56
|
}
|
|
100
57
|
catch (err) {
|
|
101
58
|
lastErr = err instanceof Error ? err : new ConnectionError(String(err));
|
|
102
|
-
// Give up immediately if the caller closed the channel, or the dial hung
|
|
103
|
-
// to the full timeout (not a transient — retrying just re-hangs).
|
|
104
59
|
if (this.closed || lastErr instanceof TimeoutError)
|
|
105
60
|
break;
|
|
106
61
|
if (attempt < CONNECT_MAX_ATTEMPTS) {
|
|
@@ -111,7 +66,6 @@ export class ControlChannel {
|
|
|
111
66
|
this.connecting = null;
|
|
112
67
|
throw lastErr;
|
|
113
68
|
}
|
|
114
|
-
/** One connect attempt: open the socket, resolve on open, reject on error/timeout. */
|
|
115
69
|
#connectOnce() {
|
|
116
70
|
return new Promise((resolve, reject) => {
|
|
117
71
|
let settled = false;
|
|
@@ -121,6 +75,12 @@ export class ControlChannel {
|
|
|
121
75
|
settled = true;
|
|
122
76
|
reject(new TimeoutError("connect", CONNECT_TIMEOUT_MS));
|
|
123
77
|
}, CONNECT_TIMEOUT_MS);
|
|
78
|
+
let mine = null;
|
|
79
|
+
const current = (fn) => {
|
|
80
|
+
if (mine !== null && mine !== this.ws)
|
|
81
|
+
return;
|
|
82
|
+
fn();
|
|
83
|
+
};
|
|
124
84
|
openWebSocket(this.controlUrl, this.headers, {
|
|
125
85
|
onOpen: () => {
|
|
126
86
|
if (settled)
|
|
@@ -129,9 +89,11 @@ export class ControlChannel {
|
|
|
129
89
|
clearTimeout(timer);
|
|
130
90
|
resolve();
|
|
131
91
|
},
|
|
132
|
-
onMessage: (data) => this.onMessage(data),
|
|
133
|
-
onClose: (code, reason) => this.onClose(code, reason),
|
|
92
|
+
onMessage: (data) => current(() => this.onMessage(data)),
|
|
93
|
+
onClose: (code, reason) => current(() => this.onClose(code, reason)),
|
|
134
94
|
onError: (err) => {
|
|
95
|
+
if (settled && mine !== null && mine !== this.ws)
|
|
96
|
+
return;
|
|
135
97
|
if (!settled) {
|
|
136
98
|
settled = true;
|
|
137
99
|
clearTimeout(timer);
|
|
@@ -140,6 +102,7 @@ export class ControlChannel {
|
|
|
140
102
|
},
|
|
141
103
|
})
|
|
142
104
|
.then((sock) => {
|
|
105
|
+
mine = sock;
|
|
143
106
|
this.ws = sock;
|
|
144
107
|
})
|
|
145
108
|
.catch((err) => {
|
|
@@ -151,41 +114,53 @@ export class ControlChannel {
|
|
|
151
114
|
});
|
|
152
115
|
});
|
|
153
116
|
}
|
|
154
|
-
/**
|
|
155
|
-
* Reconnect the control channel after a drop (re-opens the socket; pending
|
|
156
|
-
* calls were already rejected on close). Stream/frame handlers registered by
|
|
157
|
-
* `commands.start` / `pty.create` survive so callers can re-subscribe.
|
|
158
|
-
*/
|
|
159
117
|
async reconnect() {
|
|
160
118
|
if (this.connected)
|
|
161
119
|
return;
|
|
162
|
-
this.ws
|
|
163
|
-
|
|
120
|
+
if (this.ws) {
|
|
121
|
+
const old = this.ws;
|
|
122
|
+
this.ws = null;
|
|
123
|
+
this.#failAll(new ConnectionError("Control channel replaced by a reconnect"));
|
|
124
|
+
old.close();
|
|
125
|
+
}
|
|
164
126
|
this.connecting = null;
|
|
165
127
|
await this.connect();
|
|
166
128
|
}
|
|
167
|
-
/** Register a "channel closed" callback for a stream id (cmdId/ptyId) so a
|
|
168
|
-
* drop rejects its in-flight wait. Cleared on the stream's terminal frame.
|
|
169
|
-
*
|
|
170
|
-
* If the channel is ALREADY torn down when this is called, fire the callback
|
|
171
|
-
* synchronously instead of storing it — otherwise the wakeup is lost forever.
|
|
172
|
-
* A caller registers this AFTER the `cmd.start` reply resolves; if the channel
|
|
173
|
-
* closed in that window `#failAll` has already drained `streamClosers`, so a
|
|
174
|
-
* late `set()` would sit unreferenced and the command's `wait()` would hang.
|
|
175
|
-
* (In JS's single-threaded loop microtask ordering usually saves us; in the
|
|
176
|
-
* genuinely-concurrent ports it does not — this keeps all bindings identical.) */
|
|
177
129
|
onStreamClose(id, cb) {
|
|
178
130
|
if (this.closed || !this.ws || !this.ws.isOpen) {
|
|
179
131
|
cb(new ConnectionError("Control channel closed"));
|
|
180
132
|
return;
|
|
181
133
|
}
|
|
182
134
|
this.streamClosers.set(id, cb);
|
|
135
|
+
this.#armIdleClose();
|
|
183
136
|
}
|
|
184
|
-
/** Drop a previously-registered stream-close callback (terminal frame seen). */
|
|
185
137
|
offStreamClose(id) {
|
|
186
138
|
this.streamClosers.delete(id);
|
|
139
|
+
this.#armIdleClose();
|
|
140
|
+
}
|
|
141
|
+
#armIdleClose() {
|
|
142
|
+
if (this.idleTimer)
|
|
143
|
+
clearTimeout(this.idleTimer);
|
|
144
|
+
this.idleTimer = undefined;
|
|
145
|
+
if (this.idleCloseMs <= 0 || !this.ws || !this.ws.isOpen)
|
|
146
|
+
return;
|
|
147
|
+
if (this.pending.size > 0 || this.streamClosers.size > 0)
|
|
148
|
+
return;
|
|
149
|
+
for (const m of this.frameHandlers.values())
|
|
150
|
+
if (m.size > 0)
|
|
151
|
+
return;
|
|
152
|
+
this.idleTimer = setTimeout(() => {
|
|
153
|
+
this.idleTimer = undefined;
|
|
154
|
+
if (this.pending.size > 0 || this.streamClosers.size > 0)
|
|
155
|
+
return;
|
|
156
|
+
for (const m of this.frameHandlers.values())
|
|
157
|
+
if (m.size > 0)
|
|
158
|
+
return;
|
|
159
|
+
const ws = this.ws;
|
|
160
|
+
this.ws = null;
|
|
161
|
+
ws?.close();
|
|
162
|
+
}, this.idleCloseMs);
|
|
187
163
|
}
|
|
188
|
-
/** Reject every in-flight call + stream wait and drop all handler state. */
|
|
189
164
|
#failAll(err) {
|
|
190
165
|
for (const p of this.pending.values()) {
|
|
191
166
|
clearTimeout(p.timer);
|
|
@@ -200,16 +175,12 @@ export class ControlChannel {
|
|
|
200
175
|
this.orphanFrames.clear();
|
|
201
176
|
this.orphanCount = 0;
|
|
202
177
|
}
|
|
203
|
-
/** Close the channel and reject any in-flight calls. */
|
|
204
178
|
close() {
|
|
205
179
|
this.closed = true;
|
|
206
180
|
this.#failAll(new ConnectionError("Control channel closed"));
|
|
207
181
|
this.ws?.close();
|
|
208
182
|
this.ws = null;
|
|
209
183
|
}
|
|
210
|
-
// --- async frame subscriptions (v2) --------------------------------------
|
|
211
|
-
/** Register a handler for an async-frame `type` keyed on its stream id.
|
|
212
|
-
* Flushes any frames that arrived before this registration (see orphanFrames). */
|
|
213
184
|
onFrame(type, id, handler) {
|
|
214
185
|
let m = this.frameHandlers.get(type);
|
|
215
186
|
if (!m) {
|
|
@@ -217,6 +188,7 @@ export class ControlChannel {
|
|
|
217
188
|
this.frameHandlers.set(type, m);
|
|
218
189
|
}
|
|
219
190
|
m.set(id, handler);
|
|
191
|
+
this.#armIdleClose();
|
|
220
192
|
const key = type + "\x1f" + id;
|
|
221
193
|
const pending = this.orphanFrames.get(key);
|
|
222
194
|
if (pending) {
|
|
@@ -226,11 +198,10 @@ export class ControlChannel {
|
|
|
226
198
|
handler(f);
|
|
227
199
|
}
|
|
228
200
|
}
|
|
229
|
-
/** Drop a previously-registered async-frame handler. */
|
|
230
201
|
offFrame(type, id) {
|
|
231
202
|
this.frameHandlers.get(type)?.delete(id);
|
|
203
|
+
this.#armIdleClose();
|
|
232
204
|
}
|
|
233
|
-
// --- transport -----------------------------------------------------------
|
|
234
205
|
onMessage(chunk) {
|
|
235
206
|
this.rxBuffer += chunk;
|
|
236
207
|
let nl;
|
|
@@ -247,9 +218,8 @@ export class ControlChannel {
|
|
|
247
218
|
frame = JSON.parse(line);
|
|
248
219
|
}
|
|
249
220
|
catch {
|
|
250
|
-
return;
|
|
221
|
+
return;
|
|
251
222
|
}
|
|
252
|
-
// (3) v2 async STREAM frame: dispatched by `type` + its own stream id.
|
|
253
223
|
if (typeof frame.type === "string") {
|
|
254
224
|
const streamId = frame.cmdId ?? frame.ptyId ?? frame.watchId ?? "";
|
|
255
225
|
const handler = this.frameHandlers.get(frame.type)?.get(streamId);
|
|
@@ -257,8 +227,6 @@ export class ControlChannel {
|
|
|
257
227
|
handler(frame);
|
|
258
228
|
}
|
|
259
229
|
else if (this.orphanCount < ControlChannel.MAX_ORPHAN_FRAMES) {
|
|
260
|
-
// Handler not registered yet — stash for flush on onFrame() (guest can
|
|
261
|
-
// stream output before the start-reply the caller awaits to subscribe).
|
|
262
230
|
const key = frame.type + "\x1f" + streamId;
|
|
263
231
|
let arr = this.orphanFrames.get(key);
|
|
264
232
|
if (!arr) {
|
|
@@ -272,15 +240,12 @@ export class ControlChannel {
|
|
|
272
240
|
}
|
|
273
241
|
if (typeof frame.id !== "string")
|
|
274
242
|
return;
|
|
275
|
-
// (2) v1 streamed-exec frame: route to the per-id stream handler; the call
|
|
276
|
-
// stays pending for its terminal {ok,...} reply.
|
|
277
243
|
if (typeof frame.stream === "string") {
|
|
278
244
|
const h = this.streamHandlers.get(frame.id);
|
|
279
245
|
if (h)
|
|
280
246
|
h({ stream: frame.stream, data: frame.data });
|
|
281
247
|
return;
|
|
282
248
|
}
|
|
283
|
-
// (1) JSON-RPC reply.
|
|
284
249
|
const p = this.pending.get(frame.id);
|
|
285
250
|
if (!p)
|
|
286
251
|
return;
|
|
@@ -297,29 +262,29 @@ export class ControlChannel {
|
|
|
297
262
|
}
|
|
298
263
|
onClose(code, reason) {
|
|
299
264
|
this.ws = null;
|
|
300
|
-
// Always tear down handler state + reject in-flight calls AND stream waits.
|
|
301
|
-
// (Previously this early-returned when no RPC was pending, leaving a
|
|
302
|
-
// command's exit-wait — which is frame-based, not a pending RPC — to hang
|
|
303
|
-
// forever, and stale cmd/pty/orphan handlers registered against a dead VM.)
|
|
304
265
|
this.#failAll(new ConnectionError(`Control channel closed (${code}${reason ? `: ${reason}` : ""})`));
|
|
305
266
|
}
|
|
306
|
-
/** Allocate the next opaque request id (string, per CONTRACTS §4). */
|
|
307
267
|
newId() {
|
|
308
268
|
return String(this.nextId++);
|
|
309
269
|
}
|
|
310
|
-
|
|
311
|
-
* Send one JSON-RPC call and await its correlated reply. `onStream` (v1)
|
|
312
|
-
* receives intermediate `{id, stream, data}` frames for this id until the
|
|
313
|
-
* terminal reply resolves the promise. `id` lets callers pre-allocate the
|
|
314
|
-
* request id (so they can subscribe to v2 async frames keyed on the same id).
|
|
315
|
-
*/
|
|
316
|
-
call(method, params, opts = {}) {
|
|
270
|
+
async call(method, params, opts = {}) {
|
|
317
271
|
if (this.closed) {
|
|
318
|
-
|
|
272
|
+
throw new ConnectionError("Control channel is closed");
|
|
319
273
|
}
|
|
320
274
|
if (!this.ws || !this.ws.isOpen) {
|
|
321
|
-
|
|
275
|
+
await this.connect();
|
|
276
|
+
if (this.closed)
|
|
277
|
+
throw new ConnectionError("Control channel is closed");
|
|
278
|
+
if (!this.ws || !this.ws.isOpen)
|
|
279
|
+
throw new ConnectionError("Not connected — call connect() first");
|
|
322
280
|
}
|
|
281
|
+
if (this.idleTimer)
|
|
282
|
+
clearTimeout(this.idleTimer);
|
|
283
|
+
this.idleTimer = undefined;
|
|
284
|
+
const done = () => this.#armIdleClose();
|
|
285
|
+
return this.#send(method, params, opts).finally(done);
|
|
286
|
+
}
|
|
287
|
+
#send(method, params, opts) {
|
|
323
288
|
const id = opts.id ?? this.newId();
|
|
324
289
|
const frame = JSON.stringify({ id, method, params });
|
|
325
290
|
const timeoutMs = opts.timeoutMs ?? this.callTimeoutMs;
|
|
@@ -358,7 +323,6 @@ function normalizeRpcError(err) {
|
|
|
358
323
|
return { message: err };
|
|
359
324
|
return { message: err.message ?? err.code ?? "Action failed", code: err.code };
|
|
360
325
|
}
|
|
361
|
-
/** Base64 → bytes, working in both Node and the browser. */
|
|
362
326
|
export function base64ToBytes(b64) {
|
|
363
327
|
const g = globalThis;
|
|
364
328
|
if (typeof g.Buffer !== "undefined") {
|
|
@@ -370,7 +334,6 @@ export function base64ToBytes(b64) {
|
|
|
370
334
|
out[i] = bin.charCodeAt(i);
|
|
371
335
|
return out;
|
|
372
336
|
}
|
|
373
|
-
/** Bytes → base64, working in both Node and the browser. */
|
|
374
337
|
export function bytesToBase64(bytes) {
|
|
375
338
|
const g = globalThis;
|
|
376
339
|
if (typeof g.Buffer !== "undefined") {
|
|
@@ -381,4 +344,3 @@ export function bytesToBase64(bytes) {
|
|
|
381
344
|
bin += String.fromCharCode(bytes[i]);
|
|
382
345
|
return g.btoa(bin);
|
|
383
346
|
}
|
|
384
|
-
//# sourceMappingURL=transport.js.map
|
package/dist/types.d.ts
CHANGED
|
@@ -64,7 +64,10 @@ export interface DesktopLifecycleResponse {
|
|
|
64
64
|
export interface CreateDesktopOptions {
|
|
65
65
|
/** Image/template to restore from. Defaults to `"default"`. */
|
|
66
66
|
template?: string;
|
|
67
|
-
/**
|
|
67
|
+
/**
|
|
68
|
+
* Time-to-live in seconds before the gateway auto-releases the session.
|
|
69
|
+
* @deprecated Use {@link idleTimeoutMs} (milliseconds); `idleTimeoutMs` wins when both are set.
|
|
70
|
+
*/
|
|
68
71
|
ttlSeconds?: number;
|
|
69
72
|
/**
|
|
70
73
|
* VM isolation tier. Only `"dedicated"` (default) and `"hardened"` are
|
|
@@ -166,10 +169,7 @@ export type SandboxKind = "sandbox" | "desktop";
|
|
|
166
169
|
* desktops — a desktop's display is per-VM, so the gateway refuses
|
|
167
170
|
* `kind:"desktop"` with `isolation:"shared"`.
|
|
168
171
|
* - `"dedicated"` (default): your own VM.
|
|
169
|
-
* - `"hardened"`: your own VM with outbound network blocked.
|
|
170
|
-
* 2026-09-23 on staging (DNS and direct-IP outbound both timed out from
|
|
171
|
-
* inside a hardened guest, against an identical control sandbox that
|
|
172
|
-
* worked instantly) — not yet independently verified on prod. Not every
|
|
172
|
+
* - `"hardened"`: your own VM with outbound network blocked. Not every
|
|
173
173
|
* host advertises this capability; the gateway refuses with
|
|
174
174
|
* `409 HostCapabilityMissing` where it doesn't.
|
|
175
175
|
*/
|
|
@@ -219,6 +219,7 @@ export interface CreateSandboxOptions {
|
|
|
219
219
|
* one is present, `idleTimeoutMs` wins. Kept for parity with the legacy
|
|
220
220
|
* `/desktops` create shape, which has always accepted it — prefer
|
|
221
221
|
* {@link idleTimeoutMs} in new code.
|
|
222
|
+
* @deprecated Use {@link idleTimeoutMs} (milliseconds).
|
|
222
223
|
*/
|
|
223
224
|
ttlSeconds?: number;
|
|
224
225
|
/** Boot from a snapshot (`snap_…`) instead of the golden template. */
|
|
@@ -652,6 +653,11 @@ export interface CommandOptions {
|
|
|
652
653
|
cwd?: string;
|
|
653
654
|
env?: Record<string, string>;
|
|
654
655
|
user?: string;
|
|
656
|
+
/**
|
|
657
|
+
* Deadline for the command, in milliseconds: when it elapses the command is killed and the result has
|
|
658
|
+
* `timedOut: true` (`exitCode` -1). Defaults to 600 000 (`DEFAULT_COMMAND_TIMEOUT_MS`, the per-tier maximum the
|
|
659
|
+
* gateway accepts) for `run`; `start` has no deadline unless you pass one.
|
|
660
|
+
*/
|
|
655
661
|
timeoutMs?: number;
|
|
656
662
|
/** Run detached (returns immediately; output still streams via callbacks). */
|
|
657
663
|
background?: boolean;
|
|
@@ -663,6 +669,11 @@ export interface CommandResult {
|
|
|
663
669
|
exitCode: number;
|
|
664
670
|
stdout: string;
|
|
665
671
|
stderr: string;
|
|
672
|
+
/**
|
|
673
|
+
* `true` when the command was cut off by its `timeoutMs` deadline (then `exitCode` is `-1` and `stdout`/`stderr` hold
|
|
674
|
+
* whatever arrived). Always present, on both the REST and the live-connection path.
|
|
675
|
+
*/
|
|
676
|
+
timedOut: boolean;
|
|
666
677
|
}
|
|
667
678
|
/**
|
|
668
679
|
* Body for the one-shot `POST /sandboxes/:id/exec` fast path — run a single
|
|
@@ -688,8 +699,10 @@ export interface CommandHandle {
|
|
|
688
699
|
stream: "stdout" | "stderr";
|
|
689
700
|
data: string;
|
|
690
701
|
}) => void): void;
|
|
691
|
-
/** Resolves with the exit code when the command exits. */
|
|
702
|
+
/** Resolves with the exit code when the command exits (`-1` if its `timeoutMs` deadline cut it off). */
|
|
692
703
|
wait(): Promise<number>;
|
|
704
|
+
/** `true` once the `timeoutMs` deadline passed to `commands.start` has killed the command. */
|
|
705
|
+
readonly timedOut: boolean;
|
|
693
706
|
/** Send a signal (default SIGTERM). */
|
|
694
707
|
kill(signal?: number): Promise<void>;
|
|
695
708
|
}
|
|
@@ -860,4 +873,3 @@ export interface FsSearchMatch {
|
|
|
860
873
|
line: number;
|
|
861
874
|
text: string;
|
|
862
875
|
}
|
|
863
|
-
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.js
CHANGED
|
@@ -1,8 +1 @@
|
|
|
1
|
-
// Wire types for the Solari SDK (shared across @solarisdk/desktop + @solarisdk/sandbox).
|
|
2
|
-
//
|
|
3
|
-
// Per the repo rule, types are DUPLICATED on each side of a network boundary
|
|
4
|
-
// and never imported across it. These shapes mirror docs/CONTRACTS.md §1 (the
|
|
5
|
-
// SDK ⇆ Gateway public API) and §4 (the host-agent ⇆ guest-agent computer-use
|
|
6
|
-
// JSON-RPC API, which the gateway tunnels over the control WebSocket).
|
|
7
1
|
export {};
|
|
8
|
-
//# sourceMappingURL=types.js.map
|
package/dist/volume-client.d.ts
CHANGED
package/dist/volume-client.js
CHANGED
|
@@ -1,15 +1,3 @@
|
|
|
1
|
-
// `VolumeClient` — talks the SDK ⇆ Gateway `/volumes` HTTP API for durable,
|
|
2
|
-
// session-independent storage (Part V.4). A volume is an S3-backed folder your
|
|
3
|
-
// org owns; attach it to a session at create time and it persists across
|
|
4
|
-
// pause/resume/recreate:
|
|
5
|
-
//
|
|
6
|
-
// const vol = await client.volumes.create({ name: "datasets" });
|
|
7
|
-
// const sbx = await client.sandboxes.create({
|
|
8
|
-
// volumes: [{ volumeId: vol.volumeId, path: "/data" }],
|
|
9
|
-
// });
|
|
10
|
-
//
|
|
11
|
-
// CRUD here is metadata-only (create/list/get/delete); the physical mount is
|
|
12
|
-
// performed host-side before the guest resumes.
|
|
13
1
|
import { SolariError } from "./errors.js";
|
|
14
2
|
import { HttpTransport, newIdempotencyKey } from "./http.js";
|
|
15
3
|
export class VolumeClient {
|
|
@@ -25,7 +13,6 @@ export class VolumeClient {
|
|
|
25
13
|
...(options.fetch ? { fetch: options.fetch } : {}),
|
|
26
14
|
});
|
|
27
15
|
}
|
|
28
|
-
/** Create a persistent volume (`POST /volumes`). */
|
|
29
16
|
create(opts = {}) {
|
|
30
17
|
const body = {
|
|
31
18
|
...(opts.name !== undefined ? { name: opts.name } : {}),
|
|
@@ -36,18 +23,14 @@ export class VolumeClient {
|
|
|
36
23
|
idempotencyKey: newIdempotencyKey(),
|
|
37
24
|
});
|
|
38
25
|
}
|
|
39
|
-
/** List this org's volumes, newest first (`GET /volumes`). */
|
|
40
26
|
async list() {
|
|
41
27
|
const res = await this.http.request("GET", "/volumes");
|
|
42
28
|
return res.volumes;
|
|
43
29
|
}
|
|
44
|
-
/** Get one volume's metadata (`GET /volumes/:id`). */
|
|
45
30
|
get(volumeId) {
|
|
46
31
|
return this.http.request("GET", `/volumes/${encodeURIComponent(volumeId)}`);
|
|
47
32
|
}
|
|
48
|
-
/** Delete a volume's metadata (`DELETE /volumes/:id`; idempotent). */
|
|
49
33
|
async delete(volumeId) {
|
|
50
34
|
await this.http.request("DELETE", `/volumes/${encodeURIComponent(volumeId)}`);
|
|
51
35
|
}
|
|
52
36
|
}
|
|
53
|
-
//# sourceMappingURL=volume-client.js.map
|
package/dist/ws.d.ts
CHANGED
package/dist/ws.js
CHANGED
|
@@ -1,17 +1,8 @@
|
|
|
1
|
-
// A tiny WebSocket abstraction so `desktop.ts` works identically in Node (via
|
|
2
|
-
// the `ws` package) and in the browser (native `WebSocket`). We deliberately
|
|
3
|
-
// keep the surface minimal: open/close, send text, and three callbacks.
|
|
4
1
|
import { ConnectionError } from "./errors.js";
|
|
5
|
-
/** True when running somewhere with a usable native `WebSocket` (browsers). */
|
|
6
2
|
function hasNativeWebSocket() {
|
|
7
3
|
return typeof globalThis !== "undefined" &&
|
|
8
4
|
typeof globalThis.WebSocket === "function";
|
|
9
5
|
}
|
|
10
|
-
/**
|
|
11
|
-
* Open a WebSocket using the best available implementation. In Node this
|
|
12
|
-
* dynamically imports `ws`; in the browser it uses the global `WebSocket`.
|
|
13
|
-
* `headers` are only honored by the Node path (browsers can't set them).
|
|
14
|
-
*/
|
|
15
6
|
export async function openWebSocket(url, headers, cb) {
|
|
16
7
|
if (hasNativeWebSocket()) {
|
|
17
8
|
return openNative(url, cb);
|
|
@@ -22,12 +13,6 @@ function openNative(url, cb) {
|
|
|
22
13
|
const NativeWebSocket = globalThis.WebSocket;
|
|
23
14
|
const sock = new NativeWebSocket(url);
|
|
24
15
|
const OPEN = 1;
|
|
25
|
-
// The WHATWG `WebSocket` deliberately hides the HTTP upgrade status, so a
|
|
26
|
-
// failed handshake surfaces as a bare `error` event (undici fires it just
|
|
27
|
-
// before a `close` with code 1006). Capture whatever detail the event carries
|
|
28
|
-
// — and remember the last close code — so the surfaced error is diagnosable
|
|
29
|
-
// ("WebSocket error: <detail>") instead of an opaque "WebSocket error". The
|
|
30
|
-
// Node `ws` path already exposes the real "Unexpected server response: <code>".
|
|
31
16
|
let lastCloseCode = null;
|
|
32
17
|
sock.onopen = () => cb.onOpen();
|
|
33
18
|
sock.onmessage = (ev) => {
|
|
@@ -75,4 +60,3 @@ async function openNodeWs(url, headers, cb) {
|
|
|
75
60
|
},
|
|
76
61
|
};
|
|
77
62
|
}
|
|
78
|
-
//# sourceMappingURL=ws.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@solarisdk/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Shared runtime for the Solari SDK \u2014 transport, session handles, images, templates, and types used by @solarisdk/desktop and @solarisdk/sandbox.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -9,7 +9,8 @@
|
|
|
9
9
|
"exports": {
|
|
10
10
|
".": {
|
|
11
11
|
"types": "./dist/index.d.ts",
|
|
12
|
-
"import": "./dist/index.js"
|
|
12
|
+
"import": "./dist/index.js",
|
|
13
|
+
"default": "./dist/index.js"
|
|
13
14
|
}
|
|
14
15
|
},
|
|
15
16
|
"files": [
|
|
@@ -18,7 +19,7 @@
|
|
|
18
19
|
"LICENSE"
|
|
19
20
|
],
|
|
20
21
|
"scripts": {
|
|
21
|
-
"build": "
|
|
22
|
+
"build": "node ../../scripts/build-pkg.mjs",
|
|
22
23
|
"typecheck": "tsc --noEmit"
|
|
23
24
|
},
|
|
24
25
|
"engines": {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunked-download.d.ts","sourceRoot":"","sources":["../src/chunked-download.ts"],"names":[],"mappings":"AAGA,wHAAwH;AACxH,UAAU,aAAa;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,0EAA0E;AAC1E,eAAO,MAAM,0BAA0B,QAAyB,CAAC;AAGjE;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,aAAa,CAAC,EACjF,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/B,OAAO,CAAC,UAAU,CAAC,CAgCrB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunked-download.js","sourceRoot":"","sources":["../src/chunked-download.ts"],"names":[],"mappings":"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"}
|
package/dist/desktop.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"desktop.d.ts","sourceRoot":"","sources":["../src/desktop.ts"],"names":[],"mappings":"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"}
|
package/dist/desktop.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"desktop.js","sourceRoot":"","sources":["../src/desktop.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,oDAAoD;AACpD,qBAAa,WAAY,SAAQ,KAAK;gBACxB,OAAO,EAAE,MAAM;CAI5B;AAED,8EAA8E;AAC9E,qBAAa,YAAa,SAAQ,WAAW;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC;gBAErB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,gBAAgB;CAMrE;AAED,+DAA+D;AAC/D,qBAAa,SAAU,SAAQ,YAAY;gBAC7B,OAAO,SAA+B,EAAE,IAAI,CAAC,EAAE,gBAAgB;CAG5E;AAED;;;GAGG;AACH,qBAAa,SAAU,SAAQ,YAAY;gBAEvC,OAAO,SAA2C,EAClD,IAAI,CAAC,EAAE,gBAAgB,EACvB,MAAM,SAAM;CAIf;AAED;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,YAAY;gBAEnD,OAAO,SAA+B,EACtC,IAAI,CAAC,EAAE,gBAAgB;CAI1B;AAED;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,YAAY;gBAE7C,OAAO,SAA8B,EACrC,IAAI,CAAC,EAAE,gBAAgB;CAI1B;AAED;;;;;;;;GAQG;AACH,qBAAa,sBAAuB,SAAQ,YAAY;IACtD,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;gBAEZ,OAAO,SAA2B,EAAE,IAAI,CAAC,EAAE,gBAAgB;CAIxE;AAED,gDAAgD;AAChD,qBAAa,WAAY,SAAQ,WAAW;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;gBAEX,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;CAK3D;AAED,kEAAkE;AAClE,qBAAa,YAAa,SAAQ,WAAW;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBAEf,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAK9C;AAED,sEAAsE;AACtE,qBAAa,eAAgB,SAAQ,WAAW;gBAClC,OAAO,SAAqC;CAGzD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,gBAAgB,GAAG,SAAS,GACjC,YAAY,CAgCd"}
|
package/dist/errors.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/handle.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handle.d.ts","sourceRoot":"","sources":["../src/handle.ts"],"names":[],"mappings":"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"}
|