psadk 1.2.4 → 1.3.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.
Files changed (51) hide show
  1. package/build/main/lib/PSAgent.js +2 -1
  2. package/build/main/lib/PSAgentLogger.js +3 -3
  3. package/build/main/lib/skills/constants.d.ts +12 -0
  4. package/build/main/lib/skills/constants.js +24 -0
  5. package/build/main/lib/skills/skillParser.d.ts +10 -0
  6. package/build/main/lib/skills/skillParser.js +40 -0
  7. package/build/main/lib/skills/skillsXMLMetaDataGenerator.d.ts +9 -0
  8. package/build/main/lib/skills/skillsXMLMetaDataGenerator.js +80 -0
  9. package/build/main/lib/skills/utils.d.ts +10 -0
  10. package/build/main/lib/skills/utils.js +48 -0
  11. package/build/main/lib/tools/PSClarifyTool.js +3 -1
  12. package/build/module/lib/PSAgent.js +2 -1
  13. package/build/module/lib/PSAgentLogger.js +3 -3
  14. package/build/module/lib/skills/constants.d.ts +12 -0
  15. package/build/module/lib/skills/constants.js +26 -0
  16. package/build/module/lib/skills/skillParser.d.ts +10 -0
  17. package/build/module/lib/skills/skillParser.js +40 -0
  18. package/build/module/lib/skills/skillsXMLMetaDataGenerator.d.ts +9 -0
  19. package/build/module/lib/skills/skillsXMLMetaDataGenerator.js +80 -0
  20. package/build/module/lib/skills/utils.d.ts +10 -0
  21. package/build/module/lib/skills/utils.js +48 -0
  22. package/build/module/lib/tools/PSClarifyTool.js +3 -1
  23. package/package.json +17 -17
  24. package/build/main/lib/ILogger.d.ts +0 -9
  25. package/build/main/lib/ILogger.js +0 -25
  26. package/build/main/lib/ai.d.ts +0 -11
  27. package/build/main/lib/ai.js +0 -127
  28. package/build/main/lib/async.d.ts +0 -20
  29. package/build/main/lib/async.js +0 -36
  30. package/build/main/lib/getServiceToken.d.ts +0 -1
  31. package/build/main/lib/getServiceToken.js +0 -3
  32. package/build/main/lib/number.d.ts +0 -43
  33. package/build/main/lib/number.js +0 -56
  34. package/build/main/lib/tests/PSAgent.spec copy.d.ts +0 -1
  35. package/build/main/lib/tests/PSAgent.spec copy.js +0 -53
  36. package/build/main/lib/tests/PSReadFileTool.spec copy.d.ts +0 -1
  37. package/build/main/lib/tests/PSReadFileTool.spec copy.js +0 -92
  38. package/build/main/lib/tools/PSAentTool.d.ts +0 -7
  39. package/build/main/lib/tools/PSAentTool.js +0 -78
  40. package/build/main/lib/tools/PSArtifactTool copy.d.ts +0 -7
  41. package/build/main/lib/tools/PSArtifactTool copy.js +0 -78
  42. package/build/main/lib/tools/ReadFileTool.d.ts +0 -10
  43. package/build/main/lib/tools/ReadFileTool.js +0 -68
  44. package/build/main/lib/tools/WebSearchTool.d.ts +0 -9
  45. package/build/main/lib/tools/WebSearchTool.js +0 -92
  46. package/build/main/lib/tools/WriteFileTool.d.ts +0 -10
  47. package/build/main/lib/tools/WriteFileTool.js +0 -74
  48. package/build/module/lib/async.d.ts +0 -20
  49. package/build/module/lib/async.js +0 -32
  50. package/build/module/lib/number.d.ts +0 -43
  51. package/build/module/lib/number.js +0 -51
