• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

lsm / neokai / 26006380712
81%

Build:
DEFAULT BRANCH: dev
Ran 17 May 2026 11:54PM UTC
Jobs 28
Files 523
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

17 May 2026 11:53PM UTC coverage: 83.213% (-0.009%) from 83.222%
26006380712

push

github

web-flow
feat(providers): add custom OpenAI-compatible endpoint support (#1929)

* feat(providers): add custom OpenAI-compatible endpoint support

Adds backend support for user-defined OpenAI-compatible endpoints (LM Studio,
vLLM, LiteLLM, self-hosted deployments, etc.) without requiring an external
proxy.

Each endpoint is persisted as JSON under `settings.customEndpoints` and
registered in the provider registry as `custom:<endpointId>`. Traffic is
routed through an embedded Anthropic Messages ↔ OpenAI Chat Completions
bridge that handles message translation, streaming tool_calls accumulation,
graceful image dropping when vision isn't supported, and per-model
capability gating.

Backend only — UI for endpoint management ships in a follow-up PR.

Acceptance criteria covered:
- Tool use works end-to-end via tool_calls deltas → Anthropic tool_use blocks
- Streaming works for both Anthropic and OpenAI-compatible providers
- Unsupported features (vision, tool use) are silently dropped per model
- Built-in Anthropic provider behaviour is unchanged
- Existing Ollama provider keeps working; new bridge is for generic OAI-compat

* fix(providers): bind custom-endpoint bridge to loopback + honour live thinkingModes

Addresses review feedback on #1929:

P1 — Security: the OpenAI Chat Completions bridge was binding to 0.0.0.0
because `Bun.serve({ port: 0 })` defaults the hostname. On multi-user hosts
another local user could probe ephemeral ports and reach the bridge with the
configured upstream API key. Now explicitly binds to 127.0.0.1.

P1 — Correctness: `addSessionStateOptions` resolved provider thinking mode
exclusively from the static `PROVIDER_THINKING_MODES` map, which doesn't list
`custom:*` providers and therefore defaulted to `'granular'`. That emitted
`thinking: { type: 'enabled', ... }` for endpoints whose capabilities report
`thinkingModes: 'off'`. The bridge silently dropped the field, but the SDK
could error expecting matching reasoning blocks back. Now pr... (continued)

8259 of 11724 branches covered (70.45%)

Branch coverage included in aggregate %.

1079 of 1121 new or added lines in 13 files covered. (96.25%)

164 existing lines in 2 files now uncovered.

66505 of 78123 relevant lines covered (85.13%)

300.86 hits per line

Uncovered Changes

Lines Coverage ∆ File
22
95.43
packages/daemon/src/lib/providers/openai-chat-bridge/server.ts
14
89.78
packages/daemon/src/lib/providers/anthropic-messages-bridge/server.ts
4
95.96
-4.04% packages/daemon/src/lib/providers/factory.ts
2
61.84
8.31% packages/daemon/src/lib/rpc-handlers/settings-handlers.ts

Coverage Regressions

Lines Coverage ∆ File
161
11.76
-85.18% packages/daemon/src/lib/rpc-handlers/space-agent-handlers.ts
3
44.25
-0.38% packages/daemon/src/lib/rpc-handlers/session-handlers.ts
Jobs
ID Job ID Ran Files Coverage
1 daemon-5-space-agent - 26006380712.1 17 May 2026 11:54PM UTC 149
22.07
GitHub Action Run
2 daemon-online-rpc-1 - 26006380712.2 17 May 2026 11:55PM UTC 293
20.01
GitHub Action Run
3 daemon-0-shared - 26006380712.3 17 May 2026 11:54PM UTC 31
80.41
GitHub Action Run
4 daemon-5-space-workflow - 26006380712.4 17 May 2026 11:54PM UTC 106
31.14
GitHub Action Run
5 daemon-online-space-2 - 26006380712.5 17 May 2026 11:56PM UTC 293
34.23
GitHub Action Run
6 daemon-1-core - 26006380712.6 17 May 2026 11:54PM UTC 299
39.57
GitHub Action Run
7 daemon-5-space-runtime - 26006380712.7 17 May 2026 11:54PM UTC 153
42.22
GitHub Action Run
8 daemon-online-components - 26006380712.8 17 May 2026 11:54PM UTC 293
18.51
GitHub Action Run
9 daemon-online-rpc-3 - 26006380712.9 17 May 2026 11:54PM UTC 293
20.47
GitHub Action Run
10 daemon-online-features-2 - 26006380712.10 17 May 2026 11:54PM UTC 293
23.78
GitHub Action Run
11 daemon-online-coordinator - 26006380712.11 17 May 2026 11:54PM UTC 293
7.56
GitHub Action Run
12 daemon-online-space-1 - 26006380712.12 17 May 2026 11:55PM UTC 293
34.94
GitHub Action Run
13 daemon-online-git - 26006380712.13 17 May 2026 11:54PM UTC 293
19.66
GitHub Action Run
14 daemon-online-convo - 26006380712.14 17 May 2026 11:54PM UTC 293
23.24
GitHub Action Run
15 daemon-online-websocket - 26006380712.15 17 May 2026 11:54PM UTC 293
18.64
GitHub Action Run
16 daemon-5-space-other - 26006380712.16 17 May 2026 11:54PM UTC 108
40.66
GitHub Action Run
17 daemon-online-lifecycle - 26006380712.17 17 May 2026 11:54PM UTC 293
23.82
GitHub Action Run
18 daemon-online-rpc-4 - 26006380712.18 17 May 2026 11:55PM UTC 293
24.41
GitHub Action Run
19 daemon-online-mcp - 26006380712.19 17 May 2026 11:54PM UTC 293
18.96
GitHub Action Run
20 web - 26006380712.20 17 May 2026 11:55PM UTC 220
75.22
GitHub Action Run
21 daemon-online-rpc-2 - 26006380712.21 17 May 2026 11:55PM UTC 293
24.72
GitHub Action Run
22 daemon-4-space-storage - 26006380712.22 17 May 2026 11:55PM UTC 141
56.84
GitHub Action Run
23 daemon-online-agent-sdk - 26006380712.23 17 May 2026 11:54PM UTC 293
23.37
GitHub Action Run
24 daemon-online-rewind-2 - 26006380712.24 17 May 2026 11:54PM UTC 293
24.1
GitHub Action Run
25 daemon-2-handlers - 26006380712.25 17 May 2026 11:54PM UTC 142
59.87
GitHub Action Run
26 daemon-online-features-1 - 26006380712.26 17 May 2026 11:54PM UTC 293
24.14
GitHub Action Run
27 daemon-online-sdk - 26006380712.27 17 May 2026 11:54PM UTC 293
23.26
GitHub Action Run
28 daemon-online-rewind-1 - 26006380712.28 17 May 2026 11:55PM UTC 293
23.56
GitHub Action Run
Source Files on build 26006380712
  • Tree
  • List 523
  • Changed 12
  • Source Changed 8
  • Coverage Changed 12
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #26006380712
  • e3a699ba on github
  • Prev Build on dev (#26006208895)
  • Next Build on dev (#26006495016)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc