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.
- package/LICENSE +21 -0
- package/README.md +161 -0
- package/dist/agent-system.d.ts +196 -0
- package/dist/agent-system.d.ts.map +1 -0
- package/dist/agent-system.js +738 -0
- package/dist/agent-system.js.map +1 -0
- package/dist/alphabeta.d.ts +54 -0
- package/dist/alphabeta.d.ts.map +1 -0
- package/dist/alphabeta.js +193 -0
- package/dist/alphabeta.js.map +1 -0
- package/dist/browser.d.ts +62 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +224 -0
- package/dist/browser.js.map +1 -0
- package/dist/cli.d.ts +7 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +565 -0
- package/dist/cli.js.map +1 -0
- package/dist/code-parser.d.ts +39 -0
- package/dist/code-parser.d.ts.map +1 -0
- package/dist/code-parser.js +385 -0
- package/dist/code-parser.js.map +1 -0
- package/dist/config.d.ts +66 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +232 -0
- package/dist/config.js.map +1 -0
- package/dist/core/engine.d.ts +359 -0
- package/dist/core/engine.d.ts.map +1 -0
- package/dist/core/engine.js +127 -0
- package/dist/core/engine.js.map +1 -0
- package/dist/daemon.d.ts +29 -0
- package/dist/daemon.d.ts.map +1 -0
- package/dist/daemon.js +212 -0
- package/dist/daemon.js.map +1 -0
- package/dist/email-receiver.d.ts +63 -0
- package/dist/email-receiver.d.ts.map +1 -0
- package/dist/email-receiver.js +553 -0
- package/dist/email-receiver.js.map +1 -0
- package/dist/git-integration.d.ts +180 -0
- package/dist/git-integration.d.ts.map +1 -0
- package/dist/git-integration.js +850 -0
- package/dist/git-integration.js.map +1 -0
- package/dist/inbox.d.ts +84 -0
- package/dist/inbox.d.ts.map +1 -0
- package/dist/inbox.js +198 -0
- package/dist/inbox.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +41 -0
- package/dist/index.js.map +1 -0
- package/dist/languages/cpp.d.ts +51 -0
- package/dist/languages/cpp.d.ts.map +1 -0
- package/dist/languages/cpp.js +930 -0
- package/dist/languages/cpp.js.map +1 -0
- package/dist/languages/csharp.d.ts +79 -0
- package/dist/languages/csharp.d.ts.map +1 -0
- package/dist/languages/csharp.js +1776 -0
- package/dist/languages/csharp.js.map +1 -0
- package/dist/languages/go.d.ts +50 -0
- package/dist/languages/go.d.ts.map +1 -0
- package/dist/languages/go.js +882 -0
- package/dist/languages/go.js.map +1 -0
- package/dist/languages/java.d.ts +47 -0
- package/dist/languages/java.d.ts.map +1 -0
- package/dist/languages/java.js +649 -0
- package/dist/languages/java.js.map +1 -0
- package/dist/languages/python.d.ts +47 -0
- package/dist/languages/python.d.ts.map +1 -0
- package/dist/languages/python.js +655 -0
- package/dist/languages/python.js.map +1 -0
- package/dist/languages/rust.d.ts +61 -0
- package/dist/languages/rust.d.ts.map +1 -0
- package/dist/languages/rust.js +1064 -0
- package/dist/languages/rust.js.map +1 -0
- package/dist/logger.d.ts +20 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +133 -0
- package/dist/logger.js.map +1 -0
- package/dist/longterm-memory.d.ts +47 -0
- package/dist/longterm-memory.d.ts.map +1 -0
- package/dist/longterm-memory.js +300 -0
- package/dist/longterm-memory.js.map +1 -0
- package/dist/memory.d.ts +42 -0
- package/dist/memory.d.ts.map +1 -0
- package/dist/memory.js +274 -0
- package/dist/memory.js.map +1 -0
- package/dist/messaging.d.ts +103 -0
- package/dist/messaging.d.ts.map +1 -0
- package/dist/messaging.js +645 -0
- package/dist/messaging.js.map +1 -0
- package/dist/multi-provider.d.ts +69 -0
- package/dist/multi-provider.d.ts.map +1 -0
- package/dist/multi-provider.js +484 -0
- package/dist/multi-provider.js.map +1 -0
- package/dist/orchestrator.d.ts +65 -0
- package/dist/orchestrator.d.ts.map +1 -0
- package/dist/orchestrator.js +441 -0
- package/dist/orchestrator.js.map +1 -0
- package/dist/plugins.d.ts +52 -0
- package/dist/plugins.d.ts.map +1 -0
- package/dist/plugins.js +215 -0
- package/dist/plugins.js.map +1 -0
- package/dist/prism-orchestrator.d.ts +26 -0
- package/dist/prism-orchestrator.d.ts.map +1 -0
- package/dist/prism-orchestrator.js +191 -0
- package/dist/prism-orchestrator.js.map +1 -0
- package/dist/prism.d.ts +46 -0
- package/dist/prism.d.ts.map +1 -0
- package/dist/prism.js +188 -0
- package/dist/prism.js.map +1 -0
- package/dist/privacy.d.ts +23 -0
- package/dist/privacy.d.ts.map +1 -0
- package/dist/privacy.js +220 -0
- package/dist/privacy.js.map +1 -0
- package/dist/proactive.d.ts +30 -0
- package/dist/proactive.d.ts.map +1 -0
- package/dist/proactive.js +260 -0
- package/dist/proactive.js.map +1 -0
- package/dist/refactoring-engine.d.ts +100 -0
- package/dist/refactoring-engine.d.ts.map +1 -0
- package/dist/refactoring-engine.js +717 -0
- package/dist/refactoring-engine.js.map +1 -0
- package/dist/resilience.d.ts +43 -0
- package/dist/resilience.d.ts.map +1 -0
- package/dist/resilience.js +200 -0
- package/dist/resilience.js.map +1 -0
- package/dist/safety.d.ts +40 -0
- package/dist/safety.d.ts.map +1 -0
- package/dist/safety.js +133 -0
- package/dist/safety.js.map +1 -0
- package/dist/sandbox.d.ts +33 -0
- package/dist/sandbox.d.ts.map +1 -0
- package/dist/sandbox.js +173 -0
- package/dist/sandbox.js.map +1 -0
- package/dist/scheduler.d.ts +72 -0
- package/dist/scheduler.d.ts.map +1 -0
- package/dist/scheduler.js +374 -0
- package/dist/scheduler.js.map +1 -0
- package/dist/semantic-memory.d.ts +70 -0
- package/dist/semantic-memory.d.ts.map +1 -0
- package/dist/semantic-memory.js +430 -0
- package/dist/semantic-memory.js.map +1 -0
- package/dist/skills.d.ts +97 -0
- package/dist/skills.d.ts.map +1 -0
- package/dist/skills.js +575 -0
- package/dist/skills.js.map +1 -0
- package/dist/static/dashboard.html +853 -0
- package/dist/static/hub.html +772 -0
- package/dist/static/index.html +818 -0
- package/dist/static/logo.svg +24 -0
- package/dist/static/workflow-editor.html +913 -0
- package/dist/tools.d.ts +67 -0
- package/dist/tools.d.ts.map +1 -0
- package/dist/tools.js +303 -0
- package/dist/tools.js.map +1 -0
- package/dist/types.d.ts +295 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +90 -0
- package/dist/types.js.map +1 -0
- package/dist/web.d.ts +76 -0
- package/dist/web.d.ts.map +1 -0
- package/dist/web.js +2139 -0
- package/dist/web.js.map +1 -0
- package/dist/workflow-engine.d.ts +114 -0
- package/dist/workflow-engine.d.ts.map +1 -0
- package/dist/workflow-engine.js +855 -0
- package/dist/workflow-engine.js.map +1 -0
- 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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"}
|