export const EXTENSION_ID = "codeflash";
export const EXTENSION_NAME = "Codeflash";
export const SIDEBAR_VIEW_ID = "codeflash-sidebar";

export const LSP_CLIENT_ID = "cf-lsp";
export const LSP_CLIENT_NAME = "Codeflash Language Server";
export const LSP_MODULE_NAME = "codeflash.lsp.server_entry";

export const OUTPUT_CHANNEL_PREFIX_NAMES = {
  LSP: "CF-LSP",
} as const;

// always keep these in sync with the server-side LSP command names
export const LSP_COMMANDS = {
  GET_CONFIG_SUGGESTIONS: "getConfigSuggestions",
  WRITE_CONFIG: "writeConfig",
  CHECK_API_KEY: "apiKeyExistsAndValid",
  PROVIDE_API_KEY: "provideApiKey",
  GET_OPTIMIZABLE_FUNCTIONS: "getOptimizableFunctions",
  GET_OPTIMIZABLE_FUNCTIONS_IN_CURRENT_DIFF:
    "getOptimizableFunctionsInCurrentDiff",
  GET_OPTIMIZABLE_FUNCTIONS_IN_COMMIT: "getOptimizableFunctionsInCommit",
  INITIALIZE_FUNCTION_OPTIMIZATION: "initializeFunctionOptimization",
  PERFORM_FUNCTION_OPTIMIZATION: "performFunctionOptimization",
  CLEANUP_CURRENT_OPTIMIZER_SESSION: "cleanupCurrentOptimizerSession",
  INIT_PROJECT: "initProject",
  START_DEMO_OPTIMIZATION: "startDemoOptimization",
} as const;

export const PYTHON_EXTENSION_ID = "ms-python.python";
export const CODEFLASH_EXTENSION_ID = "codeflash.codeflash";
export const SIDEBAR_BUNDLE_DIR = "packages/sidebar-webview/build/";
