fg-tracker-sdk 0.9.0 → 0.11.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.
Files changed (75) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/README.md +83 -10
  3. package/dist/context.d.ts +16 -0
  4. package/dist/context.d.ts.map +1 -1
  5. package/dist/context.js +27 -0
  6. package/dist/context.js.map +1 -1
  7. package/dist/database.d.ts.map +1 -1
  8. package/dist/database.js +34 -5
  9. package/dist/database.js.map +1 -1
  10. package/dist/exit-hooks.d.ts +23 -0
  11. package/dist/exit-hooks.d.ts.map +1 -0
  12. package/dist/exit-hooks.js +88 -0
  13. package/dist/exit-hooks.js.map +1 -0
  14. package/dist/express.js +2 -2
  15. package/dist/express.js.map +1 -1
  16. package/dist/fetch.d.ts.map +1 -1
  17. package/dist/fetch.js +16 -8
  18. package/dist/fetch.js.map +1 -1
  19. package/dist/global-errors.d.ts +8 -5
  20. package/dist/global-errors.d.ts.map +1 -1
  21. package/dist/global-errors.js +59 -10
  22. package/dist/global-errors.js.map +1 -1
  23. package/dist/index.d.ts +4 -2
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +14 -7
  26. package/dist/index.js.map +1 -1
  27. package/dist/infra/aggregator.d.ts +5 -0
  28. package/dist/infra/aggregator.d.ts.map +1 -1
  29. package/dist/infra/aggregator.js.map +1 -1
  30. package/dist/infra/aws.d.ts +45 -3
  31. package/dist/infra/aws.d.ts.map +1 -1
  32. package/dist/infra/aws.js +419 -29
  33. package/dist/infra/aws.js.map +1 -1
  34. package/dist/infra/lambda.d.ts +19 -0
  35. package/dist/infra/lambda.d.ts.map +1 -1
  36. package/dist/infra/lambda.js +63 -10
  37. package/dist/infra/lambda.js.map +1 -1
  38. package/dist/infra/messaging.d.ts +133 -0
  39. package/dist/infra/messaging.d.ts.map +1 -0
  40. package/dist/infra/messaging.js +366 -0
  41. package/dist/infra/messaging.js.map +1 -0
  42. package/dist/logs/shipper.d.ts +5 -4
  43. package/dist/logs/shipper.d.ts.map +1 -1
  44. package/dist/logs/shipper.js +170 -52
  45. package/dist/logs/shipper.js.map +1 -1
  46. package/dist/logs/types.d.ts +18 -2
  47. package/dist/logs/types.d.ts.map +1 -1
  48. package/dist/next.js +2 -2
  49. package/dist/next.js.map +1 -1
  50. package/dist/node-http.d.ts.map +1 -1
  51. package/dist/node-http.js +7 -3
  52. package/dist/node-http.js.map +1 -1
  53. package/dist/normalize.d.ts +32 -0
  54. package/dist/normalize.d.ts.map +1 -1
  55. package/dist/normalize.js +165 -10
  56. package/dist/normalize.js.map +1 -1
  57. package/dist/pg.d.ts +8 -3
  58. package/dist/pg.d.ts.map +1 -1
  59. package/dist/pg.js +512 -41
  60. package/dist/pg.js.map +1 -1
  61. package/dist/scrub.d.ts +5 -0
  62. package/dist/scrub.d.ts.map +1 -1
  63. package/dist/scrub.js +17 -1
  64. package/dist/scrub.js.map +1 -1
  65. package/dist/tracker.d.ts +109 -7
  66. package/dist/tracker.d.ts.map +1 -1
  67. package/dist/tracker.js +502 -95
  68. package/dist/tracker.js.map +1 -1
  69. package/dist/transport.d.ts +115 -0
  70. package/dist/transport.d.ts.map +1 -0
  71. package/dist/transport.js +323 -0
  72. package/dist/transport.js.map +1 -0
  73. package/dist/types.d.ts +61 -8
  74. package/dist/types.d.ts.map +1 -1
  75. package/package.json +4 -1
@@ -1,18 +1,23 @@
1
+ import { randomBytes } from 'node:crypto';
1
2
  import { hostname } from 'node:os';
2
3
  import { API_KEY_HEADER, DEFAULT_ENDPOINT } from '../constants.js';
3
4
  import { currentSpanContext } from '../context.js';
5
+ import { registerExitFlush } from '../exit-hooks.js';
6
+ import { byteLength, DEFAULT_MAX_BODY_BYTES, DEFAULT_REQUEST_TIMEOUT_MS, HttpSender, MIN_BODY_BYTES, safeStringify, Deadlines, } from '../transport.js';
4
7
  import { LOG_LEVEL_NUMBER, toLogLevel } from './types.js';
5
8
  const DEFAULT_FLUSH_INTERVAL_MS = 2000;
6
9
  const DEFAULT_MAX_BATCH = 200;
7
10
  const DEFAULT_MAX_QUEUE = 5000;
11
+ const DEFAULT_MAX_QUEUE_BYTES = 16 * 1024 * 1024;
12
+ const DEFAULT_SHUTDOWN_TIMEOUT_MS = 10_000;
8
13
  /** Limite da API por requisição (CONTRATO.md §11). */
9
14
  const API_MAX_BATCH = 500;
