polpo-ai 0.2.2 → 0.2.4

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.
@@ -0,0 +1,12 @@
1
+ import type { FileSystem, FileStat } from "@polpo-ai/core/filesystem";
2
+ export declare class NodeFileSystem implements FileSystem {
3
+ readFile(path: string): Promise<string>;
4
+ writeFile(path: string, content: string): Promise<void>;
5
+ exists(path: string): Promise<boolean>;
6
+ readdir(path: string): Promise<string[]>;
7
+ mkdir(path: string): Promise<void>;
8
+ remove(path: string): Promise<void>;
9
+ stat(path: string): Promise<FileStat>;
10
+ rename(oldPath: string, newPath: string): Promise<void>;
11
+ }
12
+ //# sourceMappingURL=node-filesystem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-filesystem.d.ts","sourceRoot":"","sources":["../../src/adapters/node-filesystem.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAEtE,qBAAa,cAAe,YAAW,UAAU;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIvC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvD,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAStC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAIxC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAUrC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG9D"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Node.js FileSystem implementation — wraps node:fs.
3
+ *
4
+ * Default implementation for self-hosted mode. Reads/writes to the real filesystem.
5
+ * Drop-in replacement pattern: swap with AgentFS, SandboxProxyFS, etc.
6
+ */
7
+ import { readFile, writeFile, mkdir, rm, stat, readdir, rename, access } from "node:fs/promises";
8
+ export class NodeFileSystem {
9
+ async readFile(path) {
10
+ return readFile(path, "utf-8");
11
+ }
12
+ async writeFile(path, content) {
13
+ await writeFile(path, content, "utf-8");
14
+ }
15
+ async exists(path) {
16
+ try {
17
+ await access(path);
18
+ return true;
19
+ }
20
+ catch {
21
+ return false;
22
+ }
23
+ }
24
+ async readdir(path) {
25
+ return readdir(path);
26
+ }
27
+ async mkdir(path) {
28
+ await mkdir(path, { recursive: true });
29
+ }
30
+ async remove(path) {
31
+ await rm(path, { recursive: true, force: true });
32
+ }
33
+ async stat(path) {
34
+ const s = await stat(path);
35
+ return {
36
+ size: s.size,
37
+ isDirectory: s.isDirectory(),
38
+ isFile: s.isFile(),
39
+ modifiedAt: s.mtime,
40
+ };
41
+ }
42
+ async rename(oldPath, newPath) {
43
+ await rename(oldPath, newPath);
44
+ }
45
+ }
46
+ //# sourceMappingURL=node-filesystem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-filesystem.js","sourceRoot":"","sources":["../../src/adapters/node-filesystem.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAGjG,MAAM,OAAO,cAAc;IACzB,KAAK,CAAC,QAAQ,CAAC,IAAY;QACzB,OAAO,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,OAAe;QAC3C,MAAM,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY;QACvB,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAY;QACxB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAY;QACtB,MAAM,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY;QACvB,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAY;QACrB,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO;YACL,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE;YAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;YAClB,UAAU,EAAE,CAAC,CAAC,KAAK;SACpB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,OAAe;QAC3C,MAAM,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC;CACF"}
@@ -0,0 +1,5 @@
1
+ import type { Shell, ShellOptions, ShellResult } from "@polpo-ai/core/shell";
2
+ export declare class NodeShell implements Shell {
3
+ execute(command: string, options?: ShellOptions): Promise<ShellResult>;
4
+ }
5
+ //# sourceMappingURL=node-shell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-shell.d.ts","sourceRoot":"","sources":["../../src/adapters/node-shell.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAG7E,qBAAa,SAAU,YAAW,KAAK;IAC/B,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;CAsB7E"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Node.js Shell implementation — wraps execa.
3
+ *
4
+ * Default implementation for self-hosted mode. Executes real shell commands.
5
+ * Drop-in replacement pattern: swap with JustBashShell, SandboxProxyShell, etc.
6
+ */
7
+ import { execaCommand } from "execa";
8
+ import { bashSafeEnv } from "../tools/safe-env.js";
9
+ export class NodeShell {
10
+ async execute(command, options) {
11
+ try {
12
+ const result = await execaCommand(command, {
13
+ shell: true,
14
+ cwd: options?.cwd,
15
+ env: { ...bashSafeEnv(), ...options?.env },
16
+ timeout: options?.timeout,
17
+ reject: false,
18
+ });
19
+ return {
20
+ stdout: result.stdout,
21
+ stderr: result.stderr,
22
+ exitCode: result.exitCode ?? 0,
23
+ };
24
+ }
25
+ catch (err) {
26
+ return {
27
+ stdout: "",
28
+ stderr: err.message ?? String(err),
29
+ exitCode: 1,
30
+ };
31
+ }
32
+ }
33
+ }
34
+ //# sourceMappingURL=node-shell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-shell.js","sourceRoot":"","sources":["../../src/adapters/node-shell.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAErC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,OAAO,SAAS;IACpB,KAAK,CAAC,OAAO,CAAC,OAAe,EAAE,OAAsB;QACnD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE;gBACzC,KAAK,EAAE,IAAI;gBACX,GAAG,EAAE,OAAO,EAAE,GAAG;gBACjB,GAAG,EAAE,EAAE,GAAG,WAAW,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE;gBAC1C,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,MAAM,EAAE,KAAK;aACd,CAAC,CAAC;YACH,OAAO;gBACL,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,CAAC;aAC/B,CAAC;QACJ,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO;gBACL,MAAM,EAAE,EAAE;gBACV,MAAM,EAAE,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC;gBAClC,QAAQ,EAAE,CAAC;aACZ,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
@@ -5,6 +5,8 @@
5
5
  * All file-based tools enforce path sandboxing when allowedPaths is provided.
