alexa-ai 2.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +136 -0
- package/LICENSE +15 -0
- package/README.md +862 -0
- package/examples/bot-ai.js +531 -0
- package/examples/demo.js +147 -0
- package/index.js +75 -0
- package/package.json +50 -0
- package/src/AlexaAI.js +1099 -0
- package/src/core/Config.js +249 -0
- package/src/core/DeepAIClient.js +789 -0
- package/src/core/Endpoints.js +74 -0
- package/src/core/Persona.js +102 -0
- package/src/core/StreamParser.js +157 -0
- package/src/core/SystemPrompt.js +7 -0
- package/src/core/errors.js +51 -0
- package/src/db/Database.js +161 -0
- package/src/db/schema.sql +214 -0
- package/src/repositories/ConversationRepository.js +206 -0
- package/src/repositories/IdentityRepository.js +244 -0
- package/src/repositories/MemoryRepository.js +215 -0
- package/src/repositories/UserRepository.js +275 -0
- package/src/services/AmnesiaGuard.js +176 -0
- package/src/services/FactMiner.js +151 -0
- package/src/services/IdentityGuard.js +203 -0
- package/src/services/IdentityResolver.js +179 -0
- package/src/services/ImageDescriber.js +335 -0
- package/src/services/MathDetector.js +64 -0
- package/src/services/MemoryExtractor.js +142 -0
- package/src/services/PromptBuilder.js +216 -0
- package/src/services/ResponseFormatter.js +121 -0
- package/src/services/TriggerDetector.js +182 -0
- package/src/services/WebAnswer.js +573 -0
- package/src/utils/JidParser.js +148 -0
- package/src/utils/Media.js +235 -0
package/index.js
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* alexa-ai — AI engine for the Alexa WhatsApp bot.
|
|
5
|
+
*
|
|
6
|
+
* const AlexaAI = require('./alexa-ai');
|
|
7
|
+
* const ai = new AlexaAI({ key: 'deepaikey', postgresUrl: 'connection string' });
|
|
8
|
+
*
|
|
9
|
+
* const { text } = await ai.chat({
|
|
10
|
+
* message : 'Hello!',
|
|
11
|
+
* userId : '78151912841263@lid',
|
|
12
|
+
* groupId : '120363413125431525@g.us', // omit for a DM
|
|
13
|
+
* userName: 'Nimal',
|
|
14
|
+
* });
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
const AlexaAI = require('./src/AlexaAI');
|
|
18
|
+
const Config = require('./src/core/Config');
|
|
19
|
+
const DeepAIClient = require('./src/core/DeepAIClient');
|
|
20
|
+
const Database = require('./src/db/Database');
|
|
21
|
+
const UserRepository = require('./src/repositories/UserRepository');
|
|
22
|
+
const MemoryRepository = require('./src/repositories/MemoryRepository');
|
|
23
|
+
const ConversationRepository = require('./src/repositories/ConversationRepository');
|
|
24
|
+
const IdentityRepository = require('./src/repositories/IdentityRepository');
|
|
25
|
+
const PromptBuilder = require('./src/services/PromptBuilder');
|
|
26
|
+
const MemoryExtractor = require('./src/services/MemoryExtractor');
|
|
27
|
+
const FactMiner = require('./src/services/FactMiner');
|
|
28
|
+
const MathDetector = require('./src/services/MathDetector');
|
|
29
|
+
const IdentityGuard = require('./src/services/IdentityGuard');
|
|
30
|
+
const AmnesiaGuard = require('./src/services/AmnesiaGuard');
|
|
31
|
+
const IdentityResolver = require('./src/services/IdentityResolver');
|
|
32
|
+
const ResponseFormatter = require('./src/services/ResponseFormatter');
|
|
33
|
+
const TriggerDetector = require('./src/services/TriggerDetector');
|
|
34
|
+
const ImageDescriber = require('./src/services/ImageDescriber');
|
|
35
|
+
const WebAnswer = require('./src/services/WebAnswer');
|
|
36
|
+
const JidParser = require('./src/utils/JidParser');
|
|
37
|
+
const Media = require('./src/utils/Media');
|
|
38
|
+
const StreamParser = require('./src/core/StreamParser');
|
|
39
|
+
const Persona = require('./src/core/Persona');
|
|
40
|
+
const { ENDPOINTS, STANDARD_APIS, TASK_TYPES } = require('./src/core/Endpoints');
|
|
41
|
+
const SYSTEM_PROMPT = require('./src/core/SystemPrompt');
|
|
42
|
+
const errors = require('./src/core/errors');
|
|
43
|
+
|
|
44
|
+
module.exports = AlexaAI;
|
|
45
|
+
|
|
46
|
+
// Named exports for advanced use / testing.
|
|
47
|
+
module.exports.AlexaAI = AlexaAI;
|
|
48
|
+
module.exports.Config = Config;
|
|
49
|
+
module.exports.DeepAIClient = DeepAIClient;
|
|
50
|
+
module.exports.Database = Database;
|
|
51
|
+
module.exports.UserRepository = UserRepository;
|
|
52
|
+
module.exports.MemoryRepository = MemoryRepository;
|
|
53
|
+
module.exports.ConversationRepository = ConversationRepository;
|
|
54
|
+
module.exports.IdentityRepository = IdentityRepository;
|
|
55
|
+
module.exports.PromptBuilder = PromptBuilder;
|
|
56
|
+
module.exports.MemoryExtractor = MemoryExtractor;
|
|
57
|
+
module.exports.FactMiner = FactMiner;
|
|
58
|
+
module.exports.MathDetector = MathDetector;
|
|
59
|
+
module.exports.IdentityGuard = IdentityGuard;
|
|
60
|
+
module.exports.AmnesiaGuard = AmnesiaGuard;
|
|
61
|
+
module.exports.IdentityResolver = IdentityResolver;
|
|
62
|
+
module.exports.ResponseFormatter = ResponseFormatter;
|
|
63
|
+
module.exports.TriggerDetector = TriggerDetector;
|
|
64
|
+
module.exports.ImageDescriber = ImageDescriber;
|
|
65
|
+
module.exports.WebAnswer = WebAnswer;
|
|
66
|
+
module.exports.JidParser = JidParser;
|
|
67
|
+
module.exports.Media = Media;
|
|
68
|
+
module.exports.StreamParser = StreamParser;
|
|
69
|
+
module.exports.Persona = Persona;
|
|
70
|
+
module.exports.ENDPOINTS = ENDPOINTS;
|
|
71
|
+
module.exports.STANDARD_APIS = STANDARD_APIS;
|
|
72
|
+
module.exports.TASK_TYPES = TASK_TYPES;
|
|
73
|
+
module.exports.SYSTEM_PROMPT = SYSTEM_PROMPT;
|
|
74
|
+
module.exports.errors = errors;
|
|
75
|
+
Object.assign(module.exports, errors);
|
package/package.json
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "alexa-ai",
|
|
3
|
+
"version": "2.1.1",
|
|
4
|
+
"description": "AI engine for the Alexa WhatsApp bot: DeepAI-powered chat with PostgreSQL-backed long-term memory, cross-chat identity (@lid <-> phone), vision/OCR, image generation and web search.",
|
|
5
|
+
"main": "index.js",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"test": "node test/run-tests.js && node test/wrapper-methods.js",
|
|
8
|
+
"demo": "node examples/demo.js",
|
|
9
|
+
"migrate": "node -e \"require('./index').AlexaAI.migrate(process.env.POSTGRES_URL).then(()=>{console.log('migrated');process.exit(0)}).catch(e=>{console.error(e);process.exit(1)})\"",
|
|
10
|
+
"test:wrapper": "node test/wrapper-methods.js"
|
|
11
|
+
},
|
|
12
|
+
"repository": {
|
|
13
|
+
"type": "git",
|
|
14
|
+
"url": "git+https://github.com/AlexaInc/deepai.git"
|
|
15
|
+
},
|
|
16
|
+
"bugs": {
|
|
17
|
+
"url": "https://github.com/AlexaInc/deepai/issues"
|
|
18
|
+
},
|
|
19
|
+
"homepage": "https://github.com/AlexaInc/deepai#readme",
|
|
20
|
+
"keywords": [
|
|
21
|
+
"whatsapp",
|
|
22
|
+
"ai",
|
|
23
|
+
"deepai",
|
|
24
|
+
"postgres",
|
|
25
|
+
"chatbot",
|
|
26
|
+
"alexa",
|
|
27
|
+
"memory",
|
|
28
|
+
"lid",
|
|
29
|
+
"baileys",
|
|
30
|
+
"vision",
|
|
31
|
+
"ocr",
|
|
32
|
+
"image-generation"
|
|
33
|
+
],
|
|
34
|
+
"author": "Hansaka",
|
|
35
|
+
"license": "ISC",
|
|
36
|
+
"engines": {
|
|
37
|
+
"node": ">=18.0.0"
|
|
38
|
+
},
|
|
39
|
+
"files": [
|
|
40
|
+
"index.js",
|
|
41
|
+
"src/",
|
|
42
|
+
"examples/",
|
|
43
|
+
"README.md",
|
|
44
|
+
"CHANGELOG.md",
|
|
45
|
+
"LICENSE"
|
|
46
|
+
],
|
|
47
|
+
"dependencies": {
|
|
48
|
+
"pg": "^8.13.1"
|
|
49
|
+
}
|
|
50
|
+
}
|