/**
 * Regenerate the product vector index.
 *
 * Usage:
 *   npm run build:vectors              # offline LSA index (no API key needed)
 *   npm run build:vectors -- remote    # remote provider (needs EMBEDDING_API_KEY)
 */

import { regenerateVectorIndex } from "../src/lib/vector-index";

async function main(): Promise<void> {
  const providerArg = process.argv[2];
  const providerId = providerArg === "remote" || providerArg === "local" ? providerArg : undefined;

  const started = performance.now();
  const file = await regenerateVectorIndex(providerId);

  const seconds = ((performance.now() - started) / 1000).toFixed(2);
  console.log(
    `[build:vectors] ${file.documentCount} products -> ${file.dimensions} dimensions ` +
      `(provider ${file.provider.id}/${file.provider.model}) in ${seconds}s`,
  );
  console.log(`[build:vectors] vocabulary size: ${file.terms.length} terms`);
  console.log(`[build:vectors] source: ${file.sourceHash}`);
}

main().catch((error: unknown) => {
  console.error("[build:vectors] failed:", error instanceof Error ? error.message : error);
  process.exitCode = 1;
});
