linguclaw 0.4.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 (168) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +161 -0
  3. package/dist/agent-system.d.ts +196 -0
  4. package/dist/agent-system.d.ts.map +1 -0
  5. package/dist/agent-system.js +738 -0
  6. package/dist/agent-system.js.map +1 -0
  7. package/dist/alphabeta.d.ts +54 -0
  8. package/dist/alphabeta.d.ts.map +1 -0
  9. package/dist/alphabeta.js +193 -0
  10. package/dist/alphabeta.js.map +1 -0
  11. package/dist/browser.d.ts +62 -0
  12. package/dist/browser.d.ts.map +1 -0
  13. package/dist/browser.js +224 -0
  14. package/dist/browser.js.map +1 -0
  15. package/dist/cli.d.ts +7 -0
  16. package/dist/cli.d.ts.map +1 -0
  17. package/dist/cli.js +565 -0
  18. package/dist/cli.js.map +1 -0
  19. package/dist/code-parser.d.ts +39 -0
  20. package/dist/code-parser.d.ts.map +1 -0
  21. package/dist/code-parser.js +385 -0
  22. package/dist/code-parser.js.map +1 -0
  23. package/dist/config.d.ts +66 -0
  24. package/dist/config.d.ts.map +1 -0
  25. package/dist/config.js +232 -0
  26. package/dist/config.js.map +1 -0
  27. package/dist/core/engine.d.ts +359 -0
  28. package/dist/core/engine.d.ts.map +1 -0
  29. package/dist/core/engine.js +127 -0
  30. package/dist/core/engine.js.map +1 -0
  31. package/dist/daemon.d.ts +29 -0
  32. package/dist/daemon.d.ts.map +1 -0
  33. package/dist/daemon.js +212 -0
  34. package/dist/daemon.js.map +1 -0
  35. package/dist/email-receiver.d.ts +63 -0
  36. package/dist/email-receiver.d.ts.map +1 -0
  37. package/dist/email-receiver.js +553 -0
  38. package/dist/email-receiver.js.map +1 -0
  39. package/dist/git-integration.d.ts +180 -0
  40. package/dist/git-integration.d.ts.map +1 -0
  41. package/dist/git-integration.js +850 -0
  42. package/dist/git-integration.js.map +1 -0
  43. package/dist/inbox.d.ts +84 -0
  44. package/dist/inbox.d.ts.map +1 -0
  45. package/dist/inbox.js +198 -0
  46. package/dist/inbox.js.map +1 -0
  47. package/dist/index.d.ts +6 -0
  48. package/dist/index.d.ts.map +1 -0
  49. package/dist/index.js +41 -0
  50. package/dist/index.js.map +1 -0
  51. package/dist/languages/cpp.d.ts +51 -0
  52. package/dist/languages/cpp.d.ts.map +1 -0
  53. package/dist/languages/cpp.js +930 -0
  54. package/dist/languages/cpp.js.map +1 -0
  55. package/dist/languages/csharp.d.ts +79 -0
  56. package/dist/languages/csharp.d.ts.map +1 -0
  57. package/dist/languages/csharp.js +1776 -0
  58. package/dist/languages/csharp.js.map +1 -0
  59. package/dist/languages/go.d.ts +50 -0
  60. package/dist/languages/go.d.ts.map +1 -0
  61. package/dist/languages/go.js +882 -0
  62. package/dist/languages/go.js.map +1 -0
  63. package/dist/languages/java.d.ts +47 -0
  64. package/dist/languages/java.d.ts.map +1 -0
  65. package/dist/languages/java.js +649 -0
  66. package/dist/languages/java.js.map +1 -0
  67. package/dist/languages/python.d.ts +47 -0
  68. package/dist/languages/python.d.ts.map +1 -0
  69. package/dist/languages/python.js +655 -0
  70. package/dist/languages/python.js.map +1 -0
  71. package/dist/languages/rust.d.ts +61 -0
  72. package/dist/languages/rust.d.ts.map +1 -0
  73. package/dist/languages/rust.js +1064 -0
  74. package/dist/languages/rust.js.map +1 -0
  75. package/dist/logger.d.ts +20 -0
  76. package/dist/logger.d.ts.map +1 -0
  77. package/dist/logger.js +133 -0
  78. package/dist/logger.js.map +1 -0
  79. package/dist/longterm-memory.d.ts +47 -0
  80. package/dist/longterm-memory.d.ts.map +1 -0
  81. package/dist/longterm-memory.js +300 -0
  82. package/dist/longterm-memory.js.map +1 -0
  83. package/dist/memory.d.ts +42 -0
  84. package/dist/memory.d.ts.map +1 -0
  85. package/dist/memory.js +274 -0
  86. package/dist/memory.js.map +1 -0
  87. package/dist/messaging.d.ts +103 -0
  88. package/dist/messaging.d.ts.map +1 -0
  89. package/dist/messaging.js +645 -0
  90. package/dist/messaging.js.map +1 -0
  91. package/dist/multi-provider.d.ts +69 -0
  92. package/dist/multi-provider.d.ts.map +1 -0
  93. package/dist/multi-provider.js +484 -0
  94. package/dist/multi-provider.js.map +1 -0
  95. package/dist/orchestrator.d.ts +65 -0
  96. package/dist/orchestrator.d.ts.map +1 -0
  97. package/dist/orchestrator.js +441 -0
  98. package/dist/orchestrator.js.map +1 -0
  99. package/dist/plugins.d.ts +52 -0
  100. package/dist/plugins.d.ts.map +1 -0
  101. package/dist/plugins.js +215 -0
  102. package/dist/plugins.js.map +1 -0
  103. package/dist/prism-orchestrator.d.ts +26 -0
  104. package/dist/prism-orchestrator.d.ts.map +1 -0
  105. package/dist/prism-orchestrator.js +191 -0
  106. package/dist/prism-orchestrator.js.map +1 -0
  107. package/dist/prism.d.ts +46 -0
  108. package/dist/prism.d.ts.map +1 -0
  109. package/dist/prism.js +188 -0
  110. package/dist/prism.js.map +1 -0
  111. package/dist/privacy.d.ts +23 -0
  112. package/dist/privacy.d.ts.map +1 -0
  113. package/dist/privacy.js +220 -0
  114. package/dist/privacy.js.map +1 -0
  115. package/dist/proactive.d.ts +30 -0
  116. package/dist/proactive.d.ts.map +1 -0
  117. package/dist/proactive.js +260 -0
  118. package/dist/proactive.js.map +1 -0
  119. package/dist/refactoring-engine.d.ts +100 -0
  120. package/dist/refactoring-engine.d.ts.map +1 -0
  121. package/dist/refactoring-engine.js +717 -0
  122. package/dist/refactoring-engine.js.map +1 -0
  123. package/dist/resilience.d.ts +43 -0
  124. package/dist/resilience.d.ts.map +1 -0
  125. package/dist/resilience.js +200 -0
  126. package/dist/resilience.js.map +1 -0
  127. package/dist/safety.d.ts +40 -0
  128. package/dist/safety.d.ts.map +1 -0
  129. package/dist/safety.js +133 -0
  130. package/dist/safety.js.map +1 -0
  131. package/dist/sandbox.d.ts +33 -0
  132. package/dist/sandbox.d.ts.map +1 -0
  133. package/dist/sandbox.js +173 -0
  134. package/dist/sandbox.js.map +1 -0
  135. package/dist/scheduler.d.ts +72 -0
  136. package/dist/scheduler.d.ts.map +1 -0
  137. package/dist/scheduler.js +374 -0
  138. package/dist/scheduler.js.map +1 -0
  139. package/dist/semantic-memory.d.ts +70 -0
  140. package/dist/semantic-memory.d.ts.map +1 -0
  141. package/dist/semantic-memory.js +430 -0
  142. package/dist/semantic-memory.js.map +1 -0
  143. package/dist/skills.d.ts +97 -0
  144. package/dist/skills.d.ts.map +1 -0
  145. package/dist/skills.js +575 -0
  146. package/dist/skills.js.map +1 -0
  147. package/dist/static/dashboard.html +853 -0
  148. package/dist/static/hub.html +772 -0
  149. package/dist/static/index.html +818 -0
  150. package/dist/static/logo.svg +24 -0
  151. package/dist/static/workflow-editor.html +913 -0
  152. package/dist/tools.d.ts +67 -0
  153. package/dist/tools.d.ts.map +1 -0
  154. package/dist/tools.js +303 -0
  155. package/dist/tools.js.map +1 -0
  156. package/dist/types.d.ts +295 -0
  157. package/dist/types.d.ts.map +1 -0
  158. package/dist/types.js +90 -0
  159. package/dist/types.js.map +1 -0
  160. package/dist/web.d.ts +76 -0
  161. package/dist/web.d.ts.map +1 -0
  162. package/dist/web.js +2139 -0
  163. package/dist/web.js.map +1 -0
  164. package/dist/workflow-engine.d.ts +114 -0
  165. package/dist/workflow-engine.d.ts.map +1 -0
  166. package/dist/workflow-engine.js +855 -0
  167. package/dist/workflow-engine.js.map +1 -0
  168. package/package.json +77 -0
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Containerized tools with Docker sandboxing
3
+ * TypeScript equivalent of Python tools.py
4
+ */
5
+ import { DockerSandbox } from './sandbox';
6
+ import { SafetyMiddleware, FallbackSafetyMode } from './safety';
7
+ import { CommandResult, FileResult } from './types';
8
+ export declare class ShellTool {
9
+ projectRoot: string;
10
+ safety: SafetyMiddleware;
11
+ sandbox: DockerSandbox | null;
12
+ fallback: FallbackSafetyMode | null;
13
+ private usingDocker;
14
+ constructor(projectRoot: string, useDocker?: boolean, safety?: SafetyMiddleware, fallbackConfirmed?: boolean);
15
+ /**
16
+ * Initialize Docker sandbox
17
+ */
18
+ init(): Promise<boolean>;
19
+ private initFallback;
20
+ /**
21
+ * Check if running in sandbox
22
+ */
23
+ get isSandboxed(): boolean;
24
+ /**
25
+ * Execute command in sandbox or fallback
26
+ */
27
+ run(command: string, timeout?: number): Promise<CommandResult>;
28
+ /**
29
+ * Cleanup sandbox resources
30
+ */
31
+ stop(): Promise<void>;
32
+ }
33
+ /**
34
+ * RAG-based semantic search over codebase memory
35
+ */
36
+ export declare class SearchMemoryTool {
37
+ private memory;
38
+ constructor(memory: any);
39
+ searchCodebase(query: string, k?: number): string;
40
+ getStats(): Record<string, any>;
41
+ }
42
+ /**
43
+ * Sandboxed filesystem operations
44
+ */
45
+ export declare class FileSystemTool {
46
+ root: string;
47
+ constructor(root: string);
48
+ /**
49
+ * Validate path is within root (prevents path traversal)
50
+ */
51
+ private validate;
52
+ private static readonly MAX_FILE_SIZE;
53
+ private static readonly MAX_DIR_ENTRIES;
54
+ /**
55
+ * Read file contents
56
+ */
57
+ read(filePath: string, limit?: number): FileResult;
58
+ /**
59
+ * Write file contents
60
+ */
61
+ write(filePath: string, content: string): FileResult;
62
+ /**
63
+ * List directory contents
64
+ */
65
+ listDir(dirPath?: string): FileResult;
66
+ }
67
+ //# sourceMappingURL=tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAiB,MAAM,SAAS,CAAC;AAMnE,qBAAa,SAAS;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;IAC9B,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACpC,OAAO,CAAC,WAAW,CAAU;gBAG3B,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,OAAc,EACzB,MAAM,CAAC,EAAE,gBAAgB,EACzB,iBAAiB,GAAE,OAAe;IAyBpC;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAkB9B,OAAO,CAAC,YAAY;IAKpB;;OAEG;IACH,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED;;OAEG;IACG,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,MAAW,GAAG,OAAO,CAAC,aAAa,CAAC;IAmExE;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAK5B;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAM;gBAER,MAAM,EAAE,GAAG;IAIvB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,GAAE,MAAU,GAAG,MAAM;IAOpD,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAGhC;AAED;;GAEG;AACH,qBAAa,cAAc;IACzB,IAAI,EAAE,MAAM,CAAC;gBAED,IAAI,EAAE,MAAM;IAOxB;;OAEG;IACH,OAAO,CAAC,QAAQ;IA6BhB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAoB;IACzD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAQ;IAE/C;;OAEG;IACH,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU;IA2BlD;;OAEG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU;IAiBpD;;OAEG;IACH,OAAO,CAAC,OAAO,GAAE,MAAY,GAAG,UAAU;CA4B3C"}
package/dist/tools.js ADDED
@@ -0,0 +1,303 @@
1
+ "use strict";
2
+ /**
3
+ * Containerized tools with Docker sandboxing
4
+ * TypeScript equivalent of Python tools.py
5
+ */
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.FileSystemTool = exports.SearchMemoryTool = exports.ShellTool = void 0;
11
+ const path_1 = __importDefault(require("path"));
12
+ const fs_1 = __importDefault(require("fs"));
13
+ const util_1 = require("util");
14
+ const child_process_1 = require("child_process");
15
+ const sandbox_1 = require("./sandbox");
16
+ const safety_1 = require("./safety");
17
+ const logger_1 = require("./logger");
18
+ const execAsync = (0, util_1.promisify)(child_process_1.exec);
19
+ const logger = (0, logger_1.getLogger)();
20
+ class ShellTool {
21
+ projectRoot;
22
+ safety;
23
+ sandbox;
24
+ fallback;
25
+ usingDocker;
26
+ constructor(projectRoot, useDocker = true, safety, fallbackConfirmed = false) {
27
+ this.projectRoot = path_1.default.resolve(projectRoot);
28
+ this.safety = safety || new safety_1.SafetyMiddleware();
29
+ this.sandbox = null;
30
+ this.fallback = null;
31
+ this.usingDocker = false;
32
+ // Ensure project directory exists
33
+ if (!fs_1.default.existsSync(this.projectRoot)) {
34
+ fs_1.default.mkdirSync(this.projectRoot, { recursive: true });
35
+ }
36
+ if (useDocker) {
37
+ this.sandbox = new sandbox_1.DockerSandbox({
38
+ image: 'alpine:latest',
39
+ memory_limit: '512m',
40
+ cpu_limit: 0.5,
41
+ auto_remove: true,
42
+ });
43
+ }
44
+ else {
45
+ this.initFallback(fallbackConfirmed);
46
+ }
47
+ }
48
+ /**
49
+ * Initialize Docker sandbox
50
+ */
51
+ async init() {
52
+ if (this.sandbox) {
53
+ const available = await this.sandbox.checkAvailability();
54
+ if (available) {
55
+ const started = await this.sandbox.start(this.projectRoot);
56
+ if (started) {
57
+ this.usingDocker = true;
58
+ logger.info('Using Docker sandbox');
59
+ return true;
60
+ }
61
+ }
62
+ logger.warn('Docker available but sandbox start failed');
63
+ }
64
+ this.initFallback(false);
65
+ return false;
66
+ }
67
+ initFallback(confirmed) {
68
+ this.fallback = new safety_1.FallbackSafetyMode(this.safety, confirmed);
69
+ logger.warn('Docker unavailable - using strict safety fallback');
70
+ }
71
+ /**
72
+ * Check if running in sandbox
73
+ */
74
+ get isSandboxed() {
75
+ return this.usingDocker && this.sandbox !== null;
76
+ }
77
+ /**
78
+ * Execute command in sandbox or fallback
79
+ */
80
+ async run(command, timeout = 60) {
81
+ if (this.isSandboxed && this.sandbox) {
82
+ // Docker sandboxed execution
83
+ try {
84
+ const result = await this.sandbox.exec(command);
85
+ return {
86
+ stdout: result.stdout,
87
+ stderr: result.stderr,
88
+ returncode: result.exit_code,
89
+ sandboxed: true,
90
+ };
91
+ }
92
+ catch (error) {
93
+ return {
94
+ stdout: '',
95
+ stderr: `Sandbox error: ${error.message}`,
96
+ returncode: -1,
97
+ sandboxed: true,
98
+ };
99
+ }
100
+ }
101
+ else if (this.fallback) {
102
+ // Strict safety fallback
103
+ const allowed = this.fallback.check(command);
104
+ if (!allowed.allowed) {
105
+ // Try to get explicit confirmation
106
+ if (this.fallback.promptConfirmation(command)) {
107
+ // Proceed with execution
108
+ }
109
+ else {
110
+ return {
111
+ stdout: '',
112
+ stderr: `STRICT SAFETY BLOCKED: ${allowed.reason}`,
113
+ returncode: -1,
114
+ sandboxed: false,
115
+ };
116
+ }
117
+ }
118
+ // Execute with basic subprocess
119
+ try {
120
+ const { stdout, stderr } = await execAsync(command, {
121
+ cwd: this.projectRoot,
122
+ timeout: timeout * 1000,
123
+ });
124
+ return {
125
+ stdout: stdout || '',
126
+ stderr: stderr || '',
127
+ returncode: 0,
128
+ sandboxed: false,
129
+ };
130
+ }
131
+ catch (error) {
132
+ return {
133
+ stdout: '',
134
+ stderr: error.stderr || error.message,
135
+ returncode: error.code || -1,
136
+ sandboxed: false,
137
+ };
138
+ }
139
+ }
140
+ return {
141
+ stdout: '',
142
+ stderr: 'No execution method available',
143
+ returncode: -1,
144
+ sandboxed: false,
145
+ };
146
+ }
147
+ /**
148
+ * Cleanup sandbox resources
149
+ */
150
+ async stop() {
151
+ if (this.sandbox) {
152
+ await this.sandbox.stop();
153
+ }
154
+ }
155
+ }
156
+ exports.ShellTool = ShellTool;
157
+ /**
158
+ * RAG-based semantic search over codebase memory
159
+ */
160
+ class SearchMemoryTool {
161
+ memory; // RAGMemory type would be imported
162
+ constructor(memory) {
163
+ this.memory = memory;
164
+ }
165
+ searchCodebase(query, k = 5) {
166
+ if (!this.memory.available) {
167
+ return '[Memory unavailable - RAG system offline]';
168
+ }
169
+ return this.memory.search(query, k);
170
+ }
171
+ getStats() {
172
+ return this.memory.getStats();
173
+ }
174
+ }
175
+ exports.SearchMemoryTool = SearchMemoryTool;
176
+ /**
177
+ * Sandboxed filesystem operations
178
+ */
179
+ class FileSystemTool {
180
+ root;
181
+ constructor(root) {
182
+ this.root = path_1.default.resolve(root);
183
+ if (!fs_1.default.existsSync(this.root)) {
184
+ fs_1.default.mkdirSync(this.root, { recursive: true });
185
+ }
186
+ }
187
+ /**
188
+ * Validate path is within root (prevents path traversal)
189
+ */
190
+ validate(targetPath) {
191
+ const target = path_1.default.resolve(this.root, targetPath);
192
+ const realRoot = fs_1.default.realpathSync(this.root);
193
+ // Resolve symlinks to prevent traversal via symlinks
194
+ let realTarget;
195
+ try {
196
+ realTarget = fs_1.default.realpathSync(target);
197
+ }
198
+ catch {
199
+ // File may not exist yet (for write), check parent
200
+ const parent = path_1.default.dirname(target);
201
+ try {
202
+ const realParent = fs_1.default.realpathSync(parent);
203
+ if (!realParent.startsWith(realRoot)) {
204
+ throw new Error(`Access denied: ${targetPath} outside project root`);
205
+ }
206
+ }
207
+ catch {
208
+ // Parent doesn't exist either, just check resolved path
209
+ if (!target.startsWith(realRoot)) {
210
+ throw new Error(`Access denied: ${targetPath} outside project root`);
211
+ }
212
+ }
213
+ return target;
214
+ }
215
+ if (!realTarget.startsWith(realRoot)) {
216
+ throw new Error(`Access denied: ${targetPath} outside project root`);
217
+ }
218
+ return realTarget;
219
+ }
220
+ static MAX_FILE_SIZE = 10 * 1024 * 1024; // 10MB
221
+ static MAX_DIR_ENTRIES = 5000;
222
+ /**
223
+ * Read file contents
224
+ */
225
+ read(filePath, limit) {
226
+ try {
227
+ const target = this.validate(filePath);
228
+ if (!fs_1.default.existsSync(target)) {
229
+ return { success: false, error: `Not found: ${filePath}` };
230
+ }
231
+ const stat = fs_1.default.statSync(target);
232
+ if (!stat.isFile()) {
233
+ return { success: false, error: `Not a file: ${filePath}` };
234
+ }
235
+ if (stat.size > FileSystemTool.MAX_FILE_SIZE) {
236
+ return { success: false, error: `File too large (${Math.round(stat.size / 1024 / 1024)}MB > 10MB limit)` };
237
+ }
238
+ let content = fs_1.default.readFileSync(target, 'utf-8');
239
+ if (limit && content.length > limit) {
240
+ content = content.slice(0, limit) + `\n... (${content.length - limit} more)`;
241
+ }
242
+ return { success: true, content };
243
+ }
244
+ catch (error) {
245
+ if (error.message.includes('Access denied')) {
246
+ return { success: false, error: error.message };
247
+ }
248
+ return { success: false, error: `Read error: ${error.message}` };
249
+ }
250
+ }
251
+ /**
252
+ * Write file contents
253
+ */
254
+ write(filePath, content) {
255
+ try {
256
+ const target = this.validate(filePath);
257
+ const dir = path_1.default.dirname(target);
258
+ if (!fs_1.default.existsSync(dir)) {
259
+ fs_1.default.mkdirSync(dir, { recursive: true });
260
+ }
261
+ fs_1.default.writeFileSync(target, content, 'utf-8');
262
+ return { success: true };
263
+ }
264
+ catch (error) {
265
+ if (error.message.includes('Access denied')) {
266
+ return { success: false, error: error.message };
267
+ }
268
+ return { success: false, error: `Write error: ${error.message}` };
269
+ }
270
+ }
271
+ /**
272
+ * List directory contents
273
+ */
274
+ listDir(dirPath = '.') {
275
+ try {
276
+ const target = this.validate(dirPath);
277
+ if (!fs_1.default.existsSync(target)) {
278
+ return { success: false, error: `Not found: ${dirPath}` };
279
+ }
280
+ if (!fs_1.default.statSync(target).isDirectory()) {
281
+ return { success: false, error: `Not a directory: ${dirPath}` };
282
+ }
283
+ const entries = fs_1.default.readdirSync(target);
284
+ if (entries.length > FileSystemTool.MAX_DIR_ENTRIES) {
285
+ return { success: false, error: `Directory has ${entries.length} entries (limit: ${FileSystemTool.MAX_DIR_ENTRIES})` };
286
+ }
287
+ const formatted = entries.map(e => {
288
+ const fullPath = path_1.default.join(target, e);
289
+ const isDir = fs_1.default.statSync(fullPath).isDirectory();
290
+ return `${isDir ? '[dir]' : '[file]'} ${e}`;
291
+ });
292
+ return { success: true, content: formatted.sort().join('\n') };
293
+ }
294
+ catch (error) {
295
+ if (error.message.includes('Access denied')) {
296
+ return { success: false, error: error.message };
297
+ }
298
+ return { success: false, error: `List error: ${error.message}` };
299
+ }
300
+ }
301
+ }
302
+ exports.FileSystemTool = FileSystemTool;
303
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;AAEH,gDAAwB;AACxB,4CAAoB;AACpB,+BAAiC;AACjC,iDAAqD;AACrD,uCAA0C;AAC1C,qCAAgE;AAEhE,qCAAqC;AAErC,MAAM,SAAS,GAAG,IAAA,gBAAS,EAAC,oBAAY,CAAC,CAAC;AAC1C,MAAM,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;AAE3B,MAAa,SAAS;IACpB,WAAW,CAAS;IACpB,MAAM,CAAmB;IACzB,OAAO,CAAuB;IAC9B,QAAQ,CAA4B;IAC5B,WAAW,CAAU;IAE7B,YACE,WAAmB,EACnB,YAAqB,IAAI,EACzB,MAAyB,EACzB,oBAA6B,KAAK;QAElC,IAAI,CAAC,WAAW,GAAG,cAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,yBAAgB,EAAE,CAAC;QAC/C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAEzB,kCAAkC;QAClC,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACrC,YAAE,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,OAAO,GAAG,IAAI,uBAAa,CAAC;gBAC/B,KAAK,EAAE,eAAe;gBACtB,YAAY,EAAE,MAAM;gBACpB,SAAS,EAAE,GAAG;gBACd,WAAW,EAAE,IAAI;aAClB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;YACzD,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC3D,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;oBACxB,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;oBACpC,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,YAAY,CAAC,SAAkB;QACrC,IAAI,CAAC,QAAQ,GAAG,IAAI,2BAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC/D,MAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;IACnE,CAAC;IAED;;OAEG;IACH,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,OAAe,EAAE,UAAkB,EAAE;QAC7C,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACrC,6BAA6B;YAC7B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAChD,OAAO;oBACL,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,UAAU,EAAE,MAAM,CAAC,SAAS;oBAC5B,SAAS,EAAE,IAAI;iBAChB,CAAC;YACJ,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,OAAO;oBACL,MAAM,EAAE,EAAE;oBACV,MAAM,EAAE,kBAAkB,KAAK,CAAC,OAAO,EAAE;oBACzC,UAAU,EAAE,CAAC,CAAC;oBACd,SAAS,EAAE,IAAI;iBAChB,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACzB,yBAAyB;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAE7C,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACrB,mCAAmC;gBACnC,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC9C,yBAAyB;gBAC3B,CAAC;qBAAM,CAAC;oBACN,OAAO;wBACL,MAAM,EAAE,EAAE;wBACV,MAAM,EAAE,0BAA0B,OAAO,CAAC,MAAM,EAAE;wBAClD,UAAU,EAAE,CAAC,CAAC;wBACd,SAAS,EAAE,KAAK;qBACjB,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,gCAAgC;YAChC,IAAI,CAAC;gBACH,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE;oBAClD,GAAG,EAAE,IAAI,CAAC,WAAW;oBACrB,OAAO,EAAE,OAAO,GAAG,IAAI;iBACxB,CAAC,CAAC;gBACH,OAAO;oBACL,MAAM,EAAE,MAAM,IAAI,EAAE;oBACpB,MAAM,EAAE,MAAM,IAAI,EAAE;oBACpB,UAAU,EAAE,CAAC;oBACb,SAAS,EAAE,KAAK;iBACjB,CAAC;YACJ,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,OAAO;oBACL,MAAM,EAAE,EAAE;oBACV,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO;oBACrC,UAAU,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;oBAC5B,SAAS,EAAE,KAAK;iBACjB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO;YACL,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,+BAA+B;YACvC,UAAU,EAAE,CAAC,CAAC;YACd,SAAS,EAAE,KAAK;SACjB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;CACF;AAnJD,8BAmJC;AAED;;GAEG;AACH,MAAa,gBAAgB;IACnB,MAAM,CAAM,CAAC,mCAAmC;IAExD,YAAY,MAAW;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,cAAc,CAAC,KAAa,EAAE,IAAY,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC3B,OAAO,2CAA2C,CAAC;QACrD,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC;CACF;AAjBD,4CAiBC;AAED;;GAEG;AACH,MAAa,cAAc;IACzB,IAAI,CAAS;IAEb,YAAY,IAAY;QACtB,IAAI,CAAC,IAAI,GAAG,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,YAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED;;OAEG;IACK,QAAQ,CAAC,UAAkB;QACjC,MAAM,MAAM,GAAG,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,YAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,qDAAqD;QACrD,IAAI,UAAkB,CAAC;QACvB,IAAI,CAAC;YACH,UAAU,GAAG,YAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,mDAAmD;YACnD,MAAM,MAAM,GAAG,cAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,YAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBAC3C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACrC,MAAM,IAAI,KAAK,CAAC,kBAAkB,UAAU,uBAAuB,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,wDAAwD;gBACxD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACjC,MAAM,IAAI,KAAK,CAAC,kBAAkB,UAAU,uBAAuB,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,kBAAkB,UAAU,uBAAuB,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,MAAM,CAAU,aAAa,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO;IACzD,MAAM,CAAU,eAAe,GAAG,IAAI,CAAC;IAE/C;;OAEG;IACH,IAAI,CAAC,QAAgB,EAAE,KAAc;QACnC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACvC,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,QAAQ,EAAE,EAAE,CAAC;YAC7D,CAAC;YACD,MAAM,IAAI,GAAG,YAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;gBACnB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,QAAQ,EAAE,EAAE,CAAC;YAC9D,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC,aAAa,EAAE,CAAC;gBAC7C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC7G,CAAC;YAED,IAAI,OAAO,GAAG,YAAE,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC/C,IAAI,KAAK,IAAI,OAAO,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;gBACpC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,UAAU,OAAO,CAAC,MAAM,GAAG,KAAK,QAAQ,CAAC;YAC/E,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACpC,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC5C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;YAClD,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QACnE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAgB,EAAE,OAAe;QACrC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACvC,MAAM,GAAG,GAAG,cAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACjC,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,YAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACzC,CAAC;YACD,YAAE,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC3C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC5C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;YAClD,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QACpE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,UAAkB,GAAG;QAC3B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACtC,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,OAAO,EAAE,EAAE,CAAC;YAC5D,CAAC;YACD,IAAI,CAAC,YAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;gBACvC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,OAAO,EAAE,EAAE,CAAC;YAClE,CAAC;YAED,MAAM,OAAO,GAAG,YAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACvC,IAAI,OAAO,CAAC,MAAM,GAAG,cAAc,CAAC,eAAe,EAAE,CAAC;gBACpD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,OAAO,CAAC,MAAM,oBAAoB,cAAc,CAAC,eAAe,GAAG,EAAE,CAAC;YACzH,CAAC;YACD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBAChC,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBACtC,MAAM,KAAK,GAAG,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;gBAClD,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC;YAC9C,CAAC,CAAC,CAAC;YAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACjE,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC5C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;YAClD,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QACnE,CAAC;IACH,CAAC;;AA7HH,wCA8HC"}
@@ -0,0 +1,295 @@
1
+ /**
2
+ * Core types and interfaces for LinguClaw
3
+ * Equivalent to Python dataclasses and type definitions
4
+ */
5
+ export interface Message {
6
+ role: 'system' | 'user' | 'assistant';
7
+ content: string;
8
+ }
9
+ export interface LLMResponse {
10
+ content: string;
11
+ usage?: {
12
+ prompt_tokens?: number;
13
+ completion_tokens?: number;
14
+ total_tokens?: number;
15
+ };
16
+ model: string;
17
+ finish_reason?: string | null;
18
+ error?: string | null;
19
+ }
20
+ export interface TokenBudget {
21
+ max_total: number;
22
+ used: number;
23
+ reserved: number;
24
+ threshold: number;
25
+ }
26
+ export declare enum ProviderType {
27
+ OPENROUTER = "openrouter",
28
+ OPENAI = "openai",
29
+ ANTHROPIC = "anthropic",
30
+ OLLAMA = "ollama",
31
+ LMSTUDIO = "lmstudio",
32
+ CUSTOM = "custom"
33
+ }
34
+ export declare enum AgentRole {
35
+ PLANNER = "planner",
36
+ EXECUTOR = "executor",
37
+ REVIEWER = "reviewer"
38
+ }
39
+ export declare enum StepStatus {
40
+ PENDING = "pending",
41
+ IN_PROGRESS = "in_progress",
42
+ COMPLETED = "completed",
43
+ FAILED = "failed",
44
+ RETRYING = "retrying"
45
+ }
46
+ export interface PlanStep {
47
+ id: string;
48
+ description: string;
49
+ agent: AgentRole;
50
+ status: StepStatus;
51
+ dependencies: string[];
52
+ result?: any;
53
+ error?: string | null;
54
+ retry_count: number;
55
+ max_retries: number;
56
+ }
57
+ export interface SharedState {
58
+ task: string;
59
+ plan: PlanStep[];
60
+ current_step_idx: number;
61
+ execution_log: ExecutionRecord[];
62
+ files_modified: string[];
63
+ context: Map<string, any>;
64
+ iteration: number;
65
+ max_iterations: number;
66
+ aborted: boolean;
67
+ }
68
+ export interface ExecutionRecord {
69
+ iteration: number;
70
+ timestamp: Date;
71
+ role: AgentRole;
72
+ content: string;
73
+ action: string;
74
+ result: string;
75
+ status: 'success' | 'error' | 'blocked';
76
+ }
77
+ export interface CommandResult {
78
+ stdout: string;
79
+ stderr: string;
80
+ returncode: number;
81
+ sandboxed: boolean;
82
+ }
83
+ export interface FileResult {
84
+ success: boolean;
85
+ content?: string | null;
86
+ error?: string | null;
87
+ }
88
+ export interface SafetyResult {
89
+ allowed: boolean;
90
+ risk_score: number;
91
+ reason: string;
92
+ }
93
+ export declare enum RiskLevel {
94
+ CRITICAL = 100,
95
+ HIGH = 90,
96
+ ELEVATED = 70,
97
+ MODERATE = 50,
98
+ LOW = 35,
99
+ MINIMAL = 10
100
+ }
101
+ export interface MemoryEntry {
102
+ key: string;
103
+ value: any;
104
+ category: string;
105
+ timestamp: Date;
106
+ access_count: number;
107
+ last_accessed: Date;
108
+ tags: string[];
109
+ expires_at?: Date | null;
110
+ }
111
+ export interface CodeChunk {
112
+ id: string;
113
+ file_path: string;
114
+ chunk_type: 'function' | 'class' | 'module' | 'other';
115
+ name: string;
116
+ content: string;
117
+ embedding?: number[];
118
+ line_start: number;
119
+ line_end: number;
120
+ }
121
+ export interface PluginConfig {
122
+ enabled: boolean;
123
+ settings: Record<string, any>;
124
+ }
125
+ export interface PluginContext {
126
+ config: PluginConfig;
127
+ logger: Logger;
128
+ memory_dir: string;
129
+ }
130
+ export interface PluginInfo {
131
+ name: string;
132
+ version: string;
133
+ description: string;
134
+ author: string;
135
+ dependencies: string[];
136
+ }
137
+ export declare enum MessagingPlatform {
138
+ WHATSAPP = "whatsapp",
139
+ TELEGRAM = "telegram",
140
+ DISCORD = "discord",
141
+ SLACK = "slack"
142
+ }
143
+ export interface ChatMessage {
144
+ platform: MessagingPlatform;
145
+ user_id: string;
146
+ username: string;
147
+ content: string;
148
+ timestamp: Date;
149
+ chat_id?: string;
150
+ reply_to?: string | null;
151
+ metadata: Record<string, any>;
152
+ }
153
+ export interface ChatResponse {
154
+ content: string;
155
+ platform: MessagingPlatform;
156
+ chat_id: string;
157
+ user_id?: string | null;
158
+ thread_id?: string | null;
159
+ actions: Record<string, any>[];
160
+ }
161
+ export declare enum SkillType {
162
+ PYTHON = "python",
163
+ JAVASCRIPT = "javascript",
164
+ SHELL = "shell",
165
+ API = "api"
166
+ }
167
+ export interface SkillResult {
168
+ success: boolean;
169
+ output?: any;
170
+ error?: string | null;
171
+ metadata?: Record<string, any>;
172
+ }
173
+ export interface SkillSchema {
174
+ name: string;
175
+ description: string;
176
+ version: string;
177
+ type: SkillType;
178
+ parameters: Record<string, any>;
179
+ }
180
+ export declare enum TriggerType {
181
+ TIME = "time",
182
+ INTERVAL = "interval",
183
+ EVENT = "event",
184
+ CONDITION = "condition"
185
+ }
186
+ export declare enum ActionType {
187
+ REMINDER = "reminder",
188
+ ALERT = "alert",
189
+ BRIEFING = "briefing",
190
+ TASK = "task",
191
+ NOTIFICATION = "notification",
192
+ MESSAGE = "message"
193
+ }
194
+ export interface ProactiveTask {
195
+ id: string;
196
+ name: string;
197
+ description: string;
198
+ trigger_type: TriggerType;
199
+ trigger_config: Record<string, any>;
200
+ action_type: ActionType;
201
+ action_config: Record<string, any>;
202
+ enabled: boolean;
203
+ last_run?: Date | null;
204
+ run_count: number;
205
+ created_at: Date;
206
+ tags: string[];
207
+ }
208
+ export declare enum DataRetention {
209
+ FOREVER = "forever",
210
+ THIRTY_DAYS = "30d",
211
+ SEVEN_DAYS = "7d",
212
+ SESSION = "session",
213
+ NONE = "none"
214
+ }
215
+ export declare enum LogLevel {
216
+ NONE = "none",
217
+ ERRORS_ONLY = "errors",
218
+ MINIMAL = "minimal",
219
+ FULL = "full"
220
+ }
221
+ export interface PrivacySettings {
222
+ conversation_retention: DataRetention;
223
+ memory_retention: DataRetention;
224
+ log_retention: DataRetention;
225
+ log_level: LogLevel;
226
+ log_to_cloud: boolean;
227
+ share_analytics: boolean;
228
+ share_crashes: boolean;
229
+ allow_remote_commands: boolean;
230
+ prefer_local_models: boolean;
231
+ offline_mode: boolean;
232
+ encrypt_memory: boolean;
233
+ encrypt_logs: boolean;
234
+ secure_delete: boolean;
235
+ require_auth: boolean;
236
+ allowed_users: string[];
237
+ admin_users: string[];
238
+ data_dir: string;
239
+ }
240
+ export interface Logger {
241
+ debug: (message: string, ...meta: any[]) => void;
242
+ info: (message: string, ...meta: any[]) => void;
243
+ warn: (message: string, ...meta: any[]) => void;
244
+ error: (message: string, ...meta: any[]) => void;
245
+ }
246
+ export interface SandboxConfig {
247
+ image: string;
248
+ memory_limit: string;
249
+ cpu_limit: number;
250
+ auto_remove: boolean;
251
+ network_disabled?: boolean;
252
+ }
253
+ export interface SandboxExecResult {
254
+ exit_code: number;
255
+ stdout: string;
256
+ stderr: string;
257
+ }
258
+ export interface FacetResult {
259
+ output: string;
260
+ confidence: number;
261
+ next_facet?: string | null;
262
+ complete: boolean;
263
+ }
264
+ export interface Branch {
265
+ id: string;
266
+ name: string;
267
+ strategy: 'conservative' | 'experimental' | 'custom';
268
+ risk_threshold: number;
269
+ result?: any;
270
+ fitness: number;
271
+ }
272
+ export interface DaemonStatus {
273
+ running: boolean;
274
+ started_at?: Date | null;
275
+ uptime_seconds: number;
276
+ tasks_processed: number;
277
+ errors_count: number;
278
+ active_services: string[];
279
+ }
280
+ export interface DashboardState {
281
+ current_task: string;
282
+ steps: PlanStep[];
283
+ logs: ExecutionRecord[];
284
+ stats: {
285
+ tokens_used: number;
286
+ commands_run: number;
287
+ iterations: number;
288
+ };
289
+ }
290
+ export interface WebSocketMessage {
291
+ type: 'state_update' | 'log' | 'thought' | 'error' | 'complete';
292
+ payload: any;
293
+ timestamp: Date;
294
+ }
295
+ //# sourceMappingURL=types.d.ts.map