nestjs-temporal-core 2.0.8 → 3.0.1

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 +114 -563
  2. package/dist/client/temporal-client.module.d.ts +4 -2
  3. package/dist/client/temporal-client.module.js +59 -78
  4. package/dist/client/temporal-client.module.js.map +1 -1
  5. package/dist/client/temporal-client.service.d.ts +4 -3
  6. package/dist/client/temporal-client.service.js +43 -27
  7. package/dist/client/temporal-client.service.js.map +1 -1
  8. package/dist/client/temporal-schedule.service.d.ts +8 -2
  9. package/dist/client/temporal-schedule.service.js +86 -65
  10. package/dist/client/temporal-schedule.service.js.map +1 -1
  11. package/dist/constants.d.ts +171 -32
  12. package/dist/constants.js +164 -19
  13. package/dist/constants.js.map +1 -1
  14. package/dist/decorators/communication.decorators.d.ts +5 -0
  15. package/dist/decorators/communication.decorators.js +66 -0
  16. package/dist/decorators/communication.decorators.js.map +1 -0
  17. package/dist/decorators/core.decorators.d.ts +6 -0
  18. package/dist/decorators/core.decorators.js +87 -0
  19. package/dist/decorators/core.decorators.js.map +1 -0
  20. package/dist/decorators/index.d.ts +5 -6
  21. package/dist/decorators/index.js +5 -6
  22. package/dist/decorators/index.js.map +1 -1
  23. package/dist/decorators/parameter.decorators.d.ts +2 -0
  24. package/dist/decorators/parameter.decorators.js +29 -0
  25. package/dist/decorators/parameter.decorators.js.map +1 -0
  26. package/dist/decorators/scheduling.decorators.d.ts +4 -0
  27. package/dist/decorators/scheduling.decorators.js +37 -0
  28. package/dist/decorators/scheduling.decorators.js.map +1 -0
  29. package/dist/decorators/workflow-starter.decorator.d.ts +2 -0
  30. package/dist/decorators/workflow-starter.decorator.js +14 -0
  31. package/dist/decorators/workflow-starter.decorator.js.map +1 -0
  32. package/dist/discovery/index.d.ts +2 -0
  33. package/dist/discovery/index.js +19 -0
  34. package/dist/discovery/index.js.map +1 -0
  35. package/dist/discovery/schedule-manager.service.d.ts +36 -0
  36. package/dist/discovery/schedule-manager.service.js +215 -0
  37. package/dist/discovery/schedule-manager.service.js.map +1 -0
  38. package/dist/discovery/workflow-discovery.service.d.ts +36 -0
  39. package/dist/discovery/workflow-discovery.service.js +216 -0
  40. package/dist/discovery/workflow-discovery.service.js.map +1 -0
  41. package/dist/index.d.ts +15 -8
  42. package/dist/index.js +27 -11
  43. package/dist/index.js.map +1 -1
  44. package/dist/interfaces/core.interface.d.ts +112 -0
  45. package/dist/interfaces/{base.interface.js → core.interface.js} +1 -1
  46. package/dist/interfaces/core.interface.js.map +1 -0
  47. package/dist/interfaces/discovery.interface.d.ts +61 -0
  48. package/dist/interfaces/{client.interface.js → discovery.interface.js} +1 -1
  49. package/dist/interfaces/discovery.interface.js.map +1 -0
  50. package/dist/interfaces/index.d.ts +4 -4
  51. package/dist/interfaces/index.js +4 -4
  52. package/dist/interfaces/index.js.map +1 -1
  53. package/dist/interfaces/scheduling.interface.d.ts +17 -0
  54. package/dist/interfaces/{temporal.interface.js → scheduling.interface.js} +1 -1
  55. package/dist/interfaces/scheduling.interface.js.map +1 -0
  56. package/dist/interfaces/worker.interface.d.ts +20 -17
  57. package/dist/interfaces/workflow.interface.d.ts +41 -1
  58. package/dist/temporal.module.d.ts +17 -1
  59. package/dist/temporal.module.js +120 -53
  60. package/dist/temporal.module.js.map +1 -1
  61. package/dist/temporal.service.d.ts +50 -8
  62. package/dist/temporal.service.js +166 -18
  63. package/dist/temporal.service.js.map +1 -1
  64. package/dist/tsconfig.tsbuildinfo +1 -1
  65. package/dist/worker/index.d.ts +1 -1
  66. package/dist/worker/index.js +1 -1
  67. package/dist/worker/index.js.map +1 -1
  68. package/dist/worker/temporal-metadata.accessor.d.ts +21 -6
  69. package/dist/worker/temporal-metadata.accessor.js +153 -22
  70. package/dist/worker/temporal-metadata.accessor.js.map +1 -1
  71. package/dist/worker/temporal-worker.module.d.ts +1 -1
  72. package/dist/worker/temporal-worker.module.js +6 -7
  73. package/dist/worker/temporal-worker.module.js.map +1 -1
  74. package/dist/worker/worker-manager.service.d.ts +24 -7
  75. package/dist/worker/worker-manager.service.js +218 -85
  76. package/dist/worker/worker-manager.service.js.map +1 -1
  77. package/package.json +50 -18
  78. package/dist/decorators/activity-method.decorator.d.ts +0 -2
  79. package/dist/decorators/activity-method.decorator.js +0 -35
  80. package/dist/decorators/activity-method.decorator.js.map +0 -1
  81. package/dist/decorators/activity.decorator.d.ts +0 -2
  82. package/dist/decorators/activity.decorator.js +0 -14
  83. package/dist/decorators/activity.decorator.js.map +0 -1
  84. package/dist/decorators/query-method.decorator.d.ts +0 -1
  85. package/dist/decorators/query-method.decorator.js +0 -17
  86. package/dist/decorators/query-method.decorator.js.map +0 -1
  87. package/dist/decorators/signal-method.decorator.d.ts +0 -1
  88. package/dist/decorators/signal-method.decorator.js +0 -17
  89. package/dist/decorators/signal-method.decorator.js.map +0 -1
  90. package/dist/decorators/workflow-method.decorator.d.ts +0 -2
  91. package/dist/decorators/workflow-method.decorator.js +0 -26
  92. package/dist/decorators/workflow-method.decorator.js.map +0 -1
  93. package/dist/decorators/workflow.decorator.d.ts +0 -2
  94. package/dist/decorators/workflow.decorator.js +0 -16
  95. package/dist/decorators/workflow.decorator.js.map +0 -1
  96. package/dist/interfaces/base.interface.d.ts +0 -13
  97. package/dist/interfaces/base.interface.js.map +0 -1
  98. package/dist/interfaces/client.interface.d.ts +0 -30
  99. package/dist/interfaces/client.interface.js.map +0 -1
  100. package/dist/interfaces/temporal.interface.d.ts +0 -33
  101. package/dist/interfaces/temporal.interface.js.map +0 -1
