qwen-code/scripts/release-packages.mjs
顾盼 a791e47a54
feat(cua): streamline computer use and port native reliability fixes (#14846)
* feat(cua): preload the JavaScript computer use runtime

* refactor(cua): remove the native Wayland backend

* feat(cua): move app computer use into the driver

* feat(cua): preserve background delivery and port platform fixes

* feat(cua): add explicit desktop input and browser runtime facade

* feat(cua): package the unified 0.26.0 computer use runtime

* fix(cua): finalize cross-platform native reliability

* fix(cua): isolate runtime releases from CLI versioning

* fix(cua): keep Electron out of root workspace installs

* fix(cua): synchronize consumers and async cleanup tests

* fix(browser): migrate smoke to preloaded cua runtime

* docs(cua): document MCP setup for Qwen Code Claude Code and Codex
2026-10-21 14:03:31 +08:00

47 lines
1.4 KiB
JavaScript

/**
* @license
* Copyright 2026 Qwen Team
* SPDX-License-Identifier: Apache-2.0
*/
import { readFileSync } from 'node:fs';
import { dirname, join } from 'node:path';
import { fileURLToPath } from 'node:url';
import { getWorkspacePackageJsonPaths } from './workspaces.js';
export const INDEPENDENT_PACKAGES = [
'@qwen-code/sdk',
'@qwen-code/mobile-mcp',
'@qwen-code/browser-use',
'@qwen-code/cua-sdk',
'@qwen-code/node-repl-mcp',
'@qwen-code/qwen-live',
];
// Resolve beside this script, not cwd: the push guard uses workflow-pinned
// manifests even when the release source comes from a different ref.
const root = join(dirname(fileURLToPath(import.meta.url)), '..');
const { workspaces } = JSON.parse(
readFileSync(join(root, 'package.json'), 'utf8'),
);
export const RELEASE_WORKSPACES = getWorkspacePackageJsonPaths(root, workspaces)
.map((path) => JSON.parse(readFileSync(join(root, path), 'utf8')))
.filter((pkg) => !pkg.private && !INDEPENDENT_PACKAGES.includes(pkg.name))
.map((pkg) => pkg.name);
if (process.argv[1] === fileURLToPath(import.meta.url)) {
for (const name of RELEASE_WORKSPACES) {
if (
name === '@qwen-code/audio-capture' &&
process.env.PUBLISH_AUDIO_CAPTURE !== 'true'
)
continue;
if (
name === '@qwen-code/external-context-mem0' &&
process.env.PUBLISH_EXTERNAL_CONTEXT_MEM0 !== 'true'
)
continue;
console.log(name);
}
}