fix(catalog): align Qwen hook contract with 0.20

This commit is contained in:
ZacharyZhang-NY committed 2026-07-20 16:18:35 -04:00
1 parent b9ab86c8ee
commit 24a9d64978
2 files changed
+21 -5

No files matched your search

+6 -5
View File
@@ -456,12 +456,13 @@
"integration_mode": "command_hooks", "integration_mode": "command_hooks",
"config_format": "json", "config_format": "json",
"config_paths": [ "config_paths": [
"$QWEN_HOME/settings.json", "$QWEN_CODE_SYSTEM_DEFAULTS_PATH", "/Library/Application Support/QwenCode/system-defaults.json", "/etc/qwen-code/system-defaults.json", "C:\\ProgramData\\qwen-code\\system-defaults.json",
"~/.qwen/settings.json", "$QWEN_HOME/settings.json", "~/.qwen/settings.json", ".qwen/settings.json",
".qwen/settings.json" "$QWEN_CODE_SYSTEM_SETTINGS_PATH", "/Library/Application Support/QwenCode/settings.json", "/etc/qwen-code/settings.json", "C:\\ProgramData\\qwen-code\\settings.json",
"$QWEN_CODE_TRUSTED_FOLDERS_PATH", "$QWEN_HOME/trustedFolders.json", "~/.qwen/trustedFolders.json"
], ],
"events": { "before_tool": "PreToolUse", "after_tool": "PostToolUse" }, "events": { "before_tool": "PreToolUse", "after_tool": "PostToolUse", "after_tool_failure": "PostToolUseFailure" },
"event_fields": { "name": "tool_name", "input": "tool_input", "session": "session_id" }, "event_fields": { "name": "tool_name", "input": "tool_input", "session": "session_id", "call_id": "tool_use_id/tool_call_id", "output": "tool_response", "error": "error" },
"blocking": { "mechanism": "exit_code_2", "failure_mode": "fail_open" }, "blocking": { "mechanism": "exit_code_2", "failure_mode": "fail_open" },
"adapters": { "node": true, "python": true, "go": true }, "adapters": { "node": true, "python": true, "go": true },
"delivery_state": "available", "delivery_state": "available",
@@ -400,18 +400,33 @@ test('high-drift providers retain their verified hook contracts', async () => {
}); });
assert.equal(providers.get('qwen').config_format, 'json'); assert.equal(providers.get('qwen').config_format, 'json');
assert.deepEqual(providers.get('qwen').config_paths, [ assert.deepEqual(providers.get('qwen').config_paths, [
'$QWEN_CODE_SYSTEM_DEFAULTS_PATH',
'/Library/Application Support/QwenCode/system-defaults.json',
'/etc/qwen-code/system-defaults.json',
'C:\\ProgramData\\qwen-code\\system-defaults.json',
'$QWEN_HOME/settings.json', '$QWEN_HOME/settings.json',
'~/.qwen/settings.json', '~/.qwen/settings.json',
'.qwen/settings.json', '.qwen/settings.json',
'$QWEN_CODE_SYSTEM_SETTINGS_PATH',
'/Library/Application Support/QwenCode/settings.json',
'/etc/qwen-code/settings.json',
'C:\\ProgramData\\qwen-code\\settings.json',
'$QWEN_CODE_TRUSTED_FOLDERS_PATH',
'$QWEN_HOME/trustedFolders.json',
'~/.qwen/trustedFolders.json',
]); ]);
assert.deepEqual(providers.get('qwen').events, { assert.deepEqual(providers.get('qwen').events, {
before_tool: 'PreToolUse', before_tool: 'PreToolUse',
after_tool: 'PostToolUse', after_tool: 'PostToolUse',
after_tool_failure: 'PostToolUseFailure',
}); });
assert.deepEqual(providers.get('qwen').event_fields, { assert.deepEqual(providers.get('qwen').event_fields, {
name: 'tool_name', name: 'tool_name',
input: 'tool_input', input: 'tool_input',
session: 'session_id', session: 'session_id',
call_id: 'tool_use_id/tool_call_id',
output: 'tool_response',
error: 'error',
}); });
assert.deepEqual(providers.get('qwen').blocking, { assert.deepEqual(providers.get('qwen').blocking, {
mechanism: 'exit_code_2', mechanism: 'exit_code_2',