nestjs-temporal-core 3.0.10 → 3.0.11

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.
Files changed (122) hide show
  1. package/README.md +1451 -721
  2. package/dist/constants.d.ts +49 -151
  3. package/dist/constants.js +38 -141
  4. package/dist/constants.js.map +1 -1
  5. package/dist/decorators/activity.decorator.js +75 -15
  6. package/dist/decorators/activity.decorator.js.map +1 -1
  7. package/dist/decorators/index.d.ts +1 -3
  8. package/dist/decorators/index.js +4 -13
  9. package/dist/decorators/index.js.map +1 -1
  10. package/dist/decorators/workflow.decorator.d.ts +7 -3
  11. package/dist/decorators/workflow.decorator.js +161 -48
  12. package/dist/decorators/workflow.decorator.js.map +1 -1
  13. package/dist/health/temporal-health.controller.d.ts +7 -0
  14. package/dist/health/temporal-health.controller.js +77 -0
  15. package/dist/health/temporal-health.controller.js.map +1 -0
  16. package/dist/health/temporal-health.module.d.ts +2 -0
  17. package/dist/health/temporal-health.module.js +20 -0
  18. package/dist/health/temporal-health.module.js.map +1 -0
  19. package/dist/index.d.ts +10 -20
  20. package/dist/index.js +15 -30
  21. package/dist/index.js.map +1 -1
  22. package/dist/interfaces.d.ts +740 -160
  23. package/dist/interfaces.js +1 -2
  24. package/dist/interfaces.js.map +1 -1
  25. package/dist/providers/temporal-connection.factory.d.ts +28 -0
  26. package/dist/providers/temporal-connection.factory.js +194 -0
  27. package/dist/providers/temporal-connection.factory.js.map +1 -0
  28. package/dist/services/temporal-client.service.d.ts +33 -0
  29. package/dist/services/temporal-client.service.js +285 -0
  30. package/dist/services/temporal-client.service.js.map +1 -0
  31. package/dist/services/temporal-discovery.service.d.ts +34 -0
  32. package/dist/services/temporal-discovery.service.js +348 -0
  33. package/dist/services/temporal-discovery.service.js.map +1 -0
  34. package/dist/services/temporal-metadata.service.d.ts +37 -0
  35. package/dist/services/temporal-metadata.service.js +512 -0
  36. package/dist/services/temporal-metadata.service.js.map +1 -0
  37. package/dist/services/temporal-schedule.service.d.ts +35 -0
  38. package/dist/services/temporal-schedule.service.js +380 -0
  39. package/dist/services/temporal-schedule.service.js.map +1 -0
  40. package/dist/services/temporal-worker.service.d.ts +54 -0
  41. package/dist/services/temporal-worker.service.js +605 -0
  42. package/dist/services/temporal-worker.service.js.map +1 -0
  43. package/dist/services/temporal.service.d.ts +85 -0
  44. package/dist/services/temporal.service.js +572 -0
  45. package/dist/services/temporal.service.js.map +1 -0
  46. package/dist/temporal.module.d.ts +6 -9
  47. package/dist/temporal.module.js +160 -109
  48. package/dist/temporal.module.js.map +1 -1
  49. package/dist/tsconfig.tsbuildinfo +1 -1
  50. package/dist/utils/index.d.ts +2 -2
  51. package/dist/utils/index.js +5 -8
  52. package/dist/utils/index.js.map +1 -1
  53. package/dist/utils/logger.d.ts +10 -4
  54. package/dist/utils/logger.js +77 -106
  55. package/dist/utils/logger.js.map +1 -1
  56. package/dist/utils/metadata.d.ts +1 -3
  57. package/dist/utils/metadata.js +8 -18
  58. package/dist/utils/metadata.js.map +1 -1
  59. package/dist/utils/validation.d.ts +16 -2
  60. package/dist/utils/validation.js +103 -9
  61. package/dist/utils/validation.js.map +1 -1
  62. package/package.json +37 -26
  63. package/dist/activity/index.d.ts +0 -2
  64. package/dist/activity/index.js +0 -19
  65. package/dist/activity/index.js.map +0 -1
  66. package/dist/activity/temporal-activity.module.d.ts +0 -11
  67. package/dist/activity/temporal-activity.module.js +0 -52
  68. package/dist/activity/temporal-activity.module.js.map +0 -1
  69. package/dist/activity/temporal-activity.service.d.ts +0 -46
  70. package/dist/activity/temporal-activity.service.js +0 -192
  71. package/dist/activity/temporal-activity.service.js.map +0 -1
  72. package/dist/client/index.d.ts +0 -3
  73. package/dist/client/index.js +0 -20
  74. package/dist/client/index.js.map +0 -1
  75. package/dist/client/temporal-client.module.d.ts +0 -18
  76. package/dist/client/temporal-client.module.js +0 -198
  77. package/dist/client/temporal-client.module.js.map +0 -1
  78. package/dist/client/temporal-client.service.d.ts +0 -35
  79. package/dist/client/temporal-client.service.js +0 -187
  80. package/dist/client/temporal-client.service.js.map +0 -1
  81. package/dist/client/temporal-schedule.service.d.ts +0 -41
  82. package/dist/client/temporal-schedule.service.js +0 -204
  83. package/dist/client/temporal-schedule.service.js.map +0 -1
  84. package/dist/decorators/parameter.decorator.d.ts +0 -5
  85. package/dist/decorators/parameter.decorator.js +0 -57
  86. package/dist/decorators/parameter.decorator.js.map +0 -1
  87. package/dist/decorators/scheduling.decorator.d.ts +0 -4
  88. package/dist/decorators/scheduling.decorator.js +0 -44
  89. package/dist/decorators/scheduling.decorator.js.map +0 -1
  90. package/dist/discovery/index.d.ts +0 -2
  91. package/dist/discovery/index.js +0 -19
  92. package/dist/discovery/index.js.map +0 -1
  93. package/dist/discovery/temporal-discovery.service.d.ts +0 -39
  94. package/dist/discovery/temporal-discovery.service.js +0 -191
  95. package/dist/discovery/temporal-discovery.service.js.map +0 -1
  96. package/dist/discovery/temporal-schedule-manager.service.d.ts +0 -41
  97. package/dist/discovery/temporal-schedule-manager.service.js +0 -238
  98. package/dist/discovery/temporal-schedule-manager.service.js.map +0 -1
  99. package/dist/schedules/index.d.ts +0 -2
  100. package/dist/schedules/index.js +0 -19
  101. package/dist/schedules/index.js.map +0 -1
  102. package/dist/schedules/temporal-schedules.module.d.ts +0 -11
  103. package/dist/schedules/temporal-schedules.module.js +0 -55
  104. package/dist/schedules/temporal-schedules.module.js.map +0 -1
  105. package/dist/schedules/temporal-schedules.service.d.ts +0 -52
  106. package/dist/schedules/temporal-schedules.service.js +0 -221
  107. package/dist/schedules/temporal-schedules.service.js.map +0 -1
  108. package/dist/temporal.service.d.ts +0 -77
  109. package/dist/temporal.service.js +0 -243
  110. package/dist/temporal.service.js.map +0 -1
  111. package/dist/worker/index.d.ts +0 -3
  112. package/dist/worker/index.js +0 -20
  113. package/dist/worker/index.js.map +0 -1
  114. package/dist/worker/temporal-metadata.accessor.d.ts +0 -32
  115. package/dist/worker/temporal-metadata.accessor.js +0 -208
  116. package/dist/worker/temporal-metadata.accessor.js.map +0 -1
  117. package/dist/worker/temporal-worker-manager.service.d.ts +0 -49
  118. package/dist/worker/temporal-worker-manager.service.js +0 -389
  119. package/dist/worker/temporal-worker-manager.service.js.map +0 -1
  120. package/dist/worker/temporal-worker.module.d.ts +0 -18
  121. package/dist/worker/temporal-worker.module.js +0 -156
  122. package/dist/worker/temporal-worker.module.js.map +0 -1
