@ooneex/logger 0.10.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,5 +1,55 @@
1
1
  // @bun
2
- import{container as E,EContainerScope as q}from"@ooneex/container";var f={logger:(y=q.Singleton)=>{return(S)=>{E.add(S,y)}}};import{DatabaseException as D}from"@ooneex/database";class K{client;options;constructor(y){let S=y?.filename||Bun.env.LOGS_DATABASE_PATH||"";if(!S)throw new D("No database filename provided. Please set LOGS_DATABASE_PATH environment variable or provide a filename in the options.");this.options={filename:S,readonly:!1,create:!0,readwrite:!0,strict:!0,safeIntegers:!1,...y,adapter:"sqlite"}}getClient(){if(!this.client)try{this.client=new Bun.SQL(this.options)}catch(y){throw new D(y.message)}return this.client}async open(){this.getClient()}async createTable(){let y=this.getClient();try{await y`PRAGMA foreign_keys = ON`,await y`PRAGMA journal_mode = WAL`,await y`PRAGMA integrity_check`,await y`
2
+ // src/decorators.ts
3
+ import { container, EContainerScope } from "@ooneex/container";
4
+ var decorator = {
5
+ logger: (scope = EContainerScope.Singleton) => {
6
+ return (target) => {
7
+ container.add(target, scope);
8
+ };
9
+ }
10
+ };
11
+ // src/LogsDatabase.ts
12
+ import { DatabaseException } from "@ooneex/database";
13
+
14
+ class LogsDatabase {
15
+ client;
16
+ options;
17
+ constructor(options) {
18
+ const fileName = options?.filename || Bun.env.LOGS_DATABASE_PATH || "";
19
+ if (!fileName) {
20
+ throw new DatabaseException("No database filename provided. Please set LOGS_DATABASE_PATH environment variable or provide a filename in the options.");
21
+ }
22
+ this.options = {
23
+ filename: fileName,
24
+ readonly: false,
25
+ create: true,
26
+ readwrite: true,
27
+ strict: true,
28
+ safeIntegers: false,
29
+ ...options,
30
+ adapter: "sqlite"
31
+ };
32
+ }
33
+ getClient() {
34
+ if (!this.client) {
35
+ try {
36
+ this.client = new Bun.SQL(this.options);
37
+ } catch (error) {
38
+ throw new DatabaseException(error.message);
39
+ }
40
+ }
41
+ return this.client;
42
+ }
43
+ async open() {
44
+ this.getClient();
45
+ }
46
+ async createTable() {
47
+ const sql = this.getClient();
48
+ try {
49
+ await sql`PRAGMA foreign_keys = ON`;
50
+ await sql`PRAGMA journal_mode = WAL`;
51
+ await sql`PRAGMA integrity_check`;
52
+ await sql`
3
53
  CREATE TABLE IF NOT EXISTS logs (
4
54
  id TEXT PRIMARY KEY,
5
55
  level TEXT NOT NULL,
@@ -27,34 +77,499 @@ import{container as E,EContainerScope as q}from"@ooneex/container";var f={logger
27
77
  domain TEXT,
28
78
  hostname TEXT
29
79
  )
30
- `,await y`CREATE INDEX IF NOT EXISTS idx_logs_level ON logs(level)`,await y`CREATE INDEX IF NOT EXISTS idx_logs_user_id ON logs(userId)`}catch(S){throw new D("Failed to open log database connection")}}async dropTable(){let y=this.getClient();try{await y`DROP TABLE IF EXISTS logs`}catch(S){throw new D("Failed to drop log tables")}}async close(){try{await this.client?.close(),this.client=void 0}catch(y){throw new D("Failed to close log database connection")}}async drop(){}}class X{id;level;message;date=new Date;userId;email;lastName;firstName;status;exceptionName;stackTrace;ip;method;path;userAgent;referer;params;payload;queries}import{deserialize as N,serialize as Y}from"bun:jsc";import{random as z}from"@ooneex/utils";var{sql:U}=globalThis.Bun;class Z{db;constructor(y){this.db=y}async create(y){let S=this.db.getClient(),T={...y,id:z.nanoid(15),date:y.date.toISOString(),stackTrace:y.stackTrace?Y(y.stackTrace):null,params:y.params?Y(y.params):null,payload:y.payload?Y(y.payload):null,queries:y.queries?Y(y.queries):null},[O]=await S`
31
- INSERT INTO logs ${U(T)}
80
+ `;
81
+ await sql`CREATE INDEX IF NOT EXISTS idx_logs_level ON logs(level)`;
82
+ await sql`CREATE INDEX IF NOT EXISTS idx_logs_user_id ON logs(userId)`;
83
+ } catch (_e) {
84
+ throw new DatabaseException("Failed to open log database connection");
85
+ }
86
+ }
87
+ async dropTable() {
88
+ const sql = this.getClient();
89
+ try {
90
+ await sql`DROP TABLE IF EXISTS logs`;
91
+ } catch (_e) {
92
+ throw new DatabaseException("Failed to drop log tables");
93
+ }
94
+ }
95
+ async close() {
96
+ try {
97
+ await this.client?.close();
98
+ this.client = undefined;
99
+ } catch (_e) {
100
+ throw new DatabaseException("Failed to close log database connection");
101
+ }
102
+ }
103
+ async drop() {}
104
+ }
105
+ // src/LogsEntity.ts
106
+ class LogsEntity {
107
+ id;
108
+ level;
109
+ message;
110
+ date = new Date;
111
+ userId;
112
+ email;
113
+ lastName;
114
+ firstName;
115
+ status;
116
+ exceptionName;
117
+ stackTrace;
118
+ ip;
119
+ method;
120
+ path;
121
+ userAgent;
122
+ referer;
123
+ params;
124
+ payload;
125
+ queries;
126
+ }
127
+ // src/LogsRepository.ts
128
+ import { deserialize, serialize } from "bun:jsc";
129
+ import { random } from "@ooneex/utils";
130
+ var {sql } = globalThis.Bun;
131
+
132
+ class LogsRepository {
133
+ db;
134
+ constructor(db) {
135
+ this.db = db;
136
+ }
137
+ async create(log) {
138
+ const client = this.db.getClient();
139
+ const data = {
140
+ ...log,
141
+ id: random.nanoid(15),
142
+ date: log.date.toISOString(),
143
+ stackTrace: log.stackTrace ? serialize(log.stackTrace) : null,
144
+ params: log.params ? serialize(log.params) : null,
145
+ payload: log.payload ? serialize(log.payload) : null,
146
+ queries: log.queries ? serialize(log.queries) : null
147
+ };
148
+ const [newLog] = await client`
149
+ INSERT INTO logs ${sql(data)}
32
150
  RETURNING *
33
- `;return await this.db.close(),O}async find(y){let S=this.db.getClient(),[T]=await S`
151
+ `;
152
+ await this.db.close();
153
+ return newLog;
154
+ }
155
+ async find(id) {
156
+ const client = this.db.getClient();
157
+ const [log] = await client`
34
158
  SELECT * FROM logs
35
- WHERE id = ${y}
159
+ WHERE id = ${id}
36
160
  LIMIT 1
37
- `;if(!T)return await this.db.close(),null;let O={...T,date:new Date(T.date),stackTrace:T.stackTrace?N(T.stackTrace):void 0,params:T.params?N(T.params):void 0,payload:T.payload?N(T.payload):void 0,queries:T.queries?N(T.queries):void 0};return await this.db.close(),O}async findBy(y){let S=this.db.getClient(),T=[];if(y.level!==void 0)T.push(U`level = ${y.level}`);if(y.userId!==void 0)T.push(U`userId = ${y.userId}`);if(y.email!==void 0)T.push(U`email = ${y.email}`);if(y.lastName!==void 0)T.push(U`lastName = ${y.lastName}`);if(y.firstName!==void 0)T.push(U`firstName = ${y.firstName}`);if(y.status!==void 0)T.push(U`status = ${y.status}`);if(y.exceptionName!==void 0)T.push(U`exceptionName = ${y.exceptionName}`);if(y.method!==void 0)T.push(U`method = ${y.method}`);if(y.path!==void 0)T.push(U`path = ${y.path}`);let O=y.limit||100,R=y.page||1,L=(R-1)*O;if(T.length===0){let[P]=await S`SELECT COUNT(*) as total FROM logs`,Q=(await S`
161
+ `;
162
+ if (!log) {
163
+ await this.db.close();
164
+ return null;
165
+ }
166
+ const result = {
167
+ ...log,
168
+ date: new Date(log.date),
169
+ stackTrace: log.stackTrace ? deserialize(log.stackTrace) : undefined,
170
+ params: log.params ? deserialize(log.params) : undefined,
171
+ payload: log.payload ? deserialize(log.payload) : undefined,
172
+ queries: log.queries ? deserialize(log.queries) : undefined
173
+ };
174
+ await this.db.close();
175
+ return result;
176
+ }
177
+ async findBy(criteria) {
178
+ const client = this.db.getClient();
179
+ const whereConditions = [];
180
+ if (criteria.level !== undefined) {
181
+ whereConditions.push(sql`level = ${criteria.level}`);
182
+ }
183
+ if (criteria.userId !== undefined) {
184
+ whereConditions.push(sql`userId = ${criteria.userId}`);
185
+ }
186
+ if (criteria.email !== undefined) {
187
+ whereConditions.push(sql`email = ${criteria.email}`);
188
+ }
189
+ if (criteria.lastName !== undefined) {
190
+ whereConditions.push(sql`lastName = ${criteria.lastName}`);
191
+ }
192
+ if (criteria.firstName !== undefined) {
193
+ whereConditions.push(sql`firstName = ${criteria.firstName}`);
194
+ }
195
+ if (criteria.status !== undefined) {
196
+ whereConditions.push(sql`status = ${criteria.status}`);
197
+ }
198
+ if (criteria.exceptionName !== undefined) {
199
+ whereConditions.push(sql`exceptionName = ${criteria.exceptionName}`);
200
+ }
201
+ if (criteria.method !== undefined) {
202
+ whereConditions.push(sql`method = ${criteria.method}`);
203
+ }
204
+ if (criteria.path !== undefined) {
205
+ whereConditions.push(sql`path = ${criteria.path}`);
206
+ }
207
+ const limit = criteria.limit || 100;
208
+ const page = criteria.page || 1;
209
+ const offset = (page - 1) * limit;
210
+ if (whereConditions.length === 0) {
211
+ const [countResult2] = await client`SELECT COUNT(*) as total FROM logs`;
212
+ const logs2 = await client`
38
213
  SELECT * FROM logs
39
214
  ORDER BY date DESC
40
- LIMIT ${O}
41
- OFFSET ${L}
42
- `).map((I)=>({...I,date:new Date(I.date),stackTrace:I.stackTrace?N(I.stackTrace):void 0,params:I.params?N(I.params):void 0,payload:I.payload?N(I.payload):void 0,queries:I.queries?N(I.queries):void 0})),$=P.total,V=Math.ceil($/O),J={logs:Q,total:$,page:R,limit:O,totalPages:V};return await this.db.close(),J}let F=T.reduce((P,x,Q)=>{if(Q===0)return x;return U`${P} AND ${x}`}),[_]=await S`
215
+ LIMIT ${limit}
216
+ OFFSET ${offset}
217
+ `;
218
+ const transformedLogs2 = logs2.map((log) => ({
219
+ ...log,
220
+ date: new Date(log.date),
221
+ stackTrace: log.stackTrace ? deserialize(log.stackTrace) : undefined,
222
+ params: log.params ? deserialize(log.params) : undefined,
223
+ payload: log.payload ? deserialize(log.payload) : undefined,
224
+ queries: log.queries ? deserialize(log.queries) : undefined
225
+ }));
226
+ const total2 = countResult2.total;
227
+ const totalPages2 = Math.ceil(total2 / limit);
228
+ const result2 = {
229
+ logs: transformedLogs2,
230
+ total: total2,
231
+ page,
232
+ limit,
233
+ totalPages: totalPages2
234
+ };
235
+ await this.db.close();
236
+ return result2;
237
+ }
238
+ const whereClause = whereConditions.reduce((acc, condition, index) => {
239
+ if (index === 0) {
240
+ return condition;
241
+ }
242
+ return sql`${acc} AND ${condition}`;
243
+ });
244
+ const [countResult] = await client`
43
245
  SELECT COUNT(*) as total
44
246
  FROM logs
45
- WHERE ${F}
46
- `,j=(await S`
247
+ WHERE ${whereClause}
248
+ `;
249
+ const logs = await client`
47
250
  SELECT * FROM logs
48
- WHERE ${F}
251
+ WHERE ${whereClause}
49
252
  ORDER BY date DESC
50
- LIMIT ${O}
51
- OFFSET ${L}
52
- `).map((P)=>({...P,date:new Date(P.date),params:P.params?N(P.params):void 0,payload:P.payload?N(P.payload):void 0,queries:P.queries?N(P.queries):void 0})),G=_.total,H=Math.ceil(G/O),A={logs:j,total:G,page:R,limit:O,totalPages:H};return await this.db.close(),A}}class C{db;repository;constructor(y){this.db=new K(y),this.repository=new Z(this.db)}async init(){await this.db.open(),await this.db.createTable()}error(y,S){if(typeof y==="string")this.writeLog("ERROR",{message:y,...S&&{data:S}});else this.writeLog("ERROR",{exception:y})}warn(y,S){this.writeLog("WARN",{message:y,...S&&{data:S}})}info(y,S){this.writeLog("INFO",{message:y,...S&&{data:S}})}debug(y,S){this.writeLog("DEBUG",{message:y,...S&&{data:S}})}log(y,S){this.writeLog("LOG",{message:y,...S&&{data:S}})}success(y,S){this.writeLog("SUCCESS",{message:y,...S&&{data:S}})}writeLog(y,S){let{message:T,data:O,exception:R}=S||{},L=new X;if(L.level=y,T)L.message=T;else if(R?.message)L.message=R.message;if(L.date=R?.date||new Date,O?.userId!==void 0)L.userId=O.userId;if(O?.email!==void 0)L.email=O.email;if(O?.lastName!==void 0)L.lastName=O.lastName;if(O?.firstName!==void 0)L.firstName=O.firstName;if(R?.status!==void 0)L.status=R.status;else if(O?.status!==void 0)L.status=O.status;if(R?.name!==void 0)L.exceptionName=R.name;let F=R?.stackToJson();if(F!==void 0&&F!==null)L.stackTrace=F;if(O?.ip!==void 0)L.ip=O.ip;if(O?.method!==void 0)L.method=O.method;if(O?.path!==void 0)L.path=O.path;if(O?.userAgent!==void 0)L.userAgent=O.userAgent;if(O?.referer!==void 0)L.referer=O.referer;if(O?.params!==void 0)L.params=O.params;if(O?.payload!==void 0)L.payload=O.payload;if(O?.queries!==void 0)L.queries=O.queries;this.repository.create(L)}}class k{colorizeText(y,S){let T=Bun.color(S,"ansi"),O="\x1B[0m";return T?`${T}${y}\x1B[0m`:y}getLevelColor(y){return{ERROR:"#FF3B30",WARN:"#FFCC00",INFO:"#007AFF",DEBUG:"#8E8E93",LOG:"#8E8E93",SUCCESS:"#00C851"}[y.toUpperCase()]||"white"}getLevelSymbol(y){return{ERROR:"\u2716",WARN:"\u26A0",INFO:"\u2139",DEBUG:"\u2699",LOG:"\u25CF",SUCCESS:"\u2714"}[y.toUpperCase()]||"\u25CF"}writeToConsole(y){let{level:S,message:T,date:O,data:R,stackTrace:L,showArrow:F=!0,showTimestamp:_=!0,showLevel:h=!0,useSymbol:j=!1}=y,G=S.endsWith("Exception")?"ERROR":S,H=this.getLevelColor(G),A=O||new Date,P=`${A.getFullYear()}-${String(A.getMonth()+1).padStart(2,"0")}-${String(A.getDate()).padStart(2,"0")} ${String(A.getHours()).padStart(2,"0")}:${String(A.getMinutes()).padStart(2,"0")}:${String(A.getSeconds()).padStart(2,"0")}`,x=_?`${this.colorizeText(P,"#B2BEB5")} `:"",Q=F?`${this.colorizeText("->",H)} `:"",$=j?this.getLevelSymbol(G):`[${S}]`,V=h?`${this.colorizeText($,H)} `:"",J=this.colorizeText(T,H),I=`${Q}${x}${V}${J}`;if(R&&Object.keys(R).length>0){let b=Object.entries(R).filter(([B])=>B!=="stackTrace").map(([B,W])=>{let M=typeof W==="string"?"#69E502":typeof W==="number"?"#FFE809":"#D3D3D3",u=this.colorizeText(String(W),M);return`${this.colorizeText(B,"#79B")}: ${u}`});if(b.length>0){let B=b.join(`
53
- `);I+=`
54
- ${B}`}}if(L&&Array.isArray(L)&&L.length>0){let b=this.colorizeText("Stack Trace:","#FF6B6B");I+=`
55
- ${b}`,L.forEach((B,W)=>{let M=this.colorizeText(` ${W+1}.`,"#B2BEB5"),u=B.functionName?this.colorizeText(B.functionName,"#FFD93D"):this.colorizeText("<anonymous>","#8E8E93"),v=B.fileName?this.colorizeText(B.fileName,"#6BCF7F"):"",w=B.lineNumber?this.colorizeText(`:${B.lineNumber}${B.columnNumber?`:${B.columnNumber}`:""}`,"#B2BEB5"):"";if(I+=`
56
- ${M} ${u}`,v)I+=`
57
- at ${v}${w}`})}if(I+=`
58
- `,S==="FATAL"||S==="ERROR")process.stderr.write(`${I}`);else process.stdout.write(`${I}`)}async init(){}error(y,S,T){if(typeof y==="string")this.writeToConsole({level:"ERROR",message:y,...S&&{data:S},...T?.showArrow!==void 0&&{showArrow:T.showArrow},...T?.showTimestamp!==void 0&&{showTimestamp:T.showTimestamp},...T?.showLevel!==void 0&&{showLevel:T.showLevel},...T?.useSymbol!==void 0&&{useSymbol:T.useSymbol}});else{let O={...y.data,...S};if(y.status)O.status=y.status;let R=y.stackToJson();this.writeToConsole({level:y.name,message:y.message,data:O,...R&&{stackTrace:R},date:y.date,...T?.showArrow!==void 0&&{showArrow:T.showArrow},...T?.showTimestamp!==void 0&&{showTimestamp:T.showTimestamp},...T?.showLevel!==void 0&&{showLevel:T.showLevel},...T?.useSymbol!==void 0&&{useSymbol:T.useSymbol}})}}warn(y,S,T){this.writeToConsole({level:"WARN",message:y,...S&&{data:S},...T?.showArrow!==void 0&&{showArrow:T.showArrow},...T?.showTimestamp!==void 0&&{showTimestamp:T.showTimestamp},...T?.showLevel!==void 0&&{showLevel:T.showLevel},...T?.useSymbol!==void 0&&{useSymbol:T.useSymbol}})}info(y,S,T){this.writeToConsole({level:"INFO",message:y,...S&&{data:S},...T?.showArrow!==void 0&&{showArrow:T.showArrow},...T?.showTimestamp!==void 0&&{showTimestamp:T.showTimestamp},...T?.showLevel!==void 0&&{showLevel:T.showLevel},...T?.useSymbol!==void 0&&{useSymbol:T.useSymbol}})}debug(y,S,T){this.writeToConsole({level:"DEBUG",message:y,...S&&{data:S},...T?.showArrow!==void 0&&{showArrow:T.showArrow},...T?.showTimestamp!==void 0&&{showTimestamp:T.showTimestamp},...T?.showLevel!==void 0&&{showLevel:T.showLevel},...T?.useSymbol!==void 0&&{useSymbol:T.useSymbol}})}log(y,S,T){this.writeToConsole({level:"LOG",message:y,...S&&{data:S},...T?.showArrow!==void 0&&{showArrow:T.showArrow},...T?.showTimestamp!==void 0&&{showTimestamp:T.showTimestamp},...T?.showLevel!==void 0&&{showLevel:T.showLevel},...T?.useSymbol!==void 0&&{useSymbol:T.useSymbol}})}success(y,S,T){this.writeToConsole({level:"SUCCESS",message:y,...S&&{data:S},...T?.showArrow!==void 0&&{showArrow:T.showArrow},...T?.showTimestamp!==void 0&&{showTimestamp:T.showTimestamp},...T?.showLevel!==void 0&&{showLevel:T.showLevel},...T?.useSymbol!==void 0&&{useSymbol:T.useSymbol}})}}var m;((F)=>{F.ERROR="ERROR";F.WARN="WARN";F.INFO="INFO";F.DEBUG="DEBUG";F.LOG="LOG";F.SUCCESS="SUCCESS"})(m||={});export{f as decorator,k as TerminalLogger,C as SqliteLogger,Z as LogsRepository,X as LogsEntity,K as LogsDatabase,m as ELogLevel};
253
+ LIMIT ${limit}
254
+ OFFSET ${offset}
255
+ `;
256
+ const transformedLogs = logs.map((log) => ({
257
+ ...log,
258
+ date: new Date(log.date),
259
+ params: log.params ? deserialize(log.params) : undefined,
260
+ payload: log.payload ? deserialize(log.payload) : undefined,
261
+ queries: log.queries ? deserialize(log.queries) : undefined
262
+ }));
263
+ const total = countResult.total;
264
+ const totalPages = Math.ceil(total / limit);
265
+ const result = {
266
+ logs: transformedLogs,
267
+ total,
268
+ page,
269
+ limit,
270
+ totalPages
271
+ };
272
+ await this.db.close();
273
+ return result;
274
+ }
275
+ }
276
+ // src/SqliteLogger.ts
277
+ class SqliteLogger {
278
+ db;
279
+ repository;
280
+ constructor(options) {
281
+ this.db = new LogsDatabase(options);
282
+ this.repository = new LogsRepository(this.db);
283
+ }
284
+ async init() {
285
+ await this.db.open();
286
+ await this.db.createTable();
287
+ }
288
+ error(message, data) {
289
+ if (typeof message === "string") {
290
+ this.writeLog("ERROR", {
291
+ message,
292
+ ...data && { data }
293
+ });
294
+ } else {
295
+ this.writeLog("ERROR", {
296
+ exception: message
297
+ });
298
+ }
299
+ }
300
+ warn(message, data) {
301
+ this.writeLog("WARN", {
302
+ message,
303
+ ...data && { data }
304
+ });
305
+ }
306
+ info(message, data) {
307
+ this.writeLog("INFO", {
308
+ message,
309
+ ...data && { data }
310
+ });
311
+ }
312
+ debug(message, data) {
313
+ this.writeLog("DEBUG", {
314
+ message,
315
+ ...data && { data }
316
+ });
317
+ }
318
+ log(message, data) {
319
+ this.writeLog("LOG", {
320
+ message,
321
+ ...data && { data }
322
+ });
323
+ }
324
+ success(message, data) {
325
+ this.writeLog("SUCCESS", {
326
+ message,
327
+ ...data && { data }
328
+ });
329
+ }
330
+ writeLog(level, config) {
331
+ const { message, data, exception } = config || {};
332
+ const logEntry = new LogsEntity;
333
+ logEntry.level = level;
334
+ if (message)
335
+ logEntry.message = message;
336
+ else if (exception?.message)
337
+ logEntry.message = exception.message;
338
+ logEntry.date = exception?.date || new Date;
339
+ if (data?.userId !== undefined)
340
+ logEntry.userId = data.userId;
341
+ if (data?.email !== undefined)
342
+ logEntry.email = data.email;
343
+ if (data?.lastName !== undefined)
344
+ logEntry.lastName = data.lastName;
345
+ if (data?.firstName !== undefined)
346
+ logEntry.firstName = data.firstName;
347
+ if (exception?.status !== undefined) {
348
+ logEntry.status = exception.status;
349
+ } else if (data?.status !== undefined) {
350
+ logEntry.status = data.status;
351
+ }
352
+ if (exception?.name !== undefined)
353
+ logEntry.exceptionName = exception.name;
354
+ const stackTrace = exception?.stackToJson();
355
+ if (stackTrace !== undefined && stackTrace !== null)
356
+ logEntry.stackTrace = stackTrace;
357
+ if (data?.ip !== undefined)
358
+ logEntry.ip = data.ip;
359
+ if (data?.method !== undefined)
360
+ logEntry.method = data.method;
361
+ if (data?.path !== undefined)
362
+ logEntry.path = data.path;
363
+ if (data?.userAgent !== undefined)
364
+ logEntry.userAgent = data.userAgent;
365
+ if (data?.referer !== undefined)
366
+ logEntry.referer = data.referer;
367
+ if (data?.params !== undefined)
368
+ logEntry.params = data.params;
369
+ if (data?.payload !== undefined)
370
+ logEntry.payload = data.payload;
371
+ if (data?.queries !== undefined)
372
+ logEntry.queries = data.queries;
373
+ this.repository.create(logEntry);
374
+ }
375
+ }
376
+ // src/TerminalLogger.ts
377
+ class TerminalLogger {
378
+ colorizeText(text, color) {
379
+ const ansiColor = Bun.color(color, "ansi");
380
+ const resetAnsi = "\x1B[0m";
381
+ return ansiColor ? `${ansiColor}${text}${resetAnsi}` : text;
382
+ }
383
+ getLevelColor(level) {
384
+ const colorMap = {
385
+ ERROR: "#FF3B30",
386
+ WARN: "#FFCC00",
387
+ INFO: "#007AFF",
388
+ DEBUG: "#8E8E93",
389
+ LOG: "#8E8E93",
390
+ SUCCESS: "#00C851"
391
+ };
392
+ return colorMap[level.toUpperCase()] || "white";
393
+ }
394
+ getLevelSymbol(level) {
395
+ const symbolMap = {
396
+ ERROR: "\u2716",
397
+ WARN: "\u26A0",
398
+ INFO: "\u2139",
399
+ DEBUG: "\u2699",
400
+ LOG: "\u25CF",
401
+ SUCCESS: "\u2714"
402
+ };
403
+ return symbolMap[level.toUpperCase()] || "\u25CF";
404
+ }
405
+ writeToConsole(config) {
406
+ const {
407
+ level,
408
+ message,
409
+ date,
410
+ data,
411
+ stackTrace,
412
+ showArrow = true,
413
+ showTimestamp = true,
414
+ showLevel = true,
415
+ useSymbol = false
416
+ } = config;
417
+ const normalizedLevel = level.endsWith("Exception") ? "ERROR" : level;
418
+ const color = this.getLevelColor(normalizedLevel);
419
+ const now = date || new Date;
420
+ const formattedTime = `${now.getFullYear()}-${String(now.getMonth() + 1).padStart(2, "0")}-${String(now.getDate()).padStart(2, "0")} ${String(now.getHours()).padStart(2, "0")}:${String(now.getMinutes()).padStart(2, "0")}:${String(now.getSeconds()).padStart(2, "0")}`;
421
+ const timestamp = showTimestamp ? `${this.colorizeText(formattedTime, "#B2BEB5")} ` : "";
422
+ const arrow = showArrow ? `${this.colorizeText("->", color)} ` : "";
423
+ const levelDisplay = useSymbol ? this.getLevelSymbol(normalizedLevel) : `[${level}]`;
424
+ const colorizedLevel = showLevel ? `${this.colorizeText(levelDisplay, color)} ` : "";
425
+ const colorizedMessage = this.colorizeText(message, color);
426
+ let logMessage = `${arrow}${timestamp}${colorizedLevel}${colorizedMessage}`;
427
+ if (data && Object.keys(data).length > 0) {
428
+ const dataEntries = Object.entries(data).filter(([key]) => key !== "stackTrace").map(([key, value]) => {
429
+ const valueColor = typeof value === "string" ? "#69E502" : typeof value === "number" ? "#FFE809" : "#D3D3D3";
430
+ const colorizedValue = this.colorizeText(String(value), valueColor);
431
+ return `${this.colorizeText(key, "#79B")}: ${colorizedValue}`;
432
+ });
433
+ if (dataEntries.length > 0) {
434
+ const colorizedData = dataEntries.join(`
435
+ `);
436
+ logMessage += `
437
+ ${colorizedData}`;
438
+ }
439
+ }
440
+ if (stackTrace && Array.isArray(stackTrace) && stackTrace.length > 0) {
441
+ const stackHeader = this.colorizeText("Stack Trace:", "#FF6B6B");
442
+ logMessage += `
443
+ ${stackHeader}`;
444
+ stackTrace.forEach((frame, index) => {
445
+ const frameNumber = this.colorizeText(` ${index + 1}.`, "#B2BEB5");
446
+ const functionName = frame.functionName ? this.colorizeText(frame.functionName, "#FFD93D") : this.colorizeText("<anonymous>", "#8E8E93");
447
+ const fileName = frame.fileName ? this.colorizeText(frame.fileName, "#6BCF7F") : "";
448
+ const lineCol = frame.lineNumber ? this.colorizeText(`:${frame.lineNumber}${frame.columnNumber ? `:${frame.columnNumber}` : ""}`, "#B2BEB5") : "";
449
+ logMessage += `
450
+ ${frameNumber} ${functionName}`;
451
+ if (fileName) {
452
+ logMessage += `
453
+ at ${fileName}${lineCol}`;
454
+ }
455
+ });
456
+ }
457
+ logMessage += `
458
+ `;
459
+ if (level === "FATAL" || level === "ERROR") {
460
+ process.stderr.write(`${logMessage}`);
461
+ } else {
462
+ process.stdout.write(`${logMessage}`);
463
+ }
464
+ }
465
+ async init() {}
466
+ error(message, data, options) {
467
+ if (typeof message === "string") {
468
+ this.writeToConsole({
469
+ level: "ERROR",
470
+ message,
471
+ ...data && { data },
472
+ ...options?.showArrow !== undefined && { showArrow: options.showArrow },
473
+ ...options?.showTimestamp !== undefined && { showTimestamp: options.showTimestamp },
474
+ ...options?.showLevel !== undefined && { showLevel: options.showLevel },
475
+ ...options?.useSymbol !== undefined && { useSymbol: options.useSymbol }
476
+ });
477
+ } else {
478
+ const exceptionData = {
479
+ ...message.data,
480
+ ...data
481
+ };
482
+ if (message.status) {
483
+ exceptionData.status = message.status;
484
+ }
485
+ const stackJson = message.stackToJson();
486
+ this.writeToConsole({
487
+ level: message.name,
488
+ message: message.message,
489
+ data: exceptionData,
490
+ ...stackJson && { stackTrace: stackJson },
491
+ date: message.date,
492
+ ...options?.showArrow !== undefined && { showArrow: options.showArrow },
493
+ ...options?.showTimestamp !== undefined && { showTimestamp: options.showTimestamp },
494
+ ...options?.showLevel !== undefined && { showLevel: options.showLevel },
495
+ ...options?.useSymbol !== undefined && { useSymbol: options.useSymbol }
496
+ });
497
+ }
498
+ }
499
+ warn(message, data, options) {
500
+ this.writeToConsole({
501
+ level: "WARN",
502
+ message,
503
+ ...data && { data },
504
+ ...options?.showArrow !== undefined && { showArrow: options.showArrow },
505
+ ...options?.showTimestamp !== undefined && { showTimestamp: options.showTimestamp },
506
+ ...options?.showLevel !== undefined && { showLevel: options.showLevel },
507
+ ...options?.useSymbol !== undefined && { useSymbol: options.useSymbol }
508
+ });
509
+ }
510
+ info(message, data, options) {
511
+ this.writeToConsole({
512
+ level: "INFO",
513
+ message,
514
+ ...data && { data },
515
+ ...options?.showArrow !== undefined && { showArrow: options.showArrow },
516
+ ...options?.showTimestamp !== undefined && { showTimestamp: options.showTimestamp },
517
+ ...options?.showLevel !== undefined && { showLevel: options.showLevel },
518
+ ...options?.useSymbol !== undefined && { useSymbol: options.useSymbol }
519
+ });
520
+ }
521
+ debug(message, data, options) {
522
+ this.writeToConsole({
523
+ level: "DEBUG",
524
+ message,
525
+ ...data && { data },
526
+ ...options?.showArrow !== undefined && { showArrow: options.showArrow },
527
+ ...options?.showTimestamp !== undefined && { showTimestamp: options.showTimestamp },
528
+ ...options?.showLevel !== undefined && { showLevel: options.showLevel },
529
+ ...options?.useSymbol !== undefined && { useSymbol: options.useSymbol }
530
+ });
531
+ }
532
+ log(message, data, options) {
533
+ this.writeToConsole({
534
+ level: "LOG",
535
+ message,
536
+ ...data && { data },
537
+ ...options?.showArrow !== undefined && { showArrow: options.showArrow },
538
+ ...options?.showTimestamp !== undefined && { showTimestamp: options.showTimestamp },
539
+ ...options?.showLevel !== undefined && { showLevel: options.showLevel },
540
+ ...options?.useSymbol !== undefined && { useSymbol: options.useSymbol }
541
+ });
542
+ }
543
+ success(message, data, options) {
544
+ this.writeToConsole({
545
+ level: "SUCCESS",
546
+ message,
547
+ ...data && { data },
548
+ ...options?.showArrow !== undefined && { showArrow: options.showArrow },
549
+ ...options?.showTimestamp !== undefined && { showTimestamp: options.showTimestamp },
550
+ ...options?.showLevel !== undefined && { showLevel: options.showLevel },
551
+ ...options?.useSymbol !== undefined && { useSymbol: options.useSymbol }
552
+ });
553
+ }
554
+ }
555
+ // src/types.ts
556
+ var ELogLevel;
557
+ ((ELogLevel2) => {
558
+ ELogLevel2["ERROR"] = "ERROR";
559
+ ELogLevel2["WARN"] = "WARN";
560
+ ELogLevel2["INFO"] = "INFO";
561
+ ELogLevel2["DEBUG"] = "DEBUG";
562
+ ELogLevel2["LOG"] = "LOG";
563
+ ELogLevel2["SUCCESS"] = "SUCCESS";
564
+ })(ELogLevel ||= {});
565
+ export {
566
+ decorator,
567
+ TerminalLogger,
568
+ SqliteLogger,
569
+ LogsRepository,
570
+ LogsEntity,
571
+ LogsDatabase,
572
+ ELogLevel
573
+ };
59
574
 
60
- //# debugId=09267DB0F42C699464756E2164756E21
575
+ //# debugId=1274AEB5C3F8388D64756E2164756E21
package/dist/index.js.map CHANGED
@@ -10,7 +10,7 @@
10
10
  "import type { ExceptionStackFrameType, IException } from \"@ooneex/exception\";\nimport type { ScalarType } from \"@ooneex/types\";\nimport type { ILogger, LoggerOptionsType } from \"./types\";\n\ninterface WriteToConsoleConfig {\n level: string;\n message: string;\n date?: Date;\n data?: Record<string, ScalarType>;\n stackTrace?: ExceptionStackFrameType[];\n showArrow?: boolean;\n showTimestamp?: boolean;\n showLevel?: boolean;\n useSymbol?: boolean;\n}\n\nexport class TerminalLogger implements ILogger {\n private colorizeText(text: string, color: string): string {\n const ansiColor = Bun.color(color, \"ansi\");\n const resetAnsi = \"\\u001b[0m\";\n return ansiColor ? `${ansiColor}${text}${resetAnsi}` : text;\n }\n\n private getLevelColor(level: string): string {\n const colorMap: Record<string, string> = {\n ERROR: \"#FF3B30\",\n WARN: \"#FFCC00\",\n INFO: \"#007AFF\",\n DEBUG: \"#8E8E93\",\n LOG: \"#8E8E93\",\n SUCCESS: \"#00C851\",\n };\n\n return colorMap[level.toUpperCase()] || \"white\";\n }\n\n private getLevelSymbol(level: string): string {\n const symbolMap: Record<string, string> = {\n ERROR: \"✖\",\n WARN: \"⚠\",\n INFO: \"ℹ\",\n DEBUG: \"⚙\",\n LOG: \"●\",\n SUCCESS: \"✔\",\n };\n\n return symbolMap[level.toUpperCase()] || \"●\";\n }\n\n private writeToConsole(config: WriteToConsoleConfig): void {\n const {\n level,\n message,\n date,\n data,\n stackTrace,\n showArrow = true,\n showTimestamp = true,\n showLevel = true,\n useSymbol = false,\n } = config;\n const normalizedLevel = level.endsWith(\"Exception\") ? \"ERROR\" : level;\n const color = this.getLevelColor(normalizedLevel);\n\n const now = date || new Date();\n const formattedTime = `${now.getFullYear()}-${String(now.getMonth() + 1).padStart(2, \"0\")}-${String(now.getDate()).padStart(2, \"0\")} ${String(now.getHours()).padStart(2, \"0\")}:${String(now.getMinutes()).padStart(2, \"0\")}:${String(now.getSeconds()).padStart(2, \"0\")}`;\n const timestamp = showTimestamp ? `${this.colorizeText(formattedTime, \"#B2BEB5\")} ` : \"\";\n const arrow = showArrow ? `${this.colorizeText(\"->\", color)} ` : \"\";\n const levelDisplay = useSymbol ? this.getLevelSymbol(normalizedLevel) : `[${level}]`;\n const colorizedLevel = showLevel ? `${this.colorizeText(levelDisplay, color)} ` : \"\";\n const colorizedMessage = this.colorizeText(message, color);\n\n let logMessage = `${arrow}${timestamp}${colorizedLevel}${colorizedMessage}`;\n\n if (data && Object.keys(data).length > 0) {\n const dataEntries = Object.entries(data)\n .filter(([key]) => key !== \"stackTrace\") // Exclude stackTrace from regular data display\n .map(([key, value]) => {\n const valueColor = typeof value === \"string\" ? \"#69E502\" : typeof value === \"number\" ? \"#FFE809\" : \"#D3D3D3\";\n const colorizedValue = this.colorizeText(String(value), valueColor);\n return `${this.colorizeText(key, \"#79B\")}: ${colorizedValue}`;\n });\n\n if (dataEntries.length > 0) {\n const colorizedData = dataEntries.join(\"\\n\");\n logMessage += `\\n${colorizedData}`;\n }\n }\n\n // Add formatted stack trace if available\n if (stackTrace && Array.isArray(stackTrace) && stackTrace.length > 0) {\n const stackHeader = this.colorizeText(\"Stack Trace:\", \"#FF6B6B\");\n logMessage += `\\n${stackHeader}`;\n\n stackTrace.forEach((frame, index) => {\n const frameNumber = this.colorizeText(` ${index + 1}.`, \"#B2BEB5\");\n const functionName = frame.functionName\n ? this.colorizeText(frame.functionName, \"#FFD93D\")\n : this.colorizeText(\"<anonymous>\", \"#8E8E93\");\n const fileName = frame.fileName ? this.colorizeText(frame.fileName, \"#6BCF7F\") : \"\";\n const lineCol = frame.lineNumber\n ? this.colorizeText(`:${frame.lineNumber}${frame.columnNumber ? `:${frame.columnNumber}` : \"\"}`, \"#B2BEB5\")\n : \"\";\n\n logMessage += `\\n${frameNumber} ${functionName}`;\n if (fileName) {\n logMessage += `\\n at ${fileName}${lineCol}`;\n }\n });\n }\n\n logMessage += \"\\n\";\n\n // Write to stderr for error levels, stdout for others\n if (level === \"FATAL\" || level === \"ERROR\") {\n process.stderr.write(`${logMessage}`);\n } else {\n process.stdout.write(`${logMessage}`);\n }\n }\n\n public async init(): Promise<void> {}\n\n public error(message: string | IException, data?: Record<string, ScalarType>, options?: LoggerOptionsType): void {\n if (typeof message === \"string\") {\n this.writeToConsole({\n level: \"ERROR\",\n message,\n ...(data && { data }),\n ...(options?.showArrow !== undefined && { showArrow: options.showArrow }),\n ...(options?.showTimestamp !== undefined && { showTimestamp: options.showTimestamp }),\n ...(options?.showLevel !== undefined && { showLevel: options.showLevel }),\n ...(options?.useSymbol !== undefined && { useSymbol: options.useSymbol }),\n });\n } else {\n // Handle IException object\n const exceptionData: Record<string, ScalarType> = {\n ...(message.data as Record<string, ScalarType>),\n ...(data as Record<string, ScalarType>),\n };\n\n if (message.status) {\n exceptionData.status = message.status;\n }\n\n // Get stack trace as structured data for better formatting\n const stackJson = message.stackToJson();\n this.writeToConsole({\n level: message.name,\n message: message.message,\n data: exceptionData,\n ...(stackJson && { stackTrace: stackJson }),\n date: message.date,\n ...(options?.showArrow !== undefined && { showArrow: options.showArrow }),\n ...(options?.showTimestamp !== undefined && { showTimestamp: options.showTimestamp }),\n ...(options?.showLevel !== undefined && { showLevel: options.showLevel }),\n ...(options?.useSymbol !== undefined && { useSymbol: options.useSymbol }),\n });\n }\n }\n\n public warn(message: string, data?: Record<string, ScalarType>, options?: LoggerOptionsType): void {\n this.writeToConsole({\n level: \"WARN\",\n message,\n ...(data && { data }),\n ...(options?.showArrow !== undefined && { showArrow: options.showArrow }),\n ...(options?.showTimestamp !== undefined && { showTimestamp: options.showTimestamp }),\n ...(options?.showLevel !== undefined && { showLevel: options.showLevel }),\n ...(options?.useSymbol !== undefined && { useSymbol: options.useSymbol }),\n });\n }\n\n public info(message: string, data?: Record<string, ScalarType>, options?: LoggerOptionsType): void {\n this.writeToConsole({\n level: \"INFO\",\n message,\n ...(data && { data }),\n ...(options?.showArrow !== undefined && { showArrow: options.showArrow }),\n ...(options?.showTimestamp !== undefined && { showTimestamp: options.showTimestamp }),\n ...(options?.showLevel !== undefined && { showLevel: options.showLevel }),\n ...(options?.useSymbol !== undefined && { useSymbol: options.useSymbol }),\n });\n }\n\n public debug(message: string, data?: Record<string, ScalarType>, options?: LoggerOptionsType): void {\n this.writeToConsole({\n level: \"DEBUG\",\n message,\n ...(data && { data }),\n ...(options?.showArrow !== undefined && { showArrow: options.showArrow }),\n ...(options?.showTimestamp !== undefined && { showTimestamp: options.showTimestamp }),\n ...(options?.showLevel !== undefined && { showLevel: options.showLevel }),\n ...(options?.useSymbol !== undefined && { useSymbol: options.useSymbol }),\n });\n }\n\n public log(message: string, data?: Record<string, ScalarType>, options?: LoggerOptionsType): void {\n this.writeToConsole({\n level: \"LOG\",\n message,\n ...(data && { data }),\n ...(options?.showArrow !== undefined && { showArrow: options.showArrow }),\n ...(options?.showTimestamp !== undefined && { showTimestamp: options.showTimestamp }),\n ...(options?.showLevel !== undefined && { showLevel: options.showLevel }),\n ...(options?.useSymbol !== undefined && { useSymbol: options.useSymbol }),\n });\n }\n\n public success(message: string, data?: Record<string, ScalarType>, options?: LoggerOptionsType): void {\n this.writeToConsole({\n level: \"SUCCESS\",\n message,\n ...(data && { data }),\n ...(options?.showArrow !== undefined && { showArrow: options.showArrow }),\n ...(options?.showTimestamp !== undefined && { showTimestamp: options.showTimestamp }),\n ...(options?.showLevel !== undefined && { showLevel: options.showLevel }),\n ...(options?.useSymbol !== undefined && { useSymbol: options.useSymbol }),\n });\n }\n}\n",
11
11
  "import type { IException } from \"@ooneex/exception\";\nimport type { HttpMethodType, ScalarType } from \"@ooneex/types\";\nimport type { LogsEntity } from \"./LogsEntity\";\n\nexport type LoggerClassType =\n | (new (\n ...args: unknown[]\n ) => ILogger)\n | (new (\n options?: Bun.SQL.SQLiteOptions,\n ) => ILogger<LogsEntity>);\n\nexport type LoggerOptionsType = {\n showArrow?: boolean;\n showTimestamp?: boolean;\n showLevel?: boolean;\n useSymbol?: boolean;\n};\n\nexport interface ILogger<Data = Record<string, ScalarType>> {\n init: () => Promise<void> | void;\n error: (message: string | IException, data?: Data, options?: LoggerOptionsType) => Promise<void> | void;\n warn: (message: string, data?: Data, options?: LoggerOptionsType) => Promise<void> | void;\n info: (message: string, data?: Data, options?: LoggerOptionsType) => Promise<void> | void;\n debug: (message: string, data?: Data, options?: LoggerOptionsType) => Promise<void> | void;\n log: (message: string, data?: Data, options?: LoggerOptionsType) => Promise<void> | void;\n success: (message: string, data?: Data, options?: LoggerOptionsType) => Promise<void> | void;\n}\n\nexport enum ELogLevel {\n ERROR = \"ERROR\",\n WARN = \"WARN\",\n INFO = \"INFO\",\n DEBUG = \"DEBUG\",\n LOG = \"LOG\",\n SUCCESS = \"SUCCESS\",\n}\n\nexport type LevelType = `${ELogLevel}`;\n\nexport type FindByCriteriaType = {\n level?: ELogLevel;\n userId?: string;\n email?: string;\n lastName?: string;\n firstName?: string;\n status?: number;\n exceptionName?: string;\n method?: HttpMethodType;\n path?: string;\n page?: number;\n limit?: number;\n};\n\nexport type FindByResultType = {\n logs: LogsEntity[];\n total: number;\n page: number;\n limit: number;\n totalPages: number;\n};\n"
12
12
  ],
13
- "mappings": "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",
14
- "debugId": "09267DB0F42C699464756E2164756E21",
13
+ "mappings": ";;AAAA;AAGO,IAAM,YAAY;AAAA,EACvB,QAAQ,CAAC,QAAyB,gBAAgB,cAAc;AAAA,IAC9D,OAAO,CAAC,WAAkC;AAAA,MACxC,UAAU,IAAI,QAAQ,KAAK;AAAA;AAAA;AAGjC;;ACTA;AAAA;AAEO,MAAM,aAAkC;AAAA,EACrC;AAAA,EACA;AAAA,EAER,WAAW,CAAC,SAAiC;AAAA,IAC3C,MAAM,WAAW,SAAS,YAAY,IAAI,IAAI,sBAAsB;AAAA,IAEpE,IAAI,CAAC,UAAU;AAAA,MACb,MAAM,IAAI,kBACR,yHACF;AAAA,IACF;AAAA,IAEA,KAAK,UAAU;AAAA,MACb,UAAU;AAAA,MACV,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,cAAc;AAAA,SACX;AAAA,MACH,SAAS;AAAA,IACX;AAAA;AAAA,EAGK,SAAS,GAAY;AAAA,IAC1B,IAAI,CAAC,KAAK,QAAQ;AAAA,MAChB,IAAI;AAAA,QACF,KAAK,SAAS,IAAI,IAAI,IAAI,KAAK,OAAO;AAAA,QACtC,OAAO,OAAO;AAAA,QACd,MAAM,IAAI,kBAAmB,MAAgB,OAAO;AAAA;AAAA,IAExD;AAAA,IAEA,OAAO,KAAK;AAAA;AAAA,OAGD,KAAI,GAAkB;AAAA,IACjC,KAAK,UAAU;AAAA;AAAA,OAGJ,YAAW,GAAkB;AAAA,IACxC,MAAM,MAAM,KAAK,UAAU;AAAA,IAE3B,IAAI;AAAA,MACF,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MAGN,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MA+BN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,OAAO,IAAI;AAAA,MACX,MAAM,IAAI,kBAAkB,wCAAwC;AAAA;AAAA;AAAA,OAI3D,UAAS,GAAkB;AAAA,IACtC,MAAM,MAAM,KAAK,UAAU;AAAA,IAE3B,IAAI;AAAA,MACF,MAAM;AAAA,MACN,OAAO,IAAI;AAAA,MACX,MAAM,IAAI,kBAAkB,2BAA2B;AAAA;AAAA;AAAA,OAI9C,MAAK,GAAkB;AAAA,IAClC,IAAI;AAAA,MACF,MAAM,KAAK,QAAQ,MAAM;AAAA,MACzB,KAAK,SAAS;AAAA,MACd,OAAO,IAAI;AAAA,MACX,MAAM,IAAI,kBAAkB,yCAAyC;AAAA;AAAA;AAAA,OAI5D,KAAI,GAAkB;AACrC;;AC1GO,MAAM,WAAW;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA,OAAa,IAAI;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;;ACxBA;AACA;AACA;AAAA;AA2BO,MAAM,eAAe;AAAA,EACN;AAAA,EAApB,WAAW,CAAS,IAAkB;AAAA,IAAlB;AAAA;AAAA,OAEP,OAAM,CAAC,KAAsC;AAAA,IACxD,MAAM,SAAS,KAAK,GAAG,UAAU;AAAA,IAEjC,MAAM,OAAO;AAAA,SACR;AAAA,MACH,IAAI,OAAO,OAAO,EAAE;AAAA,MACpB,MAAM,IAAI,KAAK,YAAY;AAAA,MAC3B,YAAY,IAAI,aAAa,UAAU,IAAI,UAAU,IAAI;AAAA,MACzD,QAAQ,IAAI,SAAS,UAAU,IAAI,MAAM,IAAI;AAAA,MAC7C,SAAS,IAAI,UAAU,UAAU,IAAI,OAAO,IAAI;AAAA,MAChD,SAAS,IAAI,UAAU,UAAU,IAAI,OAAO,IAAI;AAAA,IAClD;AAAA,IAEA,OAAO,UAAU,MAAM;AAAA,yBACF,IAAI,IAAI;AAAA;AAAA;AAAA,IAI7B,MAAM,KAAK,GAAG,MAAM;AAAA,IAEpB,OAAO;AAAA;AAAA,OAGI,KAAI,CAAC,IAAwC;AAAA,IACxD,MAAM,SAAS,KAAK,GAAG,UAAU;AAAA,IAEjC,OAAO,OAAO,MAAM;AAAA;AAAA,mBAEL;AAAA;AAAA;AAAA,IAIf,IAAI,CAAC,KAAK;AAAA,MACR,MAAM,KAAK,GAAG,MAAM;AAAA,MACpB,OAAO;AAAA,IACT;AAAA,IAEA,MAAM,SAAS;AAAA,SACV;AAAA,MACH,MAAM,IAAI,KAAK,IAAI,IAAI;AAAA,MACvB,YAAY,IAAI,aAAa,YAAY,IAAI,UAAU,IAAI;AAAA,MAC3D,QAAQ,IAAI,SAAS,YAAY,IAAI,MAAM,IAAI;AAAA,MAC/C,SAAS,IAAI,UAAU,YAAY,IAAI,OAAO,IAAI;AAAA,MAClD,SAAS,IAAI,UAAU,YAAY,IAAI,OAAO,IAAI;AAAA,IACpD;AAAA,IAEA,MAAM,KAAK,GAAG,MAAM;AAAA,IAEpB,OAAO;AAAA;AAAA,OAGI,OAAM,CAAC,UAAyD;AAAA,IAC3E,MAAM,SAAS,KAAK,GAAG,UAAU;AAAA,IAGjC,MAAM,kBAA6B,CAAC;AAAA,IAEpC,IAAI,SAAS,UAAU,WAAW;AAAA,MAChC,gBAAgB,KAAK,cAAc,SAAS,OAAO;AAAA,IACrD;AAAA,IAEA,IAAI,SAAS,WAAW,WAAW;AAAA,MACjC,gBAAgB,KAAK,eAAe,SAAS,QAAQ;AAAA,IACvD;AAAA,IAEA,IAAI,SAAS,UAAU,WAAW;AAAA,MAChC,gBAAgB,KAAK,cAAc,SAAS,OAAO;AAAA,IACrD;AAAA,IAEA,IAAI,SAAS,aAAa,WAAW;AAAA,MACnC,gBAAgB,KAAK,iBAAiB,SAAS,UAAU;AAAA,IAC3D;AAAA,IAEA,IAAI,SAAS,cAAc,WAAW;AAAA,MACpC,gBAAgB,KAAK,kBAAkB,SAAS,WAAW;AAAA,IAC7D;AAAA,IAEA,IAAI,SAAS,WAAW,WAAW;AAAA,MACjC,gBAAgB,KAAK,eAAe,SAAS,QAAQ;AAAA,IACvD;AAAA,IAEA,IAAI,SAAS,kBAAkB,WAAW;AAAA,MACxC,gBAAgB,KAAK,sBAAsB,SAAS,eAAe;AAAA,IACrE;AAAA,IAEA,IAAI,SAAS,WAAW,WAAW;AAAA,MACjC,gBAAgB,KAAK,eAAe,SAAS,QAAQ;AAAA,IACvD;AAAA,IAEA,IAAI,SAAS,SAAS,WAAW;AAAA,MAC/B,gBAAgB,KAAK,aAAa,SAAS,MAAM;AAAA,IACnD;AAAA,IAGA,MAAM,QAAQ,SAAS,SAAS;AAAA,IAChC,MAAM,OAAO,SAAS,QAAQ;AAAA,IAC9B,MAAM,UAAU,OAAO,KAAK;AAAA,IAG5B,IAAI,gBAAgB,WAAW,GAAG;AAAA,MAChC,OAAO,gBAAe,MAAM;AAAA,MAC5B,MAAM,QAAO,MAAM;AAAA;AAAA;AAAA,gBAGT;AAAA,iBACC;AAAA;AAAA,MAGX,MAAM,mBAAkB,MAAK,IAAI,CAAC,SAA2B;AAAA,WACxD;AAAA,QACH,MAAM,IAAI,KAAK,IAAI,IAAI;AAAA,QACvB,YAAY,IAAI,aAAa,YAAY,IAAI,UAAU,IAAI;AAAA,QAC3D,QAAQ,IAAI,SAAS,YAAY,IAAI,MAAM,IAAI;AAAA,QAC/C,SAAS,IAAI,UAAU,YAAY,IAAI,OAAO,IAAI;AAAA,QAClD,SAAS,IAAI,UAAU,YAAY,IAAI,OAAO,IAAI;AAAA,MACpD,EAAE;AAAA,MAEF,MAAM,SAAQ,aAAY;AAAA,MAC1B,MAAM,cAAa,KAAK,KAAK,SAAQ,KAAK;AAAA,MAE1C,MAAM,UAAS;AAAA,QACb,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MAEA,MAAM,KAAK,GAAG,MAAM;AAAA,MAEpB,OAAO;AAAA,IACT;AAAA,IAGA,MAAM,cAAc,gBAAgB,OAAO,CAAC,KAAK,WAAW,UAAU;AAAA,MACpE,IAAI,UAAU,GAAG;AAAA,QACf,OAAO;AAAA,MACT;AAAA,MACA,OAAO,MAAM,WAAW;AAAA,KACzB;AAAA,IAGD,OAAO,eAAe,MAAM;AAAA;AAAA;AAAA,cAGlB;AAAA;AAAA,IAIV,MAAM,OAAO,MAAM;AAAA;AAAA,cAET;AAAA;AAAA,cAEA;AAAA,eACC;AAAA;AAAA,IAIX,MAAM,kBAAkB,KAAK,IAAI,CAAC,SAA2B;AAAA,SACxD;AAAA,MACH,MAAM,IAAI,KAAK,IAAI,IAAI;AAAA,MACvB,QAAQ,IAAI,SAAS,YAAY,IAAI,MAAM,IAAI;AAAA,MAC/C,SAAS,IAAI,UAAU,YAAY,IAAI,OAAO,IAAI;AAAA,MAClD,SAAS,IAAI,UAAU,YAAY,IAAI,OAAO,IAAI;AAAA,IACpD,EAAE;AAAA,IAEF,MAAM,QAAQ,YAAY;AAAA,IAC1B,MAAM,aAAa,KAAK,KAAK,QAAQ,KAAK;AAAA,IAE1C,MAAM,SAAS;AAAA,MACb,MAAM;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IAEA,MAAM,KAAK,GAAG,MAAM;AAAA,IAEpB,OAAO;AAAA;AAEX;;AC/MO,MAAM,aAA4C;AAAA,EAC/C;AAAA,EACA;AAAA,EAER,WAAW,CAAC,SAAiC;AAAA,IAC3C,KAAK,KAAK,IAAI,aAAa,OAAO;AAAA,IAClC,KAAK,aAAa,IAAI,eAAe,KAAK,EAAE;AAAA;AAAA,OAGjC,KAAI,GAAkB;AAAA,IACjC,MAAM,KAAK,GAAG,KAAK;AAAA,IACnB,MAAM,KAAK,GAAG,YAAY;AAAA;AAAA,EAGrB,KAAK,CAAC,SAA8B,MAAyB;AAAA,IAClE,IAAI,OAAO,YAAY,UAAU;AAAA,MAC/B,KAAK,SAAS,SAAS;AAAA,QACrB;AAAA,WACI,QAAQ,EAAE,KAAK;AAAA,MACrB,CAAC;AAAA,IACH,EAAO;AAAA,MACL,KAAK,SAAS,SAAS;AAAA,QACrB,WAAW;AAAA,MACb,CAAC;AAAA;AAAA;AAAA,EAIE,IAAI,CAAC,SAAiB,MAAyB;AAAA,IACpD,KAAK,SAAS,QAAQ;AAAA,MACpB;AAAA,SACI,QAAQ,EAAE,KAAK;AAAA,IACrB,CAAC;AAAA;AAAA,EAGI,IAAI,CAAC,SAAiB,MAAyB;AAAA,IACpD,KAAK,SAAS,QAAQ;AAAA,MACpB;AAAA,SACI,QAAQ,EAAE,KAAK;AAAA,IACrB,CAAC;AAAA;AAAA,EAGI,KAAK,CAAC,SAAiB,MAAyB;AAAA,IACrD,KAAK,SAAS,SAAS;AAAA,MACrB;AAAA,SACI,QAAQ,EAAE,KAAK;AAAA,IACrB,CAAC;AAAA;AAAA,EAGI,GAAG,CAAC,SAAiB,MAAyB;AAAA,IACnD,KAAK,SAAS,OAAO;AAAA,MACnB;AAAA,SACI,QAAQ,EAAE,KAAK;AAAA,IACrB,CAAC;AAAA;AAAA,EAGI,OAAO,CAAC,SAAiB,MAAyB;AAAA,IACvD,KAAK,SAAS,WAAW;AAAA,MACvB;AAAA,SACI,QAAQ,EAAE,KAAK;AAAA,IACrB,CAAC;AAAA;AAAA,EAGK,QAAQ,CACd,OACA,QAKM;AAAA,IACN,QAAQ,SAAS,MAAM,cAAc,UAAU,CAAC;AAAA,IAEhD,MAAM,WAAW,IAAI;AAAA,IACrB,SAAS,QAAQ;AAAA,IACjB,IAAI;AAAA,MAAS,SAAS,UAAU;AAAA,IAC3B,SAAI,WAAW;AAAA,MAAS,SAAS,UAAU,UAAU;AAAA,IAC1D,SAAS,OAAO,WAAW,QAAQ,IAAI;AAAA,IACvC,IAAI,MAAM,WAAW;AAAA,MAAW,SAAS,SAAS,KAAK;AAAA,IACvD,IAAI,MAAM,UAAU;AAAA,MAAW,SAAS,QAAQ,KAAK;AAAA,IACrD,IAAI,MAAM,aAAa;AAAA,MAAW,SAAS,WAAW,KAAK;AAAA,IAC3D,IAAI,MAAM,cAAc;AAAA,MAAW,SAAS,YAAY,KAAK;AAAA,IAC7D,IAAI,WAAW,WAAW,WAAW;AAAA,MACnC,SAAS,SAAS,UAAU;AAAA,IAC9B,EAAO,SAAI,MAAM,WAAW,WAAW;AAAA,MACrC,SAAS,SAAS,KAAK;AAAA,IACzB;AAAA,IACA,IAAI,WAAW,SAAS;AAAA,MAAW,SAAS,gBAAgB,UAAU;AAAA,IACtE,MAAM,aAAa,WAAW,YAAY;AAAA,IAC1C,IAAI,eAAe,aAAa,eAAe;AAAA,MAAM,SAAS,aAAa;AAAA,IAC3E,IAAI,MAAM,OAAO;AAAA,MAAW,SAAS,KAAK,KAAK;AAAA,IAC/C,IAAI,MAAM,WAAW;AAAA,MAAW,SAAS,SAAS,KAAK;AAAA,IACvD,IAAI,MAAM,SAAS;AAAA,MAAW,SAAS,OAAO,KAAK;AAAA,IACnD,IAAI,MAAM,cAAc;AAAA,MAAW,SAAS,YAAY,KAAK;AAAA,IAC7D,IAAI,MAAM,YAAY;AAAA,MAAW,SAAS,UAAU,KAAK;AAAA,IACzD,IAAI,MAAM,WAAW;AAAA,MAAW,SAAS,SAAS,KAAK;AAAA,IACvD,IAAI,MAAM,YAAY;AAAA,MAAW,SAAS,UAAU,KAAK;AAAA,IACzD,IAAI,MAAM,YAAY;AAAA,MAAW,SAAS,UAAU,KAAK;AAAA,IAGzD,KAAK,WAAW,OAAO,QAAQ;AAAA;AAEnC;;AC3FO,MAAM,eAAkC;AAAA,EACrC,YAAY,CAAC,MAAc,OAAuB;AAAA,IACxD,MAAM,YAAY,IAAI,MAAM,OAAO,MAAM;AAAA,IACzC,MAAM,YAAY;AAAA,IAClB,OAAO,YAAY,GAAG,YAAY,OAAO,cAAc;AAAA;AAAA,EAGjD,aAAa,CAAC,OAAuB;AAAA,IAC3C,MAAM,WAAmC;AAAA,MACvC,OAAO;AAAA,MACP,MAAM;AAAA,MACN,MAAM;AAAA,MACN,OAAO;AAAA,MACP,KAAK;AAAA,MACL,SAAS;AAAA,IACX;AAAA,IAEA,OAAO,SAAS,MAAM,YAAY,MAAM;AAAA;AAAA,EAGlC,cAAc,CAAC,OAAuB;AAAA,IAC5C,MAAM,YAAoC;AAAA,MACxC,OAAO;AAAA,MACP,MAAM;AAAA,MACN,MAAM;AAAA,MACN,OAAO;AAAA,MACP,KAAK;AAAA,MACL,SAAS;AAAA,IACX;AAAA,IAEA,OAAO,UAAU,MAAM,YAAY,MAAM;AAAA;AAAA,EAGnC,cAAc,CAAC,QAAoC;AAAA,IACzD;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,YAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,YAAY;AAAA,MACZ,YAAY;AAAA,QACV;AAAA,IACJ,MAAM,kBAAkB,MAAM,SAAS,WAAW,IAAI,UAAU;AAAA,IAChE,MAAM,QAAQ,KAAK,cAAc,eAAe;AAAA,IAEhD,MAAM,MAAM,QAAQ,IAAI;AAAA,IACxB,MAAM,gBAAgB,GAAG,IAAI,YAAY,KAAK,OAAO,IAAI,SAAS,IAAI,CAAC,EAAE,SAAS,GAAG,GAAG,KAAK,OAAO,IAAI,QAAQ,CAAC,EAAE,SAAS,GAAG,GAAG,KAAK,OAAO,IAAI,SAAS,CAAC,EAAE,SAAS,GAAG,GAAG,KAAK,OAAO,IAAI,WAAW,CAAC,EAAE,SAAS,GAAG,GAAG,KAAK,OAAO,IAAI,WAAW,CAAC,EAAE,SAAS,GAAG,GAAG;AAAA,IACvQ,MAAM,YAAY,gBAAgB,GAAG,KAAK,aAAa,eAAe,SAAS,OAAO;AAAA,IACtF,MAAM,QAAQ,YAAY,GAAG,KAAK,aAAa,MAAM,KAAK,OAAO;AAAA,IACjE,MAAM,eAAe,YAAY,KAAK,eAAe,eAAe,IAAI,IAAI;AAAA,IAC5E,MAAM,iBAAiB,YAAY,GAAG,KAAK,aAAa,cAAc,KAAK,OAAO;AAAA,IAClF,MAAM,mBAAmB,KAAK,aAAa,SAAS,KAAK;AAAA,IAEzD,IAAI,aAAa,GAAG,QAAQ,YAAY,iBAAiB;AAAA,IAEzD,IAAI,QAAQ,OAAO,KAAK,IAAI,EAAE,SAAS,GAAG;AAAA,MACxC,MAAM,cAAc,OAAO,QAAQ,IAAI,EACpC,OAAO,EAAE,SAAS,QAAQ,YAAY,EACtC,IAAI,EAAE,KAAK,WAAW;AAAA,QACrB,MAAM,aAAa,OAAO,UAAU,WAAW,YAAY,OAAO,UAAU,WAAW,YAAY;AAAA,QACnG,MAAM,iBAAiB,KAAK,aAAa,OAAO,KAAK,GAAG,UAAU;AAAA,QAClE,OAAO,GAAG,KAAK,aAAa,KAAK,MAAM,MAAM;AAAA,OAC9C;AAAA,MAEH,IAAI,YAAY,SAAS,GAAG;AAAA,QAC1B,MAAM,gBAAgB,YAAY,KAAK;AAAA,CAAI;AAAA,QAC3C,cAAc;AAAA,EAAK;AAAA,MACrB;AAAA,IACF;AAAA,IAGA,IAAI,cAAc,MAAM,QAAQ,UAAU,KAAK,WAAW,SAAS,GAAG;AAAA,MACpE,MAAM,cAAc,KAAK,aAAa,gBAAgB,SAAS;AAAA,MAC/D,cAAc;AAAA,EAAK;AAAA,MAEnB,WAAW,QAAQ,CAAC,OAAO,UAAU;AAAA,QACnC,MAAM,cAAc,KAAK,aAAa,KAAK,QAAQ,MAAM,SAAS;AAAA,QAClE,MAAM,eAAe,MAAM,eACvB,KAAK,aAAa,MAAM,cAAc,SAAS,IAC/C,KAAK,aAAa,eAAe,SAAS;AAAA,QAC9C,MAAM,WAAW,MAAM,WAAW,KAAK,aAAa,MAAM,UAAU,SAAS,IAAI;AAAA,QACjF,MAAM,UAAU,MAAM,aAClB,KAAK,aAAa,IAAI,MAAM,aAAa,MAAM,eAAe,IAAI,MAAM,iBAAiB,MAAM,SAAS,IACxG;AAAA,QAEJ,cAAc;AAAA,EAAK,eAAe;AAAA,QAClC,IAAI,UAAU;AAAA,UACZ,cAAc;AAAA,WAAc,WAAW;AAAA,QACzC;AAAA,OACD;AAAA,IACH;AAAA,IAEA,cAAc;AAAA;AAAA,IAGd,IAAI,UAAU,WAAW,UAAU,SAAS;AAAA,MAC1C,QAAQ,OAAO,MAAM,GAAG,YAAY;AAAA,IACtC,EAAO;AAAA,MACL,QAAQ,OAAO,MAAM,GAAG,YAAY;AAAA;AAAA;AAAA,OAI3B,KAAI,GAAkB;AAAA,EAE5B,KAAK,CAAC,SAA8B,MAAmC,SAAmC;AAAA,IAC/G,IAAI,OAAO,YAAY,UAAU;AAAA,MAC/B,KAAK,eAAe;AAAA,QAClB,OAAO;AAAA,QACP;AAAA,WACI,QAAQ,EAAE,KAAK;AAAA,WACf,SAAS,cAAc,aAAa,EAAE,WAAW,QAAQ,UAAU;AAAA,WACnE,SAAS,kBAAkB,aAAa,EAAE,eAAe,QAAQ,cAAc;AAAA,WAC/E,SAAS,cAAc,aAAa,EAAE,WAAW,QAAQ,UAAU;AAAA,WACnE,SAAS,cAAc,aAAa,EAAE,WAAW,QAAQ,UAAU;AAAA,MACzE,CAAC;AAAA,IACH,EAAO;AAAA,MAEL,MAAM,gBAA4C;AAAA,WAC5C,QAAQ;AAAA,WACR;AAAA,MACN;AAAA,MAEA,IAAI,QAAQ,QAAQ;AAAA,QAClB,cAAc,SAAS,QAAQ;AAAA,MACjC;AAAA,MAGA,MAAM,YAAY,QAAQ,YAAY;AAAA,MACtC,KAAK,eAAe;AAAA,QAClB,OAAO,QAAQ;AAAA,QACf,SAAS,QAAQ;AAAA,QACjB,MAAM;AAAA,WACF,aAAa,EAAE,YAAY,UAAU;AAAA,QACzC,MAAM,QAAQ;AAAA,WACV,SAAS,cAAc,aAAa,EAAE,WAAW,QAAQ,UAAU;AAAA,WACnE,SAAS,kBAAkB,aAAa,EAAE,eAAe,QAAQ,cAAc;AAAA,WAC/E,SAAS,cAAc,aAAa,EAAE,WAAW,QAAQ,UAAU;AAAA,WACnE,SAAS,cAAc,aAAa,EAAE,WAAW,QAAQ,UAAU;AAAA,MACzE,CAAC;AAAA;AAAA;AAAA,EAIE,IAAI,CAAC,SAAiB,MAAmC,SAAmC;AAAA,IACjG,KAAK,eAAe;AAAA,MAClB,OAAO;AAAA,MACP;AAAA,SACI,QAAQ,EAAE,KAAK;AAAA,SACf,SAAS,cAAc,aAAa,EAAE,WAAW,QAAQ,UAAU;AAAA,SACnE,SAAS,kBAAkB,aAAa,EAAE,eAAe,QAAQ,cAAc;AAAA,SAC/E,SAAS,cAAc,aAAa,EAAE,WAAW,QAAQ,UAAU;AAAA,SACnE,SAAS,cAAc,aAAa,EAAE,WAAW,QAAQ,UAAU;AAAA,IACzE,CAAC;AAAA;AAAA,EAGI,IAAI,CAAC,SAAiB,MAAmC,SAAmC;AAAA,IACjG,KAAK,eAAe;AAAA,MAClB,OAAO;AAAA,MACP;AAAA,SACI,QAAQ,EAAE,KAAK;AAAA,SACf,SAAS,cAAc,aAAa,EAAE,WAAW,QAAQ,UAAU;AAAA,SACnE,SAAS,kBAAkB,aAAa,EAAE,eAAe,QAAQ,cAAc;AAAA,SAC/E,SAAS,cAAc,aAAa,EAAE,WAAW,QAAQ,UAAU;AAAA,SACnE,SAAS,cAAc,aAAa,EAAE,WAAW,QAAQ,UAAU;AAAA,IACzE,CAAC;AAAA;AAAA,EAGI,KAAK,CAAC,SAAiB,MAAmC,SAAmC;AAAA,IAClG,KAAK,eAAe;AAAA,MAClB,OAAO;AAAA,MACP;AAAA,SACI,QAAQ,EAAE,KAAK;AAAA,SACf,SAAS,cAAc,aAAa,EAAE,WAAW,QAAQ,UAAU;AAAA,SACnE,SAAS,kBAAkB,aAAa,EAAE,eAAe,QAAQ,cAAc;AAAA,SAC/E,SAAS,cAAc,aAAa,EAAE,WAAW,QAAQ,UAAU;AAAA,SACnE,SAAS,cAAc,aAAa,EAAE,WAAW,QAAQ,UAAU;AAAA,IACzE,CAAC;AAAA;AAAA,EAGI,GAAG,CAAC,SAAiB,MAAmC,SAAmC;AAAA,IAChG,KAAK,eAAe;AAAA,MAClB,OAAO;AAAA,MACP;AAAA,SACI,QAAQ,EAAE,KAAK;AAAA,SACf,SAAS,cAAc,aAAa,EAAE,WAAW,QAAQ,UAAU;AAAA,SACnE,SAAS,kBAAkB,aAAa,EAAE,eAAe,QAAQ,cAAc;AAAA,SAC/E,SAAS,cAAc,aAAa,EAAE,WAAW,QAAQ,UAAU;AAAA,SACnE,SAAS,cAAc,aAAa,EAAE,WAAW,QAAQ,UAAU;AAAA,IACzE,CAAC;AAAA;AAAA,EAGI,OAAO,CAAC,SAAiB,MAAmC,SAAmC;AAAA,IACpG,KAAK,eAAe;AAAA,MAClB,OAAO;AAAA,MACP;AAAA,SACI,QAAQ,EAAE,KAAK;AAAA,SACf,SAAS,cAAc,aAAa,EAAE,WAAW,QAAQ,UAAU;AAAA,SACnE,SAAS,kBAAkB,aAAa,EAAE,eAAe,QAAQ,cAAc;AAAA,SAC/E,SAAS,cAAc,aAAa,EAAE,WAAW,QAAQ,UAAU;AAAA,SACnE,SAAS,cAAc,aAAa,EAAE,WAAW,QAAQ,UAAU;AAAA,IACzE,CAAC;AAAA;AAEL;;AC/LO,IAAK;AAAA,CAAL,CAAK,eAAL;AAAA,EACL,sBAAQ;AAAA,EACR,qBAAO;AAAA,EACP,qBAAO;AAAA,EACP,sBAAQ;AAAA,EACR,oBAAM;AAAA,EACN,wBAAU;AAAA,GANA;",
14
+ "debugId": "1274AEB5C3F8388D64756E2164756E21",
15
15
  "names": []
16
16
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ooneex/logger",
3
3
  "description": "Structured logging service with console and database output support, container integration, and customizable log levels",
4
- "version": "0.10.0",
4
+ "version": "0.12.0",
5
5
  "type": "module",
6
6
  "files": [
7
7
  "dist",
@@ -28,13 +28,13 @@
28
28
  "npm:publish": "bun publish --tolerate-republish --access public"
29
29
  },
30
30
  "dependencies": {
31
- "@ooneex/container": "0.0.11",
32
- "@ooneex/database": "0.0.10",
31
+ "@ooneex/container": "0.0.12",
32
+ "@ooneex/database": "0.0.11",
33
33
  "@ooneex/utils": "0.1.0"
34
34
  },
35
35
  "devDependencies": {
36
- "@ooneex/exception": "0.0.10",
37
- "@ooneex/types": "0.0.10"
36
+ "@ooneex/exception": "0.0.11",
37
+ "@ooneex/types": "0.0.11"
38
38
  },
39
39
  "keywords": [
40
40
  "bun",