@mycodemap/mycodemap 0.4.1 → 0.5.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 (309) hide show
  1. package/CHANGELOG.md +100 -0
  2. package/README.md +307 -243
  3. package/dist/ai/claude.d.ts +38 -0
  4. package/dist/ai/claude.d.ts.map +1 -0
  5. package/dist/ai/claude.js +169 -0
  6. package/dist/ai/claude.js.map +1 -0
  7. package/dist/ai/codex.d.ts +38 -0
  8. package/dist/ai/codex.d.ts.map +1 -0
  9. package/dist/ai/codex.js +169 -0
  10. package/dist/ai/codex.js.map +1 -0
  11. package/dist/ai/factory.d.ts +48 -0
  12. package/dist/ai/factory.d.ts.map +1 -0
  13. package/dist/ai/factory.js +95 -0
  14. package/dist/ai/factory.js.map +1 -0
  15. package/dist/ai/index.d.ts +12 -0
  16. package/dist/ai/index.d.ts.map +1 -0
  17. package/dist/ai/index.js +29 -0
  18. package/dist/ai/index.js.map +1 -0
  19. package/dist/ai/provider.d.ts +70 -0
  20. package/dist/ai/provider.d.ts.map +1 -0
  21. package/dist/ai/provider.js +31 -0
  22. package/dist/ai/provider.js.map +1 -0
  23. package/dist/ai/subagent-caller.d.ts +90 -0
  24. package/dist/ai/subagent-caller.d.ts.map +1 -0
  25. package/dist/ai/subagent-caller.js +280 -0
  26. package/dist/ai/subagent-caller.js.map +1 -0
  27. package/dist/ai/types.d.ts +70 -0
  28. package/dist/ai/types.d.ts.map +1 -0
  29. package/dist/ai/types.js +5 -0
  30. package/dist/ai/types.js.map +1 -0
  31. package/dist/cli/commands/analyze-options.d.ts +36 -0
  32. package/dist/cli/commands/analyze-options.d.ts.map +1 -0
  33. package/dist/cli/commands/analyze-options.js +147 -0
  34. package/dist/cli/commands/analyze-options.js.map +1 -0
  35. package/dist/cli/commands/analyze.d.ts +93 -4
  36. package/dist/cli/commands/analyze.d.ts.map +1 -1
  37. package/dist/cli/commands/analyze.js +592 -176
  38. package/dist/cli/commands/analyze.js.map +1 -1
  39. package/dist/cli/commands/ci.d.ts +47 -1
  40. package/dist/cli/commands/ci.d.ts.map +1 -1
  41. package/dist/cli/commands/ci.js +208 -1
  42. package/dist/cli/commands/ci.js.map +1 -1
  43. package/dist/cli/commands/design.d.ts +47 -0
  44. package/dist/cli/commands/design.d.ts.map +1 -0
  45. package/dist/cli/commands/design.js +268 -0
  46. package/dist/cli/commands/design.js.map +1 -0
  47. package/dist/cli/commands/export.d.ts.map +1 -1
  48. package/dist/cli/commands/export.js +2 -2
  49. package/dist/cli/commands/export.js.map +1 -1
  50. package/dist/cli/commands/generate.d.ts +8 -2
  51. package/dist/cli/commands/generate.d.ts.map +1 -1
  52. package/dist/cli/commands/generate.js +151 -22
  53. package/dist/cli/commands/generate.js.map +1 -1
  54. package/dist/cli/commands/init.d.ts.map +1 -1
  55. package/dist/cli/commands/init.js +2 -13
  56. package/dist/cli/commands/init.js.map +1 -1
  57. package/dist/cli/commands/server.d.ts.map +1 -1
  58. package/dist/cli/commands/server.js +2 -5
  59. package/dist/cli/commands/server.js.map +1 -1
  60. package/dist/cli/commands/ship/checker.d.ts.map +1 -1
  61. package/dist/cli/commands/ship/checker.js +0 -3
  62. package/dist/cli/commands/ship/checker.js.map +1 -1
  63. package/dist/cli/commands/ship/pipeline.d.ts.map +1 -1
  64. package/dist/cli/commands/ship/pipeline.js +8 -1
  65. package/dist/cli/commands/ship/pipeline.js.map +1 -1
  66. package/dist/cli/commands/ship/publisher.d.ts +9 -1
  67. package/dist/cli/commands/ship/publisher.d.ts.map +1 -1
  68. package/dist/cli/commands/ship/publisher.js +149 -6
  69. package/dist/cli/commands/ship/publisher.js.map +1 -1
  70. package/dist/cli/commands/ship/rules/quality-rules.d.ts +0 -1
  71. package/dist/cli/commands/ship/rules/quality-rules.d.ts.map +1 -1
  72. package/dist/cli/commands/ship/rules/quality-rules.js +4 -76
  73. package/dist/cli/commands/ship/rules/quality-rules.js.map +1 -1
  74. package/dist/cli/commands/workflow.js +4 -4
  75. package/dist/cli/commands/workflow.js.map +1 -1
  76. package/dist/cli/config-loader.d.ts +31 -0
  77. package/dist/cli/config-loader.d.ts.map +1 -0
  78. package/dist/cli/config-loader.js +235 -0
  79. package/dist/cli/config-loader.js.map +1 -0
  80. package/dist/cli/design-contract-loader.d.ts +15 -0
  81. package/dist/cli/design-contract-loader.d.ts.map +1 -0
  82. package/dist/cli/design-contract-loader.js +175 -0
  83. package/dist/cli/design-contract-loader.js.map +1 -0
  84. package/dist/cli/design-contract-schema.d.ts +11 -0
  85. package/dist/cli/design-contract-schema.d.ts.map +1 -0
  86. package/dist/cli/design-contract-schema.js +75 -0
  87. package/dist/cli/design-contract-schema.js.map +1 -0
  88. package/dist/cli/design-handoff-builder.d.ts +15 -0
  89. package/dist/cli/design-handoff-builder.d.ts.map +1 -0
  90. package/dist/cli/design-handoff-builder.js +345 -0
  91. package/dist/cli/design-handoff-builder.js.map +1 -0
  92. package/dist/cli/design-scope-resolver.d.ts +8 -0
  93. package/dist/cli/design-scope-resolver.d.ts.map +1 -0
  94. package/dist/cli/design-scope-resolver.js +712 -0
  95. package/dist/cli/design-scope-resolver.js.map +1 -0
  96. package/dist/cli/design-verification-builder.d.ts +8 -0
  97. package/dist/cli/design-verification-builder.d.ts.map +1 -0
  98. package/dist/cli/design-verification-builder.js +369 -0
  99. package/dist/cli/design-verification-builder.js.map +1 -0
  100. package/dist/cli/index.js +20 -63
  101. package/dist/cli/index.js.map +1 -1
  102. package/dist/cli/removed-commands.d.ts +9 -0
  103. package/dist/cli/removed-commands.d.ts.map +1 -0
  104. package/dist/cli/removed-commands.js +48 -0
  105. package/dist/cli/removed-commands.js.map +1 -0
  106. package/dist/cli/storage-runtime.d.ts +8 -0
  107. package/dist/cli/storage-runtime.d.ts.map +1 -0
  108. package/dist/cli/storage-runtime.js +14 -0
  109. package/dist/cli/storage-runtime.js.map +1 -0
  110. package/dist/cli/tree-sitter-check.d.ts.map +1 -1
  111. package/dist/cli/tree-sitter-check.js +0 -1
  112. package/dist/cli/tree-sitter-check.js.map +1 -1
  113. package/dist/cli-new/commands/export.d.ts.map +1 -1
  114. package/dist/cli-new/commands/export.js +2 -2
  115. package/dist/cli-new/commands/export.js.map +1 -1
  116. package/dist/cli-new/commands/query.d.ts.map +1 -1
  117. package/dist/cli-new/commands/query.js +5 -4
  118. package/dist/cli-new/commands/query.js.map +1 -1
  119. package/dist/cli-new/commands/server.d.ts.map +1 -1
  120. package/dist/cli-new/commands/server.js +2 -6
  121. package/dist/cli-new/commands/server.js.map +1 -1
  122. package/dist/cli-new/index.d.ts.map +1 -1
  123. package/dist/cli-new/index.js +0 -2
  124. package/dist/cli-new/index.js.map +1 -1
  125. package/dist/core/analyzer.d.ts.map +1 -1
  126. package/dist/core/analyzer.js +7 -39
  127. package/dist/core/analyzer.js.map +1 -1
  128. package/dist/core/file-discovery.d.ts +17 -0
  129. package/dist/core/file-discovery.d.ts.map +1 -0
  130. package/dist/core/file-discovery.js +75 -0
  131. package/dist/core/file-discovery.js.map +1 -0
  132. package/dist/core/global-index.d.ts +5 -0
  133. package/dist/core/global-index.d.ts.map +1 -1
  134. package/dist/core/global-index.js +71 -21
  135. package/dist/core/global-index.js.map +1 -1
  136. package/dist/generator/ai-overview.d.ts +51 -0
  137. package/dist/generator/ai-overview.d.ts.map +1 -0
  138. package/dist/generator/ai-overview.js +160 -0
  139. package/dist/generator/ai-overview.js.map +1 -0
  140. package/dist/generator/index.d.ts.map +1 -1
  141. package/dist/generator/index.js +8 -0
  142. package/dist/generator/index.js.map +1 -1
  143. package/dist/infrastructure/parser/implementations/GoParser.d.ts +2 -5
  144. package/dist/infrastructure/parser/implementations/GoParser.d.ts.map +1 -1
  145. package/dist/infrastructure/parser/implementations/GoParser.js +2 -5
  146. package/dist/infrastructure/parser/implementations/GoParser.js.map +1 -1
  147. package/dist/infrastructure/parser/implementations/PythonParser.d.ts +1 -5
  148. package/dist/infrastructure/parser/implementations/PythonParser.d.ts.map +1 -1
  149. package/dist/infrastructure/parser/implementations/PythonParser.js +1 -5
  150. package/dist/infrastructure/parser/implementations/PythonParser.js.map +1 -1
  151. package/dist/infrastructure/parser/implementations/TypeScriptParser.d.ts +1 -5
  152. package/dist/infrastructure/parser/implementations/TypeScriptParser.d.ts.map +1 -1
  153. package/dist/infrastructure/parser/implementations/TypeScriptParser.js +1 -5
  154. package/dist/infrastructure/parser/implementations/TypeScriptParser.js.map +1 -1
  155. package/dist/infrastructure/storage/StorageFactory.d.ts +12 -6
  156. package/dist/infrastructure/storage/StorageFactory.d.ts.map +1 -1
  157. package/dist/infrastructure/storage/StorageFactory.js +59 -43
  158. package/dist/infrastructure/storage/StorageFactory.js.map +1 -1
  159. package/dist/infrastructure/storage/adapters/FileSystemStorage.d.ts.map +1 -1
  160. package/dist/infrastructure/storage/adapters/FileSystemStorage.js +24 -137
  161. package/dist/infrastructure/storage/adapters/FileSystemStorage.js.map +1 -1
  162. package/dist/infrastructure/storage/adapters/KuzuDBStorage.d.ts +10 -18
  163. package/dist/infrastructure/storage/adapters/KuzuDBStorage.d.ts.map +1 -1
  164. package/dist/infrastructure/storage/adapters/KuzuDBStorage.js +103 -146
  165. package/dist/infrastructure/storage/adapters/KuzuDBStorage.js.map +1 -1
  166. package/dist/infrastructure/storage/adapters/MemoryStorage.d.ts +0 -1
  167. package/dist/infrastructure/storage/adapters/MemoryStorage.d.ts.map +1 -1
  168. package/dist/infrastructure/storage/adapters/MemoryStorage.js +16 -136
  169. package/dist/infrastructure/storage/adapters/MemoryStorage.js.map +1 -1
  170. package/dist/infrastructure/storage/adapters/Neo4jStorage.d.ts +9 -17
  171. package/dist/infrastructure/storage/adapters/Neo4jStorage.d.ts.map +1 -1
  172. package/dist/infrastructure/storage/adapters/Neo4jStorage.js +78 -138
  173. package/dist/infrastructure/storage/adapters/Neo4jStorage.js.map +1 -1
  174. package/dist/infrastructure/storage/graph-helpers.d.ts +16 -0
  175. package/dist/infrastructure/storage/graph-helpers.d.ts.map +1 -0
  176. package/dist/infrastructure/storage/graph-helpers.js +161 -0
  177. package/dist/infrastructure/storage/graph-helpers.js.map +1 -0
  178. package/dist/infrastructure/storage/index.d.ts.map +1 -1
  179. package/dist/interface/config/index.d.ts +10 -1
  180. package/dist/interface/config/index.d.ts.map +1 -1
  181. package/dist/interface/types/design-contract.d.ts +68 -0
  182. package/dist/interface/types/design-contract.d.ts.map +1 -0
  183. package/dist/interface/types/design-contract.js +7 -0
  184. package/dist/interface/types/design-contract.js.map +1 -0
  185. package/dist/interface/types/design-handoff.d.ts +68 -0
  186. package/dist/interface/types/design-handoff.d.ts.map +1 -0
  187. package/dist/interface/types/design-handoff.js +4 -0
  188. package/dist/interface/types/design-handoff.js.map +1 -0
  189. package/dist/interface/types/design-mapping.d.ts +51 -0
  190. package/dist/interface/types/design-mapping.d.ts.map +1 -0
  191. package/dist/interface/types/design-mapping.js +4 -0
  192. package/dist/interface/types/design-mapping.js.map +1 -0
  193. package/dist/interface/types/design-verification.d.ts +49 -0
  194. package/dist/interface/types/design-verification.d.ts.map +1 -0
  195. package/dist/interface/types/design-verification.js +4 -0
  196. package/dist/interface/types/design-verification.js.map +1 -0
  197. package/dist/interface/types/index.d.ts +17 -0
  198. package/dist/interface/types/index.d.ts.map +1 -1
  199. package/dist/interface/types/storage.d.ts +1 -4
  200. package/dist/interface/types/storage.d.ts.map +1 -1
  201. package/dist/orchestrator/ai-feed-generator.d.ts +210 -0
  202. package/dist/orchestrator/ai-feed-generator.d.ts.map +1 -0
  203. package/dist/orchestrator/ai-feed-generator.js +377 -0
  204. package/dist/orchestrator/ai-feed-generator.js.map +1 -0
  205. package/dist/orchestrator/confidence.d.ts +9 -9
  206. package/dist/orchestrator/confidence.d.ts.map +1 -1
  207. package/dist/orchestrator/confidence.js +44 -67
  208. package/dist/orchestrator/confidence.js.map +1 -1
  209. package/dist/orchestrator/file-header-scanner.d.ts.map +1 -1
  210. package/dist/orchestrator/file-header-scanner.js +22 -31
  211. package/dist/orchestrator/file-header-scanner.js.map +1 -1
  212. package/dist/orchestrator/intent-router.d.ts +2 -11
  213. package/dist/orchestrator/intent-router.d.ts.map +1 -1
  214. package/dist/orchestrator/intent-router.js +58 -49
  215. package/dist/orchestrator/intent-router.js.map +1 -1
  216. package/dist/orchestrator/tool-orchestrator.d.ts.map +1 -1
  217. package/dist/orchestrator/tool-orchestrator.js +6 -4
  218. package/dist/orchestrator/tool-orchestrator.js.map +1 -1
  219. package/dist/orchestrator/types.d.ts +113 -2
  220. package/dist/orchestrator/types.d.ts.map +1 -1
  221. package/dist/orchestrator/types.js +29 -0
  222. package/dist/orchestrator/types.js.map +1 -1
  223. package/dist/orchestrator/workflow/config.d.ts +4 -12
  224. package/dist/orchestrator/workflow/config.d.ts.map +1 -1
  225. package/dist/orchestrator/workflow/config.js +4 -6
  226. package/dist/orchestrator/workflow/config.js.map +1 -1
  227. package/dist/orchestrator/workflow/git-analyzer.d.ts.map +1 -1
  228. package/dist/orchestrator/workflow/git-analyzer.js +9 -19
  229. package/dist/orchestrator/workflow/git-analyzer.js.map +1 -1
  230. package/dist/orchestrator/workflow/phase-inheritance.d.ts.map +1 -1
  231. package/dist/orchestrator/workflow/phase-inheritance.js +14 -23
  232. package/dist/orchestrator/workflow/phase-inheritance.js.map +1 -1
  233. package/dist/orchestrator/workflow/result-fusion.d.ts.map +1 -1
  234. package/dist/orchestrator/workflow/result-fusion.js +9 -11
  235. package/dist/orchestrator/workflow/result-fusion.js.map +1 -1
  236. package/dist/orchestrator/workflow/templates.d.ts +4 -1
  237. package/dist/orchestrator/workflow/templates.d.ts.map +1 -1
  238. package/dist/orchestrator/workflow/templates.js +49 -207
  239. package/dist/orchestrator/workflow/templates.js.map +1 -1
  240. package/dist/orchestrator/workflow/test-linker.d.ts.map +1 -1
  241. package/dist/orchestrator/workflow/test-linker.js +12 -24
  242. package/dist/orchestrator/workflow/test-linker.js.map +1 -1
  243. package/dist/orchestrator/workflow/types.d.ts +11 -8
  244. package/dist/orchestrator/workflow/types.d.ts.map +1 -1
  245. package/dist/orchestrator/workflow/types.js +8 -1
  246. package/dist/orchestrator/workflow/types.js.map +1 -1
  247. package/dist/orchestrator/workflow/visualizer.d.ts.map +1 -1
  248. package/dist/orchestrator/workflow/visualizer.js +7 -9
  249. package/dist/orchestrator/workflow/visualizer.js.map +1 -1
  250. package/dist/orchestrator/workflow/workflow-context.d.ts.map +1 -1
  251. package/dist/orchestrator/workflow/workflow-context.js +3 -5
  252. package/dist/orchestrator/workflow/workflow-context.js.map +1 -1
  253. package/dist/orchestrator/workflow/workflow-orchestrator.d.ts +0 -4
  254. package/dist/orchestrator/workflow/workflow-orchestrator.d.ts.map +1 -1
  255. package/dist/orchestrator/workflow/workflow-orchestrator.js +7 -99
  256. package/dist/orchestrator/workflow/workflow-orchestrator.js.map +1 -1
  257. package/dist/parser/index.d.ts.map +1 -1
  258. package/dist/parser/index.js +2 -2
  259. package/dist/parser/index.js.map +1 -1
  260. package/dist/plugins/index.d.ts +5 -3
  261. package/dist/plugins/index.d.ts.map +1 -1
  262. package/dist/plugins/index.js +19 -8
  263. package/dist/plugins/index.js.map +1 -1
  264. package/dist/plugins/plugin-loader.d.ts +21 -6
  265. package/dist/plugins/plugin-loader.d.ts.map +1 -1
  266. package/dist/plugins/plugin-loader.js +170 -54
  267. package/dist/plugins/plugin-loader.js.map +1 -1
  268. package/dist/plugins/plugin-registry.d.ts +7 -4
  269. package/dist/plugins/plugin-registry.d.ts.map +1 -1
  270. package/dist/plugins/plugin-registry.js +62 -14
  271. package/dist/plugins/plugin-registry.js.map +1 -1
  272. package/dist/plugins/types.d.ts +16 -6
  273. package/dist/plugins/types.d.ts.map +1 -1
  274. package/dist/plugins/types.js +2 -0
  275. package/dist/plugins/types.js.map +1 -1
  276. package/dist/server/handlers/AnalysisHandler.d.ts +16 -2
  277. package/dist/server/handlers/AnalysisHandler.d.ts.map +1 -1
  278. package/dist/server/handlers/AnalysisHandler.js +31 -47
  279. package/dist/server/handlers/AnalysisHandler.js.map +1 -1
  280. package/dist/server/routes/api.d.ts.map +1 -1
  281. package/dist/server/routes/api.js +31 -12
  282. package/dist/server/routes/api.js.map +1 -1
  283. package/docs/AI_ASSISTANT_SETUP.md +3 -1
  284. package/docs/SETUP_GUIDE.md +41 -17
  285. package/docs/ai-guide/COMMANDS.md +179 -102
  286. package/docs/ai-guide/INTEGRATION.md +23 -21
  287. package/docs/ai-guide/OUTPUT.md +621 -10
  288. package/docs/ai-guide/PATTERNS.md +77 -18
  289. package/docs/ai-guide/PROMPTS.md +24 -18
  290. package/docs/ai-guide/QUICKSTART.md +35 -19
  291. package/docs/ai-guide/README.md +22 -4
  292. package/docs/archive/test-report-symbol-search.md +384 -0
  293. package/docs/archive/test-scenario-4-complexity-analysis.md +460 -0
  294. package/docs/archive/test_report_scenario5.md +615 -0
  295. package/docs/archive/test_scenario_3_impact_analysis_report.md +520 -0
  296. package/docs/product-specs/DESIGN_CONTRACT_TEMPLATE.md +79 -0
  297. package/docs/product-specs/MVP3-ARCHITECTURE-COMPARISON.md +159 -434
  298. package/docs/product-specs/MVP3-ARCHITECTURE-REDESIGN-PRD.md +169 -261
  299. package/docs/product-specs/MVP3-ARCHITECTURE-REDESIGN-TECH-PRD.md +201 -1259
  300. package/docs/product-specs/README.md +9 -1
  301. package/docs/rules/architecture-guardrails.md +1 -2
  302. package/docs/rules/engineering-with-codex-openai.md +20 -10
  303. package/docs/rules/validation.md +29 -4
  304. package/mycodemap.config.schema.json +76 -5
  305. package/package.json +1 -1
  306. package/scripts/experiments/arcadedb-http-smoke.mjs +90 -0
  307. package/scripts/sync-analyze-docs.js +500 -0
  308. package/scripts/validate-ai-docs.js +54 -1
  309. package/scripts/validate-docs.js +992 -25