6
6
  * The bash tool runs with cwd set to the agent's primary working directory.
7
7
  */
8
+ import type { FileSystem } from "@polpo-ai/core/filesystem";
9
+ import type { Shell } from "@polpo-ai/core/shell";
8
10
  import type { AgentTool } from "@mariozechner/pi-agent-core";
9
11
  import type { ResolvedVault } from "../vault/index.js";
10
12
  import type { WhatsAppStore } from "../stores/whatsapp-store.js";
@@ -32,7 +34,7 @@ type CodingToolName = "read" | "write" | "edit" | "bash" | "glob" | "grep" | "ls
32
34
  * - http_fetch, http_download
33
35
  * - vault_get, vault_list (when vault is provided)
34
36
  */
35
- export declare function createCodingTools(cwd: string, allowedTools?: string[], allowedPaths?: string[], outputDir?: string, vault?: ResolvedVault): AgentTool<any>[];
37
+ export declare function createCodingTools(cwd: string, allowedTools?: string[], allowedPaths?: string[], outputDir?: string, vault?: ResolvedVault, fs?: FileSystem, shell?: Shell): AgentTool<any>[];
36
38
  export type { BrowserToolName } from "./browser-tools.js";
37
39
  export type { HttpToolName } from "./http-tools.js";
38
40
  export type { EmailToolName } from "./email-tools.js";
@@ -77,6 +79,10 @@ export interface CreateAllToolsOptions {
77
79
  whatsappSendMessage?: (jid: string, text: string) => Promise<string | undefined>;
78
80
  /** Polpo directory (.polpo/) for Ink tools. */
79
81
  polpoDir?: string;
82
+ /** FileSystem implementation (default: NodeFileSystem). */
83
+ fs?: FileSystem;
84
+ /** Shell implementation (default: NodeShell). */
85
+ shell?: Shell;
80
86
  }
