@ruso-0/nreki 7.1.2 → 7.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +805 -774
- package/README.md +308 -442
- package/dist/ast-sandbox.d.ts.map +1 -1
- package/dist/ast-sandbox.js +17 -1
- package/dist/ast-sandbox.js.map +1 -1
- package/dist/audit.d.ts.map +1 -1
- package/dist/audit.js +10 -4
- package/dist/audit.js.map +1 -1
- package/dist/chronos-memory.d.ts.map +1 -1
- package/dist/chronos-memory.js +10 -2
- package/dist/chronos-memory.js.map +1 -1
- package/dist/compressor.d.ts.map +1 -1
- package/dist/compressor.js +13 -1
- package/dist/compressor.js.map +1 -1
- package/dist/database.d.ts +12 -1
- package/dist/database.d.ts.map +1 -1
- package/dist/database.js +81 -29
- package/dist/database.js.map +1 -1
- package/dist/embedder.d.ts.map +1 -1
- package/dist/embedder.js +7 -2
- package/dist/embedder.js.map +1 -1
- package/dist/handlers/code.d.ts.map +1 -1
- package/dist/handlers/code.js +198 -243
- package/dist/handlers/code.js.map +1 -1
- package/dist/handlers/guard.d.ts.map +1 -1
- package/dist/handlers/guard.js +10 -1
- package/dist/handlers/guard.js.map +1 -1
- package/dist/hologram/shadow-generator.d.ts.map +1 -1
- package/dist/hologram/shadow-generator.js +20 -1
- package/dist/hologram/shadow-generator.js.map +1 -1
- package/dist/kernel/backends/lsp-sidecar-base.d.ts +49 -5
- package/dist/kernel/backends/lsp-sidecar-base.d.ts.map +1 -1
- package/dist/kernel/backends/lsp-sidecar-base.js +209 -69
- package/dist/kernel/backends/lsp-sidecar-base.js.map +1 -1
- package/dist/kernel/backends/ts-compiler-wrapper.d.ts +1 -1
- package/dist/kernel/backends/ts-compiler-wrapper.d.ts.map +1 -1
- package/dist/kernel/backends/ts-compiler-wrapper.js +7 -4
- package/dist/kernel/backends/ts-compiler-wrapper.js.map +1 -1
- package/dist/kernel/backends/ts-corsa-sidecar.d.ts +26 -0
- package/dist/kernel/backends/ts-corsa-sidecar.d.ts.map +1 -0
- package/dist/kernel/backends/ts-corsa-sidecar.js +30 -0
- package/dist/kernel/backends/ts-corsa-sidecar.js.map +1 -0
- package/dist/kernel/nreki-kernel.d.ts +37 -0
- package/dist/kernel/nreki-kernel.d.ts.map +1 -1
- package/dist/kernel/nreki-kernel.js +669 -290
- package/dist/kernel/nreki-kernel.js.map +1 -1
- package/dist/kernel/spectral-topology.d.ts.map +1 -1
- package/dist/kernel/spectral-topology.js +32 -16
- package/dist/kernel/spectral-topology.js.map +1 -1
- package/dist/middleware/circuit-breaker.d.ts.map +1 -1
- package/dist/middleware/circuit-breaker.js +18 -2
- package/dist/middleware/circuit-breaker.js.map +1 -1
- package/dist/middleware/file-lock.d.ts.map +1 -1
- package/dist/middleware/file-lock.js +8 -3
- package/dist/middleware/file-lock.js.map +1 -1
- package/dist/monitor.d.ts.map +1 -1
- package/dist/monitor.js +1 -0
- package/dist/monitor.js.map +1 -1
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +19 -2
- package/dist/parser.js.map +1 -1
- package/dist/pin-memory.d.ts +2 -2
- package/dist/pin-memory.d.ts.map +1 -1
- package/dist/pin-memory.js.map +1 -1
- package/dist/repo-map.d.ts.map +1 -1
- package/dist/repo-map.js +26 -0
- package/dist/repo-map.js.map +1 -1
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +58 -18
- package/dist/router.js.map +1 -1
- package/dist/undo.js +1 -1
- package/dist/undo.js.map +1 -1
- package/dist/utils/imports.d.ts.map +1 -1
- package/dist/utils/imports.js +8 -4
- package/dist/utils/imports.js.map +1 -1
- package/dist/utils/latency-tracker.d.ts +22 -0
- package/dist/utils/latency-tracker.d.ts.map +1 -0
- package/dist/utils/latency-tracker.js +49 -0
- package/dist/utils/latency-tracker.js.map +1 -0
- package/dist/utils/logger.d.ts +5 -2
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +29 -6
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/path-jail.d.ts.map +1 -1
- package/dist/utils/path-jail.js +3 -0
- package/dist/utils/path-jail.js.map +1 -1
- package/package.json +96 -79
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* latency-tracker.ts — Lightweight operation latency accumulator.
|
|
3
|
+
*
|
|
4
|
+
* Records timing for the last N operations and computes P50/P95/P99 percentiles.
|
|
5
|
+
* Used by nreki_guard action:"status" to surface performance telemetry.
|
|
6
|
+
* Zero external dependencies.
|
|
7
|
+
*/
|
|
8
|
+
declare class LatencyTracker {
|
|
9
|
+
private samples;
|
|
10
|
+
record(op: string, ms: number): void;
|
|
11
|
+
getStats(op?: string): {
|
|
12
|
+
count: number;
|
|
13
|
+
p50: number;
|
|
14
|
+
p95: number;
|
|
15
|
+
p99: number;
|
|
16
|
+
avg: number;
|
|
17
|
+
} | null;
|
|
18
|
+
getSummary(): string;
|
|
19
|
+
}
|
|
20
|
+
export declare const latencyTracker: LatencyTracker;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=latency-tracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"latency-tracker.d.ts","sourceRoot":"","sources":["../../src/utils/latency-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAUH,cAAM,cAAc;IAChB,OAAO,CAAC,OAAO,CAAsB;IAErC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAOpC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAmBnG,UAAU,IAAI,MAAM;CAcvB;AAGD,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* latency-tracker.ts — Lightweight operation latency accumulator.
|
|
3
|
+
*
|
|
4
|
+
* Records timing for the last N operations and computes P50/P95/P99 percentiles.
|
|
5
|
+
* Used by nreki_guard action:"status" to surface performance telemetry.
|
|
6
|
+
* Zero external dependencies.
|
|
7
|
+
*/
|
|
8
|
+
const MAX_SAMPLES = 200;
|
|
9
|
+
class LatencyTracker {
|
|
10
|
+
samples = [];
|
|
11
|
+
record(op, ms) {
|
|
12
|
+
this.samples.push({ op, ms, ts: Date.now() });
|
|
13
|
+
if (this.samples.length > MAX_SAMPLES) {
|
|
14
|
+
this.samples.shift();
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
getStats(op) {
|
|
18
|
+
const filtered = op
|
|
19
|
+
? this.samples.filter(s => s.op === op)
|
|
20
|
+
: this.samples;
|
|
21
|
+
if (filtered.length === 0)
|
|
22
|
+
return null;
|
|
23
|
+
const sorted = filtered.map(s => s.ms).sort((a, b) => a - b);
|
|
24
|
+
const n = sorted.length;
|
|
25
|
+
return {
|
|
26
|
+
count: n,
|
|
27
|
+
p50: sorted[Math.floor(n * 0.50)] ?? 0,
|
|
28
|
+
p95: sorted[Math.floor(n * 0.95)] ?? 0,
|
|
29
|
+
p99: sorted[Math.floor(n * 0.99)] ?? 0,
|
|
30
|
+
avg: Math.round(sorted.reduce((a, b) => a + b, 0) / n),
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
getSummary() {
|
|
34
|
+
const ops = new Set(this.samples.map(s => s.op));
|
|
35
|
+
if (ops.size === 0)
|
|
36
|
+
return " No operations recorded yet.";
|
|
37
|
+
const lines = [];
|
|
38
|
+
for (const op of ops) {
|
|
39
|
+
const stats = this.getStats(op);
|
|
40
|
+
if (!stats)
|
|
41
|
+
continue;
|
|
42
|
+
lines.push(` ${op}: ${stats.count} ops, avg=${stats.avg}ms, p50=${stats.p50}ms, p95=${stats.p95}ms, p99=${stats.p99}ms`);
|
|
43
|
+
}
|
|
44
|
+
return lines.join("\n");
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
// Singleton
|
|
48
|
+
export const latencyTracker = new LatencyTracker();
|
|
49
|
+
//# sourceMappingURL=latency-tracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"latency-tracker.js","sourceRoot":"","sources":["../../src/utils/latency-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,GAAG,GAAG,CAAC;AAQxB,MAAM,cAAc;IACR,OAAO,GAAmB,EAAE,CAAC;IAErC,MAAM,CAAC,EAAU,EAAE,EAAU;QACzB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC9C,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,WAAW,EAAE,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,EAAW;QAChB,MAAM,QAAQ,GAAG,EAAE;YACf,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;YACvC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QAEnB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAEvC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7D,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;QAExB,OAAO;YACH,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC;YACtC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC;YACtC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC;YACtC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;SACzD,CAAC;IACN,CAAC;IAED,UAAU;QACN,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjD,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,+BAA+B,CAAC;QAE3D,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACnB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAChC,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,KAAK,CAAC,IAAI,CACN,QAAQ,EAAE,KAAK,KAAK,CAAC,KAAK,aAAa,KAAK,CAAC,GAAG,WAAW,KAAK,CAAC,GAAG,WAAW,KAAK,CAAC,GAAG,WAAW,KAAK,CAAC,GAAG,IAAI,CACnH,CAAC;QACN,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;CACJ;AAED,YAAY;AACZ,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC"}
|
package/dist/utils/logger.d.ts
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* logger.ts — Lightweight stderr-only logger
|
|
2
|
+
* logger.ts — Lightweight stderr-only logger with structured output
|
|
3
3
|
*
|
|
4
4
|
* MCP requires stdout to be EXCLUSIVELY JSON-RPC.
|
|
5
5
|
* All diagnostic output goes through process.stderr.write().
|
|
6
6
|
* Zero external dependencies (no winston, no pino).
|
|
7
7
|
*
|
|
8
|
-
* NREKI_DEBUG=1
|
|
8
|
+
* NREKI_DEBUG=1 enables debug-level output.
|
|
9
|
+
* NREKI_LOG_FORMAT=json outputs JSON lines for machine parsing.
|
|
9
10
|
*/
|
|
11
|
+
export declare function setTxId(id: string): void;
|
|
12
|
+
export declare function clearTxId(): void;
|
|
10
13
|
export declare const logger: {
|
|
11
14
|
info: (msg: string) => void;
|
|
12
15
|
warn: (msg: string) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAgB;AACzD,wBAAgB,SAAS,IAAI,IAAI,CAAgB;AAejD,eAAO,MAAM,MAAM;gBACH,MAAM,KAAG,IAAI;gBAGb,MAAM,KAAG,IAAI;iBAGZ,MAAM,QAAQ,OAAO,KAAG,IAAI;iBAI5B,MAAM,KAAG,IAAI;CAG7B,CAAC"}
|
package/dist/utils/logger.js
CHANGED
|
@@ -1,26 +1,49 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* logger.ts — Lightweight stderr-only logger
|
|
2
|
+
* logger.ts — Lightweight stderr-only logger with structured output
|
|
3
3
|
*
|
|
4
4
|
* MCP requires stdout to be EXCLUSIVELY JSON-RPC.
|
|
5
5
|
* All diagnostic output goes through process.stderr.write().
|
|
6
6
|
* Zero external dependencies (no winston, no pino).
|
|
7
7
|
*
|
|
8
|
-
* NREKI_DEBUG=1
|
|
8
|
+
* NREKI_DEBUG=1 enables debug-level output.
|
|
9
|
+
* NREKI_LOG_FORMAT=json outputs JSON lines for machine parsing.
|
|
9
10
|
*/
|
|
11
|
+
const iso = () => new Date().toISOString();
|
|
12
|
+
const compact = () => iso().slice(11, 23); // HH:MM:SS.mmm
|
|
13
|
+
const isJson = process.env.NREKI_LOG_FORMAT === "json";
|
|
14
|
+
// ─── Transaction context (set per interceptAtomicBatch) ──────────
|
|
15
|
+
let _txId = "";
|
|
16
|
+
export function setTxId(id) { _txId = id; }
|
|
17
|
+
export function clearTxId() { _txId = ""; }
|
|
18
|
+
function emit(level, msg, trace) {
|
|
19
|
+
if (isJson) {
|
|
20
|
+
const obj = { level, ts: iso(), msg };
|
|
21
|
+
if (_txId)
|
|
22
|
+
obj.txId = _txId;
|
|
23
|
+
if (trace)
|
|
24
|
+
obj.trace = trace;
|
|
25
|
+
process.stderr.write(JSON.stringify(obj) + "\n");
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
const tx = _txId ? ` tx:${_txId}` : "";
|
|
29
|
+
const suffix = trace ?? "";
|
|
30
|
+
process.stderr.write(`[NREKI:${level} ${compact()}${tx}] ${msg}${suffix}\n`);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
10
33
|
export const logger = {
|
|
11
34
|
info: (msg) => {
|
|
12
|
-
|
|
35
|
+
emit("INFO", msg);
|
|
13
36
|
},
|
|
14
37
|
warn: (msg) => {
|
|
15
|
-
|
|
38
|
+
emit("WARN", msg);
|
|
16
39
|
},
|
|
17
40
|
error: (msg, err) => {
|
|
18
41
|
const trace = err instanceof Error ? ` ${err.stack}` : (err ? ` ${err}` : "");
|
|
19
|
-
|
|
42
|
+
emit("ERROR", msg, trace || undefined);
|
|
20
43
|
},
|
|
21
44
|
debug: (msg) => {
|
|
22
45
|
if (process.env.NREKI_DEBUG)
|
|
23
|
-
|
|
46
|
+
emit("DEBUG", msg);
|
|
24
47
|
},
|
|
25
48
|
};
|
|
26
49
|
//# sourceMappingURL=logger.js.map
|
package/dist/utils/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,GAAG,GAAG,GAAW,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACnD,MAAM,OAAO,GAAG,GAAW,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe;AAClE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,MAAM,CAAC;AAEvD,oEAAoE;AACpE,IAAI,KAAK,GAAG,EAAE,CAAC;AACf,MAAM,UAAU,OAAO,CAAC,EAAU,IAAU,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;AACzD,MAAM,UAAU,SAAS,KAAW,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;AAEjD,SAAS,IAAI,CAAC,KAAa,EAAE,GAAW,EAAE,KAAc;IACpD,IAAI,MAAM,EAAE,CAAC;QACT,MAAM,GAAG,GAA2B,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC;QAC9D,IAAI,KAAK;YAAE,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC;QAC5B,IAAI,KAAK;YAAE,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;QAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACrD,CAAC;SAAM,CAAC;QACJ,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE,CAAC;QAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,KAAK,IAAI,OAAO,EAAE,GAAG,EAAE,KAAK,GAAG,GAAG,MAAM,IAAI,CAAC,CAAC;IACjF,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG;IAClB,IAAI,EAAE,CAAC,GAAW,EAAQ,EAAE;QACxB,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,IAAI,EAAE,CAAC,GAAW,EAAQ,EAAE;QACxB,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,KAAK,EAAE,CAAC,GAAW,EAAE,GAAa,EAAQ,EAAE;QACxC,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9E,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,IAAI,SAAS,CAAC,CAAC;IAC3C,CAAC;IACD,KAAK,EAAE,CAAC,GAAW,EAAQ,EAAE;QACzB,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW;YAAE,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACpD,CAAC;CACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path-jail.d.ts","sourceRoot":"","sources":["../../src/utils/path-jail.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"path-jail.d.ts","sourceRoot":"","sources":["../../src/utils/path-jail.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA+BH;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAGzD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAoEzE"}
|
package/dist/utils/path-jail.js
CHANGED
|
@@ -27,6 +27,9 @@ const SENSITIVE_PATTERNS = [
|
|
|
27
27
|
/[/\\]\.htpasswd$/i, // Apache password file
|
|
28
28
|
/[/\\]\.git-credentials$/i, // Git credential file
|
|
29
29
|
/[/\\]\.kube[/\\]config$/i, // Kubernetes config
|
|
30
|
+
/\.age$/i, // age encryption keys
|
|
31
|
+
/[/\\]vault-token$/i, // HashiCorp Vault token
|
|
32
|
+
/[/\\]\.terraform[/\\]/i, // Terraform state (may contain secrets)
|
|
30
33
|
];
|
|
31
34
|
/**
|
|
32
35
|
* Check if a file path matches known sensitive file patterns.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path-jail.js","sourceRoot":"","sources":["../../src/utils/path-jail.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,uEAAuE;AAEvE,MAAM,kBAAkB,GAAa;IACjC,cAAc,EAAsB,oCAAoC;IACxE,kBAAkB,EAAkB,SAAS;IAC7C,oBAAoB,EAAe,WAAW;IAC9C,kBAAkB,EAAiB,SAAS;IAC5C,SAAS,EAA2B,eAAe;IACnD,aAAa,EAAuB,mBAAmB;IACvD,SAAS,EAA2B,wBAAwB;IAC5D,SAAS,EAA2B,oBAAoB;IACxD,gBAAgB,EAAoB,kBAAkB;IACtD,iBAAiB,EAAmB,mBAAmB;IACvD,8BAA8B,EAAM,uBAAuB;IAC3D,yBAAyB,EAAW,kCAAkC;IACtE,kCAAkC,EAAE,cAAc;IAClD,0BAA0B,EAAU,4BAA4B;IAChE,gBAAgB,EAAoB,uBAAuB;IAC3D,mBAAmB,EAAgB,uBAAuB;IAC1D,0BAA0B,EAAU,sBAAsB;IAC1D,0BAA0B,EAAU,oBAAoB;
|
|
1
|
+
{"version":3,"file":"path-jail.js","sourceRoot":"","sources":["../../src/utils/path-jail.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,79 +1,96 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@ruso-0/nreki",
|
|
3
|
-
"version": "7.
|
|
4
|
-
"description": "MCP
|
|
5
|
-
"main": "dist/index.js",
|
|
6
|
-
"type": "module",
|
|
7
|
-
"bin": {
|
|
8
|
-
"nreki": "dist/index.js"
|
|
9
|
-
},
|
|
10
|
-
"scripts": {
|
|
11
|
-
"build": "tsc",
|
|
12
|
-
"start": "node dist/index.js",
|
|
13
|
-
"dev": "tsx src/index.ts",
|
|
14
|
-
"test": "vitest run",
|
|
15
|
-
"test:watch": "vitest",
|
|
16
|
-
"postinstall": "node scripts/download-wasm.js",
|
|
17
|
-
"lint": "tsc --noEmit",
|
|
18
|
-
"benchmark:spectral": "tsx tests/benchmark-spectral.ts",
|
|
19
|
-
"benchmark:external": "tsx tests/benchmark-spectral-external.ts",
|
|
20
|
-
"benchmark:precision": "tsx tests/benchmark-precision.ts"
|
|
21
|
-
},
|
|
22
|
-
"keywords": [
|
|
23
|
-
"nreki",
|
|
24
|
-
"mcp",
|
|
25
|
-
"claude-code",
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
"
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
"
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
"
|
|
77
|
-
"
|
|
78
|
-
|
|
79
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@ruso-0/nreki",
|
|
3
|
+
"version": "7.3.0",
|
|
4
|
+
"description": "MCP plugin that validates AI agent edits in RAM before they touch disk. Cross-file semantic checks for TypeScript, Go (gopls), and Python (pyright). Auto-healing, type regression detection, and spectral topology. Zero cloud dependencies.",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"bin": {
|
|
8
|
+
"nreki": "dist/index.js"
|
|
9
|
+
},
|
|
10
|
+
"scripts": {
|
|
11
|
+
"build": "tsc",
|
|
12
|
+
"start": "node dist/index.js",
|
|
13
|
+
"dev": "tsx src/index.ts",
|
|
14
|
+
"test": "vitest run",
|
|
15
|
+
"test:watch": "vitest",
|
|
16
|
+
"postinstall": "node scripts/download-wasm.js",
|
|
17
|
+
"lint": "tsc --noEmit",
|
|
18
|
+
"benchmark:spectral": "tsx tests/benchmark-spectral.ts",
|
|
19
|
+
"benchmark:external": "tsx tests/benchmark-spectral-external.ts",
|
|
20
|
+
"benchmark:precision": "tsx tests/benchmark-precision.ts"
|
|
21
|
+
},
|
|
22
|
+
"keywords": [
|
|
23
|
+
"nreki",
|
|
24
|
+
"mcp",
|
|
25
|
+
"claude-code",
|
|
26
|
+
"cursor",
|
|
27
|
+
"copilot",
|
|
28
|
+
"ai-safety",
|
|
29
|
+
"ai-coding-agent",
|
|
30
|
+
"ast-validation",
|
|
31
|
+
"semantic-verification",
|
|
32
|
+
"acid-transactions",
|
|
33
|
+
"vfs",
|
|
34
|
+
"typescript-compiler",
|
|
35
|
+
"gopls",
|
|
36
|
+
"pyright",
|
|
37
|
+
"multi-language",
|
|
38
|
+
"circuit-breaker",
|
|
39
|
+
"tree-sitter",
|
|
40
|
+
"pagerank",
|
|
41
|
+
"blast-radius",
|
|
42
|
+
"code-safety",
|
|
43
|
+
"surgical-edit",
|
|
44
|
+
"auto-healing",
|
|
45
|
+
"type-regression",
|
|
46
|
+
"spectral-topology",
|
|
47
|
+
"fiedler-vector",
|
|
48
|
+
"topology-aware-rag",
|
|
49
|
+
"lsp-sidecar"
|
|
50
|
+
],
|
|
51
|
+
"author": "Jherson Eddie Tintaya Holguin (https://github.com/Ruso-0)",
|
|
52
|
+
"license": "Apache-2.0",
|
|
53
|
+
"dependencies": {
|
|
54
|
+
"@modelcontextprotocol/sdk": "^1.12.1",
|
|
55
|
+
"chokidar": "^4.0.3",
|
|
56
|
+
"picomatch": "^4.0.3",
|
|
57
|
+
"sql.js": "^1.12.0",
|
|
58
|
+
"tree-sitter-wasms": "^0.1.13",
|
|
59
|
+
"web-tree-sitter": "^0.24.7",
|
|
60
|
+
"zod": "^3.24.2"
|
|
61
|
+
},
|
|
62
|
+
"peerDependencies": {
|
|
63
|
+
"typescript": ">=5.5.0"
|
|
64
|
+
},
|
|
65
|
+
"peerDependenciesMeta": {
|
|
66
|
+
"typescript": {
|
|
67
|
+
"optional": false
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
"optionalDependencies": {
|
|
71
|
+
"@xenova/transformers": "^2.17.2"
|
|
72
|
+
},
|
|
73
|
+
"devDependencies": {
|
|
74
|
+
"@types/node": "^22.13.10",
|
|
75
|
+
"@types/picomatch": "^4.0.2",
|
|
76
|
+
"tsx": "^4.19.3",
|
|
77
|
+
"typescript": "^5.9.3",
|
|
78
|
+
"vitest": "^4.1.1"
|
|
79
|
+
},
|
|
80
|
+
"files": [
|
|
81
|
+
"dist/",
|
|
82
|
+
"wasm/",
|
|
83
|
+
"templates/",
|
|
84
|
+
"scripts/download-wasm.js",
|
|
85
|
+
"README.md",
|
|
86
|
+
"LICENSE",
|
|
87
|
+
"CHANGELOG.md"
|
|
88
|
+
],
|
|
89
|
+
"engines": {
|
|
90
|
+
"node": ">=20.0.0"
|
|
91
|
+
},
|
|
92
|
+
"repository": {
|
|
93
|
+
"type": "git",
|
|
94
|
+
"url": "https://github.com/Ruso-0/nreki"
|
|
95
|
+
}
|
|
96
|
+
}
|