Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
9c5dd67
fix(providers): retire common ChatGPT Web provider
diegosouzapw Aug 27, 2026
761ebbf
chore(changelog): link ChatGPT Web retirement PR
diegosouzapw Aug 27, 2026
f823334
fix(providers): renumber ChatGPT Web migration 163→168, drop unrelate…
hartmark Aug 28, 2026
7c04e75
docs(dedup): correct the CodeQL claim on the tenant-namespace comment…
diegosouzapw Aug 28, 2026
103d0de
chore(assets): prune unused assets with unresolved provenance (#11735)
diegosouzapw Aug 28, 2026
2efe22b
docs(legal): add pinned MIT third-party notices (#11726)
diegosouzapw Aug 28, 2026
e525f1d
docs(assets): retire unproven PicoClaw and Zoo Code rasters (#11736)
diegosouzapw Aug 28, 2026
26a28b0
fix(dashboard): replace unprovenanced notification MP3 (#11731)
diegosouzapw Aug 28, 2026
46b8e7a
fix(video-bridge): preserve fused timeline ordering (#11681)
diegosouzapw Aug 28, 2026
451917f
docs(legal): add pinned provider asset notices (#11737)
diegosouzapw Aug 28, 2026
3f5b08f
fix(providers): correct g4f.space gateway claims (#11738)
diegosouzapw Aug 28, 2026
acb9ba6
chore(quality): gate provider asset provenance (#11743)
diegosouzapw Aug 28, 2026
a818958
fix(sse): retire Gemini Web image generation (#11708)
diegosouzapw Aug 28, 2026
700a735
fix(tests): await async getExecutor() in gemini-web-image-retirement …
diegosouzapw Aug 28, 2026
657d3a4
fix(deepseek-web): replace unlicensed PoW artifacts (#11732)
diegosouzapw Aug 28, 2026
dd8575e
chore(audio): retire EdgeTTS pending provenance review (#11711)
diegosouzapw Aug 28, 2026
890cbfb
fix(sse): retire Microsoft Designer Web runtime (#11720)
diegosouzapw Aug 28, 2026
bb1b011
fix(assets): replace unresolved provider logos with generic icons (#1…
diegosouzapw Aug 28, 2026
84504e3
chore(providers): retire Felo Web on provenance hold (#11698)
diegosouzapw Aug 28, 2026
3026183
refactor(mitm): replace inspector utilities clean-room (#11748)
diegosouzapw Aug 28, 2026
0ad0331
chore(providers): retire GPL-derived Raycast and Hailuo integrations …
diegosouzapw Aug 28, 2026
f48e251
fix(providers): retire Qwen Web pending provenance review (#11713)
diegosouzapw Aug 28, 2026
422047a
merge #11754
hartmark Aug 28, 2026
8004573
fix(quality): correct golden inventory drift, fix host-resolution tes…
hartmark Aug 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
63 changes: 3 additions & 60 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -612,11 +612,9 @@ CLOUD_URL=
# Default: http://localhost:20128
NEXT_PUBLIC_BASE_URL=http://localhost:20128

# Browser-facing OmniRoute origin for generated assets in API responses.
# Highest-priority public origin override; also used by non-dashboard public-origin validation.
# Used by: chatgpt-web image generation cache URLs (/v1/chatgpt-web/image/<id>).
# Set this when OpenWebUI or another relay reaches OmniRoute by an internal URL
# but the user's browser must fetch images from a LAN, tunnel, or public origin.
# Highest-priority OmniRoute public origin override, also used by non-dashboard
# public-origin validation. Set it when external clients reach OmniRoute through
# a stable LAN, tunnel, or public origin that differs from its internal URL.
# Do not include /v1; if included accidentally it will be normalized away.
# OMNIROUTE_PUBLIC_BASE_URL=http://192.168.0.15:20128

Expand All @@ -629,28 +627,6 @@ NEXT_PUBLIC_BASE_URL=http://localhost:20128
# Used by: open-sse/config/providerPluginManifestUrl.ts. Defaults to http.
# OMNIROUTE_PUBLIC_PROTOCOL=http

# Max wait time for an async chatgpt-web image to land via the celsius
# WebSocket, in milliseconds. Default 180000 (3 minutes). Increase during
# upstream queue-deep windows ("Lots of people are creating images right now").
# OMNIROUTE_CGPT_WEB_IMAGE_TIMEOUT_MS=180000

# Total in-memory byte budget for the chatgpt-web image cache (used to serve
# /v1/chatgpt-web/image/<id>), in megabytes. Default 256. Lower this if you
# run OmniRoute on a memory-constrained host; raise it if image generation
# is heavy and clients are racing the 30-minute TTL.
# OMNIROUTE_CGPT_WEB_IMAGE_CACHE_MAX_MB=256

# Overall wait budget for a chatgpt-web GPT-5.5 Pro background-poll handoff,
# in milliseconds. Default 1200000 (20 minutes). Pro reasoning runs are slow
# and complete out-of-band, so OmniRoute polls until the answer lands or this
# budget elapses. Raise it if Pro requests time out before finishing.
# OMNIROUTE_CGPT_WEB_PRO_TIMEOUT_MS=1200000

# Interval between chatgpt-web GPT-5.5 Pro background-poll attempts, in
# milliseconds. Default 4000 (4 seconds). Lower for snappier completion at the
# cost of more upstream polling; raise to reduce request volume.
# OMNIROUTE_CGPT_WEB_PRO_POLL_INTERVAL_MS=4000

# Public cloud URL — client-side mirror of CLOUD_URL.
NEXT_PUBLIC_CLOUD_URL=

Expand Down Expand Up @@ -1256,17 +1232,6 @@ GITHUB_OAUTH_CLIENT_ID=Iv1.b507a08c87ecfe98
# VISION_BRIDGE_BASE_URL=
# VISION_BRIDGE_API_KEY=

# ── Raycast Pro (local auto-import) ──
# Raycast Pro AI is a reverse-engineered, unofficial API — local/personal use
# only (no OAuth client_id/secret; token is captured via macOS Auto-Import
# from the Keychain + local Raycast SQLite DB, or pasted manually). These
# vars are optional manual overrides used by open-sse/services/raycast.ts
# and the direct-probe benchmark script scripts/raycast/usage-benchmark.mjs.
# RAYCAST_BEARER_TOKEN=
# RAYCAST_DEVICE_ID=
# RAYCAST_AID=
# RAYCAST_SIG_SECRET=

# ─────────────────────────────────────────────────────────────────────────────
# ⚠️ GOOGLE OAUTH (Antigravity) & OTHER PROVIDERS — REMOTE SERVERS
# ─────────────────────────────────────────────────────────────────────────────
Expand Down Expand Up @@ -1483,17 +1448,6 @@ CURSOR_USER_AGENT="Cursor/3.4"
# FIRECRAWL_BASE_URL=https://api.firecrawl.dev
# FIRECRAWL_TIMEOUT_MS=30000 # Per-request timeout (default: 30000 = 30s)

# ── ChatGPT TLS sidecar (Firefox-fingerprinted client) ──
# Used by: open-sse/services/chatgptTlsClient.ts — wire-level timeout for
# the bogdanfinn/tls-client koffi binding and the JS-side grace window
# layered on top of it when the native library is wedged.
# OMNIROUTE_CHATGPT_TLS_TIMEOUT_MS=60000
# OMNIROUTE_CHATGPT_TLS_GRACE_MS=10000
# Max wait for the FIRST streamed byte from the ChatGPT TLS sidecar before the
# request is aborted as a dead stream, in milliseconds. Default 30000 (30s).
# Raise it if upstream cold-starts routinely exceed the window.
# OMNIROUTE_CHATGPT_STREAM_FIRST_BYTE_TIMEOUT_MS=30000

# ── Claude TLS sidecar (Chromium-fingerprinted client) ──
# Used by: open-sse/services/claudeTlsClient.ts — wire-level timeout for
# the bogdanfinn/tls-client koffi binding and the JS-side grace window
Expand Down Expand Up @@ -1941,12 +1895,6 @@ APP_LOG_TO_FILE=true
# Base backoff after a transient 408 response (ms); five attempts maximum.
# ADOBE_FIREFLY_SUBMIT_BASE_DELAY_MS=8000

# ── Microsoft Designer Web (Image Generation) ──
# Polling config for the microsoft-designer-web submit-then-poll image job.
# Used by: open-sse/handlers/imageGeneration/providers/designerWeb.ts
# DESIGNER_WEB_POLL_TIMEOUT_MS=60000 # Max wait for job completion (default: 60s)
# DESIGNER_WEB_POLL_INTERVAL_MS=2000 # Poll frequency (default: 2s)

# ── Adobe Firefly (Image Upscale) ──
# Base delay (ms) for the submit-retry exponential backoff when Adobe Firefly's
# upscale job submission is rate-limited. Used by:
Expand Down Expand Up @@ -2566,11 +2514,6 @@ APP_LOG_TO_FILE=true
# Used by: src/lib/jobs/backupScheduleJob.ts
# OMNIROUTE_BACKUP_SCHEDULE_JOB_INTERVAL_MS=30000

# ── TLS sidecar override ──
# Used by: open-sse/services/chatgptTlsClient.ts tests. Production deployments
# should leave this unset; the sidecar is auto-managed.
# OMNIROUTE_TLS_PROXY_URL=

# ── Skills sandbox (experimental) ──
# Used by: src/lib/skills/builtins.ts. All values support comma lists where
# noted in the source.
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ jobs:
steps:
- uses: actions/checkout@v7
with:
fetch-depth: 0
persist-credentials: false
- uses: actions/setup-node@v7
with:
Expand Down Expand Up @@ -127,6 +128,7 @@ jobs:
- run: npm run check:any-budget:t11
- run: npm run check:provider-consistency
- run: npm run check:model-lifecycle
- run: npm run check:provider-asset-provenance
- run: npm run check:fetch-targets
- run: npm run check:deps
- run: npm run check:file-size
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/quality.yml
Original file line number Diff line number Diff line change
Expand Up @@ -269,7 +269,7 @@ jobs:
run: |
set -uo pipefail
gates=(
provider-consistency fetch-targets deps file-size error-helper
provider-consistency provider-asset-provenance fetch-targets deps file-size error-helper
migration-numbering public-creds db-rules known-symbols
route-guard-membership test-discovery test-runner-api
mutation-test-coverage any-budget:t11 build-scope pack-policy
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ RUN test -f package-lock.json \
# instead of `npx --yes`, which would install an arbitrary registry version
# on-demand and run its lifecycle scripts (Sonar docker:S6505).
#
# tls-client-node (chatgpt-web/claude-web/grok-web/lmarena/perplexity-web TLS
# tls-client-node (claude-web/grok-web/lmarena/perplexity-web TLS
# impersonation) hits the same --ignore-scripts wall: its own postinstall.js
# fetches a platform .so/.dylib/.dll from the bogdanfinn/tls-client GitHub
# Releases API and is never invoked when npm ci skips lifecycle scripts. Unlike
Expand Down
Loading
Loading