/** * Hook 系统入口 * * P2-11: 4-hook 管道系统 * * 提供自动上下文注入能力: * - SessionStart: 会话开始时注入项目概览 * - UserPromptSubmit: 用户提交提示时注入工作流状态 * - PreToolUse: 工具调用前注入上下文约束 + 阶段工具门控 * - PostToolUse: 工具调用后记录 ledger + 检测阶段转换信号 * * @example * ```typescript * import { executeSessionStart, executeUserPromptSubmit, executePreToolUse, executePostToolUse } from 'specpow/core/hooks'; * * // 会话启动 * const context = await executeSessionStart(projectRoot, 'claude'); * * // 用户提示提交 * const workflowContext = await executeUserPromptSubmit(projectRoot, userInput, 'cursor'); * * // 工具调用前拦截 * const preResult = await executePreToolUse(projectRoot, 'Edit', toolInput, 'claude'); * if (preResult.blocked) { // 阻止工具调用 } * * // 工具调用后处理 * const postContext = await executePostToolUse(projectRoot, 'Bash', true, toolOutput, 'claude'); * ``` */ export type { HookEvent, HookContext, HookOutput, HookResult, HookHandler, HookConfig, ProjectState, WorkflowStage, PlatformOutput, } from './hook-types.js'; export { HookRegistry, getDefaultRegistry, executeSessionStart, executeUserPromptSubmit, executePreToolUse, executePostToolUse, } from './hook-registry.js'; export { SessionStartHook, detectProjectState, generateSessionStartContext } from './session-start-hook.js'; export { WorkflowStateHook } from './workflow-state-hook.js'; export { PreToolUseHook, isToolAllowedInStage, getStageToolRules } from './pre-tool-call-hook.js'; export { PostToolUseHook, getToolCallStats } from './post-tool-call-hook.js'; //# sourceMappingURL=index.d.ts.map