test(e2e): move contract e2e to commands #175

test(e2e): move contract e2e to commands

test(e2e): move contract e2e to commands #175

Triggered via pull request June 24, 2026 09:19
StatusFailure
Total duration 49s
Artifacts

ci.yml

on: pull_request
lint + typecheck + test
46s
lint + typecheck + test
Fit to window
Zoom out
Zoom in

Annotations

7 errors
lint + typecheck + test
Process completed with exit code 1.
packages/rag/tests/e2e/smoke.e2e.test.ts > e2e: rag smoke > rag knowledge retrieve --help 正常退出: packages/rag/tests/e2e/smoke.e2e.test.ts#L25
AssertionError: expected '\n██████╗ █████╗ ██╗██╗ ██╗ ████…' to match /--index-id/i - Expected: /--index-id/i + Received: " ██████╗ █████╗ ██╗██╗ ██╗ █████╗ ███╗ ██╗ ██╔══██╗██╔══██╗██║██║ ██║██╔══██╗████╗ ██║ ██████╔╝███████║██║██║ ██║███████║██╔██╗ ██║ ██╔══██╗██╔══██║██║██║ ██║██╔══██║██║╚██╗██║ ██████╔╝██║ ██║██║███████╗██║██║ ██║██║ ╚████║ ╚═════╝ ╚═╝ ╚═╝╚═╝╚══════╝╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝ Usage: rag <resource> <command> [flags] Commands: auth login Authenticate with API key or console browser login (credentials can coexist) auth status Show current authentication state auth logout Clear stored credentials config show Display current configuration config set Set a config value update Update the CLI to the latest version file upload Upload a local file to DashScope temporary storage (48h) usage free Query free-tier quota for models (all models if --model is omitted) usage freetier Enable or disable auto-stop for free-tier models. Enables by default; use --off to disable usage stats Query model usage statistics quota list View model RPM/TPM rate limits quota request Request a temporary quota increase quota history View quota change history quota check Check current usage against rate limits retrieve Retrieve from a Bailian knowledge base Global Flags: --api-key <key> API key --base-url <url> API base URL --output <format> Output format: text, json --timeout <seconds> Request timeout --quiet Suppress non-essential output --verbose Print HTTP request/response details --no-color Disable ANSI colors --dry-run Dry run mode --non-interactive Disable interactive prompts --concurrent <n> Run N parallel requests (default: 1) --console-region <region> Console gateway region (e.g. cn-beijing, ap-southeast-1) --console-site <site> Console site: domestic, international --console-switch-agent <uid> Switch agent UID for delegated access --help Show help --version Print version Getting Help: Add --help after any command to see its full list of options, defaults, and usage examples. For example: rag auth login --help " ❯ packages/rag/tests/e2e/smoke.e2e.test.ts:25:20 ❯ node_modules/.pnpm/@voidzero-dev+vite-plus-test@0.1.22_@types+node@25.6.0_jiti@2.6.1_typescript@6.0.3_vite_0ccee13a25110590f42b651e2950fee7/node_modules/@voidzero-dev/vite-plus-test/dist/@vitest/runner/chunk-artifact.js:1903:22
packages/rag/tests/e2e/smoke.e2e.test.ts > e2e: rag smoke > rag 根 help 含 knowledge 与 auth,不含 text/image/memory: packages/rag/tests/e2e/smoke.e2e.test.ts#L15
AssertionError: expected '\n██████╗ █████╗ ██╗██╗ ██╗ ████…' to match /knowledge retrieve/i - Expected: /knowledge retrieve/i + Received: " ██████╗ █████╗ ██╗██╗ ██╗ █████╗ ███╗ ██╗ ██╔══██╗██╔══██╗██║██║ ██║██╔══██╗████╗ ██║ ██████╔╝███████║██║██║ ██║███████║██╔██╗ ██║ ██╔══██╗██╔══██║██║██║ ██║██╔══██║██║╚██╗██║ ██████╔╝██║ ██║██║███████╗██║██║ ██║██║ ╚████║ ╚═════╝ ╚═╝ ╚═╝╚═╝╚══════╝╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝ Usage: rag <resource> <command> [flags] Commands: auth login Authenticate with API key or console browser login (credentials can coexist) auth status Show current authentication state auth logout Clear stored credentials config show Display current configuration config set Set a config value update Update the CLI to the latest version file upload Upload a local file to DashScope temporary storage (48h) usage free Query free-tier quota for models (all models if --model is omitted) usage freetier Enable or disable auto-stop for free-tier models. Enables by default; use --off to disable usage stats Query model usage statistics quota list View model RPM/TPM rate limits quota request Request a temporary quota increase quota history View quota change history quota check Check current usage against rate limits retrieve Retrieve from a Bailian knowledge base Global Flags: --api-key <key> API key --base-url <url> API base URL --output <format> Output format: text, json --timeout <seconds> Request timeout --quiet Suppress non-essential output --verbose Print HTTP request/response details --no-color Disable ANSI colors --dry-run Dry run mode --non-interactive Disable interactive prompts --concurrent <n> Run N parallel requests (default: 1) --console-region <region> Console gateway region (e.g. cn-beijing, ap-southeast-1) --console-site <site> Console site: domestic, international --console-switch-agent <uid> Switch agent UID for delegated access --help Show help --version Print version Getting Help: Add --help after any command to see its full list of options, defaults, and usage examples. For example: rag auth login --help " ❯ packages/rag/tests/e2e/smoke.e2e.test.ts:15:17 ❯ node_modules/.pnpm/@voidzero-dev+vite-plus-test@0.1.22_@types+node@25.6.0_jiti@2.6.1_typescript@6.0.3_vite_0ccee13a25110590f42b651e2950fee7/node_modules/@voidzero-dev/vite-plus-test/dist/@vitest/runner/chunk-artifact.js:1903:22
packages/commands/tests/e2e/config.e2e.test.ts > e2e: config > config export-schema 导出全部为 JSON 数组: packages/commands/tests/e2e/config.e2e.test.ts#L185
AssertionError: { "error": { "code": 2, "message": "Unknown command: bl config export-schema\n\nAvailable commands:\n config show Display current configuration\n config set Set a config value", "hint": "bl config --help" } } : expected 2 to be +0 // Object.is equality - Expected + Received - 0 + 2 ❯ packages/commands/tests/e2e/config.e2e.test.ts:185:30 ❯ node_modules/.pnpm/@voidzero-dev+vite-plus-test@0.1.22_@types+node@25.6.0_jiti@2.6.1_typescript@6.0.3_vite_0ccee13a25110590f42b651e2950fee7/node_modules/@voidzero-dev/vite-plus-test/dist/@vitest/runner/chunk-artifact.js:1903:22
packages/commands/tests/e2e/config.e2e.test.ts > e2e: config > config export-schema 不存在的子命令时报错: packages/commands/tests/e2e/config.e2e.test.ts#L176
AssertionError: expected 'Unknown command: bl config export-sch…' to match /not found/i - Expected: /not found/i + Received: "Unknown command: bl config export-schema Available commands: config show Display current configuration config set Set a config value" ❯ packages/commands/tests/e2e/config.e2e.test.ts:176:32 ❯ node_modules/.pnpm/@voidzero-dev+vite-plus-test@0.1.22_@types+node@25.6.0_jiti@2.6.1_typescript@6.0.3_vite_0ccee13a25110590f42b651e2950fee7/node_modules/@voidzero-dev/vite-plus-test/dist/@vitest/runner/chunk-artifact.js:1903:22
packages/commands/tests/e2e/config.e2e.test.ts > e2e: config > config export-schema --command 导出单条工具 JSON: packages/commands/tests/e2e/config.e2e.test.ts#L158
AssertionError: { "error": { "code": 2, "message": "Unknown command: bl config export-schema\n\nAvailable commands:\n config show Display current configuration\n config set Set a config value", "hint": "bl config --help" } } : expected 2 to be +0 // Object.is equality - Expected + Received - 0 + 2 ❯ packages/commands/tests/e2e/config.e2e.test.ts:158:30 ❯ node_modules/.pnpm/@voidzero-dev+vite-plus-test@0.1.22_@types+node@25.6.0_jiti@2.6.1_typescript@6.0.3_vite_0ccee13a25110590f42b651e2950fee7/node_modules/@voidzero-dev/vite-plus-test/dist/@vitest/runner/chunk-artifact.js:1903:22
packages/commands/tests/e2e/config.e2e.test.ts > e2e: config > config export-schema --help 正常退出: packages/commands/tests/e2e/config.e2e.test.ts#L31
AssertionError: expected '\n██████╗ █████╗ ██╗██╗ ██╗ ████…' to match /export-schema|--command/i - Expected: /export-schema|--command/i + Received: " ██████╗ █████╗ ██╗██╗ ██╗ █████╗ ███╗ ██╗ ██╔══██╗██╔══██╗██║██║ ██║██╔══██╗████╗ ██║ ██████╔╝███████║██║██║ ██║███████║██╔██╗ ██║ ██╔══██╗██╔══██║██║██║ ██║██╔══██║██║╚██╗██║ ██████╔╝██║ ██║██║███████╗██║██║ ██║██║ ╚████║ ╚═════╝ ╚═╝ ╚═╝╚═╝╚══════╝╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝ Usage: bl <resource> <command> [flags] Commands: auth login Authenticate with API key or console browser login (credentials can coexist) auth status Show current authentication state auth logout Clear stored credentials text chat Send a chat completion (OpenAI compatible, DashScope) omni Multimodal chat with text + audio output (Qwen-Omni) image generate Generate images (Qwen-Image / wan2.x) image edit Edit an existing image with text instructions (Qwen-Image) video generate Generate a video from text or image (happyhorse-1.0-t2v / happyhorse-1.0-i2v / wan2.6-t2v) video edit Edit a video with happyhorse-1.0-video-edit (style transfer, object replacement, etc.) video ref Reference-to-video generation (happyhorse-1.0-r2v / wan2.6-r2v): multi-subject, multi-shot with voice video task get Query async task status video download Download a completed video by task ID vision describe Describe an image or video using Qwen-VL config show Display current configuration config set Set a config value update Update the CLI to the latest version app call Call a Bailian application (agent or workflow) app list List Bailian applications memory add Add memory from messages or custom content memory search Search memory nodes by query or messages memory list List memory nodes for a user memory update Update a memory node content memory delete Delete a memory node memory profile create Create a user profile schema for memory profiling memory profile get Get user profile by schema ID and user ID knowledge retrieve Retrieve from a Bailian knowledge base mcp call Call a tool on an MCP server (tools/call) mcp list List MCP servers activated under your Bailian account mcp tools List tools exposed by an MCP server (tools/list) search web Search the web using DashScope MCP WebSearch service speech synthesize Synthesize speech from text (CosyVoice TTS) speech recognize Recognize speech from audio files (FunAudio-ASR) file upload Upload a local file to DashScope temporary storage (48h) console call Call a Bailian console API via the CLI gateway usage free Query free-tier quota for models (all models if --model is omitted) usage freetier Enable or disable auto-stop for free-tier models. Enables by default; use --off to disable usage stats Query model usage statistics pipeline run Run a pipeline workflow definition pipeline validate Validate a pipeline definition without executing advisor recommend Recommend the best models for your use case (intent analysis → candidate recall → LLM ranking) workspace list List all workspaces quota list
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

