nestjs-temporal-core 3.0.1 → 3.0.4

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 (101) hide show
  1. package/README.md +274 -139
  2. package/dist/client/temporal-client.module.d.ts +9 -3
  3. package/dist/client/temporal-client.module.js +43 -13
  4. package/dist/client/temporal-client.module.js.map +1 -1
  5. package/dist/client/temporal-client.service.d.ts +10 -3
  6. package/dist/client/temporal-client.service.js +15 -6
  7. package/dist/client/temporal-client.service.js.map +1 -1
  8. package/dist/client/temporal-schedule.service.d.ts +21 -5
  9. package/dist/client/temporal-schedule.service.js +42 -10
  10. package/dist/client/temporal-schedule.service.js.map +1 -1
  11. package/dist/constants.d.ts +47 -70
  12. package/dist/constants.js +51 -74
  13. package/dist/constants.js.map +1 -1
  14. package/dist/decorators/activity.decorator.d.ts +3 -0
  15. package/dist/decorators/activity.decorator.js +39 -0
  16. package/dist/decorators/activity.decorator.js.map +1 -0
  17. package/dist/decorators/index.d.ts +4 -5
  18. package/dist/decorators/index.js +17 -19
  19. package/dist/decorators/index.js.map +1 -1
  20. package/dist/decorators/parameter.decorator.d.ts +7 -0
  21. package/dist/decorators/parameter.decorator.js +69 -0
  22. package/dist/decorators/parameter.decorator.js.map +1 -0
  23. package/dist/decorators/{scheduling.decorators.d.ts → scheduling.decorator.d.ts} +1 -1
  24. package/dist/decorators/{scheduling.decorators.js → scheduling.decorator.js} +24 -1
  25. package/dist/decorators/scheduling.decorator.js.map +1 -0
  26. package/dist/decorators/workflow.decorator.d.ts +3 -0
  27. package/dist/decorators/workflow.decorator.js +58 -0
  28. package/dist/decorators/workflow.decorator.js.map +1 -0
  29. package/dist/discovery/index.d.ts +2 -2
  30. package/dist/discovery/index.js +2 -2
  31. package/dist/discovery/index.js.map +1 -1
  32. package/dist/discovery/{workflow-discovery.service.d.ts → temporal-discovery.service.d.ts} +21 -18
  33. package/dist/discovery/temporal-discovery.service.js +190 -0
  34. package/dist/discovery/temporal-discovery.service.js.map +1 -0
  35. package/dist/discovery/{schedule-manager.service.d.ts → temporal-schedule-manager.service.d.ts} +20 -15
  36. package/dist/discovery/{schedule-manager.service.js → temporal-schedule-manager.service.js} +96 -76
  37. package/dist/discovery/temporal-schedule-manager.service.js.map +1 -0
  38. package/dist/index.d.ts +6 -11
  39. package/dist/index.js +16 -16
  40. package/dist/index.js.map +1 -1
  41. package/dist/interfaces.d.ts +193 -0
  42. package/dist/interfaces.js +9 -0
  43. package/dist/interfaces.js.map +1 -0
  44. package/dist/temporal.module.d.ts +2 -1
  45. package/dist/temporal.module.js +84 -49
  46. package/dist/temporal.module.js.map +1 -1
  47. package/dist/temporal.service.d.ts +34 -26
  48. package/dist/temporal.service.js +76 -47
  49. package/dist/temporal.service.js.map +1 -1
  50. package/dist/tsconfig.tsbuildinfo +1 -1
  51. package/dist/worker/index.d.ts +1 -1
  52. package/dist/worker/index.js +1 -1
  53. package/dist/worker/index.js.map +1 -1
  54. package/dist/worker/temporal-metadata.accessor.d.ts +13 -5
  55. package/dist/worker/temporal-metadata.accessor.js +38 -26
  56. package/dist/worker/temporal-metadata.accessor.js.map +1 -1
  57. package/dist/worker/{worker-manager.service.d.ts → temporal-worker-manager.service.d.ts} +13 -4
  58. package/dist/worker/{worker-manager.service.js → temporal-worker-manager.service.js} +58 -22
  59. package/dist/worker/temporal-worker-manager.service.js.map +1 -0
  60. package/dist/worker/temporal-worker.module.d.ts +14 -4
  61. package/dist/worker/temporal-worker.module.js +81 -15
  62. package/dist/worker/temporal-worker.module.js.map +1 -1
  63. package/package.json +12 -6
  64. package/dist/decorators/communication.decorators.d.ts +0 -5
  65. package/dist/decorators/communication.decorators.js +0 -66
  66. package/dist/decorators/communication.decorators.js.map +0 -1
  67. package/dist/decorators/core.decorators.d.ts +0 -6
  68. package/dist/decorators/core.decorators.js +0 -87
  69. package/dist/decorators/core.decorators.js.map +0 -1
  70. package/dist/decorators/parameter.decorators.d.ts +0 -2
  71. package/dist/decorators/parameter.decorators.js +0 -29
  72. package/dist/decorators/parameter.decorators.js.map +0 -1
  73. package/dist/decorators/scheduling.decorators.js.map +0 -1
  74. package/dist/decorators/workflow-starter.decorator.d.ts +0 -2
  75. package/dist/decorators/workflow-starter.decorator.js +0 -14
  76. package/dist/decorators/workflow-starter.decorator.js.map +0 -1
  77. package/dist/discovery/schedule-manager.service.js.map +0 -1
  78. package/dist/discovery/workflow-discovery.service.js +0 -216
  79. package/dist/discovery/workflow-discovery.service.js.map +0 -1
  80. package/dist/interfaces/activity.interface.d.ts +0 -8
  81. package/dist/interfaces/activity.interface.js +0 -3
  82. package/dist/interfaces/activity.interface.js.map +0 -1
  83. package/dist/interfaces/core.interface.d.ts +0 -112
  84. package/dist/interfaces/core.interface.js +0 -3
  85. package/dist/interfaces/core.interface.js.map +0 -1
  86. package/dist/interfaces/discovery.interface.d.ts +0 -61
  87. package/dist/interfaces/discovery.interface.js +0 -3
  88. package/dist/interfaces/discovery.interface.js.map +0 -1
  89. package/dist/interfaces/index.d.ts +0 -9
  90. package/dist/interfaces/index.js +0 -29
  91. package/dist/interfaces/index.js.map +0 -1
  92. package/dist/interfaces/scheduling.interface.d.ts +0 -17
  93. package/dist/interfaces/scheduling.interface.js +0 -3
  94. package/dist/interfaces/scheduling.interface.js.map +0 -1
  95. package/dist/interfaces/worker.interface.d.ts +0 -23
  96. package/dist/interfaces/worker.interface.js +0 -3
  97. package/dist/interfaces/worker.interface.js.map +0 -1
  98. package/dist/interfaces/workflow.interface.d.ts +0 -55
  99. package/dist/interfaces/workflow.interface.js +0 -3
  100. package/dist/interfaces/workflow.interface.js.map +0 -1
  101. package/dist/worker/worker-manager.service.js.map +0 -1
