Expand description
§Extro Core
Pure Rust domain logic for the Extro browser extension framework.
This crate provides the state machine, command dispatch, browser effects, and AI tool registry that form the deterministic “brain” of every Extro extension.
Key principle: The model proposes; Rust decides.
§Architecture
User Action → Content Script → Background → CoreState::dispatch() → BrowserEffectsJavaScript never contains domain logic. It captures browser state, sends it here, and executes the returned effects.
Structs§
- AITool
Call - A tool call proposed by an AI model.
- Browser
Snapshot - A snapshot of the current browser state at the moment a command is issued.
- Core
Command - A command sent from JavaScript to the Rust core.
- Core
Result - The result of processing a
CoreCommand. - Core
State - The central state machine for an Extro extension.
- Tool
Definition - A tool that AI models are allowed to invoke.
- Tool
Registry - Registry of allowed AI tools with validation.
Enums§
- Browser
Effect - Side effects that the Rust core requests the JavaScript runtime to execute.
- Core
Action - Actions that can be dispatched to the core state machine.
- Core
Error - Errors that can occur during core operations.
- Runtime
Surface - Identifies which browser extension surface originated a command.