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,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool for prepending a new task to the beginning of the ephemeral task manager list
|
|
3
|
+
*/
|
|
4
|
+
import { BaseTool, ToolArgs, ToolDescriptor, ToolResult } from '../tool';
|
|
5
|
+
import { Result } from '../../../error';
|
|
6
|
+
import { TaskList } from './task-list';
|
|
7
|
+
export declare class PrependTaskTool extends BaseTool {
|
|
8
|
+
private taskList;
|
|
9
|
+
constructor(taskList: TaskList);
|
|
10
|
+
run(args: ToolArgs): Promise<Result<ToolResult, Error>>;
|
|
11
|
+
descriptor(): ToolDescriptor;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=prepend-task.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepend-task.d.ts","sourceRoot":"","sources":["../../../../src/llm/tools/ephemeral-task-manager/prepend-task.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACzE,OAAO,EAAM,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,qBAAa,eAAgB,SAAQ,QAAQ;IAC/B,OAAO,CAAC,QAAQ;gBAAR,QAAQ,EAAE,QAAQ;IAIhC,GAAG,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAmB7D,UAAU,IAAI,cAAc;CAoB7B"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Tool for prepending a new task to the beginning of the ephemeral task manager list
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.PrependTaskTool = void 0;
|
|
7
|
+
const tool_1 = require("../tool");
|
|
8
|
+
const error_1 = require("../../../error");
|
|
9
|
+
class PrependTaskTool extends tool_1.BaseTool {
|
|
10
|
+
taskList;
|
|
11
|
+
constructor(taskList) {
|
|
12
|
+
super();
|
|
13
|
+
this.taskList = taskList;
|
|
14
|
+
}
|
|
15
|
+
async run(args) {
|
|
16
|
+
try {
|
|
17
|
+
const description = args.description || '';
|
|
18
|
+
const task = this.taskList.prependTask(description);
|
|
19
|
+
return (0, error_1.Ok)({
|
|
20
|
+
id: task.id,
|
|
21
|
+
description: task.description,
|
|
22
|
+
status: task.status,
|
|
23
|
+
summary: `Task '${task.id}' prepended successfully`,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
return (0, error_1.Ok)({
|
|
28
|
+
error: error instanceof Error ? error.message : String(error),
|
|
29
|
+
summary: `Failed to prepend task: ${error instanceof Error ? error.message : String(error)}`,
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
descriptor() {
|
|
34
|
+
return {
|
|
35
|
+
type: 'function',
|
|
36
|
+
function: {
|
|
37
|
+
name: 'prepend_task',
|
|
38
|
+
description: "Prepend a new task to the beginning of the task list with a description. The task will start with 'pending' status.",
|
|
39
|
+
parameters: {
|
|
40
|
+
type: 'object',
|
|
41
|
+
properties: {
|
|
42
|
+
description: {
|
|
43
|
+
type: 'string',
|
|
44
|
+
description: 'The description of the task',
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
required: ['description'],
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
exports.PrependTaskTool = PrependTaskTool;
|
|
54
|
+
//# sourceMappingURL=prepend-task.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepend-task.js","sourceRoot":"","sources":["../../../../src/llm/tools/ephemeral-task-manager/prepend-task.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,kCAAyE;AACzE,0CAA4C;AAG5C,MAAa,eAAgB,SAAQ,eAAQ;IACvB;IAApB,YAAoB,QAAkB;QACpC,KAAK,EAAE,CAAC;QADU,aAAQ,GAAR,QAAQ,CAAU;IAEtC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAc;QACtB,IAAI,CAAC;YACH,MAAM,WAAW,GAAI,IAAI,CAAC,WAAsB,IAAI,EAAE,CAAC;YACvD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YAEpD,OAAO,IAAA,UAAE,EAAC;gBACR,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,SAAS,IAAI,CAAC,EAAE,0BAA0B;aACpD,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAA,UAAE,EAAC;gBACR,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,OAAO,EAAE,2BAA2B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;aAC7F,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,UAAU;QACR,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE;gBACR,IAAI,EAAE,cAAc;gBACpB,WAAW,EACT,qHAAqH;gBACvH,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,WAAW,EAAE;4BACX,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,6BAA6B;yBAC3C;qBACF;oBACD,QAAQ,EAAE,CAAC,aAAa,CAAC;iBAC1B;aACF;SACF,CAAC;IACJ,CAAC;CACF;AA5CD,0CA4CC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool for starting a task in the ephemeral task manager
|
|
3
|
+
*
|
|
4
|
+
* This tool changes a task's status from Pending to InProgress
|
|
5
|
+
*/
|
|
6
|
+
import { BaseTool, ToolArgs, ToolDescriptor, ToolResult } from '../tool';
|
|
7
|
+
import { Result } from '../../../error';
|
|
8
|
+
import { TaskList } from './task-list';
|
|
9
|
+
export declare class StartTaskTool extends BaseTool {
|
|
10
|
+
private taskList;
|
|
11
|
+
constructor(taskList: TaskList);
|
|
12
|
+
run(args: ToolArgs): Promise<Result<ToolResult, Error>>;
|
|
13
|
+
descriptor(): ToolDescriptor;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=start-task.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"start-task.d.ts","sourceRoot":"","sources":["../../../../src/llm/tools/ephemeral-task-manager/start-task.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACzE,OAAO,EAAM,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,qBAAa,aAAc,SAAQ,QAAQ;IAC7B,OAAO,CAAC,QAAQ;gBAAR,QAAQ,EAAE,QAAQ;IAIhC,GAAG,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAmB7D,UAAU,IAAI,cAAc;CAmB7B"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Tool for starting a task in the ephemeral task manager
|
|
4
|
+
*
|
|
5
|
+
* This tool changes a task's status from Pending to InProgress
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.StartTaskTool = void 0;
|
|
9
|
+
const tool_1 = require("../tool");
|
|
10
|
+
const error_1 = require("../../../error");
|
|
11
|
+
class StartTaskTool extends tool_1.BaseTool {
|
|
12
|
+
taskList;
|
|
13
|
+
constructor(taskList) {
|
|
14
|
+
super();
|
|
15
|
+
this.taskList = taskList;
|
|
16
|
+
}
|
|
17
|
+
async run(args) {
|
|
18
|
+
try {
|
|
19
|
+
const taskId = Number(args.id) || 0;
|
|
20
|
+
const task = this.taskList.startTask(taskId);
|
|
21
|
+
return (0, error_1.Ok)({
|
|
22
|
+
id: task.id,
|
|
23
|
+
description: task.description,
|
|
24
|
+
status: task.status,
|
|
25
|
+
summary: `Task '${taskId}' started successfully`,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
return (0, error_1.Ok)({
|
|
30
|
+
error: error instanceof Error ? error.message : String(error),
|
|
31
|
+
summary: `Failed to start task: ${error instanceof Error ? error.message : String(error)}`,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
descriptor() {
|
|
36
|
+
return {
|
|
37
|
+
type: 'function',
|
|
38
|
+
function: {
|
|
39
|
+
name: 'start_task',
|
|
40
|
+
description: 'Start a task by changing its status from PENDING to IN_PROGRESS.',
|
|
41
|
+
parameters: {
|
|
42
|
+
type: 'object',
|
|
43
|
+
properties: {
|
|
44
|
+
id: {
|
|
45
|
+
type: 'integer',
|
|
46
|
+
description: 'The ID of the task to start',
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
required: ['id'],
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
exports.StartTaskTool = StartTaskTool;
|
|
56
|
+
//# sourceMappingURL=start-task.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"start-task.js","sourceRoot":"","sources":["../../../../src/llm/tools/ephemeral-task-manager/start-task.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,kCAAyE;AACzE,0CAA4C;AAG5C,MAAa,aAAc,SAAQ,eAAQ;IACrB;IAApB,YAAoB,QAAkB;QACpC,KAAK,EAAE,CAAC;QADU,aAAQ,GAAR,QAAQ,CAAU;IAEtC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAc;QACtB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YACpC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAE7C,OAAO,IAAA,UAAE,EAAC;gBACR,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,SAAS,MAAM,wBAAwB;aACjD,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAA,UAAE,EAAC;gBACR,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,OAAO,EAAE,yBAAyB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;aAC3F,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,UAAU;QACR,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE;gBACR,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,kEAAkE;gBAC/E,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,EAAE,EAAE;4BACF,IAAI,EAAE,SAAS;4BACf,WAAW,EAAE,6BAA6B;yBAC3C;qBACF;oBACD,QAAQ,EAAE,CAAC,IAAI,CAAC;iBACjB;aACF;SACF,CAAC;IACJ,CAAC;CACF;AA3CD,sCA2CC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Task list for the ephemeral task manager
|
|
3
|
+
*/
|
|
4
|
+
import { Task } from './task';
|
|
5
|
+
/**
|
|
6
|
+
* Manages a list of tasks for the ephemeral task manager
|
|
7
|
+
*
|
|
8
|
+
* This class provides methods for adding, starting, completing, and listing tasks.
|
|
9
|
+
* Tasks follow a state machine that transitions from Pending through InProgress to Completed.
|
|
10
|
+
*/
|
|
11
|
+
export declare class TaskList {
|
|
12
|
+
private tasks;
|
|
13
|
+
private nextId;
|
|
14
|
+
/**
|
|
15
|
+
* Claims the next available ID and increments the counter
|
|
16
|
+
*/
|
|
17
|
+
private claimNextId;
|
|
18
|
+
/**
|
|
19
|
+
* Appends a new task to the end of the list
|
|
20
|
+
*
|
|
21
|
+
* @param description - The description of the task
|
|
22
|
+
* @returns The newly created task with Pending status
|
|
23
|
+
*/
|
|
24
|
+
appendTask(description: string): Task;
|
|
25
|
+
/**
|
|
26
|
+
* Prepends a new task to the beginning of the list
|
|
27
|
+
*
|
|
28
|
+
* @param description - The description of the task
|
|
29
|
+
* @returns The newly created task with Pending status
|
|
30
|
+
*/
|
|
31
|
+
prependTask(description: string): Task;
|
|
32
|
+
/**
|
|
33
|
+
* Inserts a new task after an existing task with the given ID
|
|
34
|
+
*
|
|
35
|
+
* @param existingTaskId - The ID of the existing task after which to insert
|
|
36
|
+
* @param description - The description of the new task
|
|
37
|
+
* @returns The newly created task
|
|
38
|
+
* @throws ValidationError if the existing task is not found
|
|
39
|
+
*/
|
|
40
|
+
insertTaskAfter(existingTaskId: number, description: string): Task;
|
|
41
|
+
/**
|
|
42
|
+
* Starts a task by changing its status from Pending to InProgress
|
|
43
|
+
*
|
|
44
|
+
* @param taskId - The ID of the task to start
|
|
45
|
+
* @returns The started task
|
|
46
|
+
* @throws ValidationError if the task is not found or not in Pending status
|
|
47
|
+
*/
|
|
48
|
+
startTask(taskId: number): Task;
|
|
49
|
+
/**
|
|
50
|
+
* Completes a task by changing its status from InProgress to Completed
|
|
51
|
+
*
|
|
52
|
+
* @param taskId - The ID of the task to complete
|
|
53
|
+
* @returns The completed task
|
|
54
|
+
* @throws ValidationError if the task is not found or not in InProgress status
|
|
55
|
+
*/
|
|
56
|
+
completeTask(taskId: number): Task;
|
|
57
|
+
/**
|
|
58
|
+
* Returns all tasks in the list
|
|
59
|
+
*/
|
|
60
|
+
listTasks(): Task[];
|
|
61
|
+
/**
|
|
62
|
+
* Clears all tasks from the list
|
|
63
|
+
*
|
|
64
|
+
* @returns The number of tasks that were cleared
|
|
65
|
+
*/
|
|
66
|
+
clearTasks(): number;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=task-list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-list.d.ts","sourceRoot":"","sources":["../../../../src/llm/tools/ephemeral-task-manager/task-list.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAA0B,MAAM,QAAQ,CAAC;AAGtD;;;;;GAKG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,MAAM,CAAK;IAEnB;;OAEG;IACH,OAAO,CAAC,WAAW;IAInB;;;;;OAKG;IACH,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAOrC;;;;;OAKG;IACH,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAOtC;;;;;;;OAOG;IACH,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAYlE;;;;;;OAMG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAgB/B;;;;;;OAMG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAgBlC;;OAEG;IACH,SAAS,IAAI,IAAI,EAAE;IAInB;;;;OAIG;IACH,UAAU,IAAI,MAAM;CAKrB"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Task list for the ephemeral task manager
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.TaskList = void 0;
|
|
7
|
+
const task_1 = require("./task");
|
|
8
|
+
const error_1 = require("../../../error");
|
|
9
|
+
/**
|
|
10
|
+
* Manages a list of tasks for the ephemeral task manager
|
|
11
|
+
*
|
|
12
|
+
* This class provides methods for adding, starting, completing, and listing tasks.
|
|
13
|
+
* Tasks follow a state machine that transitions from Pending through InProgress to Completed.
|
|
14
|
+
*/
|
|
15
|
+
class TaskList {
|
|
16
|
+
tasks = [];
|
|
17
|
+
nextId = 1;
|
|
18
|
+
/**
|
|
19
|
+
* Claims the next available ID and increments the counter
|
|
20
|
+
*/
|
|
21
|
+
claimNextId() {
|
|
22
|
+
return this.nextId++;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Appends a new task to the end of the list
|
|
26
|
+
*
|
|
27
|
+
* @param description - The description of the task
|
|
28
|
+
* @returns The newly created task with Pending status
|
|
29
|
+
*/
|
|
30
|
+
appendTask(description) {
|
|
31
|
+
const id = this.claimNextId();
|
|
32
|
+
const task = (0, task_1.createTask)(id, description);
|
|
33
|
+
this.tasks.push(task);
|
|
34
|
+
return task;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Prepends a new task to the beginning of the list
|
|
38
|
+
*
|
|
39
|
+
* @param description - The description of the task
|
|
40
|
+
* @returns The newly created task with Pending status
|
|
41
|
+
*/
|
|
42
|
+
prependTask(description) {
|
|
43
|
+
const id = this.claimNextId();
|
|
44
|
+
const task = (0, task_1.createTask)(id, description);
|
|
45
|
+
this.tasks.unshift(task);
|
|
46
|
+
return task;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Inserts a new task after an existing task with the given ID
|
|
50
|
+
*
|
|
51
|
+
* @param existingTaskId - The ID of the existing task after which to insert
|
|
52
|
+
* @param description - The description of the new task
|
|
53
|
+
* @returns The newly created task
|
|
54
|
+
* @throws ValidationError if the existing task is not found
|
|
55
|
+
*/
|
|
56
|
+
insertTaskAfter(existingTaskId, description) {
|
|
57
|
+
const index = this.tasks.findIndex((t) => t.id === existingTaskId);
|
|
58
|
+
if (index === -1) {
|
|
59
|
+
throw new error_1.ValidationError(`No task with ID '${existingTaskId}' exists`);
|
|
60
|
+
}
|
|
61
|
+
const id = this.claimNextId();
|
|
62
|
+
const task = (0, task_1.createTask)(id, description);
|
|
63
|
+
this.tasks.splice(index + 1, 0, task);
|
|
64
|
+
return task;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Starts a task by changing its status from Pending to InProgress
|
|
68
|
+
*
|
|
69
|
+
* @param taskId - The ID of the task to start
|
|
70
|
+
* @returns The started task
|
|
71
|
+
* @throws ValidationError if the task is not found or not in Pending status
|
|
72
|
+
*/
|
|
73
|
+
startTask(taskId) {
|
|
74
|
+
const task = this.tasks.find((t) => t.id === taskId);
|
|
75
|
+
if (!task) {
|
|
76
|
+
throw new error_1.ValidationError(`No task with ID '${taskId}' exists`);
|
|
77
|
+
}
|
|
78
|
+
if (task.status !== task_1.TaskStatus.Pending) {
|
|
79
|
+
throw new error_1.ValidationError(`Task '${taskId}' cannot be started because it is not in PENDING status`);
|
|
80
|
+
}
|
|
81
|
+
task.status = task_1.TaskStatus.InProgress;
|
|
82
|
+
return task;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Completes a task by changing its status from InProgress to Completed
|
|
86
|
+
*
|
|
87
|
+
* @param taskId - The ID of the task to complete
|
|
88
|
+
* @returns The completed task
|
|
89
|
+
* @throws ValidationError if the task is not found or not in InProgress status
|
|
90
|
+
*/
|
|
91
|
+
completeTask(taskId) {
|
|
92
|
+
const task = this.tasks.find((t) => t.id === taskId);
|
|
93
|
+
if (!task) {
|
|
94
|
+
throw new error_1.ValidationError(`No task with ID '${taskId}' exists`);
|
|
95
|
+
}
|
|
96
|
+
if (task.status !== task_1.TaskStatus.InProgress) {
|
|
97
|
+
throw new error_1.ValidationError(`Task '${taskId}' cannot be completed because it is not in IN_PROGRESS status`);
|
|
98
|
+
}
|
|
99
|
+
task.status = task_1.TaskStatus.Completed;
|
|
100
|
+
return task;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Returns all tasks in the list
|
|
104
|
+
*/
|
|
105
|
+
listTasks() {
|
|
106
|
+
return [...this.tasks];
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Clears all tasks from the list
|
|
110
|
+
*
|
|
111
|
+
* @returns The number of tasks that were cleared
|
|
112
|
+
*/
|
|
113
|
+
clearTasks() {
|
|
114
|
+
const count = this.tasks.length;
|
|
115
|
+
this.tasks = [];
|
|
116
|
+
return count;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
exports.TaskList = TaskList;
|
|
120
|
+
//# sourceMappingURL=task-list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-list.js","sourceRoot":"","sources":["../../../../src/llm/tools/ephemeral-task-manager/task-list.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Task status enumeration
|
|
3
|
+
*/
|
|
4
|
+
export declare enum TaskStatus {
|
|
5
|
+
Pending = "pending",
|
|
6
|
+
InProgress = "in_progress",
|
|
7
|
+
Completed = "completed"
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Represents a task with an identifier, description, and status
|
|
11
|
+
*/
|
|
12
|
+
export interface Task {
|
|
13
|
+
id: number;
|
|
14
|
+
description: string;
|
|
15
|
+
status: TaskStatus;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Creates a new task
|
|
19
|
+
*/
|
|
20
|
+
export declare function createTask(id: number, description: string): Task;
|
|
21
|
+
//# sourceMappingURL=task.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../../../src/llm/tools/ephemeral-task-manager/task.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,UAAU;IACpB,OAAO,YAAY;IACnB,UAAU,gBAAgB;IAC1B,SAAS,cAAc;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,UAAU,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAMhE"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TaskStatus = void 0;
|
|
4
|
+
exports.createTask = createTask;
|
|
5
|
+
/**
|
|
6
|
+
* Task status enumeration
|
|
7
|
+
*/
|
|
8
|
+
var TaskStatus;
|
|
9
|
+
(function (TaskStatus) {
|
|
10
|
+
TaskStatus["Pending"] = "pending";
|
|
11
|
+
TaskStatus["InProgress"] = "in_progress";
|
|
12
|
+
TaskStatus["Completed"] = "completed";
|
|
13
|
+
})(TaskStatus || (exports.TaskStatus = TaskStatus = {}));
|
|
14
|
+
/**
|
|
15
|
+
* Creates a new task
|
|
16
|
+
*/
|
|
17
|
+
function createTask(id, description) {
|
|
18
|
+
return {
|
|
19
|
+
id,
|
|
20
|
+
description,
|
|
21
|
+
status: TaskStatus.Pending,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=task.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../../../src/llm/tools/ephemeral-task-manager/task.ts"],"names":[],"mappings":";;;AAqBA,gCAMC;AA3BD;;GAEG;AACH,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,iCAAmB,CAAA;IACnB,wCAA0B,CAAA;IAC1B,qCAAuB,CAAA;AACzB,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB;AAWD;;GAEG;AACH,SAAgB,UAAU,CAAC,EAAU,EAAE,WAAmB;IACxD,OAAO;QACL,EAAE;QACF,WAAW;QACX,MAAM,EAAE,UAAU,CAAC,OAAO;KAC3B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { BaseTool } from './tool';
|
|
2
|
+
import { Result } from '../../error';
|
|
3
|
+
import { ToolArgs, ToolResult, ToolDescriptor } from './tool';
|
|
4
|
+
/**
|
|
5
|
+
* A gateway for interacting with the filesystem within a sandboxed base path.
|
|
6
|
+
*
|
|
7
|
+
* This class provides safe filesystem operations that are restricted to a
|
|
8
|
+
* specific base directory, preventing path traversal attacks.
|
|
9
|
+
*/
|
|
10
|
+
export declare class FilesystemGateway {
|
|
11
|
+
private basePath;
|
|
12
|
+
constructor(basePath: string);
|
|
13
|
+
/**
|
|
14
|
+
* Resolves a path relative to the base path and ensures it stays within the sandbox.
|
|
15
|
+
*/
|
|
16
|
+
resolvePath(relativePath: string): string;
|
|
17
|
+
/**
|
|
18
|
+
* Lists files in a directory (non-recursive).
|
|
19
|
+
*/
|
|
20
|
+
ls(relativePath: string): string[];
|
|
21
|
+
/**
|
|
22
|
+
* Lists all files recursively in a directory.
|
|
23
|
+
*/
|
|
24
|
+
listAllFiles(relativePath: string): string[];
|
|
25
|
+
private collectFilesRecursively;
|
|
26
|
+
/**
|
|
27
|
+
* Finds files matching a glob pattern (simplified implementation).
|
|
28
|
+
*/
|
|
29
|
+
findFilesByGlob(relativePath: string, pattern: string): string[];
|
|
30
|
+
private findFilesByPattern;
|
|
31
|
+
/**
|
|
32
|
+
* Finds files containing text matching a regex pattern.
|
|
33
|
+
*/
|
|
34
|
+
findFilesContaining(relativePath: string, pattern: string): string[];
|
|
35
|
+
private findMatchingFiles;
|
|
36
|
+
/**
|
|
37
|
+
* Finds all lines in a file matching a regex pattern.
|
|
38
|
+
*/
|
|
39
|
+
findLinesMatching(relativePath: string, fileName: string, pattern: string): Array<{
|
|
40
|
+
line_number: number;
|
|
41
|
+
content: string;
|
|
42
|
+
}>;
|
|
43
|
+
/**
|
|
44
|
+
* Reads the content of a file.
|
|
45
|
+
*/
|
|
46
|
+
read(relativePath: string, fileName: string): string;
|
|
47
|
+
/**
|
|
48
|
+
* Writes content to a file.
|
|
49
|
+
*/
|
|
50
|
+
write(relativePath: string, fileName: string, content: string): void;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Tool for listing files in a directory (non-recursive).
|
|
54
|
+
*/
|
|
55
|
+
export declare class ListFilesTool extends BaseTool {
|
|
56
|
+
private fs;
|
|
57
|
+
constructor(fs: FilesystemGateway);
|
|
58
|
+
descriptor(): ToolDescriptor;
|
|
59
|
+
run(args: ToolArgs): Promise<Result<ToolResult, Error>>;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Tool for reading the entire content of a file.
|
|
63
|
+
*/
|
|
64
|
+
export declare class ReadFileTool extends BaseTool {
|
|
65
|
+
private fs;
|
|
66
|
+
constructor(fs: FilesystemGateway);
|
|
67
|
+
descriptor(): ToolDescriptor;
|
|
68
|
+
run(args: ToolArgs): Promise<Result<ToolResult, Error>>;
|
|
69
|
+
private splitPath;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Tool for writing content to a file, completely overwriting any existing content.
|
|
73
|
+
*/
|
|
74
|
+
export declare class WriteFileTool extends BaseTool {
|
|
75
|
+
private fs;
|
|
76
|
+
constructor(fs: FilesystemGateway);
|
|
77
|
+
descriptor(): ToolDescriptor;
|
|
78
|
+
run(args: ToolArgs): Promise<Result<ToolResult, Error>>;
|
|
79
|
+
private splitPath;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Tool for listing all files recursively in a directory.
|
|
83
|
+
*/
|
|
84
|
+
export declare class ListAllFilesTool extends BaseTool {
|
|
85
|
+
private fs;
|
|
86
|
+
constructor(fs: FilesystemGateway);
|
|
87
|
+
descriptor(): ToolDescriptor;
|
|
88
|
+
run(args: ToolArgs): Promise<Result<ToolResult, Error>>;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Tool for finding files matching a glob pattern.
|
|
92
|
+
*/
|
|
93
|
+
export declare class FindFilesByGlobTool extends BaseTool {
|
|
94
|
+
private fs;
|
|
95
|
+
constructor(fs: FilesystemGateway);
|
|
96
|
+
descriptor(): ToolDescriptor;
|
|
97
|
+
run(args: ToolArgs): Promise<Result<ToolResult, Error>>;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Tool for finding files containing text matching a regex pattern.
|
|
101
|
+
*/
|
|
102
|
+
export declare class FindFilesContainingTool extends BaseTool {
|
|
103
|
+
private fs;
|
|
104
|
+
constructor(fs: FilesystemGateway);
|
|
105
|
+
descriptor(): ToolDescriptor;
|
|
106
|
+
run(args: ToolArgs): Promise<Result<ToolResult, Error>>;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Tool for finding all lines in a file matching a regex pattern.
|
|
110
|
+
*/
|
|
111
|
+
export declare class FindLinesMatchingTool extends BaseTool {
|
|
112
|
+
private fs;
|
|
113
|
+
constructor(fs: FilesystemGateway);
|
|
114
|
+
descriptor(): ToolDescriptor;
|
|
115
|
+
run(args: ToolArgs): Promise<Result<ToolResult, Error>>;
|
|
116
|
+
private splitPath;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Tool for creating a new directory.
|
|
120
|
+
*/
|
|
121
|
+
export declare class CreateDirectoryTool extends BaseTool {
|
|
122
|
+
private fs;
|
|
123
|
+
constructor(fs: FilesystemGateway);
|
|
124
|
+
descriptor(): ToolDescriptor;
|
|
125
|
+
run(args: ToolArgs): Promise<Result<ToolResult, Error>>;
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=file-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-manager.d.ts","sourceRoot":"","sources":["../../../src/llm/tools/file-manager.ts"],"names":[],"mappings":"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"}
|