gencode-ai 0.1.1 → 0.1.2
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/.gencode/settings.local.json +7 -0
- package/README.md +11 -11
- package/dist/agent/agent.d.ts +42 -1
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/agent.js +82 -15
- package/dist/agent/agent.js.map +1 -1
- package/dist/cli/components/App.d.ts +8 -1
- package/dist/cli/components/App.d.ts.map +1 -1
- package/dist/cli/components/App.js +231 -29
- package/dist/cli/components/App.js.map +1 -1
- package/dist/cli/components/CommandSuggestions.d.ts.map +1 -1
- package/dist/cli/components/CommandSuggestions.js +2 -0
- package/dist/cli/components/CommandSuggestions.js.map +1 -1
- package/dist/cli/components/Header.d.ts +1 -1
- package/dist/cli/components/Header.d.ts.map +1 -1
- package/dist/cli/components/Header.js +4 -6
- package/dist/cli/components/Header.js.map +1 -1
- package/dist/cli/components/Logo.d.ts +1 -0
- package/dist/cli/components/Logo.d.ts.map +1 -1
- package/dist/cli/components/Logo.js +16 -3
- package/dist/cli/components/Logo.js.map +1 -1
- package/dist/cli/components/Messages.d.ts +4 -4
- package/dist/cli/components/Messages.d.ts.map +1 -1
- package/dist/cli/components/Messages.js +51 -25
- package/dist/cli/components/Messages.js.map +1 -1
- package/dist/cli/components/PermissionPrompt.d.ts +60 -0
- package/dist/cli/components/PermissionPrompt.d.ts.map +1 -0
- package/dist/cli/components/PermissionPrompt.js +192 -0
- package/dist/cli/components/PermissionPrompt.js.map +1 -0
- package/dist/cli/components/ProviderManager.js +3 -3
- package/dist/cli/components/ProviderManager.js.map +1 -1
- package/dist/cli/components/Spinner.d.ts +7 -2
- package/dist/cli/components/Spinner.d.ts.map +1 -1
- package/dist/cli/components/Spinner.js +116 -25
- package/dist/cli/components/Spinner.js.map +1 -1
- package/dist/cli/components/TodoList.d.ts +7 -0
- package/dist/cli/components/TodoList.d.ts.map +1 -0
- package/dist/cli/components/TodoList.js +34 -0
- package/dist/cli/components/TodoList.js.map +1 -0
- package/dist/cli/components/index.d.ts +1 -0
- package/dist/cli/components/index.d.ts.map +1 -1
- package/dist/cli/components/index.js +1 -0
- package/dist/cli/components/index.js.map +1 -1
- package/dist/cli/index.js +47 -7
- package/dist/cli/index.js.map +1 -1
- package/dist/config/index.d.ts +13 -4
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +18 -3
- package/dist/config/index.js.map +1 -1
- package/dist/config/levels.d.ts +49 -0
- package/dist/config/levels.d.ts.map +1 -0
- package/dist/config/levels.js +222 -0
- package/dist/config/levels.js.map +1 -0
- package/dist/config/loader.d.ts +46 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +153 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/config/manager.d.ts +115 -15
- package/dist/config/manager.d.ts.map +1 -1
- package/dist/config/manager.js +260 -34
- package/dist/config/manager.js.map +1 -1
- package/dist/config/manager.test.d.ts +5 -0
- package/dist/config/manager.test.d.ts.map +1 -0
- package/dist/config/manager.test.js +192 -0
- package/dist/config/manager.test.js.map +1 -0
- package/dist/config/merger.d.ts +56 -0
- package/dist/config/merger.d.ts.map +1 -0
- package/dist/config/merger.js +177 -0
- package/dist/config/merger.js.map +1 -0
- package/dist/config/test-utils.d.ts +24 -0
- package/dist/config/test-utils.d.ts.map +1 -0
- package/dist/config/test-utils.js +55 -0
- package/dist/config/test-utils.js.map +1 -0
- package/dist/config/types.d.ts +78 -9
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +52 -2
- package/dist/config/types.js.map +1 -1
- package/dist/memory/import-resolver.d.ts +46 -0
- package/dist/memory/import-resolver.d.ts.map +1 -0
- package/dist/memory/import-resolver.js +117 -0
- package/dist/memory/import-resolver.js.map +1 -0
- package/dist/memory/index.d.ts +7 -6
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/memory/index.js +7 -5
- package/dist/memory/index.js.map +1 -1
- package/dist/memory/init-prompt.d.ts +22 -0
- package/dist/memory/init-prompt.d.ts.map +1 -0
- package/dist/memory/init-prompt.js +103 -0
- package/dist/memory/init-prompt.js.map +1 -0
- package/dist/memory/memory-manager.d.ts +119 -0
- package/dist/memory/memory-manager.d.ts.map +1 -0
- package/dist/memory/memory-manager.js +587 -0
- package/dist/memory/memory-manager.js.map +1 -0
- package/dist/memory/rules-parser.d.ts +38 -0
- package/dist/memory/rules-parser.d.ts.map +1 -0
- package/dist/memory/rules-parser.js +69 -0
- package/dist/memory/rules-parser.js.map +1 -0
- package/dist/memory/test-utils.d.ts +20 -0
- package/dist/memory/test-utils.d.ts.map +1 -0
- package/dist/memory/test-utils.js +44 -0
- package/dist/memory/test-utils.js.map +1 -0
- package/dist/memory/types.d.ts +70 -63
- package/dist/memory/types.d.ts.map +1 -1
- package/dist/memory/types.js +42 -2
- package/dist/memory/types.js.map +1 -1
- package/dist/permissions/audit.d.ts +82 -0
- package/dist/permissions/audit.d.ts.map +1 -0
- package/dist/permissions/audit.js +229 -0
- package/dist/permissions/audit.js.map +1 -0
- package/dist/permissions/index.d.ts +11 -1
- package/dist/permissions/index.d.ts.map +1 -1
- package/dist/permissions/index.js +15 -0
- package/dist/permissions/index.js.map +1 -1
- package/dist/permissions/manager.d.ts +149 -13
- package/dist/permissions/manager.d.ts.map +1 -1
- package/dist/permissions/manager.js +480 -35
- package/dist/permissions/manager.js.map +1 -1
- package/dist/permissions/manager.test.d.ts +5 -0
- package/dist/permissions/manager.test.d.ts.map +1 -0
- package/dist/permissions/manager.test.js +213 -0
- package/dist/permissions/manager.test.js.map +1 -0
- package/dist/permissions/persistence.d.ts +74 -0
- package/dist/permissions/persistence.d.ts.map +1 -0
- package/dist/permissions/persistence.js +248 -0
- package/dist/permissions/persistence.js.map +1 -0
- package/dist/permissions/persistence.test.d.ts +5 -0
- package/dist/permissions/persistence.test.d.ts.map +1 -0
- package/dist/permissions/persistence.test.js +171 -0
- package/dist/permissions/persistence.test.js.map +1 -0
- package/dist/permissions/prompt-matcher.d.ts +64 -0
- package/dist/permissions/prompt-matcher.d.ts.map +1 -0
- package/dist/permissions/prompt-matcher.js +415 -0
- package/dist/permissions/prompt-matcher.js.map +1 -0
- package/dist/permissions/prompt-matcher.test.d.ts +5 -0
- package/dist/permissions/prompt-matcher.test.d.ts.map +1 -0
- package/dist/permissions/prompt-matcher.test.js +107 -0
- package/dist/permissions/prompt-matcher.test.js.map +1 -0
- package/dist/permissions/types.d.ts +157 -0
- package/dist/permissions/types.d.ts.map +1 -1
- package/dist/permissions/types.js +43 -8
- package/dist/permissions/types.js.map +1 -1
- package/dist/prompts/index.d.ts +92 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +241 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/tools/builtin/bash.d.ts.map +1 -1
- package/dist/tools/builtin/bash.js +2 -1
- package/dist/tools/builtin/bash.js.map +1 -1
- package/dist/tools/builtin/edit.d.ts.map +1 -1
- package/dist/tools/builtin/edit.js +2 -1
- package/dist/tools/builtin/edit.js.map +1 -1
- package/dist/tools/builtin/glob.d.ts.map +1 -1
- package/dist/tools/builtin/glob.js +2 -1
- package/dist/tools/builtin/glob.js.map +1 -1
- package/dist/tools/builtin/grep.d.ts.map +1 -1
- package/dist/tools/builtin/grep.js +2 -1
- package/dist/tools/builtin/grep.js.map +1 -1
- package/dist/tools/builtin/read.d.ts.map +1 -1
- package/dist/tools/builtin/read.js +2 -1
- package/dist/tools/builtin/read.js.map +1 -1
- package/dist/tools/builtin/todowrite.d.ts +15 -0
- package/dist/tools/builtin/todowrite.d.ts.map +1 -0
- package/dist/tools/builtin/todowrite.js +88 -0
- package/dist/tools/builtin/todowrite.js.map +1 -0
- package/dist/tools/builtin/webfetch.d.ts.map +1 -1
- package/dist/tools/builtin/webfetch.js +2 -5
- package/dist/tools/builtin/webfetch.js.map +1 -1
- package/dist/tools/builtin/websearch.d.ts.map +1 -1
- package/dist/tools/builtin/websearch.js +2 -16
- package/dist/tools/builtin/websearch.js.map +1 -1
- package/dist/tools/builtin/write.d.ts.map +1 -1
- package/dist/tools/builtin/write.js +2 -1
- package/dist/tools/builtin/write.js.map +1 -1
- package/dist/tools/index.d.ts +7 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +4 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/types.d.ts +22 -0
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/types.js +8 -0
- package/dist/tools/types.js.map +1 -1
- package/docs/config-system-comparison.md +707 -0
- package/docs/memory-system.md +238 -0
- package/docs/permissions.md +368 -0
- package/docs/proposals/0005-todo-system.md +350 -85
- package/docs/proposals/0006-memory-system.md +11 -10
- package/docs/proposals/0012-ask-user-question.md +941 -206
- package/docs/proposals/0023-permission-enhancements.md +61 -2
- package/docs/proposals/0041-configuration-system.md +33 -2
- package/docs/proposals/0042-prompt-optimization.md +866 -0
- package/docs/proposals/README.md +6 -5
- package/jest.config.js +26 -0
- package/package.json +8 -2
- package/src/agent/agent.ts +111 -16
- package/src/cli/components/App.tsx +309 -36
- package/src/cli/components/CommandSuggestions.tsx +2 -0
- package/src/cli/components/Header.tsx +11 -17
- package/src/cli/components/Logo.tsx +76 -9
- package/src/cli/components/Messages.tsx +73 -53
- package/src/cli/components/PermissionPrompt.tsx +388 -0
- package/src/cli/components/ProviderManager.tsx +5 -5
- package/src/cli/components/Spinner.tsx +138 -25
- package/src/cli/components/TodoList.tsx +54 -0
- package/src/cli/components/index.ts +6 -0
- package/src/cli/index.tsx +54 -6
- package/src/config/index.ts +78 -4
- package/src/config/levels.test.ts +163 -0
- package/src/config/levels.ts +285 -0
- package/src/config/loader.test.ts +120 -0
- package/src/config/loader.ts +178 -0
- package/src/config/manager.test.ts +215 -0
- package/src/config/manager.ts +328 -40
- package/src/config/merger.test.ts +360 -0
- package/src/config/merger.ts +221 -0
- package/src/config/test-utils.ts +79 -0
- package/src/config/types.ts +152 -9
- package/src/memory/import-resolver.test.ts +117 -0
- package/src/memory/import-resolver.ts +149 -0
- package/src/memory/index.ts +11 -0
- package/src/memory/init-prompt.ts +113 -0
- package/src/memory/memory-manager.test.ts +198 -0
- package/src/memory/memory-manager.ts +716 -0
- package/src/memory/rules-parser.test.ts +182 -0
- package/src/memory/rules-parser.ts +82 -0
- package/src/memory/test-utils.ts +60 -0
- package/src/memory/types.ts +119 -0
- package/src/permissions/audit.ts +284 -0
- package/src/permissions/index.ts +20 -1
- package/src/permissions/manager.test.ts +260 -0
- package/src/permissions/manager.ts +592 -40
- package/src/permissions/persistence.test.ts +220 -0
- package/src/permissions/persistence.ts +301 -0
- package/src/permissions/prompt-matcher.test.ts +213 -0
- package/src/permissions/prompt-matcher.ts +472 -0
- package/src/permissions/types.ts +236 -8
- package/src/prompts/index.test.ts +279 -0
- package/src/prompts/index.ts +306 -0
- package/src/prompts/system/anthropic.txt +29 -0
- package/src/prompts/system/base.txt +124 -0
- package/src/prompts/system/gemini.txt +35 -0
- package/src/prompts/system/generic.txt +128 -0
- package/src/prompts/system/openai.txt +29 -0
- package/src/prompts/tools/bash.txt +60 -0
- package/src/prompts/tools/edit.txt +29 -0
- package/src/prompts/tools/glob.txt +35 -0
- package/src/prompts/tools/grep.txt +43 -0
- package/src/prompts/tools/read.txt +22 -0
- package/src/prompts/tools/todowrite.txt +71 -0
- package/src/prompts/tools/webfetch.txt +34 -0
- package/src/prompts/tools/websearch.txt +41 -0
- package/src/prompts/tools/write.txt +23 -0
- package/src/tools/builtin/bash.ts +2 -1
- package/src/tools/builtin/edit.ts +2 -1
- package/src/tools/builtin/glob.ts +2 -1
- package/src/tools/builtin/grep.ts +2 -1
- package/src/tools/builtin/read.ts +2 -1
- package/src/tools/builtin/todowrite.ts +102 -0
- package/src/tools/builtin/webfetch.ts +2 -5
- package/src/tools/builtin/websearch.ts +2 -16
- package/src/tools/builtin/write.ts +2 -1
- package/src/tools/index.ts +4 -0
- package/src/tools/types.ts +12 -0
- package/tsconfig.json +1 -1
package/dist/memory/index.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Memory System
|
|
2
|
+
* Memory System - Claude Code compatible memory management
|
|
3
3
|
*
|
|
4
|
-
* Provides
|
|
5
|
-
* hierarchical memory files (CLAUDE.md, AGENT.md, etc.)
|
|
4
|
+
* Provides hierarchical memory loading with AGENT.md (primary) and CLAUDE.md (fallback)
|
|
6
5
|
*/
|
|
7
|
-
export
|
|
8
|
-
export {
|
|
6
|
+
export * from './types.js';
|
|
7
|
+
export { MemoryManager } from './memory-manager.js';
|
|
8
|
+
export { ImportResolver } from './import-resolver.js';
|
|
9
|
+
export { parseRuleFrontmatter, matchesPatterns, activateRules, getActiveRules } from './rules-parser.js';
|
|
10
|
+
export { gatherContextFiles, buildInitPrompt, getContextSummary } from './init-prompt.js';
|
|
9
11
|
//# sourceMappingURL=index.js.map
|
package/dist/memory/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/memory/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/memory/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACzG,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Init Prompt Builder - Generate prompts for /init command
|
|
3
|
+
*
|
|
4
|
+
* Gathers context files (package.json, README.md, etc.) and builds
|
|
5
|
+
* a prompt for the AI to generate AGENT.md
|
|
6
|
+
*/
|
|
7
|
+
export interface ContextFiles {
|
|
8
|
+
[path: string]: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Gather context files for project analysis
|
|
12
|
+
*/
|
|
13
|
+
export declare function gatherContextFiles(cwd: string): Promise<ContextFiles>;
|
|
14
|
+
/**
|
|
15
|
+
* Build the init prompt for generating AGENT.md
|
|
16
|
+
*/
|
|
17
|
+
export declare function buildInitPrompt(contextFiles: ContextFiles, existingAgentMd?: string): string;
|
|
18
|
+
/**
|
|
19
|
+
* Get a summary of files found for user feedback
|
|
20
|
+
*/
|
|
21
|
+
export declare function getContextSummary(contextFiles: ContextFiles): string;
|
|
22
|
+
//# sourceMappingURL=init-prompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init-prompt.d.ts","sourceRoot":"","sources":["../../src/memory/init-prompt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,MAAM,WAAW,YAAY;IAC3B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAyC3E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,YAAY,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAqC5F;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM,CAMpE"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Init Prompt Builder - Generate prompts for /init command
|
|
3
|
+
*
|
|
4
|
+
* Gathers context files (package.json, README.md, etc.) and builds
|
|
5
|
+
* a prompt for the AI to generate AGENT.md
|
|
6
|
+
*/
|
|
7
|
+
import * as fs from 'fs/promises';
|
|
8
|
+
import * as path from 'path';
|
|
9
|
+
import { glob } from 'glob';
|
|
10
|
+
/**
|
|
11
|
+
* Gather context files for project analysis
|
|
12
|
+
*/
|
|
13
|
+
export async function gatherContextFiles(cwd) {
|
|
14
|
+
const patterns = [
|
|
15
|
+
'package.json',
|
|
16
|
+
'README.md',
|
|
17
|
+
'CONTRIBUTING.md',
|
|
18
|
+
'.cursor/rules/**/*.md',
|
|
19
|
+
'.cursorrules',
|
|
20
|
+
'.github/copilot-instructions.md',
|
|
21
|
+
'Cargo.toml',
|
|
22
|
+
'go.mod',
|
|
23
|
+
'pyproject.toml',
|
|
24
|
+
'tsconfig.json',
|
|
25
|
+
'Makefile',
|
|
26
|
+
'docker-compose.yml',
|
|
27
|
+
'docker-compose.yaml',
|
|
28
|
+
];
|
|
29
|
+
const files = {};
|
|
30
|
+
for (const pattern of patterns) {
|
|
31
|
+
try {
|
|
32
|
+
const matches = await glob(pattern, { cwd, absolute: false });
|
|
33
|
+
for (const match of matches.slice(0, 3)) {
|
|
34
|
+
// Limit per pattern
|
|
35
|
+
try {
|
|
36
|
+
const filePath = path.join(cwd, match);
|
|
37
|
+
const content = await fs.readFile(filePath, 'utf-8');
|
|
38
|
+
if (content.length < 50000) {
|
|
39
|
+
// 50KB limit per file
|
|
40
|
+
files[match] = content;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
// Skip files that can't be read
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
// Skip patterns that fail
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return files;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Build the init prompt for generating AGENT.md
|
|
56
|
+
*/
|
|
57
|
+
export function buildInitPrompt(contextFiles, existingAgentMd) {
|
|
58
|
+
const contextParts = Object.entries(contextFiles)
|
|
59
|
+
.map(([filePath, content]) => `### ${filePath}\n\`\`\`\n${content}\n\`\`\``)
|
|
60
|
+
.join('\n\n');
|
|
61
|
+
const existingSection = existingAgentMd
|
|
62
|
+
? `\n\n## Existing AGENT.md\n\`\`\`markdown\n${existingAgentMd}\n\`\`\`\n`
|
|
63
|
+
: '';
|
|
64
|
+
return `Please analyze this codebase and create an AGENT.md file, which will be given to future AI assistants to operate in this repository.
|
|
65
|
+
|
|
66
|
+
## Context Files
|
|
67
|
+
|
|
68
|
+
${contextParts}
|
|
69
|
+
${existingSection}
|
|
70
|
+
## Instructions
|
|
71
|
+
|
|
72
|
+
What to add:
|
|
73
|
+
1. Commands that will be commonly used, such as how to build, lint, and run tests.
|
|
74
|
+
Include the necessary commands to develop in this codebase, such as how to run a single test.
|
|
75
|
+
2. High-level code architecture and structure so that future instances can be productive more quickly.
|
|
76
|
+
Focus on the "big picture" architecture that requires reading multiple files to understand.
|
|
77
|
+
|
|
78
|
+
Usage notes:
|
|
79
|
+
- ${existingAgentMd ? 'Suggest improvements to the existing AGENT.md.' : 'Create a new AGENT.md.'}
|
|
80
|
+
- Do not repeat yourself and do not include obvious instructions like "Provide helpful error messages" or "Write tests for new code".
|
|
81
|
+
- Avoid listing every component or file structure that can be easily discovered.
|
|
82
|
+
- Don't include generic development practices.
|
|
83
|
+
- Do not make up information unless it's expressly included in the files above.
|
|
84
|
+
- Keep it concise - aim for ~20-40 lines.
|
|
85
|
+
- Start the file with:
|
|
86
|
+
|
|
87
|
+
# AGENT.md
|
|
88
|
+
|
|
89
|
+
This file provides guidance to AI assistants when working with code in this repository.
|
|
90
|
+
|
|
91
|
+
After generating the content, use the Write tool to save it to ./AGENT.md`;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Get a summary of files found for user feedback
|
|
95
|
+
*/
|
|
96
|
+
export function getContextSummary(contextFiles) {
|
|
97
|
+
const fileNames = Object.keys(contextFiles);
|
|
98
|
+
if (fileNames.length === 0) {
|
|
99
|
+
return 'No context files found';
|
|
100
|
+
}
|
|
101
|
+
return `Found ${fileNames.length} context file(s): ${fileNames.join(', ')}`;
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=init-prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init-prompt.js","sourceRoot":"","sources":["../../src/memory/init-prompt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAM5B;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,GAAW;IAClD,MAAM,QAAQ,GAAG;QACf,cAAc;QACd,WAAW;QACX,iBAAiB;QACjB,uBAAuB;QACvB,cAAc;QACd,iCAAiC;QACjC,YAAY;QACZ,QAAQ;QACR,gBAAgB;QAChB,eAAe;QACf,UAAU;QACV,oBAAoB;QACpB,qBAAqB;KACtB,CAAC;IAEF,MAAM,KAAK,GAAiB,EAAE,CAAC;IAE/B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9D,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBACxC,oBAAoB;gBACpB,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;oBACvC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBACrD,IAAI,OAAO,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;wBAC3B,sBAAsB;wBACtB,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;oBACzB,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,gCAAgC;gBAClC,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,0BAA0B;QAC5B,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,YAA0B,EAAE,eAAwB;IAClF,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;SAC9C,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,QAAQ,aAAa,OAAO,UAAU,CAAC;SAC3E,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,MAAM,eAAe,GAAG,eAAe;QACrC,CAAC,CAAC,6CAA6C,eAAe,YAAY;QAC1E,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO;;;;EAIP,YAAY;EACZ,eAAe;;;;;;;;;;IAUb,eAAe,CAAC,CAAC,CAAC,gDAAgD,CAAC,CAAC,CAAC,wBAAwB;;;;;;;;;;;;0EAYvB,CAAC;AAC3E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,YAA0B;IAC1D,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC5C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,wBAAwB,CAAC;IAClC,CAAC;IACD,OAAO,SAAS,SAAS,CAAC,MAAM,qBAAqB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAC9E,CAAC"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Memory Manager - Core memory system implementation
|
|
3
|
+
*
|
|
4
|
+
* Implements Claude Code compatible memory loading with merge semantics:
|
|
5
|
+
* At each level, both .gencode and .claude directories are loaded.
|
|
6
|
+
* Content from .gencode appears later in the context (higher priority for LLM).
|
|
7
|
+
*
|
|
8
|
+
* Loading order within each level:
|
|
9
|
+
* 1. .claude files first (lower priority - LLM sees earlier)
|
|
10
|
+
* 2. .gencode files second (higher priority - LLM sees later)
|
|
11
|
+
*
|
|
12
|
+
* Level loading order:
|
|
13
|
+
* 1. Enterprise (system-wide managed, enforced)
|
|
14
|
+
* 2. User (~/.gencode/ + ~/.claude/)
|
|
15
|
+
* 3. User Rules
|
|
16
|
+
* 4. Extra (GENCODE_CONFIG_DIRS)
|
|
17
|
+
* 5. Project (recursive upward search)
|
|
18
|
+
* 6. Project Rules
|
|
19
|
+
* 7. Local (*.local.md files)
|
|
20
|
+
*/
|
|
21
|
+
import type { MemoryConfig, LoadedMemory, MemoryLoadOptions } from './types.js';
|
|
22
|
+
export declare class MemoryManager {
|
|
23
|
+
private config;
|
|
24
|
+
private importResolver;
|
|
25
|
+
private loadedMemory;
|
|
26
|
+
constructor(config?: Partial<MemoryConfig>);
|
|
27
|
+
/**
|
|
28
|
+
* Load all memory files for the given working directory
|
|
29
|
+
*/
|
|
30
|
+
load(options: MemoryLoadOptions): Promise<LoadedMemory>;
|
|
31
|
+
/**
|
|
32
|
+
* Get the current loaded memory
|
|
33
|
+
*/
|
|
34
|
+
getLoaded(): LoadedMemory | null;
|
|
35
|
+
/**
|
|
36
|
+
* Check if any memory is loaded
|
|
37
|
+
*/
|
|
38
|
+
hasMemory(): boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Build combined context string for system prompt injection
|
|
41
|
+
*/
|
|
42
|
+
private buildContext;
|
|
43
|
+
private getLevelLabel;
|
|
44
|
+
/**
|
|
45
|
+
* Load enterprise-level memory files
|
|
46
|
+
*/
|
|
47
|
+
private loadEnterpriseMemory;
|
|
48
|
+
/**
|
|
49
|
+
* Load user-level memory files (both claude and gencode)
|
|
50
|
+
*/
|
|
51
|
+
private loadUserMemory;
|
|
52
|
+
/**
|
|
53
|
+
* Load user-level rules (both claude and gencode)
|
|
54
|
+
*/
|
|
55
|
+
private loadUserRules;
|
|
56
|
+
/**
|
|
57
|
+
* Load extra config dirs memory
|
|
58
|
+
*/
|
|
59
|
+
private loadExtraMemory;
|
|
60
|
+
/**
|
|
61
|
+
* Parse GENCODE_CONFIG_DIRS environment variable
|
|
62
|
+
*/
|
|
63
|
+
private parseExtraConfigDirs;
|
|
64
|
+
/**
|
|
65
|
+
* Load project-level memory files (both claude and gencode)
|
|
66
|
+
*/
|
|
67
|
+
private loadProjectMemory;
|
|
68
|
+
/**
|
|
69
|
+
* Load project-level rules (both claude and gencode)
|
|
70
|
+
*/
|
|
71
|
+
private loadProjectRules;
|
|
72
|
+
/**
|
|
73
|
+
* Load local memory files (both claude and gencode)
|
|
74
|
+
*/
|
|
75
|
+
private loadLocalMemory;
|
|
76
|
+
/**
|
|
77
|
+
* Load rules from a directory
|
|
78
|
+
*/
|
|
79
|
+
private loadRulesFromDir;
|
|
80
|
+
/**
|
|
81
|
+
* Load a single file with import resolution
|
|
82
|
+
*/
|
|
83
|
+
private loadFile;
|
|
84
|
+
/**
|
|
85
|
+
* Find project root (git root or cwd)
|
|
86
|
+
*/
|
|
87
|
+
private findProjectRoot;
|
|
88
|
+
/**
|
|
89
|
+
* Quick add content to memory file
|
|
90
|
+
*/
|
|
91
|
+
quickAdd(content: string, level: 'user' | 'project', cwd: string): Promise<string>;
|
|
92
|
+
/**
|
|
93
|
+
* Get list of loaded files for /memory command
|
|
94
|
+
*/
|
|
95
|
+
getLoadedFileList(): Array<{
|
|
96
|
+
path: string;
|
|
97
|
+
level: string;
|
|
98
|
+
namespace: string;
|
|
99
|
+
size: number;
|
|
100
|
+
type: 'file' | 'rule';
|
|
101
|
+
}>;
|
|
102
|
+
/**
|
|
103
|
+
* Get the path where /init would create a file
|
|
104
|
+
*/
|
|
105
|
+
getInitFilePath(cwd: string): string;
|
|
106
|
+
/**
|
|
107
|
+
* Check if project memory already exists
|
|
108
|
+
*/
|
|
109
|
+
hasProjectMemory(cwd: string): Promise<boolean>;
|
|
110
|
+
/**
|
|
111
|
+
* Get the path of existing project memory file
|
|
112
|
+
*/
|
|
113
|
+
getExistingProjectMemoryPath(cwd: string): Promise<string | null>;
|
|
114
|
+
/**
|
|
115
|
+
* Get debug summary of loaded memory
|
|
116
|
+
*/
|
|
117
|
+
getDebugSummary(): string;
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=memory-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-manager.d.ts","sourceRoot":"","sources":["../../src/memory/memory-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAQH,OAAO,KAAK,EACV,YAAY,EAGZ,YAAY,EACZ,iBAAiB,EAIlB,MAAM,YAAY,CAAC;AAIpB,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,YAAY,CAA6B;gBAErC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC;IAM1C;;OAEG;IACG,IAAI,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC;IA8I7D;;OAEG;IACH,SAAS,IAAI,YAAY,GAAG,IAAI;IAIhC;;OAEG;IACH,SAAS,IAAI,OAAO;IAOpB;;OAEG;IACH,OAAO,CAAC,YAAY;IAyBpB,OAAO,CAAC,aAAa;IAcrB;;OAEG;YACW,oBAAoB;IA6BlC;;OAEG;YACW,cAAc;IAuB5B;;OAEG;YACW,aAAa;IAiB3B;;OAEG;YACW,eAAe;IAyB7B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAW5B;;OAEG;YACW,iBAAiB;IAkC/B;;OAEG;YACW,gBAAgB;IAgB9B;;OAEG;YACW,eAAe;IAkC7B;;OAEG;YACW,gBAAgB;IAuC9B;;OAEG;YACW,QAAQ;IA6BtB;;OAEG;YACW,eAAe;IAiB7B;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA6BxF;;OAEG;IACH,iBAAiB,IAAI,KAAK,CAAC;QACzB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,CAAC;IAkCF;;OAEG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAIpC;;OAEG;IACG,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAqBrD;;OAEG;IACG,4BAA4B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAqBvE;;OAEG;IACH,eAAe,IAAI,MAAM;CAoB1B"}
|