@@ -1,3 +1,3 @@
1
1
  export * from './temporal-worker.module';
2
- export * from './worker-manager.service';
2
+ export * from './temporal-worker-manager.service';
3
3
  export * from './temporal-metadata.accessor';
@@ -15,6 +15,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./temporal-worker.module"), exports);
18
- __exportStar(require("./worker-manager.service"), exports);
18
+ __exportStar(require("./temporal-worker-manager.service"), exports);
19
19
  __exportStar(require("./temporal-metadata.accessor"), exports);
20
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/worker/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAGA,2DAAyC;AACzC,2DAAyC;AACzC,+DAA6C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/worker/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAGA,2DAAyC;AACzC,oEAAkD;AAClD,+DAA6C"}
@@ -1,5 +1,4 @@
1
- import { ActivityMethodHandler } from '../interfaces';
2
- import { ActivityMetadata, ActivityMethodMetadata } from 'src/interfaces';
1
+ import { ActivityMetadata, ActivityMethodHandler, ActivityMethodMetadata } from '../interfaces';
3
2
  export declare class TemporalMetadataAccessor {
4
3
  private readonly logger;
5
4
  private readonly activityClassCache;
@@ -12,12 +11,21 @@ export declare class TemporalMetadataAccessor {
12
11
  extractActivityMethods(instance: any): Map<string, ActivityMethodHandler>;
13
12
  getActivityMethodMetadata(instance: any, methodName: string): ActivityMethodMetadata | null;
14
13
  getActivityMethodNames(target: any): string[];
14
+ getActivityInfo(target: any): {
15
+ isActivity: boolean;
16
+ activityOptions: ActivityMetadata | null;
17
+ methodNames: string[];
18
+ methodCount: number;
19
+ };
20
+ validateActivityClass(target: any): {
21
+ isValid: boolean;
22
+ issues: string[];
23
+ };
15
24
  clearCache(): void;
16
25
  getCacheStats(): {
17
- activityClassesCached: number;
18
- activityMethodsCached: number;
26
+ message: string;
27
+ note: string;
19
28
  };
20
29
  private getActivityMetadata;
21
30
  private extractMethodsFromPrototype;
22
- private validateMethodSignature;
23
31
  }
@@ -5,13 +5,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
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
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
+ var TemporalMetadataAccessor_1;
8
9
  Object.defineProperty(exports, "__esModule", { value: true });
9
10
  exports.TemporalMetadataAccessor = void 0;
10
11
  const common_1 = require("@nestjs/common");
11
12
  const constants_1 = require("../constants");
12
- let TemporalMetadataAccessor = class TemporalMetadataAccessor {
13
+ let TemporalMetadataAccessor = TemporalMetadataAccessor_1 = class TemporalMetadataAccessor {
13
14
  constructor() {
14
- this.logger = new common_1.Logger(constants_1.LOG_CATEGORIES.ACTIVITY);
15
+ this.logger = new common_1.Logger(TemporalMetadataAccessor_1.name);
15
16
  this.activityClassCache = new WeakMap();
16
17
  this.activityMethodCache = new WeakMap();
17
18
  }
@@ -47,20 +48,22 @@ let TemporalMetadataAccessor = class TemporalMetadataAccessor {
47
48
  if (!target || typeof target !== 'function') {
48
49
  return null;
49
50
  }
50
- return Reflect.getMetadata(constants_1.TEMPORAL_ACTIVITY_METHOD_NAME, target) || null;
51
+ const metadata = Reflect.getMetadata(constants_1.TEMPORAL_ACTIVITY_METHOD, target);
52
+ return metadata?.name || null;
51
53
  }
52
54
  getActivityMethodOptions(target) {
53
55
  if (!target || typeof target !== 'function') {
54
56
  return null;
55
57
  }
56
- return Reflect.getMetadata(constants_1.TEMPORAL_ACTIVITY_METHOD_OPTIONS, target) || null;
58
+ const metadata = Reflect.getMetadata(constants_1.TEMPORAL_ACTIVITY_METHOD, target);
59
+ return metadata || null;
57
60
  }
58
61
  extractActivityMethods(instance) {
59
62
  if (!instance || typeof instance !== 'object') {
60
63
  this.logger.warn('Invalid instance provided to extractActivityMethods');
61
64
  return new Map();
62
65
  }
63
- const constructor = instance.constructor;
66
+ const { constructor } = instance;
64
67
  if (this.activityMethodCache.has(constructor)) {
65
68
  const cachedMethods = this.activityMethodCache.get(constructor);
66
69
  const boundMethods = new Map();
@@ -86,7 +89,7 @@ let TemporalMetadataAccessor = class TemporalMetadataAccessor {
86
89
  if (metadata && metadata.originalName === methodName) {
87
90
  return {
88
91
  ...metadata,
89
- handler: handler,
92
+ handler,
90
93
  };
91
94
  }
92
95
  }
@@ -101,7 +104,7 @@ let TemporalMetadataAccessor = class TemporalMetadataAccessor {
101
104
  if (cachedMethods) {
102
105
  return Array.from(cachedMethods.keys());
103
106
  }
104
- const prototype = target.prototype;
107
+ const { prototype } = target;
105
108
  if (!prototype) {
106
109
  return [];
107
110
  }
@@ -123,13 +126,35 @@ let TemporalMetadataAccessor = class TemporalMetadataAccessor {
123
126
  }
124
127
  return methodNames;
125
128
  }
129
+ getActivityInfo(target) {
130
+ return {
131
+ isActivity: this.isActivity(target),
132
+ activityOptions: this.getActivityOptions(target),
133
+ methodNames: this.getActivityMethodNames(target),
134
+ methodCount: this.getActivityMethodNames(target).length,
135
+ };
136
+ }
137
+ validateActivityClass(target) {
138
+ const issues = [];
139
+ if (!this.isActivity(target)) {
140
+ issues.push('Class is not marked with @Activity decorator');
141
+ }
142
+ const methodNames = this.getActivityMethodNames(target);
143
+ if (methodNames.length === 0) {
144
+ issues.push('Activity class has no methods marked with @ActivityMethod');
145
+ }
146
+ return {
147
+ isValid: issues.length === 0,
148
+ issues,
149
+ };
150
+ }
126
151
  clearCache() {
127
152
  this.logger.debug('Metadata accessor cache cleared');
128
153
  }
129
154
  getCacheStats() {
130
155
  return {
131
- activityClassesCached: -1,
132
- activityMethodsCached: -1,
156
+ message: 'Cache statistics not available',
157
+ note: 'WeakMap-based caching prevents memory leaks but limits size reporting',
133
158
  };
134
159
  }
135
160
  getActivityMetadata(target) {
@@ -157,12 +182,12 @@ let TemporalMetadataAccessor = class TemporalMetadataAccessor {
157
182
  if (typeof method !== 'function')
158
183
  continue;
159
184
  if (this.isActivityMethod(method)) {
160
- const activityName = this.getActivityMethodName(method) || propertyName;
161
- const options = this.getActivityMethodOptions(method);
185
+ const metadata = this.getActivityMethodOptions(method);
186
+ const activityName = metadata?.name || propertyName;
162
187
  methods.set(activityName, {
163
188
  name: activityName,
164
189
  originalName: propertyName,
165
- options: options || undefined,
190
+ options: metadata || undefined,
166
191
  handler: method,
167
192
  });
168
193
  this.logger.debug(`Found activity method: ${instance.constructor.name}.${propertyName} -> ${activityName}`);
@@ -174,22 +199,9 @@ let TemporalMetadataAccessor = class TemporalMetadataAccessor {
174
199
  }
175
200
  return methods;
176
201
  }
177
- validateMethodSignature(method, methodName) {
178
- try {
179
- if (typeof method !== 'function') {
180
- this.logger.warn(`Method ${methodName} is not a function`);
181
- return false;
182
- }
183
- return true;
184
- }
185
- catch (error) {
186
- this.logger.warn(`Error validating method signature for ${methodName}: ${error.message}`);
187
- return false;
188
- }
189
- }
190
202
  };
191
203
  exports.TemporalMetadataAccessor = TemporalMetadataAccessor;
192
- exports.TemporalMetadataAccessor = TemporalMetadataAccessor = __decorate([
204
+ exports.TemporalMetadataAccessor = TemporalMetadataAccessor = TemporalMetadataAccessor_1 = __decorate([
193
205
  (0, common_1.Injectable)()
194
206
  ], TemporalMetadataAccessor);
195
207
  //# sourceMappingURL=temporal-metadata.accessor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"temporal-metadata.accessor.js","sourceRoot":"","sources":["../../src/worker/temporal-metadata.accessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"temporal-metadata.accessor.js","sourceRoot":"","sources":["../../src/worker/temporal-metadata.accessor.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,8 @@ import { OnApplicationBootstrap, OnModuleDestroy, OnModuleInit } from '@nestjs/c
2
2
  import { DiscoveryService } from '@nestjs/core';
3
3
  import { NativeConnection, Worker } from '@temporalio/worker';
4
4
  import { TemporalMetadataAccessor } from './temporal-metadata.accessor';
5
- import { TemporalWorkerOptions, WorkerStatus } from 'src/interfaces';
6
- export declare class WorkerManager implements OnModuleInit, OnModuleDestroy, OnApplicationBootstrap {
5
+ import { WorkerStatus } from '../interfaces';
6
+ export declare class TemporalWorkerManagerService implements OnModuleInit, OnModuleDestroy, OnApplicationBootstrap {
7
7
  private readonly options;
8
8
  private readonly discoveryService;
9
9
  private readonly metadataAccessor;
@@ -15,7 +15,7 @@ export declare class WorkerManager implements OnModuleInit, OnModuleDestroy, OnA
15
15
  private startedAt?;
16
16
  private lastError?;
17
17
  private activities;
18
- constructor(options: TemporalWorkerOptions, discoveryService: DiscoveryService, metadataAccessor: TemporalMetadataAccessor);
18
+ constructor(options: any, discoveryService: DiscoveryService, metadataAccessor: TemporalMetadataAccessor);
19
19
  onModuleInit(): Promise<void>;
20
20
  onApplicationBootstrap(): Promise<void>;
21
21
  onModuleDestroy(): Promise<void>;
@@ -29,15 +29,24 @@ export declare class WorkerManager implements OnModuleInit, OnModuleDestroy, OnA
29
29
  private logWorkerConfiguration;
30
30
  startWorker(): Promise<void>;
31
31
  shutdown(): Promise<void>;
32
+ restartWorker(): Promise<void>;
32
33
  getWorker(): Worker | null;
33
34
  getConnection(): NativeConnection | null;
34
35
  isWorkerRunning(): boolean;
35
36
  isWorkerInitialized(): boolean;
36
37
  getWorkerStatus(): WorkerStatus;
37
38
  getRegisteredActivities(): string[];
38
- restartWorker(): Promise<void>;
39
+ getActivityInfo(): Array<{
40
+ name: string;
41
+ className: string;
42
+ methodName: string;
43
+ }>;
39
44
  healthCheck(): Promise<{
40
45
  status: 'healthy' | 'unhealthy' | 'degraded';
41
46
  details: WorkerStatus;
47
+ activities: {
48
+ total: number;
49
+ registered: string[];
50
+ };
42
51
  }>;
43
52
  }
@@ -11,19 +11,20 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  var __param = (this && this.__param) || function (paramIndex, decorator) {
12
12
  return function (target, key) { decorator(target, key, paramIndex); }
13
13
  };
14
+ var TemporalWorkerManagerService_1;
14
15
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.WorkerManager = void 0;
16
+ exports.TemporalWorkerManagerService = void 0;
16
17
  const common_1 = require("@nestjs/common");
17
18
  const core_1 = require("@nestjs/core");
18
19
  const worker_1 = require("@temporalio/worker");
19
- const constants_1 = require("../constants");
20
20
  const temporal_metadata_accessor_1 = require("./temporal-metadata.accessor");
21
- let WorkerManager = class WorkerManager {
21
+ const constants_1 = require("../constants");
22
+ let TemporalWorkerManagerService = TemporalWorkerManagerService_1 = class TemporalWorkerManagerService {
22
23
  constructor(options, discoveryService, metadataAccessor) {
23
24
  this.options = options;
24
25
  this.discoveryService = discoveryService;
25
26
  this.metadataAccessor = metadataAccessor;
26
- this.logger = new common_1.Logger(constants_1.LOG_CATEGORIES.WORKER);
27
+ this.logger = new common_1.Logger(TemporalWorkerManagerService_1.name);
27
28
  this.worker = null;
28
29
  this.connection = null;
29
30
  this.isInitialized = false;
@@ -106,10 +107,10 @@ let WorkerManager = class WorkerManager {
106
107
  const workerOptions = this.buildWorkerOptions();
107
108
  this.worker = await worker_1.Worker.create({
108
109
  connection: this.connection,
109
- namespace: this.options.namespace || constants_1.DEFAULT_NAMESPACE,
110
+ namespace: this.options.connection?.namespace || constants_1.DEFAULT_NAMESPACE,
110
111
  ...workerOptions,
111
112
  });
112
- this.logger.log(`Worker created for queue: ${this.options.taskQueue} in namespace: ${this.options.namespace || constants_1.DEFAULT_NAMESPACE}`);
113
+ this.logger.log(`Worker created for queue: ${this.options.taskQueue} in namespace: ${this.options.connection?.namespace || constants_1.DEFAULT_NAMESPACE}`);
113
114
  }
114
115
  buildWorkerOptions() {
115
116
  const baseOptions = {
@@ -138,7 +139,12 @@ let WorkerManager = class WorkerManager {
138
139
  case 'development':
139
140
  return constants_1.WORKER_PRESETS.DEVELOPMENT;
140
141
  default:
141
- return constants_1.WORKER_PRESETS.PRODUCTION_MINIMAL;
142
+ return {
143
+ maxConcurrentActivityTaskExecutions: 20,
144
+ maxConcurrentWorkflowTaskExecutions: 10,
145
+ maxConcurrentLocalActivityExecutions: 20,
146
+ reuseV8Context: true,
147
+ };
142
148
  }
143
149
  }
144
150
  async discoverActivities() {
@@ -163,6 +169,11 @@ let WorkerManager = class WorkerManager {
163
169
  try {
164
170
  const className = instance.constructor.name;
165
171
  this.logger.debug(`Processing activity class: ${className}`);
172
+ const validation = this.metadataAccessor.validateActivityClass(instance.constructor);
173
+ if (!validation.isValid) {
174
+ this.logger.warn(`Activity class ${className} has issues: ${validation.issues.join(', ')}`);
175
+ continue;
176
+ }
166
177
  const activityMethods = this.metadataAccessor.extractActivityMethods(instance);
167
178
  for (const [activityName, method] of activityMethods.entries()) {
168
179
  activities[activityName] = method;
@@ -180,7 +191,7 @@ let WorkerManager = class WorkerManager {
180
191
  logWorkerConfiguration() {
181
192
  const config = {
182
193
  taskQueue: this.options.taskQueue,
183
- namespace: this.options.namespace || constants_1.DEFAULT_NAMESPACE,
194
+ namespace: this.options.connection?.namespace || constants_1.DEFAULT_NAMESPACE,
184
195
  workflowSource: this.options.workflowBundle ? 'bundle' : 'filesystem',
185
196
  activitiesCount: Object.keys(this.activities).length,
186
197
  autoStart: this.options.autoStart !== false,
@@ -247,6 +258,16 @@ let WorkerManager = class WorkerManager {
247
258
  this.isInitialized = false;
248
259
  this.startedAt = undefined;
249
260
  }
261
+ async restartWorker() {
262
+ this.logger.log('Restarting worker...');
263
+ if (this.isRunning) {
264
+ await this.shutdown();
265
+ }
266
+ await this.initializeWorker();
267
+ if (this.options.autoStart !== false) {
268
+ await this.startWorker();
269
+ }
270
+ }
250
271
  getWorker() {
251
272
  return this.worker;
252
273
  }
@@ -266,7 +287,7 @@ let WorkerManager = class WorkerManager {
266
287
  isRunning: this.isRunning,
267
288
  isHealthy: this.isInitialized && !this.lastError,
268
289
  taskQueue: this.options.taskQueue,
269
- namespace: this.options.namespace || constants_1.DEFAULT_NAMESPACE,
290
+ namespace: this.options.connection?.namespace || constants_1.DEFAULT_NAMESPACE,
270
291
  workflowSource: this.options.workflowBundle
271
292
  ? 'bundle'
272
293
  : this.options.workflowsPath
@@ -281,18 +302,29 @@ let WorkerManager = class WorkerManager {
281
302
  getRegisteredActivities() {
282
303
  return Object.keys(this.activities);
283
304
  }
284
- async restartWorker() {
285
- this.logger.log('Restarting worker...');
286
- if (this.isRunning) {
287
- await this.shutdown();
288
- }
289
- await this.initializeWorker();
290
- if (this.options.autoStart !== false) {
291
- await this.startWorker();
305
+ getActivityInfo() {
306
+ const activityInfo = [];
307
+ const providers = this.discoveryService.getProviders();
308
+ for (const wrapper of providers) {
309
+ const { instance } = wrapper;
310
+ if (!instance || !this.metadataAccessor.isActivity(instance.constructor)) {
311
+ continue;
312
+ }
313
+ const className = instance.constructor.name;
314
+ const methodNames = this.metadataAccessor.getActivityMethodNames(instance.constructor);
315
+ for (const methodName of methodNames) {
316
+ activityInfo.push({
317
+ name: methodName,
318
+ className,
319
+ methodName,
320
+ });
321
+ }
292
322
  }
323
+ return activityInfo;
293
324
  }
294
325
  async healthCheck() {
295
326
  const status = this.getWorkerStatus();
327
+ const activities = this.getRegisteredActivities();
296
328
  let healthStatus;
297
329
  if (!status.isInitialized) {
298
330
  healthStatus = 'unhealthy';
@@ -309,14 +341,18 @@ let WorkerManager = class WorkerManager {
309
341
  return {
310
342
  status: healthStatus,
311
343
  details: status,
344
+ activities: {
345
+ total: activities.length,
346
+ registered: activities,
347
+ },
312
348
  };
313
349
  }
314
350
  };
315
- exports.WorkerManager = WorkerManager;
316
- exports.WorkerManager = WorkerManager = __decorate([
351
+ exports.TemporalWorkerManagerService = TemporalWorkerManagerService;
352
+ exports.TemporalWorkerManagerService = TemporalWorkerManagerService = TemporalWorkerManagerService_1 = __decorate([
317
353
  (0, common_1.Injectable)(),
318
- __param(0, (0, common_1.Inject)(constants_1.TEMPORAL_WORKER_MODULE_OPTIONS)),
354
+ __param(0, (0, common_1.Inject)(constants_1.TEMPORAL_MODULE_OPTIONS)),
319
355
  __metadata("design:paramtypes", [Object, core_1.DiscoveryService,
320
356
  temporal_metadata_accessor_1.TemporalMetadataAccessor])
321
- ], WorkerManager);
322
- //# sourceMappingURL=worker-manager.service.js.map
357
+ ], TemporalWorkerManagerService);
358
+ //# sourceMappingURL=temporal-worker-manager.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"temporal-worker-manager.service.js","sourceRoot":"","sources":["../../src/worker/temporal-worker-manager.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAOwB;AACxB,uCAAgD;AAChD,+CAA8D;AAC9D,6EAAwE;AACxE,4CAAkG;AAQ3F,IAAM,4BAA4B,oCAAlC,MAAM,4BAA4B;IAcrC,YAEI,OAA6B,EACZ,gBAAkC,EAClC,gBAA0C;QAF1C,YAAO,GAAP,OAAO,CAAK;QACZ,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,qBAAgB,GAAhB,gBAAgB,CAA0B;QAf9C,WAAM,GAAG,IAAI,eAAM,CAAC,8BAA4B,CAAC,IAAI,CAAC,CAAC;QAGhE,WAAM,GAAkB,IAAI,CAAC;QAC7B,eAAU,GAA4B,IAAI,CAAC;QAC3C,kBAAa,GAAG,KAAK,CAAC;QACtB,cAAS,GAAG,KAAK,CAAC;QAGlB,eAAU,GAA0C,EAAE,CAAC;IAO5D,CAAC;IAMJ,KAAK,CAAC,YAAY;QACd,IAAI,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;YACnD,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC9B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QAChE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAErE,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,KAAK,KAAK,EAAE,CAAC;gBAC5C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;YAC/E,CAAC;iBAAM,CAAC;gBACJ,MAAM,KAAK,CAAC;YAChB,CAAC;QACL,CAAC;IACL,CAAC;IAED,KAAK,CAAC,sBAAsB;QACxB,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACnD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;YAC1E,OAAO;QACX,CAAC;QAED,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,eAAe;QACjB,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IASO,KAAK,CAAC,gBAAgB;QAC1B,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAClD,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAClC,CAAC;IAKO,qBAAqB;QACzB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,kBAAM,CAAC,kBAAkB,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC7D,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAE/D,IAAI,CAAC,gBAAgB,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC/E,CAAC;QAED,IAAI,gBAAgB,IAAI,iBAAiB,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC5E,CAAC;QAED,IAAI,iBAAiB,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAClF,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAC;QAC5F,CAAC;IACL,CAAC;IAKO,KAAK,CAAC,gBAAgB;QAC1B,MAAM,iBAAiB,GAAQ;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,IAAI,gBAAgB;YAC7D,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG;SACpC,CAAC;QAEF,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;YAClC,iBAAiB,CAAC,QAAQ,GAAG;gBACzB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAC;gBAC3C,aAAa,EAAE,UAAU,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE;aAC5D,CAAC;QACN,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC;QACnF,IAAI,CAAC,UAAU,GAAG,MAAM,yBAAgB,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACpE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACzD,CAAC;IAKO,KAAK,CAAC,YAAY;QACtB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAEhD,IAAI,CAAC,MAAM,GAAG,MAAM,eAAM,CAAC,MAAM,CAAC;YAC9B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,IAAI,6BAAiB;YAClE,GAAG,aAAa;SACnB,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,6BAA6B,IAAI,CAAC,OAAO,CAAC,SAAS,kBAC/C,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,IAAI,6BAC1C,EAAE,CACL,CAAC;IACN,CAAC;IAKO,kBAAkB;QACtB,MAAM,WAAW,GAAQ;YACrB,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;YACjC,UAAU,EAAE,IAAI,CAAC,UAAU;SAC9B,CAAC;QAGF,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YAC9B,WAAW,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;QAC7D,CAAC;aAAM,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YACpC,WAAW,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;QAC3D,CAAC;QAGD,MAAM,cAAc,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAGrD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;QAErD,OAAO;YACH,GAAG,WAAW;YACd,GAAG,cAAc;YACjB,GAAG,WAAW;SACjB,CAAC;IACN,CAAC;IAKO,sBAAsB;QAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa,CAAC;QAElD,QAAQ,GAAG,EAAE,CAAC;YACV,KAAK,YAAY;gBACb,OAAO,0BAAc,CAAC,mBAAmB,CAAC;YAC9C,KAAK,aAAa;gBACd,OAAO,0BAAc,CAAC,WAAW,CAAC;YACtC;gBACI,OAAO;oBACH,mCAAmC,EAAE,EAAE;oBACvC,mCAAmC,EAAE,EAAE;oBACvC,oCAAoC,EAAE,EAAE;oBACxC,cAAc,EAAE,IAAI;iBACvB,CAAC;QACV,CAAC;IACL,CAAC;IASO,KAAK,CAAC,kBAAkB;QAC5B,MAAM,UAAU,GAA0C,EAAE,CAAC;QAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;QAEvD,MAAM,iBAAiB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;YACnD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;YACvC,MAAM,WAAW,GAAG,QAAQ,EAAE,WAAW,IAAI,QAAQ,CAAC;YAEtD,IAAI,CAAC,WAAW;gBAAE,OAAO,KAAK,CAAC;YAG/B,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;gBACvC,OAAO,CACH,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC;oBAClD,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,WAAW,CAAC,CAChD,CAAC;YACN,CAAC;YAGD,OAAO,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,iBAAiB,CAAC,MAAM,qBAAqB,CAAC,CAAC;QAExE,KAAK,MAAM,OAAO,IAAI,iBAAiB,EAAE,CAAC;YACtC,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;YAC7B,IAAI,CAAC,QAAQ;gBAAE,SAAS;YAExB,IAAI,CAAC;gBACD,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC;gBAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,SAAS,EAAE,CAAC,CAAC;gBAG7D,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAC1D,QAAQ,CAAC,WAAW,CACvB,CAAC;gBACF,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;oBACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,kBAAkB,SAAS,gBAAgB,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC5E,CAAC;oBACF,SAAS;gBACb,CAAC;gBAED,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;gBAE/E,KAAK,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC;oBAC7D,UAAU,CAAC,YAAY,CAAC,GAAG,MAA+B,CAAC;oBAC3D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,SAAS,IAAI,YAAY,EAAE,CAAC,CAAC;gBAC3E,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,oCAAoC,QAAQ,CAAC,WAAW,CAAC,IAAI,GAAG,EAChE,KAAK,CAAC,KAAK,CACd,CAAC;YACN,CAAC;QACL,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;QACrD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,aAAa,4BAA4B,CAAC,CAAC;QAEzE,OAAO,UAAU,CAAC;IACtB,CAAC;IAKO,sBAAsB;QAC1B,MAAM,MAAM,GAAG;YACX,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;YACjC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,IAAI,6BAAiB;YAClE,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY;YACrE,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM;YACpD,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,KAAK;YAC3C,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa;SACrD,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAEjD,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC7B,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,MAAM,CACpE,CAAC,GAAG,EAAE,EAAE,CACJ,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CACpF,CAAC;YAEF,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpF,CAAC;QACL,CAAC;IACL,CAAC;IASD,KAAK,CAAC,WAAW;QACb,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,kBAAM,CAAC,sBAAsB,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YAC9C,OAAO;QACX,CAAC;QAED,IAAI,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mCAAmC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;YAC7E,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAG3B,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YACvD,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;IAKD,KAAK,CAAC,QAAQ;QACV,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAEpD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAC7B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;YACrD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YACnE,CAAC;oBAAS,CAAC;gBACP,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACvB,CAAC;QACL,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;YACtD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YACpE,CAAC;oBAAS,CAAC;gBACP,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YAC3B,CAAC;QACL,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAKD,KAAK,CAAC,aAAa;QACf,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QAExC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC1B,CAAC;QAED,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE9B,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YACnC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC7B,CAAC;IACL,CAAC;IASD,SAAS;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAKD,aAAa;QACT,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAKD,eAAe;QACX,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAKD,mBAAmB;QACf,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAKD,eAAe;QACX,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,OAAO;YACH,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,SAAS;YAChD,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;YACjC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,IAAI,6BAAiB;YAClE,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;gBACvC,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;oBAC1B,CAAC,CAAC,YAAY;oBACd,CAAC,CAAC,MAAM;YACd,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM;YACpD,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,MAAM;SACT,CAAC;IACN,CAAC;IAKD,uBAAuB;QACnB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAKD,eAAe;QAKX,MAAM,YAAY,GAIb,EAAE,CAAC;QAER,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;QAEvD,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;YAC9B,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;YAC7B,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACvE,SAAS;YACb,CAAC;YAED,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC;YAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAEvF,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;gBACnC,YAAY,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,UAAU;oBAChB,SAAS;oBACT,UAAU;iBACb,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,OAAO,YAAY,CAAC;IACxB,CAAC;IAKD,KAAK,CAAC,WAAW;QAQb,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAElD,IAAI,YAAkD,CAAC;QAEvD,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YACxB,YAAY,GAAG,WAAW,CAAC;QAC/B,CAAC;aAAM,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YAC1B,YAAY,GAAG,UAAU,CAAC;QAC9B,CAAC;aAAM,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YAC1B,YAAY,GAAG,SAAS,CAAC;QAC7B,CAAC;aAAM,CAAC;YACJ,YAAY,GAAG,UAAU,CAAC;QAC9B,CAAC;QAED,OAAO;YACH,MAAM,EAAE,YAAY;YACpB,OAAO,EAAE,MAAM;YACf,UAAU,EAAE;gBACR,KAAK,EAAE,UAAU,CAAC,MAAM;gBACxB,UAAU,EAAE,UAAU;aACzB;SACJ,CAAC;IACN,CAAC;CACJ,CAAA;AA3fY,oEAA4B;uCAA5B,4BAA4B;IADxC,IAAA,mBAAU,GAAE;IAgBJ,WAAA,IAAA,eAAM,EAAC,mCAAuB,CAAC,CAAA;6CAEG,uBAAgB;QAChB,qDAAwB;GAlBtD,4BAA4B,CA2fxC"}
@@ -1,8 +1,18 @@
1
- import { DynamicModule } from '@nestjs/common';
2
- import { TemporalWorkerAsyncOptions, TemporalWorkerOptions } from 'src/interfaces';
1
+ import { DynamicModule, Type } from '@nestjs/common';
2
+ import { TemporalAsyncOptions, TemporalOptions } from '../interfaces';
3
3
  export declare class TemporalWorkerModule {
4
- static register(options: TemporalWorkerOptions): DynamicModule;
5
- static registerAsync(options: TemporalWorkerAsyncOptions): DynamicModule;
4
+ static register(options: TemporalOptions): DynamicModule;
5
+ static registerAsync(options: TemporalAsyncOptions): DynamicModule;
6
+ static forWorker(options: {
7
+ connection: TemporalOptions['connection'];
8
+ taskQueue: string;
9
+ workflowsPath?: string;
10
+ workflowBundle?: any;
11
+ activityClasses?: Array<Type<any>>;
12
+ isGlobal?: boolean;
13
+ }): DynamicModule;
6
14
  private static createActivityProviders;
7
15
  private static createAsyncProviders;
16
+ private static validateWorkerOptions;
17
+ private static extractWorkerOptions;
8
18
  }
@@ -10,25 +10,27 @@ Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.TemporalWorkerModule = void 0;
11
11
  const common_1 = require("@nestjs/common");
12
12
  const core_1 = require("@nestjs/core");
13
- const constants_1 = require("../constants");
14
13
  const temporal_metadata_accessor_1 = require("./temporal-metadata.accessor");
15
- const worker_manager_service_1 = require("./worker-manager.service");
14
+ const constants_1 = require("../constants");
15
+ const temporal_worker_manager_service_1 = require("./temporal-worker-manager.service");
16
16
  let TemporalWorkerModule = TemporalWorkerModule_1 = class TemporalWorkerModule {
17
17
  static register(options) {
18
+ this.validateWorkerOptions(options);
19
+ const workerOptions = this.extractWorkerOptions(options);
18
20
  return {
19
21
  module: TemporalWorkerModule_1,
20
22
  global: true,
21
23
  providers: [
22
24
  {
23
- provide: constants_1.TEMPORAL_WORKER_MODULE_OPTIONS,
24
- useValue: options,
25
+ provide: constants_1.TEMPORAL_MODULE_OPTIONS,
26
+ useValue: workerOptions,
25
27
  },
26
- ...this.createActivityProviders(options.activityClasses || []),
28
+ ...this.createActivityProviders(options.worker?.activityClasses || []),
27
29
  temporal_metadata_accessor_1.TemporalMetadataAccessor,
28
30
  core_1.DiscoveryService,
29
- worker_manager_service_1.WorkerManager,
31
+ temporal_worker_manager_service_1.TemporalWorkerManagerService,
30
32
  ],
31
- exports: [worker_manager_service_1.WorkerManager, constants_1.TEMPORAL_WORKER_MODULE_OPTIONS],
33
+ exports: [temporal_worker_manager_service_1.TemporalWorkerManagerService, constants_1.TEMPORAL_MODULE_OPTIONS],
32
34
  };
33
35
  }
34
36
  static registerAsync(options) {
@@ -40,11 +42,23 @@ let TemporalWorkerModule = TemporalWorkerModule_1 = class TemporalWorkerModule {
40
42
  ...this.createAsyncProviders(options),
41
43
  temporal_metadata_accessor_1.TemporalMetadataAccessor,
42
44
  core_1.DiscoveryService,
43
- worker_manager_service_1.WorkerManager,
45
+ temporal_worker_manager_service_1.TemporalWorkerManagerService,
44
46
  ],
45
- exports: [worker_manager_service_1.WorkerManager, constants_1.TEMPORAL_WORKER_MODULE_OPTIONS],
47
+ exports: [temporal_worker_manager_service_1.TemporalWorkerManagerService, constants_1.TEMPORAL_MODULE_OPTIONS],
46
48
  };
47
49
  }
50
+ static forWorker(options) {
51
+ return this.register({
52
+ connection: options.connection,
53
+ taskQueue: options.taskQueue,
54
+ worker: {
55
+ workflowsPath: options.workflowsPath,
56
+ workflowBundle: options.workflowBundle,
57
+ activityClasses: options.activityClasses,
58
+ },
59
+ isGlobal: options.isGlobal,
60
+ });
61
+ }
48
62
  static createActivityProviders(activityClasses) {
49
63
  return activityClasses.map((ActivityClass) => ({
50
64
  provide: ActivityClass,
@@ -55,8 +69,12 @@ let TemporalWorkerModule = TemporalWorkerModule_1 = class TemporalWorkerModule {
55
69
  if (options.useFactory) {
56
70
  return [
57
71
  {
58
- provide: constants_1.TEMPORAL_WORKER_MODULE_OPTIONS,
59
- useFactory: options.useFactory,
72
+ provide: constants_1.TEMPORAL_MODULE_OPTIONS,
73
+ useFactory: async (...args) => {
74
+ const temporalOptions = await options.useFactory(...args);
75
+ this.validateWorkerOptions(temporalOptions);
76
+ return this.extractWorkerOptions(temporalOptions);
77
+ },
60
78
  inject: options.inject || [],
61
79
  },
62
80
  ];
@@ -64,8 +82,12 @@ let TemporalWorkerModule = TemporalWorkerModule_1 = class TemporalWorkerModule {
64
82
  if (options.useClass) {
65
83
  return [
66
84
  {
67
- provide: constants_1.TEMPORAL_WORKER_MODULE_OPTIONS,
68
- useFactory: async (optionsFactory) => optionsFactory.createWorkerOptions(),
85
+ provide: constants_1.TEMPORAL_MODULE_OPTIONS,
86
+ useFactory: async (optionsFactory) => {
87
+ const temporalOptions = await optionsFactory.createTemporalOptions();
88
+ this.validateWorkerOptions(temporalOptions);
89
+ return this.extractWorkerOptions(temporalOptions);
90
+ },
69
91
  inject: [options.useClass],
70
92
  },
71
93
  {
@@ -77,14 +99,58 @@ let TemporalWorkerModule = TemporalWorkerModule_1 = class TemporalWorkerModule {
77
99
  if (options.useExisting) {
78
100
  return [
79
101
  {
80
- provide: constants_1.TEMPORAL_WORKER_MODULE_OPTIONS,
81
- useFactory: async (optionsFactory) => optionsFactory.createWorkerOptions(),
102
+ provide: constants_1.TEMPORAL_MODULE_OPTIONS,
103
+ useFactory: async (optionsFactory) => {
104
+ const temporalOptions = await optionsFactory.createTemporalOptions();
105
+ this.validateWorkerOptions(temporalOptions);
106
+ return this.extractWorkerOptions(temporalOptions);
107
+ },
82
108
  inject: [options.useExisting],
83
109
  },
84
110
  ];
85
111
  }
86
112
  throw new Error(constants_1.ERRORS.INVALID_OPTIONS);
87
113
  }
114
+ static validateWorkerOptions(options) {
115
+ if (!options.connection) {
116
+ throw new Error('Connection configuration is required for worker');
117
+ }
118
+ if (!options.connection.address) {
119
+ throw new Error('Connection address is required for worker');
120
+ }
121
+ if (!options.taskQueue) {
122
+ throw new Error('Task queue is required for worker');
123
+ }
124
+ if (!options.worker) {
125
+ throw new Error('Worker configuration is required');
126
+ }
127
+ const hasWorkflowsPath = Boolean(options.worker.workflowsPath);
128
+ const hasWorkflowBundle = Boolean(options.worker.workflowBundle);
129
+ if (!hasWorkflowsPath && !hasWorkflowBundle) {
130
+ throw new Error('Worker requires either workflowsPath or workflowBundle');
131
+ }
132
+ if (hasWorkflowsPath && hasWorkflowBundle) {
133
+ throw new Error('Worker cannot have both workflowsPath and workflowBundle');
134
+ }
135
+ }
136
+ static extractWorkerOptions(options) {
137
+ return {
138
+ connection: {
139
+ address: options.connection.address,
140
+ namespace: options.connection.namespace,
141
+ tls: options.connection.tls,
142
+ apiKey: options.connection.apiKey,
143
+ metadata: options.connection.metadata,
144
+ },
145
+ taskQueue: options.taskQueue,
146
+ workflowsPath: options.worker?.workflowsPath,
147
+ workflowBundle: options.worker?.workflowBundle,
148
+ activityClasses: options.worker?.activityClasses || [],
149
+ autoStart: options.worker?.autoStart !== false,
150
+ allowWorkerFailure: options.allowConnectionFailure !== false,
151
+ workerOptions: options.worker?.workerOptions || {},
152
+ };
153
+ }
88
154
  };
89
155
  exports.TemporalWorkerModule = TemporalWorkerModule;
90
156
  exports.TemporalWorkerModule = TemporalWorkerModule = TemporalWorkerModule_1 = __decorate([