specweave 0.13.5 → 0.13.6

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