@kodus/cli 0.4.7 → 0.4.9

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 (316) hide show
  1. package/README.md +77 -0
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +2 -1
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/config.d.ts +1 -5
  6. package/dist/commands/config.d.ts.map +1 -1
  7. package/dist/commands/config.js +10 -71
  8. package/dist/commands/config.js.map +1 -1
  9. package/dist/commands/hook/install.d.ts +1 -1
  10. package/dist/commands/hook/install.d.ts.map +1 -1
  11. package/dist/commands/hook/uninstall.d.ts +1 -1
  12. package/dist/commands/hook/uninstall.d.ts.map +1 -1
  13. package/dist/commands/memory/disable.d.ts +1 -1
  14. package/dist/commands/memory/disable.d.ts.map +1 -1
  15. package/dist/commands/pr.d.ts +1 -2
  16. package/dist/commands/pr.d.ts.map +1 -1
  17. package/dist/commands/pr.js +1 -243
  18. package/dist/commands/pr.js.map +1 -1
  19. package/dist/commands/review.d.ts +1 -2
  20. package/dist/commands/review.d.ts.map +1 -1
  21. package/dist/commands/review.js +1 -314
  22. package/dist/commands/review.js.map +1 -1
  23. package/dist/commands/status.d.ts.map +1 -1
  24. package/dist/commands/status.js +2 -14
  25. package/dist/commands/status.js.map +1 -1
  26. package/dist/commands/update.d.ts +1 -0
  27. package/dist/commands/update.d.ts.map +1 -1
  28. package/dist/commands/update.js +24 -1
  29. package/dist/commands/update.js.map +1 -1
  30. package/dist/features/pr/command.d.ts +4 -0
  31. package/dist/features/pr/command.d.ts.map +1 -0
  32. package/dist/features/pr/command.js +222 -0
  33. package/dist/features/pr/command.js.map +1 -0
  34. package/dist/features/repo-config/actions.d.ts +33 -0
  35. package/dist/features/repo-config/actions.d.ts.map +1 -0
  36. package/dist/features/repo-config/actions.js +260 -0
  37. package/dist/features/repo-config/actions.js.map +1 -0
  38. package/dist/features/repo-config/command.d.ts +15 -0
  39. package/dist/features/repo-config/command.d.ts.map +1 -0
  40. package/dist/features/repo-config/command.js +135 -0
  41. package/dist/features/repo-config/command.js.map +1 -0
  42. package/dist/features/review/command.d.ts +4 -0
  43. package/dist/features/review/command.d.ts.map +1 -0
  44. package/dist/features/review/command.js +248 -0
  45. package/dist/features/review/command.js.map +1 -0
  46. package/dist/features/review/diff.d.ts +23 -0
  47. package/dist/features/review/diff.d.ts.map +1 -0
  48. package/dist/features/review/diff.js +47 -0
  49. package/dist/features/review/diff.js.map +1 -0
  50. package/dist/features/review/errors.d.ts +3 -0
  51. package/dist/features/review/errors.d.ts.map +1 -0
  52. package/dist/features/review/errors.js +26 -0
  53. package/dist/features/review/errors.js.map +1 -0
  54. package/dist/features/review/no-changes.d.ts +6 -0
  55. package/dist/features/review/no-changes.d.ts.map +1 -0
  56. package/dist/features/review/no-changes.js +31 -0
  57. package/dist/features/review/no-changes.js.map +1 -0
  58. package/dist/features/review/options.d.ts +7 -0
  59. package/dist/features/review/options.d.ts.map +1 -0
  60. package/dist/features/review/options.js +18 -0
  61. package/dist/features/review/options.js.map +1 -0
  62. package/dist/features/review/result.d.ts +11 -0
  63. package/dist/features/review/result.d.ts.map +1 -0
  64. package/dist/features/review/result.js +49 -0
  65. package/dist/features/review/result.js.map +1 -0
  66. package/dist/formatters/json.d.ts +1 -1
  67. package/dist/formatters/json.d.ts.map +1 -1
  68. package/dist/formatters/markdown.d.ts +1 -1
  69. package/dist/formatters/markdown.d.ts.map +1 -1
  70. package/dist/formatters/markdown.js.map +1 -1
  71. package/dist/formatters/prompt.d.ts +1 -1
  72. package/dist/formatters/prompt.d.ts.map +1 -1
  73. package/dist/formatters/repo-config.d.ts +7 -0
  74. package/dist/formatters/repo-config.d.ts.map +1 -0
  75. package/dist/formatters/repo-config.js +99 -0
  76. package/dist/formatters/repo-config.js.map +1 -0
  77. package/dist/formatters/terminal.d.ts +1 -1
  78. package/dist/formatters/terminal.d.ts.map +1 -1
  79. package/dist/formatters/terminal.js.map +1 -1
  80. package/dist/index.js +2 -0
  81. package/dist/index.js.map +1 -1
  82. package/dist/services/api/api-core.d.ts +15 -0
  83. package/dist/services/api/api-core.d.ts.map +1 -0
  84. package/dist/services/api/api-core.js +292 -0
  85. package/dist/services/api/api-core.js.map +1 -0
  86. package/dist/services/api/api.interface.d.ts +16 -1
  87. package/dist/services/api/api.interface.d.ts.map +1 -1
  88. package/dist/services/api/api.real.d.ts +12 -20
  89. package/dist/services/api/api.real.d.ts.map +1 -1
  90. package/dist/services/api/api.real.js +8 -545
  91. package/dist/services/api/api.real.js.map +1 -1
  92. package/dist/services/api/auth.api.d.ts +17 -0
  93. package/dist/services/api/auth.api.d.ts.map +1 -0
  94. package/dist/services/api/auth.api.js +73 -0
  95. package/dist/services/api/auth.api.js.map +1 -0
  96. package/dist/services/api/config.api.d.ts +24 -0
  97. package/dist/services/api/config.api.d.ts.map +1 -0
  98. package/dist/services/api/config.api.js +78 -0
  99. package/dist/services/api/config.api.js.map +1 -0
  100. package/dist/services/api/memory.api.d.ts +10 -0
  101. package/dist/services/api/memory.api.d.ts.map +1 -0
  102. package/dist/services/api/memory.api.js +19 -0
  103. package/dist/services/api/memory.api.js.map +1 -0
  104. package/dist/services/api/review.api.d.ts +26 -0
  105. package/dist/services/api/review.api.d.ts.map +1 -0
  106. package/dist/services/api/review.api.js +117 -0
  107. package/dist/services/api/review.api.js.map +1 -0
  108. package/dist/services/api/sessions.api.js +1 -1
  109. package/dist/services/api/sessions.api.js.map +1 -1
  110. package/dist/services/api/trial.api.d.ts +10 -0
  111. package/dist/services/api/trial.api.d.ts.map +1 -0
  112. package/dist/services/api/trial.api.js +11 -0
  113. package/dist/services/api/trial.api.js.map +1 -0
  114. package/dist/services/auth.service.d.ts +1 -1
  115. package/dist/services/auth.service.d.ts.map +1 -1
  116. package/dist/services/auth.service.js +1 -1
  117. package/dist/services/auth.service.js.map +1 -1
  118. package/dist/services/context.service.d.ts +1 -1
  119. package/dist/services/context.service.d.ts.map +1 -1
  120. package/dist/services/fix.service.d.ts +1 -1
  121. package/dist/services/fix.service.d.ts.map +1 -1
  122. package/dist/services/git.service.d.ts +2 -2
  123. package/dist/services/git.service.d.ts.map +1 -1
  124. package/dist/services/git.service.js +25 -172
  125. package/dist/services/git.service.js.map +1 -1
  126. package/dist/services/lifecycle-events.d.ts +49 -0
  127. package/dist/services/lifecycle-events.d.ts.map +1 -0
  128. package/dist/services/lifecycle-events.js +86 -0
  129. package/dist/services/lifecycle-events.js.map +1 -0
  130. package/dist/services/lifecycle-git-context.d.ts +15 -0
  131. package/dist/services/lifecycle-git-context.d.ts.map +1 -0
  132. package/dist/services/lifecycle-git-context.js +23 -0
  133. package/dist/services/lifecycle-git-context.js.map +1 -0
  134. package/dist/services/lifecycle-local-turn-state.d.ts +14 -0
  135. package/dist/services/lifecycle-local-turn-state.d.ts.map +1 -0
  136. package/dist/services/lifecycle-local-turn-state.js +18 -0
  137. package/dist/services/lifecycle-local-turn-state.js.map +1 -0
  138. package/dist/services/lifecycle-transcript.d.ts +25 -0
  139. package/dist/services/lifecycle-transcript.d.ts.map +1 -0
  140. package/dist/services/lifecycle-transcript.js +29 -0
  141. package/dist/services/lifecycle-transcript.js.map +1 -0
  142. package/dist/services/lifecycle-turn-data.d.ts +11 -0
  143. package/dist/services/lifecycle-turn-data.d.ts.map +1 -0
  144. package/dist/services/lifecycle-turn-data.js +23 -0
  145. package/dist/services/lifecycle-turn-data.js.map +1 -0
  146. package/dist/services/lifecycle.service.d.ts.map +1 -1
  147. package/dist/services/lifecycle.service.js +63 -132
  148. package/dist/services/lifecycle.service.js.map +1 -1
  149. package/dist/services/repo-config.service.d.ts.map +1 -1
  150. package/dist/services/repo-config.service.js +2 -8
  151. package/dist/services/repo-config.service.js.map +1 -1
  152. package/dist/services/repo-settings-wizard.service.d.ts +19 -0
  153. package/dist/services/repo-settings-wizard.service.d.ts.map +1 -0
  154. package/dist/services/repo-settings-wizard.service.js +260 -0
  155. package/dist/services/repo-settings-wizard.service.js.map +1 -0
  156. package/dist/services/repo-settings.service.d.ts +20 -0
  157. package/dist/services/repo-settings.service.d.ts.map +1 -0
  158. package/dist/services/repo-settings.service.js +86 -0
  159. package/dist/services/repo-settings.service.js.map +1 -0
  160. package/dist/services/review-auth-fallback.d.ts +7 -0
  161. package/dist/services/review-auth-fallback.d.ts.map +1 -0
  162. package/dist/services/review-auth-fallback.js +25 -0
  163. package/dist/services/review-auth-fallback.js.map +1 -0
  164. package/dist/services/review-config-builder.d.ts +19 -0
  165. package/dist/services/review-config-builder.d.ts.map +1 -0
  166. package/dist/services/review-config-builder.js +17 -0
  167. package/dist/services/review-config-builder.js.map +1 -0
  168. package/dist/services/review-file-filter.d.ts +3 -0
  169. package/dist/services/review-file-filter.d.ts.map +1 -0
  170. package/dist/services/review-file-filter.js +35 -0
  171. package/dist/services/review-file-filter.js.map +1 -0
  172. package/dist/services/review-normalizer.d.ts +6 -0
  173. package/dist/services/review-normalizer.d.ts.map +1 -0
  174. package/dist/services/review-normalizer.js +62 -0
  175. package/dist/services/review-normalizer.js.map +1 -0
  176. package/dist/services/review-verbose.d.ts +28 -0
  177. package/dist/services/review-verbose.d.ts.map +1 -0
  178. package/dist/services/review-verbose.js +52 -0
  179. package/dist/services/review-verbose.js.map +1 -0
  180. package/dist/services/review.service.d.ts +1 -5
  181. package/dist/services/review.service.d.ts.map +1 -1
  182. package/dist/services/review.service.js +55 -182
  183. package/dist/services/review.service.js.map +1 -1
  184. package/dist/types/auth.d.ts +18 -0
  185. package/dist/types/auth.d.ts.map +1 -0
  186. package/dist/types/auth.js +2 -0
  187. package/dist/types/auth.js.map +1 -0
  188. package/dist/types/cli.d.ts +33 -0
  189. package/dist/types/cli.d.ts.map +1 -0
  190. package/dist/types/cli.js +2 -0
  191. package/dist/types/cli.js.map +1 -0
  192. package/dist/types/config.d.ts +47 -0
  193. package/dist/types/config.d.ts.map +1 -0
  194. package/dist/types/config.js +2 -0
  195. package/dist/types/config.js.map +1 -0
  196. package/dist/types/errors.d.ts +8 -0
  197. package/dist/types/errors.d.ts.map +1 -0
  198. package/dist/types/errors.js +15 -0
  199. package/dist/types/errors.js.map +1 -0
  200. package/dist/types/index.d.ts +8 -191
  201. package/dist/types/index.d.ts.map +1 -1
  202. package/dist/types/index.js +1 -14
  203. package/dist/types/index.js.map +1 -1
  204. package/dist/types/repo-config.d.ts +24 -0
  205. package/dist/types/repo-config.d.ts.map +1 -0
  206. package/dist/types/repo-config.js +2 -0
  207. package/dist/types/repo-config.js.map +1 -0
  208. package/dist/types/review.d.ts +112 -0
  209. package/dist/types/review.d.ts.map +1 -0
  210. package/dist/types/review.js +2 -0
  211. package/dist/types/review.js.map +1 -0
  212. package/dist/types/trial.d.ts +10 -0
  213. package/dist/types/trial.d.ts.map +1 -0
  214. package/dist/types/trial.js +2 -0
  215. package/dist/types/trial.js.map +1 -0
  216. package/dist/ui/interactive-formatters.d.ts +6 -0
  217. package/dist/ui/interactive-formatters.d.ts.map +1 -0
  218. package/dist/ui/interactive-formatters.js +61 -0
  219. package/dist/ui/interactive-formatters.js.map +1 -0
  220. package/dist/ui/interactive-helpers.d.ts +12 -0
  221. package/dist/ui/interactive-helpers.d.ts.map +1 -0
  222. package/dist/ui/interactive-helpers.js +51 -0
  223. package/dist/ui/interactive-helpers.js.map +1 -0
  224. package/dist/ui/interactive-renderers.d.ts +6 -0
  225. package/dist/ui/interactive-renderers.d.ts.map +1 -0
  226. package/dist/ui/interactive-renderers.js +82 -0
  227. package/dist/ui/interactive-renderers.js.map +1 -0
  228. package/dist/ui/interactive.d.ts +1 -9
  229. package/dist/ui/interactive.d.ts.map +1 -1
  230. package/dist/ui/interactive.js +11 -187
  231. package/dist/ui/interactive.js.map +1 -1
  232. package/dist/utils/auth-mode.d.ts +7 -0
  233. package/dist/utils/auth-mode.d.ts.map +1 -0
  234. package/dist/utils/auth-mode.js +42 -0
  235. package/dist/utils/auth-mode.js.map +1 -0
  236. package/dist/utils/banner.d.ts.map +1 -1
  237. package/dist/utils/banner.js +2 -14
  238. package/dist/utils/banner.js.map +1 -1
  239. package/dist/utils/command-context.d.ts +1 -1
  240. package/dist/utils/command-context.d.ts.map +1 -1
  241. package/dist/utils/command-errors.d.ts.map +1 -1
  242. package/dist/utils/command-errors.js +25 -1
  243. package/dist/utils/command-errors.js.map +1 -1
  244. package/dist/utils/commander-errors.d.ts +8 -0
  245. package/dist/utils/commander-errors.d.ts.map +1 -0
  246. package/dist/utils/commander-errors.js +79 -0
  247. package/dist/utils/commander-errors.js.map +1 -0
  248. package/dist/utils/commander-setup.d.ts +3 -0
  249. package/dist/utils/commander-setup.d.ts.map +1 -0
  250. package/dist/utils/commander-setup.js +10 -0
  251. package/dist/utils/commander-setup.js.map +1 -0
  252. package/dist/utils/credentials.d.ts +1 -1
  253. package/dist/utils/credentials.d.ts.map +1 -1
  254. package/dist/utils/git-diff.d.ts +5 -0
  255. package/dist/utils/git-diff.d.ts.map +1 -0
  256. package/dist/utils/git-diff.js +14 -0
  257. package/dist/utils/git-diff.js.map +1 -0
  258. package/dist/utils/git-file-reader.d.ts +22 -0
  259. package/dist/utils/git-file-reader.d.ts.map +1 -0
  260. package/dist/utils/git-file-reader.js +45 -0
  261. package/dist/utils/git-file-reader.js.map +1 -0
  262. package/dist/utils/git-file-selection.d.ts +14 -0
  263. package/dist/utils/git-file-selection.d.ts.map +1 -0
  264. package/dist/utils/git-file-selection.js +20 -0
  265. package/dist/utils/git-file-selection.js.map +1 -0
  266. package/dist/utils/git-file-targets.d.ts +4 -0
  267. package/dist/utils/git-file-targets.d.ts.map +1 -0
  268. package/dist/utils/git-file-targets.js +11 -0
  269. package/dist/utils/git-file-targets.js.map +1 -0
  270. package/dist/utils/git-remote.d.ts +7 -0
  271. package/dist/utils/git-remote.d.ts.map +1 -0
  272. package/dist/utils/git-remote.js +60 -0
  273. package/dist/utils/git-remote.js.map +1 -0
  274. package/dist/utils/git-status.d.ts +7 -0
  275. package/dist/utils/git-status.d.ts.map +1 -0
  276. package/dist/utils/git-status.js +36 -0
  277. package/dist/utils/git-status.js.map +1 -0
  278. package/dist/utils/input-validation.d.ts +1 -1
  279. package/dist/utils/input-validation.d.ts.map +1 -1
  280. package/dist/utils/rate-limit.d.ts +1 -1
  281. package/dist/utils/repo-settings-dashboard.d.ts +6 -0
  282. package/dist/utils/repo-settings-dashboard.d.ts.map +1 -0
  283. package/dist/utils/repo-settings-dashboard.js +36 -0
  284. package/dist/utils/repo-settings-dashboard.js.map +1 -0
  285. package/dist/utils/repo-settings-patterns.d.ts +7 -0
  286. package/dist/utils/repo-settings-patterns.d.ts.map +1 -0
  287. package/dist/utils/repo-settings-patterns.js +66 -0
  288. package/dist/utils/repo-settings-patterns.js.map +1 -0
  289. package/dist/utils/repo-settings-schema.d.ts +6 -0
  290. package/dist/utils/repo-settings-schema.d.ts.map +1 -0
  291. package/dist/utils/repo-settings-schema.js +70 -0
  292. package/dist/utils/repo-settings-schema.js.map +1 -0
  293. package/dist/utils/review-output.d.ts +4 -0
  294. package/dist/utils/review-output.d.ts.map +1 -0
  295. package/dist/utils/review-output.js +18 -0
  296. package/dist/utils/review-output.js.map +1 -0
  297. package/dist/utils/skills-sync-manifest.d.ts +5 -0
  298. package/dist/utils/skills-sync-manifest.d.ts.map +1 -0
  299. package/dist/utils/skills-sync-manifest.js +39 -0
  300. package/dist/utils/skills-sync-manifest.js.map +1 -0
  301. package/dist/utils/skills-sync-paths.d.ts +5 -0
  302. package/dist/utils/skills-sync-paths.d.ts.map +1 -0
  303. package/dist/utils/skills-sync-paths.js +60 -0
  304. package/dist/utils/skills-sync-paths.js.map +1 -0
  305. package/dist/utils/skills-sync-targets.d.ts +3 -0
  306. package/dist/utils/skills-sync-targets.d.ts.map +1 -0
  307. package/dist/utils/skills-sync-targets.js +211 -0
  308. package/dist/utils/skills-sync-targets.js.map +1 -0
  309. package/dist/utils/skills-sync.d.ts.map +1 -1
  310. package/dist/utils/skills-sync.js +4 -241
  311. package/dist/utils/skills-sync.js.map +1 -1
  312. package/dist/utils/team-key-auth.d.ts +5 -0
  313. package/dist/utils/team-key-auth.d.ts.map +1 -0
  314. package/dist/utils/team-key-auth.js +14 -0
  315. package/dist/utils/team-key-auth.js.map +1 -0
  316. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"git.service.d.ts","sourceRoot":"","sources":["../../src/services/git.service.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACR,QAAQ,EACR,WAAW,EACX,OAAO,EACP,YAAY,EACf,MAAM,mBAAmB,CAAC;AAG3B,cAAM,UAAU;IACZ,OAAO,CAAC,GAAG,CAAY;IACvB,OAAO,CAAC,OAAO,CAAkB;;IAMjC,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;YAIpB,UAAU;IASlB,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IASnC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAK7B,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAUpC,YAAY,CAAC,MAAM,SAAW,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAUvD,cAAc,IAAI,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAsB/D,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAsDrC,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAehC,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAepD,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAerD,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IA6CjD,gBAAgB,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAsDvC,mBAAmB,CACrB,aAAa,CAAC,EAAE,MAAM,EAAE,EACxB,OAAO,CAAC,EAAE;QACN,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;KACnB,GACF,OAAO,CAAC,WAAW,EAAE,CAAC;IA2JzB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC;IAchD,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAInC,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAIhC,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAS3C,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAmCpC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,YAAY;IA+B9D,OAAO,CAAC,iBAAiB;CAoB5B;AAED,eAAO,MAAM,UAAU,YAAmB,CAAC"}
