arvo-core 1.1.17 → 1.1.18

Sign up to get free protection for your applications and to get access to all the features.
@@ -35,10 +35,10 @@ var utils_1 = require("../utils");
35
35
  */
36
36
  var createArvoContract = function (contract) {
37
37
  var createErrorMessage = function (source, type) {
38
- return (0, utils_1.cleanString)("\n In contract (uri=".concat(contract.uri, "), the '").concat(source, "' event (type=").concat(type, ") must not start \n with '").concat(typegen_1.ArvoOrchestratorEventTypeGen.__prefix, "' becuase this a reserved pattern \n for Arvo orchestrators.\n "));
38
+ return (0, utils_1.cleanString)("\n In contract (uri=".concat(contract.uri, "), the '").concat(source, "' event (type=").concat(type, ") must not start \n with '").concat(typegen_1.ArvoOrchestratorEventTypeGen.prefix, "' becuase this a reserved pattern \n for Arvo orchestrators.\n "));
39
39
  };
40
40
  var validator = function (value) {
41
- return value.startsWith(typegen_1.ArvoOrchestratorEventTypeGen.__prefix);
41
+ return value.startsWith(typegen_1.ArvoOrchestratorEventTypeGen.prefix);
42
42
  };
43
43
  if (validator(contract.accepts.type)) {
44
44
  throw new Error(createErrorMessage('accepts', contract.accepts.type));
@@ -47,7 +47,7 @@ var uuid_1 = require("uuid");
47
47
  */
48
48
  var createArvoEvent = function (event, extensions, opentelemetry) {
49
49
  if (opentelemetry === void 0) { opentelemetry = {
50
- tracer: OpenTelemetry_1.ArvoCoreTracer,
50
+ tracer: (0, OpenTelemetry_1.fetchOpenTelemetryTracer)(),
51
51
  }; }
52
52
  var span = opentelemetry.tracer.startSpan("createArvoEvent<".concat(event.type, ">"), {});
53
53
  return api_1.context.with(api_1.trace.setSpan(api_1.context.active(), span), function () {
@@ -11,7 +11,7 @@ import { ExecutionOpenTelemetryConfiguration } from '../types';
11
11
  * @template TEmits - The type of records the contract bound handler emits.
12
12
  */
13
13
  export default class ArvoEventFactory<TUri extends string = string, TType extends string = string, TAcceptSchema extends z.ZodTypeAny = z.ZodTypeAny, TEmits extends Record<string, z.ZodTypeAny> = Record<string, z.ZodTypeAny>> {
14
- private contract;
14
+ private readonly contract;
15
15
  /**
16
16
  * Creates an instance of ArvoEventFactory.
17
17
  *
@@ -55,7 +55,7 @@ var ArvoEventFactory = /** @class */ (function () {
55
55
  ArvoEventFactory.prototype.accepts = function (event, extensions, opentelemetry) {
56
56
  var _this = this;
57
57
  if (opentelemetry === void 0) { opentelemetry = {
58
- tracer: OpenTelemetry_1.ArvoCoreTracer,
58
+ tracer: (0, OpenTelemetry_1.fetchOpenTelemetryTracer)(),
59
59
  }; }
60
60
  var span = opentelemetry.tracer.startSpan("ArvoEventFactory<".concat(this.contract.uri, ">.accepts<").concat(this.contract.accepts.type, ">.create"));
61
61
  return api_1.context.with(api_1.trace.setSpan(api_1.context.active(), span), function () {
@@ -95,7 +95,7 @@ var ArvoEventFactory = /** @class */ (function () {
95
95
  ArvoEventFactory.prototype.emits = function (event, extensions, opentelemetry) {
96
96
  var _this = this;
97
97
  if (opentelemetry === void 0) { opentelemetry = {
98
- tracer: OpenTelemetry_1.ArvoCoreTracer,
98
+ tracer: (0, OpenTelemetry_1.fetchOpenTelemetryTracer)(),
99
99
  }; }
100
100
  var span = opentelemetry.tracer.startSpan("ArvoEventFactory<".concat(this.contract.uri, ">.emits<").concat(event.type, ">.create"));
101
101
  return api_1.context.with(api_1.trace.setSpan(api_1.context.active(), span), function () {
@@ -133,7 +133,7 @@ var ArvoEventFactory = /** @class */ (function () {
133
133
  ArvoEventFactory.prototype.systemError = function (event, extensions, opentelemetry) {
134
134
  var _this = this;
135
135
  if (opentelemetry === void 0) { opentelemetry = {
136
- tracer: OpenTelemetry_1.ArvoCoreTracer,
136
+ tracer: (0, OpenTelemetry_1.fetchOpenTelemetryTracer)(),
137
137
  }; }
138
138
  var span = opentelemetry.tracer.startSpan("ArvoEventFactory<".concat(this.contract.uri, ">.systemError<sys.").concat(this.contract.accepts.type, ".error>.create"));
139
139
  return api_1.context.with(api_1.trace.setSpan(api_1.context.active(), span), function () {
@@ -1,6 +1,61 @@
1
- export declare const ArvoOrchestratorEventTypeGen: {
2
- __prefix: `arvo.orc`;
3
- init: <T extends string>(name: T) => `${typeof ArvoOrchestratorEventTypeGen.__prefix}.${T}`;
4
- complete: <T extends string>(name: T) => `${ReturnType<typeof ArvoOrchestratorEventTypeGen.init<T>>}.done`;
5
- systemError: <T extends string>(name: T) => `sys.${ReturnType<typeof ArvoOrchestratorEventTypeGen.init<T>>}.error`;
6
- };
1
+ /**
2
+ * Utility class for generating standardized event type strings for the Arvo orchestrator.
3
+ * This class provides methods to create consistent event type identifiers with predefined prefixes
4
+ * and suffixes for different event states (init, complete, error).
5
+ *
6
+ * @example
7
+ * ```typescript
8
+ * // Generate event types for a 'payment' event
9
+ * const initEvent = ArvoOrchestratorEventTypeGen.init('payment') // 'arvo.orc.payment'
10
+ * const doneEvent = ArvoOrchestratorEventTypeGen.complete('payment') // 'arvo.orc.payment.done'
11
+ * const errorEvent = ArvoOrchestratorEventTypeGen.systemError('payment') // 'sys.arvo.orc.payment.error'
12
+ * ```
13
+ */
14
+ export declare class ArvoOrchestratorEventTypeGen {
15
+ /**
16
+ * The standard prefix used for all Arvo orchestrator events.
17
+ * This prefix helps identify events that belong to the Arvo orchestrator system.
18
+ */
19
+ static readonly prefix: 'arvo.orc';
20
+ /**
21
+ * Generates an initialization event type string for a given event name.
22
+ *
23
+ * @param name - The base name of the event
24
+ * @returns A type-safe string combining the standard prefix with the provided name
25
+ * @typeParam T - String literal type for the event name
26
+ *
27
+ * @example
28
+ * ```typescript
29
+ * ArvoOrchestratorEventTypeGen.init('userRegistration') // Returns: 'arvo.orc.userRegistration'
30
+ * ```
31
+ */
32
+ static init<T extends string>(name: T): `${typeof ArvoOrchestratorEventTypeGen.prefix}.${T}`;
33
+ /**
34
+ * Generates a completion event type string for a given event name.
35
+ * Appends '.done' to the initialization event type.
36
+ *
37
+ * @param name - The base name of the event
38
+ * @returns A type-safe string for the completion event
39
+ * @typeParam T - String literal type for the event name
40
+ *
41
+ * @example
42
+ * ```typescript
43
+ * ArvoOrchestratorEventTypeGen.complete('userRegistration') // Returns: 'arvo.orc.userRegistration.done'
44
+ * ```
45
+ */
46
+ static complete<T extends string>(name: T): `${ReturnType<typeof ArvoOrchestratorEventTypeGen.init<T>>}.done`;
47
+ /**
48
+ * Generates a system error event type string for a given event name.
49
+ * Prepends 'sys.' and appends '.error' to the initialization event type.
50
+ *
51
+ * @param name - The base name of the event
52
+ * @returns A type-safe string for the system error event
53
+ * @typeParam T - String literal type for the event name
54
+ *
55
+ * @example
56
+ * ```typescript
57
+ * ArvoOrchestratorEventTypeGen.systemError('userRegistration') // Returns: 'sys.arvo.orc.userRegistration.error'
58
+ * ```
59
+ */
60
+ static systemError<T extends string>(name: T): `sys.${ReturnType<typeof ArvoOrchestratorEventTypeGen.init<T>>}.error`;
61
+ }
@@ -1,15 +1,74 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ArvoOrchestratorEventTypeGen = void 0;
4
- exports.ArvoOrchestratorEventTypeGen = {
5
- __prefix: "arvo.orc",
6
- init: function (name) {
7
- return "".concat(exports.ArvoOrchestratorEventTypeGen.__prefix, ".").concat(name);
8
- },
9
- complete: function (name) {
10
- return "".concat(exports.ArvoOrchestratorEventTypeGen.init(name), ".done");
11
- },
12
- systemError: function (name) {
13
- return "sys.".concat(exports.ArvoOrchestratorEventTypeGen.init(name), ".error");
14
- },
15
- };
4
+ /**
5
+ * Utility class for generating standardized event type strings for the Arvo orchestrator.
6
+ * This class provides methods to create consistent event type identifiers with predefined prefixes
7
+ * and suffixes for different event states (init, complete, error).
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * // Generate event types for a 'payment' event
12
+ * const initEvent = ArvoOrchestratorEventTypeGen.init('payment') // 'arvo.orc.payment'
13
+ * const doneEvent = ArvoOrchestratorEventTypeGen.complete('payment') // 'arvo.orc.payment.done'
14
+ * const errorEvent = ArvoOrchestratorEventTypeGen.systemError('payment') // 'sys.arvo.orc.payment.error'
15
+ * ```
16
+ */
17
+ var ArvoOrchestratorEventTypeGen = /** @class */ (function () {
18
+ function ArvoOrchestratorEventTypeGen() {
19
+ }
20
+ /**
21
+ * Generates an initialization event type string for a given event name.
22
+ *
23
+ * @param name - The base name of the event
24
+ * @returns A type-safe string combining the standard prefix with the provided name
25
+ * @typeParam T - String literal type for the event name
26
+ *
27
+ * @example
28
+ * ```typescript
29
+ * ArvoOrchestratorEventTypeGen.init('userRegistration') // Returns: 'arvo.orc.userRegistration'
30
+ * ```
31
+ */
32
+ ArvoOrchestratorEventTypeGen.init = function (name) {
33
+ return "".concat(ArvoOrchestratorEventTypeGen.prefix, ".").concat(name);
34
+ };
35
+ /**
36
+ * Generates a completion event type string for a given event name.
37
+ * Appends '.done' to the initialization event type.
38
+ *
39
+ * @param name - The base name of the event
40
+ * @returns A type-safe string for the completion event
41
+ * @typeParam T - String literal type for the event name
42
+ *
43
+ * @example
44
+ * ```typescript
45
+ * ArvoOrchestratorEventTypeGen.complete('userRegistration') // Returns: 'arvo.orc.userRegistration.done'
46
+ * ```
47
+ */
48
+ ArvoOrchestratorEventTypeGen.complete = function (name) {
49
+ return "".concat(ArvoOrchestratorEventTypeGen.init(name), ".done");
50
+ };
51
+ /**
52
+ * Generates a system error event type string for a given event name.
53
+ * Prepends 'sys.' and appends '.error' to the initialization event type.
54
+ *
55
+ * @param name - The base name of the event
56
+ * @returns A type-safe string for the system error event
57
+ * @typeParam T - String literal type for the event name
58
+ *
59
+ * @example
60
+ * ```typescript
61
+ * ArvoOrchestratorEventTypeGen.systemError('userRegistration') // Returns: 'sys.arvo.orc.userRegistration.error'
62
+ * ```
63
+ */
64
+ ArvoOrchestratorEventTypeGen.systemError = function (name) {
65
+ return "sys.".concat(ArvoOrchestratorEventTypeGen.init(name), ".error");
66
+ };
67
+ /**
68
+ * The standard prefix used for all Arvo orchestrator events.
69
+ * This prefix helps identify events that belong to the Arvo orchestrator system.
70
+ */
71
+ ArvoOrchestratorEventTypeGen.prefix = 'arvo.orc';
72
+ return ArvoOrchestratorEventTypeGen;
73
+ }());
74
+ exports.ArvoOrchestratorEventTypeGen = ArvoOrchestratorEventTypeGen;
@@ -3,7 +3,7 @@ import { TelemetryLogLevel, OpenTelemetryHeaders } from './types';
3
3
  /**
4
4
  * A tracer instance for the ArvoCore package.
5
5
  */
6
- export declare const ArvoCoreTracer: import("@opentelemetry/api").Tracer;
6
+ export declare const fetchOpenTelemetryTracer: () => import("@opentelemetry/api").Tracer;
7
7
  /**
8
8
  * Logs a message to a span with additional parameters.
9
9
  * @param params - The parameters for the log message.
@@ -11,16 +11,19 @@ var __assign = (this && this.__assign) || function () {
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.OTelNull = exports.exceptionToSpan = exports.logToSpan = exports.ArvoCoreTracer = void 0;
14
+ exports.OTelNull = exports.exceptionToSpan = exports.logToSpan = exports.fetchOpenTelemetryTracer = void 0;
15
15
  exports.currentOpenTelemetryHeaders = currentOpenTelemetryHeaders;
16
16
  var api_1 = require("@opentelemetry/api");
17
17
  var utils_1 = require("./utils");
18
18
  var core_1 = require("@opentelemetry/core");
19
- var pkg = (0, utils_1.getPackageInfo)();
20
19
  /**
21
20
  * A tracer instance for the ArvoCore package.
22
21
  */
23
- exports.ArvoCoreTracer = api_1.trace.getTracer(pkg.name, pkg.version);
22
+ var fetchOpenTelemetryTracer = function () {
23
+ var pkg = (0, utils_1.getPackageInfo)('arvo-core');
24
+ return api_1.trace.getTracer(pkg.name, pkg.version);
25
+ };
26
+ exports.fetchOpenTelemetryTracer = fetchOpenTelemetryTracer;
24
27
  /**
25
28
  * Logs a message to a span with additional parameters.
26
29
  * @param params - The parameters for the log message.
@@ -1,4 +1,4 @@
1
- export declare function getPackageInfo(): {
1
+ export declare function getPackageInfo(defaultName: string): {
2
2
  name: string;
3
3
  version: string;
4
4
  };
@@ -26,7 +26,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.getPackageInfo = getPackageInfo;
27
27
  var fs = __importStar(require("fs"));
28
28
  var path = __importStar(require("path"));
29
- function getPackageInfo() {
29
+ function getPackageInfo(defaultName) {
30
30
  try {
31
31
  // Read the package.json file
32
32
  var packageJsonPath = path.resolve(__dirname, '../../package.json');
@@ -39,6 +39,6 @@ function getPackageInfo() {
39
39
  }
40
40
  catch (error) {
41
41
  console.error('Error reading package.json:', error);
42
- return { name: 'Unknown', version: 'Unknown' };
42
+ return { name: defaultName, version: 'Unknown' };
43
43
  }
44
44
  }
package/dist/index.d.ts CHANGED
@@ -23,12 +23,11 @@ import { ArvoOrchestrationSubjectContentSchema, ArvoOrchestratorVersionSchema }
23
23
  import { ArvoOrchestrationSubjectContent, ArvoOrchestratorVersion } from './ArvoOrchestrationSubject/type';
24
24
  import ArvoEventHttp from './ArvoEventHttp';
25
25
  import { ArvoEventHttpConfig } from './ArvoEventHttp/types';
26
- import { InferArvoContract, InferArvoEvent, InferArvoOrchestratorContract } from './types';
26
+ import { InferArvoContract, InferArvoEvent, InferArvoOrchestratorContract, ExecutionOpenTelemetryConfiguration } from './types';
27
27
  import { createArvoOrchestratorContract } from './ArvoOrchestratorContract/helpers';
28
28
  import ArvoOrchestratorContract from './ArvoOrchestratorContract';
29
29
  import { ICreateArvoOrchestratorContract, IArvoOrchestratorContract } from './ArvoOrchestratorContract/types';
30
30
  import { ArvoOrchestratorEventTypeGen } from './ArvoOrchestratorContract/typegen';
31
- import { ExecutionOpenTelemetryConfiguration } from './types';
32
31
  /**
33
32
  * Collection of Zod schemas for validating various aspects of Arvo events.
34
33
  * @property {z.ZodObject} CloudEventContextSchema - Schema for core CloudEvent properties.
package/dist/types.d.ts CHANGED
@@ -12,7 +12,7 @@ import { Tracer } from '@opentelemetry/api';
12
12
  */
13
13
  export type ExecutionOpenTelemetryConfiguration = {
14
14
  /**
15
- * Optional OpenTelemetry tracer instance to use for creating spans.
15
+ * OpenTelemetry tracer instance to use for creating spans.
16
16
  * If not provided, a default tracer may be used depending on the implementation.
17
17
  */
18
18
  tracer: Tracer;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "arvo-core",
3
- "version": "1.1.17",
3
+ "version": "1.1.18",
4
4
  "description": "This core package contains all the core classes and components of the Arvo Event Driven System",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {