@run402/sdk 4.39.0 → 4.40.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 (36) hide show
  1. package/dist/namespaces/gitvault.crypto.d.ts +10 -0
  2. package/dist/namespaces/gitvault.crypto.d.ts.map +1 -1
  3. package/dist/namespaces/gitvault.crypto.js +10 -0
  4. package/dist/namespaces/gitvault.crypto.js.map +1 -1
  5. package/dist/namespaces/gitvault.d.ts +141 -4
  6. package/dist/namespaces/gitvault.d.ts.map +1 -1
  7. package/dist/namespaces/gitvault.js +226 -3
  8. package/dist/namespaces/gitvault.js.map +1 -1
  9. package/dist/node/gitvault-keystore.d.ts +11 -1
  10. package/dist/node/gitvault-keystore.d.ts.map +1 -1
  11. package/dist/node/gitvault-keystore.js.map +1 -1
  12. package/dist/node/gitvault-mirror-backend.d.ts +88 -0
  13. package/dist/node/gitvault-mirror-backend.d.ts.map +1 -0
  14. package/dist/node/gitvault-mirror-backend.js +374 -0
  15. package/dist/node/gitvault-mirror-backend.js.map +1 -0
  16. package/dist/node/gitvault-mirror-config.d.ts +53 -0
  17. package/dist/node/gitvault-mirror-config.d.ts.map +1 -0
  18. package/dist/node/gitvault-mirror-config.js +112 -0
  19. package/dist/node/gitvault-mirror-config.js.map +1 -0
  20. package/dist/node/gitvault-mirror.d.ts +120 -0
  21. package/dist/node/gitvault-mirror.d.ts.map +1 -0
  22. package/dist/node/gitvault-mirror.js +464 -0
  23. package/dist/node/gitvault-mirror.js.map +1 -0
  24. package/dist/node/gitvault-publication.d.ts +131 -0
  25. package/dist/node/gitvault-publication.d.ts.map +1 -1
  26. package/dist/node/gitvault-publication.js +145 -1
  27. package/dist/node/gitvault-publication.js.map +1 -1
  28. package/dist/node/gitvault-recover.d.ts +136 -0
  29. package/dist/node/gitvault-recover.d.ts.map +1 -0
  30. package/dist/node/gitvault-recover.js +412 -0
  31. package/dist/node/gitvault-recover.js.map +1 -0
  32. package/dist/node/gitvault-snapshot.d.ts +8 -0
  33. package/dist/node/gitvault-snapshot.d.ts.map +1 -1
  34. package/dist/node/gitvault-snapshot.js +11 -0
  35. package/dist/node/gitvault-snapshot.js.map +1 -1
  36. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"gitvault-keystore.js","sourceRoot":"","sources":["../../src/node/gitvault-keystore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gitvault-keystore.js","sourceRoot":"","sources":["../../src/node/gitvault-keystore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzL,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EACL,cAAc,EACd,eAAe,EACf,kCAAkC,EAClC,gCAAgC,EAChC,cAAc,EACd,UAAU,EACV,uBAAuB,EACvB,oBAAoB,EACpB,aAAa,EACb,uBAAuB,EACvB,yBAAyB,EACzB,sBAAsB,EACtB,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,oBAAoB,EACpB,aAAa,GACd,MAAM,kCAAkC,CAAC;AA4H1C,SAAS,IAAI,CAAC,IAAY,EAAE,OAAe,EAAE,OAAe,EAAE,OAAiB;IAC7E,MAAM,IAAI,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,IAAI,CAAC,CAAC;AAC7C,MAAM,QAAQ,GAAG,KAAK,CAAC;AACvB,MAAM,SAAS,GAAG,KAAK,CAAC;AAExB,qEAAqE;AACrE,MAAM,UAAU,uBAAuB;IACrC,OAAO,IAAI,CAAC,YAAY,EAAE,EAAE,UAAU,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,SAAS,CAAC,IAAY;IAC7B,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY;IAC5B,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC;YAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAAC,CAAC;gBAAS,CAAC;YAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAAC,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,yEAAyE;IAC3E,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,IAAY;IAC5D,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,SAAS,CAAC,GAAG,CAAC,CAAC;IACf,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC;QACzD,IAAI,CAAC,2BAA2B,EAAE,wCAAwC,IAAI,EAAE,EAAE,gCAAgC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAChI,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACzH,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,MAAM,GAAG,UAAU,EAAE,SAAS,CAAC,CAAC;IAC5G,IAAI,CAAC;QACH,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACpB,SAAS,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC;YAAS,CAAC;QACT,SAAS,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC;IACD,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,CAAC;AAChB,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,IAAI,EAAE,CAAC;IACP,IAAI,CAAC;QACH,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,EAAE,CAAC,cAAc,EAAE,EAAE,CAAC;QACxB,IAAI,CAAC,2BAA2B,EAAE,uCAAuC,IAAI,EAAE,EAAE,gCAAgC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/H,CAAC;IACD,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,GAAG,UAAU,CAAC,CAAC;IAC3D,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC;YAAS,CAAC;QACT,SAAS,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,SAAkB;IACjD,MAAM,QAAQ,GAAgC,EAAE,CAAC;IACjD,IAAI,EAAE,CAAC;IACP,IAAI,CAAC;QACH,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,EAAE,CAAC,cAAc,EAAE;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;IACrE,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC;QAC7B,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QACjD,IAAI,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,2BAA2B,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnH,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,UAAU,IAAI,EAAE,CAAC,GAAG,KAAK,OAAO,CAAC,MAAM,EAAE;YAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC;IACjI,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,gFAAgF;AAEhF,MAAM,OAAO,gBAAgB;IAClB,OAAO,CAAS;IACR,GAAG,CAAa;IAChB,iBAAiB,CAAU;IAE5C,YAAY,UAAmC,EAAE;QAC/C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,uBAAuB,EAAE,CAAC;QAC5D,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,KAAK,CAAC;IAC9D,CAAC;IAED,2EAA2E;IAC3E,MAAM,CAAC,IAAI,CAAC,UAAmC,EAAE;QAC/C,MAAM,EAAE,GAAG,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACzC,KAAK,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,UAAU,CAAC;YAAE,SAAS,CAAC,GAAG,CAAC,CAAC;QAC3F,MAAM,QAAQ,GAAG,EAAE,CAAC,gBAAgB,EAAE,CAAC;QACvC,EAAE,CAAC,KAAK,CAAC,iBAAiB,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACtE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,iBAAiB,EAAE,CAAC;YAChD,IAAI,CAAC,+BAA+B,EAAE,2CAA2C,EAAE,2BAA2B,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChI,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,YAAY,KAAa,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAC1E,IAAI,QAAQ,KAAa,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9D,IAAI,WAAW,KAAa,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACpE,IAAI,UAAU,KAAa,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IAClE,IAAI,YAAY,KAAa,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IACtE,QAAQ,CAAC,MAAc;QACrB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,IAAI,CAAC,sBAAsB,EAAE,kBAAkB,MAAM,EAAE,EAAE,8BAA8B,CAAC,CAAC;QAC5H,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,MAAM,OAAO,CAAC,CAAC;IAC/C,CAAC;IACD,mBAAmB,CAAC,MAAc;QAChC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,IAAI,CAAC,sBAAsB,EAAE,kBAAkB,MAAM,EAAE,EAAE,iCAAiC,CAAC,CAAC;QAC/H,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,MAAM,wBAAwB,CAAC,CAAC;IACnE,CAAC;IAED,yBAAyB;IAEzB,gGAAgG;IAChG,gBAAgB;QACd,MAAM,QAAQ,GAAgC,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,GAAY,EAAE,EAAE;YAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAAE,OAAO;YAClD,QAAQ,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QACzC,CAAC,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAChC,KAAK,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACnD,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACjB,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpB,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;oBACrC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;oBAC3B,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;wBAAE,SAAS;oBACtC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,KAAK,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,QAAQ;YAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,SAAS,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAChF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,kBAAkB;IAElB,qEAAqE;IACrE,KAAK,CAAC,KAAyB,EAAE,MAAe,EAAE,OAAiC;QACjF,MAAM,KAAK,GAAuB,EAAE,EAAE,EAAE,uBAAuB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC9J,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxB,IAAI,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,2BAA2B,EAAE,kDAAkD,EAAE,8BAA8B,CAAC,CAAC;QACxH,CAAC;QACD,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,QAAQ,GAAG,UAAU,EAAE,SAAS,CAAC,CAAC;QAC5H,IAAI,CAAC;YACH,SAAS,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5C,SAAS,CAAC,EAAE,CAAC,CAAC;QAChB,CAAC;gBAAS,CAAC;YACT,SAAS,CAAC,EAAE,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,YAAY;QACV,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAuB,CAAC,CAAC;IACtG,CAAC;IAED,iBAAiB;IAEjB,YAAY;QACV,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAyB,CAAC;QACxD,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,IAAI,OAAO,MAAM,CAAC,cAAc,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,iBAAiB,KAAK,QAAQ,EAAE,CAAC;YACtH,IAAI,CAAC,2BAA2B,EAAE,oDAAoD,EAAE,2BAA2B,CAAC,CAAC;QACvH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,uEAAuE;IACvE,cAAc;QACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACrC,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC;QACzC,MAAM,UAAU,GAAG,yBAAyB,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAyB;YACrC,OAAO,EAAE,CAAC;YACV,gBAAgB,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;YAC1C,cAAc,EAAE,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC;YAC/C,mBAAmB,EAAE,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC;YACtD,0BAA0B,EAAE,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC;YAC9D,iBAAiB,EAAE,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC;YACrD,sBAAsB,EAAE,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC;YAC5D,UAAU,EAAE,uBAAuB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;SAChD,CAAC;QACF,IAAI,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,4BAA4B,EAAE,4DAA4D,EAAE,4BAA4B,CAAC,CAAC;QACjI,CAAC;QACD,mBAAmB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,SAAS,EAAE,EAAE,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB,EAAE,sBAAsB,EAAE,QAAQ,CAAC,sBAAsB,EAAE,CAAC,CAAC;QAC1J,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,0FAA0F;IAC1F,cAAc,CAAC,WAAiC,IAAI,CAAC,eAAe,EAAE;QACpE,IAAI,CAAC,QAAQ,CAAC,gBAAgB;YAAE,OAAO,IAAI,CAAC;QAC5C,MAAM,EAAE,GAAG,sBAAsB,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACzE,IAAI,aAAa,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,QAAQ,CAAC,mBAAmB,EAAE,CAAC;YAClE,IAAI,CAAC,2BAA2B,EAAE,gEAAgE,EAAE,8BAA8B,CAAC,CAAC;QACtI,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,6EAA6E;IAC7E,iBAAiB,CAAC,WAAiC,IAAI,CAAC,eAAe,EAAE;QACvE,IAAI,CAAC,QAAQ,CAAC,0BAA0B;YAAE,OAAO,IAAI,CAAC;QACtD,MAAM,EAAE,GAAG,yBAAyB,CAAC,UAAU,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACtF,IAAI,aAAa,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,QAAQ,CAAC,sBAAsB,EAAE,CAAC;YACrE,IAAI,CAAC,2BAA2B,EAAE,kEAAkE,EAAE,iCAAiC,CAAC,CAAC;QAC3I,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,eAAe;QACrB,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAC/B,IAAI,CAAC,EAAE;YAAE,IAAI,CAAC,qBAAqB,EAAE,kCAAkC,EAAE,2BAA2B,EAAE,EAAE,SAAS,EAAE,gCAAgC,EAAE,CAAC,CAAC;QACvJ,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,mBAAmB;IAEnB,QAAQ,CAAC,MAAc;QACrB,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAqB,CAAC;QACpD,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YAC/F,IAAI,CAAC,2BAA2B,EAAE,SAAS,MAAM,6CAA6C,EAAE,4BAA4B,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACrJ,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,WAAW;QACT,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,OAAO,EAAE,CAAC;QAC1C,OAAO,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAClJ,CAAC;IAED,oEAAoE;IACpE,QAAQ,CAAC,IAAsD;QAC7D,MAAM,IAAI,GAAqB,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,uBAAuB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACxG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;YACnC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QAC7G,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iFAAiF;IACjF,UAAU,CAAC,MAAc,EAAE,KAA0J;QACnL,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE;YACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACvC,IAAI,CAAC,QAAQ;gBAAE,IAAI,CAAC,6BAA6B,EAAE,oBAAoB,MAAM,EAAE,EAAE,6BAA6B,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACrI,MAAM,IAAI,GAAqB,EAAE,GAAG,QAAQ,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,uBAAuB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;YAC1G,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC1E,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED,0BAA0B;IAE1B,mBAAmB,CAAC,OAAgC;QAClD,6EAA6E;QAC7E,gDAAgD;QAChD,mBAAmB,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACjG,IAAI,CAAC,KAAK,CAAC,yBAAyB,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IACrG,CAAC;IAED,mBAAmB,CAAC,MAAc;QAChC,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAA6B,CAAC,CAAC,CAAC,IAAI,CAAC;IACrE,CAAC;IAED,sBAAsB;IAEtB;;;;OAIG;IACH,YAAY,CAAI,MAAc,EAAE,EAAW,EAAE,UAA+B,EAAE;QAC5E,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;QAChD,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,OAAO,EAAE,EAAE,CAAC;QACxC,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC5D,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,GAAG,IAAI,CAAC;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,SAAS,CAAC;YACR,IAAI,CAAC;gBACH,SAAS,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACvC,MAAM;YACR,CAAC;YAAC,OAAO,CAAU,EAAE,CAAC;gBACpB,IAAK,CAA2B,CAAC,IAAI,KAAK,QAAQ;oBAAE,MAAM,CAAC,CAAC;gBAC5D,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC;oBAAE,SAAS;gBACnE,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;oBAC3B,IAAI,CAAC,0BAA0B,EAAE,sCAAsC,MAAM,EAAE,EAAE,8BAA8B,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;gBACvJ,CAAC;gBACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;gBAC9B,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QACD,IAAI,CAAC;YACH,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,uBAAuB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAClI,CAAC;QAAC,MAAM,CAAC;YACP,8BAA8B;QAChC,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC;YACH,OAAO,EAAE,EAAE,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC1B,IAAI,CAAC;gBAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;YAC5D,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAEgB,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAElC,gBAAgB,CAAC,OAAe,EAAE,MAAc,EAAE,YAAoB;QAC5E,IAAI,QAA4B,CAAC;QACjC,IAAI,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC7B,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC;YAC9B,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;YAC5D,IAAI,KAAK;gBAAE,QAAQ,GAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAsB,CAAC,GAAG,CAAC;QACpE,CAAC;QAAC,MAAM,CAAC;YACP,2CAA2C;QAC7C,CAAC;QACD,MAAM,SAAS,GAAG,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC5F,IAAI,GAAG,GAAG,YAAY,IAAI,SAAS,EAAE,CAAC;YACpC,IAAI,CAAC;gBACH,cAAc,CAAC,OAAO,CAAC,CAAC;gBACxB,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,QAAQ,IAAI,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACrG,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,yBAAyB;IAEzB;;;OAGG;IACH,MAAM,CAAC,MAAc,EAAE,qBAA8B;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,KAA4B,CAAC;QACjC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YACvB,KAAK,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE,gCAAgC,EAAE,WAAW,EAAE,kCAAkC,EAAE,CAAC;QAChK,CAAC;aAAM,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;YAC7B,wEAAwE;YACxE,iEAAiE;YACjE,KAAK,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;QACnE,CAAC;aAAM,IAAI,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAC7B,KAAK,GAAG,QAAQ,CAAC,0BAA0B;gBACzC,CAAC,CAAC,EAAE,KAAK,EAAE,iCAAiC,EAAE,WAAW,EAAE,uBAAuB,EAAE;gBACpF,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE,gCAAgC,EAAE,WAAW,EAAE,kCAAkC,EAAE,CAAC;QAC5J,CAAC;aAAM,IAAI,QAAQ,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;YAC1D,KAAK,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;QACnE,CAAC;aAAM,IAAI,qBAAqB,KAAK,SAAS,IAAI,IAAI,IAAI,IAAI,CAAC,cAAc,KAAK,qBAAqB,EAAE,CAAC;YACxG,KAAK,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAC;QAC7E,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAK,EAAE,CAAC;QAC1C,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAClE,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,uBAAuB,CAAC,KAK7B;QACC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACrC,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,qBAAqB,EAAE,kCAAkC,EAAE,+BAA+B,EAAE,EAAE,SAAS,EAAE,gCAAgC,EAAE,CAAC,CAAC;QACjK,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,SAAS;YAAE,IAAI,CAAC,qBAAqB,EAAE,kCAAkC,EAAE,+BAA+B,EAAE,EAAE,SAAS,EAAE,gCAAgC,EAAE,CAAC,CAAC;QAClK,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;QACpC,IAAI,CAAC,oBAAoB,CAAC,OAA0C,EAAE,OAAO,CAAC,sBAAsB,CAAC,EAAE,CAAC;YACtG,IAAI,CAAC,4BAA4B,EAAE,yCAAyC,EAAE,+BAA+B,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/I,CAAC;QACD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC5D,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,yBAAyB,EAAE,0DAA0D,EAAE,+BAA+B,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjL,CAAC;QACD,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAA0C,CAAC,CAAC;QACjF,MAAM,OAAO,GAAG,KAAK,CAAC,gBAAgB,IAAI,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACpF,IAAI,KAAK,GAA0C,yBAAyB,CAAC;QAC7E,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACxD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,yBAAyB,EAAE,iEAAiE,EAAE,+BAA+B,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC9K,CAAC;YACD,KAAK,GAAG,SAAS,CAAC;QACpB,CAAC;QACD,IAAI,QAAQ,CAAC,qBAAqB,KAAK,QAAQ,CAAC,sBAAsB,EAAE,CAAC;YACvE,IAAI,CAAC,qCAAqC,EAAE,uDAAuD,EAAE,+BAA+B,EAAE,EAAE,qBAAqB,EAAE,QAAQ,CAAC,qBAAqB,EAAE,CAAC,CAAC;QACnM,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAE,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAAC;QAChH,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;YACzB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC;YAC7B,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,cAAc,EAAE,UAAU;YAC1B,QAAQ,EAAE,IAAI;YACd,oBAAoB,EAAE,IAAI;YAC1B,UAAU,EAAE,wBAAwB;SACrC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,6BAA6B,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACtE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,qEAAqE;IACrE,eAAe;QACb,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAC/B,IAAI,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QACrB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,sBAAsB,CAAC,EAAE,CAAC;YACpG,IAAI,CAAC,2BAA2B,EAAE,qCAAqC,EAAE,2BAA2B,CAAC,CAAC;QACxG,CAAC;QACD,OAAO;YACL,mBAAmB,EAAE,EAAE,CAAC,mBAAmB;YAC3C,sBAAsB,EAAE,EAAE,CAAC,sBAAsB;YACjD,mBAAmB,EAAE,OAAO,CAAC,EAAE,CAAC,gBAAgB,CAAC;YACjD,sBAAsB,EAAE,OAAO,CAAC,EAAE,CAAC,0BAA0B,CAAC;SAC/D,CAAC;IACJ,CAAC;CACF;AAED,SAAS,SAAS,CAAC,IAAY;IAC7B,IAAI,CAAC;QACH,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY;IAC5B,IAAI,CAAC;QACH,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,GAAW;IAC3B,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACpB,OAAQ,CAA2B,CAAC,IAAI,KAAK,OAAO,CAAC;IACvD,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,OAAe;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC1C,wFAAwF;IACxF,IAAI,UAAU,CAAC,KAAK,CAAC;QAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IACzC,SAAS,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC"}
@@ -0,0 +1,88 @@
1
+ import type { GitvaultMirrorCredential, GitvaultMirrorDestination } from "./gitvault-mirror-config.js";
2
+ export interface GitvaultMirrorObjectMeta {
3
+ size_bytes: string;
4
+ }
5
+ /**
6
+ * Storage-agnostic mirror backend. Every method addresses a KEY relative to
7
+ * the mirror's own root — the writer is responsible for using the exact same
8
+ * key the gateway's objects listing names (§3 layout), so the mirror is a
9
+ * byte-for-byte replica of `source/<repo_id>/` under the destination.
10
+ */
11
+ export interface GitvaultMirrorBackend {
12
+ /** A human-readable description of where this backend writes (for status/errors — never a credential). */
13
+ describe(): string;
14
+ /** `null` when the key is absent. */
15
+ head(key: string): Promise<GitvaultMirrorObjectMeta | null>;
16
+ /** Read the full bytes, or `null` when absent. */
17
+ get(key: string): Promise<Uint8Array | null>;
18
+ /**
19
+ * Write bytes, create-only where the destination supports it (D7: "where
20
+ * the destination honors if-none-match, recommended not required"). Returns
21
+ * `created: false` when the key already existed — the caller decides
22
+ * whether that is a benign dedup (matching size, matching hash) or a real
23
+ * conflict.
24
+ */
25
+ putCreateOnly(key: string, bytes: Uint8Array): Promise<{
26
+ created: boolean;
27
+ }>;
28
+ /** Every key under `prefix` (default: every key in the mirror), sorted. */
29
+ list(prefix?: string): Promise<string[]>;
30
+ }
31
+ /**
32
+ * A local (or network-mounted) directory, laid out identically to the bucket
33
+ * (`<root>/source/<repo_id>/head/<gen>`, etc. — but the backend is
34
+ * repo-scoped, so `root` IS already `<destination>/source/<repo_id>`). Writes
35
+ * are atomic (temp file + rename); create-only is REAL create-only via
36
+ * `wx` (`O_CREAT|O_EXCL`) — never a silent overwrite of a differently-keyed
37
+ * torn write.
38
+ */
39
+ export declare class DirectoryMirrorBackend implements GitvaultMirrorBackend {
40
+ private readonly root;
41
+ constructor(root: string);
42
+ describe(): string;
43
+ private resolve;
44
+ head(key: string): Promise<GitvaultMirrorObjectMeta | null>;
45
+ get(key: string): Promise<Uint8Array | null>;
46
+ putCreateOnly(key: string, bytes: Uint8Array): Promise<{
47
+ created: boolean;
48
+ }>;
49
+ list(prefix?: string): Promise<string[]>;
50
+ }
51
+ interface Sigv4Credentials {
52
+ access_key_id: string;
53
+ secret_access_key: string;
54
+ session_token?: string;
55
+ }
56
+ /** Resolve a NAMED PROFILE (`~/.aws/credentials` + `~/.aws/config`) or the AMBIENT environment chain — see the module doc's documented scope limit. */
57
+ export declare function resolveMirrorCredentials(credential: GitvaultMirrorCredential): Sigv4Credentials;
58
+ export declare class S3MirrorBackend implements GitvaultMirrorBackend {
59
+ private readonly bucket;
60
+ private readonly prefix;
61
+ private readonly region;
62
+ private readonly credential;
63
+ private readonly endpoint?;
64
+ constructor(bucket: string, prefix: string, region: string, credential: GitvaultMirrorCredential, endpoint?: string | undefined);
65
+ describe(): string;
66
+ private fullKey;
67
+ private creds;
68
+ head(key: string): Promise<GitvaultMirrorObjectMeta | null>;
69
+ get(key: string): Promise<Uint8Array | null>;
70
+ putCreateOnly(key: string, bytes: Uint8Array): Promise<{
71
+ created: boolean;
72
+ }>;
73
+ list(prefix?: string): Promise<string[]>;
74
+ }
75
+ /** Open the backend for one vault's mirror config — repo-scoped: the directory backend's root and the S3 prefix both already carry `source/<repo_id>`. */
76
+ export declare function openGitvaultMirrorBackend(destination: GitvaultMirrorDestination, repoId: string, credential?: GitvaultMirrorCredential): GitvaultMirrorBackend;
77
+ /**
78
+ * List every `repo_id` mirrored under a destination's root (`source/<repo_id>/…`),
79
+ * WITHOUT repo-scoping the backend first — the discovery step `recover
80
+ * <source>` needs before it can even open the repo-scoped backend {@link
81
+ * openGitvaultMirrorBackend} expects. Used only to resolve which vault a bare
82
+ * destination URL (no `--repo`) names.
83
+ */
84
+ export declare function discoverMirroredRepoIds(destination: GitvaultMirrorDestination, credential?: GitvaultMirrorCredential): Promise<string[]>;
85
+ /** Best-effort recursive delete of an empty (or now-empty) mirror root — used by `mirror remove --purge` semantics if ever added; NOT called by plain `mirror remove` (design: config removal never touches the customer's bytes). Exported for tests. */
86
+ export declare function _rmMirrorRoot(destination: GitvaultMirrorDestination, repoId: string): void;
87
+ export {};
88
+ //# sourceMappingURL=gitvault-mirror-backend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gitvault-mirror-backend.d.ts","sourceRoot":"","sources":["../../src/node/gitvault-mirror-backend.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,374 @@
1
+ /**
2
+ * gitvault-mirror-and-recover — mirror storage backends (design D1/D2/D7,
3
+ * task 2.2).
4
+ *
5
+ * S3-or-directory behind ONE interface, so the writer/reconcile engine
6
+ * (`gitvault-mirror.ts`) and the recovery engine (`gitvault-recover.ts`)
7
+ * never know which one they are talking to.
8
+ *
9
+ * `@run402/sdk` deliberately carries no AWS SDK dependency (see the package's
10
+ * own dependency list — every crypto primitive is a narrowly-scoped,
11
+ * individually-audited package, never a broad vendor SDK). The S3 backend
12
+ * here is therefore a MINIMAL, hand-rolled AWS Signature Version 4 client
13
+ * (Node's built-in `fetch` + `node:crypto`), covering exactly the four
14
+ * operations the mirror needs: HEAD (existence/size), PUT (create-only where
15
+ * the bucket honors `If-None-Match`), GET, and `ListObjectsV2`. This is a
16
+ * DELIBERATE, DOCUMENTED SCOPE LIMIT: it does not implement the full AWS SDK
17
+ * credential provider chain (no IMDS/EC2-role, no SSO, no assume-role) — only
18
+ * the two mechanisms design D2 names: a NAMED PROFILE read from the
19
+ * standard `~/.aws/credentials` + `~/.aws/config` files, and the AMBIENT
20
+ * environment chain (`AWS_ACCESS_KEY_ID`/`AWS_SECRET_ACCESS_KEY`/
21
+ * `AWS_SESSION_TOKEN`). Multipart upload is out of scope too — gitvault
22
+ * objects are already capped well under S3's 5 GiB single-PUT limit by the
23
+ * protocol's own object-size bounds (§4.6/§4.7).
24
+ */
25
+ import { createHash, createHmac } from "node:crypto";
26
+ import { existsSync, mkdirSync, readdirSync, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
27
+ import { homedir } from "node:os";
28
+ import { dirname, join } from "node:path";
29
+ import { LocalError } from "../errors.js";
30
+ function fail(code, message, context, details, nextActions) {
31
+ throw new LocalError(message, context, { code, details, ...(nextActions ? { next_actions: nextActions } : {}) });
32
+ }
33
+ // ─── Directory backend ────────────────────────────────────────────────────────
34
+ /**
35
+ * A local (or network-mounted) directory, laid out identically to the bucket
36
+ * (`<root>/source/<repo_id>/head/<gen>`, etc. — but the backend is
37
+ * repo-scoped, so `root` IS already `<destination>/source/<repo_id>`). Writes
38
+ * are atomic (temp file + rename); create-only is REAL create-only via
39
+ * `wx` (`O_CREAT|O_EXCL`) — never a silent overwrite of a differently-keyed
40
+ * torn write.
41
+ */
42
+ export class DirectoryMirrorBackend {
43
+ root;
44
+ constructor(root) {
45
+ this.root = root;
46
+ }
47
+ describe() {
48
+ return this.root;
49
+ }
50
+ resolve(key) {
51
+ if (key.includes("..") || key.startsWith("/"))
52
+ fail("GITVAULT_MIRROR_KEY_INVALID", `unsafe mirror key: ${key}`, "resolving gitvault mirror path", { key });
53
+ return join(this.root, ...key.split("/"));
54
+ }
55
+ async head(key) {
56
+ const path = this.resolve(key);
57
+ if (!existsSync(path))
58
+ return null;
59
+ const st = statSync(path);
60
+ if (!st.isFile())
61
+ return null;
62
+ return { size_bytes: String(st.size) };
63
+ }
64
+ async get(key) {
65
+ const path = this.resolve(key);
66
+ if (!existsSync(path))
67
+ return null;
68
+ try {
69
+ return new Uint8Array(readFileSync(path));
70
+ }
71
+ catch {
72
+ return null;
73
+ }
74
+ }
75
+ async putCreateOnly(key, bytes) {
76
+ const path = this.resolve(key);
77
+ if (existsSync(path))
78
+ return { created: false };
79
+ const dir = dirname(path);
80
+ mkdirSync(dir, { recursive: true });
81
+ const tmp = `${path}.${process.pid}.${Math.random().toString(36).slice(2)}.tmp`;
82
+ writeFileSync(tmp, bytes, { flag: "wx" });
83
+ try {
84
+ // Real create-only: `wx` on the FINAL path too, so a concurrent writer
85
+ // racing us loses the rename, not the data — the loser's temp file is
86
+ // cleaned up and it reports `created: false` (the winner's bytes are
87
+ // trusted; the caller compares hashes if it cares which one landed).
88
+ renameSync(tmp, path);
89
+ }
90
+ catch (e) {
91
+ try {
92
+ unlinkSync(tmp);
93
+ }
94
+ catch {
95
+ /* best-effort cleanup */
96
+ }
97
+ if (e.code === "EEXIST" || existsSync(path))
98
+ return { created: false };
99
+ throw e;
100
+ }
101
+ return { created: true };
102
+ }
103
+ async list(prefix = "") {
104
+ const out = [];
105
+ const walk = (dir, rel) => {
106
+ if (!existsSync(dir))
107
+ return;
108
+ for (const entry of readdirSync(dir, { withFileTypes: true })) {
109
+ if (entry.name.endsWith(".tmp"))
110
+ continue;
111
+ const childRel = rel ? `${rel}/${entry.name}` : entry.name;
112
+ const childAbs = join(dir, entry.name);
113
+ if (entry.isDirectory())
114
+ walk(childAbs, childRel);
115
+ else if (entry.isFile())
116
+ out.push(childRel);
117
+ }
118
+ };
119
+ walk(this.root, "");
120
+ return out.filter((k) => k.startsWith(prefix)).sort();
121
+ }
122
+ }
123
+ function hmacSha256(key, data) {
124
+ return createHmac("sha256", key).update(data, "utf8").digest();
125
+ }
126
+ function sha256Hex(data) {
127
+ return createHash("sha256").update(data).digest("hex");
128
+ }
129
+ function amzDate(now) {
130
+ const iso = now.toISOString().replace(/[:-]|\.\d{3}/g, "");
131
+ return { dateTime: `${iso}`, date: iso.slice(0, 8) };
132
+ }
133
+ function signingKey(secretKey, date, region, service) {
134
+ const kDate = hmacSha256(`AWS4${secretKey}`, date);
135
+ const kRegion = hmacSha256(kDate, region);
136
+ const kService = hmacSha256(kRegion, service);
137
+ return hmacSha256(kService, "aws4_request");
138
+ }
139
+ /** One SigV4-signed request against an S3-compatible endpoint. */
140
+ async function s3Request(input) {
141
+ const host = input.endpoint ? new URL(input.endpoint).host : `${input.bucket}.s3.${input.region}.amazonaws.com`;
142
+ const proto = input.endpoint ? new URL(input.endpoint).protocol.replace(":", "") : "https";
143
+ const canonicalUri = `/${input.key.split("/").map(encodeURIComponent).join("/")}`;
144
+ const query = { ...(input.query ?? {}) };
145
+ const sortedQueryKeys = Object.keys(query).sort();
146
+ const canonicalQuery = sortedQueryKeys.map((k) => `${encodeURIComponent(k)}=${encodeURIComponent(query[k])}`).join("&");
147
+ const now = new Date();
148
+ const { date, dateTime } = amzDate(now);
149
+ const bodyHash = sha256Hex(Buffer.from(input.body ?? new Uint8Array(0)));
150
+ const headers = {
151
+ host,
152
+ "x-amz-content-sha256": bodyHash,
153
+ "x-amz-date": dateTime,
154
+ ...(input.credentials.session_token ? { "x-amz-security-token": input.credentials.session_token } : {}),
155
+ ...(input.extraHeaders ?? {}),
156
+ };
157
+ const sortedHeaderKeys = Object.keys(headers).sort();
158
+ const canonicalHeaders = sortedHeaderKeys.map((k) => `${k}:${headers[k].trim()}\n`).join("");
159
+ const signedHeaders = sortedHeaderKeys.join(";");
160
+ const canonicalRequest = [input.method, canonicalUri, canonicalQuery, canonicalHeaders, signedHeaders, bodyHash].join("\n");
161
+ const scope = `${date}/${input.region}/s3/aws4_request`;
162
+ const stringToSign = ["AWS4-HMAC-SHA256", dateTime, scope, sha256Hex(canonicalRequest)].join("\n");
163
+ const key = signingKey(input.credentials.secret_access_key, date, input.region, "s3");
164
+ const signature = createHmac("sha256", key).update(stringToSign, "utf8").digest("hex");
165
+ const authorization = `AWS4-HMAC-SHA256 Credential=${input.credentials.access_key_id}/${scope}, SignedHeaders=${signedHeaders}, Signature=${signature}`;
166
+ const url = `${proto}://${host}${canonicalUri}${canonicalQuery ? `?${canonicalQuery}` : ""}`;
167
+ return fetch(url, {
168
+ method: input.method,
169
+ headers: { ...headers, authorization },
170
+ ...(input.body ? { body: input.body } : {}),
171
+ });
172
+ }
173
+ /** Resolve a NAMED PROFILE (`~/.aws/credentials` + `~/.aws/config`) or the AMBIENT environment chain — see the module doc's documented scope limit. */
174
+ export function resolveMirrorCredentials(credential) {
175
+ if (credential.kind === "ambient") {
176
+ const accessKeyId = process.env.AWS_ACCESS_KEY_ID;
177
+ const secretAccessKey = process.env.AWS_SECRET_ACCESS_KEY;
178
+ if (!accessKeyId || !secretAccessKey) {
179
+ fail("GITVAULT_MIRROR_CREDENTIALS_UNRESOLVED", "no ambient AWS credentials found (AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY unset)", "resolving gitvault mirror credentials", undefined, [{ action: "export AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY, or configure a named profile with `run402 gitvault mirror set ... --profile <name>`" }]);
180
+ }
181
+ return { access_key_id: accessKeyId, secret_access_key: secretAccessKey, ...(process.env.AWS_SESSION_TOKEN ? { session_token: process.env.AWS_SESSION_TOKEN } : {}) };
182
+ }
183
+ const credsPath = join(homedir(), ".aws", "credentials");
184
+ let text;
185
+ try {
186
+ text = readFileSync(credsPath, "utf8");
187
+ }
188
+ catch {
189
+ fail("GITVAULT_MIRROR_CREDENTIALS_UNRESOLVED", `no AWS credentials file at ${credsPath}`, "resolving gitvault mirror credentials", { profile: credential.profile }, [{ action: `run 'aws configure --profile ${credential.profile}', or configure the destination for --ambient credentials instead` }]);
190
+ }
191
+ const section = parseIniSection(text, credential.profile);
192
+ const accessKeyId = section.aws_access_key_id;
193
+ const secretAccessKey = section.aws_secret_access_key;
194
+ if (!accessKeyId || !secretAccessKey) {
195
+ fail("GITVAULT_MIRROR_CREDENTIALS_UNRESOLVED", `profile '${credential.profile}' is missing aws_access_key_id/aws_secret_access_key in ${credsPath}`, "resolving gitvault mirror credentials", { profile: credential.profile }, [{ action: `run 'aws configure --profile ${credential.profile}'` }]);
196
+ }
197
+ return { access_key_id: accessKeyId, secret_access_key: secretAccessKey, ...(section.aws_session_token ? { session_token: section.aws_session_token } : {}) };
198
+ }
199
+ /** A minimal INI-section parser — no dependency, no more than the shape `~/.aws/credentials` actually needs. */
200
+ function parseIniSection(text, section) {
201
+ const out = {};
202
+ let inSection = false;
203
+ for (const rawLine of text.split(/\r?\n/)) {
204
+ const line = rawLine.trim();
205
+ if (line === "" || line.startsWith("#") || line.startsWith(";"))
206
+ continue;
207
+ const header = /^\[(.+)\]$/.exec(line);
208
+ if (header) {
209
+ inSection = header[1].trim() === section;
210
+ continue;
211
+ }
212
+ if (!inSection)
213
+ continue;
214
+ const eq = line.indexOf("=");
215
+ if (eq === -1)
216
+ continue;
217
+ out[line.slice(0, eq).trim()] = line.slice(eq + 1).trim();
218
+ }
219
+ return out;
220
+ }
221
+ export class S3MirrorBackend {
222
+ bucket;
223
+ prefix;
224
+ region;
225
+ credential;
226
+ endpoint;
227
+ constructor(bucket, prefix, region, credential, endpoint) {
228
+ this.bucket = bucket;
229
+ this.prefix = prefix;
230
+ this.region = region;
231
+ this.credential = credential;
232
+ this.endpoint = endpoint;
233
+ }
234
+ describe() {
235
+ return `s3://${this.bucket}/${this.prefix}`;
236
+ }
237
+ fullKey(key) {
238
+ return this.prefix ? `${this.prefix}/${key}` : key;
239
+ }
240
+ creds() {
241
+ return resolveMirrorCredentials(this.credential);
242
+ }
243
+ async head(key) {
244
+ const r = await s3Request({ method: "HEAD", bucket: this.bucket, region: this.region, endpoint: this.endpoint, key: this.fullKey(key), credentials: this.creds() });
245
+ if (r.status === 404)
246
+ return null;
247
+ if (!r.ok)
248
+ fail("GITVAULT_MIRROR_S3_ERROR", `HEAD ${key} failed (HTTP ${r.status})`, "reading gitvault mirror object", { key, status: r.status });
249
+ const len = r.headers.get("content-length");
250
+ return { size_bytes: len ?? "0" };
251
+ }
252
+ async get(key) {
253
+ const r = await s3Request({ method: "GET", bucket: this.bucket, region: this.region, endpoint: this.endpoint, key: this.fullKey(key), credentials: this.creds() });
254
+ if (r.status === 404)
255
+ return null;
256
+ if (!r.ok)
257
+ fail("GITVAULT_MIRROR_S3_ERROR", `GET ${key} failed (HTTP ${r.status})`, "reading gitvault mirror object", { key, status: r.status });
258
+ return new Uint8Array(await r.arrayBuffer());
259
+ }
260
+ async putCreateOnly(key, bytes) {
261
+ // `If-None-Match: *` create-only PUT — the same conditional-write
262
+ // mechanism the primary vault bucket's own policy mandates (protocol
263
+ // §3). Documented as "recommended, not required" (design D7): this is
264
+ // the customer's bucket and their policy, so a provider/bucket that
265
+ // rejects the header (older buckets, some S3-compatible stores) falls
266
+ // back to read-and-compare instead of hard-failing the sync.
267
+ const r = await s3Request({
268
+ method: "PUT",
269
+ bucket: this.bucket,
270
+ region: this.region,
271
+ endpoint: this.endpoint,
272
+ key: this.fullKey(key),
273
+ credentials: this.creds(),
274
+ body: bytes,
275
+ extraHeaders: { "if-none-match": "*", "content-length": String(bytes.length) },
276
+ });
277
+ if (r.status === 412 || r.status === 409)
278
+ return { created: false };
279
+ if (r.ok)
280
+ return { created: true };
281
+ if (r.status === 400 || r.status === 501) {
282
+ // The condition itself was rejected (unsupported by this bucket/provider)
283
+ // rather than failing — read-and-compare fallback.
284
+ const existing = await this.head(key);
285
+ if (existing)
286
+ return { created: false };
287
+ const retry = await s3Request({ method: "PUT", bucket: this.bucket, region: this.region, endpoint: this.endpoint, key: this.fullKey(key), credentials: this.creds(), body: bytes, extraHeaders: { "content-length": String(bytes.length) } });
288
+ if (!retry.ok)
289
+ fail("GITVAULT_MIRROR_S3_ERROR", `PUT ${key} failed (HTTP ${retry.status})`, "writing gitvault mirror object", { key, status: retry.status });
290
+ return { created: true };
291
+ }
292
+ fail("GITVAULT_MIRROR_S3_ERROR", `PUT ${key} failed (HTTP ${r.status})`, "writing gitvault mirror object", { key, status: r.status });
293
+ }
294
+ async list(prefix = "") {
295
+ const out = [];
296
+ let continuationToken;
297
+ const fullPrefix = this.fullKey(prefix);
298
+ for (;;) {
299
+ const query = { "list-type": "2", prefix: fullPrefix };
300
+ if (continuationToken)
301
+ query["continuation-token"] = continuationToken;
302
+ const r = await s3Request({ method: "GET", bucket: this.bucket, region: this.region, endpoint: this.endpoint, key: "", query, credentials: this.creds() });
303
+ if (!r.ok)
304
+ fail("GITVAULT_MIRROR_S3_ERROR", `ListObjectsV2 failed (HTTP ${r.status})`, "listing gitvault mirror objects", { status: r.status });
305
+ const xml = await r.text();
306
+ for (const m of xml.matchAll(/<Key>([^<]*)<\/Key>/g)) {
307
+ const full = decodeXmlEntities(m[1]);
308
+ out.push(this.prefix ? full.slice(this.prefix.length + 1) : full);
309
+ }
310
+ const truncated = /<IsTruncated>true<\/IsTruncated>/.test(xml);
311
+ if (!truncated)
312
+ break;
313
+ const next = /<NextContinuationToken>([^<]*)<\/NextContinuationToken>/.exec(xml);
314
+ if (!next)
315
+ break;
316
+ continuationToken = decodeXmlEntities(next[1]);
317
+ }
318
+ return out.sort();
319
+ }
320
+ }
321
+ function decodeXmlEntities(s) {
322
+ return s.replace(/&(amp|lt|gt|quot|apos|#\d+);/g, (m, entity) => {
323
+ switch (entity) {
324
+ case "amp": return "&";
325
+ case "lt": return "<";
326
+ case "gt": return ">";
327
+ case "quot": return "\"";
328
+ case "apos": return "'";
329
+ default: return entity.startsWith("#") ? String.fromCharCode(Number(entity.slice(1))) : m;
330
+ }
331
+ });
332
+ }
333
+ // ─── Factory ──────────────────────────────────────────────────────────────────
334
+ /** Open the backend for one vault's mirror config — repo-scoped: the directory backend's root and the S3 prefix both already carry `source/<repo_id>`. */
335
+ export function openGitvaultMirrorBackend(destination, repoId, credential) {
336
+ if (destination.kind === "directory") {
337
+ return new DirectoryMirrorBackend(join(destination.path, "source", repoId));
338
+ }
339
+ if (!credential)
340
+ fail("GITVAULT_MIRROR_CREDENTIAL_REQUIRED", "an s3 mirror destination needs a credential", "opening gitvault mirror backend");
341
+ const prefix = destination.prefix ? `${destination.prefix}/source/${repoId}` : `source/${repoId}`;
342
+ return new S3MirrorBackend(destination.bucket, prefix, destination.region, credential, destination.endpoint);
343
+ }
344
+ /**
345
+ * List every `repo_id` mirrored under a destination's root (`source/<repo_id>/…`),
346
+ * WITHOUT repo-scoping the backend first — the discovery step `recover
347
+ * <source>` needs before it can even open the repo-scoped backend {@link
348
+ * openGitvaultMirrorBackend} expects. Used only to resolve which vault a bare
349
+ * destination URL (no `--repo`) names.
350
+ */
351
+ export async function discoverMirroredRepoIds(destination, credential) {
352
+ const root = destination.kind === "directory"
353
+ ? new DirectoryMirrorBackend(destination.path)
354
+ : (() => {
355
+ if (!credential)
356
+ fail("GITVAULT_MIRROR_CREDENTIAL_REQUIRED", "an s3 mirror destination needs a credential", "discovering mirrored gitvault repos");
357
+ return new S3MirrorBackend(destination.bucket, destination.prefix, destination.region, credential, destination.endpoint);
358
+ })();
359
+ const keys = await root.list("source/");
360
+ const ids = new Set();
361
+ for (const key of keys) {
362
+ const m = /^source\/(src_[0-9a-f]{32})\//.exec(key);
363
+ if (m)
364
+ ids.add(m[1]);
365
+ }
366
+ return [...ids].sort();
367
+ }
368
+ /** Best-effort recursive delete of an empty (or now-empty) mirror root — used by `mirror remove --purge` semantics if ever added; NOT called by plain `mirror remove` (design: config removal never touches the customer's bytes). Exported for tests. */
369
+ export function _rmMirrorRoot(destination, repoId) {
370
+ if (destination.kind !== "directory")
371
+ return;
372
+ rmSync(join(destination.path, "source", repoId), { recursive: true, force: true });
373
+ }
374
+ //# sourceMappingURL=gitvault-mirror-backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gitvault-mirror-backend.js","sourceRoot":"","sources":["../../src/node/gitvault-mirror-backend.ts"],"names":[],"mappings":"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"}