Releases: steipete/oracle
Releases · steipete/oracle
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.
0.7.3
- Changed: API: streaming answers in a rich TTY now use Markdansi’s live renderer (
createLiveRenderer) so we can stream and render Markdown in-place. - Changed: Dependencies: update
markdansito 0.1.5. - Changed: Dependencies: update
devtools-protocolto 0.0.1561482. - Fixed: Browser: prevent
chrome-launcherfrom auto-killing Chrome on SIGINT so reattach sessions survive Ctrl+C. - Fixed: Sessions: running browser sessions now mark as errored when the Chrome PID/port are no longer reachable.
- Fixed: Browser: reattach now recovers even if Chrome was closed by reopening, locating the conversation in the sidebar, and resuming the response.
0.7.2
Fixed
- Browser: stop auto-clicking the “Answer now” gate; wait for the full Pro-thinking response instead of skipping it.
- Browser: reject
?temporary-chat=trueURLs when targeting Pro models (Pro picker entries are not available in Temporary Chat); error message now calls this out explicitly. - Browser: attachment uploads re-trigger the file-input change event until ChatGPT renders the attachment card (avoids hydration races); verify attachments are present on the sent user message before waiting for the assistant.
- Live tests: make the
gpt-5.2-instantOpenAI smoke test resilient to transient API stalls/errors.
0.7.1
Changed
- API: default model is now
gpt-5.2-pro(and “Pro” label inference prefers GPT‑5.2 Pro). - Tests: updated fixtures/defaults to use
gpt-5.2-proinstead ofgpt-5.1-pro. - API: clarify
gpt-5.1-proas a stable alias that targetsgpt-5.2-pro. - Dependencies: refresh (notably
zod4.2.1 anddevtools-protocol0.0.1559729). - Browser: browser engine GPT selection now supports ChatGPT 5.2 (
gpt-5.2) and ChatGPT 5.2 Pro (gpt-5.2-pro); legacy labels likegpt-5.1normalize to 5.2, and “Pro” always resolves to 5.2 Pro (ignores Legacy GPT‑5.1 Pro submenu) with a top-bar label confirmation.
Fixed
- Browser: prompt commit verification handles markdown code fences better; prompt-echo recovery is more robust (including remote browser mode); multi-file uploads are less flaky (dynamic timeouts + better filename matching). Original PR #41 by Muly Oved (@mulyoved) — thank you!
- Browser: adapt to ChatGPT DOM changes (
data-turn=assistant|user) and “Answer now” gating in Pro thinking so we don’t capture placeholders/truncate answers. - Gemini web: add abortable timeouts + retries for cookie-based runs so live tests are less likely to hang on transient Gemini web responses.
0.7.0
Added
- Browser: Gemini browser mode via direct Gemini web client (uses Chrome cookies; no API key required; runs fully in Node/TypeScript — no Python/venv). Includes
--youtube,--generate-image,--edit-image,--output,--aspect, and--gemini-show-thoughts. Original PR #39 by Nico Bailon (@nicobailon) — thank you! - Browser: media files passed via
--file(images/video/audio/PDF) are treated as upload attachments instead of being inlined into the prompt (enables Gemini file analysis). - Browser: Gemini image ops follow
gg-dlredirects while preserving cookies, so--generate-image/--edit-imageactually create output files. - Browser: Gemini web runs support “Pro” auto-fallback when unavailable and include compatibility init for Gemini web token changes.
- Live tests: add opt-in Gemini web smoke coverage for image generation/editing (cookie-based browser mode).
Changed
- Browser guard now allows Gemini models (browser engine supports GPT + Gemini; other models require
--engine api).
0.6.1
Changed
- Browser: default model target now prefers ChatGPT 5.2. Original PR #40 by Muly Oved (@mulyoved) — thank you!
- Browser: remove the “browser fallback” API retry suggestion to avoid accidental billable reruns. Idea from PR #38 by Nico Bailon (@nicobailon) — thank you!
Fixed
- Browser: manual-login runs now reuse an already-running Chrome more reliably (persist DevTools port in the profile; probe with retries; clean up stale port state). Original PR #40 by Muly Oved (@mulyoved) — thank you!
- Browser: response capture is less likely to truncate by mistaking earlier turns as complete; completion detection is scoped to the last assistant turn and requires brief stability before capture. Original PR #40 by Muly Oved (@mulyoved) — thank you!
- Browser: stale profile cleanup avoids deleting lock files when an active Chrome process is using the profile.
0.6.0
Added
- GPT-5.2 model support (
gpt-5.2Thinking,gpt-5.2-instant,gpt-5.2-pro) plus browser--browser-extended-thinkingautomation. Original PR #37 by Nico Bailon (@nicobailon) — thank you!
Changed
- API:
gpt-5.1-pronow targetsgpt-5.2-proinstead of older Pro fallbacks. - Browser: “Thinking time → Extended” selection now reuses centralized menu selectors, normalizes text matching, and ships a best-effort helper for future “auto” mode. Original PR #36 by Victor Vannara (@voctory) — thank you!
- Browser: new
--browser-attachments <auto|never|always>(defaultauto) pastes file contents inline up to ~60k characters, then switches to uploads; if ChatGPT rejects an inline paste as too large, Oracle retries automatically with uploads.- Note: the ~60k threshold is based on pasted characters in the ChatGPT composer (not token estimates); on rejection we log the retry and switch to uploads automatically.
0.5.6
Changed
- Browser uploads: after
setFileInputFileswe now log the chips + file-input contents and only mark success when the real file input contains the uploaded filename; the generic “Files” pill is no longer treated as proof of attachment. - Inline prompt commit: verification now matches on a normalized prefix and logs the last user turn + counts when commit fails, reducing false negatives for inline/file-paste runs.
Fixed
- Inline fallback (pasting file contents) now reliably submits and captures the user turn; headful smoke confirms the marker text is echoed back.
(Re-release of 0.5.5)