import type { PluginInput } from "@opencode-ai/plugin"; import { tool } from "@opencode-ai/plugin"; import { z } from "zod"; import { type ActiveRalphLoopInfo } from "./ralph-loop"; export declare const BUILTIN_HOOK_IDS: readonly ["keyword-detector", "rules-injector", "context-injector", "fragment-injector", "prompt-renderer", "todo-enforcer", "comment-checker", "token-truncation", "session-compaction", "mas-knowledge-policy"]; export declare const BUILTIN_TOOL_IDS: readonly ["spawn_agent", "ralph_loop", "cancel_ralph", "batch_read", "ledger_save", "ledger_load", "ast_search", "evolve_apply", "evolve_scan", "evolve_score", "evolve_exe", "evolve_publish", "health_check", "mas_knowledge_spec"]; export type BuiltinHookId = (typeof BUILTIN_HOOK_IDS)[number]; export type BuiltinToolId = (typeof BUILTIN_TOOL_IDS)[number]; export interface BinaryStatus { found: boolean; path?: string; version?: string; error?: string; } export interface HealthCheckResult { ok: boolean; generatedAt: string; registry: { tools: { enabled: string[]; disabled: string[]; unknownDisabled: string[]; }; hooks: { enabled: string[]; disabled: string[]; unknownDisabled: string[]; }; mcps: { enabled: string[]; disabled: string[]; unknownDisabled: string[]; }; }; loops: { ralph: { activeCount: number; active: ActiveRalphLoopInfo[]; }; }; sessions: { internalSessionCount: number; }; config: { astSearch: { enabled: boolean; binaryFound: boolean; binaryPath?: string; }; mcp: { context7: { enabled: boolean; npxFound: boolean; npxPath?: string; }; }; }; binaries: Record; warnings: string[]; } export declare const BinaryStatusSchema: z.ZodType; export declare const HealthCheckResultSchema: z.ZodType; export interface HealthCheckDeps { toolNames: string[]; disabledTools?: string[]; disabledHooks?: string[]; disabledMcps?: string[]; internalSessions?: Set; astGrepBinary?: string | null; } export declare function findBinaryInPath(name: string): string | null; export declare function checkBinary(name: string, versionArgs?: string[], includeVersion?: boolean): BinaryStatus; export declare function createHealthCheckTool(ctx: PluginInput, deps: HealthCheckDeps): ReturnType;