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
@@ -12,18 +12,99 @@ export interface McpServiceContainer {
12
12
  getServiceNames?(): string[];
13
13
  singletons?: Record<string, unknown>;
14
14
  }
15
+ /** A single decision recorded during an intent lifecycle */
16
+ export interface DecisionRecord {
17
+ id: string;
18
+ title: string;
19
+ description: string;
20
+ rationale?: string;
21
+ tags?: string[];
22
+ recordedAt: number;
23
+ }
24
+ /** A single tool call record within an intent */
25
+ export interface ToolCallRecord {
26
+ tool: string;
27
+ timestamp: number;
28
+ args_summary: string;
29
+ }
30
+ /** A drift event detected during an intent */
31
+ export interface DriftEvent {
32
+ timestamp: number;
33
+ trigger: string;
34
+ type: 'new_module' | 'new_class' | 'search_shift' | 'file_shift';
35
+ detail: string;
36
+ primeOverlap: number;
37
+ }
38
+ /** Intent lifecycle state machine — tracks user intent from prime to close/fail */
39
+ export interface IntentState {
40
+ phase: 'idle' | 'active' | 'ended';
41
+ primeQuery: string;
42
+ primeActiveFile?: string;
43
+ primeRecipeIds: string[];
44
+ primeAt: number;
45
+ primeLanguage: string | null;
46
+ primeModule: string | null;
47
+ primeScenario: string;
48
+ searchMeta?: {
49
+ queries: string[];
50
+ resultCount: number;
51
+ filteredCount: number;
52
+ };
53
+ taskId?: string;
54
+ taskTitle?: string;
55
+ toolCalls: ToolCallRecord[];
56
+ searchQueries: string[];
57
+ mentionedFiles: string[];
58
+ mentionedModules: Set<string>;
59
+ decisions: DecisionRecord[];
60
+ driftEvents: DriftEvent[];
61
+ }
62
+ /** Create a fresh idle IntentState */
63
+ export declare function createIdleIntent(): IntentState;
64
+ /** A complete intent chain record, written to JSONL on close/fail */
65
+ export interface IntentChainRecord {
66
+ sessionId: string;
67
+ taskId?: string;
68
+ outcome: 'completed' | 'failed' | 'abandoned';
69
+ primeQuery: string;
70
+ primeActiveFile?: string;
71
+ primeRecipeIds: string[];
72
+ primeAt: number;
73
+ primeLanguage: string | null;
74
+ primeModule: string | null;
75
+ primeScenario: string;
76
+ searchMeta?: {
77
+ queries: string[];
78
+ resultCount: number;
79
+ filteredCount: number;
80
+ };
81
+ toolCalls: ToolCallRecord[];
82
+ searchQueries: string[];
83
+ mentionedFiles: string[];
84
+ decisions: DecisionRecord[];
85
+ driftEvents: DriftEvent[];
86
+ driftScore: number;
87
+ closeReason?: string;
88
+ failReason?: string;
89
+ guardViolations?: number;
90
+ startedAt: number;
91
+ endedAt: number;
92
+ duration: number;
93
+ }
94
+ /** MCP session tracking */
95
+ export interface McpSession {
96
+ id: string;
97
+ startedAt: number;
98
+ toolCallCount: number;
99
+ toolsUsed: Set<string>;
100
+ lastActivityAt: number;
101
+ intent: IntentState;
102
+ }
15
103
  /** MCP handler context passed from McpServer / router layer */
16
104
  export interface McpContext {
17
105
  container: McpServiceContainer;
18
106
  startedAt?: number;
19
- session?: {
20
- id: string;
21
- readyCalled: boolean;
22
- toolCallCount: number;
23
- toolsUsed: Set<string>;
24
- startedAt: number;
25
- [key: string]: unknown;
26
- };
107
+ session?: McpSession;
27
108
  [key: string]: unknown;
28
109
  }
29
110
  /** Common search handler args */
@@ -208,6 +289,7 @@ export interface ConsolidatedGraphArgs {
208
289
  [key: string]: unknown;
209
290
  }
