import { getRegisteredSuperToolNames } from '../shared/tool-registry.js';

export type SuperTool =
  | 'gn_explore'
  | 'gn_explain_module'
  | 'gn_find_related'
  | 'gn_safe_edit_check'
  | 'gn_can_delete'
  | 'gn_pre_commit_audit'
  | 'gn_safe_refactor'
  | 'gn_ensure_fresh'
  | 'gn_quality_mode'
  | 'gn_diff_impact'
  | 'gn_review_diff'
  | 'gn_diagnose'
  | 'gn_propose_location'
  | 'gn_tool_contract'
  | 'gn_docs'
  | 'gn_audit_ingest'
  | 'gn_audit_verify'
  | 'gn_fix_history'
  | 'gn_audit_bundle'
  | 'gn_audit_lint'
  | 'gn_audit_dedupe'
  | 'gn_dispatch_prompt'
  | 'gn_audit_tombstone_create'
  | 'gn_audit_session_start'
  | 'gn_audit_session_verify'
  | 'gn_audit_session_dedupe'
  | 'gn_audit_session_bundle'
  | 'gn_audit_session_dispatch'
  | 'gn_audit_session_review_worker'
  | 'gn_audit_session_lock'
  | 'gn_audit_pr_marker_scan'
  | 'gn_audit_diff'
  | 'gn_audit_replay'
  | 'gn_audit_export'
  | 'gn_scope_guard'
  | 'gn_bundle_conflicts'
  | 'gn_audit_logic'
  | 'gn_trace_boundary'
  | 'gn_resource_trace'
  | 'gn_path_verify'
  | 'gn_test_suggestions'
  | 'gn_extract_fsm'
  | 'gn_error_topology'
  | 'gn_concurrency_audit'
  | 'gn_pressure_impact'
  | 'gn_taint_trace'
  | 'gn_abi_diff'
  | 'gn_simulate_fault'
  | 'gn_verify_diff'
  | 'gn_test_gap'
  | 'gn_worker_scope_review'
  | 'gn_help'
  | 'gn_graph_walk';

export const SUPER_NAMES = new Set<SuperTool>([...(getRegisteredSuperToolNames() as SuperTool[])]);
