MCPcopy
hub / github.com/Doorman11991/smallcode / redactValue

Function redactValue

src/security/sanitize.js:82–98  ·  view source on GitHub ↗

* Recursively redact a value (object, array, or primitive). * Returns a deep clone with secrets replaced. Cycles guarded via WeakSet.

(value, seen = new WeakSet())

Source from the content-addressed store, hash-verified

80 * Returns a deep clone with secrets replaced. Cycles guarded via WeakSet.
81 */
82function redactValue(value, seen = new WeakSet()) {
83 if (value === null || value === undefined) return value;
84 if (typeof value === 'string') return redactString(value);
85 if (typeof value !== 'object') return value;
86 if (seen.has(value)) return '[Circular]';
87 seen.add(value);
88 if (Array.isArray(value)) return value.map(v => redactValue(v, seen));
89 const out = {};
90 for (const [k, v] of Object.entries(value)) {
91 if (ALWAYS_REDACT_KEYS.has(k.toLowerCase())) {
92 out[k] = '[REDACTED]';
93 } else {
94 out[k] = redactValue(v, seen);
95 }
96 }
97 return out;
98}
99
100// ─── Path safety ────────────────────────────────────────────────────────────
101

Callers 4

exportToMarkdownFunction · 0.50
_saveMethod · 0.50
recordToolCallMethod · 0.50
recordModelResponseMethod · 0.50

Calls 3

redactStringFunction · 0.85
addMethod · 0.80
hasMethod · 0.45

Tested by

no test coverage detected