logixia 2.0.10 → 2.1.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/README.md +2 -1
- package/dist/{async-context-Dv0bmPC-.js → async-context-Dgl3ZLyb.js} +4 -4
- package/dist/{async-context-Dv0bmPC-.js.map → async-context-Dgl3ZLyb.js.map} +1 -1
- package/dist/{async-context-COuvmwsS.mjs → async-context-fBqC5lNc.mjs} +3 -3
- package/dist/{async-context-COuvmwsS.mjs.map → async-context-fBqC5lNc.mjs.map} +1 -1
- package/dist/{azure-monitor.transport-CbSHOnNX.d.mts → azure-monitor.transport-C5VjvREZ.d.mts} +2 -2
- package/dist/{azure-monitor.transport-CbSHOnNX.d.mts.map → azure-monitor.transport-C5VjvREZ.d.mts.map} +1 -1
- package/dist/{azure-monitor.transport-Bvf7Xegt.d.ts → azure-monitor.transport-CyHDjHS-.d.ts} +2 -2
- package/dist/{azure-monitor.transport-Bvf7Xegt.d.ts.map → azure-monitor.transport-CyHDjHS-.d.ts.map} +1 -1
- package/dist/{azure-monitor.transport-Coz5Gesu.mjs → azure-monitor.transport-DGiacfvT.mjs} +19 -8
- package/dist/{azure-monitor.transport-Coz5Gesu.mjs.map → azure-monitor.transport-DGiacfvT.mjs.map} +1 -1
- package/dist/{azure-monitor.transport-D6ryi8rA.js → azure-monitor.transport-DX3fuK2t.js} +19 -8
- package/dist/{azure-monitor.transport-D6ryi8rA.js.map → azure-monitor.transport-DX3fuK2t.js.map} +1 -1
- package/dist/azure.d.mts +1 -1
- package/dist/azure.d.ts +1 -1
- package/dist/azure.js +1 -1
- package/dist/azure.mjs +1 -1
- package/dist/{batch-buffer-CFzKnuNZ.js → batch-buffer-BLmVvJAZ.js} +11 -7
- package/dist/{batch-buffer-CFzKnuNZ.js.map → batch-buffer-BLmVvJAZ.js.map} +1 -1
- package/dist/{batch-buffer-CQUWDMYq.mjs → batch-buffer-CM-lK_Qy.mjs} +11 -7
- package/dist/{batch-buffer-CQUWDMYq.mjs.map → batch-buffer-CM-lK_Qy.mjs.map} +1 -1
- package/dist/browser.d.mts +2 -0
- package/dist/browser.d.mts.map +1 -1
- package/dist/browser.d.ts +2 -0
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +42 -13
- package/dist/browser.js.map +1 -1
- package/dist/browser.mjs +42 -13
- package/dist/browser.mjs.map +1 -1
- package/dist/{builder-Bj3mDeBw.mjs → builder-CA_dokb4.mjs} +246 -101
- package/dist/builder-CA_dokb4.mjs.map +1 -0
- package/dist/{builder-BLIStsCK.js → builder-jMlVYaQa.js} +256 -111
- package/dist/builder-jMlVYaQa.js.map +1 -0
- package/dist/cli/index.js +21 -16
- package/dist/cloudwatch.d.mts +1 -1
- package/dist/cloudwatch.d.ts +1 -1
- package/dist/cloudwatch.js +1 -1
- package/dist/cloudwatch.mjs +1 -1
- package/dist/{cloudwatch.transport-Cr1aeTGj.mjs → cloudwatch.transport-Cr0fEpko.mjs} +24 -9
- package/dist/{cloudwatch.transport-Cr1aeTGj.mjs.map → cloudwatch.transport-Cr0fEpko.mjs.map} +1 -1
- package/dist/{cloudwatch.transport-CQyT6U91.d.ts → cloudwatch.transport-DdSjUWvu.d.ts} +2 -2
- package/dist/{cloudwatch.transport-CQyT6U91.d.ts.map → cloudwatch.transport-DdSjUWvu.d.ts.map} +1 -1
- package/dist/{cloudwatch.transport-D4G5xYfG.js → cloudwatch.transport-Lst1Bbmr.js} +24 -9
- package/dist/{cloudwatch.transport-D4G5xYfG.js.map → cloudwatch.transport-Lst1Bbmr.js.map} +1 -1
- package/dist/{cloudwatch.transport-CjVrI6S4.d.mts → cloudwatch.transport-_hS7Mcc5.d.mts} +2 -2
- package/dist/{cloudwatch.transport-CjVrI6S4.d.mts.map → cloudwatch.transport-_hS7Mcc5.d.mts.map} +1 -1
- package/dist/correlation.js +3 -3
- package/dist/correlation.mjs +3 -3
- package/dist/{coerce.utils-C1C5sIX0.js → csv.utils-CbVHY1pd.js} +24 -1
- package/dist/csv.utils-CbVHY1pd.js.map +1 -0
- package/dist/{coerce.utils-B_rEudCn.mjs → csv.utils-ZdxSod5g.mjs} +19 -2
- package/dist/csv.utils-ZdxSod5g.mjs.map +1 -0
- package/dist/{entry-fields-CVwoQplO.js → entry-fields-BSLkzw18.js} +3 -3
- package/dist/{entry-fields-CVwoQplO.js.map → entry-fields-BSLkzw18.js.map} +1 -1
- package/dist/{entry-fields-DNTKQxoU.mjs → entry-fields-J1OBi24o.mjs} +2 -2
- package/dist/{entry-fields-DNTKQxoU.mjs.map → entry-fields-J1OBi24o.mjs.map} +1 -1
- package/dist/gcp.d.mts +1 -1
- package/dist/gcp.d.ts +1 -1
- package/dist/gcp.js +1 -1
- package/dist/gcp.mjs +1 -1
- package/dist/{gcp.transport-CVuRpchl.js → gcp.transport-5-ZIjN8r.js} +18 -9
- package/dist/{gcp.transport-CVuRpchl.js.map → gcp.transport-5-ZIjN8r.js.map} +1 -1
- package/dist/{gcp.transport-D9SdLPwP.d.mts → gcp.transport-C8VJiEM7.d.mts} +2 -2
- package/dist/{gcp.transport-D9SdLPwP.d.mts.map → gcp.transport-C8VJiEM7.d.mts.map} +1 -1
- package/dist/{gcp.transport-BCIvdFV-.d.ts → gcp.transport-Ct0BtKFo.d.ts} +2 -2
- package/dist/{gcp.transport-BCIvdFV-.d.ts.map → gcp.transport-Ct0BtKFo.d.ts.map} +1 -1
- package/dist/{gcp.transport-LLK2bw2-.mjs → gcp.transport-Cw3Qke85.mjs} +18 -9
- package/dist/{gcp.transport-LLK2bw2-.mjs.map → gcp.transport-Cw3Qke85.mjs.map} +1 -1
- package/dist/{index-BAkPHp5D.d.mts → index-B3ajtXJd.d.mts} +2 -2
- package/dist/{index-BAkPHp5D.d.mts.map → index-B3ajtXJd.d.mts.map} +1 -1
- package/dist/{index-e7LowmAu.d.ts → index-oqD3WNxf.d.ts} +2 -2
- package/dist/{index-e7LowmAu.d.ts.map → index-oqD3WNxf.d.ts.map} +1 -1
- package/dist/index.d.mts +8 -7
- package/dist/index.d.mts.map +1 -1
- package/dist/index.d.ts +8 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +44 -26
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +34 -17
- package/dist/index.mjs.map +1 -1
- package/dist/{logitron-logger-DVUdgmBY.d.ts → logitron-logger-Csn3e6Qu.d.ts} +2 -2
- package/dist/{logitron-logger-DVUdgmBY.d.ts.map → logitron-logger-Csn3e6Qu.d.ts.map} +1 -1
- package/dist/{logitron-logger-DoWmMjYB.d.mts → logitron-logger-fMOkXr8H.d.mts} +2 -2
- package/dist/{logitron-logger-DoWmMjYB.d.mts.map → logitron-logger-fMOkXr8H.d.mts.map} +1 -1
- package/dist/middleware.d.mts +1 -1
- package/dist/middleware.d.mts.map +1 -1
- package/dist/middleware.d.ts +1 -1
- package/dist/middleware.d.ts.map +1 -1
- package/dist/middleware.js +12 -7
- package/dist/middleware.js.map +1 -1
- package/dist/middleware.mjs +11 -6
- package/dist/middleware.mjs.map +1 -1
- package/dist/nest.d.mts +51 -18
- package/dist/nest.d.mts.map +1 -1
- package/dist/nest.d.ts +51 -18
- package/dist/nest.d.ts.map +1 -1
- package/dist/nest.js +207 -65
- package/dist/nest.js.map +1 -1
- package/dist/nest.mjs +202 -60
- package/dist/nest.mjs.map +1 -1
- package/dist/{otel-ChnVYRLA.js → otel-8ypFGG19.js} +452 -120
- package/dist/otel-8ypFGG19.js.map +1 -0
- package/dist/{otel-DOuwGPCd.mjs → otel-b-s2QbY4.mjs} +450 -118
- package/dist/otel-b-s2QbY4.mjs.map +1 -0
- package/dist/own-property-BWkibepN.js +40 -0
- package/dist/own-property-BWkibepN.js.map +1 -0
- package/dist/own-property-CjFw9qwZ.mjs +29 -0
- package/dist/own-property-CjFw9qwZ.mjs.map +1 -0
- package/dist/{request-trace-ByujsUZk.js → request-trace-C7kXMjx5.js} +5 -6
- package/dist/{request-trace-ByujsUZk.js.map → request-trace-C7kXMjx5.js.map} +1 -1
- package/dist/{request-trace-BgNykH9M.mjs → request-trace-Dekcnenb.mjs} +5 -6
- package/dist/{request-trace-BgNykH9M.mjs.map → request-trace-Dekcnenb.mjs.map} +1 -1
- package/dist/{safe-stringify--7gbe95n.mjs → safe-stringify-B5p5ktFe.mjs} +2 -2
- package/dist/{safe-stringify--7gbe95n.mjs.map → safe-stringify-B5p5ktFe.mjs.map} +1 -1
- package/dist/{safe-stringify-CN7icp8S.js → safe-stringify-J3sh-7YM.js} +5 -5
- package/dist/{safe-stringify-CN7icp8S.js.map → safe-stringify-J3sh-7YM.js.map} +1 -1
- package/dist/{search-DPwTKPve.d.ts → search-B-hJe2N-.d.mts} +9 -8
- package/dist/{search-D-8HJADE.d.mts.map → search-B-hJe2N-.d.mts.map} +1 -1
- package/dist/{search-D-8HJADE.d.mts → search-BlKBLm5D.d.ts} +9 -8
- package/dist/{search-DPwTKPve.d.ts.map → search-BlKBLm5D.d.ts.map} +1 -1
- package/dist/{search-DAXKE-P9.mjs → search-CTR4XNHq.mjs} +91 -44
- package/dist/search-CTR4XNHq.mjs.map +1 -0
- package/dist/{search-CRjhHxe9.js → search-_qx4YzRP.js} +94 -47
- package/dist/search-_qx4YzRP.js.map +1 -0
- package/dist/search.d.mts +1 -1
- package/dist/search.d.ts +1 -1
- package/dist/search.js +1 -1
- package/dist/search.mjs +1 -1
- package/dist/{secret-config-BvFl2dC8.js → secret-config--cVTOWwp.js} +6 -5
- package/dist/{secret-config-BvFl2dC8.js.map → secret-config--cVTOWwp.js.map} +1 -1
- package/dist/{secret-config-ByGq7kJd.mjs → secret-config-GKmb15Me.mjs} +3 -2
- package/dist/{secret-config-ByGq7kJd.mjs.map → secret-config-GKmb15Me.mjs.map} +1 -1
- package/dist/{sensitive-names-o__1PUUR.mjs → sensitive-names-BiBM6R1X.mjs} +2 -28
- package/dist/sensitive-names-BiBM6R1X.mjs.map +1 -0
- package/dist/{sensitive-names-CHMowujD.js → sensitive-names-NiKIRhp5.js} +5 -37
- package/dist/sensitive-names-NiKIRhp5.js.map +1 -0
- package/dist/{slack.transport-BDyENuR0.d.mts → slack.transport-5OPL7H3u.d.mts} +76 -3
- package/dist/slack.transport-5OPL7H3u.d.mts.map +1 -0
- package/dist/{slack.transport-C6E0l4kw.d.ts → slack.transport-BFpBD_Ri.d.ts} +76 -3
- package/dist/slack.transport-BFpBD_Ri.d.ts.map +1 -0
- package/dist/{slack.transport-zLQ9MGxS.js → slack.transport-Cpx5fKga.js} +272 -21
- package/dist/slack.transport-Cpx5fKga.js.map +1 -0
- package/dist/{slack.transport-CSj1j0_X.mjs → slack.transport-Qwj9WkrJ.mjs} +267 -22
- package/dist/slack.transport-Qwj9WkrJ.mjs.map +1 -0
- package/dist/testing.d.mts +1 -1
- package/dist/testing.d.ts +1 -1
- package/dist/{transport.types-CzJq4IrF.d.ts → transport.types-B1ejJJP6.d.mts} +6 -1
- package/dist/transport.types-B1ejJJP6.d.mts.map +1 -0
- package/dist/{transport.types-CzJq4IrF.d.mts → transport.types-B1ejJJP6.d.ts} +6 -1
- package/dist/transport.types-B1ejJJP6.d.ts.map +1 -0
- package/dist/transports.d.mts +61 -11
- package/dist/transports.d.mts.map +1 -1
- package/dist/transports.d.ts +61 -11
- package/dist/transports.d.ts.map +1 -1
- package/dist/transports.js +7 -6
- package/dist/transports.mjs +7 -7
- package/dist/worker-entry.js +200 -52
- package/dist/worker.d.mts +1 -1
- package/dist/worker.d.ts +1 -1
- package/dist/worker.js +1 -1
- package/dist/worker.mjs +1 -1
- package/dist/{worker.transport-B9mCQSM1.d.ts → worker.transport-B7olL1Uh.d.ts} +12 -2
- package/dist/worker.transport-B7olL1Uh.d.ts.map +1 -0
- package/dist/{worker.transport-D78xhNhB.mjs → worker.transport-BHnWDXPH.mjs} +59 -13
- package/dist/worker.transport-BHnWDXPH.mjs.map +1 -0
- package/dist/{worker.transport-DQDv1nAJ.js → worker.transport-C7jNGhev.js} +59 -13
- package/dist/worker.transport-C7jNGhev.js.map +1 -0
- package/dist/{worker.transport-Bl8lFRck.d.mts → worker.transport-DnU0_9Bd.d.mts} +12 -2
- package/dist/worker.transport-DnU0_9Bd.d.mts.map +1 -0
- package/package.json +10 -3
- package/dist/builder-BLIStsCK.js.map +0 -1
- package/dist/builder-Bj3mDeBw.mjs.map +0 -1
- package/dist/coerce.utils-B_rEudCn.mjs.map +0 -1
- package/dist/coerce.utils-C1C5sIX0.js.map +0 -1
- package/dist/otel-ChnVYRLA.js.map +0 -1
- package/dist/otel-DOuwGPCd.mjs.map +0 -1
- package/dist/search-CRjhHxe9.js.map +0 -1
- package/dist/search-DAXKE-P9.mjs.map +0 -1
- package/dist/sensitive-names-CHMowujD.js.map +0 -1
- package/dist/sensitive-names-o__1PUUR.mjs.map +0 -1
- package/dist/slack.transport-BDyENuR0.d.mts.map +0 -1
- package/dist/slack.transport-C6E0l4kw.d.ts.map +0 -1
- package/dist/slack.transport-CSj1j0_X.mjs.map +0 -1
- package/dist/slack.transport-zLQ9MGxS.js.map +0 -1
- package/dist/transport.types-CzJq4IrF.d.mts.map +0 -1
- package/dist/transport.types-CzJq4IrF.d.ts.map +0 -1
- package/dist/worker.transport-B9mCQSM1.d.ts.map +0 -1
- package/dist/worker.transport-Bl8lFRck.d.mts.map +0 -1
- package/dist/worker.transport-D78xhNhB.mjs.map +0 -1
- package/dist/worker.transport-DQDv1nAJ.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch-buffer-
|
|
1
|
+
{"version":3,"file":"batch-buffer-CM-lK_Qy.mjs","names":[],"sources":["../src/transports/batch-buffer.ts"],"sourcesContent":["/**\n * Shared batching core for the network transports (OTLP, CloudWatch, GCP, Azure).\n *\n * - one send in flight at a time; flush() and close() join it instead of\n * racing it, so close() cannot return while a request is still on the wire\n * - a failed batch goes back to the front in its original order\n * - 4xx responses other than 429 drop the batch with a warning instead of\n * retrying a request the server will never accept\n * - the buffer is capped; when full the oldest entries are dropped\n */\n\nimport * as http from 'node:http';\nimport * as https from 'node:https';\n\nimport { internalError, internalWarn } from '../utils/internal-log';\nimport { scrubbing, scrubError } from './secret-config';\n\nexport const DEFAULT_REQUEST_TIMEOUT_MS = 10_000;\nexport const DEFAULT_MAX_BUFFER_SIZE = 10_000;\nconst WARN_INTERVAL_MS = 10_000;\nconst MAX_ERROR_BODY = 500;\nconst MAX_BACKOFF_MS = 30_000;\n\nexport class HttpError extends Error {\n constructor(\n public readonly status: number,\n public readonly body: string,\n label: string\n ) {\n const detail = body ? `: ${body.slice(0, MAX_ERROR_BODY)}` : '';\n super(`${label} returned HTTP ${status}${detail}`);\n this.name = 'HttpError';\n }\n}\n\nexport function isPermanentHttpError(err: unknown): boolean {\n return err instanceof HttpError && err.status >= 400 && err.status < 500 && err.status !== 429;\n}\n\nexport interface HttpRequestOptions {\n url: URL;\n method?: string;\n headers?: Record<string, string>;\n body?: string;\n timeoutMs: number;\n label: string;\n /** Secret values to scrub from any error this request raises. URL userinfo is always scrubbed. */\n secrets?: () => (string | undefined)[];\n}\n\nexport interface HttpResult {\n status: number;\n body: string;\n}\n\n/** One request with a hard timeout. Rejects with HttpError on any non-2xx status. */\nexport function httpRequest(opts: HttpRequestOptions): Promise<HttpResult> {\n return sendRequest(opts).catch(scrubbing(opts.secrets ?? (() => [])));\n}\n\nfunction sendRequest(opts: HttpRequestOptions): Promise<HttpResult> {\n const { url, method = 'POST', headers = {}, body, timeoutMs, label } = opts;\n const transport = url.protocol === 'http:' ? http : https;\n return new Promise<HttpResult>((resolve, reject) => {\n const req = transport.request(\n {\n protocol: url.protocol,\n hostname: url.hostname,\n port: url.port || undefined,\n path: `${url.pathname}${url.search}`,\n method,\n headers:\n body === undefined ? headers : { ...headers, 'Content-Length': Buffer.byteLength(body) },\n },\n (res) => {\n let raw = '';\n res.on('data', (c: Buffer) => (raw += c.toString()));\n res.on('end', () => {\n const status = res.statusCode ?? 0;\n if (status >= 200 && status < 300) resolve({ status, body: raw });\n else reject(new HttpError(status, raw, label));\n });\n res.on('error', reject);\n }\n );\n req.setTimeout(timeoutMs, () => {\n req.destroy(new Error(`${label} timed out after ${timeoutMs}ms`));\n });\n req.on('error', reject);\n if (body !== undefined) req.write(body);\n req.end();\n });\n}\n\nexport interface BatchBufferOptions<T> {\n name: string;\n batchSize: number;\n maxBufferSize?: number;\n send: (items: T[]) => Promise<void>;\n /** Secret values to scrub from send errors before they are stored or logged. */\n secrets?: () => (string | undefined)[];\n /** Overrides the default drop-on-4xx rule. Return true to keep and retry the batch. */\n shouldRetry?: (err: unknown) => boolean;\n}\n\nexport class BatchBuffer<T> {\n private items: T[] = [];\n private inFlight: Promise<void> | undefined;\n private dropped = 0;\n private lastDropWarn = 0;\n private failures = 0;\n private retryAfter = 0;\n\n constructor(private readonly opts: BatchBufferOptions<T>) {}\n\n get length(): number {\n return this.items.length;\n }\n\n get batchSize(): number {\n return this.opts.batchSize;\n }\n\n push(item: T): void {\n this.items.push(item);\n this.enforceCap();\n }\n\n /** Threshold flush for write(): skipped while a send is running or the endpoint is backing off. */\n flushIfFull(): void {\n if (this.items.length < this.opts.batchSize || this.inFlight || Date.now() < this.retryAfter) {\n return;\n }\n this.flush().catch(() => {});\n }\n\n flush(): Promise<void> {\n if (!this.inFlight) {\n this.inFlight = this.drain().finally(() => {\n this.inFlight = undefined;\n });\n }\n return this.inFlight;\n }\n\n /** Flush up to `attempts` times, then report whatever is still undelivered. */\n async close(attempts = 3): Promise<void> {\n await this.inFlight;\n for (let i = 0; i < attempts && this.items.length > 0; i += 1) {\n await this.flush();\n }\n if (this.items.length > 0) {\n internalError(\n `${this.opts.name} closing with ${this.items.length} undelivered entr${this.items.length === 1 ? 'y' : 'ies'}`\n );\n }\n }\n\n private async drain(): Promise<void> {\n while (this.items.length > 0) {\n const batch = this.items.splice(0, this.opts.batchSize);\n try {\n await this.opts.send(batch);\n this.failures = 0;\n } catch (err) {\n scrubError(err, this.opts.secrets?.() ?? []);\n const retry = this.opts.shouldRetry\n ? this.opts.shouldRetry(err)\n : !isPermanentHttpError(err);\n if (!retry) {\n internalWarn(\n `${this.opts.name}: dropping ${batch.length} entr${batch.length === 1 ? 'y' : 'ies'} the server rejected (${err instanceof Error ? err.message : String(err)})`\n );\n continue;\n }\n internalError(`${this.opts.name} flush error`, err);\n this.items.unshift(...batch);\n this.enforceCap();\n this.failures += 1;\n this.retryAfter = Date.now() + Math.min(MAX_BACKOFF_MS, 1000 * 2 ** (this.failures - 1));\n return;\n }\n }\n }\n\n private enforceCap(): void {\n const max = this.opts.maxBufferSize ?? DEFAULT_MAX_BUFFER_SIZE;\n const excess = this.items.length - max;\n if (excess <= 0) return;\n this.items.splice(0, excess);\n this.dropped += excess;\n const now = Date.now();\n if (now - this.lastDropWarn >= WARN_INTERVAL_MS) {\n internalWarn(\n `${this.opts.name}: buffer full (${max}), dropped ${this.dropped} oldest entr${this.dropped === 1 ? 'y' : 'ies'}`\n );\n this.dropped = 0;\n this.lastDropWarn = now;\n }\n }\n}\n"],"mappings":"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"}
|
package/dist/browser.d.mts
CHANGED
|
@@ -335,6 +335,8 @@ export declare class BrowserRemoteTransport implements IBrowserTransport {
|
|
|
335
335
|
private readonly silent;
|
|
336
336
|
private readonly onError;
|
|
337
337
|
private reporting;
|
|
338
|
+
private consecutiveFailures;
|
|
339
|
+
private retryAt;
|
|
338
340
|
private failureReported;
|
|
339
341
|
private lastReportAt;
|
|
340
342
|
private lastRecoveryAt;
|
package/dist/browser.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.d.mts","names":[],"sources":["../src/utils/otel.ts","../src/utils/typed-logger.ts","../src/browser.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAsCiB;;EAEf;;EAEA;;EAEA;;EAEA;;UAGe;;;;;EAKf;;;;;EAKA;;;;;EAKA;;;;;EAKA;;;;;;;;;;;wBA4Cc,qBAAqB,OAAM,oBAAyB;;;;;;;;;;;;;;;wBA0CpD,kBAAkB,OAAM,oBAAyB;;;;;;;;;;;;;;wBA8BjD,eAAe,OAAM;;;;wBAyCrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KCrLJ;UAEK;EACf,MAAM;;EAEN;;EAEA,YAAY;;KAGF,UAAU,6BACnB,WAAW,UAAU;UAGP,eAAe;WACrB,QAAQ,UAAU;;;;;;EAM3B,SAAS,SAAS,QAAQ;;;;;;;;wBAqBZ,gBAAgB,wBAC9B,QAAQ,UAAU,WACjB,eAAe;;UAqCD;EACf,MAAM,kBAAkB,OAAO,OAAO,0BAA0B;EAChE,KAAK,iBAAiB,OAAO,0BAA0B;EACvD,KAAK,iBAAiB,OAAO,0BAA0B;EACvD,MAAM,iBAAiB,OAAO,0BAA0B;EACxD,SAAS,iBAAiB,OAAO,0BAA0B;EAC3D,OAAO,iBAAiB,OAAO,0BAA0B;;;;;;;;UAS1C,YAAY;EAC3B,MAAM,OAAO,OAAO,OAAO,QAAQ,WAAW;EAC9C,MAAM,iBAAiB,OAAO,QAAQ,WAAW;EACjD,KAAK,iBAAiB,OAAO,QAAQ,WAAW;EAChD,KAAK,iBAAiB,OAAO,QAAQ,WAAW;EAChD,MAAM,iBAAiB,OAAO,QAAQ,WAAW;EACjD,QAAQ,iBAAiB,OAAO,QAAQ,WAAW;EACnD,MAAM,iBAAiB,OAAO,QAAQ,WAAW;;WAExC,KAAK;;;;;;;;wBASA,kBAAkB,wBAChC,QAAQ,YACR,SAAS,eAAe,WACvB,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YCxHH;iBAEK;EACf;EACA,OAAO;EACP;EACA;EACA,UAAU;EACV;EACA;;iBAGe;;EAEf;;EAEA,QAAQ;;;;;;EAMR;;;;;EAKA,aAAa;;EAEb;;EAEA,UAAU;;iBAGK;EACf;EACA,QAAQ;EACR,MAAM,OAAO;;;;;;;;;;;;;qBA+BF,mCAAmC;WAC9B;WACA,QAAQ;mBAEP;EAEL,YAAA;IAAW;IAAgB,QAAQ;;EAK/C,MAAM,OAAO;UASL;UAmBA;UAuCA;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"browser.d.mts","names":[],"sources":["../src/utils/otel.ts","../src/utils/typed-logger.ts","../src/browser.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAsCiB;;EAEf;;EAEA;;EAEA;;EAEA;;UAGe;;;;;EAKf;;;;;EAKA;;;;;EAKA;;;;;EAKA;;;;;;;;;;;wBA4Cc,qBAAqB,OAAM,oBAAyB;;;;;;;;;;;;;;;wBA0CpD,kBAAkB,OAAM,oBAAyB;;;;;;;;;;;;;;wBA8BjD,eAAe,OAAM;;;;wBAyCrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KCrLJ;UAEK;EACf,MAAM;;EAEN;;EAEA,YAAY;;KAGF,UAAU,6BACnB,WAAW,UAAU;UAGP,eAAe;WACrB,QAAQ,UAAU;;;;;;EAM3B,SAAS,SAAS,QAAQ;;;;;;;;wBAqBZ,gBAAgB,wBAC9B,QAAQ,UAAU,WACjB,eAAe;;UAqCD;EACf,MAAM,kBAAkB,OAAO,OAAO,0BAA0B;EAChE,KAAK,iBAAiB,OAAO,0BAA0B;EACvD,KAAK,iBAAiB,OAAO,0BAA0B;EACvD,MAAM,iBAAiB,OAAO,0BAA0B;EACxD,SAAS,iBAAiB,OAAO,0BAA0B;EAC3D,OAAO,iBAAiB,OAAO,0BAA0B;;;;;;;;UAS1C,YAAY;EAC3B,MAAM,OAAO,OAAO,OAAO,QAAQ,WAAW;EAC9C,MAAM,iBAAiB,OAAO,QAAQ,WAAW;EACjD,KAAK,iBAAiB,OAAO,QAAQ,WAAW;EAChD,KAAK,iBAAiB,OAAO,QAAQ,WAAW;EAChD,MAAM,iBAAiB,OAAO,QAAQ,WAAW;EACjD,QAAQ,iBAAiB,OAAO,QAAQ,WAAW;EACnD,MAAM,iBAAiB,OAAO,QAAQ,WAAW;;WAExC,KAAK;;;;;;;;wBASA,kBAAkB,wBAChC,QAAQ,YACR,SAAS,eAAe,WACvB,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YCxHH;iBAEK;EACf;EACA,OAAO;EACP;EACA;EACA,UAAU;EACV;EACA;;iBAGe;;EAEf;;EAEA,QAAQ;;;;;;EAMR;;;;;EAKA,aAAa;;EAEb;;EAEA,UAAU;;iBAGK;EACf;EACA,QAAQ;EACR,MAAM,OAAO;;;;;;;;;;;;;qBA+BF,mCAAmC;WAC9B;WACA,QAAQ;mBAEP;EAEL,YAAA;IAAW;IAAgB,QAAQ;;EAK/C,MAAM,OAAO;UASL;UAmBA;UAuCA;;;;;;;;;;;;;;;;;;;qBAiGG,kCAAkC;WAC7B;WACA,QAAQ;mBAEP;mBACA;mBACA;mBACA;mBACA;UAET;UACA;UACA;UACA;UACA;UACA;mBACS;mBACA;UACT;UACA;UACA;UACA;UACA;UACA;EAEI,YAAA;;IAEV;;IAEA,UAAU;;IAEV;;;;;;IAMA;;;;;IAKA;IACA,QAAQ;;;;;;;IAOR;;;;;;;IAOA,WAAW;;;;;;;MAmBT;;MAKA;;;;;;MASA;EAIJ,MAAM,OAAO;EAmBP,SAAS;UA8CP;UASA;UA8BA;UAgBA;UASA;;;;;;EAoBR;;;;;;;;qBAiBW;mBACM;mBAKA;EAEL,YAAA,SAAQ;EAmBpB,QAAQ,iBAAiB,UAAU;EAInC,MAAM,iBAAiB,UAAU;EAIjC,KAAK,iBAAiB,UAAU;EAIhC,IAAI,iBAAiB,UAAU;EAI/B,KAAK,iBAAiB,UAAU;EAIhC,MAAM,iBAAiB,UAAU;EAIjC,SAAS,iBAAiB,UAAU;;;;;;;;;;;EAcpC,MAAM,cAAc,0BAA0B;UAgBtC;;;;;;;;;;;;;wBAiCM,oBAAoB,SAAS,sBAAsB;;;;;;;;;;qBAmCtD,eAAa"}
|
package/dist/browser.d.ts
CHANGED
|
@@ -335,6 +335,8 @@ export declare class BrowserRemoteTransport implements IBrowserTransport {
|
|
|
335
335
|
private readonly silent;
|
|
336
336
|
private readonly onError;
|
|
337
337
|
private reporting;
|
|
338
|
+
private consecutiveFailures;
|
|
339
|
+
private retryAt;
|
|
338
340
|
private failureReported;
|
|
339
341
|
private lastReportAt;
|
|
340
342
|
private lastRecoveryAt;
|
package/dist/browser.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.d.ts","names":[],"sources":["../src/utils/otel.ts","../src/utils/typed-logger.ts","../src/browser.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAsCiB;;EAEf;;EAEA;;EAEA;;EAEA;;UAGe;;;;;EAKf;;;;;EAKA;;;;;EAKA;;;;;EAKA;;;;;;;;;;;wBA4Cc,qBAAqB,OAAM,oBAAyB;;;;;;;;;;;;;;;wBA0CpD,kBAAkB,OAAM,oBAAyB;;;;;;;;;;;;;;wBA8BjD,eAAe,OAAM;;;;wBAyCrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KCrLJ;UAEK;EACf,MAAM;;EAEN;;EAEA,YAAY;;KAGF,UAAU,6BACnB,WAAW,UAAU;UAGP,eAAe;WACrB,QAAQ,UAAU;;;;;;EAM3B,SAAS,SAAS,QAAQ;;;;;;;;wBAqBZ,gBAAgB,wBAC9B,QAAQ,UAAU,WACjB,eAAe;;UAqCD;EACf,MAAM,kBAAkB,OAAO,OAAO,0BAA0B;EAChE,KAAK,iBAAiB,OAAO,0BAA0B;EACvD,KAAK,iBAAiB,OAAO,0BAA0B;EACvD,MAAM,iBAAiB,OAAO,0BAA0B;EACxD,SAAS,iBAAiB,OAAO,0BAA0B;EAC3D,OAAO,iBAAiB,OAAO,0BAA0B;;;;;;;;UAS1C,YAAY;EAC3B,MAAM,OAAO,OAAO,OAAO,QAAQ,WAAW;EAC9C,MAAM,iBAAiB,OAAO,QAAQ,WAAW;EACjD,KAAK,iBAAiB,OAAO,QAAQ,WAAW;EAChD,KAAK,iBAAiB,OAAO,QAAQ,WAAW;EAChD,MAAM,iBAAiB,OAAO,QAAQ,WAAW;EACjD,QAAQ,iBAAiB,OAAO,QAAQ,WAAW;EACnD,MAAM,iBAAiB,OAAO,QAAQ,WAAW;;WAExC,KAAK;;;;;;;;wBASA,kBAAkB,wBAChC,QAAQ,YACR,SAAS,eAAe,WACvB,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YCxHH;iBAEK;EACf;EACA,OAAO;EACP;EACA;EACA,UAAU;EACV;EACA;;iBAGe;;EAEf;;EAEA,QAAQ;;;;;;EAMR;;;;;EAKA,aAAa;;EAEb;;EAEA,UAAU;;iBAGK;EACf;EACA,QAAQ;EACR,MAAM,OAAO;;;;;;;;;;;;;qBA+BF,mCAAmC;WAC9B;WACA,QAAQ;mBAEP;EAEL,YAAA;IAAW;IAAgB,QAAQ;;EAK/C,MAAM,OAAO;UASL;UAmBA;UAuCA;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"browser.d.ts","names":[],"sources":["../src/utils/otel.ts","../src/utils/typed-logger.ts","../src/browser.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAsCiB;;EAEf;;EAEA;;EAEA;;EAEA;;UAGe;;;;;EAKf;;;;;EAKA;;;;;EAKA;;;;;EAKA;;;;;;;;;;;wBA4Cc,qBAAqB,OAAM,oBAAyB;;;;;;;;;;;;;;;wBA0CpD,kBAAkB,OAAM,oBAAyB;;;;;;;;;;;;;;wBA8BjD,eAAe,OAAM;;;;wBAyCrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KCrLJ;UAEK;EACf,MAAM;;EAEN;;EAEA,YAAY;;KAGF,UAAU,6BACnB,WAAW,UAAU;UAGP,eAAe;WACrB,QAAQ,UAAU;;;;;;EAM3B,SAAS,SAAS,QAAQ;;;;;;;;wBAqBZ,gBAAgB,wBAC9B,QAAQ,UAAU,WACjB,eAAe;;UAqCD;EACf,MAAM,kBAAkB,OAAO,OAAO,0BAA0B;EAChE,KAAK,iBAAiB,OAAO,0BAA0B;EACvD,KAAK,iBAAiB,OAAO,0BAA0B;EACvD,MAAM,iBAAiB,OAAO,0BAA0B;EACxD,SAAS,iBAAiB,OAAO,0BAA0B;EAC3D,OAAO,iBAAiB,OAAO,0BAA0B;;;;;;;;UAS1C,YAAY;EAC3B,MAAM,OAAO,OAAO,OAAO,QAAQ,WAAW;EAC9C,MAAM,iBAAiB,OAAO,QAAQ,WAAW;EACjD,KAAK,iBAAiB,OAAO,QAAQ,WAAW;EAChD,KAAK,iBAAiB,OAAO,QAAQ,WAAW;EAChD,MAAM,iBAAiB,OAAO,QAAQ,WAAW;EACjD,QAAQ,iBAAiB,OAAO,QAAQ,WAAW;EACnD,MAAM,iBAAiB,OAAO,QAAQ,WAAW;;WAExC,KAAK;;;;;;;;wBASA,kBAAkB,wBAChC,QAAQ,YACR,SAAS,eAAe,WACvB,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YCxHH;iBAEK;EACf;EACA,OAAO;EACP;EACA;EACA,UAAU;EACV;EACA;;iBAGe;;EAEf;;EAEA,QAAQ;;;;;;EAMR;;;;;EAKA,aAAa;;EAEb;;EAEA,UAAU;;iBAGK;EACf;EACA,QAAQ;EACR,MAAM,OAAO;;;;;;;;;;;;;qBA+BF,mCAAmC;WAC9B;WACA,QAAQ;mBAEP;EAEL,YAAA;IAAW;IAAgB,QAAQ;;EAK/C,MAAM,OAAO;UASL;UAmBA;UAuCA;;;;;;;;;;;;;;;;;;;qBAiGG,kCAAkC;WAC7B;WACA,QAAQ;mBAEP;mBACA;mBACA;mBACA;mBACA;UAET;UACA;UACA;UACA;UACA;UACA;mBACS;mBACA;UACT;UACA;UACA;UACA;UACA;UACA;EAEI,YAAA;;IAEV;;IAEA,UAAU;;IAEV;;;;;;IAMA;;;;;IAKA;IACA,QAAQ;;;;;;;IAOR;;;;;;;IAOA,WAAW;;;;;;;MAmBT;;MAKA;;;;;;MASA;EAIJ,MAAM,OAAO;EAmBP,SAAS;UA8CP;UASA;UA8BA;UAgBA;UASA;;;;;;EAoBR;;;;;;;;qBAiBW;mBACM;mBAKA;EAEL,YAAA,SAAQ;EAmBpB,QAAQ,iBAAiB,UAAU;EAInC,MAAM,iBAAiB,UAAU;EAIjC,KAAK,iBAAiB,UAAU;EAIhC,IAAI,iBAAiB,UAAU;EAI/B,KAAK,iBAAiB,UAAU;EAIhC,MAAM,iBAAiB,UAAU;EAIjC,SAAS,iBAAiB,UAAU;;;;;;;;;;;EAcpC,MAAM,cAAc,0BAA0B;UAgBtC;;;;;;;;;;;;;wBAiCM,oBAAoB,SAAS,sBAAsB;;;;;;;;;;qBAmCtD,eAAa"}
|
package/dist/browser.js
CHANGED
|
@@ -646,8 +646,10 @@ function shouldLog(entryLevel, minLevel) {
|
|
|
646
646
|
* - Emits compact JSON strings via `console.log` / `console.error`
|
|
647
647
|
*/
|
|
648
648
|
var BrowserConsoleTransport = class {
|
|
649
|
+
name = "browser-console";
|
|
650
|
+
level;
|
|
651
|
+
json;
|
|
649
652
|
constructor(options = {}) {
|
|
650
|
-
this.name = "browser-console";
|
|
651
653
|
this.json = options.json ?? false;
|
|
652
654
|
if (options.level !== void 0) this.level = options.level;
|
|
653
655
|
}
|
|
@@ -731,6 +733,7 @@ function byteLength(s) {
|
|
|
731
733
|
return new TextEncoder().encode(s).length;
|
|
732
734
|
}
|
|
733
735
|
const FAILURE_REPORT_INTERVAL_MS = 6e4;
|
|
736
|
+
const MAX_RETRY_BACKOFF_MS = 6e4;
|
|
734
737
|
/**
|
|
735
738
|
* Error name/code, HTTP status and host only. The error message is never
|
|
736
739
|
* included: runtimes embed request URLs (absolute or relative) and header
|
|
@@ -776,15 +779,28 @@ function isKeepaliveError(error) {
|
|
|
776
779
|
* ```
|
|
777
780
|
*/
|
|
778
781
|
var BrowserRemoteTransport = class {
|
|
782
|
+
name = "browser-remote";
|
|
783
|
+
level;
|
|
784
|
+
url;
|
|
785
|
+
batchSize;
|
|
786
|
+
flushIntervalMs;
|
|
787
|
+
maxBufferSize;
|
|
788
|
+
headers;
|
|
789
|
+
batch = [];
|
|
790
|
+
keepaliveSupported = true;
|
|
791
|
+
failedFlushCount = 0;
|
|
792
|
+
lastFlushError;
|
|
793
|
+
timer = null;
|
|
794
|
+
droppedEntries = 0;
|
|
795
|
+
silent;
|
|
796
|
+
onError;
|
|
797
|
+
reporting = false;
|
|
798
|
+
consecutiveFailures = 0;
|
|
799
|
+
retryAt = 0;
|
|
800
|
+
failureReported = false;
|
|
801
|
+
lastReportAt;
|
|
802
|
+
lastRecoveryAt;
|
|
779
803
|
constructor(options) {
|
|
780
|
-
this.name = "browser-remote";
|
|
781
|
-
this.batch = [];
|
|
782
|
-
this.keepaliveSupported = true;
|
|
783
|
-
this.failedFlushCount = 0;
|
|
784
|
-
this.timer = null;
|
|
785
|
-
this.droppedEntries = 0;
|
|
786
|
-
this.reporting = false;
|
|
787
|
-
this.failureReported = false;
|
|
788
804
|
this.silent = options.silent ?? isBrowserPage();
|
|
789
805
|
this.onError = options.onError;
|
|
790
806
|
this.url = validateRemoteUrl(options.url);
|
|
@@ -826,7 +842,7 @@ var BrowserRemoteTransport = class {
|
|
|
826
842
|
this.batch.shift();
|
|
827
843
|
this.droppedEntries += 1;
|
|
828
844
|
}
|
|
829
|
-
if (this.batch.length >= this.batchSize) this.flush();
|
|
845
|
+
if (this.batch.length >= this.batchSize && Date.now() >= this.retryAt) this.flush();
|
|
830
846
|
}
|
|
831
847
|
async flush() {
|
|
832
848
|
while (this.batch.length > 0) {
|
|
@@ -876,6 +892,10 @@ var BrowserRemoteTransport = class {
|
|
|
876
892
|
recordFailure(entries, error) {
|
|
877
893
|
this.batch.unshift(...entries);
|
|
878
894
|
this.failedFlushCount += 1;
|
|
895
|
+
if (entries.length > 0) {
|
|
896
|
+
this.consecutiveFailures += 1;
|
|
897
|
+
this.retryAt = Date.now() + Math.min(MAX_RETRY_BACKOFF_MS, 1e3 * 2 ** (this.consecutiveFailures - 1));
|
|
898
|
+
}
|
|
879
899
|
this.lastFlushError = error;
|
|
880
900
|
const now = Date.now();
|
|
881
901
|
const shouldReport = this.lastReportAt === void 0 || now - this.lastReportAt >= FAILURE_REPORT_INTERVAL_MS;
|
|
@@ -891,6 +911,8 @@ var BrowserRemoteTransport = class {
|
|
|
891
911
|
});
|
|
892
912
|
}
|
|
893
913
|
reportRecovery() {
|
|
914
|
+
this.consecutiveFailures = 0;
|
|
915
|
+
this.retryAt = 0;
|
|
894
916
|
if (!this.failureReported) return;
|
|
895
917
|
this.failureReported = false;
|
|
896
918
|
const now = Date.now();
|
|
@@ -908,9 +930,14 @@ var BrowserRemoteTransport = class {
|
|
|
908
930
|
}
|
|
909
931
|
scheduleFlush() {
|
|
910
932
|
if (this.flushIntervalMs <= 0) return;
|
|
911
|
-
if (typeof globalThis !== "undefined" && typeof globalThis["setInterval"] === "function")
|
|
912
|
-
|
|
913
|
-
|
|
933
|
+
if (typeof globalThis !== "undefined" && typeof globalThis["setInterval"] === "function") {
|
|
934
|
+
var _unref, _ref;
|
|
935
|
+
this.timer = setInterval(() => {
|
|
936
|
+
if (Date.now() < this.retryAt) return;
|
|
937
|
+
this.flush().catch(() => {});
|
|
938
|
+
}, this.flushIntervalMs);
|
|
939
|
+
(_unref = (_ref = this.timer).unref) === null || _unref === void 0 || _unref.call(_ref);
|
|
940
|
+
}
|
|
914
941
|
}
|
|
915
942
|
/**
|
|
916
943
|
* Stop the flush timer and flush remaining entries. Without the final flush,
|
|
@@ -932,6 +959,8 @@ var BrowserRemoteTransport = class {
|
|
|
932
959
|
* Node.js dependencies. It can be bundled for any runtime.
|
|
933
960
|
*/
|
|
934
961
|
var BrowserLogger = class BrowserLogger {
|
|
962
|
+
config;
|
|
963
|
+
transports;
|
|
935
964
|
constructor(config = {}) {
|
|
936
965
|
this.config = {
|
|
937
966
|
appName: config.appName ?? "App",
|