Peter Steinberger
dda07c245f
fix: document element IDs as opaque ( #202 )
macOS CI / PeekabooCore build & tests (push) Has been cancelled
Website (GitHub Pages) / build (push) Has been cancelled
macOS CI / Peekaboo CLI build & tests (push) Has been cancelled
macOS CI / Tachikoma build & tests (push) Has been cancelled
macOS CI / Build macOS apps (Peekaboo + Inspector) (push) Has been cancelled
macOS CI / SwiftLint (core + CLI) (push) Has been cancelled
Website (GitHub Pages) / deploy (push) Has been cancelled
2026-06-24 09:11:52 +01:00
Peter Steinberger
4085f18ddc
fix(cli): keep implicit see screenshots private ( #200 )
macOS CI / PeekabooCore build & tests (push) Waiting to run
macOS CI / Peekaboo CLI build & tests (push) Blocked by required conditions
macOS CI / Tachikoma build & tests (push) Blocked by required conditions
macOS CI / Build macOS apps (Peekaboo + Inspector) (push) Blocked by required conditions
macOS CI / SwiftLint (core + CLI) (push) Blocked by required conditions
Website (GitHub Pages) / build (push) Waiting to run
Website (GitHub Pages) / deploy (push) Blocked by required conditions
2026-06-24 00:58:16 +01:00
Sebastien Tardif
db5192bb37
fix(capture): honor stop during watch transient backoff ( #193 )
...
* fix(capture): honor stop during watch transient backoff
* test(capture): tighten transient stop proof and add proof script
* test(capture): tighten transient stop regression
* chore: complete main merge
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-06-24 00:09:05 +01:00
Peter Steinberger
f22e46cc1a
chore(release): prepare 3.5.3
2026-06-13 22:30:12 -07:00
Peter Steinberger
4f2b0e9cb4
fix: harden background computer automation
2026-06-13 21:44:58 -07:00
Peter Steinberger
8cf0796692
Fix clicks on hidden menu extras ( #188 )
...
macOS CI / PeekabooCore build & tests (push) Waiting to run
macOS CI / Peekaboo CLI build & tests (push) Blocked by required conditions
macOS CI / Tachikoma build & tests (push) Blocked by required conditions
macOS CI / Build macOS apps (Peekaboo + Inspector) (push) Blocked by required conditions
macOS CI / SwiftLint (core + CLI) (push) Blocked by required conditions
Website (GitHub Pages) / build (push) Has been cancelled
Website (GitHub Pages) / deploy (push) Has been cancelled
* fix: reject hidden menu extras
* docs: note hidden menu extra safety
2026-06-13 02:59:25 -07:00
Peter Steinberger
1fa8eead7e
chore(release): prepare 3.5.2
2026-06-13 01:15:58 -07:00
Peter Steinberger
aabea1550e
fix(type): remove default keystroke delay
2026-06-13 02:20:30 -04:00
Peter Steinberger
1c6273c017
fix(type): default to fast linear typing
2026-06-13 02:17:10 -04:00
Peter Steinberger
6a932d0004
chore(release): prepare 3.5.1
2026-06-12 20:51:04 -07:00
Peter Steinberger
ee3f90c404
fix(cli): enforce suspended observation deadlines
2026-06-12 15:23:45 -07:00
Peter Steinberger
e183cd15fb
chore(release): prepare 3.5.0
2026-06-12 00:45:49 -07:00
Peter Steinberger
d50472e5a3
fix(bridge): enforce exclusive socket ownership ( #187 )
...
Give Bridge listeners exclusive lease-backed socket ownership, bound transport and shutdown drains, isolate reusable daemon hosting, preserve healthy Peekaboo.app fallback, and safely migrate legacy daemons.
Fixes #184 .
2026-06-12 00:17:34 -07:00
Vishal Jain
b873daf790
fix(capture): avoid false-success screen captures ( #185 )
...
macOS CI / PeekabooCore build & tests (push) Waiting to run
macOS CI / Peekaboo CLI build & tests (push) Blocked by required conditions
macOS CI / Tachikoma build & tests (push) Blocked by required conditions
macOS CI / Build macOS apps (Peekaboo + Inspector) (push) Blocked by required conditions
macOS CI / SwiftLint (core + CLI) (push) Blocked by required conditions
Website (GitHub Pages) / build (push) Waiting to run
Website (GitHub Pages) / deploy (push) Blocked by required conditions
* fix(capture): avoid false-success screen captures
* fix(capture): fail closed when screen capture fallback is unsafe
* fix(capture): translate screencapture display regions
* fix(capture): harden legacy screen capture
* fix(cli): keep screen permission requests local
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-06-11 19:24:39 -07:00
Peter Steinberger
e4cd616e19
chore(release): prepare 3.4.2
2026-06-11 18:01:03 -07:00
Peter Steinberger
e44486ff16
feat: add Claude Fable 5 support ( #186 )
2026-06-11 17:59:43 -07:00
Peter Steinberger
689013808f
chore(release): prepare 3.4.1
2026-06-10 05:00:23 +01:00
Peter Steinberger
660e6f35c9
test: clear release gate warnings
2026-06-10 05:00:23 +01:00
Peter Steinberger
e75db3a7aa
fix(agent): support latest provider models
...
macOS CI / PeekabooCore build & tests (push) Has been cancelled
Website (GitHub Pages) / build (push) Has been cancelled
macOS CI / Peekaboo CLI build & tests (push) Has been cancelled
macOS CI / Tachikoma build & tests (push) Has been cancelled
macOS CI / Build macOS apps (Peekaboo + Inspector) (push) Has been cancelled
macOS CI / SwiftLint (core + CLI) (push) Has been cancelled
Website (GitHub Pages) / deploy (push) Has been cancelled
Co-authored-by: Ulrich Diedrichsen <uli@moinsen.dev>
2026-06-09 01:23:32 +01:00
Peter Steinberger
613f0435a8
chore(release): prepare 3.4.0
2026-06-07 07:40:24 +01:00
Peter Steinberger
7e61018019
feat(cli): expose MCP wrappers and capture action
2026-06-07 07:35:00 +01:00
Peter Steinberger
3608d9c782
feat(mcp): expose capture tool
2026-06-07 05:46:39 +01:00
Coy Geek
01d10db9b0
fix(clipboard): validate alternate text payloads ( #180 )
...
* fix(clipboard): validate alternate text payloads
* docs: clarify clipboard size guard accounting
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-06-06 17:42:04 -07:00
Coy Geek
0e05e3acf5
fix(process): preserve generic interaction aliases ( #179 )
...
* fix(process): preserve generic interaction aliases
* fix(automation): preserve generic menu paths
2026-06-06 16:20:32 -07:00
Coy Geek
11baff0b59
fix(scroll): report unsupported targetless action scroll ( #178 )
2026-06-06 16:19:57 -07:00
Peter Steinberger
6feffe58b1
chore(release): prepare 3.3.0
2026-06-01 00:08:26 +01:00
Peter Steinberger
6609a43415
fix(cli): improve background text input
2026-05-31 18:16:53 -04:00
Peter Steinberger
619a033f89
fix(cli): harden background text input
2026-05-31 17:16:25 -04:00
Peter Steinberger
122c96da0b
feat(cli): use background keyboard delivery by default
2026-05-31 16:24:09 -04:00
Peter Steinberger
abb4e87a50
fix(cli): default clicks to background delivery ( #168 )
2026-05-31 20:24:18 +01:00
Peter Steinberger
86f541184f
feat(agent): add MiniMax China provider support ( #162 )
macOS CI / PeekabooCore build & tests (push) Waiting to run
macOS CI / Peekaboo CLI build & tests (push) Blocked by required conditions
macOS CI / Tachikoma build & tests (push) Blocked by required conditions
macOS CI / Build macOS apps (Peekaboo + Inspector) (push) Blocked by required conditions
macOS CI / SwiftLint (core + CLI) (push) Blocked by required conditions
Website (GitHub Pages) / build (push) Has been cancelled
Website (GitHub Pages) / deploy (push) Has been cancelled
2026-05-25 11:05:05 +01:00
Peter Steinberger
3078d65b8d
chore(release): prepare 3.2.3
2026-05-24 04:41:14 +01:00
Peter Steinberger
e2e04e2eb6
fix: improve cli capture ergonomics ( #159 )
2026-05-24 03:04:41 +01:00
Peter Steinberger
43ed861725
chore(release): prepare 3.2.2
2026-05-22 14:28:56 +01:00
Peter Steinberger
1fd0dc6f51
fix: remove GameBridge release warning
2026-05-22 14:28:55 +01:00
Daniel Nylander
2edeee0b33
feat: add GameBridge detection for SDL game windows
...
Adds a narrow GameBridge manifest path for Firestaff SDL/GPU-rendered windows and hooks it into element detection before AX traversal. Includes freshness gating, window-bounds fallback, manifest-root injection for tests, static text grouping coverage, and changelog entry thanking @yeager.
Proof:
- pnpm run lint
- pnpm run test:safe
- swift test --package-path Apps/CLI --no-parallel --filter GameBridgeDetectionTests
- git diff --check
- live Firestaff fresh/stale manifest verification
- macOS CI run 26289370641: Core, CLI, Tachikoma, app builds, SwiftLint all green
Co-authored-by: Daniel Nylander <daniel@danielnylander.se>
2026-05-22 14:23:02 +01:00
Peter Steinberger
a9725f89e6
feat(agent): add OpenRouter provider support
...
macOS CI / PeekabooCore build & tests (push) Has been cancelled
Website (GitHub Pages) / build (push) Has been cancelled
macOS CI / Peekaboo CLI build & tests (push) Has been cancelled
macOS CI / Tachikoma build & tests (push) Has been cancelled
macOS CI / Build macOS apps (Peekaboo + Inspector) (push) Has been cancelled
macOS CI / SwiftLint (core + CLI) (push) Has been cancelled
Website (GitHub Pages) / deploy (push) Has been cancelled
Add OpenRouter provider support to Tachikoma and Peekaboo agent selection and CLI configuration.
- support OPENROUTER_API_KEY env/credential auth and openrouter/<provider>/<model> IDs
- add config status validation/JSON output and docs/changelog
- retain contributor credit from #155
Co-authored-by: Delor Tshimanga <tshimangadelor1@gmail.com>
2026-05-20 04:03:56 +01:00
Crux0453
fe6548a5d8
fix(agent): treat OAuth access tokens as Bearer auth not API keys ( #154 )
...
* fix(agent): treat OAuth access tokens as Bearer auth not API keys
* test(agent): isolate OAuth credential env
* test(agent): restore OAuth test env
* fix(agent): preserve OpenAI OAuth for audio
* fix(agent): keep OAuth availability gates
* fix(agent): align OAuth credential store with config dir
* chore: update Tachikoma OAuth profile fix
* chore: update Tachikoma absolute profile fix
---------
Co-authored-by: Crux0453 <262608929+Crux0453@users.noreply.github.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-05-20 03:12:11 +01:00
Peter Steinberger
9cd7771b43
refactor(detection): satisfy release lint gate
2026-05-18 09:47:02 +01:00
Peter Steinberger
75e2884e01
chore(release): prepare 3.2.1
2026-05-18 09:44:54 +01:00
Peter Steinberger
eba271eaff
fix(cli): resolve targeted click coordinates ( #153 )
2026-05-18 09:37:02 +01:00
Andrew Widdowson
6ce071077a
feat(detection): expose AX traversal budget controls
...
Expose configurable AX traversal budgets across CLI, MCP, and environment defaults.
2026-05-18 07:52:03 +01:00
Peter Steinberger
d211a760fd
feat(agent): wire per-turn context and action verification
macOS CI / PeekabooCore build & tests (push) Waiting to run
macOS CI / Peekaboo CLI build & tests (push) Blocked by required conditions
macOS CI / Tachikoma build & tests (push) Blocked by required conditions
macOS CI / Build macOS apps (Peekaboo + Inspector) (push) Blocked by required conditions
macOS CI / SwiftLint (core + CLI) (push) Blocked by required conditions
Website (GitHub Pages) / build (push) Waiting to run
Website (GitHub Pages) / deploy (push) Blocked by required conditions
2026-05-17 13:38:03 +01:00
Peter Steinberger
9bd822faf1
fix(config): preserve custom provider credential references
2026-05-17 11:08:52 +01:00
scotthuang
8508be1c77
docs: prefer ${VAR} over {env:VAR} for custom provider apiKey
2026-05-17 11:08:52 +01:00
Peter Steinberger
a0bdd4b1f6
fix(agent): generalize fresh observation metadata
2026-05-17 10:08:26 +01:00
vyctorbrzezowski
36661365e7
fix(agent): align observation guidance with inspect_ui
2026-05-17 10:08:26 +01:00
Peter Steinberger
d232d495eb
fix(capture): harden desktop-independent window sizing
2026-05-17 08:25:35 +01:00
lonexreb
0ad0dd0fb8
fix(capture): fall back to desktop-independent window filter on multi-display Macs
...
When window-mode capture cannot map a window to any enumerated display
(multi-display Mac Mini setups, dormant displays, virtual / DisplayLink
adapters, degenerate SCWindow.frame bounds), the previous code threw
'Window is not on any available display' for every engine.
Replace the bare 'displays.first(where: { $0.frame.intersects(window.frame) })'
gate with a new ScreenCapturePlanner.matchDisplay helper that:
- Prefers the display containing the window's center point.
- Falls back to the display with the largest intersection area.
- Returns .unmapped (with a sensible fallback display for scale / metadata)
rather than failing when the window does not overlap any display.
Callers that get .unmapped now build SCContentFilter(desktopIndependentWindow:)
instead of throwing. The display-bound filter path is preserved for the common
case so iOS Simulator and other GPU-rendered windows keep their reliable path.
Adds ScreenCapturePlannerMatchDisplayTests (16 cases) covering single-display,
multi-display geometries with negative origins, straddling windows, degenerate
window frames, empty display enumeration, and the reporter's exact bounds.
Fixes #143 .
2026-05-17 08:25:35 +01:00
Peter Steinberger
431661100a
fix(agent): refresh inspect ui snapshot metadata
macOS CI / PeekabooCore build & tests (push) Waiting to run
macOS CI / Peekaboo CLI build & tests (push) Blocked by required conditions
macOS CI / Tachikoma build & tests (push) Blocked by required conditions
macOS CI / Build macOS apps (Peekaboo + Inspector) (push) Blocked by required conditions
macOS CI / SwiftLint (core + CLI) (push) Blocked by required conditions
2026-05-16 15:41:52 +01:00