test(e2e): move contract e2e to commands #175

test(e2e): move contract e2e to commands

test(e2e): move contract e2e to commands #175

Triggered via pull request June 24, 2026 09:19
StatusFailure
Total duration 49s
Artifacts

ci.yml

on: pull_request
lint + typecheck + test
46s
lint + typecheck + test
Fit to window
Zoom out
Zoom in

Annotations

7 errors
lint + typecheck + test
Process completed with exit code 1.
packages/rag/tests/e2e/smoke.e2e.test.ts > e2e: rag smoke > rag knowledge retrieve --help 正常退出: packages/rag/tests/e2e/smoke.e2e.test.ts#L25
AssertionError: expected '\n██████╗ █████╗ ██╗██╗ ██╗ ████…' to match /--index-id/i - Expected: /--index-id/i + Received: " ██████╗ █████╗ ██╗██╗ ██╗ █████╗ ███╗ ██╗ ██╔══██╗██╔══██╗██║██║ ██║██╔══██╗████╗ ██║ ██████╔╝███████║██║██║ ██║███████║██╔██╗ ██║ ██╔══██╗██╔══██║██║██║ ██║██╔══██║██║╚██╗██║ ██████╔╝██║ ██║██║███████╗██║██║ ██║██║ ╚████║ ╚═════╝ ╚═╝ ╚═╝╚═╝╚══════╝╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝ Usage: rag <resource> <command> [flags] Commands: auth login Authenticate with API key or console browser login (credentials can coexist) auth status Show current authentication state auth logout Clear stored credentials config show Display current configuration config set Set a config value update Update the CLI to the latest version file upload Upload a local file to DashScope temporary storage (48h) usage free Query free-tier quota for models (all models if --model is omitted) usage freetier Enable or disable auto-stop for free-tier models. Enables by default; use --off to disable usage stats Query model usage statistics quota list View model RPM/TPM rate limits quota request Request a temporary quota increase quota history View quota change history quota check Check current usage against rate limits retrieve Retrieve from a Bailian knowledge base Global Flags: --api-key <key> API key --base-url <url> API base URL --output <format> Output format: text, json --timeout <seconds> Request timeout --quiet Suppress non-essential output --verbose Print HTTP request/response details --no-color Disable ANSI colors --dry-run Dry run mode --non-interactive Disable interactive prompts --concurrent <n> Run N parallel requests (default: 1) --console-region <region> Console gateway region (e.g. cn-beijing, ap-southeast-1) --console-site <site> Console site: domestic, international --console-switch-agent <uid> Switch agent UID for delegated access --help Show help --version Print version Getting Help: Add --help after any command to see its full list of options, defaults, and usage examples. For example: rag auth login --help " ❯ packages/rag/tests/e2e/smoke.e2e.test.ts:25:20 ❯ node_modules/.pnpm/@voidzero-dev+vite-plus-test@0.1.22_@types+node@25.6.0_jiti@2.6.1_typescript@6.0.3_vite_0ccee13a25110590f42b651e2950fee7/node_modules/@voidzero-dev/vite-plus-test/dist/@vitest/runner/chunk-artifact.js:1903:22
packages/rag/tests/e2e/smoke.e2e.test.ts > e2e: rag smoke > rag 根 help 含 knowledge 与 auth,不含 text/image/memory: packages/rag/tests/e2e/smoke.e2e.test.ts#L15
AssertionError: expected '\n██████╗ █████╗ ██╗██╗ ██╗ ████…' to match /knowledge retrieve/i - Expected: /knowledge retrieve/i + Received: " ██████╗ █████╗ ██╗██╗ ██╗ █████╗ ███╗ ██╗ ██╔══██╗██╔══██╗██║██║ ██║██╔══██╗████╗ ██║ ██████╔╝███████║██║██║ ██║███████║██╔██╗ ██║ ██╔══██╗██╔══██║██║██║ ██║██╔══██║██║╚██╗██║ ██████╔╝██║ ██║██║███████╗██║██║ ██║██║ ╚████║ ╚═════╝ ╚═╝ ╚═╝╚═╝╚══════╝╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝ Usage: rag <resource> <command> [flags] Commands: auth login Authenticate with API key or console browser login (credentials can coexist) auth status Show current authentication state auth logout Clear stored credentials config show Display current configuration config set Set a config value update Update the CLI to the latest version file upload Upload a local file to DashScope temporary storage (48h) usage free Query free-tier quota for models (all models if --model is omitted) usage freetier Enable or disable auto-stop for free-tier models. Enables by default; use --off to disable usage stats Query model usage statistics quota list View model RPM/TPM rate limits quota request Request a temporary quota increase quota history View quota change history quota check Check current usage against rate limits retrieve Retrieve from a Bailian knowledge base Global Flags: --api-key <key> API key --base-url <url> API base URL --output <format> Output format: text, json --timeout <seconds> Request timeout --quiet Suppress non-essential output --verbose Print HTTP request/response details --no-color Disable ANSI colors --dry-run Dry run mode --non-interactive Disable interactive prompts --concurrent <n> Run N parallel requests (default: 1) --console-region <region> Console gateway region (e.g. cn-beijing, ap-southeast-1) --console-site <site> Console site: domestic, international --console-switch-agent <uid> Switch agent UID for delegated access --help Show help --version Print version Getting Help: Add --help after any command to see its full list of options, defaults, and usage examples. For example: rag auth login --help " ❯ packages/rag/tests/e2e/smoke.e2e.test.ts:15:17 ❯ node_modules/.pnpm/@voidzero-dev+vite-plus-test@0.1.22_@types+node@25.6.0_jiti@2.6.1_typescript@6.0.3_vite_0ccee13a25110590f42b651e2950fee7/node_modules/@voidzero-dev/vite-plus-test/dist/@vitest/runner/chunk-artifact.js:1903:22
packages/commands/tests/e2e/config.e2e.test.ts > e2e: config > config export-schema 导出全部为 JSON 数组: packages/commands/tests/e2e/config.e2e.test.ts#L185
AssertionError: { "error": { "code": 2, "message": "Unknown command: bl config export-schema\n\nAvailable commands:\n config show Display current configuration\n config set Set a config value", "hint": "bl config --help" } } : expected 2 to be +0 // Object.is equality - Expected + Received - 0 + 2 ❯ packages/commands/tests/e2e/config.e2e.test.ts:185:30 ❯ node_modules/.pnpm/@voidzero-dev+vite-plus-test@0.1.22_@types+node@25.6.0_jiti@2.6.1_typescript@6.0.3_vite_0ccee13a25110590f42b651e2950fee7/node_modules/@voidzero-dev/vite-plus-test/dist/@vitest/runner/chunk-artifact.js:1903:22
packages/commands/tests/e2e/config.e2e.test.ts > e2e: config > config export-schema 不存在的子命令时报错: packages/commands/tests/e2e/config.e2e.test.ts#L176
AssertionError: expected 'Unknown command: bl config export-sch…' to match /not found/i - Expected: /not found/i + Received: "Unknown command: bl config export-schema Available commands: config show Display current configuration config set Set a config value" ❯ packages/commands/tests/e2e/config.e2e.test.ts:176:32 ❯ node_modules/.pnpm/@voidzero-dev+vite-plus-test@0.1.22_@types+node@25.6.0_jiti@2.6.1_typescript@6.0.3_vite_0ccee13a25110590f42b651e2950fee7/node_modules/@voidzero-dev/vite-plus-test/dist/@vitest/runner/chunk-artifact.js:1903:22
packages/commands/tests/e2e/config.e2e.test.ts > e2e: config > config export-schema --command 导出单条工具 JSON: packages/commands/tests/e2e/config.e2e.test.ts#L158
AssertionError: { "error": { "code": 2, "message": "Unknown command: bl config export-schema\n\nAvailable commands:\n config show Display current configuration\n config set Set a config value", "hint": "bl config --help" } } : expected 2 to be +0 // Object.is equality - Expected + Received - 0 + 2 ❯ packages/commands/tests/e2e/config.e2e.test.ts:158:30 ❯ node_modules/.pnpm/@voidzero-dev+vite-plus-test@0.1.22_@types+node@25.6.0_jiti@2.6.1_typescript@6.0.3_vite_0ccee13a25110590f42b651e2950fee7/node_modules/@voidzero-dev/vite-plus-test/dist/@vitest/runner/chunk-artifact.js:1903:22
packages/commands/tests/e2e/config.e2e.test.ts > e2e: config > config export-schema --help 正常退出: packages/commands/tests/e2e/config.e2e.test.ts#L31
AssertionError: expected '\n██████╗ █████╗ ██╗██╗ ██╗ ████…' to match /export-schema|--command/i - Expected: /export-schema|--command/i + Received: " ██████╗ █████╗ ██╗██╗ ██╗ █████╗ ███╗ ██╗ ██╔══██╗██╔══██╗██║██║ ██║██╔══██╗████╗ ██║ ██████╔╝███████║██║██║ ██║███████║██╔██╗ ██║ ██╔══██╗██╔══██║██║██║ ██║██╔══██║██║╚██╗██║ ██████╔╝██║ ██║██║███████╗██║██║ ██║██║ ╚████║ ╚═════╝ ╚═╝ ╚═╝╚═╝╚══════╝╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝ Usage: bl <resource> <command> [flags] Commands: auth login Authenticate with API key or console browser login (credentials can coexist) auth status Show current authentication state auth logout Clear stored credentials text chat Send a chat completion (OpenAI compatible, DashScope) omni Multimodal chat with text + audio output (Qwen-Omni) image generate Generate images (Qwen-Image / wan2.x) image edit Edit an existing image with text instructions (Qwen-Image) video generate Generate a video from text or image (happyhorse-1.0-t2v / happyhorse-1.0-i2v / wan2.6-t2v) video edit Edit a video with happyhorse-1.0-video-edit (style transfer, object replacement, etc.) video ref Reference-to-video generation (happyhorse-1.0-r2v / wan2.6-r2v): multi-subject, multi-shot with voice video task get Query async task status video download Download a completed video by task ID vision describe Describe an image or video using Qwen-VL config show Display current configuration config set Set a config value update Update the CLI to the latest version app call Call a Bailian application (agent or workflow) app list List Bailian applications memory add Add memory from messages or custom content memory search Search memory nodes by query or messages memory list List memory nodes for a user memory update Update a memory node content memory delete Delete a memory node memory profile create Create a user profile schema for memory profiling memory profile get Get user profile by schema ID and user ID knowledge retrieve Retrieve from a Bailian knowledge base mcp call Call a tool on an MCP server (tools/call) mcp list List MCP servers activated under your Bailian account mcp tools List tools exposed by an MCP server (tools/list) search web Search the web using DashScope MCP WebSearch service speech synthesize Synthesize speech from text (CosyVoice TTS) speech recognize Recognize speech from audio files (FunAudio-ASR) file upload Upload a local file to DashScope temporary storage (48h) console call Call a Bailian console API via the CLI gateway usage free Query free-tier quota for models (all models if --model is omitted) usage freetier Enable or disable auto-stop for free-tier models. Enables by default; use --off to disable usage stats Query model usage statistics pipeline run Run a pipeline workflow definition pipeline validate Validate a pipeline definition without executing advisor recommend Recommend the best models for your use case (intent analysis → candidate recall → LLM ranking) workspace list List all workspaces quota list
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

