import { type ChatTools, type ResolvedToolContext, type ToolContext } from "../shared/agent/tool.factory.js"; import type { ChatPersonaConfig } from "./chat.persona.js"; /** Public kickoff marker used by the restricted web profile phase. */ export { ONBOARDING_PROFILE_KICKOFF } from "./onboarding.prompt.js"; /** Stable persona id persisted for restricted web onboarding conversations. */ export declare const ONBOARDING_PERSONA_ID = "onboarding"; /** * Exact positive allowlist for Onboarding Agent. * * Profile confirmation performs the approved premise decomposition internally, * so this persona does not need arbitrary premise writes. New shared tools stay * unavailable until explicitly reviewed here. */ export declare const ONBOARDING_TOOL_NAMES: readonly ["read_user_contexts", "preview_user_context", "confirm_user_context", "ask_user_question", "create_intent", "complete_onboarding"]; /** Filters the shared registry through Onboarding Agent's exact allowlist. */ export declare function filterOnboardingTools(tools: T[]): T[]; /** * Narrows shared onboarding tools whose generic schemas exceed the web flow. * Chat-side completion requires an exact intent ID (the direct REST tool * remains the browser's normal completion path). */ export declare function narrowOnboardingTools(allowed: ChatTools): ChatTools; /** Creates the context-bound, allowlisted, proposal-only onboarding toolset. */ export declare function createOnboardingTools(deps: ToolContext, preResolvedContext?: ResolvedToolContext): Promise; /** Restricted web onboarding persona on the persona-neutral chat runtime. */ export declare const ONBOARDING_PERSONA: ChatPersonaConfig;