engrm 0.4.46 → 0.4.47
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/cli.js +15 -0
- package/dist/hooks/elicitation-result.js +15 -0
- package/dist/hooks/post-tool-use.js +15 -0
- package/dist/hooks/pre-compact.js +15 -0
- package/dist/hooks/sentinel.js +15 -0
- package/dist/hooks/session-start.js +16 -1
- package/dist/hooks/stop.js +16 -1
- package/dist/hooks/user-prompt-submit.js +15 -0
- package/dist/server.js +16 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -1005,6 +1005,20 @@ function ensureChatMessageColumns(db) {
|
|
|
1005
1005
|
db.exec("PRAGMA user_version = 17");
|
|
1006
1006
|
}
|
|
1007
1007
|
}
|
|
1008
|
+
function ensureObservationVectorTable(db) {
|
|
1009
|
+
if (!isVecExtensionLoaded(db))
|
|
1010
|
+
return;
|
|
1011
|
+
db.exec(`
|
|
1012
|
+
CREATE VIRTUAL TABLE IF NOT EXISTS vec_observations USING vec0(
|
|
1013
|
+
observation_id INTEGER PRIMARY KEY,
|
|
1014
|
+
embedding FLOAT[384]
|
|
1015
|
+
);
|
|
1016
|
+
`);
|
|
1017
|
+
const current = getSchemaVersion(db);
|
|
1018
|
+
if (current < 4) {
|
|
1019
|
+
db.exec("PRAGMA user_version = 4");
|
|
1020
|
+
}
|
|
1021
|
+
}
|
|
1008
1022
|
function ensureChatVectorTable(db) {
|
|
1009
1023
|
if (!isVecExtensionLoaded(db))
|
|
1010
1024
|
return;
|
|
@@ -1233,6 +1247,7 @@ class MemDatabase {
|
|
|
1233
1247
|
ensureObservationTypes(this.db);
|
|
1234
1248
|
ensureSessionSummaryColumns(this.db);
|
|
1235
1249
|
ensureChatMessageColumns(this.db);
|
|
1250
|
+
ensureObservationVectorTable(this.db);
|
|
1236
1251
|
ensureChatVectorTable(this.db);
|
|
1237
1252
|
ensureSyncOutboxSupportsChatMessages(this.db);
|
|
1238
1253
|
}
|
|
@@ -1879,6 +1879,20 @@ function ensureChatMessageColumns(db) {
|
|
|
1879
1879
|
db.exec("PRAGMA user_version = 17");
|
|
1880
1880
|
}
|
|
1881
1881
|
}
|
|
1882
|
+
function ensureObservationVectorTable(db) {
|
|
1883
|
+
if (!isVecExtensionLoaded(db))
|
|
1884
|
+
return;
|
|
1885
|
+
db.exec(`
|
|
1886
|
+
CREATE VIRTUAL TABLE IF NOT EXISTS vec_observations USING vec0(
|
|
1887
|
+
observation_id INTEGER PRIMARY KEY,
|
|
1888
|
+
embedding FLOAT[384]
|
|
1889
|
+
);
|
|
1890
|
+
`);
|
|
1891
|
+
const current = getSchemaVersion(db);
|
|
1892
|
+
if (current < 4) {
|
|
1893
|
+
db.exec("PRAGMA user_version = 4");
|
|
1894
|
+
}
|
|
1895
|
+
}
|
|
1882
1896
|
function ensureChatVectorTable(db) {
|
|
1883
1897
|
if (!isVecExtensionLoaded(db))
|
|
1884
1898
|
return;
|
|
@@ -2107,6 +2121,7 @@ class MemDatabase {
|
|
|
2107
2121
|
ensureObservationTypes(this.db);
|
|
2108
2122
|
ensureSessionSummaryColumns(this.db);
|
|
2109
2123
|
ensureChatMessageColumns(this.db);
|
|
2124
|
+
ensureObservationVectorTable(this.db);
|
|
2110
2125
|
ensureChatVectorTable(this.db);
|
|
2111
2126
|
ensureSyncOutboxSupportsChatMessages(this.db);
|
|
2112
2127
|
}
|
|
@@ -1183,6 +1183,20 @@ function ensureChatMessageColumns(db) {
|
|
|
1183
1183
|
db.exec("PRAGMA user_version = 17");
|
|
1184
1184
|
}
|
|
1185
1185
|
}
|
|
1186
|
+
function ensureObservationVectorTable(db) {
|
|
1187
|
+
if (!isVecExtensionLoaded(db))
|
|
1188
|
+
return;
|
|
1189
|
+
db.exec(`
|
|
1190
|
+
CREATE VIRTUAL TABLE IF NOT EXISTS vec_observations USING vec0(
|
|
1191
|
+
observation_id INTEGER PRIMARY KEY,
|
|
1192
|
+
embedding FLOAT[384]
|
|
1193
|
+
);
|
|
1194
|
+
`);
|
|
1195
|
+
const current = getSchemaVersion(db);
|
|
1196
|
+
if (current < 4) {
|
|
1197
|
+
db.exec("PRAGMA user_version = 4");
|
|
1198
|
+
}
|
|
1199
|
+
}
|
|
1186
1200
|
function ensureChatVectorTable(db) {
|
|
1187
1201
|
if (!isVecExtensionLoaded(db))
|
|
1188
1202
|
return;
|
|
@@ -1411,6 +1425,7 @@ class MemDatabase {
|
|
|
1411
1425
|
ensureObservationTypes(this.db);
|
|
1412
1426
|
ensureSessionSummaryColumns(this.db);
|
|
1413
1427
|
ensureChatMessageColumns(this.db);
|
|
1428
|
+
ensureObservationVectorTable(this.db);
|
|
1414
1429
|
ensureChatVectorTable(this.db);
|
|
1415
1430
|
ensureSyncOutboxSupportsChatMessages(this.db);
|
|
1416
1431
|
}
|
|
@@ -977,6 +977,20 @@ function ensureChatMessageColumns(db) {
|
|
|
977
977
|
db.exec("PRAGMA user_version = 17");
|
|
978
978
|
}
|
|
979
979
|
}
|
|
980
|
+
function ensureObservationVectorTable(db) {
|
|
981
|
+
if (!isVecExtensionLoaded(db))
|
|
982
|
+
return;
|
|
983
|
+
db.exec(`
|
|
984
|
+
CREATE VIRTUAL TABLE IF NOT EXISTS vec_observations USING vec0(
|
|
985
|
+
observation_id INTEGER PRIMARY KEY,
|
|
986
|
+
embedding FLOAT[384]
|
|
987
|
+
);
|
|
988
|
+
`);
|
|
989
|
+
const current = getSchemaVersion(db);
|
|
990
|
+
if (current < 4) {
|
|
991
|
+
db.exec("PRAGMA user_version = 4");
|
|
992
|
+
}
|
|
993
|
+
}
|
|
980
994
|
function ensureChatVectorTable(db) {
|
|
981
995
|
if (!isVecExtensionLoaded(db))
|
|
982
996
|
return;
|
|
@@ -1205,6 +1219,7 @@ class MemDatabase {
|
|
|
1205
1219
|
ensureObservationTypes(this.db);
|
|
1206
1220
|
ensureSessionSummaryColumns(this.db);
|
|
1207
1221
|
ensureChatMessageColumns(this.db);
|
|
1222
|
+
ensureObservationVectorTable(this.db);
|
|
1208
1223
|
ensureChatVectorTable(this.db);
|
|
1209
1224
|
ensureSyncOutboxSupportsChatMessages(this.db);
|
|
1210
1225
|
}
|
package/dist/hooks/sentinel.js
CHANGED
|
@@ -1053,6 +1053,20 @@ function ensureChatMessageColumns(db) {
|
|
|
1053
1053
|
db.exec("PRAGMA user_version = 17");
|
|
1054
1054
|
}
|
|
1055
1055
|
}
|
|
1056
|
+
function ensureObservationVectorTable(db) {
|
|
1057
|
+
if (!isVecExtensionLoaded(db))
|
|
1058
|
+
return;
|
|
1059
|
+
db.exec(`
|
|
1060
|
+
CREATE VIRTUAL TABLE IF NOT EXISTS vec_observations USING vec0(
|
|
1061
|
+
observation_id INTEGER PRIMARY KEY,
|
|
1062
|
+
embedding FLOAT[384]
|
|
1063
|
+
);
|
|
1064
|
+
`);
|
|
1065
|
+
const current = getSchemaVersion(db);
|
|
1066
|
+
if (current < 4) {
|
|
1067
|
+
db.exec("PRAGMA user_version = 4");
|
|
1068
|
+
}
|
|
1069
|
+
}
|
|
1056
1070
|
function ensureChatVectorTable(db) {
|
|
1057
1071
|
if (!isVecExtensionLoaded(db))
|
|
1058
1072
|
return;
|
|
@@ -1281,6 +1295,7 @@ class MemDatabase {
|
|
|
1281
1295
|
ensureObservationTypes(this.db);
|
|
1282
1296
|
ensureSessionSummaryColumns(this.db);
|
|
1283
1297
|
ensureChatMessageColumns(this.db);
|
|
1298
|
+
ensureObservationVectorTable(this.db);
|
|
1284
1299
|
ensureChatVectorTable(this.db);
|
|
1285
1300
|
ensureSyncOutboxSupportsChatMessages(this.db);
|
|
1286
1301
|
}
|
|
@@ -3280,7 +3280,7 @@ import { existsSync as existsSync3, readFileSync as readFileSync2, writeFileSync
|
|
|
3280
3280
|
import { join as join3 } from "node:path";
|
|
3281
3281
|
import { homedir } from "node:os";
|
|
3282
3282
|
var STATE_PATH = join3(homedir(), ".engrm", "config-fingerprint.json");
|
|
3283
|
-
var CLIENT_VERSION = "0.4.
|
|
3283
|
+
var CLIENT_VERSION = "0.4.47";
|
|
3284
3284
|
function hashFile(filePath) {
|
|
3285
3285
|
try {
|
|
3286
3286
|
if (!existsSync3(filePath))
|
|
@@ -4920,6 +4920,20 @@ function ensureChatMessageColumns(db) {
|
|
|
4920
4920
|
db.exec("PRAGMA user_version = 17");
|
|
4921
4921
|
}
|
|
4922
4922
|
}
|
|
4923
|
+
function ensureObservationVectorTable(db) {
|
|
4924
|
+
if (!isVecExtensionLoaded(db))
|
|
4925
|
+
return;
|
|
4926
|
+
db.exec(`
|
|
4927
|
+
CREATE VIRTUAL TABLE IF NOT EXISTS vec_observations USING vec0(
|
|
4928
|
+
observation_id INTEGER PRIMARY KEY,
|
|
4929
|
+
embedding FLOAT[384]
|
|
4930
|
+
);
|
|
4931
|
+
`);
|
|
4932
|
+
const current = getSchemaVersion(db);
|
|
4933
|
+
if (current < 4) {
|
|
4934
|
+
db.exec("PRAGMA user_version = 4");
|
|
4935
|
+
}
|
|
4936
|
+
}
|
|
4923
4937
|
function ensureChatVectorTable(db) {
|
|
4924
4938
|
if (!isVecExtensionLoaded(db))
|
|
4925
4939
|
return;
|
|
@@ -5068,6 +5082,7 @@ class MemDatabase {
|
|
|
5068
5082
|
ensureObservationTypes(this.db);
|
|
5069
5083
|
ensureSessionSummaryColumns(this.db);
|
|
5070
5084
|
ensureChatMessageColumns(this.db);
|
|
5085
|
+
ensureObservationVectorTable(this.db);
|
|
5071
5086
|
ensureChatVectorTable(this.db);
|
|
5072
5087
|
ensureSyncOutboxSupportsChatMessages(this.db);
|
|
5073
5088
|
}
|
package/dist/hooks/stop.js
CHANGED
|
@@ -1290,6 +1290,20 @@ function ensureChatMessageColumns(db) {
|
|
|
1290
1290
|
db.exec("PRAGMA user_version = 17");
|
|
1291
1291
|
}
|
|
1292
1292
|
}
|
|
1293
|
+
function ensureObservationVectorTable(db) {
|
|
1294
|
+
if (!isVecExtensionLoaded(db))
|
|
1295
|
+
return;
|
|
1296
|
+
db.exec(`
|
|
1297
|
+
CREATE VIRTUAL TABLE IF NOT EXISTS vec_observations USING vec0(
|
|
1298
|
+
observation_id INTEGER PRIMARY KEY,
|
|
1299
|
+
embedding FLOAT[384]
|
|
1300
|
+
);
|
|
1301
|
+
`);
|
|
1302
|
+
const current = getSchemaVersion(db);
|
|
1303
|
+
if (current < 4) {
|
|
1304
|
+
db.exec("PRAGMA user_version = 4");
|
|
1305
|
+
}
|
|
1306
|
+
}
|
|
1293
1307
|
function ensureChatVectorTable(db) {
|
|
1294
1308
|
if (!isVecExtensionLoaded(db))
|
|
1295
1309
|
return;
|
|
@@ -1438,6 +1452,7 @@ class MemDatabase {
|
|
|
1438
1452
|
ensureObservationTypes(this.db);
|
|
1439
1453
|
ensureSessionSummaryColumns(this.db);
|
|
1440
1454
|
ensureChatMessageColumns(this.db);
|
|
1455
|
+
ensureObservationVectorTable(this.db);
|
|
1441
1456
|
ensureChatVectorTable(this.db);
|
|
1442
1457
|
ensureSyncOutboxSupportsChatMessages(this.db);
|
|
1443
1458
|
}
|
|
@@ -3492,7 +3507,7 @@ function buildBeacon(db, config, sessionId, metrics) {
|
|
|
3492
3507
|
sentinel_used: valueSignals.security_findings_count > 0,
|
|
3493
3508
|
risk_score: riskScore,
|
|
3494
3509
|
stacks_detected: stacks,
|
|
3495
|
-
client_version: "0.4.
|
|
3510
|
+
client_version: "0.4.47",
|
|
3496
3511
|
context_observations_injected: metrics?.contextObsInjected ?? 0,
|
|
3497
3512
|
context_total_available: metrics?.contextTotalAvailable ?? 0,
|
|
3498
3513
|
recall_attempts: metrics?.recallAttempts ?? 0,
|
|
@@ -1123,6 +1123,20 @@ function ensureChatMessageColumns(db) {
|
|
|
1123
1123
|
db.exec("PRAGMA user_version = 17");
|
|
1124
1124
|
}
|
|
1125
1125
|
}
|
|
1126
|
+
function ensureObservationVectorTable(db) {
|
|
1127
|
+
if (!isVecExtensionLoaded(db))
|
|
1128
|
+
return;
|
|
1129
|
+
db.exec(`
|
|
1130
|
+
CREATE VIRTUAL TABLE IF NOT EXISTS vec_observations USING vec0(
|
|
1131
|
+
observation_id INTEGER PRIMARY KEY,
|
|
1132
|
+
embedding FLOAT[384]
|
|
1133
|
+
);
|
|
1134
|
+
`);
|
|
1135
|
+
const current = getSchemaVersion(db);
|
|
1136
|
+
if (current < 4) {
|
|
1137
|
+
db.exec("PRAGMA user_version = 4");
|
|
1138
|
+
}
|
|
1139
|
+
}
|
|
1126
1140
|
function ensureChatVectorTable(db) {
|
|
1127
1141
|
if (!isVecExtensionLoaded(db))
|
|
1128
1142
|
return;
|
|
@@ -1351,6 +1365,7 @@ class MemDatabase {
|
|
|
1351
1365
|
ensureObservationTypes(this.db);
|
|
1352
1366
|
ensureSessionSummaryColumns(this.db);
|
|
1353
1367
|
ensureChatMessageColumns(this.db);
|
|
1368
|
+
ensureObservationVectorTable(this.db);
|
|
1354
1369
|
ensureChatVectorTable(this.db);
|
|
1355
1370
|
ensureSyncOutboxSupportsChatMessages(this.db);
|
|
1356
1371
|
}
|
package/dist/server.js
CHANGED
|
@@ -14534,6 +14534,20 @@ function ensureChatMessageColumns(db) {
|
|
|
14534
14534
|
db.exec("PRAGMA user_version = 17");
|
|
14535
14535
|
}
|
|
14536
14536
|
}
|
|
14537
|
+
function ensureObservationVectorTable(db) {
|
|
14538
|
+
if (!isVecExtensionLoaded(db))
|
|
14539
|
+
return;
|
|
14540
|
+
db.exec(`
|
|
14541
|
+
CREATE VIRTUAL TABLE IF NOT EXISTS vec_observations USING vec0(
|
|
14542
|
+
observation_id INTEGER PRIMARY KEY,
|
|
14543
|
+
embedding FLOAT[384]
|
|
14544
|
+
);
|
|
14545
|
+
`);
|
|
14546
|
+
const current = getSchemaVersion(db);
|
|
14547
|
+
if (current < 4) {
|
|
14548
|
+
db.exec("PRAGMA user_version = 4");
|
|
14549
|
+
}
|
|
14550
|
+
}
|
|
14537
14551
|
function ensureChatVectorTable(db) {
|
|
14538
14552
|
if (!isVecExtensionLoaded(db))
|
|
14539
14553
|
return;
|
|
@@ -14762,6 +14776,7 @@ class MemDatabase {
|
|
|
14762
14776
|
ensureObservationTypes(this.db);
|
|
14763
14777
|
ensureSessionSummaryColumns(this.db);
|
|
14764
14778
|
ensureChatMessageColumns(this.db);
|
|
14779
|
+
ensureObservationVectorTable(this.db);
|
|
14765
14780
|
ensureChatVectorTable(this.db);
|
|
14766
14781
|
ensureSyncOutboxSupportsChatMessages(this.db);
|
|
14767
14782
|
}
|
|
@@ -23449,7 +23464,7 @@ function installStdioLivenessGuards() {
|
|
|
23449
23464
|
function buildServer() {
|
|
23450
23465
|
const server = new McpServer({
|
|
23451
23466
|
name: "engrm",
|
|
23452
|
-
version: "0.4.
|
|
23467
|
+
version: "0.4.47"
|
|
23453
23468
|
});
|
|
23454
23469
|
const enabledToolNames = getEnabledToolNames(config2.tool_profile);
|
|
23455
23470
|
const originalTool = server.tool.bind(server);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "engrm",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.47",
|
|
4
4
|
"description": "Shared memory across devices, sessions, and agents, with thin MCP tools for durable capture, live continuity, and Hermes-ready remote MCP support",
|
|
5
5
|
"mcpName": "io.github.dr12hes/engrm",
|
|
6
6
|
"type": "module",
|