@@ -1,3 +1,3 @@
1
- export { TemporalLogger, TemporalLoggerManager, createLogger, LogExecution, LoggerUtils, } from './logger';
1
+ export { createLogger, LoggerUtils, TemporalLogger, TemporalLoggerManager } from './logger';
2
2
  export { isValidCronExpression, isValidIntervalExpression } from './validation';
3
- export { isActivity, getActivityMetadata, isActivityMethod, getActivityMethodMetadata, getParameterMetadata, WorkflowParamDecorator, } from './metadata';
3
+ export { getActivityMetadata, getActivityMethodMetadata, isActivity, isActivityMethod, } from './metadata';
@@ -1,20 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WorkflowParamDecorator = exports.getParameterMetadata = exports.getActivityMethodMetadata = exports.isActivityMethod = exports.getActivityMetadata = exports.isActivity = exports.isValidIntervalExpression = exports.isValidCronExpression = exports.LoggerUtils = exports.LogExecution = exports.createLogger = exports.TemporalLoggerManager = exports.TemporalLogger = void 0;
3
+ exports.isActivityMethod = exports.isActivity = exports.getActivityMethodMetadata = exports.getActivityMetadata = exports.isValidIntervalExpression = exports.isValidCronExpression = exports.TemporalLoggerManager = exports.TemporalLogger = exports.LoggerUtils = exports.createLogger = void 0;
4
4
  var logger_1 = require("./logger");
5
- Object.defineProperty(exports, "TemporalLogger", { enumerable: true, get: function () { return logger_1.TemporalLogger; } });
6
- Object.defineProperty(exports, "TemporalLoggerManager", { enumerable: true, get: function () { return logger_1.TemporalLoggerManager; } });
7
5
  Object.defineProperty(exports, "createLogger", { enumerable: true, get: function () { return logger_1.createLogger; } });
8
- Object.defineProperty(exports, "LogExecution", { enumerable: true, get: function () { return logger_1.LogExecution; } });
9
6
  Object.defineProperty(exports, "LoggerUtils", { enumerable: true, get: function () { return logger_1.LoggerUtils; } });
