@mycodemap/mycodemap 0.4.0 → 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.
Files changed (246) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/README.md +214 -221
  3. package/dist/cli/commands/analyze-options.d.ts +36 -0
  4. package/dist/cli/commands/analyze-options.d.ts.map +1 -0
  5. package/dist/cli/commands/analyze-options.js +147 -0
  6. package/dist/cli/commands/analyze-options.js.map +1 -0
  7. package/dist/cli/commands/analyze.d.ts +93 -4
  8. package/dist/cli/commands/analyze.d.ts.map +1 -1
  9. package/dist/cli/commands/analyze.js +592 -176
  10. package/dist/cli/commands/analyze.js.map +1 -1
  11. package/dist/cli/commands/ci.d.ts +47 -1
  12. package/dist/cli/commands/ci.d.ts.map +1 -1
  13. package/dist/cli/commands/ci.js +208 -1
  14. package/dist/cli/commands/ci.js.map +1 -1
  15. package/dist/cli/commands/export.d.ts.map +1 -1
  16. package/dist/cli/commands/export.js +2 -2
  17. package/dist/cli/commands/export.js.map +1 -1
  18. package/dist/cli/commands/generate.d.ts +8 -2
  19. package/dist/cli/commands/generate.d.ts.map +1 -1
  20. package/dist/cli/commands/generate.js +151 -22
  21. package/dist/cli/commands/generate.js.map +1 -1
  22. package/dist/cli/commands/init.d.ts.map +1 -1
  23. package/dist/cli/commands/init.js +2 -13
  24. package/dist/cli/commands/init.js.map +1 -1
  25. package/dist/cli/commands/ship/analyzer.d.ts +1 -1
  26. package/dist/cli/commands/ship/analyzer.d.ts.map +1 -1
  27. package/dist/cli/commands/ship/analyzer.js +8 -1
  28. package/dist/cli/commands/ship/analyzer.js.map +1 -1
  29. package/dist/cli/commands/ship/checker.d.ts +1 -1
  30. package/dist/cli/commands/ship/checker.d.ts.map +1 -1
  31. package/dist/cli/commands/ship/checker.js +17 -6
  32. package/dist/cli/commands/ship/checker.js.map +1 -1
  33. package/dist/cli/commands/ship/index.js +2 -2
  34. package/dist/cli/commands/ship/index.js.map +1 -1
  35. package/dist/cli/commands/ship/monitor.d.ts +17 -2
  36. package/dist/cli/commands/ship/monitor.d.ts.map +1 -1
  37. package/dist/cli/commands/ship/monitor.js +116 -29
  38. package/dist/cli/commands/ship/monitor.js.map +1 -1
  39. package/dist/cli/commands/ship/pipeline.d.ts.map +1 -1
  40. package/dist/cli/commands/ship/pipeline.js +97 -18
  41. package/dist/cli/commands/ship/pipeline.js.map +1 -1
  42. package/dist/cli/commands/ship/publisher.d.ts +12 -2
  43. package/dist/cli/commands/ship/publisher.d.ts.map +1 -1
  44. package/dist/cli/commands/ship/publisher.js +217 -37
  45. package/dist/cli/commands/ship/publisher.js.map +1 -1
  46. package/dist/cli/commands/ship/rules/quality-rules.d.ts +2 -2
  47. package/dist/cli/commands/ship/rules/quality-rules.d.ts.map +1 -1
  48. package/dist/cli/commands/ship/rules/quality-rules.js +53 -54
  49. package/dist/cli/commands/ship/rules/quality-rules.js.map +1 -1
  50. package/dist/cli/commands/ship/versioner.d.ts +1 -1
  51. package/dist/cli/commands/ship/versioner.d.ts.map +1 -1
  52. package/dist/cli/commands/ship/versioner.js +4 -2
  53. package/dist/cli/commands/ship/versioner.js.map +1 -1
  54. package/dist/cli/commands/workflow.js +4 -4
  55. package/dist/cli/commands/workflow.js.map +1 -1
  56. package/dist/cli/config-loader.d.ts +31 -0
  57. package/dist/cli/config-loader.d.ts.map +1 -0
  58. package/dist/cli/config-loader.js +235 -0
  59. package/dist/cli/config-loader.js.map +1 -0
  60. package/dist/cli/index.js +19 -64
  61. package/dist/cli/index.js.map +1 -1
  62. package/dist/cli/removed-commands.d.ts +9 -0
  63. package/dist/cli/removed-commands.d.ts.map +1 -0
  64. package/dist/cli/removed-commands.js +48 -0
  65. package/dist/cli/removed-commands.js.map +1 -0
  66. package/dist/cli/storage-runtime.d.ts +8 -0
  67. package/dist/cli/storage-runtime.d.ts.map +1 -0
  68. package/dist/cli/storage-runtime.js +14 -0
  69. package/dist/cli/storage-runtime.js.map +1 -0
  70. package/dist/cli/tree-sitter-check.d.ts.map +1 -1
  71. package/dist/cli/tree-sitter-check.js +0 -1
  72. package/dist/cli/tree-sitter-check.js.map +1 -1
  73. package/dist/cli-new/commands/export.d.ts.map +1 -1
  74. package/dist/cli-new/commands/export.js +2 -2
  75. package/dist/cli-new/commands/export.js.map +1 -1
  76. package/dist/cli-new/commands/query.d.ts.map +1 -1
  77. package/dist/cli-new/commands/query.js +5 -4
  78. package/dist/cli-new/commands/query.js.map +1 -1
  79. package/dist/cli-new/index.d.ts.map +1 -1
  80. package/dist/cli-new/index.js +0 -2
  81. package/dist/cli-new/index.js.map +1 -1
  82. package/dist/core/analyzer.d.ts.map +1 -1
  83. package/dist/core/analyzer.js +7 -39
  84. package/dist/core/analyzer.js.map +1 -1
  85. package/dist/core/file-discovery.d.ts +17 -0
  86. package/dist/core/file-discovery.d.ts.map +1 -0
  87. package/dist/core/file-discovery.js +75 -0
  88. package/dist/core/file-discovery.js.map +1 -0
  89. package/dist/core/global-index.d.ts +5 -0
  90. package/dist/core/global-index.d.ts.map +1 -1
  91. package/dist/core/global-index.js +71 -21
  92. package/dist/core/global-index.js.map +1 -1
  93. package/dist/generator/index.d.ts.map +1 -1
  94. package/dist/generator/index.js +8 -0
  95. package/dist/generator/index.js.map +1 -1
  96. package/dist/infrastructure/parser/implementations/GoParser.d.ts +2 -5
  97. package/dist/infrastructure/parser/implementations/GoParser.d.ts.map +1 -1
  98. package/dist/infrastructure/parser/implementations/GoParser.js +2 -5
  99. package/dist/infrastructure/parser/implementations/GoParser.js.map +1 -1
  100. package/dist/infrastructure/parser/implementations/PythonParser.d.ts +1 -5
  101. package/dist/infrastructure/parser/implementations/PythonParser.d.ts.map +1 -1
  102. package/dist/infrastructure/parser/implementations/PythonParser.js +1 -5
  103. package/dist/infrastructure/parser/implementations/PythonParser.js.map +1 -1
  104. package/dist/infrastructure/parser/implementations/TypeScriptParser.d.ts +1 -5
  105. package/dist/infrastructure/parser/implementations/TypeScriptParser.d.ts.map +1 -1
  106. package/dist/infrastructure/parser/implementations/TypeScriptParser.js +1 -5
  107. package/dist/infrastructure/parser/implementations/TypeScriptParser.js.map +1 -1
  108. package/dist/infrastructure/storage/StorageFactory.d.ts +0 -1
  109. package/dist/infrastructure/storage/StorageFactory.d.ts.map +1 -1
  110. package/dist/infrastructure/storage/StorageFactory.js +4 -29
  111. package/dist/infrastructure/storage/StorageFactory.js.map +1 -1
  112. package/dist/infrastructure/storage/adapters/FileSystemStorage.d.ts.map +1 -1
  113. package/dist/infrastructure/storage/adapters/FileSystemStorage.js +24 -137
  114. package/dist/infrastructure/storage/adapters/FileSystemStorage.js.map +1 -1
  115. package/dist/infrastructure/storage/adapters/KuzuDBStorage.d.ts +10 -18
  116. package/dist/infrastructure/storage/adapters/KuzuDBStorage.d.ts.map +1 -1
  117. package/dist/infrastructure/storage/adapters/KuzuDBStorage.js +103 -146
  118. package/dist/infrastructure/storage/adapters/KuzuDBStorage.js.map +1 -1
  119. package/dist/infrastructure/storage/adapters/MemoryStorage.d.ts +0 -1
  120. package/dist/infrastructure/storage/adapters/MemoryStorage.d.ts.map +1 -1
  121. package/dist/infrastructure/storage/adapters/MemoryStorage.js +16 -136
  122. package/dist/infrastructure/storage/adapters/MemoryStorage.js.map +1 -1
  123. package/dist/infrastructure/storage/graph-helpers.d.ts +16 -0
  124. package/dist/infrastructure/storage/graph-helpers.d.ts.map +1 -0
  125. package/dist/infrastructure/storage/graph-helpers.js +161 -0
  126. package/dist/infrastructure/storage/graph-helpers.js.map +1 -0
  127. package/dist/infrastructure/storage/index.d.ts.map +1 -1
  128. package/dist/interface/config/index.d.ts +10 -1
  129. package/dist/interface/config/index.d.ts.map +1 -1
  130. package/dist/interface/types/index.d.ts +13 -0
  131. package/dist/interface/types/index.d.ts.map +1 -1
  132. package/dist/interface/types/storage.d.ts +1 -4
  133. package/dist/interface/types/storage.d.ts.map +1 -1
  134. package/dist/orchestrator/confidence.d.ts +9 -9
  135. package/dist/orchestrator/confidence.d.ts.map +1 -1
  136. package/dist/orchestrator/confidence.js +44 -67
  137. package/dist/orchestrator/confidence.js.map +1 -1
  138. package/dist/orchestrator/file-header-scanner.d.ts.map +1 -1
  139. package/dist/orchestrator/file-header-scanner.js +22 -31
  140. package/dist/orchestrator/file-header-scanner.js.map +1 -1
  141. package/dist/orchestrator/intent-router.d.ts +2 -11
  142. package/dist/orchestrator/intent-router.d.ts.map +1 -1
  143. package/dist/orchestrator/intent-router.js +58 -49
  144. package/dist/orchestrator/intent-router.js.map +1 -1
  145. package/dist/orchestrator/tool-orchestrator.d.ts.map +1 -1
  146. package/dist/orchestrator/tool-orchestrator.js +6 -4
  147. package/dist/orchestrator/tool-orchestrator.js.map +1 -1
  148. package/dist/orchestrator/types.d.ts +113 -2
  149. package/dist/orchestrator/types.d.ts.map +1 -1
  150. package/dist/orchestrator/types.js +29 -0
  151. package/dist/orchestrator/types.js.map +1 -1
  152. package/dist/orchestrator/workflow/config.d.ts +4 -12
  153. package/dist/orchestrator/workflow/config.d.ts.map +1 -1
  154. package/dist/orchestrator/workflow/config.js +4 -6
  155. package/dist/orchestrator/workflow/config.js.map +1 -1
  156. package/dist/orchestrator/workflow/git-analyzer.d.ts.map +1 -1
  157. package/dist/orchestrator/workflow/git-analyzer.js +9 -19
  158. package/dist/orchestrator/workflow/git-analyzer.js.map +1 -1
  159. package/dist/orchestrator/workflow/phase-inheritance.d.ts.map +1 -1
  160. package/dist/orchestrator/workflow/phase-inheritance.js +14 -23
  161. package/dist/orchestrator/workflow/phase-inheritance.js.map +1 -1
  162. package/dist/orchestrator/workflow/result-fusion.d.ts.map +1 -1
  163. package/dist/orchestrator/workflow/result-fusion.js +9 -11
  164. package/dist/orchestrator/workflow/result-fusion.js.map +1 -1
  165. package/dist/orchestrator/workflow/templates.d.ts +4 -1
  166. package/dist/orchestrator/workflow/templates.d.ts.map +1 -1
  167. package/dist/orchestrator/workflow/templates.js +49 -207
  168. package/dist/orchestrator/workflow/templates.js.map +1 -1
  169. package/dist/orchestrator/workflow/test-linker.d.ts.map +1 -1
  170. package/dist/orchestrator/workflow/test-linker.js +12 -24
  171. package/dist/orchestrator/workflow/test-linker.js.map +1 -1
  172. package/dist/orchestrator/workflow/types.d.ts +11 -8
  173. package/dist/orchestrator/workflow/types.d.ts.map +1 -1
  174. package/dist/orchestrator/workflow/types.js +8 -1
  175. package/dist/orchestrator/workflow/types.js.map +1 -1
  176. package/dist/orchestrator/workflow/visualizer.d.ts.map +1 -1
  177. package/dist/orchestrator/workflow/visualizer.js +7 -9
  178. package/dist/orchestrator/workflow/visualizer.js.map +1 -1
  179. package/dist/orchestrator/workflow/workflow-context.d.ts.map +1 -1
  180. package/dist/orchestrator/workflow/workflow-context.js +3 -5
  181. package/dist/orchestrator/workflow/workflow-context.js.map +1 -1
  182. package/dist/orchestrator/workflow/workflow-orchestrator.d.ts +0 -4
  183. package/dist/orchestrator/workflow/workflow-orchestrator.d.ts.map +1 -1
  184. package/dist/orchestrator/workflow/workflow-orchestrator.js +7 -99
  185. package/dist/orchestrator/workflow/workflow-orchestrator.js.map +1 -1
  186. package/dist/parser/index.d.ts.map +1 -1
  187. package/dist/parser/index.js +2 -2
  188. package/dist/parser/index.js.map +1 -1
  189. package/dist/plugins/index.d.ts +5 -3
  190. package/dist/plugins/index.d.ts.map +1 -1
  191. package/dist/plugins/index.js +19 -8
  192. package/dist/plugins/index.js.map +1 -1
  193. package/dist/plugins/plugin-loader.d.ts +21 -6
  194. package/dist/plugins/plugin-loader.d.ts.map +1 -1
  195. package/dist/plugins/plugin-loader.js +170 -54
  196. package/dist/plugins/plugin-loader.js.map +1 -1
  197. package/dist/plugins/plugin-registry.d.ts +7 -4
  198. package/dist/plugins/plugin-registry.d.ts.map +1 -1
  199. package/dist/plugins/plugin-registry.js +62 -14
  200. package/dist/plugins/plugin-registry.js.map +1 -1
  201. package/dist/plugins/types.d.ts +16 -6
  202. package/dist/plugins/types.d.ts.map +1 -1
  203. package/dist/plugins/types.js +2 -0
  204. package/dist/plugins/types.js.map +1 -1
  205. package/dist/server/handlers/AnalysisHandler.d.ts +16 -2
  206. package/dist/server/handlers/AnalysisHandler.d.ts.map +1 -1
  207. package/dist/server/handlers/AnalysisHandler.js +31 -47
  208. package/dist/server/handlers/AnalysisHandler.js.map +1 -1
  209. package/dist/server/routes/api.d.ts.map +1 -1
  210. package/dist/server/routes/api.js +31 -12
  211. package/dist/server/routes/api.js.map +1 -1
  212. package/docs/AI_ASSISTANT_SETUP.md +3 -1
  213. package/docs/PUBLISHING.md +18 -4
  214. package/docs/SETUP_GUIDE.md +41 -17
  215. package/docs/ai-guide/COMMANDS.md +107 -103
  216. package/docs/ai-guide/INTEGRATION.md +23 -21
  217. package/docs/ai-guide/OUTPUT.md +206 -10
  218. package/docs/ai-guide/PATTERNS.md +64 -15
  219. package/docs/ai-guide/PROMPTS.md +50 -12
  220. package/docs/ai-guide/QUICKSTART.md +35 -19
  221. package/docs/ai-guide/README.md +22 -4
  222. package/docs/product-specs/MVP3-ARCHITECTURE-COMPARISON.md +159 -434
  223. package/docs/product-specs/MVP3-ARCHITECTURE-REDESIGN-PRD.md +169 -261
  224. package/docs/product-specs/MVP3-ARCHITECTURE-REDESIGN-TECH-PRD.md +201 -1259
  225. package/docs/product-specs/README.md +8 -1
  226. package/docs/rules/architecture-guardrails.md +1 -2
  227. package/docs/rules/engineering-with-codex-openai.md +15 -9
  228. package/docs/rules/validation.md +26 -4
  229. package/mycodemap.config.schema.json +76 -5
  230. package/package.json +1 -1
  231. package/scripts/pre-release-check.js +21 -3
  232. package/scripts/sync-analyze-docs.js +500 -0
  233. package/scripts/validate-ai-docs.js +54 -1
  234. package/scripts/validate-docs.js +746 -26
  235. package/dist/cli/commands/server.d.ts +0 -9
  236. package/dist/cli/commands/server.d.ts.map +0 -1
  237. package/dist/cli/commands/server.js +0 -68
  238. package/dist/cli/commands/server.js.map +0 -1
  239. package/dist/cli-new/commands/server.d.ts +0 -13
  240. package/dist/cli-new/commands/server.d.ts.map +0 -1
  241. package/dist/cli-new/commands/server.js +0 -94
  242. package/dist/cli-new/commands/server.js.map +0 -1
  243. package/dist/infrastructure/storage/adapters/Neo4jStorage.d.ts +0 -49
  244. package/dist/infrastructure/storage/adapters/Neo4jStorage.d.ts.map +0 -1
  245. package/dist/infrastructure/storage/adapters/Neo4jStorage.js +0 -222
  246. package/dist/infrastructure/storage/adapters/Neo4jStorage.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-loader.d.ts","sourceRoot":"","sources":["../../src/plugins/plugin-loader.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAiB,iBAAiB,EAAiB,YAAY,EAAe,MAAM,YAAY,CAAC;AAC7G,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAqEvD,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,MAAM,CAAgB;gBAElB,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,YAAY,EAAE,KAAK,UAAQ;IAQvE,OAAO,CAAC,aAAa;IASrB,WAAW,IAAI,cAAc;IAKvB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBnC,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBnD,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBjD,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBtE,IAAI,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BpD,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAI/B;AAGD,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,aAAa,EACrB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,YAAY,CAAC,CAIvB;AAGD,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"plugin-loader.d.ts","sourceRoot":"","sources":["../../src/plugins/plugin-loader.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAEV,iBAAiB,EAEjB,YAAY,EAEZ,iBAAiB,EAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAI1D,KAAK,iBAAiB,GAAG;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAwEjD,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,aAAa,CAAyC;gBAElD,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,YAAY,EAAE,KAAK,UAAQ;IAOvE,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,mBAAmB;YAIb,iBAAiB;YAIjB,mBAAmB;YAQnB,oBAAoB;IAQlC,OAAO,CAAC,iBAAiB;YAQX,kBAAkB;YASlB,oBAAoB;YAwBpB,uBAAuB;IA6BrC,OAAO,CAAC,aAAa;IASrB,WAAW,IAAI,cAAc;IAKvB,kBAAkB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAajD,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IA4BjE,cAAc,CAClB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,iBAAiB,CAAC;YAsBf,sBAAsB;IA0B9B,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IA6BrF,IAAI,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IA+BlE,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6CnC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAK/B;AAGD,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,aAAa,EACrB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,YAAY,CAAC,CAIvB;AAGD,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
@@ -1,16 +1,19 @@
1
+ // [META] since:2026-03 | owner:plugin-team | stable:true
2
+ // [WHY] Plugin loader resolves configured plugins and manages runtime loading lifecycle
1
3
  // ============================================
2
4
  // CodeMap 插件加载器
3
5
  // 负责动态加载插件
4
6
  // ============================================
5
7
  import fs from 'fs/promises';
6
8
  import path from 'path';
7
- import { fileURLToPath } from 'url';
9
+ import { createRequire } from 'module';
10
+ import { pathToFileURL } from 'url';
8
11
  import { PluginRegistry } from './plugin-registry.js';
9
- // 获取当前文件目录
10
- const __filename = fileURLToPath(import.meta.url);
11
- const __dirname = path.dirname(__filename);
12
- // 默认插件目录
13
- const DEFAULT_PLUGIN_DIR = path.join(__dirname, 'built-in');
12
+ const BUILT_IN_PLUGIN_MODULES = {
13
+ 'complexity-analyzer': new URL('./built-in/complexity-analyzer.js', import.meta.url),
14
+ 'call-graph': new URL('./built-in/call-graph.js', import.meta.url),
15
+ };
16
+ const require = createRequire(import.meta.url);
14
17
  // 简单内存缓存实现
15
18
  class SimpleCache {
16
19
  cache = new Map();
@@ -64,12 +67,83 @@ export class PluginLoader {
64
67
  logger;
65
68
  cache;
66
69
  config;
70
+ loadedSources = new Map();
67
71
  constructor(config, logger, debug = false) {
68
72
  this.config = config;
69
73
  this.logger = logger || new ConsoleLogger(debug);
70
74
  this.cache = new SimpleCache();
71
75
  this.registry = new PluginRegistry();
72
76
  }
77
+ createDiagnostic(level, stage, message, plugin) {
78
+ return {
79
+ plugin,
80
+ stage,
81
+ level,
82
+ message,
83
+ };
84
+ }
85
+ resolvePluginExport(module) {
86
+ return module.default || module.plugin;
87
+ }
88
+ async instantiatePlugin(plugin) {
89
+ return typeof plugin === 'function' ? plugin() : plugin;
90
+ }
91
+ async importModuleFromUrl(moduleUrl, bustCache = false) {
92
+ const resolvedUrl = new URL(moduleUrl.href);
93
+ if (bustCache) {
94
+ resolvedUrl.searchParams.set('codemap-reload', `${Date.now()}`);
95
+ }
96
+ return import(resolvedUrl.href);
97
+ }
98
+ async importModuleFromFile(pluginPath, bustCache = false) {
99
+ const moduleUrl = pathToFileURL(path.resolve(pluginPath));
100
+ if (bustCache) {
101
+ moduleUrl.searchParams.set('codemap-reload', `${Date.now()}`);
102
+ }
103
+ return import(moduleUrl.href);
104
+ }
105
+ resolveModulePath(pluginName, pluginDir) {
106
+ if (pluginDir) {
107
+ return require.resolve(pluginName, { paths: [pluginDir, process.cwd()] });
108
+ }
109
+ return require.resolve(pluginName);
110
+ }
111
+ async importModuleByName(pluginName, pluginDir, bustCache = false) {
112
+ const resolvedPath = this.resolveModulePath(pluginName, pluginDir);
113
+ return this.importModuleFromFile(resolvedPath, bustCache);
114
+ }
115
+ async registerLoadedPlugin(module, source, missingMessage, pluginName) {
116
+ const diagnostics = [];
117
+ const plugin = this.resolvePluginExport(module);
118
+ if (!plugin) {
119
+ diagnostics.push(this.createDiagnostic('warning', 'load', missingMessage, pluginName));
120
+ return { diagnostics, loaded: false };
121
+ }
122
+ const instance = await this.instantiatePlugin(plugin);
123
+ await this.registry.register(instance);
124
+ this.loadedSources.set(instance.metadata.name, source);
125
+ return {
126
+ diagnostics,
127
+ loaded: true,
128
+ name: instance.metadata.name,
129
+ };
130
+ }
131
+ async loadBuiltInPluginByName(pluginName, context = {}) {
132
+ const diagnostics = [];
133
+ const moduleUrl = BUILT_IN_PLUGIN_MODULES[pluginName];
134
+ if (!moduleUrl) {
135
+ return { diagnostics, loaded: false };
136
+ }
137
+ try {
138
+ const pluginModule = await this.importModuleFromUrl(moduleUrl, context.bustCache);
139
+ return this.registerLoadedPlugin(pluginModule, { kind: 'builtin', pluginName }, `内置插件 "${pluginName}" 未导出默认插件实例`, pluginName);
140
+ }
141
+ catch (error) {
142
+ const reason = error instanceof Error ? error.message : String(error);
143
+ diagnostics.push(this.createDiagnostic('error', 'load', `加载内置插件失败: ${reason}`, pluginName));
144
+ return { diagnostics, loaded: false };
145
+ }
146
+ }
73
147
  // 获取插件上下文
74
148
  createContext() {
75
149
  return {
@@ -85,26 +159,17 @@ export class PluginLoader {
85
159
  // 加载内置插件
86
160
  async loadBuiltInPlugins() {
87
161
  this.logger.info('Loading built-in plugins...');
88
- // 动态导入内置插件
89
- const builtInPlugins = [
90
- { name: 'complexity-analyzer', plugin: (await import('./built-in/complexity-analyzer.js')).default },
91
- { name: 'call-graph', plugin: (await import('./built-in/call-graph.js')).default },
92
- ];
93
- for (const { name, plugin } of builtInPlugins) {
94
- try {
95
- if (plugin && plugin.metadata) {
96
- await this.registry.register(plugin);
97
- }
98
- }
99
- catch (error) {
100
- // 忽略加载失败的内置插件
101
- this.logger.debug(`Built-in plugin load skipped: ${error}`);
102
- }
162
+ const diagnostics = [];
163
+ for (const name of Object.keys(BUILT_IN_PLUGIN_MODULES)) {
164
+ const result = await this.loadBuiltInPluginByName(name);
165
+ diagnostics.push(...result.diagnostics);
103
166
  }
167
+ return diagnostics;
104
168
  }
105
169
  // 从目录加载插件
106
170
  async loadFromDirectory(pluginDir) {
107
171
  this.logger.info(`Loading plugins from directory: ${pluginDir}`);
172
+ const diagnostics = [];
108
173
  try {
109
174
  const entries = await fs.readdir(pluginDir, { withFileTypes: true });
110
175
  for (const entry of entries) {
@@ -112,82 +177,133 @@ export class PluginLoader {
112
177
  continue;
113
178
  }
114
179
  const pluginPath = path.join(pluginDir, entry.name);
115
- await this.loadPluginFile(pluginPath);
180
+ const result = await this.loadPluginFile(pluginPath);
181
+ diagnostics.push(...result.diagnostics);
116
182
  }
117
183
  }
118
184
  catch (error) {
119
- this.logger.warn(`Failed to load plugins from directory: ${error}`);
185
+ const reason = error instanceof Error ? error.message : String(error);
186
+ this.logger.warn(`Failed to load plugins from directory: ${reason}`);
187
+ diagnostics.push(this.createDiagnostic('warning', 'load', `插件目录不可读: ${reason}`));
120
188
  }
189
+ return diagnostics;
121
190
  }
122
191
  // 从文件加载单个插件
123
- async loadPluginFile(pluginPath) {
192
+ async loadPluginFile(pluginPath, context = {}) {
193
+ const diagnostics = [];
124
194
  try {
125
195
  this.logger.debug(`Loading plugin from: ${pluginPath}`);
126
- const module = await import(pluginPath);
127
- const plugin = module.default || module.plugin;
128
- if (!plugin) {
129
- this.logger.warn(`No plugin export found in: ${pluginPath}`);
130
- return;
131
- }
132
- const pluginInstance = typeof plugin === 'function' ? await plugin() : plugin;
133
- await this.registry.register(pluginInstance);
196
+ const module = await this.importModuleFromFile(pluginPath, context.bustCache);
197
+ return this.registerLoadedPlugin(module, { kind: 'file', pluginPath }, `插件文件未导出默认插件实例: ${pluginPath}`);
134
198
  }
135
199
  catch (error) {
136
- this.logger.error(`Failed to load plugin from ${pluginPath}: ${error}`);
200
+ const reason = error instanceof Error ? error.message : String(error);
201
+ this.logger.error(`Failed to load plugin from ${pluginPath}: ${reason}`);
202
+ diagnostics.push(this.createDiagnostic('error', 'load', `加载插件文件失败: ${reason}`));
203
+ return { diagnostics, loaded: false };
137
204
  }
138
205
  }
139
- // 加载指定名称的插件
140
- async loadPluginByName(pluginName, pluginDir) {
141
- const pluginPath = path.join(pluginDir, `${pluginName}.js`);
206
+ async loadPluginModuleByName(pluginName, pluginDir, context = {}) {
207
+ const diagnostics = [];
142
208
  try {
143
- await this.loadPluginFile(pluginPath);
209
+ const module = await this.importModuleByName(pluginName, pluginDir, context.bustCache);
210
+ return this.registerLoadedPlugin(module, { kind: 'module', pluginName, pluginDir }, `插件模块 "${pluginName}" 未导出默认插件实例`, pluginName);
144
211
  }
145
212
  catch (error) {
146
- // 尝试作为 Node.js 模块加载
147
- try {
148
- const module = await import(pluginName);
149
- const plugin = module.default || module.plugin;
150
- if (plugin) {
151
- const pluginInstance = typeof plugin === 'function' ? await plugin() : plugin;
152
- await this.registry.register(pluginInstance);
153
- }
154
- }
155
- catch {
156
- this.logger.warn(`Plugin "${pluginName}" not found`);
213
+ const reason = error instanceof Error ? error.message : String(error);
214
+ this.logger.warn(`Plugin "${pluginName}" not found: ${reason}`);
215
+ diagnostics.push(this.createDiagnostic('warning', 'load', `未找到插件 "${pluginName}": ${reason}`, pluginName));
216
+ return { diagnostics, loaded: false };
217
+ }
218
+ }
219
+ // 加载指定名称的插件
220
+ async loadPluginByName(pluginName, pluginDir) {
221
+ const diagnostics = [];
222
+ if (this.registry.has(pluginName)) {
223
+ return diagnostics;
224
+ }
225
+ const builtInResult = await this.loadBuiltInPluginByName(pluginName);
226
+ diagnostics.push(...builtInResult.diagnostics);
227
+ if (builtInResult.loaded) {
228
+ return diagnostics;
229
+ }
230
+ if (pluginDir) {
231
+ const pluginPath = path.join(pluginDir, `${pluginName}.js`);
232
+ const fileResult = await this.loadPluginFile(pluginPath);
233
+ diagnostics.push(...fileResult.diagnostics);
234
+ if (fileResult.loaded) {
235
+ return diagnostics;
157
236
  }
158
237
  }
238
+ const moduleResult = await this.loadPluginModuleByName(pluginName, pluginDir);
239
+ diagnostics.push(...moduleResult.diagnostics);
240
+ return diagnostics;
159
241
  }
160
242
  // 加载所有插件
161
243
  async load(options = {}) {
162
- const { builtInPlugins = true, pluginDir = DEFAULT_PLUGIN_DIR, plugins = [] } = options;
244
+ const { builtInPlugins = true, pluginDir, plugins = [] } = options;
245
+ const diagnostics = [];
163
246
  // 设置插件上下文
164
247
  const context = this.createContext();
165
248
  this.registry.setContext(context);
166
249
  // 加载内置插件
167
250
  if (builtInPlugins) {
168
- await this.loadBuiltInPlugins();
251
+ diagnostics.push(...await this.loadBuiltInPlugins());
169
252
  }
170
253
  // 从目录加载
171
254
  if (pluginDir) {
172
- await this.loadFromDirectory(pluginDir);
255
+ diagnostics.push(...await this.loadFromDirectory(pluginDir));
173
256
  }
174
257
  // 加载指定插件
175
258
  for (const pluginName of plugins) {
176
- await this.loadPluginByName(pluginName, pluginDir);
259
+ diagnostics.push(...await this.loadPluginByName(pluginName, pluginDir));
177
260
  }
178
261
  // 初始化所有插件
179
- await this.registry.initializeAll();
262
+ diagnostics.push(...await this.registry.initializeAll());
180
263
  this.logger.info(`Loaded ${this.registry.size()} plugin(s)`);
264
+ return diagnostics;
181
265
  }
182
266
  // 重新加载插件
183
267
  async reload(name) {
268
+ const source = this.loadedSources.get(name);
269
+ if (!source) {
270
+ throw new Error(`Plugin "${name}" is not loaded, cannot reload`);
271
+ }
184
272
  await this.registry.unregister(name);
185
- // TODO: 实现真正的热重载
273
+ this.loadedSources.delete(name);
274
+ let result;
275
+ switch (source.kind) {
276
+ case 'builtin':
277
+ result = await this.loadBuiltInPluginByName(source.pluginName, { bustCache: true });
278
+ break;
279
+ case 'file':
280
+ result = await this.loadPluginFile(source.pluginPath, { bustCache: true });
281
+ break;
282
+ case 'module':
283
+ result = await this.loadPluginModuleByName(source.pluginName, source.pluginDir, { bustCache: true });
284
+ break;
285
+ }
286
+ if (!result.loaded) {
287
+ const message = result.diagnostics.map((diagnostic) => diagnostic.message).join('; ');
288
+ throw new Error(message || `Plugin "${name}" reload failed`);
289
+ }
290
+ const reloadedName = result.name ?? name;
291
+ if (reloadedName !== name) {
292
+ await this.registry.unregister(reloadedName);
293
+ this.loadedSources.delete(reloadedName);
294
+ throw new Error(`Plugin "${name}" reload changed metadata name to "${reloadedName}"`);
295
+ }
296
+ const diagnostics = await this.registry.initializeByName(reloadedName);
297
+ const fatalDiagnostic = diagnostics.find((diagnostic) => diagnostic.level === 'error');
298
+ if (fatalDiagnostic) {
299
+ throw new Error(fatalDiagnostic.message);
300
+ }
186
301
  this.logger.info(`Plugin "${name}" reloaded`);
187
302
  }
188
303
  // 销毁
189
304
  async dispose() {
190
305
  await this.registry.disposeAll();
306
+ this.loadedSources.clear();
191
307
  this.logger.info('Plugin loader disposed');
192
308
  }
193
309
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-loader.js","sourceRoot":"","sources":["../../src/plugins/plugin-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-loader.js","sourceRoot":"","sources":["../../src/plugins/plugin-loader.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,16 @@
1
- import type { CodeMapPlugin, PluginInstance, PluginContext, PluginStatus, AnalysisResult, GeneratedOutput } from './types.js';
1
+ import type { CodeMapPlugin, PluginInstance, PluginContext, PluginStatus, PluginAnalysisRun, PluginGenerateRun } from './types.js';
2
2
  import type { ModuleInfo, CodeMap } from '../types/index.js';
3
+ import type { PluginDiagnostic } from '../types/index.js';
3
4
  export declare class PluginRegistry {
4
5
  private plugins;
5
6
  private context;
7
+ private initializeInstance;
6
8
  setContext(context: PluginContext): void;
7
9
  register(plugin: CodeMapPlugin): Promise<void>;
8
- initializeAll(): Promise<void>;
9
- runAnalyze(modules: ModuleInfo[]): Promise<Map<string, AnalysisResult>>;
10
- runGenerate(codeMap: CodeMap): Promise<Map<string, GeneratedOutput>>;
10
+ initializeAll(): Promise<PluginDiagnostic[]>;
11
+ initializeByName(name: string): Promise<PluginDiagnostic[]>;
12
+ runAnalyze(modules: ModuleInfo[]): Promise<PluginAnalysisRun>;
13
+ runGenerate(codeMap: CodeMap): Promise<PluginGenerateRun>;
11
14
  get(name: string): PluginInstance | undefined;
12
15
  getAllNames(): string[];
13
16
  getInitialized(): string[];
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-registry.d.ts","sourceRoot":"","sources":["../../src/plugins/plugin-registry.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC9H,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE7D,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAA0C;IACzD,OAAO,CAAC,OAAO,CAA8B;IAG7C,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAKlC,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB9C,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAqB9B,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAuBvE,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IA0B1E,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAK7C,WAAW,IAAI,MAAM,EAAE;IAKvB,cAAc,IAAI,MAAM,EAAE;IAW1B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAKjD,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAKpB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBvC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAWjC,IAAI,IAAI,MAAM;CAGf"}
1
+ {"version":3,"file":"plugin-registry.d.ts","sourceRoot":"","sources":["../../src/plugins/plugin-registry.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,aAAa,EACb,YAAY,EAGZ,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAA0C;IACzD,OAAO,CAAC,OAAO,CAA8B;YAE/B,kBAAkB;IA6BhC,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAKlC,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB9C,aAAa,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAc5C,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAe3D,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAgC7D,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAmC/D,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAK7C,WAAW,IAAI,MAAM,EAAE;IAKvB,cAAc,IAAI,MAAM,EAAE;IAW1B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAKjD,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAKpB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBvC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAWjC,IAAI,IAAI,MAAM;CAGf"}
@@ -1,3 +1,5 @@
1
+ // [META] since:2026-03 | owner:plugin-team | stable:true
2
+ // [WHY] Plugin registry tracks loaded plugins and coordinates analyze/generate hooks
1
3
  // ============================================
2
4
  // CodeMap 插件注册表
3
5
  // 管理已加载的插件
@@ -5,6 +7,31 @@
5
7
  export class PluginRegistry {
6
8
  plugins = new Map();
7
9
  context = null;
10
+ async initializeInstance(name, instance) {
11
+ if (!this.context) {
12
+ throw new Error('Plugin context not set');
13
+ }
14
+ const diagnostics = [];
15
+ try {
16
+ this.context.logger.info(`Initializing plugin "${name}"...`);
17
+ await instance.plugin.initialize(this.context);
18
+ instance.status = 'initialized';
19
+ instance.error = undefined;
20
+ this.context.logger.info(`Plugin "${name}" initialized successfully`);
21
+ }
22
+ catch (error) {
23
+ instance.status = 'error';
24
+ instance.error = error instanceof Error ? error : new Error(String(error));
25
+ this.context.logger.error(`Failed to initialize plugin "${name}": ${instance.error.message}`);
26
+ diagnostics.push({
27
+ plugin: name,
28
+ stage: 'initialize',
29
+ level: 'error',
30
+ message: instance.error.message,
31
+ });
32
+ }
33
+ return diagnostics;
34
+ }
8
35
  // 设置插件上下文
9
36
  setContext(context) {
10
37
  this.context = context;
@@ -29,24 +56,28 @@ export class PluginRegistry {
29
56
  if (!this.context) {
30
57
  throw new Error('Plugin context not set');
31
58
  }
59
+ const diagnostics = [];
32
60
  for (const [name, instance] of this.plugins) {
33
- try {
34
- this.context.logger.info(`Initializing plugin "${name}"...`);
35
- await instance.plugin.initialize(this.context);
36
- instance.status = 'initialized';
37
- this.context.logger.info(`Plugin "${name}" initialized successfully`);
38
- }
39
- catch (error) {
40
- instance.status = 'error';
41
- instance.error = error instanceof Error ? error : new Error(String(error));
42
- this.context.logger.error(`Failed to initialize plugin "${name}": ${instance.error.message}`);
43
- throw error;
44
- }
61
+ diagnostics.push(...await this.initializeInstance(name, instance));
45
62
  }
63
+ return diagnostics;
64
+ }
65
+ async initializeByName(name) {
66
+ const instance = this.plugins.get(name);
67
+ if (!instance) {
68
+ return [{
69
+ plugin: name,
70
+ stage: 'initialize',
71
+ level: 'error',
72
+ message: `Plugin "${name}" is not registered`,
73
+ }];
74
+ }
75
+ return this.initializeInstance(name, instance);
46
76
  }
47
77
  // 运行所有插件的分析钩子
48
78
  async runAnalyze(modules) {
49
79
  const results = new Map();
80
+ const diagnostics = [];
50
81
  for (const [name, instance] of this.plugins) {
51
82
  if (instance.status !== 'initialized' || !instance.plugin.analyze) {
52
83
  continue;
@@ -59,14 +90,23 @@ export class PluginRegistry {
59
90
  }
60
91
  catch (error) {
61
92
  const err = error instanceof Error ? error : new Error(String(error));
93
+ instance.status = 'error';
94
+ instance.error = err;
62
95
  this.context?.logger.error(`Plugin "${name}" analyze hook failed: ${err.message}`);
96
+ diagnostics.push({
97
+ plugin: name,
98
+ stage: 'analyze',
99
+ level: 'error',
100
+ message: err.message,
101
+ });
63
102
  }
64
103
  }
65
- return results;
104
+ return { results, diagnostics };
66
105
  }
67
106
  // 运行所有插件的生成钩子
68
107
  async runGenerate(codeMap) {
69
108
  const results = new Map();
109
+ const diagnostics = [];
70
110
  for (const [name, instance] of this.plugins) {
71
111
  if (instance.status !== 'running' && instance.status !== 'initialized') {
72
112
  continue;
@@ -81,10 +121,18 @@ export class PluginRegistry {
81
121
  }
82
122
  catch (error) {
83
123
  const err = error instanceof Error ? error : new Error(String(error));
124
+ instance.status = 'error';
125
+ instance.error = err;
84
126
  this.context?.logger.error(`Plugin "${name}" generate hook failed: ${err.message}`);
127
+ diagnostics.push({
128
+ plugin: name,
129
+ stage: 'generate',
130
+ level: 'error',
131
+ message: err.message,
132
+ });
85
133
  }
86
134
  }
87
- return results;
135
+ return { results, diagnostics };
88
136
  }
89
137
  // 获取插件实例
90
138
  get(name) {
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-registry.js","sourceRoot":"","sources":["../../src/plugins/plugin-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-registry.js","sourceRoot":"","sources":["../../src/plugins/plugin-registry.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import type { CodemapConfig, ModuleInfo, CodeMap } from '../types/index.js';
1
+ import type { CodemapConfig, ModuleInfo, CodeMap, PluginDiagnostic } from '../types/index.js';
2
+ import type { CodemapPluginConfig } from '../interface/config/index.js';
2
3
  export interface PluginLogger {
3
4
  debug(message: string, ...args: unknown[]): void;
4
5
  info(message: string, ...args: unknown[]): void;
@@ -56,11 +57,20 @@ export interface CodeMapPlugin {
56
57
  generate?(codeMap: CodeMap): Promise<GeneratedOutput>;
57
58
  dispose(): Promise<void>;
58
59
  }
59
- export interface PluginLoadOptions {
60
- pluginDir?: string;
61
- builtInPlugins?: boolean;
62
- plugins?: string[];
63
- debug?: boolean;
60
+ export interface PluginLoadOptions extends CodemapPluginConfig {
61
+ }
62
+ export interface PluginLoadAttempt {
63
+ diagnostics: PluginDiagnostic[];
64
+ loaded: boolean;
65
+ name?: string;
66
+ }
67
+ export interface PluginAnalysisRun {
68
+ results: Map<string, AnalysisResult>;
69
+ diagnostics: PluginDiagnostic[];
70
+ }
71
+ export interface PluginGenerateRun {
72
+ results: Map<string, GeneratedOutput>;
73
+ diagnostics: PluginDiagnostic[];
64
74
  }
65
75
  export type PluginStatus = 'loaded' | 'initialized' | 'running' | 'disposed' | 'error';
66
76
  export interface PluginInstance {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/plugins/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/plugins/types.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ // [META] since:2026-03 | owner:plugin-team | stable:true
2
+ // [WHY] Plugin types define the stable contract shared by plugin runtime and user plugins
1
3
  // ============================================
2
4
  // CodeMap 插件类型定义
3
5
  // ============================================
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/plugins/types.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,iBAAiB;AACjB,+CAA+C"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/plugins/types.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,0FAA0F;AAC1F,+CAA+C;AAC/C,iBAAiB;AACjB,+CAA+C"}
@@ -29,6 +29,20 @@ export interface IncrementalUpdateRequest {
29
29
  changeType: 'added' | 'modified' | 'deleted';
30
30
  }>;
31
31
  }
32
+ type UnsupportedAnalysisOperation = 'analyze' | 'incrementalUpdate' | 'refresh';
33
+ declare const UNSUPPORTED_ANALYSIS_ERROR_CODES: {
34
+ readonly analyze: "ANALYSIS_NOT_SUPPORTED";
35
+ readonly incrementalUpdate: "INCREMENTAL_UPDATE_NOT_SUPPORTED";
36
+ readonly refresh: "REFRESH_NOT_SUPPORTED";
37
+ };
38
+ export declare class UnsupportedAnalysisOperationError extends Error {
39
+ readonly name = "UnsupportedAnalysisOperationError";
40
+ readonly statusCode = 501;
41
+ readonly code: typeof UNSUPPORTED_ANALYSIS_ERROR_CODES[UnsupportedAnalysisOperation];
42
+ readonly operation: UnsupportedAnalysisOperation;
43
+ constructor(operation: UnsupportedAnalysisOperation);
44
+ }
45
+ export declare function isUnsupportedAnalysisOperationError(error: unknown): error is UnsupportedAnalysisOperationError;
32
46
  /**
33
47
  * 分析处理器
34
48
  *
@@ -40,8 +54,7 @@ export interface IncrementalUpdateRequest {
40
54
  */
41
55
  export declare class AnalysisHandler {
42
56
  private storage;
43
- private builder;
44
- constructor(storage: IStorage, builder: CodeGraphBuilder);
57
+ constructor(storage: IStorage, _builder: CodeGraphBuilder);
45
58
  /**
46
59
  * 执行完整分析
47
60
  */
@@ -79,4 +92,5 @@ export declare class AnalysisHandler {
79
92
  private toDOT;
80
93
  private escapeXml;
81
94
  }
95
+ export {};
82
96
  //# sourceMappingURL=AnalysisHandler.d.ts.map