UNPKG

paqad-ai

Version:

Spec-driven development framework — AI agents that think before they type

49 lines (46 loc) • 1.26 kB
import { createRequire as __paqadCreateRequire } from 'module'; const require = __paqadCreateRequire(import.meta.url); import { init_esm_shims } from "./chunk-IDFRWBMN.js"; // src/core/runtime-paths.ts init_esm_shims(); import { readFileSync } from "fs"; import { dirname, join } from "path"; import { fileURLToPath } from "url"; var PACKAGE_NAME = "paqad-ai"; var packageRoot = null; function isPaqadPackageDir(dir) { try { const parsed = JSON.parse(readFileSync(join(dir, "package.json"), "utf8")); return parsed?.name === PACKAGE_NAME; } catch { return false; } } function findPackageRoot(start) { let dir = start; for (; ; ) { if (isPaqadPackageDir(dir)) return dir; const parent = dirname(dir); if (parent === dir) { throw new Error(`${PACKAGE_NAME}: could not find the package root above ${start}`); } dir = parent; } } function getPackageRoot() { packageRoot ??= findPackageRoot(dirname(fileURLToPath(import.meta.url))); return packageRoot; } function getRuntimeRoot() { return join(getPackageRoot(), "runtime"); } function getRuntimeTemplatesRoot() { return join(getRuntimeRoot(), "templates"); } export { findPackageRoot, getPackageRoot, getRuntimeRoot, getRuntimeTemplatesRoot };