chat-flow-ardymalihi 1.0.2 → 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 (359) hide show
  1. package/README.md +2 -0
  2. package/dist/{adapters → src/adapters}/intent/IntentMatcher.d.ts +16 -0
  3. package/dist/src/adapters/intent/IntentMatcher.d.ts.map +1 -0
  4. package/dist/src/adapters/intent/IntentMatcher.js +167 -0
  5. package/dist/src/adapters/intent/IntentMatcher.js.map +1 -0
  6. package/dist/{adapters → src/adapters}/intent/IntentService.d.ts +4 -5
  7. package/dist/src/adapters/intent/IntentService.d.ts.map +1 -0
  8. package/dist/{adapters → src/adapters}/intent/IntentService.js +15 -9
  9. package/dist/src/adapters/intent/IntentService.js.map +1 -0
  10. package/dist/src/adapters/intent/MockIntentService.d.ts +7 -0
  11. package/dist/src/adapters/intent/MockIntentService.d.ts.map +1 -0
  12. package/dist/{intent → src/adapters/intent}/MockIntentService.js +9 -3
  13. package/dist/src/adapters/intent/MockIntentService.js.map +1 -0
  14. package/dist/src/adapters/llm/GeminiLLMAdapter.d.ts.map +1 -0
  15. package/dist/src/adapters/llm/GeminiLLMAdapter.js.map +1 -0
  16. package/dist/src/adapters/llm/MockLLMAdapter.d.ts.map +1 -0
  17. package/dist/src/adapters/llm/MockLLMAdapter.js.map +1 -0
  18. package/dist/src/adapters/llm/OllamaLLMAdapter.d.ts +9 -0
  19. package/dist/src/adapters/llm/OllamaLLMAdapter.d.ts.map +1 -0
  20. package/dist/src/adapters/llm/OllamaLLMAdapter.js +74 -0
  21. package/dist/src/adapters/llm/OllamaLLMAdapter.js.map +1 -0
  22. package/dist/src/adapters/logger/ConsoleLogger.d.ts +12 -0
  23. package/dist/src/adapters/logger/ConsoleLogger.d.ts.map +1 -0
  24. package/dist/src/adapters/logger/ConsoleLogger.js +37 -0
  25. package/dist/src/adapters/logger/ConsoleLogger.js.map +1 -0
  26. package/dist/src/adapters/repository/InMemoryRepository.d.ts +57 -0
  27. package/dist/src/adapters/repository/InMemoryRepository.d.ts.map +1 -0
  28. package/dist/src/adapters/repository/InMemoryRepository.js +269 -0
  29. package/dist/src/adapters/repository/InMemoryRepository.js.map +1 -0
  30. package/dist/src/adapters/repository/RedisRepository.d.ts +72 -0
  31. package/dist/src/adapters/repository/RedisRepository.d.ts.map +1 -0
  32. package/dist/src/adapters/repository/RedisRepository.js +700 -0
  33. package/dist/src/adapters/repository/RedisRepository.js.map +1 -0
  34. package/dist/src/adapters/repository/SupabaseRepository.d.ts +60 -0
  35. package/dist/src/adapters/repository/SupabaseRepository.d.ts.map +1 -0
  36. package/dist/src/adapters/repository/SupabaseRepository.js +774 -0
  37. package/dist/src/adapters/repository/SupabaseRepository.js.map +1 -0
  38. package/dist/src/adapters/storage/RedisAudioStorageAdapter.d.ts +33 -0
  39. package/dist/src/adapters/storage/RedisAudioStorageAdapter.d.ts.map +1 -0
  40. package/dist/src/adapters/storage/RedisAudioStorageAdapter.js +121 -0
  41. package/dist/src/adapters/storage/RedisAudioStorageAdapter.js.map +1 -0
  42. package/dist/src/adapters/voice/GoogleVoiceAdapter.d.ts +33 -0
  43. package/dist/src/adapters/voice/GoogleVoiceAdapter.d.ts.map +1 -0
  44. package/dist/src/adapters/voice/GoogleVoiceAdapter.js +155 -0
  45. package/dist/src/adapters/voice/GoogleVoiceAdapter.js.map +1 -0
  46. package/dist/src/adapters/voice/LanguageVoiceMapper.d.ts +60 -0
  47. package/dist/src/adapters/voice/LanguageVoiceMapper.d.ts.map +1 -0
  48. package/dist/src/adapters/voice/LanguageVoiceMapper.js +130 -0
  49. package/dist/src/adapters/voice/LanguageVoiceMapper.js.map +1 -0
  50. package/dist/src/adapters/voice/VertexVoiceAdapter.d.ts +32 -0
  51. package/dist/src/adapters/voice/VertexVoiceAdapter.d.ts.map +1 -0
  52. package/dist/src/adapters/voice/VertexVoiceAdapter.js +179 -0
  53. package/dist/src/adapters/voice/VertexVoiceAdapter.js.map +1 -0
  54. package/dist/src/adapters/webhook/WebhookService.d.ts +47 -0
  55. package/dist/src/adapters/webhook/WebhookService.d.ts.map +1 -0
  56. package/dist/src/adapters/webhook/WebhookService.js +265 -0
  57. package/dist/src/adapters/webhook/WebhookService.js.map +1 -0
  58. package/dist/src/adapters/workflow/MockWorkflowAdapter.d.ts.map +1 -0
  59. package/dist/{workflow → src/adapters/workflow}/MockWorkflowAdapter.js +12 -1
  60. package/dist/src/adapters/workflow/MockWorkflowAdapter.js.map +1 -0
  61. package/dist/src/adapters/workflow/WorkflowAdapter.d.ts +55 -0
  62. package/dist/src/adapters/workflow/WorkflowAdapter.d.ts.map +1 -0
  63. package/dist/src/adapters/workflow/WorkflowAdapter.js +203 -0
  64. package/dist/src/adapters/workflow/WorkflowAdapter.js.map +1 -0
  65. package/dist/src/adapters/workflow/actions/index.d.ts +6 -0
  66. package/dist/src/adapters/workflow/actions/index.d.ts.map +1 -0
  67. package/dist/src/adapters/workflow/actions/index.js +22 -0
  68. package/dist/src/adapters/workflow/actions/index.js.map +1 -0
  69. package/dist/src/adapters/workflow/actions/pushOutputResultAction.d.ts +11 -0
  70. package/dist/src/adapters/workflow/actions/pushOutputResultAction.d.ts.map +1 -0
  71. package/dist/src/adapters/workflow/actions/pushOutputResultAction.js +31 -0
  72. package/dist/src/adapters/workflow/actions/pushOutputResultAction.js.map +1 -0
  73. package/dist/src/adapters/workflow/engine/constants.d.ts +3 -0
  74. package/dist/src/adapters/workflow/engine/constants.d.ts.map +1 -0
  75. package/dist/src/adapters/workflow/engine/constants.js +6 -0
  76. package/dist/src/adapters/workflow/engine/constants.js.map +1 -0
  77. package/dist/src/adapters/workflow/engine/engine.d.ts +32 -0
  78. package/dist/src/adapters/workflow/engine/engine.d.ts.map +1 -0
  79. package/dist/src/adapters/workflow/engine/engine.js +622 -0
  80. package/dist/src/adapters/workflow/engine/engine.js.map +1 -0
  81. package/dist/src/adapters/workflow/engine/event-registry.d.ts +12 -0
  82. package/dist/src/adapters/workflow/engine/event-registry.d.ts.map +1 -0
  83. package/dist/src/adapters/workflow/engine/event-registry.js +33 -0
  84. package/dist/src/adapters/workflow/engine/event-registry.js.map +1 -0
  85. package/dist/src/adapters/workflow/engine/interpolator.d.ts +11 -0
  86. package/dist/src/adapters/workflow/engine/interpolator.d.ts.map +1 -0
  87. package/dist/src/adapters/workflow/engine/interpolator.js +93 -0
  88. package/dist/src/adapters/workflow/engine/interpolator.js.map +1 -0
  89. package/dist/src/adapters/workflow/engine/registry.d.ts +12 -0
  90. package/dist/src/adapters/workflow/engine/registry.d.ts.map +1 -0
  91. package/dist/src/adapters/workflow/engine/registry.js +39 -0
  92. package/dist/src/adapters/workflow/engine/registry.js.map +1 -0
  93. package/dist/src/adapters/workflow/engine/template-registry.d.ts +60 -0
  94. package/dist/src/adapters/workflow/engine/template-registry.d.ts.map +1 -0
  95. package/dist/src/adapters/workflow/engine/template-registry.js +92 -0
  96. package/dist/src/adapters/workflow/engine/template-registry.js.map +1 -0
  97. package/dist/src/adapters/workflow/engine/utils/format-utils.d.ts +43 -0
  98. package/dist/src/adapters/workflow/engine/utils/format-utils.d.ts.map +1 -0
  99. package/dist/src/adapters/workflow/engine/utils/format-utils.js +137 -0
  100. package/dist/src/adapters/workflow/engine/utils/format-utils.js.map +1 -0
  101. package/dist/src/adapters/workflow/engine/utils/layout-calculator.d.ts +7 -0
  102. package/dist/src/adapters/workflow/engine/utils/layout-calculator.d.ts.map +1 -0
  103. package/dist/src/adapters/workflow/engine/utils/layout-calculator.js +87 -0
  104. package/dist/src/adapters/workflow/engine/utils/layout-calculator.js.map +1 -0
  105. package/dist/src/adapters/workflow/engine/utils/slugify.d.ts +2 -0
  106. package/dist/src/adapters/workflow/engine/utils/slugify.d.ts.map +1 -0
  107. package/dist/src/adapters/workflow/engine/utils/slugify.js +41 -0
  108. package/dist/src/adapters/workflow/engine/utils/slugify.js.map +1 -0
  109. package/dist/src/adapters/workflow/engine/validator.d.ts +9 -0
  110. package/dist/src/adapters/workflow/engine/validator.d.ts.map +1 -0
  111. package/dist/src/adapters/workflow/engine/validator.js +425 -0
  112. package/dist/src/adapters/workflow/engine/validator.js.map +1 -0
  113. package/dist/src/api/router.d.ts +3 -0
  114. package/dist/src/api/router.d.ts.map +1 -0
  115. package/dist/src/api/router.js +27 -0
  116. package/dist/src/api/router.js.map +1 -0
  117. package/dist/src/api/routes/configs.d.ts +3 -0
  118. package/dist/src/api/routes/configs.d.ts.map +1 -0
  119. package/dist/src/api/routes/configs.js +110 -0
  120. package/dist/src/api/routes/configs.js.map +1 -0
  121. package/dist/src/api/routes/executions.d.ts +3 -0
  122. package/dist/src/api/routes/executions.d.ts.map +1 -0
  123. package/dist/src/api/routes/executions.js +77 -0
  124. package/dist/src/api/routes/executions.js.map +1 -0
  125. package/dist/src/api/routes/intents.d.ts +3 -0
  126. package/dist/src/api/routes/intents.d.ts.map +1 -0
  127. package/dist/src/api/routes/intents.js +128 -0
  128. package/dist/src/api/routes/intents.js.map +1 -0
  129. package/dist/src/api/routes/sessions.d.ts +3 -0
  130. package/dist/src/api/routes/sessions.d.ts.map +1 -0
  131. package/dist/src/api/routes/sessions.js +105 -0
  132. package/dist/src/api/routes/sessions.js.map +1 -0
  133. package/dist/src/api/routes/users.d.ts +3 -0
  134. package/dist/src/api/routes/users.d.ts.map +1 -0
  135. package/dist/src/api/routes/users.js +51 -0
  136. package/dist/src/api/routes/users.js.map +1 -0
  137. package/dist/src/api/routes/workflows.d.ts +3 -0
  138. package/dist/src/api/routes/workflows.d.ts.map +1 -0
  139. package/dist/src/api/routes/workflows.js +132 -0
  140. package/dist/src/api/routes/workflows.js.map +1 -0
  141. package/dist/{config → src/config}/ChatFlowConfig.d.ts +7 -0
  142. package/dist/src/config/ChatFlowConfig.d.ts.map +1 -0
  143. package/dist/{config → src/config}/ChatFlowConfig.js +5 -0
  144. package/dist/src/config/ChatFlowConfig.js.map +1 -0
  145. package/dist/src/config/index.d.ts.map +1 -0
  146. package/dist/src/config/index.js.map +1 -0
  147. package/dist/src/config/swagger.d.ts +2 -0
  148. package/dist/src/config/swagger.d.ts.map +1 -0
  149. package/dist/src/config/swagger.js +136 -0
  150. package/dist/src/config/swagger.js.map +1 -0
  151. package/dist/src/core/entities/ConversationSession.d.ts +58 -0
  152. package/dist/src/core/entities/ConversationSession.d.ts.map +1 -0
  153. package/dist/src/core/entities/ConversationSession.js +160 -0
  154. package/dist/src/core/entities/ConversationSession.js.map +1 -0
  155. package/dist/{core → src/core}/entities/Message.d.ts +5 -2
  156. package/dist/src/core/entities/Message.d.ts.map +1 -0
  157. package/dist/{core → src/core}/entities/Message.js +2 -0
  158. package/dist/src/core/entities/Message.js.map +1 -0
  159. package/dist/src/core/errors/ChatFlowError.d.ts.map +1 -0
  160. package/dist/src/core/errors/ChatFlowError.js.map +1 -0
  161. package/dist/src/core/errors/index.d.ts.map +1 -0
  162. package/dist/src/core/errors/index.js.map +1 -0
  163. package/dist/src/core/utils/AudioUtils.d.ts +41 -0
  164. package/dist/src/core/utils/AudioUtils.d.ts.map +1 -0
  165. package/dist/src/core/utils/AudioUtils.js +188 -0
  166. package/dist/src/core/utils/AudioUtils.js.map +1 -0
  167. package/dist/src/core/utils/LanguageDetector.d.ts +52 -0
  168. package/dist/src/core/utils/LanguageDetector.d.ts.map +1 -0
  169. package/dist/src/core/utils/LanguageDetector.js +173 -0
  170. package/dist/src/core/utils/LanguageDetector.js.map +1 -0
  171. package/dist/src/demo/cli-demo.d.ts.map +1 -0
  172. package/dist/{demo → src/demo}/cli-demo.js +10 -6
  173. package/dist/src/demo/cli-demo.js.map +1 -0
  174. package/dist/src/demo/console-chat.d.ts.map +1 -0
  175. package/dist/{demo → src/demo}/console-chat.js +10 -6
  176. package/dist/src/demo/console-chat.js.map +1 -0
  177. package/dist/{index.d.ts → src/index.d.ts} +10 -5
  178. package/dist/src/index.d.ts.map +1 -0
  179. package/dist/{index.js → src/index.js} +25 -8
  180. package/dist/src/index.js.map +1 -0
  181. package/dist/src/interfaces.d.ts +663 -0
  182. package/dist/src/interfaces.d.ts.map +1 -0
  183. package/dist/src/interfaces.js +36 -0
  184. package/dist/src/interfaces.js.map +1 -0
  185. package/dist/src/orchestrator/Orchestrator.d.ts +62 -0
  186. package/dist/src/orchestrator/Orchestrator.d.ts.map +1 -0
  187. package/dist/src/orchestrator/Orchestrator.js +697 -0
  188. package/dist/src/orchestrator/Orchestrator.js.map +1 -0
  189. package/dist/src/scripts/debug-redis.d.ts.map +1 -0
  190. package/dist/src/scripts/debug-redis.js.map +1 -0
  191. package/dist/src/scripts/seed-collaborative-intents.d.ts +2 -0
  192. package/dist/src/scripts/seed-collaborative-intents.d.ts.map +1 -0
  193. package/dist/src/scripts/seed-collaborative-intents.js +90 -0
  194. package/dist/src/scripts/seed-collaborative-intents.js.map +1 -0
  195. package/dist/src/scripts/test-isolated-config.d.ts +2 -0
  196. package/dist/src/scripts/test-isolated-config.d.ts.map +1 -0
  197. package/dist/src/scripts/test-isolated-config.js +80 -0
  198. package/dist/src/scripts/test-isolated-config.js.map +1 -0
  199. package/dist/src/scripts/verify_memory_intents.d.ts.map +1 -0
  200. package/dist/src/scripts/verify_memory_intents.js.map +1 -0
  201. package/dist/src/scripts/verify_redis_intents.d.ts.map +1 -0
  202. package/dist/{scripts → src/scripts}/verify_redis_intents.js +4 -2
  203. package/dist/src/scripts/verify_redis_intents.js.map +1 -0
  204. package/dist/src/server/ChatFlowWebSocketServer.d.ts +42 -0
  205. package/dist/src/server/ChatFlowWebSocketServer.d.ts.map +1 -0
  206. package/dist/src/server/ChatFlowWebSocketServer.js +355 -0
  207. package/dist/src/server/ChatFlowWebSocketServer.js.map +1 -0
  208. package/dist/src/utils/crypto.d.ts +7 -0
  209. package/dist/src/utils/crypto.d.ts.map +1 -0
  210. package/dist/src/utils/crypto.js +35 -0
  211. package/dist/src/utils/crypto.js.map +1 -0
  212. package/dist/src/utils/encryption-helpers.d.ts +14 -0
  213. package/dist/src/utils/encryption-helpers.d.ts.map +1 -0
  214. package/dist/src/utils/encryption-helpers.js +49 -0
  215. package/dist/src/utils/encryption-helpers.js.map +1 -0
  216. package/dist/web/seed-demo-data.d.ts +2 -0
  217. package/dist/web/seed-demo-data.d.ts.map +1 -0
  218. package/dist/web/seed-demo-data.js +267 -0
  219. package/dist/web/seed-demo-data.js.map +1 -0
  220. package/dist/web/web-server.d.ts +2 -0
  221. package/dist/web/web-server.d.ts.map +1 -0
  222. package/dist/web/web-server.js +165 -0
  223. package/dist/web/web-server.js.map +1 -0
  224. package/package.json +32 -3
  225. package/dist/adapters/db/InMemorySessionRepository.js +0 -15
  226. package/dist/adapters/db/RedisSessionRepository.js +0 -41
  227. package/dist/adapters/intent/IntentMatcher.d.ts.map +0 -1
  228. package/dist/adapters/intent/IntentMatcher.js +0 -89
  229. package/dist/adapters/intent/IntentMatcher.js.map +0 -1
  230. package/dist/adapters/intent/IntentService.d.ts.map +0 -1
  231. package/dist/adapters/intent/IntentService.js.map +0 -1
  232. package/dist/adapters/intent/MockIntentAdapter.js +0 -29
  233. package/dist/adapters/llm/GeminiLLMAdapter.d.ts.map +0 -1
  234. package/dist/adapters/llm/GeminiLLMAdapter.js.map +0 -1
  235. package/dist/adapters/llm/MockLLMAdapter.d.ts.map +0 -1
  236. package/dist/adapters/llm/MockLLMAdapter.js.map +0 -1
  237. package/dist/adapters/memory/InMemorySessionRepository.js +0 -15
  238. package/dist/adapters/redis/RedisSessionRepository.js +0 -41
  239. package/dist/adapters/repository/InMemoryRepository.d.ts +0 -15
  240. package/dist/adapters/repository/InMemoryRepository.d.ts.map +0 -1
  241. package/dist/adapters/repository/InMemoryRepository.js +0 -41
  242. package/dist/adapters/repository/InMemoryRepository.js.map +0 -1
  243. package/dist/adapters/repository/IntentRepository.d.ts +0 -15
  244. package/dist/adapters/repository/IntentRepository.d.ts.map +0 -1
  245. package/dist/adapters/repository/IntentRepository.js +0 -28
  246. package/dist/adapters/repository/IntentRepository.js.map +0 -1
  247. package/dist/adapters/repository/RedisRepository.d.ts +0 -16
  248. package/dist/adapters/repository/RedisRepository.d.ts.map +0 -1
  249. package/dist/adapters/repository/RedisRepository.js +0 -87
  250. package/dist/adapters/repository/RedisRepository.js.map +0 -1
  251. package/dist/adapters/workflow/MockWorkflowAdapter.d.ts.map +0 -1
  252. package/dist/adapters/workflow/MockWorkflowAdapter.js +0 -162
  253. package/dist/adapters/workflow/MockWorkflowAdapter.js.map +0 -1
  254. package/dist/application/ConversationSession.d.ts +0 -23
  255. package/dist/application/ConversationSession.d.ts.map +0 -1
  256. package/dist/application/ConversationSession.js +0 -83
  257. package/dist/application/ConversationSession.js.map +0 -1
  258. package/dist/application/Message.d.ts +0 -11
  259. package/dist/application/Message.d.ts.map +0 -1
  260. package/dist/application/Message.js +0 -30
  261. package/dist/application/Message.js.map +0 -1
  262. package/dist/application/Orchestrator.d.ts +0 -18
  263. package/dist/application/Orchestrator.d.ts.map +0 -1
  264. package/dist/application/Orchestrator.js +0 -80
  265. package/dist/application/Orchestrator.js.map +0 -1
  266. package/dist/application/SessionState.js +0 -2
  267. package/dist/application/usecases/CreateSession.js +0 -20
  268. package/dist/application/usecases/HandleUserMessage.js +0 -69
  269. package/dist/config/ChatFlowConfig.d.ts.map +0 -1
  270. package/dist/config/ChatFlowConfig.js.map +0 -1
  271. package/dist/config/index.d.ts.map +0 -1
  272. package/dist/config/index.js.map +0 -1
  273. package/dist/core/entities/ConversationSession.d.ts +0 -23
  274. package/dist/core/entities/ConversationSession.d.ts.map +0 -1
  275. package/dist/core/entities/ConversationSession.js +0 -83
  276. package/dist/core/entities/ConversationSession.js.map +0 -1
  277. package/dist/core/entities/Message.d.ts.map +0 -1
  278. package/dist/core/entities/Message.js.map +0 -1
  279. package/dist/core/errors/ChatFlowError.d.ts.map +0 -1
  280. package/dist/core/errors/ChatFlowError.js.map +0 -1
  281. package/dist/core/errors/index.d.ts.map +0 -1
  282. package/dist/core/errors/index.js.map +0 -1
  283. package/dist/db/InMemoryRepository.d.ts +0 -15
  284. package/dist/db/InMemoryRepository.d.ts.map +0 -1
  285. package/dist/db/InMemoryRepository.js +0 -41
  286. package/dist/db/InMemoryRepository.js.map +0 -1
  287. package/dist/db/RedisRepository.d.ts +0 -16
  288. package/dist/db/RedisRepository.d.ts.map +0 -1
  289. package/dist/db/RedisRepository.js +0 -87
  290. package/dist/db/RedisRepository.js.map +0 -1
  291. package/dist/demo/cli-demo.d.ts.map +0 -1
  292. package/dist/demo/cli-demo.js.map +0 -1
  293. package/dist/demo/console-chat.d.ts.map +0 -1
  294. package/dist/demo/console-chat.js.map +0 -1
  295. package/dist/domain/conversation/ConversationSession.js +0 -82
  296. package/dist/domain/conversation/Message.js +0 -33
  297. package/dist/domain/conversation/SessionState.js +0 -10
  298. package/dist/index.d.ts.map +0 -1
  299. package/dist/index.js.map +0 -1
  300. package/dist/intent/IntentService.d.ts +0 -17
  301. package/dist/intent/IntentService.d.ts.map +0 -1
  302. package/dist/intent/IntentService.js +0 -51
  303. package/dist/intent/IntentService.js.map +0 -1
  304. package/dist/intent/MockIntentService.d.ts +0 -6
  305. package/dist/intent/MockIntentService.d.ts.map +0 -1
  306. package/dist/intent/MockIntentService.js.map +0 -1
  307. package/dist/interfaces.d.ts +0 -108
  308. package/dist/interfaces.d.ts.map +0 -1
  309. package/dist/interfaces.js +0 -18
  310. package/dist/interfaces.js.map +0 -1
  311. package/dist/llm/GeminiLLMAdapter.d.ts +0 -10
  312. package/dist/llm/GeminiLLMAdapter.d.ts.map +0 -1
  313. package/dist/llm/GeminiLLMAdapter.js +0 -102
  314. package/dist/llm/GeminiLLMAdapter.js.map +0 -1
  315. package/dist/llm/MockLLMAdapter.d.ts +0 -5
  316. package/dist/llm/MockLLMAdapter.d.ts.map +0 -1
  317. package/dist/llm/MockLLMAdapter.js +0 -31
  318. package/dist/llm/MockLLMAdapter.js.map +0 -1
  319. package/dist/orchestrator/Orchestrator.d.ts +0 -18
  320. package/dist/orchestrator/Orchestrator.d.ts.map +0 -1
  321. package/dist/orchestrator/Orchestrator.js +0 -80
  322. package/dist/orchestrator/Orchestrator.js.map +0 -1
  323. package/dist/ports/IIntentRepository.d.ts +0 -27
  324. package/dist/ports/IIntentRepository.d.ts.map +0 -1
  325. package/dist/ports/IIntentRepository.js +0 -3
  326. package/dist/ports/IIntentRepository.js.map +0 -1
  327. package/dist/ports/IntentPort.js +0 -2
  328. package/dist/ports/LLMPort.js +0 -2
  329. package/dist/ports/SessionRepository.js +0 -2
  330. package/dist/ports/WorkflowPort.js +0 -2
  331. package/dist/scripts/debug-redis.d.ts.map +0 -1
  332. package/dist/scripts/debug-redis.js.map +0 -1
  333. package/dist/scripts/verify_memory_intents.d.ts.map +0 -1
  334. package/dist/scripts/verify_memory_intents.js.map +0 -1
  335. package/dist/scripts/verify_redis_intents.d.ts.map +0 -1
  336. package/dist/scripts/verify_redis_intents.js.map +0 -1
  337. package/dist/verify_memory_intents.js +0 -44
  338. package/dist/verify_redis_intents.js +0 -49
  339. package/dist/workflow/MockWorkflowAdapter.d.ts +0 -5
  340. package/dist/workflow/MockWorkflowAdapter.d.ts.map +0 -1
  341. package/dist/workflow/MockWorkflowAdapter.js.map +0 -1
  342. /package/dist/{adapters → src/adapters}/llm/GeminiLLMAdapter.d.ts +0 -0
  343. /package/dist/{adapters → src/adapters}/llm/GeminiLLMAdapter.js +0 -0
  344. /package/dist/{adapters → src/adapters}/llm/MockLLMAdapter.d.ts +0 -0
  345. /package/dist/{adapters → src/adapters}/llm/MockLLMAdapter.js +0 -0
  346. /package/dist/{adapters → src/adapters}/workflow/MockWorkflowAdapter.d.ts +0 -0
  347. /package/dist/{config → src/config}/index.d.ts +0 -0
  348. /package/dist/{config → src/config}/index.js +0 -0
  349. /package/dist/{core → src/core}/errors/ChatFlowError.d.ts +0 -0
  350. /package/dist/{core → src/core}/errors/ChatFlowError.js +0 -0
  351. /package/dist/{core → src/core}/errors/index.d.ts +0 -0
  352. /package/dist/{core → src/core}/errors/index.js +0 -0
  353. /package/dist/{demo → src/demo}/cli-demo.d.ts +0 -0
  354. /package/dist/{demo → src/demo}/console-chat.d.ts +0 -0
  355. /package/dist/{scripts → src/scripts}/debug-redis.d.ts +0 -0
  356. /package/dist/{scripts → src/scripts}/debug-redis.js +0 -0
  357. /package/dist/{scripts → src/scripts}/verify_memory_intents.d.ts +0 -0
  358. /package/dist/{scripts → src/scripts}/verify_memory_intents.js +0 -0
  359. /package/dist/{scripts → src/scripts}/verify_redis_intents.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SupabaseRepository.js","sourceRoot":"","sources":["../../../../src/adapters/repository/SupabaseRepository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import Redis from 'ioredis';
