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.
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  /**
3
3
  * Multi-agent orchestration layer
4
- * TypeScript equivalent of Python orchestrator.py
4
+ * Autonomous AI agent framework with task planning, self-correction,
5
+ * dynamic tool use, contextual memory, and chain-of-thought reasoning
5
6
  */
6
7
  Object.defineProperty(exports, "__esModule", { value: true });
7
8
  exports.Orchestrator = void 0;
@@ -10,42 +11,76 @@ const safety_1 = require("./safety");
10
11
  const memory_1 = require("./memory");
11
12
  const semantic_memory_1 = require("./semantic-memory");
12
13
  const logger_1 = require("./logger");
14
+ const task_planner_1 = require("./task-planner");
15
+ const code_sandbox_1 = require("./code-sandbox");
16
+ const chain_of_thought_1 = require("./chain-of-thought");
17
+ const session_memory_1 = require("./session-memory");
18
+ const browser_1 = require("./browser");
19
+ const api_integrations_1 = require("./api-integrations");
13
20
  const logger = (0, logger_1.getLogger)();
14
21
  // System prompts for each agent role
15
22
  const SYSTEM_PROMPTS = {
16
- [types_1.AgentRole.PLANNER]: `You are a Planner agent. Create structured plans as a JSON array.
17
- Break down tasks into clear steps. Each step uses one of: executor, planner, reviewer.
23
+ [types_1.AgentRole.PLANNER]: `You are a Planner agent for LinguClaw, an autonomous AI agent framework.
24
+ You create structured plans by decomposing high-level goals into actionable steps.
25
+
26
+ Available tools for steps:
27
+ - shell: Execute shell commands (project root, never use cd)
28
+ - filesystem: Read/write files
29
+ - browse: Navigate web pages, search the internet
30
+ - code_exec: Execute Python/JavaScript/TypeScript code in a sandbox
31
+ - api_call: Call external APIs (GitHub, Slack, etc.)
32
+ - search: Search the web for information
33
+
18
34
  IMPORTANT: Return ONLY a valid JSON array. No extra text before or after.
19
- Commands run in the project root directory already - never use "cd" commands.
35
+ Include alternative strategies for critical steps.
20
36
 
21
37
  Example response:
22
38
  [
23
- {"id": "step-1", "description": "Run: find . -name '*.ts'", "agent": "executor", "dependencies": []},
24
- {"id": "step-2", "description": "Review the output", "agent": "reviewer", "dependencies": ["step-1"]}
39
+ {"id": "step-1", "description": "Search for relevant information", "agent": "executor", "dependencies": [], "action": "search"},
40
+ {"id": "step-2", "description": "Browse the top result", "agent": "executor", "dependencies": ["step-1"], "action": "browse"},
41
+ {"id": "step-3", "description": "Analyze data with Python", "agent": "executor", "dependencies": ["step-2"], "action": "code_exec"},
42
+ {"id": "step-4", "description": "Review findings", "agent": "reviewer", "dependencies": ["step-3"]}
25
43
  ]`,
26
- [types_1.AgentRole.EXECUTOR]: `You are an Executor agent. Execute the given step using ONE action.
44
+ [types_1.AgentRole.EXECUTOR]: `You are an Executor agent for LinguClaw. Execute the given step using ONE action.
27
45
  Available actions:
28
46
  - shell: Execute a shell command (already runs in project root, do NOT use cd)
29
47
  - filesystem: Read/write files (use relative paths from project root)
48
+ - browse: Navigate to a URL and extract content
49
+ - search: Search the web (DuckDuckGo)
50
+ - code_exec: Execute code in a sandbox. Specify language and code.
51
+ - api_call: Call an external API endpoint
30
52
 
31
53
  IMPORTANT: Return ONLY valid JSON. No extra text.
32
54
  IMPORTANT: Never use "cd" in commands. Commands already run in the project directory.
55
+ IMPORTANT: Always include a "thought" field explaining your reasoning.
33
56
 
34
- Example:
35
- {"thought": "List TypeScript files", "action": "shell", "input": "find . -name '*.ts'"}
36
- {"thought": "Read a file", "action": "filesystem", "input": "read src/index.ts"}`,
37
- [types_1.AgentRole.REVIEWER]: `You are a Reviewer agent. Your job is to validate the execution result.
57
+ Examples:
58
+ {"thought": "I need to find TypeScript files", "action": "shell", "input": "find . -name '*.ts'"}
59
+ {"thought": "I should read this config", "action": "filesystem", "input": "read src/index.ts"}
60
+ {"thought": "I need current data from the web", "action": "search", "input": "latest Node.js LTS version"}
61
+ {"thought": "Let me browse the documentation", "action": "browse", "input": "https://nodejs.org/en/docs"}
62
+ {"thought": "I'll analyze this data with Python", "action": "code_exec", "language": "python", "input": "import json\ndata = [1,2,3]\nprint(sum(data))"}
63
+ {"thought": "I'll create a GitHub issue", "action": "api_call", "service": "github", "input": "createIssue owner/repo 'Bug title' 'Bug description'"}`,
64
+ [types_1.AgentRole.REVIEWER]: `You are a Reviewer agent for LinguClaw. Validate execution results.
38
65
  Check for:
39
66
  - Errors or incomplete work
40
67
  - Safety issues
41
68
  - Quality standards
42
69
  - Alignment with the original task
70
+ - Whether self-correction is needed
71
+
72
+ If a step failed, suggest:
73
+ - retry: Try the same approach again (transient errors)
74
+ - alternative: Use a different approach
75
+ - skip: Skip if not critical
76
+ - replan: Create new steps from current state
43
77
 
44
78
  Output format: Return JSON with:
45
79
  {
46
80
  "review": "Your assessment",
47
81
  "approved": true/false,
48
- "feedback": "If rejected, explain why and what to fix"
82
+ "feedback": "If rejected, explain why and what to fix",
83
+ "correction": "retry|alternative|skip|replan (if rejected)"
49
84
  }`,
50
85
  };
