erosolar-cli 1.7.367 → 1.7.369

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 (52) hide show
  1. package/dist/capabilities/learnCapability.d.ts +9 -0
  2. package/dist/capabilities/learnCapability.d.ts.map +1 -1
  3. package/dist/capabilities/learnCapability.js +15 -2
  4. package/dist/capabilities/learnCapability.js.map +1 -1
  5. package/dist/shell/interactiveShell.d.ts +2 -0
  6. package/dist/shell/interactiveShell.d.ts.map +1 -1
  7. package/dist/shell/interactiveShell.js +32 -15
  8. package/dist/shell/interactiveShell.js.map +1 -1
  9. package/dist/shell/terminalInput.d.ts +44 -22
  10. package/dist/shell/terminalInput.d.ts.map +1 -1
  11. package/dist/shell/terminalInput.js +235 -260
  12. package/dist/shell/terminalInput.js.map +1 -1
  13. package/dist/shell/terminalInputAdapter.d.ts.map +1 -1
  14. package/dist/shell/terminalInputAdapter.js +5 -2
  15. package/dist/shell/terminalInputAdapter.js.map +1 -1
  16. package/dist/subagents/taskRunner.d.ts.map +1 -1
  17. package/dist/subagents/taskRunner.js +7 -25
  18. package/dist/subagents/taskRunner.js.map +1 -1
  19. package/dist/tools/learnTools.js +127 -4
  20. package/dist/tools/learnTools.js.map +1 -1
  21. package/dist/tools/localExplore.d.ts +225 -0
  22. package/dist/tools/localExplore.d.ts.map +1 -0
  23. package/dist/tools/localExplore.js +1295 -0
  24. package/dist/tools/localExplore.js.map +1 -0
  25. package/dist/ui/ShellUIAdapter.d.ts +28 -0
  26. package/dist/ui/ShellUIAdapter.d.ts.map +1 -1
  27. package/dist/ui/ShellUIAdapter.js +215 -9
  28. package/dist/ui/ShellUIAdapter.js.map +1 -1
  29. package/dist/ui/compactRenderer.d.ts +139 -0
  30. package/dist/ui/compactRenderer.d.ts.map +1 -0
  31. package/dist/ui/compactRenderer.js +398 -0
  32. package/dist/ui/compactRenderer.js.map +1 -0
  33. package/dist/ui/inPlaceUpdater.d.ts +181 -0
  34. package/dist/ui/inPlaceUpdater.d.ts.map +1 -0
  35. package/dist/ui/inPlaceUpdater.js +515 -0
  36. package/dist/ui/inPlaceUpdater.js.map +1 -0
  37. package/dist/ui/theme.d.ts +108 -3
  38. package/dist/ui/theme.d.ts.map +1 -1
  39. package/dist/ui/theme.js +124 -3
  40. package/dist/ui/theme.js.map +1 -1
  41. package/dist/ui/toolDisplay.d.ts +44 -7
  42. package/dist/ui/toolDisplay.d.ts.map +1 -1
  43. package/dist/ui/toolDisplay.js +201 -85
  44. package/dist/ui/toolDisplay.js.map +1 -1
  45. package/dist/ui/unified/index.d.ts +11 -0
  46. package/dist/ui/unified/index.d.ts.map +1 -1
  47. package/dist/ui/unified/index.js +16 -0
  48. package/dist/ui/unified/index.js.map +1 -1
  49. package/dist/ui/unified/layout.d.ts.map +1 -1
  50. package/dist/ui/unified/layout.js +32 -47
  51. package/dist/ui/unified/layout.js.map +1 -1
  52. package/package.json +1 -1
