@adaptivemcp/memory 0.3.0 → 0.5.0
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 +21 -0
- package/dist/migrations.d.ts.map +1 -1
- package/dist/migrations.js +57 -0
- package/dist/migrations.js.map +1 -1
- package/dist/store.d.ts +46 -2
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +297 -6
- package/dist/store.js.map +1 -1
- package/package.json +8 -7
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Kemal Elmizan
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/dist/migrations.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../src/migrations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,CAAC,EAAE,EAAE,YAAY,KAAK,IAAI,CAAC;CAChC;AAwCD;;;;;GAKG;AACH,eAAO,MAAM,UAAU,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../src/migrations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,CAAC,EAAE,EAAE,YAAY,KAAK,IAAI,CAAC;CAChC;AAwCD;;;;;GAKG;AACH,eAAO,MAAM,UAAU,EAAE,SAAS,EAmEjC,CAAC;AAEF,mGAAmG;AACnG,wBAAgB,aAAa,CAAC,EAAE,EAAE,YAAY,EAAE,UAAU,GAAE,SAAS,EAAe,GAAG,IAAI,CAsB1F"}
|
package/dist/migrations.js
CHANGED
|
@@ -48,6 +48,63 @@ export const MIGRATIONS = [
|
|
|
48
48
|
name: "add_nodes_timestamp_index",
|
|
49
49
|
up: (db) => db.exec(`CREATE INDEX IF NOT EXISTS idx_nodes_timestamp ON execution_nodes(timestamp)`),
|
|
50
50
|
},
|
|
51
|
+
{
|
|
52
|
+
version: 3,
|
|
53
|
+
name: "add_metric_cells",
|
|
54
|
+
up: (db) => db.exec(`
|
|
55
|
+
CREATE TABLE IF NOT EXISTS metric_cells (
|
|
56
|
+
tool_name TEXT NOT NULL,
|
|
57
|
+
server_name TEXT NOT NULL DEFAULT '',
|
|
58
|
+
window TEXT NOT NULL DEFAULT 'all',
|
|
59
|
+
dims_key TEXT NOT NULL,
|
|
60
|
+
dims TEXT NOT NULL,
|
|
61
|
+
invocations INTEGER NOT NULL DEFAULT 0,
|
|
62
|
+
failures INTEGER NOT NULL DEFAULT 0,
|
|
63
|
+
error_codes TEXT NOT NULL DEFAULT '{}',
|
|
64
|
+
duration_sum REAL NOT NULL DEFAULT 0,
|
|
65
|
+
duration_count INTEGER NOT NULL DEFAULT 0,
|
|
66
|
+
duration_hist TEXT NOT NULL DEFAULT '[]',
|
|
67
|
+
token_in_sum REAL NOT NULL DEFAULT 0,
|
|
68
|
+
token_out_sum REAL NOT NULL DEFAULT 0,
|
|
69
|
+
token_count INTEGER NOT NULL DEFAULT 0,
|
|
70
|
+
cost_sum REAL NOT NULL DEFAULT 0,
|
|
71
|
+
ewma_failure_rate REAL,
|
|
72
|
+
ewma_duration_ms REAL,
|
|
73
|
+
first_seen TEXT,
|
|
74
|
+
last_seen TEXT,
|
|
75
|
+
exemplars TEXT NOT NULL DEFAULT '[]',
|
|
76
|
+
PRIMARY KEY (tool_name, server_name, window, dims_key)
|
|
77
|
+
);
|
|
78
|
+
CREATE INDEX IF NOT EXISTS idx_metric_cells_tool ON metric_cells(tool_name, server_name);
|
|
79
|
+
`),
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
version: 4,
|
|
83
|
+
name: "add_metric_cells_attempts",
|
|
84
|
+
up: (db) => db.exec(`ALTER TABLE metric_cells ADD COLUMN attempts INTEGER NOT NULL DEFAULT 0`),
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
version: 5,
|
|
88
|
+
name: "add_suspensions",
|
|
89
|
+
up: (db) => db.exec(`
|
|
90
|
+
CREATE TABLE IF NOT EXISTS suspensions (
|
|
91
|
+
id TEXT PRIMARY KEY,
|
|
92
|
+
session_id TEXT NOT NULL,
|
|
93
|
+
kind TEXT NOT NULL,
|
|
94
|
+
question TEXT NOT NULL,
|
|
95
|
+
response_schema TEXT,
|
|
96
|
+
resume_state TEXT,
|
|
97
|
+
status TEXT NOT NULL,
|
|
98
|
+
answer TEXT,
|
|
99
|
+
reason TEXT,
|
|
100
|
+
created_at TEXT NOT NULL,
|
|
101
|
+
resolved_at TEXT
|
|
102
|
+
);
|
|
103
|
+
|
|
104
|
+
CREATE INDEX IF NOT EXISTS idx_suspensions_session ON suspensions(session_id, status);
|
|
105
|
+
CREATE INDEX IF NOT EXISTS idx_suspensions_status ON suspensions(status);
|
|
106
|
+
`),
|
|
107
|
+
},
|
|
51
108
|
];
|
|
52
109
|
/** Applies every migration in `migrations` that hasn't already been recorded, in version order. */
|
|
53
110
|
export function runMigrations(db, migrations = MIGRATIONS) {
|
package/dist/migrations.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrations.js","sourceRoot":"","sources":["../src/migrations.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCnB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAgB;IACrC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;IACrE;QACE,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,2BAA2B;QACjC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"migrations.js","sourceRoot":"","sources":["../src/migrations.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCnB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAgB;IACrC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;IACrE;QACE,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,2BAA2B;QACjC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CACT,EAAE,CAAC,IAAI,CAAC,8EAA8E,CAAC;KAC1F;IACD;QACE,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,kBAAkB;QACxB,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CACT,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;CAyBb,CAAC;KACC;IACD;QACE,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,2BAA2B;QACjC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,yEAAyE,CAAC;KAC/F;IACD;QACE,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,iBAAiB;QACvB,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CACT,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;CAiBb,CAAC;KACC;CACF,CAAC;AAEF,mGAAmG;AACnG,MAAM,UAAU,aAAa,CAAC,EAAgB,EAAE,aAA0B,UAAU;IAClF,EAAE,CAAC,IAAI,CACL;;;;MAIE,CACH,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,GAAG,CACpB,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,GAAG,EAA4B,CAAC,GAAG,CACtF,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CACjB,CACF,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;IACtE,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CACvB,4EAA4E,CAC7E,CAAC;IACF,KAAK,MAAM,SAAS,IAAI,OAAO,EAAE,CAAC;QAChC,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC;YAAE,SAAS;QAC7C,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACjB,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC"}
|
package/dist/store.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type { Annotation, Insight, Recommendation, RecommendationType, Store, ToolExecutionEvent, ToolRecord, ExecutionNode } from "@adaptivemcp/spec";
|
|
1
|
+
import type { DatabaseSyncOptions } from "node:sqlite";
|
|
2
|
+
import type { Annotation, Insight, MetricCell, Recommendation, RecommendationType, Store, ToolExecutionEvent, ToolRecord, ExecutionNode, Suspension, SuspensionResolution, SuspensionStatus } from "@adaptivemcp/spec";
|
|
3
3
|
export interface MemoryStorePragmaOptions {
|
|
4
4
|
journalMode?: string;
|
|
5
5
|
synchronous?: string;
|
|
@@ -19,6 +19,14 @@ export interface MemoryStoreOptions {
|
|
|
19
19
|
retention?: {
|
|
20
20
|
maxAgeMs: number;
|
|
21
21
|
};
|
|
22
|
+
/**
|
|
23
|
+
* Cardinality guardrail for metric cells: cap the number of distinct `model`
|
|
24
|
+
* dimensions per tool; new models past the cap fold into a single `other`
|
|
25
|
+
* bucket. Defaults to 8.
|
|
26
|
+
*/
|
|
27
|
+
metricCardinality?: {
|
|
28
|
+
maxModelsPerTool?: number;
|
|
29
|
+
};
|
|
22
30
|
}
|
|
23
31
|
/**
|
|
24
32
|
* SQLite-backed store for Adaptive MCP.
|
|
@@ -31,6 +39,7 @@ export declare class MemoryStore implements Store {
|
|
|
31
39
|
private db;
|
|
32
40
|
private readonly isMemory;
|
|
33
41
|
private readonly retention?;
|
|
42
|
+
private readonly maxModelsPerTool;
|
|
34
43
|
private lastPrunedAt;
|
|
35
44
|
constructor(options?: MemoryStoreOptions);
|
|
36
45
|
close(): void;
|
|
@@ -73,6 +82,23 @@ export declare class MemoryStore implements Store {
|
|
|
73
82
|
clearRecommendations(toolName: string, type: RecommendationType, serverName?: string): ToolRecord;
|
|
74
83
|
/** Fold a tool execution event into the persisted stats. */
|
|
75
84
|
recordExecution(event: ToolExecutionEvent): ToolRecord;
|
|
85
|
+
/**
|
|
86
|
+
* Read pre-aggregated metric cells (bounded dimensional rollups). This is the
|
|
87
|
+
* durable, queryable metadata layer that replaces a raw events table.
|
|
88
|
+
*/
|
|
89
|
+
metricCells(options?: {
|
|
90
|
+
toolName?: string;
|
|
91
|
+
serverName?: string;
|
|
92
|
+
}): MetricCell[];
|
|
93
|
+
/** Pre-aggregate an event into the bounded set of metric cells it belongs to. */
|
|
94
|
+
private foldMetricCells;
|
|
95
|
+
/**
|
|
96
|
+
* Cardinality guardrail: fold new models past the per-tool cap into a single
|
|
97
|
+
* `other` bucket. Existing models and the bucket itself always pass through.
|
|
98
|
+
*/
|
|
99
|
+
private capModel;
|
|
100
|
+
private readMetricCell;
|
|
101
|
+
private writeMetricCell;
|
|
76
102
|
/** `server_name` is part of the primary key, so it's matched in WHERE, not reassigned in SET. */
|
|
77
103
|
private write;
|
|
78
104
|
/** Record an execution node in the graph. */
|
|
@@ -87,6 +113,10 @@ export declare class MemoryStore implements Store {
|
|
|
87
113
|
deleted: number;
|
|
88
114
|
};
|
|
89
115
|
private maybeOpportunisticPrune;
|
|
116
|
+
/** Delete hourly (non-`all`) metric cells older than `olderThanMs`; `all` is kept. */
|
|
117
|
+
pruneMetricCells(olderThanMs: number, now?: number): {
|
|
118
|
+
deleted: number;
|
|
119
|
+
};
|
|
90
120
|
/** Get an execution node by ID. */
|
|
91
121
|
getExecutionNode(id: string): ExecutionNode | undefined;
|
|
92
122
|
/** Get all nodes for a session. */
|
|
@@ -95,6 +125,8 @@ export declare class MemoryStore implements Store {
|
|
|
95
125
|
getNodesByWorkflow(workflowId: string): ExecutionNode[];
|
|
96
126
|
/** Get every distinct workflow ID that has at least one recorded execution node. */
|
|
97
127
|
getWorkflowIds(): string[];
|
|
128
|
+
/** Get every distinct session ID that has at least one recorded execution node. */
|
|
129
|
+
getSessionIds(): string[];
|
|
98
130
|
/** Get children of a node. */
|
|
99
131
|
getChildren(parentId: string): ExecutionNode[];
|
|
100
132
|
/** Get parent of a node. */
|
|
@@ -105,5 +137,17 @@ export declare class MemoryStore implements Store {
|
|
|
105
137
|
getLeafNodes(sessionId: string): ExecutionNode[];
|
|
106
138
|
/** Update children IDs of a parent node. */
|
|
107
139
|
updateChildrenIds(parentId: string, childrenIds: string[]): void;
|
|
140
|
+
/** Persist a suspension (a run paused awaiting a human). */
|
|
141
|
+
recordSuspension(suspension: Suspension): Suspension;
|
|
142
|
+
/** Read one suspension by id. */
|
|
143
|
+
getSuspension(id: string): Suspension | undefined;
|
|
144
|
+
/** Every suspension for a session, newest first; filtered by status when given. */
|
|
145
|
+
getSuspensions(sessionId: string, status?: SuspensionStatus): Suspension[];
|
|
146
|
+
/**
|
|
147
|
+
* Resolve a suspension — with an answer, or with the reason it was not
|
|
148
|
+
* answered. Idempotent: an already-resolved record is returned unchanged, so a
|
|
149
|
+
* replayed resume cannot overwrite the first answer.
|
|
150
|
+
*/
|
|
151
|
+
resolveSuspension(id: string, resolution: SuspensionResolution): Suspension | undefined;
|
|
108
152
|
}
|
|
109
153
|
//# sourceMappingURL=store.d.ts.map
|
package/dist/store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
|
package/dist/store.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createRequire } from "node:module";
|
|
2
2
|
import { runMigrations } from "./migrations.js";
|
|
3
|
+
const { DatabaseSync: DatabaseSyncCtor } = createRequire(import.meta.url)("node:sqlite");
|
|
3
4
|
const DEFAULT_PRAGMAS = {
|
|
4
5
|
journalMode: "WAL",
|
|
5
6
|
synchronous: "NORMAL",
|
|
@@ -27,12 +28,14 @@ export class MemoryStore {
|
|
|
27
28
|
db;
|
|
28
29
|
isMemory;
|
|
29
30
|
retention;
|
|
31
|
+
maxModelsPerTool;
|
|
30
32
|
lastPrunedAt = 0;
|
|
31
33
|
constructor(options = {}) {
|
|
32
34
|
const path = options.path ?? ":memory:";
|
|
33
35
|
this.isMemory = path === ":memory:";
|
|
34
36
|
this.retention = options.retention;
|
|
35
|
-
this.
|
|
37
|
+
this.maxModelsPerTool = options.metricCardinality?.maxModelsPerTool ?? 8;
|
|
38
|
+
this.db = new DatabaseSyncCtor(path, options.dbOptions ?? {});
|
|
36
39
|
const pragmas = { ...DEFAULT_PRAGMAS, ...options.pragmas };
|
|
37
40
|
if (!this.isMemory) {
|
|
38
41
|
this.db.exec(`PRAGMA journal_mode = ${pragmas.journalMode}`);
|
|
@@ -179,8 +182,84 @@ export class MemoryStore {
|
|
|
179
182
|
updatedAt: new Date().toISOString(),
|
|
180
183
|
};
|
|
181
184
|
this.write(updated);
|
|
185
|
+
this.foldMetricCells(event);
|
|
182
186
|
return updated;
|
|
183
187
|
}
|
|
188
|
+
/**
|
|
189
|
+
* Read pre-aggregated metric cells (bounded dimensional rollups). This is the
|
|
190
|
+
* durable, queryable metadata layer that replaces a raw events table.
|
|
191
|
+
*/
|
|
192
|
+
metricCells(options = {}) {
|
|
193
|
+
const clauses = [];
|
|
194
|
+
const params = [];
|
|
195
|
+
if (options.toolName !== undefined) {
|
|
196
|
+
clauses.push("tool_name = ?");
|
|
197
|
+
params.push(options.toolName);
|
|
198
|
+
}
|
|
199
|
+
if (options.serverName !== undefined) {
|
|
200
|
+
clauses.push("server_name = ?");
|
|
201
|
+
params.push(options.serverName);
|
|
202
|
+
}
|
|
203
|
+
const where = clauses.length > 0 ? ` WHERE ${clauses.join(" AND ")}` : "";
|
|
204
|
+
const rows = this.db
|
|
205
|
+
.prepare(`SELECT * FROM metric_cells${where} ORDER BY tool_name, server_name, dims_key`)
|
|
206
|
+
.all(...params);
|
|
207
|
+
return rows.map(deserializeMetricCell);
|
|
208
|
+
}
|
|
209
|
+
/** Pre-aggregate an event into the bounded set of metric cells it belongs to. */
|
|
210
|
+
foldMetricCells(event) {
|
|
211
|
+
const now = event.timestamp ?? new Date().toISOString();
|
|
212
|
+
const model = event.model !== undefined
|
|
213
|
+
? this.capModel(event.toolName, event.serverName ?? UNKNOWN_SERVER, event.model)
|
|
214
|
+
: undefined;
|
|
215
|
+
for (const dimensions of cellDimensionsFor(event, model)) {
|
|
216
|
+
const key = dimsKey(dimensions);
|
|
217
|
+
// The overall `{}` cell also gets an hourly window (for drift); dimensioned
|
|
218
|
+
// cells keep only the lifetime aggregate to bound write amplification.
|
|
219
|
+
const windows = Object.keys(dimensions).length === 0 ? ["all", windowKey(now)] : ["all"];
|
|
220
|
+
for (const window of windows) {
|
|
221
|
+
const existing = this.readMetricCell(event.toolName, event.serverName ?? UNKNOWN_SERVER, window, key);
|
|
222
|
+
this.writeMetricCell(foldMetricCell(existing, event, dimensions, window, now), key);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Cardinality guardrail: fold new models past the per-tool cap into a single
|
|
228
|
+
* `other` bucket. Existing models and the bucket itself always pass through.
|
|
229
|
+
*/
|
|
230
|
+
capModel(toolName, serverName, model) {
|
|
231
|
+
if (model === "other")
|
|
232
|
+
return model;
|
|
233
|
+
const rows = this.db
|
|
234
|
+
.prepare(`SELECT dims FROM metric_cells WHERE tool_name = ? AND server_name = ? AND window = 'all'`)
|
|
235
|
+
.all(toolName, serverName);
|
|
236
|
+
const models = new Set();
|
|
237
|
+
for (const row of rows) {
|
|
238
|
+
const dims = JSON.parse(row.dims);
|
|
239
|
+
if (dims.model)
|
|
240
|
+
models.add(dims.model);
|
|
241
|
+
}
|
|
242
|
+
if (models.has(model) || models.size < this.maxModelsPerTool)
|
|
243
|
+
return model;
|
|
244
|
+
return "other";
|
|
245
|
+
}
|
|
246
|
+
readMetricCell(toolName, serverName, window, dimsKeyValue) {
|
|
247
|
+
const row = this.db
|
|
248
|
+
.prepare(`SELECT * FROM metric_cells WHERE tool_name = ? AND server_name = ? AND window = ? AND dims_key = ?`)
|
|
249
|
+
.get(toolName, serverName, window, dimsKeyValue);
|
|
250
|
+
return row ? deserializeMetricCell(row) : undefined;
|
|
251
|
+
}
|
|
252
|
+
writeMetricCell(cell, dimsKeyValue) {
|
|
253
|
+
this.db
|
|
254
|
+
.prepare(`INSERT OR REPLACE INTO metric_cells (
|
|
255
|
+
tool_name, server_name, window, dims_key, dims,
|
|
256
|
+
invocations, failures, attempts, error_codes,
|
|
257
|
+
duration_sum, duration_count, duration_hist,
|
|
258
|
+
token_in_sum, token_out_sum, token_count, cost_sum,
|
|
259
|
+
ewma_failure_rate, ewma_duration_ms, first_seen, last_seen, exemplars
|
|
260
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
|
|
261
|
+
.run(cell.toolName, cell.serverName ?? UNKNOWN_SERVER, cell.window, dimsKeyValue, JSON.stringify(cell.dimensions), cell.invocations, cell.failures, cell.attempts, JSON.stringify(cell.errorCodes), cell.durationSum, cell.durationCount, JSON.stringify(cell.durationHistogram), cell.tokenInSum, cell.tokenOutSum, cell.tokenCount, cell.costSum, cell.ewmaFailureRate ?? null, cell.ewmaDurationMs ?? null, cell.firstSeen, cell.lastSeen, JSON.stringify(cell.exemplars));
|
|
262
|
+
}
|
|
184
263
|
/** `server_name` is part of the primary key, so it's matched in WHERE, not reassigned in SET. */
|
|
185
264
|
write(record) {
|
|
186
265
|
this.db
|
|
@@ -217,12 +296,19 @@ export class MemoryStore {
|
|
|
217
296
|
if (now - this.lastPrunedAt < RETENTION_CHECK_INTERVAL_MS)
|
|
218
297
|
return;
|
|
219
298
|
this.pruneExecutionNodes(this.retention.maxAgeMs, now);
|
|
299
|
+
this.pruneMetricCells(this.retention.maxAgeMs, now);
|
|
300
|
+
}
|
|
301
|
+
/** Delete hourly (non-`all`) metric cells older than `olderThanMs`; `all` is kept. */
|
|
302
|
+
pruneMetricCells(olderThanMs, now = Date.now()) {
|
|
303
|
+
const cutoff = new Date(now - olderThanMs).toISOString();
|
|
304
|
+
const result = this.db
|
|
305
|
+
.prepare(`DELETE FROM metric_cells WHERE window != 'all' AND last_seen < ?`)
|
|
306
|
+
.run(cutoff);
|
|
307
|
+
return { deleted: Number(result.changes) };
|
|
220
308
|
}
|
|
221
309
|
/** Get an execution node by ID. */
|
|
222
310
|
getExecutionNode(id) {
|
|
223
|
-
const row = this.db
|
|
224
|
-
.prepare(`SELECT * FROM execution_nodes WHERE id = ?`)
|
|
225
|
-
.get(id);
|
|
311
|
+
const row = this.db.prepare(`SELECT * FROM execution_nodes WHERE id = ?`).get(id);
|
|
226
312
|
return row ? deserializeExecutionNode(row) : undefined;
|
|
227
313
|
}
|
|
228
314
|
/** Get all nodes for a session. */
|
|
@@ -246,6 +332,13 @@ export class MemoryStore {
|
|
|
246
332
|
.all();
|
|
247
333
|
return rows.map((r) => r.workflow_id);
|
|
248
334
|
}
|
|
335
|
+
/** Get every distinct session ID that has at least one recorded execution node. */
|
|
336
|
+
getSessionIds() {
|
|
337
|
+
const rows = this.db
|
|
338
|
+
.prepare(`SELECT DISTINCT session_id FROM execution_nodes`)
|
|
339
|
+
.all();
|
|
340
|
+
return rows.map((r) => r.session_id);
|
|
341
|
+
}
|
|
249
342
|
/** Get children of a node. */
|
|
250
343
|
getChildren(parentId) {
|
|
251
344
|
const parent = this.getExecutionNode(parentId);
|
|
@@ -287,6 +380,70 @@ export class MemoryStore {
|
|
|
287
380
|
.prepare(`UPDATE execution_nodes SET children_ids = ? WHERE id = ?`)
|
|
288
381
|
.run(JSON.stringify(childrenIds), parentId);
|
|
289
382
|
}
|
|
383
|
+
// Suspensions — the durable half of pause/resume (ADR-004). The host owns the
|
|
384
|
+
// policy; this only stores and resolves what the host decided to pause on.
|
|
385
|
+
/** Persist a suspension (a run paused awaiting a human). */
|
|
386
|
+
recordSuspension(suspension) {
|
|
387
|
+
this.db
|
|
388
|
+
.prepare(`INSERT OR REPLACE INTO suspensions (id, session_id, kind, question, response_schema, resume_state, status, answer, reason, created_at, resolved_at)
|
|
389
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
|
|
390
|
+
.run(suspension.id, suspension.sessionId, suspension.kind, suspension.question, suspension.responseSchema ? JSON.stringify(suspension.responseSchema) : null, suspension.resumeState ? JSON.stringify(suspension.resumeState) : null, suspension.status, suspension.answer === undefined ? null : JSON.stringify(suspension.answer), suspension.reason ?? null, suspension.createdAt, suspension.resolvedAt ?? null);
|
|
391
|
+
return suspension;
|
|
392
|
+
}
|
|
393
|
+
/** Read one suspension by id. */
|
|
394
|
+
getSuspension(id) {
|
|
395
|
+
const row = this.db.prepare(`SELECT * FROM suspensions WHERE id = ?`).get(id);
|
|
396
|
+
return row ? deserializeSuspension(row) : undefined;
|
|
397
|
+
}
|
|
398
|
+
/** Every suspension for a session, newest first; filtered by status when given. */
|
|
399
|
+
getSuspensions(sessionId, status) {
|
|
400
|
+
const rows = (status
|
|
401
|
+
? this.db
|
|
402
|
+
.prepare(`SELECT * FROM suspensions WHERE session_id = ? AND status = ? ORDER BY created_at DESC`)
|
|
403
|
+
.all(sessionId, status)
|
|
404
|
+
: this.db
|
|
405
|
+
.prepare(`SELECT * FROM suspensions WHERE session_id = ? ORDER BY created_at DESC`)
|
|
406
|
+
.all(sessionId));
|
|
407
|
+
return rows.map(deserializeSuspension);
|
|
408
|
+
}
|
|
409
|
+
/**
|
|
410
|
+
* Resolve a suspension — with an answer, or with the reason it was not
|
|
411
|
+
* answered. Idempotent: an already-resolved record is returned unchanged, so a
|
|
412
|
+
* replayed resume cannot overwrite the first answer.
|
|
413
|
+
*/
|
|
414
|
+
resolveSuspension(id, resolution) {
|
|
415
|
+
const existing = this.getSuspension(id);
|
|
416
|
+
if (!existing)
|
|
417
|
+
return undefined;
|
|
418
|
+
if (existing.status !== "pending")
|
|
419
|
+
return existing;
|
|
420
|
+
return this.recordSuspension({
|
|
421
|
+
...existing,
|
|
422
|
+
status: resolution.status,
|
|
423
|
+
answer: resolution.status === "answered" ? resolution.answer : existing.answer,
|
|
424
|
+
reason: resolution.reason ?? existing.reason,
|
|
425
|
+
resolvedAt: new Date().toISOString(),
|
|
426
|
+
});
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
function deserializeSuspension(row) {
|
|
430
|
+
return {
|
|
431
|
+
id: row.id,
|
|
432
|
+
sessionId: row.session_id,
|
|
433
|
+
kind: row.kind,
|
|
434
|
+
question: row.question,
|
|
435
|
+
responseSchema: row.response_schema
|
|
436
|
+
? JSON.parse(row.response_schema)
|
|
437
|
+
: undefined,
|
|
438
|
+
resumeState: row.resume_state
|
|
439
|
+
? JSON.parse(row.resume_state)
|
|
440
|
+
: undefined,
|
|
441
|
+
status: row.status,
|
|
442
|
+
answer: row.answer === null ? undefined : JSON.parse(row.answer),
|
|
443
|
+
reason: row.reason ?? undefined,
|
|
444
|
+
createdAt: row.created_at,
|
|
445
|
+
resolvedAt: row.resolved_at ?? undefined,
|
|
446
|
+
};
|
|
290
447
|
}
|
|
291
448
|
function deserializeExecutionNode(row) {
|
|
292
449
|
return {
|
|
@@ -329,7 +486,7 @@ function foldEvent(stats, event) {
|
|
|
329
486
|
: stats.avgDurationMs;
|
|
330
487
|
const totalCost = stats.totalCost + (event.cost?.amount ?? 0);
|
|
331
488
|
// Track average output tokens for context cost
|
|
332
|
-
const outputTokens = event.
|
|
489
|
+
const outputTokens = eventTokens(event).outputTokens ?? 0;
|
|
333
490
|
const prevAvgTokens = stats.avgOutputTokens ?? 0;
|
|
334
491
|
const avgOutputTokens = (prevAvgTokens * (invocations - 1) + outputTokens) / invocations;
|
|
335
492
|
return {
|
|
@@ -353,4 +510,138 @@ function deserialize(row) {
|
|
|
353
510
|
updatedAt: row.updated_at,
|
|
354
511
|
};
|
|
355
512
|
}
|
|
513
|
+
function deserializeMetricCell(row) {
|
|
514
|
+
return {
|
|
515
|
+
toolName: row.tool_name,
|
|
516
|
+
serverName: row.server_name === UNKNOWN_SERVER ? undefined : row.server_name,
|
|
517
|
+
window: row.window,
|
|
518
|
+
dimensions: JSON.parse(row.dims),
|
|
519
|
+
invocations: row.invocations,
|
|
520
|
+
failures: row.failures,
|
|
521
|
+
attempts: row.attempts,
|
|
522
|
+
errorCodes: JSON.parse(row.error_codes),
|
|
523
|
+
durationSum: row.duration_sum,
|
|
524
|
+
durationCount: row.duration_count,
|
|
525
|
+
durationHistogram: JSON.parse(row.duration_hist),
|
|
526
|
+
tokenInSum: row.token_in_sum,
|
|
527
|
+
tokenOutSum: row.token_out_sum,
|
|
528
|
+
tokenCount: row.token_count,
|
|
529
|
+
costSum: row.cost_sum,
|
|
530
|
+
ewmaFailureRate: row.ewma_failure_rate ?? undefined,
|
|
531
|
+
ewmaDurationMs: row.ewma_duration_ms ?? undefined,
|
|
532
|
+
firstSeen: row.first_seen ?? "",
|
|
533
|
+
lastSeen: row.last_seen ?? "",
|
|
534
|
+
exemplars: JSON.parse(row.exemplars),
|
|
535
|
+
};
|
|
536
|
+
}
|
|
537
|
+
/** Fixed duration histogram buckets (upper bound in ms); the last bucket is overflow. */
|
|
538
|
+
const DURATION_BUCKETS_MS = [50, 100, 250, 500, 1000, 2500, 5000, 10000];
|
|
539
|
+
const DURATION_BUCKET_COUNT = DURATION_BUCKETS_MS.length + 1;
|
|
540
|
+
/** EWMA smoothing factor for recency-weighted failure rate / duration. */
|
|
541
|
+
const EWMA_ALPHA = 0.2;
|
|
542
|
+
/** How many recent event ids a cell keeps for drill-down. */
|
|
543
|
+
const EXEMPLAR_LIMIT = 5;
|
|
544
|
+
/** Token usage, preferring the explicit `usage` field and falling back to `cost`. */
|
|
545
|
+
function eventTokens(event) {
|
|
546
|
+
if (event.usage &&
|
|
547
|
+
(event.usage.inputTokens !== undefined || event.usage.outputTokens !== undefined)) {
|
|
548
|
+
return event.usage;
|
|
549
|
+
}
|
|
550
|
+
return { inputTokens: event.cost?.inputTokens, outputTokens: event.cost?.outputTokens };
|
|
551
|
+
}
|
|
552
|
+
/** The bounded set of dimension tuples an event contributes to. */
|
|
553
|
+
function cellDimensionsFor(event, model = event.model) {
|
|
554
|
+
const dims = [{}];
|
|
555
|
+
if (model)
|
|
556
|
+
dims.push({ model });
|
|
557
|
+
if (event.decoding) {
|
|
558
|
+
dims.push({
|
|
559
|
+
...(model ? { model } : {}),
|
|
560
|
+
decodingProfile: event.decoding.profile,
|
|
561
|
+
resolverVersion: event.decoding.resolverVersion,
|
|
562
|
+
});
|
|
563
|
+
}
|
|
564
|
+
return dims;
|
|
565
|
+
}
|
|
566
|
+
/** Stable key for a dimension tuple (sorted keys). */
|
|
567
|
+
function dimsKey(dims) {
|
|
568
|
+
return JSON.stringify(Object.keys(dims)
|
|
569
|
+
.sort()
|
|
570
|
+
.map((key) => [key, dims[key]]));
|
|
571
|
+
}
|
|
572
|
+
/** Hourly retention-window key for an ISO timestamp (UTC). */
|
|
573
|
+
function windowKey(iso) {
|
|
574
|
+
return `hour:${iso.slice(0, 13)}`;
|
|
575
|
+
}
|
|
576
|
+
function durationBucketIndex(ms) {
|
|
577
|
+
for (let i = 0; i < DURATION_BUCKETS_MS.length; i += 1) {
|
|
578
|
+
if (ms <= DURATION_BUCKETS_MS[i])
|
|
579
|
+
return i;
|
|
580
|
+
}
|
|
581
|
+
return DURATION_BUCKETS_MS.length;
|
|
582
|
+
}
|
|
583
|
+
/** Fold one event into a metric cell (creating it when absent). */
|
|
584
|
+
function foldMetricCell(existing, event, dimensions, window, now) {
|
|
585
|
+
const failed = event.status === "failed";
|
|
586
|
+
const failure = failed ? 1 : 0;
|
|
587
|
+
const duration = typeof event.durationMs === "number" ? event.durationMs : undefined;
|
|
588
|
+
const tokens = eventTokens(event);
|
|
589
|
+
const hasTokens = tokens.inputTokens !== undefined || tokens.outputTokens !== undefined;
|
|
590
|
+
const cost = event.cost?.amount;
|
|
591
|
+
const base = existing ?? {
|
|
592
|
+
toolName: event.toolName,
|
|
593
|
+
serverName: event.serverName,
|
|
594
|
+
window,
|
|
595
|
+
dimensions,
|
|
596
|
+
invocations: 0,
|
|
597
|
+
failures: 0,
|
|
598
|
+
attempts: 0,
|
|
599
|
+
errorCodes: {},
|
|
600
|
+
durationSum: 0,
|
|
601
|
+
durationCount: 0,
|
|
602
|
+
durationHistogram: new Array(DURATION_BUCKET_COUNT).fill(0),
|
|
603
|
+
tokenInSum: 0,
|
|
604
|
+
tokenOutSum: 0,
|
|
605
|
+
tokenCount: 0,
|
|
606
|
+
costSum: 0,
|
|
607
|
+
firstSeen: now,
|
|
608
|
+
lastSeen: now,
|
|
609
|
+
exemplars: [],
|
|
610
|
+
};
|
|
611
|
+
const errorCodes = { ...base.errorCodes };
|
|
612
|
+
if (failed) {
|
|
613
|
+
const code = event.error?.code ?? "unknown";
|
|
614
|
+
errorCodes[code] = (errorCodes[code] ?? 0) + 1;
|
|
615
|
+
}
|
|
616
|
+
const histogram = [...base.durationHistogram];
|
|
617
|
+
while (histogram.length < DURATION_BUCKET_COUNT)
|
|
618
|
+
histogram.push(0);
|
|
619
|
+
if (duration !== undefined)
|
|
620
|
+
histogram[durationBucketIndex(duration)] = (histogram[durationBucketIndex(duration)] ?? 0) + 1;
|
|
621
|
+
return {
|
|
622
|
+
...base,
|
|
623
|
+
dimensions,
|
|
624
|
+
invocations: base.invocations + 1,
|
|
625
|
+
failures: base.failures + failure,
|
|
626
|
+
attempts: base.attempts + (event.attempts ?? 1),
|
|
627
|
+
errorCodes,
|
|
628
|
+
durationSum: base.durationSum + (duration ?? 0),
|
|
629
|
+
durationCount: base.durationCount + (duration !== undefined ? 1 : 0),
|
|
630
|
+
durationHistogram: histogram,
|
|
631
|
+
tokenInSum: base.tokenInSum + (tokens.inputTokens ?? 0),
|
|
632
|
+
tokenOutSum: base.tokenOutSum + (tokens.outputTokens ?? 0),
|
|
633
|
+
tokenCount: base.tokenCount + (hasTokens ? 1 : 0),
|
|
634
|
+
costSum: base.costSum + (cost !== undefined && Number.isFinite(cost) ? cost : 0),
|
|
635
|
+
ewmaFailureRate: base.ewmaFailureRate === undefined
|
|
636
|
+
? failure
|
|
637
|
+
: base.ewmaFailureRate + EWMA_ALPHA * (failure - base.ewmaFailureRate),
|
|
638
|
+
ewmaDurationMs: duration === undefined
|
|
639
|
+
? base.ewmaDurationMs
|
|
640
|
+
: base.ewmaDurationMs === undefined
|
|
641
|
+
? duration
|
|
642
|
+
: base.ewmaDurationMs + EWMA_ALPHA * (duration - base.ewmaDurationMs),
|
|
643
|
+
lastSeen: now,
|
|
644
|
+
exemplars: [...base.exemplars, event.id].slice(-EXEMPLAR_LIMIT),
|
|
645
|
+
};
|
|
646
|
+
}
|
|
356
647
|
//# sourceMappingURL=store.js.map
|
package/dist/store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adaptivemcp/memory",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Persistent operational knowledge for Adaptive MCP, backed by SQLite (node:sqlite).",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -17,16 +17,17 @@
|
|
|
17
17
|
"dist",
|
|
18
18
|
"README.md"
|
|
19
19
|
],
|
|
20
|
-
"scripts": {
|
|
21
|
-
"build": "tsc -p tsconfig.json",
|
|
22
|
-
"test": "vitest run --config ../../vitest.config.ts"
|
|
23
|
-
},
|
|
24
20
|
"dependencies": {
|
|
25
|
-
"@adaptivemcp/spec": "
|
|
21
|
+
"@adaptivemcp/spec": "^0.5.0"
|
|
26
22
|
},
|
|
27
23
|
"devDependencies": {
|
|
28
24
|
"@types/node": "^22.0.0",
|
|
25
|
+
"fast-check": "^4.10.2",
|
|
29
26
|
"typescript": "^5.6.0",
|
|
30
27
|
"vitest": "^2.1.0"
|
|
28
|
+
},
|
|
29
|
+
"scripts": {
|
|
30
|
+
"build": "tsc -p tsconfig.json",
|
|
31
|
+
"test": "vitest run --config ../../vitest.config.ts"
|
|
31
32
|
}
|
|
32
|
-
}
|
|
33
|
+
}
|