diff --git a/AGENTS.md b/AGENTS.md index effd089..9bf7d49 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -248,6 +248,17 @@ edges stay deterministic Rust. The harness appends a terminal across all three builders in the same pass — three sequential single-provider fixes (thinking signature → codex system role → codex reasoning id) motivated this policy. +- ChatCompletions dialect selection: registry platforms declare + `chat_compat` explicitly; BYOK/custom entries default to `Passthrough` + (vanilla OpenAI semantics) EXCEPT entries pointed at the house/Kimi + coding endpoint, which keep the `Kimi` dialect (base-url detection — + Pi-style quirk sniffing). `ChatCompat::Mistral` = StrictOpenAi plus the + exactly-nine-`[a-zA-Z0-9]` tool-call id normalizer + (`normalize_mistral_tool_call_ids`, deterministic FNV-1a→base36, one + map for call+result; persisted `mistral` values resolve here). Chat + tool messages are TEXT-ONLY: tool-result images batch into one + synthetic user message after the consecutive tool-result run + (`conversation_to_chat_messages`). - `openai-codex` (ChatGPT Plus/Pro, `scope_key oauth/openai-codex`, port 1455 `/auth/callback`, FORM body, authorize+token host `auth.openai.com`, client `app_EMoam…`, scope `openid profile email offline_access`, the 3 diff --git a/Cargo.lock b/Cargo.lock index ae5f4d8..bc3cabc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5442,7 +5442,7 @@ dependencies = [ [[package]] name = "kigi-acp-lib" -version = "0.1.7" +version = "0.1.8" dependencies = [ "agent-client-protocol", "async-trait", @@ -5456,7 +5456,7 @@ dependencies = [ [[package]] name = "kigi-agent" -version = "0.1.7" +version = "0.1.8" dependencies = [ "chrono", "dirs 6.0.0", @@ -5486,7 +5486,7 @@ dependencies = [ [[package]] name = "kigi-agent-lifecycle" -version = "0.1.7" +version = "0.1.8" dependencies = [ "async-trait", "tokio", @@ -5495,7 +5495,7 @@ dependencies = [ [[package]] name = "kigi-auth" -version = "0.1.7" +version = "0.1.8" dependencies = [ "async-trait", "http 1.4.2", @@ -5508,7 +5508,7 @@ dependencies = [ [[package]] name = "kigi-bin" -version = "0.1.7" +version = "0.1.8" dependencies = [ "anyhow", "clap", @@ -5543,7 +5543,7 @@ dependencies = [ [[package]] name = "kigi-chat-state" -version = "0.1.7" +version = "0.1.8" dependencies = [ "indexmap", "kigi-compaction", @@ -5560,7 +5560,7 @@ dependencies = [ [[package]] name = "kigi-codebase-graph" -version = "0.1.7" +version = "0.1.8" dependencies = [ "ahash", "clap", @@ -5596,7 +5596,7 @@ dependencies = [ [[package]] name = "kigi-compaction" -version = "0.1.7" +version = "0.1.8" dependencies = [ "anyhow", "async-trait", @@ -5609,7 +5609,7 @@ dependencies = [ [[package]] name = "kigi-config" -version = "0.1.7" +version = "0.1.8" dependencies = [ "base64", "blake3", @@ -5632,7 +5632,7 @@ dependencies = [ [[package]] name = "kigi-config-types" -version = "0.1.7" +version = "0.1.8" dependencies = [ "agent-client-protocol", "indexmap", @@ -5646,7 +5646,7 @@ dependencies = [ [[package]] name = "kigi-crash-handler" -version = "0.1.7" +version = "0.1.8" dependencies = [ "backtrace", "libc", @@ -5657,7 +5657,7 @@ dependencies = [ [[package]] name = "kigi-env" -version = "0.1.7" +version = "0.1.8" dependencies = [ "tracing", "url", @@ -5665,7 +5665,7 @@ dependencies = [ [[package]] name = "kigi-fast-worktree" -version = "0.1.7" +version = "0.1.8" dependencies = [ "anyhow", "bytes", @@ -5697,7 +5697,7 @@ dependencies = [ [[package]] name = "kigi-file-utils" -version = "0.1.7" +version = "0.1.8" dependencies = [ "anyhow", "aws-config", @@ -5721,7 +5721,7 @@ dependencies = [ [[package]] name = "kigi-fsnotify" -version = "0.1.7" +version = "0.1.8" dependencies = [ "criterion", "dunce", @@ -5742,7 +5742,7 @@ dependencies = [ [[package]] name = "kigi-gix-status" -version = "0.1.7" +version = "0.1.8" dependencies = [ "gix", "kigi-test-utils", @@ -5752,7 +5752,7 @@ dependencies = [ [[package]] name = "kigi-hooks" -version = "0.1.7" +version = "0.1.8" dependencies = [ "fastrand", "kigi-config", @@ -5771,7 +5771,7 @@ dependencies = [ [[package]] name = "kigi-hooks-plugins-types" -version = "0.1.7" +version = "0.1.8" dependencies = [ "serde", "serde_json", @@ -5779,7 +5779,7 @@ dependencies = [ [[package]] name = "kigi-http" -version = "0.1.7" +version = "0.1.8" dependencies = [ "kigi-auth", "kigi-log", @@ -5794,7 +5794,7 @@ dependencies = [ [[package]] name = "kigi-hunk-tracker" -version = "0.1.7" +version = "0.1.8" dependencies = [ "chrono", "dunce", @@ -5815,14 +5815,14 @@ dependencies = [ [[package]] name = "kigi-interjection-core" -version = "0.1.7" +version = "0.1.8" dependencies = [ "serde", ] [[package]] name = "kigi-log" -version = "0.1.7" +version = "0.1.8" dependencies = [ "anyhow", "chrono", @@ -5840,7 +5840,7 @@ dependencies = [ [[package]] name = "kigi-markdown" -version = "0.1.7" +version = "0.1.8" dependencies = [ "anstyle", "anstyle-lossy", @@ -5864,14 +5864,14 @@ dependencies = [ [[package]] name = "kigi-markdown-core" -version = "0.1.7" +version = "0.1.8" dependencies = [ "pulldown-cmark", ] [[package]] name = "kigi-mcp" -version = "0.1.7" +version = "0.1.8" dependencies = [ "agent-client-protocol", "async-trait", @@ -5908,7 +5908,7 @@ dependencies = [ [[package]] name = "kigi-memory" -version = "0.1.7" +version = "0.1.8" dependencies = [ "anyhow", "arc-swap", @@ -5942,7 +5942,7 @@ dependencies = [ [[package]] name = "kigi-mermaid" -version = "0.1.7" +version = "0.1.8" dependencies = [ "fontdb", "image", @@ -5960,7 +5960,7 @@ dependencies = [ [[package]] name = "kigi-models" -version = "0.1.7" +version = "0.1.8" dependencies = [ "kigi-env", "serde", @@ -5970,7 +5970,7 @@ dependencies = [ [[package]] name = "kigi-pager-minimal" -version = "0.1.7" +version = "0.1.8" dependencies = [ "chrono", "crossterm", @@ -5987,7 +5987,7 @@ dependencies = [ [[package]] name = "kigi-pager-pty-harness" -version = "0.1.7" +version = "0.1.8" dependencies = [ "alacritty_terminal", "anyhow", @@ -6012,7 +6012,7 @@ dependencies = [ [[package]] name = "kigi-pager-render" -version = "0.1.7" +version = "0.1.8" dependencies = [ "agent-client-protocol", "anstyle", @@ -6064,7 +6064,7 @@ dependencies = [ [[package]] name = "kigi-paths" -version = "0.1.7" +version = "0.1.8" dependencies = [ "camino", "serde", @@ -6074,7 +6074,7 @@ dependencies = [ [[package]] name = "kigi-prompt-queue" -version = "0.1.7" +version = "0.1.8" dependencies = [ "serde", "serde_json", @@ -6082,7 +6082,7 @@ dependencies = [ [[package]] name = "kigi-proto-build" -version = "0.1.7" +version = "0.1.8" dependencies = [ "anyhow", "pbjson-build", @@ -6093,7 +6093,7 @@ dependencies = [ [[package]] name = "kigi-ratatui-inline" -version = "0.1.7" +version = "0.1.8" dependencies = [ "ansi-width", "anstyle-parse 0.2.7", @@ -6110,7 +6110,7 @@ dependencies = [ [[package]] name = "kigi-ratatui-textarea" -version = "0.1.7" +version = "0.1.8" dependencies = [ "arboard", "chrono", @@ -6131,7 +6131,7 @@ dependencies = [ [[package]] name = "kigi-sampler" -version = "0.1.7" +version = "0.1.8" dependencies = [ "async-openai", "async-stream", @@ -6154,7 +6154,7 @@ dependencies = [ [[package]] name = "kigi-sampling-types" -version = "0.1.7" +version = "0.1.8" dependencies = [ "assert_matches", "async-openai", @@ -6171,7 +6171,7 @@ dependencies = [ [[package]] name = "kigi-sandbox" -version = "0.1.7" +version = "0.1.8" dependencies = [ "anyhow", "chrono", @@ -6192,7 +6192,7 @@ dependencies = [ [[package]] name = "kigi-secrets" -version = "0.1.7" +version = "0.1.8" dependencies = [ "regex", "serde_json", @@ -6230,7 +6230,7 @@ dependencies = [ [[package]] name = "kigi-shell" -version = "0.1.7" +version = "0.1.8" dependencies = [ "agent-client-protocol", "anyhow", @@ -6367,7 +6367,7 @@ dependencies = [ [[package]] name = "kigi-shell-base" -version = "0.1.7" +version = "0.1.8" dependencies = [ "anyhow", "chrono", @@ -6392,7 +6392,7 @@ dependencies = [ [[package]] name = "kigi-sqlite-journal" -version = "0.1.7" +version = "0.1.8" dependencies = [ "libc", "rusqlite", @@ -6403,7 +6403,7 @@ dependencies = [ [[package]] name = "kigi-subagent-resolution" -version = "0.1.7" +version = "0.1.8" dependencies = [ "kigi-sampling-types", "kigi-tool-types", @@ -6418,7 +6418,7 @@ dependencies = [ [[package]] name = "kigi-system-power" -version = "0.1.7" +version = "0.1.8" dependencies = [ "windows-sys 0.59.0", "zbus", @@ -6426,7 +6426,7 @@ dependencies = [ [[package]] name = "kigi-test-support" -version = "0.1.7" +version = "0.1.8" dependencies = [ "agent-client-protocol", "anyhow", @@ -6448,7 +6448,7 @@ dependencies = [ [[package]] name = "kigi-test-utils" -version = "0.1.7" +version = "0.1.8" dependencies = [ "runfiles", "tracing", @@ -6457,11 +6457,11 @@ dependencies = [ [[package]] name = "kigi-token-estimation" -version = "0.1.7" +version = "0.1.8" [[package]] name = "kigi-tool-protocol" -version = "0.1.7" +version = "0.1.8" dependencies = [ "kigi-tool-types", "serde", @@ -6472,7 +6472,7 @@ dependencies = [ [[package]] name = "kigi-tool-runtime" -version = "0.1.7" +version = "0.1.8" dependencies = [ "anyhow", "async-trait", @@ -6490,7 +6490,7 @@ dependencies = [ [[package]] name = "kigi-tool-types" -version = "0.1.7" +version = "0.1.8" dependencies = [ "minijinja", "schemars 1.2.1", @@ -6500,7 +6500,7 @@ dependencies = [ [[package]] name = "kigi-tools" -version = "0.1.7" +version = "0.1.8" dependencies = [ "anyhow", "arc-swap", @@ -6577,7 +6577,7 @@ dependencies = [ [[package]] name = "kigi-tools-api" -version = "0.1.7" +version = "0.1.8" dependencies = [ "kigi-proto-build", "kigi-tool-protocol", @@ -6590,11 +6590,11 @@ dependencies = [ [[package]] name = "kigi-tracing-macros" -version = "0.1.7" +version = "0.1.8" [[package]] name = "kigi-tty-utils" -version = "0.1.7" +version = "0.1.8" dependencies = [ "libc", "nix 0.30.1", @@ -6604,7 +6604,7 @@ dependencies = [ [[package]] name = "kigi-tui" -version = "0.1.7" +version = "0.1.8" dependencies = [ "agent-client-protocol", "ansi-to-tui", @@ -6691,7 +6691,7 @@ dependencies = [ [[package]] name = "kigi-update" -version = "0.1.7" +version = "0.1.8" dependencies = [ "anyhow", "dunce", @@ -6720,14 +6720,14 @@ dependencies = [ [[package]] name = "kigi-version" -version = "0.1.7" +version = "0.1.8" dependencies = [ "semver", ] [[package]] name = "kigi-workspace" -version = "0.1.7" +version = "0.1.8" dependencies = [ "agent-client-protocol", "anyhow", @@ -6806,7 +6806,7 @@ dependencies = [ [[package]] name = "kigi-workspace-types" -version = "0.1.7" +version = "0.1.8" dependencies = [ "base64", "chrono", @@ -8840,7 +8840,7 @@ dependencies = [ [[package]] name = "ptyctl" -version = "0.1.7" +version = "0.1.8" dependencies = [ "alacritty_terminal", "anyhow", @@ -8858,7 +8858,7 @@ dependencies = [ [[package]] name = "ptyctl-cli" -version = "0.1.7" +version = "0.1.8" dependencies = [ "anyhow", "axum", diff --git a/Cargo.toml b/Cargo.toml index c269bac..d6f23e9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -76,7 +76,7 @@ members = [ ] [workspace.package] -version = "0.1.7" +version = "0.1.8" edition = "2024" license = "Apache-2.0"