nestjs-temporal-core 2.0.2 → 2.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 (72) hide show
  1. package/README.md +322 -134
  2. package/dist/client/index.js.map +1 -1
  3. package/dist/client/temporal-client.module.js +46 -19
  4. package/dist/client/temporal-client.module.js.map +1 -1
  5. package/dist/client/temporal-client.service.d.ts +7 -7
  6. package/dist/client/temporal-client.service.js +48 -6
  7. package/dist/client/temporal-client.service.js.map +1 -1
  8. package/dist/constants.d.ts +28 -1
  9. package/dist/constants.js +29 -2
  10. package/dist/constants.js.map +1 -1
  11. package/dist/decorators/activity-method.decorator.d.ts +2 -1
  12. package/dist/decorators/activity-method.decorator.js +21 -3
  13. package/dist/decorators/activity-method.decorator.js.map +1 -1
  14. package/dist/decorators/activity.decorator.d.ts +2 -1
  15. package/dist/decorators/activity.decorator.js +3 -3
  16. package/dist/decorators/activity.decorator.js.map +1 -1
  17. package/dist/decorators/index.d.ts +4 -0
  18. package/dist/decorators/index.js +4 -0
  19. package/dist/decorators/index.js.map +1 -1
  20. package/dist/decorators/query.decorator.d.ts +2 -0
  21. package/dist/decorators/query.decorator.js +26 -0
  22. package/dist/decorators/query.decorator.js.map +1 -0
  23. package/dist/decorators/scheduled-workflow.decorator.d.ts +13 -0
  24. package/dist/decorators/scheduled-workflow.decorator.js +28 -0
  25. package/dist/decorators/scheduled-workflow.decorator.js.map +1 -0
  26. package/dist/decorators/signal.decorator.d.ts +2 -0
  27. package/dist/decorators/signal.decorator.js +26 -0
  28. package/dist/decorators/signal.decorator.js.map +1 -0
  29. package/dist/decorators/workflow-method.decorator.d.ts +2 -0
  30. package/dist/decorators/workflow-method.decorator.js +29 -0
  31. package/dist/decorators/workflow-method.decorator.js.map +1 -0
  32. package/dist/decorators/workflow.decorator.d.ts +2 -2
  33. package/dist/decorators/workflow.decorator.js +12 -4
  34. package/dist/decorators/workflow.decorator.js.map +1 -1
  35. package/dist/index.d.ts +1 -0
  36. package/dist/index.js +1 -0
  37. package/dist/index.js.map +1 -1
  38. package/dist/interfaces/activity.interface.d.ts +20 -0
  39. package/dist/interfaces/activity.interface.js +3 -0
  40. package/dist/interfaces/activity.interface.js.map +1 -0
  41. package/dist/interfaces/base.interface.d.ts +4 -2
  42. package/dist/interfaces/client.interface.d.ts +27 -1
  43. package/dist/interfaces/index.d.ts +3 -0
  44. package/dist/interfaces/index.js +3 -0
  45. package/dist/interfaces/index.js.map +1 -1
  46. package/dist/interfaces/schedule.interface.d.ts +17 -0
  47. package/dist/interfaces/schedule.interface.js +3 -0
  48. package/dist/interfaces/schedule.interface.js.map +1 -0
  49. package/dist/interfaces/worker.interface.d.ts +18 -3
  50. package/dist/interfaces/workflow.interface.d.ts +19 -0
  51. package/dist/interfaces/workflow.interface.js +3 -0
  52. package/dist/interfaces/workflow.interface.js.map +1 -0
  53. package/dist/schedule/index.d.ts +2 -0
  54. package/dist/schedule/index.js +19 -0
  55. package/dist/schedule/index.js.map +1 -0
  56. package/dist/schedule/temporal-schedule.module.d.ts +7 -0
  57. package/dist/schedule/temporal-schedule.module.js +94 -0
  58. package/dist/schedule/temporal-schedule.module.js.map +1 -0
  59. package/dist/schedule/temporal-schedule.service.d.ts +28 -0
  60. package/dist/schedule/temporal-schedule.service.js +230 -0
  61. package/dist/schedule/temporal-schedule.service.js.map +1 -0
  62. package/dist/tsconfig.tsbuildinfo +1 -1
  63. package/dist/worker/temporal-metadata.accessor.d.ts +11 -0
  64. package/dist/worker/temporal-metadata.accessor.js +78 -1
  65. package/dist/worker/temporal-metadata.accessor.js.map +1 -1
  66. package/dist/worker/temporal-worker.module.d.ts +2 -1
  67. package/dist/worker/temporal-worker.module.js +17 -10
  68. package/dist/worker/temporal-worker.module.js.map +1 -1
  69. package/dist/worker/worker-manager.service.d.ts +8 -7
  70. package/dist/worker/worker-manager.service.js +116 -54
  71. package/dist/worker/worker-manager.service.js.map +1 -1
  72. package/package.json +1 -1
@@ -12,25 +12,34 @@ const common_1 = require("@nestjs/common");
12
12
  const client_1 = require("@temporalio/client");
13
13
  const constants_1 = require("../constants");
14
14
  const temporal_client_service_1 = require("./temporal-client.service");
