feat: extend memory search and attachment mapping
This commit is contained in:
56
core/db.py
56
core/db.py
@ -43,6 +43,62 @@ ON user_resources (session_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_user_resources_user_id
|
||||
ON user_resources (user_id);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS memory_attachments (
|
||||
id TEXT PRIMARY KEY,
|
||||
user_id TEXT NOT NULL,
|
||||
app_id TEXT NOT NULL DEFAULT 'default',
|
||||
project_id TEXT NOT NULL DEFAULT 'default',
|
||||
session_id TEXT NOT NULL,
|
||||
resource_id TEXT,
|
||||
content_type TEXT NOT NULL,
|
||||
name TEXT NOT NULL,
|
||||
internal_uri TEXT NOT NULL,
|
||||
source TEXT NOT NULL,
|
||||
sha256 TEXT,
|
||||
created_at TIMESTAMP NOT NULL,
|
||||
deleted_at TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_memory_attachments_unique_uri
|
||||
ON memory_attachments (user_id, session_id, internal_uri);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_memory_attachments_user_session
|
||||
ON memory_attachments (user_id, session_id, deleted_at);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_memory_attachments_resource
|
||||
ON memory_attachments (resource_id, deleted_at);
|
||||
|
||||
INSERT OR IGNORE INTO memory_attachments (
|
||||
id,
|
||||
user_id,
|
||||
app_id,
|
||||
project_id,
|
||||
session_id,
|
||||
resource_id,
|
||||
content_type,
|
||||
name,
|
||||
internal_uri,
|
||||
source,
|
||||
sha256,
|
||||
created_at,
|
||||
deleted_at
|
||||
)
|
||||
SELECT
|
||||
'a_resource_' || id,
|
||||
user_id,
|
||||
app_id,
|
||||
project_id,
|
||||
session_id,
|
||||
id,
|
||||
content_type,
|
||||
COALESCE(original_filename, id),
|
||||
uri,
|
||||
'resource_upload',
|
||||
sha256,
|
||||
created_at,
|
||||
deleted_at
|
||||
FROM user_resources;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS memory_tombstones (
|
||||
id TEXT PRIMARY KEY,
|
||||
user_id TEXT NOT NULL,
|
||||
|
||||
Reference in New Issue
Block a user