@mycodemap/mycodemap 0.4.1 → 0.4.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/CHANGELOG.md +11 -0
- package/README.md +214 -221
- package/dist/cli/commands/analyze-options.d.ts +36 -0
- package/dist/cli/commands/analyze-options.d.ts.map +1 -0
- package/dist/cli/commands/analyze-options.js +147 -0
- package/dist/cli/commands/analyze-options.js.map +1 -0
- package/dist/cli/commands/analyze.d.ts +93 -4
- package/dist/cli/commands/analyze.d.ts.map +1 -1
- package/dist/cli/commands/analyze.js +592 -176
- package/dist/cli/commands/analyze.js.map +1 -1
- package/dist/cli/commands/ci.d.ts +47 -1
- package/dist/cli/commands/ci.d.ts.map +1 -1
- package/dist/cli/commands/ci.js +208 -1
- package/dist/cli/commands/ci.js.map +1 -1
- package/dist/cli/commands/export.d.ts.map +1 -1
- package/dist/cli/commands/export.js +2 -2
- package/dist/cli/commands/export.js.map +1 -1
- package/dist/cli/commands/generate.d.ts +8 -2
- package/dist/cli/commands/generate.d.ts.map +1 -1
- package/dist/cli/commands/generate.js +151 -22
- package/dist/cli/commands/generate.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +2 -13
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/ship/checker.d.ts.map +1 -1
- package/dist/cli/commands/ship/checker.js +0 -3
- package/dist/cli/commands/ship/checker.js.map +1 -1
- package/dist/cli/commands/ship/rules/quality-rules.d.ts +0 -1
- package/dist/cli/commands/ship/rules/quality-rules.d.ts.map +1 -1
- package/dist/cli/commands/ship/rules/quality-rules.js +4 -76
- package/dist/cli/commands/ship/rules/quality-rules.js.map +1 -1
- package/dist/cli/commands/workflow.js +4 -4
- package/dist/cli/commands/workflow.js.map +1 -1
- package/dist/cli/config-loader.d.ts +31 -0
- package/dist/cli/config-loader.d.ts.map +1 -0
- package/dist/cli/config-loader.js +235 -0
- package/dist/cli/config-loader.js.map +1 -0
- package/dist/cli/index.js +18 -63
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/removed-commands.d.ts +9 -0
- package/dist/cli/removed-commands.d.ts.map +1 -0
- package/dist/cli/removed-commands.js +48 -0
- package/dist/cli/removed-commands.js.map +1 -0
- package/dist/cli/storage-runtime.d.ts +8 -0
- package/dist/cli/storage-runtime.d.ts.map +1 -0
- package/dist/cli/storage-runtime.js +14 -0
- package/dist/cli/storage-runtime.js.map +1 -0
- package/dist/cli/tree-sitter-check.d.ts.map +1 -1
- package/dist/cli/tree-sitter-check.js +0 -1
- package/dist/cli/tree-sitter-check.js.map +1 -1
- package/dist/cli-new/commands/export.d.ts.map +1 -1
- package/dist/cli-new/commands/export.js +2 -2
- package/dist/cli-new/commands/export.js.map +1 -1
- package/dist/cli-new/commands/query.d.ts.map +1 -1
- package/dist/cli-new/commands/query.js +5 -4
- package/dist/cli-new/commands/query.js.map +1 -1
- package/dist/cli-new/index.d.ts.map +1 -1
- package/dist/cli-new/index.js +0 -2
- package/dist/cli-new/index.js.map +1 -1
- package/dist/core/analyzer.d.ts.map +1 -1
- package/dist/core/analyzer.js +7 -39
- package/dist/core/analyzer.js.map +1 -1
- package/dist/core/file-discovery.d.ts +17 -0
- package/dist/core/file-discovery.d.ts.map +1 -0
- package/dist/core/file-discovery.js +75 -0
- package/dist/core/file-discovery.js.map +1 -0
- package/dist/core/global-index.d.ts +5 -0
- package/dist/core/global-index.d.ts.map +1 -1
- package/dist/core/global-index.js +71 -21
- package/dist/core/global-index.js.map +1 -1
- package/dist/generator/index.d.ts.map +1 -1
- package/dist/generator/index.js +8 -0
- package/dist/generator/index.js.map +1 -1
- package/dist/infrastructure/parser/implementations/GoParser.d.ts +2 -5
- package/dist/infrastructure/parser/implementations/GoParser.d.ts.map +1 -1
- package/dist/infrastructure/parser/implementations/GoParser.js +2 -5
- package/dist/infrastructure/parser/implementations/GoParser.js.map +1 -1
- package/dist/infrastructure/parser/implementations/PythonParser.d.ts +1 -5
- package/dist/infrastructure/parser/implementations/PythonParser.d.ts.map +1 -1
- package/dist/infrastructure/parser/implementations/PythonParser.js +1 -5
- package/dist/infrastructure/parser/implementations/PythonParser.js.map +1 -1
- package/dist/infrastructure/parser/implementations/TypeScriptParser.d.ts +1 -5
- package/dist/infrastructure/parser/implementations/TypeScriptParser.d.ts.map +1 -1
- package/dist/infrastructure/parser/implementations/TypeScriptParser.js +1 -5
- package/dist/infrastructure/parser/implementations/TypeScriptParser.js.map +1 -1
- package/dist/infrastructure/storage/StorageFactory.d.ts +0 -1
- package/dist/infrastructure/storage/StorageFactory.d.ts.map +1 -1
- package/dist/infrastructure/storage/StorageFactory.js +4 -29
- package/dist/infrastructure/storage/StorageFactory.js.map +1 -1
- package/dist/infrastructure/storage/adapters/FileSystemStorage.d.ts.map +1 -1
- package/dist/infrastructure/storage/adapters/FileSystemStorage.js +24 -137
- package/dist/infrastructure/storage/adapters/FileSystemStorage.js.map +1 -1
- package/dist/infrastructure/storage/adapters/KuzuDBStorage.d.ts +10 -18
- package/dist/infrastructure/storage/adapters/KuzuDBStorage.d.ts.map +1 -1
- package/dist/infrastructure/storage/adapters/KuzuDBStorage.js +103 -146
- package/dist/infrastructure/storage/adapters/KuzuDBStorage.js.map +1 -1
- package/dist/infrastructure/storage/adapters/MemoryStorage.d.ts +0 -1
- package/dist/infrastructure/storage/adapters/MemoryStorage.d.ts.map +1 -1
- package/dist/infrastructure/storage/adapters/MemoryStorage.js +16 -136
- package/dist/infrastructure/storage/adapters/MemoryStorage.js.map +1 -1
- package/dist/infrastructure/storage/graph-helpers.d.ts +16 -0
- package/dist/infrastructure/storage/graph-helpers.d.ts.map +1 -0
- package/dist/infrastructure/storage/graph-helpers.js +161 -0
- package/dist/infrastructure/storage/graph-helpers.js.map +1 -0
- package/dist/infrastructure/storage/index.d.ts.map +1 -1
- package/dist/interface/config/index.d.ts +10 -1
- package/dist/interface/config/index.d.ts.map +1 -1
- package/dist/interface/types/index.d.ts +13 -0
- package/dist/interface/types/index.d.ts.map +1 -1
- package/dist/interface/types/storage.d.ts +1 -4
- package/dist/interface/types/storage.d.ts.map +1 -1
- package/dist/orchestrator/confidence.d.ts +9 -9
- package/dist/orchestrator/confidence.d.ts.map +1 -1
- package/dist/orchestrator/confidence.js +44 -67
- package/dist/orchestrator/confidence.js.map +1 -1
- package/dist/orchestrator/file-header-scanner.d.ts.map +1 -1
- package/dist/orchestrator/file-header-scanner.js +22 -31
- package/dist/orchestrator/file-header-scanner.js.map +1 -1
- package/dist/orchestrator/intent-router.d.ts +2 -11
- package/dist/orchestrator/intent-router.d.ts.map +1 -1
- package/dist/orchestrator/intent-router.js +58 -49
- package/dist/orchestrator/intent-router.js.map +1 -1
- package/dist/orchestrator/tool-orchestrator.d.ts.map +1 -1
- package/dist/orchestrator/tool-orchestrator.js +6 -4
- package/dist/orchestrator/tool-orchestrator.js.map +1 -1
- package/dist/orchestrator/types.d.ts +113 -2
- package/dist/orchestrator/types.d.ts.map +1 -1
- package/dist/orchestrator/types.js +29 -0
- package/dist/orchestrator/types.js.map +1 -1
- package/dist/orchestrator/workflow/config.d.ts +4 -12
- package/dist/orchestrator/workflow/config.d.ts.map +1 -1
- package/dist/orchestrator/workflow/config.js +4 -6
- package/dist/orchestrator/workflow/config.js.map +1 -1
- package/dist/orchestrator/workflow/git-analyzer.d.ts.map +1 -1
- package/dist/orchestrator/workflow/git-analyzer.js +9 -19
- package/dist/orchestrator/workflow/git-analyzer.js.map +1 -1
- package/dist/orchestrator/workflow/phase-inheritance.d.ts.map +1 -1
- package/dist/orchestrator/workflow/phase-inheritance.js +14 -23
- package/dist/orchestrator/workflow/phase-inheritance.js.map +1 -1
- package/dist/orchestrator/workflow/result-fusion.d.ts.map +1 -1
- package/dist/orchestrator/workflow/result-fusion.js +9 -11
- package/dist/orchestrator/workflow/result-fusion.js.map +1 -1
- package/dist/orchestrator/workflow/templates.d.ts +4 -1
- package/dist/orchestrator/workflow/templates.d.ts.map +1 -1
- package/dist/orchestrator/workflow/templates.js +49 -207
- package/dist/orchestrator/workflow/templates.js.map +1 -1
- package/dist/orchestrator/workflow/test-linker.d.ts.map +1 -1
- package/dist/orchestrator/workflow/test-linker.js +12 -24
- package/dist/orchestrator/workflow/test-linker.js.map +1 -1
- package/dist/orchestrator/workflow/types.d.ts +11 -8
- package/dist/orchestrator/workflow/types.d.ts.map +1 -1
- package/dist/orchestrator/workflow/types.js +8 -1
- package/dist/orchestrator/workflow/types.js.map +1 -1
- package/dist/orchestrator/workflow/visualizer.d.ts.map +1 -1
- package/dist/orchestrator/workflow/visualizer.js +7 -9
- package/dist/orchestrator/workflow/visualizer.js.map +1 -1
- package/dist/orchestrator/workflow/workflow-context.d.ts.map +1 -1
- package/dist/orchestrator/workflow/workflow-context.js +3 -5
- package/dist/orchestrator/workflow/workflow-context.js.map +1 -1
- package/dist/orchestrator/workflow/workflow-orchestrator.d.ts +0 -4
- package/dist/orchestrator/workflow/workflow-orchestrator.d.ts.map +1 -1
- package/dist/orchestrator/workflow/workflow-orchestrator.js +7 -99
- package/dist/orchestrator/workflow/workflow-orchestrator.js.map +1 -1
- package/dist/parser/index.d.ts.map +1 -1
- package/dist/parser/index.js +2 -2
- package/dist/parser/index.js.map +1 -1
- package/dist/plugins/index.d.ts +5 -3
- package/dist/plugins/index.d.ts.map +1 -1
- package/dist/plugins/index.js +19 -8
- package/dist/plugins/index.js.map +1 -1
- package/dist/plugins/plugin-loader.d.ts +21 -6
- package/dist/plugins/plugin-loader.d.ts.map +1 -1
- package/dist/plugins/plugin-loader.js +170 -54
- package/dist/plugins/plugin-loader.js.map +1 -1
- package/dist/plugins/plugin-registry.d.ts +7 -4
- package/dist/plugins/plugin-registry.d.ts.map +1 -1
- package/dist/plugins/plugin-registry.js +62 -14
- package/dist/plugins/plugin-registry.js.map +1 -1
- package/dist/plugins/types.d.ts +16 -6
- package/dist/plugins/types.d.ts.map +1 -1
- package/dist/plugins/types.js +2 -0
- package/dist/plugins/types.js.map +1 -1
- package/dist/server/handlers/AnalysisHandler.d.ts +16 -2
- package/dist/server/handlers/AnalysisHandler.d.ts.map +1 -1
- package/dist/server/handlers/AnalysisHandler.js +31 -47
- package/dist/server/handlers/AnalysisHandler.js.map +1 -1
- package/dist/server/routes/api.d.ts.map +1 -1
- package/dist/server/routes/api.js +31 -12
- package/dist/server/routes/api.js.map +1 -1
- package/docs/AI_ASSISTANT_SETUP.md +3 -1
- package/docs/SETUP_GUIDE.md +41 -17
- package/docs/ai-guide/COMMANDS.md +106 -102
- package/docs/ai-guide/INTEGRATION.md +23 -21
- package/docs/ai-guide/OUTPUT.md +206 -10
- package/docs/ai-guide/PATTERNS.md +64 -15
- package/docs/ai-guide/PROMPTS.md +12 -12
- package/docs/ai-guide/QUICKSTART.md +35 -19
- package/docs/ai-guide/README.md +22 -4
- package/docs/product-specs/MVP3-ARCHITECTURE-COMPARISON.md +159 -434
- package/docs/product-specs/MVP3-ARCHITECTURE-REDESIGN-PRD.md +169 -261
- package/docs/product-specs/MVP3-ARCHITECTURE-REDESIGN-TECH-PRD.md +201 -1259
- package/docs/product-specs/README.md +8 -1
- package/docs/rules/architecture-guardrails.md +1 -2
- package/docs/rules/engineering-with-codex-openai.md +15 -9
- package/docs/rules/validation.md +26 -4
- package/mycodemap.config.schema.json +76 -5
- package/package.json +1 -1
- package/scripts/sync-analyze-docs.js +500 -0
- package/scripts/validate-ai-docs.js +54 -1
- package/scripts/validate-docs.js +746 -26
- package/dist/cli/commands/server.d.ts +0 -9
- package/dist/cli/commands/server.d.ts.map +0 -1
- package/dist/cli/commands/server.js +0 -68
- package/dist/cli/commands/server.js.map +0 -1
- package/dist/cli-new/commands/server.d.ts +0 -13
- package/dist/cli-new/commands/server.d.ts.map +0 -1
- package/dist/cli-new/commands/server.js +0 -94
- package/dist/cli-new/commands/server.js.map +0 -1
- package/dist/infrastructure/storage/adapters/Neo4jStorage.d.ts +0 -49
- package/dist/infrastructure/storage/adapters/Neo4jStorage.d.ts.map +0 -1
- package/dist/infrastructure/storage/adapters/Neo4jStorage.js +0 -222
- package/dist/infrastructure/storage/adapters/Neo4jStorage.js.map +0 -1
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [META] since:2026-03-24 | owner:cli-team | stable:false
|
|
3
|
+
* [WHY] 统一 analyze 的 option schema,减少 commander/help/parse 三处事实漂移
|
|
4
|
+
*/
|
|
5
|
+
import type { ParseArgsConfig } from 'node:util';
|
|
6
|
+
import { Command } from 'commander';
|
|
7
|
+
type AnalyzeParseOption = {
|
|
8
|
+
type: 'string' | 'boolean';
|
|
9
|
+
short?: string;
|
|
10
|
+
multiple?: boolean;
|
|
11
|
+
default?: boolean;
|
|
12
|
+
};
|
|
13
|
+
interface AnalyzeOptionDefinition {
|
|
14
|
+
name: string;
|
|
15
|
+
flags: string;
|
|
16
|
+
description: string;
|
|
17
|
+
helpDescription: string;
|
|
18
|
+
docDescription?: string;
|
|
19
|
+
docDefaultValue?: string;
|
|
20
|
+
parse: AnalyzeParseOption;
|
|
21
|
+
defaultValue?: string;
|
|
22
|
+
includeInCommander?: boolean;
|
|
23
|
+
includeInDocs?: boolean;
|
|
24
|
+
}
|
|
25
|
+
export declare const ANALYZE_COMMAND_DESCRIPTION = "\u7EDF\u4E00\u5206\u6790\u5165\u53E3 - \u652F\u6301\u591A\u79CD\u5206\u6790\u610F\u56FE";
|
|
26
|
+
export declare const ANALYZE_OPTION_DEFINITIONS: readonly AnalyzeOptionDefinition[];
|
|
27
|
+
export declare const ANALYZE_PARSE_OPTIONS: NonNullable<ParseArgsConfig["options"]>;
|
|
28
|
+
export declare function applyAnalyzeCliOptions(command: Command): Command;
|
|
29
|
+
export declare function configureAnalyzeCommand(command: Command): Command;
|
|
30
|
+
export declare function renderAnalyzeHelpOptions(): string;
|
|
31
|
+
export declare const ANALYZE_HELP_EXAMPLES: readonly ["codemap analyze -i find -k \"SourceLocation\" --json --structured", "codemap analyze -i read -t src/index.ts --scope transitive --json", "codemap analyze -i link -t src/utils --json", "codemap analyze -i show -t src/ --output-mode human"];
|
|
32
|
+
export declare function renderAnalyzeHelpExamples(): string;
|
|
33
|
+
export declare function renderAnalyzeAfterHelpText(): string;
|
|
34
|
+
export declare function getAnalyzeHelpText(programName?: string): string;
|
|
35
|
+
export {};
|
|
36
|
+
//# sourceMappingURL=analyze-options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analyze-options.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/analyze-options.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,KAAK,kBAAkB,GAAG;IACxB,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,UAAU,uBAAuB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,kBAAkB,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,eAAO,MAAM,2BAA2B,4FAAsB,CAAC;AAE/D,eAAO,MAAM,0BAA0B,EAAE,SAAS,uBAAuB,EA8F/D,CAAC;AAEX,eAAO,MAAM,qBAAqB,EAE7B,WAAW,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;AAE7C,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAehE;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAIjE;AAED,wBAAgB,wBAAwB,IAAI,MAAM,CAUjD;AAED,eAAO,MAAM,qBAAqB,2PAKxB,CAAC;AAEX,wBAAgB,yBAAyB,IAAI,MAAM,CAElD;AAED,wBAAgB,0BAA0B,IAAI,MAAM,CAEnD;AAED,wBAAgB,kBAAkB,CAAC,WAAW,GAAE,MAAoB,GAAG,MAAM,CAO5E"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [META] since:2026-03-24 | owner:cli-team | stable:false
|
|
3
|
+
* [WHY] 统一 analyze 的 option schema,减少 commander/help/parse 三处事实漂移
|
|
4
|
+
*/
|
|
5
|
+
import { Command } from 'commander';
|
|
6
|
+
import { PUBLIC_INTENTS } from '../../orchestrator/types.js';
|
|
7
|
+
export const ANALYZE_COMMAND_DESCRIPTION = '统一分析入口 - 支持多种分析意图';
|
|
8
|
+
export const ANALYZE_OPTION_DEFINITIONS = [
|
|
9
|
+
{
|
|
10
|
+
name: 'intent',
|
|
11
|
+
flags: '-i, --intent <type>',
|
|
12
|
+
description: `分析类型 (${PUBLIC_INTENTS.join('|')})`,
|
|
13
|
+
helpDescription: `分析类型 (${PUBLIC_INTENTS.join('|')})`,
|
|
14
|
+
docDescription: '分析类型:`find`/`read`/`link`/`show`(必填)',
|
|
15
|
+
parse: { type: 'string', short: 'i' },
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: 'targets',
|
|
19
|
+
flags: '-t, --targets <paths...>',
|
|
20
|
+
description: '目标文件/模块路径',
|
|
21
|
+
helpDescription: '目标文件/模块路径 (多个)',
|
|
22
|
+
docDescription: '目标路径(`read`/`link`/`show` 必填,`find` 可选)',
|
|
23
|
+
parse: { type: 'string', short: 't', multiple: true },
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
name: 'keywords',
|
|
27
|
+
flags: '-k, --keywords <words...>',
|
|
28
|
+
description: '搜索关键词',
|
|
29
|
+
helpDescription: '搜索关键词 (多个)',
|
|
30
|
+
docDescription: '搜索关键词(主要用于 `find`)',
|
|
31
|
+
parse: { type: 'string', short: 'k', multiple: true },
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
name: 'scope',
|
|
35
|
+
flags: '-s, --scope <scope>',
|
|
36
|
+
description: '范围 (direct|transitive)',
|
|
37
|
+
helpDescription: '范围 (direct|transitive)',
|
|
38
|
+
docDescription: '范围:`direct`(直接)/`transitive`(传递)',
|
|
39
|
+
docDefaultValue: 'direct',
|
|
40
|
+
parse: { type: 'string', short: 's' },
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: 'topK',
|
|
44
|
+
flags: '-n, --topK <number>',
|
|
45
|
+
description: '返回结果数量',
|
|
46
|
+
helpDescription: '返回结果数量 (默认 8, 最大 100)',
|
|
47
|
+
docDescription: '返回结果数量',
|
|
48
|
+
docDefaultValue: '8',
|
|
49
|
+
parse: { type: 'string', short: 'n' },
|
|
50
|
+
defaultValue: '8',
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
name: 'include-tests',
|
|
54
|
+
flags: '--include-tests',
|
|
55
|
+
description: '包含测试文件',
|
|
56
|
+
helpDescription: '包含测试文件',
|
|
57
|
+
docDescription: '包含测试文件关联',
|
|
58
|
+
parse: { type: 'boolean', default: false },
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
name: 'include-git-history',
|
|
62
|
+
flags: '--include-git-history',
|
|
63
|
+
description: '包含 Git 历史',
|
|
64
|
+
helpDescription: '包含 Git 历史',
|
|
65
|
+
docDescription: '包含 Git 历史分析',
|
|
66
|
+
parse: { type: 'boolean', default: false },
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
name: 'json',
|
|
70
|
+
flags: '--json',
|
|
71
|
+
description: 'JSON 格式输出',
|
|
72
|
+
helpDescription: 'JSON 格式输出',
|
|
73
|
+
docDescription: 'JSON 格式输出',
|
|
74
|
+
parse: { type: 'boolean', default: false },
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
name: 'structured',
|
|
78
|
+
flags: '--structured',
|
|
79
|
+
description: '输出完全结构化的 JSON(不包含自然语言字符串,需要配合 --json 或 --output-mode=machine 使用)',
|
|
80
|
+
helpDescription: '输出完全结构化的 JSON(移除自然语言字符串)',
|
|
81
|
+
docDescription: '纯结构化输出(移除自然语言字段,配合 `--json` 使用)',
|
|
82
|
+
parse: { type: 'boolean', default: false },
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
name: 'output-mode',
|
|
86
|
+
flags: '--output-mode <mode>',
|
|
87
|
+
description: '输出模式 (machine|human)',
|
|
88
|
+
helpDescription: '输出模式 (machine|human)',
|
|
89
|
+
docDescription: '输出模式:`machine`/`human`',
|
|
90
|
+
docDefaultValue: 'human',
|
|
91
|
+
parse: { type: 'string' },
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
name: 'help',
|
|
95
|
+
flags: '-h, --help',
|
|
96
|
+
description: '显示帮助',
|
|
97
|
+
helpDescription: '显示帮助',
|
|
98
|
+
parse: { type: 'boolean', short: 'h', default: false },
|
|
99
|
+
includeInCommander: false,
|
|
100
|
+
includeInDocs: false,
|
|
101
|
+
},
|
|
102
|
+
];
|
|
103
|
+
export const ANALYZE_PARSE_OPTIONS = Object.fromEntries(ANALYZE_OPTION_DEFINITIONS.map(option => [option.name, option.parse]));
|
|
104
|
+
export function applyAnalyzeCliOptions(command) {
|
|
105
|
+
for (const option of ANALYZE_OPTION_DEFINITIONS) {
|
|
106
|
+
if (option.includeInCommander === false) {
|
|
107
|
+
continue;
|
|
108
|
+
}
|
|
109
|
+
if (option.defaultValue !== undefined) {
|
|
110
|
+
command.option(option.flags, option.description, option.defaultValue);
|
|
111
|
+
continue;
|
|
112
|
+
}
|
|
113
|
+
command.option(option.flags, option.description);
|
|
114
|
+
}
|
|
115
|
+
return command;
|
|
116
|
+
}
|
|
117
|
+
export function configureAnalyzeCommand(command) {
|
|
118
|
+
applyAnalyzeCliOptions(command);
|
|
119
|
+
command.addHelpText('after', renderAnalyzeAfterHelpText());
|
|
120
|
+
return command;
|
|
121
|
+
}
|
|
122
|
+
export function renderAnalyzeHelpOptions() {
|
|
123
|
+
const visibleOptions = ANALYZE_OPTION_DEFINITIONS.filter(option => option.helpDescription);
|
|
124
|
+
const maxFlagsLength = visibleOptions.reduce((max, option) => Math.max(max, option.flags.length), 0);
|
|
125
|
+
return visibleOptions
|
|
126
|
+
.map(option => ` ${option.flags.padEnd(maxFlagsLength)} ${option.helpDescription}`)
|
|
127
|
+
.join('\n');
|
|
128
|
+
}
|
|
129
|
+
export const ANALYZE_HELP_EXAMPLES = [
|
|
130
|
+
'codemap analyze -i find -k "SourceLocation" --json --structured',
|
|
131
|
+
'codemap analyze -i read -t src/index.ts --scope transitive --json',
|
|
132
|
+
'codemap analyze -i link -t src/utils --json',
|
|
133
|
+
'codemap analyze -i show -t src/ --output-mode human'
|
|
134
|
+
];
|
|
135
|
+
export function renderAnalyzeHelpExamples() {
|
|
136
|
+
return ANALYZE_HELP_EXAMPLES.map(example => ` ${example}`).join('\n');
|
|
137
|
+
}
|
|
138
|
+
export function renderAnalyzeAfterHelpText() {
|
|
139
|
+
return `\n示例:\n${renderAnalyzeHelpExamples()}`;
|
|
140
|
+
}
|
|
141
|
+
export function getAnalyzeHelpText(programName = 'mycodemap') {
|
|
142
|
+
const root = new Command().name(programName);
|
|
143
|
+
const analyzeCommand = configureAnalyzeCommand(root.command('analyze').description(ANALYZE_COMMAND_DESCRIPTION));
|
|
144
|
+
const baseHelp = analyzeCommand.helpInformation();
|
|
145
|
+
return `${baseHelp}${renderAnalyzeAfterHelpText()}`;
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=analyze-options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analyze-options.js","sourceRoot":"","sources":["../../../src/cli/commands/analyze-options.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* [META] AnalyzeCommand - 统一分析入口
|
|
3
3
|
* [WHY] 为 CI 与人工调用提供统一分析输出,支持 machine/json 契约
|
|
4
4
|
*/
|
|
5
|
-
import type
|
|
5
|
+
import { type AnalyzeArgs, type IntentType } from '../../orchestrator/types.js';
|
|
6
6
|
/**
|
|
7
7
|
* 错误码定义
|
|
8
8
|
*/
|
|
@@ -51,10 +51,102 @@ export declare class AnalyzeCommand {
|
|
|
51
51
|
* 执行分析
|
|
52
52
|
*/
|
|
53
53
|
execute(): Promise<unknown>;
|
|
54
|
+
/**
|
|
55
|
+
* `find` 优先走 orchestrator,失败时回退到 AstGrep 搜索
|
|
56
|
+
*/
|
|
57
|
+
private executeFindWithFallback;
|
|
54
58
|
/**
|
|
55
59
|
* 使用编排器执行分析
|
|
56
60
|
*/
|
|
57
61
|
private executeWithOrchestrator;
|
|
62
|
+
/**
|
|
63
|
+
* 为输出添加兼容期 warning
|
|
64
|
+
*/
|
|
65
|
+
private withCompatibility;
|
|
66
|
+
/**
|
|
67
|
+
* 生成结构化兼容 warning
|
|
68
|
+
*/
|
|
69
|
+
private buildCompatibilityWarnings;
|
|
70
|
+
/**
|
|
71
|
+
* find fallback
|
|
72
|
+
*/
|
|
73
|
+
private executeFind;
|
|
74
|
+
/**
|
|
75
|
+
* 执行 read 聚合
|
|
76
|
+
*/
|
|
77
|
+
private executeRead;
|
|
78
|
+
/**
|
|
79
|
+
* 执行 link 聚合
|
|
80
|
+
*/
|
|
81
|
+
private executeLink;
|
|
82
|
+
/**
|
|
83
|
+
* 执行 show 聚合
|
|
84
|
+
*/
|
|
85
|
+
private executeShow;
|
|
86
|
+
/**
|
|
87
|
+
* 创建空输出
|
|
88
|
+
*/
|
|
89
|
+
private createEmptyOutput;
|
|
90
|
+
/**
|
|
91
|
+
* 聚合多个 Confidence
|
|
92
|
+
*/
|
|
93
|
+
private combineConfidence;
|
|
94
|
+
/**
|
|
95
|
+
* 构建 Confidence
|
|
96
|
+
*/
|
|
97
|
+
private buildConfidence;
|
|
98
|
+
/**
|
|
99
|
+
* 合并 UnifiedResult
|
|
100
|
+
*/
|
|
101
|
+
private mergeUnifiedResults;
|
|
102
|
+
/**
|
|
103
|
+
* 加载 CodeMap 数据
|
|
104
|
+
*/
|
|
105
|
+
private loadCodeMap;
|
|
106
|
+
/**
|
|
107
|
+
* 查找目标模块
|
|
108
|
+
*/
|
|
109
|
+
private findMatchingModules;
|
|
110
|
+
/**
|
|
111
|
+
* 查找单个匹配模块
|
|
112
|
+
*/
|
|
113
|
+
private findMatchingModule;
|
|
114
|
+
/**
|
|
115
|
+
* 构建 link dependency analysis
|
|
116
|
+
*/
|
|
117
|
+
private buildLinkDependencyAnalysis;
|
|
118
|
+
/**
|
|
119
|
+
* 构建 link reference analysis
|
|
120
|
+
*/
|
|
121
|
+
private buildLinkReferenceAnalysis;
|
|
122
|
+
/**
|
|
123
|
+
* 基于模块构建 reference item
|
|
124
|
+
*/
|
|
125
|
+
private buildModuleReferenceItem;
|
|
126
|
+
/**
|
|
127
|
+
* 基于关键词构建 reference item
|
|
128
|
+
*/
|
|
129
|
+
private buildKeywordReferenceItem;
|
|
130
|
+
/**
|
|
131
|
+
* 将 reference analysis 转为 results
|
|
132
|
+
*/
|
|
133
|
+
private buildReferenceResults;
|
|
134
|
+
/**
|
|
135
|
+
* 构建 show 结果
|
|
136
|
+
*/
|
|
137
|
+
private buildShowResults;
|
|
138
|
+
/**
|
|
139
|
+
* 转为相对路径
|
|
140
|
+
*/
|
|
141
|
+
private toRelativePath;
|
|
142
|
+
/**
|
|
143
|
+
* 去除模块扩展名
|
|
144
|
+
*/
|
|
145
|
+
private stripModuleExtension;
|
|
146
|
+
/**
|
|
147
|
+
* 判断 import source 是否引用目标模块
|
|
148
|
+
*/
|
|
149
|
+
private matchesModuleSource;
|
|
58
150
|
/**
|
|
59
151
|
* 为 UnifiedResult 添加 location 字段
|
|
60
152
|
*/
|
|
@@ -84,9 +176,6 @@ export declare class AnalyzeCommand {
|
|
|
84
176
|
*/
|
|
85
177
|
private printHumanOutput;
|
|
86
178
|
}
|
|
87
|
-
/**
|
|
88
|
-
* 解析 CLI 参数
|
|
89
|
-
*/
|
|
90
179
|
export declare function parseAnalyzeArgs(argv: string[]): AnalyzeArgs;
|
|
91
180
|
/**
|
|
92
181
|
* CLI 入口函数
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/analyze.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/analyze.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,UAAU,EAahB,MAAM,6BAA6B,CAAC;AAUrC;;GAEG;AACH,oBAAY,gBAAgB;IAC1B,yBAAyB;IACzB,oBAAoB,UAAU;IAC9B,oBAAoB;IACpB,4BAA4B,UAAU;IACtC,qBAAqB;IACrB,sBAAsB,UAAU;IAChC,oBAAoB;IACpB,uBAAuB,UAAU;IACjC,oBAAoB;IACpB,sBAAsB,UAAU;IAChC,mBAAmB;IACnB,oBAAoB,UAAU;CAC/B;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAO3D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,UAAU,EAErC,CAAC;AAEF;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,IAAI,CAAc;IAE1B;;;OAGG;gBACS,IAAI,EAAE,WAAW;IAI7B;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAiDhB;;OAEG;IACH,OAAO,CAAC,WAAW;IAMnB;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAyBjC;;OAEG;YACW,uBAAuB;IAYrC;;OAEG;YACW,uBAAuB;IAuDrC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAezB;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAuBlC;;OAEG;YACW,WAAW;IAyBzB;;OAEG;YACW,WAAW;IAqDzB;;OAEG;YACW,WAAW;IAuCzB;;OAEG;YACW,WAAW;IAmCzB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAmBzB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAazB;;OAEG;IACH,OAAO,CAAC,eAAe;IAQvB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgB3B;;OAEG;YACW,WAAW;IAUzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAe3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAO1B;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAiBnC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAkClC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA4ChC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAsCjC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAyB7B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAoDxB;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAI5B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAkB3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAqB1B;;OAEG;YACW,aAAa;IAsC3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAY3B;;OAEG;YACW,WAAW;IAoCzB;;OAEG;YACW,iBAAiB;IAoC/B;;OAEG;YACW,eAAe;IAmB7B;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAuBzB;AAiBD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,WAAW,CA6B5D;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA0DlE;AAUD,YAAY,EAAE,WAAW,EAAE,CAAC"}
|