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
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rules Parser - Parse frontmatter from rules files
|
|
3
|
+
*
|
|
4
|
+
* Uses gray-matter for YAML frontmatter parsing.
|
|
5
|
+
* Supports 'paths:' frontmatter for glob-based rule scoping.
|
|
6
|
+
*
|
|
7
|
+
* Example rule file:
|
|
8
|
+
* ---
|
|
9
|
+
* paths:
|
|
10
|
+
* - "src/api/**\/*.ts"
|
|
11
|
+
* - "src/routes/**\/*.ts"
|
|
12
|
+
* ---
|
|
13
|
+
*
|
|
14
|
+
* # API Development Rules
|
|
15
|
+
* - Use async/await consistently
|
|
16
|
+
*/
|
|
17
|
+
import matter from 'gray-matter';
|
|
18
|
+
import { minimatch } from 'minimatch';
|
|
19
|
+
/**
|
|
20
|
+
* Parse frontmatter from a rule file
|
|
21
|
+
*/
|
|
22
|
+
export function parseRuleFrontmatter(fileContent) {
|
|
23
|
+
try {
|
|
24
|
+
const { data, content } = matter(fileContent);
|
|
25
|
+
// Extract paths from frontmatter
|
|
26
|
+
let paths = [];
|
|
27
|
+
if (data.paths) {
|
|
28
|
+
if (Array.isArray(data.paths)) {
|
|
29
|
+
paths = data.paths.filter((p) => typeof p === 'string');
|
|
30
|
+
}
|
|
31
|
+
else if (typeof data.paths === 'string') {
|
|
32
|
+
paths = [data.paths];
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return { paths, content: content.trim() };
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
// If frontmatter parsing fails, return full content with no paths
|
|
39
|
+
return { paths: [], content: fileContent };
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Check if a file path matches any of the glob patterns
|
|
44
|
+
*/
|
|
45
|
+
export function matchesPatterns(filePath, patterns) {
|
|
46
|
+
if (patterns.length === 0) {
|
|
47
|
+
return true; // No patterns = always active
|
|
48
|
+
}
|
|
49
|
+
return patterns.some((pattern) => minimatch(filePath, pattern, {
|
|
50
|
+
matchBase: true,
|
|
51
|
+
dot: true,
|
|
52
|
+
}));
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Activate rules based on current file context
|
|
56
|
+
*/
|
|
57
|
+
export function activateRules(rules, currentFile) {
|
|
58
|
+
return rules.map((rule) => ({
|
|
59
|
+
...rule,
|
|
60
|
+
isActive: currentFile ? matchesPatterns(currentFile, rule.patterns) : rule.patterns.length === 0,
|
|
61
|
+
}));
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Get only active rules
|
|
65
|
+
*/
|
|
66
|
+
export function getActiveRules(rules) {
|
|
67
|
+
return rules.filter((rule) => rule.isActive);
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=rules-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rules-parser.js","sourceRoot":"","sources":["../../src/memory/rules-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAQtC;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,WAAmB;IACtD,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QAE9C,iCAAiC;QACjC,IAAI,KAAK,GAAa,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;YACnE,CAAC;iBAAM,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC1C,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,kEAAkE;QAClE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IAC7C,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB,EAAE,QAAkB;IAClE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,CAAC,8BAA8B;IAC7C,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAC/B,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE;QAC3B,SAAS,EAAE,IAAI;QACf,GAAG,EAAE,IAAI;KACV,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,KAAmB,EAAE,WAAoB;IACrE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1B,GAAG,IAAI;QACP,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;KACjG,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,KAAmB;IAChD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC/C,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared test utilities for memory tests
|
|
3
|
+
*/
|
|
4
|
+
export interface TestProject {
|
|
5
|
+
tempDir: string;
|
|
6
|
+
projectDir: string;
|
|
7
|
+
cleanup: () => Promise<void>;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Create a test project with temp directory and git marker
|
|
11
|
+
*/
|
|
12
|
+
export declare function createTestProject(prefix?: string): Promise<TestProject>;
|
|
13
|
+
/**
|
|
14
|
+
* Write memory file to a directory
|
|
15
|
+
*/
|
|
16
|
+
export declare function writeMemory(projectDir: string, namespace: 'claude' | 'gencode', content: string, options?: {
|
|
17
|
+
local?: boolean;
|
|
18
|
+
inDir?: boolean;
|
|
19
|
+
}): Promise<string>;
|
|
20
|
+
//# sourceMappingURL=test-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-utils.d.ts","sourceRoot":"","sources":["../../src/memory/test-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,SAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,CAetF;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,QAAQ,GAAG,SAAS,EAC/B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GACjD,OAAO,CAAC,MAAM,CAAC,CAiBjB"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared test utilities for memory tests
|
|
3
|
+
*/
|
|
4
|
+
import * as fs from 'fs/promises';
|
|
5
|
+
import * as path from 'path';
|
|
6
|
+
import * as os from 'os';
|
|
7
|
+
/**
|
|
8
|
+
* Create a test project with temp directory and git marker
|
|
9
|
+
*/
|
|
10
|
+
export async function createTestProject(prefix = 'gencode-test-') {
|
|
11
|
+
const tempDir = await fs.mkdtemp(path.join(os.tmpdir(), prefix));
|
|
12
|
+
const projectDir = path.join(tempDir, 'project');
|
|
13
|
+
await fs.mkdir(projectDir, { recursive: true });
|
|
14
|
+
await fs.mkdir(path.join(projectDir, '.git'));
|
|
15
|
+
return {
|
|
16
|
+
tempDir,
|
|
17
|
+
projectDir,
|
|
18
|
+
cleanup: async () => {
|
|
19
|
+
await fs.rm(tempDir, { recursive: true, force: true });
|
|
20
|
+
delete process.env.GENCODE_CONFIG_DIRS;
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Write memory file to a directory
|
|
26
|
+
*/
|
|
27
|
+
export async function writeMemory(projectDir, namespace, content, options = {}) {
|
|
28
|
+
const { local = false, inDir = true } = options;
|
|
29
|
+
const filename = namespace === 'claude'
|
|
30
|
+
? (local ? 'CLAUDE.local.md' : 'CLAUDE.md')
|
|
31
|
+
: (local ? 'AGENT.local.md' : 'AGENT.md');
|
|
32
|
+
let filePath;
|
|
33
|
+
if (inDir) {
|
|
34
|
+
const dir = path.join(projectDir, namespace === 'claude' ? '.claude' : '.gencode');
|
|
35
|
+
await fs.mkdir(dir, { recursive: true });
|
|
36
|
+
filePath = path.join(dir, filename);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
filePath = path.join(projectDir, filename);
|
|
40
|
+
}
|
|
41
|
+
await fs.writeFile(filePath, content);
|
|
42
|
+
return filePath;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=test-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-utils.js","sourceRoot":"","sources":["../../src/memory/test-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAQzB;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAM,GAAG,eAAe;IAC9D,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAEjD,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IAE9C,OAAO;QACL,OAAO;QACP,UAAU;QACV,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACvD,OAAO,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;QACzC,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,UAAkB,EAClB,SAA+B,EAC/B,OAAe,EACf,UAAgD,EAAE;IAElD,MAAM,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAChD,MAAM,QAAQ,GAAG,SAAS,KAAK,QAAQ;QACrC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,WAAW,CAAC;QAC3C,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAE5C,IAAI,QAAgB,CAAC;IACrB,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QACnF,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACtC,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
package/dist/memory/types.d.ts
CHANGED
|
@@ -1,74 +1,81 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Memory System Types
|
|
3
|
-
*
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
*
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
*
|
|
3
|
+
*
|
|
4
|
+
* Hierarchical memory loading compatible with Claude Code:
|
|
5
|
+
* At each level, both .gencode and .claude are loaded and merged (gencode has higher priority).
|
|
6
|
+
*
|
|
7
|
+
* Levels:
|
|
8
|
+
* - Enterprise: System-wide managed memory (enforced)
|
|
9
|
+
* - User: ~/.gencode/ + ~/.claude/ (both loaded, gencode content appears later)
|
|
10
|
+
* - User Rules: ~/.gencode/rules/ + ~/.claude/rules/
|
|
11
|
+
* - Extra: GENCODE_CONFIG_DIRS directories
|
|
12
|
+
* - Project: ./AGENT.md, .gencode/, ./CLAUDE.md, .claude/ (recursive upward search)
|
|
13
|
+
* - Project Rules: .gencode/rules/ + .claude/rules/
|
|
14
|
+
* - Local: *.local.md files (gitignored)
|
|
11
15
|
*/
|
|
16
|
+
export type MemoryLevel = 'enterprise' | 'user' | 'user-rules' | 'extra' | 'project' | 'project-rules' | 'local';
|
|
17
|
+
export type MemoryNamespace = 'gencode' | 'claude' | 'extra';
|
|
12
18
|
export interface MemoryFile {
|
|
13
|
-
/** Absolute path to the file */
|
|
14
19
|
path: string;
|
|
15
|
-
/** File content */
|
|
16
20
|
content: string;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
filename: string;
|
|
21
|
+
level: MemoryLevel;
|
|
22
|
+
namespace: MemoryNamespace;
|
|
23
|
+
loadedAt: Date;
|
|
24
|
+
resolvedImports: string[];
|
|
25
|
+
enforced?: boolean;
|
|
23
26
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
type: 'node' | 'python' | 'go' | 'rust' | 'java' | 'unknown';
|
|
32
|
-
/** Build commands found in config files */
|
|
33
|
-
buildCommands: string[];
|
|
34
|
-
/** Test commands found in config files */
|
|
35
|
-
testCommands: string[];
|
|
36
|
-
/** Key directories and their purposes */
|
|
37
|
-
directories: Array<{
|
|
38
|
-
path: string;
|
|
39
|
-
purpose: string;
|
|
40
|
-
}>;
|
|
41
|
-
/** Configuration files found */
|
|
42
|
-
configFiles: string[];
|
|
43
|
-
/** Package manager detected */
|
|
44
|
-
packageManager?: 'npm' | 'yarn' | 'pnpm' | 'pip' | 'poetry' | 'cargo' | 'go';
|
|
27
|
+
export interface MemoryRule {
|
|
28
|
+
path: string;
|
|
29
|
+
content: string;
|
|
30
|
+
patterns: string[];
|
|
31
|
+
isActive: boolean;
|
|
32
|
+
level: 'user-rules' | 'project-rules';
|
|
33
|
+
namespace: MemoryNamespace;
|
|
45
34
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
35
|
+
export interface MemoryConfig {
|
|
36
|
+
gencodeFilename: string;
|
|
37
|
+
gencodeLocalFilename: string;
|
|
38
|
+
gencodeDir: string;
|
|
39
|
+
claudeFilename: string;
|
|
40
|
+
claudeLocalFilename: string;
|
|
41
|
+
claudeDir: string;
|
|
42
|
+
rulesDir: string;
|
|
43
|
+
maxFileSize: number;
|
|
44
|
+
maxTotalSize: number;
|
|
45
|
+
maxImportDepth: number;
|
|
56
46
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
47
|
+
export declare const DEFAULT_MEMORY_CONFIG: MemoryConfig;
|
|
48
|
+
export declare const LEGACY_MEMORY_CONFIG: {
|
|
49
|
+
primaryFilename: string;
|
|
50
|
+
fallbackFilename: string;
|
|
51
|
+
localFilename: string;
|
|
52
|
+
localFallbackFilename: string;
|
|
53
|
+
primaryUserDir: string;
|
|
54
|
+
fallbackUserDir: string;
|
|
55
|
+
primaryLocalDir: string;
|
|
56
|
+
fallbackLocalDir: string;
|
|
57
|
+
rulesDir: string;
|
|
58
|
+
maxFileSize: number;
|
|
59
|
+
maxTotalSize: number;
|
|
60
|
+
maxImportDepth: number;
|
|
61
|
+
};
|
|
62
|
+
export interface LoadedMemory {
|
|
63
|
+
files: MemoryFile[];
|
|
64
|
+
rules: MemoryRule[];
|
|
65
|
+
totalSize: number;
|
|
66
|
+
context: string;
|
|
67
|
+
errors: string[];
|
|
68
|
+
sources: MemorySource[];
|
|
69
|
+
}
|
|
70
|
+
export interface MemorySource {
|
|
71
|
+
level: MemoryLevel;
|
|
72
|
+
namespace: MemoryNamespace;
|
|
73
|
+
path: string;
|
|
74
|
+
type: 'file' | 'rule';
|
|
75
|
+
size: number;
|
|
76
|
+
}
|
|
77
|
+
export interface MemoryLoadOptions {
|
|
78
|
+
cwd: string;
|
|
79
|
+
currentFile?: string;
|
|
69
80
|
}
|
|
70
|
-
/**
|
|
71
|
-
* Conflict resolution choice when file exists
|
|
72
|
-
*/
|
|
73
|
-
export type ConflictResolution = 'overwrite' | 'merge' | 'cancel';
|
|
74
81
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/memory/types.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/memory/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,MAAM,WAAW,GACnB,YAAY,GACZ,MAAM,GACN,YAAY,GACZ,OAAO,GACP,SAAS,GACT,eAAe,GACf,OAAO,CAAC;AAEZ,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE7D,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,eAAe,CAAC;IAC3B,QAAQ,EAAE,IAAI,CAAC;IACf,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,YAAY,GAAG,eAAe,CAAC;IACtC,SAAS,EAAE,eAAe,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAE3B,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IAGnB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAGlB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,qBAAqB,EAAE,YAgBnC,CAAC;AAGF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;CAahC,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,eAAe,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
|
package/dist/memory/types.js
CHANGED
|
@@ -1,6 +1,46 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Memory System Types
|
|
3
|
-
*
|
|
3
|
+
*
|
|
4
|
+
* Hierarchical memory loading compatible with Claude Code:
|
|
5
|
+
* At each level, both .gencode and .claude are loaded and merged (gencode has higher priority).
|
|
6
|
+
*
|
|
7
|
+
* Levels:
|
|
8
|
+
* - Enterprise: System-wide managed memory (enforced)
|
|
9
|
+
* - User: ~/.gencode/ + ~/.claude/ (both loaded, gencode content appears later)
|
|
10
|
+
* - User Rules: ~/.gencode/rules/ + ~/.claude/rules/
|
|
11
|
+
* - Extra: GENCODE_CONFIG_DIRS directories
|
|
12
|
+
* - Project: ./AGENT.md, .gencode/, ./CLAUDE.md, .claude/ (recursive upward search)
|
|
13
|
+
* - Project Rules: .gencode/rules/ + .claude/rules/
|
|
14
|
+
* - Local: *.local.md files (gitignored)
|
|
4
15
|
*/
|
|
5
|
-
export {
|
|
16
|
+
export const DEFAULT_MEMORY_CONFIG = {
|
|
17
|
+
// GenCode
|
|
18
|
+
gencodeFilename: 'AGENT.md',
|
|
19
|
+
gencodeLocalFilename: 'AGENT.local.md',
|
|
20
|
+
gencodeDir: '.gencode',
|
|
21
|
+
// Claude
|
|
22
|
+
claudeFilename: 'CLAUDE.md',
|
|
23
|
+
claudeLocalFilename: 'CLAUDE.local.md',
|
|
24
|
+
claudeDir: '.claude',
|
|
25
|
+
// Common
|
|
26
|
+
rulesDir: 'rules',
|
|
27
|
+
maxFileSize: 100 * 1024, // 100KB
|
|
28
|
+
maxTotalSize: 500 * 1024, // 500KB
|
|
29
|
+
maxImportDepth: 5,
|
|
30
|
+
};
|
|
31
|
+
// Legacy compatibility
|
|
32
|
+
export const LEGACY_MEMORY_CONFIG = {
|
|
33
|
+
primaryFilename: 'AGENT.md',
|
|
34
|
+
fallbackFilename: 'CLAUDE.md',
|
|
35
|
+
localFilename: 'AGENT.local.md',
|
|
36
|
+
localFallbackFilename: 'CLAUDE.local.md',
|
|
37
|
+
primaryUserDir: '.gencode',
|
|
38
|
+
fallbackUserDir: '.claude',
|
|
39
|
+
primaryLocalDir: '.gencode',
|
|
40
|
+
fallbackLocalDir: '.claude',
|
|
41
|
+
rulesDir: 'rules',
|
|
42
|
+
maxFileSize: 100 * 1024,
|
|
43
|
+
maxTotalSize: 500 * 1024,
|
|
44
|
+
maxImportDepth: 5,
|
|
45
|
+
};
|
|
6
46
|
//# sourceMappingURL=types.js.map
|
package/dist/memory/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/memory/types.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/memory/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAkDH,MAAM,CAAC,MAAM,qBAAqB,GAAiB;IACjD,UAAU;IACV,eAAe,EAAE,UAAU;IAC3B,oBAAoB,EAAE,gBAAgB;IACtC,UAAU,EAAE,UAAU;IAEtB,SAAS;IACT,cAAc,EAAE,WAAW;IAC3B,mBAAmB,EAAE,iBAAiB;IACtC,SAAS,EAAE,SAAS;IAEpB,SAAS;IACT,QAAQ,EAAE,OAAO;IACjB,WAAW,EAAE,GAAG,GAAG,IAAI,EAAE,QAAQ;IACjC,YAAY,EAAE,GAAG,GAAG,IAAI,EAAE,QAAQ;IAClC,cAAc,EAAE,CAAC;CAClB,CAAC;AAEF,uBAAuB;AACvB,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,eAAe,EAAE,UAAU;IAC3B,gBAAgB,EAAE,WAAW;IAC7B,aAAa,EAAE,gBAAgB;IAC/B,qBAAqB,EAAE,iBAAiB;IACxC,cAAc,EAAE,UAAU;IAC1B,eAAe,EAAE,SAAS;IAC1B,eAAe,EAAE,UAAU;IAC3B,gBAAgB,EAAE,SAAS;IAC3B,QAAQ,EAAE,OAAO;IACjB,WAAW,EAAE,GAAG,GAAG,IAAI;IACvB,YAAY,EAAE,GAAG,GAAG,IAAI;IACxB,cAAc,EAAE,CAAC;CAClB,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Permission Audit - Log permission decisions for transparency
|
|
3
|
+
*
|
|
4
|
+
* Maintains an in-memory audit log with optional file persistence.
|
|
5
|
+
* Useful for debugging, security review, and compliance.
|
|
6
|
+
*/
|
|
7
|
+
import type { PermissionAuditEntry, AuditDecision } from './types.js';
|
|
8
|
+
/**
|
|
9
|
+
* Permission Audit Logger
|
|
10
|
+
*/
|
|
11
|
+
export declare class PermissionAudit {
|
|
12
|
+
private entries;
|
|
13
|
+
private persistToFile;
|
|
14
|
+
private filePath;
|
|
15
|
+
constructor(options?: {
|
|
16
|
+
persistToFile?: boolean;
|
|
17
|
+
auditDir?: string;
|
|
18
|
+
});
|
|
19
|
+
/**
|
|
20
|
+
* Log a permission decision
|
|
21
|
+
*/
|
|
22
|
+
log(tool: string, input: unknown, decision: AuditDecision, reason: string, options?: {
|
|
23
|
+
matchedRule?: string;
|
|
24
|
+
sessionId?: string;
|
|
25
|
+
}): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* Append entry to file
|
|
28
|
+
*/
|
|
29
|
+
private appendToFile;
|
|
30
|
+
/**
|
|
31
|
+
* Get recent audit entries
|
|
32
|
+
*/
|
|
33
|
+
getRecent(count?: number): PermissionAuditEntry[];
|
|
34
|
+
/**
|
|
35
|
+
* Get all entries in memory
|
|
36
|
+
*/
|
|
37
|
+
getAll(): PermissionAuditEntry[];
|
|
38
|
+
/**
|
|
39
|
+
* Get entries by tool
|
|
40
|
+
*/
|
|
41
|
+
getByTool(tool: string): PermissionAuditEntry[];
|
|
42
|
+
/**
|
|
43
|
+
* Get entries by decision
|
|
44
|
+
*/
|
|
45
|
+
getByDecision(decision: AuditDecision): PermissionAuditEntry[];
|
|
46
|
+
/**
|
|
47
|
+
* Get entries by session
|
|
48
|
+
*/
|
|
49
|
+
getBySession(sessionId: string): PermissionAuditEntry[];
|
|
50
|
+
/**
|
|
51
|
+
* Get statistics
|
|
52
|
+
*/
|
|
53
|
+
getStats(): {
|
|
54
|
+
total: number;
|
|
55
|
+
allowed: number;
|
|
56
|
+
denied: number;
|
|
57
|
+
confirmed: number;
|
|
58
|
+
rejected: number;
|
|
59
|
+
byTool: Record<string, number>;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Clear in-memory entries
|
|
63
|
+
*/
|
|
64
|
+
clear(): void;
|
|
65
|
+
/**
|
|
66
|
+
* Load entries from file
|
|
67
|
+
*/
|
|
68
|
+
loadFromFile(): Promise<PermissionAuditEntry[]>;
|
|
69
|
+
/**
|
|
70
|
+
* Clear file entries
|
|
71
|
+
*/
|
|
72
|
+
clearFile(): Promise<void>;
|
|
73
|
+
/**
|
|
74
|
+
* Format entry for display
|
|
75
|
+
*/
|
|
76
|
+
formatEntry(entry: PermissionAuditEntry): string;
|
|
77
|
+
/**
|
|
78
|
+
* Format entries as table
|
|
79
|
+
*/
|
|
80
|
+
formatTable(entries: PermissionAuditEntry[]): string;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=audit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/permissions/audit.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAkDtE;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,QAAQ,CAAS;gBAEb,OAAO,GAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAO;IAMxE;;OAEG;IACG,GAAG,CACP,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;QACP,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;KACf,GACL,OAAO,CAAC,IAAI,CAAC;IAyBhB;;OAEG;YACW,YAAY;IAkC1B;;OAEG;IACH,SAAS,CAAC,KAAK,GAAE,MAAW,GAAG,oBAAoB,EAAE;IAIrD;;OAEG;IACH,MAAM,IAAI,oBAAoB,EAAE;IAIhC;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,EAAE;IAI/C;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,aAAa,GAAG,oBAAoB,EAAE;IAI9D;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,oBAAoB,EAAE;IAIvD;;OAEG;IACH,QAAQ,IAAI;QACV,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAChC;IAkCD;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;IASrD;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAQhC;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,oBAAoB,GAAG,MAAM;IAahD;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM;CAOrD"}
|