@@ -1,78 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PSArtifactTool = void 0;
4
- const PSAgentTool_1 = require("../PSAgentTool");
5
- class PSArtifactTool extends PSAgentTool_1.PSAgentTool {
6
- constructor(artifactsStore) {
7
- super({
8
- name: PSArtifactTool.TOOL_NAME,
9
- description: `Use this ${PSArtifactTool.TOOL_NAME} tool to read or write text artifacts based on the content provided.
10
- The input is a JSON object with the following properties:
11
- - 'name' (string) - the name of the artifact to be created or modified,
12
- - 'content' (string) - the text content to be processed, this is not required for read action,
13
- - 'action' (string) - the action to perform on the content, either 'read' or 'write'.
14
- The output will be a JSON object with the status and outout result of the action.`,
15
- inputschema: {
16
- url: `http://localhost/${PSArtifactTool.TOOL_NAME}`,
17
- method: "POST",
18
- title: `${PSArtifactTool.TOOL_NAME}_inputs`,
19
- description: "Input for Artifact Tool",
20
- requestBody: {
21
- type: "object",
22
- properties: {
23
- name: {
24
- type: "string",
25
- title: "name",
26
- description: "The name of the artifact",
27
- },
28
- content: {
29
- type: "string",
30
- title: "content",
31
- description: "The content of the artifact",
32
- },
33
- action: {
34
- type: "string",
35
- title: "action",
36
- description: "the action to perform on the content, either 'read' or 'write'",
37
- enum: ["read", "write"],
38
- }
39
- },
40
- required: ["name", "action"]
41
- }
42
- }
43
- });
44
- this.artifacts = {};
45
- if (artifactsStore) {
46
- this.artifacts = artifactsStore;
47
- }
48
- }
49
- async run(input) {
50
- const name = input.name;
51
- const action = input.action;
52
- if (!name || name.trim().length === 0) {
53
- throw new Error("name should not be empty");
54
- }
55
- const isExisting = this.artifacts[name];
56
- if (action === "read") {
57
- return {
58
- status: "success",
59
- output: this.artifacts[name],
60
- };
61
- }
62
- else if (action == "write") {
63
- const content = input.content || '';
64
- this.artifacts[name] = content;
65
- return {
66
- status: "success",
67
- output: `Artifact ${name} ${isExisting ? 'modified' : 'created'} with content length ${content.length}`
68
- };
69
- }
70
- return {
71
- status: "error",
72
- output: `Invalid action ${input.action}, must be either 'read' or 'write'`
73
- };
74
- }
75
- }
76
- exports.PSArtifactTool = PSArtifactTool;
77
- PSArtifactTool.TOOL_NAME = "artifact_tool";
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUFNBcnRpZmFjdFRvb2wgY29weS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdG9vbHMvUFNBcnRpZmFjdFRvb2wgY29weS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxnREFBNkM7QUFHN0MsTUFBYSxjQUFlLFNBQVEseUJBQVc7SUFHN0MsWUFBWSxjQUF1QztRQUNqRCxLQUFLLENBQUM7WUFDSixJQUFJLEVBQUUsY0FBYyxDQUFDLFNBQVM7WUFDOUIsV0FBVyxFQUFFLFlBQVksY0FBYyxDQUFDLFNBQVM7Ozs7O2tGQUsyQjtZQUM1RSxXQUFXLEVBQUU7Z0JBQ1gsR0FBRyxFQUFFLG9CQUFvQixjQUFjLENBQUMsU0FBUyxFQUFFO2dCQUNuRCxNQUFNLEVBQUUsTUFBTTtnQkFDZCxLQUFLLEVBQUUsR0FBRyxjQUFjLENBQUMsU0FBUyxTQUFTO2dCQUMzQyxXQUFXLEVBQUUseUJBQXlCO2dCQUN0QyxXQUFXLEVBQUU7b0JBQ1gsSUFBSSxFQUFFLFFBQVE7b0JBQ2QsVUFBVSxFQUFFO3dCQUNWLElBQUksRUFBRTs0QkFDSixJQUFJLEVBQUUsUUFBUTs0QkFDZCxLQUFLLEVBQUUsTUFBTTs0QkFDYixXQUFXLEVBQUUsMEJBQTBCO3lCQUN4Qzt3QkFDRCxPQUFPLEVBQUU7NEJBQ1AsSUFBSSxFQUFFLFFBQVE7NEJBQ2QsS0FBSyxFQUFFLFNBQVM7NEJBQ2hCLFdBQVcsRUFBRSw2QkFBNkI7eUJBQzNDO3dCQUNELE1BQU0sRUFBRTs0QkFDTixJQUFJLEVBQUUsUUFBUTs0QkFDZCxLQUFLLEVBQUUsUUFBUTs0QkFDZixXQUFXLEVBQUUsZ0VBQWdFOzRCQUM3RSxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDO3lCQUN4QjtxQkFDRjtvQkFDRCxRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDO2lCQUM3QjthQUNGO1NBQ0YsQ0FBQyxDQUFDO1FBdENZLGNBQVMsR0FBMkIsRUFBRSxDQUFDO1FBdUN0RCxJQUFJLGNBQWMsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxTQUFTLEdBQUcsY0FBYyxDQUFDO1FBQ2xDLENBQUM7SUFDSCxDQUFDO0lBRWUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUEwQjtRQUNsRCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3hCLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDNUIsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3RDLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUM5QyxDQUFDO1FBQ0QsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxJQUFJLE1BQU0sS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUN0QixPQUFPO2dCQUNMLE1BQU0sRUFBQyxTQUFTO2dCQUNoQixNQUFNLEVBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7YUFDNUIsQ0FBQTtRQUNILENBQUM7YUFBTSxJQUFJLE1BQU0sSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUM3QixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQTtZQUM5QixPQUFPO2dCQUNMLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixNQUFNLEVBQUUsWUFBWSxJQUFJLElBQUksVUFBVSxDQUFBLENBQUMsQ0FBQSxVQUFVLENBQUEsQ0FBQyxDQUFBLFNBQVMsd0JBQXdCLE9BQU8sQ0FBQyxNQUFNLEVBQUU7YUFDcEcsQ0FBQTtRQUNILENBQUM7UUFFRCxPQUFPO1lBQ0wsTUFBTSxFQUFFLE9BQU87WUFDZixNQUFNLEVBQUUsa0JBQWtCLEtBQUssQ0FBQyxNQUFNLG9DQUFvQztTQUMzRSxDQUFBO0lBQ0gsQ0FBQzs7QUF2RUgsd0NBd0VDO0FBdkVRLHdCQUFTLEdBQUcsZUFBZSxBQUFsQixDQUFtQiJ9
@@ -1,10 +0,0 @@
1
- import { AgentTool } from "./AgentTool";
2
- import { TaskLogger } from "./TaskLogger";
3
- export declare class ReadFileTool extends AgentTool {
4
- static readonly toolName = "read_file";
5
- private paths;
6
- constructor(options: {
7
- paths?: string[];
8
- });
9
- execute(input: Record<string, any>, log?: TaskLogger): Promise<Record<string, any>>;
10
- }
@@ -1,68 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ReadFileTool = void 0;
7
- /* eslint-disable @typescript-eslint/no-explicit-any */
8
- const AgentTool_1 = require("./AgentTool");
9
- const v4_1 = require("zod/v4");
10
- const fs_1 = __importDefault(require("fs"));
11
- const path_1 = __importDefault(require("path"));
12
- const helpers_1 = require("./helpers");
13
- class ReadFileTool extends AgentTool_1.AgentTool {
14
- constructor(options) {
15
- super({
16
- name: ReadFileTool.toolName,
17
- description: "Reads content of a 'file' from the repository identified by 'path'.",
18
- type: "API",
19
- local_execution: true,
20
- hitl: true,
21
- inputs: {
22
- url: `http://localhost/${ReadFileTool.toolName}`,
23
- method: "POST",
24
- requestBody: v4_1.z.toJSONSchema(v4_1.z.object({
25
- path: v4_1.z.string().meta({
26
- title: "File_Path",
27
- description: "The path of the file to be read. This should be a valid file path of files in the repository."
28
- }),
29
- }).meta({
30
- title: `${ReadFileTool.toolName}_request_body`,
31
- description: `The request body parameters for the ${ReadFileTool.toolName} tool.`,
32
- }), { "io": "input" }),
33
- },
34
- });
35
- this.paths = [];
36
- this.paths = options.paths || [];
37
- }
38
- execute(input, log) {
39
- if (!input.path || typeof input.path !== "string") {
40
- throw new Error("Invalid file path provided.");
41
- }
42
- const logger = log || console;
43
- return new Promise((resolve, reject) => {
44
- const filePath = path_1.default.resolve(...this.paths, input.path);
45
- if (!fs_1.default.existsSync(filePath)) {
46
- reject(new Error(`File not found at path: ${input.path}`));
47
- return;
48
- }
49
- const stats = fs_1.default.statSync(filePath); // Ensure the file exists
50
- if (stats.isFile()) {
51
- logger.info(`📖 Reading file:\`${input.path}\` ${(0, helpers_1.formatFileSize)(stats.size)}`);
52
- const content = fs_1.default.readFileSync(filePath, 'utf-8');
53
- // logger.info(`> Read ${stats.size} bytes from file.`);
54
- return resolve({
55
- status: 'success',
56
- content,
57
- size: stats.size,
58
- });
59
- }
60
- else {
61
- reject(new Error(`Path is not a file: ${input.path}`));
62
- }
63
- });
64
- }
65
- }
66
- exports.ReadFileTool = ReadFileTool;
67
- ReadFileTool.toolName = "read_file";
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVhZEZpbGVUb29sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi90b29scy9SZWFkRmlsZVRvb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsdURBQXVEO0FBQ3ZELDJDQUF3QztBQUN4QywrQkFBMkI7QUFDM0IsNENBQW9CO0FBQ3BCLGdEQUF3QjtBQUV4Qix1Q0FBMkM7QUFFM0MsTUFBYSxZQUFhLFNBQVEscUJBQVM7SUFHMUMsWUFBWSxPQUVYO1FBQ0EsS0FBSyxDQUFDO1lBQ0wsSUFBSSxFQUFFLFlBQVksQ0FBQyxRQUFRO1lBQzNCLFdBQVcsRUFBRSxxRUFBcUU7WUFDbEYsSUFBSSxFQUFFLEtBQUs7WUFDWCxlQUFlLEVBQUUsSUFBSTtZQUNyQixJQUFJLEVBQUUsSUFBSTtZQUNWLE1BQU0sRUFBRTtnQkFDUCxHQUFHLEVBQUUsb0JBQW9CLFlBQVksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2hELE1BQU0sRUFBRSxNQUFNO2dCQUNkLFdBQVcsRUFBRSxNQUFDLENBQUMsWUFBWSxDQUFDLE1BQUMsQ0FBQyxNQUFNLENBQUM7b0JBQ3BDLElBQUksRUFBRSxNQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDO3dCQUNyQixLQUFLLEVBQUUsV0FBVzt3QkFDbEIsV0FBVyxFQUFFLCtGQUErRjtxQkFDNUcsQ0FBQztpQkFDRixDQUFDLENBQUMsSUFBSSxDQUFDO29CQUNQLEtBQUssRUFBRSxHQUFHLFlBQVksQ0FBQyxRQUFRLGVBQWU7b0JBQzlDLFdBQVcsRUFBRSx1Q0FBdUMsWUFBWSxDQUFDLFFBQVEsUUFBUTtpQkFDakYsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDO2FBQ3RCO1NBQ0QsQ0FBQyxDQUFDO1FBdkJJLFVBQUssR0FBYSxFQUFFLENBQUM7UUF3QjVCLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUNNLE9BQU8sQ0FBQyxLQUEwQixFQUFFLEdBQWdCO1FBQzFELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNuRCxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUNELE1BQU0sTUFBTSxHQUFHLEdBQUcsSUFBSSxPQUFPLENBQUM7UUFDOUIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUN0QyxNQUFNLFFBQVEsR0FBRyxjQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDekQsSUFBSSxDQUFDLFlBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztnQkFDOUIsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLDJCQUEyQixLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUMzRCxPQUFPO1lBQ1IsQ0FBQztZQUNELE1BQU0sS0FBSyxHQUFHLFlBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyx5QkFBeUI7WUFDOUQsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztnQkFDcEIsTUFBTSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsS0FBSyxDQUFDLElBQUksTUFBTSxJQUFBLHdCQUFjLEVBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDL0UsTUFBTSxPQUFPLEdBQUcsWUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBQy9DLHdEQUF3RDtnQkFDNUQsT0FBTyxPQUFPLENBQUM7b0JBQ2QsTUFBTSxFQUFFLFNBQVM7b0JBQ2pCLE9BQU87b0JBQ1AsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO2lCQUNoQixDQUFDLENBQUM7WUFDSixDQUFDO2lCQUFNLENBQUM7Z0JBQ1AsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLHVCQUF1QixLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3hELENBQUM7UUFDRixDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7O0FBckRGLG9DQXNEQztBQXJEdUIscUJBQVEsR0FBRyxXQUFXLEFBQWQsQ0FBZSJ9
@@ -1,9 +0,0 @@
1
- import { AgentTool } from "./AgentTool";
2
- export declare class WebSearchTool extends AgentTool {
3
- static readonly toolName = "search_web";
4
- constructor(options: {
5
- logger?: (message: string) => void;
6
- });
7
- static bravewebsearch(query: string): Promise<string>;
8
- execute(input: Record<string, any>): Promise<Record<string, any>>;
9
- }
@@ -1,92 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WebSearchTool = void 0;
4
- /* eslint-disable @typescript-eslint/no-explicit-any */
5
- const AgentTool_1 = require("./AgentTool");
6
- const v4_1 = require("zod/v4");
7
- class WebSearchTool extends AgentTool_1.AgentTool {
8
- constructor(options) {
9
- super({
10
- name: WebSearchTool.toolName,
11
- description: "searches the web for the given query.",
12
- type: "API",
13
- local_execution: true,
14
- hitl: true,
15
- inputs: {
16
- title: "search_inputs",
17
- description: "Inputs for search tool.",
18
- url: `http://localhost/${WebSearchTool.toolName}`,
19
- method: "POST",
20
- requestBody: v4_1.z.toJSONSchema(v4_1.z.object({
21
- query: v4_1.z.url().meta({
22
- title: "search query",
23
- description: "The query to search the web for."
24
- }),
25
- }).meta({
26
- title: "search_request_body",
27
- description: "The request body parameters for the search tool.",
28
- }), { "io": "input" }),
29
- },
30
- logger: options.logger,
31
- });
32
- }
33
- static async bravewebsearch(query) {
34
- try {
35
- const params = new URLSearchParams({
36
- q: query,
37
- count: '10',
38
- text_decorations: 'false',
39
- result_filter: 'web',
40
- summary: '1'
41
- });
42
- const response = await fetch(`https://api.search.brave.com/res/v1/web/search?${params}`, {
43
- method: 'get',
44
- headers: {
45
- 'Accept': 'application/json',
46
- 'Accept-Encoding': 'gzip',
47
- 'x-subscription-token': process.env.BRAVE_SEARCH_API_KEY || '',
48
- },
49
- });
50
- const body = await response.json();
51
- //console.log("Brave Search Response:", body);
52
- let output = '';
53
- body.web.results.forEach((item) => {
54
- output += `\n\n#### ${item.title}\n`;
55
- output += `\n${item.description}\n`;
56
- output += `\n[Read More](${item.url})\n\n`;
57
- });
58
- return output;
59
- }
60
- catch (error) {
61
- console.error("Error in bravewebsearch:", error);
62
- throw error;
63
- }
64
- }
65
- execute(input) {
66
- if (!input.query || typeof input.query !== "string") {
67
- throw new Error("Invalid query provided.");
68
- }
69
- const log = this.logger || console.log;
70
- return new Promise((resolve, reject) => {
71
- try {
72
- log(`\n\n> Searching web: ${input.query}:\n`);
73
- const output = WebSearchTool.bravewebsearch(input.query);
74
- return resolve({
75
- status: 'success',
76
- output
77
- });
78
- }
79
- catch (error) {
80
- if (error instanceof Error) {
81
- reject(new Error(`Failed to search web: ${input.query}. Error: ${error.message}`));
82
- }
83
- else {
84
- reject(new Error(`Failed to search web: ${input.query}. Unknown error.`));
85
- }
86
- }
87
- });
88
- }
89
- }
90
- exports.WebSearchTool = WebSearchTool;
91
- WebSearchTool.toolName = "search_web";
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2ViU2VhcmNoVG9vbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdG9vbHMvV2ViU2VhcmNoVG9vbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1REFBdUQ7QUFDdkQsMkNBQXdDO0FBQ3hDLCtCQUEyQjtBQUUzQixNQUFhLGFBQWMsU0FBUSxxQkFBUztJQUUzQyxZQUFZLE9BRVg7UUFDQSxLQUFLLENBQUM7WUFDTCxJQUFJLEVBQUUsYUFBYSxDQUFDLFFBQVE7WUFDNUIsV0FBVyxFQUFFLHVDQUF1QztZQUNwRCxJQUFJLEVBQUUsS0FBSztZQUNYLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLElBQUksRUFBRSxJQUFJO1lBQ1YsTUFBTSxFQUFFO2dCQUNQLEtBQUssRUFBRSxlQUFlO2dCQUN0QixXQUFXLEVBQUUseUJBQXlCO2dCQUN0QyxHQUFHLEVBQUUsb0JBQW9CLGFBQWEsQ0FBQyxRQUFRLEVBQUU7Z0JBQ2pELE1BQU0sRUFBRSxNQUFNO2dCQUNkLFdBQVcsRUFBRSxNQUFDLENBQUMsWUFBWSxDQUFDLE1BQUMsQ0FBQyxNQUFNLENBQUM7b0JBQ3BDLEtBQUssRUFBRSxNQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO3dCQUNuQixLQUFLLEVBQUUsY0FBYzt3QkFDckIsV0FBVyxFQUFFLGtDQUFrQztxQkFDL0MsQ0FBQztpQkFDRixDQUFDLENBQUMsSUFBSSxDQUFDO29CQUNQLEtBQUssRUFBRSxxQkFBcUI7b0JBQzVCLFdBQVcsRUFBRSxrREFBa0Q7aUJBQy9ELENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQzthQUN0QjtZQUNELE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtTQUN0QixDQUFDLENBQUM7SUFDSixDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsS0FBYTtRQUMvQyxJQUFJLENBQUM7WUFDSixNQUFNLE1BQU0sR0FBRyxJ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
@@ -1,10 +0,0 @@
1
- import { AgentTool } from "./AgentTool";
2
- import { TaskLogger } from "./TaskLogger";
3
- export declare class WriteFileTool extends AgentTool {
4
- static readonly toolName = "write_file";
5
- private paths;
6
- constructor(options: {
7
- paths?: string[];
8
- });
9
- execute(input: Record<string, any>, log?: TaskLogger): Promise<Record<string, any>>;
10
- }
@@ -1,74 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.WriteFileTool = void 0;
7
- /* eslint-disable @typescript-eslint/no-explicit-any */
8
- const AgentTool_1 = require("./AgentTool");
9
- const v4_1 = require("zod/v4");
10
- const fs_1 = __importDefault(require("fs"));
11
- const path_1 = __importDefault(require("path"));
12
- const helpers_1 = require("./helpers");
13
- class WriteFileTool extends AgentTool_1.AgentTool {
14
- constructor(options) {
15
- super({
16
- name: WriteFileTool.toolName,
17
- description: "Writes content to a file in repository identified by 'path'.",
18
- type: "API",
19
- local_execution: true,
20
- hitl: true,
21
- inputs: {
22
- url: `http://localhost/${WriteFileTool.toolName}`,
23
- method: "POST",
24
- requestBody: v4_1.z.toJSONSchema(v4_1.z.object({
25
- path: v4_1.z.string().meta({
26
- title: "File_Path",
27
- description: "The path of the file to be write. This should be a valid file path in the repository."
28
- }),
29
- content: v4_1.z.string().meta({
30
- title: "File_Content",
31
- description: "The content to be written to the file. This should be a valid string content."
32
- }),
33
- }).meta({
34
- title: `${WriteFileTool.toolName}_request_body`,
35
- description: `The request body parameters for the ${WriteFileTool.toolName} tool.`,
36
- }), { "io": "input" }),
37
- },
38
- });
39
- this.paths = [];
40
- this.paths = options.paths || [];
41
- }
42
- execute(input, log) {
43
- if (!input.path || typeof input.path !== "string") {
44
- throw new Error("Invalid file path provided.");
45
- }
46
- const logger = log || console;
47
- return new Promise((resolve, reject) => {
48
- const filePath = path_1.default.resolve(...this.paths, input.path);
49
- const content = input.content;
50
- // if (!filePath.startsWith(run.srcDir))
51
- // filePath = path.join(run.srcDir, lastevent.toolInput.request_body.path);
52
- try {
53
- logger.info(`📝 Writing ${(0, helpers_1.formatFileSize)(content.length)} to file:\`${input.path}\``);
54
- fs_1.default.mkdirSync(path_1.default.dirname(filePath), { recursive: true });
55
- fs_1.default.writeFileSync(filePath, (0, helpers_1.unEscapeHTML)(content), 'utf-8');
56
- // logger.info(`> Wrote ${content.length} bytes to file.`);
57
- return resolve({
58
- status: 'success'
59
- });
60
- }
61
- catch (error) {
62
- if (error instanceof Error) {
63
- reject(new Error(`Failed to write file at path: ${input.path}. Error: ${error.message}`));
64
- }
65
- else {
66
- reject(new Error(`Failed to write file at path: ${input.path}. Unknown error.`));
67
- }
68
- }
69
- });
70
- }
71
- }
72
- exports.WriteFileTool = WriteFileTool;
73
- WriteFileTool.toolName = "write_file";
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV3JpdGVGaWxlVG9vbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdG9vbHMvV3JpdGVGaWxlVG9vbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSx1REFBdUQ7QUFDdkQsMkNBQXdDO0FBQ3hDLCtCQUEyQjtBQUMzQiw0Q0FBb0I7QUFDcEIsZ0RBQXdCO0FBRXhCLHVDQUF5RDtBQUV6RCxNQUFhLGFBQWMsU0FBUSxxQkFBUztJQUczQyxZQUFZLE9BRVg7UUFDQSxLQUFLLENBQUM7WUFDTCxJQUFJLEVBQUUsYUFBYSxDQUFDLFFBQVE7WUFDNUIsV0FBVyxFQUFFLDhEQUE4RDtZQUMzRSxJQUFJLEVBQUUsS0FBSztZQUNYLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLElBQUksRUFBRSxJQUFJO1lBQ1YsTUFBTSxFQUFFO2dCQUNQLEdBQUcsRUFBRSxvQkFBb0IsYUFBYSxDQUFDLFFBQVEsRUFBRTtnQkFDakQsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsV0FBVyxFQUFFLE1BQUMsQ0FBQyxZQUFZLENBQUMsTUFBQyxDQUFDLE1BQU0sQ0FBQztvQkFDcEMsSUFBSSxFQUFFLE1BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUM7d0JBQ3JCLEtBQUssRUFBRSxXQUFXO3dCQUNsQixXQUFXLEVBQUUsdUZBQXVGO3FCQUNwRyxDQUFDO29CQUNGLE9BQU8sRUFBRSxNQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDO3dCQUN4QixLQUFLLEVBQUUsY0FBYzt3QkFDckIsV0FBVyxFQUFFLCtFQUErRTtxQkFDNUYsQ0FBQztpQkFDRixDQUFDLENBQUMsSUFBSSxDQUFDO29CQUNQLEtBQUssRUFBRSxHQUFHLGFBQWEsQ0FBQyxRQUFRLGVBQWU7b0JBQy9DLFdBQVcsRUFBRSx1Q0FBdUMsYUFBYSxDQUFDLFFBQVEsUUFBUTtpQkFDbEYsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDO2FBQ3RCO1NBQ0QsQ0FBQyxDQUFDO1FBM0JJLFVBQUssR0FBYSxFQUFFLENBQUM7UUE0QjVCLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUNNLE9BQU8sQ0FBQyxLQUEwQixFQUFFLEdBQWdCO1FBQzFELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNuRCxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUNELE1BQU0sTUFBTSxHQUFHLEdBQUcsSUFBSSxPQUFPLENBQUM7UUFDOUIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUN0QyxNQUFNLFFBQVEsR0FBRyxjQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDekQsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUM5Qix3Q0FBd0M7WUFDeEMsNEVBQTRFO1lBQzVFLElBQUksQ0FBQztnQkFDSixNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBQSx3QkFBYyxFQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsY0FBYyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQztnQkFDdEYsWUFBRSxDQUFDLFNBQVMsQ0FBQyxjQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7Z0JBQzFELFlBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLElBQUEsc0JBQVksRUFBQyxPQUFPLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDdkQsMkRBQTJEO2dCQUMvRCxPQUFPLE9BQU8sQ0FBQztvQkFDZCxNQUFNLEVBQUUsU0FBUztpQkFDakIsQ0FBQyxDQUFDO1lBQ0osQ0FBQztZQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7Z0JBQ2hCLElBQUksS0FBSyxZQUFZLEtBQUssRUFBRSxDQUFDO29CQUM1QixNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsaUNBQWlDLEtBQUssQ0FBQyxJQUFJLFlBQVksS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDM0YsQ0FBQztxQkFBTSxDQUFDO29CQUNQLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsS0FBSyxDQUFDLElBQUksa0JBQWtCLENBQUMsQ0FBQyxDQUFDO2dCQUNsRixDQUFDO1lBQ0YsQ0FBQztRQUNGLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQzs7QUExREYsc0NBMkRDO0FBMUR1QixzQkFBUSxHQUFHLFlBQVksQUFBZixDQUFnQiJ9
@@ -1,20 +0,0 @@
1
- /**
2
- * A sample async function (to demo Typescript's es7 async/await down-leveling).
3
- *
4
- * ### Example (es imports)
5
- * ```js
6
- * import { asyncABC } from 'typescript-starter'
7
- * console.log(await asyncABC())
8
- * // => ['a','b','c']
9
- * ```
10
- *
11
- * ### Example (commonjs)
12
- * ```js
13
- * var double = require('typescript-starter').asyncABC;
14
- * asyncABC().then(console.log);
15
- * // => ['a','b','c']
16
- * ```
17
- *
18
- * @returns a Promise which should contain `['a','b','c']`
19
- */
20
- export declare const asyncABC: () => Promise<string[]>;
@@ -1,32 +0,0 @@
1
- /**
2
- * A sample async function (to demo Typescript's es7 async/await down-leveling).
3
- *
4
- * ### Example (es imports)
5
- * ```js
6
- * import { asyncABC } from 'typescript-starter'
7
- * console.log(await asyncABC())
8
- * // => ['a','b','c']
9
- * ```
10
- *
11
- * ### Example (commonjs)
12
- * ```js
13
- * var double = require('typescript-starter').asyncABC;
14
- * asyncABC().then(console.log);
15
- * // => ['a','b','c']
16
- * ```
17
- *
18
- * @returns a Promise which should contain `['a','b','c']`
19
- */
20
- export const asyncABC = async () => {
21
- const somethingSlow = (index) => {
22
- const storage = 'abc'.charAt(index);
23
- return new Promise((resolve) =>
24
- // later...
25
- resolve(storage));
26
- };
27
- const a = await somethingSlow(0);
28
- const b = await somethingSlow(1);
29
- const c = await somethingSlow(2);
30
- return [a, b, c];
31
- };
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2FzeW5jLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQkc7QUFDSCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsS0FBSyxJQUFJLEVBQUU7SUFDakMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxLQUFnQixFQUFFLEVBQUU7UUFDekMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQyxPQUFPLElBQUksT0FBTyxDQUFTLENBQUMsT0FBTyxFQUFFLEVBQUU7UUFDckMsV0FBVztRQUNYLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FDakIsQ0FBQztJQUNKLENBQUMsQ0FBQztJQUNGLE1BQU0sQ0FBQyxHQUFHLE1BQU0sYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLE1BQU0sQ0FBQyxHQUFHLE1BQU0sYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLE1BQU0sQ0FBQyxHQUFHLE1BQU0sYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ25CLENBQUMsQ0FBQyJ9
@@ -1,43 +0,0 @@
1
- /**
2
- * Multiplies a value by 2. (Also a full example of TypeDoc's functionality.)
3
- *
4
- * ### Example (es module)
5
- * ```js
6
- * import { double } from 'typescript-starter'
7
- * console.log(double(4))
8
- * // => 8
9
- * ```
10
- *
11
- * ### Example (commonjs)
12
- * ```js
13
- * var double = require('typescript-starter').double;
14
- * console.log(double(4))
15
- * // => 8
16
- * ```
17
- *
18
- * @param value - Comment describing the `value` parameter.
19
- * @returns Comment describing the return type.
20
- * @anotherNote Some other value.
21
- */
22
- export declare const double: (value: number) => number;
23
- /**
24
- * Raise the value of the first parameter to the power of the second using the
25
- * es7 exponentiation operator (`**`).
26
- *
27
- * ### Example (es module)
28
- * ```js
29
- * import { power } from 'typescript-starter'
30
- * console.log(power(2,3))
31
- * // => 8
32
- * ```
33
- *
34
- * ### Example (commonjs)
35
- * ```js
36
- * var power = require('typescript-starter').power;
37
- * console.log(power(2,3))
38
- * // => 8
39
- * ```
40
- * @param base - the base to exponentiate
41
- * @param exponent - the power to which to raise the base
42
- */
43
- export declare const power: (base: number, exponent: number) => number;
@@ -1,51 +0,0 @@
1
- /**
2
- * Multiplies a value by 2. (Also a full example of TypeDoc's functionality.)
3
- *
4
- * ### Example (es module)
5
- * ```js
6
- * import { double } from 'typescript-starter'
7
- * console.log(double(4))
8
- * // => 8
9
- * ```
10
- *
11
- * ### Example (commonjs)
12
- * ```js
13
- * var double = require('typescript-starter').double;
14
- * console.log(double(4))
15
- * // => 8
16
- * ```
17
- *
18
- * @param value - Comment describing the `value` parameter.
19
- * @returns Comment describing the return type.
20
- * @anotherNote Some other value.
21
- */
22
- export const double = (value) => {
23
- return value * 2;
24
- };
25
- /**
26
- * Raise the value of the first parameter to the power of the second using the
27
- * es7 exponentiation operator (`**`).
28
- *
29
- * ### Example (es module)
30
- * ```js
31
- * import { power } from 'typescript-starter'
32
- * console.log(power(2,3))
33
- * // => 8
34
- * ```
35
- *
36
- * ### Example (commonjs)
37
- * ```js
38
- * var power = require('typescript-starter').power;
39
- * console.log(power(2,3))
40
- * // => 8
41
- * ```
42
- * @param base - the base to exponentiate
43
- * @param exponent - the power to which to raise the base
44
- */
45
- export const power = (base, exponent) => {
46
- /**
47
- * This es7 exponentiation operator is transpiled by TypeScript
48
- */
49
- return base ** exponent;
50
- };
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9udW1iZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUU7SUFDdEMsT0FBTyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0FBQ25CLENBQUMsQ0FBQztBQUVGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLENBQUMsSUFBWSxFQUFFLFFBQWdCLEVBQUUsRUFBRTtJQUN0RDs7T0FFRztJQUNILE9BQU8sSUFBSSxJQUFJLFFBQVEsQ0FBQztBQUMxQixDQUFDLENBQUMifQ==