29 Commits
Author SHA1 Message Date
musistudio 89081a2082 Preserve target-provider slash model routing 2026-08-06 14:07:56 +08:00
musistudio 94674ba2e6 Add web content JSON provider account connectors 2026-08-06 11:36:11 +08:00
musistudio 0fd7bf755f Merge dev/3.1 into main for v3.0.19
# Conflicts:
#	packages/ui/src/pages/home/components/network-logs.tsx
2026-08-05 18:56:16 +08:00
musistudio 0e1d9f4c05 Add Codex multi-agent bridge and provider model descriptions 2026-08-05 16:24:36 +08:00
musistudio 561c2d813c Add local agent auth provider hook support 2026-08-04 15:34:47 +08:00
musistudio 4cba6b51a8 Apply provider capability routing per upstream attempt 2026-08-04 10:21:51 +08:00
pacocartones 174ab41849 fix(gateway): compare API keys in constant time
The gateway API key authorizer matched the presented token against every
configured key with `item.key === token`, a variable-time string
comparison that returns on the first differing byte. The repository
already avoids that shape for its other secrets: context-archive.ts,
management-server.ts and media/service.ts each compare tokens through a
local timingSafeEqual helper with a length guard.

Route the gateway API key lookup through the same helper shape so all
secret comparisons behave identically. The length guard is kept so a
token of a different length is rejected rather than making
timingSafeEqual throw.

Behaviour is unchanged: valid keys authorize, unknown keys still return
401 "Invalid API key.", expired keys still return 401 "API key is
expired.", and the refresh-on-miss reload path is preserved.
2026-08-02 19:41:27 +02:00
musistudio 6a3509dbb2 Merge dev/3.1 into main for v3.0.18 2026-07-31 15:37:47 +08:00
ShiroKSH 546719003c fix(gateway): abort retry backoff on disconnect 2026-07-29 15:58:35 +03:00
musi 8f0b2d91e5 Refactor routing architecture and update project structure 2026-07-29 09:30:04 +08:00
musistudio 2c89b212ef Merge branch 'main' into dev/3.1
# Conflicts:
#	packages/core/test/unit/gateway/upstream-header-sanitizer.test.mjs
2026-07-28 09:54:13 +08:00
jesieleo 1b7971f8d2 fix(gateway): strip inbound proxy headers from providers 2026-07-28 00:37:11 +08:00
musistudio 5df6a7a3f8 Rewrite Anthropic upstream URLs for selected providers 2026-07-27 20:14:34 +08:00
musi 6971be8e87 Unify config storage and gateway bootstrap 2026-07-27 16:51:03 +08:00
musistudio 0ef0462c58 Merge branch 'main' into dev/3.1
# Conflicts:
#	README.md
#	README_zh.md
2026-07-24 23:03:14 +08:00
Chenhui Yang 283b35f2db fix(core): forward safe client headers to upstream providers 2026-07-24 10:48:56 +08:00
musi 018db8f566 chore: checkpoint local changes 2026-07-23 23:06:32 +08:00
musi 86a383f647 Merge branch 'main' into dev/compact
# Conflicts:
#	packages/core/src/config/config.ts
#	packages/core/src/contracts/app.ts
#	packages/core/src/gateway/service.ts
#	packages/core/src/profiles/service.ts
#	packages/core/test/unit/agents/context-archive.test.mjs
#	packages/core/test/unit/gateway/codex-patch-bridge.test.mjs
#	packages/ui/src/pages/home/components/profiles.tsx
#	packages/ui/src/pages/home/shared/profiles.ts
#	tests/main/profile-service.test.mjs
#	tests/main/router-builtins.test.mjs
2026-07-23 09:24:28 +08:00
musi 5d9785ddc3 Preserve explicit models when applying built-in route rewrites 2026-07-20 22:18:28 +08:00
musi 88c07b605a Merge branch 'main' into dev/3.1
# Conflicts:
#	package-lock.json
#	package.json
#	packages/cli/package.json
#	packages/core/package.json
#	packages/core/src/contracts/ipc-channels.ts
#	packages/core/src/gateway/claude-code-router-plugin.ts
#	packages/ui/test/component/layout.test.tsx
2026-07-20 22:09:34 +08:00
musistudio ecdf2fec0f Support xAI video generation and isolate Codex authentication 2026-07-20 15:38:13 +08:00
musistudio 5021cc35c0 Enable apply_patch bridging for all non-GPT Codex models 2026-07-20 07:13:53 +08:00
musistudio 9fb8a89831 Update routing workflows and supporting configuration 2026-07-19 20:07:40 +08:00
jesieleo e298524965 fix: route Claude subagents with latest gateway requests 2026-07-18 17:15:06 +08:00
musi 5b8f64160e Refactor router internals and update related integrations 2026-07-16 09:29:48 +08:00
musi 9b3339e4e4 Merge branch 'main' into dev/3.1
# Conflicts:
#	packages/core/src/gateway/request/pipeline.ts
#	packages/core/src/observability/request-log-store.ts
#	packages/core/test/integration/observability/request-log-store.test.mjs
#	packages/core/test/unit/agents/gateway-upstream-error-log.test.mjs
#	packages/core/test/unit/agents/provider-model-metadata.test.mjs
2026-07-15 22:08:49 +08:00
musistudio adadb1679f Cache parsed request bodies and simplify routing traces 2026-07-15 15:31:38 +08:00
musi 30d1f35926 Refactor request routing and provider coordination 2026-07-15 13:32:14 +08:00
musi 2aa3529449 Refactor router internals and remove obsolete code 2026-07-15 06:39:29 +08:00