hkfires
519da2e042
fix(runtime): validate reasoning effort levels
2025-12-11 12:36:54 +08:00
hkfires
169f4295d0
fix(util): align reasoning effort handling with registry
2025-12-11 12:20:12 +08:00
hkfires
d06d0eab2f
fix(util): centralize reasoning effort normalization
2025-12-11 12:14:51 +08:00
hkfires
3ffd120ae9
feat(runtime): add thinking config normalization
2025-12-11 11:51:33 +08:00
hkfires
a03d514095
feat(registry): add thinking metadata for models
2025-12-11 11:28:44 +08:00
hkfires
a89514951f
fix(claude): prevent final events when no content streamed
2025-12-10 22:19:55 +08:00
hkfires
70d6b95097
feat(amp): add /news.rss proxy route
2025-12-09 21:05:06 +08:00
hkfires
9b202b6c1c
fix(executor): centralize default thinking config
2025-12-09 21:05:06 +08:00
hkfires
6a66b6801a
feat(executor): enforce minimum thinking budget for antigravity models
2025-12-09 21:05:06 +08:00
hkfires
5b6d201408
refactor(translator): remove thinking budget normalization across all translators
2025-12-09 21:05:06 +08:00
hkfires
5ec9b5e5a9
feat(executor): normalize thinking budget across all Gemini executors
2025-12-09 21:05:06 +08:00
hkfires
347769b3e3
fix(openai-compat): use model id for auth model display
2025-12-09 18:09:14 +08:00
hkfires
3cfe7008a2
fix(registry): update gpt 5.1 model names
2025-12-09 17:55:21 +08:00
hkfires
da23ddb061
fix(gemini): normalize model listing output
2025-12-09 17:34:15 +08:00
hkfires
e5312fb5a2
feat(antigravity): support canonical names for antigravity models
2025-12-09 16:54:13 +08:00
hkfires
96b55acff8
feat(aistudio): normalize thinking budget in request translation
2025-12-09 08:27:44 +08:00
hkfires
a283545b6b
feat(antigravity): enforce thinking budget limits for Claude models
2025-12-08 20:36:17 +08:00
hkfires
aee659fb66
style(logging): remove redundant separator line from response section
2025-12-08 18:18:33 +08:00
hkfires
92f13fc316
feat(logging): add upstream API request/response capture to streaming logs
2025-12-08 17:21:58 +08:00
hkfires
05cfa16e5f
refactor(api): simplify request body parsing in ampcode handlers
2025-12-08 14:45:35 +08:00
hkfires
93a6e2d920
feat(api): add comprehensive ampcode management endpoints
...
Add new REST API endpoints under /v0/management/ampcode for managing
ampcode configuration including upstream URL, API key, localhost
restriction, model mappings, and force model mappings settings.
- Move force-model-mappings from config_basic to config_lists
- Add GET/PUT/PATCH/DELETE endpoints for all ampcode settings
- Support model mapping CRUD with upsert (PATCH) capability
- Add comprehensive test coverage for all ampcode endpoints
2025-12-08 12:03:00 +08:00
hkfires
56ed0d8d90
refactor(config): rename prioritize-model-mappings to force-model-mappings
2025-12-08 10:44:39 +08:00
hkfires
e9eb4db8bb
feat(auth): refresh API key during cookie authentication
2025-12-08 09:48:31 +08:00
hkfires
a174d015f2
feat(openai): handle thinking.budget_tokens from Anthropic-style requests
2025-12-07 19:14:05 +08:00
hkfires
9c09128e00
feat(registry): add explicit thinking support config for antigravity models
2025-12-07 19:12:55 +08:00
hkfires
e54d2f6b2a
feat(logging): add version info to request log output
2025-12-07 12:49:14 +08:00
hkfires
54af96d321
fix(amp): restore request body before fallback handler execution
2025-12-06 15:09:25 +08:00
hkfires
22579155c5
refactor(amp): consolidate and simplify model mapping debug logs
2025-12-06 14:54:38 +08:00
hkfires
5d12d4ce33
feat(amp): add response rewriter for model name substitution in responses
2025-12-06 14:15:44 +08:00
hkfires
55cd31fb96
fix(amp): suppress ErrAbortHandler panics in reverse proxy handler
2025-12-05 21:28:58 +08:00
hkfires
caa48e7c6f
fix(amp): improve proxy state management and request logging behavior
2025-12-05 21:09:53 +08:00
hkfires
acdfb3bceb
feat(amp): add root-level /threads routes for CLI compatibility
2025-12-05 18:14:10 +08:00
hkfires
89d68962b1
fix(amp): filter amp request logging to only provider endpoint
2025-12-05 18:14:09 +08:00
hkfires
9426be7a5c
fix(amp): update log message wording for disabled proxy state
2025-12-04 21:36:16 +08:00
hkfires
4a135f1986
feat(amp): add hot-reload support for upstream URL and localhost restriction
2025-12-04 21:30:59 +08:00
hkfires
c4c02f4ad0
feat(amp): add partial reload support with config change detection
2025-12-04 21:30:59 +08:00
hkfires
db03ae9663
feat(watcher): add AmpCode config change detection
2025-12-04 19:50:54 +08:00
hkfires
969ff6bb68
fix(amp): update explicit API key on config change
2025-12-04 19:32:44 +08:00
hkfires
b5de004c01
refactor(api): remove legacy generative-language-api-key endpoints and duplicate GetConfigYAML
2025-12-03 18:35:08 +08:00
hkfires
c4a5be6edf
style(amp): standardize log message capitalization
2025-12-03 13:53:18 +08:00
hkfires
651179a642
refactor(config): add detailed logging for legacy configuration migration
2025-12-03 13:39:10 +08:00
hkfires
8c42b21e66
refactor(config): improve OpenAI compatibility target matching logic
2025-12-03 12:41:17 +08:00
hkfires
b693d632d2
docs(config): comment out example API key configurations
2025-12-03 12:31:41 +08:00
hkfires
b5033c22d8
refactor(config): auto-persist migrated legacy configuration fields
2025-12-03 12:26:04 +08:00
hkfires
df0fd1add1
refactor(config): remove deprecated AMP configuration keys during save
2025-12-03 11:42:15 +08:00
hkfires
b6bdbe78ef
refactor(config): relocate legacy migration helpers to end of file
2025-12-03 11:23:11 +08:00
hkfires
06c0d2bab2
refactor(config): remove deprecated legacy API key fields
2025-12-03 11:01:56 +08:00
hkfires
bd1678457b
refactor(config): consolidate Amp settings into AmpCode struct
2025-12-03 10:42:28 +08:00
hkfires
559b7df404
refactor(config): restructure and uncomment example configuration
2025-12-03 10:29:36 +08:00
hkfires
3ebbab0a9a
Revert watcher.go in "fix: enable hot reload for amp-model-mappings config"
2025-12-02 22:17:54 +08:00
hkfires
480cd714b2
feat(config): add pruning of stale YAML mapping keys during config save
2025-12-02 21:38:54 +08:00
hkfires
75e278c7a5
feat(registry): add thinking support to gemini models
2025-11-30 20:56:29 +08:00
hkfires
7b7871ede2
feat(api): add oauth excluded model management
2025-11-30 13:38:23 +08:00
hkfires
c4e3646b75
docs(config): expand model exclusion examples
2025-11-30 11:55:47 +08:00
hkfires
022aa81be1
feat(cliproxy): support wildcard exclusions for models
2025-11-30 08:02:00 +08:00
hkfires
c43f0ea7b1
refactor(config): rename model blacklist fields to excluded models
2025-11-29 21:23:47 +08:00
hkfires
6a191358af
fix(auth): fix runtime auth reload on oauth blacklist change
2025-11-29 20:30:11 +08:00
hkfires
5983e3ec87
feat(auth): add oauth provider model blacklist
2025-11-28 10:37:10 +08:00
hkfires
f8cebb9343
feat(config): add per-key model blacklist for providers
2025-11-27 21:57:07 +08:00
hkfires
6c17dbc4da
style(amp): tidy whitespace in proxy module and tests
2025-11-26 18:57:26 +08:00
hkfires
943a8c74df
feat(logs): add limit query param to cap returned logs
2025-11-24 19:59:24 +08:00
hkfires
62bfd62871
fix(aistudio): strip Gemini generation config overrides
...
Remove generationConfig.maxOutputTokens, generationConfig.responseMimeType and generationConfig.responseJsonSchema from the Gemini payload in translateRequest so we no longer send unsupported or conflicting response configuration fields. This lets the backend or caller control response formatting and output limits and helps prevent potential API errors caused by these keys.
2025-11-23 19:44:03 +08:00
hkfires
166fa9e2e6
fix(gemini): parse stream usage from JSON, skip thoughtSignature
2025-11-22 16:07:12 +08:00
hkfires
88e566281e
fix(gemini): filter SSE usage metadata in streams
2025-11-22 15:53:36 +08:00
hkfires
d32bb9db6b
fix(runtime): treat non-empty finishReason as terminal
2025-11-22 15:39:46 +08:00
hkfires
8356b35320
fix(executor): expire stop chunks without usage metadata
2025-11-22 15:27:47 +08:00
hkfires
19a048879c
feat(runtime): track antigravity usage and token counts
2025-11-22 14:04:28 +08:00
hkfires
1061354b2f
fix: handle empty and non-JSON SSE chunks safely
2025-11-22 13:49:23 +08:00
hkfires
46b4110ff3
fix: preserve SSE usage metadata-only trailing chunks
2025-11-22 13:25:25 +08:00
hkfires
c29931e093
fix(translator): ignore empty JSON chunks in OpenAI responses
2025-11-22 13:09:16 +08:00
hkfires
b05cfd9f84
fix(translator): include empty text chunks in responses
2025-11-22 13:03:50 +08:00
hkfires
8ce22b8403
fix(sse): preserve usage metadata for stop chunks
2025-11-22 12:50:23 +08:00
hkfires
dc8d3201e1
feat(translator): support image size and googleSearch tools
2025-11-22 10:36:52 +08:00
hkfires
abc2465b29
fix(gemini-cli): ignore thoughtSignature and empty parts
2025-11-21 17:12:56 +08:00
hkfires
4ba5b43d82
feat(executor): share SSE usage filtering across streams
2025-11-21 16:51:05 +08:00
hkfires
27faf718a3
fix(auth): use fixed antigravity callback port 51121
2025-11-21 13:56:33 +08:00
hkfires
3f4f8b3b2d
feat(iflow): add cookie-based authentication endpoint
2025-11-20 18:23:43 +08:00
hkfires
b285b07986
fix(iflow): adjust auth filename email sanitization
2025-11-19 19:50:06 +08:00
hkfires
8a33f3ef69
fix: detect HTML error bodies without text/html content type
2025-11-19 14:45:33 +08:00
hkfires
b52a5cc066
feat(auth): add iFlow cookie-based authentication support
2025-11-18 22:35:35 +08:00
hkfires
1ba057112a
fix: use underscore suffix in short name mapping
...
Replace the "~<n>" suffix with "_<n>" when generating unique short names in codex translators (Claude, Gemini, OpenAI chat).
This avoids using a special character in identifiers, improving compatibility with downstream APIs while preserving length constraints.
2025-11-18 16:59:25 +08:00
hkfires
43095de162
fix(management): exclude disabled runtime-only auths from file entries
2025-11-10 08:32:42 +08:00
hkfires
51d2766d5c
fix(management): sanitize keys and normalize headers
2025-11-09 12:13:02 +08:00
hkfires
a00ba77604
refactor(config): rename SyncGeminiKeys; use Sanitize* methods
2025-11-09 08:29:47 +08:00
hkfires
cfb9cb8951
feat(config): support HTTP headers across providers
2025-11-08 20:52:05 +08:00
hkfires
1f6a384c9a
fix(api): omit auth file entries lacking path unless runtime-only
2025-11-07 19:15:54 +08:00
hkfires
c9fc033cf5
feat(management): support in-memory auth listing with disk fallback
2025-11-07 19:04:54 +08:00
hkfires
d60040b222
fix(translator): accept camelCase thinking config in OpenAI→Gemini
2025-11-07 16:45:31 +08:00
hkfires
2021ae3891
fix(config): skip persisting empty API key and compat entries
2025-10-31 15:56:47 +08:00
hkfires
4883349795
Update doc
2025-10-31 15:22:09 +08:00
hkfires
5c65938113
fix(config): stabilize YAML sequence merges by reordering items
2025-10-31 15:21:58 +08:00
hkfires
16be3f0a12
fix(config): dedupe and normalize Gemini keys and headers
2025-10-31 13:20:10 +08:00
hkfires
7c1c4ee60b
feat(gemini): add Gemini API key endpoints
2025-10-31 11:09:28 +08:00
hkfires
a53c84d0d1
feat(gemini): apply default safety settings across request translators
2025-10-31 08:22:16 +08:00
hkfires
a517290726
refactor(executor): summarize API error bodies of html in debug logs
2025-10-31 06:58:38 +08:00
hkfires
24446a4dc4
feat(cliproxy): skip persisting runtime-only websocket auths
2025-10-29 21:49:35 +08:00
hkfires
475f473dab
docs: add AI Studio setup
2025-10-29 21:10:14 +08:00
hkfires
1bbbd16df6
chore(logging): clarify 429 rate-limit retries in Gemini executor
2025-10-29 19:19:18 +08:00
hkfires
5cb378256b
feat(gemini-translators): set include_thoughts when mapping thinking
2025-10-29 19:19:18 +08:00
hkfires
3ac5f05e8c
feat(gemini): prefer official reasoning fields, add extra_body(cherry studio) fallback
2025-10-29 19:19:18 +08:00