chat-flow-ardymalihi 3.0.0 → 3.0.2

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 (322) hide show
  1. package/package.json +1 -1
  2. package/dist/adapters/db/InMemorySessionRepository.js +0 -15
  3. package/dist/adapters/db/RedisSessionRepository.js +0 -41
  4. package/dist/adapters/intent/IntentMatcher.d.ts +0 -41
  5. package/dist/adapters/intent/IntentMatcher.d.ts.map +0 -1
  6. package/dist/adapters/intent/IntentMatcher.js +0 -167
  7. package/dist/adapters/intent/IntentMatcher.js.map +0 -1
  8. package/dist/adapters/intent/IntentService.d.ts +0 -26
  9. package/dist/adapters/intent/IntentService.d.ts.map +0 -1
  10. package/dist/adapters/intent/IntentService.js +0 -65
  11. package/dist/adapters/intent/IntentService.js.map +0 -1
  12. package/dist/adapters/intent/MockIntentAdapter.js +0 -29
  13. package/dist/adapters/intent/MockIntentService.d.ts +0 -7
  14. package/dist/adapters/intent/MockIntentService.d.ts.map +0 -1
  15. package/dist/adapters/intent/MockIntentService.js +0 -36
  16. package/dist/adapters/intent/MockIntentService.js.map +0 -1
  17. package/dist/adapters/llm/GeminiLLMAdapter.d.ts +0 -10
  18. package/dist/adapters/llm/GeminiLLMAdapter.d.ts.map +0 -1
  19. package/dist/adapters/llm/GeminiLLMAdapter.js +0 -102
  20. package/dist/adapters/llm/GeminiLLMAdapter.js.map +0 -1
  21. package/dist/adapters/llm/MockLLMAdapter.d.ts +0 -5
  22. package/dist/adapters/llm/MockLLMAdapter.d.ts.map +0 -1
  23. package/dist/adapters/llm/MockLLMAdapter.js +0 -31
  24. package/dist/adapters/llm/MockLLMAdapter.js.map +0 -1
  25. package/dist/adapters/llm/OllamaLLMAdapter.d.ts +0 -9
  26. package/dist/adapters/llm/OllamaLLMAdapter.d.ts.map +0 -1
  27. package/dist/adapters/llm/OllamaLLMAdapter.js +0 -74
  28. package/dist/adapters/llm/OllamaLLMAdapter.js.map +0 -1
  29. package/dist/adapters/logger/ConsoleLogger.d.ts +0 -12
  30. package/dist/adapters/logger/ConsoleLogger.d.ts.map +0 -1
  31. package/dist/adapters/logger/ConsoleLogger.js +0 -37
  32. package/dist/adapters/logger/ConsoleLogger.js.map +0 -1
  33. package/dist/adapters/memory/InMemorySessionRepository.js +0 -15
  34. package/dist/adapters/redis/RedisSessionRepository.js +0 -41
  35. package/dist/adapters/repository/InMemoryRepository.d.ts +0 -46
  36. package/dist/adapters/repository/InMemoryRepository.d.ts.map +0 -1
  37. package/dist/adapters/repository/InMemoryRepository.js +0 -235
  38. package/dist/adapters/repository/InMemoryRepository.js.map +0 -1
  39. package/dist/adapters/repository/IntentRepository.d.ts +0 -15
  40. package/dist/adapters/repository/IntentRepository.d.ts.map +0 -1
  41. package/dist/adapters/repository/IntentRepository.js +0 -28
  42. package/dist/adapters/repository/IntentRepository.js.map +0 -1
  43. package/dist/adapters/repository/RedisRepository.d.ts +0 -63
  44. package/dist/adapters/repository/RedisRepository.d.ts.map +0 -1
  45. package/dist/adapters/repository/RedisRepository.js +0 -586
  46. package/dist/adapters/repository/RedisRepository.js.map +0 -1
  47. package/dist/adapters/storage/RedisAudioStorageAdapter.d.ts +0 -33
  48. package/dist/adapters/storage/RedisAudioStorageAdapter.d.ts.map +0 -1
  49. package/dist/adapters/storage/RedisAudioStorageAdapter.js +0 -121
  50. package/dist/adapters/storage/RedisAudioStorageAdapter.js.map +0 -1
  51. package/dist/adapters/storage/RedisBufferStorageAdapter.d.ts +0 -14
  52. package/dist/adapters/storage/RedisBufferStorageAdapter.d.ts.map +0 -1
  53. package/dist/adapters/storage/RedisBufferStorageAdapter.js +0 -94
  54. package/dist/adapters/storage/RedisBufferStorageAdapter.js.map +0 -1
  55. package/dist/adapters/voice/ElevenLabsVoiceAdapter.d.ts +0 -29
  56. package/dist/adapters/voice/ElevenLabsVoiceAdapter.d.ts.map +0 -1
  57. package/dist/adapters/voice/ElevenLabsVoiceAdapter.js +0 -75
  58. package/dist/adapters/voice/ElevenLabsVoiceAdapter.js.map +0 -1
  59. package/dist/adapters/voice/GeminiMultimodalLiveAdapter.d.ts +0 -77
  60. package/dist/adapters/voice/GeminiMultimodalLiveAdapter.d.ts.map +0 -1
  61. package/dist/adapters/voice/GeminiMultimodalLiveAdapter.js +0 -187
  62. package/dist/adapters/voice/GeminiMultimodalLiveAdapter.js.map +0 -1
  63. package/dist/adapters/voice/GeminiVoiceAdapter.d.ts +0 -36
  64. package/dist/adapters/voice/GeminiVoiceAdapter.d.ts.map +0 -1
  65. package/dist/adapters/voice/GeminiVoiceAdapter.js +0 -134
  66. package/dist/adapters/voice/GeminiVoiceAdapter.js.map +0 -1
  67. package/dist/adapters/voice/GoogleTTSAdapter.d.ts +0 -61
  68. package/dist/adapters/voice/GoogleTTSAdapter.d.ts.map +0 -1
  69. package/dist/adapters/voice/GoogleTTSAdapter.js +0 -165
  70. package/dist/adapters/voice/GoogleTTSAdapter.js.map +0 -1
  71. package/dist/adapters/voice/GoogleVoiceAdapter.d.ts +0 -33
  72. package/dist/adapters/voice/GoogleVoiceAdapter.d.ts.map +0 -1
  73. package/dist/adapters/voice/GoogleVoiceAdapter.js +0 -155
  74. package/dist/adapters/voice/GoogleVoiceAdapter.js.map +0 -1
  75. package/dist/adapters/voice/HybridVoiceAdapter.d.ts +0 -54
  76. package/dist/adapters/voice/HybridVoiceAdapter.d.ts.map +0 -1
  77. package/dist/adapters/voice/HybridVoiceAdapter.js +0 -102
  78. package/dist/adapters/voice/HybridVoiceAdapter.js.map +0 -1
  79. package/dist/adapters/voice/LanguageVoiceMapper.d.ts +0 -60
  80. package/dist/adapters/voice/LanguageVoiceMapper.d.ts.map +0 -1
  81. package/dist/adapters/voice/LanguageVoiceMapper.js +0 -130
  82. package/dist/adapters/voice/LanguageVoiceMapper.js.map +0 -1
  83. package/dist/adapters/voice/VertexVoiceAdapter.d.ts +0 -32
  84. package/dist/adapters/voice/VertexVoiceAdapter.d.ts.map +0 -1
  85. package/dist/adapters/voice/VertexVoiceAdapter.js +0 -179
  86. package/dist/adapters/voice/VertexVoiceAdapter.js.map +0 -1
  87. package/dist/adapters/webhook/WebhookService.d.ts +0 -47
  88. package/dist/adapters/webhook/WebhookService.d.ts.map +0 -1
  89. package/dist/adapters/webhook/WebhookService.js +0 -265
  90. package/dist/adapters/webhook/WebhookService.js.map +0 -1
  91. package/dist/adapters/workflow/MockWorkflowAdapter.d.ts +0 -5
  92. package/dist/adapters/workflow/MockWorkflowAdapter.d.ts.map +0 -1
  93. package/dist/adapters/workflow/MockWorkflowAdapter.js +0 -173
  94. package/dist/adapters/workflow/MockWorkflowAdapter.js.map +0 -1
  95. package/dist/adapters/workflow/WorkflowAdapter.d.ts +0 -55
  96. package/dist/adapters/workflow/WorkflowAdapter.d.ts.map +0 -1
  97. package/dist/adapters/workflow/WorkflowAdapter.js +0 -242
  98. package/dist/adapters/workflow/WorkflowAdapter.js.map +0 -1
  99. package/dist/adapters/workflow/actions/getSupportHoursAction.d.ts +0 -10
  100. package/dist/adapters/workflow/actions/getSupportHoursAction.d.ts.map +0 -1
  101. package/dist/adapters/workflow/actions/getSupportHoursAction.js +0 -33
  102. package/dist/adapters/workflow/actions/getSupportHoursAction.js.map +0 -1
  103. package/dist/adapters/workflow/actions/index.d.ts +0 -6
  104. package/dist/adapters/workflow/actions/index.d.ts.map +0 -1
  105. package/dist/adapters/workflow/actions/index.js +0 -22
  106. package/dist/adapters/workflow/actions/index.js.map +0 -1
  107. package/dist/adapters/workflow/actions/pushOutputResultAction.d.ts +0 -11
  108. package/dist/adapters/workflow/actions/pushOutputResultAction.d.ts.map +0 -1
  109. package/dist/adapters/workflow/actions/pushOutputResultAction.js +0 -31
  110. package/dist/adapters/workflow/actions/pushOutputResultAction.js.map +0 -1
  111. package/dist/adapters/workflow/actions/setWorkflowMessageAction.d.ts +0 -12
  112. package/dist/adapters/workflow/actions/setWorkflowMessageAction.d.ts.map +0 -1
  113. package/dist/adapters/workflow/actions/setWorkflowMessageAction.js +0 -32
  114. package/dist/adapters/workflow/actions/setWorkflowMessageAction.js.map +0 -1
  115. package/dist/adapters/workflow/engine/constants.d.ts +0 -3
  116. package/dist/adapters/workflow/engine/constants.d.ts.map +0 -1
  117. package/dist/adapters/workflow/engine/constants.js +0 -6
  118. package/dist/adapters/workflow/engine/constants.js.map +0 -1
  119. package/dist/adapters/workflow/engine/engine.d.ts +0 -32
  120. package/dist/adapters/workflow/engine/engine.d.ts.map +0 -1
  121. package/dist/adapters/workflow/engine/engine.js +0 -623
  122. package/dist/adapters/workflow/engine/engine.js.map +0 -1
  123. package/dist/adapters/workflow/engine/event-registry.d.ts +0 -12
  124. package/dist/adapters/workflow/engine/event-registry.d.ts.map +0 -1
  125. package/dist/adapters/workflow/engine/event-registry.js +0 -33
  126. package/dist/adapters/workflow/engine/event-registry.js.map +0 -1
  127. package/dist/adapters/workflow/engine/interpolator.d.ts +0 -11
  128. package/dist/adapters/workflow/engine/interpolator.d.ts.map +0 -1
  129. package/dist/adapters/workflow/engine/interpolator.js +0 -93
  130. package/dist/adapters/workflow/engine/interpolator.js.map +0 -1
  131. package/dist/adapters/workflow/engine/registry.d.ts +0 -12
  132. package/dist/adapters/workflow/engine/registry.d.ts.map +0 -1
  133. package/dist/adapters/workflow/engine/registry.js +0 -39
  134. package/dist/adapters/workflow/engine/registry.js.map +0 -1
  135. package/dist/adapters/workflow/engine/template-registry.d.ts +0 -60
  136. package/dist/adapters/workflow/engine/template-registry.d.ts.map +0 -1
  137. package/dist/adapters/workflow/engine/template-registry.js +0 -92
  138. package/dist/adapters/workflow/engine/template-registry.js.map +0 -1
  139. package/dist/adapters/workflow/engine/types.d.ts +0 -182
  140. package/dist/adapters/workflow/engine/types.d.ts.map +0 -1
  141. package/dist/adapters/workflow/engine/types.js +0 -3
  142. package/dist/adapters/workflow/engine/types.js.map +0 -1
  143. package/dist/adapters/workflow/engine/utils/format-utils.d.ts +0 -43
  144. package/dist/adapters/workflow/engine/utils/format-utils.d.ts.map +0 -1
  145. package/dist/adapters/workflow/engine/utils/format-utils.js +0 -137
  146. package/dist/adapters/workflow/engine/utils/format-utils.js.map +0 -1
  147. package/dist/adapters/workflow/engine/utils/layout-calculator.d.ts +0 -7
  148. package/dist/adapters/workflow/engine/utils/layout-calculator.d.ts.map +0 -1
  149. package/dist/adapters/workflow/engine/utils/layout-calculator.js +0 -87
  150. package/dist/adapters/workflow/engine/utils/layout-calculator.js.map +0 -1
  151. package/dist/adapters/workflow/engine/utils/slugify.d.ts +0 -2
  152. package/dist/adapters/workflow/engine/utils/slugify.d.ts.map +0 -1
  153. package/dist/adapters/workflow/engine/utils/slugify.js +0 -41
  154. package/dist/adapters/workflow/engine/utils/slugify.js.map +0 -1
  155. package/dist/adapters/workflow/engine/validator.d.ts +0 -9
  156. package/dist/adapters/workflow/engine/validator.d.ts.map +0 -1
  157. package/dist/adapters/workflow/engine/validator.js +0 -425
  158. package/dist/adapters/workflow/engine/validator.js.map +0 -1
  159. package/dist/application/ConversationSession.d.ts +0 -23
  160. package/dist/application/ConversationSession.d.ts.map +0 -1
  161. package/dist/application/ConversationSession.js +0 -83
  162. package/dist/application/ConversationSession.js.map +0 -1
  163. package/dist/application/Message.d.ts +0 -11
  164. package/dist/application/Message.d.ts.map +0 -1
  165. package/dist/application/Message.js +0 -30
  166. package/dist/application/Message.js.map +0 -1
  167. package/dist/application/Orchestrator.d.ts +0 -18
  168. package/dist/application/Orchestrator.d.ts.map +0 -1
  169. package/dist/application/Orchestrator.js +0 -80
  170. package/dist/application/Orchestrator.js.map +0 -1
  171. package/dist/application/SessionState.js +0 -2
  172. package/dist/application/usecases/CreateSession.js +0 -20
  173. package/dist/application/usecases/HandleUserMessage.js +0 -69
  174. package/dist/config/ChatFlowConfig.d.ts +0 -66
  175. package/dist/config/ChatFlowConfig.d.ts.map +0 -1
  176. package/dist/config/ChatFlowConfig.js +0 -54
  177. package/dist/config/ChatFlowConfig.js.map +0 -1
  178. package/dist/config/index.d.ts +0 -2
  179. package/dist/config/index.d.ts.map +0 -1
  180. package/dist/config/index.js +0 -7
  181. package/dist/config/index.js.map +0 -1
  182. package/dist/core/entities/ConversationSession.d.ts +0 -58
  183. package/dist/core/entities/ConversationSession.d.ts.map +0 -1
  184. package/dist/core/entities/ConversationSession.js +0 -160
  185. package/dist/core/entities/ConversationSession.js.map +0 -1
  186. package/dist/core/entities/Message.d.ts +0 -14
  187. package/dist/core/entities/Message.d.ts.map +0 -1
  188. package/dist/core/entities/Message.js +0 -32
  189. package/dist/core/entities/Message.js.map +0 -1
  190. package/dist/core/errors/ChatFlowError.d.ts +0 -71
  191. package/dist/core/errors/ChatFlowError.d.ts.map +0 -1
  192. package/dist/core/errors/ChatFlowError.js +0 -108
  193. package/dist/core/errors/ChatFlowError.js.map +0 -1
  194. package/dist/core/errors/index.d.ts +0 -2
  195. package/dist/core/errors/index.d.ts.map +0 -1
  196. package/dist/core/errors/index.js +0 -15
  197. package/dist/core/errors/index.js.map +0 -1
  198. package/dist/core/utils/AudioStreamBuffer.d.ts +0 -33
  199. package/dist/core/utils/AudioStreamBuffer.d.ts.map +0 -1
  200. package/dist/core/utils/AudioStreamBuffer.js +0 -55
  201. package/dist/core/utils/AudioStreamBuffer.js.map +0 -1
  202. package/dist/core/utils/AudioUtils.d.ts +0 -41
  203. package/dist/core/utils/AudioUtils.d.ts.map +0 -1
  204. package/dist/core/utils/AudioUtils.js +0 -188
  205. package/dist/core/utils/AudioUtils.js.map +0 -1
  206. package/dist/core/utils/LanguageDetector.d.ts +0 -52
  207. package/dist/core/utils/LanguageDetector.d.ts.map +0 -1
  208. package/dist/core/utils/LanguageDetector.js +0 -173
  209. package/dist/core/utils/LanguageDetector.js.map +0 -1
  210. package/dist/core/utils/WavUtils.d.ts +0 -14
  211. package/dist/core/utils/WavUtils.d.ts.map +0 -1
  212. package/dist/core/utils/WavUtils.js +0 -37
  213. package/dist/core/utils/WavUtils.js.map +0 -1
  214. package/dist/db/InMemoryRepository.d.ts +0 -15
  215. package/dist/db/InMemoryRepository.d.ts.map +0 -1
  216. package/dist/db/InMemoryRepository.js +0 -41
  217. package/dist/db/InMemoryRepository.js.map +0 -1
  218. package/dist/db/RedisRepository.d.ts +0 -16
  219. package/dist/db/RedisRepository.d.ts.map +0 -1
  220. package/dist/db/RedisRepository.js +0 -87
  221. package/dist/db/RedisRepository.js.map +0 -1
  222. package/dist/demo/cli-demo.d.ts +0 -2
  223. package/dist/demo/cli-demo.d.ts.map +0 -1
  224. package/dist/demo/cli-demo.js +0 -146
  225. package/dist/demo/cli-demo.js.map +0 -1
  226. package/dist/demo/console-chat.d.ts +0 -2
  227. package/dist/demo/console-chat.d.ts.map +0 -1
  228. package/dist/demo/console-chat.js +0 -148
  229. package/dist/demo/console-chat.js.map +0 -1
  230. package/dist/demo/interactive-voice-chat.d.ts +0 -2
  231. package/dist/demo/interactive-voice-chat.d.ts.map +0 -1
  232. package/dist/demo/interactive-voice-chat.js +0 -180
  233. package/dist/demo/interactive-voice-chat.js.map +0 -1
  234. package/dist/demo/voice-demo.d.ts +0 -2
  235. package/dist/demo/voice-demo.d.ts.map +0 -1
  236. package/dist/demo/voice-demo.js +0 -188
  237. package/dist/demo/voice-demo.js.map +0 -1
  238. package/dist/domain/conversation/ConversationSession.js +0 -82
  239. package/dist/domain/conversation/Message.js +0 -33
  240. package/dist/domain/conversation/SessionState.js +0 -10
  241. package/dist/index.d.ts +0 -26
  242. package/dist/index.d.ts.map +0 -1
  243. package/dist/index.js +0 -76
  244. package/dist/index.js.map +0 -1
  245. package/dist/intent/IntentService.d.ts +0 -17
  246. package/dist/intent/IntentService.d.ts.map +0 -1
  247. package/dist/intent/IntentService.js +0 -57
  248. package/dist/intent/IntentService.js.map +0 -1
  249. package/dist/intent/MockIntentService.d.ts +0 -7
  250. package/dist/intent/MockIntentService.d.ts.map +0 -1
  251. package/dist/intent/MockIntentService.js +0 -36
  252. package/dist/intent/MockIntentService.js.map +0 -1
  253. package/dist/interfaces.d.ts +0 -653
  254. package/dist/interfaces.d.ts.map +0 -1
  255. package/dist/interfaces.js +0 -36
  256. package/dist/interfaces.js.map +0 -1
  257. package/dist/llm/GeminiLLMAdapter.d.ts +0 -10
  258. package/dist/llm/GeminiLLMAdapter.d.ts.map +0 -1
  259. package/dist/llm/GeminiLLMAdapter.js +0 -102
  260. package/dist/llm/GeminiLLMAdapter.js.map +0 -1
  261. package/dist/llm/MockLLMAdapter.d.ts +0 -5
  262. package/dist/llm/MockLLMAdapter.d.ts.map +0 -1
  263. package/dist/llm/MockLLMAdapter.js +0 -31
  264. package/dist/llm/MockLLMAdapter.js.map +0 -1
  265. package/dist/orchestrator/Orchestrator.d.ts +0 -62
  266. package/dist/orchestrator/Orchestrator.d.ts.map +0 -1
  267. package/dist/orchestrator/Orchestrator.js +0 -697
  268. package/dist/orchestrator/Orchestrator.js.map +0 -1
  269. package/dist/ports/IIntentRepository.d.ts +0 -27
  270. package/dist/ports/IIntentRepository.d.ts.map +0 -1
  271. package/dist/ports/IIntentRepository.js +0 -3
  272. package/dist/ports/IIntentRepository.js.map +0 -1
  273. package/dist/ports/IntentPort.js +0 -2
  274. package/dist/ports/LLMPort.js +0 -2
  275. package/dist/ports/SessionRepository.js +0 -2
  276. package/dist/ports/WorkflowPort.js +0 -2
  277. package/dist/scripts/debug-redis.d.ts +0 -2
  278. package/dist/scripts/debug-redis.d.ts.map +0 -1
  279. package/dist/scripts/debug-redis.js +0 -55
  280. package/dist/scripts/debug-redis.js.map +0 -1
  281. package/dist/scripts/seed-collaborative-intents.d.ts +0 -2
  282. package/dist/scripts/seed-collaborative-intents.d.ts.map +0 -1
  283. package/dist/scripts/seed-collaborative-intents.js +0 -90
  284. package/dist/scripts/seed-collaborative-intents.js.map +0 -1
  285. package/dist/scripts/test-isolated-config.d.ts +0 -2
  286. package/dist/scripts/test-isolated-config.d.ts.map +0 -1
  287. package/dist/scripts/test-isolated-config.js +0 -80
  288. package/dist/scripts/test-isolated-config.js.map +0 -1
  289. package/dist/scripts/verify_memory_intents.d.ts +0 -2
  290. package/dist/scripts/verify_memory_intents.d.ts.map +0 -1
  291. package/dist/scripts/verify_memory_intents.js +0 -45
  292. package/dist/scripts/verify_memory_intents.js.map +0 -1
  293. package/dist/scripts/verify_redis_intents.d.ts +0 -2
  294. package/dist/scripts/verify_redis_intents.d.ts.map +0 -1
  295. package/dist/scripts/verify_redis_intents.js +0 -52
  296. package/dist/scripts/verify_redis_intents.js.map +0 -1
  297. package/dist/server/ChatFlowWebSocketServer.d.ts +0 -46
  298. package/dist/server/ChatFlowWebSocketServer.d.ts.map +0 -1
  299. package/dist/server/ChatFlowWebSocketServer.js +0 -344
  300. package/dist/server/ChatFlowWebSocketServer.js.map +0 -1
  301. package/dist/server/realtime-voice-server.d.ts +0 -2
  302. package/dist/server/realtime-voice-server.d.ts.map +0 -1
  303. package/dist/server/realtime-voice-server.js +0 -627
  304. package/dist/server/realtime-voice-server.js.map +0 -1
  305. package/dist/src/api/routes/tenants.d.ts +0 -3
  306. package/dist/src/api/routes/tenants.d.ts.map +0 -1
  307. package/dist/src/api/routes/tenants.js +0 -109
  308. package/dist/src/api/routes/tenants.js.map +0 -1
  309. package/dist/utils/crypto.d.ts +0 -7
  310. package/dist/utils/crypto.d.ts.map +0 -1
  311. package/dist/utils/crypto.js +0 -35
  312. package/dist/utils/crypto.js.map +0 -1
  313. package/dist/utils/encryption-helpers.d.ts +0 -14
  314. package/dist/utils/encryption-helpers.d.ts.map +0 -1
  315. package/dist/utils/encryption-helpers.js +0 -49
  316. package/dist/utils/encryption-helpers.js.map +0 -1
  317. package/dist/verify_memory_intents.js +0 -44
  318. package/dist/verify_redis_intents.js +0 -49
  319. package/dist/workflow/MockWorkflowAdapter.d.ts +0 -5
  320. package/dist/workflow/MockWorkflowAdapter.d.ts.map +0 -1
  321. package/dist/workflow/MockWorkflowAdapter.js +0 -162
  322. package/dist/workflow/MockWorkflowAdapter.js.map +0 -1