test(e2e): move contract e2e to commands #175

test(e2e): move contract e2e to commands

test(e2e): move contract e2e to commands #175

Triggered via pull request June 24, 2026 09:19
StatusFailure
Total duration 49s
Artifacts

ci.yml

on: pull_request
lint + typecheck + test
46s
lint + typecheck + test
Fit to window
Zoom out
Zoom in

Annotations

7 errors
lint + typecheck + test
Process completed with exit code 1.
packages/rag/tests/e2e/smoke.e2e.test.ts > e2e: rag smoke > rag knowledge retrieve --help 正常退出: packages/rag/tests/e2e/smoke.e2e.test.ts#L25
AssertionError: expected '\n██████╗ █████╗ ██╗██╗ ██╗ ████…' to match /--index-id/i - Expected: /--index-id/i + Received: " ██████╗ █████╗ ██╗██╗ ██╗ █████╗ ███╗ ██╗ ██╔══██╗██╔══██╗██║██║ ██║██╔══██╗████╗ ██║ ██████╔╝███████║██║██║ ██║███████║██╔██╗ ██║ ██╔══██╗██╔══██║██║██║ ██║██╔══██║██║╚██╗██║ ██████╔╝██║ ██║██║███████╗██║██║ ██║██║ ╚████║ ╚═════╝ ╚═╝ ╚═╝╚═╝╚══════╝╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝ Usage: rag <resource> <command> [flags] Commands: auth login Authenticate with API key or console browser login (credentials can coexist) auth status Show current authentication state auth logout Clear stored credentials config show Display current configuration config set Set a config value update Update the CLI to the latest version file upload Upload a local file to DashScope temporary storage (48h) usage free Query free-tier quota for models (all models if --model is omitted) usage freetier Enable or disable auto-stop for free-tier models. Enables by default; use --off to disable usage stats Query model usage statistics quota list View model RPM/TPM rate limits quota request Request a temporary quota increase quota history View quota change history quota check Check current usage against rate limits retrieve Retrieve from a Bailian knowledge base Global Flags: --api-key <key> API key --base-url <url> API base URL --output <format> Output format: text, json --timeout <seconds> Request timeout --quiet Suppress non-essential output --verbose Print HTTP request/response details --no-color Disable ANSI colors --dry-run Dry run mode --non-interactive Disable interactive prompts --concurrent <n> Run N parallel requests (default: 1) --console-region <region> Console gateway region (e.g. cn-beijing, ap-southeast-1) --console-site <site> Console site: domestic, international --console-switch-agent <uid> Switch agent UID for delegated access --help Show help --version Print version Getting Help: Add --help after any command to see its full list of options, defaults, and usage examples. For example: rag auth login --help " ❯ packages/rag/tests/e2e/smoke.e2e.test.ts:25:20 ❯ node_modules/.pnpm/@voidzero-dev+vite-plus-test@0.1.22_@types+node@25.6.0_jiti@2.6.1_typescript@6.0.3_vite_0ccee13a25110590f42b651e2950fee7/node_modules/@voidzero-dev/vite-plus-test/dist/@vitest/runner/chunk-artifact.js:1903:22
packages/rag/tests/e2e/smoke.e2e.test.ts > e2e: rag smoke > rag 根 help 含 knowledge 与 auth,不含 text/image/memory: packages/rag/tests/e2e/smoke.e2e.test.ts#L15
AssertionError: expected '\n██████╗ █████╗ ██╗██╗ ██╗ ████…' to match /knowledge retrieve/i - Expected: /knowledge retrieve/i + Received: " ██████╗ █████╗ ██╗██╗ ██╗ █████╗ ███╗ ██╗ ██╔══██╗██╔══██╗██║██║ ██║██╔══██╗████╗ ██║ ██████╔╝███████║██║██║ ██║███████║██╔██╗ ██║ ██╔══██╗██╔══██║██║██║ ██║██╔══██║██║╚██╗██║ ██████╔╝██║ ██║██║███████╗██║██║ ██║██║ ╚████║ ╚═════╝ ╚═╝ ╚═╝╚═╝╚══════╝╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝ Usage: rag <resource> <command> [flags] Commands: auth login Authenticate with API key or console browser login (credentials can coexist) auth status Show current authentication state auth logout Clear stored credentials config show Display current configuration config set Set a config value update Update the CLI to the latest version file upload Upload a local file to DashScope temporary storage (48h) usage free Query free-tier quota for models (all models if --model is omitted) usage freetier Enable or disable auto-stop for free-tier models. Enables by default; use --off to disable usage stats Query model usage statistics quota list View model RPM/TPM rate limits quota request Request a temporary quota increase quota history View quota change history quota check Check current usage against rate limits retrieve Retrieve from a Bailian knowledge base Global Flags: --api-key <key> API key --base-url <url> API base URL --output <format> Output format: text, json --timeout <seconds> Request timeout --quiet Suppress non-essential output --verbose Print HTTP request/response details --no-color Disable ANSI colors --dry-run Dry run mode --non-interactive Disable interactive prompts --concurrent <n> Run N parallel requests (default: 1) --console-region <region> Console gateway region (e.g. cn-beijing, ap-southeast-1) --console-site <site> Console site: domestic, international --console-switch-agent <uid> Switch agent UID for delegated access --help Show help --version Print version Getting Help: Add --help after any command to see its full list of options, defaults, and usage examples. For example: rag auth login --help " ❯ packages/rag/tests/e2e/smoke.e2e.test.ts:15:17 ❯ node_modules/.pnpm/@voidzero-dev+vite-plus-test@0.1.22_@types+node@25.6.0_jiti@2.6.1_typescript@6.0.3_vite_0ccee13a25110590f42b651e2950fee7/node_modules/@voidzero-dev/vite-plus-test/dist/@vitest/runner/chunk-artifact.js:1903:22
packages/commands/tests/e2e/config.e2e.test.ts > e2e: config > config export-schema 导出全部为 JSON 数组: packages/commands/tests/e2e/config.e2e.test.ts#L185
AssertionError: { "error": { "code": 2, "message": "Unknown command: bl config export-schema\n\nAvailable commands:\n config show Display current configuration\n config set Set a config value", "hint": "bl config --help" } } : expected 2 to be +0 // Object.is equality - Expected + Received - 0 + 2 ❯ packages/commands/tests/e2e/config.e2e.test.ts:185:30 ❯ node_modules/.pnpm/@voidzero-dev+vite-plus-test@0.1.22_@types+node@25.6.0_jiti@2.6.1_typescript@6.0.3_vite_0ccee13a25110590f42b651e2950fee7/node_modules/@voidzero-dev/vite-plus-test/dist/@vitest/runner/chunk-artifact.js:1903:22
packages/commands/tests/e2e/config.e2e.test.ts > e2e: config > config export-schema 不存在的子命令时报错: packages/commands/tests/e2e/config.e2e.test.ts#L176
AssertionError: expected 'Unknown command: bl config export-sch…' to match /not found/i - Expected: /not found/i + Received: "Unknown command: bl config export-schema Available commands: config show Display current configuration config set Set a config value" ❯ packages/commands/tests/e2e/config.e2e.test.ts:176:32 ❯ node_modules/.pnpm/@voidzero-dev+vite-plus-test@0.1.22_@types+node@25.6.0_jiti@2.6.1_typescript@6.0.3_vite_0ccee13a25110590f42b651e2950fee7/node_modules/@voidzero-dev/vite-plus-test/dist/@vitest/runner/chunk-artifact.js:1903:22
packages/commands/tests/e2e/config.e2e.test.ts > e2e: config > config export-schema --command 导出单条工具 JSON: packages/commands/tests/e2e/config.e2e.test.ts#L158
AssertionError: { "error": { "code": 2, "message": "Unknown command: bl config export-schema\n\nAvailable commands:\n config show Display current configuration\n config set Set a config value", "hint": "bl config --help" } } : expected 2 to be +0 // Object.is equality - Expected + Received - 0 + 2 ❯ packages/commands/tests/e2e/config.e2e.test.ts:158:30 ❯ node_modules/.pnpm/@voidzero-dev+vite-plus-test@0.1.22_@types+node@25.6.0_jiti@2.6.1_typescript@6.0.3_vite_0ccee13a25110590f42b651e2950fee7/node_modules/@voidzero-dev/vite-plus-test/dist/@vitest/runner/chunk-artifact.js:1903:22
packages/commands/tests/e2e/config.e2e.test.ts > e2e: config > config export-schema --help 正常退出: packages/commands/tests/e2e/config.e2e.test.ts#L31
AssertionError: expected '\n██████╗ █████╗ ██╗██╗ ██╗ ████…' to match /export-schema|--command/i - Expected: /export-schema|--command/i + Received: " ██████╗ █████╗ ██╗██╗ ██╗ █████╗ ███╗ ██╗ ██╔══██╗██╔══██╗██║██║ ██║██╔══██╗████╗ ██║ ██████╔╝███████║██║██║ ██║███████║██╔██╗ ██║ ██╔══██╗██╔══██║██║██║ ██║██╔══██║██║╚██╗██║ ██████╔╝██║ ██║██║███████╗██║██║ ██║██║ ╚████║ ╚═════╝ ╚═╝ ╚═╝╚═╝╚══════╝╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝ Usage: bl <resource> <command> [flags] Commands: auth login Authenticate with API key or console browser login (credentials can coexist) auth status Show current authentication state auth logout Clear stored credentials text chat Send a chat completion (OpenAI compatible, DashScope) omni Multimodal chat with text + audio output (Qwen-Omni) image generate Generate images (Qwen-Image / wan2.x) image edit Edit an existing image with text instructions (Qwen-Image) video generate Generate a video from text or image (happyhorse-1.0-t2v / happyhorse-1.0-i2v / wan2.6-t2v) video edit Edit a video with happyhorse-1.0-video-edit (style transfer, object replacement, etc.) video ref Reference-to-video generation (happyhorse-1.0-r2v / wan2.6-r2v): multi-subject, multi-shot with voice video task get Query async task status video download Download a completed video by task ID vision describe Describe an image or video using Qwen-VL config show Display current configuration config set Set a config value update Update the CLI to the latest version app call Call a Bailian application (agent or workflow) app list List Bailian applications memory add Add memory from messages or custom content memory search Search memory nodes by query or messages memory list List memory nodes for a user memory update Update a memory node content memory delete Delete a memory node memory profile create Create a user profile schema for memory profiling memory profile get Get user profile by schema ID and user ID knowledge retrieve Retrieve from a Bailian knowledge base mcp call Call a tool on an MCP server (tools/call) mcp list List MCP servers activated under your Bailian account mcp tools List tools exposed by an MCP server (tools/list) search web Search the web using DashScope MCP WebSearch service speech synthesize Synthesize speech from text (CosyVoice TTS) speech recognize Recognize speech from audio files (FunAudio-ASR) file upload Upload a local file to DashScope temporary storage (48h) console call Call a Bailian console API via the CLI gateway usage free Query free-tier quota for models (all models if --model is omitted) usage freetier Enable or disable auto-stop for free-tier models. Enables by default; use --off to disable usage stats Query model usage statistics pipeline run Run a pipeline workflow definition pipeline validate Validate a pipeline definition without executing advisor recommend Recommend the best models for your use case (intent analysis → candidate recall → LLM ranking) workspace list List all workspaces quota list
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

