@shepai/cli 1.107.2-pr335.e03c737 → 1.107.2-pr336.38dd36d

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 (145) hide show
  1. package/dist/packages/core/src/application/ports/output/services/worktree-service.interface.d.ts +1 -2
  2. package/dist/packages/core/src/application/ports/output/services/worktree-service.interface.d.ts.map +1 -1
  3. package/dist/packages/core/src/application/use-cases/features/cleanup-feature-worktree.use-case.js +1 -1
  4. package/dist/packages/core/src/application/use-cases/features/delete-feature.use-case.js +1 -1
  5. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  6. package/dist/packages/core/src/infrastructure/di/container.js +6 -4
  7. package/dist/packages/core/src/infrastructure/services/agents/common/executors/cursor-executor.service.d.ts.map +1 -1
  8. package/dist/packages/core/src/infrastructure/services/agents/common/executors/cursor-executor.service.js +2 -5
  9. package/dist/packages/core/src/infrastructure/services/agents/common/executors/gemini-cli-executor.service.d.ts.map +1 -1
  10. package/dist/packages/core/src/infrastructure/services/agents/common/executors/gemini-cli-executor.service.js +0 -7
  11. package/dist/packages/core/src/infrastructure/services/git/worktree.service.d.ts +1 -1
  12. package/dist/packages/core/src/infrastructure/services/git/worktree.service.d.ts.map +1 -1
  13. package/dist/packages/core/src/infrastructure/services/git/worktree.service.js +3 -5
  14. package/dist/packages/core/src/infrastructure/services/ide-launchers/compute-worktree-path.d.ts.map +1 -1
  15. package/dist/packages/core/src/infrastructure/services/ide-launchers/compute-worktree-path.js +1 -3
  16. package/dist/packages/core/src/infrastructure/services/ide-launchers/json-driven-ide-launcher.service.d.ts.map +1 -1
  17. package/dist/packages/core/src/infrastructure/services/ide-launchers/json-driven-ide-launcher.service.js +1 -5
  18. package/dist/tsconfig.build.tsbuildinfo +1 -1
  19. package/package.json +1 -1
  20. package/web/.next/BUILD_ID +1 -1
  21. package/web/.next/build-manifest.json +2 -2
  22. package/web/.next/fallback-build-manifest.json +2 -2
  23. package/web/.next/prerender-manifest.json +3 -3
  24. package/web/.next/required-server-files.js +1 -1
  25. package/web/.next/required-server-files.json +1 -1
  26. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +20 -20
  27. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  28. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  29. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +26 -26
  30. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  31. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  32. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +26 -26
  33. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  34. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  35. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +18 -18
  36. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  37. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  38. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +20 -20
  39. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  40. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  41. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +26 -26
  42. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  43. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  44. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +26 -26
  45. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  46. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  47. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +18 -18
  48. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  49. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  50. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +18 -18
  51. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  52. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  53. package/web/.next/server/app/_global-error.html +2 -2
  54. package/web/.next/server/app/_global-error.rsc +1 -1
  55. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  56. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  57. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  58. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  59. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  60. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  61. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  62. package/web/.next/server/app/settings/page/server-reference-manifest.json +5 -5
  63. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  64. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  65. package/web/.next/server/app/skills/page/server-reference-manifest.json +6 -6
  66. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  67. package/web/.next/server/app/tools/page/server-reference-manifest.json +6 -6
  68. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  69. package/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
  70. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  71. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  72. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  73. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  74. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_a1104008.js +1 -1
  75. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_a1104008.js.map +1 -1
  76. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_92642200.js +1 -1
  77. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_92642200.js.map +1 -1
  78. package/web/.next/server/chunks/ssr/[root-of-the-server]__039967e3._.js +1 -1
  79. package/web/.next/server/chunks/ssr/[root-of-the-server]__039967e3._.js.map +1 -1
  80. package/web/.next/server/chunks/ssr/[root-of-the-server]__07a39ff2._.js +1 -1
  81. package/web/.next/server/chunks/ssr/[root-of-the-server]__11033878._.js +1 -1
  82. package/web/.next/server/chunks/ssr/[root-of-the-server]__11033878._.js.map +1 -1
  83. package/web/.next/server/chunks/ssr/[root-of-the-server]__24dd0927._.js +2 -2
  84. package/web/.next/server/chunks/ssr/[root-of-the-server]__24dd0927._.js.map +1 -1
  85. package/web/.next/server/chunks/ssr/[root-of-the-server]__2773312c._.js +1 -1
  86. package/web/.next/server/chunks/ssr/[root-of-the-server]__2773312c._.js.map +1 -1
  87. package/web/.next/server/chunks/ssr/[root-of-the-server]__5d87af2e._.js +1 -1
  88. package/web/.next/server/chunks/ssr/[root-of-the-server]__845a9d2a._.js +1 -1
  89. package/web/.next/server/chunks/ssr/[root-of-the-server]__845a9d2a._.js.map +1 -1
  90. package/web/.next/server/chunks/ssr/[root-of-the-server]__89e8a5cc._.js +2 -2
  91. package/web/.next/server/chunks/ssr/[root-of-the-server]__89e8a5cc._.js.map +1 -1
  92. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +2 -2
  93. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js.map +1 -1
  94. package/web/.next/server/chunks/ssr/[root-of-the-server]__cbd8062c._.js +1 -1
  95. package/web/.next/server/chunks/ssr/[root-of-the-server]__cbd8062c._.js.map +1 -1
  96. package/web/.next/server/chunks/ssr/[root-of-the-server]__e70c5627._.js +1 -1
  97. package/web/.next/server/chunks/ssr/[root-of-the-server]__e70c5627._.js.map +1 -1
  98. package/web/.next/server/chunks/ssr/[root-of-the-server]__fdc75809._.js +1 -1
  99. package/web/.next/server/chunks/ssr/[root-of-the-server]__fdc75809._.js.map +1 -1
  100. package/web/.next/server/chunks/ssr/{_e7f4342a._.js → _1318ad3c._.js} +2 -2
  101. package/web/.next/server/chunks/ssr/{_e7f4342a._.js.map → _1318ad3c._.js.map} +1 -1
  102. package/web/.next/server/chunks/ssr/_135edb9c._.js +1 -1
  103. package/web/.next/server/chunks/ssr/_135edb9c._.js.map +1 -1
  104. package/web/.next/server/chunks/ssr/_8dacd1e7._.js +1 -1
  105. package/web/.next/server/chunks/ssr/_8dacd1e7._.js.map +1 -1
  106. package/web/.next/server/chunks/ssr/{_5cceebc2._.js → _b2d84f51._.js} +2 -2
  107. package/web/.next/server/chunks/ssr/{_5cceebc2._.js.map → _b2d84f51._.js.map} +1 -1
  108. package/web/.next/server/chunks/ssr/_cc77a143._.js +1 -1
  109. package/web/.next/server/chunks/ssr/_cc77a143._.js.map +1 -1
  110. package/web/.next/server/chunks/ssr/{_0314f5ef._.js → _f2f952a0._.js} +2 -2
  111. package/web/.next/server/chunks/ssr/{_0314f5ef._.js.map → _f2f952a0._.js.map} +1 -1
  112. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  113. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  114. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_888633e1.js +1 -1
  115. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_888633e1.js.map +1 -1
  116. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js +1 -1
  117. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js.map +1 -1
  118. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js +1 -1
  119. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js.map +1 -1
  120. package/web/.next/server/chunks/ssr/src_presentation_web_ce7cbc3c._.js +2 -2
  121. package/web/.next/server/chunks/ssr/src_presentation_web_ce7cbc3c._.js.map +1 -1
  122. package/web/.next/server/chunks/ssr/src_presentation_web_components_bf50c527._.js +1 -1
  123. package/web/.next/server/chunks/ssr/src_presentation_web_components_bf50c527._.js.map +1 -1
  124. package/web/.next/server/chunks/ssr/src_presentation_web_components_de814675._.js +1 -1
  125. package/web/.next/server/chunks/ssr/src_presentation_web_components_de814675._.js.map +1 -1
  126. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  127. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  128. package/web/.next/server/chunks/ssr/src_presentation_web_e2604413._.js +2 -2
  129. package/web/.next/server/chunks/ssr/src_presentation_web_e2604413._.js.map +1 -1
  130. package/web/.next/server/pages/500.html +2 -2
  131. package/web/.next/server/server-reference-manifest.js +1 -1
  132. package/web/.next/server/server-reference-manifest.json +31 -31
  133. package/web/.next/static/chunks/{28c2de3064d1f7f7.js → 07db008a50ad1437.js} +1 -1
  134. package/web/.next/static/chunks/{ccb531223ea544c6.js → 3395902f73d0d542.js} +1 -1
  135. package/web/.next/static/chunks/{a949fc447e78e19d.js → 4c7d775f8aea1801.js} +1 -1
  136. package/web/.next/static/chunks/{12debbecf940f9f4.js → 5b1238ecb4877a91.js} +1 -1
  137. package/web/.next/static/chunks/{d89266ba8c9b4e53.js → 91618ac0407c0633.js} +2 -2
  138. package/web/.next/static/chunks/{a1703e2e9adb6b7c.js → a1d7bf375cdbb0e6.js} +2 -2
  139. package/web/.next/static/chunks/{1fa5f5d8cacab7a6.js → b50769c6b1ae4376.js} +1 -1
  140. package/web/.next/static/chunks/{542837b8eafc1f70.js → c3df48584a289026.js} +1 -1
  141. package/web/.next/static/chunks/{9177b327b379b61f.js → d455ab716318b5ac.js} +1 -1
  142. package/web/.next/static/chunks/{83b8f1c9045f3f0c.js → e9b707709a863ebb.js} +1 -1
  143. /package/web/.next/static/{-tvtxsxGKXaQ4TutMyzMz → eGrsiJzQq8do5oyIuWXo2}/_buildManifest.js +0 -0
  144. /package/web/.next/static/{-tvtxsxGKXaQ4TutMyzMz → eGrsiJzQq8do5oyIuWXo2}/_clientMiddlewareManifest.json +0 -0
  145. /package/web/.next/static/{-tvtxsxGKXaQ4TutMyzMz → eGrsiJzQq8do5oyIuWXo2}/_ssgManifest.js +0 -0
