repowiki-core 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. package/dist/analyzer/api-analyzer.d.ts +22 -0
  2. package/dist/analyzer/api-analyzer.d.ts.map +1 -0
  3. package/dist/analyzer/api-analyzer.js +272 -0
  4. package/dist/analyzer/api-analyzer.js.map +1 -0
  5. package/dist/analyzer/config-analyzer.d.ts +18 -0
  6. package/dist/analyzer/config-analyzer.d.ts.map +1 -0
  7. package/dist/analyzer/config-analyzer.js +200 -0
  8. package/dist/analyzer/config-analyzer.js.map +1 -0
  9. package/dist/analyzer/database-analyzer.d.ts +24 -0
  10. package/dist/analyzer/database-analyzer.d.ts.map +1 -0
  11. package/dist/analyzer/database-analyzer.js +391 -0
  12. package/dist/analyzer/database-analyzer.js.map +1 -0
  13. package/dist/analyzer/index.d.ts +10 -0
  14. package/dist/analyzer/index.d.ts.map +1 -0
  15. package/dist/analyzer/index.js +10 -0
  16. package/dist/analyzer/index.js.map +1 -0
  17. package/dist/analyzer/module-analyzer.d.ts +20 -0
  18. package/dist/analyzer/module-analyzer.d.ts.map +1 -0
  19. package/dist/analyzer/module-analyzer.js +252 -0
  20. package/dist/analyzer/module-analyzer.js.map +1 -0
  21. package/dist/analyzer/workflow-analyzer.d.ts +19 -0
  22. package/dist/analyzer/workflow-analyzer.d.ts.map +1 -0
  23. package/dist/analyzer/workflow-analyzer.js +165 -0
  24. package/dist/analyzer/workflow-analyzer.js.map +1 -0
  25. package/dist/detector/dependency-detector.d.ts +50 -0
  26. package/dist/detector/dependency-detector.d.ts.map +1 -0
  27. package/dist/detector/dependency-detector.js +326 -0
  28. package/dist/detector/dependency-detector.js.map +1 -0
  29. package/dist/detector/entrypoint-detector.d.ts +30 -0
  30. package/dist/detector/entrypoint-detector.d.ts.map +1 -0
  31. package/dist/detector/entrypoint-detector.js +240 -0
  32. package/dist/detector/entrypoint-detector.js.map +1 -0
  33. package/dist/detector/index.d.ts +10 -0
  34. package/dist/detector/index.d.ts.map +1 -0
  35. package/dist/detector/index.js +10 -0
  36. package/dist/detector/index.js.map +1 -0
  37. package/dist/detector/tech-stack-detector.d.ts +41 -0
  38. package/dist/detector/tech-stack-detector.d.ts.map +1 -0
  39. package/dist/detector/tech-stack-detector.js +300 -0
  40. package/dist/detector/tech-stack-detector.js.map +1 -0
  41. package/dist/generator/index.d.ts +9 -0
  42. package/dist/generator/index.d.ts.map +1 -0
  43. package/dist/generator/index.js +9 -0
  44. package/dist/generator/index.js.map +1 -0
  45. package/dist/generator/markdown-generator.d.ts +71 -0
  46. package/dist/generator/markdown-generator.d.ts.map +1 -0
  47. package/dist/generator/markdown-generator.js +235 -0
  48. package/dist/generator/markdown-generator.js.map +1 -0
  49. package/dist/generator/mermaid-generator.d.ts +30 -0
  50. package/dist/generator/mermaid-generator.d.ts.map +1 -0
  51. package/dist/generator/mermaid-generator.js +297 -0
  52. package/dist/generator/mermaid-generator.js.map +1 -0
  53. package/dist/generator/sidebar-generator.d.ts +10 -0
  54. package/dist/generator/sidebar-generator.d.ts.map +1 -0
  55. package/dist/generator/sidebar-generator.js +120 -0
  56. package/dist/generator/sidebar-generator.js.map +1 -0
  57. package/dist/generator/wiki-generator.d.ts +45 -0
  58. package/dist/generator/wiki-generator.d.ts.map +1 -0
  59. package/dist/generator/wiki-generator.js +217 -0
  60. package/dist/generator/wiki-generator.js.map +1 -0
  61. package/dist/index.d.ts +12 -0
  62. package/dist/index.d.ts.map +1 -0
  63. package/dist/index.js +12 -0
  64. package/dist/index.js.map +1 -0
  65. package/dist/llm/auth-manager.d.ts +50 -0
  66. package/dist/llm/auth-manager.d.ts.map +1 -0
  67. package/dist/llm/auth-manager.js +172 -0
  68. package/dist/llm/auth-manager.js.map +1 -0
  69. package/dist/llm/index.d.ts +10 -0
  70. package/dist/llm/index.d.ts.map +1 -0
  71. package/dist/llm/index.js +9 -0
  72. package/dist/llm/index.js.map +1 -0
  73. package/dist/llm/llm-client.d.ts +132 -0
  74. package/dist/llm/llm-client.d.ts.map +1 -0
  75. package/dist/llm/llm-client.js +308 -0
  76. package/dist/llm/llm-client.js.map +1 -0
  77. package/dist/llm/prompt-manager.d.ts +67 -0
  78. package/dist/llm/prompt-manager.d.ts.map +1 -0
  79. package/dist/llm/prompt-manager.js +283 -0
  80. package/dist/llm/prompt-manager.js.map +1 -0
  81. package/dist/models/analysis-result.d.ts +425 -0
  82. package/dist/models/analysis-result.d.ts.map +1 -0
  83. package/dist/models/analysis-result.js +34 -0
  84. package/dist/models/analysis-result.js.map +1 -0
  85. package/dist/models/analysis-types.d.ts +223 -0
  86. package/dist/models/analysis-types.d.ts.map +1 -0
  87. package/dist/models/analysis-types.js +95 -0
  88. package/dist/models/analysis-types.js.map +1 -0
  89. package/dist/models/file-reference.d.ts +62 -0
  90. package/dist/models/file-reference.d.ts.map +1 -0
  91. package/dist/models/file-reference.js +34 -0
  92. package/dist/models/file-reference.js.map +1 -0
  93. package/dist/models/index.d.ts +10 -0
  94. package/dist/models/index.d.ts.map +1 -0
  95. package/dist/models/index.js +10 -0
  96. package/dist/models/index.js.map +1 -0
  97. package/dist/models/project-profile.d.ts +48 -0
  98. package/dist/models/project-profile.d.ts.map +1 -0
  99. package/dist/models/project-profile.js +26 -0
  100. package/dist/models/project-profile.js.map +1 -0
  101. package/dist/models/wiki-page.d.ts +57 -0
  102. package/dist/models/wiki-page.d.ts.map +1 -0
  103. package/dist/models/wiki-page.js +19 -0
  104. package/dist/models/wiki-page.js.map +1 -0
  105. package/dist/pipeline.d.ts +30 -0
  106. package/dist/pipeline.d.ts.map +1 -0
  107. package/dist/pipeline.js +159 -0
  108. package/dist/pipeline.js.map +1 -0
  109. package/dist/scanner/file-scanner.d.ts +27 -0
  110. package/dist/scanner/file-scanner.d.ts.map +1 -0
  111. package/dist/scanner/file-scanner.js +149 -0
  112. package/dist/scanner/file-scanner.js.map +1 -0
  113. package/dist/scanner/ignore-rules.d.ts +31 -0
  114. package/dist/scanner/ignore-rules.d.ts.map +1 -0
  115. package/dist/scanner/ignore-rules.js +98 -0
  116. package/dist/scanner/ignore-rules.js.map +1 -0
  117. package/dist/scanner/index.d.ts +8 -0
  118. package/dist/scanner/index.d.ts.map +1 -0
  119. package/dist/scanner/index.js +8 -0
  120. package/dist/scanner/index.js.map +1 -0
  121. package/dist/scanner/tree-builder.d.ts +20 -0
  122. package/dist/scanner/tree-builder.d.ts.map +1 -0
  123. package/dist/scanner/tree-builder.js +118 -0
  124. package/dist/scanner/tree-builder.js.map +1 -0
  125. package/package.json +34 -0
  126. package/src/analyzer/api-analyzer.ts +324 -0
  127. package/src/analyzer/config-analyzer.ts +209 -0
  128. package/src/analyzer/database-analyzer.ts +468 -0
  129. package/src/analyzer/index.ts +26 -0
  130. package/src/analyzer/module-analyzer.ts +308 -0
  131. package/src/analyzer/workflow-analyzer.ts +190 -0
  132. package/src/detector/dependency-detector.ts +390 -0
  133. package/src/detector/entrypoint-detector.ts +270 -0
  134. package/src/detector/index.ts +21 -0
  135. package/src/detector/tech-stack-detector.ts +377 -0
  136. package/src/generator/index.ts +36 -0
  137. package/src/generator/markdown-generator.ts +277 -0
  138. package/src/generator/mermaid-generator.ts +340 -0
  139. package/src/generator/sidebar-generator.ts +134 -0
  140. package/src/generator/wiki-generator.ts +281 -0
  141. package/src/index.ts +12 -0
  142. package/src/llm/auth-manager.ts +207 -0
  143. package/src/llm/index.ts +21 -0
  144. package/src/llm/llm-client.ts +417 -0
  145. package/src/llm/prompt-manager.ts +325 -0
  146. package/src/models/analysis-result.ts +44 -0
  147. package/src/models/analysis-types.ts +121 -0
  148. package/src/models/file-reference.ts +41 -0
  149. package/src/models/index.ts +44 -0
  150. package/src/models/project-profile.ts +29 -0
  151. package/src/models/wiki-page.ts +23 -0
  152. package/src/pipeline.ts +225 -0
  153. package/src/scanner/file-scanner.ts +192 -0
  154. package/src/scanner/ignore-rules.ts +112 -0
  155. package/src/scanner/index.ts +19 -0
  156. package/src/scanner/tree-builder.ts +156 -0
  157. package/tsconfig.json +8 -0
