@gobing-ai/ts-infra 0.3.7 → 0.3.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":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAeH,2FAA2F;AAC3F,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAU/E;;;;GAIG;AACH,MAAM,WAAW,MAAM;IACnB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACzD,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACzD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACxD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACxD,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACzD,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACzD,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;CACnD;AAKD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAEnD;AA8BD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,4CAA4C;AAC5C,MAAM,WAAW,iBAAiB;IAC9B,6CAA6C;IAC7C,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,8FAA8F;IAC9F,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2BrF"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAeH,2FAA2F;AAC3F,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAU/E;;;;GAIG;AACH,MAAM,WAAW,MAAM;IACnB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACzD,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACzD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACxD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACxD,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACzD,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACzD,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;CACnD;AAKD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAEnD;AA8BD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,4CAA4C;AAC5C,MAAM,WAAW,iBAAiB;IAC9B,6CAA6C;IAC7C,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,8FAA8F;IAC9F,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkCrF"}
package/dist/logger.js CHANGED
@@ -76,11 +76,18 @@ export async function initializeLogger(options = {}) {
76
76
  const { level = 'info', console: enableConsole = true, fileSink, json = true } = options;
77
77
  const lowestLevel = toLogTapeLevel(level);
78
78
  const formatter = json ? getJsonLinesFormatter() : getTextFormatter();
79
+ // When muted, install no sinks regardless of `console`/`fileSink`. The
80
+ // adapter flag (`setLoggerMuted`) is the single source of truth for "silence
81
+ // everything": without this, a reconfigure after muting would reinstall a
82
+ // console sink and resurface output the caller explicitly silenced. Keeping
83
+ // both mute paths consistent makes `setLoggerMuted(true)` survive any later
84
+ // `initializeLogger` (e.g. an application bootstrap running under a muted
85
+ // test harness).
79
86
  const sinks = {};
80
- if (enableConsole) {
87
+ if (!muted && enableConsole) {
81
88
  sinks.console = getConsoleSink({ formatter });
82
89
  }
83
- if (fileSink) {
90
+ if (!muted && fileSink) {
84
91
  sinks.file = (record) => {
85
92
  fileSink(formatter(record));
86
93
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gobing-ai/ts-infra",
3
- "version": "0.3.7",
3
+ "version": "0.3.9",
4
4
  "description": "@gobing-ai/ts-infra — Infrastructure backbone: event bus, job queue, scheduler, telemetry, API client, and logging.",
5
5
  "keywords": [
6
6
  "typescript",
@@ -77,8 +77,8 @@
77
77
  "@logtape/logtape": "^2.0.0"
78
78
  },
79
79
  "peerDependencies": {
80
- "@gobing-ai/ts-db": "^0.3.7",
81
- "@gobing-ai/ts-runtime": "^0.3.7",
80
+ "@gobing-ai/ts-db": "^0.3.9",
81
+ "@gobing-ai/ts-runtime": "^0.3.9",
82
82
  "@opentelemetry/api": "^1.9.0",
83
83
  "@opentelemetry/sdk-trace-node": "^2.0.0",
84
84
  "@opentelemetry/sdk-metrics": "^2.0.0",
@@ -111,8 +111,8 @@
111
111
  }
112
112
  },
113
113
  "devDependencies": {
114
- "@gobing-ai/ts-db": "^0.3.7",
115
- "@gobing-ai/ts-runtime": "^0.3.7",
114
+ "@gobing-ai/ts-db": "^0.3.9",
115
+ "@gobing-ai/ts-runtime": "^0.3.9",
116
116
  "@types/bun": "1.3.14",
117
117
  "@opentelemetry/api": "^1.9.0",
118
118
  "@opentelemetry/sdk-trace-node": "^2.0.0",
package/src/logger.ts CHANGED
@@ -123,11 +123,18 @@ export async function initializeLogger(options: InitLoggerOptions = {}): Promise
123
123
  const lowestLevel = toLogTapeLevel(level);
124
124
  const formatter = json ? getJsonLinesFormatter() : getTextFormatter();
125
125
 
126
+ // When muted, install no sinks regardless of `console`/`fileSink`. The
127
+ // adapter flag (`setLoggerMuted`) is the single source of truth for "silence
128
+ // everything": without this, a reconfigure after muting would reinstall a
129
+ // console sink and resurface output the caller explicitly silenced. Keeping
130
+ // both mute paths consistent makes `setLoggerMuted(true)` survive any later
131
+ // `initializeLogger` (e.g. an application bootstrap running under a muted
132
+ // test harness).
126
133
  const sinks: Record<string, Sink> = {};
127
- if (enableConsole) {
134
+ if (!muted && enableConsole) {
128
135
  sinks.console = getConsoleSink({ formatter });
129
136
  }
130
- if (fileSink) {
137
+ if (!muted && fileSink) {
131
138
  sinks.file = (record: LogRecord) => {
132
139
  fileSink(formatter(record));
133
140
  };