@zmice/zc 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (587) hide show
  1. package/README.md +153 -126
  2. package/dist/adapters/codex.d.ts +0 -0
  3. package/dist/adapters/codex.d.ts.map +1 -1
  4. package/dist/adapters/codex.js +4 -2
  5. package/dist/adapters/codex.js.map +1 -1
  6. package/dist/adapters/index.d.ts +0 -0
  7. package/dist/adapters/index.d.ts.map +0 -0
  8. package/dist/adapters/index.js +0 -0
  9. package/dist/adapters/index.js.map +0 -0
  10. package/dist/adapters/qwen-code.d.ts +0 -0
  11. package/dist/adapters/qwen-code.d.ts.map +1 -1
  12. package/dist/adapters/qwen-code.js +7 -5
  13. package/dist/adapters/qwen-code.js.map +1 -1
  14. package/dist/adapters/types.d.ts +0 -0
  15. package/dist/adapters/types.d.ts.map +0 -0
  16. package/dist/adapters/types.js +0 -0
  17. package/dist/adapters/types.js.map +0 -0
  18. package/dist/cli/__tests__/i18n.test.d.ts +2 -0
  19. package/dist/cli/__tests__/i18n.test.d.ts.map +1 -0
  20. package/dist/cli/__tests__/i18n.test.js +45 -0
  21. package/dist/cli/__tests__/i18n.test.js.map +1 -0
  22. package/dist/cli/__tests__/platform.test.d.ts +2 -0
  23. package/dist/cli/__tests__/platform.test.d.ts.map +1 -0
  24. package/dist/cli/__tests__/platform.test.js +483 -0
  25. package/dist/cli/__tests__/platform.test.js.map +1 -0
  26. package/dist/cli/__tests__/surface.test.d.ts +2 -0
  27. package/dist/cli/__tests__/surface.test.d.ts.map +1 -0
  28. package/dist/cli/__tests__/surface.test.js +15 -0
  29. package/dist/cli/__tests__/surface.test.js.map +1 -0
  30. package/dist/cli/__tests__/toolkit.test.d.ts +2 -0
  31. package/dist/cli/__tests__/toolkit.test.d.ts.map +1 -0
  32. package/dist/cli/__tests__/toolkit.test.js +72 -0
  33. package/dist/cli/__tests__/toolkit.test.js.map +1 -0
  34. package/dist/cli/__tests__/upstream.test.d.ts +2 -0
  35. package/dist/cli/__tests__/upstream.test.d.ts.map +1 -0
  36. package/dist/cli/__tests__/upstream.test.js +163 -0
  37. package/dist/cli/__tests__/upstream.test.js.map +1 -0
  38. package/dist/cli/doctor.d.ts +0 -0
  39. package/dist/cli/doctor.d.ts.map +0 -0
  40. package/dist/cli/doctor.js +21 -21
  41. package/dist/cli/doctor.js.map +1 -1
  42. package/dist/cli/index.d.ts +2 -1
  43. package/dist/cli/index.d.ts.map +1 -1
  44. package/dist/cli/index.js +34 -14
  45. package/dist/cli/index.js.map +1 -1
  46. package/dist/cli/msg.d.ts +0 -0
  47. package/dist/cli/msg.d.ts.map +1 -1
  48. package/dist/cli/msg.js +73 -5
  49. package/dist/cli/msg.js.map +1 -1
  50. package/dist/cli/platform.d.ts +32 -0
  51. package/dist/cli/platform.d.ts.map +1 -0
  52. package/dist/cli/platform.js +635 -0
  53. package/dist/cli/platform.js.map +1 -0
  54. package/dist/cli/run.d.ts +0 -0
  55. package/dist/cli/run.d.ts.map +0 -0
  56. package/dist/cli/run.js +7 -7
  57. package/dist/cli/run.js.map +1 -1
  58. package/dist/cli/setup.d.ts +0 -0
  59. package/dist/cli/setup.d.ts.map +0 -0
  60. package/dist/cli/setup.js +7 -7
  61. package/dist/cli/setup.js.map +1 -1
  62. package/dist/cli/task.d.ts +0 -0
  63. package/dist/cli/task.d.ts.map +1 -1
  64. package/dist/cli/task.js +108 -8
  65. package/dist/cli/task.js.map +1 -1
  66. package/dist/cli/team.d.ts +12 -0
  67. package/dist/cli/team.d.ts.map +1 -1
  68. package/dist/cli/team.js +82 -39
  69. package/dist/cli/team.js.map +1 -1
  70. package/dist/cli/toolkit.d.ts +3 -0
  71. package/dist/cli/toolkit.d.ts.map +1 -0
  72. package/dist/cli/toolkit.js +160 -0
  73. package/dist/cli/toolkit.js.map +1 -0
  74. package/dist/cli/upstream.d.ts +19 -0
  75. package/dist/cli/upstream.d.ts.map +1 -0
  76. package/dist/cli/upstream.js +705 -0
  77. package/dist/cli/upstream.js.map +1 -0
  78. package/dist/node_modules/@zmice/platform-core/dist/index.d.ts +72 -0
  79. package/dist/node_modules/@zmice/platform-core/dist/index.d.ts.map +1 -0
  80. package/dist/node_modules/@zmice/platform-core/dist/index.js +105 -0
  81. package/dist/node_modules/@zmice/platform-core/dist/index.js.map +1 -0
  82. package/dist/node_modules/@zmice/platform-core/dist/index.test.d.ts +2 -0
  83. package/dist/node_modules/@zmice/platform-core/dist/index.test.d.ts.map +1 -0
  84. package/dist/node_modules/@zmice/platform-core/dist/index.test.js +104 -0
  85. package/dist/node_modules/@zmice/platform-core/dist/index.test.js.map +1 -0
  86. package/dist/node_modules/@zmice/platform-core/package.json +34 -0
  87. package/dist/platform-state/index.d.ts +4 -0
  88. package/dist/platform-state/index.d.ts.map +1 -0
  89. package/dist/platform-state/index.js +3 -0
  90. package/dist/platform-state/index.js.map +1 -0
  91. package/dist/platform-state/receipt.d.ts +11 -0
  92. package/dist/platform-state/receipt.d.ts.map +1 -0
  93. package/dist/platform-state/receipt.js +27 -0
  94. package/dist/platform-state/receipt.js.map +1 -0
  95. package/dist/platform-state/status.d.ts +3 -0
  96. package/dist/platform-state/status.d.ts.map +1 -0
  97. package/dist/platform-state/status.js +82 -0
  98. package/dist/platform-state/status.js.map +1 -0
  99. package/dist/platform-state/status.test.d.ts +2 -0
  100. package/dist/platform-state/status.test.d.ts.map +1 -0
  101. package/dist/platform-state/status.test.js +120 -0
  102. package/dist/platform-state/status.test.js.map +1 -0
  103. package/dist/platform-state/types.d.ts +58 -0
  104. package/dist/platform-state/types.d.ts.map +1 -0
  105. package/dist/platform-state/types.js +2 -0
  106. package/dist/platform-state/types.js.map +1 -0
  107. package/dist/runtime/__tests__/logger.test.d.ts +2 -0
  108. package/dist/runtime/__tests__/logger.test.d.ts.map +1 -0
  109. package/dist/runtime/__tests__/logger.test.js +11 -0
  110. package/dist/runtime/__tests__/logger.test.js.map +1 -0
  111. package/dist/runtime/__tests__/session-manager.test.d.ts +2 -0
  112. package/dist/runtime/__tests__/session-manager.test.d.ts.map +1 -0
  113. package/dist/runtime/__tests__/session-manager.test.js +11 -0
  114. package/dist/runtime/__tests__/session-manager.test.js.map +1 -0
  115. package/dist/runtime/__tests__/worktree-manager.test.d.ts +2 -0
  116. package/dist/runtime/__tests__/worktree-manager.test.d.ts.map +1 -0
  117. package/dist/runtime/__tests__/worktree-manager.test.js +11 -0
  118. package/dist/runtime/__tests__/worktree-manager.test.js.map +1 -0
  119. package/dist/runtime/logger.d.ts +5 -1
  120. package/dist/runtime/logger.d.ts.map +1 -1
  121. package/dist/runtime/logger.js +11 -1
  122. package/dist/runtime/logger.js.map +1 -1
  123. package/dist/runtime/session-manager.d.ts +0 -0
  124. package/dist/runtime/session-manager.d.ts.map +0 -0
  125. package/dist/runtime/session-manager.js +0 -0
  126. package/dist/runtime/session-manager.js.map +0 -0
  127. package/dist/runtime/state.d.ts +2 -8
  128. package/dist/runtime/state.d.ts.map +1 -1
  129. package/dist/runtime/state.js +7 -15
  130. package/dist/runtime/state.js.map +1 -1
  131. package/dist/runtime/worktree-manager.d.ts +5 -26
  132. package/dist/runtime/worktree-manager.d.ts.map +1 -1
  133. package/dist/runtime/worktree-manager.js +34 -98
  134. package/dist/runtime/worktree-manager.js.map +1 -1
  135. package/dist/team/__tests__/mailbox.test.d.ts +2 -0
  136. package/dist/team/__tests__/mailbox.test.d.ts.map +1 -0
  137. package/dist/team/__tests__/mailbox.test.js +22 -0
  138. package/dist/team/__tests__/mailbox.test.js.map +1 -0
  139. package/dist/team/__tests__/orchestrator.test.d.ts +2 -0
  140. package/dist/team/__tests__/orchestrator.test.d.ts.map +1 -0
  141. package/dist/team/__tests__/orchestrator.test.js +13 -0
  142. package/dist/team/__tests__/orchestrator.test.js.map +1 -0
  143. package/dist/team/__tests__/task-queue.test.d.ts +2 -0
  144. package/dist/team/__tests__/task-queue.test.d.ts.map +1 -0
  145. package/dist/team/__tests__/task-queue.test.js +28 -0
  146. package/dist/team/__tests__/task-queue.test.js.map +1 -0
  147. package/dist/team/__tests__/worker-manager.test.d.ts +2 -0
  148. package/dist/team/__tests__/worker-manager.test.d.ts.map +1 -0
  149. package/dist/team/__tests__/worker-manager.test.js +13 -0
  150. package/dist/team/__tests__/worker-manager.test.js.map +1 -0
  151. package/dist/team/mailbox.d.ts +12 -10
  152. package/dist/team/mailbox.d.ts.map +1 -1
  153. package/dist/team/mailbox.js +40 -27
  154. package/dist/team/mailbox.js.map +1 -1
  155. package/dist/team/orchestrator.d.ts +1 -6
  156. package/dist/team/orchestrator.d.ts.map +1 -1
  157. package/dist/team/orchestrator.js +27 -67
  158. package/dist/team/orchestrator.js.map +1 -1
  159. package/dist/team/task-queue.d.ts +18 -17
  160. package/dist/team/task-queue.d.ts.map +1 -1
  161. package/dist/team/task-queue.js +68 -71
  162. package/dist/team/task-queue.js.map +1 -1
  163. package/dist/team/worker-manager.d.ts +13 -36
  164. package/dist/team/worker-manager.d.ts.map +1 -1
  165. package/dist/team/worker-manager.js +34 -129
  166. package/dist/team/worker-manager.js.map +1 -1
  167. package/dist/utils/config.d.ts +15 -1
  168. package/dist/utils/config.d.ts.map +1 -1
  169. package/dist/utils/config.js +39 -1
  170. package/dist/utils/config.js.map +1 -1
  171. package/dist/utils/install-target.d.ts +23 -0
  172. package/dist/utils/install-target.d.ts.map +1 -0
  173. package/dist/utils/install-target.js +89 -0
  174. package/dist/utils/install-target.js.map +1 -0
  175. package/dist/utils/install-target.test.d.ts +2 -0
  176. package/dist/utils/install-target.test.d.ts.map +1 -0
  177. package/dist/utils/install-target.test.js +71 -0
  178. package/dist/utils/install-target.test.js.map +1 -0
  179. package/dist/utils/platform-install-receipt.d.ts +11 -0
  180. package/dist/utils/platform-install-receipt.d.ts.map +1 -0
  181. package/dist/utils/platform-install-receipt.js +62 -0
  182. package/dist/utils/platform-install-receipt.js.map +1 -0
  183. package/dist/utils/platform-install-receipt.test.d.ts +2 -0
  184. package/dist/utils/platform-install-receipt.test.d.ts.map +1 -0
  185. package/dist/utils/platform-install-receipt.test.js +74 -0
  186. package/dist/utils/platform-install-receipt.test.js.map +1 -0
  187. package/dist/utils/platform.d.ts +0 -0
  188. package/dist/utils/platform.d.ts.map +0 -0
  189. package/dist/utils/platform.js +0 -0
  190. package/dist/utils/platform.js.map +0 -0
  191. package/dist/utils/skill-loader.d.ts +0 -9
  192. package/dist/utils/skill-loader.d.ts.map +1 -1
  193. package/dist/utils/skill-loader.js +19 -26
  194. package/dist/utils/skill-loader.js.map +1 -1
  195. package/dist/utils/workspace.d.ts +28 -0
  196. package/dist/utils/workspace.d.ts.map +1 -0
  197. package/dist/utils/workspace.js +103 -0
  198. package/dist/utils/workspace.js.map +1 -0
  199. package/dist/utils/workspace.test.d.ts +2 -0
  200. package/dist/utils/workspace.test.d.ts.map +1 -0
  201. package/dist/utils/workspace.test.js +50 -0
  202. package/dist/utils/workspace.test.js.map +1 -0
  203. package/package.json +48 -36
  204. package/vendor/node_modules/@zmice/platform-core/dist/index.d.ts +72 -0
  205. package/vendor/node_modules/@zmice/platform-core/dist/index.d.ts.map +1 -0
  206. package/vendor/node_modules/@zmice/platform-core/dist/index.js +105 -0
  207. package/vendor/node_modules/@zmice/platform-core/dist/index.js.map +1 -0
  208. package/vendor/node_modules/@zmice/platform-core/dist/index.test.d.ts +2 -0
  209. package/vendor/node_modules/@zmice/platform-core/dist/index.test.d.ts.map +1 -0
  210. package/vendor/node_modules/@zmice/platform-core/dist/index.test.js +104 -0
  211. package/vendor/node_modules/@zmice/platform-core/dist/index.test.js.map +1 -0
  212. package/vendor/node_modules/@zmice/platform-core/package.json +34 -0
  213. package/vendor/packages/platform-codex/dist/generate.d.ts +2 -0
  214. package/vendor/packages/platform-codex/dist/generate.d.ts.map +1 -0
  215. package/vendor/packages/platform-codex/dist/generate.js +2 -0
  216. package/vendor/packages/platform-codex/dist/generate.js.map +1 -0
  217. package/vendor/packages/platform-codex/dist/index.d.ts +15 -0
  218. package/vendor/packages/platform-codex/dist/index.d.ts.map +1 -0
  219. package/vendor/packages/platform-codex/dist/index.js +46 -0
  220. package/vendor/packages/platform-codex/dist/index.js.map +1 -0
  221. package/vendor/packages/platform-codex/dist/index.test.d.ts +2 -0
  222. package/vendor/packages/platform-codex/dist/index.test.d.ts.map +1 -0
  223. package/vendor/packages/platform-codex/dist/index.test.js +38 -0
  224. package/vendor/packages/platform-codex/dist/index.test.js.map +1 -0
  225. package/vendor/packages/platform-codex/dist/install.d.ts +2 -0
  226. package/vendor/packages/platform-codex/dist/install.d.ts.map +1 -0
  227. package/vendor/packages/platform-codex/dist/install.js +2 -0
  228. package/vendor/packages/platform-codex/dist/install.js.map +1 -0
  229. package/vendor/packages/platform-codex/package.json +46 -0
  230. package/vendor/packages/platform-codex/templates/AGENTS.md +7 -0
  231. package/vendor/packages/platform-qoder/dist/generate.d.ts +2 -0
  232. package/vendor/packages/platform-qoder/dist/generate.d.ts.map +1 -0
  233. package/vendor/packages/platform-qoder/dist/generate.js +2 -0
  234. package/vendor/packages/platform-qoder/dist/generate.js.map +1 -0
  235. package/vendor/packages/platform-qoder/dist/index.d.ts +15 -0
  236. package/vendor/packages/platform-qoder/dist/index.d.ts.map +1 -0
  237. package/vendor/packages/platform-qoder/dist/index.js +46 -0
  238. package/vendor/packages/platform-qoder/dist/index.js.map +1 -0
  239. package/vendor/packages/platform-qoder/dist/index.test.d.ts +2 -0
  240. package/vendor/packages/platform-qoder/dist/index.test.d.ts.map +1 -0
  241. package/vendor/packages/platform-qoder/dist/index.test.js +38 -0
  242. package/vendor/packages/platform-qoder/dist/index.test.js.map +1 -0
  243. package/vendor/packages/platform-qoder/dist/install.d.ts +2 -0
  244. package/vendor/packages/platform-qoder/dist/install.d.ts.map +1 -0
  245. package/vendor/packages/platform-qoder/dist/install.js +2 -0
  246. package/vendor/packages/platform-qoder/dist/install.js.map +1 -0
  247. package/vendor/packages/platform-qoder/package.json +46 -0
  248. package/vendor/packages/platform-qoder/templates/instructions.md +7 -0
  249. package/vendor/packages/platform-qwen/dist/generate.d.ts +2 -0
  250. package/vendor/packages/platform-qwen/dist/generate.d.ts.map +1 -0
  251. package/vendor/packages/platform-qwen/dist/generate.js +2 -0
  252. package/vendor/packages/platform-qwen/dist/generate.js.map +1 -0
  253. package/vendor/packages/platform-qwen/dist/index.d.ts +16 -0
  254. package/vendor/packages/platform-qwen/dist/index.d.ts.map +1 -0
  255. package/vendor/packages/platform-qwen/dist/index.js +60 -0
  256. package/vendor/packages/platform-qwen/dist/index.js.map +1 -0
  257. package/vendor/packages/platform-qwen/dist/index.test.d.ts +2 -0
  258. package/vendor/packages/platform-qwen/dist/index.test.d.ts.map +1 -0
  259. package/vendor/packages/platform-qwen/dist/index.test.js +46 -0
  260. package/vendor/packages/platform-qwen/dist/index.test.js.map +1 -0
  261. package/vendor/packages/platform-qwen/dist/install.d.ts +2 -0
  262. package/vendor/packages/platform-qwen/dist/install.d.ts.map +1 -0
  263. package/vendor/packages/platform-qwen/dist/install.js +2 -0
  264. package/vendor/packages/platform-qwen/dist/install.js.map +1 -0
  265. package/vendor/packages/platform-qwen/package.json +46 -0
  266. package/vendor/packages/platform-qwen/templates/QWEN.md +7 -0
  267. package/vendor/packages/platform-qwen/templates/qwen-extension.json +7 -0
  268. package/vendor/packages/toolkit/dist/content-lint.test.d.ts +2 -0
  269. package/vendor/packages/toolkit/dist/content-lint.test.d.ts.map +1 -0
  270. package/vendor/packages/toolkit/dist/content-lint.test.js +252 -0
  271. package/vendor/packages/toolkit/dist/content-lint.test.js.map +1 -0
  272. package/vendor/packages/toolkit/dist/governance/index.d.ts +2 -0
  273. package/vendor/packages/toolkit/dist/governance/index.d.ts.map +1 -0
  274. package/vendor/packages/toolkit/dist/governance/index.js +2 -0
  275. package/vendor/packages/toolkit/dist/governance/index.js.map +1 -0
  276. package/vendor/packages/toolkit/dist/governance/upstreams.d.ts +6 -0
  277. package/vendor/packages/toolkit/dist/governance/upstreams.d.ts.map +1 -0
  278. package/vendor/packages/toolkit/dist/governance/upstreams.js +31 -0
  279. package/vendor/packages/toolkit/dist/governance/upstreams.js.map +1 -0
  280. package/vendor/packages/toolkit/dist/governance/upstreams.test.d.ts +2 -0
  281. package/vendor/packages/toolkit/dist/governance/upstreams.test.d.ts.map +1 -0
  282. package/vendor/packages/toolkit/dist/governance/upstreams.test.js +23 -0
  283. package/vendor/packages/toolkit/dist/governance/upstreams.test.js.map +1 -0
  284. package/vendor/packages/toolkit/dist/index.d.ts +8 -0
  285. package/vendor/packages/toolkit/dist/index.d.ts.map +1 -0
  286. package/vendor/packages/toolkit/dist/index.js +8 -0
  287. package/vendor/packages/toolkit/dist/index.js.map +1 -0
  288. package/vendor/packages/toolkit/dist/lint/content-lint.d.ts +21 -0
  289. package/vendor/packages/toolkit/dist/lint/content-lint.d.ts.map +1 -0
  290. package/vendor/packages/toolkit/dist/lint/content-lint.js +250 -0
  291. package/vendor/packages/toolkit/dist/lint/content-lint.js.map +1 -0
  292. package/vendor/packages/toolkit/dist/lint/index.d.ts +2 -0
  293. package/vendor/packages/toolkit/dist/lint/index.d.ts.map +1 -0
  294. package/vendor/packages/toolkit/dist/lint/index.js +2 -0
  295. package/vendor/packages/toolkit/dist/lint/index.js.map +1 -0
  296. package/vendor/packages/toolkit/dist/loaders/asset-unit.d.ts +4 -0
  297. package/vendor/packages/toolkit/dist/loaders/asset-unit.d.ts.map +1 -0
  298. package/vendor/packages/toolkit/dist/loaders/asset-unit.js +95 -0
  299. package/vendor/packages/toolkit/dist/loaders/asset-unit.js.map +1 -0
  300. package/vendor/packages/toolkit/dist/loaders/content-tree.d.ts +2 -0
  301. package/vendor/packages/toolkit/dist/loaders/content-tree.d.ts.map +1 -0
  302. package/vendor/packages/toolkit/dist/loaders/content-tree.js +2 -0
  303. package/vendor/packages/toolkit/dist/loaders/content-tree.js.map +1 -0
  304. package/vendor/packages/toolkit/dist/loaders/fs.d.ts +6 -0
  305. package/vendor/packages/toolkit/dist/loaders/fs.d.ts.map +1 -0
  306. package/vendor/packages/toolkit/dist/loaders/fs.js +19 -0
  307. package/vendor/packages/toolkit/dist/loaders/fs.js.map +1 -0
  308. package/vendor/packages/toolkit/dist/loaders/index.d.ts +4 -0
  309. package/vendor/packages/toolkit/dist/loaders/index.d.ts.map +1 -0
  310. package/vendor/packages/toolkit/dist/loaders/index.js +4 -0
  311. package/vendor/packages/toolkit/dist/loaders/index.js.map +1 -0
  312. package/vendor/packages/toolkit/dist/loaders/simple-yaml.d.ts +2 -0
  313. package/vendor/packages/toolkit/dist/loaders/simple-yaml.d.ts.map +1 -0
  314. package/vendor/packages/toolkit/dist/loaders/simple-yaml.js +125 -0
  315. package/vendor/packages/toolkit/dist/loaders/simple-yaml.js.map +1 -0
  316. package/vendor/packages/toolkit/dist/loaders.test.d.ts +2 -0
  317. package/vendor/packages/toolkit/dist/loaders.test.d.ts.map +1 -0
  318. package/vendor/packages/toolkit/dist/loaders.test.js +84 -0
  319. package/vendor/packages/toolkit/dist/loaders.test.js.map +1 -0
  320. package/vendor/packages/toolkit/dist/manifests/index.d.ts +2 -0
  321. package/vendor/packages/toolkit/dist/manifests/index.d.ts.map +1 -0
  322. package/vendor/packages/toolkit/dist/manifests/index.js +2 -0
  323. package/vendor/packages/toolkit/dist/manifests/index.js.map +1 -0
  324. package/vendor/packages/toolkit/dist/manifests/toolkit-manifest.d.ts +7 -0
  325. package/vendor/packages/toolkit/dist/manifests/toolkit-manifest.d.ts.map +1 -0
  326. package/vendor/packages/toolkit/dist/manifests/toolkit-manifest.js +72 -0
  327. package/vendor/packages/toolkit/dist/manifests/toolkit-manifest.js.map +1 -0
  328. package/vendor/packages/toolkit/dist/manifests.test.d.ts +2 -0
  329. package/vendor/packages/toolkit/dist/manifests.test.d.ts.map +1 -0
  330. package/vendor/packages/toolkit/dist/manifests.test.js +75 -0
  331. package/vendor/packages/toolkit/dist/manifests.test.js.map +1 -0
  332. package/vendor/packages/toolkit/dist/query/index.d.ts +2 -0
  333. package/vendor/packages/toolkit/dist/query/index.d.ts.map +1 -0
  334. package/vendor/packages/toolkit/dist/query/index.js +2 -0
  335. package/vendor/packages/toolkit/dist/query/index.js.map +1 -0
  336. package/vendor/packages/toolkit/dist/query/toolkit-query.d.ts +10 -0
  337. package/vendor/packages/toolkit/dist/query/toolkit-query.d.ts.map +1 -0
  338. package/vendor/packages/toolkit/dist/query/toolkit-query.js +49 -0
  339. package/vendor/packages/toolkit/dist/query/toolkit-query.js.map +1 -0
  340. package/vendor/packages/toolkit/dist/query.test.d.ts +2 -0
  341. package/vendor/packages/toolkit/dist/query.test.d.ts.map +1 -0
  342. package/vendor/packages/toolkit/dist/query.test.js +30 -0
  343. package/vendor/packages/toolkit/dist/query.test.js.map +1 -0
  344. package/vendor/packages/toolkit/dist/schema/asset-meta.d.ts +3 -0
  345. package/vendor/packages/toolkit/dist/schema/asset-meta.d.ts.map +1 -0
  346. package/vendor/packages/toolkit/dist/schema/asset-meta.js +130 -0
  347. package/vendor/packages/toolkit/dist/schema/asset-meta.js.map +1 -0
  348. package/vendor/packages/toolkit/dist/schema/asset-unit.d.ts +3 -0
  349. package/vendor/packages/toolkit/dist/schema/asset-unit.d.ts.map +1 -0
  350. package/vendor/packages/toolkit/dist/schema/asset-unit.js +22 -0
  351. package/vendor/packages/toolkit/dist/schema/asset-unit.js.map +1 -0
  352. package/vendor/packages/toolkit/dist/schema/index.d.ts +5 -0
  353. package/vendor/packages/toolkit/dist/schema/index.d.ts.map +1 -0
  354. package/vendor/packages/toolkit/dist/schema/index.js +5 -0
  355. package/vendor/packages/toolkit/dist/schema/index.js.map +1 -0
  356. package/vendor/packages/toolkit/dist/schema/kinds.d.ts +6 -0
  357. package/vendor/packages/toolkit/dist/schema/kinds.d.ts.map +1 -0
  358. package/vendor/packages/toolkit/dist/schema/kinds.js +24 -0
  359. package/vendor/packages/toolkit/dist/schema/kinds.js.map +1 -0
  360. package/vendor/packages/toolkit/dist/schema/manifest.d.ts +3 -0
  361. package/vendor/packages/toolkit/dist/schema/manifest.d.ts.map +1 -0
  362. package/vendor/packages/toolkit/dist/schema/manifest.js +30 -0
  363. package/vendor/packages/toolkit/dist/schema/manifest.js.map +1 -0
  364. package/vendor/packages/toolkit/dist/types.d.ts +80 -0
  365. package/vendor/packages/toolkit/dist/types.d.ts.map +1 -0
  366. package/vendor/packages/toolkit/dist/types.js +6 -0
  367. package/vendor/packages/toolkit/dist/types.js.map +1 -0
  368. package/vendor/packages/toolkit/package.json +35 -0
  369. package/vendor/packages/toolkit/src/content/agents/architect/assets/.gitkeep +0 -0
  370. package/vendor/packages/toolkit/src/content/agents/architect/body.md +34 -0
  371. package/vendor/packages/toolkit/src/content/agents/architect/meta.yaml +25 -0
  372. package/vendor/packages/toolkit/src/content/agents/backend-specialist/assets/.gitkeep +0 -0
  373. package/vendor/packages/toolkit/src/content/agents/backend-specialist/body.md +30 -0
  374. package/vendor/packages/toolkit/src/content/agents/backend-specialist/meta.yaml +24 -0
  375. package/vendor/packages/toolkit/src/content/agents/code-reviewer/assets/.gitkeep +0 -0
  376. package/vendor/packages/toolkit/src/content/agents/code-reviewer/body.md +31 -0
  377. package/vendor/packages/toolkit/src/content/agents/code-reviewer/meta.yaml +26 -0
  378. package/vendor/packages/toolkit/src/content/agents/frontend-specialist/assets/.gitkeep +0 -0
  379. package/vendor/packages/toolkit/src/content/agents/frontend-specialist/body.md +31 -0
  380. package/vendor/packages/toolkit/src/content/agents/frontend-specialist/meta.yaml +24 -0
  381. package/vendor/packages/toolkit/src/content/agents/performance-engineer/assets/.gitkeep +0 -0
  382. package/vendor/packages/toolkit/src/content/agents/performance-engineer/body.md +72 -0
  383. package/vendor/packages/toolkit/src/content/agents/performance-engineer/meta.yaml +24 -0
  384. package/vendor/packages/toolkit/src/content/agents/product-owner/assets/.gitkeep +0 -0
  385. package/vendor/packages/toolkit/src/content/agents/product-owner/body.md +32 -0
  386. package/vendor/packages/toolkit/src/content/agents/product-owner/meta.yaml +24 -0
  387. package/vendor/packages/toolkit/src/content/agents/security-auditor/assets/.gitkeep +0 -0
  388. package/vendor/packages/toolkit/src/content/agents/security-auditor/body.md +83 -0
  389. package/vendor/packages/toolkit/src/content/agents/security-auditor/meta.yaml +24 -0
  390. package/vendor/packages/toolkit/src/content/agents/test-engineer/assets/.gitkeep +0 -0
  391. package/vendor/packages/toolkit/src/content/agents/test-engineer/body.md +30 -0
  392. package/vendor/packages/toolkit/src/content/agents/test-engineer/meta.yaml +28 -0
  393. package/vendor/packages/toolkit/src/content/commands/api/assets/.gitkeep +0 -0
  394. package/vendor/packages/toolkit/src/content/commands/api/body.md +24 -0
  395. package/vendor/packages/toolkit/src/content/commands/api/meta.yaml +19 -0
  396. package/vendor/packages/toolkit/src/content/commands/build/assets/.gitkeep +0 -0
  397. package/vendor/packages/toolkit/src/content/commands/build/body.md +37 -0
  398. package/vendor/packages/toolkit/src/content/commands/build/meta.yaml +26 -0
  399. package/vendor/packages/toolkit/src/content/commands/careful/assets/.gitkeep +0 -0
  400. package/vendor/packages/toolkit/src/content/commands/careful/body.md +18 -0
  401. package/vendor/packages/toolkit/src/content/commands/careful/meta.yaml +17 -0
  402. package/vendor/packages/toolkit/src/content/commands/ci/assets/.gitkeep +0 -0
  403. package/vendor/packages/toolkit/src/content/commands/ci/body.md +27 -0
  404. package/vendor/packages/toolkit/src/content/commands/ci/meta.yaml +19 -0
  405. package/vendor/packages/toolkit/src/content/commands/commit/assets/.gitkeep +0 -0
  406. package/vendor/packages/toolkit/src/content/commands/commit/body.md +26 -0
  407. package/vendor/packages/toolkit/src/content/commands/commit/meta.yaml +19 -0
  408. package/vendor/packages/toolkit/src/content/commands/ctx-health/assets/.gitkeep +0 -0
  409. package/vendor/packages/toolkit/src/content/commands/ctx-health/body.md +22 -0
  410. package/vendor/packages/toolkit/src/content/commands/ctx-health/meta.yaml +19 -0
  411. package/vendor/packages/toolkit/src/content/commands/debug/assets/.gitkeep +0 -0
  412. package/vendor/packages/toolkit/src/content/commands/debug/body.md +24 -0
  413. package/vendor/packages/toolkit/src/content/commands/debug/meta.yaml +19 -0
  414. package/vendor/packages/toolkit/src/content/commands/doc/assets/.gitkeep +0 -0
  415. package/vendor/packages/toolkit/src/content/commands/doc/body.md +23 -0
  416. package/vendor/packages/toolkit/src/content/commands/doc/meta.yaml +19 -0
  417. package/vendor/packages/toolkit/src/content/commands/freeze/assets/.gitkeep +0 -0
  418. package/vendor/packages/toolkit/src/content/commands/freeze/body.md +17 -0
  419. package/vendor/packages/toolkit/src/content/commands/freeze/meta.yaml +17 -0
  420. package/vendor/packages/toolkit/src/content/commands/guard/assets/.gitkeep +0 -0
  421. package/vendor/packages/toolkit/src/content/commands/guard/body.md +17 -0
  422. package/vendor/packages/toolkit/src/content/commands/guard/meta.yaml +20 -0
  423. package/vendor/packages/toolkit/src/content/commands/idea/assets/.gitkeep +0 -0
  424. package/vendor/packages/toolkit/src/content/commands/idea/body.md +23 -0
  425. package/vendor/packages/toolkit/src/content/commands/idea/meta.yaml +19 -0
  426. package/vendor/packages/toolkit/src/content/commands/learn/assets/.gitkeep +0 -0
  427. package/vendor/packages/toolkit/src/content/commands/learn/body.md +37 -0
  428. package/vendor/packages/toolkit/src/content/commands/learn/meta.yaml +19 -0
  429. package/vendor/packages/toolkit/src/content/commands/migrate/assets/.gitkeep +0 -0
  430. package/vendor/packages/toolkit/src/content/commands/migrate/body.md +24 -0
  431. package/vendor/packages/toolkit/src/content/commands/migrate/meta.yaml +20 -0
  432. package/vendor/packages/toolkit/src/content/commands/onboard/assets/.gitkeep +0 -0
  433. package/vendor/packages/toolkit/src/content/commands/onboard/body.md +24 -0
  434. package/vendor/packages/toolkit/src/content/commands/onboard/meta.yaml +19 -0
  435. package/vendor/packages/toolkit/src/content/commands/perf/assets/.gitkeep +0 -0
  436. package/vendor/packages/toolkit/src/content/commands/perf/body.md +23 -0
  437. package/vendor/packages/toolkit/src/content/commands/perf/meta.yaml +19 -0
  438. package/vendor/packages/toolkit/src/content/commands/plan-review/assets/.gitkeep +0 -0
  439. package/vendor/packages/toolkit/src/content/commands/plan-review/body.md +28 -0
  440. package/vendor/packages/toolkit/src/content/commands/plan-review/meta.yaml +20 -0
  441. package/vendor/packages/toolkit/src/content/commands/qa/assets/.gitkeep +0 -0
  442. package/vendor/packages/toolkit/src/content/commands/qa/body.md +24 -0
  443. package/vendor/packages/toolkit/src/content/commands/qa/meta.yaml +19 -0
  444. package/vendor/packages/toolkit/src/content/commands/quality-review/assets/.gitkeep +0 -0
  445. package/vendor/packages/toolkit/src/content/commands/quality-review/body.md +38 -0
  446. package/vendor/packages/toolkit/src/content/commands/quality-review/meta.yaml +22 -0
  447. package/vendor/packages/toolkit/src/content/commands/retro/assets/.gitkeep +0 -0
  448. package/vendor/packages/toolkit/src/content/commands/retro/body.md +25 -0
  449. package/vendor/packages/toolkit/src/content/commands/retro/meta.yaml +20 -0
  450. package/vendor/packages/toolkit/src/content/commands/sdd-tdd/assets/.gitkeep +0 -0
  451. package/vendor/packages/toolkit/src/content/commands/sdd-tdd/body.md +39 -0
  452. package/vendor/packages/toolkit/src/content/commands/sdd-tdd/meta.yaml +23 -0
  453. package/vendor/packages/toolkit/src/content/commands/secure/assets/.gitkeep +0 -0
  454. package/vendor/packages/toolkit/src/content/commands/secure/body.md +23 -0
  455. package/vendor/packages/toolkit/src/content/commands/secure/meta.yaml +19 -0
  456. package/vendor/packages/toolkit/src/content/commands/ship/assets/.gitkeep +0 -0
  457. package/vendor/packages/toolkit/src/content/commands/ship/body.md +17 -0
  458. package/vendor/packages/toolkit/src/content/commands/ship/meta.yaml +21 -0
  459. package/vendor/packages/toolkit/src/content/commands/simplify/assets/.gitkeep +0 -0
  460. package/vendor/packages/toolkit/src/content/commands/simplify/body.md +24 -0
  461. package/vendor/packages/toolkit/src/content/commands/simplify/meta.yaml +19 -0
  462. package/vendor/packages/toolkit/src/content/commands/spec/assets/.gitkeep +0 -0
  463. package/vendor/packages/toolkit/src/content/commands/spec/body.md +32 -0
  464. package/vendor/packages/toolkit/src/content/commands/spec/meta.yaml +23 -0
  465. package/vendor/packages/toolkit/src/content/commands/task-plan/assets/.gitkeep +0 -0
  466. package/vendor/packages/toolkit/src/content/commands/task-plan/body.md +32 -0
  467. package/vendor/packages/toolkit/src/content/commands/task-plan/meta.yaml +23 -0
  468. package/vendor/packages/toolkit/src/content/commands/ui/assets/.gitkeep +0 -0
  469. package/vendor/packages/toolkit/src/content/commands/ui/body.md +24 -0
  470. package/vendor/packages/toolkit/src/content/commands/ui/meta.yaml +20 -0
  471. package/vendor/packages/toolkit/src/content/commands/verify/assets/.gitkeep +0 -0
  472. package/vendor/packages/toolkit/src/content/commands/verify/body.md +32 -0
  473. package/vendor/packages/toolkit/src/content/commands/verify/meta.yaml +19 -0
  474. package/vendor/packages/toolkit/src/content/skills/api-and-interface-design/assets/.gitkeep +0 -0
  475. package/vendor/packages/toolkit/src/content/skills/api-and-interface-design/body.md +289 -0
  476. package/vendor/packages/toolkit/src/content/skills/api-and-interface-design/meta.yaml +21 -0
  477. package/vendor/packages/toolkit/src/content/skills/brainstorming-and-design/assets/.gitkeep +0 -0
  478. package/vendor/packages/toolkit/src/content/skills/brainstorming-and-design/body.md +129 -0
  479. package/vendor/packages/toolkit/src/content/skills/brainstorming-and-design/meta.yaml +18 -0
  480. package/vendor/packages/toolkit/src/content/skills/branch-finish-and-cleanup/body.md +155 -0
  481. package/vendor/packages/toolkit/src/content/skills/branch-finish-and-cleanup/meta.yaml +17 -0
  482. package/vendor/packages/toolkit/src/content/skills/browser-qa-testing/assets/.gitkeep +0 -0
  483. package/vendor/packages/toolkit/src/content/skills/browser-qa-testing/body.md +554 -0
  484. package/vendor/packages/toolkit/src/content/skills/browser-qa-testing/meta.yaml +20 -0
  485. package/vendor/packages/toolkit/src/content/skills/ci-cd-and-automation/assets/.gitkeep +0 -0
  486. package/vendor/packages/toolkit/src/content/skills/ci-cd-and-automation/body.md +417 -0
  487. package/vendor/packages/toolkit/src/content/skills/ci-cd-and-automation/meta.yaml +21 -0
  488. package/vendor/packages/toolkit/src/content/skills/code-review-and-quality/assets/.gitkeep +0 -0
  489. package/vendor/packages/toolkit/src/content/skills/code-review-and-quality/body.md +130 -0
  490. package/vendor/packages/toolkit/src/content/skills/code-review-and-quality/meta.yaml +21 -0
  491. package/vendor/packages/toolkit/src/content/skills/code-simplification/assets/.gitkeep +0 -0
  492. package/vendor/packages/toolkit/src/content/skills/code-simplification/body.md +326 -0
  493. package/vendor/packages/toolkit/src/content/skills/code-simplification/meta.yaml +21 -0
  494. package/vendor/packages/toolkit/src/content/skills/codebase-onboarding/assets/.gitkeep +0 -0
  495. package/vendor/packages/toolkit/src/content/skills/codebase-onboarding/body.md +40 -0
  496. package/vendor/packages/toolkit/src/content/skills/codebase-onboarding/meta.yaml +20 -0
  497. package/vendor/packages/toolkit/src/content/skills/context-budget-audit/assets/.gitkeep +0 -0
  498. package/vendor/packages/toolkit/src/content/skills/context-budget-audit/body.md +38 -0
  499. package/vendor/packages/toolkit/src/content/skills/context-budget-audit/meta.yaml +17 -0
  500. package/vendor/packages/toolkit/src/content/skills/context-engineering/assets/.gitkeep +0 -0
  501. package/vendor/packages/toolkit/src/content/skills/context-engineering/body.md +55 -0
  502. package/vendor/packages/toolkit/src/content/skills/context-engineering/meta.yaml +17 -0
  503. package/vendor/packages/toolkit/src/content/skills/continuous-learning/assets/.gitkeep +0 -0
  504. package/vendor/packages/toolkit/src/content/skills/continuous-learning/body.md +367 -0
  505. package/vendor/packages/toolkit/src/content/skills/continuous-learning/meta.yaml +18 -0
  506. package/vendor/packages/toolkit/src/content/skills/debugging-and-error-recovery/assets/.gitkeep +0 -0
  507. package/vendor/packages/toolkit/src/content/skills/debugging-and-error-recovery/body.md +43 -0
  508. package/vendor/packages/toolkit/src/content/skills/debugging-and-error-recovery/meta.yaml +21 -0
  509. package/vendor/packages/toolkit/src/content/skills/deprecation-and-migration/assets/.gitkeep +0 -0
  510. package/vendor/packages/toolkit/src/content/skills/deprecation-and-migration/body.md +201 -0
  511. package/vendor/packages/toolkit/src/content/skills/deprecation-and-migration/meta.yaml +21 -0
  512. package/vendor/packages/toolkit/src/content/skills/developer-experience-audit/body.md +49 -0
  513. package/vendor/packages/toolkit/src/content/skills/developer-experience-audit/meta.yaml +17 -0
  514. package/vendor/packages/toolkit/src/content/skills/documentation-and-adrs/assets/.gitkeep +0 -0
  515. package/vendor/packages/toolkit/src/content/skills/documentation-and-adrs/body.md +61 -0
  516. package/vendor/packages/toolkit/src/content/skills/documentation-and-adrs/meta.yaml +21 -0
  517. package/vendor/packages/toolkit/src/content/skills/engineering-principles/body.md +54 -0
  518. package/vendor/packages/toolkit/src/content/skills/engineering-principles/meta.yaml +18 -0
  519. package/vendor/packages/toolkit/src/content/skills/frontend-ui-engineering/assets/.gitkeep +0 -0
  520. package/vendor/packages/toolkit/src/content/skills/frontend-ui-engineering/body.md +324 -0
  521. package/vendor/packages/toolkit/src/content/skills/frontend-ui-engineering/meta.yaml +21 -0
  522. package/vendor/packages/toolkit/src/content/skills/git-workflow-and-versioning/assets/.gitkeep +0 -0
  523. package/vendor/packages/toolkit/src/content/skills/git-workflow-and-versioning/body.md +319 -0
  524. package/vendor/packages/toolkit/src/content/skills/git-workflow-and-versioning/meta.yaml +21 -0
  525. package/vendor/packages/toolkit/src/content/skills/idea-refine/assets/.gitkeep +0 -0
  526. package/vendor/packages/toolkit/src/content/skills/idea-refine/body.md +173 -0
  527. package/vendor/packages/toolkit/src/content/skills/idea-refine/meta.yaml +17 -0
  528. package/vendor/packages/toolkit/src/content/skills/incremental-implementation/assets/.gitkeep +0 -0
  529. package/vendor/packages/toolkit/src/content/skills/incremental-implementation/body.md +43 -0
  530. package/vendor/packages/toolkit/src/content/skills/incremental-implementation/meta.yaml +20 -0
  531. package/vendor/packages/toolkit/src/content/skills/multi-perspective-review/assets/.gitkeep +0 -0
  532. package/vendor/packages/toolkit/src/content/skills/multi-perspective-review/body.md +52 -0
  533. package/vendor/packages/toolkit/src/content/skills/multi-perspective-review/meta.yaml +18 -0
  534. package/vendor/packages/toolkit/src/content/skills/parallel-agent-dispatch/assets/.gitkeep +0 -0
  535. package/vendor/packages/toolkit/src/content/skills/parallel-agent-dispatch/body.md +351 -0
  536. package/vendor/packages/toolkit/src/content/skills/parallel-agent-dispatch/meta.yaml +19 -0
  537. package/vendor/packages/toolkit/src/content/skills/performance-optimization/assets/.gitkeep +0 -0
  538. package/vendor/packages/toolkit/src/content/skills/performance-optimization/body.md +345 -0
  539. package/vendor/packages/toolkit/src/content/skills/performance-optimization/meta.yaml +20 -0
  540. package/vendor/packages/toolkit/src/content/skills/planning-and-task-breakdown/assets/.gitkeep +0 -0
  541. package/vendor/packages/toolkit/src/content/skills/planning-and-task-breakdown/body.md +48 -0
  542. package/vendor/packages/toolkit/src/content/skills/planning-and-task-breakdown/meta.yaml +20 -0
  543. package/vendor/packages/toolkit/src/content/skills/release-documentation-sync/body.md +54 -0
  544. package/vendor/packages/toolkit/src/content/skills/release-documentation-sync/meta.yaml +15 -0
  545. package/vendor/packages/toolkit/src/content/skills/review-response-and-resolution/body.md +61 -0
  546. package/vendor/packages/toolkit/src/content/skills/review-response-and-resolution/meta.yaml +18 -0
  547. package/vendor/packages/toolkit/src/content/skills/safety-guardrails/assets/.gitkeep +0 -0
  548. package/vendor/packages/toolkit/src/content/skills/safety-guardrails/body.md +43 -0
  549. package/vendor/packages/toolkit/src/content/skills/safety-guardrails/meta.yaml +17 -0
  550. package/vendor/packages/toolkit/src/content/skills/sdd-tdd-workflow/assets/.gitkeep +0 -0
  551. package/vendor/packages/toolkit/src/content/skills/sdd-tdd-workflow/body.md +371 -0
  552. package/vendor/packages/toolkit/src/content/skills/sdd-tdd-workflow/meta.yaml +25 -0
  553. package/vendor/packages/toolkit/src/content/skills/security-and-hardening/assets/.gitkeep +0 -0
  554. package/vendor/packages/toolkit/src/content/skills/security-and-hardening/body.md +344 -0
  555. package/vendor/packages/toolkit/src/content/skills/security-and-hardening/meta.yaml +21 -0
  556. package/vendor/packages/toolkit/src/content/skills/shipping-and-launch/assets/.gitkeep +0 -0
  557. package/vendor/packages/toolkit/src/content/skills/shipping-and-launch/body.md +55 -0
  558. package/vendor/packages/toolkit/src/content/skills/shipping-and-launch/meta.yaml +22 -0
  559. package/vendor/packages/toolkit/src/content/skills/source-driven-development/assets/.gitkeep +0 -0
  560. package/vendor/packages/toolkit/src/content/skills/source-driven-development/body.md +186 -0
  561. package/vendor/packages/toolkit/src/content/skills/source-driven-development/meta.yaml +18 -0
  562. package/vendor/packages/toolkit/src/content/skills/spec-driven-development/assets/.gitkeep +0 -0
  563. package/vendor/packages/toolkit/src/content/skills/spec-driven-development/body.md +49 -0
  564. package/vendor/packages/toolkit/src/content/skills/spec-driven-development/meta.yaml +20 -0
  565. package/vendor/packages/toolkit/src/content/skills/sprint-retrospective/assets/.gitkeep +0 -0
  566. package/vendor/packages/toolkit/src/content/skills/sprint-retrospective/body.md +336 -0
  567. package/vendor/packages/toolkit/src/content/skills/sprint-retrospective/meta.yaml +17 -0
  568. package/vendor/packages/toolkit/src/content/skills/subagent-driven-development/assets/.gitkeep +0 -0
  569. package/vendor/packages/toolkit/src/content/skills/subagent-driven-development/body.md +228 -0
  570. package/vendor/packages/toolkit/src/content/skills/subagent-driven-development/meta.yaml +19 -0
  571. package/vendor/packages/toolkit/src/content/skills/team-orchestration/assets/.gitkeep +0 -0
  572. package/vendor/packages/toolkit/src/content/skills/team-orchestration/body.md +372 -0
  573. package/vendor/packages/toolkit/src/content/skills/team-orchestration/meta.yaml +20 -0
  574. package/vendor/packages/toolkit/src/content/skills/test-driven-development/assets/.gitkeep +0 -0
  575. package/vendor/packages/toolkit/src/content/skills/test-driven-development/body.md +374 -0
  576. package/vendor/packages/toolkit/src/content/skills/test-driven-development/meta.yaml +20 -0
  577. package/vendor/packages/toolkit/src/content/skills/using-agent-skills/assets/.gitkeep +0 -0
  578. package/vendor/packages/toolkit/src/content/skills/using-agent-skills/body.md +169 -0
  579. package/vendor/packages/toolkit/src/content/skills/using-agent-skills/meta.yaml +23 -0
  580. package/vendor/packages/toolkit/src/content/skills/verification-before-completion/assets/.gitkeep +0 -0
  581. package/vendor/packages/toolkit/src/content/skills/verification-before-completion/body.md +68 -0
  582. package/vendor/packages/toolkit/src/content/skills/verification-before-completion/meta.yaml +20 -0
  583. package/vendor/packages/toolkit/templates/README.md +12 -0
  584. package/vendor/packages/toolkit/templates/asset-unit/assets/.gitkeep +1 -0
  585. package/vendor/packages/toolkit/templates/asset-unit/body.md +3 -0
  586. package/vendor/packages/toolkit/templates/asset-unit/meta.yaml +6 -0
  587. package/vendor/references/upstreams.yaml +89 -0
