putitoutthere 0.1.15 → 0.1.16
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/dist/log.d.ts +7 -2
- package/dist/log.d.ts.map +1 -1
- package/dist/log.js +9 -4
- package/dist/log.js.map +1 -1
- package/package.json +1 -1
package/dist/log.d.ts
CHANGED
|
@@ -4,7 +4,9 @@
|
|
|
4
4
|
* JSON-per-line output in CI; human-readable text in TTYs. Every emitted
|
|
5
5
|
* line is passed through a redactor that replaces any occurrence of a
|
|
6
6
|
* known-secret env value (keys matching *TOKEN* / *SECRET* / *PASSWORD*
|
|
7
|
-
* / *KEY*, case-insensitive) with `[REDACTED]
|
|
7
|
+
* / *KEY*, case-insensitive) with `[REDACTED:<digest>]`, where `<digest>`
|
|
8
|
+
* is a stable 8-hex-char SHA-256 prefix (#134). Operators can correlate
|
|
9
|
+
* rotated tokens across log lines without ever seeing the value.
|
|
8
10
|
*
|
|
9
11
|
* Substring redaction (rather than Pino-style field-path redaction) is
|
|
10
12
|
* deliberate: handlers capture child-process stdout/stderr and feed it
|
|
@@ -23,7 +25,10 @@ export interface LoggerOptions {
|
|
|
23
25
|
}
|
|
24
26
|
export declare function createLogger(opts?: LoggerOptions): Logger;
|
|
25
27
|
/**
|
|
26
|
-
* Replace every occurrence of a known-secret env value with
|
|
28
|
+
* Replace every occurrence of a known-secret env value with
|
|
29
|
+
* `[REDACTED:<digest>]` where `<digest>` is a stable 8-hex-char
|
|
30
|
+
* SHA-256 prefix of the token. Operators can correlate rotated
|
|
31
|
+
* tokens across log lines without ever seeing the value itself.
|
|
27
32
|
* Empty / single-char values are skipped to avoid mangling unrelated
|
|
28
33
|
* characters. Called on every log write.
|
|
29
34
|
*/
|
package/dist/log.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AASxD,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,wBAAgB,YAAY,CAAC,IAAI,GAAE,aAAkB,GAAG,MAAM,CAsB7D;AA0BD;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAWxC"}
|
package/dist/log.js
CHANGED
|
@@ -4,7 +4,9 @@
|
|
|
4
4
|
* JSON-per-line output in CI; human-readable text in TTYs. Every emitted
|
|
5
5
|
* line is passed through a redactor that replaces any occurrence of a
|
|
6
6
|
* known-secret env value (keys matching *TOKEN* / *SECRET* / *PASSWORD*
|
|
7
|
-
* / *KEY*, case-insensitive) with `[REDACTED]
|
|
7
|
+
* / *KEY*, case-insensitive) with `[REDACTED:<digest>]`, where `<digest>`
|
|
8
|
+
* is a stable 8-hex-char SHA-256 prefix (#134). Operators can correlate
|
|
9
|
+
* rotated tokens across log lines without ever seeing the value.
|
|
8
10
|
*
|
|
9
11
|
* Substring redaction (rather than Pino-style field-path redaction) is
|
|
10
12
|
* deliberate: handlers capture child-process stdout/stderr and feed it
|
|
@@ -13,6 +15,7 @@
|
|
|
13
15
|
*
|
|
14
16
|
* Issue #11. Plan: §22.2, §22.5.
|
|
15
17
|
*/
|
|
18
|
+
import { tokenDigest } from './auth.js';
|
|
16
19
|
const LEVEL_ORDER = {
|
|
17
20
|
debug: 10,
|
|
18
21
|
info: 20,
|
|
@@ -62,9 +65,11 @@ function formatScalar(v) {
|
|
|
62
65
|
}
|
|
63
66
|
/* ----------------------------- redaction ----------------------------- */
|
|
64
67
|
const SECRET_KEY = /TOKEN|SECRET|PASSWORD|KEY/i;
|
|
65
|
-
const REDACTED = '[REDACTED]';
|
|
66
68
|
/**
|
|
67
|
-
* Replace every occurrence of a known-secret env value with
|
|
69
|
+
* Replace every occurrence of a known-secret env value with
|
|
70
|
+
* `[REDACTED:<digest>]` where `<digest>` is a stable 8-hex-char
|
|
71
|
+
* SHA-256 prefix of the token. Operators can correlate rotated
|
|
72
|
+
* tokens across log lines without ever seeing the value itself.
|
|
68
73
|
* Empty / single-char values are skipped to avoid mangling unrelated
|
|
69
74
|
* characters. Called on every log write.
|
|
70
75
|
*/
|
|
@@ -79,7 +84,7 @@ export function redact(s) {
|
|
|
79
84
|
continue;
|
|
80
85
|
// String.replaceAll expects a literal or a RegExp; use split/join to
|
|
81
86
|
// avoid regex escaping every secret value.
|
|
82
|
-
out = out.split(v).join(REDACTED);
|
|
87
|
+
out = out.split(v).join(`[REDACTED:${tokenDigest(v)}]`);
|
|
83
88
|
}
|
|
84
89
|
return out;
|
|
85
90
|
}
|
package/dist/log.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log.js","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"log.js","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"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"}
|