cccmemory 1.8.1 → 1.9.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/README.md +36 -17
- package/dist/ConversationMemory.d.ts +1 -1
- package/dist/ConversationMemory.d.ts.map +1 -1
- package/dist/ConversationMemory.js +57 -14
- package/dist/ConversationMemory.js.map +1 -1
- package/dist/cli/help.js +2 -2
- package/dist/documentation/CodeAnalyzer.d.ts +7 -17
- package/dist/documentation/CodeAnalyzer.d.ts.map +1 -1
- package/dist/documentation/CodeAnalyzer.js +73 -83
- package/dist/documentation/CodeAnalyzer.js.map +1 -1
- package/dist/documentation/ConversationAnalyzer.d.ts.map +1 -1
- package/dist/documentation/ConversationAnalyzer.js +68 -25
- package/dist/documentation/ConversationAnalyzer.js.map +1 -1
- package/dist/documentation/DocumentationGenerator.d.ts +1 -3
- package/dist/documentation/DocumentationGenerator.d.ts.map +1 -1
- package/dist/documentation/DocumentationGenerator.js +2 -3
- package/dist/documentation/DocumentationGenerator.js.map +1 -1
- package/dist/documentation/MarkdownFormatter.js +1 -1
- package/dist/documentation/types.d.ts +0 -27
- package/dist/documentation/types.d.ts.map +1 -1
- package/dist/embeddings/VectorStore.d.ts +11 -7
- package/dist/embeddings/VectorStore.d.ts.map +1 -1
- package/dist/embeddings/VectorStore.js +36 -8
- package/dist/embeddings/VectorStore.js.map +1 -1
- package/dist/index.js +0 -0
- package/dist/mcp-server.d.ts.map +1 -1
- package/dist/mcp-server.js +2 -0
- package/dist/mcp-server.js.map +1 -1
- package/dist/parsers/CodexConversationParser.d.ts +3 -0
- package/dist/parsers/CodexConversationParser.d.ts.map +1 -1
- package/dist/parsers/CodexConversationParser.js +39 -2
- package/dist/parsers/CodexConversationParser.js.map +1 -1
- package/dist/parsers/ConversationParser.d.ts.map +1 -1
- package/dist/parsers/ConversationParser.js +36 -5
- package/dist/parsers/ConversationParser.js.map +1 -1
- package/dist/realtime/IncrementalParser.d.ts.map +1 -1
- package/dist/realtime/IncrementalParser.js +9 -5
- package/dist/realtime/IncrementalParser.js.map +1 -1
- package/dist/search/SemanticSearch.d.ts +16 -3
- package/dist/search/SemanticSearch.d.ts.map +1 -1
- package/dist/search/SemanticSearch.js +345 -153
- package/dist/search/SemanticSearch.js.map +1 -1
- package/dist/storage/ConversationStorage.d.ts +39 -12
- package/dist/storage/ConversationStorage.d.ts.map +1 -1
- package/dist/storage/ConversationStorage.js +392 -118
- package/dist/storage/ConversationStorage.js.map +1 -1
- package/dist/storage/GlobalIndex.d.ts +13 -92
- package/dist/storage/GlobalIndex.d.ts.map +1 -1
- package/dist/storage/GlobalIndex.js +171 -254
- package/dist/storage/GlobalIndex.js.map +1 -1
- package/dist/storage/SQLiteManager.d.ts +4 -3
- package/dist/storage/SQLiteManager.d.ts.map +1 -1
- package/dist/storage/SQLiteManager.js +113 -134
- package/dist/storage/SQLiteManager.js.map +1 -1
- package/dist/storage/migrations.d.ts +1 -1
- package/dist/storage/migrations.d.ts.map +1 -1
- package/dist/storage/migrations.js +3 -149
- package/dist/storage/migrations.js.map +1 -1
- package/dist/storage/schema.sql +159 -138
- package/dist/tools/ToolDefinitions.d.ts +79 -0
- package/dist/tools/ToolDefinitions.d.ts.map +1 -1
- package/dist/tools/ToolDefinitions.js +89 -12
- package/dist/tools/ToolDefinitions.js.map +1 -1
- package/dist/tools/ToolHandlers.d.ts +13 -8
- package/dist/tools/ToolHandlers.d.ts.map +1 -1
- package/dist/tools/ToolHandlers.js +619 -538
- package/dist/tools/ToolHandlers.js.map +1 -1
- package/dist/types/ToolTypes.d.ts +86 -12
- package/dist/types/ToolTypes.d.ts.map +1 -1
- package/dist/utils/ProjectMigration.d.ts +12 -13
- package/dist/utils/ProjectMigration.d.ts.map +1 -1
- package/dist/utils/ProjectMigration.js +186 -203
- package/dist/utils/ProjectMigration.js.map +1 -1
- package/package.json +8 -4
- package/scripts/check-node.js +3 -4
- package/scripts/mcp-smoke-test.js +249 -0
package/README.md
CHANGED
|
@@ -165,23 +165,30 @@ Open Codex and run `/mcp` in the TUI to verify the server is active.
|
|
|
165
165
|
|
|
166
166
|
### Storage Paths
|
|
167
167
|
|
|
168
|
-
By default, CCCMemory
|
|
168
|
+
By default, CCCMemory uses a **single database**:
|
|
169
|
+
|
|
170
|
+
- `~/.cccmemory.db`
|
|
171
|
+
|
|
172
|
+
If you want per-project isolation, set:
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
export CCCMEMORY_DB_MODE="per-project"
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
In per-project mode, CCCMemory stores:
|
|
169
179
|
|
|
170
180
|
- `~/.claude/projects/<project>/.cccmemory.db`
|
|
171
|
-
-
|
|
181
|
+
- Fallback (restricted sandboxes): `<project>/.cccmemory/.cccmemory.db`
|
|
172
182
|
|
|
173
183
|
If your home directory is not writable (common in sandboxed Codex/Claude setups where
|
|
174
|
-
`~/.claude` and `~/.codex` are locked),
|
|
175
|
-
Set explicit paths to a writable location:
|
|
184
|
+
`~/.claude` and `~/.codex` are locked), set an explicit writable path:
|
|
176
185
|
|
|
177
186
|
```bash
|
|
178
187
|
export CCCMEMORY_DB_PATH="/path/to/cccmemory.db"
|
|
179
|
-
export CCCMEMORY_GLOBAL_INDEX_PATH="/path/to/cccmemory-global.db"
|
|
180
188
|
```
|
|
181
189
|
|
|
182
|
-
For MCP configs, add these env vars in your server definition. CCCMemory
|
|
183
|
-
|
|
184
|
-
project-local DB if one already exists and logs a warning.
|
|
190
|
+
For MCP configs, add these env vars in your server definition. CCCMemory stores the
|
|
191
|
+
global project registry **inside the same database** (projects + project_sources tables).
|
|
185
192
|
|
|
186
193
|
### Embedding Configuration (Optional)
|
|
187
194
|
|
|
@@ -254,6 +261,7 @@ Set `OPENAI_API_KEY` environment variable.
|
|
|
254
261
|
| Tool | Description |
|
|
255
262
|
|------|-------------|
|
|
256
263
|
| `search_conversations` | Search messages in current project |
|
|
264
|
+
| `search_project_conversations` | Search a project across Claude Code + Codex |
|
|
257
265
|
| `search_all_conversations` | Search across all indexed projects |
|
|
258
266
|
| `get_decisions` | Find architectural decisions |
|
|
259
267
|
| `get_all_decisions` | Decisions across all projects |
|
|
@@ -268,6 +276,7 @@ Set `OPENAI_API_KEY` environment variable.
|
|
|
268
276
|
| `get_file_evolution` | See file history with commits |
|
|
269
277
|
| `search_by_file` | Find all context related to a file |
|
|
270
278
|
| `list_recent_sessions` | List recent sessions with summaries |
|
|
279
|
+
| `get_latest_session_summary` | Summarize the latest session (problem, actions, errors) |
|
|
271
280
|
| `recall_and_apply` | Recall past work for current task |
|
|
272
281
|
| `get_requirements` | Look up component requirements |
|
|
273
282
|
| `get_tool_history` | Query tool usage history |
|
|
@@ -279,7 +288,16 @@ Set `OPENAI_API_KEY` environment variable.
|
|
|
279
288
|
| `discover_old_conversations` | Find folders from renamed projects |
|
|
280
289
|
| `migrate_project` | Migrate/merge conversation history |
|
|
281
290
|
| `forget_by_topic` | Delete conversations by keyword |
|
|
282
|
-
| `generate_documentation` | Generate docs from conversations |
|
|
291
|
+
| `generate_documentation` | Generate docs from local code scan + conversations |
|
|
292
|
+
|
|
293
|
+
### Session IDs
|
|
294
|
+
|
|
295
|
+
`list_recent_sessions` returns **two identifiers**:
|
|
296
|
+
|
|
297
|
+
- `id`: internal conversation id (use for `scope="current"` filters, handoffs, and documentation filters)
|
|
298
|
+
- `session_id`: external session id (Claude JSONL filename / Codex rollout id). Use for `index_conversations` and CLI `index --session`.
|
|
299
|
+
|
|
300
|
+
`index_conversations` accepts either, but external `session_id` is preferred.
|
|
283
301
|
|
|
284
302
|
## CLI Usage
|
|
285
303
|
|
|
@@ -310,14 +328,15 @@ CCCMemory indexes local session history from stable, parseable on-disk formats.
|
|
|
310
328
|
## Architecture
|
|
311
329
|
|
|
312
330
|
```
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
├──
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
└── {project}/.cccmemory
|
|
331
|
+
Single Database (default)
|
|
332
|
+
└── ~/.cccmemory.db
|
|
333
|
+
├── projects + project_aliases
|
|
334
|
+
├── project_sources (global index)
|
|
335
|
+
└── conversations/messages/decisions/mistakes/...
|
|
336
|
+
|
|
337
|
+
Per-Project Databases (optional)
|
|
338
|
+
└── ~/.claude/projects/{project}/.cccmemory.db
|
|
339
|
+
└── {project}/.cccmemory/.cccmemory.db (sandbox fallback)
|
|
321
340
|
```
|
|
322
341
|
|
|
323
342
|
## Troubleshooting
|
|
@@ -46,7 +46,7 @@ export interface IndexOptions {
|
|
|
46
46
|
/**
|
|
47
47
|
* List of specific MCP server names to exclude.
|
|
48
48
|
* More granular than `excludeMcpConversations`.
|
|
49
|
-
* @example ['cccmemory', '
|
|
49
|
+
* @example ['cccmemory', 'filesystem']
|
|
50
50
|
*/
|
|
51
51
|
excludeMcpServers?: string[];
|
|
52
52
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConversationMemory.d.ts","sourceRoot":"","sources":["../src/ConversationMemory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAMvE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAG5D;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAC;IAEpB,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B;;;;;;OAMG;IACH,uBAAuB,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC;IAE5D;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE7B;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,qBAAqB,CAAwB;IACrD,OAAO,CAAC,cAAc,CAAiB;;IAiBvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACG,kBAAkB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC;QACvD,oBAAoB,EAAE,OAAO,CAAC;QAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;
|
|
1
|
+
{"version":3,"file":"ConversationMemory.d.ts","sourceRoot":"","sources":["../src/ConversationMemory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAMvE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAG5D;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAC;IAEpB,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B;;;;;;OAMG;IACH,uBAAuB,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC;IAE5D;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE7B;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,qBAAqB,CAAwB;IACrD,OAAO,CAAC,cAAc,CAAiB;;IAiBvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACG,kBAAkB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC;QACvD,oBAAoB,EAAE,OAAO,CAAC;QAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IAyLF;;;;;;;;;;;;;;;;OAgBG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW;IAI9C;;;;;;;;;;;;;;;;;OAiBG;IACG,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW;IAIvD;;;;;;;;;;;;;OAaG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM;;;;;;IAIhC;;;;;;;;;;;OAWG;IACH,QAAQ;;;;;;;;;;;;;;;;;IAIR;;;;;;;OAOG;IACH,UAAU;IAIV;;;;;OAKG;IACH,iBAAiB;IAIjB;;;;;;;;;OASG;IACH,OAAO,CAAC,sBAAsB;CA6E/B"}
|
|
@@ -106,38 +106,46 @@ export class ConversationMemory {
|
|
|
106
106
|
parseResult = this.filterMcpConversations(parseResult, options);
|
|
107
107
|
}
|
|
108
108
|
// Store basic entities (skip FTS rebuild for performance, will rebuild once at end)
|
|
109
|
-
await this.storage.storeConversations(parseResult.conversations);
|
|
110
|
-
await this.storage.storeMessages(parseResult.messages,
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
109
|
+
const conversationIdMap = await this.storage.storeConversations(parseResult.conversations);
|
|
110
|
+
const messageIdMap = await this.storage.storeMessages(parseResult.messages, {
|
|
111
|
+
skipFtsRebuild: true,
|
|
112
|
+
conversationIdMap,
|
|
113
|
+
});
|
|
114
|
+
const toolUseIdMap = await this.storage.storeToolUses(parseResult.tool_uses, messageIdMap);
|
|
115
|
+
await this.storage.storeToolResults(parseResult.tool_results, messageIdMap, toolUseIdMap);
|
|
116
|
+
await this.storage.storeFileEdits(parseResult.file_edits, conversationIdMap, messageIdMap);
|
|
114
117
|
// Only store thinking blocks if explicitly enabled (default: false for privacy)
|
|
115
118
|
if (options.includeThinking === true) {
|
|
116
|
-
await this.storage.storeThinkingBlocks(parseResult.thinking_blocks);
|
|
119
|
+
await this.storage.storeThinkingBlocks(parseResult.thinking_blocks, messageIdMap);
|
|
117
120
|
}
|
|
118
121
|
// Extract decisions
|
|
119
122
|
console.error("\n=== Extracting Decisions ===");
|
|
120
123
|
const decisions = this.decisionExtractor.extractDecisions(parseResult.messages, parseResult.thinking_blocks);
|
|
121
|
-
await this.storage.storeDecisions(decisions,
|
|
124
|
+
const decisionIdMap = await this.storage.storeDecisions(decisions, {
|
|
125
|
+
skipFtsRebuild: true,
|
|
126
|
+
conversationIdMap,
|
|
127
|
+
messageIdMap,
|
|
128
|
+
});
|
|
122
129
|
// Rebuild FTS indexes once after all data is stored
|
|
123
130
|
this.storage.rebuildAllFts();
|
|
124
131
|
// Extract mistakes
|
|
125
132
|
console.error("\n=== Extracting Mistakes ===");
|
|
126
133
|
const mistakes = this.mistakeExtractor.extractMistakes(parseResult.messages, parseResult.tool_results);
|
|
127
|
-
await this.storage.storeMistakes(mistakes);
|
|
134
|
+
const mistakeIdMap = await this.storage.storeMistakes(mistakes, conversationIdMap, messageIdMap);
|
|
128
135
|
// Extract requirements and validations
|
|
129
136
|
console.error("\n=== Extracting Requirements ===");
|
|
130
137
|
const requirements = this.requirementsExtractor.extractRequirements(parseResult.messages);
|
|
131
|
-
await this.storage.storeRequirements(requirements);
|
|
138
|
+
await this.storage.storeRequirements(requirements, conversationIdMap, messageIdMap);
|
|
132
139
|
const validations = this.requirementsExtractor.extractValidations(parseResult.tool_uses, parseResult.tool_results, parseResult.messages);
|
|
133
|
-
await this.storage.storeValidations(validations);
|
|
140
|
+
await this.storage.storeValidations(validations, conversationIdMap);
|
|
134
141
|
// Git integration
|
|
135
142
|
if (options.enableGitIntegration !== false) {
|
|
136
143
|
try {
|
|
137
144
|
console.error("\n=== Integrating Git History ===");
|
|
138
145
|
const gitIntegrator = new GitIntegrator(canonicalPath);
|
|
139
146
|
const commits = await gitIntegrator.linkCommitsToConversations(parseResult.conversations, parseResult.file_edits, decisions);
|
|
140
|
-
|
|
147
|
+
const projectId = this.storage.getProjectId(canonicalPath);
|
|
148
|
+
await this.storage.storeGitCommits(commits, projectId, conversationIdMap, messageIdMap);
|
|
141
149
|
console.error(`✓ Linked ${commits.length} git commits`);
|
|
142
150
|
}
|
|
143
151
|
catch (error) {
|
|
@@ -150,9 +158,44 @@ export class ConversationMemory {
|
|
|
150
158
|
console.error("\n=== Indexing for Semantic Search ===");
|
|
151
159
|
let embeddingError;
|
|
152
160
|
try {
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
161
|
+
const messagesForEmbedding = parseResult.messages
|
|
162
|
+
.map((msg) => {
|
|
163
|
+
const internalId = messageIdMap.get(msg.id);
|
|
164
|
+
if (!internalId || !msg.content) {
|
|
165
|
+
return null;
|
|
166
|
+
}
|
|
167
|
+
return { id: internalId, content: msg.content };
|
|
168
|
+
})
|
|
169
|
+
.filter((msg) => Boolean(msg));
|
|
170
|
+
const decisionsForEmbedding = [];
|
|
171
|
+
for (const decision of decisions) {
|
|
172
|
+
const internalId = decisionIdMap.get(decision.id);
|
|
173
|
+
if (!internalId) {
|
|
174
|
+
continue;
|
|
175
|
+
}
|
|
176
|
+
decisionsForEmbedding.push({
|
|
177
|
+
id: internalId,
|
|
178
|
+
decision_text: decision.decision_text,
|
|
179
|
+
rationale: decision.rationale,
|
|
180
|
+
context: decision.context ?? null,
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
const mistakesForEmbedding = [];
|
|
184
|
+
for (const mistake of mistakes) {
|
|
185
|
+
const internalId = mistakeIdMap.get(mistake.id);
|
|
186
|
+
if (!internalId) {
|
|
187
|
+
continue;
|
|
188
|
+
}
|
|
189
|
+
mistakesForEmbedding.push({
|
|
190
|
+
id: internalId,
|
|
191
|
+
what_went_wrong: mistake.what_went_wrong,
|
|
192
|
+
correction: mistake.correction ?? null,
|
|
193
|
+
mistake_type: mistake.mistake_type,
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
await this.semanticSearch.indexMessages(messagesForEmbedding);
|
|
197
|
+
await this.semanticSearch.indexDecisions(decisionsForEmbedding);
|
|
198
|
+
await this.semanticSearch.indexMistakes(mistakesForEmbedding);
|
|
156
199
|
// Also index any decisions/mistakes in DB that are missing embeddings
|
|
157
200
|
// (catches items created before embeddings were available)
|
|
158
201
|
await this.semanticSearch.indexMissingDecisionEmbeddings();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConversationMemory.js","sourceRoot":"","sources":["../src/ConversationMemory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,gBAAgB,EAAiB,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAoB,MAAM,iCAAiC,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAiDtD;;;;;;;;GAQG;AACH,MAAM,OAAO,kBAAkB;IACrB,aAAa,CAAgB;IAC7B,OAAO,CAAsB;IAC7B,MAAM,CAAqB;IAC3B,iBAAiB,CAAoB;IACrC,gBAAgB,CAAmB;IACnC,qBAAqB,CAAwB;IAC7C,cAAc,CAAiB;IAEvC;QACE,IAAI,CAAC,aAAa,GAAG,gBAAgB,EAAE,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAE3D,mDAAmD;QACnD,8CAA8C;QAC9C,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAE1D,IAAI,CAAC,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACvC,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACjD,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAC;QAC/C,IAAI,CAAC,qBAAqB,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACzD,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,KAAK,CAAC,kBAAkB,CAAC,OAAqB;QAM5C,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAE9E,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAClD,OAAO,CAAC,KAAK,CAAC,YAAY,aAAa,EAAE,CAAC,CAAC;QAC3C,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,YAAY,OAAO,CAAC,SAAS,wBAAwB,CAAC,CAAC;QACvE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,KAAK,CAAC,cAAc,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1D,CAAC;QAED,sBAAsB;QACtB,IAAI,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CACzC,aAAa,EACb,OAAO,CAAC,SAAS,EACjB,aAAa,EACb,OAAO,CAAC,aAAa,CACtB,CAAC;QAEF,wCAAwC;QACxC,IAAI,OAAO,CAAC,uBAAuB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;YACjE,WAAW,GAAG,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAClE,CAAC;QAED,oFAAoF;QACpF,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QACjE,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC7D,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACxD,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAC9D,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAE1D,gFAAgF;QAChF,IAAI,OAAO,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QACtE,CAAC;QAED,oBAAoB;QACpB,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CACvD,WAAW,CAAC,QAAQ,EACpB,WAAW,CAAC,eAAe,CAC5B,CAAC;QACF,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAEnD,oDAAoD;QACpD,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAE7B,mBAAmB;QACnB,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CACpD,WAAW,CAAC,QAAQ,EACpB,WAAW,CAAC,YAAY,CACzB,CAAC;QACF,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAE3C,uCAAuC;QACvC,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACnD,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,CACjE,WAAW,CAAC,QAAQ,CACrB,CAAC;QACF,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAEnD,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,kBAAkB,CAC/D,WAAW,CAAC,SAAS,EACrB,WAAW,CAAC,YAAY,EACxB,WAAW,CAAC,QAAQ,CACrB,CAAC;QACF,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAEjD,kBAAkB;QAClB,IAAI,OAAO,CAAC,oBAAoB,KAAK,KAAK,EAAE,CAAC;YAC3C,IAAI,CAAC;gBACH,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;gBACnD,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,aAAa,CAAC,CAAC;gBACvD,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,0BAA0B,CAC5D,WAAW,CAAC,aAAa,EACzB,WAAW,CAAC,UAAU,EACtB,SAAS,CACV,CAAC;gBACF,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBAC5C,OAAO,CAAC,KAAK,CAAC,YAAY,OAAO,CAAC,MAAM,cAAc,CAAC,CAAC;YAC1D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;gBACnD,OAAO,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;gBAC1E,OAAO,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACxD,IAAI,cAAkC,CAAC;QACvC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC9D,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YACpD,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAClD,sEAAsE;YACtE,2DAA2D;YAC3D,MAAM,IAAI,CAAC,cAAc,CAAC,8BAA8B,EAAE,CAAC;YAC3D,MAAM,IAAI,CAAC,cAAc,CAAC,6BAA6B,EAAE,CAAC;YAC1D,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,cAAc,GAAI,KAAe,CAAC,OAAO,CAAC;YAC1C,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;YACrD,OAAO,CAAC,KAAK,CAAC,sEAAsE,CAAC,CAAC;YACtF,OAAO,CAAC,KAAK,CAAC,sFAAsF,CAAC,CAAC;YACtG,6DAA6D;QAC/D,CAAC;QAED,cAAc;QACd,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtC,OAAO,CAAC,KAAK,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,KAAK,CAAC,aAAa,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QACnD,OAAO,CAAC,KAAK,CAAC,cAAc,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;QACrD,OAAO,CAAC,KAAK,CAAC,aAAa,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QACnD,OAAO,CAAC,KAAK,CAAC,gBAAgB,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;QAEzD,gDAAgD;QAChD,OAAO;YACL,oBAAoB,EAAE,CAAC,cAAc;YACrC,eAAe,EAAE,cAAc;YAC/B,eAAe,EAAE,WAAW,CAAC,eAAe;YAC5C,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE;SAC9C,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,QAAgB,EAAE;QAC5C,OAAO,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,eAAe,CAAC,KAAa,EAAE,QAAgB,EAAE;QACrD,OAAO,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,eAAe,CAAC,QAAgB;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;;;;;;OAWG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;IAED;;;;;;;OAOG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;;;OAKG;IACH,iBAAiB;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;;;;;;;;OASG;IACK,sBAAsB,CAAC,MAAmB,EAAE,OAAqB;QACvE,yCAAyC;QACzC,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;QAE3C,IAAI,OAAO,CAAC,iBAAiB,IAAI,OAAO,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtE,sCAAsC;YACtC,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,CAAC;aAAM,IAAI,OAAO,CAAC,uBAAuB,KAAK,WAAW,EAAE,CAAC;YAC3D,gCAAgC;YAChC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACpC,CAAC;aAAM,IAAI,OAAO,CAAC,uBAAuB,KAAK,SAAS,IAAI,OAAO,CAAC,uBAAuB,KAAK,IAAI,EAAE,CAAC;YACrG,sEAAsE;YACtE,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACvC,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC5C,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;wBACtB,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBACjC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,gBAAgB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,MAAM,CAAC,CAAC,oBAAoB;QACrC,CAAC;QAED,mEAAmE;QACnE,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC7C,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACvC,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC5C,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxD,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;QACH,CAAC;QAED,8FAA8F;QAC9F,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;QAE7C,6DAA6D;QAC7D,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACvC,IAAI,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;gBACvC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAED,yEAAyE;QACzE,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YAC7C,IAAI,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBACnD,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAED,IAAI,kBAAkB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,KAAK,CAAC,kBAAkB,kBAAkB,CAAC,IAAI,+CAA+C,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnJ,CAAC;QAED,qDAAqD;QACrD,MAAM,mBAAmB,GAAG,IAAI,GAAG,CACjC,MAAM,CAAC,QAAQ;aACZ,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aAC1C,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAClB,CAAC;QAEF,uCAAuC;QACvC,gFAAgF;QAChF,OAAO;YACL,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,yBAAyB;YAC9D,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpE,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACtE,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;YACvF,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;YAClF,eAAe,EAAE,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;YAC5F,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,2BAA2B;SACrE,CAAC;IACJ,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"ConversationMemory.js","sourceRoot":"","sources":["../src/ConversationMemory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,gBAAgB,EAAiB,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAoB,MAAM,iCAAiC,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAiDtD;;;;;;;;GAQG;AACH,MAAM,OAAO,kBAAkB;IACrB,aAAa,CAAgB;IAC7B,OAAO,CAAsB;IAC7B,MAAM,CAAqB;IAC3B,iBAAiB,CAAoB;IACrC,gBAAgB,CAAmB;IACnC,qBAAqB,CAAwB;IAC7C,cAAc,CAAiB;IAEvC;QACE,IAAI,CAAC,aAAa,GAAG,gBAAgB,EAAE,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAE3D,mDAAmD;QACnD,8CAA8C;QAC9C,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAE1D,IAAI,CAAC,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACvC,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACjD,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAC;QAC/C,IAAI,CAAC,qBAAqB,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACzD,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,KAAK,CAAC,kBAAkB,CAAC,OAAqB;QAM5C,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAE9E,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAClD,OAAO,CAAC,KAAK,CAAC,YAAY,aAAa,EAAE,CAAC,CAAC;QAC3C,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,YAAY,OAAO,CAAC,SAAS,wBAAwB,CAAC,CAAC;QACvE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,KAAK,CAAC,cAAc,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1D,CAAC;QAED,sBAAsB;QACtB,IAAI,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CACzC,aAAa,EACb,OAAO,CAAC,SAAS,EACjB,aAAa,EACb,OAAO,CAAC,aAAa,CACtB,CAAC;QAEF,wCAAwC;QACxC,IAAI,OAAO,CAAC,uBAAuB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;YACjE,WAAW,GAAG,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAClE,CAAC;QAED,oFAAoF;QACpF,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAC3F,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,QAAQ,EAAE;YAC1E,cAAc,EAAE,IAAI;YACpB,iBAAiB;SAClB,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAC3F,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;QAC1F,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,UAAU,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAC;QAE3F,gFAAgF;QAChF,IAAI,OAAO,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,WAAW,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;QACpF,CAAC;QAED,oBAAoB;QACpB,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CACvD,WAAW,CAAC,QAAQ,EACpB,WAAW,CAAC,eAAe,CAC5B,CAAC;QACF,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE;YACjE,cAAc,EAAE,IAAI;YACpB,iBAAiB;YACjB,YAAY;SACb,CAAC,CAAC;QAEH,oDAAoD;QACpD,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAE7B,mBAAmB;QACnB,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CACpD,WAAW,CAAC,QAAQ,EACpB,WAAW,CAAC,YAAY,CACzB,CAAC;QACF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAC;QAEjG,uCAAuC;QACvC,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACnD,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,CACjE,WAAW,CAAC,QAAQ,CACrB,CAAC;QACF,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,YAAY,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAC;QAEpF,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,kBAAkB,CAC/D,WAAW,CAAC,SAAS,EACrB,WAAW,CAAC,YAAY,EACxB,WAAW,CAAC,QAAQ,CACrB,CAAC;QACF,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;QAEpE,kBAAkB;QAClB,IAAI,OAAO,CAAC,oBAAoB,KAAK,KAAK,EAAE,CAAC;YAC3C,IAAI,CAAC;gBACH,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;gBACnD,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,aAAa,CAAC,CAAC;gBACvD,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,0BAA0B,CAC5D,WAAW,CAAC,aAAa,EACzB,WAAW,CAAC,UAAU,EACtB,SAAS,CACV,CAAC;gBACF,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;gBAC3D,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAC;gBACxF,OAAO,CAAC,KAAK,CAAC,YAAY,OAAO,CAAC,MAAM,cAAc,CAAC,CAAC;YAC1D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;gBACnD,OAAO,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;gBAC1E,OAAO,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACxD,IAAI,cAAkC,CAAC;QACvC,IAAI,CAAC;YACH,MAAM,oBAAoB,GAAG,WAAW,CAAC,QAAQ;iBAC9C,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBACX,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC5C,IAAI,CAAC,UAAU,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;oBAChC,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;YAClD,CAAC,CAAC;iBACD,MAAM,CAAC,CAAC,GAAG,EAA0C,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAEzE,MAAM,qBAAqB,GAKtB,EAAE,CAAC;YACR,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAClD,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,SAAS;gBACX,CAAC;gBACD,qBAAqB,CAAC,IAAI,CAAC;oBACzB,EAAE,EAAE,UAAU;oBACd,aAAa,EAAE,QAAQ,CAAC,aAAa;oBACrC,SAAS,EAAE,QAAQ,CAAC,SAAS;oBAC7B,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,IAAI;iBAClC,CAAC,CAAC;YACL,CAAC;YAED,MAAM,oBAAoB,GAKrB,EAAE,CAAC;YACR,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAChD,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,SAAS;gBACX,CAAC;gBACD,oBAAoB,CAAC,IAAI,CAAC;oBACxB,EAAE,EAAE,UAAU;oBACd,eAAe,EAAE,OAAO,CAAC,eAAe;oBACxC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI;oBACtC,YAAY,EAAE,OAAO,CAAC,YAAY;iBACnC,CAAC,CAAC;YACL,CAAC;YAED,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;YAC9D,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;YAChE,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;YAC9D,sEAAsE;YACtE,2DAA2D;YAC3D,MAAM,IAAI,CAAC,cAAc,CAAC,8BAA8B,EAAE,CAAC;YAC3D,MAAM,IAAI,CAAC,cAAc,CAAC,6BAA6B,EAAE,CAAC;YAC1D,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,cAAc,GAAI,KAAe,CAAC,OAAO,CAAC;YAC1C,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;YACrD,OAAO,CAAC,KAAK,CAAC,sEAAsE,CAAC,CAAC;YACtF,OAAO,CAAC,KAAK,CAAC,sFAAsF,CAAC,CAAC;YACtG,6DAA6D;QAC/D,CAAC;QAED,cAAc;QACd,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtC,OAAO,CAAC,KAAK,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,KAAK,CAAC,aAAa,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QACnD,OAAO,CAAC,KAAK,CAAC,cAAc,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;QACrD,OAAO,CAAC,KAAK,CAAC,aAAa,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QACnD,OAAO,CAAC,KAAK,CAAC,gBAAgB,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;QAEzD,gDAAgD;QAChD,OAAO;YACL,oBAAoB,EAAE,CAAC,cAAc;YACrC,eAAe,EAAE,cAAc;YAC/B,eAAe,EAAE,WAAW,CAAC,eAAe;YAC5C,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE;SAC9C,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,QAAgB,EAAE;QAC5C,OAAO,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,eAAe,CAAC,KAAa,EAAE,QAAgB,EAAE;QACrD,OAAO,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,eAAe,CAAC,QAAgB;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;;;;;;OAWG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;IAED;;;;;;;OAOG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;;;OAKG;IACH,iBAAiB;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;;;;;;;;OASG;IACK,sBAAsB,CAAC,MAAmB,EAAE,OAAqB;QACvE,yCAAyC;QACzC,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;QAE3C,IAAI,OAAO,CAAC,iBAAiB,IAAI,OAAO,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtE,sCAAsC;YACtC,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,CAAC;aAAM,IAAI,OAAO,CAAC,uBAAuB,KAAK,WAAW,EAAE,CAAC;YAC3D,gCAAgC;YAChC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACpC,CAAC;aAAM,IAAI,OAAO,CAAC,uBAAuB,KAAK,SAAS,IAAI,OAAO,CAAC,uBAAuB,KAAK,IAAI,EAAE,CAAC;YACrG,sEAAsE;YACtE,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACvC,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC5C,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;wBACtB,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBACjC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,gBAAgB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,MAAM,CAAC,CAAC,oBAAoB;QACrC,CAAC;QAED,mEAAmE;QACnE,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC7C,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACvC,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC5C,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxD,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;QACH,CAAC;QAED,8FAA8F;QAC9F,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;QAE7C,6DAA6D;QAC7D,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACvC,IAAI,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;gBACvC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAED,yEAAyE;QACzE,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YAC7C,IAAI,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBACnD,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAED,IAAI,kBAAkB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,KAAK,CAAC,kBAAkB,kBAAkB,CAAC,IAAI,+CAA+C,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnJ,CAAC;QAED,qDAAqD;QACrD,MAAM,mBAAmB,GAAG,IAAI,GAAG,CACjC,MAAM,CAAC,QAAQ;aACZ,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aAC1C,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAClB,CAAC;QAEF,uCAAuC;QACvC,gFAAgF;QAChF,OAAO;YACL,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,yBAAyB;YAC9D,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpE,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACtE,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;YACvF,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;YAClF,eAAe,EAAE,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;YAC5F,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,2BAA2B;SACrE,CAAC;IACJ,CAAC;CACF"}
|
package/dist/cli/help.js
CHANGED
|
@@ -121,7 +121,7 @@ ${chalk.bold("DESCRIPTION:")}
|
|
|
121
121
|
|
|
122
122
|
${chalk.bold("OPTIONS:")}
|
|
123
123
|
--project <path> Project path (default: current directory)
|
|
124
|
-
--session <id> Index specific session only
|
|
124
|
+
--session <id> Index specific session only (use list_recent_sessions.session_id)
|
|
125
125
|
--exclude-mcp Exclude MCP conversations
|
|
126
126
|
--include-mcp Include all MCP conversations
|
|
127
127
|
--no-git Disable git integration
|
|
@@ -131,7 +131,7 @@ ${chalk.bold("EXAMPLES:")}
|
|
|
131
131
|
index
|
|
132
132
|
index --exclude-mcp
|
|
133
133
|
index --project /path/to/project
|
|
134
|
-
index --session
|
|
134
|
+
index --session a1172af3-ca62-41be-9b90-701cef39daae
|
|
135
135
|
|
|
136
136
|
${chalk.bold("ALIASES:")}
|
|
137
137
|
None
|
|
@@ -1,26 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* CodeAnalyzer -
|
|
2
|
+
* CodeAnalyzer - Lightweight codebase analyzer for documentation.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Scans the local filesystem to build a basic code index without
|
|
5
|
+
* relying on external MCP services.
|
|
6
6
|
*/
|
|
7
|
-
import type { CodeData
|
|
8
|
-
export interface CodeGraphRagData {
|
|
9
|
-
entities?: RawEntity[];
|
|
10
|
-
hotspots?: RawHotspot[];
|
|
11
|
-
clones?: RawClone[];
|
|
12
|
-
graph?: Record<string, unknown>;
|
|
13
|
-
}
|
|
7
|
+
import type { CodeData } from './types.js';
|
|
14
8
|
export declare class CodeAnalyzer {
|
|
15
9
|
/**
|
|
16
|
-
*
|
|
10
|
+
* Scan a project directory and return lightweight code metadata.
|
|
17
11
|
*/
|
|
18
|
-
analyze(
|
|
19
|
-
private
|
|
20
|
-
private normalizeEntityType;
|
|
21
|
-
private groupEntitiesByFile;
|
|
22
|
-
private parseHotspots;
|
|
23
|
-
private parseClones;
|
|
12
|
+
analyze(projectPath: string, moduleFilter?: string): Promise<CodeData>;
|
|
13
|
+
private collectFiles;
|
|
24
14
|
/**
|
|
25
15
|
* Extract file paths from code data for cross-referencing
|
|
26
16
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeAnalyzer.d.ts","sourceRoot":"","sources":["../../src/documentation/CodeAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"CodeAnalyzer.d.ts","sourceRoot":"","sources":["../../src/documentation/CodeAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EACV,QAAQ,EAKT,MAAM,YAAY,CAAC;AAEpB,qBAAa,YAAY;IACvB;;OAEG;IACG,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAyB5E,OAAO,CAAC,YAAY;IAiEpB;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,EAAE;CAqB/C"}
|
|
@@ -1,101 +1,91 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* CodeAnalyzer -
|
|
2
|
+
* CodeAnalyzer - Lightweight codebase analyzer for documentation.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Scans the local filesystem to build a basic code index without
|
|
5
|
+
* relying on external MCP services.
|
|
6
6
|
*/
|
|
7
|
+
import { readdirSync, statSync } from 'fs';
|
|
8
|
+
import { join, relative } from 'path';
|
|
7
9
|
export class CodeAnalyzer {
|
|
8
10
|
/**
|
|
9
|
-
*
|
|
11
|
+
* Scan a project directory and return lightweight code metadata.
|
|
10
12
|
*/
|
|
11
|
-
async analyze(
|
|
12
|
-
console.error('🔍
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
async analyze(projectPath, moduleFilter) {
|
|
14
|
+
console.error('🔍 Scanning codebase structure...');
|
|
15
|
+
const files = this.collectFiles(projectPath, moduleFilter);
|
|
16
|
+
const fileInfos = files.map((file) => ({
|
|
17
|
+
path: file.relativePath,
|
|
18
|
+
size: file.size,
|
|
19
|
+
entities: [],
|
|
20
|
+
}));
|
|
21
|
+
const entities = [];
|
|
22
|
+
const hotspots = [];
|
|
23
|
+
const clones = [];
|
|
24
|
+
console.error(` Found ${fileInfos.length} files`);
|
|
18
25
|
return {
|
|
19
26
|
entities,
|
|
20
27
|
relationships: [],
|
|
21
|
-
files,
|
|
28
|
+
files: fileInfos,
|
|
22
29
|
hotspots,
|
|
23
|
-
clones
|
|
30
|
+
clones,
|
|
24
31
|
};
|
|
25
32
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
if (normalized.includes('interface')) {
|
|
49
|
-
return 'interface';
|
|
50
|
-
}
|
|
51
|
-
if (normalized.includes('module')) {
|
|
52
|
-
return 'module';
|
|
53
|
-
}
|
|
54
|
-
if (normalized.includes('component')) {
|
|
55
|
-
return 'component';
|
|
56
|
-
}
|
|
57
|
-
return 'function';
|
|
58
|
-
}
|
|
59
|
-
groupEntitiesByFile(entities) {
|
|
60
|
-
const fileMap = new Map();
|
|
61
|
-
for (const entity of entities) {
|
|
62
|
-
if (!entity.filePath) {
|
|
63
|
-
continue;
|
|
33
|
+
collectFiles(projectPath, moduleFilter) {
|
|
34
|
+
const ignoreDirs = new Set([
|
|
35
|
+
'node_modules',
|
|
36
|
+
'.git',
|
|
37
|
+
'.turbo',
|
|
38
|
+
'.next',
|
|
39
|
+
'dist',
|
|
40
|
+
'build',
|
|
41
|
+
'coverage',
|
|
42
|
+
'.cache',
|
|
43
|
+
'.cccmemory',
|
|
44
|
+
]);
|
|
45
|
+
const includeExts = new Set([
|
|
46
|
+
'.ts', '.tsx', '.js', '.jsx', '.mjs', '.cjs',
|
|
47
|
+
'.py', '.go', '.rs', '.java', '.kt', '.swift',
|
|
48
|
+
'.c', '.cpp', '.h', '.hpp', '.cs', '.json', '.md'
|
|
49
|
+
]);
|
|
50
|
+
const results = [];
|
|
51
|
+
const walk = (dir) => {
|
|
52
|
+
let entries;
|
|
53
|
+
try {
|
|
54
|
+
entries = readdirSync(dir);
|
|
64
55
|
}
|
|
65
|
-
|
|
66
|
-
|
|
56
|
+
catch (_error) {
|
|
57
|
+
return;
|
|
67
58
|
}
|
|
68
|
-
const
|
|
69
|
-
|
|
70
|
-
|
|
59
|
+
for (const entry of entries) {
|
|
60
|
+
const fullPath = join(dir, entry);
|
|
61
|
+
let stats;
|
|
62
|
+
try {
|
|
63
|
+
stats = statSync(fullPath);
|
|
64
|
+
}
|
|
65
|
+
catch (_error) {
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
if (stats.isDirectory()) {
|
|
69
|
+
if (ignoreDirs.has(entry)) {
|
|
70
|
+
continue;
|
|
71
|
+
}
|
|
72
|
+
walk(fullPath);
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
const relativePath = relative(projectPath, fullPath).replace(/\\/g, '/');
|
|
76
|
+
if (moduleFilter && !relativePath.includes(moduleFilter)) {
|
|
77
|
+
continue;
|
|
78
|
+
}
|
|
79
|
+
const extIndex = entry.lastIndexOf('.');
|
|
80
|
+
const ext = extIndex >= 0 ? entry.slice(extIndex) : '';
|
|
81
|
+
if (!includeExts.has(ext)) {
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
results.push({ relativePath, size: stats.size });
|
|
71
85
|
}
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
size: 0, // Would need to read file to get actual size
|
|
76
|
-
entities
|
|
77
|
-
}));
|
|
78
|
-
}
|
|
79
|
-
parseHotspots(rawHotspots) {
|
|
80
|
-
if (!Array.isArray(rawHotspots)) {
|
|
81
|
-
return [];
|
|
82
|
-
}
|
|
83
|
-
return rawHotspots.map(h => ({
|
|
84
|
-
filePath: h.filePath || h.file || h.path || '',
|
|
85
|
-
complexity: h.complexity || h.score || 0,
|
|
86
|
-
changeCount: h.changeCount || h.changes || 0,
|
|
87
|
-
metric: h.metric || 'complexity'
|
|
88
|
-
})).filter(h => h.filePath);
|
|
89
|
-
}
|
|
90
|
-
parseClones(rawClones) {
|
|
91
|
-
if (!Array.isArray(rawClones)) {
|
|
92
|
-
return [];
|
|
93
|
-
}
|
|
94
|
-
return rawClones.map(c => ({
|
|
95
|
-
files: Array.isArray(c.files) ? c.files : [],
|
|
96
|
-
similarity: c.similarity || c.score || 0,
|
|
97
|
-
description: c.description || 'Code duplication detected'
|
|
98
|
-
})).filter(c => c.files.length >= 2);
|
|
86
|
+
};
|
|
87
|
+
walk(projectPath);
|
|
88
|
+
return results;
|
|
99
89
|
}
|
|
100
90
|
/**
|
|
101
91
|
* Extract file paths from code data for cross-referencing
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeAnalyzer.js","sourceRoot":"","sources":["../../src/documentation/CodeAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"CodeAnalyzer.js","sourceRoot":"","sources":["../../src/documentation/CodeAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAStC,MAAM,OAAO,YAAY;IACvB;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,WAAmB,EAAE,YAAqB;QACtD,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAEnD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAe,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACjD,IAAI,EAAE,IAAI,CAAC,YAAY;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,EAAE;SACb,CAAC,CAAC,CAAC;QAEJ,MAAM,QAAQ,GAAiB,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAc,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAgB,EAAE,CAAC;QAE/B,OAAO,CAAC,KAAK,CAAC,WAAW,SAAS,CAAC,MAAM,QAAQ,CAAC,CAAC;QAEnD,OAAO;YACL,QAAQ;YACR,aAAa,EAAE,EAAE;YACjB,KAAK,EAAE,SAAS;YAChB,QAAQ;YACR,MAAM;SACP,CAAC;IACJ,CAAC;IAEO,YAAY,CAAC,WAAmB,EAAE,YAAqB;QAC7D,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;YACzB,cAAc;YACd,MAAM;YACN,QAAQ;YACR,OAAO;YACP,MAAM;YACN,OAAO;YACP,UAAU;YACV,QAAQ;YACR,YAAY;SACb,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;YAC1B,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;YAC5C,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ;YAC7C,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK;SAClD,CAAC,CAAC;QAEH,MAAM,OAAO,GAAkD,EAAE,CAAC;QAElE,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,EAAE;YAC3B,IAAI,OAAiB,CAAC;YACtB,IAAI,CAAC;gBACH,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YAC7B,CAAC;YAAC,OAAO,MAAM,EAAE,CAAC;gBAChB,OAAO;YACT,CAAC;YAED,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAClC,IAAI,KAAK,CAAC;gBACV,IAAI,CAAC;oBACH,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAC7B,CAAC;gBAAC,OAAO,MAAM,EAAE,CAAC;oBAChB,SAAS;gBACX,CAAC;gBAED,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;oBACxB,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC1B,SAAS;oBACX,CAAC;oBACD,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACf,SAAS;gBACX,CAAC;gBAED,MAAM,YAAY,GAAG,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACzE,IAAI,YAAY,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;oBACzD,SAAS;gBACX,CAAC;gBAED,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBACxC,MAAM,GAAG,GAAG,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC1B,SAAS;gBACX,CAAC;gBAED,OAAO,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACnD,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,CAAC,WAAW,CAAC,CAAC;QAClB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,QAAkB;QACjC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAEhC,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACvC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAAA,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAAA,CAAC;QACpD,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YAClC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACxC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConversationAnalyzer.d.ts","sourceRoot":"","sources":["../../src/documentation/ConversationAnalyzer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAuD,MAAM,YAAY,CAAC;AAIxG,qBAAa,oBAAoB;IACnB,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,aAAa;IAErC;;OAEG;IACG,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAoBjF,OAAO,CAAC,YAAY;
|
|
1
|
+
{"version":3,"file":"ConversationAnalyzer.d.ts","sourceRoot":"","sources":["../../src/documentation/ConversationAnalyzer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAuD,MAAM,YAAY,CAAC;AAIxG,qBAAa,oBAAoB;IACnB,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,aAAa;IAErC;;OAEG;IACG,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAoBjF,OAAO,CAAC,YAAY;IAsDpB,OAAO,CAAC,WAAW;IAwCnB,OAAO,CAAC,eAAe;IAmCvB,OAAO,CAAC,YAAY;IAgCpB,OAAO,CAAC,aAAa;CAkCtB"}
|