pub struct HarnessDecl {Show 22 fields
pub id: String,
pub name: String,
pub speaker: Option<String>,
pub locate: Locate,
pub version_args: Vec<String>,
pub tested: TestedDecl,
pub caps: CapsDecl,
pub models: Vec<ModelDecl>,
pub efforts: Vec<String>,
pub account_var: Option<String>,
pub key_var: Option<String>,
pub close_grace_ms: Option<u64>,
pub framing: Option<String>,
pub close_line: Option<String>,
pub opens: bool,
pub relaunches: bool,
pub stderr_leaves_out: Vec<String>,
pub memory: Option<MemoryDecl>,
pub acp: Option<AcpDecl>,
pub install: Option<InstallDecl>,
pub update_command: Option<String>,
pub writer: Option<String>,
}Expand description
A harness as a manifest declares it (contributes.harnesses[]): all the core needs without starting the plugin
(the welcome screen, the menus, the accounts, the memory).
Fields§
§id: String§name: String§speaker: Option<String>§locate: LocateIts program: a path ({escouade}/… for one of the app’s), or names looked for on the PATH.
version_args: Vec<String>§tested: TestedDecl§caps: CapsDecl§models: Vec<ModelDecl>§efforts: Vec<String>§account_var: Option<String>The variable that gives each account its configuration folder.
key_var: Option<String>The variable that gives an account added by its key that key (CURSOR_API_KEY): the agent then goes by it, not
by the machine’s sign-in (LaunchParams::by_key).
close_grace_ms: Option<u64>It does not end when its input is closed (Cursor CLI’s agent acp): it is killed that many milliseconds after.
framing: Option<String>What frames its messages on its input and output: lines when left out, contentLength for Content-Length
headers (Copilot CLI’s server).
close_line: Option<String>A line written on its input just before it is closed (Copilot CLI’s runtime.shutdown, which saves its session).
opens: boolIts plugin opens the session over the protocol once it runs: the agent is ready at Item::Ready, not at its
launch, and Item::Stop is its refusal.
relaunches: boolOne agent has several programs in a row (Item::Relaunch, Item::Pause): it takes its settings at its launch alone,
or has no way to stop a turn. Its end by itself is told to its plugin (method::PROGRAM_GONE).
stderr_leaves_out: Vec<String>The lines of its error output that hold one of these are not kept (what it logs of the account).
memory: Option<MemoryDecl>Where it keeps what it remembers of a project, offered once to the shared memory: a folder of files, with
{configDir} and {projectKey} (the project’s path, every character but a letter or a digit a dash).
acp: Option<AcpDecl>A harness that speaks ACP, described: how the plugin dev.escouade.acp drives it (PLG-6). A plugin that only
describes such a harness runs no program of its own.
install: Option<InstallDecl>How to install it, shown when it is not found.
update_command: Option<String>The command that updates it.
writer: Option<String>Who writes the texts it drafts (« rédigé par … »), its name when left out.