@volter/browser-sandboxes 0.1.4 → 0.1.6

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.
File without changes
package/dist/bin/mcp.js CHANGED
File without changes
package/dist/client.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { type HostedProtocolDescriptor } from "@volter/browser-runtime/browser-hosted-protocol.js";
1
+ import { multiplexFrame } from "@volter/browser-runtime/docker-engine.js";
2
2
  export interface RemoteProcessOptions {
3
3
  cwd?: string;
4
4
  env?: Record<string, string>;
@@ -42,14 +42,13 @@ export interface RemotePtyOptions {
42
42
  env?: Record<string, string>;
43
43
  }
44
44
  export interface RemotePtySession {
45
- id: number;
45
+ id: string;
46
46
  pid: number;
47
47
  cols: number;
48
48
  rows: number;
49
- allocator: "node-pty" | "script";
50
- resizable: boolean;
51
- write(data: string | Uint8Array): Promise<Response>;
52
- /** Resolves the applied size, or rejects when the allocator cannot resize. */
49
+ allocator: "exec";
50
+ resizable: true;
51
+ write(data: string | Uint8Array): Promise<void>;
53
52
  resize(cols: number, rows: number): Promise<{
54
53
  cols: number;
55
54
  rows: number;
@@ -64,7 +63,7 @@ export interface RemoteFileEntry {
64
63
  size: number;
65
64
  }
66
65
  export interface RemoteArchive {
67
- format: "zip" | "json";
66
+ format: "tar";
68
67
  bytes: Uint8Array;
69
68
  integrity: string | null;
70
69
  entries: number;
@@ -93,6 +92,8 @@ export interface RemoteRuntimeOptions {
93
92
  * the fetch it captured before booting the runtime.
94
93
  */
95
94
  fetch?: typeof fetch;
95
+ /** Makes the socket for an exec; a tab passes the page's own, the default is a real WebSocket. */
96
+ socket?: (url: string) => WebSocket;
96
97
  }
97
98
  export type RemoteBearerToken = string | (() => string | undefined);
98
99
  type Listener = (event: Record<string, unknown>) => void;
@@ -110,10 +111,7 @@ export declare class RemoteRuntime {
110
111
  remove(path: string): Promise<{
111
112
  ok: true;
112
113
  }>;
113
- snapshot(): Promise<{
114
- files: unknown[];
115
- }>;
116
- export(root?: string, format?: "zip" | "json", options?: {
114
+ export(root?: string, format?: "tar", options?: {
117
115
  exclude?: readonly string[];
118
116
  }): Promise<RemoteArchive>;
119
117
  import(bytes: Uint8Array, options?: {
@@ -122,42 +120,41 @@ export declare class RemoteRuntime {
122
120
  }): Promise<RemoteImportResult>;
123
121
  };
124
122
  private readonly base;
125
- /** The catalogue's base path, from the negotiated descriptor; /v1 until then. */
126
- private basePath;
127
- /** The agent's descriptor once negotiated. */
128
- descriptor: HostedProtocolDescriptor | undefined;
129
123
  private readonly token;
130
124
  private readonly network;
125
+ private readonly makeSocket;
131
126
  private readonly listeners;
132
- private readonly outputs;
133
- private readonly pending;
134
127
  private readonly abort;
128
+ /** The one container this daemon holds, known after `connect`. */
129
+ private containerId;
130
+ private startedAt;
135
131
  constructor(baseUrl: string, token: RemoteBearerToken, options?: RemoteRuntimeOptions);
132
+ private get container();
136
133
  /**
137
- * Negotiates the agent's protocol, then opens the event stream and returns
138
- * the agent's health. A server speaking another protocol or version is
139
- * refused with the reason.
134
+ * Pings the daemon, finds its one container, opens the event stream, and
135
+ * returns the container's health. A server that is not a Docker daemon of
136
+ * ours is refused with its status.
140
137
  */
141
138
  connect(): Promise<RemoteHealth>;
142
139
  private consume;
143
140
  private dispatch;
144
141
  on(type: string, listener: Listener): () => void;
142
+ private execCreate;
143
+ private execExitCode;
144
+ private execSocket;
145
145
  start(command: string, options?: RemoteProcessOptions): Promise<RemoteProcessHandle>;
146
146
  spawn(command: string, options?: RemoteProcessOptions): Promise<RemoteProcessResult>;
147
- /** A terminal session on a guest pseudo-terminal; bytes in, bytes out. */
147
+ /** A terminal session: an exec of the command with a TTY over the socket; bytes in, bytes out. */
148
148
  openPty(options?: RemotePtyOptions): Promise<RemotePtySession>;
149
- /** Implements the ordinary process surface on the hosted PTY allocator. */
150
- private startTerminalProcess;
151
- /** GET / on the agent, judged by the protocol the client speaks. */
152
- negotiate(): Promise<HostedProtocolDescriptor>;
153
- /** The agent's health; never counts as activity on the agent. */
149
+ /** The container's health, from inspect and top; never counts as activity on the daemon's clock beyond the request. */
154
150
  health(): Promise<RemoteHealth>;
155
151
  processes(): Promise<RemoteProcessInfo[]>;
156
152
  ports(): Promise<number[]>;
157
153
  portUrl(port: number): string;
158
154
  request(port: number, input?: string | URL, init?: RequestInit): Promise<Response>;
155
+ /** The profiler's rows, carried under `substrate` in Docker's stats. */
159
156
  metrics(): Promise<Record<string, unknown>>;
160
- /** A WebSocket to a guest port, tunnelled through the agent. */
157
+ /** A WebSocket to a guest port, tunnelled through the daemon. */
161
158
  webSocket(port: number, input?: string | URL): WebSocket;
162
159
  close(): void;
163
160
  private call;
@@ -165,5 +162,7 @@ export declare class RemoteRuntime {
165
162
  private ok;
166
163
  private json;
167
164
  }
165
+ /** Frames a chunk the way the daemon frames stdout, for tests and tools that need the shape. */
166
+ export declare const dockerFrame: typeof multiplexFrame;
168
167
  export {};
169
168
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}