Files
OmniRoute/open-sse/executors
Diego Rodrigues de Sa e Souza 04ae5a72f7 feat(kilocode): anonymous no-auth access to free models (#4019) (#5259)
* feat(kilocode): anonymous no-auth access to free models (#4019)

Kilo's gateway serves its free tier without signup: an OpenAI-compatible
request to api.kilo.ai/api/openrouter authenticated with the literal API
key `anonymous` (Authorization: Bearer anonymous) plus an
X-KILOCODE-EDITORNAME header returns free models. Expose it the same way
opencode/mimocode do:

- flag the kilocode dashboard provider `anonymousFallback: true` so a
  request with no connected account synthesizes a noauth credential;
- add `anonymousApiKey` to the registry and have DefaultExecutor send it
  as the bearer token only when no real credential exists, so the OAuth
  paid path is untouched.

Regression test exercises buildHeaders for the anonymous, OAuth-token and
API-key cases plus the anonymousFallback flag (fails before the fix).
Reference implementation pointer courtesy of @Theadd (#4019).

* chore(quality): reconcile inherited file-size base-red for executor-codex.test.ts

The release tip carries tests/unit/executor-codex.test.ts at 1347 lines while
the frozen baseline still reads 1340 — 7 legit lines were added without
ratcheting, so check:file-size fails for every PR that branches off the tip
(proven: the gate already fails on HEAD~1, before this PR's #4019 commit).
Ratchet the testFrozen entry to the current count to unblock; the file itself
is untouched by this PR.

* test: regenerate provider translate-path golden for kilocode editor-name header (#4019)

The #4019 commit adds X-KILOCODE-EDITORNAME to the kilocode registry headers.
The all-providers translate-path golden snapshots per-provider headers, so it
must be regenerated. Diff is exactly the new header on kilocode's apiKey/oauth/
nonStream variants — Authorization (Bearer <TOK>) and every other provider are
unchanged.
2026-06-28 19:04:52 -03:00
..
2026-06-27 09:07:12 -03:00
2026-06-27 09:07:12 -03:00
2026-06-17 02:43:21 -03:00
2026-06-17 19:26:32 -03:00
2026-05-23 01:46:59 -03:00
2026-06-27 09:07:12 -03:00
2026-06-23 03:08:29 -03:00
2026-06-27 09:07:12 -03:00
2026-06-23 03:08:29 -03:00
2026-06-25 13:17:40 -03:00
2026-06-19 06:49:01 -03:00
2026-05-24 18:05:58 -03:00
2026-06-27 09:07:12 -03:00
2026-06-27 09:07:12 -03:00
2026-05-26 23:51:47 -03:00
2026-06-25 13:17:40 -03:00
2026-06-25 13:17:40 -03:00
2026-06-26 02:51:06 -03:00
2026-05-24 18:05:58 -03:00
2026-06-16 01:00:40 -03:00
2026-06-16 01:00:40 -03:00
2026-05-26 23:51:47 -03:00
2026-06-27 09:07:12 -03:00