1
+ {"version":3,"file":"git.service.d.ts","sourceRoot":"","sources":["../../src/services/git.service.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAoBvE,cAAM,UAAU;IACZ,OAAO,CAAC,GAAG,CAAY;IACvB,OAAO,CAAC,OAAO,CAAkB;;IAMjC,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;YAIpB,UAAU;IASlB,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IASnC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAK7B,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAUpC,YAAY,CAAC,MAAM,SAAW,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAUvD,cAAc,IAAI,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAI/D,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAsDrC,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAehC,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAepD,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAerD,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IA6CjD,gBAAgB,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IA0CvC,mBAAmB,CACrB,aAAa,CAAC,EAAE,MAAM,EAAE,EACxB,OAAO,CAAC,EAAE;QACN,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;KACnB,GACF,OAAO,CAAC,WAAW,EAAE,CAAC;IA+EzB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC;IAIhD,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAInC,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAIhC,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAS3C,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAmCpC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,YAAY;CAGjE;AAED,eAAO,MAAM,UAAU,YAAmB,CAAC"}
@@ -3,6 +3,11 @@ import fs from 'fs/promises';
3
3
  import path from 'path';
4
4
  import chalk from 'chalk';
5
5
  import { cliDebug } from '../utils/logger.js';
6
+ import { extractOrgRepoFromRemote, inferPlatformFromRemote, } from '../utils/git-remote.js';
7
+ import { parseGitStatus, } from '../utils/git-status.js';
8
+ import { countDiffChanges } from '../utils/git-diff.js';
9
+ import { buildFileContentReadPlan, buildFileDiffReadPlan, } from '../utils/git-file-reader.js';
10
+ import { createFileSelectionFromModifiedFiles, createFileSelectionFromNameStatus, createFileSelectionFromPaths, } from '../utils/git-file-selection.js';
6
11
  class GitService {
7
12
  git;
8
13
  verbose = false;
@@ -51,22 +56,7 @@ class GitService {
51
56
  }
52
57
  }
53
58
  async extractOrgRepo() {
54
- const remoteUrl = await this.getRemoteUrl();
55
- if (!remoteUrl) {
56
- return null;
57
- }
58
- const patterns = [
59
- /github\.com[:/]([^/]+)\/([^/.]+)/,
60
- /gitlab\.com[:/]([^/]+)\/([^/.]+)/,
61
- /bitbucket\.org[:/]([^/]+)\/([^/.]+)/,
62
- ];
63
- for (const pattern of patterns) {
64
- const match = remoteUrl.match(pattern);
65
- if (match) {
66
- return { org: match[1], repo: match[2] };
67
- }
68
- }
69
- return null;
59
+ return extractOrgRepoFromRemote(await this.getRemoteUrl());
70
60
  }
71
61
  async getWorkingTreeDiff() {
72
62
  await this.ensureRepo();
@@ -154,17 +144,7 @@ class GitService {
154
144
  status = 'renamed';
155
145
  }
156
146
  const diff = await this.git.diff(['--', file]);
157
- const lines = diff.split('\n');
158
- let additions = 0;
159
- let deletions = 0;
160
- for (const line of lines) {
161
- if (line.startsWith('+') && !line.startsWith('+++')) {
162
- additions++;
163
- }
164
- if (line.startsWith('-') && !line.startsWith('---')) {
165
- deletions++;
166
- }
167
- }
147
+ const { additions, deletions } = countDiffChanges(diff);
168
148
  return { file, status, additions, deletions, diff };
169
149
  };
170
150
  for (const file of status.staged) {
@@ -182,71 +162,30 @@ class GitService {
182
162
  }
183
163
  async getFullFileContents(explicitFiles, options) {
184
164
  await this.ensureRepo();
185
- // 1. Identify files to process
186
- let filesToRead;
187
- // Map to track file statuses (A=added, M=modified, D=deleted, R=renamed)
188
- const fileStatusMap = new Map();
165
+ let selection;
189
166
  if (explicitFiles && explicitFiles.length > 0) {
190
- // Explicit files provided by the caller
191
- filesToRead = explicitFiles;
167
+ selection = createFileSelectionFromPaths(explicitFiles);
192
168
  }
193
169
  else if (options?.branch) {
194
- // Branch comparison: get files changed between branch and HEAD with status
195
170
  const nameStatus = await this.git.diff([
196
171
  '--name-status',
197
172
  `${options.branch}...HEAD`,
198
173
  ]);
199
- filesToRead = [];
200
- for (const line of nameStatus.split('\n')) {
201
- const trimmed = line.trim();
202
- if (!trimmed) {
203
- continue;
204
- }
205
- const parts = trimmed.split('\t');
206
- const statusChar = parts[0];
207
- // For renames (R) or copies (C), the new file is the last part.
208
- const fileName = statusChar.startsWith('R') || statusChar.startsWith('C')
209
- ? parts[parts.length - 1]
210
- : parts[1];
211
- if (fileName) {
212
- filesToRead.push(fileName);
213
- fileStatusMap.set(fileName, this.parseGitStatus(statusChar));
214
- }
215
- }
174
+ selection = createFileSelectionFromNameStatus(nameStatus);
216
175
  }
217
176
  else if (options?.commit) {
218
- // Commit diff: get files changed in that commit with status
219
177
  const nameStatus = await this.git.diff([
220
178
  '--name-status',
221
179
  `${options.commit}^`,
222
180
  options.commit,
223
181
  ]);
224
- filesToRead = [];
225
- for (const line of nameStatus.split('\n')) {
226
- const trimmed = line.trim();
227
- if (!trimmed) {
228
- continue;
229
- }
230
- const parts = trimmed.split('\t');
231
- const statusChar = parts[0];
232
- // For renames (R) or copies (C), the new file is the last part.
233
- const fileName = statusChar.startsWith('R') || statusChar.startsWith('C')
234
- ? parts[parts.length - 1]
235
- : parts[1];
236
- if (fileName) {
237
- filesToRead.push(fileName);
238
- fileStatusMap.set(fileName, this.parseGitStatus(statusChar));
239
- }
240
- }
182
+ selection = createFileSelectionFromNameStatus(nameStatus);
241
183
  }
242
184
  else {
243
- // Working tree: use getModifiedFiles()
244
185
  const allModifiedFiles = await this.getModifiedFiles();
245
- filesToRead = allModifiedFiles.map((f) => f.file);
246
- for (const f of allModifiedFiles) {
247
- fileStatusMap.set(f.file, f.status);
248
- }
186
+ selection = createFileSelectionFromModifiedFiles(allModifiedFiles);
249
187
  }
188
+ const { filesToRead, fileStatusMap } = selection;
250
189
  // 2. For each file, read content and diff
251
190
  const fileContents = [];
252
191
  for (const filePath of filesToRead) {
@@ -257,59 +196,24 @@ class GitService {
257
196
  if (status === 'deleted') {
258
197
  continue;
259
198
  }
260
- // Read diff for this specific file
199
+ const diffPlan = buildFileDiffReadPlan(filePath, options);
261
200
  let fileDiff;
262
- if (options?.branch) {
263
- // Diff between target branch and HEAD
264
- fileDiff = await this.git.diff([
265
- `${options.branch}...HEAD`,
266
- '--',
267
- filePath,
268
- ]);
269
- }
270
- else if (options?.commit) {
271
- // Diff for the selected commit
272
- fileDiff = await this.git.diff([
273
- `${options.commit}^`,
274
- options.commit,
275
- '--',
276
- filePath,
277
- ]);
278
- }
279
- else if (options?.staged) {
280
- // Staged-only diff
281
- fileDiff = await this.git.diff([
282
- '--cached',
283
- '--',
284
- filePath,
285
- ]);
201
+ if (diffPlan.mode === 'single-diff') {
202
+ fileDiff = await this.git.diff(diffPlan.args);
286
203
  }
287
204
  else {
288
- // Full working-tree diff (staged + unstaged)
289
- const stagedDiff = await this.git.diff([
290
- '--cached',
291
- '--',
292
- filePath,
293
- ]);
294
- const unstagedDiff = await this.git.diff(['--', filePath]);
205
+ const stagedDiff = await this.git.diff(diffPlan.stagedArgs);
206
+ const unstagedDiff = await this.git.diff(diffPlan.unstagedArgs);
295
207
  fileDiff = `${stagedDiff}\n${unstagedDiff}`.trim();
296
208
  }
297
- // Read file content
209
+ const contentPlan = buildFileContentReadPlan(filePath, options);
298
210
  let content;
299
- if (options?.commit) {
300
- // Read file content from the selected commit
301
- content = await this.git.show([
302
- `${options.commit}:${filePath}`,
303
- ]);
304
- }
305
- else if (options?.branch) {
306
- // Read file content from HEAD to match the branch comparison diff target.
307
- content = await this.git.show([`HEAD:${filePath}`]);
211
+ if (contentPlan.mode === 'git-show') {
212
+ content = await this.git.show(contentPlan.args);
308
213
  }
309
214
  else {
310
- // Read from working tree (fs.readFile)
311
- const fullPath = path.resolve(filePath);
312
- content = await fs.readFile(fullPath, 'utf-8');
215
+ const fullPath = path.resolve(contentPlan.path);
216
+ content = await fs.readFile(fullPath, contentPlan.encoding);
313
217
  }
314
218
  fileContents.push({
315
219
  path: filePath,
@@ -326,17 +230,7 @@ class GitService {
326
230
  return fileContents;
327
231
  }
328
232
  parseGitStatus(statusChar) {
329
- const char = statusChar.charAt(0).toUpperCase();
330
- switch (char) {
331
- case 'A':
332
- return 'added';
333
- case 'D':
334
- return 'deleted';
335
- case 'R':
336
- return 'renamed';
337
- default:
338
- return 'modified';
339
- }
233
+ return parseGitStatus(statusChar);
340
234
  }
341
235
  async getCurrentBranch() {
342
236
  return this.git.revparse(['--abbrev-ref', 'HEAD']);
@@ -387,48 +281,7 @@ class GitService {
387
281
  return info;
388
282
  }
389
283
  inferPlatform(remote) {
390
- if (!remote) {
391
- return undefined;
392
- }
393
- const host = this.extractRemoteHost(remote);
394
- if (!host) {
395
- return undefined;
396
- }
397
- if (host === 'github.com') {
398
- return 'GITHUB';
399
- }
400
- if (host === 'gitlab.com') {
401
- return 'GITLAB';
402
- }
403
- if (host === 'bitbucket.org') {
404
- return 'BITBUCKET';
405
- }
406
- if (host === 'dev.azure.com' ||
407
- host === 'ssh.dev.azure.com' ||
408
- host === 'visualstudio.com' ||
409
- host.endsWith('.visualstudio.com')) {
410
- return 'AZURE_REPOS';
411
- }
412
- return undefined;
413
- }
414
- extractRemoteHost(remote) {
415
- const value = remote.trim().toLowerCase();
416
- if (!value) {
417
- return undefined;
418
- }
419
- // Handles URLs like https://github.com/org/repo.git and ssh://git@github.com/org/repo.git
420
- try {
421
- const url = new URL(value);
422
- if (url.hostname) {
423
- return url.hostname.toLowerCase();
424
- }
425
- }
426
- catch {
427
- // Fallback below for SCP-like syntax.
428
- }
429
- // Handles SCP-like Git remotes like git@github.com:org/repo.git
430
- const scpLike = value.match(/^(?:[^@/]+@)?([^:/]+):.+$/);
431
- return scpLike?.[1];
284
+ return inferPlatformFromRemote(remote);
432
285
  }
433
286
  }
434
287
  export const gitService = new GitService();
@@ -1 +1 @@
1
- {"version":3,"file":"git.service.js","sourceRoot":"","sources":["../../src/services/git.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git.service.js","sourceRoot":"","sources":["../../src/services/git.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import type { AgentType, FileChange, LifecycleEvent, TokenUsage, ToolCall } from '../types/session.js';
2
+ import type { SessionApiEvent } from '../types/session-events.js';
3
+ export declare function buildSessionStartEvent(input: {
4
+ sessionId: string;
5
+ branch: string;
6
+ agentType: AgentType;
7
+ gitRemote: string;
8
+ baseCommit: string;
9
+ cliVersion: string;
10
+ timestamp: string;
11
+ }): SessionApiEvent;
12
+ export declare function buildTurnStartEvent(input: {
13
+ sessionId: string;
14
+ branch: string;
15
+ turnId: string;
16
+ prompt: string;
17
+ commitBefore: string;
18
+ timestamp: string;
19
+ }): SessionApiEvent;
20
+ export declare function buildTurnEndEvent(input: {
21
+ sessionId: string;
22
+ branch: string;
23
+ turnId: string;
24
+ response: string;
25
+ toolCalls: ToolCall[];
26
+ filesModified: FileChange[];
27
+ filesRead: string[];
28
+ commands: string[];
29
+ tokenUsage: TokenUsage;
30
+ commitAfter: string;
31
+ timestamp: string;
32
+ }): SessionApiEvent;
33
+ export declare function buildSessionEndEvent(input: {
34
+ sessionId: string;
35
+ branch: string;
36
+ timestamp: string;
37
+ }): SessionApiEvent;
38
+ export declare function buildSubagentStartEvent(input: {
39
+ event: LifecycleEvent;
40
+ branch: string;
41
+ timestamp: string;
42
+ }): SessionApiEvent;
43
+ export declare function buildSubagentEndEvent(input: {
44
+ sessionId: string;
45
+ branch: string;
46
+ toolUseId: string;
47
+ timestamp: string;
48
+ }): SessionApiEvent;
49
+ //# sourceMappingURL=lifecycle-events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle-events.d.ts","sourceRoot":"","sources":["../../src/services/lifecycle-events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,SAAS,EACT,UAAU,EACV,cAAc,EACd,UAAU,EACV,QAAQ,EACX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACrB,GAAG,eAAe,CAWlB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACrB,GAAG,eAAe,CAUlB;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,aAAa,EAAE,UAAU,EAAE,CAAC;IAC5B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACrB,GAAG,eAAe,CAelB;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACrB,GAAG,eAAe,CAOlB;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC3C,KAAK,EAAE,cAAc,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACrB,GAAG,eAAe,CA6BlB;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACrB,GAAG,eAAe,CAQlB"}
@@ -0,0 +1,86 @@
1
+ export function buildSessionStartEvent(input) {
2
+ return {
3
+ type: 'session_start',
4
+ sessionId: input.sessionId,
5
+ branch: input.branch,
6
+ timestamp: input.timestamp,
7
+ agentType: input.agentType,
8
+ gitRemote: input.gitRemote,
9
+ baseCommit: input.baseCommit,
10
+ cliVersion: input.cliVersion,
11
+ };
12
+ }
13
+ export function buildTurnStartEvent(input) {
14
+ return {
15
+ type: 'turn_start',
16
+ sessionId: input.sessionId,
17
+ branch: input.branch,
18
+ timestamp: input.timestamp,
19
+ turnId: input.turnId,
20
+ prompt: input.prompt,
21
+ commitBefore: input.commitBefore,
22
+ };
23
+ }
24
+ export function buildTurnEndEvent(input) {
25
+ return {
26
+ type: 'turn_end',
27
+ sessionId: input.sessionId,
28
+ branch: input.branch,
29
+ timestamp: input.timestamp,
30
+ turnId: input.turnId,
31
+ response: input.response,
32
+ toolCalls: input.toolCalls,
33
+ filesModified: input.filesModified,
34
+ filesRead: input.filesRead,
35
+ commands: input.commands,
36
+ tokenUsage: input.tokenUsage,
37
+ commitAfter: input.commitAfter,
38
+ };
39
+ }
40
+ export function buildSessionEndEvent(input) {
41
+ return {
42
+ type: 'session_end',
43
+ sessionId: input.sessionId,
44
+ branch: input.branch,
45
+ timestamp: input.timestamp,
46
+ };
47
+ }
48
+ export function buildSubagentStartEvent(input) {
49
+ const toolInput = input.event.toolInput && typeof input.event.toolInput === 'object'
50
+ ? input.event.toolInput
51
+ : {};
52
+ const subagentType = input.event.subagentType ??
53
+ pickString(toolInput, 'subagent_type', 'subagentType') ??
54
+ 'unknown';
55
+ const taskDescription = input.event.taskDescription ??
56
+ pickString(toolInput, 'task_description', 'taskDescription', 'description', 'prompt') ??
57
+ '';
58
+ return {
59
+ type: 'subagent_start',
60
+ sessionId: input.event.sessionId,
61
+ branch: input.branch,
62
+ timestamp: input.timestamp,
63
+ toolUseId: input.event.toolUseId ?? '',
64
+ subagentType,
65
+ taskDescription,
66
+ };
67
+ }
68
+ export function buildSubagentEndEvent(input) {
69
+ return {
70
+ type: 'subagent_end',
71
+ sessionId: input.sessionId,
72
+ branch: input.branch,
73
+ timestamp: input.timestamp,
74
+ toolUseId: input.toolUseId,
75
+ };
76
+ }
77
+ function pickString(obj, ...keys) {
78
+ for (const key of keys) {
79
+ const val = obj[key];
80
+ if (typeof val === 'string' && val.trim()) {
81
+ return val.trim();
82
+ }
83
+ }
84
+ return undefined;
85
+ }
86
+ //# sourceMappingURL=lifecycle-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle-events.js","sourceRoot":"","sources":["../../src/services/lifecycle-events.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ type GitContextService = {
2
+ getCurrentBranch(): Promise<string>;
3
+ getHeadSha(): Promise<string | null>;
4
+ getRemoteUrl(): Promise<string | null>;
5
+ };
6
+ export declare function getBranchSafe(gitService: Pick<GitContextService, 'getCurrentBranch'>): Promise<string>;
7
+ export declare function getHeadSafe(gitService: Pick<GitContextService, 'getHeadSha'>): Promise<string>;
8
+ export declare function getRemoteSafe(gitService: Pick<GitContextService, 'getRemoteUrl'>): Promise<string>;
9
+ export declare function getGitContext(gitService: GitContextService): Promise<{
10
+ branch: string;
11
+ head: string;
12
+ remote: string;
13
+ }>;
14
+ export {};
15
+ //# sourceMappingURL=lifecycle-git-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle-git-context.d.ts","sourceRoot":"","sources":["../../src/services/lifecycle-git-context.ts"],"names":[],"mappings":"AAAA,KAAK,iBAAiB,GAAG;IACrB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACpC,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACrC,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC1C,CAAC;AAEF,wBAAsB,aAAa,CAC/B,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,GACxD,OAAO,CAAC,MAAM,CAAC,CAMjB;AAED,wBAAsB,WAAW,CAC7B,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC,GAClD,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED,wBAAsB,aAAa,CAC/B,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,cAAc,CAAC,GACpD,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED,wBAAsB,aAAa,CAC/B,UAAU,EAAE,iBAAiB,GAC9B,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAQ3D"}
@@ -0,0 +1,23 @@
1
+ export async function getBranchSafe(gitService) {
2
+ try {
3
+ return (await gitService.getCurrentBranch()).trim();
4
+ }
5
+ catch {
6
+ return '';
7
+ }
8
+ }
9
+ export async function getHeadSafe(gitService) {
10
+ return (await gitService.getHeadSha()) ?? '';
11
+ }
12
+ export async function getRemoteSafe(gitService) {
13
+ return (await gitService.getRemoteUrl()) ?? '';
14
+ }
15
+ export async function getGitContext(gitService) {
16
+ const [branch, head, remote] = await Promise.all([
17
+ getBranchSafe(gitService),
18
+ getHeadSafe(gitService),
19
+ getRemoteSafe(gitService),
20
+ ]);
21
+ return { branch, head, remote };
22
+ }
23
+ //# sourceMappingURL=lifecycle-git-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle-git-context.js","sourceRoot":"","sources":["../../src/services/lifecycle-git-context.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,KAAK,UAAU,aAAa,CAC/B,UAAuD;IAEvD,IAAI,CAAC;QACD,OAAO,CAAC,MAAM,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,EAAE,CAAC;IACd,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC7B,UAAiD;IAEjD,OAAO,CAAC,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC;AACjD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAC/B,UAAmD;IAEnD,OAAO,CAAC,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,CAAC;AACnD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAC/B,UAA6B;IAE7B,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC7C,aAAa,CAAC,UAAU,CAAC;QACzB,WAAW,CAAC,UAAU,CAAC;QACvB,aAAa,CAAC,UAAU,CAAC;KAC5B,CAAC,CAAC;IAEH,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AACpC,CAAC"}
@@ -0,0 +1,14 @@
1
+ type TurnLocalState = {
2
+ turnId: string;
3
+ transcriptPath: string;
4
+ transcriptOffset: number;
5
+ };
6
+ export declare function createTurnLocalState({ turnId, transcriptPath, stat, }: {
7
+ turnId: string;
8
+ transcriptPath: string;
9
+ stat: (path: string) => Promise<{
10
+ size: number;
11
+ }>;
12
+ }): Promise<TurnLocalState>;
13
+ export {};
14
+ //# sourceMappingURL=lifecycle-local-turn-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle-local-turn-state.d.ts","sourceRoot":"","sources":["../../src/services/lifecycle-local-turn-state.ts"],"names":[],"mappings":"AAAA,KAAK,cAAc,GAAG;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,wBAAsB,oBAAoB,CAAC,EACvC,MAAM,EACN,cAAc,EACd,IAAI,GACP,EAAE;IACC,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrD,GAAG,OAAO,CAAC,cAAc,CAAC,CAiB1B"}
@@ -0,0 +1,18 @@
1
+ export async function createTurnLocalState({ turnId, transcriptPath, stat, }) {
2
+ let transcriptOffset = 0;
3
+ if (transcriptPath) {
4
+ try {
5
+ const result = await stat(transcriptPath);
6
+ transcriptOffset = result.size;
7
+ }
8
+ catch {
9
+ transcriptOffset = 0;
10
+ }
11
+ }
12
+ return {
13
+ turnId,
14
+ transcriptPath,
15
+ transcriptOffset,
16
+ };
17
+ }
18
+ //# sourceMappingURL=lifecycle-local-turn-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle-local-turn-state.js","sourceRoot":"","sources":["../../src/services/lifecycle-local-turn-state.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,EACvC,MAAM,EACN,cAAc,EACd,IAAI,GAKP;IACG,IAAI,gBAAgB,GAAG,CAAC,CAAC;IAEzB,IAAI,cAAc,EAAE,CAAC;QACjB,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,CAAC;YAC1C,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YACL,gBAAgB,GAAG,CAAC,CAAC;QACzB,CAAC;IACL,CAAC;IAED,OAAO;QACH,MAAM;QACN,cAAc;QACd,gBAAgB;KACnB,CAAC;AACN,CAAC"}
@@ -0,0 +1,25 @@
1
+ import type { FileChange, TokenUsage, ToolCall, TranscriptParseResult } from '../types/session.js';
2
+ type TurnTranscriptData = {
3
+ toolCalls: ToolCall[];
4
+ filesModified: FileChange[];
5
+ filesRead: string[];
6
+ commands: string[];
7
+ tokenUsage: TokenUsage;
8
+ response: string;
9
+ };
10
+ type TranscriptServiceLike = {
11
+ waitForFlush(transcriptPath: string, timeoutMs?: number): Promise<boolean>;
12
+ parse(transcriptPath: string, fromOffset?: number): Promise<TranscriptParseResult>;
13
+ };
14
+ type HookLoggerLike = {
15
+ warn(event: string, category: string, metadata: Record<string, unknown>): Promise<void>;
16
+ };
17
+ export declare function createEmptyTurnTranscriptData(): TurnTranscriptData;
18
+ export declare function collectTurnTranscriptData({ transcriptPath, transcriptOffset, transcriptService, hookLogger, }: {
19
+ transcriptPath: string;
20
+ transcriptOffset: number;
21
+ transcriptService: TranscriptServiceLike;
22
+ hookLogger: HookLoggerLike;
23
+ }): Promise<TurnTranscriptData>;
24
+ export {};
25
+ //# sourceMappingURL=lifecycle-transcript.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle-transcript.d.ts","sourceRoot":"","sources":["../../src/services/lifecycle-transcript.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,UAAU,EACV,UAAU,EACV,QAAQ,EACR,qBAAqB,EACxB,MAAM,qBAAqB,CAAC;AAM7B,KAAK,kBAAkB,GAAG;IACtB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,aAAa,EAAE,UAAU,EAAE,CAAC;IAC5B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,qBAAqB,GAAG;IACzB,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3E,KAAK,CACD,cAAc,EAAE,MAAM,EACtB,UAAU,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACrC,CAAC;AAEF,KAAK,cAAc,GAAG;IAClB,IAAI,CACA,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,OAAO,CAAC,IAAI,CAAC,CAAC;CACpB,CAAC;AAEF,wBAAgB,6BAA6B,IAAI,kBAAkB,CASlE;AAED,wBAAsB,yBAAyB,CAAC,EAC5C,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,GACb,EAAE;IACC,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,qBAAqB,CAAC;IACzC,UAAU,EAAE,cAAc,CAAC;CAC9B,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAoB9B"}
@@ -0,0 +1,29 @@
1
+ import { createEmptyTokenUsage, normalizeTurnParseResult, } from './lifecycle-turn-data.js';
2
+ export function createEmptyTurnTranscriptData() {
3
+ return {
4
+ toolCalls: [],
5
+ filesModified: [],
6
+ filesRead: [],
7
+ commands: [],
8
+ tokenUsage: createEmptyTokenUsage(),
9
+ response: '',
10
+ };
11
+ }
12
+ export async function collectTurnTranscriptData({ transcriptPath, transcriptOffset, transcriptService, hookLogger, }) {
13
+ const emptyData = createEmptyTurnTranscriptData();
14
+ const flushed = await transcriptService.waitForFlush(transcriptPath, 3000);
15
+ if (!flushed) {
16
+ return emptyData;
17
+ }
18
+ try {
19
+ const parseResult = await transcriptService.parse(transcriptPath, transcriptOffset);
20
+ return normalizeTurnParseResult(parseResult);
21
+ }
22
+ catch (error) {
23
+ await hookLogger.warn('transcript-parse-error', 'transcript', {
24
+ error: error instanceof Error ? error.message : String(error),
25
+ });
26
+ return emptyData;
27
+ }
28
+ }
29
+ //# sourceMappingURL=lifecycle-transcript.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle-transcript.js","sourceRoot":"","sources":["../../src/services/lifecycle-transcript.ts"],"names":[],"mappings":"AAMA,OAAO,EACH,qBAAqB,EACrB,wBAAwB,GAC3B,MAAM,0BAA0B,CAAC;AA2BlC,MAAM,UAAU,6BAA6B;IACzC,OAAO;QACH,SAAS,EAAE,EAAE;QACb,aAAa,EAAE,EAAE;QACjB,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,qBAAqB,EAAE;QACnC,QAAQ,EAAE,EAAE;KACf,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,EAC5C,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,GAMb;IACG,MAAM,SAAS,GAAG,6BAA6B,EAAE,CAAC;IAClD,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,YAAY,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAE3E,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,IAAI,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAC7C,cAAc,EACd,gBAAgB,CACnB,CAAC;QACF,OAAO,wBAAwB,CAAC,WAAW,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,UAAU,CAAC,IAAI,CAAC,wBAAwB,EAAE,YAAY,EAAE;YAC1D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAChE,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACrB,CAAC;AACL,CAAC"}