@abbacchio/transport 0.1.5 → 0.2.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/client.js CHANGED
@@ -1,180 +1,459 @@
1
1
  import { encrypt } from "./encrypt.js";
2
2
  /**
3
- * Shared HTTP client for all Abbacchio transports.
4
- * Handles batching, encryption, and HTTP communication.
3
+ * OTLP severity numbers per OpenTelemetry spec.
4
+ * https://opentelemetry.io/docs/specs/otel/logs/data-model/#severity-fields
5
+ */
6
+ const PINO_TO_OTLP_SEVERITY = {
7
+ 10: { number: 1, text: 'TRACE' },
8
+ 20: { number: 5, text: 'DEBUG' },
9
+ 30: { number: 9, text: 'INFO' },
10
+ 40: { number: 13, text: 'WARN' },
11
+ 50: { number: 17, text: 'ERROR' },
12
+ 60: { number: 21, text: 'FATAL' },
13
+ };
14
+ /**
15
+ * Convert a flat Record to OTLP KeyValue[] attributes.
16
+ */
17
+ function toOtlpAttributes(obj) {
18
+ const attrs = [];
19
+ for (const [key, val] of Object.entries(obj)) {
20
+ if (val === undefined || val === null)
21
+ continue;
22
+ attrs.push({ key, value: toOtlpAnyValue(val) });
23
+ }
24
+ return attrs;
25
+ }
26
+ function toOtlpAnyValue(val) {
27
+ if (typeof val === 'string')
28
+ return { stringValue: val };
29
+ if (typeof val === 'number') {
30
+ return Number.isInteger(val) ? { intValue: val } : { doubleValue: val };
31
+ }
32
+ if (typeof val === 'boolean')
33
+ return { boolValue: val };
34
+ return { stringValue: String(val) };
35
+ }
36
+ /**
37
+ * OTLP-native HTTP client for Abbacchio.
38
+ * Sends logs to POST /v1/logs, metrics to POST /v1/metrics, traces to POST /v1/traces.
5
39
  */
