mojentic 1.0.0
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/LICENSE +21 -0
- package/README.md +459 -0
- package/dist/agents/async-aggregator-agent.d.ts +101 -0
- package/dist/agents/async-aggregator-agent.d.ts.map +1 -0
- package/dist/agents/async-aggregator-agent.js +160 -0
- package/dist/agents/async-aggregator-agent.js.map +1 -0
- package/dist/agents/async-dispatcher.d.ts +98 -0
- package/dist/agents/async-dispatcher.d.ts.map +1 -0
- package/dist/agents/async-dispatcher.js +173 -0
- package/dist/agents/async-dispatcher.js.map +1 -0
- package/dist/agents/async-llm-agent-with-memory.d.ts +95 -0
- package/dist/agents/async-llm-agent-with-memory.d.ts.map +1 -0
- package/dist/agents/async-llm-agent-with-memory.js +136 -0
- package/dist/agents/async-llm-agent-with-memory.js.map +1 -0
- package/dist/agents/async-llm-agent.d.ts +85 -0
- package/dist/agents/async-llm-agent.d.ts.map +1 -0
- package/dist/agents/async-llm-agent.js +87 -0
- package/dist/agents/async-llm-agent.js.map +1 -0
- package/dist/agents/base-agent.d.ts +59 -0
- package/dist/agents/base-agent.d.ts.map +1 -0
- package/dist/agents/base-agent.js +24 -0
- package/dist/agents/base-agent.js.map +1 -0
- package/dist/agents/base-async-agent.d.ts +42 -0
- package/dist/agents/base-async-agent.d.ts.map +1 -0
- package/dist/agents/base-async-agent.js +6 -0
- package/dist/agents/base-async-agent.js.map +1 -0
- package/dist/agents/event.d.ts +26 -0
- package/dist/agents/event.d.ts.map +1 -0
- package/dist/agents/event.js +13 -0
- package/dist/agents/event.js.map +1 -0
- package/dist/agents/index.d.ts +14 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +30 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/iterative-problem-solver.d.ts +83 -0
- package/dist/agents/iterative-problem-solver.d.ts.map +1 -0
- package/dist/agents/iterative-problem-solver.js +120 -0
- package/dist/agents/iterative-problem-solver.js.map +1 -0
- package/dist/agents/router.d.ts +44 -0
- package/dist/agents/router.d.ts.map +1 -0
- package/dist/agents/router.js +53 -0
- package/dist/agents/router.js.map +1 -0
- package/dist/agents/simple-recursive-agent.d.ts +182 -0
- package/dist/agents/simple-recursive-agent.d.ts.map +1 -0
- package/dist/agents/simple-recursive-agent.js +272 -0
- package/dist/agents/simple-recursive-agent.js.map +1 -0
- package/dist/context/index.d.ts +5 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +21 -0
- package/dist/context/index.js.map +1 -0
- package/dist/context/shared-working-memory.d.ts +76 -0
- package/dist/context/shared-working-memory.d.ts.map +1 -0
- package/dist/context/shared-working-memory.js +121 -0
- package/dist/context/shared-working-memory.js.map +1 -0
- package/dist/error.d.ts +93 -0
- package/dist/error.d.ts.map +1 -0
- package/dist/error.js +149 -0
- package/dist/error.js.map +1 -0
- package/dist/examples/react/decisioning-agent.d.ts +48 -0
- package/dist/examples/react/decisioning-agent.d.ts.map +1 -0
- package/dist/examples/react/decisioning-agent.js +204 -0
- package/dist/examples/react/decisioning-agent.js.map +1 -0
- package/dist/examples/react/events.d.ts +77 -0
- package/dist/examples/react/events.d.ts.map +1 -0
- package/dist/examples/react/events.js +9 -0
- package/dist/examples/react/events.js.map +1 -0
- package/dist/examples/react/formatters.d.ts +23 -0
- package/dist/examples/react/formatters.d.ts.map +1 -0
- package/dist/examples/react/formatters.js +68 -0
- package/dist/examples/react/formatters.js.map +1 -0
- package/dist/examples/react/index.d.ts +12 -0
- package/dist/examples/react/index.d.ts.map +1 -0
- package/dist/examples/react/index.js +28 -0
- package/dist/examples/react/index.js.map +1 -0
- package/dist/examples/react/models.d.ts +57 -0
- package/dist/examples/react/models.d.ts.map +1 -0
- package/dist/examples/react/models.js +19 -0
- package/dist/examples/react/models.js.map +1 -0
- package/dist/examples/react/output-agent.d.ts +23 -0
- package/dist/examples/react/output-agent.d.ts.map +1 -0
- package/dist/examples/react/output-agent.js +28 -0
- package/dist/examples/react/output-agent.js.map +1 -0
- package/dist/examples/react/summarization-agent.d.ts +46 -0
- package/dist/examples/react/summarization-agent.d.ts.map +1 -0
- package/dist/examples/react/summarization-agent.js +102 -0
- package/dist/examples/react/summarization-agent.js.map +1 -0
- package/dist/examples/react/thinking-agent.d.ts +47 -0
- package/dist/examples/react/thinking-agent.d.ts.map +1 -0
- package/dist/examples/react/thinking-agent.js +127 -0
- package/dist/examples/react/thinking-agent.js.map +1 -0
- package/dist/examples/react/tool-call-agent.d.ts +25 -0
- package/dist/examples/react/tool-call-agent.d.ts.map +1 -0
- package/dist/examples/react/tool-call-agent.js +83 -0
- package/dist/examples/react/tool-call-agent.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/dist/llm/agent.d.ts +68 -0
- package/dist/llm/agent.d.ts.map +1 -0
- package/dist/llm/agent.js +85 -0
- package/dist/llm/agent.js.map +1 -0
- package/dist/llm/broker.d.ts +150 -0
- package/dist/llm/broker.d.ts.map +1 -0
- package/dist/llm/broker.js +355 -0
- package/dist/llm/broker.js.map +1 -0
- package/dist/llm/chat-session.d.ts +98 -0
- package/dist/llm/chat-session.d.ts.map +1 -0
- package/dist/llm/chat-session.js +156 -0
- package/dist/llm/chat-session.js.map +1 -0
- package/dist/llm/gateway.d.ts +28 -0
- package/dist/llm/gateway.d.ts.map +1 -0
- package/dist/llm/gateway.js +6 -0
- package/dist/llm/gateway.js.map +1 -0
- package/dist/llm/gateways/index.d.ts +9 -0
- package/dist/llm/gateways/index.d.ts.map +1 -0
- package/dist/llm/gateways/index.js +25 -0
- package/dist/llm/gateways/index.js.map +1 -0
- package/dist/llm/gateways/ollama.d.ts +30 -0
- package/dist/llm/gateways/ollama.d.ts.map +1 -0
- package/dist/llm/gateways/ollama.js +322 -0
- package/dist/llm/gateways/ollama.js.map +1 -0
- package/dist/llm/gateways/openai-messages-adapter.d.ts +29 -0
- package/dist/llm/gateways/openai-messages-adapter.d.ts.map +1 -0
- package/dist/llm/gateways/openai-messages-adapter.js +188 -0
- package/dist/llm/gateways/openai-messages-adapter.js.map +1 -0
- package/dist/llm/gateways/openai-model-registry.d.ts +82 -0
- package/dist/llm/gateways/openai-model-registry.d.ts.map +1 -0
- package/dist/llm/gateways/openai-model-registry.js +352 -0
- package/dist/llm/gateways/openai-model-registry.js.map +1 -0
- package/dist/llm/gateways/openai.d.ts +40 -0
- package/dist/llm/gateways/openai.d.ts.map +1 -0
- package/dist/llm/gateways/openai.js +469 -0
- package/dist/llm/gateways/openai.js.map +1 -0
- package/dist/llm/gateways/tokenizerGateway.d.ts +61 -0
- package/dist/llm/gateways/tokenizerGateway.d.ts.map +1 -0
- package/dist/llm/gateways/tokenizerGateway.js +75 -0
- package/dist/llm/gateways/tokenizerGateway.js.map +1 -0
- package/dist/llm/index.d.ts +11 -0
- package/dist/llm/index.d.ts.map +1 -0
- package/dist/llm/index.js +27 -0
- package/dist/llm/index.js.map +1 -0
- package/dist/llm/models.d.ts +95 -0
- package/dist/llm/models.d.ts.map +1 -0
- package/dist/llm/models.js +50 -0
- package/dist/llm/models.js.map +1 -0
- package/dist/llm/tools/ask-user.d.ts +39 -0
- package/dist/llm/tools/ask-user.d.ts.map +1 -0
- package/dist/llm/tools/ask-user.js +111 -0
- package/dist/llm/tools/ask-user.js.map +1 -0
- package/dist/llm/tools/current-datetime.d.ts +17 -0
- package/dist/llm/tools/current-datetime.d.ts.map +1 -0
- package/dist/llm/tools/current-datetime.js +76 -0
- package/dist/llm/tools/current-datetime.js.map +1 -0
- package/dist/llm/tools/date-resolver.d.ts +17 -0
- package/dist/llm/tools/date-resolver.d.ts.map +1 -0
- package/dist/llm/tools/date-resolver.js +135 -0
- package/dist/llm/tools/date-resolver.js.map +1 -0
- package/dist/llm/tools/ephemeral-task-manager/append-task.d.ts +13 -0
- package/dist/llm/tools/ephemeral-task-manager/append-task.d.ts.map +1 -0
- package/dist/llm/tools/ephemeral-task-manager/append-task.js +54 -0
- package/dist/llm/tools/ephemeral-task-manager/append-task.js.map +1 -0
- package/dist/llm/tools/ephemeral-task-manager/clear-tasks.d.ts +13 -0
- package/dist/llm/tools/ephemeral-task-manager/clear-tasks.d.ts.map +1 -0
- package/dist/llm/tools/ephemeral-task-manager/clear-tasks.js +37 -0
- package/dist/llm/tools/ephemeral-task-manager/clear-tasks.js.map +1 -0
- package/dist/llm/tools/ephemeral-task-manager/complete-task.d.ts +15 -0
- package/dist/llm/tools/ephemeral-task-manager/complete-task.d.ts.map +1 -0
- package/dist/llm/tools/ephemeral-task-manager/complete-task.js +56 -0
- package/dist/llm/tools/ephemeral-task-manager/complete-task.js.map +1 -0
- package/dist/llm/tools/ephemeral-task-manager/index.d.ts +44 -0
- package/dist/llm/tools/ephemeral-task-manager/index.d.ts.map +1 -0
- package/dist/llm/tools/ephemeral-task-manager/index.js +73 -0
- package/dist/llm/tools/ephemeral-task-manager/index.js.map +1 -0
- package/dist/llm/tools/ephemeral-task-manager/insert-task-after.d.ts +13 -0
- package/dist/llm/tools/ephemeral-task-manager/insert-task-after.d.ts.map +1 -0
- package/dist/llm/tools/ephemeral-task-manager/insert-task-after.js +59 -0
- package/dist/llm/tools/ephemeral-task-manager/insert-task-after.js.map +1 -0
- package/dist/llm/tools/ephemeral-task-manager/list-tasks.d.ts +14 -0
- package/dist/llm/tools/ephemeral-task-manager/list-tasks.d.ts.map +1 -0
- package/dist/llm/tools/ephemeral-task-manager/list-tasks.js +45 -0
- package/dist/llm/tools/ephemeral-task-manager/list-tasks.js.map +1 -0
- package/dist/llm/tools/ephemeral-task-manager/prepend-task.d.ts +13 -0
- package/dist/llm/tools/ephemeral-task-manager/prepend-task.d.ts.map +1 -0
- package/dist/llm/tools/ephemeral-task-manager/prepend-task.js +54 -0
- package/dist/llm/tools/ephemeral-task-manager/prepend-task.js.map +1 -0
- package/dist/llm/tools/ephemeral-task-manager/start-task.d.ts +15 -0
- package/dist/llm/tools/ephemeral-task-manager/start-task.d.ts.map +1 -0
- package/dist/llm/tools/ephemeral-task-manager/start-task.js +56 -0
- package/dist/llm/tools/ephemeral-task-manager/start-task.js.map +1 -0
- package/dist/llm/tools/ephemeral-task-manager/task-list.d.ts +68 -0
- package/dist/llm/tools/ephemeral-task-manager/task-list.d.ts.map +1 -0
- package/dist/llm/tools/ephemeral-task-manager/task-list.js +120 -0
- package/dist/llm/tools/ephemeral-task-manager/task-list.js.map +1 -0
- package/dist/llm/tools/ephemeral-task-manager/task.d.ts +21 -0
- package/dist/llm/tools/ephemeral-task-manager/task.d.ts.map +1 -0
- package/dist/llm/tools/ephemeral-task-manager/task.js +24 -0
- package/dist/llm/tools/ephemeral-task-manager/task.js.map +1 -0
- package/dist/llm/tools/file-manager.d.ts +127 -0
- package/dist/llm/tools/file-manager.d.ts.map +1 -0
- package/dist/llm/tools/file-manager.js +598 -0
- package/dist/llm/tools/file-manager.js.map +1 -0
- package/dist/llm/tools/index.d.ts +11 -0
- package/dist/llm/tools/index.d.ts.map +1 -0
- package/dist/llm/tools/index.js +27 -0
- package/dist/llm/tools/index.js.map +1 -0
- package/dist/llm/tools/tell-user.d.ts +31 -0
- package/dist/llm/tools/tell-user.d.ts.map +1 -0
- package/dist/llm/tools/tell-user.js +57 -0
- package/dist/llm/tools/tell-user.js.map +1 -0
- package/dist/llm/tools/tool-wrapper.d.ts +54 -0
- package/dist/llm/tools/tool-wrapper.d.ts.map +1 -0
- package/dist/llm/tools/tool-wrapper.js +91 -0
- package/dist/llm/tools/tool-wrapper.js.map +1 -0
- package/dist/llm/tools/tool.d.ts +70 -0
- package/dist/llm/tools/tool.d.ts.map +1 -0
- package/dist/llm/tools/tool.js +19 -0
- package/dist/llm/tools/tool.js.map +1 -0
- package/dist/llm/tools/web-search-tool.d.ts +35 -0
- package/dist/llm/tools/web-search-tool.d.ts.map +1 -0
- package/dist/llm/tools/web-search-tool.js +105 -0
- package/dist/llm/tools/web-search-tool.js.map +1 -0
- package/dist/llm/utils/image.d.ts +30 -0
- package/dist/llm/utils/image.d.ts.map +1 -0
- package/dist/llm/utils/image.js +65 -0
- package/dist/llm/utils/image.js.map +1 -0
- package/dist/tracer/eventStore.d.ts +101 -0
- package/dist/tracer/eventStore.d.ts.map +1 -0
- package/dist/tracer/eventStore.js +120 -0
- package/dist/tracer/eventStore.js.map +1 -0
- package/dist/tracer/index.d.ts +8 -0
- package/dist/tracer/index.d.ts.map +1 -0
- package/dist/tracer/index.js +24 -0
- package/dist/tracer/index.js.map +1 -0
- package/dist/tracer/nullTracer.d.ts +127 -0
- package/dist/tracer/nullTracer.d.ts.map +1 -0
- package/dist/tracer/nullTracer.js +148 -0
- package/dist/tracer/nullTracer.js.map +1 -0
- package/dist/tracer/tracerEvents.d.ts +209 -0
- package/dist/tracer/tracerEvents.d.ts.map +1 -0
- package/dist/tracer/tracerEvents.js +312 -0
- package/dist/tracer/tracerEvents.js.map +1 -0
- package/dist/tracer/tracerSystem.d.ts +149 -0
- package/dist/tracer/tracerSystem.d.ts.map +1 -0
- package/dist/tracer/tracerSystem.js +196 -0
- package/dist/tracer/tracerSystem.js.map +1 -0
- package/package.json +87 -0
|
@@ -0,0 +1,598 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.CreateDirectoryTool = exports.FindLinesMatchingTool = exports.FindFilesContainingTool = exports.FindFilesByGlobTool = exports.ListAllFilesTool = exports.WriteFileTool = exports.ReadFileTool = exports.ListFilesTool = exports.FilesystemGateway = void 0;
|
|
37
|
+
const fs = __importStar(require("fs"));
|
|
38
|
+
const path = __importStar(require("path"));
|
|
39
|
+
const tool_1 = require("./tool");
|
|
40
|
+
const error_1 = require("../../error");
|
|
41
|
+
/**
|
|
42
|
+
* A gateway for interacting with the filesystem within a sandboxed base path.
|
|
43
|
+
*
|
|
44
|
+
* This class provides safe filesystem operations that are restricted to a
|
|
45
|
+
* specific base directory, preventing path traversal attacks.
|
|
46
|
+
*/
|
|
47
|
+
class FilesystemGateway {
|
|
48
|
+
basePath;
|
|
49
|
+
constructor(basePath) {
|
|
50
|
+
this.basePath = basePath;
|
|
51
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Constructor validates base path for sandbox
|
|
52
|
+
if (!fs.existsSync(basePath) || !fs.statSync(basePath).isDirectory()) {
|
|
53
|
+
throw new Error(`Base path ${basePath} is not a directory`);
|
|
54
|
+
}
|
|
55
|
+
this.basePath = path.resolve(basePath);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Resolves a path relative to the base path and ensures it stays within the sandbox.
|
|
59
|
+
*/
|
|
60
|
+
resolvePath(relativePath) {
|
|
61
|
+
const resolved = path.resolve(this.basePath, relativePath);
|
|
62
|
+
const normalized = path.normalize(resolved);
|
|
63
|
+
if (!normalized.startsWith(this.basePath)) {
|
|
64
|
+
throw new Error(`Path ${relativePath} attempts to escape the sandbox`);
|
|
65
|
+
}
|
|
66
|
+
return normalized;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Lists files in a directory (non-recursive).
|
|
70
|
+
*/
|
|
71
|
+
ls(relativePath) {
|
|
72
|
+
const resolvedPath = this.resolvePath(relativePath);
|
|
73
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Path validated by resolvePath sandbox check
|
|
74
|
+
const entries = fs.readdirSync(resolvedPath);
|
|
75
|
+
return entries.map((entry) => {
|
|
76
|
+
const fullPath = path.join(resolvedPath, entry);
|
|
77
|
+
return path.relative(this.basePath, fullPath);
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Lists all files recursively in a directory.
|
|
82
|
+
*/
|
|
83
|
+
listAllFiles(relativePath) {
|
|
84
|
+
const resolvedPath = this.resolvePath(relativePath);
|
|
85
|
+
const files = [];
|
|
86
|
+
this.collectFilesRecursively(resolvedPath, files);
|
|
87
|
+
return files;
|
|
88
|
+
}
|
|
89
|
+
collectFilesRecursively(dir, files) {
|
|
90
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Path validated by resolvePath sandbox check
|
|
91
|
+
if (!fs.existsSync(dir) || !fs.statSync(dir).isDirectory()) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Path validated by resolvePath sandbox check
|
|
95
|
+
const entries = fs.readdirSync(dir);
|
|
96
|
+
for (const entry of entries) {
|
|
97
|
+
const fullPath = path.join(dir, entry);
|
|
98
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Path validated by resolvePath sandbox check
|
|
99
|
+
const stat = fs.statSync(fullPath);
|
|
100
|
+
if (stat.isDirectory()) {
|
|
101
|
+
this.collectFilesRecursively(fullPath, files);
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
files.push(path.relative(this.basePath, fullPath));
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Finds files matching a glob pattern (simplified implementation).
|
|
110
|
+
*/
|
|
111
|
+
findFilesByGlob(relativePath, pattern) {
|
|
112
|
+
const resolvedPath = this.resolvePath(relativePath);
|
|
113
|
+
const files = [];
|
|
114
|
+
// Convert glob pattern to regex for simple matching
|
|
115
|
+
const regexPattern = pattern.replace(/\./g, '\\.').replace(/\*/g, '.*').replace(/\?/g, '.');
|
|
116
|
+
// eslint-disable-next-line security/detect-non-literal-regexp -- Glob pattern safely converted to regex for file matching
|
|
117
|
+
const regex = new RegExp(regexPattern);
|
|
118
|
+
this.findFilesByPattern(resolvedPath, regex, files);
|
|
119
|
+
return files;
|
|
120
|
+
}
|
|
121
|
+
findFilesByPattern(dir, regex, files) {
|
|
122
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Path validated by resolvePath sandbox check
|
|
123
|
+
if (!fs.existsSync(dir) || !fs.statSync(dir).isDirectory()) {
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Path validated by resolvePath sandbox check
|
|
127
|
+
const entries = fs.readdirSync(dir);
|
|
128
|
+
for (const entry of entries) {
|
|
129
|
+
const fullPath = path.join(dir, entry);
|
|
130
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Path validated by resolvePath sandbox check
|
|
131
|
+
const stat = fs.statSync(fullPath);
|
|
132
|
+
const relativePath = path.relative(this.basePath, fullPath);
|
|
133
|
+
if (stat.isDirectory()) {
|
|
134
|
+
this.findFilesByPattern(fullPath, regex, files);
|
|
135
|
+
}
|
|
136
|
+
else if (regex.test(relativePath)) {
|
|
137
|
+
files.push(relativePath);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Finds files containing text matching a regex pattern.
|
|
143
|
+
*/
|
|
144
|
+
findFilesContaining(relativePath, pattern) {
|
|
145
|
+
const resolvedPath = this.resolvePath(relativePath);
|
|
146
|
+
// eslint-disable-next-line security/detect-non-literal-regexp -- User-provided regex pattern for content search
|
|
147
|
+
const regex = new RegExp(pattern);
|
|
148
|
+
const files = [];
|
|
149
|
+
this.findMatchingFiles(resolvedPath, regex, files);
|
|
150
|
+
return files;
|
|
151
|
+
}
|
|
152
|
+
findMatchingFiles(dir, regex, files) {
|
|
153
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Path validated by resolvePath sandbox check
|
|
154
|
+
if (!fs.existsSync(dir) || !fs.statSync(dir).isDirectory()) {
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Path validated by resolvePath sandbox check
|
|
158
|
+
const entries = fs.readdirSync(dir);
|
|
159
|
+
for (const entry of entries) {
|
|
160
|
+
const fullPath = path.join(dir, entry);
|
|
161
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Path validated by resolvePath sandbox check
|
|
162
|
+
const stat = fs.statSync(fullPath);
|
|
163
|
+
if (stat.isDirectory()) {
|
|
164
|
+
this.findMatchingFiles(fullPath, regex, files);
|
|
165
|
+
}
|
|
166
|
+
else if (stat.isFile()) {
|
|
167
|
+
try {
|
|
168
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Path validated by resolvePath sandbox check
|
|
169
|
+
const content = fs.readFileSync(fullPath, 'utf-8');
|
|
170
|
+
if (regex.test(content)) {
|
|
171
|
+
files.push(path.relative(this.basePath, fullPath));
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
catch (error) {
|
|
175
|
+
// Skip files that can't be read as text
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Finds all lines in a file matching a regex pattern.
|
|
182
|
+
*/
|
|
183
|
+
findLinesMatching(relativePath, fileName, pattern) {
|
|
184
|
+
const resolvedPath = this.resolvePath(relativePath);
|
|
185
|
+
const filePath = path.join(resolvedPath, fileName);
|
|
186
|
+
// eslint-disable-next-line security/detect-non-literal-regexp -- User-provided regex pattern for content search
|
|
187
|
+
const regex = new RegExp(pattern);
|
|
188
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Path validated by resolvePath sandbox check
|
|
189
|
+
const content = fs.readFileSync(filePath, 'utf-8');
|
|
190
|
+
const lines = content.split('\n');
|
|
191
|
+
const matchingLines = [];
|
|
192
|
+
lines.forEach((line, index) => {
|
|
193
|
+
if (regex.test(line)) {
|
|
194
|
+
matchingLines.push({
|
|
195
|
+
line_number: index + 1,
|
|
196
|
+
content: line,
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
});
|
|
200
|
+
return matchingLines;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Reads the content of a file.
|
|
204
|
+
*/
|
|
205
|
+
read(relativePath, fileName) {
|
|
206
|
+
const resolvedPath = this.resolvePath(relativePath);
|
|
207
|
+
const filePath = path.join(resolvedPath, fileName);
|
|
208
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Path validated by resolvePath sandbox check
|
|
209
|
+
return fs.readFileSync(filePath, 'utf-8');
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Writes content to a file.
|
|
213
|
+
*/
|
|
214
|
+
write(relativePath, fileName, content) {
|
|
215
|
+
const resolvedPath = this.resolvePath(relativePath);
|
|
216
|
+
const filePath = path.join(resolvedPath, fileName);
|
|
217
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Path validated by resolvePath sandbox check
|
|
218
|
+
fs.writeFileSync(filePath, content, 'utf-8');
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
exports.FilesystemGateway = FilesystemGateway;
|
|
222
|
+
/**
|
|
223
|
+
* Tool for listing files in a directory (non-recursive).
|
|
224
|
+
*/
|
|
225
|
+
class ListFilesTool extends tool_1.BaseTool {
|
|
226
|
+
fs;
|
|
227
|
+
constructor(fs) {
|
|
228
|
+
super();
|
|
229
|
+
this.fs = fs;
|
|
230
|
+
}
|
|
231
|
+
descriptor() {
|
|
232
|
+
return {
|
|
233
|
+
type: 'function',
|
|
234
|
+
function: {
|
|
235
|
+
name: 'list_files',
|
|
236
|
+
description: 'List files in the specified directory (non-recursive), optionally filtered by extension. Use this when you need to see what files are available in a specific directory without including subdirectories.',
|
|
237
|
+
parameters: {
|
|
238
|
+
type: 'object',
|
|
239
|
+
properties: {
|
|
240
|
+
path: {
|
|
241
|
+
type: 'string',
|
|
242
|
+
description: "The path relative to the sandbox root to list files from. For example, '.' for the root directory, 'src' for the src directory, or 'docs/images' for a nested directory.",
|
|
243
|
+
},
|
|
244
|
+
extension: {
|
|
245
|
+
type: 'string',
|
|
246
|
+
description: "The file extension to filter by (e.g., '.py', '.txt', '.md'). If not provided, all files will be listed. For example, using '.py' will only list Python files in the directory.",
|
|
247
|
+
},
|
|
248
|
+
},
|
|
249
|
+
additionalProperties: false,
|
|
250
|
+
required: ['path'],
|
|
251
|
+
},
|
|
252
|
+
},
|
|
253
|
+
};
|
|
254
|
+
}
|
|
255
|
+
async run(args) {
|
|
256
|
+
try {
|
|
257
|
+
const relativePath = args.path;
|
|
258
|
+
const extension = args.extension;
|
|
259
|
+
let files = this.fs.ls(relativePath);
|
|
260
|
+
if (extension) {
|
|
261
|
+
files = files.filter((f) => f.endsWith(extension));
|
|
262
|
+
}
|
|
263
|
+
return (0, error_1.Ok)(JSON.stringify(files));
|
|
264
|
+
}
|
|
265
|
+
catch (error) {
|
|
266
|
+
return (0, error_1.Err)(error);
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
exports.ListFilesTool = ListFilesTool;
|
|
271
|
+
/**
|
|
272
|
+
* Tool for reading the entire content of a file.
|
|
273
|
+
*/
|
|
274
|
+
class ReadFileTool extends tool_1.BaseTool {
|
|
275
|
+
fs;
|
|
276
|
+
constructor(fs) {
|
|
277
|
+
super();
|
|
278
|
+
this.fs = fs;
|
|
279
|
+
}
|
|
280
|
+
descriptor() {
|
|
281
|
+
return {
|
|
282
|
+
type: 'function',
|
|
283
|
+
function: {
|
|
284
|
+
name: 'read_file',
|
|
285
|
+
description: 'Read the entire content of a file as a string. Use this when you need to access or analyze the complete contents of a file.',
|
|
286
|
+
parameters: {
|
|
287
|
+
type: 'object',
|
|
288
|
+
properties: {
|
|
289
|
+
path: {
|
|
290
|
+
type: 'string',
|
|
291
|
+
description: "The full relative path including the filename of the file to read. For example, 'README.md' for a file in the root directory, 'src/main.py' for a file in the src directory, or 'docs/images/diagram.png' for a file in a nested directory.",
|
|
292
|
+
},
|
|
293
|
+
},
|
|
294
|
+
additionalProperties: false,
|
|
295
|
+
required: ['path'],
|
|
296
|
+
},
|
|
297
|
+
},
|
|
298
|
+
};
|
|
299
|
+
}
|
|
300
|
+
async run(args) {
|
|
301
|
+
try {
|
|
302
|
+
const filePath = args.path;
|
|
303
|
+
const { directory, fileName } = this.splitPath(filePath);
|
|
304
|
+
const content = this.fs.read(directory, fileName);
|
|
305
|
+
return (0, error_1.Ok)(content);
|
|
306
|
+
}
|
|
307
|
+
catch (error) {
|
|
308
|
+
return (0, error_1.Err)(error);
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
splitPath(filePath) {
|
|
312
|
+
const directory = path.dirname(filePath);
|
|
313
|
+
const fileName = path.basename(filePath);
|
|
314
|
+
return { directory, fileName };
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
exports.ReadFileTool = ReadFileTool;
|
|
318
|
+
/**
|
|
319
|
+
* Tool for writing content to a file, completely overwriting any existing content.
|
|
320
|
+
*/
|
|
321
|
+
class WriteFileTool extends tool_1.BaseTool {
|
|
322
|
+
fs;
|
|
323
|
+
constructor(fs) {
|
|
324
|
+
super();
|
|
325
|
+
this.fs = fs;
|
|
326
|
+
}
|
|
327
|
+
descriptor() {
|
|
328
|
+
return {
|
|
329
|
+
type: 'function',
|
|
330
|
+
function: {
|
|
331
|
+
name: 'write_file',
|
|
332
|
+
description: 'Write content to a file, completely overwriting any existing content. Use this when you want to replace the entire contents of a file with new content.',
|
|
333
|
+
parameters: {
|
|
334
|
+
type: 'object',
|
|
335
|
+
properties: {
|
|
336
|
+
path: {
|
|
337
|
+
type: 'string',
|
|
338
|
+
description: "The full relative path including the filename where the file should be written. For example, 'output.txt' for a file in the root directory, 'src/main.py' for a file in the src directory, or 'docs/images/diagram.png' for a file in a nested directory.",
|
|
339
|
+
},
|
|
340
|
+
content: {
|
|
341
|
+
type: 'string',
|
|
342
|
+
description: "The content to write to the file. This will completely replace any existing content in the file. For example, 'Hello, world!' for a simple text file, or a JSON string for a configuration file.",
|
|
343
|
+
},
|
|
344
|
+
},
|
|
345
|
+
additionalProperties: false,
|
|
346
|
+
required: ['path', 'content'],
|
|
347
|
+
},
|
|
348
|
+
},
|
|
349
|
+
};
|
|
350
|
+
}
|
|
351
|
+
async run(args) {
|
|
352
|
+
try {
|
|
353
|
+
const filePath = args.path;
|
|
354
|
+
const content = args.content;
|
|
355
|
+
const { directory, fileName } = this.splitPath(filePath);
|
|
356
|
+
this.fs.write(directory, fileName, content);
|
|
357
|
+
return (0, error_1.Ok)(`Successfully wrote to ${filePath}`);
|
|
358
|
+
}
|
|
359
|
+
catch (error) {
|
|
360
|
+
return (0, error_1.Err)(error);
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
splitPath(filePath) {
|
|
364
|
+
const directory = path.dirname(filePath);
|
|
365
|
+
const fileName = path.basename(filePath);
|
|
366
|
+
return { directory, fileName };
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
exports.WriteFileTool = WriteFileTool;
|
|
370
|
+
/**
|
|
371
|
+
* Tool for listing all files recursively in a directory.
|
|
372
|
+
*/
|
|
373
|
+
class ListAllFilesTool extends tool_1.BaseTool {
|
|
374
|
+
fs;
|
|
375
|
+
constructor(fs) {
|
|
376
|
+
super();
|
|
377
|
+
this.fs = fs;
|
|
378
|
+
}
|
|
379
|
+
descriptor() {
|
|
380
|
+
return {
|
|
381
|
+
type: 'function',
|
|
382
|
+
function: {
|
|
383
|
+
name: 'list_all_files',
|
|
384
|
+
description: 'List all files recursively in the specified directory, including files in subdirectories. Use this when you need a complete inventory of all files in a directory and its subdirectories.',
|
|
385
|
+
parameters: {
|
|
386
|
+
type: 'object',
|
|
387
|
+
properties: {
|
|
388
|
+
path: {
|
|
389
|
+
type: 'string',
|
|
390
|
+
description: "The path relative to the sandbox root to list files from recursively. For example, '.' for the root directory and all subdirectories, 'src' for the src directory and all its subdirectories, or 'docs/images' for a nested directory and its subdirectories.",
|
|
391
|
+
},
|
|
392
|
+
},
|
|
393
|
+
additionalProperties: false,
|
|
394
|
+
required: ['path'],
|
|
395
|
+
},
|
|
396
|
+
},
|
|
397
|
+
};
|
|
398
|
+
}
|
|
399
|
+
async run(args) {
|
|
400
|
+
try {
|
|
401
|
+
const relativePath = args.path;
|
|
402
|
+
const files = this.fs.listAllFiles(relativePath);
|
|
403
|
+
return (0, error_1.Ok)(JSON.stringify(files));
|
|
404
|
+
}
|
|
405
|
+
catch (error) {
|
|
406
|
+
return (0, error_1.Err)(error);
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
exports.ListAllFilesTool = ListAllFilesTool;
|
|
411
|
+
/**
|
|
412
|
+
* Tool for finding files matching a glob pattern.
|
|
413
|
+
*/
|
|
414
|
+
class FindFilesByGlobTool extends tool_1.BaseTool {
|
|
415
|
+
fs;
|
|
416
|
+
constructor(fs) {
|
|
417
|
+
super();
|
|
418
|
+
this.fs = fs;
|
|
419
|
+
}
|
|
420
|
+
descriptor() {
|
|
421
|
+
return {
|
|
422
|
+
type: 'function',
|
|
423
|
+
function: {
|
|
424
|
+
name: 'find_files_by_glob',
|
|
425
|
+
description: "Find files matching a glob pattern in the specified directory. Use this when you need to locate files with specific patterns in their names or paths (e.g., all Python files with '*.py' or all text files in any subdirectory with '**/*.txt').",
|
|
426
|
+
parameters: {
|
|
427
|
+
type: 'object',
|
|
428
|
+
properties: {
|
|
429
|
+
path: {
|
|
430
|
+
type: 'string',
|
|
431
|
+
description: "The path relative to the sandbox root to search in. For example, '.' for the root directory, 'src' for the src directory, or 'docs/images' for a nested directory.",
|
|
432
|
+
},
|
|
433
|
+
pattern: {
|
|
434
|
+
type: 'string',
|
|
435
|
+
description: "The glob pattern to match files against. Examples: '*.py' for all Python files in the specified directory, '**/*.txt' for all text files in the specified directory and any subdirectory, or '**/*test*.py' for all Python files with 'test' in their name in the specified directory and any subdirectory.",
|
|
436
|
+
},
|
|
437
|
+
},
|
|
438
|
+
additionalProperties: false,
|
|
439
|
+
required: ['path', 'pattern'],
|
|
440
|
+
},
|
|
441
|
+
},
|
|
442
|
+
};
|
|
443
|
+
}
|
|
444
|
+
async run(args) {
|
|
445
|
+
try {
|
|
446
|
+
const relativePath = args.path;
|
|
447
|
+
const pattern = args.pattern;
|
|
448
|
+
const files = this.fs.findFilesByGlob(relativePath, pattern);
|
|
449
|
+
return (0, error_1.Ok)(JSON.stringify(files));
|
|
450
|
+
}
|
|
451
|
+
catch (error) {
|
|
452
|
+
return (0, error_1.Err)(error);
|
|
453
|
+
}
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
exports.FindFilesByGlobTool = FindFilesByGlobTool;
|
|
457
|
+
/**
|
|
458
|
+
* Tool for finding files containing text matching a regex pattern.
|
|
459
|
+
*/
|
|
460
|
+
class FindFilesContainingTool extends tool_1.BaseTool {
|
|
461
|
+
fs;
|
|
462
|
+
constructor(fs) {
|
|
463
|
+
super();
|
|
464
|
+
this.fs = fs;
|
|
465
|
+
}
|
|
466
|
+
descriptor() {
|
|
467
|
+
return {
|
|
468
|
+
type: 'function',
|
|
469
|
+
function: {
|
|
470
|
+
name: 'find_files_containing',
|
|
471
|
+
description: 'Find files containing text matching a regex pattern in the specified directory. Use this when you need to search for specific content across multiple files, such as finding all files that contain a particular function name or text string.',
|
|
472
|
+
parameters: {
|
|
473
|
+
type: 'object',
|
|
474
|
+
properties: {
|
|
475
|
+
path: {
|
|
476
|
+
type: 'string',
|
|
477
|
+
description: "The path relative to the sandbox root to search in. For example, '.' for the root directory, 'src' for the src directory, or 'docs/images' for a nested directory.",
|
|
478
|
+
},
|
|
479
|
+
pattern: {
|
|
480
|
+
type: 'string',
|
|
481
|
+
description: "The regex pattern to search for in files. Examples: 'function\\s+main' to find files containing a main function, 'import\\s+os' to find files importing the os module, or 'TODO|FIXME' to find files containing TODO or FIXME comments. The pattern uses JavaScript's RegExp syntax.",
|
|
482
|
+
},
|
|
483
|
+
},
|
|
484
|
+
additionalProperties: false,
|
|
485
|
+
required: ['path', 'pattern'],
|
|
486
|
+
},
|
|
487
|
+
},
|
|
488
|
+
};
|
|
489
|
+
}
|
|
490
|
+
async run(args) {
|
|
491
|
+
try {
|
|
492
|
+
const relativePath = args.path;
|
|
493
|
+
const pattern = args.pattern;
|
|
494
|
+
const files = this.fs.findFilesContaining(relativePath, pattern);
|
|
495
|
+
return (0, error_1.Ok)(JSON.stringify(files));
|
|
496
|
+
}
|
|
497
|
+
catch (error) {
|
|
498
|
+
return (0, error_1.Err)(error);
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
}
|
|
502
|
+
exports.FindFilesContainingTool = FindFilesContainingTool;
|
|
503
|
+
/**
|
|
504
|
+
* Tool for finding all lines in a file matching a regex pattern.
|
|
505
|
+
*/
|
|
506
|
+
class FindLinesMatchingTool extends tool_1.BaseTool {
|
|
507
|
+
fs;
|
|
508
|
+
constructor(fs) {
|
|
509
|
+
super();
|
|
510
|
+
this.fs = fs;
|
|
511
|
+
}
|
|
512
|
+
descriptor() {
|
|
513
|
+
return {
|
|
514
|
+
type: 'function',
|
|
515
|
+
function: {
|
|
516
|
+
name: 'find_lines_matching',
|
|
517
|
+
description: 'Find all lines in a file matching a regex pattern, returning both line numbers and content. Use this when you need to locate specific patterns within a single file and need to know exactly where they appear.',
|
|
518
|
+
parameters: {
|
|
519
|
+
type: 'object',
|
|
520
|
+
properties: {
|
|
521
|
+
path: {
|
|
522
|
+
type: 'string',
|
|
523
|
+
description: "The full relative path including the filename of the file to search in. For example, 'README.md' for a file in the root directory, 'src/main.py' for a file in the src directory, or 'docs/images/diagram.png' for a file in a nested directory.",
|
|
524
|
+
},
|
|
525
|
+
pattern: {
|
|
526
|
+
type: 'string',
|
|
527
|
+
description: "The regex pattern to match lines against. Examples: 'def\\s+\\w+' to find all function definitions, 'class\\s+\\w+' to find all class definitions, or 'TODO|FIXME' to find all TODO or FIXME comments. The pattern uses JavaScript's RegExp syntax.",
|
|
528
|
+
},
|
|
529
|
+
},
|
|
530
|
+
additionalProperties: false,
|
|
531
|
+
required: ['path', 'pattern'],
|
|
532
|
+
},
|
|
533
|
+
},
|
|
534
|
+
};
|
|
535
|
+
}
|
|
536
|
+
async run(args) {
|
|
537
|
+
try {
|
|
538
|
+
const filePath = args.path;
|
|
539
|
+
const pattern = args.pattern;
|
|
540
|
+
const { directory, fileName } = this.splitPath(filePath);
|
|
541
|
+
const lines = this.fs.findLinesMatching(directory, fileName, pattern);
|
|
542
|
+
return (0, error_1.Ok)(JSON.stringify(lines));
|
|
543
|
+
}
|
|
544
|
+
catch (error) {
|
|
545
|
+
return (0, error_1.Err)(error);
|
|
546
|
+
}
|
|
547
|
+
}
|
|
548
|
+
splitPath(filePath) {
|
|
549
|
+
const directory = path.dirname(filePath);
|
|
550
|
+
const fileName = path.basename(filePath);
|
|
551
|
+
return { directory, fileName };
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
exports.FindLinesMatchingTool = FindLinesMatchingTool;
|
|
555
|
+
/**
|
|
556
|
+
* Tool for creating a new directory.
|
|
557
|
+
*/
|
|
558
|
+
class CreateDirectoryTool extends tool_1.BaseTool {
|
|
559
|
+
fs;
|
|
560
|
+
constructor(fs) {
|
|
561
|
+
super();
|
|
562
|
+
this.fs = fs;
|
|
563
|
+
}
|
|
564
|
+
descriptor() {
|
|
565
|
+
return {
|
|
566
|
+
type: 'function',
|
|
567
|
+
function: {
|
|
568
|
+
name: 'create_directory',
|
|
569
|
+
description: 'Create a new directory at the specified path. If the directory already exists, this operation will succeed without error. Use this when you need to create a directory structure before writing files to it.',
|
|
570
|
+
parameters: {
|
|
571
|
+
type: 'object',
|
|
572
|
+
properties: {
|
|
573
|
+
path: {
|
|
574
|
+
type: 'string',
|
|
575
|
+
description: "The relative path where the directory should be created. For example, 'new_folder' for a directory in the root, 'src/new_folder' for a directory in the src directory, or 'docs/images/new_folder' for a nested directory. Parent directories will be created automatically if they don't exist.",
|
|
576
|
+
},
|
|
577
|
+
},
|
|
578
|
+
additionalProperties: false,
|
|
579
|
+
required: ['path'],
|
|
580
|
+
},
|
|
581
|
+
},
|
|
582
|
+
};
|
|
583
|
+
}
|
|
584
|
+
async run(args) {
|
|
585
|
+
try {
|
|
586
|
+
const relativePath = args.path;
|
|
587
|
+
const resolvedPath = this.fs.resolvePath(relativePath);
|
|
588
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Path validated by resolvePath sandbox check
|
|
589
|
+
fs.mkdirSync(resolvedPath, { recursive: true });
|
|
590
|
+
return (0, error_1.Ok)(`Successfully created directory '${relativePath}'`);
|
|
591
|
+
}
|
|
592
|
+
catch (error) {
|
|
593
|
+
return (0, error_1.Err)(error);
|
|
594
|
+
}
|
|
595
|
+
}
|
|
596
|
+
}
|
|
597
|
+
exports.CreateDirectoryTool = CreateDirectoryTool;
|
|
598
|
+
//# sourceMappingURL=file-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-manager.js","sourceRoot":"","sources":["../../../src/llm/tools/file-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool system exports
|
|
3
|
+
*/
|
|
4
|
+
export * from './tool';
|
|
5
|
+
export * from './current-datetime';
|
|
6
|
+
export * from './date-resolver';
|
|
7
|
+
export * from './tell-user';
|
|
8
|
+
export * from './ask-user';
|
|
9
|
+
export * from './tool-wrapper';
|
|
10
|
+
export * from './web-search-tool';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/llm/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,QAAQ,CAAC;AACvB,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Tool system exports
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
17
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
18
|
+
};
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
__exportStar(require("./tool"), exports);
|
|
21
|
+
__exportStar(require("./current-datetime"), exports);
|
|
22
|
+
__exportStar(require("./date-resolver"), exports);
|
|
23
|
+
__exportStar(require("./tell-user"), exports);
|
|
24
|
+
__exportStar(require("./ask-user"), exports);
|
|
25
|
+
__exportStar(require("./tool-wrapper"), exports);
|
|
26
|
+
__exportStar(require("./web-search-tool"), exports);
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/llm/tools/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;AAEH,yCAAuB;AACvB,qDAAmC;AACnC,kDAAgC;AAChC,8CAA4B;AAC5B,6CAA2B;AAC3B,iDAA+B;AAC/B,oDAAkC"}
|