specweave 0.13.5 → 0.13.6

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 (779) hide show
  1. package/bin/specweave.js +1 -0
  2. package/dist/cli/commands/init.d.ts +1 -0
  3. package/dist/cli/commands/init.d.ts.map +1 -1
  4. package/dist/cli/commands/init.js +50 -37
  5. package/dist/cli/commands/init.js.map +1 -1
  6. package/package.json +1 -1
  7. package/plugins/specweave/lib/hooks/git-diff-analyzer.js +129 -213
  8. package/plugins/specweave/lib/hooks/invoke-translator-skill.js +146 -192
  9. package/plugins/specweave/lib/hooks/prepare-reflection-context.js +103 -116
  10. package/plugins/specweave/lib/hooks/reflection-config-loader.js +85 -125
  11. package/plugins/specweave/lib/hooks/reflection-parser.js +267 -385
  12. package/plugins/specweave/lib/hooks/reflection-prompt-builder.js +169 -226
  13. package/plugins/specweave/lib/hooks/reflection-storage.js +223 -297
  14. package/plugins/specweave/lib/hooks/run-self-reflection.js +120 -191
  15. package/plugins/specweave/lib/hooks/sync-living-docs.js +87 -129
  16. package/plugins/specweave/lib/hooks/translate-file.js +239 -300
  17. package/plugins/specweave/lib/hooks/translate-living-docs.js +88 -144
  18. package/plugins/specweave/lib/hooks/types/reflection-types.js +57 -72
  19. package/plugins/specweave/lib/hooks/update-tasks-md.js +117 -179
  20. package/plugins/specweave-ado/lib/ado-board-resolver.js +135 -205
  21. package/plugins/specweave-ado/lib/ado-hierarchical-sync.js +223 -335
  22. package/plugins/specweave-ado/lib/ado-spec-sync.js +380 -414
  23. package/plugins/specweave-ado/lib/project-selector.js +168 -196
  24. package/plugins/specweave-github/hooks/hooks.json +11 -0
  25. package/plugins/specweave-github/hooks/post-increment-done.sh +224 -0
  26. package/plugins/specweave-github/lib/cli-sync-increment-changes.js +9 -20
  27. package/plugins/specweave-github/lib/github-board-resolver.js +69 -115
  28. package/plugins/specweave-github/lib/github-client-v2.js +400 -389
  29. package/plugins/specweave-github/lib/github-client.js +246 -280
  30. package/plugins/specweave-github/lib/github-hierarchical-sync.js +168 -251
  31. package/plugins/specweave-github/lib/github-issue-updater.js +231 -288
  32. package/plugins/specweave-github/lib/github-spec-sync.js +379 -420
  33. package/plugins/specweave-github/lib/github-sync-bidirectional.js +175 -202
  34. package/plugins/specweave-github/lib/github-sync-increment-changes.js +212 -251
  35. package/plugins/specweave-github/lib/index.js +11 -10
  36. package/plugins/specweave-github/lib/repo-selector.js +174 -201
  37. package/plugins/specweave-github/lib/subtask-sync.js +132 -125
  38. package/plugins/specweave-github/lib/task-parser.js +191 -207
  39. package/plugins/specweave-github/lib/task-sync.js +344 -296
  40. package/plugins/specweave-github/lib/types.js +0 -5
  41. package/plugins/specweave-jira/lib/jira-board-resolver.js +50 -79
  42. package/plugins/specweave-jira/lib/jira-hierarchical-sync.js +119 -191
  43. package/plugins/specweave-jira/lib/jira-spec-sync.js +366 -405
  44. package/plugins/specweave-jira/lib/project-selector.js +172 -201
  45. package/plugins/specweave-jira/lib/reorganization-detector.js +202 -237
  46. package/plugins/specweave-jira/lib/setup-wizard.js +162 -204
  47. package/src/templates/AGENTS.md.template +42 -0
  48. package/dist/core/agent-model-manager.d.ts +0 -52
  49. package/dist/core/agent-model-manager.d.ts.map +0 -1
  50. package/dist/core/agent-model-manager.js +0 -120
  51. package/dist/core/agent-model-manager.js.map +0 -1
  52. package/dist/core/model-selector.d.ts +0 -57
  53. package/dist/core/model-selector.d.ts.map +0 -1
  54. package/dist/core/model-selector.js +0 -115
  55. package/dist/core/model-selector.js.map +0 -1
  56. package/dist/core/phase-detector.d.ts +0 -62
  57. package/dist/core/phase-detector.d.ts.map +0 -1
  58. package/dist/core/phase-detector.js +0 -229
  59. package/dist/core/phase-detector.js.map +0 -1
  60. package/dist/hooks/lib/git-diff-analyzer.d.ts +0 -89
  61. package/dist/hooks/lib/git-diff-analyzer.d.ts.map +0 -1
  62. package/dist/hooks/lib/git-diff-analyzer.js +0 -226
  63. package/dist/hooks/lib/git-diff-analyzer.js.map +0 -1
  64. package/dist/hooks/lib/invoke-translator-skill.d.ts +0 -60
  65. package/dist/hooks/lib/invoke-translator-skill.d.ts.map +0 -1
  66. package/dist/hooks/lib/invoke-translator-skill.js +0 -201
  67. package/dist/hooks/lib/invoke-translator-skill.js.map +0 -1
  68. package/dist/hooks/lib/prepare-reflection-context.d.ts +0 -42
  69. package/dist/hooks/lib/prepare-reflection-context.d.ts.map +0 -1
  70. package/dist/hooks/lib/prepare-reflection-context.js +0 -123
  71. package/dist/hooks/lib/prepare-reflection-context.js.map +0 -1
  72. package/dist/hooks/lib/reflection-config-loader.d.ts +0 -45
  73. package/dist/hooks/lib/reflection-config-loader.d.ts.map +0 -1
  74. package/dist/hooks/lib/reflection-config-loader.js +0 -132
  75. package/dist/hooks/lib/reflection-config-loader.js.map +0 -1
  76. package/dist/hooks/lib/reflection-parser.d.ts +0 -33
  77. package/dist/hooks/lib/reflection-parser.d.ts.map +0 -1
  78. package/dist/hooks/lib/reflection-parser.js +0 -419
  79. package/dist/hooks/lib/reflection-parser.js.map +0 -1
  80. package/dist/hooks/lib/reflection-prompt-builder.d.ts +0 -56
  81. package/dist/hooks/lib/reflection-prompt-builder.d.ts.map +0 -1
  82. package/dist/hooks/lib/reflection-prompt-builder.js +0 -239
  83. package/dist/hooks/lib/reflection-prompt-builder.js.map +0 -1
  84. package/dist/hooks/lib/reflection-storage.d.ts +0 -64
  85. package/dist/hooks/lib/reflection-storage.d.ts.map +0 -1
  86. package/dist/hooks/lib/reflection-storage.js +0 -305
  87. package/dist/hooks/lib/reflection-storage.js.map +0 -1
  88. package/dist/hooks/lib/run-self-reflection.d.ts +0 -43
  89. package/dist/hooks/lib/run-self-reflection.d.ts.map +0 -1
  90. package/dist/hooks/lib/run-self-reflection.js +0 -203
  91. package/dist/hooks/lib/run-self-reflection.js.map +0 -1
  92. package/dist/hooks/lib/sync-living-docs.d.ts +0 -27
  93. package/dist/hooks/lib/sync-living-docs.d.ts.map +0 -1
  94. package/dist/hooks/lib/sync-living-docs.js +0 -116
  95. package/dist/hooks/lib/sync-living-docs.js.map +0 -1
  96. package/dist/hooks/lib/translate-file.d.ts +0 -59
  97. package/dist/hooks/lib/translate-file.d.ts.map +0 -1
  98. package/dist/hooks/lib/translate-file.js +0 -350
  99. package/dist/hooks/lib/translate-file.js.map +0 -1
  100. package/dist/hooks/lib/translate-living-docs.d.ts +0 -13
  101. package/dist/hooks/lib/translate-living-docs.d.ts.map +0 -1
  102. package/dist/hooks/lib/translate-living-docs.js +0 -175
  103. package/dist/hooks/lib/translate-living-docs.js.map +0 -1
  104. package/dist/hooks/lib/types/reflection-types.d.ts +0 -164
  105. package/dist/hooks/lib/types/reflection-types.d.ts.map +0 -1
  106. package/dist/hooks/lib/types/reflection-types.js +0 -73
  107. package/dist/hooks/lib/types/reflection-types.js.map +0 -1
  108. package/dist/hooks/lib/update-tasks-md.d.ts +0 -29
  109. package/dist/hooks/lib/update-tasks-md.d.ts.map +0 -1
  110. package/dist/hooks/lib/update-tasks-md.js +0 -203
  111. package/dist/hooks/lib/update-tasks-md.js.map +0 -1
  112. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts +0 -89
  113. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts.map +0 -1
  114. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.js +0 -226
  115. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.js.map +0 -1
  116. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts +0 -60
  117. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts.map +0 -1
  118. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.js +0 -201
  119. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.js.map +0 -1
  120. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts +0 -42
  121. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts.map +0 -1
  122. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.js +0 -123
  123. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.js.map +0 -1
  124. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.d.ts +0 -45
  125. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.d.ts.map +0 -1
  126. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.js +0 -132
  127. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.js.map +0 -1
  128. package/dist/plugins/specweave/lib/hooks/reflection-parser.d.ts +0 -33
  129. package/dist/plugins/specweave/lib/hooks/reflection-parser.d.ts.map +0 -1
  130. package/dist/plugins/specweave/lib/hooks/reflection-parser.js +0 -419
  131. package/dist/plugins/specweave/lib/hooks/reflection-parser.js.map +0 -1
  132. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts +0 -56
  133. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts.map +0 -1
  134. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.js +0 -239
  135. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.js.map +0 -1
  136. package/dist/plugins/specweave/lib/hooks/reflection-storage.d.ts +0 -64
  137. package/dist/plugins/specweave/lib/hooks/reflection-storage.d.ts.map +0 -1
  138. package/dist/plugins/specweave/lib/hooks/reflection-storage.js +0 -305
  139. package/dist/plugins/specweave/lib/hooks/reflection-storage.js.map +0 -1
  140. package/dist/plugins/specweave/lib/hooks/run-self-reflection.d.ts +0 -43
  141. package/dist/plugins/specweave/lib/hooks/run-self-reflection.d.ts.map +0 -1
  142. package/dist/plugins/specweave/lib/hooks/run-self-reflection.js +0 -203
  143. package/dist/plugins/specweave/lib/hooks/run-self-reflection.js.map +0 -1
  144. package/dist/plugins/specweave/lib/hooks/sync-living-docs.d.ts +0 -27
  145. package/dist/plugins/specweave/lib/hooks/sync-living-docs.d.ts.map +0 -1
  146. package/dist/plugins/specweave/lib/hooks/sync-living-docs.js +0 -144
  147. package/dist/plugins/specweave/lib/hooks/sync-living-docs.js.map +0 -1
  148. package/dist/plugins/specweave/lib/hooks/translate-file.d.ts +0 -59
  149. package/dist/plugins/specweave/lib/hooks/translate-file.d.ts.map +0 -1
  150. package/dist/plugins/specweave/lib/hooks/translate-file.js +0 -350
  151. package/dist/plugins/specweave/lib/hooks/translate-file.js.map +0 -1
  152. package/dist/plugins/specweave/lib/hooks/translate-living-docs.d.ts +0 -13
  153. package/dist/plugins/specweave/lib/hooks/translate-living-docs.d.ts.map +0 -1
  154. package/dist/plugins/specweave/lib/hooks/translate-living-docs.js +0 -175
  155. package/dist/plugins/specweave/lib/hooks/translate-living-docs.js.map +0 -1
  156. package/dist/plugins/specweave/lib/hooks/types/reflection-types.d.ts +0 -164
  157. package/dist/plugins/specweave/lib/hooks/types/reflection-types.d.ts.map +0 -1
  158. package/dist/plugins/specweave/lib/hooks/types/reflection-types.js +0 -73
  159. package/dist/plugins/specweave/lib/hooks/types/reflection-types.js.map +0 -1
  160. package/dist/plugins/specweave/lib/hooks/update-tasks-md.d.ts +0 -29
  161. package/dist/plugins/specweave/lib/hooks/update-tasks-md.d.ts.map +0 -1
  162. package/dist/plugins/specweave/lib/hooks/update-tasks-md.js +0 -203
  163. package/dist/plugins/specweave/lib/hooks/update-tasks-md.js.map +0 -1
  164. package/dist/plugins/specweave-ado/lib/ado-board-resolver.d.ts +0 -94
  165. package/dist/plugins/specweave-ado/lib/ado-board-resolver.d.ts.map +0 -1
  166. package/dist/plugins/specweave-ado/lib/ado-board-resolver.js +0 -219
  167. package/dist/plugins/specweave-ado/lib/ado-board-resolver.js.map +0 -1
  168. package/dist/plugins/specweave-ado/lib/ado-client-v2.d.ts +0 -124
  169. package/dist/plugins/specweave-ado/lib/ado-client-v2.d.ts.map +0 -1
  170. package/dist/plugins/specweave-ado/lib/ado-client-v2.js +0 -382
  171. package/dist/plugins/specweave-ado/lib/ado-client-v2.js.map +0 -1
  172. package/dist/plugins/specweave-ado/lib/ado-client.d.ts +0 -112
  173. package/dist/plugins/specweave-ado/lib/ado-client.d.ts.map +0 -1
  174. package/dist/plugins/specweave-ado/lib/ado-client.js +0 -257
  175. package/dist/plugins/specweave-ado/lib/ado-client.js.map +0 -1
  176. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.d.ts +0 -40
  177. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.d.ts.map +0 -1
  178. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.js +0 -370
  179. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.js.map +0 -1
  180. package/dist/plugins/specweave-ado/lib/ado-spec-sync.d.ts +0 -100
  181. package/dist/plugins/specweave-ado/lib/ado-spec-sync.d.ts.map +0 -1
  182. package/dist/plugins/specweave-ado/lib/ado-spec-sync.js +0 -471
  183. package/dist/plugins/specweave-ado/lib/ado-spec-sync.js.map +0 -1
  184. package/dist/plugins/specweave-ado/lib/project-selector.d.ts +0 -42
  185. package/dist/plugins/specweave-ado/lib/project-selector.d.ts.map +0 -1
  186. package/dist/plugins/specweave-ado/lib/project-selector.js +0 -211
  187. package/dist/plugins/specweave-ado/lib/project-selector.js.map +0 -1
  188. package/dist/plugins/specweave-github/lib/cli-sync-increment-changes.d.ts +0 -12
  189. package/dist/plugins/specweave-github/lib/cli-sync-increment-changes.d.ts.map +0 -1
  190. package/dist/plugins/specweave-github/lib/cli-sync-increment-changes.js +0 -28
  191. package/dist/plugins/specweave-github/lib/cli-sync-increment-changes.js.map +0 -1
  192. package/dist/plugins/specweave-github/lib/github-board-resolver.d.ts +0 -54
  193. package/dist/plugins/specweave-github/lib/github-board-resolver.d.ts.map +0 -1
  194. package/dist/plugins/specweave-github/lib/github-board-resolver.js +0 -122
  195. package/dist/plugins/specweave-github/lib/github-board-resolver.js.map +0 -1
  196. package/dist/plugins/specweave-github/lib/github-client-v2.d.ts +0 -104
  197. package/dist/plugins/specweave-github/lib/github-client-v2.d.ts.map +0 -1
  198. package/dist/plugins/specweave-github/lib/github-client-v2.js +0 -408
  199. package/dist/plugins/specweave-github/lib/github-client-v2.js.map +0 -1
  200. package/dist/plugins/specweave-github/lib/github-client.d.ts +0 -96
  201. package/dist/plugins/specweave-github/lib/github-client.d.ts.map +0 -1
  202. package/dist/plugins/specweave-github/lib/github-client.js +0 -299
  203. package/dist/plugins/specweave-github/lib/github-client.js.map +0 -1
  204. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.d.ts +0 -29
  205. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.d.ts.map +0 -1
  206. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.js +0 -268
  207. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.js.map +0 -1
  208. package/dist/plugins/specweave-github/lib/github-issue-updater.d.ts +0 -61
  209. package/dist/plugins/specweave-github/lib/github-issue-updater.d.ts.map +0 -1
  210. package/dist/plugins/specweave-github/lib/github-issue-updater.js +0 -327
  211. package/dist/plugins/specweave-github/lib/github-issue-updater.js.map +0 -1
  212. package/dist/plugins/specweave-github/lib/github-spec-sync.d.ts +0 -108
  213. package/dist/plugins/specweave-github/lib/github-spec-sync.d.ts.map +0 -1
  214. package/dist/plugins/specweave-github/lib/github-spec-sync.js +0 -505
  215. package/dist/plugins/specweave-github/lib/github-spec-sync.js.map +0 -1
  216. package/dist/plugins/specweave-github/lib/github-sync-bidirectional.d.ts +0 -36
  217. package/dist/plugins/specweave-github/lib/github-sync-bidirectional.d.ts.map +0 -1
  218. package/dist/plugins/specweave-github/lib/github-sync-bidirectional.js +0 -228
  219. package/dist/plugins/specweave-github/lib/github-sync-bidirectional.js.map +0 -1
  220. package/dist/plugins/specweave-github/lib/github-sync-increment-changes.d.ts +0 -18
  221. package/dist/plugins/specweave-github/lib/github-sync-increment-changes.d.ts.map +0 -1
  222. package/dist/plugins/specweave-github/lib/github-sync-increment-changes.js +0 -287
  223. package/dist/plugins/specweave-github/lib/github-sync-increment-changes.js.map +0 -1
  224. package/dist/plugins/specweave-github/lib/index.d.ts +0 -10
  225. package/dist/plugins/specweave-github/lib/index.d.ts.map +0 -1
  226. package/dist/plugins/specweave-github/lib/index.js +0 -10
  227. package/dist/plugins/specweave-github/lib/index.js.map +0 -1
  228. package/dist/plugins/specweave-github/lib/repo-selector.d.ts +0 -49
  229. package/dist/plugins/specweave-github/lib/repo-selector.d.ts.map +0 -1
  230. package/dist/plugins/specweave-github/lib/repo-selector.js +0 -216
  231. package/dist/plugins/specweave-github/lib/repo-selector.js.map +0 -1
  232. package/dist/plugins/specweave-github/lib/subtask-sync.d.ts +0 -51
  233. package/dist/plugins/specweave-github/lib/subtask-sync.d.ts.map +0 -1
  234. package/dist/plugins/specweave-github/lib/subtask-sync.js +0 -147
  235. package/dist/plugins/specweave-github/lib/subtask-sync.js.map +0 -1
  236. package/dist/plugins/specweave-github/lib/task-parser.d.ts +0 -37
  237. package/dist/plugins/specweave-github/lib/task-parser.d.ts.map +0 -1
  238. package/dist/plugins/specweave-github/lib/task-parser.js +0 -211
  239. package/dist/plugins/specweave-github/lib/task-parser.js.map +0 -1
  240. package/dist/plugins/specweave-github/lib/task-sync.d.ts +0 -51
  241. package/dist/plugins/specweave-github/lib/task-sync.d.ts.map +0 -1
  242. package/dist/plugins/specweave-github/lib/task-sync.js +0 -332
  243. package/dist/plugins/specweave-github/lib/task-sync.js.map +0 -1
  244. package/dist/plugins/specweave-github/lib/types.d.ts +0 -80
  245. package/dist/plugins/specweave-github/lib/types.d.ts.map +0 -1
  246. package/dist/plugins/specweave-github/lib/types.js +0 -5
  247. package/dist/plugins/specweave-github/lib/types.js.map +0 -1
  248. package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts +0 -50
  249. package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts.map +0 -1
  250. package/dist/plugins/specweave-jira/lib/jira-board-resolver.js +0 -84
  251. package/dist/plugins/specweave-jira/lib/jira-board-resolver.js.map +0 -1
  252. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.d.ts +0 -33
  253. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.d.ts.map +0 -1
  254. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.js +0 -206
  255. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.js.map +0 -1
  256. package/dist/plugins/specweave-jira/lib/jira-spec-sync.d.ts +0 -105
  257. package/dist/plugins/specweave-jira/lib/jira-spec-sync.d.ts.map +0 -1
  258. package/dist/plugins/specweave-jira/lib/jira-spec-sync.js +0 -456
  259. package/dist/plugins/specweave-jira/lib/jira-spec-sync.js.map +0 -1
  260. package/dist/plugins/specweave-jira/lib/project-selector.d.ts +0 -42
  261. package/dist/plugins/specweave-jira/lib/project-selector.d.ts.map +0 -1
  262. package/dist/plugins/specweave-jira/lib/project-selector.js +0 -216
  263. package/dist/plugins/specweave-jira/lib/project-selector.js.map +0 -1
  264. package/dist/plugins/specweave-jira/lib/reorganization-detector.d.ts +0 -67
  265. package/dist/plugins/specweave-jira/lib/reorganization-detector.d.ts.map +0 -1
  266. package/dist/plugins/specweave-jira/lib/reorganization-detector.js +0 -252
  267. package/dist/plugins/specweave-jira/lib/reorganization-detector.js.map +0 -1
  268. package/dist/plugins/specweave-jira/lib/setup-wizard.d.ts +0 -29
  269. package/dist/plugins/specweave-jira/lib/setup-wizard.d.ts.map +0 -1
  270. package/dist/plugins/specweave-jira/lib/setup-wizard.js +0 -219
  271. package/dist/plugins/specweave-jira/lib/setup-wizard.js.map +0 -1
  272. package/dist/src/adapters/adapter-base.d.ts +0 -71
  273. package/dist/src/adapters/adapter-base.d.ts.map +0 -1
  274. package/dist/src/adapters/adapter-base.js +0 -139
  275. package/dist/src/adapters/adapter-base.js.map +0 -1
  276. package/dist/src/adapters/adapter-interface.d.ts +0 -149
  277. package/dist/src/adapters/adapter-interface.d.ts.map +0 -1
  278. package/dist/src/adapters/adapter-interface.js +0 -8
  279. package/dist/src/adapters/adapter-interface.js.map +0 -1
  280. package/dist/src/adapters/adapter-loader.d.ts +0 -91
  281. package/dist/src/adapters/adapter-loader.d.ts.map +0 -1
  282. package/dist/src/adapters/adapter-loader.js +0 -238
  283. package/dist/src/adapters/adapter-loader.js.map +0 -1
  284. package/dist/src/adapters/agents-md-generator.d.ts +0 -48
  285. package/dist/src/adapters/agents-md-generator.d.ts.map +0 -1
  286. package/dist/src/adapters/agents-md-generator.js +0 -193
  287. package/dist/src/adapters/agents-md-generator.js.map +0 -1
  288. package/dist/src/adapters/claude/adapter.d.ts +0 -128
  289. package/dist/src/adapters/claude/adapter.d.ts.map +0 -1
  290. package/dist/src/adapters/claude/adapter.js +0 -415
  291. package/dist/src/adapters/claude/adapter.js.map +0 -1
  292. package/dist/src/adapters/claude-md-generator.d.ts +0 -78
  293. package/dist/src/adapters/claude-md-generator.d.ts.map +0 -1
  294. package/dist/src/adapters/claude-md-generator.js +0 -307
  295. package/dist/src/adapters/claude-md-generator.js.map +0 -1
  296. package/dist/src/adapters/codex/adapter.d.ts +0 -50
  297. package/dist/src/adapters/codex/adapter.d.ts.map +0 -1
  298. package/dist/src/adapters/codex/adapter.js +0 -316
  299. package/dist/src/adapters/codex/adapter.js.map +0 -1
  300. package/dist/src/adapters/cursor/adapter.d.ts +0 -98
  301. package/dist/src/adapters/cursor/adapter.d.ts.map +0 -1
  302. package/dist/src/adapters/cursor/adapter.js +0 -406
  303. package/dist/src/adapters/cursor/adapter.js.map +0 -1
  304. package/dist/src/adapters/doc-generator.d.ts +0 -69
  305. package/dist/src/adapters/doc-generator.d.ts.map +0 -1
  306. package/dist/src/adapters/doc-generator.js +0 -247
  307. package/dist/src/adapters/doc-generator.js.map +0 -1
  308. package/dist/src/adapters/gemini/adapter.d.ts +0 -50
  309. package/dist/src/adapters/gemini/adapter.d.ts.map +0 -1
  310. package/dist/src/adapters/gemini/adapter.js +0 -281
  311. package/dist/src/adapters/gemini/adapter.js.map +0 -1
  312. package/dist/src/adapters/generic/adapter.d.ts +0 -86
  313. package/dist/src/adapters/generic/adapter.d.ts.map +0 -1
  314. package/dist/src/adapters/generic/adapter.js +0 -338
  315. package/dist/src/adapters/generic/adapter.js.map +0 -1
  316. package/dist/src/cli/commands/abandon.d.ts +0 -13
  317. package/dist/src/cli/commands/abandon.d.ts.map +0 -1
  318. package/dist/src/cli/commands/abandon.js +0 -15
  319. package/dist/src/cli/commands/abandon.js.map +0 -1
  320. package/dist/src/cli/commands/import-docs.d.ts +0 -21
  321. package/dist/src/cli/commands/import-docs.d.ts.map +0 -1
  322. package/dist/src/cli/commands/import-docs.js +0 -146
  323. package/dist/src/cli/commands/import-docs.js.map +0 -1
  324. package/dist/src/cli/commands/init-multiproject.d.ts +0 -11
  325. package/dist/src/cli/commands/init-multiproject.d.ts.map +0 -1
  326. package/dist/src/cli/commands/init-multiproject.js +0 -202
  327. package/dist/src/cli/commands/init-multiproject.js.map +0 -1
  328. package/dist/src/cli/commands/init.d.ts +0 -9
  329. package/dist/src/cli/commands/init.d.ts.map +0 -1
  330. package/dist/src/cli/commands/init.js +0 -1444
  331. package/dist/src/cli/commands/init.js.map +0 -1
  332. package/dist/src/cli/commands/install.d.ts +0 -9
  333. package/dist/src/cli/commands/install.d.ts.map +0 -1
  334. package/dist/src/cli/commands/install.js +0 -127
  335. package/dist/src/cli/commands/install.js.map +0 -1
  336. package/dist/src/cli/commands/list.d.ts +0 -8
  337. package/dist/src/cli/commands/list.d.ts.map +0 -1
  338. package/dist/src/cli/commands/list.js +0 -119
  339. package/dist/src/cli/commands/list.js.map +0 -1
  340. package/dist/src/cli/commands/migrate-to-multiproject.d.ts +0 -37
  341. package/dist/src/cli/commands/migrate-to-multiproject.d.ts.map +0 -1
  342. package/dist/src/cli/commands/migrate-to-multiproject.js +0 -189
  343. package/dist/src/cli/commands/migrate-to-multiproject.js.map +0 -1
  344. package/dist/src/cli/commands/migrate-to-profiles.d.ts +0 -25
  345. package/dist/src/cli/commands/migrate-to-profiles.d.ts.map +0 -1
  346. package/dist/src/cli/commands/migrate-to-profiles.js +0 -350
  347. package/dist/src/cli/commands/migrate-to-profiles.js.map +0 -1
  348. package/dist/src/cli/commands/pause.d.ts +0 -13
  349. package/dist/src/cli/commands/pause.d.ts.map +0 -1
  350. package/dist/src/cli/commands/pause.js +0 -15
  351. package/dist/src/cli/commands/pause.js.map +0 -1
  352. package/dist/src/cli/commands/qa.d.ts +0 -54
  353. package/dist/src/cli/commands/qa.d.ts.map +0 -1
  354. package/dist/src/cli/commands/qa.js +0 -98
  355. package/dist/src/cli/commands/qa.js.map +0 -1
  356. package/dist/src/cli/commands/resume.d.ts +0 -12
  357. package/dist/src/cli/commands/resume.d.ts.map +0 -1
  358. package/dist/src/cli/commands/resume.js +0 -14
  359. package/dist/src/cli/commands/resume.js.map +0 -1
  360. package/dist/src/cli/commands/status.d.ts +0 -12
  361. package/dist/src/cli/commands/status.d.ts.map +0 -1
  362. package/dist/src/cli/commands/status.js +0 -23
  363. package/dist/src/cli/commands/status.js.map +0 -1
  364. package/dist/src/cli/commands/switch-project.d.ts +0 -13
  365. package/dist/src/cli/commands/switch-project.d.ts.map +0 -1
  366. package/dist/src/cli/commands/switch-project.js +0 -91
  367. package/dist/src/cli/commands/switch-project.js.map +0 -1
  368. package/dist/src/cli/commands/validate-jira.d.ts +0 -35
  369. package/dist/src/cli/commands/validate-jira.d.ts.map +0 -1
  370. package/dist/src/cli/commands/validate-jira.js +0 -112
  371. package/dist/src/cli/commands/validate-jira.js.map +0 -1
  372. package/dist/src/cli/commands/validate-plugins.d.ts +0 -41
  373. package/dist/src/cli/commands/validate-plugins.d.ts.map +0 -1
  374. package/dist/src/cli/commands/validate-plugins.js +0 -171
  375. package/dist/src/cli/commands/validate-plugins.js.map +0 -1
  376. package/dist/src/cli/helpers/issue-tracker/ado.d.ts +0 -57
  377. package/dist/src/cli/helpers/issue-tracker/ado.d.ts.map +0 -1
  378. package/dist/src/cli/helpers/issue-tracker/ado.js +0 -243
  379. package/dist/src/cli/helpers/issue-tracker/ado.js.map +0 -1
  380. package/dist/src/cli/helpers/issue-tracker/github.d.ts +0 -65
  381. package/dist/src/cli/helpers/issue-tracker/github.d.ts.map +0 -1
  382. package/dist/src/cli/helpers/issue-tracker/github.js +0 -426
  383. package/dist/src/cli/helpers/issue-tracker/github.js.map +0 -1
  384. package/dist/src/cli/helpers/issue-tracker/index.d.ts +0 -22
  385. package/dist/src/cli/helpers/issue-tracker/index.d.ts.map +0 -1
  386. package/dist/src/cli/helpers/issue-tracker/index.js +0 -314
  387. package/dist/src/cli/helpers/issue-tracker/index.js.map +0 -1
  388. package/dist/src/cli/helpers/issue-tracker/jira.d.ts +0 -61
  389. package/dist/src/cli/helpers/issue-tracker/jira.d.ts.map +0 -1
  390. package/dist/src/cli/helpers/issue-tracker/jira.js +0 -404
  391. package/dist/src/cli/helpers/issue-tracker/jira.js.map +0 -1
  392. package/dist/src/cli/helpers/issue-tracker/types.d.ts +0 -108
  393. package/dist/src/cli/helpers/issue-tracker/types.d.ts.map +0 -1
  394. package/dist/src/cli/helpers/issue-tracker/types.js +0 -16
  395. package/dist/src/cli/helpers/issue-tracker/types.js.map +0 -1
  396. package/dist/src/cli/helpers/issue-tracker/utils.d.ts +0 -112
  397. package/dist/src/cli/helpers/issue-tracker/utils.d.ts.map +0 -1
  398. package/dist/src/cli/helpers/issue-tracker/utils.js +0 -247
  399. package/dist/src/cli/helpers/issue-tracker/utils.js.map +0 -1
  400. package/dist/src/core/agent-model-manager.d.ts +0 -52
  401. package/dist/src/core/agent-model-manager.d.ts.map +0 -1
  402. package/dist/src/core/agent-model-manager.js +0 -120
  403. package/dist/src/core/agent-model-manager.js.map +0 -1
  404. package/dist/src/core/brownfield/analyzer.d.ts +0 -86
  405. package/dist/src/core/brownfield/analyzer.d.ts.map +0 -1
  406. package/dist/src/core/brownfield/analyzer.js +0 -365
  407. package/dist/src/core/brownfield/analyzer.js.map +0 -1
  408. package/dist/src/core/brownfield/importer.d.ts +0 -76
  409. package/dist/src/core/brownfield/importer.d.ts.map +0 -1
  410. package/dist/src/core/brownfield/importer.js +0 -287
  411. package/dist/src/core/brownfield/importer.js.map +0 -1
  412. package/dist/src/core/config-manager.d.ts +0 -47
  413. package/dist/src/core/config-manager.d.ts.map +0 -1
  414. package/dist/src/core/config-manager.js +0 -136
  415. package/dist/src/core/config-manager.js.map +0 -1
  416. package/dist/src/core/cost-tracker.d.ts +0 -108
  417. package/dist/src/core/cost-tracker.d.ts.map +0 -1
  418. package/dist/src/core/cost-tracker.js +0 -281
  419. package/dist/src/core/cost-tracker.js.map +0 -1
  420. package/dist/src/core/credentials-manager.d.ts +0 -107
  421. package/dist/src/core/credentials-manager.d.ts.map +0 -1
  422. package/dist/src/core/credentials-manager.js +0 -457
  423. package/dist/src/core/credentials-manager.js.map +0 -1
  424. package/dist/src/core/i18n/language-detector.d.ts +0 -29
  425. package/dist/src/core/i18n/language-detector.d.ts.map +0 -1
  426. package/dist/src/core/i18n/language-detector.js +0 -143
  427. package/dist/src/core/i18n/language-detector.js.map +0 -1
  428. package/dist/src/core/i18n/language-manager.d.ts +0 -101
  429. package/dist/src/core/i18n/language-manager.d.ts.map +0 -1
  430. package/dist/src/core/i18n/language-manager.js +0 -232
  431. package/dist/src/core/i18n/language-manager.js.map +0 -1
  432. package/dist/src/core/i18n/language-registry.d.ts +0 -44
  433. package/dist/src/core/i18n/language-registry.d.ts.map +0 -1
  434. package/dist/src/core/i18n/language-registry.js +0 -234
  435. package/dist/src/core/i18n/language-registry.js.map +0 -1
  436. package/dist/src/core/i18n/locale-manager.d.ts +0 -62
  437. package/dist/src/core/i18n/locale-manager.d.ts.map +0 -1
  438. package/dist/src/core/i18n/locale-manager.js +0 -137
  439. package/dist/src/core/i18n/locale-manager.js.map +0 -1
  440. package/dist/src/core/i18n/system-prompt-injector.d.ts +0 -33
  441. package/dist/src/core/i18n/system-prompt-injector.d.ts.map +0 -1
  442. package/dist/src/core/i18n/system-prompt-injector.js +0 -131
  443. package/dist/src/core/i18n/system-prompt-injector.js.map +0 -1
  444. package/dist/src/core/i18n/types.d.ts +0 -151
  445. package/dist/src/core/i18n/types.d.ts.map +0 -1
  446. package/dist/src/core/i18n/types.js +0 -11
  447. package/dist/src/core/i18n/types.js.map +0 -1
  448. package/dist/src/core/increment/limits.d.ts +0 -68
  449. package/dist/src/core/increment/limits.d.ts.map +0 -1
  450. package/dist/src/core/increment/limits.js +0 -224
  451. package/dist/src/core/increment/limits.js.map +0 -1
  452. package/dist/src/core/increment/metadata-manager.d.ts +0 -114
  453. package/dist/src/core/increment/metadata-manager.d.ts.map +0 -1
  454. package/dist/src/core/increment/metadata-manager.js +0 -320
  455. package/dist/src/core/increment/metadata-manager.js.map +0 -1
  456. package/dist/src/core/increment/status-commands.d.ts +0 -43
  457. package/dist/src/core/increment/status-commands.d.ts.map +0 -1
  458. package/dist/src/core/increment/status-commands.js +0 -277
  459. package/dist/src/core/increment/status-commands.js.map +0 -1
  460. package/dist/src/core/increment-status.d.ts +0 -72
  461. package/dist/src/core/increment-status.d.ts.map +0 -1
  462. package/dist/src/core/increment-status.js +0 -227
  463. package/dist/src/core/increment-status.js.map +0 -1
  464. package/dist/src/core/model-selector.d.ts +0 -57
  465. package/dist/src/core/model-selector.d.ts.map +0 -1
  466. package/dist/src/core/model-selector.js +0 -115
  467. package/dist/src/core/model-selector.js.map +0 -1
  468. package/dist/src/core/phase-detector.d.ts +0 -62
  469. package/dist/src/core/phase-detector.d.ts.map +0 -1
  470. package/dist/src/core/phase-detector.js +0 -229
  471. package/dist/src/core/phase-detector.js.map +0 -1
  472. package/dist/src/core/plugin-loader.d.ts +0 -131
  473. package/dist/src/core/plugin-loader.d.ts.map +0 -1
  474. package/dist/src/core/plugin-loader.js +0 -421
  475. package/dist/src/core/plugin-loader.js.map +0 -1
  476. package/dist/src/core/project-manager.d.ts +0 -127
  477. package/dist/src/core/project-manager.d.ts.map +0 -1
  478. package/dist/src/core/project-manager.js +0 -524
  479. package/dist/src/core/project-manager.js.map +0 -1
  480. package/dist/src/core/project-structure-detector.d.ts +0 -92
  481. package/dist/src/core/project-structure-detector.d.ts.map +0 -1
  482. package/dist/src/core/project-structure-detector.js +0 -289
  483. package/dist/src/core/project-structure-detector.js.map +0 -1
  484. package/dist/src/core/qa/qa-runner.d.ts +0 -16
  485. package/dist/src/core/qa/qa-runner.d.ts.map +0 -1
  486. package/dist/src/core/qa/qa-runner.js +0 -404
  487. package/dist/src/core/qa/qa-runner.js.map +0 -1
  488. package/dist/src/core/qa/quality-gate-decider.d.ts +0 -53
  489. package/dist/src/core/qa/quality-gate-decider.d.ts.map +0 -1
  490. package/dist/src/core/qa/quality-gate-decider.js +0 -268
  491. package/dist/src/core/qa/quality-gate-decider.js.map +0 -1
  492. package/dist/src/core/qa/risk-calculator.d.ts +0 -126
  493. package/dist/src/core/qa/risk-calculator.d.ts.map +0 -1
  494. package/dist/src/core/qa/risk-calculator.js +0 -247
  495. package/dist/src/core/qa/risk-calculator.js.map +0 -1
  496. package/dist/src/core/qa/types.d.ts +0 -315
  497. package/dist/src/core/qa/types.d.ts.map +0 -1
  498. package/dist/src/core/qa/types.js +0 -8
  499. package/dist/src/core/qa/types.js.map +0 -1
  500. package/dist/src/core/rfc-generator-v2.d.ts +0 -149
  501. package/dist/src/core/rfc-generator-v2.d.ts.map +0 -1
  502. package/dist/src/core/rfc-generator-v2.js +0 -399
  503. package/dist/src/core/rfc-generator-v2.js.map +0 -1
  504. package/dist/src/core/specs/spec-metadata-manager.d.ts +0 -70
  505. package/dist/src/core/specs/spec-metadata-manager.d.ts.map +0 -1
  506. package/dist/src/core/specs/spec-metadata-manager.js +0 -371
  507. package/dist/src/core/specs/spec-metadata-manager.js.map +0 -1
  508. package/dist/src/core/specs/spec-parser.d.ts +0 -66
  509. package/dist/src/core/specs/spec-parser.d.ts.map +0 -1
  510. package/dist/src/core/specs/spec-parser.js +0 -276
  511. package/dist/src/core/specs/spec-parser.js.map +0 -1
  512. package/dist/src/core/sync/bidirectional-engine.d.ts +0 -110
  513. package/dist/src/core/sync/bidirectional-engine.d.ts.map +0 -1
  514. package/dist/src/core/sync/bidirectional-engine.js +0 -356
  515. package/dist/src/core/sync/bidirectional-engine.js.map +0 -1
  516. package/dist/src/core/sync/folder-mapper.d.ts +0 -71
  517. package/dist/src/core/sync/folder-mapper.d.ts.map +0 -1
  518. package/dist/src/core/sync/folder-mapper.js +0 -168
  519. package/dist/src/core/sync/folder-mapper.js.map +0 -1
  520. package/dist/src/core/sync/profile-manager.d.ts +0 -72
  521. package/dist/src/core/sync/profile-manager.d.ts.map +0 -1
  522. package/dist/src/core/sync/profile-manager.js +0 -338
  523. package/dist/src/core/sync/profile-manager.js.map +0 -1
  524. package/dist/src/core/sync/profile-selector.d.ts +0 -52
  525. package/dist/src/core/sync/profile-selector.d.ts.map +0 -1
  526. package/dist/src/core/sync/profile-selector.js +0 -179
  527. package/dist/src/core/sync/profile-selector.js.map +0 -1
  528. package/dist/src/core/sync/profile-validator.d.ts +0 -52
  529. package/dist/src/core/sync/profile-validator.d.ts.map +0 -1
  530. package/dist/src/core/sync/profile-validator.js +0 -225
  531. package/dist/src/core/sync/profile-validator.js.map +0 -1
  532. package/dist/src/core/sync/project-context.d.ts +0 -81
  533. package/dist/src/core/sync/project-context.d.ts.map +0 -1
  534. package/dist/src/core/sync/project-context.js +0 -354
  535. package/dist/src/core/sync/project-context.js.map +0 -1
  536. package/dist/src/core/sync/rate-limiter.d.ts +0 -116
  537. package/dist/src/core/sync/rate-limiter.d.ts.map +0 -1
  538. package/dist/src/core/sync/rate-limiter.js +0 -308
  539. package/dist/src/core/sync/rate-limiter.js.map +0 -1
  540. package/dist/src/core/sync/time-range-selector.d.ts +0 -48
  541. package/dist/src/core/sync/time-range-selector.d.ts.map +0 -1
  542. package/dist/src/core/sync/time-range-selector.js +0 -224
  543. package/dist/src/core/sync/time-range-selector.js.map +0 -1
  544. package/dist/src/core/types/config.d.ts +0 -90
  545. package/dist/src/core/types/config.d.ts.map +0 -1
  546. package/dist/src/core/types/config.js +0 -44
  547. package/dist/src/core/types/config.js.map +0 -1
  548. package/dist/src/core/types/increment-metadata.d.ts +0 -120
  549. package/dist/src/core/types/increment-metadata.d.ts.map +0 -1
  550. package/dist/src/core/types/increment-metadata.js +0 -138
  551. package/dist/src/core/types/increment-metadata.js.map +0 -1
  552. package/dist/src/core/types/plugin.d.ts +0 -283
  553. package/dist/src/core/types/plugin.d.ts.map +0 -1
  554. package/dist/src/core/types/plugin.js +0 -49
  555. package/dist/src/core/types/plugin.js.map +0 -1
  556. package/dist/src/core/types/spec-metadata.d.ts +0 -229
  557. package/dist/src/core/types/spec-metadata.d.ts.map +0 -1
  558. package/dist/src/core/types/spec-metadata.js +0 -14
  559. package/dist/src/core/types/spec-metadata.js.map +0 -1
  560. package/dist/src/core/types/sync-profile.d.ts +0 -403
  561. package/dist/src/core/types/sync-profile.d.ts.map +0 -1
  562. package/dist/src/core/types/sync-profile.js +0 -55
  563. package/dist/src/core/types/sync-profile.js.map +0 -1
  564. package/dist/src/hooks/lib/git-diff-analyzer.d.ts +0 -89
  565. package/dist/src/hooks/lib/git-diff-analyzer.d.ts.map +0 -1
  566. package/dist/src/hooks/lib/git-diff-analyzer.js +0 -226
  567. package/dist/src/hooks/lib/git-diff-analyzer.js.map +0 -1
  568. package/dist/src/hooks/lib/invoke-translator-skill.d.ts +0 -60
  569. package/dist/src/hooks/lib/invoke-translator-skill.d.ts.map +0 -1
  570. package/dist/src/hooks/lib/invoke-translator-skill.js +0 -201
  571. package/dist/src/hooks/lib/invoke-translator-skill.js.map +0 -1
  572. package/dist/src/hooks/lib/prepare-reflection-context.d.ts +0 -42
  573. package/dist/src/hooks/lib/prepare-reflection-context.d.ts.map +0 -1
  574. package/dist/src/hooks/lib/prepare-reflection-context.js +0 -123
  575. package/dist/src/hooks/lib/prepare-reflection-context.js.map +0 -1
  576. package/dist/src/hooks/lib/reflection-config-loader.d.ts +0 -45
  577. package/dist/src/hooks/lib/reflection-config-loader.d.ts.map +0 -1
  578. package/dist/src/hooks/lib/reflection-config-loader.js +0 -132
  579. package/dist/src/hooks/lib/reflection-config-loader.js.map +0 -1
  580. package/dist/src/hooks/lib/reflection-parser.d.ts +0 -33
  581. package/dist/src/hooks/lib/reflection-parser.d.ts.map +0 -1
  582. package/dist/src/hooks/lib/reflection-parser.js +0 -419
  583. package/dist/src/hooks/lib/reflection-parser.js.map +0 -1
  584. package/dist/src/hooks/lib/reflection-prompt-builder.d.ts +0 -56
  585. package/dist/src/hooks/lib/reflection-prompt-builder.d.ts.map +0 -1
  586. package/dist/src/hooks/lib/reflection-prompt-builder.js +0 -239
  587. package/dist/src/hooks/lib/reflection-prompt-builder.js.map +0 -1
  588. package/dist/src/hooks/lib/reflection-storage.d.ts +0 -64
  589. package/dist/src/hooks/lib/reflection-storage.d.ts.map +0 -1
  590. package/dist/src/hooks/lib/reflection-storage.js +0 -305
  591. package/dist/src/hooks/lib/reflection-storage.js.map +0 -1
  592. package/dist/src/hooks/lib/run-self-reflection.d.ts +0 -43
  593. package/dist/src/hooks/lib/run-self-reflection.d.ts.map +0 -1
  594. package/dist/src/hooks/lib/run-self-reflection.js +0 -203
  595. package/dist/src/hooks/lib/run-self-reflection.js.map +0 -1
  596. package/dist/src/hooks/lib/sync-living-docs.d.ts +0 -27
  597. package/dist/src/hooks/lib/sync-living-docs.d.ts.map +0 -1
  598. package/dist/src/hooks/lib/sync-living-docs.js +0 -116
  599. package/dist/src/hooks/lib/sync-living-docs.js.map +0 -1
  600. package/dist/src/hooks/lib/translate-file.d.ts +0 -59
  601. package/dist/src/hooks/lib/translate-file.d.ts.map +0 -1
  602. package/dist/src/hooks/lib/translate-file.js +0 -350
  603. package/dist/src/hooks/lib/translate-file.js.map +0 -1
  604. package/dist/src/hooks/lib/translate-living-docs.d.ts +0 -13
  605. package/dist/src/hooks/lib/translate-living-docs.d.ts.map +0 -1
  606. package/dist/src/hooks/lib/translate-living-docs.js +0 -175
  607. package/dist/src/hooks/lib/translate-living-docs.js.map +0 -1
  608. package/dist/src/hooks/lib/types/reflection-types.d.ts +0 -164
  609. package/dist/src/hooks/lib/types/reflection-types.d.ts.map +0 -1
  610. package/dist/src/hooks/lib/types/reflection-types.js +0 -73
  611. package/dist/src/hooks/lib/types/reflection-types.js.map +0 -1
  612. package/dist/src/hooks/lib/update-tasks-md.d.ts +0 -29
  613. package/dist/src/hooks/lib/update-tasks-md.d.ts.map +0 -1
  614. package/dist/src/hooks/lib/update-tasks-md.js +0 -203
  615. package/dist/src/hooks/lib/update-tasks-md.js.map +0 -1
  616. package/dist/src/integrations/ado/ado-client.d.ts +0 -127
  617. package/dist/src/integrations/ado/ado-client.d.ts.map +0 -1
  618. package/dist/src/integrations/ado/ado-client.js +0 -416
  619. package/dist/src/integrations/ado/ado-client.js.map +0 -1
  620. package/dist/src/integrations/jira/jira-client.d.ts +0 -139
  621. package/dist/src/integrations/jira/jira-client.d.ts.map +0 -1
  622. package/dist/src/integrations/jira/jira-client.js +0 -386
  623. package/dist/src/integrations/jira/jira-client.js.map +0 -1
  624. package/dist/src/integrations/jira/jira-incremental-mapper.d.ts +0 -75
  625. package/dist/src/integrations/jira/jira-incremental-mapper.d.ts.map +0 -1
  626. package/dist/src/integrations/jira/jira-incremental-mapper.js +0 -474
  627. package/dist/src/integrations/jira/jira-incremental-mapper.js.map +0 -1
  628. package/dist/src/integrations/jira/jira-mapper.d.ts +0 -105
  629. package/dist/src/integrations/jira/jira-mapper.d.ts.map +0 -1
  630. package/dist/src/integrations/jira/jira-mapper.js +0 -494
  631. package/dist/src/integrations/jira/jira-mapper.js.map +0 -1
  632. package/dist/src/metrics/calculators/change-failure-rate.d.ts +0 -22
  633. package/dist/src/metrics/calculators/change-failure-rate.d.ts.map +0 -1
  634. package/dist/src/metrics/calculators/change-failure-rate.js +0 -70
  635. package/dist/src/metrics/calculators/change-failure-rate.js.map +0 -1
  636. package/dist/src/metrics/calculators/deployment-frequency.d.ts +0 -20
  637. package/dist/src/metrics/calculators/deployment-frequency.d.ts.map +0 -1
  638. package/dist/src/metrics/calculators/deployment-frequency.js +0 -61
  639. package/dist/src/metrics/calculators/deployment-frequency.js.map +0 -1
  640. package/dist/src/metrics/calculators/lead-time.d.ts +0 -22
  641. package/dist/src/metrics/calculators/lead-time.d.ts.map +0 -1
  642. package/dist/src/metrics/calculators/lead-time.js +0 -82
  643. package/dist/src/metrics/calculators/lead-time.js.map +0 -1
  644. package/dist/src/metrics/calculators/mttr.d.ts +0 -21
  645. package/dist/src/metrics/calculators/mttr.d.ts.map +0 -1
  646. package/dist/src/metrics/calculators/mttr.js +0 -60
  647. package/dist/src/metrics/calculators/mttr.js.map +0 -1
  648. package/dist/src/metrics/dora-calculator.d.ts +0 -28
  649. package/dist/src/metrics/dora-calculator.d.ts.map +0 -1
  650. package/dist/src/metrics/dora-calculator.js +0 -117
  651. package/dist/src/metrics/dora-calculator.js.map +0 -1
  652. package/dist/src/metrics/github-client.d.ts +0 -51
  653. package/dist/src/metrics/github-client.d.ts.map +0 -1
  654. package/dist/src/metrics/github-client.js +0 -133
  655. package/dist/src/metrics/github-client.js.map +0 -1
  656. package/dist/src/metrics/report-generator.d.ts +0 -17
  657. package/dist/src/metrics/report-generator.d.ts.map +0 -1
  658. package/dist/src/metrics/report-generator.js +0 -403
  659. package/dist/src/metrics/report-generator.js.map +0 -1
  660. package/dist/src/metrics/types.d.ts +0 -112
  661. package/dist/src/metrics/types.d.ts.map +0 -1
  662. package/dist/src/metrics/types.js +0 -10
  663. package/dist/src/metrics/types.js.map +0 -1
  664. package/dist/src/metrics/utils/percentile.d.ts +0 -25
  665. package/dist/src/metrics/utils/percentile.d.ts.map +0 -1
  666. package/dist/src/metrics/utils/percentile.js +0 -46
  667. package/dist/src/metrics/utils/percentile.js.map +0 -1
  668. package/dist/src/metrics/utils/tier-classifier.d.ts +0 -61
  669. package/dist/src/metrics/utils/tier-classifier.d.ts.map +0 -1
  670. package/dist/src/metrics/utils/tier-classifier.js +0 -100
  671. package/dist/src/metrics/utils/tier-classifier.js.map +0 -1
  672. package/dist/src/testing/test-generator.d.ts +0 -117
  673. package/dist/src/testing/test-generator.d.ts.map +0 -1
  674. package/dist/src/testing/test-generator.js +0 -370
  675. package/dist/src/testing/test-generator.js.map +0 -1
  676. package/dist/src/types/cost-tracking.d.ts +0 -43
  677. package/dist/src/types/cost-tracking.d.ts.map +0 -1
  678. package/dist/src/types/cost-tracking.js +0 -8
  679. package/dist/src/types/cost-tracking.js.map +0 -1
  680. package/dist/src/types/model-selection.d.ts +0 -53
  681. package/dist/src/types/model-selection.d.ts.map +0 -1
  682. package/dist/src/types/model-selection.js +0 -12
  683. package/dist/src/types/model-selection.js.map +0 -1
  684. package/dist/src/utils/agents-md-compiler.d.ts +0 -68
  685. package/dist/src/utils/agents-md-compiler.d.ts.map +0 -1
  686. package/dist/src/utils/agents-md-compiler.js +0 -420
  687. package/dist/src/utils/agents-md-compiler.js.map +0 -1
  688. package/dist/src/utils/auth-helpers.d.ts +0 -58
  689. package/dist/src/utils/auth-helpers.d.ts.map +0 -1
  690. package/dist/src/utils/auth-helpers.js +0 -108
  691. package/dist/src/utils/auth-helpers.js.map +0 -1
  692. package/dist/src/utils/auto-install.d.ts +0 -47
  693. package/dist/src/utils/auto-install.d.ts.map +0 -1
  694. package/dist/src/utils/auto-install.js +0 -211
  695. package/dist/src/utils/auto-install.js.map +0 -1
  696. package/dist/src/utils/claude-cli-detector.d.ts +0 -75
  697. package/dist/src/utils/claude-cli-detector.d.ts.map +0 -1
  698. package/dist/src/utils/claude-cli-detector.js +0 -285
  699. package/dist/src/utils/claude-cli-detector.js.map +0 -1
  700. package/dist/src/utils/cost-reporter.d.ts +0 -58
  701. package/dist/src/utils/cost-reporter.d.ts.map +0 -1
  702. package/dist/src/utils/cost-reporter.js +0 -224
  703. package/dist/src/utils/cost-reporter.js.map +0 -1
  704. package/dist/src/utils/docs-preview/config-generator.d.ts +0 -46
  705. package/dist/src/utils/docs-preview/config-generator.d.ts.map +0 -1
  706. package/dist/src/utils/docs-preview/config-generator.js +0 -377
  707. package/dist/src/utils/docs-preview/config-generator.js.map +0 -1
  708. package/dist/src/utils/docs-preview/docusaurus-setup.d.ts +0 -38
  709. package/dist/src/utils/docs-preview/docusaurus-setup.d.ts.map +0 -1
  710. package/dist/src/utils/docs-preview/docusaurus-setup.js +0 -177
  711. package/dist/src/utils/docs-preview/docusaurus-setup.js.map +0 -1
  712. package/dist/src/utils/docs-preview/index.d.ts +0 -7
  713. package/dist/src/utils/docs-preview/index.d.ts.map +0 -1
  714. package/dist/src/utils/docs-preview/index.js +0 -7
  715. package/dist/src/utils/docs-preview/index.js.map +0 -1
  716. package/dist/src/utils/docs-preview/package-installer.d.ts +0 -42
  717. package/dist/src/utils/docs-preview/package-installer.d.ts.map +0 -1
  718. package/dist/src/utils/docs-preview/package-installer.js +0 -182
  719. package/dist/src/utils/docs-preview/package-installer.js.map +0 -1
  720. package/dist/src/utils/docs-preview/server-manager.d.ts +0 -30
  721. package/dist/src/utils/docs-preview/server-manager.d.ts.map +0 -1
  722. package/dist/src/utils/docs-preview/server-manager.js +0 -212
  723. package/dist/src/utils/docs-preview/server-manager.js.map +0 -1
  724. package/dist/src/utils/docs-preview/sidebar-builder.d.ts +0 -32
  725. package/dist/src/utils/docs-preview/sidebar-builder.d.ts.map +0 -1
  726. package/dist/src/utils/docs-preview/sidebar-builder.js +0 -202
  727. package/dist/src/utils/docs-preview/sidebar-builder.js.map +0 -1
  728. package/dist/src/utils/docs-preview/types.d.ts +0 -57
  729. package/dist/src/utils/docs-preview/types.d.ts.map +0 -1
  730. package/dist/src/utils/docs-preview/types.js +0 -2
  731. package/dist/src/utils/docs-preview/types.js.map +0 -1
  732. package/dist/src/utils/env-file.d.ts +0 -88
  733. package/dist/src/utils/env-file.d.ts.map +0 -1
  734. package/dist/src/utils/env-file.js +0 -180
  735. package/dist/src/utils/env-file.js.map +0 -1
  736. package/dist/src/utils/env-multi-project-parser.d.ts +0 -220
  737. package/dist/src/utils/env-multi-project-parser.d.ts.map +0 -1
  738. package/dist/src/utils/env-multi-project-parser.js +0 -403
  739. package/dist/src/utils/env-multi-project-parser.js.map +0 -1
  740. package/dist/src/utils/esm-helpers.d.ts +0 -50
  741. package/dist/src/utils/esm-helpers.d.ts.map +0 -1
  742. package/dist/src/utils/esm-helpers.js +0 -57
  743. package/dist/src/utils/esm-helpers.js.map +0 -1
  744. package/dist/src/utils/execFileNoThrow.d.ts +0 -99
  745. package/dist/src/utils/execFileNoThrow.d.ts.map +0 -1
  746. package/dist/src/utils/execFileNoThrow.js +0 -137
  747. package/dist/src/utils/execFileNoThrow.js.map +0 -1
  748. package/dist/src/utils/external-resource-validator.d.ts +0 -102
  749. package/dist/src/utils/external-resource-validator.d.ts.map +0 -1
  750. package/dist/src/utils/external-resource-validator.js +0 -442
  751. package/dist/src/utils/external-resource-validator.js.map +0 -1
  752. package/dist/src/utils/generate-skills-index.d.ts +0 -24
  753. package/dist/src/utils/generate-skills-index.d.ts.map +0 -1
  754. package/dist/src/utils/generate-skills-index.js +0 -410
  755. package/dist/src/utils/generate-skills-index.js.map +0 -1
  756. package/dist/src/utils/model-selection.d.ts +0 -75
  757. package/dist/src/utils/model-selection.d.ts.map +0 -1
  758. package/dist/src/utils/model-selection.js +0 -204
  759. package/dist/src/utils/model-selection.js.map +0 -1
  760. package/dist/src/utils/plugin-validator.d.ts +0 -161
  761. package/dist/src/utils/plugin-validator.d.ts.map +0 -1
  762. package/dist/src/utils/plugin-validator.js +0 -558
  763. package/dist/src/utils/plugin-validator.js.map +0 -1
  764. package/dist/src/utils/pricing-constants.d.ts +0 -70
  765. package/dist/src/utils/pricing-constants.d.ts.map +0 -1
  766. package/dist/src/utils/pricing-constants.js +0 -71
  767. package/dist/src/utils/pricing-constants.js.map +0 -1
  768. package/dist/src/utils/project-detection.d.ts +0 -141
  769. package/dist/src/utils/project-detection.d.ts.map +0 -1
  770. package/dist/src/utils/project-detection.js +0 -321
  771. package/dist/src/utils/project-detection.js.map +0 -1
  772. package/dist/src/utils/string-utils.d.ts +0 -40
  773. package/dist/src/utils/string-utils.d.ts.map +0 -1
  774. package/dist/src/utils/string-utils.js +0 -58
  775. package/dist/src/utils/string-utils.js.map +0 -1
  776. package/dist/src/utils/translation.d.ts +0 -187
  777. package/dist/src/utils/translation.d.ts.map +0 -1
  778. package/dist/src/utils/translation.js +0 -414
  779. 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
+ };