@mesadev/agentblame 0.2.10 → 3.0.0

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 (68) hide show
  1. package/dist/agentblame.js +3500 -0
  2. package/dist/blame.d.ts +4 -1
  3. package/dist/blame.js +280 -78
  4. package/dist/blame.js.map +1 -1
  5. package/dist/capture.d.ts +4 -7
  6. package/dist/capture.js +465 -467
  7. package/dist/capture.js.map +1 -1
  8. package/dist/index.d.ts +1 -1
  9. package/dist/index.js +334 -72
  10. package/dist/index.js.map +1 -1
  11. package/dist/lib/analytics.d.ts +179 -0
  12. package/dist/lib/analytics.js +833 -0
  13. package/dist/lib/analytics.js.map +1 -0
  14. package/dist/lib/attribution.d.ts +54 -0
  15. package/dist/lib/attribution.js +266 -0
  16. package/dist/lib/attribution.js.map +1 -0
  17. package/dist/lib/checkpoint.d.ts +97 -0
  18. package/dist/lib/checkpoint.js +441 -0
  19. package/dist/lib/checkpoint.js.map +1 -0
  20. package/dist/lib/config.d.ts +46 -0
  21. package/dist/lib/config.js +123 -0
  22. package/dist/lib/config.js.map +1 -0
  23. package/dist/lib/database.d.ts +115 -85
  24. package/dist/lib/database.js +306 -323
  25. package/dist/lib/database.js.map +1 -1
  26. package/dist/lib/delta.d.ts +78 -0
  27. package/dist/lib/delta.js +309 -0
  28. package/dist/lib/delta.js.map +1 -0
  29. package/dist/lib/git/gitBlame.js +9 -4
  30. package/dist/lib/git/gitBlame.js.map +1 -1
  31. package/dist/lib/git/gitConfig.d.ts +5 -3
  32. package/dist/lib/git/gitConfig.js +41 -6
  33. package/dist/lib/git/gitConfig.js.map +1 -1
  34. package/dist/lib/git/gitDiff.d.ts +13 -1
  35. package/dist/lib/git/gitDiff.js +39 -7
  36. package/dist/lib/git/gitDiff.js.map +1 -1
  37. package/dist/lib/git/gitNotes.d.ts +30 -4
  38. package/dist/lib/git/gitNotes.js +140 -24
  39. package/dist/lib/git/gitNotes.js.map +1 -1
  40. package/dist/lib/hooks.d.ts +1 -0
  41. package/dist/lib/hooks.js +148 -27
  42. package/dist/lib/hooks.js.map +1 -1
  43. package/dist/lib/index.d.ts +7 -0
  44. package/dist/lib/index.js +13 -0
  45. package/dist/lib/index.js.map +1 -1
  46. package/dist/lib/storage.d.ts +163 -0
  47. package/dist/lib/storage.js +823 -0
  48. package/dist/lib/storage.js.map +1 -0
  49. package/dist/lib/trace.d.ts +118 -0
  50. package/dist/lib/trace.js +499 -0
  51. package/dist/lib/trace.js.map +1 -0
  52. package/dist/lib/types.d.ts +322 -114
  53. package/dist/lib/types.js +2 -1
  54. package/dist/lib/types.js.map +1 -1
  55. package/dist/lib/util.d.ts +8 -8
  56. package/dist/lib/util.js +18 -22
  57. package/dist/lib/util.js.map +1 -1
  58. package/dist/lib/watcher.d.ts +104 -0
  59. package/dist/lib/watcher.js +398 -0
  60. package/dist/lib/watcher.js.map +1 -0
  61. package/dist/post-merge.js +460 -421
  62. package/dist/post-merge.js.map +1 -1
  63. package/dist/process.d.ts +6 -5
  64. package/dist/process.js +182 -158
  65. package/dist/process.js.map +1 -1
  66. package/dist/sync.js +172 -131
  67. package/dist/sync.js.map +1 -1
  68. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/lib/database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/lib/database.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4FH,0CAQC;AAKD,8BAKC;AAKD,kCAmBC;AAKD,sCAKC;AAKD,oCAGC;AAKD,sCAMC;AASD,8CAIC;AAgBD,sCAeC;AAKD,gCAMC;AAKD,4DASC;AAKD,8CAKC;AAgBD,oCAaC;AAKD,8CAEC;AAKD,oDAKC;AAKD,8DAOC;AAMD,4EAYC;AAOD,4DA2DC;AAKD,oCAQC;AAgBD,wCAaC;AAKD,wDAKC;AAKD,wDAKC;AAMD,0DAcC;AAMD,gDAoBC;AASD,8CAYC;AAKD,4BAMC;AA1gBD,2CAAsC;AACtC,4CAA8B;AAC9B,gDAAkC;AAClC,6CAAyC;AAiCzC,gFAAgF;AAChF,kBAAkB;AAClB,gFAAgF;AAEhF,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCd,CAAC;AAEF,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAEhF,IAAI,UAAU,GAAoB,IAAI,CAAC;AACvC,IAAI,aAAa,GAAkB,IAAI,CAAC;AAExC;;GAEG;AACH,SAAgB,eAAe,CAAC,MAAc;IAC5C,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;QAC7B,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,KAAK,EAAE,CAAC;YACnB,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;QACD,aAAa,GAAG,MAAM,CAAC;IACzB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,SAAS;IACvB,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW;IACzB,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,UAAU,GAAG,IAAI,qBAAQ,CAAC,MAAM,CAAC,CAAC;IAClC,UAAU,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC5C,UAAU,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAC7C,UAAU,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAC9C,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAExB,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa;IAC3B,IAAI,UAAU,EAAE,CAAC;QACf,UAAU,CAAC,KAAK,EAAE,CAAC;QACnB,UAAU,GAAG,IAAI,CAAC;IACpB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY;IAC1B,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IACzB,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa;IAC3B,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IACzB,EAAE,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAC3C,EAAE,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IACxC,EAAE,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IACzC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAClB,CAAC;AAED,gFAAgF;AAChF,wBAAwB;AACxB,gFAAgF;AAEhF;;GAEG;AACH,SAAgB,iBAAiB,CAAC,KAAc,EAAE,cAAsB;IACtE,MAAM,IAAI,GAAG,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC;IAClC,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,IAAI,cAAc,EAAE,CAAC,CAAC;IAC1C,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC7C,CAAC;AAaD;;GAEG;AACH,SAAgB,aAAa,CAAC,MAA2B;IACvD,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;GAKvB,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,CACN,MAAM,CAAC,EAAE,EACT,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,KAAK,IAAI,IAAI,EACpB,MAAM,CAAC,cAAc,IAAI,IAAI,EAC7B,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CACzB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,UAAU,CAAC,SAAiB;IAC1C,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC;IAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAQ,CAAC;IACvC,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,SAAgB,wBAAwB,CAAC,SAAiB,EAAE,SAAiB;IAC3E,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;GAKvB,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,SAAS,CAAC,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAAC,KAAK,GAAG,CAAC;IACzC,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,yDAAyD,CAAC,CAAC;IACnF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAU,CAAC;IACtC,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAChC,CAAC;AAaD;;GAEG;AACH,SAAgB,YAAY,CAAC,MAA0B;IACrD,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;GAGvB,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CACrB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAC7C,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAAC,OAAe;IAC/C,OAAO,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAAC,SAAiB;IACpD,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,mEAAmE,CAAC,CAAC;IAC7F,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAU,CAAC;IAC1C,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,SAAgB,yBAAyB,CAAC,SAAiB;IACzD,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;GAEvB,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAQ,CAAC;IACvC,OAAO,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACvC,CAAC;AAED;;;GAGG;AACH,SAAgB,gCAAgC,CAAC,SAAiB;IAChE,MAAM,OAAO,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAChD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEtC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,sBAAsB,CAAC;IACtD,CAAC;IAED,2DAA2D;IAC3D,OAAO,OAAO;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,IAAI,cAAc,EAAE,CAAC;SAC1D,IAAI,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,SAAgB,wBAAwB,CAAC,SAAiB;IAOxD,MAAM,OAAO,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAChD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEtC,MAAM,SAAS,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAEpD,MAAM,MAAM,GAMP,EAAE,CAAC;IAER,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;QACxD,MAAM,cAAc,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC;YAC3C,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE;YAC9C,CAAC,CAAC,QAAQ,CAAC;QAEb,mDAAmD;QACnD,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;YAC7C,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;YAChD,OAAO,MAAM,IAAI,UAAU,IAAI,MAAM,GAAG,cAAc,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,cAAc;QACd,MAAM,KAAK,GAA2B,EAAE,CAAC;QACzC,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACzD,CAAC;QAED,2DAA2D;QAC3D,IAAI,QAA4B,CAAC;QACjC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC;QAC9D,CAAC;aAAM,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrC,6CAA6C;YAC7C,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;YAC7F,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;YACxD,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,SAAiB,EAAE,WAAmB;IACjE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,yEAAyE,CAAC,CAAC;IACnG,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAChD,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACjC,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,MAAM,CAAC,CAAC;IAC3F,CAAC;IACD,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,CAAC;AACjD,CAAC;AAaD;;GAEG;AACH,SAAgB,cAAc,CAAC,MAA4B;IACzD,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;GAGvB,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CACrB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,QAAQ,IAAI,IAAI,EACvB,MAAM,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAC7C,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,SAAgB,sBAAsB,CAAC,SAAiB;IACtD,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,sEAAsE,CAAC,CAAC;IAChG,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAU,CAAC;IAC1C,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,SAAgB,sBAAsB,CAAC,SAAiB;IACtD,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,mFAAmF,CAAC,CAAC;IAC7G,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAU,CAAC;IAC1C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AACtC,CAAC;AAED;;;GAGG;AACH,SAAgB,uBAAuB,CAAC,SAAiB;IACvD,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;GAKvB,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAU,CAAC;IAC1C,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC;IACpC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAgB,kBAAkB,CAAC,SAAiB;IAClD,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IAEzB,yBAAyB;IACzB,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC,GAAG,CAAC,SAAS,CAAQ,CAAC;IACjG,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,0BAA0B;IAC1B,MAAM,YAAY,GAAG,EAAE,CAAC,OAAO,CAAC;;;;GAI/B,CAAC,CAAC,GAAG,CAAC,SAAS,CAAQ,CAAC;IAEzB,IAAI,CAAC,YAAY,EAAE,OAAO;QAAE,OAAO,IAAI,CAAC;IAExC,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;IACzD,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;IAEzD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;AAClD,CAAC;AAED,gFAAgF;AAChF,qBAAqB;AACrB,gFAAgF;AAEhF;;GAEG;AACH,SAAgB,iBAAiB,CAAC,UAAU,GAAG,EAAE;IAC/C,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IACzB,MAAM,WAAW,GAAI,EAAE,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC,GAAG,EAAU,CAAC,KAAK,CAAC;IAE9F,EAAE,CAAC,OAAO,CAAC;;;;GAIV,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAEnB,MAAM,UAAU,GAAI,EAAE,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC,GAAG,EAAU,CAAC,KAAK,CAAC;IAC7F,OAAO,EAAE,OAAO,EAAE,WAAW,GAAG,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AACjE,CAAC;AAED;;GAEG;AACH,SAAgB,QAAQ;IACtB,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IACzB,MAAM,QAAQ,GAAI,EAAE,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC,GAAG,EAAU,CAAC,KAAK,CAAC;IAC3F,MAAM,OAAO,GAAI,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,GAAG,EAAU,CAAC,KAAK,CAAC;IACzF,MAAM,SAAS,GAAI,EAAE,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC,GAAG,EAAU,CAAC,KAAK,CAAC;IAC9F,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAC1C,CAAC;AAED,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF,SAAS,YAAY,CAAC,GAAQ;IAC5B,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,KAAK,EAAE,GAAG,CAAC,KAAgB;QAC3B,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,cAAc,EAAE,GAAG,CAAC,eAAe;QACnC,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,cAAc,EAAE,GAAG,CAAC,gBAAgB;QACpC,aAAa,EAAE,GAAG,CAAC,eAAe;KACnC,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,GAAQ;IAC3B,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,WAAW,EAAE,GAAG,CAAC,YAAY;QAC7B,SAAS,EAAE,GAAG,CAAC,SAAS;KACzB,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,GAAQ;IAC7B,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,QAAQ,EAAE,GAAG,CAAC,SAAS;QACvB,QAAQ,EAAE,GAAG,CAAC,SAAS;QACvB,SAAS,EAAE,GAAG,CAAC,SAAS;KACzB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Delta Module v3
