/** * Which agents a tool call loads when it names no scope, and what it hides. * * The tool loads what `/run` and `/step` load: the repository's agents beside * the user's and the shipped ones, the repository's winning a name. The person * working in a repository put its `.pi/agents/` there to be used, and a call * that ran another definition of the same name did so in silence. * * Winning a name hides the user's own definition of it, and that one was * written on purpose too. So whatever runs agents from that roster, the tool * in any mode, `/run` or `/step`, says when one it runs shadows one in the * user's directory, with the scope that runs it. */ import type { Agent, AgentScope } from "../src/index.ts"; import type { Ui } from "./pi.ts"; import type { Params } from "./params.ts"; /** The scope of a call that names none. */ export declare const DEFAULT_SCOPE: AgentScope; /** * {@link shadowWarning} for what is about to run, said in pi as a warning and * returned for a caller that has a model to tell as well. The user's agents * are only read when a repository's agent is among `used`. */ export declare function warnShadows(used: readonly Agent[], ctx: { cwd: string; ui?: Partial>; }, load: (options: { cwd: string; scope: AgentScope; }) => Agent[]): string | undefined; /** `text` for the model, and the warning after it when there is one. */ export declare function warned(text: string, warning: string | undefined): string; /** The agents a call of the tool names, among those it loaded. */ export declare function namedBy(params: Params, roster: readonly Agent[]): Agent[]; //# sourceMappingURL=scope.d.ts.map