specweave 0.15.0 → 0.15.1

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 (775) hide show
  1. package/package.json +1 -1
  2. package/plugins/specweave/lib/hooks/git-diff-analyzer.js +129 -213
  3. package/plugins/specweave/lib/hooks/invoke-translator-skill.js +146 -192
  4. package/plugins/specweave/lib/hooks/prepare-reflection-context.js +103 -116
  5. package/plugins/specweave/lib/hooks/reflection-config-loader.js +85 -125
  6. package/plugins/specweave/lib/hooks/reflection-parser.js +267 -385
  7. package/plugins/specweave/lib/hooks/reflection-prompt-builder.js +169 -226
  8. package/plugins/specweave/lib/hooks/reflection-storage.js +223 -297
  9. package/plugins/specweave/lib/hooks/run-self-reflection.js +120 -191
  10. package/plugins/specweave/lib/hooks/sync-living-docs.js +87 -129
  11. package/plugins/specweave/lib/hooks/translate-file.js +239 -300
  12. package/plugins/specweave/lib/hooks/translate-living-docs.js +88 -144
  13. package/plugins/specweave/lib/hooks/types/reflection-types.js +57 -72
  14. package/plugins/specweave/lib/hooks/update-tasks-md.js +117 -179
  15. package/plugins/specweave-ado/lib/ado-board-resolver.js +135 -205
  16. package/plugins/specweave-ado/lib/ado-hierarchical-sync.js +223 -335
  17. package/plugins/specweave-ado/lib/ado-spec-sync.js +380 -414
  18. package/plugins/specweave-ado/lib/project-selector.js +168 -196
  19. package/plugins/specweave-github/hooks/hooks.json +0 -11
  20. package/plugins/specweave-github/lib/cli-sync-increment-changes.js +9 -20
  21. package/plugins/specweave-github/lib/github-board-resolver.js +69 -115
  22. package/plugins/specweave-github/lib/github-client-v2.js +400 -389
  23. package/plugins/specweave-github/lib/github-client.js +246 -280
  24. package/plugins/specweave-github/lib/github-hierarchical-sync.js +168 -251
  25. package/plugins/specweave-github/lib/github-issue-updater.js +231 -288
  26. package/plugins/specweave-github/lib/github-spec-sync.js +379 -420
  27. package/plugins/specweave-github/lib/github-sync-bidirectional.js +175 -202
  28. package/plugins/specweave-github/lib/github-sync-increment-changes.js +212 -251
  29. package/plugins/specweave-github/lib/index.js +11 -10
  30. package/plugins/specweave-github/lib/repo-selector.js +174 -201
  31. package/plugins/specweave-github/lib/subtask-sync.js +132 -125
  32. package/plugins/specweave-github/lib/task-parser.js +191 -207
  33. package/plugins/specweave-github/lib/task-sync.js +344 -296
  34. package/plugins/specweave-github/lib/types.js +0 -5
  35. package/plugins/specweave-jira/lib/jira-board-resolver.js +50 -79
  36. package/plugins/specweave-jira/lib/jira-hierarchical-sync.js +119 -191
  37. package/plugins/specweave-jira/lib/jira-spec-sync.js +366 -405
  38. package/plugins/specweave-jira/lib/project-selector.js +172 -201
  39. package/plugins/specweave-jira/lib/reorganization-detector.js +202 -237
  40. package/plugins/specweave-jira/lib/setup-wizard.js +162 -204
  41. package/dist/core/agent-model-manager.d.ts +0 -52
  42. package/dist/core/agent-model-manager.d.ts.map +0 -1
  43. package/dist/core/agent-model-manager.js +0 -120
  44. package/dist/core/agent-model-manager.js.map +0 -1
  45. package/dist/core/model-selector.d.ts +0 -57
  46. package/dist/core/model-selector.d.ts.map +0 -1
  47. package/dist/core/model-selector.js +0 -115
  48. package/dist/core/model-selector.js.map +0 -1
  49. package/dist/core/phase-detector.d.ts +0 -62
  50. package/dist/core/phase-detector.d.ts.map +0 -1
  51. package/dist/core/phase-detector.js +0 -229
  52. package/dist/core/phase-detector.js.map +0 -1
  53. package/dist/hooks/lib/git-diff-analyzer.d.ts +0 -89
  54. package/dist/hooks/lib/git-diff-analyzer.d.ts.map +0 -1
  55. package/dist/hooks/lib/git-diff-analyzer.js +0 -226
  56. package/dist/hooks/lib/git-diff-analyzer.js.map +0 -1
  57. package/dist/hooks/lib/invoke-translator-skill.d.ts +0 -60
  58. package/dist/hooks/lib/invoke-translator-skill.d.ts.map +0 -1
  59. package/dist/hooks/lib/invoke-translator-skill.js +0 -201
  60. package/dist/hooks/lib/invoke-translator-skill.js.map +0 -1
  61. package/dist/hooks/lib/prepare-reflection-context.d.ts +0 -42
  62. package/dist/hooks/lib/prepare-reflection-context.d.ts.map +0 -1
  63. package/dist/hooks/lib/prepare-reflection-context.js +0 -123
  64. package/dist/hooks/lib/prepare-reflection-context.js.map +0 -1
  65. package/dist/hooks/lib/reflection-config-loader.d.ts +0 -45
  66. package/dist/hooks/lib/reflection-config-loader.d.ts.map +0 -1
  67. package/dist/hooks/lib/reflection-config-loader.js +0 -132
  68. package/dist/hooks/lib/reflection-config-loader.js.map +0 -1
  69. package/dist/hooks/lib/reflection-parser.d.ts +0 -33
  70. package/dist/hooks/lib/reflection-parser.d.ts.map +0 -1
  71. package/dist/hooks/lib/reflection-parser.js +0 -419
  72. package/dist/hooks/lib/reflection-parser.js.map +0 -1
  73. package/dist/hooks/lib/reflection-prompt-builder.d.ts +0 -56
  74. package/dist/hooks/lib/reflection-prompt-builder.d.ts.map +0 -1
  75. package/dist/hooks/lib/reflection-prompt-builder.js +0 -239
  76. package/dist/hooks/lib/reflection-prompt-builder.js.map +0 -1
  77. package/dist/hooks/lib/reflection-storage.d.ts +0 -64
  78. package/dist/hooks/lib/reflection-storage.d.ts.map +0 -1
  79. package/dist/hooks/lib/reflection-storage.js +0 -305
  80. package/dist/hooks/lib/reflection-storage.js.map +0 -1
  81. package/dist/hooks/lib/run-self-reflection.d.ts +0 -43
  82. package/dist/hooks/lib/run-self-reflection.d.ts.map +0 -1
  83. package/dist/hooks/lib/run-self-reflection.js +0 -203
  84. package/dist/hooks/lib/run-self-reflection.js.map +0 -1
  85. package/dist/hooks/lib/sync-living-docs.d.ts +0 -27
  86. package/dist/hooks/lib/sync-living-docs.d.ts.map +0 -1
  87. package/dist/hooks/lib/sync-living-docs.js +0 -116
  88. package/dist/hooks/lib/sync-living-docs.js.map +0 -1
  89. package/dist/hooks/lib/translate-file.d.ts +0 -59
  90. package/dist/hooks/lib/translate-file.d.ts.map +0 -1
  91. package/dist/hooks/lib/translate-file.js +0 -350
  92. package/dist/hooks/lib/translate-file.js.map +0 -1
  93. package/dist/hooks/lib/translate-living-docs.d.ts +0 -13
  94. package/dist/hooks/lib/translate-living-docs.d.ts.map +0 -1
  95. package/dist/hooks/lib/translate-living-docs.js +0 -175
  96. package/dist/hooks/lib/translate-living-docs.js.map +0 -1
  97. package/dist/hooks/lib/types/reflection-types.d.ts +0 -164
  98. package/dist/hooks/lib/types/reflection-types.d.ts.map +0 -1
  99. package/dist/hooks/lib/types/reflection-types.js +0 -73
  100. package/dist/hooks/lib/types/reflection-types.js.map +0 -1
  101. package/dist/hooks/lib/update-tasks-md.d.ts +0 -29
  102. package/dist/hooks/lib/update-tasks-md.d.ts.map +0 -1
  103. package/dist/hooks/lib/update-tasks-md.js +0 -203
  104. package/dist/hooks/lib/update-tasks-md.js.map +0 -1
  105. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts +0 -89
  106. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts.map +0 -1
  107. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.js +0 -226
  108. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.js.map +0 -1
  109. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts +0 -60
  110. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts.map +0 -1
  111. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.js +0 -201
  112. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.js.map +0 -1
  113. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts +0 -42
  114. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts.map +0 -1
  115. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.js +0 -123
  116. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.js.map +0 -1
  117. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.d.ts +0 -45
  118. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.d.ts.map +0 -1
  119. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.js +0 -132
  120. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.js.map +0 -1
  121. package/dist/plugins/specweave/lib/hooks/reflection-parser.d.ts +0 -33
  122. package/dist/plugins/specweave/lib/hooks/reflection-parser.d.ts.map +0 -1
  123. package/dist/plugins/specweave/lib/hooks/reflection-parser.js +0 -419
  124. package/dist/plugins/specweave/lib/hooks/reflection-parser.js.map +0 -1
  125. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts +0 -56
  126. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts.map +0 -1
  127. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.js +0 -239
  128. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.js.map +0 -1
  129. package/dist/plugins/specweave/lib/hooks/reflection-storage.d.ts +0 -64
  130. package/dist/plugins/specweave/lib/hooks/reflection-storage.d.ts.map +0 -1
  131. package/dist/plugins/specweave/lib/hooks/reflection-storage.js +0 -305
  132. package/dist/plugins/specweave/lib/hooks/reflection-storage.js.map +0 -1
  133. package/dist/plugins/specweave/lib/hooks/run-self-reflection.d.ts +0 -43
  134. package/dist/plugins/specweave/lib/hooks/run-self-reflection.d.ts.map +0 -1
  135. package/dist/plugins/specweave/lib/hooks/run-self-reflection.js +0 -203
  136. package/dist/plugins/specweave/lib/hooks/run-self-reflection.js.map +0 -1
  137. package/dist/plugins/specweave/lib/hooks/sync-living-docs.d.ts +0 -27
  138. package/dist/plugins/specweave/lib/hooks/sync-living-docs.d.ts.map +0 -1
  139. package/dist/plugins/specweave/lib/hooks/sync-living-docs.js +0 -144
  140. package/dist/plugins/specweave/lib/hooks/sync-living-docs.js.map +0 -1
  141. package/dist/plugins/specweave/lib/hooks/translate-file.d.ts +0 -59
  142. package/dist/plugins/specweave/lib/hooks/translate-file.d.ts.map +0 -1
  143. package/dist/plugins/specweave/lib/hooks/translate-file.js +0 -350
  144. package/dist/plugins/specweave/lib/hooks/translate-file.js.map +0 -1
  145. package/dist/plugins/specweave/lib/hooks/translate-living-docs.d.ts +0 -13
  146. package/dist/plugins/specweave/lib/hooks/translate-living-docs.d.ts.map +0 -1
  147. package/dist/plugins/specweave/lib/hooks/translate-living-docs.js +0 -175
  148. package/dist/plugins/specweave/lib/hooks/translate-living-docs.js.map +0 -1
  149. package/dist/plugins/specweave/lib/hooks/types/reflection-types.d.ts +0 -164
  150. package/dist/plugins/specweave/lib/hooks/types/reflection-types.d.ts.map +0 -1
  151. package/dist/plugins/specweave/lib/hooks/types/reflection-types.js +0 -73
  152. package/dist/plugins/specweave/lib/hooks/types/reflection-types.js.map +0 -1
  153. package/dist/plugins/specweave/lib/hooks/update-tasks-md.d.ts +0 -29
  154. package/dist/plugins/specweave/lib/hooks/update-tasks-md.d.ts.map +0 -1
  155. package/dist/plugins/specweave/lib/hooks/update-tasks-md.js +0 -203
  156. package/dist/plugins/specweave/lib/hooks/update-tasks-md.js.map +0 -1
  157. package/dist/plugins/specweave-ado/lib/ado-board-resolver.d.ts +0 -94
  158. package/dist/plugins/specweave-ado/lib/ado-board-resolver.d.ts.map +0 -1
  159. package/dist/plugins/specweave-ado/lib/ado-board-resolver.js +0 -219
  160. package/dist/plugins/specweave-ado/lib/ado-board-resolver.js.map +0 -1
  161. package/dist/plugins/specweave-ado/lib/ado-client-v2.d.ts +0 -124
  162. package/dist/plugins/specweave-ado/lib/ado-client-v2.d.ts.map +0 -1
  163. package/dist/plugins/specweave-ado/lib/ado-client-v2.js +0 -382
  164. package/dist/plugins/specweave-ado/lib/ado-client-v2.js.map +0 -1
  165. package/dist/plugins/specweave-ado/lib/ado-client.d.ts +0 -112
  166. package/dist/plugins/specweave-ado/lib/ado-client.d.ts.map +0 -1
  167. package/dist/plugins/specweave-ado/lib/ado-client.js +0 -257
  168. package/dist/plugins/specweave-ado/lib/ado-client.js.map +0 -1
  169. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.d.ts +0 -40
  170. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.d.ts.map +0 -1
  171. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.js +0 -370
  172. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.js.map +0 -1
  173. package/dist/plugins/specweave-ado/lib/ado-spec-sync.d.ts +0 -100
  174. package/dist/plugins/specweave-ado/lib/ado-spec-sync.d.ts.map +0 -1
  175. package/dist/plugins/specweave-ado/lib/ado-spec-sync.js +0 -471
  176. package/dist/plugins/specweave-ado/lib/ado-spec-sync.js.map +0 -1
  177. package/dist/plugins/specweave-ado/lib/project-selector.d.ts +0 -42
  178. package/dist/plugins/specweave-ado/lib/project-selector.d.ts.map +0 -1
  179. package/dist/plugins/specweave-ado/lib/project-selector.js +0 -211
  180. package/dist/plugins/specweave-ado/lib/project-selector.js.map +0 -1
  181. package/dist/plugins/specweave-github/lib/cli-sync-increment-changes.d.ts +0 -12
  182. package/dist/plugins/specweave-github/lib/cli-sync-increment-changes.d.ts.map +0 -1
  183. package/dist/plugins/specweave-github/lib/cli-sync-increment-changes.js +0 -28
  184. package/dist/plugins/specweave-github/lib/cli-sync-increment-changes.js.map +0 -1
  185. package/dist/plugins/specweave-github/lib/github-board-resolver.d.ts +0 -54
  186. package/dist/plugins/specweave-github/lib/github-board-resolver.d.ts.map +0 -1
  187. package/dist/plugins/specweave-github/lib/github-board-resolver.js +0 -122
  188. package/dist/plugins/specweave-github/lib/github-board-resolver.js.map +0 -1
  189. package/dist/plugins/specweave-github/lib/github-client-v2.d.ts +0 -104
  190. package/dist/plugins/specweave-github/lib/github-client-v2.d.ts.map +0 -1
  191. package/dist/plugins/specweave-github/lib/github-client-v2.js +0 -408
  192. package/dist/plugins/specweave-github/lib/github-client-v2.js.map +0 -1
  193. package/dist/plugins/specweave-github/lib/github-client.d.ts +0 -96
  194. package/dist/plugins/specweave-github/lib/github-client.d.ts.map +0 -1
  195. package/dist/plugins/specweave-github/lib/github-client.js +0 -299
  196. package/dist/plugins/specweave-github/lib/github-client.js.map +0 -1
  197. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.d.ts +0 -29
  198. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.d.ts.map +0 -1
  199. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.js +0 -268
  200. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.js.map +0 -1
  201. package/dist/plugins/specweave-github/lib/github-issue-updater.d.ts +0 -61
  202. package/dist/plugins/specweave-github/lib/github-issue-updater.d.ts.map +0 -1
  203. package/dist/plugins/specweave-github/lib/github-issue-updater.js +0 -327
  204. package/dist/plugins/specweave-github/lib/github-issue-updater.js.map +0 -1
  205. package/dist/plugins/specweave-github/lib/github-spec-sync.d.ts +0 -108
  206. package/dist/plugins/specweave-github/lib/github-spec-sync.d.ts.map +0 -1
  207. package/dist/plugins/specweave-github/lib/github-spec-sync.js +0 -505
  208. package/dist/plugins/specweave-github/lib/github-spec-sync.js.map +0 -1
  209. package/dist/plugins/specweave-github/lib/github-sync-bidirectional.d.ts +0 -36
  210. package/dist/plugins/specweave-github/lib/github-sync-bidirectional.d.ts.map +0 -1
  211. package/dist/plugins/specweave-github/lib/github-sync-bidirectional.js +0 -228
  212. package/dist/plugins/specweave-github/lib/github-sync-bidirectional.js.map +0 -1
  213. package/dist/plugins/specweave-github/lib/github-sync-increment-changes.d.ts +0 -18
  214. package/dist/plugins/specweave-github/lib/github-sync-increment-changes.d.ts.map +0 -1
  215. package/dist/plugins/specweave-github/lib/github-sync-increment-changes.js +0 -287
  216. package/dist/plugins/specweave-github/lib/github-sync-increment-changes.js.map +0 -1
  217. package/dist/plugins/specweave-github/lib/index.d.ts +0 -10
  218. package/dist/plugins/specweave-github/lib/index.d.ts.map +0 -1
  219. package/dist/plugins/specweave-github/lib/index.js +0 -10
  220. package/dist/plugins/specweave-github/lib/index.js.map +0 -1
  221. package/dist/plugins/specweave-github/lib/repo-selector.d.ts +0 -49
  222. package/dist/plugins/specweave-github/lib/repo-selector.d.ts.map +0 -1
  223. package/dist/plugins/specweave-github/lib/repo-selector.js +0 -216
  224. package/dist/plugins/specweave-github/lib/repo-selector.js.map +0 -1
  225. package/dist/plugins/specweave-github/lib/subtask-sync.d.ts +0 -51
  226. package/dist/plugins/specweave-github/lib/subtask-sync.d.ts.map +0 -1
  227. package/dist/plugins/specweave-github/lib/subtask-sync.js +0 -147
  228. package/dist/plugins/specweave-github/lib/subtask-sync.js.map +0 -1
  229. package/dist/plugins/specweave-github/lib/task-parser.d.ts +0 -37
  230. package/dist/plugins/specweave-github/lib/task-parser.d.ts.map +0 -1
  231. package/dist/plugins/specweave-github/lib/task-parser.js +0 -211
  232. package/dist/plugins/specweave-github/lib/task-parser.js.map +0 -1
  233. package/dist/plugins/specweave-github/lib/task-sync.d.ts +0 -51
  234. package/dist/plugins/specweave-github/lib/task-sync.d.ts.map +0 -1
  235. package/dist/plugins/specweave-github/lib/task-sync.js +0 -332
  236. package/dist/plugins/specweave-github/lib/task-sync.js.map +0 -1
  237. package/dist/plugins/specweave-github/lib/types.d.ts +0 -80
  238. package/dist/plugins/specweave-github/lib/types.d.ts.map +0 -1
  239. package/dist/plugins/specweave-github/lib/types.js +0 -5
  240. package/dist/plugins/specweave-github/lib/types.js.map +0 -1
  241. package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts +0 -50
  242. package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts.map +0 -1
  243. package/dist/plugins/specweave-jira/lib/jira-board-resolver.js +0 -84
  244. package/dist/plugins/specweave-jira/lib/jira-board-resolver.js.map +0 -1
  245. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.d.ts +0 -33
  246. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.d.ts.map +0 -1
  247. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.js +0 -206
  248. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.js.map +0 -1
  249. package/dist/plugins/specweave-jira/lib/jira-spec-sync.d.ts +0 -105
  250. package/dist/plugins/specweave-jira/lib/jira-spec-sync.d.ts.map +0 -1
  251. package/dist/plugins/specweave-jira/lib/jira-spec-sync.js +0 -456
  252. package/dist/plugins/specweave-jira/lib/jira-spec-sync.js.map +0 -1
  253. package/dist/plugins/specweave-jira/lib/project-selector.d.ts +0 -42
  254. package/dist/plugins/specweave-jira/lib/project-selector.d.ts.map +0 -1
  255. package/dist/plugins/specweave-jira/lib/project-selector.js +0 -216
  256. package/dist/plugins/specweave-jira/lib/project-selector.js.map +0 -1
  257. package/dist/plugins/specweave-jira/lib/reorganization-detector.d.ts +0 -67
  258. package/dist/plugins/specweave-jira/lib/reorganization-detector.d.ts.map +0 -1
  259. package/dist/plugins/specweave-jira/lib/reorganization-detector.js +0 -252
  260. package/dist/plugins/specweave-jira/lib/reorganization-detector.js.map +0 -1
  261. package/dist/plugins/specweave-jira/lib/setup-wizard.d.ts +0 -29
  262. package/dist/plugins/specweave-jira/lib/setup-wizard.d.ts.map +0 -1
  263. package/dist/plugins/specweave-jira/lib/setup-wizard.js +0 -219
  264. package/dist/plugins/specweave-jira/lib/setup-wizard.js.map +0 -1
  265. package/dist/project-mapper.js +0 -272
  266. package/dist/scripts/split-spec-by-project.js +0 -105
  267. package/dist/spec-splitter.js +0 -283
  268. package/dist/src/adapters/adapter-base.d.ts +0 -71
  269. package/dist/src/adapters/adapter-base.d.ts.map +0 -1
  270. package/dist/src/adapters/adapter-base.js +0 -139
  271. package/dist/src/adapters/adapter-base.js.map +0 -1
  272. package/dist/src/adapters/adapter-interface.d.ts +0 -149
  273. package/dist/src/adapters/adapter-interface.d.ts.map +0 -1
  274. package/dist/src/adapters/adapter-interface.js +0 -8
  275. package/dist/src/adapters/adapter-interface.js.map +0 -1
  276. package/dist/src/adapters/adapter-loader.d.ts +0 -91
  277. package/dist/src/adapters/adapter-loader.d.ts.map +0 -1
  278. package/dist/src/adapters/adapter-loader.js +0 -238
  279. package/dist/src/adapters/adapter-loader.js.map +0 -1
  280. package/dist/src/adapters/agents-md-generator.d.ts +0 -48
  281. package/dist/src/adapters/agents-md-generator.d.ts.map +0 -1
  282. package/dist/src/adapters/agents-md-generator.js +0 -193
  283. package/dist/src/adapters/agents-md-generator.js.map +0 -1
  284. package/dist/src/adapters/claude/adapter.d.ts +0 -128
  285. package/dist/src/adapters/claude/adapter.d.ts.map +0 -1
  286. package/dist/src/adapters/claude/adapter.js +0 -415
  287. package/dist/src/adapters/claude/adapter.js.map +0 -1
  288. package/dist/src/adapters/claude-md-generator.d.ts +0 -78
  289. package/dist/src/adapters/claude-md-generator.d.ts.map +0 -1
  290. package/dist/src/adapters/claude-md-generator.js +0 -307
  291. package/dist/src/adapters/claude-md-generator.js.map +0 -1
  292. package/dist/src/adapters/codex/adapter.d.ts +0 -50
  293. package/dist/src/adapters/codex/adapter.d.ts.map +0 -1
  294. package/dist/src/adapters/codex/adapter.js +0 -316
  295. package/dist/src/adapters/codex/adapter.js.map +0 -1
  296. package/dist/src/adapters/cursor/adapter.d.ts +0 -98
  297. package/dist/src/adapters/cursor/adapter.d.ts.map +0 -1
  298. package/dist/src/adapters/cursor/adapter.js +0 -406
  299. package/dist/src/adapters/cursor/adapter.js.map +0 -1
  300. package/dist/src/adapters/doc-generator.d.ts +0 -69
  301. package/dist/src/adapters/doc-generator.d.ts.map +0 -1
  302. package/dist/src/adapters/doc-generator.js +0 -247
  303. package/dist/src/adapters/doc-generator.js.map +0 -1
  304. package/dist/src/adapters/gemini/adapter.d.ts +0 -50
  305. package/dist/src/adapters/gemini/adapter.d.ts.map +0 -1
  306. package/dist/src/adapters/gemini/adapter.js +0 -281
  307. package/dist/src/adapters/gemini/adapter.js.map +0 -1
  308. package/dist/src/adapters/generic/adapter.d.ts +0 -86
  309. package/dist/src/adapters/generic/adapter.d.ts.map +0 -1
  310. package/dist/src/adapters/generic/adapter.js +0 -338
  311. package/dist/src/adapters/generic/adapter.js.map +0 -1
  312. package/dist/src/cli/commands/abandon.d.ts +0 -13
  313. package/dist/src/cli/commands/abandon.d.ts.map +0 -1
  314. package/dist/src/cli/commands/abandon.js +0 -15
  315. package/dist/src/cli/commands/abandon.js.map +0 -1
  316. package/dist/src/cli/commands/import-docs.d.ts +0 -21
  317. package/dist/src/cli/commands/import-docs.d.ts.map +0 -1
  318. package/dist/src/cli/commands/import-docs.js +0 -146
  319. package/dist/src/cli/commands/import-docs.js.map +0 -1
  320. package/dist/src/cli/commands/init-multiproject.d.ts +0 -11
  321. package/dist/src/cli/commands/init-multiproject.d.ts.map +0 -1
  322. package/dist/src/cli/commands/init-multiproject.js +0 -202
  323. package/dist/src/cli/commands/init-multiproject.js.map +0 -1
  324. package/dist/src/cli/commands/init.d.ts +0 -9
  325. package/dist/src/cli/commands/init.d.ts.map +0 -1
  326. package/dist/src/cli/commands/init.js +0 -1444
  327. package/dist/src/cli/commands/init.js.map +0 -1
  328. package/dist/src/cli/commands/install.d.ts +0 -9
  329. package/dist/src/cli/commands/install.d.ts.map +0 -1
  330. package/dist/src/cli/commands/install.js +0 -127
  331. package/dist/src/cli/commands/install.js.map +0 -1
  332. package/dist/src/cli/commands/list.d.ts +0 -8
  333. package/dist/src/cli/commands/list.d.ts.map +0 -1
  334. package/dist/src/cli/commands/list.js +0 -119
  335. package/dist/src/cli/commands/list.js.map +0 -1
  336. package/dist/src/cli/commands/migrate-to-multiproject.d.ts +0 -37
  337. package/dist/src/cli/commands/migrate-to-multiproject.d.ts.map +0 -1
  338. package/dist/src/cli/commands/migrate-to-multiproject.js +0 -189
  339. package/dist/src/cli/commands/migrate-to-multiproject.js.map +0 -1
  340. package/dist/src/cli/commands/migrate-to-profiles.d.ts +0 -25
  341. package/dist/src/cli/commands/migrate-to-profiles.d.ts.map +0 -1
  342. package/dist/src/cli/commands/migrate-to-profiles.js +0 -350
  343. package/dist/src/cli/commands/migrate-to-profiles.js.map +0 -1
  344. package/dist/src/cli/commands/pause.d.ts +0 -13
  345. package/dist/src/cli/commands/pause.d.ts.map +0 -1
  346. package/dist/src/cli/commands/pause.js +0 -15
  347. package/dist/src/cli/commands/pause.js.map +0 -1
  348. package/dist/src/cli/commands/qa.d.ts +0 -54
  349. package/dist/src/cli/commands/qa.d.ts.map +0 -1
  350. package/dist/src/cli/commands/qa.js +0 -98
  351. package/dist/src/cli/commands/qa.js.map +0 -1
  352. package/dist/src/cli/commands/resume.d.ts +0 -12
  353. package/dist/src/cli/commands/resume.d.ts.map +0 -1
  354. package/dist/src/cli/commands/resume.js +0 -14
  355. package/dist/src/cli/commands/resume.js.map +0 -1
  356. package/dist/src/cli/commands/status.d.ts +0 -12
  357. package/dist/src/cli/commands/status.d.ts.map +0 -1
  358. package/dist/src/cli/commands/status.js +0 -23
  359. package/dist/src/cli/commands/status.js.map +0 -1
  360. package/dist/src/cli/commands/switch-project.d.ts +0 -13
  361. package/dist/src/cli/commands/switch-project.d.ts.map +0 -1
  362. package/dist/src/cli/commands/switch-project.js +0 -91
  363. package/dist/src/cli/commands/switch-project.js.map +0 -1
  364. package/dist/src/cli/commands/validate-jira.d.ts +0 -35
  365. package/dist/src/cli/commands/validate-jira.d.ts.map +0 -1
  366. package/dist/src/cli/commands/validate-jira.js +0 -112
  367. package/dist/src/cli/commands/validate-jira.js.map +0 -1
  368. package/dist/src/cli/commands/validate-plugins.d.ts +0 -41
  369. package/dist/src/cli/commands/validate-plugins.d.ts.map +0 -1
  370. package/dist/src/cli/commands/validate-plugins.js +0 -171
  371. package/dist/src/cli/commands/validate-plugins.js.map +0 -1
  372. package/dist/src/cli/helpers/issue-tracker/ado.d.ts +0 -57
  373. package/dist/src/cli/helpers/issue-tracker/ado.d.ts.map +0 -1
  374. package/dist/src/cli/helpers/issue-tracker/ado.js +0 -243
  375. package/dist/src/cli/helpers/issue-tracker/ado.js.map +0 -1
  376. package/dist/src/cli/helpers/issue-tracker/github.d.ts +0 -65
  377. package/dist/src/cli/helpers/issue-tracker/github.d.ts.map +0 -1
  378. package/dist/src/cli/helpers/issue-tracker/github.js +0 -426
  379. package/dist/src/cli/helpers/issue-tracker/github.js.map +0 -1
  380. package/dist/src/cli/helpers/issue-tracker/index.d.ts +0 -22
  381. package/dist/src/cli/helpers/issue-tracker/index.d.ts.map +0 -1
  382. package/dist/src/cli/helpers/issue-tracker/index.js +0 -314
  383. package/dist/src/cli/helpers/issue-tracker/index.js.map +0 -1
  384. package/dist/src/cli/helpers/issue-tracker/jira.d.ts +0 -61
  385. package/dist/src/cli/helpers/issue-tracker/jira.d.ts.map +0 -1
  386. package/dist/src/cli/helpers/issue-tracker/jira.js +0 -404
  387. package/dist/src/cli/helpers/issue-tracker/jira.js.map +0 -1
  388. package/dist/src/cli/helpers/issue-tracker/types.d.ts +0 -108
  389. package/dist/src/cli/helpers/issue-tracker/types.d.ts.map +0 -1
  390. package/dist/src/cli/helpers/issue-tracker/types.js +0 -16
  391. package/dist/src/cli/helpers/issue-tracker/types.js.map +0 -1
  392. package/dist/src/cli/helpers/issue-tracker/utils.d.ts +0 -112
  393. package/dist/src/cli/helpers/issue-tracker/utils.d.ts.map +0 -1
  394. package/dist/src/cli/helpers/issue-tracker/utils.js +0 -247
  395. package/dist/src/cli/helpers/issue-tracker/utils.js.map +0 -1
  396. package/dist/src/core/agent-model-manager.d.ts +0 -52
  397. package/dist/src/core/agent-model-manager.d.ts.map +0 -1
  398. package/dist/src/core/agent-model-manager.js +0 -120
  399. package/dist/src/core/agent-model-manager.js.map +0 -1
  400. package/dist/src/core/brownfield/analyzer.d.ts +0 -86
  401. package/dist/src/core/brownfield/analyzer.d.ts.map +0 -1
  402. package/dist/src/core/brownfield/analyzer.js +0 -365
  403. package/dist/src/core/brownfield/analyzer.js.map +0 -1
  404. package/dist/src/core/brownfield/importer.d.ts +0 -76
  405. package/dist/src/core/brownfield/importer.d.ts.map +0 -1
  406. package/dist/src/core/brownfield/importer.js +0 -287
  407. package/dist/src/core/brownfield/importer.js.map +0 -1
  408. package/dist/src/core/config-manager.d.ts +0 -47
  409. package/dist/src/core/config-manager.d.ts.map +0 -1
  410. package/dist/src/core/config-manager.js +0 -136
  411. package/dist/src/core/config-manager.js.map +0 -1
  412. package/dist/src/core/cost-tracker.d.ts +0 -108
  413. package/dist/src/core/cost-tracker.d.ts.map +0 -1
  414. package/dist/src/core/cost-tracker.js +0 -281
  415. package/dist/src/core/cost-tracker.js.map +0 -1
  416. package/dist/src/core/credentials-manager.d.ts +0 -107
  417. package/dist/src/core/credentials-manager.d.ts.map +0 -1
  418. package/dist/src/core/credentials-manager.js +0 -457
  419. package/dist/src/core/credentials-manager.js.map +0 -1
  420. package/dist/src/core/i18n/language-detector.d.ts +0 -29
  421. package/dist/src/core/i18n/language-detector.d.ts.map +0 -1
  422. package/dist/src/core/i18n/language-detector.js +0 -143
  423. package/dist/src/core/i18n/language-detector.js.map +0 -1
  424. package/dist/src/core/i18n/language-manager.d.ts +0 -101
  425. package/dist/src/core/i18n/language-manager.d.ts.map +0 -1
  426. package/dist/src/core/i18n/language-manager.js +0 -232
  427. package/dist/src/core/i18n/language-manager.js.map +0 -1
  428. package/dist/src/core/i18n/language-registry.d.ts +0 -44
  429. package/dist/src/core/i18n/language-registry.d.ts.map +0 -1
  430. package/dist/src/core/i18n/language-registry.js +0 -234
  431. package/dist/src/core/i18n/language-registry.js.map +0 -1
  432. package/dist/src/core/i18n/locale-manager.d.ts +0 -62
  433. package/dist/src/core/i18n/locale-manager.d.ts.map +0 -1
  434. package/dist/src/core/i18n/locale-manager.js +0 -137
  435. package/dist/src/core/i18n/locale-manager.js.map +0 -1
  436. package/dist/src/core/i18n/system-prompt-injector.d.ts +0 -33
  437. package/dist/src/core/i18n/system-prompt-injector.d.ts.map +0 -1
  438. package/dist/src/core/i18n/system-prompt-injector.js +0 -131
  439. package/dist/src/core/i18n/system-prompt-injector.js.map +0 -1
  440. package/dist/src/core/i18n/types.d.ts +0 -151
  441. package/dist/src/core/i18n/types.d.ts.map +0 -1
  442. package/dist/src/core/i18n/types.js +0 -11
  443. package/dist/src/core/i18n/types.js.map +0 -1
  444. package/dist/src/core/increment/limits.d.ts +0 -68
  445. package/dist/src/core/increment/limits.d.ts.map +0 -1
  446. package/dist/src/core/increment/limits.js +0 -224
  447. package/dist/src/core/increment/limits.js.map +0 -1
  448. package/dist/src/core/increment/metadata-manager.d.ts +0 -114
  449. package/dist/src/core/increment/metadata-manager.d.ts.map +0 -1
  450. package/dist/src/core/increment/metadata-manager.js +0 -320
  451. package/dist/src/core/increment/metadata-manager.js.map +0 -1
  452. package/dist/src/core/increment/status-commands.d.ts +0 -43
  453. package/dist/src/core/increment/status-commands.d.ts.map +0 -1
  454. package/dist/src/core/increment/status-commands.js +0 -277
  455. package/dist/src/core/increment/status-commands.js.map +0 -1
  456. package/dist/src/core/increment-status.d.ts +0 -72
  457. package/dist/src/core/increment-status.d.ts.map +0 -1
  458. package/dist/src/core/increment-status.js +0 -227
  459. package/dist/src/core/increment-status.js.map +0 -1
  460. package/dist/src/core/model-selector.d.ts +0 -57
  461. package/dist/src/core/model-selector.d.ts.map +0 -1
  462. package/dist/src/core/model-selector.js +0 -115
  463. package/dist/src/core/model-selector.js.map +0 -1
  464. package/dist/src/core/phase-detector.d.ts +0 -62
  465. package/dist/src/core/phase-detector.d.ts.map +0 -1
  466. package/dist/src/core/phase-detector.js +0 -229
  467. package/dist/src/core/phase-detector.js.map +0 -1
  468. package/dist/src/core/plugin-loader.d.ts +0 -131
  469. package/dist/src/core/plugin-loader.d.ts.map +0 -1
  470. package/dist/src/core/plugin-loader.js +0 -421
  471. package/dist/src/core/plugin-loader.js.map +0 -1
  472. package/dist/src/core/project-manager.d.ts +0 -127
  473. package/dist/src/core/project-manager.d.ts.map +0 -1
  474. package/dist/src/core/project-manager.js +0 -524
  475. package/dist/src/core/project-manager.js.map +0 -1
  476. package/dist/src/core/project-structure-detector.d.ts +0 -92
  477. package/dist/src/core/project-structure-detector.d.ts.map +0 -1
  478. package/dist/src/core/project-structure-detector.js +0 -289
  479. package/dist/src/core/project-structure-detector.js.map +0 -1
  480. package/dist/src/core/qa/qa-runner.d.ts +0 -16
  481. package/dist/src/core/qa/qa-runner.d.ts.map +0 -1
  482. package/dist/src/core/qa/qa-runner.js +0 -404
  483. package/dist/src/core/qa/qa-runner.js.map +0 -1
  484. package/dist/src/core/qa/quality-gate-decider.d.ts +0 -53
  485. package/dist/src/core/qa/quality-gate-decider.d.ts.map +0 -1
  486. package/dist/src/core/qa/quality-gate-decider.js +0 -268
  487. package/dist/src/core/qa/quality-gate-decider.js.map +0 -1
  488. package/dist/src/core/qa/risk-calculator.d.ts +0 -126
  489. package/dist/src/core/qa/risk-calculator.d.ts.map +0 -1
  490. package/dist/src/core/qa/risk-calculator.js +0 -247
  491. package/dist/src/core/qa/risk-calculator.js.map +0 -1
  492. package/dist/src/core/qa/types.d.ts +0 -315
  493. package/dist/src/core/qa/types.d.ts.map +0 -1
  494. package/dist/src/core/qa/types.js +0 -8
  495. package/dist/src/core/qa/types.js.map +0 -1
  496. package/dist/src/core/rfc-generator-v2.d.ts +0 -149
  497. package/dist/src/core/rfc-generator-v2.d.ts.map +0 -1
  498. package/dist/src/core/rfc-generator-v2.js +0 -399
  499. package/dist/src/core/rfc-generator-v2.js.map +0 -1
  500. package/dist/src/core/specs/spec-metadata-manager.d.ts +0 -70
  501. package/dist/src/core/specs/spec-metadata-manager.d.ts.map +0 -1
  502. package/dist/src/core/specs/spec-metadata-manager.js +0 -371
  503. package/dist/src/core/specs/spec-metadata-manager.js.map +0 -1
  504. package/dist/src/core/specs/spec-parser.d.ts +0 -66
  505. package/dist/src/core/specs/spec-parser.d.ts.map +0 -1
  506. package/dist/src/core/specs/spec-parser.js +0 -276
  507. package/dist/src/core/specs/spec-parser.js.map +0 -1
  508. package/dist/src/core/sync/bidirectional-engine.d.ts +0 -110
  509. package/dist/src/core/sync/bidirectional-engine.d.ts.map +0 -1
  510. package/dist/src/core/sync/bidirectional-engine.js +0 -356
  511. package/dist/src/core/sync/bidirectional-engine.js.map +0 -1
  512. package/dist/src/core/sync/folder-mapper.d.ts +0 -71
  513. package/dist/src/core/sync/folder-mapper.d.ts.map +0 -1
  514. package/dist/src/core/sync/folder-mapper.js +0 -168
  515. package/dist/src/core/sync/folder-mapper.js.map +0 -1
  516. package/dist/src/core/sync/profile-manager.d.ts +0 -72
  517. package/dist/src/core/sync/profile-manager.d.ts.map +0 -1
  518. package/dist/src/core/sync/profile-manager.js +0 -338
  519. package/dist/src/core/sync/profile-manager.js.map +0 -1
  520. package/dist/src/core/sync/profile-selector.d.ts +0 -52
  521. package/dist/src/core/sync/profile-selector.d.ts.map +0 -1
  522. package/dist/src/core/sync/profile-selector.js +0 -179
  523. package/dist/src/core/sync/profile-selector.js.map +0 -1
  524. package/dist/src/core/sync/profile-validator.d.ts +0 -52
  525. package/dist/src/core/sync/profile-validator.d.ts.map +0 -1
  526. package/dist/src/core/sync/profile-validator.js +0 -225
  527. package/dist/src/core/sync/profile-validator.js.map +0 -1
  528. package/dist/src/core/sync/project-context.d.ts +0 -81
  529. package/dist/src/core/sync/project-context.d.ts.map +0 -1
  530. package/dist/src/core/sync/project-context.js +0 -354
  531. package/dist/src/core/sync/project-context.js.map +0 -1
  532. package/dist/src/core/sync/rate-limiter.d.ts +0 -116
  533. package/dist/src/core/sync/rate-limiter.d.ts.map +0 -1
  534. package/dist/src/core/sync/rate-limiter.js +0 -308
  535. package/dist/src/core/sync/rate-limiter.js.map +0 -1
  536. package/dist/src/core/sync/time-range-selector.d.ts +0 -48
  537. package/dist/src/core/sync/time-range-selector.d.ts.map +0 -1
  538. package/dist/src/core/sync/time-range-selector.js +0 -224
  539. package/dist/src/core/sync/time-range-selector.js.map +0 -1
  540. package/dist/src/core/types/config.d.ts +0 -90
  541. package/dist/src/core/types/config.d.ts.map +0 -1
  542. package/dist/src/core/types/config.js +0 -44
  543. package/dist/src/core/types/config.js.map +0 -1
  544. package/dist/src/core/types/increment-metadata.d.ts +0 -120
  545. package/dist/src/core/types/increment-metadata.d.ts.map +0 -1
  546. package/dist/src/core/types/increment-metadata.js +0 -138
  547. package/dist/src/core/types/increment-metadata.js.map +0 -1
  548. package/dist/src/core/types/plugin.d.ts +0 -283
  549. package/dist/src/core/types/plugin.d.ts.map +0 -1
  550. package/dist/src/core/types/plugin.js +0 -49
  551. package/dist/src/core/types/plugin.js.map +0 -1
  552. package/dist/src/core/types/spec-metadata.d.ts +0 -229
  553. package/dist/src/core/types/spec-metadata.d.ts.map +0 -1
  554. package/dist/src/core/types/spec-metadata.js +0 -14
  555. package/dist/src/core/types/spec-metadata.js.map +0 -1
  556. package/dist/src/core/types/sync-profile.d.ts +0 -403
  557. package/dist/src/core/types/sync-profile.d.ts.map +0 -1
  558. package/dist/src/core/types/sync-profile.js +0 -55
  559. package/dist/src/core/types/sync-profile.js.map +0 -1
  560. package/dist/src/hooks/lib/git-diff-analyzer.d.ts +0 -89
  561. package/dist/src/hooks/lib/git-diff-analyzer.d.ts.map +0 -1
  562. package/dist/src/hooks/lib/git-diff-analyzer.js +0 -226
  563. package/dist/src/hooks/lib/git-diff-analyzer.js.map +0 -1
  564. package/dist/src/hooks/lib/invoke-translator-skill.d.ts +0 -60
  565. package/dist/src/hooks/lib/invoke-translator-skill.d.ts.map +0 -1
  566. package/dist/src/hooks/lib/invoke-translator-skill.js +0 -201
  567. package/dist/src/hooks/lib/invoke-translator-skill.js.map +0 -1
  568. package/dist/src/hooks/lib/prepare-reflection-context.d.ts +0 -42
  569. package/dist/src/hooks/lib/prepare-reflection-context.d.ts.map +0 -1
  570. package/dist/src/hooks/lib/prepare-reflection-context.js +0 -123
  571. package/dist/src/hooks/lib/prepare-reflection-context.js.map +0 -1
  572. package/dist/src/hooks/lib/reflection-config-loader.d.ts +0 -45
  573. package/dist/src/hooks/lib/reflection-config-loader.d.ts.map +0 -1
  574. package/dist/src/hooks/lib/reflection-config-loader.js +0 -132
  575. package/dist/src/hooks/lib/reflection-config-loader.js.map +0 -1
  576. package/dist/src/hooks/lib/reflection-parser.d.ts +0 -33
  577. package/dist/src/hooks/lib/reflection-parser.d.ts.map +0 -1
  578. package/dist/src/hooks/lib/reflection-parser.js +0 -419
  579. package/dist/src/hooks/lib/reflection-parser.js.map +0 -1
  580. package/dist/src/hooks/lib/reflection-prompt-builder.d.ts +0 -56
  581. package/dist/src/hooks/lib/reflection-prompt-builder.d.ts.map +0 -1
  582. package/dist/src/hooks/lib/reflection-prompt-builder.js +0 -239
  583. package/dist/src/hooks/lib/reflection-prompt-builder.js.map +0 -1
  584. package/dist/src/hooks/lib/reflection-storage.d.ts +0 -64
  585. package/dist/src/hooks/lib/reflection-storage.d.ts.map +0 -1
  586. package/dist/src/hooks/lib/reflection-storage.js +0 -305
  587. package/dist/src/hooks/lib/reflection-storage.js.map +0 -1
  588. package/dist/src/hooks/lib/run-self-reflection.d.ts +0 -43
  589. package/dist/src/hooks/lib/run-self-reflection.d.ts.map +0 -1
  590. package/dist/src/hooks/lib/run-self-reflection.js +0 -203
  591. package/dist/src/hooks/lib/run-self-reflection.js.map +0 -1
  592. package/dist/src/hooks/lib/sync-living-docs.d.ts +0 -27
  593. package/dist/src/hooks/lib/sync-living-docs.d.ts.map +0 -1
  594. package/dist/src/hooks/lib/sync-living-docs.js +0 -116
  595. package/dist/src/hooks/lib/sync-living-docs.js.map +0 -1
  596. package/dist/src/hooks/lib/translate-file.d.ts +0 -59
  597. package/dist/src/hooks/lib/translate-file.d.ts.map +0 -1
  598. package/dist/src/hooks/lib/translate-file.js +0 -350
  599. package/dist/src/hooks/lib/translate-file.js.map +0 -1
  600. package/dist/src/hooks/lib/translate-living-docs.d.ts +0 -13
  601. package/dist/src/hooks/lib/translate-living-docs.d.ts.map +0 -1
  602. package/dist/src/hooks/lib/translate-living-docs.js +0 -175
  603. package/dist/src/hooks/lib/translate-living-docs.js.map +0 -1
  604. package/dist/src/hooks/lib/types/reflection-types.d.ts +0 -164
  605. package/dist/src/hooks/lib/types/reflection-types.d.ts.map +0 -1
  606. package/dist/src/hooks/lib/types/reflection-types.js +0 -73
  607. package/dist/src/hooks/lib/types/reflection-types.js.map +0 -1
  608. package/dist/src/hooks/lib/update-tasks-md.d.ts +0 -29
  609. package/dist/src/hooks/lib/update-tasks-md.d.ts.map +0 -1
  610. package/dist/src/hooks/lib/update-tasks-md.js +0 -203
  611. package/dist/src/hooks/lib/update-tasks-md.js.map +0 -1
  612. package/dist/src/integrations/ado/ado-client.d.ts +0 -127
  613. package/dist/src/integrations/ado/ado-client.d.ts.map +0 -1
  614. package/dist/src/integrations/ado/ado-client.js +0 -416
  615. package/dist/src/integrations/ado/ado-client.js.map +0 -1
  616. package/dist/src/integrations/jira/jira-client.d.ts +0 -139
  617. package/dist/src/integrations/jira/jira-client.d.ts.map +0 -1
  618. package/dist/src/integrations/jira/jira-client.js +0 -386
  619. package/dist/src/integrations/jira/jira-client.js.map +0 -1
  620. package/dist/src/integrations/jira/jira-incremental-mapper.d.ts +0 -75
  621. package/dist/src/integrations/jira/jira-incremental-mapper.d.ts.map +0 -1
  622. package/dist/src/integrations/jira/jira-incremental-mapper.js +0 -474
  623. package/dist/src/integrations/jira/jira-incremental-mapper.js.map +0 -1
  624. package/dist/src/integrations/jira/jira-mapper.d.ts +0 -105
  625. package/dist/src/integrations/jira/jira-mapper.d.ts.map +0 -1
  626. package/dist/src/integrations/jira/jira-mapper.js +0 -494
  627. package/dist/src/integrations/jira/jira-mapper.js.map +0 -1
  628. package/dist/src/metrics/calculators/change-failure-rate.d.ts +0 -22
  629. package/dist/src/metrics/calculators/change-failure-rate.d.ts.map +0 -1
  630. package/dist/src/metrics/calculators/change-failure-rate.js +0 -70
  631. package/dist/src/metrics/calculators/change-failure-rate.js.map +0 -1
  632. package/dist/src/metrics/calculators/deployment-frequency.d.ts +0 -20
  633. package/dist/src/metrics/calculators/deployment-frequency.d.ts.map +0 -1
  634. package/dist/src/metrics/calculators/deployment-frequency.js +0 -61
  635. package/dist/src/metrics/calculators/deployment-frequency.js.map +0 -1
  636. package/dist/src/metrics/calculators/lead-time.d.ts +0 -22
  637. package/dist/src/metrics/calculators/lead-time.d.ts.map +0 -1
  638. package/dist/src/metrics/calculators/lead-time.js +0 -82
  639. package/dist/src/metrics/calculators/lead-time.js.map +0 -1
  640. package/dist/src/metrics/calculators/mttr.d.ts +0 -21
  641. package/dist/src/metrics/calculators/mttr.d.ts.map +0 -1
  642. package/dist/src/metrics/calculators/mttr.js +0 -60
  643. package/dist/src/metrics/calculators/mttr.js.map +0 -1
  644. package/dist/src/metrics/dora-calculator.d.ts +0 -28
  645. package/dist/src/metrics/dora-calculator.d.ts.map +0 -1
  646. package/dist/src/metrics/dora-calculator.js +0 -117
  647. package/dist/src/metrics/dora-calculator.js.map +0 -1
  648. package/dist/src/metrics/github-client.d.ts +0 -51
  649. package/dist/src/metrics/github-client.d.ts.map +0 -1
  650. package/dist/src/metrics/github-client.js +0 -133
  651. package/dist/src/metrics/github-client.js.map +0 -1
  652. package/dist/src/metrics/report-generator.d.ts +0 -17
  653. package/dist/src/metrics/report-generator.d.ts.map +0 -1
  654. package/dist/src/metrics/report-generator.js +0 -403
  655. package/dist/src/metrics/report-generator.js.map +0 -1
  656. package/dist/src/metrics/types.d.ts +0 -112
  657. package/dist/src/metrics/types.d.ts.map +0 -1
  658. package/dist/src/metrics/types.js +0 -10
  659. package/dist/src/metrics/types.js.map +0 -1
  660. package/dist/src/metrics/utils/percentile.d.ts +0 -25
  661. package/dist/src/metrics/utils/percentile.d.ts.map +0 -1
  662. package/dist/src/metrics/utils/percentile.js +0 -46
  663. package/dist/src/metrics/utils/percentile.js.map +0 -1
  664. package/dist/src/metrics/utils/tier-classifier.d.ts +0 -61
  665. package/dist/src/metrics/utils/tier-classifier.d.ts.map +0 -1
  666. package/dist/src/metrics/utils/tier-classifier.js +0 -100
  667. package/dist/src/metrics/utils/tier-classifier.js.map +0 -1
  668. package/dist/src/testing/test-generator.d.ts +0 -117
  669. package/dist/src/testing/test-generator.d.ts.map +0 -1
  670. package/dist/src/testing/test-generator.js +0 -370
  671. package/dist/src/testing/test-generator.js.map +0 -1
  672. package/dist/src/types/cost-tracking.d.ts +0 -43
  673. package/dist/src/types/cost-tracking.d.ts.map +0 -1
  674. package/dist/src/types/cost-tracking.js +0 -8
  675. package/dist/src/types/cost-tracking.js.map +0 -1
  676. package/dist/src/types/model-selection.d.ts +0 -53
  677. package/dist/src/types/model-selection.d.ts.map +0 -1
  678. package/dist/src/types/model-selection.js +0 -12
  679. package/dist/src/types/model-selection.js.map +0 -1
  680. package/dist/src/utils/agents-md-compiler.d.ts +0 -68
  681. package/dist/src/utils/agents-md-compiler.d.ts.map +0 -1
  682. package/dist/src/utils/agents-md-compiler.js +0 -420
  683. package/dist/src/utils/agents-md-compiler.js.map +0 -1
  684. package/dist/src/utils/auth-helpers.d.ts +0 -58
  685. package/dist/src/utils/auth-helpers.d.ts.map +0 -1
  686. package/dist/src/utils/auth-helpers.js +0 -108
  687. package/dist/src/utils/auth-helpers.js.map +0 -1
  688. package/dist/src/utils/auto-install.d.ts +0 -47
  689. package/dist/src/utils/auto-install.d.ts.map +0 -1
  690. package/dist/src/utils/auto-install.js +0 -211
  691. package/dist/src/utils/auto-install.js.map +0 -1
  692. package/dist/src/utils/claude-cli-detector.d.ts +0 -75
  693. package/dist/src/utils/claude-cli-detector.d.ts.map +0 -1
  694. package/dist/src/utils/claude-cli-detector.js +0 -285
  695. package/dist/src/utils/claude-cli-detector.js.map +0 -1
  696. package/dist/src/utils/cost-reporter.d.ts +0 -58
  697. package/dist/src/utils/cost-reporter.d.ts.map +0 -1
  698. package/dist/src/utils/cost-reporter.js +0 -224
  699. package/dist/src/utils/cost-reporter.js.map +0 -1
  700. package/dist/src/utils/docs-preview/config-generator.d.ts +0 -46
  701. package/dist/src/utils/docs-preview/config-generator.d.ts.map +0 -1
  702. package/dist/src/utils/docs-preview/config-generator.js +0 -377
  703. package/dist/src/utils/docs-preview/config-generator.js.map +0 -1
  704. package/dist/src/utils/docs-preview/docusaurus-setup.d.ts +0 -38
  705. package/dist/src/utils/docs-preview/docusaurus-setup.d.ts.map +0 -1
  706. package/dist/src/utils/docs-preview/docusaurus-setup.js +0 -177
  707. package/dist/src/utils/docs-preview/docusaurus-setup.js.map +0 -1
  708. package/dist/src/utils/docs-preview/index.d.ts +0 -7
  709. package/dist/src/utils/docs-preview/index.d.ts.map +0 -1
  710. package/dist/src/utils/docs-preview/index.js +0 -7
  711. package/dist/src/utils/docs-preview/index.js.map +0 -1
  712. package/dist/src/utils/docs-preview/package-installer.d.ts +0 -42
  713. package/dist/src/utils/docs-preview/package-installer.d.ts.map +0 -1
  714. package/dist/src/utils/docs-preview/package-installer.js +0 -182
  715. package/dist/src/utils/docs-preview/package-installer.js.map +0 -1
  716. package/dist/src/utils/docs-preview/server-manager.d.ts +0 -30
  717. package/dist/src/utils/docs-preview/server-manager.d.ts.map +0 -1
  718. package/dist/src/utils/docs-preview/server-manager.js +0 -212
  719. package/dist/src/utils/docs-preview/server-manager.js.map +0 -1
  720. package/dist/src/utils/docs-preview/sidebar-builder.d.ts +0 -32
  721. package/dist/src/utils/docs-preview/sidebar-builder.d.ts.map +0 -1
  722. package/dist/src/utils/docs-preview/sidebar-builder.js +0 -202
  723. package/dist/src/utils/docs-preview/sidebar-builder.js.map +0 -1
  724. package/dist/src/utils/docs-preview/types.d.ts +0 -57
  725. package/dist/src/utils/docs-preview/types.d.ts.map +0 -1
  726. package/dist/src/utils/docs-preview/types.js +0 -2
  727. package/dist/src/utils/docs-preview/types.js.map +0 -1
  728. package/dist/src/utils/env-file.d.ts +0 -88
  729. package/dist/src/utils/env-file.d.ts.map +0 -1
  730. package/dist/src/utils/env-file.js +0 -180
  731. package/dist/src/utils/env-file.js.map +0 -1
  732. package/dist/src/utils/env-multi-project-parser.d.ts +0 -220
  733. package/dist/src/utils/env-multi-project-parser.d.ts.map +0 -1
  734. package/dist/src/utils/env-multi-project-parser.js +0 -403
  735. package/dist/src/utils/env-multi-project-parser.js.map +0 -1
  736. package/dist/src/utils/esm-helpers.d.ts +0 -50
  737. package/dist/src/utils/esm-helpers.d.ts.map +0 -1
  738. package/dist/src/utils/esm-helpers.js +0 -57
  739. package/dist/src/utils/esm-helpers.js.map +0 -1
  740. package/dist/src/utils/execFileNoThrow.d.ts +0 -99
  741. package/dist/src/utils/execFileNoThrow.d.ts.map +0 -1
  742. package/dist/src/utils/execFileNoThrow.js +0 -137
  743. package/dist/src/utils/execFileNoThrow.js.map +0 -1
  744. package/dist/src/utils/external-resource-validator.d.ts +0 -102
  745. package/dist/src/utils/external-resource-validator.d.ts.map +0 -1
  746. package/dist/src/utils/external-resource-validator.js +0 -442
  747. package/dist/src/utils/external-resource-validator.js.map +0 -1
  748. package/dist/src/utils/generate-skills-index.d.ts +0 -24
  749. package/dist/src/utils/generate-skills-index.d.ts.map +0 -1
  750. package/dist/src/utils/generate-skills-index.js +0 -410
  751. package/dist/src/utils/generate-skills-index.js.map +0 -1
  752. package/dist/src/utils/model-selection.d.ts +0 -75
  753. package/dist/src/utils/model-selection.d.ts.map +0 -1
  754. package/dist/src/utils/model-selection.js +0 -204
  755. package/dist/src/utils/model-selection.js.map +0 -1
  756. package/dist/src/utils/plugin-validator.d.ts +0 -161
  757. package/dist/src/utils/plugin-validator.d.ts.map +0 -1
  758. package/dist/src/utils/plugin-validator.js +0 -558
  759. package/dist/src/utils/plugin-validator.js.map +0 -1
  760. package/dist/src/utils/pricing-constants.d.ts +0 -70
  761. package/dist/src/utils/pricing-constants.d.ts.map +0 -1
  762. package/dist/src/utils/pricing-constants.js +0 -71
  763. package/dist/src/utils/pricing-constants.js.map +0 -1
  764. package/dist/src/utils/project-detection.d.ts +0 -141
  765. package/dist/src/utils/project-detection.d.ts.map +0 -1
  766. package/dist/src/utils/project-detection.js +0 -321
  767. package/dist/src/utils/project-detection.js.map +0 -1
  768. package/dist/src/utils/string-utils.d.ts +0 -40
  769. package/dist/src/utils/string-utils.d.ts.map +0 -1
  770. package/dist/src/utils/string-utils.js +0 -58
  771. package/dist/src/utils/string-utils.js.map +0 -1
  772. package/dist/src/utils/translation.d.ts +0 -187
  773. package/dist/src/utils/translation.d.ts.map +0 -1
  774. package/dist/src/utils/translation.js +0 -414
  775. package/dist/src/utils/translation.js.map +0 -1
