autosnippet 3.2.22 → 3.3.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 (309) hide show
  1. package/dashboard/dist/assets/icons-BJ2mUBi8.js +1 -0
  2. package/dashboard/dist/assets/index-B659K9t5.js +128 -0
  3. package/dashboard/dist/assets/index-NCm40PMD.css +1 -0
  4. package/dashboard/dist/index.html +3 -3
  5. package/dist/bin/cli.d.ts +1 -1
  6. package/dist/bin/cli.js +244 -261
  7. package/dist/lib/agent/context/ExplorationTracker.d.ts +2 -0
  8. package/dist/lib/agent/context/ExplorationTracker.js +21 -3
  9. package/dist/lib/agent/core/ToolExecutionPipeline.d.ts +3 -1
  10. package/dist/lib/agent/core/ToolExecutionPipeline.js +8 -1
  11. package/dist/lib/agent/forge/DynamicComposer.d.ts +58 -0
  12. package/dist/lib/agent/forge/DynamicComposer.js +99 -0
  13. package/dist/lib/agent/forge/SandboxRunner.d.ts +60 -0
  14. package/dist/lib/agent/forge/SandboxRunner.js +251 -0
  15. package/dist/lib/agent/forge/TemporaryToolRegistry.d.ts +76 -0
  16. package/dist/lib/agent/forge/TemporaryToolRegistry.js +154 -0
  17. package/dist/lib/agent/forge/ToolForge.d.ts +92 -0
  18. package/dist/lib/agent/forge/ToolForge.js +239 -0
  19. package/dist/lib/agent/forge/ToolRequirementAnalyzer.d.ts +44 -0
  20. package/dist/lib/agent/forge/ToolRequirementAnalyzer.js +119 -0
  21. package/dist/lib/agent/tools/ToolRegistry.d.ts +2 -0
  22. package/dist/lib/agent/tools/ToolRegistry.js +4 -0
  23. package/dist/lib/agent/tools/composite.js +0 -1
  24. package/dist/lib/agent/tools/index.d.ts +2 -50
  25. package/dist/lib/agent/tools/index.js +2 -3
  26. package/dist/lib/agent/tools/lifecycle.d.ts +1 -58
  27. package/dist/lib/agent/tools/lifecycle.js +2 -75
  28. package/dist/lib/cli/SetupService.d.ts +46 -2
  29. package/dist/lib/cli/SetupService.js +2 -27
  30. package/dist/lib/cli/deploy/FileManifest.d.ts +0 -21
  31. package/dist/lib/cli/deploy/FileManifest.js +0 -11
  32. package/dist/lib/{platform/ios/spm → core/discovery}/SpmDiscoverer.d.ts +2 -5
  33. package/dist/lib/{platform/ios/spm → core/discovery}/SpmDiscoverer.js +159 -44
  34. package/dist/lib/core/discovery/index.d.ts +1 -1
  35. package/dist/lib/core/discovery/index.js +2 -2
  36. package/dist/lib/domain/knowledge/KnowledgeEntry.d.ts +10 -0
  37. package/dist/lib/domain/knowledge/KnowledgeEntry.js +2 -0
  38. package/dist/lib/domain/knowledge/Lifecycle.d.ts +19 -2
  39. package/dist/lib/domain/knowledge/Lifecycle.js +32 -6
  40. package/dist/lib/domain/knowledge/UnifiedValidator.d.ts +1 -5
  41. package/dist/lib/domain/knowledge/UnifiedValidator.js +7 -44
  42. package/dist/lib/domain/knowledge/values/Stats.d.ts +29 -0
  43. package/dist/lib/domain/knowledge/values/Stats.js +41 -0
  44. package/dist/lib/external/mcp/McpServer.d.ts +19 -38
  45. package/dist/lib/external/mcp/McpServer.js +145 -117
  46. package/dist/lib/external/mcp/autoApproveInjector.js +0 -2
  47. package/dist/lib/external/mcp/handlers/bootstrap/MissionBriefingBuilder.d.ts +26 -1
  48. package/dist/lib/external/mcp/handlers/bootstrap/MissionBriefingBuilder.js +41 -0
  49. package/dist/lib/external/mcp/handlers/bootstrap/pipeline/orchestrator.js +49 -0
  50. package/dist/lib/external/mcp/handlers/bootstrap/shared/bootstrap-phases.d.ts +3 -0
  51. package/dist/lib/external/mcp/handlers/bootstrap/shared/bootstrap-phases.js +27 -0
  52. package/dist/lib/external/mcp/handlers/bootstrap/skills.js +1 -1
  53. package/dist/lib/external/mcp/handlers/bootstrap-external.js +1 -0
  54. package/dist/lib/external/mcp/handlers/bootstrap-internal.js +2 -0
  55. package/dist/lib/external/mcp/handlers/consolidated.d.ts +116 -6
  56. package/dist/lib/external/mcp/handlers/consolidated.js +251 -71
  57. package/dist/lib/external/mcp/handlers/guard.d.ts +150 -0
  58. package/dist/lib/external/mcp/handlers/guard.js +245 -8
  59. package/dist/lib/external/mcp/handlers/knowledge.d.ts +0 -29
  60. package/dist/lib/external/mcp/handlers/knowledge.js +1 -76
  61. package/dist/lib/external/mcp/handlers/panorama.d.ts +36 -0
  62. package/dist/lib/external/mcp/handlers/panorama.js +156 -0
  63. package/dist/lib/external/mcp/handlers/system.d.ts +2 -54
  64. package/dist/lib/external/mcp/handlers/system.js +3 -113
  65. package/dist/lib/external/mcp/handlers/task.d.ts +13 -24
  66. package/dist/lib/external/mcp/handlers/task.js +217 -557
  67. package/dist/lib/external/mcp/handlers/types.d.ts +91 -8
  68. package/dist/lib/external/mcp/handlers/types.js +18 -1
  69. package/dist/lib/external/mcp/handlers/wiki-external.d.ts +18 -1
  70. package/dist/lib/external/mcp/handlers/wiki-external.js +16 -1
  71. package/dist/lib/external/mcp/tools.d.ts +14 -20
  72. package/dist/lib/external/mcp/tools.js +62 -91
  73. package/dist/lib/http/HttpServer.js +52 -6
  74. package/dist/lib/http/routes/{snippets.d.ts → audit.d.ts} +4 -2
  75. package/dist/lib/http/routes/audit.js +51 -0
  76. package/dist/lib/http/routes/commands.d.ts +1 -1
  77. package/dist/lib/http/routes/commands.js +1 -66
  78. package/dist/lib/http/routes/guardReport.d.ts +10 -0
  79. package/dist/lib/http/routes/guardReport.js +143 -0
  80. package/dist/lib/http/routes/knowledge.js +32 -1
  81. package/dist/lib/http/routes/panorama.d.ts +11 -0
  82. package/dist/lib/http/routes/panorama.js +322 -0
  83. package/dist/lib/http/routes/remote.js +0 -5
  84. package/dist/lib/http/routes/signals.d.ts +10 -0
  85. package/dist/lib/http/routes/signals.js +104 -0
  86. package/dist/lib/http/routes/task.d.ts +2 -3
  87. package/dist/lib/http/routes/task.js +17 -347
  88. package/dist/lib/http/routes/violations.js +1 -1
  89. package/dist/lib/infrastructure/audit/AuditLogger.d.ts +6 -1
  90. package/dist/lib/infrastructure/audit/AuditLogger.js +14 -1
  91. package/dist/lib/infrastructure/database/drizzle/schema.d.ts +181 -583
  92. package/dist/lib/infrastructure/database/drizzle/schema.js +28 -69
  93. package/dist/lib/infrastructure/database/migrations/004_evolution_proposals.d.ts +8 -0
  94. package/dist/lib/infrastructure/database/migrations/004_evolution_proposals.js +43 -0
  95. package/dist/lib/infrastructure/logging/Logger.d.ts +2 -0
  96. package/dist/lib/infrastructure/logging/Logger.js +34 -7
  97. package/dist/lib/infrastructure/monitoring/ErrorTracker.js +3 -1
  98. package/dist/lib/infrastructure/monitoring/PerformanceMonitor.d.ts +2 -2
  99. package/dist/lib/infrastructure/monitoring/PerformanceMonitor.js +12 -10
  100. package/dist/lib/infrastructure/notification/LarkNotifier.d.ts +24 -0
  101. package/dist/lib/infrastructure/notification/LarkNotifier.js +97 -0
  102. package/dist/lib/infrastructure/report/ReportStore.d.ts +45 -0
  103. package/dist/lib/infrastructure/report/ReportStore.js +133 -0
  104. package/dist/lib/infrastructure/signal/SignalAggregator.d.ts +18 -0
  105. package/dist/lib/infrastructure/signal/SignalAggregator.js +84 -0
  106. package/dist/lib/infrastructure/signal/SignalBridge.d.ts +13 -0
  107. package/dist/lib/infrastructure/signal/SignalBridge.js +20 -0
  108. package/dist/lib/infrastructure/signal/SignalBus.d.ts +63 -0
  109. package/dist/lib/infrastructure/signal/SignalBus.js +106 -0
  110. package/dist/lib/infrastructure/signal/SignalTraceWriter.d.ts +36 -0
  111. package/dist/lib/infrastructure/signal/SignalTraceWriter.js +130 -0
  112. package/dist/lib/injection/ServiceContainer.js +6 -0
  113. package/dist/lib/injection/ServiceMap.d.ts +16 -19
  114. package/dist/lib/injection/modules/AgentModule.d.ts +1 -1
  115. package/dist/lib/injection/modules/AgentModule.js +7 -1
  116. package/dist/lib/injection/modules/AppModule.d.ts +3 -4
  117. package/dist/lib/injection/modules/AppModule.js +7 -43
  118. package/dist/lib/injection/modules/GuardModule.js +27 -2
  119. package/dist/lib/injection/modules/InfraModule.d.ts +0 -1
  120. package/dist/lib/injection/modules/InfraModule.js +9 -7
  121. package/dist/lib/injection/modules/KnowledgeModule.js +51 -0
  122. package/dist/lib/injection/modules/PanoramaModule.d.ts +18 -0
  123. package/dist/lib/injection/modules/PanoramaModule.js +76 -0
  124. package/dist/lib/injection/modules/SignalModule.d.ts +10 -0
  125. package/dist/lib/injection/modules/SignalModule.js +84 -0
  126. package/dist/lib/repository/knowledge/KnowledgeRepository.impl.d.ts +1 -0
  127. package/dist/lib/repository/knowledge/KnowledgeRepository.impl.js +6 -0
  128. package/dist/lib/service/bootstrap/BootstrapTaskManager.d.ts +3 -1
  129. package/dist/lib/service/bootstrap/BootstrapTaskManager.js +20 -1
  130. package/dist/lib/service/delivery/AgentInstructionsGenerator.js +4 -5
  131. package/dist/lib/service/delivery/CursorDeliveryPipeline.d.ts +3 -1
  132. package/dist/lib/service/delivery/CursorDeliveryPipeline.js +13 -10
  133. package/dist/lib/service/delivery/RulesGenerator.js +3 -2
  134. package/dist/lib/service/evolution/ConsolidationAdvisor.d.ts +114 -0
  135. package/dist/lib/service/evolution/ConsolidationAdvisor.js +542 -0
  136. package/dist/lib/service/evolution/ContradictionDetector.d.ts +54 -0
  137. package/dist/lib/service/evolution/ContradictionDetector.js +253 -0
  138. package/dist/lib/service/evolution/DecayDetector.d.ts +71 -0
  139. package/dist/lib/service/evolution/DecayDetector.js +244 -0
  140. package/dist/lib/service/evolution/EnhancementSuggester.d.ts +38 -0
  141. package/dist/lib/service/evolution/EnhancementSuggester.js +220 -0
  142. package/dist/lib/service/evolution/KnowledgeMetabolism.d.ts +82 -0
  143. package/dist/lib/service/evolution/KnowledgeMetabolism.js +167 -0
  144. package/dist/lib/service/evolution/RedundancyAnalyzer.d.ts +53 -0
  145. package/dist/lib/service/evolution/RedundancyAnalyzer.js +210 -0
  146. package/dist/lib/service/evolution/StagingManager.d.ts +57 -0
  147. package/dist/lib/service/evolution/StagingManager.js +201 -0
  148. package/dist/lib/service/guard/ComplianceReporter.d.ts +42 -2
  149. package/dist/lib/service/guard/ComplianceReporter.js +43 -5
  150. package/dist/lib/service/guard/CoverageAnalyzer.d.ts +54 -0
  151. package/dist/lib/service/guard/CoverageAnalyzer.js +149 -0
  152. package/dist/lib/service/guard/GuardCheckEngine.d.ts +42 -0
  153. package/dist/lib/service/guard/GuardCheckEngine.js +465 -14
  154. package/dist/lib/service/guard/GuardFeedbackLoop.d.ts +3 -0
  155. package/dist/lib/service/guard/GuardFeedbackLoop.js +9 -0
  156. package/dist/lib/service/guard/ReverseGuard.d.ts +73 -0
  157. package/dist/lib/service/guard/ReverseGuard.js +256 -0
  158. package/dist/lib/service/guard/RuleLearner.d.ts +12 -0
  159. package/dist/lib/service/guard/RuleLearner.js +38 -0
  160. package/dist/lib/service/guard/UncertaintyCollector.d.ts +83 -0
  161. package/dist/lib/service/guard/UncertaintyCollector.js +149 -0
  162. package/dist/lib/service/guard/ViolationsStore.d.ts +1 -0
  163. package/dist/lib/service/guard/ViolationsStore.js +33 -3
  164. package/dist/lib/service/knowledge/ConfidenceRouter.d.ts +13 -0
  165. package/dist/lib/service/knowledge/ConfidenceRouter.js +14 -0
  166. package/dist/lib/service/knowledge/KnowledgeService.js +22 -4
  167. package/dist/lib/service/module/ModuleService.js +3 -13
  168. package/dist/lib/service/panorama/CouplingAnalyzer.d.ts +27 -0
  169. package/dist/lib/service/panorama/CouplingAnalyzer.js +192 -0
  170. package/dist/lib/service/panorama/DimensionAnalyzer.d.ts +28 -0
  171. package/dist/lib/service/panorama/DimensionAnalyzer.js +320 -0
  172. package/dist/lib/service/panorama/LayerInferrer.d.ts +19 -0
  173. package/dist/lib/service/panorama/LayerInferrer.js +182 -0
  174. package/dist/lib/service/panorama/ModuleDiscoverer.d.ts +24 -0
  175. package/dist/lib/service/panorama/ModuleDiscoverer.js +185 -0
  176. package/dist/lib/service/panorama/PanoramaAggregator.d.ts +29 -0
  177. package/dist/lib/service/panorama/PanoramaAggregator.js +228 -0
  178. package/dist/lib/service/panorama/PanoramaScanner.d.ts +52 -0
  179. package/dist/lib/service/panorama/PanoramaScanner.js +188 -0
  180. package/dist/lib/service/panorama/PanoramaService.d.ts +108 -0
  181. package/dist/lib/service/panorama/PanoramaService.js +220 -0
  182. package/dist/lib/service/panorama/PanoramaTypes.d.ts +134 -0
  183. package/dist/lib/service/panorama/PanoramaTypes.js +6 -0
  184. package/dist/lib/service/panorama/RoleRefiner.d.ts +48 -0
  185. package/dist/lib/service/panorama/RoleRefiner.js +535 -0
  186. package/dist/lib/service/search/MultiSignalRanker.d.ts +1 -0
  187. package/dist/lib/service/search/MultiSignalRanker.js +16 -0
  188. package/dist/lib/service/search/SearchEngine.d.ts +1 -0
  189. package/dist/lib/service/search/SearchEngine.js +9 -1
  190. package/dist/lib/service/search/SearchTypes.d.ts +2 -0
  191. package/dist/lib/service/signal/HitRecorder.d.ts +68 -0
  192. package/dist/lib/service/signal/HitRecorder.js +173 -0
  193. package/dist/lib/service/skills/SignalCollector.d.ts +3 -1
  194. package/dist/lib/service/skills/SignalCollector.js +31 -1
  195. package/dist/lib/service/task/IntentExtractor.d.ts +58 -0
  196. package/dist/lib/service/task/IntentExtractor.js +142 -0
  197. package/dist/lib/service/task/PrimeSearchPipeline.d.ts +54 -0
  198. package/dist/lib/service/task/PrimeSearchPipeline.js +98 -0
  199. package/dist/lib/shared/constants.d.ts +0 -15
  200. package/dist/lib/shared/constants.js +0 -10
  201. package/dist/lib/shared/schemas/mcp-tools.d.ts +41 -96
  202. package/dist/lib/shared/schemas/mcp-tools.js +59 -119
  203. package/dist/scripts/analyze-signals.d.ts +20 -0
  204. package/dist/scripts/analyze-signals.js +155 -0
  205. package/dist/scripts/diagnose-mcp.js +1 -1
  206. package/dist/scripts/release.js +2 -10
  207. package/package.json +4 -19
  208. package/skills/autosnippet-devdocs/SKILL.md +11 -8
  209. package/templates/claude-code/hooks/autosnippet-session.sh +10 -15
  210. package/templates/cursor-hooks/hooks/session-start.sh +1 -1
  211. package/templates/instructions/agent-static.md +2 -1
  212. package/templates/instructions/conventions.md +5 -6
  213. package/templates/recipes-setup/README.md +1 -2
  214. package/dashboard/dist/assets/icons-C1dUryS-.js +0 -1
  215. package/dashboard/dist/assets/index-D0whuycy.css +0 -1
  216. package/dashboard/dist/assets/index-DdvZE4Yd.js +0 -128
  217. package/dist/lib/domain/task/Task.d.ts +0 -140
  218. package/dist/lib/domain/task/Task.js +0 -254
  219. package/dist/lib/domain/task/TaskDependency.d.ts +0 -23
  220. package/dist/lib/domain/task/TaskDependency.js +0 -34
  221. package/dist/lib/domain/task/TaskIdGenerator.d.ts +0 -40
  222. package/dist/lib/domain/task/TaskIdGenerator.js +0 -75
  223. package/dist/lib/domain/task/index.d.ts +0 -4
  224. package/dist/lib/domain/task/index.js +0 -4
  225. package/dist/lib/http/routes/snippets.js +0 -49
  226. package/dist/lib/infrastructure/database/migrations/002_add_tasks.d.ts +0 -11
  227. package/dist/lib/infrastructure/database/migrations/002_add_tasks.js +0 -86
  228. package/dist/lib/platform/ClipboardManager.d.ts +0 -24
  229. package/dist/lib/platform/ClipboardManager.js +0 -142
  230. package/dist/lib/platform/NativeUi.d.ts +0 -53
  231. package/dist/lib/platform/NativeUi.js +0 -284
  232. package/dist/lib/platform/ios/index.d.ts +0 -38
  233. package/dist/lib/platform/ios/index.js +0 -42
  234. package/dist/lib/platform/ios/routes/spm.d.ts +0 -9
  235. package/dist/lib/platform/ios/routes/spm.js +0 -371
  236. package/dist/lib/platform/ios/snippet/PlaceholderConverter.d.ts +0 -21
  237. package/dist/lib/platform/ios/snippet/PlaceholderConverter.js +0 -48
  238. package/dist/lib/platform/ios/snippet/XcodeCodec.d.ts +0 -23
  239. package/dist/lib/platform/ios/snippet/XcodeCodec.js +0 -96
  240. package/dist/lib/platform/ios/spm/DependencyGraph.d.ts +0 -56
  241. package/dist/lib/platform/ios/spm/DependencyGraph.js +0 -195
  242. package/dist/lib/platform/ios/spm/PackageSwiftParser.d.ts +0 -69
  243. package/dist/lib/platform/ios/spm/PackageSwiftParser.js +0 -231
  244. package/dist/lib/platform/ios/spm/PathFinder.d.ts +0 -28
  245. package/dist/lib/platform/ios/spm/PathFinder.js +0 -117
  246. package/dist/lib/platform/ios/spm/PolicyEngine.d.ts +0 -44
  247. package/dist/lib/platform/ios/spm/PolicyEngine.js +0 -79
  248. package/dist/lib/platform/ios/spm/SpmHelper.d.ts +0 -102
  249. package/dist/lib/platform/ios/spm/SpmHelper.js +0 -464
  250. package/dist/lib/platform/ios/xcode/HeaderResolver.d.ts +0 -33
  251. package/dist/lib/platform/ios/xcode/HeaderResolver.js +0 -90
  252. package/dist/lib/platform/ios/xcode/SaveEventFilter.d.ts +0 -66
  253. package/dist/lib/platform/ios/xcode/SaveEventFilter.js +0 -142
  254. package/dist/lib/platform/ios/xcode/XcodeAutomation.d.ts +0 -71
  255. package/dist/lib/platform/ios/xcode/XcodeAutomation.js +0 -327
  256. package/dist/lib/platform/ios/xcode/XcodeImportResolver.d.ts +0 -130
  257. package/dist/lib/platform/ios/xcode/XcodeImportResolver.js +0 -404
  258. package/dist/lib/platform/ios/xcode/XcodeIntegration.d.ts +0 -89
  259. package/dist/lib/platform/ios/xcode/XcodeIntegration.js +0 -588
  260. package/dist/lib/platform/ios/xcode/XcodeWriteUtils.d.ts +0 -99
  261. package/dist/lib/platform/ios/xcode/XcodeWriteUtils.js +0 -190
  262. package/dist/lib/repository/task/TaskRepository.impl.d.ts +0 -171
  263. package/dist/lib/repository/task/TaskRepository.impl.js +0 -347
  264. package/dist/lib/service/automation/ActionPipeline.d.ts +0 -34
  265. package/dist/lib/service/automation/ActionPipeline.js +0 -53
  266. package/dist/lib/service/automation/AutomationOrchestrator.d.ts +0 -86
  267. package/dist/lib/service/automation/AutomationOrchestrator.js +0 -57
  268. package/dist/lib/service/automation/ContextCollector.d.ts +0 -24
  269. package/dist/lib/service/automation/ContextCollector.js +0 -35
  270. package/dist/lib/service/automation/DirectiveDetector.d.ts +0 -51
  271. package/dist/lib/service/automation/DirectiveDetector.js +0 -112
  272. package/dist/lib/service/automation/FileWatcher.d.ts +0 -51
  273. package/dist/lib/service/automation/FileWatcher.js +0 -366
  274. package/dist/lib/service/automation/TriggerResolver.d.ts +0 -36
  275. package/dist/lib/service/automation/TriggerResolver.js +0 -62
  276. package/dist/lib/service/automation/handlers/AlinkHandler.d.ts +0 -7
  277. package/dist/lib/service/automation/handlers/AlinkHandler.js +0 -80
  278. package/dist/lib/service/automation/handlers/CreateHandler.d.ts +0 -11
  279. package/dist/lib/service/automation/handlers/CreateHandler.js +0 -170
  280. package/dist/lib/service/automation/handlers/GuardHandler.d.ts +0 -17
  281. package/dist/lib/service/automation/handlers/GuardHandler.js +0 -218
  282. package/dist/lib/service/automation/handlers/HeaderHandler.d.ts +0 -2
  283. package/dist/lib/service/automation/handlers/HeaderHandler.js +0 -32
  284. package/dist/lib/service/automation/handlers/SearchHandler.d.ts +0 -11
  285. package/dist/lib/service/automation/handlers/SearchHandler.js +0 -278
  286. package/dist/lib/service/snippet/SnippetFactory.d.ts +0 -101
  287. package/dist/lib/service/snippet/SnippetFactory.js +0 -145
  288. package/dist/lib/service/snippet/SnippetInstaller.d.ts +0 -91
  289. package/dist/lib/service/snippet/SnippetInstaller.js +0 -276
  290. package/dist/lib/service/snippet/codecs/SnippetCodec.d.ts +0 -44
  291. package/dist/lib/service/snippet/codecs/SnippetCodec.js +0 -35
  292. package/dist/lib/service/snippet/codecs/VSCodeCodec.d.ts +0 -27
  293. package/dist/lib/service/snippet/codecs/VSCodeCodec.js +0 -82
  294. package/dist/lib/service/task/TaskGraphService.d.ts +0 -222
  295. package/dist/lib/service/task/TaskGraphService.js +0 -597
  296. package/dist/lib/service/task/TaskKnowledgeBridge.d.ts +0 -95
  297. package/dist/lib/service/task/TaskKnowledgeBridge.js +0 -298
  298. package/dist/lib/service/task/TaskReadyEngine.d.ts +0 -84
  299. package/dist/lib/service/task/TaskReadyEngine.js +0 -115
  300. package/dist/scripts/build-native-ui.d.ts +0 -3
  301. package/dist/scripts/build-native-ui.js +0 -62
  302. package/dist/scripts/init-snippets.d.ts +0 -30
  303. package/dist/scripts/init-snippets.js +0 -298
  304. package/dist/scripts/install-full.d.ts +0 -7
  305. package/dist/scripts/install-full.js +0 -38
  306. package/resources/native-ui/README.md +0 -29
  307. package/resources/native-ui/combined-window.swift +0 -494
  308. package/resources/native-ui/main.swift +0 -598
  309. package/scripts/postinstall-safe.mjs +0 -89
