780 Commits
Author SHA1 Message Date
musi a9c972cbfc update readme 2026-07-17 08:38:35 +08:00
musistudio 6b5e5a8d00 Merge branch 'main' into dev/3.1 2026-07-16 14:24:26 +08:00
musistudio f18759aa8f Add ultra effort and refine model reasoning profiles 2026-07-16 11:23:24 +08:00
musi 5b8f64160e Refactor router internals and update related integrations 2026-07-16 09:29:48 +08:00
camjac251 15c7254ab1 chore: sync listener readiness test with main
Upstream moved the regression into the core package and added a
loopback-bind skip. Preserve that handling while keeping the bounded
readiness probes after successful listener startup.
2026-07-15 14:58:40 -04:00
musi 19973394d2 Merge dev/3.1 into main for v3.0.14 v3.0.14 2026-07-15 23:00:32 +08:00
musi 4156fdea27 chore: release 3.0.14 and cli docker 3.0.6 2026-07-15 23:00:04 +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
musi f021884c1d Merge pull request #1543 from camjac251/fix/subagent-route-handshake
fix(gateway): align subagent route identity
2026-07-15 22:00:53 +08:00
musi ded548da7e Merge pull request #1542 from camjac251/fix/provider-model-context-metadata
fix(gateway): preserve provider context metadata
2026-07-15 21:56:46 +08:00
musi b27e147b16 Merge pull request #1541 from jesieleo/fix/stream-terminal-status
fix: preserve SSE outcomes, improve upstream diagnostics, and polish UI
2026-07-15 21:49:57 +08:00
musistudio 555b31477d Refactor router internals and update related tests 2026-07-15 20:24:04 +08:00
musistudio b1fb8e3331 Refactor router pipeline and update related components 2026-07-15 20:12:32 +08:00
jesieleo 6b4b22aa4b fix: hide JSON credential values in diagnostics 2026-07-15 16:30:55 +08:00
jesieleo e33c856891 fix: hide credentials without obscuring diagnostics 2026-07-15 15:41:00 +08:00
musistudio adadb1679f Cache parsed request bodies and simplify routing traces 2026-07-15 15:31:38 +08:00
camjac251 89475fd72c test(gateway): wait for loopback listener readiness
The disconnect regression can attempt its first client connection before
its test listeners are reachable. Add a bounded TCP probe so the test
exercises disconnect cleanup instead of racing listener startup.
2026-07-15 02:54:28 -04:00
musistudio dae4a914ae Remove obsolete CI workflow 2026-07-15 14:03:04 +08:00
musi 30d1f35926 Refactor request routing and provider coordination 2026-07-15 13:32:14 +08:00
jesieleo 2b1720067b fix: clarify log payload tabs 2026-07-15 13:31:03 +08:00
jesieleo 694437bf3f fix: align tray window background with theme 2026-07-15 12:55:46 +08:00
musistudio 0b40fd5489 Refactor router execution and update related tests 2026-07-15 11:58:36 +08:00
musistudio 8d9d265931 Add project-scoped new session action to the sidebar 2026-07-15 10:24:52 +08:00
musistudio 2e979d9e48 Merge branch 'dev/3.1' into dev/extensions
# Conflicts:
#	packages/core/src/agents/codex/cli-middleware-runtime.ts
#	packages/core/src/config/config.ts
#	packages/core/src/gateway/service.ts
#	packages/ui/src/pages/home/App.tsx
#	packages/ui/src/pages/home/shared/controls.tsx
#	tests/main/codex-cli-middleware-runtime.test.mjs
2026-07-15 10:14:30 +08:00
jesieleo 7acffa6c5d fix: add privacy-safe upstream failure diagnostics 2026-07-15 09:11:17 +08:00
camjac251 deff4859b5 fix(gateway): align subagent route identity
Hidden route tags select the provider only after child startup, while
clients that support exact model strings need the gateway-visible ID up
front. Publish the client-to-target mapping and accept either identity
through existing discovery resolution.
2026-07-14 19:19:49 -04:00
camjac251 5a3eda0912 fix(gateway): preserve provider context metadata
Provider imports exposed live context limits, but CCR discarded them and
fell back to stale static entries. Preserve physical and effective limits
so generated catalogs and model discovery advertise the provider-specific
usable window.
2026-07-14 19:15:39 -04:00
musi 2aa3529449 Refactor router internals and remove obsolete code 2026-07-15 06:39:29 +08:00
jesieleo e4d4a08d5d fix: preserve stream outcomes and refine interface layout 2026-07-14 23:07:15 +08:00
musi ae265ec934 chore: release 3.0.13 and cli docker 3.0.5 v3.0.13 2026-07-14 22:37:41 +08:00
musi 2c9404752c update ai-gateway version 2026-07-14 22:26:38 +08:00
musi 1d58c1c2bd update ai-gateway version 2026-07-14 22:25:05 +08:00
musi f6dd3f5b4e Merge branch 'main' into dev/3.1 2026-07-14 22:23:40 +08:00
musi 692146cc2d Merge pull request #1539 from 810senpai114514/fix/strip-provider-prefix
fix: Provider/Model 格式透传时未剥掉 Provider 前缀导致模型匹配失败
2026-07-14 22:22:46 +08:00
musistudio 9e56580334 feat: enhance app bot relay 2026-07-14 20:58:08 +08:00
musistudio 2bf349fe03 Add OpenCode bot worker support 2026-07-14 17:30:37 +08:00
musistudio 84855c4dd4 Add OpenCode profile support 2026-07-14 16:49:08 +08:00
musistudio 9094081b7c Exclude ZCode from automatic profile sync 2026-07-14 15:12:19 +08:00
musistudio 7b0e203693 Refine Claude app model discovery and fallback routing 2026-07-14 14:46:54 +08:00
musistudio 1308eb4510 Stream request log analysis to bound memory use 2026-07-14 14:28:35 +08:00
musistudio 8d91a4acd7 Merge remote-tracking branch 'origin/dev/3.1' into dev/3.1 2026-07-14 13:59:55 +08:00
musistudio e3334ae9ae Improve router handling and related integrations 2026-07-14 13:59:10 +08:00
810senpai114514andClaude Sonnet 5 b8a56a1efa fix: strip Provider/ prefix from model name before sending to ai-gateway
Bug evidence from request_logs.sqlite:

  request body:    {"model":"NebulaCoder/nebulacoder-cot-v8.0", ...}
  response body:   {"error":{"message":"All target providers failed.",
                    "attempts":[
                      {"provider":"openai","provider_name":"provider-nebulacoder-ee070b8656",
                       "stage":"model_resolution",
                       "message":"Model "NebulaCoder/nebulacoder-cot-v8.0" is not configured
                                  for target provider openai.
                                  Allowed models: nebulacoder-v8.0, nebulacoder-cot-v8.0."}
                    ]}}

Root cause: prepareUpstreamCredentialAttempt has a !target branch that uses:
  bodyHasConfiguredProviderModelSelector(input.attempt.body, input.config)
    ? input.attempt.body          ← original body with "NebulaCoder/" prefix
    : normalizedBody?.body ...    ← correctly stripped

When the body parses successfully, it prefers the original body with the
Provider/ prefix. This prefixed model name reaches ai-gateway which only
knows bare model names, causing a 400.

Fix: always use normalizedBody.body (which strips the Provider/ prefix)
when available. Remove the now-unused bodyHasConfiguredProviderModelSelector.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-14 13:33:57 +08:00
musi 672520a78b Add morph icons for sidebar and service controls 2026-07-14 13:05:35 +08:00
musi 245762710f Refactor router config and request handling 2026-07-14 09:12:57 +08:00
musi f1930b249c Refactor router pipeline and improve provider handling 2026-07-14 06:23:02 +08:00
musi e9f59c5425 chore: release cli and docker 3.0.4 2026-07-13 22:35:22 +08:00
musi 58998becfa chore: release 3.0.12 v3.0.12 2026-07-13 22:01:48 +08:00
musi 99cc7066fb update ai-gateway version 2026-07-13 21:58:17 +08:00
musi 21ab38dd47 Add Unity2.Ai provider preset and docs 2026-07-13 21:57:18 +08:00