test(e2e): move contract e2e to commands #175

test(e2e): move contract e2e to commands

test(e2e): move contract e2e to commands #175

Triggered via pull request June 24, 2026 09:19
StatusFailure
Total duration 49s
Artifacts

ci.yml

on: pull_request
lint + typecheck + test
46s
lint + typecheck + test
Fit to window
Zoom out
Zoom in

Annotations

7 errors
lint + typecheck + test
Process completed with exit code 1.
packages/rag/tests/e2e/smoke.e2e.test.ts > e2e: rag smoke > rag knowledge retrieve --help 正常退出: packages/rag/tests/e2e/smoke.e2e.test.ts#L25
AssertionError: expected '\n██████╗ █████╗ ██╗██╗ ██╗ ████…' to match /--index-id/i - Expected: /--index-id/i + Received: " ██████╗ █████╗ ██╗██╗ ██╗ █████╗ ███╗ ██╗ ██╔══██╗██╔══██╗██║██║ ██║██╔══██╗████╗ ██║ ██████╔╝███████║██║██║ ██║███████║██╔██╗ ██║ ██╔══██╗██╔══██║██║██║ ██║██╔══██║██║╚██╗██║ ██████╔╝██║ ██║██║███████╗██║██║ ██║██║ ╚████║ ╚═════╝ ╚═╝ ╚═╝╚═╝╚══════╝╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝ Usage: rag <resource> <command> [flags] Commands: auth login Authenticate with API key or console browser login (credentials can coexist) auth status Show current authentication state auth logout Clear stored credentials config show Display current configuration config set Set a config value update Update the CLI to the latest version file upload Upload a local file to DashScope temporary storage (48h) usage free Query free-tier quota for models (all models if --model is omitted) usage freetier Enable or disable auto-stop for free-tier models. Enables by default; use --off to disable usage stats Query model usage statistics quota list View model RPM/TPM rate limits quota request Request a temporary quota increase quota history View quota change history quota check Check current usage against rate limits retrieve Retrieve from a Bailian knowledge base Global Flags: --api-key <key> API key --base-url <url> API base URL --output <format> Output format: text, json --timeout <seconds> Request timeout --quiet Suppress non-essential output --verbose Print HTTP request/response details --no-color Disable ANSI colors --dry-run Dry run mode --non-interactive Disable interactive prompts --concurrent <n> Run N parallel requests (default: 1) --console-region <region> Console gateway region (e.g. cn-beijing, ap-southeast-1) --console-site <site> Console site: domestic, international --console-switch-agent <uid> Switch agent UID for delegated access --help Show help --version Print version Getting Help: Add --help after any command to see its full list of options, defaults, and usage examples. For example: rag auth login --help " ❯ packages/rag/tests/e2e/smoke.e2e.test.ts:25:20 ❯ node_modules/.pnpm/@voidzero-dev+vite-plus-test@0.1.22_@types+node@25.6.0_jiti@2.6.1_typescript@6.0.3_vite_0ccee13a25110590f42b651e2950fee7/node_modules/@voidzero-dev/vite-plus-test/dist/@vitest/runner/chunk-artifact.js:1903:22
packages/rag/tests/e2e/smoke.e2e.test.ts > e2e: rag smoke > rag 根 help 含 knowledge 与 auth,不含 text/image/memory: packages/rag/tests/e2e/smoke.e2e.test.ts#L15
AssertionError: expected '\n██████╗ █████╗ ██╗██╗ ██╗ ████…' to match /knowledge retrieve/i - Expected: /knowledge retrieve/i + Received: " ██████╗ █████╗ ██╗██╗ ██╗ █████╗ ███╗ ██╗ ██╔══██╗██╔══██╗██║██║ ██║██╔══██╗████╗ ██║ ██████╔╝███████║██║██║ ██║███████║██╔██╗ ██║ ██╔══██╗██╔══██║██║██║ ██║██╔══██║██║╚██╗██║ ██████╔╝██║ ██║██║███████╗██║██║ ██║██║ ╚████║ ╚═════╝ ╚═╝ ╚═╝╚═╝╚══════╝╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝ Usage: rag <resource> <command> [flags] Commands: auth login Authenticate with API key or console browser login (credentials can coexist) auth status Show current authentication state auth logout Clear stored credentials config show Display current configuration config set Set a config value update Update the CLI to the latest version file upload Upload a local file to DashScope temporary storage (48h) usage free Query free-tier quota for models (all models if --model is omitted) usage freetier Enable or disable auto-stop for free-tier models. Enables by default; use --off to disable usage stats Query model usage statistics quota list View model RPM/TPM rate limits quota request Request a temporary quota increase quota history View quota change history quota check Check current usage against rate limits retrieve Retrieve from a Bailian knowledge base Global Flags: --api-key <key> API key --base-url <url> API base URL --output <format> Output format: text, json --timeout <seconds> Request timeout --quiet Suppress non-essential output --verbose Print HTTP request/response details --no-color Disable ANSI colors --dry-run Dry run mode --non-interactive Disable interactive prompts --concurrent <n> Run N parallel requests (default: 1) --console-region <region> Console gateway region (e.g. cn-beijing, ap-southeast-1) --console-site <site> Console site: domestic, international --console-switch-agent <uid> Switch agent UID for delegated access --help Show help --version Print version Getting Help: Add --help after any command to see its full list of options, defaults, and usage examples. For example: rag auth login --help " ❯ packages/rag/tests/e2e/smoke.e2e.test.ts:15:17 ❯ node_modules/.pnpm/@voidzero-dev+vite-plus-test@0.1.22_@types+node@25.6.0_jiti@2.6.1_typescript@6.0.3_vite_0ccee13a25110590f42b651e2950fee7/node_modules/@voidzero-dev/vite-plus-test/dist/@vitest/runner/chunk-artifact.js:1903:22
packages/commands/tests/e2e/config.e2e.test.ts > e2e: config > config export-schema 导出全部为 JSON 数组: packages/commands/tests/e2e/config.e2e.test.ts#L185
AssertionError: { "error": { "code": 2, "message": "Unknown command: bl config export-schema\n\nAvailable commands:\n config show Display current configuration\n config set Set a config value", "hint": "bl config --help" } } : expected 2 to be +0 // Object.is equality - Expected + Received - 0 + 2 ❯ packages/commands/tests/e2e/config.e2e.test.ts:185:30 ❯ node_modules/.pnpm/@voidzero-dev+vite-plus-test@0.1.22_@types+node@25.6.0_jiti@2.6.1_typescript@6.0.3_vite_0ccee13a25110590f42b651e2950fee7/node_modules/@voidzero-dev/vite-plus-test/dist/@vitest/runner/chunk-artifact.js:1903:22
packages/commands/tests/e2e/config.e2e.test.ts > e2e: config > config export-schema 不存在的子命令时报错: packages/commands/tests/e2e/config.e2e.test.ts#L176
AssertionError: expected 'Unknown command: bl config export-sch…' to match /not found/i - Expected: /not found/i + Received: "Unknown command: bl config export-schema Available commands: config show Display current configuration config set Set a config value" ❯ packages/commands/tests/e2e/config.e2e.test.ts:176:32 ❯ node_modules/.pnpm/@voidzero-dev+vite-plus-test@0.1.22_@types+node@25.6.0_jiti@2.6.1_typescript@6.0.3_vite_0ccee13a25110590f42b651e2950fee7/node_modules/@voidzero-dev/vite-plus-test/dist/@vitest/runner/chunk-artifact.js:1903:22
packages/commands/tests/e2e/config.e2e.test.ts > e2e: config > config export-schema --command 导出单条工具 JSON: packages/commands/tests/e2e/config.e2e.test.ts#L158
AssertionError: { "error": { "code": 2, "message": "Unknown command: bl config export-schema\n\nAvailable commands:\n config show Display current configuration\n config set Set a config value", "hint": "bl config --help" } } : expected 2 to be +0 // Object.is equality - Expected + Received - 0 + 2 ❯ packages/commands/tests/e2e/config.e2e.test.ts:158:30 ❯ node_modules/.pnpm/@voidzero-dev+vite-plus-test@0.1.22_@types+node@25.6.0_jiti@2.6.1_typescript@6.0.3_vite_0ccee13a25110590f42b651e2950fee7/node_modules/@voidzero-dev/vite-plus-test/dist/@vitest/runner/chunk-artifact.js:1903:22
packages/commands/tests/e2e/config.e2e.test.ts > e2e: config > config export-schema --help 正常退出: packages/commands/tests/e2e/config.e2e.test.ts#L31
AssertionError: expected '\n██████╗ █████╗ ██╗██╗ ██╗ ████…' to match /export-schema|--command/i - Expected: /export-schema|--command/i + Received: " ██████╗ █████╗ ██╗██╗ ██╗ █████╗ ███╗ ██╗ ██╔══██╗██╔══██╗██║██║ ██║██╔══██╗████╗ ██║ ██████╔╝███████║██║██║ ██║███████║██╔██╗ ██║ ██╔══██╗██╔══██║██║██║ ██║██╔══██║██║╚██╗██║ ██████╔╝██║ ██║██║███████╗██║██║ ██║██║ ╚████║ ╚═════╝ ╚═╝ ╚═╝╚═╝╚══════╝╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝ Usage: bl <resource> <command> [flags] Commands: auth login Authenticate with API key or console browser login (credentials can coexist) auth status Show current authentication state auth logout Clear stored credentials text chat Send a chat completion (OpenAI compatible, DashScope) omni Multimodal chat with text + audio output (Qwen-Omni) image generate Generate images (Qwen-Image / wan2.x) image edit Edit an existing image with text instructions (Qwen-Image) video generate Generate a video from text or image (happyhorse-1.0-t2v / happyhorse-1.0-i2v / wan2.6-t2v) video edit Edit a video with happyhorse-1.0-video-edit (style transfer, object replacement, etc.) video ref Reference-to-video generation (happyhorse-1.0-r2v / wan2.6-r2v): multi-subject, multi-shot with voice video task get Query async task status video download Download a completed video by task ID vision describe Describe an image or video using Qwen-VL config show Display current configuration config set Set a config value update Update the CLI to the latest version app call Call a Bailian application (agent or workflow) app list List Bailian applications memory add Add memory from messages or custom content memory search Search memory nodes by query or messages memory list List memory nodes for a user memory update Update a memory node content memory delete Delete a memory node memory profile create Create a user profile schema for memory profiling memory profile get Get user profile by schema ID and user ID knowledge retrieve Retrieve from a Bailian knowledge base mcp call Call a tool on an MCP server (tools/call) mcp list List MCP servers activated under your Bailian account mcp tools List tools exposed by an MCP server (tools/list) search web Search the web using DashScope MCP WebSearch service speech synthesize Synthesize speech from text (CosyVoice TTS) speech recognize Recognize speech from audio files (FunAudio-ASR) file upload Upload a local file to DashScope temporary storage (48h) console call Call a Bailian console API via the CLI gateway usage free Query free-tier quota for models (all models if --model is omitted) usage freetier Enable or disable auto-stop for free-tier models. Enables by default; use --off to disable usage stats Query model usage statistics pipeline run Run a pipeline workflow definition pipeline validate Validate a pipeline definition without executing advisor recommend Recommend the best models for your use case (intent analysis → candidate recall → LLM ranking) workspace list List all workspaces quota list
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

