autosnippet 3.2.13 → 3.2.15

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 (285) hide show
  1. package/config/constitution.yaml +19 -0
  2. package/config/default.json +6 -1
  3. package/dist/bin/cli.d.ts +2 -1
  4. package/dist/bin/cli.d.ts.map +1 -1
  5. package/dist/bin/cli.js +231 -22
  6. package/dist/bin/cli.js.map +1 -1
  7. package/dist/lib/cli/SetupService.d.ts +70 -6
  8. package/dist/lib/cli/SetupService.d.ts.map +1 -1
  9. package/dist/lib/cli/SetupService.js +238 -50
  10. package/dist/lib/cli/SetupService.js.map +1 -1
  11. package/dist/lib/cli/UpgradeService.d.ts.map +1 -1
  12. package/dist/lib/cli/UpgradeService.js +3 -2
  13. package/dist/lib/cli/UpgradeService.js.map +1 -1
  14. package/dist/lib/cli/deploy/FileDeployer.d.ts.map +1 -1
  15. package/dist/lib/cli/deploy/FileDeployer.js +6 -4
  16. package/dist/lib/cli/deploy/FileDeployer.js.map +1 -1
  17. package/dist/lib/cli/deploy/FileManifest.d.ts.map +1 -1
  18. package/dist/lib/cli/deploy/FileManifest.js +3 -2
  19. package/dist/lib/cli/deploy/FileManifest.js.map +1 -1
  20. package/dist/lib/core/capability/CapabilityProbe.d.ts +13 -0
  21. package/dist/lib/core/capability/CapabilityProbe.d.ts.map +1 -1
  22. package/dist/lib/core/capability/CapabilityProbe.js +36 -17
  23. package/dist/lib/core/capability/CapabilityProbe.js.map +1 -1
  24. package/dist/lib/external/mcp/McpServer.d.ts +13 -0
  25. package/dist/lib/external/mcp/McpServer.d.ts.map +1 -1
  26. package/dist/lib/external/mcp/McpServer.js +44 -3
  27. package/dist/lib/external/mcp/McpServer.js.map +1 -1
  28. package/dist/lib/external/mcp/handlers/bootstrap/pipeline/orchestrator.d.ts.map +1 -1
  29. package/dist/lib/external/mcp/handlers/bootstrap/pipeline/orchestrator.js +16 -1
  30. package/dist/lib/external/mcp/handlers/bootstrap/pipeline/orchestrator.js.map +1 -1
  31. package/dist/lib/external/mcp/handlers/bootstrap-external.js.map +1 -1
  32. package/dist/lib/external/mcp/handlers/consolidated.d.ts +22 -24
  33. package/dist/lib/external/mcp/handlers/consolidated.d.ts.map +1 -1
  34. package/dist/lib/external/mcp/handlers/dimension-complete-external.js.map +1 -1
  35. package/dist/lib/external/mcp/handlers/search.d.ts +115 -39
  36. package/dist/lib/external/mcp/handlers/search.d.ts.map +1 -1
  37. package/dist/lib/external/mcp/handlers/search.js +107 -190
  38. package/dist/lib/external/mcp/handlers/search.js.map +1 -1
  39. package/dist/lib/external/mcp/handlers/task.d.ts +3 -0
  40. package/dist/lib/external/mcp/handlers/task.d.ts.map +1 -1
  41. package/dist/lib/external/mcp/handlers/task.js +10 -1
  42. package/dist/lib/external/mcp/handlers/task.js.map +1 -1
  43. package/dist/lib/external/mcp/handlers/wiki-external.d.ts.map +1 -1
  44. package/dist/lib/external/mcp/handlers/wiki-external.js +4 -3
  45. package/dist/lib/external/mcp/handlers/wiki-external.js.map +1 -1
  46. package/dist/lib/http/HttpServer.js +2 -2
  47. package/dist/lib/http/HttpServer.js.map +1 -1
  48. package/dist/lib/http/middleware/gatewayMiddleware.js +2 -2
  49. package/dist/lib/http/middleware/gatewayMiddleware.js.map +1 -1
  50. package/dist/lib/http/routes/ai.js +3 -3
  51. package/dist/lib/http/routes/ai.js.map +1 -1
  52. package/dist/lib/http/routes/candidates.d.ts.map +1 -1
  53. package/dist/lib/http/routes/candidates.js +3 -1
  54. package/dist/lib/http/routes/candidates.js.map +1 -1
  55. package/dist/lib/http/routes/commands.d.ts.map +1 -1
  56. package/dist/lib/http/routes/commands.js +37 -9
  57. package/dist/lib/http/routes/commands.js.map +1 -1
  58. package/dist/lib/http/routes/guard.d.ts.map +1 -1
  59. package/dist/lib/http/routes/guard.js.map +1 -1
  60. package/dist/lib/http/routes/guardRules.d.ts.map +1 -1
  61. package/dist/lib/http/routes/guardRules.js +7 -7
  62. package/dist/lib/http/routes/guardRules.js.map +1 -1
  63. package/dist/lib/http/routes/knowledge.d.ts.map +1 -1
  64. package/dist/lib/http/routes/knowledge.js +62 -18
  65. package/dist/lib/http/routes/knowledge.js.map +1 -1
  66. package/dist/lib/http/routes/modules.d.ts.map +1 -1
  67. package/dist/lib/http/routes/modules.js +7 -5
  68. package/dist/lib/http/routes/modules.js.map +1 -1
  69. package/dist/lib/http/routes/recipes.js +1 -1
  70. package/dist/lib/http/routes/recipes.js.map +1 -1
  71. package/dist/lib/http/routes/remote.d.ts.map +1 -1
  72. package/dist/lib/http/routes/remote.js +1 -1
  73. package/dist/lib/http/routes/remote.js.map +1 -1
  74. package/dist/lib/http/routes/search.d.ts.map +1 -1
  75. package/dist/lib/http/routes/search.js +31 -23
  76. package/dist/lib/http/routes/search.js.map +1 -1
  77. package/dist/lib/http/routes/snippets.js +2 -2
  78. package/dist/lib/http/routes/snippets.js.map +1 -1
  79. package/dist/lib/http/routes/task.js.map +1 -1
  80. package/dist/lib/http/routes/violations.js +2 -2
  81. package/dist/lib/http/routes/violations.js.map +1 -1
  82. package/dist/lib/http/routes/wiki.d.ts.map +1 -1
  83. package/dist/lib/http/routes/wiki.js +3 -2
  84. package/dist/lib/http/routes/wiki.js.map +1 -1
  85. package/dist/lib/http/utils/routeHelpers.d.ts +2 -2
  86. package/dist/lib/http/utils/routeHelpers.js +2 -2
  87. package/dist/lib/http/utils/routeHelpers.js.map +1 -1
  88. package/dist/lib/infrastructure/config/Defaults.d.ts +3 -0
  89. package/dist/lib/infrastructure/config/Defaults.d.ts.map +1 -1
  90. package/dist/lib/infrastructure/config/Defaults.js +10 -6
  91. package/dist/lib/infrastructure/config/Defaults.js.map +1 -1
  92. package/dist/lib/infrastructure/config/Paths.d.ts +1 -1
  93. package/dist/lib/infrastructure/config/Paths.d.ts.map +1 -1
  94. package/dist/lib/infrastructure/config/Paths.js +4 -16
  95. package/dist/lib/infrastructure/config/Paths.js.map +1 -1
  96. package/dist/lib/infrastructure/vector/HnswVectorAdapter.d.ts +4 -1
  97. package/dist/lib/infrastructure/vector/HnswVectorAdapter.d.ts.map +1 -1
  98. package/dist/lib/infrastructure/vector/HnswVectorAdapter.js +26 -6
  99. package/dist/lib/infrastructure/vector/HnswVectorAdapter.js.map +1 -1
  100. package/dist/lib/infrastructure/vector/IndexingPipeline.d.ts +20 -0
  101. package/dist/lib/infrastructure/vector/IndexingPipeline.d.ts.map +1 -1
  102. package/dist/lib/infrastructure/vector/IndexingPipeline.js +65 -3
  103. package/dist/lib/infrastructure/vector/IndexingPipeline.js.map +1 -1
  104. package/dist/lib/infrastructure/vector/JsonVectorAdapter.d.ts +1 -1
  105. package/dist/lib/infrastructure/vector/JsonVectorAdapter.js +1 -1
  106. package/dist/lib/injection/ServiceContainer.d.ts +12 -2
  107. package/dist/lib/injection/ServiceContainer.d.ts.map +1 -1
  108. package/dist/lib/injection/ServiceContainer.js +10 -85
  109. package/dist/lib/injection/ServiceContainer.js.map +1 -1
  110. package/dist/lib/injection/ServiceMap.d.ts +124 -0
  111. package/dist/lib/injection/ServiceMap.d.ts.map +1 -0
  112. package/dist/lib/injection/ServiceMap.js +10 -0
  113. package/dist/lib/injection/ServiceMap.js.map +1 -0
  114. package/dist/lib/injection/modules/AiModule.d.ts +36 -0
  115. package/dist/lib/injection/modules/AiModule.d.ts.map +1 -0
  116. package/dist/lib/injection/modules/AiModule.js +99 -0
  117. package/dist/lib/injection/modules/AiModule.js.map +1 -0
  118. package/dist/lib/injection/modules/AppModule.js.map +1 -1
  119. package/dist/lib/injection/modules/GuardModule.js.map +1 -1
  120. package/dist/lib/injection/modules/KnowledgeModule.d.ts +1 -1
  121. package/dist/lib/injection/modules/KnowledgeModule.d.ts.map +1 -1
  122. package/dist/lib/injection/modules/KnowledgeModule.js +4 -10
  123. package/dist/lib/injection/modules/KnowledgeModule.js.map +1 -1
  124. package/dist/lib/injection/modules/VectorModule.d.ts +20 -0
  125. package/dist/lib/injection/modules/VectorModule.d.ts.map +1 -0
  126. package/dist/lib/injection/modules/VectorModule.js +74 -0
  127. package/dist/lib/injection/modules/VectorModule.js.map +1 -0
  128. package/dist/lib/platform/ios/routes/spm.d.ts.map +1 -1
  129. package/dist/lib/platform/ios/routes/spm.js +7 -5
  130. package/dist/lib/platform/ios/routes/spm.js.map +1 -1
  131. package/dist/lib/service/agent/AgentRuntime.d.ts +3 -73
  132. package/dist/lib/service/agent/AgentRuntime.d.ts.map +1 -1
  133. package/dist/lib/service/agent/AgentRuntime.js +2 -2
  134. package/dist/lib/service/agent/AgentRuntime.js.map +1 -1
  135. package/dist/lib/service/agent/AgentRuntimeTypes.d.ts +113 -0
  136. package/dist/lib/service/agent/AgentRuntimeTypes.d.ts.map +1 -0
  137. package/dist/lib/service/agent/AgentRuntimeTypes.js +11 -0
  138. package/dist/lib/service/agent/AgentRuntimeTypes.js.map +1 -0
  139. package/dist/lib/service/agent/PipelineStrategy.d.ts +1 -1
  140. package/dist/lib/service/agent/PipelineStrategy.d.ts.map +1 -1
  141. package/dist/lib/service/agent/PipelineStrategy.js +3 -3
  142. package/dist/lib/service/agent/PipelineStrategy.js.map +1 -1
  143. package/dist/lib/service/agent/core/ChatAgentPrompts.d.ts +2 -2
  144. package/dist/lib/service/agent/core/ChatAgentPrompts.d.ts.map +1 -1
  145. package/dist/lib/service/agent/core/ChatAgentPrompts.js +2 -2
  146. package/dist/lib/service/agent/core/ChatAgentPrompts.js.map +1 -1
  147. package/dist/lib/service/agent/domain/insight-analyst.d.ts +3 -3
  148. package/dist/lib/service/agent/domain/insight-analyst.d.ts.map +1 -1
  149. package/dist/lib/service/agent/domain/insight-analyst.js +3 -3
  150. package/dist/lib/service/agent/domain/insight-analyst.js.map +1 -1
  151. package/dist/lib/service/agent/memory/MemoryCoordinator.d.ts +3 -3
  152. package/dist/lib/service/agent/memory/MemoryCoordinator.d.ts.map +1 -1
  153. package/dist/lib/service/agent/memory/MemoryCoordinator.js +6 -6
  154. package/dist/lib/service/agent/memory/MemoryCoordinator.js.map +1 -1
  155. package/dist/lib/service/agent/memory/MemoryRetriever.d.ts +18 -12
  156. package/dist/lib/service/agent/memory/MemoryRetriever.d.ts.map +1 -1
  157. package/dist/lib/service/agent/memory/MemoryRetriever.js +70 -17
  158. package/dist/lib/service/agent/memory/MemoryRetriever.js.map +1 -1
  159. package/dist/lib/service/agent/memory/MemoryStore.d.ts +38 -0
  160. package/dist/lib/service/agent/memory/MemoryStore.d.ts.map +1 -1
  161. package/dist/lib/service/agent/memory/MemoryStore.js +70 -3
  162. package/dist/lib/service/agent/memory/MemoryStore.js.map +1 -1
  163. package/dist/lib/service/agent/memory/PersistentMemory.d.ts +18 -4
  164. package/dist/lib/service/agent/memory/PersistentMemory.d.ts.map +1 -1
  165. package/dist/lib/service/agent/memory/PersistentMemory.js +24 -4
  166. package/dist/lib/service/agent/memory/PersistentMemory.js.map +1 -1
  167. package/dist/lib/service/agent/presets.d.ts +2 -2
  168. package/dist/lib/service/agent/tools/index.d.ts +0 -5
  169. package/dist/lib/service/agent/tools/index.d.ts.map +1 -1
  170. package/dist/lib/service/agent/tools/query.d.ts +0 -5
  171. package/dist/lib/service/agent/tools/query.d.ts.map +1 -1
  172. package/dist/lib/service/agent/tools/query.js +41 -32
  173. package/dist/lib/service/agent/tools/query.js.map +1 -1
  174. package/dist/lib/service/automation/FileWatcher.js +9 -9
  175. package/dist/lib/service/automation/FileWatcher.js.map +1 -1
  176. package/dist/lib/service/automation/handlers/AlinkHandler.d.ts.map +1 -1
  177. package/dist/lib/service/automation/handlers/AlinkHandler.js +1 -1
  178. package/dist/lib/service/automation/handlers/AlinkHandler.js.map +1 -1
  179. package/dist/lib/service/automation/handlers/GuardHandler.js +1 -1
  180. package/dist/lib/service/automation/handlers/GuardHandler.js.map +1 -1
  181. package/dist/lib/service/automation/handlers/SearchHandler.d.ts.map +1 -1
  182. package/dist/lib/service/automation/handlers/SearchHandler.js +10 -10
  183. package/dist/lib/service/automation/handlers/SearchHandler.js.map +1 -1
  184. package/dist/lib/service/cursor/CursorDeliveryPipeline.d.ts.map +1 -1
  185. package/dist/lib/service/cursor/CursorDeliveryPipeline.js +2 -1
  186. package/dist/lib/service/cursor/CursorDeliveryPipeline.js.map +1 -1
  187. package/dist/lib/service/cursor/SkillsSyncer.d.ts.map +1 -1
  188. package/dist/lib/service/cursor/SkillsSyncer.js +2 -1
  189. package/dist/lib/service/cursor/SkillsSyncer.js.map +1 -1
  190. package/dist/lib/service/guard/ExclusionManager.d.ts.map +1 -1
  191. package/dist/lib/service/guard/ExclusionManager.js +2 -1
  192. package/dist/lib/service/guard/ExclusionManager.js.map +1 -1
  193. package/dist/lib/service/guard/RuleLearner.d.ts.map +1 -1
  194. package/dist/lib/service/guard/RuleLearner.js +2 -1
  195. package/dist/lib/service/guard/RuleLearner.js.map +1 -1
  196. package/dist/lib/service/knowledge/KnowledgeService.d.ts +5 -0
  197. package/dist/lib/service/knowledge/KnowledgeService.d.ts.map +1 -1
  198. package/dist/lib/service/knowledge/KnowledgeService.js +27 -0
  199. package/dist/lib/service/knowledge/KnowledgeService.js.map +1 -1
  200. package/dist/lib/service/module/ModuleService.d.ts.map +1 -1
  201. package/dist/lib/service/module/ModuleService.js +1 -0
  202. package/dist/lib/service/module/ModuleService.js.map +1 -1
  203. package/dist/lib/service/quality/FeedbackCollector.d.ts.map +1 -1
  204. package/dist/lib/service/quality/FeedbackCollector.js +2 -1
  205. package/dist/lib/service/quality/FeedbackCollector.js.map +1 -1
  206. package/dist/lib/service/search/BM25Scorer.d.ts +52 -0
  207. package/dist/lib/service/search/BM25Scorer.d.ts.map +1 -0
  208. package/dist/lib/service/search/BM25Scorer.js +155 -0
  209. package/dist/lib/service/search/BM25Scorer.js.map +1 -0
  210. package/dist/lib/service/search/CrossEncoderReranker.js +1 -1
  211. package/dist/lib/service/search/CrossEncoderReranker.js.map +1 -1
  212. package/dist/lib/service/search/MultiSignalRanker.d.ts +7 -0
  213. package/dist/lib/service/search/MultiSignalRanker.d.ts.map +1 -1
  214. package/dist/lib/service/search/MultiSignalRanker.js +37 -18
  215. package/dist/lib/service/search/MultiSignalRanker.js.map +1 -1
  216. package/dist/lib/service/search/SearchEngine.d.ts +15 -215
  217. package/dist/lib/service/search/SearchEngine.d.ts.map +1 -1
  218. package/dist/lib/service/search/SearchEngine.js +127 -270
  219. package/dist/lib/service/search/SearchEngine.js.map +1 -1
  220. package/dist/lib/service/search/SearchTypes.d.ts +258 -0
  221. package/dist/lib/service/search/SearchTypes.d.ts.map +1 -0
  222. package/dist/lib/service/search/SearchTypes.js +50 -0
  223. package/dist/lib/service/search/SearchTypes.js.map +1 -0
  224. package/dist/lib/service/search/contextBoost.d.ts +1 -1
  225. package/dist/lib/service/search/contextBoost.js +2 -2
  226. package/dist/lib/service/search/contextBoost.js.map +1 -1
  227. package/dist/lib/service/search/tokenizer.d.ts +18 -0
  228. package/dist/lib/service/search/tokenizer.d.ts.map +1 -0
  229. package/dist/lib/service/search/tokenizer.js +215 -0
  230. package/dist/lib/service/search/tokenizer.js.map +1 -0
  231. package/dist/lib/service/task/TaskGraphService.d.ts +15 -6
  232. package/dist/lib/service/task/TaskGraphService.d.ts.map +1 -1
  233. package/dist/lib/service/task/TaskGraphService.js +55 -5
  234. package/dist/lib/service/task/TaskGraphService.js.map +1 -1
  235. package/dist/lib/service/task/TaskKnowledgeBridge.d.ts +90 -25
  236. package/dist/lib/service/task/TaskKnowledgeBridge.d.ts.map +1 -1
  237. package/dist/lib/service/task/TaskKnowledgeBridge.js +253 -35
  238. package/dist/lib/service/task/TaskKnowledgeBridge.js.map +1 -1
  239. package/dist/lib/service/vector/ContextualEnricher.d.ts +62 -0
  240. package/dist/lib/service/vector/ContextualEnricher.d.ts.map +1 -0
  241. package/dist/lib/service/vector/ContextualEnricher.js +150 -0
  242. package/dist/lib/service/vector/ContextualEnricher.js.map +1 -0
  243. package/dist/lib/service/vector/SyncCoordinator.d.ts +63 -0
  244. package/dist/lib/service/vector/SyncCoordinator.d.ts.map +1 -0
  245. package/dist/lib/service/vector/SyncCoordinator.js +290 -0
  246. package/dist/lib/service/vector/SyncCoordinator.js.map +1 -0
  247. package/dist/lib/service/vector/VectorService.d.ts +176 -0
  248. package/dist/lib/service/vector/VectorService.d.ts.map +1 -0
  249. package/dist/lib/service/vector/VectorService.js +456 -0
  250. package/dist/lib/service/vector/VectorService.js.map +1 -0
  251. package/dist/lib/service/wiki/WikiGenerator.d.ts.map +1 -1
  252. package/dist/lib/service/wiki/WikiGenerator.js +2 -1
  253. package/dist/lib/service/wiki/WikiGenerator.js.map +1 -1
  254. package/dist/lib/service/wiki/WikiRenderers.d.ts +4 -128
  255. package/dist/lib/service/wiki/WikiRenderers.d.ts.map +1 -1
  256. package/dist/lib/service/wiki/WikiRenderers.js +2 -0
  257. package/dist/lib/service/wiki/WikiRenderers.js.map +1 -1
  258. package/dist/lib/service/wiki/WikiTypes.d.ts +146 -0
  259. package/dist/lib/service/wiki/WikiTypes.d.ts.map +1 -0
  260. package/dist/lib/service/wiki/WikiTypes.js +10 -0
  261. package/dist/lib/service/wiki/WikiTypes.js.map +1 -0
  262. package/dist/lib/service/wiki/WikiUtils.d.ts.map +1 -1
  263. package/dist/lib/service/wiki/WikiUtils.js +2 -1
  264. package/dist/lib/service/wiki/WikiUtils.js.map +1 -1
  265. package/dist/lib/shared/PathGuard.d.ts.map +1 -1
  266. package/dist/lib/shared/PathGuard.js +8 -17
  267. package/dist/lib/shared/PathGuard.js.map +1 -1
  268. package/dist/lib/shared/ProjectMarkers.d.ts +67 -0
  269. package/dist/lib/shared/ProjectMarkers.d.ts.map +1 -0
  270. package/dist/lib/shared/ProjectMarkers.js +142 -0
  271. package/dist/lib/shared/ProjectMarkers.js.map +1 -0
  272. package/dist/lib/shared/schemas/mcp-tools.d.ts +3 -0
  273. package/dist/lib/shared/schemas/mcp-tools.d.ts.map +1 -1
  274. package/dist/lib/shared/schemas/mcp-tools.js +6 -0
  275. package/dist/lib/shared/schemas/mcp-tools.js.map +1 -1
  276. package/package.json +1 -1
  277. package/templates/constitution.yaml +23 -2
  278. package/dist/lib/service/search/InvertedIndex.d.ts +0 -34
  279. package/dist/lib/service/search/InvertedIndex.d.ts.map +0 -1
  280. package/dist/lib/service/search/InvertedIndex.js +0 -83
  281. package/dist/lib/service/search/InvertedIndex.js.map +0 -1
  282. package/dist/lib/service/search/RetrievalFunnel.d.ts +0 -26
  283. package/dist/lib/service/search/RetrievalFunnel.d.ts.map +0 -1
  284. package/dist/lib/service/search/RetrievalFunnel.js +0 -77
  285. package/dist/lib/service/search/RetrievalFunnel.js.map +0 -1
