/** * adapters/kiro — Kiro IDE/CLI platform adapter. * * Implements HookAdapter for Kiro's hooks-capable paradigm (json-stdio). * * Kiro specifics: * - Hooks via agent config files (~/.kiro/agents/.json) * - Config: ~/.kiro/settings/mcp.json (JSON format) * - MCP: full support via mcpServers in mcp.json * - Hook exit codes: 0=allow, 2=block * - Cannot modify tool input (exit codes only) * - Session dir: ~/.kiro/context-mode/sessions/ * - Routing file: KIRO.md * * Sources: * - MCP config: https://kiro.dev/docs/mcp/configuration/ * - clientInfo.name: https://github.com/kirodotdev/Kiro/issues/5205 ("Kiro CLI") * - CLI hooks: https://kiro.dev/docs/cli/custom-agents/configuration-reference#hooks-field */ import type { HookAdapter, HookParadigm, PlatformCapabilities, DiagnosticResult, PreToolUseEvent, PostToolUseEvent, PreCompactEvent, SessionStartEvent, PreToolUseResponse, PostToolUseResponse, PreCompactResponse, SessionStartResponse, HookRegistration } from "../types.js"; export declare class KiroAdapter implements HookAdapter { readonly name = "Kiro"; readonly paradigm: HookParadigm; readonly capabilities: PlatformCapabilities; parsePreToolUseInput(raw: unknown): PreToolUseEvent; parsePostToolUseInput(raw: unknown): PostToolUseEvent; parsePreCompactInput(_raw: unknown): PreCompactEvent; parseSessionStartInput(_raw: unknown): SessionStartEvent; formatPreToolUseResponse(response: PreToolUseResponse): unknown; formatPostToolUseResponse(_response: PostToolUseResponse): unknown; formatPreCompactResponse(_response: PreCompactResponse): unknown; formatSessionStartResponse(_response: SessionStartResponse): unknown; getSettingsPath(): string; getSessionDir(): string; getSessionDBPath(projectDir: string): string; getSessionEventsPath(projectDir: string): string; generateHookConfig(pluginRoot: string): HookRegistration; readSettings(): Record | null; writeSettings(settings: Record): void; validateHooks(pluginRoot: string): DiagnosticResult[]; checkPluginRegistration(): DiagnosticResult; getInstalledVersion(): string; configureAllHooks(pluginRoot: string): string[]; backupSettings(): string | null; setHookPermissions(_pluginRoot: string): string[]; updatePluginRegistry(_pluginRoot: string, _version: string): void; getRoutingInstructions(): string; }