@@ -0,0 +1,149 @@
1
+ /**
2
+ * CoverageAnalyzer — Guard 覆盖率矩阵 + Panorama 协同
3
+ *
4
+ * 计算模块级 Rule 覆盖率,识别零覆盖和低覆盖模块。
5
+ * 与 PanoramaService 协同:利用模块划分 + gaps 数据做精准评估。
6
+ */
7
+ import Logger from '../../infrastructure/logging/Logger.js';
8
+ import { LanguageService } from '../../shared/LanguageService.js';
9
+ /* ────────────────────── 常量 ────────────────────── */
10
+ const LOW_COVERAGE_THRESHOLD = 50;
11
+ /* ────────────────────── Class ────────────────────── */
12
+ export class CoverageAnalyzer {
13
+ #db;
14
+ #ruleLearner;
15
+ #logger = Logger.getInstance();
16
+ constructor(db, options = {}) {
17
+ this.#db = db;
18
+ this.#ruleLearner = options.ruleLearner ?? null;
19
+ }
20
+ /**
21
+ * 计算覆盖率矩阵
22
+ * @param moduleFiles 模块名 → 文件路径列表的映射
23
+ */
24
+ analyze(moduleFiles) {
25
+ // 1. 加载所有 active rule recipes
26
+ const rules = this.#loadActiveRules();
27
+ // 2. 构建 rule → 文件路径映射 (从 guard_violations 历史推断)
28
+ const ruleFileMap = this.#buildRuleFileMap();
29
+ // 3. 加载规则健康数据
30
+ const allStats = this.#ruleLearner?.getAllStats() ?? {};
31
+ // 4. 对每个模块计算覆盖率
32
+ const modules = [];
33
+ for (const [moduleName, files] of moduleFiles) {
34
+ if (files.length === 0) {
35
+ modules.push({
36
+ module: moduleName,
37
+ ruleCount: 0,
38
+ fpRate: 0,
39
+ coverage: 0,
40
+ level: 'zero',
41
+ });
42
+ continue;
43
+ }
44
+ // 找出与该模块文件匹配的 rule
45
+ const fileSet = new Set(files);
46
+ const matchedRules = new Set();
47
+ // 方式 1: rule 的 guard_violations 历史曾命中该模块的文件
48
+ for (const [ruleId, rulePaths] of ruleFileMap) {
49
+ for (const rp of rulePaths) {
50
+ if (fileSet.has(rp)) {
51
+ matchedRules.add(ruleId);
52
+ break;
53
+ }
54
+ }
55
+ }
56
+ // 方式 2: rule 的 scope/language 与模块语言匹配 (基于文件扩展名推断)
57
+ const moduleLanguages = this.#inferLanguages(files);
58
+ for (const rule of rules) {
59
+ if (rule.languages.length === 0 || rule.languages.some((l) => moduleLanguages.has(l))) {
60
+ matchedRules.add(rule.id);
61
+ }
62
+ }
63
+ const ruleCount = matchedRules.size;
64
+ // 计算该模块关联规则的平均 FP 率
65
+ let fpRateSum = 0;
66
+ let fpRuleCount = 0;
67
+ for (const ruleId of matchedRules) {
68
+ const stat = allStats[ruleId];
69
+ if (stat?.triggers && stat.triggers > 0) {
70
+ const metrics = this.#ruleLearner?.getMetrics(ruleId);
71
+ if (metrics) {
72
+ fpRateSum += metrics.falsePositiveRate;
73
+ fpRuleCount++;
74
+ }
75
+ }
76
+ }
77
+ const fpRate = fpRuleCount > 0 ? Math.round((fpRateSum / fpRuleCount) * 100) : 0;
78
+ // 覆盖率 = 匹配到的规则数 / (模块文件数 × 权重因子)
79
+ // 简化公式: 每个文件理论上应有 ≥1 条规则覆盖
80
+ const coverage = Math.min(100, Math.round((ruleCount / Math.max(1, files.length)) * 100));
81
+ const level = coverage === 0 ? 'zero' : coverage < LOW_COVERAGE_THRESHOLD ? 'low' : 'good';
82
+ modules.push({ module: moduleName, ruleCount, fpRate, coverage, level });
83
+ }
84
+ // 5. 总体覆盖率
85
+ const totalModules = modules.length;
86
+ const overallCoverage = totalModules > 0
87
+ ? Math.round(modules.reduce((sum, m) => sum + m.coverage, 0) / totalModules)
88
+ : 0;
89
+ const zeroModules = modules.filter((m) => m.level === 'zero').map((m) => m.module);
90
+ const lowModules = modules.filter((m) => m.level === 'low').map((m) => m.module);
91
+ return { modules, overallCoverage, zeroModules, lowModules };
92
+ }
93
+ /* ── 内部 ── */
94
+ #loadActiveRules() {
95
+ try {
96
+ const rows = this.#db
97
+ .prepare(`SELECT id, language FROM knowledge_entries WHERE lifecycle = 'active' AND kind = 'rule'`)
98
+ .all();
99
+ return rows.map((r) => ({
100
+ id: r.id,
101
+ languages: r.language
102
+ ? r.language.split(',').map((l) => LanguageService.normalize(l.trim()))
103
+ : [],
104
+ }));
105
+ }
106
+ catch {
107
+ return [];
108
+ }
109
+ }
110
+ #buildRuleFileMap() {
111
+ const map = new Map();
112
+ try {
113
+ const rows = this.#db
114
+ .prepare(`SELECT file_path, violations_json FROM guard_violations ORDER BY created_at DESC LIMIT 200`)
115
+ .all();
116
+ for (const row of rows) {
117
+ try {
118
+ const violations = JSON.parse(row.violations_json || '[]');
119
+ const filePath = row.file_path;
120
+ for (const v of violations) {
121
+ if (!v.ruleId) {
122
+ continue;
123
+ }
124
+ const list = map.get(v.ruleId) || [];
125
+ list.push(filePath);
126
+ map.set(v.ruleId, list);
127
+ }
128
+ }
129
+ catch {
130
+ // invalid json
131
+ }
132
+ }
133
+ }
134
+ catch {
135
+ // table doesn't exist
136
+ }
137
+ return map;
138
+ }
139
+ #inferLanguages(files) {
140
+ const langs = new Set();
141
+ for (const f of files) {
142
+ const lang = LanguageService.inferLang(f);
143
+ if (lang !== 'unknown') {
144
+ langs.add(lang);
145
+ }
146
+ }
147
+ return langs;
148
+ }
149
+ }
@@ -6,6 +6,9 @@
6
6
  */
