UNPKG

@sema-agent/core

Version:

Stateless, task-oriented AI agent core

17 lines (16 loc) • 1.58 kB
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;