@shepai/cli 1.129.2-pr415.e8b42a3 → 1.129.2

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/dist/packages/core/src/application/ports/output/services/index.d.ts +1 -1
  2. package/dist/packages/core/src/application/ports/output/services/index.d.ts.map +1 -1
  3. package/dist/packages/core/src/application/ports/output/services/tool-installer.service.d.ts +0 -13
  4. package/dist/packages/core/src/application/ports/output/services/tool-installer.service.d.ts.map +1 -1
  5. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-installer.service.d.ts +1 -7
  6. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-installer.service.d.ts.map +1 -1
  7. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-installer.service.js +1 -37
  8. package/dist/src/presentation/web/app/actions/get-available-terminals.d.ts +3 -8
  9. package/dist/src/presentation/web/app/actions/get-available-terminals.d.ts.map +1 -1
  10. package/dist/src/presentation/web/app/actions/get-available-terminals.js +46 -14
  11. package/dist/tsconfig.build.tsbuildinfo +1 -1
  12. package/package.json +1 -1
  13. package/web/.next/BUILD_ID +1 -1
  14. package/web/.next/build-manifest.json +2 -2
  15. package/web/.next/fallback-build-manifest.json +2 -2
  16. package/web/.next/prerender-manifest.json +3 -3
  17. package/web/.next/required-server-files.js +3 -3
  18. package/web/.next/required-server-files.json +3 -3
  19. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +24 -24
  20. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +1 -1
  21. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  22. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  23. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +24 -24
  24. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +1 -1
  25. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  26. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  27. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +30 -30
  28. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +1 -1
  29. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  30. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  31. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +30 -30
  32. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +1 -1
  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 +22 -22
  36. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +1 -1
  37. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  38. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  39. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +24 -24
  40. package/web/.next/server/app/(dashboard)/create/page.js +1 -1
  41. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  42. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  43. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +30 -30
  44. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +1 -1
  45. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  46. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  47. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +30 -30
  48. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +1 -1
  49. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  50. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  51. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +22 -22
  52. package/web/.next/server/app/(dashboard)/page.js +1 -1
  53. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  54. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  55. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +22 -22
  56. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +1 -1
  57. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  58. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  59. package/web/.next/server/app/_global-error.html +2 -2
  60. package/web/.next/server/app/_global-error.rsc +1 -1
  61. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  62. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  63. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  64. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  65. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  66. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +3 -3
  67. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  68. package/web/.next/server/app/api/graph-data/route.js +1 -1
  69. package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
  70. package/web/.next/server/app/settings/page/server-reference-manifest.json +8 -8
  71. package/web/.next/server/app/settings/page.js +1 -1
  72. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  73. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  74. package/web/.next/server/app/skills/page/server-reference-manifest.json +8 -8
  75. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  76. package/web/.next/server/app/tools/page/server-reference-manifest.json +8 -8
  77. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  78. package/web/.next/server/app/version/page/server-reference-manifest.json +3 -3
  79. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  80. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  81. package/web/.next/server/chunks/{[root-of-the-server]__bc532286._.js → [root-of-the-server]__dcd4f847._.js} +2 -2
  82. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_4e741df2.js +1 -1
  83. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_4e741df2.js.map +1 -1
  84. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  85. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  86. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_026fdffa.js +1 -1
  87. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_026fdffa.js.map +1 -1
  88. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_8b91e197.js +1 -1
  89. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_8b91e197.js.map +1 -1
  90. package/web/.next/server/chunks/ssr/[root-of-the-server]__0e842eba._.js +1 -1
  91. package/web/.next/server/chunks/ssr/[root-of-the-server]__0e842eba._.js.map +1 -1
  92. package/web/.next/server/chunks/ssr/[root-of-the-server]__2f886f77._.js +4 -0
  93. package/web/.next/server/chunks/ssr/[root-of-the-server]__2f886f77._.js.map +1 -0
  94. package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
  95. package/web/.next/server/chunks/ssr/[root-of-the-server]__43f51aa6._.js +1 -1
  96. package/web/.next/server/chunks/ssr/[root-of-the-server]__43f51aa6._.js.map +1 -1
  97. package/web/.next/server/chunks/ssr/[root-of-the-server]__60684242._.js +2 -2
  98. package/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js +2 -2
  99. package/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js.map +1 -1
  100. package/web/.next/server/chunks/ssr/[root-of-the-server]__755cfe02._.js +1 -1
  101. package/web/.next/server/chunks/ssr/[root-of-the-server]__755cfe02._.js.map +1 -1
  102. package/web/.next/server/chunks/ssr/[root-of-the-server]__815546bd._.js +1 -1
  103. package/web/.next/server/chunks/ssr/[root-of-the-server]__815546bd._.js.map +1 -1
  104. package/web/.next/server/chunks/ssr/[root-of-the-server]__a628fb91._.js +1 -1
  105. package/web/.next/server/chunks/ssr/[root-of-the-server]__a628fb91._.js.map +1 -1
  106. package/web/.next/server/chunks/ssr/[root-of-the-server]__bfba58e6._.js +1 -1
  107. package/web/.next/server/chunks/ssr/[root-of-the-server]__bfba58e6._.js.map +1 -1
  108. package/web/.next/server/chunks/ssr/[root-of-the-server]__c3ab8422._.js +1 -1
  109. package/web/.next/server/chunks/ssr/[root-of-the-server]__c3ab8422._.js.map +1 -1
  110. package/web/.next/server/chunks/ssr/[root-of-the-server]__f4a463ee._.js +4 -0
  111. package/web/.next/server/chunks/ssr/[root-of-the-server]__f4a463ee._.js.map +1 -0
  112. package/web/.next/server/chunks/ssr/_02ec1aea._.js +1 -1
  113. package/web/.next/server/chunks/ssr/_02ec1aea._.js.map +1 -1
  114. package/web/.next/server/chunks/ssr/{_38d666eb._.js → _6f7bfa91._.js} +2 -2
  115. package/web/.next/server/chunks/ssr/{_38d666eb._.js.map → _6f7bfa91._.js.map} +1 -1
  116. package/web/.next/server/chunks/ssr/_7dca1882._.js +1 -1
  117. package/web/.next/server/chunks/ssr/_7dca1882._.js.map +1 -1
  118. package/web/.next/server/chunks/ssr/_a9f57758._.js +1 -1
  119. package/web/.next/server/chunks/ssr/_bda8a4be._.js +3 -0
  120. package/web/.next/server/chunks/ssr/{_5cc6b884._.js.map → _bda8a4be._.js.map} +1 -1
  121. package/web/.next/server/chunks/ssr/_d8575088._.js +1 -1
  122. package/web/.next/server/chunks/ssr/_d8575088._.js.map +1 -1
  123. package/web/.next/server/chunks/ssr/_f39a1adb._.js +1 -1
  124. package/web/.next/server/chunks/ssr/_f39a1adb._.js.map +1 -1
  125. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  126. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  127. package/web/.next/server/chunks/ssr/src_presentation_web_8e7fe0d1._.js +2 -2
  128. package/web/.next/server/chunks/ssr/src_presentation_web_8e7fe0d1._.js.map +1 -1
  129. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_ca051134.js +1 -1
  130. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_ca051134.js.map +1 -1
  131. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1b176e3c.js +1 -1
  132. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1b176e3c.js.map +1 -1
  133. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_bd9f0dda.js +1 -1
  134. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_bd9f0dda.js.map +1 -1
  135. package/web/.next/server/chunks/ssr/{src_presentation_web_1cf7f742._.js → src_presentation_web_a6ae877a._.js} +2 -2
  136. package/web/.next/server/chunks/ssr/{src_presentation_web_1cf7f742._.js.map → src_presentation_web_a6ae877a._.js.map} +1 -1
  137. package/web/.next/server/chunks/ssr/src_presentation_web_b9023017._.js +2 -2
  138. package/web/.next/server/chunks/ssr/src_presentation_web_b9023017._.js.map +1 -1
  139. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
  140. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +1 -1
  141. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  142. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  143. package/web/.next/server/pages/500.html +2 -2
  144. package/web/.next/server/server-reference-manifest.js +1 -1
  145. package/web/.next/server/server-reference-manifest.json +38 -38
  146. package/web/.next/static/chunks/{edb724ea4f507470.js → 03b3edc6ec7acce0.js} +1 -1
  147. package/web/.next/static/chunks/0f21da463e7b5fe5.js +1 -0
  148. package/web/.next/static/chunks/{2109939b818e8a21.js → 1ff1a21ebd0d3dce.js} +1 -1
  149. package/web/.next/static/chunks/{3db5579b21f4865e.js → 38eca63d40c799cd.js} +1 -1
  150. package/web/.next/static/chunks/{3b013cb80e3abe8d.js → 49cc0701d7c41ba6.js} +1 -1
  151. package/web/.next/static/chunks/{5cf6bacf2a830ba1.js → 4b6d766e61789186.js} +1 -1
  152. package/web/.next/static/chunks/{4d1d68d12435ab5e.js → 5d14ca93cee50529.js} +2 -2
  153. package/web/.next/static/chunks/{d7e86e225826ded3.js → 94f33a53f1b81108.js} +1 -1
  154. package/web/.next/static/chunks/{7d65e69aeeeb0685.js → 987ffb823189289a.js} +1 -1
  155. package/web/.next/static/chunks/{4a4322e31546aeb2.js → ad726954ef3ab226.js} +1 -1
  156. package/web/.next/static/chunks/{e83aac447467719e.js → ecd9562d3fd2944c.js} +1 -1
  157. package/web/.next/static/chunks/ff5e04cd8c24dd59.js +1 -0
  158. package/web/.next/server/chunks/ssr/[root-of-the-server]__62cdea24._.js +0 -4
  159. package/web/.next/server/chunks/ssr/[root-of-the-server]__62cdea24._.js.map +0 -1
  160. package/web/.next/server/chunks/ssr/[root-of-the-server]__99ab2519._.js +0 -4
  161. package/web/.next/server/chunks/ssr/[root-of-the-server]__99ab2519._.js.map +0 -1
  162. package/web/.next/server/chunks/ssr/_5cc6b884._.js +0 -3
  163. package/web/.next/static/chunks/68f633e5218bb175.js +0 -1
  164. package/web/.next/static/chunks/87cedd21dc11fb2f.js +0 -1
  165. /package/web/.next/server/chunks/{[root-of-the-server]__bc532286._.js.map → [root-of-the-server]__dcd4f847._.js.map} +0 -0
  166. /package/web/.next/static/{UBAo6avNyvCewhdD7bkhO → FwKj7hWEdbpIR5DtG1GQJ}/_buildManifest.js +0 -0
  167. /package/web/.next/static/{UBAo6avNyvCewhdD7bkhO → FwKj7hWEdbpIR5DtG1GQJ}/_clientMiddlewareManifest.json +0 -0
  168. /package/web/.next/static/{UBAo6avNyvCewhdD7bkhO → FwKj7hWEdbpIR5DtG1GQJ}/_ssgManifest.js +0 -0
