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,165 +1,142 @@
1
- /**
2
- * GitHub Spec Sync
3
- *
4
- * CORRECT ARCHITECTURE:
5
- * - Syncs .specweave/docs/internal/specs/spec-*.md ↔ GitHub Projects
6
- * - NOT increments ↔ GitHub Issues (that was wrong!)
7
- *
8
- * Mapping:
9
- * - Spec GitHub Project
10
- * - User Story → GitHub Project Card/Issue
11
- * - Acceptance Criteria → Checklist in Issue
12
- *
13
- * @module github-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 { execFileNoThrow } from '../../../src/utils/execFileNoThrow.js';
18
- export class GitHubSpecSync {
19
- constructor(projectRoot = process.cwd()) {
20
- this.specManager = new SpecMetadataManager(projectRoot);
21
- }
22
- /**
23
- * Sync spec to GitHub Project (CREATE or UPDATE)
24
- */
25
- async syncSpecToGitHub(specId) {
26
- console.log(`\n🔄 Syncing spec ${specId} to GitHub Project...`);
27
- try {
28
- // 1. Load spec
29
- const spec = await this.specManager.loadSpec(specId);
30
- if (!spec) {
31
- return {
32
- success: false,
33
- specId,
34
- provider: 'github',
35
- error: `Spec ${specId} not found`
36
- };
37
- }
38
- // 2. Detect repository
39
- const repoInfo = await this.detectRepo();
40
- if (!repoInfo) {
41
- return {
42
- success: false,
43
- specId,
44
- provider: 'github',
45
- error: 'Could not detect GitHub repository'
46
- };
47
- }
48
- const { owner, repo } = repoInfo;
49
- // 3. Check if spec already linked to GitHub Project
50
- const existingLink = spec.metadata.externalLinks?.github;
51
- let project;
52
- if (existingLink?.projectId) {
53
- // UPDATE existing project
54
- console.log(` Found existing GitHub Project #${existingLink.projectId}`);
55
- project = await this.updateGitHubProject(owner, repo, existingLink.projectId, spec);
56
- }
57
- else {
58
- // CREATE new project
59
- console.log(' Creating new GitHub Project...');
60
- project = await this.createGitHubProject(owner, repo, spec);
61
- // Link spec to project
62
- await this.specManager.linkToExternal(specId, 'github', {
63
- id: project.id,
64
- url: project.url,
65
- owner,
66
- repo
67
- });
68
- }
69
- // 4. Sync user stories as issues/cards
70
- const changes = await this.syncUserStories(owner, repo, project.number, spec);
71
- console.log('✅ Sync complete!');
72
- return {
73
- success: true,
74
- specId,
75
- provider: 'github',
76
- externalId: project.id.toString(),
77
- url: project.url,
78
- changes
79
- };
80
- }
81
- catch (error) {
82
- console.error('❌ Error syncing to GitHub:', error);
83
- return {
84
- success: false,
85
- specId,
86
- provider: 'github',
87
- error: error instanceof Error ? error.message : 'Unknown error'
88
- };
89
- }
1
+ import { SpecMetadataManager } from "../../../src/core/specs/spec-metadata-manager.js";
2
+ import { SpecParser } from "../../../src/core/specs/spec-parser.js";
3
+ import { execFileNoThrow } from "../../../src/utils/execFileNoThrow.js";
4
+ class GitHubSpecSync {
5
+ constructor(projectRoot = process.cwd()) {
6
+ this.specManager = new SpecMetadataManager(projectRoot);
7
+ }
8
+ /**
9
+ * Sync spec to GitHub Project (CREATE or UPDATE)
10
+ */
11
+ async syncSpecToGitHub(specId) {
12
+ console.log(`
13
+ \u{1F504} Syncing spec ${specId} to GitHub Project...`);
14
+ try {
15
+ const spec = await this.specManager.loadSpec(specId);
16
+ if (!spec) {
17
+ return {
18
+ success: false,
19
+ specId,
20
+ provider: "github",
21
+ error: `Spec ${specId} not found`
22
+ };
23
+ }
24
+ const repoInfo = await this.detectRepo();
25
+ if (!repoInfo) {
26
+ return {
27
+ success: false,
28
+ specId,
29
+ provider: "github",
30
+ error: "Could not detect GitHub repository"
31
+ };
32
+ }
33
+ const { owner, repo } = repoInfo;
34
+ const existingLink = spec.metadata.externalLinks?.github;
35
+ let project;
36
+ if (existingLink?.projectId) {
37
+ console.log(` Found existing GitHub Project #${existingLink.projectId}`);
38
+ project = await this.updateGitHubProject(
39
+ owner,
40
+ repo,
41
+ existingLink.projectId,
42
+ spec
43
+ );
44
+ } else {
45
+ console.log(" Creating new GitHub Project...");
46
+ project = await this.createGitHubProject(owner, repo, spec);
47
+ await this.specManager.linkToExternal(specId, "github", {
48
+ id: project.id,
49
+ url: project.url,
50
+ owner,
51
+ repo
52
+ });
53
+ }
54
+ const changes = await this.syncUserStories(owner, repo, project.number, spec);
55
+ console.log("\u2705 Sync complete!");
56
+ return {
57
+ success: true,
58
+ specId,
59
+ provider: "github",
60
+ externalId: project.id.toString(),
61
+ url: project.url,
62
+ changes
63
+ };
64
+ } catch (error) {
65
+ console.error("\u274C Error syncing to GitHub:", error);
66
+ return {
67
+ success: false,
68
+ specId,
69
+ provider: "github",
70
+ error: error instanceof Error ? error.message : "Unknown error"
71
+ };
90
72
  }
91
- /**
92
- * Sync FROM GitHub Project to spec (bidirectional)
93
- */
94
- async syncFromGitHub(specId) {
95
- console.log(`\n🔄 Syncing FROM GitHub to spec ${specId}...`);
96
- try {
97
- // 1. Load spec
98
- const spec = await this.specManager.loadSpec(specId);
99
- if (!spec) {
100
- return {
101
- success: false,
102
- specId,
103
- provider: 'github',
104
- error: `Spec ${specId} not found`
105
- };
106
- }
107
- // 2. Get GitHub Project link
108
- const githubLink = spec.metadata.externalLinks?.github;
109
- if (!githubLink?.projectId) {
110
- return {
111
- success: false,
112
- specId,
113
- provider: 'github',
114
- error: 'Spec not linked to GitHub Project'
115
- };
116
- }
117
- const { owner, repo } = await this.detectRepo() || { owner: '', repo: '' };
118
- // 3. Fetch GitHub Project state
119
- const project = await this.fetchGitHubProject(owner, repo, githubLink.projectId);
120
- // 4. Detect conflicts
121
- const conflicts = await this.detectConflicts(spec, project);
122
- if (conflicts.length === 0) {
123
- console.log('✅ No conflicts - spec and GitHub in sync');
124
- return {
125
- success: true,
126
- specId,
127
- provider: 'github',
128
- externalId: project.id.toString(),
129
- url: project.url
130
- };
131
- }
132
- console.log(`⚠️ Detected ${conflicts.length} conflict(s)`);
133
- // 5. Resolve conflicts (GitHub wins by default for now)
134
- await this.resolveConflicts(spec, conflicts);
135
- console.log('✅ Sync FROM GitHub complete!');
136
- return {
137
- success: true,
138
- specId,
139
- provider: 'github',
140
- externalId: project.id.toString(),
141
- url: project.url,
142
- conflicts
143
- };
144
- }
145
- catch (error) {
146
- console.error('❌ Error syncing FROM GitHub:', error);
147
- return {
148
- success: false,
149
- specId,
150
- provider: 'github',
151
- error: error instanceof Error ? error.message : 'Unknown error'
152
- };
153
- }
73
+ }
74
+ /**
75
+ * Sync FROM GitHub Project to spec (bidirectional)
76
+ */
77
+ async syncFromGitHub(specId) {
78
+ console.log(`
79
+ \u{1F504} Syncing FROM GitHub to spec ${specId}...`);
80
+ try {
81
+ const spec = await this.specManager.loadSpec(specId);
82
+ if (!spec) {
83
+ return {
84
+ success: false,
85
+ specId,
86
+ provider: "github",
87
+ error: `Spec ${specId} not found`
88
+ };
89
+ }
90
+ const githubLink = spec.metadata.externalLinks?.github;
91
+ if (!githubLink?.projectId) {
92
+ return {
93
+ success: false,
94
+ specId,
95
+ provider: "github",
96
+ error: "Spec not linked to GitHub Project"
97
+ };
98
+ }
99
+ const { owner, repo } = await this.detectRepo() || { owner: "", repo: "" };
100
+ const project = await this.fetchGitHubProject(owner, repo, githubLink.projectId);
101
+ const conflicts = await this.detectConflicts(spec, project);
102
+ if (conflicts.length === 0) {
103
+ console.log("\u2705 No conflicts - spec and GitHub in sync");
104
+ return {
105
+ success: true,
106
+ specId,
107
+ provider: "github",
108
+ externalId: project.id.toString(),
109
+ url: project.url
110
+ };
111
+ }
112
+ console.log(`\u26A0\uFE0F Detected ${conflicts.length} conflict(s)`);
113
+ await this.resolveConflicts(spec, conflicts);
114
+ console.log("\u2705 Sync FROM GitHub complete!");
115
+ return {
116
+ success: true,
117
+ specId,
118
+ provider: "github",
119
+ externalId: project.id.toString(),
120
+ url: project.url,
121
+ conflicts
122
+ };
123
+ } catch (error) {
124
+ console.error("\u274C Error syncing FROM GitHub:", error);
125
+ return {
126
+ success: false,
127
+ specId,
128
+ provider: "github",
129
+ error: error instanceof Error ? error.message : "Unknown error"
130
+ };
154
131
  }
155
- /**
156
- * Create new GitHub Project for spec
157
- */
158
- async createGitHubProject(owner, repo, spec) {
159
- const projectTitle = `[${spec.metadata.id.toUpperCase()}] ${spec.metadata.title}`;
160
- const projectBody = this.generateProjectDescription(spec);
161
- // Use GraphQL to create project
162
- const query = `
132
+ }
133
+ /**
134
+ * Create new GitHub Project for spec
135
+ */
136
+ async createGitHubProject(owner, repo, spec) {
137
+ const projectTitle = `[${spec.metadata.id.toUpperCase()}] ${spec.metadata.title}`;
138
+ const projectBody = this.generateProjectDescription(spec);
139
+ const query = `
163
140
  mutation CreateProject($ownerId: ID!, $title: String!, $body: String!) {
164
141
  createProjectV2(input: {
165
142
  ownerId: $ownerId,
@@ -175,33 +152,31 @@ export class GitHubSpecSync {
175
152
  }
176
153
  }
177
154
  `;
178
- // Get owner ID first
179
- const ownerId = await this.getOwnerId(owner);
180
- const result = await this.executeGraphQL(query, {
181
- ownerId,
182
- title: projectTitle,
183
- body: projectBody
184
- });
185
- const project = result.data.createProjectV2.projectV2;
186
- console.log(` ✅ Created GitHub Project #${project.number}: ${project.url}`);
187
- return {
188
- id: parseInt(project.id, 10),
189
- title: project.title,
190
- number: project.number,
191
- url: project.url,
192
- state: 'open',
193
- owner,
194
- repo
195
- };
196
- }
197
- /**
198
- * Update existing GitHub Project
199
- */
200
- async updateGitHubProject(owner, repo, projectId, spec) {
201
- const projectTitle = `[${spec.metadata.id.toUpperCase()}] ${spec.metadata.title}`;
202
- const projectBody = this.generateProjectDescription(spec);
203
- // Use GraphQL to update project
204
- const query = `
155
+ const ownerId = await this.getOwnerId(owner);
156
+ const result = await this.executeGraphQL(query, {
157
+ ownerId,
158
+ title: projectTitle,
159
+ body: projectBody
160
+ });
161
+ const project = result.data.createProjectV2.projectV2;
162
+ console.log(` \u2705 Created GitHub Project #${project.number}: ${project.url}`);
163
+ return {
164
+ id: parseInt(project.id, 10),
165
+ title: project.title,
166
+ number: project.number,
167
+ url: project.url,
168
+ state: "open",
169
+ owner,
170
+ repo
171
+ };
172
+ }
173
+ /**
174
+ * Update existing GitHub Project
175
+ */
176
+ async updateGitHubProject(owner, repo, projectId, spec) {
177
+ const projectTitle = `[${spec.metadata.id.toUpperCase()}] ${spec.metadata.title}`;
178
+ const projectBody = this.generateProjectDescription(spec);
179
+ const query = `
205
180
  mutation UpdateProject($projectId: ID!, $title: String, $body: String) {
206
181
  updateProjectV2(input: {
207
182
  projectId: $projectId,
@@ -217,73 +192,66 @@ export class GitHubSpecSync {
217
192
  }
218
193
  }
219
194
  `;
220
- const result = await this.executeGraphQL(query, {
221
- projectId: projectId.toString(),
222
- title: projectTitle,
223
- body: projectBody
224
- });
225
- const project = result.data.updateProjectV2.projectV2;
226
- console.log(` Updated GitHub Project #${project.number}`);
227
- return {
228
- id: projectId,
229
- title: project.title,
230
- number: project.number,
231
- url: project.url,
232
- state: 'open',
233
- owner,
234
- repo
235
- };
195
+ const result = await this.executeGraphQL(query, {
196
+ projectId: projectId.toString(),
197
+ title: projectTitle,
198
+ body: projectBody
199
+ });
200
+ const project = result.data.updateProjectV2.projectV2;
201
+ console.log(` \u2705 Updated GitHub Project #${project.number}`);
202
+ return {
203
+ id: projectId,
204
+ title: project.title,
205
+ number: project.number,
206
+ url: project.url,
207
+ state: "open",
208
+ owner,
209
+ repo
210
+ };
211
+ }
212
+ /**
213
+ * Sync user stories as GitHub Issues
214
+ */
215
+ async syncUserStories(owner, repo, projectNumber, spec) {
216
+ const created = [];
217
+ const updated = [];
218
+ const deleted = [];
219
+ if (!spec.metadata.userStories || spec.metadata.userStories.length === 0) {
220
+ console.log(" \u2139\uFE0F No user stories to sync");
221
+ return { created, updated, deleted };
236
222
  }
237
- /**
238
- * Sync user stories as GitHub Issues
239
- */
240
- async syncUserStories(owner, repo, projectNumber, spec) {
241
- const created = [];
242
- const updated = [];
243
- const deleted = [];
244
- if (!spec.metadata.userStories || spec.metadata.userStories.length === 0) {
245
- console.log(' ℹ️ No user stories to sync');
246
- return { created, updated, deleted };
247
- }
248
- console.log(` Syncing ${spec.metadata.userStories.length} user stories...`);
249
- for (const us of spec.metadata.userStories) {
250
- // Create or update issue for each user story
251
- const issueTitle = `[${us.id}] ${us.title}`;
252
- const issueBody = this.generateIssueBody(us);
253
- // Check if issue already exists (by title pattern)
254
- const existingIssue = await this.findIssueByTitle(owner, repo, us.id);
255
- if (existingIssue) {
256
- // UPDATE existing issue
257
- await this.updateIssue(owner, repo, existingIssue.number, {
258
- title: issueTitle,
259
- body: issueBody,
260
- state: us.status === 'done' ? 'closed' : 'open'
261
- });
262
- updated.push(us.id);
263
- console.log(` ✅ Updated ${us.id}`);
264
- }
265
- else {
266
- // CREATE new issue
267
- const newIssue = await this.createIssue(owner, repo, {
268
- title: issueTitle,
269
- body: issueBody,
270
- labels: ['user-story', `spec:${spec.metadata.id}`, `priority:${us.priority}`]
271
- });
272
- created.push(us.id);
273
- console.log(` ✅ Created ${us.id} → Issue #${newIssue.number}`);
274
- }
275
- }
276
- return { created, updated, deleted };
223
+ console.log(` Syncing ${spec.metadata.userStories.length} user stories...`);
224
+ for (const us of spec.metadata.userStories) {
225
+ const issueTitle = `[${us.id}] ${us.title}`;
226
+ const issueBody = this.generateIssueBody(us);
227
+ const existingIssue = await this.findIssueByTitle(owner, repo, us.id);
228
+ if (existingIssue) {
229
+ await this.updateIssue(owner, repo, existingIssue.number, {
230
+ title: issueTitle,
231
+ body: issueBody,
232
+ state: us.status === "done" ? "closed" : "open"
233
+ });
234
+ updated.push(us.id);
235
+ console.log(` \u2705 Updated ${us.id}`);
236
+ } else {
237
+ const newIssue = await this.createIssue(owner, repo, {
238
+ title: issueTitle,
239
+ body: issueBody,
240
+ labels: ["user-story", `spec:${spec.metadata.id}`, `priority:${us.priority}`]
241
+ });
242
+ created.push(us.id);
243
+ console.log(` \u2705 Created ${us.id} \u2192 Issue #${newIssue.number}`);
244
+ }
277
245
  }
278
- /**
279
- * Generate project description from spec
280
- */
281
- generateProjectDescription(spec) {
282
- const progress = spec.metadata.progress;
283
- const progressText = progress
284
- ? `**Progress**: ${progress.percentComplete}% (${progress.completedUserStories}/${progress.totalUserStories} user stories)`
285
- : '**Progress**: N/A';
286
- return `
246
+ return { created, updated, deleted };
247
+ }
248
+ /**
249
+ * Generate project description from spec
250
+ */
251
+ generateProjectDescription(spec) {
252
+ const progress = spec.metadata.progress;
253
+ const progressText = progress ? `**Progress**: ${progress.percentComplete}% (${progress.completedUserStories}/${progress.totalUserStories} user stories)` : "**Progress**: N/A";
254
+ return `
287
255
  # ${spec.metadata.title}
288
256
 
289
257
  **Spec ID**: ${spec.metadata.id}
@@ -303,18 +271,16 @@ ${spec.metadata.userStories?.length || 0} user stories tracked in this project.
303
271
 
304
272
  ---
305
273
 
306
- 🤖 **Auto-synced from SpecWeave**
307
- Last updated: ${new Date().toISOString()}
274
+ \u{1F916} **Auto-synced from SpecWeave**
275
+ Last updated: ${(/* @__PURE__ */ new Date()).toISOString()}
308
276
  `.trim();
309
- }
310
- /**
311
- * Generate issue body from user story
312
- */
313
- generateIssueBody(us) {
314
- const acList = us.acceptanceCriteria
315
- .map(ac => `- [${ac.status === 'done' ? 'x' : ' '}] ${ac.description}`)
316
- .join('\n');
317
- return `
277
+ }
278
+ /**
279
+ * Generate issue body from user story
280
+ */
281
+ generateIssueBody(us) {
282
+ const acList = us.acceptanceCriteria.map((ac) => `- [${ac.status === "done" ? "x" : " "}] ${ac.description}`).join("\n");
283
+ return `
318
284
  ## User Story
319
285
 
320
286
  ${us.title}
@@ -328,178 +294,171 @@ ${acList}
328
294
  **Priority**: ${us.priority}
329
295
  **Status**: ${us.status}
330
296
 
331
- 🤖 **Auto-synced from SpecWeave**
297
+ \u{1F916} **Auto-synced from SpecWeave**
332
298
  `.trim();
299
+ }
300
+ /**
301
+ * Detect conflicts between spec and GitHub
302
+ */
303
+ async detectConflicts(spec, project) {
304
+ const conflicts = [];
305
+ const expectedTitle = `[${spec.metadata.id.toUpperCase()}] ${spec.metadata.title}`;
306
+ if (project.title !== expectedTitle) {
307
+ conflicts.push({
308
+ type: "metadata",
309
+ field: "title",
310
+ localValue: spec.metadata.title,
311
+ remoteValue: project.title,
312
+ resolution: "remote-wins",
313
+ description: "Project title differs from spec title"
314
+ });
333
315
  }
334
- /**
335
- * Detect conflicts between spec and GitHub
336
- */
337
- async detectConflicts(spec, project) {
338
- const conflicts = [];
339
- // Compare project title
340
- const expectedTitle = `[${spec.metadata.id.toUpperCase()}] ${spec.metadata.title}`;
341
- if (project.title !== expectedTitle) {
342
- conflicts.push({
343
- type: 'metadata',
344
- field: 'title',
345
- localValue: spec.metadata.title,
346
- remoteValue: project.title,
347
- resolution: 'remote-wins',
348
- description: 'Project title differs from spec title'
349
- });
350
- }
351
- // TODO: Compare user stories and their statuses
352
- return conflicts;
353
- }
354
- /**
355
- * Resolve conflicts
356
- */
357
- async resolveConflicts(spec, conflicts) {
358
- for (const conflict of conflicts) {
359
- if (conflict.resolution === 'remote-wins') {
360
- console.log(` 🔄 Resolving: ${conflict.description} (GitHub wins)`);
361
- // Update spec metadata from GitHub
362
- if (conflict.field === 'title') {
363
- await this.specManager.saveMetadata(spec.metadata.id, {
364
- title: conflict.remoteValue
365
- });
366
- }
367
- }
316
+ return conflicts;
317
+ }
318
+ /**
319
+ * Resolve conflicts
320
+ */
321
+ async resolveConflicts(spec, conflicts) {
322
+ for (const conflict of conflicts) {
323
+ if (conflict.resolution === "remote-wins") {
324
+ console.log(` \u{1F504} Resolving: ${conflict.description} (GitHub wins)`);
325
+ if (conflict.field === "title") {
326
+ await this.specManager.saveMetadata(spec.metadata.id, {
327
+ title: conflict.remoteValue
328
+ });
368
329
  }
330
+ }
369
331
  }
370
- /**
371
- * Execute GraphQL query against GitHub API
372
- */
373
- async executeGraphQL(query, variables) {
374
- const result = await execFileNoThrow('gh', [
375
- 'api',
376
- 'graphql',
377
- '-f',
378
- `query=${query}`,
379
- ...Object.entries(variables).flatMap(([key, value]) => ['-F', `${key}=${value}`])
380
- ]);
381
- if (result.error) {
382
- throw new Error(`GraphQL query failed: ${result.error}`);
383
- }
384
- return JSON.parse(result.stdout);
332
+ }
333
+ /**
334
+ * Execute GraphQL query against GitHub API
335
+ */
336
+ async executeGraphQL(query, variables) {
337
+ const result = await execFileNoThrow("gh", [
338
+ "api",
339
+ "graphql",
340
+ "-f",
341
+ `query=${query}`,
342
+ ...Object.entries(variables).flatMap(([key, value]) => ["-F", `${key}=${value}`])
343
+ ]);
344
+ if (result.error) {
345
+ throw new Error(`GraphQL query failed: ${result.error}`);
385
346
  }
386
- /**
387
- * Get owner ID (user or organization)
388
- */
389
- async getOwnerId(owner) {
390
- const query = `
347
+ return JSON.parse(result.stdout);
348
+ }
349
+ /**
350
+ * Get owner ID (user or organization)
351
+ */
352
+ async getOwnerId(owner) {
353
+ const query = `
391
354
  query GetOwner($login: String!) {
392
355
  repositoryOwner(login: $login) {
393
356
  id
394
357
  }
395
358
  }
396
359
  `;
397
- const result = await this.executeGraphQL(query, { login: owner });
398
- return result.data.repositoryOwner.id;
360
+ const result = await this.executeGraphQL(query, { login: owner });
361
+ return result.data.repositoryOwner.id;
362
+ }
363
+ /**
364
+ * Fetch GitHub Project details
365
+ */
366
+ async fetchGitHubProject(owner, repo, projectId) {
367
+ return {
368
+ id: projectId,
369
+ title: "Project Title",
370
+ number: 1,
371
+ url: "https://github.com/...",
372
+ state: "open",
373
+ owner,
374
+ repo
375
+ };
376
+ }
377
+ /**
378
+ * Find issue by title pattern
379
+ */
380
+ async findIssueByTitle(owner, repo, usId) {
381
+ const result = await execFileNoThrow("gh", [
382
+ "issue",
383
+ "list",
384
+ "--repo",
385
+ `${owner}/${repo}`,
386
+ "--search",
387
+ `"[${usId}]" in:title`,
388
+ "--json",
389
+ "number,title,body,state,labels",
390
+ "--limit",
391
+ "1"
392
+ ]);
393
+ if (result.error || !result.stdout) {
394
+ return null;
399
395
  }
400
- /**
401
- * Fetch GitHub Project details
402
- */
403
- async fetchGitHubProject(owner, repo, projectId) {
404
- // Placeholder - would use GraphQL to fetch project
405
- return {
406
- id: projectId,
407
- title: 'Project Title',
408
- number: 1,
409
- url: 'https://github.com/...',
410
- state: 'open',
411
- owner,
412
- repo
413
- };
396
+ const issues = JSON.parse(result.stdout);
397
+ return issues.length > 0 ? issues[0] : null;
398
+ }
399
+ /**
400
+ * Create GitHub issue
401
+ */
402
+ async createIssue(owner, repo, issue) {
403
+ const result = await execFileNoThrow("gh", [
404
+ "issue",
405
+ "create",
406
+ "--repo",
407
+ `${owner}/${repo}`,
408
+ "--title",
409
+ issue.title,
410
+ "--body",
411
+ issue.body,
412
+ "--label",
413
+ issue.labels.join(","),
414
+ "--json",
415
+ "number,title,body,state"
416
+ ]);
417
+ if (result.error) {
418
+ throw new Error(`Failed to create issue: ${result.error}`);
414
419
  }
415
- /**
416
- * Find issue by title pattern
417
- */
418
- async findIssueByTitle(owner, repo, usId) {
419
- const result = await execFileNoThrow('gh', [
420
- 'issue',
421
- 'list',
422
- '--repo',
423
- `${owner}/${repo}`,
424
- '--search',
425
- `"[${usId}]" in:title`,
426
- '--json',
427
- 'number,title,body,state,labels',
428
- '--limit',
429
- '1'
430
- ]);
431
- if (result.error || !result.stdout) {
432
- return null;
433
- }
434
- const issues = JSON.parse(result.stdout);
435
- return issues.length > 0 ? issues[0] : null;
420
+ return JSON.parse(result.stdout);
421
+ }
422
+ /**
423
+ * Update GitHub issue
424
+ */
425
+ async updateIssue(owner, repo, issueNumber, updates) {
426
+ const args = ["issue", "edit", issueNumber.toString(), "--repo", `${owner}/${repo}`];
427
+ if (updates.title) {
428
+ args.push("--title", updates.title);
436
429
  }
437
- /**
438
- * Create GitHub issue
439
- */
440
- async createIssue(owner, repo, issue) {
441
- const result = await execFileNoThrow('gh', [
442
- 'issue',
443
- 'create',
444
- '--repo',
445
- `${owner}/${repo}`,
446
- '--title',
447
- issue.title,
448
- '--body',
449
- issue.body,
450
- '--label',
451
- issue.labels.join(','),
452
- '--json',
453
- 'number,title,body,state'
454
- ]);
455
- if (result.error) {
456
- throw new Error(`Failed to create issue: ${result.error}`);
457
- }
458
- return JSON.parse(result.stdout);
430
+ if (updates.body) {
431
+ args.push("--body", updates.body);
459
432
  }
460
- /**
461
- * Update GitHub issue
462
- */
463
- async updateIssue(owner, repo, issueNumber, updates) {
464
- const args = ['issue', 'edit', issueNumber.toString(), '--repo', `${owner}/${repo}`];
465
- if (updates.title) {
466
- args.push('--title', updates.title);
467
- }
468
- if (updates.body) {
469
- args.push('--body', updates.body);
470
- }
471
- if (updates.state === 'closed') {
472
- args.push('--state', 'closed');
473
- }
474
- else if (updates.state === 'open') {
475
- args.push('--state', 'open');
476
- }
477
- const result = await execFileNoThrow('gh', args);
478
- if (result.error) {
479
- throw new Error(`Failed to update issue #${issueNumber}: ${result.error}`);
480
- }
433
+ if (updates.state === "closed") {
434
+ args.push("--state", "closed");
435
+ } else if (updates.state === "open") {
436
+ args.push("--state", "open");
481
437
  }
482
- /**
483
- * Detect GitHub repository from git remote
484
- */
485
- async detectRepo() {
486
- const result = await execFileNoThrow('git', ['remote', 'get-url', 'origin']);
487
- if (result.error || !result.stdout) {
488
- return null;
489
- }
490
- const remoteUrl = result.stdout.trim();
491
- // Parse GitHub URL
492
- // Examples:
493
- // - https://github.com/owner/repo.git
494
- // - git@github.com:owner/repo.git
495
- const httpsMatch = remoteUrl.match(/github\.com[/:]([\w-]+)\/([\w-]+?)(\.git)?$/);
496
- if (httpsMatch) {
497
- return {
498
- owner: httpsMatch[1],
499
- repo: httpsMatch[2]
500
- };
501
- }
502
- return null;
438
+ const result = await execFileNoThrow("gh", args);
439
+ if (result.error) {
440
+ throw new Error(`Failed to update issue #${issueNumber}: ${result.error}`);
441
+ }
442
+ }
443
+ /**
444
+ * Detect GitHub repository from git remote
445
+ */
446
+ async detectRepo() {
447
+ const result = await execFileNoThrow("git", ["remote", "get-url", "origin"]);
448
+ if (result.error || !result.stdout) {
449
+ return null;
450
+ }
451
+ const remoteUrl = result.stdout.trim();
452
+ const httpsMatch = remoteUrl.match(/github\.com[/:]([\w-]+)\/([\w-]+?)(\.git)?$/);
453
+ if (httpsMatch) {
454
+ return {
455
+ owner: httpsMatch[1],
456
+ repo: httpsMatch[2]
457
+ };
503
458
  }
459
+ return null;
460
+ }
504
461
  }
505
- //# sourceMappingURL=github-spec-sync.js.map
462
+ export {
463
+ GitHubSpecSync
464
+ };