Expand description
Agent-proposed commands and actions — the propose tool’s shared model.
An agent that needs the user to run something calls propose; murmur shows
it as a chip above the composer. Two families:
- insert-only (
shell,slash):Tabputs the text into an empty composer; the user reviews and sends it. Never sent by a single key. - executable (
restart):Enteron an empty, idle composer runs it.
vet is the one gate. The runtime calls it inside the tool’s execute
(a rejection goes back to the model as a tool error) and murmur calls it on
the streamed args (so an arg the runtime would reject is never rendered).
It is pure — same input, same verdict on both sides.
It lives here because mur-agent-runtime must not depend on mur-core,
and both of them need the type. No I/O.
restart takes no target: it always means “restart the agent that
proposed it”, so a proposal aimed at another agent cannot be expressed.
Design: docs/superpowers/specs/2026-09-28-murmur-proposal-chip-design.md.
Structs§
Enums§
- Proposal
Kind - What a proposal does when the user accepts it.
- VetError
- Why a proposal was rejected.
Displayis the tool error the model reads, so every message says what to change.
Constants§
- COMMAND_
MAX_ CHARS - Longest insert-only command accepted, in chars.
- KINDS
- Allowlist of
kindvalues, in schema order. - KIND_
RESTART - KIND_
SHELL - Wire values of the
kindargument. - KIND_
SLASH - LABEL_
MAX_ CHARS - Longest label accepted, in chars. The chip is one line above the composer.
- PROPOSE_
TOOL - Canonical tool name. Shared by the runtime executor and the TUI interceptor.