210
291
  export interface ConsolidatedGuardArgs {
292
+ operation?: 'check' | 'review' | 'reverse_audit' | 'coverage_matrix' | 'compliance_report';
211
293
  code?: string;
212
294
  files?: Array<string | {
213
295
  path?: string;
@@ -231,6 +313,7 @@ export interface SubmitKnowledgeArgs {
231
313
  dimensionId?: string;
232
314
  knowledgeType?: string;
233
315
  skipDuplicateCheck?: boolean;
316
+ skipConsolidation?: boolean;
234
317
  [key: string]: unknown;
235
318
  }
236
319
  export interface KnowledgeBaseStats {
@@ -2,4 +2,21 @@
2
2
  * Shared type definitions for MCP handler modules.
3
3
  * Runtime-free — only interfaces and type aliases.
4
4
  */
5
- export {};
5
+ /** Create a fresh idle IntentState */
6
+ export function createIdleIntent() {
7
+ return {
8
+ phase: 'idle',
9
+ primeQuery: '',
10
+ primeRecipeIds: [],
11
+ primeAt: 0,
12
+ primeLanguage: null,
13
+ primeModule: null,
14
+ primeScenario: 'search',
15
+ toolCalls: [],
16
+ searchQueries: [],
17
+ mentionedFiles: [],
18
+ mentionedModules: new Set(),
19
+ decisions: [],
20
+ driftEvents: [],
21
+ };
22
+ }
@@ -24,7 +24,24 @@ interface WikiFinalizeArgs {
24
24
  [key: string]: unknown;
25
25
  }
26
26
  /**
27
- * 规划 Wiki 文档生成 (autosnippet_wiki_plan)
27
+ * 统一 Wiki 路由入口 (autosnippet_wiki)
28
+ *
29
+ * @param args.operation 'plan' | 'finalize'
30
+ */
31
+ export declare function wikiRouter(ctx: McpContext, args: Record<string, unknown>): Promise<{
32
+ success: boolean;
33
+ errorCode: string | null;
34
+ message: string;
35
+ data: unknown;
36
+ meta: {
37
+ source?: string | undefined;
38
+ responseTimeMs?: number | undefined;
39
+ version: string;
40
+ tool?: string | undefined;
41
+ };
42
+ }>;
43
+ /**
44
+ * 规划 Wiki 文档生成 (autosnippet_wiki operation=plan)
28
45
  *
29
46
  * 复用 WikiGenerator 的数据收集和主题发现逻辑(Phase 1-5),
30
47
  * 但不撰写文章,只返回规划清单和每个主题的数据包。
@@ -32,10 +32,25 @@ function tryGet(container, name) {
32
32
  }
33
33
  }
34
34
  // ════════════════════════════════════════════════════════════
35
+ // wikiRouter — 统一入口 (autosnippet_wiki)
36
+ // ════════════════════════════════════════════════════════════
37
+ /**
38
+ * 统一 Wiki 路由入口 (autosnippet_wiki)
39
+ *
40
+ * @param args.operation 'plan' | 'finalize'
41
+ */
42
+ export async function wikiRouter(ctx, args) {
43
+ const op = args.operation;
44
+ if (op === 'finalize') {
45
+ return wikiFinalize(ctx, args);
46
+ }
47
+ return wikiPlan(ctx, args);
48
+ }
49
+ // ════════════════════════════════════════════════════════════
35
50
  // wikiPlan — 规划 Wiki 主题 + 数据包
36
51
  // ════════════════════════════════════════════════════════════
37
52
  /**
38
- * 规划 Wiki 文档生成 (autosnippet_wiki_plan)
53
+ * 规划 Wiki 文档生成 (autosnippet_wiki operation=plan)
39
54
  *
40
55
  * 复用 WikiGenerator 的数据收集和主题发现逻辑(Phase 1-5),
41
56
  * 但不撰写文章,只返回规划清单和每个主题的数据包。
@@ -1,20 +1,20 @@
1
1
  /**
2
- * MCP 工具定义 — V3 整合版 (18 agent + 4 admin = 22 工具)
2
+ * MCP 工具定义 — V3 整合版 (14 agent + 2 admin = 16 工具)
3
3
  *
4
4
  * 每个工具声明包含 name、tier(agent/admin)、description 和 inputSchema。
5
5
  * description 是 Agent 选择工具的关键 — 使用 bullet list 列出所有 operation 及其用途。
6
6
  * inputSchema 由 Zod Schema 自动生成(zodToMcpSchema),参数的 .describe() 会转为 JSON Schema description。
7
7
  *
8
- * Agent 工具 (18):
8
+ * Agent 工具 (14):
9
9
  * 1-7: 查询工具 (health/search/knowledge/structure/graph/call_context/guard)
10
- * 8-10: 写入工具 (submit_knowledge/submit_knowledge_batch/save_document)
11
- * 11: Skill 管理 (skill)
12
- * 12-15: 冷启动 (bootstrap/dimension_complete/wiki_plan/wiki_finalize)
13
- * 16: 自发现 (capabilities)
14
- * 17: 任务管理 (task)
10
+ * 8: 写入工具 (submit_knowledge — unified pipeline,单条/批量统一处理)
11
+ * 9: Skill 管理 (skill)
12
+ * 10-12: 冷启动 (bootstrap/dimension_complete/wiki)
13
+ * 13: 项目全景 (panorama)
14
+ * 14: 任务管理 (task — 5 ops: prime/create/close/fail/record_decision)
15
15
  *
16
- * Admin 工具 (4):
17
- * 18-21: enrich_candidates/knowledge_lifecycle/validate_candidate/check_duplicate
16
+ * Admin 工具 (2):
17
+ * 15-16: enrich_candidates/knowledge_lifecycle
18
18
  */
19
19
  export declare const TIER_ORDER: {
20
20
  agent: number;
@@ -25,9 +25,11 @@ export declare const TOOL_GATEWAY_MAP: {
25
25
  action: string;
26
26
  resource: string;
27
27
  };
28
- autosnippet_wiki_finalize: {
29
- action: string;
30
- resource: string;
28
+ autosnippet_wiki: {
29
+ resolver: (args: Record<string, unknown>) => {
30
+ action: string;
31
+ resource: string;
32
+ } | null;
31
33
  };
32
34
  autosnippet_guard: {
33
35
  resolver: (args: Record<string, unknown>) => {
@@ -45,14 +47,6 @@ export declare const TOOL_GATEWAY_MAP: {
45
47
  action: string;
46
48
  resource: string;
47
49
  };
48
- autosnippet_submit_knowledge_batch: {
49
- action: string;
50
- resource: string;
51
- };
52
- autosnippet_save_document: {
53
- action: string;
54
- resource: string;
55
- };
56
50
  autosnippet_task: {
57
51
  resolver: (args: Record<string, unknown>) => {
58
52
  action: string;
@@ -1,22 +1,22 @@
1
1
  /**
2
- * MCP 工具定义 — V3 整合版 (18 agent + 4 admin = 22 工具)
2
+ * MCP 工具定义 — V3 整合版 (14 agent + 2 admin = 16 工具)
3
3
  *
4
4
  * 每个工具声明包含 name、tier(agent/admin)、description 和 inputSchema。
5
5
  * description 是 Agent 选择工具的关键 — 使用 bullet list 列出所有 operation 及其用途。
6
6
  * inputSchema 由 Zod Schema 自动生成(zodToMcpSchema),参数的 .describe() 会转为 JSON Schema description。
7
7
  *
8
- * Agent 工具 (18):
8
+ * Agent 工具 (14):
9
9
  * 1-7: 查询工具 (health/search/knowledge/structure/graph/call_context/guard)
10
- * 8-10: 写入工具 (submit_knowledge/submit_knowledge_batch/save_document)
11
- * 11: Skill 管理 (skill)
12
- * 12-15: 冷启动 (bootstrap/dimension_complete/wiki_plan/wiki_finalize)
13
- * 16: 自发现 (capabilities)
14
- * 17: 任务管理 (task)
10
+ * 8: 写入工具 (submit_knowledge — unified pipeline,单条/批量统一处理)
11
+ * 9: Skill 管理 (skill)
12
+ * 10-12: 冷启动 (bootstrap/dimension_complete/wiki)
13
+ * 13: 项目全景 (panorama)
14
+ * 14: 任务管理 (task — 5 ops: prime/create/close/fail/record_decision)
15
15
  *
16
- * Admin 工具 (4):
17
- * 18-21: enrich_candidates/knowledge_lifecycle/validate_candidate/check_duplicate
16
+ * Admin 工具 (2):
17
+ * 15-16: enrich_candidates/knowledge_lifecycle
18
18
  */
19
- import { BootstrapInput, CallContextInput, CapabilitiesInput, CheckDuplicateInput, DimensionCompleteInput, EnrichCandidatesInput, GraphInput, GuardInput, HealthInput, KnowledgeInput, KnowledgeLifecycleInput, SaveDocumentInput, SearchInput, SkillInput, StructureInput, SubmitKnowledgeBatchInput, SubmitKnowledgeInput, TaskInput, ValidateCandidateInput, WikiFinalizeInput, WikiPlanInput, } from '#shared/schemas/mcp-tools.js';
19
+ import { BootstrapInput, CallContextInput, DimensionCompleteInput, EnrichCandidatesInput, GraphInput, GuardInput, HealthInput, KnowledgeInput, KnowledgeLifecycleInput, PanoramaInput, SearchInput, SkillInput, StructureInput, SubmitKnowledgeInput, TaskInput, WikiInput, } from '#shared/schemas/mcp-tools.js';
20
20
  import { zodToMcpSchema } from './zodToMcpSchema.js';
21
21
  // ─── Tier 定义 ──────────────────────────────────────────────
22
22
  export const TIER_ORDER = { agent: 0, admin: 1 };
@@ -26,8 +26,10 @@ export const TOOL_GATEWAY_MAP = {
26
26
  // autosnippet_bootstrap: null,
27
27
  // dimension_complete — 写操作(recipe tagging + skill creation + checkpoint)
28
28
  autosnippet_dimension_complete: { action: 'knowledge:bootstrap', resource: 'knowledge' },
29
- // wiki_finalize写操作(meta.json)
30
- autosnippet_wiki_finalize: { action: 'knowledge:create', resource: 'knowledge' },
29
+ // wikifinalize 操作是写操作(meta.json)
30
+ autosnippet_wiki: {
31
+ resolver: (args) => args?.operation === 'finalize' ? { action: 'knowledge:create', resource: 'knowledge' } : null, // plan 只读
32
+ },
31
33
  // guard 写操作(仅 files 模式)
32
34
  autosnippet_guard: {
33
35
  resolver: (args) => args?.files && Array.isArray(args.files)
@@ -42,25 +44,16 @@ export const TOOL_GATEWAY_MAP = {
42
44
  delete: { action: 'delete:skills', resource: 'skills' },
43
45
  })[args?.operation] || null, // list/load/suggest 只读
44
46
  },
45
- // 知识提交
47
+ // 知识提交(unified pipeline)
46
48
  autosnippet_submit_knowledge: { action: 'knowledge:create', resource: 'knowledge' },
47
- autosnippet_submit_knowledge_batch: { action: 'knowledge:create', resource: 'knowledge' },
48
- autosnippet_save_document: { action: 'knowledge:create', resource: 'knowledge' },
49
- // task 写操作(create/claim/close/fail/defer/decompose/dep_add + decision 写操作)
49
+ // task 写操作(create/close/fail + record_decision)
50
50
  autosnippet_task: {
51
51
  resolver: (args) => ({
52
- create: { action: 'task:create', resource: 'tasks' },
53
- claim: { action: 'task:update', resource: 'tasks' },
54
- close: { action: 'task:update', resource: 'tasks' },
55
- fail: { action: 'task:update', resource: 'tasks' },
56
- defer: { action: 'task:update', resource: 'tasks' },
57
- progress: { action: 'task:update', resource: 'tasks' },
58
- decompose: { action: 'task:create', resource: 'tasks' },
59
- dep_add: { action: 'task:update', resource: 'tasks' },
60
- record_decision: { action: 'task:create', resource: 'tasks' },
61
- revise_decision: { action: 'task:update', resource: 'tasks' },
62
- unpin_decision: { action: 'task:update', resource: 'tasks' },
63
- })[args?.operation] || null, // prime/ready/show/list/blocked/dep_tree/stats/list_decisions 只读
52
+ create: { action: 'task:create', resource: 'intent' },
53
+ close: { action: 'task:update', resource: 'intent' },
54
+ fail: { action: 'task:update', resource: 'intent' },
55
+ record_decision: { action: 'task:create', resource: 'intent' },
56
+ })[args?.operation] || null, // prime 只读
64
57
  },
65
58
  // admin 工具
66
59
  autosnippet_enrich_candidates: { action: 'knowledge:update', resource: 'knowledge' },
@@ -69,7 +62,7 @@ export const TOOL_GATEWAY_MAP = {
69
62
  // ─── 工具声明 ────────────────────────────────────────────────
70
63
  export const TOOLS = [
71
64
  // ══════════════════════════════════════════════════════
72
- // Tier: agent — Agent 核心工具集 (18 个)
65
+ // Tier: agent — Agent 核心工具集 (14 个)
73
66
  // ══════════════════════════════════════════════════════
74
67
  // 1. 健康检查
75
68
  {
@@ -138,39 +131,27 @@ export const TOOLS = [
138
131
  {
139
132
  name: 'autosnippet_guard',
140
133
  tier: 'agent',
141
- description: '代码规范检查。\n' +
134
+ description: '代码规范检查与 Guard 免疫系统。\n' +
142
135
  '• 无参数 → 自动检查 git diff 增量文件(编码后首选用法)\n' +
143
136
  '• files → 检查指定文件列表\n' +
144
137
  '• code → 内联检查代码片段\n' +
138
+ '• operation: "reverse_audit" → Recipe→Code 反向验证(检查知识是否过时)\n' +
139
+ '• operation: "coverage_matrix" → 模块级 Guard 规则覆盖率矩阵\n' +
145
140
  '每个 violation 附带修复指南(doClause + coreCode),按指示修复后可再次检查。',
146
141
  inputSchema: zodToMcpSchema(GuardInput),
147
142
  },
148
- // 8. 提交单条知识
143
+ // 8. 提交知识(统一管线)
149
144
  {
150
145
  name: 'autosnippet_submit_knowledge',
151
146
  tier: 'agent',
152
- description: '提交单条知识。所有字段须一次性提供。提交后进入 pending 状态,用户在 Dashboard 审核。\n' +
153
- '校验未通过的条目仍会入库,返回 recipeReadyHints 提示缺失字段。\n' +
154
- 'content reasoning 必须是对象(非字符串)。详见各参数 description。',
147
+ description: '提交知识条目(单条/批量统一管线)。通过 items 数组传入 1~N 条。\n' +
148
+ ' 所有条目统一严格校验,所有 V3 字段须一次性提供\n' +
149
+ ' 统一融合分析:检测与已有 Recipe 和批次内候选的重叠\n' +
150
+ '• 返回 CONSOLIDATION_MERGE / CONSOLIDATION_REORGANIZE / CONSOLIDATION_INSUFFICIENT 时需处理\n' +
151
+ '• 设 skipConsolidation: true 跳过融合检查。content 和 reasoning 必须是对象。',
155
152
  inputSchema: zodToMcpSchema(SubmitKnowledgeInput),
156
153
  },
157
- // 9. 批量知识提交
158
- {
159
- name: 'autosnippet_submit_knowledge_batch',
160
- tier: 'agent',
161
- description: '批量提交知识条目。每条字段要求同 submit_knowledge,支持自动去重。\n' +
162
- '校验更严格:不通过的条目会被拒绝(不入库),返回 rejectedSummary。\n' +
163
- '适用于冷启动维度分析、模块批量扫描等场景。',
164
- inputSchema: zodToMcpSchema(SubmitKnowledgeBatchInput),
165
- },
166
- // 10. 保存开发文档
167
- {
168
- name: 'autosnippet_save_document',
169
- tier: 'agent',
170
- description: '保存开发文档(设计文档、排查报告、ADR 等)到知识库。仅需 title + markdown,无需完整 V3 字段。',
171
- inputSchema: zodToMcpSchema(SaveDocumentInput),
172
- },
173
- // 11. Skill 管理
154
+ // 9. Skill 管理
174
155
  {
175
156
  name: 'autosnippet_skill',
176
157
  tier: 'agent',
@@ -183,7 +164,7 @@ export const TOOLS = [
183
164
  '• suggest — 基于项目分析推荐应创建的 Skill',
184
165
  inputSchema: zodToMcpSchema(SkillInput),
185
166
  },
186
- // 12. 冷启动
167
+ // 10. 冷启动
187
168
  {
188
169
  name: 'autosnippet_bootstrap',
189
170
  tier: 'agent',
@@ -194,7 +175,7 @@ export const TOOLS = [
194
175
  '收到 Briefing 后按 executionPlan 完成所有维度分析。',
195
176
  inputSchema: zodToMcpSchema(BootstrapInput),
196
177
  },
197
- // 13. 维度完成通知
178
+ // 11. 维度完成通知
198
179
  {
199
180
  name: 'autosnippet_dimension_complete',
200
181
  tier: 'agent',
@@ -202,67 +183,57 @@ export const TOOLS = [
202
183
  'analysisText 可简写,系统会自动从已提交的候选知识中合成详细内容用于 Skill 生成。',
203
184
  inputSchema: zodToMcpSchema(DimensionCompleteInput),
204
185
  },
205
- // 14. Wiki 规划
206
- {
207
- name: 'autosnippet_wiki_plan',
208
- tier: 'agent',
209
- description: '规划 Wiki 文档生成 — 整合项目结构与知识库,返回文档主题列表及每个主题的数据包。Agent 根据规划自行撰写文章。',
210
- inputSchema: zodToMcpSchema(WikiPlanInput),
211
- },
212
- // 15. Wiki 完成
186
+ // 12. Wiki 文档生成
213
187
  {
214
- name: 'autosnippet_wiki_finalize',
188
+ name: 'autosnippet_wiki',
215
189
  tier: 'agent',
216
- description: '完成 Wiki 生成 — 写入 meta.json、去重检查、验证完整性。所有文章写入后调用。',
217
- inputSchema: zodToMcpSchema(WikiFinalizeInput),
190
+ description: 'Wiki 文档生成。\n' +
191
+ '• plan — 规划主题 + 数据包(整合项目结构与知识库,返回主题列表 + 每个主题的数据包,Agent 据此撰写)\n' +
192
+ '• finalize — 完成生成(写入 meta.json、去重检查、验证完整性,所有文章写入后调用)',
193
+ inputSchema: zodToMcpSchema(WikiInput),
218
194
  },
219
- // 16. 能力自发现
195
+ // 13. 项目全景
220
196
  {
221
- name: 'autosnippet_capabilities',
197
+ name: 'autosnippet_panorama',
222
198
  tier: 'agent',
223
- description: '列出所有可用 MCP 工具及其用途概览。适合 Agent 初次接触时了解服务能力。',
224
- inputSchema: zodToMcpSchema(CapabilitiesInput),
199
+ description: '项目全景查询。无数据时自动触发结构扫描,无需手动冷启动。\n' +
200
+ '• overview(默认)— 项目骨架 + 架构层级 + 模块角色 + 知识覆盖率\n' +
201
+ '• module — 单模块详情 + 邻居关系(需 module 参数)\n' +
202
+ '• gaps — 知识空白区(有代码无 Recipe 的模块)\n' +
203
+ '• health — 全景健康度(覆盖率 + 耦合度 + 循环依赖 + 健康评分)\n' +
204
+ '• governance_cycle — 知识新陈代谢完整周期(矛盾检测 + 冗余分析 + 衰退评估)\n' +
205
+ '• decay_report — 衰退评估报告(5 策略检测 + decayScore 评分)\n' +
206
+ '• staging_check — staging 条目检查 + 到期自动发布\n' +
207
+ '• enhancement_suggestions — 基于使用数据的 Recipe 增强建议',
208
+ inputSchema: zodToMcpSchema(PanoramaInput),
225
209
  },
226
- // 17. 任务与决策管理
210
+ // 14. 任务与决策管理
227
211
  {
228
212
  name: 'autosnippet_task',
229
213
  tier: 'agent',
230
- description: '任务与决策管理。每次对话开始时先调用 prime 加载上下文。\n' +
231
- '会话: prime(加载决策+任务+知识上下文)| ready(就绪确认)\n' +
232
- '任务: create | claim | close | fail | defer | progress | show | list | stats | blocked\n' +
233
- '分解: decompose(拆子任务)| dep_add(添加依赖)| dep_tree(依赖树)\n' +
234
- '决策: record_decision | revise_decision | unpin_decision | list_decisions',
214
+ description: '任务与决策管理(5 operations)。每次对话开始时先调用 prime 加载知识上下文。\n' +
215
+ ' prime — 加载知识上下文 + 初始化意图生命周期\n' +
216
+ ' create 创建任务锚点(≥2 files ≥10 lines 的非轻量工作)\n' +
217
+ ' close 完成任务 + 触发 Guard 合规审查\n' +
218
+ ' fail 放弃任务\n' +
219
+ '• record_decision — 记录用户偏好决策',
235
220
  inputSchema: zodToMcpSchema(TaskInput),
236
221
  },
237
222
  // ══════════════════════════════════════════════════════
238
- // Tier: admin — 管理员/CI 工具 (额外 +4)
223
+ // Tier: admin — 管理员/CI 工具 (+2)
239
224
  // ══════════════════════════════════════════════════════
240
- // 18. 候选字段诊断
225
+ // 15. 候选字段诊断
241
226
  {
242
227
  name: 'autosnippet_enrich_candidates',
243
228
  tier: 'admin',
244
229
  description: '诊断候选条目的字段完整性(无 AI)。返回每条候选的 missingFields 列表,Agent 据此补全后重新提交。',
245
230
  inputSchema: zodToMcpSchema(EnrichCandidatesInput),
246
231
  },
247
- // 19. 知识生命周期
232
+ // 16. 知识生命周期
248
233
  {
249
234
  name: 'autosnippet_knowledge_lifecycle',
250
235
  tier: 'admin',
251
236
  description: '知识条目生命周期操作。approve/fast_track → 发布知识;reject → 拒绝;deprecate → 废弃;reactivate → 恢复。',
252
237
  inputSchema: zodToMcpSchema(KnowledgeLifecycleInput),
253
238
  },
254
- // 20. 候选预校验(调试)
255
- {
256
- name: 'autosnippet_validate_candidate',
257
- tier: 'admin',
258
- description: '独立候选校验(5 层结构化检查)。调试用,submit_knowledge 已内置校验。',
259
- inputSchema: zodToMcpSchema(ValidateCandidateInput),
260
- },
261
- // 21. 去重检测(调试)
262
- {
263
- name: 'autosnippet_check_duplicate',
264
- tier: 'admin',
265
- description: '独立相似度检测。调试用,submit_knowledge 已内置去重。',
266
- inputSchema: zodToMcpSchema(CheckDuplicateInput),
267
- },
268
239
  ];
@@ -15,28 +15,30 @@ import { initErrorTracker } from '../infrastructure/monitoring/ErrorTracker.js';
15
15
  import { initPerformanceMonitor } from '../infrastructure/monitoring/PerformanceMonitor.js';
16
16
  import { initRealtimeService } from '../infrastructure/realtime/RealtimeService.js';
17
17
  import { getServiceContainer } from '../injection/ServiceContainer.js';
18
- import spmRouter from '../platform/ios/routes/spm.js';
19
18
  import apiSpec from './api-spec.js';
20
19
  import { errorHandler } from './middleware/errorHandler.js';
21
20
  import { gatewayMiddleware } from './middleware/gatewayMiddleware.js';
22
21
  import { requestLogger } from './middleware/requestLogger.js';
23
22
  import { roleResolverMiddleware } from './middleware/roleResolver.js';
24
23
  import aiRouter from './routes/ai.js';
24
+ import auditRouter from './routes/audit.js';
25
25
  import authRouter from './routes/auth.js';
26
26
  import candidatesRouter from './routes/candidates.js';
27
27
  import commandsRouter from './routes/commands.js';
28
28
  import extractRouter from './routes/extract.js';
29
29
  import guardRouter from './routes/guard.js';
30
+ import guardReportRouter from './routes/guardReport.js';
30
31
  import guardRuleRouter from './routes/guardRules.js';
31
32
  import healthRouter from './routes/health.js';
32
33
  import knowledgeRouter from './routes/knowledge.js';
33
34
  import modulesRouter from './routes/modules.js';
34
35
  import monitoringRouter from './routes/monitoring.js';
36
+ import panoramaRouter from './routes/panorama.js';
35
37
  import recipesRouter from './routes/recipes.js';
36
38
  import remoteRouter from './routes/remote.js';
37
39
  import searchRouter from './routes/search.js';
40
+ import signalsRouter from './routes/signals.js';
38
41
  import skillsRouter from './routes/skills.js';
39
- import snippetRouter from './routes/snippets.js';
40
42
  import taskRouter from './routes/task.js';
41
43
  import violationsRouter from './routes/violations.js';
42
44
  import wikiRouter from './routes/wiki.js';
@@ -225,14 +227,14 @@ export class HttpServer {
225
227
  }
226
228
  // Guard 实时检查路由(Extension DiagnosticCollection 调用)
227
229
  this.app.use(`${apiPrefix}/guard`, guardRouter);
230
+ // Guard 合规报告路由
231
+ this.app.use(`${apiPrefix}/guard/report`, guardReportRouter);
228
232
  // 守护规则路由
229
233
  this.app.use(`${apiPrefix}/rules`, guardRuleRouter);
230
234
  // TaskGraph 路由(Extension taskTool.ts 转发调用)
231
235
  this.app.use(`${apiPrefix}/task`, taskRouter);
232
236
  // 搜索路由
233
237
  this.app.use(`${apiPrefix}/search`, searchRouter);
234
- // Snippet 路由
235
- this.app.use(`${apiPrefix}/snippets`, snippetRouter);
236
238
  // AI 路由
237
239
  this.app.use(`${apiPrefix}/ai`, aiRouter);
238
240
  // 提取路由
@@ -243,8 +245,6 @@ export class HttpServer {
243
245
  this.app.use(`${apiPrefix}/skills`, skillsRouter);
244
246
  // Candidates 路由(AI 补齐/润色)
245
247
  this.app.use(`${apiPrefix}/candidates`, candidatesRouter);
246
- // SPM 路由(向后兼容保留)
247
- this.app.use(`${apiPrefix}/spm`, spmRouter);
248
248
  // Modules 路由(v3.2 统一多语言模块扫描)
249
249
  this.app.use(`${apiPrefix}/modules`, modulesRouter);
250
250
  // 违规记录路由
@@ -257,6 +257,12 @@ export class HttpServer {
257
257
  this.app.use(`${apiPrefix}/wiki`, wikiRouter);
258
258
  // Remote 路由(飞书 Bot → IDE 远程指令桥接)
259
259
  this.app.use(`${apiPrefix}/remote`, remoteRouter);
260
+ // Panorama 全景路由(项目结构 + 覆盖率 + 健康度)
261
+ this.app.use(`${apiPrefix}/panorama`, panoramaRouter);
262
+ // 信号留痕 & 报告路由
263
+ this.app.use(`${apiPrefix}/signals`, signalsRouter);
264
+ // 审计日志路由
265
+ this.app.use(`${apiPrefix}/audit`, auditRouter);
260
266
  // 根路径 — 返回 API 元信息(避免外部探测产生无意义 404)
261
267
  this.app.all('/', (_req, res) => {
262
268
  res.json({
@@ -303,6 +309,46 @@ export class HttpServer {
303
309
  try {
304
310
  this.realtimeService = initRealtimeService(this.server);
305
311
  this.logger.info('Realtime service initialized');
312
+ // 桥接 EventBus / SignalBus → RealtimeService
313
+ try {
314
+ const container = getServiceContainer();
315
+ const rs = this.realtimeService;
316
+ if (typeof rs?.broadcastEvent !== 'function') {
317
+ throw new Error('broadcastEvent not available');
318
+ }
319
+ // EventBus → lifecycle:transition
320
+ const eventBus = container.services.eventBus ? container.get('eventBus') : null;
321
+ if (eventBus) {
322
+ eventBus.on('lifecycle:transition', (data) => {
323
+ rs.broadcastEvent('lifecycle:transition', data);
324
+ });
325
+ }
326
+ // SignalBridge 已将信号转发到 EventBus,HttpServer 只听 EventBus
327
+ if (eventBus) {
328
+ eventBus.on('signal:event', (signal) => {
329
+ rs.broadcastEvent('signal:event', signal);
330
+ });
331
+ eventBus.on('guard:updated', (signal) => {
332
+ rs.broadcastEvent('guard:updated', signal);
333
+ });
334
+ }
335
+ // 确保 SignalBridge 已初始化(触发 lazy singleton)
336
+ try {
337
+ container.get('signalBridge');
338
+ }
339
+ catch {
340
+ // SignalBridge 未注册时静默跳过
341
+ }
342
+ // EventBus → audit:entry
343
+ if (eventBus) {
344
+ eventBus.on('audit:entry', (data) => {
345
+ rs.broadcastEvent('audit:entry', data);
346
+ });
347
+ }
348
+ }
349
+ catch {
350
+ // EventBus/SignalBus 不可用时静默跳过
351
+ }
306
352
  }
307
353
  catch (error) {
308
354
  this.logger.warn('Failed to initialize realtime service', {
@@ -1,6 +1,8 @@
1
1
  /**
2
- * Snippets API 路由
3
- * Snippet = Recipe 的附属产物,从 Recipe 实时生成,不存 DB
2
+ * Audit Log API 路由
3
+ *
4
+ * 端点:
5
+ * GET /api/v1/audit — 查询审计日志
4
6
  */
5
7
  declare const router: import("express-serve-static-core").Router;
6
8
  export default router;