@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.
- package/dist/packages/core/src/application/ports/output/services/index.d.ts +1 -1
- package/dist/packages/core/src/application/ports/output/services/index.d.ts.map +1 -1
- package/dist/packages/core/src/application/ports/output/services/tool-installer.service.d.ts +0 -13
- package/dist/packages/core/src/application/ports/output/services/tool-installer.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/tool-installer/tool-installer.service.d.ts +1 -7
- package/dist/packages/core/src/infrastructure/services/tool-installer/tool-installer.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/tool-installer/tool-installer.service.js +1 -37
- package/dist/src/presentation/web/app/actions/get-available-terminals.d.ts +3 -8
- package/dist/src/presentation/web/app/actions/get-available-terminals.d.ts.map +1 -1
- package/dist/src/presentation/web/app/actions/get-available-terminals.js +46 -14
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/build-manifest.json +2 -2
- package/web/.next/fallback-build-manifest.json +2 -2
- package/web/.next/prerender-manifest.json +3 -3
- package/web/.next/required-server-files.js +3 -3
- package/web/.next/required-server-files.json +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +24 -24
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +24 -24
- package/web/.next/server/app/(dashboard)/@drawer/create/page.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +30 -30
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +30 -30
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +22 -22
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +24 -24
- package/web/.next/server/app/(dashboard)/create/page.js +1 -1
- package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +30 -30
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +30 -30
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +22 -22
- package/web/.next/server/app/(dashboard)/page.js +1 -1
- package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +22 -22
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/_global-error.html +2 -2
- package/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/server/app/_not-found/page/server-reference-manifest.json +3 -3
- package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/graph-data/route.js +1 -1
- package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
- package/web/.next/server/app/settings/page/server-reference-manifest.json +8 -8
- package/web/.next/server/app/settings/page.js +1 -1
- package/web/.next/server/app/settings/page.js.nft.json +1 -1
- package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/skills/page/server-reference-manifest.json +8 -8
- package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/tools/page/server-reference-manifest.json +8 -8
- package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/version/page/server-reference-manifest.json +3 -3
- package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
- package/web/.next/server/chunks/{[root-of-the-server]__bc532286._.js → [root-of-the-server]__dcd4f847._.js} +2 -2
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_4e741df2.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_4e741df2.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_026fdffa.js +1 -1
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_026fdffa.js.map +1 -1
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_8b91e197.js +1 -1
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_8b91e197.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0e842eba._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0e842eba._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__2f886f77._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__2f886f77._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__43f51aa6._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__43f51aa6._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__60684242._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__755cfe02._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__755cfe02._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__815546bd._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__815546bd._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a628fb91._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a628fb91._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__bfba58e6._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__bfba58e6._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c3ab8422._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c3ab8422._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__f4a463ee._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__f4a463ee._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_02ec1aea._.js +1 -1
- package/web/.next/server/chunks/ssr/_02ec1aea._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_38d666eb._.js → _6f7bfa91._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_38d666eb._.js.map → _6f7bfa91._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_7dca1882._.js +1 -1
- package/web/.next/server/chunks/ssr/_7dca1882._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_a9f57758._.js +1 -1
- package/web/.next/server/chunks/ssr/_bda8a4be._.js +3 -0
- package/web/.next/server/chunks/ssr/{_5cc6b884._.js.map → _bda8a4be._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_d8575088._.js +1 -1
- package/web/.next/server/chunks/ssr/_d8575088._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_f39a1adb._.js +1 -1
- package/web/.next/server/chunks/ssr/_f39a1adb._.js.map +1 -1
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_8e7fe0d1._.js +2 -2
- package/web/.next/server/chunks/ssr/src_presentation_web_8e7fe0d1._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_ca051134.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_ca051134.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1b176e3c.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1b176e3c.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_bd9f0dda.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_bd9f0dda.js.map +1 -1
- package/web/.next/server/chunks/ssr/{src_presentation_web_1cf7f742._.js → src_presentation_web_a6ae877a._.js} +2 -2
- package/web/.next/server/chunks/ssr/{src_presentation_web_1cf7f742._.js.map → src_presentation_web_a6ae877a._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_b9023017._.js +2 -2
- package/web/.next/server/chunks/ssr/src_presentation_web_b9023017._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
- package/web/.next/server/pages/500.html +2 -2
- package/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/server/server-reference-manifest.json +38 -38
- package/web/.next/static/chunks/{edb724ea4f507470.js → 03b3edc6ec7acce0.js} +1 -1
- package/web/.next/static/chunks/0f21da463e7b5fe5.js +1 -0
- package/web/.next/static/chunks/{2109939b818e8a21.js → 1ff1a21ebd0d3dce.js} +1 -1
- package/web/.next/static/chunks/{3db5579b21f4865e.js → 38eca63d40c799cd.js} +1 -1
- package/web/.next/static/chunks/{3b013cb80e3abe8d.js → 49cc0701d7c41ba6.js} +1 -1
- package/web/.next/static/chunks/{5cf6bacf2a830ba1.js → 4b6d766e61789186.js} +1 -1
- package/web/.next/static/chunks/{4d1d68d12435ab5e.js → 5d14ca93cee50529.js} +2 -2
- package/web/.next/static/chunks/{d7e86e225826ded3.js → 94f33a53f1b81108.js} +1 -1
- package/web/.next/static/chunks/{7d65e69aeeeb0685.js → 987ffb823189289a.js} +1 -1
- package/web/.next/static/chunks/{4a4322e31546aeb2.js → ad726954ef3ab226.js} +1 -1
- package/web/.next/static/chunks/{e83aac447467719e.js → ecd9562d3fd2944c.js} +1 -1
- package/web/.next/static/chunks/ff5e04cd8c24dd59.js +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__62cdea24._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__62cdea24._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__99ab2519._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__99ab2519._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_5cc6b884._.js +0 -3
- package/web/.next/static/chunks/68f633e5218bb175.js +0 -1
- package/web/.next/static/chunks/87cedd21dc11fb2f.js +0 -1
- /package/web/.next/server/chunks/{[root-of-the-server]__bc532286._.js.map → [root-of-the-server]__dcd4f847._.js.map} +0 -0
- /package/web/.next/static/{UBAo6avNyvCewhdD7bkhO → FwKj7hWEdbpIR5DtG1GQJ}/_buildManifest.js +0 -0
- /package/web/.next/static/{UBAo6avNyvCewhdD7bkhO → FwKj7hWEdbpIR5DtG1GQJ}/_clientMiddlewareManifest.json +0 -0
- /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
|
|
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,
|
|
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"}
|
package/dist/packages/core/src/application/ports/output/services/tool-installer.service.d.ts
CHANGED
|
@@ -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
|
package/dist/packages/core/src/application/ports/output/services/tool-installer.service.d.ts.map
CHANGED
|
@@ -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
|
|
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"}
|
package/dist/packages/core/src/infrastructure/services/tool-installer/tool-installer.service.d.ts
CHANGED
|
@@ -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
|
|
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,
|
|
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"}
|
package/dist/packages/core/src/infrastructure/services/tool-installer/tool-installer.service.js
CHANGED
|
@@ -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
|
|
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
|
|
8
|
-
*
|
|
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":"
|
|
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 {
|
|
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
|
|
5
|
-
*
|
|
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
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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
|
-
|
|
19
|
-
|
|
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
|
}
|