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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "chat-flow-ardymalihi",
3
- "version": "3.0.0",
3
+ "version": "3.0.2",
4
4
  "description": "Production-ready conversation orchestration library with intent detection and workflow integration",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InMemorySessionRepository = void 0;
4
- class InMemorySessionRepository {
5
- constructor() {
6
- this.sessions = new Map();
7
- }
8
- async save(session) {
9
- this.sessions.set(session.sessionId, session);
10
- }
11
- async findById(sessionId) {
12
- return this.sessions.get(sessionId) || null;
13
- }
14
- }
15
- exports.InMemorySessionRepository = InMemorySessionRepository;
@@ -1,41 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.RedisSessionRepository = void 0;
7
- const ioredis_1 = __importDefault(require("ioredis"));
8
- const ConversationSession_1 = require("../../domain/conversation/ConversationSession");
9
- class RedisSessionRepository {
10
- constructor(connectionString = 'redis://localhost:6379') {
11
- this.TTL_SECONDS = 3600; // 1 Hour Expiry
12
- this.client = new ioredis_1.default(connectionString);
13
- this.client.on('error', (err) => {
14
- console.error('[Redis Error]', err);
15
- });
16
- }
17
- async save(session) {
18
- const key = `session:${session.sessionId}`;
19
- const data = JSON.stringify(session.toSnapshot());
20
- await this.client.set(key, data, 'EX', this.TTL_SECONDS);
21
- }
22
- async findById(sessionId) {
23
- const key = `session:${sessionId}`;
24
- const data = await this.client.get(key);
25
- if (!data)
26
- return null;
27
- try {
28
- const parsed = JSON.parse(data);
29
- return ConversationSession_1.ConversationSession.reconstitute(parsed);
30
- }
31
- catch (err) {
32
- console.error(`Failed to reconstitute session ${sessionId}`, err);
33
- return null;
34
- }
35
- }
36
- // Helper to close connection
37
- async disconnect() {
38
- await this.client.quit();
39
- }
40
- }
41
- exports.RedisSessionRepository = RedisSessionRepository;
@@ -1,41 +0,0 @@
1
- import { ILLMAdapter, Intent, MatchedIntent, Message } from '../../interfaces';
2
- /**
3
- * Intent matcher that uses LLM to match user context against known intents
4
- */
5
- export declare class IntentMatcher {
6
- private llm;
7
- constructor(llm: ILLMAdapter);
8
- /**
9
- * Match user context against a list of intents
10
- * @param context User context (string or object)
11
- * @param intents Available intents to match against
12
- * @param confidenceThreshold Minimum confidence threshold (0-100)
13
- * @returns Array of matched intents above threshold
14
- */
15
- matchIntents(context: string | object, intents: Intent[], confidenceThreshold?: number): Promise<MatchedIntent[]>;
16
- /**
17
- * Detect intent from conversation history
18
- * @param history Conversation history
19
- * @param intents Available intents
20
- * @param confidenceThreshold Minimum confidence threshold (0-100)
21
- * @returns Best matched intent or null
22
- */
23
- detectFromHistory(history: Message[], intents: Intent[], confidenceThreshold?: number): Promise<MatchedIntent | null>;
24
- /**
25
- * Extract parameters from a follow-up response
26
- * Used in collaborative mode to collect missing parameters
27
- * @param userResponse User's response to clarification question
28
- * @param intent The intent being collected for
29
- * @param missingParameters List of parameter names to extract
30
- * @returns Extracted parameter values
31
- */
32
- extractParameters(userResponse: string, intent: Intent, missingParameters: string[]): Promise<Record<string, any>>;
33
- /**
34
- * Identify which required parameters are missing from provided values
35
- * @param intent The intent to check
36
- * @param providedValues Currently provided parameter values
37
- * @returns Array of missing required parameter names
38
- */
39
- identifyMissingParameters(intent: Intent, providedValues: Record<string, any>): string[];
40
- }
41
- //# sourceMappingURL=IntentMatcher.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IntentMatcher.d.ts","sourceRoot":"","sources":["../../../src/adapters/intent/IntentMatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAG/E;;GAEG;AACH,qBAAa,aAAa;IACV,OAAO,CAAC,GAAG;gBAAH,GAAG,EAAE,WAAW;IAEpC;;;;;;OAMG;IACG,YAAY,CACd,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,OAAO,EAAE,MAAM,EAAE,EACjB,mBAAmB,GAAE,MAAW,GACjC,OAAO,CAAC,aAAa,EAAE,CAAC;IAgE3B;;;;;;OAMG;IACG,iBAAiB,CACnB,OAAO,EAAE,OAAO,EAAE,EAClB,OAAO,EAAE,MAAM,EAAE,EACjB,mBAAmB,GAAE,MAAW,GACjC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAkBhC;;;;;;;OAOG;IACG,iBAAiB,CACnB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,MAAM,EAAE,GAC5B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IA6C/B;;;;;OAKG;IACH,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,EAAE;CAc3F"}
@@ -1,167 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.IntentMatcher = void 0;
4
- const errors_1 = require("../../core/errors");
5
- /**
6
- * Intent matcher that uses LLM to match user context against known intents
7
- */
8
- class IntentMatcher {
9
- constructor(llm) {
10
- this.llm = llm;
11
- }
12
- /**
13
- * Match user context against a list of intents
14
- * @param context User context (string or object)
15
- * @param intents Available intents to match against
16
- * @param confidenceThreshold Minimum confidence threshold (0-100)
17
- * @returns Array of matched intents above threshold
18
- */
19
- async matchIntents(context, intents, confidenceThreshold = 70) {
20
- if (intents.length === 0)
21
- return [];
22
- const contextStr = typeof context === "string" ? context : JSON.stringify(context);
23
- const prompt = `
24
- You are a strict known intent classifier.
25
- Your goal is to determine if the TARGET_MESSAGE strictly matches one of the provided INTENTS.
26
-
27
- <INTENTS>
28
- ${JSON.stringify(intents, null, 2)}
29
- </INTENTS>
30
-
31
- <CONTEXT_RULES>
32
- 1. YOUR SOLE GOAL is to classify the intent of the TARGET_MESSAGE.
33
- 2. CONVERSATION_HISTORY is provided PURELY for contextual reference (e.g. resolving "it", "that", "same one").
34
- 3. CONVERSATION_HISTORY MAY ONLY influence confidence scoring or reference resolution.
35
- 4. CONVERSATION_HISTORY MUST NOT introduce, imply, or resurrect an intent that is not explicitly implied in the TARGET_MESSAGE.
36
- 5. DO NOT carry over intents from the history. If the user previously asked for pricing but now says "bye", the intent is NONE.
37
- 6. If the TARGET_MESSAGE is a generic acknowledgement ("ok", "thanks"), a closure ("bye", "goodbye"), or off-topic, return an EMPTY array [].
38
- 7. STRICT MATCHING: The user must explicitly imply the intent in the TARGET_MESSAGE. Do not guess based on previous topics.
39
- </CONTEXT_RULES>
40
-
41
- <OUTPUT_FORMAT>
42
- Return a JSON array of matched intents.
43
- [
44
- {
45
- "intentName": string,
46
- "confidence": number (0-100),
47
- "required_values": { ... },
48
- "optional_values": { ... }
49
- }
50
- ]
51
- </OUTPUT_FORMAT>
52
-
53
- ${contextStr}
54
- `;
55
- try {
56
- const text = await this.llm.generateContent(prompt);
57
- const parsed = JSON.parse(text.replace(/^```json\s*/, '').replace(/```$/, '').trim());
58
- const results = [];
59
- for (const match of parsed) {
60
- if (match.confidence < confidenceThreshold)
61
- continue;
62
- const intent = intents.find(i => i.name === match.intentName);
63
- if (!intent)
64
- continue;
65
- results.push({
66
- intent,
67
- confidence: match.confidence,
68
- required_values: match.required_values,
69
- optional_values: match.optional_values,
70
- });
71
- }
72
- return results;
73
- }
74
- catch (err) {
75
- throw new errors_1.IntentDetectionError('Failed to parse LLM output', { error: err instanceof Error ? err.message : String(err), context: contextStr });
76
- }
77
- }
78
- /**
79
- * Detect intent from conversation history
80
- * @param history Conversation history
81
- * @param intents Available intents
82
- * @param confidenceThreshold Minimum confidence threshold (0-100)
83
- * @returns Best matched intent or null
84
- */
85
- async detectFromHistory(history, intents, confidenceThreshold = 70) {
86
- // Use last message as target, and ALL previous messages as history for context
87
- const lastMessage = history[history.length - 1];
88
- const previousMessages = history.slice(0, -1);
89
- const historyStr = previousMessages.length > 0
90
- ? `<CONVERSATION_HISTORY>\n${previousMessages.map(m => `${m.role}: ${m.content}`).join('\n')}\n</CONVERSATION_HISTORY>`
91
- : '<CONVERSATION_HISTORY>\n(None)\n</CONVERSATION_HISTORY>';
92
- const targetStr = `<TARGET_MESSAGE>\n${lastMessage.role}: ${lastMessage.content}\n</TARGET_MESSAGE>`;
93
- const contextStr = `${historyStr}\n\n${targetStr}`;
94
- const matches = await this.matchIntents(contextStr, intents, confidenceThreshold);
95
- return matches.length > 0 ? matches[0] : null;
96
- }
97
- /**
98
- * Extract parameters from a follow-up response
99
- * Used in collaborative mode to collect missing parameters
100
- * @param userResponse User's response to clarification question
101
- * @param intent The intent being collected for
102
- * @param missingParameters List of parameter names to extract
103
- * @returns Extracted parameter values
104
- */
105
- async extractParameters(userResponse, intent, missingParameters) {
106
- // Build field descriptions for better extraction
107
- const fieldDescriptions = missingParameters.map(paramName => {
108
- const field = [...intent.required_fields, ...(intent.optional_fields || [])]
109
- .find(f => f.name === paramName);
110
- if (!field)
111
- return `- ${paramName}`;
112
- const displayName = field.displayName || paramName;
113
- const description = field.description || '';
114
- return `- ${paramName} (${displayName}): ${description}`;
115
- }).join('\n');
116
- const prompt = `
117
- Extract the following parameters from the user's response.
118
- Only extract values that are explicitly mentioned. Do not hallucinate or infer values.
119
-
120
- Intent: ${intent.name}
121
- Description: ${intent.description}
122
-
123
- Missing Parameters:
124
- ${fieldDescriptions}
125
-
126
- User Response: "${userResponse}"
127
-
128
- Return JSON with extracted values. Use the exact parameter names as keys.
129
- If a parameter is not found in the response, omit it from the JSON.
130
-
131
- Example format:
132
- {
133
- "parameter_name": "extracted_value"
134
- }
135
-
136
- JSON:`;
137
- try {
138
- const text = await this.llm.generateContent(prompt);
139
- const cleaned = text.replace(/^```json\s*/, '').replace(/```$/, '').trim();
140
- return JSON.parse(cleaned);
141
- }
142
- catch (err) {
143
- console.error('[IntentMatcher] Failed to extract parameters:', err);
144
- return {};
145
- }
146
- }
147
- /**
148
- * Identify which required parameters are missing from provided values
149
- * @param intent The intent to check
150
- * @param providedValues Currently provided parameter values
151
- * @returns Array of missing required parameter names
152
- */
153
- identifyMissingParameters(intent, providedValues) {
154
- const missing = [];
155
- for (const field of intent.required_fields) {
156
- const value = providedValues[field.name];
157
- // Consider null, undefined, empty string, or empty array as missing
158
- if (value === null || value === undefined || value === '' ||
159
- (Array.isArray(value) && value.length === 0)) {
160
- missing.push(field.name);
161
- }
162
- }
163
- return missing;
164
- }
165
- }
166
- exports.IntentMatcher = IntentMatcher;
167
- //# sourceMappingURL=IntentMatcher.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IntentMatcher.js","sourceRoot":"","sources":["../../../src/adapters/intent/IntentMatcher.ts"],"names":[],"mappings":"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"}
@@ -1,26 +0,0 @@
1
- import { IIntentService, IntentResult, Message, Intent, MatchedIntent, IRepository } from '../../interfaces';
2
- import { IntentMatcher } from './IntentMatcher';
3
- /**
4
- * Refactored Intent Service with proper separation of concerns
5
- * - Uses IRepository for data access
6
- * - Uses IntentMatcher for matching logic
7
- */
8
- export declare class IntentService implements IIntentService {
9
- private repository;
10
- private matcher;
11
- private confidenceThreshold;
12
- constructor(repository: IRepository, matcher: IntentMatcher, confidenceThreshold?: number);
13
- /**
14
- * Detect intent from conversation history
15
- */
16
- detectIntent(history: Message[], systemPrompt: string, tenantId?: string): Promise<IntentResult>;
17
- /**
18
- * Upsert multiple intents
19
- */
20
- upsertIntents(intents: Intent[]): Promise<void>;
21
- /**
22
- * Match intents against context
23
- */
24
- matchIntents(context: string | object, confidenceThreshold?: number): Promise<MatchedIntent[]>;
25
- }
26
- //# sourceMappingURL=IntentService.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IntentService.d.ts","sourceRoot":"","sources":["../../../src/adapters/intent/IntentService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC7G,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;GAIG;AACH,qBAAa,aAAc,YAAW,cAAc;IAE5C,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,mBAAmB;gBAFnB,UAAU,EAAE,WAAW,EACvB,OAAO,EAAE,aAAa,EACtB,mBAAmB,GAAE,MAAW;IAG5C;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA2CtG;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrD;;OAEG;IACG,YAAY,CACd,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,mBAAmB,CAAC,EAAE,MAAM,GAC7B,OAAO,CAAC,aAAa,EAAE,CAAC;CAQ9B"}
@@ -1,65 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.IntentService = void 0;
4
- /**
5
- * Refactored Intent Service with proper separation of concerns
6
- * - Uses IRepository for data access
7
- * - Uses IntentMatcher for matching logic
8
- */
9
- class IntentService {
10
- constructor(repository, matcher, confidenceThreshold = 70) {
11
- this.repository = repository;
12
- this.matcher = matcher;
13
- this.confidenceThreshold = confidenceThreshold;
14
- }
15
- /**
16
- * Detect intent from conversation history
17
- */
18
- async detectIntent(history, systemPrompt, tenantId) {
19
- const allIntents = await this.repository.getAllIntents(tenantId);
20
- if (allIntents.length === 0) {
21
- return {
22
- intentName: null,
23
- confidence: 0,
24
- payload: {},
25
- missingRequiredParameters: []
26
- };
27
- }
28
- const match = await this.matcher.detectFromHistory(history, allIntents, this.confidenceThreshold);
29
- if (match) {
30
- const payload = {
31
- ...match.required_values,
32
- ...match.optional_values
33
- };
34
- // Identify missing required parameters
35
- const missingParams = this.matcher.identifyMissingParameters(match.intent, payload);
36
- return {
37
- intentName: match.intent.name,
38
- confidence: match.confidence / 100, // Convert 0-100 to 0-1
39
- payload,
40
- missingRequiredParameters: missingParams
41
- };
42
- }
43
- return {
44
- intentName: null,
45
- confidence: 0,
46
- payload: {},
47
- missingRequiredParameters: []
48
- };
49
- }
50
- /**
51
- * Upsert multiple intents
52
- */
53
- async upsertIntents(intents) {
54
- return this.repository.upsertIntents(intents);
55
- }
56
- /**
57
- * Match intents against context
58
- */
59
- async matchIntents(context, confidenceThreshold) {
60
- const allIntents = await this.repository.getAllIntents();
61
- return this.matcher.matchIntents(context, allIntents, confidenceThreshold ?? this.confidenceThreshold);
62
- }
63
- }
64
- exports.IntentService = IntentService;
65
- //# sourceMappingURL=IntentService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IntentService.js","sourceRoot":"","sources":["../../../src/adapters/intent/IntentService.ts"],"names":[],"mappings":";;;AAGA;;;;GAIG;AACH,MAAa,aAAa;IACtB,YACY,UAAuB,EACvB,OAAsB,EACtB,sBAA8B,EAAE;QAFhC,eAAU,GAAV,UAAU,CAAa;QACvB,YAAO,GAAP,OAAO,CAAe;QACtB,wBAAmB,GAAnB,mBAAmB,CAAa;IACxC,CAAC;IAEL;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,OAAkB,EAAE,YAAoB,EAAE,QAAiB;QAC1E,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAEjE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO;gBACH,UAAU,EAAE,IAAI;gBAChB,UAAU,EAAE,CAAC;gBACb,OAAO,EAAE,EAAE;gBACX,yBAAyB,EAAE,EAAE;aAChC,CAAC;QACN,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAC9C,OAAO,EACP,UAAU,EACV,IAAI,CAAC,mBAAmB,CAC3B,CAAC;QAEF,IAAI,KAAK,EAAE,CAAC;YACR,MAAM,OAAO,GAAG;gBACZ,GAAG,KAAK,CAAC,eAAe;gBACxB,GAAG,KAAK,CAAC,eAAe;aAC3B,CAAC;YAEF,uCAAuC;YACvC,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAEpF,OAAO;gBACH,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;gBAC7B,UAAU,EAAE,KAAK,CAAC,UAAU,GAAG,GAAG,EAAE,uBAAuB;gBAC3D,OAAO;gBACP,yBAAyB,EAAE,aAAa;aAC3C,CAAC;QACN,CAAC;QAED,OAAO;YACH,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,CAAC;YACb,OAAO,EAAE,EAAE;YACX,yBAAyB,EAAE,EAAE;SAChC,CAAC;IACN,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,OAAiB;QACjC,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CACd,OAAwB,EACxB,mBAA4B;QAE5B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;QACzD,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAC5B,OAAO,EACP,UAAU,EACV,mBAAmB,IAAI,IAAI,CAAC,mBAAmB,CAClD,CAAC;IACN,CAAC;CACJ;AA1ED,sCA0EC"}
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MockIntentAdapter = void 0;
4
- class MockIntentAdapter {
5
- async detectIntent(history, systemPrompt) {
6
- const lastMsg = history[history.length - 1].content.toLowerCase();
7
- // Simple keyword detection for demo
8
- if (lastMsg.includes('book') || lastMsg.includes('flight') || lastMsg.includes('paris')) {
9
- return {
10
- intentName: 'USER_WANTS_FLIGHT',
11
- confidence: 0.95,
12
- payload: { destination: 'Paris' }
13
- };
14
- }
15
- if (lastMsg.includes('morning') || lastMsg.includes('10 am')) {
16
- return {
17
- intentName: 'USER_SELECT_FLIGHT',
18
- confidence: 0.9,
19
- payload: { chosen_flight: 'AC123 (10:00 AM)' }
20
- };
21
- }
22
- return {
23
- intentName: null,
24
- confidence: 0,
25
- payload: {}
26
- };
27
- }
28
- }
29
- exports.MockIntentAdapter = MockIntentAdapter;
@@ -1,7 +0,0 @@
1
- import { IIntentService, IntentResult, MatchedIntent } from '../../interfaces';
2
- import { Message } from '../../interfaces';
3
- export declare class MockIntentService implements IIntentService {
4
- detectIntent(history: Message[], systemPrompt: string): Promise<IntentResult>;
5
- matchIntents(): Promise<MatchedIntent[]>;
6
- }
7
- //# sourceMappingURL=MockIntentService.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MockIntentService.d.ts","sourceRoot":"","sources":["../../../src/adapters/intent/MockIntentService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,qBAAa,iBAAkB,YAAW,cAAc;IAC9C,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA8B7E,YAAY,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;CAGjD"}
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MockIntentService = void 0;
4
- class MockIntentService {
5
- async detectIntent(history, systemPrompt) {
6
- const lastMsg = history[history.length - 1].content.toLowerCase();
7
- // Simple keyword detection for demo
8
- if (lastMsg.includes('book') || lastMsg.includes('flight') || lastMsg.includes('paris')) {
9
- return {
10
- intentName: 'USER_WANTS_FLIGHT',
11
- confidence: 0.95,
12
- payload: { destination: 'Paris' },
13
- missingRequiredParameters: []
14
- };
15
- }
16
- if (lastMsg.includes('morning') || lastMsg.includes('10 am')) {
17
- return {
18
- intentName: 'USER_SELECT_FLIGHT',
19
- confidence: 0.9,
20
- payload: { chosen_flight: 'AC123 (10:00 AM)' },
21
- missingRequiredParameters: []
22
- };
23
- }
24
- return {
25
- intentName: null,
26
- confidence: 0,
27
- payload: {},
28
- missingRequiredParameters: []
29
- };
30
- }
31
- async matchIntents() {
32
- return [];
33
- }
34
- }
35
- exports.MockIntentService = MockIntentService;
36
- //# sourceMappingURL=MockIntentService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MockIntentService.js","sourceRoot":"","sources":["../../../src/adapters/intent/MockIntentService.ts"],"names":[],"mappings":";;;AAGA,MAAa,iBAAiB;IAC1B,KAAK,CAAC,YAAY,CAAC,OAAkB,EAAE,YAAoB;QACvD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAElE,oCAAoC;QACpC,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACtF,OAAO;gBACH,UAAU,EAAE,mBAAmB;gBAC/B,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE;gBACjC,yBAAyB,EAAE,EAAE;aAChC,CAAC;QACN,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3D,OAAO;gBACH,UAAU,EAAE,oBAAoB;gBAChC,UAAU,EAAE,GAAG;gBACf,OAAO,EAAE,EAAE,aAAa,EAAE,kBAAkB,EAAE;gBAC9C,yBAAyB,EAAE,EAAE;aAChC,CAAC;QACN,CAAC;QAED,OAAO;YACH,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,CAAC;YACb,OAAO,EAAE,EAAE;YACX,yBAAyB,EAAE,EAAE;SAChC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,YAAY;QACd,OAAO,EAAE,CAAC;IACd,CAAC;CACJ;AAlCD,8CAkCC"}
@@ -1,10 +0,0 @@
1
- import { ILLMAdapter, LLMResponse, Message } from '../../interfaces';
2
- export declare class GeminiLLMAdapter implements ILLMAdapter {
3
- private genAI;
4
- private model;
5
- private embeddingModel;
6
- constructor(apiKey: string);
7
- generateResponse(systemPrompt: string, history: Message[]): Promise<LLMResponse>;
8
- generateContent(prompt: string): Promise<string>;
9
- }
10
- //# sourceMappingURL=GeminiLLMAdapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GeminiLLMAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/llm/GeminiLLMAdapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAQ,MAAM,kBAAkB,CAAC;AAE3E,qBAAa,gBAAiB,YAAW,WAAW;IAChD,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,KAAK,CAAM;IACnB,OAAO,CAAC,cAAc,CAAM;gBAEhB,MAAM,EAAE,MAAM;IAKpB,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;IAqGhF,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAIzD"}
@@ -1,102 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GeminiLLMAdapter = void 0;
4
- const generative_ai_1 = require("@google/generative-ai");
5
- const interfaces_1 = require("../../interfaces");
6
- class GeminiLLMAdapter {
7
- constructor(apiKey) {
8
- this.genAI = new generative_ai_1.GoogleGenerativeAI(apiKey);
9
- this.model = this.genAI.getGenerativeModel({ model: 'gemini-2.0-flash-lite' });
10
- }
11
- async generateResponse(systemPrompt, history) {
12
- // 1. Convert History to Gemini Format
13
- // Note: Gemini API treats 'user' and 'model' roles.
14
- // We prepend the sensitive system prompt via the chat history or handle it if the SDK supports systemInstruction (newer versions do).
15
- // For simplicity with strictly message history:
16
- // 1. Convert History to Gemini Format
17
- // Note: Gemini API treats 'user' and 'model' roles.
18
- // We prepend the sensitive system prompt via the chat history or handle it if the SDK supports systemInstruction (newer versions do).
19
- // For simplicity with strictly message history:
20
- const validHistory = [];
21
- let systemContext = "";
22
- for (const msg of history) {
23
- if (msg.role === interfaces_1.Role.SYSTEM) {
24
- // Collect system messages to prepend to the next user message or context
25
- systemContext += `${msg.content}\n`;
26
- continue;
27
- }
28
- const role = msg.role === interfaces_1.Role.USER ? 'user' : 'model';
29
- validHistory.push({
30
- role,
31
- parts: [{ text: msg.content }]
32
- });
33
- }
34
- // 2. Start Chat (or use generateContent with history context)
35
- // Using startChat allows maintain context if we needed state, but we are stateless here mostly.
36
- // However, we want to inject the "system prompt".
37
- // We'll prepend it as a user message or use the systemInstruction property if available in the specific model/version usage.
38
- // A common pattern for models without explicit system role in message list is to prepend to first user message or separate config.
39
- // Let's use the simple chat approach.
40
- const chat = this.model.startChat({
41
- history: validHistory,
42
- // systemInstruction: systemPrompt // Available in newer models/SDKs
43
- });
44
- // But wait, 'startChat' requires the history TO NOT include the *last* user message if we are about to send it via sendMessage.
45
- // "history" here is the *past* messages.
46
- // The *current* message (last one) should be sent via sendMessage.
47
- // Let's re-slice.
48
- const pastHistory = validHistory.slice(0, -1);
49
- const lastMessage = validHistory[validHistory.length - 1];
50
- // If for some reason history is empty (shouldn't happen in this flow as user just spoke), handle it.
51
- const msgToSend = lastMessage ? lastMessage.parts[0].text : 'Hello';
52
- // Prepend system prompt AND any collected systemContext to the context.
53
- // Easiest hack: Prepend a "User" message with "Instructions: ..." at the very start of history.
54
- const fullSystemInstruction = `[System Instructions]: ${systemPrompt}\n\n[Context]: ${systemContext}`;
55
- if (pastHistory.length === 0) {
56
- // No history, so this is the first message. Combine system prompt.
57
- // Actually, we can't modify msgToSend easily if we want strict separation, but let's just prepend instruction to the first message of the session.
58
- // However, since we are re-instantiating chat every request (stateless adapter), we can just craft the history.
59
- }
60
- else {
61
- // Inject system prompt into the first message of pastHistory
62
- pastHistory[0].parts[0].text = `${fullSystemInstruction}\n\n${pastHistory[0].parts[0].text}`;
63
- }
64
- // Note: If pastHistory is empty, we must inject into msgToSend.
65
- let finalMsgToSend = msgToSend;
66
- if (pastHistory.length === 0) {
67
- finalMsgToSend = `${fullSystemInstruction}\n\n${msgToSend}`;
68
- }
69
- try {
70
- const chatSession = this.model.startChat({
71
- history: pastHistory,
72
- });
73
- const result = await chatSession.sendMessage(finalMsgToSend);
74
- const response = await result.response;
75
- const text = response.text();
76
- return {
77
- content: text,
78
- usage: {
79
- // Gemini doesn't always return token info easily in simple response, defaulting
80
- promptTokens: 0,
81
- completionTokens: 0
82
- }
83
- };
84
- }
85
- catch (error) {
86
- console.error('Gemini API Error:', error);
87
- return {
88
- content: "I'm sorry, I'm having trouble connecting to my brain right now.",
89
- usage: {
90
- promptTokens: 0,
91
- completionTokens: 0
92
- }
93
- };
94
- }
95
- }
96
- async generateContent(prompt) {
97
- const response = await this.model.generateContent(prompt);
98
- return response.response.text();
99
- }
100
- }
101
- exports.GeminiLLMAdapter = GeminiLLMAdapter;
102
- //# sourceMappingURL=GeminiLLMAdapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GeminiLLMAdapter.js","sourceRoot":"","sources":["../../../src/adapters/llm/GeminiLLMAdapter.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import { ILLMAdapter, LLMResponse, Message } from '../../interfaces';
2
- export declare class MockLLMAdapter implements ILLMAdapter {
3
- generateResponse(systemPrompt: string, history: Message[]): Promise<LLMResponse>;
4
- }
5
- //# sourceMappingURL=MockLLMAdapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MockLLMAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/llm/MockLLMAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAErE,qBAAa,cAAe,YAAW,WAAW;IACxC,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;CAwBzF"}
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MockLLMAdapter = void 0;
4
- class MockLLMAdapter {
5
- async generateResponse(systemPrompt, history) {
6
- const lastMsg = history[history.length - 1].content.toLowerCase();
7
- let content = "I can help with that.";
8
- // Basic mock logic to respond to workflow data
9
- if (lastMsg.includes('system info: workflow detected')) {
10
- if (lastMsg.includes('booking_confirmed')) {
11
- content = "You are all set! I have booked flight AC123 for you. Reference: SKY-999-XYZ. Safe travels!";
12
- }
13
- else if (lastMsg.includes('found_flights')) {
14
- content = "I found a couple of flights to Paris. There is one at 10:00 AM ($500) and another at 2:00 PM ($450). Do you prefer the morning or afternoon one?";
15
- }
16
- else {
17
- content = "I have checked the system and have the information you need.";
18
- }
19
- }
20
- else {
21
- // Default generic chat
22
- content = `This is a mock AI response to: "${lastMsg}".`;
23
- }
24
- return {
25
- content,
26
- usage: { promptTokens: 10, completionTokens: 10 }
27
- };
28
- }
29
- }
30
- exports.MockLLMAdapter = MockLLMAdapter;
31
- //# sourceMappingURL=MockLLMAdapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MockLLMAdapter.js","sourceRoot":"","sources":["../../../src/adapters/llm/MockLLMAdapter.ts"],"names":[],"mappings":";;;AAEA,MAAa,cAAc;IACvB,KAAK,CAAC,gBAAgB,CAAC,YAAoB,EAAE,OAAkB;QAC3D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAElE,IAAI,OAAO,GAAG,uBAAuB,CAAC;QAEtC,+CAA+C;QAC/C,IAAI,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAAC,EAAE,CAAC;YACrD,IAAI,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBACxC,OAAO,GAAG,4FAA4F,CAAC;YAC3G,CAAC;iBAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC3C,OAAO,GAAG,kJAAkJ,CAAC;YACjK,CAAC;iBAAM,CAAC;gBACJ,OAAO,GAAG,8DAA8D,CAAC;YAC7E,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,uBAAuB;YACvB,OAAO,GAAG,mCAAmC,OAAO,IAAI,CAAC;QAC7D,CAAC;QAED,OAAO;YACH,OAAO;YACP,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE;SACpD,CAAC;IACN,CAAC;CACJ;AAzBD,wCAyBC"}