@flighthq/log 0.5.0-next.1944.cd6b6e7 → 0.5.1-edge.638.d4dbd4e

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/README.md CHANGED
@@ -13,5 +13,5 @@ Import the supported application-facing API from `@flighthq/log`. The `@flighthq
13
13
  This package is part of the locked-version Flight SDK graph. Applications may instead install and import `@flighthq/sdk` when package-level tree shaking is sufficient.
14
14
 
15
15
  - [Flight project](https://github.com/flighthq/flight)
16
- - [Source for @flighthq/log@0.5.0-next.1944.cd6b6e7](https://github.com/flighthq/flight/tree/cd6b6e71eb472b3a4249830a7743333f019fa7b7/packages/log)
17
- - [License](https://github.com/flighthq/flight/blob/cd6b6e71eb472b3a4249830a7743333f019fa7b7/LICENSE.md)
16
+ - [Source for @flighthq/log@0.5.1-edge.638.d4dbd4e](https://github.com/flighthq/flight/tree/d4dbd4e347dc8be10b180c85a766ab50333dcb51/packages/log)
17
+ - [License](https://github.com/flighthq/flight/blob/d4dbd4e347dc8be10b180c85a766ab50333dcb51/LICENSE.md)
package/dist/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export { addLogSink, beginLogGroup, clearLogChannelLevel, clearLogChannelLevels, clearLogGroups, clearLogOnceKeys, clearLogRedactionPaths, clearLogSerializers, clearLogSinks, clearMemoryLogSink, createBufferedLogSink, createChildLogContext, createConsoleCaptureSink, createConsoleLogSink, createFanoutLogSink, createFileLogSink, createFilterLogSink, createJsonLogFormatter, createLogContext, createLogSpan, createMemoryLogSink, createRateLimitedLogSink, createSampledLogSink, createTextLogFormatter, disposeFileLogSink, disposeLogSink, enableLogSignals, endLogGroup, endLogTimer, enterLogSpan, exitLogSpan, flushLogSink, getLogChannelLevel, getLogConsoleLevel, getLogLevel, getLogLevelName, getMemoryLogSinkEntries, log, logAssert, logDebug, logDebugWith, logError, logErrorWith, logInfo, logInfoWith, logOnce, logVerbose, logVerboseWith, logWarn, logWarnWith, logWith, parseLogLevel, registerLogSerializer, removeLogSink, serializeLogError, setLogChannelLevel, setLogConsoleLevel, setLogLevel, setLogRedactionPaths, setLogSink, startLogTimer, } from './contract';
1
+ export { addLogSink, beginLogGroup, clearLogChannelLevel, clearLogChannelLevels, clearLogGroups, clearLogOnceKeys, clearLogRedactionPaths, clearLogSerializers, clearLogSinks, clearMemoryLogSink, createBufferedLogSink, createChildLogContext, createConsoleCaptureSink, createConsoleLogSink, createFanoutLogSink, createFileLogSink, createFilterLogSink, createJsonLogFormatter, createLogContext, createLogSpan, createMemoryLogSink, createRateLimitedLogSink, createSampledLogSink, createTextLogFormatter, destroyFileLogSink, disposeLogSink, enableLogSignals, endLogGroup, endLogTimer, enterLogSpan, exitLogSpan, flushLogSink, getLogChannelLevel, getLogConsoleLevel, getLogLevel, getLogLevelName, getMemoryLogSinkEntries, log, logAssert, logDebug, logDebugWith, logError, logErrorWith, logInfo, logInfoWith, logOnce, logVerbose, logVerboseWith, logWarn, logWarnWith, logWith, parseLogLevel, registerLogSerializer, removeLogSink, serializeLogError, setLogChannelLevel, setLogConsoleLevel, setLogLevel, setLogRedactionPaths, setLogSink, startLogTimer, } from './contract';
2
2
  //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export { addLogSink, beginLogGroup, clearLogChannelLevel, clearLogChannelLevels, clearLogGroups, clearLogOnceKeys, clearLogRedactionPaths, clearLogSerializers, clearLogSinks, clearMemoryLogSink, createBufferedLogSink, createChildLogContext, createConsoleCaptureSink, createConsoleLogSink, createFanoutLogSink, createFileLogSink, createFilterLogSink, createJsonLogFormatter, createLogContext, createLogSpan, createMemoryLogSink, createRateLimitedLogSink, createSampledLogSink, createTextLogFormatter, disposeFileLogSink, disposeLogSink, enableLogSignals, endLogGroup, endLogTimer, enterLogSpan, exitLogSpan, flushLogSink, getLogChannelLevel, getLogConsoleLevel, getLogLevel, getLogLevelName, getMemoryLogSinkEntries, log, logAssert, logDebug, logDebugWith, logError, logErrorWith, logInfo, logInfoWith, logOnce, logVerbose, logVerboseWith, logWarn, logWarnWith, logWith, parseLogLevel, registerLogSerializer, removeLogSink, serializeLogError, setLogChannelLevel, setLogConsoleLevel, setLogLevel, setLogRedactionPaths, setLogSink, startLogTimer, } from './contract';
1
+ export { addLogSink, beginLogGroup, clearLogChannelLevel, clearLogChannelLevels, clearLogGroups, clearLogOnceKeys, clearLogRedactionPaths, clearLogSerializers, clearLogSinks, clearMemoryLogSink, createBufferedLogSink, createChildLogContext, createConsoleCaptureSink, createConsoleLogSink, createFanoutLogSink, createFileLogSink, createFilterLogSink, createJsonLogFormatter, createLogContext, createLogSpan, createMemoryLogSink, createRateLimitedLogSink, createSampledLogSink, createTextLogFormatter, destroyFileLogSink, disposeLogSink, enableLogSignals, endLogGroup, endLogTimer, enterLogSpan, exitLogSpan, flushLogSink, getLogChannelLevel, getLogConsoleLevel, getLogLevel, getLogLevelName, getMemoryLogSinkEntries, log, logAssert, logDebug, logDebugWith, logError, logErrorWith, logInfo, logInfoWith, logOnce, logVerbose, logVerboseWith, logWarn, logWarnWith, logWith, parseLogLevel, registerLogSerializer, removeLogSink, serializeLogError, setLogChannelLevel, setLogConsoleLevel, setLogLevel, setLogRedactionPaths, setLogSink, startLogTimer, } from './contract';
2
2
  //# sourceMappingURL=index.js.map
package/dist/log.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { BufferedLogSink, FileLogSink, LogContext, LogData, LogDataProvider, LogEntry, LogFormatter, LogSignals, LogSink, LogSpan, LogTimer, LogTransportBackend, MemoryLogSink, RateLimitedLogSink } from '@flighthq/types/contract';
1
+ import type { BufferedLogSink, FileLogSink, FileLogSinkDestroyOutcome, LogContext, LogData, LogDataProvider, LogEntry, LogFormatter, LogSignals, LogSink, LogSpan, LogTimer, LogTransport, MemoryLogSink, RateLimitedLogSink } from '@flighthq/types/contract';
2
2
  import { LogLevel } from '@flighthq/types/contract';
3
3
  export declare function addLogSink(sink: LogSink): void;
4
4
  export declare function beginLogGroup(label: string, channel?: string | null): void;
@@ -22,7 +22,7 @@ export declare function createConsoleLogSink(options?: {
22
22
  formatter?: LogFormatter;
23
23
  }): LogSink;
24
24
  export declare function createFanoutLogSink(...sinks: LogSink[]): LogSink;
25
- export declare function createFileLogSink(options?: {
25
+ export declare function createFileLogSink(transport: LogTransport, options?: {
26
26
  formatter?: LogFormatter;
27
27
  }): FileLogSink;
28
28
  export declare function createFilterLogSink(target: LogSink, predicate: (entry: Readonly<LogEntry>) => boolean): LogSink;
@@ -41,7 +41,7 @@ export declare function createTextLogFormatter(options?: {
41
41
  levelPrefix?: boolean;
42
42
  timestamp?: boolean;
43
43
  }): LogFormatter;
44
- export declare function disposeFileLogSink(_handle: FileLogSink): void;
44
+ export declare function destroyFileLogSink(handle: FileLogSink): Promise<FileLogSinkDestroyOutcome>;
45
45
  export declare function disposeLogSink(handle: BufferedLogSink): void;
46
46
  export declare function enableLogSignals(): LogSignals;
47
47
  export declare function endLogGroup(channel?: string | null): void;
@@ -53,7 +53,6 @@ export declare function getLogChannelLevel(channel: string): LogLevel | null;
53
53
  export declare function getLogConsoleLevel(): LogLevel;
54
54
  export declare function getLogLevel(): LogLevel;
55
55
  export declare function getLogLevelName(level: LogLevel): string;
56
- export declare function getLogTransportBackend(): LogTransportBackend | null;
57
56
  export declare function getMemoryLogSinkEntries(handle: MemoryLogSink): readonly LogEntry[];
58
57
  export declare function log(level: LogLevel, data: LogData | LogDataProvider, channel?: string | null): void;
59
58
  export declare function logAssert(condition: boolean, data: LogData | LogDataProvider, channel?: string | null): void;
@@ -78,6 +77,5 @@ export declare function setLogConsoleLevel(level: LogLevel): void;
78
77
  export declare function setLogLevel(level: LogLevel): void;
79
78
  export declare function setLogRedactionPaths(paths: readonly string[]): void;
80
79
  export declare function setLogSink(sink: LogSink | null): void;
81
- export declare function setLogTransportBackend(backend: LogTransportBackend | null): void;
82
80
  export declare function startLogTimer(label: string, channel?: string | null): LogTimer;
83
81
  //# sourceMappingURL=log.d.ts.map
package/dist/log.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"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"}
package/dist/log.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { createSignal, emitSignal } from '@flighthq/signals/contract';
2
- import { LogLevel } from '@flighthq/types/contract';
2
+ import { EntityRuntimeKey, LogLevel } from '@flighthq/types/contract';
3
3
  // Logging is split into two faces of one contract so each consumer tree-shakes its half:
4
4
  //
5
5
  // Emit side — log and the log* wrappers. Featherweight: each checks the level gate and
@@ -121,19 +121,24 @@ export function createFanoutLogSink(...sinks) {
121
121
  s(entry);
122
122
  };
123
123
  }
124
- // Creates a sink that writes formatted entries to a LogTransportBackend. The backend is resolved
125
- // at emit time (not at creation time) so setLogTransportBackend can be called after
126
- // createFileLogSink. The formatter defaults to createJsonLogFormatter (one JSON line per entry).
127
- // Use disposeFileLogSink to flush and release the underlying backend resource.
128
- export function createFileLogSink(options = {}) {
124
+ // Creates an Entity sink that exclusively owns the configured transport for its entire lifetime.
125
+ // The formatter defaults to createJsonLogFormatter (one complete JSON line per entry). Each sink
126
+ // call offers that line synchronously to the pinned transport; admission and later delivery remain
127
+ // the transport's explicit outcome contracts.
128
+ export function createFileLogSink(transport, options = {}) {
129
129
  const formatter = options.formatter ?? createJsonLogFormatter();
130
130
  const sink = (entry) => {
131
- const backend = _transportBackend;
132
- if (backend === null)
131
+ const state = _fileLogSinkStates.get(handle);
132
+ if (!state || state.status !== 'active' || state.transport === null)
133
133
  return;
134
- backend.write(formatter(entry) + '\n');
134
+ state.transport.write(formatter(entry) + '\n');
135
135
  };
136
- const handle = { sink };
136
+ const handle = { [EntityRuntimeKey]: undefined, sink };
137
+ _fileLogSinkStates.set(handle, {
138
+ destroyPromise: null,
139
+ status: 'active',
140
+ transport,
141
+ });
137
142
  return handle;
138
143
  }
139
144
  // Creates a sink that forwards only entries matching a predicate. Compose with addLogSink to give
@@ -244,17 +249,22 @@ export function createTextLogFormatter(options = {}) {
244
249
  return parts.join(' ');
245
250
  };
246
251
  }
247
- // Flushes a file-log sink's transport backend immediately, then disposes it. After this call
248
- // createFileLogSink entries will silently no-op until setLogTransportBackend is called again.
249
- // (`dispose*` — releases the backend resource; no GPU/native handle.)
250
- export function disposeFileLogSink(_handle) {
251
- const backend = _transportBackend;
252
- if (backend === null)
253
- return;
254
- if (backend.flush)
255
- backend.flush();
256
- if (backend.dispose)
257
- backend.dispose();
252
+ // Makes the sink terminal and unregisters it synchronously, then awaits its delivery boundary before
253
+ // attempting terminal transport teardown. Destroy is attempted even when flush fails or rejects, and
254
+ // both operation outcomes are preserved. Repeated calls await the same teardown without invoking the
255
+ // provider again.
256
+ export async function destroyFileLogSink(handle) {
257
+ const state = _fileLogSinkStates.get(handle);
258
+ if (!state)
259
+ throw new Error('destroyFileLogSink received an unknown handle');
260
+ if (state.status !== 'active') {
261
+ const outcome = await state.destroyPromise;
262
+ return { ...outcome, reason: 'already-destroyed' };
263
+ }
264
+ state.status = 'destroying';
265
+ removeLogSink(handle.sink);
266
+ state.destroyPromise = _destroyFileLogSinkState(state);
267
+ return state.destroyPromise;
258
268
  }
259
269
  // Disposes a buffered sink: cancels its interval timer and flushes remaining entries. The sink
260
270
  // remains callable after disposal but will no longer auto-flush. (`dispose*` because this
@@ -336,10 +346,6 @@ export function getLogLevel() {
336
346
  export function getLogLevelName(level) {
337
347
  return _levelNames[level] ?? 'unknown';
338
348
  }
339
- // Returns the installed LogTransportBackend, or null if none has been set.
340
- export function getLogTransportBackend() {
341
- return _transportBackend;
342
- }
343
349
  // Returns the captured log entries from a memory sink in insertion order (oldest-first).
344
350
  export function getMemoryLogSinkEntries(handle) {
345
351
  const state = _memorySinkStates.get(handle);
@@ -544,18 +550,13 @@ export function setLogSink(sink) {
544
550
  if (sink !== null)
545
551
  _sinks.push(sink);
546
552
  }
547
- // Sets the LogTransportBackend used by createFileLogSink. Set to null to detach the backend.
548
- // Native/Node hosts register a real fs-backed implementation. The backend is process-global
549
- // (one transport per process).
550
- export function setLogTransportBackend(backend) {
551
- _transportBackend = backend;
552
- }
553
553
  // Starts a named timer. Pass the returned LogTimer to endLogTimer to record elapsed time and
554
554
  // emit a structured Debug entry.
555
555
  export function startLogTimer(label, channel = null) {
556
556
  return { label, channel, startedAt: _timestamp() };
557
557
  }
558
558
  const _bufferedSinkStates = new WeakMap();
559
+ const _fileLogSinkStates = new WeakMap();
559
560
  const _memorySinkStates = new WeakMap();
560
561
  const _consoleMethods = {
561
562
  [LogLevel.None]: 'log',
@@ -591,7 +592,33 @@ let _consoleLevel = LogLevel.Info;
591
592
  let _groupDepth = 0;
592
593
  let _level = LogLevel.Verbose;
593
594
  let _logSignals = null;
594
- let _transportBackend = null;
595
+ async function _destroyFileLogSinkState(state) {
596
+ const transport = state.transport;
597
+ let flush;
598
+ let destroy;
599
+ try {
600
+ flush = await transport.flush();
601
+ }
602
+ catch (error) {
603
+ flush = { message: _operationFailureMessage(error), reason: 'operation-failed' };
604
+ }
605
+ try {
606
+ destroy = await transport.destroy();
607
+ }
608
+ catch (error) {
609
+ destroy = { message: _operationFailureMessage(error), reason: 'operation-failed' };
610
+ }
611
+ state.transport = null;
612
+ state.status = 'destroyed';
613
+ return {
614
+ destroy,
615
+ flush,
616
+ reason: flush.reason === 'operation-failed' || destroy.reason === 'operation-failed' ? 'operation-failed' : 'destroyed',
617
+ };
618
+ }
619
+ function _operationFailureMessage(error) {
620
+ return error instanceof Error ? error.message : String(error);
621
+ }
595
622
  // Applies registered serializers to values whose `__kind` matches a registered kind.
596
623
  function _applySerializers(data) {
597
624
  if (_serializers.size === 0)
package/dist/log.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"log.js","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flighthq/log",
3
- "version": "0.5.0-next.1944.cd6b6e7",
3
+ "version": "0.5.1-edge.638.d4dbd4e",
4
4
  "author": "Joshua Granick and other contributors",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -38,8 +38,8 @@
38
38
  "clean:dist": "tsx ../../scripts/clean-package-dist.ts"
39
39
  },
40
40
  "dependencies": {
41
- "@flighthq/signals": "0.5.0-next.1944.cd6b6e7",
42
- "@flighthq/types": "0.5.0-next.1944.cd6b6e7"
41
+ "@flighthq/signals": "0.5.1-edge.638.d4dbd4e",
42
+ "@flighthq/types": "0.5.1-edge.638.d4dbd4e"
43
43
  },
44
44
  "devDependencies": {
45
45
  "typescript": "^5.3.0"
package/src/log.test.ts CHANGED
@@ -1,6 +1,16 @@
1
1
  import { connectSignal } from '@flighthq/signals/contract';
2
- import type { BufferedLogSink, LogEntry, LogSignals, MemoryLogSink } from '@flighthq/types/contract';
3
- import { LogLevel } from '@flighthq/types/contract';
2
+ import type {
3
+ BufferedLogSink,
4
+ FileLogSinkDestroyOutcome,
5
+ LogEntry,
6
+ LogSignals,
7
+ LogTransport,
8
+ LogTransportDestroyOutcome,
9
+ LogTransportFlushOutcome,
10
+ LogTransportWriteOutcome,
11
+ MemoryLogSink,
12
+ } from '@flighthq/types/contract';
13
+ import { EntityRuntimeKey, LogLevel } from '@flighthq/types/contract';
4
14
 
5
15
  import {
6
16
  addLogSink,
@@ -27,7 +37,7 @@ import {
27
37
  createRateLimitedLogSink,
28
38
  createSampledLogSink,
29
39
  createTextLogFormatter,
30
- disposeFileLogSink,
40
+ destroyFileLogSink,
31
41
  disposeLogSink,
32
42
  enableLogSignals,
33
43
  endLogGroup,
@@ -39,7 +49,6 @@ import {
39
49
  getLogConsoleLevel,
40
50
  getLogLevel,
41
51
  getLogLevelName,
42
- getLogTransportBackend,
43
52
  getMemoryLogSinkEntries,
44
53
  log,
45
54
  logAssert,
@@ -64,7 +73,6 @@ import {
64
73
  setLogLevel,
65
74
  setLogRedactionPaths,
66
75
  setLogSink,
67
- setLogTransportBackend,
68
76
  startLogTimer,
69
77
  } from './log';
70
78
 
@@ -77,6 +85,23 @@ function recordingSink(): { entries: LogEntry[]; sink: (entry: LogEntry) => void
77
85
  return { entries, sink };
78
86
  }
79
87
 
88
+ function createTestLogTransport(
89
+ overrides: Partial<Pick<LogTransport, 'destroy' | 'flush' | 'write'>> = {},
90
+ ): LogTransport {
91
+ const defaultDestroy = async (): Promise<LogTransportDestroyOutcome> => ({ reason: 'destroyed' });
92
+ const defaultFlush = async (): Promise<LogTransportFlushOutcome> => ({
93
+ delivery: 'process-buffer',
94
+ reason: 'drained',
95
+ });
96
+ const defaultWrite = (): LogTransportWriteOutcome => ({ reason: 'accepted' });
97
+ return {
98
+ [EntityRuntimeKey]: undefined,
99
+ destroy: overrides.destroy ?? defaultDestroy,
100
+ flush: overrides.flush ?? defaultFlush,
101
+ write: overrides.write ?? defaultWrite,
102
+ };
103
+ }
104
+
80
105
  beforeEach(() => {
81
106
  clearLogGroups();
82
107
  clearLogOnceKeys();
@@ -86,7 +111,6 @@ beforeEach(() => {
86
111
  clearLogChannelLevels();
87
112
  setLogConsoleLevel(LogLevel.Info);
88
113
  setLogLevel(LogLevel.Verbose);
89
- setLogTransportBackend(null);
90
114
  vi.restoreAllMocks();
91
115
  });
92
116
 
@@ -438,10 +462,20 @@ describe('createFanoutLogSink', () => {
438
462
  });
439
463
 
440
464
  describe('createFileLogSink', () => {
441
- it('writes formatted lines to the installed transport backend', () => {
465
+ it.each<LogTransportWriteOutcome>([
466
+ { reason: 'accepted' },
467
+ { reason: 'backpressure', retryAfterMs: 25 },
468
+ { message: 'disk full', reason: 'operation-failed' },
469
+ { reason: 'destroyed' },
470
+ ])('offers one complete formatted line when admission reports $reason', (writeOutcome) => {
442
471
  const lines: string[] = [];
443
- setLogTransportBackend({ write: (line) => lines.push(line) });
444
- const handle = createFileLogSink();
472
+ const transport = createTestLogTransport({
473
+ write(line) {
474
+ lines.push(line);
475
+ return writeOutcome;
476
+ },
477
+ });
478
+ const handle = createFileLogSink(transport);
445
479
  addLogSink(handle.sink);
446
480
  log(LogLevel.Info, 'file-entry');
447
481
  expect(lines).toHaveLength(1);
@@ -449,21 +483,55 @@ describe('createFileLogSink', () => {
449
483
  expect(parsed).toMatchObject({ __flight: true, level: 'info', data: { msg: 'file-entry' } });
450
484
  });
451
485
 
452
- it('is a no-op when no transport backend is set', () => {
453
- const handle = createFileLogSink();
454
- addLogSink(handle.sink);
455
- // Should not throw with no backend
456
- expect(() => log(LogLevel.Info, 'no-backend')).not.toThrow();
486
+ it('creates an Entity handle', () => {
487
+ const handle = createFileLogSink(createTestLogTransport());
488
+
489
+ expect(EntityRuntimeKey in handle).toBe(true);
490
+ expect(handle[EntityRuntimeKey]).toBeUndefined();
457
491
  });
458
492
 
459
493
  it('accepts a custom formatter', () => {
460
494
  const lines: string[] = [];
461
- setLogTransportBackend({ write: (line) => lines.push(line) });
462
- const handle = createFileLogSink({ formatter: () => 'custom' });
495
+ const transport = createTestLogTransport({
496
+ write(line) {
497
+ lines.push(line);
498
+ return { reason: 'accepted' };
499
+ },
500
+ });
501
+ const handle = createFileLogSink(transport, { formatter: () => 'custom' });
463
502
  addLogSink(handle.sink);
464
503
  log(LogLevel.Info, 'x');
465
504
  expect(lines[0]).toBe('custom\n');
466
505
  });
506
+
507
+ it('pins each handle to its injected transport', () => {
508
+ const firstLines: string[] = [];
509
+ const secondLines: string[] = [];
510
+ const first = createFileLogSink(
511
+ createTestLogTransport({
512
+ write(line) {
513
+ firstLines.push(line);
514
+ return { reason: 'accepted' };
515
+ },
516
+ }),
517
+ { formatter: () => 'first' },
518
+ );
519
+ const second = createFileLogSink(
520
+ createTestLogTransport({
521
+ write(line) {
522
+ secondLines.push(line);
523
+ return { reason: 'accepted' };
524
+ },
525
+ }),
526
+ { formatter: () => 'second' },
527
+ );
528
+
529
+ first.sink({ channel: null, data: 'entry', level: LogLevel.Info });
530
+ second.sink({ channel: null, data: 'entry', level: LogLevel.Info });
531
+
532
+ expect(firstLines).toEqual(['first\n']);
533
+ expect(secondLines).toEqual(['second\n']);
534
+ });
467
535
  });
468
536
 
469
537
  describe('createFilterLogSink', () => {
@@ -686,30 +754,170 @@ describe('createTextLogFormatter', () => {
686
754
  });
687
755
  });
688
756
 
689
- describe('disposeFileLogSink', () => {
690
- it('calls flush and dispose on the installed transport backend', () => {
691
- const flushed: boolean[] = [];
692
- const disposed: boolean[] = [];
693
- setLogTransportBackend({
694
- write: () => {},
695
- flush: () => flushed.push(true),
696
- dispose: () => disposed.push(true),
757
+ describe('destroyFileLogSink', () => {
758
+ it('awaits flush before destroying the transport', async () => {
759
+ const events: string[] = [];
760
+ let finishFlush: ((outcome: LogTransportFlushOutcome) => void) | undefined;
761
+ const flushPromise = new Promise<LogTransportFlushOutcome>((resolve) => {
762
+ finishFlush = resolve;
763
+ });
764
+ const transport = createTestLogTransport({
765
+ destroy: async () => {
766
+ events.push('destroy');
767
+ return { reason: 'destroyed' };
768
+ },
769
+ flush: () => {
770
+ events.push('flush-start');
771
+ return flushPromise.then((outcome) => {
772
+ events.push('flush-end');
773
+ return outcome;
774
+ });
775
+ },
776
+ });
777
+
778
+ const closing = destroyFileLogSink(createFileLogSink(transport));
779
+ expect(events).toEqual(['flush-start']);
780
+ finishFlush?.({ delivery: 'operating-system', reason: 'drained' });
781
+
782
+ await expect(closing).resolves.toEqual({
783
+ destroy: { reason: 'destroyed' },
784
+ flush: { delivery: 'operating-system', reason: 'drained' },
785
+ reason: 'destroyed',
786
+ });
787
+ expect(events).toEqual(['flush-start', 'flush-end', 'destroy']);
788
+ });
789
+
790
+ it('attempts destroy and preserves both outcomes when flush fails', async () => {
791
+ const events: string[] = [];
792
+ const handle = createFileLogSink(
793
+ createTestLogTransport({
794
+ destroy: async () => {
795
+ events.push('destroy');
796
+ return { reason: 'destroyed' };
797
+ },
798
+ flush: async () => {
799
+ events.push('flush');
800
+ return { message: 'disk full', reason: 'operation-failed' };
801
+ },
802
+ }),
803
+ );
804
+
805
+ await expect(destroyFileLogSink(handle)).resolves.toEqual({
806
+ destroy: { reason: 'destroyed' },
807
+ flush: { message: 'disk full', reason: 'operation-failed' },
808
+ reason: 'operation-failed',
809
+ });
810
+ expect(events).toEqual(['flush', 'destroy']);
811
+ });
812
+
813
+ it('keeps a successor destination live when an older handle is destroyed', async () => {
814
+ const firstEvents: string[] = [];
815
+ const secondLines: string[] = [];
816
+ const first = createFileLogSink(
817
+ createTestLogTransport({
818
+ destroy: async () => {
819
+ firstEvents.push('destroy');
820
+ return { reason: 'destroyed' };
821
+ },
822
+ }),
823
+ );
824
+ const second = createFileLogSink(
825
+ createTestLogTransport({
826
+ write(line) {
827
+ secondLines.push(line);
828
+ return { reason: 'accepted' };
829
+ },
830
+ }),
831
+ { formatter: () => 'second' },
832
+ );
833
+
834
+ await destroyFileLogSink(first);
835
+ second.sink({ channel: null, data: 'still-live', level: LogLevel.Info });
836
+
837
+ expect(firstEvents).toEqual(['destroy']);
838
+ expect(secondLines).toEqual(['second\n']);
839
+ });
840
+
841
+ it('terminals and unregisters the sink before awaiting flush', async () => {
842
+ const lines: string[] = [];
843
+ let finishFlush: ((outcome: LogTransportFlushOutcome) => void) | undefined;
844
+ const handle = createFileLogSink(
845
+ createTestLogTransport({
846
+ flush: () =>
847
+ new Promise<LogTransportFlushOutcome>((resolve) => {
848
+ finishFlush = resolve;
849
+ }),
850
+ write(line) {
851
+ lines.push(line);
852
+ return { reason: 'accepted' };
853
+ },
854
+ }),
855
+ );
856
+ addLogSink(handle.sink);
857
+
858
+ const closing = destroyFileLogSink(handle);
859
+ log(LogLevel.Info, 'after-destroy-started');
860
+
861
+ expect(lines).toEqual([]);
862
+ expect(removeLogSink(handle.sink)).toBe(false);
863
+ finishFlush?.({ delivery: 'process-buffer', reason: 'drained' });
864
+ await closing;
865
+ });
866
+
867
+ it('makes repeated teardown idempotent without repeating provider calls', async () => {
868
+ let destroyCalls = 0;
869
+ let flushCalls = 0;
870
+ const handle = createFileLogSink(
871
+ createTestLogTransport({
872
+ destroy: async () => {
873
+ destroyCalls++;
874
+ return { reason: 'destroyed' };
875
+ },
876
+ flush: async () => {
877
+ flushCalls++;
878
+ return { delivery: 'durable-storage', reason: 'drained' };
879
+ },
880
+ }),
881
+ );
882
+
883
+ const first: FileLogSinkDestroyOutcome = await destroyFileLogSink(handle);
884
+ const second = await destroyFileLogSink(handle);
885
+
886
+ expect(first).toEqual({
887
+ destroy: { reason: 'destroyed' },
888
+ flush: { delivery: 'durable-storage', reason: 'drained' },
889
+ reason: 'destroyed',
697
890
  });
698
- const handle = createFileLogSink();
699
- disposeFileLogSink(handle);
700
- expect(flushed).toHaveLength(1);
701
- expect(disposed).toHaveLength(1);
891
+ expect(second).toEqual({ ...first, reason: 'already-destroyed' });
892
+ expect({ destroyCalls, flushCalls }).toEqual({ destroyCalls: 1, flushCalls: 1 });
702
893
  });
703
894
 
704
- it('is a no-op when no backend is installed', () => {
705
- const handle = createFileLogSink();
706
- expect(() => disposeFileLogSink(handle)).not.toThrow();
895
+ it.each<LogTransportFlushOutcome>([
896
+ { delivery: 'process-buffer', reason: 'drained' },
897
+ { delivery: 'operating-system', reason: 'drained' },
898
+ { delivery: 'durable-storage', reason: 'drained' },
899
+ { delivery: 'remote-acknowledged', reason: 'drained' },
900
+ ])('preserves the $delivery delivery boundary', async (flushOutcome) => {
901
+ const handle = createFileLogSink(createTestLogTransport({ flush: async () => flushOutcome }));
902
+
903
+ const outcome = await destroyFileLogSink(handle);
904
+
905
+ expect(outcome.flush).toEqual(flushOutcome);
707
906
  });
708
907
 
709
- it('accepts a backend without optional flush and dispose hooks', () => {
710
- setLogTransportBackend({ write: () => {} });
908
+ it('converts rejected flush and destroy operations into a composite failure', async () => {
909
+ const handle = createFileLogSink(
910
+ createTestLogTransport({
911
+ destroy: () => Promise.reject(new Error('close failed')),
912
+ flush: () => Promise.reject(new Error('flush failed')),
913
+ }),
914
+ );
711
915
 
712
- expect(() => disposeFileLogSink(createFileLogSink())).not.toThrow();
916
+ await expect(destroyFileLogSink(handle)).resolves.toEqual({
917
+ destroy: { message: 'close failed', reason: 'operation-failed' },
918
+ flush: { message: 'flush failed', reason: 'operation-failed' },
919
+ reason: 'operation-failed',
920
+ });
713
921
  });
714
922
  });
715
923
 
@@ -936,18 +1144,6 @@ describe('getLogLevelName', () => {
936
1144
  });
937
1145
  });
938
1146
 
939
- describe('getLogTransportBackend', () => {
940
- it('returns null when no backend is set', () => {
941
- expect(getLogTransportBackend()).toBeNull();
942
- });
943
-
944
- it('returns the installed backend', () => {
945
- const backend = { write() {} };
946
- setLogTransportBackend(backend);
947
- expect(getLogTransportBackend()).toBe(backend);
948
- });
949
- });
950
-
951
1147
  describe('getMemoryLogSinkEntries', () => {
952
1148
  it('returns empty array before any entries', () => {
953
1149
  const handle = createMemoryLogSink(5);
@@ -1363,20 +1559,6 @@ describe('setLogSink', () => {
1363
1559
  });
1364
1560
  });
1365
1561
 
1366
- describe('setLogTransportBackend', () => {
1367
- it('sets and retrieves the backend', () => {
1368
- const backend = { write() {} };
1369
- setLogTransportBackend(backend);
1370
- expect(getLogTransportBackend()).toBe(backend);
1371
- });
1372
-
1373
- it('clears the backend when null is passed', () => {
1374
- setLogTransportBackend({ write() {} });
1375
- setLogTransportBackend(null);
1376
- expect(getLogTransportBackend()).toBeNull();
1377
- });
1378
- });
1379
-
1380
1562
  describe('severity wrapper providers and gates', () => {
1381
1563
  it('does not evaluate any provider when its level is suppressed', () => {
1382
1564
  const { entries } = recordingSink();