export const TOOL_PHASE_MAP = {
    skyramp_recommend_tests: "analyzing",
    skyramp_analyze_changes: "analyzing",
    skyramp_smoke_test_generation: "generating",
    skyramp_fuzz_test_generation: "generating",
    skyramp_contract_test_generation: "generating",
    skyramp_load_test_generation: "generating",
    skyramp_integration_test_generation: "generating",
    skyramp_e2e_test_generation: "generating",
    skyramp_ui_test_generation: "generating",
    skyramp_batch_scenario_test_generation: "generating",
    skyramp_mock_generation: "generating",
    skyramp_execute_test: { before: "maintaining", after: "executing" },
    skyramp_analyze_test_health: "maintaining",
    skyramp_submit_report: "reporting",
};
/** Tools whose phase depends on context — listed here for consumer discovery. */
export const CONTEXT_DEPENDENT_TOOLS = new Set(Object.entries(TOOL_PHASE_MAP)
    .filter((entry) => typeof entry[1] === "object")
    .map((entry) => entry[0]));
/** All tools that belong to the "generating" phase — used as the boundary. */
export const GENERATING_TOOLS = new Set(Object.entries(TOOL_PHASE_MAP)
    .filter((entry) => typeof entry[1] === "string" && entry[1] === "generating")
    .map((entry) => entry[0]));
/** Tools that intentionally have no progress phase (infrastructure/utility). */
export const TOOLS_WITHOUT_PHASE = new Set([
    "skyramp_login",
    "skyramp_logout",
    "skyramp_init_scan",
    "skyramp_init_workspace",
    "skyramp_one_click_tool",
    "skyramp_actions",
    "skyramp_start_trace_collection",
    "skyramp_stop_trace_collection",
    "skyramp_fix_errors",
    "skyramp_modularization",
    "skyramp_reuse_code",
    "skyramp_enhance_assertions",
]);