test(e2e): move contract e2e to commands #175

test(e2e): move contract e2e to commands

test(e2e): move contract e2e to commands #175

Triggered via pull request June 24, 2026 09:19
StatusFailure
Total duration 49s
Artifacts

ci.yml

on: pull_request
lint + typecheck + test
46s
lint + typecheck + test
Fit to window
Zoom out
Zoom in

Annotations

7 errors
lint + typecheck + test
Process completed with exit code 1.
packages/rag/tests/e2e/smoke.e2e.test.ts > e2e: rag smoke > rag knowledge retrieve --help 正常退出: packages/rag/tests/e2e/smoke.e2e.test.ts#L25
AssertionError: expected '\n██████╗ █████╗ ██╗██╗ ██╗ ████…' to match /--index-id/i - Expected: /--index-id/i + Received: " ██████╗ █████╗ ██╗██╗ ██╗ █████╗ ███╗ ██╗ ██╔══██╗██╔══██╗██║██║ ██║██╔══██╗████╗ ██║ ██████╔╝███████║██║██║ ██║███████║██╔██╗ ██║ ██╔══██╗██╔══██║██║██║ ██║██╔══██║██║╚██╗██║ ██████╔╝██║ ██║██║███████╗██║██║ ██║██║ ╚████║ ╚═════╝ ╚═╝ ╚═╝╚═╝╚══════╝╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝ Usage: rag <resource> <command> [flags] Commands: auth login Authenticate with API key or console browser login (credentials can coexist) auth status Show current authentication state auth logout Clear stored credentials config show Display current configuration config set Set a config value update Update the CLI to the latest version file upload Upload a local file to DashScope temporary storage (48h) usage free Query free-tier quota for models (all models if --model is omitted) usage freetier Enable or disable auto-stop for free-tier models. Enables by default; use --off to disable usage stats Query model usage statistics quota list View model RPM/TPM rate limits quota request Request a temporary quota increase quota history View quota change history quota check Check current usage against rate limits retrieve Retrieve from a Bailian knowledge base Global Flags: --api-key <key> API key --base-url <url> API base URL --output <format> Output format: text, json --timeout <seconds> Request timeout --quiet Suppress non-essential output --verbose Print HTTP request/response details --no-color Disable ANSI colors --dry-run Dry run mode --non-interactive Disable interactive prompts --concurrent <n> Run N parallel requests (default: 1) --console-region <region> Console gateway region (e.g. cn-beijing, ap-southeast-1) --console-site <site> Console site: domestic, international --console-switch-agent <uid> Switch agent UID for delegated access --help Show help --version Print version Getting Help: Add --help after any command to see its full list of options, defaults, and usage examples. For example: rag auth login --help " ❯ packages/rag/tests/e2e/smoke.e2e.test.ts:25:20 ❯ node_modules/.pnpm/@voidzero-dev+vite-plus-test@0.1.22_@types+node@25.6.0_jiti@2.6.1_typescript@6.0.3_vite_0ccee13a25110590f42b651e2950fee7/node_modules/@voidzero-dev/vite-plus-test/dist/@vitest/runner/chunk-artifact.js:1903:22
packages/rag/tests/e2e/smoke.e2e.test.ts > e2e: rag smoke > rag 根 help 含 knowledge 与 auth,不含 text/image/memory: packages/rag/tests/e2e/smoke.e2e.test.ts#L15
AssertionError: expected '\n██████╗ █████╗ ██╗██╗ ██╗ ████…' to match /knowledge retrieve/i - Expected: /knowledge retrieve/i + Received: " ██████╗ █████╗ ██╗██╗ ██╗ █████╗ ███╗ ██╗ ██╔══██╗██╔══██╗██║██║ ██║██╔══██╗████╗ ██║ ██████╔╝███████║██║██║ ██║███████║██╔██╗ ██║ ██╔══██╗██╔══██║██║██║ ██║██╔══██║██║╚██╗██║ ██████╔╝██║ ██║██║███████╗██║██║ ██║██║ ╚████║ ╚═════╝ ╚═╝ ╚═╝╚═╝╚══════╝╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝ Usage: rag <resource> <command> [flags] Commands: auth login Authenticate with API key or console browser login (credentials can coexist) auth status Show current authentication state auth logout Clear stored credentials config show Display current configuration config set Set a config value update Update the CLI to the latest version file upload Upload a local file to DashScope temporary storage (48h) usage free Query free-tier quota for models (all models if --model is omitted) usage freetier Enable or disable auto-stop for free-tier models. Enables by default; use --off to disable usage stats Query model usage statistics quota list View model RPM/TPM rate limits quota request Request a temporary quota increase quota history View quota change history quota check Check current usage against rate limits retrieve Retrieve from a Bailian knowledge base Global Flags: --api-key <key> API key --base-url <url> API base URL --output <format> Output format: text, json --timeout <seconds> Request timeout --quiet Suppress non-essential output --verbose Print HTTP request/response details --no-color Disable ANSI colors --dry-run Dry run mode --non-interactive Disable interactive prompts --concurrent <n> Run N parallel requests (default: 1) --console-region <region> Console gateway region (e.g. cn-beijing, ap-southeast-1) --console-site <site> Console site: domestic, international --console-switch-agent <uid> Switch agent UID for delegated access --help Show help --version Print version Getting Help: Add --help after any command to see its full list of options, defaults, and usage examples. For example: rag auth login --help " ❯ packages/rag/tests/e2e/smoke.e2e.test.ts:15:17 ❯ node_modules/.pnpm/@voidzero-dev+vite-plus-test@0.1.22_@types+node@25.6.0_jiti@2.6.1_typescript@6.0.3_vite_0ccee13a25110590f42b651e2950fee7/node_modules/@voidzero-dev/vite-plus-test/dist/@vitest/runner/chunk-artifact.js:1903:22
packages/commands/tests/e2e/config.e2e.test.ts > e2e: config > config export-schema 导出全部为 JSON 数组: packages/commands/tests/e2e/config.e2e.test.ts#L185
AssertionError: { "error": { "code": 2, "message": "Unknown command: bl config export-schema\n\nAvailable commands:\n config show Display current configuration\n config set Set a config value", "hint": "bl config --help" } } : expected 2 to be +0 // Object.is equality - Expected + Received - 0 + 2 ❯ packages/commands/tests/e2e/config.e2e.test.ts:185:30 ❯ node_modules/.pnpm/@voidzero-dev+vite-plus-test@0.1.22_@types+node@25.6.0_jiti@2.6.1_typescript@6.0.3_vite_0ccee13a25110590f42b651e2950fee7/node_modules/@voidzero-dev/vite-plus-test/dist/@vitest/runner/chunk-artifact.js:1903:22
packages/commands/tests/e2e/config.e2e.test.ts > e2e: config > config export-schema 不存在的子命令时报错: packages/commands/tests/e2e/config.e2e.test.ts#L176
AssertionError: expected 'Unknown command: bl config export-sch…' to match /not found/i - Expected: /not found/i + Received: "Unknown command: bl config export-schema Available commands: config show Display current configuration config set Set a config value" ❯ packages/commands/tests/e2e/config.e2e.test.ts:176:32 ❯ node_modules/.pnpm/@voidzero-dev+vite-plus-test@0.1.22_@types+node@25.6.0_jiti@2.6.1_typescript@6.0.3_vite_0ccee13a25110590f42b651e2950fee7/node_modules/@voidzero-dev/vite-plus-test/dist/@vitest/runner/chunk-artifact.js:1903:22
packages/commands/tests/e2e/config.e2e.test.ts > e2e: config > config export-schema --command 导出单条工具 JSON: packages/commands/tests/e2e/config.e2e.test.ts#L158
AssertionError: { "error": { "code": 2, "message": "Unknown command: bl config export-schema\n\nAvailable commands:\n config show Display current configuration\n config set Set a config value", "hint": "bl config --help" } } : expected 2 to be +0 // Object.is equality - Expected + Received - 0 + 2 ❯ packages/commands/tests/e2e/config.e2e.test.ts:158:30 ❯ node_modules/.pnpm/@voidzero-dev+vite-plus-test@0.1.22_@types+node@25.6.0_jiti@2.6.1_typescript@6.0.3_vite_0ccee13a25110590f42b651e2950fee7/node_modules/@voidzero-dev/vite-plus-test/dist/@vitest/runner/chunk-artifact.js:1903:22
packages/commands/tests/e2e/config.e2e.test.ts > e2e: config > config export-schema --help 正常退出: packages/commands/tests/e2e/config.e2e.test.ts#L31
AssertionError: expected '\n██████╗ █████╗ ██╗██╗ ██╗ ████…' to match /export-schema|--command/i - Expected: /export-schema|--command/i + Received: " ██████╗ █████╗ ██╗██╗ ██╗ █████╗ ███╗ ██╗ ██╔══██╗██╔══██╗██║██║ ██║██╔══██╗████╗ ██║ ██████╔╝███████║██║██║ ██║███████║██╔██╗ ██║ ██╔══██╗██╔══██║██║██║ ██║██╔══██║██║╚██╗██║ ██████╔╝██║ ██║██║███████╗██║██║ ██║██║ ╚████║ ╚═════╝ ╚═╝ ╚═╝╚═╝╚══════╝╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝ Usage: bl <resource> <command> [flags] Commands: auth login Authenticate with API key or console browser login (credentials can coexist) auth status Show current authentication state auth logout Clear stored credentials text chat Send a chat completion (OpenAI compatible, DashScope) omni Multimodal chat with text + audio output (Qwen-Omni) image generate Generate images (Qwen-Image / wan2.x) image edit Edit an existing image with text instructions (Qwen-Image) video generate Generate a video from text or image (happyhorse-1.0-t2v / happyhorse-1.0-i2v / wan2.6-t2v) video edit Edit a video with happyhorse-1.0-video-edit (style transfer, object replacement, etc.) video ref Reference-to-video generation (happyhorse-1.0-r2v / wan2.6-r2v): multi-subject, multi-shot with voice video task get Query async task status video download Download a completed video by task ID vision describe Describe an image or video using Qwen-VL config show Display current configuration config set Set a config value update Update the CLI to the latest version app call Call a Bailian application (agent or workflow) app list List Bailian applications memory add Add memory from messages or custom content memory search Search memory nodes by query or messages memory list List memory nodes for a user memory update Update a memory node content memory delete Delete a memory node memory profile create Create a user profile schema for memory profiling memory profile get Get user profile by schema ID and user ID knowledge retrieve Retrieve from a Bailian knowledge base mcp call Call a tool on an MCP server (tools/call) mcp list List MCP servers activated under your Bailian account mcp tools List tools exposed by an MCP server (tools/list) search web Search the web using DashScope MCP WebSearch service speech synthesize Synthesize speech from text (CosyVoice TTS) speech recognize Recognize speech from audio files (FunAudio-ASR) file upload Upload a local file to DashScope temporary storage (48h) console call Call a Bailian console API via the CLI gateway usage free Query free-tier quota for models (all models if --model is omitted) usage freetier Enable or disable auto-stop for free-tier models. Enables by default; use --off to disable usage stats Query model usage statistics pipeline run Run a pipeline workflow definition pipeline validate Validate a pipeline definition without executing advisor recommend Recommend the best models for your use case (intent analysis → candidate recall → LLM ranking) workspace list List all workspaces quota list
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

