autotel 2.25.3 → 2.25.5
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/{chunk-FXKB7EPR.cjs → chunk-A5ZUL2RZ.cjs} +5 -5
- package/dist/{chunk-FXKB7EPR.cjs.map → chunk-A5ZUL2RZ.cjs.map} +1 -1
- package/dist/{chunk-SR35DG5A.js → chunk-BBBWDIYQ.js} +27 -13
- package/dist/chunk-BBBWDIYQ.js.map +1 -0
- package/dist/{chunk-3ZLYWPMY.js → chunk-CMUM4JQI.js} +3 -3
- package/dist/{chunk-3ZLYWPMY.js.map → chunk-CMUM4JQI.js.map} +1 -1
- package/dist/{chunk-AQXPGGQK.cjs → chunk-EEJGUBWV.cjs} +5 -5
- package/dist/{chunk-AQXPGGQK.cjs.map → chunk-EEJGUBWV.cjs.map} +1 -1
- package/dist/{chunk-W4EUTSB2.cjs → chunk-HZ3FYBJG.cjs} +27 -12
- package/dist/chunk-HZ3FYBJG.cjs.map +1 -0
- package/dist/{chunk-WOWTZ4EB.cjs → chunk-I6JPSD4R.cjs} +5 -5
- package/dist/{chunk-WOWTZ4EB.cjs.map → chunk-I6JPSD4R.cjs.map} +1 -1
- package/dist/{chunk-XRKAL7WJ.cjs → chunk-JSNUWSBH.cjs} +6 -6
- package/dist/chunk-JSNUWSBH.cjs.map +1 -0
- package/dist/{chunk-OWXXS4JB.cjs → chunk-MN6PZ4AN.cjs} +7 -7
- package/dist/{chunk-OWXXS4JB.cjs.map → chunk-MN6PZ4AN.cjs.map} +1 -1
- package/dist/{chunk-JM63D22M.js → chunk-OPTGXEVN.js} +368 -349
- package/dist/chunk-OPTGXEVN.js.map +1 -0
- package/dist/{chunk-PKXD2RMI.js → chunk-QDREXAD7.js} +3 -3
- package/dist/{chunk-PKXD2RMI.js.map → chunk-QDREXAD7.js.map} +1 -1
- package/dist/{chunk-RMGSBMQF.cjs → chunk-QQLP4M6W.cjs} +372 -353
- package/dist/chunk-QQLP4M6W.cjs.map +1 -0
- package/dist/{chunk-USSL3D6L.js → chunk-S4OFEXLA.js} +6 -6
- package/dist/chunk-S4OFEXLA.js.map +1 -0
- package/dist/{chunk-VVYSQXQL.js → chunk-WYP6OOCT.js} +3 -3
- package/dist/{chunk-VVYSQXQL.js.map → chunk-WYP6OOCT.js.map} +1 -1
- package/dist/{chunk-IFKDBL65.js → chunk-XB2GITM5.js} +3 -3
- package/dist/{chunk-IFKDBL65.js.map → chunk-XB2GITM5.js.map} +1 -1
- package/dist/correlation-id.cjs +10 -9
- package/dist/correlation-id.d.cts +4 -1
- package/dist/correlation-id.d.ts +4 -1
- package/dist/correlation-id.js +2 -1
- package/dist/decorators.cjs +4 -4
- package/dist/decorators.js +3 -3
- package/dist/event.cjs +6 -5
- package/dist/event.js +3 -2
- package/dist/functional.cjs +10 -10
- package/dist/functional.js +3 -3
- package/dist/http.cjs +2 -2
- package/dist/http.js +1 -1
- package/dist/index.cjs +45 -45
- package/dist/index.js +10 -10
- package/dist/messaging.cjs +7 -7
- package/dist/messaging.js +4 -4
- package/dist/semantic-helpers.cjs +8 -8
- package/dist/semantic-helpers.js +4 -4
- package/dist/test-span-collector.cjs.map +1 -1
- package/dist/test-span-collector.d.cts +5 -2
- package/dist/test-span-collector.d.ts +5 -2
- package/dist/test-span-collector.js.map +1 -1
- package/dist/webhook.cjs +4 -4
- package/dist/webhook.js +3 -3
- package/dist/workflow-distributed.cjs +5 -5
- package/dist/workflow-distributed.js +3 -3
- package/dist/workflow.cjs +8 -8
- package/dist/workflow.js +4 -4
- package/package.json +1 -1
- package/src/correlation-id.ts +10 -5
- package/src/functional.ts +440 -420
- package/src/test-span-collector.ts +5 -2
- package/src/trace-context.test.ts +73 -0
- package/src/trace-context.ts +44 -12
- package/dist/chunk-JM63D22M.js.map +0 -1
- package/dist/chunk-RMGSBMQF.cjs.map +0 -1
- package/dist/chunk-SR35DG5A.js.map +0 -1
- package/dist/chunk-USSL3D6L.js.map +0 -1
- package/dist/chunk-W4EUTSB2.cjs.map +0 -1
- package/dist/chunk-XRKAL7WJ.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/test-span-collector.ts"],"names":[],"mappings":";;;AAwBA,IAAM,gBAAA,GAAmB,EAAE,OAAA,EAAS,CAAa,CAAA;
|
|
1
|
+
{"version":3,"sources":["../src/test-span-collector.ts"],"names":[],"mappings":"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","file":"test-span-collector.js","sourcesContent":["/**\n * TestSpanCollector — SpanExporter that groups finished spans by traceId\n * and drains per-trace for embedding in test metadata.\n *\n * @example\n * ```typescript\n * import { TestSpanCollector } from 'autotel/test-span-collector';\n * import { SimpleSpanProcessor } from 'autotel/processors';\n * import { getAutotelTracerProvider } from 'autotel';\n *\n * const collector = new TestSpanCollector();\n * const provider = getAutotelTracerProvider();\n * provider.addSpanProcessor(new SimpleSpanProcessor(collector));\n *\n * // After a test span ends:\n * const spans = collector.drainTrace(traceId, rootSpanId);\n * // spans contains only descendants of rootSpanId\n * ```\n */\n\nimport type { SpanExporter, ReadableSpan } from '@opentelemetry/sdk-trace-base';\nimport { SpanStatusCode } from '@opentelemetry/api';\n\n/** @see ExportResultCode from @opentelemetry/core */\nconst ExportResultCode = { SUCCESS: 0, FAILED: 1 } as const;\n\n/** Attribute value types that survive serialization */\ntype SerializableValue =\n | string\n | number\n | boolean\n | string[]\n | number[]\n | boolean[];\n\n/**\n * Portable serialized span for embedding in test metadata.\n * `startTimeMs` is derived from OTel HrTime — epoch-based wall-clock ms in the current SDK.\n *\n * Defined as a `type` (not `interface`) so it is assignable to\n * `Record<string, unknown>` in TypeScript 6+ strict mode.\n */\nexport type SerializedSpan = {\n spanId: string;\n parentSpanId?: string;\n name: string;\n startTimeMs: number;\n durationMs: number;\n status: 'ok' | 'error' | 'unset';\n statusMessage?: string;\n attributes?: Record<string, SerializableValue>;\n};\n\nexport class TestSpanCollector implements SpanExporter {\n private traces = new Map<string, ReadableSpan[]>();\n\n export(\n spans: ReadableSpan[],\n callback: (result: { code: number }) => void,\n ): void {\n for (const span of spans) {\n const traceId = span.spanContext().traceId;\n let list = this.traces.get(traceId);\n if (!list) {\n list = [];\n this.traces.set(traceId, list);\n }\n list.push(span);\n }\n callback({ code: ExportResultCode.SUCCESS });\n }\n\n /**\n * Drain and serialize spans that are descendants of `rootSpanId` within `traceId`.\n * Filters to the subtree rooted at the test span to prevent cross-test mixing.\n * Removes the entire traceId entry from the collector.\n */\n drainTrace(traceId: string, rootSpanId: string): SerializedSpan[] {\n const allSpans = this.traces.get(traceId);\n this.traces.delete(traceId);\n if (!allSpans?.length) return [];\n\n // Build spanId → span index for efficient parent-chain walking\n const byId = new Map<string, ReadableSpan>();\n for (const s of allSpans) byId.set(s.spanContext().spanId, s);\n\n // Filter to spans that are the root or descendants of rootSpanId\n const included = allSpans.filter((s) => {\n let id: string | undefined = s.spanContext().spanId;\n while (id) {\n if (id === rootSpanId) return true;\n const parent = byId.get(id);\n const parentId = parent?.parentSpanContext?.spanId || undefined;\n if (parentId === id) break; // cycle guard\n id = parentId;\n }\n return false;\n });\n\n return included.map((s) => serializeSpan(s));\n }\n\n shutdown(): Promise<void> {\n this.traces.clear();\n return Promise.resolve();\n }\n\n forceFlush(): Promise<void> {\n return Promise.resolve();\n }\n}\n\nfunction hrTimeToMs(hr: [number, number]): number {\n return hr[0] * 1000 + hr[1] / 1_000_000;\n}\n\nfunction isSerializable(v: unknown): v is SerializableValue {\n if (typeof v === 'string' || typeof v === 'number' || typeof v === 'boolean')\n return true;\n if (Array.isArray(v) && v.length > 0) {\n const t = typeof v[0];\n return (\n (t === 'string' || t === 'number' || t === 'boolean') &&\n v.every((e) => typeof e === t)\n );\n }\n return false;\n}\n\nexport function serializeSpan(span: ReadableSpan): SerializedSpan {\n const attrs: Record<string, SerializableValue> = {};\n for (const [k, v] of Object.entries(span.attributes)) {\n if (isSerializable(v)) attrs[k] = v;\n }\n return {\n spanId: span.spanContext().spanId,\n parentSpanId: span.parentSpanContext?.spanId || undefined,\n name: span.name,\n startTimeMs: hrTimeToMs(span.startTime as [number, number]),\n durationMs: hrTimeToMs(span.duration as [number, number]),\n status:\n span.status.code === SpanStatusCode.ERROR\n ? 'error'\n : span.status.code === SpanStatusCode.OK\n ? 'ok'\n : 'unset',\n statusMessage: span.status.message || undefined,\n attributes: Object.keys(attrs).length > 0 ? attrs : undefined,\n };\n}\n"]}
|
package/dist/webhook.cjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('./chunk-W4EUTSB2.cjs');
|
|
3
|
+
var chunkQQLP4M6W_cjs = require('./chunk-QQLP4M6W.cjs');
|
|
5
4
|
require('./chunk-GML3FBOT.cjs');
|
|
6
5
|
require('./chunk-D5LMF53P.cjs');
|
|
7
|
-
require('./chunk-
|
|
6
|
+
require('./chunk-JSNUWSBH.cjs');
|
|
7
|
+
require('./chunk-HZ3FYBJG.cjs');
|
|
8
8
|
require('./chunk-ITYASFHQ.cjs');
|
|
9
9
|
require('./chunk-OFPZULMQ.cjs');
|
|
10
10
|
require('./chunk-KZEC4CHV.cjs');
|
|
@@ -148,7 +148,7 @@ function createParkingLot(config) {
|
|
|
148
148
|
},
|
|
149
149
|
traceCallback(callbackConfig) {
|
|
150
150
|
return (fnFactory) => {
|
|
151
|
-
return
|
|
151
|
+
return chunkQQLP4M6W_cjs.trace(
|
|
152
152
|
{
|
|
153
153
|
name: callbackConfig.name,
|
|
154
154
|
spanKind: api.SpanKind.SERVER
|
package/dist/webhook.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { trace } from './chunk-
|
|
2
|
-
import './chunk-SR35DG5A.js';
|
|
1
|
+
import { trace } from './chunk-OPTGXEVN.js';
|
|
3
2
|
import './chunk-B3ZHLLMP.js';
|
|
4
3
|
import './chunk-WD4RP6IV.js';
|
|
5
|
-
import './chunk-
|
|
4
|
+
import './chunk-S4OFEXLA.js';
|
|
5
|
+
import './chunk-BBBWDIYQ.js';
|
|
6
6
|
import './chunk-MNBAXRVG.js';
|
|
7
7
|
import './chunk-RUD7KS4R.js';
|
|
8
8
|
import './chunk-XDKK53OL.js';
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var chunkINJD3G4K_cjs = require('./chunk-INJD3G4K.cjs');
|
|
4
|
-
var
|
|
5
|
-
require('./chunk-W4EUTSB2.cjs');
|
|
4
|
+
var chunkQQLP4M6W_cjs = require('./chunk-QQLP4M6W.cjs');
|
|
6
5
|
require('./chunk-GML3FBOT.cjs');
|
|
7
6
|
require('./chunk-D5LMF53P.cjs');
|
|
8
|
-
require('./chunk-
|
|
7
|
+
require('./chunk-JSNUWSBH.cjs');
|
|
8
|
+
require('./chunk-HZ3FYBJG.cjs');
|
|
9
9
|
require('./chunk-ITYASFHQ.cjs');
|
|
10
10
|
require('./chunk-OFPZULMQ.cjs');
|
|
11
11
|
require('./chunk-KZEC4CHV.cjs');
|
|
@@ -59,7 +59,7 @@ var WorkflowBaggage = chunkINJD3G4K_cjs.createSafeBaggageSchema(workflowBaggageF
|
|
|
59
59
|
function traceDistributedWorkflow(config) {
|
|
60
60
|
const spanName = `workflow.${config.name}`;
|
|
61
61
|
return (fnFactory) => {
|
|
62
|
-
return
|
|
62
|
+
return chunkQQLP4M6W_cjs.trace(
|
|
63
63
|
{ name: spanName, spanKind: api.SpanKind.INTERNAL },
|
|
64
64
|
(baseCtx) => {
|
|
65
65
|
return async (...args) => {
|
|
@@ -158,7 +158,7 @@ function traceDistributedWorkflow(config) {
|
|
|
158
158
|
function traceDistributedStep(config) {
|
|
159
159
|
const spanName = `workflow.step.${config.name}`;
|
|
160
160
|
return (fnFactory) => {
|
|
161
|
-
return
|
|
161
|
+
return chunkQQLP4M6W_cjs.trace(
|
|
162
162
|
{ name: spanName, spanKind: api.SpanKind.INTERNAL },
|
|
163
163
|
(baseCtx) => {
|
|
164
164
|
return async (...args) => {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { createSafeBaggageSchema } from './chunk-4IFSYQVX.js';
|
|
2
|
-
import { trace } from './chunk-
|
|
3
|
-
import './chunk-SR35DG5A.js';
|
|
2
|
+
import { trace } from './chunk-OPTGXEVN.js';
|
|
4
3
|
import './chunk-B3ZHLLMP.js';
|
|
5
4
|
import './chunk-WD4RP6IV.js';
|
|
6
|
-
import './chunk-
|
|
5
|
+
import './chunk-S4OFEXLA.js';
|
|
6
|
+
import './chunk-BBBWDIYQ.js';
|
|
7
7
|
import './chunk-MNBAXRVG.js';
|
|
8
8
|
import './chunk-RUD7KS4R.js';
|
|
9
9
|
import './chunk-XDKK53OL.js';
|
package/dist/workflow.cjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('./chunk-
|
|
5
|
-
require('./chunk-W4EUTSB2.cjs');
|
|
3
|
+
var chunkEEJGUBWV_cjs = require('./chunk-EEJGUBWV.cjs');
|
|
4
|
+
require('./chunk-QQLP4M6W.cjs');
|
|
6
5
|
require('./chunk-GML3FBOT.cjs');
|
|
7
6
|
require('./chunk-D5LMF53P.cjs');
|
|
8
|
-
require('./chunk-
|
|
7
|
+
require('./chunk-JSNUWSBH.cjs');
|
|
8
|
+
require('./chunk-HZ3FYBJG.cjs');
|
|
9
9
|
require('./chunk-ITYASFHQ.cjs');
|
|
10
10
|
require('./chunk-OFPZULMQ.cjs');
|
|
11
11
|
require('./chunk-KZEC4CHV.cjs');
|
|
@@ -25,19 +25,19 @@ require('./chunk-JEQ2X3Z6.cjs');
|
|
|
25
25
|
|
|
26
26
|
Object.defineProperty(exports, "getCurrentWorkflowContext", {
|
|
27
27
|
enumerable: true,
|
|
28
|
-
get: function () { return
|
|
28
|
+
get: function () { return chunkEEJGUBWV_cjs.getCurrentWorkflowContext; }
|
|
29
29
|
});
|
|
30
30
|
Object.defineProperty(exports, "isInWorkflow", {
|
|
31
31
|
enumerable: true,
|
|
32
|
-
get: function () { return
|
|
32
|
+
get: function () { return chunkEEJGUBWV_cjs.isInWorkflow; }
|
|
33
33
|
});
|
|
34
34
|
Object.defineProperty(exports, "traceStep", {
|
|
35
35
|
enumerable: true,
|
|
36
|
-
get: function () { return
|
|
36
|
+
get: function () { return chunkEEJGUBWV_cjs.traceStep; }
|
|
37
37
|
});
|
|
38
38
|
Object.defineProperty(exports, "traceWorkflow", {
|
|
39
39
|
enumerable: true,
|
|
40
|
-
get: function () { return
|
|
40
|
+
get: function () { return chunkEEJGUBWV_cjs.traceWorkflow; }
|
|
41
41
|
});
|
|
42
42
|
//# sourceMappingURL=workflow.cjs.map
|
|
43
43
|
//# sourceMappingURL=workflow.cjs.map
|
package/dist/workflow.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { getCurrentWorkflowContext, isInWorkflow, traceStep, traceWorkflow } from './chunk-
|
|
2
|
-
import './chunk-
|
|
3
|
-
import './chunk-SR35DG5A.js';
|
|
1
|
+
export { getCurrentWorkflowContext, isInWorkflow, traceStep, traceWorkflow } from './chunk-WYP6OOCT.js';
|
|
2
|
+
import './chunk-OPTGXEVN.js';
|
|
4
3
|
import './chunk-B3ZHLLMP.js';
|
|
5
4
|
import './chunk-WD4RP6IV.js';
|
|
6
|
-
import './chunk-
|
|
5
|
+
import './chunk-S4OFEXLA.js';
|
|
6
|
+
import './chunk-BBBWDIYQ.js';
|
|
7
7
|
import './chunk-MNBAXRVG.js';
|
|
8
8
|
import './chunk-RUD7KS4R.js';
|
|
9
9
|
import './chunk-XDKK53OL.js';
|
package/package.json
CHANGED
package/src/correlation-id.ts
CHANGED
|
@@ -24,12 +24,17 @@
|
|
|
24
24
|
|
|
25
25
|
import { trace, propagation, context } from '@opentelemetry/api';
|
|
26
26
|
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
27
|
+
import { enterOrRun } from './trace-context';
|
|
28
|
+
|
|
29
|
+
type CorrelationStore = {
|
|
30
|
+
value: string;
|
|
31
|
+
};
|
|
27
32
|
|
|
28
33
|
/**
|
|
29
34
|
* AsyncLocalStorage for storing correlation ID
|
|
30
35
|
* This allows correlation IDs to persist across async boundaries
|
|
31
36
|
*/
|
|
32
|
-
const correlationStorage = new AsyncLocalStorage<
|
|
37
|
+
const correlationStorage = new AsyncLocalStorage<CorrelationStore>();
|
|
33
38
|
|
|
34
39
|
/**
|
|
35
40
|
* Baggage key for correlation ID propagation
|
|
@@ -79,7 +84,7 @@ export function generateCorrelationId(): string {
|
|
|
79
84
|
*/
|
|
80
85
|
export function getCorrelationId(): string | undefined {
|
|
81
86
|
// 1. Check AsyncLocalStorage first (explicit correlation ID)
|
|
82
|
-
const storedId = correlationStorage.getStore();
|
|
87
|
+
const storedId = correlationStorage.getStore()?.value;
|
|
83
88
|
if (storedId) {
|
|
84
89
|
return storedId;
|
|
85
90
|
}
|
|
@@ -140,7 +145,7 @@ export function getOrCreateCorrelationId(): string {
|
|
|
140
145
|
* ```
|
|
141
146
|
*/
|
|
142
147
|
export function runWithCorrelationId<T>(correlationId: string, fn: () => T): T {
|
|
143
|
-
return correlationStorage.run(correlationId, fn);
|
|
148
|
+
return correlationStorage.run({ value: correlationId }, fn);
|
|
144
149
|
}
|
|
145
150
|
|
|
146
151
|
/**
|
|
@@ -158,7 +163,7 @@ export function runWithCorrelationId<T>(correlationId: string, fn: () => T): T {
|
|
|
158
163
|
* ```
|
|
159
164
|
*/
|
|
160
165
|
export function setCorrelationId(correlationId: string): void {
|
|
161
|
-
correlationStorage
|
|
166
|
+
enterOrRun(correlationStorage, correlationId);
|
|
162
167
|
}
|
|
163
168
|
|
|
164
169
|
/**
|
|
@@ -196,6 +201,6 @@ export function setCorrelationIdInBaggage(
|
|
|
196
201
|
/**
|
|
197
202
|
* Get the correlation storage instance (for internal use in init/shutdown)
|
|
198
203
|
*/
|
|
199
|
-
export function getCorrelationStorage(): AsyncLocalStorage<
|
|
204
|
+
export function getCorrelationStorage(): AsyncLocalStorage<CorrelationStore> {
|
|
200
205
|
return correlationStorage;
|
|
201
206
|
}
|