@camaradesuk/git-worktree-tools 1.0.4 → 1.1.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 (168) hide show
  1. package/README.md +4 -0
  2. package/dist/cli/cleanpr.d.ts +1 -6
  3. package/dist/cli/cleanpr.d.ts.map +1 -1
  4. package/dist/cli/cleanpr.js +110 -302
  5. package/dist/cli/cleanpr.js.map +1 -1
  6. package/dist/cli/cleanpr.test.d.ts +2 -0
  7. package/dist/cli/cleanpr.test.d.ts.map +1 -0
  8. package/dist/cli/cleanpr.test.js +225 -0
  9. package/dist/cli/cleanpr.test.js.map +1 -0
  10. package/dist/cli/lswt.d.ts +1 -4
  11. package/dist/cli/lswt.d.ts.map +1 -1
  12. package/dist/cli/lswt.js +32 -251
  13. package/dist/cli/lswt.js.map +1 -1
  14. package/dist/cli/lswt.test.d.ts +2 -0
  15. package/dist/cli/lswt.test.d.ts.map +1 -0
  16. package/dist/cli/lswt.test.js +165 -0
  17. package/dist/cli/lswt.test.js.map +1 -0
  18. package/dist/cli/newpr.d.ts +1 -4
  19. package/dist/cli/newpr.d.ts.map +1 -1
  20. package/dist/cli/newpr.js +98 -493
  21. package/dist/cli/newpr.js.map +1 -1
  22. package/dist/cli/newpr.test.d.ts +2 -0
  23. package/dist/cli/newpr.test.d.ts.map +1 -0
  24. package/dist/cli/newpr.test.js +329 -0
  25. package/dist/cli/newpr.test.js.map +1 -0
  26. package/dist/cli/wtlink.test.d.ts +2 -0
  27. package/dist/cli/wtlink.test.d.ts.map +1 -0
  28. package/dist/cli/wtlink.test.js +148 -0
  29. package/dist/cli/wtlink.test.js.map +1 -0
  30. package/dist/e2e/cli.e2e.test.js +44 -1
  31. package/dist/e2e/cli.e2e.test.js.map +1 -1
  32. package/dist/integration/git.integration.test.js.map +1 -1
  33. package/dist/lib/cleanpr/args.d.ts +14 -0
  34. package/dist/lib/cleanpr/args.d.ts.map +1 -0
  35. package/dist/lib/cleanpr/args.js +82 -0
  36. package/dist/lib/cleanpr/args.js.map +1 -0
  37. package/dist/lib/cleanpr/args.test.d.ts +2 -0
  38. package/dist/lib/cleanpr/args.test.d.ts.map +1 -0
  39. package/dist/lib/cleanpr/args.test.js +192 -0
  40. package/dist/lib/cleanpr/args.test.js.map +1 -0
  41. package/dist/lib/cleanpr/cleanup.d.ts +61 -0
  42. package/dist/lib/cleanpr/cleanup.d.ts.map +1 -0
  43. package/dist/lib/cleanpr/cleanup.js +97 -0
  44. package/dist/lib/cleanpr/cleanup.js.map +1 -0
  45. package/dist/lib/cleanpr/cleanup.test.d.ts +2 -0
  46. package/dist/lib/cleanpr/cleanup.test.d.ts.map +1 -0
  47. package/dist/lib/cleanpr/cleanup.test.js +264 -0
  48. package/dist/lib/cleanpr/cleanup.test.js.map +1 -0
  49. package/dist/lib/cleanpr/index.d.ts +10 -0
  50. package/dist/lib/cleanpr/index.d.ts.map +1 -0
  51. package/dist/lib/cleanpr/index.js +8 -0
  52. package/dist/lib/cleanpr/index.js.map +1 -0
  53. package/dist/lib/cleanpr/types.d.ts +49 -0
  54. package/dist/lib/cleanpr/types.d.ts.map +1 -0
  55. package/dist/lib/cleanpr/types.js +5 -0
  56. package/dist/lib/cleanpr/types.js.map +1 -0
  57. package/dist/lib/cleanpr/worktree-info.d.ts +27 -0
  58. package/dist/lib/cleanpr/worktree-info.d.ts.map +1 -0
  59. package/dist/lib/cleanpr/worktree-info.js +95 -0
  60. package/dist/lib/cleanpr/worktree-info.js.map +1 -0
  61. package/dist/lib/cleanpr/worktree-info.test.d.ts +2 -0
  62. package/dist/lib/cleanpr/worktree-info.test.d.ts.map +1 -0
  63. package/dist/lib/cleanpr/worktree-info.test.js +160 -0
  64. package/dist/lib/cleanpr/worktree-info.test.js.map +1 -0
  65. package/dist/lib/colors.test.js +73 -0
  66. package/dist/lib/colors.test.js.map +1 -1
  67. package/dist/lib/config.test.js +79 -2
  68. package/dist/lib/config.test.js.map +1 -1
  69. package/dist/lib/git.d.ts.map +1 -1
  70. package/dist/lib/git.js +4 -3
  71. package/dist/lib/git.js.map +1 -1
  72. package/dist/lib/git.test.js +7 -7
  73. package/dist/lib/git.test.js.map +1 -1
  74. package/dist/lib/github.d.ts.map +1 -1
  75. package/dist/lib/github.js +4 -3
  76. package/dist/lib/github.js.map +1 -1
  77. package/dist/lib/github.test.js +2 -2
  78. package/dist/lib/github.test.js.map +1 -1
  79. package/dist/lib/lswt/args.d.ts +14 -0
  80. package/dist/lib/lswt/args.d.ts.map +1 -0
  81. package/dist/lib/lswt/args.js +67 -0
  82. package/dist/lib/lswt/args.js.map +1 -0
  83. package/dist/lib/lswt/args.test.d.ts +2 -0
  84. package/dist/lib/lswt/args.test.d.ts.map +1 -0
  85. package/dist/lib/lswt/args.test.js +135 -0
  86. package/dist/lib/lswt/args.test.js.map +1 -0
  87. package/dist/lib/lswt/formatters.d.ts +29 -0
  88. package/dist/lib/lswt/formatters.d.ts.map +1 -0
  89. package/dist/lib/lswt/formatters.js +113 -0
  90. package/dist/lib/lswt/formatters.js.map +1 -0
  91. package/dist/lib/lswt/formatters.test.d.ts +2 -0
  92. package/dist/lib/lswt/formatters.test.d.ts.map +1 -0
  93. package/dist/lib/lswt/formatters.test.js +233 -0
  94. package/dist/lib/lswt/formatters.test.js.map +1 -0
  95. package/dist/lib/lswt/index.d.ts +9 -0
  96. package/dist/lib/lswt/index.d.ts.map +1 -0
  97. package/dist/lib/lswt/index.js +9 -0
  98. package/dist/lib/lswt/index.js.map +1 -0
  99. package/dist/lib/lswt/types.d.ts +44 -0
  100. package/dist/lib/lswt/types.d.ts.map +1 -0
  101. package/dist/lib/lswt/types.js +5 -0
  102. package/dist/lib/lswt/types.js.map +1 -0
  103. package/dist/lib/lswt/worktree-info.d.ts +23 -0
  104. package/dist/lib/lswt/worktree-info.d.ts.map +1 -0
  105. package/dist/lib/lswt/worktree-info.js +81 -0
  106. package/dist/lib/lswt/worktree-info.js.map +1 -0
  107. package/dist/lib/lswt/worktree-info.test.d.ts +2 -0
  108. package/dist/lib/lswt/worktree-info.test.d.ts.map +1 -0
  109. package/dist/lib/lswt/worktree-info.test.js +190 -0
  110. package/dist/lib/lswt/worktree-info.test.js.map +1 -0
  111. package/dist/lib/newpr/actions.d.ts +56 -0
  112. package/dist/lib/newpr/actions.d.ts.map +1 -0
  113. package/dist/lib/newpr/actions.js +130 -0
  114. package/dist/lib/newpr/actions.js.map +1 -0
  115. package/dist/lib/newpr/actions.test.d.ts +2 -0
  116. package/dist/lib/newpr/actions.test.d.ts.map +1 -0
  117. package/dist/lib/newpr/actions.test.js +254 -0
  118. package/dist/lib/newpr/actions.test.js.map +1 -0
  119. package/dist/lib/newpr/args.d.ts +17 -0
  120. package/dist/lib/newpr/args.d.ts.map +1 -0
  121. package/dist/lib/newpr/args.js +123 -0
  122. package/dist/lib/newpr/args.js.map +1 -0
  123. package/dist/lib/newpr/args.test.d.ts +2 -0
  124. package/dist/lib/newpr/args.test.d.ts.map +1 -0
  125. package/dist/lib/newpr/args.test.js +271 -0
  126. package/dist/lib/newpr/args.test.js.map +1 -0
  127. package/dist/lib/newpr/index.d.ts +10 -0
  128. package/dist/lib/newpr/index.d.ts.map +1 -0
  129. package/dist/lib/newpr/index.js +8 -0
  130. package/dist/lib/newpr/index.js.map +1 -0
  131. package/dist/lib/newpr/scenario-handler.d.ts +40 -0
  132. package/dist/lib/newpr/scenario-handler.d.ts.map +1 -0
  133. package/dist/lib/newpr/scenario-handler.js +261 -0
  134. package/dist/lib/newpr/scenario-handler.js.map +1 -0
  135. package/dist/lib/newpr/scenario-handler.test.d.ts +2 -0
  136. package/dist/lib/newpr/scenario-handler.test.d.ts.map +1 -0
  137. package/dist/lib/newpr/scenario-handler.test.js +250 -0
  138. package/dist/lib/newpr/scenario-handler.test.js.map +1 -0
  139. package/dist/lib/newpr/types.d.ts +76 -0
  140. package/dist/lib/newpr/types.d.ts.map +1 -0
  141. package/dist/lib/newpr/types.js +5 -0
  142. package/dist/lib/newpr/types.js.map +1 -0
  143. package/dist/lib/state-detection.d.ts.map +1 -1
  144. package/dist/lib/state-detection.js +12 -3
  145. package/dist/lib/state-detection.js.map +1 -1
  146. package/dist/lib/state-detection.test.js +253 -2
  147. package/dist/lib/state-detection.test.js.map +1 -1
  148. package/dist/lib/wtlink/link-configs.d.ts +40 -0
  149. package/dist/lib/wtlink/link-configs.d.ts.map +1 -1
  150. package/dist/lib/wtlink/link-configs.js +126 -11
  151. package/dist/lib/wtlink/link-configs.js.map +1 -1
  152. package/dist/lib/wtlink/link-configs.test.js +237 -84
  153. package/dist/lib/wtlink/link-configs.test.js.map +1 -1
  154. package/dist/lib/wtlink/manage-manifest.d.ts +86 -0
  155. package/dist/lib/wtlink/manage-manifest.d.ts.map +1 -1
  156. package/dist/lib/wtlink/manage-manifest.js +18 -15
  157. package/dist/lib/wtlink/manage-manifest.js.map +1 -1
  158. package/dist/lib/wtlink/manage-manifest.test.d.ts +2 -0
  159. package/dist/lib/wtlink/manage-manifest.test.d.ts.map +1 -0
  160. package/dist/lib/wtlink/manage-manifest.test.js +383 -0
  161. package/dist/lib/wtlink/manage-manifest.test.js.map +1 -0
  162. package/dist/lib/wtlink/validate-manifest.d.ts +27 -0
  163. package/dist/lib/wtlink/validate-manifest.d.ts.map +1 -1
  164. package/dist/lib/wtlink/validate-manifest.js +103 -28
  165. package/dist/lib/wtlink/validate-manifest.js.map +1 -1
  166. package/dist/lib/wtlink/validate-manifest.test.js +170 -65
  167. package/dist/lib/wtlink/validate-manifest.test.js.map +1 -1
  168. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scenario-handler.js","sourceRoot":"","sources":["../../../src/lib/newpr/scenario-handler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAcH;;GAEG;AACH,SAAS,MAAM,CACb,UAAiC,EACjC,YAAkC,EAAE;IAEpC,OAAO;QACL,MAAM,EAAE,UAAU;QAClB,UAAU,EAAE,aAAa;QACzB,aAAa,EAAE,KAAK;QACpB,GAAG,SAAS;KACb,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,QAAkB,EAClB,KAAe,EACf,WAAmB;IAEnB,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,iBAAiB;YACpB,OAAO;gBACL,OAAO,EAAE,uCAAuC;gBAChD,UAAU,EACR,qIAAqI;gBACvI,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,oCAAoC,EAAE,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,EAAE;oBAC/E,EAAE,KAAK,EAAE,uCAAuC,EAAE,MAAM,EAAE,IAAI,EAAE;iBACjE;aACF,CAAC;QAEJ,KAAK,kBAAkB;YACrB,OAAO;gBACL,OAAO,EAAE,0CAA0C;gBACnD,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,4CAA4C,EAAE,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,EAAE;oBACxF;wBACE,KAAK,EAAE,2DAA2D;wBAClE,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;qBAC/B;oBACD,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;iBAClC;aACF,CAAC;QAEJ,KAAK,oBAAoB;YACvB,OAAO;gBACL,OAAO,EAAE,4BAA4B;gBACrC,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,2CAA2C,EAAE,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE;oBACpF;wBACE,KAAK,EAAE,2DAA2D;wBAClE,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;qBAC/B;oBACD,EAAE,KAAK,EAAE,oCAAoC,EAAE,MAAM,EAAE,MAAM,CAAC,iBAAiB,CAAC,EAAE;oBAClF,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;iBAClC;aACF,CAAC;QAEJ,KAAK,gBAAgB;YACnB,OAAO;gBACL,OAAO,EAAE,4CAA4C;gBACrD,OAAO,EAAE;oBACP;wBACE,KAAK,EAAE,2DAA2D;wBAClE,MAAM,EAAE,MAAM,CAAC,eAAe,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;qBACzD;oBACD;wBACE,KAAK,EAAE,sDAAsD;wBAC7D,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC;qBAC7B;oBACD;wBACE,KAAK,EAAE,+DAA+D;wBACtE,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;qBAC/B;oBACD,EAAE,KAAK,EAAE,wCAAwC,EAAE,MAAM,EAAE,MAAM,CAAC,iBAAiB,CAAC,EAAE;oBACtF,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;iBAClC;aACF,CAAC;QAEJ,KAAK,kBAAkB;YACrB,OAAO;gBACL,OAAO,EAAE,kDAAkD;gBAC3D,UAAU,EAAE,qEAAqE;gBACjF,OAAO,EAAE;oBACP;wBACE,KAAK,EAAE,wDAAwD;wBAC/D,MAAM,EAAE,MAAM,CAAC,aAAa,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;qBACtD;oBACD;wBACE,KAAK,EAAE,0DAA0D;wBACjE,MAAM,EAAE,MAAM,CAAC,kBAAkB,CAAC;qBACnC;oBACD;wBACE,KAAK,EAAE,qDAAqD;wBAC5D,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;qBAC/B;oBACD,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;iBAClC;aACF,CAAC;QAEJ,KAAK,oBAAoB;YACvB,OAAO;gBACL,OAAO,EAAE,iDAAiD;gBAC1D,OAAO,EAAE;oBACP;wBACE,KAAK,EAAE,2DAA2D;wBAClE,MAAM,EAAE,MAAM,CAAC,4BAA4B,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;qBACrE;oBACD;wBACE,KAAK,EAAE,iDAAiD;wBACxD,MAAM,EAAE,MAAM,CAAC,uBAAuB,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;qBAChE;oBACD;wBACE,KAAK,EAAE,sDAAsD;wBAC7D,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;qBAC/B;oBACD,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;iBAClC;aACF,CAAC;QAEJ,KAAK,qBAAqB,CAAC,CAAC,CAAC;YAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,IAAI,SAAS,CAAC;YAChD,OAAO;gBACL,OAAO,EAAE,WAAW,MAAM,kCAAkC;gBAC5D,UAAU,EAAE,8EAA8E;gBAC1F,OAAO,EAAE;oBACP;wBACE,KAAK,EAAE,2DAA2D;wBAClE,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;qBAC/B;oBACD,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;iBAClC;aACF,CAAC;QACJ,CAAC;QAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,IAAI,SAAS,CAAC;YAChD,OAAO;gBACL,OAAO,EAAE,WAAW,MAAM,2CAA2C;gBACrE,UAAU,EAAE,2CAA2C;gBACvD,OAAO,EAAE;oBACP;wBACE,KAAK,EAAE,2DAA2D;wBAClE,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;qBAC/B;oBACD,EAAE,KAAK,EAAE,6CAA6C,EAAE,MAAM,EAAE,IAAI,EAAE;iBACvE;aACF,CAAC;QACJ,CAAC;QAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACxB,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,IAAI,SAAS,CAAC;YAChD,OAAO;gBACL,OAAO,EAAE,sBAAsB,MAAM,6BAA6B;gBAClE,OAAO,EAAE;oBACP;wBACE,KAAK,EAAE,8BAA8B,MAAM,UAAU;wBACrD,MAAM,EAAE,MAAM,CAAC,sBAAsB,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;qBAC/D;oBACD;wBACE,KAAK,EAAE,+DAA+D;wBACtE,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;qBAC/B;oBACD,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;iBAClC;aACF,CAAC;QACJ,CAAC;QAED,KAAK,qBAAqB,CAAC,CAAC,CAAC;YAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,IAAI,SAAS,CAAC;YAChD,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;YAEnD,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO;oBACL,OAAO,EAAE,sBAAsB,MAAM,6BAA6B;oBAClE,UAAU,EAAE,sCAAsC;oBAClD,OAAO,EAAE;wBACP;4BACE,KAAK,EAAE,iDAAiD;4BACxD,MAAM,EAAE,MAAM,CAAC,0BAA0B,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;yBACnE;wBACD;4BACE,KAAK,EAAE,sDAAsD;4BAC7D,MAAM,EAAE,MAAM,CAAC,qBAAqB,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;yBAC9D;wBACD;4BACE,KAAK,EAAE,qDAAqD;4BAC5D,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;yBAC/B;wBACD,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;qBAClC;iBACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO;oBACL,OAAO,EAAE,sBAAsB,MAAM,6BAA6B;oBAClE,OAAO,EAAE;wBACP,EAAE,KAAK,EAAE,yCAAyC,EAAE,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE;wBAClF;4BACE,KAAK,EAAE,sDAAsD;4BAC7D,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;yBAC/B;wBACD,EAAE,KAAK,EAAE,oCAAoC,EAAE,MAAM,EAAE,MAAM,CAAC,iBAAiB,CAAC,EAAE;wBAClF,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;qBAClC;iBACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,KAAK,eAAe;YAClB,OAAO;gBACL,OAAO,EAAE,iCAAiC;gBAC1C,OAAO,EAAE;oBACP;wBACE,KAAK,EAAE,gCAAgC;wBACvC,MAAM,EAAE,MAAM,CAAC,sBAAsB,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;qBAC/D;oBACD,EAAE,KAAK,EAAE,gCAAgC,EAAE,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,EAAE;oBAC3E,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;iBAClC;aACF,CAAC;QAEJ,KAAK,aAAa;YAChB,iEAAiE;YACjE,wEAAwE;YACxE,OAAO,IAAI,CAAC;QAEd;YACE,2CAA2C;YAC3C,OAAO;gBACL,OAAO,EAAE,qBAAqB;gBAC9B,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,oCAAoC,EAAE,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,EAAE;oBAC/E,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;iBAClC;aACF,CAAC;IACN,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAkB;IACrD,OAAO,QAAQ,KAAK,aAAa,CAAC;AACpC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAmB;IACxD,OAAO,CACL,MAAM,CAAC,MAAM,KAAK,sBAAsB;QACxC,MAAM,CAAC,MAAM,KAAK,0BAA0B;QAC5C,MAAM,CAAC,MAAM,KAAK,qBAAqB,CACxC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAmB;IACtD,OAAO,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC;AACtC,CAAC;AAOD,MAAM,UAAU,uBAAuB,CAAC,QAAkB;IACxD,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,iBAAiB,CAAC;QACvB,KAAK,qBAAqB,CAAC;QAC3B,KAAK,iBAAiB,CAAC;QACvB,KAAK,eAAe,CAAC;QACrB,KAAK,aAAa;YAChB,OAAO,SAAS,CAAC;QAEnB;YACE,OAAO,MAAM,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=scenario-handler.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scenario-handler.test.d.ts","sourceRoot":"","sources":["../../../src/lib/newpr/scenario-handler.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,250 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { getScenarioContext, isPrWorktreeScenario, isExistingBranchAction, shouldBranchFromHead, getScenarioMessageLevel, } from './scenario-handler.js';