@@ -1,3 +1,5 @@
1
+ // [META] since:2026-03 | owner:plugin-team | stable:true
2
+ // [WHY] Plugin module exports the public runtime surface for CodeMap plugins
1
3
  // ============================================
2
4
  // CodeMap 插件系统入口
3
5
  // ============================================
@@ -19,7 +21,7 @@ export class PluginSystem {
19
21
  // 初始化插件系统
20
22
  async initialize(options = {}) {
21
23
  this.loader = new PluginLoader(this.config, undefined, options.debug);
22
- await this.loader.load(options);
24
+ return this.loader.load(options);
23
25
  }
24
26
  // 获取注册表
25
27
  getRegistry() {
@@ -33,11 +35,13 @@ export class PluginSystem {
33
35
  if (!this.loader) {
34
36
  throw new Error('Plugin system not initialized');
35
37
  }
36
- const results = await this.loader.getRegistry().runAnalyze(modules);
38
+ const run = await this.loader.getRegistry().runAnalyze(modules);
39
+ const results = run.results;
37
40
  // 合并结果
38
41
  const mergedMetrics = {};
39
42
  const additionalEdges = [];
40
43
  const warnings = [];
44
+ const diagnostics = [...run.diagnostics];
41
45
  for (const [name, result] of results) {
42
46
  if (result.metrics) {
43
47
  mergedMetrics[name] = result.metrics;
@@ -55,16 +59,23 @@ export class PluginSystem {
55
59
  }
56
60
  if (result.warnings) {
57
61
  warnings.push(...result.warnings);
62
+ diagnostics.push(...result.warnings.map((message) => ({
63
+ plugin: name,
64
+ stage: 'analyze',
65
+ level: 'warning',
66
+ message,
67
+ })));
58
68
  }
59
69
  }
60
- return { results, mergedMetrics, additionalEdges, warnings };
70
+ return { results, mergedMetrics, additionalEdges, warnings, diagnostics };
61
71
  }
62
72
  // 运行生成钩子
63
73
  async runGenerate(codeMap) {
64
74
  if (!this.loader) {
65
75
  throw new Error('Plugin system not initialized');
66
76
  }
67
- const results = await this.loader.getRegistry().runGenerate(codeMap);
77
+ const run = await this.loader.getRegistry().runGenerate(codeMap);
78
+ const results = run.results;
68
79
  // 收集所有生成的文件
69
80
  const allFiles = [];
70
81
  for (const result of results.values()) {
@@ -72,7 +83,7 @@ export class PluginSystem {
72
83
  allFiles.push(...result.files);
73
84
  }
74
85
  }
75
- return { results, allFiles };
86
+ return { results, allFiles, diagnostics: run.diagnostics };
76
87
  }
77
88
  // 检查插件是否已加载
78
89
  hasPlugin(name) {
@@ -84,7 +95,7 @@ export class PluginSystem {
84
95
  getLoadedPlugins() {
85
96
  if (!this.loader)
86
97
  return [];
87
- return this.loader.getRegistry().getAllNames();
98
+ return this.loader.getRegistry().getInitialized();
88
99
  }
89
100
  // 销毁插件系统
90
101
  async dispose() {
@@ -95,9 +106,9 @@ export class PluginSystem {
95
106
  }
96
107
  }
97
108
  // 创建插件系统便捷函数
98
- export function createPluginSystem(config, options) {
109
+ export async function createPluginSystem(config, options) {
99
110
  const system = new PluginSystem(config);
100
- system.initialize(options);
111
+ await system.initialize(options);
101
112
  return system;
102
113
  }
103
114
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,34 @@
1
- import type { PluginLoadOptions, PluginLogger } from './types.js';
1
+ import type { PluginLoadOptions, PluginLogger, PluginLoadAttempt } from './types.js';
2
2
  import { PluginRegistry } from './plugin-registry.js';
3
3
  import type { CodemapConfig } from '../types/index.js';
4
+ import type { PluginDiagnostic } from '../types/index.js';
5
+ type PluginLoadContext = {
6
+ bustCache?: boolean;
7
+ };
4
8
  export declare class PluginLoader {
5
9
  private registry;
6
10
  private logger;
7
11
  private cache;
8
12
  private config;
13
+ private loadedSources;
9
14
  constructor(config: CodemapConfig, logger?: PluginLogger, debug?: boolean);
15
+ private createDiagnostic;
16
+ private resolvePluginExport;
17
+ private instantiatePlugin;
18
+ private importModuleFromUrl;
19
+ private importModuleFromFile;
20
+ private resolveModulePath;
21
+ private importModuleByName;
22
+ private registerLoadedPlugin;
23
+ private loadBuiltInPluginByName;
10
24
  private createContext;
11
25
  getRegistry(): PluginRegistry;
12
- loadBuiltInPlugins(): Promise<void>;
13
- loadFromDirectory(pluginDir: string): Promise<void>;
14
- loadPluginFile(pluginPath: string): Promise<void>;
15
- loadPluginByName(pluginName: string, pluginDir: string): Promise<void>;
16
- load(options?: PluginLoadOptions): Promise<void>;
26
+ loadBuiltInPlugins(): Promise<PluginDiagnostic[]>;
27
+ loadFromDirectory(pluginDir: string): Promise<PluginDiagnostic[]>;
28
+ loadPluginFile(pluginPath: string, context?: PluginLoadContext): Promise<PluginLoadAttempt>;
29
+ private loadPluginModuleByName;
30
+ loadPluginByName(pluginName: string, pluginDir?: string): Promise<PluginDiagnostic[]>;
31
+ load(options?: PluginLoadOptions): Promise<PluginDiagnostic[]>;
17
32
  reload(name: string): Promise<void>;
18
33
  dispose(): Promise<void>;
19
34
  }
@@ -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"}