@hasna/mementos 0.14.62 → 0.14.63
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/commands/agent.d.ts.map +1 -1
- package/dist/cli/index.js +55 -4
- package/dist/db/memories.d.ts.map +1 -1
- package/dist/index.js +47 -3
- package/dist/lib/consolidation.d.ts.map +1 -1
- package/dist/lib/reflection.d.ts.map +1 -1
- package/dist/mcp/index.js +48 -4
- package/dist/server/index.js +48 -4
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +15 -2
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4M5D"}
|
package/dist/cli/index.js
CHANGED
|
@@ -2181,6 +2181,7 @@ function translateSql(sql) {
|
|
|
2181
2181
|
const op = parsed < 0 ? "-" : "+";
|
|
2182
2182
|
return `to_char((now() ${op} INTERVAL '${absolute} ${pluralUnit}') AT TIME ZONE 'UTC', ${ISO_FMT})`;
|
|
2183
2183
|
});
|
|
2184
|
+
translated = translated.replace(/COALESCE\s*\(\s*accessed_at\s*,\s*created_at\s*\)/gi, `COALESCE(accessed_at, to_char(created_at AT TIME ZONE 'UTC', ${ISO_FMT}))`);
|
|
2184
2185
|
translated = translated.replace(/lower\s*\(\s*hex\s*\(\s*randomblob\s*\(\s*\d+\s*\)\s*\)\s*\)/gi, "gen_random_uuid()::text");
|
|
2185
2186
|
translated = translated.replace(/\bIFNULL\s*\(/gi, "COALESCE(");
|
|
2186
2187
|
translated = translated.replace(/\bINSTR\s*\(/gi, "STRPOS(");
|
|
@@ -2190,8 +2191,20 @@ function translateSql(sql) {
|
|
|
2190
2191
|
}
|
|
2191
2192
|
translated = translated.replace(/INSERT\s+OR\s+REPLACE\s+INTO/gi, "INSERT INTO");
|
|
2192
2193
|
translated = translated.replace(/COALESCE\s*\(\s*pinned\s*,\s*0\s*\)/gi, "COALESCE(pinned, FALSE)");
|
|
2193
|
-
|
|
2194
|
-
|
|
2194
|
+
const BOOLEAN_COLUMNS = [
|
|
2195
|
+
"pinned",
|
|
2196
|
+
"success",
|
|
2197
|
+
"is_primary",
|
|
2198
|
+
"blocking",
|
|
2199
|
+
"enabled",
|
|
2200
|
+
"useful",
|
|
2201
|
+
"dry_run",
|
|
2202
|
+
"applied"
|
|
2203
|
+
];
|
|
2204
|
+
for (const col of BOOLEAN_COLUMNS) {
|
|
2205
|
+
translated = translated.replace(new RegExp(`\\b${col}\\s*=\\s*1\\b`, "gi"), `${col} = TRUE`);
|
|
2206
|
+
translated = translated.replace(new RegExp(`\\b${col}\\s*=\\s*0\\b`, "gi"), `${col} = FALSE`);
|
|
2207
|
+
}
|
|
2195
2208
|
return translated;
|
|
2196
2209
|
}
|
|
2197
2210
|
function shouldUsePgSsl(connectionString) {
|
|
@@ -4670,7 +4683,8 @@ function getMemory(id, db) {
|
|
|
4670
4683
|
return status === 404 ? null : data ?? null;
|
|
4671
4684
|
}
|
|
4672
4685
|
const d = db || getDatabase();
|
|
4673
|
-
const
|
|
4686
|
+
const resolvedId = resolvePartialId(d, "memories", id) ?? id;
|
|
4687
|
+
const row = d.query("SELECT * FROM memories WHERE id = ?").get(resolvedId);
|
|
4674
4688
|
if (!row)
|
|
4675
4689
|
return null;
|
|
4676
4690
|
return parseMemoryRow(row);
|
|
@@ -62471,6 +62485,7 @@ function registerIoCommands(program2) {
|
|
|
62471
62485
|
|
|
62472
62486
|
// src/cli/commands/agent.ts
|
|
62473
62487
|
init_agents();
|
|
62488
|
+
init_projects();
|
|
62474
62489
|
import chalk22 from "chalk";
|
|
62475
62490
|
|
|
62476
62491
|
// src/lib/focus.ts
|
|
@@ -62632,7 +62647,13 @@ function registerAgentCommands(program2) {
|
|
|
62632
62647
|
`);
|
|
62633
62648
|
process.exit(1);
|
|
62634
62649
|
}
|
|
62635
|
-
|
|
62650
|
+
let target = project ?? null;
|
|
62651
|
+
if (project) {
|
|
62652
|
+
const proj = getProject(project);
|
|
62653
|
+
if (proj)
|
|
62654
|
+
target = proj.id;
|
|
62655
|
+
}
|
|
62656
|
+
setFocus(agentId, target);
|
|
62636
62657
|
if (project)
|
|
62637
62658
|
console.log(chalk22.green(`Focused: ${agentId} \u2192 project ${project}`));
|
|
62638
62659
|
else
|
|
@@ -65795,6 +65816,7 @@ import { resolve as resolve21 } from "path";
|
|
|
65795
65816
|
|
|
65796
65817
|
// src/lib/consolidation.ts
|
|
65797
65818
|
init_database();
|
|
65819
|
+
init_api_mode();
|
|
65798
65820
|
init_memories();
|
|
65799
65821
|
|
|
65800
65822
|
// src/db/memory-links.ts
|
|
@@ -66287,6 +66309,19 @@ function buildSummary2(actions) {
|
|
|
66287
66309
|
};
|
|
66288
66310
|
}
|
|
66289
66311
|
async function runConsolidation(options = {}) {
|
|
66312
|
+
if (!options.db && isApiMode()) {
|
|
66313
|
+
const { data } = apiJson("POST", "/consolidate", {
|
|
66314
|
+
dry_run: options.dryRun ?? false,
|
|
66315
|
+
scope: options.scope,
|
|
66316
|
+
project_id: options.projectId,
|
|
66317
|
+
agent_id: options.agentId,
|
|
66318
|
+
duplicate_threshold: options.duplicateThreshold,
|
|
66319
|
+
stale_days: options.staleDays,
|
|
66320
|
+
decay_threshold: options.decayThreshold,
|
|
66321
|
+
limit: options.limit
|
|
66322
|
+
});
|
|
66323
|
+
return data;
|
|
66324
|
+
}
|
|
66290
66325
|
const db = options.db || getDatabase();
|
|
66291
66326
|
const dryRun = options.dryRun ?? false;
|
|
66292
66327
|
let run = createRun({ ...options, dryRun }, db);
|
|
@@ -66330,6 +66365,7 @@ async function runConsolidation(options = {}) {
|
|
|
66330
66365
|
// src/lib/reflection.ts
|
|
66331
66366
|
init_zod();
|
|
66332
66367
|
init_database();
|
|
66368
|
+
init_api_mode();
|
|
66333
66369
|
init_memories();
|
|
66334
66370
|
var DEFAULT_REFLECTION_PROVIDER = "anthropic";
|
|
66335
66371
|
var DEFAULT_REFLECTION_MODEL = "claude-fable-5";
|
|
@@ -66682,6 +66718,21 @@ Return concise lessons. Each lesson must be actionable, evidence-backed, and use
|
|
|
66682
66718
|
};
|
|
66683
66719
|
}
|
|
66684
66720
|
async function reflectOnTrajectory(options) {
|
|
66721
|
+
if (!options.db && isApiMode()) {
|
|
66722
|
+
const { data } = apiJson("POST", "/reflect", {
|
|
66723
|
+
on: options.on,
|
|
66724
|
+
source: options.source,
|
|
66725
|
+
dry_run: options.dryRun ?? false,
|
|
66726
|
+
project_id: options.projectId,
|
|
66727
|
+
agent_id: options.agentId,
|
|
66728
|
+
since: options.since,
|
|
66729
|
+
until: options.until,
|
|
66730
|
+
provider: options.provider,
|
|
66731
|
+
model: options.model,
|
|
66732
|
+
max_tokens: options.maxTokens
|
|
66733
|
+
});
|
|
66734
|
+
return data;
|
|
66735
|
+
}
|
|
66685
66736
|
const db = options.db || getDatabase();
|
|
66686
66737
|
const dryRun = options.dryRun ?? false;
|
|
66687
66738
|
const provider = options.provider ?? process.env["MEMENTOS_REFLECT_PROVIDER"] ?? DEFAULT_REFLECTION_PROVIDER;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memories.d.ts","sourceRoot":"","sources":["../../src/db/memories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE1D,OAAO,KAAK,EACV,iBAAiB,EACjB,UAAU,EACV,MAAM,EACN,YAAY,EACZ,aAAa,EACb,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AAsD3B,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAqCnE;AAMD,wBAAgB,YAAY,CAC1B,KAAK,EAAE,iBAAiB,EACxB,UAAU,GAAE,UAAoB,EAChC,EAAE,CAAC,EAAE,QAAQ,GACZ,MAAM,CAqNR;AAMD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACxC,EAAE,CAAC,EAAE,QAAQ,GACZ,gBAAgB,CA2HlB;AAiED,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"memories.d.ts","sourceRoot":"","sources":["../../src/db/memories.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -131,6 +131,7 @@ function translateSql(sql) {
|
|
|
131
131
|
const op = parsed < 0 ? "-" : "+";
|
|
132
132
|
return `to_char((now() ${op} INTERVAL '${absolute} ${pluralUnit}') AT TIME ZONE 'UTC', ${ISO_FMT})`;
|
|
133
133
|
});
|
|
134
|
+
translated = translated.replace(/COALESCE\s*\(\s*accessed_at\s*,\s*created_at\s*\)/gi, `COALESCE(accessed_at, to_char(created_at AT TIME ZONE 'UTC', ${ISO_FMT}))`);
|
|
134
135
|
translated = translated.replace(/lower\s*\(\s*hex\s*\(\s*randomblob\s*\(\s*\d+\s*\)\s*\)\s*\)/gi, "gen_random_uuid()::text");
|
|
135
136
|
translated = translated.replace(/\bIFNULL\s*\(/gi, "COALESCE(");
|
|
136
137
|
translated = translated.replace(/\bINSTR\s*\(/gi, "STRPOS(");
|
|
@@ -140,8 +141,20 @@ function translateSql(sql) {
|
|
|
140
141
|
}
|
|
141
142
|
translated = translated.replace(/INSERT\s+OR\s+REPLACE\s+INTO/gi, "INSERT INTO");
|
|
142
143
|
translated = translated.replace(/COALESCE\s*\(\s*pinned\s*,\s*0\s*\)/gi, "COALESCE(pinned, FALSE)");
|
|
143
|
-
|
|
144
|
-
|
|
144
|
+
const BOOLEAN_COLUMNS = [
|
|
145
|
+
"pinned",
|
|
146
|
+
"success",
|
|
147
|
+
"is_primary",
|
|
148
|
+
"blocking",
|
|
149
|
+
"enabled",
|
|
150
|
+
"useful",
|
|
151
|
+
"dry_run",
|
|
152
|
+
"applied"
|
|
153
|
+
];
|
|
154
|
+
for (const col of BOOLEAN_COLUMNS) {
|
|
155
|
+
translated = translated.replace(new RegExp(`\\b${col}\\s*=\\s*1\\b`, "gi"), `${col} = TRUE`);
|
|
156
|
+
translated = translated.replace(new RegExp(`\\b${col}\\s*=\\s*0\\b`, "gi"), `${col} = FALSE`);
|
|
157
|
+
}
|
|
145
158
|
return translated;
|
|
146
159
|
}
|
|
147
160
|
function shouldUsePgSsl(connectionString) {
|
|
@@ -50239,7 +50252,8 @@ function getMemory(id, db) {
|
|
|
50239
50252
|
return status === 404 ? null : data ?? null;
|
|
50240
50253
|
}
|
|
50241
50254
|
const d = db || getDatabase();
|
|
50242
|
-
const
|
|
50255
|
+
const resolvedId = resolvePartialId(d, "memories", id) ?? id;
|
|
50256
|
+
const row = d.query("SELECT * FROM memories WHERE id = ?").get(resolvedId);
|
|
50243
50257
|
if (!row)
|
|
50244
50258
|
return null;
|
|
50245
50259
|
return parseMemoryRow(row);
|
|
@@ -54409,6 +54423,7 @@ function jaccardSimilarity(a, b) {
|
|
|
54409
54423
|
}
|
|
54410
54424
|
// src/lib/consolidation.ts
|
|
54411
54425
|
init_database();
|
|
54426
|
+
init_api_mode();
|
|
54412
54427
|
var STOP_WORDS2 = new Set([
|
|
54413
54428
|
"about",
|
|
54414
54429
|
"after",
|
|
@@ -54862,6 +54877,19 @@ function buildSummary(actions) {
|
|
|
54862
54877
|
};
|
|
54863
54878
|
}
|
|
54864
54879
|
async function runConsolidation(options = {}) {
|
|
54880
|
+
if (!options.db && isApiMode()) {
|
|
54881
|
+
const { data } = apiJson("POST", "/consolidate", {
|
|
54882
|
+
dry_run: options.dryRun ?? false,
|
|
54883
|
+
scope: options.scope,
|
|
54884
|
+
project_id: options.projectId,
|
|
54885
|
+
agent_id: options.agentId,
|
|
54886
|
+
duplicate_threshold: options.duplicateThreshold,
|
|
54887
|
+
stale_days: options.staleDays,
|
|
54888
|
+
decay_threshold: options.decayThreshold,
|
|
54889
|
+
limit: options.limit
|
|
54890
|
+
});
|
|
54891
|
+
return data;
|
|
54892
|
+
}
|
|
54865
54893
|
const db = options.db || getDatabase();
|
|
54866
54894
|
const dryRun = options.dryRun ?? false;
|
|
54867
54895
|
let run = createRun({ ...options, dryRun }, db);
|
|
@@ -54904,6 +54932,7 @@ async function runConsolidation(options = {}) {
|
|
|
54904
54932
|
// src/lib/reflection.ts
|
|
54905
54933
|
init_zod();
|
|
54906
54934
|
init_database();
|
|
54935
|
+
init_api_mode();
|
|
54907
54936
|
var DEFAULT_REFLECTION_PROVIDER = "anthropic";
|
|
54908
54937
|
var DEFAULT_REFLECTION_MODEL = "claude-fable-5";
|
|
54909
54938
|
var CriticSchema = exports_external.object({
|
|
@@ -55255,6 +55284,21 @@ Return concise lessons. Each lesson must be actionable, evidence-backed, and use
|
|
|
55255
55284
|
};
|
|
55256
55285
|
}
|
|
55257
55286
|
async function reflectOnTrajectory(options) {
|
|
55287
|
+
if (!options.db && isApiMode()) {
|
|
55288
|
+
const { data } = apiJson("POST", "/reflect", {
|
|
55289
|
+
on: options.on,
|
|
55290
|
+
source: options.source,
|
|
55291
|
+
dry_run: options.dryRun ?? false,
|
|
55292
|
+
project_id: options.projectId,
|
|
55293
|
+
agent_id: options.agentId,
|
|
55294
|
+
since: options.since,
|
|
55295
|
+
until: options.until,
|
|
55296
|
+
provider: options.provider,
|
|
55297
|
+
model: options.model,
|
|
55298
|
+
max_tokens: options.maxTokens
|
|
55299
|
+
});
|
|
55300
|
+
return data;
|
|
55301
|
+
}
|
|
55258
55302
|
const db = options.db || getDatabase();
|
|
55259
55303
|
const dryRun = options.dryRun ?? false;
|
|
55260
55304
|
const provider = options.provider ?? process.env["MEMENTOS_REFLECT_PROVIDER"] ?? DEFAULT_REFLECTION_PROVIDER;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consolidation.d.ts","sourceRoot":"","sources":["../../src/lib/consolidation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,KAAK,EAAU,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"consolidation.d.ts","sourceRoot":"","sources":["../../src/lib/consolidation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,KAAK,EAAU,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAS7D,MAAM,MAAM,uBAAuB,GAC/B,iBAAiB,GACjB,kBAAkB,GAClB,mBAAmB,GACnB,cAAc,CAAC;AAEnB,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IACvD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,uBAAuB,CAAC;IAC9B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,QAAQ,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,gBAAgB,CAAC;IACtB,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,eAAe,EAAE,MAAM,CAAC;QACxB,eAAe,EAAE,MAAM,CAAC;QACxB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAgfD,wBAAsB,gBAAgB,CAAC,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA2DvG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reflection.d.ts","sourceRoot":"","sources":["../../src/lib/reflection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"reflection.d.ts","sourceRoot":"","sources":["../../src/lib/reflection.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/index.js
CHANGED
|
@@ -216,6 +216,7 @@ function translateSql(sql) {
|
|
|
216
216
|
const op = parsed < 0 ? "-" : "+";
|
|
217
217
|
return `to_char((now() ${op} INTERVAL '${absolute} ${pluralUnit}') AT TIME ZONE 'UTC', ${ISO_FMT})`;
|
|
218
218
|
});
|
|
219
|
+
translated = translated.replace(/COALESCE\s*\(\s*accessed_at\s*,\s*created_at\s*\)/gi, `COALESCE(accessed_at, to_char(created_at AT TIME ZONE 'UTC', ${ISO_FMT}))`);
|
|
219
220
|
translated = translated.replace(/lower\s*\(\s*hex\s*\(\s*randomblob\s*\(\s*\d+\s*\)\s*\)\s*\)/gi, "gen_random_uuid()::text");
|
|
220
221
|
translated = translated.replace(/\bIFNULL\s*\(/gi, "COALESCE(");
|
|
221
222
|
translated = translated.replace(/\bINSTR\s*\(/gi, "STRPOS(");
|
|
@@ -225,8 +226,20 @@ function translateSql(sql) {
|
|
|
225
226
|
}
|
|
226
227
|
translated = translated.replace(/INSERT\s+OR\s+REPLACE\s+INTO/gi, "INSERT INTO");
|
|
227
228
|
translated = translated.replace(/COALESCE\s*\(\s*pinned\s*,\s*0\s*\)/gi, "COALESCE(pinned, FALSE)");
|
|
228
|
-
|
|
229
|
-
|
|
229
|
+
const BOOLEAN_COLUMNS = [
|
|
230
|
+
"pinned",
|
|
231
|
+
"success",
|
|
232
|
+
"is_primary",
|
|
233
|
+
"blocking",
|
|
234
|
+
"enabled",
|
|
235
|
+
"useful",
|
|
236
|
+
"dry_run",
|
|
237
|
+
"applied"
|
|
238
|
+
];
|
|
239
|
+
for (const col of BOOLEAN_COLUMNS) {
|
|
240
|
+
translated = translated.replace(new RegExp(`\\b${col}\\s*=\\s*1\\b`, "gi"), `${col} = TRUE`);
|
|
241
|
+
translated = translated.replace(new RegExp(`\\b${col}\\s*=\\s*0\\b`, "gi"), `${col} = FALSE`);
|
|
242
|
+
}
|
|
230
243
|
return translated;
|
|
231
244
|
}
|
|
232
245
|
function shouldUsePgSsl(connectionString) {
|
|
@@ -2671,7 +2684,8 @@ function getMemory(id, db) {
|
|
|
2671
2684
|
return status === 404 ? null : data ?? null;
|
|
2672
2685
|
}
|
|
2673
2686
|
const d = db || getDatabase();
|
|
2674
|
-
const
|
|
2687
|
+
const resolvedId = resolvePartialId(d, "memories", id) ?? id;
|
|
2688
|
+
const row = d.query("SELECT * FROM memories WHERE id = ?").get(resolvedId);
|
|
2675
2689
|
if (!row)
|
|
2676
2690
|
return null;
|
|
2677
2691
|
return parseMemoryRow(row);
|
|
@@ -58150,7 +58164,7 @@ function getMemoryHealth(filter = {}, db) {
|
|
|
58150
58164
|
ORDER BY importance DESC, COALESCE(accessed_at, created_at) ASC LIMIT ?`).all(...scopeParams, forgottenCutoff, limit);
|
|
58151
58165
|
const dupes = d.prepare(`SELECT key, COUNT(*) as cnt, MAX(updated_at) as latest, MIN(created_at) as oldest
|
|
58152
58166
|
FROM memories WHERE ${base}
|
|
58153
|
-
GROUP BY key HAVING
|
|
58167
|
+
GROUP BY key HAVING COUNT(*) > 1
|
|
58154
58168
|
ORDER BY cnt DESC LIMIT ?`).all(...scopeParams, limit);
|
|
58155
58169
|
return { stale, forgotten, dupes };
|
|
58156
58170
|
}
|
|
@@ -64833,6 +64847,7 @@ init_zod();
|
|
|
64833
64847
|
|
|
64834
64848
|
// src/lib/consolidation.ts
|
|
64835
64849
|
init_database();
|
|
64850
|
+
init_api_mode();
|
|
64836
64851
|
init_memories();
|
|
64837
64852
|
|
|
64838
64853
|
// src/db/memory-links.ts
|
|
@@ -65325,6 +65340,19 @@ function buildSummary2(actions) {
|
|
|
65325
65340
|
};
|
|
65326
65341
|
}
|
|
65327
65342
|
async function runConsolidation(options = {}) {
|
|
65343
|
+
if (!options.db && isApiMode()) {
|
|
65344
|
+
const { data } = apiJson("POST", "/consolidate", {
|
|
65345
|
+
dry_run: options.dryRun ?? false,
|
|
65346
|
+
scope: options.scope,
|
|
65347
|
+
project_id: options.projectId,
|
|
65348
|
+
agent_id: options.agentId,
|
|
65349
|
+
duplicate_threshold: options.duplicateThreshold,
|
|
65350
|
+
stale_days: options.staleDays,
|
|
65351
|
+
decay_threshold: options.decayThreshold,
|
|
65352
|
+
limit: options.limit
|
|
65353
|
+
});
|
|
65354
|
+
return data;
|
|
65355
|
+
}
|
|
65328
65356
|
const db = options.db || getDatabase();
|
|
65329
65357
|
const dryRun = options.dryRun ?? false;
|
|
65330
65358
|
let run = createRun({ ...options, dryRun }, db);
|
|
@@ -65368,6 +65396,7 @@ async function runConsolidation(options = {}) {
|
|
|
65368
65396
|
// src/lib/reflection.ts
|
|
65369
65397
|
init_zod();
|
|
65370
65398
|
init_database();
|
|
65399
|
+
init_api_mode();
|
|
65371
65400
|
init_memories();
|
|
65372
65401
|
var DEFAULT_REFLECTION_PROVIDER = "anthropic";
|
|
65373
65402
|
var DEFAULT_REFLECTION_MODEL = "claude-fable-5";
|
|
@@ -65720,6 +65749,21 @@ Return concise lessons. Each lesson must be actionable, evidence-backed, and use
|
|
|
65720
65749
|
};
|
|
65721
65750
|
}
|
|
65722
65751
|
async function reflectOnTrajectory(options) {
|
|
65752
|
+
if (!options.db && isApiMode()) {
|
|
65753
|
+
const { data } = apiJson("POST", "/reflect", {
|
|
65754
|
+
on: options.on,
|
|
65755
|
+
source: options.source,
|
|
65756
|
+
dry_run: options.dryRun ?? false,
|
|
65757
|
+
project_id: options.projectId,
|
|
65758
|
+
agent_id: options.agentId,
|
|
65759
|
+
since: options.since,
|
|
65760
|
+
until: options.until,
|
|
65761
|
+
provider: options.provider,
|
|
65762
|
+
model: options.model,
|
|
65763
|
+
max_tokens: options.maxTokens
|
|
65764
|
+
});
|
|
65765
|
+
return data;
|
|
65766
|
+
}
|
|
65723
65767
|
const db = options.db || getDatabase();
|
|
65724
65768
|
const dryRun = options.dryRun ?? false;
|
|
65725
65769
|
const provider = options.provider ?? process.env["MEMENTOS_REFLECT_PROVIDER"] ?? DEFAULT_REFLECTION_PROVIDER;
|
package/dist/server/index.js
CHANGED
|
@@ -150,6 +150,7 @@ function translateSql(sql) {
|
|
|
150
150
|
const op = parsed < 0 ? "-" : "+";
|
|
151
151
|
return `to_char((now() ${op} INTERVAL '${absolute} ${pluralUnit}') AT TIME ZONE 'UTC', ${ISO_FMT})`;
|
|
152
152
|
});
|
|
153
|
+
translated = translated.replace(/COALESCE\s*\(\s*accessed_at\s*,\s*created_at\s*\)/gi, `COALESCE(accessed_at, to_char(created_at AT TIME ZONE 'UTC', ${ISO_FMT}))`);
|
|
153
154
|
translated = translated.replace(/lower\s*\(\s*hex\s*\(\s*randomblob\s*\(\s*\d+\s*\)\s*\)\s*\)/gi, "gen_random_uuid()::text");
|
|
154
155
|
translated = translated.replace(/\bIFNULL\s*\(/gi, "COALESCE(");
|
|
155
156
|
translated = translated.replace(/\bINSTR\s*\(/gi, "STRPOS(");
|
|
@@ -159,8 +160,20 @@ function translateSql(sql) {
|
|
|
159
160
|
}
|
|
160
161
|
translated = translated.replace(/INSERT\s+OR\s+REPLACE\s+INTO/gi, "INSERT INTO");
|
|
161
162
|
translated = translated.replace(/COALESCE\s*\(\s*pinned\s*,\s*0\s*\)/gi, "COALESCE(pinned, FALSE)");
|
|
162
|
-
|
|
163
|
-
|
|
163
|
+
const BOOLEAN_COLUMNS = [
|
|
164
|
+
"pinned",
|
|
165
|
+
"success",
|
|
166
|
+
"is_primary",
|
|
167
|
+
"blocking",
|
|
168
|
+
"enabled",
|
|
169
|
+
"useful",
|
|
170
|
+
"dry_run",
|
|
171
|
+
"applied"
|
|
172
|
+
];
|
|
173
|
+
for (const col of BOOLEAN_COLUMNS) {
|
|
174
|
+
translated = translated.replace(new RegExp(`\\b${col}\\s*=\\s*1\\b`, "gi"), `${col} = TRUE`);
|
|
175
|
+
translated = translated.replace(new RegExp(`\\b${col}\\s*=\\s*0\\b`, "gi"), `${col} = FALSE`);
|
|
176
|
+
}
|
|
164
177
|
return translated;
|
|
165
178
|
}
|
|
166
179
|
function shouldUsePgSsl(connectionString) {
|
|
@@ -2456,7 +2469,8 @@ function getMemory(id, db) {
|
|
|
2456
2469
|
return status === 404 ? null : data ?? null;
|
|
2457
2470
|
}
|
|
2458
2471
|
const d = db || getDatabase();
|
|
2459
|
-
const
|
|
2472
|
+
const resolvedId = resolvePartialId(d, "memories", id) ?? id;
|
|
2473
|
+
const row = d.query("SELECT * FROM memories WHERE id = ?").get(resolvedId);
|
|
2460
2474
|
if (!row)
|
|
2461
2475
|
return null;
|
|
2462
2476
|
return parseMemoryRow(row);
|
|
@@ -55616,7 +55630,7 @@ function getMemoryHealth(filter = {}, db) {
|
|
|
55616
55630
|
ORDER BY importance DESC, COALESCE(accessed_at, created_at) ASC LIMIT ?`).all(...scopeParams, forgottenCutoff, limit);
|
|
55617
55631
|
const dupes = d.prepare(`SELECT key, COUNT(*) as cnt, MAX(updated_at) as latest, MIN(created_at) as oldest
|
|
55618
55632
|
FROM memories WHERE ${base}
|
|
55619
|
-
GROUP BY key HAVING
|
|
55633
|
+
GROUP BY key HAVING COUNT(*) > 1
|
|
55620
55634
|
ORDER BY cnt DESC LIMIT ?`).all(...scopeParams, limit);
|
|
55621
55635
|
return { stale, forgotten, dupes };
|
|
55622
55636
|
}
|
|
@@ -58707,6 +58721,7 @@ function registerSystemChainRoutes() {
|
|
|
58707
58721
|
|
|
58708
58722
|
// src/lib/consolidation.ts
|
|
58709
58723
|
init_database();
|
|
58724
|
+
init_api_mode();
|
|
58710
58725
|
init_memories();
|
|
58711
58726
|
|
|
58712
58727
|
// src/db/memory-links.ts
|
|
@@ -59199,6 +59214,19 @@ function buildSummary2(actions) {
|
|
|
59199
59214
|
};
|
|
59200
59215
|
}
|
|
59201
59216
|
async function runConsolidation(options = {}) {
|
|
59217
|
+
if (!options.db && isApiMode()) {
|
|
59218
|
+
const { data } = apiJson("POST", "/consolidate", {
|
|
59219
|
+
dry_run: options.dryRun ?? false,
|
|
59220
|
+
scope: options.scope,
|
|
59221
|
+
project_id: options.projectId,
|
|
59222
|
+
agent_id: options.agentId,
|
|
59223
|
+
duplicate_threshold: options.duplicateThreshold,
|
|
59224
|
+
stale_days: options.staleDays,
|
|
59225
|
+
decay_threshold: options.decayThreshold,
|
|
59226
|
+
limit: options.limit
|
|
59227
|
+
});
|
|
59228
|
+
return data;
|
|
59229
|
+
}
|
|
59202
59230
|
const db = options.db || getDatabase();
|
|
59203
59231
|
const dryRun = options.dryRun ?? false;
|
|
59204
59232
|
let run = createRun({ ...options, dryRun }, db);
|
|
@@ -59242,6 +59270,7 @@ async function runConsolidation(options = {}) {
|
|
|
59242
59270
|
// src/lib/reflection.ts
|
|
59243
59271
|
init_zod();
|
|
59244
59272
|
init_database();
|
|
59273
|
+
init_api_mode();
|
|
59245
59274
|
init_memories();
|
|
59246
59275
|
var DEFAULT_REFLECTION_PROVIDER = "anthropic";
|
|
59247
59276
|
var DEFAULT_REFLECTION_MODEL = "claude-fable-5";
|
|
@@ -59594,6 +59623,21 @@ Return concise lessons. Each lesson must be actionable, evidence-backed, and use
|
|
|
59594
59623
|
};
|
|
59595
59624
|
}
|
|
59596
59625
|
async function reflectOnTrajectory(options) {
|
|
59626
|
+
if (!options.db && isApiMode()) {
|
|
59627
|
+
const { data } = apiJson("POST", "/reflect", {
|
|
59628
|
+
on: options.on,
|
|
59629
|
+
source: options.source,
|
|
59630
|
+
dry_run: options.dryRun ?? false,
|
|
59631
|
+
project_id: options.projectId,
|
|
59632
|
+
agent_id: options.agentId,
|
|
59633
|
+
since: options.since,
|
|
59634
|
+
until: options.until,
|
|
59635
|
+
provider: options.provider,
|
|
59636
|
+
model: options.model,
|
|
59637
|
+
max_tokens: options.maxTokens
|
|
59638
|
+
});
|
|
59639
|
+
return data;
|
|
59640
|
+
}
|
|
59597
59641
|
const db = options.db || getDatabase();
|
|
59598
59642
|
const dryRun = options.dryRun ?? false;
|
|
59599
59643
|
const provider = options.provider ?? process.env["MEMENTOS_REFLECT_PROVIDER"] ?? DEFAULT_REFLECTION_PROVIDER;
|
package/dist/storage.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAOtC,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAiB3C,sFAAsF;AACtF,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAED,4DAA4D;AAC5D,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,GAAG,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC;IACjC,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;IAC3B,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;IAC7B,QAAQ,IAAI,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC;IAC9C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;IACxC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;IAC1C,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAAC;IACxC,KAAK,IAAI,IAAI,CAAC;IACd,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;CAChC;AAOD,qBAAa,aAAc,YAAW,SAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAW;gBAElB,IAAI,EAAE,MAAM;IAMxB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,SAAS;IAQ7C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG;IAIvC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE;IAIzC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIvB,KAAK,CAAC,GAAG,EAAE,MAAM;IAIjB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB;IAkBvC,KAAK,IAAI,IAAI;IAIb,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAI9B,IAAI,GAAG,IAAI,QAAQ,CAElB;CACF;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
|
package/dist/storage.js
CHANGED
|
@@ -131,6 +131,7 @@ function translateSql(sql) {
|
|
|
131
131
|
const op = parsed < 0 ? "-" : "+";
|
|
132
132
|
return `to_char((now() ${op} INTERVAL '${absolute} ${pluralUnit}') AT TIME ZONE 'UTC', ${ISO_FMT})`;
|
|
133
133
|
});
|
|
134
|
+
translated = translated.replace(/COALESCE\s*\(\s*accessed_at\s*,\s*created_at\s*\)/gi, `COALESCE(accessed_at, to_char(created_at AT TIME ZONE 'UTC', ${ISO_FMT}))`);
|
|
134
135
|
translated = translated.replace(/lower\s*\(\s*hex\s*\(\s*randomblob\s*\(\s*\d+\s*\)\s*\)\s*\)/gi, "gen_random_uuid()::text");
|
|
135
136
|
translated = translated.replace(/\bIFNULL\s*\(/gi, "COALESCE(");
|
|
136
137
|
translated = translated.replace(/\bINSTR\s*\(/gi, "STRPOS(");
|
|
@@ -140,8 +141,20 @@ function translateSql(sql) {
|
|
|
140
141
|
}
|
|
141
142
|
translated = translated.replace(/INSERT\s+OR\s+REPLACE\s+INTO/gi, "INSERT INTO");
|
|
142
143
|
translated = translated.replace(/COALESCE\s*\(\s*pinned\s*,\s*0\s*\)/gi, "COALESCE(pinned, FALSE)");
|
|
143
|
-
|
|
144
|
-
|
|
144
|
+
const BOOLEAN_COLUMNS = [
|
|
145
|
+
"pinned",
|
|
146
|
+
"success",
|
|
147
|
+
"is_primary",
|
|
148
|
+
"blocking",
|
|
149
|
+
"enabled",
|
|
150
|
+
"useful",
|
|
151
|
+
"dry_run",
|
|
152
|
+
"applied"
|
|
153
|
+
];
|
|
154
|
+
for (const col of BOOLEAN_COLUMNS) {
|
|
155
|
+
translated = translated.replace(new RegExp(`\\b${col}\\s*=\\s*1\\b`, "gi"), `${col} = TRUE`);
|
|
156
|
+
translated = translated.replace(new RegExp(`\\b${col}\\s*=\\s*0\\b`, "gi"), `${col} = FALSE`);
|
|
157
|
+
}
|
|
145
158
|
return translated;
|
|
146
159
|
}
|
|
147
160
|
function shouldUsePgSsl(connectionString) {
|