@sema-agent/core
Version:
Stateless, task-oriented AI agent core
17 lines (16 loc) • 1.58 kB
TypeScript
import type { AgentTool, ExecutionEnv } from "../../internal/harness-types.js";
import { type RootsSeat } from "./safety.js";
import type { ReadDenyMatcher } from "./read-deny.js";
import type { ContainmentFace } from "./containment-face.js";
import type { CwdRef } from "./fs-shared.js";
/**
* The Grep card's details assembly, PURE over the engine text ({mode, offset} from the request) —
* exported so the text→structured mapping is pinnable with synthetic texts (the byte-truncation and
* fenced-partial shapes are impractical to construct through a live tool call). PATH IDENTITY comes
* off the engines' served rows, not the text (both legs supply them); the counts and totals below
* still read the engine's own honesty markers out of the text, which is what keeps this seam the
* honesty boundary.
*/
export declare function grepDetailFields(text: string, mode: "files_with_matches" | "content" | "count", offset?: number, structuredRows?: readonly import("./search.js").GrepRow[]): Record<string, unknown>;
export declare function createGrepTool(env: ExecutionEnv, rootCanonical: string, additionalRoots?: RootsSeat, readDeny?: ReadDenyMatcher, readFace?: ContainmentFace, cwdRef?: CwdRef, readAdmission?: (toolCallId: string | undefined, canonicalKey: string) => boolean): AgentTool;
export declare function createGlobTool(env: ExecutionEnv, rootCanonical: string, additionalRoots?: RootsSeat, readDeny?: ReadDenyMatcher, readFace?: ContainmentFace, cwdRef?: CwdRef, readAdmission?: (toolCallId: string | undefined, canonicalKey: string) => boolean): AgentTool;