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,257 +0,0 @@
1
- /**
2
- * Azure DevOps REST API Client
3
- *
4
- * Provides TypeScript interface to Azure DevOps REST API v7.1
5
- * for work item management and SpecWeave integration.
6
- *
7
- * @see https://learn.microsoft.com/en-us/rest/api/azure/devops/
8
- */
9
- import https from 'https';
10
- // ============================================================================
11
- // Azure DevOps Client
12
- // ============================================================================
13
- export class AdoClient {
14
- constructor(config) {
15
- this.config = config;
16
- this.baseUrl = `https://dev.azure.com/${config.organization}/${config.project}`;
17
- // Basic Auth: base64(":PAT")
18
- this.authHeader = 'Basic ' + Buffer.from(`:${config.personalAccessToken}`).toString('base64');
19
- }
20
- // ==========================================================================
21
- // Work Item Operations
22
- // ==========================================================================
23
- /**
24
- * Create a new work item
25
- *
26
- * @see https://learn.microsoft.com/en-us/rest/api/azure/devops/wit/work-items/create
27
- */
28
- async createWorkItem(request) {
29
- const workItemType = this.config.workItemType || 'Epic';
30
- const url = `${this.baseUrl}/_apis/wit/workitems/$${workItemType}?api-version=7.1`;
31
- // Build JSON Patch document
32
- const operations = [
33
- {
34
- op: 'add',
35
- path: '/fields/System.Title',
36
- value: request.title,
37
- },
38
- ];
39
- if (request.description) {
40
- operations.push({
41
- op: 'add',
42
- path: '/fields/System.Description',
43
- value: `<pre>${request.description}</pre>`,
44
- });
45
- }
46
- if (request.areaPath || this.config.areaPath) {
47
- operations.push({
48
- op: 'add',
49
- path: '/fields/System.AreaPath',
50
- value: request.areaPath || this.config.areaPath,
51
- });
52
- }
53
- if (request.iterationPath || this.config.iterationPath) {
54
- operations.push({
55
- op: 'add',
56
- path: '/fields/System.IterationPath',
57
- value: request.iterationPath || this.config.iterationPath,
58
- });
59
- }
60
- if (request.tags && request.tags.length > 0) {
61
- operations.push({
62
- op: 'add',
63
- path: '/fields/System.Tags',
64
- value: request.tags.join('; '),
65
- });
66
- }
67
- const response = await this.request('POST', url, operations, {
68
- 'Content-Type': 'application/json-patch+json',
69
- });
70
- return response;
71
- }
72
- /**
73
- * Get work item by ID
74
- *
75
- * @see https://learn.microsoft.com/en-us/rest/api/azure/devops/wit/work-items/get-work-item
76
- */
77
- async getWorkItem(id) {
78
- const url = `${this.baseUrl}/_apis/wit/workitems/${id}?api-version=7.1`;
79
- return this.request('GET', url);
80
- }
81
- /**
82
- * Update work item
83
- *
84
- * @see https://learn.microsoft.com/en-us/rest/api/azure/devops/wit/work-items/update
85
- */
86
- async updateWorkItem(id, request) {
87
- const url = `${this.baseUrl}/_apis/wit/workitems/${id}?api-version=7.1`;
88
- const operations = [];
89
- if (request.state) {
90
- operations.push({
91
- op: 'add',
92
- path: '/fields/System.State',
93
- value: request.state,
94
- });
95
- }
96
- if (request.title) {
97
- operations.push({
98
- op: 'add',
99
- path: '/fields/System.Title',
100
- value: request.title,
101
- });
102
- }
103
- if (request.description) {
104
- operations.push({
105
- op: 'add',
106
- path: '/fields/System.Description',
107
- value: `<pre>${request.description}</pre>`,
108
- });
109
- }
110
- if (request.tags) {
111
- operations.push({
112
- op: 'add',
113
- path: '/fields/System.Tags',
114
- value: request.tags.join('; '),
115
- });
116
- }
117
- return this.request('PATCH', url, operations, {
118
- 'Content-Type': 'application/json-patch+json',
119
- });
120
- }
121
- /**
122
- * Delete work item (move to Recycle Bin)
123
- *
124
- * @see https://learn.microsoft.com/en-us/rest/api/azure/devops/wit/work-items/delete
125
- */
126
- async deleteWorkItem(id) {
127
- const url = `${this.baseUrl}/_apis/wit/workitems/${id}?api-version=7.1`;
128
- await this.request('DELETE', url);
129
- }
130
- // ==========================================================================
131
- // Comment Operations
132
- // ==========================================================================
133
- /**
134
- * Add comment to work item
135
- *
136
- * @see https://learn.microsoft.com/en-us/rest/api/azure/devops/wit/comments/add
137
- */
138
- async addComment(workItemId, text) {
139
- const url = `${this.baseUrl}/_apis/wit/workitems/${workItemId}/comments?api-version=7.1`;
140
- const response = await this.request('POST', url, { text });
141
- return response;
142
- }
143
- /**
144
- * Get comments for work item
145
- *
146
- * @see https://learn.microsoft.com/en-us/rest/api/azure/devops/wit/comments/list
147
- */
148
- async getComments(workItemId) {
149
- const url = `${this.baseUrl}/_apis/wit/workitems/${workItemId}/comments?api-version=7.1`;
150
- const response = await this.request('GET', url);
151
- return response.comments || [];
152
- }
153
- // ==========================================================================
154
- // Helper Methods
155
- // ==========================================================================
156
- /**
157
- * Make HTTP request to ADO API
158
- */
159
- async request(method, url, body, additionalHeaders) {
160
- return new Promise((resolve, reject) => {
161
- const urlObj = new URL(url);
162
- const options = {
163
- hostname: urlObj.hostname,
164
- port: 443,
165
- path: urlObj.pathname + urlObj.search,
166
- method,
167
- headers: {
168
- 'Authorization': this.authHeader,
169
- 'Accept': 'application/json',
170
- ...additionalHeaders,
171
- },
172
- };
173
- const req = https.request(options, (res) => {
174
- let data = '';
175
- res.on('data', (chunk) => {
176
- data += chunk;
177
- });
178
- res.on('end', () => {
179
- if (res.statusCode && res.statusCode >= 200 && res.statusCode < 300) {
180
- try {
181
- const parsed = data ? JSON.parse(data) : {};
182
- resolve(parsed);
183
- }
184
- catch (error) {
185
- reject(new Error(`Failed to parse JSON response: ${error}`));
186
- }
187
- }
188
- else {
189
- let errorMessage = `ADO API error: ${res.statusCode} ${res.statusMessage}`;
190
- try {
191
- const errorData = JSON.parse(data);
192
- if (errorData.message) {
193
- errorMessage += ` - ${errorData.message}`;
194
- }
195
- }
196
- catch {
197
- // Ignore JSON parse errors for error responses
198
- }
199
- reject(new Error(errorMessage));
200
- }
201
- });
202
- });
203
- req.on('error', (error) => {
204
- reject(new Error(`HTTP request failed: ${error.message}`));
205
- });
206
- if (body) {
207
- req.write(JSON.stringify(body));
208
- }
209
- req.end();
210
- });
211
- }
212
- /**
213
- * Test connection to ADO
214
- */
215
- async testConnection() {
216
- try {
217
- // Simple test: list work item types
218
- const url = `${this.baseUrl}/_apis/wit/workitemtypes?api-version=7.1`;
219
- await this.request('GET', url);
220
- return true;
221
- }
222
- catch (error) {
223
- return false;
224
- }
225
- }
226
- }
227
- // ============================================================================
228
- // Factory Function
229
- // ============================================================================
230
- /**
231
- * Create ADO client from environment variables and config
232
- */
233
- export function createAdoClient(config = {}) {
234
- const fullConfig = {
235
- organization: config.organization || process.env.AZURE_DEVOPS_ORG || '',
236
- project: config.project || process.env.AZURE_DEVOPS_PROJECT || '',
237
- personalAccessToken: config.personalAccessToken || process.env.AZURE_DEVOPS_PAT || '',
238
- workItemType: config.workItemType,
239
- areaPath: config.areaPath,
240
- iterationPath: config.iterationPath,
241
- };
242
- if (!fullConfig.organization) {
243
- throw new Error('ADO organization not configured');
244
- }
245
- if (!fullConfig.project) {
246
- throw new Error('ADO project not configured');
247
- }
248
- if (!fullConfig.personalAccessToken) {
249
- throw new Error('AZURE_DEVOPS_PAT not set');
250
- }
251
- return new AdoClient(fullConfig);
252
- }
253
- // ============================================================================
254
- // Exports
255
- // ============================================================================
256
- export default AdoClient;
257
- //# sourceMappingURL=ado-client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ado-client.js","sourceRoot":"","sources":["../../../../plugins/specweave-ado/lib/ado-client.ts"],"names":[],"mappings":"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"}
@@ -1,40 +0,0 @@
1
- /**
2
- * Azure DevOps Hierarchical Sync Implementation
3
- *
4
- * Supports three sync strategies:
5
- * 1. Simple: One project, all work items (backward compatible)
6
- * 2. Filtered: Multiple projects + area paths + filters
7
- * 3. Custom: Raw WIQL query
8
- */
9
- import { SyncProfile, SyncContainer } from '../../../src/core/types/sync-profile.js';
10
- import { WorkItem } from './ado-client-v2.js';
11
- /**
12
- * Build hierarchical WIQL query from containers
13
- *
14
- * Example output:
15
- * SELECT [System.Id], [System.Title], [System.State]
16
- * FROM WorkItems
17
- * WHERE (
18
- * ([System.TeamProject] = 'PROJECT-A' AND [System.AreaPath] UNDER 'PROJECT-A\\Team Alpha')
19
- * OR
20
- * ([System.TeamProject] = 'PROJECT-B' AND [System.AreaPath] UNDER 'PROJECT-B\\Platform')
21
- * )
22
- * AND [System.WorkItemType] IN ('User Story', 'Bug')
23
- * AND [System.State] IN ('Active', 'New')
24
- *
25
- * @param organization Organization name
26
- * @param pat Personal Access Token
27
- * @param containers Array of containers (projects) with filters
28
- * @returns WIQL query string
29
- */
30
- export declare function buildHierarchicalWIQL(organization: string, pat: string, containers: SyncContainer[]): Promise<string>;
31
- /**
32
- * Fetch work items hierarchically based on sync strategy
33
- *
34
- * @param profile Sync profile with strategy
35
- * @param pat Personal Access Token
36
- * @param timeRange Time range preset
37
- * @returns Array of work items
38
- */
39
- export declare function fetchWorkItemsHierarchical(profile: SyncProfile, pat: string, timeRange?: string): Promise<WorkItem[]>;
40
- //# sourceMappingURL=ado-hierarchical-sync.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ado-hierarchical-sync.d.ts","sourceRoot":"","sources":["../../../../plugins/specweave-ado/lib/ado-hierarchical-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,WAAW,EACX,aAAa,EAMd,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAI9C;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,qBAAqB,CACzC,YAAY,EAAE,MAAM,EACpB,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,aAAa,EAAE,GAC1B,OAAO,CAAC,MAAM,CAAC,CA+DjB;AAoID;;;;;;;GAOG;AACH,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,WAAW,EACpB,GAAG,EAAE,MAAM,EACX,SAAS,GAAE,MAAa,GACvB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAqBrB"}
@@ -1,370 +0,0 @@
1
- /**
2
- * Azure DevOps Hierarchical Sync Implementation
3
- *
4
- * Supports three sync strategies:
5
- * 1. Simple: One project, all work items (backward compatible)
6
- * 2. Filtered: Multiple projects + area paths + filters
7
- * 3. Custom: Raw WIQL query
8
- */
9
- import { isSimpleStrategy, isFilteredStrategy, isCustomStrategy, } from '../../../src/core/types/sync-profile.js';
10
- import { getAreaPaths } from './ado-board-resolver.js';
11
- import https from 'https';
12
- /**
13
- * Build hierarchical WIQL query from containers
14
- *
15
- * Example output:
16
- * SELECT [System.Id], [System.Title], [System.State]
17
- * FROM WorkItems
18
- * WHERE (
19
- * ([System.TeamProject] = 'PROJECT-A' AND [System.AreaPath] UNDER 'PROJECT-A\\Team Alpha')
20
- * OR
21
- * ([System.TeamProject] = 'PROJECT-B' AND [System.AreaPath] UNDER 'PROJECT-B\\Platform')
22
- * )
23
- * AND [System.WorkItemType] IN ('User Story', 'Bug')
24
- * AND [System.State] IN ('Active', 'New')
25
- *
26
- * @param organization Organization name
27
- * @param pat Personal Access Token
28
- * @param containers Array of containers (projects) with filters
29
- * @returns WIQL query string
30
- */
31
- export async function buildHierarchicalWIQL(organization, pat, containers) {
32
- const projectClauses = [];
33
- for (const container of containers) {
34
- const parts = [];
35
- // Project clause
36
- parts.push(`[System.TeamProject] = '${container.id}'`);
37
- // Area path filtering (sub-organizations)
38
- if (container.subOrganizations && container.subOrganizations.length > 0) {
39
- try {
40
- const areaPaths = await getAreaPaths(organization, container.id, pat, container.subOrganizations);
41
- if (areaPaths.length > 0) {
42
- const areaPathClauses = areaPaths
43
- .map((path) => `[System.AreaPath] UNDER '${path}'`)
44
- .join(' OR ');
45
- parts.push(`(${areaPathClauses})`);
46
- }
47
- else {
48
- console.warn(`⚠️ No valid area paths found for project ${container.id}, syncing all areas`);
49
- }
50
- }
51
- catch (error) {
52
- console.warn(`⚠️ Failed to resolve area paths for ${container.id}, syncing all areas:`, error.message);
53
- }
54
- }
55
- // Combine parts with AND
56
- projectClauses.push(`(${parts.join(' AND ')})`);
57
- }
58
- // Build WHERE clause with project clauses
59
- let whereClause = projectClauses.join(' OR ');
60
- // Add global filters (apply to all projects)
61
- const filters = containers[0]?.filters;
62
- if (filters) {
63
- const filterClauses = buildFilterClauses(filters);
64
- if (filterClauses.length > 0) {
65
- whereClause = `(${whereClause}) AND ${filterClauses.join(' AND ')}`;
66
- }
67
- }
68
- // Build complete WIQL query
69
- return `
70
- SELECT [System.Id], [System.Title], [System.Description], [System.State],
71
- [System.CreatedDate], [System.ChangedDate], [System.WorkItemType],
72
- [System.AreaPath], [System.IterationPath], [System.Tags]
73
- FROM WorkItems
74
- WHERE ${whereClause}
75
- ORDER BY [System.CreatedDate] DESC
76
- `.trim();
77
- }
78
- /**
79
- * Build filter clauses from container filters
80
- *
81
- * @param filters Container filters
82
- * @returns Array of WIQL filter clauses
83
- */
84
- function buildFilterClauses(filters) {
85
- const clauses = [];
86
- // Work item types (ADO-specific)
87
- if (filters.workItemTypes && filters.workItemTypes.length > 0) {
88
- const types = filters.workItemTypes.map((t) => `'${t}'`).join(', ');
89
- clauses.push(`[System.WorkItemType] IN (${types})`);
90
- }
91
- // Status categories (ADO uses State field)
92
- if (filters.statusCategories && filters.statusCategories.length > 0) {
93
- const states = filters.statusCategories.map((s) => `'${s}'`).join(', ');
94
- clauses.push(`[System.State] IN (${states})`);
95
- }
96
- // Area paths (additional filtering beyond sub-organizations)
97
- if (filters.areaPaths && filters.areaPaths.length > 0) {
98
- const areaPathClauses = filters.areaPaths
99
- .map((path) => `[System.AreaPath] UNDER '${path}'`)
100
- .join(' OR ');
101
- clauses.push(`(${areaPathClauses})`);
102
- }
103
- // Iteration paths (sprints in ADO)
104
- if (filters.iterationPaths && filters.iterationPaths.length > 0) {
105
- const iterationClauses = filters.iterationPaths
106
- .map((path) => `[System.IterationPath] UNDER '${path}'`)
107
- .join(' OR ');
108
- clauses.push(`(${iterationClauses})`);
109
- }
110
- // Tags (labels in ADO)
111
- if (filters.includeLabels && filters.includeLabels.length > 0) {
112
- const tagClauses = filters.includeLabels
113
- .map((tag) => `[System.Tags] CONTAINS '${tag}'`)
114
- .join(' OR ');
115
- clauses.push(`(${tagClauses})`);
116
- }
117
- // Exclude labels/tags
118
- if (filters.excludeLabels && filters.excludeLabels.length > 0) {
119
- for (const tag of filters.excludeLabels) {
120
- clauses.push(`NOT [System.Tags] CONTAINS '${tag}'`);
121
- }
122
- }
123
- // Assignees (assigned to)
124
- if (filters.assignees && filters.assignees.length > 0) {
125
- const assigneeClauses = filters.assignees
126
- .map((assignee) => `[System.AssignedTo] = '${assignee}'`)
127
- .join(' OR ');
128
- clauses.push(`(${assigneeClauses})`);
129
- }
130
- return clauses;
131
- }
132
- /**
133
- * Add time range filter to WIQL query
134
- *
135
- * @param wiql Base WIQL query
136
- * @param timeRange Time range preset (1W, 1M, 3M, 6M, ALL)
137
- * @returns WIQL with time range filter
138
- */
139
- function addTimeRangeFilter(wiql, timeRange) {
140
- if (timeRange === 'ALL') {
141
- return wiql; // No time filter
142
- }
143
- const { since, until } = calculateTimeRange(timeRange);
144
- // Add time range to WHERE clause
145
- const timeFilter = `[System.CreatedDate] >= '${since}' AND [System.CreatedDate] <= '${until}'`;
146
- // Insert before ORDER BY if present, otherwise append
147
- if (wiql.includes('ORDER BY')) {
148
- return wiql.replace('ORDER BY', `AND ${timeFilter} ORDER BY`);
149
- }
150
- else {
151
- return `${wiql} AND ${timeFilter}`;
152
- }
153
- }
154
- /**
155
- * Calculate date range from time range preset
156
- */
157
- function calculateTimeRange(timeRange) {
158
- const now = new Date();
159
- const since = new Date(now);
160
- switch (timeRange) {
161
- case '1W':
162
- since.setDate(now.getDate() - 7);
163
- break;
164
- case '2W':
165
- since.setDate(now.getDate() - 14);
166
- break;
167
- case '1M':
168
- since.setMonth(now.getMonth() - 1);
169
- break;
170
- case '3M':
171
- since.setMonth(now.getMonth() - 3);
172
- break;
173
- case '6M':
174
- since.setMonth(now.getMonth() - 6);
175
- break;
176
- case '1Y':
177
- since.setFullYear(now.getFullYear() - 1);
178
- break;
179
- case 'ALL':
180
- return {
181
- since: '1970-01-01T00:00:00Z',
182
- until: now.toISOString(),
183
- };
184
- }
185
- return {
186
- since: since.toISOString(),
187
- until: now.toISOString(),
188
- };
189
- }
190
- /**
191
- * Fetch work items hierarchically based on sync strategy
192
- *
193
- * @param profile Sync profile with strategy
194
- * @param pat Personal Access Token
195
- * @param timeRange Time range preset
196
- * @returns Array of work items
197
- */
198
- export async function fetchWorkItemsHierarchical(profile, pat, timeRange = '1M') {
199
- const config = profile.config;
200
- // Strategy 1: SIMPLE (backward compatible)
201
- if (isSimpleStrategy(profile)) {
202
- return fetchWorkItemsSimple(config, pat, timeRange);
203
- }
204
- // Strategy 2: CUSTOM (raw WIQL)
205
- if (isCustomStrategy(profile)) {
206
- return fetchWorkItemsCustom(config, pat, timeRange);
207
- }
208
- // Strategy 3: FILTERED (hierarchical)
209
- if (isFilteredStrategy(profile)) {
210
- return fetchWorkItemsFiltered(config, pat, timeRange);
211
- }
212
- // Default to simple if strategy not recognized
213
- console.warn('⚠️ Unknown strategy, defaulting to simple');
214
- return fetchWorkItemsSimple(config, pat, timeRange);
215
- }
216
- /**
217
- * Fetch work items using SIMPLE strategy (one project, all work items)
218
- *
219
- * @param config ADO configuration
220
- * @param pat Personal Access Token
221
- * @param timeRange Time range preset
222
- * @returns Array of work items
223
- */
224
- async function fetchWorkItemsSimple(config, pat, timeRange) {
225
- const organization = config.organization;
226
- const project = config.project;
227
- if (!project) {
228
- throw new Error('Simple strategy requires project in config');
229
- }
230
- let wiql = `
231
- SELECT [System.Id], [System.Title], [System.State], [System.CreatedDate]
232
- FROM WorkItems
233
- WHERE [System.TeamProject] = '${project}'
234
- `.trim();
235
- // Add time range
236
- wiql = addTimeRangeFilter(wiql, timeRange);
237
- console.log('🔍 Fetching work items (SIMPLE strategy):', wiql);
238
- return executeQuery(organization, project, pat, wiql);
239
- }
240
- /**
241
- * Fetch work items using CUSTOM strategy (raw WIQL)
242
- *
243
- * @param config ADO configuration
244
- * @param pat Personal Access Token
245
- * @param timeRange Time range preset
246
- * @returns Array of work items
247
- */
248
- async function fetchWorkItemsCustom(config, pat, timeRange) {
249
- const organization = config.organization;
250
- const project = config.project || 'DefaultProject';
251
- const customQuery = config.customQuery;
252
- if (!customQuery) {
253
- throw new Error('Custom strategy requires customQuery in config');
254
- }
255
- // Add time range to custom query
256
- const wiql = addTimeRangeFilter(customQuery, timeRange);
257
- console.log('🔍 Fetching work items (CUSTOM strategy):', wiql);
258
- return executeQuery(organization, project, pat, wiql);
259
- }
260
- /**
261
- * Fetch work items using FILTERED strategy (multiple projects + area paths + filters)
262
- *
263
- * @param config ADO configuration
264
- * @param pat Personal Access Token
265
- * @param timeRange Time range preset
266
- * @returns Array of work items
267
- */
268
- async function fetchWorkItemsFiltered(config, pat, timeRange) {
269
- const organization = config.organization;
270
- const containers = config.containers;
271
- if (!containers || containers.length === 0) {
272
- throw new Error('Filtered strategy requires containers array in config');
273
- }
274
- // Build hierarchical WIQL
275
- const baseWiql = await buildHierarchicalWIQL(organization, pat, containers);
276
- // Add time range
277
- const wiql = addTimeRangeFilter(baseWiql, timeRange);
278
- console.log('🔍 Fetching work items (FILTERED strategy):', wiql);
279
- // Use first project for API endpoint (WIQL can query across projects)
280
- const project = containers[0].id;
281
- return executeQuery(organization, project, pat, wiql);
282
- }
283
- /**
284
- * Execute WIQL query and return work items
285
- *
286
- * @param organization Organization name
287
- * @param project Project name
288
- * @param pat Personal Access Token
289
- * @param wiql WIQL query string
290
- * @returns Array of work items
291
- */
292
- async function executeQuery(organization, project, pat, wiql) {
293
- const baseUrl = `https://dev.azure.com/${organization}/${project}`;
294
- // Execute query
295
- const queryUrl = `${baseUrl}/_apis/wit/wiql?api-version=7.1`;
296
- const queryResult = await makeRequest(queryUrl, pat, 'POST', { query: wiql });
297
- if (!queryResult.workItems || queryResult.workItems.length === 0) {
298
- return [];
299
- }
300
- // Get full work item details (batch request)
301
- const ids = queryResult.workItems.map((wi) => wi.id);
302
- const batchUrl = `${baseUrl}/_apis/wit/workitemsbatch?api-version=7.1`;
303
- const response = await makeRequest(batchUrl, pat, 'POST', {
304
- ids,
305
- fields: [
306
- 'System.Id',
307
- 'System.Title',
308
- 'System.Description',
309
- 'System.State',
310
- 'System.CreatedDate',
311
- 'System.ChangedDate',
312
- 'System.WorkItemType',
313
- 'System.AreaPath',
314
- 'System.IterationPath',
315
- 'System.Tags',
316
- ],
317
- });
318
- return response.value || [];
319
- }
320
- /**
321
- * Make HTTPS request to ADO API
322
- */
323
- function makeRequest(url, pat, method = 'GET', body) {
324
- return new Promise((resolve, reject) => {
325
- const { hostname, pathname, search } = new URL(url);
326
- const authHeader = 'Basic ' + Buffer.from(`:${pat}`).toString('base64');
327
- const headers = {
328
- Authorization: authHeader,
329
- Accept: 'application/json',
330
- };
331
- if (body) {
332
- headers['Content-Type'] = 'application/json';
333
- }
334
- const options = {
335
- hostname,
336
- path: pathname + search,
337
- method,
338
- headers,
339
- };
340
- const req = https.request(options, (res) => {
341
- let data = '';
342
- res.on('data', (chunk) => {
343
- data += chunk;
344
- });
345
- res.on('end', () => {
346
- try {
347
- const parsed = JSON.parse(data);
348
- if (res.statusCode && res.statusCode >= 200 && res.statusCode < 300) {
349
- resolve(parsed);
350
- }
351
- else {
352
- reject(new Error(`HTTP ${res.statusCode}: ${parsed.message || data}`));
353
- }
354
- }
355
- catch (error) {
356
- reject(new Error(`Failed to parse response: ${data}`));
357
- }
358
- });
359
- });
360
- req.on('error', (error) => {
361
- reject(error);
362
- });
363
- // Send body if present
364
- if (body) {
365
- req.write(JSON.stringify(body));
366
- }
367
- req.end();
368
- });
369
- }
370
- //# sourceMappingURL=ado-hierarchical-sync.js.map