linguclaw 0.4.3 → 0.5.1

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.
@@ -0,0 +1,363 @@
1
+ "use strict";
2
+ /**
3
+ * Code Sandbox - Execute Python/JavaScript/TypeScript code safely in Docker
4
+ *
5
+ * Core capabilities:
6
+ * - Execute code in isolated Docker containers
7
+ * - Support for Python, JavaScript, TypeScript, and Shell
8
+ * - Memory and CPU limits for safety
9
+ * - Timeout enforcement
10
+ * - Output capture (stdout, stderr, files)
11
+ * - Fallback to local execution with safety checks
12
+ */
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.CodeSandbox = void 0;
18
+ const logger_1 = require("./logger");
19
+ const fs_1 = __importDefault(require("fs"));
20
+ const path_1 = __importDefault(require("path"));
21
+ const child_process_1 = require("child_process");
22
+ const util_1 = require("util");
23
+ const execAsync = (0, util_1.promisify)(child_process_1.exec);
24
+ const logger = (0, logger_1.getLogger)();
25
+ // ==================== Language Configs ====================
26
+ const LANGUAGE_CONFIGS = {
27
+ python: {
28
+ dockerImage: 'python:3.12-slim',
29
+ fileExtension: '.py',
30
+ runCommand: (f) => `python3 ${f}`,
31
+ installCommand: (pkgs) => `pip install --quiet ${pkgs.join(' ')}`,
32
+ },
33
+ javascript: {
34
+ dockerImage: 'node:20-slim',
35
+ fileExtension: '.js',
36
+ runCommand: (f) => `node ${f}`,
37
+ installCommand: (pkgs) => `npm install --silent ${pkgs.join(' ')}`,
38
+ },
39
+ typescript: {
40
+ dockerImage: 'node:20-slim',
41
+ fileExtension: '.ts',
42
+ runCommand: (f) => `npx tsx ${f}`,
43
+ installCommand: (pkgs) => `npm install --silent tsx ${pkgs.join(' ')}`,
44
+ },
45
+ shell: {
46
+ dockerImage: 'alpine:latest',
47
+ fileExtension: '.sh',
48
+ runCommand: (f) => `sh ${f}`,
49
+ },
50
+ };
51
+ // Dangerous patterns to block in local execution
52
+ const DANGEROUS_PATTERNS = [
53
+ /rm\s+-rf\s+[\/~]/i,
54
+ /mkfs/i,
55
+ /dd\s+if=/i,
56
+ /:\(\)\s*\{\s*:\|:\s*&\s*\}/, // fork bomb
57
+ />\s*\/dev\/sd/i,
58
+ /chmod\s+777\s+\//i,
59
+ /curl.*\|\s*sh/i,
60
+ /wget.*\|\s*sh/i,
61
+ /eval\s*\(\s*(?:require|import)/i,
62
+ /process\.exit/i,
63
+ /os\.system\s*\(\s*['"]rm/i,
64
+ /shutil\.rmtree\s*\(\s*['"]\//i,
65
+ /import\s+subprocess.*Popen/i,
66
+ /__import__\s*\(\s*['"]os['"]\)/i,
67
+ ];
68
+ // ==================== Code Sandbox ====================
69
+ class CodeSandbox {
70
+ dockerAvailable = false;
71
+ tempDir;
72
+ constructor() {
73
+ this.tempDir = path_1.default.join(process.env.HOME || '/tmp', '.linguclaw', 'sandbox-tmp');
74
+ this.ensureDir(this.tempDir);
75
+ }
76
+ /**
77
+ * Initialize and check Docker availability
78
+ */
79
+ async init() {
80
+ try {
81
+ const Docker = require('dockerode');
82
+ const docker = new Docker();
83
+ await docker.ping();
84
+ this.dockerAvailable = true;
85
+ logger.info('[CodeSandbox] Docker available — full isolation enabled');
86
+ return true;
87
+ }
88
+ catch (e) {
89
+ this.dockerAvailable = false;
90
+ logger.warn('[CodeSandbox] Docker unavailable — using restricted local execution');
91
+ return false;
92
+ }
93
+ }
94
+ get isDockerAvailable() {
95
+ return this.dockerAvailable;
96
+ }
97
+ /**
98
+ * Execute code in sandbox
99
+ */
100
+ async execute(request) {
101
+ const startTime = Date.now();
102
+ const timeout = (request.timeout || 30) * 1000;
103
+ const langConfig = LANGUAGE_CONFIGS[request.language];
104
+ if (!langConfig) {
105
+ return {
106
+ success: false,
107
+ stdout: '',
108
+ stderr: `Unsupported language: ${request.language}`,
109
+ exitCode: 1,
110
+ executionTime: 0,
111
+ sandboxed: false,
112
+ language: request.language,
113
+ error: `Unsupported language: ${request.language}`,
114
+ };
115
+ }
116
+ logger.info(`[CodeSandbox] Executing ${request.language} code (${request.code.length} chars)`);
117
+ if (this.dockerAvailable) {
118
+ return this.executeInDocker(request, langConfig, timeout, startTime);
119
+ }
120
+ else {
121
+ return this.executeLocally(request, langConfig, timeout, startTime);
122
+ }
123
+ }
124
+ /**
125
+ * Execute code in Docker container
126
+ */
127
+ async executeInDocker(request, langConfig, timeout, startTime) {
128
+ const Docker = require('dockerode');
129
+ const docker = new Docker();
130
+ const fileName = `code_${Date.now()}${langConfig.fileExtension}`;
131
+ const containerWorkDir = '/workspace';
132
+ const filePath = `${containerWorkDir}/${fileName}`;
133
+ // Write code to temp file for mounting
134
+ const hostFilePath = path_1.default.join(this.tempDir, fileName);
135
+ fs_1.default.writeFileSync(hostFilePath, request.code, 'utf-8');
136
+ let container = null;
137
+ try {
138
+ // Build command
139
+ let cmd = '';
140
+ if (request.packages?.length && langConfig.installCommand) {
141
+ cmd += langConfig.installCommand(request.packages) + ' && ';
142
+ }
143
+ cmd += langConfig.runCommand(filePath);
144
+ // Create container
145
+ container = await docker.createContainer({
146
+ Image: langConfig.dockerImage,
147
+ Cmd: ['sh', '-c', cmd],
148
+ WorkingDir: containerWorkDir,
149
+ HostConfig: {
150
+ AutoRemove: true,
151
+ Memory: 256 * 1024 * 1024, // 256MB
152
+ CpuQuota: 50000, // 50% of one CPU
153
+ CpuPeriod: 100000,
154
+ NetworkMode: 'none', // No network access
155
+ ReadonlyRootfs: false, // Need write for pip/npm
156
+ Binds: [`${this.tempDir}:${containerWorkDir}:rw`],
157
+ },
158
+ Env: Object.entries(request.env || {}).map(([k, v]) => `${k}=${v}`),
159
+ });
160
+ await container.start();
161
+ // Wait with timeout
162
+ const result = await Promise.race([
163
+ container.wait(),
164
+ new Promise((_, reject) => setTimeout(() => reject(new Error('Execution timed out')), timeout)),
165
+ ]);
166
+ // Collect logs
167
+ const logs = await container.logs({ stdout: true, stderr: true, follow: false });
168
+ const output = this.parseDockerLogs(logs);
169
+ // Clean up temp file
170
+ this.safeDelete(hostFilePath);
171
+ return {
172
+ success: result.StatusCode === 0,
173
+ stdout: output.stdout.substring(0, 50000),
174
+ stderr: output.stderr.substring(0, 10000),
175
+ exitCode: result.StatusCode,
176
+ executionTime: Date.now() - startTime,
177
+ sandboxed: true,
178
+ language: request.language,
179
+ };
180
+ }
181
+ catch (error) {
182
+ // Clean up on error
183
+ this.safeDelete(hostFilePath);
184
+ if (container) {
185
+ try {
186
+ await container.stop({ t: 1 });
187
+ }
188
+ catch { /* already stopped */ }
189
+ }
190
+ const isTimeout = error.message?.includes('timed out');
191
+ return {
192
+ success: false,
193
+ stdout: '',
194
+ stderr: isTimeout ? 'Execution timed out' : error.message,
195
+ exitCode: isTimeout ? 124 : 1,
196
+ executionTime: Date.now() - startTime,
197
+ sandboxed: true,
198
+ language: request.language,
199
+ error: error.message,
200
+ };
201
+ }
202
+ }
203
+ /**
204
+ * Execute code locally with safety restrictions (fallback when Docker unavailable)
205
+ */
206
+ async executeLocally(request, langConfig, timeout, startTime) {
207
+ // Safety check: scan for dangerous patterns
208
+ const safetyCheck = this.checkCodeSafety(request.code, request.language);
209
+ if (!safetyCheck.safe) {
210
+ return {
211
+ success: false,
212
+ stdout: '',
213
+ stderr: `Code blocked by safety check: ${safetyCheck.reason}`,
214
+ exitCode: 1,
215
+ executionTime: 0,
216
+ sandboxed: false,
217
+ language: request.language,
218
+ error: `Safety violation: ${safetyCheck.reason}`,
219
+ };
220
+ }
221
+ const fileName = `code_${Date.now()}${langConfig.fileExtension}`;
222
+ const filePath = path_1.default.join(this.tempDir, fileName);
223
+ fs_1.default.writeFileSync(filePath, request.code, 'utf-8');
224
+ try {
225
+ let cmd = '';
226
+ if (request.packages?.length && langConfig.installCommand) {
227
+ cmd += langConfig.installCommand(request.packages) + ' && ';
228
+ }
229
+ cmd += langConfig.runCommand(filePath);
230
+ const { stdout, stderr } = await Promise.race([
231
+ execAsync(cmd, {
232
+ timeout,
233
+ maxBuffer: 10 * 1024 * 1024, // 10MB
234
+ cwd: request.workDir || this.tempDir,
235
+ env: { ...process.env, ...request.env },
236
+ }),
237
+ new Promise((_, reject) => setTimeout(() => reject(new Error('Execution timed out')), timeout)),
238
+ ]);
239
+ this.safeDelete(filePath);
240
+ return {
241
+ success: true,
242
+ stdout: stdout.substring(0, 50000),
243
+ stderr: stderr.substring(0, 10000),
244
+ exitCode: 0,
245
+ executionTime: Date.now() - startTime,
246
+ sandboxed: false,
247
+ language: request.language,
248
+ };
249
+ }
250
+ catch (error) {
251
+ this.safeDelete(filePath);
252
+ return {
253
+ success: false,
254
+ stdout: error.stdout?.substring(0, 50000) || '',
255
+ stderr: error.stderr?.substring(0, 10000) || error.message,
256
+ exitCode: error.code || 1,
257
+ executionTime: Date.now() - startTime,
258
+ sandboxed: false,
259
+ language: request.language,
260
+ error: error.message,
261
+ };
262
+ }
263
+ }
264
+ /**
265
+ * Check code for dangerous patterns
266
+ */
267
+ checkCodeSafety(code, language) {
268
+ for (const pattern of DANGEROUS_PATTERNS) {
269
+ if (pattern.test(code)) {
270
+ return { safe: false, reason: `Matches dangerous pattern: ${pattern.source}` };
271
+ }
272
+ }
273
+ // Language-specific checks
274
+ if (language === 'python') {
275
+ if (/exec\s*\(.*(?:import|__builtins__)/.test(code)) {
276
+ return { safe: false, reason: 'Dynamic exec with imports blocked' };
277
+ }
278
+ }
279
+ if (language === 'shell') {
280
+ if (/>\s*\/etc\//.test(code) || />\s*\/usr\//.test(code)) {
281
+ return { safe: false, reason: 'Writing to system directories blocked' };
282
+ }
283
+ }
284
+ return { safe: true };
285
+ }
286
+ /**
287
+ * Parse Docker container logs into stdout/stderr
288
+ */
289
+ parseDockerLogs(logs) {
290
+ if (typeof logs === 'string') {
291
+ return { stdout: logs, stderr: '' };
292
+ }
293
+ let stdout = '';
294
+ let stderr = '';
295
+ let offset = 0;
296
+ const buf = Buffer.isBuffer(logs) ? logs : Buffer.from(logs);
297
+ while (offset < buf.length) {
298
+ if (offset + 8 > buf.length)
299
+ break;
300
+ const streamType = buf.readUInt8(offset);
301
+ const size = buf.readUInt32BE(offset + 4);
302
+ if (offset + 8 + size > buf.length)
303
+ break;
304
+ const payload = buf.slice(offset + 8, offset + 8 + size).toString('utf-8');
305
+ if (streamType === 1)
306
+ stdout += payload;
307
+ else if (streamType === 2)
308
+ stderr += payload;
309
+ offset += 8 + size;
310
+ }
311
+ // Fallback if header parsing fails
312
+ if (!stdout && !stderr) {
313
+ return { stdout: buf.toString('utf-8'), stderr: '' };
314
+ }
315
+ return { stdout, stderr };
316
+ }
317
+ /**
318
+ * Get available languages and their status
319
+ */
320
+ async getAvailableLanguages() {
321
+ const result = {};
322
+ for (const [lang, config] of Object.entries(LANGUAGE_CONFIGS)) {
323
+ if (this.dockerAvailable) {
324
+ result[lang] = { available: true, runtime: `Docker (${config.dockerImage})` };
325
+ }
326
+ else {
327
+ // Check if local runtime exists
328
+ try {
329
+ const cmd = lang === 'python' ? 'python3 --version' :
330
+ lang === 'javascript' ? 'node --version' :
331
+ lang === 'typescript' ? 'npx tsx --version' :
332
+ 'sh --version';
333
+ const { stdout } = await execAsync(cmd, { timeout: 5000 });
334
+ result[lang] = { available: true, runtime: `Local (${stdout.trim()})` };
335
+ }
336
+ catch {
337
+ result[lang] = { available: false, runtime: 'Not installed' };
338
+ }
339
+ }
340
+ }
341
+ return result;
342
+ }
343
+ /**
344
+ * Utility: ensure directory exists
345
+ */
346
+ ensureDir(dir) {
347
+ if (!fs_1.default.existsSync(dir)) {
348
+ fs_1.default.mkdirSync(dir, { recursive: true });
349
+ }
350
+ }
351
+ /**
352
+ * Utility: safely delete a file
353
+ */
354
+ safeDelete(filePath) {
355
+ try {
356
+ if (fs_1.default.existsSync(filePath))
357
+ fs_1.default.unlinkSync(filePath);
358
+ }
359
+ catch { /* ignore */ }
360
+ }
361
+ }
362
+ exports.CodeSandbox = CodeSandbox;
363
+ //# sourceMappingURL=code-sandbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-sandbox.js","sourceRoot":"","sources":["../src/code-sandbox.ts"],"names":[],"mappings":"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"}
package/dist/lib.d.ts ADDED
@@ -0,0 +1,22 @@
1
+ /**
2
+ * LinguClaw Library Exports
3
+ * Central export point for all modules
4
+ */
5
+ export { Orchestrator, SharedState } from './orchestrator';
6
+ export { TaskPlanner, TaskGoal, SubTask, ExecutionPlan } from './task-planner';
7
+ export { CodeSandbox, CodeExecRequest, CodeExecResult, SandboxLanguage } from './code-sandbox';
8
+ export { ChainOfThought, getChainOfThought, ThoughtEntry, ActionEntry, ReasoningStep, SessionSummary } from './chain-of-thought';
9
+ export { SessionMemory, getSessionMemory } from './session-memory';
10
+ export { RAGMemory } from './memory';
11
+ export { LongTermMemory } from './longterm-memory';
12
+ export { SemanticMemory, getSemanticMemory } from './semantic-memory';
13
+ export { ShellTool, FileSystemTool } from './tools';
14
+ export { BrowserAutomation } from './browser';
15
+ export { APIClient, GitHubIntegration, SlackIntegration, GenericAPI, WebhookHandler, IntegrationRegistry, getIntegrationRegistry } from './api-integrations';
16
+ export { BaseProvider, ProviderManager } from './multi-provider';
17
+ export { SafetyMiddleware } from './safety';
18
+ export { getLogger } from './logger';
19
+ export { getConfig, loadEnvConfig } from './config';
20
+ export { AgentRole, StepStatus, PlanStep, Message, LLMResponse, TokenBudget, ExecutionRecord, MemoryEntry, CodeChunk, SkillResult, Logger, SandboxConfig, } from './types';
21
+ export { WebUIManager } from './web';
22
+ //# sourceMappingURL=lib.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACjI,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGnE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGtE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAG9C,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,mBAAmB,EACnB,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGpD,OAAO,EACL,SAAS,EACT,UAAU,EACV,QAAQ,EACR,OAAO,EACP,WAAW,EACX,WAAW,EACX,eAAe,EACf,WAAW,EACX,SAAS,EACT,WAAW,EACX,MAAM,EACN,aAAa,GACd,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC"}
package/dist/lib.js ADDED
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ /**
3
+ * LinguClaw Library Exports
4
+ * Central export point for all modules
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.WebUIManager = exports.StepStatus = exports.AgentRole = exports.loadEnvConfig = exports.getConfig = exports.getLogger = exports.SafetyMiddleware = exports.ProviderManager = exports.BaseProvider = exports.getIntegrationRegistry = exports.IntegrationRegistry = exports.WebhookHandler = exports.GenericAPI = exports.SlackIntegration = exports.GitHubIntegration = exports.APIClient = exports.BrowserAutomation = exports.FileSystemTool = exports.ShellTool = exports.getSemanticMemory = exports.SemanticMemory = exports.LongTermMemory = exports.RAGMemory = exports.getSessionMemory = exports.SessionMemory = exports.getChainOfThought = exports.ChainOfThought = exports.CodeSandbox = exports.TaskPlanner = exports.Orchestrator = void 0;
8
+ // Core systems
9
+ var orchestrator_1 = require("./orchestrator");
10
+ Object.defineProperty(exports, "Orchestrator", { enumerable: true, get: function () { return orchestrator_1.Orchestrator; } });
11
+ var task_planner_1 = require("./task-planner");
12
+ Object.defineProperty(exports, "TaskPlanner", { enumerable: true, get: function () { return task_planner_1.TaskPlanner; } });
13
+ var code_sandbox_1 = require("./code-sandbox");
14
+ Object.defineProperty(exports, "CodeSandbox", { enumerable: true, get: function () { return code_sandbox_1.CodeSandbox; } });
15
+ var chain_of_thought_1 = require("./chain-of-thought");
16
+ Object.defineProperty(exports, "ChainOfThought", { enumerable: true, get: function () { return chain_of_thought_1.ChainOfThought; } });
17
+ Object.defineProperty(exports, "getChainOfThought", { enumerable: true, get: function () { return chain_of_thought_1.getChainOfThought; } });
18
+ var session_memory_1 = require("./session-memory");
19
+ Object.defineProperty(exports, "SessionMemory", { enumerable: true, get: function () { return session_memory_1.SessionMemory; } });
20
+ Object.defineProperty(exports, "getSessionMemory", { enumerable: true, get: function () { return session_memory_1.getSessionMemory; } });
21
+ // Memory systems
22
+ var memory_1 = require("./memory");
23
+ Object.defineProperty(exports, "RAGMemory", { enumerable: true, get: function () { return memory_1.RAGMemory; } });
24
+ var longterm_memory_1 = require("./longterm-memory");
25
+ Object.defineProperty(exports, "LongTermMemory", { enumerable: true, get: function () { return longterm_memory_1.LongTermMemory; } });
26
+ var semantic_memory_1 = require("./semantic-memory");
27
+ Object.defineProperty(exports, "SemanticMemory", { enumerable: true, get: function () { return semantic_memory_1.SemanticMemory; } });
28
+ Object.defineProperty(exports, "getSemanticMemory", { enumerable: true, get: function () { return semantic_memory_1.getSemanticMemory; } });
29
+ // Tools
30
+ var tools_1 = require("./tools");
31
+ Object.defineProperty(exports, "ShellTool", { enumerable: true, get: function () { return tools_1.ShellTool; } });
32
+ Object.defineProperty(exports, "FileSystemTool", { enumerable: true, get: function () { return tools_1.FileSystemTool; } });
33
+ var browser_1 = require("./browser");
34
+ Object.defineProperty(exports, "BrowserAutomation", { enumerable: true, get: function () { return browser_1.BrowserAutomation; } });
35
+ // API Integrations
36
+ var api_integrations_1 = require("./api-integrations");
37
+ Object.defineProperty(exports, "APIClient", { enumerable: true, get: function () { return api_integrations_1.APIClient; } });
38
+ Object.defineProperty(exports, "GitHubIntegration", { enumerable: true, get: function () { return api_integrations_1.GitHubIntegration; } });
39
+ Object.defineProperty(exports, "SlackIntegration", { enumerable: true, get: function () { return api_integrations_1.SlackIntegration; } });
40
+ Object.defineProperty(exports, "GenericAPI", { enumerable: true, get: function () { return api_integrations_1.GenericAPI; } });
41
+ Object.defineProperty(exports, "WebhookHandler", { enumerable: true, get: function () { return api_integrations_1.WebhookHandler; } });
42
+ Object.defineProperty(exports, "IntegrationRegistry", { enumerable: true, get: function () { return api_integrations_1.IntegrationRegistry; } });
43
+ Object.defineProperty(exports, "getIntegrationRegistry", { enumerable: true, get: function () { return api_integrations_1.getIntegrationRegistry; } });
44
+ // Providers
45
+ var multi_provider_1 = require("./multi-provider");
46
+ Object.defineProperty(exports, "BaseProvider", { enumerable: true, get: function () { return multi_provider_1.BaseProvider; } });
47
+ Object.defineProperty(exports, "ProviderManager", { enumerable: true, get: function () { return multi_provider_1.ProviderManager; } });
48
+ // Infrastructure
49
+ var safety_1 = require("./safety");
50
+ Object.defineProperty(exports, "SafetyMiddleware", { enumerable: true, get: function () { return safety_1.SafetyMiddleware; } });
51
+ var logger_1 = require("./logger");
52
+ Object.defineProperty(exports, "getLogger", { enumerable: true, get: function () { return logger_1.getLogger; } });
53
+ var config_1 = require("./config");
54
+ Object.defineProperty(exports, "getConfig", { enumerable: true, get: function () { return config_1.getConfig; } });
55
+ Object.defineProperty(exports, "loadEnvConfig", { enumerable: true, get: function () { return config_1.loadEnvConfig; } });
56
+ // Types
57
+ var types_1 = require("./types");
58
+ Object.defineProperty(exports, "AgentRole", { enumerable: true, get: function () { return types_1.AgentRole; } });
59
+ Object.defineProperty(exports, "StepStatus", { enumerable: true, get: function () { return types_1.StepStatus; } });
60
+ // Web UI
61
+ var web_1 = require("./web");
62
+ Object.defineProperty(exports, "WebUIManager", { enumerable: true, get: function () { return web_1.WebUIManager; } });
63
+ //# sourceMappingURL=lib.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,eAAe;AACf,+CAA2D;AAAlD,4GAAA,YAAY,OAAA;AACrB,+CAA+E;AAAtE,2GAAA,WAAW,OAAA;AACpB,+CAA+F;AAAtF,2GAAA,WAAW,OAAA;AACpB,uDAAiI;AAAxH,kHAAA,cAAc,OAAA;AAAE,qHAAA,iBAAiB,OAAA;AAC1C,mDAAmE;AAA1D,+GAAA,aAAa,OAAA;AAAE,kHAAA,gBAAgB,OAAA;AAExC,iBAAiB;AACjB,mCAAqC;AAA5B,mGAAA,SAAS,OAAA;AAClB,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AACvB,qDAAsE;AAA7D,iHAAA,cAAc,OAAA;AAAE,oHAAA,iBAAiB,OAAA;AAE1C,QAAQ;AACR,iCAAoD;AAA3C,kGAAA,SAAS,OAAA;AAAE,uGAAA,cAAc,OAAA;AAClC,qCAA8C;AAArC,4GAAA,iBAAiB,OAAA;AAE1B,mBAAmB;AACnB,uDAQ4B;AAP1B,6GAAA,SAAS,OAAA;AACT,qHAAA,iBAAiB,OAAA;AACjB,oHAAA,gBAAgB,OAAA;AAChB,8GAAA,UAAU,OAAA;AACV,kHAAA,cAAc,OAAA;AACd,uHAAA,mBAAmB,OAAA;AACnB,0HAAA,sBAAsB,OAAA;AAGxB,YAAY;AACZ,mDAAiE;AAAxD,8GAAA,YAAY,OAAA;AAAE,iHAAA,eAAe,OAAA;AAEtC,iBAAiB;AACjB,mCAA4C;AAAnC,0GAAA,gBAAgB,OAAA;AACzB,mCAAqC;AAA5B,mGAAA,SAAS,OAAA;AAClB,mCAAoD;AAA3C,mGAAA,SAAS,OAAA;AAAE,uGAAA,aAAa,OAAA;AAEjC,QAAQ;AACR,iCAaiB;AAZf,kGAAA,SAAS,OAAA;AACT,mGAAA,UAAU,OAAA;AAaZ,SAAS;AACT,6BAAqC;AAA5B,mGAAA,YAAY,OAAA"}
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * Multi-agent orchestration layer
3
- * TypeScript equivalent of Python orchestrator.py
3
+ * Autonomous AI agent framework with task planning, self-correction,
4
+ * dynamic tool use, contextual memory, and chain-of-thought reasoning
4
5
  */
5
6
  import { SharedState } from './types';
6
7
  export { SharedState } from './types';
@@ -9,6 +10,12 @@ import { SafetyMiddleware } from './safety';
9
10
  import { RAGMemory } from './memory';
10
11
  import { getSemanticMemory } from './semantic-memory';
11
12
  import { BaseProvider } from './multi-provider';
13
+ import { TaskPlanner } from './task-planner';
14
+ import { CodeSandbox } from './code-sandbox';
15
+ import { ChainOfThought } from './chain-of-thought';
16
+ import { SessionMemory } from './session-memory';
17
+ import { BrowserAutomation } from './browser';
18
+ import { IntegrationRegistry } from './api-integrations';
12
19
  export declare class Orchestrator {
13
20
  provider: BaseProvider;
14
21
  shell: ShellTool;
@@ -18,9 +25,19 @@ export declare class Orchestrator {
18
25
  state: SharedState;
19
26
  memory: RAGMemory;
20
27
  semanticMemory: ReturnType<typeof getSemanticMemory>;
28
+ taskPlanner: TaskPlanner;
29
+ codeSandbox: CodeSandbox;
30
+ cot: ChainOfThought;
31
+ sessionMemory: SessionMemory;
32
+ browser: BrowserAutomation;
33
+ integrations: IntegrationRegistry;
21
34
  constructor(provider: BaseProvider, shell: ShellTool, fs: FileSystemTool, maxIterations?: number, projectRoot?: string);
22
35
  /**
23
- * Main execution loop
36
+ * Initialize all subsystems
37
+ */
38
+ initSystems(): Promise<void>;
39
+ /**
40
+ * Main execution loop — autonomous agent with chain-of-thought
24
41
  */
25
42
  run(task: string): Promise<string>;
26
43
  /**
@@ -40,7 +57,7 @@ export declare class Orchestrator {
40
57
  */
41
58
  private executeStep;
42
59
  /**
43
- * Execute tool-based step (shell, filesystem)
60
+ * Execute tool-based step (shell, filesystem, browse, search, code_exec, api_call)
44
61
  */
45
62
  private executeToolStep;
46
63
  /**
@@ -61,5 +78,13 @@ export declare class Orchestrator {
61
78
  private isSimpleTask;
62
79
  private handleSimpleTask;
63
80
  private generateSummary;
81
+ /**
82
+ * Get the chain-of-thought reasoning trace for the current/last session
83
+ */
84
+ getReasoningTrace(): string;
85
+ /**
86
+ * Get session memory stats
87
+ */
88
+ getSessionStats(): Record<string, any>;
64
89
  }
65
90
  //# sourceMappingURL=orchestrator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAIL,WAAW,EAIZ,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AA4ChD,qBAAa,YAAY;IACvB,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE,SAAS,CAAC;IACjB,EAAE,EAAE,cAAc,CAAC;IACnB,MAAM,EAAE,gBAAgB,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,SAAS,CAAC;IAClB,cAAc,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;gBAGnD,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,SAAS,EAChB,EAAE,EAAE,cAAc,EAClB,aAAa,GAAE,MAAW,EAC1B,WAAW,GAAE,MAAY;IAsB3B;;OAEG;IACG,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA4ExC;;OAEG;YACW,kBAAkB;IAwBhC;;OAEG;YACW,SAAS;IA8BvB;;OAEG;IACH,OAAO,CAAC,SAAS;IA0DjB;;OAEG;YACW,WAAW;IAazB;;OAEG;YACW,eAAe;IAkD7B;;OAEG;YACW,mBAAmB;IAwBjC;;OAEG;YACW,iBAAiB;IA8B/B;;OAEG;IACH,OAAO,CAAC,WAAW;IAgBnB;;OAEG;IACH,OAAO,CAAC,YAAY;YAMN,gBAAgB;IAqB9B,OAAO,CAAC,eAAe;CAwBxB"}
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAIL,WAAW,EAIZ,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAoC,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAmB,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAqB,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAoB,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAA0B,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAwEjF,qBAAa,YAAY;IACvB,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE,SAAS,CAAC;IACjB,EAAE,EAAE,cAAc,CAAC;IACnB,MAAM,EAAE,gBAAgB,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,SAAS,CAAC;IAClB,cAAc,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;IAGrD,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,GAAG,EAAE,cAAc,CAAC;IACpB,aAAa,EAAE,aAAa,CAAC;IAC7B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,YAAY,EAAE,mBAAmB,CAAC;gBAGhC,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,SAAS,EAChB,EAAE,EAAE,cAAc,EAClB,aAAa,GAAE,MAAW,EAC1B,WAAW,GAAE,MAAY;IA+B3B;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAMlC;;OAEG;IACG,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAiIxC;;OAEG;YACW,kBAAkB;IAwBhC;;OAEG;YACW,SAAS;IA8BvB;;OAEG;IACH,OAAO,CAAC,SAAS;IA0DjB;;OAEG;YACW,WAAW;IAazB;;OAEG;YACW,eAAe;IA6G7B;;OAEG;YACW,mBAAmB;IAwBjC;;OAEG;YACW,iBAAiB;IA8B/B;;OAEG;IACH,OAAO,CAAC,WAAW;IAmBnB;;OAEG;IACH,OAAO,CAAC,YAAY;YAMN,gBAAgB;IAqB9B,OAAO,CAAC,eAAe;IA0BvB;;OAEG;IACH,iBAAiB,IAAI,MAAM;IAI3B;;OAEG;IACH,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CASvC"}