@telorun/kernel 0.63.0 → 0.65.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.
Files changed (81) hide show
  1. package/dist/boot-context-registry.js +1 -3
  2. package/dist/boot-context-registry.js.map +1 -1
  3. package/dist/bundle/module-artifact.js +15 -8
  4. package/dist/bundle/module-artifact.js.map +1 -1
  5. package/dist/controller-loader.js +4 -0
  6. package/dist/controller-loader.js.map +1 -1
  7. package/dist/controller-loaders/bundle-loader.js +1 -0
  8. package/dist/controller-loaders/bundle-loader.js.map +1 -1
  9. package/dist/controller-loaders/napi-loader.d.ts.map +1 -1
  10. package/dist/controller-loaders/napi-loader.js +24 -8
  11. package/dist/controller-loaders/napi-loader.js.map +1 -1
  12. package/dist/controller-loaders/npm-loader.js +37 -28
  13. package/dist/controller-loaders/npm-loader.js.map +1 -1
  14. package/dist/controller-registry.js +3 -5
  15. package/dist/controller-registry.js.map +1 -1
  16. package/dist/controllers/resource-definition/abstract-controller.js +2 -1
  17. package/dist/controllers/resource-definition/abstract-controller.js.map +1 -1
  18. package/dist/controllers/resource-definition/resource-definition-controller.js +2 -1
  19. package/dist/controllers/resource-definition/resource-definition-controller.js.map +1 -1
  20. package/dist/controllers/type/json-schema-controller.js +3 -0
  21. package/dist/controllers/type/json-schema-controller.js.map +1 -1
  22. package/dist/directory-lock.js +5 -5
  23. package/dist/directory-lock.js.map +1 -1
  24. package/dist/evaluation-context.d.ts +14 -0
  25. package/dist/evaluation-context.d.ts.map +1 -1
  26. package/dist/evaluation-context.js +145 -21
  27. package/dist/evaluation-context.js.map +1 -1
  28. package/dist/events.js +1 -3
  29. package/dist/events.js.map +1 -1
  30. package/dist/host-env.js +3 -2
  31. package/dist/host-env.js.map +1 -1
  32. package/dist/kernel.d.ts.map +1 -1
  33. package/dist/kernel.js +58 -26
  34. package/dist/kernel.js.map +1 -1
  35. package/dist/logging/console-sink.js +18 -29
  36. package/dist/logging/console-sink.js.map +1 -1
  37. package/dist/logging/debug-wire-sink.js +11 -23
  38. package/dist/logging/debug-wire-sink.js.map +1 -1
  39. package/dist/logging/drop-accounting.js +28 -41
  40. package/dist/logging/drop-accounting.js.map +1 -1
  41. package/dist/logging/file-sink.js +28 -38
  42. package/dist/logging/file-sink.js.map +1 -1
  43. package/dist/logging/kernel-logging.js +30 -41
  44. package/dist/logging/kernel-logging.js.map +1 -1
  45. package/dist/logging/logging-pipeline.js +197 -197
  46. package/dist/logging/logging-pipeline.js.map +1 -1
  47. package/dist/logging/sampler.js +21 -34
  48. package/dist/logging/sampler.js.map +1 -1
  49. package/dist/manifest-sources/local-manifest-cache-source.js +2 -0
  50. package/dist/manifest-sources/local-manifest-cache-source.js.map +1 -1
  51. package/dist/manifest-sources/memory-source.js +1 -3
  52. package/dist/manifest-sources/memory-source.js.map +1 -1
  53. package/dist/module-context.js +62 -37
  54. package/dist/module-context.js.map +1 -1
  55. package/dist/registry.js +5 -7
  56. package/dist/registry.js.map +1 -1
  57. package/dist/resource-context.d.ts +1 -0
  58. package/dist/resource-context.d.ts.map +1 -1
  59. package/dist/resource-context.js +33 -29
  60. package/dist/resource-context.js.map +1 -1
  61. package/dist/resource-uri.js +4 -0
  62. package/dist/resource-uri.js.map +1 -1
  63. package/dist/runtime-seam.js +42 -55
  64. package/dist/runtime-seam.js.map +1 -1
  65. package/dist/schema-validator.js +20 -18
  66. package/dist/schema-validator.js.map +1 -1
  67. package/dist/tracing.js +4 -19
  68. package/dist/tracing.js.map +1 -1
  69. package/dist/transports/oci/oci-client.js +3 -1
  70. package/dist/transports/oci/oci-client.js.map +1 -1
  71. package/dist/transports/oci/oci-transport.js +17 -16
  72. package/dist/transports/oci/oci-transport.js.map +1 -1
  73. package/dist/transports/registry-transport.js +4 -0
  74. package/dist/transports/registry-transport.js.map +1 -1
  75. package/dist/transports/transport-registry.js +1 -0
  76. package/dist/transports/transport-registry.js.map +1 -1
  77. package/package.json +3 -3
  78. package/src/controller-loaders/napi-loader.ts +28 -9
  79. package/src/evaluation-context.ts +90 -0
  80. package/src/kernel.ts +1 -0
  81. package/src/resource-context.ts +7 -0
