kaze-cli 2.0.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 (91) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +224 -0
  3. package/dist/api/client.d.ts +15 -0
  4. package/dist/api/client.d.ts.map +1 -0
  5. package/dist/api/client.js +129 -0
  6. package/dist/api/client.js.map +1 -0
  7. package/dist/api/universal-client.d.ts +36 -0
  8. package/dist/api/universal-client.d.ts.map +1 -0
  9. package/dist/api/universal-client.js +184 -0
  10. package/dist/api/universal-client.js.map +1 -0
  11. package/dist/cli/config-command.d.ts +29 -0
  12. package/dist/cli/config-command.d.ts.map +1 -0
  13. package/dist/cli/config-command.js +458 -0
  14. package/dist/cli/config-command.js.map +1 -0
  15. package/dist/cli/repl.d.ts +98 -0
  16. package/dist/cli/repl.d.ts.map +1 -0
  17. package/dist/cli/repl.js +1782 -0
  18. package/dist/cli/repl.js.map +1 -0
  19. package/dist/config/interactive-setup.d.ts +26 -0
  20. package/dist/config/interactive-setup.d.ts.map +1 -0
  21. package/dist/config/interactive-setup.js +308 -0
  22. package/dist/config/interactive-setup.js.map +1 -0
  23. package/dist/config/manager.d.ts +125 -0
  24. package/dist/config/manager.d.ts.map +1 -0
  25. package/dist/config/manager.js +240 -0
  26. package/dist/config/manager.js.map +1 -0
  27. package/dist/config/setup.d.ts +29 -0
  28. package/dist/config/setup.d.ts.map +1 -0
  29. package/dist/config/setup.js +442 -0
  30. package/dist/config/setup.js.map +1 -0
  31. package/dist/context/memory.d.ts +65 -0
  32. package/dist/context/memory.d.ts.map +1 -0
  33. package/dist/context/memory.js +215 -0
  34. package/dist/context/memory.js.map +1 -0
  35. package/dist/index.d.ts +2 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +207 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/mcp/client.d.ts +38 -0
  40. package/dist/mcp/client.d.ts.map +1 -0
  41. package/dist/mcp/client.js +288 -0
  42. package/dist/mcp/client.js.map +1 -0
  43. package/dist/mcp/manager.d.ts +43 -0
  44. package/dist/mcp/manager.d.ts.map +1 -0
  45. package/dist/mcp/manager.js +230 -0
  46. package/dist/mcp/manager.js.map +1 -0
  47. package/dist/mcp/types.d.ts +106 -0
  48. package/dist/mcp/types.d.ts.map +1 -0
  49. package/dist/mcp/types.js +3 -0
  50. package/dist/mcp/types.js.map +1 -0
  51. package/dist/personality/manager.d.ts +24 -0
  52. package/dist/personality/manager.d.ts.map +1 -0
  53. package/dist/personality/manager.js +217 -0
  54. package/dist/personality/manager.js.map +1 -0
  55. package/dist/tools/codebase.d.ts +34 -0
  56. package/dist/tools/codebase.d.ts.map +1 -0
  57. package/dist/tools/codebase.js +291 -0
  58. package/dist/tools/codebase.js.map +1 -0
  59. package/dist/tools/filesystem.d.ts +41 -0
  60. package/dist/tools/filesystem.d.ts.map +1 -0
  61. package/dist/tools/filesystem.js +263 -0
  62. package/dist/tools/filesystem.js.map +1 -0
  63. package/dist/tools/terminal.d.ts +30 -0
  64. package/dist/tools/terminal.d.ts.map +1 -0
  65. package/dist/tools/terminal.js +217 -0
  66. package/dist/tools/terminal.js.map +1 -0
  67. package/dist/tools/todo.d.ts +58 -0
  68. package/dist/tools/todo.d.ts.map +1 -0
  69. package/dist/tools/todo.js +233 -0
  70. package/dist/tools/todo.js.map +1 -0
  71. package/dist/types/index.d.ts +104 -0
  72. package/dist/types/index.d.ts.map +1 -0
  73. package/dist/types/index.js +3 -0
  74. package/dist/types/index.js.map +1 -0
  75. package/dist/types/personality.d.ts +21 -0
  76. package/dist/types/personality.d.ts.map +1 -0
  77. package/dist/types/personality.js +3 -0
  78. package/dist/types/personality.js.map +1 -0
  79. package/dist/ui/logger.d.ts +76 -0
  80. package/dist/ui/logger.d.ts.map +1 -0
  81. package/dist/ui/logger.js +488 -0
  82. package/dist/ui/logger.js.map +1 -0
  83. package/dist/ui/renderer.d.ts +52 -0
  84. package/dist/ui/renderer.d.ts.map +1 -0
  85. package/dist/ui/renderer.js +294 -0
  86. package/dist/ui/renderer.js.map +1 -0
  87. package/dist/ui/tui.d.ts +53 -0
  88. package/dist/ui/tui.d.ts.map +1 -0
  89. package/dist/ui/tui.js +131 -0
  90. package/dist/ui/tui.js.map +1 -0
  91. package/package.json +70 -0
