import type { CapabilityStatus, JsonValue, ModelCallContract, ModelCallSideEffects, ModelCallStatus, ModelChatMessage, ModelChatRole, ModelUsage, ProviderError, ProviderErrorKind } from "@velum-labs/routekit-contracts"; export declare const MODEL_FUSION_SCHEMA_NAMES: readonly ["model-call-record.v1", "harness-run-request.v1", "harness-run-result.v1", "harness-candidate-record.v1", "judge-synthesis-record.v1", "benchmark-task-record.v1", "artifact-ref.v1", "tool-call-plan.v1", "tool-execution-record.v1", "ensemble-receipt.v1"]; export declare const MODEL_FUSION_SCHEMA_BUNDLE_HASH = "sha256:e55314e30d77e8e7db902194ff87a4e739cc66e6db2aa0e5edbef037b02f6f6e"; export type ModelFusionSchemaName = (typeof MODEL_FUSION_SCHEMA_NAMES)[number]; export type ModelFusionStatus = ModelCallStatus; export type ModelFusionSideEffects = ModelCallSideEffects; export type ModelFusionHarnessKind = "generic" | "cursor" | "claude_code" | "codex" | "openai_responses"; export type ModelFusionCapabilityStatus = CapabilityStatus; export type ModelFusionArtifactKind = "patch" | "log" | "transcript" | "metrics" | "benchmark_task" | "worktree" | "receipt" | "other"; export type ModelFusionRedactionStatus = "synthetic" | "redacted" | "raw"; export type ModelFusionErrorKind = ProviderErrorKind | "tool_denied" | "secret_denied"; export type ModelFusionChatRole = ModelChatRole; export type BenchmarkTaskKind = "model_fusion" | "harness_coding"; export type BenchmarkSourceRepo = "fusionkit" | "handoffkit" | "cursorkit" | "mlx-lm"; export type BenchmarkScorerKind = "exact" | "contains" | "record_join" | "custom"; export type JudgeSynthesisDecision = "synthesize" | "select_trajectory" | "repair_required" | "failed"; export type ContractMetadataV1 = { schema: S; schema_version: "v1"; schema_bundle_hash: string; producer: string; producer_version: string; producer_git_sha?: string; created_at: string; }; export type ModelFusionChatMessage = ModelChatMessage; export type ModelFusionUsage = ModelUsage; export type ModelFusionError = Omit & { kind: ModelFusionErrorKind; }; export type ArtifactRef = { artifact_id: string; kind: ModelFusionArtifactKind; uri?: string; hash: string; redaction_status?: ModelFusionRedactionStatus; }; export type ArtifactRefV1 = ContractMetadataV1<"artifact-ref.v1"> & ArtifactRef; export type ModelCallRecordV1 = ContractMetadataV1<"model-call-record.v1"> & ModelCallContract; export type HarnessRunRequestV1 = ContractMetadataV1<"harness-run-request.v1"> & { request_id: string; harness_kind: ModelFusionHarnessKind; source_repo: string; base_git_sha: string; prompt: string; prompt_hash: string; allowed_tools?: string[]; side_effects: ModelFusionSideEffects; requested_capabilities: Record; metadata?: Record; }; export type HarnessRunResultV1 = ContractMetadataV1<"harness-run-result.v1"> & { result_id: string; request_id: string; harness_kind: ModelFusionHarnessKind; status: ModelFusionStatus; candidate_ids: string[]; output_summary?: string; artifacts?: ArtifactRef[]; capabilities: Record; started_at: string; finished_at?: string; errors?: ModelFusionError[]; metadata?: Record; }; export type HarnessCandidateRecordV1 = ContractMetadataV1<"harness-candidate-record.v1"> & { candidate_id: string; request_id: string; harness_kind: ModelFusionHarnessKind; model_call_id?: string; status: ModelFusionStatus; side_effects: ModelFusionSideEffects; branch_name?: string; worktree_path?: string; artifacts?: ArtifactRef[]; score?: number; error?: ModelFusionError; metadata?: Record; }; export type JudgeSynthesisRecordV1 = ContractMetadataV1<"judge-synthesis-record.v1"> & { synthesis_id: string; judge_model_call_id?: string; input_trajectory_ids: string[]; status: ModelFusionStatus; decision: JudgeSynthesisDecision; selected_trajectory_id?: string; rationale?: string; final_output: string; score?: number; metrics?: Record; }; export type BenchmarkScorer = { kind: BenchmarkScorerKind; params?: Record; }; export type BenchmarkTaskRecordV1 = ContractMetadataV1<"benchmark-task-record.v1"> & { task_id: string; task_kind: BenchmarkTaskKind; source_repo: BenchmarkSourceRepo; source_sha: string; prompt?: string; prompt_hash: string; setup_hash: string; expected_evidence: string[]; scorer: BenchmarkScorer; holdout: boolean; contamination_notes: string; allowed_tools: string[]; }; export type ToolCallPlanV1 = ContractMetadataV1<"tool-call-plan.v1"> & { plan_id: string; tool_name: string; arguments_hash: string; side_effects: ModelFusionSideEffects; status: ModelFusionStatus; }; export type ToolExecutionRecordV1 = ContractMetadataV1<"tool-execution-record.v1"> & { execution_id: string; plan_id: string; status: ModelFusionStatus; output_hash?: string; error?: ModelFusionError; }; export type EnsembleReceiptV1 = ContractMetadataV1<"ensemble-receipt.v1"> & { receipt_id: string; run_id: string; status: ModelFusionStatus; artifact_hashes: string[]; }; export type ModelFusionRecordV1 = ModelCallRecordV1 | HarnessRunRequestV1 | HarnessRunResultV1 | HarnessCandidateRecordV1 | JudgeSynthesisRecordV1 | BenchmarkTaskRecordV1 | ArtifactRefV1 | ToolCallPlanV1 | ToolExecutionRecordV1 | EnsembleReceiptV1; export declare function assertArtifactRefV1(value: unknown): asserts value is ArtifactRefV1; export declare function assertModelCallRecordV1(value: unknown): asserts value is ModelCallRecordV1; export declare function assertHarnessRunRequestV1(value: unknown): asserts value is HarnessRunRequestV1; export declare function assertHarnessRunResultV1(value: unknown): asserts value is HarnessRunResultV1; export declare function assertHarnessCandidateRecordV1(value: unknown): asserts value is HarnessCandidateRecordV1; export declare function assertJudgeSynthesisRecordV1(value: unknown): asserts value is JudgeSynthesisRecordV1; export declare function assertBenchmarkTaskRecordV1(value: unknown): asserts value is BenchmarkTaskRecordV1; export declare function assertToolCallPlanV1(value: unknown): asserts value is ToolCallPlanV1; export declare function assertToolExecutionRecordV1(value: unknown): asserts value is ToolExecutionRecordV1; export declare function assertEnsembleReceiptV1(value: unknown): asserts value is EnsembleReceiptV1; export declare function assertModelFusionRecord(value: unknown): asserts value is ModelFusionRecordV1;