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
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 LinguClaw Contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,161 @@
1
+ # 🦾 LinguClaw
2
+
3
+ ![LinguClaw Banner](https://github.com/user-attachments/assets/ca6404ef-fa21-4b79-ae99-108f6463a33c)
4
+
5
+ **⚡ Codebase-Aware Multi-Agent AI Platform**
6
+ *Analyze · Orchestrate · Automate · Optimize*
7
+
8
+ ---
9
+
10
+ ### Badges
11
+
12
+ ![GitHub stars](https://img.shields.io/github/stars/LinguDeep/LinguClaw?style=for-the-badge\&logo=github)
13
+ ![GitHub forks](https://img.shields.io/github/forks/LinguDeep/LinguClaw?style=for-the-badge\&logo=github)
14
+ ![GitHub issues](https://img.shields.io/github/issues/LinguDeep/LinguClaw?style=for-the-badge\&logo=github)
15
+ ![License](https://img.shields.io/github/license/LinguDeep/LinguClaw?style=for-the-badge\&logo=github)
16
+
17
+ ![TypeScript](https://img.shields.io/badge/TypeScript-5.3-blue?style=for-the-badge\&logo=typescript\&logoColor=white)
18
+ ![Node.js](https://img.shields.io/badge/Node.js-%3E%3D20-green?style=for-the-badge\&logo=node.js\&logoColor=white)
19
+ ![OpenAI](https://img.shields.io/badge/OpenAI-LLM-purple?style=for-the-badge\&logo=openai)
20
+ ![Anthropic](https://img.shields.io/badge/Anthropic-LLM-orange?style=for-the-badge\&logo=anthropic)
21
+
22
+ ---
23
+
24
+ ## 🌟 Star History
25
+
26
+ [![Star History Chart](https://api.star-history.com/svg?repos=LinguDeep/LinguClaw\&type=Date)](https://star-history.com/#LinguDeep/LinguClaw&Date)
27
+
28
+ ---
29
+
30
+ ## ✨ Features
31
+
32
+ ### 🤖 Multi-Agent AI System
33
+
34
+ Seven specialized agents collaborating seamlessly:
35
+
36
+ * **Architect** → System design & architecture planning
37
+ * **Coder** → AI-powered code implementation
38
+ * **Reviewer** → Automated code quality checks
39
+ * **Tester** → Test generation & coverage
40
+ * **Security** → Vulnerability scanning & hardening
41
+ * **Optimizer** → Performance tuning & refactoring
42
+ * **Coordinator** → Task orchestration
43
+
44
+ > Supports OpenAI · Anthropic · OpenRouter · Ollama · LM Studio
45
+
46
+ ---
47
+
48
+ ### 🔍 Multi-Language Code Analysis
49
+
50
+ **7 Languages:** TypeScript · Python · Rust · Go · Java · C++ · C#
51
+ **Metrics:** Cyclomatic complexity, Halstead metrics, maintainability index
52
+ **Security:** SQL injection, XSS, hardcoded secrets, unsafe deserialization
53
+
54
+ ---
55
+
56
+ ### 🔄 Visual Workflow Engine
57
+
58
+ * Drag & drop **node-based workflows**
59
+ * 22 built-in nodes (Trigger → Logic → Action → Output)
60
+ * Real-time execution feedback
61
+ * Undo/redo, zoom/pan, topological execution
62
+
63
+ ---
64
+
65
+ ### 💬 Messaging Integrations
66
+
67
+ **Telegram · Discord · Slack · WhatsApp · Email**
68
+ Unified inbox with streaming AI chat
69
+
70
+ ---
71
+
72
+ ### 🖥️ Web Dashboard
73
+
74
+ Modern SPA includes:
75
+
76
+ * Home (system health, quick actions)
77
+ * Tasks (Planner → Executor → Reviewer)
78
+ * Chat (streaming AI assistant)
79
+ * Workflows (visual editor & automation)
80
+ * Scheduler (cron, interval, reminders)
81
+ * Browser (automation, scraping, screenshots)
82
+
83
+ ---
84
+
85
+ ### ⚙️ Advanced Capabilities
86
+
87
+ * 🛠️ 15+ automated refactorings
88
+ * 🐳 Docker sandbox execution
89
+ * 🧠 Semantic memory (TF-IDF + SQLite)
90
+ * 🔌 Plugin system for custom JS
91
+ * ⏱️ 24/7 Daemon mode + proactive monitoring
92
+ * 🔁 Resilience (retry logic, circuit breakers)
93
+
94
+ ---
95
+
96
+ ## 🚀 Getting Started
97
+
98
+ ```bash
99
+ git clone https://github.com/LinguDeep/LinguClaw.git
100
+ cd LinguClaw
101
+ npm install
102
+ npm run build
103
+ npm start web
104
+ ```
105
+
106
+ Open Web Dashboard: [http://localhost:3000](http://localhost:8080)
107
+
108
+ ---
109
+
110
+ ## 🧪 CLI Usage
111
+
112
+ ```bash
113
+ # Interactive AI Agent
114
+ npx linguclaw agent
115
+
116
+ # Index project for semantic memory
117
+ npx linguclaw index ./my-project
118
+
119
+ # Start background daemon
120
+ npx linguclaw daemon start
121
+
122
+ # Check system status
123
+ npx linguclaw status
124
+ ```
125
+
126
+ ---
127
+
128
+ ## 🏗 Architecture
129
+
130
+ ![Architecture Diagram](https://raw.githubusercontent.com/LinguDeep/LinguClaw/main/assets/architecture-diagram.png)
131
+
132
+ ---
133
+
134
+ ## 🔌 Plugin Example
135
+
136
+ ```js
137
+ module.exports = {
138
+ name: 'ExamplePlugin',
139
+ version: '1.0.0',
140
+ async execute(action, params) {
141
+ return { result: 'ok' };
142
+ }
143
+ };
144
+ ```
145
+
146
+ ---
147
+
148
+ ## 🤝 Contributing
149
+
150
+ 1. Fork it
151
+ 2. Create feature branch
152
+ 3. Commit changes
153
+ 4. Push & open PR 🚀
154
+
155
+ ---
156
+
157
+ ## 📄 License
158
+
159
+ MIT License
160
+
161
+ ⭐ If you love it, **give it a star!** ⭐
@@ -0,0 +1,196 @@
1
+ /**
2
+ * Advanced AI Agent System for LinguClaw
3
+ * Multi-agent collaboration with specialized agents
4
+ */
5
+ import { EventEmitter } from 'events';
6
+ export interface Agent {
7
+ id: string;
8
+ name: string;
9
+ type: AgentType;
10
+ status: AgentStatus;
11
+ capabilities: Capability[];
12
+ context: AgentContext;
13
+ memory: AgentMemory;
14
+ execute(task: Task): Promise<TaskResult>;
15
+ collaborate(message: AgentMessage): Promise<void>;
16
+ }
17
+ export type AgentType = 'architect' | 'coder' | 'reviewer' | 'tester' | 'debugger' | 'optimizer' | 'security' | 'documenter' | 'researcher' | 'coordinator';
18
+ export type AgentStatus = 'idle' | 'working' | 'blocked' | 'error' | 'offline';
19
+ export interface Capability {
20
+ name: string;
21
+ description: string;
22
+ priority: number;
23
+ canExecute: (task: Task) => boolean;
24
+ }
25
+ export interface AgentContext {
26
+ projectPath: string;
27
+ language?: string;
28
+ framework?: string;
29
+ files: string[];
30
+ dependencies: string[];
31
+ recentCommits: string[];
32
+ }
33
+ export interface AgentMemory {
34
+ shortTerm: string[];
35
+ longTerm: Map<string, any>;
36
+ conversations: AgentMessage[];
37
+ learnings: string[];
38
+ }
39
+ export interface Task {
40
+ id: string;
41
+ type: TaskType;
42
+ priority: 'low' | 'medium' | 'high' | 'critical';
43
+ description: string;
44
+ context: any;
45
+ dependencies: string[];
46
+ estimatedTime: number;
47
+ deadline?: Date;
48
+ assignedTo?: string;
49
+ parentTask?: string;
50
+ subtasks: string[];
51
+ }
52
+ export type TaskType = 'implement' | 'refactor' | 'review' | 'test' | 'debug' | 'optimize' | 'document' | 'research' | 'design' | 'analyze';
53
+ export interface TaskResult {
54
+ taskId: string;
55
+ agentId: string;
56
+ success: boolean;
57
+ output: string;
58
+ artifacts: Artifact[];
59
+ metrics: TaskMetrics;
60
+ errors: string[];
61
+ warnings: string[];
62
+ suggestions: string[];
63
+ completedAt: Date;
64
+ }
65
+ export interface Artifact {
66
+ type: 'code' | 'test' | 'doc' | 'config' | 'data';
67
+ path: string;
68
+ content: string;
69
+ language?: string;
70
+ }
71
+ export interface TaskMetrics {
72
+ duration: number;
73
+ tokensUsed: number;
74
+ apiCalls: number;
75
+ filesModified: number;
76
+ linesChanged: number;
77
+ complexity: number;
78
+ }
79
+ export interface AgentMessage {
80
+ id: string;
81
+ from: string;
82
+ to: string;
83
+ type: MessageType;
84
+ content: string;
85
+ context?: any;
86
+ timestamp: Date;
87
+ priority: 'low' | 'medium' | 'high';
88
+ }
89
+ export type MessageType = 'request' | 'response' | 'broadcast' | 'update' | 'alert' | 'result';
90
+ export declare class ArchitectAgent implements Agent {
91
+ id: string;
92
+ name: string;
93
+ type: AgentType;
94
+ status: AgentStatus;
95
+ capabilities: Capability[];
96
+ context: AgentContext;
97
+ memory: AgentMemory;
98
+ private llmProvider;
99
+ constructor(context: AgentContext, llmProvider: any);
100
+ execute(task: Task): Promise<TaskResult>;
101
+ collaborate(message: AgentMessage): Promise<void>;
102
+ private designSystem;
103
+ private reviewArchitecture;
104
+ private analyzeSystem;
105
+ private generateDesignArtifacts;
106
+ }
107
+ export declare class CoderAgent implements Agent {
108
+ id: string;
109
+ name: string;
110
+ type: AgentType;
111
+ status: AgentStatus;
112
+ capabilities: Capability[];
113
+ context: AgentContext;
114
+ memory: AgentMemory;
115
+ private llmProvider;
116
+ constructor(context: AgentContext, llmProvider: any);
117
+ execute(task: Task): Promise<TaskResult>;
118
+ collaborate(message: AgentMessage): Promise<void>;
119
+ private implementFeature;
120
+ private refactorCode;
121
+ }
122
+ export declare class ReviewerAgent implements Agent {
123
+ id: string;
124
+ name: string;
125
+ type: AgentType;
126
+ status: AgentStatus;
127
+ capabilities: Capability[];
128
+ context: AgentContext;
129
+ memory: AgentMemory;
130
+ private llmProvider;
131
+ constructor(context: AgentContext, llmProvider: any);
132
+ execute(task: Task): Promise<TaskResult>;
133
+ collaborate(message: AgentMessage): Promise<void>;
134
+ private reviewCode;
135
+ }
136
+ export declare class TesterAgent implements Agent {
137
+ id: string;
138
+ name: string;
139
+ type: AgentType;
140
+ status: AgentStatus;
141
+ capabilities: Capability[];
142
+ context: AgentContext;
143
+ memory: AgentMemory;
144
+ private llmProvider;
145
+ constructor(context: AgentContext, llmProvider: any);
146
+ execute(task: Task): Promise<TaskResult>;
147
+ collaborate(message: AgentMessage): Promise<void>;
148
+ private generateTests;
149
+ }
150
+ export declare class AgentOrchestrator extends EventEmitter {
151
+ private agents;
152
+ private tasks;
153
+ private results;
154
+ private messageQueue;
155
+ private semanticMemory;
156
+ private projectPath;
157
+ constructor(projectPath: string, memoryPath: string);
158
+ initialize(): Promise<void>;
159
+ registerAgent(agent: Agent): void;
160
+ createAgent(type: AgentType, llmProvider: any): Agent;
161
+ submitTask(task: Omit<Task, 'id' | 'subtasks'>): Promise<string>;
162
+ findBestAgent(task: Task): Agent | undefined;
163
+ private typeMatchesTask;
164
+ broadcast(message: Omit<AgentMessage, 'id' | 'timestamp'>): Promise<void>;
165
+ getAgentStatus(): {
166
+ id: string;
167
+ name: string;
168
+ type: AgentType;
169
+ status: AgentStatus;
170
+ }[];
171
+ getTaskStatus(taskId: string): TaskResult | undefined;
172
+ getAllTasks(): Task[];
173
+ runWorkflow(workflow: WorkflowDefinition): Promise<WorkflowResult>;
174
+ }
175
+ export interface WorkflowDefinition {
176
+ name: string;
177
+ steps: WorkflowStep[];
178
+ }
179
+ export interface WorkflowStep {
180
+ name: string;
181
+ taskType: TaskType;
182
+ priority: 'low' | 'medium' | 'high' | 'critical';
183
+ description: string;
184
+ context: any;
185
+ dependencies: string[];
186
+ estimatedTime: number;
187
+ required: boolean;
188
+ }
189
+ export interface WorkflowResult {
190
+ name: string;
191
+ success: boolean;
192
+ results: TaskResult[];
193
+ completedAt: Date;
194
+ }
195
+ export default AgentOrchestrator;
196
+ //# sourceMappingURL=agent-system.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-system.d.ts","sourceRoot":"","sources":["../src/agent-system.ts"],"names":[],"mappings":"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"}