scoutline 0.13.8 → 0.13.9

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.
@@ -1 +1 @@
1
- {"version":3,"file":"node-command-invocation-adapter.d.ts","sourceRoot":"","sources":["../src/node-command-invocation-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAGxE;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAUxD;AAED,wBAAgB,kCAAkC,IAAI,wBAAwB,CAwD7E"}
1
+ {"version":3,"file":"node-command-invocation-adapter.d.ts","sourceRoot":"","sources":["../src/node-command-invocation-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAiBxE;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAUxD;AAED,wBAAgB,kCAAkC,IAAI,wBAAwB,CAyE7E"}
@@ -14,6 +14,13 @@
14
14
  * Requirements: NFR-002, NFR-003, NFR-007.
15
15
  */
16
16
  import { redactCredentialString, configuredSecrets } from "./lib/redact.js";
17
+ /**
18
+ * Reentrancy depth for `runQuietly`. Because `console.*` are process-global,
19
+ * overlapping quiet runs must coordinate so that only the outermost call
20
+ * captures the originals and only the outermost exit restores them.
21
+ */
22
+ let quietDepth = 0;
23
+ let quietOriginals = null;
17
24
  /**
18
25
  * Format a fatal load-failure message for the executable entrypoint.
19
26
  *
@@ -57,27 +64,44 @@ export function createNodeCommandInvocationAdapter() {
57
64
  process.stdout.write(value + "\n");
58
65
  },
59
66
  writeStderr(value) {
60
- process.stderr.write(value + "\n");
67
+ // The adapter is the sole authority for trailing newlines on stderr.
68
+ // Strip ALL trailing newlines from the caller's value so that call
69
+ // sites that already include them don't produce double-newline blank lines.
70
+ const normalized = value.replace(/(?:\r?\n)+$/, "");
71
+ process.stderr.write(normalized + "\n");
61
72
  },
62
73
  async runQuietly(operation) {
63
- const originals = {
64
- log: console.log,
65
- warn: console.warn,
66
- info: console.info,
67
- debug: console.debug,
68
- };
69
- console.log = () => { };
70
- console.warn = () => { };
71
- console.info = () => { };
72
- console.debug = () => { };
74
+ // Reentrancy: capture originals only on the outermost call (depth 0→1).
75
+ // Restore them only when the outermost call exits (depth 1→0).
76
+ // Inner calls increment/decrement depth without touching the originals.
77
+ if (quietDepth === 0) {
78
+ quietOriginals = {
79
+ log: console.log,
80
+ warn: console.warn,
81
+ info: console.info,
82
+ debug: console.debug,
83
+ error: console.error,
84
+ };
85
+ console.log = () => { };
86
+ console.warn = () => { };
87
+ console.info = () => { };
88
+ console.debug = () => { };
89
+ console.error = () => { };
90
+ }
91
+ quietDepth++;
73
92
  try {
74
93
  return await operation();
75
94
  }
76
95
  finally {
77
- console.log = originals.log;
78
- console.warn = originals.warn;
79
- console.info = originals.info;
80
- console.debug = originals.debug;
96
+ quietDepth--;
97
+ if (quietDepth === 0 && quietOriginals) {
98
+ console.log = quietOriginals.log;
99
+ console.warn = quietOriginals.warn;
100
+ console.info = quietOriginals.info;
101
+ console.debug = quietOriginals.debug;
102
+ console.error = quietOriginals.error;
103
+ quietOriginals = null;
104
+ }
81
105
  }
82
106
  },
83
107
  setExitCode(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"node-command-invocation-adapter.js","sourceRoot":"","sources":["../src/node-command-invocation-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node-command-invocation-adapter.js","sourceRoot":"","sources":["../src/node-command-invocation-adapter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "scoutline",
3
- "version": "0.13.8",
3
+ "version": "0.13.9",
4
4
  "description": "Multimodal source investigation CLI for web, repositories, and visual media.",
5
5
  "type": "module",
6
6
  "bin": {