test(e2e): move contract e2e to commands #175

test(e2e): move contract e2e to commands

test(e2e): move contract e2e to commands #175

Triggered via pull request June 24, 2026 09:19
StatusFailure
Total duration 49s
Artifacts

ci.yml

on: pull_request
lint + typecheck + test
46s
lint + typecheck + test
Fit to window
Zoom out
Zoom in

Annotations

7 errors
lint + typecheck + test
Process completed with exit code 1.
packages/rag/tests/e2e/smoke.e2e.test.ts > e2e: rag smoke > rag knowledge retrieve --help 正常退出: packages/rag/tests/e2e/smoke.e2e.test.ts#L25
AssertionError: expected '\n██████╗ █████╗ ██╗██╗ ██╗ ████…' to match /--index-id/i - Expected: /--index-id/i + Received: " ██████╗ █████╗ ██╗██╗ ██╗ █████╗ ███╗ ██╗ ██╔══██╗██╔══██╗██║██║ ██║██╔══██╗████╗ ██║ ██████╔╝███████║██║██║ ██║███████║██╔██╗ ██║ ██╔══██╗██╔══██║██║██║ ██║██╔══██║██║╚██╗██║ ██████╔╝██║ ██║██║███████╗██║██║ ██║██║ ╚████║ ╚═════╝ ╚═╝ ╚═╝╚═╝╚══════╝╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝ Usage: rag <resource> <command> [flags] Commands: auth login Authenticate with API key or console browser login (credentials can coexist) auth status Show current authentication state auth logout Clear stored credentials config show Display current configuration config set Set a config value update Update the CLI to the latest version file upload Upload a local file to DashScope temporary storage (48h) usage free Query free-tier quota for models (all models if --model is omitted) usage freetier Enable or disable auto-stop for free-tier models. Enables by default; use --off to disable usage stats Query model usage statistics quota list View model RPM/TPM rate limits quota request Request a temporary quota increase quota history View quota change history quota check Check current usage against rate limits retrieve Retrieve from a Bailian knowledge base Global Flags: --api-key <key> API key --base-url <url> API base URL --output <format> Output format: text, json --timeout <seconds> Request timeout --quiet Suppress non-essential output --verbose Print HTTP request/response details --no-color Disable ANSI colors --dry-run Dry run mode --non-interactive Disable interactive prompts --concurrent <n> Run N parallel requests (default: 1) --console-region <region> Console gateway region (e.g. cn-beijing, ap-southeast-1) --console-site <site> Console site: domestic, international --console-switch-agent <uid> Switch agent UID for delegated access --help Show help --version Print version Getting Help: Add --help after any command to see its full list of options, defaults, and usage examples. For example: rag auth login --help " ❯ packages/rag/tests/e2e/smoke.e2e.test.ts:25:20 ❯ node_modules/.pnpm/@voidzero-dev+vite-plus-test@0.1.22_@types+node@25.6.0_jiti@2.6.1_typescript@6.0.3_vite_0ccee13a25110590f42b651e2950fee7/node_modules/@voidzero-dev/vite-plus-test/dist/@vitest/runner/chunk-artifact.js:1903:22
packages/rag/tests/e2e/smoke.e2e.test.ts > e2e: rag smoke > rag 根 help 含 knowledge 与 auth,不含 text/image/memory: packages/rag/tests/e2e/smoke.e2e.test.ts#L15
AssertionError: expected '\n██████╗ █████╗ ██╗██╗ ██╗ ████…' to match /knowledge retrieve/i - Expected: /knowledge retrieve/i + Received: " ██████╗ █████╗ ██╗██╗ ██╗ █████╗ ███╗ ██╗ ██╔══██╗██╔══██╗██║██║ ██║██╔══██╗████╗ ██║ ██████╔╝███████║██║██║ ██║███████║██╔██╗ ██║ ██╔══██╗██╔══██║██║██║ ██║██╔══██║██║╚██╗██║ ██████╔╝██║ ██║██║███████╗██║██║ ██║██║ ╚████║ ╚═════╝ ╚═╝ ╚═╝╚═╝╚══════╝╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝ Usage: rag <resource> <command> [flags] Commands: auth login Authenticate with API key or console browser login (credentials can coexist) auth status Show current authentication state auth logout Clear stored credentials config show Display current configuration config set Set a config value update Update the CLI to the latest version file upload Upload a local file to DashScope temporary storage (48h) usage free Query free-tier quota for models (all models if --model is omitted) usage freetier Enable or disable auto-stop for free-tier models. Enables by default; use --off to disable usage stats Query model usage statistics quota list View model RPM/TPM rate limits quota request Request a temporary quota increase quota history View quota change history quota check Check current usage against rate limits retrieve Retrieve from a Bailian knowledge base Global Flags: --api-key <key> API key --base-url <url> API base URL --output <format> Output format: text, json --timeout <seconds> Request timeout --quiet Suppress non-essential output --verbose Print HTTP request/response details --no-color Disable ANSI colors --dry-run Dry run mode --non-interactive Disable interactive prompts --concurrent <n> Run N parallel requests (default: 1) --console-region <region> Console gateway region (e.g. cn-beijing, ap-southeast-1) --console-site <site> Console site: domestic, international --console-switch-agent <uid> Switch agent UID for delegated access --help Show help --version Print version Getting Help: Add --help after any command to see its full list of options, defaults, and usage examples. For example: rag auth login --help " ❯ packages/rag/tests/e2e/smoke.e2e.test.ts:15:17 ❯ node_modules/.pnpm/@voidzero-dev+vite-plus-test@0.1.22_@types+node@25.6.0_jiti@2.6.1_typescript@6.0.3_vite_0ccee13a25110590f42b651e2950fee7/node_modules/@voidzero-dev/vite-plus-test/dist/@vitest/runner/chunk-artifact.js:1903:22
packages/commands/tests/e2e/config.e2e.test.ts > e2e: config > config export-schema 导出全部为 JSON 数组: packages/commands/tests/e2e/config.e2e.test.ts#L185
AssertionError: { "error": { "code": 2, "message": "Unknown command: bl config export-schema\n\nAvailable commands:\n config show Display current configuration\n config set Set a config value", "hint": "bl config --help" } } : expected 2 to be +0 // Object.is equality - Expected + Received - 0 + 2 ❯ packages/commands/tests/e2e/config.e2e.test.ts:185:30 ❯ node_modules/.pnpm/@voidzero-dev+vite-plus-test@0.1.22_@types+node@25.6.0_jiti@2.6.1_typescript@6.0.3_vite_0ccee13a25110590f42b651e2950fee7/node_modules/@voidzero-dev/vite-plus-test/dist/@vitest/runner/chunk-artifact.js:1903:22
packages/commands/tests/e2e/config.e2e.test.ts > e2e: config > config export-schema 不存在的子命令时报错: packages/commands/tests/e2e/config.e2e.test.ts#L176
AssertionError: expected 'Unknown command: bl config export-sch…' to match /not found/i - Expected: /not found/i + Received: "Unknown command: bl config export-schema Available commands: config show Display current configuration config set Set a config value" ❯ packages/commands/tests/e2e/config.e2e.test.ts:176:32 ❯ node_modules/.pnpm/@voidzero-dev+vite-plus-test@0.1.22_@types+node@25.6.0_jiti@2.6.1_typescript@6.0.3_vite_0ccee13a25110590f42b651e2950fee7/node_modules/@voidzero-dev/vite-plus-test/dist/@vitest/runner/chunk-artifact.js:1903:22
packages/commands/tests/e2e/config.e2e.test.ts > e2e: config > config export-schema --command 导出单条工具 JSON: packages/commands/tests/e2e/config.e2e.test.ts#L158
AssertionError: { "error": { "code": 2, "message": "Unknown command: bl config export-schema\n\nAvailable commands:\n config show Display current configuration\n config set Set a config value", "hint": "bl config --help" } } : expected 2 to be +0 // Object.is equality - Expected + Received - 0 + 2 ❯ packages/commands/tests/e2e/config.e2e.test.ts:158:30 ❯ node_modules/.pnpm/@voidzero-dev+vite-plus-test@0.1.22_@types+node@25.6.0_jiti@2.6.1_typescript@6.0.3_vite_0ccee13a25110590f42b651e2950fee7/node_modules/@voidzero-dev/vite-plus-test/dist/@vitest/runner/chunk-artifact.js:1903:22
packages/commands/tests/e2e/config.e2e.test.ts > e2e: config > config export-schema --help 正常退出: packages/commands/tests/e2e/config.e2e.test.ts#L31
AssertionError: expected '\n██████╗ █████╗ ██╗██╗ ██╗ ████…' to match /export-schema|--command/i - Expected: /export-schema|--command/i + Received: " ██████╗ █████╗ ██╗██╗ ██╗ █████╗ ███╗ ██╗ ██╔══██╗██╔══██╗██║██║ ██║██╔══██╗████╗ ██║ ██████╔╝███████║██║██║ ██║███████║██╔██╗ ██║ ██╔══██╗██╔══██║██║██║ ██║██╔══██║██║╚██╗██║ ██████╔╝██║ ██║██║███████╗██║██║ ██║██║ ╚████║ ╚═════╝ ╚═╝ ╚═╝╚═╝╚══════╝╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝ Usage: bl <resource> <command> [flags] Commands: auth login Authenticate with API key or console browser login (credentials can coexist) auth status Show current authentication state auth logout Clear stored credentials text chat Send a chat completion (OpenAI compatible, DashScope) omni Multimodal chat with text + audio output (Qwen-Omni) image generate Generate images (Qwen-Image / wan2.x) image edit Edit an existing image with text instructions (Qwen-Image) video generate Generate a video from text or image (happyhorse-1.0-t2v / happyhorse-1.0-i2v / wan2.6-t2v) video edit Edit a video with happyhorse-1.0-video-edit (style transfer, object replacement, etc.) video ref Reference-to-video generation (happyhorse-1.0-r2v / wan2.6-r2v): multi-subject, multi-shot with voice video task get Query async task status video download Download a completed video by task ID vision describe Describe an image or video using Qwen-VL config show Display current configuration config set Set a config value update Update the CLI to the latest version app call Call a Bailian application (agent or workflow) app list List Bailian applications memory add Add memory from messages or custom content memory search Search memory nodes by query or messages memory list List memory nodes for a user memory update Update a memory node content memory delete Delete a memory node memory profile create Create a user profile schema for memory profiling memory profile get Get user profile by schema ID and user ID knowledge retrieve Retrieve from a Bailian knowledge base mcp call Call a tool on an MCP server (tools/call) mcp list List MCP servers activated under your Bailian account mcp tools List tools exposed by an MCP server (tools/list) search web Search the web using DashScope MCP WebSearch service speech synthesize Synthesize speech from text (CosyVoice TTS) speech recognize Recognize speech from audio files (FunAudio-ASR) file upload Upload a local file to DashScope temporary storage (48h) console call Call a Bailian console API via the CLI gateway usage free Query free-tier quota for models (all models if --model is omitted) usage freetier Enable or disable auto-stop for free-tier models. Enables by default; use --off to disable usage stats Query model usage statistics pipeline run Run a pipeline workflow definition pipeline validate Validate a pipeline definition without executing advisor recommend Recommend the best models for your use case (intent analysis → candidate recall → LLM ranking) workspace list List all workspaces quota list
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

