@signetai/signet-memory-openclaw 0.77.5 → 0.77.7
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/dist/index.js +126 -0
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -8438,6 +8438,124 @@ function up47(db) {
|
|
|
8438
8438
|
AND COALESCE(source_type, 'summary') = 'summary';
|
|
8439
8439
|
`);
|
|
8440
8440
|
}
|
|
8441
|
+
function up48(db) {
|
|
8442
|
+
db.exec(`
|
|
8443
|
+
CREATE TABLE IF NOT EXISTS memory_thread_heads (
|
|
8444
|
+
agent_id TEXT NOT NULL DEFAULT 'default',
|
|
8445
|
+
thread_key TEXT NOT NULL,
|
|
8446
|
+
label TEXT NOT NULL,
|
|
8447
|
+
project TEXT,
|
|
8448
|
+
session_key TEXT,
|
|
8449
|
+
source_type TEXT NOT NULL DEFAULT 'summary',
|
|
8450
|
+
source_ref TEXT,
|
|
8451
|
+
harness TEXT,
|
|
8452
|
+
node_id TEXT NOT NULL,
|
|
8453
|
+
latest_at TEXT NOT NULL,
|
|
8454
|
+
sample TEXT NOT NULL,
|
|
8455
|
+
updated_at TEXT NOT NULL,
|
|
8456
|
+
PRIMARY KEY (agent_id, thread_key)
|
|
8457
|
+
);
|
|
8458
|
+
|
|
8459
|
+
CREATE INDEX IF NOT EXISTS idx_thread_heads_agent_latest
|
|
8460
|
+
ON memory_thread_heads(agent_id, latest_at DESC);
|
|
8461
|
+
CREATE INDEX IF NOT EXISTS idx_thread_heads_agent_project
|
|
8462
|
+
ON memory_thread_heads(agent_id, project);
|
|
8463
|
+
|
|
8464
|
+
INSERT INTO memory_thread_heads (
|
|
8465
|
+
agent_id, thread_key, label, project, session_key, source_type,
|
|
8466
|
+
source_ref, harness, node_id, latest_at, sample, updated_at
|
|
8467
|
+
)
|
|
8468
|
+
SELECT
|
|
8469
|
+
ss.agent_id,
|
|
8470
|
+
CASE
|
|
8471
|
+
WHEN ss.harness IS NOT NULL AND TRIM(ss.harness) != ''
|
|
8472
|
+
AND (ss.project IS NULL OR TRIM(ss.project) = '')
|
|
8473
|
+
AND (ss.source_ref IS NULL OR TRIM(ss.source_ref) = '')
|
|
8474
|
+
AND (ss.session_key IS NULL OR TRIM(ss.session_key) = '')
|
|
8475
|
+
THEN 'harness:' || TRIM(ss.harness)
|
|
8476
|
+
ELSE
|
|
8477
|
+
CASE
|
|
8478
|
+
WHEN ss.source_ref IS NOT NULL AND TRIM(ss.source_ref) != '' AND ss.project IS NOT NULL AND TRIM(ss.project) != '' THEN
|
|
8479
|
+
'project:' || TRIM(ss.project) || '|source:' || TRIM(ss.source_ref)
|
|
8480
|
+
WHEN ss.source_ref IS NOT NULL AND TRIM(ss.source_ref) != '' THEN 'source:' || TRIM(ss.source_ref)
|
|
8481
|
+
WHEN ss.session_key IS NOT NULL AND TRIM(ss.session_key) != '' AND ss.project IS NOT NULL AND TRIM(ss.project) != '' THEN
|
|
8482
|
+
'project:' || TRIM(ss.project) || '|session:' || TRIM(ss.session_key)
|
|
8483
|
+
WHEN ss.project IS NOT NULL AND TRIM(ss.project) != '' THEN 'project:' || TRIM(ss.project)
|
|
8484
|
+
WHEN ss.session_key IS NOT NULL AND TRIM(ss.session_key) != '' THEN 'session:' || TRIM(ss.session_key)
|
|
8485
|
+
ELSE 'thread:unscoped'
|
|
8486
|
+
END ||
|
|
8487
|
+
CASE
|
|
8488
|
+
WHEN ss.harness IS NOT NULL AND TRIM(ss.harness) != '' THEN '|harness:' || TRIM(ss.harness)
|
|
8489
|
+
ELSE ''
|
|
8490
|
+
END
|
|
8491
|
+
END AS thread_key,
|
|
8492
|
+
CASE
|
|
8493
|
+
WHEN ss.source_ref IS NOT NULL AND TRIM(ss.source_ref) != '' AND ss.project IS NOT NULL AND TRIM(ss.project) != '' THEN
|
|
8494
|
+
'project:' || TRIM(ss.project) || '#source:' || TRIM(ss.source_ref)
|
|
8495
|
+
WHEN ss.source_ref IS NOT NULL AND TRIM(ss.source_ref) != '' THEN 'source:' || TRIM(ss.source_ref)
|
|
8496
|
+
WHEN ss.session_key IS NOT NULL AND TRIM(ss.session_key) != '' AND ss.project IS NOT NULL AND TRIM(ss.project) != '' THEN
|
|
8497
|
+
'project:' || TRIM(ss.project) || '#session:' || TRIM(ss.session_key)
|
|
8498
|
+
WHEN ss.project IS NOT NULL AND TRIM(ss.project) != '' THEN 'project:' || TRIM(ss.project)
|
|
8499
|
+
WHEN ss.session_key IS NOT NULL AND TRIM(ss.session_key) != '' THEN 'session:' || TRIM(ss.session_key)
|
|
8500
|
+
WHEN ss.harness IS NOT NULL AND TRIM(ss.harness) != '' THEN 'harness:' || TRIM(ss.harness)
|
|
8501
|
+
ELSE 'thread:unscoped'
|
|
8502
|
+
END AS label,
|
|
8503
|
+
ss.project,
|
|
8504
|
+
ss.session_key,
|
|
8505
|
+
COALESCE(ss.source_type, ss.kind, 'summary') AS source_type,
|
|
8506
|
+
ss.source_ref,
|
|
8507
|
+
ss.harness,
|
|
8508
|
+
ss.id AS node_id,
|
|
8509
|
+
ss.latest_at,
|
|
8510
|
+
SUBSTR(REPLACE(REPLACE(TRIM(ss.content), CHAR(10), ' '), CHAR(13), ' '), 1, 240) AS sample,
|
|
8511
|
+
ss.latest_at AS updated_at
|
|
8512
|
+
FROM (
|
|
8513
|
+
SELECT
|
|
8514
|
+
s0.*,
|
|
8515
|
+
ROW_NUMBER() OVER (
|
|
8516
|
+
PARTITION BY s0.agent_id,
|
|
8517
|
+
CASE
|
|
8518
|
+
WHEN s0.harness IS NOT NULL AND TRIM(s0.harness) != ''
|
|
8519
|
+
AND (s0.project IS NULL OR TRIM(s0.project) = '')
|
|
8520
|
+
AND (s0.source_ref IS NULL OR TRIM(s0.source_ref) = '')
|
|
8521
|
+
AND (s0.session_key IS NULL OR TRIM(s0.session_key) = '')
|
|
8522
|
+
THEN 'harness:' || TRIM(s0.harness)
|
|
8523
|
+
ELSE
|
|
8524
|
+
CASE
|
|
8525
|
+
WHEN s0.source_ref IS NOT NULL AND TRIM(s0.source_ref) != '' AND s0.project IS NOT NULL AND TRIM(s0.project) != '' THEN
|
|
8526
|
+
'project:' || TRIM(s0.project) || '|source:' || TRIM(s0.source_ref)
|
|
8527
|
+
WHEN s0.source_ref IS NOT NULL AND TRIM(s0.source_ref) != '' THEN 'source:' || TRIM(s0.source_ref)
|
|
8528
|
+
WHEN s0.session_key IS NOT NULL AND TRIM(s0.session_key) != '' AND s0.project IS NOT NULL AND TRIM(s0.project) != '' THEN
|
|
8529
|
+
'project:' || TRIM(s0.project) || '|session:' || TRIM(s0.session_key)
|
|
8530
|
+
WHEN s0.project IS NOT NULL AND TRIM(s0.project) != '' THEN 'project:' || TRIM(s0.project)
|
|
8531
|
+
WHEN s0.session_key IS NOT NULL AND TRIM(s0.session_key) != '' THEN 'session:' || TRIM(s0.session_key)
|
|
8532
|
+
ELSE 'thread:unscoped'
|
|
8533
|
+
END ||
|
|
8534
|
+
CASE
|
|
8535
|
+
WHEN s0.harness IS NOT NULL AND TRIM(s0.harness) != '' THEN '|harness:' || TRIM(s0.harness)
|
|
8536
|
+
ELSE ''
|
|
8537
|
+
END
|
|
8538
|
+
END
|
|
8539
|
+
ORDER BY s0.latest_at DESC, s0.created_at DESC
|
|
8540
|
+
) AS rn
|
|
8541
|
+
FROM session_summaries s0
|
|
8542
|
+
WHERE COALESCE(s0.source_type, s0.kind) != 'chunk'
|
|
8543
|
+
) ss
|
|
8544
|
+
WHERE ss.rn = 1
|
|
8545
|
+
ON CONFLICT(agent_id, thread_key) DO UPDATE SET
|
|
8546
|
+
label = excluded.label,
|
|
8547
|
+
project = excluded.project,
|
|
8548
|
+
session_key = excluded.session_key,
|
|
8549
|
+
source_type = excluded.source_type,
|
|
8550
|
+
source_ref = excluded.source_ref,
|
|
8551
|
+
harness = excluded.harness,
|
|
8552
|
+
node_id = excluded.node_id,
|
|
8553
|
+
latest_at = excluded.latest_at,
|
|
8554
|
+
sample = excluded.sample,
|
|
8555
|
+
updated_at = excluded.updated_at
|
|
8556
|
+
WHERE excluded.latest_at >= memory_thread_heads.latest_at;
|
|
8557
|
+
`);
|
|
8558
|
+
}
|
|
8441
8559
|
var MIGRATIONS = [
|
|
8442
8560
|
{
|
|
8443
8561
|
version: 1,
|
|
@@ -8806,6 +8924,14 @@ var MIGRATIONS = [
|
|
|
8806
8924
|
version: 47,
|
|
8807
8925
|
name: "agent-scoped-temporal-uniqueness",
|
|
8808
8926
|
up: up47
|
|
8927
|
+
},
|
|
8928
|
+
{
|
|
8929
|
+
version: 48,
|
|
8930
|
+
name: "thread-heads",
|
|
8931
|
+
up: up48,
|
|
8932
|
+
artifacts: {
|
|
8933
|
+
tables: ["memory_thread_heads"]
|
|
8934
|
+
}
|
|
8809
8935
|
}
|
|
8810
8936
|
];
|
|
8811
8937
|
var LATEST_SCHEMA_VERSION = MIGRATIONS[MIGRATIONS.length - 1]?.version ?? 0;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@signetai/signet-memory-openclaw",
|
|
3
|
-
"version": "0.77.
|
|
3
|
+
"version": "0.77.7",
|
|
4
4
|
"description": "Signet adapter for OpenClaw — runtime plugin for AI agent memory",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"@sinclair/typebox": "0.34.47"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
|
-
"@signet/core": "0.77.
|
|
39
|
+
"@signet/core": "0.77.7",
|
|
40
40
|
"@types/node": "^22.0.0"
|
|
41
41
|
},
|
|
42
42
|
"peerDependencies": {
|