steroids-cli 0.8.22 → 0.8.23

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 (71) hide show
  1. package/dist/commands/loop-phases.d.ts +1 -1
  2. package/dist/commands/loop-phases.d.ts.map +1 -1
  3. package/dist/commands/loop-phases.js +3 -3
  4. package/dist/commands/loop-phases.js.map +1 -1
  5. package/dist/commands/runners.js +4 -0
  6. package/dist/commands/runners.js.map +1 -1
  7. package/dist/database/schema.d.ts +2 -2
  8. package/dist/database/schema.d.ts.map +1 -1
  9. package/dist/database/schema.js +30 -0
  10. package/dist/database/schema.js.map +1 -1
  11. package/dist/orchestrator/task-selector.d.ts +7 -2
  12. package/dist/orchestrator/task-selector.d.ts.map +1 -1
  13. package/dist/orchestrator/task-selector.js +91 -14
  14. package/dist/orchestrator/task-selector.js.map +1 -1
  15. package/dist/parallel/clone.d.ts +41 -0
  16. package/dist/parallel/clone.d.ts.map +1 -0
  17. package/dist/parallel/clone.js +176 -0
  18. package/dist/parallel/clone.js.map +1 -0
  19. package/dist/parallel/clone.test.d.ts +2 -0
  20. package/dist/parallel/clone.test.d.ts.map +1 -0
  21. package/dist/parallel/clone.test.js +252 -0
  22. package/dist/parallel/clone.test.js.map +1 -0
  23. package/dist/parallel/merge-conflict.d.ts +22 -0
  24. package/dist/parallel/merge-conflict.d.ts.map +1 -0
  25. package/dist/parallel/merge-conflict.js +227 -0
  26. package/dist/parallel/merge-conflict.js.map +1 -0
  27. package/dist/parallel/merge-errors.d.ts +10 -0
  28. package/dist/parallel/merge-errors.d.ts.map +1 -0
  29. package/dist/parallel/merge-errors.js +16 -0
  30. package/dist/parallel/merge-errors.js.map +1 -0
  31. package/dist/parallel/merge-git.d.ts +25 -0
  32. package/dist/parallel/merge-git.d.ts.map +1 -0
  33. package/dist/parallel/merge-git.js +134 -0
  34. package/dist/parallel/merge-git.js.map +1 -0
  35. package/dist/parallel/merge-lock.d.ts +26 -0
  36. package/dist/parallel/merge-lock.d.ts.map +1 -0
  37. package/dist/parallel/merge-lock.js +58 -0
  38. package/dist/parallel/merge-lock.js.map +1 -0
  39. package/dist/parallel/merge-progress.d.ts +20 -0
  40. package/dist/parallel/merge-progress.d.ts.map +1 -0
  41. package/dist/parallel/merge-progress.js +36 -0
  42. package/dist/parallel/merge-progress.js.map +1 -0
  43. package/dist/parallel/merge.d.ts +39 -0
  44. package/dist/parallel/merge.d.ts.map +1 -0
  45. package/dist/parallel/merge.js +231 -0
  46. package/dist/parallel/merge.js.map +1 -0
  47. package/dist/parallel/merge.test.d.ts +5 -0
  48. package/dist/parallel/merge.test.d.ts.map +1 -0
  49. package/dist/parallel/merge.test.js +322 -0
  50. package/dist/parallel/merge.test.js.map +1 -0
  51. package/dist/parallel/scheduler.d.ts +43 -0
  52. package/dist/parallel/scheduler.d.ts.map +1 -0
  53. package/dist/parallel/scheduler.js +281 -0
  54. package/dist/parallel/scheduler.js.map +1 -0
  55. package/dist/runners/daemon.d.ts +11 -1
  56. package/dist/runners/daemon.d.ts.map +1 -1
  57. package/dist/runners/daemon.js +18 -4
  58. package/dist/runners/daemon.js.map +1 -1
  59. package/dist/runners/global-db.d.ts.map +1 -1
  60. package/dist/runners/global-db.js +42 -1
  61. package/dist/runners/global-db.js.map +1 -1
  62. package/dist/runners/orchestrator-loop.d.ts +3 -0
  63. package/dist/runners/orchestrator-loop.d.ts.map +1 -1
  64. package/dist/runners/orchestrator-loop.js +19 -9
  65. package/dist/runners/orchestrator-loop.js.map +1 -1
  66. package/dist/runners/wakeup.d.ts.map +1 -1
  67. package/dist/runners/wakeup.js +2 -1
  68. package/dist/runners/wakeup.js.map +1 -1
  69. package/migrations/011_add_merge_locks_and_progress.sql +39 -0
  70. package/migrations/manifest.json +9 -1
  71. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"task-selector.js","sourceRoot":"","sources":["../../src/orchestrator/task-selector.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAqDH,wCAqBC;AAeD,0CAmDC;AAKD,gDAOC;AAKD,kDAGC;AAKD,sCA0CC;AAYD,wDAsCC;AA8FD,wDAiDC;AAKD,wEAYC;AAKD,8CA8BC;AAKD,oDA2BC;AAjeD,uDAA4H;AAE5H,0DAQiC;AAke/B,6FAveA,2BAAY,OAueA;AAjed,gEAIoC;AA+dlC,mGAleA,oCAAkB,OAkeA;AAClB,mGAleA,oCAAkB,OAkeA;AAFlB,gGA/dA,iCAAe,OA+dA;AA7djB,sDAAsD;AAsBtD;;;;;;;;;;;GAWG;AACH,SAAgB,cAAc,CAC5B,EAAqB,EACrB,SAAkB;IAElB,MAAM,MAAM,GAAG,IAAA,yBAAY,EAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAE3C,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,YAAY,GAAiB;QACjC,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,MAAM,EAAE,MAAM,CAAC,MAAuC;KACvD,CAAC;IAEF,4DAA4D;IAC5D,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;QAClE,YAAY,CAAC,cAAc,GAAG,IAAA,kCAAqB,EAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC;IACvF,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAWD;;;GAGG;AACH,SAAgB,eAAe,CAC7B,EAAqB,EACrB,UAAkB,EAAE;IAEpB,wDAAwD;IACxD,MAAM,QAAQ,GAAG,EAAE;SAChB,OAAO,CACN;;;;;;;2BAOqB,CACtB;SACA,GAAG,EAMF,CAAC;IAEL,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,0DAA0D;QAC1D,IAAI,OAAO,CAAC,YAAY,GAAG,CAAC;YAAE,SAAS;QAEvC,wCAAwC;QACxC,IAAI,CAAC,IAAA,+BAAkB,EAAC,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC;YAAE,SAAS;QAElD,sCAAsC;QACtC,MAAM,KAAK,GAAG,EAAE;aACb,OAAO,CACN;;;iBAGS,CACV;aACA,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAW,CAAC;QAEtC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO;gBACL,KAAK;gBACL,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,WAAW,EAAE,OAAO,CAAC,IAAI;aAC1B,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,EAAqB,EAAE,MAAc;IACtE,MAAM,IAAI,GAAG,IAAA,oBAAO,EAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,IAAI;QAAE,OAAO;IAElB,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC9B,IAAA,6BAAgB,EAAC,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,EAAqB,EAAE,SAAkB;IAC3E,MAAM,MAAM,GAAG,IAAA,yBAAY,EAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAC3C,OAAO,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAC3B,EAAqB,EACrB,SAAkB;IAUlB,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,CAAC;QACd,MAAM,EAAE,CAAC;QACT,SAAS,EAAE,CAAC;QACZ,QAAQ,EAAE,CAAC;QACX,MAAM,EAAE,CAAC;QACT,KAAK,EAAE,CAAC;KACT,CAAC;IAEF,IAAI,KAAK,GAAG,6CAA6C,CAAC;IAC1D,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,SAAS,EAAE,CAAC;QACd,KAAK,IAAI,uBAAuB,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,IAAI,kBAAkB,CAAC;IAE5B,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAwC,CAAC;IAErF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,CAAC,MAA6B,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC;QACxD,CAAC;QACD,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,gDAAgD;AAEhD,MAAM,uBAAuB,GAAG,EAAE,CAAC;AACnC,MAAM,uBAAuB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;AAC7D,MAAM,wBAAwB,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,YAAY;AAEvD;;;GAGG;AACH,SAAgB,sBAAsB,CACpC,EAAqB,EACrB,OAA6B;IAE7B,MAAM,EACJ,QAAQ,EACR,cAAc,GAAG,uBAAuB,GACzC,GAAG,OAAO,CAAC;IAEZ,oCAAoC;IACpC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,IAAA,0BAAa,EAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAE3E,8CAA8C;IAC9C,MAAM,UAAU,GAAG,0BAA0B,CAAC,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAE9F,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sBAAsB;IACtB,MAAM,UAAU,GAAG,IAAA,8BAAe,EAAC,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IAErF,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QACzB,2CAA2C;QAC3C,mCAAmC;QACnC,OAAO,sBAAsB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED,qCAAqC;IACrC,MAAM,SAAS,GAAG,IAAA,kCAAmB,EAAC,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAExE,OAAO;QACL,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,cAAc,EAAE,UAAU,CAAC,cAAc;QACzC,UAAU;QACV,SAAS;KACV,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,EAAqB,EAAE,IAAU;IACtD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QACrB,6CAA6C;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,4CAA4C;IAC5C,OAAO,IAAA,+BAAkB,EAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,SAAS,0BAA0B,CACjC,EAAqB,EACrB,aAA0B,EAC1B,QAAgB,EAChB,SAAkB;IAElB,2CAA2C;IAC3C,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9D,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEnD,uCAAuC;IACvC,MAAM,WAAW,GAAG,EAAE;SACnB,OAAO,CACN;;mCAE6B,aAAa;2DACW,CACtD;SACA,GAAG,CAAC,GAAG,aAAa,CAAW,CAAC;IAEnC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,IAAI,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;YACpG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;IAED,4CAA4C;IAC5C,MAAM,eAAe,GAAG,EAAE;SACvB,OAAO,CACN;;wCAEkC,aAAa;2DACM,CACtD;SACA,GAAG,CAAC,GAAG,aAAa,CAAW,CAAC;IAEnC,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;QACnC,IAAI,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;YACpG,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,GAAG,CAAC;gBAC7C,CAAC,CAAC,IAAA,kCAAqB,EAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,SAAS;gBACjD,CAAC,CAAC,SAAS,CAAC;YACd,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;QACpD,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,MAAM,YAAY,GAAG,EAAE;SACpB,OAAO,CACN;;oCAE8B,aAAa;2DACU,CACtD;SACA,GAAG,CAAC,GAAG,aAAa,CAAW,CAAC;IAEnC,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,IAAI,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;YACpG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QACnC,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,EAAqB,EAAE,MAAc,EAAE,QAAgB;IAC3E,MAAM,KAAK,GAAG,IAAA,0BAAa,EAAC,EAAE,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC;IACnD,OAAO,IAAI,EAAE,SAAS,KAAK,QAAQ,CAAC;AACtC,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,sBAAsB,CAC1C,EAAqB,EACrB,OAA6B;IAE7B,MAAM,EACJ,MAAM,GAAG,KAAK,EACd,aAAa,GAAG,uBAAuB,EACvC,cAAc,GAAG,wBAAwB,GAC1C,GAAG,OAAO,CAAC;IAEZ,4BAA4B;IAC5B,MAAM,MAAM,GAAG,sBAAsB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACnD,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,sCAAsC;IACtC,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;IACjC,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,IAAI,MAAM,CAAC,WAAW,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5E,OAAO,IAAI,CAAC,CAAC,sBAAsB;IACrC,CAAC;IAED,qCAAqC;IACrC,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sCAAsC;IACtC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,aAAa,EAAE,CAAC;QAC9C,MAAM,KAAK,CAAC,cAAc,CAAC,CAAC;QAE5B,MAAM,UAAU,GAAG,sBAAsB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACvD,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,0CAA0C;QAC1C,MAAM,aAAa,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;QACxC,IAAI,aAAa,CAAC,OAAO,KAAK,CAAC;YAC3B,aAAa,CAAC,WAAW,KAAK,CAAC;YAC/B,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,CAAC,oCAAoC;QACnD,CAAC;IACH,CAAC;IAED,kBAAkB;IAClB,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAgB,8BAA8B,CAC5C,EAAqB,EACrB,MAAc,EACd,QAAgB,EAChB,SAA2B;IAE3B,4BAA4B;IAC5B,IAAI,SAAS,EAAE,CAAC;QACd,SAAS,CAAC,IAAI,EAAE,CAAC;IACnB,CAAC;IAED,OAAO,IAAA,8BAAe,EAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAC/B,EAAqB,EACrB,MAAc,EACd,QAAgB,EAChB,iBAAyB,uBAAuB;IAEhD,MAAM,IAAI,GAAG,IAAA,oBAAO,EAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC;IACrD,CAAC;IAED,sBAAsB;IACtB,MAAM,UAAU,GAAG,IAAA,8BAAe,EAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IACzE,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QACzB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,OAAO,IAAI,wBAAwB;SAC7D,CAAC;IACJ,CAAC;IAED,iCAAiC;IACjC,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC9B,IAAA,6BAAgB,EAAC,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;IAC9D,CAAC;IAED,kBAAkB;IAClB,MAAM,SAAS,GAAG,IAAA,kCAAmB,EAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5D,SAAS,CAAC,KAAK,EAAE,CAAC;IAElB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAClC,EAAqB,EACrB,MAAc,EACd,QAAgB,EAChB,SAAiC,EACjC,SAA2B;IAE3B,MAAM,IAAI,GAAG,IAAA,oBAAO,EAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,SAAS;YAAE,SAAS,CAAC,IAAI,EAAE,CAAC;QAChC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC;IACrD,CAAC;IAED,gBAAgB;IAChB,IAAA,6BAAgB,EAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;IAExD,eAAe;IACf,MAAM,aAAa,GAAG,8BAA8B,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAEtF,IAAI,CAAC,aAAa,CAAC,QAAQ,IAAI,aAAa,CAAC,KAAK,EAAE,IAAI,KAAK,gBAAgB,EAAE,CAAC;QAC9E,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,OAAO,IAAI,wBAAwB;SAChE,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED,oCAAoC;AAEpC,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AACzD,CAAC"}
