Skip to content

Releases: steipete/oracle

0.9.0

08 Mar 02:47

Choose a tag to compare

Changed

  • OpenAI: switch the default Pro target from gpt-5.2-pro to gpt-5.4-pro, add explicit gpt-5.4 support, roll gpt-5.1-pro and gpt-5.2-pro forward to gpt-5.4-pro, keep provider-qualified custom ids intact, and map browser default Pro selection to ChatGPT GPT-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-pro alias 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-url targets 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/v1 endpoint and honor --azure-deployment as the dispatched model name. (#92) — thanks @yellowgolfball.
  • CLI: make the per-file --file size guard configurable via ORACLE_MAX_FILE_SIZE_BYTES or maxFileSizeBytes in ~/.oracle/config.json, and persist that limit for restarts. (#76)
  • CLI: scope --followup to the OpenAI/Azure Responses path so Gemini, Claude, and custom --base-url adapters 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 consult inherit browser defaults from ~/.oracle/config.json while still honoring explicit tool-call overrides. (#109) — thanks @doodaaatimmy-creator.
  • Dependencies: bump @steipete/sweet-cookie to 0.2.0, picking up the Node 22 Chrome-cookie read fix that casts expires_utc safely instead of tripping the SQLite BigInt overflow path.

0.8.6

09 Feb 18:03

Choose a tag to compare

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-wait for Commander --no- flags (fixes restart wait preference) (#91).

Changed

  • Deps: update dependencies.

0.8.5

19 Jan 04:29

Choose a tag to compare

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-activity to support long-running API sessions.

Fixed

  • CLI: restore legacy --[no-]notify, --[no-]notify-sound, and --[no-]background flags as hidden aliases (Commander no longer accepts [no-] in new 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-browser is set.
  • Browser: refresh long assistant responses without clobbering captured Markdown.

Changed

  • Config: remove legacy remote.host/remote.token and top-level remoteHost/remoteToken; use browser.remoteHost/browser.remoteToken or env vars.

0.8.4

05 Jan 00:25

Choose a tag to compare

Changed

  • Deps: update zod to 4.3.5.
  • Deps: add qs as 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

31 Dec 19:43

Choose a tag to compare

Added

  • Config: allow browser.forceEnglishLocale to opt into --lang/--accept-lang for browser runs.
  • Browser: add --browser-cookie-wait / browser.cookieSyncWaitMs to 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

30 Dec 02:42

Choose a tag to compare

Added

  • Config: allow browser.thinkingTime, browser.manualLogin, and browser.manualLoginProfileDir defaults 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=1 is set.

0.8.0

28 Dec 03:03

Choose a tag to compare

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-strategy flag 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

25 Dec 14:37

Choose a tag to compare

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 --file inputs (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

23 Dec 19:56

Choose a tag to compare

Fixed

  • Packaging: switch tokentally to npm release so Homebrew installs don't trigger git prepare builds.

0.7.4

23 Dec 13:58

Choose a tag to compare

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.