adaptoclaw 1.0.0
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/LICENSE +21 -0
- package/README.md +3 -0
- package/dist/channels/amocrm.d.ts +20 -0
- package/dist/channels/amocrm.d.ts.map +1 -0
- package/dist/channels/amocrm.js +233 -0
- package/dist/channels/amocrm.js.map +1 -0
- package/dist/channels/factory.d.ts +24 -0
- package/dist/channels/factory.d.ts.map +1 -0
- package/dist/channels/factory.js +41 -0
- package/dist/channels/factory.js.map +1 -0
- package/dist/channels/telegram.d.ts +28 -0
- package/dist/channels/telegram.d.ts.map +1 -0
- package/dist/channels/telegram.js +432 -0
- package/dist/channels/telegram.js.map +1 -0
- package/dist/channels/whatsapp.d.ts +88 -0
- package/dist/channels/whatsapp.d.ts.map +1 -0
- package/dist/channels/whatsapp.js +502 -0
- package/dist/channels/whatsapp.js.map +1 -0
- package/dist/config-types.d.ts +43 -0
- package/dist/config-types.d.ts.map +1 -0
- package/dist/config-types.js +2 -0
- package/dist/config-types.js.map +1 -0
- package/dist/config.d.ts +32 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +71 -0
- package/dist/config.js.map +1 -0
- package/dist/container-runner.d.ts +47 -0
- package/dist/container-runner.d.ts.map +1 -0
- package/dist/container-runner.js +494 -0
- package/dist/container-runner.js.map +1 -0
- package/dist/container-runtime.d.ts +13 -0
- package/dist/container-runtime.d.ts.map +1 -0
- package/dist/container-runtime.js +90 -0
- package/dist/container-runtime.js.map +1 -0
- package/dist/core/engine.d.ts +64 -0
- package/dist/core/engine.d.ts.map +1 -0
- package/dist/core/engine.js +782 -0
- package/dist/core/engine.js.map +1 -0
- package/dist/create.d.ts +4 -0
- package/dist/create.d.ts.map +1 -0
- package/dist/create.js +5 -0
- package/dist/create.js.map +1 -0
- package/dist/db.d.ts +67 -0
- package/dist/db.d.ts.map +1 -0
- package/dist/db.js +454 -0
- package/dist/db.js.map +1 -0
- package/dist/env.d.ts +8 -0
- package/dist/env.d.ts.map +1 -0
- package/dist/env.js +40 -0
- package/dist/env.js.map +1 -0
- package/dist/group-folder.d.ts +5 -0
- package/dist/group-folder.d.ts.map +1 -0
- package/dist/group-folder.js +44 -0
- package/dist/group-folder.js.map +1 -0
- package/dist/group-queue.d.ts +52 -0
- package/dist/group-queue.d.ts.map +1 -0
- package/dist/group-queue.js +321 -0
- package/dist/group-queue.js.map +1 -0
- package/dist/health.d.ts +5 -0
- package/dist/health.d.ts.map +1 -0
- package/dist/health.js +70 -0
- package/dist/health.js.map +1 -0
- package/dist/hooks/runner.d.ts +13 -0
- package/dist/hooks/runner.d.ts.map +1 -0
- package/dist/hooks/runner.js +42 -0
- package/dist/hooks/runner.js.map +1 -0
- package/dist/hooks/types.d.ts +33 -0
- package/dist/hooks/types.d.ts.map +1 -0
- package/dist/hooks/types.js +2 -0
- package/dist/hooks/types.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +38 -0
- package/dist/index.js.map +1 -0
- package/dist/ipc.d.ts +36 -0
- package/dist/ipc.d.ts.map +1 -0
- package/dist/ipc.js +441 -0
- package/dist/ipc.js.map +1 -0
- package/dist/logger.d.ts +3 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +14 -0
- package/dist/logger.js.map +1 -0
- package/dist/media-cleanup.d.ts +2 -0
- package/dist/media-cleanup.d.ts.map +1 -0
- package/dist/media-cleanup.js +51 -0
- package/dist/media-cleanup.js.map +1 -0
- package/dist/media.d.ts +2 -0
- package/dist/media.d.ts.map +1 -0
- package/dist/media.js +22 -0
- package/dist/media.js.map +1 -0
- package/dist/mount-security.d.ts +34 -0
- package/dist/mount-security.d.ts.map +1 -0
- package/dist/mount-security.js +321 -0
- package/dist/mount-security.js.map +1 -0
- package/dist/rate-limiter.d.ts +10 -0
- package/dist/rate-limiter.d.ts.map +1 -0
- package/dist/rate-limiter.js +31 -0
- package/dist/rate-limiter.js.map +1 -0
- package/dist/router.d.ts +11 -0
- package/dist/router.d.ts.map +1 -0
- package/dist/router.js +79 -0
- package/dist/router.js.map +1 -0
- package/dist/rqlite.d.ts +36 -0
- package/dist/rqlite.d.ts.map +1 -0
- package/dist/rqlite.js +98 -0
- package/dist/rqlite.js.map +1 -0
- package/dist/runtime-config.d.ts +9 -0
- package/dist/runtime-config.d.ts.map +1 -0
- package/dist/runtime-config.js +14 -0
- package/dist/runtime-config.js.map +1 -0
- package/dist/task-scheduler.d.ts +14 -0
- package/dist/task-scheduler.d.ts.map +1 -0
- package/dist/task-scheduler.js +189 -0
- package/dist/task-scheduler.js.map +1 -0
- package/dist/types.d.ts +96 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/whatsapp-auth.d.ts +2 -0
- package/dist/whatsapp-auth.d.ts.map +1 -0
- package/dist/whatsapp-auth.js +141 -0
- package/dist/whatsapp-auth.js.map +1 -0
- package/package.json +58 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/core/engine.ts"],"names":[],"mappings":"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"}
|
package/dist/create.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,wBAAgB,eAAe,CAAC,MAAM,EAAE,gBAAgB,GAAG,cAAc,CAExE"}
|
package/dist/create.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,UAAU,eAAe,CAAC,MAAwB;IACtD,OAAO,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC"}
|
package/dist/db.d.ts
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { BackgroundTask, NewMessage, RegisteredGroup, ScheduledTask, TaskRunLog } from './types.js';
|
|
2
|
+
export declare function initDatabase(): Promise<void>;
|
|
3
|
+
/** @internal - for tests only. No-op (tests use mock rqlite client). */
|
|
4
|
+
export declare function _initTestDatabase(): Promise<void>;
|
|
5
|
+
export declare function storeChatMetadata(chatJid: string, timestamp: string, name?: string, channel?: string, isGroup?: boolean): Promise<void>;
|
|
6
|
+
export declare function updateChatName(chatJid: string, name: string): Promise<void>;
|
|
7
|
+
export interface ChatInfo {
|
|
8
|
+
jid: string;
|
|
9
|
+
name: string;
|
|
10
|
+
last_message_time: string;
|
|
11
|
+
channel: string;
|
|
12
|
+
is_group: boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare function getAllChats(): Promise<ChatInfo[]>;
|
|
15
|
+
export declare function getLastGroupSync(): Promise<string | null>;
|
|
16
|
+
export declare function setLastGroupSync(): Promise<void>;
|
|
17
|
+
export declare function storeMessage(msg: NewMessage): Promise<void>;
|
|
18
|
+
export declare function storeMessageDirect(msg: {
|
|
19
|
+
id: string;
|
|
20
|
+
chat_jid: string;
|
|
21
|
+
sender: string;
|
|
22
|
+
sender_name: string;
|
|
23
|
+
content: string;
|
|
24
|
+
timestamp: string;
|
|
25
|
+
is_from_me: boolean;
|
|
26
|
+
is_bot_message?: boolean;
|
|
27
|
+
}): Promise<void>;
|
|
28
|
+
export declare function getNewMessages(jids: string[], lastTimestamp: string, botPrefix: string): Promise<{
|
|
29
|
+
messages: NewMessage[];
|
|
30
|
+
newTimestamp: string;
|
|
31
|
+
}>;
|
|
32
|
+
export declare function getMessagesSince(chatJid: string, sinceTimestamp: string, botPrefix: string): Promise<NewMessage[]>;
|
|
33
|
+
export declare function createTask(task: Omit<ScheduledTask, 'last_run' | 'last_result'>): Promise<void>;
|
|
34
|
+
export declare function getTaskById(id: string): Promise<ScheduledTask | undefined>;
|
|
35
|
+
export declare function getTasksForGroup(groupFolder: string): Promise<ScheduledTask[]>;
|
|
36
|
+
export declare function getAllTasks(): Promise<ScheduledTask[]>;
|
|
37
|
+
export declare function updateTask(id: string, updates: Partial<Pick<ScheduledTask, 'prompt' | 'schedule_type' | 'schedule_value' | 'next_run' | 'status'>>): Promise<void>;
|
|
38
|
+
export declare function deleteTask(id: string): Promise<void>;
|
|
39
|
+
export declare function getDueTasks(): Promise<ScheduledTask[]>;
|
|
40
|
+
export declare function updateTaskAfterRun(id: string, nextRun: string | null, lastResult: string): Promise<void>;
|
|
41
|
+
export declare function logTaskRun(log: TaskRunLog): Promise<void>;
|
|
42
|
+
export declare function searchMessages(queryStr: string, chatJid?: string, limit?: number): Promise<NewMessage[]>;
|
|
43
|
+
export declare function getRecentMessages(chatJid: string, limit?: number): Promise<NewMessage[]>;
|
|
44
|
+
export declare function getRouterState(key: string): Promise<string | undefined>;
|
|
45
|
+
export declare function setRouterState(key: string, value: string): Promise<void>;
|
|
46
|
+
export declare function getSession(groupFolder: string): Promise<string | undefined>;
|
|
47
|
+
export declare function setSession(groupFolder: string, sessionId: string): Promise<void>;
|
|
48
|
+
export declare function getAllSessions(): Promise<Record<string, string>>;
|
|
49
|
+
export declare function getRegisteredGroup(jid: string): Promise<(RegisteredGroup & {
|
|
50
|
+
jid: string;
|
|
51
|
+
}) | undefined>;
|
|
52
|
+
export declare function setRegisteredGroup(jid: string, group: RegisteredGroup): Promise<void>;
|
|
53
|
+
export declare function getAllRegisteredGroups(): Promise<Record<string, RegisteredGroup>>;
|
|
54
|
+
export declare function createBackgroundTask(task: BackgroundTask): Promise<void>;
|
|
55
|
+
export declare function getBackgroundTask(id: string): Promise<BackgroundTask | undefined>;
|
|
56
|
+
export declare function getBackgroundTasksForGroup(groupFolder: string, statusFilter?: BackgroundTask['status'][]): Promise<BackgroundTask[]>;
|
|
57
|
+
export declare function updateBackgroundTask(id: string, updates: Partial<Pick<BackgroundTask, 'status' | 'completed_at' | 'result_summary'>>): Promise<void>;
|
|
58
|
+
export declare function logContainerRun(log: {
|
|
59
|
+
group_folder: string;
|
|
60
|
+
container_name: string;
|
|
61
|
+
duration_ms: number;
|
|
62
|
+
exit_code: number | null;
|
|
63
|
+
is_timeout: boolean;
|
|
64
|
+
log_text: string;
|
|
65
|
+
metadata?: Record<string, unknown>;
|
|
66
|
+
}): Promise<void>;
|
|
67
|
+
//# sourceMappingURL=db.d.ts.map
|
package/dist/db.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
|
package/dist/db.js
ADDED
|
@@ -0,0 +1,454 @@
|
|
|
1
|
+
import { query, execute, executeBatch } from './rqlite.js';
|
|
2
|
+
import { isValidGroupFolder } from './group-folder.js';
|
|
3
|
+
import { logger } from './logger.js';
|
|
4
|
+
export async function initDatabase() {
|
|
5
|
+
await executeBatch([
|
|
6
|
+
[`CREATE TABLE IF NOT EXISTS chats (
|
|
7
|
+
jid TEXT PRIMARY KEY,
|
|
8
|
+
name TEXT NOT NULL,
|
|
9
|
+
last_message_time TEXT NOT NULL,
|
|
10
|
+
channel TEXT,
|
|
11
|
+
is_group INTEGER
|
|
12
|
+
)`],
|
|
13
|
+
[`CREATE TABLE IF NOT EXISTS messages (
|
|
14
|
+
id TEXT NOT NULL,
|
|
15
|
+
chat_jid TEXT NOT NULL,
|
|
16
|
+
sender TEXT NOT NULL,
|
|
17
|
+
sender_name TEXT NOT NULL,
|
|
18
|
+
content TEXT NOT NULL,
|
|
19
|
+
timestamp TEXT NOT NULL,
|
|
20
|
+
is_from_me INTEGER DEFAULT 0,
|
|
21
|
+
is_bot_message INTEGER DEFAULT 0,
|
|
22
|
+
PRIMARY KEY (id, chat_jid)
|
|
23
|
+
)`],
|
|
24
|
+
[`CREATE TABLE IF NOT EXISTS scheduled_tasks (
|
|
25
|
+
id TEXT PRIMARY KEY,
|
|
26
|
+
group_folder TEXT NOT NULL,
|
|
27
|
+
chat_jid TEXT NOT NULL,
|
|
28
|
+
prompt TEXT NOT NULL,
|
|
29
|
+
schedule_type TEXT NOT NULL,
|
|
30
|
+
schedule_value TEXT NOT NULL,
|
|
31
|
+
context_mode TEXT DEFAULT 'isolated',
|
|
32
|
+
next_run TEXT,
|
|
33
|
+
last_run TEXT,
|
|
34
|
+
last_result TEXT,
|
|
35
|
+
status TEXT NOT NULL DEFAULT 'active',
|
|
36
|
+
created_at TEXT NOT NULL
|
|
37
|
+
)`],
|
|
38
|
+
[`CREATE TABLE IF NOT EXISTS task_run_logs (
|
|
39
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
40
|
+
task_id TEXT NOT NULL,
|
|
41
|
+
run_at TEXT NOT NULL,
|
|
42
|
+
duration_ms INTEGER NOT NULL,
|
|
43
|
+
status TEXT NOT NULL,
|
|
44
|
+
result TEXT,
|
|
45
|
+
error TEXT
|
|
46
|
+
)`],
|
|
47
|
+
[`CREATE TABLE IF NOT EXISTS router_state (
|
|
48
|
+
key TEXT PRIMARY KEY,
|
|
49
|
+
value TEXT NOT NULL
|
|
50
|
+
)`],
|
|
51
|
+
[`CREATE TABLE IF NOT EXISTS sessions (
|
|
52
|
+
group_folder TEXT PRIMARY KEY,
|
|
53
|
+
session_id TEXT NOT NULL
|
|
54
|
+
)`],
|
|
55
|
+
[`CREATE TABLE IF NOT EXISTS registered_groups (
|
|
56
|
+
jid TEXT PRIMARY KEY,
|
|
57
|
+
name TEXT NOT NULL,
|
|
58
|
+
folder TEXT NOT NULL,
|
|
59
|
+
trigger_pattern TEXT NOT NULL,
|
|
60
|
+
added_at TEXT NOT NULL,
|
|
61
|
+
container_config TEXT,
|
|
62
|
+
requires_trigger INTEGER DEFAULT 1
|
|
63
|
+
)`],
|
|
64
|
+
[`CREATE TABLE IF NOT EXISTS container_logs (
|
|
65
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
66
|
+
group_folder TEXT NOT NULL,
|
|
67
|
+
container_name TEXT NOT NULL,
|
|
68
|
+
created_at TEXT NOT NULL,
|
|
69
|
+
duration_ms INTEGER NOT NULL,
|
|
70
|
+
exit_code INTEGER,
|
|
71
|
+
is_timeout INTEGER NOT NULL DEFAULT 0,
|
|
72
|
+
log_text TEXT NOT NULL,
|
|
73
|
+
metadata TEXT
|
|
74
|
+
)`],
|
|
75
|
+
[`CREATE TABLE IF NOT EXISTS background_tasks (
|
|
76
|
+
id TEXT PRIMARY KEY,
|
|
77
|
+
group_folder TEXT NOT NULL,
|
|
78
|
+
chat_jid TEXT NOT NULL,
|
|
79
|
+
label TEXT NOT NULL,
|
|
80
|
+
prompt TEXT NOT NULL,
|
|
81
|
+
status TEXT NOT NULL DEFAULT 'running',
|
|
82
|
+
created_at TEXT NOT NULL,
|
|
83
|
+
completed_at TEXT,
|
|
84
|
+
result_summary TEXT
|
|
85
|
+
)`],
|
|
86
|
+
[`CREATE INDEX IF NOT EXISTS idx_messages_chat_ts ON messages(chat_jid, timestamp)`],
|
|
87
|
+
[`CREATE INDEX IF NOT EXISTS idx_messages_bot ON messages(is_bot_message)`],
|
|
88
|
+
]);
|
|
89
|
+
// Migration: add media_json column if missing
|
|
90
|
+
try {
|
|
91
|
+
await execute(`ALTER TABLE messages ADD COLUMN media_json TEXT`);
|
|
92
|
+
}
|
|
93
|
+
catch {
|
|
94
|
+
// Column already exists — ignore
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/** @internal - for tests only. No-op (tests use mock rqlite client). */
|
|
98
|
+
export async function _initTestDatabase() {
|
|
99
|
+
await initDatabase();
|
|
100
|
+
}
|
|
101
|
+
export async function storeChatMetadata(chatJid, timestamp, name, channel, isGroup) {
|
|
102
|
+
const existing = await query('SELECT last_message_time FROM chats WHERE jid = ?', [chatJid]);
|
|
103
|
+
const keepTimestamp = existing[0]?.last_message_time && existing[0].last_message_time > timestamp
|
|
104
|
+
? existing[0].last_message_time
|
|
105
|
+
: timestamp;
|
|
106
|
+
const effectiveName = name || chatJid;
|
|
107
|
+
if (existing.length > 0) {
|
|
108
|
+
// Build dynamic UPDATE
|
|
109
|
+
const sets = ['name = ?', 'last_message_time = ?'];
|
|
110
|
+
const params = [effectiveName, keepTimestamp];
|
|
111
|
+
if (channel !== undefined) {
|
|
112
|
+
sets.push('channel = ?');
|
|
113
|
+
params.push(channel);
|
|
114
|
+
}
|
|
115
|
+
if (isGroup !== undefined) {
|
|
116
|
+
sets.push('is_group = ?');
|
|
117
|
+
params.push(isGroup ? 1 : 0);
|
|
118
|
+
}
|
|
119
|
+
params.push(chatJid);
|
|
120
|
+
await execute(`UPDATE chats SET ${sets.join(', ')} WHERE jid = ?`, params);
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
await execute('INSERT INTO chats (tenant_id, jid, name, last_message_time, channel, is_group) VALUES (?, ?, ?, ?, ?, ?)', ['default', chatJid, effectiveName, keepTimestamp, channel ?? null, isGroup !== undefined ? (isGroup ? 1 : 0) : null]);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
export async function updateChatName(chatJid, name) {
|
|
127
|
+
const existing = await query('SELECT jid FROM chats WHERE jid = ?', [chatJid]);
|
|
128
|
+
if (existing.length > 0) {
|
|
129
|
+
await execute('UPDATE chats SET name = ? WHERE jid = ?', [name, chatJid]);
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
await execute('INSERT INTO chats (tenant_id, jid, name, last_message_time) VALUES (?, ?, ?, ?)', ['default', chatJid, name, new Date().toISOString()]);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
export async function getAllChats() {
|
|
136
|
+
try {
|
|
137
|
+
const rows = await query('SELECT jid, name, last_message_time, channel, is_group FROM chats ORDER BY last_message_time DESC');
|
|
138
|
+
return rows.map((r) => ({
|
|
139
|
+
jid: r.jid,
|
|
140
|
+
name: r.name,
|
|
141
|
+
last_message_time: r.last_message_time,
|
|
142
|
+
channel: r.channel || '',
|
|
143
|
+
is_group: !!r.is_group,
|
|
144
|
+
}));
|
|
145
|
+
}
|
|
146
|
+
catch (error) {
|
|
147
|
+
logger.error({ error }, 'Failed to get chats');
|
|
148
|
+
return [];
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
export async function getLastGroupSync() {
|
|
152
|
+
const rows = await query('SELECT last_message_time FROM chats WHERE jid = ?', ['__group_sync__']);
|
|
153
|
+
return rows[0]?.last_message_time || null;
|
|
154
|
+
}
|
|
155
|
+
export async function setLastGroupSync() {
|
|
156
|
+
const now = new Date().toISOString();
|
|
157
|
+
const existing = await query('SELECT jid FROM chats WHERE jid = ?', ['__group_sync__']);
|
|
158
|
+
if (existing.length > 0) {
|
|
159
|
+
await execute('UPDATE chats SET last_message_time = ? WHERE jid = ?', [now, '__group_sync__']);
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
await execute('INSERT INTO chats (tenant_id, jid, name, last_message_time) VALUES (?, ?, ?, ?)', ['default', '__group_sync__', '__group_sync__', now]);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
export async function storeMessage(msg) {
|
|
166
|
+
const mediaJson = msg.media ? JSON.stringify(msg.media) : null;
|
|
167
|
+
await execute(`INSERT INTO messages (tenant_id, id, chat_jid, sender, sender_name, content, timestamp, is_from_me, is_bot_message, media_json)
|
|
168
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
169
|
+
ON CONFLICT(tenant_id, id, chat_jid) DO UPDATE SET
|
|
170
|
+
sender = excluded.sender,
|
|
171
|
+
sender_name = excluded.sender_name,
|
|
172
|
+
content = excluded.content,
|
|
173
|
+
timestamp = excluded.timestamp,
|
|
174
|
+
is_from_me = excluded.is_from_me,
|
|
175
|
+
is_bot_message = excluded.is_bot_message,
|
|
176
|
+
media_json = excluded.media_json`, ['default', msg.id, msg.chat_jid, msg.sender, msg.sender_name, msg.content, msg.timestamp, msg.is_from_me ? 1 : 0, msg.is_bot_message ? 1 : 0, mediaJson]);
|
|
177
|
+
}
|
|
178
|
+
export async function storeMessageDirect(msg) {
|
|
179
|
+
await storeMessage(msg);
|
|
180
|
+
}
|
|
181
|
+
export async function getNewMessages(jids, lastTimestamp, botPrefix) {
|
|
182
|
+
if (jids.length === 0)
|
|
183
|
+
return { messages: [], newTimestamp: lastTimestamp };
|
|
184
|
+
const placeholders = jids.map(() => '?').join(', ');
|
|
185
|
+
const params = [...jids];
|
|
186
|
+
let sql = `SELECT id, chat_jid, sender, sender_name, content, timestamp, media_json
|
|
187
|
+
FROM messages
|
|
188
|
+
WHERE chat_jid IN (${placeholders})
|
|
189
|
+
AND is_bot_message = 0`;
|
|
190
|
+
if (lastTimestamp) {
|
|
191
|
+
sql += ' AND timestamp > ?';
|
|
192
|
+
params.push(lastTimestamp);
|
|
193
|
+
}
|
|
194
|
+
sql += ' ORDER BY timestamp ASC';
|
|
195
|
+
try {
|
|
196
|
+
const rows = await query(sql, params);
|
|
197
|
+
const messages = rows
|
|
198
|
+
.filter((m) => !m.content.startsWith(`${botPrefix}:`))
|
|
199
|
+
.map((m) => {
|
|
200
|
+
if (m.media_json) {
|
|
201
|
+
try {
|
|
202
|
+
m.media = JSON.parse(m.media_json);
|
|
203
|
+
}
|
|
204
|
+
catch { }
|
|
205
|
+
}
|
|
206
|
+
delete m.media_json;
|
|
207
|
+
return m;
|
|
208
|
+
});
|
|
209
|
+
let newTimestamp = lastTimestamp;
|
|
210
|
+
for (const row of messages) {
|
|
211
|
+
if (row.timestamp > newTimestamp)
|
|
212
|
+
newTimestamp = row.timestamp;
|
|
213
|
+
}
|
|
214
|
+
return { messages, newTimestamp };
|
|
215
|
+
}
|
|
216
|
+
catch (error) {
|
|
217
|
+
logger.error({ error }, 'Failed to get new messages');
|
|
218
|
+
return { messages: [], newTimestamp: lastTimestamp };
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
export async function getMessagesSince(chatJid, sinceTimestamp, botPrefix) {
|
|
222
|
+
const params = [chatJid];
|
|
223
|
+
let sql = `SELECT id, chat_jid, sender, sender_name, content, timestamp, media_json
|
|
224
|
+
FROM messages
|
|
225
|
+
WHERE chat_jid = ?
|
|
226
|
+
AND is_bot_message = 0`;
|
|
227
|
+
if (sinceTimestamp) {
|
|
228
|
+
sql += ' AND timestamp > ?';
|
|
229
|
+
params.push(sinceTimestamp);
|
|
230
|
+
}
|
|
231
|
+
sql += ' ORDER BY timestamp ASC';
|
|
232
|
+
try {
|
|
233
|
+
const rows = await query(sql, params);
|
|
234
|
+
return rows
|
|
235
|
+
.filter((m) => !m.content.startsWith(`${botPrefix}:`))
|
|
236
|
+
.map((m) => {
|
|
237
|
+
if (m.media_json) {
|
|
238
|
+
try {
|
|
239
|
+
m.media = JSON.parse(m.media_json);
|
|
240
|
+
}
|
|
241
|
+
catch { }
|
|
242
|
+
}
|
|
243
|
+
delete m.media_json;
|
|
244
|
+
return m;
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
catch (error) {
|
|
248
|
+
logger.error({ error }, 'Failed to get messages since');
|
|
249
|
+
return [];
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
export async function createTask(task) {
|
|
253
|
+
await execute(`INSERT INTO scheduled_tasks (tenant_id, id, group_folder, chat_jid, prompt, schedule_type, schedule_value, context_mode, next_run, status, created_at)
|
|
254
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, ['default', task.id, task.group_folder, task.chat_jid, task.prompt, task.schedule_type, task.schedule_value, task.context_mode || 'isolated', task.next_run, task.status, task.created_at]);
|
|
255
|
+
}
|
|
256
|
+
export async function getTaskById(id) {
|
|
257
|
+
const rows = await query('SELECT * FROM scheduled_tasks WHERE id = ?', [id]);
|
|
258
|
+
return rows[0] ?? undefined;
|
|
259
|
+
}
|
|
260
|
+
export async function getTasksForGroup(groupFolder) {
|
|
261
|
+
return query('SELECT * FROM scheduled_tasks WHERE group_folder = ? ORDER BY created_at DESC', [groupFolder]);
|
|
262
|
+
}
|
|
263
|
+
export async function getAllTasks() {
|
|
264
|
+
return query('SELECT * FROM scheduled_tasks ORDER BY created_at DESC');
|
|
265
|
+
}
|
|
266
|
+
export async function updateTask(id, updates) {
|
|
267
|
+
const sets = [];
|
|
268
|
+
const params = [];
|
|
269
|
+
for (const [key, value] of Object.entries(updates)) {
|
|
270
|
+
sets.push(`${key} = ?`);
|
|
271
|
+
params.push(value);
|
|
272
|
+
}
|
|
273
|
+
if (sets.length === 0)
|
|
274
|
+
return;
|
|
275
|
+
params.push(id);
|
|
276
|
+
await execute(`UPDATE scheduled_tasks SET ${sets.join(', ')} WHERE id = ?`, params);
|
|
277
|
+
}
|
|
278
|
+
export async function deleteTask(id) {
|
|
279
|
+
await execute('DELETE FROM task_run_logs WHERE task_id = ?', [id]);
|
|
280
|
+
await execute('DELETE FROM scheduled_tasks WHERE id = ?', [id]);
|
|
281
|
+
}
|
|
282
|
+
export async function getDueTasks() {
|
|
283
|
+
const now = new Date().toISOString();
|
|
284
|
+
return query(`SELECT * FROM scheduled_tasks
|
|
285
|
+
WHERE status = 'active' AND next_run IS NOT NULL AND next_run <= ?
|
|
286
|
+
ORDER BY next_run ASC`, [now]);
|
|
287
|
+
}
|
|
288
|
+
export async function updateTaskAfterRun(id, nextRun, lastResult) {
|
|
289
|
+
const now = new Date().toISOString();
|
|
290
|
+
if (nextRun === null) {
|
|
291
|
+
await execute('UPDATE scheduled_tasks SET next_run = NULL, last_run = ?, last_result = ?, status = ? WHERE id = ?', [now, lastResult, 'completed', id]);
|
|
292
|
+
}
|
|
293
|
+
else {
|
|
294
|
+
await execute('UPDATE scheduled_tasks SET next_run = ?, last_run = ?, last_result = ? WHERE id = ?', [nextRun, now, lastResult, id]);
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
export async function logTaskRun(log) {
|
|
298
|
+
await execute('INSERT INTO task_run_logs (tenant_id, task_id, run_at, duration_ms, status, result, error) VALUES (?, ?, ?, ?, ?, ?, ?)', ['default', log.task_id, log.run_at, log.duration_ms, log.status, log.result, log.error]);
|
|
299
|
+
}
|
|
300
|
+
// --- Message search ---
|
|
301
|
+
export async function searchMessages(queryStr, chatJid, limit = 50) {
|
|
302
|
+
try {
|
|
303
|
+
const params = [`%${queryStr}%`];
|
|
304
|
+
let sql = `SELECT id, chat_jid, sender, sender_name, content, timestamp, is_from_me, is_bot_message
|
|
305
|
+
FROM messages WHERE content LIKE ?`;
|
|
306
|
+
if (chatJid) {
|
|
307
|
+
sql += ' AND chat_jid = ?';
|
|
308
|
+
params.push(chatJid);
|
|
309
|
+
}
|
|
310
|
+
sql += ' ORDER BY timestamp DESC LIMIT ?';
|
|
311
|
+
params.push(limit);
|
|
312
|
+
const rows = await query(sql, params);
|
|
313
|
+
return rows;
|
|
314
|
+
}
|
|
315
|
+
catch (error) {
|
|
316
|
+
logger.error({ error }, 'Failed to search messages');
|
|
317
|
+
return [];
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
export async function getRecentMessages(chatJid, limit = 50) {
|
|
321
|
+
try {
|
|
322
|
+
const rows = await query(`SELECT id, chat_jid, sender, sender_name, content, timestamp, is_from_me, is_bot_message
|
|
323
|
+
FROM messages WHERE chat_jid = ? ORDER BY timestamp DESC LIMIT ?`, [chatJid, limit]);
|
|
324
|
+
return rows;
|
|
325
|
+
}
|
|
326
|
+
catch (error) {
|
|
327
|
+
logger.error({ error }, 'Failed to get recent messages');
|
|
328
|
+
return [];
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
// --- Router state accessors ---
|
|
332
|
+
export async function getRouterState(key) {
|
|
333
|
+
const rows = await query("SELECT value FROM router_state WHERE tenant_id = 'default' AND key = ?", [key]);
|
|
334
|
+
return rows[0]?.value;
|
|
335
|
+
}
|
|
336
|
+
export async function setRouterState(key, value) {
|
|
337
|
+
const existing = await query("SELECT key FROM router_state WHERE tenant_id = 'default' AND key = ?", [key]);
|
|
338
|
+
if (existing.length > 0) {
|
|
339
|
+
await execute("UPDATE router_state SET value = ? WHERE tenant_id = 'default' AND key = ?", [value, key]);
|
|
340
|
+
}
|
|
341
|
+
else {
|
|
342
|
+
await execute('INSERT INTO router_state (tenant_id, key, value) VALUES (?, ?, ?)', ['default', key, value]);
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
// --- Session accessors ---
|
|
346
|
+
export async function getSession(groupFolder) {
|
|
347
|
+
const rows = await query('SELECT session_id FROM sessions WHERE group_folder = ?', [groupFolder]);
|
|
348
|
+
return rows[0]?.session_id;
|
|
349
|
+
}
|
|
350
|
+
export async function setSession(groupFolder, sessionId) {
|
|
351
|
+
const existing = await query('SELECT group_folder FROM sessions WHERE group_folder = ?', [groupFolder]);
|
|
352
|
+
if (existing.length > 0) {
|
|
353
|
+
await execute('UPDATE sessions SET session_id = ? WHERE group_folder = ?', [sessionId, groupFolder]);
|
|
354
|
+
}
|
|
355
|
+
else {
|
|
356
|
+
await execute('INSERT INTO sessions (tenant_id, group_folder, session_id) VALUES (?, ?, ?)', ['default', groupFolder, sessionId]);
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
export async function getAllSessions() {
|
|
360
|
+
const rows = await query('SELECT group_folder, session_id FROM sessions');
|
|
361
|
+
const result = {};
|
|
362
|
+
for (const row of rows) {
|
|
363
|
+
result[row.group_folder] = row.session_id;
|
|
364
|
+
}
|
|
365
|
+
return result;
|
|
366
|
+
}
|
|
367
|
+
// --- Registered group accessors ---
|
|
368
|
+
export async function getRegisteredGroup(jid) {
|
|
369
|
+
const rows = await query('SELECT * FROM registered_groups WHERE jid = ?', [jid]);
|
|
370
|
+
const data = rows[0];
|
|
371
|
+
if (!data)
|
|
372
|
+
return undefined;
|
|
373
|
+
if (!isValidGroupFolder(data.folder)) {
|
|
374
|
+
logger.warn({ jid: data.jid, folder: data.folder }, 'Skipping registered group with invalid folder');
|
|
375
|
+
return undefined;
|
|
376
|
+
}
|
|
377
|
+
return {
|
|
378
|
+
jid: data.jid,
|
|
379
|
+
name: data.name,
|
|
380
|
+
folder: data.folder,
|
|
381
|
+
trigger: data.trigger_pattern,
|
|
382
|
+
added_at: data.added_at,
|
|
383
|
+
containerConfig: data.container_config ? JSON.parse(data.container_config) : undefined,
|
|
384
|
+
requiresTrigger: data.requires_trigger === null ? undefined : !!data.requires_trigger,
|
|
385
|
+
};
|
|
386
|
+
}
|
|
387
|
+
export async function setRegisteredGroup(jid, group) {
|
|
388
|
+
if (!isValidGroupFolder(group.folder)) {
|
|
389
|
+
throw new Error(`Invalid group folder "${group.folder}" for JID ${jid}`);
|
|
390
|
+
}
|
|
391
|
+
const containerConfig = group.containerConfig ? JSON.stringify(group.containerConfig) : null;
|
|
392
|
+
const requiresTrigger = group.requiresTrigger === undefined ? 1 : (group.requiresTrigger ? 1 : 0);
|
|
393
|
+
const existing = await query('SELECT jid FROM registered_groups WHERE jid = ?', [jid]);
|
|
394
|
+
if (existing.length > 0) {
|
|
395
|
+
await execute(`UPDATE registered_groups SET name = ?, folder = ?, trigger_pattern = ?, added_at = ?, container_config = ?, requires_trigger = ? WHERE jid = ?`, [group.name, group.folder, group.trigger, group.added_at, containerConfig, requiresTrigger, jid]);
|
|
396
|
+
}
|
|
397
|
+
else {
|
|
398
|
+
await execute(`INSERT INTO registered_groups (tenant_id, jid, name, folder, trigger_pattern, added_at, container_config, requires_trigger) VALUES (?, ?, ?, ?, ?, ?, ?, ?)`, ['default', jid, group.name, group.folder, group.trigger, group.added_at, containerConfig, requiresTrigger]);
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
export async function getAllRegisteredGroups() {
|
|
402
|
+
const rows = await query('SELECT * FROM registered_groups');
|
|
403
|
+
const result = {};
|
|
404
|
+
for (const row of rows) {
|
|
405
|
+
const folder = row.folder;
|
|
406
|
+
if (!isValidGroupFolder(folder)) {
|
|
407
|
+
logger.warn({ jid: row.jid, folder }, 'Skipping registered group with invalid folder');
|
|
408
|
+
continue;
|
|
409
|
+
}
|
|
410
|
+
result[row.jid] = {
|
|
411
|
+
name: row.name,
|
|
412
|
+
folder,
|
|
413
|
+
trigger: row.trigger_pattern,
|
|
414
|
+
added_at: row.added_at,
|
|
415
|
+
containerConfig: row.container_config ? JSON.parse(row.container_config) : undefined,
|
|
416
|
+
requiresTrigger: row.requires_trigger === null ? undefined : !!row.requires_trigger,
|
|
417
|
+
};
|
|
418
|
+
}
|
|
419
|
+
return result;
|
|
420
|
+
}
|
|
421
|
+
// --- Background tasks ---
|
|
422
|
+
export async function createBackgroundTask(task) {
|
|
423
|
+
await execute(`INSERT INTO background_tasks (tenant_id, id, group_folder, chat_jid, label, prompt, status, created_at, completed_at, result_summary)
|
|
424
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, ['default', task.id, task.group_folder, task.chat_jid, task.label, task.prompt, task.status, task.created_at, task.completed_at, task.result_summary]);
|
|
425
|
+
}
|
|
426
|
+
export async function getBackgroundTask(id) {
|
|
427
|
+
const rows = await query('SELECT * FROM background_tasks WHERE id = ?', [id]);
|
|
428
|
+
return rows[0] ?? undefined;
|
|
429
|
+
}
|
|
430
|
+
export async function getBackgroundTasksForGroup(groupFolder, statusFilter) {
|
|
431
|
+
if (statusFilter && statusFilter.length > 0) {
|
|
432
|
+
const placeholders = statusFilter.map(() => '?').join(', ');
|
|
433
|
+
return query(`SELECT * FROM background_tasks WHERE group_folder = ? AND status IN (${placeholders}) ORDER BY created_at DESC`, [groupFolder, ...statusFilter]);
|
|
434
|
+
}
|
|
435
|
+
return query('SELECT * FROM background_tasks WHERE group_folder = ? ORDER BY created_at DESC', [groupFolder]);
|
|
436
|
+
}
|
|
437
|
+
export async function updateBackgroundTask(id, updates) {
|
|
438
|
+
const sets = [];
|
|
439
|
+
const params = [];
|
|
440
|
+
for (const [key, value] of Object.entries(updates)) {
|
|
441
|
+
sets.push(`${key} = ?`);
|
|
442
|
+
params.push(value);
|
|
443
|
+
}
|
|
444
|
+
if (sets.length === 0)
|
|
445
|
+
return;
|
|
446
|
+
params.push(id);
|
|
447
|
+
await execute(`UPDATE background_tasks SET ${sets.join(', ')} WHERE id = ?`, params);
|
|
448
|
+
}
|
|
449
|
+
// --- Container logs ---
|
|
450
|
+
export async function logContainerRun(log) {
|
|
451
|
+
await execute(`INSERT INTO container_logs (tenant_id, group_folder, container_name, created_at, duration_ms, exit_code, is_timeout, log_text, metadata)
|
|
452
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`, ['default', log.group_folder, log.container_name, new Date().toISOString(), log.duration_ms, log.exit_code, log.is_timeout ? 1 : 0, log.log_text, log.metadata ? JSON.stringify(log.metadata) : null]);
|
|
453
|
+
}
|
|
454
|
+
//# sourceMappingURL=db.js.map
|
package/dist/db.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
|