@smplkit/sdk 1.3.38 → 1.3.40
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 +148 -27
- package/dist/index.cjs +164 -71
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +149 -42
- package/dist/index.d.ts +149 -42
- package/dist/index.js +161 -71
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -16624,17 +16624,20 @@ __export(index_exports, {
|
|
|
16624
16624
|
BooleanFlag: () => BooleanFlag,
|
|
16625
16625
|
Config: () => Config,
|
|
16626
16626
|
ConfigClient: () => ConfigClient,
|
|
16627
|
+
ConfigManagement: () => ConfigManagement,
|
|
16627
16628
|
Context: () => Context,
|
|
16628
16629
|
Flag: () => Flag,
|
|
16629
16630
|
FlagChangeEvent: () => FlagChangeEvent,
|
|
16630
16631
|
FlagStats: () => FlagStats,
|
|
16631
16632
|
FlagsClient: () => FlagsClient,
|
|
16633
|
+
FlagsManagement: () => FlagsManagement,
|
|
16632
16634
|
JsonFlag: () => JsonFlag,
|
|
16633
16635
|
LiveConfigProxy: () => LiveConfigProxy,
|
|
16634
16636
|
LogGroup: () => LogGroup,
|
|
16635
16637
|
LogLevel: () => LogLevel,
|
|
16636
16638
|
Logger: () => Logger,
|
|
16637
16639
|
LoggingClient: () => LoggingClient,
|
|
16640
|
+
LoggingManagement: () => LoggingManagement,
|
|
16638
16641
|
NumberFlag: () => NumberFlag,
|
|
16639
16642
|
PinoAdapter: () => PinoAdapter,
|
|
16640
16643
|
Rule: () => Rule,
|
|
@@ -17043,6 +17046,27 @@ function buildRequestBody(options) {
|
|
|
17043
17046
|
}
|
|
17044
17047
|
};
|
|
17045
17048
|
}
|
|
17049
|
+
var ConfigManagement = class {
|
|
17050
|
+
constructor(_client) {
|
|
17051
|
+
this._client = _client;
|
|
17052
|
+
}
|
|
17053
|
+
/** Create an unsaved config. Call `.save()` to persist. */
|
|
17054
|
+
new(id, options) {
|
|
17055
|
+
return this._client._mgNew(id, options);
|
|
17056
|
+
}
|
|
17057
|
+
/** Fetch a config by id. */
|
|
17058
|
+
async get(id) {
|
|
17059
|
+
return this._client._getById(id);
|
|
17060
|
+
}
|
|
17061
|
+
/** List all configs. */
|
|
17062
|
+
async list() {
|
|
17063
|
+
return this._client._mgList();
|
|
17064
|
+
}
|
|
17065
|
+
/** Delete a config by id. */
|
|
17066
|
+
async delete(id) {
|
|
17067
|
+
return this._client._mgDelete(id);
|
|
17068
|
+
}
|
|
17069
|
+
};
|
|
17046
17070
|
var ConfigClient = class {
|
|
17047
17071
|
/** @internal */
|
|
17048
17072
|
_apiKey;
|
|
@@ -17054,6 +17078,8 @@ var ConfigClient = class {
|
|
|
17054
17078
|
_getSharedWs;
|
|
17055
17079
|
/** @internal — set by SmplClient after construction. */
|
|
17056
17080
|
_parent = null;
|
|
17081
|
+
/** Management API — CRUD operations on Config models. */
|
|
17082
|
+
management;
|
|
17057
17083
|
_configCache = {};
|
|
17058
17084
|
_initialized = false;
|
|
17059
17085
|
_listeners = [];
|
|
@@ -17082,12 +17108,13 @@ var ConfigClient = class {
|
|
|
17082
17108
|
}
|
|
17083
17109
|
}
|
|
17084
17110
|
});
|
|
17111
|
+
this.management = new ConfigManagement(this);
|
|
17085
17112
|
}
|
|
17086
17113
|
// ------------------------------------------------------------------
|
|
17087
|
-
// Management:
|
|
17114
|
+
// Management: internal implementations (delegated from ConfigManagement)
|
|
17088
17115
|
// ------------------------------------------------------------------
|
|
17089
|
-
/**
|
|
17090
|
-
|
|
17116
|
+
/** @internal */
|
|
17117
|
+
_mgNew(id, options) {
|
|
17091
17118
|
return new Config(this, {
|
|
17092
17119
|
id,
|
|
17093
17120
|
name: options?.name ?? keyToDisplayName(id),
|
|
@@ -17099,15 +17126,8 @@ var ConfigClient = class {
|
|
|
17099
17126
|
updatedAt: null
|
|
17100
17127
|
});
|
|
17101
17128
|
}
|
|
17102
|
-
|
|
17103
|
-
|
|
17104
|
-
// ------------------------------------------------------------------
|
|
17105
|
-
/** Fetch a config by id. */
|
|
17106
|
-
async get(id) {
|
|
17107
|
-
return this._getById(id);
|
|
17108
|
-
}
|
|
17109
|
-
/** List all configs. */
|
|
17110
|
-
async list() {
|
|
17129
|
+
/** @internal */
|
|
17130
|
+
async _mgList() {
|
|
17111
17131
|
let data;
|
|
17112
17132
|
try {
|
|
17113
17133
|
const result = await this._http.GET("/api/v1/configs", {});
|
|
@@ -17119,8 +17139,8 @@ var ConfigClient = class {
|
|
|
17119
17139
|
if (!data) return [];
|
|
17120
17140
|
return data.data.map((r) => resourceToConfig(r, this));
|
|
17121
17141
|
}
|
|
17122
|
-
/**
|
|
17123
|
-
async
|
|
17142
|
+
/** @internal */
|
|
17143
|
+
async _mgDelete(id) {
|
|
17124
17144
|
try {
|
|
17125
17145
|
const result = await this._http.DELETE("/api/v1/configs/{id}", {
|
|
17126
17146
|
params: { path: { id } }
|
|
@@ -17200,12 +17220,12 @@ var ConfigClient = class {
|
|
|
17200
17220
|
// Runtime: resolve and subscribe
|
|
17201
17221
|
// ------------------------------------------------------------------
|
|
17202
17222
|
/**
|
|
17203
|
-
*
|
|
17223
|
+
* Get a config's resolved values for the current environment.
|
|
17204
17224
|
*
|
|
17205
17225
|
* Returns the resolved key-value pairs for the given config.
|
|
17206
17226
|
* Optionally pass a model class to map the resolved values.
|
|
17207
17227
|
*/
|
|
17208
|
-
async
|
|
17228
|
+
async get(id, model) {
|
|
17209
17229
|
await this._ensureInitialized();
|
|
17210
17230
|
const values = this._configCache[id];
|
|
17211
17231
|
if (values === void 0) {
|
|
@@ -17273,13 +17293,13 @@ var ConfigClient = class {
|
|
|
17273
17293
|
*/
|
|
17274
17294
|
async refresh() {
|
|
17275
17295
|
if (!this._initialized) {
|
|
17276
|
-
throw new SmplError("Config not initialized. Call
|
|
17296
|
+
throw new SmplError("Config not initialized. Call get() or subscribe() first.");
|
|
17277
17297
|
}
|
|
17278
17298
|
const environment = this._parent?._environment;
|
|
17279
17299
|
if (!environment) {
|
|
17280
17300
|
throw new SmplError("No environment set.");
|
|
17281
17301
|
}
|
|
17282
|
-
const configs = await this.list();
|
|
17302
|
+
const configs = await this.management.list();
|
|
17283
17303
|
const newCache = {};
|
|
17284
17304
|
for (const cfg of configs) {
|
|
17285
17305
|
const chain = await cfg._buildChain(configs);
|
|
@@ -17299,7 +17319,7 @@ var ConfigClient = class {
|
|
|
17299
17319
|
if (!environment) {
|
|
17300
17320
|
throw new SmplError("No environment set. Ensure SmplClient is configured.");
|
|
17301
17321
|
}
|
|
17302
|
-
const configs = await this.list();
|
|
17322
|
+
const configs = await this.management.list();
|
|
17303
17323
|
const cache = {};
|
|
17304
17324
|
for (const cfg of configs) {
|
|
17305
17325
|
const chain = await cfg._buildChain(configs);
|
|
@@ -17315,7 +17335,7 @@ var ConfigClient = class {
|
|
|
17315
17335
|
/** @internal — called by SmplClient for backward compat. */
|
|
17316
17336
|
async _connectInternal(environment) {
|
|
17317
17337
|
if (this._initialized) return;
|
|
17318
|
-
const configs = await this.list();
|
|
17338
|
+
const configs = await this.management.list();
|
|
17319
17339
|
const cache = {};
|
|
17320
17340
|
for (const cfg of configs) {
|
|
17321
17341
|
const chain = await cfg._buildChain(configs);
|
|
@@ -17694,6 +17714,39 @@ var ContextRegistrationBuffer = class {
|
|
|
17694
17714
|
return this._pending.length;
|
|
17695
17715
|
}
|
|
17696
17716
|
};
|
|
17717
|
+
var FlagsManagement = class {
|
|
17718
|
+
constructor(_client) {
|
|
17719
|
+
this._client = _client;
|
|
17720
|
+
}
|
|
17721
|
+
/** Create an unsaved boolean flag. Call `.save()` to persist. */
|
|
17722
|
+
newBooleanFlag(id, options) {
|
|
17723
|
+
return this._client._mgNewBooleanFlag(id, options);
|
|
17724
|
+
}
|
|
17725
|
+
/** Create an unsaved string flag. Call `.save()` to persist. */
|
|
17726
|
+
newStringFlag(id, options) {
|
|
17727
|
+
return this._client._mgNewStringFlag(id, options);
|
|
17728
|
+
}
|
|
17729
|
+
/** Create an unsaved number flag. Call `.save()` to persist. */
|
|
17730
|
+
newNumberFlag(id, options) {
|
|
17731
|
+
return this._client._mgNewNumberFlag(id, options);
|
|
17732
|
+
}
|
|
17733
|
+
/** Create an unsaved JSON flag. Call `.save()` to persist. */
|
|
17734
|
+
newJsonFlag(id, options) {
|
|
17735
|
+
return this._client._mgNewJsonFlag(id, options);
|
|
17736
|
+
}
|
|
17737
|
+
/** Fetch a flag by id. */
|
|
17738
|
+
async get(id) {
|
|
17739
|
+
return this._client._mgGet(id);
|
|
17740
|
+
}
|
|
17741
|
+
/** List all flags. */
|
|
17742
|
+
async list() {
|
|
17743
|
+
return this._client._mgList();
|
|
17744
|
+
}
|
|
17745
|
+
/** Delete a flag by id. */
|
|
17746
|
+
async delete(id) {
|
|
17747
|
+
return this._client._mgDelete(id);
|
|
17748
|
+
}
|
|
17749
|
+
};
|
|
17697
17750
|
var FlagsClient = class {
|
|
17698
17751
|
/** @internal */
|
|
17699
17752
|
_apiKey;
|
|
@@ -17718,6 +17771,8 @@ var FlagsClient = class {
|
|
|
17718
17771
|
_ensureWs;
|
|
17719
17772
|
/** @internal — set by SmplClient after construction. */
|
|
17720
17773
|
_parent = null;
|
|
17774
|
+
/** Management API — CRUD operations on Flag models. */
|
|
17775
|
+
management;
|
|
17721
17776
|
/** @internal */
|
|
17722
17777
|
constructor(apiKey, ensureWs, timeout) {
|
|
17723
17778
|
this._apiKey = apiKey;
|
|
@@ -17753,12 +17808,13 @@ var FlagsClient = class {
|
|
|
17753
17808
|
},
|
|
17754
17809
|
fetch: fetchWithTimeout
|
|
17755
17810
|
});
|
|
17811
|
+
this.management = new FlagsManagement(this);
|
|
17756
17812
|
}
|
|
17757
17813
|
// ------------------------------------------------------------------
|
|
17758
|
-
// Management:
|
|
17814
|
+
// Management: internal implementations (delegated from FlagsManagement)
|
|
17759
17815
|
// ------------------------------------------------------------------
|
|
17760
|
-
/**
|
|
17761
|
-
|
|
17816
|
+
/** @internal */
|
|
17817
|
+
_mgNewBooleanFlag(id, options) {
|
|
17762
17818
|
return new BooleanFlag(this, {
|
|
17763
17819
|
id,
|
|
17764
17820
|
name: options.name ?? keyToDisplayName(id),
|
|
@@ -17774,8 +17830,8 @@ var FlagsClient = class {
|
|
|
17774
17830
|
updatedAt: null
|
|
17775
17831
|
});
|
|
17776
17832
|
}
|
|
17777
|
-
/**
|
|
17778
|
-
|
|
17833
|
+
/** @internal */
|
|
17834
|
+
_mgNewStringFlag(id, options) {
|
|
17779
17835
|
return new StringFlag(this, {
|
|
17780
17836
|
id,
|
|
17781
17837
|
name: options.name ?? keyToDisplayName(id),
|
|
@@ -17788,8 +17844,8 @@ var FlagsClient = class {
|
|
|
17788
17844
|
updatedAt: null
|
|
17789
17845
|
});
|
|
17790
17846
|
}
|
|
17791
|
-
/**
|
|
17792
|
-
|
|
17847
|
+
/** @internal */
|
|
17848
|
+
_mgNewNumberFlag(id, options) {
|
|
17793
17849
|
return new NumberFlag(this, {
|
|
17794
17850
|
id,
|
|
17795
17851
|
name: options.name ?? keyToDisplayName(id),
|
|
@@ -17802,8 +17858,8 @@ var FlagsClient = class {
|
|
|
17802
17858
|
updatedAt: null
|
|
17803
17859
|
});
|
|
17804
17860
|
}
|
|
17805
|
-
/**
|
|
17806
|
-
|
|
17861
|
+
/** @internal */
|
|
17862
|
+
_mgNewJsonFlag(id, options) {
|
|
17807
17863
|
return new JsonFlag(this, {
|
|
17808
17864
|
id,
|
|
17809
17865
|
name: options.name ?? keyToDisplayName(id),
|
|
@@ -17816,11 +17872,8 @@ var FlagsClient = class {
|
|
|
17816
17872
|
updatedAt: null
|
|
17817
17873
|
});
|
|
17818
17874
|
}
|
|
17819
|
-
|
|
17820
|
-
|
|
17821
|
-
// ------------------------------------------------------------------
|
|
17822
|
-
/** Fetch a flag by id. */
|
|
17823
|
-
async get(id) {
|
|
17875
|
+
/** @internal */
|
|
17876
|
+
async _mgGet(id) {
|
|
17824
17877
|
let data;
|
|
17825
17878
|
try {
|
|
17826
17879
|
const result = await this._http.GET("/api/v1/flags/{id}", {
|
|
@@ -17837,8 +17890,8 @@ var FlagsClient = class {
|
|
|
17837
17890
|
}
|
|
17838
17891
|
return this._resourceToModel(data.data);
|
|
17839
17892
|
}
|
|
17840
|
-
/**
|
|
17841
|
-
async
|
|
17893
|
+
/** @internal */
|
|
17894
|
+
async _mgList() {
|
|
17842
17895
|
let data;
|
|
17843
17896
|
try {
|
|
17844
17897
|
const result = await this._http.GET("/api/v1/flags", {});
|
|
@@ -17850,8 +17903,8 @@ var FlagsClient = class {
|
|
|
17850
17903
|
if (!data) return [];
|
|
17851
17904
|
return data.data.map((r) => this._resourceToModel(r));
|
|
17852
17905
|
}
|
|
17853
|
-
/**
|
|
17854
|
-
async
|
|
17906
|
+
/** @internal */
|
|
17907
|
+
async _mgDelete(id) {
|
|
17855
17908
|
try {
|
|
17856
17909
|
const result = await this._http.DELETE("/api/v1/flags/{id}", {
|
|
17857
17910
|
params: { path: { id } }
|
|
@@ -17869,9 +17922,9 @@ var FlagsClient = class {
|
|
|
17869
17922
|
async _createFlag(flag) {
|
|
17870
17923
|
const body = {
|
|
17871
17924
|
data: {
|
|
17925
|
+
id: flag.id,
|
|
17872
17926
|
type: "flag",
|
|
17873
17927
|
attributes: {
|
|
17874
|
-
id: flag.id,
|
|
17875
17928
|
name: flag.name,
|
|
17876
17929
|
description: flag.description ?? "",
|
|
17877
17930
|
type: flag.type,
|
|
@@ -18498,6 +18551,43 @@ function wrapFetchError3(err) {
|
|
|
18498
18551
|
`Request failed: ${err instanceof Error ? err.message : String(err)}`
|
|
18499
18552
|
);
|
|
18500
18553
|
}
|
|
18554
|
+
var LoggingManagement = class {
|
|
18555
|
+
constructor(_client) {
|
|
18556
|
+
this._client = _client;
|
|
18557
|
+
}
|
|
18558
|
+
/** Create an unsaved logger. Call `.save()` to persist. */
|
|
18559
|
+
new(id, options) {
|
|
18560
|
+
return this._client._mgNew(id, options);
|
|
18561
|
+
}
|
|
18562
|
+
/** Fetch a logger by id. */
|
|
18563
|
+
async get(id) {
|
|
18564
|
+
return this._client._mgGet(id);
|
|
18565
|
+
}
|
|
18566
|
+
/** List all loggers. */
|
|
18567
|
+
async list() {
|
|
18568
|
+
return this._client._mgList();
|
|
18569
|
+
}
|
|
18570
|
+
/** Delete a logger by id. */
|
|
18571
|
+
async delete(id) {
|
|
18572
|
+
return this._client._mgDelete(id);
|
|
18573
|
+
}
|
|
18574
|
+
/** Create an unsaved log group. Call `.save()` to persist. */
|
|
18575
|
+
newGroup(id, options) {
|
|
18576
|
+
return this._client._mgNewGroup(id, options);
|
|
18577
|
+
}
|
|
18578
|
+
/** Fetch a log group by id. */
|
|
18579
|
+
async getGroup(id) {
|
|
18580
|
+
return this._client._mgGetGroup(id);
|
|
18581
|
+
}
|
|
18582
|
+
/** List all log groups. */
|
|
18583
|
+
async listGroups() {
|
|
18584
|
+
return this._client._mgListGroups();
|
|
18585
|
+
}
|
|
18586
|
+
/** Delete a log group by id. */
|
|
18587
|
+
async deleteGroup(id) {
|
|
18588
|
+
return this._client._mgDeleteGroup(id);
|
|
18589
|
+
}
|
|
18590
|
+
};
|
|
18501
18591
|
var LoggingClient = class {
|
|
18502
18592
|
/** @internal */
|
|
18503
18593
|
_apiKey;
|
|
@@ -18507,6 +18597,8 @@ var LoggingClient = class {
|
|
|
18507
18597
|
_http;
|
|
18508
18598
|
/** @internal — set by SmplClient after construction. */
|
|
18509
18599
|
_parent = null;
|
|
18600
|
+
/** Management API — CRUD operations on Logger and LogGroup models. */
|
|
18601
|
+
management;
|
|
18510
18602
|
_ensureWs;
|
|
18511
18603
|
_wsManager = null;
|
|
18512
18604
|
_started = false;
|
|
@@ -18540,6 +18632,7 @@ var LoggingClient = class {
|
|
|
18540
18632
|
}
|
|
18541
18633
|
}
|
|
18542
18634
|
});
|
|
18635
|
+
this.management = new LoggingManagement(this);
|
|
18543
18636
|
}
|
|
18544
18637
|
// ------------------------------------------------------------------
|
|
18545
18638
|
// Adapter registration
|
|
@@ -18558,10 +18651,10 @@ var LoggingClient = class {
|
|
|
18558
18651
|
this._adapters.push(adapter);
|
|
18559
18652
|
}
|
|
18560
18653
|
// ------------------------------------------------------------------
|
|
18561
|
-
// Management:
|
|
18654
|
+
// Management: internal implementations (delegated from LoggingManagement)
|
|
18562
18655
|
// ------------------------------------------------------------------
|
|
18563
|
-
/**
|
|
18564
|
-
|
|
18656
|
+
/** @internal */
|
|
18657
|
+
_mgNew(id, options) {
|
|
18565
18658
|
return new Logger(this, {
|
|
18566
18659
|
id,
|
|
18567
18660
|
name: options?.name ?? keyToDisplayName(id),
|
|
@@ -18574,11 +18667,8 @@ var LoggingClient = class {
|
|
|
18574
18667
|
updatedAt: null
|
|
18575
18668
|
});
|
|
18576
18669
|
}
|
|
18577
|
-
|
|
18578
|
-
|
|
18579
|
-
// ------------------------------------------------------------------
|
|
18580
|
-
/** Fetch a logger by id. */
|
|
18581
|
-
async get(id) {
|
|
18670
|
+
/** @internal */
|
|
18671
|
+
async _mgGet(id) {
|
|
18582
18672
|
let data;
|
|
18583
18673
|
try {
|
|
18584
18674
|
const result = await this._http.GET("/api/v1/loggers/{id}", {
|
|
@@ -18595,8 +18685,8 @@ var LoggingClient = class {
|
|
|
18595
18685
|
}
|
|
18596
18686
|
return this._loggerToModel(data.data);
|
|
18597
18687
|
}
|
|
18598
|
-
/**
|
|
18599
|
-
async
|
|
18688
|
+
/** @internal */
|
|
18689
|
+
async _mgList() {
|
|
18600
18690
|
let data;
|
|
18601
18691
|
try {
|
|
18602
18692
|
const result = await this._http.GET("/api/v1/loggers", {});
|
|
@@ -18608,8 +18698,8 @@ var LoggingClient = class {
|
|
|
18608
18698
|
if (!data) return [];
|
|
18609
18699
|
return data.data.map((r) => this._loggerToModel(r));
|
|
18610
18700
|
}
|
|
18611
|
-
/**
|
|
18612
|
-
async
|
|
18701
|
+
/** @internal */
|
|
18702
|
+
async _mgDelete(id) {
|
|
18613
18703
|
try {
|
|
18614
18704
|
const result = await this._http.DELETE("/api/v1/loggers/{id}", {
|
|
18615
18705
|
params: { path: { id } }
|
|
@@ -18620,11 +18710,8 @@ var LoggingClient = class {
|
|
|
18620
18710
|
wrapFetchError3(err);
|
|
18621
18711
|
}
|
|
18622
18712
|
}
|
|
18623
|
-
|
|
18624
|
-
|
|
18625
|
-
// ------------------------------------------------------------------
|
|
18626
|
-
/** Create an unsaved log group. Call `.save()` to persist. */
|
|
18627
|
-
newGroup(id, options) {
|
|
18713
|
+
/** @internal */
|
|
18714
|
+
_mgNewGroup(id, options) {
|
|
18628
18715
|
return new LogGroup(this, {
|
|
18629
18716
|
id,
|
|
18630
18717
|
name: options?.name ?? keyToDisplayName(id),
|
|
@@ -18635,20 +18722,17 @@ var LoggingClient = class {
|
|
|
18635
18722
|
updatedAt: null
|
|
18636
18723
|
});
|
|
18637
18724
|
}
|
|
18638
|
-
|
|
18639
|
-
|
|
18640
|
-
|
|
18641
|
-
/** Fetch a log group by id. */
|
|
18642
|
-
async getGroup(id) {
|
|
18643
|
-
const groups = await this.listGroups();
|
|
18725
|
+
/** @internal */
|
|
18726
|
+
async _mgGetGroup(id) {
|
|
18727
|
+
const groups = await this.management.listGroups();
|
|
18644
18728
|
const match = groups.find((g) => g.id === id);
|
|
18645
18729
|
if (!match) {
|
|
18646
18730
|
throw new SmplNotFoundError(`LogGroup with id '${id}' not found`);
|
|
18647
18731
|
}
|
|
18648
18732
|
return match;
|
|
18649
18733
|
}
|
|
18650
|
-
/**
|
|
18651
|
-
async
|
|
18734
|
+
/** @internal */
|
|
18735
|
+
async _mgListGroups() {
|
|
18652
18736
|
let data;
|
|
18653
18737
|
try {
|
|
18654
18738
|
const result = await this._http.GET("/api/v1/log_groups", {});
|
|
@@ -18661,9 +18745,9 @@ var LoggingClient = class {
|
|
|
18661
18745
|
if (!data) return [];
|
|
18662
18746
|
return data.data.map((r) => this._groupToModel(r));
|
|
18663
18747
|
}
|
|
18664
|
-
/**
|
|
18665
|
-
async
|
|
18666
|
-
const group = await this.getGroup(id);
|
|
18748
|
+
/** @internal */
|
|
18749
|
+
async _mgDeleteGroup(id) {
|
|
18750
|
+
const group = await this.management.getGroup(id);
|
|
18667
18751
|
try {
|
|
18668
18752
|
const result = await this._http.DELETE("/api/v1/log_groups/{id}", {
|
|
18669
18753
|
params: { path: { id: group.id } }
|
|
@@ -18805,14 +18889,20 @@ var LoggingClient = class {
|
|
|
18805
18889
|
}
|
|
18806
18890
|
for (const { name, level } of discovered) {
|
|
18807
18891
|
try {
|
|
18808
|
-
const logger = this.new(name, { managed: true });
|
|
18892
|
+
const logger = this.management.new(name, { managed: true });
|
|
18809
18893
|
logger.setLevel(level);
|
|
18810
18894
|
await logger.save();
|
|
18811
|
-
} catch {
|
|
18895
|
+
} catch (err) {
|
|
18896
|
+
console.warn(
|
|
18897
|
+
`[smplkit] Failed to register logger "${name}": ${err instanceof Error ? err.message : String(err)}`
|
|
18898
|
+
);
|
|
18812
18899
|
}
|
|
18813
18900
|
}
|
|
18814
18901
|
try {
|
|
18815
|
-
const [serverLoggers] = await Promise.all([
|
|
18902
|
+
const [serverLoggers] = await Promise.all([
|
|
18903
|
+
this.management.list(),
|
|
18904
|
+
this.management.listGroups()
|
|
18905
|
+
]);
|
|
18816
18906
|
this._applyLevels(serverLoggers);
|
|
18817
18907
|
} catch {
|
|
18818
18908
|
}
|
|
@@ -18911,7 +19001,7 @@ var LoggingClient = class {
|
|
|
18911
19001
|
}
|
|
18912
19002
|
/** Called by adapter hooks when a new logger is created in the framework. */
|
|
18913
19003
|
_onAdapterNewLogger(_name, _level) {
|
|
18914
|
-
const logger = this.new(_name, { managed: true });
|
|
19004
|
+
const logger = this.management.new(_name, { managed: true });
|
|
18915
19005
|
logger.setLevel(_level);
|
|
18916
19006
|
logger.save().catch(() => {
|
|
18917
19007
|
});
|
|
@@ -19728,17 +19818,20 @@ var PinoAdapter = class {
|
|
|
19728
19818
|
BooleanFlag,
|
|
19729
19819
|
Config,
|
|
19730
19820
|
ConfigClient,
|
|
19821
|
+
ConfigManagement,
|
|
19731
19822
|
Context,
|
|
19732
19823
|
Flag,
|
|
19733
19824
|
FlagChangeEvent,
|
|
19734
19825
|
FlagStats,
|
|
19735
19826
|
FlagsClient,
|
|
19827
|
+
FlagsManagement,
|
|
19736
19828
|
JsonFlag,
|
|
19737
19829
|
LiveConfigProxy,
|
|
19738
19830
|
LogGroup,
|
|
19739
19831
|
LogLevel,
|
|
19740
19832
|
Logger,
|
|
19741
19833
|
LoggingClient,
|
|
19834
|
+
LoggingManagement,
|
|
19742
19835
|
NumberFlag,
|
|
19743
19836
|
PinoAdapter,
|
|
19744
19837
|
Rule,
|