@@ -0,0 +1,106 @@
1
+ export interface MCPMessage {
2
+ jsonrpc: '2.0';
3
+ id?: string | number;
4
+ method?: string;
5
+ params?: any;
6
+ result?: any;
7
+ error?: MCPError;
8
+ }
9
+ export interface MCPError {
10
+ code: number;
11
+ message: string;
12
+ data?: any;
13
+ }
14
+ export interface MCPRequest {
15
+ jsonrpc: '2.0';
16
+ id: string | number;
17
+ method: string;
18
+ params?: any;
19
+ }
20
+ export interface MCPResponse {
21
+ jsonrpc: '2.0';
22
+ id: string | number;
23
+ result?: any;
24
+ error?: MCPError;
25
+ }
26
+ export interface MCPNotification {
27
+ jsonrpc: '2.0';
28
+ method: string;
29
+ params?: any;
30
+ }
31
+ export interface MCPServerCapabilities {
32
+ resources?: {
33
+ subscribe?: boolean;
34
+ listChanged?: boolean;
35
+ };
36
+ prompts?: {
37
+ listChanged?: boolean;
38
+ };
39
+ tools?: {
40
+ listChanged?: boolean;
41
+ };
42
+ }
43
+ export interface MCPTool {
44
+ name: string;
45
+ description: string;
46
+ inputSchema: Record<string, any>;
47
+ }
48
+ export interface MCPResource {
49
+ uri: string;
50
+ name: string;
51
+ description?: string;
52
+ mimeType?: string;
53
+ }
54
+ export interface MCPPrompt {
55
+ name: string;
56
+ description?: string;
57
+ arguments?: Array<{
58
+ name: string;
59
+ description?: string;
60
+ required?: boolean;
61
+ }>;
62
+ }
63
+ export interface MCPServerConfig {
64
+ name: string;
65
+ command?: string;
66
+ args?: string[];
67
+ env?: Record<string, string>;
68
+ url?: string;
69
+ transport: 'stdio' | 'sse';
70
+ disabled?: boolean;
71
+ }
72
+ export interface MCPServerConnection {
73
+ config: MCPServerConfig;
74
+ capabilities?: MCPServerCapabilities;
75
+ tools?: MCPTool[];
76
+ resources?: MCPResource[];
77
+ prompts?: MCPPrompt[];
78
+ connected: boolean;
79
+ process?: any;
80
+ rl?: any;
81
+ messageHandlerSet?: boolean;
82
+ }
83
+ export interface MCPToolResult {
84
+ content: Array<{
85
+ type: 'text' | 'image' | 'resource';
86
+ text?: string;
87
+ data?: string;
88
+ mimeType?: string;
89
+ uri?: string;
90
+ }>;
91
+ isError?: boolean;
92
+ _meta?: Record<string, any>;
93
+ }
94
+ export interface MCPResourceContent {
95
+ uri: string;
96
+ mimeType?: string;
97
+ text?: string;
98
+ blob?: string;
99
+ }
100
+ export interface MCPClientCapabilities {
101
+ roots?: {
102
+ listChanged?: boolean;
103
+ };
104
+ sampling?: Record<string, any>;
105
+ }
106
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/mcp/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/mcp/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,24 @@
1
+ import { Personality, PersonalityRegistry, PersonalityImportOptions } from '../types/personality';
2
+ export declare class PersonalityManager implements PersonalityRegistry {
3
+ personalities: Map<string, Personality>;
4
+ customProfilesPath: string;
5
+ constructor(configDir: string);
6
+ initialize(): Promise<void>;
7
+ private ensureDirectories;
8
+ loadPersonalities(): Promise<void>;
9
+ private fileExists;
10
+ savePersonalities(): Promise<void>;
11
+ getPersonality(name: string): Personality | undefined;
12
+ listPersonalities(): Personality[];
13
+ addPersonality(personality: Personality): Promise<void>;
14
+ removePersonality(name: string): Promise<boolean>;
15
+ updatePersonality(name: string, updates: Partial<Personality>): Promise<boolean>;
16
+ importFromURL(url: string, options?: PersonalityImportOptions): Promise<Personality>;
17
+ importFromFile(filePath: string, options?: PersonalityImportOptions): Promise<Personality>;
18
+ exportToFile(name: string, outputPath: string): Promise<void>;
19
+ private fetchURL;
20
+ private parsePersonality;
21
+ private incrementVersion;
22
+ search(query: string): Personality[];
23
+ }
24
+ //# sourceMappingURL=manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/personality/manager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAGlG,qBAAa,kBAAmB,YAAW,mBAAmB;IACrD,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAa;IACpD,kBAAkB,EAAE,MAAM,CAAC;gBACtB,SAAS,EAAE,MAAM;IAGvB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAInB,iBAAiB;IAOzB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;YAoC1B,UAAU;IAQlB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAKxC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAGrD,iBAAiB,IAAI,WAAW,EAAE;IAG5B,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAKvD,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAOjD,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAQhF,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,wBAA6B,GAAG,OAAO,CAAC,WAAW,CAAC;IASxF,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,wBAA6B,GAAG,OAAO,CAAC,WAAW,CAAC;IAS9F,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnE,OAAO,CAAC,QAAQ;IAkBhB,OAAO,CAAC,gBAAgB;IAqBxB,OAAO,CAAC,gBAAgB;IAKxB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,EAAE;CAQrC"}
@@ -0,0 +1,217 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.PersonalityManager = void 0;
37
+ const fs = __importStar(require("fs/promises"));
38
+ const path = __importStar(require("path"));
39
+ const https = __importStar(require("https"));
40
+ const http = __importStar(require("http"));
41
+ const PERSONALITIES_FILE = 'personalities.json';
42
+ const PERSONALITIES_DIR = 'personalities';
43
+ class PersonalityManager {
44
+ personalities = new Map();
45
+ customProfilesPath;
46
+ constructor(configDir) {
47
+ this.customProfilesPath = path.join(configDir, PERSONALITIES_DIR);
48
+ }
49
+ async initialize() {
50
+ await this.ensureDirectories();
51
+ await this.loadPersonalities();
52
+ }
53
+ async ensureDirectories() {
54
+ try {
55
+ await fs.access(this.customProfilesPath);
56
+ }
57
+ catch {
58
+ await fs.mkdir(this.customProfilesPath, { recursive: true });
59
+ }
60
+ }
61
+ async loadPersonalities() {
62
+ const configPath = path.join(this.customProfilesPath, PERSONALITIES_FILE);
63
+ try {
64
+ const content = await fs.readFile(configPath, 'utf-8');
65
+ const data = JSON.parse(content);
66
+ if (Array.isArray(data)) {
67
+ data.forEach((p) => {
68
+ this.personalities.set(p.name, p);
69
+ });
70
+ }
71
+ else if (data.personalities) {
72
+ Object.values(data.personalities).forEach((p) => {
73
+ this.personalities.set(p.name, p);
74
+ });
75
+ }
76
+ }
77
+ catch (error) {
78
+ }
79
+ const defaultPersonalitiesPath = path.join(path.dirname(__dirname), 'personalities', 'personalities.json');
80
+ try {
81
+ const defaultContent = await fs.readFile(defaultPersonalitiesPath, 'utf-8');
82
+ const defaultData = JSON.parse(defaultContent);
83
+ if (Array.isArray(defaultData)) {
84
+ defaultData.forEach((p) => {
85
+ if (!this.personalities.has(p.name)) {
86
+ this.personalities.set(p.name, p);
87
+ }
88
+ });
89
+ }
90
+ }
91
+ catch (defaultError) {
92
+ }
93
+ if (this.personalities.size > 0 && !await this.fileExists(configPath)) {
94
+ await this.savePersonalities();
95
+ }
96
+ }
97
+ async fileExists(filePath) {
98
+ try {
99
+ await fs.access(filePath);
100
+ return true;
101
+ }
102
+ catch {
103
+ return false;
104
+ }
105
+ }
106
+ async savePersonalities() {
107
+ const configPath = path.join(this.customProfilesPath, PERSONALITIES_FILE);
108
+ const data = Array.from(this.personalities.values());
109
+ await fs.writeFile(configPath, JSON.stringify(data, null, 2), 'utf-8');
110
+ }
111
+ getPersonality(name) {
112
+ return this.personalities.get(name);
113
+ }
114
+ listPersonalities() {
115
+ return Array.from(this.personalities.values());
116
+ }
117
+ async addPersonality(personality) {
118
+ personality.version = personality.version || '1.0.0';
119
+ this.personalities.set(personality.name, personality);
120
+ await this.savePersonalities();
121
+ }
122
+ async removePersonality(name) {
123
+ const deleted = this.personalities.delete(name);
124
+ if (deleted) {
125
+ await this.savePersonalities();
126
+ }
127
+ return deleted;
128
+ }
129
+ async updatePersonality(name, updates) {
130
+ const existing = this.personalities.get(name);
131
+ if (!existing)
132
+ return false;
133
+ const updated = { ...existing, ...updates, version: this.incrementVersion(existing.version) };
134
+ this.personalities.set(name, updated);
135
+ await this.savePersonalities();
136
+ return true;
137
+ }
138
+ async importFromURL(url, options = {}) {
139
+ const data = await this.fetchURL(url);
140
+ const personality = this.parsePersonality(data);
141
+ if (this.personalities.has(personality.name) && !options.overwrite) {
142
+ throw new Error(`Personality "${personality.name}" already exists. Use overwrite option to replace.`);
143
+ }
144
+ await this.addPersonality(personality);
145
+ return personality;
146
+ }
147
+ async importFromFile(filePath, options = {}) {
148
+ const data = await fs.readFile(filePath, 'utf-8');
149
+ const personality = this.parsePersonality(data);
150
+ if (this.personalities.has(personality.name) && !options.overwrite) {
151
+ throw new Error(`Personality "${personality.name}" already exists. Use overwrite option to replace.`);
152
+ }
153
+ await this.addPersonality(personality);
154
+ return personality;
155
+ }
156
+ async exportToFile(name, outputPath) {
157
+ const personality = this.getPersonality(name);
158
+ if (!personality) {
159
+ throw new Error(`Personality "${name}" not found`);
160
+ }
161
+ await fs.writeFile(outputPath, JSON.stringify(personality, null, 2), 'utf-8');
162
+ }
163
+ fetchURL(url) {
164
+ return new Promise((resolve, reject) => {
165
+ const protocol = url.startsWith('https') ? https : http;
166
+ protocol.get(url, (res) => {
167
+ let data = '';
168
+ res.on('data', (chunk) => {
169
+ data += chunk;
170
+ });
171
+ res.on('end', () => {
172
+ if (res.statusCode === 200) {
173
+ resolve(data);
174
+ }
175
+ else {
176
+ reject(new Error(`HTTP ${res.statusCode}: ${res.statusMessage}`));
177
+ }
178
+ });
179
+ }).on('error', reject);
180
+ });
181
+ }
182
+ parsePersonality(data) {
183
+ try {
184
+ const parsed = JSON.parse(data);
185
+ if (!parsed.name || !parsed.systemPrompt) {
186
+ throw new Error('Invalid personality format: missing name or systemPrompt');
187
+ }
188
+ return {
189
+ name: parsed.name,
190
+ description: parsed.description || 'No description provided',
191
+ systemPrompt: parsed.systemPrompt,
192
+ temperature: parsed.temperature,
193
+ maxTokens: parsed.maxTokens,
194
+ version: parsed.version || '1.0.0',
195
+ author: parsed.author,
196
+ tags: parsed.tags || [],
197
+ metadata: parsed.metadata || {}
198
+ };
199
+ }
200
+ catch (error) {
201
+ throw new Error(`Failed to parse personality: ${error instanceof Error ? error.message : String(error)}`);
202
+ }
203
+ }
204
+ incrementVersion(version) {
205
+ const parts = version.split('.').map(Number);
206
+ parts[parts.length - 1]++;
207
+ return parts.join('.');
208
+ }
209
+ search(query) {
210
+ const lowerQuery = query.toLowerCase();
211
+ return this.listPersonalities().filter(p => p.name.toLowerCase().includes(lowerQuery) ||
212
+ p.description.toLowerCase().includes(lowerQuery) ||
213
+ p.tags?.some(tag => tag.toLowerCase().includes(lowerQuery)));
214
+ }
215
+ }
216
+ exports.PersonalityManager = PersonalityManager;
217
+ //# sourceMappingURL=manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/personality/manager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAkC;AAClC,2CAA6B;AAC7B,6CAA+B;AAC/B,2CAA6B;AAE7B,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAChD,MAAM,iBAAiB,GAAG,eAAe,CAAC;AAC1C,MAAa,kBAAkB;IACtB,aAAa,GAA6B,IAAI,GAAG,EAAE,CAAC;IACpD,kBAAkB,CAAS;IAClC,YAAY,SAAiB;QAC3B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;IACpE,CAAC;IACD,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;IACjC,CAAC;IACO,KAAK,CAAC,iBAAiB;QAC7B,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IACD,KAAK,CAAC,iBAAiB;QACrB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;QAC1E,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACvD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACjC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAc,EAAE,EAAE;oBAC9B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACpC,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAU,EAAE,EAAE;oBACvD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAE,CAAiB,CAAC,IAAI,EAAE,CAAgB,CAAC,CAAC;gBACpE,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;QACjB,CAAC;QAED,MAAM,wBAAwB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,eAAe,EAAE,oBAAoB,CAAC,CAAC;QAC3G,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;YAC5E,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/B,WAAW,CAAC,OAAO,CAAC,CAAC,CAAc,EAAE,EAAE;oBACrC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;wBACpC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,YAAY,EAAE,CAAC;QACxB,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACtE,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACjC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,QAAgB;QACvC,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,KAAK,CAAC,iBAAiB;QACrB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;QAC1E,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;QACrD,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACzE,CAAC;IACD,cAAc,CAAC,IAAY;QACzB,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IACD,iBAAiB;QACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,KAAK,CAAC,cAAc,CAAC,WAAwB;QAC3C,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,IAAI,OAAO,CAAC;QACrD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACtD,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;IACjC,CAAC;IACD,KAAK,CAAC,iBAAiB,CAAC,IAAY;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACjC,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,KAAK,CAAC,iBAAiB,CAAC,IAAY,EAAE,OAA6B;QACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5B,MAAM,OAAO,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9F,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,CAAC,aAAa,CAAC,GAAW,EAAE,UAAoC,EAAE;QACrE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,gBAAgB,WAAW,CAAC,IAAI,oDAAoD,CAAC,CAAC;QACxG,CAAC;QACD,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACvC,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,KAAK,CAAC,cAAc,CAAC,QAAgB,EAAE,UAAoC,EAAE;QAC3E,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,gBAAgB,WAAW,CAAC,IAAI,oDAAoD,CAAC,CAAC;QACxG,CAAC;QACD,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACvC,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,KAAK,CAAC,YAAY,CAAC,IAAY,EAAE,UAAkB;QACjD,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,aAAa,CAAC,CAAC;QACrD,CAAC;QACD,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAChF,CAAC;IACO,QAAQ,CAAC,GAAW;QAC1B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YACxD,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;gBACxB,IAAI,IAAI,GAAG,EAAE,CAAC;gBACd,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;oBACvB,IAAI,IAAI,KAAK,CAAC;gBAChB,CAAC,CAAC,CAAC;gBACH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;oBACjB,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;wBAC3B,OAAO,CAAC,IAAI,CAAC,CAAC;oBAChB,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;oBACpE,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IACO,gBAAgB,CAAC,IAAY;QACnC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;gBACzC,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;YAC9E,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,yBAAyB;gBAC5D,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,OAAO;gBAClC,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE;gBACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE;aAChC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,gCAAgC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5G,CAAC;IACH,CAAC;IACO,gBAAgB,CAAC,OAAe;QACtC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7C,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IACD,MAAM,CAAC,KAAa;QAClB,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACzC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;YACzC,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;YAChD,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAC5D,CAAC;IACJ,CAAC;CACF;AAzKD,gDAyKC"}
@@ -0,0 +1,34 @@
1
+ export interface CodeMatch {
2
+ filePath: string;
3
+ startLine: number;
4
+ endLine: number;
5
+ content: string;
6
+ language: string;
7
+ score: number;
8
+ }
9
+ export interface CodeSearchOptions {
10
+ maxResults?: number;
11
+ targetDirectories?: string[];
12
+ excludePatterns?: string[];
13
+ includeTests?: boolean;
14
+ minScore?: number;
15
+ }
16
+ export declare class CodebaseSearcher {
17
+ private maxFileSize;
18
+ private languageExtensions;
19
+ semanticSearch(query: string, options?: CodeSearchOptions): Promise<CodeMatch[]>;
20
+ private findFiles;
21
+ private readFileContent;
22
+ private detectLanguage;
23
+ private tokenize;
24
+ private extractKeywords;
25
+ private searchInFile;
26
+ private findFunctionsInFile;
27
+ private isImport;
28
+ private isExport;
29
+ private isClassDefinition;
30
+ private isFunctionDefinition;
31
+ private parseClassDefinition;
32
+ private parseFunctionDefinition;
33
+ }
34
+ //# sourceMappingURL=codebase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codebase.d.ts","sourceRoot":"","sources":["../../src/tools/codebase.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AACD,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AACD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,kBAAkB,CAsBxB;IACI,cAAc,CAClB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,SAAS,EAAE,CAAC;YA8BT,SAAS;YAoBT,eAAe;IAW7B,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,YAAY;IAwCpB,OAAO,CAAC,mBAAmB;IAmD3B,OAAO,CAAC,QAAQ;IAGhB,OAAO,CAAC,QAAQ;IAGhB,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,uBAAuB;CAsBhC"}