@@ -2,9 +2,11 @@ import { DynamicModule } from '@nestjs/common';
2
2
  import { TemporalClientOptions, TemporalClientAsyncOptions } from '../interfaces';
3
3
  export declare class TemporalClientModule {
4
4
  private static readonly logger;
5
- private static createClient;
6
5
  static register(options: TemporalClientOptions): DynamicModule;
7
6
  static registerAsync(options: TemporalClientAsyncOptions): DynamicModule;
7
+ private static createClientProvider;
8
+ private static createAsyncClientProvider;
8
9
  private static createAsyncProviders;
9
- private static addShutdownHook;
10
+ private static createClientInstance;
11
+ private static enhanceClientWithShutdown;
10
12
  }
@@ -14,57 +14,7 @@ const constants_1 = require("../constants");
14
14
  const temporal_client_service_1 = require("./temporal-client.service");
15
15
  const temporal_schedule_service_1 = require("./temporal-schedule.service");
16
16
  let TemporalClientModule = TemporalClientModule_1 = class TemporalClientModule {
17
- static async createClient(options) {
18
- let connection = null;
19
- try {
20
- this.logger.log(`Connecting to Temporal server at ${options.connection.address}`);
21
- connection = await client_1.Connection.connect({
22
- address: options.connection.address,
23
- tls: options.connection.tls,
24
- metadata: options.connection.metadata,
25
- ...(options.connection.apiKey && {
26
- metadata: {
27
- ...options.connection.metadata,
28
- authorization: `Bearer ${options.connection.apiKey}`,
29
- },
30
- }),
31
- });
32
- const namespace = options.namespace || constants_1.DEFAULT_NAMESPACE;
33
- this.logger.log(`Connected to Temporal server, using namespace "${namespace}"`);
34
- return new client_1.Client({
35
- connection,
36
- namespace,
37
- });
38
- }
39
- catch (error) {
40
- if (connection) {
41
- await connection.close().catch((closeError) => {
42
- this.logger.error('Failed to close Temporal connection during error handling', closeError);
43
- });
44
- }
45
- const errorMsg = `${constants_1.ERRORS.CLIENT_INITIALIZATION}: ${error.message}`;
46
- this.logger.error(errorMsg, error.stack);
47
- throw new Error(errorMsg);
48
- }
49
- }
50
17
  static register(options) {
51
- const clientProvider = {
52
- provide: constants_1.TEMPORAL_CLIENT,
53
- useFactory: async () => {
54
- try {
55
- const client = await this.createClient(options);
56
- return this.addShutdownHook(client);
57
- }
58
- catch (error) {
59
- this.logger.error('Failed to initialize Temporal client', error);
60
- if (options.allowConnectionFailure !== false) {
61
- this.logger.warn('Continuing application startup without Temporal client');
62
- return null;
63
- }
64
- throw error;
65
- }
66
- },
67
- };
68
18
  return {
69
19
  module: TemporalClientModule_1,
70
20
  providers: [
@@ -72,7 +22,7 @@ let TemporalClientModule = TemporalClientModule_1 = class TemporalClientModule {
72
22
  provide: constants_1.TEMPORAL_CLIENT_MODULE_OPTIONS,
73
23
  useValue: options,
74
24
  },
75
- clientProvider,
25
+ this.createClientProvider(options),
76
26
  temporal_client_service_1.TemporalClientService,
77
27
  temporal_schedule_service_1.TemporalScheduleService,
78
28
  ],
@@ -80,36 +30,31 @@ let TemporalClientModule = TemporalClientModule_1 = class TemporalClientModule {
80
30
  };
81
31
  }
82
32
  static registerAsync(options) {
83
- const clientProvider = {
84
- provide: constants_1.TEMPORAL_CLIENT,
85
- useFactory: async (clientOptions) => {
86
- try {
87
- const client = await this.createClient(clientOptions);
88
- return this.addShutdownHook(client);
89
- }
90
- catch (error) {
91
- this.logger.error('Failed to initialize Temporal client', error);
92
- if (clientOptions.allowConnectionFailure !== false) {
93
- this.logger.warn('Continuing application startup without Temporal client');
94
- return null;
95
- }
96
- throw error;
97
- }
98
- },
99
- inject: [constants_1.TEMPORAL_CLIENT_MODULE_OPTIONS],
100
- };
101
33
  return {
102
34
  module: TemporalClientModule_1,
103
35
  imports: options.imports || [],
104
36
  providers: [
105
37
  ...this.createAsyncProviders(options),
106
- clientProvider,
38
+ this.createAsyncClientProvider(),
107
39
  temporal_client_service_1.TemporalClientService,
108
40
  temporal_schedule_service_1.TemporalScheduleService,
109
41
  ],
110
42
  exports: [temporal_client_service_1.TemporalClientService, temporal_schedule_service_1.TemporalScheduleService],
111
43
  };
112
44
  }
45
+ static createClientProvider(options) {
46
+ return {
47
+ provide: constants_1.TEMPORAL_CLIENT,
48
+ useFactory: async () => this.createClientInstance(options),
49
+ };
50
+ }
51
+ static createAsyncClientProvider() {
52
+ return {
53
+ provide: constants_1.TEMPORAL_CLIENT,
54
+ useFactory: async (clientOptions) => this.createClientInstance(clientOptions),
55
+ inject: [constants_1.TEMPORAL_CLIENT_MODULE_OPTIONS],
56
+ };
57
+ }
113
58
  static createAsyncProviders(options) {
114
59
  if (options.useFactory) {
115
60
  return [
@@ -124,7 +69,7 @@ let TemporalClientModule = TemporalClientModule_1 = class TemporalClientModule {
124
69
  return [
125
70
  {
126
71
  provide: constants_1.TEMPORAL_CLIENT_MODULE_OPTIONS,
127
- useFactory: async (optionsFactory) => await optionsFactory.createClientOptions(),
72
+ useFactory: async (optionsFactory) => optionsFactory.createClientOptions(),
128
73
  inject: [options.useClass],
129
74
  },
130
75
  {
@@ -137,25 +82,61 @@ let TemporalClientModule = TemporalClientModule_1 = class TemporalClientModule {
137
82
  return [
138
83
  {
139
84
  provide: constants_1.TEMPORAL_CLIENT_MODULE_OPTIONS,
140
- useFactory: async (optionsFactory) => await optionsFactory.createClientOptions(),
85
+ useFactory: async (optionsFactory) => optionsFactory.createClientOptions(),
141
86
  inject: [options.useExisting],
142
87
  },
143
88
  ];
144
89
  }
145
90
  throw new Error(constants_1.ERRORS.INVALID_OPTIONS);
146
91
  }
147
- static addShutdownHook(client) {
92
+ static async createClientInstance(options) {
93
+ let connection = null;
94
+ try {
95
+ this.logger.log(`Connecting to Temporal server at ${options.connection.address}`);
96
+ const connectionConfig = {
97
+ address: options.connection.address,
98
+ tls: options.connection.tls,
99
+ metadata: options.connection.metadata,
100
+ };
101
+ if (options.connection.apiKey) {
102
+ connectionConfig.metadata = {
103
+ ...connectionConfig.metadata,
104
+ authorization: `Bearer ${options.connection.apiKey}`,
105
+ };
106
+ }
107
+ connection = await client_1.Connection.connect(connectionConfig);
108
+ const namespace = options.namespace || constants_1.DEFAULT_NAMESPACE;
109
+ this.logger.log(`Connected to Temporal server, using namespace "${namespace}"`);
110
+ const client = new client_1.Client({ connection, namespace });
111
+ return this.enhanceClientWithShutdown(client);
112
+ }
113
+ catch (error) {
114
+ if (connection) {
115
+ await connection.close().catch((closeError) => {
116
+ this.logger.error('Failed to close connection during error cleanup', closeError);
117
+ });
118
+ }
119
+ const errorMsg = `${constants_1.ERRORS.CLIENT_INITIALIZATION}: ${error.message}`;
120
+ this.logger.error(errorMsg, error.stack);
121
+ if (options.allowConnectionFailure !== false) {
122
+ this.logger.warn('Continuing application startup without Temporal client');
123
+ return null;
124
+ }
125
+ throw new Error(errorMsg);
126
+ }
127
+ }
128
+ static enhanceClientWithShutdown(client) {
148
129
  const enhancedClient = client;
149
130
  enhancedClient.onApplicationShutdown = async (signal) => {
150
131
  this.logger.log(`Closing Temporal client connection (signal: ${signal})`);
151
- if (client?.connection) {
152
- try {
132
+ try {
133
+ if (client?.connection) {
153
134
  await client.connection.close();
154
135
  this.logger.log('Temporal connection closed successfully');
155
136
  }
156
- catch (error) {
157
- this.logger.error('Failed to close Temporal connection', error);
158
- }
137
+ }
138
+ catch (error) {
139
+ this.logger.error('Failed to close Temporal connection', error);
159
140
  }
160
141
  };
161
142
  return enhancedClient;
@@ -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,15 +1,14 @@
1
1
  import { OnModuleInit } from '@nestjs/common';
2
2
  import { Client, WorkflowClient, WorkflowHandle } from '@temporalio/client';
3
- import { StartWorkflowOptions } from '../interfaces';
3
+ import { StartWorkflowOptions } from 'src/interfaces';
4
4
  export declare class TemporalClientService implements OnModuleInit {
5
5
  private readonly client;
6
6
  private readonly logger;
7
- private workflowClient;
7
+ private readonly workflowClient;
8
8
  constructor(client: Client | null);
9
9
  onModuleInit(): Promise<void>;
10
10
  getWorkflowClient(): WorkflowClient | null;
11
11
  getRawClient(): Client | null;
12
- private ensureClientInitialized;
13
12
  startWorkflow<T, A extends any[]>(workflowType: string, args: A, options: StartWorkflowOptions): Promise<{
14
13
  result: Promise<T>;
15
14
  workflowId: string;
@@ -23,4 +22,6 @@ export declare class TemporalClientService implements OnModuleInit {
23
22
  getWorkflowHandle(workflowId: string, runId?: string): Promise<WorkflowHandle>;
24
23
  describeWorkflow(workflowId: string, runId?: string): Promise<import("@temporalio/client").WorkflowExecutionDescription>;
25
24
  listWorkflows(query: string, pageSize?: number): import("@temporalio/client").AsyncWorkflowListIterable;
25
+ private ensureClientInitialized;
26
+ private generateWorkflowId;
26
27
  }
@@ -20,10 +20,7 @@ let TemporalClientService = TemporalClientService_1 = class TemporalClientServic
20
20
  constructor(client) {
21
21
  this.client = client;
22
22
  this.logger = new common_1.Logger(TemporalClientService_1.name);
23
- this.workflowClient = null;
24
- if (this.client) {
25
- this.workflowClient = this.client.workflow;
26
- }
23
+ this.workflowClient = this.client?.workflow || null;
27
24
  }
28
25
  async onModuleInit() {
29
26
  if (!this.client) {
@@ -39,14 +36,9 @@ let TemporalClientService = TemporalClientService_1 = class TemporalClientServic
39
36
  getRawClient() {
40
37
  return this.client;
41
38
  }
42
- ensureClientInitialized() {
43
- if (!this.workflowClient) {
44
- throw new Error(constants_1.ERRORS.CLIENT_NOT_INITIALIZED);
45
- }
46
- }
47
39
  async startWorkflow(workflowType, args, options) {
48
40
  this.ensureClientInitialized();
49
- const { taskQueue, workflowId = `${workflowType}-${Date.now()}-${Math.random().toString(36).slice(2)}`, signal, ...restOptions } = options;
41
+ const { taskQueue, workflowId = this.generateWorkflowId(workflowType), signal, ...restOptions } = options;
50
42
  try {
51
43
  const startOptions = {
52
44
  taskQueue,
@@ -60,6 +52,7 @@ let TemporalClientService = TemporalClientService_1 = class TemporalClientServic
60
52
  if (signal) {
61
53
  await handle.signal(signal.name, ...(signal.args || []));
62
54
  }
55
+ this.logger.debug(`Started workflow: ${workflowType} (${workflowId})`);
63
56
  return {
64
57
  result: handle.result(),
65
58
  workflowId: handle.workflowId,
@@ -68,8 +61,9 @@ let TemporalClientService = TemporalClientService_1 = class TemporalClientServic
68
61
  };
69
62
  }
70
63
  catch (error) {
71
- this.logger.error(`Failed to start workflow '${workflowType}': ${error.message}`);
72
- throw new Error(`Failed to start workflow '${workflowType}': ${error.message}`);
64
+ const errorMsg = `Failed to start workflow '${workflowType}': ${error.message}`;
65
+ this.logger.error(errorMsg);
66
+ throw new Error(errorMsg);
73
67
  }
74
68
  }
75
69
  async signalWorkflow(workflowId, signalName, args = []) {
@@ -77,21 +71,26 @@ let TemporalClientService = TemporalClientService_1 = class TemporalClientServic
77
71
  try {
78
72
  const handle = await this.workflowClient.getHandle(workflowId);
79
73
  await handle.signal(signalName, ...args);
74
+ this.logger.debug(`Sent signal '${signalName}' to workflow ${workflowId}`);
80
75
  }
81
76
  catch (error) {
82
- this.logger.error(`Failed to send signal '${signalName}' to workflow ${workflowId}: ${error.message}`);
83
- throw new Error(`Failed to send signal '${signalName}' to workflow ${workflowId}: ${error.message}`);
77
+ const errorMsg = `Failed to send signal '${signalName}' to workflow ${workflowId}: ${error.message}`;
78
+ this.logger.error(errorMsg);
79
+ throw new Error(errorMsg);
84
80
  }
85
81
  }
86
82
  async queryWorkflow(workflowId, queryName, args = []) {
87
83
  this.ensureClientInitialized();
88
84
  try {
89
85
  const handle = await this.workflowClient.getHandle(workflowId);
90
- return await handle.query(queryName, ...args);
86
+ const result = await handle.query(queryName, ...args);
87
+ this.logger.debug(`Queried '${queryName}' on workflow ${workflowId}`);
88
+ return result;
91
89
  }
92
90
  catch (error) {
93
- this.logger.error(`Failed to query '${queryName}' on workflow ${workflowId}: ${error.message}`);
94
- throw new Error(`Failed to query '${queryName}' on workflow ${workflowId}: ${error.message}`);
91
+ const errorMsg = `Failed to query '${queryName}' on workflow ${workflowId}: ${error.message}`;
92
+ this.logger.error(errorMsg);
93
+ throw new Error(errorMsg);
95
94
  }
96
95
  }
97
96
  async terminateWorkflow(workflowId, reason) {
@@ -99,10 +98,12 @@ let TemporalClientService = TemporalClientService_1 = class TemporalClientServic
99
98
  try {
100
99
  const handle = await this.workflowClient.getHandle(workflowId);
101
100
  await handle.terminate(reason);
101
+ this.logger.log(`Terminated workflow ${workflowId}${reason ? `: ${reason}` : ''}`);
102
102
  }
103
103
  catch (error) {
104
- this.logger.error(`Failed to terminate workflow ${workflowId}: ${error.message}`);
105
- throw new Error(`Failed to terminate workflow ${workflowId}: ${error.message}`);
104
+ const errorMsg = `Failed to terminate workflow ${workflowId}: ${error.message}`;
105
+ this.logger.error(errorMsg);
106
+ throw new Error(errorMsg);
106
107
  }
107
108
  }
108
109
  async cancelWorkflow(workflowId) {
@@ -110,10 +111,12 @@ let TemporalClientService = TemporalClientService_1 = class TemporalClientServic
110
111
  try {
111
112
  const handle = await this.workflowClient.getHandle(workflowId);
112
113
  await handle.cancel();
114
+ this.logger.log(`Cancelled workflow ${workflowId}`);
113
115
  }
114
116
  catch (error) {
115
- this.logger.error(`Failed to cancel workflow ${workflowId}: ${error.message}`);
116
- throw new Error(`Failed to cancel workflow ${workflowId}: ${error.message}`);
117
+ const errorMsg = `Failed to cancel workflow ${workflowId}: ${error.message}`;
118
+ this.logger.error(errorMsg);
119
+ throw new Error(errorMsg);
117
120
  }
118
121
  }
119
122
  async getWorkflowHandle(workflowId, runId) {
@@ -122,8 +125,9 @@ let TemporalClientService = TemporalClientService_1 = class TemporalClientServic
122
125
  return await this.workflowClient.getHandle(workflowId, runId);
123
126
  }
124
127
  catch (error) {
125
- this.logger.error(`Failed to get workflow handle for ${workflowId}: ${error.message}`);
126
- throw new Error(`Failed to get workflow handle for ${workflowId}: ${error.message}`);
128
+ const errorMsg = `Failed to get workflow handle for ${workflowId}: ${error.message}`;
129
+ this.logger.error(errorMsg);
130
+ throw new Error(errorMsg);
127
131
  }
128
132
  }
129
133
  async describeWorkflow(workflowId, runId) {
@@ -133,8 +137,9 @@ let TemporalClientService = TemporalClientService_1 = class TemporalClientServic
133
137
  return await handle.describe();
134
138
  }
135
139
  catch (error) {
136
- this.logger.error(`Failed to describe workflow ${workflowId}: ${error.message}`);
137
- throw new Error(`Failed to describe workflow ${workflowId}: ${error.message}`);
140
+ const errorMsg = `Failed to describe workflow ${workflowId}: ${error.message}`;
141
+ this.logger.error(errorMsg);
142
+ throw new Error(errorMsg);
138
143
  }
139
144
  }
140
145
  listWorkflows(query, pageSize = 100) {
@@ -143,10 +148,21 @@ let TemporalClientService = TemporalClientService_1 = class TemporalClientServic
143
148
  return this.workflowClient.list({ query, pageSize });
144
149
  }
145
150
  catch (error) {
146
- this.logger.error(`Failed to list workflows with query '${query}': ${error.message}`);
147
- throw new Error(`Failed to list workflows with query '${query}': ${error.message}`);
151
+ const errorMsg = `Failed to list workflows with query '${query}': ${error.message}`;
152
+ this.logger.error(errorMsg);
153
+ throw new Error(errorMsg);
148
154
  }
149
155
  }
156
+ ensureClientInitialized() {
157
+ if (!this.workflowClient) {
158
+ throw new Error(constants_1.ERRORS.CLIENT_NOT_INITIALIZED);
159
+ }
160
+ }
161
+ generateWorkflowId(workflowType) {
162
+ const timestamp = Date.now();
163
+ const random = Math.random().toString(36).slice(2);
164
+ return `${workflowType}-${timestamp}-${random}`;
165
+ }
150
166
  };
151
167
  exports.TemporalClientService = TemporalClientService;
152
168
  exports.TemporalClientService = TemporalClientService = TemporalClientService_1 = __decorate([
@@ -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,17 +1,23 @@
1
1
  import { OnModuleInit } from '@nestjs/common';
2
2
  import { Client, ScheduleClient, ScheduleHandle, ScheduleOverlapPolicy } from '@temporalio/client';
3
+ import { StringValue } from 'ms';
3
4
  export declare class TemporalScheduleService implements OnModuleInit {
4
5
  private readonly client;
5
6
  private readonly logger;
6
7
  private scheduleClient;
7
8
  constructor(client: Client | null);
8
9
  onModuleInit(): Promise<void>;
9
- private ensureClientInitialized;
10
- createCronWorkflow(scheduleId: string, workflowType: string, cronExpression: string, taskQueue: string, args?: any[], description?: string): Promise<ScheduleHandle>;
10
+ createCronWorkflow(scheduleId: string, workflowType: string, cronExpression: string, taskQueue: string, args?: any[], description?: string, timezone?: string): Promise<ScheduleHandle>;
11
+ createIntervalWorkflow(scheduleId: string, workflowType: string, interval: StringValue | number, taskQueue: string, args?: any[], description?: string): Promise<ScheduleHandle>;
11
12
  pauseSchedule(scheduleId: string, note?: string): Promise<void>;
12
13
  resumeSchedule(scheduleId: string, note?: string): Promise<void>;
13
14
  deleteSchedule(scheduleId: string): Promise<void>;
14
15
  triggerNow(scheduleId: string, overlap?: ScheduleOverlapPolicy): Promise<void>;
15
16
  listSchedules(pageSize?: number): Promise<any[]>;
17
+ describeSchedule(scheduleId: string): Promise<any>;
18
+ updateSchedule(scheduleId: string, updateFn: (schedule: any) => any): Promise<void>;
16
19
  getScheduleClient(): ScheduleClient | null;
20
+ private executeScheduleOperation;
21
+ private ensureClientInitialized;
22
+ private generateScheduledWorkflowId;
17
23
  }