emsanakhchivan
a3e728a114
fix(agent): provider-aware fallback for haiku/sonnet aliases ( #908 )
...
* fix(agent): provider-aware fallback for haiku/sonnet aliases
Explore agent fails on custom providers (Z.AI GLM, Alibaba Anthropic-compatible,
local OpenAI endpoints) because 'haiku' alias resolves to a non-existent model.
Changes:
- Add isClaudeNativeProvider check (Bedrock, Vertex, Foundry, official Anthropic)
- For non-Claude-native providers, haiku/sonnet aliases inherit parent model
- Add 8 tests for provider-aware fallback behavior
Fixes Explore agent "model not found" errors on custom Anthropic-compatible APIs.
* test(agent): use Bun mock.module() for provider tests
Replace env manipulation with proper Bun mock.module() to reliably
mock getAPIProvider() and isFirstPartyAnthropicBaseUrl() functions.
This ensures tests work correctly on CI where module caching caused
false negatives.
---------
Co-authored-by: Ali Alakbarli <ali.alakbarli@users.noreply.github.com >
2026-04-26 20:08:55 +08:00
..
2026-03-31 03:34:03 -07:00
2026-04-04 23:26:14 +05:30
2026-04-20 17:13:09 +08:00
2026-04-04 21:19:27 +08:00
2026-04-20 17:13:09 +08:00
2026-03-31 03:34:03 -07:00
2026-04-03 21:20:37 +08:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-04 23:58:34 +05:30
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-04 23:26:14 +05:30
2026-04-26 20:08:55 +08:00
2026-04-09 20:42:51 +08:00
2026-04-20 17:13:09 +08:00
2026-04-21 18:28:03 +08:00
2026-03-31 03:34:03 -07:00
2026-04-20 12:01:44 +08:00
2026-04-21 18:28:03 +08:00
2026-04-13 22:34:16 +08:00
2026-04-20 16:24:02 +08:00
2026-04-04 23:26:14 +05:30
2026-03-31 03:34:03 -07:00
2026-04-02 18:49:07 +05:30
2026-04-21 18:28:03 +08:00
2026-03-31 03:34:03 -07:00
2026-04-04 23:26:14 +05:30
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-01 02:36:07 +08:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-04 23:50:15 +05:30
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-19 06:44:25 +08:00
2026-04-20 12:01:44 +08:00
2026-04-05 12:44:54 +08:00
2026-04-04 17:21:18 +08:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-05 12:44:03 +08:00
2026-04-06 17:49:38 +08:00
2026-04-19 09:02:52 +08:00
2026-04-04 14:22:33 +08:00
2026-04-26 11:15:25 +08:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-04 23:26:14 +05:30
2026-04-04 23:35:03 +05:30
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-02 21:04:10 +05:30
2026-04-04 23:35:03 +05:30
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-20 17:13:09 +08:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-12 21:31:33 +08:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-13 22:34:16 +08:00
2026-04-13 22:34:16 +08:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-25 12:38:25 +08:00
2026-04-25 12:38:25 +08:00
2026-04-18 01:46:20 +08:00
2026-03-31 03:34:03 -07:00
2026-04-26 08:18:59 +08:00
2026-04-24 00:34:08 +08:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-26 08:17:02 +08:00
2026-04-26 08:17:02 +08:00
2026-04-26 08:17:02 +08:00
2026-04-07 23:24:10 +08:00
2026-04-07 23:24:10 +08:00
2026-04-07 23:24:10 +08:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-20 08:25:22 +08:00
2026-03-31 03:34:03 -07:00
2026-04-05 12:44:03 +08:00
2026-04-04 23:26:14 +05:30
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-09 20:42:51 +08:00
2026-04-07 00:43:09 +08:00
2026-04-06 17:49:38 +08:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-13 22:34:16 +08:00
2026-04-14 19:08:54 +08:00
2026-03-31 03:34:03 -07:00
2026-04-20 17:13:09 +08:00
2026-04-20 17:13:09 +08:00
2026-03-31 03:34:03 -07:00
2026-04-09 20:42:51 +08:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-09 20:42:51 +08:00
2026-04-04 21:39:54 +08:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-04 21:19:27 +08:00
2026-03-31 03:34:03 -07:00
2026-04-04 14:15:28 +08:00
2026-04-04 14:15:28 +08:00
2026-04-13 01:00:33 +08:00
2026-04-13 01:00:33 +08:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-04 01:40:07 +08:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-14 19:08:54 +08:00
2026-04-04 17:37:17 +08:00
2026-04-04 17:37:17 +08:00
2026-04-08 16:03:31 +08:00
2026-04-04 17:37:17 +08:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-06 21:29:53 +08:00
2026-04-08 16:03:31 +08:00
2026-04-06 21:29:53 +08:00
2026-04-08 16:03:31 +08:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-02 14:00:32 +05:30
2026-03-31 03:34:03 -07:00
2026-04-04 20:27:59 +08:00
2026-04-04 20:27:59 +08:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-04 21:19:27 +08:00
2026-04-23 01:36:42 +08:00
2026-04-22 19:40:23 +08:00
2026-04-22 19:40:23 +08:00
2026-04-22 19:40:23 +08:00
2026-03-31 03:34:03 -07:00
2026-04-04 23:35:03 +05:30
2026-03-31 03:34:03 -07:00
2026-04-04 23:04:34 +05:30
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-02 15:51:49 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-20 17:13:09 +08:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-26 08:17:02 +08:00
2026-04-26 08:17:02 +08:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-20 16:24:02 +08:00
2026-03-31 03:34:03 -07:00
2026-04-03 22:46:53 +08:00
2026-04-01 23:32:38 +08:00
2026-03-31 03:34:03 -07:00
2026-04-20 17:13:09 +08:00
2026-04-21 18:28:03 +08:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-04 01:40:07 +08:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-23 01:37:02 +08:00
2026-03-31 03:34:03 -07:00
2026-04-04 23:35:03 +05:30
2026-03-31 03:34:03 -07:00
2026-04-25 07:19:41 +08:00
2026-04-25 07:19:41 +08:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-09 20:42:51 +08:00
2026-04-15 19:42:26 +08:00
2026-04-09 20:42:51 +08:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-14 19:08:54 +08:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-04 21:19:27 +08:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-12 21:31:33 +08:00
2026-04-12 21:31:33 +08:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-03 10:14:28 +02:00
2026-04-03 10:14:28 +02:00
2026-04-01 02:36:07 +08:00
2026-04-21 23:37:04 +08:00
2026-04-21 23:37:04 +08:00
2026-04-25 12:36:54 +08:00
2026-04-26 08:18:59 +08:00
2026-04-12 15:26:14 +08:00
2026-04-26 08:18:59 +08:00
2026-04-25 02:29:46 +08:00
2026-04-25 02:28:14 +08:00
2026-04-25 12:36:54 +08:00
2026-04-25 02:29:46 +08:00
2026-04-26 08:18:59 +08:00
2026-04-26 08:18:59 +08:00
2026-04-01 11:55:24 +05:30
2026-04-01 11:55:24 +05:30
2026-04-24 23:03:45 +08:00
2026-04-24 19:36:21 +08:00
2026-04-24 19:36:21 +08:00
2026-04-20 06:46:05 +08:00
2026-04-20 06:46:05 +08:00
2026-04-01 17:05:45 +02:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-22 15:36:07 +08:00
2026-04-22 15:36:07 +08:00
2026-04-07 17:26:00 +08:00
2026-04-07 17:26:00 +08:00
2026-03-31 03:34:03 -07:00
2026-04-07 17:26:00 +08:00
2026-04-07 17:26:00 +08:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-04 23:26:14 +05:30
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-04 10:15:01 +08:00
2026-04-04 23:26:14 +05:30
2026-03-31 03:34:03 -07:00
2026-04-02 11:04:35 +05:30
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-24 11:34:08 +08:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-04 01:40:07 +08:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-06 22:02:29 +08:00
2026-04-04 23:26:14 +05:30
2026-04-04 23:26:14 +05:30
2026-04-12 15:26:14 +08:00
2026-04-04 23:26:14 +05:30
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-22 15:36:07 +08:00
2026-04-22 15:36:07 +08:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-04 23:26:14 +05:30
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-04 21:19:27 +08:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-26 08:18:59 +08:00
2026-04-26 08:18:59 +08:00
2026-04-21 23:25:12 +08:00
2026-04-21 23:25:12 +08:00
2026-04-21 23:25:12 +08:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-21 23:25:12 +08:00
2026-04-21 23:25:12 +08:00
2026-03-31 03:34:03 -07:00
2026-04-21 23:25:12 +08:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-04 09:24:14 +08:00
2026-04-04 09:24:14 +08:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-19 06:38:44 +08:00
2026-04-19 06:38:44 +08:00
2026-03-31 03:34:03 -07:00
2026-04-04 23:04:34 +05:30
2026-04-20 16:24:02 +08:00
2026-04-20 16:24:02 +08:00
2026-04-04 14:22:33 +08:00
2026-04-04 14:22:33 +08:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-03 14:52:35 +05:30
2026-03-31 03:34:03 -07:00
2026-04-16 21:44:56 +08:00
2026-04-16 21:44:56 +08:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-03-31 03:34:03 -07:00
2026-04-26 08:18:59 +08:00
2026-03-31 03:34:03 -07:00