@thenewlabs/entangle-utils 2.5.0 → 2.6.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/dist/output.d.ts +4 -0
- package/dist/output.d.ts.map +1 -1
- package/dist/output.js +20 -0
- package/dist/output.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -2
package/dist/output.d.ts
CHANGED
|
@@ -6,9 +6,13 @@ export interface OutputOptions {
|
|
|
6
6
|
mode: OutputMode;
|
|
7
7
|
timestamp?: boolean;
|
|
8
8
|
}
|
|
9
|
+
export type LogSink = (level: string, message: string, data?: unknown) => void;
|
|
9
10
|
export declare class OutputHandler {
|
|
10
11
|
private mode;
|
|
11
12
|
private timestamp;
|
|
13
|
+
private static logSink;
|
|
14
|
+
/** Redirect TEXT-mode log/version output to `sink`, or restore stdout with `null`. */
|
|
15
|
+
static setLogSink(sink: LogSink | null): void;
|
|
12
16
|
constructor(options?: OutputOptions);
|
|
13
17
|
log(level: string, message: string, data?: any): void;
|
|
14
18
|
info(message: string, data?: any): void;
|
package/dist/output.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU;IACpB,IAAI,SAAS;IACb,WAAW,gBAAgB;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,SAAS,CAAU;
|
|
1
|
+
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU;IACpB,IAAI,SAAS;IACb,WAAW,gBAAgB;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;AAE/E,qBAAa,aAAa;IACxB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,SAAS,CAAU;IAO3B,OAAO,CAAC,MAAM,CAAC,OAAO,CAAwB;IAE9C,sFAAsF;IACtF,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI;gBAIjC,OAAO,GAAE,aAAyC;IAK9D,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI;IAcrD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI;IAIvC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI;IAIxC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI;IAIxC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI;IAIvC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI;IAKvC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAclC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAkB5C,OAAO,CAAC,UAAU;IAoBlB,OAAO,CAAC,WAAW;IAwBnB,OAAO,CAAC,UAAU;CAUnB;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CASpE"}
|
package/dist/output.js
CHANGED
|
@@ -6,6 +6,16 @@ export var OutputMode;
|
|
|
6
6
|
export class OutputHandler {
|
|
7
7
|
mode;
|
|
8
8
|
timestamp;
|
|
9
|
+
// Process-global TEXT-mode log sink. When set, TEXT-mode log/version output is
|
|
10
|
+
// redirected to the sink instead of stdout — the host blue-bar UI owns stdout
|
|
11
|
+
// and installs a sink so agent logs are captured (for its debug tab) rather
|
|
12
|
+
// than trampling the terminal. Exactly one host owns stdout at a time, so a
|
|
13
|
+
// single static field is sufficient. STREAM_JSON mode is never affected.
|
|
14
|
+
static logSink = null;
|
|
15
|
+
/** Redirect TEXT-mode log/version output to `sink`, or restore stdout with `null`. */
|
|
16
|
+
static setLogSink(sink) {
|
|
17
|
+
OutputHandler.logSink = sink;
|
|
18
|
+
}
|
|
9
19
|
constructor(options = { mode: OutputMode.TEXT }) {
|
|
10
20
|
this.mode = options.mode;
|
|
11
21
|
this.timestamp = options.timestamp ?? false;
|
|
@@ -53,6 +63,10 @@ export class OutputHandler {
|
|
|
53
63
|
// Version output
|
|
54
64
|
version(name, version) {
|
|
55
65
|
if (this.mode === OutputMode.TEXT) {
|
|
66
|
+
if (OutputHandler.logSink) {
|
|
67
|
+
OutputHandler.logSink('info', `${name} ${version}`);
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
56
70
|
console.log(`${name} ${version}`);
|
|
57
71
|
}
|
|
58
72
|
else {
|
|
@@ -66,6 +80,12 @@ export class OutputHandler {
|
|
|
66
80
|
}
|
|
67
81
|
}
|
|
68
82
|
textOutput(level, message, data) {
|
|
83
|
+
// Redirect to the installed sink (host debug tab) instead of stdout, so
|
|
84
|
+
// agent logs don't corrupt a terminal the host UI owns.
|
|
85
|
+
if (OutputHandler.logSink) {
|
|
86
|
+
OutputHandler.logSink(level, message, data);
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
69
89
|
// Format level with consistent width and color codes (if terminal supports)
|
|
70
90
|
const levelFormatted = this.formatLevel(level);
|
|
71
91
|
const levelAndMessage = [levelFormatted, message].filter(x => x).join(' ');
|
package/dist/output.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,2BAAa,CAAA;IACb,yCAA2B,CAAA;AAC7B,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB;
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
package/dist/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thenewlabs/entangle-utils",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.6.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"prepublishOnly": "npm run build"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@thenewlabs/entangle-protocol": "^2.
|
|
23
|
+
"@thenewlabs/entangle-protocol": "^2.6.0",
|
|
24
24
|
"dotenv": "^17.4.2",
|
|
25
25
|
"pino": "^10.3.1"
|
|
26
26
|
},
|