@polpo-ai/tools 0.2.4 → 0.2.5
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.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/system-tools.d.ts +99 -0
- package/dist/system-tools.d.ts.map +1 -0
- package/dist/system-tools.js +434 -0
- package/dist/system-tools.js.map +1 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* browser_*, email_*, excel_*, pdf_*, docx_*,
|
|
11
11
|
* image_*, audio_*, search_*, phone_*, whatsapp_*, memory_*
|
|
12
12
|
*/
|
|
13
|
-
export { createCodingTools, createAllTools, matchToolPattern, expandToolWildcards } from "./
|
|
13
|
+
export { createSystemTools, createSystemTools as createCodingTools, createAllTools, matchToolPattern, expandToolWildcards } from "./system-tools.js";
|
|
14
14
|
export { createOutcomeTools } from "./outcome-tools.js";
|
|
15
15
|
export { createHttpTools } from "./http-tools.js";
|
|
16
16
|
export { createVaultToolsCore } from "./vault-tools.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,IAAI,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAGrJ,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAGxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAGrD,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* image_*, audio_*, search_*, phone_*, whatsapp_*, memory_*
|
|
12
12
|
*/
|
|
13
13
|
// Core tool factory
|
|
14
|
-
export { createCodingTools, createAllTools, matchToolPattern, expandToolWildcards } from "./
|
|
14
|
+
export { createSystemTools, createSystemTools as createCodingTools, createAllTools, matchToolPattern, expandToolWildcards } from "./system-tools.js";
|
|
15
15
|
// Individual tool factories (for custom composition)
|
|
16
16
|
export { createOutcomeTools } from "./outcome-tools.js";
|
|
17
17
|
export { createHttpTools } from "./http-tools.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,oBAAoB;AACpB,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,oBAAoB;AACpB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,IAAI,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAErJ,qDAAqD;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,0BAA0B;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,8CAA8C;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,qBAAqB;AACrB,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Standard coding tools for the native pi adapter.
|
|
3
|
+
* Each tool implements pi-agent-core's AgentTool interface with TypeBox schemas.
|
|
4
|
+
*
|
|
5
|
+
* All file-based tools enforce path sandboxing when allowedPaths is provided.
|
|
6
|
+
* The bash tool runs with cwd set to the agent's primary working directory.
|
|
7
|
+
*/
|
|
8
|
+
import type { FileSystem } from "@polpo-ai/core/filesystem";
|
|
9
|
+
import type { Shell } from "@polpo-ai/core/shell";
|
|
10
|
+
import type { AgentTool } from "@mariozechner/pi-agent-core";
|
|
11
|
+
import type { ResolvedVault } from "./types.js";
|
|
12
|
+
import type { WhatsAppStore } from "./types.js";
|
|
13
|
+
/**
|
|
14
|
+
* Check if a tool name matches an allowed pattern.
|
|
15
|
+
* Supports exact match and trailing wildcard: "browser_*" matches "browser_navigate".
|
|
16
|
+
*/
|
|
17
|
+
export declare function matchToolPattern(pattern: string, toolName: string): boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Expand wildcard patterns in an allowedTools list against all known tool names.
|
|
20
|
+
* E.g. ["browser_*", "http_fetch"] → ["browser_navigate", "browser_click", ..., "http_fetch"].
|
|
21
|
+
* Non-wildcard entries pass through as-is (even if not in allNames — factory will just skip them).
|
|
22
|
+
*/
|
|
23
|
+
export declare function expandToolWildcards(allowedTools: string[], allNames: readonly string[]): string[];
|
|
24
|
+
/** Tool name to filter by in allowedTools config */
|
|
25
|
+
type SystemToolName = "read" | "write" | "edit" | "bash" | "glob" | "grep" | "ls";
|
|
26
|
+
/**
|
|
27
|
+
* Create the standard set of coding tools scoped to a working directory.
|
|
28
|
+
* If allowedTools is provided, only those tools are included.
|
|
29
|
+
* If allowedPaths is provided, file-based tools enforce path sandboxing.
|
|
30
|
+
*
|
|
31
|
+
* Core tools (always included regardless of allowedTools):
|
|
32
|
+
* - read, write, edit, bash, glob, grep, ls
|
|
33
|
+
* - register_outcome
|
|
34
|
+
* - http_fetch, http_download
|
|
35
|
+
* - vault_get, vault_list (when vault is provided)
|
|
36
|
+
*/
|
|
37
|
+
export declare function createSystemTools(cwd: string, allowedTools?: string[], allowedPaths?: string[], outputDir?: string, vault?: ResolvedVault, fs?: FileSystem, shell?: Shell): AgentTool<any>[];
|
|
38
|
+
export type { BrowserToolName } from "./browser-tools.js";
|
|
39
|
+
export type { HttpToolName } from "./http-tools.js";
|
|
40
|
+
export type { EmailToolName } from "./email-tools.js";
|
|
41
|
+
export type { OutcomeToolName } from "./outcome-tools.js";
|
|
42
|
+
export type { VaultToolName } from "./vault-tools.js";
|
|
43
|
+
export type { ImageToolName } from "./image-tools.js";
|
|
44
|
+
export type { AudioToolName } from "./audio-tools.js";
|
|
45
|
+
export type { ExcelToolName } from "./excel-tools.js";
|
|
46
|
+
export type { PdfToolName } from "./pdf-tools.js";
|
|
47
|
+
export type { DocxToolName } from "./docx-tools.js";
|
|
48
|
+
export type { SearchToolName } from "./search-tools.js";
|
|
49
|
+
export type { WhatsAppToolName } from "./whatsapp-tools.js";
|
|
50
|
+
export type { PhoneToolName } from "./phone-tools.js";
|
|
51
|
+
export type InkToolName = string;
|
|
52
|
+
/** All known tool names across all categories */
|
|
53
|
+
export type ExtendedToolName = SystemToolName | import("./browser-tools.js").BrowserToolName | import("./http-tools.js").HttpToolName | import("./email-tools.js").EmailToolName | import("./outcome-tools.js").OutcomeToolName | import("./vault-tools.js").VaultToolName | import("./image-tools.js").ImageToolName | import("./audio-tools.js").AudioToolName | import("./excel-tools.js").ExcelToolName | import("./pdf-tools.js").PdfToolName | import("./docx-tools.js").DocxToolName | import("./search-tools.js").SearchToolName | import("./whatsapp-tools.js").WhatsAppToolName | import("./phone-tools.js").PhoneToolName | InkToolName;
|
|
54
|
+
/** All available tool names for documentation/config validation */
|
|
55
|
+
export declare const ALL_EXTENDED_TOOL_NAMES: string[];
|
|
56
|
+
export interface CreateAllToolsOptions {
|
|
57
|
+
/** Working directory for the agent */
|
|
58
|
+
cwd: string;
|
|
59
|
+
/** Tool name filter — only include tools with these names.
|
|
60
|
+
* Extended tools are auto-loaded when their names appear here (e.g. "browser_*", "email_*", "image_*", "video_*", "audio_*", "excel_*", "pdf_*", "docx_*").
|
|
61
|
+
* If omitted, only core coding tools are included. */
|
|
62
|
+
allowedTools?: string[];
|
|
63
|
+
/** Filesystem sandbox paths */
|
|
64
|
+
allowedPaths?: string[];
|
|
65
|
+
/** Browser session name for isolation (default: "default"). */
|
|
66
|
+
browserSession?: string;
|
|
67
|
+
/** Browser profile directory for agent-browser persistent state (cookies, localStorage).
|
|
68
|
+
* Typically `.polpo/browser-profiles/<agent>/`. Passed as --profile to agent-browser. */
|
|
69
|
+
browserProfileDir?: string;
|
|
70
|
+
/** Resolved vault credentials for the agent */
|
|
71
|
+
vault?: ResolvedVault;
|
|
72
|
+
/** Allowed recipient email domains for email_send. */
|
|
73
|
+
emailAllowedDomains?: string[];
|
|
74
|
+
/** Per-task output directory for deliverables. Passed to outcome tools. */
|
|
75
|
+
outputDir?: string;
|
|
76
|
+
/** WhatsApp message store (for whatsapp_* tools). */
|
|
77
|
+
whatsappStore?: WhatsAppStore;
|
|
78
|
+
/** WhatsApp send function (for whatsapp_send tool). */
|
|
79
|
+
whatsappSendMessage?: (jid: string, text: string) => Promise<string | undefined>;
|
|
80
|
+
/** Polpo directory (.polpo/) for Ink tools. */
|
|
81
|
+
polpoDir?: string;
|
|
82
|
+
/** FileSystem implementation (default: NodeFileSystem). */
|
|
83
|
+
fs?: FileSystem;
|
|
84
|
+
/** Shell implementation (default: NodeShell). */
|
|
85
|
+
shell?: Shell;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Create all available tools for an agent, including extended tool categories.
|
|
89
|
+
*
|
|
90
|
+
* Core tools (always included): read, write, edit, bash, glob, grep, ls,
|
|
91
|
+
* register_outcome, http_fetch, http_download, vault_get, vault_list.
|
|
92
|
+
*
|
|
93
|
+
* Extended categories must be explicitly enabled via allowedTools patterns.
|
|
94
|
+
*
|
|
95
|
+
* When allowedTools is provided, it acts as a filter across ALL categories — any tool whose name
|
|
96
|
+
* appears in allowedTools will be included (and its category auto-enabled).
|
|
97
|
+
*/
|
|
98
|
+
export declare function createAllTools(options: CreateAllToolsOptions): Promise<AgentTool<any>[]>;
|
|
99
|
+
//# sourceMappingURL=system-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system-tools.d.ts","sourceRoot":"","sources":["../src/system-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,434 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Standard coding tools for the native pi adapter.
|
|
3
|
+
* Each tool implements pi-agent-core's AgentTool interface with TypeBox schemas.
|
|
4
|
+
*
|
|
5
|
+
* All file-based tools enforce path sandboxing when allowedPaths is provided.
|
|
6
|
+
* The bash tool runs with cwd set to the agent's primary working directory.
|
|
7
|
+
*/
|
|
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
|
+
import { Type } from "@sinclair/typebox";
|
|
12
|
+
import { resolveAllowedPaths, assertPathAllowed } from "./path-sandbox.js";
|
|
13
|
+
import { createOutcomeTools as createOutcomeToolsCore } from "./outcome-tools.js";
|
|
14
|
+
import { createHttpTools as createHttpToolsCore } from "./http-tools.js";
|
|
15
|
+
import { createVaultToolsCore } from "./vault-tools.js";
|
|
16
|
+
// ink-tools stays in polpo-ai root (too coupled to core/ink.js, core/config.js, file stores)
|
|
17
|
+
// Consumers can add ink tools separately if needed
|
|
18
|
+
const ALL_INK_TOOL_NAMES = [];
|
|
19
|
+
const MAX_READ_LINES = 500;
|
|
20
|
+
const MAX_OUTPUT_BYTES = 30_000;
|
|
21
|
+
// === Read Tool ===
|
|
22
|
+
const ReadSchema = Type.Object({
|
|
23
|
+
path: Type.String({ description: "Absolute or relative path to the file to read" }),
|
|
24
|
+
offset: Type.Optional(Type.Number({ description: "Line number to start from (1-indexed)" })),
|
|
25
|
+
limit: Type.Optional(Type.Number({ description: "Max number of lines to read" })),
|
|
26
|
+
});
|
|
27
|
+
function createReadTool(cwd, sandbox, fs) {
|
|
28
|
+
return {
|
|
29
|
+
name: "read",
|
|
30
|
+
label: "Read File",
|
|
31
|
+
description: "Read the contents of a file. Returns line-numbered text. For large files, use offset and limit to read specific sections.",
|
|
32
|
+
parameters: ReadSchema,
|
|
33
|
+
async execute(_toolCallId, params) {
|
|
34
|
+
const filePath = resolve(cwd, params.path);
|
|
35
|
+
assertPathAllowed(filePath, sandbox, "read");
|
|
36
|
+
const raw = await fs.readFile(filePath);
|
|
37
|
+
const allLines = raw.split("\n");
|
|
38
|
+
const offset = (params.offset ?? 1) - 1;
|
|
39
|
+
const limit = params.limit ?? MAX_READ_LINES;
|
|
40
|
+
const lines = allLines.slice(offset, offset + limit);
|
|
41
|
+
const numbered = lines.map((l, i) => `${offset + i + 1}\t${l}`).join("\n");
|
|
42
|
+
const truncated = allLines.length > offset + limit;
|
|
43
|
+
const suffix = truncated ? `\n... (${allLines.length - offset - limit} more lines)` : "";
|
|
44
|
+
return {
|
|
45
|
+
content: [{ type: "text", text: numbered + suffix }],
|
|
46
|
+
details: { path: filePath, lines: lines.length, total: allLines.length },
|
|
47
|
+
};
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
// === Write Tool ===
|
|
52
|
+
const WriteSchema = Type.Object({
|
|
53
|
+
path: Type.String({ description: "Absolute or relative path to write to" }),
|
|
54
|
+
content: Type.String({ description: "File content to write" }),
|
|
55
|
+
});
|
|
56
|
+
function createWriteTool(cwd, sandbox, fs) {
|
|
57
|
+
return {
|
|
58
|
+
name: "write",
|
|
59
|
+
label: "Write File",
|
|
60
|
+
description: "Create or overwrite a file with the given content. Parent directories are created automatically.",
|
|
61
|
+
parameters: WriteSchema,
|
|
62
|
+
async execute(_toolCallId, params) {
|
|
63
|
+
const filePath = resolve(cwd, params.path);
|
|
64
|
+
assertPathAllowed(filePath, sandbox, "write");
|
|
65
|
+
await fs.mkdir(dirname(filePath));
|
|
66
|
+
await fs.writeFile(filePath, params.content);
|
|
67
|
+
return {
|
|
68
|
+
content: [{ type: "text", text: `File written: ${filePath} (${params.content.length} bytes)` }],
|
|
69
|
+
details: { path: filePath, bytes: params.content.length },
|
|
70
|
+
};
|
|
71
|
+
},
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
// === Edit Tool ===
|
|
75
|
+
const EditSchema = Type.Object({
|
|
76
|
+
path: Type.String({ description: "Absolute or relative path to the file to edit" }),
|
|
77
|
+
old_text: Type.String({ description: "Exact text to find and replace (must be unique in the file)" }),
|
|
78
|
+
new_text: Type.String({ description: "Replacement text" }),
|
|
79
|
+
});
|
|
80
|
+
function createEditTool(cwd, sandbox, fs) {
|
|
81
|
+
return {
|
|
82
|
+
name: "edit",
|
|
83
|
+
label: "Edit File",
|
|
84
|
+
description: "Replace a unique string in a file. The old_text must appear exactly once.",
|
|
85
|
+
parameters: EditSchema,
|
|
86
|
+
async execute(_toolCallId, params) {
|
|
87
|
+
const filePath = resolve(cwd, params.path);
|
|
88
|
+
assertPathAllowed(filePath, sandbox, "edit");
|
|
89
|
+
const content = await fs.readFile(filePath);
|
|
90
|
+
const occurrences = content.split(params.old_text).length - 1;
|
|
91
|
+
if (occurrences === 0) {
|
|
92
|
+
return {
|
|
93
|
+
content: [{ type: "text", text: `Error: old_text not found in ${filePath}` }],
|
|
94
|
+
details: { path: filePath, error: "not_found" },
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
if (occurrences > 1) {
|
|
98
|
+
return {
|
|
99
|
+
content: [{ type: "text", text: `Error: old_text found ${occurrences} times in ${filePath}. Must be unique.` }],
|
|
100
|
+
details: { path: filePath, error: "not_unique", count: occurrences },
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
const updated = content.replace(params.old_text, params.new_text);
|
|
104
|
+
await fs.writeFile(filePath, updated);
|
|
105
|
+
return {
|
|
106
|
+
content: [{ type: "text", text: `Edited ${filePath}: replaced ${params.old_text.length} chars with ${params.new_text.length} chars` }],
|
|
107
|
+
details: { path: filePath },
|
|
108
|
+
};
|
|
109
|
+
},
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
// === Bash Tool ===
|
|
113
|
+
const BashSchema = Type.Object({
|
|
114
|
+
command: Type.String({ description: "Shell command to execute" }),
|
|
115
|
+
timeout: Type.Optional(Type.Number({ description: "Timeout in milliseconds (default: 120000)" })),
|
|
116
|
+
});
|
|
117
|
+
function createBashTool(cwd, shell) {
|
|
118
|
+
return {
|
|
119
|
+
name: "bash",
|
|
120
|
+
label: "Execute Shell",
|
|
121
|
+
description: "Execute a shell command and return its output. Use for running tests, installing packages, git operations, etc.",
|
|
122
|
+
parameters: BashSchema,
|
|
123
|
+
async execute(_toolCallId, params) {
|
|
124
|
+
const timeout = params.timeout ?? 120_000;
|
|
125
|
+
try {
|
|
126
|
+
const result = await shell.execute(params.command, { cwd, timeout });
|
|
127
|
+
let output = result.stdout + (result.stderr ? "\n" + result.stderr : "");
|
|
128
|
+
if (output.length > MAX_OUTPUT_BYTES) {
|
|
129
|
+
output = output.slice(-MAX_OUTPUT_BYTES) + "\n[truncated to last 30KB]";
|
|
130
|
+
}
|
|
131
|
+
return {
|
|
132
|
+
content: [{ type: "text", text: `Exit code: ${result.exitCode}\n${output}` }],
|
|
133
|
+
details: { command: params.command, exitCode: result.exitCode },
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
catch (err) {
|
|
137
|
+
return {
|
|
138
|
+
content: [{ type: "text", text: `Error: ${err.message}` }],
|
|
139
|
+
details: { command: params.command, error: err.message },
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
},
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
// === Glob Tool ===
|
|
146
|
+
const GlobSchema = Type.Object({
|
|
147
|
+
pattern: Type.String({ description: "Glob pattern (e.g. '**/*.ts', 'src/**/*.js')" }),
|
|
148
|
+
path: Type.Optional(Type.String({ description: "Directory to search in (default: cwd)" })),
|
|
149
|
+
});
|
|
150
|
+
function createGlobTool(cwd, sandbox, shell) {
|
|
151
|
+
return {
|
|
152
|
+
name: "glob",
|
|
153
|
+
label: "Find Files",
|
|
154
|
+
description: "Find files matching a glob pattern. Returns matching file paths.",
|
|
155
|
+
parameters: GlobSchema,
|
|
156
|
+
async execute(_toolCallId, params) {
|
|
157
|
+
const searchDir = params.path ? resolve(cwd, params.path) : cwd;
|
|
158
|
+
assertPathAllowed(searchDir, sandbox, "glob");
|
|
159
|
+
try {
|
|
160
|
+
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 });
|
|
161
|
+
const output = result.stdout.trim();
|
|
162
|
+
if (!output) {
|
|
163
|
+
const fallback = await shell.execute(`cd ${JSON.stringify(searchDir)} && ls -1 ${JSON.stringify(params.pattern)} 2>/dev/null | head -200`, { cwd, timeout: 10_000 });
|
|
164
|
+
const files = fallback.stdout.trim() ? fallback.stdout.trim().split("\n") : [];
|
|
165
|
+
return {
|
|
166
|
+
content: [{ type: "text", text: files.length > 0 ? files.join("\n") : "No files found" }],
|
|
167
|
+
details: { pattern: params.pattern, count: files.length },
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
const files = output.split("\n").map((f) => relative(cwd, f));
|
|
171
|
+
return {
|
|
172
|
+
content: [{ type: "text", text: files.join("\n") }],
|
|
173
|
+
details: { pattern: params.pattern, count: files.length },
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
catch {
|
|
177
|
+
return {
|
|
178
|
+
content: [{ type: "text", text: "No files found" }],
|
|
179
|
+
details: { pattern: params.pattern, count: 0 },
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
},
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
// === Grep Tool ===
|
|
186
|
+
const GrepSchema = Type.Object({
|
|
187
|
+
pattern: Type.String({ description: "Regex pattern to search for" }),
|
|
188
|
+
path: Type.Optional(Type.String({ description: "File or directory to search in (default: cwd)" })),
|
|
189
|
+
include: Type.Optional(Type.String({ description: "File glob filter (e.g. '*.ts')" })),
|
|
190
|
+
});
|
|
191
|
+
function createGrepTool(cwd, sandbox, shell) {
|
|
192
|
+
return {
|
|
193
|
+
name: "grep",
|
|
194
|
+
label: "Search Code",
|
|
195
|
+
description: "Search for a regex pattern in files. Returns matching lines with file paths and line numbers.",
|
|
196
|
+
parameters: GrepSchema,
|
|
197
|
+
async execute(_toolCallId, params) {
|
|
198
|
+
const searchPath = params.path ? resolve(cwd, params.path) : cwd;
|
|
199
|
+
assertPathAllowed(searchPath, sandbox, "grep");
|
|
200
|
+
const includeFlag = params.include ? `--include=${JSON.stringify(params.include)}` : "";
|
|
201
|
+
try {
|
|
202
|
+
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 });
|
|
203
|
+
const result = r.stdout.trim();
|
|
204
|
+
if (!result) {
|
|
205
|
+
return {
|
|
206
|
+
content: [{ type: "text", text: "No matches found" }],
|
|
207
|
+
details: { pattern: params.pattern, count: 0 },
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
const lines = result.split("\n");
|
|
211
|
+
return {
|
|
212
|
+
content: [{ type: "text", text: result }],
|
|
213
|
+
details: { pattern: params.pattern, count: lines.length },
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
catch {
|
|
217
|
+
return {
|
|
218
|
+
content: [{ type: "text", text: "No matches found" }],
|
|
219
|
+
details: { pattern: params.pattern, count: 0 },
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
},
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
// === Ls Tool ===
|
|
226
|
+
const LsSchema = Type.Object({
|
|
227
|
+
path: Type.Optional(Type.String({ description: "Directory to list (default: cwd)" })),
|
|
228
|
+
});
|
|
229
|
+
function createLsTool(cwd, sandbox, fs) {
|
|
230
|
+
return {
|
|
231
|
+
name: "ls",
|
|
232
|
+
label: "List Directory",
|
|
233
|
+
description: "List files and directories in a given path.",
|
|
234
|
+
parameters: LsSchema,
|
|
235
|
+
async execute(_toolCallId, params) {
|
|
236
|
+
const dir = params.path ? resolve(cwd, params.path) : cwd;
|
|
237
|
+
assertPathAllowed(dir, sandbox, "ls");
|
|
238
|
+
const names = await fs.readdir(dir);
|
|
239
|
+
const entries = [];
|
|
240
|
+
for (const name of names) {
|
|
241
|
+
try {
|
|
242
|
+
const s = await fs.stat(join(dir, name));
|
|
243
|
+
entries.push(s.isDirectory ? `${name}/` : name);
|
|
244
|
+
}
|
|
245
|
+
catch {
|
|
246
|
+
entries.push(name);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
return {
|
|
250
|
+
content: [{ type: "text", text: entries.join("\n") }],
|
|
251
|
+
details: { path: dir, count: entries.length },
|
|
252
|
+
};
|
|
253
|
+
},
|
|
254
|
+
};
|
|
255
|
+
}
|
|
256
|
+
// === Tool name matching (wildcard support) ===
|
|
257
|
+
/**
|
|
258
|
+
* Check if a tool name matches an allowed pattern.
|
|
259
|
+
* Supports exact match and trailing wildcard: "browser_*" matches "browser_navigate".
|
|
260
|
+
*/
|
|
261
|
+
export function matchToolPattern(pattern, toolName) {
|
|
262
|
+
const p = pattern.toLowerCase();
|
|
263
|
+
const n = toolName.toLowerCase();
|
|
264
|
+
if (p === n)
|
|
265
|
+
return true;
|
|
266
|
+
if (p.endsWith("*")) {
|
|
267
|
+
return n.startsWith(p.slice(0, -1));
|
|
268
|
+
}
|
|
269
|
+
return false;
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Expand wildcard patterns in an allowedTools list against all known tool names.
|
|
273
|
+
* E.g. ["browser_*", "http_fetch"] → ["browser_navigate", "browser_click", ..., "http_fetch"].
|
|
274
|
+
* Non-wildcard entries pass through as-is (even if not in allNames — factory will just skip them).
|
|
275
|
+
*/
|
|
276
|
+
export function expandToolWildcards(allowedTools, allNames) {
|
|
277
|
+
const result = new Set();
|
|
278
|
+
for (const pattern of allowedTools) {
|
|
279
|
+
if (pattern.includes("*")) {
|
|
280
|
+
for (const name of allNames) {
|
|
281
|
+
if (matchToolPattern(pattern, name))
|
|
282
|
+
result.add(name);
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
else {
|
|
286
|
+
result.add(pattern.toLowerCase());
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
return [...result];
|
|
290
|
+
}
|
|
291
|
+
const ALL_TOOL_NAMES = ["read", "write", "edit", "bash", "glob", "grep", "ls"];
|
|
292
|
+
/**
|
|
293
|
+
* Create the standard set of coding tools scoped to a working directory.
|
|
294
|
+
* If allowedTools is provided, only those tools are included.
|
|
295
|
+
* If allowedPaths is provided, file-based tools enforce path sandboxing.
|
|
296
|
+
*
|
|
297
|
+
* Core tools (always included regardless of allowedTools):
|
|
298
|
+
* - read, write, edit, bash, glob, grep, ls
|
|
299
|
+
* - register_outcome
|
|
300
|
+
* - http_fetch, http_download
|
|
301
|
+
* - vault_get, vault_list (when vault is provided)
|
|
302
|
+
*/
|
|
303
|
+
export function createSystemTools(cwd, allowedTools, allowedPaths, outputDir, vault, fs, shell) {
|
|
304
|
+
const _fs = fs ?? new NodeFileSystem();
|
|
305
|
+
const _shell = shell ?? new NodeShell();
|
|
306
|
+
const sandbox = resolveAllowedPaths(cwd, allowedPaths);
|
|
307
|
+
const factories = {
|
|
308
|
+
read: () => createReadTool(cwd, sandbox, _fs),
|
|
309
|
+
write: () => createWriteTool(cwd, sandbox, _fs),
|
|
310
|
+
edit: () => createEditTool(cwd, sandbox, _fs),
|
|
311
|
+
bash: () => createBashTool(cwd, _shell),
|
|
312
|
+
glob: () => createGlobTool(cwd, sandbox, _shell),
|
|
313
|
+
grep: () => createGrepTool(cwd, sandbox, _shell),
|
|
314
|
+
ls: () => createLsTool(cwd, sandbox, _fs),
|
|
315
|
+
};
|
|
316
|
+
const names = allowedTools
|
|
317
|
+
? ALL_TOOL_NAMES.filter(n => allowedTools.some(a => a.toLowerCase() === n))
|
|
318
|
+
: ALL_TOOL_NAMES;
|
|
319
|
+
const tools = names.map(n => factories[n]());
|
|
320
|
+
// register_outcome is always included — agents must always be able to declare artifacts
|
|
321
|
+
tools.push(...createOutcomeToolsCore(cwd, allowedPaths, allowedTools, outputDir));
|
|
322
|
+
// http_fetch + http_download are always included — core tools with SSRF protection
|
|
323
|
+
tools.push(...createHttpToolsCore(cwd, allowedPaths, allowedTools));
|
|
324
|
+
// vault_get + vault_list are always included — core tools for credential access
|
|
325
|
+
if (vault) {
|
|
326
|
+
tools.push(...createVaultToolsCore(vault));
|
|
327
|
+
}
|
|
328
|
+
return tools;
|
|
329
|
+
}
|
|
330
|
+
// === Extended Tools Factory ===
|
|
331
|
+
import { createBrowserTools, ALL_BROWSER_TOOL_NAMES } from "./browser-tools.js";
|
|
332
|
+
import { ALL_HTTP_TOOL_NAMES } from "./http-tools.js";
|
|
333
|
+
import { createEmailTools, ALL_EMAIL_TOOL_NAMES } from "./email-tools.js";
|
|
334
|
+
import { ALL_VAULT_TOOL_NAMES } from "./vault-tools.js";
|
|
335
|
+
import { createImageTools, ALL_IMAGE_TOOL_NAMES } from "./image-tools.js";
|
|
336
|
+
import { createAudioTools, ALL_AUDIO_TOOL_NAMES } from "./audio-tools.js";
|
|
337
|
+
import { createExcelTools, ALL_EXCEL_TOOL_NAMES } from "./excel-tools.js";
|
|
338
|
+
import { createPdfTools, ALL_PDF_TOOL_NAMES } from "./pdf-tools.js";
|
|
339
|
+
import { createDocxTools, ALL_DOCX_TOOL_NAMES } from "./docx-tools.js";
|
|
340
|
+
import { createSearchTools, ALL_SEARCH_TOOL_NAMES } from "./search-tools.js";
|
|
341
|
+
import { createWhatsAppTools, ALL_WHATSAPP_TOOL_NAMES } from "./whatsapp-tools.js";
|
|
342
|
+
import { createPhoneTools, ALL_PHONE_TOOL_NAMES } from "./phone-tools.js";
|
|
343
|
+
import { ALL_OUTCOME_TOOL_NAMES } from "./outcome-tools.js";
|
|
344
|
+
/** All available tool names for documentation/config validation */
|
|
345
|
+
export const ALL_EXTENDED_TOOL_NAMES = [
|
|
346
|
+
...ALL_TOOL_NAMES,
|
|
347
|
+
...ALL_BROWSER_TOOL_NAMES,
|
|
348
|
+
...ALL_HTTP_TOOL_NAMES,
|
|
349
|
+
...ALL_EMAIL_TOOL_NAMES,
|
|
350
|
+
...ALL_OUTCOME_TOOL_NAMES,
|
|
351
|
+
...ALL_VAULT_TOOL_NAMES,
|
|
352
|
+
...ALL_IMAGE_TOOL_NAMES,
|
|
353
|
+
...ALL_AUDIO_TOOL_NAMES,
|
|
354
|
+
...ALL_EXCEL_TOOL_NAMES,
|
|
355
|
+
...ALL_PDF_TOOL_NAMES,
|
|
356
|
+
...ALL_DOCX_TOOL_NAMES,
|
|
357
|
+
...ALL_SEARCH_TOOL_NAMES,
|
|
358
|
+
...ALL_WHATSAPP_TOOL_NAMES,
|
|
359
|
+
...ALL_PHONE_TOOL_NAMES,
|
|
360
|
+
...ALL_INK_TOOL_NAMES,
|
|
361
|
+
];
|
|
362
|
+
/**
|
|
363
|
+
* Create all available tools for an agent, including extended tool categories.
|
|
364
|
+
*
|
|
365
|
+
* Core tools (always included): read, write, edit, bash, glob, grep, ls,
|
|
366
|
+
* register_outcome, http_fetch, http_download, vault_get, vault_list.
|
|
367
|
+
*
|
|
368
|
+
* Extended categories must be explicitly enabled via allowedTools patterns.
|
|
369
|
+
*
|
|
370
|
+
* When allowedTools is provided, it acts as a filter across ALL categories — any tool whose name
|
|
371
|
+
* appears in allowedTools will be included (and its category auto-enabled).
|
|
372
|
+
*/
|
|
373
|
+
export async function createAllTools(options) {
|
|
374
|
+
const { cwd, allowedPaths, browserSession } = options;
|
|
375
|
+
const tools = [];
|
|
376
|
+
// Expand wildcards in allowedTools once — e.g. "browser_*" → all 18 browser tool names.
|
|
377
|
+
// This way individual factory functions don't need wildcard awareness.
|
|
378
|
+
const rawAllowed = options.allowedTools;
|
|
379
|
+
const allowedTools = rawAllowed
|
|
380
|
+
? expandToolWildcards(rawAllowed, ALL_EXTENDED_TOOL_NAMES)
|
|
381
|
+
: undefined;
|
|
382
|
+
// Helper: check if any tool from a category is in the (expanded) allowedTools list
|
|
383
|
+
const categoryRequested = (names) => allowedTools?.some(a => names.some(n => n === a.toLowerCase()));
|
|
384
|
+
// Core coding tools (always included unless filtered out) — includes vault_get/vault_list
|
|
385
|
+
tools.push(...createSystemTools(cwd, allowedTools, allowedPaths, options.outputDir, options.vault, options.fs, options.shell));
|
|
386
|
+
// Ink tools (always included when polpoDir is available)
|
|
387
|
+
if (options.polpoDir) {
|
|
388
|
+
// ink tools are added by polpo-ai root (too coupled to core/config/file stores)
|
|
389
|
+
// Consumers can add them via createInkTools() from polpo-ai if needed
|
|
390
|
+
}
|
|
391
|
+
// Browser tools — activated when any browser_* tool is in allowedTools
|
|
392
|
+
if (categoryRequested(ALL_BROWSER_TOOL_NAMES)) {
|
|
393
|
+
tools.push(...createBrowserTools(cwd, browserSession, allowedTools, options.browserProfileDir));
|
|
394
|
+
}
|
|
395
|
+
// Email tools — activated when any email_* tool is in allowedTools
|
|
396
|
+
if (categoryRequested(ALL_EMAIL_TOOL_NAMES)) {
|
|
397
|
+
tools.push(...createEmailTools(cwd, allowedPaths, allowedTools, options.vault, options.emailAllowedDomains, options.outputDir));
|
|
398
|
+
}
|
|
399
|
+
// Image & video tools — activated when any image_* or video_* tool is in allowedTools
|
|
400
|
+
if (categoryRequested(ALL_IMAGE_TOOL_NAMES)) {
|
|
401
|
+
tools.push(...createImageTools(cwd, allowedPaths, allowedTools, options.vault));
|
|
402
|
+
}
|
|
403
|
+
// Audio tools — activated when any audio_* tool is in allowedTools
|
|
404
|
+
if (categoryRequested(ALL_AUDIO_TOOL_NAMES)) {
|
|
405
|
+
tools.push(...createAudioTools(cwd, allowedPaths, allowedTools, options.vault));
|
|
406
|
+
}
|
|
407
|
+
// Excel tools — activated when any excel_* tool is in allowedTools
|
|
408
|
+
if (categoryRequested(ALL_EXCEL_TOOL_NAMES)) {
|
|
409
|
+
tools.push(...createExcelTools(cwd, allowedPaths, allowedTools));
|
|
410
|
+
}
|
|
411
|
+
// PDF tools — activated when any pdf_* tool is in allowedTools
|
|
412
|
+
if (categoryRequested(ALL_PDF_TOOL_NAMES)) {
|
|
413
|
+
tools.push(...createPdfTools(cwd, allowedPaths, allowedTools));
|
|
414
|
+
}
|
|
415
|
+
// Docx tools — activated when any docx_* tool is in allowedTools
|
|
416
|
+
if (categoryRequested(ALL_DOCX_TOOL_NAMES)) {
|
|
417
|
+
tools.push(...createDocxTools(cwd, allowedPaths, allowedTools));
|
|
418
|
+
}
|
|
419
|
+
// Search tools (Exa) — activated when any search_* tool is in allowedTools
|
|
420
|
+
if (categoryRequested(ALL_SEARCH_TOOL_NAMES)) {
|
|
421
|
+
tools.push(...createSearchTools(options.vault, allowedTools));
|
|
422
|
+
}
|
|
423
|
+
// WhatsApp tools — activated when any whatsapp_* tool is in allowedTools AND store is available
|
|
424
|
+
if (categoryRequested(ALL_WHATSAPP_TOOL_NAMES) && options.whatsappStore && options.whatsappSendMessage) {
|
|
425
|
+
tools.push(...createWhatsAppTools({ store: options.whatsappStore, sendMessage: options.whatsappSendMessage }, allowedTools));
|
|
426
|
+
}
|
|
427
|
+
// Phone tools (VAPI) — activated when any phone_* tool is in allowedTools
|
|
428
|
+
if (categoryRequested(ALL_PHONE_TOOL_NAMES)) {
|
|
429
|
+
tools.push(...createPhoneTools(options.vault, allowedTools));
|
|
430
|
+
}
|
|
431
|
+
// HTTP, register_outcome, and vault are already included via createSystemTools() above — no need to add again
|
|
432
|
+
return tools;
|
|
433
|
+
}
|
|
434
|
+
//# sourceMappingURL=system-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system-tools.js","sourceRoot":"","sources":["../src/system-tools.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED