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.
- package/dist/api-integrations.d.ts +137 -0
- package/dist/api-integrations.d.ts.map +1 -0
- package/dist/api-integrations.js +348 -0
- package/dist/api-integrations.js.map +1 -0
- package/dist/chain-of-thought.d.ts +136 -0
- package/dist/chain-of-thought.d.ts.map +1 -0
- package/dist/chain-of-thought.js +337 -0
- package/dist/chain-of-thought.js.map +1 -0
- package/dist/code-sandbox.d.ts +81 -0
- package/dist/code-sandbox.d.ts.map +1 -0
- package/dist/code-sandbox.js +363 -0
- package/dist/code-sandbox.js.map +1 -0
- package/dist/lib.d.ts +22 -0
- package/dist/lib.d.ts.map +1 -0
- package/dist/lib.js +63 -0
- package/dist/lib.js.map +1 -0
- package/dist/orchestrator.d.ts +28 -3
- package/dist/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator.js +200 -20
- package/dist/orchestrator.js.map +1 -1
- package/dist/session-memory.d.ts +116 -0
- package/dist/session-memory.d.ts.map +1 -0
- package/dist/session-memory.js +351 -0
- package/dist/session-memory.js.map +1 -0
- package/dist/static/dashboard.html +1 -1
- package/dist/static/hub.html +1 -1
- package/dist/static/index.html +130 -5
- package/dist/task-planner.d.ts +145 -0
- package/dist/task-planner.d.ts.map +1 -0
- package/dist/task-planner.js +520 -0
- package/dist/task-planner.js.map +1 -0
- package/dist/web.d.ts +6 -2
- package/dist/web.d.ts.map +1 -1
- package/dist/web.js +186 -4
- package/dist/web.js.map +1 -1
- package/package.json +1 -1
|
@@ -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
|
package/dist/lib.js.map
ADDED
|
@@ -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"}
|
package/dist/orchestrator.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Multi-agent orchestration layer
|
|
3
|
-
*
|
|
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
|
-
*
|
|
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
|
|
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"}
|