nestjs-temporal-core 3.0.5 → 3.0.7
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.
- package/README.md +370 -25
- package/dist/activity/temporal-activity.module.d.ts +4 -4
- package/dist/activity/temporal-activity.module.js +3 -2
- package/dist/activity/temporal-activity.module.js.map +1 -1
- package/dist/activity/temporal-activity.service.js +5 -3
- package/dist/activity/temporal-activity.service.js.map +1 -1
- package/dist/client/temporal-client.module.d.ts +1 -1
- package/dist/client/temporal-client.module.js +60 -43
- package/dist/client/temporal-client.module.js.map +1 -1
- package/dist/client/temporal-client.service.d.ts +5 -4
- package/dist/client/temporal-client.service.js +9 -4
- package/dist/client/temporal-client.service.js.map +1 -1
- package/dist/client/temporal-schedule.service.d.ts +9 -7
- package/dist/client/temporal-schedule.service.js +6 -3
- package/dist/client/temporal-schedule.service.js.map +1 -1
- package/dist/constants.js.map +1 -1
- package/dist/decorators/activity.decorator.d.ts +1 -1
- package/dist/decorators/activity.decorator.js +28 -17
- package/dist/decorators/activity.decorator.js.map +1 -1
- package/dist/decorators/parameter.decorator.d.ts +0 -2
- package/dist/decorators/parameter.decorator.js +2 -14
- package/dist/decorators/parameter.decorator.js.map +1 -1
- package/dist/decorators/scheduling.decorator.js +3 -19
- package/dist/decorators/scheduling.decorator.js.map +1 -1
- package/dist/discovery/temporal-discovery.service.d.ts +3 -3
- package/dist/discovery/temporal-discovery.service.js +17 -16
- package/dist/discovery/temporal-discovery.service.js.map +1 -1
- package/dist/discovery/temporal-schedule-manager.service.js +5 -2
- package/dist/discovery/temporal-schedule-manager.service.js.map +1 -1
- package/dist/index.d.ts +16 -6
- package/dist/index.js +34 -21
- package/dist/index.js.map +1 -1
- package/dist/interfaces.d.ts +80 -33
- package/dist/interfaces.js.map +1 -1
- package/dist/schedules/temporal-schedules.module.d.ts +4 -4
- package/dist/schedules/temporal-schedules.module.js +3 -2
- package/dist/schedules/temporal-schedules.module.js.map +1 -1
- package/dist/schedules/temporal-schedules.service.js +9 -3
- package/dist/schedules/temporal-schedules.service.js.map +1 -1
- package/dist/temporal.module.d.ts +2 -10
- package/dist/temporal.module.js +88 -111
- package/dist/temporal.module.js.map +1 -1
- package/dist/temporal.service.d.ts +10 -9
- package/dist/temporal.service.js +9 -7
- package/dist/temporal.service.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.js +20 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/logger.d.ts +38 -0
- package/dist/utils/logger.js +208 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/metadata.d.ts +7 -0
- package/dist/utils/metadata.js +38 -0
- package/dist/utils/metadata.js.map +1 -0
- package/dist/utils/validation.d.ts +2 -0
- package/dist/utils/validation.js +22 -0
- package/dist/utils/validation.js.map +1 -0
- package/dist/worker/temporal-metadata.accessor.d.ts +11 -10
- package/dist/worker/temporal-metadata.accessor.js +2 -1
- package/dist/worker/temporal-metadata.accessor.js.map +1 -1
- package/dist/worker/temporal-worker-manager.service.d.ts +6 -9
- package/dist/worker/temporal-worker-manager.service.js +100 -100
- package/dist/worker/temporal-worker-manager.service.js.map +1 -1
- package/dist/worker/temporal-worker.module.d.ts +2 -2
- package/dist/worker/temporal-worker.module.js +44 -47
- package/dist/worker/temporal-worker.module.js.map +1 -1
- package/package.json +25 -27
package/README.md
CHANGED
|
@@ -16,15 +16,18 @@ NestJS Temporal Core brings Temporal's durable execution to NestJS with familiar
|
|
|
16
16
|
|
|
17
17
|
## 🚀 Key Features
|
|
18
18
|
|
|
19
|
-
- **🎯 NestJS-Native** - Familiar patterns: `@Activity`, `@Cron`, `@Interval`
|
|
19
|
+
- **🎯 NestJS-Native** - Familiar patterns: `@Activity`, `@Cron`, `@Interval`, `@Scheduled`
|
|
20
20
|
- **🔍 Auto-Discovery** - Automatically finds and registers activities and schedules
|
|
21
|
-
- **📅 Declarative Scheduling** - Built-in cron and interval scheduling
|
|
21
|
+
- **📅 Declarative Scheduling** - Built-in cron and interval scheduling with validation
|
|
22
22
|
- **🔄 Unified Service** - Single `TemporalService` for all operations
|
|
23
23
|
- **⚙️ Flexible Setup** - Client-only, worker-only, or unified deployments
|
|
24
24
|
- **🏥 Health Monitoring** - Comprehensive status monitoring and health checks
|
|
25
25
|
- **🔧 Production Ready** - TLS, connection management, graceful shutdowns
|
|
26
26
|
- **📊 Modular Architecture** - Individual modules for specific needs
|
|
27
|
+
- **📝 Configurable Logging** - Fine-grained control with `TemporalLogger`
|
|
27
28
|
- **🔐 Enterprise Ready** - Temporal Cloud support with TLS and API keys
|
|
29
|
+
- **🛠️ Developer Experience** - Rich TypeScript support with comprehensive utilities
|
|
30
|
+
- **⚡ Performance Optimized** - Efficient metadata handling and caching
|
|
28
31
|
|
|
29
32
|
## 📦 Installation
|
|
30
33
|
|
|
@@ -32,6 +35,26 @@ NestJS Temporal Core brings Temporal's durable execution to NestJS with familiar
|
|
|
32
35
|
npm install nestjs-temporal-core @temporalio/client @temporalio/worker @temporalio/workflow
|
|
33
36
|
```
|
|
34
37
|
|
|
38
|
+
## 🏗️ Architecture
|
|
39
|
+
|
|
40
|
+
NestJS Temporal Core is built with a modular architecture:
|
|
41
|
+
|
|
42
|
+
```text
|
|
43
|
+
nestjs-temporal-core/
|
|
44
|
+
├── src/
|
|
45
|
+
│ ├── decorators/ # Activity, workflow, and scheduling decorators
|
|
46
|
+
│ ├── client/ # Temporal client management
|
|
47
|
+
│ ├── worker/ # Worker lifecycle and management
|
|
48
|
+
│ ├── activity/ # Activity discovery and execution
|
|
49
|
+
│ ├── schedules/ # Schedule management
|
|
50
|
+
│ ├── discovery/ # Auto-discovery services
|
|
51
|
+
│ ├── utils/ # Utilities (validation, metadata, logging)
|
|
52
|
+
│ ├── constants.ts # Predefined constants and expressions
|
|
53
|
+
│ ├── interfaces.ts # TypeScript interfaces and types
|
|
54
|
+
│ ├── temporal.module.ts # Main module
|
|
55
|
+
│ └── temporal.service.ts # Unified service
|
|
56
|
+
```
|
|
57
|
+
|
|
35
58
|
## 🚀 Quick Start
|
|
36
59
|
|
|
37
60
|
### 1. Complete Integration (Recommended)
|
|
@@ -121,7 +144,13 @@ export async function processEmailWorkflow(
|
|
|
121
144
|
```typescript
|
|
122
145
|
// services/scheduled.service.ts
|
|
123
146
|
import { Injectable } from '@nestjs/common';
|
|
124
|
-
import {
|
|
147
|
+
import {
|
|
148
|
+
Scheduled,
|
|
149
|
+
Cron,
|
|
150
|
+
Interval,
|
|
151
|
+
CRON_EXPRESSIONS,
|
|
152
|
+
INTERVAL_EXPRESSIONS
|
|
153
|
+
} from 'nestjs-temporal-core';
|
|
125
154
|
|
|
126
155
|
@Injectable()
|
|
127
156
|
export class ScheduledService {
|
|
@@ -138,15 +167,17 @@ export class ScheduledService {
|
|
|
138
167
|
}
|
|
139
168
|
|
|
140
169
|
@Cron(CRON_EXPRESSIONS.WEEKLY_MONDAY_9AM, {
|
|
141
|
-
scheduleId: 'weekly-cleanup'
|
|
170
|
+
scheduleId: 'weekly-cleanup',
|
|
171
|
+
description: 'Weekly system cleanup'
|
|
142
172
|
})
|
|
143
173
|
async performWeeklyCleanup(): Promise<void> {
|
|
144
174
|
console.log('Performing weekly cleanup...');
|
|
145
175
|
// Your cleanup logic
|
|
146
176
|
}
|
|
147
177
|
|
|
148
|
-
@Interval(
|
|
149
|
-
scheduleId: 'health-check'
|
|
178
|
+
@Interval(INTERVAL_EXPRESSIONS.EVERY_5_MINUTES, {
|
|
179
|
+
scheduleId: 'health-check',
|
|
180
|
+
description: 'System health monitoring'
|
|
150
181
|
})
|
|
151
182
|
async performHealthCheck(): Promise<void> {
|
|
152
183
|
console.log('Performing health check...');
|
|
@@ -155,7 +186,46 @@ export class ScheduledService {
|
|
|
155
186
|
}
|
|
156
187
|
```
|
|
157
188
|
|
|
158
|
-
### 5.
|
|
189
|
+
### 5. Parameter Injection in Workflows
|
|
190
|
+
|
|
191
|
+
```typescript
|
|
192
|
+
// workflows/order.workflow.ts
|
|
193
|
+
import { Injectable } from '@nestjs/common';
|
|
194
|
+
import {
|
|
195
|
+
WorkflowParam,
|
|
196
|
+
WorkflowContext,
|
|
197
|
+
WorkflowId,
|
|
198
|
+
RunId,
|
|
199
|
+
TaskQueue
|
|
200
|
+
} from 'nestjs-temporal-core';
|
|
201
|
+
|
|
202
|
+
@Injectable()
|
|
203
|
+
export class OrderWorkflowController {
|
|
204
|
+
|
|
205
|
+
async processOrder(
|
|
206
|
+
@WorkflowParam(0) orderId: string,
|
|
207
|
+
@WorkflowParam(1) customerData: any,
|
|
208
|
+
@WorkflowId() workflowId: string,
|
|
209
|
+
@WorkflowContext() context: any
|
|
210
|
+
): Promise<void> {
|
|
211
|
+
console.log(`Processing order ${orderId} in workflow ${workflowId}`);
|
|
212
|
+
// Your workflow logic
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
@Signal('updateOrder')
|
|
216
|
+
async updateOrder(@WorkflowParam() updateData: any): Promise<void> {
|
|
217
|
+
// Handle order update signal
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
@Query('getOrderStatus')
|
|
221
|
+
getOrderStatus(@RunId() runId: string): string {
|
|
222
|
+
// Return current order status
|
|
223
|
+
return 'processing';
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
### 6. Use in Services
|
|
159
229
|
|
|
160
230
|
```typescript
|
|
161
231
|
// services/order.service.ts
|
|
@@ -194,6 +264,106 @@ export class OrderService {
|
|
|
194
264
|
}
|
|
195
265
|
```
|
|
196
266
|
|
|
267
|
+
## 🛠️ Utilities and Constants
|
|
268
|
+
|
|
269
|
+
NestJS Temporal Core provides comprehensive utilities and predefined constants for common use cases:
|
|
270
|
+
|
|
271
|
+
### Predefined Constants
|
|
272
|
+
|
|
273
|
+
```typescript
|
|
274
|
+
import {
|
|
275
|
+
CRON_EXPRESSIONS,
|
|
276
|
+
INTERVAL_EXPRESSIONS,
|
|
277
|
+
TIMEOUTS,
|
|
278
|
+
RETRY_POLICIES
|
|
279
|
+
} from 'nestjs-temporal-core';
|
|
280
|
+
|
|
281
|
+
// Cron expressions
|
|
282
|
+
console.log(CRON_EXPRESSIONS.DAILY_8AM); // '0 8 * * *'
|
|
283
|
+
console.log(CRON_EXPRESSIONS.WEEKLY_MONDAY_9AM); // '0 9 * * 1'
|
|
284
|
+
console.log(CRON_EXPRESSIONS.MONTHLY_FIRST); // '0 0 1 * *'
|
|
285
|
+
|
|
286
|
+
// Interval expressions
|
|
287
|
+
console.log(INTERVAL_EXPRESSIONS.EVERY_5_MINUTES); // '5m'
|
|
288
|
+
console.log(INTERVAL_EXPRESSIONS.EVERY_HOUR); // '1h'
|
|
289
|
+
console.log(INTERVAL_EXPRESSIONS.DAILY); // '24h'
|
|
290
|
+
|
|
291
|
+
// Timeout values
|
|
292
|
+
console.log(TIMEOUTS.ACTIVITY_SHORT); // '1m'
|
|
293
|
+
console.log(TIMEOUTS.WORKFLOW_MEDIUM); // '24h'
|
|
294
|
+
console.log(TIMEOUTS.CONNECTION_TIMEOUT); // '10s'
|
|
295
|
+
|
|
296
|
+
// Retry policies
|
|
297
|
+
console.log(RETRY_POLICIES.QUICK.maximumAttempts); // 3
|
|
298
|
+
console.log(RETRY_POLICIES.STANDARD.backoffCoefficient); // 2.0
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
### Validation Utilities
|
|
302
|
+
|
|
303
|
+
```typescript
|
|
304
|
+
import {
|
|
305
|
+
isValidCronExpression,
|
|
306
|
+
isValidIntervalExpression
|
|
307
|
+
} from 'nestjs-temporal-core';
|
|
308
|
+
|
|
309
|
+
// Validate cron expressions
|
|
310
|
+
console.log(isValidCronExpression('0 8 * * *')); // true
|
|
311
|
+
console.log(isValidCronExpression('invalid')); // false
|
|
312
|
+
|
|
313
|
+
// Validate interval expressions
|
|
314
|
+
console.log(isValidIntervalExpression('5m')); // true
|
|
315
|
+
console.log(isValidIntervalExpression('2h')); // true
|
|
316
|
+
console.log(isValidIntervalExpression('bad')); // false
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
### Metadata Utilities
|
|
320
|
+
|
|
321
|
+
```typescript
|
|
322
|
+
import {
|
|
323
|
+
isActivity,
|
|
324
|
+
getActivityMetadata,
|
|
325
|
+
isActivityMethod,
|
|
326
|
+
getActivityMethodMetadata,
|
|
327
|
+
getParameterMetadata
|
|
328
|
+
} from 'nestjs-temporal-core';
|
|
329
|
+
|
|
330
|
+
// Check if a class is marked as an Activity
|
|
331
|
+
@Activity({ taskQueue: 'my-queue' })
|
|
332
|
+
class MyActivity {}
|
|
333
|
+
|
|
334
|
+
console.log(isActivity(MyActivity)); // true
|
|
335
|
+
const metadata = getActivityMetadata(MyActivity);
|
|
336
|
+
console.log(metadata.taskQueue); // 'my-queue'
|
|
337
|
+
|
|
338
|
+
// Check method metadata
|
|
339
|
+
const methodMetadata = getActivityMethodMetadata(MyActivity.prototype.myMethod);
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
### Logging Configuration
|
|
343
|
+
|
|
344
|
+
```typescript
|
|
345
|
+
import { TemporalLogger, TemporalLoggerManager } from 'nestjs-temporal-core';
|
|
346
|
+
|
|
347
|
+
// Configure logging
|
|
348
|
+
const logger = TemporalLoggerManager.getInstance();
|
|
349
|
+
logger.configure({
|
|
350
|
+
enableLogger: true,
|
|
351
|
+
logLevel: 'info',
|
|
352
|
+
appName: 'My Temporal App'
|
|
353
|
+
});
|
|
354
|
+
|
|
355
|
+
// Use in your services
|
|
356
|
+
@Injectable()
|
|
357
|
+
export class MyService {
|
|
358
|
+
private readonly logger = new TemporalLogger(MyService.name);
|
|
359
|
+
|
|
360
|
+
async doSomething() {
|
|
361
|
+
this.logger.info('Starting operation');
|
|
362
|
+
this.logger.error('Something went wrong', { context: 'additional data' });
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
```
|
|
366
|
+
|
|
197
367
|
## 🏗️ Integration Patterns
|
|
198
368
|
|
|
199
369
|
### Client-Only Integration
|
|
@@ -341,6 +511,143 @@ const productionConfig = {
|
|
|
341
511
|
};
|
|
342
512
|
```
|
|
343
513
|
|
|
514
|
+
## 📝 Logger Configuration
|
|
515
|
+
|
|
516
|
+
Control logging behavior across all Temporal modules with configurable logger settings:
|
|
517
|
+
|
|
518
|
+
### Basic Logger Setup
|
|
519
|
+
|
|
520
|
+
```typescript
|
|
521
|
+
// Enable/disable logging and set log levels
|
|
522
|
+
TemporalModule.register({
|
|
523
|
+
connection: {
|
|
524
|
+
address: 'localhost:7233',
|
|
525
|
+
namespace: 'default'
|
|
526
|
+
},
|
|
527
|
+
taskQueue: 'main-queue',
|
|
528
|
+
// Logger configuration
|
|
529
|
+
enableLogger: true, // Enable/disable all logging
|
|
530
|
+
logLevel: 'info', // Set log level: 'error' | 'warn' | 'info' | 'debug' | 'verbose'
|
|
531
|
+
worker: {
|
|
532
|
+
workflowsPath: './dist/workflows',
|
|
533
|
+
activityClasses: [EmailActivities]
|
|
534
|
+
}
|
|
535
|
+
})
|
|
536
|
+
```
|
|
537
|
+
|
|
538
|
+
### Environment-Based Logger Configuration
|
|
539
|
+
|
|
540
|
+
```typescript
|
|
541
|
+
// Different log levels for different environments
|
|
542
|
+
const loggerConfig = {
|
|
543
|
+
development: {
|
|
544
|
+
enableLogger: true,
|
|
545
|
+
logLevel: 'debug' as const // Show all logs in development
|
|
546
|
+
},
|
|
547
|
+
production: {
|
|
548
|
+
enableLogger: true,
|
|
549
|
+
logLevel: 'warn' as const // Only warnings and errors in production
|
|
550
|
+
},
|
|
551
|
+
testing: {
|
|
552
|
+
enableLogger: false // Disable logging during tests
|
|
553
|
+
}
|
|
554
|
+
};
|
|
555
|
+
|
|
556
|
+
TemporalModule.register({
|
|
557
|
+
connection: { address: 'localhost:7233' },
|
|
558
|
+
taskQueue: 'main-queue',
|
|
559
|
+
...loggerConfig[process.env.NODE_ENV || 'development'],
|
|
560
|
+
worker: {
|
|
561
|
+
workflowsPath: './dist/workflows'
|
|
562
|
+
}
|
|
563
|
+
})
|
|
564
|
+
```
|
|
565
|
+
|
|
566
|
+
### Individual Module Logger Configuration
|
|
567
|
+
|
|
568
|
+
Configure logging for specific modules:
|
|
569
|
+
|
|
570
|
+
```typescript
|
|
571
|
+
// Activity Module with custom logging
|
|
572
|
+
TemporalActivityModule.forRoot({
|
|
573
|
+
activityClasses: [EmailActivities],
|
|
574
|
+
enableLogger: true,
|
|
575
|
+
logLevel: 'debug'
|
|
576
|
+
})
|
|
577
|
+
|
|
578
|
+
// Schedules Module with minimal logging
|
|
579
|
+
TemporalSchedulesModule.forRoot({
|
|
580
|
+
autoStart: true,
|
|
581
|
+
enableLogger: true,
|
|
582
|
+
logLevel: 'error' // Only show errors
|
|
583
|
+
})
|
|
584
|
+
|
|
585
|
+
// Client Module with no logging
|
|
586
|
+
TemporalClientModule.forRoot({
|
|
587
|
+
connection: { address: 'localhost:7233' },
|
|
588
|
+
enableLogger: false
|
|
589
|
+
})
|
|
590
|
+
```
|
|
591
|
+
|
|
592
|
+
### Log Level Hierarchy
|
|
593
|
+
|
|
594
|
+
The logger follows a hierarchical structure where each level includes all levels above it:
|
|
595
|
+
|
|
596
|
+
- **`error`**: Only critical errors
|
|
597
|
+
- **`warn`**: Errors + warnings
|
|
598
|
+
- **`info`**: Errors + warnings + informational messages (default)
|
|
599
|
+
- **`debug`**: Errors + warnings + info + debug information
|
|
600
|
+
- **`verbose`**: All messages including verbose details
|
|
601
|
+
|
|
602
|
+
### Async Configuration with Logger
|
|
603
|
+
|
|
604
|
+
```typescript
|
|
605
|
+
TemporalModule.registerAsync({
|
|
606
|
+
imports: [ConfigModule],
|
|
607
|
+
useFactory: (config: ConfigService) => ({
|
|
608
|
+
connection: {
|
|
609
|
+
address: config.get('TEMPORAL_ADDRESS'),
|
|
610
|
+
namespace: config.get('TEMPORAL_NAMESPACE')
|
|
611
|
+
},
|
|
612
|
+
taskQueue: config.get('TEMPORAL_TASK_QUEUE'),
|
|
613
|
+
// Dynamic logger configuration
|
|
614
|
+
enableLogger: config.get('TEMPORAL_LOGGING_ENABLED', 'true') === 'true',
|
|
615
|
+
logLevel: config.get('TEMPORAL_LOG_LEVEL', 'info'),
|
|
616
|
+
worker: {
|
|
617
|
+
workflowsPath: './dist/workflows'
|
|
618
|
+
}
|
|
619
|
+
}),
|
|
620
|
+
inject: [ConfigService]
|
|
621
|
+
})
|
|
622
|
+
```
|
|
623
|
+
|
|
624
|
+
### Logger Examples
|
|
625
|
+
|
|
626
|
+
```typescript
|
|
627
|
+
// Silent mode - no logs
|
|
628
|
+
{
|
|
629
|
+
enableLogger: false
|
|
630
|
+
}
|
|
631
|
+
|
|
632
|
+
// Error only - for production monitoring
|
|
633
|
+
{
|
|
634
|
+
enableLogger: true,
|
|
635
|
+
logLevel: 'error'
|
|
636
|
+
}
|
|
637
|
+
|
|
638
|
+
// Development mode - detailed logging
|
|
639
|
+
{
|
|
640
|
+
enableLogger: true,
|
|
641
|
+
logLevel: 'debug'
|
|
642
|
+
}
|
|
643
|
+
|
|
644
|
+
// Verbose mode - maximum detail for troubleshooting
|
|
645
|
+
{
|
|
646
|
+
enableLogger: true,
|
|
647
|
+
logLevel: 'verbose'
|
|
648
|
+
}
|
|
649
|
+
```
|
|
650
|
+
|
|
344
651
|
## 📊 Health Monitoring
|
|
345
652
|
|
|
346
653
|
Built-in health monitoring for production environments:
|
|
@@ -512,29 +819,67 @@ TemporalModule.register({
|
|
|
512
819
|
|
|
513
820
|
## 📚 API Reference
|
|
514
821
|
|
|
515
|
-
### Decorators
|
|
822
|
+
### Core Decorators
|
|
516
823
|
|
|
517
|
-
|
|
518
|
-
- `@
|
|
519
|
-
- `@
|
|
824
|
+
#### Activity Decorators
|
|
825
|
+
- `@Activity(options?)` - Mark a class as containing Temporal activities
|
|
826
|
+
- `@ActivityMethod(nameOrOptions?)` - Define an activity method with optional configuration
|
|
827
|
+
|
|
828
|
+
#### Scheduling Decorators
|
|
829
|
+
- `@Scheduled(options)` - Schedule a workflow with comprehensive options
|
|
520
830
|
- `@Cron(expression, options?)` - Schedule using cron expression
|
|
521
|
-
- `@Interval(interval, options?)` - Schedule using interval
|
|
831
|
+
- `@Interval(interval, options?)` - Schedule using interval expression
|
|
832
|
+
|
|
833
|
+
#### Workflow Decorators
|
|
834
|
+
- `@Signal(nameOrOptions?)` - Mark a method as a signal handler
|
|
835
|
+
- `@Query(nameOrOptions?)` - Mark a method as a query handler
|
|
836
|
+
|
|
837
|
+
#### Parameter Injection Decorators
|
|
838
|
+
- `@WorkflowParam(index?)` - Extract workflow parameters
|
|
839
|
+
- `@WorkflowContext()` - Inject workflow execution context
|
|
840
|
+
- `@WorkflowId()` - Inject workflow ID
|
|
841
|
+
- `@RunId()` - Inject run ID
|
|
842
|
+
- `@TaskQueue()` - Inject task queue name
|
|
843
|
+
|
|
844
|
+
### Core Services
|
|
845
|
+
|
|
846
|
+
- `TemporalService` - Main unified service for all Temporal operations
|
|
847
|
+
- `TemporalClientService` - Client-only operations (starting workflows, signals, queries)
|
|
848
|
+
- `TemporalActivityService` - Activity discovery and management
|
|
849
|
+
- `TemporalSchedulesService` - Schedule creation and management
|
|
850
|
+
- `TemporalWorkerManagerService` - Worker lifecycle and health monitoring
|
|
851
|
+
|
|
852
|
+
### Utility Functions
|
|
853
|
+
|
|
854
|
+
#### Validation
|
|
855
|
+
- `isValidCronExpression(cron: string): boolean` - Validate cron format
|
|
856
|
+
- `isValidIntervalExpression(interval: string): boolean` - Validate interval format
|
|
857
|
+
|
|
858
|
+
#### Metadata
|
|
859
|
+
- `isActivity(target: object): boolean` - Check if class is an activity
|
|
860
|
+
- `getActivityMetadata(target: object)` - Get activity metadata
|
|
861
|
+
- `isActivityMethod(target: object): boolean` - Check if method is activity method
|
|
862
|
+
- `getActivityMethodMetadata(target: object)` - Get activity method metadata
|
|
863
|
+
- `getParameterMetadata(target: object, propertyKey: string | symbol)` - Get parameter metadata
|
|
864
|
+
|
|
865
|
+
#### Logging
|
|
866
|
+
- `TemporalLogger` - Enhanced logger with context support
|
|
867
|
+
- `TemporalLoggerManager` - Global logger configuration
|
|
522
868
|
|
|
523
|
-
###
|
|
869
|
+
### Predefined Constants
|
|
524
870
|
|
|
525
|
-
|
|
526
|
-
- `
|
|
527
|
-
- `
|
|
528
|
-
- `TemporalSchedulesService` - Schedule management
|
|
529
|
-
- `TemporalWorkerManagerService` - Worker lifecycle
|
|
871
|
+
#### Schedule Expressions
|
|
872
|
+
- `CRON_EXPRESSIONS` - Common cron patterns (DAILY_8AM, WEEKLY_MONDAY_9AM, etc.)
|
|
873
|
+
- `INTERVAL_EXPRESSIONS` - Common interval patterns (EVERY_5_MINUTES, EVERY_HOUR, etc.)
|
|
530
874
|
|
|
531
|
-
|
|
875
|
+
#### Configuration Presets
|
|
876
|
+
- `TIMEOUTS` - Common timeout values for different operation types
|
|
877
|
+
- `RETRY_POLICIES` - Predefined retry policies (QUICK, STANDARD, AGGRESSIVE)
|
|
532
878
|
|
|
533
|
-
|
|
534
|
-
- `
|
|
535
|
-
- `
|
|
536
|
-
- `
|
|
537
|
-
- `TIMEOUTS` - Common timeout values
|
|
879
|
+
#### Module Tokens
|
|
880
|
+
- `TEMPORAL_MODULE_OPTIONS` - Main module configuration token
|
|
881
|
+
- `TEMPORAL_CLIENT` - Client instance injection token
|
|
882
|
+
- `TEMPORAL_CONNECTION` - Connection instance injection token
|
|
538
883
|
|
|
539
884
|
## 🤝 Contributing
|
|
540
885
|
|
|
@@ -552,4 +897,4 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
|
|
|
552
897
|
|
|
553
898
|
---
|
|
554
899
|
|
|
555
|
-
Built with ❤️ for the NestJS and Temporal communities
|
|
900
|
+
Built with ❤️ for the NestJS and Temporal communities
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { DynamicModule } from '@nestjs/common';
|
|
1
|
+
import { DynamicModule, Type } from '@nestjs/common';
|
|
2
2
|
import { ActivityModuleOptions } from '../interfaces';
|
|
3
3
|
export declare class TemporalActivityModule {
|
|
4
4
|
static forRoot(options?: ActivityModuleOptions): DynamicModule;
|
|
5
5
|
static forRootAsync(options: {
|
|
6
|
-
imports?:
|
|
7
|
-
useFactory: (...args:
|
|
8
|
-
inject?:
|
|
6
|
+
imports?: (Type<unknown> | DynamicModule)[];
|
|
7
|
+
useFactory: (...args: unknown[]) => Promise<ActivityModuleOptions> | ActivityModuleOptions;
|
|
8
|
+
inject?: string[];
|
|
9
9
|
global?: boolean;
|
|
10
10
|
}): DynamicModule;
|
|
11
11
|
}
|
|
@@ -11,6 +11,7 @@ exports.TemporalActivityModule = void 0;
|
|
|
11
11
|
const common_1 = require("@nestjs/common");
|
|
12
12
|
const core_1 = require("@nestjs/core");
|
|
13
13
|
const temporal_activity_service_1 = require("./temporal-activity.service");
|
|
14
|
+
const constants_1 = require("../constants");
|
|
14
15
|
let TemporalActivityModule = TemporalActivityModule_1 = class TemporalActivityModule {
|
|
15
16
|
static forRoot(options = {}) {
|
|
16
17
|
return {
|
|
@@ -18,7 +19,7 @@ let TemporalActivityModule = TemporalActivityModule_1 = class TemporalActivityMo
|
|
|
18
19
|
imports: [core_1.DiscoveryModule],
|
|
19
20
|
providers: [
|
|
20
21
|
{
|
|
21
|
-
provide:
|
|
22
|
+
provide: constants_1.ACTIVITY_MODULE_OPTIONS,
|
|
22
23
|
useValue: options,
|
|
23
24
|
},
|
|
24
25
|
temporal_activity_service_1.TemporalActivityService,
|
|
@@ -33,7 +34,7 @@ let TemporalActivityModule = TemporalActivityModule_1 = class TemporalActivityMo
|
|
|
33
34
|
imports: [core_1.DiscoveryModule, ...(options.imports || [])],
|
|
34
35
|
providers: [
|
|
35
36
|
{
|
|
36
|
-
provide:
|
|
37
|
+
provide: constants_1.ACTIVITY_MODULE_OPTIONS,
|
|
37
38
|
useFactory: options.useFactory,
|
|
38
39
|
inject: options.inject || [],
|
|
39
40
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"temporal-activity.module.js","sourceRoot":"","sources":["../../src/activity/temporal-activity.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"temporal-activity.module.js","sourceRoot":"","sources":["../../src/activity/temporal-activity.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA6D;AAC7D,uCAA+C;AAC/C,2EAAsE;AAEtE,4CAAuD;AAmChD,IAAM,sBAAsB,8BAA5B,MAAM,sBAAsB;IAI/B,MAAM,CAAC,OAAO,CAAC,UAAiC,EAAE;QAC9C,OAAO;YACH,MAAM,EAAE,wBAAsB;YAC9B,OAAO,EAAE,CAAC,sBAAe,CAAC;YAC1B,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,mCAAuB;oBAChC,QAAQ,EAAE,OAAO;iBACpB;gBACD,mDAAuB;aAC1B;YACD,OAAO,EAAE,CAAC,mDAAuB,CAAC;YAClC,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,KAAK;SACnC,CAAC;IACN,CAAC;IAKD,MAAM,CAAC,YAAY,CAAC,OAKnB;QACG,OAAO;YACH,MAAM,EAAE,wBAAsB;YAC9B,OAAO,EAAE,CAAC,sBAAe,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YACtD,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,mCAAuB;oBAChC,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;iBAC/B;gBACD,mDAAuB;aAC1B;YACD,OAAO,EAAE,CAAC,mDAAuB,CAAC;YAClC,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,KAAK;SACnC,CAAC;IACN,CAAC;CACJ,CAAA;AA5CY,wDAAsB;iCAAtB,sBAAsB;IADlC,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,sBAAsB,CA4ClC"}
|
|
@@ -17,14 +17,16 @@ exports.TemporalActivityService = void 0;
|
|
|
17
17
|
const common_1 = require("@nestjs/common");
|
|
18
18
|
const core_1 = require("@nestjs/core");
|
|
19
19
|
const temporal_metadata_accessor_1 = require("../worker/temporal-metadata.accessor");
|
|
20
|
+
const constants_1 = require("../constants");
|
|
21
|
+
const logger_1 = require("../utils/logger");
|
|
20
22
|
let TemporalActivityService = TemporalActivityService_1 = class TemporalActivityService {
|
|
21
23
|
constructor(options, discoveryService, metadataAccessor) {
|
|
22
24
|
this.options = options;
|
|
23
25
|
this.discoveryService = discoveryService;
|
|
24
26
|
this.metadataAccessor = metadataAccessor;
|
|
25
|
-
this.logger = new common_1.Logger(TemporalActivityService_1.name);
|
|
26
27
|
this.discoveredActivities = new Map();
|
|
27
28
|
this.activityHandlers = new Map();
|
|
29
|
+
this.logger = (0, logger_1.createLogger)(TemporalActivityService_1.name);
|
|
28
30
|
}
|
|
29
31
|
async onModuleInit() {
|
|
30
32
|
await this.discoverActivities();
|
|
@@ -83,7 +85,7 @@ let TemporalActivityService = TemporalActivityService_1 = class TemporalActivity
|
|
|
83
85
|
return {
|
|
84
86
|
className,
|
|
85
87
|
instance,
|
|
86
|
-
targetClass,
|
|
88
|
+
targetClass: targetClass,
|
|
87
89
|
methods: methodInfos,
|
|
88
90
|
totalMethods: methodInfos.length,
|
|
89
91
|
};
|
|
@@ -183,7 +185,7 @@ let TemporalActivityService = TemporalActivityService_1 = class TemporalActivity
|
|
|
183
185
|
exports.TemporalActivityService = TemporalActivityService;
|
|
184
186
|
exports.TemporalActivityService = TemporalActivityService = TemporalActivityService_1 = __decorate([
|
|
185
187
|
(0, common_1.Injectable)(),
|
|
186
|
-
__param(0, (0, common_1.Inject)(
|
|
188
|
+
__param(0, (0, common_1.Inject)(constants_1.ACTIVITY_MODULE_OPTIONS)),
|
|
187
189
|
__metadata("design:paramtypes", [Object, core_1.DiscoveryService,
|
|
188
190
|
temporal_metadata_accessor_1.TemporalMetadataAccessor])
|
|
189
191
|
], TemporalActivityService);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"temporal-activity.service.js","sourceRoot":"","sources":["../../src/activity/temporal-activity.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"temporal-activity.service.js","sourceRoot":"","sources":["../../src/activity/temporal-activity.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DynamicModule } from '@nestjs/common';
|
|
2
2
|
import { TemporalAsyncOptions, TemporalOptions } from '../interfaces';
|
|
3
3
|
export declare class TemporalClientModule {
|
|
4
|
-
private static
|
|
4
|
+
private static createModuleLogger;
|
|
5
5
|
static register(options: TemporalOptions): DynamicModule;
|
|
6
6
|
static registerAsync(options: TemporalAsyncOptions): DynamicModule;
|
|
7
7
|
static forClient(options: {
|