@@ -10,7 +10,7 @@ export type { IVersionService } from './version-service.interface.js';
10
10
  export type { IWebServerService } from './web-server-service.interface.js';
11
11
  export type { IWorktreeService, WorktreeInfo } from './worktree-service.interface.js';
12
12
  export { WorktreeError, WorktreeErrorCode } from './worktree-service.interface.js';
13
- export type { IToolInstallerService, AvailableTerminalEntry } from './tool-installer.service.js';
13
+ export type { IToolInstallerService } from './tool-installer.service.js';
14
14
  export type { INotificationService } from './notification-service.interface.js';
15
15
  export type { IGitPrService, CiStatus, CiStatusResult, DiffSummary, MergeStrategy, PrCreateResult, } from './git-pr-service.interface.js';
16
16
  export { GitPrError, GitPrErrorCode } from './git-pr-service.interface.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/services/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAClG,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,uCAAuC,CAAC;AAC/C,YAAY,EACV,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,iCAAiC,CAAC;AACzC,YAAY,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,YAAY,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACnF,YAAY,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACjG,YAAY,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAChF,YAAY,EACV,aAAa,EACb,QAAQ,EACR,cAAc,EACd,WAAW,EACX,aAAa,EACb,cAAc,GACf,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC3E,YAAY,EACV,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,eAAe,GAChB,MAAM,qCAAqC,CAAC;AAC7C,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjF,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC9F,YAAY,EACV,wBAAwB,EACxB,UAAU,EACV,2BAA2B,EAC3B,YAAY,EACZ,eAAe,GAChB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,0CAA0C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/services/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAClG,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,uCAAuC,CAAC;AAC/C,YAAY,EACV,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,iCAAiC,CAAC;AACzC,YAAY,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,YAAY,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACnF,YAAY,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACzE,YAAY,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAChF,YAAY,EACV,aAAa,EACb,QAAQ,EACR,cAAc,EACd,WAAW,EACX,aAAa,EACb,cAAc,GACf,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC3E,YAAY,EACV,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,eAAe,GAChB,MAAM,qCAAqC,CAAC;AAC7C,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjF,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC9F,YAAY,EACV,wBAAwB,EACxB,UAAU,EACV,2BAA2B,EAC3B,YAAY,EACZ,eAAe,GAChB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,0CAA0C,CAAC"}