7
7
  import * as AstAnalyzerModule from '../../core/AstAnalyzer.js';
8
8
  import Logger from '../../infrastructure/logging/Logger.js';
9
+ import type { SignalBus } from '../../infrastructure/signal/SignalBus.js';
10
+ import type { GuardCapabilityReport, UncertainResult } from './UncertaintyCollector.js';
11
+ import { UncertaintyCollector } from './UncertaintyCollector.js';
9
12
  /** Minimal DB interface for Guard engine */
10
13
  interface DatabaseLike {
11
14
  prepare(sql: string): {
@@ -76,6 +79,7 @@ interface GuardConfig {
76
79
  interface GuardCheckEngineOptions {
77
80
  cacheTTL?: number;
78
81
  guardConfig?: GuardConfig;
82
+ signalBus?: SignalBus;
79
83
  }
80
84
  interface ExternalRuleInput {
81
85
  ruleId: string;
@@ -91,10 +95,12 @@ interface AuditFileResult {
91
95
  filePath: string;
92
96
  language: string;
93
97
  violations: GuardViolation[];
98
+ uncertainResults: UncertainResult[];
94
99
  summary: {
95
100
  total: number;
96
101
  errors: number;
97
102
  warnings: number;
103
+ uncertain: number;
98
104
  };
99
105
  }
100
106
  interface AuditFilesInput {
@@ -112,6 +118,11 @@ export declare class GuardCheckEngine {
112
118
  _epInjected: boolean;
113
119
  _externalRules: Map<string, GuardRule>;
114
120
  _guardConfig: GuardConfig;
121
+ _signalBus: SignalBus | null;
122
+ /** 上次 guard 信号指纹,用于去重(相同结果不重复发射) */
123
+ _lastGuardSignalKey: string;
124
+ _lastBlindSpotSignalKey: string;
125
+ _uncertaintyCollector: UncertaintyCollector;
115
126
  db: DatabaseLike;
116
127
  logger: ReturnType<typeof Logger.getInstance>;
117
128
  constructor(db: DatabaseLike | {
@@ -162,6 +173,33 @@ export declare class GuardCheckEngine {
162
173
  * @returns violations
163
174
  */
164
175
  _runAstRuleChecks(code: string, language: string): GuardViolation[];
176
+ /**
177
+ * AST Layer 2: analyzeFile() 深层检查
178
+ *
179
+ * 利用 AstAnalyzer.analyzeFile() 的完整输出产出 violations:
180
+ *
181
+ * --- 方法度量 ---
182
+ * - ast_class_bloat: 类方法数过多 (>20)
183
+ * - ast_method_complexity: 高圈复杂度 (>15)
184
+ * - ast_method_too_long: 方法行数过长 (>80)
185
+ * - ast_deep_nesting: 方法嵌套过深 (>5)
186
+ *
187
+ * --- 继承图检查 ---
188
+ * - ast_deep_inheritance: 继承链过深 (>4)
189
+ * - ast_wide_protocol_conformance: 单类遵守协议过多 (>5)
190
+ * - ast_missing_super: 子类未调用 super 的关键方法
191
+ *
192
+ * --- 属性规范 ---
193
+ * - ast_assign_object_property: ObjC assign 修饰对象类型属性
194
+ * - ast_missing_nonatomic: ObjC 属性缺少 nonatomic
195
+ * - ast_mutable_public_collection: 公开可变集合属性
196
+ *
197
+ * --- 设计模式/反模式检测 ---
198
+ * - ast_god_class: 方法+属性过多的上帝类 (>30 methods + >15 properties)
199
+ * - ast_singleton_abuse: 过多单例模式
200
+ * - ast_missing_weakify: block 内 self 捕获但未使用 weakify
201
+ */
202
+ _runAstLayer2Checks(code: string, language: string, filePath: string): GuardViolation[];
165
203
  /** 获取 AstAnalyzer 模块(静态 import,带可用性检测) */
166
204
  _getAstAnalyzer(): typeof AstAnalyzerModule;
167
205
  /**
@@ -198,9 +236,13 @@ export declare class GuardCheckEngine {
198
236
  filesChecked: number;
199
237
  totalViolations: number;
200
238
  totalErrors: number;
239
+ totalUncertain: number;
201
240
  filesWithViolations: number;
202
241
  };
242
+ capabilityReport: GuardCapabilityReport;
203
243
  };
244
+ /** 获取 uncertainty collector(供外部读取单文件 uncertain 状态) */
245
+ getUncertaintyCollector(): UncertaintyCollector;
204
246
  /** 清除规则缓存 */
205
247
  clearCache(): void;
206
248
  /** 获取内置规则列表 */