@@ -4,7 +4,7 @@
4
4
  * 一键初始化 AutoSnippet V2 工作空间,5 步完成:
5
5
  *
6
6
  * Step 1 .autosnippet/ 运行时目录 + config.json + .gitignore
7
- * Step 2 AutoSnippet/ 子仓库(核心数据 + 权限能力 + skills/)
7
+ * Step 2 AutoSnippet/ 知识库目录结构 + AutoSnippet/recipes/(有 --repo 则 clone,无则为普通目录)
8
8
  * Step 3 IDE 集成(VSCode MCP + Cursor MCP + copilot-instructions + cursor-rules
9
9
  * + skills-template + cursor-workflow + claude-hooks + guard-ci + pre-commit-hook)
10
10
  * Step 4 SQLite 数据库 + V1 数据迁移
@@ -14,15 +14,17 @@
14
14
  *
15
15
  * 数据架构(核心数据在子仓库,受 git 权限保护)
16
16
  * ─────────────────────────────────────────────
17
- * AutoSnippet/ (Git 子仓库 = 唯一真实来源 Source of Truth)
17
+ * AutoSnippet/ (知识库根目录)
18
18
  * ├─ constitution.yaml 权限宪法:角色 + 权限矩阵 + 治理规则 + 能力探测
19
19
  * ├─ boxspec.json 项目规格定义