@@ -5,11 +5,6 @@
5
5
  * Implementations check tool availability and execute installations.
6
6
  */
7
7
  import type { ToolInstallationStatus, ToolInstallCommand } from '../../../../domain/generated/output.js';
8
- export interface AvailableTerminalEntry {
9
- id: string;
10
- name: string;
11
- available: boolean;
12
- }
13
8
  /**
14
9
  * Service interface for tool installation management.
15
10
  */
@@ -36,13 +31,5 @@ export interface IToolInstallerService {
36
31
  * @returns ToolInstallationStatus with result of installation
37
32
  */
38
33
  executeInstall(toolName: string, onOutput?: (data: string) => void): Promise<ToolInstallationStatus>;
39
- /**
40
- * List all terminal emulators supported on the current platform with availability status.
41
- * Uses tool metadata loaded in the Node.js context (not bundled by Next.js),
42
- * so this must be called via the DI container from server actions.
43
- *
44
- * @returns Array of terminal entries with id, name, and availability
45
- */
46
- listAvailableTerminals(): Promise<AvailableTerminalEntry[]>;
47
34
  }
48
35
  //# sourceMappingURL=tool-installer.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-installer.service.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/services/tool-installer.service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,sBAAsB,EACtB,kBAAkB,EACnB,MAAM,wCAAwC,CAAC;AAEhD,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAErE;;;;;OAKG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAAC;IAE/D;;;;;;OAMG;IACH,cAAc,CACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAChC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAEnC;;;;;;OAMG;IACH,sBAAsB,IAAI,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAAC;CAC7D"}