@@ -1,274 +1,244 @@
1
- /**
2
- * Azure DevOps Spec Sync
3
- *
4
- * CORRECT ARCHITECTURE:
5
- * - Syncs .specweave/docs/internal/specs/spec-*.md ↔ ADO Features
6
- * - NOT increments ↔ ADO Work Items (that was wrong!)
7
- *
8
- * Mapping:
9
- * - Spec → ADO Feature
10
- * - User Story → ADO User Story (child of feature)
11
- * - Acceptance Criteria → Checklist in User Story description
12
- *
13
- * @module ado-spec-sync
14
- */
15
- import { SpecMetadataManager } from '../../../src/core/specs/spec-metadata-manager.js';
16
- import { SpecParser } from '../../../src/core/specs/spec-parser.js';
17
- import axios from 'axios';
18
- export class AdoSpecSync {
19
- constructor(config, projectRoot = process.cwd()) {
20
- this.specManager = new SpecMetadataManager(projectRoot);
21
- this.config = config;
22
- // Create ADO API client
23
- this.client = axios.create({
24
- baseURL: `https://dev.azure.com/${config.organization}/${config.project}/_apis`,
25
- auth: {
26
- username: '', // Empty for PAT auth
27
- password: config.personalAccessToken
28
- },
29
- headers: {
30
- 'Content-Type': 'application/json-patch+json',
31
- 'Accept': 'application/json'
32
- }
1
+ import { SpecMetadataManager } from "../../../src/core/specs/spec-metadata-manager.js";
2
+ import { SpecParser } from "../../../src/core/specs/spec-parser.js";
3
+ import axios from "axios";
4
+ class AdoSpecSync {
5
+ constructor(config, projectRoot = process.cwd()) {
6
+ this.specManager = new SpecMetadataManager(projectRoot);
7
+ this.config = config;
8
+ this.client = axios.create({
9
+ baseURL: `https://dev.azure.com/${config.organization}/${config.project}/_apis`,
10
+ auth: {
11
+ username: "",
12
+ // Empty for PAT auth
13
+ password: config.personalAccessToken
14
+ },
15
+ headers: {
16
+ "Content-Type": "application/json-patch+json",
17
+ "Accept": "application/json"
18
+ }
19
+ });
20
+ }
21
+ /**
22
+ * Sync spec to ADO Feature (CREATE or UPDATE)
23
+ */
24
+ async syncSpecToAdo(specId) {
25
+ console.log(`
26
+ \u{1F504} Syncing spec ${specId} to ADO Feature...`);
27
+ try {
28
+ const spec = await this.specManager.loadSpec(specId);
29
+ if (!spec) {
30
+ return {
31
+ success: false,
32
+ specId,
33
+ provider: "ado",
34
+ error: `Spec ${specId} not found`
35
+ };
36
+ }
37
+ const existingLink = spec.metadata.externalLinks?.ado;
38
+ let feature;
39
+ if (existingLink?.featureId) {
40
+ console.log(` Found existing ADO Feature #${existingLink.featureId}`);
41
+ feature = await this.updateAdoFeature(existingLink.featureId, spec);
42
+ } else {
43
+ console.log(" Creating new ADO Feature...");
44
+ feature = await this.createAdoFeature(spec);
45
+ await this.specManager.linkToExternal(specId, "ado", {
46
+ id: feature.id,
47
+ url: feature.url,
48
+ organization: this.config.organization,
49
+ project: this.config.project
33
50
  });
51
+ }
52
+ const changes = await this.syncUserStories(feature.id, spec);
53
+ console.log("\u2705 Sync complete!");
54
+ return {
55
+ success: true,
56
+ specId,
57
+ provider: "ado",
58
+ externalId: feature.id.toString(),
59
+ url: feature.url,
60
+ changes
61
+ };
62
+ } catch (error) {
63
+ console.error("\u274C Error syncing to ADO:", error);
64
+ return {
65
+ success: false,
66
+ specId,
67
+ provider: "ado",
68
+ error: error instanceof Error ? error.message : "Unknown error"
69
+ };
34
70
  }
35
- /**
36
- * Sync spec to ADO Feature (CREATE or UPDATE)
37
- */
38
- async syncSpecToAdo(specId) {
39
- console.log(`\n🔄 Syncing spec ${specId} to ADO Feature...`);
40
- try {
41
- // 1. Load spec
42
- const spec = await this.specManager.loadSpec(specId);
43
- if (!spec) {
44
- return {
45
- success: false,
46
- specId,
47
- provider: 'ado',
48
- error: `Spec ${specId} not found`
49
- };
50
- }
51
- // 2. Check if spec already linked to ADO Feature
52
- const existingLink = spec.metadata.externalLinks?.ado;
53
- let feature;
54
- if (existingLink?.featureId) {
55
- // UPDATE existing feature
56
- console.log(` Found existing ADO Feature #${existingLink.featureId}`);
57
- feature = await this.updateAdoFeature(existingLink.featureId, spec);
58
- }
59
- else {
60
- // CREATE new feature
61
- console.log(' Creating new ADO Feature...');
62
- feature = await this.createAdoFeature(spec);
63
- // Link spec to feature
64
- await this.specManager.linkToExternal(specId, 'ado', {
65
- id: feature.id,
66
- url: feature.url,
67
- organization: this.config.organization,
68
- project: this.config.project
69
- });
70
- }
71
- // 3. Sync user stories as ADO User Stories
72
- const changes = await this.syncUserStories(feature.id, spec);
73
- console.log('✅ Sync complete!');
74
- return {
75
- success: true,
76
- specId,
77
- provider: 'ado',
78
- externalId: feature.id.toString(),
79
- url: feature.url,
80
- changes
81
- };
82
- }
83
- catch (error) {
84
- console.error('❌ Error syncing to ADO:', error);
85
- return {
86
- success: false,
87
- specId,
88
- provider: 'ado',
89
- error: error instanceof Error ? error.message : 'Unknown error'
90
- };
91
- }
92
- }
93
- /**
94
- * Sync FROM ADO Feature to spec (bidirectional)
95
- */
96
- async syncFromAdo(specId) {
97
- console.log(`\n🔄 Syncing FROM ADO to spec ${specId}...`);
98
- try {
99
- // 1. Load spec
100
- const spec = await this.specManager.loadSpec(specId);
101
- if (!spec) {
102
- return {
103
- success: false,
104
- specId,
105
- provider: 'ado',
106
- error: `Spec ${specId} not found`
107
- };
108
- }
109
- // 2. Get ADO Feature link
110
- const adoLink = spec.metadata.externalLinks?.ado;
111
- if (!adoLink?.featureId) {
112
- return {
113
- success: false,
114
- specId,
115
- provider: 'ado',
116
- error: 'Spec not linked to ADO Feature'
117
- };
118
- }
119
- // 3. Fetch ADO Feature state
120
- const feature = await this.fetchAdoFeature(adoLink.featureId);
121
- // 4. Detect conflicts
122
- const conflicts = await this.detectConflicts(spec, feature);
123
- if (conflicts.length === 0) {
124
- console.log('✅ No conflicts - spec and ADO in sync');
125
- return {
126
- success: true,
127
- specId,
128
- provider: 'ado',
129
- externalId: feature.id.toString(),
130
- url: feature.url
131
- };
132
- }
133
- console.log(`⚠️ Detected ${conflicts.length} conflict(s)`);
134
- // 5. Resolve conflicts (ADO wins by default for now)
135
- await this.resolveConflicts(spec, conflicts);
136
- console.log('✅ Sync FROM ADO complete!');
137
- return {
138
- success: true,
139
- specId,
140
- provider: 'ado',
141
- externalId: feature.id.toString(),
142
- url: feature.url,
143
- conflicts
144
- };
145
- }
146
- catch (error) {
147
- console.error('❌ Error syncing FROM ADO:', error);
148
- return {
149
- success: false,
150
- specId,
151
- provider: 'ado',
152
- error: error instanceof Error ? error.message : 'Unknown error'
153
- };
154
- }
155
- }
156
- /**
157
- * Create new ADO Feature for spec
158
- */
159
- async createAdoFeature(spec) {
160
- const featureTitle = `[${spec.metadata.id.toUpperCase()}] ${spec.metadata.title}`;
161
- const featureDescription = this.generateFeatureDescription(spec);
162
- const tags = [`spec:${spec.metadata.id}`, `priority:${spec.metadata.priority}`].join('; ');
163
- const payload = [
164
- {
165
- op: 'add',
166
- path: '/fields/System.Title',
167
- value: featureTitle
168
- },
169
- {
170
- op: 'add',
171
- path: '/fields/System.Description',
172
- value: featureDescription
173
- },
174
- {
175
- op: 'add',
176
- path: '/fields/System.WorkItemType',
177
- value: 'Feature'
178
- },
179
- {
180
- op: 'add',
181
- path: '/fields/System.Tags',
182
- value: tags
183
- }
184
- ];
185
- const response = await this.client.post('/wit/workitems/$Feature?api-version=7.0', payload);
186
- const featureData = response.data;
187
- console.log(` ✅ Created ADO Feature #${featureData.id}: ${featureData._links.html.href}`);
71
+ }
72
+ /**
73
+ * Sync FROM ADO Feature to spec (bidirectional)
74
+ */
75
+ async syncFromAdo(specId) {
76
+ console.log(`
77
+ \u{1F504} Syncing FROM ADO to spec ${specId}...`);
78
+ try {
79
+ const spec = await this.specManager.loadSpec(specId);
80
+ if (!spec) {
188
81
  return {
189
- id: featureData.id,
190
- url: featureData._links.html.href,
191
- fields: featureData.fields
82
+ success: false,
83
+ specId,
84
+ provider: "ado",
85
+ error: `Spec ${specId} not found`
192
86
  };
193
- }
194
- /**
195
- * Update existing ADO Feature
196
- */
197
- async updateAdoFeature(featureId, spec) {
198
- const featureTitle = `[${spec.metadata.id.toUpperCase()}] ${spec.metadata.title}`;
199
- const featureDescription = this.generateFeatureDescription(spec);
200
- const payload = [
201
- {
202
- op: 'replace',
203
- path: '/fields/System.Title',
204
- value: featureTitle
205
- },
206
- {
207
- op: 'replace',
208
- path: '/fields/System.Description',
209
- value: featureDescription
210
- }
211
- ];
212
- const response = await this.client.patch(`/wit/workitems/${featureId}?api-version=7.0`, payload);
213
- const featureData = response.data;
214
- console.log(` ✅ Updated ADO Feature #${featureId}`);
87
+ }
88
+ const adoLink = spec.metadata.externalLinks?.ado;
89
+ if (!adoLink?.featureId) {
90
+ return {
91
+ success: false,
92
+ specId,
93
+ provider: "ado",
94
+ error: "Spec not linked to ADO Feature"
95
+ };
96
+ }
97
+ const feature = await this.fetchAdoFeature(adoLink.featureId);
98
+ const conflicts = await this.detectConflicts(spec, feature);
99
+ if (conflicts.length === 0) {
100
+ console.log("\u2705 No conflicts - spec and ADO in sync");
215
101
  return {
216
- id: featureData.id,
217
- url: featureData._links.html.href,
218
- fields: featureData.fields
102
+ success: true,
103
+ specId,
104
+ provider: "ado",
105
+ externalId: feature.id.toString(),
106
+ url: feature.url
219
107
  };
108
+ }
109
+ console.log(`\u26A0\uFE0F Detected ${conflicts.length} conflict(s)`);
110
+ await this.resolveConflicts(spec, conflicts);
111
+ console.log("\u2705 Sync FROM ADO complete!");
112
+ return {
113
+ success: true,
114
+ specId,
115
+ provider: "ado",
116
+ externalId: feature.id.toString(),
117
+ url: feature.url,
118
+ conflicts
119
+ };
120
+ } catch (error) {
121
+ console.error("\u274C Error syncing FROM ADO:", error);
122
+ return {
123
+ success: false,
124
+ specId,
125
+ provider: "ado",
126
+ error: error instanceof Error ? error.message : "Unknown error"
127
+ };
220
128
  }
221
- /**
222
- * Sync user stories as ADO User Stories
223
- */
224
- async syncUserStories(featureId, spec) {
225
- const created = [];
226
- const updated = [];
227
- const deleted = [];
228
- if (!spec.metadata.userStories || spec.metadata.userStories.length === 0) {
229
- console.log(' ℹ️ No user stories to sync');
230
- return { created, updated, deleted };
231
- }
232
- console.log(` Syncing ${spec.metadata.userStories.length} user stories...`);
233
- for (const us of spec.metadata.userStories) {
234
- // Create or update ADO User Story for each user story
235
- const storyTitle = `[${us.id}] ${us.title}`;
236
- const storyDescription = this.generateStoryDescription(us);
237
- // Check if story already exists (by searching for US-ID in title)
238
- const existingStory = await this.findStoryByTitle(us.id);
239
- if (existingStory) {
240
- // UPDATE existing story
241
- await this.updateStory(existingStory.id, {
242
- title: storyTitle,
243
- description: storyDescription,
244
- state: us.status === 'done' ? 'Closed' : us.status === 'in-progress' ? 'Active' : 'New'
245
- });
246
- updated.push(us.id);
247
- console.log(` ✅ Updated ${us.id}`);
248
- }
249
- else {
250
- // CREATE new story
251
- const newStory = await this.createStory({
252
- title: storyTitle,
253
- description: storyDescription,
254
- parentId: featureId,
255
- tags: [`user-story`, `spec:${spec.metadata.id}`, `priority:${us.priority}`].join('; ')
256
- });
257
- created.push(us.id);
258
- console.log(` ✅ Created ${us.id} → User Story #${newStory.id}`);
259
- }
260
- }
261
- return { created, updated, deleted };
129
+ }
130
+ /**
131
+ * Create new ADO Feature for spec
132
+ */
133
+ async createAdoFeature(spec) {
134
+ const featureTitle = `[${spec.metadata.id.toUpperCase()}] ${spec.metadata.title}`;
135
+ const featureDescription = this.generateFeatureDescription(spec);
136
+ const tags = [`spec:${spec.metadata.id}`, `priority:${spec.metadata.priority}`].join("; ");
137
+ const payload = [
138
+ {
139
+ op: "add",
140
+ path: "/fields/System.Title",
141
+ value: featureTitle
142
+ },
143
+ {
144
+ op: "add",
145
+ path: "/fields/System.Description",
146
+ value: featureDescription
147
+ },
148
+ {
149
+ op: "add",
150
+ path: "/fields/System.WorkItemType",
151
+ value: "Feature"
152
+ },
153
+ {
154
+ op: "add",
155
+ path: "/fields/System.Tags",
156
+ value: tags
157
+ }
158
+ ];
159
+ const response = await this.client.post("/wit/workitems/$Feature?api-version=7.0", payload);
160
+ const featureData = response.data;
161
+ console.log(` \u2705 Created ADO Feature #${featureData.id}: ${featureData._links.html.href}`);
162
+ return {
163
+ id: featureData.id,
164
+ url: featureData._links.html.href,
165
+ fields: featureData.fields
166
+ };
167
+ }
168
+ /**
169
+ * Update existing ADO Feature
170
+ */
171
+ async updateAdoFeature(featureId, spec) {
172
+ const featureTitle = `[${spec.metadata.id.toUpperCase()}] ${spec.metadata.title}`;
173
+ const featureDescription = this.generateFeatureDescription(spec);
174
+ const payload = [
175
+ {
176
+ op: "replace",
177
+ path: "/fields/System.Title",
178
+ value: featureTitle
179
+ },
180
+ {
181
+ op: "replace",
182
+ path: "/fields/System.Description",
183
+ value: featureDescription
184
+ }
185
+ ];
186
+ const response = await this.client.patch(
187
+ `/wit/workitems/${featureId}?api-version=7.0`,
188
+ payload
189
+ );
190
+ const featureData = response.data;
191
+ console.log(` \u2705 Updated ADO Feature #${featureId}`);
192
+ return {
193
+ id: featureData.id,
194
+ url: featureData._links.html.href,
195
+ fields: featureData.fields
196
+ };
197
+ }
198
+ /**
199
+ * Sync user stories as ADO User Stories
200
+ */
201
+ async syncUserStories(featureId, spec) {
202
+ const created = [];
203
+ const updated = [];
204
+ const deleted = [];
205
+ if (!spec.metadata.userStories || spec.metadata.userStories.length === 0) {
206
+ console.log(" \u2139\uFE0F No user stories to sync");
207
+ return { created, updated, deleted };
208
+ }
209
+ console.log(` Syncing ${spec.metadata.userStories.length} user stories...`);
210
+ for (const us of spec.metadata.userStories) {
211
+ const storyTitle = `[${us.id}] ${us.title}`;
212
+ const storyDescription = this.generateStoryDescription(us);
213
+ const existingStory = await this.findStoryByTitle(us.id);
214
+ if (existingStory) {
215
+ await this.updateStory(existingStory.id, {
216
+ title: storyTitle,
217
+ description: storyDescription,
218
+ state: us.status === "done" ? "Closed" : us.status === "in-progress" ? "Active" : "New"
219
+ });
220
+ updated.push(us.id);
221
+ console.log(` \u2705 Updated ${us.id}`);
222
+ } else {
223
+ const newStory = await this.createStory({
224
+ title: storyTitle,
225
+ description: storyDescription,
226
+ parentId: featureId,
227
+ tags: [`user-story`, `spec:${spec.metadata.id}`, `priority:${us.priority}`].join("; ")
228
+ });
229
+ created.push(us.id);
230
+ console.log(` \u2705 Created ${us.id} \u2192 User Story #${newStory.id}`);
231
+ }
262
232
  }
263
- /**
264
- * Generate feature description from spec
265
- */
266
- generateFeatureDescription(spec) {
267
- const progress = spec.metadata.progress;
268
- const progressText = progress
269
- ? `**Progress**: ${progress.percentComplete}% (${progress.completedUserStories}/${progress.totalUserStories} user stories)`
270
- : '**Progress**: N/A';
271
- return `
233
+ return { created, updated, deleted };
234
+ }
235
+ /**
236
+ * Generate feature description from spec
237
+ */
238
+ generateFeatureDescription(spec) {
239
+ const progress = spec.metadata.progress;
240
+ const progressText = progress ? `**Progress**: ${progress.percentComplete}% (${progress.completedUserStories}/${progress.totalUserStories} user stories)` : "**Progress**: N/A";
241
+ return `
272
242
  <h1>${spec.metadata.title}</h1>
273
243
 
274
244
  <p><strong>Spec ID</strong>: ${spec.metadata.id}</p>
@@ -278,7 +248,7 @@ export class AdoSpecSync {
278
248
 
279
249
  <hr>
280
250
 
281
- ${SpecParser.extractOverview(spec.markdown).replace(/\n/g, '<br>')}
251
+ ${SpecParser.extractOverview(spec.markdown).replace(/\n/g, "<br>")}
282
252
 
283
253
  <hr>
284
254
 
@@ -288,18 +258,16 @@ ${SpecParser.extractOverview(spec.markdown).replace(/\n/g, '<br>')}
288
258
 
289
259
  <hr>
290
260
 
291
- <p>🤖 <strong>Auto-synced from SpecWeave</strong><br>
292
- Last updated: ${new Date().toISOString()}</p>
261
+ <p>\u{1F916} <strong>Auto-synced from SpecWeave</strong><br>
262
+ Last updated: ${(/* @__PURE__ */ new Date()).toISOString()}</p>
293
263
  `.trim();
294
- }
295
- /**
296
- * Generate story description from user story
297
- */
298
- generateStoryDescription(us) {
299
- const acList = us.acceptanceCriteria
300
- .map(ac => `<li>${ac.status === 'done' ? '☑' : '☐'} ${ac.description}</li>`)
301
- .join('\n');
302
- return `
264
+ }
265
+ /**
266
+ * Generate story description from user story
267
+ */
268
+ generateStoryDescription(us) {
269
+ const acList = us.acceptanceCriteria.map((ac) => `<li>${ac.status === "done" ? "\u2611" : "\u2610"} ${ac.description}</li>`).join("\n");
270
+ return `
303
271
  <h2>User Story</h2>
304
272
 
305
273
  <p>${us.title}</p>
@@ -315,157 +283,155 @@ ${acList}
315
283
  <p><strong>Priority</strong>: ${us.priority}</p>
316
284
  <p><strong>Status</strong>: ${us.status}</p>
317
285
 
318
- <p>🤖 <strong>Auto-synced from SpecWeave</strong></p>
286
+ <p>\u{1F916} <strong>Auto-synced from SpecWeave</strong></p>
319
287
  `.trim();
288
+ }
289
+ /**
290
+ * Detect conflicts between spec and ADO
291
+ */
292
+ async detectConflicts(spec, feature) {
293
+ const conflicts = [];
294
+ const expectedTitle = `[${spec.metadata.id.toUpperCase()}] ${spec.metadata.title}`;
295
+ if (feature.fields["System.Title"] !== expectedTitle) {
296
+ conflicts.push({
297
+ type: "metadata",
298
+ field: "title",
299
+ localValue: spec.metadata.title,
300
+ remoteValue: feature.fields["System.Title"],
301
+ resolution: "remote-wins",
302
+ description: "Feature title differs from spec title"
303
+ });
320
304
  }
321
- /**
322
- * Detect conflicts between spec and ADO
323
- */
324
- async detectConflicts(spec, feature) {
325
- const conflicts = [];
326
- // Compare feature title
327
- const expectedTitle = `[${spec.metadata.id.toUpperCase()}] ${spec.metadata.title}`;
328
- if (feature.fields['System.Title'] !== expectedTitle) {
329
- conflicts.push({
330
- type: 'metadata',
331
- field: 'title',
332
- localValue: spec.metadata.title,
333
- remoteValue: feature.fields['System.Title'],
334
- resolution: 'remote-wins',
335
- description: 'Feature title differs from spec title'
336
- });
337
- }
338
- // TODO: Compare user stories and their statuses
339
- return conflicts;
340
- }
341
- /**
342
- * Resolve conflicts
343
- */
344
- async resolveConflicts(spec, conflicts) {
345
- for (const conflict of conflicts) {
346
- if (conflict.resolution === 'remote-wins') {
347
- console.log(` 🔄 Resolving: ${conflict.description} (ADO wins)`);
348
- // Update spec metadata from ADO
349
- if (conflict.field === 'title') {
350
- await this.specManager.saveMetadata(spec.metadata.id, {
351
- title: conflict.remoteValue
352
- });
353
- }
354
- }
305
+ return conflicts;
306
+ }
307
+ /**
308
+ * Resolve conflicts
309
+ */
310
+ async resolveConflicts(spec, conflicts) {
311
+ for (const conflict of conflicts) {
312
+ if (conflict.resolution === "remote-wins") {
313
+ console.log(` \u{1F504} Resolving: ${conflict.description} (ADO wins)`);
314
+ if (conflict.field === "title") {
315
+ await this.specManager.saveMetadata(spec.metadata.id, {
316
+ title: conflict.remoteValue
317
+ });
355
318
  }
319
+ }
356
320
  }
357
- /**
358
- * Fetch ADO Feature details
359
- */
360
- async fetchAdoFeature(featureId) {
361
- const response = await this.client.get(`/wit/workitems/${featureId}?api-version=7.0`);
362
- const featureData = response.data;
363
- return {
364
- id: featureData.id,
365
- url: featureData._links.html.href,
366
- fields: featureData.fields
367
- };
368
- }
369
- /**
370
- * Find story by title pattern
371
- */
372
- async findStoryByTitle(usId) {
373
- const wiql = `
321
+ }
322
+ /**
323
+ * Fetch ADO Feature details
324
+ */
325
+ async fetchAdoFeature(featureId) {
326
+ const response = await this.client.get(`/wit/workitems/${featureId}?api-version=7.0`);
327
+ const featureData = response.data;
328
+ return {
329
+ id: featureData.id,
330
+ url: featureData._links.html.href,
331
+ fields: featureData.fields
332
+ };
333
+ }
334
+ /**
335
+ * Find story by title pattern
336
+ */
337
+ async findStoryByTitle(usId) {
338
+ const wiql = `
374
339
  SELECT [System.Id], [System.Title], [System.Description], [System.State]
375
340
  FROM WorkItems
376
341
  WHERE [System.TeamProject] = '${this.config.project}'
377
342
  AND [System.WorkItemType] = 'User Story'
378
343
  AND [System.Title] CONTAINS '[${usId}]'
379
344
  `;
380
- const response = await this.client.post('/wit/wiql?api-version=7.0', {
381
- query: wiql
382
- });
383
- const workItems = response.data.workItems;
384
- if (workItems.length === 0) {
385
- return null;
345
+ const response = await this.client.post("/wit/wiql?api-version=7.0", {
346
+ query: wiql
347
+ });
348
+ const workItems = response.data.workItems;
349
+ if (workItems.length === 0) {
350
+ return null;
351
+ }
352
+ const workItemId = workItems[0].id;
353
+ const detailsResponse = await this.client.get(`/wit/workitems/${workItemId}?api-version=7.0`);
354
+ const storyData = detailsResponse.data;
355
+ return {
356
+ id: storyData.id,
357
+ url: storyData._links.html.href,
358
+ fields: storyData.fields
359
+ };
360
+ }
361
+ /**
362
+ * Create ADO User Story
363
+ */
364
+ async createStory(story) {
365
+ const payload = [
366
+ {
367
+ op: "add",
368
+ path: "/fields/System.Title",
369
+ value: story.title
370
+ },
371
+ {
372
+ op: "add",
373
+ path: "/fields/System.Description",
374
+ value: story.description
375
+ },
376
+ {
377
+ op: "add",
378
+ path: "/fields/System.WorkItemType",
379
+ value: "User Story"
380
+ },
381
+ {
382
+ op: "add",
383
+ path: "/fields/System.Tags",
384
+ value: story.tags
385
+ },
386
+ {
387
+ op: "add",
388
+ path: "/relations/-",
389
+ value: {
390
+ rel: "System.LinkTypes.Hierarchy-Reverse",
391
+ url: `https://dev.azure.com/${this.config.organization}/${this.config.project}/_apis/wit/workitems/${story.parentId}`,
392
+ attributes: {
393
+ name: "Parent"
394
+ }
386
395
  }
387
- // Fetch full work item details
388
- const workItemId = workItems[0].id;
389
- const detailsResponse = await this.client.get(`/wit/workitems/${workItemId}?api-version=7.0`);
390
- const storyData = detailsResponse.data;
391
- return {
392
- id: storyData.id,
393
- url: storyData._links.html.href,
394
- fields: storyData.fields
395
- };
396
+ }
397
+ ];
398
+ const response = await this.client.post("/wit/workitems/$User%20Story?api-version=7.0", payload);
399
+ const storyData = response.data;
400
+ return {
401
+ id: storyData.id,
402
+ url: storyData._links.html.href,
403
+ fields: storyData.fields
404
+ };
405
+ }
406
+ /**
407
+ * Update ADO User Story
408
+ */
409
+ async updateStory(storyId, updates) {
410
+ const payload = [];
411
+ if (updates.title) {
412
+ payload.push({
413
+ op: "replace",
414
+ path: "/fields/System.Title",
415
+ value: updates.title
416
+ });
396
417
  }
397
- /**
398
- * Create ADO User Story
399
- */
400
- async createStory(story) {
401
- const payload = [
402
- {
403
- op: 'add',
404
- path: '/fields/System.Title',
405
- value: story.title
406
- },
407
- {
408
- op: 'add',
409
- path: '/fields/System.Description',
410
- value: story.description
411
- },
412
- {
413
- op: 'add',
414
- path: '/fields/System.WorkItemType',
415
- value: 'User Story'
416
- },
417
- {
418
- op: 'add',
419
- path: '/fields/System.Tags',
420
- value: story.tags
421
- },
422
- {
423
- op: 'add',
424
- path: '/relations/-',
425
- value: {
426
- rel: 'System.LinkTypes.Hierarchy-Reverse',
427
- url: `https://dev.azure.com/${this.config.organization}/${this.config.project}/_apis/wit/workitems/${story.parentId}`,
428
- attributes: {
429
- name: 'Parent'
430
- }
431
- }
432
- }
433
- ];
434
- const response = await this.client.post('/wit/workitems/$User%20Story?api-version=7.0', payload);
435
- const storyData = response.data;
436
- return {
437
- id: storyData.id,
438
- url: storyData._links.html.href,
439
- fields: storyData.fields
440
- };
418
+ if (updates.description) {
419
+ payload.push({
420
+ op: "replace",
421
+ path: "/fields/System.Description",
422
+ value: updates.description
423
+ });
441
424
  }
442
- /**
443
- * Update ADO User Story
444
- */
445
- async updateStory(storyId, updates) {
446
- const payload = [];
447
- if (updates.title) {
448
- payload.push({
449
- op: 'replace',
450
- path: '/fields/System.Title',
451
- value: updates.title
452
- });
453
- }
454
- if (updates.description) {
455
- payload.push({
456
- op: 'replace',
457
- path: '/fields/System.Description',
458
- value: updates.description
459
- });
460
- }
461
- if (updates.state) {
462
- payload.push({
463
- op: 'replace',
464
- path: '/fields/System.State',
465
- value: updates.state
466
- });
467
- }
468
- await this.client.patch(`/wit/workitems/${storyId}?api-version=7.0`, payload);
425
+ if (updates.state) {
426
+ payload.push({
427
+ op: "replace",
428
+ path: "/fields/System.State",
429
+ value: updates.state
430
+ });
469
431
  }
432
+ await this.client.patch(`/wit/workitems/${storyId}?api-version=7.0`, payload);
433
+ }
470
434
  }
471
- //# sourceMappingURL=ado-spec-sync.js.map
435
+ export {
436
+ AdoSpecSync
437
+ };