2
+ import { IAudioStorage, AudioFormatMetadata } from '../../interfaces';
3
+ /**
4
+ * Redis Audio Storage Adapter
5
+ * Stores audio recordings in Redis with automatic format conversion
6
+ * All audio is normalized to LINEAR16 PCM (16kHz, mono, 16-bit) during storage
7
+ * Final playback generates a proper WAV file with headers
8
+ */
9
+ export declare class RedisAudioStorageAdapter implements IAudioStorage {
10
+ private redis;
11
+ private storageRoot;
12
+ private baseUrl;
13
+ constructor(redisClient: Redis, storageRoot?: string, baseUrl?: string);
14
+ private getRedisKey;
15
+ initializeSession(sessionId: string, metadata: any): Promise<void>;
16
+ /**
17
+ * Append audio chunk with automatic format conversion to PCM
18
+ */
19
+ appendAudio(sessionId: string, audioData: Buffer, formatMetadata?: AudioFormatMetadata): Promise<void>;
20
+ /**
21
+ * Finalize session and return audio URL
22
+ */
23
+ finalizeSession(sessionId: string): Promise<string>;
24
+ /**
25
+ * Get audio URL for a session
26
+ */
27
+ getAudioUrl(sessionId: string): Promise<string | null>;
28
+ /**
29
+ * Get session audio as a complete WAV file
30
+ */
31
+ getSessionAudio(sessionId: string): Promise<Buffer | null>;
32
+ }
33
+ //# sourceMappingURL=RedisAudioStorageAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RedisAudioStorageAdapter.d.ts","sourceRoot":"","sources":["../../../../src/adapters/storage/RedisAudioStorageAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,SAAS,CAAC;AAG5B,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAGtE;;;;;GAKG;AACH,qBAAa,wBAAyB,YAAW,aAAa;IAC1D,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAS;gBAEZ,WAAW,EAAE,KAAK,EAAE,WAAW,GAAE,MAA6B,EAAE,OAAO,GAAE,MAAsB;IAW3G,OAAO,CAAC,WAAW;IAIb,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxE;;OAEG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAa5G;;OAEG;IACG,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBzD;;OAEG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAS5D;;OAEG;IACG,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAenE"}
@@ -0,0 +1,121 @@
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
+ exports.RedisAudioStorageAdapter = void 0;
37
+ const fs = __importStar(require("fs"));
38
+ const path = __importStar(require("path"));
39
+ const AudioUtils_1 = require("../../core/utils/AudioUtils");
40
+ /**
41
+ * Redis Audio Storage Adapter
42
+ * Stores audio recordings in Redis with automatic format conversion
43
+ * All audio is normalized to LINEAR16 PCM (16kHz, mono, 16-bit) during storage
44
+ * Final playback generates a proper WAV file with headers
45
+ */
46
+ class RedisAudioStorageAdapter {
47
+ constructor(redisClient, storageRoot = 'storage/recordings', baseUrl = '/recordings') {
48
+ this.redis = redisClient;
49
+ this.storageRoot = path.resolve(storageRoot);
50
+ this.baseUrl = baseUrl;
51
+ // Ensure storage directory exists (for potential future disk caching)
52
+ if (!fs.existsSync(this.storageRoot)) {
53
+ fs.mkdirSync(this.storageRoot, { recursive: true });
54
+ }
55
+ }
56
+ getRedisKey(sessionId) {
57
+ return `session:${sessionId}:audio`;
58
+ }
59
+ async initializeSession(sessionId, metadata) {
60
+ // Clear any existing audio for this session
61
+ await this.redis.del(this.getRedisKey(sessionId));
62
+ }
63
+ /**
64
+ * Append audio chunk with automatic format conversion to PCM
65
+ */
66
+ async appendAudio(sessionId, audioData, formatMetadata) {
67
+ try {
68
+ // Convert to target PCM format using AudioUtils
69
+ const pcmData = await (0, AudioUtils_1.convertToTargetFormat)(audioData, formatMetadata);
70
+ // Store as base64 in Redis
71
+ await this.redis.rpush(this.getRedisKey(sessionId), pcmData.toString('base64'));
72
+ }
73
+ catch (error) {
74
+ console.error('[RedisAudioStorageAdapter] Error appending audio:', error);
75
+ throw error;
76
+ }
77
+ }
78
+ /**
79
+ * Finalize session and return audio URL
80
+ */
81
+ async finalizeSession(sessionId) {
82
+ const key = this.getRedisKey(sessionId);
83
+ const exists = await this.redis.exists(key);
84
+ if (!exists) {
85
+ console.warn(`[RedisAudioStorageAdapter] No audio found for session ${sessionId}`);
86
+ return '';
87
+ }
88
+ // Set TTL (24 hours)
89
+ await this.redis.expire(key, 86400);
90
+ // Return URL for playback
91
+ return `${this.baseUrl}/${sessionId}.wav`;
92
+ }
93
+ /**
94
+ * Get audio URL for a session
95
+ */
96
+ async getAudioUrl(sessionId) {
97
+ const key = this.getRedisKey(sessionId);
98
+ const exists = await this.redis.exists(key);
99
+ if (exists) {
100
+ return `${this.baseUrl}/${sessionId}.wav`;
101
+ }
102
+ return null;
103
+ }
104
+ /**
105
+ * Get session audio as a complete WAV file
106
+ */
107
+ async getSessionAudio(sessionId) {
108
+ const key = this.getRedisKey(sessionId);
109
+ const chunksBase64 = await this.redis.lrange(key, 0, -1);
110
+ if (!chunksBase64 || chunksBase64.length === 0) {
111
+ return null;
112
+ }
113
+ // Decode all PCM chunks
114
+ const pcmChunks = chunksBase64.map(chunk => Buffer.from(chunk, 'base64'));
115
+ const concatenatedPCM = Buffer.concat(pcmChunks);
116
+ // Wrap in WAV format using AudioUtils
117
+ return (0, AudioUtils_1.wrapPCMInWAV)(concatenatedPCM);
118
+ }
119
+ }
120
+ exports.RedisAudioStorageAdapter = RedisAudioStorageAdapter;
121
+ //# sourceMappingURL=RedisAudioStorageAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RedisAudioStorageAdapter.js","sourceRoot":"","sources":["../../../../src/adapters/storage/RedisAudioStorageAdapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import { IVoiceAdapter, VoiceConfig, AudioFormatMetadata } from '../../interfaces';
2
+ /**
3
+ * Google Voice Adapter
4
+ * Uses Google services exclusively:
5
+ * - Gemini API for STT (Speech-to-Text)
6
+ * - Google Cloud Text-to-Speech API for TTS
7
+ *
8
+ * Outputs standard LINEAR16 PCM audio for perfect concatenation
9
+ */
10
+ export declare class GoogleVoiceAdapter implements IVoiceAdapter {
11
+ private apiKey;
12
+ private voiceConfig?;
13
+ private ttsClient;
14
+ constructor(apiKey: string, voiceConfig?: VoiceConfig);
15
+ /**
16
+ * Convert speech (audio) to text using Gemini's audio input capability
17
+ */
18
+ speechToText(audioBase64: string, config?: VoiceConfig['stt']): Promise<string>;
19
+ /**
20
+ * Convert text to speech using Google Cloud Text-to-Speech API
21
+ * Supports both API key and service account authentication
22
+ */
23
+ textToSpeech(text: string, config?: VoiceConfig['tts']): Promise<Uint8Array>;
24
+ /**
25
+ * Declare the audio format produced by Google TTS
26
+ */
27
+ getTTSOutputFormat(): AudioFormatMetadata;
28
+ /**
29
+ * Declare the expected audio format for Gemini STT
30
+ */
31
+ getSTTInputFormat(): AudioFormatMetadata;
32
+ }
33
+ //# sourceMappingURL=GoogleVoiceAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GoogleVoiceAdapter.d.ts","sourceRoot":"","sources":["../../../../src/adapters/voice/GoogleVoiceAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAGnF;;;;;;;GAOG;AACH,qBAAa,kBAAmB,YAAW,aAAa;IACpD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,SAAS,CAAqB;gBAE1B,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW;IAMrD;;OAEG;IACG,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAiDrF;;;OAGG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IA0ElF;;OAEG;IACH,kBAAkB,IAAI,mBAAmB;IASzC;;OAEG;IACH,iBAAiB,IAAI,mBAAmB;CAQ3C"}
@@ -0,0 +1,155 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GoogleVoiceAdapter = void 0;
4
+ const text_to_speech_1 = require("@google-cloud/text-to-speech");
5
+ /**
6
+ * Google Voice Adapter
7
+ * Uses Google services exclusively:
8
+ * - Gemini API for STT (Speech-to-Text)
9
+ * - Google Cloud Text-to-Speech API for TTS
10
+ *
11
+ * Outputs standard LINEAR16 PCM audio for perfect concatenation
12
+ */
13
+ class GoogleVoiceAdapter {
14
+ constructor(apiKey, voiceConfig) {
15
+ this.apiKey = apiKey;
16
+ this.voiceConfig = voiceConfig;
17
+ this.ttsClient = new text_to_speech_1.TextToSpeechClient();
18
+ }
19
+ /**
20
+ * Convert speech (audio) to text using Gemini's audio input capability
21
+ */
22
+ async speechToText(audioBase64, config) {
23
+ const sttConfig = config || this.voiceConfig?.stt;
24
+ const language = sttConfig?.language || 'en-US';
25
+ try {
26
+ const response = await fetch(`https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-lite:generateContent?key=${this.apiKey}`, {
27
+ method: 'POST',
28
+ headers: { 'Content-Type': 'application/json' },
29
+ body: JSON.stringify({
30
+ contents: [{
31
+ role: 'user',
32
+ parts: [
33
+ { text: "Transcribe the following audio exactly. Do not respond to the audio, just output the transcription." },
34
+ {
35
+ inlineData: {
36
+ mimeType: 'audio/wav',
37
+ data: audioBase64
38
+ }
39
+ }
40
+ ]
41
+ }],
42
+ generationConfig: {
43
+ temperature: 0.1,
44
+ }
45
+ })
46
+ });
47
+ if (!response.ok) {
48
+ const errorText = await response.text();
49
+ throw new Error(`Gemini STT API Error: ${response.status} - ${errorText}`);
50
+ }
51
+ const json = await response.json();
52
+ const transcript = json.candidates?.[0]?.content?.parts?.[0]?.text || '';
53
+ if (!transcript) {
54
+ throw new Error('No transcript returned from Gemini STT');
55
+ }
56
+ return transcript;
57
+ }
58
+ catch (error) {
59
+ console.error('Speech-to-Text Error:', error);
60
+ throw new Error(`STT failed: ${error.message}`);
61
+ }
62
+ }
63
+ /**
64
+ * Convert text to speech using Google Cloud Text-to-Speech API
65
+ * Supports both API key and service account authentication
66
+ */
67
+ async textToSpeech(text, config) {
68
+ const ttsConfig = config || this.voiceConfig?.tts;
69
+ const languageCode = ttsConfig?.language || 'en-US';
70
+ const voiceName = ttsConfig?.voice || 'en-US-Chirp3-HD-Leda'; // Default female voice
71
+ try {
72
+ // Try API key authentication first (simpler)
73
+ const googleCloudApiKey = process.env.GOOGLE_CLOUD_API_KEY || process.env.GOOGLE_AI_API_KEY;
74
+ if (googleCloudApiKey) {
75
+ // Use REST API with API key
76
+ const response = await fetch(`https://texttospeech.googleapis.com/v1/text:synthesize?key=${googleCloudApiKey}`, {
77
+ method: 'POST',
78
+ headers: { 'Content-Type': 'application/json' },
79
+ body: JSON.stringify({
80
+ input: { text },
81
+ voice: {
82
+ languageCode: languageCode,
83
+ name: voiceName
84
+ },
85
+ audioConfig: {
86
+ audioEncoding: 'LINEAR16',
87
+ sampleRateHertz: 16000,
88
+ pitch: 0,
89
+ speakingRate: 1.2
90
+ }
91
+ })
92
+ });
93
+ if (!response.ok) {
94
+ const errorText = await response.text();
95
+ throw new Error(`Google TTS API Error: ${response.status} - ${errorText}`);
96
+ }
97
+ const json = await response.json();
98
+ const audioContent = json.audioContent;
99
+ if (!audioContent) {
100
+ throw new Error('No audio content received from Google TTS');
101
+ }
102
+ // audioContent is base64-encoded
103
+ return new Uint8Array(Buffer.from(audioContent, 'base64'));
104
+ }
105
+ else {
106
+ // Fall back to service account authentication
107
+ const [response] = await this.ttsClient.synthesizeSpeech({
108
+ input: { text },
109
+ voice: {
110
+ languageCode: languageCode,
111
+ name: voiceName
112
+ },
113
+ audioConfig: {
114
+ audioEncoding: 'LINEAR16',
115
+ sampleRateHertz: 16000,
116
+ pitch: 0,
117
+ speakingRate: 1.2
118
+ }
119
+ });
120
+ if (!response.audioContent) {
121
+ throw new Error('No audio content received from Google TTS');
122
+ }
123
+ return new Uint8Array(response.audioContent);
124
+ }
125
+ }
126
+ catch (error) {
127
+ console.error('Text-to-Speech Error:', error);
128
+ throw new Error(`TTS failed: ${error.message}`);
129
+ }
130
+ }
131
+ /**
132
+ * Declare the audio format produced by Google TTS
133
+ */
134
+ getTTSOutputFormat() {
135
+ return {
136
+ format: 'wav',
137
+ sampleRate: 16000,
138
+ channels: 1,
139
+ bitDepth: 16
140
+ };
141
+ }
142
+ /**
143
+ * Declare the expected audio format for Gemini STT
144
+ */
145
+ getSTTInputFormat() {
146
+ return {
147
+ format: 'wav',
148
+ sampleRate: 16000,
149
+ channels: 1,
150
+ bitDepth: 16
151
+ };
152
+ }
153
+ }
154
+ exports.GoogleVoiceAdapter = GoogleVoiceAdapter;
155
+ //# sourceMappingURL=GoogleVoiceAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GoogleVoiceAdapter.js","sourceRoot":"","sources":["../../../../src/adapters/voice/GoogleVoiceAdapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Language to Voice ID Mapping
3
+ *
4
+ * Maps ISO 639-1 language codes to ElevenLabs voice IDs.
5
+ * Provides default voices for common languages and supports custom mappings.
6
+ *
7
+ * VOICE PREFERENCE POLICY:
8
+ * - Female voices are preferred by default for better user experience
9
+ * - Only use male voices when female voices are not available for a language
10
+ * - Default voice: Rachel (female, multilingual, supports 29 languages)
11
+ */
12
+ export interface VoiceMapping {
13
+ voiceId: string;
14
+ name: string;
15
+ description?: string;
16
+ gender?: 'female' | 'male' | 'neutral';
17
+ }
18
+ export declare class LanguageVoiceMapper {
19
+ private static readonly DEFAULT_VOICES;
20
+ /**
21
+ * VOICE PREFERENCE POLICY:
22
+ * All default voices use Rachel (21m00Tcm4TlvDq8ikWAM) - a female multilingual voice.
23
+ *
24
+ * To add language-specific female voices:
25
+ * 1. Use customMappings in constructor, OR
26
+ * 2. Configure via ConversationConfig.languageVoiceMapping
27
+ *
28
+ * Example female ElevenLabs voices (update with actual voice IDs):
29
+ * - Rachel: 21m00Tcm4TlvDq8ikWAM (multilingual, female)
30
+ * - Bella: EXAVITQu4vr4xnSDxMaL (English, female)
31
+ * - Elli: MF3mGyEYCl7XYWbV9V6O (English, female)
32
+ *
33
+ * Always prefer female voices unless specifically unavailable for a language.
34
+ */
35
+ private customMappings;
36
+ constructor(customMappings?: Record<string, VoiceMapping>);
37
+ /**
38
+ * Get voice ID for a language
39
+ * @param languageCode ISO 639-1 language code
40
+ * @returns Voice ID for the language
41
+ */
42
+ getVoiceForLanguage(languageCode: string): string;
43
+ /**
44
+ * Get voice mapping details
45
+ */
46
+ getVoiceMapping(languageCode: string): VoiceMapping;
47
+ /**
48
+ * Add or update custom voice mapping
49
+ */
50
+ setVoiceMapping(languageCode: string, voiceMapping: VoiceMapping): void;
51
+ /**
52
+ * Get all supported languages
53
+ */
54
+ getSupportedLanguages(): string[];
55
+ /**
56
+ * Check if a language is supported
57
+ */
58
+ isLanguageSupported(languageCode: string): boolean;
59
+ }
60
+ //# sourceMappingURL=LanguageVoiceMapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LanguageVoiceMapper.d.ts","sourceRoot":"","sources":["../../../../src/adapters/voice/LanguageVoiceMapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,YAAY;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;CAC1C;AAED,qBAAa,mBAAmB;IAG5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAwDpC;IAEF;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,cAAc,CAA+B;gBAEzC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC;IAIzD;;;;OAIG;IACH,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAkBjD;;OAEG;IACH,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,YAAY;IAOnD;;OAEG;IACH,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,IAAI;IAIvE;;OAEG;IACH,qBAAqB,IAAI,MAAM,EAAE;IAOjC;;OAEG;IACH,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO;CAIrD"}
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ /**
3
+ * Language to Voice ID Mapping
4
+ *
5
+ * Maps ISO 639-1 language codes to ElevenLabs voice IDs.
6
+ * Provides default voices for common languages and supports custom mappings.
7
+ *
8
+ * VOICE PREFERENCE POLICY:
9
+ * - Female voices are preferred by default for better user experience
10
+ * - Only use male voices when female voices are not available for a language
11
+ * - Default voice: Rachel (female, multilingual, supports 29 languages)
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.LanguageVoiceMapper = void 0;
15
+ class LanguageVoiceMapper {
16
+ constructor(customMappings) {
17
+ this.customMappings = customMappings || {};
18
+ }
19
+ /**
20
+ * Get voice ID for a language
21
+ * @param languageCode ISO 639-1 language code
22
+ * @returns Voice ID for the language
23
+ */
24
+ getVoiceForLanguage(languageCode) {
25
+ const code = languageCode.toLowerCase();
26
+ // Check custom mappings first
27
+ if (this.customMappings[code]) {
28
+ return this.customMappings[code].voiceId;
29
+ }
30
+ // Check default mappings
31
+ if (LanguageVoiceMapper.DEFAULT_VOICES[code]) {
32
+ return LanguageVoiceMapper.DEFAULT_VOICES[code].voiceId;
33
+ }
34
+ // Fallback to default English voice
35
+ console.warn(`[LanguageVoiceMapper] No voice mapping found for language '${code}'. Using default English voice.`);
36
+ return LanguageVoiceMapper.DEFAULT_VOICES['en'].voiceId;
37
+ }
38
+ /**
39
+ * Get voice mapping details
40
+ */
41
+ getVoiceMapping(languageCode) {
42
+ const code = languageCode.toLowerCase();
43
+ return this.customMappings[code] ||
44
+ LanguageVoiceMapper.DEFAULT_VOICES[code] ||
45
+ LanguageVoiceMapper.DEFAULT_VOICES['en'];
46
+ }
47
+ /**
48
+ * Add or update custom voice mapping
49
+ */
50
+ setVoiceMapping(languageCode, voiceMapping) {
51
+ this.customMappings[languageCode.toLowerCase()] = voiceMapping;
52
+ }
53
+ /**
54
+ * Get all supported languages
55
+ */
56
+ getSupportedLanguages() {
57
+ return [
58
+ ...Object.keys(LanguageVoiceMapper.DEFAULT_VOICES),
59
+ ...Object.keys(this.customMappings)
60
+ ];
61
+ }
62
+ /**
63
+ * Check if a language is supported
64
+ */
65
+ isLanguageSupported(languageCode) {
66
+ const code = languageCode.toLowerCase();
67
+ return !!(LanguageVoiceMapper.DEFAULT_VOICES[code] || this.customMappings[code]);
68
+ }
69
+ }
70
+ exports.LanguageVoiceMapper = LanguageVoiceMapper;
71
+ // Default voice mappings for common languages
72
+ // These are example ElevenLabs voice IDs - replace with actual production voices
73
+ LanguageVoiceMapper.DEFAULT_VOICES = {
74
+ 'en': {
75
+ voiceId: '21m00Tcm4TlvDq8ikWAM', // Rachel (default English voice)
76
+ name: 'Rachel',
77
+ description: 'Clear American English'
78
+ },
79
+ 'ar': {
80
+ voiceId: '21m00Tcm4TlvDq8ikWAM', // Same voice - ElevenLabs supports multilingual
81
+ name: 'Rachel (Arabic)',
82
+ description: 'Multilingual voice for Arabic'
83
+ },
84
+ 'fa': {
85
+ voiceId: '21m00Tcm4TlvDq8ikWAM', // Same voice - supports Persian
86
+ name: 'Rachel (Persian)',
87
+ description: 'Multilingual voice for Persian'
88
+ },
89
+ 'es': {
90
+ voiceId: '21m00Tcm4TlvDq8ikWAM',
91
+ name: 'Rachel (Spanish)',
92
+ description: 'Multilingual voice for Spanish'
93
+ },
94
+ 'fr': {
95
+ voiceId: '21m00Tcm4TlvDq8ikWAM',
96
+ name: 'Rachel (French)',
97
+ description: 'Multilingual voice for French'
98
+ },
99
+ 'de': {
100
+ voiceId: '21m00Tcm4TlvDq8ikWAM',
101
+ name: 'Rachel (German)',
102
+ description: 'Multilingual voice for German'
103
+ },
104
+ 'it': {
105
+ voiceId: '21m00Tcm4TlvDq8ikWAM',
106
+ name: 'Rachel (Italian)',
107
+ description: 'Multilingual voice for Italian'
108
+ },
109
+ 'pt': {
110
+ voiceId: '21m00Tcm4TlvDq8ikWAM',
111
+ name: 'Rachel (Portuguese)',
112
+ description: 'Multilingual voice for Portuguese'
113
+ },
114
+ 'zh': {
115
+ voiceId: '21m00Tcm4TlvDq8ikWAM',
116
+ name: 'Rachel (Chinese)',
117
+ description: 'Multilingual voice for Chinese'
118
+ },
119
+ 'ja': {
120
+ voiceId: '21m00Tcm4TlvDq8ikWAM',
121
+ name: 'Rachel (Japanese)',
122
+ description: 'Multilingual voice for Japanese'
123
+ },
124
+ 'ko': {
125
+ voiceId: '21m00Tcm4TlvDq8ikWAM',
126
+ name: 'Rachel (Korean)',
127
+ description: 'Multilingual voice for Korean'
128
+ }
129
+ };
130
+ //# sourceMappingURL=LanguageVoiceMapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LanguageVoiceMapper.js","sourceRoot":"","sources":["../../../../src/adapters/voice/LanguageVoiceMapper.ts"],"names":[],"mappings":"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"}