1
+ {"version":3,"file":"tool-installer.service.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/services/tool-installer.service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,sBAAsB,EACtB,kBAAkB,EACnB,MAAM,wCAAwC,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAErE;;;;;OAKG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAAC;IAE/D;;;;;;OAMG;IACH,cAAc,CACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAChC,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACpC"}
@@ -11,7 +11,7 @@
11
11
  * - Automatic timeout handling with process termination
12
12
  * - Immutable status objects via value object factory functions
13
13
  */
14
- import type { IToolInstallerService, AvailableTerminalEntry } from '../../../application/ports/output/services/tool-installer.service.js';
14
+ import type { IToolInstallerService } from '../../../application/ports/output/services/tool-installer.service.js';
15
15
  import type { ToolInstallationStatus, ToolInstallCommand } from '../../../domain/generated/output.js';
16
16
  export declare class ToolInstallerServiceImpl implements IToolInstallerService {
17
17
  /**
@@ -29,12 +29,6 @@ export declare class ToolInstallerServiceImpl implements IToolInstallerService {
29
29
  * Streams stdout/stderr to optional callback and handles timeout automatically.
30
30
  */
31
31
  executeInstall(toolName: string, onOutput?: (data: string) => void): Promise<ToolInstallationStatus>;
32
- /**
33
- * List all terminal emulators supported on the current platform with availability status.
34
- * TOOL_METADATA is loaded in the Node.js CLI context, so this is safe to call from the
35
- * DI container even when the Next.js standalone bundle cannot resolve tools/ via import.meta.url.
36
- */
37
- listAvailableTerminals(): Promise<AvailableTerminalEntry[]>;
38
32
  /**
39
33
  * Create installation suggestions for a tool based on its metadata
40
34
  */
@@ -1 +1 @@
1
- {"version":3,"file":"tool-installer.service.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/infrastructure/services/tool-installer/tool-installer.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,KAAK,EACV,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,sEAAsE,CAAC;AAC9E,OAAO,KAAK,EACV,sBAAsB,EACtB,kBAAkB,EAEnB,MAAM,qCAAqC,CAAC;AA2B7C,qBACa,wBAAyB,YAAW,qBAAqB;IACpE;;;OAGG;IACG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAoC1E;;;OAGG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI;IAqB9D;;;OAGG;IACG,cAAc,CAClB,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAChC,OAAO,CAAC,sBAAsB,CAAC;IAgFlC;;;;OAIG;IACG,sBAAsB,IAAI,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAuCjE;;OAEG;IACH,OAAO,CAAC,6BAA6B;CA4BtC"}
1
+ {"version":3,"file":"tool-installer.service.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/infrastructure/services/tool-installer/tool-installer.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sEAAsE,CAAC;AAClH,OAAO,KAAK,EACV,sBAAsB,EACtB,kBAAkB,EAEnB,MAAM,qCAAqC,CAAC;AA2B7C,qBACa,wBAAyB,YAAW,qBAAqB;IACpE;;;OAGG;IACG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAoC1E;;;OAGG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI;IAqB9D;;;OAGG;IACG,cAAc,CAClB,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAChC,OAAO,CAAC,sBAAsB,CAAC;IAgFlC;;OAEG;IACH,OAAO,CAAC,6BAA6B;CA4BtC"}
@@ -21,7 +21,7 @@ import { injectable } from 'tsyringe';
21
21
  import { exec, spawn } from 'node:child_process';
22
22
  import { platform } from 'node:os';
23
23
  import { createAvailableStatus, createMissingStatus, createErrorStatus, } from '../../../domain/value-objects/tool-installation-status.js';
24
- import { TOOL_METADATA, getTerminalEntries } from './tool-metadata.js';
24
+ import { TOOL_METADATA } from './tool-metadata.js';
25
25
  import { checkBinaryExists } from './binary-exists.js';
26
26
  /**
27
27
  * Resolve binary name for the current platform.
@@ -172,42 +172,6 @@ let ToolInstallerServiceImpl = class ToolInstallerServiceImpl {
172
172
  });
173
173
  });
174
174
  }
175
- /**
176
- * List all terminal emulators supported on the current platform with availability status.
177
- * TOOL_METADATA is loaded in the Node.js CLI context, so this is safe to call from the
178
- * DI container even when the Next.js standalone bundle cannot resolve tools/ via import.meta.url.
179
- */
180
- async listAvailableTerminals() {
181
- const currentPlatform = platform();
182
- const entries = getTerminalEntries();
183
- const results = [];
184
- for (const [id, meta] of entries) {
185
- if (meta.platforms &&
186
- !meta.platforms.includes(currentPlatform)) {
187
- continue;
188
- }
189
- if (id === 'system-terminal') {
190
- results.unshift({ id: 'system', name: meta.name, available: true });
191
- continue;
192
- }
193
- const binary = typeof meta.binary === 'string' ? meta.binary : meta.binary[currentPlatform];
194
- if (!binary)
195
- continue;
196
- let available = false;
197
- if (meta.verifyCommand.startsWith('test ')) {
198
- available = await runVerifyCommand(meta.verifyCommand);
199
- }
200
- else {
201
- const result = await checkBinaryExists(binary);
202
- available = result.found;
203
- }
204
- results.push({ id, name: meta.name, available });
205
- }
206
- if (!results.some((r) => r.id === 'system')) {
207
- results.unshift({ id: 'system', name: 'System Terminal', available: true });
208
- }
209
- return results;
210
- }
211
175
  /**
212
176
  * Create installation suggestions for a tool based on its metadata
213
177
  */
@@ -4,14 +4,9 @@ export interface AvailableTerminal {
4
4
  available: boolean;
5
5
  }
6
6
  /**
7
- * Returns the list of terminal entries from the DI container's IToolInstallerService,
8
- * filtered to the current platform with availability checks.
9
- *
10
- * Using the DI container (not a direct import from tool-metadata) ensures that
11
- * TOOL_METADATA is read from the correct tools/ directory path — it is loaded once
12
- * in the Node.js CLI bootstrap context where import.meta.url resolves correctly.
13
- * Direct imports of tool-metadata from Next.js server action bundles break in
14
- * standalone production mode because import.meta.url points to the chunk file.
7
+ * Returns the list of terminal entries from tool metadata, filtered to the
8
+ * current platform, with availability checks. The "system-terminal" entry
9
+ * is always marked available and listed first.
15
10
  */
16
11
  export declare function getAvailableTerminals(): Promise<AvailableTerminal[]>;
17
12
  //# sourceMappingURL=get-available-terminals.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-available-terminals.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/app/actions/get-available-terminals.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAO1E"}
1
+ {"version":3,"file":"get-available-terminals.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/app/actions/get-available-terminals.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAkD1E"}
@@ -1,21 +1,53 @@
1
1
  'use server';
2
- import { resolve } from '../../lib/server-container.js';
2
+ import { platform } from 'node:os';
3
+ import { getTerminalEntries } from '../../../../../packages/core/src/infrastructure/services/tool-installer/tool-metadata.js';
4
+ import { checkBinaryExists } from '../../../../../packages/core/src/infrastructure/services/tool-installer/binary-exists.js';
3
5
  /**
4
- * Returns the list of terminal entries from the DI container's IToolInstallerService,
5
- * filtered to the current platform with availability checks.
6
- *
7
- * Using the DI container (not a direct import from tool-metadata) ensures that
8
- * TOOL_METADATA is read from the correct tools/ directory path — it is loaded once
9
- * in the Node.js CLI bootstrap context where import.meta.url resolves correctly.
10
- * Direct imports of tool-metadata from Next.js server action bundles break in
11
- * standalone production mode because import.meta.url points to the chunk file.
6
+ * Returns the list of terminal entries from tool metadata, filtered to the
7
+ * current platform, with availability checks. The "system-terminal" entry
8
+ * is always marked available and listed first.
12
9
  */
13
10
  export async function getAvailableTerminals() {
14
- try {
15
- const service = resolve('IToolInstallerService');
16
- return await service.listAvailableTerminals();
11
+ const currentPlatform = platform();
12
+ const entries = getTerminalEntries();
13
+ const results = [];
14
+ for (const [id, meta] of entries) {
15
+ // Skip terminals not supported on this platform
16
+ if (meta.platforms &&
17
+ !meta.platforms.includes(currentPlatform)) {
18
+ continue;
19
+ }
20
+ // System terminal is always available
21
+ if (id === 'system-terminal') {
22
+ results.unshift({ id: 'system', name: meta.name, available: true });
23
+ continue;
24
+ }
25
+ // Check binary availability
26
+ const binary = typeof meta.binary === 'string' ? meta.binary : meta.binary[currentPlatform];
27
+ if (!binary)
28
+ continue;
29
+ // For app-bundle terminals (Warp, iTerm2) that use verifyCommand instead of binary check
30
+ let available = false;
31
+ if (meta.verifyCommand.startsWith('test ')) {
32
+ // Use verifyCommand for app-bundle checks (e.g., "test -d /Applications/Warp.app")
33
+ try {
34
+ const { execSync } = await import('node:child_process');
35
+ execSync(meta.verifyCommand, { stdio: 'ignore' });
36
+ available = true;
37
+ }
38
+ catch {
39
+ available = false;
40
+ }
41
+ }
42
+ else {
43
+ const result = await checkBinaryExists(binary);
44
+ available = result.found;
45
+ }
46
+ results.push({ id, name: meta.name, available });
17
47
  }
18
- catch {
19
- return [{ id: 'system', name: 'System Terminal', available: true }];
48
+ // Ensure system terminal is always present even if not in tool metadata
49
+ if (!results.some((r) => r.id === 'system')) {
50
+ results.unshift({ id: 'system', name: 'System Terminal', available: true });
20
51
  }
52
+ return results;
21
53
  }