@@ -1,15 +1,3 @@
1
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
- if (kind === "m") throw new TypeError("Private method is not writable");
3
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
- };
7
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
- };
12
- var _LoggingPipeline_instances, _LoggingPipeline_sinks, _LoggingPipeline_drops, _LoggingPipeline_fallback, _LoggingPipeline_limits, _LoggingPipeline_bootstrapCapacity, _LoggingPipeline_traceContext, _LoggingPipeline_gateVersion, _LoggingPipeline_gateCache, _LoggingPipeline_bootstrap, _LoggingPipeline_bootstrapDropped, _LoggingPipeline_samplers, _LoggingPipeline_lastFallbackReport, _LoggingPipeline_buildRecord, _LoggingPipeline_dispatch, _LoggingPipeline_writeTo, _LoggingPipeline_bufferBootstrap, _LoggingPipeline_samplerFor, _LoggingPipeline_invalidateGate, _LoggingPipeline_reportDrops, _LoggingPipeline_reportFallback, _ScopedLogger_pipeline, _ScopedLogger_scope, _ScopedLogger_resource, _ScopedLogger_bound, _ScopedLogger_cachedGate, _ScopedLogger_cachedVersion;
13
1
  import { nowUnixNano, severityText as canonicalSeverityText, SEVERITY, } from "@telorun/sdk";
14
2
  import { DropRegistry, PIPELINE_SINK_ID } from "./drop-accounting.js";
15
3
  import { normalizeAttributes } from "./normalize-attributes.js";
