1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
//! The `agent` tool, which hands a turn to another agent.
//!
//! [`agent`] is the tool the model calls, with the agent as an argument. It
//! passes the call to that agent's backend, which runs one of three ways:
//! [`native`] starts its CLI once per turn, [`acp`] keeps an Agent Client
//! Protocol server per conversation, and [`scv`] keeps a nested
//! `scv server --stdio`. The rest is shared:
//!
//! - [`adapters`]: the built-in agents and how to launch each one.
//! - [`activity`]: each run's activity log and current state, which the
//! workbench shows as the agent's live view.
//! - [`request`]: the arguments every agent call takes.
//! - [`choice`]: what the model is told to choose between agents.
//! - [`options`]: the model and effort values each ACP agent offers, as
//! SCV last saw them.
//! - [`background`]: jobs that run while the conversation goes on.
//! - [`review`]: background jobs whose work an independent reviewer checks.
//! - [`conversation`]: handles that continue an agent's conversation.
//! - [`records`]: the on-disk record of every delegated process, for
//! listing, stopping, and cleanup.
//! - [`stores`]: the credential files each agent CLI reads, in its own
//! format, inside SCV's private agent homes.
//! - [`worktree`]: git worktrees SCV creates for a call's agent to work in.
//! - [`live`]: a long-lived child process read line by line.
//! - [`takeover`] and [`pty`]: the owner's takeover of a conversation in
//! its agent's own terminal.
//! - [`output`] and [`progress`]: reading a run's output into one bounded
//! result, and its progress into short lines.
//! - [`mode`]: the permission mode the policy expects of an agent, and how
//! SCV checks the one it reports.
pub
pub
pub
pub
pub
pub
pub
pub
pub
pub
pub
pub