specweave 0.13.4 → 0.13.6

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