15
- let TemporalClientModule = exports.TemporalClientModule = TemporalClientModule_1 = class TemporalClientModule {
15
+ let TemporalClientModule = TemporalClientModule_1 = class TemporalClientModule {
16
16
  static async createClient(options) {
17
17
  let connection = null;
18
18
  try {
19
+ this.logger.log(`Connecting to Temporal server at ${options.connection.address}`);
19
20
  connection = await client_1.Connection.connect({
20
21
  address: options.connection.address,
21
22
  tls: options.connection.tls,
23
+ ...(options.connection.connectionTimeout && {
24
+ connectionTimeout: options.connection.connectionTimeout,
25
+ }),
22
26
  });
27
+ const namespace = options.namespace || constants_1.DEFAULT_NAMESPACE;
28
+ this.logger.log(`Connected to Temporal server, using namespace "${namespace}"`);
23
29
  return new client_1.Client({
24
30
  connection,
25
- namespace: options.namespace || 'default',
31
+ namespace,
26
32
  });
27
33
  }
28
34
  catch (error) {
29
35
  if (connection) {
30
- await connection.close().catch(() => {
36
+ await connection.close().catch((closeError) => {
37
+ this.logger.error('Failed to close Temporal connection during error handling', closeError);
31
38
  });
32
39
  }
33
- throw new Error(`Temporal client initialization failed: ${error.message}`);
40
+ const errorMsg = `${constants_1.ERRORS.CLIENT_INITIALIZATION}: ${error.message}`;
41
+ this.logger.error(errorMsg, error.stack);
42
+ throw new Error(errorMsg);
34
43
  }
35
44
  }
36
45
  static register(options) {
@@ -42,8 +51,12 @@ let TemporalClientModule = exports.TemporalClientModule = TemporalClientModule_1
42
51
  return this.addShutdownHook(client);
43
52
  }
44
53
  catch (error) {
45
- this.logger.error('Failed to initialize Temporal client', { error: error.message });
46
- return null;
54
+ this.logger.error('Failed to initialize Temporal client', error);
55
+ if (options.allowConnectionFailure !== false) {
56
+ this.logger.warn('Continuing application startup without Temporal client');
57
+ return null;
58
+ }
59
+ throw error;
47
60
  }
48
61
  },
49
62
  };
@@ -51,7 +64,7 @@ let TemporalClientModule = exports.TemporalClientModule = TemporalClientModule_1
51
64
  module: TemporalClientModule_1,
52
65
  providers: [
53
66
  {
54
- provide: constants_1.TEMPORAL_MODULE_OPTIONS,
67
+ provide: constants_1.TEMPORAL_CLIENT_MODULE_OPTIONS,
55
68
  useValue: options,
56
69
  },
57
70
  clientProvider,
@@ -69,16 +82,24 @@ let TemporalClientModule = exports.TemporalClientModule = TemporalClientModule_1
69
82
  return this.addShutdownHook(client);
70
83
  }
71
84
  catch (error) {
72
- this.logger.error('Failed to initialize Temporal client', { error: error.message });
73
- return null;
85
+ this.logger.error('Failed to initialize Temporal client', error);
86
+ if (clientOptions.allowConnectionFailure !== false) {
87
+ this.logger.warn('Continuing application startup without Temporal client');
88
+ return null;
89
+ }
90
+ throw error;
74
91
  }
75
92
  },
76
- inject: [constants_1.TEMPORAL_MODULE_OPTIONS],
93
+ inject: [constants_1.TEMPORAL_CLIENT_MODULE_OPTIONS],
77
94
  };
78
95
  return {
79
96
  module: TemporalClientModule_1,
80
97
  imports: options.imports || [],
81
- providers: [...this.createAsyncProviders(options), clientProvider, temporal_client_service_1.TemporalClientService],
98
+ providers: [
99
+ ...this.createAsyncProviders(options),
100
+ clientProvider,
101
+ temporal_client_service_1.TemporalClientService,
102
+ ],
82
103
  exports: [temporal_client_service_1.TemporalClientService],
83
104
  };
84
105
  }
