eigent/electron/main/utils/filePath.ts
Douglas Lai 03aa2c3171
Add in-session preview panel: browser, files, and interactive terminal (#1761)
Co-authored-by: Tong Chen <web_chentong@163.com>
2026-08-04 14:30:50 +08:00

30 lines
1.2 KiB
TypeScript

// ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. =========
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. =========
export function normalizeLegacySandboxPath(
filePath: string,
platform: NodeJS.Platform = process.platform
): string {
const withoutSandboxScheme = filePath.replace(
/^sandbox:(?=(?:[A-Za-z]:)?[\\/])/i,
''
);
const hadSandboxScheme = withoutSandboxScheme !== filePath;
if (platform === 'win32') return withoutSandboxScheme;
const normalized = withoutSandboxScheme.replace(/\\/g, '/');
if (/^x:\//i.test(normalized)) return normalized.slice(2);
return hadSandboxScheme ? normalized : filePath;
}