@sylix/coworker 2.0.12 → 2.0.15

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 (221) hide show
  1. package/LICENSE +99 -0
  2. package/dist/cli/index.d.ts.map +1 -1
  3. package/dist/cli/index.js +3 -8
  4. package/dist/cli/index.js.map +1 -1
  5. package/dist/commands/slash/mem.d.ts +3 -0
  6. package/dist/commands/slash/mem.d.ts.map +1 -0
  7. package/dist/commands/slash/mem.js +167 -0
  8. package/dist/commands/slash/mem.js.map +1 -0
  9. package/dist/commands/slash/registry.d.ts.map +1 -1
  10. package/dist/commands/slash/registry.js +2 -0
  11. package/dist/commands/slash/registry.js.map +1 -1
  12. package/dist/core/CoWorkerAgent.d.ts +4 -1
  13. package/dist/core/CoWorkerAgent.d.ts.map +1 -1
  14. package/dist/core/CoWorkerAgent.js +159 -12
  15. package/dist/core/CoWorkerAgent.js.map +1 -1
  16. package/dist/services/BrowserService.d.ts.map +1 -1
  17. package/dist/services/BrowserService.js +111 -0
  18. package/dist/services/BrowserService.js.map +1 -1
  19. package/dist/services/ChromeExtensionService.d.ts +63 -0
  20. package/dist/services/ChromeExtensionService.d.ts.map +1 -0
  21. package/dist/services/ChromeExtensionService.js +237 -0
  22. package/dist/services/ChromeExtensionService.js.map +1 -0
  23. package/dist/services/browser/browser-manager.d.ts +2 -0
  24. package/dist/services/browser/browser-manager.d.ts.map +1 -1
  25. package/dist/services/browser/browser-manager.js +13 -4
  26. package/dist/services/browser/browser-manager.js.map +1 -1
  27. package/dist/services/browser/protocol.d.ts +4 -4
  28. package/dist/services/browser/sandbox/quickjs-sandbox.d.ts.map +1 -1
  29. package/dist/services/browser/sandbox/quickjs-sandbox.js +71 -1
  30. package/dist/services/browser/sandbox/quickjs-sandbox.js.map +1 -1
  31. package/dist/services/compact/CompactService.d.ts +22 -0
  32. package/dist/services/compact/CompactService.d.ts.map +1 -0
  33. package/dist/services/compact/CompactService.js +156 -0
  34. package/dist/services/compact/CompactService.js.map +1 -0
  35. package/dist/session/db.d.ts +29 -0
  36. package/dist/session/db.d.ts.map +1 -1
  37. package/dist/session/db.js +74 -0
  38. package/dist/session/db.js.map +1 -1
  39. package/dist/tasks/LocalBashTask.d.ts +18 -0
  40. package/dist/tasks/LocalBashTask.d.ts.map +1 -0
  41. package/dist/tasks/LocalBashTask.js +83 -0
  42. package/dist/tasks/LocalBashTask.js.map +1 -0
  43. package/dist/tasks/Task.d.ts +34 -0
  44. package/dist/tasks/Task.d.ts.map +1 -0
  45. package/dist/tasks/Task.js +98 -0
  46. package/dist/tasks/Task.js.map +1 -0
  47. package/dist/tasks/diskOutput.d.ts +13 -0
  48. package/dist/tasks/diskOutput.d.ts.map +1 -0
  49. package/dist/tasks/diskOutput.js +168 -0
  50. package/dist/tasks/diskOutput.js.map +1 -0
  51. package/dist/tasks/index.d.ts +7 -0
  52. package/dist/tasks/index.d.ts.map +1 -0
  53. package/dist/tasks/index.js +19 -0
  54. package/dist/tasks/index.js.map +1 -0
  55. package/dist/tools/AgentTool.d.ts +41 -0
  56. package/dist/tools/AgentTool.d.ts.map +1 -0
  57. package/dist/tools/AgentTool.js +32 -0
  58. package/dist/tools/AgentTool.js.map +1 -0
  59. package/dist/tools/AskUserQuestionTool.d.ts +71 -0
  60. package/dist/tools/AskUserQuestionTool.d.ts.map +1 -0
  61. package/dist/tools/AskUserQuestionTool.js +33 -0
  62. package/dist/tools/AskUserQuestionTool.js.map +1 -0
  63. package/dist/tools/BashTool.d.ts +43 -0
  64. package/dist/tools/BashTool.d.ts.map +1 -0
  65. package/dist/tools/BashTool.js +97 -0
  66. package/dist/tools/BashTool.js.map +1 -0
  67. package/dist/tools/BriefTool.d.ts +23 -0
  68. package/dist/tools/BriefTool.d.ts.map +1 -0
  69. package/dist/tools/BriefTool.js +61 -0
  70. package/dist/tools/BriefTool.js.map +1 -0
  71. package/dist/tools/ConfigTool.d.ts +35 -0
  72. package/dist/tools/ConfigTool.d.ts.map +1 -0
  73. package/dist/tools/ConfigTool.js +81 -0
  74. package/dist/tools/ConfigTool.js.map +1 -0
  75. package/dist/tools/EnterPlanModeTool.d.ts +23 -0
  76. package/dist/tools/EnterPlanModeTool.d.ts.map +1 -0
  77. package/dist/tools/EnterPlanModeTool.js +21 -0
  78. package/dist/tools/EnterPlanModeTool.js.map +1 -0
  79. package/dist/tools/ExitPlanModeTool.d.ts +23 -0
  80. package/dist/tools/ExitPlanModeTool.d.ts.map +1 -0
  81. package/dist/tools/ExitPlanModeTool.js +21 -0
  82. package/dist/tools/ExitPlanModeTool.js.map +1 -0
  83. package/dist/tools/FileEditTool.d.ts +41 -0
  84. package/dist/tools/FileEditTool.d.ts.map +1 -0
  85. package/dist/tools/FileEditTool.js +81 -0
  86. package/dist/tools/FileEditTool.js.map +1 -0
  87. package/dist/tools/FileReadTool.d.ts +35 -0
  88. package/dist/tools/FileReadTool.d.ts.map +1 -0
  89. package/dist/tools/FileReadTool.js +74 -0
  90. package/dist/tools/FileReadTool.js.map +1 -0
  91. package/dist/tools/FileWriteTool.d.ts +29 -0
  92. package/dist/tools/FileWriteTool.d.ts.map +1 -0
  93. package/dist/tools/FileWriteTool.js +67 -0
  94. package/dist/tools/FileWriteTool.js.map +1 -0
  95. package/dist/tools/GlobTool.d.ts +30 -0
  96. package/dist/tools/GlobTool.d.ts.map +1 -0
  97. package/dist/tools/GlobTool.js +98 -0
  98. package/dist/tools/GlobTool.js.map +1 -0
  99. package/dist/tools/GrepTool.d.ts +36 -0
  100. package/dist/tools/GrepTool.d.ts.map +1 -0
  101. package/dist/tools/GrepTool.js +112 -0
  102. package/dist/tools/GrepTool.js.map +1 -0
  103. package/dist/tools/LSPToolWrapper.d.ts +42 -0
  104. package/dist/tools/LSPToolWrapper.d.ts.map +1 -0
  105. package/dist/tools/LSPToolWrapper.js +49 -0
  106. package/dist/tools/LSPToolWrapper.js.map +1 -0
  107. package/dist/tools/ListMcpResourcesTool.d.ts +11 -0
  108. package/dist/tools/ListMcpResourcesTool.d.ts.map +1 -0
  109. package/dist/tools/ListMcpResourcesTool.js +19 -0
  110. package/dist/tools/ListMcpResourcesTool.js.map +1 -0
  111. package/dist/tools/NotebookEditTool.d.ts +41 -0
  112. package/dist/tools/NotebookEditTool.d.ts.map +1 -0
  113. package/dist/tools/NotebookEditTool.js +30 -0
  114. package/dist/tools/NotebookEditTool.js.map +1 -0
  115. package/dist/tools/SchemaGenerator.d.ts +3 -0
  116. package/dist/tools/SchemaGenerator.d.ts.map +1 -0
  117. package/dist/tools/SchemaGenerator.js +69 -0
  118. package/dist/tools/SchemaGenerator.js.map +1 -0
  119. package/dist/tools/SkillTool.d.ts +29 -0
  120. package/dist/tools/SkillTool.d.ts.map +1 -0
  121. package/dist/tools/SkillTool.js +28 -0
  122. package/dist/tools/SkillTool.js.map +1 -0
  123. package/dist/tools/TaskCreateTool.d.ts +41 -0
  124. package/dist/tools/TaskCreateTool.d.ts.map +1 -0
  125. package/dist/tools/TaskCreateTool.js +67 -0
  126. package/dist/tools/TaskCreateTool.js.map +1 -0
  127. package/dist/tools/TaskGetTool.d.ts +23 -0
  128. package/dist/tools/TaskGetTool.d.ts.map +1 -0
  129. package/dist/tools/TaskGetTool.js +66 -0
  130. package/dist/tools/TaskGetTool.js.map +1 -0
  131. package/dist/tools/TaskListTool.d.ts +11 -0
  132. package/dist/tools/TaskListTool.d.ts.map +1 -0
  133. package/dist/tools/TaskListTool.js +64 -0
  134. package/dist/tools/TaskListTool.js.map +1 -0
  135. package/dist/tools/TaskOutputTool.d.ts +29 -0
  136. package/dist/tools/TaskOutputTool.d.ts.map +1 -0
  137. package/dist/tools/TaskOutputTool.js +66 -0
  138. package/dist/tools/TaskOutputTool.js.map +1 -0
  139. package/dist/tools/TaskStopTool.d.ts +23 -0
  140. package/dist/tools/TaskStopTool.d.ts.map +1 -0
  141. package/dist/tools/TaskStopTool.js +66 -0
  142. package/dist/tools/TaskStopTool.js.map +1 -0
  143. package/dist/tools/TaskUpdateTool.d.ts +79 -0
  144. package/dist/tools/TaskUpdateTool.d.ts.map +1 -0
  145. package/dist/tools/TaskUpdateTool.js +73 -0
  146. package/dist/tools/TaskUpdateTool.js.map +1 -0
  147. package/dist/tools/TodoWriteTool.d.ts +63 -0
  148. package/dist/tools/TodoWriteTool.d.ts.map +1 -0
  149. package/dist/tools/TodoWriteTool.js +79 -0
  150. package/dist/tools/TodoWriteTool.js.map +1 -0
  151. package/dist/tools/Tool.d.ts +32 -0
  152. package/dist/tools/Tool.d.ts.map +1 -0
  153. package/dist/tools/Tool.js +20 -0
  154. package/dist/tools/Tool.js.map +1 -0
  155. package/dist/tools/ToolContext.d.ts +12 -0
  156. package/dist/tools/ToolContext.d.ts.map +1 -0
  157. package/dist/tools/ToolContext.js +3 -0
  158. package/dist/tools/ToolContext.js.map +1 -0
  159. package/dist/tools/ToolSearchTool.d.ts +23 -0
  160. package/dist/tools/ToolSearchTool.d.ts.map +1 -0
  161. package/dist/tools/ToolSearchTool.js +62 -0
  162. package/dist/tools/ToolSearchTool.js.map +1 -0
  163. package/dist/tools/WebFetchTool.d.ts +29 -0
  164. package/dist/tools/WebFetchTool.d.ts.map +1 -0
  165. package/dist/tools/WebFetchTool.js +42 -0
  166. package/dist/tools/WebFetchTool.js.map +1 -0
  167. package/dist/tools/WebSearchTool.d.ts +23 -0
  168. package/dist/tools/WebSearchTool.d.ts.map +1 -0
  169. package/dist/tools/WebSearchTool.js +38 -0
  170. package/dist/tools/WebSearchTool.js.map +1 -0
  171. package/dist/tools/bash/readOnly.d.ts +7 -0
  172. package/dist/tools/bash/readOnly.d.ts.map +1 -0
  173. package/dist/tools/bash/readOnly.js +41 -0
  174. package/dist/tools/bash/readOnly.js.map +1 -0
  175. package/dist/tools/bash/sandbox.d.ts +3 -0
  176. package/dist/tools/bash/sandbox.d.ts.map +1 -0
  177. package/dist/tools/bash/sandbox.js +27 -0
  178. package/dist/tools/bash/sandbox.js.map +1 -0
  179. package/dist/tools/bash/semantic.d.ts +5 -0
  180. package/dist/tools/bash/semantic.d.ts.map +1 -0
  181. package/dist/tools/bash/semantic.js +106 -0
  182. package/dist/tools/bash/semantic.js.map +1 -0
  183. package/dist/tools/index.d.ts +26 -0
  184. package/dist/tools/index.d.ts.map +1 -0
  185. package/dist/tools/index.js +74 -0
  186. package/dist/tools/index.js.map +1 -0
  187. package/dist/utils/claudeInChrome/chromeNativeHost.d.ts +3 -0
  188. package/dist/utils/claudeInChrome/chromeNativeHost.d.ts.map +1 -0
  189. package/dist/utils/claudeInChrome/chromeNativeHost.js +376 -0
  190. package/dist/utils/claudeInChrome/chromeNativeHost.js.map +1 -0
  191. package/dist/utils/claudeInChrome/common.d.ts +32 -0
  192. package/dist/utils/claudeInChrome/common.d.ts.map +1 -0
  193. package/dist/utils/claudeInChrome/common.js +301 -0
  194. package/dist/utils/claudeInChrome/common.js.map +1 -0
  195. package/dist/utils/claudeInChrome/mcpServer.d.ts +2 -0
  196. package/dist/utils/claudeInChrome/mcpServer.d.ts.map +1 -0
  197. package/dist/utils/claudeInChrome/mcpServer.js +143 -0
  198. package/dist/utils/claudeInChrome/mcpServer.js.map +1 -0
  199. package/dist/utils/claudeInChrome/setup.d.ts +22 -0
  200. package/dist/utils/claudeInChrome/setup.d.ts.map +1 -0
  201. package/dist/utils/claudeInChrome/setup.js +202 -0
  202. package/dist/utils/claudeInChrome/setup.js.map +1 -0
  203. package/dist/utils/contextManager.d.ts +1 -1
  204. package/dist/utils/contextManager.d.ts.map +1 -1
  205. package/dist/utils/contextManager.js +1 -1
  206. package/dist/utils/contextManager.js.map +1 -1
  207. package/dist/utils/features.d.ts +3 -0
  208. package/dist/utils/features.d.ts.map +1 -0
  209. package/dist/utils/features.js +31 -0
  210. package/dist/utils/features.js.map +1 -0
  211. package/dist/utils/inputbar.d.ts +2 -2
  212. package/dist/utils/inputbar.d.ts.map +1 -1
  213. package/dist/utils/inputbar.js +7 -6
  214. package/dist/utils/inputbar.js.map +1 -1
  215. package/dist/utils/output.js +1 -1
  216. package/dist/utils/output.js.map +1 -1
  217. package/dist/utils/permissions.d.ts +18 -0
  218. package/dist/utils/permissions.d.ts.map +1 -0
  219. package/dist/utils/permissions.js +25 -0
  220. package/dist/utils/permissions.js.map +1 -0
  221. package/package.json +3 -2
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.FileReadTool = exports.FileReadInputSchema = void 0;
37
+ const zod_1 = require("zod");
38
+ const fs = __importStar(require("fs/promises"));
39
+ const path = __importStar(require("path"));
40
+ const Tool_1 = require("./Tool");
41
+ exports.FileReadInputSchema = zod_1.z.object({
42
+ file_path: zod_1.z.string().describe('Path to file to read'),
43
+ offset: zod_1.z.number().optional().describe('Line offset to start reading'),
44
+ limit: zod_1.z.number().optional().describe('Number of lines to read'),
45
+ });
46
+ class FileReadTool extends Tool_1.Tool {
47
+ constructor() {
48
+ super(...arguments);
49
+ this.name = 'Read';
50
+ this.description = 'Read the contents of a file';
51
+ this.inputSchema = exports.FileReadInputSchema;
52
+ }
53
+ async execute(ctx, input) {
54
+ try {
55
+ const { file_path, offset, limit } = input;
56
+ const fullPath = path.resolve(ctx.cwd, file_path);
57
+ let content = await fs.readFile(fullPath, 'utf-8');
58
+ const lines = content.split('\n');
59
+ const startLine = offset || 0;
60
+ const endLine = limit ? startLine + limit : lines.length;
61
+ const selectedLines = lines.slice(startLine, endLine);
62
+ content = selectedLines.join('\n');
63
+ if (endLine < lines.length) {
64
+ content += `\n... ${lines.length - endLine} more lines`;
65
+ }
66
+ return content;
67
+ }
68
+ catch (error) {
69
+ return `[Error] ${error.message}`;
70
+ }
71
+ }
72
+ }
73
+ exports.FileReadTool = FileReadTool;
74
+ //# sourceMappingURL=FileReadTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileReadTool.js","sourceRoot":"","sources":["../../src/tools/FileReadTool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6BAAwB;AACxB,gDAAkC;AAClC,2CAA6B;AAC7B,iCAAgD;AAEnC,QAAA,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC1C,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IACtD,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACtE,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;CACjE,CAAC,CAAC;AAIH,MAAa,YAAa,SAAQ,WAA2B;IAA7D;;QACE,SAAI,GAAG,MAAM,CAAC;QACd,gBAAW,GAAG,6BAA6B,CAAC;QAC5C,gBAAW,GAAG,2BAAmB,CAAC;IAyBpC,CAAC;IAvBC,KAAK,CAAC,OAAO,CAAC,GAAgB,EAAE,KAAoB;QAClD,IAAI,CAAC;YACH,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;YAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAElD,IAAI,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAEnD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,CAAC;YAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;YAEzD,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACtD,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEnC,IAAI,OAAO,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC3B,OAAO,IAAI,SAAS,KAAK,CAAC,MAAM,GAAG,OAAO,aAAa,CAAC;YAC1D,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,WAAW,KAAK,CAAC,OAAO,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;CACF;AA5BD,oCA4BC"}
@@ -0,0 +1,29 @@
1
+ import { z } from 'zod';
2
+ import { Tool, type ToolContext } from './Tool';
3
+ export declare const FileWriteInputSchema: z.ZodObject<{
4
+ file_path: z.ZodString;
5
+ content: z.ZodString;
6
+ }, "strip", z.ZodTypeAny, {
7
+ file_path?: string;
8
+ content?: string;
9
+ }, {
10
+ file_path?: string;
11
+ content?: string;
12
+ }>;
13
+ export type FileWriteInput = z.infer<typeof FileWriteInputSchema>;
14
+ export declare class FileWriteTool extends Tool<FileWriteInput, string> {
15
+ name: string;
16
+ description: string;
17
+ inputSchema: z.ZodObject<{
18
+ file_path: z.ZodString;
19
+ content: z.ZodString;
20
+ }, "strip", z.ZodTypeAny, {
21
+ file_path?: string;
22
+ content?: string;
23
+ }, {
24
+ file_path?: string;
25
+ content?: string;
26
+ }>;
27
+ execute(ctx: ToolContext, input: FileWriteInput): Promise<string>;
28
+ }
29
+ //# sourceMappingURL=FileWriteTool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileWriteTool.d.ts","sourceRoot":"","sources":["../../src/tools/FileWriteTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,IAAI,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAC;AAEhD,eAAO,MAAM,oBAAoB;;;;;;;;;EAG/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,qBAAa,aAAc,SAAQ,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC;IAC7D,IAAI,SAAW;IACf,WAAW,SAAqD;IAChE,WAAW;;;;;;;;;OAAwB;IAE7B,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;CAcxE"}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.FileWriteTool = exports.FileWriteInputSchema = void 0;
37
+ const zod_1 = require("zod");
38
+ const fs = __importStar(require("fs/promises"));
39
+ const path = __importStar(require("path"));
40
+ const Tool_1 = require("./Tool");
41
+ exports.FileWriteInputSchema = zod_1.z.object({
42
+ file_path: zod_1.z.string().describe('Path to file to write'),
43
+ content: zod_1.z.string().describe('Content to write to file'),
44
+ });
45
+ class FileWriteTool extends Tool_1.Tool {
46
+ constructor() {
47
+ super(...arguments);
48
+ this.name = 'Write';
49
+ this.description = 'Write content to a file (creates or overwrites)';
50
+ this.inputSchema = exports.FileWriteInputSchema;
51
+ }
52
+ async execute(ctx, input) {
53
+ try {
54
+ const { file_path, content } = input;
55
+ const fullPath = path.resolve(ctx.cwd, file_path);
56
+ const dir = path.dirname(fullPath);
57
+ await fs.mkdir(dir, { recursive: true });
58
+ await fs.writeFile(fullPath, content, 'utf-8');
59
+ return `[Done] Wrote ${file_path}`;
60
+ }
61
+ catch (error) {
62
+ return `[Error] ${error.message}`;
63
+ }
64
+ }
65
+ }
66
+ exports.FileWriteTool = FileWriteTool;
67
+ //# sourceMappingURL=FileWriteTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileWriteTool.js","sourceRoot":"","sources":["../../src/tools/FileWriteTool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6BAAwB;AACxB,gDAAkC;AAClC,2CAA6B;AAC7B,iCAAgD;AAEnC,QAAA,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3C,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IACvD,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;CACzD,CAAC,CAAC;AAIH,MAAa,aAAc,SAAQ,WAA4B;IAA/D;;QACE,SAAI,GAAG,OAAO,CAAC;QACf,gBAAW,GAAG,iDAAiD,CAAC;QAChE,gBAAW,GAAG,4BAAoB,CAAC;IAgBrC,CAAC;IAdC,KAAK,CAAC,OAAO,CAAC,GAAgB,EAAE,KAAqB;QACnD,IAAI,CAAC;YACH,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;YACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAElD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACnC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAEzC,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC/C,OAAO,gBAAgB,SAAS,EAAE,CAAC;QACrC,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,WAAW,KAAK,CAAC,OAAO,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;CACF;AAnBD,sCAmBC"}
@@ -0,0 +1,30 @@
1
+ import { z } from 'zod';
2
+ import { Tool, type ToolContext } from './Tool';
3
+ export declare const GlobInputSchema: z.ZodObject<{
4
+ pattern: z.ZodString;
5
+ path: z.ZodOptional<z.ZodString>;
6
+ }, "strip", z.ZodTypeAny, {
7
+ path?: string;
8
+ pattern?: string;
9
+ }, {
10
+ path?: string;
11
+ pattern?: string;
12
+ }>;
13
+ export type GlobInput = z.infer<typeof GlobInputSchema>;
14
+ export declare class GlobTool extends Tool<GlobInput, string> {
15
+ name: string;
16
+ description: string;
17
+ inputSchema: z.ZodObject<{
18
+ pattern: z.ZodString;
19
+ path: z.ZodOptional<z.ZodString>;
20
+ }, "strip", z.ZodTypeAny, {
21
+ path?: string;
22
+ pattern?: string;
23
+ }, {
24
+ path?: string;
25
+ pattern?: string;
26
+ }>;
27
+ execute(ctx: ToolContext, input: GlobInput): Promise<string>;
28
+ private glob;
29
+ }
30
+ //# sourceMappingURL=GlobTool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GlobTool.d.ts","sourceRoot":"","sources":["../../src/tools/GlobTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,IAAI,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAC;AAEhD,eAAO,MAAM,eAAe;;;;;;;;;EAG1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,qBAAa,QAAS,SAAQ,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC;IACnD,IAAI,SAAU;IACd,WAAW,SAAwC;IACnD,WAAW;;;;;;;;;OAAmB;IAExB,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;YAYpD,IAAI;CAqCnB"}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.GlobTool = exports.GlobInputSchema = void 0;
37
+ const zod_1 = require("zod");
38
+ const fs = __importStar(require("fs/promises"));
39
+ const path = __importStar(require("path"));
40
+ const Tool_1 = require("./Tool");
41
+ exports.GlobInputSchema = zod_1.z.object({
42
+ pattern: zod_1.z.string().describe('Glob pattern to match files (e.g., **/*.ts)'),
43
+ path: zod_1.z.string().optional().describe('Directory to search in'),
44
+ });
45
+ class GlobTool extends Tool_1.Tool {
46
+ constructor() {
47
+ super(...arguments);
48
+ this.name = 'Glob';
49
+ this.description = 'Find files matching a glob pattern';
50
+ this.inputSchema = exports.GlobInputSchema;
51
+ }
52
+ async execute(ctx, input) {
53
+ try {
54
+ const { pattern, path: searchPath } = input;
55
+ const baseDir = searchPath || ctx.cwd;
56
+ const results = await this.glob(baseDir, pattern);
57
+ return results.length > 0 ? results.join('\n') : 'No matches found.';
58
+ }
59
+ catch (error) {
60
+ return `[Error] ${error.message}`;
61
+ }
62
+ }
63
+ async glob(dir, pattern) {
64
+ const results = [];
65
+ const ignoreDirs = new Set(['node_modules', '.git', 'dist', 'build', 'out']);
66
+ const regexPattern = new RegExp('^' + pattern
67
+ .replace(/\*\*/g, '.*')
68
+ .replace(/\*/g, '[^/]*')
69
+ .replace(/\?/g, '.')
70
+ .replace(/\./g, '\\.') + '$', 'i');
71
+ async function walk(currentDir) {
72
+ let entries;
73
+ try {
74
+ entries = await fs.readdir(currentDir, { withFileTypes: true });
75
+ }
76
+ catch {
77
+ return;
78
+ }
79
+ for (const entry of entries) {
80
+ const fullPath = path.join(currentDir, entry.name);
81
+ if (entry.isDirectory()) {
82
+ if (!ignoreDirs.has(entry.name)) {
83
+ await walk(fullPath);
84
+ }
85
+ }
86
+ else if (entry.isFile()) {
87
+ if (regexPattern.test(entry.name)) {
88
+ results.push(fullPath);
89
+ }
90
+ }
91
+ }
92
+ }
93
+ await walk(dir);
94
+ return results;
95
+ }
96
+ }
97
+ exports.GlobTool = GlobTool;
98
+ //# sourceMappingURL=GlobTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GlobTool.js","sourceRoot":"","sources":["../../src/tools/GlobTool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import { z } from 'zod';
2
+ import { Tool, type ToolContext } from './Tool';
3
+ export declare const GrepInputSchema: z.ZodObject<{
4
+ pattern: z.ZodString;
5
+ path: z.ZodOptional<z.ZodString>;
6
+ include: z.ZodOptional<z.ZodString>;
7
+ }, "strip", z.ZodTypeAny, {
8
+ path?: string;
9
+ pattern?: string;
10
+ include?: string;
11
+ }, {
12
+ path?: string;
13
+ pattern?: string;
14
+ include?: string;
15
+ }>;
16
+ export type GrepInput = z.infer<typeof GrepInputSchema>;
17
+ export declare class GrepTool extends Tool<GrepInput, string> {
18
+ name: string;
19
+ description: string;
20
+ inputSchema: z.ZodObject<{
21
+ pattern: z.ZodString;
22
+ path: z.ZodOptional<z.ZodString>;
23
+ include: z.ZodOptional<z.ZodString>;
24
+ }, "strip", z.ZodTypeAny, {
25
+ path?: string;
26
+ pattern?: string;
27
+ include?: string;
28
+ }, {
29
+ path?: string;
30
+ pattern?: string;
31
+ include?: string;
32
+ }>;
33
+ execute(ctx: ToolContext, input: GrepInput): Promise<string>;
34
+ private findFiles;
35
+ }
36
+ //# sourceMappingURL=GrepTool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GrepTool.d.ts","sourceRoot":"","sources":["../../src/tools/GrepTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,IAAI,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAC;AAEhD,eAAO,MAAM,eAAe;;;;;;;;;;;;EAI1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,qBAAa,QAAS,SAAQ,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC;IACnD,IAAI,SAAU;IACd,WAAW,SAA+C;IAC1D,WAAW;;;;;;;;;;;;OAAmB;IAExB,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;YA4BpD,SAAS;CAgCxB"}
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.GrepTool = exports.GrepInputSchema = void 0;
37
+ const zod_1 = require("zod");
38
+ const fs = __importStar(require("fs/promises"));
39
+ const path = __importStar(require("path"));
40
+ const Tool_1 = require("./Tool");
41
+ exports.GrepInputSchema = zod_1.z.object({
42
+ pattern: zod_1.z.string().describe('Regex pattern to search for'),
43
+ path: zod_1.z.string().optional().describe('Directory to search in'),
44
+ include: zod_1.z.string().optional().describe('File pattern to include (e.g., *.ts)'),
45
+ });
46
+ class GrepTool extends Tool_1.Tool {
47
+ constructor() {
48
+ super(...arguments);
49
+ this.name = 'Grep';
50
+ this.description = 'Search file contents using regex patterns';
51
+ this.inputSchema = exports.GrepInputSchema;
52
+ }
53
+ async execute(ctx, input) {
54
+ try {
55
+ const { pattern, path: searchPath, include } = input;
56
+ const baseDir = searchPath || ctx.cwd;
57
+ const files = await this.findFiles(baseDir, include);
58
+ const regex = new RegExp(pattern, 'i');
59
+ const results = [];
60
+ for (const file of files) {
61
+ try {
62
+ const content = await fs.readFile(file, 'utf-8');
63
+ const lines = content.split('\n');
64
+ lines.forEach((line, index) => {
65
+ if (regex.test(line)) {
66
+ results.push(`${file}:${index + 1}: ${line.trim()}`);
67
+ }
68
+ });
69
+ }
70
+ catch {
71
+ }
72
+ }
73
+ return results.length > 0 ? results.join('\n') : 'No matches found.';
74
+ }
75
+ catch (error) {
76
+ return `[Error] ${error.message}`;
77
+ }
78
+ }
79
+ async findFiles(dir, include) {
80
+ const results = [];
81
+ const ignoreDirs = new Set(['node_modules', '.git', 'dist', 'build']);
82
+ const regexPattern = include
83
+ ? new RegExp('^' + include.replace(/\*/g, '.*').replace(/\?/g, '.') + '$', 'i')
84
+ : null;
85
+ async function walk(currentDir) {
86
+ let entries;
87
+ try {
88
+ entries = await fs.readdir(currentDir, { withFileTypes: true });
89
+ }
90
+ catch {
91
+ return;
92
+ }
93
+ for (const entry of entries) {
94
+ const fullPath = path.join(currentDir, entry.name);
95
+ if (entry.isDirectory()) {
96
+ if (!ignoreDirs.has(entry.name)) {
97
+ await walk(fullPath);
98
+ }
99
+ }
100
+ else if (entry.isFile()) {
101
+ if (!regexPattern || regexPattern.test(entry.name)) {
102
+ results.push(fullPath);
103
+ }
104
+ }
105
+ }
106
+ }
107
+ await walk(dir);
108
+ return results;
109
+ }
110
+ }
111
+ exports.GrepTool = GrepTool;
112
+ //# sourceMappingURL=GrepTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GrepTool.js","sourceRoot":"","sources":["../../src/tools/GrepTool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import { z } from 'zod';
2
+ import { Tool, type ToolContext } from './Tool';
3
+ export declare const LSPInputSchema: z.ZodObject<{
4
+ action: z.ZodEnum<["definition", "references"]>;
5
+ file_path: z.ZodString;
6
+ line: z.ZodNumber;
7
+ character: z.ZodNumber;
8
+ }, "strip", z.ZodTypeAny, {
9
+ file_path?: string;
10
+ line?: number;
11
+ character?: number;
12
+ action?: "definition" | "references";
13
+ }, {
14
+ file_path?: string;
15
+ line?: number;
16
+ character?: number;
17
+ action?: "definition" | "references";
18
+ }>;
19
+ export type LSPInput = z.infer<typeof LSPInputSchema>;
20
+ export declare class LSPTool extends Tool<LSPInput, string> {
21
+ name: string;
22
+ description: string;
23
+ inputSchema: z.ZodObject<{
24
+ action: z.ZodEnum<["definition", "references"]>;
25
+ file_path: z.ZodString;
26
+ line: z.ZodNumber;
27
+ character: z.ZodNumber;
28
+ }, "strip", z.ZodTypeAny, {
29
+ file_path?: string;
30
+ line?: number;
31
+ character?: number;
32
+ action?: "definition" | "references";
33
+ }, {
34
+ file_path?: string;
35
+ line?: number;
36
+ character?: number;
37
+ action?: "definition" | "references";
38
+ }>;
39
+ private client;
40
+ execute(ctx: ToolContext, input: LSPInput): Promise<string>;
41
+ }
42
+ //# sourceMappingURL=LSPToolWrapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LSPToolWrapper.d.ts","sourceRoot":"","sources":["../../src/tools/LSPToolWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAC;AAGhD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;EAKzB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD,qBAAa,OAAQ,SAAQ,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC;IACjD,IAAI,SAAS;IACb,WAAW,SAA2E;IACtF,WAAW;;;;;;;;;;;;;;;OAAkB;IAC7B,OAAO,CAAC,MAAM,CAA0B;IAElC,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;CA0BlE"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LSPTool = exports.LSPInputSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const Tool_1 = require("./Tool");
6
+ const LSPTool_1 = require("./LSPTool");
7
+ exports.LSPInputSchema = zod_1.z.object({
8
+ action: zod_1.z.enum(['definition', 'references']).describe('LSP action'),
9
+ file_path: zod_1.z.string().describe('File path'),
10
+ line: zod_1.z.number().describe('Line number'),
11
+ character: zod_1.z.number().describe('Character position'),
12
+ });
13
+ class LSPTool extends Tool_1.Tool {
14
+ constructor() {
15
+ super(...arguments);
16
+ this.name = 'LSP';
17
+ this.description = 'Language Server Protocol features (go to definition, find references)';
18
+ this.inputSchema = exports.LSPInputSchema;
19
+ this.client = null;
20
+ }
21
+ async execute(ctx, input) {
22
+ try {
23
+ if (!this.client) {
24
+ this.client = new LSPTool_1.LSPClient(ctx.cwd);
25
+ const started = await this.client.start();
26
+ if (!started) {
27
+ return '[Error] Failed to start LSP server';
28
+ }
29
+ }
30
+ switch (input.action) {
31
+ case 'definition': {
32
+ const result = await this.client.gotoDefinition(input.file_path, input.line, input.character);
33
+ return JSON.stringify(result, null, 2);
34
+ }
35
+ case 'references': {
36
+ const result = await this.client.findReferences(input.file_path, input.line, input.character);
37
+ return JSON.stringify(result, null, 2);
38
+ }
39
+ default:
40
+ return '[Error] Invalid action';
41
+ }
42
+ }
43
+ catch (error) {
44
+ return `[Error] ${error.message}`;
45
+ }
46
+ }
47
+ }
48
+ exports.LSPTool = LSPTool;
49
+ //# sourceMappingURL=LSPToolWrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LSPToolWrapper.js","sourceRoot":"","sources":["../../src/tools/LSPToolWrapper.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,iCAAgD;AAChD,uCAAsC;AAEzB,QAAA,cAAc,GAAG,OAAC,CAAC,MAAM,CAAC;IACrC,MAAM,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;IACnE,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC3C,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;IACxC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;CACrD,CAAC,CAAC;AAIH,MAAa,OAAQ,SAAQ,WAAsB;IAAnD;;QACE,SAAI,GAAG,KAAK,CAAC;QACb,gBAAW,GAAG,uEAAuE,CAAC;QACtF,gBAAW,GAAG,sBAAc,CAAC;QACrB,WAAM,GAAqB,IAAI,CAAC;IA4B1C,CAAC;IA1BC,KAAK,CAAC,OAAO,CAAC,GAAgB,EAAE,KAAe;QAC7C,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjB,IAAI,CAAC,MAAM,GAAG,IAAI,mBAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACrC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,oCAAoC,CAAC;gBAC9C,CAAC;YACH,CAAC;YAED,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;gBACrB,KAAK,YAAY,CAAC,CAAC,CAAC;oBAClB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;oBAC9F,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACzC,CAAC;gBACD,KAAK,YAAY,CAAC,CAAC,CAAC;oBAClB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;oBAC9F,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACzC,CAAC;gBACD;oBACE,OAAO,wBAAwB,CAAC;YACpC,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,WAAW,KAAK,CAAC,OAAO,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;CACF;AAhCD,0BAgCC"}
@@ -0,0 +1,11 @@
1
+ import { z } from 'zod';
2
+ import { Tool, type ToolContext } from './Tool';
3
+ export declare const ListMcpResourcesInputSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
4
+ export type ListMcpResourcesInput = z.infer<typeof ListMcpResourcesInputSchema>;
5
+ export declare class ListMcpResourcesTool extends Tool<ListMcpResourcesInput, string> {
6
+ name: string;
7
+ description: string;
8
+ inputSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
9
+ execute(ctx: ToolContext, input: ListMcpResourcesInput): Promise<string>;
10
+ }
11
+ //# sourceMappingURL=ListMcpResourcesTool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListMcpResourcesTool.d.ts","sourceRoot":"","sources":["../../src/tools/ListMcpResourcesTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAC;AAEhD,eAAO,MAAM,2BAA2B,gDAAe,CAAC;AAExD,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,qBAAa,oBAAqB,SAAQ,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC;IAC3E,IAAI,SAAsB;IAC1B,WAAW,SAAyC;IACpD,WAAW,iDAA+B;IAEpC,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;CAG/E"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ListMcpResourcesTool = exports.ListMcpResourcesInputSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const Tool_1 = require("./Tool");
6
+ exports.ListMcpResourcesInputSchema = zod_1.z.object({});
7
+ class ListMcpResourcesTool extends Tool_1.Tool {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.name = 'ListMcpResources';
11
+ this.description = 'List available MCP server resources';
12
+ this.inputSchema = exports.ListMcpResourcesInputSchema;
13
+ }
14
+ async execute(ctx, input) {
15
+ return 'No MCP resources available. Configure MCP servers in settings.';
16
+ }
17
+ }
18
+ exports.ListMcpResourcesTool = ListMcpResourcesTool;
19
+ //# sourceMappingURL=ListMcpResourcesTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListMcpResourcesTool.js","sourceRoot":"","sources":["../../src/tools/ListMcpResourcesTool.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,iCAAgD;AAEnC,QAAA,2BAA2B,GAAG,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAIxD,MAAa,oBAAqB,SAAQ,WAAmC;IAA7E;;QACE,SAAI,GAAG,kBAAkB,CAAC;QAC1B,gBAAW,GAAG,qCAAqC,CAAC;QACpD,gBAAW,GAAG,mCAA2B,CAAC;IAK5C,CAAC;IAHC,KAAK,CAAC,OAAO,CAAC,GAAgB,EAAE,KAA4B;QAC1D,OAAO,gEAAgE,CAAC;IAC1E,CAAC;CACF;AARD,oDAQC"}