@agentorg/computer 0.0.6 → 0.0.8
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 +24 -6
- package/dist/THIRD_PARTY_LICENSES.txt +1 -1
- package/dist/agentcomputer.js +1285 -511
- package/dist/types/generated/schema.d.ts +86 -13
- package/package.json +3 -3
|
@@ -146,7 +146,7 @@ export interface paths {
|
|
|
146
146
|
};
|
|
147
147
|
get?: never;
|
|
148
148
|
put?: never;
|
|
149
|
-
/** A one-time ticket to watch or operate one of its surfaces live: the agent's commands as they run,
|
|
149
|
+
/** A one-time ticket to watch or operate one of its surfaces live: the agent's commands as they run, a shell of your own, its files, or its browser. Open its url as a WebSocket within 60 seconds. */
|
|
150
150
|
post: operations["createLiveSession"];
|
|
151
151
|
delete?: never;
|
|
152
152
|
options?: never;
|
|
@@ -248,12 +248,12 @@ export interface components {
|
|
|
248
248
|
};
|
|
249
249
|
};
|
|
250
250
|
/**
|
|
251
|
-
* @description commands: the agent's commands as they run, read-only, in commands@1. terminal: a shell of your own in its workspace, as its user, in pty@1. browser: its browser, in screencast@1: binary messages are JPEG frames of the page shown, text messages are ScreencastEvent one way and ScreencastInput the other.
|
|
251
|
+
* @description commands: the agent's commands as they run, read-only, in commands@1. terminal: a shell of your own in its workspace, as its user, in pty@1. files: its workspace's files, in files@1: text messages are FilesRequest one way and FilesAnswer the other, and a file's bytes travel as binary messages of at most 1,048,576 bytes. Watching lists and reads; operating also writes, which a computer with read access doesn't offer. browser: its browser, in screencast@1: binary messages are JPEG frames of the page shown, text messages are ScreencastEvent one way and ScreencastInput the other. Nobody waits for anybody: the agent's tools and a person's input act on the same browser at once. The page shown is each socket's own. A socket is shown each new tab as it opens, until it sends a tab input to show or open one; from then its page changes only when that page closes.
|
|
252
252
|
* @enum {string}
|
|
253
253
|
*/
|
|
254
|
-
Surface: "commands" | "terminal" | "browser";
|
|
254
|
+
Surface: "commands" | "terminal" | "files" | "browser";
|
|
255
255
|
/**
|
|
256
|
-
* @description In watch
|
|
256
|
+
* @description In watch you see and don't act: what you send is dropped, except that a files socket may still ask to list, to read and for what changed.
|
|
257
257
|
* @enum {string}
|
|
258
258
|
*/
|
|
259
259
|
LiveMode: "watch" | "operate";
|
|
@@ -262,7 +262,7 @@ export interface components {
|
|
|
262
262
|
protocol: string;
|
|
263
263
|
/** @description Whether it can be operated */
|
|
264
264
|
operate: boolean;
|
|
265
|
-
/** @description Why it can't be opened
|
|
265
|
+
/** @description Why it can't be opened now, if it can't. */
|
|
266
266
|
unavailable?: string;
|
|
267
267
|
};
|
|
268
268
|
NewLiveSession: {
|
|
@@ -316,12 +316,6 @@ export interface components {
|
|
|
316
316
|
label: string;
|
|
317
317
|
selected: boolean;
|
|
318
318
|
}[];
|
|
319
|
-
} | {
|
|
320
|
-
/** @constant */
|
|
321
|
-
type: "driver";
|
|
322
|
-
you: boolean;
|
|
323
|
-
held: boolean;
|
|
324
|
-
agentWaiting: boolean;
|
|
325
319
|
};
|
|
326
320
|
/** @description What an operate socket sends on screencast@1, as JSON text. A watch socket's is dropped. */
|
|
327
321
|
ScreencastInput: {
|
|
@@ -374,11 +368,90 @@ export interface components {
|
|
|
374
368
|
} | {
|
|
375
369
|
/** @constant */
|
|
376
370
|
type: "navigate";
|
|
377
|
-
/** @description A URL */
|
|
371
|
+
/** @description A URL, or back, forward or reload. */
|
|
378
372
|
to: string;
|
|
373
|
+
};
|
|
374
|
+
/** @description What a socket sends on files@1, as JSON text. Each has an id of its own choosing, which the answer repeats; answers come as they are ready, in any order, and ids aren't checked for repeats. A request still unanswered when the socket closes gets no answer. A path is from the workspace, with / between its parts, or absolute inside it, and nothing outside the workspace is reached. A binary message that follows no write closes the socket, and so does any message over 1,048,576 bytes. */
|
|
375
|
+
FilesRequest: {
|
|
376
|
+
/** @constant */
|
|
377
|
+
type: "list";
|
|
378
|
+
id: string;
|
|
379
|
+
/** @description The workspace itself, if left out. */
|
|
380
|
+
path?: string;
|
|
381
|
+
} | {
|
|
382
|
+
/** @constant */
|
|
383
|
+
type: "read";
|
|
384
|
+
id: string;
|
|
385
|
+
path: string;
|
|
386
|
+
offset: number;
|
|
387
|
+
length: number;
|
|
388
|
+
} | {
|
|
389
|
+
/** @constant */
|
|
390
|
+
type: "changed";
|
|
391
|
+
id: string;
|
|
392
|
+
/** Format: date-time */
|
|
393
|
+
since: string;
|
|
394
|
+
} | {
|
|
395
|
+
/** @constant */
|
|
396
|
+
type: "write";
|
|
397
|
+
id: string;
|
|
398
|
+
path: string;
|
|
399
|
+
offset: number;
|
|
400
|
+
length: number;
|
|
401
|
+
last: boolean;
|
|
402
|
+
};
|
|
403
|
+
/** @description What the service sends on files@1, as JSON text, each with the id it answers. Nothing comes between a data message and its bytes. */
|
|
404
|
+
FilesAnswer: {
|
|
405
|
+
/** @constant */
|
|
406
|
+
type: "entries";
|
|
407
|
+
id: string;
|
|
408
|
+
path: string;
|
|
409
|
+
entries: {
|
|
410
|
+
name: string;
|
|
411
|
+
/** @enum {string} */
|
|
412
|
+
kind: "file" | "folder" | "link";
|
|
413
|
+
size: number;
|
|
414
|
+
/** Format: date-time */
|
|
415
|
+
modifiedAt: string;
|
|
416
|
+
}[];
|
|
417
|
+
/** @description Whether the folder has more than these. */
|
|
418
|
+
more: boolean;
|
|
379
419
|
} | {
|
|
380
420
|
/** @constant */
|
|
381
|
-
type: "
|
|
421
|
+
type: "data";
|
|
422
|
+
id: string;
|
|
423
|
+
path: string;
|
|
424
|
+
offset: number;
|
|
425
|
+
/** @description How many bytes follow. */
|
|
426
|
+
length: number;
|
|
427
|
+
size: number;
|
|
428
|
+
/** Format: date-time */
|
|
429
|
+
modifiedAt: string;
|
|
430
|
+
} | {
|
|
431
|
+
/** @constant */
|
|
432
|
+
type: "changes";
|
|
433
|
+
id: string;
|
|
434
|
+
/** Format: date-time */
|
|
435
|
+
since: string;
|
|
436
|
+
changes: {
|
|
437
|
+
path: string;
|
|
438
|
+
size: number;
|
|
439
|
+
/** Format: date-time */
|
|
440
|
+
modifiedAt: string;
|
|
441
|
+
}[];
|
|
442
|
+
/** @description Whether more than these changed. */
|
|
443
|
+
more: boolean;
|
|
444
|
+
} | {
|
|
445
|
+
/** @constant */
|
|
446
|
+
type: "written";
|
|
447
|
+
id: string;
|
|
448
|
+
path: string;
|
|
449
|
+
size: number;
|
|
450
|
+
} | {
|
|
451
|
+
/** @constant */
|
|
452
|
+
type: "refused";
|
|
453
|
+
id: string;
|
|
454
|
+
message: string;
|
|
382
455
|
};
|
|
383
456
|
ComputerLogs: {
|
|
384
457
|
logs: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agentorg/computer",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.8",
|
|
4
4
|
"description": "Computers for agents, as a service: a terminal, files and a browser over MCP",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -28,15 +28,15 @@
|
|
|
28
28
|
"test": "npm run build && node --test --test-timeout=60000 \"out/test/**/*.test.js\""
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@playwright/mcp": "0.0.84",
|
|
32
31
|
"playwright-core": "1.65.0-alpha-2026-10-30"
|
|
33
32
|
},
|
|
34
33
|
"devDependencies": {
|
|
35
|
-
"@agentorg/exec": "0.0.
|
|
34
|
+
"@agentorg/exec": "0.0.4",
|
|
36
35
|
"@biomejs/biome": "2.6.5",
|
|
37
36
|
"@modelcontextprotocol/client": "2.4.0",
|
|
38
37
|
"@modelcontextprotocol/node": "2.1.2",
|
|
39
38
|
"@modelcontextprotocol/server": "2.4.0",
|
|
39
|
+
"@playwright/mcp": "0.0.84",
|
|
40
40
|
"@types/node": "^22.20.5",
|
|
41
41
|
"@types/ws": "8.18.2",
|
|
42
42
|
"ajv": "8.20.0",
|