arvo-event-handler 2.0.0 → 2.0.2
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/ArvoEventRouter/utils.d.ts +19 -0
- package/dist/ArvoEventRouter/utils.js +19 -0
- package/dist/OpenTelemetry/index.js +1 -3
- package/dist/OpenTelemetry/utils.d.ts +0 -4
- package/dist/OpenTelemetry/utils.js +0 -42
- package/dist/index.d.ts +2 -1
- package/dist/index.js +3 -1
- package/package.json +2 -2
|
@@ -1,4 +1,23 @@
|
|
|
1
1
|
import { ArvoEvent } from 'arvo-core';
|
|
2
|
+
/**
|
|
3
|
+
* Creates a new ArvoEvent with telemetry headers (traceparent and tracestate) removed.
|
|
4
|
+
*
|
|
5
|
+
* @param event - The original ArvoEvent to process
|
|
6
|
+
* @returns A new ArvoEvent instance with all original properties except telemetry headers
|
|
7
|
+
*
|
|
8
|
+
* @remarks
|
|
9
|
+
* This function creates a clean copy of an ArvoEvent by:
|
|
10
|
+
* 1. Preserving all standard event properties
|
|
11
|
+
* 2. Setting telemetry headers (traceparent and tracestate) to null
|
|
12
|
+
* 3. Maintaining the original data and extensions
|
|
13
|
+
*
|
|
14
|
+
* It's useful when you need to:
|
|
15
|
+
* - Clear existing telemetry context
|
|
16
|
+
* - Start a new telemetry trace
|
|
17
|
+
* - Remove distributed tracing information
|
|
18
|
+
*
|
|
19
|
+
* @see {@link ArvoEvent} for complete event structure
|
|
20
|
+
*/
|
|
2
21
|
export declare const deleteOtelHeaders: (event: ArvoEvent) => ArvoEvent<Record<string, any>, Record<string, string | number | boolean | null> & {
|
|
3
22
|
to: string | null;
|
|
4
23
|
accesscontrol: string | null;
|
|
@@ -2,6 +2,25 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.deleteOtelHeaders = void 0;
|
|
4
4
|
var arvo_core_1 = require("arvo-core");
|
|
5
|
+
/**
|
|
6
|
+
* Creates a new ArvoEvent with telemetry headers (traceparent and tracestate) removed.
|
|
7
|
+
*
|
|
8
|
+
* @param event - The original ArvoEvent to process
|
|
9
|
+
* @returns A new ArvoEvent instance with all original properties except telemetry headers
|
|
10
|
+
*
|
|
11
|
+
* @remarks
|
|
12
|
+
* This function creates a clean copy of an ArvoEvent by:
|
|
13
|
+
* 1. Preserving all standard event properties
|
|
14
|
+
* 2. Setting telemetry headers (traceparent and tracestate) to null
|
|
15
|
+
* 3. Maintaining the original data and extensions
|
|
16
|
+
*
|
|
17
|
+
* It's useful when you need to:
|
|
18
|
+
* - Clear existing telemetry context
|
|
19
|
+
* - Start a new telemetry trace
|
|
20
|
+
* - Remove distributed tracing information
|
|
21
|
+
*
|
|
22
|
+
* @see {@link ArvoEvent} for complete event structure
|
|
23
|
+
*/
|
|
5
24
|
var deleteOtelHeaders = function (event) {
|
|
6
25
|
return new arvo_core_1.ArvoEvent({
|
|
7
26
|
id: event.id,
|
|
@@ -2,12 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.fetchOpenTelemetryTracer = void 0;
|
|
4
4
|
var api_1 = require("@opentelemetry/api");
|
|
5
|
-
var utils_1 = require("./utils");
|
|
6
5
|
/**
|
|
7
6
|
* Returns a tracer instance for the ArvoEventHandler package.
|
|
8
7
|
*/
|
|
9
8
|
var fetchOpenTelemetryTracer = function () {
|
|
10
|
-
|
|
11
|
-
return api_1.trace.getTracer(pkg.name, pkg.version);
|
|
9
|
+
return api_1.trace.getTracer('arvo-instrumentation');
|
|
12
10
|
};
|
|
13
11
|
exports.fetchOpenTelemetryTracer = fetchOpenTelemetryTracer;
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import { Span, SpanKind, Tracer, Context } from '@opentelemetry/api';
|
|
2
2
|
import { ArvoEvent, ArvoExecutionSpanKind, OpenInferenceSpanKind } from 'arvo-core';
|
|
3
3
|
import { ICreateOtelSpan } from './types';
|
|
4
|
-
export declare function getPackageInfo(defaultName: string): {
|
|
5
|
-
name: string;
|
|
6
|
-
version: string;
|
|
7
|
-
};
|
|
8
4
|
export declare const extractContext: (traceparent: string, tracestate: string | null) => Context;
|
|
9
5
|
/**
|
|
10
6
|
* Creates an OpenTelemetry span from an ArvoEvent, facilitating distributed tracing in the Arvo system.
|
|
@@ -1,51 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
3
|
exports.createOtelSpan = exports.createSpanFromEvent = exports.extractContext = void 0;
|
|
27
|
-
exports.getPackageInfo = getPackageInfo;
|
|
28
4
|
var api_1 = require("@opentelemetry/api");
|
|
29
5
|
var arvo_core_1 = require("arvo-core");
|
|
30
|
-
var fs = __importStar(require("fs"));
|
|
31
|
-
var path = __importStar(require("path"));
|
|
32
6
|
var _1 = require(".");
|
|
33
|
-
function getPackageInfo(defaultName) {
|
|
34
|
-
try {
|
|
35
|
-
// Read the package.json file
|
|
36
|
-
var packageJsonPath = path.resolve(__dirname, '../../package.json');
|
|
37
|
-
var packageJsonContent = fs.readFileSync(packageJsonPath, 'utf-8');
|
|
38
|
-
// Parse the JSON content
|
|
39
|
-
var packageJson = JSON.parse(packageJsonContent);
|
|
40
|
-
// Extract name and version
|
|
41
|
-
var name_1 = packageJson.name, version = packageJson.version;
|
|
42
|
-
return { name: name_1, version: version };
|
|
43
|
-
}
|
|
44
|
-
catch (error) {
|
|
45
|
-
console.error('Error reading package.json:', error);
|
|
46
|
-
return { name: defaultName, version: 'Unknown' };
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
7
|
// Helper function to extract context from traceparent and tracestate
|
|
50
8
|
var extractContext = function (traceparent, tracestate) {
|
|
51
9
|
var extractedContext = api_1.propagation.extract(api_1.context.active(), {
|
package/dist/index.d.ts
CHANGED
|
@@ -12,4 +12,5 @@ import { createArvoEventRouter } from './ArvoEventRouter/helpers';
|
|
|
12
12
|
import AbstractArvoEventHandler from './AbstractArvoEventHandler';
|
|
13
13
|
import { createOtelSpan } from './OpenTelemetry/utils';
|
|
14
14
|
import { OpenTelemetryConfig } from './OpenTelemetry/types';
|
|
15
|
-
|
|
15
|
+
import { deleteOtelHeaders } from './ArvoEventRouter/utils';
|
|
16
|
+
export { ArvoEventHandler, createArvoEventHandler, IArvoEventHandler, ArvoEventHandlerFunctionOutput, ArvoEventHandlerFunctionInput, ArvoEventHandlerFunction, PartialExcept, MultiArvoEventHandler, MultiArvoEventHandlerFunctionInput, MultiArvoEventHandlerFunctionOutput, MultiArvoEventHandlerFunction, IMultiArvoEventHandler, createMultiArvoEventHandler, isNullOrUndefined, getValueOrDefault, coalesce, coalesceOrDefault, IArvoEventRouter, ArvoEventRouter, createArvoEventRouter, AbstractArvoEventHandler, OpenTelemetryConfig, createOtelSpan, deleteOtelHeaders, };
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.createOtelSpan = exports.AbstractArvoEventHandler = exports.createArvoEventRouter = exports.ArvoEventRouter = exports.coalesceOrDefault = exports.coalesce = exports.getValueOrDefault = exports.isNullOrUndefined = exports.createMultiArvoEventHandler = exports.MultiArvoEventHandler = exports.createArvoEventHandler = exports.ArvoEventHandler = void 0;
|
|
6
|
+
exports.deleteOtelHeaders = exports.createOtelSpan = exports.AbstractArvoEventHandler = exports.createArvoEventRouter = exports.ArvoEventRouter = exports.coalesceOrDefault = exports.coalesce = exports.getValueOrDefault = exports.isNullOrUndefined = exports.createMultiArvoEventHandler = exports.MultiArvoEventHandler = exports.createArvoEventHandler = exports.ArvoEventHandler = void 0;
|
|
7
7
|
var ArvoEventHandler_1 = __importDefault(require("./ArvoEventHandler"));
|
|
8
8
|
exports.ArvoEventHandler = ArvoEventHandler_1.default;
|
|
9
9
|
var helpers_1 = require("./ArvoEventHandler/helpers");
|
|
@@ -25,3 +25,5 @@ var AbstractArvoEventHandler_1 = __importDefault(require("./AbstractArvoEventHan
|
|
|
25
25
|
exports.AbstractArvoEventHandler = AbstractArvoEventHandler_1.default;
|
|
26
26
|
var utils_2 = require("./OpenTelemetry/utils");
|
|
27
27
|
Object.defineProperty(exports, "createOtelSpan", { enumerable: true, get: function () { return utils_2.createOtelSpan; } });
|
|
28
|
+
var utils_3 = require("./ArvoEventRouter/utils");
|
|
29
|
+
Object.defineProperty(exports, "deleteOtelHeaders", { enumerable: true, get: function () { return utils_3.deleteOtelHeaders; } });
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "arvo-event-handler",
|
|
3
|
-
"version": "2.0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "2.0.2",
|
|
4
|
+
"description": "Type-safe event handler system with versioning, telemetry, and contract validation for distributed Arvo event-driven architectures, featuring routing and multi-handler support.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"build": "tsc",
|