81
87
  /**
82
88
  * Create all available tools for an agent, including extended tool categories.
@@ -1 +1 @@
1
- {"version":3,"file":"coding-tools.d.ts","sourceRoot":"","sources":["../../src/tools/coding-tools.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EAAE,SAAS,EAAmB,MAAM,6BAA6B,CAAC;AAM9E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAySjE;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAQ3E;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAYjG;AAID,oDAAoD;AACpD,KAAK,cAAc,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAIlF;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CA+B5J;AAkBD,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,iDAAiD;AACjD,MAAM,MAAM,gBAAgB,GAAG,cAAc,GACzC,OAAO,oBAAoB,EAAE,eAAe,GAC5C,OAAO,iBAAiB,EAAE,YAAY,GACtC,OAAO,kBAAkB,EAAE,aAAa,GACxC,OAAO,oBAAoB,EAAE,eAAe,GAC5C,OAAO,kBAAkB,EAAE,aAAa,GACxC,OAAO,kBAAkB,EAAE,aAAa,GACxC,OAAO,kBAAkB,EAAE,aAAa,GACxC,OAAO,kBAAkB,EAAE,aAAa,GACxC,OAAO,gBAAgB,EAAE,WAAW,GACpC,OAAO,iBAAiB,EAAE,YAAY,GACtC,OAAO,mBAAmB,EAAE,cAAc,GAC1C,OAAO,qBAAqB,EAAE,gBAAgB,GAC9C,OAAO,kBAAkB,EAAE,aAAa,GACxC,OAAO,gBAAgB,EAAE,WAAW,CAAC;AAEzC,mEAAmE;AACnE,eAAO,MAAM,uBAAuB,EAAE,MAAM,EAgB3C,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,sCAAsC;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ;;2DAEuD;IACvD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,+BAA+B;IAC/B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,+DAA+D;IAC/D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;8FAC0F;IAC1F,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,+CAA+C;IAC/C,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,sDAAsD;IACtD,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,uDAAuD;IACvD,mBAAmB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACjF,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CA+E9F"}
1
+ {"version":3,"file":"coding-tools.d.ts","sourceRoot":"","sources":["../../src/tools/coding-tools.ts"],"names":[],"mappings":"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"}
@@ -5,12 +5,11 @@
5
5
  * All file-based tools enforce path sandboxing when allowedPaths is provided.
6
6
  * The bash tool runs with cwd set to the agent's primary working directory.
7
7
  */
8
- import { readFileSync, writeFileSync, mkdirSync, readdirSync, statSync } from "node:fs";
9
- import { execSync, spawn as spawnChild } from "node:child_process";
10
8
  import { join, dirname, resolve, relative } from "node:path";
9
+ import { NodeFileSystem } from "../adapters/node-filesystem.js";
10
+ import { NodeShell } from "../adapters/node-shell.js";
11
11
  import { Type } from "@sinclair/typebox";
12
12
  import { resolveAllowedPaths, assertPathAllowed } from "./path-sandbox.js";
13
- import { bashSafeEnv } from "./safe-env.js";
14
13
  import { createOutcomeTools as createOutcomeToolsCore } from "./outcome-tools.js";
15
14
  import { createHttpTools as createHttpToolsCore } from "./http-tools.js";
16
15
  import { createVaultToolsCore } from "./vault-tools.js";
@@ -23,7 +22,7 @@ const ReadSchema = Type.Object({
23
22
  offset: Type.Optional(Type.Number({ description: "Line number to start from (1-indexed)" })),
24
23
  limit: Type.Optional(Type.Number({ description: "Max number of lines to read" })),
25
24
  });