test(e2e): move contract e2e to commands #175

test(e2e): move contract e2e to commands

test(e2e): move contract e2e to commands #175

Triggered via pull request June 24, 2026 09:19
StatusFailure
Total duration 49s
Artifacts

ci.yml

on: pull_request
lint + typecheck + test
46s
lint + typecheck + test
Fit to window
Zoom out
Zoom in

Annotations

7 errors
lint + typecheck + test
Process completed with exit code 1.
packages/rag/tests/e2e/smoke.e2e.test.ts > e2e: rag smoke > rag knowledge retrieve --help 正常退出: packages/rag/tests/e2e/smoke.e2e.test.ts#L25
AssertionError: expected '\n██████╗ █████╗ ██╗██╗ ██╗ ████…' to match /--index-id/i - Expected: /--index-id/i + Received: " ██████╗ █████╗ ██╗██╗ ██╗ █████╗ ███╗ ██╗ ██╔══██╗██╔══██╗██║██║ ██║██╔══██╗████╗ ██║ ██████╔╝███████║██║██║ ██║███████║██╔██╗ ██║ ██╔══██╗██╔══██║██║██║ ██║██╔══██║██║╚██╗██║ ██████╔╝██║ ██║██║███████╗██║██║ ██║██║ ╚████║ ╚═════╝ ╚═╝ ╚═╝╚═╝╚══════╝╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝ Usage: rag <resource> <command> [flags] Commands: auth login Authenticate with API key or console browser login (credentials can coexist) auth status Show current authentication state auth logout Clear stored credentials config show Display current configuration config set Set a config value update Update the CLI to the latest version file upload Upload a local file to DashScope temporary storage (48h) usage free Query free-tier quota for models (all models if --model is omitted) usage freetier Enable or disable auto-stop for free-tier models. Enables by default; use --off to disable usage stats Query model usage statistics quota list View model RPM/TPM rate limits quota request Request a temporary quota increase quota history View quota change history quota check Check current usage against rate limits retrieve Retrieve from a Bailian knowledge base Global Flags: --api-key <key> API key --base-url <url> API base URL --output <format> Output format: text, json --timeout <seconds> Request timeout --quiet Suppress non-essential output --verbose Print HTTP request/response details --no-color Disable ANSI colors --dry-run Dry run mode --non-interactive Disable interactive prompts --concurrent <n> Run N parallel requests (default: 1) --console-region <region> Console gateway region (e.g. cn-beijing, ap-southeast-1) --console-site <site> Console site: domestic, international --console-switch-agent <uid> Switch agent UID for delegated access --help Show help --version Print version Getting Help: Add --help after any command to see its full list of options, defaults, and usage examples. For example: rag auth login --help " ❯ packages/rag/tests/e2e/smoke.e2e.test.ts:25:20 ❯ node_modules/.pnpm/@voidzero-dev+vite-plus-test@0.1.22_@types+node@25.6.0_jiti@2.6.1_typescript@6.0.3_vite_0ccee13a25110590f42b651e2950fee7/node_modules/@voidzero-dev/vite-plus-test/dist/@vitest/runner/chunk-artifact.js:1903:22
packages/rag/tests/e2e/smoke.e2e.test.ts > e2e: rag smoke > rag 根 help 含 knowledge 与 auth,不含 text/image/memory: packages/rag/tests/e2e/smoke.e2e.test.ts#L15
AssertionError: expected '\n██████╗ █████╗ ██╗██╗ ██╗ ████…' to match /knowledge retrieve/i - Expected: /knowledge retrieve/i + Received: " ██████╗ █████╗ ██╗██╗ ██╗ █████╗ ███╗ ██╗ ██╔══██╗██╔══██╗██║██║ ██║██╔══██╗████╗ ██║ ██████╔╝███████║██║██║ ██║███████║██╔██╗ ██║ ██╔══██╗██╔══██║██║██║ ██║██╔══██║██║╚██╗██║ ██████╔╝██║ ██║██║███████╗██║██║ ██║██║ ╚████║ ╚═════╝ ╚═╝ ╚═╝╚═╝╚══════╝╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝ Usage: rag <resource> <command> [flags] Commands: auth login Authenticate with API key or console browser login (credentials can coexist) auth status Show current authentication state auth logout Clear stored credentials config show Display current configuration config set Set a config value update Update the CLI to the latest version file upload Upload a local file to DashScope temporary storage (48h) usage free Query free-tier quota for models (all models if --model is omitted) usage freetier Enable or disable auto-stop for free-tier models. Enables by default; use --off to disable usage stats Query model usage statistics quota list View model RPM/TPM rate limits quota request Request a temporary quota increase quota history View quota change history quota check Check current usage against rate limits retrieve Retrieve from a Bailian knowledge base Global Flags: --api-key <key> API key --base-url <url> API base URL --output <format> Output format: text, json --timeout <seconds> Request timeout --quiet Suppress non-essential output --verbose Print HTTP request/response details --no-color Disable ANSI colors --dry-run Dry run mode --non-interactive Disable interactive prompts --concurrent <n> Run N parallel requests (default: 1) --console-region <region> Console gateway region (e.g. cn-beijing, ap-southeast-1) --console-site <site> Console site: domestic, international --console-switch-agent <uid> Switch agent UID for delegated access --help Show help --version Print version Getting Help: Add --help after any command to see its full list of options, defaults, and usage examples. For example: rag auth login --help " ❯ packages/rag/tests/e2e/smoke.e2e.test.ts:15:17 ❯ node_modules/.pnpm/@voidzero-dev+vite-plus-test@0.1.22_@types+node@25.6.0_jiti@2.6.1_typescript@6.0.3_vite_0ccee13a25110590f42b651e2950fee7/node_modules/@voidzero-dev/vite-plus-test/dist/@vitest/runner/chunk-artifact.js:1903:22
packages/commands/tests/e2e/config.e2e.test.ts > e2e: config > config export-schema 导出全部为 JSON 数组: packages/commands/tests/e2e/config.e2e.test.ts#L185
AssertionError: { "error": { "code": 2, "message": "Unknown command: bl config export-schema\n\nAvailable commands:\n config show Display current configuration\n config set Set a config value", "hint": "bl config --help" } } : expected 2 to be +0 // Object.is equality - Expected + Received - 0 + 2 ❯ packages/commands/tests/e2e/config.e2e.test.ts:185:30 ❯ node_modules/.pnpm/@voidzero-dev+vite-plus-test@0.1.22_@types+node@25.6.0_jiti@2.6.1_typescript@6.0.3_vite_0ccee13a25110590f42b651e2950fee7/node_modules/@voidzero-dev/vite-plus-test/dist/@vitest/runner/chunk-artifact.js:1903:22
packages/commands/tests/e2e/config.e2e.test.ts > e2e: config > config export-schema 不存在的子命令时报错: packages/commands/tests/e2e/config.e2e.test.ts#L176
AssertionError: expected 'Unknown command: bl config export-sch…' to match /not found/i - Expected: /not found/i + Received: "Unknown command: bl config export-schema Available commands: config show Display current configuration config set Set a config value" ❯ packages/commands/tests/e2e/config.e2e.test.ts:176:32 ❯ node_modules/.pnpm/@voidzero-dev+vite-plus-test@0.1.22_@types+node@25.6.0_jiti@2.6.1_typescript@6.0.3_vite_0ccee13a25110590f42b651e2950fee7/node_modules/@voidzero-dev/vite-plus-test/dist/@vitest/runner/chunk-artifact.js:1903:22
packages/commands/tests/e2e/config.e2e.test.ts > e2e: config > config export-schema --command 导出单条工具 JSON: packages/commands/tests/e2e/config.e2e.test.ts#L158
AssertionError: { "error": { "code": 2, "message": "Unknown command: bl config export-schema\n\nAvailable commands:\n config show Display current configuration\n config set Set a config value", "hint": "bl config --help" } } : expected 2 to be +0 // Object.is equality - Expected + Received - 0 + 2 ❯ packages/commands/tests/e2e/config.e2e.test.ts:158:30 ❯ node_modules/.pnpm/@voidzero-dev+vite-plus-test@0.1.22_@types+node@25.6.0_jiti@2.6.1_typescript@6.0.3_vite_0ccee13a25110590f42b651e2950fee7/node_modules/@voidzero-dev/vite-plus-test/dist/@vitest/runner/chunk-artifact.js:1903:22
packages/commands/tests/e2e/config.e2e.test.ts > e2e: config > config export-schema --help 正常退出: packages/commands/tests/e2e/config.e2e.test.ts#L31
AssertionError: expected '\n██████╗ █████╗ ██╗██╗ ██╗ ████…' to match /export-schema|--command/i - Expected: /export-schema|--command/i + Received: " ██████╗ █████╗ ██╗██╗ ██╗ █████╗ ███╗ ██╗ ██╔══██╗██╔══██╗██║██║ ██║██╔══██╗████╗ ██║ ██████╔╝███████║██║██║ ██║███████║██╔██╗ ██║ ██╔══██╗██╔══██║██║██║ ██║██╔══██║██║╚██╗██║ ██████╔╝██║ ██║██║███████╗██║██║ ██║██║ ╚████║ ╚═════╝ ╚═╝ ╚═╝╚═╝╚══════╝╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝ Usage: bl <resource> <command> [flags] Commands: auth login Authenticate with API key or console browser login (credentials can coexist) auth status Show current authentication state auth logout Clear stored credentials text chat Send a chat completion (OpenAI compatible, DashScope) omni Multimodal chat with text + audio output (Qwen-Omni) image generate Generate images (Qwen-Image / wan2.x) image edit Edit an existing image with text instructions (Qwen-Image) video generate Generate a video from text or image (happyhorse-1.0-t2v / happyhorse-1.0-i2v / wan2.6-t2v) video edit Edit a video with happyhorse-1.0-video-edit (style transfer, object replacement, etc.) video ref Reference-to-video generation (happyhorse-1.0-r2v / wan2.6-r2v): multi-subject, multi-shot with voice video task get Query async task status video download Download a completed video by task ID vision describe Describe an image or video using Qwen-VL config show Display current configuration config set Set a config value update Update the CLI to the latest version app call Call a Bailian application (agent or workflow) app list List Bailian applications memory add Add memory from messages or custom content memory search Search memory nodes by query or messages memory list List memory nodes for a user memory update Update a memory node content memory delete Delete a memory node memory profile create Create a user profile schema for memory profiling memory profile get Get user profile by schema ID and user ID knowledge retrieve Retrieve from a Bailian knowledge base mcp call Call a tool on an MCP server (tools/call) mcp list List MCP servers activated under your Bailian account mcp tools List tools exposed by an MCP server (tools/list) search web Search the web using DashScope MCP WebSearch service speech synthesize Synthesize speech from text (CosyVoice TTS) speech recognize Recognize speech from audio files (FunAudio-ASR) file upload Upload a local file to DashScope temporary storage (48h) console call Call a Bailian console API via the CLI gateway usage free Query free-tier quota for models (all models if --model is omitted) usage freetier Enable or disable auto-stop for free-tier models. Enables by default; use --off to disable usage stats Query model usage statistics pipeline run Run a pipeline workflow definition pipeline validate Validate a pipeline definition without executing advisor recommend Recommend the best models for your use case (intent analysis → candidate recall → LLM ranking) workspace list List all workspaces quota list
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