@@ -1,148 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- require("dotenv/config");
37
- const readline = __importStar(require("readline"));
38
- const Orchestrator_1 = require("../orchestrator/Orchestrator");
39
- const InMemoryRepository_1 = require("../adapters/repository/InMemoryRepository");
40
- const RedisRepository_1 = require("../adapters/repository/RedisRepository");
41
- const GeminiLLMAdapter_1 = require("../adapters/llm/GeminiLLMAdapter");
42
- const MockLLMAdapter_1 = require("../adapters/llm/MockLLMAdapter");
43
- const IntentService_1 = require("../adapters/intent/IntentService");
44
- const IntentMatcher_1 = require("../adapters/intent/IntentMatcher");
45
- const MockIntentService_1 = require("../adapters/intent/MockIntentService");
46
- const MockWorkflowAdapter_1 = require("../adapters/workflow/MockWorkflowAdapter");
47
- const WebhookService_1 = require("../adapters/webhook/WebhookService");
48
- const interfaces_1 = require("../interfaces");
49
- const uuid_1 = require("uuid");
50
- const AIR_TRAVEL_PROMPT = `
51
- You are 'SkyBot', a professional and friendly AI travel agent for 'AirConnect'.
52
- Your goal is to help users book flights, check status, and manage reservations.
53
- Always be polite, concise, and helpful.
54
-
55
- IMPORTANT:
56
- - If the system provides 'Workflow Results' (like available flights or booking confirmation), YOU MUST use that specific information to answer the user.
57
- - Do not make up flight data. Only use what is provided by the system context.
58
- - If you need more information (destination, dates), ask the user.
59
- `.trim();
60
- async function startChat() {
61
- console.log('--- Chat-Flow Console (Library Mode) ---');
62
- // 1. Initialize Adapters (Same as cli-demo)
63
- const redisUrl = process.env.REDIS_URL;
64
- const apiKey = process.env.GOOGLE_AI_API_KEY;
65
- let llm;
66
- if (apiKey) {
67
- console.log(`[Init] Using Gemini Generative AI Adapter`);
68
- llm = new GeminiLLMAdapter_1.GeminiLLMAdapter(apiKey);
69
- }
70
- else {
71
- console.log(`[Init] Using Mock LLM Adapter`);
72
- llm = new MockLLMAdapter_1.MockLLMAdapter();
73
- }
74
- let sessionRepo;
75
- let intentAdapter;
76
- if (redisUrl) {
77
- console.log(`[Init] Using Redis Repository at ${redisUrl}`);
78
- sessionRepo = new RedisRepository_1.RedisRepository(redisUrl);
79
- }
80
- else {
81
- console.log(`[Init] Using In-Memory Repository`);
82
- sessionRepo = new InMemoryRepository_1.InMemoryRepository();
83
- }
84
- if (sessionRepo instanceof RedisRepository_1.RedisRepository && llm instanceof GeminiLLMAdapter_1.GeminiLLMAdapter) {
85
- console.log(`[Init] Using Real Intent Detection`);
86
- const intentMatcher = new IntentMatcher_1.IntentMatcher(llm);
87
- intentAdapter = new IntentService_1.IntentService(sessionRepo, intentMatcher);
88
- }
89
- else {
90
- console.log(`[Init] Using Mock Intent Adapter`);
91
- intentAdapter = new MockIntentService_1.MockIntentService();
92
- }
93
- const workflow = new MockWorkflowAdapter_1.MockWorkflowAdapter();
94
- const webhookService = new WebhookService_1.WebhookService();
95
- const orchestrator = new Orchestrator_1.Orchestrator(sessionRepo, llm, intentAdapter, workflow, webhookService);
96
- // 2. Create Session
97
- const sessionId = (0, uuid_1.v4)();
98
- const session = await orchestrator.createSession(sessionId, 'TEXT', AIR_TRAVEL_PROMPT);
99
- console.log(`\n[Session Started] ID: ${sessionId}`);
100
- console.log('Type "bye" or "exit" to quit.\n');
101
- // 3. Chat Loop
102
- const rl = readline.createInterface({
103
- input: process.stdin,
104
- output: process.stdout,
105
- prompt: '> '
106
- });
107
- rl.prompt();
108
- rl.on('line', async (line) => {
109
- const input = line.trim();
110
- if (input.toLowerCase() === 'bye' || input.toLowerCase() === 'exit') {
111
- console.log('Goodbye!');
112
- if (sessionRepo instanceof RedisRepository_1.RedisRepository) {
113
- await sessionRepo.disconnect();
114
- }
115
- rl.close();
116
- return;
117
- }
118
- if (input) {
119
- try {
120
- const { messages, metadata } = await orchestrator.processMessage(session.sessionId, input);
121
- // Show Metadata
122
- if (metadata?.intent) {
123
- console.log(`[Meta] Intent Detected: ${metadata.intent} (Conf: ${metadata.confidence})`);
124
- }
125
- if (metadata?.workflowExecuted) {
126
- console.log(`[Meta] Workflow Executed: ${metadata.workflowExecuted}`);
127
- }
128
- messages.forEach((msg) => {
129
- if (msg.role === interfaces_1.Role.ASSISTANT) {
130
- console.log(`[Bot]: ${msg.content}`);
131
- }
132
- else if (msg.role === interfaces_1.Role.USER && msg.content.includes("System Info")) {
133
- console.log(`[System]: ${msg.content}`);
134
- }
135
- });
136
- }
137
- catch (err) {
138
- console.error('[Error]', err);
139
- }
140
- }
141
- console.log('');
142
- rl.prompt();
143
- }).on('close', () => {
144
- process.exit(0);
145
- });
146
- }
147
- startChat().catch(err => console.error(err));
148
- //# sourceMappingURL=console-chat.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"console-chat.js","sourceRoot":"","sources":["../../src/demo/console-chat.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=interactive-voice-chat.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interactive-voice-chat.d.ts","sourceRoot":"","sources":["../../src/demo/interactive-voice-chat.ts"],"names":[],"mappings":""}
@@ -1,180 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- const dotenv = __importStar(require("dotenv"));
37
- const fs = __importStar(require("fs"));
38
- const path = __importStar(require("path"));
39
- const readline = __importStar(require("readline"));
40
- const child_process_1 = require("child_process");
41
- const Orchestrator_1 = require("../orchestrator/Orchestrator");
42
- const GeminiLLMAdapter_1 = require("../adapters/llm/GeminiLLMAdapter");
43
- const InMemoryRepository_1 = require("../adapters/repository/InMemoryRepository");
44
- const IntentService_1 = require("../adapters/intent/IntentService");
45
- const IntentMatcher_1 = require("../adapters/intent/IntentMatcher");
46
- const MockWorkflowAdapter_1 = require("../adapters/workflow/MockWorkflowAdapter");
47
- const WebhookService_1 = require("../adapters/webhook/WebhookService");
48
- dotenv.config();
49
- const TEMP_RECORDING = path.join(process.cwd(), 'temp-recording.wav');
50
- const TEMP_RESPONSE = path.join(process.cwd(), 'temp-response.mp3');
51
- async function waitForEnter(message) {
52
- const rl = readline.createInterface({
53
- input: process.stdin,
54
- output: process.stdout
55
- });
56
- return new Promise((resolve) => {
57
- rl.question(message, () => {
58
- rl.close();
59
- resolve();
60
- });
61
- });
62
- }
63
- async function recordAudio() {
64
- return new Promise((resolve, reject) => {
65
- console.log('🎤 Recording... (Press ENTER to stop)');
66
- const rec = (0, child_process_1.spawn)('rec', ['-r', '16000', '-c', '1', '-b', '16', TEMP_RECORDING]);
67
- const rl = readline.createInterface({
68
- input: process.stdin,
69
- output: process.stdout
70
- });
71
- rl.on('line', () => {
72
- rec.kill('SIGINT');
73
- rl.close();
74
- });
75
- rec.on('close', (code) => {
76
- if (code === 0 || code === null) {
77
- console.log('✅ Recording stopped\n');
78
- const audioBuffer = fs.readFileSync(TEMP_RECORDING);
79
- resolve(audioBuffer.toString('base64'));
80
- }
81
- else {
82
- reject(new Error(`Recording failed with code ${code}`));
83
- }
84
- });
85
- rec.stderr.on('data', () => { });
86
- });
87
- }
88
- async function playAudio(audioPath) {
89
- return new Promise((resolve, reject) => {
90
- console.log('🔊 Playing response...\n');
91
- const play = (0, child_process_1.spawn)('afplay', [audioPath]);
92
- play.on('close', (code) => {
93
- code === 0 ? resolve() : reject(new Error(`Playback failed`));
94
- });
95
- });
96
- }
97
- async function runInteractiveVoiceChat() {
98
- console.log('🎤 Interactive Voice Chat\n');
99
- console.log('='.repeat(60));
100
- const geminiApiKey = process.env.GOOGLE_AI_API_KEY;
101
- const elevenLabsApiKey = process.env.ELEVENLABS_API_KEY;
102
- if (!geminiApiKey || !elevenLabsApiKey) {
103
- console.error('❌ Missing API keys');
104
- process.exit(1);
105
- }
106
- const llm = new GeminiLLMAdapter_1.GeminiLLMAdapter(geminiApiKey);
107
- stt: {
108
- provider: 'google', language;
109
- 'en-US';
110
- }
111
- tts: {
112
- provider: 'elevenlabs', voice;
113
- '21m00Tcm4TlvDq8ikWAM', language;
114
- 'en-US';
115
- }
116
- }
117
- ;
118
- const repository = new InMemoryRepository_1.InMemoryRepository();
119
- const intentMatcher = new IntentMatcher_1.IntentMatcher(llm);
120
- const intentService = new IntentService_1.IntentService(repository, intentMatcher);
121
- const workflowAdapter = new MockWorkflowAdapter_1.MockWorkflowAdapter();
122
- const webhookService = new WebhookService_1.WebhookService();
123
- const orchestrator = new Orchestrator_1.Orchestrator(repository, llm, intentService, workflowAdapter, webhookService, voiceAdapter);
124
- const sessionId = 'interactive-voice-' + Date.now();
125
- await orchestrator.createSession(sessionId, 'VOICE', 'You are a helpful voice assistant. Keep responses concise and conversational.');
126
- console.log('✅ Voice chat ready!\n');
127
- console.log('Instructions:');
128
- console.log(' 1. Press ENTER to start recording');
129
- console.log(' 2. Speak your question');
130
- console.log(' 3. Press ENTER to stop recording');
131
- console.log(' 4. AI will respond with voice');
132
- console.log(' 5. Say "goodbye" to end\n');
133
- console.log('='.repeat(60));
134
- // Main conversation loop
135
- while (true) {
136
- try {
137
- // Wait for user to press ENTER
138
- await waitForEnter('\n🎙️ Press ENTER to speak: ');
139
- // Record audio
140
- const audioBase64 = await recordAudio();
141
- // Process
142
- console.log('🤔 Transcribing...');
143
- const result = await orchestrator.handleVoiceMessage(sessionId, audioBase64);
144
- const transcript = result.transcript.trim();
145
- const response = result.messages[result.messages.length - 1]?.content;
146
- console.log(`\n📝 You: "${transcript}"`);
147
- console.log(`💭 AI is thinking...`);
148
- console.log(`🤖 AI: "${response}"`);
149
- // Check for goodbye
150
- const goodbyeWords = ['goodbye', 'bye', 'see you', 'exit', 'quit', 'end'];
151
- if (goodbyeWords.some(word => transcript.toLowerCase().includes(word))) {
152
- if (result.audioResponse) {
153
- fs.writeFileSync(TEMP_RESPONSE, result.audioResponse);
154
- await playAudio(TEMP_RESPONSE);
155
- }
156
- console.log('\n👋 Goodbye!');
157
- break;
158
- }
159
- // Play response
160
- if (result.audioResponse) {
161
- fs.writeFileSync(TEMP_RESPONSE, result.audioResponse);
162
- await playAudio(TEMP_RESPONSE);
163
- }
164
- console.log(`\n⏱️ Processing time: ${result.metadata.voice.stt_duration_ms + result.metadata.voice.tts_duration_ms}ms`);
165
- console.log('='.repeat(60));
166
- }
167
- catch (error) {
168
- console.error('\n❌ Error:', error.message);
169
- }
170
- }
171
- // Cleanup
172
- if (fs.existsSync(TEMP_RECORDING))
173
- fs.unlinkSync(TEMP_RECORDING);
174
- if (fs.existsSync(TEMP_RESPONSE))
175
- fs.unlinkSync(TEMP_RESPONSE);
176
- runInteractiveVoiceChat().catch((error) => {
177
- console.error('\n💥 Fatal error:', error);
178
- process.exit(1);
179
- });
180
- //# sourceMappingURL=interactive-voice-chat.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interactive-voice-chat.js","sourceRoot":"","sources":["../../src/demo/interactive-voice-chat.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=voice-demo.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"voice-demo.d.ts","sourceRoot":"","sources":["../../src/demo/voice-demo.ts"],"names":[],"mappings":""}
@@ -1,188 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- const dotenv = __importStar(require("dotenv"));
37
- const fs = __importStar(require("fs"));
38
- const path = __importStar(require("path"));
39
- const Orchestrator_1 = require("../orchestrator/Orchestrator");
40
- const GeminiLLMAdapter_1 = require("../adapters/llm/GeminiLLMAdapter");
41
- const InMemoryRepository_1 = require("../adapters/repository/InMemoryRepository");
42
- const IntentService_1 = require("../adapters/intent/IntentService");
43
- const IntentMatcher_1 = require("../adapters/intent/IntentMatcher");
44
- const MockWorkflowAdapter_1 = require("../adapters/workflow/MockWorkflowAdapter");
45
- const WebhookService_1 = require("../adapters/webhook/WebhookService");
46
- // Load environment variables from .env file
47
- dotenv.config();
48
- /**
49
- * Voice Conversation Demo
50
- *
51
- * This demo shows how to use voice capabilities (TTS/STT) with chat-flow.
52
- *
53
- * Prerequisites:
54
- * 1. Set GOOGLE_AI_API_KEY environment variable (for STT via Gemini)
55
- * 2. Set ELEVENLABS_API_KEY environment variable (for TTS via ElevenLabs)
56
- * 3. (Optional) Place a WAV audio file at ./test-audio.wav to test STT
57
- *
58
- * The demo will:
59
- * - Create a voice-enabled session
60
- * - Process audio input (if available) using Gemini STT
61
- * - Generate audio output using ElevenLabs TTS
62
- */
63
- async function runVoiceDemo() {
64
- console.log('🎤 Voice Conversation Demo\n');
65
- console.log('='.repeat(60));
66
- // Check for API keys
67
- const geminiApiKey = process.env.GOOGLE_AI_API_KEY;
68
- const elevenLabsApiKey = process.env.ELEVENLABS_API_KEY;
69
- if (!geminiApiKey) {
70
- console.error('❌ Error: GOOGLE_AI_API_KEY environment variable not set');
71
- console.log('\nPlease set your Gemini API key (for STT):');
72
- console.log(' export GOOGLE_AI_API_KEY="your-gemini-api-key"');
73
- process.exit(1);
74
- }
75
- if (!elevenLabsApiKey) {
76
- console.error('❌ Error: ELEVENLABS_API_KEY environment variable not set');
77
- console.log('\nPlease set your ElevenLabs API key (for TTS):');
78
- console.log(' 1. Sign up at https://elevenlabs.io (free tier: 10,000 chars/month)');
79
- console.log(' 2. Get your API key from https://elevenlabs.io/app/settings/api-keys');
80
- console.log(' 3. Add to .env file: ELEVENLABS_API_KEY="your-elevenlabs-key"');
81
- process.exit(1);
82
- }
83
- // Setup components
84
- console.log('⚙️ Initializing components...\n');
85
- const llm = new GeminiLLMAdapter_1.GeminiLLMAdapter(geminiApiKey);
86
- // Use Hybrid adapter: Gemini for STT + ElevenLabs for TTS
87
- geminiApiKey,
88
- elevenLabsApiKey,
89
- {
90
- stt: {
91
- provider: 'google',
92
- language: 'en-US'
93
- },
94
- tts: {
95
- provider: 'elevenlabs',
96
- voice: '21m00Tcm4TlvDq8ikWAM', // Rachel voice (free tier)
97
- language: 'en-US'
98
- }
99
- };
100
- ;
101
- const repository = new InMemoryRepository_1.InMemoryRepository();
102
- const intentMatcher = new IntentMatcher_1.IntentMatcher(llm);
103
- const intentService = new IntentService_1.IntentService(repository, intentMatcher);
104
- const workflowAdapter = new MockWorkflowAdapter_1.MockWorkflowAdapter();
105
- const webhookService = new WebhookService_1.WebhookService();
106
- const orchestrator = new Orchestrator_1.Orchestrator(repository, llm, intentService, workflowAdapter, webhookService, voiceAdapter // Inject voice adapter separately!
107
- );
108
- // Create voice session
109
- const sessionId = 'voice-demo-' + Date.now();
110
- await orchestrator.createSession(sessionId, 'VOICE', 'You are a helpful voice assistant. Keep responses concise and natural for voice conversation.');
111
- console.log(`✅ Voice session created: ${sessionId}\n`);
112
- console.log('='.repeat(60));
113
- // Check for test audio file
114
- const audioPath = path.join(process.cwd(), 'test-audio.wav');
115
- if (fs.existsSync(audioPath)) {
116
- console.log('\n🎵 Found test audio file, processing...\n');
117
- try {
118
- // Read and encode audio
119
- const audioBuffer = fs.readFileSync(audioPath);
120
- const audioBase64 = audioBuffer.toString('base64');
121
- console.log(`📊 Audio file size: ${(audioBuffer.length / 1024).toFixed(2)} KB`);
122
- console.log('🔄 Processing voice message...\n');
123
- // Process voice message
124
- const startTime = Date.now();
125
- const result = await orchestrator.handleVoiceMessage(sessionId, audioBase64);
126
- const totalTime = Date.now() - startTime;
127
- console.log('='.repeat(60));
128
- console.log('📝 RESULTS');
129
- console.log('='.repeat(60));
130
- console.log(`\n📝 Transcript: "${result.transcript}"`);
131
- console.log(`\n🤖 Response: "${result.messages[result.messages.length - 1]?.content}"`);
132
- if (result.audioResponse) {
133
- // Save audio response (MP3 format from ElevenLabs)
134
- const outputPath = path.join(process.cwd(), 'voice-response.mp3');
135
- fs.writeFileSync(outputPath, result.audioResponse);
136
- console.log(`\n🔊 Audio response saved to: ${outputPath}`);
137
- console.log(` Size: ${(result.audioResponse.length / 1024).toFixed(2)} KB`);
138
- }
139
- console.log('\n📊 Performance Metrics:');
140
- console.log(` Total time: ${totalTime}ms`);
141
- console.log(` STT time: ${result.metadata.voice.stt_duration_ms}ms`);
142
- console.log(` TTS time: ${result.metadata.voice.tts_duration_ms}ms`);
143
- console.log('='.repeat(60));
144
- }
145
- catch (error) {
146
- console.error('\n❌ Error processing voice message:', error.message);
147
- console.error(error.stack);
148
- }
149
- }
150
- else {
151
- console.log('\n⚠️ No test audio file found at:', audioPath);
152
- console.log('\n📌 To test voice input:');
153
- console.log(' 1. Record a WAV file (16kHz mono recommended)');
154
- console.log(' 2. Save it as ./test-audio.wav');
155
- console.log(' 3. Run this demo again\n');
156
- // Demonstrate TTS only
157
- console.log('🔊 Testing TTS (Text-to-Speech) only...\n');
158
- try {
159
- const testText = 'Hello! This is a test of the text to speech system. Voice capabilities are now integrated into chat-flow.';
160
- console.log(`📝 Input text: "${testText}"\n`);
161
- console.log('🔄 Generating audio...\n');
162
- const startTime = Date.now();
163
- const audioResponse = await orchestrator.getVoiceResponse(testText);
164
- const ttsTime = Date.now() - startTime;
165
- const outputPath = path.join(process.cwd(), 'tts-test.mp3');
166
- fs.writeFileSync(outputPath, audioResponse);
167
- console.log('='.repeat(60));
168
- console.log('✅ TTS TEST SUCCESSFUL');
169
- console.log('='.repeat(60));
170
- console.log(`\n🔊 Audio saved to: ${outputPath}`);
171
- console.log(` Size: ${(audioResponse.length / 1024).toFixed(2)} KB`);
172
- console.log(` Generation time: ${ttsTime}ms`);
173
- console.log('\n💡 Play the audio file to hear the result!');
174
- console.log('='.repeat(60));
175
- }
176
- catch (error) {
177
- console.error('\n❌ Error generating TTS:', error.message);
178
- console.error(error.stack);
179
- }
180
- }
181
- console.log('\n✨ Demo complete!\n');
182
- }
183
- // Run the demo
184
- runVoiceDemo().catch((error) => {
185
- console.error('\n💥 Fatal error:', error);
186
- process.exit(1);
187
- });
188
- //# sourceMappingURL=voice-demo.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"voice-demo.js","sourceRoot":"","sources":["../../src/demo/voice-demo.ts"],"names":[],"mappings":"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"}
@@ -1,82 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ConversationSession = void 0;
4
- const Message_1 = require("./Message");
5
- const SessionState_1 = require("./SessionState");
6
- class ConversationSession {
7
- constructor(props) {
8
- this.sessionId = props.sessionId;
9
- this.mode = props.mode;
10
- this.agentPrompt = props.agentPrompt;
11
- this._messages = [];
12
- this._status = SessionState_1.SessionStatus.ACTIVE;
13
- this._metadata = {};
14
- this.createdAt = new Date();
15
- this.updatedAt = new Date();
16
- }
17
- // Helper to restore from persistence
18
- static reconstitute(data) {
19
- // We create a "shell" session via private constructor or just forcing it.
20
- // For simplicity in this demo, we'll instantiate normally and override.
21
- const session = new ConversationSession({
22
- sessionId: data.sessionId,
23
- mode: data.mode,
24
- agentPrompt: data.agentPrompt
25
- });
26
- // Restore state
27
- // Assuming messages are stored as plain objects, we need to map them back to Message instances
28
- session._messages = (data.messages || []).map((m) => new Message_1.Message({
29
- role: m.role,
30
- content: m.content,
31
- timestamp: new Date(m.timestamp),
32
- metadata: m.metadata
33
- }));
34
- session._status = data.status;
35
- session._metadata = data.metadata || {};
36
- // @ts-ignore - writing to readonly for hydration
37
- session.createdAt = new Date(data.createdAt);
38
- session.updatedAt = new Date(data.updatedAt);
39
- return session;
40
- }
41
- // Helper to snapshot for persistence
42
- toSnapshot() {
43
- return {
44
- sessionId: this.sessionId,
45
- mode: this.mode,
46
- agentPrompt: this.agentPrompt,
47
- messages: this._messages,
48
- status: this._status,
49
- metadata: this._metadata,
50
- createdAt: this.createdAt,
51
- updatedAt: this.updatedAt
52
- };
53
- }
54
- get messages() {
55
- return [...this._messages];
56
- }
57
- get status() {
58
- return this._status;
59
- }
60
- addMessage(message) {
61
- this._messages.push(message);
62
- this.updatedAt = new Date();
63
- }
64
- updateStatus(status) {
65
- this._status = status;
66
- this.updatedAt = new Date();
67
- }
68
- setMetadata(key, value) {
69
- this._metadata[key] = value;
70
- this.updatedAt = new Date();
71
- }
72
- getMetadata(key) {
73
- return this._metadata[key];
74
- }
75
- // Helper to get conversation history for LLM Context
76
- // Can prepend system instructions here if needed by specific LLM adapters,
77
- // but usually handled in the Adapter layer.
78
- getHistory() {
79
- return this._messages;
80
- }
81
- }
82
- exports.ConversationSession = ConversationSession;