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,408 +1,419 @@
1
- /**
2
- * GitHub CLI Wrapper for SpecWeave (Multi-Project Support)
3
- *
4
- * Profile-based GitHub client that supports:
5
- * - Multiple repositories via sync profiles
6
- * - Time range filtering for syncs
7
- * - Rate limiting protection
8
- * - Secure command execution (no shell injection)
9
- */
10
- import { execFileNoThrow } from '../../../src/utils/execFileNoThrow.js';
11
- export class GitHubClientV2 {
12
- /**
13
- * Create GitHub client from sync profile
14
- */
15
- constructor(profile) {
16
- if (profile.provider !== 'github') {
17
- throw new Error(`Expected GitHub profile, got ${profile.provider}`);
18
- }
19
- const config = profile.config;
20
- this.owner = config.owner;
21
- this.repo = config.repo;
22
- this.fullRepo = `${this.owner}/${this.repo}`;
1
+ import { execFileNoThrow } from "../../../src/utils/execFileNoThrow.js";
2
+ class GitHubClientV2 {
3
+ /**
4
+ * Create GitHub client from sync profile
5
+ */
6
+ constructor(profile) {
7
+ if (profile.provider !== "github") {
8
+ throw new Error(`Expected GitHub profile, got ${profile.provider}`);
23
9
  }
24
- /**
25
- * Create client from owner/repo directly
26
- */
27
- static fromRepo(owner, repo) {
28
- const profile = {
29
- provider: 'github',
30
- displayName: `${owner}/${repo}`,
31
- config: { owner, repo },
32
- timeRange: { default: '1M', max: '6M' },
33
- };
34
- return new GitHubClientV2(profile);
10
+ const config = profile.config;
11
+ this.owner = config.owner;
12
+ this.repo = config.repo;
13
+ this.fullRepo = `${this.owner}/${this.repo}`;
14
+ }
15
+ /**
16
+ * Create client from owner/repo directly
17
+ */
18
+ static fromRepo(owner, repo) {
19
+ const profile = {
20
+ provider: "github",
21
+ displayName: `${owner}/${repo}`,
22
+ config: { owner, repo },
23
+ timeRange: { default: "1M", max: "6M" }
24
+ };
25
+ return new GitHubClientV2(profile);
26
+ }
27
+ // ==========================================================================
28
+ // Authentication & Setup
29
+ // ==========================================================================
30
+ /**
31
+ * Check if GitHub CLI is installed and authenticated
32
+ */
33
+ static async checkCLI() {
34
+ const versionCheck = await execFileNoThrow("gh", ["--version"]);
35
+ if (versionCheck.status !== 0) {
36
+ return {
37
+ installed: false,
38
+ authenticated: false,
39
+ error: "GitHub CLI (gh) not installed. Install from: https://cli.github.com/"
40
+ };
35
41
  }
36
- // ==========================================================================
37
- // Authentication & Setup
38
- // ==========================================================================
39
- /**
40
- * Check if GitHub CLI is installed and authenticated
41
- */
42
- static async checkCLI() {
43
- // Check installation
44
- const versionCheck = await execFileNoThrow('gh', ['--version']);
45
- if (versionCheck.status !== 0) {
46
- return {
47
- installed: false,
48
- authenticated: false,
49
- error: 'GitHub CLI (gh) not installed. Install from: https://cli.github.com/',
50
- };
51
- }
52
- // Check authentication
53
- const authCheck = await execFileNoThrow('gh', ['auth', 'status']);
54
- if (authCheck.status !== 0) {
55
- return {
56
- installed: true,
57
- authenticated: false,
58
- error: 'GitHub CLI not authenticated. Run: gh auth login',
59
- };
60
- }
61
- return { installed: true, authenticated: true };
42
+ const authCheck = await execFileNoThrow("gh", ["auth", "status"]);
43
+ if (authCheck.status !== 0) {
44
+ return {
45
+ installed: true,
46
+ authenticated: false,
47
+ error: "GitHub CLI not authenticated. Run: gh auth login"
48
+ };
62
49
  }
63
- /**
64
- * Auto-detect repository from git remote
65
- */
66
- static async detectRepo(cwd) {
67
- const result = await execFileNoThrow('git', [
68
- 'remote',
69
- 'get-url',
70
- 'origin',
71
- ], { cwd });
72
- if (result.status !== 0) {
73
- return null;
74
- }
75
- const remote = result.stdout.trim();
76
- const match = remote.match(/github\.com[:/](.+)\/(.+?)(?:\.git)?$/);
77
- if (!match) {
78
- return null;
79
- }
80
- return {
81
- owner: match[1],
82
- repo: match[2],
83
- };
50
+ return { installed: true, authenticated: true };
51
+ }
52
+ /**
53
+ * Auto-detect repository from git remote
54
+ */
55
+ static async detectRepo(cwd) {
56
+ const result = await execFileNoThrow("git", [
57
+ "remote",
58
+ "get-url",
59
+ "origin"
60
+ ], { cwd });
61
+ if (result.status !== 0) {
62
+ return null;
84
63
  }
85
- // ==========================================================================
86
- // Milestones
87
- // ==========================================================================
88
- /**
89
- * Create or get existing milestone
90
- */
91
- async createOrGetMilestone(title, description, daysFromNow = 2) {
92
- // Check if milestone already exists
93
- const existing = await this.getMilestoneByTitle(title);
94
- if (existing) {
95
- return existing;
96
- }
97
- // Calculate due date
98
- const dueDate = new Date();
99
- dueDate.setDate(dueDate.getDate() + daysFromNow);
100
- const dueDateISO = dueDate.toISOString();
101
- // Build API request
102
- const args = [
103
- 'api',
104
- `repos/${this.fullRepo}/milestones`,
105
- '-f',
106
- `title=${title}`,
107
- '-f',
108
- `due_on=${dueDateISO}`,
109
- '--jq',
110
- '{number: .number, title: .title, description: .description, state: .state, due_on: .due_on}',
111
- ];
112
- if (description) {
113
- args.splice(4, 0, '-f', `description=${description}`);
114
- }
115
- const result = await execFileNoThrow('gh', args);
116
- if (result.status !== 0) {
117
- throw new Error(`Failed to create milestone: ${result.stderr || result.stdout}`);
118
- }
119
- return JSON.parse(result.stdout);
64
+ const remote = result.stdout.trim();
65
+ const match = remote.match(/github\.com[:/](.+)\/(.+?)(?:\.git)?$/);
66
+ if (!match) {
67
+ return null;
120
68
  }
121
- /**
122
- * Get milestone by title
123
- */
124
- async getMilestoneByTitle(title) {
125
- const result = await execFileNoThrow('gh', [
126
- 'api',
127
- `repos/${this.fullRepo}/milestones`,
128
- '--jq',
129
- `.[] | select(.title=="${title}") | {number: .number, title: .title, description: .description, state: .state}`,
130
- ]);
131
- if (result.status !== 0 || !result.stdout.trim()) {
132
- return null;
133
- }
134
- return JSON.parse(result.stdout);
69
+ return {
70
+ owner: match[1],
71
+ repo: match[2]
72
+ };
73
+ }
74
+ // ==========================================================================
75
+ // Milestones
76
+ // ==========================================================================
77
+ /**
78
+ * Create or get existing milestone
79
+ */
80
+ async createOrGetMilestone(title, description, daysFromNow = 2) {
81
+ const existing = await this.getMilestoneByTitle(title);
82
+ if (existing) {
83
+ return existing;
135
84
  }
136
- // ==========================================================================
137
- // Issues
138
- // ==========================================================================
139
- /**
140
- * Create epic issue (increment-level)
141
- */
142
- async createEpicIssue(title, body, milestone, labels = []) {
143
- const args = [
144
- 'issue',
145
- 'create',
146
- '--repo',
147
- this.fullRepo,
148
- '--title',
149
- title,
150
- '--body',
151
- body,
152
- ];
153
- // Add labels
154
- for (const label of labels) {
155
- args.push('--label', label);
156
- }
157
- // Add milestone
158
- if (milestone !== undefined) {
159
- args.push('--milestone', String(milestone));
160
- }
161
- // Create issue (returns URL)
162
- const createResult = await execFileNoThrow('gh', args);
163
- if (createResult.status !== 0) {
164
- throw new Error(`Failed to create epic issue: ${createResult.stderr || createResult.stdout}`);
165
- }
166
- const issueUrl = createResult.stdout.trim();
167
- const issueNumber = parseInt(issueUrl.split('/').pop() || '0', 10);
168
- if (!issueNumber) {
169
- throw new Error(`Failed to extract issue number from URL: ${issueUrl}`);
170
- }
171
- // Fetch issue details
172
- return await this.getIssue(issueNumber);
85
+ const dueDate = /* @__PURE__ */ new Date();
86
+ dueDate.setDate(dueDate.getDate() + daysFromNow);
87
+ const dueDateISO = dueDate.toISOString();
88
+ const args = [
89
+ "api",
90
+ `repos/${this.fullRepo}/milestones`,
91
+ "-f",
92
+ `title=${title}`,
93
+ "-f",
94
+ `due_on=${dueDateISO}`,
95
+ "--jq",
96
+ "{number: .number, title: .title, description: .description, state: .state, due_on: .due_on}"
97
+ ];
98
+ if (description) {
99
+ args.splice(4, 0, "-f", `description=${description}`);
173
100
  }
174
- /**
175
- * Create task issue (linked to epic)
176
- */
177
- async createTaskIssue(title, body, epicNumber, milestone, labels = []) {
178
- // Add epic reference to body
179
- const enhancedBody = `**Part of**: #${epicNumber}\n\n${body}`;
180
- return await this.createEpicIssue(title, enhancedBody, milestone, labels);
101
+ const result = await execFileNoThrow("gh", args);
102
+ if (result.status !== 0) {
103
+ throw new Error(`Failed to create milestone: ${result.stderr || result.stdout}`);
181
104
  }
182
- /**
183
- * Get issue details
184
- */
185
- async getIssue(issueNumber) {
186
- const result = await execFileNoThrow('gh', [
187
- 'issue',
188
- 'view',
189
- String(issueNumber),
190
- '--repo',
191
- this.fullRepo,
192
- '--json',
193
- 'number,title,body,state,url,labels,milestone',
194
- ]);
195
- if (result.status !== 0) {
196
- throw new Error(`Failed to get issue #${issueNumber}: ${result.stderr || result.stdout}`);
197
- }
198
- const issue = JSON.parse(result.stdout);
199
- return {
200
- ...issue,
201
- html_url: issue.url,
202
- labels: issue.labels?.map((l) => l.name) || [],
203
- };
105
+ return JSON.parse(result.stdout);
106
+ }
107
+ /**
108
+ * Get milestone by title
109
+ */
110
+ async getMilestoneByTitle(title) {
111
+ const result = await execFileNoThrow("gh", [
112
+ "api",
113
+ `repos/${this.fullRepo}/milestones`,
114
+ "--jq",
115
+ `.[] | select(.title=="${title}") | {number: .number, title: .title, description: .description, state: .state}`
116
+ ]);
117
+ if (result.status !== 0 || !result.stdout.trim()) {
118
+ return null;
204
119
  }
205
- /**
206
- * Update issue body
207
- */
208
- async updateIssueBody(issueNumber, newBody) {
209
- const result = await execFileNoThrow('gh', [
210
- 'issue',
211
- 'edit',
212
- String(issueNumber),
213
- '--repo',
214
- this.fullRepo,
215
- '--body',
216
- newBody,
217
- ]);
218
- if (result.status !== 0) {
219
- throw new Error(`Failed to update issue #${issueNumber}: ${result.stderr || result.stdout}`);
220
- }
120
+ return JSON.parse(result.stdout);
121
+ }
122
+ // ==========================================================================
123
+ // Issues
124
+ // ==========================================================================
125
+ /**
126
+ * Create epic issue (increment-level)
127
+ */
128
+ async createEpicIssue(title, body, milestone, labels = []) {
129
+ const args = [
130
+ "issue",
131
+ "create",
132
+ "--repo",
133
+ this.fullRepo,
134
+ "--title",
135
+ title,
136
+ "--body",
137
+ body
138
+ ];
139
+ for (const label of labels) {
140
+ args.push("--label", label);
221
141
  }
222
- /**
223
- * Close issue
224
- */
225
- async closeIssue(issueNumber, comment) {
226
- if (comment) {
227
- await this.addComment(issueNumber, comment);
228
- }
229
- const result = await execFileNoThrow('gh', [
230
- 'issue',
231
- 'close',
232
- String(issueNumber),
233
- '--repo',
234
- this.fullRepo,
235
- ]);
236
- if (result.status !== 0) {
237
- throw new Error(`Failed to close issue #${issueNumber}: ${result.stderr || result.stdout}`);
238
- }
142
+ if (milestone !== void 0) {
143
+ args.push("--milestone", String(milestone));
239
144
  }
240
- /**
241
- * Add comment to issue
242
- */
243
- async addComment(issueNumber, comment) {
244
- const result = await execFileNoThrow('gh', [
245
- 'issue',
246
- 'comment',
247
- String(issueNumber),
248
- '--repo',
249
- this.fullRepo,
250
- '--body',
251
- comment,
252
- ]);
253
- if (result.status !== 0) {
254
- throw new Error(`Failed to add comment to issue #${issueNumber}: ${result.stderr || result.stdout}`);
255
- }
145
+ const createResult = await execFileNoThrow("gh", args);
146
+ if (createResult.status !== 0) {
147
+ throw new Error(
148
+ `Failed to create epic issue: ${createResult.stderr || createResult.stdout}`
149
+ );
256
150
  }
257
- /**
258
- * Add labels to issue
259
- */
260
- async addLabels(issueNumber, labels) {
261
- if (labels.length === 0)
262
- return;
263
- const args = [
264
- 'issue',
265
- 'edit',
266
- String(issueNumber),
267
- '--repo',
268
- this.fullRepo,
269
- ];
270
- for (const label of labels) {
271
- args.push('--add-label', label);
272
- }
273
- const result = await execFileNoThrow('gh', args);
274
- if (result.status !== 0) {
275
- throw new Error(`Failed to add labels to issue #${issueNumber}: ${result.stderr || result.stdout}`);
276
- }
151
+ const issueUrl = createResult.stdout.trim();
152
+ const issueNumber = parseInt(issueUrl.split("/").pop() || "0", 10);
153
+ if (!issueNumber) {
154
+ throw new Error(`Failed to extract issue number from URL: ${issueUrl}`);
277
155
  }
278
- // ==========================================================================
279
- // Time Range Filtering
280
- // ==========================================================================
281
- /**
282
- * List issues within a time range
283
- */
284
- async listIssuesInTimeRange(timeRange, customStart, customEnd) {
285
- const { since, until } = this.calculateTimeRange(timeRange, customStart, customEnd);
286
- // GitHub search query
287
- const query = `repo:${this.fullRepo} is:issue created:${since}..${until}`;
288
- const result = await execFileNoThrow('gh', [
289
- 'search',
290
- 'issues',
291
- query,
292
- '--json',
293
- 'number,title,body,state,url,labels,milestone',
294
- '--limit',
295
- '1000', // Max results
296
- ]);
297
- if (result.status !== 0) {
298
- throw new Error(`Failed to list issues: ${result.stderr || result.stdout}`);
299
- }
300
- const issues = JSON.parse(result.stdout);
301
- return issues.map((issue) => ({
302
- ...issue,
303
- html_url: issue.url,
304
- labels: issue.labels?.map((l) => l.name) || [],
305
- }));
156
+ return await this.getIssue(issueNumber);
157
+ }
158
+ /**
159
+ * Create task issue (linked to epic)
160
+ */
161
+ async createTaskIssue(title, body, epicNumber, milestone, labels = []) {
162
+ const enhancedBody = `**Part of**: #${epicNumber}
163
+
164
+ ${body}`;
165
+ return await this.createEpicIssue(title, enhancedBody, milestone, labels);
166
+ }
167
+ /**
168
+ * Get issue details
169
+ */
170
+ async getIssue(issueNumber) {
171
+ const result = await execFileNoThrow("gh", [
172
+ "issue",
173
+ "view",
174
+ String(issueNumber),
175
+ "--repo",
176
+ this.fullRepo,
177
+ "--json",
178
+ "number,title,body,state,url,labels,milestone"
179
+ ]);
180
+ if (result.status !== 0) {
181
+ throw new Error(
182
+ `Failed to get issue #${issueNumber}: ${result.stderr || result.stdout}`
183
+ );
306
184
  }
307
- /**
308
- * Calculate date range from time range preset
309
- */
310
- calculateTimeRange(timeRange, customStart, customEnd) {
311
- if (timeRange === 'ALL') {
312
- return {
313
- since: '1970-01-01',
314
- until: new Date().toISOString().split('T')[0],
315
- };
316
- }
317
- if (customStart) {
318
- return {
319
- since: customStart,
320
- until: customEnd || new Date().toISOString().split('T')[0],
321
- };
322
- }
323
- const now = new Date();
324
- const since = new Date(now);
325
- // Calculate date based on preset
326
- switch (timeRange) {
327
- case '1W':
328
- since.setDate(now.getDate() - 7);
329
- break;
330
- case '2W':
331
- since.setDate(now.getDate() - 14);
332
- break;
333
- case '1M':
334
- since.setMonth(now.getMonth() - 1);
335
- break;
336
- case '3M':
337
- since.setMonth(now.getMonth() - 3);
338
- break;
339
- case '6M':
340
- since.setMonth(now.getMonth() - 6);
341
- break;
342
- case '1Y':
343
- since.setFullYear(now.getFullYear() - 1);
344
- break;
345
- }
346
- return {
347
- since: since.toISOString().split('T')[0],
348
- until: now.toISOString().split('T')[0],
349
- };
185
+ const issue = JSON.parse(result.stdout);
186
+ return {
187
+ ...issue,
188
+ html_url: issue.url,
189
+ labels: issue.labels?.map((l) => l.name) || []
190
+ };
191
+ }
192
+ /**
193
+ * Update issue body
194
+ */
195
+ async updateIssueBody(issueNumber, newBody) {
196
+ const result = await execFileNoThrow("gh", [
197
+ "issue",
198
+ "edit",
199
+ String(issueNumber),
200
+ "--repo",
201
+ this.fullRepo,
202
+ "--body",
203
+ newBody
204
+ ]);
205
+ if (result.status !== 0) {
206
+ throw new Error(
207
+ `Failed to update issue #${issueNumber}: ${result.stderr || result.stdout}`
208
+ );
350
209
  }
351
- // ==========================================================================
352
- // Rate Limiting
353
- // ==========================================================================
354
- /**
355
- * Check rate limit status
356
- */
357
- async checkRateLimit() {
358
- const result = await execFileNoThrow('gh', [
359
- 'api',
360
- 'rate_limit',
361
- '--jq',
362
- '.rate | {remaining: .remaining, limit: .limit, reset: .reset}',
363
- ]);
364
- if (result.status !== 0) {
365
- throw new Error(`Failed to check rate limit: ${result.stderr || result.stdout}`);
366
- }
367
- const data = JSON.parse(result.stdout);
368
- return {
369
- ...data,
370
- reset: new Date(data.reset * 1000),
371
- };
210
+ }
211
+ /**
212
+ * Close issue
213
+ */
214
+ async closeIssue(issueNumber, comment) {
215
+ if (comment) {
216
+ await this.addComment(issueNumber, comment);
372
217
  }
373
- // ==========================================================================
374
- // Batch Operations
375
- // ==========================================================================
376
- /**
377
- * Batch create issues with rate limit handling
378
- */
379
- async batchCreateIssues(issues, milestone, epicNumber, options = {}) {
380
- const { batchSize = 10, delayMs = 6000 } = options;
381
- const createdIssues = [];
382
- for (let i = 0; i < issues.length; i += batchSize) {
383
- const batch = issues.slice(i, i + batchSize);
384
- console.log(`Creating issues ${i + 1}-${Math.min(i + batchSize, issues.length)} of ${issues.length}...`);
385
- for (const issue of batch) {
386
- try {
387
- const created = epicNumber
388
- ? await this.createTaskIssue(issue.title, issue.body, epicNumber, milestone, issue.labels)
389
- : await this.createEpicIssue(issue.title, issue.body, milestone, issue.labels);
390
- createdIssues.push(created);
391
- }
392
- catch (error) {
393
- console.error(`Failed to create issue "${issue.title}":`, error.message);
394
- }
395
- }
396
- // Delay between batches
397
- if (i + batchSize < issues.length) {
398
- console.log(`Waiting ${delayMs / 1000}s to avoid rate limits...`);
399
- await this.sleep(delayMs);
400
- }
401
- }
402
- return createdIssues;
218
+ const result = await execFileNoThrow("gh", [
219
+ "issue",
220
+ "close",
221
+ String(issueNumber),
222
+ "--repo",
223
+ this.fullRepo
224
+ ]);
225
+ if (result.status !== 0) {
226
+ throw new Error(
227
+ `Failed to close issue #${issueNumber}: ${result.stderr || result.stdout}`
228
+ );
229
+ }
230
+ }
231
+ /**
232
+ * Add comment to issue
233
+ */
234
+ async addComment(issueNumber, comment) {
235
+ const result = await execFileNoThrow("gh", [
236
+ "issue",
237
+ "comment",
238
+ String(issueNumber),
239
+ "--repo",
240
+ this.fullRepo,
241
+ "--body",
242
+ comment
243
+ ]);
244
+ if (result.status !== 0) {
245
+ throw new Error(
246
+ `Failed to add comment to issue #${issueNumber}: ${result.stderr || result.stdout}`
247
+ );
403
248
  }
404
- sleep(ms) {
405
- return new Promise((resolve) => setTimeout(resolve, ms));
249
+ }
250
+ /**
251
+ * Add labels to issue
252
+ */
253
+ async addLabels(issueNumber, labels) {
254
+ if (labels.length === 0) return;
255
+ const args = [
256
+ "issue",
257
+ "edit",
258
+ String(issueNumber),
259
+ "--repo",
260
+ this.fullRepo
261
+ ];
262
+ for (const label of labels) {
263
+ args.push("--add-label", label);
264
+ }
265
+ const result = await execFileNoThrow("gh", args);
266
+ if (result.status !== 0) {
267
+ throw new Error(
268
+ `Failed to add labels to issue #${issueNumber}: ${result.stderr || result.stdout}`
269
+ );
270
+ }
271
+ }
272
+ // ==========================================================================
273
+ // Time Range Filtering
274
+ // ==========================================================================
275
+ /**
276
+ * List issues within a time range
277
+ */
278
+ async listIssuesInTimeRange(timeRange, customStart, customEnd) {
279
+ const { since, until } = this.calculateTimeRange(timeRange, customStart, customEnd);
280
+ const query = `repo:${this.fullRepo} is:issue created:${since}..${until}`;
281
+ const result = await execFileNoThrow("gh", [
282
+ "search",
283
+ "issues",
284
+ query,
285
+ "--json",
286
+ "number,title,body,state,url,labels,milestone",
287
+ "--limit",
288
+ "1000"
289
+ // Max results
290
+ ]);
291
+ if (result.status !== 0) {
292
+ throw new Error(
293
+ `Failed to list issues: ${result.stderr || result.stdout}`
294
+ );
295
+ }
296
+ const issues = JSON.parse(result.stdout);
297
+ return issues.map((issue) => ({
298
+ ...issue,
299
+ html_url: issue.url,
300
+ labels: issue.labels?.map((l) => l.name) || []
301
+ }));
302
+ }
303
+ /**
304
+ * Calculate date range from time range preset
305
+ */
306
+ calculateTimeRange(timeRange, customStart, customEnd) {
307
+ if (timeRange === "ALL") {
308
+ return {
309
+ since: "1970-01-01",
310
+ until: (/* @__PURE__ */ new Date()).toISOString().split("T")[0]
311
+ };
312
+ }
313
+ if (customStart) {
314
+ return {
315
+ since: customStart,
316
+ until: customEnd || (/* @__PURE__ */ new Date()).toISOString().split("T")[0]
317
+ };
318
+ }
319
+ const now = /* @__PURE__ */ new Date();
320
+ const since = new Date(now);
321
+ switch (timeRange) {
322
+ case "1W":
323
+ since.setDate(now.getDate() - 7);
324
+ break;
325
+ case "2W":
326
+ since.setDate(now.getDate() - 14);
327
+ break;
328
+ case "1M":
329
+ since.setMonth(now.getMonth() - 1);
330
+ break;
331
+ case "3M":
332
+ since.setMonth(now.getMonth() - 3);
333
+ break;
334
+ case "6M":
335
+ since.setMonth(now.getMonth() - 6);
336
+ break;
337
+ case "1Y":
338
+ since.setFullYear(now.getFullYear() - 1);
339
+ break;
340
+ }
341
+ return {
342
+ since: since.toISOString().split("T")[0],
343
+ until: now.toISOString().split("T")[0]
344
+ };
345
+ }
346
+ // ==========================================================================
347
+ // Rate Limiting
348
+ // ==========================================================================
349
+ /**
350
+ * Check rate limit status
351
+ */
352
+ async checkRateLimit() {
353
+ const result = await execFileNoThrow("gh", [
354
+ "api",
355
+ "rate_limit",
356
+ "--jq",
357
+ ".rate | {remaining: .remaining, limit: .limit, reset: .reset}"
358
+ ]);
359
+ if (result.status !== 0) {
360
+ throw new Error(
361
+ `Failed to check rate limit: ${result.stderr || result.stdout}`
362
+ );
363
+ }
364
+ const data = JSON.parse(result.stdout);
365
+ return {
366
+ ...data,
367
+ reset: new Date(data.reset * 1e3)
368
+ };
369
+ }
370
+ // ==========================================================================
371
+ // Batch Operations
372
+ // ==========================================================================
373
+ /**
374
+ * Batch create issues with rate limit handling
375
+ */
376
+ async batchCreateIssues(issues, milestone, epicNumber, options = {}) {
377
+ const { batchSize = 10, delayMs = 6e3 } = options;
378
+ const createdIssues = [];
379
+ for (let i = 0; i < issues.length; i += batchSize) {
380
+ const batch = issues.slice(i, i + batchSize);
381
+ console.log(
382
+ `Creating issues ${i + 1}-${Math.min(i + batchSize, issues.length)} of ${issues.length}...`
383
+ );
384
+ for (const issue of batch) {
385
+ try {
386
+ const created = epicNumber ? await this.createTaskIssue(
387
+ issue.title,
388
+ issue.body,
389
+ epicNumber,
390
+ milestone,
391
+ issue.labels
392
+ ) : await this.createEpicIssue(
393
+ issue.title,
394
+ issue.body,
395
+ milestone,
396
+ issue.labels
397
+ );
398
+ createdIssues.push(created);
399
+ } catch (error) {
400
+ console.error(
401
+ `Failed to create issue "${issue.title}":`,
402
+ error.message
403
+ );
404
+ }
405
+ }
406
+ if (i + batchSize < issues.length) {
407
+ console.log(`Waiting ${delayMs / 1e3}s to avoid rate limits...`);
408
+ await this.sleep(delayMs);
409
+ }
406
410
  }
411
+ return createdIssues;
412
+ }
413
+ sleep(ms) {
414
+ return new Promise((resolve) => setTimeout(resolve, ms));
415
+ }
407
416
  }
408
- //# sourceMappingURL=github-client-v2.js.map
417
+ export {
418
+ GitHubClientV2
419
+ };