From aeedbebd0276a82d97131e9ea2bda03c8f5a2230 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=B7=E7=94=B5=E8=8A=BD=E8=A1=A3?= Date: Sun, 19 Jul 2026 05:56:17 -0400 Subject: [PATCH] fix: model Kimi Code CLI migration hooks --- integrations/catalog.json | 28 +++++++++++++++++++++++++++- test/integration-catalog.test.mjs | 27 +++++++++++++++++++++++++++ 2 files changed, 54 insertions(+), 1 deletion(-) diff --git a/integrations/catalog.json b/integrations/catalog.json index 8091483..6a092d3 100644 --- a/integrations/catalog.json +++ b/integrations/catalog.json @@ -272,6 +272,7 @@ "integration_mode": "command_hooks", "config_format": "toml", "config_paths": [ + "$KIMI_CODE_HOME/config.toml", "~/.kimi-code/config.toml" ], "events": { @@ -293,7 +294,32 @@ "go": false }, "delivery_state": "planned", - "source_url": "https://moonshotai.github.io/kimi-code/en/customization/hooks" + "source_url": "https://moonshotai.github.io/kimi-code/en/customization/hooks", + "contract_variants": [ + { + "id": "pythoncli", + "release_channel": "legacy", + "activation": "kimi-cli", + "config_format": "toml", + "config_paths": [ + "~/.kimi/config.toml" + ], + "events": { + "before_tool": "PreToolUse", + "after_tool": "PostToolUse" + }, + "event_fields": { + "name": "tool_name", + "input": "tool_input", + "session": "session_id" + }, + "blocking": { + "mechanism": "exit_code_2", + "failure_mode": "fail_open" + }, + "source_url": "https://moonshotai.github.io/kimi-cli/en/customization/hooks.html" + } + ] }, { "id": "kirocli", diff --git a/test/integration-catalog.test.mjs b/test/integration-catalog.test.mjs index 1042a28..ad14c9a 100644 --- a/test/integration-catalog.test.mjs +++ b/test/integration-catalog.test.mjs @@ -187,6 +187,33 @@ test('high-drift providers retain their verified hook contracts', async () => { after_tool: 'PostToolUse', }); assert.equal(providers.get('kimi').config_format, 'toml'); + assert.deepEqual(providers.get('kimi').config_paths, [ + '$KIMI_CODE_HOME/config.toml', + '~/.kimi-code/config.toml', + ]); + assert.deepEqual(providers.get('kimi').contract_variants, [ + { + id: 'pythoncli', + release_channel: 'legacy', + activation: 'kimi-cli', + config_format: 'toml', + config_paths: ['~/.kimi/config.toml'], + events: { + before_tool: 'PreToolUse', + after_tool: 'PostToolUse', + }, + event_fields: { + name: 'tool_name', + input: 'tool_input', + session: 'session_id', + }, + blocking: { + mechanism: 'exit_code_2', + failure_mode: 'fail_open', + }, + source_url: 'https://moonshotai.github.io/kimi-cli/en/customization/hooks.html', + }, + ]); assert.deepEqual(providers.get('grok').event_fields, { name: 'toolName', input: 'toolInput',