7
+ Object.defineProperty(exports, "TemporalLogger", { enumerable: true, get: function () { return logger_1.TemporalLogger; } });
8
+ Object.defineProperty(exports, "TemporalLoggerManager", { enumerable: true, get: function () { return logger_1.TemporalLoggerManager; } });
10
9
  var validation_1 = require("./validation");
11
10
  Object.defineProperty(exports, "isValidCronExpression", { enumerable: true, get: function () { return validation_1.isValidCronExpression; } });
12
11
  Object.defineProperty(exports, "isValidIntervalExpression", { enumerable: true, get: function () { return validation_1.isValidIntervalExpression; } });
13
12
  var metadata_1 = require("./metadata");
14
- Object.defineProperty(exports, "isActivity", { enumerable: true, get: function () { return metadata_1.isActivity; } });
15
13
  Object.defineProperty(exports, "getActivityMetadata", { enumerable: true, get: function () { return metadata_1.getActivityMetadata; } });
16
- Object.defineProperty(exports, "isActivityMethod", { enumerable: true, get: function () { return metadata_1.isActivityMethod; } });
17
14
  Object.defineProperty(exports, "getActivityMethodMetadata", { enumerable: true, get: function () { return metadata_1.getActivityMethodMetadata; } });
18
- Object.defineProperty(exports, "getParameterMetadata", { enumerable: true, get: function () { return metadata_1.getParameterMetadata; } });
19
- Object.defineProperty(exports, "WorkflowParamDecorator", { enumerable: true, get: function () { return metadata_1.WorkflowParamDecorator; } });
15
+ Object.defineProperty(exports, "isActivity", { enumerable: true, get: function () { return metadata_1.isActivity; } });
16
+ Object.defineProperty(exports, "isActivityMethod", { enumerable: true, get: function () { return metadata_1.isActivityMethod; } });
20
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;AAAA,mCAMkB;AALd,wGAAA,cAAc,OAAA;AACd,+GAAA,qBAAqB,OAAA;AACrB,sGAAA,YAAY,OAAA;AACZ,sGAAA,YAAY,OAAA;AACZ,qGAAA,WAAW,OAAA;AAGf,2CAAgF;AAAvE,mHAAA,qBAAqB,OAAA;AAAE,uHAAA,yBAAyB,OAAA;AAEzD,uCAOoB;AANhB,sGAAA,UAAU,OAAA;AACV,+GAAA,mBAAmB,OAAA;AACnB,4GAAA,gBAAgB,OAAA;AAChB,qHAAA,yBAAyB,OAAA;AACzB,gHAAA,oBAAoB,OAAA;AACpB,kHAAA,sBAAsB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;AAWA,mCAA4F;AAAnF,sGAAA,YAAY,OAAA;AAAE,qGAAA,WAAW,OAAA;AAAE,wGAAA,cAAc,OAAA;AAAE,+GAAA,qBAAqB,OAAA;AAGzE,2CAAgF;AAAvE,mHAAA,qBAAqB,OAAA;AAAE,uHAAA,yBAAyB,OAAA;AAGzD,uCAKoB;AAJhB,+GAAA,mBAAmB,OAAA;AACnB,qHAAA,yBAAyB,OAAA;AACzB,sGAAA,UAAU,OAAA;AACV,4GAAA,gBAAgB,OAAA"}
@@ -1,16 +1,23 @@
1
1
  import { LogLevel, LoggerConfig, GlobalLoggerConfig } from '../interfaces';
2
2
  export declare class TemporalLoggerManager {
3
3
  private static instance;
4
+ private static readonly DEFAULT_CONFIG;
4
5
  private globalConfig;
6
+ private readonly loggerCache;
5
7
  static getInstance(): TemporalLoggerManager;
6
8
  configure(config: GlobalLoggerConfig): void;
7
- getGlobalConfig(): GlobalLoggerConfig;
9
+ getGlobalConfig(): Readonly<GlobalLoggerConfig>;
8
10
  createLogger(context: string, localConfig?: LoggerConfig): TemporalLogger;
11
+ private getCacheKey;
12
+ clearCache(): void;
9
13
  }
