@mycodemap/mycodemap 0.2.0 → 0.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/CHANGELOG.md +95 -0
  2. package/dist/cli/commands/ship/analyzer.d.ts +26 -0
  3. package/dist/cli/commands/ship/analyzer.d.ts.map +1 -0
  4. package/dist/cli/commands/ship/analyzer.js +143 -0
  5. package/dist/cli/commands/ship/analyzer.js.map +1 -0
  6. package/dist/cli/commands/ship/checker.d.ts +20 -0
  7. package/dist/cli/commands/ship/checker.d.ts.map +1 -0
  8. package/dist/cli/commands/ship/checker.js +86 -0
  9. package/dist/cli/commands/ship/checker.js.map +1 -0
  10. package/dist/cli/commands/ship/index.d.ts +17 -0
  11. package/dist/cli/commands/ship/index.d.ts.map +1 -0
  12. package/dist/cli/commands/ship/index.js +51 -0
  13. package/dist/cli/commands/ship/index.js.map +1 -0
  14. package/dist/cli/commands/ship/monitor.d.ts +19 -0
  15. package/dist/cli/commands/ship/monitor.d.ts.map +1 -0
  16. package/dist/cli/commands/ship/monitor.js +105 -0
  17. package/dist/cli/commands/ship/monitor.js.map +1 -0
  18. package/dist/cli/commands/ship/pipeline.d.ts +23 -0
  19. package/dist/cli/commands/ship/pipeline.d.ts.map +1 -0
  20. package/dist/cli/commands/ship/pipeline.js +152 -0
  21. package/dist/cli/commands/ship/pipeline.js.map +1 -0
  22. package/dist/cli/commands/ship/publisher.d.ts +11 -0
  23. package/dist/cli/commands/ship/publisher.d.ts.map +1 -0
  24. package/dist/cli/commands/ship/publisher.js +75 -0
  25. package/dist/cli/commands/ship/publisher.js.map +1 -0
  26. package/dist/cli/commands/ship/rules/confidence-rules.d.ts +48 -0
  27. package/dist/cli/commands/ship/rules/confidence-rules.d.ts.map +1 -0
  28. package/dist/cli/commands/ship/rules/confidence-rules.js +122 -0
  29. package/dist/cli/commands/ship/rules/confidence-rules.js.map +1 -0
  30. package/dist/cli/commands/ship/rules/quality-rules.d.ts +25 -0
  31. package/dist/cli/commands/ship/rules/quality-rules.d.ts.map +1 -0
  32. package/dist/cli/commands/ship/rules/quality-rules.js +134 -0
  33. package/dist/cli/commands/ship/rules/quality-rules.js.map +1 -0
  34. package/dist/cli/commands/ship/rules/version-rules.d.ts +24 -0
  35. package/dist/cli/commands/ship/rules/version-rules.d.ts.map +1 -0
  36. package/dist/cli/commands/ship/rules/version-rules.js +75 -0
  37. package/dist/cli/commands/ship/rules/version-rules.js.map +1 -0
  38. package/dist/cli/commands/ship/versioner.d.ts +12 -0
  39. package/dist/cli/commands/ship/versioner.d.ts.map +1 -0
  40. package/dist/cli/commands/ship/versioner.js +92 -0
  41. package/dist/cli/commands/ship/versioner.js.map +1 -0
  42. package/dist/cli/index.js +9 -0
  43. package/dist/cli/index.js.map +1 -1
  44. package/docs/PUBLISHING.md +344 -34
  45. package/docs/ai-guide/COMMANDS.md +34 -0
  46. package/docs/rules/pre-release-checklist.md +426 -0
  47. package/package.json +8 -2
  48. package/scripts/.githooks/commit-msg +31 -0
  49. package/scripts/.githooks/pre-commit +55 -0
  50. package/scripts/benchmark.ts +209 -0
  51. package/scripts/hooks/commit-msg +24 -0
  52. package/scripts/hooks/install-hooks.sh +29 -0
  53. package/scripts/hooks/pre-commit +60 -0
  54. package/scripts/pre-release-check.js +717 -0
  55. package/scripts/release.sh +142 -0
  56. package/scripts/run-benchmark.sh +29 -0
  57. package/scripts/validate-ai-docs.js +294 -0
  58. package/scripts/validate-docs.js +238 -0
  59. package/scripts/validate-pack.js +86 -0
  60. package/dist/ai/claude.d.ts +0 -38
  61. package/dist/ai/claude.d.ts.map +0 -1
  62. package/dist/ai/claude.js +0 -169
  63. package/dist/ai/claude.js.map +0 -1
  64. package/dist/ai/codex.d.ts +0 -38
  65. package/dist/ai/codex.d.ts.map +0 -1
  66. package/dist/ai/codex.js +0 -169
  67. package/dist/ai/codex.js.map +0 -1
  68. package/dist/ai/factory.d.ts +0 -48
  69. package/dist/ai/factory.d.ts.map +0 -1
  70. package/dist/ai/factory.js +0 -95
  71. package/dist/ai/factory.js.map +0 -1
  72. package/dist/ai/index.d.ts +0 -12
  73. package/dist/ai/index.d.ts.map +0 -1
  74. package/dist/ai/index.js +0 -29
  75. package/dist/ai/index.js.map +0 -1
  76. package/dist/ai/provider.d.ts +0 -70
  77. package/dist/ai/provider.d.ts.map +0 -1
  78. package/dist/ai/provider.js +0 -31
  79. package/dist/ai/provider.js.map +0 -1
  80. package/dist/ai/subagent-caller.d.ts +0 -90
  81. package/dist/ai/subagent-caller.d.ts.map +0 -1
  82. package/dist/ai/subagent-caller.js +0 -280
  83. package/dist/ai/subagent-caller.js.map +0 -1
  84. package/dist/ai/types.d.ts +0 -70
  85. package/dist/ai/types.d.ts.map +0 -1
  86. package/dist/ai/types.js +0 -5
  87. package/dist/ai/types.js.map +0 -1
  88. package/dist/generator/ai-overview.d.ts +0 -51
  89. package/dist/generator/ai-overview.d.ts.map +0 -1
  90. package/dist/generator/ai-overview.js +0 -160
  91. package/dist/generator/ai-overview.js.map +0 -1
  92. package/dist/orchestrator/ai-feed-generator.d.ts +0 -210
  93. package/dist/orchestrator/ai-feed-generator.d.ts.map +0 -1
  94. package/dist/orchestrator/ai-feed-generator.js +0 -377
  95. package/dist/orchestrator/ai-feed-generator.js.map +0 -1
  96. package/docs/archive/test-report-symbol-search.md +0 -384
  97. package/docs/archive/test-scenario-4-complexity-analysis.md +0 -460
  98. package/docs/archive/test_report_scenario5.md +0 -615
  99. package/docs/archive/test_scenario_3_impact_analysis_report.md +0 -520
