Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
b8cb81c
fix(dashboard): drop the details accordion from virtual model rows (#…
SantiagoDePolonia Sep 24, 2026
6140859
fix(tests): skip .worktrees in testconventions scan (#1087)
weselben Sep 24, 2026
d2b00e9
feat(audit): filter audit logs by request type (#1082)
SantiagoDePolonia Sep 24, 2026
be89ba0
fix(workflows): return compile errors from GetView instead of 502 (#1…
SantiagoDePolonia Sep 24, 2026
ce1d386
docs(pro): document egress proxy pools (#1077)
SantiagoDePolonia Sep 24, 2026
db5e53c
fix(providers): treat missing /models endpoint as healthy when models…
SantiagoDePolonia Sep 25, 2026
2f1a0e5
fix(providers): honor allowed_tools, strict and developer role on Gem…
SantiagoDePolonia Sep 25, 2026
1d1c3f0
feat(mcp): per-server tool and user-path exclusions (#1094)
SantiagoDePolonia Sep 26, 2026
e9d274e
fix(auth): keep header user path on MCP, realtime, and audio endpoint…
SantiagoDePolonia Sep 26, 2026
5d9af07
feat(jev): add native /v1/systemone endpoint (#1097)
SantiagoDePolonia Sep 26, 2026
667453c
feat(jev): cache, fail over, pin versions, and serve Kev routes on /v…
SantiagoDePolonia Sep 26, 2026
12861be
fix(jev): record System One token totals and prices, allow pinned ver…
SantiagoDePolonia Sep 26, 2026
706f244
chore(deps): bump the github-actions group with 2 updates (#1100)
dependabot[bot] Sep 29, 2026
39c217e
chore(deps): bump the gomod group with 4 updates (#1101)
dependabot[bot] Sep 29, 2026
cc91930
feat(providers/kimicode): add native Responses API support
weselben Sep 23, 2026
7e711e9
test(providers/kimicode): cover whitespace continuation rejection
weselben Sep 23, 2026
7681462
fix(providers/kimicode): reject conversation references locally
weselben Sep 23, 2026
c791b38
test(providers/kimicode): cover nil request passthrough
weselben Sep 23, 2026
a562227
test(providers/kimicode): assert store pin on the stream path
weselben Sep 23, 2026
aaaac02
fix(providers/kimicode): address maintainer review on native Responses
weselben Sep 30, 2026
5e2e972
fix(providers/kimicode): omit whitespace-only previous_response_id on…
weselben Sep 30, 2026
02fe4ff
test(providers/kimicode): make request-count assertion order-independent
weselben Sep 30, 2026
4c4e7a3
test(providers/openai): cover ChatCompatible.Compatible accessor
weselben Sep 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ jobs:
cache: true

- name: Initialize CodeQL
uses: github/codeql-action/init@1c5b675653bb5c22dbe9b12b556ec555138e09fd # v4
uses: github/codeql-action/init@2892aa5e19bbd11bc0cff5427e3b750a04d9e3c2 # v4
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
Expand All @@ -51,4 +51,4 @@ jobs:
run: go build ./...

- name: Perform CodeQL analysis
uses: github/codeql-action/analyze@1c5b675653bb5c22dbe9b12b556ec555138e09fd # v4
uses: github/codeql-action/analyze@2892aa5e19bbd11bc0cff5427e3b750a04d9e3c2 # v4
251 changes: 250 additions & 1 deletion cmd/gomodel/docs/docs.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 11 additions & 6 deletions config/config.example.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -144,9 +144,10 @@ models:
# headers:
# Authorization: "Bearer ${GITHUB_PAT}"
# description: GitHub tools
# allowed_tools: [] # allowlist of upstream tool names; empty = all
# disallowed_tools: [] # blocklist, applied after the allowlist
# allowed_tools: [] # allowlist of upstream tool names; empty = all (new upstream tools stay hidden when set)
# disallowed_tools: [] # tools to exclude, applied after the allowlist; edits apply without a reconnect
# user_paths: [] # restrict visibility to these user-path subtrees; empty = everyone
# disallowed_user_paths: [] # hide from these subtrees, even inside user_paths
# tool_timeout: 30s # per tools/call upper bound
# local-files: # stdio servers spawn a subprocess and are declarative-only:
# transport: stdio # the admin API and dashboard reject them by design
Expand Down Expand Up @@ -590,10 +591,14 @@ providers:
type: jev
api_key: "${JEV_API_KEY}"
# base_url defaults to "https://api.typesafe.ai". TypeSafe's System One
# API is a decision API with no OpenAI-compatible surface: requests go to
# POST /p/jev/v1/systemone, or point the TypeSafe SDK at /p/jev. A
# self-hosted Kev server speaks the same API without authentication:
# set base_url (e.g. "http://localhost:8009") and omit api_key.
# API is a decision API with no OpenAI-compatible surface: configuring
# this provider (or openrouter, which serves Jev natively) enables
# POST /v1/systemone, which forwards requests natively (point the
# TypeSafe SDK at the gateway root). A self-hosted Kev
# server speaks the same API without authentication: set base_url
# (e.g. "http://localhost:8009") and omit api_key. Name it "kev" to see
# that name in logs and usage; no separate provider type is needed.
# Pinned versions such as "jev-1.13.0" route here without being listed.
# Jev is priced per input token and is not in the upstream model catalog;
# declare its pricing here to have the gateway cost System One requests.
# models:
Expand Down
2 changes: 1 addition & 1 deletion config/env.go
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ func applyPluginsLoadEnv(cfg *Config) {
return
}
load := make([]PluginFileConfig, 0, 4)
for _, item := range strings.Split(v, ",") {
for item := range strings.SplitSeq(v, ",") {
if entry := parsePluginLoadEntry(item); entry.File != "" {
load = append(load, entry)
}
Expand Down
Loading
Loading