26
- function createReadTool(cwd, sandbox) {
25
+ function createReadTool(cwd, sandbox, fs) {
27
26
  return {
28
27
  name: "read",
29
28
  label: "Read File",
@@ -32,7 +31,7 @@ function createReadTool(cwd, sandbox) {
32
31
  async execute(_toolCallId, params) {
33
32
  const filePath = resolve(cwd, params.path);
34
33
  assertPathAllowed(filePath, sandbox, "read");
35
- const raw = readFileSync(filePath, "utf-8");
34
+ const raw = await fs.readFile(filePath);
36
35
  const allLines = raw.split("\n");
37
36
  const offset = (params.offset ?? 1) - 1;
38
37
  const limit = params.limit ?? MAX_READ_LINES;
@@ -52,7 +51,7 @@ const WriteSchema = Type.Object({
52
51
  path: Type.String({ description: "Absolute or relative path to write to" }),
53
52
  content: Type.String({ description: "File content to write" }),
54
53
  });
55
- function createWriteTool(cwd, sandbox) {
54
+ function createWriteTool(cwd, sandbox, fs) {
56
55
  return {
57
56
  name: "write",
58
57
  label: "Write File",
@@ -61,8 +60,8 @@ function createWriteTool(cwd, sandbox) {
61
60
  async execute(_toolCallId, params) {
62
61
  const filePath = resolve(cwd, params.path);
63
62
  assertPathAllowed(filePath, sandbox, "write");
64
- mkdirSync(dirname(filePath), { recursive: true });
65
- writeFileSync(filePath, params.content, "utf-8");
63
+ await fs.mkdir(dirname(filePath));
64
+ await fs.writeFile(filePath, params.content);
66
65
  return {
67
66
  content: [{ type: "text", text: `File written: ${filePath} (${params.content.length} bytes)` }],
68
67
  details: { path: filePath, bytes: params.content.length },
@@ -76,7 +75,7 @@ const EditSchema = Type.Object({
76
75
  old_text: Type.String({ description: "Exact text to find and replace (must be unique in the file)" }),
77
76
  new_text: Type.String({ description: "Replacement text" }),
78
77
  });
79
- function createEditTool(cwd, sandbox) {
78
+ function createEditTool(cwd, sandbox, fs) {
80
79
  return {
81
80
  name: "edit",
82
81
  label: "Edit File",
@@ -85,7 +84,7 @@ function createEditTool(cwd, sandbox) {
85
84
  async execute(_toolCallId, params) {
86
85
  const filePath = resolve(cwd, params.path);
87
86
  assertPathAllowed(filePath, sandbox, "edit");
88
- const content = readFileSync(filePath, "utf-8");
87
+ const content = await fs.readFile(filePath);
89
88
  const occurrences = content.split(params.old_text).length - 1;
90
89
  if (occurrences === 0) {
91
90
  return {
@@ -100,7 +99,7 @@ function createEditTool(cwd, sandbox) {
100
99
  };
101
100
  }
102
101
  const updated = content.replace(params.old_text, params.new_text);
103
- writeFileSync(filePath, updated, "utf-8");
102
+ await fs.writeFile(filePath, updated);
104
103
  return {
105
104
  content: [{ type: "text", text: `Edited ${filePath}: replaced ${params.old_text.length} chars with ${params.new_text.length} chars` }],
106
105
  details: { path: filePath },
@@ -113,55 +112,31 @@ const BashSchema = Type.Object({
113
112
  command: Type.String({ description: "Shell command to execute" }),
114
113
  timeout: Type.Optional(Type.Number({ description: "Timeout in milliseconds (default: 120000)" })),
115
114
  });
116
- function createBashTool(cwd) {
115
+ function createBashTool(cwd, shell) {
117
116
  return {
118
117
  name: "bash",
119
118
  label: "Execute Shell",
120
119
  description: "Execute a shell command and return its output. Use for running tests, installing packages, git operations, etc.",
121
120
  parameters: BashSchema,
122
- async execute(_toolCallId, params, signal) {
121
+ async execute(_toolCallId, params) {
123
122
  const timeout = params.timeout ?? 120_000;
124
- return new Promise((res) => {
125
- const child = spawnChild(params.command, {
126
- shell: true,
127
- cwd,
128
- env: bashSafeEnv(),
129
- stdio: ["ignore", "pipe", "pipe"],
130
- });
131
- const chunks = [];
132
- let killed = false;
133
- const timer = setTimeout(() => {
134
- killed = true;
135
- child.kill("SIGTERM");
136
- setTimeout(() => { if (!child.killed)
137
- child.kill("SIGKILL"); }, 3000);
138
- }, timeout);
139
- const onAbort = () => { killed = true; child.kill("SIGTERM"); };
140
- signal?.addEventListener("abort", onAbort, { once: true });
141
- child.stdout.on("data", (d) => chunks.push(d));
142
- child.stderr.on("data", (d) => chunks.push(d));
143
- child.on("close", (code) => {
144
- clearTimeout(timer);
145
- signal?.removeEventListener("abort", onAbort);
146
- let output = Buffer.concat(chunks).toString("utf-8");
147
- if (output.length > MAX_OUTPUT_BYTES) {
148
- output = output.slice(-MAX_OUTPUT_BYTES) + "\n[truncated to last 30KB]";
149
- }
150
- const suffix = killed ? "\n[timed out]" : "";
151
- res({
152
- content: [{ type: "text", text: `Exit code: ${code ?? 1}\n${output}${suffix}` }],
153
- details: { command: params.command, exitCode: code ?? 1 },
154
- });
155
- });
156
- child.on("error", (err) => {
157
- clearTimeout(timer);
158
- signal?.removeEventListener("abort", onAbort);
159
- res({
160
- content: [{ type: "text", text: `Error: ${err.message}` }],
161
- details: { command: params.command, error: err.message },
162
- });
163
- });
164
- });
123
+ try {
124
+ const result = await shell.execute(params.command, { cwd, timeout });
125
+ let output = result.stdout + (result.stderr ? "\n" + result.stderr : "");
126
+ if (output.length > MAX_OUTPUT_BYTES) {
127
+ output = output.slice(-MAX_OUTPUT_BYTES) + "\n[truncated to last 30KB]";
128
+ }
129
+ return {
130
+ content: [{ type: "text", text: `Exit code: ${result.exitCode}\n${output}` }],
131
+ details: { command: params.command, exitCode: result.exitCode },
132
+ };
133
+ }
134
+ catch (err) {
135
+ return {
136
+ content: [{ type: "text", text: `Error: ${err.message}` }],
137
+ details: { command: params.command, error: err.message },
138
+ };
139
+ }
165
140
  },
166
141
  };
167
142
  }
@@ -170,7 +145,7 @@ const GlobSchema = Type.Object({
170
145
  pattern: Type.String({ description: "Glob pattern (e.g. '**/*.ts', 'src/**/*.js')" }),
171
146
  path: Type.Optional(Type.String({ description: "Directory to search in (default: cwd)" })),
172
147
  });
173
- function createGlobTool(cwd, sandbox) {
148
+ function createGlobTool(cwd, sandbox, shell) {
174
149
  return {
175
150
  name: "glob",
176
151
  label: "Find Files",
@@ -180,18 +155,17 @@ function createGlobTool(cwd, sandbox) {
180
155
  const searchDir = params.path ? resolve(cwd, params.path) : cwd;
181
156
  assertPathAllowed(searchDir, sandbox, "glob");
182
157
  try {
183
- // Use find command as cross-platform glob
184
- const result = execSync(`find ${JSON.stringify(searchDir)} -type f -name ${JSON.stringify(params.pattern)} 2>/dev/null | head -200`, { encoding: "utf-8", timeout: 10_000 }).trim();
185
- // If find with -name doesn't work well for globs, fallback to shell glob
186
- if (!result) {
187
- const shResult = execSync(`cd ${JSON.stringify(searchDir)} && ls -1 ${JSON.stringify(params.pattern)} 2>/dev/null | head -200`, { encoding: "utf-8", timeout: 10_000, shell: "/bin/bash" }).trim();
188
- const files = shResult ? shResult.split("\n") : [];
158
+ const result = await shell.execute(`find ${JSON.stringify(searchDir)} -type f -name ${JSON.stringify(params.pattern)} 2>/dev/null | head -200`, { cwd, timeout: 10_000 });
159
+ const output = result.stdout.trim();
160
+ if (!output) {
161
+ const fallback = await shell.execute(`cd ${JSON.stringify(searchDir)} && ls -1 ${JSON.stringify(params.pattern)} 2>/dev/null | head -200`, { cwd, timeout: 10_000 });
162
+ const files = fallback.stdout.trim() ? fallback.stdout.trim().split("\n") : [];
189
163
  return {
190
164
  content: [{ type: "text", text: files.length > 0 ? files.join("\n") : "No files found" }],
191
165
  details: { pattern: params.pattern, count: files.length },
192
166
  };
193
167
  }
194
- const files = result.split("\n").map(f => relative(cwd, f));
168
+ const files = output.split("\n").map((f) => relative(cwd, f));
195
169
  return {
196
170
  content: [{ type: "text", text: files.join("\n") }],
197
171
  details: { pattern: params.pattern, count: files.length },
@@ -212,7 +186,7 @@ const GrepSchema = Type.Object({
212
186
  path: Type.Optional(Type.String({ description: "File or directory to search in (default: cwd)" })),
213
187
  include: Type.Optional(Type.String({ description: "File glob filter (e.g. '*.ts')" })),
214
188
  });
215
- function createGrepTool(cwd, sandbox) {
189
+ function createGrepTool(cwd, sandbox, shell) {
216
190
  return {
217
191
  name: "grep",
218
192
  label: "Search Code",
@@ -223,7 +197,8 @@ function createGrepTool(cwd, sandbox) {
223
197
  assertPathAllowed(searchPath, sandbox, "grep");
224
198
  const includeFlag = params.include ? `--include=${JSON.stringify(params.include)}` : "";
225
199
  try {
226
- const result = execSync(`grep -rn ${includeFlag} -E ${JSON.stringify(params.pattern)} ${JSON.stringify(searchPath)} 2>/dev/null | head -100`, { encoding: "utf-8", timeout: 15_000 }).trim();
200
+ const r = await shell.execute(`grep -rn ${includeFlag} -E ${JSON.stringify(params.pattern)} ${JSON.stringify(searchPath)} 2>/dev/null | head -100`, { cwd, timeout: 15_000 });
201
+ const result = r.stdout.trim();
227
202
  if (!result) {
228
203
  return {
229
204
  content: [{ type: "text", text: "No matches found" }],
@@ -249,7 +224,7 @@ function createGrepTool(cwd, sandbox) {
249
224
  const LsSchema = Type.Object({
250
225
  path: Type.Optional(Type.String({ description: "Directory to list (default: cwd)" })),
251
226
  });
252
- function createLsTool(cwd, sandbox) {
227
+ function createLsTool(cwd, sandbox, fs) {
253
228
  return {
254
229
  name: "ls",
255
230
  label: "List Directory",
@@ -258,15 +233,17 @@ function createLsTool(cwd, sandbox) {
258
233
  async execute(_toolCallId, params) {
259
234
  const dir = params.path ? resolve(cwd, params.path) : cwd;
260
235
  assertPathAllowed(dir, sandbox, "ls");
261
- const entries = readdirSync(dir).map(name => {
236
+ const names = await fs.readdir(dir);
237
+ const entries = [];
238
+ for (const name of names) {
262
239
  try {
263
- const stat = statSync(join(dir, name));
264
- return stat.isDirectory() ? `${name}/` : name;
240
+ const s = await fs.stat(join(dir, name));
241
+ entries.push(s.isDirectory ? `${name}/` : name);
265
242
  }
266
243
  catch {
267
- return name;
244
+ entries.push(name);
268
245
  }
269
- });
246
+ }
270
247
  return {
271
248
  content: [{ type: "text", text: entries.join("\n") }],
272
249
  details: { path: dir, count: entries.length },
@@ -321,16 +298,18 @@ const ALL_TOOL_NAMES = ["read", "write", "edit", "bash", "glob", "grep", "ls"];
321
298
  * - http_fetch, http_download
322
299
  * - vault_get, vault_list (when vault is provided)
323
300
  */
324
- export function createCodingTools(cwd, allowedTools, allowedPaths, outputDir, vault) {
301
+ export function createCodingTools(cwd, allowedTools, allowedPaths, outputDir, vault, fs, shell) {
302
+ const _fs = fs ?? new NodeFileSystem();
303
+ const _shell = shell ?? new NodeShell();
325
304
  const sandbox = resolveAllowedPaths(cwd, allowedPaths);
326
305
  const factories = {
327
- read: () => createReadTool(cwd, sandbox),
328
- write: () => createWriteTool(cwd, sandbox),
329
- edit: () => createEditTool(cwd, sandbox),
330
- bash: () => createBashTool(cwd),
331
- glob: () => createGlobTool(cwd, sandbox),
332
- grep: () => createGrepTool(cwd, sandbox),
333
- ls: () => createLsTool(cwd, sandbox),
306
+ read: () => createReadTool(cwd, sandbox, _fs),
307
+ write: () => createWriteTool(cwd, sandbox, _fs),
308
+ edit: () => createEditTool(cwd, sandbox, _fs),
309
+ bash: () => createBashTool(cwd, _shell),
310
+ glob: () => createGlobTool(cwd, sandbox, _shell),
311
+ grep: () => createGrepTool(cwd, sandbox, _shell),
312
+ ls: () => createLsTool(cwd, sandbox, _fs),
334
313
  };
335
314
  const names = allowedTools
336
315
  ? ALL_TOOL_NAMES.filter(n => allowedTools.some(a => a.toLowerCase() === n))
@@ -401,7 +380,7 @@ export async function createAllTools(options) {
401
380
  // Helper: check if any tool from a category is in the (expanded) allowedTools list
402
381
  const categoryRequested = (names) => allowedTools?.some(a => names.some(n => n === a.toLowerCase()));
403
382
  // Core coding tools (always included unless filtered out) — includes vault_get/vault_list
404
- tools.push(...createCodingTools(cwd, allowedTools, allowedPaths, options.outputDir, options.vault));
383
+ tools.push(...createCodingTools(cwd, allowedTools, allowedPaths, options.outputDir, options.vault, options.fs, options.shell));
405
384
  // Ink tools (always included when polpoDir is available)
406
385
  if (options.polpoDir) {
407
386
  tools.push(...createInkTools(options.polpoDir, allowedTools));
@@ -1 +1 @@
1
- {"version":3,"file":"coding-tools.js","sourceRoot":"","sources":["../../src/tools/coding-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coding-tools.js","sourceRoot":"","sources":["../../src/tools/coding-tools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "polpo-ai",
3
- "version": "0.2.2",
3
+ "version": "0.2.4",
4
4
  "description": "The open-source platform for AI agent teams",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -34,6 +34,27 @@
34
34
  "README.md",
35
35
  "LICENSE"
36
36
  ],
37
+ "scripts": {
38
+ "build": "pnpm --filter @polpo-ai/core build && pnpm --filter @polpo-ai/vault-crypto build && pnpm --filter @polpo-ai/drizzle build && tsc",
39
+ "build:all": "./node_modules/.bin/tsc && pnpm --filter @polpo-ai/react build && pnpm --filter ui build",
40
+ "build:sdk": "pnpm --filter @polpo-ai/react build",
41
+ "build:ui": "pnpm --filter ui build",
42
+ "dev": "tsc --watch",
43
+ "dev:serve": "tsx --watch src/cli/index.ts serve -p 3890",
44
+ "start:serve": "node dist/cli/index.js serve -p 3890",
45
+ "dev:ui": "pnpm --filter ui dev",
46
+ "dev:docs": "cd docs && npx mintlify@latest dev",
47
+ "dev:all": "pnpm build:sdk && concurrently -n server,ui,docs -c blue,green,magenta \"pnpm dev:serve\" \"pnpm dev:ui\" \"pnpm dev:docs\"",
48
+ "start": "node dist/cli/index.js",
49
+ "start:all": "pnpm build:all && node dist/cli/index.js serve -p 3890",
50
+ "test": "vitest",
51
+ "test:coverage": "vitest run --coverage",
52
+ "typecheck": "pnpm --filter @polpo-ai/core build && pnpm --filter @polpo-ai/drizzle build && ./node_modules/.bin/tsc --noEmit",
53
+ "lint": "pnpm --filter ui lint",
54
+ "clean": "rm -rf dist packages/react-sdk/dist ui/dist",
55
+ "prepublishOnly": "./node_modules/.bin/tsc && pnpm build:sdk",
56
+ "generate:openapi": "node -e \"const{createApp}=require('./dist/server/app.js');const app=createApp(null,null);const fs=require('fs');app.fetch(new Request('http://localhost/api/v1/openapi.json')).then(r=>r.json()).then(j=>{fs.writeFileSync('docs/openapi.json',JSON.stringify(j,null,2));console.log('Generated openapi.json with',Object.keys(j.paths).length,'paths')})\""
57
+ },
37
58
  "keywords": [
38
59
  "ai",
39
60
  "agents",
@@ -51,6 +72,7 @@
51
72
  "url": "https://github.com/lumea-labs/polpo/issues"
52
73
  },
53
74
  "author": "OpenPolpo Contributors",
75
+ "packageManager": "pnpm@10.29.3",
54
76
  "engines": {
55
77
  "node": ">=20.0.0"
56
78
  },
@@ -59,12 +81,15 @@
59
81
  "@hono/zod-openapi": "^1.2.2",
60
82
  "@mariozechner/pi-agent-core": "^0.57.1",
61
83
  "@mariozechner/pi-ai": "^0.57.1",
84
+ "@polpo-ai/core": "workspace:*",
85
+ "@polpo-ai/vault-crypto": "workspace:*",
62
86
  "@sinclair/typebox": "^0.34.48",
63
87
  "@whiskeysockets/baileys": "7.0.0-rc.9",
64
88
  "chalk": "^5.4.1",
65
89
  "commander": "^13.1.0",
66
90
  "docx": "^9.5.3",
67
91
  "exceljs": "^4.4.0",
92
+ "execa": "^9.6.1",
68
93
  "hono": "^4.11.9",
69
94
  "imapflow": "^1.2.10",
70
95
  "mammoth": "^1.11.0",
@@ -73,16 +98,14 @@
73
98
  "pdf-lib": "^1.17.1",
74
99
  "qrcode": "^1.5.4",
75
100
  "yaml": "^2.7.0",
76
- "zod": "^4.3.6",
77
- "@polpo-ai/core": "0.2.2",
78
- "@polpo-ai/vault-crypto": "0.2.2"
101
+ "zod": "^4.3.6"
79
102
  },
80
103
  "optionalDependencies": {
104
+ "@polpo-ai/drizzle": "workspace:*",
81
105
  "better-sqlite3": "^12.6.2",
82
106
  "drizzle-orm": "^0.44.0",
83
107
  "playwright-core": "^1.52.0",
84
- "postgres": "^3.4.0",
85
- "@polpo-ai/drizzle": "0.2.2"
108
+ "postgres": "^3.4.0"
86
109
  },
87
110
  "devDependencies": {
88
111
  "@types/better-sqlite3": "^7.6.13",
@@ -95,24 +118,19 @@
95
118
  "typescript": "^5.7.3",
96
119
  "vitest": "^3.0.4"
97
120
  },
98
- "scripts": {
99
- "build": "pnpm --filter @polpo-ai/core build && pnpm --filter @polpo-ai/vault-crypto build && pnpm --filter @polpo-ai/drizzle build && tsc",
100
- "build:all": "./node_modules/.bin/tsc && pnpm --filter @polpo-ai/react build && pnpm --filter ui build",
101
- "build:sdk": "pnpm --filter @polpo-ai/react build",
102
- "build:ui": "pnpm --filter ui build",
103
- "dev": "tsc --watch",
104
- "dev:serve": "tsx --watch src/cli/index.ts serve -p 3890",
105
- "start:serve": "node dist/cli/index.js serve -p 3890",
106
- "dev:ui": "pnpm --filter ui dev",
107
- "dev:docs": "cd docs && npx mintlify@latest dev",
108
- "dev:all": "pnpm build:sdk && concurrently -n server,ui,docs -c blue,green,magenta \"pnpm dev:serve\" \"pnpm dev:ui\" \"pnpm dev:docs\"",
109
- "start": "node dist/cli/index.js",
110
- "start:all": "pnpm build:all && node dist/cli/index.js serve -p 3890",
111
- "test": "vitest",
112
- "test:coverage": "vitest run --coverage",
113
- "typecheck": "pnpm --filter @polpo-ai/core build && pnpm --filter @polpo-ai/drizzle build && ./node_modules/.bin/tsc --noEmit",
114
- "lint": "pnpm --filter ui lint",
115
- "clean": "rm -rf dist packages/react-sdk/dist ui/dist",
116
- "generate:openapi": "node -e \"const{createApp}=require('./dist/server/app.js');const app=createApp(null,null);const fs=require('fs');app.fetch(new Request('http://localhost/api/v1/openapi.json')).then(r=>r.json()).then(j=>{fs.writeFileSync('docs/openapi.json',JSON.stringify(j,null,2));console.log('Generated openapi.json with',Object.keys(j.paths).length,'paths')})\""
121
+ "pnpm": {
122
+ "onlyBuiltDependencies": [
123
+ "@swc/core",
124
+ "better-sqlite3",
125
+ "esbuild",
126
+ "electron",
127
+ "sharp",
128
+ "@whiskeysockets/baileys",
129
+ "protobufjs"
130
+ ],
131
+ "patchedDependencies": {
132
+ "@radix-ui/react-popper@1.2.8": "patches/@radix-ui__react-popper@1.2.8.patch",
133
+ "@radix-ui/react-slot@1.2.3": "patches/@radix-ui__react-slot@1.2.3.patch"
134
+ }
117
135
  }
118
- }
136
+ }