feat: remove legacy OpenCode runtime

Cut product flows over to Coding/Pi and retain only the migration-owned v1 boundary. Promote supported native optional packages because electron-builder omitted pnpm transitive optional closure from the packaged ASAR.
This commit is contained in:
2026-08-24 12:17:43 +08:00
parent 61fede2b4d
commit 5a275b93a7
199 changed files with 1330 additions and 64725 deletions

View File

@@ -9,7 +9,7 @@ import {
} from 'node:fs/promises';
import { dirname, isAbsolute, join, relative, sep } from 'node:path';
import type { ProjectType } from '../../shared/project-config';
import { readProjectConfig } from '../opencode/project-config';
import { readCodingProjectConfigV2 } from '../coding-projects/project-config';
import { writeStoredZip } from './streaming-zip';
type PublishableProjectType = Exclude<ProjectType, 'custom'>;
@@ -45,6 +45,7 @@ const EXCLUDED_DIRECTORY_NAMES = new Set([
'.kube',
'.next',
'.niancode',
// Legacy runtime metadata is inert product data and is never publishable.
'.opencode',
'.project-docs',
'.turbo',
@@ -267,7 +268,7 @@ export async function createStaticProjectPackage(input: {
}
async function readPublishableProjectType(projectPath: string): Promise<PublishableProjectType> {
const result = await readProjectConfig(projectPath);
const result = await readCodingProjectConfigV2(projectPath);
if (result.status === 'invalid') {
throw new ProjectPackageError(
'PROJECT_CONFIG_INVALID',