@clawchatsai/connector 0.0.86 → 0.0.87
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 +661 -0
- package/README.md +67 -13
- package/dist/index.js +0 -1
- package/openclaw.plugin.json +1 -1
- package/package.json +9 -5
- package/server/bootstrap/identity.js +47 -0
- package/server/bootstrap/native.js +9 -0
- package/server/config.js +62 -0
- package/server/controllers/files.js +64 -0
- package/server/controllers/filesystem.js +139 -0
- package/server/controllers/memory.js +86 -0
- package/server/controllers/messages.js +128 -0
- package/server/controllers/threads.js +113 -0
- package/server/controllers/transcribe.js +51 -0
- package/server/controllers/workspaces.js +102 -0
- package/server/debug.js +56 -0
- package/server/gateway-cleanup.js +47 -0
- package/server/gateway.js +331 -0
- package/server/index.js +422 -0
- package/server/providers/memory.js +144 -0
- package/server/util/context.js +49 -0
- package/server/util/helpers.js +111 -0
- package/server/util/http.js +57 -0
- package/server/util/multipart.js +46 -0
- package/server.js +155 -222
- package/dist/migrate.d.ts +0 -16
- package/dist/migrate.js +0 -114
package/dist/migrate.d.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Schema migration runner for the ClawChats plugin SQLite database.
|
|
3
|
-
*
|
|
4
|
-
* - Tracks schema version in a `_schema_version` table
|
|
5
|
-
* - Runs migrations sequentially from current version to target
|
|
6
|
-
* - Creates a backup before migrating (if not `:memory:` and currentVersion > 0)
|
|
7
|
-
* - Wraps all migrations in a transaction with rollback on error
|
|
8
|
-
*/
|
|
9
|
-
import type Database from 'better-sqlite3';
|
|
10
|
-
export declare const SCHEMA_VERSION = 1;
|
|
11
|
-
/**
|
|
12
|
-
* Run all pending migrations against the given database.
|
|
13
|
-
*
|
|
14
|
-
* Safe to call on every startup — exits early if already up to date.
|
|
15
|
-
*/
|
|
16
|
-
export declare function runMigrations(db: Database): void;
|
package/dist/migrate.js
DELETED
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Schema migration runner for the ClawChats plugin SQLite database.
|
|
3
|
-
*
|
|
4
|
-
* - Tracks schema version in a `_schema_version` table
|
|
5
|
-
* - Runs migrations sequentially from current version to target
|
|
6
|
-
* - Creates a backup before migrating (if not `:memory:` and currentVersion > 0)
|
|
7
|
-
* - Wraps all migrations in a transaction with rollback on error
|
|
8
|
-
*/
|
|
9
|
-
import * as fs from 'node:fs';
|
|
10
|
-
export const SCHEMA_VERSION = 1;
|
|
11
|
-
const migrations = [
|
|
12
|
-
{
|
|
13
|
-
version: 1,
|
|
14
|
-
up: (db) => {
|
|
15
|
-
db.exec(`
|
|
16
|
-
CREATE TABLE IF NOT EXISTS threads (
|
|
17
|
-
id TEXT PRIMARY KEY,
|
|
18
|
-
session_key TEXT UNIQUE NOT NULL,
|
|
19
|
-
title TEXT DEFAULT 'New chat',
|
|
20
|
-
pinned INTEGER DEFAULT 0,
|
|
21
|
-
pin_order INTEGER DEFAULT 0,
|
|
22
|
-
model TEXT,
|
|
23
|
-
last_session_id TEXT,
|
|
24
|
-
sort_order INTEGER DEFAULT 0,
|
|
25
|
-
unread_count INTEGER DEFAULT 0,
|
|
26
|
-
created_at INTEGER NOT NULL,
|
|
27
|
-
updated_at INTEGER NOT NULL
|
|
28
|
-
);
|
|
29
|
-
|
|
30
|
-
CREATE TABLE IF NOT EXISTS messages (
|
|
31
|
-
id TEXT PRIMARY KEY,
|
|
32
|
-
thread_id TEXT NOT NULL,
|
|
33
|
-
role TEXT NOT NULL,
|
|
34
|
-
content TEXT NOT NULL,
|
|
35
|
-
status TEXT DEFAULT 'sent',
|
|
36
|
-
metadata TEXT,
|
|
37
|
-
seq INTEGER,
|
|
38
|
-
timestamp INTEGER NOT NULL,
|
|
39
|
-
created_at INTEGER NOT NULL,
|
|
40
|
-
FOREIGN KEY (thread_id) REFERENCES threads(id) ON DELETE CASCADE
|
|
41
|
-
);
|
|
42
|
-
|
|
43
|
-
CREATE INDEX IF NOT EXISTS idx_messages_thread ON messages(thread_id, timestamp);
|
|
44
|
-
CREATE INDEX IF NOT EXISTS idx_messages_dedup ON messages(thread_id, role, timestamp);
|
|
45
|
-
|
|
46
|
-
CREATE TABLE IF NOT EXISTS unread_messages (
|
|
47
|
-
thread_id TEXT NOT NULL,
|
|
48
|
-
message_id TEXT NOT NULL,
|
|
49
|
-
created_at INTEGER NOT NULL,
|
|
50
|
-
PRIMARY KEY (thread_id, message_id),
|
|
51
|
-
FOREIGN KEY (thread_id) REFERENCES threads(id) ON DELETE CASCADE
|
|
52
|
-
);
|
|
53
|
-
|
|
54
|
-
CREATE INDEX IF NOT EXISTS idx_unread_thread ON unread_messages(thread_id);
|
|
55
|
-
|
|
56
|
-
CREATE VIRTUAL TABLE messages_fts USING fts5(
|
|
57
|
-
content, content=messages, content_rowid=rowid,
|
|
58
|
-
tokenize='porter unicode61'
|
|
59
|
-
);
|
|
60
|
-
|
|
61
|
-
CREATE TRIGGER messages_ai AFTER INSERT ON messages BEGIN
|
|
62
|
-
INSERT INTO messages_fts(rowid, content) VALUES (new.rowid, new.content);
|
|
63
|
-
END;
|
|
64
|
-
`);
|
|
65
|
-
},
|
|
66
|
-
},
|
|
67
|
-
];
|
|
68
|
-
/**
|
|
69
|
-
* Run all pending migrations against the given database.
|
|
70
|
-
*
|
|
71
|
-
* Safe to call on every startup — exits early if already up to date.
|
|
72
|
-
*/
|
|
73
|
-
export function runMigrations(db) {
|
|
74
|
-
// Ensure the version-tracking table exists
|
|
75
|
-
db.exec(`
|
|
76
|
-
CREATE TABLE IF NOT EXISTS _schema_version (
|
|
77
|
-
version INTEGER NOT NULL
|
|
78
|
-
);
|
|
79
|
-
`);
|
|
80
|
-
// Read the current schema version (0 = fresh database)
|
|
81
|
-
const row = db.prepare('SELECT version FROM _schema_version LIMIT 1').get();
|
|
82
|
-
const currentVersion = row?.version ?? 0;
|
|
83
|
-
if (currentVersion >= SCHEMA_VERSION) {
|
|
84
|
-
return;
|
|
85
|
-
}
|
|
86
|
-
// Create a backup before migrating an existing database
|
|
87
|
-
const dbPath = db.name;
|
|
88
|
-
if (currentVersion > 0 && dbPath !== ':memory:') {
|
|
89
|
-
const backupPath = `${dbPath}.backup-v${currentVersion}`;
|
|
90
|
-
fs.copyFileSync(dbPath, backupPath);
|
|
91
|
-
}
|
|
92
|
-
// Run all pending migrations inside a single transaction
|
|
93
|
-
const migrate = db.transaction(() => {
|
|
94
|
-
for (const migration of migrations) {
|
|
95
|
-
if (migration.version > currentVersion) {
|
|
96
|
-
migration.up(db);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
// Record the new schema version
|
|
100
|
-
if (row === undefined) {
|
|
101
|
-
db.prepare('INSERT INTO _schema_version (version) VALUES (?)').run(SCHEMA_VERSION);
|
|
102
|
-
}
|
|
103
|
-
else {
|
|
104
|
-
db.prepare('UPDATE _schema_version SET version = ?').run(SCHEMA_VERSION);
|
|
105
|
-
}
|
|
106
|
-
});
|
|
107
|
-
try {
|
|
108
|
-
migrate();
|
|
109
|
-
}
|
|
110
|
-
catch (err) {
|
|
111
|
-
// better-sqlite3 transactions automatically roll back on throw
|
|
112
|
-
throw err;
|
|
113
|
-
}
|
|
114
|
-
}
|