psadk 1.1.23 → 1.1.25

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 (47) hide show
  1. package/build/main/lib/PSAI.d.ts +1 -1
  2. package/build/main/lib/PSAI.js +52 -41
  3. package/build/main/lib/PSAgent.js +1 -1
  4. package/build/main/lib/PSAgentConfig.d.ts +5 -5
  5. package/build/main/lib/PSAgentLogger.js +3 -3
  6. package/build/main/lib/PSAgentTask.js +1 -1
  7. package/build/main/lib/PSAgentTool.d.ts +4 -4
  8. package/build/main/lib/PSAgentTool.js +11 -11
  9. package/build/main/lib/tools/BraveWebSearchTool.d.ts +2 -2
  10. package/build/main/lib/tools/BraveWebSearchTool.js +20 -18
  11. package/build/main/lib/tools/PSArtifactTool.d.ts +1 -1
  12. package/build/main/lib/tools/PSArtifactTool.js +25 -25
  13. package/build/main/lib/tools/PSCommandLineTool.d.ts +2 -2
  14. package/build/main/lib/tools/PSCommandLineTool.js +22 -21
  15. package/build/main/lib/tools/PSMemoryTool.d.ts +2 -2
  16. package/build/main/lib/tools/PSMemoryTool.js +97 -67
  17. package/build/main/lib/tools/PSReadFileTool.d.ts +2 -2
  18. package/build/main/lib/tools/PSReadFileTool.js +13 -11
  19. package/build/main/lib/tools/PSSubAgentTool.d.ts +4 -4
  20. package/build/main/lib/tools/PSSubAgentTool.js +50 -47
  21. package/build/main/lib/tools/TodoTool.d.ts +2 -2
  22. package/build/main/lib/tools/TodoTool.js +45 -41
  23. package/build/main/lib/utils/helpers.js +5 -3
  24. package/build/module/lib/PSAI.d.ts +1 -1
  25. package/build/module/lib/PSAI.js +53 -42
  26. package/build/module/lib/PSAgent.js +1 -1
  27. package/build/module/lib/PSAgentConfig.d.ts +5 -5
  28. package/build/module/lib/PSAgentLogger.js +3 -3
  29. package/build/module/lib/PSAgentTask.js +1 -1
  30. package/build/module/lib/PSAgentTool.d.ts +4 -4
  31. package/build/module/lib/PSAgentTool.js +11 -11
  32. package/build/module/lib/tools/BraveWebSearchTool.d.ts +2 -2
  33. package/build/module/lib/tools/BraveWebSearchTool.js +20 -18
  34. package/build/module/lib/tools/PSArtifactTool.d.ts +1 -1
  35. package/build/module/lib/tools/PSArtifactTool.js +25 -25
  36. package/build/module/lib/tools/PSCommandLineTool.d.ts +2 -2
  37. package/build/module/lib/tools/PSCommandLineTool.js +22 -21
  38. package/build/module/lib/tools/PSMemoryTool.d.ts +2 -2
  39. package/build/module/lib/tools/PSMemoryTool.js +97 -67
  40. package/build/module/lib/tools/PSReadFileTool.d.ts +2 -2
  41. package/build/module/lib/tools/PSReadFileTool.js +13 -11
  42. package/build/module/lib/tools/PSSubAgentTool.d.ts +4 -4
  43. package/build/module/lib/tools/PSSubAgentTool.js +50 -47
  44. package/build/module/lib/tools/TodoTool.d.ts +2 -2
  45. package/build/module/lib/tools/TodoTool.js +45 -41
  46. package/build/module/lib/utils/helpers.js +5 -3
  47. package/package.json +5 -2
