dist / tools / constants.js
dist / tools / constants.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.AWARENESS_FILE = exports.RAW_SESSIONS_DIR = exports.SESSIONS_DIR = exports.MEMORY_BASE = exports.targetBase = exports.cognitiveCastleRoot = exports.isWindows = void 0;
exports.ensureDirectory = ensureDirectory;
exports.resolveInsideBase = resolveInsideBase;
const fs_1 = require("fs");
const path_1 = require("path");
const promises_1 = require("fs/promises");
exports.isWindows = process.platform === 'win32';
// ============================================================
// ✅ COGNITIVE CASTLE ROOT — from env or default
// ============================================================
// Priority:
// 1. COGNITIVE_CASTLE_ROOT (env)
// 2. BIDO_ROOT (env)
// 3. Default: D:\bido\2026 (Windows) or ./data/bido (other)
// ============================================================
exports.cognitiveCastleRoot = (0, path_1.normalize)(process.env.COGNITIVE_CASTLE_ROOT ||
process.env.BIDO_ROOT ||
(exports.isWindows && (0, fs_1.existsSync)("D:\\")
? "D:\\bido\\2026"
: "./data/bido"));
exports.targetBase = exports.cognitiveCastleRoot;
console.info(`[Constants] 🏛️ Cognitive Castle Root: ${exports.targetBase}`);
// ============================================================
// ✅ Memory directories (relative to root)
// ============================================================
exports.MEMORY_BASE = (0, path_1.join)(exports.targetBase, "memory");
exports.SESSIONS_DIR = (0, path_1.join)(exports.MEMORY_BASE, "sessions");
exports.RAW_SESSIONS_DIR = (0, path_1.join)(exports.MEMORY_BASE, "raw_sessions");
exports.AWARENESS_FILE = (0, path_1.join)(exports.MEMORY_BASE, "awareness", "awareness.json");
// ============================================================
// ✅ Ensure root exists
// ============================================================
if (!(0, fs_1.existsSync)(exports.targetBase)) {
try {
(0, fs_1.mkdirSync)(exports.targetBase, { recursive: true });
console.info(`[Constants] ✅ Created root: ${exports.targetBase}`);
}
catch (e) {
console.error(`[Constants] ❌ Failed to create root: ${exports.targetBase}`, e.message);
}
}
// ============================================================
// ✅ Helpers
// ============================================================
async function ensureDirectory(dirPath) {
if (!(0, fs_1.existsSync)(dirPath))
await (0, promises_1.mkdir)(dirPath, { recursive: true });
}
function resolveInsideBase(rel) {
if (rel.startsWith("raw_sessions/") || rel.startsWith("raw_sessions\\")) {
return (0, path_1.normalize)((0, path_1.join)(exports.MEMORY_BASE, rel));
}
const isAbs = /^([A-Za-z]:)?[\\\/]/.test(rel);
return (0, path_1.normalize)(isAbs ? rel : (0, path_1.join)(exports.targetBase, rel));
}
//# sourceMappingURL=constants.js.map"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.AWARENESS_FILE = exports.RAW_SESSIONS_DIR = exports.SESSIONS_DIR = exports.MEMORY_BASE = exports.targetBase = exports.cognitiveCastleRoot = exports.isWindows = void 0;
exports.ensureDirectory = ensureDirectory;
exports.resolveInsideBase = resolveInsideBase;
const fs_1 = require("fs");
const path_1 = require("path");
const promises_1 = require("fs/promises");
exports.isWindows = process.platform === 'win32';
// ============================================================
// ✅ COGNITIVE CASTLE ROOT — from env or default
// ============================================================
// Priority:
// 1. COGNITIVE_CASTLE_ROOT (env)
// 2. BIDO_ROOT (env)
// 3. Default: D:\bido\2026 (Windows) or ./data/bido (other)
// ============================================================
exports.cognitiveCastleRoot = (0, path_1.normalize)(process.env.COGNITIVE_CASTLE_ROOT ||
process.env.BIDO_ROOT ||
(exports.isWindows && (0, fs_1.existsSync)("D:\\")
? "D:\\bido\\2026"
: "./data/bido"));
exports.targetBase = exports.cognitiveCastleRoot;
console.info(`[Constants] 🏛️ Cognitive Castle Root: ${exports.targetBase}`);
// ============================================================
// ✅ Memory directories (relative to root)
// ============================================================
exports.MEMORY_BASE = (0, path_1.join)(exports.targetBase, "memory");
exports.SESSIONS_DIR = (0, path_1.join)(exports.MEMORY_BASE, "sessions");
exports.RAW_SESSIONS_DIR = (0, path_1.join)(exports.MEMORY_BASE, "raw_sessions");
exports.AWARENESS_FILE = (0, path_1.join)(exports.MEMORY_BASE, "awareness", "awareness.json");
// ============================================================
// ✅ Ensure root exists
// ============================================================
if (!(0, fs_1.existsSync)(exports.targetBase)) {
try {
(0, fs_1.mkdirSync)(exports.targetBase, { recursive: true });
console.info(`[Constants] ✅ Created root: ${exports.targetBase}`);
}
catch (e) {
console.error(`[Constants] ❌ Failed to create root: ${exports.targetBase}`, e.message);
}
}
// ============================================================
// ✅ Helpers
// ============================================================
async function ensureDirectory(dirPath) {
if (!(0, fs_1.existsSync)(dirPath))
await (0, promises_1.mkdir)(dirPath, { recursive: true });
}
function resolveInsideBase(rel) {
if (rel.startsWith("raw_sessions/") || rel.startsWith("raw_sessions\\")) {
return (0, path_1.normalize)((0, path_1.join)(exports.MEMORY_BASE, rel));
}
const isAbs = /^([A-Za-z]:)?[\\\/]/.test(rel);
return (0, path_1.normalize)(isAbs ? rel : (0, path_1.join)(exports.targetBase, rel));
}
//# sourceMappingURL=constants.js.map