10
- const RETRY_DELAY_MS = 400;
11
15
  /**
12
- * Fila + envio em lote para `POST /v1/logs`. Mesma política do tracker:
13
- * timer com `unref()`, fila limitada (descarta as mais antigas), aviso único
14
- * em falha, 4xx descarta o lote, 5xx/rede tenta de novo uma vez e depois
15
- * devolve o lote para o próximo flush.
16
+ * Fila + envio em lote para `POST /v1/logs`, com o transporte do tracker (CONTRATO.md §4.3):
17
+ * timer com `unref()`, fila limitada em linhas e bytes (descarta as mais antigas), lotes
18
+ * limitados em bytes, timeout de 10 s, backoff com jitter e `Retry-After` em rede/408/429/5xx,
19
+ * 413 divide o lote, outro 4xx descarta. Cada linha leva um `eventId` gerado aqui: o reenvio
20
+ * de um lote que a API já gravou não duplica (dedupe no servidor).
16
21
  */
17
22
  export function createLogShipper(options) {
18
23
  return new LogShipperImpl(options);
@@ -24,14 +29,29 @@ class LogShipperImpl {
24
29
  host;
25
30
  minLevel;
26
31
  tracker;
27
- fetchImpl;
28
32
  debug;
29
33
  active;
34
+ sender;
35
+ maxQueueBytes;
36
+ shutdownTimeoutMs;
37
+ batchBytes;
38
+ /** Teto de linhas por lote depois de 413 com o teto de bytes no mínimo. */
39
+ batchItems = Number.POSITIVE_INFINITY;
30
40
  queue = [];
41
+ queueBytes = 0;
31
42
  timer = null;
32
43
  flushing = null;
44
+ /** Prazos de encerramento ativos; vale o menor (`deadline`). */
45
+ deadlines = new Deadlines();
46
+ get deadline() {
47
+ return this.deadlines.current;
48
+ }
33
49
  warnedFailure = false;
34
50
  stopped = false;
51
+ pushedSinceExit = 0;
52
+ unregisterExit = () => undefined;
53
+ /** Linhas descartadas (limite de fila, 4xx ou encerramento). */
54
+ dropped = 0;
35
55
  constructor(raw) {
36
56
  this.options = {
37
57
  endpoint: (raw.endpoint ?? DEFAULT_ENDPOINT).replace(/\/+$/, ''),
@@ -45,8 +65,18 @@ class LogShipperImpl {
45
65
  this.host = raw.host === false ? undefined : (raw.host ?? safeHostname());
46
66
  this.minLevel = LOG_LEVEL_NUMBER[raw.minLevel ?? 'trace'];
47
67
  this.tracker = raw.tracker;
48
- this.fetchImpl = raw.fetch ?? globalThis.fetch;
49
68
  this.debug = raw.debug ?? false;
69
+ this.maxQueueBytes = Math.max(1024 * 1024, raw.maxQueueBytes ?? DEFAULT_MAX_QUEUE_BYTES);
70
+ this.shutdownTimeoutMs = Math.max(0, raw.shutdownTimeoutMs ?? DEFAULT_SHUTDOWN_TIMEOUT_MS);
71
+ this.batchBytes = Math.min(DEFAULT_MAX_BODY_BYTES, Math.max(MIN_BODY_BYTES, raw.maxBatchBytes ?? DEFAULT_MAX_BODY_BYTES));
72
+ const fetchImpl = raw.fetch ?? globalThis.fetch;
73
+ this.sender = new HttpSender({
74
+ fetch: (input, init) => fetchImpl(input, init),
75
+ url: `${this.options.endpoint}/v1/logs`,
76
+ headers: { [API_KEY_HEADER]: this.apiKey },
77
+ timeoutMs: Math.max(100, raw.requestTimeoutMs ?? DEFAULT_REQUEST_TIMEOUT_MS),
78
+ compression: raw.compression ?? (raw.fetch ? 'none' : 'gzip'),
79
+ });
50
80
  this.active = (raw.enabled ?? true) && Boolean(this.apiKey);
51
81
  if (!this.active) {
52
82
  if (!this.apiKey && (raw.enabled ?? true))
@@ -58,6 +88,8 @@ class LogShipperImpl {
58
88
  }, this.options.flushIntervalMs);
59
89
  if (typeof this.timer === 'object' && this.timer && 'unref' in this.timer)
60
90
  this.timer.unref();
91
+ if (raw.exitHooks ?? true)
92
+ this.unregisterExit = registerExitFlush(this);
61
93
  }
62
94
  get enabled() {
63
95
  return this.active && !this.stopped;
@@ -65,6 +97,9 @@ class LogShipperImpl {
65
97
  get size() {
66
98
  return this.queue.length;
67
99
  }
100
+ get exitTimeoutMs() {
101
+ return this.shutdownTimeoutMs;
102
+ }
68
103
  log(level, message, context) {
69
104
  this.push({ level, message, context });
70
105
  }
@@ -76,6 +111,7 @@ class LogShipperImpl {
76
111
  return;
77
112
  const correlation = entry.traceId ? null : (this.tracker?.currentSpan() ?? currentSpanContext());
78
113
  const line = {
114
+ eventId: randomBytes(16).toString('hex'),
79
115
  ts: toIso(entry.ts),
80
116
  level,
81
117
  service: entry.service || this.options.service,
@@ -97,10 +133,11 @@ class LogShipperImpl {
97
133
  const host = entry.host ?? this.host;
98
134
  if (host)
99
135
  line.host = host;
100
- this.queue.push(line);
101
- if (this.queue.length > this.options.maxQueueSize) {
102
- this.queue.splice(0, this.queue.length - this.options.maxQueueSize);
103
- }
136
+ const json = safeStringify(line);
137
+ this.queue.push({ json, bytes: byteLength(json) });
138
+ this.queueBytes += this.queue[this.queue.length - 1].bytes;
139
+ this.pushedSinceExit += 1;
140
+ this.trimQueue();
104
141
  if (this.queue.length >= this.options.maxBatch)
105
142
  void this.flush();
106
143
  }
@@ -111,63 +148,147 @@ class LogShipperImpl {
111
148
  return this.flushing;
112
149
  if (this.queue.length === 0)
113
150
  return;
114
- this.flushing = this.doFlush().finally(() => {
151
+ this.flushing = this.drain(false).finally(() => {
115
152
  this.flushing = null;
116
153
  });
117
154
  return this.flushing;
118
155
  }
119
- async shutdown() {
156
+ async shutdown(options = {}) {
120
157
  if (this.timer) {
121
158
  clearInterval(this.timer);
122
159
  this.timer = null;
123
160
  }
124
- await this.flush();
161
+ this.unregisterExit();
162
+ await this.sendUntil(Date.now() + Math.max(0, options.timeoutMs ?? this.shutdownTimeoutMs));
163
+ if (this.queue.length > 0 && this.active) {
164
+ this.dropped += this.queue.length;
165
+ this.warnOnce(`encerrado com ${this.queue.length} linha(s) de log sem enviar.`);
166
+ }
125
167
  this.stopped = true;
126
168
  }
127
- async doFlush() {
128
- while (this.queue.length > 0) {
129
- const batch = this.queue.splice(0, this.options.maxBatch);
130
- let outcome = await this.send(batch);
131
- if (outcome === 'retry') {
132
- await sleep(RETRY_DELAY_MS);
133
- outcome = await this.send(batch);
134
- }
135
- if (outcome === 'retry') {
136
- // Devolve para a frente da fila e tenta no próximo flush.
137
- this.queue.unshift(...batch);
138
- if (this.queue.length > this.options.maxQueueSize) {
139
- this.queue.splice(0, this.queue.length - this.options.maxQueueSize);
140
- }
141
- return;
142
- }
169
+ hasPendingForExit() {
170
+ if (!this.enabled)
171
+ return false;
172
+ // Um lote já saiu da fila e está em voo: a saída espera ele (até o prazo).
173
+ if (this.flushing)
174
+ return true;
175
+ return this.pushedSinceExit > 0 && this.queue.length > 0;
176
+ }
177
+ async flushForExit(deadline) {
178
+ this.pushedSinceExit = 0;
179
+ try {
180
+ await this.sendUntil(deadline);
181
+ }
182
+ catch {
183
+ /* a saída nunca lança */
143
184
  }
144
185
  }
145
- async send(logs) {
186
+ async sendUntil(deadline) {
187
+ if (!this.active)
188
+ return;
189
+ const release = this.deadlines.add(deadline);
190
+ this.sender.abortAt(this.deadline ?? deadline);
146
191
  try {
147
- const res = await this.fetchImpl(`${this.options.endpoint}/v1/logs`, {
148
- method: 'POST',
149
- headers: { 'content-type': 'application/json', [API_KEY_HEADER]: this.apiKey },
150
- body: JSON.stringify({ logs }),
192
+ // Outro envio (flush, saída do processo) em andamento: espera, sem iniciar um segundo laço.
193
+ while (this.flushing)
194
+ await this.flushing;
195
+ if (this.queue.length === 0)
196
+ return;
197
+ this.flushing = this.drain(true).finally(() => {
198
+ this.flushing = null;
151
199
  });
152
- if (!res.ok) {
153
- const retry = res.status >= 500 || res.status === 429;
154
- this.warnOnce(`logs respondeu ${res.status}${retry ? ' (vai tentar de novo)' : ' (lote descartado)'}`);
155
- return retry ? 'retry' : 'drop';
200
+ await this.flushing;
201
+ }
202
+ finally {
203
+ release();
204
+ }
205
+ }
206
+ trimQueue() {
207
+ while (this.queue.length > 1 && (this.queue.length > this.options.maxQueueSize || this.queueBytes > this.maxQueueBytes)) {
208
+ this.queueBytes -= this.queue.shift().bytes;
209
+ this.dropped += 1;
210
+ }
211
+ }
212
+ async drain(waitBackoff) {
213
+ while (this.queue.length > 0) {
214
+ const now = Date.now();
215
+ if (this.deadline !== null && now >= this.deadline)
216
+ return;
217
+ const wait = this.sender.waitMs(now);
218
+ if (wait > 0) {
219
+ if (!waitBackoff || this.deadline === null || now + wait >= this.deadline)
220
+ return;
221
+ await this.deadlines.sleep(wait);
222
+ continue;
156
223
  }
157
- if (this.warnedFailure) {
158
- this.warnedFailure = false;
224
+ const batch = this.takeBatch();
225
+ const result = await this.sender.post(`{"logs":[${batch.map((line) => line.json).join(',')}]}`, this.deadline ?? undefined);
226
+ if (!this.handleResult(batch, result) && !waitBackoff)
227
+ return;
228
+ }
229
+ }
230
+ takeBatch() {
231
+ let bytes = 16;
232
+ let count = 0;
233
+ while (count < this.queue.length && count < this.options.maxBatch) {
234
+ const size = this.queue[count].bytes + 1;
235
+ if (count > 0 && (bytes + size > this.batchBytes || count >= this.batchItems))
236
+ break;
237
+ bytes += size;
238
+ count += 1;
239
+ }
240
+ const batch = this.queue.splice(0, count);
241
+ for (const line of batch)
242
+ this.queueBytes -= line.bytes;
243
+ return batch;
244
+ }
245
+ /** Devolve `false` quando o lote voltou para a fila (backoff). */
246
+ handleResult(batch, result) {
247
+ switch (result.type) {
248
+ case 'ok':
249
+ this.sender.noteSuccess();
250
+ if (this.warnedFailure) {
251
+ this.warnedFailure = false;
252
+ if (this.debug)
253
+ console.info('[fg-tracker] envio de logs restabelecido.');
254
+ }
159
255
  if (this.debug)
160
- console.info('[fg-tracker] envio de logs restabelecido.');
256
+ console.info(`[fg-tracker] enviadas ${batch.length} linhas de log.`);
257
+ return true;
258
+ case 'too_large': {
259
+ const bytes = batch.reduce((total, line) => total + line.bytes, 0);
260
+ if (batch.length <= 1) {
261
+ this.dropped += 1;
262
+ this.warnOnce(`logs respondeu 413 para uma linha de ${bytes} bytes (descartada).`);
263
+ return true;
264
+ }
265
+ const half = Math.floor(bytes / 2);
266
+ if (half >= MIN_BODY_BYTES)
267
+ this.batchBytes = Math.min(this.batchBytes, half);
268
+ else
269
+ this.batchItems = Math.max(1, Math.min(this.batchItems, Math.floor(batch.length / 2)));
270
+ this.requeue(batch);
271
+ return true;
272
+ }
273
+ case 'rejected':
274
+ this.sender.noteSuccess();
275
+ this.dropped += batch.length;
276
+ this.warnOnce(`logs respondeu ${result.status} (lote descartado)`);
277
+ return true;
278
+ case 'retry': {
279
+ const delay = this.sender.noteFailure(result);
280
+ this.warnOnce(`falha ao enviar logs para ${this.options.endpoint}/v1/logs: ${result.reason} (nova tentativa em ${Math.round(delay / 1000)} s)`);
281
+ this.requeue(batch);
282
+ return false;
161
283
  }
162
- if (this.debug)
163
- console.info(`[fg-tracker] enviadas ${logs.length} linhas de log.`);
164
- return 'ok';
165
- }
166
- catch (err) {
167
- this.warnOnce(`falha ao enviar logs para ${this.options.endpoint}/v1/logs: ${err?.message ?? err}`);
168
- return 'retry';
169
284
  }
170
285
  }
286
+ requeue(batch) {
287
+ this.queue.unshift(...batch);
288
+ for (const line of batch)
289
+ this.queueBytes += line.bytes;
290
+ this.trimQueue();
291
+ }
171
292
  warnOnce(message) {
172
293
  if (this.warnedFailure)
173
294
  return;
@@ -195,9 +316,6 @@ function safeHostname() {
195
316
  return undefined;
196
317
  }
197
318
  }
198
- function sleep(ms) {
199
- return new Promise((resolve) => setTimeout(resolve, ms));
200
- }
201
319
  /**
202
320
  * `mixin` para o pino: injeta `traceId`/`spanId` do span corrente em cada linha.
203
321
  * Necessário porque o transport roda em worker thread, sem acesso ao AsyncLocalStorage da app.
@@ -1 +1 @@
1
- {"version":3,"file":"shipper.js","sourceRoot":"","sources":["../../src/logs/shipper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAwF,MAAM,YAAY,CAAC;AAEhJ,MAAM,yBAAyB,GAAG,IAAI,CAAC;AACvC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAC9B,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAC/B,sDAAsD;AACtD,MAAM,aAAa,GAAG,GAAG,CAAC;AAC1B,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAA0B;IACzD,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,cAAc;IACT,OAAO,CAAwB;IACvB,MAAM,CAAS;IACf,GAAG,CAAqB;IACxB,IAAI,CAAqB;IACzB,QAAQ,CAAS;IACjB,OAAO,CAA+B;IACtC,SAAS,CAA0B;IACnC,KAAK,CAAU;IACf,MAAM,CAAU;IACzB,KAAK,GAAe,EAAE,CAAC;IACvB,KAAK,GAA0C,IAAI,CAAC;IACpD,QAAQ,GAAyB,IAAI,CAAC;IACtC,aAAa,GAAG,KAAK,CAAC;IACtB,OAAO,GAAG,KAAK,CAAC;IAExB,YAAY,GAAsB;QAChC,IAAI,CAAC,OAAO,GAAG;YACb,QAAQ,EAAE,CAAC,GAAG,CAAC,QAAQ,IAAI,gBAAgB,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAChE,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,SAAS;YACjC,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,eAAe,IAAI,yBAAyB,CAAC;YAChF,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,IAAI,iBAAiB,CAAC,CAAC;YACjF,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,YAAY,IAAI,iBAAiB,CAAC;SAClE,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,YAAY,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC;QAC/C,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;YACpH,OAAO;QACT,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC5B,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACjC,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IAChG,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;IACtC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,GAAG,CAAC,KAAe,EAAE,OAAe,EAAE,OAAiC;QACrE,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,CAAC,KAAe;QAClB,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC;QAChD,IAAI,gBAAgB,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEpD,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,kBAAkB,EAAE,CAAC,CAAC;QACjG,MAAM,IAAI,GAAa;YACrB,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACnB,KAAK;YACL,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO;YAC9C,OAAO,EAAE,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;SACnF,CAAC;QACF,IAAI,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QACzF,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,WAAW,EAAE,OAAO,CAAC;QACtD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,WAAW,EAAE,MAAM,CAAC;QACnD,IAAI,OAAO;YAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACpC,IAAI,MAAM;YAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACjC,IAAI,KAAK,CAAC,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACtD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;QAClC,IAAI,GAAG;YAAE,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;QACrC,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAE3B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAClD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ;YAAE,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC;QACxC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACpC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,CAAC;QACD,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAEO,KAAK,CAAC,OAAO;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC1D,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;gBACxB,MAAM,KAAK,CAAC,cAAc,CAAC,CAAC;gBAC5B,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC;YACD,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;gBACxB,0DAA0D;gBAC1D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;gBAC7B,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;oBAClD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBACtE,CAAC;gBACD,OAAO;YACT,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,IAAI,CAAC,IAAgB;QACjC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,UAAU,EAAE;gBACnE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE;gBAC9E,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC;aAC/B,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC;gBACtD,IAAI,CAAC,QAAQ,CAAC,kBAAkB,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC,CAAC;gBACvG,OAAO,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;YAClC,CAAC;YACD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,IAAI,IAAI,CAAC,KAAK;oBAAE,OAAO,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;YAC5E,CAAC;YACD,IAAI,IAAI,CAAC,KAAK;gBAAE,OAAO,CAAC,IAAI,CAAC,yBAAyB,IAAI,CAAC,MAAM,iBAAiB,CAAC,CAAC;YACpF,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,QAAQ,CAAC,6BAA6B,IAAI,CAAC,OAAO,CAAC,QAAQ,aAAc,GAAa,EAAE,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC;YAC/G,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;IAEO,QAAQ,CAAC,OAAe;QAC9B,IAAI,IAAI,CAAC,aAAa;YAAE,OAAO;QAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,gBAAgB,OAAO,EAAE,CAAC,CAAC;IAC1C,CAAC;CACF;AAED,SAAS,KAAK,CAAC,KAAqB;IAClC,IAAI,KAAK,YAAY,IAAI;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;IACjH,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IACpE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAAE,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC;IACnE,CAAC;IACD,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,YAAY;IACnB,IAAI,CAAC;QACH,OAAO,QAAQ,EAAE,CAAC;IACpB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CAAC,OAAsC;IAC/D,OAAO,GAA2B,EAAE;QAClC,MAAM,GAAG,GAAG,OAAO,EAAE,WAAW,EAAE,IAAI,kBAAkB,EAAE,CAAC;QAC3D,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,CAAC;QACpB,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;IACtD,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"shipper.js","sourceRoot":"","sources":["../../src/logs/shipper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAwB,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EACL,UAAU,EACV,sBAAsB,EACtB,0BAA0B,EAC1B,UAAU,EACV,cAAc,EACd,aAAa,EACb,SAAS,GAEV,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAwF,MAAM,YAAY,CAAC;AAEhJ,MAAM,yBAAyB,GAAG,IAAI,CAAC;AACvC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAC9B,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAC/B,MAAM,uBAAuB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AACjD,MAAM,2BAA2B,GAAG,MAAM,CAAC;AAC3C,sDAAsD;AACtD,MAAM,aAAa,GAAG,GAAG,CAAC;AAQ1B;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAA0B;IACzD,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,cAAc;IACT,OAAO,CAAwB;IACvB,MAAM,CAAS;IACf,GAAG,CAAqB;IACxB,IAAI,CAAqB;IACzB,QAAQ,CAAS;IACjB,OAAO,CAA+B;IACtC,KAAK,CAAU;IACf,MAAM,CAAU;IAChB,MAAM,CAAa;IACnB,aAAa,CAAS;IACtB,iBAAiB,CAAS;IACnC,UAAU,CAAS;IAC3B,2EAA2E;IACnE,UAAU,GAAG,MAAM,CAAC,iBAAiB,CAAC;IACtC,KAAK,GAAiB,EAAE,CAAC;IACzB,UAAU,GAAG,CAAC,CAAC;IACf,KAAK,GAA0C,IAAI,CAAC;IACpD,QAAQ,GAAyB,IAAI,CAAC;IAC9C,gEAAgE;IAC/C,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;IAC7C,IAAY,QAAQ;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;IAChC,CAAC;IACO,aAAa,GAAG,KAAK,CAAC;IACtB,OAAO,GAAG,KAAK,CAAC;IAChB,eAAe,GAAG,CAAC,CAAC;IACpB,cAAc,GAAe,GAAG,EAAE,CAAC,SAAS,CAAC;IACrD,gEAAgE;IAChE,OAAO,GAAG,CAAC,CAAC;IAEZ,YAAY,GAAsB;QAChC,IAAI,CAAC,OAAO,GAAG;YACb,QAAQ,EAAE,CAAC,GAAG,CAAC,QAAQ,IAAI,gBAAgB,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAChE,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,SAAS;YACjC,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,eAAe,IAAI,yBAAyB,CAAC;YAChF,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,IAAI,iBAAiB,CAAC,CAAC;YACjF,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,YAAY,IAAI,iBAAiB,CAAC;SAClE,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,YAAY,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC;QAChC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,aAAa,IAAI,uBAAuB,CAAC,CAAC;QACzF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,iBAAiB,IAAI,2BAA2B,CAAC,CAAC;QAC3F,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,sBAAsB,EAAE,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,aAAa,IAAI,sBAAsB,CAAC,CAAC,CAAC;QAC1H,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC;QAChD,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC;YAC3B,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC;YAC9C,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,UAAU;YACvC,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE;YAC1C,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,gBAAgB,IAAI,0BAA0B,CAAC;YAC5E,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;SAC9D,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;YACpH,OAAO;QACT,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC5B,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACjC,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAC9F,IAAI,GAAG,CAAC,SAAS,IAAI,IAAI;YAAE,IAAI,CAAC,cAAc,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;IACtC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED,GAAG,CAAC,KAAe,EAAE,OAAe,EAAE,OAAiC;QACrE,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,CAAC,KAAe;QAClB,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC;QAChD,IAAI,gBAAgB,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEpD,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,kBAAkB,EAAE,CAAC,CAAC;QACjG,MAAM,IAAI,GAAa;YACrB,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;YACxC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACnB,KAAK;YACL,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO;YAC9C,OAAO,EAAE,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;SACnF,CAAC;QACF,IAAI,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QACzF,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,WAAW,EAAE,OAAO,CAAC;QACtD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,WAAW,EAAE,MAAM,CAAC;QACnD,IAAI,OAAO;YAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACpC,IAAI,MAAM;YAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACjC,IAAI,KAAK,CAAC,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACtD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;QAClC,IAAI,GAAG;YAAE,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;QACrC,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAE3B,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,KAAK,CAAC;QAC5D,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ;YAAE,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC;QACxC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACpC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;YAC7C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,UAAkC,EAAE;QACjD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,CAAC;QACD,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC5F,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACzC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,IAAI,CAAC,KAAK,CAAC,MAAM,8BAA8B,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAChC,2EAA2E;QAC3E,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC/B,OAAO,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAgB;QACjC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,yBAAyB;QAC3B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,QAAgB;QACtC,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC;YACH,4FAA4F;YAC5F,OAAO,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,CAAC,QAAQ,CAAC;YAC1C,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YACpC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;gBAC5C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACvB,CAAC,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,QAAQ,CAAC;QACtB,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,SAAS;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YACxH,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAG,CAAC,KAAK,CAAC;YAC7C,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,KAAK,CAAC,WAAoB;QACtC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACrC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;gBACb,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,CAAC,QAAQ;oBAAE,OAAO;gBAClF,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACjC,SAAS;YACX,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC;YAC5H,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW;gBAAE,OAAO;QAChE,CAAC;IACH,CAAC;IAEO,SAAS;QACf,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,OAAO,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAClE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAE,CAAC,KAAK,GAAG,CAAC,CAAC;YAC1C,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,UAAU,IAAI,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC;gBAAE,MAAM;YACrF,KAAK,IAAI,IAAI,CAAC;YACd,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1C,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC;QACxD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,kEAAkE;IAC1D,YAAY,CAAC,KAAmB,EAAE,MAAkB;QAC1D,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,IAAI;gBACP,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC1B,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;oBACvB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;oBAC3B,IAAI,IAAI,CAAC,KAAK;wBAAE,OAAO,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;gBAC5E,CAAC;gBACD,IAAI,IAAI,CAAC,KAAK;oBAAE,OAAO,CAAC,IAAI,CAAC,yBAAyB,KAAK,CAAC,MAAM,iBAAiB,CAAC,CAAC;gBACrF,OAAO,IAAI,CAAC;YACd,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACnE,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBACtB,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;oBAClB,IAAI,CAAC,QAAQ,CAAC,wCAAwC,KAAK,sBAAsB,CAAC,CAAC;oBACnF,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBACnC,IAAI,IAAI,IAAI,cAAc;oBAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;;oBACzE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5F,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACpB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,KAAK,UAAU;gBACb,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC1B,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC;gBAC7B,IAAI,CAAC,QAAQ,CAAC,kBAAkB,MAAM,CAAC,MAAM,oBAAoB,CAAC,CAAC;gBACnE,OAAO,IAAI,CAAC;YACd,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBAC9C,IAAI,CAAC,QAAQ,CAAC,6BAA6B,IAAI,CAAC,OAAO,CAAC,QAAQ,aAAa,MAAM,CAAC,MAAM,uBAAuB,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;gBAChJ,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACpB,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC;IAEO,OAAO,CAAC,KAAmB;QACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;QAC7B,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC;QACxD,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAEO,QAAQ,CAAC,OAAe;QAC9B,IAAI,IAAI,CAAC,aAAa;YAAE,OAAO;QAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,gBAAgB,OAAO,EAAE,CAAC,CAAC;IAC1C,CAAC;CACF;AAED,SAAS,KAAK,CAAC,KAAqB;IAClC,IAAI,KAAK,YAAY,IAAI;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;IACjH,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IACpE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAAE,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC;IACnE,CAAC;IACD,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,YAAY;IACnB,IAAI,CAAC;QACH,OAAO,QAAQ,EAAE,CAAC;IACpB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CAAC,OAAsC;IAC/D,OAAO,GAA2B,EAAE;QAClC,MAAM,GAAG,GAAG,OAAO,EAAE,WAAW,EAAE,IAAI,kBAAkB,EAAE,CAAC;QAC3D,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,CAAC;QACpB,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;IACtD,CAAC,CAAC;AACJ,CAAC"}
@@ -8,6 +8,8 @@ export declare const LOG_LEVEL_NUMBER: Record<LogLevel, number>;
8
8
  export declare function toLogLevel(value: unknown): LogLevel;
9
9
  /** Linha como o SDK envia. */
10
10
  export interface LogEntry {
11
+ /** Id da linha gerado no shipper: o reenvio do mesmo lote não duplica (dedupe na API, §11). */
12
+ eventId: string;
11
13
  ts: string;
12
14
  level: LogLevel;
13
15
  service: string;
@@ -56,6 +58,18 @@ export interface LogShipperOptions {
56
58
  maxBatch?: number;
57
59
  /** Tamanho máximo da fila antes de descartar as mais antigas. Default 5000. */
58
60
  maxQueueSize?: number;
61
+ /** Memória máxima da fila (JSON das linhas, em bytes). Default 16 MiB. */
62
+ maxQueueBytes?: number;
63
+ /** Teto do corpo de cada POST, em bytes de JSON (antes do gzip). Default e máximo 1,5 MiB. */
64
+ maxBatchBytes?: number;
65
+ /** Timeout de cada POST. Default 10000 ms. */
66
+ requestTimeoutMs?: number;
67
+ /** Prazo do `shutdown()` e do envio na saída do processo. Default 10000 ms. */
68
+ shutdownTimeoutMs?: number;
69
+ /** Compressão dos lotes ≥ 4 KiB. Default `'gzip'` com o `fetch` global, `'none'` com `fetch` próprio (desliga sozinho se a API responder 400/415). */
70
+ compression?: 'gzip' | 'none';
71
+ /** Envia a fila no `beforeExit` e em SIGTERM/SIGINT (como o tracker). Default `true`. */
72
+ exitHooks?: boolean;
59
73
  /** Tracker do FG Tracker para correlação de traceId/spanId (senão usa o contexto global do SDK). */
60
74
  tracker?: SpanContextSource;
61
75
  /** Nível mínimo enviado. Default `trace` (tudo). */
@@ -74,8 +88,10 @@ export interface LogShipper {
74
88
  log(level: LogLevel, message: string, context?: Record<string, unknown>): void;
75
89
  /** Envia imediatamente tudo o que está na fila. */
76
90
  flush(): Promise<void>;
77
- /** Para o timer e envia o que restou. */
78
- shutdown(): Promise<void>;
91
+ /** Para o timer e envia o que restou, em até `timeoutMs` (default `shutdownTimeoutMs`, 10 s). */
92
+ shutdown(options?: {
93
+ timeoutMs?: number;
94
+ }): Promise<void>;
79
95
  /** Linhas aguardando envio. */
80
96
  readonly size: number;
81
97
  readonly enabled: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/logs/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/logs/types.ts"],"names":[],"mappings":"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"}
package/dist/next.js CHANGED
@@ -1,4 +1,4 @@
1
- import { parseTraceparent } from './context.js';
1
+ import { parseTraceContext } from './context.js';
2
2
  import { normalizePath } from './normalize.js';
3
3
  /**
4
4
  * Envolve um route handler do App Router (`export const GET = tracker.wrapNextRoute(...)`)
@@ -28,7 +28,7 @@ export function wrapNextRouteHandler(core, handler) {
28
28
  ip: req.headers.get('x-forwarded-for')?.split(',')[0]?.trim() ?? null,
29
29
  ...(requestId ? { requestId } : {}),
30
30
  };
31
- const remote = parseTraceparent(req.headers.get('traceparent'));
31
+ const remote = parseTraceContext(req.headers.get('traceparent'), req.headers.get('tracestate'));
32
32
  const span = remote
33
33
  ? core.startRemoteRoot('http.server', `${method} ${route}`, attributes, remote)
34
34
  : core.startSpan('http.server', `${method} ${route}`, attributes, null);
package/dist/next.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"next.js","sourceRoot":"","sources":["../src/next.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"next.js","sourceRoot":"","sources":["../src/next.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"node-http.d.ts","sourceRoot":"","sources":["../src/node-http.ts"],"names":[],"mappings":"AAIA,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AA0DjE;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,IAAI,CAkFhE"}
1
+ {"version":3,"file":"node-http.d.ts","sourceRoot":"","sources":["../src/node-http.ts"],"names":[],"mappings":"AAIA,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AA0DjE;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,IAAI,CAqFhE"}
package/dist/node-http.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { subscribe, unsubscribe } from 'node:diagnostics_channel';
2
- import { formatTraceparent, TRACEPARENT_HEADER } from './context.js';
3
- import { normalizePath } from './normalize.js';
2
+ import { TRACEPARENT_HEADER, TRACESTATE_HEADER, traceContextHeaders } from './context.js';
3
+ import { httpClientSemconv, normalizePath } from './normalize.js';
4
4
  import { shouldPropagate } from './tracker.js';
5
5
  const CREATED = 'http.client.request.created';
6
6
  const RESPONSE = 'http.client.response.finish';
@@ -63,6 +63,7 @@ export function instrumentNodeHttp(core) {
63
63
  const span = core.startSpan('http.client', `${method} ${url.origin}${normalizePath(url.pathname)}`, {
64
64
  url: url.origin + url.pathname + url.search,
65
65
  host: url.host,
66
+ ...httpClientSemconv(url),
66
67
  });
67
68
  span.method = method;
68
69
  span.route = normalizePath(url.pathname);
@@ -70,7 +71,10 @@ export function instrumentNodeHttp(core) {
70
71
  // `created` é publicado antes dos headers irem para a rede; `start` já é tarde.
71
72
  if (!request.headersSent && !request.getHeader(TRACEPARENT_HEADER) && shouldPropagate(core.options.propagateTraceTo, url)) {
72
73
  try {
73
- request.setHeader(TRACEPARENT_HEADER, formatTraceparent({ traceId: span.traceId, spanId: span.spanId, sampled: span.sampled }));
74
+ const headers = traceContextHeaders(span.context());
75
+ request.setHeader(TRACEPARENT_HEADER, headers[TRACEPARENT_HEADER]);
76
+ if (headers[TRACESTATE_HEADER] && !request.getHeader(TRACESTATE_HEADER))
77
+ request.setHeader(TRACESTATE_HEADER, headers[TRACESTATE_HEADER]);
74
78
  span.setAttribute('propagated', true);
75
79
  }
76
80
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"node-http.js","sourceRoot":"","sources":["../src/node-http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node-http.js","sourceRoot":"","sources":["../src/node-http.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,39 @@
3
3
  * troca uuids, hex longos e segmentos numéricos por `:id`.
4
4
  */
5
5
  export declare function normalizePath(input: string | undefined | null): string;
6
+ /**
7
+ * `url.full` (semconv OTel) sem credenciais e sem os valores da query string, que costumam
8
+ * levar tokens e assinaturas: `https://api.x.com/v1/a?token=REDACTED&page=REDACTED`.
9
+ */
10
+ export declare function redactedUrl(url: URL): string;
11
+ /** Atributos semconv OTel de uma chamada HTTP de saída (aditivos aos históricos `url`/`host`). */
12
+ export declare function httpClientSemconv(url: URL): Record<string, unknown>;
13
+ /**
14
+ * Comandos do SQL, sem literais, para a análise local (BEGIN/COMMIT/ROLLBACK em vários comandos).
15
+ * Lê o texto inteiro pela leitura padrão (`standard_conforming_strings`); nunca é enviado.
16
+ */
17
+ export declare function sqlCommandText(sql: string): string;
18
+ /** SQL normalizado inteiro (sem o corte de 200 caracteres do nome do span). */
19
+ export declare function normalizeSqlFull(sql: string): string;
6
20
  export declare function normalizeSql(sql: string): string;
21
+ /** `db.query.text` vai até este tamanho (o resto é cortado); o fingerprint usa o texto inteiro. */
22
+ export declare const MAX_DB_QUERY_TEXT = 2048;
23
+ /**
24
+ * Nome do span e atributos semconv de uma query: `db.query.text` (SQL normalizado, sem
25
+ * literais), `db.query.fingerprint` (16 hex do SHA-256 do SQL normalizado **inteiro**, calculado
26
+ * antes do corte de 200 caracteres do nome: duas queries com o mesmo prefixo não se fundem) e
27
+ * `db.operation.name` (primeira palavra: SELECT, INSERT, BEGIN…).
28
+ */
29
+ export declare function sqlSpanFields(sql: string): {
30
+ name: string;
31
+ attributes: Record<string, unknown>;
32
+ };
33
+ /**
34
+ * Atributos de uma falha de banco pelo SQLSTATE: `db.response.status_code` (semconv) e, para
35
+ * disputa de lock, `db.lock.outcome` (`deadlock`, `lock_not_available` — `lock_timeout`/`NOWAIT` —,
36
+ * `serialization_failure` ou `query_canceled` — `statement_timeout`/cancelamento).
37
+ */
38
+ export declare function databaseErrorAttributes(error: unknown): Record<string, unknown>;
7
39
  export declare function toSpanError(err: unknown): {
8
40
  name: string;
9
41
  message: string;
@@ -1 +1 @@
1
- {"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../src/normalize.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,CAetE;AA0CD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQhD;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAW3F"}
1
+ {"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../src/normalize.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,CAetE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAQ5C;AAED,kGAAkG;AAClG,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAGnE;AA2GD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAElD;AAYD,+EAA+E;AAC/E,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAMpD;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGhD;AAED,mGAAmG;AACnG,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAEtC;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAWhG;AASD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAI/E;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAW3F"}