import { app } from 'electron';
import { join } from 'node:path';

// Résolution des chemins runtime : dev (depuis le repo) vs packagé (extraResources).
// __dirname pointe sur dist/ (bundle esbuild) une fois construit.

/** Entrée du serveur daemon (son dist/index.js). */
export function resolveServerEntry(): string {
  if (app.isPackaged) {
    // packagé : le tarball du daemon est extrait sous resources/server/package/
    return join(process.resourcesPath, 'server', 'package', 'dist', 'index.js');
  }
  // dev : packages/desktop/dist/main.js -> packages/server/dist/index.js
  return join(__dirname, '..', '..', 'server', 'dist', 'index.js');
}

/** Binaire Node qui exécute le daemon (>= 22.16 : node:sqlite + ABI node-pty maîtrisé). */
export function resolveNodeBin(): string {
  if (app.isPackaged) {
    return process.platform === 'win32'
      ? join(process.resourcesPath, 'node', 'node.exe')
      : join(process.resourcesPath, 'node', 'bin', 'node');
  }
  // dev : node du PATH (mêmes prebuilds node-pty que le repo).
  return process.platform === 'win32' ? 'node.exe' : 'node';
}
