takt 0.35.2 → 0.35.4

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 (117) hide show
  1. package/builtins/en/facets/policies/review.md +12 -0
  2. package/builtins/ja/facets/policies/review.md +12 -0
  3. package/dist/core/models/piece-types.d.ts +3 -0
  4. package/dist/core/models/piece-types.d.ts.map +1 -1
  5. package/dist/core/models/workflow-schemas.d.ts +98 -0
  6. package/dist/core/models/workflow-schemas.d.ts.map +1 -1
  7. package/dist/core/models/workflow-schemas.js +2 -0
  8. package/dist/core/models/workflow-schemas.js.map +1 -1
  9. package/dist/core/piece/engine/MovementExecutor.d.ts +3 -3
  10. package/dist/core/piece/engine/MovementExecutor.d.ts.map +1 -1
  11. package/dist/core/piece/engine/MovementExecutor.js +7 -7
  12. package/dist/core/piece/engine/MovementExecutor.js.map +1 -1
  13. package/dist/core/piece/engine/OptionsBuilder.d.ts +7 -7
  14. package/dist/core/piece/engine/OptionsBuilder.d.ts.map +1 -1
  15. package/dist/core/piece/engine/OptionsBuilder.js +18 -15
  16. package/dist/core/piece/engine/OptionsBuilder.js.map +1 -1
  17. package/dist/core/piece/engine/PieceEngine.d.ts.map +1 -1
  18. package/dist/core/piece/engine/PieceEngine.js +36 -6
  19. package/dist/core/piece/engine/PieceEngine.js.map +1 -1
  20. package/dist/core/piece/phase-runner.js +3 -1
  21. package/dist/core/piece/phase-runner.js.map +1 -1
  22. package/dist/core/piece/provider-model-compatibility.d.ts +7 -0
  23. package/dist/core/piece/provider-model-compatibility.d.ts.map +1 -0
  24. package/dist/core/piece/provider-model-compatibility.js +20 -0
  25. package/dist/core/piece/provider-model-compatibility.js.map +1 -0
  26. package/dist/core/piece/provider-resolution.d.ts +13 -1
  27. package/dist/core/piece/provider-resolution.d.ts.map +1 -1
  28. package/dist/core/piece/provider-resolution.js +13 -0
  29. package/dist/core/piece/provider-resolution.js.map +1 -1
  30. package/dist/core/piece/session-key.d.ts +2 -1
  31. package/dist/core/piece/session-key.d.ts.map +1 -1
  32. package/dist/core/piece/session-key.js +3 -2
  33. package/dist/core/piece/session-key.js.map +1 -1
  34. package/dist/core/piece/types.d.ts +3 -0
  35. package/dist/core/piece/types.d.ts.map +1 -1
  36. package/dist/features/tasks/execute/postExecution.d.ts.map +1 -1
  37. package/dist/features/tasks/execute/postExecution.js +14 -22
  38. package/dist/features/tasks/execute/postExecution.js.map +1 -1
  39. package/dist/features/tasks/list/index.js +2 -2
  40. package/dist/features/tasks/list/index.js.map +1 -1
  41. package/dist/features/tasks/list/listNonInteractive.d.ts.map +1 -1
  42. package/dist/features/tasks/list/listNonInteractive.js +8 -16
  43. package/dist/features/tasks/list/listNonInteractive.js.map +1 -1
  44. package/dist/features/tasks/list/taskActionTarget.d.ts +1 -0
  45. package/dist/features/tasks/list/taskActionTarget.d.ts.map +1 -1
  46. package/dist/features/tasks/list/taskActionTarget.js +43 -2
  47. package/dist/features/tasks/list/taskActionTarget.js.map +1 -1
  48. package/dist/features/tasks/list/taskActions.d.ts +1 -1
  49. package/dist/features/tasks/list/taskActions.d.ts.map +1 -1
  50. package/dist/features/tasks/list/taskActions.js +1 -1
  51. package/dist/features/tasks/list/taskActions.js.map +1 -1
  52. package/dist/features/tasks/list/taskBranchLifecycleActions.d.ts.map +1 -1
  53. package/dist/features/tasks/list/taskBranchLifecycleActions.js +24 -3
  54. package/dist/features/tasks/list/taskBranchLifecycleActions.js.map +1 -1
  55. package/dist/features/tasks/list/taskDiffActions.d.ts +2 -1
  56. package/dist/features/tasks/list/taskDiffActions.d.ts.map +1 -1
  57. package/dist/features/tasks/list/taskDiffActions.js +22 -9
  58. package/dist/features/tasks/list/taskDiffActions.js.map +1 -1
  59. package/dist/features/tasks/list/taskSyncAction.d.ts.map +1 -1
  60. package/dist/features/tasks/list/taskSyncAction.js +30 -10
  61. package/dist/features/tasks/list/taskSyncAction.js.map +1 -1
  62. package/dist/infra/claude-headless/headless-spawn.d.ts.map +1 -1
  63. package/dist/infra/claude-headless/headless-spawn.js +2 -2
  64. package/dist/infra/claude-headless/headless-spawn.js.map +1 -1
  65. package/dist/infra/codex/client.d.ts.map +1 -1
  66. package/dist/infra/codex/client.js +7 -5
  67. package/dist/infra/codex/client.js.map +1 -1
  68. package/dist/infra/config/loaders/pieceParser.d.ts.map +1 -1
  69. package/dist/infra/config/loaders/pieceParser.js +30 -3
  70. package/dist/infra/config/loaders/pieceParser.js.map +1 -1
  71. package/dist/infra/config/providerModelCompatibility.d.ts +1 -6
  72. package/dist/infra/config/providerModelCompatibility.d.ts.map +1 -1
  73. package/dist/infra/config/providerModelCompatibility.js +1 -19
  74. package/dist/infra/config/providerModelCompatibility.js.map +1 -1
  75. package/dist/infra/copilot/client.d.ts.map +1 -1
  76. package/dist/infra/copilot/client.js +2 -3
  77. package/dist/infra/copilot/client.js.map +1 -1
  78. package/dist/infra/cursor/client.d.ts.map +1 -1
  79. package/dist/infra/cursor/client.js +2 -3
  80. package/dist/infra/cursor/client.js.map +1 -1
  81. package/dist/infra/task/autoCommit.js +3 -3
  82. package/dist/infra/task/autoCommit.js.map +1 -1
  83. package/dist/infra/task/clone.d.ts +1 -1
  84. package/dist/infra/task/clone.d.ts.map +1 -1
  85. package/dist/infra/task/clone.js +1 -1
  86. package/dist/infra/task/clone.js.map +1 -1
  87. package/dist/infra/task/git.d.ts +1 -0
  88. package/dist/infra/task/git.d.ts.map +1 -1
  89. package/dist/infra/task/git.js +7 -0
  90. package/dist/infra/task/git.js.map +1 -1
  91. package/dist/infra/task/index.d.ts +2 -2
  92. package/dist/infra/task/index.d.ts.map +1 -1
  93. package/dist/infra/task/index.js +2 -2
  94. package/dist/infra/task/index.js.map +1 -1
  95. package/dist/shared/prompt/select-menu.d.ts +45 -0
  96. package/dist/shared/prompt/select-menu.d.ts.map +1 -0
  97. package/dist/shared/prompt/select-menu.js +95 -0
  98. package/dist/shared/prompt/select-menu.js.map +1 -0
  99. package/dist/shared/prompt/select-viewport.d.ts +27 -0
  100. package/dist/shared/prompt/select-viewport.d.ts.map +1 -0
  101. package/dist/shared/prompt/select-viewport.js +124 -0
  102. package/dist/shared/prompt/select-viewport.js.map +1 -0
  103. package/dist/shared/prompt/select.d.ts +4 -44
  104. package/dist/shared/prompt/select.d.ts.map +1 -1
  105. package/dist/shared/prompt/select.js +30 -101
  106. package/dist/shared/prompt/select.js.map +1 -1
  107. package/dist/shared/utils/index.d.ts +1 -0
  108. package/dist/shared/utils/index.d.ts.map +1 -1
  109. package/dist/shared/utils/index.js +1 -0
  110. package/dist/shared/utils/index.js.map +1 -1
  111. package/dist/shared/utils/providerModel.js +1 -1
  112. package/dist/shared/utils/providerModel.js.map +1 -1
  113. package/dist/shared/utils/spawn.d.ts +11 -0
  114. package/dist/shared/utils/spawn.d.ts.map +1 -0
  115. package/dist/shared/utils/spawn.js +17 -0
  116. package/dist/shared/utils/spawn.js.map +1 -0
  117. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"clone.js","sourceRoot":"","sources":["../../../src/infra/task/clone.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clone.js","sourceRoot":"","sources":["../../../src/infra/task/clone.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,kBAAkB,EAClB,2BAA2B,EAC3B,iBAAiB,IAAI,yBAAyB,EAC9C,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAClI,OAAO,EAAE,aAAa,EAAE,eAAe,IAAI,mBAAmB,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAG5H,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE7F,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;AAElC,MAAM,OAAO,YAAY;IACf,MAAM,CAAC,iBAAiB;QAC9B,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,UAAkB;QAC3C,MAAM,WAAW,GAAG,kBAAkB,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QAClE,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;gBACjC,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACjE,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/C,GAAG,CAAC,IAAI,CAAC,8DAA8D,EAAE;gBACvE,UAAU;gBACV,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC;aACtD,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,MAAM,CAAC,gBAAgB,CAAC,SAAiB;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,CAAC;YACH,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC5C,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,gBAAgB,CAAC,UAAkB,EAAE,OAAwB;QAC1E,MAAM,SAAS,GAAG,YAAY,CAAC,iBAAiB,EAAE,CAAC;QACnD,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC;QAE9B,IAAI,OAAe,CAAC;QACpB,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,IAAI,EAAE,CAAC;YAC9C,OAAO,GAAG,GAAG,SAAS,IAAI,OAAO,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;QAC1D,CAAC;aAAM,IAAI,IAAI,EAAE,CAAC;YAChB,OAAO,GAAG,GAAG,SAAS,IAAI,IAAI,EAAE,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,SAAS,CAAC;QACtB,CAAC;QAED,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC;gBACtC,CAAC,CAAC,OAAO,CAAC,QAAQ;gBAClB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;IAC1E,CAAC;IAEO,MAAM,CAAC,iBAAiB,CAAC,OAAwB;QACvD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO,OAAO,CAAC,MAAM,CAAC;QACxB,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC;QAE9B,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,IAAI,EAAE,CAAC;YAC9C,OAAO,QAAQ,OAAO,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;QAC/C,CAAC;QAED,MAAM,SAAS,GAAG,YAAY,CAAC,iBAAiB,EAAE,CAAC;QACnD,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,SAAS,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,SAAS,EAAE,CAAC;IAClE,CAAC;IAED,MAAM,CAAC,iBAAiB,CACtB,UAAkB,EAClB,kBAA2B;QAE3B,OAAO,yBAAyB,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;IACnE,CAAC;IAED,iBAAiB,CAAC,UAAkB,EAAE,OAAwB;QAC5D,MAAM,SAAS,GAAG,YAAY,CAAC,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,qBAAqB,GAAG,4BAA4B,CAAC,UAAU,CAAC,CAAC;QAEvE,GAAG,CAAC,IAAI,CACN,0BAA0B,qBAAqB,CAAC,KAAK,cAAc,qBAAqB,CAAC,OAAO,GAAG,EACnG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAC5B,CAAC;QAEF,IAAI,CAAC;YACH,YAAY,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE;gBAC/C,GAAG,EAAE,UAAU;gBACf,KAAK,EAAE,MAAM;aACd,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CAAC,mDAAmD,EAAE;gBAC5D,MAAM;gBACN,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC;aACnB,CAAC,CAAC;QACL,CAAC;QAED,IAAI,kBAAkB,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC;YAC3C,eAAe,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YACvC,YAAY,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,uBAAuB,MAAM,eAAe,MAAM,EAAE,CAAC,EAAE;gBAC/F,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM;aAC9B,CAAC,CAAC;YACH,YAAY,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/E,CAAC;aAAM,IAAI,iBAAiB,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC;YACjD,eAAe,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,YAAY,CAAC,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;YAC7G,eAAe,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;YACnD,IAAI,aAAa,EAAE,CAAC;gBAClB,YAAY,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAC7F,CAAC;YACD,YAAY,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACrF,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QAClD,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;QAEvD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,0BAA0B,CAC9B,UAAkB,EAClB,OAAwB,EACxB,WAAyB;QAEzB,MAAM,SAAS,GAAG,YAAY,CAAC,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,qBAAqB,GAAG,4BAA4B,CAAC,UAAU,CAAC,CAAC;QAEvE,GAAG,CAAC,IAAI,CACN,0BAA0B,qBAAqB,CAAC,KAAK,cAAc,qBAAqB,CAAC,OAAO,GAAG,EACnG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAC5B,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,sBAAsB,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC;QACrF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CAAC,mDAAmD,EAAE;gBAC5D,MAAM;gBACN,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC;aACnB,CAAC,CAAC;QACL,CAAC;QAED,IAAI,MAAM,2BAA2B,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC;YACvE,MAAM,wBAAwB,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAC9E,MAAM,sBAAsB,CAC1B,SAAS,EACT,CAAC,OAAO,EAAE,UAAU,EAAE,uBAAuB,MAAM,eAAe,MAAM,EAAE,CAAC,EAC3E,WAAW,CACZ,CAAC;YACF,MAAM,sBAAsB,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC;QAC7E,CAAC;aAAM,IAAI,MAAM,0BAA0B,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC;YAC7E,MAAM,wBAAwB,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QAC7E,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,MAAM,0BAA0B,CAC5E,UAAU,EACV,OAAO,CAAC,UAAU,EAClB,WAAW,CACZ,CAAC;YACF,MAAM,wBAAwB,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;YAC/E,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,sBAAsB,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC,EAAE,WAAW,CAAC,CAAC;YAC3F,CAAC;YACD,MAAM,sBAAsB,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC;QACnF,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QAClD,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;QAEvD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IACrC,CAAC;IAED,wBAAwB,CAAC,UAAkB,EAAE,MAAc;QACzD,YAAY,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAE3C,MAAM,SAAS,GAAG,YAAY,CAAC,iBAAiB,EAAE,CAAC;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAAE,OAAO,SAAS,EAAE,CAAC,CAAC;QAE9F,GAAG,CAAC,IAAI,CAAC,gCAAgC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;QAExE,eAAe,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAE/C,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QAClD,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;QAE5D,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IACrC,CAAC;IAED,WAAW,CAAC,SAAiB;QAC3B,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC;YACH,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;YACvF,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED,aAAa,CAAC,UAAkB,EAAE,MAAc,EAAE,SAAiB;QACjE,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IACnD,CAAC;IAED,eAAe,CAAC,UAAkB,EAAE,MAAc;QAChD,mBAAmB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,oBAAoB,CAAC,UAAkB,EAAE,MAAc;QACrD,MAAM,IAAI,GAAG,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACzC,OAAO;QACT,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC;QAChF,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvD,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,iBAAiB,CAAC,EAAE,CAAC;YACnD,GAAG,CAAC,KAAK,CAAC,0DAA0D,EAAE;gBACpE,MAAM;gBACN,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,YAAY;aACb,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;YACpC,GAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;CACF;AAED,MAAM,cAAc,GAAG,IAAI,YAAY,EAAE,CAAC;AAE1C,MAAM,UAAU,iBAAiB,CAAC,UAAkB,EAAE,OAAwB;IAC5E,OAAO,cAAc,CAAC,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,UAAkB,EAClB,OAAwB,EACxB,WAAyB;IAEzB,OAAO,cAAc,CAAC,0BAA0B,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,UAAkB,EAAE,MAAc;IACzE,OAAO,cAAc,CAAC,wBAAwB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,SAAiB;IAC3C,cAAc,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,UAAkB,EAAE,MAAc,EAAE,SAAiB;IACjF,cAAc,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,UAAkB,EAAE,MAAc;IAChE,cAAc,CAAC,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,UAAkB,EAAE,MAAc;IACrE,cAAc,CAAC,oBAAoB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,UAAkB,EAClB,kBAA2B;IAE3B,OAAO,YAAY,CAAC,iBAAiB,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,UAAkB;IACpD,OAAO,YAAY,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;AACtD,CAAC"}
@@ -19,6 +19,7 @@ export declare function checkoutBranch(cwd: string, branch: string): void;
19
19
  * Throws on failure.
20
20
  */
21
21
  export declare function pushBranch(cwd: string, branch: string): void;
22
+ export declare function materializeCloneHeadToRootBranch(cloneCwd: string, rootCwd: string, branch: string): void;
22
23
  /**
23
24
  * Relay push: fetches clone HEAD into a temporary ref in the root repo,
24
25
  * pushes that ref to origin, then cleans up the temp ref (always, even on failure).
@@ -1 +1 @@
1
- {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../../src/infra/task/git.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,eAAO,MAAM,0BAA0B,iOACyL,CAAC;AAEjO,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAMpD;AAmDD;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B,GAAG,MAAM,GAAG,SAAS,CA4BpH;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAIhE;AAaD;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAU5D;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAUxE;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAgB9F"}
1
+ {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../../src/infra/task/git.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,eAAO,MAAM,0BAA0B,iOACyL,CAAC;AAEjO,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAMpD;AAmDD;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B,GAAG,MAAM,GAAG,SAAS,CA4BpH;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAIhE;AAaD;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAU5D;AAED,wBAAgB,gCAAgC,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAMxG;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAUxE;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAgB9F"}
@@ -111,6 +111,13 @@ export function pushBranch(cwd, branch) {
111
111
  throwPushFailureWithStderr(err, NON_FAST_FORWARD_PUSH_HINT);
112
112
  }
113
113
  }
114
+ export function materializeCloneHeadToRootBranch(cloneCwd, rootCwd, branch) {
115
+ log.info('Materializing clone HEAD to root branch', { cloneCwd, rootCwd, branch });
116
+ execFileSync('git', ['fetch', cloneCwd, `HEAD:refs/heads/${branch}`], {
117
+ cwd: rootCwd,
118
+ stdio: 'pipe',
119
+ });
120
+ }
114
121
  /**
115
122
  * Relay push: fetches clone HEAD into a temporary ref in the root repo,
116
123
  * pushes that ref to origin, then cleans up the temp ref (always, even on failure).
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/infra/task/git.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/infra/task/git.ts"],"names":[],"mappings":"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"}
@@ -10,9 +10,9 @@ export { TaskRunner } from './runner.js';
10
10
  export { showTaskList } from './display.js';
11
11
  export { serializeTaskListItemForJson, type JsonTaskData, type JsonTaskFailure, type JsonTaskListItem, } from './listSerializer.js';
12
12
  export { TaskFileSchema, type TaskFileData, TaskExecutionConfigSchema, TaskStatusSchema, type TaskStatus, TaskFailureSchema, type TaskFailure, TaskRecordSchema, type TaskRecord, TasksFileSchema, type TasksFileData, resolveTaskWorkflowValue, resolveTaskStartMovementValue, } from './schema.js';
13
- export { createSharedClone, createSharedCloneAbortable, removeClone, createTempCloneForBranch, saveCloneMeta, removeCloneMeta, cleanupOrphanedClone, resolveBaseBranch, resolveCloneBaseDir, branchExists, } from './clone.js';
13
+ export { createSharedClone, createSharedCloneAbortable, removeClone, createTempCloneForBranch, saveCloneMeta, removeCloneMeta, cleanupOrphanedClone, resolveBaseBranch, resolveCloneBaseDir, branchExists, localBranchExists, remoteBranchExists, } from './clone.js';
14
14
  export { detectDefaultBranch, listTaktBranches, parseTaktBranches, getFilesChanged, extractTaskSlug, getOriginalInstruction, buildListItems, } from './branchList.js';
15
- export { stageAndCommit, getCurrentBranch, pushBranch, checkoutBranch, relayPushCloneToOrigin } from './git.js';
15
+ export { stageAndCommit, getCurrentBranch, pushBranch, checkoutBranch, relayPushCloneToOrigin, materializeCloneHeadToRootBranch } from './git.js';
16
16
  export { buildTaskInstruction } from './instruction.js';
17
17
  export { autoCommitAndPush, type AutoCommitResult } from './autoCommit.js';
18
18
  export { summarizeTaskName } from './summarize.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/infra/task/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,YAAY,EACV,QAAQ,EACR,UAAU,EACV,eAAe,EACf,cAAc,EACd,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,YAAY,GACb,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EACL,4BAA4B,EAC5B,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,gBAAgB,GACtB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,cAAc,EACd,KAAK,YAAY,EACjB,yBAAyB,EACzB,gBAAgB,EAChB,KAAK,UAAU,EACf,iBAAiB,EACjB,KAAK,WAAW,EAChB,gBAAgB,EAChB,KAAK,UAAU,EACf,eAAe,EACf,KAAK,aAAa,EAClB,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,WAAW,EACX,wBAAwB,EACxB,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAChH,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/infra/task/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,YAAY,EACV,QAAQ,EACR,UAAU,EACV,eAAe,EACf,cAAc,EACd,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,YAAY,GACb,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EACL,4BAA4B,EAC5B,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,gBAAgB,GACtB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,cAAc,EACd,KAAK,YAAY,EACjB,yBAAyB,EACzB,gBAAgB,EAChB,KAAK,UAAU,EACf,iBAAiB,EACjB,KAAK,WAAW,EAChB,gBAAgB,EAChB,KAAK,UAAU,EACf,eAAe,EACf,KAAK,aAAa,EAClB,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,WAAW,EACX,wBAAwB,EACxB,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,sBAAsB,EAAE,gCAAgC,EAAE,MAAM,UAAU,CAAC;AAClJ,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC"}
@@ -10,9 +10,9 @@ export { TaskRunner } from './runner.js';
10
10
  export { showTaskList } from './display.js';
11
11
  export { serializeTaskListItemForJson, } from './listSerializer.js';
12
12
  export { TaskFileSchema, TaskExecutionConfigSchema, TaskStatusSchema, TaskFailureSchema, TaskRecordSchema, TasksFileSchema, resolveTaskWorkflowValue, resolveTaskStartMovementValue, } from './schema.js';
13
- export { createSharedClone, createSharedCloneAbortable, removeClone, createTempCloneForBranch, saveCloneMeta, removeCloneMeta, cleanupOrphanedClone, resolveBaseBranch, resolveCloneBaseDir, branchExists, } from './clone.js';
13
+ export { createSharedClone, createSharedCloneAbortable, removeClone, createTempCloneForBranch, saveCloneMeta, removeCloneMeta, cleanupOrphanedClone, resolveBaseBranch, resolveCloneBaseDir, branchExists, localBranchExists, remoteBranchExists, } from './clone.js';
14
14
  export { detectDefaultBranch, listTaktBranches, parseTaktBranches, getFilesChanged, extractTaskSlug, getOriginalInstruction, buildListItems, } from './branchList.js';
15
- export { stageAndCommit, getCurrentBranch, pushBranch, checkoutBranch, relayPushCloneToOrigin } from './git.js';
15
+ export { stageAndCommit, getCurrentBranch, pushBranch, checkoutBranch, relayPushCloneToOrigin, materializeCloneHeadToRootBranch } from './git.js';
16
16
  export { buildTaskInstruction } from './instruction.js';
17
17
  export { autoCommitAndPush } from './autoCommit.js';
18
18
  export { summarizeTaskName } from './summarize.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/infra/task/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAcH,UAAU;AACV,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EACL,4BAA4B,GAI7B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,cAAc,EAEd,yBAAyB,EACzB,gBAAgB,EAEhB,iBAAiB,EAEjB,gBAAgB,EAEhB,eAAe,EAEf,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,WAAW,EACX,wBAAwB,EACxB,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAChH,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAyB,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,WAAW,EAA2B,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/infra/task/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAcH,UAAU;AACV,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EACL,4BAA4B,GAI7B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,cAAc,EAEd,yBAAyB,EACzB,gBAAgB,EAEhB,iBAAiB,EAEjB,gBAAgB,EAEhB,eAAe,EAEf,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,WAAW,EACX,wBAAwB,EACxB,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,sBAAsB,EAAE,gCAAgC,EAAE,MAAM,UAAU,CAAC;AAClJ,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAyB,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,WAAW,EAA2B,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Pure functions for select menu rendering and input handling.
3
+ *
4
+ * All functions are side-effect-free and testable in isolation.
5
+ * IO concerns (stdin/stdout, raw mode) remain in select.ts.
6
+ * Viewport logic lives in select-viewport.ts.
7
+ */
8
+ export interface SelectOptionItem<T extends string> {
9
+ label: string;
10
+ value: T;
11
+ description?: string;
12
+ details?: string[];
13
+ }
14
+ export type KeyInputResult = {
15
+ action: 'move';
16
+ newIndex: number;
17
+ } | {
18
+ action: 'confirm';
19
+ selectedIndex: number;
20
+ } | {
21
+ action: 'cancel';
22
+ cancelIndex: number;
23
+ } | {
24
+ action: 'bookmark';
25
+ selectedIndex: number;
26
+ } | {
27
+ action: 'remove_bookmark';
28
+ selectedIndex: number;
29
+ } | {
30
+ action: 'exit';
31
+ } | {
32
+ action: 'none';
33
+ };
34
+ export interface ViewportState {
35
+ readonly scrollOffset: number;
36
+ readonly maxOptionLines: number;
37
+ readonly active: boolean;
38
+ }
39
+ export declare function renderSingleOption<T extends string>(opt: SelectOptionItem<T>, isSelected: boolean, maxWidth: number): string[];
40
+ export declare function renderCancelOption(isSelected: boolean, cancelLabel: string): string;
41
+ export declare function countItemLines<T extends string>(opt: SelectOptionItem<T>): number;
42
+ export declare function renderMenu<T extends string>(options: SelectOptionItem<T>[], selectedIndex: number, hasCancelOption: boolean, cancelLabel?: string): string[];
43
+ export declare function countRenderedLines<T extends string>(options: SelectOptionItem<T>[], hasCancelOption: boolean): number;
44
+ export declare function handleKeyInput(key: string, currentIndex: number, totalItems: number, hasCancelOption: boolean, optionCount: number): KeyInputResult;
45
+ //# sourceMappingURL=select-menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-menu.d.ts","sourceRoot":"","sources":["../../../src/shared/prompt/select-menu.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,MAAM;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,CAAC;IACT,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,MAAM,cAAc,GACtB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAC5C;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACzC;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAC7C;IAAE,MAAM,EAAE,iBAAiB,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAClB;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvB,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAQD,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,EACjD,GAAG,EAAE,gBAAgB,CAAC,CAAC,CAAC,EACxB,UAAU,EAAE,OAAO,EACnB,QAAQ,EAAE,MAAM,GACf,MAAM,EAAE,CAmBV;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAInF;AAID,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,MAAM,CAKjF;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EACzC,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAC9B,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,OAAO,EACxB,WAAW,SAAW,GACrB,MAAM,EAAE,CAiBV;AAED,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,EACjD,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAC9B,eAAe,EAAE,OAAO,GACvB,MAAM,CAOR;AAED,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,OAAO,EACxB,WAAW,EAAE,MAAM,GAClB,cAAc,CAuBhB"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Pure functions for select menu rendering and input handling.
3
+ *
4
+ * All functions are side-effect-free and testable in isolation.
5
+ * IO concerns (stdin/stdout, raw mode) remain in select.ts.
6
+ * Viewport logic lives in select-viewport.ts.
7
+ */
8
+ import chalk from 'chalk';
9
+ import { truncateText } from '../utils/index.js';
10
+ // ── Rendering helpers ────────────────────────────────────────────────
11
+ const LABEL_PREFIX = 4;
12
+ const DESC_PREFIX = 5;
13
+ const DETAIL_PREFIX = 9;
14
+ export function renderSingleOption(opt, isSelected, maxWidth) {
15
+ const lines = [];
16
+ const cursor = isSelected ? chalk.cyan('❯') : ' ';
17
+ const truncatedLabel = truncateText(opt.label, maxWidth - LABEL_PREFIX);
18
+ const label = isSelected ? chalk.cyan.bold(truncatedLabel) : truncatedLabel;
19
+ lines.push(` ${cursor} ${label}`);
20
+ if (opt.description) {
21
+ const truncatedDesc = truncateText(opt.description, maxWidth - DESC_PREFIX);
22
+ lines.push(chalk.gray(` ${truncatedDesc}`));
23
+ }
24
+ if (opt.details && opt.details.length > 0) {
25
+ for (const detail of opt.details) {
26
+ const truncatedDetail = truncateText(detail, maxWidth - DETAIL_PREFIX);
27
+ lines.push(chalk.dim(` • ${truncatedDetail}`));
28
+ }
29
+ }
30
+ return lines;
31
+ }
32
+ export function renderCancelOption(isSelected, cancelLabel) {
33
+ const cursor = isSelected ? chalk.cyan('❯') : ' ';
34
+ const label = isSelected ? chalk.cyan.bold(cancelLabel) : chalk.gray(cancelLabel);
35
+ return ` ${cursor} ${label}`;
36
+ }
37
+ // ── Public pure functions ────────────────────────────────────────────
38
+ export function countItemLines(opt) {
39
+ let lines = 1;
40
+ if (opt.description)
41
+ lines++;
42
+ if (opt.details)
43
+ lines += opt.details.length;
44
+ return lines;
45
+ }
46
+ export function renderMenu(options, selectedIndex, hasCancelOption, cancelLabel = 'Cancel') {
47
+ const maxWidth = process.stdout.columns || 80;
48
+ const lines = [];
49
+ for (let i = 0; i < options.length; i++) {
50
+ const opt = options[i];
51
+ if (!opt)
52
+ continue;
53
+ const isSelected = i === selectedIndex;
54
+ lines.push(...renderSingleOption(opt, isSelected, maxWidth));
55
+ }
56
+ if (hasCancelOption) {
57
+ const isCancelSelected = selectedIndex === options.length;
58
+ lines.push(renderCancelOption(isCancelSelected, cancelLabel));
59
+ }
60
+ return lines;
61
+ }
62
+ export function countRenderedLines(options, hasCancelOption) {
63
+ let count = 0;
64
+ for (const opt of options) {
65
+ count += countItemLines(opt);
66
+ }
67
+ if (hasCancelOption)
68
+ count++;
69
+ return count;
70
+ }
71
+ export function handleKeyInput(key, currentIndex, totalItems, hasCancelOption, optionCount) {
72
+ if (key === '\x1B[A' || key === 'k') {
73
+ return { action: 'move', newIndex: (currentIndex - 1 + totalItems) % totalItems };
74
+ }
75
+ if (key === '\x1B[B' || key === 'j') {
76
+ return { action: 'move', newIndex: (currentIndex + 1) % totalItems };
77
+ }
78
+ if (key === '\r' || key === '\n') {
79
+ return { action: 'confirm', selectedIndex: currentIndex };
80
+ }
81
+ if (key === '\x03') {
82
+ return { action: 'exit' };
83
+ }
84
+ if (key === '\x1B') {
85
+ return { action: 'cancel', cancelIndex: hasCancelOption ? optionCount : -1 };
86
+ }
87
+ if (key === 'b') {
88
+ return { action: 'bookmark', selectedIndex: currentIndex };
89
+ }
90
+ if (key === 'r') {
91
+ return { action: 'remove_bookmark', selectedIndex: currentIndex };
92
+ }
93
+ return { action: 'none' };
94
+ }
95
+ //# sourceMappingURL=select-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-menu.js","sourceRoot":"","sources":["../../../src/shared/prompt/select-menu.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAwBjD,wEAAwE;AAExE,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,aAAa,GAAG,CAAC,CAAC;AAExB,MAAM,UAAU,kBAAkB,CAChC,GAAwB,EACxB,UAAmB,EACnB,QAAgB;IAEhB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAClD,MAAM,cAAc,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,YAAY,CAAC,CAAC;IACxE,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;IAC5E,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC;IAEnC,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;QACpB,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,GAAG,WAAW,CAAC,CAAC;QAC5E,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,aAAa,EAAE,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YACjC,MAAM,eAAe,GAAG,YAAY,CAAC,MAAM,EAAE,QAAQ,GAAG,aAAa,CAAC,CAAC;YACvE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,eAAe,EAAE,CAAC,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,UAAmB,EAAE,WAAmB;IACzE,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAClD,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClF,OAAO,KAAK,MAAM,IAAI,KAAK,EAAE,CAAC;AAChC,CAAC;AAED,wEAAwE;AAExE,MAAM,UAAU,cAAc,CAAmB,GAAwB;IACvE,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,GAAG,CAAC,WAAW;QAAE,KAAK,EAAE,CAAC;IAC7B,IAAI,GAAG,CAAC,OAAO;QAAE,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;IAC7C,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,OAA8B,EAC9B,aAAqB,EACrB,eAAwB,EACxB,WAAW,GAAG,QAAQ;IAEtB,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IAC9C,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,MAAM,UAAU,GAAG,CAAC,KAAK,aAAa,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,GAAG,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,gBAAgB,GAAG,aAAa,KAAK,OAAO,CAAC,MAAM,CAAC;QAC1D,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,OAA8B,EAC9B,eAAwB;IAExB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,KAAK,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,eAAe;QAAE,KAAK,EAAE,CAAC;IAC7B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,GAAW,EACX,YAAoB,EACpB,UAAkB,EAClB,eAAwB,EACxB,WAAmB;IAEnB,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;QACpC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,YAAY,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,UAAU,EAAE,CAAC;IACpF,CAAC;IACD,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;QACpC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,UAAU,EAAE,CAAC;IACvE,CAAC;IACD,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;IAC5D,CAAC;IACD,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACnB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC5B,CAAC;IACD,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACnB,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/E,CAAC;IACD,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;QAChB,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;IAC7D,CAAC;IACD,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;QAChB,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;IACpE,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Pure functions for viewport-based select menu scrolling.
3
+ *
4
+ * Handles scroll offset calculation and viewport-limited rendering.
5
+ */
6
+ import type { SelectOptionItem, ViewportState } from './select-menu.js';
7
+ /**
8
+ * Create viewport state from terminal dimensions and menu content.
9
+ *
10
+ * When all items fit within the available terminal space, viewport is
11
+ * inactive and the menu renders without scrolling (identical to the
12
+ * pre-viewport behaviour).
13
+ */
14
+ export declare function createViewportState<T extends string>(terminalRows: number, options: SelectOptionItem<T>[], hasCancelOption: boolean): ViewportState;
15
+ /**
16
+ * Adjust scrollOffset so that selectedIndex is visible within the viewport.
17
+ *
18
+ * Returns the new scrollOffset value.
19
+ */
20
+ export declare function adjustScrollOffset<T extends string>(selectedIndex: number, scrollOffset: number, options: SelectOptionItem<T>[], hasCancelOption: boolean, maxOptionLines: number): number;
21
+ /**
22
+ * Render the visible portion of the menu with viewport scrolling.
23
+ *
24
+ * Returns rendered lines including hidden-item indicators.
25
+ */
26
+ export declare function renderMenuWithViewport<T extends string>(options: SelectOptionItem<T>[], selectedIndex: number, hasCancelOption: boolean, scrollOffset: number, maxOptionLines: number, cancelLabel: string): string[];
27
+ //# sourceMappingURL=select-viewport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-viewport.d.ts","sourceRoot":"","sources":["../../../src/shared/prompt/select-viewport.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAKxE;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,EAClD,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAC9B,eAAe,EAAE,OAAO,GACvB,aAAa,CAaf;AAgED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,EACjD,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAC9B,eAAe,EAAE,OAAO,EACxB,cAAc,EAAE,MAAM,GACrB,MAAM,CAkBR;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,MAAM,EACrD,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAC9B,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,OAAO,EACxB,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,GAClB,MAAM,EAAE,CAyBV"}
@@ -0,0 +1,124 @@
1
+ /**
2
+ * Pure functions for viewport-based select menu scrolling.
3
+ *
4
+ * Handles scroll offset calculation and viewport-limited rendering.
5
+ */
6
+ import chalk from 'chalk';
7
+ import { countItemLines, countRenderedLines, renderSingleOption, renderCancelOption } from './select-menu.js';
8
+ const HEADER_LINES = 4;
9
+ /**
10
+ * Create viewport state from terminal dimensions and menu content.
11
+ *
12
+ * When all items fit within the available terminal space, viewport is
13
+ * inactive and the menu renders without scrolling (identical to the
14
+ * pre-viewport behaviour).
15
+ */
16
+ export function createViewportState(terminalRows, options, hasCancelOption) {
17
+ const totalMenuLines = countRenderedLines(options, hasCancelOption);
18
+ const availableLines = Math.max(1, terminalRows - HEADER_LINES);
19
+ if (totalMenuLines <= availableLines) {
20
+ return { scrollOffset: 0, maxOptionLines: availableLines, active: false };
21
+ }
22
+ return {
23
+ scrollOffset: 0,
24
+ maxOptionLines: Math.max(1, availableLines),
25
+ active: true,
26
+ };
27
+ }
28
+ function getIndicatorLineCount(hasHiddenAbove, hasHiddenBelow) {
29
+ let count = 0;
30
+ if (hasHiddenAbove)
31
+ count++;
32
+ if (hasHiddenBelow)
33
+ count++;
34
+ return count;
35
+ }
36
+ function calculateVisibleRange(options, hasCancelOption, scrollOffset, availableLines) {
37
+ const totalItems = hasCancelOption ? options.length + 1 : options.length;
38
+ const hasHiddenAbove = scrollOffset > 0;
39
+ let usedLines = 0;
40
+ let count = 0;
41
+ for (let i = scrollOffset; i < totalItems; i++) {
42
+ const itemLines = i < options.length ? countItemLines(options[i]) : 1;
43
+ const remainingItems = totalItems - (i + 1);
44
+ const hasHiddenBelow = remainingItems > 0;
45
+ const nextUsedLines = usedLines + itemLines;
46
+ const indicatorLines = getIndicatorLineCount(hasHiddenAbove, hasHiddenBelow);
47
+ if (nextUsedLines + indicatorLines > availableLines) {
48
+ break;
49
+ }
50
+ usedLines = nextUsedLines;
51
+ count++;
52
+ }
53
+ if (count === 0 && scrollOffset < totalItems) {
54
+ return {
55
+ endIndex: scrollOffset + 1,
56
+ hiddenBelow: totalItems - (scrollOffset + 1),
57
+ };
58
+ }
59
+ const endIndex = scrollOffset + count;
60
+ return {
61
+ endIndex,
62
+ hiddenBelow: totalItems - endIndex,
63
+ };
64
+ }
65
+ /**
66
+ * Calculate the exclusive end index of items visible from scrollOffset,
67
+ * fitting within maxOptionLines.
68
+ *
69
+ * `totalItems` is options.length + (hasCancelOption ? 1 : 0).
70
+ */
71
+ function calculateVisibleEndIndex(options, hasCancelOption, scrollOffset, maxOptionLines) {
72
+ return calculateVisibleRange(options, hasCancelOption, scrollOffset, maxOptionLines).endIndex;
73
+ }
74
+ /**
75
+ * Adjust scrollOffset so that selectedIndex is visible within the viewport.
76
+ *
77
+ * Returns the new scrollOffset value.
78
+ */
79
+ export function adjustScrollOffset(selectedIndex, scrollOffset, options, hasCancelOption, maxOptionLines) {
80
+ if (selectedIndex < scrollOffset) {
81
+ return selectedIndex;
82
+ }
83
+ const endIndex = calculateVisibleEndIndex(options, hasCancelOption, scrollOffset, maxOptionLines);
84
+ if (selectedIndex < endIndex) {
85
+ return scrollOffset;
86
+ }
87
+ let newOffset = selectedIndex;
88
+ while (newOffset > 0) {
89
+ const testEnd = calculateVisibleEndIndex(options, hasCancelOption, newOffset - 1, maxOptionLines);
90
+ if (testEnd <= selectedIndex)
91
+ break;
92
+ newOffset--;
93
+ }
94
+ return newOffset;
95
+ }
96
+ /**
97
+ * Render the visible portion of the menu with viewport scrolling.
98
+ *
99
+ * Returns rendered lines including hidden-item indicators.
100
+ */
101
+ export function renderMenuWithViewport(options, selectedIndex, hasCancelOption, scrollOffset, maxOptionLines, cancelLabel) {
102
+ const maxWidth = process.stdout.columns || 80;
103
+ const { endIndex, hiddenBelow } = calculateVisibleRange(options, hasCancelOption, scrollOffset, maxOptionLines);
104
+ const lines = [];
105
+ if (scrollOffset > 0) {
106
+ lines.push(chalk.gray(` ↑ ${scrollOffset} more`));
107
+ }
108
+ for (let i = scrollOffset; i < endIndex; i++) {
109
+ if (i < options.length) {
110
+ const opt = options[i];
111
+ const isSelected = i === selectedIndex;
112
+ lines.push(...renderSingleOption(opt, isSelected, maxWidth));
113
+ }
114
+ else {
115
+ const isCancelSelected = selectedIndex === options.length;
116
+ lines.push(renderCancelOption(isCancelSelected, cancelLabel));
117
+ }
118
+ }
119
+ if (hiddenBelow > 0) {
120
+ lines.push(chalk.gray(` ↓ ${hiddenBelow} more`));
121
+ }
122
+ return lines;
123
+ }
124
+ //# sourceMappingURL=select-viewport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-viewport.js","sourceRoot":"","sources":["../../../src/shared/prompt/select-viewport.ts"],"names":[],"mappings":"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"}
@@ -2,51 +2,11 @@
2
2
  * Interactive cursor-based selection menus.
3
3
  *
4
4
  * Provides arrow-key navigation for option selection in the terminal.
5
+ * Pure functions live in select-menu.ts (rendering, input) and
6
+ * select-viewport.ts (viewport scrolling).
5
7
  */
6
- /** Option type for selectOption */
7
- export interface SelectOptionItem<T extends string> {
8
- label: string;
9
- value: T;
10
- description?: string;
11
- details?: string[];
12
- }
13
- /**
14
- * Render the menu options to the terminal.
15
- * Exported for testing.
16
- */
17
- export declare function renderMenu<T extends string>(options: SelectOptionItem<T>[], selectedIndex: number, hasCancelOption: boolean, cancelLabel?: string): string[];
18
- /**
19
- * Count total rendered lines for a set of options.
20
- * Exported for testing.
21
- */
22
- export declare function countRenderedLines<T extends string>(options: SelectOptionItem<T>[], hasCancelOption: boolean): number;
23
- /** Result of handling a key input */
24
- export type KeyInputResult = {
25
- action: 'move';
26
- newIndex: number;
27
- } | {
28
- action: 'confirm';
29
- selectedIndex: number;
30
- } | {
31
- action: 'cancel';
32
- cancelIndex: number;
33
- } | {
34
- action: 'bookmark';
35
- selectedIndex: number;
36
- } | {
37
- action: 'remove_bookmark';
38
- selectedIndex: number;
39
- } | {
40
- action: 'exit';
41
- } | {
42
- action: 'none';
43
- };
44
- /**
45
- * Pure function for key input state transitions.
46
- * Exported for testing.
47
- */
48
- export declare function handleKeyInput(key: string, currentIndex: number, totalItems: number, hasCancelOption: boolean, optionCount: number): KeyInputResult;
49
- /** Callbacks for interactive select behavior */
8
+ import { type SelectOptionItem } from './select-menu.js';
9
+ export { type SelectOptionItem, type KeyInputResult, renderMenu, countRenderedLines, handleKeyInput, } from './select-menu.js';
50
10
  export interface InteractiveSelectCallbacks<T extends string> {
51
11
  /**
52
12
  * Custom key handler called before default key handling.
@@ -1 +1 @@
1
- {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../src/shared/prompt/select.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,mCAAmC;AACnC,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,MAAM;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,CAAC;IACT,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EACzC,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAC9B,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,OAAO,EACxB,WAAW,SAAW,GACrB,MAAM,EAAE,CAqCV;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,EACjD,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAC9B,eAAe,EAAE,OAAO,GACvB,MAAM,CASR;AAED,qCAAqC;AACrC,MAAM,MAAM,cAAc,GACtB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAC5C;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACzC;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAC7C;IAAE,MAAM,EAAE,iBAAiB,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAClB;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvB;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,OAAO,EACxB,WAAW,EAAE,MAAM,GAClB,cAAc,CAuBhB;AA4CD,gDAAgD;AAChD,MAAM,WAAW,0BAA0B,CAAC,CAAC,SAAS,MAAM;IAC1D;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC;IACpF,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAgHD;;;GAGG;AACH,wBAAsB,YAAY,CAAC,CAAC,SAAS,MAAM,EACjD,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAC9B,SAAS,CAAC,EAAE,0BAA0B,CAAC,CAAC,CAAC,GACxC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAgBnB;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAAC,CAAC,SAAS,MAAM,EAC5D,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,EAAE,EACtC,YAAY,EAAE,CAAC,GACd,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAwBnB"}
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../src/shared/prompt/select.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EACL,KAAK,gBAAgB,EAItB,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,UAAU,EACV,kBAAkB,EAClB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAiD1B,MAAM,WAAW,0BAA0B,CAAC,CAAC,SAAS,MAAM;IAC1D;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC;IACpF,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA2HD;;;GAGG;AACH,wBAAsB,YAAY,CAAC,CAAC,SAAS,MAAM,EACjD,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAC9B,SAAS,CAAC,EAAE,0BAA0B,CAAC,CAAC,CAAC,GACxC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAgBnB;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAAC,CAAC,SAAS,MAAM,EAC5D,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,EAAE,EACtC,YAAY,EAAE,CAAC,GACd,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAwBnB"}