@@ -86,7 +107,7 @@ let TemporalClientModule = exports.TemporalClientModule = TemporalClientModule_1
86
107
  if (options.useFactory) {
87
108
  return [
88
109
  {
89
- provide: constants_1.TEMPORAL_MODULE_OPTIONS,
110
+ provide: constants_1.TEMPORAL_CLIENT_MODULE_OPTIONS,
90
111
  useFactory: options.useFactory,
91
112
  inject: options.inject || [],
92
113
  },
@@ -95,7 +116,7 @@ let TemporalClientModule = exports.TemporalClientModule = TemporalClientModule_1
95
116
  if (options.useClass) {
96
117
  return [
97
118
  {
98
- provide: constants_1.TEMPORAL_MODULE_OPTIONS,
119
+ provide: constants_1.TEMPORAL_CLIENT_MODULE_OPTIONS,
99
120
  useFactory: async (optionsFactory) => await optionsFactory.createClientOptions(),
100
121
  inject: [options.useClass],
101
122
  },
@@ -108,26 +129,32 @@ let TemporalClientModule = exports.TemporalClientModule = TemporalClientModule_1
108
129
  if (options.useExisting) {
109
130
  return [
110
131
  {
111
- provide: constants_1.TEMPORAL_MODULE_OPTIONS,
132
+ provide: constants_1.TEMPORAL_CLIENT_MODULE_OPTIONS,
112
133
  useFactory: async (optionsFactory) => await optionsFactory.createClientOptions(),
113
134
  inject: [options.useExisting],
114
135
  },
115
136
  ];
116
137
  }
117
- throw new Error('Invalid TemporalClientAsyncOptions configuration');
138
+ throw new Error(constants_1.ERRORS.INVALID_OPTIONS);
118
139
  }
119
140
  static addShutdownHook(client) {
120
141
  const enhancedClient = client;
121
- enhancedClient.onApplicationShutdown = async () => {
142
+ enhancedClient.onApplicationShutdown = async (signal) => {
143
+ this.logger.log(`Closing Temporal client connection (signal: ${signal || 'unknown'})`);
122
144
  if (client?.connection) {
123
- await client.connection.close().catch((error) => {
124
- this.logger.error('Failed to close Temporal connection', { error: error.message });
125
- });
145
+ try {
146
+ await client.connection.close();
147
+ this.logger.log('Temporal connection closed successfully');
148
+ }
149
+ catch (error) {
150
+ this.logger.error('Failed to close Temporal connection', error);
151
+ }
126
152
  }
127
153
  };
128
154
  return enhancedClient;
129
155
  }
130
156
  };
157
+ exports.TemporalClientModule = TemporalClientModule;
131
158
  TemporalClientModule.logger = new common_1.Logger(TemporalClientModule_1.name);
132
159
  exports.TemporalClientModule = TemporalClientModule = TemporalClientModule_1 = __decorate([
133
160
  (0, common_1.Global)(),
@@ -1 +1 @@
1
- {"version":3,"file":"temporal-client.module.js","sourceRoot":"","sources":["../../src/client/temporal-client.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"temporal-client.module.js","sourceRoot":"","sources":["../../src/client/temporal-client.module.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { OnModuleInit } from '@nestjs/common';
2
2
  import { Client, WorkflowClient, WorkflowHandle } from '@temporalio/client';
3
+ import { StartWorkflowOptions } from '../interfaces';
3
4
  export declare class TemporalClientService implements OnModuleInit {
4
5
  private readonly client;
5
6
  private readonly logger;
@@ -8,17 +9,16 @@ export declare class TemporalClientService implements OnModuleInit {
8
9
  onModuleInit(): Promise<void>;
9
10
  getWorkflowClient(): WorkflowClient | null;
10
11
  private ensureClientInitialized;
11
- startWorkflow<T, A extends any[]>(workflowType: string, args: A, options: {
12
- taskQueue: string;
13
- workflowId?: string;
14
- signal?: string;
15
- }): Promise<{
12
+ startWorkflow<T, A extends any[]>(workflowType: string, args: A, options: StartWorkflowOptions): Promise<{
16
13
  result: Promise<T>;
17
14
  workflowId: string;
18
15
  firstExecutionRunId: string;
19
16
  handle: WorkflowHandle;
20
17
  }>;
21
- signalWorkflow(workflowId: string, signalName: string, args: any[]): Promise<void>;
18
+ signalWorkflow(workflowId: string, signalName: string, args?: any[]): Promise<void>;
19
+ queryWorkflow<T>(workflowId: string, queryName: string, args?: any[]): Promise<T>;
22
20
  terminateWorkflow(workflowId: string, reason?: string): Promise<void>;
23
- getWorkflowHandle(workflowId: string): Promise<WorkflowHandle>;
21
+ cancelWorkflow(workflowId: string): Promise<void>;
22
+ getWorkflowHandle(workflowId: string, runId?: string): Promise<WorkflowHandle>;
23
+ describeWorkflow(workflowId: string, runId?: string): Promise<import("@temporalio/client").WorkflowExecutionDescription>;
24
24
  }
@@ -16,7 +16,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
16
16
  exports.TemporalClientService = void 0;
17
17
  const common_1 = require("@nestjs/common");
18
18
  const constants_1 = require("../constants");
19
- let TemporalClientService = exports.TemporalClientService = TemporalClientService_1 = class TemporalClientService {
19
+ let TemporalClientService = TemporalClientService_1 = class TemporalClientService {
20
20
  constructor(client) {
21
21
  this.client = client;
22
22
  this.logger = new common_1.Logger(TemporalClientService_1.name);
@@ -29,23 +29,27 @@ let TemporalClientService = exports.TemporalClientService = TemporalClientServic
29
29
  if (!this.client) {
30
30
  this.logger.warn('Temporal client not initialized - some features may be unavailable');
31
31
  }
32
+ else {
33
+ this.logger.log('Temporal client initialized successfully');
34
+ }
32
35
  }
33
36
  getWorkflowClient() {
34
37
  return this.workflowClient;
35
38
  }
36
39
  ensureClientInitialized() {
37
40
  if (!this.workflowClient) {
38
- throw new Error('Temporal client not initialized');
41
+ throw new Error(constants_1.ERRORS.CLIENT_NOT_INITIALIZED);
39
42
  }
40
43
  }
41
44
  async startWorkflow(workflowType, args, options) {
42
45
  this.ensureClientInitialized();
43
- const { taskQueue, workflowId = `${workflowType}-${Date.now()}-${Math.random().toString(36).slice(2)}`, } = options;
46
+ const { taskQueue, workflowId = `${workflowType}-${Date.now()}-${Math.random().toString(36).slice(2)}`, ...restOptions } = options;
44
47
  try {
45
48
  const handle = await this.workflowClient.start(workflowType, {
46
49
  args,
47
50
  taskQueue,
48
51
  workflowId,
52
+ ...restOptions,
49
53
  });
50
54
  return {
51
55
  result: handle.result(),
@@ -55,19 +59,32 @@ let TemporalClientService = exports.TemporalClientService = TemporalClientServic
55
59
  };
56
60
  }
57
61
  catch (error) {
62
+ this.logger.error(`Failed to start workflow '${workflowType}': ${error.message}`);
58
63
  throw new Error(`Failed to start workflow '${workflowType}': ${error.message}`);
59
64
  }
60
65
  }
61
- async signalWorkflow(workflowId, signalName, args) {
66
+ async signalWorkflow(workflowId, signalName, args = []) {
62
67
  this.ensureClientInitialized();
63
68
  try {
64
69
  const handle = await this.workflowClient.getHandle(workflowId);
65
70
  await handle.signal(signalName, ...args);
66
71
  }
67
72
  catch (error) {
73
+ this.logger.error(`Failed to send signal '${signalName}' to workflow ${workflowId}: ${error.message}`);
68
74
  throw new Error(`Failed to send signal '${signalName}' to workflow ${workflowId}: ${error.message}`);
69
75
  }
70
76
  }
77
+ async queryWorkflow(workflowId, queryName, args = []) {
78
+ this.ensureClientInitialized();
79
+ try {
80
+ const handle = await this.workflowClient.getHandle(workflowId);
81
+ return await handle.query(queryName, ...args);
82
+ }
83
+ catch (error) {
84
+ this.logger.error(`Failed to query '${queryName}' on workflow ${workflowId}: ${error.message}`);
85
+ throw new Error(`Failed to query '${queryName}' on workflow ${workflowId}: ${error.message}`);
86
+ }
87
+ }
71
88
  async terminateWorkflow(workflowId, reason) {
72
89
  this.ensureClientInitialized();
73
90
  try {
@@ -75,19 +92,44 @@ let TemporalClientService = exports.TemporalClientService = TemporalClientServic
75
92
  await handle.terminate(reason);
76
93
  }
77
94
  catch (error) {
95
+ this.logger.error(`Failed to terminate workflow ${workflowId}: ${error.message}`);
78
96
  throw new Error(`Failed to terminate workflow ${workflowId}: ${error.message}`);
79
97
  }
80
98
  }
81
- async getWorkflowHandle(workflowId) {
99
+ async cancelWorkflow(workflowId) {
82
100
  this.ensureClientInitialized();
83
101
  try {
84
- return await this.workflowClient.getHandle(workflowId);
102
+ const handle = await this.workflowClient.getHandle(workflowId);
103
+ await handle.cancel();
85
104
  }
86
105
  catch (error) {
106
+ this.logger.error(`Failed to cancel workflow ${workflowId}: ${error.message}`);
107
+ throw new Error(`Failed to cancel workflow ${workflowId}: ${error.message}`);
108
+ }
109
+ }
110
+ async getWorkflowHandle(workflowId, runId) {
111
+ this.ensureClientInitialized();
112
+ try {
113
+ return await this.workflowClient.getHandle(workflowId, runId);
114
+ }
115
+ catch (error) {
116
+ this.logger.error(`Failed to get workflow handle for ${workflowId}: ${error.message}`);
87
117
  throw new Error(`Failed to get workflow handle for ${workflowId}: ${error.message}`);
88
118
  }
89
119
  }
120
+ async describeWorkflow(workflowId, runId) {
121
+ this.ensureClientInitialized();
122
+ try {
123
+ const handle = await this.workflowClient.getHandle(workflowId, runId);
124
+ return await handle.describe();
125
+ }
126
+ catch (error) {
127
+ this.logger.error(`Failed to describe workflow ${workflowId}: ${error.message}`);
128
+ throw new Error(`Failed to describe workflow ${workflowId}: ${error.message}`);
129
+ }
130
+ }
90
131
  };
132
+ exports.TemporalClientService = TemporalClientService;
91
133
  exports.TemporalClientService = TemporalClientService = TemporalClientService_1 = __decorate([
92
134
  (0, common_1.Injectable)(),
93
135
  __param(0, (0, common_1.Inject)(constants_1.TEMPORAL_CLIENT)),
@@ -1 +1 @@
1
- {"version":3,"file":"temporal-client.service.js","sourceRoot":"","sources":["../../src/client/temporal-client.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"temporal-client.service.js","sourceRoot":"","sources":["../../src/client/temporal-client.service.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,36 @@
1
1
  export declare const TEMPORAL_MODULE_OPTIONS = "TEMPORAL_MODULE_OPTIONS";
2
2
  export declare const TEMPORAL_CLIENT_MODULE_OPTIONS = "TEMPORAL_CLIENT_MODULE_OPTIONS";
3
3
  export declare const TEMPORAL_WORKER_MODULE_OPTIONS = "TEMPORAL_WORKER_MODULE_OPTIONS";
4
+ export declare const TEMPORAL_SCHEDULE_MODULE_OPTIONS = "TEMPORAL_SCHEDULE_MODULE_OPTIONS";
5
+ export declare const TEMPORAL_CLIENT = "TEMPORAL_CLIENT";
6
+ export declare const TEMPORAL_CONNECTION = "TEMPORAL_CONNECTION";
7
+ export declare const TEMPORAL_SCHEDULE_CLIENT = "TEMPORAL_SCHEDULE_CLIENT";
4
8
  export declare const TEMPORAL_ACTIVITY = "TEMPORAL_ACTIVITY";
5
9
  export declare const TEMPORAL_ACTIVITY_METHOD = "TEMPORAL_ACTIVITY_METHOD";
6
10
  export declare const TEMPORAL_ACTIVITY_METHOD_NAME = "TEMPORAL_ACTIVITY_METHOD_NAME";
11
+ export declare const TEMPORAL_ACTIVITY_METHOD_OPTIONS = "TEMPORAL_ACTIVITY_METHOD_OPTIONS";
7
12
  export declare const TEMPORAL_WORKFLOW = "TEMPORAL_WORKFLOW";
8
13
  export declare const TEMPORAL_WORKFLOW_METHOD = "TEMPORAL_WORKFLOW_METHOD";
9
- export declare const TEMPORAL_CLIENT = "TEMPORAL_CLIENT";
14
+ export declare const TEMPORAL_WORKFLOW_METHOD_NAME = "TEMPORAL_WORKFLOW_METHOD_NAME";
15
+ export declare const TEMPORAL_WORKFLOW_OPTIONS = "TEMPORAL_WORKFLOW_OPTIONS";
16
+ export declare const TEMPORAL_SIGNAL_METHOD = "TEMPORAL_SIGNAL_METHOD";
17
+ export declare const TEMPORAL_SIGNAL_NAME = "TEMPORAL_SIGNAL_NAME";
18
+ export declare const TEMPORAL_QUERY_METHOD = "TEMPORAL_QUERY_METHOD";
19
+ export declare const TEMPORAL_QUERY_NAME = "TEMPORAL_QUERY_NAME";
20
+ export declare const DEFAULT_NAMESPACE = "default";
21
+ export declare const DEFAULT_TASK_QUEUE = "default-task-queue";
22
+ export declare const DEFAULT_CONNECTION_TIMEOUT_MS = 5000;
23
+ export declare const ERRORS: {
24
+ CLIENT_INITIALIZATION: string;
25
+ WORKER_INITIALIZATION: string;
26
+ CLIENT_NOT_INITIALIZED: string;
27
+ WORKER_NOT_INITIALIZED: string;
28
+ INVALID_OPTIONS: string;
29
+ MISSING_TASK_QUEUE: string;
30
+ MISSING_WORKFLOW_TYPE: string;
31
+ MISSING_ACTIVITY_TYPE: string;
32
+ ACTIVITY_NOT_FOUND: string;
33
+ WORKFLOW_NOT_FOUND: string;
34
+ INVALID_DECORATOR_USAGE: string;
35
+ SCHEDULE_CLIENT_NOT_INITIALIZED: string;
36
+ };
package/dist/constants.js CHANGED
@@ -1,13 +1,40 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TEMPORAL_CLIENT = exports.TEMPORAL_WORKFLOW_METHOD = exports.TEMPORAL_WORKFLOW = exports.TEMPORAL_ACTIVITY_METHOD_NAME = exports.TEMPORAL_ACTIVITY_METHOD = exports.TEMPORAL_ACTIVITY = exports.TEMPORAL_WORKER_MODULE_OPTIONS = exports.TEMPORAL_CLIENT_MODULE_OPTIONS = exports.TEMPORAL_MODULE_OPTIONS = void 0;
3
+ exports.ERRORS = exports.DEFAULT_CONNECTION_TIMEOUT_MS = exports.DEFAULT_TASK_QUEUE = exports.DEFAULT_NAMESPACE = exports.TEMPORAL_QUERY_NAME = exports.TEMPORAL_QUERY_METHOD = exports.TEMPORAL_SIGNAL_NAME = exports.TEMPORAL_SIGNAL_METHOD = exports.TEMPORAL_WORKFLOW_OPTIONS = exports.TEMPORAL_WORKFLOW_METHOD_NAME = exports.TEMPORAL_WORKFLOW_METHOD = exports.TEMPORAL_WORKFLOW = exports.TEMPORAL_ACTIVITY_METHOD_OPTIONS = exports.TEMPORAL_ACTIVITY_METHOD_NAME = exports.TEMPORAL_ACTIVITY_METHOD = exports.TEMPORAL_ACTIVITY = exports.TEMPORAL_SCHEDULE_CLIENT = exports.TEMPORAL_CONNECTION = exports.TEMPORAL_CLIENT = exports.TEMPORAL_SCHEDULE_MODULE_OPTIONS = exports.TEMPORAL_WORKER_MODULE_OPTIONS = exports.TEMPORAL_CLIENT_MODULE_OPTIONS = exports.TEMPORAL_MODULE_OPTIONS = void 0;
4
4
  exports.TEMPORAL_MODULE_OPTIONS = 'TEMPORAL_MODULE_OPTIONS';
5
5
  exports.TEMPORAL_CLIENT_MODULE_OPTIONS = 'TEMPORAL_CLIENT_MODULE_OPTIONS';
6
6
  exports.TEMPORAL_WORKER_MODULE_OPTIONS = 'TEMPORAL_WORKER_MODULE_OPTIONS';
7
+ exports.TEMPORAL_SCHEDULE_MODULE_OPTIONS = 'TEMPORAL_SCHEDULE_MODULE_OPTIONS';
8
+ exports.TEMPORAL_CLIENT = 'TEMPORAL_CLIENT';
9
+ exports.TEMPORAL_CONNECTION = 'TEMPORAL_CONNECTION';
10
+ exports.TEMPORAL_SCHEDULE_CLIENT = 'TEMPORAL_SCHEDULE_CLIENT';
7
11
  exports.TEMPORAL_ACTIVITY = 'TEMPORAL_ACTIVITY';
8
12
  exports.TEMPORAL_ACTIVITY_METHOD = 'TEMPORAL_ACTIVITY_METHOD';
9
13
  exports.TEMPORAL_ACTIVITY_METHOD_NAME = 'TEMPORAL_ACTIVITY_METHOD_NAME';
14
+ exports.TEMPORAL_ACTIVITY_METHOD_OPTIONS = 'TEMPORAL_ACTIVITY_METHOD_OPTIONS';
10
15
  exports.TEMPORAL_WORKFLOW = 'TEMPORAL_WORKFLOW';
11
16
  exports.TEMPORAL_WORKFLOW_METHOD = 'TEMPORAL_WORKFLOW_METHOD';
12
- exports.TEMPORAL_CLIENT = 'TEMPORAL_CLIENT';
17
+ exports.TEMPORAL_WORKFLOW_METHOD_NAME = 'TEMPORAL_WORKFLOW_METHOD_NAME';
18
+ exports.TEMPORAL_WORKFLOW_OPTIONS = 'TEMPORAL_WORKFLOW_OPTIONS';
19
+ exports.TEMPORAL_SIGNAL_METHOD = 'TEMPORAL_SIGNAL_METHOD';
20
+ exports.TEMPORAL_SIGNAL_NAME = 'TEMPORAL_SIGNAL_NAME';
21
+ exports.TEMPORAL_QUERY_METHOD = 'TEMPORAL_QUERY_METHOD';
22
+ exports.TEMPORAL_QUERY_NAME = 'TEMPORAL_QUERY_NAME';
23
+ exports.DEFAULT_NAMESPACE = 'default';
24
+ exports.DEFAULT_TASK_QUEUE = 'default-task-queue';
25
+ exports.DEFAULT_CONNECTION_TIMEOUT_MS = 5000;
26
+ exports.ERRORS = {
27
+ CLIENT_INITIALIZATION: 'Failed to initialize Temporal client',
28
+ WORKER_INITIALIZATION: 'Failed to initialize Temporal worker',
29
+ CLIENT_NOT_INITIALIZED: 'Temporal client not initialized',
30
+ WORKER_NOT_INITIALIZED: 'Temporal worker not initialized',
31
+ INVALID_OPTIONS: 'Invalid Temporal module options',
32
+ MISSING_TASK_QUEUE: 'Task queue is required',
33
+ MISSING_WORKFLOW_TYPE: 'Workflow type is required',
34
+ MISSING_ACTIVITY_TYPE: 'Activity type is required',
35
+ ACTIVITY_NOT_FOUND: 'Activity not found',
36
+ WORKFLOW_NOT_FOUND: 'Workflow not found',
37
+ INVALID_DECORATOR_USAGE: 'Invalid decorator usage',
38
+ SCHEDULE_CLIENT_NOT_INITIALIZED: 'Temporal schedule client not initialized',
39
+ };
13
40
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AACa,QAAA,uBAAuB,GAAG,yBAAyB,CAAC;AACpD,QAAA,8BAA8B,GAAG,gCAAgC,CAAC;AAClE,QAAA,8BAA8B,GAAG,gCAAgC,CAAC;AAGlE,QAAA,iBAAiB,GAAG,mBAAmB,CAAC;AACxC,QAAA,wBAAwB,GAAG,0BAA0B,CAAC;AACtD,QAAA,6BAA6B,GAAG,+BAA+B,CAAC;AAGhE,QAAA,iBAAiB,GAAG,mBAAmB,CAAC;AACxC,QAAA,wBAAwB,GAAG,0BAA0B,CAAC;AAGtD,QAAA,eAAe,GAAG,iBAAiB,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAUa,QAAA,uBAAuB,GAAG,yBAAyB,CAAC;AACpD,QAAA,8BAA8B,GAAG,gCAAgC,CAAC;AAClE,QAAA,8BAA8B,GAAG,gCAAgC,CAAC;AAClE,QAAA,gCAAgC,GAAG,kCAAkC,CAAC;AACtE,QAAA,eAAe,GAAG,iBAAiB,CAAC;AACpC,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAC5C,QAAA,wBAAwB,GAAG,0BAA0B,CAAC;AAKtD,QAAA,iBAAiB,GAAG,mBAAmB,CAAC;AACxC,QAAA,wBAAwB,GAAG,0BAA0B,CAAC;AACtD,QAAA,6BAA6B,GAAG,+BAA+B,CAAC;AAChE,QAAA,gCAAgC,GAAG,kCAAkC,CAAC;AAKtE,QAAA,iBAAiB,GAAG,mBAAmB,CAAC;AACxC,QAAA,wBAAwB,GAAG,0BAA0B,CAAC;AACtD,QAAA,6BAA6B,GAAG,+BAA+B,CAAC;AAChE,QAAA,yBAAyB,GAAG,2BAA2B,CAAC;AAKxD,QAAA,sBAAsB,GAAG,wBAAwB,CAAC;AAClD,QAAA,oBAAoB,GAAG,sBAAsB,CAAC;AAK9C,QAAA,qBAAqB,GAAG,uBAAuB,CAAC;AAChD,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAK5C,QAAA,iBAAiB,GAAG,SAAS,CAAC;AAC9B,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAC1C,QAAA,6BAA6B,GAAG,IAAI,CAAC;AAKrC,QAAA,MAAM,GAAG;IAClB,qBAAqB,EAAE,sCAAsC;IAC7D,qBAAqB,EAAE,sCAAsC;IAC7D,sBAAsB,EAAE,iCAAiC;IACzD,sBAAsB,EAAE,iCAAiC;IACzD,eAAe,EAAE,iCAAiC;IAClD,kBAAkB,EAAE,wBAAwB;IAC5C,qBAAqB,EAAE,2BAA2B;IAClD,qBAAqB,EAAE,2BAA2B;IAClD,kBAAkB,EAAE,oBAAoB;IACxC,kBAAkB,EAAE,oBAAoB;IACxC,uBAAuB,EAAE,yBAAyB;IAClD,+BAA+B,EAAE,0CAA0C;CAC9E,CAAC"}
@@ -1 +1,2 @@
1
- export declare const ActivityMethod: (name?: string) => MethodDecorator;
1
+ import { ActivityMethodOptions } from '../interfaces/activity.interface';
2
+ export declare const ActivityMethod: (options?: string | ActivityMethodOptions) => MethodDecorator;
@@ -3,13 +3,31 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ActivityMethod = void 0;
4
4
  const common_1 = require("@nestjs/common");
5
5
  const constants_1 = require("../constants");
6
- const ActivityMethod = (name) => {
7
- return (target, propertyKey, descriptor) => {
8
- const methodName = name || propertyKey.toString();
6
+ const ActivityMethod = (options) => {
7
+ return (_target, propertyKey, descriptor) => {
8
+ let methodName;
9
+ let methodOptions = {};
10
+ if (typeof options === 'string') {
11
+ methodName = options;
12
+ methodOptions = { name: options };
13
+ }
14
+ else if (options && typeof options === 'object') {
15
+ methodName = options.name || propertyKey.toString();
16
+ methodOptions = options;
17
+ }
18
+ else {
19
+ methodName = propertyKey.toString();
20
+ }
9
21
  Reflect.defineMetadata(constants_1.TEMPORAL_ACTIVITY_METHOD, true, descriptor.value);
10
22
  Reflect.defineMetadata(constants_1.TEMPORAL_ACTIVITY_METHOD_NAME, methodName, descriptor.value);
23
+ if (Object.keys(methodOptions).length > 0) {
24
+ Reflect.defineMetadata(constants_1.TEMPORAL_ACTIVITY_METHOD_OPTIONS, methodOptions, descriptor.value);
25
+ }
11
26
  (0, common_1.SetMetadata)(constants_1.TEMPORAL_ACTIVITY_METHOD, true)(descriptor.value);
12
27
  (0, common_1.SetMetadata)(constants_1.TEMPORAL_ACTIVITY_METHOD_NAME, methodName)(descriptor.value);
28
+ if (Object.keys(methodOptions).length > 0) {
29
+ (0, common_1.SetMetadata)(constants_1.TEMPORAL_ACTIVITY_METHOD_OPTIONS, methodOptions)(descriptor.value);
30
+ }
13
31
  return descriptor;
14
32
  };
15
33
  };
@@ -1 +1 @@
1
- {"version":3,"file":"activity-method.decorator.js","sourceRoot":"","sources":["../../src/decorators/activity-method.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAA6C;AAC7C,4CAAuF;AAMhF,MAAM,cAAc,GAAG,CAAC,IAAa,EAAmB,EAAE;IAC/D,OAAO,CAAC,MAAW,EAAE,WAA4B,EAAE,UAA8B,EAAE,EAAE;QACnF,MAAM,UAAU,GAAG,IAAI,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;QAElD,OAAO,CAAC,cAAc,CAAC,oCAAwB,EAAE,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;QACzE,OAAO,CAAC,cAAc,CAAC,yCAA6B,EAAE,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;QAEpF,IAAA,oBAAW,EAAC,oCAAwB,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC9D,IAAA,oBAAW,EAAC,yCAA6B,EAAE,UAAU,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAEzE,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC,CAAC;AAZW,QAAA,cAAc,kBAYzB"}
1
+ {"version":3,"file":"activity-method.decorator.js","sourceRoot":"","sources":["../../src/decorators/activity-method.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAA6C;AAC7C,4CAIsB;AAwBf,MAAM,cAAc,GAAG,CAAC,OAAwC,EAAmB,EAAE;IACxF,OAAO,CAAC,OAAgB,EAAE,WAA4B,EAAE,UAA8B,EAAE,EAAE;QAEtF,IAAI,UAAkB,CAAC;QACvB,IAAI,aAAa,GAA0B,EAAE,CAAC;QAE9C,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC9B,UAAU,GAAG,OAAO,CAAC;YACrB,aAAa,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACtC,CAAC;aAAM,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChD,UAAU,GAAG,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;YACpD,aAAa,GAAG,OAAO,CAAC;QAC5B,CAAC;aAAM,CAAC;YACJ,UAAU,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QACxC,CAAC;QAGD,OAAO,CAAC,cAAc,CAAC,oCAAwB,EAAE,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;QACzE,OAAO,CAAC,cAAc,CAAC,yCAA6B,EAAE,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;QAEpF,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,OAAO,CAAC,cAAc,CAClB,4CAAgC,EAChC,aAAa,EACb,UAAU,CAAC,KAAK,CACnB,CAAC;QACN,CAAC;QAGD,IAAA,oBAAW,EAAC,oCAAwB,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC9D,IAAA,oBAAW,EAAC,yCAA6B,EAAE,UAAU,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAEzE,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,IAAA,oBAAW,EAAC,4CAAgC,EAAE,aAAa,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACnF,CAAC;QAED,OAAO,UAAU,CAAC;IACtB,CAAC,CAAC;AACN,CAAC,CAAC;AAtCW,QAAA,cAAc,kBAsCzB"}
@@ -1 +1,2 @@
1
- export declare const Activity: () => ClassDecorator;
1
+ import { ActivityOptions } from '../interfaces/activity.interface';
2
+ export declare const Activity: (options?: ActivityOptions) => ClassDecorator;
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Activity = void 0;
4
4
  const common_1 = require("@nestjs/common");
5
5
  const constants_1 = require("../constants");
6
- const Activity = () => {
6
+ const Activity = (options = {}) => {
7
7
  return (target) => {
8
- Reflect.defineMetadata(constants_1.TEMPORAL_ACTIVITY, true, target);
9
- (0, common_1.SetMetadata)(constants_1.TEMPORAL_ACTIVITY, true)(target);
8
+ Reflect.defineMetadata(constants_1.TEMPORAL_ACTIVITY, { ...options }, target);
9
+ (0, common_1.SetMetadata)(constants_1.TEMPORAL_ACTIVITY, { ...options })(target);
10
10
  return target;
11
11
  };
12
12
  };
@@ -1 +1 @@
1
- {"version":3,"file":"activity.decorator.js","sourceRoot":"","sources":["../../src/decorators/activity.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAA6C;AAC7C,4CAAiD;AAK1C,MAAM,QAAQ,GAAG,GAAmB,EAAE;IAC3C,OAAO,CAAC,MAAW,EAAE,EAAE;QACrB,OAAO,CAAC,cAAc,CAAC,6BAAiB,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACxD,IAAA,oBAAW,EAAC,6BAAiB,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;QAC7C,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC,CAAC;AANW,QAAA,QAAQ,YAMnB"}
1
+ {"version":3,"file":"activity.decorator.js","sourceRoot":"","sources":["../../src/decorators/activity.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAA6C;AAC7C,4CAAiD;AAqB1C,MAAM,QAAQ,GAAG,CAAC,UAA2B,EAAE,EAAkB,EAAE;IACtE,OAAO,CAAC,MAAW,EAAE,EAAE;QACnB,OAAO,CAAC,cAAc,CAAC,6BAAiB,EAAE,EAAE,GAAG,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;QAClE,IAAA,oBAAW,EAAC,6BAAiB,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;QACvD,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;AACN,CAAC,CAAC;AANW,QAAA,QAAQ,YAMnB"}
@@ -1,3 +1,7 @@
1
1
  export * from './activity.decorator';
2
2
  export * from './activity-method.decorator';
3
3
  export * from './workflow.decorator';
4
+ export * from './workflow-method.decorator';
5
+ export * from './query.decorator';
6
+ export * from './signal.decorator';
7
+ export * from './scheduled-workflow.decorator';
@@ -17,4 +17,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./activity.decorator"), exports);
18
18
  __exportStar(require("./activity-method.decorator"), exports);
19
19
  __exportStar(require("./workflow.decorator"), exports);
20
+ __exportStar(require("./workflow-method.decorator"), exports);
21
+ __exportStar(require("./query.decorator"), exports);
22
+ __exportStar(require("./signal.decorator"), exports);
23
+ __exportStar(require("./scheduled-workflow.decorator"), exports);
20
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,8DAA4C;AAC5C,uDAAqC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAKA,uDAAqC;AACrC,8DAA4C;AAG5C,uDAAqC;AACrC,8DAA4C;AAG5C,oDAAkC;AAClC,qDAAmC;AAGnC,iEAA+C"}
@@ -0,0 +1,2 @@
1
+ import { QueryMethodOptions } from '../interfaces/workflow.interface';
2
+ export declare const Query: (options?: string | QueryMethodOptions) => MethodDecorator;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Query = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ const constants_1 = require("../constants");
6
+ const Query = (options) => {
7
+ return (_target, propertyKey, descriptor) => {
8
+ let queryName;
9
+ if (typeof options === 'string') {
10
+ queryName = options;
11
+ }
12
+ else if (options && typeof options === 'object') {
13
+ queryName = options.name || propertyKey.toString();
14
+ }
15
+ else {
16
+ queryName = propertyKey.toString();
17
+ }
18
+ Reflect.defineMetadata(constants_1.TEMPORAL_QUERY_METHOD, true, descriptor.value);
19
+ Reflect.defineMetadata(constants_1.TEMPORAL_QUERY_NAME, queryName, descriptor.value);
20
+ (0, common_1.SetMetadata)(constants_1.TEMPORAL_QUERY_METHOD, true)(descriptor.value);
21
+ (0, common_1.SetMetadata)(constants_1.TEMPORAL_QUERY_NAME, queryName)(descriptor.value);
22
+ return descriptor;
23
+ };
24
+ };
25
+ exports.Query = Query;
26
+ //# sourceMappingURL=query.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.decorator.js","sourceRoot":"","sources":["../../src/decorators/query.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAA6C;AAC7C,4CAA0E;AA0BnE,MAAM,KAAK,GAAG,CAAC,OAAqC,EAAmB,EAAE;IAC5E,OAAO,CAAC,OAAgB,EAAE,WAA4B,EAAE,UAA8B,EAAE,EAAE;QAEtF,IAAI,SAAiB,CAAC;QAEtB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC9B,SAAS,GAAG,OAAO,CAAC;QACxB,CAAC;aAAM,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChD,SAAS,GAAG,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;QACvD,CAAC;aAAM,CAAC;YACJ,SAAS,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QACvC,CAAC;QAGD,OAAO,CAAC,cAAc,CAAC,iCAAqB,EAAE,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;QACtE,OAAO,CAAC,cAAc,CAAC,+BAAmB,EAAE,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;QAGzE,IAAA,oBAAW,EAAC,iCAAqB,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC3D,IAAA,oBAAW,EAAC,+BAAmB,EAAE,SAAS,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAE9D,OAAO,UAAU,CAAC;IACtB,CAAC,CAAC;AACN,CAAC,CAAC;AAvBW,QAAA,KAAK,SAuBhB"}
@@ -0,0 +1,13 @@
1
+ import { WorkflowOptions } from '../interfaces/workflow.interface';
2
+ export interface ScheduledWorkflowOptions extends WorkflowOptions {
3
+ schedule: {
4
+ cron?: string;
5
+ interval?: {
6
+ seconds?: number;
7
+ minutes?: number;
8
+ hours?: number;
9
+ days?: number;
10
+ };
11
+ };
12
+ }
13
+ export declare function ScheduledWorkflow(options: ScheduledWorkflowOptions): ClassDecorator;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ScheduledWorkflow = ScheduledWorkflow;
4
+ const common_1 = require("@nestjs/common");
5
+ const constants_1 = require("../constants");
6
+ function ScheduledWorkflow(options) {
7
+ if (!options.taskQueue) {
8
+ throw new Error('taskQueue is required in ScheduledWorkflow decorator options');
9
+ }
10
+ if (!options.schedule) {
11
+ throw new Error('schedule is required in ScheduledWorkflow decorator options');
12
+ }
13
+ return (target) => {
14
+ const workflowOptions = {
15
+ ...options,
16
+ name: options.name || target.name,
17
+ };
18
+ Reflect.defineMetadata(constants_1.TEMPORAL_WORKFLOW, workflowOptions, target);
19
+ Reflect.defineMetadata('TEMPORAL_SCHEDULED_WORKFLOW', true, target);
20
+ Reflect.defineMetadata('TEMPORAL_SCHEDULED_WORKFLOW_OPTIONS', options.schedule, target);
21
+ (0, common_1.SetMetadata)(constants_1.TEMPORAL_WORKFLOW, workflowOptions)(target);
22
+ (0, common_1.SetMetadata)(constants_1.TEMPORAL_WORKFLOW_OPTIONS, workflowOptions)(target);
23
+ (0, common_1.SetMetadata)('TEMPORAL_SCHEDULED_WORKFLOW', true)(target);
24
+ (0, common_1.SetMetadata)('TEMPORAL_SCHEDULED_WORKFLOW_OPTIONS', options.schedule)(target);
25
+ return target;
26
+ };
27
+ }
28
+ //# sourceMappingURL=scheduled-workflow.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduled-workflow.decorator.js","sourceRoot":"","sources":["../../src/decorators/scheduled-workflow.decorator.ts"],"names":[],"mappings":";;AAqDA,8CA8BC;AAnFD,2CAA6C;AAC7C,4CAA4E;AAoD5E,SAAgB,iBAAiB,CAAC,OAAiC;IAE/D,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IACpF,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACnF,CAAC;IAED,OAAO,CAAC,MAAW,EAAE,EAAE;QAEnB,MAAM,eAAe,GAAG;YACpB,GAAG,OAAO;YACV,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI;SACpC,CAAC;QAGF,OAAO,CAAC,cAAc,CAAC,6BAAiB,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;QACnE,OAAO,CAAC,cAAc,CAAC,6BAA6B,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACpE,OAAO,CAAC,cAAc,CAAC,qCAAqC,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAGxF,IAAA,oBAAW,EAAC,6BAAiB,EAAE,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;QACxD,IAAA,oBAAW,EAAC,qCAAyB,EAAE,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;QAChE,IAAA,oBAAW,EAAC,6BAA6B,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;QACzD,IAAA,oBAAW,EAAC,qCAAqC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;QAE7E,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;AACN,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { SignalMethodOptions } from '../interfaces/workflow.interface';
2
+ export declare const Signal: (options?: string | SignalMethodOptions) => MethodDecorator;