import { type SessionGoalStore } from '../../store/goal/index.js'; import type { GoalRoundAuthority } from '../../types/goal/index.js'; import type { TurnId } from '../../types/ids/index.js'; import type { ToolDefinition } from '../../types/tool/index.js'; export declare const SESSION_GOAL_TOOL_NAMES: readonly ["get_goal", "update_goal"]; export declare const MIN_GOAL_BLOCK_ROUND = 3; /** * Resolve the authority captured for one caller-reserved turn id. Each goal * round is its own turn (`origin.kind: 'goal-round'`), so the turn id names * exactly one admitted round. */ export type ResolveGoalRoundAuthority = (turnId: TurnId) => GoalRoundAuthority | null | undefined; /** A goal tool was reached outside the one turn whose admission authorized it. */ export declare class GoalRoundAuthorityError extends Error { constructor(turnId: TurnId); } /** * Turn-scoped tools for an admitted SessionGoal round. * * Registration is not authorization. A host must also withhold these names * from every non-goal provider request and executor allow-list. */ export declare function buildSessionGoalTools(store: SessionGoalStore, resolveAuthority: ResolveGoalRoundAuthority): ToolDefinition[]; //# sourceMappingURL=index.d.ts.map