1
+ {"version":3,"file":"task-selector.js","sourceRoot":"","sources":["../../src/orchestrator/task-selector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Workspace clone manager for parallel execution.
3
+ */
4
+ export interface WorkspaceCloneOptions {
5
+ projectPath: string;
6
+ workstreamId: string;
7
+ branchName: string;
8
+ workspaceRoot?: string;
9
+ force?: boolean;
10
+ }
11
+ export interface WorkspaceCloneResult {
12
+ projectPath: string;
13
+ workspaceRoot: string;
14
+ workspacePath: string;
15
+ branchName: string;
16
+ projectHash: string;
17
+ usedLocalClone: boolean;
18
+ steroidsSymlinkPath: string;
19
+ }
20
+ export declare class WorkspaceCloneError extends Error {
21
+ cause?: unknown | undefined;
22
+ constructor(message: string, cause?: unknown | undefined);
23
+ }
24
+ /**
25
+ * Resolve the project hash used for workspace grouping.
26
+ */
27
+ export declare function getProjectHash(projectPath: string): string;
28
+ /**
29
+ * Default root for parallel workspaces: ~/.steroids/workspaces
30
+ */
31
+ export declare function getDefaultWorkspaceRoot(): string;
32
+ export declare function getWorkspacePath(projectPath: string, workstreamId: string, workspaceRoot?: string): string;
33
+ /**
34
+ * Determine whether two paths are on the same filesystem by comparing fs identifiers.
35
+ */
36
+ export declare function isSameFileSystem(leftPath: string, rightPath: string): boolean;
37
+ /**
38
+ * Create an isolated workspace clone for one parallel workstream.
39
+ */
40
+ export declare function createWorkspaceClone(options: WorkspaceCloneOptions): WorkspaceCloneResult;
41
+ //# sourceMappingURL=clone.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clone.d.ts","sourceRoot":"","sources":["../../src/parallel/clone.ts"],"names":[],"mappings":"AAAA;;GAEG;AAoBH,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,qBAAa,mBAAoB,SAAQ,KAAK;IACR,KAAK,CAAC,EAAE,OAAO;gBAAvC,OAAO,EAAE,MAAM,EAAS,KAAK,CAAC,EAAE,OAAO,YAAA;CAQpD;AAwCD;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAK1D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD;AAED,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,aAAa,GAAE,MAAkC,GAChD,MAAM,CAER;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAK7E;AAkDD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,oBAAoB,CAiEzF"}
@@ -0,0 +1,176 @@
1
+ "use strict";
2
+ /**
3
+ * Workspace clone manager for parallel execution.
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.WorkspaceCloneError = void 0;
7
+ exports.getProjectHash = getProjectHash;
8
+ exports.getDefaultWorkspaceRoot = getDefaultWorkspaceRoot;
9
+ exports.getWorkspacePath = getWorkspacePath;
10
+ exports.isSameFileSystem = isSameFileSystem;
11
+ exports.createWorkspaceClone = createWorkspaceClone;
12
+ const node_crypto_1 = require("node:crypto");
13
+ const node_child_process_1 = require("node:child_process");
14
+ const node_fs_1 = require("node:fs");
15
+ const node_os_1 = require("node:os");
16
+ const node_path_1 = require("node:path");
17
+ class WorkspaceCloneError extends Error {
18
+ cause;
19
+ constructor(message, cause) {
20
+ super(message);
21
+ this.cause = cause;
22
+ this.name = 'WorkspaceCloneError';
23
+ if (Error.captureStackTrace) {
24
+ Error.captureStackTrace(this, WorkspaceCloneError);
25
+ }
26
+ }
27
+ }
28
+ exports.WorkspaceCloneError = WorkspaceCloneError;
29
+ function normalizeWorkstreamDirectory(workstreamId) {
30
+ return workstreamId.startsWith('ws-') ? workstreamId : `ws-${workstreamId}`;
31
+ }
32
+ function normalizeFsIdentifier(value) {
33
+ if (typeof value === 'bigint' || typeof value === 'number' || typeof value === 'string') {
34
+ return String(value);
35
+ }
36
+ if (typeof value === 'object' && value !== null) {
37
+ const nested = value;
38
+ if (nested.val !== undefined) {
39
+ return String(nested.val);
40
+ }
41
+ try {
42
+ return JSON.stringify(value);
43
+ }
44
+ catch {
45
+ return undefined;
46
+ }
47
+ }
48
+ return undefined;
49
+ }
50
+ function getFileSystemId(stats) {
51
+ const raw =
52
+ // Primary signal: f_fsid (as specified in parallel workspace design docs)
53
+ normalizeFsIdentifier(stats.f_fsid)
54
+ ?? normalizeFsIdentifier(stats.fsid)
55
+ ?? normalizeFsIdentifier(stats.type);
56
+ if (!raw) {
57
+ throw new WorkspaceCloneError('Unable to determine filesystem identity for clone placement');
58
+ }
59
+ return raw;
60
+ }
61
+ /**
62
+ * Resolve the project hash used for workspace grouping.
63
+ */
64
+ function getProjectHash(projectPath) {
65
+ return (0, node_crypto_1.createHash)('sha1')
66
+ .update((0, node_path_1.resolve)(projectPath))
67
+ .digest('hex')
68
+ .slice(0, 16);
69
+ }
70
+ /**
71
+ * Default root for parallel workspaces: ~/.steroids/workspaces
72
+ */
73
+ function getDefaultWorkspaceRoot() {
74
+ return (0, node_path_1.join)((0, node_os_1.homedir)(), '.steroids', 'workspaces');
75
+ }
76
+ function getWorkspacePath(projectPath, workstreamId, workspaceRoot = getDefaultWorkspaceRoot()) {
77
+ return resolveWorkspacePath((0, node_path_1.resolve)(workspaceRoot), (0, node_path_1.resolve)(projectPath), workstreamId);
78
+ }
79
+ /**
80
+ * Determine whether two paths are on the same filesystem by comparing fs identifiers.
81
+ */
82
+ function isSameFileSystem(leftPath, rightPath) {
83
+ const leftStats = (0, node_fs_1.statfsSync)(leftPath);
84
+ const rightStats = (0, node_fs_1.statfsSync)(rightPath);
85
+ return getFileSystemId(leftStats) === getFileSystemId(rightStats);
86
+ }
87
+ function resolveWorkspacePath(workspaceRoot, projectPath, workstreamId) {
88
+ const normalizedWorkstreamDir = normalizeWorkstreamDirectory(workstreamId);
89
+ return (0, node_path_1.join)(workspaceRoot, getProjectHash(projectPath), normalizedWorkstreamDir);
90
+ }
91
+ function resolveSteroidsDir(projectPath) {
92
+ const steroidsDir = (0, node_path_1.join)((0, node_path_1.resolve)(projectPath), '.steroids');
93
+ if (!(0, node_fs_1.existsSync)(steroidsDir)) {
94
+ throw new WorkspaceCloneError(`Missing .steroids directory: ${steroidsDir}`);
95
+ }
96
+ const resolved = (0, node_fs_1.realpathSync)(steroidsDir);
97
+ const stat = (0, node_fs_1.lstatSync)(resolved);
98
+ if (!stat.isDirectory()) {
99
+ throw new WorkspaceCloneError(`Expected .steroids to be a directory: ${resolved}`);
100
+ }
101
+ return resolved;
102
+ }
103
+ function verifySteroidsSymlink(steroidsPath) {
104
+ const dbPath = (0, node_path_1.join)(steroidsPath, 'steroids.db');
105
+ (0, node_fs_1.accessSync)(dbPath, node_fs_1.constants.R_OK);
106
+ }
107
+ function createWorkspaceSymlink(clonePath, projectPath) {
108
+ const targetSteroidsPath = resolveSteroidsDir(projectPath);
109
+ const destination = (0, node_path_1.join)(clonePath, '.steroids');
110
+ if ((0, node_fs_1.existsSync)(destination)) {
111
+ (0, node_fs_1.rmSync)(destination, { recursive: true, force: true });
112
+ }
113
+ // Use the resolved path to avoid symlink chain surprises.
114
+ (0, node_fs_1.symlinkSync)(targetSteroidsPath, destination);
115
+ verifySteroidsSymlink(destination);
116
+ return destination;
117
+ }
118
+ /**
119
+ * Create an isolated workspace clone for one parallel workstream.
120
+ */
121
+ function createWorkspaceClone(options) {
122
+ const projectPath = (0, node_path_1.resolve)(options.projectPath);
123
+ const workspaceRoot = (0, node_path_1.resolve)(options.workspaceRoot ?? getDefaultWorkspaceRoot());
124
+ const workspacePath = getWorkspacePath(projectPath, options.workstreamId, workspaceRoot);
125
+ const projectHash = getProjectHash(projectPath);
126
+ if (!(0, node_fs_1.existsSync)(projectPath)) {
127
+ throw new WorkspaceCloneError(`Project path does not exist: ${projectPath}`);
128
+ }
129
+ if (!(0, node_fs_1.lstatSync)(projectPath).isDirectory()) {
130
+ throw new WorkspaceCloneError(`Project path is not a directory: ${projectPath}`);
131
+ }
132
+ if ((0, node_fs_1.existsSync)(workspacePath)) {
133
+ if (!options.force) {
134
+ throw new WorkspaceCloneError(`Workspace already exists: ${workspacePath}`);
135
+ }
136
+ (0, node_fs_1.rmSync)(workspacePath, { recursive: true, force: true });
137
+ }
138
+ (0, node_fs_1.mkdirSync)(workspaceRoot, { recursive: true });
139
+ (0, node_fs_1.mkdirSync)((0, node_path_1.resolve)(workspacePath, '..'), { recursive: true });
140
+ const usedLocalClone = isSameFileSystem(projectPath, workspaceRoot);
141
+ const cloneArgs = ['clone', ...(usedLocalClone ? ['--local'] : []), projectPath, workspacePath];
142
+ try {
143
+ // hardcoded command, no user input
144
+ (0, node_child_process_1.execFileSync)('git', cloneArgs, { cwd: process.cwd(), stdio: 'inherit' });
145
+ }
146
+ catch (error) {
147
+ (0, node_fs_1.rmSync)(workspacePath, { recursive: true, force: true });
148
+ throw new WorkspaceCloneError('Git clone failed', error);
149
+ }
150
+ try {
151
+ // hardcoded command, no user input
152
+ (0, node_child_process_1.execFileSync)('git', ['-C', workspacePath, 'checkout', '-b', options.branchName], { stdio: 'inherit' });
153
+ }
154
+ catch (error) {
155
+ (0, node_fs_1.rmSync)(workspacePath, { recursive: true, force: true });
156
+ throw new WorkspaceCloneError('Failed to create branch in clone', error);
157
+ }
158
+ let steroidsSymlinkPath;
159
+ try {
160
+ steroidsSymlinkPath = createWorkspaceSymlink(workspacePath, projectPath);
161
+ }
162
+ catch (error) {
163
+ (0, node_fs_1.rmSync)(workspacePath, { recursive: true, force: true });
164
+ throw new WorkspaceCloneError('Failed to create .steroids symlink', error);
165
+ }
166
+ return {
167
+ projectPath,
168
+ workspaceRoot,
169
+ workspacePath,
170
+ branchName: options.branchName,
171
+ projectHash,
172
+ usedLocalClone,
173
+ steroidsSymlinkPath,
174
+ };
175
+ }
176
+ //# sourceMappingURL=clone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clone.js","sourceRoot":"","sources":["../../src/parallel/clone.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=clone.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clone.test.d.ts","sourceRoot":"","sources":["../../src/parallel/clone.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,252 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const globals_1 = require("@jest/globals");
4
+ const node_fs_1 = require("node:fs");
5
+ const node_os_1 = require("node:os");
6
+ const node_path_1 = require("node:path");
7
+ const mockStatfsSync = globals_1.jest.fn();
8
+ const mockSymlinkSync = globals_1.jest.fn();
9
+ const mockAccessSync = globals_1.jest.fn();
10
+ globals_1.jest.unstable_mockModule('node:fs', () => {
11
+ const actualFs = globals_1.jest.requireActual('node:fs');
12
+ return {
13
+ ...actualFs,
14
+ statfsSync: mockStatfsSync,
15
+ symlinkSync: mockSymlinkSync,
16
+ accessSync: mockAccessSync,
17
+ };
18
+ });
19
+ globals_1.jest.unstable_mockModule('node:child_process', () => ({
20
+ execFileSync: mockExecFileSync,
21
+ }));
22
+ const mockExecFileSync = globals_1.jest.fn();
23
+ let workspaceRoot = '';
24
+ let forceCloneFailure = false;
25
+ let forceBranchFailure = false;
26
+ let createWorkspaceClone;
27
+ let getProjectHash;
28
+ let getWorkspacePath;
29
+ let isSameFileSystem;
30
+ const tempPaths = [];
31
+ function makeTempDir(prefix) {
32
+ const tempPath = (0, node_fs_1.mkdtempSync)((0, node_path_1.join)((0, node_os_1.tmpdir)(), `${prefix}-XXXXXX`));
33
+ tempPaths.push(tempPath);
34
+ return tempPath;
35
+ }
36
+ function cleanupTempPaths() {
37
+ while (tempPaths.length > 0) {
38
+ const tempPath = tempPaths.pop();
39
+ if (tempPath) {
40
+ (0, node_fs_1.rmSync)(tempPath, { recursive: true, force: true });
41
+ }
42
+ }
43
+ }
44
+ function createProjectFixture() {
45
+ const projectPath = makeTempDir('steroids-clone-project');
46
+ const steroidsDirectory = (0, node_path_1.join)(projectPath, '.steroids');
47
+ (0, node_fs_1.mkdirSync)(steroidsDirectory, { recursive: true });
48
+ (0, node_fs_1.writeFileSync)((0, node_path_1.join)(steroidsDirectory, 'steroids.db'), 'ok');
49
+ return projectPath;
50
+ }
51
+ function makeStatFs(id) {
52
+ return { type: id };
53
+ }
54
+ function setFileSystemIds(projectPath, rootPath, projectId, rootId) {
55
+ const resolvedProjectPath = (0, node_path_1.resolve)(projectPath);
56
+ const resolvedRootPath = (0, node_path_1.resolve)(rootPath);
57
+ mockStatfsSync.mockImplementation((targetPath) => {
58
+ const resolvedTarget = (0, node_path_1.resolve)(String(targetPath));
59
+ if (resolvedTarget === resolvedProjectPath) {
60
+ return makeStatFs(projectId);
61
+ }
62
+ if (resolvedTarget === resolvedRootPath) {
63
+ return makeStatFs(rootId);
64
+ }
65
+ return makeStatFs('other');
66
+ });
67
+ }
68
+ function configureExecMock() {
69
+ mockExecFileSync.mockImplementation(((command, args) => {
70
+ if (command !== 'git' || !Array.isArray(args)) {
71
+ return '';
72
+ }
73
+ if (args[0] === 'clone') {
74
+ const workspacePath = args[2];
75
+ if (typeof workspacePath === 'string') {
76
+ const workspaceDirectory = (0, node_path_1.resolve)(workspacePath);
77
+ (0, node_fs_1.mkdirSync)((0, node_path_1.resolve)(workspaceDirectory, '..'), { recursive: true });
78
+ (0, node_fs_1.mkdirSync)(workspacePath, { recursive: true });
79
+ (0, node_fs_1.mkdirSync)((0, node_path_1.join)(workspacePath, '.git'), { recursive: true });
80
+ }
81
+ if (forceCloneFailure) {
82
+ throw new Error('mocked clone failure');
83
+ }
84
+ return '';
85
+ }
86
+ if (args[2] === 'checkout' && forceBranchFailure) {
87
+ throw new Error('mocked checkout failure');
88
+ }
89
+ return '';
90
+ }));
91
+ }
92
+ (0, globals_1.beforeEach)(async () => {
93
+ workspaceRoot = makeTempDir('steroids-workspace-root');
94
+ forceCloneFailure = false;
95
+ forceBranchFailure = false;
96
+ mockStatfsSync.mockReset();
97
+ configureExecMock();
98
+ mockStatfsSync.mockImplementation(() => makeStatFs('same'));
99
+ ({
100
+ createWorkspaceClone,
101
+ getProjectHash,
102
+ getWorkspacePath,
103
+ isSameFileSystem,
104
+ } = await import('./clone.js'));
105
+ });
106
+ (0, globals_1.afterEach)(() => {
107
+ mockExecFileSync.mockClear();
108
+ mockSymlinkSync.mockReset();
109
+ mockAccessSync.mockReset();
110
+ mockStatfsSync.mockReset();
111
+ cleanupTempPaths();
112
+ });
113
+ (0, globals_1.describe)('src/parallel/clone', () => {
114
+ (0, globals_1.it)('creates workspace clones on the same filesystem with git --local', () => {
115
+ const projectPath = createProjectFixture();
116
+ setFileSystemIds(projectPath, workspaceRoot, 'fs-a', 'fs-a');
117
+ const result = createWorkspaceClone({
118
+ projectPath,
119
+ workstreamId: 'stream',
120
+ branchName: 'steroids/ws-stream',
121
+ workspaceRoot,
122
+ });
123
+ const [cloneCommand, cloneArgs] = mockExecFileSync.mock.calls[0] ?? [];
124
+ const [checkoutCommand, checkoutArgs] = mockExecFileSync.mock.calls[1] ?? [];
125
+ (0, globals_1.expect)(cloneCommand).toBe('git');
126
+ (0, globals_1.expect)(cloneArgs).toEqual(['clone', '--local', projectPath, result.workspacePath]);
127
+ (0, globals_1.expect)(checkoutCommand).toBe('git');
128
+ (0, globals_1.expect)(checkoutArgs).toEqual(['-C', result.workspacePath, 'checkout', '-b', 'steroids/ws-stream']);
129
+ (0, globals_1.expect)(result.usedLocalClone).toBe(true);
130
+ (0, globals_1.expect)(mockSymlinkSync).toHaveBeenCalledWith((0, node_fs_1.realpathSync)((0, node_path_1.join)(projectPath, '.steroids')), result.steroidsSymlinkPath);
131
+ (0, globals_1.expect)(mockAccessSync).toHaveBeenCalledWith((0, node_path_1.join)(result.steroidsSymlinkPath, 'steroids.db'), globals_1.expect.any(Number));
132
+ (0, globals_1.expect)(mockAccessSync).toHaveBeenCalledTimes(1);
133
+ });
134
+ (0, globals_1.it)('creates workspace clones on a different filesystem without git --local', () => {
135
+ const projectPath = createProjectFixture();
136
+ setFileSystemIds(projectPath, workspaceRoot, 'fs-a', 'fs-b');
137
+ const result = createWorkspaceClone({
138
+ projectPath,
139
+ workstreamId: 'stream',
140
+ branchName: 'steroids/ws-stream',
141
+ workspaceRoot,
142
+ });
143
+ const [cloneCommand, cloneArgs] = mockExecFileSync.mock.calls[0] ?? [];
144
+ (0, globals_1.expect)(cloneCommand).toBe('git');
145
+ (0, globals_1.expect)(cloneArgs).toEqual(['clone', projectPath, result.workspacePath]);
146
+ (0, globals_1.expect)(result.usedLocalClone).toBe(false);
147
+ });
148
+ (0, globals_1.it)('detects same and different filesystems', () => {
149
+ const projectPath = createProjectFixture();
150
+ setFileSystemIds(projectPath, workspaceRoot, 'fs-a', 'fs-a');
151
+ (0, globals_1.expect)(isSameFileSystem(projectPath, workspaceRoot)).toBe(true);
152
+ setFileSystemIds(projectPath, workspaceRoot, 'fs-a', 'fs-b');
153
+ (0, globals_1.expect)(isSameFileSystem(projectPath, workspaceRoot)).toBe(false);
154
+ });
155
+ (0, globals_1.it)('produces consistent project hashes', () => {
156
+ const projectPath = createProjectFixture();
157
+ const sameFirst = getProjectHash(projectPath);
158
+ const sameSecond = getProjectHash(projectPath);
159
+ const different = getProjectHash(`${projectPath}-other`);
160
+ (0, globals_1.expect)(sameFirst).toBe(sameSecond);
161
+ (0, globals_1.expect)(sameFirst).not.toBe(different);
162
+ (0, globals_1.expect)(sameFirst).toHaveLength(16);
163
+ });
164
+ (0, globals_1.it)('resolves workspace paths with normalized workstream ids', () => {
165
+ const projectPath = createProjectFixture();
166
+ const hash = getWorkspacePath(projectPath, 'stream', workspaceRoot);
167
+ const normalized = getWorkspacePath(projectPath, 'stream', workspaceRoot);
168
+ const prefixed = getWorkspacePath(projectPath, 'ws-prefixed', workspaceRoot);
169
+ const expected = (0, node_path_1.join)(workspaceRoot, getProjectHash(projectPath), 'ws-stream');
170
+ const expectedPrefixed = (0, node_path_1.join)(workspaceRoot, getProjectHash(projectPath), 'ws-prefixed');
171
+ (0, globals_1.expect)(normalized).toBe(expected);
172
+ (0, globals_1.expect)(prefixed).toBe(expectedPrefixed);
173
+ (0, globals_1.expect)(hash).toBe(expected);
174
+ });
175
+ (0, globals_1.it)('throws for missing project paths', () => {
176
+ (0, globals_1.expect)(() => {
177
+ createWorkspaceClone({
178
+ projectPath: (0, node_path_1.join)(workspaceRoot, 'does-not-exist'),
179
+ workstreamId: 'stream',
180
+ branchName: 'steroids/ws-stream',
181
+ workspaceRoot,
182
+ });
183
+ }).toThrow('Project path does not exist');
184
+ (0, globals_1.expect)(mockExecFileSync).not.toHaveBeenCalled();
185
+ });
186
+ (0, globals_1.it)('throws for project paths that are not directories', () => {
187
+ const filePath = (0, node_path_1.join)(workspaceRoot, 'not-a-directory');
188
+ (0, node_fs_1.writeFileSync)(filePath, 'not a directory');
189
+ (0, globals_1.expect)(() => {
190
+ createWorkspaceClone({
191
+ projectPath: filePath,
192
+ workstreamId: 'stream',
193
+ branchName: 'steroids/ws-stream',
194
+ workspaceRoot,
195
+ });
196
+ }).toThrow('Project path is not a directory');
197
+ });
198
+ (0, globals_1.it)('throws when the workspace already exists and force is not set', () => {
199
+ const projectPath = createProjectFixture();
200
+ const workspacePath = getWorkspacePath(projectPath, 'stream', workspaceRoot);
201
+ (0, node_fs_1.mkdirSync)(workspacePath, { recursive: true });
202
+ (0, globals_1.expect)(() => {
203
+ createWorkspaceClone({
204
+ projectPath,
205
+ workstreamId: 'stream',
206
+ branchName: 'steroids/ws-stream',
207
+ workspaceRoot,
208
+ });
209
+ }).toThrow('Workspace already exists');
210
+ });
211
+ (0, globals_1.it)('creates and validates the .steroids symlink in the cloned workspace', () => {
212
+ const projectPath = createProjectFixture();
213
+ setFileSystemIds(projectPath, workspaceRoot, 'fs-a', 'fs-a');
214
+ const result = createWorkspaceClone({
215
+ projectPath,
216
+ workstreamId: 'stream',
217
+ branchName: 'steroids/ws-stream',
218
+ workspaceRoot,
219
+ });
220
+ (0, globals_1.expect)(mockSymlinkSync).toHaveBeenCalledWith((0, node_fs_1.realpathSync)((0, node_path_1.join)(projectPath, '.steroids')), result.steroidsSymlinkPath);
221
+ (0, globals_1.expect)(mockAccessSync).toHaveBeenCalledWith((0, node_path_1.join)(result.steroidsSymlinkPath, 'steroids.db'), globals_1.expect.any(Number));
222
+ });
223
+ (0, globals_1.it)('cleans workspace on clone command failure', () => {
224
+ const projectPath = createProjectFixture();
225
+ const workspacePath = getWorkspacePath(projectPath, 'stream', workspaceRoot);
226
+ forceCloneFailure = true;
227
+ (0, globals_1.expect)(() => {
228
+ createWorkspaceClone({
229
+ projectPath,
230
+ workstreamId: 'stream',
231
+ branchName: 'steroids/ws-stream',
232
+ workspaceRoot,
233
+ });
234
+ }).toThrow('Git clone failed');
235
+ (0, globals_1.expect)((0, node_fs_1.existsSync)(workspacePath)).toBe(false);
236
+ });
237
+ (0, globals_1.it)('cleans workspace on branch creation failure', () => {
238
+ const projectPath = createProjectFixture();
239
+ const workspacePath = getWorkspacePath(projectPath, 'stream', workspaceRoot);
240
+ forceBranchFailure = true;
241
+ (0, globals_1.expect)(() => {
242
+ createWorkspaceClone({
243
+ projectPath,
244
+ workstreamId: 'stream',
245
+ branchName: 'steroids/ws-stream',
246
+ workspaceRoot,
247
+ });
248
+ }).toThrow('Failed to create branch in clone');
249
+ (0, globals_1.expect)((0, node_fs_1.existsSync)(workspacePath)).toBe(false);
250
+ });
251
+ });
252
+ //# sourceMappingURL=clone.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clone.test.js","sourceRoot":"","sources":["../../src/parallel/clone.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Merge conflict resolution helpers.
3
+ */
4
+ import type Database from 'better-sqlite3';
5
+ interface ParseReviewDecisionResult {
6
+ decision: 'approve' | 'reject';
7
+ notes: string;
8
+ }
9
+ export interface ConflictRunOptions {
10
+ db: Database.Database;
11
+ projectPath: string;
12
+ sessionId: string;
13
+ workstreamId: string;
14
+ branchName: string;
15
+ position: number;
16
+ commitSha: string;
17
+ existingTaskId?: string;
18
+ }
19
+ export declare function parseReviewDecision(raw: string): ParseReviewDecisionResult;
20
+ export declare function runConflictResolutionCycle(options: ConflictRunOptions): Promise<'continued' | 'skipped'>;
21
+ export {};
22
+ //# sourceMappingURL=merge-conflict.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-conflict.d.ts","sourceRoot":"","sources":["../../src/parallel/merge-conflict.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AA2B3C,UAAU,yBAAyB;IACjC,QAAQ,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,yBAAyB,CAwB1E;AAoLD,wBAAsB,0BAA0B,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CA6J9G"}