chat-flow-ardymalihi 3.0.0 → 3.0.3
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/package.json +9 -1
- package/dist/adapters/db/InMemorySessionRepository.js +0 -15
- package/dist/adapters/db/RedisSessionRepository.js +0 -41
- package/dist/adapters/intent/IntentMatcher.d.ts +0 -41
- package/dist/adapters/intent/IntentMatcher.d.ts.map +0 -1
- package/dist/adapters/intent/IntentMatcher.js +0 -167
- package/dist/adapters/intent/IntentMatcher.js.map +0 -1
- package/dist/adapters/intent/IntentService.d.ts +0 -26
- package/dist/adapters/intent/IntentService.d.ts.map +0 -1
- package/dist/adapters/intent/IntentService.js +0 -65
- package/dist/adapters/intent/IntentService.js.map +0 -1
- package/dist/adapters/intent/MockIntentAdapter.js +0 -29
- package/dist/adapters/intent/MockIntentService.d.ts +0 -7
- package/dist/adapters/intent/MockIntentService.d.ts.map +0 -1
- package/dist/adapters/intent/MockIntentService.js +0 -36
- package/dist/adapters/intent/MockIntentService.js.map +0 -1
- package/dist/adapters/llm/GeminiLLMAdapter.d.ts +0 -10
- package/dist/adapters/llm/GeminiLLMAdapter.d.ts.map +0 -1
- package/dist/adapters/llm/GeminiLLMAdapter.js +0 -102
- package/dist/adapters/llm/GeminiLLMAdapter.js.map +0 -1
- package/dist/adapters/llm/MockLLMAdapter.d.ts +0 -5
- package/dist/adapters/llm/MockLLMAdapter.d.ts.map +0 -1
- package/dist/adapters/llm/MockLLMAdapter.js +0 -31
- package/dist/adapters/llm/MockLLMAdapter.js.map +0 -1
- package/dist/adapters/llm/OllamaLLMAdapter.d.ts +0 -9
- package/dist/adapters/llm/OllamaLLMAdapter.d.ts.map +0 -1
- package/dist/adapters/llm/OllamaLLMAdapter.js +0 -74
- package/dist/adapters/llm/OllamaLLMAdapter.js.map +0 -1
- package/dist/adapters/logger/ConsoleLogger.d.ts +0 -12
- package/dist/adapters/logger/ConsoleLogger.d.ts.map +0 -1
- package/dist/adapters/logger/ConsoleLogger.js +0 -37
- package/dist/adapters/logger/ConsoleLogger.js.map +0 -1
- package/dist/adapters/memory/InMemorySessionRepository.js +0 -15
- package/dist/adapters/redis/RedisSessionRepository.js +0 -41
- package/dist/adapters/repository/InMemoryRepository.d.ts +0 -46
- package/dist/adapters/repository/InMemoryRepository.d.ts.map +0 -1
- package/dist/adapters/repository/InMemoryRepository.js +0 -235
- package/dist/adapters/repository/InMemoryRepository.js.map +0 -1
- package/dist/adapters/repository/IntentRepository.d.ts +0 -15
- package/dist/adapters/repository/IntentRepository.d.ts.map +0 -1
- package/dist/adapters/repository/IntentRepository.js +0 -28
- package/dist/adapters/repository/IntentRepository.js.map +0 -1
- package/dist/adapters/repository/RedisRepository.d.ts +0 -63
- package/dist/adapters/repository/RedisRepository.d.ts.map +0 -1
- package/dist/adapters/repository/RedisRepository.js +0 -586
- package/dist/adapters/repository/RedisRepository.js.map +0 -1
- package/dist/adapters/storage/RedisAudioStorageAdapter.d.ts +0 -33
- package/dist/adapters/storage/RedisAudioStorageAdapter.d.ts.map +0 -1
- package/dist/adapters/storage/RedisAudioStorageAdapter.js +0 -121
- package/dist/adapters/storage/RedisAudioStorageAdapter.js.map +0 -1
- package/dist/adapters/storage/RedisBufferStorageAdapter.d.ts +0 -14
- package/dist/adapters/storage/RedisBufferStorageAdapter.d.ts.map +0 -1
- package/dist/adapters/storage/RedisBufferStorageAdapter.js +0 -94
- package/dist/adapters/storage/RedisBufferStorageAdapter.js.map +0 -1
- package/dist/adapters/voice/ElevenLabsVoiceAdapter.d.ts +0 -29
- package/dist/adapters/voice/ElevenLabsVoiceAdapter.d.ts.map +0 -1
- package/dist/adapters/voice/ElevenLabsVoiceAdapter.js +0 -75
- package/dist/adapters/voice/ElevenLabsVoiceAdapter.js.map +0 -1
- package/dist/adapters/voice/GeminiMultimodalLiveAdapter.d.ts +0 -77
- package/dist/adapters/voice/GeminiMultimodalLiveAdapter.d.ts.map +0 -1
- package/dist/adapters/voice/GeminiMultimodalLiveAdapter.js +0 -187
- package/dist/adapters/voice/GeminiMultimodalLiveAdapter.js.map +0 -1
- package/dist/adapters/voice/GeminiVoiceAdapter.d.ts +0 -36
- package/dist/adapters/voice/GeminiVoiceAdapter.d.ts.map +0 -1
- package/dist/adapters/voice/GeminiVoiceAdapter.js +0 -134
- package/dist/adapters/voice/GeminiVoiceAdapter.js.map +0 -1
- package/dist/adapters/voice/GoogleTTSAdapter.d.ts +0 -61
- package/dist/adapters/voice/GoogleTTSAdapter.d.ts.map +0 -1
- package/dist/adapters/voice/GoogleTTSAdapter.js +0 -165
- package/dist/adapters/voice/GoogleTTSAdapter.js.map +0 -1
- package/dist/adapters/voice/GoogleVoiceAdapter.d.ts +0 -33
- package/dist/adapters/voice/GoogleVoiceAdapter.d.ts.map +0 -1
- package/dist/adapters/voice/GoogleVoiceAdapter.js +0 -155
- package/dist/adapters/voice/GoogleVoiceAdapter.js.map +0 -1
- package/dist/adapters/voice/HybridVoiceAdapter.d.ts +0 -54
- package/dist/adapters/voice/HybridVoiceAdapter.d.ts.map +0 -1
- package/dist/adapters/voice/HybridVoiceAdapter.js +0 -102
- package/dist/adapters/voice/HybridVoiceAdapter.js.map +0 -1
- package/dist/adapters/voice/LanguageVoiceMapper.d.ts +0 -60
- package/dist/adapters/voice/LanguageVoiceMapper.d.ts.map +0 -1
- package/dist/adapters/voice/LanguageVoiceMapper.js +0 -130
- package/dist/adapters/voice/LanguageVoiceMapper.js.map +0 -1
- package/dist/adapters/voice/VertexVoiceAdapter.d.ts +0 -32
- package/dist/adapters/voice/VertexVoiceAdapter.d.ts.map +0 -1
- package/dist/adapters/voice/VertexVoiceAdapter.js +0 -179
- package/dist/adapters/voice/VertexVoiceAdapter.js.map +0 -1
- package/dist/adapters/webhook/WebhookService.d.ts +0 -47
- package/dist/adapters/webhook/WebhookService.d.ts.map +0 -1
- package/dist/adapters/webhook/WebhookService.js +0 -265
- package/dist/adapters/webhook/WebhookService.js.map +0 -1
- package/dist/adapters/workflow/MockWorkflowAdapter.d.ts +0 -5
- package/dist/adapters/workflow/MockWorkflowAdapter.d.ts.map +0 -1
- package/dist/adapters/workflow/MockWorkflowAdapter.js +0 -173
- package/dist/adapters/workflow/MockWorkflowAdapter.js.map +0 -1
- package/dist/adapters/workflow/WorkflowAdapter.d.ts +0 -55
- package/dist/adapters/workflow/WorkflowAdapter.d.ts.map +0 -1
- package/dist/adapters/workflow/WorkflowAdapter.js +0 -242
- package/dist/adapters/workflow/WorkflowAdapter.js.map +0 -1
- package/dist/adapters/workflow/actions/getSupportHoursAction.d.ts +0 -10
- package/dist/adapters/workflow/actions/getSupportHoursAction.d.ts.map +0 -1
- package/dist/adapters/workflow/actions/getSupportHoursAction.js +0 -33
- package/dist/adapters/workflow/actions/getSupportHoursAction.js.map +0 -1
- package/dist/adapters/workflow/actions/index.d.ts +0 -6
- package/dist/adapters/workflow/actions/index.d.ts.map +0 -1
- package/dist/adapters/workflow/actions/index.js +0 -22
- package/dist/adapters/workflow/actions/index.js.map +0 -1
- package/dist/adapters/workflow/actions/pushOutputResultAction.d.ts +0 -11
- package/dist/adapters/workflow/actions/pushOutputResultAction.d.ts.map +0 -1
- package/dist/adapters/workflow/actions/pushOutputResultAction.js +0 -31
- package/dist/adapters/workflow/actions/pushOutputResultAction.js.map +0 -1
- package/dist/adapters/workflow/actions/setWorkflowMessageAction.d.ts +0 -12
- package/dist/adapters/workflow/actions/setWorkflowMessageAction.d.ts.map +0 -1
- package/dist/adapters/workflow/actions/setWorkflowMessageAction.js +0 -32
- package/dist/adapters/workflow/actions/setWorkflowMessageAction.js.map +0 -1
- package/dist/adapters/workflow/engine/constants.d.ts +0 -3
- package/dist/adapters/workflow/engine/constants.d.ts.map +0 -1
- package/dist/adapters/workflow/engine/constants.js +0 -6
- package/dist/adapters/workflow/engine/constants.js.map +0 -1
- package/dist/adapters/workflow/engine/engine.d.ts +0 -32
- package/dist/adapters/workflow/engine/engine.d.ts.map +0 -1
- package/dist/adapters/workflow/engine/engine.js +0 -623
- package/dist/adapters/workflow/engine/engine.js.map +0 -1
- package/dist/adapters/workflow/engine/event-registry.d.ts +0 -12
- package/dist/adapters/workflow/engine/event-registry.d.ts.map +0 -1
- package/dist/adapters/workflow/engine/event-registry.js +0 -33
- package/dist/adapters/workflow/engine/event-registry.js.map +0 -1
- package/dist/adapters/workflow/engine/interpolator.d.ts +0 -11
- package/dist/adapters/workflow/engine/interpolator.d.ts.map +0 -1
- package/dist/adapters/workflow/engine/interpolator.js +0 -93
- package/dist/adapters/workflow/engine/interpolator.js.map +0 -1
- package/dist/adapters/workflow/engine/registry.d.ts +0 -12
- package/dist/adapters/workflow/engine/registry.d.ts.map +0 -1
- package/dist/adapters/workflow/engine/registry.js +0 -39
- package/dist/adapters/workflow/engine/registry.js.map +0 -1
- package/dist/adapters/workflow/engine/template-registry.d.ts +0 -60
- package/dist/adapters/workflow/engine/template-registry.d.ts.map +0 -1
- package/dist/adapters/workflow/engine/template-registry.js +0 -92
- package/dist/adapters/workflow/engine/template-registry.js.map +0 -1
- package/dist/adapters/workflow/engine/types.d.ts +0 -182
- package/dist/adapters/workflow/engine/types.d.ts.map +0 -1
- package/dist/adapters/workflow/engine/types.js +0 -3
- package/dist/adapters/workflow/engine/types.js.map +0 -1
- package/dist/adapters/workflow/engine/utils/format-utils.d.ts +0 -43
- package/dist/adapters/workflow/engine/utils/format-utils.d.ts.map +0 -1
- package/dist/adapters/workflow/engine/utils/format-utils.js +0 -137
- package/dist/adapters/workflow/engine/utils/format-utils.js.map +0 -1
- package/dist/adapters/workflow/engine/utils/layout-calculator.d.ts +0 -7
- package/dist/adapters/workflow/engine/utils/layout-calculator.d.ts.map +0 -1
- package/dist/adapters/workflow/engine/utils/layout-calculator.js +0 -87
- package/dist/adapters/workflow/engine/utils/layout-calculator.js.map +0 -1
- package/dist/adapters/workflow/engine/utils/slugify.d.ts +0 -2
- package/dist/adapters/workflow/engine/utils/slugify.d.ts.map +0 -1
- package/dist/adapters/workflow/engine/utils/slugify.js +0 -41
- package/dist/adapters/workflow/engine/utils/slugify.js.map +0 -1
- package/dist/adapters/workflow/engine/validator.d.ts +0 -9
- package/dist/adapters/workflow/engine/validator.d.ts.map +0 -1
- package/dist/adapters/workflow/engine/validator.js +0 -425
- package/dist/adapters/workflow/engine/validator.js.map +0 -1
- package/dist/application/ConversationSession.d.ts +0 -23
- package/dist/application/ConversationSession.d.ts.map +0 -1
- package/dist/application/ConversationSession.js +0 -83
- package/dist/application/ConversationSession.js.map +0 -1
- package/dist/application/Message.d.ts +0 -11
- package/dist/application/Message.d.ts.map +0 -1
- package/dist/application/Message.js +0 -30
- package/dist/application/Message.js.map +0 -1
- package/dist/application/Orchestrator.d.ts +0 -18
- package/dist/application/Orchestrator.d.ts.map +0 -1
- package/dist/application/Orchestrator.js +0 -80
- package/dist/application/Orchestrator.js.map +0 -1
- package/dist/application/SessionState.js +0 -2
- package/dist/application/usecases/CreateSession.js +0 -20
- package/dist/application/usecases/HandleUserMessage.js +0 -69
- package/dist/config/ChatFlowConfig.d.ts +0 -66
- package/dist/config/ChatFlowConfig.d.ts.map +0 -1
- package/dist/config/ChatFlowConfig.js +0 -54
- package/dist/config/ChatFlowConfig.js.map +0 -1
- package/dist/config/index.d.ts +0 -2
- package/dist/config/index.d.ts.map +0 -1
- package/dist/config/index.js +0 -7
- package/dist/config/index.js.map +0 -1
- package/dist/core/entities/ConversationSession.d.ts +0 -58
- package/dist/core/entities/ConversationSession.d.ts.map +0 -1
- package/dist/core/entities/ConversationSession.js +0 -160
- package/dist/core/entities/ConversationSession.js.map +0 -1
- package/dist/core/entities/Message.d.ts +0 -14
- package/dist/core/entities/Message.d.ts.map +0 -1
- package/dist/core/entities/Message.js +0 -32
- package/dist/core/entities/Message.js.map +0 -1
- package/dist/core/errors/ChatFlowError.d.ts +0 -71
- package/dist/core/errors/ChatFlowError.d.ts.map +0 -1
- package/dist/core/errors/ChatFlowError.js +0 -108
- package/dist/core/errors/ChatFlowError.js.map +0 -1
- package/dist/core/errors/index.d.ts +0 -2
- package/dist/core/errors/index.d.ts.map +0 -1
- package/dist/core/errors/index.js +0 -15
- package/dist/core/errors/index.js.map +0 -1
- package/dist/core/utils/AudioStreamBuffer.d.ts +0 -33
- package/dist/core/utils/AudioStreamBuffer.d.ts.map +0 -1
- package/dist/core/utils/AudioStreamBuffer.js +0 -55
- package/dist/core/utils/AudioStreamBuffer.js.map +0 -1
- package/dist/core/utils/AudioUtils.d.ts +0 -41
- package/dist/core/utils/AudioUtils.d.ts.map +0 -1
- package/dist/core/utils/AudioUtils.js +0 -188
- package/dist/core/utils/AudioUtils.js.map +0 -1
- package/dist/core/utils/LanguageDetector.d.ts +0 -52
- package/dist/core/utils/LanguageDetector.d.ts.map +0 -1
- package/dist/core/utils/LanguageDetector.js +0 -173
- package/dist/core/utils/LanguageDetector.js.map +0 -1
- package/dist/core/utils/WavUtils.d.ts +0 -14
- package/dist/core/utils/WavUtils.d.ts.map +0 -1
- package/dist/core/utils/WavUtils.js +0 -37
- package/dist/core/utils/WavUtils.js.map +0 -1
- package/dist/db/InMemoryRepository.d.ts +0 -15
- package/dist/db/InMemoryRepository.d.ts.map +0 -1
- package/dist/db/InMemoryRepository.js +0 -41
- package/dist/db/InMemoryRepository.js.map +0 -1
- package/dist/db/RedisRepository.d.ts +0 -16
- package/dist/db/RedisRepository.d.ts.map +0 -1
- package/dist/db/RedisRepository.js +0 -87
- package/dist/db/RedisRepository.js.map +0 -1
- package/dist/demo/cli-demo.d.ts +0 -2
- package/dist/demo/cli-demo.d.ts.map +0 -1
- package/dist/demo/cli-demo.js +0 -146
- package/dist/demo/cli-demo.js.map +0 -1
- package/dist/demo/console-chat.d.ts +0 -2
- package/dist/demo/console-chat.d.ts.map +0 -1
- package/dist/demo/console-chat.js +0 -148
- package/dist/demo/console-chat.js.map +0 -1
- package/dist/demo/interactive-voice-chat.d.ts +0 -2
- package/dist/demo/interactive-voice-chat.d.ts.map +0 -1
- package/dist/demo/interactive-voice-chat.js +0 -180
- package/dist/demo/interactive-voice-chat.js.map +0 -1
- package/dist/demo/voice-demo.d.ts +0 -2
- package/dist/demo/voice-demo.d.ts.map +0 -1
- package/dist/demo/voice-demo.js +0 -188
- package/dist/demo/voice-demo.js.map +0 -1
- package/dist/domain/conversation/ConversationSession.js +0 -82
- package/dist/domain/conversation/Message.js +0 -33
- package/dist/domain/conversation/SessionState.js +0 -10
- package/dist/index.d.ts +0 -26
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -76
- package/dist/index.js.map +0 -1
- package/dist/intent/IntentService.d.ts +0 -17
- package/dist/intent/IntentService.d.ts.map +0 -1
- package/dist/intent/IntentService.js +0 -57
- package/dist/intent/IntentService.js.map +0 -1
- package/dist/intent/MockIntentService.d.ts +0 -7
- package/dist/intent/MockIntentService.d.ts.map +0 -1
- package/dist/intent/MockIntentService.js +0 -36
- package/dist/intent/MockIntentService.js.map +0 -1
- package/dist/interfaces.d.ts +0 -653
- package/dist/interfaces.d.ts.map +0 -1
- package/dist/interfaces.js +0 -36
- package/dist/interfaces.js.map +0 -1
- package/dist/llm/GeminiLLMAdapter.d.ts +0 -10
- package/dist/llm/GeminiLLMAdapter.d.ts.map +0 -1
- package/dist/llm/GeminiLLMAdapter.js +0 -102
- package/dist/llm/GeminiLLMAdapter.js.map +0 -1
- package/dist/llm/MockLLMAdapter.d.ts +0 -5
- package/dist/llm/MockLLMAdapter.d.ts.map +0 -1
- package/dist/llm/MockLLMAdapter.js +0 -31
- package/dist/llm/MockLLMAdapter.js.map +0 -1
- package/dist/orchestrator/Orchestrator.d.ts +0 -62
- package/dist/orchestrator/Orchestrator.d.ts.map +0 -1
- package/dist/orchestrator/Orchestrator.js +0 -697
- package/dist/orchestrator/Orchestrator.js.map +0 -1
- package/dist/ports/IIntentRepository.d.ts +0 -27
- package/dist/ports/IIntentRepository.d.ts.map +0 -1
- package/dist/ports/IIntentRepository.js +0 -3
- package/dist/ports/IIntentRepository.js.map +0 -1
- package/dist/ports/IntentPort.js +0 -2
- package/dist/ports/LLMPort.js +0 -2
- package/dist/ports/SessionRepository.js +0 -2
- package/dist/ports/WorkflowPort.js +0 -2
- package/dist/scripts/debug-redis.d.ts +0 -2
- package/dist/scripts/debug-redis.d.ts.map +0 -1
- package/dist/scripts/debug-redis.js +0 -55
- package/dist/scripts/debug-redis.js.map +0 -1
- package/dist/scripts/seed-collaborative-intents.d.ts +0 -2
- package/dist/scripts/seed-collaborative-intents.d.ts.map +0 -1
- package/dist/scripts/seed-collaborative-intents.js +0 -90
- package/dist/scripts/seed-collaborative-intents.js.map +0 -1
- package/dist/scripts/test-isolated-config.d.ts +0 -2
- package/dist/scripts/test-isolated-config.d.ts.map +0 -1
- package/dist/scripts/test-isolated-config.js +0 -80
- package/dist/scripts/test-isolated-config.js.map +0 -1
- package/dist/scripts/verify_memory_intents.d.ts +0 -2
- package/dist/scripts/verify_memory_intents.d.ts.map +0 -1
- package/dist/scripts/verify_memory_intents.js +0 -45
- package/dist/scripts/verify_memory_intents.js.map +0 -1
- package/dist/scripts/verify_redis_intents.d.ts +0 -2
- package/dist/scripts/verify_redis_intents.d.ts.map +0 -1
- package/dist/scripts/verify_redis_intents.js +0 -52
- package/dist/scripts/verify_redis_intents.js.map +0 -1
- package/dist/server/ChatFlowWebSocketServer.d.ts +0 -46
- package/dist/server/ChatFlowWebSocketServer.d.ts.map +0 -1
- package/dist/server/ChatFlowWebSocketServer.js +0 -344
- package/dist/server/ChatFlowWebSocketServer.js.map +0 -1
- package/dist/server/realtime-voice-server.d.ts +0 -2
- package/dist/server/realtime-voice-server.d.ts.map +0 -1
- package/dist/server/realtime-voice-server.js +0 -627
- package/dist/server/realtime-voice-server.js.map +0 -1
- package/dist/src/api/routes/tenants.d.ts +0 -3
- package/dist/src/api/routes/tenants.d.ts.map +0 -1
- package/dist/src/api/routes/tenants.js +0 -109
- package/dist/src/api/routes/tenants.js.map +0 -1
- package/dist/utils/crypto.d.ts +0 -7
- package/dist/utils/crypto.d.ts.map +0 -1
- package/dist/utils/crypto.js +0 -35
- package/dist/utils/crypto.js.map +0 -1
- package/dist/utils/encryption-helpers.d.ts +0 -14
- package/dist/utils/encryption-helpers.d.ts.map +0 -1
- package/dist/utils/encryption-helpers.js +0 -49
- package/dist/utils/encryption-helpers.js.map +0 -1
- package/dist/verify_memory_intents.js +0 -44
- package/dist/verify_redis_intents.js +0 -49
- package/dist/workflow/MockWorkflowAdapter.d.ts +0 -5
- package/dist/workflow/MockWorkflowAdapter.d.ts.map +0 -1
- package/dist/workflow/MockWorkflowAdapter.js +0 -162
- package/dist/workflow/MockWorkflowAdapter.js.map +0 -1
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MockWorkflowAdapter = void 0;
|
|
4
|
-
const MOCK_FLIGHTS = [
|
|
5
|
-
{
|
|
6
|
-
id: 'SW218',
|
|
7
|
-
airline: 'SkyWay Travel',
|
|
8
|
-
flightNumber: 'SW218',
|
|
9
|
-
origin: 'London',
|
|
10
|
-
destination: 'Paris',
|
|
11
|
-
departureTime: '09:30',
|
|
12
|
-
arrivalTime: '11:50',
|
|
13
|
-
price: 120,
|
|
14
|
-
currency: 'GBP',
|
|
15
|
-
seatsAvailable: 12
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
id: 'SW342',
|
|
19
|
-
airline: 'SkyWay Travel',
|
|
20
|
-
flightNumber: 'SW342',
|
|
21
|
-
origin: 'London',
|
|
22
|
-
destination: 'Paris',
|
|
23
|
-
departureTime: '13:15',
|
|
24
|
-
arrivalTime: '15:35',
|
|
25
|
-
price: 105,
|
|
26
|
-
currency: 'GBP',
|
|
27
|
-
seatsAvailable: 5
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
id: 'SW410',
|
|
31
|
-
airline: 'SkyWay Travel',
|
|
32
|
-
flightNumber: 'SW410',
|
|
33
|
-
origin: 'London',
|
|
34
|
-
destination: 'Paris',
|
|
35
|
-
departureTime: '18:00',
|
|
36
|
-
arrivalTime: '20:20',
|
|
37
|
-
price: 135,
|
|
38
|
-
currency: 'GBP',
|
|
39
|
-
seatsAvailable: 20
|
|
40
|
-
}
|
|
41
|
-
];
|
|
42
|
-
class MockWorkflowAdapter {
|
|
43
|
-
async executeWorkflow(intentName, payload) {
|
|
44
|
-
console.log(`[MockWorkflow] Executing ${intentName} with payload:`, payload);
|
|
45
|
-
// 1. Check Support Hours
|
|
46
|
-
if (intentName === 'CHECK_SUPPORT_HOURS') {
|
|
47
|
-
await new Promise(resolve => setTimeout(resolve, 3000)); // Test delay
|
|
48
|
-
return {
|
|
49
|
-
success: true,
|
|
50
|
-
data: {
|
|
51
|
-
hours: "Monday to Friday, 9:00 AM to 5:00 PM EST",
|
|
52
|
-
message: "Our support team is available Monday through Friday from 9 AM to 5 PM EST."
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
// 2. Flight Search
|
|
57
|
-
if (intentName === 'FLIGHTS_INQUIRY') {
|
|
58
|
-
const { origin, destination } = payload;
|
|
59
|
-
// Normalize for matching
|
|
60
|
-
const originCity = (origin || "").toLowerCase();
|
|
61
|
-
const destCity = (destination || "").toLowerCase();
|
|
62
|
-
// Default to London -> Paris if inputs are vague for the demo script
|
|
63
|
-
const matches = MOCK_FLIGHTS.filter(f => {
|
|
64
|
-
const matchOrg = f.origin.toLowerCase().includes(originCity);
|
|
65
|
-
const matchDest = f.destination.toLowerCase().includes(destCity);
|
|
66
|
-
return matchOrg && matchDest;
|
|
67
|
-
});
|
|
68
|
-
if (matches.length === 0) {
|
|
69
|
-
// Fallback for demo if users says "flights to paris" without origin,
|
|
70
|
-
// we might just return them if we assume context, but let's stick to filters.
|
|
71
|
-
if (destCity.includes('paris') && !origin) {
|
|
72
|
-
// Suggest London? Or just show all to Paris?
|
|
73
|
-
// Let's filter just by Dest
|
|
74
|
-
const destMatches = MOCK_FLIGHTS.filter(f => f.destination.toLowerCase().includes(destCity));
|
|
75
|
-
return {
|
|
76
|
-
success: true,
|
|
77
|
-
data: {
|
|
78
|
-
found: true,
|
|
79
|
-
count: destMatches.length,
|
|
80
|
-
flights: destMatches.map(f => ({
|
|
81
|
-
id: f.id,
|
|
82
|
-
summary: `Flight ${f.flightNumber}: ${f.origin} (${f.departureTime}) -> ${f.destination} (${f.arrivalTime}) - £${f.price}`
|
|
83
|
-
})),
|
|
84
|
-
message: `Here are specific flights to ${destination}.`
|
|
85
|
-
}
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
return {
|
|
89
|
-
success: true,
|
|
90
|
-
data: {
|
|
91
|
-
found: false,
|
|
92
|
-
message: `No flights found explicitly from ${origin} to ${destination}.`
|
|
93
|
-
}
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
// Return detailed list formatted for the bot to read out
|
|
97
|
-
return {
|
|
98
|
-
success: true,
|
|
99
|
-
data: {
|
|
100
|
-
found: true,
|
|
101
|
-
count: matches.length,
|
|
102
|
-
flights: matches.map(f => ({
|
|
103
|
-
id: f.id,
|
|
104
|
-
summary: `Flight ${f.flightNumber}: ${f.origin} (${f.departureTime}) -> ${f.destination} (${f.arrivalTime}) - £${f.price}`
|
|
105
|
-
}))
|
|
106
|
-
}
|
|
107
|
-
};
|
|
108
|
-
}
|
|
109
|
-
// 2. Select Flight
|
|
110
|
-
if (intentName === 'SELECT_FLIGHT') {
|
|
111
|
-
const { flight_id } = payload;
|
|
112
|
-
// Try to fuzzy match SW...
|
|
113
|
-
const flight = MOCK_FLIGHTS.find(f => f.id.toLowerCase() === (flight_id || "").toLowerCase() ||
|
|
114
|
-
f.flightNumber.toLowerCase() === (flight_id || "").toLowerCase());
|
|
115
|
-
if (flight) {
|
|
116
|
-
return {
|
|
117
|
-
success: true,
|
|
118
|
-
data: {
|
|
119
|
-
status: 'selection_confirmed',
|
|
120
|
-
selected_flight: flight,
|
|
121
|
-
message: `Great choice. To complete the booking for Flight ${flight.flightNumber}, I'll need a few details: First name, Last name, and Email address.`
|
|
122
|
-
}
|
|
123
|
-
};
|
|
124
|
-
}
|
|
125
|
-
// If payload is empty or not matching, maybe LLM passed "second one"
|
|
126
|
-
// We can't easily resolve "second one" without state history in the workflow adapter.
|
|
127
|
-
// But the LLM Orchestrator might have done it?
|
|
128
|
-
// Actually, the intent extractor extracts "Flight SW342" usually.
|
|
129
|
-
return {
|
|
130
|
-
success: true,
|
|
131
|
-
data: {
|
|
132
|
-
status: 'selection_unknown',
|
|
133
|
-
message: "Which flight would you like? Please specify the flight number (e.g., SW342)."
|
|
134
|
-
}
|
|
135
|
-
};
|
|
136
|
-
}
|
|
137
|
-
// 3. Book Flight (Collect Details)
|
|
138
|
-
if (intentName === 'BOOK_FLIGHT') {
|
|
139
|
-
const { first_name, last_name, email } = payload;
|
|
140
|
-
if (!first_name || !last_name || !email) {
|
|
141
|
-
return {
|
|
142
|
-
success: false,
|
|
143
|
-
data: {
|
|
144
|
-
status: 'missing_info',
|
|
145
|
-
message: "I need your First Name, Last Name, and Email to proceed."
|
|
146
|
-
}
|
|
147
|
-
};
|
|
148
|
-
}
|
|
149
|
-
return {
|
|
150
|
-
success: true,
|
|
151
|
-
data: {
|
|
152
|
-
status: 'booking_confirmed',
|
|
153
|
-
confirmation_message: `Thank you, ${first_name}. Your booking has been successfully completed. A confirmation email has been sent to ${email}. Safe travels!`
|
|
154
|
-
}
|
|
155
|
-
};
|
|
156
|
-
}
|
|
157
|
-
// 4. Flight Info (Legacy/General)
|
|
158
|
-
if (intentName === 'FLIGHT_INFO') {
|
|
159
|
-
return {
|
|
160
|
-
success: true,
|
|
161
|
-
data: {
|
|
162
|
-
message: "Please select a flight to book."
|
|
163
|
-
}
|
|
164
|
-
};
|
|
165
|
-
}
|
|
166
|
-
return {
|
|
167
|
-
success: false,
|
|
168
|
-
error: `Unknown workflow: ${intentName}`
|
|
169
|
-
};
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
exports.MockWorkflowAdapter = MockWorkflowAdapter;
|
|
173
|
-
//# sourceMappingURL=MockWorkflowAdapter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MockWorkflowAdapter.js","sourceRoot":"","sources":["../../../src/adapters/workflow/MockWorkflowAdapter.ts"],"names":[],"mappings":";;;AAgBA,MAAM,YAAY,GAAa;IAC3B;QACI,EAAE,EAAE,OAAO;QACX,OAAO,EAAE,eAAe;QACxB,YAAY,EAAE,OAAO;QACrB,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,OAAO;QACpB,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,OAAO;QACpB,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,KAAK;QACf,cAAc,EAAE,EAAE;KACrB;IACD;QACI,EAAE,EAAE,OAAO;QACX,OAAO,EAAE,eAAe;QACxB,YAAY,EAAE,OAAO;QACrB,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,OAAO;QACpB,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,OAAO;QACpB,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,KAAK;QACf,cAAc,EAAE,CAAC;KACpB;IACD;QACI,EAAE,EAAE,OAAO;QACX,OAAO,EAAE,eAAe;QACxB,YAAY,EAAE,OAAO;QACrB,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,OAAO;QACpB,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,OAAO;QACpB,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,KAAK;QACf,cAAc,EAAE,EAAE;KACrB;CACJ,CAAC;AAEF,MAAa,mBAAmB;IAC5B,KAAK,CAAC,eAAe,CAAC,UAAkB,EAAE,OAAY;QAClD,OAAO,CAAC,GAAG,CAAC,4BAA4B,UAAU,gBAAgB,EAAE,OAAO,CAAC,CAAC;QAE7E,yBAAyB;QACzB,IAAI,UAAU,KAAK,qBAAqB,EAAE,CAAC;YACvC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa;YACtE,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE;oBACF,KAAK,EAAE,0CAA0C;oBACjD,OAAO,EAAE,4EAA4E;iBACxF;aACJ,CAAC;QACN,CAAC;QAED,mBAAmB;QACnB,IAAI,UAAU,KAAK,iBAAiB,EAAE,CAAC;YACnC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;YAExC,yBAAyB;YACzB,MAAM,UAAU,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YAChD,MAAM,QAAQ,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YAEnD,qEAAqE;YACrE,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;gBACpC,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAC7D,MAAM,SAAS,GAAG,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACjE,OAAO,QAAQ,IAAI,SAAS,CAAC;YACjC,CAAC,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,sEAAsE;gBACtE,8EAA8E;gBAC9E,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACxC,6CAA6C;oBAC7C,4BAA4B;oBAC5B,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAC7F,OAAO;wBACH,OAAO,EAAE,IAAI;wBACb,IAAI,EAAE;4BACF,KAAK,EAAE,IAAI;4BACX,KAAK,EAAE,WAAW,CAAC,MAAM;4BACzB,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gCAC3B,EAAE,EAAE,CAAC,CAAC,EAAE;gCACR,OAAO,EAAE,UAAU,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,aAAa,QAAQ,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW,QAAQ,CAAC,CAAC,KAAK,EAAE;6BAC7H,CAAC,CAAC;4BACH,OAAO,EAAE,gCAAgC,WAAW,GAAG;yBAC1D;qBACJ,CAAC;gBACN,CAAC;gBAED,OAAO;oBACH,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE;wBACF,KAAK,EAAE,KAAK;wBACZ,OAAO,EAAE,oCAAoC,MAAM,OAAO,WAAW,GAAG;qBAC3E;iBACJ,CAAC;YACN,CAAC;YAED,yDAAyD;YACzD,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE;oBACF,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE,OAAO,CAAC,MAAM;oBACrB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBACvB,EAAE,EAAE,CAAC,CAAC,EAAE;wBACR,OAAO,EAAE,UAAU,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,aAAa,QAAQ,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW,QAAQ,CAAC,CAAC,KAAK,EAAE;qBAC7H,CAAC,CAAC;iBACN;aACJ,CAAC;QACN,CAAC;QAED,mBAAmB;QACnB,IAAI,UAAU,KAAK,eAAe,EAAE,CAAC;YACjC,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;YAC9B,2BAA2B;YAC3B,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACjC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE;gBACtD,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CACnE,CAAC;YAEF,IAAI,MAAM,EAAE,CAAC;gBACT,OAAO;oBACH,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE;wBACF,MAAM,EAAE,qBAAqB;wBAC7B,eAAe,EAAE,MAAM;wBACvB,OAAO,EAAE,oDAAoD,MAAM,CAAC,YAAY,sEAAsE;qBACzJ;iBACJ,CAAC;YACN,CAAC;YAED,qEAAqE;YACrE,sFAAsF;YACtF,gDAAgD;YAChD,kEAAkE;YAElE,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE;oBACF,MAAM,EAAE,mBAAmB;oBAC3B,OAAO,EAAE,8EAA8E;iBAC1F;aACJ,CAAC;QACN,CAAC;QAED,mCAAmC;QACnC,IAAI,UAAU,KAAK,aAAa,EAAE,CAAC;YAC/B,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;YAEjD,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC;gBACtC,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,IAAI,EAAE;wBACF,MAAM,EAAE,cAAc;wBACtB,OAAO,EAAE,0DAA0D;qBACtE;iBACJ,CAAC;YACN,CAAC;YAED,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE;oBACF,MAAM,EAAE,mBAAmB;oBAC3B,oBAAoB,EAAE,cAAc,UAAU,yFAAyF,KAAK,iBAAiB;iBAChK;aACJ,CAAC;QACN,CAAC;QAED,kCAAkC;QAClC,IAAI,UAAU,KAAK,aAAa,EAAE,CAAC;YAC/B,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE;oBACF,OAAO,EAAE,iCAAiC;iBAC7C;aACJ,CAAC;QACN,CAAC;QAED,OAAO;YACH,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,qBAAqB,UAAU,EAAE;SAC3C,CAAC;IACN,CAAC;CACJ;AAnJD,kDAmJC"}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { IWorkflowAdapter, IRepository, WorkflowLogger, WorkflowResult } from '../../interfaces';
|
|
2
|
-
import { WorkflowEngine } from './engine/engine';
|
|
3
|
-
/**
|
|
4
|
-
* WorkflowAdapter - Integrates the workflow engine with the repository
|
|
5
|
-
* Provides a clean interface for the Orchestrator to trigger and manage workflows
|
|
6
|
-
*/
|
|
7
|
-
export declare class WorkflowAdapter implements IWorkflowAdapter {
|
|
8
|
-
private engine;
|
|
9
|
-
private logger;
|
|
10
|
-
private repository;
|
|
11
|
-
private eventRegistry;
|
|
12
|
-
constructor(repository: IRepository, logger?: WorkflowLogger);
|
|
13
|
-
/**
|
|
14
|
-
* Register default workflow actions
|
|
15
|
-
*/
|
|
16
|
-
private registerDefaultActions;
|
|
17
|
-
/**
|
|
18
|
-
* Execute a workflow by intent name
|
|
19
|
-
* Registers the intent as an event type and triggers matching workflows
|
|
20
|
-
*/
|
|
21
|
-
executeWorkflow(intentName: string, payload: any): Promise<WorkflowResult>;
|
|
22
|
-
/**
|
|
23
|
-
* Execute a specific workflow by ID
|
|
24
|
-
*/
|
|
25
|
-
executeWorkflowById(workflowId: string, tenantId: string, eventPayload: Record<string, any>): Promise<{
|
|
26
|
-
success: boolean;
|
|
27
|
-
executionId?: string;
|
|
28
|
-
error?: string;
|
|
29
|
-
}>;
|
|
30
|
-
/**
|
|
31
|
-
* Trigger workflows for a specific event type
|
|
32
|
-
*/
|
|
33
|
-
triggerWorkflows(eventType: string, tenantId: string, eventPayload: Record<string, any>): Promise<{
|
|
34
|
-
success: boolean;
|
|
35
|
-
executionCount?: number;
|
|
36
|
-
error?: string;
|
|
37
|
-
}>;
|
|
38
|
-
/**
|
|
39
|
-
* Get workflow execution status
|
|
40
|
-
*/
|
|
41
|
-
getExecutionStatus(executionId: string): Promise<{
|
|
42
|
-
status: 'pending' | 'processing' | 'success' | 'failed';
|
|
43
|
-
error?: string;
|
|
44
|
-
logs?: any[];
|
|
45
|
-
} | null>;
|
|
46
|
-
/**
|
|
47
|
-
* Register a custom action with the workflow engine
|
|
48
|
-
*/
|
|
49
|
-
registerAction(action: any): void;
|
|
50
|
-
/**
|
|
51
|
-
* Get the workflow engine instance (for advanced usage)
|
|
52
|
-
*/
|
|
53
|
-
getEngine(): WorkflowEngine;
|
|
54
|
-
}
|
|
55
|
-
//# sourceMappingURL=WorkflowAdapter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/workflow/WorkflowAdapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACjG,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAMjD;;;GAGG;AACH,qBAAa,eAAgB,YAAW,gBAAgB;IACpD,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,aAAa,CAAgB;gBAEzB,UAAU,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,cAAc;IAU5D;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAO9B;;;OAGG;IACG,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC;IA4HhF;;OAEG;IACG,mBAAmB,CACrB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAClC,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAkCtE;;OAEG;IACG,gBAAgB,CAClB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAClC,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAiCzE;;OAEG;IACG,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;QACnD,MAAM,EAAE,SAAS,GAAG,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAC;QACxD,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;KAChB,GAAG,IAAI,CAAC;IAoBT;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI;IAMjC;;OAEG;IACH,SAAS,IAAI,cAAc;CAG9B"}
|
|
@@ -1,242 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WorkflowAdapter = void 0;
|
|
4
|
-
const engine_1 = require("./engine/engine");
|
|
5
|
-
const ConsoleLogger_1 = require("../logger/ConsoleLogger");
|
|
6
|
-
const registry_1 = require("./engine/registry");
|
|
7
|
-
const event_registry_1 = require("./engine/event-registry");
|
|
8
|
-
const actions_1 = require("./actions");
|
|
9
|
-
/**
|
|
10
|
-
* WorkflowAdapter - Integrates the workflow engine with the repository
|
|
11
|
-
* Provides a clean interface for the Orchestrator to trigger and manage workflows
|
|
12
|
-
*/
|
|
13
|
-
class WorkflowAdapter {
|
|
14
|
-
constructor(repository, logger) {
|
|
15
|
-
this.repository = repository;
|
|
16
|
-
this.logger = logger || new ConsoleLogger_1.ConsoleLogger('[WorkflowAdapter]');
|
|
17
|
-
this.engine = new engine_1.WorkflowEngine(repository, this.logger);
|
|
18
|
-
this.eventRegistry = event_registry_1.EventRegistry.getInstance();
|
|
19
|
-
// Register default actions
|
|
20
|
-
this.registerDefaultActions();
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Register default workflow actions
|
|
24
|
-
*/
|
|
25
|
-
registerDefaultActions() {
|
|
26
|
-
const registry = registry_1.ActionRegistry.getInstance();
|
|
27
|
-
registry.registerAction(actions_1.pushOutputResultAction);
|
|
28
|
-
this.logger.log('Registered default workflow actions');
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Execute a workflow by intent name
|
|
32
|
-
* Registers the intent as an event type and triggers matching workflows
|
|
33
|
-
*/
|
|
34
|
-
async executeWorkflow(intentName, payload) {
|
|
35
|
-
try {
|
|
36
|
-
this.logger.log(`Executing workflow for intent ${intentName}`);
|
|
37
|
-
// Register the intent as an event type if not already registered
|
|
38
|
-
if (!this.eventRegistry.hasEvent(intentName)) {
|
|
39
|
-
this.eventRegistry.registerEvent({
|
|
40
|
-
type: intentName,
|
|
41
|
-
label: intentName,
|
|
42
|
-
description: `Intent event: ${intentName} `,
|
|
43
|
-
source: 'orchestrator',
|
|
44
|
-
variables: []
|
|
45
|
-
});
|
|
46
|
-
this.logger.log(`Registered new event type: ${intentName} `);
|
|
47
|
-
}
|
|
48
|
-
// For now, we'll use the intentName as the event type
|
|
49
|
-
// and trigger workflows that match this event type
|
|
50
|
-
const tenantId = payload.tenantId || 'default';
|
|
51
|
-
// Store the webhook event
|
|
52
|
-
const eventId = await this.repository.storeWebhookEvent({
|
|
53
|
-
type: intentName,
|
|
54
|
-
payload,
|
|
55
|
-
source: 'orchestrator',
|
|
56
|
-
tenantId,
|
|
57
|
-
status: 'pending'
|
|
58
|
-
});
|
|
59
|
-
const event = await this.repository.getWebhookEvent(eventId);
|
|
60
|
-
if (!event) {
|
|
61
|
-
return { success: false, error: 'Failed to create event' };
|
|
62
|
-
}
|
|
63
|
-
// Process the event through the engine
|
|
64
|
-
const executionIds = await this.engine.processEvent(event);
|
|
65
|
-
await this.repository.updateWebhookEventStatus(eventId, { status: 'processed' });
|
|
66
|
-
// If we have execution IDs, try to get the result from the first one
|
|
67
|
-
// In the future we might want to aggregate results
|
|
68
|
-
if (executionIds && executionIds.length > 0) {
|
|
69
|
-
const executionId = executionIds[0];
|
|
70
|
-
const execution = await this.repository.getWorkflowExecutionById(executionId);
|
|
71
|
-
if (execution && execution.result) {
|
|
72
|
-
// Extract the relevant data from the result
|
|
73
|
-
// The engine returns the full context as 'output' in the result field
|
|
74
|
-
// We typically want the data part from the last action or specific output
|
|
75
|
-
// For the support hours case, the action returns { data: { hours: ... } }
|
|
76
|
-
// stored in the context under the step ID 'get_hours'.
|
|
77
|
-
// Simple heuristic: return the whole result or try to find 'data' in it
|
|
78
|
-
// The engine stores 'context' as the result.
|
|
79
|
-
// The support workflow has a step 'get_hours'.
|
|
80
|
-
const accumulatedMessages = [];
|
|
81
|
-
for (const id of executionIds) {
|
|
82
|
-
const execution = await this.repository.getWorkflowExecutionById(id);
|
|
83
|
-
if (execution) {
|
|
84
|
-
// Priority 1: Use persisted outputResult
|
|
85
|
-
if (execution.outputResult) {
|
|
86
|
-
accumulatedMessages.push(execution.outputResult);
|
|
87
|
-
continue;
|
|
88
|
-
}
|
|
89
|
-
// Priority 2: Legacy Fallback
|
|
90
|
-
// Fallback to last step output (Legacy/Simple workflows)
|
|
91
|
-
if (execution.result) {
|
|
92
|
-
const context = execution.result;
|
|
93
|
-
const stepKeys = Object.keys(context).filter(k => k !== 'trigger' && k !== 'settings' && k !== 'credentials' && k !== 'configs' && k !== '__output_result');
|
|
94
|
-
if (stepKeys.length > 0) {
|
|
95
|
-
const lastStepKey = stepKeys[stepKeys.length - 1];
|
|
96
|
-
if (context[lastStepKey]?.output?.data) {
|
|
97
|
-
// Usually data object, might have 'message' inside or be the object
|
|
98
|
-
if (typeof context[lastStepKey].output.data.message === 'string') {
|
|
99
|
-
accumulatedMessages.push(context[lastStepKey].output.data.message);
|
|
100
|
-
}
|
|
101
|
-
else if (typeof context[lastStepKey].output.data === 'string') {
|
|
102
|
-
accumulatedMessages.push(context[lastStepKey].output.data);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
else if (context[lastStepKey]?.output) {
|
|
106
|
-
if (typeof context[lastStepKey].output === 'string') {
|
|
107
|
-
accumulatedMessages.push(context[lastStepKey].output);
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
if (accumulatedMessages.length > 0) {
|
|
115
|
-
return {
|
|
116
|
-
success: true,
|
|
117
|
-
data: {
|
|
118
|
-
message: accumulatedMessages.join('. '), // Join separate workflow outputs
|
|
119
|
-
executionId: executionIds[0] // Return primary ID
|
|
120
|
-
}
|
|
121
|
-
};
|
|
122
|
-
}
|
|
123
|
-
return {
|
|
124
|
-
success: true,
|
|
125
|
-
data: {
|
|
126
|
-
executionId: event.id.toString(),
|
|
127
|
-
message: `Workflow executed for ${intentName}`
|
|
128
|
-
}
|
|
129
|
-
};
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
// Fallback if no execution or no result found
|
|
133
|
-
return {
|
|
134
|
-
success: false,
|
|
135
|
-
error: 'NO_WORKFLOW_MATCHED'
|
|
136
|
-
};
|
|
137
|
-
}
|
|
138
|
-
catch (error) {
|
|
139
|
-
this.logger.error(`Failed to execute workflow for ${intentName}`, { error: error.message });
|
|
140
|
-
return { success: false, error: error.message };
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Execute a specific workflow by ID
|
|
145
|
-
*/
|
|
146
|
-
async executeWorkflowById(workflowId, tenantId, eventPayload) {
|
|
147
|
-
try {
|
|
148
|
-
this.logger.log(`Executing workflow ${workflowId} for tenant ${tenantId}`);
|
|
149
|
-
// Get the workflow
|
|
150
|
-
const workflow = await this.repository.findWorkflowById(workflowId, tenantId);
|
|
151
|
-
if (!workflow) {
|
|
152
|
-
return { success: false, error: 'Workflow not found' };
|
|
153
|
-
}
|
|
154
|
-
// Create a webhook event to trigger the workflow
|
|
155
|
-
const eventId = await this.repository.storeWebhookEvent({
|
|
156
|
-
type: workflow.event_type,
|
|
157
|
-
payload: eventPayload,
|
|
158
|
-
source: 'manual',
|
|
159
|
-
tenantId,
|
|
160
|
-
status: 'pending'
|
|
161
|
-
});
|
|
162
|
-
const event = await this.repository.getWebhookEvent(eventId);
|
|
163
|
-
if (!event) {
|
|
164
|
-
return { success: false, error: 'Failed to create event' };
|
|
165
|
-
}
|
|
166
|
-
// Process the event through the engine
|
|
167
|
-
await this.engine.processEvent(event, workflowId);
|
|
168
|
-
return { success: true, executionId: event.id.toString() };
|
|
169
|
-
}
|
|
170
|
-
catch (error) {
|
|
171
|
-
this.logger.error(`Failed to execute workflow ${workflowId} `, { error: error.message });
|
|
172
|
-
return { success: false, error: error.message };
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
/**
|
|
176
|
-
* Trigger workflows for a specific event type
|
|
177
|
-
*/
|
|
178
|
-
async triggerWorkflows(eventType, tenantId, eventPayload) {
|
|
179
|
-
try {
|
|
180
|
-
this.logger.log(`Triggering workflows for event ${eventType} and tenant ${tenantId} `);
|
|
181
|
-
// Store the webhook event
|
|
182
|
-
const eventId = await this.repository.storeWebhookEvent({
|
|
183
|
-
type: eventType,
|
|
184
|
-
payload: eventPayload,
|
|
185
|
-
source: 'system',
|
|
186
|
-
tenantId,
|
|
187
|
-
status: 'pending'
|
|
188
|
-
});
|
|
189
|
-
const event = await this.repository.getWebhookEvent(eventId);
|
|
190
|
-
if (!event) {
|
|
191
|
-
return { success: false, error: 'Failed to create event' };
|
|
192
|
-
}
|
|
193
|
-
// Get active workflows for this event type
|
|
194
|
-
const workflows = await this.repository.getActiveWorkflowsForEvent(tenantId, eventType);
|
|
195
|
-
// Process the event (will execute all matching workflows)
|
|
196
|
-
await this.engine.processEvent(event);
|
|
197
|
-
await this.repository.updateWebhookEventStatus(eventId, { status: 'processed' });
|
|
198
|
-
return { success: true, executionCount: workflows.length };
|
|
199
|
-
}
|
|
200
|
-
catch (error) {
|
|
201
|
-
this.logger.error(`Failed to trigger workflows for event ${eventType}`, { error: error.message });
|
|
202
|
-
return { success: false, error: error.message };
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
/**
|
|
206
|
-
* Get workflow execution status
|
|
207
|
-
*/
|
|
208
|
-
async getExecutionStatus(executionId) {
|
|
209
|
-
try {
|
|
210
|
-
const execution = await this.repository.getWorkflowExecutionById(executionId);
|
|
211
|
-
if (!execution) {
|
|
212
|
-
return null;
|
|
213
|
-
}
|
|
214
|
-
const logs = await this.repository.getWorkflowExecutionLogs(executionId);
|
|
215
|
-
return {
|
|
216
|
-
status: execution.status,
|
|
217
|
-
error: execution.error_message || undefined,
|
|
218
|
-
logs
|
|
219
|
-
};
|
|
220
|
-
}
|
|
221
|
-
catch (error) {
|
|
222
|
-
this.logger.error(`Failed to get execution status for ${executionId}`, { error: error.message });
|
|
223
|
-
return null;
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
/**
|
|
227
|
-
* Register a custom action with the workflow engine
|
|
228
|
-
*/
|
|
229
|
-
registerAction(action) {
|
|
230
|
-
const registry = registry_1.ActionRegistry.getInstance();
|
|
231
|
-
registry.registerAction(action);
|
|
232
|
-
this.logger.log(`Registered action: ${action.id} `);
|
|
233
|
-
}
|
|
234
|
-
/**
|
|
235
|
-
* Get the workflow engine instance (for advanced usage)
|
|
236
|
-
*/
|
|
237
|
-
getEngine() {
|
|
238
|
-
return this.engine;
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
exports.WorkflowAdapter = WorkflowAdapter;
|
|
242
|
-
//# sourceMappingURL=WorkflowAdapter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowAdapter.js","sourceRoot":"","sources":["../../../src/adapters/workflow/WorkflowAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Support Hours Action
|
|
3
|
-
* Returns the customer support hours for the business
|
|
4
|
-
*/
|
|
5
|
-
export declare const getSupportHoursAction: import("../engine/types").ActionDefinition<Record<string, never> | undefined, {
|
|
6
|
-
hours: string;
|
|
7
|
-
message: string;
|
|
8
|
-
timezone: string;
|
|
9
|
-
}>;
|
|
10
|
-
//# sourceMappingURL=getSupportHoursAction.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getSupportHoursAction.d.ts","sourceRoot":"","sources":["../../../../src/adapters/workflow/actions/getSupportHoursAction.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;;EAuBhC,CAAC"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getSupportHoursAction = void 0;
|
|
4
|
-
const registry_1 = require("../engine/registry");
|
|
5
|
-
const zod_1 = require("zod");
|
|
6
|
-
/**
|
|
7
|
-
* Support Hours Action
|
|
8
|
-
* Returns the customer support hours for the business
|
|
9
|
-
*/
|
|
10
|
-
exports.getSupportHoursAction = (0, registry_1.createAction)({
|
|
11
|
-
id: 'getSupportHours',
|
|
12
|
-
name: 'Get Support Hours',
|
|
13
|
-
description: 'Returns customer support operating hours',
|
|
14
|
-
inputSchema: zod_1.z.object({}).optional(),
|
|
15
|
-
outputSchema: zod_1.z.object({
|
|
16
|
-
hours: zod_1.z.string(),
|
|
17
|
-
message: zod_1.z.string(),
|
|
18
|
-
timezone: zod_1.z.string()
|
|
19
|
-
}),
|
|
20
|
-
handler: async (input, context) => {
|
|
21
|
-
// In a real implementation, this could fetch from a database
|
|
22
|
-
// or configuration service based on context.tenantId
|
|
23
|
-
return {
|
|
24
|
-
data: {
|
|
25
|
-
hours: "Monday to Friday, 10:00 AM to 6:00 PM EST",
|
|
26
|
-
message: "Our support team is available Monday through Friday from 10 AM to 6 PM Eastern Standard Time.",
|
|
27
|
-
timezone: "EST"
|
|
28
|
-
},
|
|
29
|
-
error: null
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
});
|
|
33
|
-
//# sourceMappingURL=getSupportHoursAction.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getSupportHoursAction.js","sourceRoot":"","sources":["../../../../src/adapters/workflow/actions/getSupportHoursAction.ts"],"names":[],"mappings":";;;AAAA,iDAAkD;AAClD,6BAAwB;AAExB;;;GAGG;AACU,QAAA,qBAAqB,GAAG,IAAA,uBAAY,EAAC;IAC9C,EAAE,EAAE,iBAAiB;IACrB,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,0CAA0C;IACvD,WAAW,EAAE,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpC,YAAY,EAAE,OAAC,CAAC,MAAM,CAAC;QACnB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;QACjB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;QACnB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;KACvB,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC9B,6DAA6D;QAC7D,qDAAqD;QAErD,OAAO;YACH,IAAI,EAAE;gBACF,KAAK,EAAE,2CAA2C;gBAClD,OAAO,EAAE,+FAA+F;gBACxG,QAAQ,EAAE,KAAK;aAClB;YACD,KAAK,EAAE,IAAI;SACd,CAAC;IACN,CAAC;CACJ,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapters/workflow/actions/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,0BAA0B,CAAC"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Workflow Actions Index
|
|
4
|
-
* Export all workflow actions from this file
|
|
5
|
-
*/
|
|
6
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
-
if (k2 === undefined) k2 = k;
|
|
8
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
-
}
|
|
12
|
-
Object.defineProperty(o, k2, desc);
|
|
13
|
-
}) : (function(o, m, k, k2) {
|
|
14
|
-
if (k2 === undefined) k2 = k;
|
|
15
|
-
o[k2] = m[k];
|
|
16
|
-
}));
|
|
17
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
18
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
19
|
-
};
|
|
20
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
-
__exportStar(require("./pushOutputResultAction"), exports);
|
|
22
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/adapters/workflow/actions/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,2DAAyC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Push Output Result Action
|
|
3
|
-
* Appends the input message to the final workflow response.
|
|
4
|
-
* Multiple steps can use this action to build up a compound response.
|
|
5
|
-
*/
|
|
6
|
-
export declare const pushOutputResultAction: import("../../..").ActionDefinition<{
|
|
7
|
-
message: string;
|
|
8
|
-
}, {
|
|
9
|
-
appended: boolean;
|
|
10
|
-
}>;
|
|
11
|
-
//# sourceMappingURL=pushOutputResultAction.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pushOutputResultAction.d.ts","sourceRoot":"","sources":["../../../../src/adapters/workflow/actions/pushOutputResultAction.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;;;;EAmBjC,CAAC"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.pushOutputResultAction = void 0;
|
|
4
|
-
const registry_1 = require("../engine/registry");
|
|
5
|
-
const zod_1 = require("zod");
|
|
6
|
-
/**
|
|
7
|
-
* Push Output Result Action
|
|
8
|
-
* Appends the input message to the final workflow response.
|
|
9
|
-
* Multiple steps can use this action to build up a compound response.
|
|
10
|
-
*/
|
|
11
|
-
exports.pushOutputResultAction = (0, registry_1.createAction)({
|
|
12
|
-
id: 'pushOutputResult',
|
|
13
|
-
name: 'Push Output Result',
|
|
14
|
-
description: 'Adds a text segment to the final workflow output',
|
|
15
|
-
inputSchema: zod_1.z.object({
|
|
16
|
-
message: zod_1.z.string().describe('The text to add to the output')
|
|
17
|
-
}),
|
|
18
|
-
outputSchema: zod_1.z.object({
|
|
19
|
-
appended: zod_1.z.boolean()
|
|
20
|
-
}),
|
|
21
|
-
handler: async (input, context) => {
|
|
22
|
-
context.appendOutput(input.message);
|
|
23
|
-
return {
|
|
24
|
-
data: {
|
|
25
|
-
appended: true
|
|
26
|
-
},
|
|
27
|
-
error: null
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
//# sourceMappingURL=pushOutputResultAction.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pushOutputResultAction.js","sourceRoot":"","sources":["../../../../src/adapters/workflow/actions/pushOutputResultAction.ts"],"names":[],"mappings":";;;AAAA,iDAAkD;AAClD,6BAAwB;AAExB;;;;GAIG;AACU,QAAA,sBAAsB,GAAG,IAAA,uBAAY,EAAC;IAC/C,EAAE,EAAE,kBAAkB;IACtB,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,kDAAkD;IAC/D,WAAW,EAAE,OAAC,CAAC,MAAM,CAAC;QAClB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;KAChE,CAAC;IACF,YAAY,EAAE,OAAC,CAAC,MAAM,CAAC;QACnB,QAAQ,EAAE,OAAC,CAAC,OAAO,EAAE;KACxB,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,KAAU,EAAE,OAAY,EAAE,EAAE;QACxC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpC,OAAO;YACH,IAAI,EAAE;gBACF,QAAQ,EAAE,IAAI;aACjB;YACD,KAAK,EAAE,IAAI;SACd,CAAC;IACN,CAAC;CACJ,CAAC,CAAC"}
|