@smplkit/sdk 3.0.50 → 3.0.51
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/index.cjs +41 -88
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +32 -26
- package/dist/index.d.ts +32 -26
- package/dist/index.js +41 -88
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -19291,12 +19291,10 @@ var LoggerChangeEvent = class {
|
|
|
19291
19291
|
id;
|
|
19292
19292
|
source;
|
|
19293
19293
|
level;
|
|
19294
|
-
deleted;
|
|
19295
19294
|
constructor(fields) {
|
|
19296
19295
|
this.id = fields.id;
|
|
19297
19296
|
this.source = fields.source;
|
|
19298
|
-
|
|
19299
|
-
if (fields.deleted) this.deleted = fields.deleted;
|
|
19297
|
+
this.level = fields.level;
|
|
19300
19298
|
Object.freeze(this);
|
|
19301
19299
|
}
|
|
19302
19300
|
};
|
|
@@ -22220,27 +22218,24 @@ var LoggingClient = class {
|
|
|
22220
22218
|
/**
|
|
22221
22219
|
* Refresh resolved levels and apply them to adapter-known loggers.
|
|
22222
22220
|
*
|
|
22223
|
-
*
|
|
22224
|
-
*
|
|
22225
|
-
*
|
|
22226
|
-
*
|
|
22221
|
+
* Walks every adapter-known logger name through {@link resolveLevel}
|
|
22222
|
+
* (env override → base → group chain → dot-notation ancestry → fallback)
|
|
22223
|
+
* and pushes the result to every registered adapter. Loggers whose own
|
|
22224
|
+
* `level` is `null` are still applied — that's the whole point of group
|
|
22225
|
+
* inheritance and dot-notation ancestry.
|
|
22227
22226
|
*
|
|
22228
|
-
* The
|
|
22229
|
-
*
|
|
22230
|
-
*
|
|
22231
|
-
*
|
|
22227
|
+
* The resolved-level snapshot lives in `_resolvedLevelStore` so callers
|
|
22228
|
+
* can diff pre-vs-post and fire change listeners on actual effective-
|
|
22229
|
+
* level deltas. The store is scoped to adapter-known names: listener
|
|
22230
|
+
* fanout pairs 1:1 with `adapter.applyLevel` calls, so a logger that
|
|
22231
|
+
* the adapter doesn't know about has no apply and no listener fire.
|
|
22232
22232
|
* @internal
|
|
22233
22233
|
*/
|
|
22234
22234
|
_applyLevels() {
|
|
22235
22235
|
const environment = this._parent?._environment ?? "";
|
|
22236
22236
|
const newResolved = {};
|
|
22237
|
-
for (const id of Object.keys(this._loggersCache)) {
|
|
22238
|
-
newResolved[id] = resolveLevel(id, environment, this._loggersCache, this._groupsCache);
|
|
22239
|
-
}
|
|
22240
22237
|
for (const name of this._knownLoggerNames) {
|
|
22241
|
-
|
|
22242
|
-
newResolved[name] = resolveLevel(name, environment, this._loggersCache, this._groupsCache);
|
|
22243
|
-
}
|
|
22238
|
+
newResolved[name] = resolveLevel(name, environment, this._loggersCache, this._groupsCache);
|
|
22244
22239
|
}
|
|
22245
22240
|
this._resolvedLevelStore = newResolved;
|
|
22246
22241
|
for (const name of this._knownLoggerNames) {
|
|
@@ -22373,7 +22368,6 @@ var LoggingClient = class {
|
|
|
22373
22368
|
delete this._loggersCache[id];
|
|
22374
22369
|
const preResolved = { ...this._resolvedLevelStore };
|
|
22375
22370
|
this._applyLevels();
|
|
22376
|
-
this._emitDeletedEvent(id, "websocket");
|
|
22377
22371
|
this._fireDeltas(preResolved, this._resolvedLevelStore, "websocket", /* @__PURE__ */ new Set([id]));
|
|
22378
22372
|
};
|
|
22379
22373
|
_handleGroupChanged = (data) => {
|
|
@@ -22403,45 +22397,41 @@ var LoggingClient = class {
|
|
|
22403
22397
|
delete this._groupsCache[id];
|
|
22404
22398
|
const preResolved = { ...this._resolvedLevelStore };
|
|
22405
22399
|
this._applyLevels();
|
|
22406
|
-
this._emitDeletedEvent(id, "websocket");
|
|
22407
22400
|
this._fireDeltas(preResolved, this._resolvedLevelStore, "websocket", /* @__PURE__ */ new Set([id]));
|
|
22408
22401
|
};
|
|
22409
22402
|
/**
|
|
22410
|
-
* @internal Fire change listeners for every logger whose
|
|
22411
|
-
* changed between `pre` and `post`.
|
|
22412
|
-
*
|
|
22413
|
-
*
|
|
22403
|
+
* @internal Fire change listeners for every logger whose effective level
|
|
22404
|
+
* changed between `pre` and `post`.
|
|
22405
|
+
*
|
|
22406
|
+
* Contract:
|
|
22407
|
+
* - Iterates loggers present in `post` (the post-apply resolved store).
|
|
22408
|
+
* A key in `pre` but not in `post` is a cache eviction — that key
|
|
22409
|
+
* itself fires nothing. Dependents that re-resolved to a new value
|
|
22410
|
+
* are still in `post` and fire normally.
|
|
22411
|
+
* - For every changed logger, fires every global listener once with
|
|
22412
|
+
* that logger's own payload (no "summary" event), then fires every
|
|
22413
|
+
* key-scoped listener registered for that id.
|
|
22414
|
+
* - One adapter.applyLevel call ↔ one listener notification per
|
|
22415
|
+
* subscriber. A trigger that moves N loggers fires the global
|
|
22416
|
+
* listener N times, not once.
|
|
22417
|
+
* - `suppressIds` is the deletion-event escape hatch: a deleted id
|
|
22418
|
+
* fires nothing for itself even when its adapter-known resolved
|
|
22419
|
+
* level moved (e.g. fell back to INFO).
|
|
22414
22420
|
*/
|
|
22415
|
-
_fireDeltas(pre, post, source,
|
|
22416
|
-
const
|
|
22417
|
-
|
|
22418
|
-
|
|
22419
|
-
if (
|
|
22420
|
-
|
|
22421
|
-
|
|
22422
|
-
|
|
22423
|
-
|
|
22424
|
-
|
|
22425
|
-
|
|
22426
|
-
id,
|
|
22427
|
-
source,
|
|
22428
|
-
level: post[id] ?? null
|
|
22429
|
-
};
|
|
22430
|
-
if (isDeletion) fields.deleted = true;
|
|
22431
|
-
return new LoggerChangeEvent(fields);
|
|
22432
|
-
};
|
|
22433
|
-
const firstKey = changed[0];
|
|
22434
|
-
const globalEvent = buildEvent(firstKey);
|
|
22435
|
-
for (const cb of this._globalListeners) {
|
|
22436
|
-
try {
|
|
22437
|
-
cb(globalEvent);
|
|
22438
|
-
} catch {
|
|
22421
|
+
_fireDeltas(pre, post, source, suppressIds) {
|
|
22422
|
+
for (const id of Object.keys(post)) {
|
|
22423
|
+
if (suppressIds?.has(id)) continue;
|
|
22424
|
+
const next = post[id];
|
|
22425
|
+
if (pre[id] === next) continue;
|
|
22426
|
+
const event = new LoggerChangeEvent({ id, source, level: next });
|
|
22427
|
+
for (const cb of this._globalListeners) {
|
|
22428
|
+
try {
|
|
22429
|
+
cb(event);
|
|
22430
|
+
} catch {
|
|
22431
|
+
}
|
|
22439
22432
|
}
|
|
22440
|
-
|
|
22441
|
-
for (const k of changed) {
|
|
22442
|
-
const keyCallbacks = this._keyListeners.get(k);
|
|
22433
|
+
const keyCallbacks = this._keyListeners.get(id);
|
|
22443
22434
|
if (keyCallbacks) {
|
|
22444
|
-
const event = buildEvent(k);
|
|
22445
22435
|
for (const cb of keyCallbacks) {
|
|
22446
22436
|
try {
|
|
22447
22437
|
cb(event);
|
|
@@ -22451,43 +22441,6 @@ var LoggingClient = class {
|
|
|
22451
22441
|
}
|
|
22452
22442
|
}
|
|
22453
22443
|
}
|
|
22454
|
-
/**
|
|
22455
|
-
* @internal Always emit a deleted event for `id` on global and per-key
|
|
22456
|
-
* listeners. Used by `logger_deleted` / `group_deleted` handlers to
|
|
22457
|
-
* preserve the explicit notification contract even when nothing in the
|
|
22458
|
-
* resolved-level store changed (e.g. server removed an unknown logger).
|
|
22459
|
-
*/
|
|
22460
|
-
_emitDeletedEvent(id, source) {
|
|
22461
|
-
const event = new LoggerChangeEvent({
|
|
22462
|
-
id,
|
|
22463
|
-
level: null,
|
|
22464
|
-
source,
|
|
22465
|
-
deleted: true
|
|
22466
|
-
});
|
|
22467
|
-
for (const cb of this._globalListeners) {
|
|
22468
|
-
try {
|
|
22469
|
-
cb(event);
|
|
22470
|
-
} catch (err) {
|
|
22471
|
-
debug(
|
|
22472
|
-
"websocket",
|
|
22473
|
-
`deleted listener error: ${err instanceof Error ? err.message : String(err)}`
|
|
22474
|
-
);
|
|
22475
|
-
}
|
|
22476
|
-
}
|
|
22477
|
-
const idCallbacks = this._keyListeners.get(id);
|
|
22478
|
-
if (idCallbacks) {
|
|
22479
|
-
for (const cb of idCallbacks) {
|
|
22480
|
-
try {
|
|
22481
|
-
cb(event);
|
|
22482
|
-
} catch (err) {
|
|
22483
|
-
debug(
|
|
22484
|
-
"websocket",
|
|
22485
|
-
`deleted key listener error: ${err instanceof Error ? err.message : String(err)}`
|
|
22486
|
-
);
|
|
22487
|
-
}
|
|
22488
|
-
}
|
|
22489
|
-
}
|
|
22490
|
-
}
|
|
22491
22444
|
_handleLoggersChanged = (_data) => {
|
|
22492
22445
|
debug("websocket", `loggers_changed event received`);
|
|
22493
22446
|
void this._resolveAndFire("websocket").catch(() => {
|