fawney19
d1cb0ebecf
Merge pull request #775 from fawney19/codex/provider-policy-hardening
...
feat(codex): add provider outbound policy boundary
2026-09-05 16:56:23 +08:00
elky
9d7a0665c0
Merge remote-tracking branch 'origin/main' into codex/provider-policy-hardening
2026-09-05 16:21:10 +08:00
fawney19
882bb43125
Merge pull request #732 from fawney19/subscription-usage-policies
...
feat(billing): add composable subscription usage policies
2026-09-05 15:35:57 +08:00
elky
db6c522d60
fix(admin): use typed DNS config normalization error
2026-09-05 15:04:00 +08:00
elky
e29442a06a
merge(main): resolve subscription usage policy conflicts
2026-09-05 14:21:16 +08:00
elky
e15ea0d5d3
fix(security): configure trusted Fake-IP DNS hosts
2026-09-05 14:05:07 +08:00
elky
f69b770f5e
fix(frontend): hide pricing source from model list
2026-09-05 09:56:34 +08:00
elky
856accdced
test(data): expect revoked API-key ciphertext on import
2026-09-05 05:07:55 +08:00
elky
92749b4d6e
fix(models): classify external catalog fetch failures
2026-09-05 04:56:29 +08:00
elky
f08c2e6729
test(data): expect anonymized deleted API key names
2026-09-05 04:56:14 +08:00
elky
e420bc6324
fix(ci): make postgres bootstrap tests apply pending migrations
2026-09-05 04:45:07 +08:00
elky
d723fb92d3
fix(image): validate signatures and preserve output mime
2026-09-05 04:08:20 +08:00
elky
5b1de5f921
fix(tunnel): allow exact private relay hosts
2026-09-05 03:57:02 +08:00
elky
7ed48e7b58
fix(data): make postgres snapshot migrations idempotent
2026-09-05 03:44:10 +08:00
elky
af712ebdbf
test(gateway): keep capture limit fixtures test-only
2026-09-05 03:35:56 +08:00
elky
33d5cd5993
fix(ci): align lint-safe security paths
2026-09-05 03:19:53 +08:00
elky
f5e1420ee6
fix(runtime): tolerate Linux socket device identity
2026-09-05 02:43:42 +08:00
elky
b37b252b14
fix(ci): satisfy protocol utility clippy checks
2026-09-05 02:37:41 +08:00
elky
0097ea89ad
fix(ci): document fixed tunnel auth transcripts
2026-09-05 02:31:57 +08:00
elky
10e63507f0
test(oauth): make antigravity exchange fixture deterministic
2026-09-05 01:48:12 +08:00
elky
9ff4d73d5c
fix(merge): align security contracts with latest main
2026-09-05 01:31:21 +08:00
elky
0e3bd7eff4
merge(main): sync latest main into security branch
2026-09-05 00:30:16 +08:00
elky
1c89b5f9ab
fix(models): allow manual entry during catalog load
2026-09-04 23:57:50 +08:00
elky
cdbbda40a6
fix(tunnel): guard private owner relay targets
2026-09-04 23:44:46 +08:00
elky
29a9d608d9
fix(models): keep manual creation available on catalog failure
2026-09-04 23:11:23 +08:00
elky
c6718754d3
fix(metrics): redact upstream admission target labels
2026-09-04 22:25:36 +08:00
elky
afdd033745
fix(admin): validate cyber failover setting
2026-09-04 21:47:24 +08:00
elky
d5f54ffe8b
fix(image): scope synthetic DNS to ChatGPT storage
2026-09-04 21:41:14 +08:00
elky
f5ec76c5c8
fix(models): isolate legacy catalog rows during fetch
2026-09-04 21:31:57 +08:00
elky
784a1e0611
test(oauth): make antigravity fixtures deterministic
2026-09-04 21:12:29 +08:00
elky
507cb33089
fix(workers): isolate malformed catalog proxy rows
2026-09-04 21:12:01 +08:00
elky
b08fa3bdb6
fix(network): preserve remote DNS semantics for SOCKS proxies
2026-09-04 21:10:55 +08:00
elky
018af84d7d
fix(usage): enforce canonical metadata projection
2026-09-04 20:42:24 +08:00
elky
36e9d21e3f
fix(logging): sanitize transport error display
2026-09-04 19:49:01 +08:00
elky
b72b6ab137
fix(workers): isolate legacy catalog credentials
2026-09-04 19:42:10 +08:00
elky
7c5cce4b3c
fix(logging): redact oauth retry transport errors
2026-09-04 19:10:03 +08:00
elky
9362c34fcd
fix(network): cover regional Kiro service origins
2026-09-04 19:09:46 +08:00
elky
e89c3aa674
fix(models): resolve external catalog through configured proxy
2026-09-04 18:56:34 +08:00
elky
d6894b5532
fix(oauth): tolerate synthetic DNS for trusted identity origins
2026-09-04 18:08:32 +08:00
elky
635c6765d9
fix(network): scope synthetic DNS exceptions for oauth and payments
2026-09-04 18:08:22 +08:00
elky
c005700a7e
fix(network): tolerate synthetic DNS for trusted origins
2026-09-04 17:25:53 +08:00
elky
c142d39951
feat(http): expose narrow benchmarking fake-ip predicate
2026-09-04 16:13:19 +08:00
elky
2d17d4b73f
refactor(models): clarify online pricing source label
2026-09-04 14:16:22 +08:00
elky
499942e3e7
fix(models): surface external catalog failures promptly
2026-09-04 14:00:59 +08:00
elky
12571764bc
fix(models): support fake-ip DNS for official catalog
2026-09-04 13:52:34 +08:00
elky
1e13fa032c
fix(frontend): fail fast on deterministic refresh errors
2026-09-04 13:24:17 +08:00
elky
47b21a25d3
chore(frontend): refresh browser compatibility data
2026-09-04 13:21:48 +08:00
elky
45a3ba8829
fix(frontend): avoid blocking public routes on invalid session
2026-09-04 13:14:16 +08:00
elky
4e47c00154
fix(dev): bootstrap embedded web dependencies
2026-09-04 12:03:57 +08:00
elky
313a637982
refactor(data): drop sqlite no-op migration
2026-09-04 11:47:05 +08:00
elky
bac6d6866a
refactor(data): remove unpublished legacy cleanup migrations
2026-09-04 11:26:59 +08:00
elky
579f2c7cc1
feat(security): harden gateway boundaries and usage policies
...
Consolidate subscription usage policy enforcement, privacy-safe persistence, and gateway security hardening into one reviewable change.
Includes bounded HTTP and execution envelopes, header and protocol guards, DNS and relay validation, authentication and secret projection hardening, secure backup/install paths, and regression coverage.
2026-09-04 03:45:52 +08:00
elky
ddcbeb3ae9
Merge remote-tracking branch 'origin/main' into worktree-linear-enchanting-bunny
2026-09-03 22:32:25 +08:00
elky
95cbd43097
test(gateway): align local execution fixtures with routing
2026-09-03 22:10:11 +08:00
elky
670d5e8d33
Merge remote-tracking branch 'origin/main' into worktree-linear-enchanting-bunny
2026-09-03 20:49:18 +08:00
elky
1de2e70d41
test(gateway): seed default routing strategy in request fixtures
2026-09-03 20:39:48 +08:00
elky
4291a91dc0
test(gateway): pass routing policy to affinity effects
2026-09-03 15:50:53 +08:00
elky
9309ad844f
test(gateway): align routing fixtures with strategy policies
2026-09-03 14:11:15 +08:00
elky
058660ec2e
fix(data): include routing order in postgres snapshot
2026-09-03 12:51:37 +08:00
elky
668bf5e40f
test(data): include latest migration snapshot
2026-09-03 12:27:12 +08:00
elky
77f93c638d
Merge codex/routing-strategy-consolidation into main
2026-09-03 12:00:51 +08:00
elky
d0c0996b9f
Merge origin/main into provider billing form fix
2026-09-03 11:36:49 +08:00
elky
214f3d6406
fix(providers): hide billing fields in provider form
2026-09-02 23:17:01 +08:00
fawney19
cae9aa4134
Merge pull request #784 from fawney19/worktree-linear-enchanting-bunny
...
feat(routing): move sticky-key retries into routing policy with lazy attempts
2026-09-02 20:56:03 +08:00
elky
7323d41fbe
feat(routing): move sticky-key retries into routing policy with lazy attempts
...
Replace the provider/endpoint max_retries fields as the source of same-key
retries with a routing policy setting, sticky_key_attempts (default 2). Only
the first-ranked candidate is retried on the same key; every failover
candidate gets a single attempt so failover keeps advancing instead of
retrying each fallback key.
Materialize exactly one attempt per candidate and derive same-key retries in
the attempt loop after a candidate-scoped failure, so the retry budget no
longer inflates up-front materialization and needs no upper bound. The budget
travels in the report context; retries reuse the plan with a fresh candidate
id and incremented retry index. Pool groups only retry their first key within
the retry-index stride.
Expose the setting in the routing profile editor and the set_scheduling rule
action, and drop the max_retries input from the provider form.
2026-09-02 20:48:40 +08:00
fawney19
e3644c6142
Merge pull request #779 from fawney19/worktree-linear-enchanting-bunny
...
feat(routing): make routing profiles the sole scheduler policy source
2026-09-02 17:16:57 +08:00
elky
415b2da81b
feat(routing): make routing profiles the sole scheduler policy source
...
Bootstrap an enabled system-default routing group from the legacy
scheduler config keys on startup, resolve the default ordering config
from that group before falling back to the legacy keys, and stop merging
keep_priority_on_conversion with the legacy flag when a policy is
resolved. Thread the policy-derived ordering config into candidate
preselection so it no longer reads system config independently.
Add per-API-format key priority overrides so a key serving several
formats keeps independent ordering, matching the legacy
global_priority_by_format semantics. Expose keep_priority_on_conversion
in the routing profile editor and read the effective policy in the
model routing preview, monitoring metrics and provider page badge.
2026-09-02 17:04:04 +08:00
elky
166236c2ee
Merge origin/main into CI dependency fix
2026-09-02 12:30:31 +08:00
elky
611c29f1f5
ci: install VSCodex web dependencies in nightly build
2026-09-02 11:17:06 +08:00
elky
d5f34b2ee2
feat(codex): add provider outbound policy boundary
2026-09-01 21:21:42 +08:00
fawney19
715f2773c3
Merge pull request #773 from fawney19/codex/codex-fingerprint-convergence
...
refactor(codex): generalize fingerprint convergence
2026-09-01 17:27:04 +08:00
elky
d07dc86376
refactor(codex): generalize fingerprint convergence
2026-09-01 17:05:54 +08:00
elky
ef7caa40e7
ci: publish nightly builds from main
2026-09-01 16:43:29 +08:00
fawney19
7fb8d5fc0a
Merge pull request #771 from fawney19/codex/codex-context-stability
...
Merge Phase 1 Codex context and fingerprint convergence changes.
2026-09-01 16:07:41 +08:00
elky
3e540ce589
fix(gateway): route Codex context through transport facade
2026-09-01 15:53:47 +08:00
elky
a39048ecce
feat(codex): stabilize identity across retries
2026-09-01 15:33:40 +08:00
elky
535ee098c3
fix(auth): reject unsigned admin identity headers
2026-08-18 11:12:17 +08:00
elky
a1d64e5239
fix(routing): preserve allowlist edits and save state
2026-08-14 11:43:24 +08:00
elky
fb33ea57b0
Merge PR #715 : decouple routing model overrides
2026-08-14 11:10:21 +08:00
elky
5b0c763086
fix(codex): fence concurrent quota updates
2026-08-14 09:28:07 +08:00
elky
f3a12c1008
fix(ai): preserve Codex image edit validation
2026-08-13 11:31:17 +08:00
elky
ca35e09eaa
Merge pull request #718 from zjm54321/fix/custom-image-edit-json
2026-08-13 11:00:15 +08:00
elky
8cf381b0c3
feat(codex): add OAuth fingerprint convergence
2026-08-13 09:57:17 +08:00
elky
654c4f6978
fix(auth): preserve turnstile while typing email
2026-08-12 16:56:18 +08:00
elky
edb8362adc
fix(provider): omit default model test temperature
2026-08-12 16:56:18 +08:00
elky
29fa4aed19
perf(gateway): raise default server pool floor
2026-08-12 16:56:18 +08:00
elky
0318808db9
fix(providers): allow transfer limits on creation
2026-07-31 13:35:08 +08:00
elky
06f5d3c8c0
fix(gateway): complete worker registration cleanup
2026-07-31 11:32:07 +08:00
elky
082407fa51
Merge PR #697 : prevent duplicate worker registrations
2026-07-31 11:11:14 +08:00
fawney19
6688ee26db
Merge pull request #702 from MMEXA/fix/reconcile-auth-channel-mismatch-formats
...
fix(gateway): 修复批量更新 API 格式时的认证通道状态冲突
2026-07-31 10:28:37 +08:00
elky
beb003b7ad
feat(models): add external catalog proxy selection
2026-07-31 09:32:25 +08:00
elky
20399b004d
Merge PR #700 : fix admin pool batch update body buffering
...
Preserve main's failover and usage metadata fixes, restore default tunnel regression coverage, and satisfy current Clippy.
2026-07-30 17:56:37 +08:00
elky
050eb77508
fix(ai): harden responses replay and failure diagnostics
2026-07-30 17:19:54 +08:00
elky
1ab4f079c9
fix(gateway): restore failover and usage diagnostics
2026-07-30 09:12:11 +08:00
elky
a04673a90d
feat(gateway): harden failover and payload handling
...
Retry pre-response transport failures across candidates with an explicit stop policy, and propagate end-to-end timing into usage records and UI diagnostics.
Remove legacy body, import, cookie, PII, and tunnel replay caps while preserving optional operator-configured gateway limits.
2026-07-30 01:03:27 +08:00
elky
4148ab1931
fix(routing): harden routed pool scheduling
2026-07-27 22:06:28 +08:00
elky
550cc36760
feat(providers): expand OAuth account management
...
Add Claude Code manual and cookie authorization, including redacted batch tasks. Harden OAuth imports, duplicate replacement, provider dialogs, and related account-management tests.
2026-07-27 15:53:28 +08:00
elky
531cf11025
feat(gateway): harden provider request execution
...
Preserve exact request payloads and model client surface and API operation explicitly.
Add Anthropic compatibility profiles, bounded stream commitment, and scoped OAuth retry behavior across provider transports.
2026-07-27 09:36:31 +08:00
elky
79b70f7b5c
fix(frontend): align sidebar collapse button
2026-07-26 15:07:51 +08:00
elky
10d369f59c
feat(providers): add provider transfer limits
2026-07-26 15:06:56 +08:00