import type { AgentMessage } from "@oh-my-pi/pi-agent-core"; import type { Message } from "@oh-my-pi/pi-ai"; import { type CallContext } from "./types.js"; /** * What the agent is doing at the tool call `toolCallId`, read from the session's live messages: the first user * message (the task), the text of the call's assistant turn before the call, and the last bash commands before it. * Fields are cut to {@link CONTEXT_FIELD_CHARS}; `said` keeps its end, the others their start. */ export declare function buildCallContext(messages: readonly AgentMessage[], toolCallId: string, source: string, intent: string | undefined): CallContext; /** * A call as Spotlight's `source` and the shaping state's command: the tool's name and its arguments as JSON * (`grep {"pattern":"TODO","path":"src"}`), the intent left out (the state carries it); the bare name without any. */ export declare function callSummary(tool: string, args: unknown): string; /** * The command a call counts as having shown the agent, as shaping notes it: `bash`'s command, `eval`'s code, any other * tool's {@link callSummary}; none for `read`, whose path says nothing its result repeats. */ export declare function callCommand(tool: string, args: unknown): string | undefined; /** * The text one message of the model's context puts in front of it, as the shaping state counts lines seen: what the * user and the tools said, the assistant's text and the commands of its calls ({@link callCommand}). */ export declare function messageTexts(message: Message): string[];