specweave 0.13.4 → 0.13.6

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