// AUTO-GENERATED by scripts/generate-endpoints.js from file:///Users/tomtang/Projects/folddb/fold_db/src/datafold_node/static-react/../../../target/openapi.json
// Do not edit manually. Run: npm run generate:endpoints

import type { paths } from '../types/openapi'

type PathParams<P extends keyof paths, M extends keyof paths[P]> =
  paths[P][M] extends { parameters: { path: infer T } } ? T : Record<string, string>

export const API_ENDPOINTS_DERIVED = {
  GET_INDEXING_STATUS: '/indexing/status',
  GET_INGESTION_CONFIG: '/ingestion/config',
  HEALTH_CHECK: '/ingestion/health',
  PROCESS_JSON: '/ingestion/process',
  GET_STATUS: '/ingestion/status',
  VALIDATE_JSON: '/ingestion/validate',
  ANALYZE_QUERY: '/llm-query/analyze',
  GET_BACKFILL_STATUS: (hash: PathParams<'/api/llm-query/backfill/{hash}', 'get'>['hash']) => `/llm-query/backfill/${hash}`,
  CHAT: '/llm-query/chat',
  EXECUTE_QUERY_PLAN: '/llm-query/execute',
  RUN_QUERY: '/llm-query/run',
  LIST_LOGS: '/logs',
  GET_CONFIG: '/logs/config',
  RELOAD_CONFIG: '/logs/config/reload',
  GET_FEATURES: '/logs/features',
  UPDATE_FEATURE_LEVEL: '/logs/level',
  STREAM_LOGS: '/logs/stream',
  EXECUTE_MUTATION: '/mutation',
  NATIVE_INDEX_SEARCH: '/native-index/search',
  EXECUTE_QUERY: '/query',
  GET_SCHEMA: (name: PathParams<'/api/schema/{name}', 'get'>['name']) => `/schema/${name}`,
  APPROVE_SCHEMA: (name: PathParams<'/api/schema/{name}/approve', 'post'>['name']) => `/schema/${name}/approve`,
  BLOCK_SCHEMA: (name: PathParams<'/api/schema/{name}/block', 'post'>['name']) => `/schema/${name}/block`,
  LIST_SCHEMAS: '/schemas',
  LOAD_SCHEMAS: '/schemas/load',
  GET_SYSTEM_PUBLIC_KEY: '/security/system-key',
  GET_NODE_PRIVATE_KEY: '/system/private-key',
  GET_NODE_PUBLIC_KEY: '/system/public-key',
  RESET_DATABASE: '/system/reset-database',
  RESET_SCHEMA_SERVICE: '/system/reset-schema-service',
  GET_SYSTEM_STATUS: '/system/status',
  LIST_TRANSFORMS: '/transforms',
  GET_ALL_BACKFILLS: '/transforms/backfills',
  GET_ACTIVE_BACKFILLS: '/transforms/backfills/active',
  GET_BACKFILL_STATISTICS: '/transforms/backfills/statistics',
  GET_BACKFILL: (id: PathParams<'/api/transforms/backfills/{id}', 'get'>['id']) => `/transforms/backfills/${id}`,
  GET_TRANSFORM_QUEUE: '/transforms/queue',
  ADD_TO_TRANSFORM_QUEUE: (id: PathParams<'/api/transforms/queue/{id}', 'post'>['id']) => `/transforms/queue/${id}`,
  GET_TRANSFORM_STATISTICS: '/transforms/statistics',
} as const;

// Base URL prefixes derived from OpenAPI paths
export const API_BASE_URLS = {
  ROOT: '/api',
  INDEXING: '/api/indexing',
  INGESTION: '/api/ingestion',
  LLM_QUERY: '/api/llm-query',
  LOGS: '/api/logs',
  MUTATION: '/api/mutation',
  NATIVE_INDEX: '/api/native-index',
  QUERY: '/api/query',
  SCHEMA: '/api/schema',
  SCHEMAS: '/api/schemas',
  SECURITY: '/api/security',
  SYSTEM: '/api/system',
  TRANSFORMS: '/api/transforms',
} as const;

// Export generated endpoints directly (no hardcoded aliases)
export const API_ENDPOINTS = API_ENDPOINTS_DERIVED;
export type ApiEndpoint = typeof API_ENDPOINTS[keyof typeof API_ENDPOINTS];
