import type { AgentTool } from "@elyracode/agent-core"; import { type Static, Type } from "typebox"; import { type DecisionStoreOperations } from "../decisions.js"; import type { ToolDefinition } from "../extensions/types.js"; declare const decisionRecordSchema: Type.TObject<{ title: Type.TString; context: Type.TString; decision: Type.TString; alternatives: Type.TOptional; consequences: Type.TOptional; supersedes: Type.TOptional; }>; export type DecisionRecordToolInput = Static; export type DecisionLogMode = "off" | "confirm" | "auto"; export interface DecisionRecordToolDetails { id: string | null; path: string | null; saved: boolean; rejected?: boolean; superseded?: string; disabled?: boolean; } export interface DecisionRecordToolOptions { /** Project root; decisions are stored under /.elyra/memory/decisions. */ cwd: string; /** Decision log mode. Read fresh on each call so setting changes take effect immediately. */ getDecisionLog: () => DecisionLogMode; /** Current session id, recorded in the decision frontmatter when available. */ getSessionId?: () => string | undefined; /** Custom operations (default: local filesystem). */ operations?: DecisionStoreOperations; } export declare function createDecisionRecordToolDefinition(options: DecisionRecordToolOptions): ToolDefinition; export declare function createDecisionRecordTool(options: DecisionRecordToolOptions): AgentTool; export {}; //# sourceMappingURL=decision-record.d.ts.map