20
- * ├─ recipes/*.md 统一知识实体(代码规范/模式/架构/调用链/数据流/...)
21
- * ├─ skills/ Project Skills(冷启动自动生成 + 手动创建)
20
+ * ├─ recipes/ Git 子仓库 = 唯一真实来源 Source of Truth
21
+ * │ └─ *.md 统一知识实体(代码规范/模式/架构/调用链/数据流/...)
22
+ * ├─ candidates/ 候选知识(待审批)
23
+ * ├─ skills/ Project Skills(冷启动自动生成 + 手动创建)
22
24
  * └─ README.md
23
25
  *
24
26
  * .autosnippet/ (运行时缓存,gitignored)
25
- * ├─ config.json 项目配置
27
+ * ├─ config.json 项目配置(含 core.subRepoDir 子仓库路径)
26
28
  * ├─ autosnippet.db SQLite 运行时缓存(从子仓库同步 + candidates/snippets/audit)
27
29
  * ├─ context/ 向量索引缓存
28
30
  * └─ logs/ 运行日志
@@ -58,13 +60,23 @@ export declare class SetupService {
58
60
  runtimeDir: string;
59
61
  seed: boolean;
60
62
  skillsDir: string;
63
+ /** 子仓库相对路径(相对于 projectRoot),如 'AutoSnippet/recipes' */
64
+ subRepoDir: string;
65
+ /** 子仓库绝对路径 */
66
+ subRepoPath: string;
67
+ /** 子仓库远程仓库 URL(为空则 recipes/ 作为普通目录随主仓库提交) */
68
+ subRepoUrl: string | undefined;
61
69
  /**
62
- * @param {{ projectRoot: string, force?: boolean }} options
70
+ * @param {{ projectRoot: string, force?: boolean, seed?: boolean, subRepoDir?: string, subRepoUrl?: string }} options
63
71
  */