@@ -0,0 +1,67 @@
1
+ /**
2
+ * @module prompt-manager
3
+ * @description 提示词模板管理器,使用 Handlebars 构建 LLM 提示词。
4
+ *
5
+ * 提供以下五类提示词构建函数:
6
+ * 1. buildModuleAnalysisPrompt - 模块分析
7
+ * 2. buildMermaidPrompt - Mermaid 架构图生成
8
+ * 3. buildWikiPagePrompt - Wiki 页面生成
9
+ * 4. buildWikiPlanPrompt - Wiki 规划
10
+ * 5. buildSourceSummaryPrompt - 源码摘要
11
+ */
12
+ import type { ChatMessage } from './llm-client.js';
13
+ /**
14
+ * 构建模块分析提示词。
15
+ *
16
+ * 用于分析指定模块的功能和核心组件,输出结构化 JSON。
17
+ *
18
+ * @param modulePath - 模块路径
19
+ * @param fileList - 模块包含的文件列表
20
+ * @param astSummaries - AST 分析摘要
21
+ * @returns 准备好的 ChatMessage 数组
22
+ */
23
+ export declare function buildModuleAnalysisPrompt(modulePath: string, fileList: string, astSummaries: string): ChatMessage[];
24
+ /**
25
+ * 构建 Mermaid 架构图提示词。
26
+ *
27
+ * 用于根据模块和依赖信息生成 Mermaid flowchart LR 图。
28
+ *
29
+ * @param modules - 模块列表描述
30
+ * @param dependencies - 依赖关系描述
31
+ * @returns 准备好的 ChatMessage 数组
32
+ */
33
+ export declare function buildMermaidPrompt(modules: string, dependencies: string): ChatMessage[];
34
+ /**
35
+ * 构建 Wiki 页面生成提示词。
36
+ *
37
+ * 用于根据项目结构和源码摘要生成标准 12 节结构的技术文档页面。
38
+ *
39
+ * @param pageTitle - 页面标题
40
+ * @param projectTree - 项目目录结构
41
+ * @param sourceSummaries - 源码摘要集合
42
+ * @param existingPages - 已有的 Wiki 页面列表(可选,用于交叉引用)
43
+ * @returns 准备好的 ChatMessage 数组
44
+ */
45
+ export declare function buildWikiPagePrompt(pageTitle: string, projectTree: string, sourceSummaries: string, existingPages?: string): ChatMessage[];
46
+ /**
47
+ * 构建 Wiki 规划提示词。
48
+ *
49
+ * 用于根据项目信息规划 Wiki 文档页面结构,输出结构化 JSON。
50
+ *
51
+ * @param projectTree - 项目目录结构
52
+ * @param techStack - 技术栈描述
53
+ * @param modules - 模块列表描述
54
+ * @returns 准备好的 ChatMessage 数组
55
+ */
56
+ export declare function buildWikiPlanPrompt(projectTree: string, techStack: string, modules: string): ChatMessage[];
57
+ /**
58
+ * 构建源码摘要提示词。
59
+ *
60
+ * 用于对单个源文件生成精练摘要,保留关键代码签名和类型信息。
61
+ *
62
+ * @param filePath - 文件路径
63
+ * @param fileContent - 文件内容
64
+ * @returns 准备好的 ChatMessage 数组
65
+ */
66
+ export declare function buildSourceSummaryPrompt(filePath: string, fileContent: string): ChatMessage[];
67
+ //# sourceMappingURL=prompt-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-manager.d.ts","sourceRoot":"","sources":["../../src/llm/prompt-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAmMnD;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACrC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACrB,WAAW,EAAE,CAQf;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAC9B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GACrB,WAAW,EAAE,CAQf;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAC/B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,MAAM,EACvB,aAAa,CAAC,EAAE,MAAM,GACvB,WAAW,EAAE,CAQf;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAC/B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GAChB,WAAW,EAAE,CAQf;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACpC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GACpB,WAAW,EAAE,CAQf"}
@@ -0,0 +1,283 @@
1
+ /**
2
+ * @module prompt-manager
3
+ * @description 提示词模板管理器,使用 Handlebars 构建 LLM 提示词。
4
+ *
5
+ * 提供以下五类提示词构建函数:
6
+ * 1. buildModuleAnalysisPrompt - 模块分析
7
+ * 2. buildMermaidPrompt - Mermaid 架构图生成
8
+ * 3. buildWikiPagePrompt - Wiki 页面生成
9
+ * 4. buildWikiPlanPrompt - Wiki 规划
10
+ * 5. buildSourceSummaryPrompt - 源码摘要
11
+ */
12
+ import Handlebars from 'handlebars';
13
+ // ============================================================================
14
+ // Handlebars 模板定义
15
+ // ============================================================================
16
+ // --- 模块分析 ---
17
+ const MODULE_ANALYSIS_SYSTEM = `你是一个资深软件架构师。你的目标是理解给定的模块作用,并用专业的语言描述它。
18
+
19
+ 严格要求:
20
+ - 严禁使用任何 Emoji 表情符号
21
+ - 使用准确、专业的中文描述
22
+ - 基于提供的文件列表和 AST 摘要进行分析,不要编造不存在的内容`;
23
+ const MODULE_ANALYSIS_USER_TEMPLATE = Handlebars.compile(`请分析以下模块:
24
+
25
+ ## 模块路径
26
+ {{modulePath}}
27
+
28
+ ## 文件列表
29
+ {{fileList}}
30
+
31
+ ## AST 摘要
32
+ {{astSummaries}}
33
+
34
+ ## 输出格式
35
+ 请以如下 JSON 格式输出(不要包含其他任何内容):
36
+
37
+ \`\`\`json
38
+ {
39
+ "summary": "模块的功能概述",
40
+ "core_components": [
41
+ {
42
+ "name": "组件名称",
43
+ "description": "组件的职责描述"
44
+ }
45
+ ]
46
+ }
47
+ \`\`\``, { noEscape: true });
48
+ // --- Mermaid 架构图 ---
49
+ const MERMAID_SYSTEM = `你是一个架构制图专家。你的任务是根据提供的模块和依赖关系,生成清晰的 Mermaid 流程图。
50
+
51
+ 严格要求:
52
+ - 严禁使用任何 Emoji 表情符号
53
+ - 生成合法的 Mermaid flowchart LR 语法
54
+ - 使用 subgraph 对相关模块进行逻辑分组
55
+ - 节点标签使用简洁的中文或英文名称
56
+ - 箭头标注使用简短的依赖描述
57
+ - 只输出 \`\`\`mermaid 代码块,不要输出任何其他内容`;
58
+ const MERMAID_USER_TEMPLATE = Handlebars.compile(`请根据以下信息生成 Mermaid 架构流程图:
59
+
60
+ ## 模块列表
61
+ {{modules}}
62
+
63
+ ## 依赖关系
64
+ {{dependencies}}
65
+
66
+ 请生成一个 Mermaid flowchart LR 图,使用 subgraph 对模块进行合理分组。
67
+ 只输出 \`\`\`mermaid 代码块。`, { noEscape: true });
68
+ // --- Wiki 页面 ---
69
+ const WIKI_PAGE_SYSTEM = `你是一个资深技术文档工程师。你的任务是根据提供的项目信息和源码摘要,生成高质量的技术文档 Wiki 页面。
70
+
71
+ 严格要求:
72
+ - 使用清晰的中文,严禁使用任何 Emoji
73
+ - 不能编造不在上下文中出现的文件或服务
74
+ - 每个章节必须注明 章节来源 (引用对应的源文件)
75
+ - 每个图表必须注明 图表来源 (引用生成图表所依据的源文件)
76
+ - 来源引用格式: [file:line-line](file://project/path#Lstart-Lend)
77
+
78
+ 你必须严格遵循以下 12 节模板结构:
79
+
80
+ 1. H1 标题
81
+ 2. <cite> 块 - 列出所有相关源文件
82
+ 3. 目录 (ToC) - 使用 Markdown 链接的目录
83
+ 4. 引言 - 模块/功能的简介
84
+ 5. 项目结构 - 含 Mermaid 目录树图
85
+ 6. 核心组件 - 主要组件列表与简述
86
+ 7. 架构总览 - 含 Mermaid 架构图
87
+ 8. 详细组件分析 - 每个组件含 Mermaid 类图或流程图
88
+ 9. 依赖分析 - 含 Mermaid 依赖关系图
89
+ 10. 故障排查指南 - 常见问题与排查步骤
90
+ 11. 结论 - 总结性评述
91
+ 12. 附录 - 补充信息、配置参考等`;
92
+ const WIKI_PAGE_USER_TEMPLATE = Handlebars.compile(`请为以下内容生成技术文档 Wiki 页面:
93
+
94
+ ## 页面标题
95
+ {{pageTitle}}
96
+
97
+ ## 项目结构
98
+ {{projectTree}}
99
+
100
+ ## 源码摘要
101
+ {{sourceSummaries}}
102
+
103
+ {{#if existingPages}}
104
+ ## 已有 Wiki 页面
105
+ 以下是已生成的其他 Wiki 页面,请在文档中合理交叉引用:
106
+ {{existingPages}}
107
+ {{/if}}
108
+
109
+ 请严格按照 12 节模板结构输出完整的 Markdown 文档。
110
+ 每个章节需注明 章节来源,每个图表需注明 图表来源。
111
+ 来源格式: [file:line-line](file://project/path#Lstart-Lend)`, { noEscape: true });
112
+ // --- Wiki 规划 ---
113
+ const WIKI_PLAN_SYSTEM = `你是一个技术文档规划专家。你的任务是根据项目信息规划一组结构化的 Wiki 页面。
114
+
115
+ 严格要求:
116
+ - 严禁使用任何 Emoji 表情符号
117
+ - 页面规划应覆盖项目的所有核心方面
118
+ - 遵循标准文档层级结构
119
+ - 以 JSON 数组格式输出,不要包含其他内容
120
+
121
+ 标准文档层级参考:
122
+ - 项目概述/
123
+ - 架构设计/
124
+ - 前端应用架构/
125
+ - 后端服务架构/
126
+ - 核心功能模块/
127
+ - 数据库设计/
128
+ - API参考文档/
129
+ - 部署运维/
130
+ - 开发指南/`;
131
+ const WIKI_PLAN_USER_TEMPLATE = Handlebars.compile(`请根据以下项目信息,规划 Wiki 文档页面:
132
+
133
+ ## 项目结构
134
+ {{projectTree}}
135
+
136
+ ## 技术栈
137
+ {{techStack}}
138
+
139
+ ## 模块列表
140
+ {{modules}}
141
+
142
+ 请以如下 JSON 数组格式输出(不要包含其他任何内容):
143
+
144
+ \`\`\`json
145
+ [
146
+ {
147
+ "title": "页面标题",
148
+ "filename": "文件名.md",
149
+ "summary": "页面内容概述",
150
+ "requiredModules": ["模块路径1", "模块路径2"]
151
+ }
152
+ ]
153
+ \`\`\`
154
+
155
+ 注意:
156
+ - filename 使用英文命名,使用连字符分隔
157
+ - 页面应按照标准文档层级结构进行组织
158
+ - requiredModules 关联生成该页面所需的源码模块路径`, { noEscape: true });
159
+ // --- 源码摘要 ---
160
+ const SOURCE_SUMMARY_SYSTEM = `你是一个代码分析专家。你的任务是对给定的源代码文件生成精练的摘要。
161
+
162
+ 摘要应保留以下关键信息:
163
+ - 所有导出的符号 (export)
164
+ - 类和函数的签名 (参数类型、返回类型)
165
+ - 关键的类型定义和接口
166
+ - 重要的注释和文档说明
167
+ - 核心的业务逻辑描述
168
+
169
+ 严格要求:
170
+ - 严禁使用任何 Emoji 表情符号
171
+ - 输出纯文本摘要,不要使用 JSON 格式
172
+ - 摘要控制在约 200 行以内
173
+ - 使用中文描述,代码签名保留原文`;
174
+ const SOURCE_SUMMARY_USER_TEMPLATE = Handlebars.compile(`请为以下源代码文件生成精练摘要:
175
+
176
+ ## 文件路径
177
+ {{filePath}}
178
+
179
+ ## 文件内容
180
+ \`\`\`
181
+ {{fileContent}}
182
+ \`\`\`
183
+
184
+ 请输出纯文本摘要(不要使用 JSON),控制在约 200 行以内。
185
+ 保留所有导出符号、类/函数签名、关键类型定义和重要注释。`, { noEscape: true });
186
+ // ============================================================================
187
+ // 公开 API
188
+ // ============================================================================
189
+ /**
190
+ * 构建模块分析提示词。
191
+ *
192
+ * 用于分析指定模块的功能和核心组件,输出结构化 JSON。
193
+ *
194
+ * @param modulePath - 模块路径
195
+ * @param fileList - 模块包含的文件列表
196
+ * @param astSummaries - AST 分析摘要
197
+ * @returns 准备好的 ChatMessage 数组
198
+ */
199
+ export function buildModuleAnalysisPrompt(modulePath, fileList, astSummaries) {
200
+ return [
201
+ { role: 'system', content: MODULE_ANALYSIS_SYSTEM },
202
+ {
203
+ role: 'user',
204
+ content: MODULE_ANALYSIS_USER_TEMPLATE({ modulePath, fileList, astSummaries }),
205
+ },
206
+ ];
207
+ }
208
+ /**
209
+ * 构建 Mermaid 架构图提示词。
210
+ *
211
+ * 用于根据模块和依赖信息生成 Mermaid flowchart LR 图。
212
+ *
213
+ * @param modules - 模块列表描述
214
+ * @param dependencies - 依赖关系描述
215
+ * @returns 准备好的 ChatMessage 数组
216
+ */
217
+ export function buildMermaidPrompt(modules, dependencies) {
218
+ return [
219
+ { role: 'system', content: MERMAID_SYSTEM },
220
+ {
221
+ role: 'user',
222
+ content: MERMAID_USER_TEMPLATE({ modules, dependencies }),
223
+ },
224
+ ];
225
+ }
226
+ /**
227
+ * 构建 Wiki 页面生成提示词。
228
+ *
229
+ * 用于根据项目结构和源码摘要生成标准 12 节结构的技术文档页面。
230
+ *
231
+ * @param pageTitle - 页面标题
232
+ * @param projectTree - 项目目录结构
233
+ * @param sourceSummaries - 源码摘要集合
234
+ * @param existingPages - 已有的 Wiki 页面列表(可选,用于交叉引用)
235
+ * @returns 准备好的 ChatMessage 数组
236
+ */
237
+ export function buildWikiPagePrompt(pageTitle, projectTree, sourceSummaries, existingPages) {
238
+ return [
239
+ { role: 'system', content: WIKI_PAGE_SYSTEM },
240
+ {
241
+ role: 'user',
242
+ content: WIKI_PAGE_USER_TEMPLATE({ pageTitle, projectTree, sourceSummaries, existingPages }),
243
+ },
244
+ ];
245
+ }
246
+ /**
247
+ * 构建 Wiki 规划提示词。
248
+ *
249
+ * 用于根据项目信息规划 Wiki 文档页面结构,输出结构化 JSON。
250
+ *
251
+ * @param projectTree - 项目目录结构
252
+ * @param techStack - 技术栈描述
253
+ * @param modules - 模块列表描述
254
+ * @returns 准备好的 ChatMessage 数组
255
+ */
256
+ export function buildWikiPlanPrompt(projectTree, techStack, modules) {
257
+ return [
258
+ { role: 'system', content: WIKI_PLAN_SYSTEM },
259
+ {
260
+ role: 'user',
261
+ content: WIKI_PLAN_USER_TEMPLATE({ projectTree, techStack, modules }),
262
+ },
263
+ ];
264
+ }
265
+ /**
266
+ * 构建源码摘要提示词。
267
+ *
268
+ * 用于对单个源文件生成精练摘要,保留关键代码签名和类型信息。
269
+ *
270
+ * @param filePath - 文件路径
271
+ * @param fileContent - 文件内容
272
+ * @returns 准备好的 ChatMessage 数组
273
+ */
274
+ export function buildSourceSummaryPrompt(filePath, fileContent) {
275
+ return [
276
+ { role: 'system', content: SOURCE_SUMMARY_SYSTEM },
277
+ {
278
+ role: 'user',
279
+ content: SOURCE_SUMMARY_USER_TEMPLATE({ filePath, fileContent }),
280
+ },
281
+ ];
282
+ }
283
+ //# sourceMappingURL=prompt-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-manager.js","sourceRoot":"","sources":["../../src/llm/prompt-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,UAAU,MAAM,YAAY,CAAC;AAGpC,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E,eAAe;AAEf,MAAM,sBAAsB,GAAG;;;;;mCAKI,CAAC;AAEpC,MAAM,6BAA6B,GAAG,UAAU,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;OAwBlD,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAE7B,sBAAsB;AAEtB,MAAM,cAAc,GAAG;;;;;;;;mCAQY,CAAC;AAEpC,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,CAAC;;;;;;;;;uBAS1B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAE7C,kBAAkB;AAElB,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;oBAsBL,CAAC;AAErB,MAAM,uBAAuB,GAAG,UAAU,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;wDAmBK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAE9E,kBAAkB;AAElB,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;QAiBjB,CAAC;AAET,MAAM,uBAAuB,GAAG,UAAU,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;mCA2BhB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAEzD,eAAe;AAEf,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;kBAaZ,CAAC;AAEnB,MAAM,4BAA4B,GAAG,UAAU,CAAC,OAAO,CAAC;;;;;;;;;;;6BAW3B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAEnD,+EAA+E;AAC/E,SAAS;AACT,+EAA+E;AAE/E;;;;;;;;;GASG;AACH,MAAM,UAAU,yBAAyB,CACrC,UAAkB,EAClB,QAAgB,EAChB,YAAoB;IAEpB,OAAO;QACH,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,sBAAsB,EAAE;QACnD;YACI,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,6BAA6B,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;SACjF;KACJ,CAAC;AACN,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAC9B,OAAe,EACf,YAAoB;IAEpB,OAAO;QACH,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE;QAC3C;YACI,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,qBAAqB,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;SAC5D;KACJ,CAAC;AACN,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CAC/B,SAAiB,EACjB,WAAmB,EACnB,eAAuB,EACvB,aAAsB;IAEtB,OAAO;QACH,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,EAAE;QAC7C;YACI,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,uBAAuB,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,CAAC;SAC/F;KACJ,CAAC;AACN,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAC/B,WAAmB,EACnB,SAAiB,EACjB,OAAe;IAEf,OAAO;QACH,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,EAAE;QAC7C;YACI,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,uBAAuB,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;SACxE;KACJ,CAAC;AACN,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,wBAAwB,CACpC,QAAgB,EAChB,WAAmB;IAEnB,OAAO;QACH,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,qBAAqB,EAAE;QAClD;YACI,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,4BAA4B,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;SACnE;KACJ,CAAC;AACN,CAAC"}