import { TopicPurpose } from "./forum-topics.mjs"; //#region extensions/crypto/src/services/thread-bindings.d.ts interface ThreadBinding { /** Persona override for this topic */ persona?: string; /** Safety mode override: 'safe', 'danger', 'readonly' */ safetyMode?: 'safe' | 'danger' | 'readonly'; /** If set, only these tools are available in this topic */ allowedTools?: string[]; /** If set, these tools are blocked in this topic */ blockedTools?: string[]; /** Additional system prompt text injected for this topic */ systemPromptExtra?: string; /** Topic purpose (synced from ForumTopicsService) */ purpose?: TopicPurpose; } declare class ThreadBindingsService { /** chatId:threadId → binding */ private bindings; /** * Create or update a binding for a specific topic. */ bind(chatId: string, threadId: number, config: Partial): ThreadBinding; /** * Get the binding for a specific topic. * Falls back to default bindings based on topic purpose. */ getBinding(chatId: string, threadId: number): ThreadBinding | undefined; /** * Get the effective binding — user override merged over defaults for the purpose. */ getEffectiveBinding(chatId: string, threadId: number, purpose?: TopicPurpose): ThreadBinding; /** * Remove a binding. */ unbind(chatId: string, threadId: number): boolean; /** * Check if a tool is allowed in a given topic. */ isToolAllowed(chatId: string, threadId: number, toolName: string, purpose?: TopicPurpose): boolean; /** * List all bindings for a chat. */ listBindings(chatId: string): Array<{ threadId: number; binding: ThreadBinding; }>; /** * Apply default bindings for a purpose to a topic (if no user override exists). */ applyDefaults(chatId: string, threadId: number, purpose: TopicPurpose): ThreadBinding; /** * Reset all bindings (for testing). */ reset(): void; /** * Export all bindings for persistence. */ exportAll(): Array<{ chatId: string; threadId: number; binding: ThreadBinding; }>; private key; } declare function getThreadBindings(): ThreadBindingsService; declare function resetThreadBindings(): void; /** Persist all thread bindings to disk. Called on graceful shutdown. */ declare function persistThreadBindings(): void; /** Restore thread bindings from disk. Called on startup. */ declare function restoreThreadBindings(): void; //#endregion export { ThreadBinding, ThreadBindingsService, getThreadBindings, persistThreadBindings, resetThreadBindings, restoreThreadBindings }; //# sourceMappingURL=thread-bindings.d.mts.map