64
72
  constructor(options: {
65
73
  projectRoot: string;
66
74
  force?: boolean;
67
75
  seed?: boolean;
76
+ /** 自定义子仓库相对路径(默认 'AutoSnippet/recipes') */
77
+ subRepoDir?: string;
78
+ /** 子仓库远程仓库 URL(提供则 clone,不提供则 recipes/ 为普通目录) */
79
+ subRepoUrl?: string;
68
80
  });
69
81
  getSteps(): ({
70
82
  label: string;
@@ -76,6 +88,8 @@ export declare class SetupService {
76
88
  fn: () => {
77
89
  coreInit: boolean;
78
90
  alreadyRepo: boolean;
91
+ subRepoPath: string;
92
+ hasUrl: boolean;
79
93
  };
80
94
  } | {
81
95
  label: string;
@@ -101,6 +115,8 @@ export declare class SetupService {
101
115
  stepCoreRepo(): {
102
116
  coreInit: boolean;
103
117
  alreadyRepo: boolean;
118
+ subRepoPath: string;
119
+ hasUrl: boolean;
104
120
  };
105
121
  /** @private 写入 constitution.yaml(优先从模板复制) */
106
122
  _writeConstitution(): void;
@@ -131,6 +147,54 @@ export declare class SetupService {
131
147
  _ensureEnvFile(): void;
132
148
  /** @private 在指定目录执行 git 命令 */
133
149
  _git(args: string[], cwd: string): string;
150
+ /** @private 检查目录中是否有文件(排除 . 和 ..) */
151
+ _hasFiles(dirPath: string): boolean;
152
+ /** @private 确保子仓库的 remote origin 与给定 URL 一致 */
153
+ _ensureRemote(url: string): void;
154
+ /**
155
+ * @private 备份已有文件 → clone → 合并回来(不覆盖远端文件)
156
+ * 适用于 recipes/ 有模板文件但还不是 git 仓库的场景
157
+ */
158
+ _cloneWithMerge(url: string): void;
159
+ /**
160
+ * 尝试初始化向量索引: 检查 embedding provider 可用性,
161
+ * 若可用则自动构建初始索引;否则提示用户手动运行 asd embed。
162
+ *
163
+ * 此步骤为 best-effort: 失败不阻塞 setup 流程。
164
+ */
165
+ stepVectorIndex(): Promise<{
166
+ status: string;
167
+ reason: string;
168
+ hint: string;
169
+ indexed?: undefined;
170
+ skipped?: undefined;
171
+ errors?: undefined;
172
+ error?: undefined;
173
+ } | {
174
+ status: string;
175
+ reason: string;
176
+ hint?: undefined;
177
+ indexed?: undefined;
178
+ skipped?: undefined;
179
+ errors?: undefined;
180
+ error?: undefined;
181
+ } | {
182
+ status: string;
183
+ indexed: number;
184
+ skipped: number;
185
+ errors: number;
186
+ reason?: undefined;
187
+ hint?: undefined;
188
+ error?: undefined;
189
+ } | {
190
+ status: string;
191
+ error: string;
192
+ hint: string;
193
+ reason?: undefined;
194
+ indexed?: undefined;
195
+ skipped?: undefined;
196
+ errors?: undefined;
197
+ }>;
134
198
  }
135
199
  export default SetupService;
136
200
  //# sourceMappingURL=SetupService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SetupService.d.ts","sourceRoot":"","sources":["../../../lib/cli/SetupService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAcH,qBAAa,YAAY;IACvB,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI,CAAQ;IAC5F,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;gBACS,OAAO,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE;IA4B7E,QAAQ;;;;;;;;;;;;;;;;;;;;IAUF,GAAG;cAEsB,MAAM;eAAS,MAAM;YAAM,OAAO;gBAAU,MAAM;;IAqBjF,4BAA4B;IAC5B,iBAAiB,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;IAiBxD,YAAY;IAQZ,WAAW;;;IAkCX,YAAY;;;;IA+CZ,6CAA6C;IAC7C,kBAAkB;IAoDlB,+BAA+B;IAC/B,aAAa;IAuBb,0CAA0C;IAC1C,mBAAmB;IAanB,kCAAkC;IAClC,gBAAgB;IA2BhB,6BAA6B;IAC7B,gBAAgB;IAkFhB,OAAO;;;IAkBD,YAAY;;;IAsBlB;;;OAGG;IACG,gBAAgB,CAAC,EAAE,EAAE,OAAO;IAiB5B,YAAY;IA+BlB;;;OAGG;IACH,cAAc;IA0Bd,8BAA8B;IAC9B,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM;CAcjC;AAED,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"SetupService.d.ts","sourceRoot":"","sources":["../../../lib/cli/SetupService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AA6BH,qBAAa,YAAY;IACvB,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI,CAAQ;IAC5F,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B;;OAEG;gBACS,OAAO,EAAE;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,2CAA2C;QAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,iDAAiD;QACjD,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB;IAiCD,QAAQ;;;;;;;;;;;;;;;;;;;;;;IAWF,GAAG;cAEsB,MAAM;eAAS,MAAM;YAAM,OAAO;gBAAU,MAAM;;IAqBjF,4BAA4B;IAC5B,iBAAiB,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;IAiBxD,YAAY;IAQZ,WAAW;;;IAoCX,YAAY;;;;;;IA0EZ,6CAA6C;IAC7C,kBAAkB;IA0DlB,+BAA+B;IAC/B,aAAa;IAwBb,0CAA0C;IAC1C,mBAAmB;IAanB,kCAAkC;IAClC,gBAAgB;IA2BhB,6BAA6B;IAC7B,gBAAgB;IAiGhB,OAAO;;;IAkBD,YAAY;;;IAsBlB;;;OAGG;IACG,gBAAgB,CAAC,EAAE,EAAE,OAAO;IAiB5B,YAAY;IA+BlB;;;OAGG;IACH,cAAc;IA0Bd,8BAA8B;IAC9B,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM;IAehC,qCAAqC;IACrC,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IASnC,+CAA+C;IAC/C,aAAa,CAAC,GAAG,EAAE,MAAM;IAYzB;;;OAGG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM;IA0C3B;;;;;OAKG;IACG,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDtB;AAED,eAAe,YAAY,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * 一键初始化 AutoSnippet V2 工作空间,5 步完成:
5
5
  *
6
6
  * Step 1 .autosnippet/ 运行时目录 + config.json + .gitignore
7
- * Step 2 AutoSnippet/ 子仓库(核心数据 + 权限能力 + skills/)
7
+ * Step 2 AutoSnippet/ 知识库目录结构 + AutoSnippet/recipes/(有 --repo 则 clone,无则为普通目录)
8
8
  * Step 3 IDE 集成(VSCode MCP + Cursor MCP + copilot-instructions + cursor-rules
9
9
  * + skills-template + cursor-workflow + claude-hooks + guard-ci + pre-commit-hook)
10
10
  * Step 4 SQLite 数据库 + V1 数据迁移
@@ -14,15 +14,17 @@
14
14
  *
15
15
  * 数据架构(核心数据在子仓库,受 git 权限保护)
16
16
  * ─────────────────────────────────────────────
17
- * AutoSnippet/ (Git 子仓库 = 唯一真实来源 Source of Truth)
17
+ * AutoSnippet/ (知识库根目录)
18
18
  * ├─ constitution.yaml 权限宪法:角色 + 权限矩阵 + 治理规则 + 能力探测
19
19
  * ├─ boxspec.json 项目规格定义
20
- * ├─ recipes/*.md 统一知识实体(代码规范/模式/架构/调用链/数据流/...)
21
- * ├─ skills/ Project Skills(冷启动自动生成 + 手动创建)
20
+ * ├─ recipes/ Git 子仓库 = 唯一真实来源 Source of Truth
21
+ * │ └─ *.md 统一知识实体(代码规范/模式/架构/调用链/数据流/...)
22
+ * ├─ candidates/ 候选知识(待审批)
23
+ * ├─ skills/ Project Skills(冷启动自动生成 + 手动创建)
22
24
  * └─ README.md
23
25
  *
24
26
  * .autosnippet/ (运行时缓存,gitignored)
25
- * ├─ config.json 项目配置
27
+ * ├─ config.json 项目配置(含 core.subRepoDir 子仓库路径)
26
28
  * ├─ autosnippet.db SQLite 运行时缓存(从子仓库同步 + candidates/snippets/audit)
27
29
  * ├─ context/ 向量索引缓存
28
30
  * └─ logs/ 运行日志
@@ -42,9 +44,10 @@
42
44
  * 子仓库 git 权限只是"一种能力(capability)",最终裁决权在 Constitution YAML。
43
45
  */
44
46
  import { execSync } from 'node:child_process';
45
- import { copyFileSync, existsSync, mkdirSync, readdirSync, writeFileSync } from 'node:fs';
47
+ import { copyFileSync, cpSync, existsSync, mkdirSync, readdirSync, renameSync, rmdirSync, rmSync, writeFileSync, } from 'node:fs';
46
48
  import { join, resolve } from 'node:path';
47
49
  import { isAutoSnippetDevRepo } from '../shared/isOwnDevRepo.js';
50
+ import { DEFAULT_KNOWLEDGE_BASE_DIR, DEFAULT_SUB_REPO_DIR, isGitRepo, } from '../shared/ProjectMarkers.js';
48
51
  import { PACKAGE_ROOT } from '../shared/package-root.js';
49
52
  import { FileDeployer } from './deploy/FileDeployer.js';
50
53
  /** AutoSnippet 源码仓库根目录(定位 templates/ 等资源) */
@@ -62,14 +65,22 @@ export class SetupService {
62
65
  runtimeDir;
63
66
  seed;
64
67
  skillsDir;
68
+ /** 子仓库相对路径(相对于 projectRoot),如 'AutoSnippet/recipes' */
69
+ subRepoDir;
70
+ /** 子仓库绝对路径 */
71
+ subRepoPath;
72
+ /** 子仓库远程仓库 URL(为空则 recipes/ 作为普通目录随主仓库提交) */
73
+ subRepoUrl;
65
74
  /**
66
- * @param {{ projectRoot: string, force?: boolean }} options
75
+ * @param {{ projectRoot: string, force?: boolean, seed?: boolean, subRepoDir?: string, subRepoUrl?: string }} options
67
76
  */
68
77
  constructor(options) {
69
78
  this.projectRoot = resolve(options.projectRoot);
70
79
  this.projectName = this.projectRoot.split('/').pop() || '';
71
80
  this.force = options.force || false;
72
81
  this.seed = options.seed || false;
82
+ this.subRepoDir = options.subRepoDir || DEFAULT_SUB_REPO_DIR;
83
+ this.subRepoUrl = options.subRepoUrl;
73
84
  // ── 开发仓库保护 ──────────────────────────────────
74
85
  if (isAutoSnippetDevRepo(this.projectRoot)) {
75
86
  throw new Error('[SetupService] 检测到当前目录是 AutoSnippet 源码开发仓库,' +
@@ -79,20 +90,23 @@ export class SetupService {
79
90
  // 运行时目录(gitignored)
80
91
  this.runtimeDir = join(this.projectRoot, '.autosnippet');
81
92
  this.dbPath = join(this.runtimeDir, 'autosnippet.db');
82
- // 核心数据目录(子仓库)
83
- this.coreDir = join(this.projectRoot, 'AutoSnippet');
93
+ // 知识库根目录
94
+ this.coreDir = join(this.projectRoot, DEFAULT_KNOWLEDGE_BASE_DIR);
84
95
  this.recipesDir = join(this.coreDir, 'recipes');
85
96
  this.candidatesDir = join(this.coreDir, 'candidates');
86
97
  this.skillsDir = join(this.coreDir, 'skills');
98
+ // 子仓库绝对路径
99
+ this.subRepoPath = join(this.projectRoot, this.subRepoDir);
87
100
  }
88
101
  /* ═══ 公共入口 ═══════════════════════════════════════ */
89
102
  getSteps() {
90
103
  return [
91
104
  { label: '创建运行时目录与配置', fn: () => this.stepRuntime() },
92
- { label: '初始化核心数据子仓库', fn: () => this.stepCoreRepo() },
105
+ { label: '初始化知识库与 recipes 子仓库', fn: () => this.stepCoreRepo() },
93
106
  { label: '配置 IDE 集成', fn: () => this.stepIDE() },
94
107
  { label: '初始化数据库', fn: () => this.stepDatabase() },
95
108
  { label: '平台相关初始化', fn: () => this.stepPlatform() },
109
+ { label: '初始化向量索引', fn: () => this.stepVectorIndex() },
96
110
  ];
97
111
  }
98
112
  async run() {
@@ -151,8 +165,10 @@ export class SetupService {
151
165
  projectName: this.projectName,
152
166
  database: this.dbPath,
153
167
  core: {
154
- dir: 'AutoSnippet',
155
- constitution: 'AutoSnippet/constitution.yaml',
168
+ dir: DEFAULT_KNOWLEDGE_BASE_DIR,
169
+ constitution: `${DEFAULT_KNOWLEDGE_BASE_DIR}/constitution.yaml`,
170
+ subRepoDir: this.subRepoDir,
171
+ ...(this.subRepoUrl ? { subRepoUrl: this.subRepoUrl } : {}),
156
172
  },
157
173
  ai: { provider: process.env.ASD_AI_PROVIDER || 'auto' },
158
174
  guard: { enabled: true },
@@ -168,20 +184,35 @@ export class SetupService {
168
184
  this._ensureEnvFile();
169
185
  return { created: 'runtime' };
170
186
  }
171
- /* ═══ Step 2: 核心数据子仓库 ═════════════════════════ */
187
+ /* ═══ Step 2: 知识库目录 + recipes 子仓库 ═════════════ */
172
188
  stepCoreRepo() {
173
- const coreGit = join(this.coreDir, '.git');
174
- const alreadyRepo = existsSync(coreGit);
189
+ const alreadyRepo = isGitRepo(this.subRepoPath);
175
190
  // 创建目录结构
176
191
  for (const d of [this.coreDir, this.recipesDir, this.candidatesDir, this.skillsDir]) {
177
192
  mkdirSync(d, { recursive: true });
178
193
  }
179
- // 初始化 git(如果还不是 git 仓库)
180
- if (!alreadyRepo) {
181
- this._git(['init'], this.coreDir);
182
- }
183
- else {
194
+ // ── 子仓库处理:有 URL → clone 模式;无 URL → 普通目录 ──
195
+ if (this.subRepoUrl) {
196
+ if (alreadyRepo) {
197
+ // 幂等:已是 git 仓库,确保 remote 一致
198
+ this._ensureRemote(this.subRepoUrl);
199
+ }
200
+ else if (this._hasFiles(this.subRepoPath)) {
201
+ // 有文件但不是 git 仓库 → 备份 + clone + 合并
202
+ this._cloneWithMerge(this.subRepoUrl);
203
+ }
204
+ else {
205
+ // 空目录 → 直接 clone(先移除空目录,git clone 需要目标不存在)
206
+ try {
207
+ rmdirSync(this.subRepoPath);
208
+ }
209
+ catch {
210
+ /* 目录可能不存在或不为空,忽略 */
211
+ }
212
+ this._git(['clone', this.subRepoUrl, this.subRepoPath], this.projectRoot);
213
+ }
184
214
  }
215
+ // else: 无 URL → recipes/ 是普通目录,随主仓库提交,不执行 git init
185
216
  // constitution.yaml — 权限宪法
186
217
  this._writeConstitution();
187
218
  // boxspec.json — 项目规格
@@ -194,17 +225,32 @@ export class SetupService {
194
225
  }
195
226
  // README.md
196
227
  this._writeCoreReadme();
197
- // .gitignore(子仓库自身)
198
- const giPath = join(this.coreDir, '.gitignore');
199
- if (!existsSync(giPath)) {
200
- writeFileSync(giPath, '.DS_Store\n*.swp\n');
228
+ // .gitignore(子仓库自身,仅在有 URL 即子仓库模式时写入)
229
+ if (this.subRepoUrl) {
230
+ const giPath = join(this.subRepoPath, '.gitignore');
231
+ if (!existsSync(giPath)) {
232
+ writeFileSync(giPath, '.DS_Store\n*.swp\n');
233
+ }
201
234
  }
202
- // 初始提交
203
- if (!alreadyRepo) {
204
- this._git(['add', '.'], this.coreDir);
205
- this._git(['commit', '-m', 'Init AutoSnippet knowledge base'], this.coreDir);
235
+ // clone 后可能写入了模板文件,提交它们(仅新 clone 时)
236
+ if (this.subRepoUrl && !alreadyRepo && isGitRepo(this.subRepoPath)) {
237
+ try {
238
+ const status = this._git(['status', '--porcelain'], this.subRepoPath);
239
+ if (status.trim().length > 0) {
240
+ this._git(['add', '.'], this.subRepoPath);
241
+ this._git(['commit', '-m', 'Add AutoSnippet template files'], this.subRepoPath);
242
+ }
243
+ }
244
+ catch {
245
+ /* clone 的空仓库首次 commit 可能无变更,忽略 */
246
+ }
206
247
  }
207
- return { coreInit: true, alreadyRepo };
248
+ return {
249
+ coreInit: true,
250
+ alreadyRepo,
251
+ subRepoPath: this.subRepoDir,
252
+ hasUrl: Boolean(this.subRepoUrl),
253
+ };
208
254
  }
209
255
  /** @private 写入 constitution.yaml(优先从模板复制) */
210
256
  _writeConstitution() {
@@ -224,7 +270,7 @@ export class SetupService {
224
270
  '',
225
271
  'capabilities:',
226
272
  ' git_write:',
227
- ' description: "子仓库 git push 权限"',
273
+ ' description: "recipes 子仓库 git push 权限"',
228
274
  ' probe: "git push --dry-run"',
229
275
  ' no_subrepo: "allow"',
230
276
  ' no_remote: "allow"',
@@ -245,6 +291,12 @@ export class SetupService {
245
291
  ' name: "Developer"',
246
292
  ' permissions: ["*"]',
247
293
  ' requires_capability: ["git_write"]',
294
+ ' - id: "contributor"',
295
+ ' name: "Contributor"',
296
+ ' permissions: ["read:recipes", "read:candidates", "read:guard_rules", "read:audit_logs:self"]',
297
+ ' - id: "visitor"',
298
+ ' name: "Visitor"',
299
+ ' permissions: ["read:recipes", "read:guard_rules"]',
248
300
  ' - id: "external_agent"',
249
301
  ' name: "External Agent"',
250
302
  ' permissions: ["read:recipes", "read:guard_rules", "create:candidates", "submit:knowledge"]',
@@ -266,8 +318,9 @@ export class SetupService {
266
318
  schemaVersion: 2,
267
319
  kind: 'root',
268
320
  root: true,
269
- knowledgeBase: { dir: 'AutoSnippet' },
270
- module: { rootDir: 'AutoSnippet' },
321
+ knowledgeBase: { dir: DEFAULT_KNOWLEDGE_BASE_DIR },
322
+ subRepo: { dir: this.subRepoDir },
323
+ module: { rootDir: DEFAULT_KNOWLEDGE_BASE_DIR },
271
324
  }, null, 2));
272
325
  }
273
326
  /** @private 复制 _template.md 到 recipes/ */
@@ -317,7 +370,7 @@ export class SetupService {
317
370
  writeFileSync(dest, [
318
371
  `# ${this.projectName} — AutoSnippet Knowledge Base`,
319
372
  '',
320
- '此目录是项目的 **核心知识库**,通过 Git 子仓库管理,同时承载数据存储与权限控制。',
373
+ '此目录是项目的 **核心知识库**,`recipes/` 目录存放核心知识数据。',
321
374
  '',
322
375
  '## 目录结构',
323
376
  '',
@@ -325,11 +378,15 @@ export class SetupService {
325
378
  'AutoSnippet/',
326
379
  '├── constitution.yaml 权限宪法(角色 + 权限 + 治理规则 + 能力探测)',
327
380
  '├── boxspec.json 项目规格',
328
- '├── recipes/ 统一知识实体(Markdown + YAML front-matter)',
381
+ ...(this.subRepoUrl
382
+ ? [
383
+ '├── recipes/ ★ 独立 Git 子仓库 — 统一知识实体(Source of Truth)',
384
+ '│ ├── .git/ 独立 git 仓库',
385
+ ]
386
+ : ['├── recipes/ ★ 知识目录 — 统一知识实体(Source of Truth)']),
329
387
  '│ ├── _template.md 格式参考',
330
- '│ ├── naming-rules.md 代码规范示例',
331
- '│ ├── mvvm-arch.md 架构模式示例',
332
388
  '│ └── ... 代码模式/调用链/数据流/约束/风格/...',
389
+ '├── candidates/ 候选知识(待审批)',
333
390
  '├── skills/ Project Skills(冷启动自动生成 + 手动创建)',
334
391
  '│ └── <name>/SKILL.md AI Agent 知识增强文档',
335
392
  '└── README.md',
@@ -360,27 +417,38 @@ export class SetupService {
360
417
  '',
361
418
  '| 层级 | 机制 | 职责 |',
362
419
  '|------|------|------|',
363
- '| ① 能力层 | `git push --dry-run` | 探测子仓库物理写权限 |',
420
+ '| ① 能力层 | `git push --dry-run` | 探测 recipes 子仓库物理写权限 |',
364
421
  '| ② 角色层 | `constitution.yaml` roles | 角色权限矩阵 (action:resource) |',
365
422
  '| ③ 治理层 | `constitution.yaml` priorities | 业务规则引擎 |',
366
423
  '',
367
424
  'git 权限只是"能力信号",**最终裁决权在 Constitution YAML**。',
368
425
  '',
369
- '## 团队使用',
370
- '',
371
- '```bash',
372
- '# 方式 1: 添加远程仓库',
373
- 'cd AutoSnippet',
374
- 'git remote add origin <your-repo-url>',
375
- '',
376
- '# 方式 2: 使用 git submodule(推荐)',
377
- 'cd ..',
378
- 'rm -rf AutoSnippet',
379
- 'git submodule add <your-repo-url> AutoSnippet',
380
- '```',
426
+ ...(this.subRepoUrl
427
+ ? [
428
+ '## 团队协作',
429
+ '',
430
+ '团队成员克隆主仓库后,需额外获取 recipes 子仓库:',
431
+ '',
432
+ '```bash',
433
+ '# 方式 A:git submodule(推荐,自动关联)',
434
+ `git submodule add ${this.subRepoUrl} ${this.subRepoDir}`,
435
+ '',
436
+ '# 方式 B:独立 clone',
437
+ `git clone ${this.subRepoUrl} ${this.subRepoDir}`,
438
+ '```',
439
+ ]
440
+ : [
441
+ '## Recipes 知识库',
442
+ '',
443
+ '`recipes/` 目录随主仓库提交。如需独立管理(团队权限控制),运行:',
444
+ '',
445
+ '```bash',
446
+ 'asd remote <your-recipes-repo-url>',
447
+ '```',
448
+ ]),
381
449
  '',
382
450
  '> 运行时缓存(DB 索引、Candidates、Snippets、审计日志)在 `.autosnippet/autosnippet.db`。',
383
- '> **核心数据的唯一真实来源是此目录中的文件**,DB 仅做缓存。修改 Recipe/Guard 规则必须通过 git。',
451
+ '> **核心数据的唯一真实来源是 `recipes/` 目录中的文件**,DB 仅做缓存。',
384
452
  '',
385
453
  ].join('\n'));
386
454
  }
@@ -505,6 +573,126 @@ export class SetupService {
505
573
  throw e;
506
574
  }
507
575
  }
576
+ /** @private 检查目录中是否有文件(排除 . 和 ..) */
577
+ _hasFiles(dirPath) {
578
+ try {
579
+ const entries = readdirSync(dirPath);
580
+ return entries.length > 0;
581
+ }
582
+ catch {
583
+ return false;
584
+ }
585
+ }
586
+ /** @private 确保子仓库的 remote origin 与给定 URL 一致 */
587
+ _ensureRemote(url) {
588
+ try {
589
+ const currentUrl = this._git(['remote', 'get-url', 'origin'], this.subRepoPath);
590
+ if (currentUrl !== url) {
591
+ this._git(['remote', 'set-url', 'origin', url], this.subRepoPath);
592
+ }
593
+ }
594
+ catch {
595
+ // 没有 origin remote → 添加
596
+ this._git(['remote', 'add', 'origin', url], this.subRepoPath);
597
+ }
598
+ }
599
+ /**
600
+ * @private 备份已有文件 → clone → 合并回来(不覆盖远端文件)
601
+ * 适用于 recipes/ 有模板文件但还不是 git 仓库的场景
602
+ */
603
+ _cloneWithMerge(url) {
604
+ const backupDir = `${this.subRepoPath}-backup-${Date.now()}`;
605
+ // 1. 备份
606
+ renameSync(this.subRepoPath, backupDir);
607
+ // 2. clone
608
+ try {
609
+ this._git(['clone', url, this.subRepoPath], this.projectRoot);
610
+ }
611
+ catch (err) {
612
+ // clone 失败 → 恢复备份
613
+ try {
614
+ renameSync(backupDir, this.subRepoPath);
615
+ }
616
+ catch {
617
+ /* 尽力恢复 */
618
+ }
619
+ throw err;
620
+ }
621
+ // 3. 合并备份文件到 clone 结果(不覆盖已有文件)
622
+ try {
623
+ const files = readdirSync(backupDir);
624
+ for (const file of files) {
625
+ const dest = join(this.subRepoPath, file);
626
+ if (!existsSync(dest)) {
627
+ cpSync(join(backupDir, file), dest, { recursive: true });
628
+ }
629
+ }
630
+ }
631
+ catch {
632
+ /* 合并阶段出错不影响 clone 结果 */
633
+ }
634
+ // 4. 清理备份
635
+ try {
636
+ rmSync(backupDir, { recursive: true, force: true });
637
+ }
638
+ catch {
639
+ /* 清理失败不影响主流程 */
640
+ }
641
+ }
642
+ /* ═══ Step 6: 向量索引初始化 ═══════════════════════════ */
643
+ /**
644
+ * 尝试初始化向量索引: 检查 embedding provider 可用性,
645
+ * 若可用则自动构建初始索引;否则提示用户手动运行 asd embed。
646
+ *
647
+ * 此步骤为 best-effort: 失败不阻塞 setup 流程。
648
+ */
649
+ async stepVectorIndex() {
650
+ try {
651
+ const { getServiceContainer } = await import('../injection/ServiceContainer.js');
652
+ const container = getServiceContainer();
653
+ // 检查 VectorService 是否已注册
654
+ if (!container.services.vectorService) {
655
+ return {
656
+ status: 'skipped',
657
+ reason: 'vectorService 未注册(AI Provider 未配置或容器未完全初始化)',
658
+ hint: '运行 `asd embed` 构建语义向量索引',
659
+ };
660
+ }
661
+ const vectorService = container.get('vectorService');
662
+ const stats = await vectorService.getStats();
663
+ // 如果 embedding provider 不可用,提示用户
664
+ if (!stats.embedProviderAvailable) {
665
+ return {
666
+ status: 'skipped',
667
+ reason: '未配置 AI API Key',
668
+ hint: '配置 API Key 后运行 `asd embed` 启用语义搜索',
669
+ };
670
+ }
671
+ // 如果索引已有数据,跳过
672
+ if (stats.count > 0 && !this.force) {
673
+ return {
674
+ status: 'skipped',
675
+ reason: `向量索引已存在 (${stats.count} entries)`,
676
+ };
677
+ }
678
+ // 构建初始索引
679
+ const result = await vectorService.fullBuild({ force: this.force });
680
+ return {
681
+ status: 'done',
682
+ indexed: result.upserted ?? 0,
683
+ skipped: result.skipped ?? 0,
684
+ errors: result.errors ?? 0,
685
+ };
686
+ }
687
+ catch (err) {
688
+ // 向量初始化失败不阻塞 setup 流程
689
+ return {
690
+ status: 'warning',
691
+ error: err instanceof Error ? err.message : String(err),
692
+ hint: '运行 `asd embed` 手动构建向量索引',
693
+ };
694
+ }
695
+ }
508
696
  }
509
697
  export default SetupService;
510
698
  //# sourceMappingURL=SetupService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SetupService.js","sourceRoot":"","sources":["../../../lib/cli/SetupService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC1F,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,6CAA6C;AAC7C,MAAM,SAAS,GAAG,YAAY,CAAC;AAE/B,wDAAwD;AAExD,MAAM,OAAO,YAAY;IACvB,KAAK,CAAU;IACf,WAAW,CAAS;IACpB,WAAW,CAAS;IACpB,QAAQ,GAA+E,IAAI,CAAC;IAC5F,aAAa,CAAS;IACtB,OAAO,CAAS;IAChB,MAAM,CAAS;IACf,UAAU,CAAS;IACnB,UAAU,CAAS;IACnB,IAAI,CAAU;IACd,SAAS,CAAS;IAClB;;OAEG;IACH,YAAY,OAAiE;QAC3E,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAChD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;QAC3D,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC;QAElC,+CAA+C;QAC/C,IAAI,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CACb,6CAA6C;gBAC3C,sDAAsD;gBACtD,8BAA8B,CACjC,CAAC;QACJ,CAAC;QAED,oBAAoB;QACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QAEtD,cAAc;QACd,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QACrD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAChD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACtD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED,sDAAsD;IAEtD,QAAQ;QACN,OAAO;YACL,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE;YACrD,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE;YACtD,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;YAChD,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE;YAClD,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE;SACpD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,GAAG;QACP,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAwE,EAAE,CAAC;QACxF,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;QAE3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC;YAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC;YAC7C,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,MAAM,EAAE,EAAE,CAAC;gBACrB,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;gBAC1C,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YAC/D,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,OAAO,CAAC,KAAK,CAAC,UAAW,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;gBAClD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,4BAA4B;IAC5B,iBAAiB,CAAC,CAAsC;QACtD,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAE,CAAC,CAAC,UAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,UAAU,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1D,CAAC;IAED,YAAY;QACV,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;QAC/C,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;IACpD,CAAC;IAED,kDAAkD;IAElD,WAAW;QACT,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEhD,cAAc;QACd,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QACxD,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG;gBACb,OAAO,EAAE,CAAC;gBACV,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,QAAQ,EAAE,IAAI,CAAC,MAAM;gBACrB,IAAI,EAAE;oBACJ,GAAG,EAAE,aAAa;oBAClB,YAAY,EAAE,+BAA+B;iBAC9C;gBACD,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,MAAM,EAAE;gBACvD,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;gBACxB,KAAK,EAAE;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC;oBACzB,UAAU,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC;iBACnC;aACF,CAAC;YACF,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7D,CAAC;QAED,iBAAiB;QACjB,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IAChC,CAAC;IAED,mDAAmD;IAEnD,YAAY;QACV,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;QAExC,SAAS;QACT,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACpF,SAAS,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACpC,CAAC;QAED,wBAAwB;QACxB,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;QACR,CAAC;QAED,2BAA2B;QAC3B,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,sBAAsB;QACtB,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,qCAAqC;QACrC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3B,uBAAuB;QACvB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC;QAED,YAAY;QACZ,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,oBAAoB;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,aAAa,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO;QACP,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,iCAAiC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/E,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IACzC,CAAC;IAED,6CAA6C;IAC7C,kBAAkB;QAChB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;QACrD,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACpC,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,mBAAmB,CAAC,CAAC;QAC/D,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,+BAA+B;YAC/B,aAAa,CACX,IAAI,EACJ;gBACE,4BAA4B;gBAC5B,gBAAgB;gBAChB,EAAE;gBACF,eAAe;gBACf,cAAc;gBACd,oCAAoC;gBACpC,iCAAiC;gBACjC,yBAAyB;gBACzB,wBAAwB;gBACxB,sBAAsB;gBACtB,EAAE;gBACF,QAAQ;gBACR,6BAA6B;gBAC7B,sCAAsC;gBACtC,0BAA0B;gBAC1B,sDAAsD;gBACtD,6BAA6B;gBAC7B,wCAAwC;gBACxC,0BAA0B;gBAC1B,uCAAuC;gBACvC,EAAE;gBACF,QAAQ;gBACR,qBAAqB;gBACrB,uBAAuB;gBACvB,wBAAwB;gBACxB,wCAAwC;gBACxC,0BAA0B;gBAC1B,4BAA4B;gBAC5B,gGAAgG;gBAChG,sBAAsB;gBACtB,0BAA0B;gBAC1B,+FAA+F;gBAC/F,EAAE;aACH,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;QACJ,CAAC;IACH,CAAC;IAED,+BAA+B;IAC/B,aAAa;QACX,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAChD,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACpC,OAAO;QACT,CAAC;QAED,aAAa,CACX,IAAI,EACJ,IAAI,CAAC,SAAS,CACZ;YACE,IAAI,EAAE,IAAI,CAAC,WAAW;YACtB,aAAa,EAAE,CAAC;YAChB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,IAAI;YACV,aAAa,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE;YACrC,MAAM,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE;SACnC,EACD,IAAI,EACJ,CAAC,CACF,CACF,CAAC;IACJ,CAAC;IAED,0CAA0C;IAC1C,mBAAmB;QACjB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;QAC1E,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QACnD,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACpC,OAAO;QACT,CAAC;QACD,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,kCAAkC;IAClC,gBAAgB;QACd,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;QAC9D,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,kBAAkB;QAClB,IAAI,KAAe,CAAC;QACpB,IAAI,CAAC;YACH,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACzF,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;QAED,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;YAC9D,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACpC,SAAS;YACX,CAAC;YACD,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;YACxC,KAAK,EAAE,CAAC;QACV,CAAC;QACD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAED,6BAA6B;IAC7B,gBAAgB;QACd,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC7C,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACpC,OAAO;QACT,CAAC;QAED,aAAa,CACX,IAAI,EACJ;YACE,KAAK,IAAI,CAAC,WAAW,+BAA+B;YACpD,EAAE;YACF,+CAA+C;YAC/C,EAAE;YACF,SAAS;YACT,EAAE;YACF,KAAK;YACL,cAAc;YACd,qDAAqD;YACrD,8BAA8B;YAC9B,8DAA8D;YAC9D,8BAA8B;YAC9B,gCAAgC;YAChC,gCAAgC;YAChC,gDAAgD;YAChD,wDAAwD;YACxD,yCAAyC;YACzC,eAAe;YACf,KAAK;YACL,EAAE;YACF,WAAW;YACX,EAAE;YACF,+CAA+C;YAC/C,EAAE;YACF,wBAAwB;YACxB,0BAA0B;YAC1B,0BAA0B;YAC1B,yBAAyB;YACzB,0BAA0B;YAC1B,yBAAyB;YACzB,uBAAuB;YACvB,sBAAsB;YACtB,+BAA+B;YAC/B,0BAA0B;YAC1B,0BAA0B;YAC1B,4CAA4C;YAC5C,uBAAuB;YACvB,uBAAuB;YACvB,EAAE;YACF,SAAS;YACT,EAAE;YACF,4BAA4B;YAC5B,EAAE;YACF,kBAAkB;YAClB,wBAAwB;YACxB,+CAA+C;YAC/C,kEAAkE;YAClE,qDAAqD;YACrD,EAAE;YACF,8CAA8C;YAC9C,EAAE;YACF,SAAS;YACT,EAAE;YACF,SAAS;YACT,gBAAgB;YAChB,gBAAgB;YAChB,uCAAuC;YACvC,EAAE;YACF,8BAA8B;YAC9B,OAAO;YACP,oBAAoB;YACpB,+CAA+C;YAC/C,KAAK;YACL,EAAE;YACF,yEAAyE;YACzE,+DAA+D;YAC/D,EAAE;SACH,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;IACJ,CAAC;IAED,wDAAwD;IAExD,OAAO;QACL,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC;YAChC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAE5E,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,KAAK,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,MAAM,EAAE,CAAC;gBACnC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,KAAK,EAAE,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAED,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;IAClC,CAAC;IAED,oDAAoD;IAEpD,KAAK,CAAC,YAAY;QAChB,MAAM,YAAY,GAAG,CAAC,MAAM,MAAM,CAAC,0CAA0C,CAAC,CAAC,CAAC,OAAO,CAAC;QACxF,MAAM,SAAS,GAAG,CAAC,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC;QAE5D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa,CAAC;QAClD,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvB,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAE/C,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACzC,MAAM,SAAS,CAAC,UAAU,EAAE,CAAC;QAE7B,MAAM,EAAE,GAAG,SAAS,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC;QAC/C,IAAI,EAAE,EAAE,CAAC;YACP,oCAAoC;YACpC,MAAM,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAClC,CAAC;QAED,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC3B,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,SAAS;QACrC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;IACjC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gBAAgB,CAAC,EAAW;QAChC,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;QAC3E,MAAM,WAAW,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,EAA4C,EAAE;YAC5E,cAAc,EAAE,IAAI;SACrB,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,CAAC;aAAM,CAAC;QACR,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,CAAC;IACH,CAAC;IAED,sDAAsD;IAEtD,KAAK,CAAC,YAAY;QAChB,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC;QAClE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;YACrC,sCAAsC;YACtC,6CAA6C;YAC7C,IAAI,OAAO,GAAG,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;gBACzC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;gBAC7D,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,IAAI,GAAG,CAAC,OAAO,IAAI,OAAO,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;gBAChE,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;gBACrE,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;gBACtC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;gBAC1D,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,wBAAyB,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7D,OAAO,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC;QACzC,CAAC;IACH,CAAC;IAED,0DAA0D;IAE1D;;;OAGG;IACH,cAAc;QACZ,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC/C,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QACpD,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5B,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,mCAAmC;YACnC,aAAa,CACX,OAAO,EACP;gBACE,uCAAuC;gBACvC,wBAAwB;gBACxB,EAAE;gBACF,wBAAwB;gBACxB,qCAAqC;gBACrC,uBAAuB;gBACvB,EAAE;aACH,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;QACJ,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,IAAI,CAAC,IAAc,EAAE,GAAW;QAC9B,IAAI,CAAC;YACH,OAAO,QAAQ,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;gBACvC,GAAG;gBACH,KAAK,EAAE,MAAM;gBACb,QAAQ,EAAE,MAAM;aACjB,CAAC,CAAC,IAAI,EAAE,CAAC;QACZ,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAK,CAAyB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpE,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;CACF;AAED,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"SetupService.js","sourceRoot":"","sources":["../../../lib/cli/SetupService.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"UpgradeService.d.ts","sourceRoot":"","sources":["../../../lib/cli/UpgradeService.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,qBAAa,cAAc;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;gBACR,OAAO,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE;IAKtC,GAAG,CAAC,EAAE,UAAkB,EAAE,OAAe,EAAE;;;KAAK;;;;;;;;IA+BtD,kBAAkB;CAqCnB;AAED,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"UpgradeService.d.ts","sourceRoot":"","sources":["../../../lib/cli/UpgradeService.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,qBAAa,cAAc;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;gBACR,OAAO,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE;IAKtC,GAAG,CAAC,EAAE,UAAkB,EAAE,OAAe,EAAE;;;KAAK;;;;;;;;IA+BtD,kBAAkB;CAqCnB;AAED,eAAe,cAAc,CAAC"}