@@ -0,0 +1,705 @@
1
+ import { mkdir, readFile, readdir, rename, rm, writeFile } from "node:fs/promises";
2
+ import { dirname, isAbsolute, relative, resolve } from "node:path";
3
+ import { Command as CommanderCommand } from "commander";
4
+ import { resolveWorkspacePath } from "../utils/workspace.js";
5
+ function getUpstreamsFile() {
6
+ return resolveWorkspacePath("references/upstreams.yaml");
7
+ }
8
+ function resolveReferencePath(pathValue) {
9
+ if (isAbsolute(pathValue)) {
10
+ return pathValue;
11
+ }
12
+ return resolveWorkspacePath(pathValue);
13
+ }
14
+ function toWorkspaceRelative(pathValue) {
15
+ return relative(resolveWorkspacePath("."), pathValue) || ".";
16
+ }
17
+ function toDisplayPath(pathValue) {
18
+ const relativePath = relative(resolveWorkspacePath("."), pathValue);
19
+ return relativePath.startsWith("..") ? pathValue : relativePath || ".";
20
+ }
21
+ function parseKeyValue(line) {
22
+ const separatorIndex = line.indexOf(":");
23
+ if (separatorIndex <= 0) {
24
+ return null;
25
+ }
26
+ return {
27
+ key: line.slice(0, separatorIndex).trim(),
28
+ value: line.slice(separatorIndex + 1).trim(),
29
+ };
30
+ }
31
+ function parseUpstreamBlocks(source) {
32
+ const lines = source.replace(/\r\n/g, "\n").split("\n");
33
+ const upstreams = [];
34
+ let current = null;
35
+ let section = null;
36
+ for (const rawLine of lines) {
37
+ const line = rawLine.trimEnd();
38
+ if (line.startsWith(" - id:")) {
39
+ if (current) {
40
+ upstreams.push(current);
41
+ }
42
+ current = {
43
+ id: line.slice(" - id:".length).trim(),
44
+ sourcePaths: [],
45
+ };
46
+ section = null;
47
+ continue;
48
+ }
49
+ if (!current) {
50
+ continue;
51
+ }
52
+ if (line.startsWith(" source_paths:")) {
53
+ section = "source_paths";
54
+ continue;
55
+ }
56
+ if (line.startsWith(" sync:")) {
57
+ section = "sync";
58
+ continue;
59
+ }
60
+ if (section === "source_paths" && line.startsWith(" - ")) {
61
+ current.sourcePaths.push(line.slice(" - ".length).trim());
62
+ continue;
63
+ }
64
+ if (section === "sync" && line.startsWith(" ")) {
65
+ const parsed = parseKeyValue(line.trim());
66
+ if (!parsed) {
67
+ continue;
68
+ }
69
+ switch (parsed.key) {
70
+ case "compare_against":
71
+ current.compareAgainst = parsed.value;
72
+ break;
73
+ case "publish_target":
74
+ current.publishTarget = parsed.value;
75
+ break;
76
+ default:
77
+ break;
78
+ }
79
+ continue;
80
+ }
81
+ if (!line.startsWith(" ")) {
82
+ section = null;
83
+ continue;
84
+ }
85
+ section = null;
86
+ const parsed = parseKeyValue(line.trim());
87
+ if (!parsed) {
88
+ continue;
89
+ }
90
+ switch (parsed.key) {
91
+ case "title":
92
+ current.title = parsed.value;
93
+ break;
94
+ case "kind":
95
+ current.kind = parsed.value;
96
+ break;
97
+ case "status":
98
+ current.status = parsed.value;
99
+ break;
100
+ case "owner":
101
+ current.owner = parsed.value;
102
+ break;
103
+ case "notes_path":
104
+ current.notesPath = parsed.value;
105
+ break;
106
+ case "snapshots_path":
107
+ current.snapshotsPath = parsed.value;
108
+ break;
109
+ default:
110
+ break;
111
+ }
112
+ }
113
+ if (current) {
114
+ upstreams.push(current);
115
+ }
116
+ return upstreams;
117
+ }
118
+ async function loadUpstreams() {
119
+ return parseUpstreamBlocks(await readFile(getUpstreamsFile(), "utf8"));
120
+ }
121
+ async function collectSnapshotFiles(root) {
122
+ const entries = await readdir(root, { withFileTypes: true });
123
+ const files = [];
124
+ for (const entry of entries) {
125
+ const absolutePath = resolve(root, entry.name);
126
+ if (entry.isDirectory()) {
127
+ files.push(...(await collectSnapshotFiles(absolutePath)));
128
+ continue;
129
+ }
130
+ if (entry.isFile() && entry.name.endsWith(".json")) {
131
+ files.push(absolutePath);
132
+ }
133
+ }
134
+ return files;
135
+ }
136
+ async function resolveBaselinePath(item, against) {
137
+ if (!item.snapshotsPath) {
138
+ throw new Error(`上游 ${item.id} 未配置 snapshots_path。`);
139
+ }
140
+ const snapshotsRoot = resolveReferencePath(item.snapshotsPath);
141
+ const files = (await collectSnapshotFiles(snapshotsRoot)).sort();
142
+ if (against) {
143
+ const requested = isAbsolute(against) ? against : resolve(snapshotsRoot, against);
144
+ if (!files.includes(requested)) {
145
+ throw new Error(`未找到指定基线:${against}`);
146
+ }
147
+ return requested;
148
+ }
149
+ const latest = files.at(-1);
150
+ if (!latest) {
151
+ throw new Error(`上游 ${item.id} 没有可用的 snapshot 基线。`);
152
+ }
153
+ return latest;
154
+ }
155
+ async function loadSnapshot(pathValue) {
156
+ const payload = JSON.parse(await readFile(pathValue, "utf8"));
157
+ if (!payload.upstream) {
158
+ throw new Error(`snapshot 文件缺少 upstream 字段:${toWorkspaceRelative(pathValue)}`);
159
+ }
160
+ return payload;
161
+ }
162
+ async function readOptionalFile(pathValue) {
163
+ if (!pathValue) {
164
+ return "";
165
+ }
166
+ return readFile(resolveReferencePath(pathValue), "utf8");
167
+ }
168
+ function comparePathLists(baseline, current) {
169
+ const removed = baseline
170
+ .filter((pathValue) => !current.includes(pathValue))
171
+ .map((pathValue) => ({ path: pathValue, kind: "removed" }));
172
+ const added = current
173
+ .filter((pathValue) => !baseline.includes(pathValue))
174
+ .map((pathValue) => ({ path: pathValue, kind: "added" }));
175
+ return [...removed, ...added];
176
+ }
177
+ function countMeaningfulLines(source) {
178
+ return source
179
+ .split("\n")
180
+ .map((line) => line.trim())
181
+ .filter(Boolean).length;
182
+ }
183
+ function sanitizeSnapshotLabel(label) {
184
+ return label
185
+ .trim()
186
+ .replace(/\s+/g, "-")
187
+ .replace(/[<>:"/\\|?*\u0000-\u001f]/g, "")
188
+ .replace(/-+/g, "-");
189
+ }
190
+ function buildSnapshotFileName(capturedAt, label) {
191
+ const safeTimestamp = capturedAt.replace(/[:.]/g, "-");
192
+ const safeLabel = label ? sanitizeSnapshotLabel(label) : "";
193
+ return safeLabel ? `${safeTimestamp}-${safeLabel}.json` : `${safeTimestamp}.json`;
194
+ }
195
+ function compareNotes(baseline, currentNotesPath, currentContent) {
196
+ const baselineContent = baseline.notes?.content ?? "";
197
+ if (baselineContent === currentContent) {
198
+ return [];
199
+ }
200
+ const beforeLines = countMeaningfulLines(baselineContent);
201
+ const afterLines = countMeaningfulLines(currentContent);
202
+ return [
203
+ {
204
+ path: currentNotesPath ?? baseline.notes?.path ?? "-",
205
+ summary: `治理说明正文变化(有效行数 ${beforeLines} -> ${afterLines})。`,
206
+ },
207
+ ];
208
+ }
209
+ function compareMetadata(item, baseline) {
210
+ const currentMetadata = {
211
+ title: item.title ?? "-",
212
+ kind: item.kind ?? "-",
213
+ status: item.status ?? "-",
214
+ owner: item.owner ?? "-",
215
+ };
216
+ const baselineMetadata = {
217
+ title: baseline.metadata?.title ?? "-",
218
+ kind: baseline.metadata?.kind ?? "-",
219
+ status: baseline.metadata?.status ?? "-",
220
+ owner: baseline.metadata?.owner ?? "-",
221
+ };
222
+ return Object.keys(currentMetadata)
223
+ .filter((field) => currentMetadata[field] !== baselineMetadata[field])
224
+ .map((field) => ({
225
+ field,
226
+ before: baselineMetadata[field],
227
+ after: currentMetadata[field],
228
+ }));
229
+ }
230
+ function buildImpacts(result) {
231
+ const impacts = [];
232
+ if (result.text.length > 0 || result.metadata.length > 0) {
233
+ impacts.push({
234
+ target: "references",
235
+ effect: "治理记录或审阅结论需要更新,但当前命令不会直接写回。",
236
+ directWrite: false,
237
+ });
238
+ }
239
+ if (result.structural.length > 0 || result.metadata.some((item) => item.field === "status")) {
240
+ impacts.push({
241
+ target: "toolkit",
242
+ effect: "变更可能影响 canonical content 的采纳决策,但不会直接写入 `packages/toolkit`。",
243
+ directWrite: false,
244
+ });
245
+ impacts.push({
246
+ target: "platform",
247
+ effect: "变更可能影响平台产物生成判断,但不会直接写入 `packages/platform-*`。",
248
+ directWrite: false,
249
+ });
250
+ }
251
+ if (impacts.length === 0) {
252
+ impacts.push({
253
+ target: "references",
254
+ effect: "当前未发现需要传播的治理变化。",
255
+ directWrite: false,
256
+ });
257
+ }
258
+ return impacts;
259
+ }
260
+ async function createDiffResult(item, against) {
261
+ const baselinePath = await resolveBaselinePath(item, against);
262
+ const baseline = await loadSnapshot(baselinePath);
263
+ const currentNotesContent = await readOptionalFile(item.notesPath);
264
+ const changes = {
265
+ structural: comparePathLists(baseline.metadata?.source_paths ?? [], item.sourcePaths),
266
+ text: compareNotes(baseline, item.notesPath, currentNotesContent),
267
+ metadata: compareMetadata(item, baseline),
268
+ };
269
+ return {
270
+ upstream: item.id,
271
+ mode: "diff",
272
+ baseline: toWorkspaceRelative(baselinePath),
273
+ changes,
274
+ impacts: buildImpacts(changes),
275
+ recommendation: "human-review-required",
276
+ review_status: "pending-manual-review",
277
+ evidence: {
278
+ notes_path: item.notesPath ?? null,
279
+ snapshot: toWorkspaceRelative(baselinePath),
280
+ },
281
+ };
282
+ }
283
+ function formatImpactLines(impacts) {
284
+ return impacts.map((impact) => `- ${impact.target}: ${impact.effect}(direct_write=${impact.directWrite ? "yes" : "no"})`);
285
+ }
286
+ function formatDiffText(result) {
287
+ const structuralLines = result.changes.structural.length > 0
288
+ ? result.changes.structural.map((change) => `- ${change.kind}: ${change.path}`)
289
+ : ["- 无"];
290
+ const textLines = result.changes.text.length > 0
291
+ ? result.changes.text.map((change) => `- ${change.path}: ${change.summary}`)
292
+ : ["- 无"];
293
+ const metadataLines = result.changes.metadata.length > 0
294
+ ? result.changes.metadata.map((change) => `- ${change.field}: ${change.before} -> ${change.after}`)
295
+ : ["- 无"];
296
+ return [
297
+ `上游:${result.upstream}`,
298
+ `模式:${result.mode}`,
299
+ `基线:${result.baseline}`,
300
+ `审阅状态:${result.review_status}`,
301
+ "",
302
+ "结构变化:",
303
+ ...structuralLines,
304
+ "",
305
+ "文本变化:",
306
+ ...textLines,
307
+ "",
308
+ "元数据变化:",
309
+ ...metadataLines,
310
+ "",
311
+ "下游影响:",
312
+ ...formatImpactLines(result.impacts),
313
+ "",
314
+ "风险与阻断条件:",
315
+ "- 不会直接写入 `packages/toolkit`。",
316
+ "- 不会直接写入 `packages/platform-*`。",
317
+ "- 需要人工审阅后再决定是否导入。",
318
+ ].join("\n");
319
+ }
320
+ function formatReportText(results) {
321
+ return results
322
+ .map((result) => [
323
+ `上游:${result.upstream}`,
324
+ "模式:report",
325
+ `决策:${result.review_status}`,
326
+ "",
327
+ "摘要:",
328
+ `- 结构变化:${result.changes.structural.length}`,
329
+ `- 文本变化:${result.changes.text.length}`,
330
+ `- 元数据变化:${result.changes.metadata.length}`,
331
+ "",
332
+ "影响范围:",
333
+ ...formatImpactLines(result.impacts),
334
+ "",
335
+ "下一步:",
336
+ "- 人工审阅仍是最终决策入口。",
337
+ ].join("\n"))
338
+ .join("\n\n---\n\n");
339
+ }
340
+ function formatReportMarkdown(results) {
341
+ const sections = results.map((result) => [
342
+ "# Upstream Report",
343
+ "",
344
+ "## Summary",
345
+ `- upstream: \`${result.upstream}\``,
346
+ "- mode: `report`",
347
+ `- decision: \`${result.review_status}\``,
348
+ "",
349
+ "## Evidence",
350
+ `- baseline snapshot: \`${result.evidence.snapshot}\``,
351
+ `- current notes: \`${result.evidence.notes_path ?? "-"}\``,
352
+ "",
353
+ "## Changes",
354
+ `- structural: ${result.changes.structural.length}`,
355
+ `- text: ${result.changes.text.length}`,
356
+ `- metadata: ${result.changes.metadata.length}`,
357
+ "",
358
+ "## Impact",
359
+ ...formatImpactLines(result.impacts),
360
+ "",
361
+ "## Decision",
362
+ "- status: `pending-manual-review`",
363
+ "- next step: 人工审阅后再决定是否导入。",
364
+ ].join("\n"));
365
+ return sections.join("\n\n---\n\n");
366
+ }
367
+ function createImportDryRunResult(diff) {
368
+ return {
369
+ upstream: diff.upstream,
370
+ mode: "import-dry-run",
371
+ baseline: diff.baseline,
372
+ planned_actions: [
373
+ "整理 upstream 变化摘要,生成人工审阅材料。",
374
+ "标记可能影响 `toolkit` 和 `platform` 的候选变化。",
375
+ "等待人工审阅结论后,再进入独立的写入型流程。",
376
+ ],
377
+ impacts: diff.impacts,
378
+ blocking_conditions: [
379
+ "必须先完成人工审阅。",
380
+ "当前阶段不会写入 `packages/toolkit`。",
381
+ "当前阶段不会写入 `packages/platform-*`。",
382
+ "若需要真实导入,必须进入后续显式审批步骤。",
383
+ ],
384
+ recommendation: "manual-review-before-import",
385
+ review_status: "pending-manual-review",
386
+ };
387
+ }
388
+ function formatImportDryRunText(result) {
389
+ return [
390
+ `上游:${result.upstream}`,
391
+ `模式:${result.mode}`,
392
+ `基线:${result.baseline}`,
393
+ `审阅状态:${result.review_status}`,
394
+ "",
395
+ "计划动作:",
396
+ ...result.planned_actions.map((action) => `- ${action}`),
397
+ "",
398
+ "影响范围:",
399
+ ...formatImpactLines(result.impacts),
400
+ "",
401
+ "阻断条件:",
402
+ ...result.blocking_conditions.map((item) => `- ${item}`),
403
+ ].join("\n");
404
+ }
405
+ function formatSnapshotText(result) {
406
+ return [
407
+ `上游:${result.upstream}`,
408
+ `模式:${result.mode}`,
409
+ `快照:${result.snapshot_path}`,
410
+ `采集时间:${result.captured_at}`,
411
+ `标签:${result.label ?? "-"}`,
412
+ `审阅状态:${result.review_status}`,
413
+ "",
414
+ "摘要:",
415
+ `- source paths:${result.summary.source_paths}`,
416
+ `- notes 有效行数:${result.summary.notes_lines}`,
417
+ "",
418
+ "说明:",
419
+ "- snapshot 为追加式治理记录,不会直接写入 `packages/toolkit`。",
420
+ "- snapshot 为追加式治理记录,不会直接写入 `packages/platform-*`。",
421
+ ].join("\n");
422
+ }
423
+ function formatSnapshotMarkdown(result) {
424
+ return [
425
+ "# Upstream Snapshot",
426
+ "",
427
+ "## Summary",
428
+ `- upstream: \`${result.upstream}\``,
429
+ "- mode: `snapshot`",
430
+ `- captured_at: \`${result.captured_at}\``,
431
+ `- label: \`${result.label ?? "-"}\``,
432
+ `- review_status: \`${result.review_status}\``,
433
+ "",
434
+ "## Evidence",
435
+ `- snapshot_path: \`${result.snapshot_path}\``,
436
+ `- source_paths: ${result.summary.source_paths}`,
437
+ `- notes_lines: ${result.summary.notes_lines}`,
438
+ "",
439
+ "## Boundary",
440
+ "- append-only snapshot",
441
+ "- no direct write to `packages/toolkit`",
442
+ "- no direct write to `packages/platform-*`",
443
+ ].join("\n");
444
+ }
445
+ function formatPayload(format, payload, fallbackText) {
446
+ if (format === "json") {
447
+ return `${JSON.stringify(payload, null, 2)}\n`;
448
+ }
449
+ return `${fallbackText}\n`;
450
+ }
451
+ async function emitOutput(content, outputPath) {
452
+ if (!outputPath) {
453
+ console.log(content.trimEnd());
454
+ return;
455
+ }
456
+ const absolutePath = isAbsolute(outputPath) ? outputPath : resolveWorkspacePath(outputPath);
457
+ await mkdir(dirname(absolutePath), { recursive: true });
458
+ await writeFile(absolutePath, content, "utf8");
459
+ console.log(`已写入输出:${toDisplayPath(absolutePath)}`);
460
+ }
461
+ async function emitPayload(format, payload, fallbackText, outputPath) {
462
+ await emitOutput(formatPayload(format, payload, fallbackText), outputPath);
463
+ }
464
+ async function createSnapshot(item, label) {
465
+ if (!item.snapshotsPath) {
466
+ throw new Error(`上游 ${item.id} 未配置 snapshots_path。`);
467
+ }
468
+ const capturedAt = new Date().toISOString();
469
+ const currentNotesContent = await readOptionalFile(item.notesPath);
470
+ const snapshotPayload = {
471
+ upstream: item.id,
472
+ captured_at: capturedAt,
473
+ label: label ?? undefined,
474
+ metadata: {
475
+ title: item.title,
476
+ kind: item.kind,
477
+ status: item.status,
478
+ owner: item.owner,
479
+ source_paths: item.sourcePaths,
480
+ },
481
+ notes: item.notesPath
482
+ ? {
483
+ path: item.notesPath,
484
+ content: currentNotesContent,
485
+ }
486
+ : undefined,
487
+ };
488
+ const snapshotsRoot = resolveReferencePath(item.snapshotsPath);
489
+ const snapshotName = buildSnapshotFileName(capturedAt, label);
490
+ const snapshotPath = resolve(snapshotsRoot, snapshotName);
491
+ const tempSnapshotPath = `${snapshotPath}.tmp-${process.pid}`;
492
+ await mkdir(snapshotsRoot, { recursive: true });
493
+ try {
494
+ await writeFile(tempSnapshotPath, `${JSON.stringify(snapshotPayload, null, 2)}\n`, {
495
+ encoding: "utf8",
496
+ flag: "wx",
497
+ });
498
+ await rename(tempSnapshotPath, snapshotPath);
499
+ }
500
+ catch (error) {
501
+ await rm(tempSnapshotPath, { force: true });
502
+ throw error;
503
+ }
504
+ return {
505
+ upstream: item.id,
506
+ mode: "snapshot",
507
+ snapshot_path: toWorkspaceRelative(snapshotPath),
508
+ captured_at: capturedAt,
509
+ label: label ?? null,
510
+ review_status: "pending-manual-review",
511
+ summary: {
512
+ source_paths: item.sourcePaths.length,
513
+ notes_lines: countMeaningfulLines(currentNotesContent),
514
+ },
515
+ };
516
+ }
517
+ export async function createUpstreamSnapshot(id, label) {
518
+ const upstreams = await loadUpstreams();
519
+ const item = upstreams.find((entry) => entry.id === id);
520
+ if (!item) {
521
+ throw new Error(`未找到上游记录:${id}`);
522
+ }
523
+ return createSnapshot(item, label);
524
+ }
525
+ function findUpstreamOrExit(upstreams, id) {
526
+ const item = upstreams.find((entry) => entry.id === id);
527
+ if (!item) {
528
+ console.error(`未找到上游记录:${id}`);
529
+ process.exitCode = 1;
530
+ return null;
531
+ }
532
+ return item;
533
+ }
534
+ function printCommandError(error) {
535
+ const message = error instanceof Error ? error.message : String(error);
536
+ console.error(`[upstream governance] 错误:${message}`);
537
+ process.exitCode = 1;
538
+ }
539
+ export function registerUpstreamCommand(program) {
540
+ program.addCommand(buildUpstreamCommand());
541
+ }
542
+ export function createUpstreamProgram() {
543
+ const program = buildUpstreamCommand();
544
+ program.name("upstream-governance").description("仓库内上游治理命令");
545
+ return program;
546
+ }
547
+ function buildUpstreamCommand() {
548
+ const upstream = new CommanderCommand("upstream").description("上游治理命令");
549
+ upstream
550
+ .command("list")
551
+ .description("列出已登记的上游源")
552
+ .action(async () => {
553
+ const upstreams = await loadUpstreams();
554
+ if (upstreams.length === 0) {
555
+ console.log("未登记任何上游源。");
556
+ return;
557
+ }
558
+ console.log(`${"ID".padEnd(28)} ${"状态".padEnd(12)} ${"类型".padEnd(16)} 标题`);
559
+ console.log("-".repeat(88));
560
+ for (const item of upstreams) {
561
+ console.log(`${item.id.padEnd(28)} ${(item.status ?? "-").padEnd(12)} ${(item.kind ?? "-").padEnd(16)} ${item.title ?? "-"}`);
562
+ }
563
+ });
564
+ upstream
565
+ .command("show")
566
+ .description("查看单个上游源的治理信息")
567
+ .argument("<id>", "上游 ID")
568
+ .action(async (id) => {
569
+ const upstreams = await loadUpstreams();
570
+ const item = findUpstreamOrExit(upstreams, id);
571
+ if (!item) {
572
+ return;
573
+ }
574
+ console.log(`ID:${item.id}`);
575
+ console.log(`标题:${item.title ?? "-"}`);
576
+ console.log(`类型:${item.kind ?? "-"}`);
577
+ console.log(`状态:${item.status ?? "-"}`);
578
+ console.log(`负责人:${item.owner ?? "-"}`);
579
+ console.log(`说明:${item.notesPath ? resolve(item.notesPath) : "-"}`);
580
+ console.log(`快照:${item.snapshotsPath ? resolve(item.snapshotsPath) : "-"}`);
581
+ });
582
+ upstream
583
+ .command("review")
584
+ .description("输出手动审阅入口信息")
585
+ .argument("[id]", "上游 ID")
586
+ .action(async (id) => {
587
+ const upstreams = await loadUpstreams();
588
+ const items = id ? upstreams.filter((entry) => entry.id === id) : upstreams;
589
+ if (items.length === 0) {
590
+ console.error(id ? `未找到上游记录:${id}` : "没有可审阅的上游记录。");
591
+ process.exitCode = 1;
592
+ return;
593
+ }
594
+ for (const item of items) {
595
+ console.log(`\n[${item.id}] ${item.title ?? "-"}`);
596
+ console.log(`- 状态:${item.status ?? "-"}`);
597
+ console.log(`- 说明:${item.notesPath ?? "-"}`);
598
+ console.log(`- 快照:${item.snapshotsPath ?? "-"}`);
599
+ console.log("- 模式:manual-review");
600
+ }
601
+ });
602
+ upstream
603
+ .command("diff")
604
+ .description("比较当前上游状态与基线 snapshot 的差异")
605
+ .argument("<id>", "上游 ID")
606
+ .option("--against <baseline>", "指定基线 snapshot,相对 snapshots_path 解析")
607
+ .option("--format <format>", "输出格式:text | json", "text")
608
+ .action(async (id, options) => {
609
+ try {
610
+ const upstreams = await loadUpstreams();
611
+ const item = findUpstreamOrExit(upstreams, id);
612
+ if (!item) {
613
+ return;
614
+ }
615
+ const result = await createDiffResult(item, options.against);
616
+ await emitPayload(options.format ?? "text", result, formatDiffText(result));
617
+ }
618
+ catch (error) {
619
+ printCommandError(error);
620
+ }
621
+ });
622
+ upstream
623
+ .command("snapshot")
624
+ .description("冻结当前 upstream 状态,生成追加式 snapshot")
625
+ .argument("<id>", "上游 ID")
626
+ .option("--label <label>", "附加到 snapshot 文件名的标签")
627
+ .option("--format <format>", "输出格式:text | json | md", "text")
628
+ .action(async (id, options) => {
629
+ try {
630
+ const upstreams = await loadUpstreams();
631
+ const item = findUpstreamOrExit(upstreams, id);
632
+ if (!item) {
633
+ return;
634
+ }
635
+ const result = await createSnapshot(item, options.label);
636
+ const format = options.format ?? "text";
637
+ if (format === "md") {
638
+ await emitOutput(`${formatSnapshotMarkdown(result)}\n`);
639
+ return;
640
+ }
641
+ await emitPayload(format, result, formatSnapshotText(result));
642
+ }
643
+ catch (error) {
644
+ printCommandError(error);
645
+ }
646
+ });
647
+ upstream
648
+ .command("report")
649
+ .description("生成 upstream 审阅材料")
650
+ .argument("<target>", "上游 ID 或 all")
651
+ .option("--format <format>", "输出格式:text | json | md", "text")
652
+ .option("--output <path>", "把输出写入文件,而不是打印到终端")
653
+ .action(async (target, options) => {
654
+ try {
655
+ const upstreams = await loadUpstreams();
656
+ const items = target === "all"
657
+ ? upstreams
658
+ : upstreams.filter((entry) => entry.id === target);
659
+ if (items.length === 0) {
660
+ console.error(`未找到上游记录:${target}`);
661
+ process.exitCode = 1;
662
+ return;
663
+ }
664
+ const results = await Promise.all(items.map((item) => createDiffResult(item)));
665
+ const format = options.format ?? "text";
666
+ if (format === "md") {
667
+ await emitOutput(`${formatReportMarkdown(results)}\n`, options.output);
668
+ return;
669
+ }
670
+ await emitPayload(format, { mode: "report", review_status: "pending-manual-review", results }, formatReportText(results), options.output);
671
+ }
672
+ catch (error) {
673
+ printCommandError(error);
674
+ }
675
+ });
676
+ upstream
677
+ .command("import")
678
+ .description("生成导入提案;当前阶段仅支持 --dry-run")
679
+ .argument("<id>", "上游 ID")
680
+ .option("--dry-run", "只输出提案,不执行写入")
681
+ .option("--format <format>", "输出格式:text | json", "text")
682
+ .option("--output <path>", "把输出写入文件,而不是打印到终端")
683
+ .action(async (id, options) => {
684
+ if (!options.dryRun) {
685
+ console.error("当前阶段只支持 `import --dry-run`,不会执行任何真实写入。");
686
+ process.exitCode = 1;
687
+ return;
688
+ }
689
+ try {
690
+ const upstreams = await loadUpstreams();
691
+ const item = findUpstreamOrExit(upstreams, id);
692
+ if (!item) {
693
+ return;
694
+ }
695
+ const diff = await createDiffResult(item);
696
+ const result = createImportDryRunResult(diff);
697
+ await emitPayload(options.format ?? "text", result, formatImportDryRunText(result), options.output);
698
+ }
699
+ catch (error) {
700
+ printCommandError(error);
701
+ }
702
+ });
703
+ return upstream;
704
+ }
705
+ //# sourceMappingURL=upstream.js.map