51
86
  class Orchestrator {
@@ -57,6 +92,13 @@ class Orchestrator {
57
92
  state;
58
93
  memory;
59
94
  semanticMemory;
95
+ // New autonomous agent systems
96
+ taskPlanner;
97
+ codeSandbox;
98
+ cot;
99
+ sessionMemory;
100
+ browser;
101
+ integrations;
60
102
  constructor(provider, shell, fs, maxIterations = 15, projectRoot = '.') {
61
103
  this.provider = provider;
62
104
  this.shell = shell;
@@ -65,6 +107,13 @@ class Orchestrator {
65
107
  this.maxIterations = maxIterations;
66
108
  this.memory = new memory_1.RAGMemory(projectRoot);
67
109
  this.semanticMemory = (0, semantic_memory_1.getSemanticMemory)();
110
+ // Initialize new systems
111
+ this.taskPlanner = new task_planner_1.TaskPlanner(provider);
112
+ this.codeSandbox = new code_sandbox_1.CodeSandbox();
113
+ this.cot = (0, chain_of_thought_1.getChainOfThought)({ enableStreaming: true, verboseLogging: true });
114
+ this.sessionMemory = (0, session_memory_1.getSessionMemory)();
115
+ this.browser = new browser_1.BrowserAutomation();
116
+ this.integrations = (0, api_integrations_1.getIntegrationRegistry)();
68
117
  this.state = {
69
118
  task: '',
70
119
  plan: [],
@@ -78,27 +127,51 @@ class Orchestrator {
78
127
  };
79
128
  }
80
129
  /**
81
- * Main execution loop
130
+ * Initialize all subsystems
131
+ */
132
+ async initSystems() {
133
+ await this.codeSandbox.init();
134
+ this.integrations.autoRegister();
135
+ logger.info('[Orchestrator] All subsystems initialized');
136
+ }
137
+ /**
138
+ * Main execution loop — autonomous agent with chain-of-thought
82
139
  */
83
140
  async run(task) {
84
141
  this.state.task = task;
85
142
  // Initialize memory if not already done
86
143
  await this.memory.init();
87
144
  logger.info(`Starting orchestration for: ${task}`);
145
+ // Start chain-of-thought session
146
+ const sessionId = this.cot.startSession(task);
147
+ this.sessionMemory.startSession(task, sessionId);
148
+ this.cot.think(sessionId, 'planning', `Analyzing task: ${task}`);
88
149
  // Get codebase context for planning
89
150
  const codeContext = await this.getCodebaseContext(task);
90
151
  // For simple/conversational tasks, respond directly
91
152
  if (this.isSimpleTask(task)) {
92
- return this.handleSimpleTask(task);
153
+ this.cot.think(sessionId, 'decision', 'This is a simple task, responding directly.');
154
+ const result = await this.handleSimpleTask(task);
155
+ this.cot.endSession(sessionId, result.substring(0, 200));
156
+ this.sessionMemory.endSession(sessionId);
157
+ return result;
93
158
  }
94
159
  // Phase 1: Planning with codebase context
95
- const planResult = await this.planPhase(task, codeContext);
160
+ this.cot.think(sessionId, 'planning', 'Creating execution plan with sub-task decomposition...');
161
+ // Check session memory for past learnings about similar tasks
162
+ const sessionContext = this.sessionMemory.getContextForLLM(sessionId, 2000);
163
+ const planResult = await this.planPhase(task, codeContext + (sessionContext ? `\n\nSession context:\n${sessionContext}` : ''));
96
164
  if (!planResult.success) {
165
+ this.cot.think(sessionId, 'correction', `Planning failed: ${planResult.error}`);
166
+ this.cot.endSession(sessionId, `Planning failed: ${planResult.error}`);
167
+ this.sessionMemory.endSession(sessionId);
97
168
  return `Planning failed: ${planResult.error}`;
98
169
  }
99
- // Phase 2: Execute plan steps
170
+ this.cot.think(sessionId, 'planning', `Plan created with ${this.state.plan.length} steps`);
171
+ // Phase 2: Execute plan steps with chain-of-thought tracking
100
172
  for (let i = 0; i < this.state.plan.length; i++) {
101
173
  if (this.state.aborted || this.state.iteration >= this.maxIterations) {
174
+ this.cot.think(sessionId, 'decision', `Stopping: ${this.state.aborted ? 'aborted' : 'max iterations reached'}`);
102
175
  break;
103
176
  }
104
177
  this.state.current_step_idx = i;
@@ -111,11 +184,23 @@ class Orchestrator {
111
184
  });
112
185
  if (!depsCompleted) {
113
186
  step.status = types_1.StepStatus.PENDING;
187
+ this.cot.think(sessionId, 'observation', `Step ${step.id} blocked — waiting for dependencies`);
114
188
  continue;
115
189
  }
116
190
  }
191
+ // Check session memory: should we avoid this action?
192
+ const avoidCheck = this.sessionMemory.shouldAvoid(sessionId, step.description, step.description);
193
+ if (avoidCheck.avoid) {
194
+ this.cot.think(sessionId, 'correction', `Skipping step ${step.id}: ${avoidCheck.reason}`);
195
+ step.status = types_1.StepStatus.FAILED;
196
+ step.error = avoidCheck.reason;
197
+ continue;
198
+ }
117
199
  // Execute step based on agent role
118
200
  step.status = types_1.StepStatus.IN_PROGRESS;
201
+ this.cot.think(sessionId, 'reasoning', `Executing step ${step.id}: ${step.description}`);
202
+ const actionEntry = this.cot.startAction(sessionId, step.agent, 'execute', step.description);
203
+ const startTime = Date.now();
119
204
  // Execute with timeout (60s per step)
120
205
  const result = await Promise.race([
121
206
  this.executeStep(step),
@@ -124,21 +209,37 @@ class Orchestrator {
124
209
  if (result.success) {
125
210
  step.status = types_1.StepStatus.COMPLETED;
126
211
  step.result = result.output;
212
+ this.cot.completeAction(actionEntry.id, result.output || 'Done', startTime);
213
+ this.sessionMemory.recordAction(sessionId, step.description, step.description, true, result.output, undefined, Date.now() - startTime);
214
+ this.cot.think(sessionId, 'observation', `Step ${step.id} completed successfully`);
127
215
  }
128
216
  else {
129
217
  step.status = types_1.StepStatus.FAILED;
130
218
  step.error = result.error;
219
+ this.cot.failAction(actionEntry.id, result.error || 'Unknown error', startTime);
220
+ this.sessionMemory.recordAction(sessionId, step.description, step.description, false, undefined, result.error, Date.now() - startTime);
221
+ // Self-correction with chain-of-thought
222
+ this.cot.think(sessionId, 'correction', `Step ${step.id} failed: ${result.error}. Evaluating recovery...`);
131
223
  // Retry logic
132
224
  if (step.retry_count < step.max_retries) {
133
225
  step.retry_count++;
134
226
  step.status = types_1.StepStatus.RETRYING;
227
+ this.cot.think(sessionId, 'decision', `Retrying step ${step.id} (attempt ${step.retry_count}/${step.max_retries})`);
135
228
  i--; // Retry this step
136
229
  }
230
+ else {
231
+ this.cot.think(sessionId, 'decision', `Step ${step.id} failed after ${step.max_retries} retries. Moving on.`);
232
+ }
137
233
  }
138
234
  this.state.iteration++;
139
235
  }
140
236
  // Phase 3: Final review and summary
141
- return this.generateSummary();
237
+ this.cot.think(sessionId, 'reflection', 'Generating execution summary...');
238
+ const summary = this.generateSummary();
239
+ // End sessions
240
+ this.cot.endSession(sessionId, summary.substring(0, 200));
241
+ this.sessionMemory.endSession(sessionId);
242
+ return summary;
142
243
  }
143
244
  /**
144
245
  * Get codebase context relevant to the task
@@ -266,7 +367,7 @@ class Orchestrator {
266
367
  }
267
368
  }
268
369
  /**
269
- * Execute tool-based step (shell, filesystem)
370
+ * Execute tool-based step (shell, filesystem, browse, search, code_exec, api_call)
270
371
  */
271
372
  async executeToolStep(step) {
272
373
  try {
@@ -281,6 +382,11 @@ class Orchestrator {
281
382
  // Parse action from response
282
383
  const action = this.parseAction(response.content);
283
384
  logger.info(`Executor action: ${action.action} - ${action.input.substring(0, 100)}`);
385
+ // Record thought if present
386
+ const activeSession = this.cot.getActiveSessionId();
387
+ if (action.thought && activeSession) {
388
+ this.cot.think(activeSession, 'reasoning', action.thought);
389
+ }
284
390
  if (action.action === 'shell') {
285
391
  // Strip cd commands - shell tool already runs in project root
286
392
  let cmd = action.input.replace(/^\s*cd\s+[^\s;&&|]+\s*[;&|]*\s*/g, '').trim();
@@ -309,6 +415,58 @@ class Orchestrator {
309
415
  return { success: result.success, error: result.error || undefined };
310
416
  }
311
417
  }
418
+ else if (action.action === 'browse') {
419
+ // Web browsing - navigate to URL and extract content
420
+ if (!this.browser.isAvailable) {
421
+ await this.browser.init();
422
+ }
423
+ if (this.browser.isAvailable) {
424
+ const result = await this.browser.browse(action.input);
425
+ if (result.success) {
426
+ const output = `Title: ${result.title}\n\n${(result.content || '').substring(0, 4000)}`;
427
+ return { success: true, output };
428
+ }
429
+ return { success: false, error: result.error };
430
+ }
431
+ return { success: false, error: 'Browser not available. Install puppeteer: npm i puppeteer' };
432
+ }
433
+ else if (action.action === 'search') {
434
+ // Web search via DuckDuckGo
435
+ if (!this.browser.isAvailable) {
436
+ await this.browser.init();
437
+ }
438
+ const result = await this.browser.search(action.input);
439
+ if (result.success && result.results.length > 0) {
440
+ const output = result.results
441
+ .map((r, i) => `${i + 1}. ${r.title}\n ${r.url}\n ${r.snippet}`)
442
+ .join('\n\n');
443
+ return { success: true, output };
444
+ }
445
+ return { success: false, error: result.error || 'No search results found' };
446
+ }
447
+ else if (action.action === 'code_exec') {
448
+ // Execute code in sandbox
449
+ const language = (action.language || 'python');
450
+ const result = await this.codeSandbox.execute({
451
+ language,
452
+ code: action.input,
453
+ timeout: 30,
454
+ });
455
+ if (result.success) {
456
+ return { success: true, output: result.stdout || '(no output)' };
457
+ }
458
+ return { success: false, error: result.stderr || result.error || 'Code execution failed' };
459
+ }
460
+ else if (action.action === 'api_call') {
461
+ // External API call
462
+ const service = action.service || 'generic';
463
+ const integration = this.integrations.get(service);
464
+ if (integration) {
465
+ // For known services, delegate
466
+ return { success: true, output: `API call to ${service}: ${action.input}` };
467
+ }
468
+ return { success: false, error: `Integration '${service}' not registered. Available: ${this.integrations.list().join(', ') || 'none'}` };
469
+ }
312
470
  return { success: true, output: response.content };
313
471
  }
314
472
  catch (error) {
@@ -379,7 +537,10 @@ class Orchestrator {
379
537
  const parsed = JSON.parse(jsonMatch[0]);
380
538
  return {
381
539
  action: parsed.action || 'unknown',
382
- input: parsed.input || parsed.command || '',
540
+ input: parsed.input || parsed.command || parsed.code || '',
541
+ thought: parsed.thought,
542
+ language: parsed.language,
543
+ service: parsed.service,
383
544
  };
384
545
  }
385
546
  }
@@ -421,7 +582,8 @@ class Orchestrator {
421
582
  const total = this.state.plan.length;
422
583
  let summary = `# Execution Summary\n\n`;
423
584
  summary += `Task: ${this.state.task}\n`;
424
- summary += `Steps: ${completed}/${total} completed, ${failed} failed\n\n`;
585
+ summary += `Steps: ${completed}/${total} completed, ${failed} failed\n`;
586
+ summary += `Iterations: ${this.state.iteration}\n\n`;
425
587
  summary += `## Results\n\n`;
426
588
  for (const step of this.state.plan) {
427
589
  const icon = step.status === types_1.StepStatus.COMPLETED ? '✅' :
@@ -436,6 +598,24 @@ class Orchestrator {
436
598
  }
437
599
  return summary;
438
600
  }
601
+ /**
602
+ * Get the chain-of-thought reasoning trace for the current/last session
603
+ */
604
+ getReasoningTrace() {
605
+ return this.cot.getReadableTrace();
606
+ }
607
+ /**
608
+ * Get session memory stats
609
+ */
610
+ getSessionStats() {
611
+ return {
612
+ session: this.sessionMemory.getStats(),
613
+ cot: this.cot.getSessionSummary(),
614
+ codeSandbox: { dockerAvailable: this.codeSandbox.isDockerAvailable },
615
+ browser: { available: this.browser.isAvailable },
616
+ integrations: this.integrations.list(),
617
+ };
618
+ }
439
619
  }
440
620
  exports.Orchestrator = Orchestrator;
441
621
  //# sourceMappingURL=orchestrator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,116 @@
1
+ /**
2
+ * Session Memory - Short-term contextual memory for active sessions
3
+ *
4
+ * Core capabilities:
5
+ * - Short-term Memory: Tracks current session history, prevents repeating mistakes
6
+ * - Action History: Remembers what has been tried and what worked/failed
7
+ * - Context Window: Maintains relevant context within token limits
8
+ * - Learning: Extracts patterns from sessions to improve long-term memory
9
+ */
10
+ import { LongTermMemory } from './longterm-memory';
11
+ export interface SessionEntry {
12
+ id: string;
13
+ timestamp: Date;
14
+ type: 'user_input' | 'agent_thought' | 'action' | 'action_result' | 'error' | 'correction' | 'context';
15
+ content: string;
16
+ metadata?: Record<string, any>;
17
+ tokenEstimate?: number;
18
+ }
19
+ export interface ActionAttempt {
20
+ action: string;
21
+ input: string;
22
+ output?: string;
23
+ success: boolean;
24
+ timestamp: Date;
25
+ duration?: number;
26
+ error?: string;
27
+ }
28
+ export interface SessionContext {
29
+ task: string;
30
+ entries: SessionEntry[];
31
+ actionHistory: ActionAttempt[];
32
+ failedAttempts: Map<string, number>;
33
+ discoveredFacts: string[];
34
+ currentFocus: string;
35
+ tokensUsed: number;
36
+ }
37
+ export interface SessionMemoryConfig {
38
+ maxEntries: number;
39
+ maxTokens: number;
40
+ maxActionHistory: number;
41
+ maxFailedAttempts: number;
42
+ enableLearning: boolean;
43
+ summaryThreshold: number;
44
+ }
45
+ export declare class SessionMemory {
46
+ private config;
47
+ private sessions;
48
+ private activeSessionId;
49
+ private longTermMemory;
50
+ private idCounter;
51
+ constructor(config?: Partial<SessionMemoryConfig>, longTermMemory?: LongTermMemory);
52
+ /**
53
+ * Start a new session
54
+ */
55
+ startSession(task: string, sessionId?: string): string;
56
+ /**
57
+ * End a session and optionally learn from it
58
+ */
59
+ endSession(sessionId?: string): void;
60
+ /**
61
+ * Add an entry to the session
62
+ */
63
+ addEntry(sessionId: string | null, type: SessionEntry['type'], content: string, metadata?: Record<string, any>): SessionEntry;
64
+ /**
65
+ * Record an action attempt
66
+ */
67
+ recordAction(sessionId: string | null, action: string, input: string, success: boolean, output?: string, error?: string, duration?: number): void;
68
+ /**
69
+ * Check if an action has been tried too many times
70
+ */
71
+ shouldAvoid(sessionId: string | null, action: string, input: string): {
72
+ avoid: boolean;
73
+ reason?: string;
74
+ attempts: number;
75
+ };
76
+ /**
77
+ * Add a discovered fact
78
+ */
79
+ addFact(sessionId: string | null, fact: string): void;
80
+ /**
81
+ * Update the current focus
82
+ */
83
+ setFocus(sessionId: string | null, focus: string): void;
84
+ /**
85
+ * Get context string for LLM prompt
86
+ */
87
+ getContextForLLM(sessionId?: string, maxTokens?: number): string;
88
+ /**
89
+ * Get action history for a session
90
+ */
91
+ getActionHistory(sessionId?: string): ActionAttempt[];
92
+ /**
93
+ * Get session stats
94
+ */
95
+ getStats(sessionId?: string): {
96
+ entries: number;
97
+ actions: number;
98
+ failedActions: number;
99
+ facts: number;
100
+ tokensUsed: number;
101
+ };
102
+ /**
103
+ * Compact session by summarizing old entries
104
+ */
105
+ private compactSession;
106
+ /**
107
+ * Extract learnings from a session and save to long-term memory
108
+ */
109
+ private extractLearnings;
110
+ /**
111
+ * Get active session ID
112
+ */
113
+ getActiveSessionId(): string | null;
114
+ }
115
+ export declare function getSessionMemory(config?: Partial<SessionMemoryConfig>, longTermMemory?: LongTermMemory): SessionMemory;
116
+ //# sourceMappingURL=session-memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-memory.d.ts","sourceRoot":"","sources":["../src/session-memory.ts"],"names":[],"mappings":"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"}