test(e2e): move contract e2e to commands #175

test(e2e): move contract e2e to commands

test(e2e): move contract e2e to commands #175

Triggered via pull request June 24, 2026 09:19
StatusFailure
Total duration 49s
Artifacts

ci.yml

on: pull_request
lint + typecheck + test
46s
lint + typecheck + test
Fit to window
Zoom out
Zoom in

Annotations

7 errors
lint + typecheck + test
Process completed with exit code 1.
packages/rag/tests/e2e/smoke.e2e.test.ts > e2e: rag smoke > rag knowledge retrieve --help 正常退出: packages/rag/tests/e2e/smoke.e2e.test.ts#L25
AssertionError: expected '\n██████╗ █████╗ ██╗██╗ ██╗ ████…' to match /--index-id/i - Expected: /--index-id/i + Received: " ██████╗ █████╗ ██╗██╗ ██╗ █████╗ ███╗ ██╗ ██╔══██╗██╔══██╗██║██║ ██║██╔══██╗████╗ ██║ ██████╔╝███████║██║██║ ██║███████║██╔██╗ ██║ ██╔══██╗██╔══██║██║██║ ██║██╔══██║██║╚██╗██║ ██████╔╝██║ ██║██║███████╗██║██║ ██║██║ ╚████║ ╚═════╝ ╚═╝ ╚═╝╚═╝╚══════╝╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝ Usage: rag <resource> <command> [flags] Commands: auth login Authenticate with API key or console browser login (credentials can coexist) auth status Show current authentication state auth logout Clear stored credentials config show Display current configuration config set Set a config value update Update the CLI to the latest version file upload Upload a local file to DashScope temporary storage (48h) usage free Query free-tier quota for models (all models if --model is omitted) usage freetier Enable or disable auto-stop for free-tier models. Enables by default; use --off to disable usage stats Query model usage statistics quota list View model RPM/TPM rate limits quota request Request a temporary quota increase quota history View quota change history quota check Check current usage against rate limits retrieve Retrieve from a Bailian knowledge base Global Flags: --api-key <key> API key --base-url <url> API base URL --output <format> Output format: text, json --timeout <seconds> Request timeout --quiet Suppress non-essential output --verbose Print HTTP request/response details --no-color Disable ANSI colors --dry-run Dry run mode --non-interactive Disable interactive prompts --concurrent <n> Run N parallel requests (default: 1) --console-region <region> Console gateway region (e.g. cn-beijing, ap-southeast-1) --console-site <site> Console site: domestic, international --console-switch-agent <uid> Switch agent UID for delegated access --help Show help --version Print version Getting Help: Add --help after any command to see its full list of options, defaults, and usage examples. For example: rag auth login --help " ❯ packages/rag/tests/e2e/smoke.e2e.test.ts:25:20 ❯ node_modules/.pnpm/@voidzero-dev+vite-plus-test@0.1.22_@types+node@25.6.0_jiti@2.6.1_typescript@6.0.3_vite_0ccee13a25110590f42b651e2950fee7/node_modules/@voidzero-dev/vite-plus-test/dist/@vitest/runner/chunk-artifact.js:1903:22
packages/rag/tests/e2e/smoke.e2e.test.ts > e2e: rag smoke > rag 根 help 含 knowledge 与 auth,不含 text/image/memory: packages/rag/tests/e2e/smoke.e2e.test.ts#L15
AssertionError: expected '\n██████╗ █████╗ ██╗██╗ ██╗ ████…' to match /knowledge retrieve/i - Expected: /knowledge retrieve/i + Received: " ██████╗ █████╗ ██╗██╗ ██╗ █████╗ ███╗ ██╗ ██╔══██╗██╔══██╗██║██║ ██║██╔══██╗████╗ ██║ ██████╔╝███████║██║██║ ██║███████║██╔██╗ ██║ ██╔══██╗██╔══██║██║██║ ██║██╔══██║██║╚██╗██║ ██████╔╝██║ ██║██║███████╗██║██║ ██║██║ ╚████║ ╚═════╝ ╚═╝ ╚═╝╚═╝╚══════╝╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝ Usage: rag <resource> <command> [flags] Commands: auth login Authenticate with API key or console browser login (credentials can coexist) auth status Show current authentication state auth logout Clear stored credentials config show Display current configuration config set Set a config value update Update the CLI to the latest version file upload Upload a local file to DashScope temporary storage (48h) usage free Query free-tier quota for models (all models if --model is omitted) usage freetier Enable or disable auto-stop for free-tier models. Enables by default; use --off to disable usage stats Query model usage statistics quota list View model RPM/TPM rate limits quota request Request a temporary quota increase quota history View quota change history quota check Check current usage against rate limits retrieve Retrieve from a Bailian knowledge base Global Flags: --api-key <key> API key --base-url <url> API base URL --output <format> Output format: text, json --timeout <seconds> Request timeout --quiet Suppress non-essential output --verbose Print HTTP request/response details --no-color Disable ANSI colors --dry-run Dry run mode --non-interactive Disable interactive prompts --concurrent <n> Run N parallel requests (default: 1) --console-region <region> Console gateway region (e.g. cn-beijing, ap-southeast-1) --console-site <site> Console site: domestic, international --console-switch-agent <uid> Switch agent UID for delegated access --help Show help --version Print version Getting Help: Add --help after any command to see its full list of options, defaults, and usage examples. For example: rag auth login --help " ❯ packages/rag/tests/e2e/smoke.e2e.test.ts:15:17 ❯ node_modules/.pnpm/@voidzero-dev+vite-plus-test@0.1.22_@types+node@25.6.0_jiti@2.6.1_typescript@6.0.3_vite_0ccee13a25110590f42b651e2950fee7/node_modules/@voidzero-dev/vite-plus-test/dist/@vitest/runner/chunk-artifact.js:1903:22
packages/commands/tests/e2e/config.e2e.test.ts > e2e: config > config export-schema 导出全部为 JSON 数组: packages/commands/tests/e2e/config.e2e.test.ts#L185
AssertionError: { "error": { "code": 2, "message": "Unknown command: bl config export-schema\n\nAvailable commands:\n config show Display current configuration\n config set Set a config value", "hint": "bl config --help" } } : expected 2 to be +0 // Object.is equality - Expected + Received - 0 + 2 ❯ packages/commands/tests/e2e/config.e2e.test.ts:185:30 ❯ node_modules/.pnpm/@voidzero-dev+vite-plus-test@0.1.22_@types+node@25.6.0_jiti@2.6.1_typescript@6.0.3_vite_0ccee13a25110590f42b651e2950fee7/node_modules/@voidzero-dev/vite-plus-test/dist/@vitest/runner/chunk-artifact.js:1903:22
packages/commands/tests/e2e/config.e2e.test.ts > e2e: config > config export-schema 不存在的子命令时报错: packages/commands/tests/e2e/config.e2e.test.ts#L176
AssertionError: expected 'Unknown command: bl config export-sch…' to match /not found/i - Expected: /not found/i + Received: "Unknown command: bl config export-schema Available commands: config show Display current configuration config set Set a config value" ❯ packages/commands/tests/e2e/config.e2e.test.ts:176:32 ❯ node_modules/.pnpm/@voidzero-dev+vite-plus-test@0.1.22_@types+node@25.6.0_jiti@2.6.1_typescript@6.0.3_vite_0ccee13a25110590f42b651e2950fee7/node_modules/@voidzero-dev/vite-plus-test/dist/@vitest/runner/chunk-artifact.js:1903:22
packages/commands/tests/e2e/config.e2e.test.ts > e2e: config > config export-schema --command 导出单条工具 JSON: packages/commands/tests/e2e/config.e2e.test.ts#L158
AssertionError: { "error": { "code": 2, "message": "Unknown command: bl config export-schema\n\nAvailable commands:\n config show Display current configuration\n config set Set a config value", "hint": "bl config --help" } } : expected 2 to be +0 // Object.is equality - Expected + Received - 0 + 2 ❯ packages/commands/tests/e2e/config.e2e.test.ts:158:30 ❯ node_modules/.pnpm/@voidzero-dev+vite-plus-test@0.1.22_@types+node@25.6.0_jiti@2.6.1_typescript@6.0.3_vite_0ccee13a25110590f42b651e2950fee7/node_modules/@voidzero-dev/vite-plus-test/dist/@vitest/runner/chunk-artifact.js:1903:22
packages/commands/tests/e2e/config.e2e.test.ts > e2e: config > config export-schema --help 正常退出: packages/commands/tests/e2e/config.e2e.test.ts#L31
AssertionError: expected '\n██████╗ █████╗ ██╗██╗ ██╗ ████…' to match /export-schema|--command/i - Expected: /export-schema|--command/i + Received: " ██████╗ █████╗ ██╗██╗ ██╗ █████╗ ███╗ ██╗ ██╔══██╗██╔══██╗██║██║ ██║██╔══██╗████╗ ██║ ██████╔╝███████║██║██║ ██║███████║██╔██╗ ██║ ██╔══██╗██╔══██║██║██║ ██║██╔══██║██║╚██╗██║ ██████╔╝██║ ██║██║███████╗██║██║ ██║██║ ╚████║ ╚═════╝ ╚═╝ ╚═╝╚═╝╚══════╝╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝ Usage: bl <resource> <command> [flags] Commands: auth login Authenticate with API key or console browser login (credentials can coexist) auth status Show current authentication state auth logout Clear stored credentials text chat Send a chat completion (OpenAI compatible, DashScope) omni Multimodal chat with text + audio output (Qwen-Omni) image generate Generate images (Qwen-Image / wan2.x) image edit Edit an existing image with text instructions (Qwen-Image) video generate Generate a video from text or image (happyhorse-1.0-t2v / happyhorse-1.0-i2v / wan2.6-t2v) video edit Edit a video with happyhorse-1.0-video-edit (style transfer, object replacement, etc.) video ref Reference-to-video generation (happyhorse-1.0-r2v / wan2.6-r2v): multi-subject, multi-shot with voice video task get Query async task status video download Download a completed video by task ID vision describe Describe an image or video using Qwen-VL config show Display current configuration config set Set a config value update Update the CLI to the latest version app call Call a Bailian application (agent or workflow) app list List Bailian applications memory add Add memory from messages or custom content memory search Search memory nodes by query or messages memory list List memory nodes for a user memory update Update a memory node content memory delete Delete a memory node memory profile create Create a user profile schema for memory profiling memory profile get Get user profile by schema ID and user ID knowledge retrieve Retrieve from a Bailian knowledge base mcp call Call a tool on an MCP server (tools/call) mcp list List MCP servers activated under your Bailian account mcp tools List tools exposed by an MCP server (tools/list) search web Search the web using DashScope MCP WebSearch service speech synthesize Synthesize speech from text (CosyVoice TTS) speech recognize Recognize speech from audio files (FunAudio-ASR) file upload Upload a local file to DashScope temporary storage (48h) console call Call a Bailian console API via the CLI gateway usage free Query free-tier quota for models (all models if --model is omitted) usage freetier Enable or disable auto-stop for free-tier models. Enables by default; use --off to disable usage stats Query model usage statistics pipeline run Run a pipeline workflow definition pipeline validate Validate a pipeline definition without executing advisor recommend Recommend the best models for your use case (intent analysis → candidate recall → LLM ranking) workspace list List all workspaces quota list