deepagents 1.7.1 → 1.7.3

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/dist/index.d.cts CHANGED
@@ -1296,9 +1296,11 @@ declare class CompositeBackend implements BackendProtocol {
1296
1296
  *
1297
1297
  * This class provides default implementations for all SandboxBackendProtocol
1298
1298
  * methods using shell commands executed via execute(). Concrete implementations
1299
- * only need to implement the execute() method.
1299
+ * only need to implement execute(), uploadFiles(), and downloadFiles().
1300
1300
  *
1301
- * Requires Node.js 20+ on the sandbox host.
1301
+ * All shell commands use pure POSIX utilities (awk, grep, find, stat) that are
1302
+ * available on any Linux including Alpine/busybox. No Python, Node.js, or
1303
+ * other runtime is required on the sandbox host.
1302
1304
  */
1303
1305
  declare abstract class BaseSandbox implements SandboxBackendProtocol {
1304
1306
  /** Unique identifier for the sandbox backend */
@@ -1321,6 +1323,9 @@ declare abstract class BaseSandbox implements SandboxBackendProtocol {
1321
1323
  /**
1322
1324
  * List files and directories in the specified directory (non-recursive).
1323
1325
  *
1326
+ * Uses pure POSIX shell (find + stat) via execute() — works on any Linux
1327
+ * including Alpine. No Python or Node.js needed.
1328
+ *
1324
1329
  * @param path - Absolute path to directory
1325
1330
  * @returns List of FileInfo objects for files and directories directly in the directory.
1326
1331
  */
@@ -1328,6 +1333,10 @@ declare abstract class BaseSandbox implements SandboxBackendProtocol {
1328
1333
  /**
1329
1334
  * Read file content with line numbers.
1330
1335
  *
1336
+ * Uses pure POSIX shell (awk) via execute() — only the requested slice
1337
+ * is returned over the wire, making this efficient for large files.
1338
+ * Works on any Linux including Alpine (no Python or Node.js needed).
1339
+ *
1331
1340
  * @param filePath - Absolute file path
1332
1341
  * @param offset - Line offset to start reading from (0-indexed)
1333
1342
  * @param limit - Maximum number of lines to read
@@ -1337,12 +1346,14 @@ declare abstract class BaseSandbox implements SandboxBackendProtocol {
1337
1346
  /**
1338
1347
  * Read file content as raw FileData.
1339
1348
  *
1349
+ * Uses downloadFiles() directly — no runtime needed on the sandbox host.
1350
+ *
1340
1351
  * @param filePath - Absolute file path
1341
1352
  * @returns Raw file content as FileData
1342
1353
  */
1343
1354
  readRaw(filePath: string): Promise<FileData>;
1344
1355
  /**
1345
- * Search for a literal text pattern in files.
1356
+ * Search for a literal text pattern in files using grep.
1346
1357
  *
1347
1358
  * @param pattern - Literal string to search for (NOT regex).
1348
1359
  * @param path - Directory or file path to search in.
@@ -1352,14 +1363,30 @@ declare abstract class BaseSandbox implements SandboxBackendProtocol {
1352
1363
  grepRaw(pattern: string, path?: string, glob?: string | null): Promise<GrepMatch[] | string>;
1353
1364
  /**
1354
1365
  * Structured glob matching returning FileInfo objects.
1366
+ *
1367
+ * Uses pure POSIX shell (find + stat) via execute() to list all files,
1368
+ * then applies glob-to-regex matching in TypeScript. No Python or Node.js
1369
+ * needed on the sandbox host.
1370
+ *
1371
+ * Glob patterns are matched against paths relative to the search base:
1372
+ * - `*` matches any characters except `/`
1373
+ * - `**` matches any characters including `/` (recursive)
1374
+ * - `?` matches a single character except `/`
1375
+ * - `[...]` character classes
1355
1376
  */
1356
1377
  globInfo(pattern: string, path?: string): Promise<FileInfo[]>;
1357
1378
  /**
1358
1379
  * Create a new file with content.
1380
+ *
1381
+ * Uses downloadFiles() to check existence and uploadFiles() to write.
1382
+ * No runtime needed on the sandbox host.
1359
1383
  */
1360
1384
  write(filePath: string, content: string): Promise<WriteResult>;
1361
1385
  /**
1362
1386
  * Edit a file by replacing string occurrences.
1387
+ *
1388
+ * Uses downloadFiles() to read, performs string replacement in TypeScript,
1389
+ * then uploadFiles() to write back. No runtime needed on the sandbox host.
1363
1390
  */
1364
1391
  edit(filePath: string, oldString: string, newString: string, replaceAll?: boolean): Promise<EditResult>;
1365
1392
  }
package/dist/index.d.ts CHANGED
@@ -1296,9 +1296,11 @@ declare class CompositeBackend implements BackendProtocol {
1296
1296
  *
1297
1297
  * This class provides default implementations for all SandboxBackendProtocol
1298
1298
  * methods using shell commands executed via execute(). Concrete implementations
1299
- * only need to implement the execute() method.
1299
+ * only need to implement execute(), uploadFiles(), and downloadFiles().
1300
1300
  *
1301
- * Requires Node.js 20+ on the sandbox host.
1301
+ * All shell commands use pure POSIX utilities (awk, grep, find, stat) that are
1302
+ * available on any Linux including Alpine/busybox. No Python, Node.js, or
1303
+ * other runtime is required on the sandbox host.
1302
1304
  */
1303
1305
  declare abstract class BaseSandbox implements SandboxBackendProtocol {
1304
1306
  /** Unique identifier for the sandbox backend */
@@ -1321,6 +1323,9 @@ declare abstract class BaseSandbox implements SandboxBackendProtocol {
1321
1323
  /**
1322
1324
  * List files and directories in the specified directory (non-recursive).
1323
1325
  *
1326
+ * Uses pure POSIX shell (find + stat) via execute() — works on any Linux
1327
+ * including Alpine. No Python or Node.js needed.
1328
+ *
1324
1329
  * @param path - Absolute path to directory
1325
1330
  * @returns List of FileInfo objects for files and directories directly in the directory.
1326
1331
  */
@@ -1328,6 +1333,10 @@ declare abstract class BaseSandbox implements SandboxBackendProtocol {
1328
1333
  /**
1329
1334
  * Read file content with line numbers.
1330
1335
  *
1336
+ * Uses pure POSIX shell (awk) via execute() — only the requested slice
1337
+ * is returned over the wire, making this efficient for large files.
1338
+ * Works on any Linux including Alpine (no Python or Node.js needed).
1339
+ *
1331
1340
  * @param filePath - Absolute file path
1332
1341
  * @param offset - Line offset to start reading from (0-indexed)
1333
1342
  * @param limit - Maximum number of lines to read
@@ -1337,12 +1346,14 @@ declare abstract class BaseSandbox implements SandboxBackendProtocol {
1337
1346
  /**
1338
1347
  * Read file content as raw FileData.
1339
1348
  *
1349
+ * Uses downloadFiles() directly — no runtime needed on the sandbox host.
1350
+ *
1340
1351
  * @param filePath - Absolute file path
1341
1352
  * @returns Raw file content as FileData
1342
1353
  */
1343
1354
  readRaw(filePath: string): Promise<FileData>;
1344
1355
  /**
1345
- * Search for a literal text pattern in files.
1356
+ * Search for a literal text pattern in files using grep.
1346
1357
  *
1347
1358
  * @param pattern - Literal string to search for (NOT regex).
1348
1359
  * @param path - Directory or file path to search in.
@@ -1352,14 +1363,30 @@ declare abstract class BaseSandbox implements SandboxBackendProtocol {
1352
1363
  grepRaw(pattern: string, path?: string, glob?: string | null): Promise<GrepMatch[] | string>;
1353
1364
  /**
1354
1365
  * Structured glob matching returning FileInfo objects.
1366
+ *
1367
+ * Uses pure POSIX shell (find + stat) via execute() to list all files,
1368
+ * then applies glob-to-regex matching in TypeScript. No Python or Node.js
1369
+ * needed on the sandbox host.
1370
+ *
1371
+ * Glob patterns are matched against paths relative to the search base:
1372
+ * - `*` matches any characters except `/`
1373
+ * - `**` matches any characters including `/` (recursive)
1374
+ * - `?` matches a single character except `/`
1375
+ * - `[...]` character classes
1355
1376
  */
1356
1377
  globInfo(pattern: string, path?: string): Promise<FileInfo[]>;
1357
1378
  /**
1358
1379
  * Create a new file with content.
1380
+ *
1381
+ * Uses downloadFiles() to check existence and uploadFiles() to write.
1382
+ * No runtime needed on the sandbox host.
1359
1383
  */
1360
1384
  write(filePath: string, content: string): Promise<WriteResult>;
1361
1385
  /**
1362
1386
  * Edit a file by replacing string occurrences.
1387
+ *
1388
+ * Uses downloadFiles() to read, performs string replacement in TypeScript,
1389
+ * then uploadFiles() to write back. No runtime needed on the sandbox host.
1363
1390
  */
1364
1391
  edit(filePath: string, oldString: string, newString: string, replaceAll?: boolean): Promise<EditResult>;
1365
1392
  }