3
+ *
4
+ * Handles diff computation and delta storage for attribution tracking.
5
+ * Uses unified diff format for computing what changed between edits.
6
+ *
7
+ * Storage: .git/agentblame/working/{base_sha}/deltas.jsonl
8
+ */
9
+ import type { DeltaHunk, EditDelta } from "./types";
10
+ /**
11
+ * Get the deltas.jsonl path for a base SHA
12
+ */
13
+ export declare function getDeltasPath(repoRoot: string, baseSha: string): string;
14
+ /**
15
+ * Compute unified diff hunks between two strings
16
+ * Returns array of DeltaHunk describing what changed
17
+ */
18
+ export declare function computeDiff(before: string, after: string): DeltaHunk[];
19
+ /**
20
+ * Compute diff and return detailed line information
21
+ * Useful for debugging and testing
22
+ */
23
+ export declare function computeDiffDetailed(before: string, after: string): {
24
+ hunks: DeltaHunk[];
25
+ additions: number;
26
+ deletions: number;
27
+ };
28
+ /**
29
+ * Append a delta to the working log
30
+ * Deltas are stored in JSONL format for append-only writes
31
+ */
32
+ export declare function appendDelta(repoRoot: string, baseSha: string, delta: EditDelta): void;
33
+ /**
34
+ * Read all deltas for a base SHA
35
+ * Optionally filter by file path
36
+ */
37
+ export declare function readDeltas(repoRoot: string, baseSha: string, file?: string): EditDelta[];
38
+ /**
39
+ * Read deltas for a specific file (more efficient than filtering all)
40
+ */
41
+ export declare function readDeltasForFile(repoRoot: string, baseSha: string, filePath: string): EditDelta[];
42
+ /**
43
+ * Get all unique files that have deltas
44
+ */
45
+ export declare function getFilesWithDeltas(repoRoot: string, baseSha: string): string[];
46
+ /**
47
+ * Get the most recent AI delta for a file (if any)
48
+ * Used to detect if another AI tool recently edited a file
49
+ */
50
+ export declare function getLastAIDeltaForFile(repoRoot: string, baseSha: string, filePath: string): EditDelta | null;
51
+ /**
52
+ * Get the most recent delta for a file (AI or human)
53
+ * Used to get the latest known state of a file
54
+ */
55
+ export declare function getLastDeltaForFile(repoRoot: string, baseSha: string, filePath: string): EditDelta | null;
56
+ /**
57
+ * Clear deltas for a base SHA (after commit)
58
+ */
59
+ export declare function clearDeltas(repoRoot: string, baseSha: string): void;
60
+ /**
61
+ * Get delta statistics for a base SHA
62
+ */
63
+ export declare function getDeltaStats(repoRoot: string, baseSha: string): {
64
+ totalDeltas: number;
65
+ aiDeltas: number;
66
+ humanDeltas: number;
67
+ files: number;
68
+ totalAdditions: number;
69
+ totalDeletions: number;
70
+ };
71
+ /**
72
+ * Create an AI edit delta
73
+ */
74
+ export declare function createAIDelta(file: string, sessionId: string, promptId: number | null, hunks: DeltaHunk[], afterBlob?: string): EditDelta;
75
+ /**
76
+ * Create a human edit delta
77
+ */
78
+ export declare function createHumanDelta(file: string, hunks: DeltaHunk[], afterBlob?: string): EditDelta;
@@ -0,0 +1,309 @@
1
+ "use strict";
2
+ /**
3
+ * Delta Module v3
4
+ *
5
+ * Handles diff computation and delta storage for attribution tracking.
6
+ * Uses unified diff format for computing what changed between edits.
7
+ *
8
+ * Storage: .git/agentblame/working/{base_sha}/deltas.jsonl
9
+ */
10
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ var desc = Object.getOwnPropertyDescriptor(m, k);
13
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
14
+ desc = { enumerable: true, get: function() { return m[k]; } };
15
+ }
16
+ Object.defineProperty(o, k2, desc);
17
+ }) : (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ o[k2] = m[k];
20
+ }));
21
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
22
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
23
+ }) : function(o, v) {
24
+ o["default"] = v;
25
+ });
26
+ var __importStar = (this && this.__importStar) || (function () {
27
+ var ownKeys = function(o) {
28
+ ownKeys = Object.getOwnPropertyNames || function (o) {
29
+ var ar = [];
30
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
31
+ return ar;
32
+ };
33
+ return ownKeys(o);
34
+ };
35
+ return function (mod) {
36
+ if (mod && mod.__esModule) return mod;
37
+ var result = {};
38
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
39
+ __setModuleDefault(result, mod);
40
+ return result;
41
+ };
42
+ })();
43
+ Object.defineProperty(exports, "__esModule", { value: true });
44
+ exports.getDeltasPath = getDeltasPath;
45
+ exports.computeDiff = computeDiff;
46
+ exports.computeDiffDetailed = computeDiffDetailed;
47
+ exports.appendDelta = appendDelta;
48
+ exports.readDeltas = readDeltas;
49
+ exports.readDeltasForFile = readDeltasForFile;
50
+ exports.getFilesWithDeltas = getFilesWithDeltas;
51
+ exports.getLastAIDeltaForFile = getLastAIDeltaForFile;
52
+ exports.getLastDeltaForFile = getLastDeltaForFile;
53
+ exports.clearDeltas = clearDeltas;
54
+ exports.getDeltaStats = getDeltaStats;
55
+ exports.createAIDelta = createAIDelta;
56
+ exports.createHumanDelta = createHumanDelta;
57
+ const fs = __importStar(require("node:fs"));
58
+ const path = __importStar(require("node:path"));
59
+ const diff_1 = require("diff");
60
+ const storage_1 = require("./storage");
61
+ // =============================================================================
62
+ // Path Helpers
63
+ // =============================================================================
64
+ /**
65
+ * Get the deltas.jsonl path for a base SHA
66
+ */
67
+ function getDeltasPath(repoRoot, baseSha) {
68
+ return path.join((0, storage_1.getAgentBlameGitDir)(repoRoot), "working", baseSha, "deltas.jsonl");
69
+ }
70
+ // =============================================================================
71
+ // Diff Computation
72
+ // =============================================================================
73
+ /**
74
+ * Compute unified diff hunks between two strings
75
+ * Returns array of DeltaHunk describing what changed
76
+ */
77
+ function computeDiff(before, after) {
78
+ // Handle edge cases
79
+ if (before === after) {
80
+ return [];
81
+ }
82
+ // Use structuredPatch from 'diff' library
83
+ const patch = (0, diff_1.structuredPatch)("file", "file", before, after, "", "", {
84
+ context: 0, // No context lines needed
85
+ });
86
+ return patch.hunks.map((hunk) => ({
87
+ oldStart: hunk.oldStart,
88
+ oldCount: hunk.oldLines,
89
+ newStart: hunk.newStart,
90
+ newCount: hunk.newLines,
91
+ }));
92
+ }
93
+ /**
94
+ * Compute diff and return detailed line information
95
+ * Useful for debugging and testing
96
+ */
97
+ function computeDiffDetailed(before, after) {
98
+ const hunks = computeDiff(before, after);
99
+ let additions = 0;
100
+ let deletions = 0;
101
+ for (const hunk of hunks) {
102
+ additions += hunk.newCount;
103
+ deletions += hunk.oldCount;
104
+ }
105
+ return { hunks, additions, deletions };
106
+ }
107
+ // =============================================================================
108
+ // Delta Storage (Append-Only)
109
+ // =============================================================================
110
+ /**
111
+ * Append a delta to the working log
112
+ * Deltas are stored in JSONL format for append-only writes
113
+ */
114
+ function appendDelta(repoRoot, baseSha, delta) {
115
+ (0, storage_1.ensureWorkingDir)(repoRoot, baseSha);
116
+ const deltasPath = getDeltasPath(repoRoot, baseSha);
117
+ const line = JSON.stringify(delta) + "\n";
118
+ fs.appendFileSync(deltasPath, line, "utf8");
119
+ if (process.env.AGENTBLAME_DEBUG) {
120
+ const author = delta.sessionId ? `AI:${delta.sessionId.slice(0, 8)}` : "human";
121
+ console.error(`[agentblame] Delta appended: ${delta.file} by ${author} (${delta.hunks.length} hunks)`);
122
+ }
123
+ }
124
+ /**
125
+ * Read all deltas for a base SHA
126
+ * Optionally filter by file path
127
+ */
128
+ function readDeltas(repoRoot, baseSha, file) {
129
+ const deltasPath = getDeltasPath(repoRoot, baseSha);
130
+ if (!fs.existsSync(deltasPath)) {
131
+ return [];
132
+ }
133
+ const content = fs.readFileSync(deltasPath, "utf8");
134
+ const lines = content.trim().split("\n").filter(Boolean);
135
+ const deltas = [];
136
+ for (const line of lines) {
137
+ try {
138
+ const delta = JSON.parse(line);
139
+ // Filter by file if specified
140
+ if (file && delta.file !== file) {
141
+ continue;
142
+ }
143
+ deltas.push(delta);
144
+ }
145
+ catch {
146
+ // Skip malformed lines
147
+ if (process.env.AGENTBLAME_DEBUG) {
148
+ console.error(`[agentblame] Skipping malformed delta line: ${line}`);
149
+ }
150
+ }
151
+ }
152
+ return deltas;
153
+ }
154
+ /**
155
+ * Read deltas for a specific file (more efficient than filtering all)
156
+ */
157
+ function readDeltasForFile(repoRoot, baseSha, filePath) {
158
+ const deltasPath = getDeltasPath(repoRoot, baseSha);
159
+ if (!fs.existsSync(deltasPath)) {
160
+ if (process.env.AGENTBLAME_DEBUG) {
161
+ console.error(`[agentblame] readDeltasForFile: no deltas file at ${deltasPath}`);
162
+ }
163
+ return [];
164
+ }
165
+ const content = fs.readFileSync(deltasPath, "utf8");
166
+ const results = [];
167
+ // Quick string check before JSON parse
168
+ const filePattern = `"file":"${filePath}"`;
169
+ if (process.env.AGENTBLAME_DEBUG) {
170
+ console.error(`[agentblame] readDeltasForFile: searching for "${filePath}"`);
171
+ console.error(`[agentblame] pattern: ${filePattern}`);
172
+ }
173
+ for (const line of content.split("\n")) {
174
+ if (!line)
175
+ continue;
176
+ // Fast rejection: skip lines that don't contain the file path
177
+ if (!line.includes(filePattern)) {
178
+ if (process.env.AGENTBLAME_DEBUG && line.includes(filePath.split("/").pop() || "")) {
179
+ // Log if we're missing due to path format difference
180
+ try {
181
+ const delta = JSON.parse(line);
182
+ console.error(`[agentblame] MISMATCH: delta has "${delta.file}", looking for "${filePath}"`);
183
+ }
184
+ catch { }
185
+ }
186
+ continue;
187
+ }
188
+ try {
189
+ const delta = JSON.parse(line);
190
+ if (delta.file === filePath) {
191
+ results.push(delta);
192
+ if (process.env.AGENTBLAME_DEBUG) {
193
+ console.error(`[agentblame] FOUND: ${delta.sessionId?.slice(0, 8)} ${delta.file}`);
194
+ }
195
+ }
196
+ }
197
+ catch {
198
+ // Skip malformed lines
199
+ }
200
+ }
201
+ if (process.env.AGENTBLAME_DEBUG) {
202
+ console.error(`[agentblame] total found: ${results.length}`);
203
+ }
204
+ return results;
205
+ }
206
+ /**
207
+ * Get all unique files that have deltas
208
+ */
209
+ function getFilesWithDeltas(repoRoot, baseSha) {
210
+ const deltas = readDeltas(repoRoot, baseSha);
211
+ const files = new Set();
212
+ for (const delta of deltas) {
213
+ files.add(delta.file);
214
+ }
215
+ return Array.from(files);
216
+ }
217
+ /**
218
+ * Get the most recent AI delta for a file (if any)
219
+ * Used to detect if another AI tool recently edited a file
220
+ */
221
+ function getLastAIDeltaForFile(repoRoot, baseSha, filePath) {
222
+ const deltas = readDeltasForFile(repoRoot, baseSha, filePath);
223
+ // Find the most recent AI delta (has sessionId)
224
+ for (let i = deltas.length - 1; i >= 0; i--) {
225
+ if (deltas[i].sessionId !== null) {
226
+ return deltas[i];
227
+ }
228
+ }
229
+ return null;
230
+ }
231
+ /**
232
+ * Get the most recent delta for a file (AI or human)
233
+ * Used to get the latest known state of a file
234
+ */
235
+ function getLastDeltaForFile(repoRoot, baseSha, filePath) {
236
+ const deltas = readDeltasForFile(repoRoot, baseSha, filePath);
237
+ return deltas.length > 0 ? deltas[deltas.length - 1] : null;
238
+ }
239
+ /**
240
+ * Clear deltas for a base SHA (after commit)
241
+ */
242
+ function clearDeltas(repoRoot, baseSha) {
243
+ const deltasPath = getDeltasPath(repoRoot, baseSha);
244
+ if (fs.existsSync(deltasPath)) {
245
+ fs.unlinkSync(deltasPath);
246
+ }
247
+ }
248
+ /**
249
+ * Get delta statistics for a base SHA
250
+ */
251
+ function getDeltaStats(repoRoot, baseSha) {
252
+ const deltas = readDeltas(repoRoot, baseSha);
253
+ const files = new Set();
254
+ let aiDeltas = 0;
255
+ let humanDeltas = 0;
256
+ let totalAdditions = 0;
257
+ let totalDeletions = 0;
258
+ for (const delta of deltas) {
259
+ files.add(delta.file);
260
+ if (delta.sessionId) {
261
+ aiDeltas++;
262
+ }
263
+ else {
264
+ humanDeltas++;
265
+ }
266
+ for (const hunk of delta.hunks) {
267
+ totalAdditions += hunk.newCount;
268
+ totalDeletions += hunk.oldCount;
269
+ }
270
+ }
271
+ return {
272
+ totalDeltas: deltas.length,
273
+ aiDeltas,
274
+ humanDeltas,
275
+ files: files.size,
276
+ totalAdditions,
277
+ totalDeletions,
278
+ };
279
+ }
280
+ // =============================================================================
281
+ // Delta Creation Helpers
282
+ // =============================================================================
283
+ /**
284
+ * Create an AI edit delta
285
+ */
286
+ function createAIDelta(file, sessionId, promptId, hunks, afterBlob) {
287
+ return {
288
+ ts: new Date().toISOString(),
289
+ file,
290
+ sessionId,
291
+ promptId,
292
+ hunks,
293
+ afterBlob,
294
+ };
295
+ }
296
+ /**
297
+ * Create a human edit delta
298
+ */
299
+ function createHumanDelta(file, hunks, afterBlob) {
300
+ return {
301
+ ts: new Date().toISOString(),
302
+ file,
303
+ sessionId: null,
304
+ promptId: null,
305
+ hunks,
306
+ afterBlob,
307
+ };
308
+ }
309
+ //# sourceMappingURL=delta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delta.js","sourceRoot":"","sources":["../../src/lib/delta.ts"],"names":[],"mappings":"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"}
@@ -69,16 +69,21 @@ function parseBlameOutput(filePath, output) {
69
69
  content = rawLines[i].slice(1);
70
70
  i++;
71
71
  }
