@shepai/cli 1.135.0 → 1.135.1
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/tool-installer.service.d.ts +15 -0
- 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 +2 -1
- 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 +14 -0
- package/dist/src/presentation/web/app/actions/open-shell.d.ts.map +1 -1
- package/dist/src/presentation/web/app/actions/open-shell.js +32 -36
- 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 +2 -2
- package/web/.next/required-server-files.json +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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/settings/page/server-reference-manifest.json +8 -8
- 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/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]__c3ab8422._.js → [root-of-the-server]__31bc28da._.js} +2 -2
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__bfba58e6._.js.map → [root-of-the-server]__31bc28da._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__755cfe02._.js → [root-of-the-server]__32ecbed9._.js} +2 -2
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__c3ab8422._.js.map → [root-of-the-server]__32ecbed9._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__3ef34e4c._.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]__7894f27f._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__7894f27f._.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 → [root-of-the-server]__90ce4b6d._.js} +2 -2
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__a628fb91._.js.map → [root-of-the-server]__90ce4b6d._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__bfba58e6._.js → [root-of-the-server]__90f9ae71._.js} +2 -2
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__755cfe02._.js.map → [root-of-the-server]__90f9ae71._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__96670392._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +4 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__6bb00d90._.js.map → [root-of-the-server]__aad040c0._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b3dbadca._.js +3 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__d61bd462._.js.map → [root-of-the-server]__b3dbadca._.js.map} +1 -1
- 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/{_ae5a128f._.js → _76c02473._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_ae5a128f._.js.map → _76c02473._.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/_a9f57758._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_b6960ca0._.js +4 -0
- package/web/.next/server/chunks/ssr/_b6960ca0._.js.map +1 -0
- 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/_f4036c66._.js +3 -0
- package/web/.next/server/chunks/ssr/{_030de84d._.js.map → _f4036c66._.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_7f2bd8b5._.js +3 -0
- package/web/.next/server/chunks/ssr/{src_presentation_web_9892a559._.js.map → src_presentation_web_7f2bd8b5._.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_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/{719c03faf0ec8f46.js → 2b2bcf845ca00af0.js} +1 -1
- package/web/.next/static/chunks/{2ff6c45c7c4990ad.js → 4d4a06751c4a6dc5.js} +1 -1
- package/web/.next/static/chunks/56ce7ec52973f61f.js +2 -0
- package/web/.next/static/chunks/5dbecf32f1f3b9aa.js +1 -0
- package/web/.next/static/chunks/{b048ce1d60ba78d3.js → 7ad0e3ee269e90ca.js} +1 -1
- package/web/.next/static/chunks/{d61e3f9c7bf5d3e0.js → 7c62d50a59d1296b.js} +1 -1
- package/web/.next/static/chunks/{c97a630a84bf4e72.js → 7c858879658287c9.js} +1 -1
- package/web/.next/static/chunks/b6117e16e4642568.js +1 -0
- package/web/.next/static/chunks/{ee90fcb15170f7c6.js → c4dc75f937edf746.js} +1 -1
- package/web/.next/static/chunks/{94455b63375282ba.js → e804b8565e41d2d0.js} +1 -1
- package/web/.next/static/chunks/{eb897f7314326bf6.js → fbcce031d4f6a933.js} +1 -1
- package/web/.next/static/chunks/{562a11882c23704d.js → fc30f9f869b6d879.js} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__2c791c42._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__2c791c42._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__d61bd462._.js +0 -3
- package/web/.next/server/chunks/ssr/_030de84d._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_9892a559._.js +0 -3
- package/web/.next/static/chunks/265beea8a0313932.js +0 -2
- package/web/.next/static/chunks/7a9a3f8c16ca56ea.js +0 -1
- package/web/.next/static/chunks/823681f2da0c07bb.js +0 -1
- /package/web/.next/static/{jd0w-YdRRkneFka6Z9vac → eTSgKFGuzFHv4FcGxc30f}/_buildManifest.js +0 -0
- /package/web/.next/static/{jd0w-YdRRkneFka6Z9vac → eTSgKFGuzFHv4FcGxc30f}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{jd0w-YdRRkneFka6Z9vac → eTSgKFGuzFHv4FcGxc30f}/_ssgManifest.js +0 -0
package/dist/packages/core/src/application/ports/output/services/tool-installer.service.d.ts
CHANGED
|
@@ -10,6 +10,12 @@ export interface AvailableTerminalEntry {
|
|
|
10
10
|
name: string;
|
|
11
11
|
available: boolean;
|
|
12
12
|
}
|
|
13
|
+
export interface TerminalOpenConfig {
|
|
14
|
+
/** Platform-resolved openDirectory command string, still containing {dir} placeholder */
|
|
15
|
+
openDirectory: string;
|
|
16
|
+
/** Whether to spawn with shell: true */
|
|
17
|
+
shell: boolean;
|
|
18
|
+
}
|
|
13
19
|
/**
|
|
14
20
|
* Service interface for tool installation management.
|
|
15
21
|
*/
|
|
@@ -44,5 +50,14 @@ export interface IToolInstallerService {
|
|
|
44
50
|
* @returns Array of terminal entries with id, name, and availability
|
|
45
51
|
*/
|
|
46
52
|
listAvailableTerminals(): Promise<AvailableTerminalEntry[]>;
|
|
53
|
+
/**
|
|
54
|
+
* Get the open-directory configuration for a terminal by its tool ID.
|
|
55
|
+
* Returns the platform-resolved openDirectory command and shell preference.
|
|
56
|
+
* Safe to call from Next.js server actions via DI (no import.meta.url dependency).
|
|
57
|
+
*
|
|
58
|
+
* @param terminalId - Tool ID (e.g. 'warp', 'iterm2', 'system-terminal')
|
|
59
|
+
* @returns Config with openDirectory command and shell flag, or null if not found
|
|
60
|
+
*/
|
|
61
|
+
getTerminalOpenConfig(terminalId: string): TerminalOpenConfig | null;
|
|
47
62
|
}
|
|
48
63
|
//# 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,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;
|
|
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,MAAM,WAAW,kBAAkB;IACjC,yFAAyF;IACzF,aAAa,EAAE,MAAM,CAAC;IACtB,wCAAwC;IACxC,KAAK,EAAE,OAAO,CAAC;CAChB;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;IAE5D;;;;;;;OAOG;IACH,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAAC;CACtE"}
|
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, AvailableTerminalEntry } from '../../../application/ports/output/services/tool-installer.service.js';
|
|
14
|
+
import type { IToolInstallerService, AvailableTerminalEntry, TerminalOpenConfig } 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
|
/**
|
|
@@ -35,6 +35,7 @@ export declare class ToolInstallerServiceImpl implements IToolInstallerService {
|
|
|
35
35
|
* DI container even when the Next.js standalone bundle cannot resolve tools/ via import.meta.url.
|
|
36
36
|
*/
|
|
37
37
|
listAvailableTerminals(): Promise<AvailableTerminalEntry[]>;
|
|
38
|
+
getTerminalOpenConfig(terminalId: string): TerminalOpenConfig | null;
|
|
38
39
|
/**
|
|
39
40
|
* Create installation suggestions for a tool based on its metadata
|
|
40
41
|
*/
|
|
@@ -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,
|
|
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,EACtB,kBAAkB,EACnB,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,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI;IAiBpE;;OAEG;IACH,OAAO,CAAC,6BAA6B;CA4BtC"}
|
package/dist/packages/core/src/infrastructure/services/tool-installer/tool-installer.service.js
CHANGED
|
@@ -208,6 +208,20 @@ let ToolInstallerServiceImpl = class ToolInstallerServiceImpl {
|
|
|
208
208
|
}
|
|
209
209
|
return results;
|
|
210
210
|
}
|
|
211
|
+
getTerminalOpenConfig(terminalId) {
|
|
212
|
+
const meta = TOOL_METADATA[terminalId];
|
|
213
|
+
if (!meta?.openDirectory)
|
|
214
|
+
return null;
|
|
215
|
+
const openDirectory = typeof meta.openDirectory === 'string'
|
|
216
|
+
? meta.openDirectory
|
|
217
|
+
: (meta.openDirectory[platform()] ?? Object.values(meta.openDirectory)[0]);
|
|
218
|
+
if (!openDirectory)
|
|
219
|
+
return null;
|
|
220
|
+
return {
|
|
221
|
+
openDirectory,
|
|
222
|
+
shell: meta.spawnOptions?.shell === true,
|
|
223
|
+
};
|
|
224
|
+
}
|
|
211
225
|
/**
|
|
212
226
|
* Create installation suggestions for a tool based on its metadata
|
|
213
227
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-shell.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/app/actions/open-shell.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"open-shell.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/app/actions/open-shell.ts"],"names":[],"mappings":"AA0BA,UAAU,cAAc;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,SAAS,CAC7B,KAAK,EAAE,cAAc,GACpB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA4E9E"}
|
|
@@ -5,13 +5,7 @@ import { isAbsolute } from 'node:path';
|
|
|
5
5
|
import { spawn } from 'node:child_process';
|
|
6
6
|
import { getSettings } from '../../../../../packages/core/src/infrastructure/services/settings.service.js';
|
|
7
7
|
import { computeWorktreePath } from '../../../../../packages/core/src/infrastructure/services/ide-launchers/compute-worktree-path.js';
|
|
8
|
-
import {
|
|
9
|
-
/** Resolves a platform-keyed value to the current platform string. */
|
|
10
|
-
function resolvePlatformValue(value) {
|
|
11
|
-
if (typeof value === 'string')
|
|
12
|
-
return value;
|
|
13
|
-
return value[platform()] ?? Object.values(value)[0];
|
|
14
|
-
}
|
|
8
|
+
import { resolve } from '../../lib/server-container.js';
|
|
15
9
|
// Fallback commands for the "system" terminal when no tool metadata entry exists.
|
|
16
10
|
// Uses a record lookup instead of if/else to prevent the bundler from
|
|
17
11
|
// tree-shaking platform branches at build time. Turbopack evaluates
|
|
@@ -38,39 +32,41 @@ export async function openShell(input) {
|
|
|
38
32
|
if (!existsSync(targetPath)) {
|
|
39
33
|
return { success: false, error: `Path does not exist: ${targetPath}` };
|
|
40
34
|
}
|
|
41
|
-
// Try to find the terminal in tool metadata
|
|
35
|
+
// Try to find the terminal in tool metadata via DI container.
|
|
36
|
+
// Using DI (not a direct import from tool-metadata) ensures that
|
|
37
|
+
// TOOL_METADATA is read from the correct tools/ directory path — it is loaded once
|
|
38
|
+
// in the Node.js CLI bootstrap context where import.meta.url resolves correctly.
|
|
39
|
+
// Direct imports of tool-metadata break in standalone production builds.
|
|
42
40
|
if (terminalPref !== 'system') {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
stdio: 'ignore',
|
|
66
|
-
});
|
|
67
|
-
child.on('error', () => undefined);
|
|
68
|
-
child.unref();
|
|
69
|
-
}
|
|
70
|
-
return { success: true, path: targetPath, shell };
|
|
41
|
+
try {
|
|
42
|
+
const service = resolve('IToolInstallerService');
|
|
43
|
+
const config = service.getTerminalOpenConfig(terminalPref);
|
|
44
|
+
if (config?.openDirectory.includes('{dir}')) {
|
|
45
|
+
const resolved = config.openDirectory.replace('{dir}', targetPath);
|
|
46
|
+
if (config.shell) {
|
|
47
|
+
const child = spawn(resolved, [], {
|
|
48
|
+
detached: true,
|
|
49
|
+
stdio: 'ignore',
|
|
50
|
+
shell: true,
|
|
51
|
+
});
|
|
52
|
+
child.on('error', () => undefined);
|
|
53
|
+
child.unref();
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
const [command, ...args] = resolved.split(/\s+/);
|
|
57
|
+
const child = spawn(command, args, {
|
|
58
|
+
detached: true,
|
|
59
|
+
stdio: 'ignore',
|
|
60
|
+
});
|
|
61
|
+
child.on('error', () => undefined);
|
|
62
|
+
child.unref();
|
|
71
63
|
}
|
|
64
|
+
return { success: true, path: targetPath, shell };
|
|
72
65
|
}
|
|
73
66
|
}
|
|
67
|
+
catch {
|
|
68
|
+
// DI container not available — fall through to system terminal
|
|
69
|
+
}
|
|
74
70
|
}
|
|
75
71
|
// Fallback to system terminal
|
|
76
72
|
const entry = SYSTEM_TERMINAL_COMMANDS[platform()];
|