pub(crate) const WORK_ENQUEUE_TOOL: &str = r#"{
"name": "WorkEnqueue",
"description": "Put a unit of work on the shared Muxqueue for ANY agent to pick up later. Use this instead of SendMessage when you do NOT need a specific agent, or need it done eventually rather than now — 'someone should repro this', 'this PR needs review when a reviewer frees up'. The item persists across pane closes, app restarts, and version/channel changes, and is visible to every agent on this machine. If you know exactly who should do it and it should happen immediately, use SendMessage instead; if it should happen on a schedule, use CronCreate. Returns the item id.",
"inputSchema": {
"type": "object",
"properties": {
"title": { "type": "string", "description": "Short human-scannable summary (e.g. 'repro the minimize distortion on a 3-pane cross-split')" },
"payload": { "type": "string", "description": "The full instruction injected into whichever agent claims this. Write it as a standalone prompt: the claimant has none of your conversation context." },
"kind": { "type": "string", "description": "Optional free-form tag used to filter claims (e.g. 'review', 'repro', 'triage'). Agents can claim only a kind they handle. Omit for untyped work anyone may take." },
"target_agent": { "type": "string", "description": "Optional: restrict to ONE agent, by name or by uid. Mutually exclusive with target_group. Omit so any agent can claim — that is the normal case and the point of the queue. A name held by several agents is refused with the candidates; retry with the uid." },
"target_group": { "type": "string", "description": "Optional: restrict to members of an agent group id. Mutually exclusive with target_agent." },
"priority": { "type": "integer", "description": "Higher claims first; ties break oldest-first. Default 0. Use sparingly — everything urgent means nothing is." },
"not_before": { "type": "integer", "description": "Unix ms timestamp; the item is not claimable before it. Use for deferred work ('look at this after the release lands'). Omit for immediately claimable." },
"max_attempts": { "type": "integer", "description": "How many claims this item gets before it is parked as failed. Default 3. Guards against an item that crashes or defeats every agent that takes it." }
},
"required": ["title", "payload"]
}
}"#;