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,268 +1,233 @@
1
- /**
2
- * Jira Spec Sync
3
- *
4
- * CORRECT ARCHITECTURE:
5
- * - Syncs .specweave/docs/internal/specs/spec-*.md ↔ Jira Epics
6
- * - NOT increments ↔ Jira Issues (that was wrong!)
7
- *
8
- * Mapping:
9
- * - Spec → Jira Epic
10
- * - User Story → Jira Story (subtask of epic)
11
- * - Acceptance Criteria → Checklist in Story description
12
- *
13
- * @module jira-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 JiraSpecSync {
19
- constructor(config, projectRoot = process.cwd()) {
20
- this.specManager = new SpecMetadataManager(projectRoot);
21
- this.config = config;
22
- // Create Jira API client
23
- this.client = axios.create({
24
- baseURL: `https://${config.domain}/rest/api/3`,
25
- auth: {
26
- username: config.email,
27
- password: config.apiToken
28
- },
29
- headers: {
30
- 'Accept': 'application/json',
31
- 'Content-Type': '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 JiraSpecSync {
5
+ constructor(config, projectRoot = process.cwd()) {
6
+ this.specManager = new SpecMetadataManager(projectRoot);
7
+ this.config = config;
8
+ this.client = axios.create({
9
+ baseURL: `https://${config.domain}/rest/api/3`,
10
+ auth: {
11
+ username: config.email,
12
+ password: config.apiToken
13
+ },
14
+ headers: {
15
+ "Accept": "application/json",
16
+ "Content-Type": "application/json"
17
+ }
18
+ });
19
+ }
20
+ /**
21
+ * Sync spec to Jira Epic (CREATE or UPDATE)
22
+ */
23
+ async syncSpecToJira(specId) {
24
+ console.log(`
25
+ \u{1F504} Syncing spec ${specId} to Jira Epic...`);
26
+ try {
27
+ const spec = await this.specManager.loadSpec(specId);
28
+ if (!spec) {
29
+ return {
30
+ success: false,
31
+ specId,
32
+ provider: "jira",
33
+ error: `Spec ${specId} not found`
34
+ };
35
+ }
36
+ const existingLink = spec.metadata.externalLinks?.jira;
37
+ let epic;
38
+ if (existingLink?.epicKey) {
39
+ console.log(` Found existing Jira Epic ${existingLink.epicKey}`);
40
+ epic = await this.updateJiraEpic(existingLink.epicKey, spec);
41
+ } else {
42
+ console.log(" Creating new Jira Epic...");
43
+ epic = await this.createJiraEpic(spec);
44
+ await this.specManager.linkToExternal(specId, "jira", {
45
+ id: epic.key,
46
+ url: epic.url,
47
+ projectKey: this.config.projectKey,
48
+ domain: this.config.domain
33
49
  });
50
+ }
51
+ const changes = await this.syncUserStories(epic.key, spec);
52
+ console.log("\u2705 Sync complete!");
53
+ return {
54
+ success: true,
55
+ specId,
56
+ provider: "jira",
57
+ externalId: epic.key,
58
+ url: epic.url,
59
+ changes
60
+ };
61
+ } catch (error) {
62
+ console.error("\u274C Error syncing to Jira:", error);
63
+ return {
64
+ success: false,
65
+ specId,
66
+ provider: "jira",
67
+ error: error instanceof Error ? error.message : "Unknown error"
68
+ };
34
69
  }
35
- /**
36
- * Sync spec to Jira Epic (CREATE or UPDATE)
37
- */
38
- async syncSpecToJira(specId) {
39
- console.log(`\n🔄 Syncing spec ${specId} to Jira Epic...`);
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: 'jira',
48
- error: `Spec ${specId} not found`
49
- };
50
- }
51
- // 2. Check if spec already linked to Jira Epic
52
- const existingLink = spec.metadata.externalLinks?.jira;
53
- let epic;
54
- if (existingLink?.epicKey) {
55
- // UPDATE existing epic
56
- console.log(` Found existing Jira Epic ${existingLink.epicKey}`);
57
- epic = await this.updateJiraEpic(existingLink.epicKey, spec);
58
- }
59
- else {
60
- // CREATE new epic
61
- console.log(' Creating new Jira Epic...');
62
- epic = await this.createJiraEpic(spec);
63
- // Link spec to epic
64
- await this.specManager.linkToExternal(specId, 'jira', {
65
- id: epic.key,
66
- url: epic.url,
67
- projectKey: this.config.projectKey,
68
- domain: this.config.domain
69
- });
70
- }
71
- // 3. Sync user stories as Jira Stories
72
- const changes = await this.syncUserStories(epic.key, spec);
73
- console.log('✅ Sync complete!');
74
- return {
75
- success: true,
76
- specId,
77
- provider: 'jira',
78
- externalId: epic.key,
79
- url: epic.url,
80
- changes
81
- };
82
- }
83
- catch (error) {
84
- console.error('❌ Error syncing to Jira:', error);
85
- return {
86
- success: false,
87
- specId,
88
- provider: 'jira',
89
- error: error instanceof Error ? error.message : 'Unknown error'
90
- };
91
- }
92
- }
93
- /**
94
- * Sync FROM Jira Epic to spec (bidirectional)
95
- */
96
- async syncFromJira(specId) {
97
- console.log(`\n🔄 Syncing FROM Jira 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: 'jira',
106
- error: `Spec ${specId} not found`
107
- };
108
- }
109
- // 2. Get Jira Epic link
110
- const jiraLink = spec.metadata.externalLinks?.jira;
111
- if (!jiraLink?.epicKey) {
112
- return {
113
- success: false,
114
- specId,
115
- provider: 'jira',
116
- error: 'Spec not linked to Jira Epic'
117
- };
118
- }
119
- // 3. Fetch Jira Epic state
120
- const epic = await this.fetchJiraEpic(jiraLink.epicKey);
121
- // 4. Detect conflicts
122
- const conflicts = await this.detectConflicts(spec, epic);
123
- if (conflicts.length === 0) {
124
- console.log('✅ No conflicts - spec and Jira in sync');
125
- return {
126
- success: true,
127
- specId,
128
- provider: 'jira',
129
- externalId: epic.key,
130
- url: epic.url
131
- };
132
- }
133
- console.log(`⚠️ Detected ${conflicts.length} conflict(s)`);
134
- // 5. Resolve conflicts (Jira wins by default for now)
135
- await this.resolveConflicts(spec, conflicts);
136
- console.log('✅ Sync FROM Jira complete!');
137
- return {
138
- success: true,
139
- specId,
140
- provider: 'jira',
141
- externalId: epic.key,
142
- url: epic.url,
143
- conflicts
144
- };
145
- }
146
- catch (error) {
147
- console.error('❌ Error syncing FROM Jira:', error);
148
- return {
149
- success: false,
150
- specId,
151
- provider: 'jira',
152
- error: error instanceof Error ? error.message : 'Unknown error'
153
- };
154
- }
155
- }
156
- /**
157
- * Create new Jira Epic for spec
158
- */
159
- async createJiraEpic(spec) {
160
- const epicSummary = `[${spec.metadata.id.toUpperCase()}] ${spec.metadata.title}`;
161
- const epicDescription = this.generateEpicDescription(spec);
162
- const payload = {
163
- fields: {
164
- project: {
165
- key: this.config.projectKey
166
- },
167
- summary: epicSummary,
168
- description: epicDescription,
169
- issuetype: {
170
- name: 'Epic'
171
- },
172
- labels: [`spec:${spec.metadata.id}`, `priority:${spec.metadata.priority}`]
173
- }
174
- };
175
- const response = await this.client.post('/issue', payload);
176
- const epicData = response.data;
177
- const epicKey = epicData.key;
178
- const epicUrl = `https://${this.config.domain}/browse/${epicKey}`;
179
- console.log(` ✅ Created Jira Epic ${epicKey}: ${epicUrl}`);
70
+ }
71
+ /**
72
+ * Sync FROM Jira Epic to spec (bidirectional)
73
+ */
74
+ async syncFromJira(specId) {
75
+ console.log(`
76
+ \u{1F504} Syncing FROM Jira to spec ${specId}...`);
77
+ try {
78
+ const spec = await this.specManager.loadSpec(specId);
79
+ if (!spec) {
180
80
  return {
181
- id: epicData.id,
182
- key: epicKey,
183
- summary: epicSummary,
184
- description: epicDescription,
185
- status: { name: 'To Do' },
186
- url: epicUrl
81
+ success: false,
82
+ specId,
83
+ provider: "jira",
84
+ error: `Spec ${specId} not found`
187
85
  };
188
- }
189
- /**
190
- * Update existing Jira Epic
191
- */
192
- async updateJiraEpic(epicKey, spec) {
193
- const epicSummary = `[${spec.metadata.id.toUpperCase()}] ${spec.metadata.title}`;
194
- const epicDescription = this.generateEpicDescription(spec);
195
- const payload = {
196
- fields: {
197
- summary: epicSummary,
198
- description: epicDescription
199
- }
86
+ }
87
+ const jiraLink = spec.metadata.externalLinks?.jira;
88
+ if (!jiraLink?.epicKey) {
89
+ return {
90
+ success: false,
91
+ specId,
92
+ provider: "jira",
93
+ error: "Spec not linked to Jira Epic"
200
94
  };
201
- await this.client.put(`/issue/${epicKey}`, payload);
202
- // Fetch updated epic
203
- const response = await this.client.get(`/issue/${epicKey}`);
204
- const epicData = response.data;
205
- console.log(` ✅ Updated Jira Epic ${epicKey}`);
95
+ }
96
+ const epic = await this.fetchJiraEpic(jiraLink.epicKey);
97
+ const conflicts = await this.detectConflicts(spec, epic);
98
+ if (conflicts.length === 0) {
99
+ console.log("\u2705 No conflicts - spec and Jira in sync");
206
100
  return {
207
- id: epicData.id,
208
- key: epicKey,
209
- summary: epicData.fields.summary,
210
- description: epicData.fields.description,
211
- status: epicData.fields.status,
212
- url: `https://${this.config.domain}/browse/${epicKey}`
101
+ success: true,
102
+ specId,
103
+ provider: "jira",
104
+ externalId: epic.key,
105
+ url: epic.url
213
106
  };
107
+ }
108
+ console.log(`\u26A0\uFE0F Detected ${conflicts.length} conflict(s)`);
109
+ await this.resolveConflicts(spec, conflicts);
110
+ console.log("\u2705 Sync FROM Jira complete!");
111
+ return {
112
+ success: true,
113
+ specId,
114
+ provider: "jira",
115
+ externalId: epic.key,
116
+ url: epic.url,
117
+ conflicts
118
+ };
119
+ } catch (error) {
120
+ console.error("\u274C Error syncing FROM Jira:", error);
121
+ return {
122
+ success: false,
123
+ specId,
124
+ provider: "jira",
125
+ error: error instanceof Error ? error.message : "Unknown error"
126
+ };
214
127
  }
215
- /**
216
- * Sync user stories as Jira Stories
217
- */
218
- async syncUserStories(epicKey, spec) {
219
- const created = [];
220
- const updated = [];
221
- const deleted = [];
222
- if (!spec.metadata.userStories || spec.metadata.userStories.length === 0) {
223
- console.log(' ℹ️ No user stories to sync');
224
- return { created, updated, deleted };
225
- }
226
- console.log(` Syncing ${spec.metadata.userStories.length} user stories...`);
227
- for (const us of spec.metadata.userStories) {
228
- // Create or update Jira Story for each user story
229
- const storySummary = `[${us.id}] ${us.title}`;
230
- const storyDescription = this.generateStoryDescription(us);
231
- // Check if story already exists (by searching for US-ID in summary)
232
- const existingStory = await this.findStoryByTitle(us.id);
233
- if (existingStory) {
234
- // UPDATE existing story
235
- await this.updateStory(existingStory.key, {
236
- summary: storySummary,
237
- description: storyDescription,
238
- status: us.status === 'done' ? 'Done' : us.status === 'in-progress' ? 'In Progress' : 'To Do'
239
- });
240
- updated.push(us.id);
241
- console.log(` ✅ Updated ${us.id}`);
242
- }
243
- else {
244
- // CREATE new story
245
- const newStory = await this.createStory({
246
- summary: storySummary,
247
- description: storyDescription,
248
- epicLink: epicKey,
249
- labels: [`user-story`, `spec:${spec.metadata.id}`, `priority:${us.priority}`]
250
- });
251
- created.push(us.id);
252
- console.log(` ✅ Created ${us.id} → Story ${newStory.key}`);
253
- }
254
- }
255
- return { created, updated, deleted };
128
+ }
129
+ /**
130
+ * Create new Jira Epic for spec
131
+ */
132
+ async createJiraEpic(spec) {
133
+ const epicSummary = `[${spec.metadata.id.toUpperCase()}] ${spec.metadata.title}`;
134
+ const epicDescription = this.generateEpicDescription(spec);
135
+ const payload = {
136
+ fields: {
137
+ project: {
138
+ key: this.config.projectKey
139
+ },
140
+ summary: epicSummary,
141
+ description: epicDescription,
142
+ issuetype: {
143
+ name: "Epic"
144
+ },
145
+ labels: [`spec:${spec.metadata.id}`, `priority:${spec.metadata.priority}`]
146
+ }
147
+ };
148
+ const response = await this.client.post("/issue", payload);
149
+ const epicData = response.data;
150
+ const epicKey = epicData.key;
151
+ const epicUrl = `https://${this.config.domain}/browse/${epicKey}`;
152
+ console.log(` \u2705 Created Jira Epic ${epicKey}: ${epicUrl}`);
153
+ return {
154
+ id: epicData.id,
155
+ key: epicKey,
156
+ summary: epicSummary,
157
+ description: epicDescription,
158
+ status: { name: "To Do" },
159
+ url: epicUrl
160
+ };
161
+ }
162
+ /**
163
+ * Update existing Jira Epic
164
+ */
165
+ async updateJiraEpic(epicKey, spec) {
166
+ const epicSummary = `[${spec.metadata.id.toUpperCase()}] ${spec.metadata.title}`;
167
+ const epicDescription = this.generateEpicDescription(spec);
168
+ const payload = {
169
+ fields: {
170
+ summary: epicSummary,
171
+ description: epicDescription
172
+ }
173
+ };
174
+ await this.client.put(`/issue/${epicKey}`, payload);
175
+ const response = await this.client.get(`/issue/${epicKey}`);
176
+ const epicData = response.data;
177
+ console.log(` \u2705 Updated Jira Epic ${epicKey}`);
178
+ return {
179
+ id: epicData.id,
180
+ key: epicKey,
181
+ summary: epicData.fields.summary,
182
+ description: epicData.fields.description,
183
+ status: epicData.fields.status,
184
+ url: `https://${this.config.domain}/browse/${epicKey}`
185
+ };
186
+ }
187
+ /**
188
+ * Sync user stories as Jira Stories
189
+ */
190
+ async syncUserStories(epicKey, spec) {
191
+ const created = [];
192
+ const updated = [];
193
+ const deleted = [];
194
+ if (!spec.metadata.userStories || spec.metadata.userStories.length === 0) {
195
+ console.log(" \u2139\uFE0F No user stories to sync");
196
+ return { created, updated, deleted };
197
+ }
198
+ console.log(` Syncing ${spec.metadata.userStories.length} user stories...`);
199
+ for (const us of spec.metadata.userStories) {
200
+ const storySummary = `[${us.id}] ${us.title}`;
201
+ const storyDescription = this.generateStoryDescription(us);
202
+ const existingStory = await this.findStoryByTitle(us.id);
203
+ if (existingStory) {
204
+ await this.updateStory(existingStory.key, {
205
+ summary: storySummary,
206
+ description: storyDescription,
207
+ status: us.status === "done" ? "Done" : us.status === "in-progress" ? "In Progress" : "To Do"
208
+ });
209
+ updated.push(us.id);
210
+ console.log(` \u2705 Updated ${us.id}`);
211
+ } else {
212
+ const newStory = await this.createStory({
213
+ summary: storySummary,
214
+ description: storyDescription,
215
+ epicLink: epicKey,
216
+ labels: [`user-story`, `spec:${spec.metadata.id}`, `priority:${us.priority}`]
217
+ });
218
+ created.push(us.id);
219
+ console.log(` \u2705 Created ${us.id} \u2192 Story ${newStory.key}`);
220
+ }
256
221
  }
257
- /**
258
- * Generate epic description from spec
259
- */
260
- generateEpicDescription(spec) {
261
- const progress = spec.metadata.progress;
262
- const progressText = progress
263
- ? `*Progress*: ${progress.percentComplete}% (${progress.completedUserStories}/${progress.totalUserStories} user stories)`
264
- : '*Progress*: N/A';
265
- return `
222
+ return { created, updated, deleted };
223
+ }
224
+ /**
225
+ * Generate epic description from spec
226
+ */
227
+ generateEpicDescription(spec) {
228
+ const progress = spec.metadata.progress;
229
+ const progressText = progress ? `*Progress*: ${progress.percentComplete}% (${progress.completedUserStories}/${progress.totalUserStories} user stories)` : "*Progress*: N/A";
230
+ return `
266
231
  h1. ${spec.metadata.title}
267
232
 
268
233
  *Spec ID*: ${spec.metadata.id}
@@ -282,18 +247,16 @@ ${spec.metadata.userStories?.length || 0} user stories tracked in this epic.
282
247
 
283
248
  ----
284
249
 
285
- 🤖 *Auto-synced from SpecWeave*
286
- Last updated: ${new Date().toISOString()}
250
+ \u{1F916} *Auto-synced from SpecWeave*
251
+ Last updated: ${(/* @__PURE__ */ new Date()).toISOString()}
287
252
  `.trim();
288
- }
289
- /**
290
- * Generate story description from user story
291
- */
292
- generateStoryDescription(us) {
293
- const acList = us.acceptanceCriteria
294
- .map(ac => `* ${ac.status === 'done' ? '(/)' : '(x)'} ${ac.description}`)
295
- .join('\n');
296
- return `
253
+ }
254
+ /**
255
+ * Generate story description from user story
256
+ */
257
+ generateStoryDescription(us) {
258
+ const acList = us.acceptanceCriteria.map((ac) => `* ${ac.status === "done" ? "(/)" : "(x)"} ${ac.description}`).join("\n");
259
+ return `
297
260
  h2. User Story
298
261
 
299
262
  ${us.title}
@@ -307,150 +270,148 @@ ${acList}
307
270
  *Priority*: ${us.priority}
308
271
  *Status*: ${us.status}
309
272
 
310
- 🤖 *Auto-synced from SpecWeave*
273
+ \u{1F916} *Auto-synced from SpecWeave*
311
274
  `.trim();
275
+ }
276
+ /**
277
+ * Detect conflicts between spec and Jira
278
+ */
279
+ async detectConflicts(spec, epic) {
280
+ const conflicts = [];
281
+ const expectedSummary = `[${spec.metadata.id.toUpperCase()}] ${spec.metadata.title}`;
282
+ if (epic.summary !== expectedSummary) {
283
+ conflicts.push({
284
+ type: "metadata",
285
+ field: "title",
286
+ localValue: spec.metadata.title,
287
+ remoteValue: epic.summary,
288
+ resolution: "remote-wins",
289
+ description: "Epic summary differs from spec title"
290
+ });
312
291
  }
313
- /**
314
- * Detect conflicts between spec and Jira
315
- */
316
- async detectConflicts(spec, epic) {
317
- const conflicts = [];
318
- // Compare epic summary
319
- const expectedSummary = `[${spec.metadata.id.toUpperCase()}] ${spec.metadata.title}`;
320
- if (epic.summary !== expectedSummary) {
321
- conflicts.push({
322
- type: 'metadata',
323
- field: 'title',
324
- localValue: spec.metadata.title,
325
- remoteValue: epic.summary,
326
- resolution: 'remote-wins',
327
- description: 'Epic summary differs from spec title'
328
- });
329
- }
330
- // TODO: Compare user stories and their statuses
331
- return conflicts;
332
- }
333
- /**
334
- * Resolve conflicts
335
- */
336
- async resolveConflicts(spec, conflicts) {
337
- for (const conflict of conflicts) {
338
- if (conflict.resolution === 'remote-wins') {
339
- console.log(` 🔄 Resolving: ${conflict.description} (Jira wins)`);
340
- // Update spec metadata from Jira
341
- if (conflict.field === 'title') {
342
- await this.specManager.saveMetadata(spec.metadata.id, {
343
- title: conflict.remoteValue
344
- });
345
- }
346
- }
292
+ return conflicts;
293
+ }
294
+ /**
295
+ * Resolve conflicts
296
+ */
297
+ async resolveConflicts(spec, conflicts) {
298
+ for (const conflict of conflicts) {
299
+ if (conflict.resolution === "remote-wins") {
300
+ console.log(` \u{1F504} Resolving: ${conflict.description} (Jira wins)`);
301
+ if (conflict.field === "title") {
302
+ await this.specManager.saveMetadata(spec.metadata.id, {
303
+ title: conflict.remoteValue
304
+ });
347
305
  }
306
+ }
348
307
  }
349
- /**
350
- * Fetch Jira Epic details
351
- */
352
- async fetchJiraEpic(epicKey) {
353
- const response = await this.client.get(`/issue/${epicKey}`);
354
- const epicData = response.data;
355
- return {
356
- id: epicData.id,
357
- key: epicKey,
358
- summary: epicData.fields.summary,
359
- description: epicData.fields.description,
360
- status: epicData.fields.status,
361
- url: `https://${this.config.domain}/browse/${epicKey}`
362
- };
363
- }
364
- /**
365
- * Find story by title pattern
366
- */
367
- async findStoryByTitle(usId) {
368
- const jql = `project = ${this.config.projectKey} AND summary ~ "[${usId}]" AND issuetype = Story`;
369
- const response = await this.client.get('/search', {
370
- params: {
371
- jql,
372
- maxResults: 1,
373
- fields: 'summary,description,status,labels'
374
- }
375
- });
376
- const issues = response.data.issues;
377
- return issues.length > 0 ? {
378
- id: issues[0].id,
379
- key: issues[0].key,
380
- summary: issues[0].fields.summary,
381
- description: issues[0].fields.description,
382
- status: issues[0].fields.status,
383
- labels: issues[0].fields.labels || []
384
- } : null;
308
+ }
309
+ /**
310
+ * Fetch Jira Epic details
311
+ */
312
+ async fetchJiraEpic(epicKey) {
313
+ const response = await this.client.get(`/issue/${epicKey}`);
314
+ const epicData = response.data;
315
+ return {
316
+ id: epicData.id,
317
+ key: epicKey,
318
+ summary: epicData.fields.summary,
319
+ description: epicData.fields.description,
320
+ status: epicData.fields.status,
321
+ url: `https://${this.config.domain}/browse/${epicKey}`
322
+ };
323
+ }
324
+ /**
325
+ * Find story by title pattern
326
+ */
327
+ async findStoryByTitle(usId) {
328
+ const jql = `project = ${this.config.projectKey} AND summary ~ "[${usId}]" AND issuetype = Story`;
329
+ const response = await this.client.get("/search", {
330
+ params: {
331
+ jql,
332
+ maxResults: 1,
333
+ fields: "summary,description,status,labels"
334
+ }
335
+ });
336
+ const issues = response.data.issues;
337
+ return issues.length > 0 ? {
338
+ id: issues[0].id,
339
+ key: issues[0].key,
340
+ summary: issues[0].fields.summary,
341
+ description: issues[0].fields.description,
342
+ status: issues[0].fields.status,
343
+ labels: issues[0].fields.labels || []
344
+ } : null;
345
+ }
346
+ /**
347
+ * Create Jira Story
348
+ */
349
+ async createStory(story) {
350
+ const payload = {
351
+ fields: {
352
+ project: {
353
+ key: this.config.projectKey
354
+ },
355
+ summary: story.summary,
356
+ description: story.description,
357
+ issuetype: {
358
+ name: "Story"
359
+ },
360
+ labels: story.labels,
361
+ // Link to epic (field name may vary by Jira configuration)
362
+ customfield_10014: story.epicLink
363
+ // Epic Link field (adjust if needed)
364
+ }
365
+ };
366
+ const response = await this.client.post("/issue", payload);
367
+ const storyData = response.data;
368
+ return {
369
+ id: storyData.id,
370
+ key: storyData.key,
371
+ summary: story.summary,
372
+ description: story.description,
373
+ status: { name: "To Do" },
374
+ labels: story.labels
375
+ };
376
+ }
377
+ /**
378
+ * Update Jira Story
379
+ */
380
+ async updateStory(storyKey, updates) {
381
+ const payload = {
382
+ fields: {}
383
+ };
384
+ if (updates.summary) {
385
+ payload.fields.summary = updates.summary;
385
386
  }
386
- /**
387
- * Create Jira Story
388
- */
389
- async createStory(story) {
390
- const payload = {
391
- fields: {
392
- project: {
393
- key: this.config.projectKey
394
- },
395
- summary: story.summary,
396
- description: story.description,
397
- issuetype: {
398
- name: 'Story'
399
- },
400
- labels: story.labels,
401
- // Link to epic (field name may vary by Jira configuration)
402
- customfield_10014: story.epicLink // Epic Link field (adjust if needed)
403
- }
404
- };
405
- const response = await this.client.post('/issue', payload);
406
- const storyData = response.data;
407
- return {
408
- id: storyData.id,
409
- key: storyData.key,
410
- summary: story.summary,
411
- description: story.description,
412
- status: { name: 'To Do' },
413
- labels: story.labels
414
- };
387
+ if (updates.description) {
388
+ payload.fields.description = updates.description;
415
389
  }
416
- /**
417
- * Update Jira Story
418
- */
419
- async updateStory(storyKey, updates) {
420
- const payload = {
421
- fields: {}
422
- };
423
- if (updates.summary) {
424
- payload.fields.summary = updates.summary;
425
- }
426
- if (updates.description) {
427
- payload.fields.description = updates.description;
428
- }
429
- await this.client.put(`/issue/${storyKey}`, payload);
430
- // Handle status transition if needed
431
- if (updates.status) {
432
- await this.transitionIssue(storyKey, updates.status);
433
- }
390
+ await this.client.put(`/issue/${storyKey}`, payload);
391
+ if (updates.status) {
392
+ await this.transitionIssue(storyKey, updates.status);
434
393
  }
435
- /**
436
- * Transition issue to new status
437
- */
438
- async transitionIssue(issueKey, targetStatus) {
439
- // Get available transitions
440
- const transitionsResponse = await this.client.get(`/issue/${issueKey}/transitions`);
441
- const transitions = transitionsResponse.data.transitions;
442
- // Find transition matching target status
443
- const transition = transitions.find((t) => t.to.name.toLowerCase() === targetStatus.toLowerCase());
444
- if (!transition) {
445
- console.warn(` ⚠️ Cannot transition ${issueKey} to ${targetStatus} (no valid transition)`);
446
- return;
447
- }
448
- // Execute transition
449
- await this.client.post(`/issue/${issueKey}/transitions`, {
450
- transition: {
451
- id: transition.id
452
- }
453
- });
394
+ }
395
+ /**
396
+ * Transition issue to new status
397
+ */
398
+ async transitionIssue(issueKey, targetStatus) {
399
+ const transitionsResponse = await this.client.get(`/issue/${issueKey}/transitions`);
400
+ const transitions = transitionsResponse.data.transitions;
401
+ const transition = transitions.find(
402
+ (t) => t.to.name.toLowerCase() === targetStatus.toLowerCase()
403
+ );
404
+ if (!transition) {
405
+ console.warn(` \u26A0\uFE0F Cannot transition ${issueKey} to ${targetStatus} (no valid transition)`);
406
+ return;
454
407
  }
408
+ await this.client.post(`/issue/${issueKey}/transitions`, {
409
+ transition: {
410
+ id: transition.id
411
+ }
412
+ });
413
+ }
455
414
  }
456
- //# sourceMappingURL=jira-spec-sync.js.map
415
+ export {
416
+ JiraSpecSync
417
+ };