@privateaim/telemetry-kit 0.8.20 → 0.8.22
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/CHANGELOG.md +36 -0
- package/dist/domains/log/entity.d.ts +2 -2
- package/dist/domains/log/entity.d.ts.map +1 -1
- package/dist/domains/log/helpers.d.ts.map +1 -1
- package/dist/index.mjs +37 -202
- package/dist/index.mjs.map +1 -1
- package/package.json +13 -14
- package/rollup.config.mjs +1 -6
- package/src/domains/log/entity.ts +2 -2
- package/src/domains/log/helpers.ts +1 -2
- package/src/domains/log/validator.ts +1 -1
- package/dist/index.cjs +0 -416
- package/dist/index.cjs.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,41 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.8.22](https://github.com/PrivateAIM/hub/compare/v0.8.21...v0.8.22) (2026-01-27)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* migrate to esm & replace jest with vitest ([#1368](https://github.com/PrivateAIM/hub/issues/1368)) ([5a4d9d1](https://github.com/PrivateAIM/hub/commit/5a4d9d1ce118f65740aa49caf948208eac299032))
|
|
9
|
+
* replace loki with victorialogs ([#1346](https://github.com/PrivateAIM/hub/issues/1346)) ([ddf42ce](https://github.com/PrivateAIM/hub/commit/ddf42ced181c4e29ab55c2f5e1ebc155c44095c7))
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
* **deps:** bump the minorandpatch group across 1 directory with 12 updates ([#1343](https://github.com/PrivateAIM/hub/issues/1343)) ([015daa8](https://github.com/PrivateAIM/hub/commit/015daa8d7403b906eeb175d7ab83dd9df665dc6a))
|
|
15
|
+
* **deps:** bump the minorandpatch group across 1 directory with 16 updates ([#1329](https://github.com/PrivateAIM/hub/issues/1329)) ([7b394da](https://github.com/PrivateAIM/hub/commit/7b394da159d8e52cc37fe489832307a234f3ddb0))
|
|
16
|
+
* **deps:** bump the minorandpatch group across 1 directory with 9 updates ([#1331](https://github.com/PrivateAIM/hub/issues/1331)) ([2802bc3](https://github.com/PrivateAIM/hub/commit/2802bc319b84453f8bb351ba1723d9a58bba9830))
|
|
17
|
+
* entity subscriber & analysis-metadata component (trigger) ([#1280](https://github.com/PrivateAIM/hub/issues/1280)) ([b565e9e](https://github.com/PrivateAIM/hub/commit/b565e9e58e4eca147944214ded6aa8387afab0c0))
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Dependencies
|
|
21
|
+
|
|
22
|
+
* The following workspace dependencies were updated
|
|
23
|
+
* devDependencies
|
|
24
|
+
* @privateaim/kit bumped from ^0.8.21 to ^0.8.22
|
|
25
|
+
* peerDependencies
|
|
26
|
+
* @privateaim/kit bumped from ^0.8.21 to ^0.8.22
|
|
27
|
+
|
|
28
|
+
## [0.8.21](https://github.com/PrivateAIM/hub/compare/v0.8.20...v0.8.21) (2025-11-04)
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
### Dependencies
|
|
32
|
+
|
|
33
|
+
* The following workspace dependencies were updated
|
|
34
|
+
* devDependencies
|
|
35
|
+
* @privateaim/kit bumped from ^0.8.20 to ^0.8.21
|
|
36
|
+
* peerDependencies
|
|
37
|
+
* @privateaim/kit bumped from ^0.8.20 to ^0.8.21
|
|
38
|
+
|
|
3
39
|
## [0.8.20](https://github.com/PrivateAIM/hub/compare/v0.8.19...v0.8.20) (2025-10-29)
|
|
4
40
|
|
|
5
41
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../src/domains/log/entity.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGxD,MAAM,WAAW,GAAG;IAChB;;OAEG;IACH,IAAI,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../src/domains/log/entity.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGxD,MAAM,WAAW,GAAG;IAChB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAErB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,OAAO,EAAE,GAAG,UAAU,EAAE,CAAC;IAEzB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACjC;AAED,KAAK,aAAa,GAAG,CAAC,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC,CAAC;AAEnE,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/domains/log/helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/domains/log/helpers.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAE9C,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,QAAQ,GAAI,GAAG,CAMvD"}
|
package/dist/index.mjs
CHANGED
|
@@ -3,103 +3,40 @@ import { buildQuery } from 'rapiq';
|
|
|
3
3
|
import { createValidator } from '@validup/adapter-zod';
|
|
4
4
|
import { Container } from 'validup';
|
|
5
5
|
import zod from 'zod';
|
|
6
|
-
import { nanoSeconds } from '@privateaim/kit';
|
|
7
6
|
|
|
8
|
-
/*
|
|
9
|
-
* Copyright (c) 2023-2024.
|
|
10
|
-
* Author Peter Placzek (tada5hi)
|
|
11
|
-
* For the full copyright and license information,
|
|
12
|
-
* view the LICENSE file that was distributed with this source code.
|
|
13
|
-
*/ function _define_property$2(obj, key, value) {
|
|
14
|
-
if (key in obj) {
|
|
15
|
-
Object.defineProperty(obj, key, {
|
|
16
|
-
value: value,
|
|
17
|
-
enumerable: true,
|
|
18
|
-
configurable: true,
|
|
19
|
-
writable: true
|
|
20
|
-
});
|
|
21
|
-
} else {
|
|
22
|
-
obj[key] = value;
|
|
23
|
-
}
|
|
24
|
-
return obj;
|
|
25
|
-
}
|
|
26
7
|
class BaseAPI {
|
|
27
|
-
|
|
28
|
-
setClient(input) {
|
|
29
|
-
this.client = isClient(input) ? input : createClient(input);
|
|
30
|
-
}
|
|
8
|
+
client;
|
|
31
9
|
// -----------------------------------------------------------------------------------
|
|
32
10
|
constructor(context){
|
|
33
|
-
_define_property$2(this, "client", void 0);
|
|
34
11
|
context = context || {};
|
|
35
12
|
this.setClient(context.client);
|
|
36
13
|
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
* Copyright (c) 2021-2024.
|
|
41
|
-
* Author Peter Placzek (tada5hi)
|
|
42
|
-
* For the full copyright and license information,
|
|
43
|
-
* view the LICENSE file that was distributed with this source code.
|
|
44
|
-
*/ function asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, key, arg) {
|
|
45
|
-
try {
|
|
46
|
-
var info = gen[key](arg);
|
|
47
|
-
var value = info.value;
|
|
48
|
-
} catch (error) {
|
|
49
|
-
reject(error);
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
if (info.done) {
|
|
53
|
-
resolve(value);
|
|
54
|
-
} else {
|
|
55
|
-
Promise.resolve(value).then(_next, _throw);
|
|
14
|
+
// -----------------------------------------------------------------------------------
|
|
15
|
+
setClient(input) {
|
|
16
|
+
this.client = isClient(input) ? input : createClient(input);
|
|
56
17
|
}
|
|
57
18
|
}
|
|
58
|
-
|
|
59
|
-
return function() {
|
|
60
|
-
var self = this, args = arguments;
|
|
61
|
-
return new Promise(function(resolve, reject) {
|
|
62
|
-
var gen = fn.apply(self, args);
|
|
63
|
-
function _next(value) {
|
|
64
|
-
asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, "next", value);
|
|
65
|
-
}
|
|
66
|
-
function _throw(err) {
|
|
67
|
-
asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, "throw", err);
|
|
68
|
-
}
|
|
69
|
-
_next(undefined);
|
|
70
|
-
});
|
|
71
|
-
};
|
|
72
|
-
}
|
|
19
|
+
|
|
73
20
|
class EventAPI extends BaseAPI {
|
|
74
|
-
getMany(options) {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
return response;
|
|
78
|
-
}).call(this);
|
|
21
|
+
async getMany(options) {
|
|
22
|
+
const { data: response } = await this.client.get(`events${buildQuery(options)}`);
|
|
23
|
+
return response;
|
|
79
24
|
}
|
|
80
|
-
getOne(id) {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
return response;
|
|
84
|
-
}).call(this);
|
|
25
|
+
async getOne(id) {
|
|
26
|
+
const { data: response } = await this.client.get(`events/${id}`);
|
|
27
|
+
return response;
|
|
85
28
|
}
|
|
86
|
-
delete(id) {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
return response;
|
|
90
|
-
}).call(this);
|
|
29
|
+
async delete(id) {
|
|
30
|
+
const { data: response } = await this.client.delete(`events/${id}`);
|
|
31
|
+
return response;
|
|
91
32
|
}
|
|
92
|
-
update(id, data) {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
return response;
|
|
96
|
-
}).call(this);
|
|
33
|
+
async update(id, data) {
|
|
34
|
+
const { data: response } = await this.client.post(`events/${id}`, data);
|
|
35
|
+
return response;
|
|
97
36
|
}
|
|
98
|
-
create(data) {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
return response;
|
|
102
|
-
}).call(this);
|
|
37
|
+
async create(data) {
|
|
38
|
+
const { data: response } = await this.client.post('events', data);
|
|
39
|
+
return response;
|
|
103
40
|
}
|
|
104
41
|
}
|
|
105
42
|
|
|
@@ -155,57 +92,17 @@ class EventValidator extends Container {
|
|
|
155
92
|
}
|
|
156
93
|
}
|
|
157
94
|
|
|
158
|
-
/*
|
|
159
|
-
* Copyright (c) 2021-2024.
|
|
160
|
-
* Author Peter Placzek (tada5hi)
|
|
161
|
-
* For the full copyright and license information,
|
|
162
|
-
* view the LICENSE file that was distributed with this source code.
|
|
163
|
-
*/ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
164
|
-
try {
|
|
165
|
-
var info = gen[key](arg);
|
|
166
|
-
var value = info.value;
|
|
167
|
-
} catch (error) {
|
|
168
|
-
reject(error);
|
|
169
|
-
return;
|
|
170
|
-
}
|
|
171
|
-
if (info.done) {
|
|
172
|
-
resolve(value);
|
|
173
|
-
} else {
|
|
174
|
-
Promise.resolve(value).then(_next, _throw);
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
function _async_to_generator(fn) {
|
|
178
|
-
return function() {
|
|
179
|
-
var self = this, args = arguments;
|
|
180
|
-
return new Promise(function(resolve, reject) {
|
|
181
|
-
var gen = fn.apply(self, args);
|
|
182
|
-
function _next(value) {
|
|
183
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
184
|
-
}
|
|
185
|
-
function _throw(err) {
|
|
186
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
187
|
-
}
|
|
188
|
-
_next(undefined);
|
|
189
|
-
});
|
|
190
|
-
};
|
|
191
|
-
}
|
|
192
95
|
class LogAPI extends BaseAPI {
|
|
193
|
-
getMany(options) {
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
return response;
|
|
197
|
-
}).call(this);
|
|
96
|
+
async getMany(options) {
|
|
97
|
+
const { data: response } = await this.client.get(`logs${buildQuery(options)}`);
|
|
98
|
+
return response;
|
|
198
99
|
}
|
|
199
|
-
deleteMany(options) {
|
|
200
|
-
|
|
201
|
-
yield this.client.delete(`logs${buildQuery(options)}`);
|
|
202
|
-
}).call(this);
|
|
100
|
+
async deleteMany(options) {
|
|
101
|
+
await this.client.delete(`logs${buildQuery(options)}`);
|
|
203
102
|
}
|
|
204
|
-
create(data) {
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
return response;
|
|
208
|
-
}).call(this);
|
|
103
|
+
async create(data) {
|
|
104
|
+
const { data: response } = await this.client.post('logs', data);
|
|
105
|
+
return response;
|
|
209
106
|
}
|
|
210
107
|
}
|
|
211
108
|
|
|
@@ -282,58 +179,12 @@ var LogChannel = /*#__PURE__*/ function(LogChannel) {
|
|
|
282
179
|
* Author Peter Placzek (tada5hi)
|
|
283
180
|
* For the full copyright and license information,
|
|
284
181
|
* view the LICENSE file that was distributed with this source code.
|
|
285
|
-
*/ function
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
enumerable: true,
|
|
290
|
-
configurable: true,
|
|
291
|
-
writable: true
|
|
292
|
-
});
|
|
293
|
-
} else {
|
|
294
|
-
obj[key] = value;
|
|
295
|
-
}
|
|
296
|
-
return obj;
|
|
297
|
-
}
|
|
298
|
-
function _object_spread(target) {
|
|
299
|
-
for(var i = 1; i < arguments.length; i++){
|
|
300
|
-
var source = arguments[i] != null ? arguments[i] : {};
|
|
301
|
-
var ownKeys = Object.keys(source);
|
|
302
|
-
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
303
|
-
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
304
|
-
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
305
|
-
}));
|
|
306
|
-
}
|
|
307
|
-
ownKeys.forEach(function(key) {
|
|
308
|
-
_define_property$1(target, key, source[key]);
|
|
309
|
-
});
|
|
310
|
-
}
|
|
311
|
-
return target;
|
|
312
|
-
}
|
|
313
|
-
function ownKeys(object, enumerableOnly) {
|
|
314
|
-
var keys = Object.keys(object);
|
|
315
|
-
if (Object.getOwnPropertySymbols) {
|
|
316
|
-
var symbols = Object.getOwnPropertySymbols(object);
|
|
317
|
-
keys.push.apply(keys, symbols);
|
|
318
|
-
}
|
|
319
|
-
return keys;
|
|
320
|
-
}
|
|
321
|
-
function _object_spread_props(target, source) {
|
|
322
|
-
source = source != null ? source : {};
|
|
323
|
-
if (Object.getOwnPropertyDescriptors) {
|
|
324
|
-
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
325
|
-
} else {
|
|
326
|
-
ownKeys(Object(source)).forEach(function(key) {
|
|
327
|
-
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
328
|
-
});
|
|
329
|
-
}
|
|
330
|
-
return target;
|
|
331
|
-
}
|
|
332
|
-
function normalizeLogInput(input) {
|
|
333
|
-
return _object_spread_props(_object_spread({}, input), {
|
|
334
|
-
time: input.time || nanoSeconds(),
|
|
182
|
+
*/ function normalizeLogInput(input) {
|
|
183
|
+
return {
|
|
184
|
+
...input,
|
|
185
|
+
time: input.time || new Date().toISOString(),
|
|
335
186
|
labels: input.labels || {}
|
|
336
|
-
}
|
|
187
|
+
};
|
|
337
188
|
}
|
|
338
189
|
|
|
339
190
|
class LogValidator extends Container {
|
|
@@ -342,7 +193,7 @@ class LogValidator extends Container {
|
|
|
342
193
|
this.mount('time', {
|
|
343
194
|
optional: true
|
|
344
195
|
}, createValidator(zod.string().min(0).max(20).or(zod.bigint()).optional()));
|
|
345
|
-
this.mount('message', createValidator(zod.string().min(3).max(
|
|
196
|
+
this.mount('message', createValidator(zod.string().min(3).max(4096)));
|
|
346
197
|
this.mount('service', createValidator(zod.string().min(3).max(64)));
|
|
347
198
|
// ----------------------------------------------
|
|
348
199
|
this.mount('level', createValidator(zod.enum(Object.values(LogLevel))));
|
|
@@ -364,27 +215,11 @@ class LogValidator extends Container {
|
|
|
364
215
|
return DomainType;
|
|
365
216
|
}({});
|
|
366
217
|
|
|
367
|
-
/*
|
|
368
|
-
* Copyright (c) 2022-2024.
|
|
369
|
-
* Author Peter Placzek (tada5hi)
|
|
370
|
-
* For the full copyright and license information,
|
|
371
|
-
* view the LICENSE file that was distributed with this source code.
|
|
372
|
-
*/ function _define_property(obj, key, value) {
|
|
373
|
-
if (key in obj) {
|
|
374
|
-
Object.defineProperty(obj, key, {
|
|
375
|
-
value: value,
|
|
376
|
-
enumerable: true,
|
|
377
|
-
configurable: true,
|
|
378
|
-
writable: true
|
|
379
|
-
});
|
|
380
|
-
} else {
|
|
381
|
-
obj[key] = value;
|
|
382
|
-
}
|
|
383
|
-
return obj;
|
|
384
|
-
}
|
|
385
218
|
class APIClient extends Client {
|
|
219
|
+
event;
|
|
220
|
+
log;
|
|
386
221
|
constructor(config){
|
|
387
|
-
super(config)
|
|
222
|
+
super(config);
|
|
388
223
|
this.event = new EventAPI({
|
|
389
224
|
client: this
|
|
390
225
|
});
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../src/domains/base.ts","../src/domains/event/api.ts","../src/domains/event/validator.ts","../src/domains/log/api.ts","../src/domains/log/constants.ts","../src/domains/log/helpers.ts","../src/domains/log/validator.ts","../src/domains/constants.ts","../src/http/api-client/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { createClient, isClient } from 'hapic';\nimport type { Client, RequestBaseOptions } from 'hapic';\nimport type { BaseAPIContext } from './types-base';\n\nexport class BaseAPI {\n protected client! : Client;\n\n // -----------------------------------------------------------------------------------\n\n constructor(context?: BaseAPIContext) {\n context = context || {};\n\n this.setClient(context.client);\n }\n\n // -----------------------------------------------------------------------------------\n\n setClient(input?: Client | RequestBaseOptions) {\n this.client = isClient(input) ?\n input :\n createClient(input);\n }\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { BuildInput } from 'rapiq';\nimport { buildQuery } from 'rapiq';\nimport type { Event } from './entity';\nimport type { CollectionResourceResponse, SingleResourceResponse } from '../types-base';\nimport { BaseAPI } from '../base';\n\nexport class EventAPI extends BaseAPI {\n async getMany(options?: BuildInput<Event>): Promise<CollectionResourceResponse<Event>> {\n const { data: response } = await this.client.get(`events${buildQuery(options)}`);\n return response;\n }\n\n async getOne(id: Event['id']): Promise<SingleResourceResponse<Event>> {\n const { data: response } = await this.client.get(`events/${id}`);\n\n return response;\n }\n\n async delete(id: Event['id']): Promise<SingleResourceResponse<Event>> {\n const { data: response } = await this.client.delete(`events/${id}`);\n\n return response;\n }\n\n async update(id: Event['id'], data: Partial<Event>): Promise<SingleResourceResponse<Event>> {\n const { data: response } = await this.client.post(`events/${id}`, data);\n\n return response;\n }\n\n async create(data: Partial<Event>): Promise<SingleResourceResponse<Event>> {\n const { data: response } = await this.client.post('events', data);\n\n return response;\n }\n}\n","/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { createValidator } from '@validup/adapter-zod';\nimport { Container } from 'validup';\nimport zod from 'zod';\nimport type { Event } from './entity';\n\nexport class EventValidator extends Container<Event> {\n protected initialize() {\n super.initialize();\n\n this.mount(\n 'ref_type',\n createValidator(\n zod\n .string()\n .min(3)\n .max(128),\n ),\n );\n\n this.mount(\n 'ref_id',\n { optional: true },\n createValidator(\n zod\n .uuidv4()\n .nullable(),\n ),\n );\n\n // ----------------------------------------------\n\n this.mount(\n 'scope',\n createValidator(\n zod\n .string()\n .min(3)\n .max(128),\n ),\n );\n\n this.mount(\n 'name',\n createValidator(\n zod\n .string()\n .min(3)\n .max(128),\n ),\n );\n\n // ----------------------------------------------\n\n this.mount(\n 'data',\n { optional: true },\n createValidator(\n zod\n .record(zod.string(), zod.any())\n .nullable(),\n ),\n );\n\n // ----------------------------------------------\n\n this.mount(\n 'expiring',\n { optional: true },\n createValidator(\n zod\n .boolean()\n .nullable(),\n ),\n );\n\n // ----------------------------------------------\n\n this.mount(\n 'request_path',\n { optional: true },\n createValidator(zod.string().min(3).max(256).nullable()),\n );\n\n this.mount(\n 'request_method',\n { optional: true },\n createValidator(zod.string().min(3).max(10).nullable()),\n );\n\n this.mount(\n 'request_ip_address',\n { optional: true },\n createValidator(zod.ipv4().nullable()),\n );\n\n this.mount(\n 'request_user_agent',\n { optional: true },\n createValidator(zod.string().min(3).max(512).nullable()),\n );\n\n // ----------------------------------------------\n\n this.mount(\n 'actor_type',\n { optional: true },\n createValidator(zod.string().min(3).max(64).nullable()),\n );\n\n this.mount(\n 'actor_id',\n { optional: true },\n createValidator(zod.uuidv4().nullable()),\n );\n\n this.mount(\n 'actor_name',\n { optional: true },\n createValidator(zod.string().min(3).max(64).nullable()),\n );\n\n // ----------------------------------------------\n\n this.mount(\n 'realm_id',\n { optional: true },\n createValidator(zod.uuidv4().nullable()),\n );\n\n // ----------------------------------------------\n\n this.mount(\n 'expires_at',\n { optional: true },\n createValidator(\n zod.iso.datetime()\n .nullable(),\n ),\n );\n }\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { BuildInput } from 'rapiq';\nimport { buildQuery } from 'rapiq';\nimport type { Log, LogInput } from './entity';\nimport type { CollectionResourceResponse, SingleResourceResponse } from '../types-base';\nimport { BaseAPI } from '../base';\n\nexport class LogAPI extends BaseAPI {\n async getMany(options?: BuildInput<Log>): Promise<CollectionResourceResponse<Log>> {\n const { data: response } = await this.client.get(`logs${buildQuery(options)}`);\n return response;\n }\n\n async deleteMany(options?: BuildInput<Log>): Promise<void> {\n await this.client.delete(`logs${buildQuery(options)}`);\n }\n\n async create(data: LogInput): Promise<SingleResourceResponse<Log>> {\n const { data: response } = await this.client.post('logs', data);\n\n return response;\n }\n}\n","/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum LogLevel {\n /**\n * indicates that the system is unusable\n * and requires immediate attention\n */\n EMERGENCE = 'emerg',\n\n /**\n * indicates that immediate action is necessary\n * to resolve a critical issue.\n */\n ALERT = 'alert',\n\n /**\n * signifies critical conditions in the program that demand\n * intervention to prevent system failure.\n */\n CRITICAL = 'crit',\n\n /**\n * indicates error conditions that impair\n * some operation but are less severe than critical situations.\n */\n ERROR = 'error',\n\n /**\n * signifies potential issues that may lead to errors\n * or unexpected behavior in the future if not addressed.\n */\n WARNING = 'warn',\n\n /**\n * applies to normal but significant\n * conditions that may require monitoring\n */\n NOTICE = 'notice',\n\n /**\n * includes messages that provide a record\n * of the normal operation of the system.\n */\n INFORMATIONAL = 'info',\n\n /**\n * intended for logging detailed information about the system\n * for debugging purposes.\n */\n DEBUG = 'debug',\n}\n\nexport enum LogLevelColor {\n EMERGENCE = '#8B0000',\n ALERT = '#FF0000',\n CRITICAL = '#FF4500',\n ERROR = '#FF6347',\n WARNING = '#FFD700',\n NOTICE = '#1E90FF',\n INFORMATIONAL = '#228B22',\n DEBUG = '#A9A9A9',\n}\n\nexport enum LogFlag {\n CHANNEL = 'channel',\n\n COMPONENT = 'component',\n\n SERVICE = 'service',\n\n LEVEL = 'level',\n\n REF_TYPE = 'ref_type',\n\n REF_ID = 'ref_id',\n}\n\nexport enum LogChannel {\n HTTP = 'http',\n WEBSOCKET = 'websocket',\n BACKGROUND = 'background',\n SYSTEM = 'system',\n}\n","/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { nanoSeconds } from '@privateaim/kit';\nimport type { Log, LogInput } from './entity';\n\nexport function normalizeLogInput(input: LogInput) : Log {\n return {\n ...input,\n time: input.time || nanoSeconds(),\n labels: input.labels || {},\n };\n}\n","/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { createValidator } from '@validup/adapter-zod';\nimport { Container } from 'validup';\nimport zod from 'zod';\nimport { LogChannel, LogLevel } from './constants';\nimport type { LogInput } from './entity';\n\nexport class LogValidator extends Container<LogInput> {\n protected initialize() {\n super.initialize();\n\n this.mount(\n 'time',\n { optional: true },\n createValidator(\n zod\n .string()\n .min(0)\n .max(20)\n .or(zod.bigint())\n .optional(),\n ),\n );\n\n this.mount(\n 'message',\n createValidator(\n zod\n .string()\n .min(3)\n .max(2048),\n ),\n );\n\n this.mount(\n 'service',\n createValidator(\n zod\n .string()\n .min(3)\n .max(64),\n ),\n );\n\n // ----------------------------------------------\n\n this.mount(\n 'level',\n createValidator(\n zod\n .enum(Object.values(LogLevel)),\n ),\n );\n\n this.mount(\n 'channel',\n createValidator(\n zod\n .enum(Object.values(LogChannel)),\n ),\n );\n\n this.mount(\n 'labels',\n { optional: true },\n createValidator(\n zod\n .record(zod.string(), zod.string())\n .nullable(),\n ),\n );\n }\n}\n","/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum DomainType {\n EVENT = 'event',\n LOG = 'log',\n}\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { RequestBaseOptions } from 'hapic';\nimport { Client, HookName, isClientError } from 'hapic';\nimport {\n EventAPI,\n LogAPI,\n} from '../../domains';\n\nexport class APIClient extends Client {\n public readonly event : EventAPI;\n\n public readonly log : LogAPI;\n\n constructor(config: RequestBaseOptions) {\n super(config);\n\n this.event = new EventAPI({ client: this });\n this.log = new LogAPI({ client: this });\n\n this.on(HookName.RESPONSE_ERROR, ((error) => {\n if (\n isClientError(error) &&\n error.response &&\n error.response.data &&\n typeof error.response.data.message === 'string'\n ) {\n error.message = error.response.data.message;\n }\n\n throw error;\n }));\n }\n}\n"],"names":["_define_property","BaseAPI","setClient","input","client","isClient","createClient","context","asyncGeneratorStep","EventAPI","getMany","options","data","response","get","buildQuery","getOne","id","delete","update","post","create","EventValidator","Container","initialize","mount","createValidator","zod","string","min","max","optional","uuidv4","nullable","record","any","boolean","ipv4","iso","datetime","LogAPI","deleteMany","LogLevel","LogLevelColor","LogFlag","LogChannel","normalizeLogInput","time","nanoSeconds","labels","LogValidator","or","bigint","enum","Object","values","DomainType","APIClient","Client","config","event","log","on","HookName","RESPONSE_ERROR","error","isClientError","message"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../src/domains/base.ts","../src/domains/event/api.ts","../src/domains/event/validator.ts","../src/domains/log/api.ts","../src/domains/log/constants.ts","../src/domains/log/helpers.ts","../src/domains/log/validator.ts","../src/domains/constants.ts","../src/http/api-client/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { createClient, isClient } from 'hapic';\nimport type { Client, RequestBaseOptions } from 'hapic';\nimport type { BaseAPIContext } from './types-base';\n\nexport class BaseAPI {\n protected client! : Client;\n\n // -----------------------------------------------------------------------------------\n\n constructor(context?: BaseAPIContext) {\n context = context || {};\n\n this.setClient(context.client);\n }\n\n // -----------------------------------------------------------------------------------\n\n setClient(input?: Client | RequestBaseOptions) {\n this.client = isClient(input) ?\n input :\n createClient(input);\n }\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { BuildInput } from 'rapiq';\nimport { buildQuery } from 'rapiq';\nimport type { Event } from './entity';\nimport type { CollectionResourceResponse, SingleResourceResponse } from '../types-base';\nimport { BaseAPI } from '../base';\n\nexport class EventAPI extends BaseAPI {\n async getMany(options?: BuildInput<Event>): Promise<CollectionResourceResponse<Event>> {\n const { data: response } = await this.client.get(`events${buildQuery(options)}`);\n return response;\n }\n\n async getOne(id: Event['id']): Promise<SingleResourceResponse<Event>> {\n const { data: response } = await this.client.get(`events/${id}`);\n\n return response;\n }\n\n async delete(id: Event['id']): Promise<SingleResourceResponse<Event>> {\n const { data: response } = await this.client.delete(`events/${id}`);\n\n return response;\n }\n\n async update(id: Event['id'], data: Partial<Event>): Promise<SingleResourceResponse<Event>> {\n const { data: response } = await this.client.post(`events/${id}`, data);\n\n return response;\n }\n\n async create(data: Partial<Event>): Promise<SingleResourceResponse<Event>> {\n const { data: response } = await this.client.post('events', data);\n\n return response;\n }\n}\n","/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { createValidator } from '@validup/adapter-zod';\nimport { Container } from 'validup';\nimport zod from 'zod';\nimport type { Event } from './entity';\n\nexport class EventValidator extends Container<Event> {\n protected initialize() {\n super.initialize();\n\n this.mount(\n 'ref_type',\n createValidator(\n zod\n .string()\n .min(3)\n .max(128),\n ),\n );\n\n this.mount(\n 'ref_id',\n { optional: true },\n createValidator(\n zod\n .uuidv4()\n .nullable(),\n ),\n );\n\n // ----------------------------------------------\n\n this.mount(\n 'scope',\n createValidator(\n zod\n .string()\n .min(3)\n .max(128),\n ),\n );\n\n this.mount(\n 'name',\n createValidator(\n zod\n .string()\n .min(3)\n .max(128),\n ),\n );\n\n // ----------------------------------------------\n\n this.mount(\n 'data',\n { optional: true },\n createValidator(\n zod\n .record(zod.string(), zod.any())\n .nullable(),\n ),\n );\n\n // ----------------------------------------------\n\n this.mount(\n 'expiring',\n { optional: true },\n createValidator(\n zod\n .boolean()\n .nullable(),\n ),\n );\n\n // ----------------------------------------------\n\n this.mount(\n 'request_path',\n { optional: true },\n createValidator(zod.string().min(3).max(256).nullable()),\n );\n\n this.mount(\n 'request_method',\n { optional: true },\n createValidator(zod.string().min(3).max(10).nullable()),\n );\n\n this.mount(\n 'request_ip_address',\n { optional: true },\n createValidator(zod.ipv4().nullable()),\n );\n\n this.mount(\n 'request_user_agent',\n { optional: true },\n createValidator(zod.string().min(3).max(512).nullable()),\n );\n\n // ----------------------------------------------\n\n this.mount(\n 'actor_type',\n { optional: true },\n createValidator(zod.string().min(3).max(64).nullable()),\n );\n\n this.mount(\n 'actor_id',\n { optional: true },\n createValidator(zod.uuidv4().nullable()),\n );\n\n this.mount(\n 'actor_name',\n { optional: true },\n createValidator(zod.string().min(3).max(64).nullable()),\n );\n\n // ----------------------------------------------\n\n this.mount(\n 'realm_id',\n { optional: true },\n createValidator(zod.uuidv4().nullable()),\n );\n\n // ----------------------------------------------\n\n this.mount(\n 'expires_at',\n { optional: true },\n createValidator(\n zod.iso.datetime()\n .nullable(),\n ),\n );\n }\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { BuildInput } from 'rapiq';\nimport { buildQuery } from 'rapiq';\nimport type { Log, LogInput } from './entity';\nimport type { CollectionResourceResponse, SingleResourceResponse } from '../types-base';\nimport { BaseAPI } from '../base';\n\nexport class LogAPI extends BaseAPI {\n async getMany(options?: BuildInput<Log>): Promise<CollectionResourceResponse<Log>> {\n const { data: response } = await this.client.get(`logs${buildQuery(options)}`);\n return response;\n }\n\n async deleteMany(options?: BuildInput<Log>): Promise<void> {\n await this.client.delete(`logs${buildQuery(options)}`);\n }\n\n async create(data: LogInput): Promise<SingleResourceResponse<Log>> {\n const { data: response } = await this.client.post('logs', data);\n\n return response;\n }\n}\n","/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum LogLevel {\n /**\n * indicates that the system is unusable\n * and requires immediate attention\n */\n EMERGENCE = 'emerg',\n\n /**\n * indicates that immediate action is necessary\n * to resolve a critical issue.\n */\n ALERT = 'alert',\n\n /**\n * signifies critical conditions in the program that demand\n * intervention to prevent system failure.\n */\n CRITICAL = 'crit',\n\n /**\n * indicates error conditions that impair\n * some operation but are less severe than critical situations.\n */\n ERROR = 'error',\n\n /**\n * signifies potential issues that may lead to errors\n * or unexpected behavior in the future if not addressed.\n */\n WARNING = 'warn',\n\n /**\n * applies to normal but significant\n * conditions that may require monitoring\n */\n NOTICE = 'notice',\n\n /**\n * includes messages that provide a record\n * of the normal operation of the system.\n */\n INFORMATIONAL = 'info',\n\n /**\n * intended for logging detailed information about the system\n * for debugging purposes.\n */\n DEBUG = 'debug',\n}\n\nexport enum LogLevelColor {\n EMERGENCE = '#8B0000',\n ALERT = '#FF0000',\n CRITICAL = '#FF4500',\n ERROR = '#FF6347',\n WARNING = '#FFD700',\n NOTICE = '#1E90FF',\n INFORMATIONAL = '#228B22',\n DEBUG = '#A9A9A9',\n}\n\nexport enum LogFlag {\n CHANNEL = 'channel',\n\n COMPONENT = 'component',\n\n SERVICE = 'service',\n\n LEVEL = 'level',\n\n REF_TYPE = 'ref_type',\n\n REF_ID = 'ref_id',\n}\n\nexport enum LogChannel {\n HTTP = 'http',\n WEBSOCKET = 'websocket',\n BACKGROUND = 'background',\n SYSTEM = 'system',\n}\n","/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { Log, LogInput } from './entity';\n\nexport function normalizeLogInput(input: LogInput) : Log {\n return {\n ...input,\n time: input.time || new Date().toISOString(),\n labels: input.labels || {},\n };\n}\n","/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { createValidator } from '@validup/adapter-zod';\nimport { Container } from 'validup';\nimport zod from 'zod';\nimport { LogChannel, LogLevel } from './constants';\nimport type { LogInput } from './entity';\n\nexport class LogValidator extends Container<LogInput> {\n protected initialize() {\n super.initialize();\n\n this.mount(\n 'time',\n { optional: true },\n createValidator(\n zod\n .string()\n .min(0)\n .max(20)\n .or(zod.bigint())\n .optional(),\n ),\n );\n\n this.mount(\n 'message',\n createValidator(\n zod\n .string()\n .min(3)\n .max(4096),\n ),\n );\n\n this.mount(\n 'service',\n createValidator(\n zod\n .string()\n .min(3)\n .max(64),\n ),\n );\n\n // ----------------------------------------------\n\n this.mount(\n 'level',\n createValidator(\n zod\n .enum(Object.values(LogLevel)),\n ),\n );\n\n this.mount(\n 'channel',\n createValidator(\n zod\n .enum(Object.values(LogChannel)),\n ),\n );\n\n this.mount(\n 'labels',\n { optional: true },\n createValidator(\n zod\n .record(zod.string(), zod.string())\n .nullable(),\n ),\n );\n }\n}\n","/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum DomainType {\n EVENT = 'event',\n LOG = 'log',\n}\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { RequestBaseOptions } from 'hapic';\nimport { Client, HookName, isClientError } from 'hapic';\nimport {\n EventAPI,\n LogAPI,\n} from '../../domains';\n\nexport class APIClient extends Client {\n public readonly event : EventAPI;\n\n public readonly log : LogAPI;\n\n constructor(config: RequestBaseOptions) {\n super(config);\n\n this.event = new EventAPI({ client: this });\n this.log = new LogAPI({ client: this });\n\n this.on(HookName.RESPONSE_ERROR, ((error) => {\n if (\n isClientError(error) &&\n error.response &&\n error.response.data &&\n typeof error.response.data.message === 'string'\n ) {\n error.message = error.response.data.message;\n }\n\n throw error;\n }));\n }\n}\n"],"names":["BaseAPI","client","context","setClient","input","isClient","createClient","EventAPI","getMany","options","data","response","get","buildQuery","getOne","id","delete","update","post","create","EventValidator","Container","initialize","mount","createValidator","zod","string","min","max","optional","uuidv4","nullable","record","any","boolean","ipv4","iso","datetime","LogAPI","deleteMany","LogLevel","LogLevelColor","LogFlag","LogChannel","normalizeLogInput","time","Date","toISOString","labels","LogValidator","or","bigint","enum","Object","values","DomainType","APIClient","Client","event","log","config","on","HookName","RESPONSE_ERROR","error","isClientError","message"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,40 +1,39 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@privateaim/telemetry-kit",
|
|
3
|
-
"
|
|
3
|
+
"type": "module",
|
|
4
|
+
"version": "0.8.22",
|
|
4
5
|
"license": "Apache-2.0",
|
|
5
6
|
"description": "",
|
|
7
|
+
"module": "./dist/index.mjs",
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
6
9
|
"exports": {
|
|
7
10
|
"./package.json": "./package.json",
|
|
8
11
|
".": {
|
|
9
12
|
"types": "./dist/index.d.ts",
|
|
10
|
-
"import": "./dist/index.mjs"
|
|
11
|
-
"require": "./dist/index.cjs"
|
|
13
|
+
"import": "./dist/index.mjs"
|
|
12
14
|
}
|
|
13
15
|
},
|
|
14
|
-
"main": "./dist/index.cjs",
|
|
15
|
-
"module": "./dist/index.mjs",
|
|
16
|
-
"types": "./dist/index.d.ts",
|
|
17
16
|
"author": {
|
|
18
17
|
"name": "Peter Placzek",
|
|
19
18
|
"email": "admin@tada5hi.net",
|
|
20
19
|
"url": "https://github.com/tada5hi"
|
|
21
20
|
},
|
|
22
21
|
"dependencies": {
|
|
23
|
-
"@validup/adapter-zod": "^0.1.
|
|
22
|
+
"@validup/adapter-zod": "^0.1.12",
|
|
24
23
|
"validup": "^0.1.9",
|
|
25
|
-
"zod": "^4.1
|
|
24
|
+
"zod": "^4.2.1"
|
|
26
25
|
},
|
|
27
26
|
"devDependencies": {
|
|
28
|
-
"@authup/kit": "^1.0.0-beta.
|
|
29
|
-
"@authup/core-kit": "^1.0.0-beta.
|
|
30
|
-
"@privateaim/kit": "^0.8.
|
|
27
|
+
"@authup/kit": "^1.0.0-beta.28",
|
|
28
|
+
"@authup/core-kit": "^1.0.0-beta.28",
|
|
29
|
+
"@privateaim/kit": "^0.8.22",
|
|
31
30
|
"hapic": "^2.7.0",
|
|
32
31
|
"rapiq": "^0.9.0"
|
|
33
32
|
},
|
|
34
33
|
"peerDependencies": {
|
|
35
|
-
"@authup/kit": "^1.0.0-beta.
|
|
36
|
-
"@authup/core-kit": "^1.0.0-beta.
|
|
37
|
-
"@privateaim/kit": "^0.8.
|
|
34
|
+
"@authup/kit": "^1.0.0-beta.28",
|
|
35
|
+
"@authup/core-kit": "^1.0.0-beta.28",
|
|
36
|
+
"@privateaim/kit": "^0.8.22",
|
|
38
37
|
"hapic": "^2.7.0",
|
|
39
38
|
"rapiq": "^0.9.0"
|
|
40
39
|
},
|
package/rollup.config.mjs
CHANGED
|
@@ -10,10 +10,5 @@ import fs from 'node:fs';
|
|
|
10
10
|
import { createConfig } from '../../rollup.config.mjs';
|
|
11
11
|
|
|
12
12
|
export default createConfig({
|
|
13
|
-
pkg: JSON.parse(fs.readFileSync(new URL('./package.json', import.meta.url), {encoding: 'utf-8'})),
|
|
14
|
-
swc: {
|
|
15
|
-
jsc: {
|
|
16
|
-
target: 'es2016'
|
|
17
|
-
}
|
|
18
|
-
}
|
|
13
|
+
pkg: JSON.parse(fs.readFileSync(new URL('./package.json', import.meta.url), { encoding: 'utf-8' })),
|
|
19
14
|
});
|
|
@@ -10,9 +10,9 @@ import type { LogChannel, LogLevel } from './constants';
|
|
|
10
10
|
// todo: update logger-transport on new top level log flags
|
|
11
11
|
export interface Log {
|
|
12
12
|
/**
|
|
13
|
-
*
|
|
13
|
+
* ISO String
|
|
14
14
|
*/
|
|
15
|
-
time: string
|
|
15
|
+
time: string,
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
18
|
* message
|
|
@@ -5,13 +5,12 @@
|
|
|
5
5
|
* view the LICENSE file that was distributed with this source code.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import { nanoSeconds } from '@privateaim/kit';
|
|
9
8
|
import type { Log, LogInput } from './entity';
|
|
10
9
|
|
|
11
10
|
export function normalizeLogInput(input: LogInput) : Log {
|
|
12
11
|
return {
|
|
13
12
|
...input,
|
|
14
|
-
time: input.time ||
|
|
13
|
+
time: input.time || new Date().toISOString(),
|
|
15
14
|
labels: input.labels || {},
|
|
16
15
|
};
|
|
17
16
|
}
|
package/dist/index.cjs
DELETED
|
@@ -1,416 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var hapic = require('hapic');
|
|
4
|
-
var rapiq = require('rapiq');
|
|
5
|
-
var adapterZod = require('@validup/adapter-zod');
|
|
6
|
-
var validup = require('validup');
|
|
7
|
-
var zod = require('zod');
|
|
8
|
-
var kit = require('@privateaim/kit');
|
|
9
|
-
|
|
10
|
-
/*
|
|
11
|
-
* Copyright (c) 2023-2024.
|
|
12
|
-
* Author Peter Placzek (tada5hi)
|
|
13
|
-
* For the full copyright and license information,
|
|
14
|
-
* view the LICENSE file that was distributed with this source code.
|
|
15
|
-
*/ function _define_property$2(obj, key, value) {
|
|
16
|
-
if (key in obj) {
|
|
17
|
-
Object.defineProperty(obj, key, {
|
|
18
|
-
value: value,
|
|
19
|
-
enumerable: true,
|
|
20
|
-
configurable: true,
|
|
21
|
-
writable: true
|
|
22
|
-
});
|
|
23
|
-
} else {
|
|
24
|
-
obj[key] = value;
|
|
25
|
-
}
|
|
26
|
-
return obj;
|
|
27
|
-
}
|
|
28
|
-
class BaseAPI {
|
|
29
|
-
// -----------------------------------------------------------------------------------
|
|
30
|
-
setClient(input) {
|
|
31
|
-
this.client = hapic.isClient(input) ? input : hapic.createClient(input);
|
|
32
|
-
}
|
|
33
|
-
// -----------------------------------------------------------------------------------
|
|
34
|
-
constructor(context){
|
|
35
|
-
_define_property$2(this, "client", void 0);
|
|
36
|
-
context = context || {};
|
|
37
|
-
this.setClient(context.client);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/*
|
|
42
|
-
* Copyright (c) 2021-2024.
|
|
43
|
-
* Author Peter Placzek (tada5hi)
|
|
44
|
-
* For the full copyright and license information,
|
|
45
|
-
* view the LICENSE file that was distributed with this source code.
|
|
46
|
-
*/ function asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, key, arg) {
|
|
47
|
-
try {
|
|
48
|
-
var info = gen[key](arg);
|
|
49
|
-
var value = info.value;
|
|
50
|
-
} catch (error) {
|
|
51
|
-
reject(error);
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
if (info.done) {
|
|
55
|
-
resolve(value);
|
|
56
|
-
} else {
|
|
57
|
-
Promise.resolve(value).then(_next, _throw);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
function _async_to_generator$1(fn) {
|
|
61
|
-
return function() {
|
|
62
|
-
var self = this, args = arguments;
|
|
63
|
-
return new Promise(function(resolve, reject) {
|
|
64
|
-
var gen = fn.apply(self, args);
|
|
65
|
-
function _next(value) {
|
|
66
|
-
asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, "next", value);
|
|
67
|
-
}
|
|
68
|
-
function _throw(err) {
|
|
69
|
-
asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, "throw", err);
|
|
70
|
-
}
|
|
71
|
-
_next(undefined);
|
|
72
|
-
});
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
class EventAPI extends BaseAPI {
|
|
76
|
-
getMany(options) {
|
|
77
|
-
return _async_to_generator$1(function*() {
|
|
78
|
-
const { data: response } = yield this.client.get(`events${rapiq.buildQuery(options)}`);
|
|
79
|
-
return response;
|
|
80
|
-
}).call(this);
|
|
81
|
-
}
|
|
82
|
-
getOne(id) {
|
|
83
|
-
return _async_to_generator$1(function*() {
|
|
84
|
-
const { data: response } = yield this.client.get(`events/${id}`);
|
|
85
|
-
return response;
|
|
86
|
-
}).call(this);
|
|
87
|
-
}
|
|
88
|
-
delete(id) {
|
|
89
|
-
return _async_to_generator$1(function*() {
|
|
90
|
-
const { data: response } = yield this.client.delete(`events/${id}`);
|
|
91
|
-
return response;
|
|
92
|
-
}).call(this);
|
|
93
|
-
}
|
|
94
|
-
update(id, data) {
|
|
95
|
-
return _async_to_generator$1(function*() {
|
|
96
|
-
const { data: response } = yield this.client.post(`events/${id}`, data);
|
|
97
|
-
return response;
|
|
98
|
-
}).call(this);
|
|
99
|
-
}
|
|
100
|
-
create(data) {
|
|
101
|
-
return _async_to_generator$1(function*() {
|
|
102
|
-
const { data: response } = yield this.client.post('events', data);
|
|
103
|
-
return response;
|
|
104
|
-
}).call(this);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
class EventValidator extends validup.Container {
|
|
109
|
-
initialize() {
|
|
110
|
-
super.initialize();
|
|
111
|
-
this.mount('ref_type', adapterZod.createValidator(zod.string().min(3).max(128)));
|
|
112
|
-
this.mount('ref_id', {
|
|
113
|
-
optional: true
|
|
114
|
-
}, adapterZod.createValidator(zod.uuidv4().nullable()));
|
|
115
|
-
// ----------------------------------------------
|
|
116
|
-
this.mount('scope', adapterZod.createValidator(zod.string().min(3).max(128)));
|
|
117
|
-
this.mount('name', adapterZod.createValidator(zod.string().min(3).max(128)));
|
|
118
|
-
// ----------------------------------------------
|
|
119
|
-
this.mount('data', {
|
|
120
|
-
optional: true
|
|
121
|
-
}, adapterZod.createValidator(zod.record(zod.string(), zod.any()).nullable()));
|
|
122
|
-
// ----------------------------------------------
|
|
123
|
-
this.mount('expiring', {
|
|
124
|
-
optional: true
|
|
125
|
-
}, adapterZod.createValidator(zod.boolean().nullable()));
|
|
126
|
-
// ----------------------------------------------
|
|
127
|
-
this.mount('request_path', {
|
|
128
|
-
optional: true
|
|
129
|
-
}, adapterZod.createValidator(zod.string().min(3).max(256).nullable()));
|
|
130
|
-
this.mount('request_method', {
|
|
131
|
-
optional: true
|
|
132
|
-
}, adapterZod.createValidator(zod.string().min(3).max(10).nullable()));
|
|
133
|
-
this.mount('request_ip_address', {
|
|
134
|
-
optional: true
|
|
135
|
-
}, adapterZod.createValidator(zod.ipv4().nullable()));
|
|
136
|
-
this.mount('request_user_agent', {
|
|
137
|
-
optional: true
|
|
138
|
-
}, adapterZod.createValidator(zod.string().min(3).max(512).nullable()));
|
|
139
|
-
// ----------------------------------------------
|
|
140
|
-
this.mount('actor_type', {
|
|
141
|
-
optional: true
|
|
142
|
-
}, adapterZod.createValidator(zod.string().min(3).max(64).nullable()));
|
|
143
|
-
this.mount('actor_id', {
|
|
144
|
-
optional: true
|
|
145
|
-
}, adapterZod.createValidator(zod.uuidv4().nullable()));
|
|
146
|
-
this.mount('actor_name', {
|
|
147
|
-
optional: true
|
|
148
|
-
}, adapterZod.createValidator(zod.string().min(3).max(64).nullable()));
|
|
149
|
-
// ----------------------------------------------
|
|
150
|
-
this.mount('realm_id', {
|
|
151
|
-
optional: true
|
|
152
|
-
}, adapterZod.createValidator(zod.uuidv4().nullable()));
|
|
153
|
-
// ----------------------------------------------
|
|
154
|
-
this.mount('expires_at', {
|
|
155
|
-
optional: true
|
|
156
|
-
}, adapterZod.createValidator(zod.iso.datetime().nullable()));
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
/*
|
|
161
|
-
* Copyright (c) 2021-2024.
|
|
162
|
-
* Author Peter Placzek (tada5hi)
|
|
163
|
-
* For the full copyright and license information,
|
|
164
|
-
* view the LICENSE file that was distributed with this source code.
|
|
165
|
-
*/ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
166
|
-
try {
|
|
167
|
-
var info = gen[key](arg);
|
|
168
|
-
var value = info.value;
|
|
169
|
-
} catch (error) {
|
|
170
|
-
reject(error);
|
|
171
|
-
return;
|
|
172
|
-
}
|
|
173
|
-
if (info.done) {
|
|
174
|
-
resolve(value);
|
|
175
|
-
} else {
|
|
176
|
-
Promise.resolve(value).then(_next, _throw);
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
function _async_to_generator(fn) {
|
|
180
|
-
return function() {
|
|
181
|
-
var self = this, args = arguments;
|
|
182
|
-
return new Promise(function(resolve, reject) {
|
|
183
|
-
var gen = fn.apply(self, args);
|
|
184
|
-
function _next(value) {
|
|
185
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
186
|
-
}
|
|
187
|
-
function _throw(err) {
|
|
188
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
189
|
-
}
|
|
190
|
-
_next(undefined);
|
|
191
|
-
});
|
|
192
|
-
};
|
|
193
|
-
}
|
|
194
|
-
class LogAPI extends BaseAPI {
|
|
195
|
-
getMany(options) {
|
|
196
|
-
return _async_to_generator(function*() {
|
|
197
|
-
const { data: response } = yield this.client.get(`logs${rapiq.buildQuery(options)}`);
|
|
198
|
-
return response;
|
|
199
|
-
}).call(this);
|
|
200
|
-
}
|
|
201
|
-
deleteMany(options) {
|
|
202
|
-
return _async_to_generator(function*() {
|
|
203
|
-
yield this.client.delete(`logs${rapiq.buildQuery(options)}`);
|
|
204
|
-
}).call(this);
|
|
205
|
-
}
|
|
206
|
-
create(data) {
|
|
207
|
-
return _async_to_generator(function*() {
|
|
208
|
-
const { data: response } = yield this.client.post('logs', data);
|
|
209
|
-
return response;
|
|
210
|
-
}).call(this);
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
/*
|
|
215
|
-
* Copyright (c) 2025.
|
|
216
|
-
* Author Peter Placzek (tada5hi)
|
|
217
|
-
* For the full copyright and license information,
|
|
218
|
-
* view the LICENSE file that was distributed with this source code.
|
|
219
|
-
*/ var LogLevel = /*#__PURE__*/ function(LogLevel) {
|
|
220
|
-
/**
|
|
221
|
-
* indicates that the system is unusable
|
|
222
|
-
* and requires immediate attention
|
|
223
|
-
*/ LogLevel["EMERGENCE"] = "emerg";
|
|
224
|
-
/**
|
|
225
|
-
* indicates that immediate action is necessary
|
|
226
|
-
* to resolve a critical issue.
|
|
227
|
-
*/ LogLevel["ALERT"] = "alert";
|
|
228
|
-
/**
|
|
229
|
-
* signifies critical conditions in the program that demand
|
|
230
|
-
* intervention to prevent system failure.
|
|
231
|
-
*/ LogLevel["CRITICAL"] = "crit";
|
|
232
|
-
/**
|
|
233
|
-
* indicates error conditions that impair
|
|
234
|
-
* some operation but are less severe than critical situations.
|
|
235
|
-
*/ LogLevel["ERROR"] = "error";
|
|
236
|
-
/**
|
|
237
|
-
* signifies potential issues that may lead to errors
|
|
238
|
-
* or unexpected behavior in the future if not addressed.
|
|
239
|
-
*/ LogLevel["WARNING"] = "warn";
|
|
240
|
-
/**
|
|
241
|
-
* applies to normal but significant
|
|
242
|
-
* conditions that may require monitoring
|
|
243
|
-
*/ LogLevel["NOTICE"] = "notice";
|
|
244
|
-
/**
|
|
245
|
-
* includes messages that provide a record
|
|
246
|
-
* of the normal operation of the system.
|
|
247
|
-
*/ LogLevel["INFORMATIONAL"] = "info";
|
|
248
|
-
/**
|
|
249
|
-
* intended for logging detailed information about the system
|
|
250
|
-
* for debugging purposes.
|
|
251
|
-
*/ LogLevel["DEBUG"] = "debug";
|
|
252
|
-
return LogLevel;
|
|
253
|
-
}({});
|
|
254
|
-
var LogLevelColor = /*#__PURE__*/ function(LogLevelColor) {
|
|
255
|
-
LogLevelColor["EMERGENCE"] = "#8B0000";
|
|
256
|
-
LogLevelColor["ALERT"] = "#FF0000";
|
|
257
|
-
LogLevelColor["CRITICAL"] = "#FF4500";
|
|
258
|
-
LogLevelColor["ERROR"] = "#FF6347";
|
|
259
|
-
LogLevelColor["WARNING"] = "#FFD700";
|
|
260
|
-
LogLevelColor["NOTICE"] = "#1E90FF";
|
|
261
|
-
LogLevelColor["INFORMATIONAL"] = "#228B22";
|
|
262
|
-
LogLevelColor["DEBUG"] = "#A9A9A9";
|
|
263
|
-
return LogLevelColor;
|
|
264
|
-
}({});
|
|
265
|
-
var LogFlag = /*#__PURE__*/ function(LogFlag) {
|
|
266
|
-
LogFlag["CHANNEL"] = "channel";
|
|
267
|
-
LogFlag["COMPONENT"] = "component";
|
|
268
|
-
LogFlag["SERVICE"] = "service";
|
|
269
|
-
LogFlag["LEVEL"] = "level";
|
|
270
|
-
LogFlag["REF_TYPE"] = "ref_type";
|
|
271
|
-
LogFlag["REF_ID"] = "ref_id";
|
|
272
|
-
return LogFlag;
|
|
273
|
-
}({});
|
|
274
|
-
var LogChannel = /*#__PURE__*/ function(LogChannel) {
|
|
275
|
-
LogChannel["HTTP"] = "http";
|
|
276
|
-
LogChannel["WEBSOCKET"] = "websocket";
|
|
277
|
-
LogChannel["BACKGROUND"] = "background";
|
|
278
|
-
LogChannel["SYSTEM"] = "system";
|
|
279
|
-
return LogChannel;
|
|
280
|
-
}({});
|
|
281
|
-
|
|
282
|
-
/*
|
|
283
|
-
* Copyright (c) 2025.
|
|
284
|
-
* Author Peter Placzek (tada5hi)
|
|
285
|
-
* For the full copyright and license information,
|
|
286
|
-
* view the LICENSE file that was distributed with this source code.
|
|
287
|
-
*/ function _define_property$1(obj, key, value) {
|
|
288
|
-
if (key in obj) {
|
|
289
|
-
Object.defineProperty(obj, key, {
|
|
290
|
-
value: value,
|
|
291
|
-
enumerable: true,
|
|
292
|
-
configurable: true,
|
|
293
|
-
writable: true
|
|
294
|
-
});
|
|
295
|
-
} else {
|
|
296
|
-
obj[key] = value;
|
|
297
|
-
}
|
|
298
|
-
return obj;
|
|
299
|
-
}
|
|
300
|
-
function _object_spread(target) {
|
|
301
|
-
for(var i = 1; i < arguments.length; i++){
|
|
302
|
-
var source = arguments[i] != null ? arguments[i] : {};
|
|
303
|
-
var ownKeys = Object.keys(source);
|
|
304
|
-
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
305
|
-
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
306
|
-
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
307
|
-
}));
|
|
308
|
-
}
|
|
309
|
-
ownKeys.forEach(function(key) {
|
|
310
|
-
_define_property$1(target, key, source[key]);
|
|
311
|
-
});
|
|
312
|
-
}
|
|
313
|
-
return target;
|
|
314
|
-
}
|
|
315
|
-
function ownKeys(object, enumerableOnly) {
|
|
316
|
-
var keys = Object.keys(object);
|
|
317
|
-
if (Object.getOwnPropertySymbols) {
|
|
318
|
-
var symbols = Object.getOwnPropertySymbols(object);
|
|
319
|
-
keys.push.apply(keys, symbols);
|
|
320
|
-
}
|
|
321
|
-
return keys;
|
|
322
|
-
}
|
|
323
|
-
function _object_spread_props(target, source) {
|
|
324
|
-
source = source != null ? source : {};
|
|
325
|
-
if (Object.getOwnPropertyDescriptors) {
|
|
326
|
-
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
327
|
-
} else {
|
|
328
|
-
ownKeys(Object(source)).forEach(function(key) {
|
|
329
|
-
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
330
|
-
});
|
|
331
|
-
}
|
|
332
|
-
return target;
|
|
333
|
-
}
|
|
334
|
-
function normalizeLogInput(input) {
|
|
335
|
-
return _object_spread_props(_object_spread({}, input), {
|
|
336
|
-
time: input.time || kit.nanoSeconds(),
|
|
337
|
-
labels: input.labels || {}
|
|
338
|
-
});
|
|
339
|
-
}
|
|
340
|
-
|
|
341
|
-
class LogValidator extends validup.Container {
|
|
342
|
-
initialize() {
|
|
343
|
-
super.initialize();
|
|
344
|
-
this.mount('time', {
|
|
345
|
-
optional: true
|
|
346
|
-
}, adapterZod.createValidator(zod.string().min(0).max(20).or(zod.bigint()).optional()));
|
|
347
|
-
this.mount('message', adapterZod.createValidator(zod.string().min(3).max(2048)));
|
|
348
|
-
this.mount('service', adapterZod.createValidator(zod.string().min(3).max(64)));
|
|
349
|
-
// ----------------------------------------------
|
|
350
|
-
this.mount('level', adapterZod.createValidator(zod.enum(Object.values(LogLevel))));
|
|
351
|
-
this.mount('channel', adapterZod.createValidator(zod.enum(Object.values(LogChannel))));
|
|
352
|
-
this.mount('labels', {
|
|
353
|
-
optional: true
|
|
354
|
-
}, adapterZod.createValidator(zod.record(zod.string(), zod.string()).nullable()));
|
|
355
|
-
}
|
|
356
|
-
}
|
|
357
|
-
|
|
358
|
-
/*
|
|
359
|
-
* Copyright (c) 2025.
|
|
360
|
-
* Author Peter Placzek (tada5hi)
|
|
361
|
-
* For the full copyright and license information,
|
|
362
|
-
* view the LICENSE file that was distributed with this source code.
|
|
363
|
-
*/ var DomainType = /*#__PURE__*/ function(DomainType) {
|
|
364
|
-
DomainType["EVENT"] = "event";
|
|
365
|
-
DomainType["LOG"] = "log";
|
|
366
|
-
return DomainType;
|
|
367
|
-
}({});
|
|
368
|
-
|
|
369
|
-
/*
|
|
370
|
-
* Copyright (c) 2022-2024.
|
|
371
|
-
* Author Peter Placzek (tada5hi)
|
|
372
|
-
* For the full copyright and license information,
|
|
373
|
-
* view the LICENSE file that was distributed with this source code.
|
|
374
|
-
*/ function _define_property(obj, key, value) {
|
|
375
|
-
if (key in obj) {
|
|
376
|
-
Object.defineProperty(obj, key, {
|
|
377
|
-
value: value,
|
|
378
|
-
enumerable: true,
|
|
379
|
-
configurable: true,
|
|
380
|
-
writable: true
|
|
381
|
-
});
|
|
382
|
-
} else {
|
|
383
|
-
obj[key] = value;
|
|
384
|
-
}
|
|
385
|
-
return obj;
|
|
386
|
-
}
|
|
387
|
-
class APIClient extends hapic.Client {
|
|
388
|
-
constructor(config){
|
|
389
|
-
super(config), _define_property(this, "event", void 0), _define_property(this, "log", void 0);
|
|
390
|
-
this.event = new EventAPI({
|
|
391
|
-
client: this
|
|
392
|
-
});
|
|
393
|
-
this.log = new LogAPI({
|
|
394
|
-
client: this
|
|
395
|
-
});
|
|
396
|
-
this.on(hapic.HookName.RESPONSE_ERROR, (error)=>{
|
|
397
|
-
if (hapic.isClientError(error) && error.response && error.response.data && typeof error.response.data.message === 'string') {
|
|
398
|
-
error.message = error.response.data.message;
|
|
399
|
-
}
|
|
400
|
-
throw error;
|
|
401
|
-
});
|
|
402
|
-
}
|
|
403
|
-
}
|
|
404
|
-
|
|
405
|
-
exports.APIClient = APIClient;
|
|
406
|
-
exports.DomainType = DomainType;
|
|
407
|
-
exports.EventAPI = EventAPI;
|
|
408
|
-
exports.EventValidator = EventValidator;
|
|
409
|
-
exports.LogAPI = LogAPI;
|
|
410
|
-
exports.LogChannel = LogChannel;
|
|
411
|
-
exports.LogFlag = LogFlag;
|
|
412
|
-
exports.LogLevel = LogLevel;
|
|
413
|
-
exports.LogLevelColor = LogLevelColor;
|
|
414
|
-
exports.LogValidator = LogValidator;
|
|
415
|
-
exports.normalizeLogInput = normalizeLogInput;
|
|
416
|
-
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../src/domains/base.ts","../src/domains/event/api.ts","../src/domains/event/validator.ts","../src/domains/log/api.ts","../src/domains/log/constants.ts","../src/domains/log/helpers.ts","../src/domains/log/validator.ts","../src/domains/constants.ts","../src/http/api-client/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { createClient, isClient } from 'hapic';\nimport type { Client, RequestBaseOptions } from 'hapic';\nimport type { BaseAPIContext } from './types-base';\n\nexport class BaseAPI {\n protected client! : Client;\n\n // -----------------------------------------------------------------------------------\n\n constructor(context?: BaseAPIContext) {\n context = context || {};\n\n this.setClient(context.client);\n }\n\n // -----------------------------------------------------------------------------------\n\n setClient(input?: Client | RequestBaseOptions) {\n this.client = isClient(input) ?\n input :\n createClient(input);\n }\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { BuildInput } from 'rapiq';\nimport { buildQuery } from 'rapiq';\nimport type { Event } from './entity';\nimport type { CollectionResourceResponse, SingleResourceResponse } from '../types-base';\nimport { BaseAPI } from '../base';\n\nexport class EventAPI extends BaseAPI {\n async getMany(options?: BuildInput<Event>): Promise<CollectionResourceResponse<Event>> {\n const { data: response } = await this.client.get(`events${buildQuery(options)}`);\n return response;\n }\n\n async getOne(id: Event['id']): Promise<SingleResourceResponse<Event>> {\n const { data: response } = await this.client.get(`events/${id}`);\n\n return response;\n }\n\n async delete(id: Event['id']): Promise<SingleResourceResponse<Event>> {\n const { data: response } = await this.client.delete(`events/${id}`);\n\n return response;\n }\n\n async update(id: Event['id'], data: Partial<Event>): Promise<SingleResourceResponse<Event>> {\n const { data: response } = await this.client.post(`events/${id}`, data);\n\n return response;\n }\n\n async create(data: Partial<Event>): Promise<SingleResourceResponse<Event>> {\n const { data: response } = await this.client.post('events', data);\n\n return response;\n }\n}\n","/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { createValidator } from '@validup/adapter-zod';\nimport { Container } from 'validup';\nimport zod from 'zod';\nimport type { Event } from './entity';\n\nexport class EventValidator extends Container<Event> {\n protected initialize() {\n super.initialize();\n\n this.mount(\n 'ref_type',\n createValidator(\n zod\n .string()\n .min(3)\n .max(128),\n ),\n );\n\n this.mount(\n 'ref_id',\n { optional: true },\n createValidator(\n zod\n .uuidv4()\n .nullable(),\n ),\n );\n\n // ----------------------------------------------\n\n this.mount(\n 'scope',\n createValidator(\n zod\n .string()\n .min(3)\n .max(128),\n ),\n );\n\n this.mount(\n 'name',\n createValidator(\n zod\n .string()\n .min(3)\n .max(128),\n ),\n );\n\n // ----------------------------------------------\n\n this.mount(\n 'data',\n { optional: true },\n createValidator(\n zod\n .record(zod.string(), zod.any())\n .nullable(),\n ),\n );\n\n // ----------------------------------------------\n\n this.mount(\n 'expiring',\n { optional: true },\n createValidator(\n zod\n .boolean()\n .nullable(),\n ),\n );\n\n // ----------------------------------------------\n\n this.mount(\n 'request_path',\n { optional: true },\n createValidator(zod.string().min(3).max(256).nullable()),\n );\n\n this.mount(\n 'request_method',\n { optional: true },\n createValidator(zod.string().min(3).max(10).nullable()),\n );\n\n this.mount(\n 'request_ip_address',\n { optional: true },\n createValidator(zod.ipv4().nullable()),\n );\n\n this.mount(\n 'request_user_agent',\n { optional: true },\n createValidator(zod.string().min(3).max(512).nullable()),\n );\n\n // ----------------------------------------------\n\n this.mount(\n 'actor_type',\n { optional: true },\n createValidator(zod.string().min(3).max(64).nullable()),\n );\n\n this.mount(\n 'actor_id',\n { optional: true },\n createValidator(zod.uuidv4().nullable()),\n );\n\n this.mount(\n 'actor_name',\n { optional: true },\n createValidator(zod.string().min(3).max(64).nullable()),\n );\n\n // ----------------------------------------------\n\n this.mount(\n 'realm_id',\n { optional: true },\n createValidator(zod.uuidv4().nullable()),\n );\n\n // ----------------------------------------------\n\n this.mount(\n 'expires_at',\n { optional: true },\n createValidator(\n zod.iso.datetime()\n .nullable(),\n ),\n );\n }\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { BuildInput } from 'rapiq';\nimport { buildQuery } from 'rapiq';\nimport type { Log, LogInput } from './entity';\nimport type { CollectionResourceResponse, SingleResourceResponse } from '../types-base';\nimport { BaseAPI } from '../base';\n\nexport class LogAPI extends BaseAPI {\n async getMany(options?: BuildInput<Log>): Promise<CollectionResourceResponse<Log>> {\n const { data: response } = await this.client.get(`logs${buildQuery(options)}`);\n return response;\n }\n\n async deleteMany(options?: BuildInput<Log>): Promise<void> {\n await this.client.delete(`logs${buildQuery(options)}`);\n }\n\n async create(data: LogInput): Promise<SingleResourceResponse<Log>> {\n const { data: response } = await this.client.post('logs', data);\n\n return response;\n }\n}\n","/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum LogLevel {\n /**\n * indicates that the system is unusable\n * and requires immediate attention\n */\n EMERGENCE = 'emerg',\n\n /**\n * indicates that immediate action is necessary\n * to resolve a critical issue.\n */\n ALERT = 'alert',\n\n /**\n * signifies critical conditions in the program that demand\n * intervention to prevent system failure.\n */\n CRITICAL = 'crit',\n\n /**\n * indicates error conditions that impair\n * some operation but are less severe than critical situations.\n */\n ERROR = 'error',\n\n /**\n * signifies potential issues that may lead to errors\n * or unexpected behavior in the future if not addressed.\n */\n WARNING = 'warn',\n\n /**\n * applies to normal but significant\n * conditions that may require monitoring\n */\n NOTICE = 'notice',\n\n /**\n * includes messages that provide a record\n * of the normal operation of the system.\n */\n INFORMATIONAL = 'info',\n\n /**\n * intended for logging detailed information about the system\n * for debugging purposes.\n */\n DEBUG = 'debug',\n}\n\nexport enum LogLevelColor {\n EMERGENCE = '#8B0000',\n ALERT = '#FF0000',\n CRITICAL = '#FF4500',\n ERROR = '#FF6347',\n WARNING = '#FFD700',\n NOTICE = '#1E90FF',\n INFORMATIONAL = '#228B22',\n DEBUG = '#A9A9A9',\n}\n\nexport enum LogFlag {\n CHANNEL = 'channel',\n\n COMPONENT = 'component',\n\n SERVICE = 'service',\n\n LEVEL = 'level',\n\n REF_TYPE = 'ref_type',\n\n REF_ID = 'ref_id',\n}\n\nexport enum LogChannel {\n HTTP = 'http',\n WEBSOCKET = 'websocket',\n BACKGROUND = 'background',\n SYSTEM = 'system',\n}\n","/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { nanoSeconds } from '@privateaim/kit';\nimport type { Log, LogInput } from './entity';\n\nexport function normalizeLogInput(input: LogInput) : Log {\n return {\n ...input,\n time: input.time || nanoSeconds(),\n labels: input.labels || {},\n };\n}\n","/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { createValidator } from '@validup/adapter-zod';\nimport { Container } from 'validup';\nimport zod from 'zod';\nimport { LogChannel, LogLevel } from './constants';\nimport type { LogInput } from './entity';\n\nexport class LogValidator extends Container<LogInput> {\n protected initialize() {\n super.initialize();\n\n this.mount(\n 'time',\n { optional: true },\n createValidator(\n zod\n .string()\n .min(0)\n .max(20)\n .or(zod.bigint())\n .optional(),\n ),\n );\n\n this.mount(\n 'message',\n createValidator(\n zod\n .string()\n .min(3)\n .max(2048),\n ),\n );\n\n this.mount(\n 'service',\n createValidator(\n zod\n .string()\n .min(3)\n .max(64),\n ),\n );\n\n // ----------------------------------------------\n\n this.mount(\n 'level',\n createValidator(\n zod\n .enum(Object.values(LogLevel)),\n ),\n );\n\n this.mount(\n 'channel',\n createValidator(\n zod\n .enum(Object.values(LogChannel)),\n ),\n );\n\n this.mount(\n 'labels',\n { optional: true },\n createValidator(\n zod\n .record(zod.string(), zod.string())\n .nullable(),\n ),\n );\n }\n}\n","/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum DomainType {\n EVENT = 'event',\n LOG = 'log',\n}\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { RequestBaseOptions } from 'hapic';\nimport { Client, HookName, isClientError } from 'hapic';\nimport {\n EventAPI,\n LogAPI,\n} from '../../domains';\n\nexport class APIClient extends Client {\n public readonly event : EventAPI;\n\n public readonly log : LogAPI;\n\n constructor(config: RequestBaseOptions) {\n super(config);\n\n this.event = new EventAPI({ client: this });\n this.log = new LogAPI({ client: this });\n\n this.on(HookName.RESPONSE_ERROR, ((error) => {\n if (\n isClientError(error) &&\n error.response &&\n error.response.data &&\n typeof error.response.data.message === 'string'\n ) {\n error.message = error.response.data.message;\n }\n\n throw error;\n }));\n }\n}\n"],"names":["_define_property","BaseAPI","setClient","input","client","isClient","createClient","context","asyncGeneratorStep","EventAPI","getMany","options","data","response","get","buildQuery","getOne","id","delete","update","post","create","EventValidator","Container","initialize","mount","createValidator","zod","string","min","max","optional","uuidv4","nullable","record","any","boolean","ipv4","iso","datetime","LogAPI","deleteMany","LogLevel","LogLevelColor","LogFlag","LogChannel","normalizeLogInput","time","nanoSeconds","labels","LogValidator","or","bigint","enum","Object","values","DomainType","APIClient","Client","config","event","log","on","HookName","RESPONSE_ERROR","error","isClientError","message"],"mappings":"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"}
|