import type { AccessContext, GraphStore } from "./types.js"; import type { HorizonDBFactStore } from "./horizon-store.js"; export interface AgentTool { name: string; description: string; parameters: Record; handler: (args: any) => Promise; } export type Role = "reader" | "harvester"; export interface FactsToolsOptions { /** Which bundle to build. Default "reader". */ role?: Role; /** * Access context resolver for the READER-scoped tools. Default: * unrestricted (single-tenant). Override for multi-tenant sessions. * The crawl-queue tools never use it — they are privileged by contract. */ resolveAccess?: (args: any) => AccessContext; /** Agent identity recorded on graph writes. Default "harvester". */ agentId?: string; /** * When true, the privileged `facts_read_uncrawled` queue tool only returns * facts that already have an embedding; un-embedded facts are skipped this * turn and reappear once the in-DB embed loop catches up. This is a HARVEST * POLICY set by the host (not an LLM-controlled argument): enable it when * embeddings are configured so the harvester can similarity-refine the * graph from each fact's stored vector. */ embeddedOnly?: boolean; } export declare function createFactsTools(factStore: HorizonDBFactStore, graphStore: GraphStore | undefined, opts?: FactsToolsOptions): AgentTool[]; //# sourceMappingURL=agent-tools.d.ts.map