72
- // Store commit info
73
- if (!commits.has(sha)) {
72
+ // Store commit info (only set on first occurrence of each SHA)
73
+ if (!commits.has(sha) && author) {
74
74
  commits.set(sha, { author, time: authorTime });
75
75
  }
76
+ // Use stored commit info if author wasn't in this block (git blame only includes
77
+ // author info the first time each SHA appears in porcelain output)
78
+ const commitInfo = commits.get(sha);
79
+ const finalAuthor = author || commitInfo?.author || "";
80
+ const finalTime = author ? authorTime : (commitInfo?.time || authorTime);
76
81
  lines.push({
77
82
  lineNumber,
78
83
  origLine,
79
84
  sha,
80
- author,
81
- authorTime,
85
+ author: finalAuthor,
86
+ authorTime: finalTime,
82
87
  content,
83
88
  });
84
89
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gitBlame.js","sourceRoot":"","sources":["../../../src/lib/git/gitBlame.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gitBlame.js","sourceRoot":"","sources":["../../../src/lib/git/gitBlame.ts"],"names":[],"mappings":"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"}
@@ -3,13 +3,15 @@
3
3
  *
4
4
  * Notes are pushed explicitly by the post-commit hook after processing,
5
5
  * rather than via push refspec (which fails if notes don't exist).
6
+ *
7
+ * Fetch refspec is configured so notes are automatically fetched on git fetch/pull.
6
8
  */
7
9
  /**
8
10
  * Configure notes sync for a repository.
9
- * This is now a no-op - notes are pushed by the post-commit hook instead.
10
- * Keeping the function for API compatibility.
11
+ * Sets up fetch refspec so notes are automatically fetched on git fetch/pull.
12
+ * Push is handled explicitly by the post-commit hook.
11
13
  */
12
- export declare function configureNotesSync(_repoRoot: string): Promise<boolean>;
14
+ export declare function configureNotesSync(repoRoot: string): Promise<boolean>;
13
15
  /**
14
16
  * Check if notes sync is already configured (legacy - always returns false)
15
17
  */
@@ -4,21 +4,56 @@
4
4
  *
5
5
  * Notes are pushed explicitly by the post-commit hook after processing,
6
6
  * rather than via push refspec (which fails if notes don't exist).
7
+ *
8
+ * Fetch refspec is configured so notes are automatically fetched on git fetch/pull.
7
9
  */
8
10
  Object.defineProperty(exports, "__esModule", { value: true });
9
11
  exports.configureNotesSync = configureNotesSync;
10
12
  exports.isNotesSyncConfigured = isNotesSyncConfigured;
11
13
  exports.removeNotesSync = removeNotesSync;
12
14
  const gitCli_1 = require("./gitCli");
15
+ const NOTES_FETCH_REFSPEC = "+refs/notes/agentblame:refs/notes/agentblame";
16
+ const ANALYTICS_FETCH_REFSPEC = "+refs/notes/agentblame-analytics:refs/notes/agentblame-analytics";
13
17
  /**
14
18
  * Configure notes sync for a repository.
15
- * This is now a no-op - notes are pushed by the post-commit hook instead.
16
- * Keeping the function for API compatibility.
19
+ * Sets up fetch refspec so notes are automatically fetched on git fetch/pull.
20
+ * Push is handled explicitly by the post-commit hook.
17
21
  */
18
- async function configureNotesSync(_repoRoot) {
19
- // Notes are pushed explicitly by the post-commit hook after processing.
20
- // We don't configure push refspec because it fails if notes don't exist yet.
21
- return true;
22
+ async function configureNotesSync(repoRoot) {
23
+ try {
24
+ // Check if fetch refspec already exists
25
+ const existingConfig = await (0, gitCli_1.runGit)(repoRoot, [
26
+ "config",
27
+ "--local",
28
+ "--get-all",
29
+ "remote.origin.fetch",
30
+ ]);
31
+ const existingRefspecs = existingConfig.stdout.trim().split("\n");
32
+ // Add notes fetch refspec if not already configured
33
+ if (!existingRefspecs.includes(NOTES_FETCH_REFSPEC)) {
34
+ await (0, gitCli_1.runGit)(repoRoot, [
35
+ "config",
36
+ "--local",
37
+ "--add",
38
+ "remote.origin.fetch",
39
+ NOTES_FETCH_REFSPEC,
40
+ ]);
41
+ }
42
+ // Add analytics fetch refspec if not already configured
43
+ if (!existingRefspecs.includes(ANALYTICS_FETCH_REFSPEC)) {
44
+ await (0, gitCli_1.runGit)(repoRoot, [
45
+ "config",
46
+ "--local",
47
+ "--add",
48
+ "remote.origin.fetch",
49
+ ANALYTICS_FETCH_REFSPEC,
50
+ ]);
51
+ }
52
+ return true;
53
+ }
54
+ catch {
55
+ return false;
56
+ }
22
57
  }
23
58
  /**
24
59
  * Check if notes sync is already configured (legacy - always returns false)
@@ -1 +1 @@
1
- {"version":3,"file":"gitConfig.js","sourceRoot":"","sources":["../../../src/lib/git/gitConfig.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AASH,gDAIC;AAKD,sDAIC;AAMD,0CAwBC;AAlDD,qCAAkC;AAElC;;;;GAIG;AACI,KAAK,UAAU,kBAAkB,CAAC,SAAiB;IACxD,wEAAwE;IACxE,6EAA6E;IAC7E,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,qBAAqB,CACzC,SAAiB;IAEjB,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,eAAe,CAAC,QAAgB;IACpD,IAAI,CAAC;QACH,yDAAyD;QACzD,MAAM,IAAA,eAAM,EAAC,QAAQ,EAAE;YACrB,QAAQ;YACR,SAAS;YACT,aAAa;YACb,oBAAoB;YACpB,uBAAuB;SACxB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,wBAAwB;QAE5C,yCAAyC;QACzC,MAAM,IAAA,eAAM,EAAC,QAAQ,EAAE;YACrB,QAAQ;YACR,SAAS;YACT,aAAa;YACb,qBAAqB;YACrB,uBAAuB;SACxB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,wBAAwB;QAE5C,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"gitConfig.js","sourceRoot":"","sources":["../../../src/lib/git/gitConfig.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;AAYH,gDAsCC;AAKD,sDAIC;AAMD,0CAwBC;AAvFD,qCAAkC;AAElC,MAAM,mBAAmB,GAAG,8CAA8C,CAAC;AAC3E,MAAM,uBAAuB,GAAG,kEAAkE,CAAC;AAEnG;;;;GAIG;AACI,KAAK,UAAU,kBAAkB,CAAC,QAAgB;IACvD,IAAI,CAAC;QACH,wCAAwC;QACxC,MAAM,cAAc,GAAG,MAAM,IAAA,eAAM,EAAC,QAAQ,EAAE;YAC5C,QAAQ;YACR,SAAS;YACT,WAAW;YACX,qBAAqB;SACtB,CAAC,CAAC;QAEH,MAAM,gBAAgB,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAElE,oDAAoD;QACpD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACpD,MAAM,IAAA,eAAM,EAAC,QAAQ,EAAE;gBACrB,QAAQ;gBACR,SAAS;gBACT,OAAO;gBACP,qBAAqB;gBACrB,mBAAmB;aACpB,CAAC,CAAC;QACL,CAAC;QAED,wDAAwD;QACxD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;YACxD,MAAM,IAAA,eAAM,EAAC,QAAQ,EAAE;gBACrB,QAAQ;gBACR,SAAS;gBACT,OAAO;gBACP,qBAAqB;gBACrB,uBAAuB;aACxB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,qBAAqB,CACzC,SAAiB;IAEjB,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,eAAe,CAAC,QAAgB;IACpD,IAAI,CAAC;QACH,yDAAyD;QACzD,MAAM,IAAA,eAAM,EAAC,QAAQ,EAAE;YACrB,QAAQ;YACR,SAAS;YACT,aAAa;YACb,oBAAoB;YACpB,uBAAuB;SACxB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,wBAAwB;QAE5C,yCAAyC;QACzC,MAAM,IAAA,eAAM,EAAC,QAAQ,EAAE;YACrB,QAAQ;YACR,SAAS;YACT,aAAa;YACb,qBAAqB;YACrB,uBAAuB;SACxB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,wBAAwB;QAE5C,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -5,10 +5,22 @@
5
5
  * Includes line-level hashing and move detection.
6
6
  */
7
7
  import type { DiffHunk, DeletedBlock, MoveMapping } from "../types";
8
+ export interface DiffFile {
9
+ path: string;
10
+ status: "added" | "modified" | "deleted";
11
+ }
12
+ export interface CommitDiff {
13
+ files: DiffFile[];
14
+ raw: string;
15
+ }
8
16
  /**
9
17
  * Get the diff for a specific commit (compared to its parent)
10
18
  */
11
- export declare function getCommitDiff(repoRoot: string, sha: string): Promise<string>;
19
+ export declare function getCommitDiff(repoRoot: string, sha: string): Promise<CommitDiff>;
20
+ /**
21
+ * Get raw diff string (legacy compatibility)
22
+ */
23
+ export declare function getCommitDiffRaw(repoRoot: string, sha: string): Promise<string>;
12
24
  /**
13
25
  * Get full diff including both additions and deletions (for move detection)
14
26
  */