@@ -53,12 +53,11 @@ export interface IWorktreeService {
53
53
  /**
54
54
  * Remove an existing worktree.
55
55
  *
56
- * @param repoPath - Absolute path to the main repository (used as cwd for git)
57
56
  * @param worktreePath - Path to the worktree to remove
58
57
  * @param force - When true, passes --force to git worktree remove (handles dirty worktrees)
59
58
  * @throws WorktreeError if worktree not found or has uncommitted changes
60
59
  */
61
- remove(repoPath: string, worktreePath: string, force?: boolean): Promise<void>;
60
+ remove(worktreePath: string, force?: boolean): Promise<void>;
62
61
  /**
63
62
  * List all worktrees in a repository.
64
63
  *
@@ -1 +1 @@
1
- {"version":3,"file":"worktree-service.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/services/worktree-service.interface.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,oBAAY,iBAAiB;IAC3B,cAAc,mBAAmB;IACjC,aAAa,kBAAkB;IAC/B,SAAS,cAAc;IACvB,cAAc,mBAAmB;IACjC,SAAS,cAAc;CACxB;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,KAAK;aAGpB,IAAI,EAAE,iBAAiB;aACvB,KAAK,CAAC,EAAE,KAAK;gBAF7B,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,iBAAiB,EACvB,KAAK,CAAC,EAAE,KAAK,YAAA;CAKhC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;;;OASG;IACH,MAAM,CACJ,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,YAAY,CAAC,CAAC;IAEzB;;;;;;;OAOG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/E;;;;;OAKG;IACH,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAEhD;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3D;;;;;;OAMG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEjE;;;;;;OAMG;IACH,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEvE;;;;;;OAMG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAE1D;;;;OAIG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvC;;;;;;;OAOG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD"}
1
+ {"version":3,"file":"worktree-service.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/services/worktree-service.interface.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,oBAAY,iBAAiB;IAC3B,cAAc,mBAAmB;IACjC,aAAa,kBAAkB;IAC/B,SAAS,cAAc;IACvB,cAAc,mBAAmB;IACjC,SAAS,cAAc;CACxB;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,KAAK;aAGpB,IAAI,EAAE,iBAAiB;aACvB,KAAK,CAAC,EAAE,KAAK;gBAF7B,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,iBAAiB,EACvB,KAAK,CAAC,EAAE,KAAK,YAAA;CAKhC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;;;OASG;IACH,MAAM,CACJ,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,YAAY,CAAC,CAAC;IAEzB;;;;;;OAMG;IACH,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7D;;;;;OAKG;IACH,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAEhD;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3D;;;;;;OAMG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEjE;;;;;;OAMG;IACH,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEvE;;;;;;OAMG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAE1D;;;;OAIG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvC;;;;;;;OAOG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD"}
@@ -39,7 +39,7 @@ let CleanupFeatureWorktreeUseCase = class CleanupFeatureWorktreeUseCase {
39
39
  const worktreePath = feature.worktreePath ??
40
40
  this.worktreeService.getWorktreePath(feature.repositoryPath, feature.branch);
41
41
  try {
42
- await this.worktreeService.remove(feature.repositoryPath, worktreePath, true);
42
+ await this.worktreeService.remove(worktreePath, true);
43
43
  }
44
44
  catch (err) {
45
45
  // eslint-disable-next-line no-console
@@ -106,7 +106,7 @@ let DeleteFeatureUseCase = class DeleteFeatureUseCase {
106
106
  const worktreePath = feature.worktreePath ??
107
107
  this.worktreeService.getWorktreePath(feature.repositoryPath, feature.branch);
108
108
  try {
109
- await this.worktreeService.remove(feature.repositoryPath, worktreePath, true);
109
+ await this.worktreeService.remove(worktreePath, true);
110
110
  }
111
111
  catch {
112
112
  // Worktree might already be removed - that's fine
@@ -1 +1 @@
1
- {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/src/infrastructure/di/container.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAkHrC;;;;;;GAMG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,OAAO,SAAS,CAAC,CA8TrE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAEhD;AAED;;;GAGG;AACH,OAAO,EAAE,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/src/infrastructure/di/container.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAkHrC;;;;;;GAMG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,OAAO,SAAS,CAAC,CAgUrE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAEhD;AAED;;;GAGG;AACH,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -189,13 +189,15 @@ export async function initializeContainer() {
189
189
  else {
190
190
  container.register('IAgentExecutorFactory', {
191
191
  useFactory: () => {
192
- // Wrap spawn with sensible defaults: stdio piped and windowsHide on Win32.
193
- // Each executor controls its own `shell` option — cursor needs shell: true
194
- // for .cmd scripts, but claude-code must NOT use shell (DEP0190 / prompt mangling).
192
+ // Wrap spawn to ensure stdio is explicitly set to 'pipe'.
193
+ // Do NOT force shell: true here — each executor controls its own spawn
194
+ // options via buildSpawnOptions(). Forcing shell: true globally causes
195
+ // DEP0190 argument escaping issues on Windows that mangle long prompts.
196
+ // Executors that need shell: true (e.g. cursor for .cmd scripts) set it
197
+ // themselves; native executables (claude, gemini) must NOT use shell: true.
195
198
  const spawnWithPipe = (command, args, options) => {
196
199
  return spawn(command, args, {
197
200
  stdio: 'pipe',
198
- ...(process.platform === 'win32' ? { windowsHide: true } : {}),
199
201
  ...options,
200
202
  });
201
203
  };
@@ -1 +1 @@
1
- {"version":3,"file":"cursor-executor.service.d.ts","sourceRoot":"","sources":["../../../../../../../../../packages/core/src/infrastructure/services/agents/common/executors/cursor-executor.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AACzF,OAAO,KAAK,EACV,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,4EAA4E,CAAC;AACpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAsBjD;;;GAGG;AACH,qBAAa,qBAAsB,YAAW,cAAc;IAM9C,OAAO,CAAC,QAAQ,CAAC,KAAK;IALlC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAyB;IAEtD,4EAA4E;IAC5E,OAAO,CAAC,MAAM,CAAS;gBAEM,KAAK,EAAE,aAAa;IAEjD,4EAA4E;IAC5E,OAAO,CAAC,GAAG;IAMX,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO;IAIzC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA0GtF,aAAa,CAClB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,qBAAqB,GAC9B,aAAa,CAAC,yBAAyB,CAAC;IA8E3C;;OAEG;IACH,OAAO,CAAC,cAAc;IAkCtB,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,iBAAiB;IAwBzB,OAAO,CAAC,eAAe;CAgDxB"}
1
+ {"version":3,"file":"cursor-executor.service.d.ts","sourceRoot":"","sources":["../../../../../../../../../packages/core/src/infrastructure/services/agents/common/executors/cursor-executor.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AACzF,OAAO,KAAK,EACV,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,4EAA4E,CAAC;AACpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAsBjD;;;GAGG;AACH,qBAAa,qBAAsB,YAAW,cAAc;IAM9C,OAAO,CAAC,QAAQ,CAAC,KAAK;IALlC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAyB;IAEtD,4EAA4E;IAC5E,OAAO,CAAC,MAAM,CAAS;gBAEM,KAAK,EAAE,aAAa;IAEjD,4EAA4E;IAC5E,OAAO,CAAC,GAAG;IAMX,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO;IAIzC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA0GtF,aAAa,CAClB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,qBAAqB,GAC9B,aAAa,CAAC,yBAAyB,CAAC;IA8E3C;;OAEG;IACH,OAAO,CAAC,cAAc;IAkCtB,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,iBAAiB;IAoBzB,OAAO,CAAC,eAAe;CAgDxB"}
@@ -274,11 +274,8 @@ export class CursorExecutorService {
274
274
  const spawnOpts = {};
275
275
  if (options?.cwd)
276
276
  spawnOpts.cwd = options.cwd;
277
- // Explicitly pipe stdio so streams are available even when parent disconnects
278
- spawnOpts.stdio = ['pipe', 'pipe', 'pipe'];
279
- // On Windows: shell=true so Node.js can resolve .cmd/.ps1 scripts
280
- // (Cursor CLI ships as `agent.cmd` on Windows, not a native .exe).
281
- // windowsHide=true prevents blank console windows from flashing.
277
+ // On Windows, the cursor agent is a .cmd script which requires shell: true
278
+ // to resolve via PATH. Also hide the console window.
282
279
  if (process.platform === 'win32') {
283
280
  spawnOpts.shell = true;
284
281
  spawnOpts.windowsHide = true;
@@ -1 +1 @@
1
- {"version":3,"file":"gemini-cli-executor.service.d.ts","sourceRoot":"","sources":["../../../../../../../../../packages/core/src/infrastructure/services/agents/common/executors/gemini-cli-executor.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,SAAS,EACT,YAAY,EACZ,WAAW,EACZ,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EACV,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,4EAA4E,CAAC;AACpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAMjD;;;GAGG;AACH,qBAAa,wBAAyB,YAAW,cAAc;IAO3D,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;IAP9B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAA6B;IAE1D,4EAA4E;IAC5E,OAAO,CAAC,MAAM,CAAS;gBAGJ,KAAK,EAAE,aAAa,EACpB,UAAU,CAAC,EAAE,WAAW,YAAA;IAG3C,4EAA4E;IAC5E,OAAO,CAAC,GAAG;IAMX,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO;IAIzC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAsFtF,aAAa,CAClB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,qBAAqB,GAC9B,aAAa,CAAC,yBAAyB,CAAC;IAsG3C;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAmDxB;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAI3C;IAEF;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAY9B;;;OAGG;IACH,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,SAAS;IAsBjB,OAAO,CAAC,iBAAiB;CA0B1B"}
1
+ {"version":3,"file":"gemini-cli-executor.service.d.ts","sourceRoot":"","sources":["../../../../../../../../../packages/core/src/infrastructure/services/agents/common/executors/gemini-cli-executor.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,SAAS,EACT,YAAY,EACZ,WAAW,EACZ,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EACV,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,4EAA4E,CAAC;AACpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAMjD;;;GAGG;AACH,qBAAa,wBAAyB,YAAW,cAAc;IAO3D,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;IAP9B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAA6B;IAE1D,4EAA4E;IAC5E,OAAO,CAAC,MAAM,CAAS;gBAGJ,KAAK,EAAE,aAAa,EACpB,UAAU,CAAC,EAAE,WAAW,YAAA;IAG3C,4EAA4E;IAC5E,OAAO,CAAC,GAAG;IAMX,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO;IAIzC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAsFtF,aAAa,CAClB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,qBAAqB,GAC9B,aAAa,CAAC,yBAAyB,CAAC;IAsG3C;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAmDxB;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAI3C;IAEF;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAY9B;;;OAGG;IACH,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,SAAS;IAsBjB,OAAO,CAAC,iBAAiB;CAiB1B"}
@@ -323,13 +323,6 @@ export class GeminiCliExecutorService {
323
323
  const spawnOpts = {};
324
324
  if (options?.cwd)
325
325
  spawnOpts.cwd = options.cwd;
326
- // Explicitly pipe stdio so streams are available even when parent disconnects
327
- spawnOpts.stdio = ['pipe', 'pipe', 'pipe'];
328
- // On Windows: windowsHide=true to prevent blank console windows.
329
- // Gemini CLI is a native binary, so shell=true is NOT needed.
330
- if (process.platform === 'win32') {
331
- spawnOpts.windowsHide = true;
332
- }
333
326
  // Strip CLAUDECODE env var to prevent "nested session" error when shep
334
327
  // is invoked from within a Claude Code session.
335
328
  const { CLAUDECODE: _, ...cleanEnv } = process.env;
@@ -18,7 +18,7 @@ export declare class WorktreeService implements IWorktreeService {
18
18
  private readonly execFile;
19
19
  constructor(execFile: ExecFunction);
20
20
  create(repoPath: string, branch: string, worktreePath: string, startPoint?: string): Promise<WorktreeInfo>;
21
- remove(repoPath: string, worktreePath: string, force?: boolean): Promise<void>;
21
+ remove(worktreePath: string, force?: boolean): Promise<void>;
22
22
  prune(repoPath: string): Promise<void>;
23
23
  list(repoPath: string): Promise<WorktreeInfo[]>;
24
24
  exists(repoPath: string, branch: string): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"worktree.service.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/infrastructure/services/git/worktree.service.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EACb,MAAM,0EAA0E,CAAC;AAOlF;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,CACzB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,CAAC,EAAE,MAAM,KACb,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEjD,qBACa,eAAgB,YAAW,gBAAgB;IAClB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,YAAY;IAErE,MAAM,CACV,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,YAAY,CAAC;IAuBlB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAW9E,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtC,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAO/C,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAK1D,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWhE,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWtE,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqC1D,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAQzD,OAAO,CAAC,mBAAmB;IA2B3B,OAAO,CAAC,aAAa;IAgCrB,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,qBAAqB;CAsB9B"}
1
+ {"version":3,"file":"worktree.service.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/infrastructure/services/git/worktree.service.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EACb,MAAM,0EAA0E,CAAC;AAOlF;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,CACzB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,CAAC,EAAE,MAAM,KACb,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEjD,qBACa,eAAgB,YAAW,gBAAgB;IAClB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,YAAY;IAErE,MAAM,CACV,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,YAAY,CAAC;IAuBlB,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAW5D,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtC,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAO/C,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAK1D,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWhE,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWtE,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqC1D,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAMzD,OAAO,CAAC,mBAAmB;IA2B3B,OAAO,CAAC,aAAa;IAgCrB,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,qBAAqB;CAsB9B"}
@@ -49,13 +49,13 @@ let WorktreeService = class WorktreeService {
49
49
  }
50
50
  return created;
51
51
  }
52
- async remove(repoPath, worktreePath, force) {
52
+ async remove(worktreePath, force) {
53
53
  try {
54
54
  const args = ['worktree', 'remove'];
55
55
  if (force)
56
56
  args.push('--force');
57
57
  args.push(worktreePath);
58
- await this.execFile('git', args, { cwd: repoPath });
58
+ await this.execFile('git', args, {});
59
59
  }
60
60
  catch (error) {
61
61
  throw this.parseGitError(error);
@@ -135,9 +135,7 @@ let WorktreeService = class WorktreeService {
135
135
  }
136
136
  }
137
137
  getWorktreePath(repoPath, branch) {
138
- // Normalize separators before hashing so C:\foo and C:/foo produce the same hash
139
- const normalizedRepoPath = repoPath.replace(/\\/g, '/');
140
- const repoHash = createHash('sha256').update(normalizedRepoPath).digest('hex').slice(0, 16);
138
+ const repoHash = createHash('sha256').update(repoPath).digest('hex').slice(0, 16);
141
139
  const slug = branch.replace(/\//g, '-');
142
140
  return path.join(getShepHomeDir(), 'repos', repoHash, 'wt', slug).replace(/\\/g, '/');
143
141
  }
@@ -1 +1 @@
1
- {"version":3,"file":"compute-worktree-path.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/infrastructure/services/ide-launchers/compute-worktree-path.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAM5E"}
1
+ {"version":3,"file":"compute-worktree-path.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/infrastructure/services/ide-launchers/compute-worktree-path.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAI5E"}
@@ -17,9 +17,7 @@ import { getShepHomeDir } from '../filesystem/shep-directory.service.js';
17
17
  * @returns Absolute path to the worktree directory under ~/.shep/repos/
18
18
  */
19
19
  export function computeWorktreePath(repoPath, branch) {
20
- // Normalize separators before hashing so C:\foo and C:/foo produce the same hash
21
- const normalizedRepoPath = repoPath.replace(/\\/g, '/');
22
- const repoHash = createHash('sha256').update(normalizedRepoPath).digest('hex').slice(0, 16);
20
+ const repoHash = createHash('sha256').update(repoPath).digest('hex').slice(0, 16);
23
21
  const slug = branch.replace(/\//g, '-');
24
22
  return join(getShepHomeDir(), 'repos', repoHash, 'wt', slug).replace(/\\/g, '/');
25
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"json-driven-ide-launcher.service.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/infrastructure/services/ide-launchers/json-driven-ide-launcher.service.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EAChB,MAAM,8EAA8E,CAAC;AAetF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAGnF;AAED,qBACa,4BAA6B,YAAW,mBAAmB;IACtE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;;IAiB1C,MAAM,CACV,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAC/B,OAAO,CAAC,eAAe,CAAC;IAkErB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAQ5D"}
1
+ {"version":3,"file":"json-driven-ide-launcher.service.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/infrastructure/services/ide-launchers/json-driven-ide-launcher.service.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EAChB,MAAM,8EAA8E,CAAC;AAetF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAGnF;AAED,qBACa,4BAA6B,YAAW,mBAAmB;IACtE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;;IAiB1C,MAAM,CACV,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAC/B,OAAO,CAAC,eAAe,CAAC;IA8DrB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAQ5D"}
@@ -83,11 +83,7 @@ let JsonDrivenIdeLauncherService = class JsonDrivenIdeLauncherService {
83
83
  child = spawn(resolved, [], opts);
84
84
  }
85
85
  else {
86
- // Split the template BEFORE substituting {dir} so that directory
87
- // paths containing spaces are kept as a single argument.
88
- const parts = openCmd.split(/\s+/);
89
- const command = parts[0].replace('{dir}', directoryPath);
90
- const args = parts.slice(1).map((p) => p.replace('{dir}', directoryPath));
86
+ const [command, ...args] = resolved.split(/\s+/);
91
87
  child = spawn(command, args, opts);
92
88
  }
93
89
  if (opts.detached)