function surface(tool, kind, memberDefault, reason, overlapsNative = "none") {
    return {
        tool,
        kind,
        member_default: memberDefault,
        overlaps_native: overlapsNative,
        reason,
    };
}
const TASK_REASON = "SEED task state is durable lab-runtime coordination, not a native OpenCode task replacement.";
const TEAM_REASON = "SEED team state records dynamic role contracts, inboxes, meetings, and member progress for the lab runtime.";
const WORKSPACE_REASON = "SEED workspace state records intents, leases, conflicts, and merge/diff evidence for multi-agent collision control.";
const TRACE_REASON = "SEED trace state records run-local evidence, telemetry, and continuation artifacts.";
const COMMAND_REASON = "SEED command execution is reserved for stateful verification/background capture with trace artifacts; native shell remains the host primitive.";
const EVIDENCE_REASON = "SEED evidence capture stores bounded artifacts or trust-boundary evidence for the lab runtime.";
const DELEGATION_REASON = "SEED delegation creates or continues OpenCode child sessions while preserving lab-runtime trace state.";
export const KNOWN_SEED_TOOL_SURFACES = [
    surface("seed_task_create", "seed_coordination", "contract_only", TASK_REASON, "task"),
    surface("seed_task_get", "seed_coordination", "safe", TASK_REASON, "task"),
    surface("seed_task_list", "seed_coordination", "safe", TASK_REASON, "task"),
    surface("seed_task_update", "seed_coordination", "contract_only", TASK_REASON, "task"),
    surface("seed_delegate", "seed_delegation", "lab_representative_only", DELEGATION_REASON, "task"),
    surface("seed_delegate_background", "seed_delegation", "lab_representative_only", DELEGATION_REASON, "task"),
    surface("seed_delegate_followup", "seed_delegation", "lab_representative_only", DELEGATION_REASON, "task"),
    surface("seed_team_create", "seed_delegation", "lab_representative_only", DELEGATION_REASON, "task"),
    surface("seed_team_send", "seed_coordination", "safe", TEAM_REASON),
    surface("seed_team_broadcast", "seed_coordination", "safe", TEAM_REASON),
    surface("seed_team_spec_validate", "seed_coordination", "contract_only", TEAM_REASON),
    surface("seed_team_status", "seed_coordination", "safe", TEAM_REASON),
    surface("seed_team_roster", "seed_coordination", "safe", TEAM_REASON),
    surface("seed_team_conversation", "seed_coordination", "safe", TEAM_REASON),
    surface("seed_agent_thread_status", "seed_coordination", "safe", TEAM_REASON),
    surface("seed_agent_thread_trace", "seed_coordination", "safe", TEAM_REASON),
    surface("seed_message_queue", "seed_coordination", "safe", TEAM_REASON),
    surface("seed_message_read", "seed_coordination", "safe", TEAM_REASON),
    surface("seed_message_deliver", "seed_coordination", "safe", TEAM_REASON),
    surface("seed_team_meeting_create", "seed_coordination", "safe", TEAM_REASON),
    surface("seed_team_meeting_post", "seed_coordination", "safe", TEAM_REASON),
    surface("seed_team_meeting_status", "seed_coordination", "safe", TEAM_REASON),
    surface("seed_team_meeting_close", "seed_coordination", "safe", TEAM_REASON),
    surface("seed_team_list", "seed_coordination", "safe", TEAM_REASON),
    surface("seed_team_cleanup", "seed_coordination", "lab_representative_only", TEAM_REASON),
    surface("seed_team_inbox", "seed_coordination", "safe", TEAM_REASON),
    surface("seed_team_ack", "seed_coordination", "safe", TEAM_REASON),
    surface("seed_team_task_create", "seed_coordination", "contract_only", TEAM_REASON),
    surface("seed_team_task_list", "seed_coordination", "safe", TEAM_REASON),
    surface("seed_team_task_claim", "seed_coordination", "safe", TEAM_REASON),
    surface("seed_team_task_release", "seed_coordination", "safe", TEAM_REASON),
    surface("seed_team_task_update", "seed_coordination", "contract_only", TEAM_REASON),
    surface("seed_team_member_update", "seed_coordination", "safe", TEAM_REASON),
    surface("seed_team_member_followup", "seed_delegation", "lab_representative_only", DELEGATION_REASON, "task"),
    surface("seed_team_member_add", "seed_delegation", "lab_representative_only", DELEGATION_REASON, "task"),
    surface("seed_team_member_request", "seed_coordination", "safe", TEAM_REASON),
    surface("seed_subplan_create", "seed_coordination", "contract_only", "SEED sub-plan state drives the plan-execute-verify loop."),
    surface("seed_subplan_list", "seed_coordination", "safe", "SEED sub-plan state drives the plan-execute-verify loop."),
    surface("seed_subplan_transition", "seed_coordination", "contract_only", "SEED sub-plan state drives the plan-execute-verify loop."),
    surface("seed_subplan_verify", "seed_coordination", "contract_only", "SEED sub-plan verification records acceptance evidence and loop decisions."),
    surface("seed_workspace_intent", "seed_workspace", "contract_only", WORKSPACE_REASON),
    surface("seed_workspace_lease_acquire", "seed_workspace", "contract_only", WORKSPACE_REASON),
    surface("seed_workspace_lease_refresh", "seed_workspace", "contract_only", WORKSPACE_REASON),
    surface("seed_workspace_lease_release", "seed_workspace", "contract_only", WORKSPACE_REASON),
    surface("seed_workspace_conflict_resolve", "seed_workspace", "contract_only", WORKSPACE_REASON),
    surface("seed_workspace_diff_record", "seed_workspace", "contract_only", WORKSPACE_REASON),
    surface("seed_workspace_worktree_merge_record", "seed_workspace", "contract_only", WORKSPACE_REASON),
    surface("seed_workspace_status", "seed_workspace", "safe", WORKSPACE_REASON),
    surface("seed_trace_event", "seed_coordination", "contract_only", TRACE_REASON),
    surface("seed_trace_read", "seed_coordination", "safe", TRACE_REASON),
    surface("seed_continuation_read", "seed_coordination", "safe", TRACE_REASON),
    surface("seed_context_bundle_list", "seed_coordination", "safe", TRACE_REASON, "read"),
    surface("seed_context_bundle_read", "seed_coordination", "safe", TRACE_REASON, "read"),
    surface("seed_context_metrics", "seed_coordination", "safe", TRACE_REASON, "read"),
    surface("seed_orchestrator_tick", "seed_coordination", "safe", "SEED orchestrator ticks make coordinator-loop state explicit and replayable."),
    surface("seed_orchestrator_next", "seed_coordination", "safe", "SEED orchestrator next is a read-only coordinator-loop planner."),
    surface("seed_orchestrator_record_decision", "seed_coordination", "safe", "SEED orchestrator decisions preserve Lab-Representative reasoning before dispatch."),
    surface("seed_coordinator_direct_work", "seed_delegation", "lab_representative_only", "Coordinator direct-work exceptions are reserved for the root Lab-Representative."),
    surface("seed_model_route", "seed_coordination", "safe", "SEED model routing is lab-runtime planning metadata, not a host model switcher."),
    surface("seed_run_telemetry", "seed_coordination", "safe", TRACE_REASON),
    surface("seed_artifact_list", "seed_coordination", "safe", TRACE_REASON, "read"),
    surface("seed_artifact_read", "seed_coordination", "safe", TRACE_REASON, "read"),
    surface("seed_evidence_add", "seed_coordination", "contract_only", TRACE_REASON),
    surface("seed_progress_write", "seed_coordination", "contract_only", TRACE_REASON),
    surface("seed_policy_audit", "seed_coordination", "contract_only", TRACE_REASON),
    surface("seed_report_check", "seed_coordination", "safe", TRACE_REASON),
    surface("seed_report_write", "seed_coordination", "contract_only", TRACE_REASON),
    surface("seed_report_export", "seed_coordination", "contract_only", TRACE_REASON),
    surface("seed_session_list", "seed_coordination", "safe", TRACE_REASON, "read"),
    surface("seed_session_read", "seed_coordination", "safe", TRACE_REASON, "read"),
    surface("seed_session_search", "seed_coordination", "safe", TRACE_REASON, "read"),
    surface("seed_session_info", "seed_coordination", "safe", TRACE_REASON, "read"),
    surface("seed_run_check", "seed_command_exec", "lab_representative_only", COMMAND_REASON, "bash"),
    surface("seed_run_script", "seed_command_exec", "lab_representative_only", COMMAND_REASON, "bash"),
    surface("seed_tool_policy_check", "seed_coordination", "safe", "SEED command policy checks validate a command without executing it."),
    surface("seed_command_status", "seed_coordination", "safe", TRACE_REASON),
    surface("seed_background_start", "seed_command_exec", "lab_representative_only", COMMAND_REASON, "bash"),
    surface("seed_background_output", "seed_coordination", "safe", TRACE_REASON),
    surface("seed_background_notifications", "seed_coordination", "safe", TRACE_REASON),
    surface("seed_background_checkpoint", "seed_coordination", "contract_only", TRACE_REASON),
    surface("seed_background_followup", "seed_delegation", "lab_representative_only", DELEGATION_REASON, "task"),
    surface("seed_background_cancel", "seed_coordination", "contract_only", TRACE_REASON),
    surface("seed_skill", "seed_evidence_capture", "contract_only", EVIDENCE_REASON, "skill"),
    surface("seed_skill_recommend", "seed_evidence_capture", "safe", EVIDENCE_REASON, "skill"),
    surface("seed_skill_mcp", "seed_evidence_capture", "contract_only", EVIDENCE_REASON, "skill"),
    surface("seed_skill_validate", "seed_evidence_capture", "safe", EVIDENCE_REASON, "skill"),
    surface("seed_handoff_to_professor", "seed_coordination", "lab_representative_only", "SEED handoff pauses runtime work and prepares professor-facing state."),
    surface("seed_browser_snapshot", "seed_evidence_capture", "contract_only", EVIDENCE_REASON, "read"),
    surface("seed_document_extract", "seed_evidence_capture", "contract_only", EVIDENCE_REASON, "read"),
    surface("seed_look_at", "seed_evidence_capture", "contract_only", EVIDENCE_REASON, "read"),
];
const SEED_TOOL_SURFACE_BY_NAME = new Map(KNOWN_SEED_TOOL_SURFACES.map((entry) => [entry.tool, entry]));
export function getSeedToolSurface(toolName) {
    return SEED_TOOL_SURFACE_BY_NAME.get(normalizeSeedToolName(toolName));
}
export function listKnownSeedToolSurfaces() {
    return [...KNOWN_SEED_TOOL_SURFACES];
}
export function normalizeSeedToolName(toolName) {
    return toolName.trim().toLowerCase();
}
//# sourceMappingURL=tool-surface.js.map