10
14
  export declare class TemporalLogger {
15
+ private static readonly LOG_LEVELS;
16
+ private static readonly LEVEL_INDICES;
11
17
  private readonly nestLogger;
12
18
  private readonly config;
13
19
  private readonly context;
20
+ private readonly currentLevelIndex;
14
21
  constructor(context: string, config?: LoggerConfig);
15
22
  private shouldLog;
16
23
  error(message: unknown, trace?: string | Error, context?: string): void;
@@ -22,14 +29,13 @@ export declare class TemporalLogger {
22
29
  logExecutionTime(methodName: string, startTime: number, context?: string): void;
23
30
  logWithLevel(level: LogLevel, message: unknown, context?: string): void;
24
31
  createChildLogger(childContext: string, config?: LoggerConfig): TemporalLogger;
25
- getConfig(): LoggerConfig;
32
+ getConfig(): Readonly<Required<LoggerConfig>>;
26
33
  isEnabled(): boolean;
27
34
  getLogLevel(): LogLevel;
28
35
  getContext(): string;
29
- updateConfig(newConfig: Partial<LoggerConfig>): void;
36
+ isLevelEnabled(level: LogLevel): boolean;
30
37
  }
31
38
  export declare function createLogger(context: string, config?: LoggerConfig): TemporalLogger;
32
- export declare function LogExecution(_logLevel?: LogLevel): (target: unknown, propertyName: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
33
39
  export declare class LoggerUtils {
34
40
  static logServiceInit(logger: TemporalLogger, serviceName: string, config?: unknown): void;
35
41
  static logServiceShutdown(logger: TemporalLogger, serviceName: string): void;
@@ -1,85 +1,87 @@
1
1
  "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var TemporalLoggerManager_1;
9
2
  Object.defineProperty(exports, "__esModule", { value: true });
10
3
  exports.LoggerUtils = exports.TemporalLogger = exports.TemporalLoggerManager = void 0;
11
4
  exports.createLogger = createLogger;
12
- exports.LogExecution = LogExecution;
13
5
  const common_1 = require("@nestjs/common");
14
- let TemporalLoggerManager = TemporalLoggerManager_1 = class TemporalLoggerManager {
6
+ class TemporalLoggerManager {
15
7
  constructor() {
16
- this.globalConfig = {
17
- enableLogger: true,
18
- logLevel: 'info',
19
- appName: 'NestJS-Temporal',
20
- };
8
+ this.globalConfig = TemporalLoggerManager.DEFAULT_CONFIG;
9
+ this.loggerCache = new Map();
21
10
  }
22
11
  static getInstance() {
23
- if (!TemporalLoggerManager_1.instance) {
24
- TemporalLoggerManager_1.instance = new TemporalLoggerManager_1();
25
- }
26
- return TemporalLoggerManager_1.instance;
12
+ return (TemporalLoggerManager.instance ?? (TemporalLoggerManager.instance = new TemporalLoggerManager()));
27
13
  }
28
14
  configure(config) {
29
- this.globalConfig = { ...this.globalConfig, ...config };
15
+ if (!config || typeof config !== 'object') {
16
+ return;
17
+ }
18
+ const hasChanges = Object.keys(config).some((key) => this.globalConfig[key] !==
19
+ config[key]);
20
+ if (hasChanges) {
21
+ this.globalConfig = { ...this.globalConfig, ...config };
22
+ this.loggerCache.clear();
23
+ }
30
24
  }
31
25
  getGlobalConfig() {
32
- return { ...this.globalConfig };
26
+ return this.globalConfig;
33
27
  }
34
28
  createLogger(context, localConfig = {}) {
35
- const mergedConfig = {
36
- ...this.globalConfig,
37
- ...localConfig,
38
- };
39
- return new TemporalLogger(context, mergedConfig);
29
+ const cacheKey = this.getCacheKey(context, localConfig);
30
+ if (this.loggerCache.has(cacheKey)) {
31
+ return this.loggerCache.get(cacheKey);
32
+ }
33
+ const mergedConfig = { ...this.globalConfig, ...localConfig };
34
+ const logger = new TemporalLogger(context, mergedConfig);
35
+ this.loggerCache.set(cacheKey, logger);
36
+ return logger;
40
37
  }
41
- };
38
+ getCacheKey(context, localConfig) {
39
+ return `${context}:${localConfig?.enableLogger ?? ''}:${localConfig?.logLevel ?? ''}`;
40
+ }
41
+ clearCache() {
42
+ this.loggerCache.clear();
43
+ }
44
+ }
42
45
  exports.TemporalLoggerManager = TemporalLoggerManager;
43
- exports.TemporalLoggerManager = TemporalLoggerManager = TemporalLoggerManager_1 = __decorate([
44
- (0, common_1.Injectable)({ scope: common_1.Scope.DEFAULT })
45
- ], TemporalLoggerManager);
46
+ TemporalLoggerManager.DEFAULT_CONFIG = {
47
+ enableLogger: true,
48
+ logLevel: 'info',
49
+ appName: 'NestJS-Temporal',
50
+ };
46
51
  class TemporalLogger {
47
52
  constructor(context, config = {}) {
48
53
  this.context = context;
49
54
  this.nestLogger = new common_1.Logger(context);
55
+ const logLevel = config.logLevel && TemporalLogger.LEVEL_INDICES.has(config.logLevel)
56
+ ? config.logLevel
57
+ : 'info';
50
58
  this.config = {
51
59
  enableLogger: config.enableLogger ?? true,
52
- logLevel: config.logLevel ?? 'info',
60
+ logLevel,
53
61
  };
62
+ this.currentLevelIndex = TemporalLogger.LEVEL_INDICES.get(this.config.logLevel) ?? 2;
54
63
  }
55
64
  shouldLog(level) {
56
- if (this.config.enableLogger === false) {
65
+ if (!this.config.enableLogger)
57
66
  return false;
58
- }
59
- const levels = ['error', 'warn', 'info', 'debug', 'verbose'];
60
- const currentLevelIndex = levels.indexOf(this.config.logLevel);
61
- const requestedLevelIndex = levels.indexOf(level);
62
- return requestedLevelIndex <= currentLevelIndex;
67
+ const requestedLevelIndex = TemporalLogger.LEVEL_INDICES.get(level);
68
+ return requestedLevelIndex !== undefined && requestedLevelIndex <= this.currentLevelIndex;
63
69
  }
64
70
  error(message, trace, context) {
65
71
  if (this.shouldLog('error')) {
66
- const errorContext = context || this.context;
67
- if (trace instanceof Error) {
68
- this.nestLogger.error(message, trace.stack, errorContext);
69
- }
70
- else {
71
- this.nestLogger.error(message, trace, errorContext);
72
- }
72
+ const errorContext = context ?? this.context;
73
+ const stackTrace = trace instanceof Error ? trace.stack : trace;
74
+ this.nestLogger.error(message, stackTrace, errorContext);
73
75
  }
74
76
  }
75
77
  warn(message, context) {
76
78
  if (this.shouldLog('warn')) {
77
- this.nestLogger.warn(message, context || this.context);
79
+ this.nestLogger.warn(message, context ?? this.context);
78
80
  }
79
81
  }
80
82
  log(message, context) {
81
83
  if (this.shouldLog('info')) {
82
- this.nestLogger.log(message, context || this.context);
84
+ this.nestLogger.log(message, context ?? this.context);
83
85
  }
84
86
  }
85
87
  info(message, context) {
@@ -87,36 +89,31 @@ class TemporalLogger {
87
89
  }
88
90
  debug(message, context) {
89
91
  if (this.shouldLog('debug')) {
90
- this.nestLogger.debug(message, context || this.context);
92
+ this.nestLogger.debug(message, context ?? this.context);
91
93
  }
92
94
  }
93
95
  verbose(message, context) {
94
96
  if (this.shouldLog('verbose')) {
95
- this.nestLogger.verbose(message, context || this.context);
97
+ this.nestLogger.verbose(message, context ?? this.context);
96
98
  }
97
99
  }
98
100
  logExecutionTime(methodName, startTime, context) {
99
- const executionTime = Date.now() - startTime;
100
- this.debug(`${methodName} executed in ${executionTime}ms`, context || this.context);
101
+ if (this.shouldLog('debug')) {
102
+ const executionTime = Date.now() - startTime;
103
+ this.nestLogger.debug(`${methodName} executed in ${executionTime}ms`, context ?? this.context);
104
+ }
101
105
  }
102
106
  logWithLevel(level, message, context) {
103
- switch (level) {
104
- case 'error':
105
- this.error(message, undefined, context);
106
- break;
107
- case 'warn':
108
- this.warn(message, context);
109
- break;
110
- case 'info':
111
- this.log(message, context);
112
- break;
113
- case 'debug':
114
- this.debug(message, context);
115
- break;
116
- case 'verbose':
117
- this.verbose(message, context);
118
- break;
119
- }
107
+ if (!this.shouldLog(level))
108
+ return;
109
+ const methods = {
110
+ error: () => this.error(message, undefined, context),
111
+ warn: () => this.warn(message, context),
112
+ info: () => this.log(message, context),
113
+ debug: () => this.debug(message, context),
114
+ verbose: () => this.verbose(message, context),
115
+ };
116
+ methods[level]();
120
117
  }
121
118
  createChildLogger(childContext, config) {
122
119
  const combinedContext = `${this.context}:${childContext}`;
@@ -124,58 +121,32 @@ class TemporalLogger {
124
121
  return new TemporalLogger(combinedContext, childConfig);
125
122
  }
126
123
  getConfig() {
127
- return { ...this.config };
124
+ return this.config;
128
125
  }
129
126
  isEnabled() {
130
- return this.config.enableLogger ?? true;
127
+ return this.config.enableLogger;
131
128
  }
132
129
  getLogLevel() {
133
- return this.config.logLevel ?? 'info';
130
+ return this.config.logLevel;
134
131
  }
135
132
  getContext() {
136
133
  return this.context;
137
134
  }
138
- updateConfig(newConfig) {
139
- this.config.enableLogger = newConfig.enableLogger ?? this.config.enableLogger;
140
- this.config.logLevel = newConfig.logLevel ?? this.config.logLevel;
135
+ isLevelEnabled(level) {
136
+ return this.shouldLog(level);
141
137
  }
142
138
  }
143
139
  exports.TemporalLogger = TemporalLogger;
140
+ TemporalLogger.LOG_LEVELS = [
141
+ 'error',
142
+ 'warn',
143
+ 'info',
144
+ 'debug',
145
+ 'verbose',
146
+ ];
147
+ TemporalLogger.LEVEL_INDICES = new Map(TemporalLogger.LOG_LEVELS.map((level, index) => [level, index]));
144
148
  function createLogger(context, config) {
145
- const manager = TemporalLoggerManager.getInstance();
146
- return manager.createLogger(context, config);
147
- }
148
- function LogExecution(_logLevel = 'debug') {
149
- return function (target, propertyName, descriptor) {
150
- const method = descriptor.value;
151
- descriptor.value = function (...args) {
152
- const logger = createLogger(target.constructor.name);
153
- const startTime = Date.now();
154
- try {
155
- const result = method.apply(this, args);
156
- if (result instanceof Promise) {
157
- return result
158
- .then((res) => {
159
- logger.logExecutionTime(propertyName, startTime);
160
- return res;
161
- })
162
- .catch((error) => {
163
- logger.error(`Error in ${propertyName}:`, error);
164
- throw error;
165
- });
166
- }
167
- else {
168
- logger.logExecutionTime(propertyName, startTime);
169
- return result;
170
- }
171
- }
172
- catch (error) {
173
- logger.error(`Error in ${propertyName}:`, error);
174
- throw error;
175
- }
176
- };
177
- return descriptor;
178
- };
149
+ return TemporalLoggerManager.getInstance().createLogger(context, config);
179
150
  }
180
151
  class LoggerUtils {
181
152
  static logServiceInit(logger, serviceName, config) {
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,5 @@
1
- import { ActivityMethodOptions, ActivityOptions, WorkflowParameterMetadata } from '../interfaces';
1
+ import { ActivityMethodOptions, ActivityOptions } from '../interfaces';
2
2
  export declare function isActivity(target: object): boolean;
3
3
  export declare function getActivityMetadata(target: object): ActivityOptions | undefined;
4
4
  export declare function isActivityMethod(target: object): boolean;
5
5
  export declare function getActivityMethodMetadata(target: object): ActivityMethodOptions | undefined;
6
- export declare function getParameterMetadata(target: object, propertyKey: string | symbol): WorkflowParameterMetadata[];
7
- export declare function WorkflowParamDecorator(index?: number): ParameterDecorator;
@@ -4,35 +4,25 @@ exports.isActivity = isActivity;
4
4
  exports.getActivityMetadata = getActivityMetadata;
5
5
  exports.isActivityMethod = isActivityMethod;
6
6
  exports.getActivityMethodMetadata = getActivityMethodMetadata;
7
- exports.getParameterMetadata = getParameterMetadata;
8
- exports.WorkflowParamDecorator = WorkflowParamDecorator;
9
7
  const constants_1 = require("../constants");
10
8
  function isActivity(target) {
9
+ if (!target)
10
+ return false;
11
11
  return Reflect.hasMetadata(constants_1.TEMPORAL_ACTIVITY, target);
12
12
  }
13
13
  function getActivityMetadata(target) {
14
+ if (!target)
15
+ return undefined;
14
16
  return Reflect.getMetadata(constants_1.TEMPORAL_ACTIVITY, target);
15
17
  }
16
18
  function isActivityMethod(target) {
19
+ if (!target)
20
+ return false;
17
21
  return Reflect.hasMetadata(constants_1.TEMPORAL_ACTIVITY_METHOD, target);
18
22
  }
19
23
  function getActivityMethodMetadata(target) {
24
+ if (!target)
25
+ return undefined;
20
26
  return Reflect.getMetadata(constants_1.TEMPORAL_ACTIVITY_METHOD, target);
21
27
  }
22
- function getParameterMetadata(target, propertyKey) {
23
- return Reflect.getMetadata(constants_1.WORKFLOW_PARAMS_METADATA, target, propertyKey) || [];
24
- }
25
- function WorkflowParamDecorator(index) {
26
- return (target, propertyKey, parameterIndex) => {
27
- if (!propertyKey)
28
- return;
29
- const existingParams = Reflect.getMetadata(constants_1.WORKFLOW_PARAMS_METADATA, target, propertyKey) || [];
30
- existingParams[parameterIndex] = {
31
- type: 'param',
32
- index: index !== undefined ? index : parameterIndex,
33
- extractAll: index === undefined,
34
- };
35
- Reflect.defineMetadata(constants_1.WORKFLOW_PARAMS_METADATA, existingParams, target, propertyKey);
36
- };
37
- }
38
28
  //# sourceMappingURL=metadata.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/utils/metadata.ts"],"names":[],"mappings":";;AAoCA,gCAEC;AAiBD,kDAEC;AAQD,4CAEC;AAQD,8DAEC;AAUD,oDAKC;AAKD,wDAaC;AAnGD,4CAIsB;AAqBtB,SAAgB,UAAU,CAAC,MAAc;IACrC,OAAO,OAAO,CAAC,WAAW,CAAC,6BAAiB,EAAE,MAAM,CAAC,CAAC;AAC1D,CAAC;AAiBD,SAAgB,mBAAmB,CAAC,MAAc;IAC9C,OAAO,OAAO,CAAC,WAAW,CAAC,6BAAiB,EAAE,MAAM,CAAC,CAAC;AAC1D,CAAC;AAQD,SAAgB,gBAAgB,CAAC,MAAc;IAC3C,OAAO,OAAO,CAAC,WAAW,CAAC,oCAAwB,EAAE,MAAM,CAAC,CAAC;AACjE,CAAC;AAQD,SAAgB,yBAAyB,CAAC,MAAc;IACpD,OAAO,OAAO,CAAC,WAAW,CAAC,oCAAwB,EAAE,MAAM,CAAC,CAAC;AACjE,CAAC;AAUD,SAAgB,oBAAoB,CAChC,MAAc,EACd,WAA4B;IAE5B,OAAO,OAAO,CAAC,WAAW,CAAC,oCAAwB,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;AACpF,CAAC;AAKD,SAAgB,sBAAsB,CAAC,KAAc;IACjD,OAAO,CAAC,MAAc,EAAE,WAAwC,EAAE,cAAsB,EAAE,EAAE;QACxF,IAAI,CAAC,WAAW;YAAE,OAAO;QAEzB,MAAM,cAAc,GAChB,OAAO,CAAC,WAAW,CAAC,oCAAwB,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;QAC7E,cAAc,CAAC,cAAc,CAAC,GAAG;YAC7B,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc;YACnD,UAAU,EAAE,KAAK,KAAK,SAAS;SAClC,CAAC;QACF,OAAO,CAAC,cAAc,CAAC,oCAAwB,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAC1F,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/utils/metadata.ts"],"names":[],"mappings":";;AAiBA,gCAGC;AAiBD,kDAGC;AAQD,4CAGC;AAQD,8DAGC;AA9DD,4CAA2E;AAiB3E,SAAgB,UAAU,CAAC,MAAc;IACrC,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,OAAO,OAAO,CAAC,WAAW,CAAC,6BAAiB,EAAE,MAAM,CAAC,CAAC;AAC1D,CAAC;AAiBD,SAAgB,mBAAmB,CAAC,MAAc;IAC9C,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,OAAO,OAAO,CAAC,WAAW,CAAC,6BAAiB,EAAE,MAAM,CAAC,CAAC;AAC1D,CAAC;AAQD,SAAgB,gBAAgB,CAAC,MAAc;IAC3C,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,OAAO,OAAO,CAAC,WAAW,CAAC,oCAAwB,EAAE,MAAM,CAAC,CAAC;AACjE,CAAC;AAQD,SAAgB,yBAAyB,CAAC,MAAc;IACpD,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,OAAO,OAAO,CAAC,WAAW,CAAC,oCAAwB,EAAE,MAAM,CAAC,CAAC;AACjE,CAAC"}
@@ -1,2 +1,16 @@
1
- export declare function isValidCronExpression(cron: string): boolean;
2
- export declare function isValidIntervalExpression(interval: string): boolean;
1
+ import 'reflect-metadata';
2
+ export declare function validateWorkflowId(workflowId: string): void;
3
+ export declare function validateSignalName(signalName: string): void;
4
+ export declare function validateQueryName(queryName: string): void;
5
+ export declare function validateWorkflowType(workflowType: string): void;
6
+ export declare function validateActivityName(activityName: string): void;
7
+ export declare class ServiceInitializationUtils {
8
+ static safeInitialize<T>(serviceName: string, logger: {
9
+ debug: (msg: string) => void;
10
+ info: (msg: string) => void;
11
+ warn: (msg: string) => void;
12
+ error: (msg: string) => void;
13
+ }, initFunction: () => Promise<T> | T, allowFailure?: boolean): Promise<T | null>;
14
+ }
15
+ export declare function isValidCronExpression(expression: string): boolean;
16
+ export declare function isValidIntervalExpression(expression: string): boolean;
@@ -1,22 +1,116 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ServiceInitializationUtils = void 0;
4
+ exports.validateWorkflowId = validateWorkflowId;
5
+ exports.validateSignalName = validateSignalName;
6
+ exports.validateQueryName = validateQueryName;
7
+ exports.validateWorkflowType = validateWorkflowType;
8
+ exports.validateActivityName = validateActivityName;
3
9
  exports.isValidCronExpression = isValidCronExpression;
4
10
  exports.isValidIntervalExpression = isValidIntervalExpression;
5
- function isValidCronExpression(cron) {
6
- if (!cron || typeof cron !== 'string') {
11
+ require("reflect-metadata");
12
+ const logger_1 = require("./logger");
13
+ const logger = (0, logger_1.createLogger)('ValidationUtils');
14
+ function validateWorkflowId(workflowId) {
15
+ if (!workflowId || workflowId.trim().length === 0) {
16
+ logger.debug(`Workflow ID validation failed: "${workflowId}"`);
17
+ throw new Error('Workflow ID is required and cannot be empty');
18
+ }
19
+ logger.debug(`Workflow ID validation passed: "${workflowId}"`);
20
+ }
21
+ function validateSignalName(signalName) {
22
+ if (!signalName || signalName.trim().length === 0) {
23
+ logger.debug(`Signal name validation failed: "${signalName}"`);
24
+ throw new Error('Signal name is required and cannot be empty');
25
+ }
26
+ if (signalName.includes(' ') || signalName.includes('\n') || signalName.includes('\t')) {
27
+ logger.debug(`Signal name validation failed: "${signalName}" (contains whitespace)`);
28
+ throw new Error(`Invalid signal name: "${signalName}". Signal names cannot contain whitespace.`);
29
+ }
30
+ logger.debug(`Signal name validation passed: "${signalName}"`);
31
+ }
32
+ function validateQueryName(queryName) {
33
+ if (!queryName || queryName.trim().length === 0) {
34
+ logger.debug(`Query name validation failed: "${queryName}"`);
35
+ throw new Error('Query name is required and cannot be empty');
36
+ }
37
+ if (queryName.includes(' ') || queryName.includes('\n') || queryName.includes('\t')) {
38
+ logger.debug(`Query name validation failed: "${queryName}" (contains whitespace)`);
39
+ throw new Error(`Invalid query name: "${queryName}". Query names cannot contain whitespace.`);
40
+ }
41
+ logger.debug(`Query name validation passed: "${queryName}"`);
42
+ }
43
+ function validateWorkflowType(workflowType) {
44
+ if (!workflowType || workflowType.trim().length === 0) {
45
+ logger.debug(`Workflow type validation failed: "${workflowType}"`);
46
+ throw new Error('Workflow type is required and cannot be empty');
47
+ }
48
+ logger.debug(`Workflow type validation passed: "${workflowType}"`);
49
+ }
50
+ function validateActivityName(activityName) {
51
+ if (!activityName || activityName.trim().length === 0) {
52
+ logger.debug(`Activity name validation failed: "${activityName}"`);
53
+ throw new Error('Activity name is required and cannot be empty');
54
+ }
55
+ logger.debug(`Activity name validation passed: "${activityName}"`);
56
+ }
57
+ class ServiceInitializationUtils {
58
+ static async safeInitialize(serviceName, logger, initFunction, allowFailure = true) {
59
+ try {
60
+ logger.debug(`Initializing ${serviceName}...`);
61
+ const result = await initFunction();
62
+ logger.info(`${serviceName} initialized successfully`);
63
+ return result;
64
+ }
65
+ catch (error) {
66
+ if (allowFailure) {
67
+ logger.warn(`${serviceName} initialization failed - continuing in degraded mode: ${error.message}`);
68
+ return null;
69
+ }
70
+ else {
71
+ logger.error(`${serviceName} initialization failed: ${error.message}`);
72
+ throw error;
73
+ }
74
+ }
75
+ }
76
+ }
77
+ exports.ServiceInitializationUtils = ServiceInitializationUtils;
78
+ function isValidCronExpression(expression) {
79
+ if (!expression || typeof expression !== 'string') {
80
+ return false;
81
+ }
82
+ const parts = expression
83
+ .trim()
84
+ .split(/\s+/)
85
+ .filter((part) => part.length > 0);
86
+ if (parts.length < 5 || parts.length > 6) {
7
87
  return false;
8
88
  }
9
- const parts = cron.trim().split(/\s+/);
10
- if (parts.length !== 5 && parts.length !== 6) {
89
+ if (/^\s\d/.test(expression) && !/^\s\s+/.test(expression)) {
11
90
  return false;
12
91
  }
13
- return parts.every((part) => part.length > 0 && part !== '');
92
+ const validCronRegex = /^[\d\*\-,\/\?LW]+$/;
93
+ for (let i = 0; i < parts.length; i++) {
94
+ const part = parts[i];
95
+ if (/[@&#]/.test(part)) {
96
+ return false;
97
+ }
98
+ if (part !== '*' && !validCronRegex.test(part)) {
99
+ return false;
100
+ }
101
+ if (parts.length === 6 && i === 0) {
102
+ if (part !== '*' && /^\d+$/.test(part) && parseInt(part, 10) > 59) {
103
+ return false;
104
+ }
105
+ }
106
+ }
107
+ return true;
14
108
  }
15
- function isValidIntervalExpression(interval) {
16
- if (!interval || typeof interval !== 'string') {
109
+ function isValidIntervalExpression(expression) {
110
+ if (!expression || typeof expression !== 'string') {
17
111
  return false;
18
112
  }
19
- const intervalPattern = /^\d+(ms|[smhd])$/;
20
- return intervalPattern.test(interval.trim());
113
+ const intervalRegex = /^\d+(ms|[smhd])$/;
114
+ return intervalRegex.test(expression.trim());
21
115
  }
22
116
  //# sourceMappingURL=validation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":";;AA0BA,sDAcC;AAuBD,8DASC;AA9CD,SAAgB,qBAAqB,CAAC,IAAY;IAC9C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAGvC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3C,OAAO,KAAK,CAAC;IACjB,CAAC;IAGD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;AACjE,CAAC;AAuBD,SAAgB,yBAAyB,CAAC,QAAgB;IACtD,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC;IACjB,CAAC;IAID,MAAM,eAAe,GAAG,kBAAkB,CAAC;IAC3C,OAAO,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"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"}