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.
@@ -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
- var pkg = (0, utils_1.getPackageInfo)('arvo-event-handler');
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
- export { ArvoEventHandler, createArvoEventHandler, IArvoEventHandler, ArvoEventHandlerFunctionOutput, ArvoEventHandlerFunctionInput, ArvoEventHandlerFunction, PartialExcept, MultiArvoEventHandler, MultiArvoEventHandlerFunctionInput, MultiArvoEventHandlerFunctionOutput, MultiArvoEventHandlerFunction, IMultiArvoEventHandler, createMultiArvoEventHandler, isNullOrUndefined, getValueOrDefault, coalesce, coalesceOrDefault, IArvoEventRouter, ArvoEventRouter, createArvoEventRouter, AbstractArvoEventHandler, OpenTelemetryConfig, createOtelSpan, };
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.0",
4
- "description": "This package contains class and function for event handlers in an Arvo Event Driven system",
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",