chat-flow-ardymalihi 1.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 (152) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +266 -0
  3. package/dist/adapters/db/InMemorySessionRepository.js +15 -0
  4. package/dist/adapters/db/RedisSessionRepository.js +41 -0
  5. package/dist/adapters/intent/IntentMatcher.d.ts +25 -0
  6. package/dist/adapters/intent/IntentMatcher.d.ts.map +1 -0
  7. package/dist/adapters/intent/IntentMatcher.js +89 -0
  8. package/dist/adapters/intent/IntentMatcher.js.map +1 -0
  9. package/dist/adapters/intent/IntentService.d.ts +27 -0
  10. package/dist/adapters/intent/IntentService.d.ts.map +1 -0
  11. package/dist/adapters/intent/IntentService.js +59 -0
  12. package/dist/adapters/intent/IntentService.js.map +1 -0
  13. package/dist/adapters/intent/MockIntentAdapter.js +29 -0
  14. package/dist/adapters/llm/GeminiLLMAdapter.d.ts +10 -0
  15. package/dist/adapters/llm/GeminiLLMAdapter.d.ts.map +1 -0
  16. package/dist/adapters/llm/GeminiLLMAdapter.js +102 -0
  17. package/dist/adapters/llm/GeminiLLMAdapter.js.map +1 -0
  18. package/dist/adapters/llm/MockLLMAdapter.d.ts +5 -0
  19. package/dist/adapters/llm/MockLLMAdapter.d.ts.map +1 -0
  20. package/dist/adapters/llm/MockLLMAdapter.js +31 -0
  21. package/dist/adapters/llm/MockLLMAdapter.js.map +1 -0
  22. package/dist/adapters/memory/InMemorySessionRepository.js +15 -0
  23. package/dist/adapters/redis/RedisSessionRepository.js +41 -0
  24. package/dist/adapters/repository/InMemoryRepository.d.ts +15 -0
  25. package/dist/adapters/repository/InMemoryRepository.d.ts.map +1 -0
  26. package/dist/adapters/repository/InMemoryRepository.js +41 -0
  27. package/dist/adapters/repository/InMemoryRepository.js.map +1 -0
  28. package/dist/adapters/repository/IntentRepository.d.ts +15 -0
  29. package/dist/adapters/repository/IntentRepository.d.ts.map +1 -0
  30. package/dist/adapters/repository/IntentRepository.js +28 -0
  31. package/dist/adapters/repository/IntentRepository.js.map +1 -0
  32. package/dist/adapters/repository/RedisRepository.d.ts +16 -0
  33. package/dist/adapters/repository/RedisRepository.d.ts.map +1 -0
  34. package/dist/adapters/repository/RedisRepository.js +87 -0
  35. package/dist/adapters/repository/RedisRepository.js.map +1 -0
  36. package/dist/adapters/workflow/MockWorkflowAdapter.d.ts +5 -0
  37. package/dist/adapters/workflow/MockWorkflowAdapter.d.ts.map +1 -0
  38. package/dist/adapters/workflow/MockWorkflowAdapter.js +162 -0
  39. package/dist/adapters/workflow/MockWorkflowAdapter.js.map +1 -0
  40. package/dist/application/ConversationSession.d.ts +23 -0
  41. package/dist/application/ConversationSession.d.ts.map +1 -0
  42. package/dist/application/ConversationSession.js +83 -0
  43. package/dist/application/ConversationSession.js.map +1 -0
  44. package/dist/application/Message.d.ts +11 -0
  45. package/dist/application/Message.d.ts.map +1 -0
  46. package/dist/application/Message.js +30 -0
  47. package/dist/application/Message.js.map +1 -0
  48. package/dist/application/Orchestrator.d.ts +18 -0
  49. package/dist/application/Orchestrator.d.ts.map +1 -0
  50. package/dist/application/Orchestrator.js +80 -0
  51. package/dist/application/Orchestrator.js.map +1 -0
  52. package/dist/application/SessionState.js +2 -0
  53. package/dist/application/usecases/CreateSession.js +20 -0
  54. package/dist/application/usecases/HandleUserMessage.js +69 -0
  55. package/dist/config/ChatFlowConfig.d.ts +59 -0
  56. package/dist/config/ChatFlowConfig.d.ts.map +1 -0
  57. package/dist/config/ChatFlowConfig.js +49 -0
  58. package/dist/config/ChatFlowConfig.js.map +1 -0
  59. package/dist/config/index.d.ts +2 -0
  60. package/dist/config/index.d.ts.map +1 -0
  61. package/dist/config/index.js +7 -0
  62. package/dist/config/index.js.map +1 -0
  63. package/dist/core/entities/ConversationSession.d.ts +23 -0
  64. package/dist/core/entities/ConversationSession.d.ts.map +1 -0
  65. package/dist/core/entities/ConversationSession.js +83 -0
  66. package/dist/core/entities/ConversationSession.js.map +1 -0
  67. package/dist/core/entities/Message.d.ts +11 -0
  68. package/dist/core/entities/Message.d.ts.map +1 -0
  69. package/dist/core/entities/Message.js +30 -0
  70. package/dist/core/entities/Message.js.map +1 -0
  71. package/dist/core/errors/ChatFlowError.d.ts +71 -0
  72. package/dist/core/errors/ChatFlowError.d.ts.map +1 -0
  73. package/dist/core/errors/ChatFlowError.js +108 -0
  74. package/dist/core/errors/ChatFlowError.js.map +1 -0
  75. package/dist/core/errors/index.d.ts +2 -0
  76. package/dist/core/errors/index.d.ts.map +1 -0
  77. package/dist/core/errors/index.js +15 -0
  78. package/dist/core/errors/index.js.map +1 -0
  79. package/dist/db/InMemoryRepository.d.ts +15 -0
  80. package/dist/db/InMemoryRepository.d.ts.map +1 -0
  81. package/dist/db/InMemoryRepository.js +41 -0
  82. package/dist/db/InMemoryRepository.js.map +1 -0
  83. package/dist/db/RedisRepository.d.ts +16 -0
  84. package/dist/db/RedisRepository.d.ts.map +1 -0
  85. package/dist/db/RedisRepository.js +87 -0
  86. package/dist/db/RedisRepository.js.map +1 -0
  87. package/dist/demo/cli-demo.d.ts +2 -0
  88. package/dist/demo/cli-demo.d.ts.map +1 -0
  89. package/dist/demo/cli-demo.js +142 -0
  90. package/dist/demo/cli-demo.js.map +1 -0
  91. package/dist/demo/console-chat.d.ts +2 -0
  92. package/dist/demo/console-chat.d.ts.map +1 -0
  93. package/dist/demo/console-chat.js +144 -0
  94. package/dist/demo/console-chat.js.map +1 -0
  95. package/dist/domain/conversation/ConversationSession.js +82 -0
  96. package/dist/domain/conversation/Message.js +33 -0
  97. package/dist/domain/conversation/SessionState.js +10 -0
  98. package/dist/index.d.ts +22 -0
  99. package/dist/index.d.ts.map +1 -0
  100. package/dist/index.js +61 -0
  101. package/dist/index.js.map +1 -0
  102. package/dist/intent/IntentService.d.ts +17 -0
  103. package/dist/intent/IntentService.d.ts.map +1 -0
  104. package/dist/intent/IntentService.js +51 -0
  105. package/dist/intent/IntentService.js.map +1 -0
  106. package/dist/intent/MockIntentService.d.ts +6 -0
  107. package/dist/intent/MockIntentService.d.ts.map +1 -0
  108. package/dist/intent/MockIntentService.js +30 -0
  109. package/dist/intent/MockIntentService.js.map +1 -0
  110. package/dist/interfaces.d.ts +108 -0
  111. package/dist/interfaces.d.ts.map +1 -0
  112. package/dist/interfaces.js +18 -0
  113. package/dist/interfaces.js.map +1 -0
  114. package/dist/llm/GeminiLLMAdapter.d.ts +10 -0
  115. package/dist/llm/GeminiLLMAdapter.d.ts.map +1 -0
  116. package/dist/llm/GeminiLLMAdapter.js +102 -0
  117. package/dist/llm/GeminiLLMAdapter.js.map +1 -0
  118. package/dist/llm/MockLLMAdapter.d.ts +5 -0
  119. package/dist/llm/MockLLMAdapter.d.ts.map +1 -0
  120. package/dist/llm/MockLLMAdapter.js +31 -0
  121. package/dist/llm/MockLLMAdapter.js.map +1 -0
  122. package/dist/orchestrator/Orchestrator.d.ts +18 -0
  123. package/dist/orchestrator/Orchestrator.d.ts.map +1 -0
  124. package/dist/orchestrator/Orchestrator.js +80 -0
  125. package/dist/orchestrator/Orchestrator.js.map +1 -0
  126. package/dist/ports/IIntentRepository.d.ts +27 -0
  127. package/dist/ports/IIntentRepository.d.ts.map +1 -0
  128. package/dist/ports/IIntentRepository.js +3 -0
  129. package/dist/ports/IIntentRepository.js.map +1 -0
  130. package/dist/ports/IntentPort.js +2 -0
  131. package/dist/ports/LLMPort.js +2 -0
  132. package/dist/ports/SessionRepository.js +2 -0
  133. package/dist/ports/WorkflowPort.js +2 -0
  134. package/dist/scripts/debug-redis.d.ts +2 -0
  135. package/dist/scripts/debug-redis.d.ts.map +1 -0
  136. package/dist/scripts/debug-redis.js +55 -0
  137. package/dist/scripts/debug-redis.js.map +1 -0
  138. package/dist/scripts/verify_memory_intents.d.ts +2 -0
  139. package/dist/scripts/verify_memory_intents.d.ts.map +1 -0
  140. package/dist/scripts/verify_memory_intents.js +45 -0
  141. package/dist/scripts/verify_memory_intents.js.map +1 -0
  142. package/dist/scripts/verify_redis_intents.d.ts +2 -0
  143. package/dist/scripts/verify_redis_intents.d.ts.map +1 -0
  144. package/dist/scripts/verify_redis_intents.js +50 -0
  145. package/dist/scripts/verify_redis_intents.js.map +1 -0
  146. package/dist/verify_memory_intents.js +44 -0
  147. package/dist/verify_redis_intents.js +49 -0
  148. package/dist/workflow/MockWorkflowAdapter.d.ts +5 -0
  149. package/dist/workflow/MockWorkflowAdapter.d.ts.map +1 -0
  150. package/dist/workflow/MockWorkflowAdapter.js +162 -0
  151. package/dist/workflow/MockWorkflowAdapter.js.map +1 -0
  152. package/package.json +78 -0
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MockWorkflowAdapter = void 0;
4
+ const MOCK_FLIGHTS = [
5
+ {
6
+ id: 'SW218',
7
+ airline: 'SkyWay Travel',
8
+ flightNumber: 'SW218',
9
+ origin: 'London',
10
+ destination: 'Paris',
11
+ departureTime: '09:30',
12
+ arrivalTime: '11:50',
13
+ price: 120,
14
+ currency: 'GBP',
15
+ seatsAvailable: 12
16
+ },
17
+ {
18
+ id: 'SW342',
19
+ airline: 'SkyWay Travel',
20
+ flightNumber: 'SW342',
21
+ origin: 'London',
22
+ destination: 'Paris',
23
+ departureTime: '13:15',
24
+ arrivalTime: '15:35',
25
+ price: 105,
26
+ currency: 'GBP',
27
+ seatsAvailable: 5
28
+ },
29
+ {
30
+ id: 'SW410',
31
+ airline: 'SkyWay Travel',
32
+ flightNumber: 'SW410',
33
+ origin: 'London',
34
+ destination: 'Paris',
35
+ departureTime: '18:00',
36
+ arrivalTime: '20:20',
37
+ price: 135,
38
+ currency: 'GBP',
39
+ seatsAvailable: 20
40
+ }
41
+ ];
42
+ class MockWorkflowAdapter {
43
+ async executeWorkflow(intentName, payload) {
44
+ console.log(`[MockWorkflow] Executing ${intentName} with payload:`, payload);
45
+ // 1. Flight Search
46
+ if (intentName === 'FLIGHTS_INQUIRY') {
47
+ const { origin, destination } = payload;
48
+ // Normalize for matching
49
+ const originCity = (origin || "").toLowerCase();
50
+ const destCity = (destination || "").toLowerCase();
51
+ // Default to London -> Paris if inputs are vague for the demo script
52
+ const matches = MOCK_FLIGHTS.filter(f => {
53
+ const matchOrg = f.origin.toLowerCase().includes(originCity);
54
+ const matchDest = f.destination.toLowerCase().includes(destCity);
55
+ return matchOrg && matchDest;
56
+ });
57
+ if (matches.length === 0) {
58
+ // Fallback for demo if users says "flights to paris" without origin,
59
+ // we might just return them if we assume context, but let's stick to filters.
60
+ if (destCity.includes('paris') && !origin) {
61
+ // Suggest London? Or just show all to Paris?
62
+ // Let's filter just by Dest
63
+ const destMatches = MOCK_FLIGHTS.filter(f => f.destination.toLowerCase().includes(destCity));
64
+ return {
65
+ success: true,
66
+ data: {
67
+ found: true,
68
+ count: destMatches.length,
69
+ flights: destMatches.map(f => ({
70
+ id: f.id,
71
+ summary: `Flight ${f.flightNumber}: ${f.origin} (${f.departureTime}) -> ${f.destination} (${f.arrivalTime}) - £${f.price}`
72
+ })),
73
+ message: `Here are specific flights to ${destination}.`
74
+ }
75
+ };
76
+ }
77
+ return {
78
+ success: true,
79
+ data: {
80
+ found: false,
81
+ message: `No flights found explicitly from ${origin} to ${destination}.`
82
+ }
83
+ };
84
+ }
85
+ // Return detailed list formatted for the bot to read out
86
+ return {
87
+ success: true,
88
+ data: {
89
+ found: true,
90
+ count: matches.length,
91
+ flights: matches.map(f => ({
92
+ id: f.id,
93
+ summary: `Flight ${f.flightNumber}: ${f.origin} (${f.departureTime}) -> ${f.destination} (${f.arrivalTime}) - £${f.price}`
94
+ }))
95
+ }
96
+ };
97
+ }
98
+ // 2. Select Flight
99
+ if (intentName === 'SELECT_FLIGHT') {
100
+ const { flight_id } = payload;
101
+ // Try to fuzzy match SW...
102
+ const flight = MOCK_FLIGHTS.find(f => f.id.toLowerCase() === (flight_id || "").toLowerCase() ||
103
+ f.flightNumber.toLowerCase() === (flight_id || "").toLowerCase());
104
+ if (flight) {
105
+ return {
106
+ success: true,
107
+ data: {
108
+ status: 'selection_confirmed',
109
+ selected_flight: flight,
110
+ message: `Great choice. To complete the booking for Flight ${flight.flightNumber}, I'll need a few details: First name, Last name, and Email address.`
111
+ }
112
+ };
113
+ }
114
+ // If payload is empty or not matching, maybe LLM passed "second one"
115
+ // We can't easily resolve "second one" without state history in the workflow adapter.
116
+ // But the LLM Orchestrator might have done it?
117
+ // Actually, the intent extractor extracts "Flight SW342" usually.
118
+ return {
119
+ success: true,
120
+ data: {
121
+ status: 'selection_unknown',
122
+ message: "Which flight would you like? Please specify the flight number (e.g., SW342)."
123
+ }
124
+ };
125
+ }
126
+ // 3. Book Flight (Collect Details)
127
+ if (intentName === 'BOOK_FLIGHT') {
128
+ const { first_name, last_name, email } = payload;
129
+ if (!first_name || !last_name || !email) {
130
+ return {
131
+ success: false,
132
+ data: {
133
+ status: 'missing_info',
134
+ message: "I need your First Name, Last Name, and Email to proceed."
135
+ }
136
+ };
137
+ }
138
+ return {
139
+ success: true,
140
+ data: {
141
+ status: 'booking_confirmed',
142
+ confirmation_message: `Thank you, ${first_name}. Your booking has been successfully completed. A confirmation email has been sent to ${email}. Safe travels!`
143
+ }
144
+ };
145
+ }
146
+ // 4. Flight Info (Legacy/General)
147
+ if (intentName === 'FLIGHT_INFO') {
148
+ return {
149
+ success: true,
150
+ data: {
151
+ message: "Please select a flight to book."
152
+ }
153
+ };
154
+ }
155
+ return {
156
+ success: false,
157
+ error: `Unknown workflow: ${intentName}`
158
+ };
159
+ }
160
+ }
161
+ exports.MockWorkflowAdapter = MockWorkflowAdapter;
162
+ //# sourceMappingURL=MockWorkflowAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MockWorkflowAdapter.js","sourceRoot":"","sources":["../../src/workflow/MockWorkflowAdapter.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,78 @@
1
+ {
2
+ "name": "chat-flow-ardymalihi",
3
+ "version": "1.0.2",
4
+ "description": "Production-ready conversation orchestration library with intent detection and workflow integration",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "files": [
8
+ "dist",
9
+ "README.md",
10
+ "LICENSE"
11
+ ],
12
+ "scripts": {
13
+ "start": "ts-node src/index.ts",
14
+ "build": "tsc",
15
+ "build:watch": "tsc --watch",
16
+ "test": "jest",
17
+ "test:watch": "jest --watch",
18
+ "test:coverage": "jest --coverage",
19
+ "lint": "eslint src/**/*.ts",
20
+ "lint:fix": "eslint src/**/*.ts --fix",
21
+ "format": "prettier --write \"src/**/*.ts\"",
22
+ "format:check": "prettier --check \"src/**/*.ts\"",
23
+ "demo": "ts-node src/demo/cli-demo.ts",
24
+ "chat": "ts-node src/demo/console-chat.ts",
25
+ "prepublishOnly": "npm run build && npm test",
26
+ "prerelease": "git pull origin main",
27
+ "release:patch": "npm run prerelease && npm version patch && npm publish --access public && git push && git push --tags",
28
+ "release:minor": "npm run prerelease && npm version minor && npm publish --access public && git push && git push --tags",
29
+ "release:major": "npm run prerelease && npm version major && npm publish --access public && git push && git push --tags"
30
+ },
31
+ "keywords": [
32
+ "conversation",
33
+ "orchestration",
34
+ "agent",
35
+ "llm",
36
+ "intent-detection",
37
+ "chatbot",
38
+ "workflow",
39
+ "ai",
40
+ "gemini",
41
+ "chat",
42
+ "session-management"
43
+ ],
44
+ "author": "",
45
+ "license": "MIT",
46
+ "repository": {
47
+ "type": "git",
48
+ "url": "https://github.com/ardymalihi/chat-flow.git"
49
+ },
50
+ "bugs": {
51
+ "url": "https://github.com/ardymalihi/chat-flow/issues"
52
+ },
53
+ "homepage": "https://github.com/ardymalihi/chat-flow#readme",
54
+ "devDependencies": {
55
+ "@types/ioredis": "^5.0.0",
56
+ "@types/jest": "^29.5.0",
57
+ "@types/node": "^20.0.0",
58
+ "@types/uuid": "^9.0.8",
59
+ "@typescript-eslint/eslint-plugin": "^6.0.0",
60
+ "@typescript-eslint/parser": "^6.0.0",
61
+ "eslint": "^8.0.0",
62
+ "jest": "^29.5.0",
63
+ "prettier": "^3.0.0",
64
+ "ts-jest": "^29.1.0",
65
+ "ts-node": "^10.9.1",
66
+ "typescript": "^5.0.0"
67
+ },
68
+ "dependencies": {
69
+ "@google/generative-ai": "^0.24.1",
70
+ "dotenv": "^16.0.0",
71
+ "ioredis": "^5.8.2",
72
+ "uuid": "^9.0.1"
73
+ },
74
+ "engines": {
75
+ "node": ">=16.0.0",
76
+ "npm": ">=8.0.0"
77
+ }
78
+ }