Releases: steipete/oracle
Releases · steipete/oracle
0.9.0
Changed
- OpenAI: switch the default Pro target from
gpt-5.2-protogpt-5.4-pro, add explicitgpt-5.4support, rollgpt-5.1-proandgpt-5.2-proforward togpt-5.4-pro, keep provider-qualified custom ids intact, and map browser default Pro selection to ChatGPTGPT-5.4 Pro(#107, thanks @jameskraus).
Fixed
- Gemini web: add Deep Think DOM automation for browser/manual-login runs, keep Deep Think browser-only, and honor configured browser timeouts/profile reuse semantics. (#97) — thanks @kanlanc.
- Browser: leave headful Chrome/profile state running when a Cloudflare anti-bot challenge interrupts browser mode, and record reuse guidance in the saved session metadata. (#111) — thanks @WinnCook.
- Browser: keep manual-login sessions reattachable when Chrome disconnects with the DevTools "Inspected target navigated or closed" error. (#110) — thanks @WinnCook.
- Gemini API: add explicit
gemini-3.1-proalias support, map it to Google's preview model id, and keep it API-only so browser runs do not silently target the wrong Gemini web model. (#100, #101) — thanks @ninjaa. - API: route Gemini and Claude through chat/completions-compatible proxies when
--base-urltargets OpenRouter or another OpenAI-style endpoint, and keep explicit Claude base URLs from being overwritten by env defaults. (#95) — thanks @thesobercoder. - Azure: route Responses API runs through Azure's
/openai/v1endpoint and honor--azure-deploymentas the dispatched model name. (#92) — thanks @yellowgolfball. - CLI: make the per-file
--filesize guard configurable viaORACLE_MAX_FILE_SIZE_BYTESormaxFileSizeBytesin~/.oracle/config.json, and persist that limit for restarts. (#76) - CLI: scope
--followupto the OpenAI/Azure Responses path so Gemini, Claude, and custom--base-urladapters fail fast instead of silently starting a fresh run. (#105) — thanks @cheulyop. - Gemini web: include upload MIME metadata so image attachments keep working for image analysis, with regression coverage for image and non-image payloads. (#104) — thanks @DK625.
- Gemini web: include Chrome/sweet-cookie warnings in missing-cookie failures so app-bound-cookie and SQLite/BigInt extraction problems surface actionable diagnostics instead of a generic auth-cookie error.
- MCP: let
consultinherit browser defaults from~/.oracle/config.jsonwhile still honoring explicit tool-call overrides. (#109) — thanks @doodaaatimmy-creator. - Dependencies: bump
@steipete/sweet-cookieto0.2.0, picking up the Node 22 Chrome-cookie read fix that castsexpires_utcsafely instead of tripping the SQLite BigInt overflow path.
0.8.6
Added
- Sessions: add
oracle restart <id>to re-run a stored session as a new session (clones options) (#84, thanks @enki). - Browser: optional periodic auto-reattach attempts after assistant timeouts (
--browser-auto-reattach-delay/--browser-auto-reattach-interval/--browser-auto-reattach-timeout). Original PR #87 by Felix Huber (@felix-huber) — thank you!
Fixed
- Browser: fix memory leaks in browser mode and model resolver cache (#77, thanks @bindscha).
- Browser: fix markdown fallback extractor TDZ crash in browser mode (#90, thanks @julianknutsen).
- CLI: honor
--no-waitfor Commander--no-flags (fixes restart wait preference) (#91).
Changed
- Deps: update dependencies.
0.8.5
Added
- Bridge: add the bridge workflow + MCP browser controls for remote ChatGPT sessions. Original PR #42 by Kyle McCleary (@kmccleary3301) — thank you!
- CLI: add
--background/--no-background,--http-timeout,--zombie-timeout, and--zombie-last-activityto support long-running API sessions.
Fixed
- CLI: restore legacy
--[no-]notify,--[no-]notify-sound, and--[no-]backgroundflags as hidden aliases (Commander no longer accepts[no-]innew Option()). - Sessions: zombie detection now respects explicit timeouts and can optionally use last log activity to avoid false “zombie” status on long runs.
- Browser: fall back to the default DevTools target if an isolated tab fails, and keep the run tab open when
--keep-browseris set. - Browser: refresh long assistant responses without clobbering captured Markdown.
Changed
- Config: remove legacy
remote.host/remote.tokenand top-levelremoteHost/remoteToken; usebrowser.remoteHost/browser.remoteTokenor env vars.
0.8.4
Changed
- Deps: update zod to
4.3.5. - Deps: add
qsas a direct dependency (avoids Dependabot pnpm transitive-update failures).
Fixed
- Browser: fix attachment uploads in the current ChatGPT composer (avoid duplicate uploads; avoid image-only inputs for non-image files). Original PR #60 by Alex Naidis (@TheCrazyLex) — thank you!
0.8.3
Added
- Config: allow
browser.forceEnglishLocaleto opt into--lang/--accept-langfor browser runs. - Browser: add
--browser-cookie-wait/browser.cookieSyncWaitMsto wait once and retry cookie sync. Original PR #55 by bheemreddy-samsara — thank you!
Fixed
- Browser: avoid stray attachment removal clicks while still detecting stale chips, and allow completed uploads even if send stays disabled. Original PR #56 by Alex Naidis (@TheCrazyLex) — thank you!
- Browser: dismiss blocking modals when a custom ChatGPT project URL is missing, and harden attachment uploads (force input/change events; retry via DataTransfer; treat “file selected” as insufficient unless the composer shows attachment UI).
- Browser: prefer a trusted (CDP) click on the composer “+” button so attachment uploads work even when ChatGPT ignores synthetic clicks.
0.8.1
Added
- Config: allow
browser.thinkingTime,browser.manualLogin, andbrowser.manualLoginProfileDirdefaults in~/.oracle/config.json.
Fixed
- Browser: thinking-time chip selection now recognizes "Pro" labeled composer pills. Original PR #54 by Alex Naidis (@TheCrazyLex) — thank you!
- CLI: disable OSC progress output when running under Codex (
CODEX_MANAGED_BY_NPM=1) to avoid spinner noise.
Tests
- Stabilize OSC progress detection tests when
CODEX_MANAGED_BY_NPM=1is set.
0.8.0
Highlights
- Browser reliability push: stronger reattach, response capture, and attachment uploads (fewer prompt-echoes, truncations, and duplicate uploads).
- Cookie stack revamp via Sweet Cookie (no native addons) with better inline-cookie handling; Gemini web now works on Windows and honors
--browser-cookie-path. - New
--browser-model-strategyflag to control ChatGPT model selection (select/current/ignore) in browser mode. Original PR #49 by @djangonavarro220 — thank you!
Improvements
- Browser reattach now preserves
/c/conversation URLs and project URL prefixes, validates conversation ids, and recovers from mid-run disconnects or capture failures. - Response capture is more stable: wider selectors, assistant-only copy-turn capture, prompt-echo avoidance, and stop-button/clipboard stability checks.
- Attachment uploads are idempotent and count-aware (composer + chips + file inputs), with explicit completion waits and stale-input cleanup.
- Login flow adds richer diagnostics, auto-accepts the “Welcome back” picker, and always logs the active ChatGPT URL.
- Cookie handling prefers live Chrome over legacy
~/.oracle/cookies.json; Gemini web can use inline cookies when sync is disabled.
Fixes
- CLI: stream Markdown via Markdansi’s block renderer and guard the live renderer for non‑TTY edge cases.
- Tests: stabilize browser live tests (serialization + project URL fallback) and add response-observer assertions; browser smoke runs are faster.
0.7.6
Changed
- CLI: compact finish line summary across API, browser, and session views.
- CLI: token counts now render as
↑in ↓out ↻reasoning Δtotal.
Fixed
- CLI/Browser: ignore duplicate
--fileinputs (log once) and improve attachment presence detection so re-runs don’t spam “already attached” upload errors. - Browser: harden session reattach (better conversation targeting, longer prompt-commit wait, avoid closing shared DevTools targets).
- Live tests: add coverage + retries for browser reattach/model selection; tolerate transient OpenRouter free-tier failures.
0.7.5
0.7.4
Changed
- Browser: add
--browser-thinking-time <light|standard|extended|heavy>to select thinking-time intensity in ChatGPT.
Fixed
- Browser: throttle attachment upload pokes and pace multi-file uploads to avoid duplicate “already attached” warnings.
- Browser: correct GPT-5.2 variant selection (Auto/Thinking/Instant/Pro) with stricter matching and improved testid scoring; thinking-time selection now supports multiple levels. Original PR #45 by Manish Malhotra (@manmal) — thank you!
- Browser: only reload stalled conversations after an assistant-response failure (and only once), instead of always refreshing after submit.