C+
Packages · View as Markdown

agent_core

The framework-agnostic authorization brain for agent-controllable apps. It holds the rules for what an external agent may see and do, and knows nothing about any UI framework — a GUI backend like agent_appkit binds it to real widgets, and agent_mcp carries it over the wire. For the whole picture see Agent surface.

What it provides:

  • A build-time-stable agent-id tree — exposed nodes carry stable ids, so an agent can refer to the same element across snapshots.
  • Curated describe — the app chooses exactly which nodes are visible; the description is a deliberate surface, not a dump of the whole UI.
  • The consent gate — an all-or-none AuthGate, an exposure model, and an affordance ceiling that bounds what an exposed node can ever permit, so access cannot escalate past what the app intended.
  • Bubbling events — changes propagate as events an agent subscribes to by {node, verb, role}.
  • Authorized actions and text ops — every action and text edit is checked, and text edits use optimistic-concurrency versioning so a stale write is rejected rather than overwriting a newer value.

It is headless and fully tested, which is what lets the GUI backend and the MCP bridge stay thin.