@@ -1,5 +1,5 @@
1
- import z from "zod/v4";
2
- import { PSAgentLogger } from "./PSAgentLogger";
1
+ import z from 'zod/v4';
2
+ import { PSAgentLogger } from './PSAgentLogger';
3
3
  export interface IPSAgentToolResult {
4
4
  error: Error | null;
5
5
  result?: Record<string, any>;
@@ -17,7 +17,7 @@ export declare class PSAgentTool {
17
17
  private hitl;
18
18
  private inputschema;
19
19
  private runCallback?;
20
- constructor({ name, description, type, local_execution, hitl, inputschema, runCallback }: {
20
+ constructor({ name, description, type, local_execution, hitl, inputschema, runCallback, }: {
21
21
  name: string;
22
22
  description: string;
23
23
  type?: string;
@@ -47,7 +47,7 @@ export declare class PSAgentTool {
47
47
  get Inputs(): IPSAgentToolInput;
48
48
  set Inputs(value: IPSAgentToolInput);
49
49
  run(input: Record<string, any>, log?: PSAgentLogger): Promise<Record<string, any>>;
50
- static LocalTool({ name, description, requestschema, runCallback }: {
50
+ static LocalTool({ name, description, requestschema, runCallback, }: {
51
51
  name: string;
52
52
  description: string;
53
53
  requestschema: z.core.JSONSchema.BaseSchema;
@@ -2,20 +2,20 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PSAgentTool = void 0;
4
4
  class PSAgentTool {
5
- constructor({ name, description, type = "API", local_execution = true, hitl = true, inputschema, runCallback }) {
5
+ constructor({ name, description, type = 'API', local_execution = true, hitl = true, inputschema, runCallback, }) {
6
6
  this.name = name;
7
7
  this.description = description;
8
8
  this.type = type;
9
9
  this.local_execution = local_execution;
10
10
  this.hitl = {
11
11
  required: hitl,
12
- interrupt: "before",
13
- level: 0
12
+ interrupt: 'before',
13
+ level: 0,
14
14
  };
15
15
  this.inputschema = inputschema;
16
16
  if (runCallback) {
17
- if (typeof runCallback !== "function") {
18
- throw new Error("executionFn must be a function");
17
+ if (typeof runCallback !== 'function') {
18
+ throw new Error('executionFn must be a function');
19
19
  }
20
20
  this.runCallback = runCallback;
21
21
  }
@@ -58,27 +58,27 @@ class PSAgentTool {
58
58
  }
59
59
  run(input, log) {
60
60
  if (!this.runCallback) {
61
- throw new Error("run callback function is not defined for this tool");
61
+ throw new Error('run callback function is not defined for this tool');
62
62
  }
63
63
  return this.runCallback(input, log);
64
64
  }
65
- static LocalTool({ name, description, requestschema, runCallback }) {
65
+ static LocalTool({ name, description, requestschema, runCallback, }) {
66
66
  return new PSAgentTool({
67
67
  name,
68
68
  description,
69
- type: "API",
69
+ type: 'API',
70
70
  local_execution: true,
71
71
  hitl: true,
72
72
  inputschema: {
73
73
  //title: `${name}_inputs.`,
74
74
  //description: `Inputs for ${name} tool.`,
75
75
  url: `http://localhost/${name}`,
76
- method: "POST",
76
+ method: 'POST',
77
77
  requestBody: requestschema,
78
78
  },
79
- runCallback
79
+ runCallback,
80
80
  });
81
81
  }
82
82
  }
83
83
  exports.PSAgentTool = PSAgentTool;
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUFNBZ2VudFRvb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL1BTQWdlbnRUb29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWtCQSxNQUFhLFdBQVc7SUFhdkIsWUFBWSxFQUNULElBQUksRUFDSixXQUFXLEVBQ1gsSUFBSSxHQUFDLEtBQUssRUFDVixlQUFlLEdBQUMsSUFBSSxFQUNwQixJQUFJLEdBQUMsSUFBSSxFQUNULFdBQVcsRUFDWCxXQUFXLEVBU2I7UUFDQSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsZUFBZSxHQUFHLGVBQWUsQ0FBQztRQUN2QyxJQUFJLENBQUMsSUFBSSxHQUFHO1lBQ1gsUUFBUSxFQUFFLElBQUk7WUFDZCxTQUFTLEVBQUUsUUFBUTtZQUNuQixLQUFLLEVBQUUsQ0FBQztTQUNSLENBQUM7UUFDRixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLElBQUksT0FBTyxXQUFXLEtBQUssVUFBVSxFQUFFLENBQUM7Z0JBQ3ZDLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztZQUNuRCxDQUFDO1lBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDaEMsQ0FBQztJQUNGLENBQUM7SUFDRCxJQUFXLElBQUk7UUFDZCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbEIsQ0FBQztJQUNELElBQVcsSUFBSSxDQUFDLEtBQWE7UUFDNUIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7SUFDbkIsQ0FBQztJQUNELElBQVcsV0FBVztRQUNyQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDekIsQ0FBQztJQUNELElBQVcsV0FBVyxDQUFDLEtBQWE7UUFDbkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQUNELElBQVcsSUFBSTtRQUNkLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNsQixDQUFDO0lBQ0QsSUFBVyxJQUFJLENBQUMsS0FBYTtRQUM1QixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUNuQixDQUFDO0lBQ0QsSUFBVyxjQUFjO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM3QixDQUFDO0lBQ0QsSUFBVyxjQUFjLENBQUMsS0FBYztRQUN2QyxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUM5QixDQUFDO0lBQ0QsSUFBVyxJQUFJO1FBQ2QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ2xCLENBQUM7SUFDRCxJQUFXLElBQUksQ0FBQyxLQUErRDtRQUM5RSxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUNuQixDQUFDO0lBQ0QsSUFBVyxNQUFNO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUN6QixDQUFDO0lBQ0QsSUFBVyxNQUFNLENBQUMsS0FBd0I7UUFDekMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQUVPLEdBQUcsQ0FBQyxLQUEwQixFQUFFLEdBQW1CO1FBQzFELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvREFBb0QsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUtyRTtRQUVDLE9BQU8sSUFBSSxXQUFXLENBQUM7WUFDckIsSUFBSTtZQUNKLFdBQVc7WUFDWCxJQUFJLEVBQUUsS0FBSztZQUNYLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLElBQUksRUFBRSxJQUFJO1lBQ1YsV0FBVyxFQUFHO2dCQUNaLDJCQUEyQjtnQkFDM0IsMENBQTBDO2dCQUMxQyxHQUFHLEVBQUUsb0JBQW9CLElBQUksRUFBRTtnQkFDL0IsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsV0FBVyxFQUFFLGFBQWE7YUFDM0I7WUFDRCxXQUFXO1NBQ1osQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBbEhELGtDQWtIQyJ9
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUFNBZ2VudFRvb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL1BTQWdlbnRUb29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWtCQSxNQUFhLFdBQVc7SUFnQnRCLFlBQVksRUFDVixJQUFJLEVBQ0osV0FBVyxFQUNYLElBQUksR0FBRyxLQUFLLEVBQ1osZUFBZSxHQUFHLElBQUksRUFDdEIsSUFBSSxHQUFHLElBQUksRUFDWCxXQUFXLEVBQ1gsV0FBVyxHQVlaO1FBQ0MsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQUM7UUFDdkMsSUFBSSxDQUFDLElBQUksR0FBRztZQUNWLFFBQVEsRUFBRSxJQUFJO1lBQ2QsU0FBUyxFQUFFLFFBQVE7WUFDbkIsS0FBSyxFQUFFLENBQUM7U0FDVCxDQUFDO1FBQ0YsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNoQixJQUFJLE9BQU8sV0FBVyxLQUFLLFVBQVUsRUFBRSxDQUFDO2dCQUN0QyxNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7WUFDcEQsQ0FBQztZQUNELElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQ2pDLENBQUM7SUFDSCxDQUFDO0lBQ0QsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFDRCxJQUFXLElBQUksQ0FBQyxLQUFhO1FBQzNCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFXLFdBQVcsQ0FBQyxLQUFhO1FBQ2xDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFDRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUNELElBQVcsSUFBSSxDQUFDLEtBQWE7UUFDM0IsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQVcsY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQUNELElBQVcsY0FBYyxDQUFDLEtBQWM7UUFDdEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFDL0IsQ0FBQztJQUNELElBQVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBQ0QsSUFBVyxJQUFJLENBQUMsS0FJZjtRQUNDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUNELElBQVcsTUFBTSxDQUFDLEtBQXdCO1FBQ3hDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFTSxHQUFHLENBQ1IsS0FBMEIsRUFDMUIsR0FBbUI7UUFFbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLG9EQUFvRCxDQUFDLENBQUM7UUFDeEUsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFDdEIsSUFBSSxFQUNKLFdBQVcsRUFDWCxhQUFhLEVBQ2IsV0FBVyxHQVNaO1FBQ0MsT0FBTyxJQUFJLFdBQVcsQ0FBQztZQUNyQixJQUFJO1lBQ0osV0FBVztZQUNYLElBQUksRUFBRSxLQUFLO1lBQ1gsZUFBZSxFQUFFLElBQUk7WUFDckIsSUFBSSxFQUFFLElBQUk7WUFDVixXQUFXLEVBQUU7Z0JBQ1gsMkJBQTJCO2dCQUMzQiwwQ0FBMEM7Z0JBQzFDLEdBQUcsRUFBRSxvQkFBb0IsSUFBSSxFQUFFO2dCQUMvQixNQUFNLEVBQUUsTUFBTTtnQkFDZCxXQUFXLEVBQUUsYUFBYTthQUMzQjtZQUNELFdBQVc7U0FDWixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUF0SUQsa0NBc0lDIn0=
@@ -1,5 +1,5 @@
1
- import { PSAgentLogger } from "../PSAgentLogger";
2
- import { PSAgentTool } from "../PSAgentTool";
1
+ import { PSAgentLogger } from '../PSAgentLogger';
2
+ import { PSAgentTool } from '../PSAgentTool';
3
3
  export declare class BraveWebSearchTool extends PSAgentTool {
4
4
  static readonly toolName = "search_web_with_brave";
5
5
  braveSearchApiKey?: string;
@@ -8,22 +8,24 @@ class BraveWebSearchTool extends PSAgentTool_1.PSAgentTool {
8
8
  constructor(options) {
9
9
  super({
10
10
  name: BraveWebSearchTool.toolName,
11
- description: "searches the web for the given query.",
12
- type: "API",
11
+ description: 'searches the web for the given query.',
12
+ type: 'API',
13
13
  local_execution: true,
14
14
  hitl: true,
15
15
  inputschema: {
16
16
  url: `http://localhost/${BraveWebSearchTool.toolName}`,
17
- method: "POST",
18
- requestBody: v4_1.z.toJSONSchema(v4_1.z.object({
17
+ method: 'POST',
18
+ requestBody: v4_1.z.toJSONSchema(v4_1.z
19
+ .object({
19
20
  query: v4_1.z.url().meta({
20
- title: "search query",
21
- description: "The query to search the web for."
21
+ title: 'search query',
22
+ description: 'The query to search the web for.',
22
23
  }),
23
- }).meta({
24
- title: "search_request_body",
25
- description: "The request body parameters for the search tool.",
26
- }), { "io": "input" }),
24
+ })
25
+ .meta({
26
+ title: 'search_request_body',
27
+ description: 'The request body parameters for the search tool.',
28
+ }), { io: 'input' }),
27
29
  },
28
30
  });
29
31
  this.braveSearchApiKey = options.braveSearchApiKey;
@@ -35,12 +37,12 @@ class BraveWebSearchTool extends PSAgentTool_1.PSAgentTool {
35
37
  count: '10',
36
38
  text_decorations: 'false',
37
39
  result_filter: 'web',
38
- summary: '1'
40
+ summary: '1',
39
41
  });
40
42
  const response = await fetch(`https://api.search.brave.com/res/v1/web/search?${params}`, {
41
43
  method: 'get',
42
44
  headers: {
43
- 'Accept': 'application/json',
45
+ Accept: 'application/json',
44
46
  'Accept-Encoding': 'gzip',
45
47
  'x-subscription-token': this.braveSearchApiKey || process.env.BRAVE_SEARCH_API_KEY || '',
46
48
  },
@@ -56,13 +58,13 @@ class BraveWebSearchTool extends PSAgentTool_1.PSAgentTool {
56
58
  return output;
57
59
  }
58
60
  catch (error) {
59
- console.error("Error in bravewebsearch:", error);
61
+ console.error('Error in bravewebsearch:', error);
60
62
  throw error;
61
63
  }
62
64
  }
63
65
  run(input, log) {
64
- if (!input.query || typeof input.query !== "string") {
65
- throw new Error("Invalid query provided.");
66
+ if (!input.query || typeof input.query !== 'string') {
67
+ throw new Error('Invalid query provided.');
66
68
  }
67
69
  return new Promise((resolve, reject) => {
68
70
  try {
@@ -70,7 +72,7 @@ class BraveWebSearchTool extends PSAgentTool_1.PSAgentTool {
70
72
  const output = this.bravewebsearch(input.query);
71
73
  return resolve({
72
74
  status: 'success',
73
- output
75
+ output,
74
76
  });
75
77
  }
76
78
  catch (error) {
@@ -85,5 +87,5 @@ class BraveWebSearchTool extends PSAgentTool_1.PSAgentTool {
85
87
  }
86
88
  }
87
89
  exports.BraveWebSearchTool = BraveWebSearchTool;
88
- BraveWebSearchTool.toolName = "search_web_with_brave";
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQnJhdmVXZWJTZWFyY2hUb29sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi90b29scy9CcmF2ZVdlYlNlYXJjaFRvb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdURBQXVEO0FBQ3ZELCtCQUEyQjtBQUczQixnREFBNkM7QUFFN0MsTUFBYSxrQkFBbUIsU0FBUSx5QkFBVztJQUdsRCxZQUFZLE9BRVY7UUFDRCxLQUFLLENBQUM7WUFDTCxJQUFJLEVBQUUsa0JBQWtCLENBQUMsUUFBUTtZQUNqQyxXQUFXLEVBQUUsdUNBQXVDO1lBQ3BELElBQUksRUFBRSxLQUFLO1lBQ1gsZUFBZSxFQUFFLElBQUk7WUFDckIsSUFBSSxFQUFFLElBQUk7WUFDVixXQUFXLEVBQUU7Z0JBQ1osR0FBRyxFQUFFLG9CQUFvQixrQkFBa0IsQ0FBQyxRQUFRLEVBQUU7Z0JBQ3RELE1BQU0sRUFBRSxNQUFNO2dCQUNkLFdBQVcsRUFBRSxNQUFDLENBQUMsWUFBWSxDQUFDLE1BQUMsQ0FBQyxNQUFNLENBQUM7b0JBQ3BDLEtBQUssRUFBRSxNQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO3dCQUNuQixLQUFLLEVBQUUsY0FBYzt3QkFDckIsV0FBVyxFQUFFLGtDQUFrQztxQkFDL0MsQ0FBQztpQkFDRixDQUFDLENBQUMsSUFBSSxDQUFDO29CQUNQLEtBQUssRUFBRSxxQkFBcUI7b0JBQzVCLFdBQVcsRUFBRSxrREFBa0Q7aUJBQy9ELENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQzthQUN0QjtTQUNELENBQUMsQ0FBQztRQUNELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUM7SUFDdEQsQ0FBQztJQUVNLEtBQUssQ0FBQyxjQUFjLENBQUMsS0FBYTtRQUN4QyxJQUFJLENBQUM7WUFDSixNQUFNLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBQztnQkFDbEMs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
90
+ BraveWebSearchTool.toolName = 'search_web_with_brave';
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQnJhdmVXZWJTZWFyY2hUb29sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi90b29scy9CcmF2ZVdlYlNlYXJjaFRvb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdURBQXVEO0FBQ3ZELCtCQUEyQjtBQUczQixnREFBNkM7QUFFN0MsTUFBYSxrQkFBbUIsU0FBUSx5QkFBVztJQUdqRCxZQUFZLE9BQXVDO1FBQ2pELEtBQUssQ0FBQztZQUNKLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxRQUFRO1lBQ2pDLFdBQVcsRUFBRSx1Q0FBdUM7WUFDcEQsSUFBSSxFQUFFLEtBQUs7WUFDWCxlQUFlLEVBQUUsSUFBSTtZQUNyQixJQUFJLEVBQUUsSUFBSTtZQUNWLFdBQVcsRUFBRTtnQkFDWCxHQUFHLEVBQUUsb0JBQW9CLGtCQUFrQixDQUFDLFFBQVEsRUFBRTtnQkFDdEQsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsV0FBVyxFQUFFLE1BQUMsQ0FBQyxZQUFZLENBQ3pCLE1BQUM7cUJBQ0UsTUFBTSxDQUFDO29CQUNOLEtBQUssRUFBRSxNQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO3dCQUNsQixLQUFLLEVBQUUsY0FBYzt3QkFDckIsV0FBVyxFQUFFLGtDQUFrQztxQkFDaEQsQ0FBQztpQkFDSCxDQUFDO3FCQUNELElBQUksQ0FBQztvQkFDSixLQUFLLEVBQUUscUJBQXFCO29CQUM1QixXQUFXLEVBQUUsa0RBQWtEO2lCQUNoRSxDQUFDLEVBQ0osRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQ2hCO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDO0lBQ3JELENBQUM7SUFFTSxLQUFLLENBQUMsY0FBYyxDQUFDLEtBQWE7UUFDdkMsSUFBSSxDQUFDO1lBQ0gsTUFBTSxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQUM7Z0JB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
@@ -1,4 +1,4 @@
1
- import { PSAgentTool } from "../PSAgentTool";
1
+ import { PSAgentTool } from '../PSAgentTool';
2
2
  export declare class PSArtifactTool extends PSAgentTool {
3
3
  static TOOL_NAME: string;
4
4
  private readonly artifacts;
@@ -15,32 +15,32 @@ The input is a JSON object with the following properties:
15
15
  The output will be a JSON object with the status and output result of the action.`,
16
16
  inputschema: {
17
17
  url: `http://localhost/${PSArtifactTool.TOOL_NAME}`,
18
- method: "POST",
18
+ method: 'POST',
19
19
  //title: `${PSArtifactTool.TOOL_NAME}_inputs`,
20
20
  //description: "Input for Artifact Tool",
21
21
  requestBody: {
22
- type: "object",
22
+ type: 'object',
23
23
  properties: {
24
24
  name: {
25
- type: "string",
26
- title: "name",
27
- description: "The name of the artifact",
25
+ type: 'string',
26
+ title: 'name',
27
+ description: 'The name of the artifact',
28
28
  },
29
29
  content: {
30
- type: "string",
31
- title: "content",
32
- description: "The content of the artifact",
30
+ type: 'string',
31
+ title: 'content',
32
+ description: 'The content of the artifact',
33
33
  },
34
34
  action: {
35
- type: "string",
36
- title: "action",
35
+ type: 'string',
36
+ title: 'action',
37
37
  description: "the action to perform on the content, either 'read' or 'write'",
38
- enum: ["read", "write"],
39
- }
38
+ enum: ['read', 'write'],
39
+ },
40
40
  },
41
- required: ["name", "action"]
42
- }
43
- }
41
+ required: ['name', 'action'],
42
+ },
43
+ },
44
44
  });
45
45
  this.artifacts = {};
46
46
  if (artifactsStore) {
@@ -51,29 +51,29 @@ The output will be a JSON object with the status and output result of the action
51
51
  const name = input.name;
52
52
  const action = input.action;
53
53
  if (!name || name.trim().length === 0) {
54
- throw new Error("name should not be empty");
54
+ throw new Error('name should not be empty');
55
55
  }
56
56
  const isExisting = this.artifacts[name];
57
- if (action === "read") {
57
+ if (action === 'read') {
58
58
  return {
59
- status: "success",
59
+ status: 'success',
60
60
  output: this.artifacts[name],
61
61
  };
62
62
  }
63
- else if (action == "write") {
63
+ else if (action == 'write') {
64
64
  const content = input.content || '';
65
65
  this.artifacts[name] = content;
66
66
  return {
67
- status: "success",
68
- output: `Artifact ${name} ${isExisting ? 'modified' : 'created'} with content length ${content.length}`
67
+ status: 'success',
68
+ output: `Artifact ${name} ${isExisting ? 'modified' : 'created'} with content length ${content.length}`,
69
69
  };
70
70
  }
71
71
  return {
72
- status: "error",
73
- output: `Invalid action ${input.action}, must be either 'read' or 'write'`
72
+ status: 'error',
73
+ output: `Invalid action ${input.action}, must be either 'read' or 'write'`,
74
74
  };
75
75
  }
76
76
  }
77
77
  exports.PSArtifactTool = PSArtifactTool;
78
- PSArtifactTool.TOOL_NAME = "artifact_tool";
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUFNBcnRpZmFjdFRvb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3Rvb2xzL1BTQXJ0aWZhY3RUb29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVEQUF1RDtBQUN2RCxnREFBNkM7QUFHN0MsTUFBYSxjQUFlLFNBQVEseUJBQVc7SUFHN0MsWUFBWSxjQUF1QztRQUNqRCxLQUFLLENBQUM7WUFDSixJQUFJLEVBQUUsY0FBYyxDQUFDLFNBQVM7WUFDOUIsV0FBVyxFQUFFLFlBQVksY0FBYyxDQUFDLFNBQVM7Ozs7O2tGQUsyQjtZQUM1RSxXQUFXLEVBQUU7Z0JBQ1gsR0FBRyxFQUFFLG9CQUFvQixjQUFjLENBQUMsU0FBUyxFQUFFO2dCQUNuRCxNQUFNLEVBQUUsTUFBTTtnQkFDZCw4Q0FBOEM7Z0JBQzlDLHlDQUF5QztnQkFDekMsV0FBVyxFQUFFO29CQUNYLElBQUksRUFBRSxRQUFRO29CQUNkLFVBQVUsRUFBRTt3QkFDVixJQUFJLEVBQUU7NEJBQ0osSUFBSSxFQUFFLFFBQVE7NEJBQ2QsS0FBSyxFQUFFLE1BQU07NEJBQ2IsV0FBVyxFQUFFLDBCQUEwQjt5QkFDeEM7d0JBQ0QsT0FBTyxFQUFFOzRCQUNQLElBQUksRUFBRSxRQUFROzRCQUNkLEtBQUssRUFBRSxTQUFTOzRCQUNoQixXQUFXLEVBQUUsNkJBQTZCO3lCQUMzQzt3QkFDRCxNQUFNLEVBQUU7NEJBQ04sSUFBSSxFQUFFLFFBQVE7NEJBQ2QsS0FBSyxFQUFFLFFBQVE7NEJBQ2YsV0FBVyxFQUFFLGdFQUFnRTs0QkFDN0UsSUFBSSxFQUFFLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQzt5QkFDeEI7cUJBQ0Y7b0JBQ0QsUUFBUSxFQUFFLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQztpQkFDN0I7YUFDRjtTQUNGLENBQUMsQ0FBQztRQXRDWSxjQUFTLEdBQTJCLEVBQUUsQ0FBQztRQXVDdEQsSUFBSSxjQUFjLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsU0FBUyxHQUFHLGNBQWMsQ0FBQztRQUNsQyxDQUFDO0lBQ0gsQ0FBQztJQUVlLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBMEI7UUFDbEQsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztRQUN4QixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQzVCLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN0QyxNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDOUMsQ0FBQztRQUNELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEMsSUFBSSxNQUFNLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDdEIsT0FBTztnQkFDTCxNQUFNLEVBQUMsU0FBUztnQkFDaEIsTUFBTSxFQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO2FBQzVCLENBQUE7UUFDSCxDQUFDO2FBQU0sSUFBSSxNQUFNLElBQUksT0FBTyxFQUFFLENBQUM7WUFDN0IsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUE7WUFDOUIsT0FBTztnQkFDTCxNQUFNLEVBQUUsU0FBUztnQkFDakIsTUFBTSxFQUFFLFlBQVksSUFBSSxJQUFJLFVBQVUsQ0FBQSxDQUFDLENBQUEsVUFBVSxDQUFBLENBQUMsQ0FBQSxTQUFTLHdCQUF3QixPQUFPLENBQUMsTUFBTSxFQUFFO2FBQ3BHLENBQUE7UUFDSCxDQUFDO1FBRUQsT0FBTztZQUNMLE1BQU0sRUFBRSxPQUFPO1lBQ2YsTUFBTSxFQUFFLGtCQUFrQixLQUFLLENBQUMsTUFBTSxvQ0FBb0M7U0FDM0UsQ0FBQTtJQUNILENBQUM7O0FBdkVILHdDQXdFQztBQXZFUSx3QkFBUyxHQUFHLGVBQWUsQUFBbEIsQ0FBbUIifQ==
78
+ PSArtifactTool.TOOL_NAME = 'artifact_tool';
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUFNBcnRpZmFjdFRvb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3Rvb2xzL1BTQXJ0aWZhY3RUb29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVEQUF1RDtBQUN2RCxnREFBNkM7QUFFN0MsTUFBYSxjQUFlLFNBQVEseUJBQVc7SUFHN0MsWUFBWSxjQUF1QztRQUNqRCxLQUFLLENBQUM7WUFDSixJQUFJLEVBQUUsY0FBYyxDQUFDLFNBQVM7WUFDOUIsV0FBVyxFQUFFLFlBQVksY0FBYyxDQUFDLFNBQVM7Ozs7O2tGQUsyQjtZQUM1RSxXQUFXLEVBQUU7Z0JBQ1gsR0FBRyxFQUFFLG9CQUFvQixjQUFjLENBQUMsU0FBUyxFQUFFO2dCQUNuRCxNQUFNLEVBQUUsTUFBTTtnQkFDZCw4Q0FBOEM7Z0JBQzlDLHlDQUF5QztnQkFDekMsV0FBVyxFQUFFO29CQUNYLElBQUksRUFBRSxRQUFRO29CQUNkLFVBQVUsRUFBRTt3QkFDVixJQUFJLEVBQUU7NEJBQ0osSUFBSSxFQUFFLFFBQVE7NEJBQ2QsS0FBSyxFQUFFLE1BQU07NEJBQ2IsV0FBVyxFQUFFLDBCQUEwQjt5QkFDeEM7d0JBQ0QsT0FBTyxFQUFFOzRCQUNQLElBQUksRUFBRSxRQUFROzRCQUNkLEtBQUssRUFBRSxTQUFTOzRCQUNoQixXQUFXLEVBQUUsNkJBQTZCO3lCQUMzQzt3QkFDRCxNQUFNLEVBQUU7NEJBQ04sSUFBSSxFQUFFLFFBQVE7NEJBQ2QsS0FBSyxFQUFFLFFBQVE7NEJBQ2YsV0FBVyxFQUNULGdFQUFnRTs0QkFDbEUsSUFBSSxFQUFFLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQzt5QkFDeEI7cUJBQ0Y7b0JBQ0QsUUFBUSxFQUFFLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQztpQkFDN0I7YUFDRjtTQUNGLENBQUMsQ0FBQztRQXZDWSxjQUFTLEdBQTJCLEVBQUUsQ0FBQztRQXdDdEQsSUFBSSxjQUFjLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsU0FBUyxHQUFHLGNBQWMsQ0FBQztRQUNsQyxDQUFDO0lBQ0gsQ0FBQztJQUVlLEtBQUssQ0FBQyxHQUFHLENBQ3ZCLEtBQTBCO1FBRTFCLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDeEIsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUM1QixJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdEMsTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFDRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLElBQUksTUFBTSxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQ3RCLE9BQU87Z0JBQ0wsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQzthQUM3QixDQUFDO1FBQ0osQ0FBQzthQUFNLElBQUksTUFBTSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQzdCLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDO1lBQy9CLE9BQU87Z0JBQ0wsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLE1BQU0sRUFBRSxZQUFZLElBQUksSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyx3QkFBd0IsT0FBTyxDQUFDLE1BQU0sRUFBRTthQUN4RyxDQUFDO1FBQ0osQ0FBQztRQUVELE9BQU87WUFDTCxNQUFNLEVBQUUsT0FBTztZQUNmLE1BQU0sRUFBRSxrQkFBa0IsS0FBSyxDQUFDLE1BQU0sb0NBQW9DO1NBQzNFLENBQUM7SUFDSixDQUFDOztBQTFFSCx3Q0EyRUM7QUExRVEsd0JBQVMsR0FBRyxlQUFlLEFBQWxCLENBQW1CIn0=
@@ -1,5 +1,5 @@
1
- import { PSAgentLogger } from "../PSAgentLogger";
2
- import { PSAgentTool } from "../PSAgentTool";
1
+ import { PSAgentLogger } from '../PSAgentLogger';
2
+ import { PSAgentTool } from '../PSAgentTool';
3
3
  export declare class PSCommandLineTool extends PSAgentTool {
4
4
  static readonly toolName = "run_commandline";
5
5
  private cwd;
@@ -10,29 +10,31 @@ class PSCommandLineTool extends PSAgentTool_1.PSAgentTool {
10
10
  constructor(options) {
11
11
  super({
12
12
  name: PSCommandLineTool.toolName,
13
- description: "executes a shell command in the command shell like bash.",
14
- type: "API",
13
+ description: 'executes a shell command in the command shell like bash.',
14
+ type: 'API',
15
15
  local_execution: true,
16
16
  hitl: true,
17
17
  inputschema: {
18
- url: "http://localhost/run_commandline",
19
- method: "POST",
20
- requestBody: v4_1.z.toJSONSchema(v4_1.z.object({
18
+ url: 'http://localhost/run_commandline',
19
+ method: 'POST',
20
+ requestBody: v4_1.z.toJSONSchema(v4_1.z
21
+ .object({
21
22
  command: v4_1.z.string().meta({
22
- title: "command",
23
- description: "The command to run in the bash command shell."
23
+ title: 'command',
24
+ description: 'The command to run in the bash command shell.',
24
25
  }),
25
- }).meta({
26
- title: "run_commandline_request_body",
27
- description: "The request body parameters for the run_commandline tool.",
28
- }), { "io": "input" }),
26
+ })
27
+ .meta({
28
+ title: 'run_commandline_request_body',
29
+ description: 'The request body parameters for the run_commandline tool.',
30
+ }), { io: 'input' }),
29
31
  },
30
32
  });
31
33
  this.cwd = options.cwd || process.cwd();
32
34
  }
33
35
  run(input, log) {
34
- if (!input.command || typeof input.command !== "string") {
35
- throw new Error("Invalid command provided.");
36
+ if (!input.command || typeof input.command !== 'string') {
37
+ throw new Error('Invalid command provided.');
36
38
  }
37
39
  const logger = log || console;
38
40
  return new Promise((resolve, reject) => {
@@ -40,13 +42,10 @@ class PSCommandLineTool extends PSAgentTool_1.PSAgentTool {
40
42
  try {
41
43
  logger.info(`🛠️ Running command: \`${command}\``);
42
44
  const output = (0, child_process_1.execSync)(command, { cwd: this.cwd, encoding: 'utf-8' });
43
- logger.info("```bash\n"
44
- + `> ${command}\n`
45
- + `${output}\n`
46
- + "```\n\n");
45
+ logger.info('```bash\n' + `> ${command}\n` + `${output}\n` + '```\n\n');
47
46
  return resolve({
48
47
  status: 'success',
49
- output: output || "Command executed successfully with no output.",
48
+ output: output || 'Command executed successfully with no output.',
50
49
  });
51
50
  }
52
51
  catch (error) {
@@ -56,7 +55,9 @@ class PSCommandLineTool extends PSAgentTool_1.PSAgentTool {
56
55
  reject(new Error(`Failed to execute command: ${command}. Error: ${error.message}`));
57
56
  }
58
57
  else if (sperr) {
59
- if (sperr.stderr !== '' && sperr.stderr !== undefined && sperr.stdout !== undefined) {
58
+ if (sperr.stderr !== '' &&
59
+ sperr.stderr !== undefined &&
60
+ sperr.stdout !== undefined) {
60
61
  reject(new Error(`${sperr.stderr}\n${sperr.stdout}\nexit code: ${sperr.status}`));
61
62
  }
62
63
  else
@@ -70,5 +71,5 @@ class PSCommandLineTool extends PSAgentTool_1.PSAgentTool {
70
71
  }
71
72
  }
72
73
  exports.PSCommandLineTool = PSCommandLineTool;
73
- PSCommandLineTool.toolName = "run_commandline";
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUFNDb21tYW5kTGluZVRvb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3Rvb2xzL1BTQ29tbWFuZExpbmVUb29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVEQUF1RDtBQUN2RCxpREFBMEQ7QUFFMUQsK0JBQTJCO0FBRzNCLGdEQUE2QztBQUM3Qyw4Q0FBZ0Q7QUFHaEQsTUFBYSxpQkFBa0IsU0FBUSx5QkFBVztJQUdqRCxZQUFZLE9BRVg7UUFDQSxLQUFLLENBQUM7WUFDTCxJQUFJLEVBQUUsaUJBQWlCLENBQUMsUUFBUTtZQUNoQyxXQUFXLEVBQUUsMERBQTBEO1lBQ3ZFLElBQUksRUFBRSxLQUFLO1lBQ1gsZUFBZSxFQUFFLElBQUk7WUFDckIsSUFBSSxFQUFFLElBQUk7WUFDVixXQUFXLEVBQUU7Z0JBQ1osR0FBRyxFQUFFLGtDQUFrQztnQkFDdkMsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsV0FBVyxFQUFFLE1BQUMsQ0FBQyxZQUFZLENBQUMsTUFBQyxDQUFDLE1BQU0sQ0FBQztvQkFDcEMsT0FBTyxFQUFFLE1BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUM7d0JBQ3hCLEtBQUssRUFBRSxTQUFTO3dCQUNoQixXQUFXLEVBQUUsK0NBQStDO3FCQUM1RCxDQUFDO2lCQUNGLENBQUMsQ0FBQyxJQUFJLENBQUM7b0JBQ1AsS0FBSyxFQUFFLDhCQUE4QjtvQkFDckMsV0FBVyxFQUFFLDJEQUEyRDtpQkFDeEUsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDO2FBQ3RCO1NBQ0QsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBQ00sR0FBRyxDQUFDLEtBQTBCLEVBQUUsR0FBbUI7UUFDekQsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksT0FBTyxLQUFLLENBQUMsT0FBTyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ3pELE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUM5QyxDQUFDO1FBQ0QsTUFBTSxNQUFNLEdBQUcsR0FBRyxJQUFJLE9BQU8sQ0FBQztRQUM5QixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3RDLE1BQU0sT0FBTyxHQUFHLElBQUEsc0JBQVksRUFBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDO2dCQUNKLE1BQU0sQ0FBQyxJQUFJLENBQUMsMEJBQTBCLE9BQU8sSUFBSSxDQUFDLENBQUM7Z0JBQ25ELE1BQU0sTUFBTSxHQUFHLElBQUEsd0JBQVEsRUFBQyxPQUFPLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztnQkFDdkUsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXO3NCQUNyQixLQUFLLE9BQU8sSUFBSTtzQkFDWixHQUFHLE1BQU0sSUFBSTtzQkFDYixTQUFTLENBQUMsQ0FBQztnQkFFakIsT0FBTyxPQUFPLENBQUM7b0JBQ2QsTUFBTSxFQUFFLFNBQVM7b0JBQ2pCLE1BQU0sRUFBRSxNQUFNLElBQUksK0NBQStDO2lCQUNqRSxDQUFDLENBQUM7WUFDSixDQUFDO1lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztnQkFDWixPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNyQixNQUFNLEtBQUssR0FBRyxLQUFpQyxDQUFDO2dCQUNwRCxJQUFJLEtBQUssWUFBWSxLQUFLLEVBQUUsQ0FBQztvQkFDNUIsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLDhCQUE4QixPQUFPLFlBQVksS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDckYsQ0FBQztxQkFBTSxJQUFJLEtBQUssRUFBRSxDQUFDO29CQUNiLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBRyxFQUFFLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBRyxTQUFTLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBRyxTQUFTLEVBQUUsQ0FBQzt3QkFDOUUsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUMsTUFBTSxnQkFBZ0IsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztvQkFDcEYsQ0FBQzs7d0JBQU0sTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLDhCQUE4QixPQUFPLGdCQUFnQixLQUFLLENBQUMsTUFBTSxZQUFZLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQzVILENBQUM7cUJBQU0sQ0FBQztvQkFDRixNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsOEJBQThCLE9BQU8sa0JBQWtCLENBQUMsQ0FBQyxDQUFDO2dCQUM3RSxDQUFDO1lBQ04sQ0FBQztRQUNGLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQzs7QUE3REYsOENBOERDO0FBN0R1QiwwQkFBUSxHQUFHLGlCQUFpQixDQUFDIn0=
74
+ PSCommandLineTool.toolName = 'run_commandline';
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUFNDb21tYW5kTGluZVRvb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3Rvb2xzL1BTQ29tbWFuZExpbmVUb29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVEQUF1RDtBQUN2RCxpREFBMkQ7QUFFM0QsK0JBQTJCO0FBRzNCLGdEQUE2QztBQUM3Qyw4Q0FBZ0Q7QUFFaEQsTUFBYSxpQkFBa0IsU0FBUSx5QkFBVztJQUdoRCxZQUFZLE9BQXdCO1FBQ2xDLEtBQUssQ0FBQztZQUNKLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxRQUFRO1lBQ2hDLFdBQVcsRUFBRSwwREFBMEQ7WUFDdkUsSUFBSSxFQUFFLEtBQUs7WUFDWCxlQUFlLEVBQUUsSUFBSTtZQUNyQixJQUFJLEVBQUUsSUFBSTtZQUNWLFdBQVcsRUFBRTtnQkFDWCxHQUFHLEVBQUUsa0NBQWtDO2dCQUN2QyxNQUFNLEVBQUUsTUFBTTtnQkFDZCxXQUFXLEVBQUUsTUFBQyxDQUFDLFlBQVksQ0FDekIsTUFBQztxQkFDRSxNQUFNLENBQUM7b0JBQ04sT0FBTyxFQUFFLE1BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUM7d0JBQ3ZCLEtBQUssRUFBRSxTQUFTO3dCQUNoQixXQUFXLEVBQUUsK0NBQStDO3FCQUM3RCxDQUFDO2lCQUNILENBQUM7cUJBQ0QsSUFBSSxDQUFDO29CQUNKLEtBQUssRUFBRSw4QkFBOEI7b0JBQ3JDLFdBQVcsRUFDVCwyREFBMkQ7aUJBQzlELENBQUMsRUFDSixFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FDaEI7YUFDRjtTQUNGLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUNNLEdBQUcsQ0FDUixLQUEwQixFQUMxQixHQUFtQjtRQUVuQixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxPQUFPLEtBQUssQ0FBQyxPQUFPLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDeEQsTUFBTSxJQUFJLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBQy9DLENBQUM7UUFDRCxNQUFNLE1BQU0sR0FBRyxHQUFHLElBQUksT0FBTyxDQUFDO1FBQzlCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDckMsTUFBTSxPQUFPLEdBQUcsSUFBQSxzQkFBWSxFQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM1QyxJQUFJLENBQUM7Z0JBQ0gsTUFBTSxDQUFDLElBQUksQ0FBQywwQkFBMEIsT0FBTyxJQUFJLENBQUMsQ0FBQztnQkFDbkQsTUFBTSxNQUFNLEdBQUcsSUFBQSx3QkFBUSxFQUFDLE9BQU8sRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO2dCQUN2RSxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLE9BQU8sSUFBSSxHQUFHLEdBQUcsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLENBQUM7Z0JBRXhFLE9BQU8sT0FBTyxDQUFDO29CQUNiLE1BQU0sRUFBRSxTQUFTO29CQUNqQixNQUFNLEVBQUUsTUFBTSxJQUFJLCtDQUErQztpQkFDbEUsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7Z0JBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDckIsTUFBTSxLQUFLLEdBQUcsS0FBaUMsQ0FBQztnQkFDaEQsSUFBSSxLQUFLLFlBQVksS0FBSyxFQUFFLENBQUM7b0JBQzNCLE1BQU0sQ0FDSixJQUFJLEtBQUssQ0FDUCw4QkFBOEIsT0FBTyxZQUFZLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FDakUsQ0FDRixDQUFDO2dCQUNKLENBQUM7cUJBQU0sSUFBSSxLQUFLLEVBQUUsQ0FBQztvQkFDakIsSUFDRSxLQUFLLENBQUMsTUFBTSxLQUFLLEVBQUU7d0JBQ25CLEtBQUssQ0FBQyxNQUFNLEtBQUssU0FBUzt3QkFDMUIsS0FBSyxDQUFDLE1BQU0sS0FBSyxTQUFTLEVBQzFCLENBQUM7d0JBQ0QsTUFBTSxDQUNKLElBQUksS0FBSyxDQUNQLEdBQUcsS0FBSyxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUMsTUFBTSxnQkFBZ0IsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUMvRCxDQUNGLENBQUM7b0JBQ0osQ0FBQzs7d0JBQ0MsTUFBTSxDQUNKLElBQUksS0FBSyxDQUNQLDhCQUE4QixPQUFPLGdCQUFnQixLQUFLLENBQUMsTUFBTSxZQUFZLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FDNUYsQ0FDRixDQUFDO2dCQUNOLENBQUM7cUJBQU0sQ0FBQztvQkFDTixNQUFNLENBQ0osSUFBSSxLQUFLLENBQUMsOEJBQThCLE9BQU8sa0JBQWtCLENBQUMsQ0FDbkUsQ0FBQztnQkFDSixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFwRkgsOENBcUZDO0FBcEZ3QiwwQkFBUSxHQUFHLGlCQUFpQixDQUFDIn0=
@@ -1,5 +1,5 @@
1
- import { PSAgentLogger } from "../PSAgentLogger";
2
- import { PSAgentTool } from "../PSAgentTool";
1
+ import { PSAgentLogger } from '../PSAgentLogger';
2
+ import { PSAgentTool } from '../PSAgentTool';
3
3
  export interface Memory {
4
4
  path: string;
5
5
  content?: string;