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

lsm / neokai / 27522318674
82%

Build:
DEFAULT BRANCH: dev
Ran 15 Jun 2026 03:33AM UTC
Jobs 28
Files 604
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

15 Jun 2026 03:32AM UTC coverage: 81.51% (+0.009%) from 81.501%
27522318674

push

github

web-flow
Inject chat_template_kwargs in OpenAI Chat bridge (#2111)

* feat(custom-endpoint): inject chat_template_kwargs in OpenAI bridge

Qwen3 / vLLM templates read a Jinja `chat_template_kwargs` field that the
OpenAI Chat schema does not define. The Claude Agent SDK has no way to
send it, so llama.cpp burns 150+ tokens on `<think>` blocks even for
"2+2?".

Add per-model `chatTemplateKwargs` to CustomEndpointModelCapabilities.
The custom-endpoint provider forwards it into the bridge config; the
OpenAI Chat bridge merges it into every `/v1/chat/completions` request
body before forwarding upstream. The bridge cache key now includes the
serialised kwargs so two models with different kwargs get distinct
bridges instead of silently sharing one model's settings.

- packages/shared: optional `chatTemplateKwargs?: Record<string, unknown>`
  on CustomEndpointModelCapabilities. No default; undefined = no injection.
- packages/daemon openai-chat-bridge: new config/request field +
  `buildChatRequest` param + capture in server factory.
- packages/daemon custom-endpoint-provider: cache key + factory spread.
- tests: 3 bridge tests (inject / omit / no-overwrite) + 3 provider tests
  (forward / distinct cache key / omit).

* fix(custom-endpoint): persist chatTemplateKwargs through editor round-trip

editorToConfig had a hard-coded capability-keys array that omitted
chatTemplateKwargs. Opening an endpoint in the Providers UI and
clicking Save (even with no edits) would silently strip the field,
disabling injection on the next registry sync.

Add 'chatTemplateKwargs' to the serialised keys. The existing
`resolved[k] !== baseDefaults[k]` comparison handles it correctly:
baseDefaults (built from resolveCapabilities) never includes the
field, so an explicitly-set value is preserved and an unset value
is dropped.

Test: existingToEditor → editorToConfig preserves
{ enable_thinking: false } on a Qwen3 model.

10456 of 15296 branches covered (68.36%)

Branch coverage included in aggregate %.

10 of 10 new or added lines in 2 files covered. (100.0%)

89516 of 107354 relevant lines covered (83.38%)

288.73 hits per line

Jobs
ID Job ID Ran Files Coverage
1 daemon-online-rpc-4 - 27522318674.1 15 Jun 2026 03:34AM UTC 351
22.28
GitHub Action Run
2 daemon-4-space-migrations-a - 27522318674.2 15 Jun 2026 03:35AM UTC 50
54.02
GitHub Action Run
3 daemon-5-space-runtime-a - 27522318674.3 15 Jun 2026 03:33AM UTC 122
40.02
GitHub Action Run
4 daemon-4-space-migrations-b - 27522318674.4 15 Jun 2026 03:33AM UTC 70
39.02
GitHub Action Run
5 daemon-online-space-2 - 27522318674.5 15 Jun 2026 03:35AM UTC 351
31.43
GitHub Action Run
6 daemon-online-coordinator - 27522318674.6 15 Jun 2026 03:33AM UTC 340
7.6
GitHub Action Run
7 daemon-online-sdk - 27522318674.7 15 Jun 2026 03:33AM UTC 351
21.4
GitHub Action Run
8 daemon-0-shared-handlers-workflow - 27522318674.8 15 Jun 2026 03:33AM UTC 324
34.91
GitHub Action Run
9 daemon-online-lifecycle - 27522318674.9 15 Jun 2026 03:33AM UTC 351
21.77
GitHub Action Run
10 daemon-online-space-1 - 27522318674.10 15 Jun 2026 03:34AM UTC 351
32.56
GitHub Action Run
11 web - 27522318674.11 15 Jun 2026 03:34AM UTC 243
73.67
GitHub Action Run
12 daemon-online-convo - 27522318674.12 15 Jun 2026 03:33AM UTC 351
21.29
GitHub Action Run
13 daemon-online-rpc-2 - 27522318674.13 15 Jun 2026 03:34AM UTC 351
22.43
GitHub Action Run
14 daemon-5-space-runtime-b - 27522318674.14 15 Jun 2026 03:33AM UTC 175
46.6
GitHub Action Run
15 daemon-online-rewind-2 - 27522318674.15 15 Jun 2026 03:34AM UTC 351
21.93
GitHub Action Run
16 daemon-5-space-agent-other - 27522318674.16 15 Jun 2026 03:33AM UTC 276
26.07
GitHub Action Run
17 daemon-online-components - 27522318674.17 15 Jun 2026 03:33AM UTC 351
17.55
GitHub Action Run
18 daemon-online-rpc-1 - 27522318674.18 15 Jun 2026 03:33AM UTC 351
18.7
GitHub Action Run
19 daemon-online-rpc-3 - 27522318674.19 15 Jun 2026 03:33AM UTC 351
19.06
GitHub Action Run
20 daemon-online-git - 27522318674.20 15 Jun 2026 03:33AM UTC 351
18.44
GitHub Action Run
21 daemon-online-websocket - 27522318674.21 15 Jun 2026 03:33AM UTC 351
17.65
GitHub Action Run
22 daemon-online-features-2 - 27522318674.22 15 Jun 2026 03:33AM UTC 351
21.74
GitHub Action Run
23 daemon-1-core - 27522318674.23 15 Jun 2026 03:33AM UTC 357
34.59
GitHub Action Run
24 daemon-online-features-1 - 27522318674.24 15 Jun 2026 03:33AM UTC 351
22.11
GitHub Action Run
25 daemon-online-rewind-1 - 27522318674.25 15 Jun 2026 03:34AM UTC 351
21.52
GitHub Action Run
26 daemon-online-mcp - 27522318674.26 15 Jun 2026 03:33AM UTC 351
17.88
GitHub Action Run
27 daemon-4-space-storage - 27522318674.27 15 Jun 2026 03:33AM UTC 156
55.36
GitHub Action Run
28 daemon-online-agent-sdk - 27522318674.28 15 Jun 2026 03:34AM UTC 351
21.39
GitHub Action Run
Source Files on build 27522318674
  • Tree
  • List 604
  • Changed 5
  • Source Changed 4
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #27522318674
  • 6caaf04b on github
  • Prev Build on dev (#27511086514)
  • Next Build on dev (#27542861454)
  • 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