@@ -23,34 +11,33 @@ export const ROOT_SCOPE_CONFIG = {
23
11
  const DEFAULT_BOOTSTRAP_CAPACITY = 1024;
24
12
  const FALLBACK_REPORT_INTERVAL_MS = 5000;
25
13
  export class LoggingPipeline {
14
+ #sinks = [];
15
+ #drops;
16
+ #fallback;
17
+ #limits;
18
+ #bootstrapCapacity;
19
+ #traceContext;
20
+ /** Bumped whenever the sink set changes, so a logger's cached gate
21
+ * invalidates without every logger being tracked and rewritten (§12.4). */
22
+ #gateVersion = 0;
23
+ #gateCache = new Map();
24
+ #bootstrap = [];
25
+ #bootstrapDropped = 0;
26
+ #samplers = new Map();
27
+ #lastFallbackReport = new Map();
26
28
  constructor(options) {
27
- _LoggingPipeline_instances.add(this);
28
- _LoggingPipeline_sinks.set(this, []);
29
- _LoggingPipeline_drops.set(this, void 0);
30
- _LoggingPipeline_fallback.set(this, void 0);
31
- _LoggingPipeline_limits.set(this, void 0);
32
- _LoggingPipeline_bootstrapCapacity.set(this, void 0);
33
- _LoggingPipeline_traceContext.set(this, void 0);
34
- /** Bumped whenever the sink set changes, so a logger's cached gate
35
- * invalidates without every logger being tracked and rewritten (§12.4). */
36
- _LoggingPipeline_gateVersion.set(this, 0);
37
- _LoggingPipeline_gateCache.set(this, new Map());
38
- _LoggingPipeline_bootstrap.set(this, []);
39
- _LoggingPipeline_bootstrapDropped.set(this, 0);
40
- _LoggingPipeline_samplers.set(this, new Map());
41
- _LoggingPipeline_lastFallbackReport.set(this, new Map());
42
- __classPrivateFieldSet(this, _LoggingPipeline_fallback, options.fallbackStream, "f");
43
- __classPrivateFieldSet(this, _LoggingPipeline_traceContext, options.traceContext, "f");
44
- __classPrivateFieldSet(this, _LoggingPipeline_limits, options.limits, "f");
45
- __classPrivateFieldSet(this, _LoggingPipeline_bootstrapCapacity, options.bootstrapCapacity ?? DEFAULT_BOOTSTRAP_CAPACITY, "f");
46
- __classPrivateFieldSet(this, _LoggingPipeline_drops, new DropRegistry((report) => __classPrivateFieldGet(this, _LoggingPipeline_instances, "m", _LoggingPipeline_reportDrops).call(this, report)), "f");
29
+ this.#fallback = options.fallbackStream;
30
+ this.#traceContext = options.traceContext;
31
+ this.#limits = options.limits;
32
+ this.#bootstrapCapacity = options.bootstrapCapacity ?? DEFAULT_BOOTSTRAP_CAPACITY;
33
+ this.#drops = new DropRegistry((report) => this.#reportDrops(report));
47
34
  }
48
35
  /** Wire the ambient trace source once the kernel's tracer exists. */
49
36
  setTraceContextProvider(provider) {
50
- __classPrivateFieldSet(this, _LoggingPipeline_traceContext, provider, "f");
37
+ this.#traceContext = provider;
51
38
  }
52
39
  get sinkCount() {
53
- return __classPrivateFieldGet(this, _LoggingPipeline_sinks, "f").length;
40
+ return this.#sinks.length;
54
41
  }
55
42
  /**
56
43
  * Attach a sink and replay the bootstrap backlog into it, in original order.
@@ -58,20 +45,20 @@ export class LoggingPipeline {
58
45
  * threshold propagates to guests (§12.4).
59
46
  */
60
47
  attach(sink) {
61
- __classPrivateFieldGet(this, _LoggingPipeline_sinks, "f").push(sink);
62
- __classPrivateFieldGet(this, _LoggingPipeline_instances, "m", _LoggingPipeline_invalidateGate).call(this);
63
- if (__classPrivateFieldGet(this, _LoggingPipeline_bootstrap, "f")) {
64
- for (const record of __classPrivateFieldGet(this, _LoggingPipeline_bootstrap, "f")) {
48
+ this.#sinks.push(sink);
49
+ this.#invalidateGate();
50
+ if (this.#bootstrap) {
51
+ for (const record of this.#bootstrap) {
65
52
  if (record.severityNumber >= sink.level)
66
- __classPrivateFieldGet(this, _LoggingPipeline_instances, "m", _LoggingPipeline_writeTo).call(this, sink, record);
53
+ this.#writeTo(sink, record);
67
54
  }
68
55
  }
69
56
  }
70
57
  detach(sink) {
71
- const index = __classPrivateFieldGet(this, _LoggingPipeline_sinks, "f").indexOf(sink);
58
+ const index = this.#sinks.indexOf(sink);
72
59
  if (index >= 0)
73
- __classPrivateFieldGet(this, _LoggingPipeline_sinks, "f").splice(index, 1);
74
- __classPrivateFieldGet(this, _LoggingPipeline_instances, "m", _LoggingPipeline_invalidateGate).call(this);
60
+ this.#sinks.splice(index, 1);
61
+ this.#invalidateGate();
75
62
  }
76
63
  /**
77
64
  * Stop holding records for replay. Called once every declared sink has
@@ -80,11 +67,11 @@ export class LoggingPipeline {
80
67
  * process history.
81
68
  */
82
69
  sealBootstrap() {
83
- if (__classPrivateFieldGet(this, _LoggingPipeline_bootstrapDropped, "f") > 0) {
84
- __classPrivateFieldGet(this, _LoggingPipeline_drops, "f").record(PIPELINE_SINK_ID, "buffer_full", __classPrivateFieldGet(this, _LoggingPipeline_bootstrapDropped, "f"));
85
- __classPrivateFieldSet(this, _LoggingPipeline_bootstrapDropped, 0, "f");
70
+ if (this.#bootstrapDropped > 0) {
71
+ this.#drops.record(PIPELINE_SINK_ID, "buffer_full", this.#bootstrapDropped);
72
+ this.#bootstrapDropped = 0;
86
73
  }
87
- __classPrivateFieldSet(this, _LoggingPipeline_bootstrap, undefined, "f");
74
+ this.#bootstrap = undefined;
88
75
  }
89
76
  /**
90
77
  * The severity at or above which a record is created for a scope at
@@ -96,33 +83,33 @@ export class LoggingPipeline {
96
83
  * reach the bootstrap buffer and are replayed once a sink arrives.
97
84
  */
98
85
  gateFor(scopeThreshold) {
99
- const cached = __classPrivateFieldGet(this, _LoggingPipeline_gateCache, "f").get(scopeThreshold);
86
+ const cached = this.#gateCache.get(scopeThreshold);
100
87
  if (cached !== undefined)
101
88
  return cached;
102
89
  let gate = scopeThreshold;
103
- if (__classPrivateFieldGet(this, _LoggingPipeline_sinks, "f").length > 0) {
90
+ if (this.#sinks.length > 0) {
104
91
  gate = Number.POSITIVE_INFINITY;
105
- for (const sink of __classPrivateFieldGet(this, _LoggingPipeline_sinks, "f")) {
92
+ for (const sink of this.#sinks) {
106
93
  const effective = Number.isFinite(sink.level) ? sink.level : scopeThreshold;
107
94
  if (effective < gate)
108
95
  gate = effective;
109
96
  }
110
97
  }
111
- __classPrivateFieldGet(this, _LoggingPipeline_gateCache, "f").set(scopeThreshold, gate);
98
+ this.#gateCache.set(scopeThreshold, gate);
112
99
  return gate;
113
100
  }
114
101
  get gateVersion() {
115
- return __classPrivateFieldGet(this, _LoggingPipeline_gateVersion, "f");
102
+ return this.#gateVersion;
116
103
  }
117
104
  /** Count a drop against a sink. Exposed so a sink's own buffer can report
118
105
  * saturation without reaching into the registry directly. */
119
106
  recordDrop(sinkId, cause, count = 1) {
120
- __classPrivateFieldGet(this, _LoggingPipeline_drops, "f").record(sinkId, cause, count);
107
+ this.#drops.record(sinkId, cause, count);
121
108
  }
122
109
  /** Lifetime drop total for a (sink, cause) pair, for assertions and for the
123
110
  * shutdown report. */
124
111
  dropTotal(sinkId, cause) {
125
- return __classPrivateFieldGet(this, _LoggingPipeline_drops, "f").total(sinkId, cause);
112
+ return this.#drops.total(sinkId, cause);
126
113
  }
127
114
  createLogger(scope, resource, bound) {
128
115
  return new ScopedLogger(this, scope, resource, bound);
@@ -130,13 +117,13 @@ export class LoggingPipeline {
130
117
  /** Build and dispatch a record. Never throws (§8.4). */
131
118
  emit(scope, severity, message, resource, bound, attributes, options) {
132
119
  try {
133
- const record = __classPrivateFieldGet(this, _LoggingPipeline_instances, "m", _LoggingPipeline_buildRecord).call(this, scope, severity, message, resource, bound, attributes, options);
134
- const sampler = __classPrivateFieldGet(this, _LoggingPipeline_instances, "m", _LoggingPipeline_samplerFor).call(this, scope);
120
+ const record = this.#buildRecord(scope, severity, message, resource, bound, attributes, options);
121
+ const sampler = this.#samplerFor(scope);
135
122
  if (sampler && !sampler.shouldEmit(record, Date.now())) {
136
- __classPrivateFieldGet(this, _LoggingPipeline_drops, "f").record(PIPELINE_SINK_ID, "sampled");
123
+ this.#drops.record(PIPELINE_SINK_ID, "sampled");
137
124
  return;
138
125
  }
139
- __classPrivateFieldGet(this, _LoggingPipeline_instances, "m", _LoggingPipeline_dispatch).call(this, record);
126
+ this.#dispatch(record);
140
127
  // `fatal` never alters control flow — no exit, no panic — but it does
141
128
  // oblige an immediate flush: synchronous on every sink that supports it,
142
129
  // initiated without waiting on the rest (§10.5).
@@ -144,187 +131,201 @@ export class LoggingPipeline {
144
131
  this.flushFatal();
145
132
  }
146
133
  catch (err) {
147
- __classPrivateFieldGet(this, _LoggingPipeline_instances, "m", _LoggingPipeline_reportFallback).call(this, "<pipeline>", err);
134
+ this.#reportFallback("<pipeline>", err);
135
+ }
136
+ }
137
+ #buildRecord(scope, severity, message, resource, bound, attributes, options) {
138
+ const merged = bound || attributes || scope.attributes
139
+ ? { ...scope.attributes, ...bound, ...attributes }
140
+ : undefined;
141
+ const normalized = normalizeAttributes(merged, {
142
+ limits: this.#limits,
143
+ secretValues: scope.secretValues,
144
+ censor: scope.redaction.censor,
145
+ });
146
+ redactAttributes(normalized.attributes, scope.redaction);
147
+ const error = options?.error === undefined ? undefined : toErrorValue(options.error);
148
+ redactError(error, scope.redaction);
149
+ const timestamp = options?.timestamp ?? nowUnixNano();
150
+ const record = {
151
+ timestamp,
152
+ severityNumber: severity,
153
+ severityText: options?.severityText ?? canonicalSeverityText(severity),
154
+ message,
155
+ };
156
+ // A bridged record's origin time precedes the moment the runtime saw it.
157
+ if (options?.timestamp !== undefined)
158
+ record.observedTimestamp = nowUnixNano();
159
+ if (normalized.attributes && Object.keys(normalized.attributes).length > 0) {
160
+ record.attributes = normalized.attributes;
161
+ }
162
+ if (normalized.droppedCount > 0)
163
+ record.droppedAttributesCount = normalized.droppedCount;
164
+ if (error)
165
+ record.error = error;
166
+ if (resource)
167
+ record.resource = resource;
168
+ if (scope.module)
169
+ record.module = scope.module;
170
+ if (scope.scope)
171
+ record.scope = scope.scope;
172
+ if (options?.eventName)
173
+ record.eventName = options.eventName.slice(0, 256);
174
+ const trace = this.#traceContext?.();
175
+ if (trace) {
176
+ record.traceId = trace.traceId;
177
+ record.spanId = trace.spanId;
178
+ if (trace.traceFlags !== undefined)
179
+ record.traceFlags = trace.traceFlags;
180
+ }
181
+ return record;
182
+ }
183
+ #dispatch(record) {
184
+ if (this.#sinks.length === 0) {
185
+ this.#bufferBootstrap(record);
186
+ return;
187
+ }
188
+ if (this.#bootstrap)
189
+ this.#bufferBootstrap(record);
190
+ for (const sink of this.#sinks) {
191
+ if (record.severityNumber < sink.level)
192
+ continue;
193
+ this.#writeTo(sink, record);
194
+ }
195
+ }
196
+ #writeTo(sink, record) {
197
+ try {
198
+ sink.write(record);
199
+ }
200
+ catch (err) {
201
+ this.#drops.record(sink.sinkId, "sink_error");
202
+ this.#reportFallback(sink.sinkId, err);
148
203
  }
149
204
  }
205
+ #bufferBootstrap(record) {
206
+ const buffer = this.#bootstrap;
207
+ if (!buffer)
208
+ return;
209
+ if (buffer.length >= this.#bootstrapCapacity) {
210
+ this.#bootstrapDropped += 1;
211
+ return;
212
+ }
213
+ buffer.push(record);
214
+ }
215
+ #samplerFor(scope) {
216
+ if (!scope.sampling)
217
+ return undefined;
218
+ let sampler = this.#samplers.get(scope);
219
+ if (!sampler) {
220
+ sampler = new Sampler(scope.sampling);
221
+ this.#samplers.set(scope, sampler);
222
+ }
223
+ return sampler;
224
+ }
225
+ #invalidateGate() {
226
+ this.#gateVersion += 1;
227
+ this.#gateCache = new Map();
228
+ }
150
229
  /** §10.5's fatal tiering: drain every sync-flushable sink to completion before
151
230
  * returning, and merely *initiate* the rest. Blocking on a sink that cannot
152
231
  * be synchronously drained is a deadlock on an event loop, not durability. */
153
232
  flushFatal() {
154
- for (const sink of __classPrivateFieldGet(this, _LoggingPipeline_sinks, "f")) {
233
+ for (const sink of this.#sinks) {
155
234
  try {
156
235
  if (sink.syncFlushable)
157
236
  sink.flushSync();
158
237
  else
159
- void sink.flush().catch((err) => __classPrivateFieldGet(this, _LoggingPipeline_instances, "m", _LoggingPipeline_reportFallback).call(this, sink.sinkId, err));
238
+ void sink.flush().catch((err) => this.#reportFallback(sink.sinkId, err));
160
239
  }
161
240
  catch (err) {
162
- __classPrivateFieldGet(this, _LoggingPipeline_instances, "m", _LoggingPipeline_reportFallback).call(this, sink.sinkId, err);
241
+ this.#reportFallback(sink.sinkId, err);
163
242
  }
164
243
  }
165
244
  }
166
245
  async flush() {
167
- await Promise.all(__classPrivateFieldGet(this, _LoggingPipeline_sinks, "f").map((sink) => sink.flush().catch((err) => {
168
- __classPrivateFieldGet(this, _LoggingPipeline_drops, "f").record(sink.sinkId, "sink_error");
169
- __classPrivateFieldGet(this, _LoggingPipeline_instances, "m", _LoggingPipeline_reportFallback).call(this, sink.sinkId, err);
246
+ await Promise.all(this.#sinks.map((sink) => sink.flush().catch((err) => {
247
+ this.#drops.record(sink.sinkId, "sink_error");
248
+ this.#reportFallback(sink.sinkId, err);
170
249
  })));
171
250
  }
172
251
  /** Final flush and release. Outstanding drop reports are emitted first so a
173
252
  * run that ends while still dropping does not lose its accounting. */
174
253
  async close() {
175
- __classPrivateFieldGet(this, _LoggingPipeline_drops, "f").reportPending();
254
+ this.#drops.reportPending();
176
255
  await this.flush();
177
- await Promise.all(__classPrivateFieldGet(this, _LoggingPipeline_sinks, "f").map((sink) => sink.close().catch((err) => __classPrivateFieldGet(this, _LoggingPipeline_instances, "m", _LoggingPipeline_reportFallback).call(this, sink.sinkId, err))));
178
- __classPrivateFieldGet(this, _LoggingPipeline_sinks, "f").length = 0;
179
- __classPrivateFieldGet(this, _LoggingPipeline_drops, "f").dispose();
180
- __classPrivateFieldGet(this, _LoggingPipeline_instances, "m", _LoggingPipeline_invalidateGate).call(this);
256
+ await Promise.all(this.#sinks.map((sink) => sink.close().catch((err) => this.#reportFallback(sink.sinkId, err))));
257
+ this.#sinks.length = 0;
258
+ this.#drops.dispose();
259
+ this.#invalidateGate();
260
+ }
261
+ /** The recovery warning §10.4 requires once drops cease. Emitted as an
262
+ * ordinary record so it reaches every sink. */
263
+ #reportDrops(report) {
264
+ this.emit(ROOT_SCOPE_CONFIG, SEVERITY.warn, `dropped ${report.count} log record(s)`, undefined, undefined, {
265
+ "telo.log.sink": report.sinkId,
266
+ "telo.log.drop_cause": report.cause,
267
+ "telo.log.dropped": report.count,
268
+ "telo.log.dropped_total": report.total,
269
+ }, { eventName: "telo.log.dropped" });
181
270
  }
182
- }
183
- _LoggingPipeline_sinks = new WeakMap(), _LoggingPipeline_drops = new WeakMap(), _LoggingPipeline_fallback = new WeakMap(), _LoggingPipeline_limits = new WeakMap(), _LoggingPipeline_bootstrapCapacity = new WeakMap(), _LoggingPipeline_traceContext = new WeakMap(), _LoggingPipeline_gateVersion = new WeakMap(), _LoggingPipeline_gateCache = new WeakMap(), _LoggingPipeline_bootstrap = new WeakMap(), _LoggingPipeline_bootstrapDropped = new WeakMap(), _LoggingPipeline_samplers = new WeakMap(), _LoggingPipeline_lastFallbackReport = new WeakMap(), _LoggingPipeline_instances = new WeakSet(), _LoggingPipeline_buildRecord = function _LoggingPipeline_buildRecord(scope, severity, message, resource, bound, attributes, options) {
184
- const merged = bound || attributes || scope.attributes
185
- ? { ...scope.attributes, ...bound, ...attributes }
186
- : undefined;
187
- const normalized = normalizeAttributes(merged, {
188
- limits: __classPrivateFieldGet(this, _LoggingPipeline_limits, "f"),
189
- secretValues: scope.secretValues,
190
- censor: scope.redaction.censor,
191
- });
192
- redactAttributes(normalized.attributes, scope.redaction);
193
- const error = options?.error === undefined ? undefined : toErrorValue(options.error);
194
- redactError(error, scope.redaction);
195
- const timestamp = options?.timestamp ?? nowUnixNano();
196
- const record = {
197
- timestamp,
198
- severityNumber: severity,
199
- severityText: options?.severityText ?? canonicalSeverityText(severity),
200
- message,
201
- };
202
- // A bridged record's origin time precedes the moment the runtime saw it.
203
- if (options?.timestamp !== undefined)
204
- record.observedTimestamp = nowUnixNano();
205
- if (normalized.attributes && Object.keys(normalized.attributes).length > 0) {
206
- record.attributes = normalized.attributes;
207
- }
208
- if (normalized.droppedCount > 0)
209
- record.droppedAttributesCount = normalized.droppedCount;
210
- if (error)
211
- record.error = error;
212
- if (resource)
213
- record.resource = resource;
214
- if (scope.module)
215
- record.module = scope.module;
216
- if (scope.scope)
217
- record.scope = scope.scope;
218
- if (options?.eventName)
219
- record.eventName = options.eventName.slice(0, 256);
220
- const trace = __classPrivateFieldGet(this, _LoggingPipeline_traceContext, "f")?.call(this);
221
- if (trace) {
222
- record.traceId = trace.traceId;
223
- record.spanId = trace.spanId;
224
- if (trace.traceFlags !== undefined)
225
- record.traceFlags = trace.traceFlags;
226
- }
227
- return record;
228
- }, _LoggingPipeline_dispatch = function _LoggingPipeline_dispatch(record) {
229
- if (__classPrivateFieldGet(this, _LoggingPipeline_sinks, "f").length === 0) {
230
- __classPrivateFieldGet(this, _LoggingPipeline_instances, "m", _LoggingPipeline_bufferBootstrap).call(this, record);
231
- return;
232
- }
233
- if (__classPrivateFieldGet(this, _LoggingPipeline_bootstrap, "f"))
234
- __classPrivateFieldGet(this, _LoggingPipeline_instances, "m", _LoggingPipeline_bufferBootstrap).call(this, record);
235
- for (const sink of __classPrivateFieldGet(this, _LoggingPipeline_sinks, "f")) {
236
- if (record.severityNumber < sink.level)
237
- continue;
238
- __classPrivateFieldGet(this, _LoggingPipeline_instances, "m", _LoggingPipeline_writeTo).call(this, sink, record);
239
- }
240
- }, _LoggingPipeline_writeTo = function _LoggingPipeline_writeTo(sink, record) {
241
- try {
242
- sink.write(record);
243
- }
244
- catch (err) {
245
- __classPrivateFieldGet(this, _LoggingPipeline_drops, "f").record(sink.sinkId, "sink_error");
246
- __classPrivateFieldGet(this, _LoggingPipeline_instances, "m", _LoggingPipeline_reportFallback).call(this, sink.sinkId, err);
247
- }
248
- }, _LoggingPipeline_bufferBootstrap = function _LoggingPipeline_bufferBootstrap(record) {
249
- const buffer = __classPrivateFieldGet(this, _LoggingPipeline_bootstrap, "f");
250
- if (!buffer)
251
- return;
252
- if (buffer.length >= __classPrivateFieldGet(this, _LoggingPipeline_bootstrapCapacity, "f")) {
253
- __classPrivateFieldSet(this, _LoggingPipeline_bootstrapDropped, __classPrivateFieldGet(this, _LoggingPipeline_bootstrapDropped, "f") + 1, "f");
254
- return;
255
- }
256
- buffer.push(record);
257
- }, _LoggingPipeline_samplerFor = function _LoggingPipeline_samplerFor(scope) {
258
- if (!scope.sampling)
259
- return undefined;
260
- let sampler = __classPrivateFieldGet(this, _LoggingPipeline_samplers, "f").get(scope);
261
- if (!sampler) {
262
- sampler = new Sampler(scope.sampling);
263
- __classPrivateFieldGet(this, _LoggingPipeline_samplers, "f").set(scope, sampler);
264
- }
265
- return sampler;
266
- }, _LoggingPipeline_invalidateGate = function _LoggingPipeline_invalidateGate() {
267
- __classPrivateFieldSet(this, _LoggingPipeline_gateVersion, __classPrivateFieldGet(this, _LoggingPipeline_gateVersion, "f") + 1, "f");
268
- __classPrivateFieldSet(this, _LoggingPipeline_gateCache, new Map(), "f");
269
- }, _LoggingPipeline_reportDrops = function _LoggingPipeline_reportDrops(report) {
270
- this.emit(ROOT_SCOPE_CONFIG, SEVERITY.warn, `dropped ${report.count} log record(s)`, undefined, undefined, {
271
- "telo.log.sink": report.sinkId,
272
- "telo.log.drop_cause": report.cause,
273
- "telo.log.dropped": report.count,
274
- "telo.log.dropped_total": report.total,
275
- }, { eventName: "telo.log.dropped" });
276
- }, _LoggingPipeline_reportFallback = function _LoggingPipeline_reportFallback(sinkId, err) {
277
- const now = Date.now();
278
- const last = __classPrivateFieldGet(this, _LoggingPipeline_lastFallbackReport, "f").get(sinkId) ?? 0;
279
- if (now - last < FALLBACK_REPORT_INTERVAL_MS)
280
- return;
281
- __classPrivateFieldGet(this, _LoggingPipeline_lastFallbackReport, "f").set(sinkId, now);
282
- const detail = err instanceof Error ? `${err.name}: ${err.message}` : String(err);
283
- try {
284
- __classPrivateFieldGet(this, _LoggingPipeline_fallback, "f").write(`[telo:logging] sink "${sinkId}" failed: ${detail}\n`);
285
- }
286
- catch {
287
- // The fallback stream itself is gone. There is nowhere left to report to,
288
- // and throwing here would break the application — which §8.4 forbids.
271
+ /**
272
+ * §8.4: a sink failure never propagates to the caller and is never silently
273
+ * discarded it goes to the process's real stderr, at most once per sink per
274
+ * interval, and is counted.
275
+ */
276
+ #reportFallback(sinkId, err) {
277
+ const now = Date.now();
278
+ const last = this.#lastFallbackReport.get(sinkId) ?? 0;
279
+ if (now - last < FALLBACK_REPORT_INTERVAL_MS)
280
+ return;
281
+ this.#lastFallbackReport.set(sinkId, now);
282
+ const detail = err instanceof Error ? `${err.name}: ${err.message}` : String(err);
283
+ try {
284
+ this.#fallback.write(`[telo:logging] sink "${sinkId}" failed: ${detail}\n`);
285
+ }
286
+ catch {
287
+ // The fallback stream itself is gone. There is nowhere left to report to,
288
+ // and throwing here would break the application — which §8.4 forbids.
289
+ }
289
290
  }
290
- };
291
+ }
291
292
  class ScopedLogger {
293
+ #pipeline;
294
+ #scope;
295
+ #resource;
296
+ #bound;
297
+ #cachedGate = Number.NaN;
298
+ #cachedVersion = -1;
292
299
  constructor(pipeline, scope, resource, bound) {
293
- _ScopedLogger_pipeline.set(this, void 0);
294
- _ScopedLogger_scope.set(this, void 0);
295
- _ScopedLogger_resource.set(this, void 0);
296
- _ScopedLogger_bound.set(this, void 0);
297
- _ScopedLogger_cachedGate.set(this, Number.NaN);
298
- _ScopedLogger_cachedVersion.set(this, -1);
299
- __classPrivateFieldSet(this, _ScopedLogger_pipeline, pipeline, "f");
300
- __classPrivateFieldSet(this, _ScopedLogger_scope, scope, "f");
301
- __classPrivateFieldSet(this, _ScopedLogger_resource, resource, "f");
302
- __classPrivateFieldSet(this, _ScopedLogger_bound, bound, "f");
300
+ this.#pipeline = pipeline;
301
+ this.#scope = scope;
302
+ this.#resource = resource;
303
+ this.#bound = bound;
303
304
  }
304
305
  enabled(severity) {
305
- const version = __classPrivateFieldGet(this, _ScopedLogger_pipeline, "f").gateVersion;
306
- if (version !== __classPrivateFieldGet(this, _ScopedLogger_cachedVersion, "f")) {
307
- __classPrivateFieldSet(this, _ScopedLogger_cachedGate, __classPrivateFieldGet(this, _ScopedLogger_pipeline, "f").gateFor(__classPrivateFieldGet(this, _ScopedLogger_scope, "f").threshold), "f");
308
- __classPrivateFieldSet(this, _ScopedLogger_cachedVersion, version, "f");
306
+ const version = this.#pipeline.gateVersion;
307
+ if (version !== this.#cachedVersion) {
308
+ this.#cachedGate = this.#pipeline.gateFor(this.#scope.threshold);
309
+ this.#cachedVersion = version;
309
310
  }
310
- return severity >= __classPrivateFieldGet(this, _ScopedLogger_cachedGate, "f");
311
+ return severity >= this.#cachedGate;
311
312
  }
312
313
  log(severity, message, attributes, options) {
313
314
  if (!this.enabled(severity))
314
315
  return;
315
- __classPrivateFieldGet(this, _ScopedLogger_pipeline, "f").emit(__classPrivateFieldGet(this, _ScopedLogger_scope, "f"), severity, message, __classPrivateFieldGet(this, _ScopedLogger_resource, "f"), __classPrivateFieldGet(this, _ScopedLogger_bound, "f"), attributes, options);
316
+ this.#pipeline.emit(this.#scope, severity, message, this.#resource, this.#bound, attributes, options);
316
317
  }
317
318
  /** Binding merges once, here — never per record — so a child logger costs one
318
319
  * spread at creation and nothing at emit time (§8.3). */
319
320
  with(attributes) {
320
321
  const normalized = normalizeAttributes(attributes).attributes;
321
- return new ScopedLogger(__classPrivateFieldGet(this, _ScopedLogger_pipeline, "f"), __classPrivateFieldGet(this, _ScopedLogger_scope, "f"), __classPrivateFieldGet(this, _ScopedLogger_resource, "f"), {
322
- ...__classPrivateFieldGet(this, _ScopedLogger_bound, "f"),
322
+ return new ScopedLogger(this.#pipeline, this.#scope, this.#resource, {
323
+ ...this.#bound,
323
324
  ...normalized,
324
325
  });
325
326
  }
326
327
  flush() {
327
- return __classPrivateFieldGet(this, _ScopedLogger_pipeline, "f").flush();
328
+ return this.#pipeline.flush();
328
329
  }
329
330
  trace(message, attributes, options) {
330
331
  this.log(SEVERITY.trace, message, attributes, options);
@@ -345,5 +346,4 @@ class ScopedLogger {
345
346
  this.log(SEVERITY.fatal, message, attributes, options);
346
347
  }
347
348
  }
348
- _ScopedLogger_pipeline = new WeakMap(), _ScopedLogger_scope = new WeakMap(), _ScopedLogger_resource = new WeakMap(), _ScopedLogger_bound = new WeakMap(), _ScopedLogger_cachedGate = new WeakMap(), _ScopedLogger_cachedVersion = new WeakMap();
349
349
  //# sourceMappingURL=logging-pipeline.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logging-pipeline.js","sourceRoot":"","sources":["../../src/logging/logging-pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logging-pipeline.js","sourceRoot":"","sources":["../../src/logging/logging-pipeline.ts"],"names":[],"mappings":"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"}