merge: bring master's naming-contract refactor into feat/pwsh-persistent-pty

This commit is contained in:
Huanqi Cao
2026-08-13 01:52:47 +08:00
3296 changed files with 21902 additions and 21858 deletions
+28 -28
View File
@@ -1,7 +1,7 @@
import { spawnSync } from 'node:child_process'
import { fileURLToPath } from 'node:url'
import tsconfigPaths from 'vite-tsconfig-paths'
import { resolvePwshPath } from './packages/bash/pwsh-local/src/resolve.ts'
import { resolvePwshPath } from './packages/shell/pwsh-local/src/resolve.ts'
import { defineConfig } from 'vitest/config'
import { standardDecoratorPlugin, vitestExecArgv } from './vitest.shared.ts'
import { COVERAGE_EXEMPT_ENV, coverageExemptHeavySuites } from './scripts/coverage-exempt.ts'
@@ -23,13 +23,13 @@ const windowsUnsupportedPackages = process.platform === 'win32'
// Bash-requiring suites (a real POSIX shell is unavailable on Windows).
// The pwsh-requiring suites (pwsh-local, tool-pwsh) deliberately stay
// INCLUDED: PowerShell ships with Windows, so they run natively here.
// This explicit list (not a 'packages/bash/*' glob) keeps
// packages/bash/bash — the Service Definition package — running on Windows.
'packages/bash/bash-local',
'packages/bash/bash-sandbox',
'packages/bash/tool-bash',
// This explicit list (not a 'packages/shell/*' glob) keeps
// packages/shell/shell — the Service Definition package — running on Windows.
'packages/shell/bash-local',
'packages/shell/bash-sandbox',
'packages/shell/tool-bash',
'packages/hooks/*',
'packages/pty/pty-local',
'packages/terminal/terminal-bash',
'packages/sandbox/sandbox-local',
]
: []
@@ -82,8 +82,8 @@ const windowsRunnerCoverageExclusions = process.platform === 'win32'
const pwshCoverageExclusions = spawnSync(resolvePwshPath(), ['-NoLogo', '-NoProfile', '-NonInteractive', '-Command', '$true'], { encoding: 'utf8' }).status === 0
? []
: [
'packages/bash/pwsh-local/src/index.ts',
'packages/bash/pwsh-sandbox/src/**/*.ts',
'packages/shell/pwsh-local/src/index.ts',
'packages/shell/pwsh-sandbox/src/**/*.ts',
]
const testIncludes = [
@@ -115,7 +115,7 @@ const processBoundTests = [
'packages/context/time-context/tests/time-context.spec.ts',
'packages/llm/llm-pi-ai/tests/adapter.spec.ts',
'packages/boot/app-boot/tests/app-boot.spec.ts',
'packages/workflow/workflow-workerthread/tests/session.spec.ts',
'packages/workflow/workflow-worker-thread/tests/session.spec.ts',
]
export default defineConfig({
@@ -182,7 +182,7 @@ export default defineConfig({
'packages/client/ui-trajectory/src/*',
// Trajectory's compact Markdown projection retains deferred branch coverage.
'packages/client/ui-primitives/src/markdown/plain-text.ts',
'packages/client/ui-question/src/client/QuestionComposer.tsx',
'packages/client/ui-user-questions/src/client/QuestionComposer.tsx',
'packages/client/ui-primitives/src/Menu.tsx',
'packages/client/ui-primitives/src/RiskConfirmation.tsx',
'packages/client/ui-workspace/src/client/WorkspaceBrowser.tsx',
@@ -221,28 +221,28 @@ export default defineConfig({
// Slash/command/input round: per-file gaps deferred with the same
// client-lane debt. TODO(gui): cover and remove with the lane above.
'packages/client/connection/src/client/fixture.ts',
'packages/client/ui-command/src/index.ts',
'packages/client/ui-commands/src/index.ts',
'packages/client/ui-skill/src/index.ts',
'packages/client/ui-slash/src/index.ts',
'packages/client/ui-input-trigger/src/index.ts',
'packages/client/ui-subagent/src/index.ts',
'packages/client/ui-command/src/client/popup.ts',
'packages/client/ui-command/src/client/directory.ts',
'packages/client/ui-command/src/client/service.ts',
'packages/client/ui-command/src/client/PopupSelectView.tsx',
'packages/client/ui-model/src/index.ts',
'packages/client/ui-permission/src/index.ts',
'packages/client/ui-model/src/client/ModelSelect.tsx',
'packages/client/ui-model/src/client/directory.ts',
'packages/client/ui-model/src/client/index.ts',
'packages/client/ui-model/src/client/service.ts',
'packages/client/ui-slash/src/client/controller.ts',
'packages/client/ui-slash/src/client/service.ts',
'packages/client/ui-slash/src/core/menu.ts',
'packages/client/ui-slash/src/core/detect.ts',
'packages/client/ui-commands/src/client/popup.ts',
'packages/client/ui-commands/src/client/directory.ts',
'packages/client/ui-commands/src/client/service.ts',
'packages/client/ui-commands/src/client/PopupSelectView.tsx',
'packages/client/ui-model-selection/src/index.ts',
'packages/client/ui-permission-presets/src/index.ts',
'packages/client/ui-model-selection/src/client/ModelSelect.tsx',
'packages/client/ui-model-selection/src/client/directory.ts',
'packages/client/ui-model-selection/src/client/index.ts',
'packages/client/ui-model-selection/src/client/service.ts',
'packages/client/ui-input-trigger/src/client/controller.ts',
'packages/client/ui-input-trigger/src/client/service.ts',
'packages/client/ui-input-trigger/src/core/menu.ts',
'packages/client/ui-input-trigger/src/core/detect.ts',
'packages/client/ui-sidebar/src/client/index.ts',
'packages/client/ui-skill/src/client/index.ts',
'packages/client/ui-workspace/src/client/index.ts',
'packages/client/test-runtime/src/translate.ts',
'packages/test-support/client-runtime/src/translate.ts',
'packages/client/ui-primitives/src/JsonTree.tsx',
// Typert generator: correctness is pinned by its fixture suites and
// the byte-for-byte catalog reproduction test; per-file coverage