@@ -1 +0,0 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/ai/factory.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- export type { AIProviderConfig, AIResponse, ProviderType, ProviderFactoryConfig } from './provider.js';
2
- export type { AIProviderOptions, ChatRequest, ChatResponse, ProviderStatus, ProviderInfo, CLIResult } from './types.js';
3
- export { AIProvider } from './provider.js';
4
- export { ClaudeProvider, type ClaudeProviderConfig } from './claude.js';
5
- export { CodexProvider, type CodexProviderConfig } from './codex.js';
6
- export { ProviderFactory, createAIProvider } from './factory.js';
7
- import type { ProviderType } from './provider.js';
8
- export declare const PROVIDER_INFO: Record<ProviderType, {
9
- displayName: string;
10
- description: string;
11
- }>;
12
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"AAKA,YAAY,EACV,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,qBAAqB,EACtB,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,SAAS,EACV,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,OAAO,EAAE,cAAc,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGrE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,YAAY,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAiB5F,CAAC"}
package/dist/ai/index.js DELETED
@@ -1,29 +0,0 @@
1
- // ============================================
2
- // AI Provider 模块导出
3
- // ============================================
4
- // 抽象基类
5
- export { AIProvider } from './provider.js';
6
- // Provider 实现
7
- export { ClaudeProvider } from './claude.js';
8
- export { CodexProvider } from './codex.js';
9
- // 工厂类
10
- export { ProviderFactory, createAIProvider } from './factory.js';
11
- export const PROVIDER_INFO = {
12
- claude: {
13
- displayName: 'Claude CLI',
14
- description: 'Anthropic Claude via CLI'
15
- },
16
- codex: {
17
- displayName: 'Codex CLI',
18
- description: 'OpenAI Codex via CLI'
19
- },
20
- openai: {
21
- displayName: 'OpenAI',
22
- description: 'OpenAI API'
23
- },
24
- gemini: {
25
- displayName: 'Google Gemini',
26
- description: 'Google Gemini API'
27
- }
28
- };
29
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,mBAAmB;AACnB,+CAA+C;AAmB/C,OAAO;AACP,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,cAAc;AACd,OAAO,EAAE,cAAc,EAA6B,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,aAAa,EAA4B,MAAM,YAAY,CAAC;AAErE,MAAM;AACN,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAKjE,MAAM,CAAC,MAAM,aAAa,GAAuE;IAC/F,MAAM,EAAE;QACN,WAAW,EAAE,YAAY;QACzB,WAAW,EAAE,0BAA0B;KACxC;IACD,KAAK,EAAE;QACL,WAAW,EAAE,WAAW;QACxB,WAAW,EAAE,sBAAsB;KACpC;IACD,MAAM,EAAE;QACN,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE,YAAY;KAC1B;IACD,MAAM,EAAE;QACN,WAAW,EAAE,eAAe;QAC5B,WAAW,EAAE,mBAAmB;KACjC;CACF,CAAC"}
@@ -1,70 +0,0 @@
1
- import type { CodeMap } from '../types/index.js';
2
- /**
3
- * AI Provider 配置
4
- */
5
- export interface AIProviderConfig {
6
- /** 超时时间(毫秒) */
7
- timeout?: number;
8
- /** 最大 token 数 */
9
- maxTokens?: number;
10
- /** 模型版本 */
11
- model?: string;
12
- }
13
- /**
14
- * AI 响应结果
15
- */
16
- export interface AIResponse {
17
- /** 响应内容 */
18
- content: string;
19
- /** 使用的模型 */
20
- model?: string;
21
- /** 消耗的 token 数 */
22
- usage?: {
23
- prompt: number;
24
- completion: number;
25
- total: number;
26
- };
27
- }
28
- /**
29
- * AI Provider 基类
30
- * 所有 AI Provider 都应继承此类
31
- */
32
- export declare abstract class AIProvider {
33
- /** Provider 名称 */
34
- abstract readonly name: string;
35
- /** 默认配置 */
36
- protected config: AIProviderConfig;
37
- constructor(config?: AIProviderConfig);
38
- /**
39
- * 执行 AI 推理
40
- * @param prompt 提示词
41
- * @param context 上下文数据(CodeMap)
42
- */
43
- abstract execute(prompt: string, context?: CodeMap): Promise<AIResponse>;
44
- /**
45
- * 检查 Provider 是否可用
46
- */
47
- abstract isAvailable(): Promise<boolean>;
48
- /**
49
- * 获取 Provider 类型
50
- */
51
- getProviderType(): string;
52
- /**
53
- * 销毁 Provider(可选实现)
54
- */
55
- destroy(): void;
56
- }
57
- /**
58
- * Provider 类型枚举
59
- */
60
- export type ProviderType = 'claude' | 'codex' | 'openai' | 'gemini';
61
- /**
62
- * Provider 工厂配置
63
- */
64
- export interface ProviderFactoryConfig {
65
- /** 使用的 Provider 类型 */
66
- provider?: ProviderType;
67
- /** Provider 配置 */
68
- config?: AIProviderConfig;
69
- }
70
- //# sourceMappingURL=provider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/ai/provider.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,eAAe;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,WAAW;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB;IAClB,KAAK,CAAC,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED;;;GAGG;AACH,8BAAsB,UAAU;IAC9B,kBAAkB;IAClB,kBAAyB,IAAI,EAAE,MAAM,CAAC;IAEtC,WAAW;IACX,SAAS,CAAC,MAAM,EAAE,gBAAgB,CAAC;gBAEvB,MAAM,GAAE,gBAAqB;IAQzC;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;IAExE;;OAEG;IACH,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAExC;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,OAAO,IAAI,IAAI;CAGhB;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,sBAAsB;IACtB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,kBAAkB;IAClB,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B"}
@@ -1,31 +0,0 @@
1
- // ============================================
2
- // AI Provider 基础类型定义
3
- // ============================================
4
- /**
5
- * AI Provider 基类
6
- * 所有 AI Provider 都应继承此类
7
- */
8
- export class AIProvider {
9
- /** 默认配置 */
10
- config;
11
- constructor(config = {}) {
12
- this.config = {
13
- timeout: 60000, // 默认 60 秒
14
- maxTokens: 4000,
15
- ...config
16
- };
17
- }
18
- /**
19
- * 获取 Provider 类型
20
- */
21
- getProviderType() {
22
- return this.name;
23
- }
24
- /**
25
- * 销毁 Provider(可选实现)
26
- */
27
- destroy() {
28
- // 默认空实现,子类可覆盖
29
- }
30
- }
31
- //# sourceMappingURL=provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/ai/provider.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,qBAAqB;AACrB,+CAA+C;AAgC/C;;;GAGG;AACH,MAAM,OAAgB,UAAU;IAI9B,WAAW;IACD,MAAM,CAAmB;IAEnC,YAAY,SAA2B,EAAE;QACvC,IAAI,CAAC,MAAM,GAAG;YACZ,OAAO,EAAE,KAAK,EAAE,UAAU;YAC1B,SAAS,EAAE,IAAI;YACf,GAAG,MAAM;SACV,CAAC;IACJ,CAAC;IAcD;;OAEG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,OAAO;QACL,cAAc;IAChB,CAAC;CACF"}
@@ -1,90 +0,0 @@
1
- import type { CodeMap } from '../types/index.js';
2
- /**
3
- * Subagent 输入类型
4
- */
5
- export interface SubagentInput {
6
- project: CodeMap['project'];
7
- summary: CodeMap['summary'];
8
- modules: CodeMap['modules'];
9
- dependencies: CodeMap['dependencies'];
10
- requestType: 'overview' | 'analysis' | 'documentation';
11
- options: {
12
- includeContext: boolean;
13
- maxModules: number;
14
- };
15
- }
16
- /**
17
- * 架构信息
18
- */
19
- export interface ArchitectureInfo {
20
- pattern: string;
21
- layers: Array<{
22
- name: string;
23
- responsibility: string;
24
- modules: string[];
25
- }>;
26
- metrics: {
27
- coupling: 'low' | 'medium' | 'high';
28
- cohesion: 'low' | 'medium' | 'high';
29
- complexity: 'low' | 'medium' | 'high';
30
- };
31
- }
32
- /**
33
- * Subagent 输出类型
34
- */
35
- export interface SubagentOutput {
36
- type: string;
37
- title: string;
38
- content: string;
39
- highlights: string[];
40
- architecture?: ArchitectureInfo;
41
- metadata: {
42
- generatedAt: string;
43
- model: string;
44
- };
45
- }
46
- /**
47
- * Subagent Caller 配置
48
- */
49
- export interface SubagentCallerConfig {
50
- /** CLI 路径 */
51
- cliPath?: string;
52
- /** 超时时间(毫秒) */
53
- timeout?: number;
54
- /** 子 agent 名称 */
55
- subagentName?: string;
56
- }
57
- /**
58
- * Subagent Caller - 通过 Claude CLI 调用 subagent
59
- */
60
- export declare class SubagentCaller {
61
- private cliPath;
62
- private timeout;
63
- private subagentName;
64
- constructor(config?: SubagentCallerConfig);
65
- /**
66
- * 调用 subagent 生成项目概述
67
- */
68
- generateOverview(codeMap: CodeMap): Promise<SubagentOutput>;
69
- /**
70
- * 构建调用 subagent 的 prompt
71
- */
72
- private buildPrompt;
73
- /**
74
- * 执行 CLI 调用
75
- */
76
- private execute;
77
- /**
78
- * 解析 subagent 输出
79
- */
80
- private parseOutput;
81
- /**
82
- * 检查 CLI 是否可用
83
- */
84
- isAvailable(): Promise<boolean>;
85
- }
86
- /**
87
- * 创建默认的 SubagentCaller 实例
88
- */
89
- export declare function createSubagentCaller(config?: SubagentCallerConfig): SubagentCaller;
90
- //# sourceMappingURL=subagent-caller.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subagent-caller.d.ts","sourceRoot":"","sources":["../../src/ai/subagent-caller.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5B,YAAY,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACtC,WAAW,EAAE,UAAU,GAAG,UAAU,GAAG,eAAe,CAAC;IACvD,OAAO,EAAE;QACP,cAAc,EAAE,OAAO,CAAC;QACxB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,cAAc,EAAE,MAAM,CAAC;QACvB,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC,CAAC;IACH,OAAO,EAAE;QACP,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;QACpC,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;QACpC,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;KACvC,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,QAAQ,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,aAAa;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAS;gBAEjB,MAAM,GAAE,oBAAyB;IAQ7C;;OAEG;IACG,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;IA8BjE;;OAEG;IACH,OAAO,CAAC,WAAW;IAkGnB;;OAEG;IACH,OAAO,CAAC,OAAO;IAyDf;;OAEG;IACH,OAAO,CAAC,WAAW;IAwDnB;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;CAqBtC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,cAAc,CAElF"}
@@ -1,280 +0,0 @@
1
- // ============================================
2
- // Subagent Caller - Task 工具调用封装
3
- // ============================================
4
- import { spawn } from 'child_process';
5
- /**
6
- * Subagent Caller - 通过 Claude CLI 调用 subagent
7
- */
8
- export class SubagentCaller {
9
- cliPath;
10
- timeout;
11
- subagentName;
12
- constructor(config = {}) {
13
- this.cliPath = config.cliPath || 'claude';
14
- this.timeout = config.timeout || 120000; // 默认 2 分钟
15
- this.subagentName = config.subagentName || 'ai-generator';
16
- // 使用 subagentName 构建提示词(用于日志或调试)
17
- void this.subagentName;
18
- }
19
- /**
20
- * 调用 subagent 生成项目概述
21
- */
22
- async generateOverview(codeMap) {
23
- // 准备输入数据
24
- const input = {
25
- project: codeMap.project,
26
- summary: {
27
- totalFiles: codeMap.summary.totalFiles,
28
- totalModules: codeMap.summary.totalModules,
29
- totalExports: codeMap.summary.totalExports,
30
- totalTypes: codeMap.summary.totalTypes,
31
- totalLines: codeMap.summary.totalLines
32
- },
33
- modules: codeMap.modules.slice(0, 20), // 限制数量
34
- dependencies: codeMap.dependencies,
35
- requestType: 'overview',
36
- options: {
37
- includeContext: true,
38
- maxModules: 20
39
- }
40
- };
41
- // 构建 prompt
42
- const prompt = this.buildPrompt(input);
43
- // 调用 CLI
44
- const result = await this.execute(prompt);
45
- // 解析输出
46
- return this.parseOutput(result);
47
- }
48
- /**
49
- * 构建调用 subagent 的 prompt
50
- */
51
- buildPrompt(input) {
52
- const contextJson = JSON.stringify(input, null, 2);
53
- return `# AI Generator Subagent
54
-
55
- 你是 AI Generator Subagent,负责根据 CodeMap 数据生成专业的项目概述。
56
-
57
- ## 角色定义
58
-
59
- 你是一位专业的软件架构师,擅长分析 TypeScript/JavaScript 项目结构,识别架构模式,并提供有价值的见解。
60
-
61
- ## 输入数据
62
-
63
- \`\`\`json
64
- ${contextJson}
65
- \`\`\`
66
-
67
- ## 任务
68
-
69
- 根据上述 CodeMap 数据,生成一个专业的项目概述,需要包含以下内容:
70
-
71
- ### 1. 项目概览
72
- - 项目名称和基本信息
73
- - 技术栈识别
74
- - 总体架构描述
75
-
76
- ### 2. 统计信息
77
- - 文件总数、代码行数、模块数量
78
- - 导出符号数量和类型分布
79
-
80
- ### 3. 核心模块分析
81
- - 最重要的 5-10 个模块及其职责
82
- - 每个模块的关键导出
83
- - 模块间的依赖关系
84
-
85
- ### 4. 架构特点
86
- - 识别的架构模式(如分层、DDD、微服务等)
87
- - 各层的职责和边界
88
- - 依赖方向和耦合度
89
-
90
- ### 5. 亮点模块
91
- - 值得注意的模块或设计模式
92
- - 可能的创新点或最佳实践
93
-
94
- ### 6. 建议(可选)
95
- - 潜在的改进方向
96
- - 架构优化建议
97
-
98
- ## 输出格式
99
-
100
- 请返回 JSON 格式的结果,包含以下字段:
101
-
102
- \`\`\`json
103
- {
104
- "type": "overview",
105
- "title": "项目概述标题",
106
- "content": "Markdown 格式的详细描述(支持多级标题、列表、表格等)",
107
- "highlights": ["亮点1", "亮点2", ...],
108
- "architecture": {
109
- "pattern": "识别的架构模式",
110
- "layers": [
111
- {
112
- "name": "层名称",
113
- "responsibility": "职责描述",
114
- "modules": ["模块列表"]
115
- }
116
- ],
117
- "metrics": {
118
- "coupling": "low|medium|high",
119
- "cohesion": "low|medium|high",
120
- "complexity": "low|medium|high"
121
- }
122
- },
123
- "metadata": {
124
- "generatedAt": "ISO 时间戳",
125
- "model": "sonnet"
126
- }
127
- }
128
- \`\`\`
129
-
130
- ## 输出指南
131
-
132
- 1. **准确性**: 确保分析基于实际数据,不要臆造信息
133
- 2. **专业性**: 使用标准的软件架构术语
134
- 3. **简洁性**: 保持内容简洁但完整,突出重点
135
- 4. **可读性**: 使用 Markdown 格式提高可读性
136
- 5. **实用性**: 提供有价值的架构见解和建议
137
-
138
- ## 注意事项
139
-
140
- - 如果某些信息无法从输入数据中确定,请标注为"未识别"或"需要更多信息"
141
- - 优先分析依赖关系最复杂的模块
142
- - 关注导出数量多、被依赖次数多的核心模块
143
-
144
- 请确保返回的是有效的 JSON 格式,不要包含其他文字说明。
145
- `;
146
- }
147
- /**
148
- * 执行 CLI 调用
149
- */
150
- execute(prompt) {
151
- return new Promise((resolve, reject) => {
152
- const args = [
153
- '-p',
154
- '--output-format', 'json',
155
- '--dangerously-skip-permissions'
156
- ];
157
- let stdout = '';
158
- let stderr = '';
159
- let killed = false;
160
- const proc = spawn(this.cliPath, args, {
161
- stdio: ['pipe', 'pipe', 'pipe']
162
- });
163
- // 超时处理
164
- const timeoutId = setTimeout(() => {
165
- killed = true;
166
- proc.kill('SIGTERM');
167
- reject(new Error(`Subagent 执行超时(${this.timeout / 1000}秒)`));
168
- }, this.timeout);
169
- proc.stdout.on('data', (data) => {
170
- stdout += data.toString();
171
- });
172
- proc.stderr.on('data', (data) => {
173
- stderr += data.toString();
174
- });
175
- proc.on('close', (code) => {
176
- clearTimeout(timeoutId);
177
- if (killed)
178
- return;
179
- if (code !== 0 && code !== null) {
180
- reject(new Error(`Subagent CLI 错误: ${stderr || `exit code ${code}`}`));
181
- return;
182
- }
183
- resolve(stdout);
184
- });
185
- proc.on('error', (error) => {
186
- clearTimeout(timeoutId);
187
- if (!killed) {
188
- reject(new Error(`Subagent CLI 执行失败: ${error.message}`));
189
- }
190
- });
191
- // 发送提示词
192
- proc.stdin.write(prompt);
193
- proc.stdin.end();
194
- });
195
- }
196
- /**
197
- * 解析 subagent 输出
198
- */
199
- parseOutput(stdout) {
200
- // Claude 可能输出多行 JSON,需要找到有效的 JSON
201
- const lines = stdout.trim().split('\n');
202
- let jsonStr = '';
203
- // 从后往前找有效的 JSON 对象
204
- for (let i = lines.length - 1; i >= 0; i--) {
205
- const line = lines[i].trim();
206
- if (line.startsWith('{') && line.endsWith('}')) {
207
- jsonStr = line;
208
- break;
209
- }
210
- }
211
- if (!jsonStr) {
212
- // 如果没有 JSON,返回默认格式
213
- return {
214
- type: 'overview',
215
- title: '项目概述',
216
- content: stdout.trim(),
217
- highlights: [],
218
- metadata: {
219
- generatedAt: new Date().toISOString(),
220
- model: 'unknown'
221
- }
222
- };
223
- }
224
- try {
225
- const parsed = JSON.parse(jsonStr);
226
- return {
227
- type: parsed.type || 'overview',
228
- title: parsed.title || '项目概述',
229
- content: parsed.content || stdout.trim(),
230
- highlights: parsed.highlights || [],
231
- architecture: parsed.architecture,
232
- metadata: {
233
- generatedAt: parsed.metadata?.generatedAt || new Date().toISOString(),
234
- model: parsed.metadata?.model || 'sonnet'
235
- }
236
- };
237
- }
238
- catch (error) {
239
- // 解析失败,返回原始内容
240
- return {
241
- type: 'overview',
242
- title: '项目概述',
243
- content: stdout.trim(),
244
- highlights: [],
245
- metadata: {
246
- generatedAt: new Date().toISOString(),
247
- model: 'parse-error'
248
- }
249
- };
250
- }
251
- }
252
- /**
253
- * 检查 CLI 是否可用
254
- */
255
- async isAvailable() {
256
- return new Promise((resolve) => {
257
- const proc = spawn(this.cliPath, ['--version'], {
258
- stdio: 'ignore'
259
- });
260
- proc.on('close', (code) => {
261
- resolve(code === 0);
262
- });
263
- proc.on('error', () => {
264
- resolve(false);
265
- });
266
- // 2 秒超时
267
- setTimeout(() => {
268
- proc.kill();
269
- resolve(false);
270
- }, 2000);
271
- });
272
- }
273
- }
274
- /**
275
- * 创建默认的 SubagentCaller 实例
276
- */
277
- export function createSubagentCaller(config) {
278
- return new SubagentCaller(config);
279
- }
280
- //# sourceMappingURL=subagent-caller.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subagent-caller.js","sourceRoot":"","sources":["../../src/ai/subagent-caller.ts"],"names":[],"mappings":"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"}
@@ -1,70 +0,0 @@
1
- export interface AIProviderOptions {
2
- /** Provider 名称 */
3
- name: string;
4
- /** 超时时间(毫秒) */
5
- timeout?: number;
6
- /** 最大重试次数 */
7
- maxRetries?: number;
8
- /** 是否启用调试模式 */
9
- debug?: boolean;
10
- /** 自定义环境变量 */
11
- env?: Record<string, string>;
12
- }
13
- export interface ChatRequest {
14
- /** 提示词 */
15
- prompt: string;
16
- /** 额外上下文 */
17
- context?: Record<string, unknown>;
18
- /** 系统提示词 */
19
- systemPrompt?: string;
20
- /** 最大令牌数 */
21
- maxTokens?: number;
22
- /** 温度参数 */
23
- temperature?: number;
24
- }
25
- export interface ChatResponse {
26
- /** 响应内容 */
27
- content: string;
28
- /** 使用的 provider */
29
- provider: string;
30
- /** 消耗的令牌数 */
31
- usage?: {
32
- promptTokens: number;
33
- completionTokens: number;
34
- totalTokens: number;
35
- };
36
- /** 响应时间(毫秒) */
37
- latency: number;
38
- }
39
- export interface ProviderStatus {
40
- /** Provider 名称 */
41
- name: string;
42
- /** 是否可用 */
43
- isAvailable: boolean;
44
- /** 检查时间 */
45
- checkedAt: string;
46
- /** 错误信息(如果不可用) */
47
- error?: string;
48
- }
49
- export type ProviderType = 'claude' | 'codex';
50
- export interface ProviderInfo {
51
- /** Provider 类型 */
52
- type: ProviderType;
53
- /** 显示名称 */
54
- displayName: string;
55
- /** 描述 */
56
- description: string;
57
- /** CLI 命令 */
58
- command: string;
59
- /** 默认参数 */
60
- defaultArgs: string[];
61
- }
62
- export interface CLIResult {
63
- /** 退出码 */
64
- exitCode: number;
65
- /** 标准输出 */
66
- stdout: string;
67
- /** 标准错误 */
68
- stderr: string;
69
- }
70
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ai/types.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,iBAAiB;IAChC,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,cAAc;IACd,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAGD,MAAM,WAAW,WAAW;IAC1B,UAAU;IACV,MAAM,EAAE,MAAM,CAAC;IACf,YAAY;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,YAAY;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAGD,MAAM,WAAW,YAAY;IAC3B,WAAW;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa;IACb,KAAK,CAAC,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,eAAe;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,WAAW,cAAc;IAC7B,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW;IACX,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAC;AAG9C,MAAM,WAAW,YAAY;IAC3B,kBAAkB;IAClB,IAAI,EAAE,YAAY,CAAC;IACnB,WAAW;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS;IACT,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW;IACX,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAGD,MAAM,WAAW,SAAS;IACxB,UAAU;IACV,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW;IACX,MAAM,EAAE,MAAM,CAAC;IACf,WAAW;IACX,MAAM,EAAE,MAAM,CAAC;CAChB"}
package/dist/ai/types.js DELETED
@@ -1,5 +0,0 @@
1
- // ============================================
2
- // AI Provider 类型定义
3
- // ============================================
4
- export {};
5
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/ai/types.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,mBAAmB;AACnB,+CAA+C"}