jazz-ai 0.2.2 → 0.4.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/README.md +8 -6
- package/dist/cli/commands/chat-agent.d.ts +3 -1
- package/dist/cli/commands/chat-agent.d.ts.map +1 -1
- package/dist/cli/commands/chat-agent.js +180 -102
- package/dist/cli/commands/chat-agent.js.map +1 -1
- package/dist/cli/commands/edit-agent.d.ts +2 -2
- package/dist/cli/commands/edit-agent.d.ts.map +1 -1
- package/dist/cli/commands/edit-agent.js +20 -10
- package/dist/cli/commands/edit-agent.js.map +1 -1
- package/dist/cli/commands/task-agent.d.ts +1 -1
- package/dist/cli/commands/task-agent.d.ts.map +1 -1
- package/dist/cli/commands/task-agent.js +6 -6
- package/dist/cli/commands/task-agent.js.map +1 -1
- package/dist/constants/agent.d.ts +2 -0
- package/dist/constants/agent.d.ts.map +1 -0
- package/dist/constants/agent.js +5 -0
- package/dist/constants/agent.js.map +1 -0
- package/dist/core/agent/agent-prompt.d.ts +0 -1
- package/dist/core/agent/agent-prompt.d.ts.map +1 -1
- package/dist/core/agent/agent-prompt.js +7 -15
- package/dist/core/agent/agent-prompt.js.map +1 -1
- package/dist/core/agent/agent-runner.d.ts +15 -0
- package/dist/core/agent/agent-runner.d.ts.map +1 -1
- package/dist/core/agent/agent-runner.js +570 -270
- package/dist/core/agent/agent-runner.js.map +1 -1
- package/dist/core/agent/agent-service.d.ts +20 -5
- package/dist/core/agent/agent-service.d.ts.map +1 -1
- package/dist/core/agent/agent-service.js +54 -6
- package/dist/core/agent/agent-service.js.map +1 -1
- package/dist/core/agent/gmail-agent.js +7 -7
- package/dist/core/agent/gmail-agent.js.map +1 -1
- package/dist/core/agent/prompts/coder/v1.d.ts +2 -0
- package/dist/core/agent/prompts/coder/v1.d.ts.map +1 -0
- package/dist/core/agent/prompts/coder/v1.js +370 -0
- package/dist/core/agent/prompts/coder/v1.js.map +1 -0
- package/dist/core/agent/prompts/default/v2.d.ts +1 -1
- package/dist/core/agent/prompts/default/v2.d.ts.map +1 -1
- package/dist/core/agent/prompts/default/v2.js +1 -2
- package/dist/core/agent/prompts/default/v2.js.map +1 -1
- package/dist/core/agent/prompts/gmail/v1.d.ts +1 -1
- package/dist/core/agent/prompts/gmail/v1.d.ts.map +1 -1
- package/dist/core/agent/prompts/gmail/v1.js +5 -5
- package/dist/core/agent/prompts/gmail/v2.d.ts +1 -1
- package/dist/core/agent/prompts/gmail/v2.d.ts.map +1 -1
- package/dist/core/agent/prompts/gmail/v2.js +7 -7
- package/dist/core/agent/tools/base-tool.d.ts +3 -4
- package/dist/core/agent/tools/base-tool.d.ts.map +1 -1
- package/dist/core/agent/tools/base-tool.js +11 -51
- package/dist/core/agent/tools/base-tool.js.map +1 -1
- package/dist/core/agent/tools/context-utils.d.ts +6 -0
- package/dist/core/agent/tools/context-utils.d.ts.map +1 -0
- package/dist/core/agent/tools/context-utils.js +9 -0
- package/dist/core/agent/tools/context-utils.js.map +1 -0
- package/dist/core/agent/tools/env-utils.d.ts +7 -0
- package/dist/core/agent/tools/env-utils.d.ts.map +1 -0
- package/dist/core/agent/tools/env-utils.js +39 -0
- package/dist/core/agent/tools/env-utils.js.map +1 -0
- package/dist/core/agent/tools/fs-tools.d.ts.map +1 -1
- package/dist/core/agent/tools/fs-tools.js +48 -53
- package/dist/core/agent/tools/fs-tools.js.map +1 -1
- package/dist/core/agent/tools/git-tools.d.ts +5 -0
- package/dist/core/agent/tools/git-tools.d.ts.map +1 -1
- package/dist/core/agent/tools/git-tools.js +716 -154
- package/dist/core/agent/tools/git-tools.js.map +1 -1
- package/dist/core/agent/tools/gmail-tools.js +35 -35
- package/dist/core/agent/tools/gmail-tools.js.map +1 -1
- package/dist/core/agent/tools/http-tools.js +2 -2
- package/dist/core/agent/tools/http-tools.js.map +1 -1
- package/dist/core/agent/tools/register-tools.d.ts +18 -1
- package/dist/core/agent/tools/register-tools.d.ts.map +1 -1
- package/dist/core/agent/tools/register-tools.js +52 -6
- package/dist/core/agent/tools/register-tools.js.map +1 -1
- package/dist/core/agent/tools/shell-tools.d.ts.map +1 -1
- package/dist/core/agent/tools/shell-tools.js +10 -20
- package/dist/core/agent/tools/shell-tools.js.map +1 -1
- package/dist/core/agent/tools/tool-registry.d.ts +11 -7
- package/dist/core/agent/tools/tool-registry.d.ts.map +1 -1
- package/dist/core/agent/tools/tool-registry.js +45 -19
- package/dist/core/agent/tools/tool-registry.js.map +1 -1
- package/dist/core/agent/tools/web-search-tools.js +1 -1
- package/dist/core/agent/tools/web-search-tools.js.map +1 -1
- package/dist/core/agent/tracking/agent-run-tracker.d.ts +2 -0
- package/dist/core/agent/tracking/agent-run-tracker.d.ts.map +1 -1
- package/dist/core/agent/tracking/agent-run-tracker.js +40 -2
- package/dist/core/agent/tracking/agent-run-tracker.js.map +1 -1
- package/dist/core/types/index.d.ts +82 -15
- package/dist/core/types/index.d.ts.map +1 -1
- package/dist/core/types/index.js.map +1 -1
- package/dist/core/utils/markdown-renderer.d.ts +25 -0
- package/dist/core/utils/markdown-renderer.d.ts.map +1 -1
- package/dist/core/utils/markdown-renderer.js +100 -1
- package/dist/core/utils/markdown-renderer.js.map +1 -1
- package/dist/core/utils/output-renderer.d.ts +81 -0
- package/dist/core/utils/output-renderer.d.ts.map +1 -0
- package/dist/core/utils/output-renderer.js +291 -0
- package/dist/core/utils/output-renderer.js.map +1 -0
- package/dist/core/utils/output-theme.d.ts +64 -0
- package/dist/core/utils/output-theme.d.ts.map +1 -0
- package/dist/core/utils/output-theme.js +154 -0
- package/dist/core/utils/output-theme.js.map +1 -0
- package/dist/core/utils/output-writer.d.ts +79 -0
- package/dist/core/utils/output-writer.d.ts.map +1 -0
- package/dist/core/utils/output-writer.js +133 -0
- package/dist/core/utils/output-writer.js.map +1 -0
- package/dist/core/utils/runtime-detection.d.ts +28 -0
- package/dist/core/utils/runtime-detection.d.ts.map +1 -0
- package/dist/core/utils/runtime-detection.js +62 -0
- package/dist/core/utils/runtime-detection.js.map +1 -0
- package/dist/core/utils/string.d.ts +8 -0
- package/dist/core/utils/string.d.ts.map +1 -0
- package/dist/core/utils/string.js +19 -0
- package/dist/core/utils/string.js.map +1 -0
- package/dist/core/utils/thinking-renderer.d.ts +56 -0
- package/dist/core/utils/thinking-renderer.d.ts.map +1 -0
- package/dist/core/utils/thinking-renderer.js +174 -0
- package/dist/core/utils/thinking-renderer.js.map +1 -0
- package/dist/core/utils/tool-formatter.d.ts +21 -0
- package/dist/core/utils/tool-formatter.d.ts.map +1 -0
- package/dist/core/utils/tool-formatter.js +343 -0
- package/dist/core/utils/tool-formatter.js.map +1 -0
- package/dist/main.js +11 -4
- package/dist/main.js.map +1 -1
- package/dist/services/config.d.ts.map +1 -1
- package/dist/services/config.js +20 -20
- package/dist/services/config.js.map +1 -1
- package/dist/services/llm/ai-sdk-service.d.ts.map +1 -1
- package/dist/services/llm/ai-sdk-service.js +128 -37
- package/dist/services/llm/ai-sdk-service.js.map +1 -1
- package/dist/services/llm/stream-detector.d.ts +44 -0
- package/dist/services/llm/stream-detector.d.ts.map +1 -0
- package/dist/services/llm/stream-detector.js +81 -0
- package/dist/services/llm/stream-detector.js.map +1 -0
- package/dist/services/llm/stream-processor.d.ts +93 -0
- package/dist/services/llm/stream-processor.d.ts.map +1 -0
- package/dist/services/llm/stream-processor.js +330 -0
- package/dist/services/llm/stream-processor.js.map +1 -0
- package/dist/services/llm/streaming-types.d.ts +131 -0
- package/dist/services/llm/streaming-types.d.ts.map +1 -0
- package/dist/services/llm/streaming-types.js +12 -0
- package/dist/services/llm/streaming-types.js.map +1 -0
- package/dist/services/llm/types.d.ts +8 -0
- package/dist/services/llm/types.d.ts.map +1 -1
- package/dist/services/llm/types.js.map +1 -1
- package/dist/services/logger.d.ts +4 -4
- package/dist/services/logger.d.ts.map +1 -1
- package/dist/services/logger.js +23 -45
- package/dist/services/logger.js.map +1 -1
- package/dist/services/shell.d.ts.map +1 -1
- package/dist/services/shell.js +52 -18
- package/dist/services/shell.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ALL_CATEGORIES = exports.SEARCH_CATEGORY = exports.GIT_CATEGORY = exports.SHELL_COMMANDS_CATEGORY = exports.FILE_MANAGEMENT_CATEGORY = exports.HTTP_CATEGORY = exports.GMAIL_CATEGORY = void 0;
|
|
3
4
|
exports.registerAllTools = registerAllTools;
|
|
5
|
+
exports.createCategoryMappings = createCategoryMappings;
|
|
4
6
|
exports.registerGmailTools = registerGmailTools;
|
|
5
7
|
exports.registerHttpTools = registerHttpTools;
|
|
6
8
|
exports.registerFileTools = registerFileTools;
|
|
@@ -32,11 +34,43 @@ function registerAllTools() {
|
|
|
32
34
|
yield* registerHttpTools();
|
|
33
35
|
});
|
|
34
36
|
}
|
|
37
|
+
exports.GMAIL_CATEGORY = { id: "gmail", displayName: "Gmail" };
|
|
38
|
+
exports.HTTP_CATEGORY = { id: "http", displayName: "HTTP" };
|
|
39
|
+
exports.FILE_MANAGEMENT_CATEGORY = { id: "file_management", displayName: "File Management" };
|
|
40
|
+
exports.SHELL_COMMANDS_CATEGORY = { id: "shell_commands", displayName: "Shell Commands" };
|
|
41
|
+
exports.GIT_CATEGORY = { id: "git", displayName: "Git" };
|
|
42
|
+
exports.SEARCH_CATEGORY = { id: "search", displayName: "Search" };
|
|
43
|
+
/**
|
|
44
|
+
* All available tool categories
|
|
45
|
+
*/
|
|
46
|
+
exports.ALL_CATEGORIES = [
|
|
47
|
+
exports.FILE_MANAGEMENT_CATEGORY,
|
|
48
|
+
exports.SHELL_COMMANDS_CATEGORY,
|
|
49
|
+
exports.GIT_CATEGORY,
|
|
50
|
+
exports.HTTP_CATEGORY,
|
|
51
|
+
exports.SEARCH_CATEGORY,
|
|
52
|
+
exports.GMAIL_CATEGORY,
|
|
53
|
+
];
|
|
54
|
+
/**
|
|
55
|
+
* Create mappings between category display names and IDs
|
|
56
|
+
*/
|
|
57
|
+
function createCategoryMappings() {
|
|
58
|
+
const displayNameToId = new Map();
|
|
59
|
+
const idToDisplayName = new Map();
|
|
60
|
+
for (const category of exports.ALL_CATEGORIES) {
|
|
61
|
+
displayNameToId.set(category.displayName, category.id);
|
|
62
|
+
idToDisplayName.set(category.id, category.displayName);
|
|
63
|
+
}
|
|
64
|
+
return {
|
|
65
|
+
displayNameToId,
|
|
66
|
+
idToDisplayName,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
35
69
|
// Register Gmail tools
|
|
36
70
|
function registerGmailTools() {
|
|
37
71
|
return effect_1.Effect.gen(function* () {
|
|
38
72
|
const registry = yield* tool_registry_1.ToolRegistryTag;
|
|
39
|
-
const registerTool = registry.registerForCategory(
|
|
73
|
+
const registerTool = registry.registerForCategory(exports.GMAIL_CATEGORY);
|
|
40
74
|
// Create Gmail tools
|
|
41
75
|
const listEmailsTool = (0, gmail_tools_1.createListEmailsTool)();
|
|
42
76
|
const getEmailTool = (0, gmail_tools_1.createGetEmailTool)();
|
|
@@ -83,7 +117,7 @@ function registerGmailTools() {
|
|
|
83
117
|
function registerHttpTools() {
|
|
84
118
|
return effect_1.Effect.gen(function* () {
|
|
85
119
|
const registry = yield* tool_registry_1.ToolRegistryTag;
|
|
86
|
-
const registerTool = registry.registerForCategory(
|
|
120
|
+
const registerTool = registry.registerForCategory(exports.HTTP_CATEGORY);
|
|
87
121
|
const httpRequestTool = (0, http_tools_1.createHttpRequestTool)();
|
|
88
122
|
yield* registerTool(httpRequestTool);
|
|
89
123
|
});
|
|
@@ -92,7 +126,7 @@ function registerHttpTools() {
|
|
|
92
126
|
function registerFileTools() {
|
|
93
127
|
return effect_1.Effect.gen(function* () {
|
|
94
128
|
const registry = yield* tool_registry_1.ToolRegistryTag;
|
|
95
|
-
const registerTool = registry.registerForCategory(
|
|
129
|
+
const registerTool = registry.registerForCategory(exports.FILE_MANAGEMENT_CATEGORY);
|
|
96
130
|
const pwd = (0, fs_tools_1.createPwdTool)();
|
|
97
131
|
const ls = (0, fs_tools_1.createLsTool)();
|
|
98
132
|
const cd = (0, fs_tools_1.createCdTool)();
|
|
@@ -129,7 +163,7 @@ function registerFileTools() {
|
|
|
129
163
|
function registerShellTools() {
|
|
130
164
|
return effect_1.Effect.gen(function* () {
|
|
131
165
|
const registry = yield* tool_registry_1.ToolRegistryTag;
|
|
132
|
-
const registerTool = registry.registerForCategory(
|
|
166
|
+
const registerTool = registry.registerForCategory(exports.SHELL_COMMANDS_CATEGORY);
|
|
133
167
|
const executeCommandTool = (0, shell_tools_1.createExecuteCommandTool)();
|
|
134
168
|
const executeCommandApprovedTool = (0, shell_tools_1.createExecuteCommandApprovedTool)();
|
|
135
169
|
yield* registerTool(executeCommandTool);
|
|
@@ -140,7 +174,7 @@ function registerShellTools() {
|
|
|
140
174
|
function registerGitTools() {
|
|
141
175
|
return effect_1.Effect.gen(function* () {
|
|
142
176
|
const registry = yield* tool_registry_1.ToolRegistryTag;
|
|
143
|
-
const registerTool = registry.registerForCategory(
|
|
177
|
+
const registerTool = registry.registerForCategory(exports.GIT_CATEGORY);
|
|
144
178
|
// Safe Git operations (no approval needed)
|
|
145
179
|
const gitStatusTool = (0, git_tools_1.createGitStatusTool)();
|
|
146
180
|
const gitLogTool = (0, git_tools_1.createGitLogTool)();
|
|
@@ -152,6 +186,12 @@ function registerGitTools() {
|
|
|
152
186
|
const gitPushTool = (0, git_tools_1.createGitPushTool)();
|
|
153
187
|
const gitPullTool = (0, git_tools_1.createGitPullTool)();
|
|
154
188
|
const gitCheckoutTool = (0, git_tools_1.createGitCheckoutTool)();
|
|
189
|
+
// Internal execution tools (called after approval)
|
|
190
|
+
const executeGitAddTool = (0, git_tools_1.createExecuteGitAddTool)();
|
|
191
|
+
const executeGitCommitTool = (0, git_tools_1.createExecuteGitCommitTool)();
|
|
192
|
+
const executeGitPushTool = (0, git_tools_1.createExecuteGitPushTool)();
|
|
193
|
+
const executeGitPullTool = (0, git_tools_1.createExecuteGitPullTool)();
|
|
194
|
+
const executeGitCheckoutTool = (0, git_tools_1.createExecuteGitCheckoutTool)();
|
|
155
195
|
// Register safe tools
|
|
156
196
|
yield* registerTool(gitStatusTool);
|
|
157
197
|
yield* registerTool(gitLogTool);
|
|
@@ -163,13 +203,19 @@ function registerGitTools() {
|
|
|
163
203
|
yield* registerTool(gitPushTool);
|
|
164
204
|
yield* registerTool(gitPullTool);
|
|
165
205
|
yield* registerTool(gitCheckoutTool);
|
|
206
|
+
// Register internal execution tools
|
|
207
|
+
yield* registerTool(executeGitAddTool);
|
|
208
|
+
yield* registerTool(executeGitCommitTool);
|
|
209
|
+
yield* registerTool(executeGitPushTool);
|
|
210
|
+
yield* registerTool(executeGitPullTool);
|
|
211
|
+
yield* registerTool(executeGitCheckoutTool);
|
|
166
212
|
});
|
|
167
213
|
}
|
|
168
214
|
// Register web search tools
|
|
169
215
|
function registerSearchTools() {
|
|
170
216
|
return effect_1.Effect.gen(function* () {
|
|
171
217
|
const registry = yield* tool_registry_1.ToolRegistryTag;
|
|
172
|
-
const registerTool = registry.registerForCategory(
|
|
218
|
+
const registerTool = registry.registerForCategory(exports.SEARCH_CATEGORY);
|
|
173
219
|
const webSearchTool = (0, web_search_tools_1.createWebSearchTool)();
|
|
174
220
|
yield* registerTool(webSearchTool);
|
|
175
221
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-tools.js","sourceRoot":"","sources":["../../../../src/core/agent/tools/register-tools.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"register-tools.js","sourceRoot":"","sources":["../../../../src/core/agent/tools/register-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-tools.d.ts","sourceRoot":"","sources":["../../../../src/core/agent/tools/shell-tools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"shell-tools.d.ts","sourceRoot":"","sources":["../../../../src/core/agent/tools/shell-tools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAIxE,OAAO,EAAE,KAAK,IAAI,EAAuD,MAAM,iBAAiB,CAAC;AAmBjG;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAAC,wBAAwB,CAAC,CAiGzE;AAED;;GAEG;AACH,wBAAgB,gCAAgC,IAAI,IAAI,CAAC,wBAAwB,CAAC,CA2PjF"}
|
|
@@ -39,6 +39,7 @@ const effect_1 = require("effect");
|
|
|
39
39
|
const zod_1 = require("zod");
|
|
40
40
|
const shell_1 = require("../../../services/shell");
|
|
41
41
|
const base_tool_1 = require("./base-tool");
|
|
42
|
+
const env_utils_1 = require("./env-utils");
|
|
42
43
|
/**
|
|
43
44
|
* Create a tool for executing shell commands with user approval
|
|
44
45
|
*
|
|
@@ -52,8 +53,8 @@ const base_tool_1 = require("./base-tool");
|
|
|
52
53
|
*/
|
|
53
54
|
function createExecuteCommandTool() {
|
|
54
55
|
return (0, base_tool_1.defineTool)({
|
|
55
|
-
name: "
|
|
56
|
-
description: "
|
|
56
|
+
name: "execute_command",
|
|
57
|
+
description: "Request to execute a shell command on the system (requires user approval). After user approval, the actual execution is performed by the execute_command_approved tool. Runs commands in a specified working directory with configurable timeout. Includes security checks to block dangerous operations (file deletion, system commands, etc.). All command executions are logged for security auditing.",
|
|
57
58
|
tags: ["shell", "execution"],
|
|
58
59
|
parameters: (0, base_tool_1.withApprovalBoolean)(zod_1.z
|
|
59
60
|
.object({
|
|
@@ -106,11 +107,13 @@ Agent: ${context.agentId}
|
|
|
106
107
|
|
|
107
108
|
This command will be executed on your system. Please review it carefully and confirm if you want to proceed.
|
|
108
109
|
|
|
109
|
-
⚠️ WARNING: This tool can execute any command on your system. Only approve commands you trust!
|
|
110
|
+
⚠️ WARNING: This tool can execute any command on your system. Only approve commands you trust! ⚠️
|
|
111
|
+
|
|
112
|
+
IMPORTANT: After getting user confirmation, you MUST call the execute_command_approved tool with these exact arguments: {"command": ${JSON.stringify(args.command)}, "workingDirectory": ${args.workingDirectory ? JSON.stringify(args.workingDirectory) : "undefined"}, "timeout": ${args.timeout ?? "undefined"}}`;
|
|
110
113
|
}),
|
|
111
114
|
errorMessage: "Command execution requires explicit user approval for security reasons.",
|
|
112
115
|
execute: {
|
|
113
|
-
toolName: "
|
|
116
|
+
toolName: "execute_command_approved",
|
|
114
117
|
buildArgs: (args) => {
|
|
115
118
|
const typedArgs = args;
|
|
116
119
|
return {
|
|
@@ -139,8 +142,8 @@ This command will be executed on your system. Please review it carefully and con
|
|
|
139
142
|
*/
|
|
140
143
|
function createExecuteCommandApprovedTool() {
|
|
141
144
|
return (0, base_tool_1.defineTool)({
|
|
142
|
-
name: "
|
|
143
|
-
description: "
|
|
145
|
+
name: "execute_command_approved",
|
|
146
|
+
description: "Internal tool that executes a shell command after user approval. Performs additional security validation, runs the command with sanitized environment variables, and logs execution details. This is automatically called after the user approves execute_command.",
|
|
144
147
|
hidden: true,
|
|
145
148
|
parameters: zod_1.z
|
|
146
149
|
.object({
|
|
@@ -251,20 +254,7 @@ function createExecuteCommandApprovedTool() {
|
|
|
251
254
|
// Execute the command using Node.js child_process
|
|
252
255
|
const { spawn } = yield* effect_1.Effect.promise(() => Promise.resolve().then(() => __importStar(require("child_process"))));
|
|
253
256
|
// Sanitize environment variables for security
|
|
254
|
-
const sanitizedEnv =
|
|
255
|
-
PATH: process.env["PATH"] || "/usr/local/bin:/usr/bin:/bin",
|
|
256
|
-
HOME: process.env["HOME"] || "/tmp",
|
|
257
|
-
USER: process.env["USER"] || "user",
|
|
258
|
-
SHELL: "/bin/sh",
|
|
259
|
-
// Remove potentially sensitive environment variables
|
|
260
|
-
...Object.fromEntries(Object.entries(process.env).filter(([key]) => !key.includes("API") &&
|
|
261
|
-
!key.includes("KEY") &&
|
|
262
|
-
!key.includes("SECRET") &&
|
|
263
|
-
!key.includes("TOKEN") &&
|
|
264
|
-
!key.includes("PASSWORD") &&
|
|
265
|
-
!key.includes("CREDENTIAL") &&
|
|
266
|
-
!key.includes("AUTH"))),
|
|
267
|
-
};
|
|
257
|
+
const sanitizedEnv = (0, env_utils_1.createSanitizedEnv)();
|
|
268
258
|
const result = yield* effect_1.Effect.promise(() => new Promise((resolve, reject) => {
|
|
269
259
|
const child = spawn("sh", ["-c", command], {
|
|
270
260
|
cwd: workingDir,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-tools.js","sourceRoot":"","sources":["../../../../src/core/agent/tools/shell-tools.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"shell-tools.js","sourceRoot":"","sources":["../../../../src/core/agent/tools/shell-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,10 @@ import { type LoggerService } from "../../../services/logger";
|
|
|
6
6
|
/**
|
|
7
7
|
* Tool registry for managing agent tools
|
|
8
8
|
*/
|
|
9
|
+
export interface ToolCategory {
|
|
10
|
+
readonly id: string;
|
|
11
|
+
readonly displayName: string;
|
|
12
|
+
}
|
|
9
13
|
export interface ToolExecutionContext {
|
|
10
14
|
readonly agentId: string;
|
|
11
15
|
readonly conversationId?: string;
|
|
@@ -34,14 +38,14 @@ export interface Tool<R = never> {
|
|
|
34
38
|
readonly createSummary: ((result: ToolExecutionResult) => string | undefined) | undefined;
|
|
35
39
|
}
|
|
36
40
|
export interface ToolRegistry {
|
|
37
|
-
readonly registerTool: (tool: Tool<unknown>, category?:
|
|
38
|
-
readonly registerForCategory: (category:
|
|
41
|
+
readonly registerTool: (tool: Tool<unknown>, category?: ToolCategory) => Effect.Effect<void, never>;
|
|
42
|
+
readonly registerForCategory: (category: ToolCategory) => (tool: Tool<unknown>) => Effect.Effect<void, never>;
|
|
39
43
|
readonly getTool: (name: string) => Effect.Effect<Tool<unknown>, Error>;
|
|
40
44
|
readonly listTools: () => Effect.Effect<readonly string[], never>;
|
|
41
45
|
readonly getToolDefinitions: () => Effect.Effect<readonly ToolDefinition[], never>;
|
|
42
46
|
readonly listToolsByCategory: () => Effect.Effect<Record<string, readonly string[]>, never>;
|
|
43
|
-
readonly getToolsInCategory: (
|
|
44
|
-
readonly listCategories: () => Effect.Effect<readonly
|
|
47
|
+
readonly getToolsInCategory: (categoryId: string) => Effect.Effect<readonly string[], never>;
|
|
48
|
+
readonly listCategories: () => Effect.Effect<readonly ToolCategory[], never>;
|
|
45
49
|
readonly executeTool: (name: string, args: Record<string, unknown>, context: ToolExecutionContext) => Effect.Effect<ToolExecutionResult, Error, ToolRegistry | LoggerService | ConfigService>;
|
|
46
50
|
}
|
|
47
51
|
export declare const ToolRegistryTag: Context.Tag<ToolRegistry, ToolRegistry>;
|
|
@@ -54,15 +58,15 @@ export declare function registerTool(tool: Tool<unknown>): Effect.Effect<void, n
|
|
|
54
58
|
* This provides a clean API for registering multiple tools in the same category
|
|
55
59
|
* without having to pass the category to each registration call.
|
|
56
60
|
*
|
|
57
|
-
* @param category - The category
|
|
61
|
+
* @param category - The category object with id and displayName
|
|
58
62
|
* @returns A function that registers tools under the specified category
|
|
59
63
|
*
|
|
60
64
|
* @example
|
|
61
65
|
* ```typescript
|
|
62
|
-
* const registerTool = yield* registerForCategory("Email");
|
|
66
|
+
* const registerTool = yield* registerForCategory({ id: "email", displayName: "Email" });
|
|
63
67
|
* yield* registerTool(createListEmailsTool());
|
|
64
68
|
* yield* registerTool(createSendEmailTool());
|
|
65
69
|
* ```
|
|
66
70
|
*/
|
|
67
|
-
export declare function registerForCategory(category:
|
|
71
|
+
export declare function registerForCategory(category: ToolCategory): Effect.Effect<(tool: Tool<unknown>) => Effect.Effect<void, never>, never, ToolRegistry>;
|
|
68
72
|
//# sourceMappingURL=tool-registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-registry.d.ts","sourceRoot":"","sources":["../../../../src/core/agent/tools/tool-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EACL,KAAK,aAAa,EAKnB,MAAM,0BAA0B,CAAC;AAElC;;GAEG;AAEH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,IAAI,CAAC,CAAC,GAAG,KAAK;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC;IAClC,yFAAyF;IACzF,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,CAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,oBAAoB,KAC1B,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAClD,yEAAyE;IACzE,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,mBAAmB,KAAK,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;CAC3F;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"tool-registry.d.ts","sourceRoot":"","sources":["../../../../src/core/agent/tools/tool-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,16 +8,23 @@ const effect_1 = require("effect");
|
|
|
8
8
|
const logger_1 = require("../../../services/logger");
|
|
9
9
|
class DefaultToolRegistry {
|
|
10
10
|
tools;
|
|
11
|
-
toolCategories;
|
|
11
|
+
toolCategories; // tool name -> category id
|
|
12
|
+
categories; // category id -> ToolCategory object
|
|
12
13
|
constructor() {
|
|
13
14
|
this.tools = new Map();
|
|
14
15
|
this.toolCategories = new Map();
|
|
16
|
+
this.categories = new Map();
|
|
15
17
|
}
|
|
16
18
|
registerTool(tool, category) {
|
|
17
19
|
return effect_1.Effect.sync(() => {
|
|
18
20
|
this.tools.set(tool.name, tool);
|
|
19
21
|
if (category) {
|
|
20
|
-
|
|
22
|
+
// Store category by ID
|
|
23
|
+
this.toolCategories.set(tool.name, category.id);
|
|
24
|
+
// Store category definition if not already present
|
|
25
|
+
if (!this.categories.has(category.id)) {
|
|
26
|
+
this.categories.set(category.id, category);
|
|
27
|
+
}
|
|
21
28
|
}
|
|
22
29
|
});
|
|
23
30
|
}
|
|
@@ -67,11 +74,24 @@ class DefaultToolRegistry {
|
|
|
67
74
|
const categories = {};
|
|
68
75
|
this.tools.forEach((tool, toolName) => {
|
|
69
76
|
if (!tool.hidden) {
|
|
70
|
-
const
|
|
71
|
-
if (
|
|
72
|
-
|
|
77
|
+
const categoryId = this.toolCategories.get(toolName);
|
|
78
|
+
if (categoryId) {
|
|
79
|
+
const category = this.categories.get(categoryId);
|
|
80
|
+
// Use display name for UI, fallback to ID if category not foun
|
|
81
|
+
const displayName = category?.displayName || categoryId;
|
|
82
|
+
if (!categories[displayName]) {
|
|
83
|
+
categories[displayName] = [];
|
|
84
|
+
}
|
|
85
|
+
categories[displayName].push(toolName);
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
// Default category for tools without category
|
|
89
|
+
const defaultCategory = "Other";
|
|
90
|
+
if (!categories[defaultCategory]) {
|
|
91
|
+
categories[defaultCategory] = [];
|
|
92
|
+
}
|
|
93
|
+
categories[defaultCategory].push(toolName);
|
|
73
94
|
}
|
|
74
|
-
categories[category].push(toolName);
|
|
75
95
|
}
|
|
76
96
|
});
|
|
77
97
|
// Sort tool names within each category
|
|
@@ -84,11 +104,11 @@ class DefaultToolRegistry {
|
|
|
84
104
|
return categories;
|
|
85
105
|
});
|
|
86
106
|
}
|
|
87
|
-
getToolsInCategory(
|
|
107
|
+
getToolsInCategory(categoryId) {
|
|
88
108
|
return effect_1.Effect.sync(() => {
|
|
89
109
|
const tools = [];
|
|
90
110
|
this.tools.forEach((tool, toolName) => {
|
|
91
|
-
if (!tool.hidden && this.toolCategories.get(toolName) ===
|
|
111
|
+
if (!tool.hidden && this.toolCategories.get(toolName) === categoryId) {
|
|
92
112
|
tools.push(toolName);
|
|
93
113
|
}
|
|
94
114
|
});
|
|
@@ -97,14 +117,20 @@ class DefaultToolRegistry {
|
|
|
97
117
|
}
|
|
98
118
|
listCategories() {
|
|
99
119
|
return effect_1.Effect.sync(() => {
|
|
100
|
-
const
|
|
120
|
+
const categoryIds = new Set();
|
|
101
121
|
this.tools.forEach((tool, toolName) => {
|
|
102
122
|
if (!tool.hidden) {
|
|
103
|
-
const
|
|
104
|
-
|
|
123
|
+
const categoryId = this.toolCategories.get(toolName);
|
|
124
|
+
if (categoryId) {
|
|
125
|
+
categoryIds.add(categoryId);
|
|
126
|
+
}
|
|
105
127
|
}
|
|
106
128
|
});
|
|
107
|
-
|
|
129
|
+
const categories = Array.from(categoryIds)
|
|
130
|
+
.map((id) => this.categories.get(id))
|
|
131
|
+
.filter((cat) => cat !== undefined)
|
|
132
|
+
.sort((a, b) => a.displayName.localeCompare(b.displayName));
|
|
133
|
+
return categories;
|
|
108
134
|
});
|
|
109
135
|
}
|
|
110
136
|
executeTool(name, args, context) {
|
|
@@ -112,7 +138,7 @@ class DefaultToolRegistry {
|
|
|
112
138
|
const start = Date.now();
|
|
113
139
|
const tool = yield* this.getTool(name);
|
|
114
140
|
// Log tool execution start
|
|
115
|
-
yield* (0, logger_1.logToolExecutionStart)(name,
|
|
141
|
+
yield* (0, logger_1.logToolExecutionStart)(name, args).pipe(effect_1.Effect.catchAll(() => effect_1.Effect.void));
|
|
116
142
|
try {
|
|
117
143
|
const exec = tool.execute;
|
|
118
144
|
const result = yield* exec(args, context);
|
|
@@ -121,7 +147,7 @@ class DefaultToolRegistry {
|
|
|
121
147
|
// Create a summary of the result for better logging
|
|
122
148
|
const resultSummary = tool.createSummary?.(result);
|
|
123
149
|
// Log successful execution with improved formatting
|
|
124
|
-
yield* (0, logger_1.logToolExecutionSuccess)(name,
|
|
150
|
+
yield* (0, logger_1.logToolExecutionSuccess)(name, durationMs, resultSummary).pipe(effect_1.Effect.catchAll(() => effect_1.Effect.void));
|
|
125
151
|
}
|
|
126
152
|
else {
|
|
127
153
|
// If this is an approval-required response, log as warning with special label
|
|
@@ -129,11 +155,11 @@ class DefaultToolRegistry {
|
|
|
129
155
|
const isApproval = resultObj?.approvalRequired === true;
|
|
130
156
|
if (isApproval) {
|
|
131
157
|
const approvalMsg = resultObj?.message || result.error || "Approval required";
|
|
132
|
-
yield* (0, logger_1.logToolExecutionApproval)(name,
|
|
158
|
+
yield* (0, logger_1.logToolExecutionApproval)(name, durationMs, approvalMsg).pipe(effect_1.Effect.catchAll(() => effect_1.Effect.void));
|
|
133
159
|
}
|
|
134
160
|
else {
|
|
135
161
|
const errorMessage = result.error || "Tool returned success=false";
|
|
136
|
-
yield* (0, logger_1.logToolExecutionError)(name,
|
|
162
|
+
yield* (0, logger_1.logToolExecutionError)(name, durationMs, errorMessage).pipe(effect_1.Effect.catchAll(() => effect_1.Effect.void));
|
|
137
163
|
}
|
|
138
164
|
}
|
|
139
165
|
return result;
|
|
@@ -142,7 +168,7 @@ class DefaultToolRegistry {
|
|
|
142
168
|
const durationMs = Date.now() - start;
|
|
143
169
|
const errorMessage = err instanceof Error ? err.message : String(err);
|
|
144
170
|
// Log error with improved formatting
|
|
145
|
-
yield* (0, logger_1.logToolExecutionError)(name,
|
|
171
|
+
yield* (0, logger_1.logToolExecutionError)(name, durationMs, errorMessage).pipe(effect_1.Effect.catchAll(() => effect_1.Effect.void));
|
|
146
172
|
throw err;
|
|
147
173
|
}
|
|
148
174
|
}.bind(this));
|
|
@@ -168,12 +194,12 @@ function registerTool(tool) {
|
|
|
168
194
|
* This provides a clean API for registering multiple tools in the same category
|
|
169
195
|
* without having to pass the category to each registration call.
|
|
170
196
|
*
|
|
171
|
-
* @param category - The category
|
|
197
|
+
* @param category - The category object with id and displayName
|
|
172
198
|
* @returns A function that registers tools under the specified category
|
|
173
199
|
*
|
|
174
200
|
* @example
|
|
175
201
|
* ```typescript
|
|
176
|
-
* const registerTool = yield* registerForCategory("Email");
|
|
202
|
+
* const registerTool = yield* registerForCategory({ id: "email", displayName: "Email" });
|
|
177
203
|
* yield* registerTool(createListEmailsTool());
|
|
178
204
|
* yield* registerTool(createSendEmailTool());
|
|
179
205
|
* ```
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-registry.js","sourceRoot":"","sources":["../../../../src/core/agent/tools/tool-registry.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"tool-registry.js","sourceRoot":"","sources":["../../../../src/core/agent/tools/tool-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ const base_tool_1 = require("./base-tool");
|
|
|
14
14
|
function createWebSearchTool() {
|
|
15
15
|
return (0, base_tool_1.defineTool)({
|
|
16
16
|
name: "web_search",
|
|
17
|
-
description: "Search the web for current information
|
|
17
|
+
description: "Search the web for current, real-time information using the Linkup search engine (with fallback options). Returns high-quality, factual search results with sources. Supports different search depths (standard/deep) and output formats (sourced answers, raw results, structured data). Use to find current events, recent information, or facts that may have changed since training data. Automatically falls back to alternative search methods if Linkup is unavailable.",
|
|
18
18
|
tags: ["web", "search"],
|
|
19
19
|
parameters: zod_1.z
|
|
20
20
|
.object({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-search-tools.js","sourceRoot":"","sources":["../../../../src/core/agent/tools/web-search-tools.ts"],"names":[],"mappings":";;AAoDA,kDA6FC;AAjJD,mCAAgC;AAChC,2CAMoB;AACpB,6BAAwB;AACxB,qDAAkF;AAClF,2CAAyC;AAqCzC;;;;GAIG;AACH,SAAgB,mBAAmB;IACjC,OAAO,IAAA,sBAAU,EAA+B;QAC9C,IAAI,EAAE,YAAY;QAClB,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"web-search-tools.js","sourceRoot":"","sources":["../../../../src/core/agent/tools/web-search-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,6 +42,7 @@ export interface AgentRunTracker {
|
|
|
42
42
|
readonly errors: string[];
|
|
43
43
|
readonly iterationSummaries: AgentRunIterationSummary[];
|
|
44
44
|
currentIteration: AgentRunIterationSummary | undefined;
|
|
45
|
+
firstTokenLatencyMs?: number | undefined;
|
|
45
46
|
}
|
|
46
47
|
export declare function createAgentRunTracker(context: AgentRunTrackerContext): AgentRunTracker;
|
|
47
48
|
export declare function recordLLMUsage(tracker: AgentRunTracker, usage: {
|
|
@@ -53,6 +54,7 @@ export declare function beginIteration(tracker: AgentRunTracker, iterationNumber
|
|
|
53
54
|
export declare function completeIteration(tracker: AgentRunTracker): void;
|
|
54
55
|
export declare function recordToolInvocation(tracker: AgentRunTracker, toolName: string): void;
|
|
55
56
|
export declare function recordToolError(tracker: AgentRunTracker, toolName: string, error: unknown): void;
|
|
57
|
+
export declare function recordFirstTokenLatency(tracker: AgentRunTracker, latencyMs: number): void;
|
|
56
58
|
export declare function recordLastError(tracker: AgentRunTracker, error: unknown): void;
|
|
57
59
|
export declare function finalizeAgentRun(tracker: AgentRunTracker, details: {
|
|
58
60
|
readonly iterationsUsed: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-run-tracker.d.ts","sourceRoot":"","sources":["../../../../src/core/agent/tracking/agent-run-tracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-run-tracker.d.ts","sourceRoot":"","sources":["../../../../src/core/agent/tracking/agent-run-tracker.ts"],"names":[],"mappings":"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"}
|