3
+ describe('newpr/scenario-handler', () => {
4
+ const makeGitState = (overrides = {}) => ({
5
+ worktreeType: 'main_worktree',
6
+ branchType: 'main',
7
+ currentBranch: 'main',
8
+ commitRelationship: 'same',
9
+ workingTreeStatus: 'clean',
10
+ localCommits: [],
11
+ stagedFiles: [],
12
+ unstagedFiles: [],
13
+ repoRoot: '/home/user/repo',
14
+ repoName: 'repo',
15
+ ...overrides,
16
+ });
17
+ describe('getScenarioContext', () => {
18
+ describe('main_clean_same scenario', () => {
19
+ it('returns context with empty commit option', () => {
20
+ const context = getScenarioContext('main_clean_same', makeGitState(), 'main');
21
+ expect(context).not.toBeNull();
22
+ expect(context.message).toContain('No changes detected');
23
+ expect(context.choices).toHaveLength(2);
24
+ expect(context.choices[0].action?.action).toBe('empty_commit');
25
+ expect(context.choices[1].action).toBeNull(); // Cancel
26
+ });
27
+ });
28
+ describe('main_staged_same scenario', () => {
29
+ it('returns context with commit staged option', () => {
30
+ const context = getScenarioContext('main_staged_same', makeGitState({ stagedFiles: ['file.ts'] }), 'main');
31
+ expect(context).not.toBeNull();
32
+ expect(context.message).toContain('staged changes');
33
+ expect(context.choices).toHaveLength(3);
34
+ expect(context.choices[0].action?.action).toBe('commit_staged');
35
+ expect(context.choices[1].action?.action).toBe('empty_commit');
36
+ });
37
+ });
38
+ describe('main_unstaged_same scenario', () => {
39
+ it('returns context with commit all option', () => {
40
+ const context = getScenarioContext('main_unstaged_same', makeGitState({ unstagedFiles: ['file.ts'] }), 'main');
41
+ expect(context).not.toBeNull();
42
+ expect(context.message).toContain('unstaged changes');
43
+ expect(context.choices).toHaveLength(4);
44
+ expect(context.choices[0].action?.action).toBe('commit_all');
45
+ expect(context.choices[2].action?.action).toBe('stash_and_empty');
46
+ });
47
+ });
48
+ describe('main_both_same scenario', () => {
49
+ it('returns context with multiple options', () => {
50
+ const context = getScenarioContext('main_both_same', makeGitState({ stagedFiles: ['a.ts'], unstagedFiles: ['b.ts'] }), 'main');
51
+ expect(context).not.toBeNull();
52
+ expect(context.message).toContain('both staged and unstaged');
53
+ expect(context.choices).toHaveLength(5);
54
+ expect(context.choices[0].action?.stashUnstaged).toBe(true);
55
+ });
56
+ });
57
+ describe('main_clean_ahead scenario', () => {
58
+ it('returns context with use commits option', () => {
59
+ const context = getScenarioContext('main_clean_ahead', makeGitState({ localCommits: ['abc123'] }), 'main');
60
+ expect(context).not.toBeNull();
61
+ expect(context.message).toContain('local commits');
62
+ expect(context.choices).toHaveLength(4);
63
+ expect(context.choices[0].action?.action).toBe('use_commits');
64
+ expect(context.choices[0].action?.branchFrom).toBe('head');
65
+ expect(context.choices[1].action?.action).toBe('push_then_branch');
66
+ });
67
+ });
68
+ describe('main_changes_ahead scenario', () => {
69
+ it('returns context with use commits and commit all option', () => {
70
+ const context = getScenarioContext('main_changes_ahead', makeGitState({ localCommits: ['abc123'], unstagedFiles: ['file.ts'] }), 'main');
71
+ expect(context).not.toBeNull();
72
+ expect(context.message).toContain('local commits AND uncommitted changes');
73
+ expect(context.choices).toHaveLength(4);
74
+ expect(context.choices[0].action?.action).toBe('use_commits_and_commit_all');
75
+ expect(context.choices[1].action?.action).toBe('use_commits_and_stash');
76
+ });
77
+ });
78
+ describe('branch_same_as_main scenario', () => {
79
+ it('returns context with branch name in message', () => {
80
+ const context = getScenarioContext('branch_same_as_main', makeGitState({ currentBranch: 'feature', branchType: 'other' }), 'main');
81
+ expect(context).not.toBeNull();
82
+ expect(context.message).toContain("'feature'");
83
+ expect(context.message).toContain('same commit as main');
84
+ expect(context.choices).toHaveLength(2);
85
+ });
86
+ it('uses unknown for null branch', () => {
87
+ const context = getScenarioContext('branch_same_as_main', makeGitState({ currentBranch: null, branchType: 'other' }), 'main');
88
+ expect(context.message).toContain("'unknown'");
89
+ });
90
+ });
91
+ describe('branch_ancestor scenario', () => {
92
+ it('returns context with merged warning', () => {
93
+ const context = getScenarioContext('branch_ancestor', makeGitState({ currentBranch: 'old-feature', branchType: 'other' }), 'main');
94
+ expect(context).not.toBeNull();
95
+ expect(context.message).toContain('already merged');
96
+ expect(context.choices).toHaveLength(2);
97
+ });
98
+ });
99
+ describe('branch_divergent scenario', () => {
100
+ it('returns context with create PR for branch option', () => {
101
+ const context = getScenarioContext('branch_divergent', makeGitState({
102
+ currentBranch: 'my-feature',
103
+ branchType: 'other',
104
+ localCommits: ['abc123'],
105
+ }), 'main');
106
+ expect(context).not.toBeNull();
107
+ expect(context.message).toContain("'my-feature'");
108
+ expect(context.choices).toHaveLength(3);
109
+ expect(context.choices[0].action?.action).toBe('create_pr_for_branch');
110
+ expect(context.choices[0].label).toContain('my-feature');
111
+ });
112
+ });
113
+ describe('branch_with_changes scenario', () => {
114
+ it('returns divergent branch options when has local commits', () => {
115
+ const context = getScenarioContext('branch_with_changes', makeGitState({
116
+ currentBranch: 'my-feature',
117
+ branchType: 'other',
118
+ unstagedFiles: ['file.ts'],
119
+ localCommits: ['abc123'],
120
+ }), 'main');
121
+ expect(context).not.toBeNull();
122
+ expect(context.subMessage).toContain('commits not in main');
123
+ expect(context.choices).toHaveLength(4);
124
+ expect(context.choices[0].action?.action).toBe('pr_for_branch_commit_all');
125
+ expect(context.choices[1].action?.action).toBe('pr_for_branch_stash');
126
+ });
127
+ it('returns simple options when no local commits', () => {
128
+ const context = getScenarioContext('branch_with_changes', makeGitState({
129
+ currentBranch: 'my-feature',
130
+ branchType: 'other',
131
+ unstagedFiles: ['file.ts'],
132
+ localCommits: [],
133
+ }), 'main');
134
+ expect(context).not.toBeNull();
135
+ expect(context.subMessage).toBeUndefined();
136
+ expect(context.choices).toHaveLength(4);
137
+ expect(context.choices[0].action?.action).toBe('commit_all');
138
+ });
139
+ });
140
+ describe('detached_head scenario', () => {
141
+ it('returns context with branch from detached option', () => {
142
+ const context = getScenarioContext('detached_head', makeGitState({ branchType: 'detached', currentBranch: null }), 'main');
143
+ expect(context).not.toBeNull();
144
+ expect(context.message).toContain('detached HEAD');
145
+ expect(context.choices).toHaveLength(3);
146
+ expect(context.choices[0].action?.action).toBe('branch_from_detached');
147
+ expect(context.choices[0].action?.branchFrom).toBe('head');
148
+ });
149
+ });
150
+ describe('pr_worktree scenario', () => {
151
+ it('returns null for delegation', () => {
152
+ const context = getScenarioContext('pr_worktree', makeGitState(), 'main');
153
+ expect(context).toBeNull();
154
+ });
155
+ });
156
+ describe('default scenario', () => {
157
+ it('returns context with empty commit for unhandled scenarios', () => {
158
+ // Force an unknown scenario value
159
+ const context = getScenarioContext('unknown_scenario', makeGitState(), 'main');
160
+ expect(context).not.toBeNull();
161
+ expect(context.message).toContain('Ready to create PR');
162
+ expect(context.choices).toHaveLength(2);
163
+ });
164
+ });
165
+ });
166
+ describe('isPrWorktreeScenario', () => {
167
+ it('returns true for pr_worktree', () => {
168
+ expect(isPrWorktreeScenario('pr_worktree')).toBe(true);
169
+ });
170
+ it('returns false for other scenarios', () => {
171
+ expect(isPrWorktreeScenario('main_clean_same')).toBe(false);
172
+ expect(isPrWorktreeScenario('branch_divergent')).toBe(false);
173
+ });
174
+ });
175
+ describe('isExistingBranchAction', () => {
176
+ it('returns true for create_pr_for_branch', () => {
177
+ const action = {
178
+ action: 'create_pr_for_branch',
179
+ branchFrom: 'head',
180
+ stashUnstaged: false,
181
+ };
182
+ expect(isExistingBranchAction(action)).toBe(true);
183
+ });
184
+ it('returns true for pr_for_branch_commit_all', () => {
185
+ const action = {
186
+ action: 'pr_for_branch_commit_all',
187
+ branchFrom: 'head',
188
+ stashUnstaged: false,
189
+ };
190
+ expect(isExistingBranchAction(action)).toBe(true);
191
+ });
192
+ it('returns true for pr_for_branch_stash', () => {
193
+ const action = {
194
+ action: 'pr_for_branch_stash',
195
+ branchFrom: 'head',
196
+ stashUnstaged: false,
197
+ };
198
+ expect(isExistingBranchAction(action)).toBe(true);
199
+ });
200
+ it('returns false for other actions', () => {
201
+ const action = {
202
+ action: 'empty_commit',
203
+ branchFrom: 'origin_main',
204
+ stashUnstaged: false,
205
+ };
206
+ expect(isExistingBranchAction(action)).toBe(false);
207
+ });
208
+ });
209
+ describe('shouldBranchFromHead', () => {
210
+ it('returns true when branchFrom is head', () => {
211
+ const action = {
212
+ action: 'use_commits',
213
+ branchFrom: 'head',
214
+ stashUnstaged: false,
215
+ };
216
+ expect(shouldBranchFromHead(action)).toBe(true);
217
+ });
218
+ it('returns false when branchFrom is origin_main', () => {
219
+ const action = {
220
+ action: 'empty_commit',
221
+ branchFrom: 'origin_main',
222
+ stashUnstaged: false,
223
+ };
224
+ expect(shouldBranchFromHead(action)).toBe(false);
225
+ });
226
+ });
227
+ describe('getScenarioMessageLevel', () => {
228
+ it('returns warning for main_clean_same', () => {
229
+ expect(getScenarioMessageLevel('main_clean_same')).toBe('warning');
230
+ });
231
+ it('returns warning for branch_same_as_main', () => {
232
+ expect(getScenarioMessageLevel('branch_same_as_main')).toBe('warning');
233
+ });
234
+ it('returns warning for branch_ancestor', () => {
235
+ expect(getScenarioMessageLevel('branch_ancestor')).toBe('warning');
236
+ });
237
+ it('returns warning for detached_head', () => {
238
+ expect(getScenarioMessageLevel('detached_head')).toBe('warning');
239
+ });
240
+ it('returns warning for pr_worktree', () => {
241
+ expect(getScenarioMessageLevel('pr_worktree')).toBe('warning');
242
+ });
243
+ it('returns info for other scenarios', () => {
244
+ expect(getScenarioMessageLevel('main_staged_same')).toBe('info');
245
+ expect(getScenarioMessageLevel('branch_divergent')).toBe('info');
246
+ expect(getScenarioMessageLevel('main_clean_ahead')).toBe('info');
247
+ });
248
+ });
249
+ });
250
+ //# sourceMappingURL=scenario-handler.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scenario-handler.test.js","sourceRoot":"","sources":["../../../src/lib/newpr/scenario-handler.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * newpr types - CLI options and result types
3
+ */
4
+ /**
5
+ * CLI operation mode
6
+ */
7
+ export type Mode = 'new' | 'pr' | 'branch';
8
+ /**
9
+ * CLI options
10
+ */
11
+ export interface Options {
12
+ mode: Mode;
13
+ description?: string;
14
+ prNumber?: number;
15
+ branchName?: string;
16
+ baseBranch: string;
17
+ draft: boolean;
18
+ installDeps: boolean;
19
+ openEditor: boolean;
20
+ runWtlink: boolean;
21
+ }
22
+ /**
23
+ * Branch source for creating new branches
24
+ */
25
+ export type BranchFrom = 'origin_main' | 'head';
26
+ /**
27
+ * Action type from scenario handling
28
+ */
29
+ export type ActionType = 'empty_commit' | 'commit_staged' | 'commit_all' | 'stash_and_empty' | 'use_commits' | 'push_then_branch' | 'use_commits_and_commit_all' | 'use_commits_and_stash' | 'create_pr_for_branch' | 'pr_for_branch_commit_all' | 'pr_for_branch_stash' | 'branch_from_detached';
30
+ /**
31
+ * State action result from scenario handling
32
+ */
33
+ export interface StateAction {
34
+ action: ActionType;
35
+ branchFrom: BranchFrom;
36
+ stashUnstaged: boolean;
37
+ }
38
+ /**
39
+ * Parse result - discriminated union for parseArgs
40
+ */
41
+ export type ParseResult = {
42
+ kind: 'success';
43
+ options: Options;
44
+ } | {
45
+ kind: 'help';
46
+ } | {
47
+ kind: 'error';
48
+ message: string;
49
+ };
50
+ /**
51
+ * Action execution result
52
+ */
53
+ export interface ActionResult {
54
+ success: boolean;
55
+ stashRef: string | null;
56
+ message?: string;
57
+ }
58
+ /**
59
+ * Scenario prompt choice - data structure for prompt options
60
+ */
61
+ export interface ScenarioChoice {
62
+ label: string;
63
+ action: StateAction | null;
64
+ }
65
+ /**
66
+ * Scenario handler result - either choices to prompt or cancelled
67
+ */
68
+ export type ScenarioResult = {
69
+ kind: 'choices';
70
+ message: string;
71
+ choices: ScenarioChoice[];
72
+ } | {
73
+ kind: 'delegate';
74
+ scenario: string;
75
+ };
76
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/newpr/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,QAAQ,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,IAAI,CAAC;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG,MAAM,CAAC;AAEhD;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB,cAAc,GACd,eAAe,GACf,YAAY,GACZ,iBAAiB,GACjB,aAAa,GACb,kBAAkB,GAClB,4BAA4B,GAC5B,uBAAuB,GACvB,sBAAsB,GACtB,0BAA0B,GAC1B,qBAAqB,GACrB,sBAAsB,CAAC;AAE3B;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,cAAc,EAAE,CAAA;CAAE,GAC/D;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * newpr types - CLI options and result types
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/newpr/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -1 +1 @@
1
- {"version":3,"file":"state-detection.d.ts","sourceRoot":"","sources":["../../src/lib/state-detection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAGtE;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,eAAe,GAAG,aAAa,GAAG,OAAO,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAChB,iBAAiB,GACjB,kBAAkB,GAClB,oBAAoB,GACpB,gBAAgB,GAChB,kBAAkB,GAClB,oBAAoB,GACpB,qBAAqB,GACrB,iBAAiB,GACjB,kBAAkB,GAClB,qBAAqB,GACrB,eAAe,GACf,aAAa,CAAC;AAElB;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAoBjE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,UAAU,CAW7E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,GAAE,MAA4B,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,QAAQ,CAyBhG;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,CA8DxD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CA2BjE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAEnD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAExD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,GAAE,MAAW,GAAG,MAAM,CAM3E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAM1D"}
1
+ {"version":3,"file":"state-detection.d.ts","sourceRoot":"","sources":["../../src/lib/state-detection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAGtE;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,eAAe,GAAG,aAAa,GAAG,OAAO,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAChB,iBAAiB,GACjB,kBAAkB,GAClB,oBAAoB,GACpB,gBAAgB,GAChB,kBAAkB,GAClB,oBAAoB,GACpB,qBAAqB,GACrB,iBAAiB,GACjB,kBAAkB,GAClB,qBAAqB,GACrB,eAAe,GACf,aAAa,CAAC;AAElB;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAoBjE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,UAAU,CAW7E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,GAAE,MAA4B,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,QAAQ,CAyBhG;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAqExD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CA2BjE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAEnD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAExD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,GAAE,MAAW,GAAG,MAAM,CAM3E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAM1D"}
@@ -75,8 +75,8 @@ export function detectScenario(state) {
75
75
  }
76
76
  // On main branch scenarios (1-4)
77
77
  if (branchType === 'main') {
78
- if (commitRelationship === 'same') {
79
- // Same as origin/main
78
+ if (commitRelationship === 'same' || commitRelationship === 'behind') {
79
+ // Same as origin/main, or behind origin/main (both can branch from origin/main)
80
80
  switch (workingTreeStatus) {
81
81
  case 'clean':
82
82
  return 'main_clean_same'; // Scenario 1
@@ -97,7 +97,16 @@ export function detectScenario(state) {
97
97
  return 'main_changes_ahead'; // Scenario 4
98
98
  }
99
99
  }
100
- // Behind or divergent on main - treat like same (unusual state)
100
+ else if (commitRelationship === 'divergent') {
101
+ // Divergent from origin/main - has both ahead and behind commits
102
+ if (workingTreeStatus === 'clean') {
103
+ return 'main_clean_ahead'; // Treat like ahead for user options
104
+ }
105
+ else {
106
+ return 'main_changes_ahead'; // Scenario 4
107
+ }
108
+ }
109
+ // Fallback (shouldn't reach here)
101
110
  return 'main_clean_same';
102
111
  }
103
112
  // On different branch scenarios (5-8)
@@ -1 +1 @@
1
- {"version":3,"file":"state-detection.js","sourceRoot":"","sources":["../../src/lib/state-detection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state-detection.js","sourceRoot":"","sources":["../../src/lib/state-detection.ts"],"names":[],"mappings":"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"}