erosolar-cli 1.2.5 → 1.2.6
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/README.md +4 -4
- package/dist/capabilities/learnCapability.d.ts +13 -0
- package/dist/capabilities/learnCapability.d.ts.map +1 -0
- package/dist/capabilities/learnCapability.js +24 -0
- package/dist/capabilities/learnCapability.js.map +1 -0
- package/dist/contracts/tools.schema.json +9 -0
- package/dist/plugins/tools/learn/learnPlugin.d.ts +3 -0
- package/dist/plugins/tools/learn/learnPlugin.d.ts.map +1 -0
- package/dist/plugins/tools/learn/learnPlugin.js +14 -0
- package/dist/plugins/tools/learn/learnPlugin.js.map +1 -0
- package/dist/plugins/tools/nodeDefaults.d.ts.map +1 -1
- package/dist/plugins/tools/nodeDefaults.js +2 -0
- package/dist/plugins/tools/nodeDefaults.js.map +1 -1
- package/dist/tools/learnTools.d.ts +152 -0
- package/dist/tools/learnTools.d.ts.map +1 -0
- package/dist/tools/learnTools.js +1819 -0
- package/dist/tools/learnTools.js.map +1 -0
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -146,8 +146,8 @@ erosolar-cli --json
|
|
|
146
146
|
## Development
|
|
147
147
|
|
|
148
148
|
```bash
|
|
149
|
-
git clone https://github.com/
|
|
150
|
-
cd erosolar-
|
|
149
|
+
git clone https://github.com/ErosolarAI/erosolar-by-bo.git
|
|
150
|
+
cd erosolar-by-bo
|
|
151
151
|
npm install
|
|
152
152
|
npm run build
|
|
153
153
|
npm run dev
|
|
@@ -171,5 +171,5 @@ MIT
|
|
|
171
171
|
|
|
172
172
|
## Links
|
|
173
173
|
|
|
174
|
-
- [GitHub Repository](https://github.com/
|
|
175
|
-
- [Issues](https://github.com/
|
|
174
|
+
- [GitHub Repository](https://github.com/ErosolarAI/erosolar-by-bo)
|
|
175
|
+
- [Issues](https://github.com/ErosolarAI/erosolar-by-bo/issues)
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { CapabilityContribution, CapabilityContext, CapabilityModule } from '../runtime/agentHost.js';
|
|
2
|
+
export interface LearnCapabilityOptions {
|
|
3
|
+
workingDir?: string;
|
|
4
|
+
id?: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare class LearnCapabilityModule implements CapabilityModule {
|
|
8
|
+
readonly id = "capability.learn";
|
|
9
|
+
private readonly options;
|
|
10
|
+
constructor(options?: LearnCapabilityOptions);
|
|
11
|
+
create(context: CapabilityContext): Promise<CapabilityContribution>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=learnCapability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"learnCapability.d.ts","sourceRoot":"","sources":["../../src/capabilities/learnCapability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAG3G,MAAM,WAAW,sBAAsB;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,qBAAsB,YAAW,gBAAgB;IAC5D,QAAQ,CAAC,EAAE,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;gBAErC,OAAO,GAAE,sBAA2B;IAI1C,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAe1E"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { createLearnTools } from '../tools/learnTools.js';
|
|
2
|
+
export class LearnCapabilityModule {
|
|
3
|
+
id = 'capability.learn';
|
|
4
|
+
options;
|
|
5
|
+
constructor(options = {}) {
|
|
6
|
+
this.options = options;
|
|
7
|
+
}
|
|
8
|
+
async create(context) {
|
|
9
|
+
const workingDir = this.options.workingDir ?? context.workingDir;
|
|
10
|
+
return {
|
|
11
|
+
id: this.options.id ?? 'learn.tools.exploration',
|
|
12
|
+
description: this.options.description ?? 'Codebase exploration and learning tools for understanding project structure, patterns, and conventions.',
|
|
13
|
+
toolSuite: {
|
|
14
|
+
id: 'learn',
|
|
15
|
+
description: 'Codebase learning and exploration',
|
|
16
|
+
tools: createLearnTools(workingDir),
|
|
17
|
+
},
|
|
18
|
+
metadata: {
|
|
19
|
+
workingDir,
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=learnCapability.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"learnCapability.js","sourceRoot":"","sources":["../../src/capabilities/learnCapability.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAQ1D,MAAM,OAAO,qBAAqB;IACvB,EAAE,GAAG,kBAAkB,CAAC;IAChB,OAAO,CAAyB;IAEjD,YAAY,UAAkC,EAAE;QAC9C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAA0B;QACrC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC;QACjE,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,yBAAyB;YAChD,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,yGAAyG;YAClJ,SAAS,EAAE;gBACT,EAAE,EAAE,OAAO;gBACX,WAAW,EAAE,mCAAmC;gBAChD,KAAK,EAAE,gBAAgB,CAAC,UAAU,CAAC;aACpC;YACD,QAAQ,EAAE;gBACR,UAAU;aACX;SACF,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -176,6 +176,15 @@
|
|
|
176
176
|
"category": "integrations",
|
|
177
177
|
"scopes": ["integrations:mcp"],
|
|
178
178
|
"pluginIds": ["tool.mcp.bridge"]
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"id": "learn",
|
|
182
|
+
"label": "Codebase learning",
|
|
183
|
+
"description": "Explore and learn codebases without external APIs. Analyze structure, patterns, architecture, and conventions.",
|
|
184
|
+
"defaultEnabled": true,
|
|
185
|
+
"category": "analysis",
|
|
186
|
+
"scopes": ["analysis:code", "analysis:knowledge"],
|
|
187
|
+
"pluginIds": ["tool.learn.exploration"]
|
|
179
188
|
}
|
|
180
189
|
]
|
|
181
190
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"learnPlugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/tools/learn/learnPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAqB,MAAM,gBAAgB,CAAC;AAGpE,wBAAgB,qBAAqB,IAAI,UAAU,CAWlD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { LearnCapabilityModule } from '../../../capabilities/learnCapability.js';
|
|
2
|
+
export function createLearnToolPlugin() {
|
|
3
|
+
return {
|
|
4
|
+
id: 'tool.learn.exploration',
|
|
5
|
+
description: 'Codebase exploration and learning tools for understanding project structure, patterns, and conventions.',
|
|
6
|
+
targets: ['node'],
|
|
7
|
+
create: async (context) => {
|
|
8
|
+
return new LearnCapabilityModule({
|
|
9
|
+
workingDir: context.workingDir,
|
|
10
|
+
});
|
|
11
|
+
},
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=learnPlugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"learnPlugin.js","sourceRoot":"","sources":["../../../../src/plugins/tools/learn/learnPlugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAEjF,MAAM,UAAU,qBAAqB;IACnC,OAAO;QACL,EAAE,EAAE,wBAAwB;QAC5B,WAAW,EAAE,yGAAyG;QACtH,OAAO,EAAE,CAAC,MAAM,CAAC;QACjB,MAAM,EAAE,KAAK,EAAE,OAA0B,EAAE,EAAE;YAC3C,OAAO,IAAI,qBAAqB,CAAC;gBAC/B,UAAU,EAAE,OAAO,CAAC,UAAU;aAC/B,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodeDefaults.d.ts","sourceRoot":"","sources":["../../../src/plugins/tools/nodeDefaults.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"nodeDefaults.d.ts","sourceRoot":"","sources":["../../../src/plugins/tools/nodeDefaults.ts"],"names":[],"mappings":"AA0BA,wBAAgB,8BAA8B,IAAI,IAAI,CA6BrD"}
|
|
@@ -20,6 +20,7 @@ import { createAgentSpawningToolPlugin } from './agentSpawning/agentSpawningPlug
|
|
|
20
20
|
import { createEnhancedGitToolPlugin } from './enhancedGit/enhancedGitPlugin.js';
|
|
21
21
|
import { createSkillToolPlugin } from './skills/skillPlugin.js';
|
|
22
22
|
import { createMcpToolPlugin } from './mcp/mcpPlugin.js';
|
|
23
|
+
import { createLearnToolPlugin } from './learn/learnPlugin.js';
|
|
23
24
|
let registered = false;
|
|
24
25
|
export function registerDefaultNodeToolPlugins() {
|
|
25
26
|
if (registered) {
|
|
@@ -46,6 +47,7 @@ export function registerDefaultNodeToolPlugins() {
|
|
|
46
47
|
registerToolPlugin(createEnhancedGitToolPlugin());
|
|
47
48
|
registerToolPlugin(createSkillToolPlugin());
|
|
48
49
|
registerToolPlugin(createMcpToolPlugin());
|
|
50
|
+
registerToolPlugin(createLearnToolPlugin());
|
|
49
51
|
registered = true;
|
|
50
52
|
}
|
|
51
53
|
//# sourceMappingURL=nodeDefaults.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodeDefaults.js","sourceRoot":"","sources":["../../../src/plugins/tools/nodeDefaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,+BAA+B,EAAE,MAAM,uCAAuC,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAChF,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,6BAA6B,EAAE,MAAM,wCAAwC,CAAC;AACvF,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"nodeDefaults.js","sourceRoot":"","sources":["../../../src/plugins/tools/nodeDefaults.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Learn Tools - Codebase exploration and learning tools for understanding codebases.
|
|
3
|
+
*
|
|
4
|
+
* These tools enable deep codebase exploration without requiring external API calls
|
|
5
|
+
* for the core analysis. The AI can use these tools to build a comprehensive
|
|
6
|
+
* understanding of any codebase's architecture, patterns, and conventions.
|
|
7
|
+
*
|
|
8
|
+
* Features:
|
|
9
|
+
* - Codebase structure analysis
|
|
10
|
+
* - Pattern detection and learning
|
|
11
|
+
* - Architecture understanding
|
|
12
|
+
* - File relationship mapping
|
|
13
|
+
* - Topic-based exploration
|
|
14
|
+
*/
|
|
15
|
+
import type { ToolDefinition } from '../core/toolRuntime.js';
|
|
16
|
+
export interface CodebaseAnalysis {
|
|
17
|
+
rootDir: string;
|
|
18
|
+
totalFiles: number;
|
|
19
|
+
totalDirectories: number;
|
|
20
|
+
languages: LanguageBreakdown[];
|
|
21
|
+
structure: DirectoryNode;
|
|
22
|
+
patterns: DetectedPattern[];
|
|
23
|
+
architecture: ArchitectureInsights;
|
|
24
|
+
entryPoints: string[];
|
|
25
|
+
configFiles: ConfigFileInfo[];
|
|
26
|
+
dependencies: DependencyInfo;
|
|
27
|
+
}
|
|
28
|
+
export interface LanguageBreakdown {
|
|
29
|
+
language: string;
|
|
30
|
+
extension: string;
|
|
31
|
+
fileCount: number;
|
|
32
|
+
percentage: number;
|
|
33
|
+
}
|
|
34
|
+
export interface DirectoryNode {
|
|
35
|
+
name: string;
|
|
36
|
+
path: string;
|
|
37
|
+
type: 'file' | 'directory';
|
|
38
|
+
children?: DirectoryNode[];
|
|
39
|
+
size?: number;
|
|
40
|
+
language?: string;
|
|
41
|
+
}
|
|
42
|
+
export interface DetectedPattern {
|
|
43
|
+
name: string;
|
|
44
|
+
type: 'architectural' | 'design' | 'naming' | 'structural';
|
|
45
|
+
description: string;
|
|
46
|
+
evidence: string[];
|
|
47
|
+
confidence: 'high' | 'medium' | 'low';
|
|
48
|
+
}
|
|
49
|
+
export interface ArchitectureInsights {
|
|
50
|
+
type: string;
|
|
51
|
+
layers: string[];
|
|
52
|
+
components: ComponentInfo[];
|
|
53
|
+
dataFlow: string[];
|
|
54
|
+
}
|
|
55
|
+
export interface ComponentInfo {
|
|
56
|
+
name: string;
|
|
57
|
+
type: string;
|
|
58
|
+
path: string;
|
|
59
|
+
responsibilities: string[];
|
|
60
|
+
}
|
|
61
|
+
export interface ConfigFileInfo {
|
|
62
|
+
name: string;
|
|
63
|
+
path: string;
|
|
64
|
+
type: string;
|
|
65
|
+
purpose: string;
|
|
66
|
+
}
|
|
67
|
+
export interface DependencyInfo {
|
|
68
|
+
packageManager?: string;
|
|
69
|
+
dependencies: string[];
|
|
70
|
+
devDependencies: string[];
|
|
71
|
+
hasDependencyFile: boolean;
|
|
72
|
+
}
|
|
73
|
+
export interface FileAnalysis {
|
|
74
|
+
path: string;
|
|
75
|
+
language: string;
|
|
76
|
+
size: number;
|
|
77
|
+
lineCount: number;
|
|
78
|
+
purpose: string;
|
|
79
|
+
imports: ImportInfo[];
|
|
80
|
+
exports: ExportInfo[];
|
|
81
|
+
functions: FunctionSummary[];
|
|
82
|
+
classes: ClassSummary[];
|
|
83
|
+
patterns: string[];
|
|
84
|
+
relationships: FileRelationship[];
|
|
85
|
+
complexity: ComplexityMetrics;
|
|
86
|
+
}
|
|
87
|
+
export interface ImportInfo {
|
|
88
|
+
source: string;
|
|
89
|
+
specifiers: string[];
|
|
90
|
+
isRelative: boolean;
|
|
91
|
+
resolvedPath?: string;
|
|
92
|
+
}
|
|
93
|
+
export interface ExportInfo {
|
|
94
|
+
name: string;
|
|
95
|
+
type: 'default' | 'named' | 'type' | 'interface' | 'class' | 'function';
|
|
96
|
+
}
|
|
97
|
+
export interface FunctionSummary {
|
|
98
|
+
name: string;
|
|
99
|
+
line: number;
|
|
100
|
+
parameters: string[];
|
|
101
|
+
returnType?: string;
|
|
102
|
+
isAsync: boolean;
|
|
103
|
+
isExported: boolean;
|
|
104
|
+
complexity: number;
|
|
105
|
+
purpose?: string;
|
|
106
|
+
}
|
|
107
|
+
export interface ClassSummary {
|
|
108
|
+
name: string;
|
|
109
|
+
line: number;
|
|
110
|
+
methods: string[];
|
|
111
|
+
properties: string[];
|
|
112
|
+
extends?: string;
|
|
113
|
+
implements?: string[];
|
|
114
|
+
isExported: boolean;
|
|
115
|
+
}
|
|
116
|
+
export interface FileRelationship {
|
|
117
|
+
targetFile: string;
|
|
118
|
+
type: 'imports' | 'imported-by' | 'extends' | 'implements' | 'uses';
|
|
119
|
+
symbols: string[];
|
|
120
|
+
}
|
|
121
|
+
export interface ComplexityMetrics {
|
|
122
|
+
cyclomaticComplexity: number;
|
|
123
|
+
cognitiveComplexity: number;
|
|
124
|
+
maintainabilityIndex: number;
|
|
125
|
+
linesOfCode: number;
|
|
126
|
+
linesOfComments: number;
|
|
127
|
+
}
|
|
128
|
+
export interface TopicAnalysis {
|
|
129
|
+
topic: string;
|
|
130
|
+
relevantFiles: RelevantFile[];
|
|
131
|
+
patterns: TopicPattern[];
|
|
132
|
+
examples: CodeExample[];
|
|
133
|
+
summary: string;
|
|
134
|
+
}
|
|
135
|
+
export interface RelevantFile {
|
|
136
|
+
path: string;
|
|
137
|
+
relevance: number;
|
|
138
|
+
snippets: string[];
|
|
139
|
+
}
|
|
140
|
+
export interface TopicPattern {
|
|
141
|
+
name: string;
|
|
142
|
+
occurrences: number;
|
|
143
|
+
locations: string[];
|
|
144
|
+
}
|
|
145
|
+
export interface CodeExample {
|
|
146
|
+
file: string;
|
|
147
|
+
line: number;
|
|
148
|
+
code: string;
|
|
149
|
+
explanation: string;
|
|
150
|
+
}
|
|
151
|
+
export declare function createLearnTools(workingDir: string): ToolDefinition[];
|
|
152
|
+
//# sourceMappingURL=learnTools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"learnTools.d.ts","sourceRoot":"","sources":["../../src/tools/learnTools.ts"],"names":[],"mappings":"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"}
|