mirror of
https://github.com/nexu-io/open-design.git
synced 2026-05-31 19:04:39 +07:00
Removed - sentinel for Qwen CLI (#1332)
Some checks failed
ci / Packaged mac smoke (push) Blocked by required conditions
ci / Packaged windows smoke (push) Blocked by required conditions
ci / Detect PR change scopes (push) Failing after 1s
ci / Validate workspace (push) Has been skipped
Docker image / build-and-push (push) Failing after 10s
nix-check / build (push) Failing after 2s
ci / Packaged linux headless smoke (push) Has been skipped
Some checks failed
ci / Packaged mac smoke (push) Blocked by required conditions
ci / Packaged windows smoke (push) Blocked by required conditions
ci / Detect PR change scopes (push) Failing after 1s
ci / Validate workspace (push) Has been skipped
Docker image / build-and-push (push) Failing after 10s
nix-check / build (push) Failing after 2s
ci / Packaged linux headless smoke (push) Has been skipped
* Removed - sentinel for Qwen CLI * Addressed reviewer's comments * Removed IDE config file * Removed IDE file
This commit is contained in:
parent
57372a7519
commit
70e5ea6f70
3 changed files with 25 additions and 3 deletions
|
|
@ -11,15 +11,17 @@ export const qwenAgentDef = {
|
|||
{ id: 'qwen3-coder-plus', label: 'qwen3-coder-plus' },
|
||||
{ id: 'qwen3-coder-flash', label: 'qwen3-coder-flash' },
|
||||
],
|
||||
// Prompt delivered via stdin (`qwen -`) to avoid Windows
|
||||
// Prompt delivered via stdin (gated by `promptViaStdin: true`) to avoid Windows
|
||||
// `spawn ENAMETOOLONG` for large composed prompts. Qwen Code is a
|
||||
// Gemini-CLI fork and supports the same `--yolo` non-interactive mode.
|
||||
// Qwen Code reads from piped stdin when no positional prompt is supplied.
|
||||
// Current Qwen treats/rejects a bare `-` rather than needing it as a stdin sentinel.
|
||||
buildArgs: (_prompt, _imagePaths, _extra, options = {}) => {
|
||||
const args = ['--yolo'];
|
||||
if (options.model && options.model !== 'default') {
|
||||
args.push('--model', options.model);
|
||||
}
|
||||
args.push('-');
|
||||
|
||||
return args;
|
||||
},
|
||||
promptViaStdin: true,
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { test } from 'vitest';
|
||||
import {
|
||||
assert, claude, codex, copilot, cursorAgent, deepseek, devin, detectAgents, gemini, join, kilo, kiro, mkdtempSync, opencode, pi, qoder, rmSync, spawnEnvForAgent, tmpdir, vibe, writeFileSync, chmodSync,
|
||||
assert, claude, codex, copilot, cursorAgent, deepseek, devin, detectAgents, gemini, join, kilo, kiro, mkdtempSync, opencode, pi, qoder, qwen, rmSync, spawnEnvForAgent, tmpdir, vibe, writeFileSync, chmodSync,
|
||||
} from './helpers/test-helpers.js';
|
||||
import type { TestAgentDef } from './helpers/test-helpers.js';
|
||||
|
||||
|
|
@ -431,6 +431,25 @@ test('detectAgents keeps qoder unavailable with fallback metadata when qodercli
|
|||
}
|
||||
});
|
||||
|
||||
test('qwen args check promptViaStdin, base args, model args and exclude `-` sentinel', () => {
|
||||
assert.equal(qwen.promptViaStdin, true);
|
||||
|
||||
const baseArgs = qwen.buildArgs('', [], [], {}, { cwd: '/tmp/od-project' });
|
||||
assert.deepEqual(baseArgs, ['--yolo']);
|
||||
assert.equal(baseArgs.includes('-'), false);
|
||||
|
||||
const withModel = qwen.buildArgs(
|
||||
'',
|
||||
[],
|
||||
[],
|
||||
{ model: 'qwen3-coder-plus' },
|
||||
{ cwd: '/tmp/od-project' },
|
||||
);
|
||||
|
||||
assert.deepEqual(withModel, ['--yolo', '--model', 'qwen3-coder-plus']);
|
||||
assert.equal(withModel.includes('-'), false);
|
||||
});
|
||||
|
||||
test('kiro fetchModels falls back to fallbackModels when detection fails', async () => {
|
||||
// fetchModels rejects when the binary doesn't exist; the daemon's
|
||||
// probe() catches this and uses fallbackModels instead.
|
||||
|
|
|
|||
|
|
@ -84,6 +84,7 @@ export const pi = requireAgent('pi');
|
|||
export const deepseek = requireAgent('deepseek');
|
||||
export const gemini = requireAgent('gemini');
|
||||
export const qoder = requireAgent('qoder');
|
||||
export const qwen = requireAgent('qwen');
|
||||
export const opencode = requireAgent('opencode');
|
||||
export const deepseekMaxPromptArgBytes = (() => {
|
||||
assert.ok(
|
||||
|
|
|
|||
Loading…
Reference in a new issue