From 4e49abc10cd018b236bb0fc06719445fa251e2c6 Mon Sep 17 00:00:00 2001 From: "Nacho F. Lizaur" Date: Mon, 23 Mar 2026 22:31:34 +0100 Subject: [PATCH 1/4] feat: add Kiro provider --- packages/core/src/schema.ts | 6 +++++- providers/kiro/models/auto.toml | 21 ++++++++++++++++++++ providers/kiro/models/claude-haiku-4.5.toml | 21 ++++++++++++++++++++ providers/kiro/models/claude-opus-4.5.toml | 21 ++++++++++++++++++++ providers/kiro/models/claude-opus-4.6.toml | 21 ++++++++++++++++++++ providers/kiro/models/claude-sonnet-4.5.toml | 21 ++++++++++++++++++++ providers/kiro/models/claude-sonnet-4.6.toml | 21 ++++++++++++++++++++ providers/kiro/models/claude-sonnet-4.toml | 21 ++++++++++++++++++++ providers/kiro/models/deepseek-3.2.toml | 21 ++++++++++++++++++++ providers/kiro/models/minimax-m2.1.toml | 21 ++++++++++++++++++++ providers/kiro/models/minimax-m2.5.toml | 21 ++++++++++++++++++++ providers/kiro/models/qwen3-coder-next.toml | 21 ++++++++++++++++++++ providers/kiro/provider.toml | 5 +++++ 13 files changed, 241 insertions(+), 1 deletion(-) create mode 100644 providers/kiro/models/auto.toml create mode 100644 providers/kiro/models/claude-haiku-4.5.toml create mode 100644 providers/kiro/models/claude-opus-4.5.toml create mode 100644 providers/kiro/models/claude-opus-4.6.toml create mode 100644 providers/kiro/models/claude-sonnet-4.5.toml create mode 100644 providers/kiro/models/claude-sonnet-4.6.toml create mode 100644 providers/kiro/models/claude-sonnet-4.toml create mode 100644 providers/kiro/models/deepseek-3.2.toml create mode 100644 providers/kiro/models/minimax-m2.1.toml create mode 100644 providers/kiro/models/minimax-m2.5.toml create mode 100644 providers/kiro/models/qwen3-coder-next.toml create mode 100644 providers/kiro/provider.toml diff --git a/packages/core/src/schema.ts b/packages/core/src/schema.ts index d7f042361..ca7aa9f1a 100644 --- a/packages/core/src/schema.ts +++ b/packages/core/src/schema.ts @@ -150,6 +150,7 @@ export const Provider = z const isOpenAIcompatible = data.npm === "@ai-sdk/openai-compatible"; const isOpenrouter = data.npm === "@openrouter/ai-sdk-provider"; const isAnthropic = data.npm === "@ai-sdk/anthropic"; + const isKiro = data.npm === "kiro"; const hasApi = data.api !== undefined; return ( @@ -161,17 +162,20 @@ export const Provider = z isAnthropic || // openai: api optional (always allowed) isOpenAI || + // kiro: api optional (always allowed) + isKiro || // all others: must NOT have api (!isOpenAI && !isOpenAIcompatible && !isOpenrouter && !isAnthropic && + !isKiro && !hasApi) ); }, { message: - "'api' is required for openai-compatible and openrouter, optional for anthropic and openai, forbidden otherwise", + "'api' is required for openai-compatible and openrouter, optional for anthropic, openai, and kiro, forbidden otherwise", path: ["api"], }, ); diff --git a/providers/kiro/models/auto.toml b/providers/kiro/models/auto.toml new file mode 100644 index 000000000..7c64d7561 --- /dev/null +++ b/providers/kiro/models/auto.toml @@ -0,0 +1,21 @@ +name = "Auto" +family = "claude-sonnet" +release_date = "2026-03-23" +last_updated = "2026-03-23" +attachment = true +reasoning = false +temperature = true +tool_call = true +open_weights = false + +[cost] +input = 0 +output = 0 + +[limit] +context = 1_000_000 +output = 64_000 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/kiro/models/claude-haiku-4.5.toml b/providers/kiro/models/claude-haiku-4.5.toml new file mode 100644 index 000000000..6ce7e23d7 --- /dev/null +++ b/providers/kiro/models/claude-haiku-4.5.toml @@ -0,0 +1,21 @@ +name = "Claude Haiku 4.5" +family = "claude-haiku" +release_date = "2026-03-23" +last_updated = "2026-03-23" +attachment = true +reasoning = false +temperature = true +tool_call = true +open_weights = false + +[cost] +input = 0 +output = 0 + +[limit] +context = 200_000 +output = 64_000 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/kiro/models/claude-opus-4.5.toml b/providers/kiro/models/claude-opus-4.5.toml new file mode 100644 index 000000000..5e5f95486 --- /dev/null +++ b/providers/kiro/models/claude-opus-4.5.toml @@ -0,0 +1,21 @@ +name = "Claude Opus 4.5" +family = "claude-opus" +release_date = "2026-03-23" +last_updated = "2026-03-23" +attachment = true +reasoning = false +temperature = true +tool_call = true +open_weights = false + +[cost] +input = 0 +output = 0 + +[limit] +context = 200_000 +output = 64_000 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/kiro/models/claude-opus-4.6.toml b/providers/kiro/models/claude-opus-4.6.toml new file mode 100644 index 000000000..d49eec361 --- /dev/null +++ b/providers/kiro/models/claude-opus-4.6.toml @@ -0,0 +1,21 @@ +name = "Claude Opus 4.6" +family = "claude-opus" +release_date = "2026-03-23" +last_updated = "2026-03-23" +attachment = true +reasoning = false +temperature = true +tool_call = true +open_weights = false + +[cost] +input = 0 +output = 0 + +[limit] +context = 1_000_000 +output = 64_000 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/kiro/models/claude-sonnet-4.5.toml b/providers/kiro/models/claude-sonnet-4.5.toml new file mode 100644 index 000000000..e01c5a4e4 --- /dev/null +++ b/providers/kiro/models/claude-sonnet-4.5.toml @@ -0,0 +1,21 @@ +name = "Claude Sonnet 4.5" +family = "claude-sonnet" +release_date = "2026-03-23" +last_updated = "2026-03-23" +attachment = true +reasoning = false +temperature = true +tool_call = true +open_weights = false + +[cost] +input = 0 +output = 0 + +[limit] +context = 200_000 +output = 64_000 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/kiro/models/claude-sonnet-4.6.toml b/providers/kiro/models/claude-sonnet-4.6.toml new file mode 100644 index 000000000..54126d0de --- /dev/null +++ b/providers/kiro/models/claude-sonnet-4.6.toml @@ -0,0 +1,21 @@ +name = "Claude Sonnet 4.6" +family = "claude-sonnet" +release_date = "2026-03-23" +last_updated = "2026-03-23" +attachment = true +reasoning = false +temperature = true +tool_call = true +open_weights = false + +[cost] +input = 0 +output = 0 + +[limit] +context = 1_000_000 +output = 64_000 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/kiro/models/claude-sonnet-4.toml b/providers/kiro/models/claude-sonnet-4.toml new file mode 100644 index 000000000..f8b11de0c --- /dev/null +++ b/providers/kiro/models/claude-sonnet-4.toml @@ -0,0 +1,21 @@ +name = "Claude Sonnet 4" +family = "claude-sonnet" +release_date = "2026-03-23" +last_updated = "2026-03-23" +attachment = true +reasoning = false +temperature = true +tool_call = true +open_weights = false + +[cost] +input = 0 +output = 0 + +[limit] +context = 200_000 +output = 64_000 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/kiro/models/deepseek-3.2.toml b/providers/kiro/models/deepseek-3.2.toml new file mode 100644 index 000000000..8f9232b09 --- /dev/null +++ b/providers/kiro/models/deepseek-3.2.toml @@ -0,0 +1,21 @@ +name = "Deepseek v3.2" +family = "deepseek" +release_date = "2026-03-23" +last_updated = "2026-03-23" +attachment = true +reasoning = false +temperature = true +tool_call = true +open_weights = true + +[cost] +input = 0 +output = 0 + +[limit] +context = 164_000 +output = 64_000 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/kiro/models/minimax-m2.1.toml b/providers/kiro/models/minimax-m2.1.toml new file mode 100644 index 000000000..2956ad83d --- /dev/null +++ b/providers/kiro/models/minimax-m2.1.toml @@ -0,0 +1,21 @@ +name = "MiniMax M2.1" +family = "minimax" +release_date = "2026-03-23" +last_updated = "2026-03-23" +attachment = true +reasoning = false +temperature = true +tool_call = true +open_weights = true + +[cost] +input = 0 +output = 0 + +[limit] +context = 196_000 +output = 64_000 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/kiro/models/minimax-m2.5.toml b/providers/kiro/models/minimax-m2.5.toml new file mode 100644 index 000000000..bbcffc180 --- /dev/null +++ b/providers/kiro/models/minimax-m2.5.toml @@ -0,0 +1,21 @@ +name = "MiniMax M2.5" +family = "minimax" +release_date = "2026-03-23" +last_updated = "2026-03-23" +attachment = false +reasoning = false +temperature = true +tool_call = true +open_weights = true + +[cost] +input = 0 +output = 0 + +[limit] +context = 196_000 +output = 64_000 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/kiro/models/qwen3-coder-next.toml b/providers/kiro/models/qwen3-coder-next.toml new file mode 100644 index 000000000..597b0ef30 --- /dev/null +++ b/providers/kiro/models/qwen3-coder-next.toml @@ -0,0 +1,21 @@ +name = "Qwen3 Coder Next" +family = "qwen" +release_date = "2026-03-23" +last_updated = "2026-03-23" +attachment = true +reasoning = false +temperature = true +tool_call = true +open_weights = true + +[cost] +input = 0 +output = 0 + +[limit] +context = 256_000 +output = 64_000 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/kiro/provider.toml b/providers/kiro/provider.toml new file mode 100644 index 000000000..8fd27c717 --- /dev/null +++ b/providers/kiro/provider.toml @@ -0,0 +1,5 @@ +name = "Kiro" +env = ["KIRO_ENABLED"] +npm = "kiro" +api = "https://q.us-east-1.amazonaws.com" +doc = "https://kiro.dev" From 62da5b0cbd7292959ab031498af946e98603f1a6 Mon Sep 17 00:00:00 2001 From: "Nacho F. Lizaur" Date: Wed, 1 Apr 2026 13:36:47 +0200 Subject: [PATCH 2/4] feat: enable reasoning on Kiro Claude models --- providers/kiro/models/auto.toml | 2 +- providers/kiro/models/claude-haiku-4.5.toml | 2 +- providers/kiro/models/claude-opus-4.5.toml | 2 +- providers/kiro/models/claude-opus-4.6.toml | 2 +- providers/kiro/models/claude-sonnet-4.5.toml | 2 +- providers/kiro/models/claude-sonnet-4.6.toml | 2 +- providers/kiro/models/claude-sonnet-4.toml | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/providers/kiro/models/auto.toml b/providers/kiro/models/auto.toml index 7c64d7561..9127039db 100644 --- a/providers/kiro/models/auto.toml +++ b/providers/kiro/models/auto.toml @@ -3,7 +3,7 @@ family = "claude-sonnet" release_date = "2026-03-23" last_updated = "2026-03-23" attachment = true -reasoning = false +reasoning = true temperature = true tool_call = true open_weights = false diff --git a/providers/kiro/models/claude-haiku-4.5.toml b/providers/kiro/models/claude-haiku-4.5.toml index 6ce7e23d7..680a85163 100644 --- a/providers/kiro/models/claude-haiku-4.5.toml +++ b/providers/kiro/models/claude-haiku-4.5.toml @@ -3,7 +3,7 @@ family = "claude-haiku" release_date = "2026-03-23" last_updated = "2026-03-23" attachment = true -reasoning = false +reasoning = true temperature = true tool_call = true open_weights = false diff --git a/providers/kiro/models/claude-opus-4.5.toml b/providers/kiro/models/claude-opus-4.5.toml index 5e5f95486..92fc6fedb 100644 --- a/providers/kiro/models/claude-opus-4.5.toml +++ b/providers/kiro/models/claude-opus-4.5.toml @@ -3,7 +3,7 @@ family = "claude-opus" release_date = "2026-03-23" last_updated = "2026-03-23" attachment = true -reasoning = false +reasoning = true temperature = true tool_call = true open_weights = false diff --git a/providers/kiro/models/claude-opus-4.6.toml b/providers/kiro/models/claude-opus-4.6.toml index d49eec361..5a4333cb5 100644 --- a/providers/kiro/models/claude-opus-4.6.toml +++ b/providers/kiro/models/claude-opus-4.6.toml @@ -3,7 +3,7 @@ family = "claude-opus" release_date = "2026-03-23" last_updated = "2026-03-23" attachment = true -reasoning = false +reasoning = true temperature = true tool_call = true open_weights = false diff --git a/providers/kiro/models/claude-sonnet-4.5.toml b/providers/kiro/models/claude-sonnet-4.5.toml index e01c5a4e4..38118011f 100644 --- a/providers/kiro/models/claude-sonnet-4.5.toml +++ b/providers/kiro/models/claude-sonnet-4.5.toml @@ -3,7 +3,7 @@ family = "claude-sonnet" release_date = "2026-03-23" last_updated = "2026-03-23" attachment = true -reasoning = false +reasoning = true temperature = true tool_call = true open_weights = false diff --git a/providers/kiro/models/claude-sonnet-4.6.toml b/providers/kiro/models/claude-sonnet-4.6.toml index 54126d0de..9a5f676cc 100644 --- a/providers/kiro/models/claude-sonnet-4.6.toml +++ b/providers/kiro/models/claude-sonnet-4.6.toml @@ -3,7 +3,7 @@ family = "claude-sonnet" release_date = "2026-03-23" last_updated = "2026-03-23" attachment = true -reasoning = false +reasoning = true temperature = true tool_call = true open_weights = false diff --git a/providers/kiro/models/claude-sonnet-4.toml b/providers/kiro/models/claude-sonnet-4.toml index f8b11de0c..0b6c18d4a 100644 --- a/providers/kiro/models/claude-sonnet-4.toml +++ b/providers/kiro/models/claude-sonnet-4.toml @@ -3,7 +3,7 @@ family = "claude-sonnet" release_date = "2026-03-23" last_updated = "2026-03-23" attachment = true -reasoning = false +reasoning = true temperature = true tool_call = true open_weights = false From 8f340e1eb2266a68a798b15a255e79e2690c4e01 Mon Sep 17 00:00:00 2001 From: "Nacho F. Lizaur" Date: Mon, 13 Apr 2026 23:12:11 +0200 Subject: [PATCH 3/4] feat: update kiro provider to use kiro-ai-provider npm package --- packages/core/src/schema.ts | 2 +- providers/kiro/provider.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/core/src/schema.ts b/packages/core/src/schema.ts index ca7aa9f1a..600f04a83 100644 --- a/packages/core/src/schema.ts +++ b/packages/core/src/schema.ts @@ -150,7 +150,7 @@ export const Provider = z const isOpenAIcompatible = data.npm === "@ai-sdk/openai-compatible"; const isOpenrouter = data.npm === "@openrouter/ai-sdk-provider"; const isAnthropic = data.npm === "@ai-sdk/anthropic"; - const isKiro = data.npm === "kiro"; + const isKiro = data.npm === "kiro-ai-provider"; const hasApi = data.api !== undefined; return ( diff --git a/providers/kiro/provider.toml b/providers/kiro/provider.toml index 8fd27c717..67515216d 100644 --- a/providers/kiro/provider.toml +++ b/providers/kiro/provider.toml @@ -1,5 +1,5 @@ name = "Kiro" env = ["KIRO_ENABLED"] -npm = "kiro" +npm = "kiro-ai-provider" api = "https://q.us-east-1.amazonaws.com" doc = "https://kiro.dev" From 802985f76c3afcaa6b5a44eab592dd0f0246ae94 Mon Sep 17 00:00:00 2001 From: "Nacho F. Lizaur" Date: Mon, 20 Apr 2026 20:13:43 +0200 Subject: [PATCH 4/4] feat: update kiro provider to use kiro-acp-ai-provider, add opus 4.7 --- packages/core/src/schema.ts | 2 +- providers/kiro/models/auto.toml | 2 +- providers/kiro/models/claude-haiku-4.5.toml | 2 +- providers/kiro/models/claude-opus-4.5.toml | 2 +- providers/kiro/models/claude-opus-4.6.toml | 2 +- providers/kiro/models/claude-opus-4.7.toml | 21 ++++++++++++++++++++ providers/kiro/models/claude-sonnet-4.5.toml | 2 +- providers/kiro/models/claude-sonnet-4.6.toml | 2 +- providers/kiro/models/claude-sonnet-4.toml | 2 +- providers/kiro/provider.toml | 4 ++-- 10 files changed, 31 insertions(+), 10 deletions(-) create mode 100644 providers/kiro/models/claude-opus-4.7.toml diff --git a/packages/core/src/schema.ts b/packages/core/src/schema.ts index 600f04a83..38926c8fe 100644 --- a/packages/core/src/schema.ts +++ b/packages/core/src/schema.ts @@ -150,7 +150,7 @@ export const Provider = z const isOpenAIcompatible = data.npm === "@ai-sdk/openai-compatible"; const isOpenrouter = data.npm === "@openrouter/ai-sdk-provider"; const isAnthropic = data.npm === "@ai-sdk/anthropic"; - const isKiro = data.npm === "kiro-ai-provider"; + const isKiro = data.npm === "kiro-acp-ai-provider"; const hasApi = data.api !== undefined; return ( diff --git a/providers/kiro/models/auto.toml b/providers/kiro/models/auto.toml index 9127039db..7c64d7561 100644 --- a/providers/kiro/models/auto.toml +++ b/providers/kiro/models/auto.toml @@ -3,7 +3,7 @@ family = "claude-sonnet" release_date = "2026-03-23" last_updated = "2026-03-23" attachment = true -reasoning = true +reasoning = false temperature = true tool_call = true open_weights = false diff --git a/providers/kiro/models/claude-haiku-4.5.toml b/providers/kiro/models/claude-haiku-4.5.toml index 680a85163..6ce7e23d7 100644 --- a/providers/kiro/models/claude-haiku-4.5.toml +++ b/providers/kiro/models/claude-haiku-4.5.toml @@ -3,7 +3,7 @@ family = "claude-haiku" release_date = "2026-03-23" last_updated = "2026-03-23" attachment = true -reasoning = true +reasoning = false temperature = true tool_call = true open_weights = false diff --git a/providers/kiro/models/claude-opus-4.5.toml b/providers/kiro/models/claude-opus-4.5.toml index 92fc6fedb..5e5f95486 100644 --- a/providers/kiro/models/claude-opus-4.5.toml +++ b/providers/kiro/models/claude-opus-4.5.toml @@ -3,7 +3,7 @@ family = "claude-opus" release_date = "2026-03-23" last_updated = "2026-03-23" attachment = true -reasoning = true +reasoning = false temperature = true tool_call = true open_weights = false diff --git a/providers/kiro/models/claude-opus-4.6.toml b/providers/kiro/models/claude-opus-4.6.toml index 5a4333cb5..d49eec361 100644 --- a/providers/kiro/models/claude-opus-4.6.toml +++ b/providers/kiro/models/claude-opus-4.6.toml @@ -3,7 +3,7 @@ family = "claude-opus" release_date = "2026-03-23" last_updated = "2026-03-23" attachment = true -reasoning = true +reasoning = false temperature = true tool_call = true open_weights = false diff --git a/providers/kiro/models/claude-opus-4.7.toml b/providers/kiro/models/claude-opus-4.7.toml new file mode 100644 index 000000000..09e147d84 --- /dev/null +++ b/providers/kiro/models/claude-opus-4.7.toml @@ -0,0 +1,21 @@ +name = "Claude Opus 4.7" +family = "claude-opus" +release_date = "2026-04-15" +last_updated = "2026-04-15" +attachment = true +reasoning = false +temperature = false +tool_call = true +open_weights = false + +[cost] +input = 0 +output = 0 + +[limit] +context = 1_000_000 +output = 64_000 + +[modalities] +input = ["text", "image"] +output = ["text"] \ No newline at end of file diff --git a/providers/kiro/models/claude-sonnet-4.5.toml b/providers/kiro/models/claude-sonnet-4.5.toml index 38118011f..e01c5a4e4 100644 --- a/providers/kiro/models/claude-sonnet-4.5.toml +++ b/providers/kiro/models/claude-sonnet-4.5.toml @@ -3,7 +3,7 @@ family = "claude-sonnet" release_date = "2026-03-23" last_updated = "2026-03-23" attachment = true -reasoning = true +reasoning = false temperature = true tool_call = true open_weights = false diff --git a/providers/kiro/models/claude-sonnet-4.6.toml b/providers/kiro/models/claude-sonnet-4.6.toml index 9a5f676cc..54126d0de 100644 --- a/providers/kiro/models/claude-sonnet-4.6.toml +++ b/providers/kiro/models/claude-sonnet-4.6.toml @@ -3,7 +3,7 @@ family = "claude-sonnet" release_date = "2026-03-23" last_updated = "2026-03-23" attachment = true -reasoning = true +reasoning = false temperature = true tool_call = true open_weights = false diff --git a/providers/kiro/models/claude-sonnet-4.toml b/providers/kiro/models/claude-sonnet-4.toml index 0b6c18d4a..f8b11de0c 100644 --- a/providers/kiro/models/claude-sonnet-4.toml +++ b/providers/kiro/models/claude-sonnet-4.toml @@ -3,7 +3,7 @@ family = "claude-sonnet" release_date = "2026-03-23" last_updated = "2026-03-23" attachment = true -reasoning = true +reasoning = false temperature = true tool_call = true open_weights = false diff --git a/providers/kiro/provider.toml b/providers/kiro/provider.toml index 67515216d..9546a6e6e 100644 --- a/providers/kiro/provider.toml +++ b/providers/kiro/provider.toml @@ -1,5 +1,5 @@ name = "Kiro" -env = ["KIRO_ENABLED"] -npm = "kiro-ai-provider" +env = ["KIRO_API_KEY"] +npm = "kiro-acp-ai-provider" api = "https://q.us-east-1.amazonaws.com" doc = "https://kiro.dev"