6
40
  export class AbbacchioClient {
7
- url;
41
+ endpoint;
8
42
  secretKey;
9
- channel;
10
- namespace;
43
+ serviceName;
44
+ resourceAttributes;
11
45
  batchSize;
12
46
  interval;
13
47
  headers;
14
48
  enabled;
15
- buffer = [];
16
- timer = null;
49
+ logBuffer = [];
50
+ metricBuffer = [];
51
+ histogramBuffer = [];
52
+ spanBuffer = [];
53
+ logTimer = null;
54
+ metricTimer = null;
55
+ histogramTimer = null;
56
+ spanTimer = null;
17
57
  constructor(options = {}) {
18
- this.url = options.url || "http://localhost:4000/api/logs";
58
+ // Support legacy `url` option: if it looks like a full URL with path, strip the path
59
+ if (options.url && !options.endpoint) {
60
+ try {
61
+ const u = new URL(options.url);
62
+ this.endpoint = `${u.protocol}//${u.host}`;
63
+ }
64
+ catch {
65
+ this.endpoint = options.url;
66
+ }
67
+ }
68
+ else {
69
+ this.endpoint = options.endpoint || 'http://localhost:4002';
70
+ }
19
71
  this.secretKey = options.secretKey;
20
- this.channel = options.channel;
21
- this.namespace = options.namespace;
72
+ this.serviceName = options.serviceName || 'default';
73
+ this.resourceAttributes = options.resourceAttributes || {};
22
74
  this.batchSize = options.batchSize || 10;
23
75
  this.interval = options.interval || 1000;
24
76
  this.headers = options.headers || {};
25
77
  this.enabled = options.enabled ?? true;
26
78
  }
27
- /**
28
- * Change the channel dynamically after initialization
29
- */
30
- setChannel(channel) {
31
- this.channel = channel;
32
- }
33
- /**
34
- * Get the current channel
35
- */
36
- getChannel() {
37
- return this.channel;
38
- }
39
- /**
40
- * Change the namespace dynamically after initialization
41
- */
42
- setNamespace(namespace) {
43
- this.namespace = namespace;
44
- }
45
- /**
46
- * Get the current namespace
47
- */
48
- getNamespace() {
49
- return this.namespace;
50
- }
51
- /**
52
- * Enable sending logs to the server
53
- */
79
+ /** Change the service name dynamically */
80
+ setServiceName(name) {
81
+ this.serviceName = name;
82
+ }
83
+ /** Get the current service name */
84
+ getServiceName() {
85
+ return this.serviceName;
86
+ }
87
+ /** Enable sending data to the server */
54
88
  enable() {
55
89
  this.enabled = true;
56
90
  }
57
- /**
58
- * Disable sending logs to the server. Logs will be silently dropped.
59
- */
91
+ /** Disable sending data to the server. Data will be silently dropped. */
60
92
  disable() {
61
93
  this.enabled = false;
62
94
  }
63
- /**
64
- * Check if the client is currently enabled
65
- */
95
+ /** Check if the client is currently enabled */
66
96
  isEnabled() {
67
97
  return this.enabled;
68
98
  }
69
- /**
70
- * Process a log entry: inject default namespace, then encrypt if needed
71
- */
72
- processLog(log) {
73
- let processed = log;
74
- if (this.namespace && typeof processed === 'object' && processed !== null) {
75
- const obj = processed;
76
- if (!obj.namespace && !obj.name) {
77
- processed = { ...obj, namespace: this.namespace };
78
- }
79
- }
80
- if (this.secretKey) {
81
- return { encrypted: encrypt(JSON.stringify(processed), this.secretKey) };
82
- }
83
- return processed;
84
- }
85
- /**
86
- * Add a log to the buffer and trigger send if needed
87
- */
99
+ // ─── Logs ──────────────────────────────────────────
100
+ /** Add a log record to the buffer */
88
101
  add(log) {
89
102
  if (!this.enabled)
90
103
  return;
91
- this.buffer.push(this.processLog(log));
92
- if (this.buffer.length >= this.batchSize) {
93
- this.flush();
104
+ this.logBuffer.push(log);
105
+ if (this.logBuffer.length >= this.batchSize) {
106
+ this.flushLogs();
94
107
  }
95
108
  else {
96
- this.scheduleSend();
109
+ this.scheduleLogFlush();
97
110
  }
98
111
  }
99
- /**
100
- * Add multiple logs at once
101
- */
112
+ /** Add multiple log records at once */
102
113
  addBatch(logs) {
103
114
  if (!this.enabled)
104
115
  return;
105
116
  for (const log of logs) {
106
- this.buffer.push(this.processLog(log));
117
+ this.logBuffer.push(log);
107
118
  }
108
- if (this.buffer.length >= this.batchSize) {
109
- this.flush();
119
+ if (this.logBuffer.length >= this.batchSize) {
120
+ this.flushLogs();
110
121
  }
111
122
  else {
112
- this.scheduleSend();
123
+ this.scheduleLogFlush();
113
124
  }
114
125
  }
115
- /**
116
- * Send logs immediately without batching
117
- */
126
+ /** Send logs immediately without batching */
118
127
  async send(logs) {
119
128
  if (!this.enabled)
120
129
  return;
121
- const processedLogs = logs.map(log => this.processLog(log));
122
- await this.sendToServer(processedLogs);
123
- }
124
- /**
125
- * Schedule a send after the interval
126
- */
127
- scheduleSend() {
128
- if (this.timer)
130
+ await this.sendLogs(logs);
131
+ }
132
+ scheduleLogFlush() {
133
+ if (this.logTimer)
134
+ return;
135
+ this.logTimer = setTimeout(() => {
136
+ this.logTimer = null;
137
+ this.flushLogs();
138
+ }, this.interval);
139
+ }
140
+ async flushLogs() {
141
+ if (this.logBuffer.length === 0)
142
+ return;
143
+ const batch = this.logBuffer;
144
+ this.logBuffer = [];
145
+ await this.sendLogs(batch);
146
+ }
147
+ async sendLogs(logs) {
148
+ const logRecords = logs.map((log) => {
149
+ const { level, msg, message, time, ...extra } = log;
150
+ const pinoLevel = typeof level === 'number' ? level : 30;
151
+ const severity = PINO_TO_OTLP_SEVERITY[pinoLevel] || PINO_TO_OTLP_SEVERITY[30];
152
+ const body = msg || message || '';
153
+ const timeNano = String((time || Date.now()) * 1_000_000);
154
+ return {
155
+ timeUnixNano: timeNano,
156
+ observedTimeUnixNano: timeNano,
157
+ severityNumber: severity.number,
158
+ severityText: severity.text,
159
+ body: { stringValue: String(body) },
160
+ attributes: toOtlpAttributes(extra),
161
+ };
162
+ });
163
+ const payload = {
164
+ resourceLogs: [{
165
+ resource: { attributes: this.buildResourceAttributes() },
166
+ scopeLogs: [{
167
+ scope: { name: '@abbacchio/transport' },
168
+ logRecords,
169
+ }],
170
+ }],
171
+ };
172
+ await this.post('/v1/logs', payload);
173
+ }
174
+ // ─── Metrics ───────────────────────────────────────
175
+ /** Add a metric data point to the buffer */
176
+ addMetric(metric) {
177
+ if (!this.enabled)
178
+ return;
179
+ this.metricBuffer.push(metric);
180
+ if (this.metricBuffer.length >= this.batchSize) {
181
+ this.flushMetrics();
182
+ }
183
+ else {
184
+ this.scheduleMetricFlush();
185
+ }
186
+ }
187
+ scheduleMetricFlush() {
188
+ if (this.metricTimer)
129
189
  return;
130
- this.timer = setTimeout(() => {
131
- this.timer = null;
132
- this.flush();
190
+ this.metricTimer = setTimeout(() => {
191
+ this.metricTimer = null;
192
+ this.flushMetrics();
133
193
  }, this.interval);
134
194
  }
135
- /**
136
- * Flush the buffer and send to server
137
- */
138
- async flush() {
139
- if (this.buffer.length === 0)
195
+ async flushMetrics() {
196
+ if (this.metricBuffer.length === 0)
140
197
  return;
141
- const toSend = this.buffer;
142
- this.buffer = [];
143
- await this.sendToServer(toSend);
144
- }
145
- /**
146
- * Send logs to the Abbacchio server
147
- */
148
- async sendToServer(logs) {
149
- try {
150
- await fetch(this.url, {
151
- method: "POST",
152
- headers: {
153
- "Content-Type": "application/json",
154
- "X-Encrypted": this.secretKey ? "true" : "false",
155
- ...(this.channel ? { "X-Channel": this.channel } : {}),
156
- ...this.headers,
198
+ const batch = this.metricBuffer;
199
+ this.metricBuffer = [];
200
+ await this.sendMetrics(batch);
201
+ }
202
+ async sendMetrics(metrics) {
203
+ // Group by metric name to build proper OTLP structure
204
+ const byName = new Map();
205
+ for (const m of metrics) {
206
+ const arr = byName.get(m.name) || [];
207
+ arr.push(m);
208
+ byName.set(m.name, arr);
209
+ }
210
+ const otlpMetrics = [];
211
+ for (const [name, records] of byName) {
212
+ const first = records[0];
213
+ const dataPoints = records.map((r) => ({
214
+ timeUnixNano: String(Date.now() * 1_000_000),
215
+ asDouble: r.value,
216
+ attributes: r.attributes ? toOtlpAttributes(r.attributes) : [],
217
+ }));
218
+ const metric = {
219
+ name,
220
+ description: first.description || '',
221
+ unit: first.unit || '',
222
+ };
223
+ if (first.type === 'sum') {
224
+ metric.sum = {
225
+ dataPoints,
226
+ aggregationTemporality: 2, // CUMULATIVE
227
+ isMonotonic: first.isMonotonic ?? true,
228
+ };
229
+ }
230
+ else {
231
+ metric.gauge = { dataPoints };
232
+ }
233
+ otlpMetrics.push(metric);
234
+ }
235
+ const payload = {
236
+ resourceMetrics: [{
237
+ resource: { attributes: this.buildResourceAttributes() },
238
+ scopeMetrics: [{
239
+ scope: { name: '@abbacchio/transport' },
240
+ metrics: otlpMetrics,
241
+ }],
242
+ }],
243
+ };
244
+ await this.post('/v1/metrics', payload);
245
+ }
246
+ // ─── Histograms ─────────────────────────────────────
247
+ static DEFAULT_BOUNDS = [5, 10, 25, 50, 75, 100, 250, 500, 750, 1000, 2500, 5000, 10000];
248
+ /** Add a histogram observation to the buffer */
249
+ addHistogram(record) {
250
+ if (!this.enabled)
251
+ return;
252
+ this.histogramBuffer.push(record);
253
+ if (this.histogramBuffer.length >= this.batchSize) {
254
+ this.flushHistograms();
255
+ }
256
+ else {
257
+ this.scheduleHistogramFlush();
258
+ }
259
+ }
260
+ scheduleHistogramFlush() {
261
+ if (this.histogramTimer)
262
+ return;
263
+ this.histogramTimer = setTimeout(() => {
264
+ this.histogramTimer = null;
265
+ this.flushHistograms();
266
+ }, this.interval);
267
+ }
268
+ async flushHistograms() {
269
+ if (this.histogramBuffer.length === 0)
270
+ return;
271
+ const batch = this.histogramBuffer;
272
+ this.histogramBuffer = [];
273
+ await this.sendHistograms(batch);
274
+ }
275
+ async sendHistograms(records) {
276
+ // Group by name+attributes key to aggregate observations into OTLP histogram data points
277
+ const groups = new Map();
278
+ for (const r of records) {
279
+ const key = JSON.stringify({ name: r.name, attributes: r.attributes });
280
+ let group = groups.get(key);
281
+ if (!group) {
282
+ group = { records: [], bounds: r.explicitBounds || AbbacchioClient.DEFAULT_BOUNDS };
283
+ groups.set(key, group);
284
+ }
285
+ group.records.push(r);
286
+ }
287
+ const otlpMetrics = [];
288
+ for (const [, group] of groups) {
289
+ const first = group.records[0];
290
+ const bounds = group.bounds;
291
+ const bucketCounts = new Array(bounds.length + 1).fill(0);
292
+ let sum = 0;
293
+ let min = Infinity;
294
+ let max = -Infinity;
295
+ for (const r of group.records) {
296
+ sum += r.value;
297
+ if (r.value < min)
298
+ min = r.value;
299
+ if (r.value > max)
300
+ max = r.value;
301
+ // Find the bucket
302
+ let placed = false;
303
+ for (let i = 0; i < bounds.length; i++) {
304
+ if (r.value <= bounds[i]) {
305
+ bucketCounts[i]++;
306
+ placed = true;
307
+ break;
308
+ }
309
+ }
310
+ if (!placed)
311
+ bucketCounts[bounds.length]++;
312
+ }
313
+ otlpMetrics.push({
314
+ name: first.name,
315
+ description: first.description || '',
316
+ unit: first.unit || '',
317
+ histogram: {
318
+ dataPoints: [{
319
+ timeUnixNano: String(Date.now() * 1_000_000),
320
+ count: group.records.length,
321
+ sum,
322
+ min: min === Infinity ? 0 : min,
323
+ max: max === -Infinity ? 0 : max,
324
+ bucketCounts: bucketCounts.map(String),
325
+ explicitBounds: bounds,
326
+ attributes: first.attributes ? toOtlpAttributes(first.attributes) : [],
327
+ }],
328
+ aggregationTemporality: 1, // DELTA
157
329
  },
158
- body: JSON.stringify({ logs }),
159
330
  });
160
331
  }
161
- catch {
162
- // Silently fail - don't break the app if Abbacchio server is down
332
+ const payload = {
333
+ resourceMetrics: [{
334
+ resource: { attributes: this.buildResourceAttributes() },
335
+ scopeMetrics: [{
336
+ scope: { name: '@abbacchio/transport' },
337
+ metrics: otlpMetrics,
338
+ }],
339
+ }],
340
+ };
341
+ await this.post('/v1/metrics', payload);
342
+ }
343
+ // ─── Traces ────────────────────────────────────────
344
+ /** Add a trace span to the buffer */
345
+ addSpan(span) {
346
+ if (!this.enabled)
347
+ return;
348
+ this.spanBuffer.push(span);
349
+ if (this.spanBuffer.length >= this.batchSize) {
350
+ this.flushSpans();
351
+ }
352
+ else {
353
+ this.scheduleSpanFlush();
163
354
  }
164
355
  }
165
- /**
166
- * Close the client and flush any remaining logs
167
- */
356
+ scheduleSpanFlush() {
357
+ if (this.spanTimer)
358
+ return;
359
+ this.spanTimer = setTimeout(() => {
360
+ this.spanTimer = null;
361
+ this.flushSpans();
362
+ }, this.interval);
363
+ }
364
+ async flushSpans() {
365
+ if (this.spanBuffer.length === 0)
366
+ return;
367
+ const batch = this.spanBuffer;
368
+ this.spanBuffer = [];
369
+ await this.sendSpans(batch);
370
+ }
371
+ async sendSpans(spans) {
372
+ const otlpSpans = spans.map((s) => ({
373
+ traceId: s.traceId,
374
+ spanId: s.spanId,
375
+ parentSpanId: s.parentSpanId,
376
+ name: s.name,
377
+ kind: s.kind ?? 1, // SPAN_KIND_INTERNAL
378
+ startTimeUnixNano: s.startTimeUnixNano,
379
+ endTimeUnixNano: s.endTimeUnixNano,
380
+ attributes: s.attributes ? toOtlpAttributes(s.attributes) : [],
381
+ status: s.status,
382
+ }));
383
+ const payload = {
384
+ resourceSpans: [{
385
+ resource: { attributes: this.buildResourceAttributes() },
386
+ scopeSpans: [{
387
+ scope: { name: '@abbacchio/transport' },
388
+ spans: otlpSpans,
389
+ }],
390
+ }],
391
+ };
392
+ await this.post('/v1/traces', payload);
393
+ }
394
+ // ─── Shared ────────────────────────────────────────
395
+ /** Flush all buffers and close the client */
396
+ async flush() {
397
+ await Promise.all([
398
+ this.flushLogs(),
399
+ this.flushMetrics(),
400
+ this.flushHistograms(),
401
+ this.flushSpans(),
402
+ ]);
403
+ }
404
+ /** Close the client and flush any remaining data */
168
405
  async close() {
169
- if (this.timer) {
170
- clearTimeout(this.timer);
171
- this.timer = null;
406
+ if (this.logTimer) {
407
+ clearTimeout(this.logTimer);
408
+ this.logTimer = null;
409
+ }
410
+ if (this.metricTimer) {
411
+ clearTimeout(this.metricTimer);
412
+ this.metricTimer = null;
413
+ }
414
+ if (this.histogramTimer) {
415
+ clearTimeout(this.histogramTimer);
416
+ this.histogramTimer = null;
417
+ }
418
+ if (this.spanTimer) {
419
+ clearTimeout(this.spanTimer);
420
+ this.spanTimer = null;
172
421
  }
173
422
  await this.flush();
174
423
  }
424
+ buildResourceAttributes() {
425
+ const attrs = [
426
+ { key: 'service.name', value: { stringValue: this.serviceName } },
427
+ ];
428
+ for (const [key, val] of Object.entries(this.resourceAttributes)) {
429
+ attrs.push({ key, value: { stringValue: val } });
430
+ }
431
+ return attrs;
432
+ }
433
+ async post(path, payload) {
434
+ try {
435
+ let body = JSON.stringify(payload);
436
+ const headers = {
437
+ 'Content-Type': 'application/json',
438
+ ...this.headers,
439
+ };
440
+ if (this.secretKey) {
441
+ body = encrypt(JSON.stringify(payload), this.secretKey);
442
+ headers['X-Encrypted'] = 'true';
443
+ }
444
+ await fetch(`${this.endpoint}${path}`, {
445
+ method: 'POST',
446
+ headers,
447
+ body,
448
+ });
449
+ }
450
+ catch {
451
+ // Silently fail — don't break the app if the telemetry server is down
452
+ }
453
+ }
175
454
  }
176
455
  /**
177
- * Create a new Abbacchio client instance
456
+ * Create a new Abbacchio OTLP client instance
178
457
  */
179
458
  export function createClient(options) {
180
459
  return new AbbacchioClient(options);
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC;;;GAGG;AACH,MAAM,qBAAqB,GAAqD;IAC9E,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE;IAChC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE;IAChC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;IAC/B,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IAChC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;IACjC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;CAClC,CAAC;AAEF;;GAEG;AACH,SAAS,gBAAgB,CAAC,GAA4B;IACpD,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7C,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI;YAAE,SAAS;QAChD,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,GAAY;IAClC,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC;IACzD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC;IAC1E,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,SAAS;QAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;IACxD,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;AACtC,CAAC;AA8FD;;;GAGG;AACH,MAAM,OAAO,eAAe;IAClB,QAAQ,CAAS;IACjB,SAAS,CAAU;IACnB,WAAW,CAAS;IACpB,kBAAkB,CAAyB;IAC3C,SAAS,CAAS;IAClB,QAAQ,CAAS;IACjB,OAAO,CAAyB;IAChC,OAAO,CAAU;IAEjB,SAAS,GAAgB,EAAE,CAAC;IAC5B,YAAY,GAAmB,EAAE,CAAC;IAClC,eAAe,GAAsB,EAAE,CAAC;IACxC,UAAU,GAAiB,EAAE,CAAC;IAC9B,QAAQ,GAAyC,IAAI,CAAC;IACtD,WAAW,GAAyC,IAAI,CAAC;IACzD,cAAc,GAAyC,IAAI,CAAC;IAC5D,SAAS,GAAyC,IAAI,CAAC;IAE/D,YAAY,UAAkC,EAAE;QAC9C,qFAAqF;QACrF,IAAI,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrC,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC/B,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7C,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;YAC9B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,uBAAuB,CAAC;QAC9D,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,SAAS,CAAC;QACpD,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,IAAI,EAAE,CAAC;QAC3D,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC;QACzC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC;IACzC,CAAC;IAED,0CAA0C;IAC1C,cAAc,CAAC,IAAY;QACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,mCAAmC;IACnC,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,wCAAwC;IACxC,MAAM;QACJ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,yEAAyE;IACzE,OAAO;QACL,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,+CAA+C;IAC/C,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,sDAAsD;IAEtD,qCAAqC;IACrC,GAAG,CAAC,GAAwB;QAC1B,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAgB,CAAC,CAAC;QAEtC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC5C,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,uCAAuC;IACvC,QAAQ,CAAC,IAA6B;QACpC,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAgB,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC5C,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,6CAA6C;IAC7C,KAAK,CAAC,IAAI,CAAC,IAA6B;QACtC,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAmB,CAAC,CAAC;IAC3C,CAAC;IAEO,gBAAgB;QACtB,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,SAAS;QACb,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,IAAiB;QACtC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAClC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,GAAG,GAAG,CAAC;YACpD,MAAM,SAAS,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,SAAS,CAAC,IAAI,qBAAqB,CAAC,EAAE,CAAC,CAAC;YAC/E,MAAM,IAAI,GAAG,GAAG,IAAI,OAAO,IAAI,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;YAE1D,OAAO;gBACL,YAAY,EAAE,QAAQ;gBACtB,oBAAoB,EAAE,QAAQ;gBAC9B,cAAc,EAAE,QAAQ,CAAC,MAAM;gBAC/B,YAAY,EAAE,QAAQ,CAAC,IAAI;gBAC3B,IAAI,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;gBACnC,UAAU,EAAE,gBAAgB,CAAC,KAAgC,CAAC;aAC/D,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG;YACd,YAAY,EAAE,CAAC;oBACb,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,uBAAuB,EAAE,EAAE;oBACxD,SAAS,EAAE,CAAC;4BACV,KAAK,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE;4BACvC,UAAU;yBACX,CAAC;iBACH,CAAC;SACH,CAAC;QAEF,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,sDAAsD;IAEtD,4CAA4C;IAC5C,SAAS,CAAC,MAAoB;QAC5B,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE/B,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC/C,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;IAEO,mBAAmB;QACzB,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QAC7B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;YACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,OAAuB;QAC/C,sDAAsD;QACtD,MAAM,MAAM,GAAG,IAAI,GAAG,EAA0B,CAAC;QACjD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACrC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACZ,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC1B,CAAC;QAED,MAAM,WAAW,GAAc,EAAE,CAAC;QAClC,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACzB,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACrC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBAC5C,QAAQ,EAAE,CAAC,CAAC,KAAK;gBACjB,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;aAC/D,CAAC,CAAC,CAAC;YAEJ,MAAM,MAAM,GAA4B;gBACtC,IAAI;gBACJ,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE;gBACpC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;aACvB,CAAC;YAEF,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBACzB,MAAM,CAAC,GAAG,GAAG;oBACX,UAAU;oBACV,sBAAsB,EAAE,CAAC,EAAE,aAAa;oBACxC,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI;iBACvC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,GAAG,EAAE,UAAU,EAAE,CAAC;YAChC,CAAC;YAED,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3B,CAAC;QAED,MAAM,OAAO,GAAG;YACd,eAAe,EAAE,CAAC;oBAChB,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,uBAAuB,EAAE,EAAE;oBACxD,YAAY,EAAE,CAAC;4BACb,KAAK,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE;4BACvC,OAAO,EAAE,WAAW;yBACrB,CAAC;iBACH,CAAC;SACH,CAAC;QAEF,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,uDAAuD;IAE/C,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAEjG,gDAAgD;IAChD,YAAY,CAAC,MAAuB;QAClC,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAElC,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAClD,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAChC,CAAC;IACH,CAAC;IAEO,sBAAsB;QAC5B,IAAI,IAAI,CAAC,cAAc;YAAE,OAAO;QAChC,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;YACpC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC;QACnC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,OAA0B;QACrD,yFAAyF;QACzF,MAAM,MAAM,GAAG,IAAI,GAAG,EAA4D,CAAC;QACnF,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;YACvE,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,KAAK,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,cAAc,IAAI,eAAe,CAAC,cAAc,EAAE,CAAC;gBACpF,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACzB,CAAC;YACD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;QAED,MAAM,WAAW,GAAc,EAAE,CAAC;QAClC,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAC5B,MAAM,YAAY,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC1D,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,IAAI,GAAG,GAAG,QAAQ,CAAC;YACnB,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC;YAEpB,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC9B,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC;gBACf,IAAI,CAAC,CAAC,KAAK,GAAG,GAAG;oBAAE,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC;gBACjC,IAAI,CAAC,CAAC,KAAK,GAAG,GAAG;oBAAE,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC;gBAEjC,kBAAkB;gBAClB,IAAI,MAAM,GAAG,KAAK,CAAC;gBACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACvC,IAAI,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;wBACzB,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;wBAClB,MAAM,GAAG,IAAI,CAAC;wBACd,MAAM;oBACR,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,MAAM;oBAAE,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7C,CAAC;YAED,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE;gBACpC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;gBACtB,SAAS,EAAE;oBACT,UAAU,EAAE,CAAC;4BACX,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;4BAC5C,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM;4BAC3B,GAAG;4BACH,GAAG,EAAE,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;4BAC/B,GAAG,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;4BAChC,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;4BACtC,cAAc,EAAE,MAAM;4BACtB,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;yBACvE,CAAC;oBACF,sBAAsB,EAAE,CAAC,EAAE,QAAQ;iBACpC;aACF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,OAAO,GAAG;YACd,eAAe,EAAE,CAAC;oBAChB,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,uBAAuB,EAAE,EAAE;oBACxD,YAAY,EAAE,CAAC;4BACb,KAAK,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE;4BACvC,OAAO,EAAE,WAAW;yBACrB,CAAC;iBACH,CAAC;SACH,CAAC;QAEF,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,sDAAsD;IAEtD,qCAAqC;IACrC,OAAO,CAAC,IAAgB;QACtB,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE3B,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC7C,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAEO,iBAAiB;QACvB,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAC3B,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAC/B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,KAAmB;QACzC,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAClC,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,YAAY,EAAE,CAAC,CAAC,YAAY;YAC5B,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,qBAAqB;YACxC,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;YACtC,eAAe,EAAE,CAAC,CAAC,eAAe;YAClC,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;YAC9D,MAAM,EAAE,CAAC,CAAC,MAAM;SACjB,CAAC,CAAC,CAAC;QAEJ,MAAM,OAAO,GAAG;YACd,aAAa,EAAE,CAAC;oBACd,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,uBAAuB,EAAE,EAAE;oBACxD,UAAU,EAAE,CAAC;4BACX,KAAK,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE;4BACvC,KAAK,EAAE,SAAS;yBACjB,CAAC;iBACH,CAAC;SACH,CAAC;QAEF,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,sDAAsD;IAEtD,6CAA6C;IAC7C,KAAK,CAAC,KAAK;QACT,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,CAAC,YAAY,EAAE;YACnB,IAAI,CAAC,eAAe,EAAE;YACtB,IAAI,CAAC,UAAU,EAAE;SAClB,CAAC,CAAC;IACL,CAAC;IAED,oDAAoD;IACpD,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAAC,CAAC;QACzE,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAAC,CAAC;QAClF,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAAC,CAAC;QAC3F,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAAC,CAAC;QAC5E,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAEO,uBAAuB;QAC7B,MAAM,KAAK,GAAmB;YAC5B,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE;SAClE,CAAC;QACF,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACjE,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,OAAgB;QAC/C,IAAI,CAAC;YACH,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAEnC,MAAM,OAAO,GAA2B;gBACtC,cAAc,EAAE,kBAAkB;gBAClC,GAAG,IAAI,CAAC,OAAO;aAChB,CAAC;YAEF,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBACxD,OAAO,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC;YAClC,CAAC;YAED,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,EAAE,EAAE;gBACrC,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI;aACL,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,sEAAsE;QACxE,CAAC;IACH,CAAC;;AAGH;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,OAAgC;IAC3D,OAAO,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { AbbacchioClient, createClient } from "./client.js";
2
- export type { AbbacchioClientOptions } from "./client.js";
2
+ export type { AbbacchioClientOptions, LogRecord, MetricRecord, HistogramRecord, SpanRecord } from "./client.js";
3
3
  export { generateKey, encrypt, decrypt, encryptLog, decryptLog } from "./encrypt.js";
4
4
  export { default as pinoTransport } from "./transports/pino.js";
5
5
  export type { PinoTransportOptions } from "./transports/pino.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC5D,YAAY,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAG1D,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAGrF,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChE,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACtF,YAAY,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAEvE,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC7E,YAAY,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,YAAY,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC5D,YAAY,EAAE,sBAAsB,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGhH,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAGrF,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChE,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACtF,YAAY,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAEvE,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC7E,YAAY,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,YAAY,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC"}