depth-test.cjs
const { dirname, join } = require('node:path');
const { existsSync } = require('node:fs');
function findRoot(start) {
let d = dirname(start);
for (;;) {
const has = existsSync(join(d, 'REA'));
if (has) return d;
const p = dirname(d);
if (p === d) break;
d = p;
}
return dirname(start);
}
const ROOT = '/home/sensei/works/rea-mcp';
const cases = [
[join(ROOT, 'dist.core/reaClient.js'), 'tsc build (dist/core)'],
[join(ROOT, 'src.core/reaClient.ts'), 'source (src/core)'],
[join(ROOT, '.lmstudio/reaClient.js'), 'lms dev (shallow .lmstudio)'],
[join(ROOT, '.lmstudio/nested/deep/x.js'), 'lms dev (deep)'],
];
let okAll = true;
for (const [p, label] of cases) {
const g = findRoot(p);
if (g !== ROOT) okAll = false;
console.log((g===ROOT?'PASS':'FAIL') + ' [' + label + '] -> ' + (g===ROOT?('ROOT OK REA/dist/main.js resolves') : g));
}
console.log(okAll ? 'ALL DEPTHS -> PLUGIN ROOT (fix is depth-agnostic)' : 'Some FAILED');
depth-test.cjs
const { dirname, join } = require('node:path');
const { existsSync } = require('node:fs');
function findRoot(start) {
let d = dirname(start);
for (;;) {
const has = existsSync(join(d, 'REA'));
if (has) return d;
const p = dirname(d);
if (p === d) break;
d = p;
}
return dirname(start);
}
const ROOT = '/home/sensei/works/rea-mcp';
const cases = [
[join(ROOT, 'dist.core/reaClient.js'), 'tsc build (dist/core)'],
[join(ROOT, 'src.core/reaClient.ts'), 'source (src/core)'],
[join(ROOT, '.lmstudio/reaClient.js'), 'lms dev (shallow .lmstudio)'],
[join(ROOT, '.lmstudio/nested/deep/x.js'), 'lms dev (deep)'],
];
let okAll = true;
for (const [p, label] of cases) {
const g = findRoot(p);
if (g !== ROOT) okAll = false;
console.log((g===ROOT?'PASS':'FAIL') + ' [' + label + '] -> ' + (g===ROOT?('ROOT OK REA/dist/main.js resolves') : g));
}
console.log(okAll ? 'ALL DEPTHS -> PLUGIN ROOT (fix is depth-agnostic)' : 'Some FAILED');