macos

package
v0.173.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 16, 2026 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

EventBridge is pure Go and used cross-platform (floating window on darwin, opentask extension bridge everywhere), so unlike the rest of this package it carries no build tag.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Controller

type Controller struct{}

Controller is a stub implementation for non-macOS platforms

func (*Controller) CaptureScreen

func (c *Controller) CaptureScreen(ctx context.Context, region *display.Region) (image.Image, error)

func (*Controller) CaptureScreenBytes

func (c *Controller) CaptureScreenBytes(ctx context.Context, region *display.Region) ([]byte, error)

func (*Controller) ClickMouse

func (c *Controller) ClickMouse(ctx context.Context, button display.MouseButton, clicks int) error

func (*Controller) Close

func (c *Controller) Close() error

func (*Controller) GetCursorPosition

func (c *Controller) GetCursorPosition(ctx context.Context) (x, y int, err error)

func (*Controller) GetScreenDimensions

func (c *Controller) GetScreenDimensions(ctx context.Context) (width, height int, err error)

func (*Controller) MoveMouse

func (c *Controller) MoveMouse(ctx context.Context, x, y int) error

func (*Controller) ScrollMouse

func (c *Controller) ScrollMouse(ctx context.Context, clicks int, direction string) error

func (*Controller) SendKeyCombo

func (c *Controller) SendKeyCombo(ctx context.Context, combo string) error

func (*Controller) TypeText

func (c *Controller) TypeText(ctx context.Context, text string, delayMs int) error

type EventBridge

type EventBridge struct {
	// contains filtered or unexported fields
}

EventBridge multicasts chat events to multiple subscribers without modifying the existing event flow to the terminal UI.

func NewEventBridge

func NewEventBridge() *EventBridge

NewEventBridge creates a new event bridge with a circular buffer

func (*EventBridge) Close

func (eb *EventBridge) Close()

Close closes all subscriber channels and clears the subscribers list

func (*EventBridge) Publish

func (eb *EventBridge) Publish(event domain.ChatEvent)

Publish broadcasts an event to every subscriber. Delivery is non-blocking so one slow subscriber can never stall the bus for the others.

func (*EventBridge) Subscribe

func (eb *EventBridge) Subscribe() chan domain.ChatEvent

Subscribe registers a subscriber and replays the recent-event ring buffer so backfill-less subscribers (the floating window) catch up on connect.

func (*EventBridge) SubscribeFuture added in v0.173.0

func (eb *EventBridge) SubscribeFuture() chan domain.ChatEvent

SubscribeFuture is Subscribe without the ring-buffer replay, for subscribers that backfill history another way (the extension bridge's conversation snapshot) where a replay would double-render the last turn.

func (*EventBridge) Tap

func (eb *EventBridge) Tap(input <-chan domain.ChatEvent) <-chan domain.ChatEvent

Tap intercepts an event stream and multicasts it to all subscribers Returns a new channel that mirrors the input channel for the terminal UI

func (*EventBridge) Unsubscribe

func (eb *EventBridge) Unsubscribe(ch chan domain.ChatEvent)

Unsubscribe removes a subscriber and closes its channel

type FloatingWindowManager

type FloatingWindowManager struct {
	// contains filtered or unexported fields
}

FloatingWindowManager stub for non-macOS platforms

func NewFloatingWindowManager

func NewFloatingWindowManager(
	cfg *config.Config,
	eventBridge *EventBridge,
	agentService domain.AgentService,
) (*FloatingWindowManager, error)

NewFloatingWindowManager returns a disabled manager on non-macOS platforms

func (*FloatingWindowManager) Shutdown

func (mgr *FloatingWindowManager) Shutdown() error

Shutdown is a no-op on non-macOS platforms

type Provider

type Provider struct{}

Provider is a stub implementation for non-macOS platforms

func NewProvider

func NewProvider() *Provider

func (*Provider) GetController

func (p *Provider) GetController() (display.DisplayController, error)

func (*Provider) GetDisplayInfo

func (p *Provider) GetDisplayInfo() display.DisplayInfo

func (*Provider) IsAvailable

func (p *Provider) IsAvailable() bool

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL