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/dist/config.js ADDED
@@ -0,0 +1,232 @@
1
+ "use strict";
2
+ /**
3
+ * Centralized configuration management for LinguClaw
4
+ * Handles settings persistence, CLI and Web UI settings
5
+ */
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.getConfig = getConfig;
11
+ exports.resetConfig = resetConfig;
12
+ exports.loadEnvConfig = loadEnvConfig;
13
+ const fs_1 = __importDefault(require("fs"));
14
+ const path_1 = __importDefault(require("path"));
15
+ const os_1 = __importDefault(require("os"));
16
+ const logger_1 = require("./logger");
17
+ const logger = (0, logger_1.getLogger)();
18
+ // Default config directory
19
+ const CONFIG_DIR = path_1.default.join(os_1.default.homedir(), '.linguclaw');
20
+ const CONFIG_FILE = path_1.default.join(CONFIG_DIR, 'config.json');
21
+ const DEFAULT_CONFIG = {
22
+ llm: {
23
+ provider: 'openrouter',
24
+ model: 'openai/gpt-3.5-turbo',
25
+ apiKey: '',
26
+ maxTokens: 1000,
27
+ temperature: 0.7,
28
+ baseUrl: '',
29
+ },
30
+ system: {
31
+ maxSteps: 15,
32
+ useDocker: true,
33
+ logLevel: 'info',
34
+ autoIndex: true,
35
+ safetyMode: 'balanced',
36
+ },
37
+ webui: {
38
+ port: 3000,
39
+ host: '127.0.0.1',
40
+ authEnabled: false,
41
+ authToken: '',
42
+ },
43
+ user: {
44
+ theme: 'auto',
45
+ language: 'en',
46
+ notifications: true,
47
+ },
48
+ version: '0.3.0',
49
+ };
50
+ class ConfigManager {
51
+ config;
52
+ loaded = false;
53
+ constructor() {
54
+ this.config = { ...DEFAULT_CONFIG };
55
+ this.ensureConfigDir();
56
+ this.load();
57
+ }
58
+ ensureConfigDir() {
59
+ if (!fs_1.default.existsSync(CONFIG_DIR)) {
60
+ fs_1.default.mkdirSync(CONFIG_DIR, { recursive: true });
61
+ logger.info(`Created config directory: ${CONFIG_DIR}`);
62
+ }
63
+ }
64
+ load() {
65
+ try {
66
+ if (fs_1.default.existsSync(CONFIG_FILE)) {
67
+ const data = fs_1.default.readFileSync(CONFIG_FILE, 'utf-8');
68
+ const loaded = JSON.parse(data);
69
+ this.config = this.mergeConfig(DEFAULT_CONFIG, loaded);
70
+ this.loaded = true;
71
+ logger.info('Configuration loaded successfully');
72
+ }
73
+ else {
74
+ this.save(); // Create default config file
75
+ }
76
+ }
77
+ catch (error) {
78
+ logger.error(`Failed to load config: ${error.message}`);
79
+ this.config = { ...DEFAULT_CONFIG };
80
+ }
81
+ }
82
+ mergeConfig(defaults, loaded) {
83
+ return {
84
+ llm: { ...defaults.llm, ...loaded.llm },
85
+ system: { ...defaults.system, ...loaded.system },
86
+ webui: { ...defaults.webui, ...loaded.webui },
87
+ user: { ...defaults.user, ...loaded.user },
88
+ version: loaded.version || defaults.version,
89
+ };
90
+ }
91
+ save() {
92
+ try {
93
+ this.ensureConfigDir();
94
+ fs_1.default.writeFileSync(CONFIG_FILE, JSON.stringify(this.config, null, 2));
95
+ logger.info('Configuration saved');
96
+ }
97
+ catch (error) {
98
+ logger.error(`Failed to save config: ${error.message}`);
99
+ }
100
+ }
101
+ get() {
102
+ return { ...this.config };
103
+ }
104
+ getLLM() {
105
+ return { ...this.config.llm };
106
+ }
107
+ getSystem() {
108
+ return { ...this.config.system };
109
+ }
110
+ getWebUI() {
111
+ return { ...this.config.webui };
112
+ }
113
+ getUser() {
114
+ return { ...this.config.user };
115
+ }
116
+ updateLLM(settings) {
117
+ this.config.llm = { ...this.config.llm, ...settings };
118
+ this.save();
119
+ }
120
+ updateSystem(settings) {
121
+ this.config.system = { ...this.config.system, ...settings };
122
+ this.save();
123
+ }
124
+ updateWebUI(settings) {
125
+ this.config.webui = { ...this.config.webui, ...settings };
126
+ this.save();
127
+ }
128
+ updateUser(settings) {
129
+ this.config.user = { ...this.config.user, ...settings };
130
+ this.save();
131
+ }
132
+ update(path, value) {
133
+ const parts = path.split('.');
134
+ let current = this.config;
135
+ for (let i = 0; i < parts.length - 1; i++) {
136
+ if (!(parts[i] in current)) {
137
+ throw new Error(`Invalid config path: ${path}`);
138
+ }
139
+ current = current[parts[i]];
140
+ }
141
+ const lastKey = parts[parts.length - 1];
142
+ if (!(lastKey in current)) {
143
+ throw new Error(`Invalid config key: ${lastKey}`);
144
+ }
145
+ current[lastKey] = value;
146
+ this.save();
147
+ }
148
+ getValue(path) {
149
+ const parts = path.split('.');
150
+ let current = this.config;
151
+ for (const part of parts) {
152
+ if (!(part in current)) {
153
+ return undefined;
154
+ }
155
+ current = current[part];
156
+ }
157
+ return current;
158
+ }
159
+ reset() {
160
+ this.config = { ...DEFAULT_CONFIG };
161
+ this.save();
162
+ logger.info('Configuration reset to defaults');
163
+ }
164
+ getConfigPath() {
165
+ return CONFIG_FILE;
166
+ }
167
+ export() {
168
+ return JSON.stringify(this.config, null, 2);
169
+ }
170
+ import(json) {
171
+ try {
172
+ const loaded = JSON.parse(json);
173
+ this.config = this.mergeConfig(DEFAULT_CONFIG, loaded);
174
+ this.save();
175
+ logger.info('Configuration imported successfully');
176
+ }
177
+ catch (error) {
178
+ logger.error(`Failed to import config: ${error.message}`);
179
+ throw error;
180
+ }
181
+ }
182
+ }
183
+ // Singleton instance
184
+ let configManager = null;
185
+ function getConfig() {
186
+ if (!configManager) {
187
+ configManager = new ConfigManager();
188
+ }
189
+ return configManager;
190
+ }
191
+ function resetConfig() {
192
+ configManager = null;
193
+ }
194
+ // Environment variable loader - merges env vars with config
195
+ function loadEnvConfig() {
196
+ const config = getConfig();
197
+ // Override with environment variables if present
198
+ if (process.env.OPENROUTER_API_KEY) {
199
+ config.updateLLM({
200
+ provider: 'openrouter',
201
+ apiKey: process.env.OPENROUTER_API_KEY
202
+ });
203
+ }
204
+ if (process.env.OPENAI_API_KEY) {
205
+ config.updateLLM({
206
+ provider: 'openai',
207
+ apiKey: process.env.OPENAI_API_KEY
208
+ });
209
+ }
210
+ if (process.env.ANTHROPIC_API_KEY) {
211
+ config.updateLLM({
212
+ provider: 'anthropic',
213
+ apiKey: process.env.ANTHROPIC_API_KEY
214
+ });
215
+ }
216
+ if (process.env.LINGUCLAW_MODEL) {
217
+ config.updateLLM({ model: process.env.LINGUCLAW_MODEL });
218
+ }
219
+ if (process.env.LINGUCLAW_MAX_TOKENS) {
220
+ config.updateLLM({ maxTokens: parseInt(process.env.LINGUCLAW_MAX_TOKENS) });
221
+ }
222
+ if (process.env.LINGUCLAW_MAX_STEPS) {
223
+ config.updateSystem({ maxSteps: parseInt(process.env.LINGUCLAW_MAX_STEPS) });
224
+ }
225
+ if (process.env.LINGUCLAW_LOG_LEVEL) {
226
+ config.updateSystem({ logLevel: process.env.LINGUCLAW_LOG_LEVEL });
227
+ }
228
+ if (process.env.LINGUCLAW_WEB_PORT) {
229
+ config.updateWebUI({ port: parseInt(process.env.LINGUCLAW_WEB_PORT) });
230
+ }
231
+ }
232
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,359 @@
1
+ /**
2
+ * LinguClaw Advanced Architecture
3
+ * Multi-language code analysis platform with plugin system
4
+ */
5
+ import { EventEmitter } from 'events';
6
+ export interface LanguageSupport {
7
+ id: string;
8
+ name: string;
9
+ extensions: string[];
10
+ parser: CodeParser;
11
+ analyzer: CodeAnalyzer;
12
+ formatter?: CodeFormatter;
13
+ linter?: Linter;
14
+ }
15
+ export interface CodeParser {
16
+ parse(source: string, filePath: string): ParseResult;
17
+ parseStream(source: ReadableStream<string>): AsyncGenerator<ParseResult>;
18
+ }
19
+ export interface CodeAnalyzer {
20
+ analyze(ast: ASTNode, context: AnalysisContext): AnalysisResult;
21
+ findDependencies(ast: ASTNode): Dependency[];
22
+ findComplexity(ast: ASTNode): ComplexityMetrics;
23
+ findSecurityIssues(ast: ASTNode): SecurityIssue[];
24
+ }
25
+ export interface CodeFormatter {
26
+ format(source: string, options: FormatOptions): string;
27
+ checkFormatting(source: string): FormatResult;
28
+ }
29
+ export interface Linter {
30
+ lint(source: string, config: LintConfig): LintResult;
31
+ autoFix(source: string): string;
32
+ }
33
+ export interface ASTNode {
34
+ type: string;
35
+ id: string;
36
+ location: SourceLocation;
37
+ children: ASTNode[];
38
+ parent?: ASTNode;
39
+ metadata: Record<string, any>;
40
+ }
41
+ export interface SourceLocation {
42
+ file: string;
43
+ startLine: number;
44
+ startColumn: number;
45
+ endLine: number;
46
+ endColumn: number;
47
+ byteOffset: number;
48
+ }
49
+ export interface ParseResult {
50
+ ast: ASTNode;
51
+ errors: ParseError[];
52
+ warnings: ParseWarning[];
53
+ tokens: Token[];
54
+ comments: Comment[];
55
+ }
56
+ export interface AnalysisResult {
57
+ symbols: SymbolTable;
58
+ callGraph: CallGraph;
59
+ dataFlow: DataFlowGraph;
60
+ controlFlow: ControlFlowGraph;
61
+ typeInference: TypeMap;
62
+ metrics: CodeMetrics;
63
+ suggestions: CodeSuggestion[];
64
+ }
65
+ export interface SymbolTable {
66
+ variables: Map<string, VariableInfo>;
67
+ functions: Map<string, FunctionInfo>;
68
+ classes: Map<string, ClassInfo>;
69
+ modules: Map<string, ModuleInfo>;
70
+ imports: ImportInfo[];
71
+ exports: ExportInfo[];
72
+ }
73
+ export interface VariableInfo {
74
+ name: string;
75
+ type: string;
76
+ mutable: boolean;
77
+ scope: Scope;
78
+ initialized: boolean;
79
+ references: Reference[];
80
+ documentation?: string;
81
+ }
82
+ export interface FunctionInfo {
83
+ name: string;
84
+ signature: string;
85
+ parameters: ParameterInfo[];
86
+ returnType: string;
87
+ async: boolean;
88
+ pure: boolean;
89
+ recursive: boolean;
90
+ complexity: ComplexityMetrics;
91
+ callers: string[];
92
+ callees: string[];
93
+ documentation?: string;
94
+ }
95
+ export interface ClassInfo {
96
+ name: string;
97
+ superClass?: string;
98
+ interfaces: string[];
99
+ methods: FunctionInfo[];
100
+ properties: VariableInfo[];
101
+ isAbstract: boolean;
102
+ isFinal: boolean;
103
+ documentation?: string;
104
+ }
105
+ export interface CallGraph {
106
+ nodes: string[];
107
+ edges: CallEdge[];
108
+ entryPoints: string[];
109
+ deadCode: string[];
110
+ }
111
+ export interface DataFlowGraph {
112
+ definitions: Map<string, Definition[]>;
113
+ uses: Map<string, Use[]>;
114
+ taintedSources: string[];
115
+ sinks: string[];
116
+ }
117
+ export interface ControlFlowGraph {
118
+ nodes: BasicBlock[];
119
+ edges: FlowEdge[];
120
+ loops: LoopInfo[];
121
+ branches: BranchInfo[];
122
+ }
123
+ export interface CodeMetrics {
124
+ linesOfCode: number;
125
+ logicalLines: number;
126
+ commentLines: number;
127
+ blankLines: number;
128
+ cyclomaticComplexity: number;
129
+ cognitiveComplexity: number;
130
+ halsteadMetrics: HalsteadMetrics;
131
+ maintainabilityIndex: number;
132
+ duplicateRate: number;
133
+ testCoverage?: number;
134
+ }
135
+ export interface HalsteadMetrics {
136
+ operators: number;
137
+ operands: number;
138
+ uniqueOperators: number;
139
+ uniqueOperands: number;
140
+ volume: number;
141
+ difficulty: number;
142
+ effort: number;
143
+ timeToProgram: number;
144
+ bugsDelivered: number;
145
+ }
146
+ export interface ComplexityMetrics {
147
+ cyclomatic: number;
148
+ cognitive: number;
149
+ nestingDepth: number;
150
+ parameterCount: number;
151
+ }
152
+ export interface SecurityIssue {
153
+ id: string;
154
+ severity: 'critical' | 'high' | 'medium' | 'low';
155
+ category: SecurityCategory;
156
+ cwe?: string;
157
+ cve?: string;
158
+ location: SourceLocation;
159
+ description: string;
160
+ remediation: string;
161
+ falsePositiveLikelihood: number;
162
+ }
163
+ type SecurityCategory = 'sql-injection' | 'xss' | 'command-injection' | 'path-traversal' | 'insecure-deserialization' | 'cryptographic-failure' | 'broken-authentication' | 'sensitive-data-exposure' | 'xxe' | 'ssrf' | 'race-condition' | 'memory-safety' | 'deserialization' | 'weak-cryptography' | 'debug-code' | 'secrets';
164
+ export interface Plugin {
165
+ id: string;
166
+ name: string;
167
+ version: string;
168
+ description: string;
169
+ author: string;
170
+ hooks: PluginHooks;
171
+ languages: string[];
172
+ dependencies: string[];
173
+ initialize(context: PluginContext): Promise<void>;
174
+ shutdown(): Promise<void>;
175
+ }
176
+ export interface PluginHooks {
177
+ beforeParse?: (source: string, language: string) => string | Promise<string>;
178
+ afterParse?: (result: ParseResult) => ParseResult | Promise<ParseResult>;
179
+ beforeAnalyze?: (ast: ASTNode) => void | Promise<void>;
180
+ afterAnalyze?: (result: AnalysisResult) => AnalysisResult | Promise<AnalysisResult>;
181
+ onError?: (error: Error) => void;
182
+ }
183
+ export interface PluginContext {
184
+ logger: Logger;
185
+ config: PluginConfig;
186
+ storage: Storage;
187
+ events: EventEmitter;
188
+ registerLanguage(language: LanguageSupport): void;
189
+ registerCommand(command: Command): void;
190
+ }
191
+ export interface AIContext {
192
+ conversation: Conversation;
193
+ codebase: CodebaseKnowledge;
194
+ memory: WorkingMemory;
195
+ tools: AITool[];
196
+ }
197
+ export interface Conversation {
198
+ id: string;
199
+ messages: Message[];
200
+ context: MessageContext;
201
+ streaming: boolean;
202
+ }
203
+ export interface CodebaseKnowledge {
204
+ files: Map<string, FileKnowledge>;
205
+ dependencies: DependencyGraph;
206
+ architecture: ArchitectureView;
207
+ recentChanges: ChangeLog[];
208
+ }
209
+ export interface FileKnowledge {
210
+ path: string;
211
+ language: string;
212
+ summary: string;
213
+ keyFunctions: string[];
214
+ keyClasses: string[];
215
+ imports: string[];
216
+ exports: string[];
217
+ lastModified: Date;
218
+ analysis: AnalysisResult;
219
+ }
220
+ export interface WorkingMemory {
221
+ shortTerm: string[];
222
+ longTerm: Map<string, MemoryEntry>;
223
+ episodic: Episode[];
224
+ semantic: SemanticNetwork;
225
+ }
226
+ export interface UIComponent {
227
+ id: string;
228
+ type: 'panel' | 'editor' | 'visualization' | 'terminal' | 'chat';
229
+ position: UIPosition;
230
+ state: ComponentState;
231
+ render(context: RenderContext): any;
232
+ }
233
+ export interface UIPosition {
234
+ x: number;
235
+ y: number;
236
+ width: number;
237
+ height: number;
238
+ zIndex: number;
239
+ docked: boolean;
240
+ floating: boolean;
241
+ }
242
+ export interface ComponentState {
243
+ visible: boolean;
244
+ active: boolean;
245
+ focused: boolean;
246
+ minimized: boolean;
247
+ maximized: boolean;
248
+ data: Record<string, any>;
249
+ }
250
+ export interface RenderContext {
251
+ theme: UITheme;
252
+ scale: number;
253
+ preferences: UserPreferences;
254
+ events: EventEmitter;
255
+ }
256
+ export interface UITheme {
257
+ name: string;
258
+ colors: Record<string, string>;
259
+ fonts: Record<string, string>;
260
+ spacing: Record<string, number>;
261
+ animations: AnimationConfig;
262
+ }
263
+ export interface CollaborationSession {
264
+ id: string;
265
+ projectId: string;
266
+ participants: Participant[];
267
+ cursors: Map<string, CursorPosition>;
268
+ selections: Map<string, TextSelection[]>;
269
+ operations: Operation[];
270
+ chat: ChatMessage[];
271
+ voice: VoiceChannel;
272
+ permissions: PermissionSet;
273
+ }
274
+ export interface Participant {
275
+ id: string;
276
+ name: string;
277
+ avatar: string;
278
+ role: 'owner' | 'editor' | 'viewer';
279
+ cursorColor: string;
280
+ lastActive: Date;
281
+ }
282
+ export interface Operation {
283
+ id: string;
284
+ type: 'insert' | 'delete' | 'replace' | 'move';
285
+ author: string;
286
+ timestamp: number;
287
+ file: string;
288
+ range: TextRange;
289
+ content?: string;
290
+ dependencies: string[];
291
+ }
292
+ type Token = any;
293
+ type Comment = any;
294
+ type ParseError = any;
295
+ type ParseWarning = any;
296
+ type Dependency = any;
297
+ type CodeSuggestion = any;
298
+ type ParameterInfo = any;
299
+ type ModuleInfo = any;
300
+ type ImportInfo = any;
301
+ type ExportInfo = any;
302
+ type Scope = any;
303
+ type Reference = any;
304
+ type CallEdge = any;
305
+ type Definition = any;
306
+ type Use = any;
307
+ type BasicBlock = any;
308
+ type FlowEdge = any;
309
+ type LoopInfo = any;
310
+ type BranchInfo = any;
311
+ type TypeMap = any;
312
+ type FormatOptions = any;
313
+ type FormatResult = any;
314
+ type LintConfig = any;
315
+ type LintResult = any;
316
+ type AnalysisContext = any;
317
+ type Logger = any;
318
+ type PluginConfig = any;
319
+ type Storage = any;
320
+ type Command = any;
321
+ type Message = any;
322
+ type MessageContext = any;
323
+ type AITool = any;
324
+ type DependencyGraph = any;
325
+ type ArchitectureView = any;
326
+ type ChangeLog = any;
327
+ type MemoryEntry = any;
328
+ type Episode = any;
329
+ type SemanticNetwork = any;
330
+ type TextSelection = any;
331
+ type CursorPosition = any;
332
+ type TextRange = any;
333
+ type ChatMessage = any;
334
+ type VoiceChannel = any;
335
+ type PermissionSet = any;
336
+ type UserPreferences = any;
337
+ type AnimationConfig = any;
338
+ export declare class LinguClawEngine extends EventEmitter {
339
+ private languages;
340
+ private plugins;
341
+ private sessions;
342
+ private aiContext;
343
+ private storage;
344
+ constructor(config: EngineConfig);
345
+ registerLanguage(language: LanguageSupport): Promise<void>;
346
+ loadPlugin(plugin: Plugin): Promise<void>;
347
+ analyzeFile(filePath: string, source: string): Promise<AnalysisResult>;
348
+ private findLanguageByExtension;
349
+ private initializeAIContext;
350
+ private registerCommand;
351
+ }
352
+ export interface EngineConfig {
353
+ storage: Storage;
354
+ maxConcurrentAnalyses?: number;
355
+ cacheSize?: number;
356
+ aiProvider?: string;
357
+ }
358
+ export {};
359
+ //# sourceMappingURL=engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/core/engine.ts"],"names":[],"mappings":"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"}