@@ -0,0 +1,225 @@
1
+ /**
2
+ * Local Explore Engine - Claude Code-style codebase exploration.
3
+ *
4
+ * This module implements an exploration system that mimics how Claude Code's
5
+ * explore agent works. It can work fully offline OR use the active AI model
6
+ * for enhanced query understanding and result summarization.
7
+ *
8
+ * Features:
9
+ * 1. Codebase indexing - Build a searchable index of files, functions, classes, imports
10
+ * 2. Query processing - Parse natural language questions and map to search strategies
11
+ * 3. Smart search - Combine glob, grep, and structure analysis
12
+ * 4. Answer generation - Format results in a Claude Code-like way
13
+ * 5. Caching - Store the index for fast subsequent queries
14
+ * 6. AI Enhancement (optional) - Use the active model for better query understanding
15
+ */
16
+ import type { ToolDefinition } from '../core/toolRuntime.js';
17
+ /**
18
+ * Function signature for AI enhancement.
19
+ * When provided, the explore engine can use the active AI model
20
+ * to improve query understanding and result summarization.
21
+ */
22
+ export type AIEnhancer = (prompt: string) => Promise<string>;
23
+ /**
24
+ * Context for AI-enhanced exploration.
25
+ */
26
+ export interface ExploreContext {
27
+ /** Optional AI enhancer function - when provided, uses active AI for better results */
28
+ aiEnhancer?: AIEnhancer;
29
+ /** Whether to use AI for query parsing (requires aiEnhancer) */
30
+ aiQueryParsing?: boolean;
31
+ /** Whether to use AI for result summarization (requires aiEnhancer) */
32
+ aiSummarization?: boolean;
33
+ }
34
+ /**
35
+ * Register the global AI enhancer function.
36
+ * Call this when an AI session becomes available.
37
+ */
38
+ export declare function setGlobalAIEnhancer(enhancer: AIEnhancer | null): void;
39
+ /**
40
+ * Get the current global AI enhancer.
41
+ */
42
+ export declare function getGlobalAIEnhancer(): AIEnhancer | null;
43
+ export interface CodebaseIndex {
44
+ version: number;
45
+ createdAt: string;
46
+ rootDir: string;
47
+ hash: string;
48
+ files: IndexedFile[];
49
+ symbols: SymbolIndex;
50
+ imports: ImportGraph;
51
+ patterns: DetectedPatterns;
52
+ quickLookup: QuickLookup;
53
+ }
54
+ export interface IndexedFile {
55
+ path: string;
56
+ language: string;
57
+ size: number;
58
+ lineCount: number;
59
+ lastModified: number;
60
+ symbols: FileSymbols;
61
+ imports: string[];
62
+ exports: string[];
63
+ purpose: string;
64
+ tags: string[];
65
+ }
66
+ export interface FileSymbols {
67
+ functions: SymbolInfo[];
68
+ classes: SymbolInfo[];
69
+ interfaces: SymbolInfo[];
70
+ types: SymbolInfo[];
71
+ constants: SymbolInfo[];
72
+ variables: SymbolInfo[];
73
+ }
74
+ export interface SymbolInfo {
75
+ name: string;
76
+ line: number;
77
+ kind: 'function' | 'class' | 'interface' | 'type' | 'const' | 'variable' | 'method' | 'property';
78
+ isExported: boolean;
79
+ signature?: string;
80
+ docComment?: string;
81
+ }
82
+ export interface SymbolIndex {
83
+ byName: Map<string, SymbolLocation[]>;
84
+ byKind: Map<string, SymbolLocation[]>;
85
+ byFile: Map<string, string[]>;
86
+ }
87
+ export interface SymbolLocation {
88
+ file: string;
89
+ line: number;
90
+ kind: string;
91
+ signature?: string;
92
+ }
93
+ export interface ImportGraph {
94
+ imports: Map<string, string[]>;
95
+ importedBy: Map<string, string[]>;
96
+ }
97
+ export interface DetectedPatterns {
98
+ architecture: string[];
99
+ designPatterns: string[];
100
+ namingConventions: string[];
101
+ testPatterns: string[];
102
+ componentPatterns: string[];
103
+ }
104
+ export interface QuickLookup {
105
+ entryPoints: string[];
106
+ configFiles: string[];
107
+ testFiles: string[];
108
+ componentFiles: string[];
109
+ typeFiles: string[];
110
+ utilityFiles: string[];
111
+ routeFiles: string[];
112
+ modelFiles: string[];
113
+ }
114
+ export interface ExploreQuery {
115
+ type: 'find_file' | 'find_symbol' | 'find_usage' | 'understand' | 'explain' | 'search' | 'architecture' | 'dependencies';
116
+ keywords: string[];
117
+ filters: QueryFilters;
118
+ originalQuery: string;
119
+ }
120
+ export interface QueryFilters {
121
+ filePattern?: string;
122
+ language?: string;
123
+ symbolKind?: string;
124
+ limit?: number;
125
+ }
126
+ export interface ExploreResult {
127
+ query: string;
128
+ queryType: string;
129
+ files: FileMatch[];
130
+ symbols: SymbolMatch[];
131
+ answer: string;
132
+ suggestions: string[];
133
+ timeTaken: number;
134
+ }
135
+ export interface FileMatch {
136
+ path: string;
137
+ relevance: number;
138
+ reason: string;
139
+ snippets?: string[];
140
+ }
141
+ export interface SymbolMatch {
142
+ name: string;
143
+ file: string;
144
+ line: number;
145
+ kind: string;
146
+ relevance: number;
147
+ }
148
+ export declare class LocalExploreEngine {
149
+ private workingDir;
150
+ private index;
151
+ private indexPath;
152
+ private context;
153
+ constructor(workingDir: string, context?: ExploreContext);
154
+ /**
155
+ * Set or update the AI enhancer context.
156
+ * Call this to enable AI-enhanced exploration with the active model.
157
+ */
158
+ setContext(context: ExploreContext): void;
159
+ /**
160
+ * Initialize or load the codebase index.
161
+ * Returns true if a fresh index was built.
162
+ */
163
+ initialize(forceRebuild?: boolean): Promise<{
164
+ rebuilt: boolean;
165
+ fileCount: number;
166
+ }>;
167
+ /**
168
+ * Process a natural language query and return exploration results.
169
+ * Automatically uses the active AI model for better results when available.
170
+ */
171
+ explore(query: string, options?: {
172
+ useAI?: boolean;
173
+ }): Promise<ExploreResult>;
174
+ /**
175
+ * Use AI to parse a natural language query into structured exploration.
176
+ */
177
+ private parseQueryWithAI;
178
+ /**
179
+ * Use AI to generate a natural language summary of exploration results.
180
+ */
181
+ private summarizeWithAI;
182
+ /**
183
+ * Get a quick overview of the codebase.
184
+ */
185
+ getOverview(): string;
186
+ private tryLoadCache;
187
+ private saveCache;
188
+ private countFiles;
189
+ private buildIndex;
190
+ private collectFiles;
191
+ private indexFile;
192
+ private extractSymbols;
193
+ private extractImports;
194
+ private extractExports;
195
+ private inferPurpose;
196
+ private generateTags;
197
+ private categorizeFile;
198
+ private detectPatterns;
199
+ private parseQuery;
200
+ private executeQuery;
201
+ private findFiles;
202
+ private findSymbols;
203
+ private findUsages;
204
+ private explainArchitecture;
205
+ private showDependencies;
206
+ private explainConcept;
207
+ private generalSearch;
208
+ private generateSuggestions;
209
+ }
210
+ export interface ExploreToolOptions {
211
+ /** Working directory for exploration */
212
+ workingDir: string;
213
+ /** Optional AI enhancer for improved query understanding */
214
+ aiEnhancer?: AIEnhancer;
215
+ /** Enable AI query parsing (default: true if aiEnhancer provided) */
216
+ aiQueryParsing?: boolean;
217
+ /** Enable AI result summarization (default: true if aiEnhancer provided) */
218
+ aiSummarization?: boolean;
219
+ }
220
+ export declare function createLocalExploreTool(workingDir: string, options?: Partial<ExploreToolOptions>): ToolDefinition;
221
+ /**
222
+ * Create all local exploration tools (explore + index management).
223
+ */
224
+ export declare function createLocalExploreTools(workingDir: string, options?: Partial<ExploreToolOptions>): ToolDefinition[];
225
+ //# sourceMappingURL=localExplore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localExplore.d.ts","sourceRoot":"","sources":["../../src/tools/localExplore.ts"],"names":[],"mappings":"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"}