@robota-sdk/agent-tools 3.0.0-beta.81 → 3.0.0-beta.83
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/CHANGELOG.md +559 -0
- package/dist/node/index.cjs +45 -45
- package/dist/node/index.d.cts +7 -1
- package/dist/node/index.d.cts.map +1 -1
- package/dist/node/index.d.ts +7 -1
- package/dist/node/index.d.ts.map +1 -1
- package/dist/node/index.js +46 -46
- package/dist/node/index.js.map +1 -1
- package/package.json +11 -6
package/dist/node/index.d.cts
CHANGED
|
@@ -354,10 +354,16 @@ declare class OsSandboxClient implements ISandboxClient {
|
|
|
354
354
|
private baseline;
|
|
355
355
|
/** Entries a clean-up could not restore, with the state they must return to. */
|
|
356
356
|
private readonly unresolved;
|
|
357
|
+
private readonly watchers;
|
|
357
358
|
constructor(options: IOsSandboxClientOptions);
|
|
358
359
|
status(): IOsSandboxStatus;
|
|
359
|
-
/** Change the settings for the next command. */
|
|
360
|
+
/** Change the settings for the next command, and tell whoever watches them. */
|
|
360
361
|
configure(settings: Partial<IOsSandboxSettings>): void;
|
|
362
|
+
/**
|
|
363
|
+
* Be told the settings after each change, for as long as the returned function is not called. A
|
|
364
|
+
* copy of this sandbox in another process (a subagent's) follows the user's change this way.
|
|
365
|
+
*/
|
|
366
|
+
watchSettings(watcher: (settings: IOsSandboxSettings) => void): () => void;
|
|
361
367
|
/** Whether `shellCommand` would run confined. */
|
|
362
368
|
confines(shellCommand: string): boolean;
|
|
363
369
|
autoApproves(shellCommand: string): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../../src/types/tool-result.ts","../../src/sandbox/types.ts","../../src/sandbox/e2b-sandbox-client.ts","../../src/sandbox/in-memory-sandbox-client.ts","../../src/sandbox/containment.ts","../../src/sandbox/workspace-manifest.ts","../../src/sandbox/os-sandbox-policy.ts","../../src/sandbox/os-sandbox-client.ts","../../src/retrieval/types.ts","../../src/retrieval/repo-map-index.ts","../../src/retrieval/repo-map-adapter.ts","../../src/retrieval/retrieval-tool.ts","../../src/computer-use/types.ts","../../src/computer-use/computer-tool.ts","../../src/computer-use/page-computer-driver.ts","../../src/implementations/function-tool.ts","../../src/implementations/function-tool/types.ts","../../src/builtins/tool-options.ts","../../src/builtins/shell-tool.ts","../../src/builtins/read-tool.ts","../../src/builtins/write-tool.ts","../../src/builtins/edit-tool.ts","../../src/builtins/glob-tool.ts","../../src/builtins/grep-tool.ts","../../src/builtins/web-fetch-tool.ts","../../src/builtins/web-search-provider.ts","../../src/builtins/web-search-tool.ts","../../src/builtins/brave-search-provider.ts","../../src/builtins/ask-user-question-tool.ts","../../src/builtins/tool-search-tool.ts","../../src/builtins/tool-search-matching.ts"],"mappings":";;;;;;;;UAGiB;EACf;EACA;EACA;EACA;;EAEA;;;;UCTe;EACf;EACA;;UAGe;EACf;EACA;EACA;;UAGe;EACf;EACA;EACA;;UAGe;EACf;;UAGe;EACf;EACA;;UAGe;EACf;EACA;;UAGe;EACf;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;;KAGU,0BACR,8BACA,mCACA,mCACA,wCACA,uCACA,iCACA,kCACA,iCACA;UAEa;EACf;EACA;;UAGe;EACf,SAAS,eAAe;EACxB,cAAc;EACd,cAAc;;UAGC;EACf;EACA;;KAGU;UAEK;EACf;EACA,MAAM;EACN,QAAQ;EACR;;UAGe;EACf,SAAS;;;;;;;;;;KAWC;;UAGK;WACN;WACA;WACA;;WAEA,4BAA4B;;WAE5B;;UAGM;;WAEN,aAAa;;;;;;EAMtB,aAAa,YAAY,oBAAoB,uBAAuB;;;;;;EAMpE,cAAc;EACd,IAAI,iBAAiB,UAAU,qBAAqB,QAAQ;EAC5D,SAAS,eAAe;EACxB,UAAU,cAAc,kBAAkB;EAC1C,eACE,UAAU,oBACV,UAAU,iCACT,QAAQ;;EAEX,aAAa;;EAEb,SAAS,qBAAqB;;UAGf;EACf,gBAAgB;;EAEhB,SAAS;;;;;;;;;;;;;;;;EAgBT;;;;UC3KQ;EACR;EACA;EACA;;UAGQ;EACR;EACA;EACA;EACA;;UAGQ;EACR,IAAI,iBAAiB,UAAU,0BAA0B,QAAQ;;UAGzD;EACR,KAAK,eAAe,iBAAiB;EACrC,MAAM,cAAc,kBAAkB;;UAG9B;EACR;EACA;;UAGe;EACf;EACA,UAAU;EACV,OAAO;EACP,UAAU;EACV,YAAY,QAAQ;EACpB,mBAAmB,QAAQ;;UAGZ;EACf,SAAS;EACT,kBAAkB,sBAAsB,QAAQ;EAChD,6BAA6B,uBAAuB,QAAQ;;cAGjD,4BAA4B;UAC/B;mBACS;mBACA;EAEL,YAAA,SAAS;EAMf,IAAI,iBAAiB,UAAU,qBAAqB,QAAQ;EAc5D,SAAS,eAAe;EAKxB,UAAU,cAAc,kBAAkB;EAI1C,YAAY;EAoBZ,QAAQ,qBAAqB;;;;KChGzB,8BACV,iBACA,SAAS,gCACT,OAAO,gCACJ,QAAQ,qBAAqB;UAEjB;EACf,QAAQ;EACR,aAAa;;cAGF,iCAAiC;mBAC3B;mBACA;mBACA;UACT;EAEI,YAAA,UAAS;EAOf,IAAI,iBAAiB,UAAU,qBAAqB,QAAQ;EAO5D,SAAS,eAAe;EAQxB,UAAU,cAAc,kBAAkB;EAI1C,YAAY;EAMZ,QAAQ,qBAAqB;EAWnC,QAAQ;;;;KCpDE,4CAA4C;iBAExC,6BAA6B,QAAQ,6BAA6B;;iBAMlE,0BAA0B,QAAQ;;;iBCA5B,uBACpB,eAAe,gBACf,UAAU,oBACV,UAAS,iCACR,QAAQ;iBAkCK,8BAA8B;;;;;;;;;;;;;;UC1C7B;;WAEN;;WAEA;;WAEA;;WAEA;aAA8B;aAAuB;;WACrD;;;;;;;;iBAmBK;UAIC;WACN,QAAQ;;WAER,SAAS;;WAET,gBAAgB;WAChB;WACA;WACA;;;;;WAKA;;;iBAIK,oBAAoB,OAAO;;;;;iBAmD3B,gBAAgB,QAAQ;;;KClE5B;UAEK;;WAEN;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;cAGE,6BAA6B;;UAUzB;WACN,UAAU;;WAEV;;WAEA;;WAEA;;UAGM;WACN,WAAW,OAAO;WAClB;;WAEA,SAAS,iBAAiB;IAA8B;IAAa;;;;iBAahE,gBAAgB,UAAS,0BAA+B;UA8BvD;;WAEN;WACA,cAAc;WACd,WAAW,QAAQ;WACnB;;UAGM;WACN,UAAU;WACV,cAAc;;WAEd;;cA6CE,2BAA2B;WAC7B;mBACQ;mBACA;mBACA;UACT;UACA;UACA;;mBAES;EAEL,YAAA,SAAS;EAOrB,UAAU;;EASV,UAAU,UAAU,QAAQ;;
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../../src/types/tool-result.ts","../../src/sandbox/types.ts","../../src/sandbox/e2b-sandbox-client.ts","../../src/sandbox/in-memory-sandbox-client.ts","../../src/sandbox/containment.ts","../../src/sandbox/workspace-manifest.ts","../../src/sandbox/os-sandbox-policy.ts","../../src/sandbox/os-sandbox-client.ts","../../src/retrieval/types.ts","../../src/retrieval/repo-map-index.ts","../../src/retrieval/repo-map-adapter.ts","../../src/retrieval/retrieval-tool.ts","../../src/computer-use/types.ts","../../src/computer-use/computer-tool.ts","../../src/computer-use/page-computer-driver.ts","../../src/implementations/function-tool.ts","../../src/implementations/function-tool/types.ts","../../src/builtins/tool-options.ts","../../src/builtins/shell-tool.ts","../../src/builtins/read-tool.ts","../../src/builtins/write-tool.ts","../../src/builtins/edit-tool.ts","../../src/builtins/glob-tool.ts","../../src/builtins/grep-tool.ts","../../src/builtins/web-fetch-tool.ts","../../src/builtins/web-search-provider.ts","../../src/builtins/web-search-tool.ts","../../src/builtins/brave-search-provider.ts","../../src/builtins/ask-user-question-tool.ts","../../src/builtins/tool-search-tool.ts","../../src/builtins/tool-search-matching.ts"],"mappings":"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"}
|
package/dist/node/index.d.ts
CHANGED
|
@@ -354,10 +354,16 @@ declare class OsSandboxClient implements ISandboxClient {
|
|
|
354
354
|
private baseline;
|
|
355
355
|
/** Entries a clean-up could not restore, with the state they must return to. */
|
|
356
356
|
private readonly unresolved;
|
|
357
|
+
private readonly watchers;
|
|
357
358
|
constructor(options: IOsSandboxClientOptions);
|
|
358
359
|
status(): IOsSandboxStatus;
|
|
359
|
-
/** Change the settings for the next command. */
|
|
360
|
+
/** Change the settings for the next command, and tell whoever watches them. */
|
|
360
361
|
configure(settings: Partial<IOsSandboxSettings>): void;
|
|
362
|
+
/**
|
|
363
|
+
* Be told the settings after each change, for as long as the returned function is not called. A
|
|
364
|
+
* copy of this sandbox in another process (a subagent's) follows the user's change this way.
|
|
365
|
+
*/
|
|
366
|
+
watchSettings(watcher: (settings: IOsSandboxSettings) => void): () => void;
|
|
361
367
|
/** Whether `shellCommand` would run confined. */
|
|
362
368
|
confines(shellCommand: string): boolean;
|
|
363
369
|
autoApproves(shellCommand: string): boolean;
|
package/dist/node/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/types/tool-result.ts","../../src/sandbox/types.ts","../../src/sandbox/e2b-sandbox-client.ts","../../src/sandbox/in-memory-sandbox-client.ts","../../src/sandbox/containment.ts","../../src/sandbox/workspace-manifest.ts","../../src/sandbox/os-sandbox-policy.ts","../../src/sandbox/os-sandbox-client.ts","../../src/retrieval/types.ts","../../src/retrieval/repo-map-index.ts","../../src/retrieval/repo-map-adapter.ts","../../src/retrieval/retrieval-tool.ts","../../src/computer-use/types.ts","../../src/computer-use/computer-tool.ts","../../src/computer-use/page-computer-driver.ts","../../src/implementations/function-tool.ts","../../src/implementations/function-tool/types.ts","../../src/builtins/tool-options.ts","../../src/builtins/shell-tool.ts","../../src/builtins/read-tool.ts","../../src/builtins/write-tool.ts","../../src/builtins/edit-tool.ts","../../src/builtins/glob-tool.ts","../../src/builtins/grep-tool.ts","../../src/builtins/web-fetch-tool.ts","../../src/builtins/web-search-provider.ts","../../src/builtins/web-search-tool.ts","../../src/builtins/brave-search-provider.ts","../../src/builtins/ask-user-question-tool.ts","../../src/builtins/tool-search-tool.ts","../../src/builtins/tool-search-matching.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/types/tool-result.ts","../../src/sandbox/types.ts","../../src/sandbox/e2b-sandbox-client.ts","../../src/sandbox/in-memory-sandbox-client.ts","../../src/sandbox/containment.ts","../../src/sandbox/workspace-manifest.ts","../../src/sandbox/os-sandbox-policy.ts","../../src/sandbox/os-sandbox-client.ts","../../src/retrieval/types.ts","../../src/retrieval/repo-map-index.ts","../../src/retrieval/repo-map-adapter.ts","../../src/retrieval/retrieval-tool.ts","../../src/computer-use/types.ts","../../src/computer-use/computer-tool.ts","../../src/computer-use/page-computer-driver.ts","../../src/implementations/function-tool.ts","../../src/implementations/function-tool/types.ts","../../src/builtins/tool-options.ts","../../src/builtins/shell-tool.ts","../../src/builtins/read-tool.ts","../../src/builtins/write-tool.ts","../../src/builtins/edit-tool.ts","../../src/builtins/glob-tool.ts","../../src/builtins/grep-tool.ts","../../src/builtins/web-fetch-tool.ts","../../src/builtins/web-search-provider.ts","../../src/builtins/web-search-tool.ts","../../src/builtins/brave-search-provider.ts","../../src/builtins/ask-user-question-tool.ts","../../src/builtins/tool-search-tool.ts","../../src/builtins/tool-search-matching.ts"],"mappings":"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"}
|
package/dist/node/index.js
CHANGED
|
@@ -2,7 +2,7 @@ import { chmod, mkdir, open, readFile, readdir, rename, rm, stat, writeFile } fr
|
|
|
2
2
|
import { basename, dirname, isAbsolute, join, posix, resolve } from "node:path";
|
|
3
3
|
import { spawn, spawnSync } from "node:child_process";
|
|
4
4
|
import { randomBytes, randomUUID } from "node:crypto";
|
|
5
|
-
import { chmodSync, cpSync, createReadStream, existsSync, lstatSync, mkdirSync, readFileSync, readdirSync, readlinkSync, realpathSync, renameSync, rmSync, statSync, symlinkSync, writeFileSync } from "node:fs";
|
|
5
|
+
import { chmodSync, constants, cpSync, createReadStream, existsSync, lstatSync, mkdirSync, readFileSync, readdirSync, readlinkSync, realpathSync, renameSync, rmSync, statSync, symlinkSync, writeFileSync } from "node:fs";
|
|
6
6
|
import { homedir, tmpdir } from "node:os";
|
|
7
7
|
import { FunctionTool, PROTECTED_DIRECTORY_NAMES, PROTECTED_FILE_NAMES, TOOL_SEARCH_TOOL_NAME, ToolExecutionError, ValidationError, createBoundedOutput, registerToolPermissionProfile, resolvePlatformShell, splitCommandSegments, subprocessTraceEnvironment, zodToJsonSchema } from "@robota-sdk/agent-core";
|
|
8
8
|
import { z } from "zod";
|
|
@@ -590,6 +590,7 @@ var OsSandboxClient = class {
|
|
|
590
590
|
baseline = [];
|
|
591
591
|
/** Entries a clean-up could not restore, with the state they must return to. */
|
|
592
592
|
unresolved = /* @__PURE__ */ new Map();
|
|
593
|
+
watchers = /* @__PURE__ */ new Set();
|
|
593
594
|
constructor(options) {
|
|
594
595
|
this.root = realPathOrSelf(options.root);
|
|
595
596
|
this.availability = options.availability;
|
|
@@ -606,12 +607,23 @@ var OsSandboxClient = class {
|
|
|
606
607
|
active: this.current.enabled && this.availability.executable !== void 0
|
|
607
608
|
};
|
|
608
609
|
}
|
|
609
|
-
/** Change the settings for the next command. */
|
|
610
|
+
/** Change the settings for the next command, and tell whoever watches them. */
|
|
610
611
|
configure(settings) {
|
|
611
612
|
this.current = {
|
|
612
613
|
...this.current,
|
|
613
614
|
...settings
|
|
614
615
|
};
|
|
616
|
+
for (const watcher of this.watchers) watcher(this.current);
|
|
617
|
+
}
|
|
618
|
+
/**
|
|
619
|
+
* Be told the settings after each change, for as long as the returned function is not called. A
|
|
620
|
+
* copy of this sandbox in another process (a subagent's) follows the user's change this way.
|
|
621
|
+
*/
|
|
622
|
+
watchSettings(watcher) {
|
|
623
|
+
this.watchers.add(watcher);
|
|
624
|
+
return () => {
|
|
625
|
+
this.watchers.delete(watcher);
|
|
626
|
+
};
|
|
615
627
|
}
|
|
616
628
|
/** Whether `shellCommand` would run confined. */
|
|
617
629
|
confines(shellCommand) {
|
|
@@ -1917,60 +1929,48 @@ async function readFileTool(args, options) {
|
|
|
1917
1929
|
}
|
|
1918
1930
|
const pathError = checkPathWithinCwd(filePath, options.cwd);
|
|
1919
1931
|
if (pathError !== void 0) return pathError;
|
|
1920
|
-
|
|
1932
|
+
const failure = (error) => JSON.stringify({
|
|
1933
|
+
success: false,
|
|
1934
|
+
output: "",
|
|
1935
|
+
error
|
|
1936
|
+
});
|
|
1937
|
+
let handle;
|
|
1921
1938
|
try {
|
|
1922
|
-
|
|
1939
|
+
handle = await open(filePath, constants.O_RDONLY | constants.O_NONBLOCK, 384);
|
|
1923
1940
|
} catch (err) {
|
|
1924
|
-
const
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
};
|
|
1929
|
-
return JSON.stringify(result);
|
|
1930
|
-
}
|
|
1931
|
-
if (!fileStats.isFile()) {
|
|
1932
|
-
const result = {
|
|
1933
|
-
success: false,
|
|
1934
|
-
output: "",
|
|
1935
|
-
error: `Path is not a file: ${filePath}`
|
|
1936
|
-
};
|
|
1937
|
-
return JSON.stringify(result);
|
|
1941
|
+
const found = await stat(filePath).catch(() => void 0);
|
|
1942
|
+
if (found === void 0) return failure(`File not found: ${filePath}`);
|
|
1943
|
+
if (!found.isFile()) return failure(`Path is not a file: ${filePath}`);
|
|
1944
|
+
return failure(err instanceof Error ? err.message : String(err));
|
|
1938
1945
|
}
|
|
1939
1946
|
let buffer = Buffer.alloc(0);
|
|
1940
1947
|
let binaryFile = false;
|
|
1941
1948
|
try {
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
break;
|
|
1956
|
-
}
|
|
1957
|
-
binaryCheckedBytes += binaryCheckLength;
|
|
1958
|
-
bytes += bytesRead;
|
|
1959
|
-
if (bytes > MAX_READ_BYTES) throw new ReadByteLimitError("input");
|
|
1960
|
-
chunks.push(Buffer.from(chunk.subarray(0, bytesRead)));
|
|
1949
|
+
if (!(await handle.stat()).isFile()) return failure(`Path is not a file: ${filePath}`);
|
|
1950
|
+
const chunks = [];
|
|
1951
|
+
const chunk = Buffer.allocUnsafe(READ_CHUNK_BYTES$2);
|
|
1952
|
+
let bytes = 0;
|
|
1953
|
+
let binaryCheckedBytes = 0;
|
|
1954
|
+
while (bytes <= MAX_READ_BYTES) {
|
|
1955
|
+
if (options.signal?.aborted) throw new ReadCancelledError();
|
|
1956
|
+
const { bytesRead } = await handle.read(chunk, 0, Math.min(chunk.length, 4194305 - bytes), null);
|
|
1957
|
+
if (bytesRead === 0) break;
|
|
1958
|
+
const binaryCheckLength = Math.min(bytesRead, 8192 - binaryCheckedBytes);
|
|
1959
|
+
if (binaryCheckLength > 0 && isBinary(chunk.subarray(0, binaryCheckLength))) {
|
|
1960
|
+
binaryFile = true;
|
|
1961
|
+
break;
|
|
1961
1962
|
}
|
|
1962
|
-
|
|
1963
|
-
|
|
1964
|
-
|
|
1963
|
+
binaryCheckedBytes += binaryCheckLength;
|
|
1964
|
+
bytes += bytesRead;
|
|
1965
|
+
if (bytes > MAX_READ_BYTES) throw new ReadByteLimitError("input");
|
|
1966
|
+
chunks.push(Buffer.from(chunk.subarray(0, bytesRead)));
|
|
1965
1967
|
}
|
|
1968
|
+
if (!binaryFile) buffer = Buffer.concat(chunks, bytes);
|
|
1966
1969
|
} catch (err) {
|
|
1967
1970
|
if (err instanceof ReadByteLimitError || err instanceof ReadCancelledError) throw err;
|
|
1968
|
-
|
|
1969
|
-
|
|
1970
|
-
|
|
1971
|
-
error: err instanceof Error ? err.message : String(err)
|
|
1972
|
-
};
|
|
1973
|
-
return JSON.stringify(result);
|
|
1971
|
+
return failure(err instanceof Error ? err.message : String(err));
|
|
1972
|
+
} finally {
|
|
1973
|
+
await handle.close();
|
|
1974
1974
|
}
|
|
1975
1975
|
if (options.signal?.aborted) throw new ReadCancelledError();
|
|
1976
1976
|
if (binaryFile) {
|